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

Čím tento checkout právě teď je: projekt a jeho verze, repozitář a jeho vrstva, správa verzí, toolchainy, které deklaruje, co vrstva obsahuje, workflow, která člověk může spustit, projekce providerů a lokální služby — jeden typovaný snímek s položkou původu pro každou hodnotu v něm. Banner direnv, přehled Cockpitu i tato trasa jsou vykreslení téže hodnoty.

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.

prostředí

Čím tento checkout právě teď je: projekt a jeho verze, repozitář a jeho vrstva, správa verzí, toolchainy, které deklaruje, co vrstva obsahuje, workflow, která člověk může spustit, projekce providerů a lokální služby — jeden typovaný snímek s položkou původu pro každou hodnotu v něm. Banner direnv, přehled Cockpitu i tato trasa jsou vykreslení téže hodnoty.

GET /api/v1/environment environment.status

Prostředí repozitáře

Jeden snímek tohoto checkoutu: identita projektu, identita repozitáře, správa verzí, deklarované toolchainy, co vrstva obsahuje spočítané podle druhu, workflow, která runner popisuje, projekce providerů vůči politice, která je vykresluje, a lokální služby s adresou, kterou zveřejnil běžící server. Každá hodnota nese, odkud pochází.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache vypnuta
  • Nástroj MCP majordomus_environment
  • zdroj MCP {"name": "environment", "uri": "majordomus://environment"}

Parametry dotazu

názevtyppovinnépopispříklady
probe_services boolean ne Kontaktovat lokální adresu, kterou publikoval běžící server, a říct, zda odpovídá. Ve výchozím stavu vypnuto: obsluhovaný požadavek by neměl otevírat socket k jinému serveru jménem svého volajícího a volající je obvykle ten server. výchozí: false

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/environment?probe_services=false"

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 RepositoryEnvironment Prostředí 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/environment/explain environment.explain

Odkud se vzala hodnota prostředí

Původ snímku: pro každé pole, co o něm rozhodlo — konstanta z doby kompilace, soubor, příkaz nebo cache — který resolver je četl a jak moc lze důvěřovat. Zúžit na jedno pole nebo na prefix lze jménem.

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

Parametry dotazu

názevtyppovinnépopispříklady
pole string ne Pole v tečkované formě (`services.url`, `capabilities.objects`); každé pole, když chybí. one-field: "project.version"

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/environment/explain?field=project.version"

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 EnvironmentProvenance Odkud pochází hodnota prostředí: 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/environment/preflight environment.preflight

Zda je Majordomus zde v platnosti a co to dokazuje

Jeden verdikt za každé tvrzení o tomto checkoutu — git; epizoda, její zasvěcení, úloha a předávka; politika, korpus pravidel a ADR; sdílený server a povrchy MCP, API a Cockpit, které servíruje; nástěnka peerů; zaznamenané běhy testů, vynucování pravidel, projekce providerů, vygenerovaná dokumentace a nasazení — každý `verified`, `active`, `fresh`, `stale`, `degraded`, `unavailable`, `failed`, `unknown` nebo `not_applicable`, s důkazy, na nichž stojí. Verdikt, který tvrdí, že něco platí, nelze vytvořit bez důkazů. Stejná hodnota, kterou vypisuje příkazová řádka a shrnuje úvodní banner.

  • query
  • behaviorally_verified
  • vyžaduje se měření výkonu
  • cache vypnuta
  • Nástroj MCP majordomus_preflight
  • Zdroj MCP {"name": "preflight", "uri": "majordomus://environment/preflight"}

Parametry dotazu

názevtyppovinnépopispříklady
probe boolean ne Zeptá se na loopback adresu, kterou publikoval server tohoto checkoutu, a na jeho nástěnku peerů. Ve výchozím stavu vypnuto: obsloužený požadavek odpovídá z toho, co tento proces vidí, a když tento proces drží lease checkoutu, je to samo o sobě důkaz. sealed: false

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/environment/preflight?probe=false"

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 Preflight Zda je Majordomus zde v platnosti a co to dokazuje: 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.

Jistota

"exact" | "cached" | "unknown"
Nakolik lze rozlišené hodnotě důvěřovat.
  • exactPři tomto vyřešení načteno z kanonického zdroje.
  • cachedČteno z cache, jejíž otisk stále odpovídá jejím vstupům.
  • unknownNevyřešeno.

