@zhixuan92/multi-model-agent-core 4.7.12 → 4.7.13
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/lifecycle/perform-implementation.d.ts.map +1 -1
- package/dist/lifecycle/perform-implementation.js +13 -10
- package/dist/lifecycle/perform-implementation.js.map +1 -1
- package/dist/lifecycle/read-only-subtype-spec.d.ts +1 -1
- package/dist/lifecycle/read-only-subtype-spec.d.ts.map +1 -1
- package/dist/lifecycle/{parallel-criteria-routes.d.ts → read-route-criteria.d.ts} +2 -2
- package/dist/lifecycle/read-route-criteria.d.ts.map +1 -0
- package/dist/lifecycle/{parallel-criteria-routes.js → read-route-criteria.js} +2 -2
- package/dist/lifecycle/read-route-criteria.js.map +1 -0
- package/dist/lifecycle/research-pre-loop.d.ts.map +1 -1
- package/dist/lifecycle/research-pre-loop.js +0 -1
- package/dist/lifecycle/research-pre-loop.js.map +1 -1
- package/dist/lifecycle/task-runner.d.ts +0 -1
- package/dist/lifecycle/task-runner.d.ts.map +1 -1
- package/dist/lifecycle/task-runner.js +0 -1
- package/dist/lifecycle/task-runner.js.map +1 -1
- package/dist/reporting/findings-headline.d.ts +12 -0
- package/dist/reporting/findings-headline.d.ts.map +1 -0
- package/dist/reporting/findings-headline.js +40 -0
- package/dist/reporting/findings-headline.js.map +1 -0
- package/dist/reporting/report-parser-slots/no-structured-report.d.ts +10 -0
- package/dist/reporting/report-parser-slots/no-structured-report.d.ts.map +1 -0
- package/dist/reporting/report-parser-slots/no-structured-report.js +13 -0
- package/dist/reporting/report-parser-slots/no-structured-report.js.map +1 -0
- package/dist/tools/audit/implementer-criteria.d.ts +0 -11
- package/dist/tools/audit/implementer-criteria.d.ts.map +1 -1
- package/dist/tools/audit/implementer-criteria.js +0 -22
- package/dist/tools/audit/implementer-criteria.js.map +1 -1
- package/dist/tools/audit/skill-audit-criteria.d.ts +1 -1
- package/dist/tools/audit/skill-audit-criteria.d.ts.map +1 -1
- package/dist/tools/audit/spec-audit-criteria.d.ts +1 -1
- package/dist/tools/audit/spec-audit-criteria.d.ts.map +1 -1
- package/dist/tools/audit/subtypes.js +1 -1
- package/dist/tools/audit/subtypes.js.map +1 -1
- package/dist/tools/audit/tool-config.d.ts +1 -2
- package/dist/tools/audit/tool-config.d.ts.map +1 -1
- package/dist/tools/audit/tool-config.js +11 -87
- package/dist/tools/audit/tool-config.js.map +1 -1
- package/dist/tools/debug/implementer-criteria.d.ts +0 -10
- package/dist/tools/debug/implementer-criteria.d.ts.map +1 -1
- package/dist/tools/debug/implementer-criteria.js +0 -23
- package/dist/tools/debug/implementer-criteria.js.map +1 -1
- package/dist/tools/debug/tool-config.d.ts.map +1 -1
- package/dist/tools/debug/tool-config.js +10 -71
- package/dist/tools/debug/tool-config.js.map +1 -1
- package/dist/tools/delegate/brief-slot.d.ts +1 -0
- package/dist/tools/delegate/brief-slot.d.ts.map +1 -1
- package/dist/tools/delegate/brief-slot.js +5 -2
- package/dist/tools/delegate/brief-slot.js.map +1 -1
- package/dist/tools/delegate/schema.d.ts +2 -2
- package/dist/tools/delegate/schema.js +1 -1
- package/dist/tools/delegate/schema.js.map +1 -1
- package/dist/tools/delegate/tool-config.d.ts.map +1 -1
- package/dist/tools/delegate/tool-config.js +1 -0
- package/dist/tools/delegate/tool-config.js.map +1 -1
- package/dist/tools/execute-plan/barrel.d.ts +2 -0
- package/dist/tools/execute-plan/barrel.d.ts.map +1 -0
- package/dist/tools/execute-plan/barrel.js +7 -0
- package/dist/tools/execute-plan/barrel.js.map +1 -0
- package/dist/tools/execute-plan/tool-config.d.ts +48 -0
- package/dist/tools/execute-plan/tool-config.d.ts.map +1 -1
- package/dist/tools/execute-plan/tool-config.js +4 -0
- package/dist/tools/execute-plan/tool-config.js.map +1 -1
- package/dist/tools/index.d.ts +1 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +7 -7
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/investigate/brief-slot.d.ts +3 -19
- package/dist/tools/investigate/brief-slot.d.ts.map +1 -1
- package/dist/tools/investigate/brief-slot.js +0 -60
- package/dist/tools/investigate/brief-slot.js.map +1 -1
- package/dist/tools/investigate/implementer-criteria.d.ts +0 -11
- package/dist/tools/investigate/implementer-criteria.d.ts.map +1 -1
- package/dist/tools/investigate/implementer-criteria.js +0 -23
- package/dist/tools/investigate/implementer-criteria.js.map +1 -1
- package/dist/tools/investigate/tool-config.d.ts.map +1 -1
- package/dist/tools/investigate/tool-config.js +2 -6
- package/dist/tools/investigate/tool-config.js.map +1 -1
- package/dist/tools/{parallel-criteria-prompt.d.ts → read-route-prompt.d.ts} +1 -1
- package/dist/tools/read-route-prompt.d.ts.map +1 -0
- package/dist/tools/{parallel-criteria-prompt.js → read-route-prompt.js} +1 -1
- package/dist/tools/read-route-prompt.js.map +1 -0
- package/dist/tools/research/brief-slot.d.ts +4 -1
- package/dist/tools/research/brief-slot.d.ts.map +1 -1
- package/dist/tools/research/brief-slot.js +1 -31
- package/dist/tools/research/brief-slot.js.map +1 -1
- package/dist/tools/research/tool-config.js +2 -2
- package/dist/tools/research/tool-config.js.map +1 -1
- package/dist/tools/research/two-turn-driver.d.ts +0 -4
- package/dist/tools/research/two-turn-driver.d.ts.map +1 -1
- package/dist/tools/research/two-turn-driver.js.map +1 -1
- package/dist/tools/retry/tool-config.js +4 -4
- package/dist/tools/retry/tool-config.js.map +1 -1
- package/dist/tools/review/implementer-criteria.d.ts +0 -12
- package/dist/tools/review/implementer-criteria.d.ts.map +1 -1
- package/dist/tools/review/implementer-criteria.js +0 -23
- package/dist/tools/review/implementer-criteria.js.map +1 -1
- package/dist/tools/review/subtypes.js +1 -1
- package/dist/tools/review/subtypes.js.map +1 -1
- package/dist/tools/review/tool-config.d.ts.map +1 -1
- package/dist/tools/review/tool-config.js +11 -80
- package/dist/tools/review/tool-config.js.map +1 -1
- package/dist/types/task-spec.d.ts +12 -10
- package/dist/types/task-spec.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/lifecycle/parallel-criteria-routes.d.ts.map +0 -1
- package/dist/lifecycle/parallel-criteria-routes.js.map +0 -1
- package/dist/lifecycle/plan-extraction.d.ts +0 -2
- package/dist/lifecycle/plan-extraction.d.ts.map +0 -1
- package/dist/lifecycle/plan-extraction.js +0 -44
- package/dist/lifecycle/plan-extraction.js.map +0 -1
- package/dist/reporting/headline-templates/audit.d.ts +0 -3
- package/dist/reporting/headline-templates/audit.d.ts.map +0 -1
- package/dist/reporting/headline-templates/audit.js +0 -37
- package/dist/reporting/headline-templates/audit.js.map +0 -1
- package/dist/reporting/headline-templates/debug.d.ts +0 -25
- package/dist/reporting/headline-templates/debug.d.ts.map +0 -1
- package/dist/reporting/headline-templates/debug.js +0 -42
- package/dist/reporting/headline-templates/debug.js.map +0 -1
- package/dist/reporting/headline-templates/retry.d.ts +0 -3
- package/dist/reporting/headline-templates/retry.d.ts.map +0 -1
- package/dist/reporting/headline-templates/retry.js +0 -9
- package/dist/reporting/headline-templates/retry.js.map +0 -1
- package/dist/reporting/headline-templates/review.d.ts +0 -3
- package/dist/reporting/headline-templates/review.d.ts.map +0 -1
- package/dist/reporting/headline-templates/review.js +0 -38
- package/dist/reporting/headline-templates/review.js.map +0 -1
- package/dist/reporting/report-parser-slots/audit-report.d.ts +0 -13
- package/dist/reporting/report-parser-slots/audit-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/audit-report.js +0 -9
- package/dist/reporting/report-parser-slots/audit-report.js.map +0 -1
- package/dist/reporting/report-parser-slots/retry-report.d.ts +0 -8
- package/dist/reporting/report-parser-slots/retry-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/retry-report.js +0 -9
- package/dist/reporting/report-parser-slots/retry-report.js.map +0 -1
- package/dist/reporting/report-parser-slots/review-report.d.ts +0 -14
- package/dist/reporting/report-parser-slots/review-report.d.ts.map +0 -1
- package/dist/reporting/report-parser-slots/review-report.js +0 -9
- package/dist/reporting/report-parser-slots/review-report.js.map +0 -1
- package/dist/tools/audit/plan-audit-verdict.d.ts +0 -15
- package/dist/tools/audit/plan-audit-verdict.d.ts.map +0 -1
- package/dist/tools/audit/plan-audit-verdict.js +0 -44
- package/dist/tools/audit/plan-audit-verdict.js.map +0 -1
- package/dist/tools/execute-plan/draft-id.d.ts +0 -12
- package/dist/tools/execute-plan/draft-id.d.ts.map +0 -1
- package/dist/tools/execute-plan/draft-id.js +0 -46
- package/dist/tools/execute-plan/draft-id.js.map +0 -1
- package/dist/tools/execute-plan/schema.d.ts +0 -65
- package/dist/tools/execute-plan/schema.d.ts.map +0 -1
- package/dist/tools/execute-plan/schema.js +0 -32
- package/dist/tools/execute-plan/schema.js.map +0 -1
- package/dist/tools/parallel-criteria-prompt.d.ts.map +0 -1
- package/dist/tools/parallel-criteria-prompt.js.map +0 -1
- package/dist/tools/shared/severity-ladder.d.ts +0 -2
- package/dist/tools/shared/severity-ladder.d.ts.map +0 -1
- package/dist/tools/shared/severity-ladder.js +0 -9
- package/dist/tools/shared/severity-ladder.js.map +0 -1
|
@@ -1,10 +1,8 @@
|
|
|
1
1
|
import { inputSchema } from './schema.js';
|
|
2
2
|
import { reviewBriefSlot } from './brief-slot.js';
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
3
|
+
import { noStructuredReportSchema } from '../../reporting/report-parser-slots/no-structured-report.js';
|
|
4
|
+
import { makeFindingsHeadlineTemplate } from '../../reporting/findings-headline.js';
|
|
5
5
|
import { DEFAULT_TASK_TIMEOUT_MS } from '../../config/schema.js';
|
|
6
|
-
import { SEVERITY_LADDER } from '../shared/severity-ladder.js';
|
|
7
|
-
import { REVIEW_PURPOSE_ORIENTATION, EVIDENCE_RULE_REVIEW, SCOPE_RULE_REVIEW, ANNOTATOR_AWARENESS_REVIEW, CODE_REVIEW_FAILURE_MODES, THOROUGHNESS_REMINDER_REVIEW, } from './implementer-criteria.js';
|
|
8
6
|
export function registerReview(registry) {
|
|
9
7
|
registry.register({
|
|
10
8
|
routeName: 'review',
|
|
@@ -48,84 +46,15 @@ function resolveReviewDoneCondition(focus, hasContextBlocks) {
|
|
|
48
46
|
}
|
|
49
47
|
return hasContextBlocks ? base + DELTA_REVIEW_SUFFIX : base;
|
|
50
48
|
}
|
|
51
|
-
function buildReviewPrompt(brief) {
|
|
52
|
-
const { code, filePaths, focus, hasContextBlocks, filePath } = brief;
|
|
53
|
-
const parts = ['Review this code:'];
|
|
54
|
-
if (filePath) {
|
|
55
|
-
parts.push(`Read and analyze this file:\n- ${filePath}`);
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
if (code)
|
|
59
|
-
parts.push(`\`\`\`\n${code}\n\`\`\``);
|
|
60
|
-
if (filePaths && filePaths.length > 0) {
|
|
61
|
-
parts.push(`Read and analyze these files:\n${filePaths.map(p => `- ${p}`).join('\n')}`);
|
|
62
|
-
}
|
|
63
|
-
if (focus && focus.length > 0)
|
|
64
|
-
parts.push(`Focus areas: ${focus.join(', ')}.`);
|
|
65
|
-
}
|
|
66
|
-
// Tool sweep #11: emit format spec unconditionally (pre-fix the
|
|
67
|
-
// DELTA branch dropped it, breaking annotator parse on delta runs).
|
|
68
|
-
if (hasContextBlocks) {
|
|
69
|
-
parts.push('A prior review is in the context above. **Omit** addressed findings, **include** still-present ones (mark "unfixed from prior review"), **include** any new findings, and end with a **Fixed** summary.');
|
|
70
|
-
}
|
|
71
|
-
parts.push(FINDING_FORMAT_INSTRUCTIONS);
|
|
72
|
-
return parts.join('\n\n');
|
|
73
|
-
}
|
|
74
|
-
const FINDING_FORMAT_INSTRUCTIONS = [
|
|
75
|
-
// Orientation goes FIRST — the worker needs to know why this review
|
|
76
|
-
// exists (pre-merge gate, your verdict is authoritative, missing a
|
|
77
|
-
// regression here ships) before reading the format spec / taxonomy /
|
|
78
|
-
// evidence rules. Without it, workers do line-by-line proofreading and
|
|
79
|
-
// miss cross-file ripples and test gaps.
|
|
80
|
-
REVIEW_PURPOSE_ORIENTATION,
|
|
81
|
-
'',
|
|
82
|
-
'Produce a narrative code review. Use this EXACT per-finding format — both the structured reviewer and the deterministic fallback extract from this same format:',
|
|
83
|
-
'',
|
|
84
|
-
'## Finding 1: <one-line title>',
|
|
85
|
-
'- Severity: critical | high | medium | low',
|
|
86
|
-
'- Location: file:line',
|
|
87
|
-
'- Issue: one-paragraph explanation',
|
|
88
|
-
'- Suggestion: one-line fix recommendation',
|
|
89
|
-
'',
|
|
90
|
-
'## Finding 2: <one-line title>',
|
|
91
|
-
'- Severity: ...',
|
|
92
|
-
'- ...',
|
|
93
|
-
'',
|
|
94
|
-
'Rules:',
|
|
95
|
-
'- Each finding heading MUST start with "## Finding N: " (h2, "Finding ", number, colon, title) — number sequentially from 1.',
|
|
96
|
-
'- Severity / Location / Issue / Suggestion bullets are on their own lines with the labels exactly as shown.',
|
|
97
|
-
'- If you found no issues, say "No findings." in plain prose and emit zero `## Finding N:` blocks.',
|
|
98
|
-
'',
|
|
99
|
-
SEVERITY_LADDER,
|
|
100
|
-
'',
|
|
101
|
-
// Code-review failure-mode taxonomy. Without this block, workers
|
|
102
|
-
// calibrated on line-by-line proofreading miss the cross-file ripple,
|
|
103
|
-
// test gap, and implicit-contract findings that actually block merges.
|
|
104
|
-
CODE_REVIEW_FAILURE_MODES,
|
|
105
|
-
'',
|
|
106
|
-
// Counter-balances the SEVERITY_LADDER's anti-inflation hint and
|
|
107
|
-
// includes the cross-file pass with worked example.
|
|
108
|
-
THOROUGHNESS_REMINDER_REVIEW,
|
|
109
|
-
'',
|
|
110
|
-
EVIDENCE_RULE_REVIEW,
|
|
111
|
-
'',
|
|
112
|
-
SCOPE_RULE_REVIEW,
|
|
113
|
-
'',
|
|
114
|
-
ANNOTATOR_AWARENESS_REVIEW,
|
|
115
|
-
].join('\n');
|
|
116
49
|
export const toolConfig = {
|
|
117
50
|
name: 'review',
|
|
118
51
|
category: 'read_only',
|
|
119
52
|
agentType: 'complex',
|
|
120
53
|
briefSlot: reviewBriefSlot,
|
|
121
54
|
buildTaskSpec: (brief, ctx) => {
|
|
122
|
-
const prompt = buildReviewPrompt(brief);
|
|
123
55
|
// Propagate filePaths + mainModel onto the TaskSpec so the headline
|
|
124
56
|
// composer can name the file in clean-review headlines and so the
|
|
125
|
-
// wire telemetry carries main_model attribution.
|
|
126
|
-
// already; review missed it, producing "[ok] review completed"
|
|
127
|
-
// (no path) even when filePaths was provided. (Tool sweep #2 — gap surfaced
|
|
128
|
-
// by review batch c24353f6 on packages/core/src/reporting/severity.ts.)
|
|
57
|
+
// wire telemetry carries main_model attribution.
|
|
129
58
|
const filePaths = brief.filePath
|
|
130
59
|
? [brief.filePath]
|
|
131
60
|
: (brief.filePaths && brief.filePaths.length > 0 ? brief.filePaths : undefined);
|
|
@@ -137,11 +66,13 @@ export const toolConfig = {
|
|
|
137
66
|
}
|
|
138
67
|
if (brief.focus)
|
|
139
68
|
targetParts.push(`Focus: ${Array.isArray(brief.focus) ? brief.focus.join(', ') : brief.focus}`);
|
|
69
|
+
// The read-route dispatcher builds the worker prefix from this pure target
|
|
70
|
+
// + FINDING_FORMAT_SHARED + review RouteSemantics; `prompt` mirrors it
|
|
71
|
+
// (required field / telemetry, not the read-route worker input).
|
|
72
|
+
const target = targetParts.join('\n\n');
|
|
140
73
|
return {
|
|
141
|
-
prompt,
|
|
142
|
-
|
|
143
|
-
// prefix; bypasses the legacy ## Finding format spec embedded in `prompt`.
|
|
144
|
-
parallelTarget: targetParts.join('\n\n'),
|
|
74
|
+
prompt: target,
|
|
75
|
+
readTarget: target,
|
|
145
76
|
agentType: 'complex',
|
|
146
77
|
reviewPolicy: 'none',
|
|
147
78
|
briefQualityPolicy: 'off',
|
|
@@ -156,7 +87,7 @@ export const toolConfig = {
|
|
|
156
87
|
autoCommit: false,
|
|
157
88
|
};
|
|
158
89
|
},
|
|
159
|
-
reportSchema:
|
|
160
|
-
headlineTemplate:
|
|
90
|
+
reportSchema: noStructuredReportSchema,
|
|
91
|
+
headlineTemplate: makeFindingsHeadlineTemplate('review', 'blocking'),
|
|
161
92
|
};
|
|
162
93
|
//# sourceMappingURL=tool-config.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/review/tool-config.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAI1C,OAAO,EAAE,eAAe,EAAoB,MAAM,iBAAiB,CAAC;AACpE,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"tool-config.js","sourceRoot":"","sources":["../../../src/tools/review/tool-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -35,20 +35,22 @@ export interface TaskSpec {
|
|
|
35
35
|
planContext?: string;
|
|
36
36
|
outputTargets?: string[];
|
|
37
37
|
/**
|
|
38
|
-
* For read-only routes that go through the
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* sub-workers see ONLY the user's request — not
|
|
42
|
-
* format spec
|
|
43
|
-
*
|
|
44
|
-
*
|
|
45
|
-
*
|
|
38
|
+
* For read-only routes that go through the read-route dispatcher, this is
|
|
39
|
+
* the user's pure question / work / problem text (route-specific shape),
|
|
40
|
+
* set by each route's buildTaskSpec. Used as the "target" content embedded
|
|
41
|
+
* in the cached prefix so sub-workers see ONLY the user's request — not a
|
|
42
|
+
* legacy monolithic format spec. The dispatcher uses this then `document`;
|
|
43
|
+
* there is NO `prompt` fallback (a non-research read route with an empty
|
|
44
|
+
* target throws `read_route_missing_target`). Audit: the inlined document /
|
|
45
|
+
* file targets. Review: the code snippet + filePaths. Debug: problem
|
|
46
|
+
* statement. Investigate: question. Research: the research question (the
|
|
47
|
+
* actual worker input is built from `research`).
|
|
46
48
|
*/
|
|
47
|
-
|
|
49
|
+
readTarget?: string;
|
|
48
50
|
/**
|
|
49
51
|
* v4.4.x: subtype field for read-only tools. Set by each tool's
|
|
50
52
|
* buildTaskSpec from the input schema's `subtype` field. The lifecycle's
|
|
51
|
-
*
|
|
53
|
+
* read-route dispatcher reads this to look up the per-tool
|
|
52
54
|
* SUBTYPES map and select the matching criteria / orientation /
|
|
53
55
|
* semantics block. Defaults to 'default' when undefined.
|
|
54
56
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-spec.d.ts","sourceRoot":"","sources":["../../src/types/task-spec.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,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,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AACxD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,oBAAoB,GAAG,eAAe,GAAG,SAAS,GAAG,oBAAoB,GAAG,QAAQ,CAAC;AAEzH,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,YAAY,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,WAAW,GAAG,MAAM,CAAA;IAC7D,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,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,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB
|
|
1
|
+
{"version":3,"file":"task-spec.d.ts","sourceRoot":"","sources":["../../src/types/task-spec.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAEpE,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,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AACxD,MAAM,MAAM,QAAQ,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC1D,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,oBAAoB,GAAG,eAAe,GAAG,SAAS,GAAG,oBAAoB,GAAG,QAAQ,CAAC;AAEzH,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,YAAY,CAAC,EAAE,MAAM,GAAG,cAAc,GAAG,WAAW,GAAG,MAAM,CAAA;IAC7D,kBAAkB,CAAC,EAAE,kBAAkB,CAAA;IACvC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,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,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,EAAE,CAAA;IACxB;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB;;;;OAIG;IACH,QAAQ,CAAC,EAAE;QACT,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;QACvB,qBAAqB,CAAC,EAAE,KAAK,CAAC;YAAE,EAAE,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KAChE,CAAA;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@zhixuan92/multi-model-agent-core",
|
|
3
|
-
"version": "4.7.
|
|
3
|
+
"version": "4.7.13",
|
|
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.",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-criteria-routes.d.ts","sourceRoot":"","sources":["../../src/lifecycle/parallel-criteria-routes.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AACvE,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAmB,KAAK,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAkB,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAwB,KAAK,kBAAkB,EAAE,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAqB,KAAK,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAExF,MAAM,MAAM,iBAAiB,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,UAAU,CAAC;AAE1F;;kBAEkB;AAClB,eAAO,MAAM,qBAAqB,QAmBtB,CAAC;AAEb,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IAChD,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,iBAAiB,EAAE,UAAU,CAMlE,CAAC;AAEF,mEAAmE;AACnE,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,SAAS,cAAc,EAAE,CAAC;IACpC,WAAW,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,MAAM,CAAC;IACpD,WAAW,EAAE,CAAC,SAAS,EAAE,cAAc,KAAK,MAAM,CAAC;IACnD,SAAS,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;CAC7C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,iBAAiB,EACxB,OAAO,EAAE,MAAM,GAAG,SAAS,GAC1B,iBAAiB,CAsBnB;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,iBAAiB,CAEzE;AAGD,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,kBAAkB,EAAE,eAAe,EAAE,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parallel-criteria-routes.js","sourceRoot":"","sources":["../../src/lifecycle/parallel-criteria-routes.ts"],"names":[],"mappings":"AACA,OAAO,EACL,yBAAyB,EACzB,4BAA4B,GAG7B,MAAM,sCAAsC,CAAC;AAE9C,OAAO,EAAE,cAAc,EAAqB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,eAAe,EAAsB,MAAM,6BAA6B,CAAC;AAClF,OAAO,EAAE,cAAc,EAAqB,MAAM,4BAA4B,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAA2B,MAAM,kCAAkC,CAAC;AACjG,OAAO,EAAE,iBAAiB,EAAwB,MAAM,+BAA+B,CAAC;AAIxF;;kBAEkB;AAClB,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,8EAA8E;IAC9E,EAAE;IACF,gCAAgC;IAChC,4CAA4C;IAC5C,+CAA+C;IAC/C,gLAAgL;IAChL,iFAAiF;IACjF,EAAE;IACF,6CAA6C;IAC7C,EAAE;IACF,0JAA0J;IAC1J,EAAE;IACF,oIAAoI;IACpI,EAAE;IACF,YAAY;IACZ,0CAA0C;IAC1C,kEAAkE;IAClE,sEAAsE;CACvE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAOb,MAAM,CAAC,MAAM,gBAAgB,GAA0C;IACrE,KAAK,EAAQ,EAAE,UAAU,EAAE,cAA2D,EAAE,cAAc,EAAE,SAAS,EAAE;IACnH,MAAM,EAAO,EAAE,UAAU,EAAE,eAA2D,EAAE,cAAc,EAAE,SAAS,EAAE;IACnH,KAAK,EAAQ,EAAE,UAAU,EAAE,cAA2D,EAAE,cAAc,EAAE,SAAS,EAAE;IACnH,WAAW,EAAE,EAAE,UAAU,EAAE,oBAA2D,EAAE,cAAc,EAAE,SAAS,EAAE;IACnH,QAAQ,EAAK,EAAE,UAAU,EAAE,iBAA2D,EAAE,cAAc,EAAE,SAAS,EAAE;CACpH,CAAC;AAUF;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAChC,KAAwB,EACxB,OAA2B;IAE3B,MAAM,KAAK,GAAG,gBAAgB,CAAC,KAAK,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,OAAO,IAAI,KAAK,CAAC,cAAc,CAAC;IAC5C,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,YAAY,KAAK,qBAAqB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC7H,CAAC;IACD,MAAM,MAAM,GAAuB;QACjC,WAAW,EAAE,IAAI,CAAC,WAAW;QAC7B,YAAY,EAAE,IAAI,CAAC,YAAY;QAC/B,SAAS,EAAE,IAAI,CAAC,SAAS;QACzB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;QAC3C,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,aAAa,EAAE,qBAAqB;QACpC,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;IACF,OAAO;QACL,QAAQ,EAAE,IAAI,CAAC,QAAQ;QACvB,WAAW,EAAE,CAAC,MAA0B,EAAE,EAAE,CAAC,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC;QACtF,WAAW,EAAE,CAAC,SAAyB,EAAE,EAAE,CAAC,4BAA4B,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC;QACnG,SAAS,EAAE,IAAI,CAAC,SAAS;KAC1B,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,KAAa;IAC3C,OAAO,KAAK,IAAI,gBAAgB,CAAC;AACnC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plan-extraction.d.ts","sourceRoot":"","sources":["../../src/lifecycle/plan-extraction.ts"],"names":[],"mappings":"AAIA,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"}
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
import fs from 'fs/promises';
|
|
2
|
-
const PLAN_CONTEXT_MAX_CHARS = 10_000;
|
|
3
|
-
export async function extractPlanSection(planFilePaths, taskDescriptor, cwd) {
|
|
4
|
-
const basePath = cwd ?? process.cwd();
|
|
5
|
-
for (const filePath of planFilePaths) {
|
|
6
|
-
try {
|
|
7
|
-
const resolved = filePath.startsWith('/') ? filePath : `${basePath}/${filePath}`;
|
|
8
|
-
const content = await fs.readFile(resolved, 'utf-8');
|
|
9
|
-
const lines = content.split('\n');
|
|
10
|
-
let startIndex = -1;
|
|
11
|
-
let headingLevel = 0;
|
|
12
|
-
for (let i = 0; i < lines.length; i++) {
|
|
13
|
-
const match = lines[i].match(/^(#{1,6})\s+(.*)/);
|
|
14
|
-
if (match && match[2].trim() === taskDescriptor.trim()) {
|
|
15
|
-
startIndex = i;
|
|
16
|
-
headingLevel = match[1].length;
|
|
17
|
-
break;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
if (startIndex === -1)
|
|
21
|
-
continue;
|
|
22
|
-
let endIndex = lines.length;
|
|
23
|
-
for (let i = startIndex + 1; i < lines.length; i++) {
|
|
24
|
-
const match = lines[i].match(/^(#{1,6})\s/);
|
|
25
|
-
if (match && match[1].length <= headingLevel) {
|
|
26
|
-
endIndex = i;
|
|
27
|
-
break;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
let section = lines.slice(startIndex, endIndex).join('\n');
|
|
31
|
-
if (section.length > PLAN_CONTEXT_MAX_CHARS) {
|
|
32
|
-
section = section.slice(0, PLAN_CONTEXT_MAX_CHARS) + '\n[truncated at 10KB]';
|
|
33
|
-
}
|
|
34
|
-
return section;
|
|
35
|
-
}
|
|
36
|
-
catch {
|
|
37
|
-
if (process.env.MULTI_MODEL_DEBUG === '1') {
|
|
38
|
-
console.error(`[multi-model-agent] plan file not readable: ${filePath}`);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
return undefined;
|
|
43
|
-
}
|
|
44
|
-
//# sourceMappingURL=plan-extraction.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plan-extraction.js","sourceRoot":"","sources":["../../src/lifecycle/plan-extraction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAE7B,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,aAAuB,EACvB,cAAsB,EACtB,GAAuB;IAEvB,MAAM,QAAQ,GAAG,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAEtC,KAAK,MAAM,QAAQ,IAAI,aAAa,EAAE,CAAC;QACrC,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACjF,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAErD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,UAAU,GAAG,CAAC,CAAC,CAAC;YACpB,IAAI,YAAY,GAAG,CAAC,CAAC;YAErB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACtC,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,kBAAkB,CAAC,CAAC;gBACjD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;oBACvD,UAAU,GAAG,CAAC,CAAC;oBACf,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC/B,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,UAAU,KAAK,CAAC,CAAC;gBAAE,SAAS;YAEhC,IAAI,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;YAC5B,KAAK,IAAI,CAAC,GAAG,UAAU,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBACnD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBAC5C,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,YAAY,EAAE,CAAC;oBAC7C,QAAQ,GAAG,CAAC,CAAC;oBACb,MAAM;gBACR,CAAC;YACH,CAAC;YAED,IAAI,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,IAAI,OAAO,CAAC,MAAM,GAAG,sBAAsB,EAAE,CAAC;gBAC5C,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,sBAAsB,CAAC,GAAG,uBAAuB,CAAC;YAC/E,CAAC;YACD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,EAAE,CAAC;gBAC1C,OAAO,CAAC,KAAK,CAAC,+CAA+C,QAAQ,EAAE,CAAC,CAAC;YAC3E,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audit.d.ts","sourceRoot":"","sources":["../../../src/reporting/headline-templates/audit.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKhE,eAAO,MAAM,qBAAqB,EAAE,gBAuCnC,CAAC"}
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
import { isNotApplicable } from '../not-applicable.js';
|
|
2
|
-
import { countHighOrCritical, parseNarrativeFindings } from '../severity.js';
|
|
3
|
-
export const auditHeadlineTemplate = {
|
|
4
|
-
compose({ report, status, runResult, task }) {
|
|
5
|
-
const r = report;
|
|
6
|
-
const reportInapplicable = !r || isNotApplicable(r);
|
|
7
|
-
// Source priority for findings (v4.5.2+):
|
|
8
|
-
// 1. Structured report's `findings` (rare — only when the worker
|
|
9
|
-
// emitted proper JSON matching the audit reportSchema).
|
|
10
|
-
// 2. parseNarrativeFindings(runResult.output) — recovers findings
|
|
11
|
-
// directly from the implementer's `## Finding N:` output when
|
|
12
|
-
// no structured report was emitted. This is the load-bearing
|
|
13
|
-
// path for read-route audits (their workers emit narrative,
|
|
14
|
-
// not structured JSON).
|
|
15
|
-
const reportFindings = !reportInapplicable && Array.isArray(r?.findings) ? r.findings : [];
|
|
16
|
-
let findings = reportFindings.length > 0
|
|
17
|
-
? reportFindings
|
|
18
|
-
: [];
|
|
19
|
-
if (findings.length === 0 && typeof runResult?.output === 'string') {
|
|
20
|
-
const narrative = parseNarrativeFindings(runResult.output);
|
|
21
|
-
if (narrative.length > 0)
|
|
22
|
-
findings = narrative;
|
|
23
|
-
}
|
|
24
|
-
if (findings.length === 0 && reportInapplicable) {
|
|
25
|
-
return `[${status}] audit completed`;
|
|
26
|
-
}
|
|
27
|
-
const high = countHighOrCritical(findings);
|
|
28
|
-
// Document path fallback: when narrative-parse is the active source,
|
|
29
|
-
// the structured report's documentPath is absent; pull from the task's
|
|
30
|
-
// filePaths instead.
|
|
31
|
-
const path = (!reportInapplicable && typeof r?.documentPath === 'string' ? r.documentPath : '')
|
|
32
|
-
|| task?.filePaths?.[0]
|
|
33
|
-
|| '';
|
|
34
|
-
return `[${status}] audit ${path}: ${findings.length} findings (${high} high)`;
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=audit.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audit.js","sourceRoot":"","sources":["../../../src/reporting/headline-templates/audit.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACrD,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;QACzC,MAAM,CAAC,GAAG,MAAiD,CAAC;QAC5D,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;QAEpD,0CAA0C;QAC1C,mEAAmE;QACnE,6DAA6D;QAC7D,oEAAoE;QACpE,mEAAmE;QACnE,kEAAkE;QAClE,iEAAiE;QACjE,6BAA6B;QAC7B,MAAM,cAAc,GAAG,CAAC,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,IAAI,QAAQ,GACV,cAAc,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAE,cAAgD;YACnD,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,SAAS,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,QAAQ,GAAG,SAAS,CAAC;QACjD,CAAC;QAED,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,kBAAkB,EAAE,CAAC;YAChD,OAAO,IAAI,MAAM,mBAAmB,CAAC;QACvC,CAAC;QAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAE3C,qEAAqE;QACrE,uEAAuE;QACvE,qBAAqB;QACrB,MAAM,IAAI,GACR,CAAC,CAAC,kBAAkB,IAAI,OAAO,CAAC,EAAE,YAAY,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;eAC/E,IAA6C,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;eAC9D,EAAE,CAAC;QAER,OAAO,IAAI,MAAM,WAAW,IAAI,KAAK,QAAQ,CAAC,MAAM,cAAc,IAAI,QAAQ,CAAC;IACjF,CAAC;CACF,CAAC"}
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import type { HeadlineTemplate } from '../headline-composer.js';
|
|
2
|
-
/**
|
|
3
|
-
* Compose a terminal headline for debug.
|
|
4
|
-
*
|
|
5
|
-
* Tool sweep #4 rewrite: bring debug into the same shape as audit and
|
|
6
|
-
* review/verify so operator-facing logs stay consistent across tools:
|
|
7
|
-
*
|
|
8
|
-
* [ok] debug <path>: 3 findings (0 high)
|
|
9
|
-
* [error] debug: 1 findings (1 high)
|
|
10
|
-
* [ok] debug completed
|
|
11
|
-
*
|
|
12
|
-
* Previously emitted "debug: 1/1 tasks complete" with no status prefix
|
|
13
|
-
* and no findings count — operator could not tell ok from error and
|
|
14
|
-
* had no signal about how many real findings landed.
|
|
15
|
-
*
|
|
16
|
-
* Findings source (v4.5.2+): parseNarrativeFindings(runResult.output)
|
|
17
|
-
* recovers `## Finding N:` blocks directly from the implementer's
|
|
18
|
-
* narrative.
|
|
19
|
-
*
|
|
20
|
-
* Note: debug's reportSchema.parse is intentionally a thrower (the tool
|
|
21
|
-
* doesn't emit a structured report), so `report` is always notApplicable
|
|
22
|
-
* here — there's no `report.findings` source to read.
|
|
23
|
-
*/
|
|
24
|
-
export declare const debugHeadlineTemplate: HeadlineTemplate;
|
|
25
|
-
//# sourceMappingURL=debug.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug.d.ts","sourceRoot":"","sources":["../../../src/reporting/headline-templates/debug.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAGhE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,qBAAqB,EAAE,gBAoBnC,CAAC"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import { countHighOrCritical, parseNarrativeFindings } from '../severity.js';
|
|
2
|
-
/**
|
|
3
|
-
* Compose a terminal headline for debug.
|
|
4
|
-
*
|
|
5
|
-
* Tool sweep #4 rewrite: bring debug into the same shape as audit and
|
|
6
|
-
* review/verify so operator-facing logs stay consistent across tools:
|
|
7
|
-
*
|
|
8
|
-
* [ok] debug <path>: 3 findings (0 high)
|
|
9
|
-
* [error] debug: 1 findings (1 high)
|
|
10
|
-
* [ok] debug completed
|
|
11
|
-
*
|
|
12
|
-
* Previously emitted "debug: 1/1 tasks complete" with no status prefix
|
|
13
|
-
* and no findings count — operator could not tell ok from error and
|
|
14
|
-
* had no signal about how many real findings landed.
|
|
15
|
-
*
|
|
16
|
-
* Findings source (v4.5.2+): parseNarrativeFindings(runResult.output)
|
|
17
|
-
* recovers `## Finding N:` blocks directly from the implementer's
|
|
18
|
-
* narrative.
|
|
19
|
-
*
|
|
20
|
-
* Note: debug's reportSchema.parse is intentionally a thrower (the tool
|
|
21
|
-
* doesn't emit a structured report), so `report` is always notApplicable
|
|
22
|
-
* here — there's no `report.findings` source to read.
|
|
23
|
-
*/
|
|
24
|
-
export const debugHeadlineTemplate = {
|
|
25
|
-
compose({ status, runResult, task }) {
|
|
26
|
-
let findings = [];
|
|
27
|
-
if (typeof runResult?.output === 'string') {
|
|
28
|
-
const narrative = parseNarrativeFindings(runResult.output);
|
|
29
|
-
if (narrative.length > 0)
|
|
30
|
-
findings = narrative;
|
|
31
|
-
}
|
|
32
|
-
const path = task?.filePaths?.[0] || '';
|
|
33
|
-
if (findings.length === 0 && !path) {
|
|
34
|
-
return `[${status}] debug completed`;
|
|
35
|
-
}
|
|
36
|
-
const high = countHighOrCritical(findings);
|
|
37
|
-
return path
|
|
38
|
-
? `[${status}] debug ${path}: ${findings.length} findings (${high} high)`
|
|
39
|
-
: `[${status}] debug: ${findings.length} findings (${high} high)`;
|
|
40
|
-
},
|
|
41
|
-
};
|
|
42
|
-
//# sourceMappingURL=debug.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"debug.js","sourceRoot":"","sources":["../../../src/reporting/headline-templates/debug.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7E;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACrD,OAAO,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE;QACjC,IAAI,QAAQ,GAAkC,EAAE,CAAC;QACjD,IAAI,OAAO,SAAS,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC1C,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,QAAQ,GAAG,SAAS,CAAC;QACjD,CAAC;QAED,MAAM,IAAI,GACP,IAA6C,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAEvE,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,MAAM,mBAAmB,CAAC;QACvC,CAAC;QAED,MAAM,IAAI,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,IAAI;YACT,CAAC,CAAC,IAAI,MAAM,WAAW,IAAI,KAAK,QAAQ,CAAC,MAAM,cAAc,IAAI,QAAQ;YACzE,CAAC,CAAC,IAAI,MAAM,YAAY,QAAQ,CAAC,MAAM,cAAc,IAAI,QAAQ,CAAC;IACtE,CAAC;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retry.d.ts","sourceRoot":"","sources":["../../../src/reporting/headline-templates/retry.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAEhE,eAAO,MAAM,qBAAqB,EAAE,gBAOnC,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export const retryHeadlineTemplate = {
|
|
2
|
-
compose() {
|
|
3
|
-
// The retry envelope's headline is overwritten by postProcessEnvelope to
|
|
4
|
-
// reflect total/completed counts. This default keeps shape uniformity if
|
|
5
|
-
// the post-process step is ever skipped.
|
|
6
|
-
return 'retry';
|
|
7
|
-
},
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=retry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retry.js","sourceRoot":"","sources":["../../../src/reporting/headline-templates/retry.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAqB;IACrD,OAAO;QACL,yEAAyE;QACzE,yEAAyE;QACzE,yCAAyC;QACzC,OAAO,OAAO,CAAC;IACjB,CAAC;CACF,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../../src/reporting/headline-templates/review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAKhE,eAAO,MAAM,sBAAsB,EAAE,gBAuCpC,CAAC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
import { isNotApplicable } from '../not-applicable.js';
|
|
2
|
-
import { countHighOrCritical, parseNarrativeFindings } from '../severity.js';
|
|
3
|
-
export const reviewHeadlineTemplate = {
|
|
4
|
-
compose({ report, status, taskBrief, runResult, task }) {
|
|
5
|
-
const r = report;
|
|
6
|
-
const reportInapplicable = !r || isNotApplicable(r);
|
|
7
|
-
// Source priority (v4.5.2+):
|
|
8
|
-
// 1. report.findings (structured — when the worker emitted proper JSON
|
|
9
|
-
// matching the per-route report schema)
|
|
10
|
-
// 2. parseNarrativeFindings(runResult.output) (recover from the
|
|
11
|
-
// implementer's `## Finding N:` blocks when no structured report)
|
|
12
|
-
const reportFindings = !reportInapplicable && Array.isArray(r?.findings) ? r.findings : [];
|
|
13
|
-
let findings = reportFindings.length > 0
|
|
14
|
-
? reportFindings
|
|
15
|
-
: [];
|
|
16
|
-
if (findings.length === 0 && typeof runResult?.output === 'string') {
|
|
17
|
-
const narrative = parseNarrativeFindings(runResult.output);
|
|
18
|
-
if (narrative.length > 0)
|
|
19
|
-
findings = narrative;
|
|
20
|
-
}
|
|
21
|
-
const blocking = countHighOrCritical(findings);
|
|
22
|
-
const path = (!reportInapplicable && typeof r?.filePath === 'string' ? r.filePath : '')
|
|
23
|
-
|| task?.filePaths?.[0]
|
|
24
|
-
|| '';
|
|
25
|
-
// Mirror audit's gap-A fix: only collapse to "review completed"
|
|
26
|
-
// when we have no path AND no findings. With a path, always emit
|
|
27
|
-
// the structured form so a clean review still names the file:
|
|
28
|
-
// [ok] review packages/foo.ts: 0 findings (0 blocking)
|
|
29
|
-
// Previously this branch fell back to `${taskBrief}` which the
|
|
30
|
-
// brief compiler reduces to the route name, producing the
|
|
31
|
-
// operator-useless headline "[ok] review: review".
|
|
32
|
-
if (findings.length === 0 && !path) {
|
|
33
|
-
return `[${status}] review completed`;
|
|
34
|
-
}
|
|
35
|
-
return `[${status}] review ${path}: ${findings.length} findings (${blocking} blocking)`;
|
|
36
|
-
},
|
|
37
|
-
};
|
|
38
|
-
//# sourceMappingURL=review.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../../src/reporting/headline-templates/review.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,MAAM,CAAC,MAAM,sBAAsB,GAAqB;IACtD,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE;QACpD,MAAM,CAAC,GAAG,MAAkD,CAAC;QAC7D,MAAM,kBAAkB,GAAG,CAAC,CAAC,IAAI,eAAe,CAAC,CAAC,CAAC,CAAC;QAEpD,6BAA6B;QAC7B,yEAAyE;QACzE,6CAA6C;QAC7C,kEAAkE;QAClE,uEAAuE;QACvE,MAAM,cAAc,GAAG,CAAC,kBAAkB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5F,IAAI,QAAQ,GACV,cAAc,CAAC,MAAM,GAAG,CAAC;YACvB,CAAC,CAAE,cAAgD;YACnD,CAAC,CAAC,EAAE,CAAC;QACT,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,OAAO,SAAS,EAAE,MAAM,KAAK,QAAQ,EAAE,CAAC;YACnE,MAAM,SAAS,GAAG,sBAAsB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC3D,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC;gBAAE,QAAQ,GAAG,SAAS,CAAC;QACjD,CAAC;QAED,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC/C,MAAM,IAAI,GACR,CAAC,CAAC,kBAAkB,IAAI,OAAO,CAAC,EAAE,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;eACvE,IAA6C,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC;eAC9D,EAAE,CAAC;QAER,gEAAgE;QAChE,iEAAiE;QACjE,8DAA8D;QAC9D,yDAAyD;QACzD,+DAA+D;QAC/D,0DAA0D;QAC1D,mDAAmD;QACnD,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,OAAO,IAAI,MAAM,oBAAoB,CAAC;QACxC,CAAC;QAED,OAAO,IAAI,MAAM,YAAY,IAAI,KAAK,QAAQ,CAAC,MAAM,cAAc,QAAQ,YAAY,CAAC;IAC1F,CAAC;CACF,CAAC"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import type { ReportSchema } from '../structured-report-parser.js';
|
|
2
|
-
export interface AuditReport {
|
|
3
|
-
documentPath: string;
|
|
4
|
-
findings: Array<{
|
|
5
|
-
severity: 'low' | 'medium' | 'high';
|
|
6
|
-
category: string;
|
|
7
|
-
message: string;
|
|
8
|
-
evidenceQuote: string;
|
|
9
|
-
annotatorConfidence: number;
|
|
10
|
-
}>;
|
|
11
|
-
}
|
|
12
|
-
export declare const auditReportSchema: ReportSchema<AuditReport>;
|
|
13
|
-
//# sourceMappingURL=audit-report.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audit-report.d.ts","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/audit-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,MAAM,WAAW,WAAW;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,KAAK,CAAC;QACd,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACpC,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,aAAa,EAAE,MAAM,CAAC;QACtB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAMvD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"audit-report.js","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/audit-report.ts"],"names":[],"mappings":"AAaA,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,KAAK,CAAC,IAAY;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;CACF,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { ReportSchema } from '../structured-report-parser.js';
|
|
2
|
-
export interface RetryReport {
|
|
3
|
-
retriedTaskIndex: number;
|
|
4
|
-
originalTaskIndex: number;
|
|
5
|
-
inheritedToolCategory: string;
|
|
6
|
-
}
|
|
7
|
-
export declare const retryReportSchema: ReportSchema<RetryReport>;
|
|
8
|
-
//# sourceMappingURL=retry-report.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retry-report.d.ts","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/retry-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAKnE,MAAM,WAAW,WAAW;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,eAAO,MAAM,iBAAiB,EAAE,YAAY,CAAC,WAAW,CAMvD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"retry-report.js","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/retry-report.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,iBAAiB,GAA8B;IAC1D,KAAK,CAAC,IAAY;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;CACF,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import type { ReportSchema } from '../structured-report-parser.js';
|
|
2
|
-
export interface ReviewReport {
|
|
3
|
-
filePath: string;
|
|
4
|
-
findings: Array<{
|
|
5
|
-
severity: 'low' | 'medium' | 'high';
|
|
6
|
-
category: string;
|
|
7
|
-
message: string;
|
|
8
|
-
lineNumber?: number;
|
|
9
|
-
evidenceQuote: string;
|
|
10
|
-
annotatorConfidence: number;
|
|
11
|
-
}>;
|
|
12
|
-
}
|
|
13
|
-
export declare const reviewReportSchema: ReportSchema<ReviewReport>;
|
|
14
|
-
//# sourceMappingURL=review-report.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review-report.d.ts","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/review-report.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC;QACd,QAAQ,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;QACpC,QAAQ,EAAE,MAAM,CAAC;QACjB,OAAO,EAAE,MAAM,CAAC;QAChB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,CAAC;QACtB,mBAAmB,EAAE,MAAM,CAAC;KAC7B,CAAC,CAAC;CACJ;AAED,eAAO,MAAM,kBAAkB,EAAE,YAAY,CAAC,YAAY,CAMzD,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"review-report.js","sourceRoot":"","sources":["../../../src/reporting/report-parser-slots/review-report.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,kBAAkB,GAA+B;IAC5D,KAAK,CAAC,IAAY;QAChB,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;QACjD,IAAI,CAAC,CAAC;YAAE,MAAM,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1B,CAAC;CACF,CAAC"}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export type PlanTaskVerdict = 'EXECUTABLE' | 'PARTIAL' | 'BLOCKED';
|
|
2
|
-
export interface PlanAuditFinding {
|
|
3
|
-
taskId: string;
|
|
4
|
-
severity: 'critical' | 'high' | 'medium' | 'low';
|
|
5
|
-
}
|
|
6
|
-
export declare function derivePlanTaskVerdicts(findings: ReadonlyArray<PlanAuditFinding>): Map<string, PlanTaskVerdict>;
|
|
7
|
-
export interface PlanAuditSummary {
|
|
8
|
-
text: string;
|
|
9
|
-
executable: string[];
|
|
10
|
-
partial: string[];
|
|
11
|
-
blocked: string[];
|
|
12
|
-
nextBlocker: string | null;
|
|
13
|
-
}
|
|
14
|
-
export declare function composePlanAuditSummary(allTaskIds: ReadonlyArray<string>, verdicts: ReadonlyMap<string, PlanTaskVerdict>): PlanAuditSummary;
|
|
15
|
-
//# sourceMappingURL=plan-audit-verdict.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"plan-audit-verdict.d.ts","sourceRoot":"","sources":["../../../src/tools/audit/plan-audit-verdict.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,eAAe,GAAG,YAAY,GAAG,SAAS,GAAG,SAAS,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,KAAK,CAAC;CAClD;AAED,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,aAAa,CAAC,gBAAgB,CAAC,GACxC,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAa9B;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B;AAED,wBAAgB,uBAAuB,CACrC,UAAU,EAAE,aAAa,CAAC,MAAM,CAAC,EACjC,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,eAAe,CAAC,GAC7C,gBAAgB,CAsBlB"}
|