@zhixuan92/multi-model-agent-core 0.3.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/config/load.js +9 -9
- package/dist/config/load.js.map +1 -1
- package/dist/config/schema.d.ts +168 -275
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +30 -39
- package/dist/config/schema.js.map +1 -1
- package/dist/cost/cost-meter.d.ts +13 -0
- package/dist/cost/cost-meter.d.ts.map +1 -0
- package/dist/cost/cost-meter.js +20 -0
- package/dist/cost/cost-meter.js.map +1 -0
- package/dist/delegate-with-escalation.d.ts +1 -28
- package/dist/delegate-with-escalation.d.ts.map +1 -1
- package/dist/delegate-with-escalation.js +10 -89
- package/dist/delegate-with-escalation.js.map +1 -1
- package/dist/error-codes.d.ts +4 -0
- package/dist/error-codes.d.ts.map +1 -0
- package/dist/error-codes.js +16 -0
- package/dist/error-codes.js.map +1 -0
- package/dist/index.d.ts +5 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -5
- package/dist/index.js.map +1 -1
- package/dist/model-profiles.json +10 -5
- package/dist/provider.d.ts +2 -2
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +10 -13
- package/dist/provider.js.map +1 -1
- package/dist/readiness/normalization-budget.d.ts +2 -0
- package/dist/readiness/normalization-budget.d.ts.map +1 -0
- package/dist/readiness/normalization-budget.js +9 -0
- package/dist/readiness/normalization-budget.js.map +1 -0
- package/dist/readiness/normalize-brief.d.ts +17 -0
- package/dist/readiness/normalize-brief.d.ts.map +1 -0
- package/dist/readiness/normalize-brief.js +124 -0
- package/dist/readiness/normalize-brief.js.map +1 -0
- package/dist/readiness/readiness.d.ts +16 -0
- package/dist/readiness/readiness.d.ts.map +1 -0
- package/dist/readiness/readiness.js +160 -0
- package/dist/readiness/readiness.js.map +1 -0
- package/dist/reporting/structured-report.d.ts +18 -0
- package/dist/reporting/structured-report.d.ts.map +1 -0
- package/dist/reporting/structured-report.js +100 -0
- package/dist/reporting/structured-report.js.map +1 -0
- package/dist/review/aggregate-result.d.ts +3 -0
- package/dist/review/aggregate-result.d.ts.map +1 -0
- package/dist/review/aggregate-result.js +31 -0
- package/dist/review/aggregate-result.js.map +1 -0
- package/dist/review/quality-reviewer.d.ts +13 -0
- package/dist/review/quality-reviewer.d.ts.map +1 -0
- package/dist/review/quality-reviewer.js +39 -0
- package/dist/review/quality-reviewer.js.map +1 -0
- package/dist/review/reviewer-prompt.d.ts +10 -0
- package/dist/review/reviewer-prompt.d.ts.map +1 -0
- package/dist/review/reviewer-prompt.js +58 -0
- package/dist/review/reviewer-prompt.js.map +1 -0
- package/dist/review/spec-reviewer.d.ts +13 -0
- package/dist/review/spec-reviewer.d.ts.map +1 -0
- package/dist/review/spec-reviewer.js +37 -0
- package/dist/review/spec-reviewer.js.map +1 -0
- package/dist/routing/model-profiles.d.ts +5 -0
- package/dist/routing/model-profiles.d.ts.map +1 -1
- package/dist/routing/model-profiles.js +5 -0
- package/dist/routing/model-profiles.js.map +1 -1
- package/dist/routing/resolve-agent.d.ts +8 -0
- package/dist/routing/resolve-agent.d.ts.map +1 -0
- package/dist/routing/resolve-agent.js +45 -0
- package/dist/routing/resolve-agent.js.map +1 -0
- package/dist/run-tasks.d.ts +0 -23
- package/dist/run-tasks.d.ts.map +1 -1
- package/dist/run-tasks.js +241 -72
- package/dist/run-tasks.js.map +1 -1
- package/dist/runners/claude-runner.d.ts.map +1 -1
- package/dist/runners/claude-runner.js +71 -34
- package/dist/runners/claude-runner.js.map +1 -1
- package/dist/runners/codex-runner.d.ts.map +1 -1
- package/dist/runners/codex-runner.js +72 -31
- package/dist/runners/codex-runner.js.map +1 -1
- package/dist/runners/openai-runner.d.ts.map +1 -1
- package/dist/runners/openai-runner.js +144 -32
- package/dist/runners/openai-runner.js.map +1 -1
- package/dist/runners/prevention.d.ts +2 -0
- package/dist/runners/prevention.d.ts.map +1 -1
- package/dist/runners/prevention.js +12 -0
- package/dist/runners/prevention.js.map +1 -1
- package/dist/runners/supervision.d.ts +31 -5
- package/dist/runners/supervision.d.ts.map +1 -1
- package/dist/runners/supervision.js +43 -68
- package/dist/runners/supervision.js.map +1 -1
- package/dist/tools/call-cache.d.ts +16 -0
- package/dist/tools/call-cache.d.ts.map +1 -0
- package/dist/tools/call-cache.js +28 -0
- package/dist/tools/call-cache.js.map +1 -0
- package/dist/types.d.ts +92 -30
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +48 -16
- package/dist/routing/capabilities.d.ts +0 -3
- package/dist/routing/capabilities.d.ts.map +0 -1
- package/dist/routing/capabilities.js +0 -26
- package/dist/routing/capabilities.js.map +0 -1
- package/dist/routing/get-provider-eligibility.d.ts +0 -8
- package/dist/routing/get-provider-eligibility.d.ts.map +0 -1
- package/dist/routing/get-provider-eligibility.js +0 -53
- package/dist/routing/get-provider-eligibility.js.map +0 -1
- package/dist/routing/resolve-task-capabilities.d.ts +0 -7
- package/dist/routing/resolve-task-capabilities.d.ts.map +0 -1
- package/dist/routing/resolve-task-capabilities.js +0 -19
- package/dist/routing/resolve-task-capabilities.js.map +0 -1
- package/dist/routing/select-provider-for-task.d.ts +0 -18
- package/dist/routing/select-provider-for-task.d.ts.map +0 -1
- package/dist/routing/select-provider-for-task.js +0 -50
- package/dist/routing/select-provider-for-task.js.map +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ProviderConfig } from '../types.js';
|
|
2
|
-
import type { TaskSpec
|
|
2
|
+
import type { TaskSpec } from '../types.js';
|
|
3
3
|
import type { ModelProfile } from '../routing/model-profiles.js';
|
|
4
4
|
/**
|
|
5
5
|
* Sub-agent completion supervision.
|
|
@@ -46,10 +46,6 @@ export interface ValidateCompletionOptions {
|
|
|
46
46
|
minLength?: number;
|
|
47
47
|
}
|
|
48
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
49
|
/**
|
|
54
50
|
* Marker returned by `stripThinkingTags` when the entire final message was
|
|
55
51
|
* `<think>...</think>` reasoning and stripping left nothing. Exported here
|
|
@@ -134,4 +130,34 @@ export interface WatchdogEventDetails {
|
|
|
134
130
|
* thresholds. See spec Part A.1.4 calibration logging.
|
|
135
131
|
*/
|
|
136
132
|
export declare function logWatchdogEvent(status: 'warning' | 'force_salvage', details: WatchdogEventDetails): void;
|
|
133
|
+
/**
|
|
134
|
+
* Coordinator for sub-agent output validation.
|
|
135
|
+
*
|
|
136
|
+
* Replaces the runner-side coordination pattern where each runner called
|
|
137
|
+
* `validateCompletion` first and then (optionally) `validateCoverage`. That
|
|
138
|
+
* ordering had a bug: short, correct outputs on tight-format tasks tripped
|
|
139
|
+
* the `no_terminator` heuristic BEFORE the more authoritative coverage
|
|
140
|
+
* check had a chance to run, causing false-positive `incomplete` statuses.
|
|
141
|
+
*
|
|
142
|
+
* New priority order:
|
|
143
|
+
*
|
|
144
|
+
* 1. `empty` and `thinking_only` always fail first — these are "is
|
|
145
|
+
* there content at all" signals, not "is the content done" signals.
|
|
146
|
+
* 2. If `expectedCoverage` is declared and passes, the output is valid
|
|
147
|
+
* regardless of short-output heuristics. Coverage is authoritative.
|
|
148
|
+
* 3. If `expectedCoverage` is declared and fails, return the coverage
|
|
149
|
+
* failure.
|
|
150
|
+
* 4. If `skipCompletionHeuristic` is set, the short-output heuristic is
|
|
151
|
+
* skipped (only empty / thinking_only fire). Use this for tight-format
|
|
152
|
+
* tasks that don't declare coverage.
|
|
153
|
+
* 5. Otherwise, fall through to the full `validateCompletion` heuristic
|
|
154
|
+
* (the existing behavior).
|
|
155
|
+
*
|
|
156
|
+
* The underlying `validateCompletion` and `validateCoverage` functions are
|
|
157
|
+
* NOT modified — this is a pure coordination wrapper.
|
|
158
|
+
*/
|
|
159
|
+
export declare function validateSubAgentOutput(text: string, opts?: {
|
|
160
|
+
expectedCoverage?: TaskSpec['expectedCoverage'];
|
|
161
|
+
skipCompletionHeuristic?: boolean;
|
|
162
|
+
}): ValidationResult;
|
|
137
163
|
//# sourceMappingURL=supervision.d.ts.map
|
|
@@ -1 +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,
|
|
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,EAAiB,MAAM,aAAa,CAAC;AAC3D,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;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;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,IAAI,GAAE;IACJ,gBAAgB,CAAC,EAAE,QAAQ,CAAC,kBAAkB,CAAC,CAAC;IAChD,uBAAuB,CAAC,EAAE,OAAO,CAAC;CAC9B,GACL,gBAAgB,CAoBlB"}
|
|
@@ -35,74 +35,6 @@ export function validateCoverage(text, expected) {
|
|
|
35
35
|
}
|
|
36
36
|
return { valid: true };
|
|
37
37
|
}
|
|
38
|
-
export const TRACE_MAX_EVENTS = 80;
|
|
39
|
-
export const TRACE_MAX_CHARS = 16_384;
|
|
40
|
-
export const TRACE_DROP_PRIORITY = {
|
|
41
|
-
text_emission: 1,
|
|
42
|
-
tool_call: 2,
|
|
43
|
-
turn_start: 100,
|
|
44
|
-
turn_complete: 100,
|
|
45
|
-
injection: 100,
|
|
46
|
-
escalation_start: 100,
|
|
47
|
-
done: 100,
|
|
48
|
-
};
|
|
49
|
-
export function trimProgressTrace(events) {
|
|
50
|
-
if (events.length === 0)
|
|
51
|
-
return [];
|
|
52
|
-
const traceSize = (arr) => JSON.stringify(arr).length;
|
|
53
|
-
const isNeverDrop = (event) => (TRACE_DROP_PRIORITY[event.kind] ?? 50) >= 100;
|
|
54
|
-
const keep = [];
|
|
55
|
-
const droppable = [];
|
|
56
|
-
for (const event of events) {
|
|
57
|
-
(isNeverDrop(event) ? keep : droppable).push(event);
|
|
58
|
-
}
|
|
59
|
-
if (events.length <= TRACE_MAX_EVENTS && traceSize(events) <= TRACE_MAX_CHARS) {
|
|
60
|
-
return events;
|
|
61
|
-
}
|
|
62
|
-
const keepBytes = traceSize(keep);
|
|
63
|
-
const remainingEventBudget = Math.max(0, TRACE_MAX_EVENTS - keep.length);
|
|
64
|
-
const remainingByteBudget = Math.max(0, TRACE_MAX_CHARS - keepBytes);
|
|
65
|
-
const droppedKinds = {};
|
|
66
|
-
const sortedDroppable = [...droppable].sort((a, b) => (TRACE_DROP_PRIORITY[a.kind] ?? 50) - (TRACE_DROP_PRIORITY[b.kind] ?? 50));
|
|
67
|
-
let retained = sortedDroppable;
|
|
68
|
-
while (retained.length > remainingEventBudget ||
|
|
69
|
-
traceSize(retained) > remainingByteBudget) {
|
|
70
|
-
if (retained.length === 0)
|
|
71
|
-
break;
|
|
72
|
-
const victim = retained.shift();
|
|
73
|
-
droppedKinds[victim.kind] = (droppedKinds[victim.kind] ?? 0) + 1;
|
|
74
|
-
}
|
|
75
|
-
if ((retained.length > remainingEventBudget || traceSize(retained) > remainingByteBudget) &&
|
|
76
|
-
retained.length > 40) {
|
|
77
|
-
const retainedSet = new Set(retained);
|
|
78
|
-
const originalOrder = droppable.filter((event) => retainedSet.has(event));
|
|
79
|
-
const head = originalOrder.slice(0, 10);
|
|
80
|
-
const tail = originalOrder.slice(-30);
|
|
81
|
-
const keptSet = new Set([...head, ...tail]);
|
|
82
|
-
for (const event of originalOrder) {
|
|
83
|
-
if (!keptSet.has(event)) {
|
|
84
|
-
droppedKinds[event.kind] = (droppedKinds[event.kind] ?? 0) + 1;
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
retained = [...head, ...tail];
|
|
88
|
-
}
|
|
89
|
-
const retainedSet = new Set(retained);
|
|
90
|
-
const merged = events.filter((event) => isNeverDrop(event) || retainedSet.has(event));
|
|
91
|
-
const droppedCount = droppable.length - retained.length;
|
|
92
|
-
const capExceededByBoundaryEvents = keep.length > TRACE_MAX_EVENTS || keepBytes > TRACE_MAX_CHARS;
|
|
93
|
-
if (droppedCount === 0 && !capExceededByBoundaryEvents) {
|
|
94
|
-
return merged;
|
|
95
|
-
}
|
|
96
|
-
return [
|
|
97
|
-
...merged,
|
|
98
|
-
{
|
|
99
|
-
kind: '_trimmed',
|
|
100
|
-
droppedCount,
|
|
101
|
-
droppedKinds,
|
|
102
|
-
...(capExceededByBoundaryEvents ? { capExceededByBoundaryEvents: true } : {}),
|
|
103
|
-
},
|
|
104
|
-
];
|
|
105
|
-
}
|
|
106
38
|
const DEFAULT_MIN_LENGTH = 200;
|
|
107
39
|
/** Tail window (chars) inspected by `endsWithContinuation` for continuation phrases. */
|
|
108
40
|
const CONTINUATION_TAIL_WINDOW = 80;
|
|
@@ -342,4 +274,47 @@ export function logWatchdogEvent(status, details) {
|
|
|
342
274
|
}
|
|
343
275
|
console.error(parts.join(' '));
|
|
344
276
|
}
|
|
277
|
+
/**
|
|
278
|
+
* Coordinator for sub-agent output validation.
|
|
279
|
+
*
|
|
280
|
+
* Replaces the runner-side coordination pattern where each runner called
|
|
281
|
+
* `validateCompletion` first and then (optionally) `validateCoverage`. That
|
|
282
|
+
* ordering had a bug: short, correct outputs on tight-format tasks tripped
|
|
283
|
+
* the `no_terminator` heuristic BEFORE the more authoritative coverage
|
|
284
|
+
* check had a chance to run, causing false-positive `incomplete` statuses.
|
|
285
|
+
*
|
|
286
|
+
* New priority order:
|
|
287
|
+
*
|
|
288
|
+
* 1. `empty` and `thinking_only` always fail first — these are "is
|
|
289
|
+
* there content at all" signals, not "is the content done" signals.
|
|
290
|
+
* 2. If `expectedCoverage` is declared and passes, the output is valid
|
|
291
|
+
* regardless of short-output heuristics. Coverage is authoritative.
|
|
292
|
+
* 3. If `expectedCoverage` is declared and fails, return the coverage
|
|
293
|
+
* failure.
|
|
294
|
+
* 4. If `skipCompletionHeuristic` is set, the short-output heuristic is
|
|
295
|
+
* skipped (only empty / thinking_only fire). Use this for tight-format
|
|
296
|
+
* tasks that don't declare coverage.
|
|
297
|
+
* 5. Otherwise, fall through to the full `validateCompletion` heuristic
|
|
298
|
+
* (the existing behavior).
|
|
299
|
+
*
|
|
300
|
+
* The underlying `validateCompletion` and `validateCoverage` functions are
|
|
301
|
+
* NOT modified — this is a pure coordination wrapper.
|
|
302
|
+
*/
|
|
303
|
+
export function validateSubAgentOutput(text, opts = {}) {
|
|
304
|
+
const completion = validateCompletion(text);
|
|
305
|
+
if (!completion.valid &&
|
|
306
|
+
(completion.kind === 'empty' || completion.kind === 'thinking_only')) {
|
|
307
|
+
return completion;
|
|
308
|
+
}
|
|
309
|
+
if (opts.expectedCoverage) {
|
|
310
|
+
const coverage = validateCoverage(text, opts.expectedCoverage);
|
|
311
|
+
if (!coverage.valid)
|
|
312
|
+
return coverage;
|
|
313
|
+
return { valid: true };
|
|
314
|
+
}
|
|
315
|
+
if (opts.skipCompletionHeuristic) {
|
|
316
|
+
return { valid: true };
|
|
317
|
+
}
|
|
318
|
+
return completion;
|
|
319
|
+
}
|
|
345
320
|
//# sourceMappingURL=supervision.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"supervision.js","sourceRoot":"","sources":["../../src/runners/supervision.ts"],"names":[],"mappings":"AAyDA,MAAM,UAAU,gBAAgB,CAC9B,IAAY,EACZ,QAAmD;IAEnD,IAAI,QAAQ,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACvC,MAAM,OAAO,GAAG,QAAQ,CAAC,cAAc,IAAI,MAAM,CAAC;QAClD,IAAI,EAAU,CAAC;QACf,IAAI,CAAC;YACH,EAAE,GAAG,IAAI,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,iCAAiC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE;aAC5F,CAAC;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC;QAC5C,IAAI,KAAK,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;YACjC,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,QAAQ,KAAK,sCAAsC,QAAQ,CAAC,WAAW,EAAE;aAClF,CAAC;QACJ,CAAC;IACH,CAAC;IAED,IAAI,QAAQ,CAAC,eAAe,EAAE,MAAM,EAAE,CAAC;QACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACpF,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACvB,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,OAAO,CAAC,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACzE,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,IAAI,EAAE,uBAAuB;gBAC7B,MAAM,EAAE,QAAQ,QAAQ,CAAC,eAAe,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,OAAO,QAAQ,CAAC,eAAe,CAAC,MAAM,qCAAqC,OAAO,GAAG,KAAK,EAAE;aAC7J,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED,MAAM,
|
|
1
|
+
{"version":3,"file":"supervision.js","sourceRoot":"","sources":["../../src/runners/supervision.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface CachedEntry<T> {
|
|
2
|
+
result: T;
|
|
3
|
+
cachedAt: number;
|
|
4
|
+
}
|
|
5
|
+
export declare class CallCache {
|
|
6
|
+
private store;
|
|
7
|
+
private scopes;
|
|
8
|
+
get(key: string): any | null;
|
|
9
|
+
set(key: string, entry: {
|
|
10
|
+
result: any;
|
|
11
|
+
}): void;
|
|
12
|
+
evict(key: string): void;
|
|
13
|
+
clear(): void;
|
|
14
|
+
scope(name: string): CallCache;
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=call-cache.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-cache.d.ts","sourceRoot":"","sources":["../../src/tools/call-cache.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,WAAW,CAAC,CAAC;IAC5B,MAAM,EAAE,CAAC,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,SAAS;IACpB,OAAO,CAAC,KAAK,CAAuC;IACpD,OAAO,CAAC,MAAM,CAAgC;IAE9C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,IAAI;IAO5B,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE,GAAG,IAAI;IAI9C,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAIxB,KAAK,IAAI,IAAI;IAKb,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS;CAM/B"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export class CallCache {
|
|
2
|
+
store = new Map();
|
|
3
|
+
scopes = new Map();
|
|
4
|
+
get(key) {
|
|
5
|
+
const entry = this.store.get(key);
|
|
6
|
+
if (!entry)
|
|
7
|
+
return null;
|
|
8
|
+
const { cachedAt, ...result } = entry;
|
|
9
|
+
return result;
|
|
10
|
+
}
|
|
11
|
+
set(key, entry) {
|
|
12
|
+
this.store.set(key, { ...entry, cachedAt: Date.now() });
|
|
13
|
+
}
|
|
14
|
+
evict(key) {
|
|
15
|
+
this.store.delete(key);
|
|
16
|
+
}
|
|
17
|
+
clear() {
|
|
18
|
+
this.store.clear();
|
|
19
|
+
this.scopes.clear();
|
|
20
|
+
}
|
|
21
|
+
scope(name) {
|
|
22
|
+
if (!this.scopes.has(name)) {
|
|
23
|
+
this.scopes.set(name, new CallCache());
|
|
24
|
+
}
|
|
25
|
+
return this.scopes.get(name);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=call-cache.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"call-cache.js","sourceRoot":"","sources":["../../src/tools/call-cache.ts"],"names":[],"mappings":"AAKA,MAAM,OAAO,SAAS;IACZ,KAAK,GAAG,IAAI,GAAG,EAA4B,CAAC;IAC5C,MAAM,GAAG,IAAI,GAAG,EAAqB,CAAC;IAE9C,GAAG,CAAC,GAAW;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,EAAE,GAAG,KAAK,CAAC;QACtC,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,KAAsB;QACrC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,GAAG,KAAK,EAAE,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,GAAW;QACf,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK;QACH,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,IAAY;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,SAAS,EAAE,CAAC,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;IAChC,CAAC;CACF"}
|
package/dist/types.d.ts
CHANGED
|
@@ -1,17 +1,33 @@
|
|
|
1
1
|
import type { ContextBlockStore } from './context/context-block-store.js';
|
|
2
|
-
export type Tier = 'trivial' | 'standard' | 'reasoning';
|
|
3
|
-
export type Capability = 'file_read' | 'file_write' | 'grep' | 'glob' | 'shell' | 'web_search' | 'web_fetch';
|
|
4
2
|
export type ToolMode = 'none' | 'full';
|
|
5
3
|
export type SandboxPolicy = 'none' | 'cwd-only';
|
|
4
|
+
export type AgentType = 'standard' | 'complex';
|
|
5
|
+
export type AgentCapability = 'web_search' | 'web_fetch';
|
|
6
|
+
export interface AgentConfig {
|
|
7
|
+
type: 'openai-compatible' | 'claude' | 'codex';
|
|
8
|
+
model: string;
|
|
9
|
+
baseUrl?: string;
|
|
10
|
+
apiKey?: string;
|
|
11
|
+
apiKeyEnv?: string;
|
|
12
|
+
capabilities?: AgentCapability[];
|
|
13
|
+
inputCostPerMTok?: number;
|
|
14
|
+
outputCostPerMTok?: number;
|
|
15
|
+
maxTurns?: number;
|
|
16
|
+
timeoutMs?: number;
|
|
17
|
+
sandboxPolicy?: SandboxPolicy;
|
|
18
|
+
inputTokenSoftLimit?: number;
|
|
19
|
+
}
|
|
6
20
|
export type Effort = 'none' | 'low' | 'medium' | 'high';
|
|
7
21
|
export type CostTier = 'free' | 'low' | 'medium' | 'high';
|
|
8
|
-
export type RunStatus = 'ok' | 'incomplete' | 'max_turns' | 'timeout' | 'api_aborted' | 'api_error' | 'network_error' | 'error';
|
|
22
|
+
export type RunStatus = 'ok' | 'incomplete' | 'max_turns' | 'timeout' | 'api_aborted' | 'api_error' | 'network_error' | 'error' | 'brief_too_vague' | 'cost_exceeded';
|
|
23
|
+
export interface FormatConstraints {
|
|
24
|
+
inputFormat?: 'json' | 'yaml' | 'xml' | 'csv' | 'markdown';
|
|
25
|
+
outputFormat?: 'json' | 'yaml' | 'xml' | 'csv' | 'markdown';
|
|
26
|
+
}
|
|
9
27
|
export interface TaskSpec {
|
|
10
28
|
prompt: string;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
tier: Tier;
|
|
14
|
-
requiredCapabilities: Capability[];
|
|
29
|
+
agentType?: AgentType;
|
|
30
|
+
requiredCapabilities?: AgentCapability[];
|
|
15
31
|
tools?: ToolMode;
|
|
16
32
|
maxTurns?: number;
|
|
17
33
|
timeoutMs?: number;
|
|
@@ -35,10 +51,25 @@ export interface TaskSpec {
|
|
|
35
51
|
/** Substrings that must all appear somewhere in the output. */
|
|
36
52
|
requiredMarkers?: string[];
|
|
37
53
|
};
|
|
38
|
-
/** Opt-
|
|
39
|
-
|
|
54
|
+
/** Opt-out: when true, the runner skips the `no_terminator` and `fragment`
|
|
55
|
+
* short-output heuristics for this task. Use for tight-format outputs
|
|
56
|
+
* (single-line verdicts, CSV rows, opaque identifiers) that don't follow
|
|
57
|
+
* prose conventions. The `empty` and `thinking_only` degeneracy checks
|
|
58
|
+
* still fire independently. If `expectedCoverage` is also declared and
|
|
59
|
+
* passes, coverage is authoritative — you don't need this flag. */
|
|
60
|
+
skipCompletionHeuristic?: boolean;
|
|
40
61
|
/** Optional hint about the parent session's model for saved-cost estimates. */
|
|
41
62
|
parentModel?: string;
|
|
63
|
+
/** Brief quality policy for readiness evaluation. */
|
|
64
|
+
briefQualityPolicy?: BriefQualityPolicy;
|
|
65
|
+
/** Optional budget for normalization. */
|
|
66
|
+
maxCostUSD?: number;
|
|
67
|
+
/** Review policy for the execution loop. */
|
|
68
|
+
reviewPolicy?: 'full' | 'spec_only' | 'off';
|
|
69
|
+
/** Maximum number of spec review rework rounds. Defaults to 2. */
|
|
70
|
+
maxReviewRounds?: number;
|
|
71
|
+
/** Optional format constraints for input/output. */
|
|
72
|
+
formatConstraints?: FormatConstraints;
|
|
42
73
|
}
|
|
43
74
|
export interface CodexProviderConfig {
|
|
44
75
|
type: 'codex';
|
|
@@ -86,7 +117,7 @@ export interface OpenAICompatibleProviderConfig {
|
|
|
86
117
|
maxTurns?: number;
|
|
87
118
|
timeoutMs?: number;
|
|
88
119
|
sandboxPolicy?: SandboxPolicy;
|
|
89
|
-
hostedTools?:
|
|
120
|
+
hostedTools?: 'web_search'[];
|
|
90
121
|
costTier?: CostTier;
|
|
91
122
|
/** Optional pricing in USD per million input tokens. Used to compute RunResult.usage.costUSD. */
|
|
92
123
|
inputCostPerMTok?: number;
|
|
@@ -100,7 +131,10 @@ export interface OpenAICompatibleProviderConfig {
|
|
|
100
131
|
/** Discriminated union — each provider type has distinct required fields. */
|
|
101
132
|
export type ProviderConfig = CodexProviderConfig | ClaudeProviderConfig | OpenAICompatibleProviderConfig;
|
|
102
133
|
export interface MultiModelConfig {
|
|
103
|
-
|
|
134
|
+
agents: {
|
|
135
|
+
standard: AgentConfig;
|
|
136
|
+
complex: AgentConfig;
|
|
137
|
+
};
|
|
104
138
|
defaults: {
|
|
105
139
|
maxTurns: number;
|
|
106
140
|
timeoutMs: number;
|
|
@@ -154,17 +188,35 @@ export interface RunResult {
|
|
|
154
188
|
durationMs?: number;
|
|
155
189
|
/** Directories whose entries the worker listed. */
|
|
156
190
|
directoriesListed?: string[];
|
|
157
|
-
/** Bounded trace of progress events emitted during this task's run. */
|
|
158
|
-
progressTrace?: ProgressTraceEntry[];
|
|
159
191
|
error?: string;
|
|
192
|
+
/** Error code for refused briefs. */
|
|
193
|
+
errorCode?: string;
|
|
194
|
+
/** Whether the task can be retried. */
|
|
195
|
+
retryable?: boolean;
|
|
196
|
+
/** Brief quality warnings from readiness evaluation. */
|
|
197
|
+
briefQualityWarnings?: BriefQualityWarning[];
|
|
198
|
+
/** Worker status extracted from implementer report summary. */
|
|
199
|
+
workerStatus?: 'done' | 'done_with_concerns' | 'needs_context' | 'blocked';
|
|
200
|
+
/** Spec review outcome. */
|
|
201
|
+
specReviewStatus?: 'approved' | 'changes_required' | 'not_run';
|
|
202
|
+
/** Quality review outcome. */
|
|
203
|
+
qualityReviewStatus?: 'approved' | 'changes_required' | 'not_run';
|
|
204
|
+
/** Aggregated structured report from the reviewed execution loop. */
|
|
205
|
+
structuredReport?: import('./reporting/structured-report.js').ParsedStructuredReport;
|
|
206
|
+
/** Which agent ran in each role. */
|
|
207
|
+
agents?: {
|
|
208
|
+
normalizer: 'standard' | 'complex' | 'skipped';
|
|
209
|
+
implementer: 'standard' | 'complex' | 'not_run';
|
|
210
|
+
specReviewer: 'standard' | 'complex' | 'not_run';
|
|
211
|
+
qualityReviewer: 'standard' | 'complex' | 'not_run';
|
|
212
|
+
};
|
|
213
|
+
/** The implementer's structured report. */
|
|
214
|
+
implementationReport?: import('./reporting/structured-report.js').ParsedStructuredReport;
|
|
215
|
+
/** The spec reviewer's structured report. */
|
|
216
|
+
specReviewReport?: import('./reporting/structured-report.js').ParsedStructuredReport;
|
|
217
|
+
/** The quality reviewer's structured report. */
|
|
218
|
+
qualityReviewReport?: import('./reporting/structured-report.js').ParsedStructuredReport;
|
|
160
219
|
}
|
|
161
|
-
/** A captured progress entry, or a synthetic marker when trace trimming occurred. */
|
|
162
|
-
export type ProgressTraceEntry = ProgressEvent | {
|
|
163
|
-
kind: '_trimmed';
|
|
164
|
-
droppedCount: number;
|
|
165
|
-
droppedKinds: Partial<Record<ProgressEvent['kind'], number>>;
|
|
166
|
-
capExceededByBoundaryEvents?: boolean;
|
|
167
|
-
};
|
|
168
220
|
/** Aggregate timing metrics for a `delegate_tasks` batch. */
|
|
169
221
|
export interface BatchTimings {
|
|
170
222
|
wallClockMs: number;
|
|
@@ -183,8 +235,6 @@ export interface BatchProgress {
|
|
|
183
235
|
export interface BatchAggregateCost {
|
|
184
236
|
totalActualCostUSD: number;
|
|
185
237
|
totalSavedCostUSD: number;
|
|
186
|
-
actualCostUnavailableTasks: number;
|
|
187
|
-
savedCostUnavailableTasks: number;
|
|
188
238
|
}
|
|
189
239
|
/**
|
|
190
240
|
* Single provider-attempt record inside an escalation chain. The orchestrator
|
|
@@ -223,8 +273,6 @@ export interface AttemptRecord {
|
|
|
223
273
|
initialPromptHash: string;
|
|
224
274
|
/** Why this attempt was abandoned, if it was. Empty if status === 'ok'. */
|
|
225
275
|
reason?: string;
|
|
226
|
-
/** Bounded progress trace captured for this attempt, when enabled. */
|
|
227
|
-
progressTrace?: ProgressTraceEntry[];
|
|
228
276
|
}
|
|
229
277
|
export interface Provider {
|
|
230
278
|
name: string;
|
|
@@ -246,6 +294,13 @@ export interface RunOptions {
|
|
|
246
294
|
* change in runner behavior. Generic across all workload shapes that
|
|
247
295
|
* produce enumerable deliverables. */
|
|
248
296
|
expectedCoverage?: TaskSpec['expectedCoverage'];
|
|
297
|
+
/** Opt-out: when true, the runner skips the `no_terminator` and `fragment`
|
|
298
|
+
* short-output heuristics for this task. Use for tight-format outputs
|
|
299
|
+
* (single-line verdicts, CSV rows, opaque identifiers) that don't follow
|
|
300
|
+
* prose conventions. The `empty` and `thinking_only` degeneracy checks
|
|
301
|
+
* still fire independently. If `expectedCoverage` is also declared and
|
|
302
|
+
* passes, coverage is authoritative — you don't need this flag. */
|
|
303
|
+
skipCompletionHeuristic?: boolean;
|
|
249
304
|
/** Optional callback invoked by runners and the escalation orchestrator to
|
|
250
305
|
* stream in-flight progress events. See `ProgressEvent` for the full set
|
|
251
306
|
* of variants. Runners receive this via `provider.run(..., { onProgress })`
|
|
@@ -279,12 +334,10 @@ export interface RunOptions {
|
|
|
279
334
|
* When supplied, `RunResult.usage.savedCostUSD` is computed against this
|
|
280
335
|
* model's profile rates. */
|
|
281
336
|
parentModel?: string;
|
|
282
|
-
/**
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
* cost when false (the default). */
|
|
287
|
-
includeProgressTrace?: boolean;
|
|
337
|
+
/** Optional cost ceiling in USD. Runner will reject tool calls that would exceed this budget. */
|
|
338
|
+
maxCostUSD?: number;
|
|
339
|
+
/** Optional format constraints for input/output. */
|
|
340
|
+
formatConstraints?: FormatConstraints;
|
|
288
341
|
}
|
|
289
342
|
/**
|
|
290
343
|
* Runtime dependencies for `runTasks`. Kept separate from static `MultiModelConfig`
|
|
@@ -352,6 +405,15 @@ export interface ProviderEligibility {
|
|
|
352
405
|
/** Reasons only present when eligible === false. */
|
|
353
406
|
reasons: EligibilityFailure[];
|
|
354
407
|
}
|
|
408
|
+
export type BriefQualityWarning = 'outsourced_discovery' | 'brittle_line_anchors' | 'mixed_environment_actions' | 'bare_topic_noun' | 'no_done_condition' | 'no_output_contract' | 'tiny_brief' | 'huge_brief';
|
|
409
|
+
export type BriefQualityPolicy = 'normalize' | 'strict' | 'warn' | 'off' | undefined;
|
|
410
|
+
export interface ReadinessResult {
|
|
411
|
+
action: 'refuse' | 'normalize' | 'warn' | 'ignored';
|
|
412
|
+
missingPillars: ('scope' | 'inputs' | 'done_condition' | 'output_contract')[];
|
|
413
|
+
layer2Warnings: BriefQualityWarning[];
|
|
414
|
+
layer3Hints: ('concrete_path' | 'named_code_artifact' | 'reasonable_length')[];
|
|
415
|
+
briefQualityWarnings: BriefQualityWarning[];
|
|
416
|
+
}
|
|
355
417
|
/**
|
|
356
418
|
* Compute USD cost from token usage and the provider config's optional
|
|
357
419
|
* per-million-token rates. Returns null when either rate is missing — that
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAK1E,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhixuan92/multi-model-agent-core",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.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.",
|
|
@@ -40,25 +40,13 @@
|
|
|
40
40
|
"types": "./dist/config/load.d.ts",
|
|
41
41
|
"import": "./dist/config/load.js"
|
|
42
42
|
},
|
|
43
|
-
"./routing/capabilities": {
|
|
44
|
-
"types": "./dist/routing/capabilities.d.ts",
|
|
45
|
-
"import": "./dist/routing/capabilities.js"
|
|
46
|
-
},
|
|
47
43
|
"./routing/model-profiles": {
|
|
48
44
|
"types": "./dist/routing/model-profiles.d.ts",
|
|
49
45
|
"import": "./dist/routing/model-profiles.js"
|
|
50
46
|
},
|
|
51
|
-
"./routing/resolve-
|
|
52
|
-
"types": "./dist/routing/resolve-
|
|
53
|
-
"import": "./dist/routing/resolve-
|
|
54
|
-
},
|
|
55
|
-
"./routing/select-provider-for-task": {
|
|
56
|
-
"types": "./dist/routing/select-provider-for-task.d.ts",
|
|
57
|
-
"import": "./dist/routing/select-provider-for-task.js"
|
|
58
|
-
},
|
|
59
|
-
"./routing/get-provider-eligibility": {
|
|
60
|
-
"types": "./dist/routing/get-provider-eligibility.d.ts",
|
|
61
|
-
"import": "./dist/routing/get-provider-eligibility.js"
|
|
47
|
+
"./routing/resolve-agent": {
|
|
48
|
+
"types": "./dist/routing/resolve-agent.d.ts",
|
|
49
|
+
"import": "./dist/routing/resolve-agent.js"
|
|
62
50
|
},
|
|
63
51
|
"./provider": {
|
|
64
52
|
"types": "./dist/provider.d.ts",
|
|
@@ -71,6 +59,50 @@
|
|
|
71
59
|
"./types": {
|
|
72
60
|
"types": "./dist/types.d.ts",
|
|
73
61
|
"import": "./dist/types.js"
|
|
62
|
+
},
|
|
63
|
+
"./readiness/readiness": {
|
|
64
|
+
"types": "./dist/readiness/readiness.d.ts",
|
|
65
|
+
"import": "./dist/readiness/readiness.js"
|
|
66
|
+
},
|
|
67
|
+
"./readiness/normalization-budget": {
|
|
68
|
+
"types": "./dist/readiness/normalization-budget.d.ts",
|
|
69
|
+
"import": "./dist/readiness/normalization-budget.js"
|
|
70
|
+
},
|
|
71
|
+
"./readiness/normalize-brief": {
|
|
72
|
+
"types": "./dist/readiness/normalize-brief.d.ts",
|
|
73
|
+
"import": "./dist/readiness/normalize-brief.js"
|
|
74
|
+
},
|
|
75
|
+
"./reporting/structured-report": {
|
|
76
|
+
"types": "./dist/reporting/structured-report.d.ts",
|
|
77
|
+
"import": "./dist/reporting/structured-report.js"
|
|
78
|
+
},
|
|
79
|
+
"./review/reviewer-prompt": {
|
|
80
|
+
"types": "./dist/review/reviewer-prompt.d.ts",
|
|
81
|
+
"import": "./dist/review/reviewer-prompt.js"
|
|
82
|
+
},
|
|
83
|
+
"./review/spec-reviewer": {
|
|
84
|
+
"types": "./dist/review/spec-reviewer.d.ts",
|
|
85
|
+
"import": "./dist/review/spec-reviewer.js"
|
|
86
|
+
},
|
|
87
|
+
"./review/quality-reviewer": {
|
|
88
|
+
"types": "./dist/review/quality-reviewer.d.ts",
|
|
89
|
+
"import": "./dist/review/quality-reviewer.js"
|
|
90
|
+
},
|
|
91
|
+
"./review/aggregate-result": {
|
|
92
|
+
"types": "./dist/review/aggregate-result.d.ts",
|
|
93
|
+
"import": "./dist/review/aggregate-result.js"
|
|
94
|
+
},
|
|
95
|
+
"./error-codes": {
|
|
96
|
+
"types": "./dist/error-codes.d.ts",
|
|
97
|
+
"import": "./dist/error-codes.js"
|
|
98
|
+
},
|
|
99
|
+
"./cost/cost-meter": {
|
|
100
|
+
"types": "./dist/cost/cost-meter.d.ts",
|
|
101
|
+
"import": "./dist/cost/cost-meter.js"
|
|
102
|
+
},
|
|
103
|
+
"./tools/call-cache": {
|
|
104
|
+
"types": "./dist/tools/call-cache.d.ts",
|
|
105
|
+
"import": "./dist/tools/call-cache.js"
|
|
74
106
|
}
|
|
75
107
|
},
|
|
76
108
|
"scripts": {
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capabilities.d.ts","sourceRoot":"","sources":["../../src/routing/capabilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAI9D,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,cAAc,GAAG,UAAU,EAAE,CAwBxE"}
|