Používá FieldSource

EnvironmentProvenance

object
Odkud pocházejí hodnoty jednoho snímku.
vlastnosttyppovinnépopis
rozlišení Resolution → Resolution ano Jak byl rozřešen snapshot za těmito položkami.
pole array of FieldSource → FieldSource ano Jedna položka na pole, v pořadí, v jakém je resolver vytvořil.

Používá environment.explain

FieldSource

object
Odkud pochází jedno pole snapshotu. Díky tomu lze odvozený systém ladit: každý fakt může jmenovat věc, která o něm rozhodla, takže na „proč to říká“ odpovídá nástroj, ne čtení jeho zdroje.
vlastnosttyppovinnépopis
pole string ano Pole v tečkované formě: services.cockpit.url, vcs.branch.
hodnota string | null ne Hodnota tak, jak se objevuje ve snímku, vykreslená pro člověka; chybí u pole, které se rozlišilo na nic.
zdroj string ano Co rozhodlo: soubor, příkaz, konstanta z doby kompilace, cache.
resolver string ano Část tohoto spustitelného souboru, která to přečetla.
jistota Confidence → Confidence ano Jak jistá je hodnota.

Používá EnvironmentProvenance RepositoryEnvironment

GitWorkingTree

object
Stav jednoho pracovního stromu, jak ho hlásí porcelain v2.
vlastnosttyppovinnépopis
head string | null ne Commit, který HEAD jmenuje, nebo None v repozitáři, který ještě nemá commity.
větev string | null ne Větev, nebo None, když je HEAD odpojený nebo nenarozený.
detached boolean ano Zda HEAD jmenuje přímo commit, a ne větev.
upstream string | null ne Upstream, který větev sleduje, pokud nějaký sleduje.
napřed integer | null ne Commity, které tato větev má a její upstream ne; None bez upstreamu.
pozadu integer | null ne Commity, které má upstream a tato větev ne; None bez upstreamu.
připraveno k zapsání integer (uint32) ano Sledované soubory s připravenými změnami.
změněno integer (uint32) ano Sledované soubory změněné v pracovním stromu a nezařazené do stage.
nesledováno integer (uint32) ano Soubory, které git nesleduje a neignoruje.
v konfliktu integer (uint32) ano Soubory s nevyřešeným sloučením.
čisté boolean ano Zda není vůbec nic staged, upraveno, nesledováno ani v konfliktu.
changed_paths array of string ne Každá cesta, která není čistá, relativní k repozitáři, v pořadí gitu. Slouží k rozhodnutí, zda je cachovaná vrstva stále platná, a nikomu se neukazuje.

Používá VcsState

KindCount

object
Kolik platných objektů jednoho druhu vrstva drží.
vlastnosttyppovinnépopis
druh string ano Druh, jak jej deklaruje share/kinds.yaml.
počet integer (uint) ano Kolik jeho objektů index drží.

Používá LayerSummary

LayerSummary

object
Co vrstva drží, spočítáno podle druhu, plus registr, který spustitelný soubor skládá. Každé zde uvedené číslo pochází z indexu — týchž objektů, které servíruje každý jiný povrch — a nikdy z počítání souborů odpovídajících vzoru: soubor, který se neparsuje, není pravidlo, a počet, který tvrdí opak, je lež, podle které člověk jedná.
vlastnosttyppovinnépopis
state TierState → TierState ano Odkud tato čísla pocházejí.
kinds pole KindCount → KindCount ne Jeden záznam na přítomný druh, seřazeno podle druhu.
objekty integer | null ne Kolik objektů index obsahuje.
capabilities integer | null ne Kolik schopností registr drží.
neplatné integer | null ne Kolik souborů vrstva deklarovala, které se nestaly objekty.
odmítnuto pole Diagnostic → Diagnostic ne Které, a co rozhodlo: vlastní chybové diagnostiky indexu, každá jmenující soubor, kód a omezení, které porušil. Počet říká, že je něco špatně; jen tohle říká co a kde, a čtenář, který má počet a ne seznam, musí hledat v logu odpověď, kterou index už vytvořil.
degradováno boolean | null ne Zda se vrstva četla čistě.

Používá RepositoryEnvironment

Preflight

object
Zda je Majordomus v tomto checkoutu v platnosti, tvrzení po tvrzení, s důkazy.

