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.composition",
"name": "atirc agents service",
"description": "The public face of the agents service: the ingress module holds the did:key registration with xrpc.fedproxy.com and forwards the three agents XRPC methods to the host's handlers, which check atproto service auth and run composition.json (agents + requester).",
"instances": [
{
"name": "ingress",
"module": "ingress",
"input": {
"routes": [
"com.fedfork.agents.launchAgent",
"com.fedfork.agents.getAgent",
"com.fedfork.agents.shutdownAgent"
],
"deadlineMs": 28000
},
"budget": {
"wallMs": 2000000000,
"events": 100000000,
"calls": 10000000
}
}
],
"handlers": [
{
"name": "launchAgent",
"description": "Check the caller's service auth, create the launch record, launch the agent in the background; answers {rkey, uri, status}"
},
{
"name": "getAgent",
"description": "Check the caller's service auth; the launch record and one read of the guest"
},
{
"name": "shutdownAgent",
"description": "Check the caller's service auth; revoke, release, clean up by rkey"
}
],
"edges": [
{
"from": "ingress",
"nsid": "com.fedfork.agents.launchAgent",
"handler": "launchAgent",
"reason": "a caller on the internet asks to launch an agent"
},
{
"from": "ingress",
"nsid": "com.fedfork.agents.getAgent",
"handler": "getAgent",
"reason": "a caller on the internet reads an agent's status"
},
{
"from": "ingress",
"nsid": "com.fedfork.agents.shutdownAgent",
"handler": "shutdownAgent",
"reason": "a caller on the internet shuts an agent down"
}
],
"limits": {
"depth": 2,
"calls": 10000000
}
}