johnandersen777.bsky.social/atlibs-socialweb-computer-requester
socialweb.computer market requester and policy modules for atlibs, with its web pages and lexicons
0
0
{
"$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
}
}