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

Adresáře vrstvy jako hierarchie: kontrakt, který každý deklaruje, co dluží a který kontrakt to řekl, a řetězec, který se na něj vztahuje po vyřešení dědičnosti.

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.

adresáře

Adresáře vrstvy jako hierarchie: kontrakt, který každý deklaruje, co dluží a který kontrakt to řekl, a řetězec, který se na něj vztahuje po vyřešení dědičnosti.

GET /api/v1/directories directories.list

Adresářové smlouvy vrstvy

Každý adresář vrstvy, který index zná, s kontraktem, který deklaruje, zda jeden dluží a který kontrakt rozhodl, a — pro pojmenovanou cestu, nebo na požádání pro všechny — efektivní řetěz složený od kořene dolů, nejméně specifický první.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache procesu (max_entries=8, ttl_seconds=5)
  • Nástroj MCP majordomus_directories
  • Zdroj MCP {"name": "directories", "uri": "majordomus://directories"}

Parametry dotazu

názevtyppovinnépopispříklady
path string ne Jeden adresář, relativní k repozitáři a uvnitř vrstvy. Jeho účinný řetěz se vždy rozřeší. Vynechání znamená každý adresář vrstvy. one-directory: ".ai/repo/rules"
účinné boolean ne Vyřešit účinný řetěz pro každý adresář, ne jen pro pojmenovaný. effective-everywhere: true
state DirectoryState | null ne Jen adresáře v tomto stavu: `documented`, `exempt` nebo `owed`. owed: "owed"

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/directories?path=.ai%2Frepo%2Frules&effective=true&state=owed"

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 DirectoryReport Kontrakty adresářů vrstvy: 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.

ContractView

object
Kontrakt adresáře tak, jak ho deklaruje dokument, než se cokoli zdědí.
vlastnosttyppovinnépopis
id string ano Identita dokumentu; přežije přesun, název souboru ne.
path string ano Cesta dokumentu, relativní k repozitáři.
název string | null ne Jeden řádek pojmenovávající adresář.
popis string | null ne Jeden řádek, který říká, k čemu adresář slouží.
status string ano active nebo deprecated; zastaralý dokument se vypíše a nikdy se neaplikuje.
scope string ano directory, subtree nebo explicit: jak daleko dokument sahá.
kompozice string ano extend, replace nebo final: jak se skládá s tím, co je nad ním.
pořadí celé číslo (int64) ano Shody v rámci jedné hloubky se řeší tímto, pak podle cesty.
providers array of string ano *, nebo provideři, pro které je dokument psán.
publikum array of string ano Koho oslovuje; obojí, když neříká nic.
dráhy array of string ne Pathspecy, jejichž změna jmenuje tento dokument k review.
children_require_contract boolean | null ne Zda níže uvedené adresáře dluží smlouvu, pokud to dokument říká.
children_exempt array of string ne Podstromy pod tímto, které nic nedluží: přenesené, zde nepsané.

Používá DirectoryNode

DirectoryNode

object
Jeden adresář vrstvy, co dluží a co se na něj vztahuje.
vlastnosttyppovinnépopis
path string ano Relativní k repozitáři, lomítka dopředu.
hloubka integer (uint) ano Segmenty pod kořenem vrstvy; samotný kořen je 0.
rodič string | null ne Adresář výše, pokud je uvnitř vrstvy.
potomci array of string ne Bezprostřední podadresáře, seřazené.
state DirectoryState → DirectoryState ano Zda nese smlouvu, kterou dluží.
requires_contract boolean ano Zda se zde vůbec dluží kontrakt.
governed_by string | null ne Kontrakt, který požadavek explicitně vyslovil, když nějaký byl.
exempted_by string | null ne Kontrakt, který tento podstrom vydal, pokud nějaký.
objekty integer (uint) ano Kolik objektů jakéhokoli druhu index drží přímo v tomto adresáři.
kontrakt ContractView | null → ContractView ne Smlouva, kterou tento adresář deklaruje, před dědičností.
účinné pole EffectiveEntry → EffectiveEntry ne Kontrakty, které se zde uplatní po vyřešení dědičnosti, od nejméně specifického. Přítomno, když o to požadavek žádal, nebo když se ptal na jednu cestu.

Používá DirectoryReport

DirectoryReport

object
Adresáře vrstvy, co každý dluží a které smlouvy platí.
vlastnosttyppovinnépopis
root string ano Kořen vrstvy, v němž strom začíná.
součty DirectoryTallies → DirectoryTallies ano Adresáře v jednotlivých stavech.
adresáře pole DirectoryNode → DirectoryNode ano Každý vyžádaný adresář seřazený podle cesty.

Používá directories.list

DirectoryState

"documented" | "exempt" | "owed"
Zda adresář vrstvy nese kontrakt, který dluží.
  • documentedNese vlastní kontextový dokument.
  • exemptŽádné nedluží, protože kontrakt nad ním to říká.
  • owedDluží jednu a žádnou nemá.

Používá directories.list DirectoryNode

DirectoryTallies

object
Kolik adresářů je v jednotlivých stavech.
vlastnosttyppovinnépopis
adresáře integer (uint) ano Každý adresář vrstvy, který index zná.
zdokumentováno integer (uint) ano Nesou vlastní kontrakt.
exempt integer (uint) ano Vydáno kontraktem nad nimi.
zbývá integer (uint) ano Dlužit kontrakt a žádný nenést.

Používá DirectoryReport

EffectiveEntry

object
Jeden kontrakt v efektivním řetězci adresáře, v pořadí, v jakém se uplatňuje.
vlastnosttyppovinnépopis
id string ano Identita dokumentu.
path string ano Cesta dokumentu.
hloubka integer (uint) ano Hloubka pod kořenem vrstvy; menší je méně specifická a platí první.
pořadí celé číslo (int64) ano Deklarované pořadí, druhý klíč řazení.
kompozice string ano extend, replace nebo final.
důvod string ano Proč se vztahuje na tento adresář, slovy.
lokální boolean ano Pravda pro vlastní dokument adresáře, nepravda pro zděděný.

Používá DirectoryNode

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