Přeskočit na obsah

Tato stránka byla automaticky přeložena z angličtiny, jediného jazyka, ve kterém se tento web píše. Číst originál.

HTTP API: monitor

Vše, co se kolem tohoto repozitáře děje, sledované v jednom proudu: žurnál meshe (relace na každém propojeném stroji, mezi nimi nástěnka tohoto checkoutu, jejich claimy, předávky a revize), stopa exekutora (merge, obnovy, opravy, uzavření, selhání) a GitHub (otevřené, mergnuté a uzavřené pull requesty, dokončené běhy workflow), složené tak, že relace, která se beze změny znovu ohlásí, a krok, který nic nerozhodl, se počítají, ne zobrazují, a to, co je určeno čtenáři, je označeno (ADR 0133).

Vykresleno z docs/generated/openapi.json, který spustitelný soubor generuje ze svého registru schopností a CI jej odmítne, je-li zastaralý. Surový dokument je na /openapi.json; běžící server servíruje stejný dokument na vlastní /openapi.json a Swagger UI na /swagger.

monitor

Vše, co se kolem tohoto repozitáře děje, sledované v jednom proudu: žurnál meshe (relace na každém propojeném stroji, mezi nimi nástěnka tohoto checkoutu, jejich claimy, předávky a revize), stopa exekutora (merge, obnovy, opravy, uzavření, selhání) a GitHub (otevřené, mergnuté a uzavřené pull requesty, dokončené běhy workflow), složené tak, že relace, která se beze změny znovu ohlásí, a krok, který nic nerozhodl, se počítají, ne zobrazují, a to, co je určeno čtenáři, je označeno (ADR 0133).

GET /api/v1/monitor monitor.stream

Sledovat vše v jednom proudu

Stránka signálů po kurzoru, od nejstarších, nebo bez něj nejnovější signály za posledních `since` sekund: každý s časem, zdrojem, druhem, závažností, strojem, relací, aktérem, pull requestem, branchí, úkolem, cestami, jednořádkovým shrnutím a informací, zda je určen čtenáři. Reprojekce a nerozhodnuté kroky se počítají jako `suppressed`; zdroj, který nelze přečíst, je uveden s důvodem a nikdy se neodpoví jako prázdný. `cursor` stránky je `after` další stránky a nic z této stránky se nevrací. Jen čte.

  • query
  • experimentální
  • vyžaduje se měření výkonu
  • cache vypnuta
  • Nástroj MCP majordomus_monitor

Parametry dotazu

názevtyppovinnépopispříklady
po string ne `cursor` předchozí stránky; bez něj je stránkou nejnovější signály posledních `since` sekund. local-resumed: "x0"
limit integer (uint64) ne Nejvýše tolik signálů (výchozí 50, nejvýše 500). local-first-page: 50local-resumed: 20
zdroje string ne Podmnožina oddělená čárkami z `mesh`, `executor` a `github` (výchozí: všechny tři). local-first-page: "mesh,executor"local-resumed: "mesh,executor"
pro string ne Jména čtenáře oddělená čárkami — worker (`1b`), role, login — aby to, co je mu adresováno, bylo označeno `for_you`. Volající MCP je také svou vlastní relací nástěnky. local-first-page: "1b"local-resumed: "1b,cd"
od integer (uint64) ne Jak daleko do minulosti sahá první stránka, v sekundách (výchozí 3600). local-first-page: 3600local-resumed: 600

Vyzkoušejte

Port je ten, který server zalogoval; 8741 je ten, o který žádá jako první. Hodnoty jsou první příklad operace.

curl -s "http://127.0.0.1:8741/api/v1/monitor?after=x0&limit=50&sources=mesh%2Cexecutor&for=1b&since=3600"

Testováno v apps/majordomus-cli/tests/http_serve.rs, který přehrává routu s těmito hodnotami proti serveru na skutečném socketu.

Odpovědi

statustělovýznam
200 MonitorPage Sledovat vše v jednom streamu: výsledek.
400 ErrorBody invalid_input: Vstup neodpovídá schématu: parametr špatného typu, neznámý parametr nebo hodnota, kterou schopnost odmítne.
404 ErrorBody not_found: Vstup pojmenovává něco, co repozitář nemá.
500 ErrorBody internal: Schopnost selhala z vlastního důvodu; zpráva ho pojmenovává.
výchozí ErrorBody Jakékoli jiné selhání, které transport hlásí: 405 method_not_allowed pro jinou metodu na této cestě, 400 invalid_input pro tělo, které není objektem JSON.

