{"name":"Membrane Default External Agent","description":"Single Cloudflare Worker for Membrane default external-agent task executions. It verifies signed webhooks, enqueues task execution events, consumes those queued events, runs each task in a Durable Object named by taskExecution.id, and provides Cloudflare Sandbox-backed tools to the runtime.","endpoints":{"GET /":"Show this help response.","POST /":"Receive signed external-agent webhook events and enqueue task execution work.","GET /sandbox/self-test":"Local-dev only: warm and self-test the sandbox-backed runtime tools."},"webhook":{"url":"https://dea.integration.dev/","signatureHeader":"X-Signature","signature":"hex HMAC-SHA256 of the raw JSON body using EXTERNAL_AGENT_DISPATCHER_SIGNING_SECRET","supportedEvents":["external_agent.health_check","task_execution.created"]},"queue":{"binding":"TASK_EXECUTION_QUEUE","role":"The fetch handler produces task execution messages; the queue handler consumes them asynchronously and starts the Durable Object runtime."},"durableObject":{"binding":"TASK_EXECUTION_RUNTIME","className":"TaskExecutionRuntime","name":"taskExecution.id","state":["payload","accessToken","apiBaseUrl","status","activities","agentMessages"]},"sandbox":{"binding":"SANDBOX","className":"Sandbox","name":"taskExecution.id","tools":["bash","read","write","edit","webfetch"]},"model":{"provider":"membrane-ai-gateway","api":"openai-completions","overrideEnv":"EXTERNAL_AGENT_RUNTIME_MODEL_ID"},"localDevelopment":{"command":"bun run dev:default-external-agent","sandboxCheckCommand":"bun run dev:external-agent-sandbox","env":["EXTERNAL_AGENT_DISPATCHER_PORT","EXTERNAL_AGENT_DISPATCHER_SIGNING_SECRET","EXTERNAL_AGENT_RUNTIME_MODEL_ID"],"note":"When launched through root `bun dev`, dev-auto sets the local webhook URL and shared signing secret for the engine API seeder. The dev script warms the sandbox once after Wrangler is ready."},"examples":{"webhookUrl":"https://dea.integration.dev/","sandboxSelfTestUrl":"https://dea.integration.dev/sandbox/self-test?url=https://example.com"}}