Arbitrer un conflit
Lisez 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.arbiter
Lisez 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.arbiterFaites 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.
Des détecteurs déposent un dossier quand des agents se heurtent, et un dossier gravit une échelle. Au palier 3, un modèle propose un remède dans un menu fermé, et un dossier sous le seuil de confiance du locataire va à une personne.
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.
La liste de travail montre les dossiers ouverts avec leurs horloges SLA et leurs routes d’astreinte, pour choisir celui qui nécessite une audition.
Le dossier contient la décision : remède, menu, confiance, seuil, décideur.
{
"case": {
"id": "case_9f2",
"rung": 3,
"remedy": "peer_talk",
"confidence": ,
: ,
: {
: ,
: [, , , , ],
: ,
: ,
: ,
: [],
: [, , ],
: ,
:
}
},
: [],
: ,
: ,
: { : , : , : , : }
}arbitration.arbiterarbitration-arbiter
curl -sS https://api.intramedial.com/api/v1/acp/arbitration/queue \
-H "Authorization: Bearer $INTRAMEDIAL_KEY"const res = await fetch("https://api.intramedial.com/api/v1/acp/arbitration/queue", {
headers: { Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`, },
});
console.log(res.status, await res.json());import os, requests
res = requests.get(
"https://api.intramedial.com/api/v1/acp/arbitration/queue",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
timeout=30,
)
print(res.status_code, res.json())Envoyez l’id du dossier et son conflictId, qui doit correspondre au dossier. Ajoutez forceInline via REST pour l’entendre dans la requête.
curl -sS -X POST https://api.intramedial.com/api/v1/acp/arbitration/arbiter \
-H "Authorization: Bearer $INTRAMEDIAL_KEY" \
-H "Content-Type: application/json" \
-d '{
"id": "case_9f2",
"conflictId": "lease-overlap:repo:payments/main:did:web:acme.example:agent:cost,did:web:acme.example:agent:release"
}'const res = await fetch("https://api.intramedial.com/api/v1/acp/arbitration/arbiter", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.INTRAMEDIAL_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
id: "case_9f2",
conflictId: "lease-overlap:repo:payments/main:did:web:acme.example:agent:cost,did:web:acme.example:agent:release",
}),
});
const body = await res.json();
console.log(res.status, body);import os, requests
res = requests.post(
"https://api.intramedial.com/api/v1/acp/arbitration/arbiter",
headers={"Authorization": "Bearer " + os.environ["INTRAMEDIAL_KEY"]},
json={
"id": "case_9f2",
"conflictId": "lease-overlap:repo:payments/main:did:web:acme.example:agent:cost,did:web:acme.example:agent:release",
},
timeout=30,
)
body = res.json()
print(res.status_code, body)remedy et confidence viennent du modèle. Sous le seuil, decidedBy vaut fallback.
const { case: c, appealPath } = body;
console.log(c.rung, c.remedy, c.confidence, c.ruling.decidedBy);
if (c.rung === 4) console.log("waits for a person");
else console.log("appealable:", appealPath.appealable, "until", appealPath.deadline);c = body["case"]
print(c["rung"], c["remedy"], c["confidence"], c["ruling"]["decidedBy"])
if c["rung"] == 4:
print("waits for a person")
else:
print("appealable:", body["appealPath"]["appealable"], "until", body["appealPath"]["deadline"])Une partie ayant qualité peut faire appel d’un palier en 7 jours. escalate_human dépose un élément au rôle.
Copié de: /docs/arbitration-arbiter
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.
Ouvrez une négociation sur un dossier, laissez les deux parties proposer et répondre en huit tours au plus, et acceptez pour clore avec un enregistrement d’engagement.
negotiate.proposeDé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.fileListez les détecteurs, exécutez lease-overlap, lisez les conflits qu’il cite avec leurs preuves, puis les dossiers qu’il a déposés pour examen.
detection.runUn 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.