use majordomus_cli::environment::preflight::{derive, Observations, Preflight};
let p = derive(&Observations::empty("demo", 0));
assert_eq!(p.schema, Preflight::schema_id());
assert_eq!(p.verdicts().len(), p.sections.iter().map(|s| s.checks.len()).sum::<usize>());
vlastnosttyppovinnépopis
schema string ano majordomus/preflight/v1.
generated_at string ano Kdy byla pozorování pořízena, RFC 3339 v UTC.
rozlišení Resolution → Resolution ano Jak bylo určeno prostředí za ní.
repozitář string ano Název repozitáře.
větev string | null ne Větev, když ji git pojmenoval.
head string | null ne Commit, který pojmenovává HEAD.
sekce pole PreflightSection → PreflightSection ano Skupiny kontrol.
pozornost array of string ano Id všech kontrol, které vyžadují pozornost, od nejnaléhavější.

Používá environment.preflight

PreflightCheck

object
Jedno tvrzení, jeho verdikt a na čem verdikt stojí.

use majordomus_cli::environment::preflight::{Check, Evidence, Verdict};

// a claim of something in force without evidence is not accepted as one
let bare = Check::new("integration.mcp", "MCP", Verdict::Verified, "healthy", vec![]);
assert_eq!(bare.verdict, Verdict::Unknown);
assert!(bare.summary.contains("no evidence"));

let backed = Check::new(
    "integration.mcp", "MCP", Verdict::Verified, "served",
    vec![Evidence::new("GET /", "surface mcp ready")],
);
assert_eq!(backed.verdict, Verdict::Verified);
vlastnosttyppovinnépopis
id string ano Stabilní id s tečkami, <section>.<claim>.
název string ano Krátký název, který člověk čte.
verdikt PreflightVerdict → PreflightVerdict ano Co repozitář může ukázat.
summary string ano Verdikt jednou větou, s čísly, která o něm rozhodla.
evidence pole PreflightEvidence → PreflightEvidence ne Všechno, na čem verdikt stojí. Nikdy prázdné pro verdikt, který něco dokazuje.
next string | null ne Příkaz, který ukáže víc, nebo který mění verdikt.

Používá PreflightSection

PreflightEvidence

object
Jedna věc, na které verdikt spočívá: kde byla přečtena a co se tam vidělo.

use majordomus_cli::environment::preflight::Evidence;
let e = Evidence::new(".ai/repo/evidence/ledger.json", "6 recorded runs");
assert_eq!(e.source, ".ai/repo/evidence/ledger.json");
vlastnosttyppovinnépopis
zdroj string ano Soubor, příkaz, trasa nebo schopnost, která byla přečtena.
pozorováno string ano Co řekl, jednou frází.

Používá PreflightCheck

PreflightSection

object
Skupina kontrol: repository, session, governance, integration, verification.

use majordomus_cli::environment::preflight::{derive, Observations, Section};
let p = derive(&Observations::empty("demo", 0));
let ids: Vec<&str> = p.sections.iter().map(|s| s.id.as_str()).collect();
assert_eq!(ids, ["repository", "session", "governance", "integration", "verification"]);
// every check in a section carries the section's id as its prefix
let session: &Section = &p.sections[1];
assert!(session.checks.iter().all(|c| c.id.starts_with("session.")));
vlastnosttyppovinnépopis
id string ano Stabilní id, předpona každé kontroly v něm.
název string ano Nadpis, který člověk čte.
kontroly pole typu PreflightCheck → PreflightCheck ano Kontroly v pořadí, v jakém se vykreslují.

Používá Preflight

PreflightVerdict

"verified" | "active" | "fresh" | "stale" | "degraded" | "unavailable" | "failed" | "unknown" | "not_applicable"
Co o jednom tvrzení může repozitář ukázat.

Devět slov, ne boolean, protože akce, které vyžadují, se liší: stale je znovu spustit důkaz, unavailable je nic tam není, unknown je nikdo se nepodíval a not_applicable je není co hledat.

