mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-08-29 04:26:38 +00:00
The array-based FrameFields<T> only checked that listed names were members of the frame's keys, so a field added to a TS interface (e.g. LogMessage.seq?) left the existing arrays a valid subset — typecheck passed, and since the constant and Python both lacked the field the mirror test passed too. The JSDoc's claim that runtime covered this was false. Replace it with WIRE_FRAME_FIELD_ROLES, a per-frame map keyed by field name (`Record<RequiredKeys<T>, 'required'> & Record<OptionalKeys<T>, 'optional'>`), so every interface key MUST appear with a matching required/optional tag: an added field, a removed field, a rename, or an optionality flip all fail typecheck at the roles map (verified). WIRE_FRAME_FIELDS is projected from it as the sorted arrays the mirror test still compares to the Python TypedDicts. Also drop the `export` added to the promoted frame interfaces (Namespace, ErrorClass, RunMessage, DoneErrorField, ReplyOk, ReplyErr) — nothing outside protocol.ts imports them, so the barrel surface is unchanged and knip stays clean.
code-runtime/ — code-execution capability family
English | 中文
The code-execution capability seam (see capability seams): an abstract runtime interface for executing one model-written program against host-provided async bindings, capturing what it printed and returned. The consumer is the tool registry's Code Mode (tools: { mode: code } — the run_code tool and the SDK generated in the loaded runtime's language); design in the Code Mode Agent Note. Product packages.
| Package | Role | ctx key |
|---|---|---|
code-runtime/ |
Code-execution seam and shared vocabulary | ctx.codeRuntime |
code-runtime-worker/ |
Worker-thread backend | registers ctx.codeRuntime |
Backends register the seam without changing its consumer. The child READMEs own language, isolation, and execution-budget details.