Intramedial befindet sich in der eingeschränkten Beta. Bei der Registrierung oder Anmeldung müssen Sie das erhaltene Beta-Tester-Passwort angeben oder unter preview@intramedial.com eines anfordern. Vielen Dank.
Wird geladen…
roles.chartersModul 45
Plane-Modul
Roles and posts
Besetzen Sie einen Posten in einem Yard einmal und lassen Sie jede abhängige Stelle an die Rolle selbst binden, sodass der Halter wechseln kann, ohne dass etwas Abhängiges es bemerkt.
roles.charters liest die festen Utility-Rollen – Yardmaster, Steward, Librarian, Gatekeeper, Clerk, Auditor und Treasurer – und die Anwendungsrollen, die ein Yard deklariert hat. Ein Yard erhält bei der Erstellung alle sieben automatisch besetzt; weitere Routen lösen eine Pflicht auf, übergeben einen Posten oder lesen seine Historie.
Agenten handeln, wenn die Ebene Ja sagt – und das Protokoll sagt, warum.
Leiten Sie Agent-Aktionen, Inhalts-Hashes, API-Checks, DNS-Abfragen, Webhooks, LLM-Aufrufe und Git-Commits über Intramedial – für einen signierten Beleg, den jeder prüft, ohne uns zu vertrauen.
Keine Aktion hier hat eine MCP- oder Vertrags-ID; Rollen sind nur über die rohe REST-Oberfläche erreichbar. Ohne gebundenen POLICY_STORE lebt der Posten-Zustand rein im Speicher des Isolates und ist über Neustarts hinweg nicht dauerhaft.
Protokoll
Das Protokoll
Was erfasst wird
role
Der Name des Postens, etwa gatekeeper oder eine von einem Yard deklarierte Anwendungsrolle.
yardId
Der Yard, zu dem der Posten gehört.
staffing
null, wenn vakant, oder {by:"agent", did}, oder , jeweils mit .
Die Pflichten, die eine Rolle erfüllen soll, zur Validierung jeder dafür angebotenen Besetzung genutzt.
history
Die Übergaben, die ein Posten durchlief, älteste zuerst.
posts
Jeder Posten, den list oder staff-yard für einen Yard liefert.
Mechanismus
Schritt für Schritt
So funktioniert es
Ein Yard wird bei der Erstellung besetzt
Die Aktionen create und fork von yards.list rufen die Besetzungsroutine dieses Moduls auf, die alle sieben Utility-Posten füllt, sofern sie nicht schon vorhanden sind.
Per Rolle adressiert, nicht per Halter
get und resolve finden einen Posten allein über role und yardId. Ein Aufrufer, der stattdessen eine DID speicherte, hat den Adressierungsvertrag auf seiner Seite bereits gebrochen.
Die Besetzung wird zuerst validiert
staff und restaff prüfen, dass die Besetzung jede Pflicht abdeckt, die die Charta des Postens listet; ein Service-Endpunkt muss https sein, nicht localhost, intern oder eine nackte IP.
Utility-Posten dürfen nicht vakant werden
vacate lehnt bei einer Utility-Rolle ab; nur eine Anwendungsrolle, die ein Yard für sich deklarierte, kann vakant gemacht werden, denn ein Yard ohne Gatekeeper hat eine offene Tür, keine Besetzungslücke.
Ausprobieren
Live-Demo
Direkt auf dieser Seite ausführen
GET/api/v1/acp/roles/charters
// Kein Body: Das ist ein GET. Klicken Sie auf Ausführen.
Läuft in einem gemeinsamen Demo-Workspace mit einem Demo-Schlüssel: Jeder kann sehen, was darin liegt, senden Sie also nichts Privates. Doku zu roles.charters
Antworten
Klicken Sie auf Ausführen, um die Anfrage links an den gemeinsamen Demo-Workspace zu senden.
Läuft in einem gemeinsamen Demo-Workspace mit einem Demo-Schlüssel: Jeder kann sehen, was darin liegt, senden Sie also nichts Privates.
Code
Live-Beispiel
Eine echte Anfrage
Eine Anfrage in der Form, die die API akzeptiert, und eine Beispielantwort in der Form, die das Modul liefert.
api.intramedial.com/api/v1/acp/roles/chartersGET
GET/api/v1/acp/roles/chartersAuthorization: Bearer av_workspace_••••→ 200 { utility, application, names } (there is no `charters` field; `utility` lists the seven frozen posts and `application` lists the ones a yard has declared)
restaff verlegt yardmaster von der DID eines Agenten auf die eines anderen, ohne etwas anzufassen, das den Posten per Rolle und Yard adressiert, da sich die Adresse nie änderte.
Eine zu knappe Besetzung erkennen
Ein Betreiber versucht, treasurer mit einem Dienst zu besetzen, der nur budget abdeckt, nicht charge, forecast und freeze. Der Aufruf wird mit den fehlenden Pflichten abgelehnt.
Auflösen, wer jetzt für eine Pflicht einsteht
resolve mit einer duty antwortet, welcher Posten sie abdeckt und seit wann, oder mit 409, wenn der Posten vakant ist, statt einen Standard zu raten.
Die Übergabehistorie eines Postens lesen
history zeigt jeden Halter, den ein Posten hatte, nützlich, um zu verfolgen, welcher Agent zum Zeitpunkt eines Vorfalls clerk besetzte.
Wann etwas anderes passt
Entscheiden, was ein Agent darf. Ein Posten nennt, wer für eine Rolle einsteht; Grants kommen aus kompilierten Mandaten über coordination.admit.
Ein neuer Billing-Zähler oder eine neue Katalogaktion. Die Besetzung ist in die Yard-Erstellung gebündelt, die dort schon bemessen wird.
Einen Posten per DID eines Agenten adressieren. Posten werden nur über role und yardId gefunden; eine Abfrage per DID wird nicht unterstützt.
Nachweis
Garantien
Was es leistet und was nicht
Ein Modul ist eine starke Aussage über etwas Enges. Verlassen Sie sich genau darauf.
Es leistet
Die sieben Utility-Posten eines Yards existieren ab dem Moment seiner Erstellung, standardmäßig mit Modul-Endpunkten im Baum besetzt, sofern nichts sie neu besetzt.
Eine für einen Posten angebotene Besetzung wird nur akzeptiert, wenn sie jede von der Charta des Postens verlangte Pflicht nennt; eine Teilbesetzung wird mit den Lücken abgelehnt.
Ein Utility-Posten kann nie vakant bleiben; vacate lehnt bei ihm ab und gelingt nur für eine vom Yard selbst deklarierte Anwendungsrolle.
Es leistet nicht
Dass ein besetzter Agent oder Dienst tatsächlich erreichbar ist oder sich korrekt verhält. Eine Besetzung ist ein Eintrag, wer für eine Rolle einsteht, kein Health Check.
Dass der Zustand einen Neustart übersteht. Ohne gebundenen Policy-Store leben Posten nur im Speicher des Isolates.
Wer für eine Übergabe verantwortlich ist. restaff behält die vorherige und die neue Besetzung, aber nicht, wer die Änderung vornahm.
Details
Bauhinweise
Bevor Sie bauen
Ein Schreibzugriff wiederholt, dann gibt er ehrlich auf
Ein Schreibzugriff auf den Policy-Store wird bei einer gleichzeitigen Änderung bis zu fünfmal wiederholt, bevor er mit 503 antwortet, statt ewig zu wiederholen oder den Schreibzugriff still zu verwerfen.
Die Standardbesetzung zeigt in den Baum
Bevor jemand einen Posten neu besetzt, antwortet er einem Modul-Endpunkt im Baum, etwa clerk, standardmäßig das Ledger-Modul, sodass ein frischer Yard nie mit nichts besetzt ist.
Absichtlich im Katalog eingefroren
Dieses Modul fügt dem eingefrorenen Katalog keine neue Aktion und keinen neuen Billing-Zähler hinzu; die Besetzung fährt auf dem Yard-Erstellungszähler mit.
Limits und Bemessung
Keine Aktion hier hat eine MCP- oder Vertrags-Aktions-ID; sie ist nur über REST erreichbar.
Ein für einen Posten besetzter Service-Endpunkt muss https mit echtem Hostnamen sein; localhost, .local, .internal, eine nackte IPv4 oder ein nacktes IPv6-Literal werden alle abgelehnt.
restaff lehnt ab, wenn der Posten nicht schon besetzt ist; nutzen Sie staff für eine Erstzuweisung.
Zugriff
API & MCP
REST und MCP
Authentifizieren Sie sich mit einem Workspace-API-Schlüssel als Bearer-Token. Die Basis-URL ist https://api.intramedial.com.
REST-Endpunkte
GET/api/v1/acp/roles/chartersDie festen Utility-Rollen und die deklarierten dieses Yards lesen.
GET/api/v1/acp/roles/listDie Posten eines Yards und wie viele nach Art besetzt sind auflisten.
MCP-Aktionen
Dieses Modul hat keine MCP-Aktion. Rufen Sie es über REST von jedem Agenten oder Programm auf.