@zhixuan92/multi-model-agent-core 4.7.12 → 4.7.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +13 -13
- package/dist/events/task-envelope.d.ts +6 -0
- package/dist/events/task-envelope.d.ts.map +1 -1
- package/dist/events/task-envelope.js +4 -0
- package/dist/events/task-envelope.js.map +1 -1
- package/dist/events/wire-schema.d.ts +10 -10
- package/dist/index.d.ts +1 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -2
- package/dist/index.js.map +1 -1
- package/dist/lifecycle/annotate-parser.d.ts.map +1 -1
- package/dist/lifecycle/annotate-parser.js +1 -2
- package/dist/lifecycle/annotate-parser.js.map +1 -1
- package/dist/lifecycle/annotate-prompts.d.ts.map +1 -1
- package/dist/lifecycle/annotate-prompts.js +6 -3
- package/dist/lifecycle/annotate-prompts.js.map +1 -1
- package/dist/lifecycle/auto-commit.d.ts +0 -15
- package/dist/lifecycle/auto-commit.d.ts.map +1 -1
- package/dist/lifecycle/auto-commit.js +0 -37
- package/dist/lifecycle/auto-commit.js.map +1 -1
- package/dist/lifecycle/derive-completion.d.ts +0 -1
- package/dist/lifecycle/derive-completion.d.ts.map +1 -1
- package/dist/lifecycle/derive-completion.js +3 -4
- package/dist/lifecycle/derive-completion.js.map +1 -1
- package/dist/lifecycle/executor-output-types.d.ts +2 -0
- package/dist/lifecycle/executor-output-types.d.ts.map +1 -1
- package/dist/lifecycle/handlers/annotate-stage.d.ts.map +1 -1
- package/dist/lifecycle/handlers/annotate-stage.js +15 -6
- package/dist/lifecycle/handlers/annotate-stage.js.map +1 -1
- package/dist/lifecycle/handlers/enrich-runtime-result.d.ts.map +1 -1
- package/dist/lifecycle/handlers/enrich-runtime-result.js +7 -15
- package/dist/lifecycle/handlers/enrich-runtime-result.js.map +1 -1
- package/dist/lifecycle/handlers/git-commit-handler.d.ts.map +1 -1
- package/dist/lifecycle/handlers/git-commit-handler.js +100 -70
- package/dist/lifecycle/handlers/git-commit-handler.js.map +1 -1
- package/dist/lifecycle/handlers/implement-stage.d.ts.map +1 -1
- package/dist/lifecycle/handlers/implement-stage.js +6 -1
- package/dist/lifecycle/handlers/implement-stage.js.map +1 -1
- package/dist/lifecycle/handlers/rework-stage.d.ts.map +1 -1
- package/dist/lifecycle/handlers/rework-stage.js +3 -2
- package/dist/lifecycle/handlers/rework-stage.js.map +1 -1
- package/dist/lifecycle/handlers/terminal-handlers.d.ts.map +1 -1
- package/dist/lifecycle/handlers/terminal-handlers.js +16 -90
- package/dist/lifecycle/handlers/terminal-handlers.js.map +1 -1
- package/dist/lifecycle/lifecycle-context.d.ts +1 -40
- package/dist/lifecycle/lifecycle-context.d.ts.map +1 -1
- package/dist/lifecycle/lifecycle-driver.d.ts.map +1 -1
- package/dist/lifecycle/lifecycle-driver.js +1 -32
- package/dist/lifecycle/lifecycle-driver.js.map +1 -1
- 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/real-diff.d.ts.map +1 -1
- package/dist/lifecycle/real-diff.js +4 -1
- package/dist/lifecycle/real-diff.js.map +1 -1
- package/dist/lifecycle/repo-commit-lock.d.ts +20 -0
- package/dist/lifecycle/repo-commit-lock.d.ts.map +1 -0
- package/dist/lifecycle/repo-commit-lock.js +40 -0
- package/dist/lifecycle/repo-commit-lock.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/stage-io.d.ts +1 -0
- package/dist/lifecycle/stage-io.d.ts.map +1 -1
- package/dist/lifecycle/stage-io.js.map +1 -1
- package/dist/lifecycle/stage-plan-builder.d.ts.map +1 -1
- package/dist/lifecycle/stage-plan-builder.js +10 -6
- package/dist/lifecycle/stage-plan-builder.js.map +1 -1
- package/dist/lifecycle/stage-plan-types.d.ts +17 -13
- package/dist/lifecycle/stage-plan-types.d.ts.map +1 -1
- package/dist/lifecycle/stage-plan-types.js +27 -1
- package/dist/lifecycle/stage-plan-types.js.map +1 -1
- package/dist/lifecycle/stage-progression.d.ts.map +1 -1
- package/dist/lifecycle/stage-progression.js +0 -1
- package/dist/lifecycle/stage-progression.js.map +1 -1
- package/dist/lifecycle/task-executor.d.ts +0 -23
- package/dist/lifecycle/task-executor.d.ts.map +1 -1
- package/dist/lifecycle/task-executor.js +26 -67
- package/dist/lifecycle/task-executor.js.map +1 -1
- package/dist/lifecycle/task-runner.d.ts +8 -53
- package/dist/lifecycle/task-runner.d.ts.map +1 -1
- package/dist/lifecycle/task-runner.js +7 -69
- package/dist/lifecycle/task-runner.js.map +1 -1
- package/dist/lifecycle/tool-config-types.d.ts +6 -9
- package/dist/lifecycle/tool-config-types.d.ts.map +1 -1
- package/dist/providers/runner-types.d.ts +0 -5
- package/dist/providers/runner-types.d.ts.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/stores/batch-registry.d.ts +0 -18
- package/dist/stores/batch-registry.d.ts.map +1 -1
- package/dist/stores/batch-registry.js +0 -12
- package/dist/stores/batch-registry.js.map +1 -1
- 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 +13 -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 +12 -72
- 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 +6 -2
- package/dist/tools/delegate/schema.d.ts.map +1 -1
- package/dist/tools/delegate/schema.js +3 -2
- 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 +3 -1
- 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 +6 -2
- 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 +4 -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/register-context-block/tool-config.d.ts.map +1 -1
- package/dist/tools/register-context-block/tool-config.js +2 -0
- package/dist/tools/register-context-block/tool-config.js.map +1 -1
- 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.d.ts.map +1 -1
- package/dist/tools/research/tool-config.js +4 -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.d.ts.map +1 -1
- package/dist/tools/retry/tool-config.js +6 -5
- 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 +13 -81
- package/dist/tools/review/tool-config.js.map +1 -1
- package/dist/types/enums.d.ts +1 -1
- package/dist/types/task-spec.d.ts +12 -11
- package/dist/types/task-spec.d.ts.map +1 -1
- package/package.json +1 -1
- package/dist/lifecycle/fallback-report.d.ts +0 -5
- package/dist/lifecycle/fallback-report.d.ts.map +0 -1
- package/dist/lifecycle/fallback-report.js +0 -33
- package/dist/lifecycle/fallback-report.js.map +0 -1
- package/dist/lifecycle/handlers/commit-stage.d.ts +0 -16
- package/dist/lifecycle/handlers/commit-stage.d.ts.map +0 -1
- package/dist/lifecycle/handlers/commit-stage.js +0 -52
- package/dist/lifecycle/handlers/commit-stage.js.map +0 -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/lifecycle/repo-hygiene.d.ts +0 -14
- package/dist/lifecycle/repo-hygiene.d.ts.map +0 -1
- package/dist/lifecycle/repo-hygiene.js +0 -74
- package/dist/lifecycle/repo-hygiene.js.map +0 -1
- package/dist/lifecycle/task-completion-summary.d.ts +0 -23
- package/dist/lifecycle/task-completion-summary.d.ts.map +0 -1
- package/dist/lifecycle/task-completion-summary.js +0 -83
- package/dist/lifecycle/task-completion-summary.js.map +0 -1
- package/dist/lifecycle/task-grouping.d.ts +0 -19
- package/dist/lifecycle/task-grouping.d.ts.map +0 -1
- package/dist/lifecycle/task-grouping.js +0 -48
- package/dist/lifecycle/task-grouping.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,74 +0,0 @@
|
|
|
1
|
-
import { spawn } from 'node:child_process';
|
|
2
|
-
/**
|
|
3
|
-
* Returns the list of porcelain-reported dirty file paths in cwd, or []
|
|
4
|
-
* on any failure (timeout, spawn error, non-git repo). Never throws.
|
|
5
|
-
*/
|
|
6
|
-
export async function getDirtyFiles(cwd, opts = {}) {
|
|
7
|
-
const timeoutMs = opts.timeoutMs ?? 5000;
|
|
8
|
-
return new Promise((resolve) => {
|
|
9
|
-
let settled = false;
|
|
10
|
-
const done = (v) => { if (!settled) {
|
|
11
|
-
settled = true;
|
|
12
|
-
resolve(v);
|
|
13
|
-
} };
|
|
14
|
-
let child;
|
|
15
|
-
try {
|
|
16
|
-
child = spawn('git', ['-C', cwd, 'status', '--porcelain'], {
|
|
17
|
-
stdio: ['ignore', 'pipe', 'pipe'],
|
|
18
|
-
// windowsHide: suppress the console window Windows opens per spawned
|
|
19
|
-
// console binary when the daemon has no attached console. No-op on POSIX.
|
|
20
|
-
windowsHide: true,
|
|
21
|
-
});
|
|
22
|
-
}
|
|
23
|
-
catch {
|
|
24
|
-
done([]);
|
|
25
|
-
return;
|
|
26
|
-
}
|
|
27
|
-
let out = '';
|
|
28
|
-
child.stdout?.on('data', (b) => { out += b.toString('utf8'); });
|
|
29
|
-
child.stderr?.on('data', () => { });
|
|
30
|
-
child.on('error', () => done([]));
|
|
31
|
-
child.on('exit', (code) => {
|
|
32
|
-
if (code !== 0) {
|
|
33
|
-
done([]);
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
const files = out.split('\n')
|
|
37
|
-
.filter(Boolean)
|
|
38
|
-
.map((l) => {
|
|
39
|
-
const path = l.substring(3);
|
|
40
|
-
if (path.startsWith('"') && path.endsWith('"')) {
|
|
41
|
-
try {
|
|
42
|
-
return JSON.parse(path);
|
|
43
|
-
}
|
|
44
|
-
catch {
|
|
45
|
-
return path;
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
return path;
|
|
49
|
-
})
|
|
50
|
-
.filter(Boolean);
|
|
51
|
-
done(files);
|
|
52
|
-
});
|
|
53
|
-
const t = setTimeout(() => { try {
|
|
54
|
-
child.kill('SIGKILL');
|
|
55
|
-
}
|
|
56
|
-
catch { } done([]); }, timeoutMs);
|
|
57
|
-
child.on('exit', () => clearTimeout(t));
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
/**
|
|
61
|
-
* Builds the [REPO HYGIENE] advisory string. Sorts files lexicographically;
|
|
62
|
-
* lists the first 20 and appends ", … (+N more)" when N > 0.
|
|
63
|
-
*/
|
|
64
|
-
export function formatHygieneAdvisory(files) {
|
|
65
|
-
const sorted = [...files].sort();
|
|
66
|
-
const shown = sorted.slice(0, 20);
|
|
67
|
-
const remaining = sorted.length - shown.length;
|
|
68
|
-
const list = shown.join(', ') + (remaining > 0 ? `, … (+${remaining} more)` : '');
|
|
69
|
-
return ('[REPO HYGIENE] The previous task in this serial group left uncommitted ' +
|
|
70
|
-
`changes in the following files: ${list}. Review these before editing ` +
|
|
71
|
-
'the same paths; your `getRealFilesChanged` will attribute them to your ' +
|
|
72
|
-
'task if you commit.\n\n');
|
|
73
|
-
}
|
|
74
|
-
//# sourceMappingURL=repo-hygiene.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"repo-hygiene.js","sourceRoot":"","sources":["../../src/lifecycle/repo-hygiene.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import type { RuntimeRunResult } from '../types.js';
|
|
2
|
-
export interface TaskCompletionSummary {
|
|
3
|
-
batchId: string;
|
|
4
|
-
taskIndexZero: number;
|
|
5
|
-
totalTasks: number;
|
|
6
|
-
terminalStatus: string;
|
|
7
|
-
totalDurationMs: number;
|
|
8
|
-
totalCostUSD: number | null;
|
|
9
|
-
totalInputTokens: number | null;
|
|
10
|
-
totalOutputTokens: number | null;
|
|
11
|
-
turns: number;
|
|
12
|
-
filesWrittenCount: number;
|
|
13
|
-
specReviewVerdict: string;
|
|
14
|
-
qualityReviewVerdict: string;
|
|
15
|
-
}
|
|
16
|
-
export declare function computeTaskCompletionSummary(args: {
|
|
17
|
-
runResult: RuntimeRunResult;
|
|
18
|
-
taskIndexZero: number;
|
|
19
|
-
totalTasks: number;
|
|
20
|
-
batchId: string;
|
|
21
|
-
}): TaskCompletionSummary;
|
|
22
|
-
export declare function formatTaskDoneLine(s: TaskCompletionSummary): string;
|
|
23
|
-
//# sourceMappingURL=task-completion-summary.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-completion-summary.d.ts","sourceRoot":"","sources":["../../src/lifecycle/task-completion-summary.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AASpD,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAwBD,wBAAgB,4BAA4B,CAAC,IAAI,EAAE;IACjD,SAAS,EAAE,gBAAgB,CAAC;IAC5B,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,GAAG,qBAAqB,CA+CxB;AAED,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,qBAAqB,GAAG,MAAM,CAMnE"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { clampStageCost, clampTaskCost, clampInputTokens, clampOutputTokens, clampDurationMsTotal, } from '../events/to-wire-record.js';
|
|
2
|
-
// Derive each total INDEPENDENTLY from stage stats, mirroring event-builder
|
|
3
|
-
// exactly. Top-level totals must NEVER depend on runResult.usage — that field
|
|
4
|
-
// only carries the last implementer attempt and would lose reviewer + earlier
|
|
5
|
-
// rework cost (the same Gap 2 bug we already fixed in event-builder).
|
|
6
|
-
//
|
|
7
|
-
// Clamping is identical to event-builder via shared helpers from
|
|
8
|
-
// packages/core/src/telemetry/clamp.ts — guarantees the summary line and
|
|
9
|
-
// the V3 event never disagree on cost/token/duration values.
|
|
10
|
-
function deriveTerminalStatus(rr) {
|
|
11
|
-
const tr = rr.terminationReason;
|
|
12
|
-
if (!tr || typeof tr !== 'object')
|
|
13
|
-
return 'incomplete';
|
|
14
|
-
switch (tr.cause) {
|
|
15
|
-
case 'finished': return 'ok';
|
|
16
|
-
case 'incomplete':
|
|
17
|
-
case 'degenerate_exhausted': return 'incomplete';
|
|
18
|
-
case 'timeout': return 'timeout';
|
|
19
|
-
case 'brief_too_vague': return 'brief_too_vague';
|
|
20
|
-
case 'error': return 'error';
|
|
21
|
-
default: return 'incomplete';
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
export function computeTaskCompletionSummary(args) {
|
|
25
|
-
const { runResult, taskIndexZero, totalTasks, batchId } = args;
|
|
26
|
-
const stageEntries = Object.values(runResult.stageStats ?? {}).filter((s) => s.entered);
|
|
27
|
-
// Sum across entered stages with per-stage clamping, then apply
|
|
28
|
-
// top-level clamping — exactly mirroring the two-level clamping in
|
|
29
|
-
// event-builder.ts (extractStageData + buildTaskCompletedEvent).
|
|
30
|
-
const sumFinite = (key, clampStage, clampTotal) => {
|
|
31
|
-
let total = 0;
|
|
32
|
-
let anyFinite = false;
|
|
33
|
-
for (const s of stageEntries) {
|
|
34
|
-
const v = s[key];
|
|
35
|
-
if (typeof v === 'number' && Number.isFinite(v)) {
|
|
36
|
-
total += clampStage(v);
|
|
37
|
-
anyFinite = true;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
return anyFinite ? clampTotal(total) : null;
|
|
41
|
-
};
|
|
42
|
-
const totalDurationMs = clampDurationMsTotal(stageEntries.reduce((s, st) => {
|
|
43
|
-
const v = st['durationMs'];
|
|
44
|
-
return s + (typeof v === 'number' && Number.isFinite(v) ? v : 0);
|
|
45
|
-
}, 0));
|
|
46
|
-
return {
|
|
47
|
-
batchId,
|
|
48
|
-
taskIndexZero,
|
|
49
|
-
totalTasks,
|
|
50
|
-
terminalStatus: deriveTerminalStatus(runResult),
|
|
51
|
-
totalDurationMs,
|
|
52
|
-
totalCostUSD: sumFinite('costUSD', clampStageCost, clampTaskCost),
|
|
53
|
-
totalInputTokens: sumFinite('inputTokens', clampInputTokens, clampInputTokens),
|
|
54
|
-
totalOutputTokens: sumFinite('outputTokens', clampOutputTokens, clampOutputTokens),
|
|
55
|
-
turns: runResult.turns ?? 0,
|
|
56
|
-
filesWrittenCount: runResult.filesWritten?.length ?? 0,
|
|
57
|
-
specReviewVerdict: runResult.specReviewStatus ?? 'not_applicable',
|
|
58
|
-
qualityReviewVerdict: runResult.qualityReviewStatus ?? 'not_applicable',
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
export function formatTaskDoneLine(s) {
|
|
62
|
-
const idx = `task=${s.taskIndexZero + 1}/${s.totalTasks} taskIndex=${s.taskIndexZero}`;
|
|
63
|
-
const dur = formatDur(s.totalDurationMs);
|
|
64
|
-
const tokens = formatTokens(s.totalInputTokens, s.totalOutputTokens);
|
|
65
|
-
const cost = s.totalCostUSD === null ? '$unknown' : `$${s.totalCostUSD.toFixed(2)}`;
|
|
66
|
-
return `[mmagent] batch=${s.batchId.slice(0, 8)} ${idx} done: ${s.terminalStatus} in ${dur}, ${tokens}, ${cost}, ${s.turns} turns, ${s.filesWrittenCount} file(s) written, reviews [spec=${s.specReviewVerdict}, quality=${s.qualityReviewVerdict}]`;
|
|
67
|
-
}
|
|
68
|
-
function formatDur(ms) {
|
|
69
|
-
if (ms < 60_000)
|
|
70
|
-
return `${Math.round(ms / 1000)}s`;
|
|
71
|
-
const m = Math.floor(ms / 60_000);
|
|
72
|
-
const sec = Math.round((ms % 60_000) / 1000);
|
|
73
|
-
return `${m}m ${sec}s`;
|
|
74
|
-
}
|
|
75
|
-
function formatTokens(input, output) {
|
|
76
|
-
if (input === null && output === null)
|
|
77
|
-
return 'tokens=unknown';
|
|
78
|
-
const total = (input ?? 0) + (output ?? 0);
|
|
79
|
-
if (total < 1000)
|
|
80
|
-
return `${total} tokens`;
|
|
81
|
-
return `${Math.ceil(total / 1000)}k tokens`;
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=task-completion-summary.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-completion-summary.js","sourceRoot":"","sources":["../../src/lifecycle/task-completion-summary.ts"],"names":[],"mappings":"AACA,OAAO,EACL,cAAc,EACd,aAAa,EACb,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,6BAA6B,CAAC;AAiBrC,4EAA4E;AAC5E,8EAA8E;AAC9E,8EAA8E;AAC9E,sEAAsE;AACtE,EAAE;AACF,iEAAiE;AACjE,yEAAyE;AACzE,6DAA6D;AAC7D,SAAS,oBAAoB,CAAC,EAAoB;IAChD,MAAM,EAAE,GAAG,EAAE,CAAC,iBAAiB,CAAC;IAChC,IAAI,CAAC,EAAE,IAAI,OAAO,EAAE,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC;IACvD,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC;QACjB,KAAK,UAAU,CAAC,CAAC,OAAO,IAAI,CAAC;QAC7B,KAAK,YAAY,CAAC;QAClB,KAAK,sBAAsB,CAAC,CAAC,OAAO,YAAY,CAAC;QACjD,KAAK,SAAS,CAAC,CAAC,OAAO,SAAS,CAAC;QACjC,KAAK,iBAAiB,CAAC,CAAC,OAAO,iBAAiB,CAAC;QACjD,KAAK,OAAO,CAAC,CAAC,OAAO,OAAO,CAAC;QAC7B,OAAO,CAAC,CAAC,OAAO,YAAY,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,4BAA4B,CAAC,IAK5C;IACC,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,UAAU,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAC/D,MAAM,YAAY,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,MAAM,CACnE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,OAAO,CACjB,CAAC;IAEF,gEAAgE;IAChE,mEAAmE;IACnE,iEAAiE;IACjE,MAAM,SAAS,GAAG,CAChB,GAAW,EACX,UAAiC,EACjC,UAAiC,EAClB,EAAE;QACjB,IAAI,KAAK,GAAG,CAAC,CAAC;QACd,IAAI,SAAS,GAAG,KAAK,CAAC;QACtB,KAAK,MAAM,CAAC,IAAI,YAAY,EAAE,CAAC;YAC7B,MAAM,CAAC,GAAI,CAAwC,CAAC,GAAG,CAAC,CAAC;YACzD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChD,KAAK,IAAI,UAAU,CAAC,CAAC,CAAC,CAAC;gBACvB,SAAS,GAAG,IAAI,CAAC;YACnB,CAAC;QACH,CAAC;QACD,OAAO,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAC9C,CAAC,CAAC;IAEF,MAAM,eAAe,GAAG,oBAAoB,CAC1C,YAAY,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;QAC5B,MAAM,CAAC,GAAI,EAAyC,CAAC,YAAY,CAAC,CAAC;QACnE,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,EAAE,CAAC,CAAC,CACN,CAAC;IAEF,OAAO;QACL,OAAO;QACP,aAAa;QACb,UAAU;QACV,cAAc,EAAE,oBAAoB,CAAC,SAAS,CAAC;QAC/C,eAAe;QACf,YAAY,EAAE,SAAS,CAAC,SAAS,EAAE,cAAc,EAAE,aAAa,CAAC;QACjE,gBAAgB,EAAE,SAAS,CAAC,aAAa,EAAE,gBAAgB,EAAE,gBAAgB,CAAC;QAC9E,iBAAiB,EAAE,SAAS,CAAC,cAAc,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;QAClF,KAAK,EAAE,SAAS,CAAC,KAAK,IAAI,CAAC;QAC3B,iBAAiB,EAAE,SAAS,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;QACtD,iBAAiB,EAAG,SAAS,CAAC,gBAA2B,IAAI,gBAAgB;QAC7E,oBAAoB,EAAG,SAAS,CAAC,mBAA8B,IAAI,gBAAgB;KACpF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,CAAwB;IACzD,MAAM,GAAG,GAAG,QAAQ,CAAC,CAAC,aAAa,GAAG,CAAC,IAAI,CAAC,CAAC,UAAU,cAAc,CAAC,CAAC,aAAa,EAAE,CAAC;IACvF,MAAM,GAAG,GAAG,SAAS,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC;IACzC,MAAM,MAAM,GAAG,YAAY,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACrE,MAAM,IAAI,GAAG,CAAC,CAAC,YAAY,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;IACpF,OAAO,mBAAmB,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,UAAU,CAAC,CAAC,cAAc,OAAO,GAAG,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,CAAC,KAAK,WAAW,CAAC,CAAC,iBAAiB,mCAAmC,CAAC,CAAC,iBAAiB,aAAa,CAAC,CAAC,oBAAoB,GAAG,CAAC;AACvP,CAAC;AAED,SAAS,SAAS,CAAC,EAAU;IAC3B,IAAI,EAAE,GAAG,MAAM;QAAE,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC;IACpD,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC7C,OAAO,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC;AACzB,CAAC;AAED,SAAS,YAAY,CAAC,KAAoB,EAAE,MAAqB;IAC/D,IAAI,KAAK,KAAK,IAAI,IAAI,MAAM,KAAK,IAAI;QAAE,OAAO,gBAAgB,CAAC;IAC/D,MAAM,KAAK,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;IAC3C,IAAI,KAAK,GAAG,IAAI;QAAE,OAAO,GAAG,KAAK,SAAS,CAAC;IAC3C,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;AAC9C,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { TaskSpec } from '../types/task-spec.js';
|
|
2
|
-
export interface TaskGroup {
|
|
3
|
-
key: string;
|
|
4
|
-
tasks: Array<{
|
|
5
|
-
task: TaskSpec;
|
|
6
|
-
originalIndex: number;
|
|
7
|
-
}>;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* Buckets tasks by (git toplevel of cwd) ?? realpath(cwd).
|
|
11
|
-
* Tasks in the same bucket share a write surface and must run serially.
|
|
12
|
-
*
|
|
13
|
-
* - Memoizes resolveGitToplevel per unique cwd.
|
|
14
|
-
* - Group order follows the smallest originalIndex in each group, so the
|
|
15
|
-
* group containing tasks[0] is first.
|
|
16
|
-
* - Within each group, tasks appear in caller input order.
|
|
17
|
-
*/
|
|
18
|
-
export declare function groupTasksByRepo(tasks: TaskSpec[]): Promise<TaskGroup[]>;
|
|
19
|
-
//# sourceMappingURL=task-grouping.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-grouping.d.ts","sourceRoot":"","sources":["../../src/lifecycle/task-grouping.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAGtD,MAAM,WAAW,SAAS;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD;AAED;;;;;;;;GAQG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAuC9E"}
|
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import { realpathSync } from 'node:fs';
|
|
2
|
-
import { resolveGitToplevel } from './git-toplevel.js';
|
|
3
|
-
/**
|
|
4
|
-
* Buckets tasks by (git toplevel of cwd) ?? realpath(cwd).
|
|
5
|
-
* Tasks in the same bucket share a write surface and must run serially.
|
|
6
|
-
*
|
|
7
|
-
* - Memoizes resolveGitToplevel per unique cwd.
|
|
8
|
-
* - Group order follows the smallest originalIndex in each group, so the
|
|
9
|
-
* group containing tasks[0] is first.
|
|
10
|
-
* - Within each group, tasks appear in caller input order.
|
|
11
|
-
*/
|
|
12
|
-
export async function groupTasksByRepo(tasks) {
|
|
13
|
-
const cwds = Array.from(new Set(tasks.map((t) => t.cwd ?? process.cwd())));
|
|
14
|
-
const toplevelByCwd = new Map();
|
|
15
|
-
await Promise.all(cwds.map(async (c) => {
|
|
16
|
-
toplevelByCwd.set(c, await resolveGitToplevel(c));
|
|
17
|
-
}));
|
|
18
|
-
const realpathByCwd = new Map();
|
|
19
|
-
const realpathOf = (cwd) => {
|
|
20
|
-
if (realpathByCwd.has(cwd))
|
|
21
|
-
return realpathByCwd.get(cwd);
|
|
22
|
-
let resolved;
|
|
23
|
-
try {
|
|
24
|
-
resolved = realpathSync(cwd);
|
|
25
|
-
}
|
|
26
|
-
catch {
|
|
27
|
-
resolved = cwd; // verbatim fallback
|
|
28
|
-
}
|
|
29
|
-
realpathByCwd.set(cwd, resolved);
|
|
30
|
-
return resolved;
|
|
31
|
-
};
|
|
32
|
-
const byKey = new Map();
|
|
33
|
-
const keyOrder = []; // tracks first appearance for stable group order
|
|
34
|
-
tasks.forEach((task, originalIndex) => {
|
|
35
|
-
const cwd = task.cwd ?? process.cwd();
|
|
36
|
-
const toplevel = toplevelByCwd.get(cwd);
|
|
37
|
-
const key = toplevel ?? realpathOf(cwd);
|
|
38
|
-
let group = byKey.get(key);
|
|
39
|
-
if (!group) {
|
|
40
|
-
group = { key, tasks: [] };
|
|
41
|
-
byKey.set(key, group);
|
|
42
|
-
keyOrder.push(key);
|
|
43
|
-
}
|
|
44
|
-
group.tasks.push({ task, originalIndex });
|
|
45
|
-
});
|
|
46
|
-
return keyOrder.map((k) => byKey.get(k));
|
|
47
|
-
}
|
|
48
|
-
//# sourceMappingURL=task-grouping.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"task-grouping.js","sourceRoot":"","sources":["../../src/lifecycle/task-grouping.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAOvD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CAAC,KAAiB;IACtD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;IAC3E,MAAM,aAAa,GAAG,IAAI,GAAG,EAAyB,CAAC;IACvD,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;QACnB,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,MAAM,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,aAAa,GAAG,IAAI,GAAG,EAAkB,CAAC;IAChD,MAAM,UAAU,GAAG,CAAC,GAAW,EAAU,EAAE;QACzC,IAAI,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,OAAO,aAAa,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;QAC3D,IAAI,QAAgB,CAAC;QACrB,IAAI,CAAC;YACH,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;QAC/B,CAAC;QAAC,MAAM,CAAC;YACP,QAAQ,GAAG,GAAG,CAAC,CAAC,oBAAoB;QACtC,CAAC;QACD,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACjC,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAC;IAEF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC3C,MAAM,QAAQ,GAAa,EAAE,CAAC,CAAC,iDAAiD;IAEhF,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,aAAa,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QACtC,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,GAAG,GAAG,QAAQ,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC;QACxC,IAAI,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,KAAK,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC;YAC3B,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;YACtB,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,OAAO,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAE,CAAC,CAAC;AAC5C,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"}
|