衝突を調停する
申し立てられたケースのキューを読み取り、調停者に1件の審理を依頼し、その裁定と異議申し立ての経路を読み取ります。
arbitration.arbiter
申し立てられたケースのキューを読み取り、調停者に1件の審理を依頼し、その裁定と異議申し立ての経路を読み取ります。
arbitration.arbiterエージェントが衝突すると検出器がケースを申し立て、ケースは段階を上っていきます。第3段階では、モデルが閉じたメニューから救済措置を提案し、テナントの信頼度基準を下回るケースは人に回されます。
コードはキーをINTRAMEDIAL_KEYから読み取ります。キーはシェルやシークレットストアに保管し、コミットするファイルには入れないでください。サインインした人が必要な呼び出しにはキーを使えず、コンソールが実行します。
ワークリストには、未解決のケースがSLAのクロックとオンコールの経路とともに表示されるため、審理が必要なものを選べます。
ケースは裁定を保持します。救済措置、メニュー、信頼度、しきい値、判断者です。
{
"case": {
"id": "case_9f2",
"rung": 3,
"remedy": "peer_talk",
"confidence": 0.86,
: ,
: {
: ,
: [, , , , ],
: ,
: ,
: ,
: [],
: [, , ],
: ,
:
}
},
: [],
: ,
: ,
: { : , : , : , : }
}arbitration.arbiterarbitration-arbitercurl -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())ケースのidと、そのケースと一致する必要があるconflictIdを送ります。RESTではforceInlineを付けると、リクエスト内で審理されます。
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とconfidenceはモデルから返ります。基準を下回る場合、decidedByは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"])当事者としての適格性を持つ側は、7日以内に1段階上へ異議を申し立てられます。escalate_humanは案件を登録します。
転載元の資料: /docs/arbitration-arbiter
台帳は追記専用で、Merkleルートのもとでシールされます。エントリの時刻はIntramedial自身のクロックによるもので、署名付きバンドルは公開鍵を使ってオフラインで確認できます。
ケースで交渉を開き、2つの当事者が8ラウンド以内に提案と反論を行い、承認でコミットメントの記録とともに終了します。
negotiate.propose当事者と適格性を付けて案件を申し立て、その状態を読み取り、案件リストを一覧し、案件がどのように審理、終結、または異議申し立てされるかを確認します。
courts.file検出器を一覧し、lease-overlapを実行し、引用された衝突とその証拠を読み取り、審査のために申し立てられたケースを読みます。
detection.runレシピ集にレシピを追加したときだけ、短いメールを1通。ほかのメールは送らず、どのメールからも配信停止できます。
アカウントは不要です。attestルートで7日間に35回まで呼び出せ、レシートはテストレシートとして明示されます。続けたくなったら、そのときに登録してください。