use majordomus_cli::environment::preflight::Verdict;
assert!(Verdict::Verified.proves() && Verdict::Active.proves() && Verdict::Fresh.proves());
assert!(!Verdict::Stale.proves() && !Verdict::NotApplicable.proves());
assert_eq!(Verdict::NotApplicable.as_str(), "not_applicable");
// the most urgent first: a failure outranks a stale proof, which outranks an absence
assert!(Verdict::Failed.urgency() < Verdict::Stale.urgency());
assert_eq!(Verdict::Verified.urgency(), None);
  • verifiedDokázáno proti tomuto stromu zaznamenaným výsledkem nebo přímou odpovědí.
  • activeV platnosti nyní, pozorováno přímo, bez zaznamenaného k ověření.
  • freshPosouzeno jako dostatečně čerstvé, aby se podle něj jednalo, vůči deklarovanému prahu nebo aktuálnímu commitu.
  • staleDůkaz existuje, ale týká se jiného commitu, stromu nebo okamžiku.
  • degradedV platnosti, ale ve formě, kterou by tento program neposkytoval.
  • unavailableNení co pozorovat.
  • failedPozorováno a neplatilo.
  • unknownNikdo se nepodíval, nebo se pohled nedokončil.
  • not_applicableNení tu co posuzovat.

Používá PreflightCheck

ProjectIdentity

object
Čím projekt je, z manifestu crate a prózy zapsané jednou v crate::about. Každé pole zde je konstanta tohoto programu v době kompilace: není co číst, není co parsovat a nic, co by se mohlo rozcházet s binárkou, která odpovídá.
vlastnosttyppovinnépopis
název string ano Název produktu.
verze string ano Verze tohoto spustitelného souboru z manifestu cratu.
summary string ano Jedna věta: co to je.
licence string ano Identifikátor licence SPDX.
repozitář string ano Zdrojový repozitář.
cíl string ano Cílový triple Rustu, pro který byl tento spustitelný soubor sestaven.
profil string ano Profil cargo, s nímž bylo sestaveno.
commit string ano Commit, ze kterého bylo sestaveno, nebo unknown mimo pracovní strom.

Používá RepositoryEnvironment

ProjectionState

"current" | "stale" | "absent" | "unknown"
Jak si jedna projekce providera stojí vůči své politice.
  • currentSoubor odpovídá vykreslení bajt po bajtu.
  • staleSoubor se liší: byl upraven ručně, nebo se pod ním posunula politika.
  • absentSoubor tam není.
  • unknownNebylo možné vykreslit, takže nelze nic říct.

Používá ProviderState

ProviderState

object
Jedna projekce poskytovatele, kterou politika deklaruje, a zda soubor na disku stále odpovídá tomu, co politika vykresluje.
vlastnosttyppovinnépopis
id string ano Id poskytovatele, jak ho politika jmenuje: agents, claude-code.
cíl string ano Soubor relativní k repozitáři, do kterého se vykresluje.
state ProjectionState → ProjectionState ano Zda soubor odpovídá tomu, co politika nyní vykresluje.
always_loaded boolean ano Zda poskytovatel načítá tento soubor do každého kontextu.

Používá RepositoryEnvironment

ReasoningSummary

object
Uvažování tak, jak ho hlásí prostředí: souhrn reasoning.advisors ze stejného odvození, nikdy vlastní seznam poskytovatelů.

use majordomus_cli::environment::ReasoningSummary;

let summary: ReasoningSummary = serde_json::from_value(serde_json::json!({
    "operational": true, "mode": "offline", "available": ["local"], "unavailable": 2,
})).unwrap();
assert!(summary.operational);
assert_eq!(summary.available, ["local"]);
assert_eq!(serde_json::to_value(&summary).unwrap()["unavailable"], 2);
vlastnosttyppovinnépopis
provozní boolean ano Uvažování funguje i bez jediného poradce; vždy true.
režim string ano Platný režim: offline, ci, fast, standard, strict.
dostupné array of string ano Advisoři, kterých se lze nyní ptát, v pořadí preference.
nedostupné integer (uint) ano Kolik deklarovaných poradců nemusí, každý volitelný.

Používá RepositoryEnvironment

RepositoryEnvironment

object
Snímek: čím tento checkout právě teď je.

Každý povrch, který cokoli z toho hlásí, vykresluje tuto hodnotu. Kolekce jsou v zdokumentovaném, stabilním pořadí — druhy a workflow podle jména, služby a poskytovatelé v pořadí, v jakém je deklaruje jejich kanonický zdroj, diagnostika v pořadí nalezení — takže dva snímky téhož repozitáře se serializují shodně až na RepositoryEnvironment::generated_at.

