Not ambient
No direct fetch, filesystem, process, module, Bun, Deno, WebSocket, or raw secret access. Upstream work can happen only through Controller's bridged invoker.
Run agent-authored TypeScript inside a fresh QuickJS context, then bridge approved tool calls back through Controller.
const { items } = await tools.search({
query: "open issues for customer"
})
const issues = await tools[items[0].path]({
customer_id: "cus_123"
})
emit({ type: "progress", count: issues.length })
return issuesTop-level await and return let an agent compose discovery and several upstream calls inside one bounded run.
tools search, describe, and invocationemit outputNo direct fetch, filesystem, process, module, Bun, Deno, WebSocket, or raw secret access. Upstream work can happen only through Controller's bridged invoker.
Default timeout
5 seconds
Hard cap: 60 seconds
Default memory
32 MiB
Hard cap: 128 MiB
When execution ends or times out, Controller aborts in-flight bridged calls instead of leaving upstream operations behind.
Before the pause
The program may already have searched, described, and invoked other tools before a later call requires approval.
After approval
Controller restores the checkpoint and continues from the pending call. Work completed before the pause remains completed.