The hand-written guides under docs/ use APIs that don't match the shipped SDK (src/), so copy-paste examples fail. Surfaced while porting these docs to the public site (NodeOps-app/website-04 PR #194); the website copies were corrected against src/ — the same fixes are needed upstream here.
- Unpublished package name (62 refs, e.g.
docs/quickstart.md): install/imports use createos-sandbox-sdk. The published name is @nodeops-createos/sandbox (package.json), so bun add createos-sandbox-sdk / the imports fail.
runCommand: docs/how-to/error-handling.md:49,224 runCommand("echo hello"), :123 runCommand("ls /"), docs/reference/client.md:185 runCommand(["bash","-c",...]). Signature is runCommand(cmd, args[]) and returns ExecResponse { result, exec_ms } — read out.result.stdout (src/sandbox.ts:265, src/types.ts:406).
client.sandboxes.*: docs/how-to/files.md:28,76, docs/reference/helpers.md:43. No sandboxes sub-API — use client.createSandbox(...) / client.getSandbox(...) (src/client.ts:593,640).
template / templateId: docs/how-to/streaming.md:30,81,122, docs/how-to/error-handling.md:47,121,222,251, docs/reference/errors.md:217. The create field is rootfs (src/types.ts:202).
- Types reference (
docs/reference/types.md): :169 replacement → successor; RootfsData omits required rootfs: string[] + default: string; :382 ssh_pubkeys → keys (AddSSHPubkeysRequest); :478 ExecRequest lists timeout_ms (+envs) it doesn't expose (real: cmd/args/stream); ExecResponse omits exec_ms; :820 ReadyzResponse.message → reason (+ scheduler_last_ok_ms_ago).
Root cause: docs/ is hand-maintained and drifts from src/. Consider generating the types reference from src/types.ts or adding a docs typecheck.
The hand-written guides under
docs/use APIs that don't match the shipped SDK (src/), so copy-paste examples fail. Surfaced while porting these docs to the public site (NodeOps-app/website-04 PR #194); the website copies were corrected againstsrc/— the same fixes are needed upstream here.docs/quickstart.md): install/imports usecreateos-sandbox-sdk. The published name is@nodeops-createos/sandbox(package.json), sobun add createos-sandbox-sdk/ the imports fail.runCommand:docs/how-to/error-handling.md:49,224runCommand("echo hello"),:123runCommand("ls /"),docs/reference/client.md:185runCommand(["bash","-c",...]). Signature isrunCommand(cmd, args[])and returnsExecResponse { result, exec_ms }— readout.result.stdout(src/sandbox.ts:265,src/types.ts:406).client.sandboxes.*:docs/how-to/files.md:28,76,docs/reference/helpers.md:43. Nosandboxessub-API — useclient.createSandbox(...)/client.getSandbox(...)(src/client.ts:593,640).template/templateId:docs/how-to/streaming.md:30,81,122,docs/how-to/error-handling.md:47,121,222,251,docs/reference/errors.md:217. The create field isrootfs(src/types.ts:202).docs/reference/types.md)::169replacement→successor;RootfsDataomits requiredrootfs: string[]+default: string;:382ssh_pubkeys→keys(AddSSHPubkeysRequest);:478ExecRequestliststimeout_ms(+envs) it doesn't expose (real:cmd/args/stream);ExecResponseomitsexec_ms;:820ReadyzResponse.message→reason(+scheduler_last_ok_ms_ago).Root cause:
docs/is hand-maintained and drifts fromsrc/. Consider generating the types reference fromsrc/types.tsor adding a docs typecheck.