@0xmaxma/claude-gateway 2.0.3 → 2.0.5
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/README.md +11 -1
- package/dist/agent/builtin-commands.d.ts +1 -1
- package/dist/agent/builtin-commands.d.ts.map +1 -1
- package/dist/agent/builtin-commands.js +3 -2
- package/dist/agent/builtin-commands.js.map +1 -1
- package/dist/agent/runner.d.ts +109 -9
- package/dist/agent/runner.d.ts.map +1 -1
- package/dist/agent/runner.js +211 -135
- package/dist/agent/runner.js.map +1 -1
- package/dist/agent/skill-learning/index.d.ts.map +1 -1
- package/dist/agent/skill-learning/index.js +27 -8
- package/dist/agent/skill-learning/index.js.map +1 -1
- package/dist/agent/skill-learning/reviewer.d.ts +3 -1
- package/dist/agent/skill-learning/reviewer.d.ts.map +1 -1
- package/dist/agent/skill-learning/reviewer.js +6 -2
- package/dist/agent/skill-learning/reviewer.js.map +1 -1
- package/dist/agent/turn-stream.d.ts +3 -1
- package/dist/agent/turn-stream.d.ts.map +1 -1
- package/dist/agent/turn-stream.js +8 -4
- package/dist/agent/turn-stream.js.map +1 -1
- package/dist/api/gateway-router.d.ts +2 -0
- package/dist/api/gateway-router.d.ts.map +1 -1
- package/dist/api/gateway-router.js +229 -12
- package/dist/api/gateway-router.js.map +1 -1
- package/dist/api/router.js +11 -11
- package/dist/api/router.js.map +1 -1
- package/dist/api/slack-webhook-router.js +1 -1
- package/dist/api/slack-webhook-router.js.map +1 -1
- package/dist/api/voice-router.d.ts +1 -0
- package/dist/api/voice-router.d.ts.map +1 -1
- package/dist/api/voice-router.js +129 -7
- package/dist/api/voice-router.js.map +1 -1
- package/dist/config/claude-settings.d.ts +14 -0
- package/dist/config/claude-settings.d.ts.map +1 -1
- package/dist/config/claude-settings.js +20 -0
- package/dist/config/claude-settings.js.map +1 -1
- package/dist/orchestration/agent-cli-session.d.ts +46 -0
- package/dist/orchestration/agent-cli-session.d.ts.map +1 -0
- package/dist/orchestration/agent-cli-session.js +121 -0
- package/dist/orchestration/agent-cli-session.js.map +1 -0
- package/dist/orchestration/agent-tool-schemas.d.ts +6 -0
- package/dist/orchestration/agent-tool-schemas.d.ts.map +1 -0
- package/dist/orchestration/agent-tool-schemas.js +23 -0
- package/dist/orchestration/agent-tool-schemas.js.map +1 -0
- package/dist/orchestration/bridge.d.ts +7 -3
- package/dist/orchestration/bridge.d.ts.map +1 -1
- package/dist/orchestration/bridge.js +93 -66
- package/dist/orchestration/bridge.js.map +1 -1
- package/dist/orchestration/browser-voice.d.ts +14 -0
- package/dist/orchestration/browser-voice.d.ts.map +1 -0
- package/dist/orchestration/browser-voice.js +30 -0
- package/dist/orchestration/browser-voice.js.map +1 -0
- package/dist/orchestration/channel-input-media.d.ts +6 -0
- package/dist/orchestration/channel-input-media.d.ts.map +1 -1
- package/dist/orchestration/channel-input-media.js +35 -11
- package/dist/orchestration/channel-input-media.js.map +1 -1
- package/dist/orchestration/channel-media-error.d.ts +11 -0
- package/dist/orchestration/channel-media-error.d.ts.map +1 -0
- package/dist/orchestration/channel-media-error.js +38 -0
- package/dist/orchestration/channel-media-error.js.map +1 -0
- package/dist/orchestration/channel-media.d.ts +1 -1
- package/dist/orchestration/channel-media.d.ts.map +1 -1
- package/dist/orchestration/channel-media.js +37 -7
- package/dist/orchestration/channel-media.js.map +1 -1
- package/dist/orchestration/context-footprint.d.ts +14 -0
- package/dist/orchestration/context-footprint.d.ts.map +1 -0
- package/dist/orchestration/context-footprint.js +57 -0
- package/dist/orchestration/context-footprint.js.map +1 -0
- package/dist/orchestration/conversation-intake.d.ts +1 -1
- package/dist/orchestration/conversation-intake.d.ts.map +1 -1
- package/dist/orchestration/conversation-intake.js +1 -1
- package/dist/orchestration/dashboard-reader-worker.d.ts +2 -0
- package/dist/orchestration/dashboard-reader-worker.d.ts.map +1 -0
- package/dist/orchestration/dashboard-reader-worker.js +155 -0
- package/dist/orchestration/dashboard-reader-worker.js.map +1 -0
- package/dist/orchestration/dashboard-reader.d.ts +15 -0
- package/dist/orchestration/dashboard-reader.d.ts.map +1 -0
- package/dist/orchestration/dashboard-reader.js +87 -0
- package/dist/orchestration/dashboard-reader.js.map +1 -0
- package/dist/orchestration/decision-context.d.ts +15 -0
- package/dist/orchestration/decision-context.d.ts.map +1 -0
- package/dist/orchestration/decision-context.js +57 -0
- package/dist/orchestration/decision-context.js.map +1 -0
- package/dist/orchestration/delivery.d.ts +3 -0
- package/dist/orchestration/delivery.d.ts.map +1 -1
- package/dist/orchestration/delivery.js +14 -5
- package/dist/orchestration/delivery.js.map +1 -1
- package/dist/orchestration/display-stream.d.ts +21 -2
- package/dist/orchestration/display-stream.d.ts.map +1 -1
- package/dist/orchestration/display-stream.js +61 -8
- package/dist/orchestration/display-stream.js.map +1 -1
- package/dist/orchestration/inference-errors.d.ts.map +1 -1
- package/dist/orchestration/inference-errors.js +56 -3
- package/dist/orchestration/inference-errors.js.map +1 -1
- package/dist/orchestration/mutation-recovery.d.ts +12 -0
- package/dist/orchestration/mutation-recovery.d.ts.map +1 -0
- package/dist/orchestration/mutation-recovery.js +41 -0
- package/dist/orchestration/mutation-recovery.js.map +1 -0
- package/dist/orchestration/native-compact.d.ts +5 -0
- package/dist/orchestration/native-compact.d.ts.map +1 -0
- package/dist/orchestration/native-compact.js +29 -0
- package/dist/orchestration/native-compact.js.map +1 -0
- package/dist/orchestration/notification-mailbox.d.ts +3 -1
- package/dist/orchestration/notification-mailbox.d.ts.map +1 -1
- package/dist/orchestration/notification-mailbox.js +4 -2
- package/dist/orchestration/notification-mailbox.js.map +1 -1
- package/dist/orchestration/process-turn.d.ts +15 -2
- package/dist/orchestration/process-turn.d.ts.map +1 -1
- package/dist/orchestration/process-turn.js +103 -16
- package/dist/orchestration/process-turn.js.map +1 -1
- package/dist/orchestration/progress-review.d.ts +8 -18
- package/dist/orchestration/progress-review.d.ts.map +1 -1
- package/dist/orchestration/progress-review.js +12 -14
- package/dist/orchestration/progress-review.js.map +1 -1
- package/dist/orchestration/provider-message.d.ts +7 -0
- package/dist/orchestration/provider-message.d.ts.map +1 -0
- package/dist/orchestration/provider-message.js +63 -0
- package/dist/orchestration/provider-message.js.map +1 -0
- package/dist/orchestration/response-errors.d.ts +6 -0
- package/dist/orchestration/response-errors.d.ts.map +1 -0
- package/dist/orchestration/response-errors.js +88 -0
- package/dist/orchestration/response-errors.js.map +1 -0
- package/dist/orchestration/response-schema.d.ts +33 -0
- package/dist/orchestration/response-schema.d.ts.map +1 -0
- package/dist/orchestration/response-schema.js +61 -0
- package/dist/orchestration/response-schema.js.map +1 -0
- package/dist/orchestration/runtime.d.ts +69 -0
- package/dist/orchestration/runtime.d.ts.map +1 -1
- package/dist/orchestration/runtime.js +347 -98
- package/dist/orchestration/runtime.js.map +1 -1
- package/dist/orchestration/skills.d.ts.map +1 -1
- package/dist/orchestration/skills.js +3 -2
- package/dist/orchestration/skills.js.map +1 -1
- package/dist/orchestration/source-policy.d.ts +1 -1
- package/dist/orchestration/source-policy.d.ts.map +1 -1
- package/dist/orchestration/source-policy.js +1 -1
- package/dist/orchestration/speech.d.ts +15 -17
- package/dist/orchestration/speech.d.ts.map +1 -1
- package/dist/orchestration/speech.js +90 -30
- package/dist/orchestration/speech.js.map +1 -1
- package/dist/orchestration/store.d.ts +19 -0
- package/dist/orchestration/store.d.ts.map +1 -1
- package/dist/orchestration/store.js +44 -1
- package/dist/orchestration/store.js.map +1 -1
- package/dist/orchestration/tasks/driver.d.ts.map +1 -1
- package/dist/orchestration/tasks/driver.js +8 -3
- package/dist/orchestration/tasks/driver.js.map +1 -1
- package/dist/orchestration/tasks/pool.d.ts.map +1 -1
- package/dist/orchestration/tasks/pool.js +8 -4
- package/dist/orchestration/tasks/pool.js.map +1 -1
- package/dist/orchestration/tasks/service.d.ts +48 -1
- package/dist/orchestration/tasks/service.d.ts.map +1 -1
- package/dist/orchestration/tasks/service.js +41 -17
- package/dist/orchestration/tasks/service.js.map +1 -1
- package/dist/orchestration/token-ledger.d.ts +125 -0
- package/dist/orchestration/token-ledger.d.ts.map +1 -0
- package/dist/orchestration/token-ledger.js +232 -0
- package/dist/orchestration/token-ledger.js.map +1 -0
- package/dist/orchestration/token-usage.d.ts +46 -0
- package/dist/orchestration/token-usage.d.ts.map +1 -0
- package/dist/orchestration/token-usage.js +102 -0
- package/dist/orchestration/token-usage.js.map +1 -0
- package/dist/orchestration/tool-activity.d.ts.map +1 -1
- package/dist/orchestration/tool-activity.js +5 -3
- package/dist/orchestration/tool-activity.js.map +1 -1
- package/dist/orchestration/tool-name.d.ts +10 -0
- package/dist/orchestration/tool-name.d.ts.map +1 -0
- package/dist/orchestration/tool-name.js +14 -0
- package/dist/orchestration/tool-name.js.map +1 -0
- package/dist/orchestration/transcript-checkpoint.d.ts +14 -0
- package/dist/orchestration/transcript-checkpoint.d.ts.map +1 -0
- package/dist/orchestration/transcript-checkpoint.js +83 -0
- package/dist/orchestration/transcript-checkpoint.js.map +1 -0
- package/dist/orchestration/unanswered-inputs.d.ts +6 -0
- package/dist/orchestration/unanswered-inputs.d.ts.map +1 -0
- package/dist/orchestration/unanswered-inputs.js +18 -0
- package/dist/orchestration/unanswered-inputs.js.map +1 -0
- package/dist/session/process.d.ts +10 -0
- package/dist/session/process.d.ts.map +1 -1
- package/dist/session/process.js +91 -9
- package/dist/session/process.js.map +1 -1
- package/dist/session/request-tool-capture.d.ts +31 -0
- package/dist/session/request-tool-capture.d.ts.map +1 -0
- package/dist/session/request-tool-capture.js +194 -0
- package/dist/session/request-tool-capture.js.map +1 -0
- package/dist/session/runtime-profile.d.ts +7 -3
- package/dist/session/runtime-profile.d.ts.map +1 -1
- package/dist/session/runtime-profile.js +3 -1
- package/dist/session/runtime-profile.js.map +1 -1
- package/dist/session/store.d.ts +7 -0
- package/dist/session/store.d.ts.map +1 -1
- package/dist/session/store.js +27 -0
- package/dist/session/store.js.map +1 -1
- package/dist/shell/tailer.d.ts +7 -5
- package/dist/shell/tailer.d.ts.map +1 -1
- package/dist/shell/tailer.js +6 -17
- package/dist/shell/tailer.js.map +1 -1
- package/dist/ui/cli-viewer-ui.js +1 -1
- package/dist/ui/dashboard-client.d.ts +3 -0
- package/dist/ui/dashboard-client.d.ts.map +1 -0
- package/dist/ui/dashboard-client.js +188 -0
- package/dist/ui/dashboard-client.js.map +1 -0
- package/dist/ui/dashboard-presentation.d.ts +9 -0
- package/dist/ui/dashboard-presentation.d.ts.map +1 -0
- package/dist/ui/dashboard-presentation.js +56 -0
- package/dist/ui/dashboard-presentation.js.map +1 -0
- package/dist/ui/dashboard-range.d.ts +5 -0
- package/dist/ui/dashboard-range.d.ts.map +1 -0
- package/dist/ui/dashboard-range.js +20 -0
- package/dist/ui/dashboard-range.js.map +1 -0
- package/dist/ui/dashboard-theme.d.ts +4 -0
- package/dist/ui/dashboard-theme.d.ts.map +1 -0
- package/dist/ui/dashboard-theme.js +485 -0
- package/dist/ui/dashboard-theme.js.map +1 -0
- package/dist/ui/token-report-client.d.ts +3 -0
- package/dist/ui/token-report-client.d.ts.map +1 -0
- package/dist/ui/token-report-client.js +34 -0
- package/dist/ui/token-report-client.js.map +1 -0
- package/dist/ui/token-report.d.ts +89 -0
- package/dist/ui/token-report.d.ts.map +1 -0
- package/dist/ui/token-report.js +200 -0
- package/dist/ui/token-report.js.map +1 -0
- package/dist/ui/web-ui.d.ts.map +1 -1
- package/dist/ui/web-ui.js +124 -181
- package/dist/ui/web-ui.js.map +1 -1
- package/dist/voice/replay.d.ts +8 -0
- package/dist/voice/replay.d.ts.map +1 -0
- package/dist/voice/replay.js +48 -0
- package/dist/voice/replay.js.map +1 -0
- package/dist/voice/session.d.ts +9 -0
- package/dist/voice/session.d.ts.map +1 -1
- package/dist/voice/session.js +72 -14
- package/dist/voice/session.js.map +1 -1
- package/mcp/lazy-connector.test.ts +58 -0
- package/mcp/lazy-connector.ts +67 -0
- package/mcp/lazy-tools.test.ts +152 -0
- package/mcp/lazy-tools.ts +41 -0
- package/mcp/server.ts +53 -34
- package/mcp/tools/discord/commands.ts +2 -0
- package/mcp/tools/discord/inbound.ts +1 -1
- package/mcp/tools/discord/receiver-server.ts +1 -1
- package/mcp/tools/discord/types.ts +1 -1
- package/mcp/tools/receiver-spool.test.ts +8 -2
- package/mcp/tools/receiver-spool.ts +198 -25
- package/mcp/tools/tasks/module.ts +1 -12
- package/mcp/tools/telegram/media-group.ts +3 -3
- package/mcp/tools/telegram/receiver-server.ts +15 -15
- package/mcp/types.ts +1 -1
- package/package.json +2 -1
- package/resource/dashboard/OFL.txt +93 -0
- package/resource/dashboard/poppins-300.woff2 +0 -0
- package/resource/dashboard/poppins-400.woff2 +0 -0
- package/resource/dashboard/poppins-500.woff2 +0 -0
- package/resource/dashboard/poppins-600.woff2 +0 -0
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/** Match only corrected spawn validation failures within one decision. No inference,
|
|
2
|
+
* replay or authorization change: the later action must have actually committed. */
|
|
3
|
+
export interface MutationAttempt {
|
|
4
|
+
actionId: string;
|
|
5
|
+
tool: string;
|
|
6
|
+
args: Record<string, unknown>;
|
|
7
|
+
committed?: boolean;
|
|
8
|
+
errorCode?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function retryableMutation(tool: string, code?: string): boolean;
|
|
11
|
+
export declare function unresolvedMutations(attempts: MutationAttempt[]): boolean;
|
|
12
|
+
//# sourceMappingURL=mutation-recovery.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-recovery.d.ts","sourceRoot":"","sources":["../../src/orchestration/mutation-recovery.ts"],"names":[],"mappings":"AAAA;oFACoF;AACpF,MAAM,WAAW,eAAe;IAAG,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAAE;AAC5I,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAGtE;AAcD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,eAAe,EAAE,GAAG,OAAO,CAaxE"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.retryableMutation = retryableMutation;
|
|
4
|
+
exports.unresolvedMutations = unresolvedMutations;
|
|
5
|
+
function retryableMutation(tool, code) {
|
|
6
|
+
return tool === 'task_spawn' ? ['INVALID_INPUT', 'UNKNOWN_SKILL', 'ACKNOWLEDGEMENT_REQUIRED'].includes(code ?? '')
|
|
7
|
+
: tool === 'task_update' && ['INVALID_INPUT', 'REVISION_CONFLICT', 'ACKNOWLEDGEMENT_REQUIRED'].includes(code ?? '');
|
|
8
|
+
}
|
|
9
|
+
function updateIdentity(a) {
|
|
10
|
+
if (typeof a.task_id !== 'string' || !a.task_id || typeof a.instruction !== 'string' || !a.instruction.trim())
|
|
11
|
+
return;
|
|
12
|
+
return JSON.stringify([a.task_id, a.instruction, a.mode]);
|
|
13
|
+
}
|
|
14
|
+
function spawnIdentity(a) {
|
|
15
|
+
if (typeof a.title !== 'string' || !a.title.trim())
|
|
16
|
+
return;
|
|
17
|
+
// Titles and predecessor IDs do not identify a unique assignment. The brief
|
|
18
|
+
// must match too unless the caller explicitly references the rejected action.
|
|
19
|
+
const continuation = typeof a.continue_task_id === 'string' && a.continue_task_id ? a.continue_task_id : null;
|
|
20
|
+
if (typeof a.instructions !== 'string' || !a.instructions.trim())
|
|
21
|
+
return;
|
|
22
|
+
return JSON.stringify([a.title, continuation, a.instructions,
|
|
23
|
+
a.continuation_policy ?? 'after_success', a.context_refs ?? []]);
|
|
24
|
+
}
|
|
25
|
+
function unresolvedMutations(attempts) {
|
|
26
|
+
return attempts.some((attempt, index) => {
|
|
27
|
+
if (attempt.committed)
|
|
28
|
+
return false;
|
|
29
|
+
if (!retryableMutation(attempt.tool, attempt.errorCode))
|
|
30
|
+
return true;
|
|
31
|
+
const identify = attempt.tool === 'task_update' ? updateIdentity : spawnIdentity;
|
|
32
|
+
const identity = identify(attempt.args);
|
|
33
|
+
// Invalid required fields cannot form an identity, but the bridge's explicit
|
|
34
|
+
// retry reference still identifies the rejected command being corrected.
|
|
35
|
+
return !attempts.slice(index + 1).some(next => next.actionId !== attempt.actionId &&
|
|
36
|
+
next.committed && next.tool === attempt.tool &&
|
|
37
|
+
(attempt.tool !== 'task_update' || !attempt.args.task_id || next.args.task_id === attempt.args.task_id) &&
|
|
38
|
+
(next.args.retry_of === attempt.actionId || (identity !== undefined && identify(next.args) === identity)));
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=mutation-recovery.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mutation-recovery.js","sourceRoot":"","sources":["../../src/orchestration/mutation-recovery.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { SessionProcess } from '../session/process';
|
|
2
|
+
import { ProcessTurn } from './process-turn';
|
|
3
|
+
/** The CLI owns context compaction. Never replace gateway chat history. */
|
|
4
|
+
export declare function startNativeCompact(process: SessionProcess, alreadyStarted?: boolean): ProcessTurn;
|
|
5
|
+
//# sourceMappingURL=native-compact.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-compact.d.ts","sourceRoot":"","sources":["../../src/orchestration/native-compact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAoB,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAG/D,2EAA2E;AAC3E,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,cAAc,EAAE,cAAc,UAAQ,GAAG,WAAW,CAiB/F"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.startNativeCompact = startNativeCompact;
|
|
4
|
+
const process_turn_1 = require("./process-turn");
|
|
5
|
+
const types_1 = require("./types");
|
|
6
|
+
/** The CLI owns context compaction. Never replace gateway chat history. */
|
|
7
|
+
function startNativeCompact(process, alreadyStarted = false) {
|
|
8
|
+
let compacted = false;
|
|
9
|
+
const observe = (line) => {
|
|
10
|
+
try {
|
|
11
|
+
const event = JSON.parse(line);
|
|
12
|
+
if (event.type === 'system' && event.subtype === 'compact_boundary')
|
|
13
|
+
compacted = true;
|
|
14
|
+
}
|
|
15
|
+
catch { /* Ignore non-protocol output. */ }
|
|
16
|
+
};
|
|
17
|
+
process.on('output', observe);
|
|
18
|
+
const turn = (0, process_turn_1.startProcessTurn)(process, '/compact', 300000, undefined, undefined, [], undefined, undefined, alreadyStarted);
|
|
19
|
+
const result = turn.result.then(result => {
|
|
20
|
+
if (result.interrupted)
|
|
21
|
+
throw new types_1.OrchestrationError('INTERRUPTED', 'Context compaction was stopped.');
|
|
22
|
+
if (!compacted)
|
|
23
|
+
throw new types_1.OrchestrationError('COMPACT_NOT_CONFIRMED', 'Claude Code did not confirm context compaction. The context may be too short, or this CLI version may not support /compact.');
|
|
24
|
+
return result;
|
|
25
|
+
}).finally(() => process.off('output', observe));
|
|
26
|
+
void result.catch(() => { });
|
|
27
|
+
return { ...turn, result };
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=native-compact.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-compact.js","sourceRoot":"","sources":["../../src/orchestration/native-compact.ts"],"names":[],"mappings":";;AAKA,gDAiBC;AArBD,iDAA+D;AAC/D,mCAA6C;AAE7C,2EAA2E;AAC3E,SAAgB,kBAAkB,CAAC,OAAuB,EAAE,cAAc,GAAG,KAAK;IAChF,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,MAAM,OAAO,GAAG,CAAC,IAAY,EAAE,EAAE;QAC/B,IAAI,CAAC;YACH,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,KAAK,kBAAkB;gBAAE,SAAS,GAAG,IAAI,CAAC;QACxF,CAAC;QAAC,MAAM,CAAC,CAAC,iCAAiC,CAAC,CAAC;IAC/C,CAAC,CAAC;IACF,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAA,+BAAgB,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,cAAc,CAAC,CAAC;IAC3H,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE;QACvC,IAAI,MAAM,CAAC,WAAW;YAAE,MAAM,IAAI,0BAAkB,CAAC,aAAa,EAAE,iCAAiC,CAAC,CAAC;QACvG,IAAI,CAAC,SAAS;YAAE,MAAM,IAAI,0BAAkB,CAAC,uBAAuB,EAAE,6HAA6H,CAAC,CAAC;QACrM,OAAO,MAAM,CAAC;IAChB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;IACjD,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5B,OAAO,EAAC,GAAG,IAAI,EAAE,MAAM,EAAC,CAAC;AAC3B,CAAC"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { OrchestrationStore } from './store';
|
|
2
2
|
/** Retry reports, never task execution. Decisions/inputs retain the retry clock
|
|
3
|
-
* across restarts, including failed reports written before this implementation.
|
|
3
|
+
* across restarts, including failed reports written before this implementation.
|
|
4
|
+
* Prolonged outages back off to one hour instead of retrying every five minutes.
|
|
5
|
+
* User inputs bypass this automatic-report scheduler. */
|
|
4
6
|
export declare function pendingReports(store: OrchestrationStore, activeSessions: string[], scheduled: string[], automatic: boolean, now?: number): import("./store").Row[];
|
|
5
7
|
//# sourceMappingURL=notification-mailbox.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-mailbox.d.ts","sourceRoot":"","sources":["../../src/orchestration/notification-mailbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C;
|
|
1
|
+
{"version":3,"file":"notification-mailbox.d.ts","sourceRoot":"","sources":["../../src/orchestration/notification-mailbox.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAE7C;;;yDAGyD;AACzD,wBAAgB,cAAc,CAAC,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,SAAa,2BAuB5I"}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.pendingReports = pendingReports;
|
|
4
4
|
/** Retry reports, never task execution. Decisions/inputs retain the retry clock
|
|
5
|
-
* across restarts, including failed reports written before this implementation.
|
|
5
|
+
* across restarts, including failed reports written before this implementation.
|
|
6
|
+
* Prolonged outages back off to one hour instead of retrying every five minutes.
|
|
7
|
+
* User inputs bypass this automatic-report scheduler. */
|
|
6
8
|
function pendingReports(store, activeSessions, scheduled, automatic, now = Date.now()) {
|
|
7
9
|
return store.all(`WITH candidates AS (
|
|
8
10
|
SELECT n.id notification_id,c.*,i.id previous_input_id,i.input_seq previous_seq,
|
|
@@ -23,7 +25,7 @@ function pendingReports(store, activeSessions, scheduled, automatic, now = Date.
|
|
|
23
25
|
), eligible AS (
|
|
24
26
|
SELECT *,ROW_NUMBER() OVER (PARTITION BY id ORDER BY notification_id) position FROM candidates
|
|
25
27
|
WHERE decision_state IS NULL OR decision_state='completed' OR (decision_state='failed'
|
|
26
|
-
AND ended_at+MIN(
|
|
28
|
+
AND ended_at+MIN(3600000,5000*(1 << MIN(10,attempts-1)))<=?)
|
|
27
29
|
) SELECT * FROM eligible WHERE position=1 ORDER BY notification_id LIMIT 20`, JSON.stringify(activeSessions), automatic ? 1 : 0, JSON.stringify(scheduled), now);
|
|
28
30
|
}
|
|
29
31
|
//# sourceMappingURL=notification-mailbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notification-mailbox.js","sourceRoot":"","sources":["../../src/orchestration/notification-mailbox.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"notification-mailbox.js","sourceRoot":"","sources":["../../src/orchestration/notification-mailbox.ts"],"names":[],"mappings":";;AAMA,wCAuBC;AA3BD;;;yDAGyD;AACzD,SAAgB,cAAc,CAAC,KAAyB,EAAE,cAAwB,EAAE,SAAmB,EAAE,SAAkB,EAAE,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE;IAC3I,OAAO,KAAK,CAAC,GAAG,CAAC;;;;;;;;;;;;;;;;;;;;8EAoB2D,EAC5E,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC,CAAC;AACrF,CAAC"}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { TokenUsage, RequestUsage } from './token-usage';
|
|
1
2
|
import { TurnObservation } from './execution-observation';
|
|
2
3
|
import type { InputImage } from '../session/input-image';
|
|
3
4
|
import { SessionProcess } from '../session/process';
|
|
4
5
|
export interface TurnTimeoutPolicy {
|
|
6
|
+
onUsage?: (metrics: ManagedTurnMetrics) => void;
|
|
5
7
|
startupTimeoutMs: number;
|
|
6
8
|
firstResponseTimeoutMs: number;
|
|
7
9
|
idleTimeoutMs: number;
|
|
@@ -10,7 +12,7 @@ export interface TurnTimeoutPolicy {
|
|
|
10
12
|
onObservation?: (value: TurnObservation) => void;
|
|
11
13
|
}
|
|
12
14
|
export interface TurnTimeoutDetails {
|
|
13
|
-
phase: 'startup' | 'first_response' | 'idle' | 'total';
|
|
15
|
+
phase: 'startup' | 'first_response' | 'compaction' | 'idle' | 'total';
|
|
14
16
|
elapsedMs: number;
|
|
15
17
|
idleMs: number;
|
|
16
18
|
}
|
|
@@ -30,6 +32,17 @@ export interface ManagedTurnMetrics {
|
|
|
30
32
|
inputTokens: number;
|
|
31
33
|
totalTokens: number;
|
|
32
34
|
startedAt: number;
|
|
35
|
+
endedAt?: number;
|
|
36
|
+
usage?: TokenUsage | null;
|
|
37
|
+
requests?: RequestUsage[];
|
|
38
|
+
loadedTools?: string[] | null;
|
|
39
|
+
usedTools?: string[];
|
|
40
|
+
contextTools?: string[] | null;
|
|
41
|
+
schemaCoverage?: {
|
|
42
|
+
measured: number;
|
|
43
|
+
total: number;
|
|
44
|
+
};
|
|
45
|
+
model?: string;
|
|
33
46
|
}
|
|
34
|
-
export declare function startProcessTurn(process: SessionProcess, prompt: string, timeoutMs: number | undefined, onText?: (text: string) => void, onMetrics?: (metrics: ManagedTurnMetrics) => void, images?: readonly InputImage[], policy?: TurnTimeoutPolicy, onStructured?: (chunk: string) => void): ProcessTurn;
|
|
47
|
+
export declare function startProcessTurn(process: SessionProcess, prompt: string, timeoutMs: number | undefined, onText?: (text: string) => void, onMetrics?: (metrics: ManagedTurnMetrics) => void, images?: readonly InputImage[], policy?: TurnTimeoutPolicy, onStructured?: (chunk: string) => void, alreadyStarted?: boolean): ProcessTurn;
|
|
35
48
|
//# sourceMappingURL=process-turn.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-turn.d.ts","sourceRoot":"","sources":["../../src/orchestration/process-turn.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"process-turn.d.ts","sourceRoot":"","sources":["../../src/orchestration/process-turn.ts"],"names":[],"mappings":"AAGA,OAAO,EAAsB,UAAU,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7E,OAAO,EAAe,eAAe,EAAe,MAAM,yBAAyB,CAAC;AACpF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGpD,MAAM,WAAW,iBAAiB;IAAG,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAC;IAAC,sBAAsB,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAAC,UAAU,CAAC,EAAE,SAAS,CAAC;IAAC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;CAAE;AAChR,MAAM,WAAW,kBAAkB;IAAG,KAAK,EAAE,SAAS,GAAG,gBAAgB,GAAG,YAAY,GAAG,MAAM,GAAG,OAAO,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;CAAE;AACjJ,MAAM,WAAW,aAAa;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAC;CAAE;AACtE,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IAC/B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CACvB;AACD;8EAC8E;AAC9E,MAAM,WAAW,kBAAkB;IAAG,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;IAAC,QAAQ,CAAC,EAAE,YAAY,EAAE,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAAC,cAAc,CAAC,EAAE;QAAC,QAAQ,EAAC,MAAM,CAAC;QAAA,KAAK,EAAC,MAAM,CAAA;KAAC,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CAAE;AAgBrV,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,GAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAe,EAAE,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,kBAAkB,KAAK,IAAI,EAAE,MAAM,GAAE,SAAS,UAAU,EAAO,EAAE,MAAM,CAAC,EAAE,iBAAiB,EAAE,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,EAAE,cAAc,UAAQ,GAAG,WAAW,CAwMlV"}
|
|
@@ -1,9 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.startProcessTurn = startProcessTurn;
|
|
4
|
+
const provider_message_1 = require("./provider-message");
|
|
5
|
+
const tool_name_1 = require("./tool-name");
|
|
6
|
+
const token_usage_1 = require("./token-usage");
|
|
4
7
|
const execution_observation_1 = require("./execution-observation");
|
|
5
8
|
const types_1 = require("./types");
|
|
6
|
-
function
|
|
9
|
+
function providerErrorText(value, codes, depth = 0, budget = { nodes: 256 }) {
|
|
10
|
+
if (depth >= 8 || --budget.nodes < 0)
|
|
11
|
+
return '';
|
|
12
|
+
if (typeof value === 'string')
|
|
13
|
+
return value.slice(0, 4096);
|
|
14
|
+
if (Array.isArray(value))
|
|
15
|
+
return value.slice(0, 32).map(item => providerErrorText(item, codes, depth + 1, budget)).filter(Boolean).join(' ').slice(0, 4096);
|
|
16
|
+
if (value && typeof value === 'object') {
|
|
17
|
+
const entry = value;
|
|
18
|
+
for (const code of [entry.code, entry.type, entry.error]) {
|
|
19
|
+
if (typeof code === 'string' && /^[a-z][a-z0-9_]{0,79}$/i.test(code) && codes.length < 32)
|
|
20
|
+
codes.push(code.toLowerCase());
|
|
21
|
+
}
|
|
22
|
+
const status = /^[1-5]\d{2}$/.test(String(entry.status)) ? `HTTP ${entry.status}` : undefined;
|
|
23
|
+
return [entry.code, entry.type, status, entry.message, entry.error].map(item => providerErrorText(item, codes, depth + 1, budget)).filter(Boolean).join(' ').slice(0, 4096);
|
|
24
|
+
}
|
|
25
|
+
if (typeof value === 'number')
|
|
26
|
+
return String(value);
|
|
27
|
+
return '';
|
|
28
|
+
}
|
|
29
|
+
function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetrics, images = [], policy, onStructured, alreadyStarted = false) {
|
|
7
30
|
let resolveAccepted, rejectAccepted;
|
|
8
31
|
let resolveResult, rejectResult;
|
|
9
32
|
const accepted = new Promise((resolve, reject) => { resolveAccepted = resolve; rejectAccepted = reject; });
|
|
@@ -12,7 +35,11 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
|
|
|
12
35
|
void accepted.catch(() => { });
|
|
13
36
|
void result.catch(() => { });
|
|
14
37
|
let structuredIndex;
|
|
38
|
+
let finalCapturePending = false;
|
|
15
39
|
let settled = false, stopped = false, text = '', streamed = false, apiErrorText = '';
|
|
40
|
+
let apiErrorCodes = [];
|
|
41
|
+
let providerMessage;
|
|
42
|
+
const usageCollector = new token_usage_1.TurnUsageCollector();
|
|
16
43
|
const startedAt = Date.now();
|
|
17
44
|
const tools = new Set();
|
|
18
45
|
let inputTokens = 0, totalTokens = 0, recorded = false;
|
|
@@ -60,10 +87,11 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
|
|
|
60
87
|
const cleanup = () => { if (!recorded) {
|
|
61
88
|
recorded = true;
|
|
62
89
|
try {
|
|
63
|
-
|
|
90
|
+
const measured = usageCollector.snapshot();
|
|
91
|
+
onMetrics?.({ toolIds: [...tools], inputTokens: measured.usage ? measured.usage.inputTokens + measured.usage.cacheCreationTokens + measured.usage.cacheReadTokens : inputTokens, totalTokens: measured.usage?.totalTokens ?? totalTokens, startedAt, endedAt: Date.now(), ...measured });
|
|
64
92
|
}
|
|
65
93
|
catch { /* telemetry must not break delivery */ }
|
|
66
|
-
} clearTimeout(timer); clearTimeout(phaseTimer); clearInterval(observationTimer); process.off('output', output); process.off('exit', exit); };
|
|
94
|
+
} clearTimeout(timer); clearTimeout(phaseTimer); clearInterval(observationTimer); process.off('output', output); process.off('request-tools', schemaOutput); process.off('exit', exit); process.off('startup-error', startupError); };
|
|
67
95
|
const fail = (error) => { if (settled)
|
|
68
96
|
return; settled = true; cleanup(); rejectAccepted(error); rejectResult(error); };
|
|
69
97
|
const publish = (chunk) => {
|
|
@@ -77,8 +105,9 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
|
|
|
77
105
|
return false;
|
|
78
106
|
}
|
|
79
107
|
};
|
|
108
|
+
const startupError = (error) => { fail(error); void process.stop(); };
|
|
80
109
|
const exit = () => {
|
|
81
|
-
if (settled)
|
|
110
|
+
if (settled || finalCapturePending)
|
|
82
111
|
return;
|
|
83
112
|
if (stopped) {
|
|
84
113
|
settled = true;
|
|
@@ -86,9 +115,22 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
|
|
|
86
115
|
rejectAccepted(new types_1.OrchestrationError('INTERRUPTED'));
|
|
87
116
|
resolveResult({ text, interrupted: true });
|
|
88
117
|
}
|
|
118
|
+
else if (apiErrorText)
|
|
119
|
+
fail(Object.assign(new types_1.OrchestrationError('INFERENCE_FAILED', apiErrorText), { providerCodes: apiErrorCodes, providerMessage }));
|
|
89
120
|
else
|
|
90
121
|
fail(new types_1.OrchestrationError('PROCESS_EXITED'));
|
|
91
122
|
};
|
|
123
|
+
const schemaOutput = (value) => {
|
|
124
|
+
if (settled)
|
|
125
|
+
return;
|
|
126
|
+
usageCollector.observeSchemas(value);
|
|
127
|
+
try {
|
|
128
|
+
const measured = usageCollector.snapshot();
|
|
129
|
+
policy?.onUsage?.({ toolIds: [...tools], inputTokens: measured.usage?.inputTokens ?? 0, totalTokens: measured.usage?.totalTokens ?? 0, startedAt, ...measured });
|
|
130
|
+
}
|
|
131
|
+
catch { }
|
|
132
|
+
};
|
|
133
|
+
process.on('request-tools', schemaOutput);
|
|
92
134
|
const output = (line) => {
|
|
93
135
|
let event;
|
|
94
136
|
if (settled)
|
|
@@ -99,15 +141,42 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
|
|
|
99
141
|
catch {
|
|
100
142
|
return;
|
|
101
143
|
}
|
|
144
|
+
if (event.type === 'result' && !event.gatewaySchemasFlushed && typeof process.flushToolSchemas === 'function') {
|
|
145
|
+
finalCapturePending = true;
|
|
146
|
+
void process.flushToolSchemas(usageCollector.snapshot().requests.map(r => r.id)).then(values => { for (const value of values)
|
|
147
|
+
usageCollector.observeSchemas(value); }).catch(() => { }).finally(() => { finalCapturePending = false; output(JSON.stringify({ ...event, gatewaySchemasFlushed: true })); });
|
|
148
|
+
return;
|
|
149
|
+
}
|
|
150
|
+
usageCollector.observe(event);
|
|
151
|
+
if ((event.type === 'assistant' && event.message?.usage) || (event.type === 'system' && event.subtype === 'init') || (event.type === 'stream_event' && event.event?.type === 'message_stop')) {
|
|
152
|
+
try {
|
|
153
|
+
const measured = usageCollector.snapshot();
|
|
154
|
+
policy?.onUsage?.({ toolIds: [...tools], inputTokens: measured.usage ? measured.usage.inputTokens + measured.usage.cacheCreationTokens + measured.usage.cacheReadTokens : 0, totalTokens: measured.usage?.totalTokens ?? 0, startedAt, ...measured });
|
|
155
|
+
}
|
|
156
|
+
catch { /* Usage persistence must not terminate inference. */ }
|
|
157
|
+
}
|
|
102
158
|
const blocks = Array.isArray(event.message?.content) ? event.message.content : [];
|
|
103
|
-
|
|
104
|
-
|
|
159
|
+
const isProviderError = event.type === 'assistant' && (event.isApiErrorMessage || event.error);
|
|
160
|
+
if (isProviderError) {
|
|
161
|
+
apiErrorCodes = [];
|
|
162
|
+
providerMessage = blocks.filter((block) => block.type === 'text' && typeof block.text === 'string').map((block) => block.text).join('\n') || (0, provider_message_1.structuredProviderMessage)(event.error);
|
|
163
|
+
apiErrorText = providerErrorText({ error: event.error, message: blocks.filter((block) => block.type === 'text').map((block) => block.text) }, apiErrorCodes);
|
|
164
|
+
}
|
|
165
|
+
// A successful retry supersedes the earlier provider failure. Do not blame
|
|
166
|
+
// a later process crash/terminal error on an already-recovered request.
|
|
167
|
+
const resumedDelta = event.type === 'stream_event' ? event.event?.delta : undefined;
|
|
168
|
+
if (!isProviderError && ((event.type === 'assistant' && blocks.length > 0)
|
|
169
|
+
|| (resumedDelta && ['text_delta', 'thinking_delta', 'input_json_delta'].includes(resumedDelta.type)
|
|
170
|
+
&& (resumedDelta.text || resumedDelta.thinking || resumedDelta.partial_json)))) {
|
|
171
|
+
apiErrorText = '';
|
|
172
|
+
apiErrorCodes = [];
|
|
173
|
+
providerMessage = undefined;
|
|
105
174
|
}
|
|
106
175
|
for (const block of blocks) {
|
|
107
176
|
if (block.type === 'tool_use' && typeof block.id === 'string' && !activeTools.has(block.id) && activeTools.size < 2000)
|
|
108
177
|
activeTools.set(block.id, -1);
|
|
109
178
|
if (block.type === 'tool_use' && typeof block.id === 'string' && typeof block.name === 'string' && toolNames.size < 2000)
|
|
110
|
-
toolNames.set(block.id, block.name.slice(0, 128));
|
|
179
|
+
toolNames.set(block.id, (0, tool_name_1.executionTool)(block).name.slice(0, 128));
|
|
111
180
|
if (block.type === 'tool_result') {
|
|
112
181
|
const name = toolNames.get(block.tool_use_id);
|
|
113
182
|
if (name)
|
|
@@ -144,6 +213,16 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
|
|
|
144
213
|
if (policy) {
|
|
145
214
|
if (event.type === 'system' && event.subtype === 'init' && phase === 'startup')
|
|
146
215
|
arm('first_response', policy.firstResponseTimeoutMs);
|
|
216
|
+
// Compaction is a separate model request whose tokens are not streamed to
|
|
217
|
+
// the parent. Do not kill it with the first-answer silence timer. The
|
|
218
|
+
// caller's hard deadline remains in force, including repeated status events.
|
|
219
|
+
if (event.type === 'system' && event.subtype === 'status' && event.status === 'compacting' && phase !== 'compaction') {
|
|
220
|
+
arm('compaction', timeoutMs ?? policy.firstResponseTimeoutMs);
|
|
221
|
+
}
|
|
222
|
+
if (phase === 'compaction' && event.type === 'system' &&
|
|
223
|
+
(event.subtype === 'compact_boundary' || (event.subtype === 'status' && event.status === null))) {
|
|
224
|
+
arm('first_response', policy.firstResponseTimeoutMs);
|
|
225
|
+
}
|
|
147
226
|
// Ignore keepalives, status chatter and stderr. Only actual inference or
|
|
148
227
|
// tool-result progress renews the silence budget. Worker tool_progress
|
|
149
228
|
// must refer to an active tool and advance; generic keepalives do not count.
|
|
@@ -167,10 +246,13 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
|
|
|
167
246
|
if (event.type === 'system' && event.subtype === 'init' && process.runtimeProfile) {
|
|
168
247
|
const role = process.runtimeProfile.role;
|
|
169
248
|
const allowed = role === 'agent'
|
|
170
|
-
? /^(mcp__gateway__(capabilities_list|memory_(get|search)|task_(spawn|status|cancel|update|answer|question)))$/
|
|
171
|
-
: /^(Read|Glob|Grep|Bash|Edit|Write|Skill|mcp__gateway__(browser_[a-z_]+|generate_image|generate_video|share_file|share_image|memory_(get|search|shared_(get|create|update|delete))|task_(report_progress|request_input|stage_file|memory_append)))$/;
|
|
172
|
-
if (!Array.isArray(event.tools) || event.tools.some((name) => typeof name !== 'string' || (!(role === 'worker' && process.runtimeProfile?.hostExecution) && !(role === 'agent' && process.runtimeProfile?.responseSchema && name === 'StructuredOutput') && !
|
|
173
|
-
|
|
249
|
+
? /^(mcp__gateway__(capabilities_list|conversation_intake|memory_(get|search)|task_(spawn|status|cancel|update|answer|question)))$/
|
|
250
|
+
: /^(Read|Glob|Grep|Bash|Edit|Write|Skill|mcp__gateway__(tool_search|tool_call|browser_[a-z_]+|generate_image|generate_video|share_file|share_image|memory_(get|search|shared_(get|create|update|delete))|task_(report_progress|request_input|stage_file|memory_append)))$/;
|
|
251
|
+
if (!Array.isArray(event.tools) || event.tools.some((name) => typeof name !== 'string' || (!(role === 'worker' && process.runtimeProfile?.hostExecution) && !(role === 'agent' && process.runtimeProfile?.responseSchema && name === 'StructuredOutput') && !process.isSpawnedConnectorTool?.(name) && !allowed.test(name)))) {
|
|
252
|
+
const rejectedTools = Array.isArray(event.tools) ? event.tools.filter((name) => typeof name !== 'string' ||
|
|
253
|
+
(!(role === 'worker' && process.runtimeProfile?.hostExecution) && !(role === 'agent' && process.runtimeProfile?.responseSchema && name === 'StructuredOutput') && !process.isSpawnedConnectorTool?.(name) && !allowed.test(name)))
|
|
254
|
+
.slice(0, 100).map((name) => typeof name === 'string' ? name.replace(/[^a-zA-Z0-9_.:-]/g, '?').slice(0, 160) : '<invalid-name>') : ['<missing-inventory>'];
|
|
255
|
+
fail(Object.assign(new types_1.OrchestrationError('PROFILE_INVENTORY_MISMATCH'), { rejectedTools }));
|
|
174
256
|
void process.stop();
|
|
175
257
|
return;
|
|
176
258
|
}
|
|
@@ -193,10 +275,14 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
|
|
|
193
275
|
}
|
|
194
276
|
if (event.type === 'result') {
|
|
195
277
|
if (event.is_error) {
|
|
196
|
-
const
|
|
197
|
-
const
|
|
198
|
-
|
|
199
|
-
|
|
278
|
+
const providerCodes = [...apiErrorCodes];
|
|
279
|
+
const detail = [apiErrorText, providerErrorText([event.result, event.errors], providerCodes)].filter(Boolean).join(' ').slice(0, 4096) || 'Inference failed';
|
|
280
|
+
const terminalCode = event.subtype === 'error_max_turns' ? 'MODEL_MAX_TURNS'
|
|
281
|
+
: event.subtype === 'error_max_budget_usd' ? 'MODEL_BUDGET_EXCEEDED'
|
|
282
|
+
: event.subtype === 'error_max_structured_output_retries' ? 'MODEL_OUTPUT_INVALID' : undefined;
|
|
283
|
+
const code = terminalCode ?? (/provider capacity is fully in use|overloaded_error/i.test(detail) ? 'PROVIDER_CAPACITY'
|
|
284
|
+
: /\b(?:API Error:|HTTP)\s*503\b/i.test(detail) ? 'PROVIDER_UNAVAILABLE' : 'INFERENCE_FAILED');
|
|
285
|
+
fail(Object.assign(new types_1.OrchestrationError(code, detail), { providerCodes, providerMessage: providerMessage || (0, provider_message_1.structuredProviderMessage)(event.result) || (0, provider_message_1.structuredProviderMessage)(event.errors) }));
|
|
200
286
|
return;
|
|
201
287
|
}
|
|
202
288
|
if (process.runtimeProfile?.responseSchema && event.structured_output && typeof event.structured_output === 'object') {
|
|
@@ -236,7 +322,8 @@ function startProcessTurn(process, prompt, timeoutMs, onText = () => { }, onMetr
|
|
|
236
322
|
arm('startup', policy.startupTimeoutMs);
|
|
237
323
|
process.on('output', output);
|
|
238
324
|
process.on('exit', exit);
|
|
239
|
-
|
|
325
|
+
process.on('startup-error', startupError);
|
|
326
|
+
void (alreadyStarted ? Promise.resolve() : process.start()).then(() => {
|
|
240
327
|
if (stopped || settled)
|
|
241
328
|
return process.stop();
|
|
242
329
|
process.sendMessage(prompt, images);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"process-turn.js","sourceRoot":"","sources":["../../src/orchestration/process-turn.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"process-turn.js","sourceRoot":"","sources":["../../src/orchestration/process-turn.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,28 +1,18 @@
|
|
|
1
1
|
import { OrchestrationStore } from './store';
|
|
2
|
-
export declare const PROGRESS_REVIEW_SCHEMA: {
|
|
3
|
-
type: string;
|
|
4
|
-
additionalProperties: boolean;
|
|
5
|
-
properties: {
|
|
6
|
-
notify_user: {
|
|
7
|
-
type: string;
|
|
8
|
-
};
|
|
9
|
-
display_text: {
|
|
10
|
-
type: string;
|
|
11
|
-
maxLength: number;
|
|
12
|
-
};
|
|
13
|
-
spoken_text: {
|
|
14
|
-
type: string;
|
|
15
|
-
maxLength: number;
|
|
16
|
-
};
|
|
17
|
-
};
|
|
18
|
-
required: string[];
|
|
19
|
-
};
|
|
20
2
|
export declare const PROGRESS_REVIEW_OVERLAY = "This is an internal progress review, not a request to send a message on every check. Inspect the task and offer scoped advice if needed. Independently decide whether the user needs a new update: a meaningful milestone, changed plan, concrete blocker, or decision they need to make. Routine tool activity, elapsed time, unchanged work and rephrasing the previous report are not new progress. Compare with the previously communicated updates provided as data. If nothing meaningful is new, return {\"notify_user\":false,\"display_text\":\"\",\"spoken_text\":\"\"}. Otherwise return {\"notify_user\":true,\"display_text\":\"natural concise first-person update containing only new information\",\"spoken_text\":\"short spoken version in the same language\"}. This three-field schema overrides the ordinary two-field speech format for this internal review only. Never announce the review, supervision, forwarding advice, or silence decision. Do not send a reassurance that the task is not stuck. A planned next step is not a completed milestone. User questions and completion/failure/input-request notifications are handled separately and must not be suppressed by this policy.";
|
|
21
3
|
export declare function isProgressReview(store: OrchestrationStore, decisionId: string): boolean;
|
|
22
4
|
export declare function recentCommunicatedProgress(store: OrchestrationStore, conversationId: string): string[];
|
|
5
|
+
/** A review turn's decision, and WHY it is silent.
|
|
6
|
+
* 'reported' — a new update to publish.
|
|
7
|
+
* 'silent' — the model explicitly chose not to notify; nothing was lost.
|
|
8
|
+
* 'duplicate' — a valid update that repeats one already communicated.
|
|
9
|
+
* 'unparsed' — no valid decision could be read at all. The update (if any) is dropped,
|
|
10
|
+
* so the caller MUST surface it rather than treat it as a quiet review. */
|
|
11
|
+
export type ProgressReviewOutcome = 'reported' | 'silent' | 'duplicate' | 'unparsed';
|
|
23
12
|
export declare function progressReviewResult(raw: string, previous: string[]): {
|
|
24
13
|
display: string;
|
|
25
14
|
spoken: string;
|
|
26
15
|
silent: boolean;
|
|
16
|
+
outcome: ProgressReviewOutcome;
|
|
27
17
|
};
|
|
28
18
|
//# sourceMappingURL=progress-review.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-review.d.ts","sourceRoot":"","sources":["../../src/orchestration/progress-review.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"progress-review.d.ts","sourceRoot":"","sources":["../../src/orchestration/progress-review.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAM7C,eAAO,MAAM,uBAAuB,ypCAAqoC,CAAC;AAE1qC,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAIvF;AACD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,kBAAkB,EAAE,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAItG;AACD;;;;;yFAKyF;AACzF,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AACrF,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,CAkB1J"}
|
|
@@ -1,19 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PROGRESS_REVIEW_OVERLAY =
|
|
3
|
+
exports.PROGRESS_REVIEW_OVERLAY = void 0;
|
|
4
4
|
exports.isProgressReview = isProgressReview;
|
|
5
5
|
exports.recentCommunicatedProgress = recentCommunicatedProgress;
|
|
6
6
|
exports.progressReviewResult = progressReviewResult;
|
|
7
|
+
const response_schema_1 = require("./response-schema");
|
|
7
8
|
// Internal reviews may choose silence. They must finish before any prose/TTS
|
|
8
|
-
// is published, so a partial draft or a control JSON object cannot leak.
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
properties: {
|
|
12
|
-
notify_user: { type: 'boolean' },
|
|
13
|
-
display_text: { type: 'string', maxLength: 16000 },
|
|
14
|
-
spoken_text: { type: 'string', maxLength: 600 },
|
|
15
|
-
}, required: ['notify_user', 'display_text', 'spoken_text'],
|
|
16
|
-
};
|
|
9
|
+
// is published, so a partial draft or a control JSON object cannot leak. The field
|
|
10
|
+
// contract is carried by the invariant ORCHESTRATION_RESPONSE_SCHEMA declared on every
|
|
11
|
+
// turn; this overlay is the per-turn text that asks for notify_user on a review turn.
|
|
17
12
|
exports.PROGRESS_REVIEW_OVERLAY = `This is an internal progress review, not a request to send a message on every check. Inspect the task and offer scoped advice if needed. Independently decide whether the user needs a new update: a meaningful milestone, changed plan, concrete blocker, or decision they need to make. Routine tool activity, elapsed time, unchanged work and rephrasing the previous report are not new progress. Compare with the previously communicated updates provided as data. If nothing meaningful is new, return {"notify_user":false,"display_text":"","spoken_text":""}. Otherwise return {"notify_user":true,"display_text":"natural concise first-person update containing only new information","spoken_text":"short spoken version in the same language"}. This three-field schema overrides the ordinary two-field speech format for this internal review only. Never announce the review, supervision, forwarding advice, or silence decision. Do not send a reassurance that the task is not stuck. A planned next step is not a completed milestone. User questions and completion/failure/input-request notifications are handled separately and must not be suppressed by this policy.`;
|
|
18
13
|
function isProgressReview(store, decisionId) {
|
|
19
14
|
const tasks = store.all(`SELECT t.state,t.snapshot_json FROM notifications n JOIN tasks t ON t.id=n.task_id
|
|
@@ -32,17 +27,20 @@ function progressReviewResult(raw, previous) {
|
|
|
32
27
|
try {
|
|
33
28
|
const value = JSON.parse(candidate);
|
|
34
29
|
if (value.notify_user === false)
|
|
35
|
-
return { display: '', spoken: '', silent: true };
|
|
30
|
+
return { display: '', spoken: '', silent: true, outcome: 'silent' };
|
|
36
31
|
if (value.notify_user !== true || typeof value.display_text !== 'string' || !value.display_text.trim())
|
|
37
32
|
continue;
|
|
38
33
|
const display = value.display_text.trim();
|
|
39
34
|
const canonical = (s) => s.normalize('NFKC').replace(/\s+/g, ' ').trim();
|
|
40
35
|
if (previous.some(text => canonical(text) === canonical(display)))
|
|
41
|
-
return { display: '', spoken: '', silent: true };
|
|
42
|
-
return { display, spoken: typeof value.spoken_text === 'string' && value.spoken_text.length <=
|
|
36
|
+
return { display: '', spoken: '', silent: true, outcome: 'duplicate' };
|
|
37
|
+
return { display, spoken: typeof value.spoken_text === 'string' && value.spoken_text.length <= response_schema_1.SPOKEN_TEXT_LIMIT ? value.spoken_text.trim() : '', silent: false, outcome: 'reported' };
|
|
43
38
|
}
|
|
44
39
|
catch { /* Only an explicit valid reporting decision can publish. */ }
|
|
45
40
|
}
|
|
46
|
-
|
|
41
|
+
// Still fail closed — unvalidated review prose must never reach the user or TTS — but
|
|
42
|
+
// report it as 'unparsed' so the caller can log the dropped update. Silently treating a
|
|
43
|
+
// malformed review as a deliberate silence is exactly the no-silent-failures violation.
|
|
44
|
+
return { display: '', spoken: '', silent: true, outcome: 'unparsed' };
|
|
47
45
|
}
|
|
48
46
|
//# sourceMappingURL=progress-review.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"progress-review.js","sourceRoot":"","sources":["../../src/orchestration/progress-review.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"progress-review.js","sourceRoot":"","sources":["../../src/orchestration/progress-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Display provider text without interpreting its language, reset syntax or wording. */
|
|
2
|
+
export declare function sanitizeProviderMessage(text: string): string | undefined;
|
|
3
|
+
/** Only typed error envelopes supply provider display text, never ordinary replies. */
|
|
4
|
+
export declare function structuredProviderMessage(value: unknown, depth?: number, budget?: {
|
|
5
|
+
nodes: number;
|
|
6
|
+
}, errorEnvelope?: boolean): string | undefined;
|
|
7
|
+
//# sourceMappingURL=provider-message.d.ts.map
|