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

johnandersen777.bsky.social/atlibs-socialweb-computer-requester

socialweb.computer market requester and policy modules for atlibs, with its web pages and lexicons

0
0
main
185 lines · 4.1 KB Raw History
{
	"$type": "com.fedfork.exec.composition",
	"name": "socialweb.computer VMs for a model",
	"description": "vm-mcp's four tools (vm_create, vm_list, vm_exec, vm_release) over the requester (bids judged by tangled-vouch and bid-payload; user-data and iroh-user-data make the cloud-init) and process-mcp (the guest agent's shell over iroh). Serve vm's actions as MCP.",
	"parameters": [
		{
			"key": "bidders",
			"label": "Bidder DIDs",
			"type": "array",
			"description": "The bidders to ask, by DID.",
			"values": {
				"default": [
					"did:plc:7q5lnitxv4meizdon5fmhzrq",
					"did:plc:4vcig7s43z3nyqrnepmcfzqt",
					"did:plc:2l2wdry77c7jtucbslstagkj"
				]
			}
		},
		{
			"key": "pool",
			"label": "Pool",
			"type": "string",
			"description": "The record key of the VM list (one per agent session that should not see another's).",
			"values": {
				"default": "self"
			}
		},
		{
			"key": "max_vms",
			"label": "VMs kept at most",
			"type": "integer",
			"minimum": 1,
			"maximum": 10,
			"values": {
				"default": 2
			}
		},
		{
			"key": "max_cpus",
			"label": "vCPUs at most",
			"type": "integer",
			"minimum": 1,
			"maximum": 16,
			"values": {
				"default": 4
			}
		},
		{
			"key": "max_mem",
			"label": "Memory at most (GiB)",
			"type": "integer",
			"minimum": 1,
			"maximum": 64,
			"values": {
				"default": 8
			}
		},
		{
			"key": "max_hold_minutes",
			"label": "Hold at most (minutes)",
			"type": "integer",
			"minimum": 1,
			"maximum": 1440,
			"values": {
				"default": 240
			}
		}
	],
	"instances": [
		{
			"name": "vm",
			"module": "vm-mcp",
			"pin": "602627e942a83a0286c28633575f22f82b098825407455f90b6537df0f3131f1",
			"input": {
				"bidders": {
					"$param": "bidders"
				},
				"via": "iroh",
				"pool": {
					"$param": "pool"
				},
				"max_vms": {
					"$param": "max_vms"
				},
				"max_cpus": {
					"$param": "max_cpus"
				},
				"max_mem": {
					"$param": "max_mem"
				},
				"max_hold_minutes": {
					"$param": "max_hold_minutes"
				}
			}
		},
		{
			"name": "machine",
			"module": "requester",
			"pin": "dab378f88fffcb9e5aad849fd0008bb433f54cab59cce0648e64f345804ec0ae",
			"session": "requester",
			"input": {
				"kind": "vm",
				"shell": true,
				"iroh": true,
				"ssh_key": {
					"$host": "sshPublicKey"
				},
				"reason": "vm-mcp"
			}
		},
		{
			"name": "user_data",
			"module": "user-data",
			"pin": "c605eb611ae1bcc61e287dd3c71a489b1622e6ff98930b244f40a31a9a73f435"
		},
		{
			"name": "iroh_user_data",
			"module": "iroh-user-data",
			"pin": "5759ca46da97109fcc554bc6febed9c4d0af4f9f3271a6689be08a26309ef2a5"
		},
		{
			"name": "vouch",
			"module": "policy-requester-tangled-vouch",
			"pin": "4ead1fb6855a5f84b6e5e1f61898424c0d25c6915376e7cea3978c6194f5ceb4"
		},
		{
			"name": "payload",
			"module": "policy-bid-payload",
			"pin": "00d51f8bd99705b2cc573733c6fe408ba201192f5e377f272485768cbad58d65"
		},
		{
			"name": "process",
			"module": "process-mcp",
			"pin": "dadc0da54d561aa16835a5657a77e14b440b20aca4f544c74839278245a1ad2c"
		}
	],
	"edges": [
		{
			"from": "vm",
			"nsid": "computer.socialweb.vm.provision",
			"to": "machine",
			"reason": "vm_create rents the VM and keeps it"
		},
		{
			"from": "vm",
			"nsid": "computer.socialweb.vm.release",
			"to": "machine",
			"reason": "vm_release gives it back"
		},
		{
			"from": "vm",
			"nsid": "computer.socialweb.cicd.process.exec",
			"to": "process",
			"reason": "vm_exec runs the command on the VM"
		},
		{
			"from": "machine",
			"nsid": "com.publicdomainrelay.temp.market.evaluatePolicy",
			"to": "vouch",
			"reason": "the requester or its operator vouched for the bidder"
		},
		{
			"from": "machine",
			"nsid": "com.publicdomainrelay.temp.market.evaluatePolicy",
			"to": "payload",
			"reason": "only free bids"
		},
		{
			"from": "machine",
			"nsid": "computer.socialweb.vm.userData",
			"to": "user_data",
			"reason": "the VM's cloud-init: the guest agent's shell, iroh in front of sshd"
		},
		{
			"from": "user_data",
			"nsid": "computer.socialweb.vm.irohUserData",
			"to": "iroh_user_data",
			"reason": "root ssh with the host's key, dumbpipe in front of sshd"
		}
	],
	"limits": {
		"depth": 4,
		"calls": 100000
	}
}