wiggum-cli 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +6 -4
  2. package/dist/ai/agents/codebase-analyst.d.ts +3 -0
  3. package/dist/ai/agents/codebase-analyst.d.ts.map +1 -1
  4. package/dist/ai/agents/codebase-analyst.js +3 -0
  5. package/dist/ai/agents/codebase-analyst.js.map +1 -1
  6. package/dist/ai/agents/context-enricher.d.ts +11 -0
  7. package/dist/ai/agents/context-enricher.d.ts.map +1 -0
  8. package/dist/ai/agents/context-enricher.js +163 -0
  9. package/dist/ai/agents/context-enricher.js.map +1 -0
  10. package/dist/ai/agents/evaluator-optimizer.d.ts +13 -0
  11. package/dist/ai/agents/evaluator-optimizer.d.ts.map +1 -0
  12. package/dist/ai/agents/evaluator-optimizer.js +231 -0
  13. package/dist/ai/agents/evaluator-optimizer.js.map +1 -0
  14. package/dist/ai/agents/index.d.ts +21 -3
  15. package/dist/ai/agents/index.d.ts.map +1 -1
  16. package/dist/ai/agents/index.js +158 -53
  17. package/dist/ai/agents/index.js.map +1 -1
  18. package/dist/ai/agents/mcp-detector.d.ts +26 -0
  19. package/dist/ai/agents/mcp-detector.d.ts.map +1 -0
  20. package/dist/ai/agents/mcp-detector.js +186 -0
  21. package/dist/ai/agents/mcp-detector.js.map +1 -0
  22. package/dist/ai/agents/orchestrator.d.ts +3 -0
  23. package/dist/ai/agents/orchestrator.d.ts.map +1 -1
  24. package/dist/ai/agents/orchestrator.js +3 -0
  25. package/dist/ai/agents/orchestrator.js.map +1 -1
  26. package/dist/ai/agents/planning-orchestrator.d.ts +12 -0
  27. package/dist/ai/agents/planning-orchestrator.d.ts.map +1 -0
  28. package/dist/ai/agents/planning-orchestrator.js +133 -0
  29. package/dist/ai/agents/planning-orchestrator.js.map +1 -0
  30. package/dist/ai/agents/stack-researcher.d.ts +3 -0
  31. package/dist/ai/agents/stack-researcher.d.ts.map +1 -1
  32. package/dist/ai/agents/stack-researcher.js +3 -0
  33. package/dist/ai/agents/stack-researcher.js.map +1 -1
  34. package/dist/ai/agents/stack-utils.d.ts +11 -0
  35. package/dist/ai/agents/stack-utils.d.ts.map +1 -0
  36. package/dist/ai/agents/stack-utils.js +27 -0
  37. package/dist/ai/agents/stack-utils.js.map +1 -0
  38. package/dist/ai/agents/synthesis-agent.d.ts +11 -0
  39. package/dist/ai/agents/synthesis-agent.d.ts.map +1 -0
  40. package/dist/ai/agents/synthesis-agent.js +202 -0
  41. package/dist/ai/agents/synthesis-agent.js.map +1 -0
  42. package/dist/ai/agents/tech-researcher.d.ts +16 -0
  43. package/dist/ai/agents/tech-researcher.d.ts.map +1 -0
  44. package/dist/ai/agents/tech-researcher.js +208 -0
  45. package/dist/ai/agents/tech-researcher.js.map +1 -0
  46. package/dist/ai/agents/types.d.ts +121 -0
  47. package/dist/ai/agents/types.d.ts.map +1 -1
  48. package/dist/ai/agents/types.js +6 -0
  49. package/dist/ai/agents/types.js.map +1 -1
  50. package/dist/ai/index.d.ts +1 -1
  51. package/dist/ai/index.d.ts.map +1 -1
  52. package/dist/ai/index.js +14 -2
  53. package/dist/ai/index.js.map +1 -1
  54. package/dist/commands/init.d.ts.map +1 -1
  55. package/dist/commands/init.js +9 -2
  56. package/dist/commands/init.js.map +1 -1
  57. package/dist/utils/json-repair.d.ts.map +1 -1
  58. package/dist/utils/json-repair.js +43 -0
  59. package/dist/utils/json-repair.js.map +1 -1
  60. package/dist/utils/tracing.d.ts +5 -0
  61. package/dist/utils/tracing.d.ts.map +1 -1
  62. package/dist/utils/tracing.js +40 -1
  63. package/dist/utils/tracing.js.map +1 -1
  64. package/package.json +5 -2
  65. package/src/ai/agents/codebase-analyst.ts +3 -0
  66. package/src/ai/agents/context-enricher.ts +189 -0
  67. package/src/ai/agents/evaluator-optimizer.ts +277 -0
  68. package/src/ai/agents/index.ts +205 -77
  69. package/src/ai/agents/mcp-detector.test.ts +290 -0
  70. package/src/ai/agents/mcp-detector.ts +210 -0
  71. package/src/ai/agents/orchestrator.ts +3 -0
  72. package/src/ai/agents/planning-orchestrator.ts +140 -0
  73. package/src/ai/agents/stack-researcher.ts +3 -0
  74. package/src/ai/agents/stack-utils.ts +34 -0
  75. package/src/ai/agents/synthesis-agent.ts +240 -0
  76. package/src/ai/agents/tech-researcher.ts +262 -0
  77. package/src/ai/agents/types.ts +153 -0
  78. package/src/ai/index.ts +26 -5
  79. package/src/commands/init.ts +10 -2
  80. package/src/utils/json-repair.ts +50 -0
  81. package/src/utils/tracing.ts +44 -1
  82. package/tsconfig.json +1 -1
  83. package/vitest.config.ts +7 -0
