// requester: the socialweb.computer compute requester (publicdomainrelay atproto-market // requester-xrpc runComputeContract) as step protocol handlers. // Records go to the user's repo; calls to a peer carry a route: `service` (an https origin, or a // DID whose PDS the host resolves, with a service-auth token the host mints) or `proxy` // (did#service, the atproto-proxy header). // bind_key attest{} -> createRecord badgeBlueKeys (did:key bound at its deterministic rkey) // associate associateConfirm(proxy) -> createRecord badgeBlueKeys (peer) // offerings getRecord offering/self (each bidder's PDS) -> { did, endpoints } // request createRecord vm -> attest rfp -> createRecord rfp -> submitRfp per bidder endpoint // bids getRecord bid at its computed key (each bidder's PDS) -> bids on this rfp + winner // accept evaluatePolicy (full) -> attest accept -> createRecord accept -> submitAccept -> receipt // receipt getRecord receipt at its computed key (the winner's PDS) -> receipt for this accept // guest the receipt-derived reports and guest event streams (getRecord n = 0, 1, ...) -> iroh ticket, webrtc, host keys // release attest vm.delete -> createRecord -> attest event -> createRecord -> submitEvent // (contract's tail) -> vm.terminated -> cleanup of records, else receipt -> accept -> rfp -> vm // signal the same chain with a guest.signalWebRTC offer or guest.publicKey payload (webrtc) // shell webrtc.connect{receipt,tag,command?}, or guest's reads -> iroh.connect{ticket,hostKeys,command} // contract request -> bids -> accept -> receipt -> guest -> shell -> release -> cleanup // release: false keeps the VM; the result names its MCP servers (mcp) and records // watch the receipt-derived reports (and, with scan, guest events) until ready use abi::entries; mod badge; mod calls; mod cleanup; mod contract; mod guest; mod ids; mod input; mod market; mod nsid; mod release; entries!( bind_key => badge::bind_key, associate => badge::associate, offerings => market::offerings, request => market::request, bids => market::bids, receipt => guest::receipt, guest => guest::guest, accept => market::accept, release => release::release, signal => release::signal, shell => guest::shell, contract => contract::contract, watch => guest::watch, );