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

Repozitář, který tento proces obsluhuje: jeho vrstva, stav gitu, stav indexu z něj postaveného a jeho rozsah: co z něj pracovník čte a co nikdy nečte.

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.

repozitář

Repozitář, který tento proces obsluhuje: jeho vrstva, stav gitu, stav indexu z něj postaveného a jeho rozsah: co z něj pracovník čte a co nikdy nečte.

GET /api/v1/repository repository.info

Stav repozitáře a indexu

Kořen repozitáře, sekce vrstvy, stav gitu, režim zjišťování, přítomné druhy, každá diagnostika a spočítaný registr schopností.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • generace cache (max_entries=1)
  • nástroj MCP majordomus_repository
  • Zdroj MCP {"name": "repository", "uri": "majordomus://repository"}

Žádné parametry.

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/repository"

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 RepositoryReport Stav repozitáře a indexu: 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/scope repository.scope

Rozsah repozitáře

Deklarace rozsahu tak, jak byla přečtena, odkud pochází (vlastní repozitáře, nebo výchozí z distribuce) a každý sledovaný soubor sečtený proti ní: kolik jich je uvnitř, kolik venku z každého důvodu a které.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache vypnuta
  • nástroj MCP majordomus_scope
  • Zdroj MCP {"name": "scope", "uri": "majordomus://scope"}
  • $ scope

Žádné parametry.

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/scope"

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 ScopeReport Rozsah repozitáře: 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/scope/classify repository.scope_classify

Posoudit cestu vůči rozsahu

Zda je cesta relativní k repozitáři uvnitř, nebo vně rozsahu, důvod, když je vně, a vzor či limit, který rozhodl; existující soubor se posuzuje podle názvu, pak velikosti, pak obsahu.

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

Parametry dotazu

názevtyppovinnépopispříklady
path string ano Relativní k repozitáři, lomítka dopředu; `./` se odstraní. Absolutní cesta nebo segment `..` je neplatný vstup. first-object: ".ai/repo/adrs/0001-rust-cli-and-stdio-mcp.md"layer-file: ".ai/manifest.yaml"local-half: ".ai/local/state/current.yaml"secret: "config/.env"undeclared: "node_modules/left-pad/index.js"

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/scope/classify?path=.ai%2Frepo%2Fadrs%2F0001-rust-cli-and-stdio-mcp.md"

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 Klasifikace Posouzení cesty proti rozsahu: 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.

Kategorie

object
Jedna kategorie out: pathspecy a vzory názvů souborů.
vlastnosttyppovinnépopis
cesty array of string ne Pathspecy ukotvené v kořeni repozitáře.
názvy array of string ne Vzory porovnávané pouze s názvem souboru.

Používá Out

Klasifikace

object
Jedna cesta, posouzená.
vlastnosttyppovinnépopis
path string ano Cesta, relativní k repozitáři, tak jak byla posouzena.
verdikt Verdict → Verdict ano Ano, nebo ne.
důvod Reason | null → Reason ne Proč je venku; chybí, když je uvnitř.
pravidlo string | null ne Vzor nebo limit, který rozhodl: pathspec in, vzor out, binary, max_bytes nebo fixtures.max_bytes; chybí u undeclared.
existuje boolean ano Zda cesta existuje v pracovním stromě; cesta, která neexistuje, se posuzuje podle názvu.
adresář boolean ano Zda je cesta adresář; adresář je zahrnut, pokud může být zahrnuto něco pod ním.
bajty integer | null ne Velikost, když je cesta existující soubor.

Používá repository.scope_classify

Deklarace

object
scope.yaml, typované. Neznámé klíče odmítá typ i schéma scope.
vlastnosttyppovinnépopis
verze integer (uint64) ano Verze formátu; čte se jen SCOPE_VERSION.
in array of string ano Allow-list: pathspecy ukotvené v kořeni repozitáře.
out Out → Out ano Co se nikdy nečte; má přednost před in.

Používá ScopeReport

Fixtury