@@ -0,0 +1,208 @@
1
+ /**
2
+ * Tech Researcher Worker (Phase 2)
3
+ * Researches best practices for a specific technology
4
+ * Multiple instances run in parallel via runTechResearchPool
5
+ */
6
+ import { stepCountIs } from 'ai';
7
+ import { createTavilySearchTool } from '../tools/tavily.js';
8
+ import { createContext7Tool } from '../tools/context7.js';
9
+ import { isReasoningModel } from '../providers.js';
10
+ import { logger } from '../../utils/logger.js';
11
+ import { parseJsonSafe } from '../../utils/json-repair.js';
12
+ import { getTracedAI } from '../../utils/tracing.js';
13
+ /**
14
+ * System prompt for Tech Researcher with tools
15
+ */
16
+ const TECH_RESEARCHER_WITH_TOOLS_PROMPT = `You are a Tech Researcher worker focused on a single technology.
17
+
18
+ ## Your Mission
19
+ Research the specified technology to find:
20
+ 1. Current best practices (2024+)
21
+ 2. Common anti-patterns to avoid
22
+ 3. Testing tips and patterns
23
+ 4. Useful documentation links
24
+
25
+ ## Tools Available
26
+ - tavilySearch: Search the web for current best practices
27
+ - context7Lookup: Look up library documentation
28
+
29
+ ## Research Strategy
30
+ 1. Search for "[technology] best practices 2024"
31
+ 2. Search for "[technology] testing patterns"
32
+ 3. Look up documentation for key features
33
+
34
+ ## Output Format
35
+ Output ONLY valid JSON:
36
+ {
37
+ "technology": "Next.js 14",
38
+ "bestPractices": ["Use App Router for new projects", "Enable strict TypeScript"],
39
+ "antiPatterns": ["Don't use pages/ and app/ together", "Avoid client components for static content"],
40
+ "testingTips": ["Use @testing-library/react", "Mock next/navigation for routing tests"],
41
+ "documentationHints": ["App Router: nextjs.org/docs/app", "Data Fetching: nextjs.org/docs/app/building-your-application/data-fetching"],
42
+ "researchMode": "full"
43
+ }
44
+
45
+ Keep each item concise (5-15 words max). Max 5 items per array.`;
46
+ /**
47
+ * System prompt for Tech Researcher without tools (knowledge-only)
48
+ */
49
+ const TECH_RESEARCHER_KNOWLEDGE_ONLY_PROMPT = `You are a Tech Researcher worker. You don't have web access, so rely on your training knowledge.
50
+
51
+ ## Your Mission
52
+ Based on your knowledge of the specified technology, provide:
53
+ 1. Best practices (note if potentially outdated)
54
+ 2. Common anti-patterns to avoid
55
+ 3. Testing tips
56
+ 4. Documentation hints
57
+
58
+ ## Output Format
59
+ Output ONLY valid JSON:
60
+ {
61
+ "technology": "React",
62
+ "bestPractices": ["Use functional components with hooks", "Memoize expensive computations"],
63
+ "antiPatterns": ["Don't mutate state directly", "Avoid prop drilling"],
64
+ "testingTips": ["Use React Testing Library", "Test behavior not implementation"],
65
+ "documentationHints": ["React docs: react.dev", "Testing: testing-library.com"],
66
+ "researchMode": "knowledge-only"
67
+ }
68
+
69
+ Keep each item concise (5-15 words max). Max 5 items per array.`;
70
+ /**
71
+ * Determine research mode based on capabilities
72
+ */
73
+ function getResearchMode(capabilities) {
74
+ if (capabilities.hasTavily && capabilities.hasContext7)
75
+ return 'full';
76
+ if (capabilities.hasTavily)
77
+ return 'web-only';
78
+ if (capabilities.hasContext7)
79
+ return 'docs-only';
80
+ return 'knowledge-only';
81
+ }
82
+ /**
83
+ * Run a single Tech Researcher worker for one technology
84
+ */
85
+ export async function runTechResearcher(model, modelId, input, options, verbose = false) {
86
+ const tools = {};
87
+ // Add tools based on available keys
88
+ if (options.tavilyApiKey) {
89
+ tools.tavilySearch = createTavilySearchTool(options.tavilyApiKey);
90
+ }
91
+ if (options.context7ApiKey) {
92
+ tools.context7Lookup = createContext7Tool(options.context7ApiKey);
93
+ }
94
+ const hasTools = Object.keys(tools).length > 0;
95
+ const researchMode = getResearchMode(input.capabilities);
96
+ if (verbose) {
97
+ logger.info(`Tech Researcher [${input.technology}]: ${researchMode} mode`);
98
+ }
99
+ const systemPrompt = hasTools
100
+ ? TECH_RESEARCHER_WITH_TOOLS_PROMPT
101
+ : TECH_RESEARCHER_KNOWLEDGE_ONLY_PROMPT;
102
+ const prompt = `Research best practices for: ${input.technology}
103
+
104
+ Provide current best practices, anti-patterns to avoid, testing tips, and documentation hints.
105
+ Output your findings as JSON.`;
106
+ try {
107
+ const { generateText } = getTracedAI();
108
+ const result = await generateText({
109
+ model,
110
+ system: systemPrompt,
111
+ prompt,
112
+ ...(hasTools ? { tools, stopWhen: stepCountIs(3) } : {}),
113
+ maxOutputTokens: 2000,
114
+ ...(isReasoningModel(modelId) ? {} : { temperature: 0.3 }),
115
+ experimental_telemetry: {
116
+ isEnabled: true,
117
+ metadata: {
118
+ agent: 'tech-researcher',
119
+ technology: input.technology,
120
+ researchMode,
121
+ },
122
+ },
123
+ });
124
+ const research = parseTechResearch(result.text, result.steps, input.technology, researchMode, verbose);
125
+ return research;
126
+ }
127
+ catch (error) {
128
+ if (verbose) {
129
+ logger.error(`Tech Researcher [${input.technology}] error: ${error instanceof Error ? error.message : String(error)}`);
130
+ }
131
+ return getDefaultTechResearch(input.technology, researchMode);
132
+ }
133
+ }
134
+ /**
135
+ * Run multiple Tech Researchers in parallel for a list of technologies
136
+ */
137
+ export async function runTechResearchPool(model, modelId, technologies, options, verbose = false) {
138
+ if (technologies.length === 0) {
139
+ return [];
140
+ }
141
+ // Determine capabilities once
142
+ const capabilities = {
143
+ hasTavily: !!options.tavilyApiKey,
144
+ hasContext7: !!options.context7ApiKey,
145
+ };
146
+ if (verbose) {
147
+ logger.info(`Tech Research Pool: Starting ${technologies.length} parallel researchers`);
148
+ }
149
+ // Run all researchers in parallel
150
+ const results = await Promise.all(technologies.map(technology => runTechResearcher(model, modelId, { technology, capabilities }, options, verbose)));
151
+ if (verbose) {
152
+ logger.info(`Tech Research Pool: Completed ${results.length} research tasks`);
153
+ }
154
+ return results;
155
+ }
156
+ /**
157
+ * Parse tech research from agent response
158
+ */
159
+ function parseTechResearch(text, steps, technology, researchMode, verbose) {
160
+ // Try to get text from the result or steps
161
+ let textToParse = text;
162
+ if (!textToParse || textToParse.trim() === '') {
163
+ const stepsList = steps || [];
164
+ for (let i = stepsList.length - 1; i >= 0; i--) {
165
+ const step = stepsList[i];
166
+ if (step.text && step.text.trim() !== '') {
167
+ textToParse = step.text;
168
+ break;
169
+ }
170
+ }
171
+ }
172
+ if (!textToParse || textToParse.trim() === '') {
173
+ if (verbose) {
174
+ logger.warn(`Tech Researcher [${technology}]: No text output found`);
175
+ }
176
+ return getDefaultTechResearch(technology, researchMode);
177
+ }
178
+ // Use safe JSON parser with repair capabilities
179
+ const parsed = parseJsonSafe(textToParse);
180
+ if (!parsed) {
181
+ if (verbose) {
182
+ logger.warn(`Tech Researcher [${technology}]: Failed to parse JSON response`);
183
+ }
184
+ return getDefaultTechResearch(technology, researchMode);
185
+ }
186
+ return {
187
+ technology,
188
+ bestPractices: parsed.bestPractices || [],
189
+ antiPatterns: parsed.antiPatterns || [],
190
+ testingTips: parsed.testingTips || [],
191
+ documentationHints: parsed.documentationHints || [],
192
+ researchMode,
193
+ };
194
+ }
195
+ /**
196
+ * Get default tech research when parsing fails
197
+ */
198
+ function getDefaultTechResearch(technology, researchMode) {
199
+ return {
200
+ technology,
201
+ bestPractices: ['Follow official documentation', 'Use TypeScript for type safety'],
202
+ antiPatterns: ['Avoid deprecated APIs', 'Don\'t skip error handling'],
203
+ testingTips: ['Write unit tests for core logic', 'Test edge cases'],
204
+ documentationHints: [`Check official ${technology} documentation`],
205
+ researchMode,
206
+ };
207
+ }
208
+ //# sourceMappingURL=tech-researcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tech-researcher.js","sourceRoot":"","sources":["../../../src/ai/agents/tech-researcher.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,95 @@
1
1
  /**
2
2
  * Agent Types and Interfaces
3
3
  * Defines the structure for multi-agent analysis
4
+ *
5
+ * Architecture: Orchestrator-Worker + Evaluator-Optimizer
6
+ * Phase 1: Planning Orchestrator (creates analysis plan)
7
+ * Phase 2: Parallel Workers (context enricher + tech researchers)
8
+ * Phase 3: Synthesis (merge results + MCP detection)
9
+ * Phase 4: Evaluator-Optimizer (QA loop)
4
10
  */
