johnandersen777.bsky.social/atlibs-agents
agents and atirc modules for atlibs: launch agents from a composition, chat on atirc; pages and the agents service
0
0
{
"name": "agents",
"description": "Launch an atirc agent on a socialweb.computer VM (mint its atirc token, request the VM through the requester, start the agent over ssh) and shut it down by its launch rkey. Composed with the requester: composition.json.",
"session": "agents",
"actions": [
{
"entry": "launch",
"label": "Launch an agent",
"description": "Create the com.fedfork.agents.launch record (its rkey is the launch id), mint <name>-<rkey>.<handle> on atirc, run a requester contract that keeps the VM, write the token and the agent unit over ssh and start it.",
"fields": [
{ "key": "bidders", "label": "Bidder DIDs" },
{ "key": "user_data", "label": "cloud-init user data (iroh or webrtc ssh)" },
{ "key": "via", "label": "iroh or webrtc" },
{ "key": "name", "label": "Agent name" },
{ "key": "agent", "label": "Agent command (default: atirc agent run)" },
{ "key": "exp_s", "label": "Token lifetime (s)" }
]
},
{
"entry": "status",
"label": "Agent status",
"description": "The launch record and one read of the guest's reports (terminated or not).",
"fields": [{ "key": "rkey", "label": "Launch rkey" }]
},
{
"entry": "shutdown",
"label": "Shut down an agent",
"description": "Revoke the agent's atirc token, release the VM, wait for vm.terminated, delete the round's records, then delete (delete: true) or mark stopped the launch record.",
"fields": [
{ "key": "rkey", "label": "Launch rkey" },
{ "key": "delete", "label": "Delete the launch record" }
]
}
],
"calls": [
"com.atproto.repo.createRecord",
"com.atproto.repo.putRecord",
"com.atproto.repo.getRecord",
"com.atproto.repo.deleteRecord",
"com.atproto.repo.describeRepo",
"chat.atirc.mint",
"chat.atirc.revoke"
],
"hooks": [
{ "nsid": "com.fedfork.market.contract", "required": true, "entries": ["launch"], "reason": "an agent needs a VM: the requester's contract" },
{ "nsid": "com.fedfork.market.release", "required": true, "entries": ["shutdown"], "reason": "shutting an agent down releases its VM" },
{ "nsid": "com.fedfork.market.watch", "required": true, "entries": ["status", "shutdown"], "reason": "agent status reads the guest's reports" }
]
}