You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
computer, rpc, docs: forward env through the command execution path
Environment variables reached the JavaScript module backend through
process.env but were dropped on the command path: the runtime command
branch, the shell facade, the shell RPC contract, and the worker shell
backend all discarded env. Thread env end to end so a command backend
receives it too.
The runtime command branch now forwards env to the shell, WorkspaceShell
passes it on the exec envelope, the ShellRPC contract and its server
carry it to the runner, and the worker shell backend and entrypoint hand
it to just-bash. The container runner already merged a per-execution env
over its base environment; it now receives one from the wire.
Document env on the runtime interface as accepted everywhere: command
backends inherit it for the spawned command and the JavaScript backend
exposes it through process.env, applying to that execution only. Cover
the command path with tests at the entrypoint, worker shell backend,
workspace selection, and container runner layers.
`input` is accepted by structured module backends and rejected by command backends. `cwd` is the command working directory or the base for durable relative module imports. A handle is single-consumer: call `result()` or consume its event stream, not both. Repeated `result()` calls return the same promise. `backend` records the resolved backend needed for later reattachment.
47
+
`input` is accepted by callable backends and rejected by the rest; it carries a structured value that the callable backend returns a structured value for. `env` is accepted everywhere: command backends inherit it for the spawned command, and the JavaScript module backend exposes it through `process.env`. Its values apply to that execution only and do not change later executions. `stdin` is the caller-supplied standard input, accepted by backends that model it (the JavaScript module backend reads it through `process.stdin`). `cwd` is the command working directory or the base for durable relative module imports. A handle is single-consumer: call `result()` or consume its event stream, not both. Repeated `result()` calls return the same promise. `backend` records the resolved backend needed for later reattachment.
0 commit comments