Ein Mandat in der Vorschau ansehen, dann anwenden
Kompilieren Sie ein Mandat mit apply: false, lesen Sie die Grants, die es erteilen würde, und seinen previewDigest, und wenden Sie dann genau das an, was Sie angesehen haben.
mandates.compile
Kompilieren Sie ein Mandat mit apply: false, lesen Sie die Grants, die es erteilen würde, und seinen previewDigest, und wenden Sie dann genau das an, was Sie angesehen haben.
mandates.compileLeiten 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.
Ein Mandat ist die Satzung eines Agenten als Code, und seine Anwendung ändert sofort, was Intralock zulässt. Sie wollen die Grants vorher lesen, und die Anwendung soll fehlschlagen, wenn sich das Mandat oder die Constitution nach Ihrem Blick geändert hat. Der Preview-Digest bindet beides.
policies.approve der kleinste, der geht; ein breiterer Tools-Scope geht auchpolicies.approve für den Schritt „Anwenden“imd, Cedar oder Rego (eine Gleichheits-Teilmenge)Der Code liest den Schlüssel aus INTRAMEDIAL_KEY. Halten Sie ihn in Ihrer Shell oder Ihrem Secret Store, nie in einer Datei, die Sie committen. Aufrufe, die eine angemeldete Person brauchen, können keinen Schlüssel verwenden: Die Konsole führt sie aus.
Senden Sie den Quelltext mit apply auf false. Das Mandat wird zu Grants kompiliert und das signierte Artefakt gespeichert, aber der Workspace-Snapshot ändert sich nicht. simulate ist der schreibgeschützte Zwilling, der die Differenz zur geltenden Constitution liefert.
revoked und withheld, sodass Sie die Wirkung lesen können.mandates.compilemandates-compile
curl -sS -X POST https://api.intramedial.com/api/v1/acp/mandates/compile \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"source": "mandate billing-writes\nallow write on repo:payments/main for did:web:acme.example:agent:billing",
"format": "imd",
"apply": false
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/mandates/compile", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
source: "mandate billing-writes\nallow write on repo:payments/main for did:web:acme.example:agent:billing",
format: "imd",
apply: false,
}),
});
const body = await res.json();
console.log(body.mandate.grants, body.applied, body.previewDigest);import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/mandates/compile",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"source": "mandate billing-writes\nallow write on repo:payments/main for did:web:acme.example:agent:billing",
"format": "imd",
"apply": False,
},
timeout=30,
)
body = res.json()
print(body["mandate"]["grants"], body["applied"], body["previewDigest"])Lesen Sie mandate.grants und behalten Sie previewDigest. Er deckt die kompilierten Grants und die Constitution ab, nicht den Quelltext.
Senden Sie denselben Quelltext mit previewDigest. Hat sich das Mandat oder die Constitution seither geändert, wird der Aufruf mit 409 abgelehnt.
curl -sS -X POST https://api.intramedial.com/api/v1/acp/mandates/compile \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"source": "mandate billing-writes\nallow write on repo:payments/main for did:web:acme.example:agent:billing",
"format": "imd",
"previewDigest": "9c1e5a07d4b3"
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/mandates/compile", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
source: "mandate billing-writes\nallow write on repo:payments/main for did:web:acme.example:agent:billing",
format: "imd",
previewDigest: "9c1e5a07d4b3",
}),
});
console.log(res.status, await res.json());import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/mandates/compile",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"source": "mandate billing-writes\nallow write on repo:payments/main for did:web:acme.example:agent:billing",
"format": "imd",
"previewDigest": "9c1e5a07d4b3",
},
timeout=30,
)
print(res.status_code, res.json())Kopiert aus: /docs/mandates-compile
Das Ledger ist Append-only und unter Merkle-Roots versiegelt. Die Zeit eines Eintrags ist Intramedials eigene Uhr, und ein signiertes Bundle lässt sich offline mit dem veröffentlichten Schlüssel prüfen.
Führen Sie eine installierte Lens über die gesendeten Daten aus, lesen Sie ihre Befunde und behalten Sie das gespeicherte Ergebnis mit seinem Digest.
lenses.runEntfernen oder ergänzen Sie einen Grant in einer Kopie der Richtlinie, prüfen Sie sie mit Probes und lesen Sie jedes Urteil vor und nach der Änderung.
drills.counterfactualGratis-Testschlüssel holen, Hash mit content.attest attestieren, den signierten Beleg prüfen.
coordination.admitEine kurze E-Mail, wenn wir neue Rezepte ergänzen. Sonst keine Mail, und Sie melden sich aus jeder Nachricht ab.
Kein Konto nötig: 35 Aufrufe in 7 Tagen auf den Attest-Routen, Belege als Testbelege markiert. Registrieren Sie sich, wenn Sie weitermachen wollen.