@namzu/sdk 39.0.0 → 40.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 +151 -0
- package/dist/connector/mcp/adapter.d.ts.map +1 -1
- package/dist/connector/mcp/adapter.js +20 -6
- package/dist/connector/mcp/adapter.js.map +1 -1
- package/dist/manager/run/persistence.d.ts +8 -0
- package/dist/manager/run/persistence.d.ts.map +1 -1
- package/dist/manager/run/persistence.js +12 -0
- package/dist/manager/run/persistence.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 +5 -1
- package/dist/public-runtime.js.map +1 -1
- package/dist/public-tools.d.ts +11 -0
- package/dist/public-tools.d.ts.map +1 -1
- package/dist/public-tools.js +14 -0
- package/dist/public-tools.js.map +1 -1
- package/dist/registry/tool/execute.d.ts.map +1 -1
- package/dist/registry/tool/execute.js +2 -3
- package/dist/registry/tool/execute.js.map +1 -1
- package/dist/registry/tool/portable.d.ts +65 -0
- package/dist/registry/tool/portable.d.ts.map +1 -0
- package/dist/registry/tool/portable.js +244 -0
- package/dist/registry/tool/portable.js.map +1 -0
- package/dist/registry/tool/schema.d.ts +32 -5
- package/dist/registry/tool/schema.d.ts.map +1 -1
- package/dist/registry/tool/schema.js +35 -9
- package/dist/registry/tool/schema.js.map +1 -1
- package/dist/registry/toolset/catalog.js +8 -8
- package/dist/registry/toolset/catalog.js.map +1 -1
- package/dist/runtime/jobs/awaited-jobs.d.ts +215 -0
- package/dist/runtime/jobs/awaited-jobs.d.ts.map +1 -0
- package/dist/runtime/jobs/awaited-jobs.js +259 -0
- package/dist/runtime/jobs/awaited-jobs.js.map +1 -0
- package/dist/runtime/jobs/registry.d.ts +33 -2
- package/dist/runtime/jobs/registry.d.ts.map +1 -1
- package/dist/runtime/jobs/registry.js +37 -0
- package/dist/runtime/jobs/registry.js.map +1 -1
- package/dist/runtime/query/executor.d.ts +28 -0
- package/dist/runtime/query/executor.d.ts.map +1 -1
- package/dist/runtime/query/executor.js +39 -1
- package/dist/runtime/query/executor.js.map +1 -1
- package/dist/runtime/query/file-evidence-context.d.ts.map +1 -1
- package/dist/runtime/query/file-evidence-context.js +159 -43
- package/dist/runtime/query/file-evidence-context.js.map +1 -1
- package/dist/runtime/query/file-evidence-replay.d.ts +260 -0
- package/dist/runtime/query/file-evidence-replay.d.ts.map +1 -0
- package/dist/runtime/query/file-evidence-replay.js +647 -0
- package/dist/runtime/query/file-evidence-replay.js.map +1 -0
- package/dist/runtime/query/file-evidence-seed.d.ts +50 -0
- package/dist/runtime/query/file-evidence-seed.d.ts.map +1 -0
- package/dist/runtime/query/file-evidence-seed.js +100 -0
- package/dist/runtime/query/file-evidence-seed.js.map +1 -0
- package/dist/runtime/query/index.d.ts.map +1 -1
- package/dist/runtime/query/index.js +94 -2
- package/dist/runtime/query/index.js.map +1 -1
- package/dist/runtime/query/iteration/index.d.ts +87 -9
- package/dist/runtime/query/iteration/index.d.ts.map +1 -1
- package/dist/runtime/query/iteration/index.js +193 -28
- package/dist/runtime/query/iteration/index.js.map +1 -1
- package/dist/runtime/query/iteration/phases/context.d.ts +10 -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 +5 -1
- package/dist/runtime/query/iteration/phases/tool-review.js.map +1 -1
- package/dist/runtime/query/plugin-hooks.d.ts +14 -0
- package/dist/runtime/query/plugin-hooks.d.ts.map +1 -1
- package/dist/runtime/query/plugin-hooks.js +18 -0
- package/dist/runtime/query/plugin-hooks.js.map +1 -1
- package/dist/runtime/query/repeat-call.d.ts +17 -4
- package/dist/runtime/query/repeat-call.d.ts.map +1 -1
- package/dist/runtime/query/repeat-call.js +26 -19
- package/dist/runtime/query/repeat-call.js.map +1 -1
- package/dist/runtime/query/steering.d.ts +11 -1
- package/dist/runtime/query/steering.d.ts.map +1 -1
- package/dist/runtime/query/steering.js +12 -1
- package/dist/runtime/query/steering.js.map +1 -1
- 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 +1 -0
- package/dist/runtime/query/tooling.js.map +1 -1
- package/dist/scheduler/completion-inbox.d.ts +48 -2
- package/dist/scheduler/completion-inbox.d.ts.map +1 -1
- package/dist/scheduler/completion-inbox.js +102 -10
- package/dist/scheduler/completion-inbox.js.map +1 -1
- package/dist/tools/builtins/bash.d.ts.map +1 -1
- package/dist/tools/builtins/bash.js +4 -10
- package/dist/tools/builtins/bash.js.map +1 -1
- package/dist/tools/builtins/edit-apply.d.ts +126 -0
- package/dist/tools/builtins/edit-apply.d.ts.map +1 -0
- package/dist/tools/builtins/edit-apply.js +360 -0
- package/dist/tools/builtins/edit-apply.js.map +1 -0
- package/dist/tools/builtins/edit.d.ts +143 -1
- package/dist/tools/builtins/edit.d.ts.map +1 -1
- package/dist/tools/builtins/edit.js +37 -219
- package/dist/tools/builtins/edit.js.map +1 -1
- package/dist/tools/builtins/index.d.ts +1 -0
- package/dist/tools/builtins/index.d.ts.map +1 -1
- package/dist/tools/builtins/index.js +9 -3
- package/dist/tools/builtins/index.js.map +1 -1
- package/dist/tools/builtins/job.js +1 -1
- package/dist/tools/builtins/job.js.map +1 -1
- package/dist/tools/builtins/read-file.d.ts +2 -2
- package/dist/tools/builtins/read-file.d.ts.map +1 -1
- package/dist/tools/builtins/read-file.js +50 -65
- package/dist/tools/builtins/read-file.js.map +1 -1
- package/dist/tools/builtins/read-render.d.ts +56 -0
- package/dist/tools/builtins/read-render.d.ts.map +1 -0
- package/dist/tools/builtins/read-render.js +73 -0
- package/dist/tools/builtins/read-render.js.map +1 -0
- package/dist/tools/builtins/wait-for-job-bounds.d.ts +67 -0
- package/dist/tools/builtins/wait-for-job-bounds.d.ts.map +1 -0
- package/dist/tools/builtins/wait-for-job-bounds.js +108 -0
- package/dist/tools/builtins/wait-for-job-bounds.js.map +1 -0
- package/dist/tools/builtins/wait-for-job.d.ts +6 -0
- package/dist/tools/builtins/wait-for-job.d.ts.map +1 -0
- package/dist/tools/builtins/wait-for-job.js +162 -0
- package/dist/tools/builtins/wait-for-job.js.map +1 -0
- package/dist/tools/builtins/write-file.js +5 -0
- package/dist/tools/builtins/write-file.js.map +1 -1
- package/dist/tools/coordinator/index.d.ts.map +1 -1
- package/dist/tools/coordinator/index.js +1 -7
- package/dist/tools/coordinator/index.js.map +1 -1
- package/dist/tools/file-read-tracker.d.ts.map +1 -1
- package/dist/tools/file-read-tracker.js +88 -10
- package/dist/tools/file-read-tracker.js.map +1 -1
- package/dist/types/message/index.d.ts +1 -1
- package/dist/types/message/index.d.ts.map +1 -1
- package/dist/types/message/index.js +2 -0
- package/dist/types/message/index.js.map +1 -1
- package/dist/types/run/entity.d.ts +13 -0
- package/dist/types/run/entity.d.ts.map +1 -1
- package/dist/types/sandbox/index.d.ts +15 -14
- package/dist/types/sandbox/index.d.ts.map +1 -1
- package/dist/types/sandbox/index.js.map +1 -1
- package/dist/types/tool/index.d.ts +109 -0
- package/dist/types/tool/index.d.ts.map +1 -1
- package/dist/types/tool/index.js.map +1 -1
- package/dist/utils/env.d.ts +19 -0
- package/dist/utils/env.d.ts.map +1 -0
- package/dist/utils/env.js +25 -0
- package/dist/utils/env.js.map +1 -0
- package/package.json +1 -1
- package/src/connector/mcp/adapter.ts +20 -6
- package/src/manager/run/persistence.ts +12 -0
- package/src/public-runtime.ts +9 -1
- package/src/public-tools.ts +18 -0
- package/src/registry/tool/execute.ts +2 -4
- package/src/registry/tool/portable.ts +264 -0
- package/src/registry/tool/schema.ts +38 -8
- package/src/registry/toolset/catalog.ts +8 -9
- package/src/runtime/jobs/awaited-jobs.ts +271 -0
- package/src/runtime/jobs/registry.ts +50 -0
- package/src/runtime/query/executor.ts +49 -1
- package/src/runtime/query/file-evidence-context.ts +190 -46
- package/src/runtime/query/file-evidence-replay.ts +776 -0
- package/src/runtime/query/file-evidence-seed.ts +126 -0
- package/src/runtime/query/index.ts +104 -2
- package/src/runtime/query/iteration/index.ts +202 -28
- package/src/runtime/query/iteration/phases/context.ts +10 -0
- package/src/runtime/query/iteration/phases/tool-review.ts +4 -0
- package/src/runtime/query/plugin-hooks.ts +20 -0
- package/src/runtime/query/repeat-call.ts +28 -18
- package/src/runtime/query/steering.ts +11 -0
- package/src/runtime/query/tooling.ts +3 -0
- package/src/scheduler/completion-inbox.ts +105 -9
- package/src/tools/builtins/bash.ts +4 -10
- package/src/tools/builtins/edit-apply.ts +456 -0
- package/src/tools/builtins/edit.ts +39 -270
- package/src/tools/builtins/index.ts +9 -3
- package/src/tools/builtins/job.ts +1 -1
- package/src/tools/builtins/read-file.ts +56 -77
- package/src/tools/builtins/read-render.ts +104 -0
- package/src/tools/builtins/wait-for-job-bounds.ts +179 -0
- package/src/tools/builtins/wait-for-job.ts +184 -0
- package/src/tools/builtins/write-file.ts +5 -0
- package/src/tools/coordinator/index.ts +1 -7
- package/src/tools/file-read-tracker.ts +85 -7
- package/src/types/message/index.ts +2 -0
- package/src/types/run/entity.ts +14 -0
- package/src/types/sandbox/index.ts +15 -14
- package/src/types/tool/index.ts +104 -0
- package/src/utils/env.ts +23 -0
|
@@ -50,11 +50,24 @@ export declare class RepeatCallTracker {
|
|
|
50
50
|
refusal(toolName: string, input: unknown): string | undefined;
|
|
51
51
|
}
|
|
52
52
|
/**
|
|
53
|
-
* Rides the notice out on the last `tool_result` of the batch
|
|
53
|
+
* Rides the notice out on the last `tool_result` of the batch, same slot
|
|
54
|
+
* steering uses: a `tool_use` block must be answered by a `tool_result` with
|
|
55
|
+
* the same id, so a user message wedged between them is rejected by the
|
|
56
|
+
* provider outright.
|
|
54
57
|
*
|
|
55
|
-
*
|
|
56
|
-
* answered
|
|
57
|
-
*
|
|
58
|
+
* That slot only exists when the trailing result's content is plain text. A
|
|
59
|
+
* result answered with structured content (an image, a document, an MCP
|
|
60
|
+
* block) has a shape the model reads positionally, and appending a string to
|
|
61
|
+
* it is either dropped or corrupts the block — this used to mean the notice
|
|
62
|
+
* was simply dropped, on the theory that an advisory costs nothing to lose.
|
|
63
|
+
* It costs more than a refusal would: `RepeatCallTracker.record` already
|
|
64
|
+
* marked the threshold as announced the moment it fired, so a notice lost
|
|
65
|
+
* here never comes back, unlike steering, which can requeue and wait for a
|
|
66
|
+
* later plain-text result. The fallback instead rides out as its own
|
|
67
|
+
* `runtime-context` message placed AFTER the complete tool-result batch —
|
|
68
|
+
* never between a `tool_use` and its `tool_result`, so provider-required
|
|
69
|
+
* adjacency still holds — carrying that provenance so it is never mistaken
|
|
70
|
+
* for operator input (see `isOperatorUserMessage` in `steering.ts`).
|
|
58
71
|
*/
|
|
59
72
|
export declare function attachRepeatNotice(messages: readonly Message[], notices: readonly RepeatCallNotice[]): readonly Message[];
|
|
60
73
|
//# sourceMappingURL=repeat-call.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repeat-call.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/repeat-call.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repeat-call.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/repeat-call.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAA;AAiC3D,MAAM,WAAW,oBAAoB;IACpC,yDAAyD;IACzD,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B,8CAA8C;IAC9C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;IAC9B;;;OAGG;IACH,QAAQ,CAAC,iBAAiB,EAAE,MAAM,CAAA;CAClC;AAED,eAAO,MAAM,yBAAyB,EAAE,oBAIvC,CAAA;AAED,MAAM,WAAW,gBAAgB;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,KAAK,EAAE,QAAQ,GAAG,WAAW,CAAA;IACtC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CACrB;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAQjB,OAAO,CAAC,QAAQ,CAAC,UAAU;IAPvC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA4B;IACnD;uEACmE;IACnE,OAAO,CAAC,QAAQ,CAAC,SAAS,CAA4C;IACtE,iEAAiE;IACjE,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA4B;gBAExB,UAAU,GAAE,oBAAgD;IAEzF;;;;;OAKG;IACH,MAAM,CACL,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,OAAO,EACd,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;KAAE,GACpC,gBAAgB,GAAG,SAAS;IA6B/B,qEAAqE;IACrE,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM;IAIjD;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS;CAK7D;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CACjC,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE,SAAS,gBAAgB,EAAE,GAClC,SAAS,OAAO,EAAE,CAqBpB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { createRuntimeContextMessage } from '../../types/message/index.js';
|
|
1
2
|
import { stableStringify } from './tool-grants.js';
|
|
2
3
|
/**
|
|
3
4
|
* Notices a model issuing the same tool call over and over, and says so.
|
|
@@ -100,15 +101,29 @@ export class RepeatCallTracker {
|
|
|
100
101
|
}
|
|
101
102
|
}
|
|
102
103
|
/**
|
|
103
|
-
* Rides the notice out on the last `tool_result` of the batch
|
|
104
|
+
* Rides the notice out on the last `tool_result` of the batch, same slot
|
|
105
|
+
* steering uses: a `tool_use` block must be answered by a `tool_result` with
|
|
106
|
+
* the same id, so a user message wedged between them is rejected by the
|
|
107
|
+
* provider outright.
|
|
104
108
|
*
|
|
105
|
-
*
|
|
106
|
-
* answered
|
|
107
|
-
*
|
|
109
|
+
* That slot only exists when the trailing result's content is plain text. A
|
|
110
|
+
* result answered with structured content (an image, a document, an MCP
|
|
111
|
+
* block) has a shape the model reads positionally, and appending a string to
|
|
112
|
+
* it is either dropped or corrupts the block — this used to mean the notice
|
|
113
|
+
* was simply dropped, on the theory that an advisory costs nothing to lose.
|
|
114
|
+
* It costs more than a refusal would: `RepeatCallTracker.record` already
|
|
115
|
+
* marked the threshold as announced the moment it fired, so a notice lost
|
|
116
|
+
* here never comes back, unlike steering, which can requeue and wait for a
|
|
117
|
+
* later plain-text result. The fallback instead rides out as its own
|
|
118
|
+
* `runtime-context` message placed AFTER the complete tool-result batch —
|
|
119
|
+
* never between a `tool_use` and its `tool_result`, so provider-required
|
|
120
|
+
* adjacency still holds — carrying that provenance so it is never mistaken
|
|
121
|
+
* for operator input (see `isOperatorUserMessage` in `steering.ts`).
|
|
108
122
|
*/
|
|
109
123
|
export function attachRepeatNotice(messages, notices) {
|
|
110
124
|
if (notices.length === 0)
|
|
111
125
|
return messages;
|
|
126
|
+
const noticeText = notices.map((n) => n.text).join('\n');
|
|
112
127
|
let lastToolIndex = -1;
|
|
113
128
|
for (let index = messages.length - 1; index >= 0; index--) {
|
|
114
129
|
if (messages[index]?.role === 'tool') {
|
|
@@ -116,20 +131,12 @@ export function attachRepeatNotice(messages, notices) {
|
|
|
116
131
|
break;
|
|
117
132
|
}
|
|
118
133
|
}
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
if (typeof target.content !== 'string')
|
|
127
|
-
return messages;
|
|
128
|
-
const next = [...messages];
|
|
129
|
-
next[lastToolIndex] = {
|
|
130
|
-
...target,
|
|
131
|
-
content: `${target.content}\n\n${notices.map((n) => n.text).join('\n')}`,
|
|
132
|
-
};
|
|
133
|
-
return next;
|
|
134
|
+
const target = lastToolIndex === -1 ? undefined : messages[lastToolIndex];
|
|
135
|
+
if (target && typeof target.content === 'string') {
|
|
136
|
+
const next = [...messages];
|
|
137
|
+
next[lastToolIndex] = { ...target, content: `${target.content}\n\n${noticeText}` };
|
|
138
|
+
return next;
|
|
139
|
+
}
|
|
140
|
+
return [...messages, createRuntimeContextMessage(noticeText, 'repeat-call')];
|
|
134
141
|
}
|
|
135
142
|
//# sourceMappingURL=repeat-call.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repeat-call.js","sourceRoot":"","sources":["../../../src/runtime/query/repeat-call.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"repeat-call.js","sourceRoot":"","sources":["../../../src/runtime/query/repeat-call.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,7 +68,17 @@ export declare class SteeringBinding implements SteeringChannel {
|
|
|
68
68
|
* host is trying to do. Different party, different frame, on purpose.
|
|
69
69
|
*/
|
|
70
70
|
/** The same slot as steering, for notices the kernel itself has to deliver. */
|
|
71
|
-
export declare function attachNotice(messages: readonly Message[], channel: SteeringChannel | undefined, format: (text: string) => string
|
|
71
|
+
export declare function attachNotice(messages: readonly Message[], channel: SteeringChannel | undefined, format: (text: string) => string,
|
|
72
|
+
/**
|
|
73
|
+
* Told only when the text actually landed on a result the model will read.
|
|
74
|
+
*
|
|
75
|
+
* Not on the two paths above it: a batch with no tool result leaves the
|
|
76
|
+
* notice queued, and a result whose content is not a string puts it back.
|
|
77
|
+
* Draining is therefore not delivery, which matters to the caller that
|
|
78
|
+
* keeps its own record of what the text accounts for — `AwaitedJobs`
|
|
79
|
+
* drops an exit's entry here, and a premature drop would strand the exit.
|
|
80
|
+
*/
|
|
81
|
+
onDelivered?: () => void): readonly Message[];
|
|
72
82
|
/** What the model reads when a background job it started has ended. */
|
|
73
83
|
export declare function formatJobNote(text: string): string;
|
|
74
84
|
export declare function formatSteeringNote(text: string): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steering.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/steering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAExE,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,WAAW,CAQ9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAEzB,yDAAyD;IACzD,KAAK,IAAI,MAAM,GAAG,SAAS,CAAA;IAE3B,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CACzB;AAED,qBAAa,eAAgB,YAAW,eAAe;IACtD,OAAO,CAAC,MAAM,CAAe;IAE7B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB,KAAK,IAAI,MAAM,GAAG,SAAS;IAO3B,IAAI,OAAO,IAAI,OAAO,CAErB;CACD;AAED;;;;;;;;;;;;GAYG;AACH,+EAA+E;AAC/E,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE,eAAe,GAAG,SAAS,EACpC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,
|
|
1
|
+
{"version":3,"file":"steering.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/steering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAA;AAExE,sEAAsE;AACtE,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,WAAW,CAQ9E;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,WAAW,eAAe;IAC/B;;;;;;;;;;OAUG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAA;IAEzB,yDAAyD;IACzD,KAAK,IAAI,MAAM,GAAG,SAAS,CAAA;IAE3B,qDAAqD;IACrD,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CACzB;AAED,qBAAa,eAAgB,YAAW,eAAe;IACtD,OAAO,CAAC,MAAM,CAAe;IAE7B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB,KAAK,IAAI,MAAM,GAAG,SAAS;IAO3B,IAAI,OAAO,IAAI,OAAO,CAErB;CACD;AAED;;;;;;;;;;;;GAYG;AACH,+EAA+E;AAC/E,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE,eAAe,GAAG,SAAS,EACpC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM;AAChC;;;;;;;;GAQG;AACH,WAAW,CAAC,EAAE,MAAM,IAAI,GACtB,SAAS,OAAO,EAAE,CAqBpB;AAED,uEAAuE;AACvE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAElD;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC7B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,OAAO,EAAE,eAAe,GAAG,SAAS;AACpC,4EAA4E;AAC5E,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAClC,SAAS,OAAO,EAAE,CAkCpB"}
|
|
@@ -40,7 +40,17 @@ export class SteeringBinding {
|
|
|
40
40
|
* host is trying to do. Different party, different frame, on purpose.
|
|
41
41
|
*/
|
|
42
42
|
/** The same slot as steering, for notices the kernel itself has to deliver. */
|
|
43
|
-
export function attachNotice(messages, channel, format
|
|
43
|
+
export function attachNotice(messages, channel, format,
|
|
44
|
+
/**
|
|
45
|
+
* Told only when the text actually landed on a result the model will read.
|
|
46
|
+
*
|
|
47
|
+
* Not on the two paths above it: a batch with no tool result leaves the
|
|
48
|
+
* notice queued, and a result whose content is not a string puts it back.
|
|
49
|
+
* Draining is therefore not delivery, which matters to the caller that
|
|
50
|
+
* keeps its own record of what the text accounts for — `AwaitedJobs`
|
|
51
|
+
* drops an exit's entry here, and a premature drop would strand the exit.
|
|
52
|
+
*/
|
|
53
|
+
onDelivered) {
|
|
44
54
|
if (!channel?.pending)
|
|
45
55
|
return messages;
|
|
46
56
|
let lastToolIndex = -1;
|
|
@@ -62,6 +72,7 @@ export function attachNotice(messages, channel, format) {
|
|
|
62
72
|
}
|
|
63
73
|
const next = [...messages];
|
|
64
74
|
next[lastToolIndex] = { ...target, content: target.content + format(text) };
|
|
75
|
+
onDelivered?.();
|
|
65
76
|
return next;
|
|
66
77
|
}
|
|
67
78
|
/** What the model reads when a background job it started has ended. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"steering.js","sourceRoot":"","sources":["../../../src/runtime/query/steering.ts"],"names":[],"mappings":"AAEA,sEAAsE;AACtE,MAAM,UAAU,qBAAqB,CAAC,OAAgB;IACrD,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM;QAAE,OAAO,KAAK,CAAA;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAA;IAC7B,OAAO,CACN,CAAC,MAAM;QACP,MAAM,CAAC,IAAI,KAAK,YAAY;QAC5B,CAAC,MAAM,CAAC,IAAI,KAAK,iBAAiB,IAAI,MAAM,CAAC,IAAI,KAAK,UAAU,CAAC,CACjE,CAAA;AACF,CAAC;AAoDD,MAAM,OAAO,eAAe;IACnB,MAAM,GAAa,EAAE,CAAA;IAE7B,KAAK,CAAC,IAAY;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAA;QAC3B,IAAI,CAAC,OAAO;YAAE,OAAM;QACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC1B,CAAC;IAED,KAAK;QACJ,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAA;QAC9C,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrC,IAAI,CAAC,MAAM,GAAG,EAAE,CAAA;QAChB,OAAO,MAAM,CAAA;IACd,CAAC;IAED,IAAI,OAAO;QACV,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAA;IAC9B,CAAC;CACD;AAED;;;;;;;;;;;;GAYG;AACH,+EAA+E;AAC/E,MAAM,UAAU,YAAY,CAC3B,QAA4B,EAC5B,OAAoC,EACpC,MAAgC;
|
|
1
|
+
{"version":3,"file":"steering.js","sourceRoot":"","sources":["../../../src/runtime/query/steering.ts"],"names":[],"mappings":"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"}
|
|
@@ -32,6 +32,8 @@ export interface ToolingBootstrapConfig {
|
|
|
32
32
|
backgroundJobs?: BackgroundJobRegistry;
|
|
33
33
|
/** See `QueryParams.backgroundJobOwner`. */
|
|
34
34
|
backgroundJobOwner?: string;
|
|
35
|
+
/** Where `wait_for_job` records wait-intent; see the executor's own field. */
|
|
36
|
+
onJobAwaited?: (id: string) => void;
|
|
35
37
|
/** Where the `skill` tool reads from. */
|
|
36
38
|
skills?: SkillRegistryRef;
|
|
37
39
|
/** How this run reaches the web. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooling.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/tooling.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"tooling.d.ts","sourceRoot":"","sources":["../../../src/runtime/query/tooling.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ export class ToolingBootstrap {
|
|
|
18
18
|
pluginManager: config.pluginManager,
|
|
19
19
|
...(config.backgroundJobs ? { backgroundJobs: config.backgroundJobs } : {}),
|
|
20
20
|
...(config.backgroundJobOwner ? { backgroundJobOwner: config.backgroundJobOwner } : {}),
|
|
21
|
+
...(config.onJobAwaited ? { onJobAwaited: config.onJobAwaited } : {}),
|
|
21
22
|
...(config.skills ? { skills: config.skills } : {}),
|
|
22
23
|
...(config.web ? { web: config.web } : {}),
|
|
23
24
|
...(config.toolTimeoutMs !== undefined ? { toolTimeoutMs: config.toolTimeoutMs } : {}),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tooling.js","sourceRoot":"","sources":["../../../src/runtime/query/tooling.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;
|
|
1
|
+
{"version":3,"file":"tooling.js","sourceRoot":"","sources":["../../../src/runtime/query/tooling.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,7 +53,30 @@ export declare class CompletionInbox {
|
|
|
53
53
|
* takes one, and a host that owns a gateway naturally reuses it.
|
|
54
54
|
*/
|
|
55
55
|
private readonly ours;
|
|
56
|
-
|
|
56
|
+
/**
|
|
57
|
+
* Owned tasks not yet observed to have settled, in launch order.
|
|
58
|
+
*
|
|
59
|
+
* A `Set`'s iteration order is insertion order, so the most recently
|
|
60
|
+
* launched entry is always last — {@link describeOwnedWork} reads that
|
|
61
|
+
* order back to front. An id leaves this set the moment its completion is
|
|
62
|
+
* observed, by whichever of the three paths sees it first: the gateway's
|
|
63
|
+
* broadcast, an announcement recovered from {@link unowned}, or a launch
|
|
64
|
+
* that finds the task already terminal. It is never evicted for any other
|
|
65
|
+
* reason, so a long-running task stays in here — and therefore visible —
|
|
66
|
+
* for exactly as long as it is actually running, regardless of how many
|
|
67
|
+
* other tasks this run launches meanwhile.
|
|
68
|
+
*/
|
|
69
|
+
private readonly runningOwned;
|
|
70
|
+
/**
|
|
71
|
+
* Owned tasks observed to have settled, oldest first, bounded to
|
|
72
|
+
* {@link OWNED_WORK_DISPLAY_LIMIT}.
|
|
73
|
+
*
|
|
74
|
+
* This bound is display-driven, not a memory concern the way
|
|
75
|
+
* {@link UNOWNED_BUFFER_LIMIT} is: a settled task's own result already
|
|
76
|
+
* reached the model once (inline or as a notification), so dropping it
|
|
77
|
+
* from here loses a convenience, not the only record of it.
|
|
78
|
+
*/
|
|
79
|
+
private readonly settledOwned;
|
|
57
80
|
/**
|
|
58
81
|
* Announcements that arrived before anyone said whose task it was.
|
|
59
82
|
*
|
|
@@ -125,6 +148,15 @@ export declare class CompletionInbox {
|
|
|
125
148
|
* contract, and `getTask`'s own docs now say so.
|
|
126
149
|
*/
|
|
127
150
|
launched(taskId: TaskId): void;
|
|
151
|
+
/**
|
|
152
|
+
* Move an owned task from {@link runningOwned} to {@link settledOwned}.
|
|
153
|
+
*
|
|
154
|
+
* Idempotent: `claim` and the completion listener can both observe the
|
|
155
|
+
* same settlement (the race either can win), and re-marking a task that
|
|
156
|
+
* is already in {@link settledOwned} moves it to the most-recently-settled
|
|
157
|
+
* end rather than duplicating it there.
|
|
158
|
+
*/
|
|
159
|
+
private markSettled;
|
|
128
160
|
/**
|
|
129
161
|
* Say that a task was launched with nothing waiting on it.
|
|
130
162
|
*
|
|
@@ -156,7 +188,21 @@ export declare class CompletionInbox {
|
|
|
156
188
|
claim(taskId: TaskId): void;
|
|
157
189
|
/** Whether anything is waiting to be told. */
|
|
158
190
|
get hasUnheard(): boolean;
|
|
159
|
-
/**
|
|
191
|
+
/**
|
|
192
|
+
* Bounded, non-consuming scheduler observations. Delivery never
|
|
193
|
+
* establishes user-facing completion.
|
|
194
|
+
*
|
|
195
|
+
* Running tasks — most recently launched first, matching the order the
|
|
196
|
+
* rest of this projection has always used — fill the {@link
|
|
197
|
+
* OWNED_WORK_DISPLAY_LIMIT} slots first, so a task still going is named
|
|
198
|
+
* here for as long as it keeps running, no matter how many other tasks
|
|
199
|
+
* this run has since launched. The most recently SETTLED tasks fill
|
|
200
|
+
* whatever slots running tasks leave over. A settled task bumped out
|
|
201
|
+
* entirely is not reported missing — its own result already reached the
|
|
202
|
+
* model once — but a RUNNING task that does not fit is: the preamble
|
|
203
|
+
* says exactly how many, so the model never mistakes the cap for the
|
|
204
|
+
* task having ended.
|
|
205
|
+
*/
|
|
160
206
|
describeOwnedWork(): string | undefined;
|
|
161
207
|
/**
|
|
162
208
|
* Tasks this run launched that are still running.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-inbox.d.ts","sourceRoot":"","sources":["../../src/scheduler/completion-inbox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"completion-inbox.d.ts","sourceRoot":"","sources":["../../src/scheduler/completion-inbox.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAE5E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAEnD,OAAO,EAAE,KAAK,MAAM,EAAiB,MAAM,oBAAoB,CAAA;AAwC/D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,qBAAa,eAAe;IAsEf,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;IArEjC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,gEAAgE;IAChE,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoB;IAChD;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAoB;IACzC;;;;;;;;;;;;OAYG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;IACjD;;;;;;;;OAQG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C;;;;;;;;;;;;;;;OAeG;IACH,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAgC;IACxD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,2EAA2E;IAC3E,OAAO,CAAC,OAAO,CAAC,CAAe;IAE/B;;;OAGG;gBAC0B,GAAG,CAAC,EAAE,MAAM,YAAA;IAEzC;;;;;;;OAOG;IACH,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,MAAM,IAAI;IAwB1C;;;;;;;;;;OAUG;IACH,OAAO,CAAC,IAAI;IAmBZ;;;;;;;;;;;;;;;;;;;;;;OAsBG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IA8B9B;;;;;;;OAOG;IACH,OAAO,CAAC,WAAW;IAQnB;;;;;;;;;OASG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAM5B,sEAAsE;IACtE,IAAI,cAAc,IAAI,OAAO,CAE5B;IAED;;;;;;;OAOG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBtE;;;;;OAKG;IACH,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAa3B,8CAA8C;IAC9C,IAAI,UAAU,IAAI,OAAO,CAExB;IAED;;;;;;;;;;;;;;OAcG;IACH,iBAAiB,IAAI,MAAM,GAAG,SAAS;IA8BvC;;;;;;OAMG;IACH,IAAI,kBAAkB,IAAI,SAAS,MAAM,EAAE,CAE1C;IAED;;;;;OAKG;IACH,KAAK,IAAI,UAAU,EAAE;IAuBrB;;;;;;;;OAQG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;IAsB5B;;;;;;;;;OASG;IACH,KAAK,IAAI,IAAI;CAgBb;AA6BD;;;;;;;;;;;;GAYG;AACH,wBAAgB,4BAA4B,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CA8EnF"}
|
|
@@ -22,6 +22,22 @@ import { resolveLogger } from '../utils/logger.js';
|
|
|
22
22
|
* result every other run on that gateway ever produced.
|
|
23
23
|
*/
|
|
24
24
|
const UNOWNED_BUFFER_LIMIT = 32;
|
|
25
|
+
/**
|
|
26
|
+
* How many owned tasks {@link CompletionInbox.describeOwnedWork} can name at
|
|
27
|
+
* once.
|
|
28
|
+
*
|
|
29
|
+
* Unrelated to {@link UNOWNED_BUFFER_LIMIT} — that one bounds a memory leak;
|
|
30
|
+
* this one bounds a request payload. `describeOwnedWork`'s output is admitted
|
|
31
|
+
* into the request through `appendWorkContext`'s 8,000-character / ~2,000-token
|
|
32
|
+
* gate (`runtime/query/iteration/index.ts`), and 16 tasks' worth of scheduler
|
|
33
|
+
* state fits that with room to spare, including the overflow note below.
|
|
34
|
+
*
|
|
35
|
+
* Running tasks fill these slots first — see {@link CompletionInbox.runningOwned}
|
|
36
|
+
* — so a task still going is never bumped out by launch count alone the way a
|
|
37
|
+
* single FIFO over every owned task used to bump it. Only once every running
|
|
38
|
+
* task has a slot do the most recently SETTLED tasks take what is left.
|
|
39
|
+
*/
|
|
40
|
+
const OWNED_WORK_DISPLAY_LIMIT = 16;
|
|
25
41
|
/**
|
|
26
42
|
* Completions that finished with nobody left to hear them.
|
|
27
43
|
*
|
|
@@ -74,7 +90,30 @@ export class CompletionInbox {
|
|
|
74
90
|
* takes one, and a host that owns a gateway naturally reuses it.
|
|
75
91
|
*/
|
|
76
92
|
ours = new Set();
|
|
77
|
-
|
|
93
|
+
/**
|
|
94
|
+
* Owned tasks not yet observed to have settled, in launch order.
|
|
95
|
+
*
|
|
96
|
+
* A `Set`'s iteration order is insertion order, so the most recently
|
|
97
|
+
* launched entry is always last — {@link describeOwnedWork} reads that
|
|
98
|
+
* order back to front. An id leaves this set the moment its completion is
|
|
99
|
+
* observed, by whichever of the three paths sees it first: the gateway's
|
|
100
|
+
* broadcast, an announcement recovered from {@link unowned}, or a launch
|
|
101
|
+
* that finds the task already terminal. It is never evicted for any other
|
|
102
|
+
* reason, so a long-running task stays in here — and therefore visible —
|
|
103
|
+
* for exactly as long as it is actually running, regardless of how many
|
|
104
|
+
* other tasks this run launches meanwhile.
|
|
105
|
+
*/
|
|
106
|
+
runningOwned = new Set();
|
|
107
|
+
/**
|
|
108
|
+
* Owned tasks observed to have settled, oldest first, bounded to
|
|
109
|
+
* {@link OWNED_WORK_DISPLAY_LIMIT}.
|
|
110
|
+
*
|
|
111
|
+
* This bound is display-driven, not a memory concern the way
|
|
112
|
+
* {@link UNOWNED_BUFFER_LIMIT} is: a settled task's own result already
|
|
113
|
+
* reached the model once (inline or as a notification), so dropping it
|
|
114
|
+
* from here loses a convenience, not the only record of it.
|
|
115
|
+
*/
|
|
116
|
+
settledOwned = [];
|
|
78
117
|
/**
|
|
79
118
|
* Announcements that arrived before anyone said whose task it was.
|
|
80
119
|
*
|
|
@@ -128,6 +167,7 @@ export class CompletionInbox {
|
|
|
128
167
|
// finished its wait faster than the listener ran — is already
|
|
129
168
|
// delivered. Nothing to queue.
|
|
130
169
|
this.outstanding.delete(handle.taskId);
|
|
170
|
+
this.markSettled(handle.taskId);
|
|
131
171
|
if (this.claimed.has(handle.taskId))
|
|
132
172
|
return;
|
|
133
173
|
this.unheard.set(handle.taskId, handle);
|
|
@@ -189,26 +229,48 @@ export class CompletionInbox {
|
|
|
189
229
|
if (this.ours.has(taskId))
|
|
190
230
|
return;
|
|
191
231
|
this.ours.add(taskId);
|
|
192
|
-
this.
|
|
193
|
-
|
|
194
|
-
this.recentOwned.shift();
|
|
195
|
-
if (this.claimed.has(taskId) || this.unheard.has(taskId))
|
|
232
|
+
if (this.claimed.has(taskId) || this.unheard.has(taskId)) {
|
|
233
|
+
this.markSettled(taskId);
|
|
196
234
|
return;
|
|
235
|
+
}
|
|
197
236
|
const parked = this.unowned.get(taskId);
|
|
198
237
|
if (parked) {
|
|
199
238
|
this.unowned.delete(taskId);
|
|
200
239
|
this.unheard.set(taskId, parked);
|
|
240
|
+
this.markSettled(taskId);
|
|
201
241
|
for (const wake of [...this.arrivals])
|
|
202
242
|
wake();
|
|
203
243
|
return;
|
|
204
244
|
}
|
|
205
245
|
const settled = this.gateway?.getTask(taskId);
|
|
206
|
-
if (!settled || !isTerminalAgentTaskState(settled.state))
|
|
246
|
+
if (!settled || !isTerminalAgentTaskState(settled.state)) {
|
|
247
|
+
// Not observed terminal by any of the checks above: still running,
|
|
248
|
+
// as far as this inbox knows.
|
|
249
|
+
this.runningOwned.add(taskId);
|
|
207
250
|
return;
|
|
251
|
+
}
|
|
208
252
|
this.unheard.set(taskId, settled);
|
|
253
|
+
this.markSettled(taskId);
|
|
209
254
|
for (const wake of [...this.arrivals])
|
|
210
255
|
wake();
|
|
211
256
|
}
|
|
257
|
+
/**
|
|
258
|
+
* Move an owned task from {@link runningOwned} to {@link settledOwned}.
|
|
259
|
+
*
|
|
260
|
+
* Idempotent: `claim` and the completion listener can both observe the
|
|
261
|
+
* same settlement (the race either can win), and re-marking a task that
|
|
262
|
+
* is already in {@link settledOwned} moves it to the most-recently-settled
|
|
263
|
+
* end rather than duplicating it there.
|
|
264
|
+
*/
|
|
265
|
+
markSettled(taskId) {
|
|
266
|
+
this.runningOwned.delete(taskId);
|
|
267
|
+
const at = this.settledOwned.indexOf(taskId);
|
|
268
|
+
if (at !== -1)
|
|
269
|
+
this.settledOwned.splice(at, 1);
|
|
270
|
+
this.settledOwned.push(taskId);
|
|
271
|
+
if (this.settledOwned.length > OWNED_WORK_DISPLAY_LIMIT)
|
|
272
|
+
this.settledOwned.shift();
|
|
273
|
+
}
|
|
212
274
|
/**
|
|
213
275
|
* Say that a task was launched with nothing waiting on it.
|
|
214
276
|
*
|
|
@@ -269,16 +331,42 @@ export class CompletionInbox {
|
|
|
269
331
|
this.claimed.add(taskId);
|
|
270
332
|
this.unheard.delete(taskId);
|
|
271
333
|
this.outstanding.delete(taskId);
|
|
334
|
+
// A tool only claims a result it is already holding, so a claim is
|
|
335
|
+
// itself proof of settlement — independent of whether the gateway's
|
|
336
|
+
// own broadcast has reached this inbox yet. Without this, a task
|
|
337
|
+
// claimed ahead of its announcement (see the race above) stayed in
|
|
338
|
+
// {@link runningOwned} until that announcement arrived, understating
|
|
339
|
+
// its own "still running" count in the meantime.
|
|
340
|
+
this.markSettled(taskId);
|
|
272
341
|
}
|
|
273
342
|
/** Whether anything is waiting to be told. */
|
|
274
343
|
get hasUnheard() {
|
|
275
344
|
return this.unheard.size > 0;
|
|
276
345
|
}
|
|
277
|
-
/**
|
|
346
|
+
/**
|
|
347
|
+
* Bounded, non-consuming scheduler observations. Delivery never
|
|
348
|
+
* establishes user-facing completion.
|
|
349
|
+
*
|
|
350
|
+
* Running tasks — most recently launched first, matching the order the
|
|
351
|
+
* rest of this projection has always used — fill the {@link
|
|
352
|
+
* OWNED_WORK_DISPLAY_LIMIT} slots first, so a task still going is named
|
|
353
|
+
* here for as long as it keeps running, no matter how many other tasks
|
|
354
|
+
* this run has since launched. The most recently SETTLED tasks fill
|
|
355
|
+
* whatever slots running tasks leave over. A settled task bumped out
|
|
356
|
+
* entirely is not reported missing — its own result already reached the
|
|
357
|
+
* model once — but a RUNNING task that does not fit is: the preamble
|
|
358
|
+
* says exactly how many, so the model never mistakes the cap for the
|
|
359
|
+
* task having ended.
|
|
360
|
+
*/
|
|
278
361
|
describeOwnedWork() {
|
|
279
362
|
if (this.ours.size === 0)
|
|
280
363
|
return;
|
|
281
|
-
const
|
|
364
|
+
const running = [...this.runningOwned].reverse();
|
|
365
|
+
const shownRunning = running.slice(0, OWNED_WORK_DISPLAY_LIMIT);
|
|
366
|
+
const stillRunningNotShown = running.length - shownRunning.length;
|
|
367
|
+
const settled = [...this.settledOwned].reverse();
|
|
368
|
+
const shownSettled = settled.slice(0, OWNED_WORK_DISPLAY_LIMIT - shownRunning.length);
|
|
369
|
+
const ids = [...shownRunning, ...shownSettled];
|
|
282
370
|
const tasks = ids.map((taskId) => {
|
|
283
371
|
let handle = this.unheard.get(taskId);
|
|
284
372
|
try {
|
|
@@ -295,7 +383,10 @@ export class CompletionInbox {
|
|
|
295
383
|
resultDelivery: this.claimed.has(taskId) ? 'delivered-to-history' : 'not-delivered',
|
|
296
384
|
};
|
|
297
385
|
});
|
|
298
|
-
|
|
386
|
+
const overflow = stillRunningNotShown > 0
|
|
387
|
+
? ` ${shownRunning.length} running tasks are shown below, and ${stillRunningNotShown} more still running.`
|
|
388
|
+
: '';
|
|
389
|
+
return `Owned delegated work (current scheduler observations).${overflow} Result delivery is not proof that you answered the original request. Answer the latest operator message and complete the requested synthesis of available results unless the operator cancelled or changed that request. Reuse delivered results when sufficient; do not relaunch completed work. If a delivered result is no longer visible, retrieve it by task ID. A terminal state with a non-end_turn stop reason is not successful task completion. Do not repeat a synthesis already given.\n${JSON.stringify({ tasks, omitted: this.ours.size - ids.length })}`;
|
|
299
390
|
}
|
|
300
391
|
/**
|
|
301
392
|
* Tasks this run launched that are still running.
|
|
@@ -384,7 +475,8 @@ export class CompletionInbox {
|
|
|
384
475
|
this.unheard.clear();
|
|
385
476
|
this.outstanding.clear();
|
|
386
477
|
this.ours.clear();
|
|
387
|
-
this.
|
|
478
|
+
this.runningOwned.clear();
|
|
479
|
+
this.settledOwned.length = 0;
|
|
388
480
|
this.claimed.clear();
|
|
389
481
|
this.unowned.clear();
|
|
390
482
|
// Release anyone still waiting. A closed inbox would otherwise hold
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"completion-inbox.js","sourceRoot":"","sources":["../../src/scheduler/completion-inbox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"completion-inbox.js","sourceRoot":"","sources":["../../src/scheduler/completion-inbox.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/bash.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bash.d.ts","sourceRoot":"","sources":["../../../src/tools/builtins/bash.ts"],"names":[],"mappings":"AAqRA,6GAA6G;AAC7G,eAAO,MAAM,qBAAqB,4NACwL,CAAA;AAE1N,eAAO,MAAM,QAAQ;;;;EAqOnB,CAAA"}
|
|
@@ -5,6 +5,7 @@ import { SANDBOX_KILL_GRACE_MS } from '../../constants/sandbox/index.js';
|
|
|
5
5
|
import { DANGEROUS_PATTERNS } from '../../constants/tools/index.js';
|
|
6
6
|
import { killTree } from '../../process/kill-tree.js';
|
|
7
7
|
import { subscribeToAbort } from '../../utils/abort.js';
|
|
8
|
+
import { readPositiveIntEnv } from '../../utils/env.js';
|
|
8
9
|
import { defineTool } from '../defineTool.js';
|
|
9
10
|
import { scrubInheritedEnv } from '../env-scrub.js';
|
|
10
11
|
// Namzu owns its own bash timeout knob — `NAMZU_BASH_TIMEOUT_MS`.
|
|
@@ -45,11 +46,11 @@ const inputSchema = z.object({
|
|
|
45
46
|
.describe('The bash command to execute. Required, non-empty. Single command per call (use `&&` / `;` chaining for compound commands). Avoid heredocs that span more than a few hundred bytes — large content should be created with `write`, then extended with `edit` insertLine: "end", not piped into bash.'),
|
|
46
47
|
timeout: z
|
|
47
48
|
.preprocess((v) => (typeof v === 'string' ? Number(v) : v), z.number().positive().max(MAX_BASH_TIMEOUT_MS).default(DEFAULT_BASH_TIMEOUT_MS))
|
|
48
|
-
.describe(`Command timeout in milliseconds. Default: ${DEFAULT_BASH_TIMEOUT_MS}, maximum: ${MAX_BASH_TIMEOUT_MS}. For work that legitimately runs longer than the maximum, set run_in_background and
|
|
49
|
+
.describe(`Command timeout in milliseconds. Default: ${DEFAULT_BASH_TIMEOUT_MS}, maximum: ${MAX_BASH_TIMEOUT_MS}. For work that legitimately runs longer than the maximum, set run_in_background and await it with \`wait_for_job\`, rather than holding the turn open.`),
|
|
49
50
|
run_in_background: z
|
|
50
51
|
.boolean()
|
|
51
52
|
.optional()
|
|
52
|
-
.describe('Start the command as a background job and return its id immediately, instead of waiting. The turn is not held open;
|
|
53
|
+
.describe('Start the command as a background job and return its id immediately, instead of waiting. The turn is not held open; await its completion with `wait_for_job` — one call, no waiting turns. Use `job` with action "read" only for incremental output while it keeps running, or to pick up after a `wait_for_job` call times out. Use for watchers, dev servers and long builds. Do NOT write `cmd &` yourself — under the sandbox the shell that backgrounds it exits immediately and takes the job with it.'),
|
|
53
54
|
});
|
|
54
55
|
const MAX_SHELL_PROGRESS_CHARS = 160;
|
|
55
56
|
/** Keep a bounded tail even when a process never writes a newline. */
|
|
@@ -304,7 +305,7 @@ export const BashTool = defineTool({
|
|
|
304
305
|
});
|
|
305
306
|
return {
|
|
306
307
|
success: true,
|
|
307
|
-
output: `Started background job ${job.id}.
|
|
308
|
+
output: `Started background job ${job.id}. Await its completion with wait_for_job: {"id":"${job.id}"}. Use job with action "read" only for output while it keeps running.`,
|
|
308
309
|
data: { jobId: job.id, background: true },
|
|
309
310
|
};
|
|
310
311
|
}
|
|
@@ -483,11 +484,4 @@ function describeWithheldEnv(dropped) {
|
|
|
483
484
|
const names = rest > 0 ? `${shown}, and ${rest} more` : shown;
|
|
484
485
|
return `NOTE: ${dropped.length} credential-shaped environment variable(s) were withheld from this command and are unset rather than empty: ${names}. A host that means this command to have one passes it explicitly.`;
|
|
485
486
|
}
|
|
486
|
-
function readPositiveIntEnv(key, fallback) {
|
|
487
|
-
const value = process.env[key]?.trim();
|
|
488
|
-
if (!value)
|
|
489
|
-
return fallback;
|
|
490
|
-
const parsed = Number(value);
|
|
491
|
-
return Number.isSafeInteger(parsed) && parsed > 0 ? parsed : fallback;
|
|
492
|
-
}
|
|
493
487
|
//# sourceMappingURL=bash.js.map
|