popeye-cli 1.0.0 → 1.1.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 (171) hide show
  1. package/README.md +521 -125
  2. package/dist/adapters/claude.d.ts +16 -4
  3. package/dist/adapters/claude.d.ts.map +1 -1
  4. package/dist/adapters/claude.js +679 -33
  5. package/dist/adapters/claude.js.map +1 -1
  6. package/dist/adapters/gemini.d.ts +55 -0
  7. package/dist/adapters/gemini.d.ts.map +1 -0
  8. package/dist/adapters/gemini.js +318 -0
  9. package/dist/adapters/gemini.js.map +1 -0
  10. package/dist/adapters/openai.d.ts.map +1 -1
  11. package/dist/adapters/openai.js +41 -7
  12. package/dist/adapters/openai.js.map +1 -1
  13. package/dist/auth/claude.d.ts +11 -9
  14. package/dist/auth/claude.d.ts.map +1 -1
  15. package/dist/auth/claude.js +107 -71
  16. package/dist/auth/claude.js.map +1 -1
  17. package/dist/auth/gemini.d.ts +58 -0
  18. package/dist/auth/gemini.d.ts.map +1 -0
  19. package/dist/auth/gemini.js +172 -0
  20. package/dist/auth/gemini.js.map +1 -0
  21. package/dist/auth/index.d.ts +11 -7
  22. package/dist/auth/index.d.ts.map +1 -1
  23. package/dist/auth/index.js +23 -5
  24. package/dist/auth/index.js.map +1 -1
  25. package/dist/auth/keychain.d.ts +20 -7
  26. package/dist/auth/keychain.d.ts.map +1 -1
  27. package/dist/auth/keychain.js +85 -29
  28. package/dist/auth/keychain.js.map +1 -1
  29. package/dist/auth/openai.d.ts +2 -2
  30. package/dist/auth/openai.d.ts.map +1 -1
  31. package/dist/auth/openai.js +30 -32
  32. package/dist/auth/openai.js.map +1 -1
  33. package/dist/cli/index.d.ts.map +1 -1
  34. package/dist/cli/index.js +4 -7
  35. package/dist/cli/index.js.map +1 -1
  36. package/dist/cli/interactive.d.ts +2 -2
  37. package/dist/cli/interactive.d.ts.map +1 -1
  38. package/dist/cli/interactive.js +1380 -183
  39. package/dist/cli/interactive.js.map +1 -1
  40. package/dist/config/defaults.d.ts +6 -1
  41. package/dist/config/defaults.d.ts.map +1 -1
  42. package/dist/config/defaults.js +10 -2
  43. package/dist/config/defaults.js.map +1 -1
  44. package/dist/config/index.d.ts +10 -0
  45. package/dist/config/index.d.ts.map +1 -1
  46. package/dist/config/index.js +19 -0
  47. package/dist/config/index.js.map +1 -1
  48. package/dist/config/schema.d.ts +20 -0
  49. package/dist/config/schema.d.ts.map +1 -1
  50. package/dist/config/schema.js +7 -0
  51. package/dist/config/schema.js.map +1 -1
  52. package/dist/generators/python.d.ts.map +1 -1
  53. package/dist/generators/python.js +1 -0
  54. package/dist/generators/python.js.map +1 -1
  55. package/dist/generators/typescript.d.ts.map +1 -1
  56. package/dist/generators/typescript.js +1 -0
  57. package/dist/generators/typescript.js.map +1 -1
  58. package/dist/state/index.d.ts +108 -0
  59. package/dist/state/index.d.ts.map +1 -1
  60. package/dist/state/index.js +551 -4
  61. package/dist/state/index.js.map +1 -1
  62. package/dist/state/registry.d.ts +52 -0
  63. package/dist/state/registry.d.ts.map +1 -0
  64. package/dist/state/registry.js +215 -0
  65. package/dist/state/registry.js.map +1 -0
  66. package/dist/types/cli.d.ts +4 -0
  67. package/dist/types/cli.d.ts.map +1 -1
  68. package/dist/types/cli.js.map +1 -1
  69. package/dist/types/consensus.d.ts +69 -4
  70. package/dist/types/consensus.d.ts.map +1 -1
  71. package/dist/types/consensus.js +24 -3
  72. package/dist/types/consensus.js.map +1 -1
  73. package/dist/types/workflow.d.ts +55 -0
  74. package/dist/types/workflow.d.ts.map +1 -1
  75. package/dist/types/workflow.js +16 -0
  76. package/dist/types/workflow.js.map +1 -1
  77. package/dist/workflow/auto-fix.d.ts +45 -0
  78. package/dist/workflow/auto-fix.d.ts.map +1 -0
  79. package/dist/workflow/auto-fix.js +274 -0
  80. package/dist/workflow/auto-fix.js.map +1 -0
  81. package/dist/workflow/consensus.d.ts +44 -2
  82. package/dist/workflow/consensus.d.ts.map +1 -1
  83. package/dist/workflow/consensus.js +565 -17
  84. package/dist/workflow/consensus.js.map +1 -1
  85. package/dist/workflow/execution-mode.d.ts +10 -4
  86. package/dist/workflow/execution-mode.d.ts.map +1 -1
  87. package/dist/workflow/execution-mode.js +547 -58
  88. package/dist/workflow/execution-mode.js.map +1 -1
  89. package/dist/workflow/index.d.ts +14 -2
  90. package/dist/workflow/index.d.ts.map +1 -1
  91. package/dist/workflow/index.js +69 -6
  92. package/dist/workflow/index.js.map +1 -1
  93. package/dist/workflow/milestone-workflow.d.ts +34 -0
  94. package/dist/workflow/milestone-workflow.d.ts.map +1 -0
  95. package/dist/workflow/milestone-workflow.js +414 -0
  96. package/dist/workflow/milestone-workflow.js.map +1 -0
  97. package/dist/workflow/plan-mode.d.ts +14 -1
  98. package/dist/workflow/plan-mode.d.ts.map +1 -1
  99. package/dist/workflow/plan-mode.js +589 -47
  100. package/dist/workflow/plan-mode.js.map +1 -1
  101. package/dist/workflow/plan-storage.d.ts +142 -0
  102. package/dist/workflow/plan-storage.d.ts.map +1 -0
  103. package/dist/workflow/plan-storage.js +331 -0
  104. package/dist/workflow/plan-storage.js.map +1 -0
  105. package/dist/workflow/project-verification.d.ts +37 -0
  106. package/dist/workflow/project-verification.d.ts.map +1 -0
  107. package/dist/workflow/project-verification.js +381 -0
  108. package/dist/workflow/project-verification.js.map +1 -0
  109. package/dist/workflow/task-workflow.d.ts +37 -0
  110. package/dist/workflow/task-workflow.d.ts.map +1 -0
  111. package/dist/workflow/task-workflow.js +383 -0
  112. package/dist/workflow/task-workflow.js.map +1 -0
  113. package/dist/workflow/test-runner.d.ts +1 -0
  114. package/dist/workflow/test-runner.d.ts.map +1 -1
  115. package/dist/workflow/test-runner.js +9 -5
  116. package/dist/workflow/test-runner.js.map +1 -1
  117. package/dist/workflow/ui-designer.d.ts +82 -0
  118. package/dist/workflow/ui-designer.d.ts.map +1 -0
  119. package/dist/workflow/ui-designer.js +234 -0
  120. package/dist/workflow/ui-designer.js.map +1 -0
  121. package/dist/workflow/ui-setup.d.ts +58 -0
  122. package/dist/workflow/ui-setup.d.ts.map +1 -0
  123. package/dist/workflow/ui-setup.js +685 -0
  124. package/dist/workflow/ui-setup.js.map +1 -0
  125. package/dist/workflow/ui-verification.d.ts +114 -0
  126. package/dist/workflow/ui-verification.d.ts.map +1 -0
  127. package/dist/workflow/ui-verification.js +258 -0
  128. package/dist/workflow/ui-verification.js.map +1 -0
  129. package/dist/workflow/workflow-logger.d.ts +110 -0
  130. package/dist/workflow/workflow-logger.d.ts.map +1 -0
  131. package/dist/workflow/workflow-logger.js +267 -0
  132. package/dist/workflow/workflow-logger.js.map +1 -0
  133. package/package.json +2 -2
  134. package/src/adapters/claude.ts +815 -34
  135. package/src/adapters/gemini.ts +373 -0
  136. package/src/adapters/openai.ts +40 -7
  137. package/src/auth/claude.ts +120 -78
  138. package/src/auth/gemini.ts +207 -0
  139. package/src/auth/index.ts +28 -8
  140. package/src/auth/keychain.ts +95 -28
  141. package/src/auth/openai.ts +29 -36
  142. package/src/cli/index.ts +4 -7
  143. package/src/cli/interactive.ts +1641 -216
  144. package/src/config/defaults.ts +10 -2
  145. package/src/config/index.ts +21 -0
  146. package/src/config/schema.ts +7 -0
  147. package/src/generators/python.ts +1 -0
  148. package/src/generators/typescript.ts +1 -0
  149. package/src/state/index.ts +713 -4
  150. package/src/state/registry.ts +278 -0
  151. package/src/types/cli.ts +4 -0
  152. package/src/types/consensus.ts +65 -6
  153. package/src/types/workflow.ts +35 -0
  154. package/src/workflow/auto-fix.ts +340 -0
  155. package/src/workflow/consensus.ts +750 -16
  156. package/src/workflow/execution-mode.ts +673 -74
  157. package/src/workflow/index.ts +95 -6
  158. package/src/workflow/milestone-workflow.ts +576 -0
  159. package/src/workflow/plan-mode.ts +696 -50
  160. package/src/workflow/plan-storage.ts +482 -0
  161. package/src/workflow/project-verification.ts +471 -0
  162. package/src/workflow/task-workflow.ts +525 -0
  163. package/src/workflow/test-runner.ts +10 -5
  164. package/src/workflow/ui-designer.ts +337 -0
  165. package/src/workflow/ui-setup.ts +797 -0
  166. package/src/workflow/ui-verification.ts +357 -0
  167. package/src/workflow/workflow-logger.ts +353 -0
  168. package/tests/config/config.test.ts +1 -1
  169. package/tests/types/consensus.test.ts +3 -3
  170. package/tests/workflow/plan-mode.test.ts +213 -0
  171. package/tests/workflow/test-runner.test.ts +5 -3
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Auto-fix module for automatically fixing build and TypeScript errors
3
+ * Uses Claude to analyze errors and apply fixes
4
+ */
5
+ /**
6
+ * Build error details
7
+ */
8
+ export interface BuildError {
9
+ file: string;
10
+ line?: number;
11
+ column?: number;
12
+ message: string;
13
+ code?: string;
14
+ }
15
+ /**
16
+ * Auto-fix result
17
+ */
18
+ export interface AutoFixResult {
19
+ success: boolean;
20
+ fixedErrors: number;
21
+ remainingErrors: number;
22
+ attempts: number;
23
+ fixes: Array<{
24
+ file: string;
25
+ description: string;
26
+ }>;
27
+ error?: string;
28
+ }
29
+ /**
30
+ * Parse TypeScript compiler errors from output
31
+ */
32
+ export declare function parseTypeScriptErrors(output: string): BuildError[];
33
+ /**
34
+ * Auto-fix TypeScript errors in a project
35
+ */
36
+ export declare function autoFixTypeScriptErrors(projectDir: string, buildOutput: string, maxAttempts?: number, onProgress?: (message: string) => void): Promise<AutoFixResult>;
37
+ /**
38
+ * Run build with auto-fix
39
+ */
40
+ export declare function buildWithAutoFix(projectDir: string, language: string, maxAttempts?: number, onProgress?: (message: string) => void): Promise<{
41
+ success: boolean;
42
+ output: string;
43
+ autoFixed: boolean;
44
+ }>;
45
+ //# sourceMappingURL=auto-fix.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-fix.d.ts","sourceRoot":"","sources":["../../src/workflow/auto-fix.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,KAAK,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC,CAAC;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,UAAU,EAAE,CAgBlE;AA6FD;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,EACnB,WAAW,GAAE,MAAU,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC,aAAa,CAAC,CA6GxB;AAED;;GAEG;AACH,wBAAsB,gBAAgB,CACpC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,WAAW,GAAE,MAAU,EACvB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,GACrC,OAAO,CAAC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,OAAO,CAAA;CAAE,CAAC,CAiEnE"}
@@ -0,0 +1,274 @@
1
+ /**
2
+ * Auto-fix module for automatically fixing build and TypeScript errors
3
+ * Uses Claude to analyze errors and apply fixes
4
+ */
5
+ import { promises as fs } from 'node:fs';
6
+ import path from 'node:path';
7
+ import { executePrompt } from '../adapters/claude.js';
8
+ /**
9
+ * Parse TypeScript compiler errors from output
10
+ */
11
+ export function parseTypeScriptErrors(output) {
12
+ const errors = [];
13
+ const errorPattern = /^(.+?)\((\d+),(\d+)\): error (TS\d+): (.+)$/gm;
14
+ let match;
15
+ while ((match = errorPattern.exec(output)) !== null) {
16
+ errors.push({
17
+ file: match[1],
18
+ line: parseInt(match[2], 10),
19
+ column: parseInt(match[3], 10),
20
+ code: match[4],
21
+ message: match[5],
22
+ });
23
+ }
24
+ return errors;
25
+ }
26
+ /**
27
+ * Group errors by file for efficient fixing
28
+ */
29
+ function groupErrorsByFile(errors) {
30
+ const grouped = new Map();
31
+ for (const error of errors) {
32
+ const existing = grouped.get(error.file) || [];
33
+ existing.push(error);
34
+ grouped.set(error.file, existing);
35
+ }
36
+ return grouped;
37
+ }
38
+ /**
39
+ * Generate fix prompt for a file with errors
40
+ */
41
+ function generateFixPrompt(filePath, fileContent, errors) {
42
+ const errorList = errors
43
+ .map(e => `- Line ${e.line}: ${e.code} - ${e.message}`)
44
+ .join('\n');
45
+ return `
46
+ Fix the following TypeScript errors in this file. Return ONLY the complete fixed file content, no explanations.
47
+
48
+ ## File: ${filePath}
49
+
50
+ ## Errors to fix:
51
+ ${errorList}
52
+
53
+ ## Current file content:
54
+ \`\`\`typescript
55
+ ${fileContent}
56
+ \`\`\`
57
+
58
+ ## Instructions:
59
+ 1. Fix ALL the errors listed above
60
+ 2. Do not change any working code
61
+ 3. Preserve all imports, exports, and functionality
62
+ 4. For type-only exports (interfaces, types), use \`export type { ... }\` syntax
63
+ 5. For unused variables, either use them or prefix with underscore
64
+ 6. For missing properties, add them with appropriate default values
65
+ 7. Return ONLY the fixed TypeScript code, no markdown formatting
66
+
67
+ Fixed code:
68
+ `.trim();
69
+ }
70
+ /**
71
+ * Extract code from Claude's response
72
+ */
73
+ function extractCodeFromResponse(response) {
74
+ // Try to extract from code block first
75
+ const codeBlockMatch = response.match(/```(?:typescript|ts)?\n([\s\S]*?)\n```/);
76
+ if (codeBlockMatch) {
77
+ return codeBlockMatch[1].trim();
78
+ }
79
+ // If no code block, assume the entire response is code
80
+ // But strip any leading/trailing explanation text
81
+ const lines = response.split('\n');
82
+ // Find first line that looks like code (import, export, const, etc.)
83
+ const codeStartPatterns = [
84
+ /^import\s/,
85
+ /^export\s/,
86
+ /^const\s/,
87
+ /^let\s/,
88
+ /^var\s/,
89
+ /^function\s/,
90
+ /^class\s/,
91
+ /^interface\s/,
92
+ /^type\s/,
93
+ /^\/\//,
94
+ /^\/\*/,
95
+ /^['"`]/,
96
+ ];
97
+ let startIndex = 0;
98
+ for (let i = 0; i < lines.length; i++) {
99
+ const line = lines[i].trim();
100
+ if (codeStartPatterns.some(p => p.test(line))) {
101
+ startIndex = i;
102
+ break;
103
+ }
104
+ }
105
+ return lines.slice(startIndex).join('\n').trim();
106
+ }
107
+ /**
108
+ * Auto-fix TypeScript errors in a project
109
+ */
110
+ export async function autoFixTypeScriptErrors(projectDir, buildOutput, maxAttempts = 3, onProgress) {
111
+ const fixes = [];
112
+ let attempts = 0;
113
+ let currentOutput = buildOutput;
114
+ while (attempts < maxAttempts) {
115
+ attempts++;
116
+ onProgress?.(`Auto-fix attempt ${attempts}/${maxAttempts}...`);
117
+ const errors = parseTypeScriptErrors(currentOutput);
118
+ if (errors.length === 0) {
119
+ onProgress?.('No TypeScript errors found');
120
+ return {
121
+ success: true,
122
+ fixedErrors: fixes.length,
123
+ remainingErrors: 0,
124
+ attempts,
125
+ fixes,
126
+ };
127
+ }
128
+ onProgress?.(`Found ${errors.length} TypeScript error(s) to fix`);
129
+ // Group errors by file
130
+ const errorsByFile = groupErrorsByFile(errors);
131
+ let fixedInThisAttempt = 0;
132
+ // Fix each file
133
+ for (const [filePath, fileErrors] of errorsByFile) {
134
+ const absolutePath = path.isAbsolute(filePath) ? filePath : path.join(projectDir, filePath);
135
+ try {
136
+ // Read current file content
137
+ const fileContent = await fs.readFile(absolutePath, 'utf-8');
138
+ onProgress?.(`Fixing ${fileErrors.length} error(s) in ${path.basename(filePath)}...`);
139
+ // Generate fix prompt
140
+ const prompt = generateFixPrompt(filePath, fileContent, fileErrors);
141
+ // Ask Claude to fix
142
+ const result = await executePrompt(prompt, {
143
+ allowedTools: [],
144
+ permissionMode: 'default',
145
+ });
146
+ if (result.success && result.response) {
147
+ const fixedCode = extractCodeFromResponse(result.response);
148
+ // Validate the fix is not empty and looks like code
149
+ if (fixedCode.length > 100 && (fixedCode.includes('import') || fixedCode.includes('export'))) {
150
+ // Write fixed content
151
+ await fs.writeFile(absolutePath, fixedCode, 'utf-8');
152
+ fixes.push({
153
+ file: filePath,
154
+ description: `Fixed ${fileErrors.length} error(s): ${fileErrors.map(e => e.code).join(', ')}`,
155
+ });
156
+ fixedInThisAttempt += fileErrors.length;
157
+ onProgress?.(`Fixed ${path.basename(filePath)}`);
158
+ }
159
+ else {
160
+ onProgress?.(`Skipped ${path.basename(filePath)} - fix doesn't look valid`);
161
+ }
162
+ }
163
+ else {
164
+ onProgress?.(`Failed to get fix for ${path.basename(filePath)}: ${result.error}`);
165
+ }
166
+ }
167
+ catch (err) {
168
+ onProgress?.(`Error fixing ${filePath}: ${err instanceof Error ? err.message : 'Unknown error'}`);
169
+ }
170
+ }
171
+ if (fixedInThisAttempt === 0) {
172
+ onProgress?.('No fixes were applied in this attempt');
173
+ break;
174
+ }
175
+ // Re-run TypeScript check to get remaining errors
176
+ onProgress?.('Re-checking for remaining errors...');
177
+ const { exec } = await import('node:child_process');
178
+ const { promisify } = await import('node:util');
179
+ const execAsync = promisify(exec);
180
+ try {
181
+ await execAsync('npx tsc --noEmit', { cwd: projectDir });
182
+ currentOutput = '';
183
+ }
184
+ catch (err) {
185
+ if (err && typeof err === 'object' && 'stdout' in err) {
186
+ currentOutput = err.stdout + err.stderr;
187
+ }
188
+ else {
189
+ currentOutput = '';
190
+ }
191
+ }
192
+ }
193
+ // Final error count
194
+ const remainingErrors = parseTypeScriptErrors(currentOutput);
195
+ return {
196
+ success: remainingErrors.length === 0,
197
+ fixedErrors: fixes.length,
198
+ remainingErrors: remainingErrors.length,
199
+ attempts,
200
+ fixes,
201
+ error: remainingErrors.length > 0
202
+ ? `${remainingErrors.length} error(s) remain after ${attempts} fix attempt(s)`
203
+ : undefined,
204
+ };
205
+ }
206
+ /**
207
+ * Run build with auto-fix
208
+ */
209
+ export async function buildWithAutoFix(projectDir, language, maxAttempts = 3, onProgress) {
210
+ const { exec } = await import('node:child_process');
211
+ const { promisify } = await import('node:util');
212
+ const execAsync = promisify(exec);
213
+ // Determine build command based on language
214
+ let buildCommand;
215
+ if (language === 'typescript' || language === 'javascript') {
216
+ // Check for package.json build script
217
+ try {
218
+ const pkgJson = JSON.parse(await fs.readFile(path.join(projectDir, 'package.json'), 'utf-8'));
219
+ if (pkgJson.scripts?.build) {
220
+ buildCommand = 'npm run build';
221
+ }
222
+ else {
223
+ buildCommand = 'npx tsc --noEmit';
224
+ }
225
+ }
226
+ catch {
227
+ buildCommand = 'npx tsc --noEmit';
228
+ }
229
+ }
230
+ else if (language === 'python') {
231
+ buildCommand = 'python -m py_compile $(find . -name "*.py" -not -path "./venv/*")';
232
+ }
233
+ else {
234
+ buildCommand = 'npm run build';
235
+ }
236
+ // Initial build attempt
237
+ onProgress?.(`Running build: ${buildCommand}`);
238
+ try {
239
+ const { stdout, stderr } = await execAsync(buildCommand, {
240
+ cwd: projectDir,
241
+ timeout: 120000,
242
+ });
243
+ return { success: true, output: stdout + stderr, autoFixed: false };
244
+ }
245
+ catch (err) {
246
+ const output = err && typeof err === 'object' && 'stdout' in err
247
+ ? err.stdout + err.stderr
248
+ : String(err);
249
+ onProgress?.('Build failed, attempting auto-fix...');
250
+ // Try auto-fix for TypeScript errors
251
+ if (language === 'typescript' || language === 'javascript') {
252
+ const fixResult = await autoFixTypeScriptErrors(projectDir, output, maxAttempts, onProgress);
253
+ if (fixResult.success) {
254
+ // Retry build after fixes
255
+ onProgress?.('Auto-fix successful, retrying build...');
256
+ try {
257
+ const { stdout: retryStdout, stderr: retryStderr } = await execAsync(buildCommand, {
258
+ cwd: projectDir,
259
+ timeout: 120000,
260
+ });
261
+ return { success: true, output: retryStdout + retryStderr, autoFixed: true };
262
+ }
263
+ catch (retryErr) {
264
+ const retryOutput = retryErr && typeof retryErr === 'object' && 'stdout' in retryErr
265
+ ? retryErr.stdout + retryErr.stderr
266
+ : String(retryErr);
267
+ return { success: false, output: retryOutput, autoFixed: true };
268
+ }
269
+ }
270
+ }
271
+ return { success: false, output, autoFixed: false };
272
+ }
273
+ }
274
+ //# sourceMappingURL=auto-fix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auto-fix.js","sourceRoot":"","sources":["../../src/workflow/auto-fix.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
1
  /**
2
2
  * Consensus workflow module
3
- * Handles the iterative consensus-building process between Claude and OpenAI
3
+ * Handles the iterative consensus-building process between Claude and OpenAI/Gemini
4
+ * with arbitration support when consensus cannot be reached
4
5
  */
5
- import type { ConsensusResult, ConsensusIteration, ConsensusConfig } from '../types/consensus.js';
6
+ import type { ConsensusResult, ConsensusIteration, ConsensusConfig, ArbitrationResult, AIProvider } from '../types/consensus.js';
6
7
  /**
7
8
  * Options for consensus iteration
8
9
  */
@@ -11,6 +12,9 @@ export interface ConsensusOptions {
11
12
  config?: Partial<ConsensusConfig>;
12
13
  onIteration?: (iteration: number, result: ConsensusResult) => void;
13
14
  onRevision?: (iteration: number, revisedPlan: string) => void;
15
+ onConcerns?: (concerns: string[], recommendations: string[]) => void;
16
+ onArbitration?: (result: ArbitrationResult) => void;
17
+ onProgress?: (phase: string, message: string) => void;
14
18
  }
15
19
  /**
16
20
  * Result of the consensus process
@@ -19,8 +23,17 @@ export interface ConsensusProcessResult {
19
23
  approved: boolean;
20
24
  finalPlan: string;
21
25
  finalScore: number;
26
+ bestPlan: string;
27
+ bestScore: number;
28
+ bestIteration: number;
22
29
  iterations: ConsensusIteration[];
23
30
  totalIterations: number;
31
+ finalConcerns: string[];
32
+ finalRecommendations: string[];
33
+ arbitrated: boolean;
34
+ arbitrationResult?: ArbitrationResult;
35
+ /** True if consensus timed out and we accepted the best available plan */
36
+ timedOut?: boolean;
24
37
  }
