@zhixuan92/multi-model-agent-core 0.1.1 → 0.3.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.
Files changed (82) hide show
  1. package/README.md +0 -6
  2. package/dist/config/schema.d.ts +73 -45
  3. package/dist/config/schema.d.ts.map +1 -1
  4. package/dist/config/schema.js +14 -0
  5. package/dist/config/schema.js.map +1 -1
  6. package/dist/context/context-block-store.d.ts +75 -0
  7. package/dist/context/context-block-store.d.ts.map +1 -0
  8. package/dist/context/context-block-store.js +82 -0
  9. package/dist/context/context-block-store.js.map +1 -0
  10. package/dist/context/expand-context-blocks.d.ts +20 -0
  11. package/dist/context/expand-context-blocks.d.ts.map +1 -0
  12. package/dist/context/expand-context-blocks.js +46 -0
  13. package/dist/context/expand-context-blocks.js.map +1 -0
  14. package/dist/delegate-with-escalation.d.ts +34 -0
  15. package/dist/delegate-with-escalation.d.ts.map +1 -0
  16. package/dist/delegate-with-escalation.js +172 -0
  17. package/dist/delegate-with-escalation.js.map +1 -0
  18. package/dist/index.d.ts +4 -1
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +3 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/model-profiles.json +42 -4
  23. package/dist/provider.d.ts.map +1 -1
  24. package/dist/provider.js +7 -1
  25. package/dist/provider.js.map +1 -1
  26. package/dist/routing/model-profiles.d.ts +9 -4
  27. package/dist/routing/model-profiles.d.ts.map +1 -1
  28. package/dist/routing/model-profiles.js +8 -0
  29. package/dist/routing/model-profiles.js.map +1 -1
  30. package/dist/run-tasks.d.ts +26 -2
  31. package/dist/run-tasks.d.ts.map +1 -1
  32. package/dist/run-tasks.js +61 -19
  33. package/dist/run-tasks.js.map +1 -1
  34. package/dist/runners/claude-runner.d.ts.map +1 -1
  35. package/dist/runners/claude-runner.js +721 -32
  36. package/dist/runners/claude-runner.js.map +1 -1
  37. package/dist/runners/codex-runner.d.ts.map +1 -1
  38. package/dist/runners/codex-runner.js +541 -48
  39. package/dist/runners/codex-runner.js.map +1 -1
  40. package/dist/runners/error-classification.d.ts +30 -0
  41. package/dist/runners/error-classification.d.ts.map +1 -0
  42. package/dist/runners/error-classification.js +72 -0
  43. package/dist/runners/error-classification.js.map +1 -0
  44. package/dist/runners/injection-type.d.ts +22 -0
  45. package/dist/runners/injection-type.d.ts.map +1 -0
  46. package/dist/runners/injection-type.js +34 -0
  47. package/dist/runners/injection-type.js.map +1 -0
  48. package/dist/runners/openai-runner.d.ts +5 -0
  49. package/dist/runners/openai-runner.d.ts.map +1 -1
  50. package/dist/runners/openai-runner.js +608 -36
  51. package/dist/runners/openai-runner.js.map +1 -1
  52. package/dist/runners/prevention.d.ts +41 -0
  53. package/dist/runners/prevention.d.ts.map +1 -0
  54. package/dist/runners/prevention.js +68 -0
  55. package/dist/runners/prevention.js.map +1 -0
  56. package/dist/runners/supervision.d.ts +137 -0
  57. package/dist/runners/supervision.d.ts.map +1 -0
  58. package/dist/runners/supervision.js +345 -0
  59. package/dist/runners/supervision.js.map +1 -0
  60. package/dist/tools/claude-adapter.d.ts.map +1 -1
  61. package/dist/tools/claude-adapter.js +6 -3
  62. package/dist/tools/claude-adapter.js.map +1 -1
  63. package/dist/tools/definitions.d.ts +3 -1
  64. package/dist/tools/definitions.d.ts.map +1 -1
  65. package/dist/tools/definitions.js +57 -5
  66. package/dist/tools/definitions.js.map +1 -1
  67. package/dist/tools/openai-adapter.d.ts.map +1 -1
  68. package/dist/tools/openai-adapter.js +6 -3
  69. package/dist/tools/openai-adapter.js.map +1 -1
  70. package/dist/tools/scratchpad.d.ts +28 -0
  71. package/dist/tools/scratchpad.d.ts.map +1 -0
  72. package/dist/tools/scratchpad.js +49 -0
  73. package/dist/tools/scratchpad.js.map +1 -0
  74. package/dist/tools/tracker.d.ts +42 -2
  75. package/dist/tools/tracker.d.ts.map +1 -1
  76. package/dist/tools/tracker.js +63 -5
  77. package/dist/tools/tracker.js.map +1 -1
  78. package/dist/types.d.ts +261 -2
  79. package/dist/types.d.ts.map +1 -1
  80. package/dist/types.js +43 -1
  81. package/dist/types.js.map +1 -1
  82. package/package.json +7 -3
