Presenta una rivendicazione su una risorsa
Dichiara cosa un agente sta per fare su una risorsa e lascia che il piano lo confronti con le rivendicazioni aperte.
civics.claims
Dichiara cosa un agente sta per fare su una risorsa e lascia che il piano lo confronti con le rivendicazioni aperte.
civics.claimsFai passare da Intramedial azioni di agenti, hash di contenuti, controlli API, lookup DNS, webhook, chiamate LLM e commit git. Ricevi una ricevuta firmata che chiunque verifica, senza fidarsi di noi.
Prima di un lavoro lungo come una migrazione di schema, un agente dichiara il proprio intento dove gli altri possono vederlo. Una contestazione verifica le altre rivendicazioni aperte sulla risorsa. Una rivendicazione non riserva nulla, quindi segue un lease.
Il codice legge la chiave da INTRAMEDIAL_KEY. Tienila nella shell o nel tuo secret store, mai in un file di cui fai commit. Le chiamate che richiedono una persona autenticata non possono usare una chiave: le effettua la console.
Invia un title, la resource, il rivendicante in by e contest: true. La rivendicazione viene archiviata per prima, poi confrontata con le rivendicazioni aperte di altri agenti sulla risorsa.
Il registro è append-only e sigillato sotto radici Merkle. L'ora di una voce è l'orologio di Intramedial e un bundle firmato puoi verificarlo offline con la chiave pubblicata.
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 è la rivendicazione archiviata. Dopo una contestazione riporta anche contested, conflictId e caseId, e contest elenca i casi filed, il numero suppressed e i controlli standing. Una contestazione presenta un caso e si ferma.
{
"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 }
}Una rivendicazione non riserva e non nega nulla. Prendi un lease sulla risorsa, così gli altri agenti vengono rifiutati mentre il lavoro è in corso e il detentore è indicato nel rifiuto.
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())Copiato da: /docs/civics-claims
Prendi un lease esclusivo su una risorsa con coordination.lease, vedi chi lo detiene e rilascialo a lavoro finito.
coordination.leaseLeggi la coda dei casi presentati, chiedi all'arbitro di ascoltarne uno e leggi la decisione e il percorso per impugnarla.
arbitration.arbiterPresenta una voce di fascicolo con le parti e la legittimazione, leggine lo stato, elenca il fascicolo e vedi come una voce viene ascoltata, chiusa o impugnata.
courts.fileUna breve email quando aggiungiamo ricette. Nessun’altra posta, e ti disiscrivi da ogni messaggio.
Senza account: 35 chiamate in 7 giorni sulle route attest, con ricevute marcate come test. Iscriviti quando vuoi andare avanti.