25
38
  /**
26
39
  * Format a plan for consensus review
@@ -48,6 +61,7 @@ export declare function extractConcerns(result: ConsensusResult): string[];
48
61
  export declare function meetsThreshold(score: number, threshold?: number): boolean;
49
62
  /**
50
63
  * Iterate until consensus is reached
64
+ * Supports configurable reviewer and arbitration when stuck
51
65
  *
52
66
  * @param initialPlan - The initial plan to review
53
67
  * @param context - Project context
@@ -86,4 +100,32 @@ export declare function calculateAverageScore(iterations: ConsensusIteration[]):
86
100
  * @returns 'improving', 'declining', or 'stable'
87
101
  */
88
102
  export declare function getScoreTrend(iterations: ConsensusIteration[]): 'improving' | 'declining' | 'stable';
103
+ /**
104
+ * Options for optimized consensus
105
+ */
106
+ export interface OptimizedConsensusOptions extends ConsensusOptions {
107
+ milestoneId: string;
108
+ milestoneName?: string;
109
+ taskId?: string;
110
+ taskName?: string;
111
+ /** Use parallel reviews from multiple providers */
112
+ parallelReviews?: boolean;
113
+ /** Additional reviewers beyond primary */
114
+ additionalReviewers?: AIProvider[];
115
+ }
116
+ /**
117
+ * Optimized consensus process that batches feedback and reduces API calls
118
+ *
119
+ * Key optimizations:
120
+ * 1. Plans stored in files, not regenerated from scratch
121
+ * 2. Collects ALL reviewer feedback before revision
122
+ * 3. Claude revises ONCE per round with combined feedback
123
+ * 4. Parallel reviews when multiple reviewers configured
124
+ *
125
+ * @param initialPlan - The initial plan to seek consensus on
126
+ * @param context - Project context for review
127
+ * @param options - Consensus options including tracking info
128
+ * @returns Consensus process result
129
+ */
130
+ export declare function runOptimizedConsensusProcess(initialPlan: string, context: string, options: OptimizedConsensusOptions): Promise<ConsensusProcessResult>;
89
131
  //# sourceMappingURL=consensus.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"consensus.d.ts","sourceRoot":"","sources":["../../src/workflow/consensus.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAMlG;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAClC,WAAW,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,KAAK,IAAI,CAAC;IACnE,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/D;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,kBAAkB,EAAE,CAAC;IACjC,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUzE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,eAAe,GAAG,MAAM,EAAE,CAcjE;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,MAAM,EACb,SAAS,GAAE,MAA2C,GACrD,OAAO,CAET;AAED;;;;;;;GAOG;AACH,wBAAsB,qBAAqB,CACzC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,sBAAsB,CAAC,CAqFjC;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,sBAAsB,GAAG,MAAM,CAiChF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG;IACnD,KAAK,EAAE,OAAO,CAAC;IACf,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B,CAuBA;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,MAAM,CAK9E;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAC3B,UAAU,EAAE,kBAAkB,EAAE,GAC/B,WAAW,GAAG,WAAW,GAAG,QAAQ,CAetC"}
1
+ {"version":3,"file":"consensus.d.ts","sourceRoot":"","sources":["../../src/workflow/consensus.ts"],"names":[],"mappings":"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"}