5
11
  import type { ScanResult, DetectedStack } from '../../scanner/types.js';
12
+ /**
13
+ * Analysis plan created by the Planning Orchestrator
14
+ * Guides the parallel workers in Phase 2
15
+ */
16
+ export interface AnalysisPlan {
17
+ /** Key areas to explore in the codebase */
18
+ areasToExplore: string[];
19
+ /** Technologies to research in depth */
20
+ technologiesToResearch: string[];
21
+ /** Specific questions that need answers for implementation guidance */
22
+ questionsToAnswer: string[];
23
+ /** Estimated complexity of the project */
24
+ estimatedComplexity: 'low' | 'medium' | 'high';
25
+ }
26
+ /**
27
+ * Enriched context from codebase exploration
28
+ * Output from the Context Enricher worker
29
+ */
30
+ export interface EnrichedContext {
31
+ /** Key entry point files */
32
+ entryPoints: string[];
33
+ /** Important directories and their purposes */
34
+ keyDirectories: Record<string, string>;
35
+ /** Naming conventions used */
36
+ namingConventions: string;
37
+ /** Detected commands from package.json */
38
+ commands: Record<string, string>;
39
+ /** Answers to the orchestrator's questions */
40
+ answeredQuestions: Record<string, string>;
41
+ /** The primary project type detected */
42
+ projectType: string;
43
+ }
44
+ /**
45
+ * Research result for a single technology
46
+ * Output from a Tech Researcher worker
47
+ */
48
+ export interface TechResearchResult {
49
+ /** Technology that was researched */
50
+ technology: string;
51
+ /** Best practices for this technology */
52
+ bestPractices: string[];
53
+ /** Anti-patterns to avoid */
54
+ antiPatterns: string[];
55
+ /** Testing tips and tools */
56
+ testingTips: string[];
57
+ /** Documentation hints and links */
58
+ documentationHints: string[];
59
+ /** Whether research used tools or knowledge only */
60
+ researchMode: 'full' | 'web-only' | 'docs-only' | 'knowledge-only';
61
+ }
62
+ /**
63
+ * MCP servers focused on ralph loop essentials
64
+ */
65
+ export interface RalphMcpServers {
66
+ /** Database MCP server if applicable */
67
+ database?: string;
68
+ /** E2E testing MCP (always playwright for ralph) */
69
+ e2eTesting: string;
70
+ /** Any additional recommended MCPs */
71
+ additional: string[];
72
+ }
73
+ /**
74
+ * Evaluation result from the QA evaluator
75
+ */
76
+ export interface EvaluationResult {
77
+ /** Quality score from 1-10 */
78
+ qualityScore: number;
79
+ /** Whether entry points were identified */
80
+ hasEntryPoints: boolean;
81
+ /** Whether implementation guidelines were provided */
82
+ hasImplementationGuidelines: boolean;
83
+ /** Whether relevant MCP servers were recommended */
84
+ hasRelevantMcpServers: boolean;
85
+ /** Specific issues found */
86
+ specificIssues: string[];
87
+ /** Suggestions for improvement */
88
+ improvementSuggestions: string[];
89
+ }
6
90
  /**
7
91
  * Codebase analysis result from the Codebase Analyst agent
92
+ * @deprecated Use EnrichedContext for new code
8
93
  */
