@zhixuan92/multi-model-agent-core 2.2.0 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/heartbeat.d.ts +18 -0
- package/dist/heartbeat.d.ts.map +1 -0
- package/dist/heartbeat.js +47 -0
- package/dist/heartbeat.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/readiness/readiness.d.ts.map +1 -1
- package/dist/readiness/readiness.js +2 -10
- package/dist/readiness/readiness.js.map +1 -1
- package/dist/reporting/structured-report.d.ts +0 -1
- package/dist/reporting/structured-report.d.ts.map +1 -1
- package/dist/reporting/structured-report.js +0 -20
- package/dist/reporting/structured-report.js.map +1 -1
- package/dist/review/aggregate-result.d.ts.map +1 -1
- package/dist/review/aggregate-result.js +0 -1
- package/dist/review/aggregate-result.js.map +1 -1
- package/dist/review/quality-reviewer.d.ts +2 -1
- package/dist/review/quality-reviewer.d.ts.map +1 -1
- package/dist/review/quality-reviewer.js +5 -5
- package/dist/review/quality-reviewer.js.map +1 -1
- package/dist/review/reviewer-prompt.d.ts +1 -1
- package/dist/review/reviewer-prompt.d.ts.map +1 -1
- package/dist/review/reviewer-prompt.js +2 -2
- package/dist/review/reviewer-prompt.js.map +1 -1
- package/dist/review/spec-reviewer.d.ts +2 -1
- package/dist/review/spec-reviewer.d.ts.map +1 -1
- package/dist/review/spec-reviewer.js +4 -4
- package/dist/review/spec-reviewer.js.map +1 -1
- package/dist/run-tasks.d.ts.map +1 -1
- package/dist/run-tasks.js +214 -163
- package/dist/run-tasks.js.map +1 -1
- package/dist/types.d.ts +21 -7
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js.map +1 -1
- package/package.json +5 -9
- package/dist/readiness/normalization-budget.d.ts +0 -2
- package/dist/readiness/normalization-budget.d.ts.map +0 -1
- package/dist/readiness/normalization-budget.js +0 -9
- package/dist/readiness/normalization-budget.js.map +0 -1
- package/dist/readiness/normalize-brief.d.ts +0 -17
- package/dist/readiness/normalize-brief.d.ts.map +0 -1
- package/dist/readiness/normalize-brief.js +0 -124
- package/dist/readiness/normalize-brief.js.map +0 -1
package/README.md
CHANGED
|
@@ -48,7 +48,8 @@ for (const r of results) {
|
|
|
48
48
|
| `./routing/resolve-agent` | `resolveAgent` — resolves agent type to provider |
|
|
49
49
|
| `./routing/model-profiles` | Model cost/tier profiles |
|
|
50
50
|
| `./provider` | `createProvider` factory |
|
|
51
|
-
| `./run-tasks` | `runTasks` parallel dispatcher |
|
|
51
|
+
| `./run-tasks` | `runTasks` parallel dispatcher, `RunTasksOptions` |
|
|
52
|
+
| `./heartbeat` | `HeartbeatTimer` — periodic progress heartbeat emitter |
|
|
52
53
|
| `./types` | All shared types |
|
|
53
54
|
| `./intake/pipeline` | `runIntakePipeline` — compile → infer → classify → resolve |
|
|
54
55
|
| `./intake/types` | `DraftTask`, `Source`, `IntakeResult`, `ClarificationEntry` |
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { ProgressEvent } from './types.js';
|
|
2
|
+
export interface HeartbeatTimerOptions {
|
|
3
|
+
intervalMs?: number;
|
|
4
|
+
}
|
|
5
|
+
export declare class HeartbeatTimer {
|
|
6
|
+
private readonly onProgress;
|
|
7
|
+
private readonly intervalMs;
|
|
8
|
+
private timer;
|
|
9
|
+
private startTime;
|
|
10
|
+
private turns;
|
|
11
|
+
private phase;
|
|
12
|
+
constructor(onProgress: (event: ProgressEvent) => void, options?: HeartbeatTimerOptions);
|
|
13
|
+
start(phase?: 'implementing' | 'reviewing'): void;
|
|
14
|
+
stop(): void;
|
|
15
|
+
setPhase(phase: 'implementing' | 'reviewing'): void;
|
|
16
|
+
incrementTurns(): void;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=heartbeat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heartbeat.d.ts","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAUhD,MAAM,WAAW,qBAAqB;IACpC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAiC;IAC5D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,KAAK,CAA+C;IAC5D,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,KAAK,CAAK;IAClB,OAAO,CAAC,KAAK,CAAgD;gBAG3D,UAAU,EAAE,CAAC,KAAK,EAAE,aAAa,KAAK,IAAI,EAC1C,OAAO,GAAE,qBAA0B;IAMrC,KAAK,CAAC,KAAK,GAAE,cAAc,GAAG,WAA4B,GAAG,IAAI;IAejE,IAAI,IAAI,IAAI;IAOZ,QAAQ,CAAC,KAAK,EAAE,cAAc,GAAG,WAAW,GAAG,IAAI;IAInD,cAAc,IAAI,IAAI;CAGvB"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
function formatElapsed(ms) {
|
|
2
|
+
const rounded = Math.round(ms / 1000);
|
|
3
|
+
if (rounded < 60)
|
|
4
|
+
return `${rounded}s`;
|
|
5
|
+
const minutes = Math.floor(rounded / 60);
|
|
6
|
+
const seconds = rounded % 60;
|
|
7
|
+
return `${minutes}m ${seconds}s`;
|
|
8
|
+
}
|
|
9
|
+
export class HeartbeatTimer {
|
|
10
|
+
onProgress;
|
|
11
|
+
intervalMs;
|
|
12
|
+
timer = null;
|
|
13
|
+
startTime = 0;
|
|
14
|
+
turns = 0;
|
|
15
|
+
phase = 'implementing';
|
|
16
|
+
constructor(onProgress, options = {}) {
|
|
17
|
+
this.onProgress = onProgress;
|
|
18
|
+
this.intervalMs = options.intervalMs ?? 5000;
|
|
19
|
+
}
|
|
20
|
+
start(phase = 'implementing') {
|
|
21
|
+
this.stop();
|
|
22
|
+
this.startTime = Date.now();
|
|
23
|
+
this.turns = 0;
|
|
24
|
+
this.phase = phase;
|
|
25
|
+
this.timer = setInterval(() => {
|
|
26
|
+
this.onProgress({
|
|
27
|
+
kind: 'heartbeat',
|
|
28
|
+
elapsed: formatElapsed(Date.now() - this.startTime),
|
|
29
|
+
turnsCompleted: this.turns,
|
|
30
|
+
phase: this.phase,
|
|
31
|
+
});
|
|
32
|
+
}, this.intervalMs);
|
|
33
|
+
}
|
|
34
|
+
stop() {
|
|
35
|
+
if (this.timer !== null) {
|
|
36
|
+
clearInterval(this.timer);
|
|
37
|
+
this.timer = null;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
setPhase(phase) {
|
|
41
|
+
this.phase = phase;
|
|
42
|
+
}
|
|
43
|
+
incrementTurns() {
|
|
44
|
+
this.turns++;
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=heartbeat.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"heartbeat.js","sourceRoot":"","sources":["../src/heartbeat.ts"],"names":[],"mappings":"AAEA,SAAS,aAAa,CAAC,EAAU;IAC/B,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,OAAO,GAAG,EAAE,CAAC;IAC7B,OAAO,GAAG,OAAO,KAAK,OAAO,GAAG,CAAC;AACnC,CAAC;AAMD,MAAM,OAAO,cAAc;IACR,UAAU,CAAiC;IAC3C,UAAU,CAAS;IAC5B,KAAK,GAA0C,IAAI,CAAC;IACpD,SAAS,GAAG,CAAC,CAAC;IACd,KAAK,GAAG,CAAC,CAAC;IACV,KAAK,GAAiC,cAAc,CAAC;IAE7D,YACE,UAA0C,EAC1C,UAAiC,EAAE;QAEnC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,IAAI,IAAI,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,QAAsC,cAAc;QACxD,IAAI,CAAC,IAAI,EAAE,CAAC;QACZ,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE;YAC5B,IAAI,CAAC,UAAU,CAAC;gBACd,IAAI,EAAE,WAAW;gBACjB,OAAO,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC;gBACnD,cAAc,EAAE,IAAI,CAAC,KAAK;gBAC1B,KAAK,EAAE,IAAI,CAAC,KAAK;aAClB,CAAC,CAAC;QACL,CAAC,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;IACtB,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,KAAK,KAAK,IAAI,EAAE,CAAC;YACxB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;QACpB,CAAC;IACH,CAAC;IAED,QAAQ,CAAC,KAAmC;QAC1C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;IAED,cAAc;QACZ,IAAI,CAAC,KAAK,EAAE,CAAC;IACf,CAAC;CACF"}
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,9 @@ export type { ContextBlockStore, RegisteredBlock, InMemoryContextBlockStoreOptio
|
|
|
7
7
|
export { expandContextBlocks } from './context/expand-context-blocks.js';
|
|
8
8
|
export { createProvider } from './provider.js';
|
|
9
9
|
export { runTasks } from './run-tasks.js';
|
|
10
|
+
export type { RunTasksOptions } from './run-tasks.js';
|
|
11
|
+
export { HeartbeatTimer } from './heartbeat.js';
|
|
12
|
+
export type { HeartbeatTimerOptions } from './heartbeat.js';
|
|
10
13
|
export { evaluateReadiness, hasScopePillar, hasInputsPillar, hasDoneConditionPillar, hasOutputContractPillar, detectOutsourcedDiscovery, detectBrittleLineAnchors, detectMixedEnvironmentActions, detectConcretePath, detectNamedCodeArtifact, detectReasonableLength, } from './readiness/readiness.js';
|
|
11
14
|
export { resolveAgent } from './routing/resolve-agent.js';
|
|
12
15
|
export type { ResolvedAgent } from './routing/resolve-agent.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAGzE,YAAY,EACV,QAAQ,EACR,aAAa,EACb,SAAS,EACT,eAAe,EACf,WAAW,EACX,MAAM,EACN,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,cAAc,EACd,mBAAmB,EACnB,oBAAoB,EACpB,8BAA8B,EAC9B,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,QAAQ,EACR,UAAU,EACV,eAAe,EACf,aAAa,EACb,uBAAuB,EACvB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,sBAAsB,EAAE,MAAM,kCAAkC,CAAC;AAG1E,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,iBAAiB,EACjB,eAAe,EACf,gCAAgC,GACjC,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAGzE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAG/C,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -8,6 +8,8 @@ export { expandContextBlocks } from './context/expand-context-blocks.js';
|
|
|
8
8
|
export { createProvider } from './provider.js';
|
|
9
9
|
// Run tasks
|
|
10
10
|
export { runTasks } from './run-tasks.js';
|
|
11
|
+
// Heartbeat
|
|
12
|
+
export { HeartbeatTimer } from './heartbeat.js';
|
|
11
13
|
// Readiness
|
|
12
14
|
export { evaluateReadiness, hasScopePillar, hasInputsPillar, hasDoneConditionPillar, hasOutputContractPillar, detectOutsourcedDiscovery, detectBrittleLineAnchors, detectMixedEnvironmentActions, detectConcretePath, detectNamedCodeArtifact, detectReasonableLength, } from './readiness/readiness.js';
|
|
13
15
|
// Agent resolution
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAoCzE,iBAAiB;AACjB,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAM1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,SAAS;AACT,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,MAAM,oBAAoB,CAAC;AAoCzE,iBAAiB;AACjB,OAAO,EACL,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,kCAAkC,CAAC;AAM1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAEzE,WAAW;AACX,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,YAAY;AACZ,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,YAAY;AACZ,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAGhD,YAAY;AACZ,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,uBAAuB,EACvB,yBAAyB,EACzB,wBAAwB,EACxB,6BAA6B,EAC7B,kBAAkB,EAClB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAElC,mBAAmB;AACnB,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAErF,kBAAkB;AAClB,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AACrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAsB3D,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../src/readiness/readiness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAuB,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAgBtD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAUvD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAe9D;AAYD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,uBAAuB,CAAC,EAAE,OAAO,GAAG,OAAO,CAMlG;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMhE;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAIrE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,eAAe,
|
|
1
|
+
{"version":3,"file":"readiness.d.ts","sourceRoot":"","sources":["../../src/readiness/readiness.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAuB,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEtG,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAgBtD;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAUvD;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAe9D;AAYD,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,uBAAuB,CAAC,EAAE,OAAO,GAAG,OAAO,CAMlG;AAED,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAGjE;AAED,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAMhE;AAED,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAIrE;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE1D;AAED,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE/D;AAED,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,CAAC,EAAE,kBAAkB,GAAG,eAAe,CAyC5F"}
|
|
@@ -108,7 +108,7 @@ export function detectReasonableLength(prompt) {
|
|
|
108
108
|
return prompt.length >= 50 && prompt.length <= 500;
|
|
109
109
|
}
|
|
110
110
|
export function evaluateReadiness(task, mode) {
|
|
111
|
-
const policy = mode ?? task.briefQualityPolicy ?? '
|
|
111
|
+
const policy = mode ?? task.briefQualityPolicy ?? 'warn';
|
|
112
112
|
if (policy === 'off') {
|
|
113
113
|
return { action: 'ignored', missingPillars: [], layer2Warnings: [], layer3Hints: [], briefQualityWarnings: [] };
|
|
114
114
|
}
|
|
@@ -148,15 +148,7 @@ export function evaluateReadiness(task, mode) {
|
|
|
148
148
|
if (task.prompt.length > 500)
|
|
149
149
|
briefQualityWarnings.push('huge_brief');
|
|
150
150
|
let action = 'warn';
|
|
151
|
-
if (policy === '
|
|
152
|
-
if (missingPillars.length > 0)
|
|
153
|
-
action = 'refuse';
|
|
154
|
-
else if (layer2Warnings.length > 0)
|
|
155
|
-
action = 'normalize';
|
|
156
|
-
else
|
|
157
|
-
action = 'warn';
|
|
158
|
-
}
|
|
159
|
-
else if (policy === 'strict') {
|
|
151
|
+
if (policy === 'strict') {
|
|
160
152
|
if (missingPillars.length > 0)
|
|
161
153
|
action = 'refuse';
|
|
162
154
|
else
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../src/readiness/readiness.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"readiness.js","sourceRoot":"","sources":["../../src/readiness/readiness.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured-report.d.ts","sourceRoot":"","sources":["../../src/reporting/structured-report.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,
|
|
1
|
+
{"version":3,"file":"structured-report.d.ts","sourceRoot":"","sources":["../../src/reporting/structured-report.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,sBAAsB,QAe3B,CAAC;AAET,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,YAAY,EAAE,UAAU,EAAE,CAAC;IAC3B,cAAc,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC3D,mBAAmB,EAAE,MAAM,EAAE,CAAC;IAC9B,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,sBAAsB,CAoB5E"}
|
|
@@ -5,9 +5,6 @@ One-line summary of what was done.
|
|
|
5
5
|
## Files changed
|
|
6
6
|
List of files modified, added, or deleted.
|
|
7
7
|
|
|
8
|
-
## Normalization decisions
|
|
9
|
-
Any brief normalization decisions made during execution.
|
|
10
|
-
|
|
11
8
|
## Validations run
|
|
12
9
|
Checks performed to verify correctness (e.g., "tsc passes", "tests pass").
|
|
13
10
|
|
|
@@ -22,7 +19,6 @@ export function parseStructuredReport(output) {
|
|
|
22
19
|
return {
|
|
23
20
|
summary: null,
|
|
24
21
|
filesChanged: [],
|
|
25
|
-
normalizationDecisions: [],
|
|
26
22
|
validationsRun: [],
|
|
27
23
|
deviationsFromBrief: [],
|
|
28
24
|
unresolved: [],
|
|
@@ -32,7 +28,6 @@ export function parseStructuredReport(output) {
|
|
|
32
28
|
return {
|
|
33
29
|
summary: sections['summary']?.[0] ?? null,
|
|
34
30
|
filesChanged: parseFilesChanged(sections['files changed']),
|
|
35
|
-
normalizationDecisions: parseNormalizationDecisions(sections['normalization decisions']),
|
|
36
31
|
validationsRun: parseValidationsRun(sections['validations run']),
|
|
37
32
|
deviationsFromBrief: sections['deviations from brief'] ?? [],
|
|
38
33
|
unresolved: sections['unresolved'] ?? [],
|
|
@@ -56,13 +51,6 @@ function extractSections(output) {
|
|
|
56
51
|
}
|
|
57
52
|
return sections;
|
|
58
53
|
}
|
|
59
|
-
function parseListSection(lines) {
|
|
60
|
-
if (!lines)
|
|
61
|
-
return [];
|
|
62
|
-
return lines
|
|
63
|
-
.map(l => l.replace(/^[-*]\s*/, '').trim())
|
|
64
|
-
.filter(l => l && !l.startsWith('#'));
|
|
65
|
-
}
|
|
66
54
|
function parseFilesChanged(lines) {
|
|
67
55
|
if (!lines)
|
|
68
56
|
return [];
|
|
@@ -89,12 +77,4 @@ function parseValidationsRun(lines) {
|
|
|
89
77
|
return { command: l.slice(0, colonIdx).trim(), result: l.slice(colonIdx + 1).trim() };
|
|
90
78
|
});
|
|
91
79
|
}
|
|
92
|
-
function parseNormalizationDecisions(lines) {
|
|
93
|
-
if (!lines)
|
|
94
|
-
return [];
|
|
95
|
-
return lines
|
|
96
|
-
.map(l => l.replace(/^[-*]\s*/, '').trim())
|
|
97
|
-
.filter(l => l.includes('→'))
|
|
98
|
-
.map(l => [l]);
|
|
99
|
-
}
|
|
100
80
|
//# sourceMappingURL=structured-report.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"structured-report.js","sourceRoot":"","sources":["../../src/reporting/structured-report.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG
|
|
1
|
+
{"version":3,"file":"structured-report.js","sourceRoot":"","sources":["../../src/reporting/structured-report.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate-result.d.ts","sourceRoot":"","sources":["../../src/review/aggregate-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEhF,wBAAgB,eAAe,CAC7B,UAAU,EAAE,sBAAsB,EAClC,UAAU,EAAE,sBAAsB,GAAG,SAAS,EAC9C,aAAa,EAAE,sBAAsB,GAAG,SAAS,EACjD,UAAU,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,GAAG,OAAO,EACjE,aAAa,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,GAAG,OAAO,GACnE,sBAAsB,
|
|
1
|
+
{"version":3,"file":"aggregate-result.d.ts","sourceRoot":"","sources":["../../src/review/aggregate-result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEhF,wBAAgB,eAAe,CAC7B,UAAU,EAAE,sBAAsB,EAClC,UAAU,EAAE,sBAAsB,GAAG,SAAS,EAC9C,aAAa,EAAE,sBAAsB,GAAG,SAAS,EACjD,UAAU,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,GAAG,OAAO,EACjE,aAAa,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,GAAG,OAAO,GACnE,sBAAsB,CA8BxB"}
|
|
@@ -10,7 +10,6 @@ export function aggregateResult(implReport, specReport, qualityReport, specStatu
|
|
|
10
10
|
...implReport.filesChanged,
|
|
11
11
|
...(qualityReport?.filesChanged ?? []),
|
|
12
12
|
],
|
|
13
|
-
normalizationDecisions: implReport.normalizationDecisions,
|
|
14
13
|
validationsRun: [
|
|
15
14
|
...implReport.validationsRun,
|
|
16
15
|
...(specReport?.validationsRun ?? []),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"aggregate-result.js","sourceRoot":"","sources":["../../src/review/aggregate-result.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAC7B,UAAkC,EAClC,UAA8C,EAC9C,aAAiD,EACjD,UAAiE,EACjE,aAAoE;IAEpE,MAAM,MAAM,GACV,UAAU,KAAK,kBAAkB;QAC/B,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,aAAa,KAAK,kBAAkB;YACpC,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,aAAa,CAAC;IAEtB,OAAO;QACL,OAAO,EAAE,GAAG,MAAM,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE;QAC/C,YAAY,EAAE;YACZ,GAAG,UAAU,CAAC,YAAY;YAC1B,GAAG,CAAC,aAAa,EAAE,YAAY,IAAI,EAAE,CAAC;SACvC;QACD,
|
|
1
|
+
{"version":3,"file":"aggregate-result.js","sourceRoot":"","sources":["../../src/review/aggregate-result.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe,CAC7B,UAAkC,EAClC,UAA8C,EAC9C,aAAiD,EACjD,UAAiE,EACjE,aAAoE;IAEpE,MAAM,MAAM,GACV,UAAU,KAAK,kBAAkB;QAC/B,CAAC,CAAC,0BAA0B;QAC5B,CAAC,CAAC,aAAa,KAAK,kBAAkB;YACpC,CAAC,CAAC,6BAA6B;YAC/B,CAAC,CAAC,aAAa,CAAC;IAEtB,OAAO;QACL,OAAO,EAAE,GAAG,MAAM,GAAG,UAAU,CAAC,OAAO,IAAI,EAAE,EAAE;QAC/C,YAAY,EAAE;YACZ,GAAG,UAAU,CAAC,YAAY;YAC1B,GAAG,CAAC,aAAa,EAAE,YAAY,IAAI,EAAE,CAAC;SACvC;QACD,cAAc,EAAE;YACd,GAAG,UAAU,CAAC,cAAc;YAC5B,GAAG,CAAC,UAAU,EAAE,cAAc,IAAI,EAAE,CAAC;YACrC,GAAG,CAAC,aAAa,EAAE,cAAc,IAAI,EAAE,CAAC;SACzC;QACD,mBAAmB,EAAE;YACnB,GAAG,CAAC,UAAU,CAAC,mBAAmB,IAAI,EAAE,CAAC;YACzC,GAAG,CAAC,UAAU,EAAE,mBAAmB,IAAI,EAAE,CAAC;YAC1C,GAAG,CAAC,aAAa,EAAE,mBAAmB,IAAI,EAAE,CAAC;SAC9C;QACD,UAAU,EAAE;YACV,GAAG,CAAC,UAAU,CAAC,UAAU,IAAI,EAAE,CAAC;YAChC,GAAG,CAAC,UAAU,EAAE,UAAU,IAAI,EAAE,CAAC;YACjC,GAAG,CAAC,aAAa,EAAE,UAAU,IAAI,EAAE,CAAC;SACrC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -4,9 +4,10 @@ export interface QualityReviewResult {
|
|
|
4
4
|
status: 'approved' | 'changes_required' | 'skipped' | 'error';
|
|
5
5
|
report?: ParsedStructuredReport;
|
|
6
6
|
findings: string[];
|
|
7
|
+
errorReason?: string;
|
|
7
8
|
}
|
|
8
9
|
export declare function runQualityReview(reviewerProvider: Provider, packet: {
|
|
9
|
-
|
|
10
|
+
prompt: string;
|
|
10
11
|
scope: string[];
|
|
11
12
|
doneCondition: string;
|
|
12
13
|
}, implReport: ParsedStructuredReport, fileContents: Record<string, string>, toolCallLog: string[], filesWritten: string[]): Promise<QualityReviewResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality-reviewer.d.ts","sourceRoot":"","sources":["../../src/review/quality-reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAGhF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9D,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"quality-reviewer.d.ts","sourceRoot":"","sources":["../../src/review/quality-reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAGhF,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,SAAS,GAAG,OAAO,CAAC;IAC9D,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,gBAAgB,CACpC,gBAAgB,EAAE,QAAQ,EAC1B,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAClE,UAAU,EAAE,sBAAsB,EAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,WAAW,EAAE,MAAM,EAAE,EACrB,YAAY,EAAE,MAAM,EAAE,GACrB,OAAO,CAAC,mBAAmB,CAAC,CA2C9B"}
|
|
@@ -3,7 +3,7 @@ import { buildQualityReviewPrompt } from './reviewer-prompt.js';
|
|
|
3
3
|
import { parseStructuredReport } from '../reporting/structured-report.js';
|
|
4
4
|
export async function runQualityReview(reviewerProvider, packet, implReport, fileContents, toolCallLog, filesWritten) {
|
|
5
5
|
if (filesWritten.length === 0) {
|
|
6
|
-
return { status: 'skipped', findings: [] };
|
|
6
|
+
return { status: 'skipped', findings: [], errorReason: 'no files written by implementer' };
|
|
7
7
|
}
|
|
8
8
|
let result;
|
|
9
9
|
try {
|
|
@@ -15,15 +15,15 @@ export async function runQualityReview(reviewerProvider, packet, implReport, fil
|
|
|
15
15
|
timeoutMs: 120_000,
|
|
16
16
|
}, [reviewerProvider], { explicitlyPinned: true });
|
|
17
17
|
}
|
|
18
|
-
catch {
|
|
19
|
-
return { status: 'error', findings: [] };
|
|
18
|
+
catch (err) {
|
|
19
|
+
return { status: 'error', findings: [], errorReason: `review agent threw: ${err instanceof Error ? err.message : String(err)}` };
|
|
20
20
|
}
|
|
21
21
|
if (result.status !== 'ok') {
|
|
22
|
-
return { status: 'error', findings: [] };
|
|
22
|
+
return { status: 'error', findings: [], errorReason: `review agent returned status: ${result.status}` };
|
|
23
23
|
}
|
|
24
24
|
const report = parseStructuredReport(result.output);
|
|
25
25
|
if (!report.summary) {
|
|
26
|
-
return { status: 'error', findings: [] };
|
|
26
|
+
return { status: 'error', findings: [], errorReason: 'reviewer output missing ## Summary section' };
|
|
27
27
|
}
|
|
28
28
|
const summaryLower = report.summary.toLowerCase();
|
|
29
29
|
if (summaryLower.includes('changes_required')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality-reviewer.js","sourceRoot":"","sources":["../../src/review/quality-reviewer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"quality-reviewer.js","sourceRoot":"","sources":["../../src/review/quality-reviewer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAS1E,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,gBAA0B,EAC1B,MAAkE,EAClE,UAAkC,EAClC,YAAoC,EACpC,WAAqB,EACrB,YAAsB;IAEtB,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,iCAAiC,EAAE,CAAC;IAC7F,CAAC;IAED,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,YAAY,GAChB,gBAAgB,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,GAAG,MAAM,sBAAsB,CACnC;YACE,MAAM,EAAE,wBAAwB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC;YAC/E,SAAS,EAAE,YAAY;YACvB,kBAAkB,EAAE,KAAK;YACzB,SAAS,EAAE,OAAO;SACnB,EACD,CAAC,gBAAgB,CAAC,EAClB,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IACnI,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,iCAAiC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IAC1G,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE,CAAC;IACtG,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAElD,IAAI,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,kBAAkB;YAC1B,MAAM;YACN,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;SAChF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACtD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer-prompt.d.ts","sourceRoot":"","sources":["../../src/review/reviewer-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEhF,UAAU,mBAAmB;IAC3B,
|
|
1
|
+
{"version":3,"file":"reviewer-prompt.d.ts","sourceRoot":"","sources":["../../src/review/reviewer-prompt.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAEhF,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,sBAAsB,EAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,WAAW,EAAE,MAAM,EAAE,GACpB,MAAM,CA6BR;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,mBAAmB,EAC3B,UAAU,EAAE,sBAAsB,EAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,WAAW,EAAE,MAAM,EAAE,GACpB,MAAM,CA4BR"}
|
|
@@ -3,7 +3,7 @@ export function buildSpecReviewPrompt(packet, implReport, fileContents, toolCall
|
|
|
3
3
|
'You are a spec compliance reviewer. Check whether the implementer satisfied the task exactly.',
|
|
4
4
|
'',
|
|
5
5
|
'## Execution Packet (what was asked)',
|
|
6
|
-
packet.
|
|
6
|
+
packet.prompt,
|
|
7
7
|
`Scope: ${packet.scope.join(', ')}`,
|
|
8
8
|
`Done condition: ${packet.doneCondition}`,
|
|
9
9
|
'',
|
|
@@ -32,7 +32,7 @@ export function buildQualityReviewPrompt(packet, implReport, fileContents, toolC
|
|
|
32
32
|
'You are a code quality reviewer. Check whether the implementation is sound, safe, and maintainable.',
|
|
33
33
|
'',
|
|
34
34
|
'## Execution Packet',
|
|
35
|
-
packet.
|
|
35
|
+
packet.prompt,
|
|
36
36
|
'',
|
|
37
37
|
'## Implementer Structured Report',
|
|
38
38
|
`Summary: ${implReport.summary ?? 'N/A'}`,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"reviewer-prompt.js","sourceRoot":"","sources":["../../src/review/reviewer-prompt.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,qBAAqB,CACnC,MAA2B,EAC3B,UAAkC,EAClC,YAAoC,EACpC,WAAqB;IAErB,OAAO;QACL,+FAA+F;QAC/F,EAAE;QACF,sCAAsC;QACtC,MAAM,CAAC,
|
|
1
|
+
{"version":3,"file":"reviewer-prompt.js","sourceRoot":"","sources":["../../src/review/reviewer-prompt.ts"],"names":[],"mappings":"AAQA,MAAM,UAAU,qBAAqB,CACnC,MAA2B,EAC3B,UAAkC,EAClC,YAAoC,EACpC,WAAqB;IAErB,OAAO;QACL,+FAA+F;QAC/F,EAAE;QACF,sCAAsC;QACtC,MAAM,CAAC,MAAM;QACb,UAAU,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QACnC,mBAAmB,MAAM,CAAC,aAAa,EAAE;QACzC,EAAE;QACF,kCAAkC;QAClC,YAAY,UAAU,CAAC,OAAO,IAAI,KAAK,EAAE;QACzC,kBAAkB,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5F,oBAAoB,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAClG,eAAe,UAAU,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;QACpE,eAAe,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,MAAM,EAAE;QAC3D,EAAE;QACF,yBAAyB;QACzB,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CACtD,OAAO,IAAI,aAAa,OAAO,UAAU,CAAC;QAC5C,EAAE;QACF,kBAAkB;QAClB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,EAAE;QACF,cAAc;QACd,kGAAkG;QAClG,0DAA0D;QAC1D,uDAAuD;QACvD,oGAAoG;KACrG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,MAA2B,EAC3B,UAAkC,EAClC,YAAoC,EACpC,WAAqB;IAErB,OAAO;QACL,qGAAqG;QACrG,EAAE;QACF,qBAAqB;QACrB,MAAM,CAAC,MAAM;QACb,EAAE;QACF,kCAAkC;QAClC,YAAY,UAAU,CAAC,OAAO,IAAI,KAAK,EAAE;QACzC,kBAAkB,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;QAC5F,EAAE;QACF,yBAAyB;QACzB,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,CACtD,OAAO,IAAI,aAAa,OAAO,UAAU,CAAC;QAC5C,EAAE;QACF,kBAAkB;QAClB,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;QACtB,EAAE;QACF,cAAc;QACd,qFAAqF;QACrF,wDAAwD;QACxD,uBAAuB;QACvB,0BAA0B;QAC1B,sBAAsB;QACtB,4BAA4B;QAC5B,2BAA2B;QAC3B,8DAA8D;KAC/D,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -4,9 +4,10 @@ export interface SpecReviewResult {
|
|
|
4
4
|
status: 'approved' | 'changes_required' | 'error';
|
|
5
5
|
report?: ParsedStructuredReport;
|
|
6
6
|
findings: string[];
|
|
7
|
+
errorReason?: string;
|
|
7
8
|
}
|
|
8
9
|
export declare function runSpecReview(reviewerProvider: Provider, packet: {
|
|
9
|
-
|
|
10
|
+
prompt: string;
|
|
10
11
|
scope: string[];
|
|
11
12
|
doneCondition: string;
|
|
12
13
|
}, implReport: ParsedStructuredReport, fileContents: Record<string, string>, toolCallLog: string[]): Promise<SpecReviewResult>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-reviewer.d.ts","sourceRoot":"","sources":["../../src/review/spec-reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAGhF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,OAAO,CAAC;IAClD,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"spec-reviewer.d.ts","sourceRoot":"","sources":["../../src/review/spec-reviewer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAC;AAGhF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,UAAU,GAAG,kBAAkB,GAAG,OAAO,CAAC;IAClD,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,aAAa,CACjC,gBAAgB,EAAE,QAAQ,EAC1B,MAAM,EAAE;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,EAClE,UAAU,EAAE,sBAAsB,EAClC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACpC,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CAAC,gBAAgB,CAAC,CAyC3B"}
|
|
@@ -13,15 +13,15 @@ export async function runSpecReview(reviewerProvider, packet, implReport, fileCo
|
|
|
13
13
|
timeoutMs: 120_000,
|
|
14
14
|
}, [reviewerProvider], { explicitlyPinned: true });
|
|
15
15
|
}
|
|
16
|
-
catch {
|
|
17
|
-
return { status: 'error', findings: [] };
|
|
16
|
+
catch (err) {
|
|
17
|
+
return { status: 'error', findings: [], errorReason: `review agent threw: ${err instanceof Error ? err.message : String(err)}` };
|
|
18
18
|
}
|
|
19
19
|
if (result.status !== 'ok') {
|
|
20
|
-
return { status: 'error', findings: [] };
|
|
20
|
+
return { status: 'error', findings: [], errorReason: `review agent returned status: ${result.status}` };
|
|
21
21
|
}
|
|
22
22
|
const report = parseStructuredReport(result.output);
|
|
23
23
|
if (!report.summary) {
|
|
24
|
-
return { status: 'error', findings: [] };
|
|
24
|
+
return { status: 'error', findings: [], errorReason: 'reviewer output missing ## Summary section' };
|
|
25
25
|
}
|
|
26
26
|
const summaryLower = report.summary.toLowerCase();
|
|
27
27
|
if (summaryLower.includes('changes_required')) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-reviewer.js","sourceRoot":"","sources":["../../src/review/spec-reviewer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"spec-reviewer.js","sourceRoot":"","sources":["../../src/review/spec-reviewer.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,sBAAsB,EAAE,MAAM,gCAAgC,CAAC;AACxE,OAAO,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAS1E,MAAM,CAAC,KAAK,UAAU,aAAa,CACjC,gBAA0B,EAC1B,MAAkE,EAClE,UAAkC,EAClC,YAAoC,EACpC,WAAqB;IAErB,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,EAAE,UAAU,EAAE,YAAY,EAAE,WAAW,CAAC,CAAC;IAEpF,IAAI,MAAM,CAAC;IACX,IAAI,CAAC;QACH,MAAM,YAAY,GAChB,gBAAgB,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,MAAM,GAAG,MAAM,sBAAsB,CACnC;YACE,MAAM;YACN,SAAS,EAAE,YAAY;YACvB,kBAAkB,EAAE,KAAK;YACzB,SAAS,EAAE,OAAO;SACnB,EACD,CAAC,gBAAgB,CAAC,EAClB,EAAE,gBAAgB,EAAE,IAAI,EAAE,CAC3B,CAAC;IACJ,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,uBAAuB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IACnI,CAAC;IAED,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,iCAAiC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IAC1G,CAAC;IAED,MAAM,MAAM,GAAG,qBAAqB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,WAAW,EAAE,4CAA4C,EAAE,CAAC;IACtG,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC;IAElD,IAAI,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC9C,OAAO;YACL,MAAM,EAAE,kBAAkB;YAC1B,MAAM;YACN,QAAQ,EAAE,CAAC,GAAG,CAAC,MAAM,CAAC,mBAAmB,IAAI,EAAE,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC;SAChF,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AACtD,CAAC"}
|
package/dist/run-tasks.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"run-tasks.d.ts","sourceRoot":"","sources":["../src/run-tasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,eAAe,EAIhB,MAAM,YAAY,CAAC;AAgBpB,MAAM,MAAM,wBAAwB,GAAG,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,aAAa,KACjB,IAAI,CAAC;AAEV,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;
|
|
1
|
+
{"version":3,"file":"run-tasks.d.ts","sourceRoot":"","sources":["../src/run-tasks.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,SAAS,EACT,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,eAAe,EAIhB,MAAM,YAAY,CAAC;AAgBpB,MAAM,MAAM,wBAAwB,GAAG,CACrC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,aAAa,KACjB,IAAI,CAAC;AAEV,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,wBAAwB,CAAC;IACtC,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAyZD,wBAAsB,QAAQ,CAC5B,KAAK,EAAE,QAAQ,EAAE,EACjB,MAAM,EAAE,gBAAgB,EACxB,OAAO,GAAE,eAAoB,GAC5B,OAAO,CAAC,SAAS,EAAE,CAAC,CAqHtB"}
|