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: objects

Deklarativní objekty vrstvy AI repozitáře: pravidla, prompty, profily, politika, dokumenty, milníky, úkoly, tvrzení a jakékoli druhy, které repozitář přidá; vypisují se, čtou podle URI a prohledávají.

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.

objekty

Deklarativní objekty vrstvy AI repozitáře: pravidla, prompty, profily, politika, dokumenty, milníky, úkoly, tvrzení a jakékoli druhy, které repozitář přidá; vypisují se, čtou podle URI a prohledávají.

GET /api/v1/object objects.get

Získat jeden objekt

Jeden objekt podle URI (majordomus://<kind>/<identity>): metadata, původ a obsah; URI, které promítá dotaz (majordomus://repository), odpovídá na tento dotaz jako JSON dokument. Stejné vyřešení obsluhuje čtení zdroje MCP.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache vypnuta
  • nástroj MCP majordomus_get

Parametry dotazu

názevtyppovinnépopispříklady
uri string ano `majordomus://<kind>/<identity>`, nebo URI, které dotaz promítá (`majordomus://repository`). first-object: "majordomus://adr/adr-0001"repository: "majordomus://repository"

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/object?uri=majordomus%3A%2F%2Fadr%2Fadr-0001"

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 ResourceView Získat jeden objekt: 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.
GET /api/v1/objects objects.list

Vypsat objekty

Vypíše deklarativní objekty AI vrstvy repozitáře, volitelně podle druhu nebo tagu.

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

Parametry dotazu

názevtyppovinnépopispříklady
druh string ne Jen objekty tohoto druhu; přítomné druhy vypisuje `repository.info`. Druh, který repozitář nemá, je neplatný vstup, nikoli prázdná odpověď. first-kind: "adr"
štítek string ne Pouze objekty, jejichž štítky v metadatech zahrnují tento štítek.

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/objects?kind=adr"

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 ObjectList Výpis objektů: 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.
GET /api/v1/objects/verify objects.verify

Ověřit index proti pracovnímu stromu

Přečíst každý soubor, z něhož byla vrstva postavena, a porovnat ho s tím, co tento proces servíruje. Index se staví jednou při startu a drží se, čímž je každý další požadavek zadarmo a čímž se soubor upravený později servíruje tak, jak byl; takto běžící server říká, zda se to stalo, aniž by se musel restartovat, aby to zjistil. Soubor, který je jeden objekt, se porovnává bajt po bajtu; soubor kolekce, jehož objekty index drží jako členy a ne jako text, se porovnává podle velikosti a každý nález říká, které porovnání proběhlo. Čte každý soubor vrstvy, takže hlásí postup soubor po souboru a zastaví se, když o to dostane požadavek.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache vypnuta
  • nástroj MCP majordomus_verify_objects

Parametry dotazu

názevtyppovinnépopispříklady
druh string ne Pouze objekty tohoto druhu.
limit integer (uint) ne Kolik objektů nejvýše číst; když chybí, všechny. omezeno: 25

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/objects/verify?limit=25"

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 VerifyReport Ověřit index proti pracovnímu stromu: 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.

AnswerView

object
URI, které dotaz promítá (majordomus://repository), zodpovězené: stejná pole, která klient čte na ObjectView, kde se uplatňují, samotná odpověď jako data a text, který resources/read vrací pro toto URI.
vlastnosttyppovinnépopis
uri string ano URI tak, jak bylo zadáno.
id string ano Schopnost, která odpověděla (repository.info).
druh CapabilityKind → CapabilityKind ano Jeho druh: query.
identity string ano Název zdroje, který klient vypisuje (repository).
název string ano Titulek schopnosti.
popis string | null ne Popis schopnosti, pokud jej má.
answer libovolný ano Odpověď tak, jak ji popisuje výstupní schéma schopnosti (capabilities.describe nese toto schéma).
provenance CapabilityProvenance → CapabilityProvenance ano Odkud schopnost pochází: modul Rustu, ve kterém je složena.
media_type string ano application/json.
obsah string ano Odpověď jako text: bajt po bajtu to, co resources/read vrací pro URI.

Používá ResourceView

Porovnání

"content" | "size"
Nakolik těsně šlo soubor porovnat s tím, co drží index.

Soubor, který je jedním objektem, se porovnává bajt po bajtu, protože index uchoval celý jeho obsah. Soubor kolekce drží jeden objekt na člena a to, co index uchoval pro každého, je ten člen jako JSON, ne text souboru — takže nejsilnější věc, kterou lze říct bez opětovného parsování, je, zda je jeho velikost taková, jaká byla. Zpráva říká, které srovnání bylo provedeno, místo aby naznačovala silnější.

  • contentByte po bytu proti obsahu, který index drží.
  • sizePodle velikosti proti velikosti, kterou zaznamenal index.

Používá DriftedObject

DriftedObject

object
Jeden soubor vrstvy, který už není tím, co index přečetl.
vlastnosttyppovinnépopis
path string ano Jeho cesta relativně k repozitáři.
postavení ObjectStanding → ObjectStanding ano Jak to stojí.
porovnání Comparison → Comparison ano Jak bylo porovnáno.
objekty integer (uint) ano Kolik objektů indexu z něj pochází.
example_uri string ano Jedno z URI, která drží, aby čtenář viděl, co je dotčeno.
detail string ano Co je špatně, pro člověka.

Používá VerifyReport

ObjectList

object
Odpověď objects.list: odpovídající objekty, shrnuté, v pořadí URI.
vlastnosttyppovinnépopis
počet integer (uint) ano Kolik objektů se shodovalo.
objekty pole ObjectSummary → ObjectSummary ano Objekty, každý jedním shrnutím.

Používá objects.list

ObjectStanding

"current" | "changed" | "missing" | "unreadable"
Jak jeden soubor stojí vůči tomu, co z něj index přečetl.
  • currentJe to to, co index přečetl.
  • changedJe tam a od sestavení indexu se změnilo.
  • missingSoubor, který index četl, už tam není.
  • unreadableExistuje, ale nešlo ho přečíst.

Používá DriftedObject

ObjectView

object
Jeden deklarativní objekt vrstvy repozitáře, tak jak jej čte klient.
vlastnosttyppovinnépopis
uri string ano majordomus://<kind>/<identity>.
id string ano Id schopnosti, <kind>.<identity>.
druh string ano Druh, jako který byl objekt přečten (rule, prompt, document, ...).
identity string ano Identita v rámci druhu (majordomus.scope-integrity@1, continue, cesta).
název string | null ne Název, který našlo pravidlo názvu druhu, pokud nějaký našlo.
popis string | null ne Jednořádkový popis, který držalo pole popisu druhu, pokud nějaké drželo.
metadata libovolný ano Naparsovaný front matter nebo YAML, klíče v pořadí souboru.
provenance ObjectProvenance → ObjectProvenance ano Odkud objekt pochází: cesta, adresář, třída zdroje, sekce, velikost, člen.
media_type string ano Typ média IANA pro content (text/markdown, application/yaml, application/json, text/plain).
obsah string ano Soubor tak, jak byl přečten.

Používá ResourceView

ResourceView

jedna ze 2 variant
Odpověď objects.get: na co se URI rozřešilo, označené source stejně jako provenience schopnosti.
variant Soubor vrstvy, čtený tak, jak je.
zdroj"declarative"ano
variant Query s vystavením jako zdroj, provedená a vykreslená jako dokument JSON.
zdroj"builtin"ano

Používá objects.get

SearchHit

object
Jeden nález hledání: objekt, shrnutý, a první shodný řádek jeho obsahu.
vlastnosttyppovinnépopis
uri string ano majordomus://<kind>/<identity>.
id string ano Id schopnosti, <kind>.<identity>.
druh string ano Druh, jako který byl objekt přečten.
identity string ano Identita v rámci druhu.
název string | null ne Název, pokud jej pravidlo názvu druhu našlo.
popis string | null ne Jednořádkový popis, pokud jej druh má.
path string ano Zdrojová cesta relativní k repozitáři.
úryvek string | null ne První řádek obsahu, který odpovídal, když nějaký odpovídal.

Používá SearchResult

SearchResult

object
Odpověď objects.search.
vlastnosttyppovinnépopis
query string ano Dotaz tak, jak byl zadán.
počet integer (uint) ano Kolik zásahů bylo vráceno.
limit integer (uint64) ano Limit, který platil.
nálezy pole SearchHit → SearchHit ano Nálezy v pořadí URI, nejvýše limit z nich.

Používá objects.search

VerifyReport

object
Odpověď objects.verify.
vlastnosttyppovinnépopis
soubory integer (uint) ano Kolik souborů bylo přečteno.
aktuální integer (uint) ano Kolik z nich je to, co index přečetl.
odchýleno integer (uint) ano Kolik jich není, jakéhokoli druhu „není“.
objekty integer (uint) ano Kolik objektů indexu tyto soubory nesou.
compared_by_content integer (uint) ano Kolik jich bylo porovnáno bajt po bajtu, ne podle velikosti.
otisk string ano Otisk indexu, který tento proces poskytuje.
index_is_current boolean ano Zda je index stále pravdivým obrazem pracovního stromu, pokud to toto porovnání dokáže posoudit.
zjištění pole DriftedObject → DriftedObject ano Soubory, které nejsou, s tím, co je na každém špatně.

Používá objects.verify

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