9
94
  export interface CodebaseAnalysis {
10
95
  /** Project structure and context */
@@ -111,6 +196,7 @@ export interface StackResearcherInput {
111
196
  }
112
197
  /**
113
198
  * Input for the Orchestrator agent
199
+ * @deprecated Use new agent architecture
114
200
  */
115
201
  export interface OrchestratorInput {
116
202
  /** Codebase analysis result */
@@ -120,4 +206,39 @@ export interface OrchestratorInput {
120
206
  /** The detected stack */
121
207
  stack: DetectedStack;
122
208
  }
209
+ /**
210
+ * Input for the Context Enricher worker
211
+ */
212
+ export interface ContextEnricherInput {
213
+ /** The scan result from the scanner */
214
+ scanResult: ScanResult;
215
+ /** Areas to explore from the analysis plan */
216
+ areasToExplore: string[];
217
+ /** Questions to answer from the analysis plan */
218
+ questionsToAnswer: string[];
219
+ }
220
+ /**
221
+ * Input for a Tech Researcher worker
222
+ */
223
+ export interface TechResearcherInput {
224
+ /** Technology to research */
225
+ technology: string;
226
+ /** Agent capabilities (determines which tools are available) */
227
+ capabilities: AgentCapabilities;
228
+ }
229
+ /**
230
+ * Input for the Synthesis agent
231
+ */
232
+ export interface SynthesisInput {
233
+ /** Enriched context from codebase exploration */
234
+ enrichedContext: EnrichedContext;
235
+ /** Research results for each technology */
236
+ techResearch: TechResearchResult[];
237
+ /** Detected MCP servers */
238
+ mcpServers: RalphMcpServers;
239
+ /** The original analysis plan */
240
+ plan: AnalysisPlan;
241
+ /** The detected stack from scanner */
242
+ stack: DetectedStack;
243
+ }
123
244
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai/agents/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAExE;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,oCAAoC;IACpC,cAAc,EAAE;QACd,4BAA4B;QAC5B,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,+CAA+C;QAC/C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QACvC,8BAA8B;QAC9B,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,+EAA+E;QAC/E,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,0CAA0C;IAC1C,QAAQ,EAAE;QACR,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,kDAAkD;IAClD,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,wDAAwD;IACxD,0BAA0B,CAAC,EAAE,MAAM,EAAE,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,aAAa,EAAE,MAAM,EAAE,CAAC;IACxB,6BAA6B;IAC7B,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,wCAAwC;IACxC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,0CAA0C;IAC1C,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,oCAAoC;IACpC,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,kEAAkE;IAClE,YAAY,EAAE,MAAM,GAAG,UAAU,GAAG,WAAW,GAAG,gBAAgB,CAAC;CACpE;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,2CAA2C;IAC3C,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,kDAAkD;IAClD,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,+CAA+C;IAC/C,aAAa,EAAE,aAAa,CAAC;IAC7B,2DAA2D;IAC3D,UAAU,EAAE,kBAAkB,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,kCAAkC;IAClC,SAAS,EAAE,OAAO,CAAC;IACnB,8CAA8C;IAC9C,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,gCAAgC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6BAA6B;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,uCAAuC;IACvC,UAAU,EAAE,UAAU,CAAC;IACvB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,yBAAyB;IACzB,KAAK,EAAE,aAAa,CAAC;IACrB,kCAAkC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,yBAAyB;IACzB,YAAY,EAAE,iBAAiB,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,4BAA4B;IAC5B,aAAa,EAAE,aAAa,CAAC;IAC7B,yBAAyB;IACzB,KAAK,EAAE,aAAa,CAAC;CACtB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/ai/agents/types.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,12 @@
1
1
  /**
2
2
  * Agent Types and Interfaces
3
3
  * Defines the structure for multi-agent analysis
4
+ *
5
+ * Architecture: Orchestrator-Worker + Evaluator-Optimizer
6
+ * Phase 1: Planning Orchestrator (creates analysis plan)
7
+ * Phase 2: Parallel Workers (context enricher + tech researchers)
8
+ * Phase 3: Synthesis (merge results + MCP detection)
9
+ * Phase 4: Evaluator-Optimizer (QA loop)
4
10
  */
5
11
  export {};
6
12
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ai/agents/types.ts"],"names":[],"mappings":"AAAA;;;GAGG"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/ai/agents/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
@@ -6,6 +6,6 @@ export { type AIProvider, type ProviderConfig, type OptionalService, getModel, h
6
6
  export { formatStackForPrompt, SYSTEM_PROMPT, SYSTEM_PROMPT_AGENTIC, createAnalysisPrompt, createValidationPrompt, createRecommendationsPrompt, } from './prompts.js';
7
7
  export { createExplorationTools, RIPGREP_SKILL, } from './tools.js';
8
8
  export { createTavilySearchTool, canUseTavily, createContext7Tool, canUseContext7, } from './tools/index.js';
9
- export { runMultiAgentAnalysis, runCodebaseAnalyst, runStackResearcher, runOrchestrator, mergeAgentResults, type CodebaseAnalysis, type StackResearch, type McpRecommendations, type MultiAgentAnalysis, type AgentCapabilities, type AgentOptions, } from './agents/index.js';
9
+ export { runMultiAgentAnalysis, runPlanningOrchestrator, runContextEnricher, runTechResearcher, runTechResearchPool, runSynthesisAgent, detectRalphMcpServers, convertToLegacyMcpRecommendations, runEvaluatorOptimizer, type AnalysisPlan, type EnrichedContext, type TechResearchResult, type RalphMcpServers, type EvaluationResult, type CodebaseAnalysis, type StackResearch, type McpRecommendations, type MultiAgentAnalysis, type AgentCapabilities, type AgentOptions, runCodebaseAnalyst, runStackResearcher, runOrchestrator, mergeAgentResults, } from './agents/index.js';
10
10
  export { type ProjectContext, type DetectedCommands, type McpRecommendations as McpRecommendationsLegacy, type AIAnalysisResult, type EnhancedScanResult, type EnhancerOptions, AIEnhancer, enhanceWithAI, formatAIAnalysis, } from './enhancer.js';
11
11
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,sBAAsB,EACtB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,EACjB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,YAAY,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,IAAI,wBAAwB,EACnD,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,UAAU,EACV,aAAa,EACb,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EACL,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,eAAe,EACpB,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAGtB,OAAO,EACL,sBAAsB,EACtB,aAAa,GACd,MAAM,YAAY,CAAC;AAGpB,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAEL,qBAAqB,EAErB,uBAAuB,EAEvB,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB,EAEnB,iBAAiB,EACjB,qBAAqB,EACrB,iCAAiC,EAEjC,qBAAqB,EAErB,KAAK,YAAY,EACjB,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,KAAK,gBAAgB,EAErB,KAAK,gBAAgB,EACrB,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACtB,KAAK,YAAY,EAEjB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,IAAI,wBAAwB,EACnD,KAAK,gBAAgB,EACrB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,UAAU,EACV,aAAa,EACb,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
package/dist/ai/index.js CHANGED
@@ -10,8 +10,20 @@ export { formatStackForPrompt, SYSTEM_PROMPT, SYSTEM_PROMPT_AGENTIC, createAnaly
10
10
  export { createExplorationTools, RIPGREP_SKILL, } from './tools.js';
11
11
  // New tools (Tavily, Context7)
12
12
  export { createTavilySearchTool, canUseTavily, createContext7Tool, canUseContext7, } from './tools/index.js';
13
- // Agents
14
- export { runMultiAgentAnalysis, runCodebaseAnalyst, runStackResearcher, runOrchestrator, mergeAgentResults, } from './agents/index.js';
13
+ // Agents - New 4-phase architecture
14
+ export {
15
+ // Main orchestration
16
+ runMultiAgentAnalysis,
17
+ // Phase 1: Planning
18
+ runPlanningOrchestrator,
19
+ // Phase 2: Parallel workers
20
+ runContextEnricher, runTechResearcher, runTechResearchPool,
21
+ // Phase 3: Synthesis + MCP detection
22
+ runSynthesisAgent, detectRalphMcpServers, convertToLegacyMcpRecommendations,
23
+ // Phase 4: QA loop
24
+ runEvaluatorOptimizer,
25
+ // Legacy agents (deprecated, kept for backward compatibility)
26
+ runCodebaseAnalyst, runStackResearcher, runOrchestrator, mergeAgentResults, } from './agents/index.js';
15
27
  // AI enhancer
16
28
  export { AIEnhancer, enhanceWithAI, formatAIAnalysis, } from './enhancer.js';
17
29
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yBAAyB;AACzB,OAAO,EAIL,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAExB,mBAAmB;AACnB,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,gCAAgC;AAChC,OAAO,EACL,sBAAsB,EACtB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,+BAA+B;AAC/B,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,SAAS;AACT,OAAO,EACL,qBAAqB,EACrB,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GAOlB,MAAM,mBAAmB,CAAC;AAE3B,cAAc;AACd,OAAO,EAOL,UAAU,EACV,aAAa,EACb,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ai/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,yBAAyB;AACzB,OAAO,EAIL,QAAQ,EACR,SAAS,EACT,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,cAAc,EACd,yBAAyB,GAC1B,MAAM,gBAAgB,CAAC;AAExB,mBAAmB;AACnB,OAAO,EACL,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,cAAc,CAAC;AAEtB,gCAAgC;AAChC,OAAO,EACL,sBAAsB,EACtB,aAAa,GACd,MAAM,YAAY,CAAC;AAEpB,+BAA+B;AAC/B,OAAO,EACL,sBAAsB,EACtB,YAAY,EACZ,kBAAkB,EAClB,cAAc,GACf,MAAM,kBAAkB,CAAC;AAE1B,oCAAoC;AACpC,OAAO;AACL,qBAAqB;AACrB,qBAAqB;AACrB,oBAAoB;AACpB,uBAAuB;AACvB,4BAA4B;AAC5B,kBAAkB,EAClB,iBAAiB,EACjB,mBAAmB;AACnB,qCAAqC;AACrC,iBAAiB,EACjB,qBAAqB,EACrB,iCAAiC;AACjC,mBAAmB;AACnB,qBAAqB;AAcrB,8DAA8D;AAC9D,kBAAkB,EAClB,kBAAkB,EAClB,eAAe,EACf,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,cAAc;AACd,OAAO,EAOL,UAAU,EACV,aAAa,EACb,gBAAgB,GACjB,MAAM,eAAe,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,gBAAgB,CAAC;AAgBxB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAsND;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAsIrE"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH,OAAO,EAGL,KAAK,UAAU,EAEhB,MAAM,gBAAgB,CAAC;AAiBxB,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,EAAE,UAAU,CAAC;IACtB,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAsND;;;GAGG;AACH,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA6IrE"}
@@ -12,6 +12,7 @@ import pc from 'picocolors';
12
12
  import fs from 'fs';
13
13
  import path from 'path';
14
14
  import { simpson } from '../utils/colors.js';
15
+ import { flushTracing } from '../utils/tracing.js';
15
16
  /**
16
17
  * Save API keys to .env.local file
17
18
  */
@@ -71,8 +72,8 @@ async function collectApiKeys(projectRoot, options) {
71
72
  const providerChoice = await prompts.select({
72
73
  message: 'Select your AI provider:',
73
74
  options: [
74
- { value: 'anthropic', label: 'Anthropic (Claude)', hint: 'recommended' },
75
- { value: 'openai', label: 'OpenAI (GPT-4/5)' },
75
+ { value: 'anthropic', label: 'Anthropic', hint: 'recommended' },
76
+ { value: 'openai', label: 'OpenAI' },
76
77
  { value: 'openrouter', label: 'OpenRouter', hint: 'multiple providers' },
77
78
  ],
78
79
  });
@@ -202,6 +203,7 @@ export async function initCommand(options) {
202
203
  if (!apiKeys) {
203
204
  // In --yes mode, null means missing API key (hard failure)
204
205
  // In interactive mode, null means user cancelled
206
+ await flushTracing();
205
207
  if (options.yes) {
206
208
  process.exit(1);
207
209
  }
@@ -220,6 +222,7 @@ export async function initCommand(options) {
220
222
  catch (error) {
221
223
  spinner.stop('Scan failed');
222
224
  logger.error(`Failed to scan project: ${error instanceof Error ? error.message : String(error)}`);
225
+ await flushTracing();
223
226
  process.exit(1);
224
227
  }
225
228
  // Step 3: Run multi-agent AI analysis
@@ -273,6 +276,7 @@ export async function initCommand(options) {
273
276
  initialValue: true,
274
277
  });
275
278
  if (prompts.isCancel(shouldContinue) || !shouldContinue) {
279
+ await flushTracing();
276
280
  logger.info('Initialization cancelled');
277
281
  return;
278
282
  }
@@ -291,6 +295,8 @@ export async function initCommand(options) {
291
295
  console.log('');
292
296
  console.log(simpson.yellow('─── Generation Results ───'));
293
297
  console.log(formatGenerationResult(generationResult));
298
+ // Flush tracing spans before completing
299
+ await flushTracing();
294
300
  if (generationResult.success) {
295
301
  console.log('');
296
302
  logger.success('Ralph initialized successfully!');
@@ -308,6 +314,7 @@ export async function initCommand(options) {
308
314
  catch (error) {
309
315
  spinner.stop('Generation failed');
310
316
  logger.error(`Failed to generate files: ${error instanceof Error ? error.message : String(error)}`);
317
+ await flushTracing();
311
318
  process.exit(1);
312
319
  }
313
320
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAmB,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC1E,OAAO,EACL,UAAU,EACV,gBAAgB,GAGjB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,SAAS,EACT,eAAe,EACf,oBAAoB,EACpB,gBAAgB,EAChB,yBAAyB,EACzB,YAAY,EACZ,cAAc,GACf,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,OAAO,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,OAAO,EAA2B,MAAM,oBAAoB,CAAC;AAOtE;;GAEG;AACH,SAAS,kBAAkB,CACzB,WAAmB,EACnB,IAA4B;IAE5B,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IAC1D,IAAI,UAAU,GAAG,EAAE,CAAC;IAEpB,uCAAuC;IACvC,IAAI,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAChC,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED,yBAAyB;IACzB,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACnD,IAAI,CAAC,KAAK;YAAE,SAAS;QAErB,MAAM,QAAQ,GAAG,IAAI,MAAM,CAAC,IAAI,MAAM,MAAM,EAAE,GAAG,CAAC,CAAC;QACnD,IAAI,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC9B,uBAAuB;YACvB,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,iBAAiB;YACjB,UAAU,GAAG,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,GAAG,MAAM,IAAI,KAAK,IAAI,CAAC;QACxF,CAAC;IACH,CAAC;IAED,EAAE,CAAC,aAAa,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAS,eAAe,CAAC,QAAoB;IAC3C,MAAM,MAAM,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;IACtE,OAAO,WAAW,EAAE,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;AAC/C,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc,CAC3B,WAAmB,EACnB,OAAoB;IAOpB,sCAAsC;IACtC,IAAI,QAAQ,GAAe,OAAO,CAAC,QAAQ,IAAI,WAAW,CAAC;IAC3D,MAAM,gBAAgB,GAAG,oBAAoB,EAAE,CAAC;IAChD,IAAI,eAAe,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;IAC1F,IAAI,wBAAwB,GAAG,KAAK,CAAC;IAErC,IAAI,CAAC,eAAe,EAAE,CAAC;QACrB,iDAAiD;QACjD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,MAAM,CAAC,KAAK,CAAC,iFAAiF,CAAC,CAAC;YAChG,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4CAA4C;QAC5C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACrD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,oEAAoE,CAAC,CAAC;QAClF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,kBAAkB;QAClB,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;YAC1C,OAAO,EAAE,0BAA0B;YACnC,OAAO,EAAE;gBACP,EAAE,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,oBAAoB,EAAE,IAAI,EAAE,aAAa,EAAE;gBACxE,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,kBAAkB,EAAE;gBAC9C,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,oBAAoB,EAAE;aACzE;SACF,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;YACrC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,QAAQ,GAAG,cAA4B,CAAC;QACxC,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAEzC,cAAc;QACd,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;YACzC,OAAO,EAAE,cAAc,MAAM,GAAG;SACjC,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YAClD,MAAM,CAAC,KAAK,CAAC,uCAAuC,CAAC,CAAC;YACtD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,sCAAsC;QACtC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;QAClC,wBAAwB,GAAG,IAAI,CAAC;IAClC,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QAC7B,6BAA6B;QAC7B,QAAQ,GAAG,gBAAgB,IAAI,WAAW,CAAC;IAC7C,CAAC;IAED,iDAAiD;IACjD,IAAI,aAAqB,CAAC;IAE1B,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,aAAa,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC5C,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,GAAG,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;YACvC,OAAO,EAAE,eAAe;YACxB,OAAO,EAAE,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBAC9B,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,IAAI,EAAE,CAAC,CAAC,IAAI;aACb,CAAC,CAAC;SACJ,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;YAClC,OAAO,IAAI,CAAC;QACd,CAAC;QAED,aAAa,GAAG,WAAqB,CAAC;IACxC,CAAC;IAED,uDAAuD;IACvD,IAAI,SAA6B,CAAC;IAClC,IAAI,2BAA2B,GAAG,KAAK,CAAC;IAExC,IAAI,YAAY,EAAE,EAAE,CAAC;QACnB,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAAC;IAC5D,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;QAEvF,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;YACzC,OAAO,EAAE,SAAS,yBAAyB,CAAC,MAAM,yBAAyB;SAC5E,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,WAAW,EAAE,CAAC;YAClD,SAAS,GAAG,WAAW,CAAC;YACxB,2BAA2B,GAAG,IAAI,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,MAAM,CAAC,GAAG,WAAW,CAAC;QAC9D,CAAC;IACH,CAAC;IAED,yDAAyD;IACzD,IAAI,WAA+B,CAAC;IACpC,IAAI,6BAA6B,GAAG,KAAK,CAAC;IAE1C,IAAI,cAAc,EAAE,EAAE,CAAC;QACrB,WAAW,GAAG,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,QAAQ,CAAC,CAAC;IAChE,CAAC;SAAM,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iEAAiE,CAAC,CAAC,CAAC;QAEvF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC;YAC3C,OAAO,EAAE,SAAS,yBAAyB,CAAC,QAAQ,yBAAyB;SAC9E,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,aAAa,EAAE,CAAC;YACtD,WAAW,GAAG,aAAa,CAAC;YAC5B,6BAA6B,GAAG,IAAI,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,aAAa,CAAC;QAClE,CAAC;IACH,CAAC;IAED,+CAA+C;IAC/C,MAAM,UAAU,GAA2B,EAAE,CAAC;IAE9C,IAAI,wBAAwB,EAAE,CAAC;QAC7B,MAAM,SAAS,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;QAC5C,UAAU,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;IAClD,CAAC;IACD,IAAI,2BAA2B,IAAI,SAAS,EAAE,CAAC;QAC7C,UAAU,CAAC,yBAAyB,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IAC3D,CAAC;IACD,IAAI,6BAA6B,IAAI,WAAW,EAAE,CAAC;QACjD,UAAU,CAAC,yBAAyB,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC;IAC/D,CAAC;IAED,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,gCAAgC;QAChC,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;YAC5C,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QACjD,CAAC;aAAM,CAAC;YACN,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;gBACrC,OAAO,EAAE,8BAA8B;gBACvC,YAAY,EAAE,IAAI;aACnB,CAAC,CAAC;YAEH,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC5C,kBAAkB,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;gBAC5C,MAAM,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO;QACL,QAAQ;QACR,KAAK,EAAE,aAAa;QACpB,SAAS;QACT,WAAW;KACZ,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,OAAoB;IACpD,MAAM,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;IAElC,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,YAAY,WAAW,EAAE,CAAC,CAAC;IACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,kCAAkC;IAClC,MAAM,OAAO,GAAG,MAAM,cAAc,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAE3D,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,2DAA2D;QAC3D,iDAAiD;QACjD,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;YAChB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,wCAAwC;IACxC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;IAC9B,IAAI,UAAsB,CAAC;IAE3B,IAAI,CAAC;QACH,UAAU,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7C,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;IAClC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QAC5B,MAAM,CAAC,KAAK,CAAC,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,sCAAsC;IACtC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,MAAM,UAAU,GAAG,gBAAgB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,KAAK,CAAC,EAAE,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC;IAEnH,2BAA2B;IAC3B,MAAM,YAAY,GAAa,CAAC,mBAAmB,CAAC,CAAC;IACrD,IAAI,OAAO,CAAC,SAAS;QAAE,YAAY,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;IACzD,IAAI,OAAO,CAAC,WAAW;QAAE,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAEzD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,oBAAoB,OAAO,CAAC,QAAQ,MAAM,UAAU,OAAO,CAAC,CAAC,CAAC;IACzF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,iBAAiB,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACjE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAEhB,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAExC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC;QAChC,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,OAAO,EAAE,IAAI;QACb,OAAO,EAAE,IAAI,EAAE,8CAA8C;QAC7D,YAAY,EAAE,OAAO,CAAC,SAAS;QAC/B,cAAc,EAAE,OAAO,CAAC,WAAW;KACpC,CAAC,CAAC;IAEH,IAAI,cAAkC,CAAC;IAEvC,IAAI,CAAC;QACH,cAAc,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEtD,IAAI,cAAc,CAAC,UAAU,IAAI,cAAc,CAAC,UAAU,EAAE,CAAC;YAC3D,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;YACrC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,CAAC;aAAM,IAAI,cAAc,CAAC,OAAO,EAAE,CAAC;YAClC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,aAAa,cAAc,CAAC,OAAO,EAAE,CAAC,CAAC;YACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAEhB,iCAAiC;YACjC,cAAc,GAAG,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;QACxD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,aAAa,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnF,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAEhB,iCAAiC;QACjC,cAAc,GAAG,EAAE,GAAG,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IACxD,CAAC;IAED,2CAA2C;IAC3C,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;QACjB,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,OAAO,CAAC;YAC3C,OAAO,EAAE,qCAAqC;YAC9C,YAAY,EAAE,IAAI;SACnB,CAAC,CAAC;QAEH,IAAI,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;YACxD,MAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;IACH,CAAC;IAED,uCAAuC;IACvC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChB,OAAO,CAAC,KAAK,CAAC,mCAAmC,CAAC,CAAC;IAEnD,MAAM,SAAS,GAAG,IAAI,SAAS,CAAC;QAC9B,aAAa,EAAE,QAAQ;QACvB,cAAc,EAAE,IAAI;QACpB,OAAO,EAAE,KAAK;KACf,CAAC,CAAC;IAEH,IAAI,CAAC;QACH,MAAM,gBAAgB,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;QAClE,OAAO,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;QAE9C,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QAEtD,IAAI,gBAAgB,CAAC,OAAO,EAAE,CAAC;YAC7B,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,MAAM,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC;YAClD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAChB,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;YAC3B,OAAO,CAAC,GAAG,CAAC,4CAA4C,CAAC,CAAC;YAC1D,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;YAC7D,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YACvE,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;QACrE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAClC,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACpG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"json-repair.d.ts","sourceRoot":"","sources":["../../src/utils/json-repair.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2D/C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAuCvD"}
1
+ {"version":3,"file":"json-repair.d.ts","sourceRoot":"","sources":["../../src/utils/json-repair.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAiDH;;GAEG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA8D/C;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,GAAG,IAAI,CAuCvD"}
@@ -2,6 +2,47 @@
2
2
  * JSON Repair Utility
3
3
  * Fixes common JSON syntax errors from AI responses
4
4
  */
5
+ /**
6
+ * Fix mismatched brackets in JSON
7
+ * AI sometimes writes } instead of ] or vice versa
8
+ */
9
+ function fixMismatchedBrackets(text) {
10
+ const chars = text.split('');
11
+ const stack = [];
12
+ let inString = false;
13
+ let escapeNext = false;
14
+ for (let i = 0; i < chars.length; i++) {
15
+ const char = chars[i];
16
+ if (escapeNext) {
17
+ escapeNext = false;
18
+ continue;
19
+ }
20
+ if (char === '\\' && inString) {
21
+ escapeNext = true;
22
+ continue;
23
+ }
24
+ if (char === '"') {
25
+ inString = !inString;
26
+ continue;
27
+ }
28
+ if (inString)
29
+ continue;
30
+ if (char === '{' || char === '[') {
31
+ stack.push({ char, index: i });
32
+ }
33
+ else if (char === '}' || char === ']') {
34
+ if (stack.length > 0) {
35
+ const last = stack.pop();
36
+ const expected = last.char === '{' ? '}' : ']';
37
+ if (char !== expected) {
38
+ // Mismatch! Fix it
39
+ chars[i] = expected;
40
+ }
41
+ }
42
+ }
43
+ }
44
+ return chars.join('');
45
+ }
5
46
  /**
6
47
  * Attempt to repair malformed JSON from AI responses
7
48
  */
@@ -9,6 +50,8 @@ export function repairJson(text) {
9
50
  let json = text;
10
51
  // Remove any leading/trailing whitespace
11
52
  json = json.trim();
53
+ // Fix mismatched brackets (AI writes } instead of ] or vice versa)
54
+ json = fixMismatchedBrackets(json);
12
55
  // Remove trailing commas before ] or }
13
56
  json = json.replace(/,(\s*[\]}])/g, '$1');
14
57
  // Fix missing commas between array elements or object properties
@@ -1 +1 @@
1
- {"version":3,"file":"json-repair.js","sourceRoot":"","sources":["../../src/utils/json-repair.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"json-repair.js","sourceRoot":"","sources":["../../src/utils/json-repair.ts"],"names":[],"mappings":"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"}