vhaudiquet 09019b484d
ci / checks (push) Successful in 1m12s
ci / test (push) Successful in 41s
ci / wasm (push) Successful in 34s
fix(cloudflare-code): the host build carries the sandbox-http native transport
The published rhema-sandbox-http gates its reqwest code on the wasm
target alone, so a featureless build compiles only on wasm — and the
DO declares the crate featureless, because workerd has no sockets.
On the host, where the neutral half compiles and tests, the feature
is not optional: without it the crate cannot resolve `reqwest` and
the workspace does not build. This workspace only ever saw the
feature on, masked by member unification under --all-features; the
extraction to registry deps removed the mask.

The declaration splits by target: featureless on wasm (the fetch
transport covers the protocol there), native on host. The crate's
own cfg keeps the reqwest code native-only either way; the feature
brings the dependency. The upstream gate repair — gating the code on
the feature, not just the target — rides the rhema side.
2026-11-13 12:51:46 +01:00

rhema-cloudflare-code

The coding agent as a Cloudflare Durable Object, and the sandbox daemon that serves its bash: one repository, two deployables.

  • crates/rhema-cloudflare-code — the Durable Object frontend: WebSocket chat, DO-storage checkpoints, bash in a Cloudflare Sandbox container or on any host speaking the sandbox wire protocol (SANDBOX_BACKEND=http). A deployment artifact, not a library — the worker feature only compiles on wasm32.
  • crates/rhema-sandbox-server — rhema-sandboxd, the sandbox wire protocol served from any host: one root directory per session, the token checked on every route. The image: deploy/docker/.
  • deploy/cloudflare/ — the wrangler config, the entry router, and the JS sandbox shim. The deploy walkthrough lives beside them: deploy/cloudflare/README.md.
  • specs/ — the DO's design record (specs/rhema-cloudflare-code.md).

The harness the DO assembles (rhema-cloud-agent), the sandbox seam and its protocol (rhema-sandbox, -local, -http), and the engine under it all come from crates.io at the pinned versions — they live in the rhema repository, which keeps their tests and their design record.

Running it

The DO: deploy/cloudflare/README.md walks through the build, the wrangler deploy, the two secrets, and driving a session. The daemon: deploy/docker/README.md builds and runs the image.

S
Description
No description provided
Readme
101 KiB
0 Stars 1 Watchers 0 Forks
Languages
Rust 88.3%
JavaScript 7.6%
Dockerfile 4.1%