@copilot-swarm/core 0.0.7 → 0.0.9
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/defaults/agents/engineer.md +2 -1
- package/defaults/agents/pm.md +1 -1
- package/defaults/swarm.config.yaml +3 -0
- package/dist/analysis-engine.d.ts +3 -1
- package/dist/analysis-engine.d.ts.map +1 -1
- package/dist/analysis-engine.js +14 -1
- package/dist/analysis-engine.js.map +1 -1
- package/dist/checkpoint.d.ts +11 -0
- package/dist/checkpoint.d.ts.map +1 -1
- package/dist/checkpoint.js.map +1 -1
- package/dist/checkpoint.test.d.ts +2 -0
- package/dist/checkpoint.test.d.ts.map +1 -0
- package/dist/checkpoint.test.js +138 -0
- package/dist/checkpoint.test.js.map +1 -0
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +19 -5
- package/dist/config.js.map +1 -1
- package/dist/index.js +65 -4
- package/dist/index.js.map +1 -1
- package/dist/messages.d.ts +20 -0
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +31 -0
- package/dist/messages.js.map +1 -1
- package/dist/orchestrator.d.ts.map +1 -1
- package/dist/orchestrator.js +17 -13
- package/dist/orchestrator.js.map +1 -1
- package/dist/pipeline-config.d.ts.map +1 -1
- package/dist/pipeline-config.js +5 -0
- package/dist/pipeline-config.js.map +1 -1
- package/dist/pipeline-config.test.js +54 -0
- package/dist/pipeline-config.test.js.map +1 -1
- package/dist/pipeline-engine.d.ts +3 -0
- package/dist/pipeline-engine.d.ts.map +1 -1
- package/dist/pipeline-engine.js +187 -68
- package/dist/pipeline-engine.js.map +1 -1
- package/dist/pipeline-types.d.ts +3 -0
- package/dist/pipeline-types.d.ts.map +1 -1
- package/dist/planning-engine.d.ts +20 -1
- package/dist/planning-engine.d.ts.map +1 -1
- package/dist/planning-engine.js +218 -10
- package/dist/planning-engine.js.map +1 -1
- package/dist/progress-tracker.d.ts.map +1 -1
- package/dist/progress-tracker.js +8 -0
- package/dist/progress-tracker.js.map +1 -1
- package/dist/tui-renderer.d.ts +4 -0
- package/dist/tui-renderer.d.ts.map +1 -1
- package/dist/tui-renderer.js +18 -0
- package/dist/tui-renderer.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,4 +9,5 @@ You are a Senior Software Engineer. Your goal is to implement the provided speci
|
|
|
9
9
|
3. **Follow Design:** For frontend tasks, implement the design spec precisely — use the specified components, tokens, and interaction patterns.
|
|
10
10
|
4. **Verify:** Run the build, linter, type checker, and relevant tests using `run_terminal`.
|
|
11
11
|
5. **Fix Defects:** When receiving a QA report, fix all reported issues and verify each fix.
|
|
12
|
-
6. **
|
|
12
|
+
6. **Clarification:** If the specification is ambiguous or missing critical information that blocks implementation, respond with `CLARIFICATION_NEEDED` followed by your specific questions. Use your best judgment for minor ambiguities — only escalate when you truly cannot proceed without an answer.
|
|
13
|
+
7. **Report:** Summarize the files you changed and why.
|
package/defaults/agents/pm.md
CHANGED
|
@@ -7,5 +7,5 @@ You are a Senior Product Manager. Your goal is to analyze requirements and produ
|
|
|
7
7
|
1. **Understand Context:** Use `list_dir` and `read_file` to understand the existing project structure and codebase.
|
|
8
8
|
2. **Write Specs:** Produce specifications with: problem statement, acceptance criteria, technical requirements, edge cases, and out-of-scope items.
|
|
9
9
|
3. **Decompose:** When asked, break specs into independent sub-tasks. Mark frontend-related tasks with `[FRONTEND]`.
|
|
10
|
-
4. **Clarify:** When other agents request clarification, provide precise, unambiguous answers grounded in the original requirements.
|
|
10
|
+
4. **Clarify:** When other agents request clarification, provide precise, unambiguous answers grounded in the original requirements. If the answer is not in the requirements, make a reasonable assumption, state it clearly, and explain your reasoning.
|
|
11
11
|
5. **Report:** Summarize decisions and rationale.
|
|
@@ -18,6 +18,7 @@ agents:
|
|
|
18
18
|
|
|
19
19
|
pipeline:
|
|
20
20
|
- phase: spec
|
|
21
|
+
condition: noPlanProvided
|
|
21
22
|
agent: pm
|
|
22
23
|
reviews:
|
|
23
24
|
- agent: pm-reviewer
|
|
@@ -45,6 +46,8 @@ pipeline:
|
|
|
45
46
|
- phase: implement
|
|
46
47
|
parallel: true
|
|
47
48
|
agent: engineer
|
|
49
|
+
clarificationAgent: pm
|
|
50
|
+
clarificationKeyword: CLARIFICATION_NEEDED
|
|
48
51
|
reviews:
|
|
49
52
|
- agent: code-reviewer
|
|
50
53
|
maxIterations: 3
|
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import type { SwarmConfig } from "./config.js";
|
|
2
2
|
import type { Logger } from "./logger.js";
|
|
3
3
|
import type { PipelineConfig } from "./pipeline-types.js";
|
|
4
|
+
import type { ProgressTracker } from "./progress-tracker.js";
|
|
4
5
|
export declare class AnalysisEngine {
|
|
5
6
|
private readonly config;
|
|
6
7
|
private readonly pipeline;
|
|
7
8
|
private readonly logger;
|
|
9
|
+
private readonly tracker?;
|
|
8
10
|
private readonly sessions;
|
|
9
|
-
constructor(config: SwarmConfig, pipeline: PipelineConfig, logger: Logger);
|
|
11
|
+
constructor(config: SwarmConfig, pipeline: PipelineConfig, logger: Logger, tracker?: ProgressTracker | undefined);
|
|
10
12
|
start(): Promise<void>;
|
|
11
13
|
stop(): Promise<void>;
|
|
12
14
|
execute(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-engine.d.ts","sourceRoot":"","sources":["../src/analysis-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"analysis-engine.d.ts","sourceRoot":"","sources":["../src/analysis-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAG1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAoE7D,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;IAN3B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAGvB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE,eAAe,YAAA;IAKtC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAiChB,sBAAsB;CAwDrC"}
|
package/dist/analysis-engine.js
CHANGED
|
@@ -69,11 +69,13 @@ export class AnalysisEngine {
|
|
|
69
69
|
config;
|
|
70
70
|
pipeline;
|
|
71
71
|
logger;
|
|
72
|
+
tracker;
|
|
72
73
|
sessions;
|
|
73
|
-
constructor(config, pipeline, logger) {
|
|
74
|
+
constructor(config, pipeline, logger, tracker) {
|
|
74
75
|
this.config = config;
|
|
75
76
|
this.pipeline = pipeline;
|
|
76
77
|
this.logger = logger;
|
|
78
|
+
this.tracker = tracker;
|
|
77
79
|
this.sessions = new SessionManager(config, pipeline, logger);
|
|
78
80
|
}
|
|
79
81
|
async start() {
|
|
@@ -84,11 +86,22 @@ export class AnalysisEngine {
|
|
|
84
86
|
}
|
|
85
87
|
async execute() {
|
|
86
88
|
this.logger.info(msg.analyzeStart);
|
|
89
|
+
const phases = [{ phase: "analyze-architect" }, { phase: "analyze-review" }];
|
|
90
|
+
if (this.pipeline.reviewModel !== this.pipeline.primaryModel) {
|
|
91
|
+
phases.push({ phase: "analyze-architect" }, { phase: "analyze-review" });
|
|
92
|
+
}
|
|
93
|
+
this.tracker?.initPhases(phases);
|
|
87
94
|
// Phase 1: Primary model — architect drafts, senior engineer reviews
|
|
95
|
+
this.tracker?.activatePhase("analyze-architect-0");
|
|
88
96
|
let analysis = await this.runArchitectReviewLoop(this.pipeline.primaryModel);
|
|
97
|
+
this.tracker?.completePhase("analyze-architect-0");
|
|
98
|
+
this.tracker?.completePhase("analyze-review-1");
|
|
89
99
|
// Phase 2: Cross-model — same flow with the review model
|
|
90
100
|
if (this.pipeline.reviewModel !== this.pipeline.primaryModel) {
|
|
101
|
+
this.tracker?.activatePhase("analyze-architect-2");
|
|
91
102
|
analysis = await this.runArchitectReviewLoop(this.pipeline.reviewModel, analysis);
|
|
103
|
+
this.tracker?.completePhase("analyze-architect-2");
|
|
104
|
+
this.tracker?.completePhase("analyze-review-3");
|
|
92
105
|
}
|
|
93
106
|
// Save result
|
|
94
107
|
const dir = analysisDir(this.config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysis-engine.js","sourceRoot":"","sources":["../src/analysis-engine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAGlC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"analysis-engine.js","sourceRoot":"","sources":["../src/analysis-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/checkpoint.d.ts
CHANGED
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
import type { SwarmConfig } from "./config.js";
|
|
2
|
+
/** Snapshot of a single review/QA iteration's progress. */
|
|
3
|
+
export interface IterationSnapshot {
|
|
4
|
+
content: string;
|
|
5
|
+
completedIterations: number;
|
|
6
|
+
}
|
|
2
7
|
export interface PipelineCheckpoint {
|
|
3
8
|
completedPhases: string[];
|
|
4
9
|
spec: string;
|
|
@@ -7,6 +12,12 @@ export interface PipelineCheckpoint {
|
|
|
7
12
|
streamResults: string[];
|
|
8
13
|
issueBody: string;
|
|
9
14
|
runId: string;
|
|
15
|
+
/** Phase key that was actively executing when the checkpoint was saved. */
|
|
16
|
+
activePhase?: string;
|
|
17
|
+
/** Draft content produced by the main agent before review loops began. */
|
|
18
|
+
phaseDraft?: string;
|
|
19
|
+
/** Iteration progress within review/QA loops, keyed by stable identifiers. */
|
|
20
|
+
iterationProgress?: Record<string, IterationSnapshot>;
|
|
10
21
|
}
|
|
11
22
|
export declare function saveCheckpoint(config: SwarmConfig, checkpoint: PipelineCheckpoint): Promise<void>;
|
|
12
23
|
export declare function loadCheckpoint(config: SwarmConfig): Promise<PipelineCheckpoint | null>;
|
package/dist/checkpoint.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"checkpoint.d.ts","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;IAChB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,2EAA2E;IAC3E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;CACvD;AAqBD,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAUvG;AAED,wBAAsB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC,CAQ5F;AAED,wBAAsB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAOxE"}
|
package/dist/checkpoint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"checkpoint.js","sourceRoot":"","sources":["../src/checkpoint.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAElC,OAAO,EAAE,iBAAiB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAwBlE,mGAAmG;AACnG,KAAK,UAAU,cAAc,CAAC,MAAmB;IAC/C,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;QAClB,MAAM,WAAW,GAAG,MAAM,kBAAkB,CAAC,MAAM,CAAC,CAAC;QACrD,IAAI,WAAW,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,WAAW,EAAE,iBAAiB,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,CAAC;AACtD,CAAC;AAED,KAAK,UAAU,kBAAkB,CAAC,MAAmB;IACnD,IAAI,CAAC;QACH,OAAO,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACxE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAmB,EAAE,UAA8B;IACtF,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3B,MAAM,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;IACnD,MAAM,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAElE,wBAAwB;IACxB,MAAM,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;IAC/B,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1C,MAAM,EAAE,CAAC,SAAS,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,MAAmB;IACtD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAuB,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAAC,MAAmB;IACvD,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAC9C,IAAI,CAAC;QACH,MAAM,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,qBAAqB;IACvB,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.test.d.ts","sourceRoot":"","sources":["../src/checkpoint.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import * as fs from "node:fs/promises";
|
|
2
|
+
import * as os from "node:os";
|
|
3
|
+
import * as path from "node:path";
|
|
4
|
+
import { afterEach, describe, expect, it } from "vitest";
|
|
5
|
+
import { clearCheckpoint, loadCheckpoint, saveCheckpoint } from "./checkpoint.js";
|
|
6
|
+
function makeConfig(runId) {
|
|
7
|
+
const tmpDir = path.join(os.tmpdir(), `checkpoint-test-${Date.now()}`);
|
|
8
|
+
return {
|
|
9
|
+
command: "run",
|
|
10
|
+
repoRoot: tmpDir,
|
|
11
|
+
verbose: false,
|
|
12
|
+
resume: false,
|
|
13
|
+
tui: false,
|
|
14
|
+
planProvided: false,
|
|
15
|
+
issueBody: "test",
|
|
16
|
+
agentsDir: ".github/agents",
|
|
17
|
+
swarmDir: ".swarm",
|
|
18
|
+
runId,
|
|
19
|
+
sessionTimeoutMs: 300_000,
|
|
20
|
+
maxRetries: 2,
|
|
21
|
+
maxAutoResume: 3,
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
const cleanupDirs = [];
|
|
25
|
+
afterEach(async () => {
|
|
26
|
+
for (const dir of cleanupDirs) {
|
|
27
|
+
await fs.rm(dir, { recursive: true, force: true });
|
|
28
|
+
}
|
|
29
|
+
cleanupDirs.length = 0;
|
|
30
|
+
});
|
|
31
|
+
describe("checkpoint round-trip", () => {
|
|
32
|
+
it("saves and loads a basic checkpoint", async () => {
|
|
33
|
+
const config = makeConfig("test-basic");
|
|
34
|
+
cleanupDirs.push(config.repoRoot);
|
|
35
|
+
const checkpoint = {
|
|
36
|
+
completedPhases: ["spec-0", "decompose-1"],
|
|
37
|
+
spec: "test spec",
|
|
38
|
+
tasks: ["task1", "task2"],
|
|
39
|
+
designSpec: "design",
|
|
40
|
+
streamResults: ["result1"],
|
|
41
|
+
issueBody: "test issue",
|
|
42
|
+
runId: "test-basic",
|
|
43
|
+
};
|
|
44
|
+
await saveCheckpoint(config, checkpoint);
|
|
45
|
+
const loaded = await loadCheckpoint(config);
|
|
46
|
+
expect(loaded).toEqual(checkpoint);
|
|
47
|
+
});
|
|
48
|
+
it("saves and loads iteration progress", async () => {
|
|
49
|
+
const config = makeConfig("test-iter");
|
|
50
|
+
cleanupDirs.push(config.repoRoot);
|
|
51
|
+
const checkpoint = {
|
|
52
|
+
completedPhases: ["spec-0"],
|
|
53
|
+
spec: "spec content",
|
|
54
|
+
tasks: ["task1"],
|
|
55
|
+
designSpec: "",
|
|
56
|
+
streamResults: [],
|
|
57
|
+
issueBody: "issue",
|
|
58
|
+
runId: "test-iter",
|
|
59
|
+
activePhase: "design-2",
|
|
60
|
+
phaseDraft: "initial design draft",
|
|
61
|
+
iterationProgress: {
|
|
62
|
+
"review-0": { content: "revised after iteration 1", completedIterations: 1 },
|
|
63
|
+
"review-1": { content: "revised after iteration 2", completedIterations: 2 },
|
|
64
|
+
},
|
|
65
|
+
};
|
|
66
|
+
await saveCheckpoint(config, checkpoint);
|
|
67
|
+
const loaded = await loadCheckpoint(config);
|
|
68
|
+
expect(loaded).toEqual(checkpoint);
|
|
69
|
+
expect(loaded?.activePhase).toBe("design-2");
|
|
70
|
+
expect(loaded?.phaseDraft).toBe("initial design draft");
|
|
71
|
+
expect(loaded?.iterationProgress?.["review-0"]).toEqual({
|
|
72
|
+
content: "revised after iteration 1",
|
|
73
|
+
completedIterations: 1,
|
|
74
|
+
});
|
|
75
|
+
});
|
|
76
|
+
it("saves and loads stream-level iteration progress", async () => {
|
|
77
|
+
const config = makeConfig("test-stream-iter");
|
|
78
|
+
cleanupDirs.push(config.repoRoot);
|
|
79
|
+
const checkpoint = {
|
|
80
|
+
completedPhases: ["spec-0", "decompose-1"],
|
|
81
|
+
spec: "spec",
|
|
82
|
+
tasks: ["task1", "task2"],
|
|
83
|
+
designSpec: "design",
|
|
84
|
+
streamResults: ["done", ""],
|
|
85
|
+
issueBody: "issue",
|
|
86
|
+
runId: "test-stream-iter",
|
|
87
|
+
activePhase: "implement-3",
|
|
88
|
+
iterationProgress: {
|
|
89
|
+
"stream-0-code": { content: "initial code for stream 0", completedIterations: 0 },
|
|
90
|
+
"stream-1-code": { content: "initial code for stream 1", completedIterations: 0 },
|
|
91
|
+
"stream-1-review-0": { content: "revised stream 1 code", completedIterations: 1 },
|
|
92
|
+
},
|
|
93
|
+
};
|
|
94
|
+
await saveCheckpoint(config, checkpoint);
|
|
95
|
+
const loaded = await loadCheckpoint(config);
|
|
96
|
+
expect(loaded?.iterationProgress?.["stream-1-review-0"]).toEqual({
|
|
97
|
+
content: "revised stream 1 code",
|
|
98
|
+
completedIterations: 1,
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
it("omits optional fields when not set", async () => {
|
|
102
|
+
const config = makeConfig("test-no-iter");
|
|
103
|
+
cleanupDirs.push(config.repoRoot);
|
|
104
|
+
const checkpoint = {
|
|
105
|
+
completedPhases: [],
|
|
106
|
+
spec: "",
|
|
107
|
+
tasks: [],
|
|
108
|
+
designSpec: "",
|
|
109
|
+
streamResults: [],
|
|
110
|
+
issueBody: "issue",
|
|
111
|
+
runId: "test-no-iter",
|
|
112
|
+
};
|
|
113
|
+
await saveCheckpoint(config, checkpoint);
|
|
114
|
+
const loaded = await loadCheckpoint(config);
|
|
115
|
+
expect(loaded?.activePhase).toBeUndefined();
|
|
116
|
+
expect(loaded?.phaseDraft).toBeUndefined();
|
|
117
|
+
expect(loaded?.iterationProgress).toBeUndefined();
|
|
118
|
+
});
|
|
119
|
+
it("clears checkpoint", async () => {
|
|
120
|
+
const config = makeConfig("test-clear");
|
|
121
|
+
cleanupDirs.push(config.repoRoot);
|
|
122
|
+
await saveCheckpoint(config, {
|
|
123
|
+
completedPhases: ["spec-0"],
|
|
124
|
+
spec: "s",
|
|
125
|
+
tasks: [],
|
|
126
|
+
designSpec: "",
|
|
127
|
+
streamResults: [],
|
|
128
|
+
issueBody: "i",
|
|
129
|
+
runId: "test-clear",
|
|
130
|
+
activePhase: "design-1",
|
|
131
|
+
iterationProgress: { "review-0": { content: "c", completedIterations: 1 } },
|
|
132
|
+
});
|
|
133
|
+
await clearCheckpoint(config);
|
|
134
|
+
const loaded = await loadCheckpoint(config);
|
|
135
|
+
expect(loaded).toBeNull();
|
|
136
|
+
});
|
|
137
|
+
});
|
|
138
|
+
//# sourceMappingURL=checkpoint.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkpoint.test.js","sourceRoot":"","sources":["../src/checkpoint.test.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAgCA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AA+
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAgCA,MAAM,MAAM,YAAY,GAAG,KAAK,GAAG,MAAM,GAAG,SAAS,CAAC;AA+ItD;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,OAAO,EAAE,YAAY,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,QAAQ,CAAC,GAAG,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,UAAU,IAAI,WAAW,CAoCxC"}
|
package/dist/config.js
CHANGED
|
@@ -102,7 +102,7 @@ function parseCliArgs() {
|
|
|
102
102
|
noTui: values["no-tui"],
|
|
103
103
|
};
|
|
104
104
|
}
|
|
105
|
-
/** Extract the "Refined Requirements" section from a plan file. */
|
|
105
|
+
/** Extract the "Refined Requirements" section (and optional Engineering/Design Decisions) from a plan file. */
|
|
106
106
|
function readPlanFile(filePath) {
|
|
107
107
|
const resolved = path.isAbsolute(filePath) ? filePath : path.join(repoRoot, filePath);
|
|
108
108
|
if (!fs.existsSync(resolved)) {
|
|
@@ -116,11 +116,24 @@ function readPlanFile(filePath) {
|
|
|
116
116
|
console.error(`Error: Plan file does not contain a "${marker}" section: ${resolved}`);
|
|
117
117
|
process.exit(1);
|
|
118
118
|
}
|
|
119
|
-
|
|
119
|
+
const sections = [];
|
|
120
|
+
// Extract Refined Requirements
|
|
120
121
|
const afterMarker = content.substring(start + marker.length);
|
|
121
122
|
const nextHeading = afterMarker.indexOf("\n## ");
|
|
122
|
-
|
|
123
|
-
|
|
123
|
+
sections.push((nextHeading !== -1 ? afterMarker.substring(0, nextHeading) : afterMarker).trim());
|
|
124
|
+
// Also include Engineering Decisions and Design Decisions if present
|
|
125
|
+
for (const section of ["## Engineering Decisions", "## Design Decisions"]) {
|
|
126
|
+
const sStart = content.indexOf(section);
|
|
127
|
+
if (sStart !== -1) {
|
|
128
|
+
const afterSection = content.substring(sStart + section.length);
|
|
129
|
+
const sNext = afterSection.indexOf("\n## ");
|
|
130
|
+
const body = (sNext !== -1 ? afterSection.substring(0, sNext) : afterSection).trim();
|
|
131
|
+
if (body) {
|
|
132
|
+
sections.push(`${section.replace("## ", "### ")}\n\n${body}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return sections.join("\n\n");
|
|
124
137
|
}
|
|
125
138
|
/** Read the entire contents of a file as the prompt. */
|
|
126
139
|
function readPromptFile(filePath) {
|
|
@@ -154,7 +167,8 @@ export function loadConfig() {
|
|
|
154
167
|
repoRoot,
|
|
155
168
|
verbose: cli.verbose || readEnvBoolean("VERBOSE", false),
|
|
156
169
|
resume: cli.resume,
|
|
157
|
-
tui:
|
|
170
|
+
tui: !cli.noTui && !cli.verbose && process.stdout.isTTY === true,
|
|
171
|
+
planProvided: cli.planFile !== undefined,
|
|
158
172
|
issueBody: issueBody ?? "",
|
|
159
173
|
agentsDir: readEnvString("AGENTS_DIR", ".github/agents"),
|
|
160
174
|
swarmDir,
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
+
import * as path from "node:path";
|
|
2
3
|
import { loadConfig } from "./config.js";
|
|
3
4
|
import { Logger } from "./logger.js";
|
|
4
5
|
import { msg } from "./messages.js";
|
|
5
6
|
import { SwarmOrchestrator } from "./orchestrator.js";
|
|
7
|
+
import { analysisDir, plansDir } from "./paths.js";
|
|
6
8
|
import { PlanningEngine } from "./planning-engine.js";
|
|
9
|
+
import { ProgressTracker } from "./progress-tracker.js";
|
|
10
|
+
import { TuiRenderer } from "./tui-renderer.js";
|
|
7
11
|
const config = loadConfig();
|
|
8
12
|
const logger = new Logger(config.verbose, config.runId);
|
|
9
13
|
const showLogOnError = (err) => {
|
|
@@ -12,24 +16,81 @@ const showLogOnError = (err) => {
|
|
|
12
16
|
}
|
|
13
17
|
throw err;
|
|
14
18
|
};
|
|
19
|
+
function fmtElapsed(ms) {
|
|
20
|
+
const sec = Math.floor(ms / 1000);
|
|
21
|
+
const m = Math.floor(sec / 60);
|
|
22
|
+
const s = sec % 60;
|
|
23
|
+
return `${String(m).padStart(2, "0")}:${String(s).padStart(2, "0")}`;
|
|
24
|
+
}
|
|
25
|
+
function printSummary(heading, outputDir, tracker) {
|
|
26
|
+
console.log("");
|
|
27
|
+
console.log(msg.summaryDivider);
|
|
28
|
+
console.log(heading);
|
|
29
|
+
if (tracker) {
|
|
30
|
+
const done = tracker.phases.filter((p) => p.status === "done").length;
|
|
31
|
+
const skipped = tracker.phases.filter((p) => p.status === "skipped").length;
|
|
32
|
+
console.log(msg.summaryPhases(done, tracker.totalPhaseCount, skipped));
|
|
33
|
+
}
|
|
34
|
+
console.log(msg.summaryOutput(outputDir));
|
|
35
|
+
if (logger.logFilePath) {
|
|
36
|
+
console.log(msg.logFileHint(logger.logFilePath));
|
|
37
|
+
}
|
|
38
|
+
console.log(msg.summaryDivider);
|
|
39
|
+
}
|
|
15
40
|
if (config.command === "plan") {
|
|
16
41
|
const pipeline = (await import("./pipeline-config.js")).loadPipelineConfig(config.repoRoot);
|
|
17
|
-
|
|
42
|
+
let tracker;
|
|
43
|
+
let renderer;
|
|
44
|
+
if (config.tui) {
|
|
45
|
+
tracker = new ProgressTracker();
|
|
46
|
+
tracker.runId = config.runId;
|
|
47
|
+
renderer = new TuiRenderer(tracker);
|
|
48
|
+
logger.setTracker(tracker);
|
|
49
|
+
}
|
|
50
|
+
const startMs = Date.now();
|
|
51
|
+
const planner = new PlanningEngine(config, pipeline, logger, tracker, renderer);
|
|
52
|
+
renderer?.start();
|
|
18
53
|
planner
|
|
19
54
|
.start()
|
|
20
55
|
.then(() => planner.execute())
|
|
21
56
|
.catch(showLogOnError)
|
|
22
|
-
.finally(() =>
|
|
57
|
+
.finally(() => {
|
|
58
|
+
renderer?.stop();
|
|
59
|
+
if (tracker)
|
|
60
|
+
logger.setTracker(null);
|
|
61
|
+
planner.stop();
|
|
62
|
+
const elapsed = fmtElapsed(tracker?.elapsedMs ?? Date.now() - startMs);
|
|
63
|
+
const outDir = path.relative(config.repoRoot, plansDir(config));
|
|
64
|
+
printSummary(msg.summaryPlanComplete(elapsed), outDir, tracker);
|
|
65
|
+
});
|
|
23
66
|
}
|
|
24
67
|
else if (config.command === "analyze") {
|
|
25
68
|
const pipeline = (await import("./pipeline-config.js")).loadPipelineConfig(config.repoRoot);
|
|
26
69
|
const { AnalysisEngine } = await import("./analysis-engine.js");
|
|
27
|
-
|
|
70
|
+
let tracker;
|
|
71
|
+
let renderer;
|
|
72
|
+
if (config.tui) {
|
|
73
|
+
tracker = new ProgressTracker();
|
|
74
|
+
tracker.runId = config.runId;
|
|
75
|
+
renderer = new TuiRenderer(tracker);
|
|
76
|
+
logger.setTracker(tracker);
|
|
77
|
+
}
|
|
78
|
+
const startMs = Date.now();
|
|
79
|
+
const analyzer = new AnalysisEngine(config, pipeline, logger, tracker);
|
|
80
|
+
renderer?.start();
|
|
28
81
|
analyzer
|
|
29
82
|
.start()
|
|
30
83
|
.then(() => analyzer.execute())
|
|
31
84
|
.catch(showLogOnError)
|
|
32
|
-
.finally(() =>
|
|
85
|
+
.finally(() => {
|
|
86
|
+
renderer?.stop();
|
|
87
|
+
if (tracker)
|
|
88
|
+
logger.setTracker(null);
|
|
89
|
+
analyzer.stop();
|
|
90
|
+
const elapsed = fmtElapsed(tracker?.elapsedMs ?? Date.now() - startMs);
|
|
91
|
+
const outDir = path.relative(config.repoRoot, analysisDir(config));
|
|
92
|
+
printSummary(msg.summaryAnalyzeComplete(elapsed), outDir, tracker);
|
|
93
|
+
});
|
|
33
94
|
}
|
|
34
95
|
else {
|
|
35
96
|
logger.info(msg.startingSwarm);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/messages.d.ts
CHANGED
|
@@ -18,6 +18,7 @@ export declare const msg: {
|
|
|
18
18
|
readonly streamLabel: (idx: number) => string;
|
|
19
19
|
readonly streamStart: (label: string, task: string) => string;
|
|
20
20
|
readonly streamEngineering: (label: string) => string;
|
|
21
|
+
readonly streamClarification: (label: string) => string;
|
|
21
22
|
readonly streamCodeReview: (label: string, agent: string) => string;
|
|
22
23
|
readonly streamQa: (label: string) => string;
|
|
23
24
|
readonly crossModelSkipped: "\n⏭️ Skipping Cross-Model Review (review model equals primary model).";
|
|
@@ -40,7 +41,15 @@ export declare const msg: {
|
|
|
40
41
|
readonly intentUpdate: (intent: string) => string;
|
|
41
42
|
readonly planningStart: "🧠 Starting Planning Mode...";
|
|
42
43
|
readonly planningPmPhase: "\n[Planning: Requirements Clarification]";
|
|
44
|
+
readonly planningEngClarifyPhase: "\n[Planning: Engineer Clarification]";
|
|
45
|
+
readonly planningDesignClarifyPhase: "\n[Planning: Designer Clarification]";
|
|
43
46
|
readonly planningEngPhase: "\n[Planning: Technical Analysis]";
|
|
47
|
+
readonly planningReviewPhase: (section: string) => string;
|
|
48
|
+
readonly planReviewIteration: (i: number, max: number) => string;
|
|
49
|
+
readonly planReviewApproved: (section: string) => string;
|
|
50
|
+
readonly planReviewFeedback: (preview: string) => string;
|
|
51
|
+
readonly planCrossModelPhase: (model: string) => string;
|
|
52
|
+
readonly planCrossModelApproved: " ✅ Plan approved by cross-model reviewer";
|
|
44
53
|
readonly planningComplete: "\n✅ Planning complete.";
|
|
45
54
|
readonly planSaved: (path: string) => string;
|
|
46
55
|
readonly planningUserPrompt: "\n💬 Your answer (empty line to send, or press Enter to skip):\n";
|
|
@@ -57,10 +66,21 @@ export declare const msg: {
|
|
|
57
66
|
readonly resuming: (completedCount: number) => string;
|
|
58
67
|
readonly noCheckpoint: "⚠️ No checkpoint found — starting from the beginning";
|
|
59
68
|
readonly phaseSkipped: (phase: string) => string;
|
|
69
|
+
readonly specSkippedPlan: "⏭️ Skipping spec phase (plan provided — requirements already refined)";
|
|
60
70
|
readonly streamSkipped: (label: string) => string;
|
|
71
|
+
readonly draftResumed: " ⏭️ Resuming from saved draft";
|
|
72
|
+
readonly iterationResumed: (completed: number, max: number) => string;
|
|
61
73
|
readonly partialStreamFailure: (failed: number, total: number) => string;
|
|
62
74
|
readonly autoResumeAttempt: (attempt: number, max: number) => string;
|
|
63
75
|
readonly autoResumeExhausted: (max: number) => string;
|
|
64
76
|
readonly logFileHint: (path: string) => string;
|
|
77
|
+
readonly summaryDivider: string;
|
|
78
|
+
readonly summaryRunSuccess: (elapsed: string) => string;
|
|
79
|
+
readonly summaryRunFailed: (elapsed: string) => string;
|
|
80
|
+
readonly summaryPlanComplete: (elapsed: string) => string;
|
|
81
|
+
readonly summaryAnalyzeComplete: (elapsed: string) => string;
|
|
82
|
+
readonly summaryPhases: (done: number, total: number, skipped: number) => string;
|
|
83
|
+
readonly summaryStreams: (done: number, failed: number, total: number) => string;
|
|
84
|
+
readonly summaryOutput: (path: string) => string;
|
|
65
85
|
};
|
|
66
86
|
//# sourceMappingURL=messages.d.ts.map
|
package/dist/messages.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,eAAO,MAAM,GAAG;;;mCAIQ,MAAM,UAAU,MAAM,WAAW,OAAO;sCAErC,MAAM;;;;kCAMV,MAAM;;kCAEN,MAAM,EAAE;;;;;uCASH,MAAM;gCACb,MAAM;kCACJ,MAAM,QAAQ,MAAM;wCACd,MAAM;
|
|
1
|
+
{"version":3,"file":"messages.d.ts","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,eAAO,MAAM,GAAG;;;mCAIQ,MAAM,UAAU,MAAM,WAAW,OAAO;sCAErC,MAAM;;;;kCAMV,MAAM;;kCAEN,MAAM,EAAE;;;;;uCASH,MAAM;gCACb,MAAM;kCACJ,MAAM,QAAQ,MAAM;wCACd,MAAM;0CACJ,MAAM;uCACT,MAAM,SAAS,MAAM;+BAC7B,MAAM;;sCAIC,MAAM;6CACC,MAAM;kCAGjB,MAAM,OAAO,MAAM;8BACvB,MAAM,OAAO,MAAM;sCACX,MAAM,OAAO,MAAM,SAAS,MAAM;+BAIzC,MAAM;;;;yCAII,MAAM;qCACV,MAAM;;;oCAKP,MAAM,WAAW,MAAM,OAAO,MAAM;gCAExC,MAAM,WAAW,MAAM,OAAO,MAAM;mCAGjC,MAAM;oCACL,MAAM;;;;;;4CAQE,MAAM;sCACZ,MAAM,OAAO,MAAM;2CACd,MAAM;2CACN,MAAM;0CACP,MAAM;;;+BAGjB,MAAM;;;;4CAMO,MAAM;yCACT,MAAM;mCACZ,MAAM,OAAO,MAAM;;wCAEd,MAAM;;kCAEZ,MAAM;sCAGF,MAAM;wCACJ,MAAM;;mCAEX,MAAM;;oCAEL,MAAM;;2CAEC,MAAM,OAAO,MAAM;4CAClB,MAAM,SAAS,MAAM;0CAEvB,MAAM,OAAO,MAAM;wCAErB,MAAM;iCAIb,MAAM;;0CAIG,MAAM;yCACP,MAAM;4CACH,MAAM;+CACH,MAAM;mCAClB,MAAM,SAAS,MAAM,WAAW,MAAM;oCAKrC,MAAM,UAAU,MAAM,SAAS,MAAM;mCAKtC,MAAM;CACpB,CAAC"}
|