wiggum-cli 0.3.2 → 0.4.1

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 (84) 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 +148 -86
  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 +127 -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/enhancer.d.ts +4 -0
  51. package/dist/ai/enhancer.d.ts.map +1 -1
  52. package/dist/ai/enhancer.js +3 -0
  53. package/dist/ai/enhancer.js.map +1 -1
  54. package/dist/ai/index.d.ts +1 -1
  55. package/dist/ai/index.d.ts.map +1 -1
  56. package/dist/ai/index.js +14 -2
  57. package/dist/ai/index.js.map +1 -1
  58. package/dist/commands/init.d.ts.map +1 -1
  59. package/dist/commands/init.js +20 -4
  60. package/dist/commands/init.js.map +1 -1
  61. package/dist/utils/tracing.d.ts +5 -0
  62. package/dist/utils/tracing.d.ts.map +1 -1
  63. package/dist/utils/tracing.js +40 -1
  64. package/dist/utils/tracing.js.map +1 -1
  65. package/package.json +5 -2
  66. package/src/ai/agents/codebase-analyst.ts +3 -0
  67. package/src/ai/agents/context-enricher.ts +189 -0
  68. package/src/ai/agents/evaluator-optimizer.ts +277 -0
  69. package/src/ai/agents/index.ts +198 -111
  70. package/src/ai/agents/mcp-detector.test.ts +290 -0
  71. package/src/ai/agents/mcp-detector.ts +210 -0
  72. package/src/ai/agents/orchestrator.ts +3 -0
  73. package/src/ai/agents/planning-orchestrator.ts +140 -0
  74. package/src/ai/agents/stack-researcher.ts +3 -0
  75. package/src/ai/agents/stack-utils.ts +34 -0
  76. package/src/ai/agents/synthesis-agent.ts +240 -0
  77. package/src/ai/agents/tech-researcher.ts +262 -0
  78. package/src/ai/agents/types.ts +160 -0
  79. package/src/ai/enhancer.ts +6 -1
  80. package/src/ai/index.ts +26 -5
  81. package/src/commands/init.ts +20 -4
  82. package/src/utils/tracing.ts +44 -1
  83. package/tsconfig.json +1 -1
  84. package/vitest.config.ts +7 -0
@@ -1,121 +1,183 @@
1
1
  /**
2
2
  * Agents Index
3
- * Exports all agent types and functions
3
+ * Multi-agent analysis with Orchestrator-Worker + Evaluator-Optimizer pattern
4
+ *
5
+ * Architecture:
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
- // Agents
11
+ // New architecture exports
12
+ export { runPlanningOrchestrator } from './planning-orchestrator.js';
13
+ export { runContextEnricher } from './context-enricher.js';
14
+ export { runTechResearcher, runTechResearchPool } from './tech-researcher.js';
15
+ export { detectRalphMcpServers, convertToLegacyMcpRecommendations } from './mcp-detector.js';
16
+ export { runSynthesisAgent } from './synthesis-agent.js';
17
+ export { runEvaluatorOptimizer } from './evaluator-optimizer.js';
18
+ export { detectProjectType } from './stack-utils.js';
19
+ // Legacy exports (for backward compatibility during migration)
6
20
  export { runCodebaseAnalyst } from './codebase-analyst.js';
7
21
  export { runStackResearcher } from './stack-researcher.js';
8
22
  export { runOrchestrator, mergeAgentResults } from './orchestrator.js';
9
- import { runCodebaseAnalyst } from './codebase-analyst.js';
10
- import { runStackResearcher } from './stack-researcher.js';
11
- import { runOrchestrator, mergeAgentResults } from './orchestrator.js';
23
+ import { runPlanningOrchestrator } from './planning-orchestrator.js';
24
+ import { runContextEnricher } from './context-enricher.js';
25
+ import { runTechResearchPool } from './tech-researcher.js';
26
+ import { detectRalphMcpServers } from './mcp-detector.js';
27
+ import { runSynthesisAgent } from './synthesis-agent.js';
28
+ import { runEvaluatorOptimizer } from './evaluator-optimizer.js';
29
+ import { detectProjectType } from './stack-utils.js';
12
30
  import { logger } from '../../utils/logger.js';
13
31
  /**
14
- * Run the full multi-agent analysis pipeline
32
+ * Run the full multi-agent analysis pipeline (new architecture)
33
+ *
34
+ * Phase 1: Planning Orchestrator - Creates focused analysis plan
35
+ * Phase 2: Parallel Workers - Context enricher + tech researchers run concurrently
36
+ * Phase 3: Synthesis - Merges results + detects MCPs
37
+ * Phase 4: Evaluator-Optimizer - QA loop (max 2 iterations)
15
38
  */
