~ knotless Search/
↑↓ move↵ open⇧↵ all results

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
main
118 lines · 3.0 KB Raw History
{
	"$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"
		}
	]
}