vlastnosttyppovinnépopis
schema string ano Smlouva, kterou se tento dokument řídí, majordomus/repository-environment/v1.
generated_at string ano Kdy byl pořízen, RFC 3339 v UTC.
rozlišení Resolution → Resolution ano Jak úplně se vyřešilo.
projekt ProjectIdentity → ProjectIdentity ano Co projekt je.
repozitář RepositoryIdentity → RepositoryIdentity ano Čím checkout je.
vcs VcsState → VcsState ano Co říká správa verzí.
toolchainy pole ToolchainState → ToolchainState ano Toolchainy, které repozitář deklaruje, seřazené podle id.
vrstva LayerSummary → LayerSummary ano Co vrstva obsahuje.
workflow WorkflowCatalogue → WorkflowCatalogue ano Pracovní postupy, které může člověk spustit.
providers pole ProviderState → ProviderState ano Projekce poskytovatelů, které politika deklaruje, v pořadí politiky.
služby pole ServiceState → ServiceState ano Lokální služby v pořadí, v jakém je deklaruje tabulka služeb.
reasoning ReasoningSummary | null → ReasoningSummary ne Reasoning (ADR 0098): funkční bez ohledu na poradce, platný režim a kolik volitelných poradců lze oslovit. Chybí, když distribuce žádné nedeklaruje.
diagnostika pole Diagnostic → Diagnostic ano Vše, co se pokazilo nebo stojí za zmínku, v pořadí, v jakém to bylo nalezeno.
provenance array of FieldSource → FieldSource ano Odkud pochází každé pole.

Používá environment.status

RepositoryIdentity

object
Checkout, jehož je tento snímek.
vlastnosttyppovinnépopis
název string ano Jméno, kterým jej osoba nazývá: základní název kořenového adresáře.
root string ano Kořen, absolutně. Stejná hodnota, kterou hlásí repository.info.
layer_schema string ano schema, ai-repository/v1 manifestu.
sekce mapa řetězců ano Název sekce k cestě relativní k repozitáři, jak je deklaruje manifest.
local_path string ano Lokální polovina vrstvy pro checkout, relativně k repozitáři. Nikdy se nesleduje a ukládá se tam vše, co ví jen tento checkout — lease serveru, cache tohoto snímku.
linked_worktree boolean ano Zda je tento checkout propojený pracovní strom, a ne hlavní.

Používá RepositoryEnvironment

Řešení

"fast" | "full"
Jak úplně byl snapshot rozlišen. Nese se ve snapshotu, protože spotřebitel musí umět rozlišit „neběží žádný server“ od „nikdo se nepodíval“.
  • fastJen to, co je dost levné pro prompt shellu; zbytek z cache.
  • fullVšechno, včetně indexu. Zapisuje cache.

Používá EnvironmentProvenance Preflight RepositoryEnvironment

ServiceAvailability

"available" | "not_running" | "unknown"
Zda služba odpovídá. Unknown je skutečná odpověď a nikdy zamaskované no: sonda, která vypršela, a port, který odmítl spojení, vedou čtenáře k odlišným akcím.
  • availableAdresa přijala spojení.
  • not_runningŽádný server nedrží lease repozitáře, nebo adresa odmítla spojení.
  • unknownSonda neskončila v rozpočtu, nebo toto rozlišení nesondovalo.

Používá ServiceState

ServiceState

object
Jedna lokální služba tohoto repozitáře: co to je, kde je a zda tam něco odpovídá. Cesta je ta, kterou obsluhuje router; URL existuje jen dokud běží server.
vlastnosttyppovinnépopis
id string ano Stabilní id, [a-z][a-z0-9-]*.
název string ano Krátký název, který člověk čte.
path string ano Absolutní cesta, pod níž ji router obsluhuje.
url string | null ne Úplné URL, když server běží a publikoval svou adresu.
dostupnost ServiceAvailability → ServiceAvailability ano Zda tam něco odpovídá.

Používá RepositoryEnvironment

TierState

"resolved" | "cached" | "unavailable"
Odkud pochází úroveň snímku. Úroveň, kterou aktivní vyřešení nedosáhne, je TierState::Unavailable s důvodem a její hodnoty chybí místo aby byly nula.
  • resolvedPři tomto vyřešení načteno z kanonického zdroje.
  • cachedPřevzato z cache zapsané dřívějším úplným rozlišením.
  • unavailableAni jedno není dostupné; hodnoty chybí a důvodem je diagnostika.

