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
{
"$type": "com.fedfork.exec.wasm.module",
"name": "agents",
"module": {
"$type": "blob",
"ref": {
"$link": "bafkreiceg7xnpbpqty3lzozpbgbpxj2jxu446ycoyjzbgb6uyhmxaqoa3e"
},
"mimeType": "application/wasm",
"size": 169658
},
"abi": "emdash-wasm-json-v1",
"source": {
"uri": "at://did:plc:ocnuqjlzgohypj3zoznermms/com.fedfork.exec.source.manifest/agents.1794339611785",
"cid": "bafyreige2qsizc4ofdyon7caqcfdfdn66ak3wfl3mahjpzg75cgg6u5n7e"
},
"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"
}
]
}
],
"createdAt": "2026-11-09T03:13:29.762Z",
"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": {
"uri": "at://did:plc:ocnuqjlzgohypj3zoznermms/com.fedfork.exec.oauth.clientMetadata/agents",
"cid": "bafyreih3gkvhe7gxew23jnejxwknvz6qeb3gcr2xtxfu7kn2pc5c4r7cmm"
},
"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"
}
]
}