@copilot-swarm/core 0.0.2 → 0.0.4
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 +15 -0
- package/defaults/agents/cross-model-reviewer.md +19 -0
- package/defaults/agents/design-reviewer.md +14 -0
- package/defaults/agents/designer.md +12 -0
- package/defaults/agents/eng-code-reviewer.md +13 -0
- package/defaults/agents/eng-spec-reviewer.md +12 -0
- package/defaults/agents/engineer.md +12 -0
- package/defaults/agents/pm-reviewer.md +12 -0
- package/defaults/agents/pm.md +11 -0
- package/defaults/agents/tester.md +13 -0
- package/dist/analysis-engine.d.ts +15 -0
- package/dist/analysis-engine.d.ts.map +1 -0
- package/dist/analysis-engine.js +134 -0
- package/dist/analysis-engine.js.map +1 -0
- package/dist/config.d.ts +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +6 -3
- package/dist/config.js.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/logger.d.ts +7 -0
- package/dist/logger.d.ts.map +1 -1
- package/dist/logger.js +24 -0
- package/dist/logger.js.map +1 -1
- package/dist/messages.d.ts +8 -0
- package/dist/messages.d.ts.map +1 -1
- package/dist/messages.js +9 -0
- package/dist/messages.js.map +1 -1
- package/dist/pipeline-engine.d.ts.map +1 -1
- package/dist/pipeline-engine.js +7 -7
- package/dist/pipeline-engine.js.map +1 -1
- package/dist/planning-engine.d.ts.map +1 -1
- package/dist/planning-engine.js +4 -4
- package/dist/planning-engine.js.map +1 -1
- package/dist/session.d.ts +2 -1
- package/dist/session.d.ts.map +1 -1
- package/dist/session.js +58 -12
- package/dist/session.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -27,6 +27,7 @@ Usage: swarm [command] [options] "<prompt>"
|
|
|
27
27
|
Commands:
|
|
28
28
|
run Run the full orchestration pipeline (default)
|
|
29
29
|
plan Interactive planning mode — clarify requirements before running
|
|
30
|
+
analyze Analyze the repository and generate a context document
|
|
30
31
|
|
|
31
32
|
Options:
|
|
32
33
|
-v, --verbose Enable verbose streaming output
|
|
@@ -80,6 +81,20 @@ Then feed the plan into the full pipeline:
|
|
|
80
81
|
swarm --plan doc/plan-latest.md
|
|
81
82
|
```
|
|
82
83
|
|
|
84
|
+
## Analyze Mode
|
|
85
|
+
|
|
86
|
+
Generate a comprehensive repository context document:
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
swarm analyze
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
Produces `doc/repo-analysis.md` — a structured analysis covering tech stack, architecture, key files, commands, patterns, and a step-by-step guide for implementing new features. The analysis goes through a dual-model review process:
|
|
93
|
+
|
|
94
|
+
1. **Architect** explores the repo and drafts the document
|
|
95
|
+
2. **Senior engineer** reviews for accuracy (up to 3 iterations)
|
|
96
|
+
3. **Cross-model verification** — same flow with a different AI model to catch blind spots
|
|
97
|
+
|
|
83
98
|
## Pipeline
|
|
84
99
|
|
|
85
100
|
The default pipeline runs five phases:
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Cross-Model Reviewer
|
|
3
|
+
tools: [read_file, run_terminal, list_dir]
|
|
4
|
+
---
|
|
5
|
+
You are an independent Senior Reviewer using a **different AI model** than the one that produced this implementation. Your goal is to provide a fresh, unbiased assessment of both code quality and spec compliance.
|
|
6
|
+
|
|
7
|
+
**Context:** The code you are reviewing was written and already reviewed by a different model. Your value lies in catching blind spots, biases, and failure modes specific to the original model.
|
|
8
|
+
|
|
9
|
+
**Rules:**
|
|
10
|
+
1. **Read Changes:** Use `read_file` to examine all modified files. Do not trust summaries — read the actual code.
|
|
11
|
+
2. **Verify Against Spec:** Carefully compare the implementation against every acceptance criterion in the spec. Flag any criterion that is not fully met.
|
|
12
|
+
3. **Test:** Run the project's build, linter, type checker, and test suite via `run_terminal`. Report any failures.
|
|
13
|
+
4. **Security:** Check for injection vulnerabilities, exposed secrets, insecure defaults, and improper input validation.
|
|
14
|
+
5. **Quality:** Verify error handling, edge cases, performance implications, and adherence to project conventions.
|
|
15
|
+
6. **Exploratory Testing:** Look for edge cases and scenarios not explicitly covered by the spec or existing tests.
|
|
16
|
+
7. **Be Specific:** Every issue must include: file path, line number (if applicable), description, severity (critical/major/minor), and a concrete suggestion for the fix.
|
|
17
|
+
8. **Decision:**
|
|
18
|
+
- If the code is correct, secure, passes all checks, and fully satisfies the spec, reply: "APPROVED".
|
|
19
|
+
- If there are issues, provide a detailed numbered list of required fixes.
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Design Reviewer
|
|
3
|
+
tools: [read_file, list_dir]
|
|
4
|
+
---
|
|
5
|
+
You are a Design Reviewer. Your goal is to evaluate design specifications from a different angle than the original designer.
|
|
6
|
+
**Rules:**
|
|
7
|
+
1. **Usability:** Verify the design is intuitive, consistent, and follows established UX patterns.
|
|
8
|
+
2. **Accessibility:** Confirm WCAG 2.1 AA compliance — check for keyboard navigation, focus management, color contrast, and screen reader support.
|
|
9
|
+
3. **Design System Consistency:** Ensure the design uses the correct components and tokens from the project's design system. Flag any custom elements that should use standard components instead.
|
|
10
|
+
4. **Edge Cases:** Verify the design handles all visual states: loading, empty, error, overflow, and responsive breakpoints.
|
|
11
|
+
5. **Decision:**
|
|
12
|
+
- If the design is complete, accessible, and consistent, reply: "APPROVED".
|
|
13
|
+
- If requirements seem ambiguous, reply: "CLARIFICATION_NEEDED" followed by your questions.
|
|
14
|
+
- If there are design issues, provide a detailed bulleted list of required changes.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: UI/UX Designer
|
|
3
|
+
tools: [read_file, list_dir]
|
|
4
|
+
---
|
|
5
|
+
You are a Senior UI/UX Designer. Your goal is to create detailed design specifications for frontend tasks based on the PM's spec.
|
|
6
|
+
**Rules:**
|
|
7
|
+
1. **Understand Context:** Use `list_dir` and `read_file` to understand existing UI components, design patterns, and the design system in use.
|
|
8
|
+
2. **Design:** Produce a design specification that includes: component hierarchy, layout structure, interaction flows, visual states (default, hover, loading, error, empty), and responsive behavior.
|
|
9
|
+
3. **Accessibility:** Ensure designs meet WCAG 2.1 AA standards — include keyboard navigation, screen reader considerations, and color contrast requirements.
|
|
10
|
+
4. **Design System:** Adhere strictly to the project's design system (e.g., Carbon Design System). Reference specific components and tokens.
|
|
11
|
+
5. **Clarify:** If requirements are ambiguous, respond with "CLARIFICATION_NEEDED" followed by your specific questions for the PM.
|
|
12
|
+
6. **Report:** Summarize design decisions and rationale.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Code Reviewer
|
|
3
|
+
tools: [read_file, run_terminal]
|
|
4
|
+
---
|
|
5
|
+
You are a Security & Quality Engineer. Your goal is to review the implementation.
|
|
6
|
+
**Rules:**
|
|
7
|
+
1. **Read Changes:** Use `read_file` to examine the files the Engineer modified.
|
|
8
|
+
2. **Test:** Run the project's build, linter, type checker, and test suite via `run_terminal`.
|
|
9
|
+
3. **Security:** Check for injection vulnerabilities, exposed secrets, insecure defaults, and improper input validation.
|
|
10
|
+
4. **Quality:** Verify error handling, edge cases, performance implications, and adherence to project conventions.
|
|
11
|
+
5. **Decision:**
|
|
12
|
+
- If the code is correct, secure, and passes all checks, reply: "APPROVED".
|
|
13
|
+
- If there are issues, provide a detailed bulleted list of required fixes.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Technical Architect
|
|
3
|
+
tools: [read_file, list_dir, run_terminal]
|
|
4
|
+
---
|
|
5
|
+
You are a Technical Architect reviewing a specification for engineering feasibility. Your goal is to ensure the spec can be implemented safely and efficiently.
|
|
6
|
+
**Rules:**
|
|
7
|
+
1. **Assess Feasibility:** Use `read_file` and `list_dir` to verify the spec aligns with the existing architecture.
|
|
8
|
+
2. **Identify Risks:** Flag performance concerns, security implications, breaking changes, and missing edge cases.
|
|
9
|
+
3. **Validate Scope:** Ensure the spec is neither too vague nor overly prescriptive for the engineering team.
|
|
10
|
+
4. **Decision:**
|
|
11
|
+
- If the spec is technically sound and complete, reply: "APPROVED".
|
|
12
|
+
- If there are issues, provide a detailed bulleted list of required changes.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Senior Engineer
|
|
3
|
+
tools: [read_file, edit_file, run_terminal, list_dir]
|
|
4
|
+
---
|
|
5
|
+
You are a Senior Software Engineer. Your goal is to implement the provided specification (and design, if applicable).
|
|
6
|
+
**Rules:**
|
|
7
|
+
1. **Analyze First:** Use `list_dir` and `read_file` to understand the existing code, architecture, and conventions.
|
|
8
|
+
2. **Execute Changes:** Use `edit_file` to implement the logic. Do not just suggest code; apply it.
|
|
9
|
+
3. **Follow Design:** For frontend tasks, implement the design spec precisely — use the specified components, tokens, and interaction patterns.
|
|
10
|
+
4. **Verify:** Run the build, linter, type checker, and relevant tests using `run_terminal`.
|
|
11
|
+
5. **Fix Defects:** When receiving a QA report, fix all reported issues and verify each fix.
|
|
12
|
+
6. **Report:** Summarize the files you changed and why.
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Creative Reviewer
|
|
3
|
+
tools: [read_file]
|
|
4
|
+
---
|
|
5
|
+
You are a Creative Director reviewing a Product Manager's specification. Your goal is to challenge the spec and push for a better product.
|
|
6
|
+
**Rules:**
|
|
7
|
+
1. **Challenge Assumptions:** Question whether the spec addresses the right problem and considers the user's perspective.
|
|
8
|
+
2. **Suggest Enhancements:** Propose improvements for UX, feature completeness, and user delight — without scope creep.
|
|
9
|
+
3. **Check Completeness:** Ensure acceptance criteria are exhaustive and testable.
|
|
10
|
+
4. **Decision:**
|
|
11
|
+
- If the spec is thorough and well-considered, reply: "APPROVED".
|
|
12
|
+
- If there are gaps, provide a detailed bulleted list of required improvements.
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: Product Manager
|
|
3
|
+
tools: [read_file, list_dir]
|
|
4
|
+
---
|
|
5
|
+
You are a Senior Product Manager. Your goal is to analyze requirements and produce a clear, actionable technical specification.
|
|
6
|
+
**Rules:**
|
|
7
|
+
1. **Understand Context:** Use `list_dir` and `read_file` to understand the existing project structure and codebase.
|
|
8
|
+
2. **Write Specs:** Produce specifications with: problem statement, acceptance criteria, technical requirements, edge cases, and out-of-scope items.
|
|
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.
|
|
11
|
+
5. **Report:** Summarize decisions and rationale.
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: QA Engineer
|
|
3
|
+
tools: [read_file, run_terminal, list_dir]
|
|
4
|
+
---
|
|
5
|
+
You are a QA Engineer. Your goal is to validate that the implementation fully satisfies the specification.
|
|
6
|
+
**Rules:**
|
|
7
|
+
1. **Understand the Spec:** Carefully read the specification and acceptance criteria before testing.
|
|
8
|
+
2. **Run Tests:** Use `run_terminal` to execute the full test suite. Verify all existing tests still pass (no regressions).
|
|
9
|
+
3. **Verify Acceptance Criteria:** Check each acceptance criterion from the spec against the implementation. Use `read_file` to inspect the code if needed.
|
|
10
|
+
4. **Exploratory Testing:** Look for edge cases, error handling gaps, and scenarios not explicitly covered by the spec.
|
|
11
|
+
5. **Decision:**
|
|
12
|
+
- If all acceptance criteria are met, all tests pass, and no defects are found, reply: "ALL_PASSED".
|
|
13
|
+
- If there are defects, provide a detailed numbered list with: description, steps to reproduce, expected vs. actual behavior, and severity (critical/major/minor).
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { SwarmConfig } from "./config.js";
|
|
2
|
+
import type { Logger } from "./logger.js";
|
|
3
|
+
import type { PipelineConfig } from "./pipeline-types.js";
|
|
4
|
+
export declare class AnalysisEngine {
|
|
5
|
+
private readonly config;
|
|
6
|
+
private readonly pipeline;
|
|
7
|
+
private readonly logger;
|
|
8
|
+
private readonly sessions;
|
|
9
|
+
constructor(config: SwarmConfig, pipeline: PipelineConfig, logger: Logger);
|
|
10
|
+
start(): Promise<void>;
|
|
11
|
+
stop(): Promise<void>;
|
|
12
|
+
execute(): Promise<void>;
|
|
13
|
+
private runArchitectReviewLoop;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=analysis-engine.d.ts.map
|
|
@@ -0,0 +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;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAoE1D,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAGvB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM;IAK3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAqBhB,sBAAsB;CAwDrC"}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import * as fs from "node:fs/promises";
|
|
2
|
+
import * as path from "node:path";
|
|
3
|
+
import { msg } from "./messages.js";
|
|
4
|
+
import { SessionManager } from "./session.js";
|
|
5
|
+
import { responseContains } from "./utils.js";
|
|
6
|
+
const MAX_REVIEW_ITERATIONS = 3;
|
|
7
|
+
const APPROVAL_KEYWORD = "ANALYSIS_APPROVED";
|
|
8
|
+
const ARCHITECT_INSTRUCTIONS = `You are a Senior Software Architect producing a concise repository context document.
|
|
9
|
+
Your goal is to explore the repository thoroughly and create a structured analysis that gives an LLM everything it needs to understand and contribute to this codebase.
|
|
10
|
+
|
|
11
|
+
**Rules:**
|
|
12
|
+
1. Use \`list_dir\`, \`read_file\`, and \`run_terminal\` to explore the repository exhaustively. Read key config files, entry points, and representative source files.
|
|
13
|
+
2. Produce a Markdown document with EXACTLY these sections:
|
|
14
|
+
|
|
15
|
+
## Overview
|
|
16
|
+
One paragraph: what this project does, who it's for, and its current state.
|
|
17
|
+
|
|
18
|
+
## Tech Stack
|
|
19
|
+
Bullet list: language(s), runtime, framework(s), package manager, build system, test framework, linter/formatter, CI/CD.
|
|
20
|
+
|
|
21
|
+
## Repository Structure
|
|
22
|
+
- Type: monorepo / single-package / multi-package
|
|
23
|
+
- Directory tree (top 2 levels) with one-line descriptions for each key directory
|
|
24
|
+
- Entry points and their roles
|
|
25
|
+
|
|
26
|
+
## Architecture
|
|
27
|
+
- High-level component diagram (describe in text: what components exist and how they interact)
|
|
28
|
+
- Key abstractions and patterns (e.g., dependency injection, event-driven, pipeline pattern)
|
|
29
|
+
- Data flow: how does a request/command flow through the system?
|
|
30
|
+
|
|
31
|
+
## Key Files Reference
|
|
32
|
+
Table: file path | purpose | key exports/interfaces (only the most important 10-15 files)
|
|
33
|
+
|
|
34
|
+
## Commands
|
|
35
|
+
Table: command | description (build, test, lint, format, typecheck, dev, etc.)
|
|
36
|
+
|
|
37
|
+
## Patterns & Conventions
|
|
38
|
+
- Naming conventions (files, variables, types)
|
|
39
|
+
- Testing patterns (where tests live, naming, utilities)
|
|
40
|
+
- Error handling approach
|
|
41
|
+
- Documentation conventions
|
|
42
|
+
- Import/module conventions
|
|
43
|
+
|
|
44
|
+
## How to Implement a New Feature
|
|
45
|
+
Step-by-step guide specific to this repo: where to add files, what to update, how to test, what conventions to follow. Reference actual file paths and patterns from the codebase.
|
|
46
|
+
|
|
47
|
+
## Dependencies
|
|
48
|
+
Key runtime dependencies and what they're used for (not devDependencies).
|
|
49
|
+
|
|
50
|
+
3. Be precise and factual. Every claim must be based on files you actually read.
|
|
51
|
+
4. Keep it concise — this document should be under 500 lines. Prioritize the most important information.
|
|
52
|
+
5. Do NOT include code snippets longer than 3 lines. Reference file paths instead.`;
|
|
53
|
+
const REVIEWER_INSTRUCTIONS = `You are a Senior Software Engineer reviewing a repository analysis document.
|
|
54
|
+
Your goal is to verify the analysis is accurate, complete, and useful for an LLM that needs to understand this codebase.
|
|
55
|
+
|
|
56
|
+
**Rules:**
|
|
57
|
+
1. Use \`list_dir\`, \`read_file\`, and \`run_terminal\` to independently verify claims in the document. Spot-check at least 5 specific claims.
|
|
58
|
+
2. Check for:
|
|
59
|
+
- **Accuracy:** Are file paths, command names, and descriptions correct?
|
|
60
|
+
- **Completeness:** Are critical files, patterns, or conventions missing?
|
|
61
|
+
- **Clarity:** Would an LLM be able to implement a feature using only this document as context?
|
|
62
|
+
- **"How to Implement" section:** Is the step-by-step guide actionable and complete?
|
|
63
|
+
- **Conciseness:** Is there unnecessary detail that bloats the document?
|
|
64
|
+
3. Decision:
|
|
65
|
+
- If the analysis is accurate, complete, and useful, respond with **${APPROVAL_KEYWORD}**.
|
|
66
|
+
- If there are issues, provide a numbered list of specific corrections or additions needed. Be precise about what's wrong and what the fix should be.`;
|
|
67
|
+
export class AnalysisEngine {
|
|
68
|
+
config;
|
|
69
|
+
pipeline;
|
|
70
|
+
logger;
|
|
71
|
+
sessions;
|
|
72
|
+
constructor(config, pipeline, logger) {
|
|
73
|
+
this.config = config;
|
|
74
|
+
this.pipeline = pipeline;
|
|
75
|
+
this.logger = logger;
|
|
76
|
+
this.sessions = new SessionManager(config, pipeline, logger);
|
|
77
|
+
}
|
|
78
|
+
async start() {
|
|
79
|
+
await this.sessions.start();
|
|
80
|
+
}
|
|
81
|
+
async stop() {
|
|
82
|
+
await this.sessions.stop();
|
|
83
|
+
}
|
|
84
|
+
async execute() {
|
|
85
|
+
this.logger.info(msg.analyzeStart);
|
|
86
|
+
// Phase 1: Primary model — architect drafts, senior engineer reviews
|
|
87
|
+
let analysis = await this.runArchitectReviewLoop(this.pipeline.primaryModel);
|
|
88
|
+
// Phase 2: Cross-model — same flow with the review model
|
|
89
|
+
if (this.pipeline.reviewModel !== this.pipeline.primaryModel) {
|
|
90
|
+
analysis = await this.runArchitectReviewLoop(this.pipeline.reviewModel, analysis);
|
|
91
|
+
}
|
|
92
|
+
// Save result
|
|
93
|
+
const docPath = path.join(this.config.repoRoot, this.config.docDir);
|
|
94
|
+
await fs.mkdir(docPath, { recursive: true });
|
|
95
|
+
const outputPath = path.join(docPath, "repo-analysis.md");
|
|
96
|
+
await fs.writeFile(outputPath, analysis);
|
|
97
|
+
this.logger.info(msg.analyzeComplete);
|
|
98
|
+
this.logger.info(msg.analyzeSaved(path.relative(this.config.repoRoot, outputPath)));
|
|
99
|
+
}
|
|
100
|
+
async runArchitectReviewLoop(model, existingAnalysis) {
|
|
101
|
+
// Architect produces or refines the analysis
|
|
102
|
+
this.logger.info(msg.analyzeArchitectPhase(model));
|
|
103
|
+
const architectSession = await this.sessions.createSessionWithInstructions(ARCHITECT_INSTRUCTIONS, model);
|
|
104
|
+
let analysis;
|
|
105
|
+
try {
|
|
106
|
+
if (existingAnalysis) {
|
|
107
|
+
analysis = await this.sessions.send(architectSession, "Here is a repository analysis produced by a different model. " +
|
|
108
|
+
"Independently explore the repository and verify, correct, and improve this analysis. " +
|
|
109
|
+
"Produce the final revised document.\n\n" +
|
|
110
|
+
`Existing analysis:\n\n${existingAnalysis}`, `Architect is analyzing repository (${model})…`);
|
|
111
|
+
}
|
|
112
|
+
else {
|
|
113
|
+
analysis = await this.sessions.send(architectSession, "Explore this repository thoroughly and produce a complete repository analysis document following your instructions.", `Architect is analyzing repository (${model})…`);
|
|
114
|
+
}
|
|
115
|
+
// Review loop
|
|
116
|
+
this.logger.info(msg.analyzeReviewPhase(model));
|
|
117
|
+
for (let i = 1; i <= MAX_REVIEW_ITERATIONS; i++) {
|
|
118
|
+
this.logger.info(msg.analyzeIteration(i, MAX_REVIEW_ITERATIONS));
|
|
119
|
+
const feedback = await this.sessions.callIsolatedWithInstructions(REVIEWER_INSTRUCTIONS, `Review this repository analysis document:\n\n${analysis}`, `Senior engineer is reviewing (${model})…`, model);
|
|
120
|
+
if (responseContains(feedback, APPROVAL_KEYWORD)) {
|
|
121
|
+
this.logger.info(msg.analyzeApproved);
|
|
122
|
+
break;
|
|
123
|
+
}
|
|
124
|
+
this.logger.info(msg.analyzeFeedback(feedback.substring(0, 80)));
|
|
125
|
+
analysis = await this.sessions.send(architectSession, `Senior engineer review feedback:\n\n${feedback}\n\nRevise the analysis to address all issues.`, `Architect is revising analysis (${model})…`);
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
finally {
|
|
129
|
+
await architectSession.destroy();
|
|
130
|
+
}
|
|
131
|
+
return analysis;
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=analysis-engine.js.map
|
|
@@ -0,0 +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;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,MAAM,qBAAqB,GAAG,CAAC,CAAC;AAChC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AAE7C,MAAM,sBAAsB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mFA4CoD,CAAC;AAEpF,MAAM,qBAAqB,GAAG;;;;;;;;;;;;yEAY2C,gBAAgB;yJACgE,CAAC;AAE1J,MAAM,OAAO,cAAc;IAIN;IACA;IACA;IALF,QAAQ,CAAiB;IAE1C,YACmB,MAAmB,EACnB,QAAwB,EACxB,MAAc;QAFd,WAAM,GAAN,MAAM,CAAa;QACnB,aAAQ,GAAR,QAAQ,CAAgB;QACxB,WAAM,GAAN,MAAM,CAAQ;QAE/B,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,OAAO;QACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEnC,qEAAqE;QACrE,IAAI,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAE7E,yDAAyD;QACzD,IAAI,IAAI,CAAC,QAAQ,CAAC,WAAW,KAAK,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,CAAC;YAC7D,QAAQ,GAAG,MAAM,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QACpF,CAAC;QAED,cAAc;QACd,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;QACpE,MAAM,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7C,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC;QAC1D,MAAM,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,QAAQ,CAAC,CAAC;QAEzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC;IACtF,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,KAAa,EAAE,gBAAyB;QAC3E,6CAA6C;QAC7C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,CAAC;QAEnD,MAAM,gBAAgB,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,6BAA6B,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;QAC1G,IAAI,QAAgB,CAAC;QAErB,IAAI,CAAC;YACH,IAAI,gBAAgB,EAAE,CAAC;gBACrB,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACjC,gBAAgB,EAChB,+DAA+D;oBAC7D,uFAAuF;oBACvF,yCAAyC;oBACzC,yBAAyB,gBAAgB,EAAE,EAC7C,sCAAsC,KAAK,IAAI,CAChD,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACjC,gBAAgB,EAChB,qHAAqH,EACrH,sCAAsC,KAAK,IAAI,CAChD,CAAC;YACJ,CAAC;YAED,cAAc;YACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC,CAAC;YAEhD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,qBAAqB,EAAE,CAAC,EAAE,EAAE,CAAC;gBAChD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC;gBAEjE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,4BAA4B,CAC/D,qBAAqB,EACrB,gDAAgD,QAAQ,EAAE,EAC1D,iCAAiC,KAAK,IAAI,EAC1C,KAAK,CACN,CAAC;gBAEF,IAAI,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,CAAC;oBACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;oBACtC,MAAM;gBACR,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjE,QAAQ,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,CACjC,gBAAgB,EAChB,uCAAuC,QAAQ,gDAAgD,EAC/F,mCAAmC,KAAK,IAAI,CAC7C,CAAC;YACJ,CAAC;QACH,CAAC;gBAAS,CAAC;YACT,MAAM,gBAAgB,CAAC,OAAO,EAAE,CAAC;QACnC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF"}
|
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,CAAC;
|
|
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;AAuHtD;;;;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,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,gBAAgB,EAAE,MAAM,CAAC;IAClC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC;CAClC;AAED,wBAAgB,UAAU,IAAI,WAAW,CA6BxC"}
|
package/dist/config.js
CHANGED
|
@@ -41,6 +41,7 @@ const HELP_TEXT = `Usage: swarm [command] [options] "<prompt>"
|
|
|
41
41
|
Commands:
|
|
42
42
|
run Run the full orchestration pipeline (default)
|
|
43
43
|
plan Interactive planning mode — clarify requirements before running
|
|
44
|
+
analyze Analyze the repository and generate a context document
|
|
44
45
|
|
|
45
46
|
Options:
|
|
46
47
|
-v, --verbose Enable verbose streaming output
|
|
@@ -55,6 +56,7 @@ Examples:
|
|
|
55
56
|
swarm plan -f requirements.md
|
|
56
57
|
swarm run -v "Fix the login bug"
|
|
57
58
|
swarm --plan doc/plan-latest.md
|
|
59
|
+
swarm analyze
|
|
58
60
|
ISSUE_BODY="Add a feature" swarm plan
|
|
59
61
|
|
|
60
62
|
Environment variables override defaults; CLI args override env vars.
|
|
@@ -81,7 +83,8 @@ function parseCliArgs() {
|
|
|
81
83
|
}
|
|
82
84
|
let command = "run";
|
|
83
85
|
let promptParts = positionals;
|
|
84
|
-
if (positionals.length > 0 &&
|
|
86
|
+
if (positionals.length > 0 &&
|
|
87
|
+
(positionals[0] === "plan" || positionals[0] === "run" || positionals[0] === "analyze")) {
|
|
85
88
|
command = positionals[0];
|
|
86
89
|
promptParts = positionals.slice(1);
|
|
87
90
|
}
|
|
@@ -134,7 +137,7 @@ export function loadConfig() {
|
|
|
134
137
|
else {
|
|
135
138
|
issueBody = cli.prompt ?? process.env.ISSUE_BODY;
|
|
136
139
|
}
|
|
137
|
-
if (!issueBody || issueBody === "") {
|
|
140
|
+
if (cli.command !== "analyze" && (!issueBody || issueBody === "")) {
|
|
138
141
|
console.error(`Error: No prompt provided. Pass it as an argument, use --plan, or set ISSUE_BODY.\n\n${HELP_TEXT}`);
|
|
139
142
|
process.exit(1);
|
|
140
143
|
}
|
|
@@ -142,7 +145,7 @@ export function loadConfig() {
|
|
|
142
145
|
command: cli.command,
|
|
143
146
|
repoRoot,
|
|
144
147
|
verbose: cli.verbose || readEnvBoolean("VERBOSE", false),
|
|
145
|
-
issueBody,
|
|
148
|
+
issueBody: issueBody ?? "",
|
|
146
149
|
agentsDir: readEnvString("AGENTS_DIR", ".github/agents"),
|
|
147
150
|
docDir: readEnvString("DOC_DIR", "doc"),
|
|
148
151
|
sessionTimeoutMs: readEnvPositiveInt("SESSION_TIMEOUT_MS", 300_000),
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,MAAM,QAAQ,GAAG,QAAQ,CAAC,+BAA+B,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAEzF,SAAS,aAAa,CAAC,GAAW,EAAE,QAAgB;IAClD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACzD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,cAAc,CAAC,GAAW,EAAE,QAAiB;IACpD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACzD,IAAI,KAAK,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC;IAClC,IAAI,KAAK,KAAK,OAAO;QAAE,OAAO,KAAK,CAAC;IACpC,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,MAAM,KAAK,+BAA+B,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,kBAAkB,CAAC,GAAW,EAAE,QAAgB;IACvD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC/B,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,QAAQ,CAAC;IACzD,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAC7B,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,EAAE,CAAC;QAC7C,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,MAAM,KAAK,gCAAgC,CAAC,CAAC;IACvF,CAAC;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAYD,SAAS,WAAW;IAClB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1D,OAAO,GAAG,CAAC,OAAO,CAAC;AACrB,CAAC;AAED,MAAM,SAAS,GAAG
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,15 @@ if (config.command === "plan") {
|
|
|
14
14
|
.then(() => planner.execute())
|
|
15
15
|
.finally(() => planner.stop());
|
|
16
16
|
}
|
|
17
|
+
else if (config.command === "analyze") {
|
|
18
|
+
const pipeline = (await import("./pipeline-config.js")).loadPipelineConfig(config.repoRoot);
|
|
19
|
+
const { AnalysisEngine } = await import("./analysis-engine.js");
|
|
20
|
+
const analyzer = new AnalysisEngine(config, pipeline, logger);
|
|
21
|
+
analyzer
|
|
22
|
+
.start()
|
|
23
|
+
.then(() => analyzer.execute())
|
|
24
|
+
.finally(() => analyzer.stop());
|
|
25
|
+
}
|
|
17
26
|
else {
|
|
18
27
|
logger.info(msg.startingSwarm);
|
|
19
28
|
const swarm = new SwarmOrchestrator(config, logger);
|
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;AAEtD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AAC5B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAE1C,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO;SACJ,KAAK,EAAE;SACP,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACnC,CAAC;KAAM,CAAC;IACN,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,KAAK;SACF,KAAK,EAAE;SACP,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;SAC3B,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACjC,CAAC"}
|
|
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;AAEtD,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;AAC5B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;AAE1C,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,EAAE,CAAC;IAC9B,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5F,MAAM,OAAO,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC7D,OAAO;SACJ,KAAK,EAAE;SACP,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;SAC7B,OAAO,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;AACnC,CAAC;KAAM,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,CAAC,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5F,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,cAAc,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC9D,QAAQ;SACL,KAAK,EAAE;SACP,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;SAC9B,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;AACpC,CAAC;KAAM,CAAC;IACN,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;IAC/B,MAAM,KAAK,GAAG,IAAI,iBAAiB,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACpD,KAAK;SACF,KAAK,EAAE;SACP,IAAI,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;SAC3B,OAAO,CAAC,GAAG,EAAE,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;AACjC,CAAC"}
|
package/dist/logger.d.ts
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/** Thin logging wrapper for centralized output control. */
|
|
2
2
|
export declare class Logger {
|
|
3
3
|
private readonly verbose;
|
|
4
|
+
private spinnerInterval;
|
|
5
|
+
private spinnerFrame;
|
|
6
|
+
private static readonly SPINNER_FRAMES;
|
|
4
7
|
constructor(verbose: boolean);
|
|
5
8
|
info(message: string): void;
|
|
6
9
|
warn(message: string): void;
|
|
@@ -11,5 +14,9 @@ export declare class Logger {
|
|
|
11
14
|
newline(): void;
|
|
12
15
|
/** Log only when verbose mode is enabled. */
|
|
13
16
|
debug(message: string): void;
|
|
17
|
+
/** Show an animated spinner with a message. No-op in verbose mode (streaming output is enough). */
|
|
18
|
+
startSpinner(message: string): void;
|
|
19
|
+
/** Stop the spinner and clear the line. */
|
|
20
|
+
stopSpinner(): void;
|
|
14
21
|
}
|
|
15
22
|
//# sourceMappingURL=logger.d.ts.map
|
package/dist/logger.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,qBAAa,MAAM;
|
|
1
|
+
{"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,qBAAa,MAAM;IAKL,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJpC,OAAO,CAAC,eAAe,CAA+C;IACtE,OAAO,CAAC,YAAY,CAAK;IACzB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAsD;gBAE/D,OAAO,EAAE,OAAO;IAE7C,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI3B,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,GAAG,IAAI;IAK3C,wEAAwE;IACxE,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAMzB,iEAAiE;IACjE,OAAO,IAAI,IAAI;IAMf,6CAA6C;IAC7C,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAM5B,mGAAmG;IACnG,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAYnC,2CAA2C;IAC3C,WAAW,IAAI,IAAI;CAOpB"}
|
package/dist/logger.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
/** Thin logging wrapper for centralized output control. */
|
|
2
2
|
export class Logger {
|
|
3
3
|
verbose;
|
|
4
|
+
spinnerInterval = null;
|
|
5
|
+
spinnerFrame = 0;
|
|
6
|
+
static SPINNER_FRAMES = ["⠋", "⠙", "⠹", "⠸", "⠼", "⠴", "⠦", "⠧", "⠇", "⠏"];
|
|
4
7
|
constructor(verbose) {
|
|
5
8
|
this.verbose = verbose;
|
|
6
9
|
}
|
|
@@ -32,5 +35,26 @@ export class Logger {
|
|
|
32
35
|
console.log(message);
|
|
33
36
|
}
|
|
34
37
|
}
|
|
38
|
+
/** Show an animated spinner with a message. No-op in verbose mode (streaming output is enough). */
|
|
39
|
+
startSpinner(message) {
|
|
40
|
+
if (this.verbose)
|
|
41
|
+
return;
|
|
42
|
+
this.stopSpinner();
|
|
43
|
+
this.spinnerFrame = 0;
|
|
44
|
+
const frames = Logger.SPINNER_FRAMES;
|
|
45
|
+
process.stdout.write(`${frames[0]} ${message}`);
|
|
46
|
+
this.spinnerInterval = setInterval(() => {
|
|
47
|
+
this.spinnerFrame = (this.spinnerFrame + 1) % frames.length;
|
|
48
|
+
process.stdout.write(`\r${frames[this.spinnerFrame]} ${message}`);
|
|
49
|
+
}, 80);
|
|
50
|
+
}
|
|
51
|
+
/** Stop the spinner and clear the line. */
|
|
52
|
+
stopSpinner() {
|
|
53
|
+
if (this.spinnerInterval !== null) {
|
|
54
|
+
clearInterval(this.spinnerInterval);
|
|
55
|
+
this.spinnerInterval = null;
|
|
56
|
+
process.stdout.write("\r\x1b[K");
|
|
57
|
+
}
|
|
58
|
+
}
|
|
35
59
|
}
|
|
36
60
|
//# sourceMappingURL=logger.js.map
|
package/dist/logger.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,MAAM,OAAO,MAAM;
|
|
1
|
+
{"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,MAAM,OAAO,MAAM;IAKY;IAJrB,eAAe,GAA0C,IAAI,CAAC;IAC9D,YAAY,GAAG,CAAC,CAAC;IACjB,MAAM,CAAU,cAAc,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;IAE5F,YAA6B,OAAgB;QAAhB,YAAO,GAAP,OAAO,CAAS;IAAG,CAAC;IAEjD,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC;IAED,IAAI,CAAC,OAAe;QAClB,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,OAAe,EAAE,GAAa;QAClC,MAAM,MAAM,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;QACtE,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,OAAO,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,wEAAwE;IACxE,KAAK,CAAC,IAAY;QAChB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,OAAO;QACL,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,6CAA6C;IAC7C,KAAK,CAAC,OAAe;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACvB,CAAC;IACH,CAAC;IAED,mGAAmG;IACnG,YAAY,CAAC,OAAe;QAC1B,IAAI,IAAI,CAAC,OAAO;YAAE,OAAO;QACzB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC;QACtB,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC;QACrC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,IAAI,CAAC,YAAY,GAAG,CAAC,IAAI,CAAC,YAAY,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;YAC5D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,OAAO,EAAE,CAAC,CAAC;QACpE,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,2CAA2C;IAC3C,WAAW;QACT,IAAI,IAAI,CAAC,eAAe,KAAK,IAAI,EAAE,CAAC;YAClC,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACpC,IAAI,CAAC,eAAe,GAAG,IAAI,CAAC;YAC5B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;QACnC,CAAC;IACH,CAAC"}
|
package/dist/messages.d.ts
CHANGED
|
@@ -43,5 +43,13 @@ export declare const msg: {
|
|
|
43
43
|
readonly planningComplete: "\n✅ Planning complete.";
|
|
44
44
|
readonly planSaved: (path: string) => string;
|
|
45
45
|
readonly planningUserPrompt: "\n💬 Your answer (or press Enter to skip): ";
|
|
46
|
+
readonly analyzeStart: "🔍 Starting Repository Analysis...";
|
|
47
|
+
readonly analyzeArchitectPhase: (model: string) => string;
|
|
48
|
+
readonly analyzeReviewPhase: (model: string) => string;
|
|
49
|
+
readonly analyzeIteration: (i: number, max: number) => string;
|
|
50
|
+
readonly analyzeApproved: " ✅ Analysis approved by senior engineer";
|
|
51
|
+
readonly analyzeFeedback: (preview: string) => string;
|
|
52
|
+
readonly analyzeComplete: "\n✅ Repository analysis complete.";
|
|
53
|
+
readonly analyzeSaved: (path: string) => string;
|
|
46
54
|
};
|
|
47
55
|
//# 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;;;kCAKV,MAAM;;kCAEN,MAAM,EAAE;;;;;uCASH,MAAM;gCACb,MAAM;kCACJ,MAAM,QAAQ,MAAM;wCACd,MAAM;uCACP,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;;;;;+BAOX,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;;;kCAKV,MAAM;;kCAEN,MAAM,EAAE;;;;;uCASH,MAAM;gCACb,MAAM;kCACJ,MAAM,QAAQ,MAAM;wCACd,MAAM;uCACP,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;;;;;+BAOX,MAAM;;;4CAKO,MAAM;yCACT,MAAM;mCACZ,MAAM,OAAO,MAAM;;wCAEd,MAAM;;kCAEZ,MAAM;CACnB,CAAC"}
|
package/dist/messages.js
CHANGED
|
@@ -53,5 +53,14 @@ export const msg = {
|
|
|
53
53
|
planningComplete: "\n✅ Planning complete.",
|
|
54
54
|
planSaved: (path) => `📄 Plan saved to ${path}`,
|
|
55
55
|
planningUserPrompt: "\n💬 Your answer (or press Enter to skip): ",
|
|
56
|
+
// --- Analyze Mode ---
|
|
57
|
+
analyzeStart: "🔍 Starting Repository Analysis...",
|
|
58
|
+
analyzeArchitectPhase: (model) => `\n[Analysis: Architect exploration — ${model}]`,
|
|
59
|
+
analyzeReviewPhase: (model) => `\n[Analysis: Senior engineer review — ${model}]`,
|
|
60
|
+
analyzeIteration: (i, max) => ` └─ Iteration ${i}/${max}`,
|
|
61
|
+
analyzeApproved: " ✅ Analysis approved by senior engineer",
|
|
62
|
+
analyzeFeedback: (preview) => ` ❌ Feedback: ${preview}...`,
|
|
63
|
+
analyzeComplete: "\n✅ Repository analysis complete.",
|
|
64
|
+
analyzeSaved: (path) => `📄 Analysis saved to ${path}`,
|
|
56
65
|
};
|
|
57
66
|
//# sourceMappingURL=messages.js.map
|
package/dist/messages.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"messages.js","sourceRoot":"","sources":["../src/messages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-engine.d.ts","sourceRoot":"","sources":["../src/pipeline-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAKV,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAY7B,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAGvB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM;IAK3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAsChB,WAAW;YAiBX,gBAAgB;YAoBhB,aAAa;
|
|
1
|
+
{"version":3,"file":"pipeline-engine.d.ts","sourceRoot":"","sources":["../src/pipeline-engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAKV,cAAc,EAGf,MAAM,qBAAqB,CAAC;AAY7B,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAGvB,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM;IAK3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAsChB,WAAW;YAiBX,gBAAgB;YAoBhB,aAAa;YA6Eb,gBAAgB;YA6EhB,uBAAuB;YAgDvB,aAAa;CAwB5B"}
|
package/dist/pipeline-engine.js
CHANGED
|
@@ -85,11 +85,11 @@ export class PipelineEngine {
|
|
|
85
85
|
try {
|
|
86
86
|
this.logger.info(msg.designPhase);
|
|
87
87
|
let design = await this.sessions.send(session, `Create a detailed UI/UX design specification based on this spec:\n${ctx.spec}\n\n` +
|
|
88
|
-
`Include: component hierarchy, layout, interactions, states, and accessibility considerations
|
|
88
|
+
`Include: component hierarchy, layout, interactions, states, and accessibility considerations.`, `${phase.agent} is designing…`);
|
|
89
89
|
if (phase.clarificationAgent && responseContains(design, "CLARIFICATION_NEEDED")) {
|
|
90
90
|
this.logger.info(msg.designerClarification);
|
|
91
91
|
const clarification = await this.sessions.callIsolated(phase.clarificationAgent, `The designer needs clarification:\n${design}`);
|
|
92
|
-
design = await this.sessions.send(session, `PM Clarification:\n${clarification}\n\nRevise the design
|
|
92
|
+
design = await this.sessions.send(session, `PM Clarification:\n${clarification}\n\nRevise the design.`, `${phase.agent} is revising…`);
|
|
93
93
|
}
|
|
94
94
|
for (const review of phase.reviews) {
|
|
95
95
|
this.logger.info(msg.reviewPhase(review.agent));
|
|
@@ -106,12 +106,12 @@ export class PipelineEngine {
|
|
|
106
106
|
if (clarAgent) {
|
|
107
107
|
this.logger.info(msg.reviewerClarification);
|
|
108
108
|
const clar = await this.sessions.callIsolated(clarAgent, `The design reviewer needs clarification:\n${feedback}`);
|
|
109
|
-
design = await this.sessions.send(session, `Review feedback:\n${feedback}\n\nPM Clarification:\n${clar}\n\nRevise the design
|
|
109
|
+
design = await this.sessions.send(session, `Review feedback:\n${feedback}\n\nPM Clarification:\n${clar}\n\nRevise the design.`, `${phase.agent} is revising…`);
|
|
110
110
|
}
|
|
111
111
|
}
|
|
112
112
|
else {
|
|
113
113
|
this.logger.info(msg.codeFeedback(feedback.substring(0, 80)));
|
|
114
|
-
design = await this.sessions.send(session, `Review feedback:\n${feedback}\n\nRevise the design
|
|
114
|
+
design = await this.sessions.send(session, `Review feedback:\n${feedback}\n\nRevise the design.`, `${phase.agent} is revising…`);
|
|
115
115
|
}
|
|
116
116
|
}
|
|
117
117
|
}
|
|
@@ -134,7 +134,7 @@ export class PipelineEngine {
|
|
|
134
134
|
const engineeringPrompt = isFrontendTask(task)
|
|
135
135
|
? `Spec:\n${ctx.spec}\n\nDesign:\n${ctx.designSpec}\n\nTask:\n${task}\n\nImplement this task.`
|
|
136
136
|
: `Spec:\n${ctx.spec}\n\nTask:\n${task}\n\nImplement this task.`;
|
|
137
|
-
let code = await this.sessions.send(session, engineeringPrompt);
|
|
137
|
+
let code = await this.sessions.send(session, engineeringPrompt, `${phase.agent} (${label}) is implementing…`);
|
|
138
138
|
// Reviews
|
|
139
139
|
for (const review of phase.reviews) {
|
|
140
140
|
this.logger.info(msg.streamCodeReview(label, review.agent));
|
|
@@ -147,7 +147,7 @@ export class PipelineEngine {
|
|
|
147
147
|
break;
|
|
148
148
|
}
|
|
149
149
|
this.logger.info(msg.codeFeedback(feedback.substring(0, 80)));
|
|
150
|
-
code = await this.sessions.send(session, `Code review feedback:\n${feedback}\n\nFix all issues
|
|
150
|
+
code = await this.sessions.send(session, `Code review feedback:\n${feedback}\n\nFix all issues.`, `${phase.agent} (${label}) is fixing…`);
|
|
151
151
|
}
|
|
152
152
|
}
|
|
153
153
|
// QA
|
|
@@ -162,7 +162,7 @@ export class PipelineEngine {
|
|
|
162
162
|
break;
|
|
163
163
|
}
|
|
164
164
|
this.logger.info(msg.defectsFound);
|
|
165
|
-
code = await this.sessions.send(session, `QA Report:\n${testReport}\n\nFix all reported issues
|
|
165
|
+
code = await this.sessions.send(session, `QA Report:\n${testReport}\n\nFix all reported issues.`, `${phase.agent} (${label}) is fixing defects…`);
|
|
166
166
|
}
|
|
167
167
|
}
|
|
168
168
|
await writeRoleSummary(this.config, `engineer-stream-${idx + 1}`, code);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline-engine.js","sourceRoot":"","sources":["../src/pipeline-engine.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pipeline-engine.js","sourceRoot":"","sources":["../src/pipeline-engine.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planning-engine.d.ts","sourceRoot":"","sources":["../src/planning-engine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAuC1D,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAGvB,MAAM,EAAE,WAAW,EACpC,QAAQ,EAAE,cAAc,EACP,MAAM,EAAE,MAAM;IAK3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAgChB,mBAAmB;
|
|
1
|
+
{"version":3,"file":"planning-engine.d.ts","sourceRoot":"","sources":["../src/planning-engine.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAuC1D,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IAEvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IALzB,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAiB;gBAGvB,MAAM,EAAE,WAAW,EACpC,QAAQ,EAAE,cAAc,EACP,MAAM,EAAE,MAAM;IAK3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAIrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;YAgChB,mBAAmB;YAuDnB,eAAe;CAmB9B"}
|
package/dist/planning-engine.js
CHANGED
|
@@ -83,7 +83,7 @@ export class PlanningEngine {
|
|
|
83
83
|
try {
|
|
84
84
|
let response = await this.sessions.send(session, `Here is the user's request:\n\n${this.config.issueBody}\n\n` +
|
|
85
85
|
"Analyze this request. If it's clear enough, respond with REQUIREMENTS_CLEAR followed by the structured summary. " +
|
|
86
|
-
"If you need more information, ask your clarifying questions.");
|
|
86
|
+
"If you need more information, ask your clarifying questions.", "PM is analyzing requirements…");
|
|
87
87
|
for (let round = 0; round < MAX_CLARIFICATION_ROUNDS; round++) {
|
|
88
88
|
if (responseContains(response, ResponseKeyword.REQUIREMENTS_CLEAR)) {
|
|
89
89
|
break;
|
|
@@ -93,10 +93,10 @@ export class PlanningEngine {
|
|
|
93
93
|
// Read user's answer
|
|
94
94
|
const answer = await rl.question(msg.planningUserPrompt);
|
|
95
95
|
if (!answer.trim()) {
|
|
96
|
-
response = await this.sessions.send(session, "The user skipped this round. Use your best judgment for any open questions and produce the final requirements. Respond with REQUIREMENTS_CLEAR followed by the structured summary.");
|
|
96
|
+
response = await this.sessions.send(session, "The user skipped this round. Use your best judgment for any open questions and produce the final requirements. Respond with REQUIREMENTS_CLEAR followed by the structured summary.", "PM is finalizing requirements…");
|
|
97
97
|
}
|
|
98
98
|
else {
|
|
99
|
-
response = await this.sessions.send(session, `User's answers:\n\n${answer}
|
|
99
|
+
response = await this.sessions.send(session, `User's answers:\n\n${answer}`, "PM is processing your answers…");
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
// Extract everything after REQUIREMENTS_CLEAR keyword
|
|
@@ -116,7 +116,7 @@ export class PlanningEngine {
|
|
|
116
116
|
this.logger.info(msg.planningEngPhase);
|
|
117
117
|
const session = await this.sessions.createSessionWithInstructions(ANALYST_INSTRUCTIONS);
|
|
118
118
|
try {
|
|
119
|
-
const analysis = await this.sessions.send(session, `Analyze the codebase against these requirements and produce a technical assessment:\n\n${spec}
|
|
119
|
+
const analysis = await this.sessions.send(session, `Analyze the codebase against these requirements and produce a technical assessment:\n\n${spec}`, "Engineer is analyzing codebase…");
|
|
120
120
|
console.log("\n🔍 Technical Analysis:\n");
|
|
121
121
|
console.log(analysis);
|
|
122
122
|
return analysis;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"planning-engine.js","sourceRoot":"","sources":["../src/planning-engine.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"planning-engine.js","sourceRoot":"","sources":["../src/planning-engine.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
CHANGED
|
@@ -20,7 +20,8 @@ export declare class SessionManager {
|
|
|
20
20
|
loadAgentInstructions(agentName: string): Promise<string>;
|
|
21
21
|
createAgentSession(agentName: string, model?: string): Promise<CopilotSession>;
|
|
22
22
|
createSessionWithInstructions(instructions: string, model?: string): Promise<CopilotSession>;
|
|
23
|
-
send(session: CopilotSession, prompt: string): Promise<string>;
|
|
23
|
+
send(session: CopilotSession, prompt: string, spinnerLabel?: string): Promise<string>;
|
|
24
24
|
callIsolated(agentName: string, prompt: string, model?: string): Promise<string>;
|
|
25
|
+
callIsolatedWithInstructions(instructions: string, prompt: string, spinnerLabel: string, model?: string): Promise<string>;
|
|
25
26
|
}
|
|
26
27
|
//# sourceMappingURL=session.d.ts.map
|
package/dist/session.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAE1D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAK1D,qBAAa,cAAc;IAKvB,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM;IANzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAA6B;gBAG3C,MAAM,EAAE,WAAW,EACnB,QAAQ,EAAE,cAAc,EACxB,MAAM,EAAE,MAAM;IAO3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAItB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B;;;;;OAKG;IACG,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IA6CzD,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAK9E,6BAA6B,CAAC,YAAY,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAqB5F,IAAI,CAAC,OAAO,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQrF,YAAY,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAuBhF,4BAA4B,CAChC,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,YAAY,EAAE,MAAM,EACpB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC;CAsBnB"}
|
package/dist/session.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
1
|
import * as fs from "node:fs/promises";
|
|
2
2
|
import * as path from "node:path";
|
|
3
|
+
import { fileURLToPath } from "node:url";
|
|
3
4
|
import { CopilotClient } from "@github/copilot-sdk";
|
|
4
5
|
import { BUILTIN_AGENT_PREFIX, SessionEvent, SYSTEM_MESSAGE_MODE } from "./constants.js";
|
|
5
6
|
import { msg } from "./messages.js";
|
|
7
|
+
const PACKAGE_DIR = path.join(path.dirname(fileURLToPath(import.meta.url)), "..");
|
|
8
|
+
const BUNDLED_AGENTS_DIR = path.join(PACKAGE_DIR, "defaults", "agents");
|
|
6
9
|
export class SessionManager {
|
|
7
10
|
config;
|
|
8
11
|
pipeline;
|
|
@@ -34,27 +37,42 @@ export class SessionManager {
|
|
|
34
37
|
if (cached !== undefined)
|
|
35
38
|
return cached;
|
|
36
39
|
const source = this.pipeline.agents[agentName];
|
|
37
|
-
let
|
|
40
|
+
let agentFileName;
|
|
41
|
+
let repoFilePath;
|
|
38
42
|
if (source === undefined) {
|
|
39
|
-
|
|
40
|
-
|
|
43
|
+
agentFileName = `${agentName}.md`;
|
|
44
|
+
repoFilePath = path.join(this.config.repoRoot, this.config.agentsDir, agentFileName);
|
|
41
45
|
}
|
|
42
46
|
else if (source.startsWith(BUILTIN_AGENT_PREFIX)) {
|
|
43
|
-
|
|
44
|
-
|
|
47
|
+
agentFileName = `${source.slice(BUILTIN_AGENT_PREFIX.length)}.md`;
|
|
48
|
+
repoFilePath = path.join(this.config.repoRoot, this.config.agentsDir, agentFileName);
|
|
45
49
|
}
|
|
46
50
|
else {
|
|
47
|
-
//
|
|
48
|
-
|
|
51
|
+
// Explicit file path — no bundled fallback
|
|
52
|
+
repoFilePath = path.join(this.config.repoRoot, source);
|
|
49
53
|
}
|
|
54
|
+
// Try repo path first
|
|
50
55
|
try {
|
|
51
|
-
const content = await fs.readFile(
|
|
56
|
+
const content = await fs.readFile(repoFilePath, "utf-8");
|
|
52
57
|
this.instructionCache.set(agentName, content);
|
|
53
58
|
return content;
|
|
54
59
|
}
|
|
55
|
-
catch
|
|
56
|
-
|
|
60
|
+
catch {
|
|
61
|
+
// Fall through to bundled agents
|
|
57
62
|
}
|
|
63
|
+
// Fall back to bundled agent definitions shipped with the package
|
|
64
|
+
if (agentFileName) {
|
|
65
|
+
const bundledPath = path.join(BUNDLED_AGENTS_DIR, agentFileName);
|
|
66
|
+
try {
|
|
67
|
+
const content = await fs.readFile(bundledPath, "utf-8");
|
|
68
|
+
this.instructionCache.set(agentName, content);
|
|
69
|
+
return content;
|
|
70
|
+
}
|
|
71
|
+
catch {
|
|
72
|
+
// Fall through to error
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
throw new Error(`Failed to load agent instructions for "${agentName}": not found in repo (${repoFilePath}) or bundled defaults`);
|
|
58
76
|
}
|
|
59
77
|
async createAgentSession(agentName, model) {
|
|
60
78
|
const instructions = await this.loadAgentInstructions(agentName);
|
|
@@ -78,8 +96,11 @@ export class SessionManager {
|
|
|
78
96
|
}
|
|
79
97
|
return session;
|
|
80
98
|
}
|
|
81
|
-
async send(session, prompt) {
|
|
99
|
+
async send(session, prompt, spinnerLabel) {
|
|
100
|
+
if (spinnerLabel)
|
|
101
|
+
this.logger.startSpinner(spinnerLabel);
|
|
82
102
|
const response = await session.sendAndWait({ prompt }, this.config.sessionTimeoutMs);
|
|
103
|
+
this.logger.stopSpinner();
|
|
83
104
|
this.logger.newline();
|
|
84
105
|
return response?.data.content ?? "";
|
|
85
106
|
}
|
|
@@ -88,7 +109,7 @@ export class SessionManager {
|
|
|
88
109
|
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
89
110
|
const session = await this.createAgentSession(agentName, model);
|
|
90
111
|
try {
|
|
91
|
-
const content = await this.send(session, prompt);
|
|
112
|
+
const content = await this.send(session, prompt, `${agentName} is working…`);
|
|
92
113
|
if (!content && attempt < maxAttempts) {
|
|
93
114
|
this.logger.warn(msg.emptyResponse(agentName, attempt, maxAttempts));
|
|
94
115
|
continue;
|
|
@@ -96,6 +117,7 @@ export class SessionManager {
|
|
|
96
117
|
return content;
|
|
97
118
|
}
|
|
98
119
|
catch (err) {
|
|
120
|
+
this.logger.stopSpinner();
|
|
99
121
|
this.logger.error(msg.callError(agentName, attempt, maxAttempts), err);
|
|
100
122
|
if (attempt >= maxAttempts)
|
|
101
123
|
throw err;
|
|
@@ -106,5 +128,29 @@ export class SessionManager {
|
|
|
106
128
|
}
|
|
107
129
|
return "";
|
|
108
130
|
}
|
|
131
|
+
async callIsolatedWithInstructions(instructions, prompt, spinnerLabel, model) {
|
|
132
|
+
const maxAttempts = this.config.maxRetries;
|
|
133
|
+
for (let attempt = 1; attempt <= maxAttempts; attempt++) {
|
|
134
|
+
const session = await this.createSessionWithInstructions(instructions, model);
|
|
135
|
+
try {
|
|
136
|
+
const content = await this.send(session, prompt, spinnerLabel);
|
|
137
|
+
if (!content && attempt < maxAttempts) {
|
|
138
|
+
this.logger.warn(msg.emptyResponse("inline-agent", attempt, maxAttempts));
|
|
139
|
+
continue;
|
|
140
|
+
}
|
|
141
|
+
return content;
|
|
142
|
+
}
|
|
143
|
+
catch (err) {
|
|
144
|
+
this.logger.stopSpinner();
|
|
145
|
+
this.logger.error(msg.callError("inline-agent", attempt, maxAttempts), err);
|
|
146
|
+
if (attempt >= maxAttempts)
|
|
147
|
+
throw err;
|
|
148
|
+
}
|
|
149
|
+
finally {
|
|
150
|
+
await session.destroy();
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
return "";
|
|
154
|
+
}
|
|
109
155
|
}
|
|
110
156
|
//# sourceMappingURL=session.js.map
|
package/dist/session.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD,OAAO,EAAE,oBAAoB,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAEzF,OAAO,EAAE,GAAG,EAAE,MAAM,eAAe,CAAC;AAGpC,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAClF,MAAM,kBAAkB,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,QAAQ,CAAC,CAAC;AAExE,MAAM,OAAO,cAAc;IAKN;IACA;IACA;IANF,MAAM,CAAgB;IACtB,gBAAgB,GAAG,IAAI,GAAG,EAAkB,CAAC;IAE9D,YACmB,MAAmB,EACnB,QAAwB,EACxB,MAAc;QAFd,WAAM,GAAN,MAAM,CAAa;QACnB,aAAQ,GAAR,QAAQ,CAAgB;QACxB,WAAM,GAAN,MAAM,CAAQ;QAE/B,IAAI,CAAC,MAAM,GAAG,IAAI,aAAa,CAAC;YAC9B,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;SAC/C,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IAC5B,CAAC;IAED,KAAK,CAAC,IAAI;QACR,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC3B,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,qBAAqB,CAAC,SAAiB;QAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpD,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO,MAAM,CAAC;QAExC,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/C,IAAI,aAAiC,CAAC;QACtC,IAAI,YAAgC,CAAC;QAErC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,aAAa,GAAG,GAAG,SAAS,KAAK,CAAC;YAClC,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACvF,CAAC;aAAM,IAAI,MAAM,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;YACnD,aAAa,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAM,CAAC,KAAK,CAAC;YAClE,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACvF,CAAC;aAAM,CAAC;YACN,2CAA2C;YAC3C,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;QACzD,CAAC;QAED,sBAAsB;QACtB,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;YACzD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;YAC9C,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,MAAM,CAAC;YACP,iCAAiC;QACnC,CAAC;QAED,kEAAkE;QAClE,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAC;YACjE,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;gBACxD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;gBAC9C,OAAO,OAAO,CAAC;YACjB,CAAC;YAAC,MAAM,CAAC;gBACP,wBAAwB;YAC1B,CAAC;QACH,CAAC;QAED,MAAM,IAAI,KAAK,CACb,0CAA0C,SAAS,yBAAyB,YAAY,uBAAuB,CAChH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,SAAiB,EAAE,KAAc;QACxD,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,6BAA6B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,YAAoB,EAAE,KAAc;QACtE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC;YAC9C,KAAK,EAAE,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,YAAY;YAC1C,aAAa,EAAE,EAAE,IAAI,EAAE,mBAAmB,EAAE,OAAO,EAAE,YAAY,EAAE;SACpE,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACxB,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC,EAAE,EAAE;gBAC3C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YACzC,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE,EAAE;gBAClD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;YACxD,CAAC,CAAC,CAAC;YACH,OAAO,CAAC,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE;gBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;YACrD,CAAC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,OAAuB,EAAE,MAAc,EAAE,YAAqB;QACvE,IAAI,YAAY;YAAE,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;QACzD,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;QACrF,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;QAC1B,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACtB,OAAO,QAAQ,EAAE,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,SAAiB,EAAE,MAAc,EAAE,KAAc;QAClE,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAE3C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;YAChE,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,SAAS,cAAc,CAAC,CAAC;gBAC7E,IAAI,CAAC,OAAO,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;oBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;oBACrE,SAAS;gBACX,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;gBACvE,IAAI,OAAO,IAAI,WAAW;oBAAE,MAAM,GAAG,CAAC;YACxC,CAAC;oBAAS,CAAC;gBACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,KAAK,CAAC,4BAA4B,CAChC,YAAoB,EACpB,MAAc,EACd,YAAoB,EACpB,KAAc;QAEd,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC;QAE3C,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,WAAW,EAAE,OAAO,EAAE,EAAE,CAAC;YACxD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,6BAA6B,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;YAC9E,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,YAAY,CAAC,CAAC;gBAC/D,IAAI,CAAC,OAAO,IAAI,OAAO,GAAG,WAAW,EAAE,CAAC;oBACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC;oBAC1E,SAAS;gBACX,CAAC;gBACD,OAAO,OAAO,CAAC;YACjB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBAC1B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,OAAO,EAAE,WAAW,CAAC,EAAE,GAAG,CAAC,CAAC;gBAC5E,IAAI,OAAO,IAAI,WAAW;oBAAE,MAAM,GAAG,CAAC;YACxC,CAAC;oBAAS,CAAC;gBACT,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;YAC1B,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;CACF"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@copilot-swarm/core",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"description": "Multi-agent orchestrator for GitHub Copilot — coordinates PM, designer, engineer, reviewer, and tester agents through a declarative pipeline",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|