Einen Anspruch auf eine Ressource anmelden
Geben Sie an, was ein Agent auf einer Ressource tun wird, und lassen Sie die Ebene es gegen offene Ansprüche prüfen.
civics.claims
Geben Sie an, was ein Agent auf einer Ressource tun wird, und lassen Sie die Ebene es gegen offene Ansprüche prüfen.
civics.claimsLeiten 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.
Vor einem langen Job wie einer Schema-Migration gibt ein Agent seinen Intent dort an, wo andere ihn sehen. Ein Contest prüft andere offene Ansprüche auf die Ressource. Ein Anspruch reserviert nichts, deshalb folgt ein Lease.
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 einen title, die resource, den Anspruchsteller in by und contest: true. Der Anspruch wird zuerst gespeichert und dann mit offenen Ansprüchen anderer Agenten auf die Ressource verglichen.
civics.claimscivics-claims
curl -sS -X POST https://api.intramedial.com/api/v1/acp/civics/claims \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Migrate the billing schema",
"resource": "db:billing",
"by": "did:web:acme.example:agent:billing",
"contest": true
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/civics/claims", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
title: "Migrate the billing schema",
resource: "db:billing",
by: "did:web:acme.example:agent:billing",
contest: true,
}),
});
console.log(res.status, await res.json());import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/civics/claims",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"title": "Migrate the billing schema",
"resource": "db:billing",
"by": "did:web:acme.example:agent:billing",
"contest": True,
},
timeout=30,
)
print(res.status_code, res.json())claim ist der gespeicherte Anspruch. Nach einem Contest trägt er zusätzlich contested, conflictId und caseId, und contest listet die filed-Fälle, die Zahl suppressed und die standing-Prüfungen. Ein Contest reicht einen Fall ein und hält an.
{
"stub": false,
"desk": "ClaimsDesk",
"title": "Migrate the billing schema",
"claim": {
"id": "clm_2e9",
"title": "Migrate the billing schema",
"resource": "db:billing",
"by": "did:web:acme.example:agent:billing"
},
"liaison": { "skipped": true }
}Ein Anspruch reserviert nichts und verweigert nichts. Holen Sie einen Lease auf die Ressource, damit andere Agenten abgelehnt werden, solange der Job läuft, und der Halter in der Ablehnung genannt wird.
curl -sS -X POST https://api.intramedial.com/api/v1/acp/coordination/lease \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"resource": "db:billing",
"actorDid": "did:web:acme.example:agent:billing"
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/coordination/lease", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
resource: "db:billing",
actorDid: "did:web:acme.example:agent:billing",
}),
});
console.log(res.status, await res.json());import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/coordination/lease",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"resource": "db:billing",
"actorDid": "did:web:acme.example:agent:billing",
},
timeout=30,
)
print(res.status_code, res.json())Kopiert aus: /docs/civics-claims
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.
Holen Sie mit coordination.lease einen exklusiven Lease auf eine Ressource, sehen Sie, wer ihn hält, und geben Sie ihn frei, wenn Sie fertig sind.
coordination.leaseLesen Sie die Warteschlange eingereichter Fälle, lassen Sie den Schiedsrichter einen anhören und lesen Sie sein Urteil und den Weg zur Berufung.
arbitration.arbiterReichen Sie einen Docket-Eintrag mit Parteien und Standing ein, lesen Sie seinen Zustand, listen Sie das Docket auf und sehen Sie, wie ein Eintrag angehört, geschlossen oder berufen wird.
courts.fileEine 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.