object
Kategorie fixtures: kde žijí fixtury a jak velká smí jedna být.
vlastnosttyppovinnépopis
cesty array of string ne Pathspecy ukotvené v kořeni repozitáře.
názvy array of string ne Vzory porovnávané pouze s názvem souboru.
max_bytes integer (uint64) ano Fixture nad tuto velikost v bajtech se vyřazuje.

Používá Out

GitInfo

object
Co git řekl o repozitáři.
vlastnosttyppovinnépopis
toplevel string ano Absolutní cesta ke kořeni pracovního stromu.
head string | null ne Plné id commitu HEAD, nebo None v nenarozeném repozitáři.
větev string | null ne Název větve, nebo None, když je detached nebo unborn.
working_tree string ano clean nebo dirty, z git status --porcelain.

Používá GitState

GitState

jedna ze 2 variant
Co o repozitáři říká git, nebo proč se ho nepodařilo zeptat.
varianta git odpověděla; následují fakta.
state"available"ano
variant git nešlo oslovit, nebo kořen není pracovní strom; důvod říká, které z toho.
důvodstringanoCo řekl git, nebo proč ho nešlo spustit.
state"unavailable"ano

Používá RepositoryInfo

Původ

"repository" | "distribution"
Odkud byla deklarace přečtena.
  • repositoryVlastní repozitáře, jmenovaný sekcí scope manifestu.
  • distributionVýchozí hodnota distribuce, protože repozitář žádnou nedeklaruje.

Používá RepositoryInfo ScopeReport

Ven

object
Mapování out:: každá kategorie volitelná, každá je důvodem, proč je cesta vyřazena.
vlastnosttyppovinnépopis
cesty array of string ne Nikdy se nečte, podle cesty: správa verzí, lokální polovina, závislosti, výstupy sestavení.
binárka boolean ne Obsah, který není text (bajt NUL v prvním okně), je vyloučen, ať jméno říká cokoli.
max_bytes integer | null ne Soubor nad tento počet bajtů je venku, ať je jakýkoli.
archiv Category | null → Category ne Archives.
obrázek Category | null → Category ne Images.
video Category | null → Category ne Video.
pdf Category | null → Category ne Dokumenty PDF.
database_dump Category | null → Category ne Dumpy databází.
vygenerováno Category | null → Category ne Generované assety: mění se změnou zdroje a novým vygenerováním.
secret Category | null → Category ne Tajemství: nikdy se nečtou, nikdy neservírují, nikdy necitují; sledované se hlásí.
fixtures Fixtures | null → Fixtures ne Fixtures se čtou do určité velikosti; nad ni jsou data, ne kontext.

Používá Declaration

OutFile

object
Jeden sledovaný soubor, který je mimo.
vlastnosttyppovinnépopis
path string ano Repository-relative.
důvod Důvod → Důvod ano Why.
pravidlo string | null ne Pravidlo, které rozhodlo; chybí u undeclared.

Používá Tally

Důvod

"path" | "secret" | "generated" | "archive" | "image" | "video" | "pdf" | "database_dump" | "undeclared" | "fixture_over_limit" | "over_limit" | "binary"
Proč je cesta vyřazena. Pořadí je pořadí, ve kterém pravidla rozhodují.
  • pathJmenováno pod out.paths.
  • secretTajemství.
  • generatedGenerovaný asset.
  • archiveArchiv.
  • imageImage.
  • videoVideo.
  • pdfDokument PDF.
  • database_dumpDump databáze.
  • undeclaredNeodpovídá žádnému pathspec in.
  • fixture_over_limitFixture nad out.fixtures.max_bytes.
  • over_limitPřes out.max_bytes.
  • binaryObsah s bajtem NUL v prvních SNIFF_BYTES: není to text.

Používá Classification OutFile

RepositoryInfo

