@zhixuan92/multi-model-agent-core 3.1.6 → 3.2.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/dist/config/schema.d.ts +13 -13
- package/dist/delegate-with-escalation.d.ts +2 -1
- package/dist/delegate-with-escalation.d.ts.map +1 -1
- package/dist/delegate-with-escalation.js.map +1 -1
- package/dist/executors/audit.js +1 -1
- package/dist/executors/audit.js.map +1 -1
- package/dist/executors/debug.js +1 -1
- package/dist/executors/debug.js.map +1 -1
- package/dist/executors/delegate.d.ts +2 -2
- package/dist/executors/delegate.d.ts.map +1 -1
- package/dist/executors/delegate.js +1 -1
- package/dist/executors/delegate.js.map +1 -1
- package/dist/executors/execute-plan.d.ts.map +1 -1
- package/dist/executors/execute-plan.js +36 -37
- package/dist/executors/execute-plan.js.map +1 -1
- package/dist/executors/execution-context.d.ts +3 -0
- package/dist/executors/execution-context.d.ts.map +1 -0
- package/dist/executors/execution-context.js +20 -0
- package/dist/executors/execution-context.js.map +1 -0
- package/dist/executors/retry.d.ts +1 -1
- package/dist/executors/retry.d.ts.map +1 -1
- package/dist/executors/retry.js +1 -1
- package/dist/executors/retry.js.map +1 -1
- package/dist/executors/review.js +1 -1
- package/dist/executors/review.js.map +1 -1
- package/dist/executors/shared-compute.d.ts +2 -1
- package/dist/executors/shared-compute.d.ts.map +1 -1
- package/dist/executors/shared-compute.js.map +1 -1
- package/dist/executors/types.d.ts +29 -26
- package/dist/executors/types.d.ts.map +1 -1
- package/dist/executors/verify.js +1 -1
- package/dist/executors/verify.js.map +1 -1
- package/dist/heartbeat.d.ts +1 -1
- package/dist/heartbeat.d.ts.map +1 -1
- package/dist/index.d.ts +7 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/intake/types.d.ts +9 -0
- package/dist/intake/types.d.ts.map +1 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js.map +1 -1
- package/dist/readiness/readiness.d.ts +2 -1
- package/dist/readiness/readiness.d.ts.map +1 -1
- package/dist/readiness/readiness.js.map +1 -1
- package/dist/routing/model-profiles.d.ts +1 -1
- package/dist/routing/types.d.ts +15 -0
- package/dist/routing/types.d.ts.map +1 -0
- package/dist/routing/types.js +2 -0
- package/dist/routing/types.js.map +1 -0
- package/dist/run-tasks/execute-task.d.ts +20 -0
- package/dist/run-tasks/execute-task.d.ts.map +1 -0
- package/dist/run-tasks/execute-task.js +29 -0
- package/dist/run-tasks/execute-task.js.map +1 -0
- package/dist/run-tasks/fallback-report.d.ts +5 -0
- package/dist/run-tasks/fallback-report.d.ts.map +1 -0
- package/dist/run-tasks/fallback-report.js +33 -0
- package/dist/run-tasks/fallback-report.js.map +1 -0
- package/dist/{run-tasks.d.ts → run-tasks/index.d.ts} +8 -5
- package/dist/run-tasks/index.d.ts.map +1 -0
- package/dist/run-tasks/index.js +118 -0
- package/dist/run-tasks/index.js.map +1 -0
- package/dist/run-tasks/plan-extraction.d.ts +2 -0
- package/dist/run-tasks/plan-extraction.d.ts.map +1 -0
- package/dist/run-tasks/plan-extraction.js +44 -0
- package/dist/run-tasks/plan-extraction.js.map +1 -0
- package/dist/run-tasks/reviewed-lifecycle.d.ts +15 -0
- package/dist/run-tasks/reviewed-lifecycle.d.ts.map +1 -0
- package/dist/{run-tasks.js → run-tasks/reviewed-lifecycle.js} +15 -238
- package/dist/run-tasks/reviewed-lifecycle.js.map +1 -0
- package/dist/run-tasks/worker-status.d.ts +3 -0
- package/dist/run-tasks/worker-status.d.ts.map +1 -0
- package/dist/run-tasks/worker-status.js +13 -0
- package/dist/run-tasks/worker-status.js.map +1 -0
- package/dist/runners/base/result-builders.d.ts +56 -0
- package/dist/runners/base/result-builders.d.ts.map +1 -0
- package/dist/runners/base/result-builders.js +98 -0
- package/dist/runners/base/result-builders.js.map +1 -0
- package/dist/runners/base/types.d.ts +53 -0
- package/dist/runners/base/types.d.ts.map +1 -0
- package/dist/runners/base/types.js +2 -0
- package/dist/runners/base/types.js.map +1 -0
- package/dist/runners/claude-runner.d.ts +2 -1
- package/dist/runners/claude-runner.d.ts.map +1 -1
- package/dist/runners/claude-runner.js +44 -109
- package/dist/runners/claude-runner.js.map +1 -1
- package/dist/runners/codex-runner.d.ts +2 -1
- package/dist/runners/codex-runner.d.ts.map +1 -1
- package/dist/runners/codex-runner.js +45 -110
- package/dist/runners/codex-runner.js.map +1 -1
- package/dist/runners/error-classification.d.ts +1 -1
- package/dist/runners/error-classification.d.ts.map +1 -1
- package/dist/runners/openai-runner.d.ts +2 -1
- package/dist/runners/openai-runner.d.ts.map +1 -1
- package/dist/runners/openai-runner.js +34 -84
- package/dist/runners/openai-runner.js.map +1 -1
- package/dist/runners/supervision.d.ts +8 -4
- package/dist/runners/supervision.d.ts.map +1 -1
- package/dist/runners/supervision.js +8 -4
- package/dist/runners/supervision.js.map +1 -1
- package/dist/runners/types.d.ts +123 -0
- package/dist/runners/types.d.ts.map +1 -0
- package/dist/runners/types.js +2 -0
- package/dist/runners/types.js.map +1 -0
- package/dist/types.d.ts +4 -324
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +8 -37
- package/dist/types.js.map +1 -1
- package/package.json +7 -3
- package/dist/run-tasks.d.ts.map +0 -1
- package/dist/run-tasks.js.map +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { AttemptRecord, RunOptions, RunStatus, TerminationReason, TokenUsage } from './runners/types.js';
|
|
2
|
+
import type { BriefQualityPolicy, BriefQualityWarning } from './intake/types.js';
|
|
2
3
|
export type ToolMode = 'none' | 'readonly' | 'no-shell' | 'full';
|
|
3
4
|
export type SandboxPolicy = 'none' | 'cwd-only';
|
|
4
5
|
export type AgentType = 'standard' | 'complex';
|
|
5
6
|
export type AgentCapability = 'web_search' | 'web_fetch';
|
|
7
|
+
export type Effort = 'none' | 'low' | 'medium' | 'high';
|
|
8
|
+
export type CostTier = 'free' | 'low' | 'medium' | 'high';
|
|
6
9
|
export interface AgentConfig {
|
|
7
10
|
type: 'openai-compatible' | 'claude' | 'codex';
|
|
8
11
|
model: string;
|
|
@@ -16,27 +19,16 @@ export interface AgentConfig {
|
|
|
16
19
|
sandboxPolicy?: SandboxPolicy;
|
|
17
20
|
inputTokenSoftLimit?: number;
|
|
18
21
|
}
|
|
19
|
-
export type Effort = 'none' | 'low' | 'medium' | 'high';
|
|
20
|
-
export type CostTier = 'free' | 'low' | 'medium' | 'high';
|
|
21
|
-
export type RunStatus = 'ok' | 'incomplete' | 'timeout' | 'api_aborted' | 'api_error' | 'network_error' | 'error' | 'brief_too_vague' | 'cost_exceeded';
|
|
22
22
|
export interface FormatConstraints {
|
|
23
23
|
inputFormat?: 'json' | 'yaml' | 'xml' | 'csv' | 'markdown';
|
|
24
24
|
outputFormat?: 'json' | 'yaml' | 'xml' | 'csv' | 'markdown';
|
|
25
25
|
}
|
|
26
26
|
export interface TaskSpec {
|
|
27
|
-
/** The task instruction. Required. */
|
|
28
27
|
prompt: string;
|
|
29
|
-
/** How hard the task is. Default: standard. */
|
|
30
28
|
agentType?: AgentType;
|
|
31
|
-
/** Files the sub-agent should focus on. Existing files are pre-verified;
|
|
32
|
-
* non-existent paths are treated as intended output targets. */
|
|
33
29
|
filePaths?: string[];
|
|
34
|
-
/** Acceptance criteria in plain language. The worker reads it as a goal.
|
|
35
|
-
* The spec reviewer checks whether the output satisfies it. */
|
|
36
30
|
done?: string;
|
|
37
|
-
/** Context block IDs to prepend to prompt. */
|
|
38
31
|
contextBlockIds?: string[];
|
|
39
|
-
/** Resolved from config. Callers never set these directly. */
|
|
40
32
|
tools?: ToolMode;
|
|
41
33
|
timeoutMs?: number;
|
|
42
34
|
cwd?: string;
|
|
@@ -56,11 +48,7 @@ export interface TaskSpec {
|
|
|
56
48
|
};
|
|
57
49
|
requiredCapabilities?: AgentCapability[];
|
|
58
50
|
testCommand?: string;
|
|
59
|
-
/** When true, the platform commits filesWritten via git after the worker finishes.
|
|
60
|
-
* Set by preset tools (execute_plan, delegate_tasks, debug_task). Callers don't set this. */
|
|
61
51
|
autoCommit?: boolean;
|
|
62
|
-
/** Plan section content for execute_plan tasks. Injected into spec reviewer prompt
|
|
63
|
-
* so the reviewer checks implementation against the plan, not just the brief. */
|
|
64
52
|
planContext?: string;
|
|
65
53
|
}
|
|
66
54
|
export interface CodexProviderConfig {
|
|
@@ -71,13 +59,8 @@ export interface CodexProviderConfig {
|
|
|
71
59
|
sandboxPolicy?: SandboxPolicy;
|
|
72
60
|
hostedTools?: ('web_search' | 'image_generation' | 'code_interpreter')[];
|
|
73
61
|
costTier?: CostTier;
|
|
74
|
-
/** Optional pricing in USD per million input tokens. Used to compute RunResult.usage.costUSD. */
|
|
75
62
|
inputCostPerMTok?: number;
|
|
76
|
-
/** Optional pricing in USD per million output tokens. Used to compute RunResult.usage.costUSD. */
|
|
77
63
|
outputCostPerMTok?: number;
|
|
78
|
-
/** Optional override for the per-provider input token soft limit
|
|
79
|
-
* used by the watchdog. When unset, falls back to the model profile
|
|
80
|
-
* default, then to a hardcoded 100_000 fallback. See spec A.1.4. */
|
|
81
64
|
inputTokenSoftLimit?: number;
|
|
82
65
|
}
|
|
83
66
|
export interface ClaudeProviderConfig {
|
|
@@ -88,18 +71,13 @@ export interface ClaudeProviderConfig {
|
|
|
88
71
|
sandboxPolicy?: SandboxPolicy;
|
|
89
72
|
hostedTools?: ('web_search' | 'image_generation' | 'code_interpreter')[];
|
|
90
73
|
costTier?: CostTier;
|
|
91
|
-
/** Optional pricing override; if set, recomputes costUSD from token usage instead of trusting the SDK. */
|
|
92
74
|
inputCostPerMTok?: number;
|
|
93
75
|
outputCostPerMTok?: number;
|
|
94
|
-
/** Optional override for the per-provider input token soft limit
|
|
95
|
-
* used by the watchdog. When unset, falls back to the model profile
|
|
96
|
-
* default, then to a hardcoded 100_000 fallback. See spec A.1.4. */
|
|
97
76
|
inputTokenSoftLimit?: number;
|
|
98
77
|
}
|
|
99
78
|
export interface OpenAICompatibleProviderConfig {
|
|
100
79
|
type: 'openai-compatible';
|
|
101
80
|
model: string;
|
|
102
|
-
/** Required — must be specified. No default. */
|
|
103
81
|
baseUrl: string;
|
|
104
82
|
apiKey?: string;
|
|
105
83
|
apiKeyEnv?: string;
|
|
@@ -108,16 +86,10 @@ export interface OpenAICompatibleProviderConfig {
|
|
|
108
86
|
sandboxPolicy?: SandboxPolicy;
|
|
109
87
|
hostedTools?: 'web_search'[];
|
|
110
88
|
costTier?: CostTier;
|
|
111
|
-
/** Optional pricing in USD per million input tokens. Used to compute RunResult.usage.costUSD. */
|
|
112
89
|
inputCostPerMTok?: number;
|
|
113
|
-
/** Optional pricing in USD per million output tokens. Used to compute RunResult.usage.costUSD. */
|
|
114
90
|
outputCostPerMTok?: number;
|
|
115
|
-
/** Optional override for the per-provider input token soft limit
|
|
116
|
-
* used by the watchdog. When unset, falls back to the model profile
|
|
117
|
-
* default, then to a hardcoded 100_000 fallback. See spec A.1.4. */
|
|
118
91
|
inputTokenSoftLimit?: number;
|
|
119
92
|
}
|
|
120
|
-
/** Discriminated union — each provider type has distinct required fields. */
|
|
121
93
|
export type ProviderConfig = CodexProviderConfig | ClaudeProviderConfig | OpenAICompatibleProviderConfig;
|
|
122
94
|
export interface MultiModelConfig {
|
|
123
95
|
agents: {
|
|
@@ -129,13 +101,7 @@ export interface MultiModelConfig {
|
|
|
129
101
|
maxCostUSD: number;
|
|
130
102
|
tools: ToolMode;
|
|
131
103
|
sandboxPolicy: SandboxPolicy;
|
|
132
|
-
/** Character threshold that triggers auto-switch from 'full' to
|
|
133
|
-
* 'summary' response mode when the caller uses `responseMode: 'auto'`
|
|
134
|
-
* (the default). Optional — defaults to 65_536 when absent.
|
|
135
|
-
* Env vars can override at higher precedence. */
|
|
136
104
|
largeResponseThresholdChars?: number;
|
|
137
|
-
/** Model name of the parent session (e.g. 'claude-opus-4-6'). When set,
|
|
138
|
-
* each task's `savedCostUSD` is computed against this model's rates. */
|
|
139
105
|
parentModel?: string;
|
|
140
106
|
};
|
|
141
107
|
diagnostics?: {
|
|
@@ -166,338 +132,52 @@ export interface MultiModelConfig {
|
|
|
166
132
|
autoUpdateSkills: boolean;
|
|
167
133
|
};
|
|
168
134
|
}
|
|
169
|
-
export interface TokenUsage {
|
|
170
|
-
inputTokens: number;
|
|
171
|
-
outputTokens: number;
|
|
172
|
-
totalTokens: number;
|
|
173
|
-
costUSD: number | null;
|
|
174
|
-
/** Estimated cost savings versus the declared parent model, if known. */
|
|
175
|
-
savedCostUSD?: number | null;
|
|
176
|
-
}
|
|
177
|
-
export interface TerminationReason {
|
|
178
|
-
/** Why the task stopped. 'finished' means the worker returned normally — check
|
|
179
|
-
* workerSelfAssessment for the worker's own view of completion. */
|
|
180
|
-
cause: 'finished' | 'incomplete' | 'timeout' | 'cost_exceeded' | 'degenerate_exhausted' | 'api_error' | 'network_error' | 'api_aborted' | 'brief_too_vague' | 'error';
|
|
181
|
-
turnsUsed: number;
|
|
182
|
-
hasFileArtifacts: boolean;
|
|
183
|
-
usedShell: boolean;
|
|
184
|
-
workerSelfAssessment: 'done' | 'done_with_concerns' | 'needs_context' | 'blocked' | null;
|
|
185
|
-
wasPromoted: boolean;
|
|
186
|
-
}
|
|
187
135
|
export interface RunResult {
|
|
188
136
|
output: string;
|
|
189
137
|
status: RunStatus;
|
|
190
138
|
usage: TokenUsage;
|
|
191
139
|
turns: number;
|
|
192
|
-
/** Files whose contents the worker read (via readFile/grep/listFiles). */
|
|
193
140
|
filesRead: string[];
|
|
194
|
-
/** Files the worker wrote (via writeFile). */
|
|
195
141
|
filesWritten: string[];
|
|
196
|
-
/** Compact one-line summaries of every tool the worker invoked, in order. */
|
|
197
142
|
toolCalls: string[];
|
|
198
|
-
/** `true` when `output` is a runner-synthesized diagnostic template
|
|
199
|
-
* (`"Sub-agent error: …"`, `"Agent timed out after …"`, the incomplete
|
|
200
|
-
* template from `buildXxxIncompleteDiagnostic`, etc.) because the
|
|
201
|
-
* scratchpad was empty at termination. `false` when `output` contains
|
|
202
|
-
* real model-produced content — either a clean final answer on the
|
|
203
|
-
* `ok` path, or `scratchpad.latest()` on any salvage path where the
|
|
204
|
-
* scratchpad had buffered text.
|
|
205
|
-
*
|
|
206
|
-
* Used by the escalation orchestrator's all-fail fallback to prefer
|
|
207
|
-
* real content over diagnostic templates regardless of status or
|
|
208
|
-
* length (otherwise a long `"Sub-agent error: <stack trace>"` string
|
|
209
|
-
* could beat a shorter genuine partial answer from an earlier
|
|
210
|
-
* attempt). */
|
|
211
143
|
outputIsDiagnostic: boolean;
|
|
212
|
-
/** One entry per provider attempt within this dispatch. Length === 1
|
|
213
|
-
* for tasks that succeeded on the first try; longer when escalation
|
|
214
|
-
* occurred. Runners initialize this to `[]`; the escalation
|
|
215
|
-
* orchestrator populates it on each return path. */
|
|
216
144
|
escalationLog: AttemptRecord[];
|
|
217
|
-
/** Wall-clock duration of this task in milliseconds. */
|
|
218
145
|
durationMs?: number;
|
|
219
|
-
/** Directories whose entries the worker listed. */
|
|
220
146
|
directoriesListed?: string[];
|
|
221
147
|
error?: string;
|
|
222
|
-
/** Error code for refused briefs. */
|
|
223
148
|
errorCode?: string;
|
|
224
|
-
/** Whether the task can be retried. */
|
|
225
149
|
retryable?: boolean;
|
|
226
|
-
/** Brief quality warnings from readiness evaluation. */
|
|
227
150
|
briefQualityWarnings?: BriefQualityWarning[];
|
|
228
|
-
/** Structured termination reason. Tells the parent why the task stopped and what evidence exists. */
|
|
229
151
|
terminationReason?: TerminationReason;
|
|
230
|
-
/** Internal: worker status extracted from implementer report. Consumed by escalation orchestrator
|
|
231
|
-
* to build terminationReason. NOT exposed in MCP responses — use terminationReason.workerSelfAssessment. */
|
|
232
152
|
workerStatus?: 'done' | 'done_with_concerns' | 'needs_context' | 'blocked';
|
|
233
|
-
/** Spec review outcome. */
|
|
234
153
|
specReviewStatus?: 'approved' | 'changes_required' | 'skipped' | 'error' | 'not_applicable';
|
|
235
|
-
/** Why spec review returned its status. Present for 'error', 'skipped', and 'not_applicable'. */
|
|
236
154
|
specReviewReason?: string;
|
|
237
|
-
/** Internal: true when task.filePaths was specified but the worker never
|
|
238
|
-
* read or wrote any of them — a soft completion concern. */
|
|
239
155
|
filePathsSkipped?: boolean;
|
|
240
|
-
/** True when task.filePaths included non-existent output targets that still
|
|
241
|
-
* don't exist after all work (worker + rework) completes. */
|
|
242
156
|
fileArtifactsMissing?: boolean;
|
|
243
|
-
/** SHA of the last auto-commit created during this task lifecycle. */
|
|
244
157
|
commitSha?: string;
|
|
245
|
-
/** Error from the last failed auto-commit attempt, if any. */
|
|
246
158
|
commitError?: string;
|
|
247
|
-
/** Quality review outcome. */
|
|
248
159
|
qualityReviewStatus?: 'approved' | 'changes_required' | 'skipped' | 'error' | 'not_applicable';
|
|
249
|
-
/** Why quality review returned its status. Present for 'error', 'skipped', and 'not_applicable'. */
|
|
250
160
|
qualityReviewReason?: string;
|
|
251
|
-
/** Aggregated structured report from the reviewed execution loop. */
|
|
252
161
|
structuredReport?: import('./reporting/structured-report.js').ParsedStructuredReport;
|
|
253
|
-
/** Which agent ran in each role. */
|
|
254
162
|
agents?: {
|
|
255
163
|
implementer: 'standard' | 'complex' | 'not_run';
|
|
256
164
|
specReviewer: 'standard' | 'complex' | 'skipped' | 'not_applicable';
|
|
257
165
|
qualityReviewer: 'standard' | 'complex' | 'skipped' | 'not_applicable';
|
|
258
166
|
};
|
|
259
|
-
/** Actual model name used in each role. */
|
|
260
167
|
models?: {
|
|
261
168
|
implementer: string;
|
|
262
169
|
specReviewer: string | null;
|
|
263
170
|
qualityReviewer: string | null;
|
|
264
171
|
};
|
|
265
|
-
/** The implementer's structured report. */
|
|
266
172
|
implementationReport?: import('./reporting/structured-report.js').ParsedStructuredReport;
|
|
267
|
-
/** The spec reviewer's structured report. */
|
|
268
173
|
specReviewReport?: import('./reporting/structured-report.js').ParsedStructuredReport;
|
|
269
|
-
/** The quality reviewer's structured report. */
|
|
270
174
|
qualityReviewReport?: import('./reporting/structured-report.js').ParsedStructuredReport;
|
|
271
175
|
}
|
|
272
|
-
/** Aggregate timing metrics for a `delegate_tasks` batch. */
|
|
273
|
-
export interface BatchTimings {
|
|
274
|
-
wallClockMs: number;
|
|
275
|
-
sumOfTaskMs: number;
|
|
276
|
-
estimatedParallelSavingsMs: number;
|
|
277
|
-
}
|
|
278
|
-
/** Aggregate completion counts for a `delegate_tasks` batch. */
|
|
279
|
-
export interface BatchProgress {
|
|
280
|
-
totalTasks: number;
|
|
281
|
-
completedTasks: number;
|
|
282
|
-
incompleteTasks: number;
|
|
283
|
-
failedTasks: number;
|
|
284
|
-
successPercent: number;
|
|
285
|
-
}
|
|
286
|
-
/** Aggregate cost metrics for a `delegate_tasks` batch. */
|
|
287
|
-
export interface BatchAggregateCost {
|
|
288
|
-
totalActualCostUSD: number;
|
|
289
|
-
totalSavedCostUSD: number;
|
|
290
|
-
}
|
|
291
|
-
/**
|
|
292
|
-
* Single provider-attempt record inside an escalation chain. The orchestrator
|
|
293
|
-
* (`delegateWithEscalation`) pushes one entry per `provider.run(...)` call.
|
|
294
|
-
*/
|
|
295
|
-
export interface AttemptRecord {
|
|
296
|
-
provider: string;
|
|
297
|
-
status: RunStatus;
|
|
298
|
-
turns: number;
|
|
299
|
-
inputTokens: number;
|
|
300
|
-
outputTokens: number;
|
|
301
|
-
costUSD: number | null;
|
|
302
|
-
/** Character count of the canonical orchestrator-side initial brief for
|
|
303
|
-
* this attempt — the exact string
|
|
304
|
-
* `${buildSystemPrompt()}\n\n${buildBudgetHint(...)}\n\n${prompt}`
|
|
305
|
-
* (as assembled before any runner-specific wrapping). Populated by the
|
|
306
|
-
* escalation orchestrator via the `RunOptions.onInitialRequest` callback
|
|
307
|
-
* the runner invokes exactly once per attempt.
|
|
308
|
-
*
|
|
309
|
-
* NOTE: This is a canonical identifier, NOT a wire-level checksum. The
|
|
310
|
-
* provider's SDK may wrap or transform this string before sending (e.g.
|
|
311
|
-
* the Anthropic SDK prepends its `claude_code` preset to the system
|
|
312
|
-
* prompt via `{ type: 'preset', preset: 'claude_code', append: ... }`;
|
|
313
|
-
* the OpenAI SDKs wrap it in a `messages` array). All three runners use
|
|
314
|
-
* the same canonical form so the hash is cross-runner stable: identical
|
|
315
|
-
* briefs produce identical hashes regardless of which runner executed
|
|
316
|
-
* them. Use this to verify "did the orchestrator send the same brief
|
|
317
|
-
* across retries?", not "were the literal bytes on the wire identical?".
|
|
318
|
-
*
|
|
319
|
-
* Defaults to 0 if the runner never invoked the callback. */
|
|
320
|
-
initialPromptLengthChars: number;
|
|
321
|
-
/** sha256 hex of the canonical orchestrator-side initial brief. See the
|
|
322
|
-
* comment on `initialPromptLengthChars` above for the exact hashed
|
|
323
|
-
* string and the wire-level caveat. Defaults to the empty string if the
|
|
324
|
-
* runner never invoked the callback. */
|
|
325
|
-
initialPromptHash: string;
|
|
326
|
-
/** Why this attempt was abandoned, if it was. Empty if status === 'ok'. */
|
|
327
|
-
reason?: string;
|
|
328
|
-
}
|
|
329
176
|
export interface Provider {
|
|
330
177
|
name: string;
|
|
331
178
|
config: ProviderConfig;
|
|
332
179
|
run(prompt: string, options?: RunOptions): Promise<RunResult>;
|
|
333
180
|
}
|
|
334
|
-
export interface RunOptions {
|
|
335
|
-
tools?: ToolMode;
|
|
336
|
-
timeoutMs?: number;
|
|
337
|
-
cwd?: string;
|
|
338
|
-
effort?: Effort;
|
|
339
|
-
sandboxPolicy?: SandboxPolicy;
|
|
340
|
-
/** Optional caller-declared output expectations. When supplied, the
|
|
341
|
-
* supervision layer runs `validateCoverage` after `validateCompletion`'s
|
|
342
|
-
* syntactic check passes, and re-prompts with specific missing-item
|
|
343
|
-
* guidance if coverage is insufficient. Same 3-retry budget as other
|
|
344
|
-
* degeneracy classes. Opt-in: callers who omit this field see zero
|
|
345
|
-
* change in runner behavior. Generic across all workload shapes that
|
|
346
|
-
* produce enumerable deliverables. */
|
|
347
|
-
expectedCoverage?: TaskSpec['expectedCoverage'];
|
|
348
|
-
/** Opt-out: when true, the runner skips the `no_terminator` and `fragment`
|
|
349
|
-
* short-output heuristics for this task. Use for tight-format outputs
|
|
350
|
-
* (single-line verdicts, CSV rows, opaque identifiers) that don't follow
|
|
351
|
-
* prose conventions. The `empty` and `thinking_only` degeneracy checks
|
|
352
|
-
* still fire independently. If `expectedCoverage` is also declared and
|
|
353
|
-
* passes, coverage is authoritative — you don't need this flag. */
|
|
354
|
-
skipCompletionHeuristic?: boolean;
|
|
355
|
-
/** Optional callback invoked by runners and the escalation orchestrator to
|
|
356
|
-
* stream in-flight internal progress events. These are `InternalRunnerEvent`
|
|
357
|
-
* variants — the runner-to-orchestrator telemetry channel. They are NEVER
|
|
358
|
-
* forwarded to the parent. HeartbeatTimer is the sole parent emitter. */
|
|
359
|
-
onProgress?: (event: InternalRunnerEvent) => void;
|
|
360
|
-
/** Called exactly once per attempt, when the runner has assembled the
|
|
361
|
-
* canonical orchestrator-side initial brief — the string
|
|
362
|
-
* `${buildSystemPrompt()}\n\n${buildBudgetHint(...)}\n\n${prompt}`,
|
|
363
|
-
* after prevention scaffolding has been produced but before any tool
|
|
364
|
-
* cycles, re-grounding, supervision, or watchdog injections happen.
|
|
365
|
-
* The escalation orchestrator passes a closure here to capture the
|
|
366
|
-
* metadata into the `AttemptRecord` it builds.
|
|
367
|
-
*
|
|
368
|
-
* This is a canonical identifier, NOT a wire-level checksum: each
|
|
369
|
-
* runner computes it from the same canonical string so the hash is
|
|
370
|
-
* cross-runner stable, even though the SDK underneath may wrap the
|
|
371
|
-
* inputs before sending (Claude prepends its `claude_code` preset to
|
|
372
|
-
* the system prompt; OpenAI/Codex wrap inputs in structured message
|
|
373
|
-
* arrays). See `AttemptRecord.initialPromptHash` for the full caveat.
|
|
374
|
-
*
|
|
375
|
-
* If a runner is re-invoked by escalation, the callback fires again
|
|
376
|
-
* for the new attempt because the orchestrator resets its per-attempt
|
|
377
|
-
* closure. Passing nothing keeps existing behaviour (no-op). */
|
|
378
|
-
onInitialRequest?: (meta: {
|
|
379
|
-
lengthChars: number;
|
|
380
|
-
sha256: string;
|
|
381
|
-
}) => void;
|
|
382
|
-
/** Optional hint about the parent session's model for saved-cost estimates.
|
|
383
|
-
* When supplied, `RunResult.usage.savedCostUSD` is computed against this
|
|
384
|
-
* model's profile rates. */
|
|
385
|
-
parentModel?: string;
|
|
386
|
-
/** Optional cost ceiling in USD. Runner will reject tool calls that would exceed this budget. */
|
|
387
|
-
maxCostUSD?: number;
|
|
388
|
-
/** Optional format constraints for input/output. */
|
|
389
|
-
formatConstraints?: FormatConstraints;
|
|
390
|
-
}
|
|
391
|
-
/**
|
|
392
|
-
* Runtime dependencies for `runTasks`. Kept separate from static `MultiModelConfig`
|
|
393
|
-
* because these are per-session objects (today: the context-block store) the
|
|
394
|
-
* caller owns and passes in explicitly, not config loaded from disk.
|
|
395
|
-
*/
|
|
396
|
-
export interface RunTasksRuntime {
|
|
397
|
-
/** Optional store of registered context blocks. When provided, each task's
|
|
398
|
-
* `contextBlockIds` are resolved against this store before dispatch; when
|
|
399
|
-
* omitted, tasks with `contextBlockIds` are passed through unchanged. */
|
|
400
|
-
contextBlockStore?: ContextBlockStore;
|
|
401
|
-
}
|
|
402
|
-
/**
|
|
403
|
-
* Internal progress events emitted by runners and the escalation orchestrator.
|
|
404
|
-
* These flow from runners → run-tasks.ts (intercepted for live counter updates)
|
|
405
|
-
* but are NEVER forwarded to the parent. HeartbeatTimer is the sole parent emitter.
|
|
406
|
-
*
|
|
407
|
-
* Runners emit these via `onProgress`. `delegateWithEscalation` also emits
|
|
408
|
-
* `escalation_start` and `retry` variants here.
|
|
409
|
-
*/
|
|
410
|
-
export type InternalRunnerEvent = {
|
|
411
|
-
kind: 'turn_start';
|
|
412
|
-
turn: number;
|
|
413
|
-
provider: string;
|
|
414
|
-
} | {
|
|
415
|
-
kind: 'tool_call';
|
|
416
|
-
turn: number;
|
|
417
|
-
toolSummary: string;
|
|
418
|
-
} | {
|
|
419
|
-
kind: 'text_emission';
|
|
420
|
-
turn: number;
|
|
421
|
-
chars: number;
|
|
422
|
-
preview: string;
|
|
423
|
-
} | {
|
|
424
|
-
kind: 'turn_complete';
|
|
425
|
-
turn: number;
|
|
426
|
-
cumulativeInputTokens: number;
|
|
427
|
-
cumulativeOutputTokens: number;
|
|
428
|
-
} | {
|
|
429
|
-
kind: 'injection';
|
|
430
|
-
injectionType: 'reground' | 'supervise_empty' | 'supervise_thinking' | 'supervise_fragment' | 'supervise_insufficient_coverage' | 'watchdog_warning' | 'watchdog_force_salvage';
|
|
431
|
-
turn: number;
|
|
432
|
-
contentLengthChars: number;
|
|
433
|
-
} | {
|
|
434
|
-
kind: 'escalation_start';
|
|
435
|
-
previousProvider: string;
|
|
436
|
-
previousReason: string;
|
|
437
|
-
nextProvider: string;
|
|
438
|
-
} | {
|
|
439
|
-
kind: 'retry';
|
|
440
|
-
attempt: number;
|
|
441
|
-
previousStatus: RunStatus;
|
|
442
|
-
delayMs: number;
|
|
443
|
-
} | {
|
|
444
|
-
kind: 'done';
|
|
445
|
-
status: RunStatus;
|
|
446
|
-
};
|
|
447
|
-
/**
|
|
448
|
-
* Single progress event shape emitted by HeartbeatTimer during task execution.
|
|
449
|
-
* All progress notifications use this one shape — no discriminated union.
|
|
450
|
-
* Emitted on timer ticks (every 5s), significant transitions (stage/provider change),
|
|
451
|
-
* and once with `final: true` on completion.
|
|
452
|
-
*/
|
|
453
|
-
export type ProgressEvent = {
|
|
454
|
-
kind: 'heartbeat';
|
|
455
|
-
elapsed: string;
|
|
456
|
-
provider: string;
|
|
457
|
-
stage: 'implementing' | 'spec_review' | 'spec_rework' | 'quality_review' | 'quality_rework';
|
|
458
|
-
stageIndex: number;
|
|
459
|
-
stageCount: number;
|
|
460
|
-
reviewRound?: number;
|
|
461
|
-
maxReviewRounds?: number;
|
|
462
|
-
progress: {
|
|
463
|
-
filesRead: number;
|
|
464
|
-
filesWritten: number;
|
|
465
|
-
toolCalls: number;
|
|
466
|
-
};
|
|
467
|
-
costUSD: number | null;
|
|
468
|
-
savedCostUSD: number | null;
|
|
469
|
-
final: boolean;
|
|
470
|
-
headline: string;
|
|
471
|
-
};
|
|
472
|
-
export type EligibilityFailureCheck = 'capability' | 'tier' | 'tool_mode' | 'provider_not_found' | 'unsupported_provider_type' | 'missing_required_field' | string;
|
|
473
|
-
export interface EligibilityFailure {
|
|
474
|
-
check: EligibilityFailureCheck;
|
|
475
|
-
detail: string;
|
|
476
|
-
message: string;
|
|
477
|
-
}
|
|
478
|
-
export interface ProviderEligibility {
|
|
479
|
-
name: string;
|
|
480
|
-
config: ProviderConfig;
|
|
481
|
-
eligible: boolean;
|
|
482
|
-
/** Reasons only present when eligible === false. */
|
|
483
|
-
reasons: EligibilityFailure[];
|
|
484
|
-
}
|
|
485
|
-
export type BriefQualityWarning = 'outsourced_discovery' | 'brittle_line_anchors' | 'mixed_environment_actions' | 'bare_topic_noun' | 'no_done_condition' | 'no_output_contract' | 'tiny_brief' | 'huge_brief';
|
|
486
|
-
export type BriefQualityPolicy = 'strict' | 'warn' | 'off' | undefined;
|
|
487
|
-
export interface ReadinessResult {
|
|
488
|
-
action: 'refuse' | 'warn' | 'ignored';
|
|
489
|
-
missingPillars: ('scope' | 'inputs' | 'done_condition' | 'output_contract')[];
|
|
490
|
-
layer2Warnings: BriefQualityWarning[];
|
|
491
|
-
layer3Hints: ('concrete_path' | 'named_code_artifact' | 'reasonable_length')[];
|
|
492
|
-
briefQualityWarnings: BriefQualityWarning[];
|
|
493
|
-
}
|
|
494
|
-
/**
|
|
495
|
-
* Compute USD cost from token usage and the provider config's optional
|
|
496
|
-
* per-million-token rates. Returns null when either rate is missing — that
|
|
497
|
-
* way the caller can distinguish "we know the cost is zero" (free provider
|
|
498
|
-
* with both rates set to 0) from "we don't know the cost" (rates not
|
|
499
|
-
* configured). Negative or non-finite rates are treated as missing.
|
|
500
|
-
*/
|
|
501
181
|
export declare function computeCostUSD(inputTokens: number, outputTokens: number, config: ProviderConfig): number | null;
|
|
502
182
|
export declare function computeSavedCostUSD(actualCostUSD: number | null, inputTokens: number, outputTokens: number, parentModel: string | undefined): number | null;
|
|
503
183
|
export declare function withTimeout<T>(promise: Promise<T>, timeoutMs: number, onTimeout: () => T, abort?: AbortController): Promise<T>;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,SAAS,EACT,iBAAiB,EACjB,UAAU,EACX,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAGjF,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,GAAG,MAAM,CAAC;AACjE,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,UAAU,CAAC;AAChD,MAAM,MAAM,SAAS,GAAG,UAAU,GAAG,SAAS,CAAC;AAC/C,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,WAAW,CAAC;AACzD,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AACxD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE1D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,mBAAmB,GAAG,QAAQ,GAAG,OAAO,CAAA;IAC9C,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,CAAC,EAAE,eAAe,EAAE,CAAA;IAChC,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,MAAM,WAAW,iBAAiB;IAChC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,CAAC;IAC3D,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,KAAK,GAAG,UAAU,CAAC;CAC7D;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,SAAS,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;IAC1B,KAAK,CAAC,EAAE,QAAQ,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,aAAa,CAAC,EAAE,aAAa,CAAA;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,YAAY,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,KAAK,CAAA;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,uBAAuB,CAAC,EAAE,OAAO,CAAA;IACjC,gBAAgB,CAAC,EAAE;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,cAAc,CAAC,EAAE,MAAM,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,CAAA;IAChG,oBAAoB,CAAC,EAAE,eAAe,EAAE,CAAA;IACxC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,mBAAmB;IAAG,IAAI,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IAAC,WAAW,CAAC,EAAE,CAAC,YAAY,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE;AAC7T,MAAM,WAAW,oBAAoB;IAAG,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IAAC,WAAW,CAAC,EAAE,CAAC,YAAY,GAAG,kBAAkB,GAAG,kBAAkB,CAAC,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE;AAC/T,MAAM,WAAW,8BAA8B;IAAG,IAAI,EAAE,mBAAmB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,aAAa,CAAC;IAAC,WAAW,CAAC,EAAE,YAAY,EAAE,CAAC;IAAC,QAAQ,CAAC,EAAE,QAAQ,CAAC;IAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAAC,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAAE;AAC9V,MAAM,MAAM,cAAc,GAAG,mBAAmB,GAAG,oBAAoB,GAAG,8BAA8B,CAAA;AAExG,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE;QAAE,QAAQ,EAAE,WAAW,CAAC;QAAC,OAAO,EAAE,WAAW,CAAA;KAAE,CAAA;IACvD,QAAQ,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,QAAQ,CAAC;QAAC,aAAa,EAAE,aAAa,CAAC;QAAC,2BAA2B,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9J,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,OAAO,CAAA;KAAE,CAAA;IAClE,cAAc,CAAC,EAAE;QAAE,iBAAiB,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC/C,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE,MAAM,CAAA;QACZ,IAAI,EAAE;YAAE,SAAS,EAAE,MAAM,CAAA;SAAE,CAAA;QAC3B,MAAM,EAAE;YAAE,YAAY,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,oBAAoB,EAAE,MAAM,CAAC;YAAC,sBAAsB,EAAE,MAAM,CAAC;YAAC,UAAU,EAAE,MAAM,CAAC;YAAC,iBAAiB,EAAE,MAAM,CAAC;YAAC,oBAAoB,EAAE,MAAM,CAAC;YAAC,0BAA0B,EAAE,MAAM,CAAC;YAAC,eAAe,EAAE,MAAM,CAAA;SAAE,CAAA;QAC5P,gBAAgB,EAAE,OAAO,CAAA;KAC1B,CAAA;CACF;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,SAAS,CAAA;IACjB,KAAK,EAAE,UAAU,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,YAAY,EAAE,MAAM,EAAE,CAAA;IACtB,SAAS,EAAE,MAAM,EAAE,CAAA;IACnB,kBAAkB,EAAE,OAAO,CAAA;IAC3B,aAAa,EAAE,aAAa,EAAE,CAAA;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,oBAAoB,CAAC,EAAE,mBAAmB,EAAE,CAAA;IAC5C,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,YAAY,CAAC,EAAE,MAAM,GAAG,oBAAoB,GAAG,eAAe,GAAG,SAAS,CAAA;IAC1E,gBAAgB,CAAC,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,GAAG,OAAO,GAAG,gBAAgB,CAAA;IAC3F,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,mBAAmB,CAAC,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,GAAG,OAAO,GAAG,gBAAgB,CAAA;IAC9F,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,gBAAgB,CAAC,EAAE,OAAO,kCAAkC,EAAE,sBAAsB,CAAA;IACpF,MAAM,CAAC,EAAE;QAAE,WAAW,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,CAAC;QAAC,YAAY,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAC;QAAC,eAAe,EAAE,UAAU,GAAG,SAAS,GAAG,SAAS,GAAG,gBAAgB,CAAA;KAAE,CAAA;IACzM,MAAM,CAAC,EAAE;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IAC7F,oBAAoB,CAAC,EAAE,OAAO,kCAAkC,EAAE,sBAAsB,CAAA;IACxF,gBAAgB,CAAC,EAAE,OAAO,kCAAkC,EAAE,sBAAsB,CAAA;IACpF,mBAAmB,CAAC,EAAE,OAAO,kCAAkC,EAAE,sBAAsB,CAAA;CACxF;AAED,MAAM,WAAW,QAAQ;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,cAAc,CAAC;IAAC,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,SAAS,CAAC,CAAA;CAAE;AAEjI,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAO/G;AAED,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,GAAG,IAAI,CAM3J;AAOD,wBAAgB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,EAAE,KAAK,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC,CAAC,CAAC,CAQ9H"}
|
package/dist/types.js
CHANGED
|
@@ -1,65 +1,36 @@
|
|
|
1
1
|
import { findModelProfile } from './routing/model-profiles.js';
|
|
2
|
-
// === Utilities ===
|
|
3
|
-
/**
|
|
4
|
-
* Compute USD cost from token usage and the provider config's optional
|
|
5
|
-
* per-million-token rates. Returns null when either rate is missing — that
|
|
6
|
-
* way the caller can distinguish "we know the cost is zero" (free provider
|
|
7
|
-
* with both rates set to 0) from "we don't know the cost" (rates not
|
|
8
|
-
* configured). Negative or non-finite rates are treated as missing.
|
|
9
|
-
*/
|
|
10
2
|
export function computeCostUSD(inputTokens, outputTokens, config) {
|
|
11
3
|
const explicitRates = resolveRatePair(config.inputCostPerMTok, config.outputCostPerMTok);
|
|
12
|
-
if (explicitRates !== null)
|
|
4
|
+
if (explicitRates !== null)
|
|
13
5
|
return (inputTokens * explicitRates.input + outputTokens * explicitRates.output) / 1_000_000;
|
|
14
|
-
}
|
|
15
6
|
const profile = findModelProfile(config.model);
|
|
16
7
|
const profileRates = resolveRatePair(profile.inputCostPerMTok, profile.outputCostPerMTok);
|
|
17
|
-
if (profileRates === null)
|
|
8
|
+
if (profileRates === null)
|
|
18
9
|
return null;
|
|
19
|
-
}
|
|
20
10
|
return (inputTokens * profileRates.input + outputTokens * profileRates.output) / 1_000_000;
|
|
21
11
|
}
|
|
22
12
|
export function computeSavedCostUSD(actualCostUSD, inputTokens, outputTokens, parentModel) {
|
|
23
|
-
if (actualCostUSD === null || parentModel === undefined)
|
|
13
|
+
if (actualCostUSD === null || parentModel === undefined)
|
|
24
14
|
return null;
|
|
25
|
-
}
|
|
26
15
|
const profile = findModelProfile(parentModel);
|
|
27
16
|
const profileRates = resolveRatePair(profile.inputCostPerMTok, profile.outputCostPerMTok);
|
|
28
|
-
if (profileRates === null)
|
|
17
|
+
if (profileRates === null)
|
|
29
18
|
return null;
|
|
30
|
-
|
|
31
|
-
const hypotheticalParentCostUSD = (inputTokens * profileRates.input + outputTokens * profileRates.output) / 1_000_000;
|
|
32
|
-
return hypotheticalParentCostUSD - actualCostUSD;
|
|
19
|
+
return (inputTokens * profileRates.input + outputTokens * profileRates.output) / 1_000_000 - actualCostUSD;
|
|
33
20
|
}
|
|
34
21
|
function resolveRatePair(inputCostPerMTok, outputCostPerMTok) {
|
|
35
|
-
if (inputCostPerMTok !== undefined &&
|
|
36
|
-
outputCostPerMTok !== undefined &&
|
|
37
|
-
Number.isFinite(inputCostPerMTok) &&
|
|
38
|
-
Number.isFinite(outputCostPerMTok) &&
|
|
39
|
-
inputCostPerMTok >= 0 &&
|
|
40
|
-
outputCostPerMTok >= 0) {
|
|
22
|
+
if (inputCostPerMTok !== undefined && outputCostPerMTok !== undefined && Number.isFinite(inputCostPerMTok) && Number.isFinite(outputCostPerMTok) && inputCostPerMTok >= 0 && outputCostPerMTok >= 0)
|
|
41
23
|
return { input: inputCostPerMTok, output: outputCostPerMTok };
|
|
42
|
-
}
|
|
43
24
|
return null;
|
|
44
25
|
}
|
|
45
26
|
export function withTimeout(promise, timeoutMs, onTimeout, abort) {
|
|
46
27
|
let timeoutId;
|
|
47
28
|
const timeoutPromise = new Promise((resolve) => {
|
|
48
|
-
timeoutId = setTimeout(() => {
|
|
49
|
-
abort?.abort();
|
|
50
|
-
resolve(onTimeout());
|
|
51
|
-
}, timeoutMs);
|
|
29
|
+
timeoutId = setTimeout(() => { abort?.abort(); resolve(onTimeout()); }, timeoutMs);
|
|
52
30
|
});
|
|
53
|
-
return promise
|
|
54
|
-
.then((result) => {
|
|
31
|
+
return Promise.race([promise, timeoutPromise]).finally(() => {
|
|
55
32
|
if (timeoutId !== undefined)
|
|
56
33
|
clearTimeout(timeoutId);
|
|
57
|
-
return result;
|
|
58
|
-
})
|
|
59
|
-
.catch((error) => {
|
|
60
|
-
if (timeoutId !== undefined)
|
|
61
|
-
clearTimeout(timeoutId);
|
|
62
|
-
throw error;
|
|
63
34
|
});
|
|
64
35
|
}
|
|
65
36
|
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AA4G/D,MAAM,UAAU,cAAc,CAAC,WAAmB,EAAE,YAAoB,EAAE,MAAsB;IAC9F,MAAM,aAAa,GAAG,eAAe,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,CAAC,CAAC;IACzF,IAAI,aAAa,KAAK,IAAI;QAAE,OAAO,CAAC,WAAW,GAAG,aAAa,CAAC,KAAK,GAAG,YAAY,GAAG,aAAa,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACzH,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1F,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;AAC7F,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,aAA4B,EAAE,WAAmB,EAAE,YAAoB,EAAE,WAA+B;IAC1I,IAAI,aAAa,KAAK,IAAI,IAAI,WAAW,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IACrE,MAAM,OAAO,GAAG,gBAAgB,CAAC,WAAW,CAAC,CAAC;IAC9C,MAAM,YAAY,GAAG,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC1F,IAAI,YAAY,KAAK,IAAI;QAAE,OAAO,IAAI,CAAC;IACvC,OAAO,CAAC,WAAW,GAAG,YAAY,CAAC,KAAK,GAAG,YAAY,GAAG,YAAY,CAAC,MAAM,CAAC,GAAG,SAAS,GAAG,aAAa,CAAC;AAC7G,CAAC;AAED,SAAS,eAAe,CAAC,gBAAoC,EAAE,iBAAqC;IAClG,IAAI,gBAAgB,KAAK,SAAS,IAAI,iBAAiB,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,iBAAiB,CAAC,IAAI,gBAAgB,IAAI,CAAC,IAAI,iBAAiB,IAAI,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,gBAAgB,EAAE,MAAM,EAAE,iBAAiB,EAAE,CAAC;IACnQ,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,WAAW,CAAI,OAAmB,EAAE,SAAiB,EAAE,SAAkB,EAAE,KAAuB;IAChH,IAAI,SAAoD,CAAC;IACzD,MAAM,cAAc,GAAG,IAAI,OAAO,CAAI,CAAC,OAAO,EAAE,EAAE;QAChD,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;IACrF,CAAC,CAAC,CAAC;IACH,OAAO,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;QAC1D,IAAI,SAAS,KAAK,SAAS;YAAE,YAAY,CAAC,SAAS,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;AACL,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhixuan92/multi-model-agent-core",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "Core library for multi-model-agent: provider runners (Claude, Codex, OpenAI-compatible), routing logic, config schema, and tool/sandbox primitives.",
|
|
@@ -53,8 +53,8 @@
|
|
|
53
53
|
"import": "./dist/provider.js"
|
|
54
54
|
},
|
|
55
55
|
"./run-tasks": {
|
|
56
|
-
"types": "./dist/run-tasks.d.ts",
|
|
57
|
-
"import": "./dist/run-tasks.js"
|
|
56
|
+
"types": "./dist/run-tasks/index.d.ts",
|
|
57
|
+
"import": "./dist/run-tasks/index.js"
|
|
58
58
|
},
|
|
59
59
|
"./diagnostics/disconnect-log": {
|
|
60
60
|
"types": "./dist/diagnostics/disconnect-log.d.ts",
|
|
@@ -216,6 +216,10 @@
|
|
|
216
216
|
"types": "./dist/executors/types.d.ts",
|
|
217
217
|
"import": "./dist/executors/types.js"
|
|
218
218
|
},
|
|
219
|
+
"./executors/execution-context": {
|
|
220
|
+
"types": "./dist/executors/execution-context.d.ts",
|
|
221
|
+
"import": "./dist/executors/execution-context.js"
|
|
222
|
+
},
|
|
219
223
|
"./executors/shared-compute": {
|
|
220
224
|
"types": "./dist/executors/shared-compute.d.ts",
|
|
221
225
|
"import": "./dist/executors/shared-compute.js"
|
package/dist/run-tasks.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"run-tasks.d.ts","sourceRoot":"","sources":["../src/run-tasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EAET,QAAQ,EACR,gBAAgB,EAEhB,aAAa,EACb,eAAe,EAIhB,MAAM,YAAY,CAAC;AAsBpB,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,MAAM,EAAE,EACvB,cAAc,EAAE,MAAM,EACtB,GAAG,EAAE,MAAM,GAAG,SAAS,GACtB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CA6C7B;AAED,MAAM,MAAM,wBAAwB,GAAG,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,aAAa,KACjB,IAAI,CAAC;AAEV,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,OAAO,CAAC,EAAE,eAAe,CAAC;IAC1B,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,gBAAgB,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC7E;;;;;OAKG;IACH,MAAM,CAAC,EAAE,OAAO,iCAAiC,EAAE,gBAAgB,CAAC;IACpE;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,+EAA+E;IAC/E,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AA+pBD,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,QAAQ,EAAE,EACjB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,SAAS,EAAE,CAAC,CAsHtB"}
|