@namzu/sdk 36.0.0 → 37.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +180 -0
- package/README.md +68 -41
- package/dist/bridge/a2a/mapper.d.ts.map +1 -1
- package/dist/bridge/a2a/mapper.js +2 -0
- package/dist/bridge/a2a/mapper.js.map +1 -1
- package/dist/bridge/sse/mapper.d.ts.map +1 -1
- package/dist/bridge/sse/mapper.js +2 -0
- package/dist/bridge/sse/mapper.js.map +1 -1
- package/dist/compaction/extractor.d.ts +1 -1
- package/dist/compaction/extractor.d.ts.map +1 -1
- package/dist/compaction/extractor.js +15 -7
- package/dist/compaction/extractor.js.map +1 -1
- package/dist/compaction/manager.d.ts +2 -0
- package/dist/compaction/manager.d.ts.map +1 -1
- package/dist/compaction/manager.js +12 -1
- package/dist/compaction/manager.js.map +1 -1
- package/dist/compaction/verifier.d.ts.map +1 -1
- package/dist/compaction/verifier.js +82 -15
- package/dist/compaction/verifier.js.map +1 -1
- package/dist/contracts/schemas.d.ts +10 -10
- package/dist/eval/harness-verification.d.ts +63 -0
- package/dist/eval/harness-verification.d.ts.map +1 -0
- package/dist/eval/harness-verification.js +165 -0
- package/dist/eval/harness-verification.js.map +1 -0
- package/dist/eval/index.d.ts +2 -0
- package/dist/eval/index.d.ts.map +1 -1
- package/dist/eval/index.js +1 -0
- package/dist/eval/index.js.map +1 -1
- package/dist/execution/code-runtime/json-value.d.ts +10 -0
- package/dist/execution/code-runtime/json-value.d.ts.map +1 -0
- package/dist/execution/code-runtime/json-value.js +89 -0
- package/dist/execution/code-runtime/json-value.js.map +1 -0
- package/dist/execution/code-runtime/worker-program.d.ts +8 -0
- package/dist/execution/code-runtime/worker-program.d.ts.map +1 -0
- package/dist/execution/code-runtime/worker-program.js +240 -0
- package/dist/execution/code-runtime/worker-program.js.map +1 -0
- package/dist/execution/code-runtime/worker.d.ts +22 -0
- package/dist/execution/code-runtime/worker.d.ts.map +1 -1
- package/dist/execution/code-runtime/worker.js +148 -111
- package/dist/execution/code-runtime/worker.js.map +1 -1
- package/dist/manager/agent/lifecycle.d.ts +12 -0
- package/dist/manager/agent/lifecycle.d.ts.map +1 -1
- package/dist/manager/agent/lifecycle.js +306 -37
- package/dist/manager/agent/lifecycle.js.map +1 -1
- package/dist/manager/run/persistence.d.ts +2 -0
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +6 -0
- package/dist/manager/run/persistence.js.map +1 -1
- package/dist/provider/capabilities.d.ts +3 -1
- package/dist/provider/capabilities.d.ts.map +1 -1
- package/dist/provider/capabilities.js +13 -0
- package/dist/provider/capabilities.js.map +1 -1
- package/dist/provider/fallback.d.ts.map +1 -1
- package/dist/provider/fallback.js +2 -0
- package/dist/provider/fallback.js.map +1 -1
- package/dist/public-runtime.d.ts +3 -1
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +2 -1
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +1 -1
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +1 -1
- package/dist/public-tools.js.map +1 -1
- package/dist/public-types.d.ts +1 -0
- package/dist/public-types.d.ts.map +1 -1
- package/dist/registry/tool/execute.d.ts +3 -0
- package/dist/registry/tool/execute.d.ts.map +1 -1
- package/dist/registry/tool/execute.js +11 -80
- package/dist/registry/tool/execute.js.map +1 -1
- package/dist/run/command-gate.d.ts.map +1 -1
- package/dist/run/command-gate.js +65 -12
- package/dist/run/command-gate.js.map +1 -1
- package/dist/run/index.d.ts +2 -0
- package/dist/run/index.d.ts.map +1 -1
- package/dist/run/index.js +1 -0
- package/dist/run/index.js.map +1 -1
- package/dist/run/memory-promoter.d.ts +3 -35
- package/dist/run/memory-promoter.d.ts.map +1 -1
- package/dist/run/memory-promoter.js +32 -40
- package/dist/run/memory-promoter.js.map +1 -1
- package/dist/run/memory-recall.d.ts +25 -0
- package/dist/run/memory-recall.d.ts.map +1 -0
- package/dist/run/memory-recall.js +228 -0
- package/dist/run/memory-recall.js.map +1 -0
- package/dist/run/reporter.d.ts.map +1 -1
- package/dist/run/reporter.js +1 -0
- package/dist/run/reporter.js.map +1 -1
- package/dist/run/token-budget.d.ts +2 -0
- package/dist/run/token-budget.d.ts.map +1 -1
- package/dist/run/token-budget.js +4 -0
- package/dist/run/token-budget.js.map +1 -1
- package/dist/run/workspace-fingerprint.d.ts +10 -3
- package/dist/run/workspace-fingerprint.d.ts.map +1 -1
- package/dist/run/workspace-fingerprint.js +17 -8
- package/dist/run/workspace-fingerprint.js.map +1 -1
- package/dist/runtime/query/checkpoint.d.ts +14 -0
- package/dist/runtime/query/checkpoint.d.ts.map +1 -1
- package/dist/runtime/query/checkpoint.js +82 -1
- package/dist/runtime/query/checkpoint.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +5 -0
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +70 -14
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/index.d.ts +5 -8
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +54 -7
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts +10 -0
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +325 -36
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/native-output.d.ts +10 -0
- package/dist/runtime/query/iteration/native-output.d.ts.map +1 -0
- package/dist/runtime/query/iteration/native-output.js +32 -0
- package/dist/runtime/query/iteration/native-output.js.map +1 -0
- package/dist/runtime/query/iteration/phases/advisory.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/advisory.js +18 -13
- package/dist/runtime/query/iteration/phases/advisory.js.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.d.ts +2 -0
- package/dist/runtime/query/iteration/phases/compaction.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/compaction.js +32 -11
- package/dist/runtime/query/iteration/phases/compaction.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +9 -0
- package/dist/runtime/query/iteration/phases/context.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/context.js.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js +1 -1
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/iteration/phases/working-memory.d.ts +1 -1
- package/dist/runtime/query/iteration/phases/working-memory.d.ts.map +1 -1
- package/dist/runtime/query/iteration/phases/working-memory.js +23 -6
- package/dist/runtime/query/iteration/phases/working-memory.js.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.d.ts.map +1 -1
- package/dist/runtime/query/iteration/stream-turn.js +2 -0
- package/dist/runtime/query/iteration/stream-turn.js.map +1 -1
- package/dist/runtime/query/steering.d.ts +6 -2
- package/dist/runtime/query/steering.d.ts.map +1 -1
- package/dist/runtime/query/steering.js +17 -2
- package/dist/runtime/query/steering.js.map +1 -1
- package/dist/runtime/query/tool-call-budget.d.ts +19 -0
- package/dist/runtime/query/tool-call-budget.d.ts.map +1 -0
- package/dist/runtime/query/tool-call-budget.js +110 -0
- package/dist/runtime/query/tool-call-budget.js.map +1 -0
- package/dist/runtime/query/tooling.d.ts +2 -0
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +4 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/scheduler/local.d.ts.map +1 -1
- package/dist/scheduler/local.js +1 -0
- package/dist/scheduler/local.js.map +1 -1
- package/dist/session/handoff/capacity.d.ts +2 -2
- package/dist/session/handoff/capacity.d.ts.map +1 -1
- package/dist/session/handoff/capacity.js +3 -2
- package/dist/session/handoff/capacity.js.map +1 -1
- package/dist/store/memory/disk.d.ts +6 -2
- package/dist/store/memory/disk.d.ts.map +1 -1
- package/dist/store/memory/disk.js +42 -25
- package/dist/store/memory/disk.js.map +1 -1
- package/dist/store/memory/index.d.ts +4 -0
- package/dist/store/memory/index.d.ts.map +1 -1
- package/dist/store/memory/index.js +55 -19
- package/dist/store/memory/index.js.map +1 -1
- package/dist/store/memory/memory.d.ts +3 -2
- package/dist/store/memory/memory.d.ts.map +1 -1
- package/dist/store/memory/memory.js +11 -2
- package/dist/store/memory/memory.js.map +1 -1
- package/dist/store/memory/operation-lock.d.ts +11 -0
- package/dist/store/memory/operation-lock.d.ts.map +1 -0
- package/dist/store/memory/operation-lock.js +94 -0
- package/dist/store/memory/operation-lock.js.map +1 -0
- package/dist/tools/builtins/computer-use.d.ts.map +1 -1
- package/dist/tools/builtins/computer-use.js +60 -10
- package/dist/tools/builtins/computer-use.js.map +1 -1
- package/dist/tools/builtins/run-code.d.ts +6 -0
- package/dist/tools/builtins/run-code.d.ts.map +1 -1
- package/dist/tools/builtins/run-code.js +15 -4
- package/dist/tools/builtins/run-code.js.map +1 -1
- package/dist/tools/builtins/search-tools.d.ts.map +1 -1
- package/dist/tools/builtins/search-tools.js +14 -2
- package/dist/tools/builtins/search-tools.js.map +1 -1
- package/dist/tools/defineTool.d.ts +2 -0
- package/dist/tools/defineTool.d.ts.map +1 -1
- package/dist/tools/defineTool.js +3 -0
- package/dist/tools/defineTool.js.map +1 -1
- package/dist/tools/memory/delete.d.ts +4 -0
- package/dist/tools/memory/delete.d.ts.map +1 -0
- package/dist/tools/memory/delete.js +26 -0
- package/dist/tools/memory/delete.js.map +1 -0
- package/dist/tools/memory/index.d.ts +2 -0
- package/dist/tools/memory/index.d.ts.map +1 -1
- package/dist/tools/memory/index.js +6 -0
- package/dist/tools/memory/index.js.map +1 -1
- package/dist/tools/memory/save.d.ts.map +1 -1
- package/dist/tools/memory/save.js +3 -2
- package/dist/tools/memory/save.js.map +1 -1
- package/dist/tools/memory/search.d.ts.map +1 -1
- package/dist/tools/memory/search.js +12 -5
- package/dist/tools/memory/search.js.map +1 -1
- package/dist/tools/memory/update.d.ts +4 -0
- package/dist/tools/memory/update.d.ts.map +1 -0
- package/dist/tools/memory/update.js +47 -0
- package/dist/tools/memory/update.js.map +1 -0
- package/dist/types/agent/scheduler.d.ts +5 -0
- package/dist/types/agent/scheduler.d.ts.map +1 -1
- package/dist/types/agent/task.d.ts +10 -0
- package/dist/types/agent/task.d.ts.map +1 -1
- package/dist/types/computer-use/index.d.ts +6 -0
- package/dist/types/computer-use/index.d.ts.map +1 -1
- package/dist/types/computer-use/index.js.map +1 -1
- package/dist/types/errors/catalog.js +1 -1
- package/dist/types/errors/catalog.js.map +1 -1
- package/dist/types/hitl/index.d.ts +11 -1
- package/dist/types/hitl/index.d.ts.map +1 -1
- package/dist/types/hitl/index.js.map +1 -1
- package/dist/types/memory/index.d.ts +14 -1
- package/dist/types/memory/index.d.ts.map +1 -1
- package/dist/types/project/entity.d.ts +1 -0
- package/dist/types/project/entity.d.ts.map +1 -1
- package/dist/types/provider/config.d.ts +2 -0
- package/dist/types/provider/config.d.ts.map +1 -1
- package/dist/types/provider/model.d.ts +4 -0
- package/dist/types/provider/model.d.ts.map +1 -1
- package/dist/types/run/answer-review.d.ts +2 -0
- package/dist/types/run/answer-review.d.ts.map +1 -1
- package/dist/types/run/events.d.ts +9 -0
- package/dist/types/run/events.d.ts.map +1 -1
- package/dist/types/run/events.js.map +1 -1
- package/dist/types/run/prepare-step.d.ts +19 -1
- package/dist/types/run/prepare-step.d.ts.map +1 -1
- package/dist/types/structured-output/index.d.ts +8 -2
- package/dist/types/structured-output/index.d.ts.map +1 -1
- package/dist/types/tool/index.d.ts +15 -0
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/utils/json-snapshot.d.ts +3 -0
- package/dist/utils/json-snapshot.d.ts.map +1 -0
- package/dist/utils/json-snapshot.js +79 -0
- package/dist/utils/json-snapshot.js.map +1 -0
- package/package.json +4 -2
- package/src/bridge/a2a/mapper.ts +2 -0
- package/src/bridge/sse/mapper.ts +2 -0
- package/src/compaction/extractor.ts +21 -8
- package/src/compaction/manager.ts +11 -1
- package/src/compaction/verifier.ts +80 -18
- package/src/eval/harness-verification.ts +270 -0
- package/src/eval/index.ts +10 -0
- package/src/execution/code-runtime/json-value.ts +82 -0
- package/src/execution/code-runtime/worker-program.ts +239 -0
- package/src/execution/code-runtime/worker.ts +164 -111
- package/src/manager/agent/lifecycle.ts +340 -45
- package/src/manager/run/persistence.ts +7 -0
- package/src/provider/capabilities.ts +25 -1
- package/src/provider/fallback.ts +2 -0
- package/src/public-runtime.ts +4 -0
- package/src/public-tools.ts +5 -1
- package/src/public-types.ts +1 -0
- package/src/registry/tool/execute.ts +17 -79
- package/src/run/command-gate.ts +61 -13
- package/src/run/index.ts +2 -0
- package/src/run/memory-promoter.ts +32 -40
- package/src/run/memory-recall.ts +254 -0
- package/src/run/reporter.ts +1 -0
- package/src/run/token-budget.ts +4 -0
- package/src/run/workspace-fingerprint.ts +17 -8
- package/src/runtime/query/checkpoint.ts +96 -2
- package/src/runtime/query/executor.ts +77 -14
- package/src/runtime/query/index.ts +73 -16
- package/src/runtime/query/iteration/index.ts +377 -44
- package/src/runtime/query/iteration/native-output.ts +35 -0
- package/src/runtime/query/iteration/phases/advisory.ts +21 -11
- package/src/runtime/query/iteration/phases/compaction.ts +36 -14
- package/src/runtime/query/iteration/phases/context.ts +9 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +5 -1
- package/src/runtime/query/iteration/phases/working-memory.ts +23 -5
- package/src/runtime/query/iteration/stream-turn.ts +2 -0
- package/src/runtime/query/steering.ts +19 -2
- package/src/runtime/query/tool-call-budget.ts +115 -0
- package/src/runtime/query/tooling.ts +6 -0
- package/src/scheduler/local.ts +1 -0
- package/src/session/handoff/capacity.ts +7 -3
- package/src/store/memory/disk.ts +52 -30
- package/src/store/memory/index.ts +75 -27
- package/src/store/memory/memory.ts +18 -6
- package/src/store/memory/operation-lock.ts +99 -0
- package/src/tools/builtins/computer-use.ts +61 -7
- package/src/tools/builtins/run-code.ts +24 -5
- package/src/tools/builtins/search-tools.ts +18 -3
- package/src/tools/defineTool.ts +5 -0
- package/src/tools/memory/delete.ts +29 -0
- package/src/tools/memory/index.ts +6 -0
- package/src/tools/memory/save.ts +4 -2
- package/src/tools/memory/search.ts +12 -5
- package/src/tools/memory/update.ts +50 -0
- package/src/types/agent/scheduler.ts +6 -0
- package/src/types/agent/task.ts +13 -0
- package/src/types/computer-use/index.ts +6 -0
- package/src/types/errors/catalog.ts +1 -1
- package/src/types/hitl/index.ts +11 -1
- package/src/types/memory/index.ts +16 -1
- package/src/types/project/entity.ts +1 -0
- package/src/types/provider/config.ts +2 -0
- package/src/types/provider/model.ts +4 -0
- package/src/types/run/answer-review.ts +2 -0
- package/src/types/run/events.ts +10 -0
- package/src/types/run/prepare-step.ts +19 -1
- package/src/types/structured-output/index.ts +15 -2
- package/src/types/tool/index.ts +16 -0
- package/src/utils/json-snapshot.ts +76 -0
|
@@ -1,99 +1,59 @@
|
|
|
1
|
+
import { createRequire } from 'node:module';
|
|
1
2
|
import { Worker } from 'node:worker_threads';
|
|
3
|
+
import { encodeCodeValue } from './json-value.js';
|
|
2
4
|
import { HostCallDeniedError, } from './types.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
* on any leaked object is the whole escape, and it fits in a tweet. A
|
|
10
|
-
* worker is a separate V8 isolate with its own heap; escaping it means
|
|
11
|
-
* escaping V8.
|
|
12
|
-
*
|
|
13
|
-
* Chosen over a subprocess because a subprocess is a process: it inherits
|
|
14
|
-
* an environment, it can be a fork bomb, and killing it is the process-tree
|
|
15
|
-
* problem `process/kill-tree.ts` exists for. A worker is cheaper to start,
|
|
16
|
-
* cheaper to kill, and cannot outlive the process that made it.
|
|
17
|
-
*
|
|
18
|
-
* What a worker does NOT give, stated because it is the reason this is not
|
|
19
|
-
* the whole answer: a worker shares the process's filesystem and network
|
|
20
|
-
* access. It is not confined by anything the OS enforces. What confines the
|
|
21
|
-
* program here is that it is handed a scope with nothing in it — no
|
|
22
|
-
* `require`, no `process`, no `fetch` — and a single channel back to the
|
|
23
|
-
* host. That is a language-level boundary, and a language-level boundary is
|
|
24
|
-
* exactly as strong as the enumeration of what was withheld. So a host that
|
|
25
|
-
* needs an OS boundary runs this inside a sandbox that has one, and this
|
|
26
|
-
* comment is here so nobody concludes the worker was the boundary.
|
|
27
|
-
*/
|
|
28
|
-
/**
|
|
29
|
-
* The worker's own body, as source.
|
|
30
|
-
*
|
|
31
|
-
* Inlined rather than a separate file because a separate file has to be
|
|
32
|
-
* findable at runtime, and this package is consumed as `dist/` by hosts
|
|
33
|
-
* whose bundlers rewrite paths. A string has no path.
|
|
34
|
-
*/
|
|
35
|
-
const WORKER_SOURCE = `
|
|
36
|
-
const { parentPort, workerData } = require('node:worker_threads')
|
|
37
|
-
|
|
38
|
-
// Every host call is a request/response over the port, keyed by an id so
|
|
39
|
-
// several can be in flight — a program that awaits two calls at once is
|
|
40
|
-
// ordinary, and a channel that could only carry one would silently
|
|
41
|
-
// serialise them.
|
|
42
|
-
const pending = new Map()
|
|
43
|
-
let nextId = 0
|
|
44
|
-
|
|
45
|
-
function hostCall(name, input) {
|
|
46
|
-
const id = ++nextId
|
|
47
|
-
return new Promise((resolve, reject) => {
|
|
48
|
-
pending.set(id, { resolve, reject })
|
|
49
|
-
parentPort.postMessage({ kind: 'call', id, name, input })
|
|
50
|
-
})
|
|
5
|
+
import { QUICKJS_WORKER_SOURCE } from './worker-program.js';
|
|
6
|
+
const requireFromSdk = createRequire(import.meta.url);
|
|
7
|
+
function validateInteger(name, value, minimum, maximum) {
|
|
8
|
+
if (!Number.isSafeInteger(value) || value < minimum || value > maximum) {
|
|
9
|
+
throw new RangeError(`${name} must be an integer between ${minimum} and ${maximum}.`);
|
|
10
|
+
}
|
|
51
11
|
}
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
12
|
+
function resolveLimits(options) {
|
|
13
|
+
const limits = {
|
|
14
|
+
memoryLimitBytes: options.memoryLimitBytes ?? 64 * 1024 * 1024,
|
|
15
|
+
maxSourceBytes: options.maxSourceBytes ?? 256 * 1024,
|
|
16
|
+
maxValueBytes: options.maxValueBytes ?? 1024 * 1024,
|
|
17
|
+
maxHostCalls: options.maxHostCalls ?? 100,
|
|
18
|
+
maxPendingHostCalls: options.maxPendingHostCalls ?? options.maxHostCalls ?? 100,
|
|
19
|
+
};
|
|
20
|
+
validateInteger('memoryLimitBytes', limits.memoryLimitBytes, 16 * 1024 * 1024, 256 * 1024 * 1024);
|
|
21
|
+
validateInteger('maxSourceBytes', limits.maxSourceBytes, 1, 4 * 1024 * 1024);
|
|
22
|
+
validateInteger('maxValueBytes', limits.maxValueBytes, 1, 16 * 1024 * 1024);
|
|
23
|
+
validateInteger('maxHostCalls', limits.maxHostCalls, 1, 10_000);
|
|
24
|
+
validateInteger('maxPendingHostCalls', limits.maxPendingHostCalls, 1, limits.maxHostCalls);
|
|
25
|
+
return limits;
|
|
62
26
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
else entry.reject(new Error(message.error))
|
|
71
|
-
})
|
|
72
|
-
|
|
73
|
-
async function main() {
|
|
74
|
-
// The scope the program runs in, and everything it has. Built with
|
|
75
|
-
// \`new Function\` over an explicit parameter list rather than with
|
|
76
|
-
// \`with\` or a Proxy: the parameters SHADOW the outer names, so a
|
|
77
|
-
// program writing \`require\` gets the parameter, and the parameter is
|
|
78
|
-
// undefined.
|
|
79
|
-
const names = ['call', 'print', 'require', 'process', 'module', 'exports', 'globalThis', 'fetch']
|
|
80
|
-
const values = [hostCall, print, undefined, undefined, undefined, undefined, undefined, undefined]
|
|
81
|
-
const body = new Function(...names, '"use strict";return (async () => {' + workerData.source + '\\n})()')
|
|
82
|
-
return await body(...values)
|
|
27
|
+
function decodeValue(json, maxBytes) {
|
|
28
|
+
if (json === undefined)
|
|
29
|
+
return undefined;
|
|
30
|
+
if (typeof json !== 'string' || Buffer.byteLength(json) > maxBytes) {
|
|
31
|
+
throw new Error('Code runtime value exceeds the serialized value limit.');
|
|
32
|
+
}
|
|
33
|
+
return JSON.parse(json);
|
|
83
34
|
}
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
35
|
+
/**
|
|
36
|
+
* Runs untrusted JavaScript in a QuickJS interpreter inside a worker thread.
|
|
37
|
+
* QuickJS owns the guest globals, functions, and promises. Node capabilities
|
|
38
|
+
* never enter that realm; constructors and dynamic imports cannot recover them.
|
|
39
|
+
* A fresh interpreter and bounded imported WASM memory are created per run.
|
|
40
|
+
* The worker makes wall-clock cancellation independent of interpreter progress.
|
|
41
|
+
*/
|
|
90
42
|
export class WorkerCodeRuntime {
|
|
91
43
|
id = 'worker_threads';
|
|
44
|
+
limits;
|
|
45
|
+
constructor(options = {}) {
|
|
46
|
+
this.limits = resolveLimits(options);
|
|
47
|
+
}
|
|
92
48
|
async run(options) {
|
|
49
|
+
validateInteger('timeoutMs', options.timeoutMs, 1, 2_147_483_647);
|
|
50
|
+
validateInteger('maxOutputBytes', options.maxOutputBytes, 0, 16 * 1024 * 1024);
|
|
93
51
|
const allowed = new Set(options.allowedCalls);
|
|
94
52
|
const calls = [];
|
|
95
53
|
let output = '';
|
|
96
54
|
let truncated = false;
|
|
55
|
+
let printCount = 0;
|
|
56
|
+
const seenCalls = new Set();
|
|
97
57
|
// A withdrawn caller owns admission. Do not start an isolate merely to
|
|
98
58
|
// discover the signal was already aborted after construction.
|
|
99
59
|
if (options.signal?.aborted) {
|
|
@@ -104,11 +64,23 @@ export class WorkerCodeRuntime {
|
|
|
104
64
|
calls,
|
|
105
65
|
};
|
|
106
66
|
}
|
|
67
|
+
if (options.source.length > this.limits.maxSourceBytes ||
|
|
68
|
+
Buffer.byteLength(options.source) > this.limits.maxSourceBytes) {
|
|
69
|
+
return {
|
|
70
|
+
outcome: {
|
|
71
|
+
status: 'failed',
|
|
72
|
+
error: `Program source exceeds ${this.limits.maxSourceBytes} bytes.`,
|
|
73
|
+
},
|
|
74
|
+
output,
|
|
75
|
+
outputTruncated: truncated,
|
|
76
|
+
calls,
|
|
77
|
+
};
|
|
78
|
+
}
|
|
107
79
|
const appendOutput = (lines) => {
|
|
108
80
|
for (const line of lines) {
|
|
109
81
|
if (truncated)
|
|
110
82
|
return;
|
|
111
|
-
const next =
|
|
83
|
+
const next = printCount === 0 ? line : `${output}\n${line}`;
|
|
112
84
|
if (Buffer.byteLength(next) > options.maxOutputBytes) {
|
|
113
85
|
// Cut at the LINE that would exceed, and say so. A cut
|
|
114
86
|
// mid-JSON produces output a reader cannot parse and cannot
|
|
@@ -117,25 +89,23 @@ export class WorkerCodeRuntime {
|
|
|
117
89
|
return;
|
|
118
90
|
}
|
|
119
91
|
output = next;
|
|
92
|
+
printCount++;
|
|
120
93
|
}
|
|
121
94
|
};
|
|
122
|
-
const worker = new Worker(
|
|
95
|
+
const worker = new Worker(QUICKJS_WORKER_SOURCE, {
|
|
123
96
|
eval: true,
|
|
124
|
-
workerData: {
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
//
|
|
133
|
-
//
|
|
134
|
-
|
|
97
|
+
workerData: {
|
|
98
|
+
source: options.source,
|
|
99
|
+
corePath: requireFromSdk.resolve('quickjs-emscripten-core'),
|
|
100
|
+
variantPath: requireFromSdk.resolve('@jitl/quickjs-wasmfile-release-sync'),
|
|
101
|
+
limits: this.limits,
|
|
102
|
+
maxOutputBytes: options.maxOutputBytes,
|
|
103
|
+
deadline: Date.now() + options.timeoutMs,
|
|
104
|
+
},
|
|
105
|
+
// Trusted bootstrap requires Node; guest code runs only inside QuickJS.
|
|
106
|
+
// Avoid inheriting --input-type or test loaders into the CJS bootstrap.
|
|
107
|
+
execArgv: [],
|
|
135
108
|
env: {},
|
|
136
|
-
// No stdio inheritance: the program prints through `print`, which
|
|
137
|
-
// is bounded. A worker writing to the host's stdout would bypass
|
|
138
|
-
// the cap and interleave with the operator's own output.
|
|
139
109
|
stdout: true,
|
|
140
110
|
stderr: true,
|
|
141
111
|
});
|
|
@@ -196,13 +166,59 @@ export class WorkerCodeRuntime {
|
|
|
196
166
|
return;
|
|
197
167
|
}
|
|
198
168
|
worker.on('message', (message) => {
|
|
169
|
+
if (settled)
|
|
170
|
+
return;
|
|
171
|
+
if (message.kind === 'truncated') {
|
|
172
|
+
truncated = true;
|
|
173
|
+
return;
|
|
174
|
+
}
|
|
175
|
+
if (message.kind === 'timed-out') {
|
|
176
|
+
operation.abort(new Error(`Code runtime exceeded ${options.timeoutMs}ms`));
|
|
177
|
+
finish({
|
|
178
|
+
outcome: { status: 'timed-out' },
|
|
179
|
+
output,
|
|
180
|
+
outputTruncated: truncated,
|
|
181
|
+
calls,
|
|
182
|
+
});
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
199
185
|
if (message.kind === 'call') {
|
|
200
186
|
const name = String(message.name);
|
|
201
187
|
const id = message.id;
|
|
188
|
+
if (typeof id !== 'number' ||
|
|
189
|
+
!Number.isSafeInteger(id) ||
|
|
190
|
+
id < 1 ||
|
|
191
|
+
seenCalls.has(id) ||
|
|
192
|
+
seenCalls.size >= this.limits.maxHostCalls ||
|
|
193
|
+
inFlight.size >= this.limits.maxPendingHostCalls) {
|
|
194
|
+
finish({
|
|
195
|
+
outcome: {
|
|
196
|
+
status: 'failed',
|
|
197
|
+
error: 'Invalid or over-budget host call.',
|
|
198
|
+
},
|
|
199
|
+
output,
|
|
200
|
+
outputTruncated: truncated,
|
|
201
|
+
calls,
|
|
202
|
+
});
|
|
203
|
+
return;
|
|
204
|
+
}
|
|
205
|
+
seenCalls.add(id);
|
|
206
|
+
let input;
|
|
207
|
+
try {
|
|
208
|
+
input = decodeValue(message.json, this.limits.maxValueBytes);
|
|
209
|
+
}
|
|
210
|
+
catch (error) {
|
|
211
|
+
finish({
|
|
212
|
+
outcome: { status: 'failed', error: String(error) },
|
|
213
|
+
output,
|
|
214
|
+
outputTruncated: truncated,
|
|
215
|
+
calls,
|
|
216
|
+
});
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
202
219
|
if (!allowed.has(name)) {
|
|
203
|
-
//
|
|
204
|
-
//
|
|
205
|
-
// check the program shares a heap with.
|
|
220
|
+
// Authorization remains host-owned even though the interpreter
|
|
221
|
+
// also bounds its own bridge. A worker never expands the grant.
|
|
206
222
|
calls.push({ name, ok: false });
|
|
207
223
|
worker.postMessage({
|
|
208
224
|
kind: 'call-result',
|
|
@@ -217,17 +233,26 @@ export class WorkerCodeRuntime {
|
|
|
217
233
|
}
|
|
218
234
|
const runtimeToolCallId = String(id);
|
|
219
235
|
const hostCall = Promise.resolve()
|
|
220
|
-
.then(() => options.onHostCall({ name, input
|
|
236
|
+
.then(() => options.onHostCall({ name, input }, { runtimeToolCallId, signal: operation.signal }))
|
|
221
237
|
.then((result) => {
|
|
222
238
|
if (settled)
|
|
223
239
|
return;
|
|
240
|
+
let json;
|
|
241
|
+
try {
|
|
242
|
+
json = result.ok
|
|
243
|
+
? encodeCodeValue(result.value, this.limits.maxValueBytes)
|
|
244
|
+
: undefined;
|
|
245
|
+
}
|
|
246
|
+
catch (error) {
|
|
247
|
+
throw new Error(`Host call "${name}" completed, but its result could not be delivered: ${error instanceof Error ? error.message : String(error)} Do not repeat a state-changing call solely to recover its output.`);
|
|
248
|
+
}
|
|
224
249
|
calls.push({ name, ok: result.ok });
|
|
225
250
|
worker.postMessage({
|
|
226
251
|
kind: 'call-result',
|
|
227
252
|
id,
|
|
228
253
|
ok: result.ok,
|
|
229
|
-
|
|
230
|
-
error: result.error,
|
|
254
|
+
json,
|
|
255
|
+
error: result.error?.slice(0, 4096),
|
|
231
256
|
});
|
|
232
257
|
})
|
|
233
258
|
.catch((err) => {
|
|
@@ -238,7 +263,7 @@ export class WorkerCodeRuntime {
|
|
|
238
263
|
kind: 'call-result',
|
|
239
264
|
id,
|
|
240
265
|
ok: false,
|
|
241
|
-
error: err instanceof Error ? err.message : String(err),
|
|
266
|
+
error: (err instanceof Error ? err.message : String(err)).slice(0, 4096),
|
|
242
267
|
});
|
|
243
268
|
})
|
|
244
269
|
.finally(() => {
|
|
@@ -257,8 +282,21 @@ export class WorkerCodeRuntime {
|
|
|
257
282
|
// declaring its JavaScript body complete is not evidence that the
|
|
258
283
|
// effect it started is complete, so keep the runtime open until the
|
|
259
284
|
// already-admitted host calls settle (or the deadline revokes them).
|
|
285
|
+
let value;
|
|
286
|
+
try {
|
|
287
|
+
value = decodeValue(message.json, this.limits.maxValueBytes);
|
|
288
|
+
}
|
|
289
|
+
catch (error) {
|
|
290
|
+
finish({
|
|
291
|
+
outcome: { status: 'failed', error: String(error) },
|
|
292
|
+
output,
|
|
293
|
+
outputTruncated: truncated,
|
|
294
|
+
calls,
|
|
295
|
+
});
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
260
298
|
terminal = {
|
|
261
|
-
outcome: { status: 'completed', result:
|
|
299
|
+
outcome: { status: 'completed', result: value },
|
|
262
300
|
output,
|
|
263
301
|
outputTruncated: truncated,
|
|
264
302
|
calls,
|
|
@@ -287,9 +325,8 @@ export class WorkerCodeRuntime {
|
|
|
287
325
|
});
|
|
288
326
|
});
|
|
289
327
|
worker.on('exit', (code) => {
|
|
290
|
-
//
|
|
291
|
-
//
|
|
292
|
-
// `process.exit` through something we failed to withhold.
|
|
328
|
+
// A bootstrap or interpreter failure may exit before a terminal
|
|
329
|
+
// message. Guest code has no access to Node's process object.
|
|
293
330
|
finish({
|
|
294
331
|
outcome: {
|
|
295
332
|
status: 'failed',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/execution/code-runtime/worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/execution/code-runtime/worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -89,8 +89,19 @@ export declare class AgentManager {
|
|
|
89
89
|
private spawnLocks;
|
|
90
90
|
private deps;
|
|
91
91
|
private topicManager;
|
|
92
|
+
private readonly pendingSpawns;
|
|
93
|
+
private readonly drainingParents;
|
|
94
|
+
private readonly executingTasks;
|
|
95
|
+
private readonly cancelingTasks;
|
|
96
|
+
private admissionTimer;
|
|
97
|
+
private disposed;
|
|
92
98
|
constructor(registry: AgentRegistry, config: Partial<AgentManagerConfig> | undefined, deps: AgentManagerDeps);
|
|
93
99
|
sendMessage(options: SendMessageOptions, context: AgentTaskContext, listener?: RunEventListener): Promise<AgentTask>;
|
|
100
|
+
private enqueueMessage;
|
|
101
|
+
private pumpAdmissions;
|
|
102
|
+
private drainAdmissions;
|
|
103
|
+
private failAdmission;
|
|
104
|
+
private startMessage;
|
|
94
105
|
private rollbackUnstartedSpawn;
|
|
95
106
|
private rollbackSpawnResources;
|
|
96
107
|
cancel(taskId: TaskId, cause?: CancelCause): void;
|
|
@@ -124,6 +135,7 @@ export declare class AgentManager {
|
|
|
124
135
|
* the store's to enforce, and no store here spans processes.
|
|
125
136
|
*/
|
|
126
137
|
private provisionSpawn;
|
|
138
|
+
private validateSpawn;
|
|
127
139
|
private provisionSpawnUnlocked;
|
|
128
140
|
private runChild;
|
|
129
141
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/manager/agent/lifecycle.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../../src/manager/agent/lifecycle.ts"],"names":[],"mappings":"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"}
|