The shipped backend of the code-execution seam, per the Code Mode RFC's
worker-thread section: one fresh Node worker per run, executing the
model's TypeScript after a host-side type-strip (wrapped in an
async-function shell so top-level return/await parse, sliced back out
position-preserved), bindings bridged over the message port under
hostile-peer rules (own-property name lookup, at-most-once replies,
post-settlement drops, null-prototype namespaces), logs streamed eagerly
with an in-band truncation marker, and two independent budgets — measured
event-loop busy time (computeMs) plus a never-pausing wall ceiling
(maxWallMs) — funneling into worker.terminate(). env: {} and execArgv: []
keep the isolate hermetic; disposal aborts in-flight runs and awaits
worker exits.
The worker entry loads unbuilt via Node's native type stripping
(src/worker.ts, erasable-only) and ships built as a sibling tsdown bundle
(lib/worker.js); tests/built-lib.e2e.ts pins the built load path under
plain node and joins the built-artifact smoke gate. Unit suites cover the
bootstrap in-process (fake port) and the runtime over real workers,
per-file 100%.
74 lines
2.5 KiB
JSON
74 lines
2.5 KiB
JSON
{
|
|
"$schema": "https://unpkg.com/knip@5/schema.json",
|
|
"exclude": ["duplicates"],
|
|
"ignoreWorkspaces": ["vendor/*"],
|
|
"workspaces": {
|
|
".": {
|
|
"entry": [
|
|
"examples/echo-agent/src/*.ts",
|
|
"examples/echo-agent/tests/**/*.e2e.ts",
|
|
"examples/coding-agent/tests/**/*.e2e.ts",
|
|
"examples/acp-agent/tests/**/*.e2e.ts",
|
|
"examples/acp-agent/tests/**/*.snapshot.ts"
|
|
],
|
|
"project": ["scripts/**/*.ts", "examples/**/*.ts"]
|
|
},
|
|
"packages/*/*": {
|
|
"entry": ["tests/**/*.spec.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/util/brand": {
|
|
"project": ["src/**/*.ts"],
|
|
"ignoreDependencies": ["cordis"]
|
|
},
|
|
"packages/core/agent-loop": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/code-runtime/code-runtime-worker": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/llm/llm-deepseek": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/llm/llm-pi-ai": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/web/web-search-exa": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/web/web-search-perplexity": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/web/web-search-deepseek": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/ui/acp-agent": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/ui/stdio-agent": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/subagent/subagent-spawn": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/subagent/subagent-acp": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts", "tests/mock-acp-server.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
},
|
|
"packages/fs/tool-fs": {
|
|
"entry": ["tests/**/*.spec.ts", "tests/**/*.e2e.ts"],
|
|
"project": ["src/**/*.ts", "tests/**/*.ts"]
|
|
}
|
|
}
|
|
}
|