@zhixuan92/multi-model-agent-core 4.7.13 → 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/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/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 -52
- package/dist/lifecycle/task-runner.d.ts.map +1 -1
- package/dist/lifecycle/task-runner.js +7 -68
- 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/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/tool-config.d.ts.map +1 -1
- package/dist/tools/audit/tool-config.js +2 -0
- package/dist/tools/audit/tool-config.js.map +1 -1
- package/dist/tools/debug/tool-config.d.ts.map +1 -1
- package/dist/tools/debug/tool-config.js +2 -1
- package/dist/tools/debug/tool-config.js.map +1 -1
- package/dist/tools/delegate/schema.d.ts +4 -0
- package/dist/tools/delegate/schema.d.ts.map +1 -1
- package/dist/tools/delegate/schema.js +2 -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 +2 -1
- package/dist/tools/delegate/tool-config.js.map +1 -1
- package/dist/tools/execute-plan/tool-config.js +2 -2
- package/dist/tools/execute-plan/tool-config.js.map +1 -1
- package/dist/tools/investigate/tool-config.d.ts.map +1 -1
- package/dist/tools/investigate/tool-config.js +2 -0
- package/dist/tools/investigate/tool-config.js.map +1 -1
- 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/tool-config.d.ts.map +1 -1
- package/dist/tools/research/tool-config.js +2 -0
- package/dist/tools/research/tool-config.js.map +1 -1
- package/dist/tools/retry/tool-config.d.ts.map +1 -1
- package/dist/tools/retry/tool-config.js +2 -1
- package/dist/tools/retry/tool-config.js.map +1 -1
- package/dist/tools/review/tool-config.d.ts.map +1 -1
- package/dist/tools/review/tool-config.js +2 -1
- 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 +0 -1
- 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/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
|
@@ -11,7 +11,7 @@ type SpecRoundVerdict = 'approved' | 'changes_required' | 'error' | 'skipped';
|
|
|
11
11
|
type QualityRoundVerdict = 'approved' | 'changes_required' | 'annotated' | 'error' | 'skipped';
|
|
12
12
|
type DiffEnvelopeVerdict = 'approved' | 'changes_required' | 'error' | 'skipped';
|
|
13
13
|
type DiffReviewKind = 'approve' | 'concerns' | 'reject' | 'transport_failure';
|
|
14
|
-
import type { StageGate } from './stage-io.js';
|
|
14
|
+
import type { StageGate, ReviewPayload } from './stage-io.js';
|
|
15
15
|
export interface LifecycleState {
|
|
16
16
|
terminal: boolean;
|
|
17
17
|
/** v5: per-stage gate record written by the driver. Empty until prepare runs. */
|
|
@@ -19,7 +19,6 @@ export interface LifecycleState {
|
|
|
19
19
|
/** v5: halted flag set when any stage returns outcome:'halt'. Driver-only. */
|
|
20
20
|
halted?: boolean;
|
|
21
21
|
workerStatus?: string;
|
|
22
|
-
reviewVerdict?: 'approved' | 'concerns' | 'changes_required' | 'error' | 'skipped';
|
|
23
22
|
attemptIndex: number;
|
|
24
23
|
attemptBudget: number;
|
|
25
24
|
reviewPolicy: 'full' | 'quality_only' | 'diff_only' | 'none';
|
|
@@ -43,7 +42,6 @@ export interface LifecycleState {
|
|
|
43
42
|
qualityChainAttemptIndex?: number;
|
|
44
43
|
executorResult?: unknown;
|
|
45
44
|
responseEnvelope?: unknown;
|
|
46
|
-
autoCommit?: boolean;
|
|
47
45
|
filesChanged?: string[];
|
|
48
46
|
readOnlyTask?: boolean;
|
|
49
47
|
contextBlockIds?: string[];
|
|
@@ -84,16 +82,6 @@ export interface LifecycleState {
|
|
|
84
82
|
specReviewError?: string;
|
|
85
83
|
/** Quality lint-reviewer transport/return error. */
|
|
86
84
|
qualityReviewError?: string;
|
|
87
|
-
/** Merged deviations from spec + quality reviewers. `source` carries
|
|
88
|
-
* the sub-reviewer name when known ('spec' | 'quality'); modern
|
|
89
|
-
* review-stage merges both reviewers into a single Finding[] with
|
|
90
|
-
* `source: 'reviewer'`, so we accept any string. The driver hoists
|
|
91
|
-
* review payload here so rework-stage's gate (state.reviewVerdict ===
|
|
92
|
-
* 'changes_required' && state.reviewFindings.length > 0) can fire. */
|
|
93
|
-
reviewFindings?: Array<{
|
|
94
|
-
source: string;
|
|
95
|
-
text: string;
|
|
96
|
-
}>;
|
|
97
85
|
/** Review-stage overall error (used when neither reviewer returned a usable verdict). */
|
|
98
86
|
reviewError?: string;
|
|
99
87
|
/** Rework stage applied edits (true) or skipped (false). undefined = stage never ran. */
|
|
@@ -130,5 +118,21 @@ export interface LifecycleState {
|
|
|
130
118
|
terminalStatus?: string;
|
|
131
119
|
terminationReason?: string | null;
|
|
132
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Canonical accessor for the review stage's verdict + findings, read straight
|
|
123
|
+
* from `state.gates.review.payload` (the v5 single source of truth). Replaces
|
|
124
|
+
* the old `state.reviewVerdict` / `state.reviewFindings` hoist: it applies the
|
|
125
|
+
* same `Finding[] -> { source, text }` mapping the hoist used, so downstream
|
|
126
|
+
* consumers (rework, annotate, enrich) see an identical shape. When the review
|
|
127
|
+
* gate is absent (review skipped / read route), returns `{ verdict: undefined,
|
|
128
|
+
* findings: [] }` — matching the prior mirror's undefined/empty-array semantics.
|
|
129
|
+
*/
|
|
130
|
+
export declare function reviewPayload(state: LifecycleState): {
|
|
131
|
+
verdict: ReviewPayload['verdict'] | undefined;
|
|
132
|
+
findings: Array<{
|
|
133
|
+
source: string;
|
|
134
|
+
text: string;
|
|
135
|
+
}>;
|
|
136
|
+
};
|
|
133
137
|
export {};
|
|
134
138
|
//# sourceMappingURL=stage-plan-types.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-plan-types.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AAO5E;;;;;;GAMG;AACH,KAAK,gBAAgB,GACjB,UAAU,GACV,kBAAkB,GAClB,OAAO,GACP,SAAS,CAAC;AAEd,KAAK,mBAAmB,GACpB,UAAU,GACV,kBAAkB,GAClB,WAAW,GACX,OAAO,GACP,SAAS,CAAC;AAEd,KAAK,mBAAmB,GAAG,UAAU,GAAG,kBAAkB,GAAG,OAAO,GAAG,SAAS,CAAC;AACjF,KAAK,cAAc,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,mBAAmB,CAAC;AAE9E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"stage-plan-types.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,28 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Canonical accessor for the review stage's verdict + findings, read straight
|
|
3
|
+
* from `state.gates.review.payload` (the v5 single source of truth). Replaces
|
|
4
|
+
* the old `state.reviewVerdict` / `state.reviewFindings` hoist: it applies the
|
|
5
|
+
* same `Finding[] -> { source, text }` mapping the hoist used, so downstream
|
|
6
|
+
* consumers (rework, annotate, enrich) see an identical shape. When the review
|
|
7
|
+
* gate is absent (review skipped / read route), returns `{ verdict: undefined,
|
|
8
|
+
* findings: [] }` — matching the prior mirror's undefined/empty-array semantics.
|
|
9
|
+
*/
|
|
10
|
+
export function reviewPayload(state) {
|
|
11
|
+
const p = state.gates?.['review']?.payload;
|
|
12
|
+
const verdict = p?.verdict === 'approved' || p?.verdict === 'changes_required' ? p.verdict : undefined;
|
|
13
|
+
const findings = Array.isArray(p?.findings)
|
|
14
|
+
? p.findings.map((f) => {
|
|
15
|
+
const parts = [];
|
|
16
|
+
if (f.claim)
|
|
17
|
+
parts.push(f.claim);
|
|
18
|
+
if (f.evidence)
|
|
19
|
+
parts.push(`(evidence: ${f.evidence})`);
|
|
20
|
+
if (f.suggestion)
|
|
21
|
+
parts.push(`(fix: ${f.suggestion})`);
|
|
22
|
+
const text = parts.length > 0 ? parts.join(' ') : (f.text ?? '');
|
|
23
|
+
return { source: f.source ?? 'reviewer', text };
|
|
24
|
+
})
|
|
25
|
+
: [];
|
|
26
|
+
return { verdict, findings };
|
|
27
|
+
}
|
|
2
28
|
//# sourceMappingURL=stage-plan-types.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-plan-types.js","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-types.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"stage-plan-types.js","sourceRoot":"","sources":["../../src/lifecycle/stage-plan-types.ts"],"names":[],"mappings":"AAiMA;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,KAAqB;IAIjD,MAAM,CAAC,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,EAAE,OAA2C,CAAC;IAC/E,MAAM,OAAO,GACX,CAAC,EAAE,OAAO,KAAK,UAAU,IAAI,CAAC,EAAE,OAAO,KAAK,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC;IACzF,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,QAAQ,CAAC;QACzC,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAA6F,EAAE,EAAE;YAChH,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,IAAI,CAAC,CAAC,KAAK;gBAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;YACjC,IAAI,CAAC,CAAC,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC;YACxD,IAAI,CAAC,CAAC,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,UAAU,GAAG,CAAC,CAAC;YACvD,MAAM,IAAI,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YACjE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,UAAU,EAAE,IAAI,EAAE,CAAC;QAClD,CAAC,CAAC;QACJ,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;AAC/B,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-progression.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-progression.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"stage-progression.d.ts","sourceRoot":"","sources":["../../src/lifecycle/stage-progression.ts"],"names":[],"mappings":"AA2EA;;mDAEmD;AACnD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,CAyB1D;AAID,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAa7B,CAAC;AAEvC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CASnF"}
|
|
@@ -39,7 +39,6 @@ function simulatedState(route, category, reviewPolicy) {
|
|
|
39
39
|
shutdownInProgress: false,
|
|
40
40
|
route,
|
|
41
41
|
toolCategory: category,
|
|
42
|
-
autoCommit: category === 'artifact_producing',
|
|
43
42
|
readOnlyTask: category === 'read_only',
|
|
44
43
|
reviewVerdict: 'changes_required',
|
|
45
44
|
gates: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stage-progression.js","sourceRoot":"","sources":["../../src/lifecycle/stage-progression.ts"],"names":[],"mappings":"AAcA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD;;uEAEuE;AACvE,MAAM,YAAY,GAAkC;IAClD,OAAO,EAAY,IAAI;IACvB,gBAAgB,EAAG,IAAI;IACvB,SAAS,EAAU,WAAW,CAAC,YAAY;IAC3C,MAAM,EAAa,WAAW,CAAC,MAAM;IACrC,MAAM,EAAa,WAAW,CAAC,MAAM;IACrC,MAAM,EAAa,WAAW,CAAC,UAAU;IACzC,QAAQ,EAAW,WAAW,CAAC,UAAU;IACzC,OAAO,EAAY,IAAI;IACvB,QAAQ,EAAW,YAAY;CAChC,CAAC;AAEF;2CAC2C;AAC3C,MAAM,aAAa,GAA6F;IAC9G,QAAQ,EAAkB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,EAAE;IAClF,cAAc,EAAY,EAAE,QAAQ,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,EAAE;IAClF,KAAK,EAAqB,EAAE,QAAQ,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,EAAE;IAClF,KAAK,EAAqB,EAAE,QAAQ,EAAE,WAAW,EAAW,YAAY,EAAE,MAAM,EAAE;IAClF,MAAM,EAAoB,EAAE,QAAQ,EAAE,WAAW,EAAW,YAAY,EAAE,MAAM,EAAE;IAClF,KAAK,EAAqB,EAAE,QAAQ,EAAE,WAAW,EAAW,YAAY,EAAE,MAAM,EAAE;IAClF,WAAW,EAAe,EAAE,QAAQ,EAAE,WAAW,EAAW,YAAY,EAAE,MAAM,EAAE;IAClF,QAAQ,EAAkB,EAAE,QAAQ,EAAE,WAAW,EAAW,YAAY,EAAE,MAAM,EAAE;IAClF,wBAAwB,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAc,YAAY,EAAE,MAAM,EAAE;CACnF,CAAC;AAEF;;8CAE8C;AAC9C,SAAS,cAAc,CACrB,KAAa,EACb,QAAsB,EACtB,YAA4C;IAE5C,OAAO;QACL,QAAQ,EAAE,KAAK;QACf,YAAY,EAAE,CAAC;QACf,aAAa,EAAE,CAAC;QAChB,YAAY;QACZ,kBAAkB,EAAE,KAAK;QACzB,KAAK;QACL,YAAY,EAAE,QAAQ;QACtB,
|
|
1
|
+
{"version":3,"file":"stage-progression.js","sourceRoot":"","sources":["../../src/lifecycle/stage-progression.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,29 +1,6 @@
|
|
|
1
1
|
import type { ToolConfig } from './tool-config-types.js';
|
|
2
2
|
import type { ExecutionContext } from './lifecycle-context.js';
|
|
3
3
|
import type { ExecutorOutput } from './executor-output-types.js';
|
|
4
|
-
import type { TaskSpec, RuntimeRunResult } from '../types.js';
|
|
5
|
-
import { type TaskGroup } from './task-grouping.js';
|
|
6
|
-
/**
|
|
7
|
-
* Inner loop for grouped dispatch. Runs each group in parallel; within
|
|
8
|
-
* each group runs tasks sequentially in caller input order. Aborted
|
|
9
|
-
* not-yet-started tasks receive a cancelled-result envelope.
|
|
10
|
-
* Failures within a group are caught by dispatchOne (RuntimeRunResult
|
|
11
|
-
* with workerStatus='failed') and DO NOT halt subsequent group members.
|
|
12
|
-
*
|
|
13
|
-
* Returns results indexed by original task order.
|
|
14
|
-
*/
|
|
15
|
-
export declare function dispatchGroupedWithPrecomputedGroups(tasks: TaskSpec[], groups: TaskGroup[], dispatchOne: (task: TaskSpec, originalIndex: number) => Promise<RuntimeRunResult>, opts: {
|
|
16
|
-
abortSignal?: AbortSignal;
|
|
17
|
-
}): Promise<RuntimeRunResult[]>;
|
|
18
|
-
/**
|
|
19
|
-
* Convenience wrapper that resolves the grouping internally. Used by
|
|
20
|
-
* tests; production callers use the precomputed-groups variant so they
|
|
21
|
-
* can also set ctx.batchGroupCount and call ctx.attachBatchGroups before
|
|
22
|
-
* dispatch begins.
|
|
23
|
-
*/
|
|
24
|
-
export declare function dispatchGrouped(tasks: TaskSpec[], dispatchOne: (task: TaskSpec, originalIndex: number) => Promise<RuntimeRunResult>, opts: {
|
|
25
|
-
abortSignal?: AbortSignal;
|
|
26
|
-
}): Promise<RuntimeRunResult[]>;
|
|
27
4
|
/**
|
|
28
5
|
* Generic per-task orchestrator. Takes a ToolConfig (which encodes all
|
|
29
6
|
* tool-specific behavior: brief compilation, TaskSpec building, headline
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../../src/lifecycle/task-executor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,
|
|
1
|
+
{"version":3,"file":"task-executor.d.ts","sourceRoot":"","sources":["../../src/lifecycle/task-executor.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,wBAAwB,CAAC;AACvE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAajE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,EACpD,MAAM,EAAE,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EACxC,GAAG,EAAE,gBAAgB,EACrB,KAAK,EAAE,KAAK,GACX,OAAO,CAAC,cAAc,CAAC,CA+RzB"}
|
|
@@ -1,59 +1,14 @@
|
|
|
1
1
|
import { randomUUID } from 'node:crypto';
|
|
2
2
|
import { resolveAgent } from '../providers/agent-resolver.js';
|
|
3
|
-
import { runTaskViaDispatcher } from './task-runner.js';
|
|
3
|
+
import { runTaskViaDispatcher, applyParallelSafetySuffixIfNeeded } from './task-runner.js';
|
|
4
4
|
import { computeTimings, computeAggregateCost } from './shared-compute.js';
|
|
5
5
|
import { autoRegisterContextBlock } from './auto-register-context-block.js';
|
|
6
6
|
import { mapReviewVerdicts } from './review-verdict-mapping.js';
|
|
7
7
|
import { notApplicable } from '../reporting/not-applicable.js';
|
|
8
8
|
import { parseStructuredReport } from '../reporting/structured-report.js';
|
|
9
9
|
import { expandContextBlocks } from '../stores/expand-context-blocks.js';
|
|
10
|
-
import { groupTasksByRepo } from './task-grouping.js';
|
|
11
10
|
import { buildCancelledResult } from './build-cancelled-result.js';
|
|
12
|
-
import { getDirtyFiles, formatHygieneAdvisory } from './repo-hygiene.js';
|
|
13
11
|
import { TaskEnvelopeStore } from '../events/task-envelope.js';
|
|
14
|
-
/**
|
|
15
|
-
* Inner loop for grouped dispatch. Runs each group in parallel; within
|
|
16
|
-
* each group runs tasks sequentially in caller input order. Aborted
|
|
17
|
-
* not-yet-started tasks receive a cancelled-result envelope.
|
|
18
|
-
* Failures within a group are caught by dispatchOne (RuntimeRunResult
|
|
19
|
-
* with workerStatus='failed') and DO NOT halt subsequent group members.
|
|
20
|
-
*
|
|
21
|
-
* Returns results indexed by original task order.
|
|
22
|
-
*/
|
|
23
|
-
export async function dispatchGroupedWithPrecomputedGroups(tasks, groups, dispatchOne, opts) {
|
|
24
|
-
const results = new Array(tasks.length);
|
|
25
|
-
await Promise.all(groups.map(async (group) => {
|
|
26
|
-
const isGitRepo = !group.key.startsWith('/') || true; // group.key is always either a toplevel or realpath
|
|
27
|
-
let isFirstInGroup = true;
|
|
28
|
-
for (const { task, originalIndex } of group.tasks) {
|
|
29
|
-
if (opts.abortSignal?.aborted) {
|
|
30
|
-
results[originalIndex] = buildCancelledResult();
|
|
31
|
-
continue;
|
|
32
|
-
}
|
|
33
|
-
let effectiveTask = task;
|
|
34
|
-
if (!isFirstInGroup && group.tasks.length > 1) {
|
|
35
|
-
const dirty = await getDirtyFiles(group.key);
|
|
36
|
-
if (dirty.length > 0) {
|
|
37
|
-
const advisory = formatHygieneAdvisory(dirty);
|
|
38
|
-
effectiveTask = { ...task, prompt: advisory + task.prompt };
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
results[originalIndex] = await dispatchOne(effectiveTask, originalIndex);
|
|
42
|
-
isFirstInGroup = false;
|
|
43
|
-
}
|
|
44
|
-
}));
|
|
45
|
-
return results;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Convenience wrapper that resolves the grouping internally. Used by
|
|
49
|
-
* tests; production callers use the precomputed-groups variant so they
|
|
50
|
-
* can also set ctx.batchGroupCount and call ctx.attachBatchGroups before
|
|
51
|
-
* dispatch begins.
|
|
52
|
-
*/
|
|
53
|
-
export async function dispatchGrouped(tasks, dispatchOne, opts) {
|
|
54
|
-
const groups = await groupTasksByRepo(tasks);
|
|
55
|
-
return dispatchGroupedWithPrecomputedGroups(tasks, groups, dispatchOne, opts);
|
|
56
|
-
}
|
|
57
12
|
/**
|
|
58
13
|
* Generic per-task orchestrator. Takes a ToolConfig (which encodes all
|
|
59
14
|
* tool-specific behavior: brief compilation, TaskSpec building, headline
|
|
@@ -234,31 +189,34 @@ export async function executeTask(config, ctx, input) {
|
|
|
234
189
|
return buildCrashResult(e instanceof Error ? e.message : String(e));
|
|
235
190
|
}
|
|
236
191
|
};
|
|
192
|
+
// Effective dispatch mode: route default unless the route allows a caller
|
|
193
|
+
// override AND the request carried one. (execute-plan: not overridable, so
|
|
194
|
+
// always serial; delegate: parallel by default, overridable to serial.)
|
|
195
|
+
const requestedMode = input.execution;
|
|
196
|
+
const mode = config.dispatchModeOverridable && requestedMode ? requestedMode : config.dispatchMode;
|
|
197
|
+
const concurrent = mode === 'parallel' && tasks.length > 1;
|
|
198
|
+
// Append the parallel-safety reminder only when tasks actually run
|
|
199
|
+
// concurrently (parallel mode + >1 task). The original tasks[] (stored in
|
|
200
|
+
// the batch cache for retry) is left unsuffixed.
|
|
201
|
+
const dispatchTasks = applyParallelSafetySuffixIfNeeded(tasks, concurrent);
|
|
237
202
|
let results;
|
|
238
|
-
if (
|
|
239
|
-
//
|
|
240
|
-
// - set ctx.batchGroupCount BEFORE dispatch (task-runner reads this
|
|
241
|
-
// to gate PARALLEL_SAFETY_SUFFIX), and
|
|
242
|
-
// - call ctx.attachBatchGroups so the 202 headline composer can
|
|
243
|
-
// describe active groups.
|
|
244
|
-
const groups = await groupTasksByRepo(tasks);
|
|
245
|
-
ctx.batchGroupCount = groups.length;
|
|
246
|
-
ctx.attachBatchGroups?.(groups.map((g) => ({
|
|
247
|
-
key: g.key,
|
|
248
|
-
taskIndices: g.tasks.map((t) => t.originalIndex),
|
|
249
|
-
})));
|
|
250
|
-
ctx.setBatchGroupingTelemetry?.({
|
|
251
|
-
groupCount: groups.length,
|
|
252
|
-
groupSizes: groups.map((g) => g.tasks.length),
|
|
253
|
-
serializationApplied: groups.some((g) => g.tasks.length > 1),
|
|
254
|
-
});
|
|
255
|
-
results = await dispatchGroupedWithPrecomputedGroups(tasks, groups, (task, i) => dispatchOne(task, i), { abortSignal: ctx.stall.controller.signal });
|
|
256
|
-
}
|
|
257
|
-
else if (tasks.length === 1) {
|
|
203
|
+
if (tasks.length === 1) {
|
|
204
|
+
// Single-task fast path — identical to pre-change behavior, no suffix.
|
|
258
205
|
results = [await dispatchOne(tasks[0], 0)];
|
|
259
206
|
}
|
|
207
|
+
else if (mode === 'parallel') {
|
|
208
|
+
results = await Promise.all(dispatchTasks.map((task, i) => dispatchOne(task, i)));
|
|
209
|
+
}
|
|
260
210
|
else {
|
|
261
|
-
|
|
211
|
+
// Serial: input order; stop issuing new work once the batch abort fires.
|
|
212
|
+
results = new Array(dispatchTasks.length);
|
|
213
|
+
for (let i = 0; i < dispatchTasks.length; i++) {
|
|
214
|
+
if (ctx.stall.controller.signal.aborted) {
|
|
215
|
+
results[i] = buildCancelledResult();
|
|
216
|
+
continue;
|
|
217
|
+
}
|
|
218
|
+
results[i] = await dispatchOne(dispatchTasks[i], i);
|
|
219
|
+
}
|
|
262
220
|
}
|
|
263
221
|
const wallClockMs = Date.now() - startMs;
|
|
264
222
|
// Gap 3 fix (4.0.3+): surface the executor's wall-clock as
|
|
@@ -331,6 +289,7 @@ export async function executeTask(config, ctx, input) {
|
|
|
331
289
|
batchId: ctx.batchId ?? randomUUID(),
|
|
332
290
|
wallClockMs,
|
|
333
291
|
mainModel,
|
|
292
|
+
dispatchMode: mode,
|
|
334
293
|
specReviewVerdict: verdicts.specReviewVerdict,
|
|
335
294
|
qualityReviewVerdict: verdicts.qualityReviewVerdict,
|
|
336
295
|
roundsUsed: verdicts.roundsUsed,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-executor.js","sourceRoot":"","sources":["../../src/lifecycle/task-executor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"task-executor.js","sourceRoot":"","sources":["../../src/lifecycle/task-executor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { TaskSpec, RuntimeRunResult, MultiModelConfig
|
|
2
|
-
import type { ProgressEvent
|
|
1
|
+
import type { TaskSpec, RuntimeRunResult, MultiModelConfig } from '../types.js';
|
|
2
|
+
import type { ProgressEvent } from '../providers/runner-types.js';
|
|
3
3
|
import type { HeartbeatTickInfo } from '../bounded-execution/activity-tracker.js';
|
|
4
4
|
import type { EnvelopeBus } from '../events/envelope-bus.js';
|
|
5
5
|
import type { ExecutionContext } from './lifecycle-context.js';
|
|
@@ -8,58 +8,18 @@ import { LifecycleDispatcher } from './lifecycle-dispatcher.js';
|
|
|
8
8
|
export declare function errorResult(error: string): RuntimeRunResult;
|
|
9
9
|
/**
|
|
10
10
|
* Conditionally appends PARALLEL_SAFETY_SUFFIX to each task's prompt.
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
11
|
+
* Appended ONLY when `concurrent` is true — i.e. the batch runs in parallel
|
|
12
|
+
* mode with more than one task. Within serial dispatch (or single-task
|
|
13
|
+
* batches) tasks don't race, so the reminder is omitted. The suffix
|
|
14
|
+
* reinforces per-worker commit attribution: stay in your lane, touch only
|
|
15
|
+
* your own files.
|
|
14
16
|
*
|
|
15
17
|
* Pure function — returns shallow-cloned tasks; original array unchanged.
|
|
16
18
|
*/
|
|
17
19
|
export declare function applyParallelSafetySuffixIfNeeded<T extends {
|
|
18
20
|
prompt: string;
|
|
19
21
|
testCommand?: string;
|
|
20
|
-
}>(tasks: T[],
|
|
21
|
-
batchGroupCount?: number;
|
|
22
|
-
}): T[];
|
|
23
|
-
export type ResolvedTask = {
|
|
24
|
-
task: TaskSpec;
|
|
25
|
-
resolved: {
|
|
26
|
-
slot: AgentType;
|
|
27
|
-
provider: Provider;
|
|
28
|
-
};
|
|
29
|
-
} | {
|
|
30
|
-
task: TaskSpec;
|
|
31
|
-
error: string;
|
|
32
|
-
errorCode: string;
|
|
33
|
-
};
|
|
34
|
-
export type RunTasksProgressCallback = (taskIndex: number, event: ProgressEvent) => void;
|
|
35
|
-
export interface RunTasksOptions {
|
|
36
|
-
onProgress?: RunTasksProgressCallback;
|
|
37
|
-
runtime?: RunTasksRuntime;
|
|
38
|
-
batchId?: string;
|
|
39
|
-
recordHeartbeat?: (tick: HeartbeatTickInfo) => void;
|
|
40
|
-
logger?: {
|
|
41
|
-
error: (kind: string, err: unknown) => void;
|
|
42
|
-
};
|
|
43
|
-
recorder?: {
|
|
44
|
-
recordTaskCompleted: (ctx: {
|
|
45
|
-
route: string;
|
|
46
|
-
taskSpec: TaskSpec;
|
|
47
|
-
runResult: RuntimeRunResult;
|
|
48
|
-
client: string;
|
|
49
|
-
mainModel: string | null;
|
|
50
|
-
reviewPolicy?: 'full' | 'quality_only' | 'diff_only' | 'none';
|
|
51
|
-
}) => void;
|
|
52
|
-
};
|
|
53
|
-
route?: string;
|
|
54
|
-
client?: string;
|
|
55
|
-
bus?: EnvelopeBus;
|
|
56
|
-
qualityReviewPromptBuilder?: (ctx: {
|
|
57
|
-
workerOutput: string;
|
|
58
|
-
brief: string;
|
|
59
|
-
}) => string;
|
|
60
|
-
batchGroupCount?: number;
|
|
61
|
-
}
|
|
62
|
-
export declare function runTasks(tasks: TaskSpec[], config: MultiModelConfig, options?: RunTasksOptions): Promise<RuntimeRunResult[]>;
|
|
22
|
+
}>(tasks: T[], concurrent: boolean): T[];
|
|
63
23
|
export interface DispatchTaskInput {
|
|
64
24
|
task: TaskSpec;
|
|
65
25
|
resolved: ResolvedAgent;
|
|
@@ -82,10 +42,6 @@ export interface DispatchTaskInput {
|
|
|
82
42
|
* before dispatch. Without this, the worker LLM never sees the prior-round
|
|
83
43
|
* audit/review report referenced by contextBlockIds. */
|
|
84
44
|
contextBlockStore?: import('../stores/context-block-tool.js').ContextBlockStore;
|
|
85
|
-
qualityReviewPromptBuilder?: (ctx: {
|
|
86
|
-
workerOutput: string;
|
|
87
|
-
brief: string;
|
|
88
|
-
}) => string;
|
|
89
45
|
/** Registry to attach/detach the per-task ExecutionContext on. When provided,
|
|
90
46
|
* shutdown drain in serve.ts can walk the registry and call closeSessions()
|
|
91
47
|
* on every in-flight task before the daemon exits. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-runner.d.ts","sourceRoot":"","sources":["../../src/lifecycle/task-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,
|
|
1
|
+
{"version":3,"file":"task-runner.d.ts","sourceRoot":"","sources":["../../src/lifecycle/task-runner.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAGjB,MAAM,aAAa,CAAC;AACrB,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAElF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAUhE,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,gBAAgB,CAa3D;AAOD;;;;;;;;;GASG;AACH,wBAAgB,iCAAiC,CAAC,CAAC,SAAS;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,EAClG,KAAK,EAAE,CAAC,EAAE,EACV,UAAU,EAAE,OAAO,GAClB,CAAC,EAAE,CAOL;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,aAAa,CAAC;IACxB,MAAM,EAAE,gBAAgB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,KAAK,IAAI,CAAC;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,iBAAiB,KAAK,IAAI,CAAC;IACpD,MAAM,CAAC,EAAE;QAAE,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;KAAE,CAAC;IACzD,QAAQ,CAAC,EAAE,gBAAgB,CAAC,UAAU,CAAC,CAAC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;2EACuE;IACvE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,GAAG,CAAC,EAAE,WAAW,CAAC;IAClB;;6DAEyD;IACzD,iBAAiB,CAAC,EAAE,OAAO,iCAAiC,EAAE,iBAAiB,CAAC;IAChF;;2DAEuD;IACvD,aAAa,CAAC,EAAE,OAAO,6BAA6B,EAAE,aAAa,CAAC;IACpE,4FAA4F;IAC5F,QAAQ,CAAC,EAAE,OAAO,4BAA4B,EAAE,iBAAiB,CAAC;CACnE;AA6HD,wBAAsB,oBAAoB,CACxC,KAAK,EAAE,iBAAiB,EACxB,UAAU,GAAE,mBAA+C,GAC1D,OAAO,CAAC,gBAAgB,CAAC,CAyG3B"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { LifecycleDispatcher } from './lifecycle-dispatcher.js';
|
|
2
2
|
import { WallClockGuard } from '../bounded-execution/wall-clock-guard.js';
|
|
3
3
|
import { ActivityTracker } from '../bounded-execution/activity-tracker.js';
|
|
4
|
-
import { ATTEMPT_BUDGETS } from './rework-budget.js';
|
|
5
4
|
import { resolveAgent } from '../providers/agent-resolver.js';
|
|
6
5
|
import { releaseTask } from '../providers/provider-factory.js';
|
|
7
6
|
import { expandContextBlocks } from '../stores/expand-context-blocks.js';
|
|
@@ -27,14 +26,16 @@ const PARALLEL_SAFETY_SUFFIX = '\n\nYou are running in parallel with other tasks
|
|
|
27
26
|
'Only run task-specific test commands if provided.';
|
|
28
27
|
/**
|
|
29
28
|
* Conditionally appends PARALLEL_SAFETY_SUFFIX to each task's prompt.
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
29
|
+
* Appended ONLY when `concurrent` is true — i.e. the batch runs in parallel
|
|
30
|
+
* mode with more than one task. Within serial dispatch (or single-task
|
|
31
|
+
* batches) tasks don't race, so the reminder is omitted. The suffix
|
|
32
|
+
* reinforces per-worker commit attribution: stay in your lane, touch only
|
|
33
|
+
* your own files.
|
|
33
34
|
*
|
|
34
35
|
* Pure function — returns shallow-cloned tasks; original array unchanged.
|
|
35
36
|
*/
|
|
36
|
-
export function applyParallelSafetySuffixIfNeeded(tasks,
|
|
37
|
-
if (!
|
|
37
|
+
export function applyParallelSafetySuffixIfNeeded(tasks, concurrent) {
|
|
38
|
+
if (!concurrent)
|
|
38
39
|
return tasks.slice();
|
|
39
40
|
return tasks.map((t) => ({
|
|
40
41
|
...t,
|
|
@@ -42,64 +43,6 @@ export function applyParallelSafetySuffixIfNeeded(tasks, ctx) {
|
|
|
42
43
|
(t.testCommand ? `\nTo verify your work, run: \`${t.testCommand}\`` : ''),
|
|
43
44
|
}));
|
|
44
45
|
}
|
|
45
|
-
export async function runTasks(tasks, config, options = {}) {
|
|
46
|
-
if (tasks.length === 0)
|
|
47
|
-
return [];
|
|
48
|
-
const expandedTasks = tasks.map((task) => {
|
|
49
|
-
try {
|
|
50
|
-
return expandContextBlocks(task, options.runtime?.contextBlockStore);
|
|
51
|
-
}
|
|
52
|
-
catch (err) {
|
|
53
|
-
return { error: err instanceof Error ? err.message : String(err) };
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
const resolved = expandedTasks.map((entry, idx) => {
|
|
57
|
-
if ('error' in entry) {
|
|
58
|
-
return { task: tasks[idx], error: entry.error, errorCode: 'context_block_not_found' };
|
|
59
|
-
}
|
|
60
|
-
const task = entry;
|
|
61
|
-
const agentType = task.agentType ?? 'standard';
|
|
62
|
-
try {
|
|
63
|
-
const resolved_agent = resolveAgent(agentType, config);
|
|
64
|
-
return { task, resolved: resolved_agent };
|
|
65
|
-
}
|
|
66
|
-
catch (err) {
|
|
67
|
-
return {
|
|
68
|
-
task,
|
|
69
|
-
error: err instanceof Error ? err.message : String(err),
|
|
70
|
-
errorCode: 'agent_not_configured',
|
|
71
|
-
};
|
|
72
|
-
}
|
|
73
|
-
});
|
|
74
|
-
const tasksWithSuffix = applyParallelSafetySuffixIfNeeded(resolved.filter((r) => !('error' in r)).map((r) => r.task), { batchGroupCount: options.batchGroupCount });
|
|
75
|
-
// Reattach mutated tasks back to resolved entries.
|
|
76
|
-
let suffixIdx = 0;
|
|
77
|
-
for (const r of resolved) {
|
|
78
|
-
if ('error' in r)
|
|
79
|
-
continue;
|
|
80
|
-
r.task = tasksWithSuffix[suffixIdx++];
|
|
81
|
-
}
|
|
82
|
-
return Promise.all(resolved.map((r, index) => {
|
|
83
|
-
if ('error' in r) {
|
|
84
|
-
return Promise.resolve({ ...errorResult(r.error), errorCode: r.errorCode });
|
|
85
|
-
}
|
|
86
|
-
return runTaskViaDispatcher({
|
|
87
|
-
task: r.task,
|
|
88
|
-
resolved: r.resolved,
|
|
89
|
-
config,
|
|
90
|
-
taskIndex: index,
|
|
91
|
-
...(options.onProgress && { onProgress: options.onProgress }),
|
|
92
|
-
...(options.batchId !== undefined && { batchId: options.batchId }),
|
|
93
|
-
...(options.recordHeartbeat && { recordHeartbeat: options.recordHeartbeat }),
|
|
94
|
-
...(options.logger && { logger: options.logger }),
|
|
95
|
-
...(options.recorder && { recorder: options.recorder }),
|
|
96
|
-
...(options.route !== undefined && { route: options.route }),
|
|
97
|
-
...(options.client !== undefined && { client: options.client }),
|
|
98
|
-
...(options.bus && { bus: options.bus }),
|
|
99
|
-
...(options.qualityReviewPromptBuilder && { qualityReviewPromptBuilder: options.qualityReviewPromptBuilder }),
|
|
100
|
-
});
|
|
101
|
-
}));
|
|
102
|
-
}
|
|
103
46
|
function toolCategoryForRoute(route) {
|
|
104
47
|
if (route === 'investigate' || route === 'review' || route === 'audit' || route === 'debug' || route === 'research')
|
|
105
48
|
return 'read_only';
|
|
@@ -202,9 +145,7 @@ function buildExecutionContext(input) {
|
|
|
202
145
|
...(input.contextBlockStore && { contextBlockStore: input.contextBlockStore }),
|
|
203
146
|
assignedTier: resolved.slot,
|
|
204
147
|
implementerProvider: resolved.provider,
|
|
205
|
-
escalationProvider: providers[resolved.slot === 'standard' ? 'complex' : 'standard'],
|
|
206
148
|
providers,
|
|
207
|
-
implementerIdentity: undefined,
|
|
208
149
|
getSession,
|
|
209
150
|
closeSessions,
|
|
210
151
|
getActivePids,
|
|
@@ -212,7 +153,6 @@ function buildExecutionContext(input) {
|
|
|
212
153
|
wallClockGuard: new WallClockGuard(timeoutMs),
|
|
213
154
|
stall: { controller: stallController, lastEventAtMs: startMsAt, fired: false },
|
|
214
155
|
implementerToolMode: task.tools,
|
|
215
|
-
...(input.qualityReviewPromptBuilder && { qualityReviewPromptBuilder: input.qualityReviewPromptBuilder }),
|
|
216
156
|
bus: input.bus,
|
|
217
157
|
heartbeat,
|
|
218
158
|
logger: input.logger,
|
|
@@ -234,7 +174,6 @@ export async function runTaskViaDispatcher(input, dispatcher = new LifecycleDisp
|
|
|
234
174
|
const executionContext = buildExecutionContext({ ...input, task: expandedTask });
|
|
235
175
|
const route = input.route ?? '';
|
|
236
176
|
const toolCategory = toolCategoryForRoute(route);
|
|
237
|
-
void ATTEMPT_BUDGETS[toolCategory];
|
|
238
177
|
// Register this task's ExecutionContext on the BatchRegistry so shutdown
|
|
239
178
|
// drain (serve.ts cleanupSignal) can find every in-flight task and call
|
|
240
179
|
// closeSessions() on it before the daemon exits. Detached in finally{}.
|