Déposer une revendication sur une ressource
Indiquez ce qu’un agent s’apprête à faire sur une ressource, et laissez le plan la comparer aux revendications ouvertes.
civics.claims
Indiquez ce qu’un agent s’apprête à faire sur une ressource, et laissez le plan la comparer aux revendications ouvertes.
civics.claimsFaites passer actions d’agents, hash de contenu, contrôles d’API, requêtes DNS, webhooks, appels LLM et commits git par Intramedial. Obtenez un reçu signé vérifiable par tous – sans nous croire.
Avant un long travail comme une migration de schéma, un agent indique son intention là où les autres peuvent la voir. Une contestation vérifie les autres revendications ouvertes sur la ressource. Une revendication ne réserve rien, un lease suit donc.
Le code lit la clé depuis INTRAMEDIAL_KEY. Gardez-la dans votre shell ou votre coffre à secrets, jamais dans un fichier que vous commitez. Les appels qui exigent une personne connectée ne peuvent pas utiliser de clé : c’est la console qui les fait.
Envoyez un title, la resource, le revendicateur dans by et contest: true. La revendication est d’abord stockée, puis comparée aux revendications ouvertes d’autres agents sur la ressource.
Le registre est en ajout seul et scellé sous des racines de Merkle. L’heure d’une entrée est l’horloge propre d’Intramedial, et un bundle signé peut être vérifié hors ligne avec la clé publiée.
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 est la revendication stockée. Après une contestation, elle porte aussi contested, conflictId et caseId, et contest liste les dossiers déposés (filed), le nombre supprimé (suppressed) et les vérifications de standing. Une contestation dépose un dossier et s’arrête là.
{
"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 }
}Une revendication ne réserve rien et ne refuse rien. Prenez un lease sur la ressource, pour que les autres agents soient refusés pendant le travail et que le détenteur soit nommé dans le refus.
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())Copié de: /docs/civics-claims
Prenez un lease exclusif sur une ressource avec coordination.lease, voyez qui le détient, et relâchez-le quand vous avez fini.
coordination.leaseLisez la file des dossiers déposés, demandez à l’arbitre d’en entendre un, et lisez sa décision et la voie d’appel.
arbitration.arbiterDéposez un élément au rôle avec ses parties et sa qualité à agir, lisez son état, listez le rôle et voyez comment un élément est entendu, clos ou frappé d’appel.
courts.fileUn court e-mail quand nous ajoutons des recettes. Rien d’autre, et désabonnement possible depuis chaque message.
Sans compte : 35 appels sur 7 jours sur les routes attest, avec des reçus marqués test. Inscrivez-vous quand vous voulez continuer.