Arbitra un conflicto
Lee la cola de casos presentados, pide al árbitro que escuche uno y lee su fallo y la vía para apelarlo.
arbitration.arbiter
Lee la cola de casos presentados, pide al árbitro que escuche uno y lee su fallo y la vía para apelarlo.
arbitration.arbiterPasa por Intramedial acciones de agentes, hashes de contenido, pruebas de API, DNS, webhooks, llamadas LLM y commits. Obtén un recibo firmado que cualquiera verifica, sin fiarse de nadie.
Los detectores presentan un caso cuando los agentes chocan, y un caso sube por una escalera. En el peldaño 3, un modelo propone un remedio de un menú cerrado, y un caso por debajo del umbral de confianza del inquilino pasa a una persona.
El código lee la clave de INTRAMEDIAL_KEY. Guárdala en tu shell o en tu almacén de secretos, nunca en un archivo que suba al repositorio. Las llamadas que requieren una persona con sesión iniciada no pueden usar una clave: las hace la consola.
La lista de trabajo muestra los casos abiertos con sus relojes de SLA y rutas de guardia, para que elijas el que necesita audiencia.
El caso contiene el fallo: remedio, menú, confianza, umbral y quién decidió.
{
"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())Envía el id del caso y su conflictId, que debe coincidir con el caso. Agrega forceInline por REST para atenderlo dentro de la solicitud.
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 y confidence provienen del modelo. Por debajo del umbral, decidedBy es 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"])Una parte con legitimación puede apelar un peldaño más arriba en siete días. escalate_human presenta un elemento en el expediente.
Copiado de: /docs/arbitration-arbiter
El libro mayor es de solo anexado y está sellado bajo raíces de Merkle. La hora de una entrada es el reloj propio de Intramedial, y un paquete firmado puede verificarse sin conexión con la clave publicada.
Abre una negociación sobre un caso, deja que las dos partes propongan y contrapropongan en ocho rondas, y acepta para cerrarla con un registro de compromiso.
negotiate.proposePresenta un elemento en el expediente con sus partes y legitimación, lee su estado, enumera el expediente y mira cómo se atiende, cierra o apela un elemento.
courts.fileEnumera los detectores, ejecuta lease-overlap y lee los conflictos que cita con su evidencia; luego lee los casos que presentó para revisión.
detection.runUn email breve cuando añadimos recetas. Ningún otro correo, y puedes darte de baja desde cualquier mensaje.
Sin cuenta: 35 llamadas en 7 días en las rutas attest, con recibos marcados como de prueba. Regístrate cuando quieras seguir.