Schémata

Komponenty, které používají jen operace tohoto tagu. Každý řádek je pole daného typu, jeho doc komentář je popis; typ vlastněný jinou stránkou na ni odkazuje.

MonitorPage

object
Stránka streamu.
vlastnosttyppovinnépopis
signály pole MonitorSignal → MonitorSignal ano Signály, nejstarší první.
for_you integer (uint) ano Kolik z nich je pro čtenáře.
potlačeno integer (uint64) ano Kolik záznamů se přečetlo a složilo jako šum.
zdroje pole MonitorSourceState → MonitorSourceState ano Každý zdroj, přečtený či ne, s důvodem.
cursor string ano Kurzor další stránky: zeptejte se s after nastaveným na něj a nic z této stránky se nevrátí.
více boolean ano Zda po této stránce čekají další signály, než kolik jich limit propustil.

Používá monitor.stream

MonitorSeverity

"info" | "attention" | "action"
Kolik signál žádá od svého čtenáře.
  • infoNěco se stalo; nic se nepožaduje.
  • attentionNěco selhalo nebo čeká na někoho: stojí za pohled.
  • actionNa čtenáře něco čeká: revize, o kterou je požádán, předávka pro něj.

Používá MonitorSignal

MonitorSignal

object
Jedna věc, která se stala, jako jeden řádek, podle kterého může člověk nebo agent jednat.
vlastnosttyppovinnépopis
v integer (uint64) ano Kdy se to stalo, v unixových sekundách, na hodinách toho, kdo to zaznamenal.
zdroj MonitorSource → MonitorSource ano Z jakého záznamu pochází.
druh string ano Co se stalo, např. session_joined, review_requested, merged, run_failed.
závažnost MonitorSeverity → MonitorSeverity ano Kolik žádá od čtenáře.
machine string | null ne Stroj, na kterém se to stalo, podle zobrazovaného jména, když ho mesh zná.
session string | null ne Relace, která to udělala.
aktér string | null ne Kdo to udělal: pracovník nebo klient relace, aktér executoru, přihlašovací jméno GitHubu.
pr integer | null ne Pull request, o který jde.
větev string | null ne Větev, o které je řeč.
issue string | null ne Úkol, o který jde.
cesty array of string ne Cesty v repozitáři, kterých se týká.
summary string ano Co se stalo, na jednom řádku nejvýše 200 znaků.
for_you boolean ne Zda jmenuje čtenáře: revize, o kterou byl požádán, odpověď na jeho žádost, předávka nebo text, který ho jmenuje.
odkaz string | null ne Kde si přečíst víc, pokud na to existuje stránka.

Používá MonitorPage

MonitorSource

"mesh" | "executor" | "github"
Odkud signál pochází.
  • meshDeník mesh: relace na každém propojeném stroji (mezi nimi nástěnka tohoto checkoutu), jejich tvrzení, předávky a review.
  • executorStopa exekutoru: mergy, obnovení, opravy, uzavření a selhání lane pull requestů.
  • githubGitHub: otevřené, sloučené a uzavřené pull requesty a dokončené běhy workflow.

Používá MonitorSignal MonitorSourceState

MonitorSourceHealth

"ok" | "absent" | "error" | "skipped"
Zda šlo zdroj přečíst a čím přispěl na stránku.
  • okRead.
  • absentNení co číst: mesh neběží, není žádná stopa, gh chybí.
  • errorJe tam, ale čtení selhalo.
  • skippedNebylo požadováno v sources.

Používá MonitorSourceState

MonitorSourceState

object
Postavení jednoho zdroje na stránce.
vlastnosttyppovinnépopis
zdroj MonitorSource → MonitorSource ano Zdroj.
state MonitorSourceHealth → MonitorSourceHealth ano Zda bylo přečteno.
důvod string | null ne Proč nebylo, když nebylo.
signály integer (uint) ano Kolik jeho signálů je na této stránce.
potlačeno integer (uint64) ano Kolik jeho záznamů bylo přečteno a sbaleno jako šum.

Používá MonitorPage

Prohledává názvy a popisy všech stránek, které tento web publikuje.