Používá LayerSummary WorkflowCatalogue

ToolchainAvailability

"installed" | "missing" | "unknown" | "mismatch"
Zda je deklarovaný toolchain zde použitelný.
  • installedNainstalováno a jeho verze odpověděla.
  • missingSpustitelný soubor není na cestě.
  • unknownNikdo se neptal: toto vyhodnocení pro to nesmí spustit podproces a žádná cache jej nedržela.
  • mismatchNainstalováno a odpovídá a jeho verze nesplňuje tu, kterou repozitář deklaruje. Hlásí se jako ona sama, ne jako nainstalováno, protože binárka na cestě, která odpovídá špatnou verzí, je případ, který člověk jinak ladí hodinu (ADR 0064). Rozhoduje se jen tehdy, když jsou obě verze prosté tečkované číslice.

Používá ToolchainState

ToolchainState

object
Toolchain, který repozitář deklaruje, a co je pro něj nainstalováno. Tři věci jsou záměrně drženy odděleně: repozitář může deklarovat verzi, kterou nikdo nemá, a stroj může mít verzi, o niž žádný repozitář nežádal, a hlásit jedno jako druhé je způsob, jak nesoulad verzí zůstane týden neviditelný.
vlastnosttyppovinnépopis
id string ano Stabilní id, [a-z][a-z0-9-]*: rust, node.
název string ano Krátký název, který člověk čte.
deklarováno string | null ne Verze, kterou repozitář deklaruje, pokud nějakou deklaruje.
declared_by string ano Soubor relativně k repozitáři, který ji deklaruje.
nainstalováno string | null ne Zde nainstalovaná verze, když se na ni dalo zeptat a odpověď není zastaralá.
dostupnost ToolchainAvailability → ToolchainAvailability ano Kde stojí nainstalovaná verze.

Používá RepositoryEnvironment

VcsState

jedna ze 2 variant
Co o checkoutu říká správa verzí, nebo proč se na to nešlo zeptat.
variant git odpověděl.
state"git"ano
variant git se nepodařilo zeptat, nebo toto není pracovní strom.
důvodstringanoCo se pokazilo.
state"unavailable"ano

Používá RepositoryEnvironment

WorkflowCatalogue

object
Workflow, které zde člověk může spustit, tak, jak je popisuje sám workflow runner.
vlastnosttyppovinnépopis
state TierState → TierState ano Odkud tyto pocházejí.
zdroj string | null ne Příkaz, který je vytvořil, když nějaký byl.
workflow pole WorkflowDescriptor → WorkflowDescriptor ne Každý veřejný workflow, seřazený podle názvu.
vstupní body pole WorkflowEntrypoint → WorkflowEntrypoint ne Vstupní bod každé skupiny, v pořadí, v jakém jsou skupiny deklarovány: co spustí jako první člověk, který je v repozitáři nový. Odvozeno, nikde nevypisováno.

Používá RepositoryEnvironment

WorkflowDescriptor

object
Jeden workflow: recept justfile repozitáře, jak ho popisuje just.
vlastnosttyppovinnépopis
název string ano Název, který člověk píše za just.
jmenný prostor string | null ne Cesta modulu, pro recept v importovaném modulu; v kořeni prázdná.
popis string | null ne Dokumentační komentář receptu, pokud nějaký má.
group string | null ne [group(...)], ke kterému patří, když jedno deklaruje.
parametry pole WorkflowParameter → WorkflowParameter ne Jeho parametry v pořadí deklarace.
závislosti array of string ne Recepty, které spouští jako první, v pořadí.
potvrdit boolean ano Zda se ptá před spuštěním ([confirm]).

Používá WorkflowCatalogue

WorkflowEntrypoint

object
Vstupní bod jedné skupiny workflow: co skupina je a jedno workflow, které ji zastupuje.
vlastnosttyppovinnépopis
group string ano Skupina, jak ji deklaruje justfile.
workflow string ano Workflow, které skupinu zastupuje.
command string ano Příkaz, který člověk píše.
popis string | null ne Popis workflow, když ho má.

Používá WorkflowCatalogue

WorkflowParameter

object
Jeden parametr workflow.
vlastnosttyppovinnépopis
název string ano Název.
variadic boolean ano Zda se smí opakovat (*args, +args).
povinné boolean ano Zda se musí zadat.

Používá WorkflowDescriptor

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