16
39
  export async function runMultiAgentAnalysis(model, modelId, scanResult, options = {}) {
17
- const { tavilyApiKey, context7ApiKey, verbose = false } = options;
40
+ const { tavilyApiKey, context7ApiKey, verbose = false, onProgress } = options;
41
+ // Helper to report progress (uses callback or falls back to logger)
42
+ const report = (phase, detail) => {
43
+ if (onProgress) {
44
+ onProgress(phase, detail);
45
+ }
46
+ else if (verbose) {
47
+ logger.info(detail ? `${phase}: ${detail}` : phase);
48
+ }
49
+ };
18
50
  // Determine capabilities
19
51
  const capabilities = {
20
52
  hasTavily: !!tavilyApiKey,
21
53
  hasContext7: !!context7ApiKey,
22
54
  };
23
- if (verbose) {
24
- logger.info('Starting multi-agent analysis...');
55
+ if (verbose && !onProgress) {
56
+ logger.info('Starting multi-agent analysis (4-phase architecture)...');
25
57
  logger.info(`Capabilities: Tavily=${capabilities.hasTavily}, Context7=${capabilities.hasContext7}`);
26
58
  }
27
- // Run Codebase Analyst
28
- if (verbose) {
29
- logger.info('Running Codebase Analyst...');
30
- }
31
- let codebaseAnalysis = await runCodebaseAnalyst(model, modelId, {
32
- scanResult,
33
- projectRoot: scanResult.projectRoot,
34
- }, verbose);
35
- if (!codebaseAnalysis) {
36
- if (verbose) {
37
- logger.warn('Codebase Analyst failed, using defaults');
59
+ try {
60
+ // ═══════════════════════════════════════════════════════════════
61
+ // PHASE 1: Planning Orchestrator
62
+ // ═══════════════════════════════════════════════════════════════
63
+ report('Phase 1/4: Planning');
64
+ const plan = await runPlanningOrchestrator(model, modelId, scanResult, verbose && !onProgress);
65
+ report('Phase 1/4: Planning', `${plan.areasToExplore.length} areas, ${plan.technologiesToResearch.length} technologies`);
66
+ // ═══════════════════════════════════════════════════════════════
67
+ // PHASE 2: Parallel Workers
68
+ // ═══════════════════════════════════════════════════════════════
69
+ const workerCount = plan.technologiesToResearch.length + 1; // tech researchers + context enricher
70
+ report('Phase 2/4: Analyzing', `${workerCount} parallel workers`);
71
+ // Run context enricher and tech researchers in parallel with error recovery
72
+ const [contextResult, researchResult] = await Promise.allSettled([
73
+ runContextEnricher(model, modelId, {
74
+ scanResult,
75
+ areasToExplore: plan.areasToExplore,
76
+ questionsToAnswer: plan.questionsToAnswer,
77
+ }, verbose && !onProgress),
78
+ runTechResearchPool(model, modelId, plan.technologiesToResearch, { tavilyApiKey, context7ApiKey }, verbose && !onProgress),
79
+ ]);
80
+ // Extract results with fallbacks for failed workers
81
+ const enrichedContext = contextResult.status === 'fulfilled'
82
+ ? contextResult.value
83
+ : getDefaultEnrichedContext(scanResult);
84
+ const techResearch = researchResult.status === 'fulfilled'
85
+ ? researchResult.value
86
+ : [];
87
+ // Log any worker failures
88
+ if (contextResult.status === 'rejected') {
89
+ logger.warn(`Context Enricher failed: ${contextResult.reason instanceof Error ? contextResult.reason.message : String(contextResult.reason)}`);
38
90
  }
39
- // Use defaults instead of aborting the pipeline
40
- codebaseAnalysis = getDefaultCodebaseAnalysis(scanResult);
41
- }
42
- // Run Stack Researcher
43
- if (verbose) {
44
- logger.info('Running Stack Researcher...');
45
- }
46
- const stackResearch = await runStackResearcher(model, modelId, {
47
- stack: scanResult.stack,
48
- projectType: codebaseAnalysis.projectContext.projectType,
49
- capabilities,
50
- }, { tavilyApiKey, context7ApiKey }, verbose);
51
- if (!stackResearch) {
52
- if (verbose) {
53
- logger.warn('Stack Researcher failed, using defaults');
91
+ if (researchResult.status === 'rejected') {
92
+ logger.warn(`Tech Research Pool failed: ${researchResult.reason instanceof Error ? researchResult.reason.message : String(researchResult.reason)}`);
54
93
  }
55
- // Continue with defaults - stack research is optional
94
+ report('Phase 2/4: Analyzing', 'complete');
95
+ // ═══════════════════════════════════════════════════════════════
96
+ // PHASE 3: Synthesis + MCP Detection
97
+ // ═══════════════════════════════════════════════════════════════
98
+ report('Phase 3/4: Synthesizing');
99
+ // Detect MCPs (pure function, no LLM)
100
+ const mcpServers = detectRalphMcpServers(scanResult.stack);
101
+ // Run synthesis agent
102
+ const synthesizedResult = await runSynthesisAgent(model, modelId, {
103
+ enrichedContext,
104
+ techResearch,
105
+ mcpServers,
106
+ plan,
107
+ stack: scanResult.stack,
108
+ }, verbose && !onProgress);
109
+ report('Phase 3/4: Synthesizing', 'complete');
110
+ // ═══════════════════════════════════════════════════════════════
111
+ // PHASE 4: Evaluator-Optimizer QA Loop
112
+ // ═══════════════════════════════════════════════════════════════
113
+ report('Phase 4/4: Quality check');
114
+ const finalResult = await runEvaluatorOptimizer(model, modelId, synthesizedResult, scanResult, 2, // Max 2 iterations
115
+ verbose && !onProgress);
116
+ report('Phase 4/4: Quality check', 'complete');
117
+ return finalResult;
56
118
  }
57
- // Run Orchestrator to merge results
58
- if (verbose) {
59
- logger.info('Running Orchestrator...');
119
+ catch (error) {
120
+ logger.error(`Multi-agent analysis failed: ${error instanceof Error ? error.message : String(error)}`);
121
+ // Fall back to default result
122
+ return getDefaultMultiAgentAnalysis(scanResult);
60
123
  }
61
- const mcpServers = await runOrchestrator(model, modelId, {
62
- codebaseAnalysis,
63
- stackResearch: stackResearch || getDefaultStackResearch(),
64
- stack: scanResult.stack,
65
- }, verbose);
66
- // Merge all results
67
- const finalResult = mergeAgentResults(codebaseAnalysis, stackResearch || getDefaultStackResearch(), mcpServers);
68
- if (verbose) {
69
- logger.info('Multi-agent analysis complete');
70
- }
71
- return finalResult;
72
124
  }
73
125
  /**
74
- * Get default codebase analysis when agent fails
126
+ * Get default analysis result when pipeline fails
75
127
  */
76
- function getDefaultCodebaseAnalysis(scanResult) {
77
- // Detect project type from scan result
78
- let projectType = 'Unknown';
79
- if (scanResult.stack.mcp?.isProject) {
80
- projectType = 'MCP Server';
81
- }
82
- else if (scanResult.stack.framework?.name.includes('Next')) {
83
- projectType = 'Next.js App';
84
- }
85
- else if (scanResult.stack.framework?.name.includes('React')) {
86
- projectType = 'React SPA';
87
- }
88
- else if (scanResult.stack.framework?.name) {
89
- projectType = `${scanResult.stack.framework.name} Project`;
90
- }
128
+ function getDefaultMultiAgentAnalysis(scanResult) {
129
+ const projectType = detectProjectType(scanResult.stack);
91
130
  return {
92
- projectContext: {
93
- entryPoints: ['src/index.ts'],
94
- keyDirectories: { 'src': 'Source code' },
95
- namingConventions: 'camelCase',
96
- projectType,
131
+ codebaseAnalysis: {
132
+ projectContext: {
133
+ entryPoints: ['src/index.ts'],
134
+ keyDirectories: { src: 'Source code' },
135
+ namingConventions: 'camelCase',
136
+ projectType,
137
+ },
138
+ commands: {
139
+ test: 'npm test',
140
+ lint: 'npm run lint',
141
+ build: 'npm run build',
142
+ dev: 'npm run dev',
143
+ },
144
+ implementationGuidelines: [
145
+ 'Follow existing patterns',
146
+ 'Run tests after changes',
147
+ 'Use TypeScript strict mode',
148
+ ],
149
+ possibleMissedTechnologies: [],
97
150
  },
98
- commands: {
99
- test: 'npm test',
100
- lint: 'npm run lint',
101
- build: 'npm run build',
102
- dev: 'npm run dev',
151
+ stackResearch: {
152
+ bestPractices: ['Follow project conventions'],
153
+ antiPatterns: ['Avoid skipping tests'],
154
+ testingTools: ['npm test'],
155
+ debuggingTools: ['console.log'],
156
+ documentationHints: ['Check official docs'],
157
+ researchMode: 'knowledge-only',
158
+ },
159
+ mcpServers: {
160
+ essential: ['filesystem', 'git', 'playwright'],
161
+ recommended: [],
103
162
  },
104
- implementationGuidelines: ['Follow existing patterns', 'Run tests after changes'],
105
- possibleMissedTechnologies: [],
106
163
  };
107
164
  }
108
165
  /**
109
- * Get default stack research when agent fails
166
+ * Get default enriched context when Context Enricher fails
110
167
  */
111
- function getDefaultStackResearch() {
168
+ function getDefaultEnrichedContext(scanResult) {
169
+ const projectType = detectProjectType(scanResult.stack);
112
170
  return {
113
- bestPractices: ['Follow project conventions'],
114
- antiPatterns: ['Avoid skipping tests'],
115
- testingTools: ['npm test'],
116
- debuggingTools: ['console.log'],
117
- documentationHints: ['Check official docs'],
118
- researchMode: 'knowledge-only',
171
+ entryPoints: ['src/index.ts'],
172
+ keyDirectories: { src: 'Source code' },
173
+ namingConventions: 'camelCase',
174
+ commands: {
175
+ test: 'npm test',
176
+ build: 'npm run build',
177
+ dev: 'npm run dev',
178
+ },
179
+ answeredQuestions: {},
180
+ projectType,
119
181
  };
120
182
  }
121
183
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/agents/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ai/agents/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * MCP Detector (Phase 3 helper)
3
+ * Detects ralph-essential MCP servers based on the detected stack
4
+ *
5
+ * This is a pure function (no LLM) - uses rule-based detection for efficiency
6
+ */
7
+ import type { DetectedStack } from '../../scanner/types.js';
8
+ import type { RalphMcpServers } from './types.js';
9
+ /**
10
+ * Detect ralph-essential MCP servers from the stack
11
+ *
12
+ * Ralph loop essentials:
13
+ * - Playwright: Always recommended for E2E testing
14
+ * - Database MCP: If database is detected
15
+ * - Additional MCPs based on services and deployment
16
+ */
17
+ export declare function detectRalphMcpServers(stack: DetectedStack): RalphMcpServers;
18
+ /**
19
+ * Convert RalphMcpServers to the legacy McpRecommendations format
20
+ * for backward compatibility with existing code
21
+ */
22
+ export declare function convertToLegacyMcpRecommendations(ralphMcp: RalphMcpServers): {
23
+ essential: string[];
24
+ recommended: string[];
25
+ };
26
+ //# sourceMappingURL=mcp-detector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-detector.d.ts","sourceRoot":"","sources":["../../../src/ai/agents/mcp-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAwDlD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe,CAsG3E;AAED;;;GAGG;AACH,wBAAgB,iCAAiC,CAAC,QAAQ,EAAE,eAAe,GAAG;IAC5E,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB,CAiBA"}
@@ -0,0 +1,186 @@
1
+ /**
2
+ * MCP Detector (Phase 3 helper)
3
+ * Detects ralph-essential MCP servers based on the detected stack
4
+ *
5
+ * This is a pure function (no LLM) - uses rule-based detection for efficiency
6
+ */
7
+ /**
8
+ * Database name to MCP server mapping
9
+ */
10
+ const DATABASE_MCP_MAP = {
11
+ supabase: 'supabase',
12
+ convex: 'convex',
13
+ postgres: 'postgres',
14
+ postgresql: 'postgres',
15
+ sqlite: 'sqlite',
16
+ firebase: 'firebase',
17
+ firestore: 'firebase',
18
+ mongodb: 'mongodb',
19
+ mysql: 'mysql',
20
+ redis: 'redis',
21
+ planetscale: 'planetscale',
22
+ neon: 'postgres', // Neon is PostgreSQL-compatible
23
+ turso: 'sqlite', // Turso is SQLite-compatible
24
+ };
25
+ /**
26
+ * Framework-specific MCP recommendations
27
+ */
28
+ const FRAMEWORK_MCP_MAP = {
29
+ 'next.js': ['vercel'],
30
+ 'nextjs': ['vercel'],
31
+ 'vercel': ['vercel'],
32
+ 'remix': [],
33
+ 'astro': [],
34
+ 'nuxt': [],
35
+ 'sveltekit': [],
36
+ };
37
+ /**
38
+ * Service-specific MCP recommendations
39
+ */
40
+ const SERVICE_MCP_MAP = {
41
+ stripe: 'stripe',
42
+ clerk: 'clerk',
43
+ auth0: 'auth0',
44
+ github: 'github',
45
+ gitlab: 'gitlab',
46
+ aws: 'aws',
47
+ gcp: 'gcp',
48
+ azure: 'azure',
49
+ docker: 'docker',
50
+ kubernetes: 'kubernetes',
51
+ k8s: 'kubernetes',
52
+ posthog: 'posthog',
53
+ sentry: 'sentry',
54
+ resend: 'resend',
55
+ sendgrid: 'sendgrid',
56
+ twilio: 'twilio',
57
+ };
58
+ /**
59
+ * Detect ralph-essential MCP servers from the stack
60
+ *
61
+ * Ralph loop essentials:
62
+ * - Playwright: Always recommended for E2E testing
63
+ * - Database MCP: If database is detected
64
+ * - Additional MCPs based on services and deployment
65
+ */
66
+ export function detectRalphMcpServers(stack) {
67
+ const result = {
68
+ e2eTesting: 'playwright', // Always recommend Playwright for ralph loop
69
+ additional: [],
70
+ };
71
+ // Detect database MCP
72
+ if (stack.database) {
73
+ const dbName = stack.database.name.toLowerCase();
74
+ // Check direct mapping
75
+ for (const [key, mcp] of Object.entries(DATABASE_MCP_MAP)) {
76
+ if (dbName.includes(key)) {
77
+ result.database = mcp;
78
+ break;
79
+ }
80
+ }
81
+ }
82
+ // Check ORM for database hints
83
+ if (!result.database && stack.orm) {
84
+ const ormName = stack.orm.name.toLowerCase();
85
+ if (ormName.includes('prisma') || ormName.includes('drizzle')) {
86
+ // These ORMs often use PostgreSQL by default
87
+ // But we don't set a default - let it be detected from actual DB config
88
+ }
89
+ }
90
+ // Detect framework-specific MCPs
91
+ if (stack.framework) {
92
+ const frameworkName = stack.framework.name.toLowerCase();
93
+ for (const [key, mcps] of Object.entries(FRAMEWORK_MCP_MAP)) {
94
+ if (frameworkName.includes(key)) {
95
+ result.additional.push(...mcps);
96
+ break;
97
+ }
98
+ }
99
+ }
100
+ // Detect deployment MCPs
101
+ if (stack.deployment) {
102
+ for (const deploy of stack.deployment) {
103
+ const deployName = deploy.name.toLowerCase();
104
+ if (deployName.includes('docker')) {
105
+ addIfNotExists(result.additional, 'docker');
106
+ }
107
+ if (deployName.includes('vercel')) {
108
+ addIfNotExists(result.additional, 'vercel');
109
+ }
110
+ if (deployName.includes('railway')) {
111
+ addIfNotExists(result.additional, 'railway');
112
+ }
113
+ }
114
+ }
115
+ // Detect auth provider MCPs
116
+ if (stack.auth) {
117
+ const authName = stack.auth.name.toLowerCase();
118
+ for (const [key, mcp] of Object.entries(SERVICE_MCP_MAP)) {
119
+ if (authName.includes(key)) {
120
+ addIfNotExists(result.additional, mcp);
121
+ break;
122
+ }
123
+ }
124
+ }
125
+ // Detect analytics MCPs
126
+ if (stack.analytics) {
127
+ for (const analytics of stack.analytics) {
128
+ const analyticsName = analytics.name.toLowerCase();
129
+ for (const [key, mcp] of Object.entries(SERVICE_MCP_MAP)) {
130
+ if (analyticsName.includes(key)) {
131
+ addIfNotExists(result.additional, mcp);
132
+ break;
133
+ }
134
+ }
135
+ }
136
+ }
137
+ // Detect payment MCPs
138
+ if (stack.payments) {
139
+ const paymentName = stack.payments.name.toLowerCase();
140
+ for (const [key, mcp] of Object.entries(SERVICE_MCP_MAP)) {
141
+ if (paymentName.includes(key)) {
142
+ addIfNotExists(result.additional, mcp);
143
+ break;
144
+ }
145
+ }
146
+ }
147
+ // Add any MCP recommendations from scanner
148
+ if (stack.mcp?.recommended) {
149
+ for (const rec of stack.mcp.recommended) {
150
+ const normalizedRec = rec.toLowerCase();
151
+ // Skip if it's the database or playwright (already handled)
152
+ if (normalizedRec !== result.database && normalizedRec !== 'playwright') {
153
+ addIfNotExists(result.additional, rec);
154
+ }
155
+ }
156
+ }
157
+ return result;
158
+ }
159
+ /**
160
+ * Convert RalphMcpServers to the legacy McpRecommendations format
161
+ * for backward compatibility with existing code
162
+ */
163
+ export function convertToLegacyMcpRecommendations(ralphMcp) {
164
+ const essential = ['filesystem', 'git'];
165
+ // Add E2E testing as essential for ralph
166
+ if (ralphMcp.e2eTesting) {
167
+ essential.push(ralphMcp.e2eTesting);
168
+ }
169
+ // Add database as essential if detected
170
+ if (ralphMcp.database) {
171
+ essential.push(ralphMcp.database);
172
+ }
173
+ return {
174
+ essential,
175
+ recommended: ralphMcp.additional,
176
+ };
177
+ }
178
+ /**
179
+ * Helper to add item to array if not already present
180
+ */
181
+ function addIfNotExists(arr, item) {
182
+ if (!arr.includes(item)) {
183
+ arr.push(item);
184
+ }
185
+ }
186
+ //# sourceMappingURL=mcp-detector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-detector.js","sourceRoot":"","sources":["../../../src/ai/agents/mcp-detector.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,9 @@
1
1
  /**
2
2
  * Orchestrator Agent
3
3
  * Coordinates the multi-agent analysis and merges results
4
+ *
5
+ * @deprecated Use runPlanningOrchestrator + runSynthesisAgent instead.
6
+ * This agent is kept for backward compatibility.
4
7
  */
5
8
  import type { LanguageModel } from 'ai';
6
9
  import type { CodebaseAnalysis, StackResearch, MultiAgentAnalysis, McpRecommendations, OrchestratorInput } from './types.js';
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/ai/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA+CpB;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,kBAAkB,CAAC,CA2B7B;AA8GD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,kBAAkB,GAC7B,kBAAkB,CAMpB"}
1
+ {"version":3,"file":"orchestrator.d.ts","sourceRoot":"","sources":["../../../src/ai/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACxC,OAAO,KAAK,EACV,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EAClB,MAAM,YAAY,CAAC;AA+CpB;;GAEG;AACH,wBAAsB,eAAe,CACnC,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,iBAAiB,EACxB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,kBAAkB,CAAC,CA2B7B;AA8GD;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,gBAAgB,EAAE,gBAAgB,EAClC,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,kBAAkB,GAC7B,kBAAkB,CAMpB"}
@@ -1,6 +1,9 @@
1
1
  /**
2
2
  * Orchestrator Agent
3
3
  * Coordinates the multi-agent analysis and merges results
4
+ *
5
+ * @deprecated Use runPlanningOrchestrator + runSynthesisAgent instead.
6
+ * This agent is kept for backward compatibility.
4
7
  */
5
8
  import { isReasoningModel } from '../providers.js';
6
9
  import { logger } from '../../utils/logger.js';
@@ -1 +1 @@
1
- {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/ai/agents/orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD;;GAEG;AACH,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAmCjC,CAAC;AAEH;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,KAAoB,EACpB,OAAe,EACf,KAAwB,EACxB,UAAmB,KAAK;IAExB,MAAM,MAAM,GAAG,wBAAwB,CAAC,KAAK,CAAC,CAAC;IAE/C,IAAI,CAAC;QACH,MAAM,EAAE,YAAY,EAAE,GAAG,WAAW,EAAE,CAAC;QAEvC,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC;YAChC,KAAK;YACL,MAAM,EAAE,0BAA0B;YAClC,MAAM;YACN,eAAe,EAAE,IAAI;YACrB,GAAG,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC;YAC1D,sBAAsB,EAAE;gBACtB,SAAS,EAAE,IAAI;gBACf,QAAQ,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,WAAW,EAAE;aACpG;SACF,CAAC,CAAC;QAEH,MAAM,UAAU,GAAG,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC9E,OAAO,UAAU,CAAC;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,uBAAuB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,uDAAuD;QACvD,OAAO,4BAA4B,CAAC,KAAK,CAAC,gBAAgB,CAAC,cAAc,CAAC,WAAW,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IACtG,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,wBAAwB,CAAC,KAAwB;IACxD,MAAM,EAAE,gBAAgB,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,KAAK,CAAC;IAEzD,sBAAsB;IACtB,MAAM,YAAY,GAAa,EAAE,CAAC;IAClC,IAAI,KAAK,CAAC,SAAS;QAAE,YAAY,CAAC,IAAI,CAAC,cAAc,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7E,IAAI,KAAK,CAAC,QAAQ;QAAE,YAAY,CAAC,IAAI,CAAC,aAAa,KAAK,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1E,IAAI,KAAK,CAAC,GAAG;QAAE,YAAY,CAAC,IAAI,CAAC,QAAQ,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC3D,IAAI,KAAK,CAAC,UAAU,EAAE,MAAM;QAAE,YAAY,CAAC,IAAI,CAAC,eAAe,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC/G,IAAI,KAAK,CAAC,GAAG,EAAE,SAAS;QAAE,YAAY,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;IAE7E,OAAO;;;EAGP,gBAAgB,CAAC,cAAc,CAAC,WAAW;;;EAG3C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS;;;EAGpC,aAAa,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB;;;EAG1D,aAAa,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,iBAAiB;;;kFAGoB,CAAC;AACnF,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAC9B,IAAY,EACZ,KAAoB,EACpB,OAAgB;IAEhB,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAChC,OAAO,4BAA4B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,gDAAgD;IAChD,MAAM,MAAM,GAAG,aAAa,CAAsC,IAAI,CAAC,CAAC;IAExE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;QAC7D,CAAC;QACD,OAAO,4BAA4B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;IACxD,CAAC;IAED,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO;YACL,SAAS,EAAE,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,CAAC,YAAY,EAAE,KAAK,CAAC;YAC/D,WAAW,EAAE,MAAM,CAAC,UAAU,CAAC,WAAW,IAAI,EAAE;SACjD,CAAC;IACJ,CAAC;IAED,OAAO,4BAA4B,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AACxD,CAAC;AAED;;GAEG;AACH,SAAS,4BAA4B,CAAC,WAAmB,EAAE,KAAoB;IAC7E,MAAM,SAAS,GAAa,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAClD,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,4BAA4B;IAC5B,MAAM,SAAS,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAE5C,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC9D,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC5B,CAAC;IAED,8BAA8B;IAC9B,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC;QACnB,MAAM,MAAM,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;QACjD,IAAI,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAChC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;aAAM,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACrC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;QACzE,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC7B,CAAC;IAED,iDAAiD;IACjD,IAAI,KAAK,CAAC,GAAG,EAAE,WAAW,EAAE,CAAC;QAC3B,KAAK,MAAM,GAAG,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACxC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3D,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC;AACpC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,gBAAkC,EAClC,aAA4B,EAC5B,UAA8B;IAE9B,OAAO;QACL,gBAAgB;QAChB,aAAa;QACb,UAAU;KACX,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"orchestrator.js","sourceRoot":"","sources":["../../../src/ai/agents/orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Planning Orchestrator Agent (Phase 1)
3
+ * Creates an analysis plan that guides the parallel workers
4
+ */
5
+ import { type LanguageModel } from 'ai';
6
+ import type { ScanResult } from '../../scanner/types.js';
7
+ import type { AnalysisPlan } from './types.js';
8
+ /**
9
+ * Run the Planning Orchestrator to create an analysis plan
10
+ */
11
+ export declare function runPlanningOrchestrator(model: LanguageModel, modelId: string, scanResult: ScanResult, verbose?: boolean): Promise<AnalysisPlan>;
12
+ //# sourceMappingURL=planning-orchestrator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"planning-orchestrator.d.ts","sourceRoot":"","sources":["../../../src/ai/agents/planning-orchestrator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,IAAI,CAAC;AAExC,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAwC/C;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,KAAK,EAAE,aAAa,EACpB,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,UAAU,EACtB,OAAO,GAAE,OAAe,GACvB,OAAO,CAAC,YAAY,CAAC,CA2DvB"}