~ 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
11 lines · 6.2 KB Raw History
/* @ts-self-types="./atlibs.modules.d.ts" */
// generated by atlibs compose bindings from module.json: do not edit
const lock = {};
export const agents = (lock["agents"] = {"key":"agents","session":"agents","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"}],"entries":["launch","status","shutdown"]});
export const atirc = (lock["atirc"] = {"key":"atirc","session":"atirc","calls":["chat.atirc.list","chat.atirc.post","com.fedfork.exec.iroh.connect"],"hooks":[{"nsid":"com.fedfork.exec.iroh.connect","required":true,"entries":["irc_post"],"reason":"irc_post posts over the server's iroh IRC endpoint"}],"entries":["read","post","irc_post"]});
export const requester = (lock["requester"] = {"key":"requester","session":"requester","calls":["com.atproto.repo.createRecord","com.atproto.repo.deleteRecord","com.atproto.repo.getRecord","com.fedfork.exec.attest","com.fedfork.exec.webrtc.connect","com.fedfork.exec.iroh.connect","com.publicdomainrelay.temp.requester.associateConfirm","com.publicdomainrelay.temp.market.submitRfp","com.publicdomainrelay.temp.market.submitAccept","com.publicdomainrelay.temp.market.submitEvent"],"hooks":[{"nsid":"com.publicdomainrelay.temp.market.evaluatePolicy","required":true,"combine":"all-allow","default":"policy-requester-tangled-vouch","reason":"kcp: each bid's bidder in scope mode, then the chosen winner in full mode with the rfp and bid refs, before the accept; every routed policy must allow"},{"nsid":"com.fedfork.exec.iroh.connect","reason":"shell and contract with via iroh (the default): the host's iroh transport; a host without it fails that call"},{"nsid":"com.fedfork.exec.webrtc.connect","reason":"shell and contract with via webrtc: a host with a webrtc transport (the pages); a host without it fails that call"},{"nsid":"computer.socialweb.vm.userData","default":"user-data","entries":["request","contract"],"reason":"request and contract without user_data: cloud-init from shell, webrtc_ssh, iroh and ssh_key (the user-data module)"}],"implements":[{"nsid":"computer.socialweb.vm.provision","entry":"contract"},{"nsid":"computer.socialweb.vm.release","entry":"release"},{"nsid":"com.fedfork.market.contract","entry":"contract"},{"nsid":"com.fedfork.market.release","entry":"release"},{"nsid":"com.fedfork.market.watch","entry":"watch"}],"config":[{"key":"bidders","label":"Bidder DIDs","type":"array","description":"The bidders to ask, by DID (at most 10)."},{"key":"kind","label":"Compute kind","description":"vm (a firecracker VM, the default) or deno."},{"key":"cpus","label":"vCPUs","type":"integer","description":"vCPUs a contract asks for."},{"key":"mem","label":"Memory (GiB)","type":"integer","description":"Memory a contract asks for, in GiB."},{"key":"ssh_key","label":"SSH public key","description":"Without user_data: root's OpenSSH public key."},{"key":"shell","label":"MCP shell","type":"boolean","description":"Without user_data: the guest agent's MCP shell."},{"key":"iroh","label":"ssh over iroh","type":"boolean","description":"Without user_data: dumbpipe in front of sshd."},{"key":"via","label":"iroh or webrtc","description":"The transport a contract waits for."},{"key":"release","label":"Release","type":"boolean","description":"false keeps the VM after a contract."},{"key":"poll_ms","label":"Poll interval (ms)","type":"integer","description":"Re-read interval while waiting."},{"key":"max_polls","label":"Poll budget","type":"integer","description":"Reads per wait before giving up."},{"key":"reason","label":"Release reason","description":"vm.delete reason."}],"entries":["contract","bind_key","associate","offerings","request","bids","accept","receipt","guest","watch","release","signal","shell"]});
export const policyOpen = (lock["policy-open"] = {"key":"policy-open","calls":[],"implements":[{"nsid":"com.publicdomainrelay.temp.market.evaluatePolicy","entry":"evaluate"}],"config":[{"key":"args","label":"Arguments","type":"object","description":"The policy's args, as an RFP's policy record names them."}],"entries":["evaluate"]});
export const userData = (lock["user-data"] = {"key":"user-data","calls":[],"hooks":[{"nsid":"computer.socialweb.vm.irohUserData","default":"iroh-user-data","reason":"webrtc_ssh and iroh: root ssh with ssh_key, and dumbpipe in front of sshd (atlibs-iroh)"}],"implements":[{"nsid":"computer.socialweb.vm.userData","entry":"user_data"}],"entries":["user_data"]});
export const irohUserData = (lock["iroh-user-data"] = {"key":"iroh-user-data","calls":[],"implements":[{"nsid":"computer.socialweb.vm.irohUserData","entry":"iroh_user_data"}],"entries":["iroh_user_data"]});
export const ingress = (lock["ingress"] = {"key":"ingress","calls":["com.fedfork.exec.didkey.getServiceAuth","com.fedfork.exec.didkey.sign","com.fedproxy.temp.xrpc.getRegistrationNonce","com.fedproxy.temp.xrpc.subscribe","com.atproto.repo.describeRepo","com.fedfork.exec.ingress.request"],"anyHooks":true,"config":[{"key":"routes","label":"XRPC methods to route","type":"array","description":"NSIDs whose /xrpc/<nsid> requests become calls to that NSID (a composition edge serves each)"},{"key":"deadlineMs","label":"Deadline (ms)","type":"integer","description":"How long a routed or forwarded call may take before the request answers 504 (default 8000)"},{"key":"maxRequests","label":"Requests to serve","type":"integer"},{"key":"lifetimeMs","label":"Lifetime (ms)","type":"integer"},{"key":"forward","label":"Forward every request to the host","type":"boolean"},{"key":"aliases","label":"Custom host names","type":"array","description":"Each needs a _xrpc.<host> TXT naming this did:key"},{"key":"relay","label":"Relay","type":"string","description":"default https://xrpc.fedproxy.com"}],"entries":["serve"]});
for (const m of Object.values(lock)) Object.defineProperty(m, "lock", { value: lock });