@@ -1 +1 @@
1
- {"version":3,"file":"openai-runner.js","sourceRoot":"","sources":["../../src/runners/openai-runner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openai-runner.js","sourceRoot":"","sources":["../../src/runners/openai-runner.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ /**
2
+ * Sub-agent prevention layer.
3
+ *
4
+ * Provides the strong default system prompt, the budget hint preamble,
5
+ * and the periodic re-grounding message that the runners inject to keep
6
+ * the model focused. The goal is to make the first attempt succeed.
7
+ *
8
+ * All builders here MUST be deterministic: same input → byte-identical
9
+ * output. No Date.now(), no Math.random(), no environment variable
10
+ * leakage. Tests in tests/runners/prevention.test.ts assert this.
11
+ *
12
+ * See spec Part A.1 for the design rationale.
13
+ */
14
+ export declare function buildSystemPrompt(): string;
15
+ export interface BuildBudgetHintOptions {
16
+ maxTurns: number;
17
+ }
18
+ export declare function buildBudgetHint(opts: BuildBudgetHintOptions): string;
19
+ export declare const RE_GROUNDING_INTERVAL_TURNS = 10;
20
+ export interface BuildReGroundingMessageOptions {
21
+ originalPromptExcerpt: string;
22
+ currentTurn: number;
23
+ maxTurns: number;
24
+ toolCallsSoFar: number;
25
+ filesReadSoFar: number;
26
+ }
27
+ export declare function buildReGroundingMessage(opts: BuildReGroundingMessageOptions): string;
28
+ export interface BuildBudgetPressureNudgeOptions {
29
+ inputTokens: number;
30
+ softLimit: number;
31
+ }
32
+ /**
33
+ * Nudge message the runner injects when the watchdog crosses its
34
+ * `warning` threshold (see supervision.checkWatchdogThreshold). The text
35
+ * is deliberately terse: the model is already close to the soft limit, so
36
+ * we tell it to stop exploring and produce a final answer from whatever
37
+ * it has gathered. Kept here so every runner (openai, claude, codex)
38
+ * uses byte-identical wording.
39
+ */
40
+ export declare function buildBudgetPressureNudge(opts: BuildBudgetPressureNudgeOptions): string;
41
+ //# sourceMappingURL=prevention.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prevention.d.ts","sourceRoot":"","sources":["../../src/runners/prevention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,wBAAgB,iBAAiB,IAAI,MAAM,CAoB1C;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,sBAAsB,GAAG,MAAM,CAOpE;AAED,eAAO,MAAM,2BAA2B,KAAK,CAAC;AAE9C,MAAM,WAAW,8BAA8B;IAC7C,qBAAqB,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,uBAAuB,CAAC,IAAI,EAAE,8BAA8B,GAAG,MAAM,CAUpF;AAED,MAAM,WAAW,+BAA+B;IAC9C,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,+BAA+B,GAAG,MAAM,CAMtF"}
@@ -0,0 +1,68 @@
1
+ /**
2
+ * Sub-agent prevention layer.
3
+ *
4
+ * Provides the strong default system prompt, the budget hint preamble,
5
+ * and the periodic re-grounding message that the runners inject to keep
6
+ * the model focused. The goal is to make the first attempt succeed.
7
+ *
8
+ * All builders here MUST be deterministic: same input → byte-identical
9
+ * output. No Date.now(), no Math.random(), no environment variable
10
+ * leakage. Tests in tests/runners/prevention.test.ts assert this.
11
+ *
12
+ * See spec Part A.1 for the design rationale.
13
+ */
14
+ export function buildSystemPrompt() {
15
+ return [
16
+ 'You are a sub-agent completing a single task end-to-end. Read these rules before you begin any tool calls.',
17
+ '',
18
+ 'The deliverable. Your final assistant message — and only your final assistant message — is what gets returned to the caller. Intermediate tool outputs and earlier turns are discarded. If your final message is empty, a fragment, or contained only <think> reasoning, the caller receives nothing useful and the dispatch is considered failed.',
19
+ '',
20
+ 'Plan before you act. Before any tool call, identify (1) what the task is asking for, (2) what success criteria the task specifies (output format, required sections, acceptance tests), (3) what files or information you need to gather, and (4) approximately how many tool calls you will need. State your plan at the top of your investigation if you find that helpful — it does not waste budget, it focuses you.',
21
+ '',
22
+ 'Investigate efficiently. Prefer one recursive grep over many readFile calls. Use glob to find files before you read them. Batch related questions into a single tool call when possible. The goal is to gather enough evidence to produce the deliverable, not to read every file.',
23
+ '',
24
+ 'Write findings as you go. Do not save all your findings for the final message. As you discover things, mention them in your assistant turns. This is preserved in the runner scratchpad and salvageable if the run is interrupted. The final message should be the synthesis, not the only place findings appear.',
25
+ '',
26
+ 'Anti-pattern: do not end with "let me check X next." That is a tool call you are describing instead of executing. Either call the tool you described, or produce your final answer now.',
27
+ '',
28
+ 'Anti-pattern: do not produce only <think> content as your final message. Reasoning tags are stripped before the response is returned, so a thinking-only message is equivalent to no message. Your final answer must be plain text outside any reasoning tags.',
29
+ '',
30
+ 'Anti-pattern: do not bail mid-task. If you encounter a problem (a tool did not work, you cannot find a file, the task is unclear), produce a partial answer that explains what you found and what blocked you. A partial answer is useful; an empty message is not.',
31
+ '',
32
+ 'If the task specifies an output format, follow it exactly. Match required headers, table formats, prefixes (e.g. "start with # Gap Report:"), section structures. The caller is checking for the format; getting close is not the same as getting it right.',
33
+ ].join('\n');
34
+ }
35
+ export function buildBudgetHint(opts) {
36
+ const half = Math.floor(opts.maxTurns / 2);
37
+ return [
38
+ `Budget reminder: this task should complete in approximately ${opts.maxTurns} tool calls or fewer.`,
39
+ 'Batch your investigation, prefer recursive grep over file-by-file reads, and produce findings progressively as you gather them.',
40
+ `Hit ${half} calls? You should already be drafting your final answer.`,
41
+ ].join(' ');
42
+ }
43
+ export const RE_GROUNDING_INTERVAL_TURNS = 10;
44
+ export function buildReGroundingMessage(opts) {
45
+ const percent = Math.round((opts.currentTurn / opts.maxTurns) * 100);
46
+ const excerpt = opts.originalPromptExcerpt.slice(0, 200);
47
+ return [
48
+ `Reminder: your task is "${excerpt}${opts.originalPromptExcerpt.length > 200 ? '...' : ''}".`,
49
+ `You are at turn ${opts.currentTurn} of ${opts.maxTurns} (≈ ${percent}% of budget used).`,
50
+ `Tool calls so far: ${opts.toolCallsSoFar}. Files read: ${opts.filesReadSoFar}.`,
51
+ 'If you have not yet started drafting the final answer, do so now.',
52
+ 'Make sure you have a plan to produce the final answer with your remaining budget.',
53
+ ].join(' ');
54
+ }
55
+ /**
56
+ * Nudge message the runner injects when the watchdog crosses its
57
+ * `warning` threshold (see supervision.checkWatchdogThreshold). The text
58
+ * is deliberately terse: the model is already close to the soft limit, so
59
+ * we tell it to stop exploring and produce a final answer from whatever
60
+ * it has gathered. Kept here so every runner (openai, claude, codex)
61
+ * uses byte-identical wording.
62
+ */
63
+ export function buildBudgetPressureNudge(opts) {
64
+ return (`Budget pressure: you have used approximately ${opts.inputTokens} ` +
65
+ `input tokens out of a soft limit of ${opts.softLimit}. Stop exploring and ` +
66
+ `produce your complete final answer now with whatever you have gathered.`);
67
+ }
68
+ //# sourceMappingURL=prevention.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prevention.js","sourceRoot":"","sources":["../../src/runners/prevention.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,4GAA4G;QAC5G,EAAE;QACF,oVAAoV;QACpV,EAAE;QACF,0ZAA0Z;QAC1Z,EAAE;QACF,oRAAoR;QACpR,EAAE;QACF,mTAAmT;QACnT,EAAE;QACF,yLAAyL;QACzL,EAAE;QACF,gQAAgQ;QAChQ,EAAE;QACF,qQAAqQ;QACrQ,EAAE;QACF,6PAA6P;KAC9P,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAMD,MAAM,UAAU,eAAe,CAAC,IAA4B;IAC1D,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC;IAC3C,OAAO;QACL,+DAA+D,IAAI,CAAC,QAAQ,uBAAuB;QACnG,iIAAiI;QACjI,OAAO,IAAI,2DAA2D;KACvE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAED,MAAM,CAAC,MAAM,2BAA2B,GAAG,EAAE,CAAC;AAU9C,MAAM,UAAU,uBAAuB,CAAC,IAAoC;IAC1E,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,CAAC;IACrE,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;IACzD,OAAO;QACL,2BAA2B,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI;QAC7F,mBAAmB,IAAI,CAAC,WAAW,OAAO,IAAI,CAAC,QAAQ,OAAO,OAAO,oBAAoB;QACzF,sBAAsB,IAAI,CAAC,cAAc,iBAAiB,IAAI,CAAC,cAAc,GAAG;QAChF,mEAAmE;QACnE,mFAAmF;KACpF,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AACd,CAAC;AAOD;;;;;;;GAOG;AACH,MAAM,UAAU,wBAAwB,CAAC,IAAqC;IAC5E,OAAO,CACL,gDAAgD,IAAI,CAAC,WAAW,GAAG;QACnE,uCAAuC,IAAI,CAAC,SAAS,uBAAuB;QAC5E,yEAAyE,CAC1E,CAAC;AACJ,CAAC"}
@@ -0,0 +1,137 @@
1
+ import type { ProviderConfig } from '../types.js';
2
+ import type { TaskSpec, ProgressEvent, ProgressTraceEntry } from '../types.js';
3
+ import type { ModelProfile } from '../routing/model-profiles.js';
4
+ /**
5
+ * Sub-agent completion supervision.
6
+ *
7
+ * The runner calls validateCompletion() after every turn that ends without
8
+ * a tool call (the SDK signal "agent done"). If the result is degenerate,
9
+ * the runner injects a re-prompt and continues the loop instead of returning.
10
+ *
11
+ * See docs/superpowers/specs/2026-04-10-subagent-completion-supervision-design.md
12
+ * Parts A.2.2 and A.4 for the full contract.
13
+ *
14
+ * --- @openai/agents SDK introspection finding (from Task 1, Step 1) ---
15
+ * Happy path confirmed. The `@openai/agents` SDK (via @openai/agents-core)
16
+ * exposes intermediate assistant text on the returned `RunResult`:
17
+ * - `result.newItems: RunItem[]` is a discriminated union where entries of
18
+ * type `"message_output_item"` are `RunMessageOutputItem` instances with
19
+ * `rawItem.role === "assistant"` and `rawItem.content` carrying
20
+ * `{ type: "output_text", text: string }` parts (plus `refusal`, `audio`,
21
+ * `image`). See node_modules/@openai/agents-core/dist/items.d.ts around
22
+ * line 337 (class RunMessageOutputItem) and dist/result.d.ts lines 17-76
23
+ * (RunResultData interface — `newItems`, `output`, `history`, `state`).
24
+ * - `result.state` additionally holds the full RunState, and
25
+ * StreamedRunResult exposes a `RunStreamEvent` async iterator for
26
+ * live mid-run observation if we ever need true streaming.
27
+ * For our scratchpad needs the non-streaming path is sufficient: after any
28
+ * `agentRun(...)` call (including iterative re-prompt turns), we can iterate
29
+ * `result.newItems`, pick every `message_output_item`, concatenate its
30
+ * `output_text` parts, and append the result to the TextScratchpad. This
31
+ * gives us full intermediate salvage for openai-runner without dropping to
32
+ * the lower-level OpenAI client or patching hooks. Task 3 should implement
33
+ * this salvage extraction.
34
+ * ----------------------------------------------------------------------
35
+ */
36
+ /** Classification of a degenerate model response, including coverage failures. */
37
+ export type DegenerateKind = 'empty' | 'thinking_only' | 'fragment' | 'no_terminator' | 'insufficient_coverage';
38
+ export interface ValidationResult {
39
+ valid: boolean;
40
+ kind?: DegenerateKind;
41
+ reason?: string;
42
+ /** Last 60 characters of the trimmed text, used by buildRePrompt. */
43
+ tail?: string;
44
+ }
45
+ export interface ValidateCompletionOptions {
46
+ minLength?: number;
47
+ }
48
+ export declare function validateCoverage(text: string, expected: NonNullable<TaskSpec['expectedCoverage']>): ValidationResult;
49
+ export declare const TRACE_MAX_EVENTS = 80;
50
+ export declare const TRACE_MAX_CHARS = 16384;
51
+ export declare const TRACE_DROP_PRIORITY: Record<ProgressEvent['kind'], number>;
52
+ export declare function trimProgressTrace(events: ProgressEvent[]): ProgressTraceEntry[];
53
+ /**
54
+ * Marker returned by `stripThinkingTags` when the entire final message was
55
+ * `<think>...</think>` reasoning and stripping left nothing. Exported here
56
+ * (rather than from openai-runner.ts) so that `validateCompletion` can detect
57
+ * the marker without importing the runner, and so other runners can reuse it
58
+ * when they implement their own thinking-only salvage. There is exactly one
59
+ * canonical constant.
60
+ */
61
+ export declare const THINKING_DIAGNOSTIC_MARKER = "[model final message contained only <think>...</think> reasoning, no plain-text answer]";
62
+ export declare function validateCompletion(text: string, opts?: ValidateCompletionOptions): ValidationResult;
63
+ export declare function buildRePrompt(result: ValidationResult): string;
64
+ /**
65
+ * Compares two consecutive degenerate outputs for byte equality. Used by
66
+ * the supervision loop's same-output early-out: if the model produces
67
+ * identical garbage twice in a row, give up immediately instead of
68
+ * burning the third retry.
69
+ */
70
+ export declare function sameDegenerateOutput(a: string, b: string): boolean;
71
+ /**
72
+ * Resolves the effective inputTokenSoftLimit for a (provider, profile) pair.
73
+ *
74
+ * Precedence: `config.inputTokenSoftLimit` (user override) wins over
75
+ * `profile.inputTokenSoftLimit` (family default).
76
+ *
77
+ * Both fields are Zod-validated upstream:
78
+ * - `ProviderConfig.inputTokenSoftLimit` — `z.number().int().positive().optional()`
79
+ * (see packages/core/src/config/schema.ts)
80
+ * - `ModelProfile.inputTokenSoftLimit` — `z.number().int().positive()` (required)
81
+ *
82
+ * Because profile is guaranteed to carry a positive integer (DEFAULT_PROFILE
83
+ * supplies `100_000` when no prefix matches), there is no hardcoded
84
+ * constant fallback — the DEFAULT_PROFILE value is the de-facto fallback
85
+ * for unprofiled model IDs.
86
+ */
87
+ export declare function resolveInputTokenSoftLimit(config: ProviderConfig, profile: ModelProfile): number;
88
+ export type WatchdogStatus = 'ok' | 'warning' | 'force_salvage';
89
+ /**
90
+ * Watchdog threshold ratios (fraction of the resolved `softLimit`).
91
+ * Exported so tests can reference the exact boundary values.
92
+ *
93
+ * - At/above `WATCHDOG_WARNING_RATIO` (80%) the supervision loop nudges
94
+ * the model toward salvage.
95
+ * - At/above `WATCHDOG_FORCE_SALVAGE_RATIO` (95%) the loop is forcibly
96
+ * terminated and the scratchpad is salvaged.
97
+ */
98
+ export declare const WATCHDOG_WARNING_RATIO = 0.8;
99
+ export declare const WATCHDOG_FORCE_SALVAGE_RATIO = 0.95;
100
+ /**
101
+ * Given the cumulative input token usage and the resolved soft limit,
102
+ * returns the watchdog status:
103
+ * - 'ok' below 80%
104
+ * - 'warning' at or above 80%, below 95% (model is nudged)
105
+ * - 'force_salvage' at or above 95% (loop is forcibly terminated)
106
+ *
107
+ * Throws if `softLimit` is not a positive finite number. Runners call
108
+ * this independently, so a silent `'ok'` on a bad limit would mask
109
+ * upstream config bugs.
110
+ */
111
+ export declare function checkWatchdogThreshold(cumulativeInputTokens: number, softLimit: number): WatchdogStatus;
112
+ export interface WatchdogEventDetails {
113
+ provider: string;
114
+ model: string;
115
+ turn: number;
116
+ inputTokens: number;
117
+ softLimit: number;
118
+ scratchpadChars: number;
119
+ }
120
+ /**
121
+ * Emits a structured log line at watchdog threshold crossings.
122
+ *
123
+ * Gated on the `MULTI_MODEL_DEBUG` environment variable: the function is
124
+ * a no-op unless `process.env.MULTI_MODEL_DEBUG === '1'`. Any other value
125
+ * (including `'true'`, `'yes'`, or unset) suppresses the log.
126
+ *
127
+ * When enabled, a single line is written to `stderr` via `console.error`
128
+ * of the form:
129
+ * `[multi-model-agent] WATCHDOG <status>: provider=… model=… turn=… inputTokens=… softLimit=… percentOfLimit=… [scratchpadChars=…]`
130
+ *
131
+ * `scratchpadChars` is only appended when `status === 'force_salvage'`,
132
+ * since that is the transition where salvage content size matters for
133
+ * calibration. Used for empirical calibration of the 80% / 95%
134
+ * thresholds. See spec Part A.1.4 calibration logging.
135
+ */
136
+ export declare function logWatchdogEvent(status: 'warning' | 'force_salvage', details: WatchdogEventDetails): void;
137
+ //# sourceMappingURL=supervision.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"supervision.d.ts","sourceRoot":"","sources":["../../src/runners/supervision.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AAEH,kFAAkF;AAClF,MAAM,MAAM,cAAc,GACtB,OAAO,GACP,eAAe,GACf,UAAU,GACV,eAAe,GACf,uBAAuB,CAAC;AAE5B,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,qEAAqE;IACrE,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,yBAAyB;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,WAAW,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC,GAClD,gBAAgB,CAqClB;AAED,eAAO,MAAM,gBAAgB,KAAK,CAAC;AACnC,eAAO,MAAM,eAAe,QAAS,CAAC;AAEtC,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,MAAM,CAQrE,CAAC;AAEF,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,kBAAkB,EAAE,CAwE/E;AAUD;;;;;;;GAOG;AACH,eAAO,MAAM,0BAA0B,4FACoD,CAAC;AA+C5F,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE,yBAA8B,GACnC,gBAAgB,CAiDlB;AAED,wBAAgB,aAAa,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAqD9D;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,OAAO,CAElE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,YAAY,GACpB,MAAM,CAER;AAED,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,SAAS,GAAG,eAAe,CAAC;AAEhE;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,MAAO,CAAC;AAC3C,eAAO,MAAM,4BAA4B,OAAO,CAAC;AAEjD;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,qBAAqB,EAAE,MAAM,EAC7B,SAAS,EAAE,MAAM,GAChB,cAAc,CAUhB;AAED,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,GAAG,eAAe,EACnC,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAgBN"}