@namzu/sdk 59.0.0 → 60.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 +102 -0
- package/dist/compaction/context-window.d.ts +53 -0
- package/dist/compaction/context-window.d.ts.map +1 -1
- package/dist/compaction/context-window.js +141 -2
- package/dist/compaction/context-window.js.map +1 -1
- package/dist/execution/workflow/index.d.ts +3 -1
- package/dist/execution/workflow/index.d.ts.map +1 -1
- package/dist/execution/workflow/index.js +2 -1
- package/dist/execution/workflow/index.js.map +1 -1
- package/dist/execution/workflow/journal.d.ts +24 -4
- package/dist/execution/workflow/journal.d.ts.map +1 -1
- package/dist/execution/workflow/journal.js +131 -9
- package/dist/execution/workflow/journal.js.map +1 -1
- package/dist/execution/workflow/prelude.d.ts +2 -0
- package/dist/execution/workflow/prelude.d.ts.map +1 -1
- package/dist/execution/workflow/prelude.js +49 -8
- package/dist/execution/workflow/prelude.js.map +1 -1
- package/dist/execution/workflow/resume.d.ts +59 -0
- package/dist/execution/workflow/resume.d.ts.map +1 -0
- package/dist/execution/workflow/resume.js +273 -0
- package/dist/execution/workflow/resume.js.map +1 -0
- package/dist/execution/workflow/runtime.d.ts.map +1 -1
- package/dist/execution/workflow/runtime.js +112 -8
- package/dist/execution/workflow/runtime.js.map +1 -1
- package/dist/execution/workflow/types.d.ts +105 -1
- package/dist/execution/workflow/types.d.ts.map +1 -1
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/plugin/compat.d.ts +24 -0
- package/dist/plugin/compat.d.ts.map +1 -0
- package/dist/plugin/compat.js +149 -0
- package/dist/plugin/compat.js.map +1 -0
- package/dist/plugin/loader.d.ts +2 -1
- package/dist/plugin/loader.d.ts.map +1 -1
- package/dist/plugin/loader.js +6 -0
- package/dist/plugin/loader.js.map +1 -1
- package/dist/pricing/index.d.ts.map +1 -1
- package/dist/pricing/index.js +2 -1
- package/dist/pricing/index.js.map +1 -1
- package/dist/process/kill-tree.d.ts +44 -0
- package/dist/process/kill-tree.d.ts.map +1 -1
- package/dist/process/kill-tree.js +102 -4
- package/dist/process/kill-tree.js.map +1 -1
- package/dist/prompt/coding-agent-doctrine.d.ts +1 -1
- package/dist/prompt/coding-agent-doctrine.d.ts.map +1 -1
- package/dist/prompt/coding-agent-doctrine.js +9 -1
- package/dist/prompt/coding-agent-doctrine.js.map +1 -1
- package/dist/provider/model-window-suffix.d.ts +18 -0
- package/dist/provider/model-window-suffix.d.ts.map +1 -0
- package/dist/provider/model-window-suffix.js +77 -0
- package/dist/provider/model-window-suffix.js.map +1 -0
- package/dist/public-runtime.d.ts +5 -3
- package/dist/public-runtime.d.ts.map +1 -1
- package/dist/public-runtime.js +5 -4
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-types.d.ts +1 -0
- package/dist/public-types.d.ts.map +1 -1
- package/dist/registry/command/kernel-commands.d.ts +1 -4
- package/dist/registry/command/kernel-commands.d.ts.map +1 -1
- package/dist/registry/command/kernel-commands.js +0 -28
- package/dist/registry/command/kernel-commands.js.map +1 -1
- package/dist/runtime/jobs/awaited-jobs.d.ts +6 -0
- package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -1
- package/dist/runtime/jobs/awaited-jobs.js +11 -0
- package/dist/runtime/jobs/awaited-jobs.js.map +1 -1
- package/dist/runtime/jobs/host-exit-finalizer.d.ts +20 -0
- package/dist/runtime/jobs/host-exit-finalizer.d.ts.map +1 -0
- package/dist/runtime/jobs/host-exit-finalizer.js +57 -0
- package/dist/runtime/jobs/host-exit-finalizer.js.map +1 -0
- package/dist/runtime/jobs/liveness.d.ts +67 -0
- package/dist/runtime/jobs/liveness.d.ts.map +1 -0
- package/dist/runtime/jobs/liveness.js +94 -0
- package/dist/runtime/jobs/liveness.js.map +1 -0
- package/dist/runtime/jobs/registry.d.ts +21 -0
- package/dist/runtime/jobs/registry.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.js +104 -2
- package/dist/runtime/jobs/registry.js.map +1 -1
- package/dist/runtime/jobs/wake-budget.d.ts +35 -0
- package/dist/runtime/jobs/wake-budget.d.ts.map +1 -0
- package/dist/runtime/jobs/wake-budget.js +48 -0
- package/dist/runtime/jobs/wake-budget.js.map +1 -0
- package/dist/runtime/query/detached-calls.d.ts +65 -0
- package/dist/runtime/query/detached-calls.d.ts.map +1 -0
- package/dist/runtime/query/detached-calls.js +116 -0
- package/dist/runtime/query/detached-calls.js.map +1 -0
- package/dist/runtime/query/executor.d.ts +4 -1
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +90 -6
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/index.d.ts +20 -0
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +31 -5
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/outstanding-work.d.ts.map +1 -1
- package/dist/runtime/query/iteration/outstanding-work.js +11 -3
- package/dist/runtime/query/iteration/outstanding-work.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +7 -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 +63 -1
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/session-storage.d.ts.map +1 -1
- package/dist/runtime/query/session-storage.js +8 -3
- package/dist/runtime/query/session-storage.js.map +1 -1
- package/dist/runtime/query/steering.d.ts +29 -3
- package/dist/runtime/query/steering.d.ts.map +1 -1
- package/dist/runtime/query/steering.js +58 -3
- package/dist/runtime/query/steering.js.map +1 -1
- package/dist/runtime/query/tooling.d.ts +1 -0
- package/dist/runtime/query/tooling.d.ts.map +1 -1
- package/dist/runtime/query/tooling.js +1 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/runtime/system-events.d.ts +5 -0
- package/dist/runtime/system-events.d.ts.map +1 -1
- package/dist/runtime/system-events.js +7 -1
- package/dist/runtime/system-events.js.map +1 -1
- package/dist/sandbox/denial.d.ts +11 -0
- package/dist/sandbox/denial.d.ts.map +1 -0
- package/dist/sandbox/denial.js +61 -0
- package/dist/sandbox/denial.js.map +1 -0
- package/dist/sandbox/file-walk-program.d.ts.map +1 -1
- package/dist/sandbox/file-walk-program.js +31 -13
- package/dist/sandbox/file-walk-program.js.map +1 -1
- package/dist/sandbox/file-walk.d.ts +2 -0
- package/dist/sandbox/file-walk.d.ts.map +1 -1
- package/dist/sandbox/file-walk.js +64 -13
- package/dist/sandbox/file-walk.js.map +1 -1
- package/dist/sandbox/ignore-matcher.d.ts +30 -0
- package/dist/sandbox/ignore-matcher.d.ts.map +1 -0
- package/dist/sandbox/ignore-matcher.js +11 -0
- package/dist/sandbox/ignore-matcher.js.map +1 -0
- package/dist/sandbox/ignore-source.d.ts +26 -0
- package/dist/sandbox/ignore-source.d.ts.map +1 -0
- package/dist/sandbox/ignore-source.js +221 -0
- package/dist/sandbox/ignore-source.js.map +1 -0
- package/dist/sandbox/provider/local.d.ts.map +1 -1
- package/dist/sandbox/provider/local.js +11 -1
- package/dist/sandbox/provider/local.js.map +1 -1
- package/dist/scheduler/completion-inbox.d.ts.map +1 -1
- package/dist/scheduler/completion-inbox.js +1 -0
- package/dist/scheduler/completion-inbox.js.map +1 -1
- package/dist/session/log-hash.d.ts.map +1 -1
- package/dist/session/log-hash.js +18 -1
- package/dist/session/log-hash.js.map +1 -1
- package/dist/store/session-index/sqlite.d.ts.map +1 -1
- package/dist/store/session-index/sqlite.js +169 -16
- package/dist/store/session-index/sqlite.js.map +1 -1
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +10 -4
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/computer-use.d.ts +35 -0
- package/dist/tools/builtins/computer-use.d.ts.map +1 -1
- package/dist/tools/builtins/computer-use.js +512 -67
- package/dist/tools/builtins/computer-use.js.map +1 -1
- package/dist/tools/builtins/glob.d.ts +1 -0
- package/dist/tools/builtins/glob.d.ts.map +1 -1
- package/dist/tools/builtins/glob.js +65 -28
- package/dist/tools/builtins/glob.js.map +1 -1
- package/dist/tools/builtins/grep.d.ts +2 -0
- package/dist/tools/builtins/grep.d.ts.map +1 -1
- package/dist/tools/builtins/grep.js +94 -40
- package/dist/tools/builtins/grep.js.map +1 -1
- package/dist/tools/builtins/job.d.ts +1 -1
- package/dist/tools/builtins/job.d.ts.map +1 -1
- package/dist/tools/builtins/job.js +34 -7
- package/dist/tools/builtins/job.js.map +1 -1
- package/dist/tools/builtins/search-support.d.ts +44 -0
- package/dist/tools/builtins/search-support.d.ts.map +1 -0
- package/dist/tools/builtins/search-support.js +89 -0
- package/dist/tools/builtins/search-support.js.map +1 -0
- package/dist/tools/builtins/wait-for-job-bounds.d.ts +2 -0
- package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -1
- package/dist/tools/builtins/wait-for-job-bounds.js +3 -1
- package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -1
- package/dist/tools/builtins/wait-for-job.d.ts +1 -1
- package/dist/tools/builtins/wait-for-job.d.ts.map +1 -1
- package/dist/tools/builtins/wait-for-job.js +13 -2
- package/dist/tools/builtins/wait-for-job.js.map +1 -1
- package/dist/tools/command-shell.d.ts.map +1 -1
- package/dist/tools/command-shell.js +14 -5
- package/dist/tools/command-shell.js.map +1 -1
- package/dist/types/computer-use/index.d.ts +129 -13
- package/dist/types/computer-use/index.d.ts.map +1 -1
- package/dist/types/computer-use/index.js.map +1 -1
- package/dist/types/plugin/index.d.ts +24 -0
- package/dist/types/plugin/index.d.ts.map +1 -1
- package/dist/types/plugin/index.js +4 -0
- package/dist/types/plugin/index.js.map +1 -1
- package/dist/types/sandbox/index.d.ts +38 -1
- package/dist/types/sandbox/index.d.ts.map +1 -1
- package/dist/types/sandbox/index.js.map +1 -1
- package/dist/types/session/records.d.ts +264 -0
- package/dist/types/session/records.d.ts.map +1 -1
- package/dist/types/session/records.js +32 -1
- package/dist/types/session/records.js.map +1 -1
- package/dist/types/tool/index.d.ts +30 -0
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/types/tool/presentation.d.ts +8 -0
- package/dist/types/tool/presentation.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/compaction/context-window.ts +163 -2
- package/src/execution/workflow/index.ts +14 -1
- package/src/execution/workflow/journal.ts +161 -11
- package/src/execution/workflow/prelude.ts +51 -8
- package/src/execution/workflow/resume.ts +313 -0
- package/src/execution/workflow/runtime.ts +127 -9
- package/src/execution/workflow/types.ts +109 -1
- package/src/index.ts +17 -0
- package/src/plugin/compat.ts +173 -0
- package/src/plugin/loader.ts +7 -1
- package/src/pricing/index.ts +2 -1
- package/src/process/kill-tree.ts +106 -4
- package/src/prompt/coding-agent-doctrine.ts +9 -1
- package/src/provider/model-window-suffix.ts +84 -0
- package/src/public-runtime.ts +21 -2
- package/src/public-types.ts +1 -0
- package/src/registry/command/kernel-commands.ts +1 -32
- package/src/runtime/jobs/awaited-jobs.ts +11 -0
- package/src/runtime/jobs/host-exit-finalizer.ts +67 -0
- package/src/runtime/jobs/liveness.ts +144 -0
- package/src/runtime/jobs/registry.ts +114 -2
- package/src/runtime/jobs/wake-budget.ts +55 -0
- package/src/runtime/query/detached-calls.ts +135 -0
- package/src/runtime/query/executor.ts +92 -10
- package/src/runtime/query/index.ts +50 -7
- package/src/runtime/query/iteration/outstanding-work.ts +12 -3
- package/src/runtime/query/iteration/phases/context.ts +7 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +73 -8
- package/src/runtime/query/session-storage.ts +8 -3
- package/src/runtime/query/steering.ts +77 -6
- package/src/runtime/query/tooling.ts +2 -0
- package/src/runtime/system-events.ts +12 -1
- package/src/sandbox/denial.ts +79 -0
- package/src/sandbox/file-walk-program.ts +32 -13
- package/src/sandbox/file-walk.ts +75 -12
- package/src/sandbox/ignore-matcher.ts +46 -0
- package/src/sandbox/ignore-source.ts +220 -0
- package/src/sandbox/provider/local.ts +11 -1
- package/src/scheduler/completion-inbox.ts +1 -0
- package/src/session/log-hash.ts +21 -0
- package/src/store/session-index/sqlite.ts +171 -16
- package/src/tools/builtins/bash.ts +11 -4
- package/src/tools/builtins/computer-use.ts +593 -68
- package/src/tools/builtins/glob.ts +79 -32
- package/src/tools/builtins/grep.ts +107 -43
- package/src/tools/builtins/job.ts +42 -12
- package/src/tools/builtins/search-support.ts +107 -0
- package/src/tools/builtins/wait-for-job-bounds.ts +5 -1
- package/src/tools/builtins/wait-for-job.ts +14 -2
- package/src/tools/command-shell.ts +13 -5
- package/src/types/computer-use/index.ts +157 -15
- package/src/types/plugin/index.ts +8 -0
- package/src/types/sandbox/index.ts +40 -1
- package/src/types/session/records.ts +36 -2
- package/src/types/tool/index.ts +30 -0
- package/src/types/tool/presentation.ts +8 -0
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What a host can say about one running item, from three facts it reads
|
|
3
|
+
* itself: where it is, when it last made progress, and whether it is alive.
|
|
4
|
+
*
|
|
5
|
+
* Pure: no clock, no process probe. The caller passes `now` and the probe's
|
|
6
|
+
* answer, so the same table of cases runs under a fake clock. The kinds
|
|
7
|
+
* (background job, monitor, delegated agent, workflow run) share one verdict
|
|
8
|
+
* so the outstanding-work note and every status read print the same words.
|
|
9
|
+
*/
|
|
10
|
+
/** Silence shorter than this still reads as progress. */
|
|
11
|
+
export const LIVENESS_QUIET_MS = 30_000;
|
|
12
|
+
/**
|
|
13
|
+
* Silence from an item that is alive and has no known reason to wait. The
|
|
14
|
+
* same number `wait_for_job` uses for its idle bound, so there is one
|
|
15
|
+
* threshold to explain.
|
|
16
|
+
*/
|
|
17
|
+
export const LIVENESS_STALLED_MS = 2 * 60 * 1000;
|
|
18
|
+
const seconds = (ms) => Math.max(0, Math.floor(ms / 1000));
|
|
19
|
+
/** Decide the verdict. Order matters: a result beats everything, then death, then the reason to wait. */
|
|
20
|
+
export function judgeLiveness(input, now, thresholds = {}) {
|
|
21
|
+
const quietMs = thresholds.quietMs ?? LIVENESS_QUIET_MS;
|
|
22
|
+
const stalledMs = thresholds.stalledMs ?? LIVENESS_STALLED_MS;
|
|
23
|
+
const last = Math.max(input.startedAt, input.lastProgressAt ?? input.startedAt);
|
|
24
|
+
const idle = Math.max(0, now - last);
|
|
25
|
+
let verdict;
|
|
26
|
+
if (input.finished)
|
|
27
|
+
verdict = 'finished';
|
|
28
|
+
else if (!input.alive)
|
|
29
|
+
verdict = 'dead';
|
|
30
|
+
else if (input.waitingOn !== undefined)
|
|
31
|
+
verdict = 'waiting';
|
|
32
|
+
else if (idle >= stalledMs)
|
|
33
|
+
verdict = 'stalled';
|
|
34
|
+
else if (idle >= quietMs)
|
|
35
|
+
verdict = 'waiting';
|
|
36
|
+
else
|
|
37
|
+
verdict = 'progressing';
|
|
38
|
+
const waitingOn = verdict === 'waiting' && input.waitingOn !== undefined ? input.waitingOn : undefined;
|
|
39
|
+
const waitingSince = input.waitingSince ?? last;
|
|
40
|
+
return {
|
|
41
|
+
kind: input.kind,
|
|
42
|
+
id: input.id,
|
|
43
|
+
label: input.label,
|
|
44
|
+
...(input.where !== undefined ? { where: input.where } : {}),
|
|
45
|
+
verdict,
|
|
46
|
+
idleSeconds: seconds(idle),
|
|
47
|
+
ageSeconds: seconds(now - input.startedAt),
|
|
48
|
+
...(waitingOn !== undefined ? { waitingOn, waitingSeconds: seconds(now - waitingSince) } : {}),
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/** `45s`, `3m 05s`, `1h 02m`: short, for a line a person or the model reads. */
|
|
52
|
+
export function formatLivenessAge(totalSeconds) {
|
|
53
|
+
const s = Math.max(0, Math.floor(totalSeconds));
|
|
54
|
+
if (s < 60)
|
|
55
|
+
return `${s}s`;
|
|
56
|
+
const m = Math.floor(s / 60);
|
|
57
|
+
if (m < 60)
|
|
58
|
+
return `${m}m ${String(s % 60).padStart(2, '0')}s`;
|
|
59
|
+
return `${Math.floor(m / 60)}h ${String(m % 60).padStart(2, '0')}m`;
|
|
60
|
+
}
|
|
61
|
+
function oneLine(text, max) {
|
|
62
|
+
const flat = text.replace(/\s+/g, ' ').trim();
|
|
63
|
+
return flat.length <= max ? flat : `${flat.slice(0, max - 1)}…`;
|
|
64
|
+
}
|
|
65
|
+
const LABEL_MAX = 80;
|
|
66
|
+
const WHERE_MAX = 120;
|
|
67
|
+
/**
|
|
68
|
+
* One line per item, the same for the note and for the list reads:
|
|
69
|
+
* `job b1a2 "npm test" - progressing - last progress 4s ago - at: compiling`.
|
|
70
|
+
* Everything free-form is clipped and flattened; the line carries data, not
|
|
71
|
+
* instructions.
|
|
72
|
+
*/
|
|
73
|
+
export function formatLivenessLine(item) {
|
|
74
|
+
const parts = [`${item.kind} ${item.id} "${oneLine(item.label, LABEL_MAX)}"`];
|
|
75
|
+
if (item.verdict === 'waiting' && item.waitingOn !== undefined) {
|
|
76
|
+
parts.push(`waiting on ${oneLine(item.waitingOn, LABEL_MAX)} for ${formatLivenessAge(item.waitingSeconds ?? item.idleSeconds)}`);
|
|
77
|
+
}
|
|
78
|
+
else if (item.verdict === 'finished') {
|
|
79
|
+
parts.push(`finished after ${formatLivenessAge(item.ageSeconds)}`);
|
|
80
|
+
}
|
|
81
|
+
else if (item.verdict === 'dead') {
|
|
82
|
+
parts.push(`dead: gone without a result after ${formatLivenessAge(item.ageSeconds)}, last progress ${formatLivenessAge(item.idleSeconds)} ago`);
|
|
83
|
+
}
|
|
84
|
+
else {
|
|
85
|
+
parts.push(item.verdict);
|
|
86
|
+
parts.push(item.idleSeconds === 0
|
|
87
|
+
? 'last progress just now'
|
|
88
|
+
: `last progress ${formatLivenessAge(item.idleSeconds)} ago`);
|
|
89
|
+
}
|
|
90
|
+
if (item.where !== undefined && item.where.length > 0)
|
|
91
|
+
parts.push(`at: ${oneLine(item.where, WHERE_MAX)}`);
|
|
92
|
+
return parts.join(' - ');
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=liveness.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"liveness.js","sourceRoot":"","sources":["../../../src/runtime/jobs/liveness.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,10 @@ export interface BackgroundJob {
|
|
|
31
31
|
readonly command: string;
|
|
32
32
|
readonly status: BackgroundJobStatus;
|
|
33
33
|
readonly startedAt: number;
|
|
34
|
+
/** When the job last wrote output (epoch ms). Absent until it has written anything. */
|
|
35
|
+
readonly lastOutputAt?: number;
|
|
36
|
+
/** The last non-empty output line, flattened and clipped to {@link LAST_OUTPUT_LINE_MAX}. */
|
|
37
|
+
readonly lastOutputLine?: string;
|
|
34
38
|
readonly exitedAt?: number;
|
|
35
39
|
readonly exitCode?: number;
|
|
36
40
|
readonly signal?: string;
|
|
@@ -251,6 +255,8 @@ export declare class UnknownBackgroundJobError extends Error {
|
|
|
251
255
|
id: string;
|
|
252
256
|
});
|
|
253
257
|
}
|
|
258
|
+
/** Longest `lastOutputLine` kept on a job record. */
|
|
259
|
+
export declare const LAST_OUTPUT_LINE_MAX = 160;
|
|
254
260
|
/**
|
|
255
261
|
* Why a command that was running in the foreground moved to the background:
|
|
256
262
|
* the person asked (`user`), or the person sent a message that has to reach
|
|
@@ -344,6 +350,13 @@ export declare class BackgroundJobRegistry {
|
|
|
344
350
|
}>;
|
|
345
351
|
/** The record, or throw for an id this registry does not know. */
|
|
346
352
|
get(id: string): BackgroundJob;
|
|
353
|
+
/**
|
|
354
|
+
* Whether the job's process group is still there, asked of the system rather
|
|
355
|
+
* than inferred from the record. A job with no process of its own to probe
|
|
356
|
+
* (a sandboxed or WebSocket source, or a platform without process groups)
|
|
357
|
+
* is alive exactly when the registry says it is running.
|
|
358
|
+
*/
|
|
359
|
+
isAlive(id: string): boolean;
|
|
347
360
|
/**
|
|
348
361
|
* Await one job's exit — the public counterpart to `onExit`, for a
|
|
349
362
|
* caller that wants a single result rather than a standing
|
|
@@ -419,6 +432,12 @@ export declare function bindOwner(registry: BackgroundJobRegistry, owner: string
|
|
|
419
432
|
* than present and silently doing nothing.
|
|
420
433
|
*/
|
|
421
434
|
readonly onAwaited?: (id: string) => void;
|
|
435
|
+
/**
|
|
436
|
+
* Be told that a tool result has handed the model this job's exit, so the
|
|
437
|
+
* notice announcing the same exit can be withdrawn. Like `onAwaited` it
|
|
438
|
+
* belongs to the turn; absent, `markCollected` is absent from the ref.
|
|
439
|
+
*/
|
|
440
|
+
readonly onCollected?: (id: string) => void;
|
|
422
441
|
/**
|
|
423
442
|
* The longest a monitor started through this binding may live. A host
|
|
424
443
|
* may lower it (a single-shot run has no tomorrow to watch for); the
|
|
@@ -435,6 +454,8 @@ export declare function bindOwner(registry: BackgroundJobRegistry, owner: string
|
|
|
435
454
|
}): {
|
|
436
455
|
kill: (id: string) => Promise<BackgroundJob>;
|
|
437
456
|
list: () => readonly BackgroundJob[];
|
|
457
|
+
isAlive: (id: string) => boolean;
|
|
458
|
+
markCollected?: ((id: string) => void) | undefined;
|
|
438
459
|
markAwaited?: ((id: string) => void) | undefined;
|
|
439
460
|
start: (params: {
|
|
440
461
|
command: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/runtime/jobs/registry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAA;AAO/C,OAAO,KAAK,EACX,8BAA8B,EAC9B,6BAA6B,EAC7B,MAAM,0BAA0B,CAAA;AACjC,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"registry.d.ts","sourceRoot":"","sources":["../../../src/runtime/jobs/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { SANDBOX_KILL_GRACE_MS } from '../../constants/sandbox/index.js';
|
|
2
|
-
import { killTree } from '../../process/kill-tree.js';
|
|
2
|
+
import { isSignalablePid, killTree } from '../../process/kill-tree.js';
|
|
3
3
|
import { describeSpawnFailure, spawnHostShell } from '../../tools/command-shell.js';
|
|
4
4
|
import { scrubInheritedEnv } from '../../tools/env-scrub.js';
|
|
5
5
|
import { createHostOutputDecoder } from '../../tools/host-output.js';
|
|
6
6
|
import { subscribeToAbort } from '../../utils/abort.js';
|
|
7
7
|
import { oneMetadataLine } from '../system-events.js';
|
|
8
|
+
import { stopAtHostExit } from './host-exit-finalizer.js';
|
|
8
9
|
import { createBackgroundJobId } from './job-id.js';
|
|
9
10
|
import { MONITOR_TIMEOUT_CAP_MS, createMonitorStream, expiryNotice, tooMuchOutputNotice, } from './monitor-stream.js';
|
|
10
11
|
import { connectWebSocketSource, webSocketJobCommand } from './websocket-source.js';
|
|
@@ -56,7 +57,7 @@ export class UnknownBackgroundJobError extends Error {
|
|
|
56
57
|
}
|
|
57
58
|
/** Whether any process of the group led by `pid` is still alive. */
|
|
58
59
|
function groupAlive(pid) {
|
|
59
|
-
if (pid
|
|
60
|
+
if (!isSignalablePid(pid) || process.platform === 'win32')
|
|
60
61
|
return false;
|
|
61
62
|
try {
|
|
62
63
|
process.kill(-pid, 0);
|
|
@@ -66,7 +67,65 @@ function groupAlive(pid) {
|
|
|
66
67
|
return false;
|
|
67
68
|
}
|
|
68
69
|
}
|
|
70
|
+
/**
|
|
71
|
+
* The same probe for a status read: a group that exists but is not ours to
|
|
72
|
+
* signal (EPERM) is there. The close handler keeps {@link groupAlive}, which
|
|
73
|
+
* must not wait on a group it can never see end.
|
|
74
|
+
*
|
|
75
|
+
* Not proof the group is still the job's: between the group ending and the
|
|
76
|
+
* record closing, a recycled pid that leads a new group would read as alive.
|
|
77
|
+
* The close handler polls every {@link GROUP_POLL_MS}, so the window is
|
|
78
|
+
* that small.
|
|
79
|
+
*/
|
|
80
|
+
function groupPresent(pid) {
|
|
81
|
+
if (!isSignalablePid(pid))
|
|
82
|
+
return false;
|
|
83
|
+
try {
|
|
84
|
+
process.kill(-pid, 0);
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
catch (error) {
|
|
88
|
+
return error.code === 'EPERM';
|
|
89
|
+
}
|
|
90
|
+
}
|
|
69
91
|
const GROUP_POLL_MS = 250;
|
|
92
|
+
/** Longest `lastOutputLine` kept on a job record. */
|
|
93
|
+
export const LAST_OUTPUT_LINE_MAX = 160;
|
|
94
|
+
/**
|
|
95
|
+
* Drop terminal control sequences and control characters, keeping one space
|
|
96
|
+
* where a control character stood. Done by code point so no pattern has to
|
|
97
|
+
* spell a control character.
|
|
98
|
+
*/
|
|
99
|
+
function plainLine(raw) {
|
|
100
|
+
let out = '';
|
|
101
|
+
let i = 0;
|
|
102
|
+
while (i < raw.length) {
|
|
103
|
+
const code = raw.charCodeAt(i);
|
|
104
|
+
if (code === 0x1b && raw[i + 1] === '[') {
|
|
105
|
+
// CSI: parameters and intermediates, then one final byte in @..~.
|
|
106
|
+
i += 2;
|
|
107
|
+
while (i < raw.length && raw.charCodeAt(i) >= 0x20 && raw.charCodeAt(i) <= 0x3f)
|
|
108
|
+
i += 1;
|
|
109
|
+
i += 1;
|
|
110
|
+
continue;
|
|
111
|
+
}
|
|
112
|
+
out += code < 0x20 || code === 0x7f ? ' ' : (raw[i] ?? '');
|
|
113
|
+
i += 1;
|
|
114
|
+
}
|
|
115
|
+
return out.replace(/ {2,}/g, ' ').trim();
|
|
116
|
+
}
|
|
117
|
+
/** The last non-empty line of `text`, flattened and clipped; `undefined` when it has none. */
|
|
118
|
+
function lastLineOf(text) {
|
|
119
|
+
const lines = text.split('\n');
|
|
120
|
+
for (let index = lines.length - 1; index >= 0; index -= 1) {
|
|
121
|
+
const flat = plainLine(lines[index] ?? '');
|
|
122
|
+
if (flat.length > 0)
|
|
123
|
+
return flat.length <= LAST_OUTPUT_LINE_MAX
|
|
124
|
+
? flat
|
|
125
|
+
: `${flat.slice(0, LAST_OUTPUT_LINE_MAX - 1)}…`;
|
|
126
|
+
}
|
|
127
|
+
return undefined;
|
|
128
|
+
}
|
|
70
129
|
export class BackgroundJobRegistry {
|
|
71
130
|
config;
|
|
72
131
|
jobs = new Map();
|
|
@@ -385,6 +444,7 @@ export class BackgroundJobRegistry {
|
|
|
385
444
|
if (finalized)
|
|
386
445
|
return;
|
|
387
446
|
finalized = true;
|
|
447
|
+
untrackAtHostExit();
|
|
388
448
|
entry.record = {
|
|
389
449
|
...entry.record,
|
|
390
450
|
// A job killed by this registry says `killed`, not
|
|
@@ -469,11 +529,26 @@ export class BackgroundJobRegistry {
|
|
|
469
529
|
}),
|
|
470
530
|
};
|
|
471
531
|
entry.finalize = finalizeEntry;
|
|
532
|
+
// A job that is not stopped before the host exits is an orphan: nothing
|
|
533
|
+
// owns its id any more. A remote job confirms its own termination and is
|
|
534
|
+
// not signalled from an exit listener.
|
|
535
|
+
const untrackAtHostExit = entry.terminateProcess
|
|
536
|
+
? () => { }
|
|
537
|
+
: stopAtHostExit({
|
|
538
|
+
child,
|
|
539
|
+
...(entry.killProcess ? { kill: entry.killProcess } : {}),
|
|
540
|
+
});
|
|
472
541
|
const append = (text, stream) => {
|
|
473
542
|
const chunk = { stream, offset: entry.produced, bytes: Buffer.from(text) };
|
|
474
543
|
if (chunk.bytes.length === 0)
|
|
475
544
|
return;
|
|
476
545
|
entry.produced += chunk.bytes.length;
|
|
546
|
+
const line = lastLineOf(text);
|
|
547
|
+
entry.record = {
|
|
548
|
+
...entry.record,
|
|
549
|
+
lastOutputAt: Date.now(),
|
|
550
|
+
...(line !== undefined ? { lastOutputLine: line } : {}),
|
|
551
|
+
};
|
|
477
552
|
entry.buffer += text;
|
|
478
553
|
entry.buffer = outputTail(entry.buffer, this.maxBytes).text;
|
|
479
554
|
entry.outputChunks.push(chunk);
|
|
@@ -577,6 +652,21 @@ export class BackgroundJobRegistry {
|
|
|
577
652
|
throw new UnknownBackgroundJobError({ id });
|
|
578
653
|
return entry.record;
|
|
579
654
|
}
|
|
655
|
+
/**
|
|
656
|
+
* Whether the job's process group is still there, asked of the system rather
|
|
657
|
+
* than inferred from the record. A job with no process of its own to probe
|
|
658
|
+
* (a sandboxed or WebSocket source, or a platform without process groups)
|
|
659
|
+
* is alive exactly when the registry says it is running.
|
|
660
|
+
*/
|
|
661
|
+
isAlive(id) {
|
|
662
|
+
const entry = this.jobs.get(id);
|
|
663
|
+
if (!entry || entry.record.status !== 'running')
|
|
664
|
+
return false;
|
|
665
|
+
const pid = entry.child.pid;
|
|
666
|
+
if (pid === undefined || process.platform === 'win32')
|
|
667
|
+
return true;
|
|
668
|
+
return groupPresent(pid);
|
|
669
|
+
}
|
|
580
670
|
/**
|
|
581
671
|
* Await one job's exit — the public counterpart to `onExit`, for a
|
|
582
672
|
* caller that wants a single result rather than a standing
|
|
@@ -1000,11 +1090,23 @@ export function bindOwner(registry, owner, defaults = {}) {
|
|
|
1000
1090
|
},
|
|
1001
1091
|
}
|
|
1002
1092
|
: {}),
|
|
1093
|
+
...(defaults.onCollected
|
|
1094
|
+
? {
|
|
1095
|
+
markCollected: (id) => {
|
|
1096
|
+
mine(id);
|
|
1097
|
+
defaults.onCollected?.(id);
|
|
1098
|
+
},
|
|
1099
|
+
}
|
|
1100
|
+
: {}),
|
|
1003
1101
|
kill: async (id) => {
|
|
1004
1102
|
mine(id);
|
|
1005
1103
|
return await registry.kill(id);
|
|
1006
1104
|
},
|
|
1007
1105
|
list: () => registry.list(owner),
|
|
1106
|
+
isAlive: (id) => {
|
|
1107
|
+
mine(id);
|
|
1108
|
+
return registry.isAlive(id);
|
|
1109
|
+
},
|
|
1008
1110
|
};
|
|
1009
1111
|
}
|
|
1010
1112
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/runtime/jobs/registry.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"registry.js","sourceRoot":"","sources":["../../../src/runtime/jobs/registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A bound on how many times in a row a session wakes the model on its own.
|
|
3
|
+
*
|
|
4
|
+
* A finished background job wakes an idle session, and the turn that wakes may
|
|
5
|
+
* start another job whose exit wakes it again, with nobody reading. For an
|
|
6
|
+
* owner that nobody is watching, that chain never has to end. The budget caps
|
|
7
|
+
* it: after `max` wakes in a row no further exit wakes the model, and the
|
|
8
|
+
* exits stay pending so the next message from a person carries them.
|
|
9
|
+
*
|
|
10
|
+
* **Off unless asked.** An interactive session has a person to stop it, and a
|
|
11
|
+
* cap there would only get in the way. `max` of `undefined` (or anything that
|
|
12
|
+
* is not a positive integer) never limits.
|
|
13
|
+
*
|
|
14
|
+
* **Only a person resets it.** A wake, a job notice or a tool result is not
|
|
15
|
+
* evidence anyone is looking; a human message is.
|
|
16
|
+
*/
|
|
17
|
+
export declare class WakeBudget {
|
|
18
|
+
private woken;
|
|
19
|
+
private readonly max;
|
|
20
|
+
constructor(max?: number);
|
|
21
|
+
/** Whether another automatic wake is allowed. */
|
|
22
|
+
get canWake(): boolean;
|
|
23
|
+
/** Count one automatic wake. Call when a wake begins a turn. */
|
|
24
|
+
recordWake(): void;
|
|
25
|
+
/** A person wrote: the chain is attended again. */
|
|
26
|
+
reset(): void;
|
|
27
|
+
/** Wakes since the last human message. */
|
|
28
|
+
get consecutiveWakes(): number;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The budget a host asked for through `NAMZU_MAX_CONSECUTIVE_WAKES`, or an
|
|
32
|
+
* unlimited one. Anything but a positive integer means no limit.
|
|
33
|
+
*/
|
|
34
|
+
export declare function wakeBudgetFromEnv(env?: Record<string, string | undefined>): WakeBudget;
|
|
35
|
+
//# sourceMappingURL=wake-budget.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wake-budget.d.ts","sourceRoot":"","sources":["../../../src/runtime/jobs/wake-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,UAAU;IACtB,OAAO,CAAC,KAAK,CAAI;IACjB,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAoB;gBAE5B,GAAG,CAAC,EAAE,MAAM;IAIxB,iDAAiD;IACjD,IAAI,OAAO,IAAI,OAAO,CAErB;IAED,gEAAgE;IAChE,UAAU,IAAI,IAAI;IAIlB,mDAAmD;IACnD,KAAK,IAAI,IAAI;IAIb,0CAA0C;IAC1C,IAAI,gBAAgB,IAAI,MAAM,CAE7B;CACD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAChC,GAAG,GAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAe,GACnD,UAAU,CAGZ"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A bound on how many times in a row a session wakes the model on its own.
|
|
3
|
+
*
|
|
4
|
+
* A finished background job wakes an idle session, and the turn that wakes may
|
|
5
|
+
* start another job whose exit wakes it again, with nobody reading. For an
|
|
6
|
+
* owner that nobody is watching, that chain never has to end. The budget caps
|
|
7
|
+
* it: after `max` wakes in a row no further exit wakes the model, and the
|
|
8
|
+
* exits stay pending so the next message from a person carries them.
|
|
9
|
+
*
|
|
10
|
+
* **Off unless asked.** An interactive session has a person to stop it, and a
|
|
11
|
+
* cap there would only get in the way. `max` of `undefined` (or anything that
|
|
12
|
+
* is not a positive integer) never limits.
|
|
13
|
+
*
|
|
14
|
+
* **Only a person resets it.** A wake, a job notice or a tool result is not
|
|
15
|
+
* evidence anyone is looking; a human message is.
|
|
16
|
+
*/
|
|
17
|
+
export class WakeBudget {
|
|
18
|
+
woken = 0;
|
|
19
|
+
max;
|
|
20
|
+
constructor(max) {
|
|
21
|
+
this.max = max !== undefined && Number.isInteger(max) && max > 0 ? max : undefined;
|
|
22
|
+
}
|
|
23
|
+
/** Whether another automatic wake is allowed. */
|
|
24
|
+
get canWake() {
|
|
25
|
+
return this.max === undefined || this.woken < this.max;
|
|
26
|
+
}
|
|
27
|
+
/** Count one automatic wake. Call when a wake begins a turn. */
|
|
28
|
+
recordWake() {
|
|
29
|
+
this.woken++;
|
|
30
|
+
}
|
|
31
|
+
/** A person wrote: the chain is attended again. */
|
|
32
|
+
reset() {
|
|
33
|
+
this.woken = 0;
|
|
34
|
+
}
|
|
35
|
+
/** Wakes since the last human message. */
|
|
36
|
+
get consecutiveWakes() {
|
|
37
|
+
return this.woken;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The budget a host asked for through `NAMZU_MAX_CONSECUTIVE_WAKES`, or an
|
|
42
|
+
* unlimited one. Anything but a positive integer means no limit.
|
|
43
|
+
*/
|
|
44
|
+
export function wakeBudgetFromEnv(env = process.env) {
|
|
45
|
+
const raw = env.NAMZU_MAX_CONSECUTIVE_WAKES?.trim();
|
|
46
|
+
return new WakeBudget(raw && /^\d+$/.test(raw) ? Number(raw) : undefined);
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=wake-budget.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wake-budget.js","sourceRoot":"","sources":["../../../src/runtime/jobs/wake-budget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AACH,MAAM,OAAO,UAAU;IACd,KAAK,GAAG,CAAC,CAAA;IACA,GAAG,CAAoB;IAExC,YAAY,GAAY;QACvB,IAAI,CAAC,GAAG,GAAG,GAAG,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAA;IACnF,CAAC;IAED,iDAAiD;IACjD,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,GAAG,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,GAAG,CAAA;IACvD,CAAC;IAED,gEAAgE;IAChE,UAAU;QACT,IAAI,CAAC,KAAK,EAAE,CAAA;IACb,CAAC;IAED,mDAAmD;IACnD,KAAK;QACJ,IAAI,CAAC,KAAK,GAAG,CAAC,CAAA;IACf,CAAC;IAED,0CAA0C;IAC1C,IAAI,gBAAgB;QACnB,OAAO,IAAI,CAAC,KAAK,CAAA;IAClB,CAAC;CACD;AAED;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAChC,MAA0C,OAAO,CAAC,GAAG;IAErD,MAAM,GAAG,GAAG,GAAG,CAAC,2BAA2B,EAAE,IAAI,EAAE,CAAA;IACnD,OAAO,IAAI,UAAU,CAAC,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;AAC1E,CAAC"}
|