object
Co index ví o repozitáři, z něhož byl sestaven.
vlastnosttyppovinnépopis
root string ano Kořen repozitáře, absolutní.
layer_schema string ano schema, ai-repository/v1 manifestu.
sekce mapa řetězců ano Název sekce manifestu na cestu relativní k repozitáři.
git GitState → GitState ano Co řeklo git, nebo proč se nešlo zeptat.
objevování string ano vcs nebo filesystem.
source_classes pole polí čehokoli ano Id zdrojové třídy na druh, v deklarovaném pořadí.
kind_sources array of string ano Soubory druhů, z nichž byl čtenář nakonfigurován: nejprve distribuce, poté vlastní soubory repozitáře, pokud nějaké má.
scope_origin Origin → Origin ano Odkud byl rozsah přečten: repository nebo distribution.
scope_path string ano Soubor rozsahu: relativní k repozitáři pro vlastní repozitáře, cesta share pro výchozí distribuce.
pozorováno RepositoryObservations → RepositoryObservations ne Kdy byl přečten index a stav gitu, který nese. Výchozí je prázdné, aby se záznam zapsaný před kontraktem čerstvosti stále četl.

Používá RepositoryReport

RepositoryObservations

object
Dva snímky, které proces pořizuje z repozitáře, každý s časem pořízení.

Obraz bez okna nikdy nezastará a jeho okno se neserializuje.

use std::time::{Duration, UNIX_EPOCH};
use majordomus_cli::index::{AnswerObservation, RepositoryObservations};
let now = RepositoryObservations {
    index: AnswerObservation::taken("index build", UNIX_EPOCH, None),
    git: AnswerObservation::taken("git read", UNIX_EPOCH, Some(Duration::from_secs(120))),
};
let json = serde_json::to_value(&now).unwrap();
assert_eq!(json["git"]["stale_after"], "1970-01-01T00:02:00Z");
assert!(json["index"].get("stale_after").is_none());
let back: RepositoryObservations = serde_json::from_value(json).unwrap();
assert_eq!(back, now);
vlastnosttyppovinnépopis
index AnswerObservation → AnswerObservation ano Kdy byl index sestaven: objekty, druhy, diagnostika.
git AnswerObservation → AnswerObservation ano Kdy se git ptali: větev, hlava, pracovní strom.

Používá RepositoryInfo

RepositoryReport

object
Repozitář, jeho vrstva, jeho stav v gitu a stav indexu tohoto procesu.
vlastnosttyppovinnépopis
repozitář RepositoryInfo → RepositoryInfo ano Repozitář: kořen, schéma vrstvy, sekce, stav gitu, režim objevování, třídy zdrojů, zdroje druhů.
state Stav → Stav ano ok, když se z každého objeveného souboru stal objekt, jinak degraded.
objekty integer (uint) ano Kolik objektů index obsahuje.
kinds mapa celých čísel (uint) ano Objekty podle druhu.
diagnostika pole Diagnostic → Diagnostic ano Každá diagnostika, kterou index vytvořil.
capabilities Souhrn → Summary ano Registr schopností, spočtený.

Používá repository.info

ScopeReport

object
Rozsah: deklarace tak, jak byla přečtena, její původ a každý sledovaný soubor proti ní.
vlastnosttyppovinnépopis
původ Origin → Origin ano repository, když manifest pojmenovává sekci rozsahu, distribution pro výchozí.
path string ano Soubor, z něhož byla deklarace přečtena.
deklarace Declaration → Declaration ano Deklarace tak, jak byla přečtena.
sledováno Tally → Tally ano Každý sledovaný soubor posouzený podle jména a velikosti, spočítaný; vyloučené vypsané.

Používá repository.scope

Stav

"ok" | "degraded"
Zda se každý objevený soubor stal objektem.
  • okKaždý objevený soubor se stal objektem.
  • degradedAlespoň jeden soubor nešlo přečíst; diagnostika říká který.

Používá RepositoryReport

Součet

object
Každý sledovaný soubor proti rozsahu, spočítaný.
vlastnosttyppovinnépopis
soubory integer (uint) ano Kolik sledovaných souborů bylo posouzeno.
in integer (uint) ano Kolik jich je uvnitř.
out integer (uint) ano Kolik jich je venku.
by_reason mapa celých čísel (uint) ano Kolik jich je vyřazeno z každého přítomného důvodu.
out_files pole OutFile → OutFile ano Každý sledovaný soubor, který je out, s důvodem a pravidlem, které rozhodlo.

Používá ScopeReport

Verdikt

"in" | "out"
Ano, nebo ne.
  • inRead.
  • outNikdy nečteno; důvod říká proč.

Používá Classification

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