@auctra/a2a
v0.1.1
Published
A2A adapter — agent-to-agent calls become Auctra Actions for the same runtime
Downloads
153
Readme
@auctra/a2a
A2A adapter — agent-to-agent calls become Auctra Actions for the same Authority Gate.
Law: no second security model. executeAgentCall → action.execute with
action_type: agent_call. Peer identity and task attenuation are enforced by the
gate (Atlas delegation/a2a-peer-spoof, delegation/a2a-task-launder).
Usage
import { executeAgentCall } from "@auctra/a2a";
const decision = await executeAgentCall(auctraClient, {
fromAgentId: caller.id,
toAgentId: peer.id,
claimedIntentId: intent.id,
intentAnchorToken: intent.anchor_token,
// Optional: downstream work the peer should run — must ⊆ caller's grant scope
claimedActionTypes: ["create_support_ticket"],
intent: "Hand off ticket triage",
riskLevel: "medium",
});What the gate checks
| Claim | Block when |
| --- | --- |
| Peer id | Missing, cross-org, inactive, or equals caller |
| claimed_action_types | Not ⊆ caller's delegation scope.action_types (wildcards via actionTypeMatchesPattern) |
Undeclared peers stay fail-closed on agent_call (peer required). Empty claimed_action_types skips attenuation (caller grant still must cover agent_call itself).
