steroids-cli 0.8.44 → 0.9.2

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 (145) hide show
  1. package/dist/cleanup/backups.d.ts +26 -0
  2. package/dist/cleanup/backups.d.ts.map +1 -0
  3. package/dist/cleanup/backups.js +157 -0
  4. package/dist/cleanup/backups.js.map +1 -0
  5. package/dist/cleanup/directory-size.d.ts +1 -1
  6. package/dist/cleanup/directory-size.d.ts.map +1 -1
  7. package/dist/cleanup/directory-size.js +58 -6
  8. package/dist/cleanup/directory-size.js.map +1 -1
  9. package/dist/commands/ai.js +2 -2
  10. package/dist/commands/ai.js.map +1 -1
  11. package/dist/commands/config.js +80 -4
  12. package/dist/commands/config.js.map +1 -1
  13. package/dist/commands/health-stuck.d.ts.map +1 -1
  14. package/dist/commands/health-stuck.js +8 -2
  15. package/dist/commands/health-stuck.js.map +1 -1
  16. package/dist/commands/init.d.ts.map +1 -1
  17. package/dist/commands/init.js +19 -1
  18. package/dist/commands/init.js.map +1 -1
  19. package/dist/commands/loop-phases.d.ts +3 -3
  20. package/dist/commands/loop-phases.d.ts.map +1 -1
  21. package/dist/commands/loop-phases.js +308 -74
  22. package/dist/commands/loop-phases.js.map +1 -1
  23. package/dist/commands/loop.d.ts.map +1 -1
  24. package/dist/commands/loop.js +12 -1
  25. package/dist/commands/loop.js.map +1 -1
  26. package/dist/commands/tasks.d.ts.map +1 -1
  27. package/dist/commands/tasks.js +69 -2
  28. package/dist/commands/tasks.js.map +1 -1
  29. package/dist/config/ai-setup.d.ts +2 -1
  30. package/dist/config/ai-setup.d.ts.map +1 -1
  31. package/dist/config/ai-setup.js +234 -36
  32. package/dist/config/ai-setup.js.map +1 -1
  33. package/dist/config/loader.d.ts +21 -7
  34. package/dist/config/loader.d.ts.map +1 -1
  35. package/dist/config/loader.js +22 -2
  36. package/dist/config/loader.js.map +1 -1
  37. package/dist/config/schema.d.ts.map +1 -1
  38. package/dist/config/schema.js +41 -3
  39. package/dist/config/schema.js.map +1 -1
  40. package/dist/database/queries.d.ts +37 -0
  41. package/dist/database/queries.d.ts.map +1 -1
  42. package/dist/database/queries.js +94 -2
  43. package/dist/database/queries.js.map +1 -1
  44. package/dist/database/schema.d.ts +2 -2
  45. package/dist/database/schema.d.ts.map +1 -1
  46. package/dist/database/schema.js +21 -0
  47. package/dist/database/schema.js.map +1 -1
  48. package/dist/git/status.d.ts +1 -1
  49. package/dist/git/status.d.ts.map +1 -1
  50. package/dist/git/status.js +3 -2
  51. package/dist/git/status.js.map +1 -1
  52. package/dist/health/stuck-task-detector.d.ts +2 -0
  53. package/dist/health/stuck-task-detector.d.ts.map +1 -1
  54. package/dist/health/stuck-task-detector.js +39 -18
  55. package/dist/health/stuck-task-detector.js.map +1 -1
  56. package/dist/orchestrator/coder.d.ts.map +1 -1
  57. package/dist/orchestrator/coder.js +23 -6
  58. package/dist/orchestrator/coder.js.map +1 -1
  59. package/dist/orchestrator/coordinator.js +1 -1
  60. package/dist/orchestrator/coordinator.js.map +1 -1
  61. package/dist/orchestrator/fallback-handler.d.ts +1 -1
  62. package/dist/orchestrator/fallback-handler.d.ts.map +1 -1
  63. package/dist/orchestrator/fallback-handler.js.map +1 -1
  64. package/dist/orchestrator/invoke.d.ts +5 -1
  65. package/dist/orchestrator/invoke.d.ts.map +1 -1
  66. package/dist/orchestrator/invoke.js +9 -1
  67. package/dist/orchestrator/invoke.js.map +1 -1
  68. package/dist/orchestrator/post-reviewer.d.ts +5 -1
  69. package/dist/orchestrator/post-reviewer.d.ts.map +1 -1
  70. package/dist/orchestrator/post-reviewer.js +100 -1
  71. package/dist/orchestrator/post-reviewer.js.map +1 -1
  72. package/dist/orchestrator/reviewer.d.ts +30 -2
  73. package/dist/orchestrator/reviewer.d.ts.map +1 -1
  74. package/dist/orchestrator/reviewer.js +121 -17
  75. package/dist/orchestrator/reviewer.js.map +1 -1
  76. package/dist/orchestrator/task-selector.d.ts.map +1 -1
  77. package/dist/orchestrator/task-selector.js +5 -1
  78. package/dist/orchestrator/task-selector.js.map +1 -1
  79. package/dist/orchestrator/types.d.ts +27 -0
  80. package/dist/orchestrator/types.d.ts.map +1 -1
  81. package/dist/parallel/merge-conflict-invoke.js +1 -1
  82. package/dist/parallel/merge-conflict-invoke.js.map +1 -1
  83. package/dist/prompts/coder.d.ts +4 -0
  84. package/dist/prompts/coder.d.ts.map +1 -1
  85. package/dist/prompts/coder.js +41 -0
  86. package/dist/prompts/coder.js.map +1 -1
  87. package/dist/prompts/reviewer.d.ts +4 -0
  88. package/dist/prompts/reviewer.d.ts.map +1 -1
  89. package/dist/prompts/reviewer.js +65 -0
  90. package/dist/prompts/reviewer.js.map +1 -1
  91. package/dist/providers/api-models.d.ts +14 -6
  92. package/dist/providers/api-models.d.ts.map +1 -1
  93. package/dist/providers/api-models.js +86 -5
  94. package/dist/providers/api-models.js.map +1 -1
  95. package/dist/providers/claude.d.ts +1 -1
  96. package/dist/providers/claude.d.ts.map +1 -1
  97. package/dist/providers/claude.js +57 -12
  98. package/dist/providers/claude.js.map +1 -1
  99. package/dist/providers/codex.d.ts +5 -1
  100. package/dist/providers/codex.d.ts.map +1 -1
  101. package/dist/providers/codex.js +143 -40
  102. package/dist/providers/codex.js.map +1 -1
  103. package/dist/providers/gemini.d.ts +1 -1
  104. package/dist/providers/gemini.d.ts.map +1 -1
  105. package/dist/providers/gemini.js +53 -9
  106. package/dist/providers/gemini.js.map +1 -1
  107. package/dist/providers/interface.d.ts +62 -1
  108. package/dist/providers/interface.d.ts.map +1 -1
  109. package/dist/providers/interface.js +105 -12
  110. package/dist/providers/interface.js.map +1 -1
  111. package/dist/providers/invocation-logger.d.ts +3 -0
  112. package/dist/providers/invocation-logger.d.ts.map +1 -1
  113. package/dist/providers/invocation-logger.js +22 -8
  114. package/dist/providers/invocation-logger.js.map +1 -1
  115. package/dist/providers/minimax.d.ts +50 -0
  116. package/dist/providers/minimax.d.ts.map +1 -0
  117. package/dist/providers/minimax.js +248 -0
  118. package/dist/providers/minimax.js.map +1 -0
  119. package/dist/providers/mistral.d.ts +6 -0
  120. package/dist/providers/mistral.d.ts.map +1 -1
  121. package/dist/providers/mistral.js +73 -4
  122. package/dist/providers/mistral.js.map +1 -1
  123. package/dist/providers/ollama.d.ts +50 -0
  124. package/dist/providers/ollama.d.ts.map +1 -0
  125. package/dist/providers/ollama.js +259 -0
  126. package/dist/providers/ollama.js.map +1 -0
  127. package/dist/providers/openai.d.ts +1 -1
  128. package/dist/providers/openai.d.ts.map +1 -1
  129. package/dist/providers/openai.js +1 -1
  130. package/dist/providers/openai.js.map +1 -1
  131. package/dist/providers/registry.d.ts +2 -2
  132. package/dist/providers/registry.d.ts.map +1 -1
  133. package/dist/providers/registry.js +28 -14
  134. package/dist/providers/registry.js.map +1 -1
  135. package/dist/runners/credit-pause.d.ts +1 -1
  136. package/dist/runners/credit-pause.d.ts.map +1 -1
  137. package/dist/runners/credit-pause.js +2 -2
  138. package/dist/runners/credit-pause.js.map +1 -1
  139. package/dist/runners/orchestrator-loop.js +2 -2
  140. package/dist/runners/orchestrator-loop.js.map +1 -1
  141. package/migrations/014_add_session_context.sql +17 -0
  142. package/migrations/015_add_follow_up_fields.sql +26 -0
  143. package/migrations/016_add_invocation_activity_timestamp.sql +8 -0
  144. package/migrations/manifest.json +25 -1
  145. package/package.json +1 -1
@@ -44,10 +44,11 @@ const node_process_1 = require("node:process");
44
44
  const api_models_js_1 = require("../providers/api-models.js");
45
45
  const loader_js_1 = require("./loader.js");
46
46
  const PROVIDERS = [
47
- { id: 'claude', name: 'Anthropic Claude', description: 'Claude 3.5/4 models' },
48
- { id: 'openai', name: 'OpenAI (Codex)', description: 'Codex CLI via OpenAI models' },
49
- { id: 'gemini', name: 'Google Gemini', description: 'Gemini Pro/Ultra/Flash' },
50
- { id: 'mistral', name: 'Mistral', description: 'Mistral and Codestral models' },
47
+ { id: 'claude', name: 'Anthropic (claude)', description: 'Claude Opus/Sonnet/Haiku models' },
48
+ { id: 'codex', name: 'OpenAI (codex)', description: 'GPT-5 and specialized coding models' },
49
+ { id: 'gemini', name: 'Google (gemini)', description: 'Gemini Pro/Flash models' },
50
+ { id: 'mistral', name: 'Mistral (vibe)', description: 'Devstral and Mistral models' },
51
+ { id: 'openai', name: 'OpenAI API', description: 'Standard GPT-4o/3.5 models via API' },
51
52
  ];
52
53
  const ROLES = [
53
54
  { id: 'coder', name: 'Coder', description: 'Implements tasks and writes code' },
@@ -89,12 +90,16 @@ function render(state) {
89
90
  return;
90
91
  }
91
92
  // Show current selections
92
- const roleDisplay = state.role ? ROLES.find((r) => r.id === state.role)?.name : '-';
93
- const providerDisplay = state.provider
94
- ? PROVIDERS.find((p) => p.id === state.provider)?.name
93
+ const roleDisplay = state.role ? ROLES.find((r) => r.id === state.role)?.name || state.role : '-';
94
+ let providerDisplay = state.provider
95
+ ? PROVIDERS.find((p) => p.id === state.provider)?.name || state.provider
95
96
  : '-';
96
- const modelDisplay = state.model ?? '-';
97
- console.log('' + ` Role: ${roleDisplay} │ Provider: ${providerDisplay} │ Model: ${modelDisplay}`.padEnd(width) + '');
97
+ let modelDisplay = state.model ?? '-';
98
+ if (state.role === 'reviewer' && state.reviewers.length > 1 && state.step !== 'provider' && state.step !== 'model') {
99
+ providerDisplay = `${state.reviewers.length} Reviewers`;
100
+ modelDisplay = 'Multi-Review Mode';
101
+ }
102
+ console.log('│' + ` Role: ${roleDisplay.padEnd(12)} │ Provider: ${providerDisplay.padEnd(18)} │ Model: ${modelDisplay.substring(0, 15).padEnd(15)}`.padEnd(width) + '│');
98
103
  console.log('├' + line + '┤');
99
104
  if (state.step === 'role') {
100
105
  console.log('│' + ' Select a role to configure:'.padEnd(width) + '│');
@@ -115,6 +120,66 @@ function render(state) {
115
120
  }
116
121
  }
117
122
  }
123
+ else if (state.step === 'reviewer_mode') {
124
+ console.log('│' + ' Reviewer Configuration Mode:'.padEnd(width) + '│');
125
+ console.log('│' + ''.padEnd(width) + '│');
126
+ console.log('│' + ' How many reviewers should approve each task?'.padEnd(width) + '│');
127
+ console.log('│' + ''.padEnd(width) + '│');
128
+ const options = [
129
+ { id: 'single', name: 'Single reviewer (default)', description: 'One reviewer makes the decision' },
130
+ { id: 'multi', name: 'Multiple reviewers', description: 'All reviewers must approve (high assurance)' },
131
+ ];
132
+ for (let i = 0; i < options.length; i++) {
133
+ const opt = options[i];
134
+ const isSelected = i === state.selectedIndex;
135
+ const prefix = isSelected ? '▸ ' : ' ';
136
+ const line1 = `${prefix}${opt.name}`;
137
+ const line2 = ` ${opt.description}`;
138
+ if (isSelected) {
139
+ console.log('│' + `\x1b[7m${line1.padEnd(width)}\x1b[0m` + '│');
140
+ console.log('│' + `\x1b[7m${line2.padEnd(width)}\x1b[0m` + '│');
141
+ }
142
+ else {
143
+ console.log('│' + line1.padEnd(width) + '│');
144
+ console.log('│' + `\x1b[90m${line2}\x1b[0m`.padEnd(width + 9) + '│');
145
+ }
146
+ }
147
+ }
148
+ else if (state.step === 'reviewer_list') {
149
+ console.log('│' + ' Configure Reviewers (all must approve):'.padEnd(width) + '│');
150
+ console.log('│' + ''.padEnd(width) + '│');
151
+ for (let i = 0; i < state.reviewers.length; i++) {
152
+ const r = state.reviewers[i];
153
+ const isSelected = i === state.selectedIndex;
154
+ const prefix = isSelected ? '▸ ' : ' ';
155
+ const line1 = `${prefix}${i + 1}. ${r.provider ?? '(empty)'} / ${r.model ?? '(empty)'}`;
156
+ if (isSelected) {
157
+ console.log('│' + `\x1b[7m${line1.padEnd(width)}\x1b[0m` + '│');
158
+ }
159
+ else {
160
+ console.log('│' + line1.padEnd(width) + '│');
161
+ }
162
+ }
163
+ const isAddSelected = state.selectedIndex === state.reviewers.length;
164
+ const isDoneSelected = state.selectedIndex === state.reviewers.length + 1;
165
+ console.log('│' + ''.padEnd(width) + '│');
166
+ const addLine = ` [+] Add reviewer`;
167
+ if (isAddSelected) {
168
+ console.log('│' + `\x1b[7m${addLine.padEnd(width)}\x1b[0m` + '│');
169
+ }
170
+ else {
171
+ console.log('│' + addLine.padEnd(width) + '│');
172
+ }
173
+ const doneLine = ` [Done] Finish configuration`;
174
+ if (isDoneSelected) {
175
+ console.log('│' + `\x1b[7m${doneLine.padEnd(width)}\x1b[0m` + '│');
176
+ }
177
+ else {
178
+ console.log('│' + doneLine.padEnd(width) + '│');
179
+ }
180
+ console.log('│' + ''.padEnd(width) + '│');
181
+ console.log('│' + ' [↑/↓] Navigate [Enter] Edit/Add [x] Remove [q] Done'.padEnd(width) + '│');
182
+ }
118
183
  else if (state.step === 'provider') {
119
184
  console.log('│' + ` Select a provider for ${state.role}:`.padEnd(width) + '│');
120
185
  console.log('│' + ''.padEnd(width) + '│');
@@ -202,36 +267,40 @@ function render(state) {
202
267
  function saveConfiguration(state) {
203
268
  const config = (0, loader_js_1.loadConfig)();
204
269
  const role = state.role;
205
- // Ensure ai section exists
206
- if (!config.ai) {
207
- config.ai = {};
208
- }
209
- // Ensure role section exists
210
- if (!config.ai[role]) {
211
- config.ai[role] = {};
212
- }
213
- // Update provider and model
214
- config.ai[role].provider = state.provider;
215
- config.ai[role].model = state.model;
216
270
  // Save to appropriate location
217
271
  const configPath = state.global ? (0, loader_js_1.getGlobalConfigPath)() : (0, loader_js_1.getProjectConfigPath)();
218
272
  // For project config, only save the AI settings we changed
219
273
  const partialConfig = {
220
- ai: {
221
- [role]: {
222
- provider: state.provider,
223
- model: state.model,
224
- },
225
- },
274
+ ai: {},
226
275
  };
276
+ if (role === 'reviewer' && state.reviewers.length > 1) {
277
+ partialConfig.ai.reviewers = state.reviewers.map(r => ({
278
+ provider: r.provider,
279
+ model: r.model,
280
+ }));
281
+ // Also clear singular reviewer if it exists to avoid confusion,
282
+ // though plural takes precedence in loader.
283
+ }
284
+ else {
285
+ partialConfig.ai[role] = {
286
+ provider: state.provider,
287
+ model: state.model,
288
+ };
289
+ // If we are setting a single reviewer, we should clear the multi-reviewer array
290
+ // so it doesn't take precedence anymore.
291
+ if (role === 'reviewer') {
292
+ partialConfig.ai.reviewers = [];
293
+ }
294
+ }
227
295
  (0, loader_js_1.saveConfig)(partialConfig, configPath);
228
296
  }
229
297
  /**
230
298
  * Run the interactive AI setup wizard
231
299
  */
232
300
  async function runAISetup(options) {
301
+ const config = (0, loader_js_1.loadConfig)();
233
302
  const state = {
234
- step: options.role ? 'provider' : 'role',
303
+ step: options.role ? (options.role === 'reviewer' ? 'reviewer_mode' : 'provider') : 'role',
235
304
  role: options.role ?? 'coder',
236
305
  provider: null,
237
306
  model: null,
@@ -241,6 +310,8 @@ async function runAISetup(options) {
241
310
  loading: false,
242
311
  error: null,
243
312
  global: options.global ?? false,
313
+ reviewers: config.ai?.reviewers && config.ai.reviewers.length > 0 ? [...config.ai.reviewers] : [],
314
+ editingReviewerIndex: null,
244
315
  };
245
316
  // Set up raw mode for key input
246
317
  if (!node_process_1.stdin.isTTY) {
@@ -268,22 +339,48 @@ async function runAISetup(options) {
268
339
  render(state);
269
340
  return;
270
341
  }
271
- if (key.name === 'escape' || key.name === 'backspace') {
342
+ if (key.name === 'escape' || (key.name === 'backspace' && state.step !== 'reviewer_list')) {
272
343
  // Go back
273
- if (state.step === 'provider') {
344
+ if (state.step === 'reviewer_mode') {
274
345
  if (!options.role) {
275
346
  state.step = 'role';
276
347
  state.selectedIndex = ROLES.findIndex((r) => r.id === state.role);
277
348
  }
278
349
  }
350
+ else if (state.step === 'reviewer_list') {
351
+ state.step = 'reviewer_mode';
352
+ state.selectedIndex = 0;
353
+ }
354
+ else if (state.step === 'provider') {
355
+ if (state.role === 'reviewer') {
356
+ if (state.editingReviewerIndex !== null) {
357
+ state.step = 'reviewer_list';
358
+ state.selectedIndex = state.editingReviewerIndex;
359
+ }
360
+ else {
361
+ state.step = 'reviewer_mode';
362
+ state.selectedIndex = 0;
363
+ }
364
+ }
365
+ else if (!options.role) {
366
+ state.step = 'role';
367
+ state.selectedIndex = ROLES.findIndex((r) => r.id === state.role);
368
+ }
369
+ }
279
370
  else if (state.step === 'model') {
280
371
  state.step = 'provider';
281
372
  state.selectedIndex = PROVIDERS.findIndex((p) => p.id === state.provider);
282
373
  state.model = null;
283
374
  }
284
375
  else if (state.step === 'confirm') {
285
- state.step = 'model';
286
- state.selectedIndex = state.models.findIndex((m) => m.id === state.model);
376
+ if (state.role === 'reviewer' && state.reviewers.length > 1) {
377
+ state.step = 'reviewer_list';
378
+ state.selectedIndex = state.reviewers.length + 1; // On "Done"
379
+ }
380
+ else {
381
+ state.step = 'model';
382
+ state.selectedIndex = state.models.findIndex((m) => m.id === state.model);
383
+ }
287
384
  }
288
385
  render(state);
289
386
  return;
@@ -292,6 +389,10 @@ async function runAISetup(options) {
292
389
  let maxIdx = 0;
293
390
  if (state.step === 'role')
294
391
  maxIdx = ROLES.length - 1;
392
+ else if (state.step === 'reviewer_mode')
393
+ maxIdx = 1;
394
+ else if (state.step === 'reviewer_list')
395
+ maxIdx = state.reviewers.length + 1;
295
396
  else if (state.step === 'provider')
296
397
  maxIdx = PROVIDERS.length - 1;
297
398
  else if (state.step === 'model')
@@ -306,6 +407,10 @@ async function runAISetup(options) {
306
407
  let maxIdx = 0;
307
408
  if (state.step === 'role')
308
409
  maxIdx = ROLES.length - 1;
410
+ else if (state.step === 'reviewer_mode')
411
+ maxIdx = 1;
412
+ else if (state.step === 'reviewer_list')
413
+ maxIdx = state.reviewers.length + 1;
309
414
  else if (state.step === 'provider')
310
415
  maxIdx = PROVIDERS.length - 1;
311
416
  else if (state.step === 'model')
@@ -316,13 +421,74 @@ async function runAISetup(options) {
316
421
  render(state);
317
422
  return;
318
423
  }
424
+ if (key.name === 'x' && state.step === 'reviewer_list') {
425
+ if (state.selectedIndex < state.reviewers.length) {
426
+ if (state.reviewers.length > 1) {
427
+ state.reviewers.splice(state.selectedIndex, 1);
428
+ state.selectedIndex = Math.min(state.selectedIndex, state.reviewers.length + 1);
429
+ render(state);
430
+ }
431
+ }
432
+ return;
433
+ }
319
434
  if (key.name === 'return') {
320
435
  if (state.step === 'role') {
321
436
  state.role = ROLES[state.selectedIndex].id;
322
- state.step = 'provider';
437
+ if (state.role === 'reviewer') {
438
+ state.step = 'reviewer_mode';
439
+ }
440
+ else {
441
+ state.step = 'provider';
442
+ }
443
+ state.selectedIndex = 0;
444
+ render(state);
445
+ }
446
+ else if (state.step === 'reviewer_mode') {
447
+ if (state.selectedIndex === 0) {
448
+ // Single reviewer
449
+ state.reviewers = [];
450
+ state.step = 'provider';
451
+ }
452
+ else {
453
+ // Multi reviewer
454
+ if (state.reviewers.length === 0) {
455
+ // Initialize with current singular reviewer if exists
456
+ const currentReviewer = config.ai?.reviewer;
457
+ if (currentReviewer) {
458
+ state.reviewers.push({ ...currentReviewer });
459
+ }
460
+ }
461
+ state.step = 'reviewer_list';
462
+ }
323
463
  state.selectedIndex = 0;
324
464
  render(state);
325
465
  }
466
+ else if (state.step === 'reviewer_list') {
467
+ if (state.selectedIndex < state.reviewers.length) {
468
+ // Edit existing reviewer
469
+ state.editingReviewerIndex = state.selectedIndex;
470
+ state.step = 'provider';
471
+ state.selectedIndex = 0;
472
+ }
473
+ else if (state.selectedIndex === state.reviewers.length) {
474
+ // Add new reviewer
475
+ state.editingReviewerIndex = null;
476
+ state.step = 'provider';
477
+ state.selectedIndex = 0;
478
+ }
479
+ else {
480
+ // Done
481
+ if (state.reviewers.length < 2) {
482
+ state.error = 'At least 2 reviewers are required for multi-review mode';
483
+ render(state);
484
+ }
485
+ else {
486
+ state.step = 'confirm';
487
+ state.selectedIndex = 0;
488
+ }
489
+ }
490
+ render(state);
491
+ }
326
492
  else if (state.step === 'provider') {
327
493
  state.provider = PROVIDERS[state.selectedIndex].id;
328
494
  // Check for API key
@@ -353,8 +519,35 @@ async function runAISetup(options) {
353
519
  }
354
520
  else if (state.step === 'model') {
355
521
  state.model = state.models[state.selectedIndex].id;
356
- state.step = 'confirm';
357
- state.selectedIndex = 0;
522
+ if (state.role === 'reviewer' && state.step === 'model') {
523
+ if (state.editingReviewerIndex !== null) {
524
+ // Update existing
525
+ state.reviewers[state.editingReviewerIndex] = {
526
+ provider: state.provider,
527
+ model: state.model,
528
+ };
529
+ state.step = 'reviewer_list';
530
+ state.selectedIndex = state.editingReviewerIndex;
531
+ }
532
+ else if (state.editingReviewerIndex === null && state.reviewers.length > 0) {
533
+ // Add new
534
+ state.reviewers.push({
535
+ provider: state.provider,
536
+ model: state.model,
537
+ });
538
+ state.step = 'reviewer_list';
539
+ state.selectedIndex = state.reviewers.length - 1;
540
+ }
541
+ else {
542
+ // Single reviewer case
543
+ state.step = 'confirm';
544
+ state.selectedIndex = 0;
545
+ }
546
+ }
547
+ else {
548
+ state.step = 'confirm';
549
+ state.selectedIndex = 0;
550
+ }
358
551
  render(state);
359
552
  }
360
553
  else if (state.step === 'confirm') {
@@ -366,8 +559,13 @@ async function runAISetup(options) {
366
559
  clearScreen();
367
560
  console.log('✓ Configuration saved successfully!');
368
561
  console.log('');
369
- console.log(` ai.${state.role}.provider = ${state.provider}`);
370
- console.log(` ai.${state.role}.model = ${state.model}`);
562
+ if (state.role === 'reviewer' && state.reviewers.length > 1) {
563
+ console.log(` ai.reviewers = ${state.reviewers.length} reviewers configured`);
564
+ }
565
+ else {
566
+ console.log(` ai.${state.role}.provider = ${state.provider}`);
567
+ console.log(` ai.${state.role}.model = ${state.model}`);
568
+ }
371
569
  console.log('');
372
570
  resolve();
373
571
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ai-setup.js","sourceRoot":"","sources":["../../src/config/ai-setup.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA6PH,gCAuKC;AAKD,oCAgDC;AAvdD,wDAA0C;AAC1C,+CAA6C;AAC7C,8DAKoC;AACpC,2CAMqB;AAkBrB,MAAM,SAAS,GAA0D;IACvE,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,kBAAkB,EAAE,WAAW,EAAE,qBAAqB,EAAE;IAC9E,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,gBAAgB,EAAE,WAAW,EAAE,6BAA6B,EAAE;IACpF,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,eAAe,EAAE,WAAW,EAAE,wBAAwB,EAAE;IAC9E,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,8BAA8B,EAAE;CAChF,CAAC;AAEF,MAAM,KAAK,GAAsD;IAC/D,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,kCAAkC,EAAE;IAC/E,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,mCAAmC,EAAE;IACtF,EAAE,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,gCAAgC,EAAE;CAC5F,CAAC;AAEF;;GAEG;AACH,SAAS,WAAW;IAClB,qBAAM,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,WAAW,CAAC,OAAe;IAClC,qBAAM,CAAC,KAAK,CAAC,KAAK,OAAO,KAAK,CAAC,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,SAAS,MAAM,CAAC,KAAiB;IAC/B,WAAW,EAAE,CAAC;IAEd,MAAM,KAAK,GAAG,EAAE,CAAC;IACjB,MAAM,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAE/B,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,uBAAuB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;IAC/D,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IAE9B,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,8BAA8B,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,gBAAgB,KAAK,CAAC,KAAK,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACzF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,4BAA4B,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACpE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;QAC9B,OAAO;IACT,CAAC;IAED,0BAA0B;IAC1B,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACpF,MAAM,eAAe,GAAG,KAAK,CAAC,QAAQ;QACpC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI;QACtD,CAAC,CAAC,GAAG,CAAC;IACR,MAAM,YAAY,GAAG,KAAK,CAAC,KAAK,IAAI,GAAG,CAAC;IAExC,OAAO,CAAC,GAAG,CACT,GAAG,GAAG,WAAW,WAAW,kBAAkB,eAAe,eAAe,YAAY,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAC/G,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IAE9B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;QAC1B,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,+BAA+B,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACtB,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC;YAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,MAAM,KAAK,GAAG,GAAG,MAAM,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;YACtC,MAAM,KAAK,GAAG,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC;YAExC,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,UAAU,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,UAAU,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,WAAW,KAAK,SAAS,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,2BAA2B,KAAK,CAAC,IAAI,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAChF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAE1C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC;YAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,MAAM,MAAM,GAAG,IAAA,yBAAS,EAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACtC,MAAM,SAAS,GAAG,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC;YAC5D,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC;YAElD,MAAM,KAAK,GAAG,GAAG,MAAM,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,OAAO,QAAQ,CAAC,WAAW,KAAK,QAAQ,GAAG,SAAS,UAAU,CAAC;YAE7E,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,UAAU,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;gBAChE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBAC7C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAClC,MAAM,oBAAoB,GACxB,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,EAAE,IAAI,IAAI,KAAK,CAAC,QAAQ,IAAI,GAAG,CAAC;QAChF,OAAO,CAAC,GAAG,CACT,GAAG,GAAG,yBAAyB,oBAAoB,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAC3E,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAE1C,MAAM,UAAU,GAAG,EAAE,CAAC;QACtB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC;QAC/E,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,GAAG,UAAU,CAAC,CAAC;QAEpE,IAAI,QAAQ,GAAG,CAAC,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1D,CAAC;QAED,KAAK,IAAI,CAAC,GAAG,QAAQ,EAAE,CAAC,GAAG,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACvC,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC;YAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,MAAM,WAAW,GAAG,KAAK,CAAC,aAAa;gBACrC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ;gBACtD,CAAC,CAAC,EAAE,CAAC;YACP,MAAM,KAAK,GAAG,GAAG,MAAM,GAAG,KAAK,CAAC,IAAI,GAAG,WAAW,EAAE,CAAC;YACrD,MAAM,KAAK,GAAG,OAAO,KAAK,CAAC,EAAE,EAAE,CAAC;YAEhC,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,UAAU,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;gBACpF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,UAAU,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;YACtF,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;gBACjE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,WAAW,KAAK,SAAS,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,GAAG,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/F,CAAC;QACH,CAAC;QAED,IAAI,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1D,CAAC;IACH,CAAC;SAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,0BAA0B,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,iBAAiB,WAAW,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,iBAAiB,eAAe,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAC1E,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,iBAAiB,YAAY,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACvE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAE1C,MAAM,YAAY,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,kCAAkC,CAAC,CAAC,CAAC,iCAAiC,CAAC;QAC3G,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,gBAAgB,YAAY,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QACtE,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;QAE1C,MAAM,OAAO,GAAG,CAAC,oBAAoB,EAAE,+BAA+B,EAAE,QAAQ,CAAC,CAAC;QAClF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,CAAC,KAAK,KAAK,CAAC,aAAa,CAAC;YAC7C,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;YACxC,MAAM,KAAK,GAAG,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;YAEvC,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,UAAU,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;YAC/C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;IAC9B,OAAO,CAAC,GAAG,CACT,GAAG,GAAG,uDAAuD,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAClF,CAAC;IACF,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,GAAG,GAAG,CAAC,CAAC;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,iBAAiB,CAAC,KAAiB;IAC1C,MAAM,MAAM,GAAG,IAAA,sBAAU,GAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IAExB,2BAA2B;IAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;QACf,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IACjB,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACrB,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACvB,CAAC;IAED,4BAA4B;IAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAE,CAAC,QAAQ,GAAG,KAAK,CAAC,QAAS,CAAC;IAC5C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAE,CAAC,KAAK,GAAG,KAAK,CAAC,KAAM,CAAC;IAEtC,+BAA+B;IAC/B,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,+BAAmB,GAAE,CAAC,CAAC,CAAC,IAAA,gCAAoB,GAAE,CAAC;IAEjF,2DAA2D;IAC3D,MAAM,aAAa,GAA4B;QAC7C,EAAE,EAAE;YACF,CAAC,IAAI,CAAC,EAAE;gBACN,QAAQ,EAAE,KAAK,CAAC,QAAS;gBACzB,KAAK,EAAE,KAAK,CAAC,KAAM;aACpB;SACF;KACF,CAAC;IAEF,IAAA,sBAAU,EAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,UAAU,CAAC,OAGhC;IACC,MAAM,KAAK,GAAe;QACxB,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM;QACxC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,OAAO;QAC7B,QAAQ,EAAE,IAAI;QACd,KAAK,EAAE,IAAI;QACX,aAAa,EAAE,CAAC;QAChB,KAAK,EAAE,EAAE;QACT,MAAM,EAAE,EAAE;QACV,OAAO,EAAE,KAAK;QACd,KAAK,EAAE,IAAI;QACX,MAAM,EAAE,OAAO,CAAC,MAAM,IAAI,KAAK;KAChC,CAAC;IAEF,gCAAgC;IAChC,IAAI,CAAC,oBAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC5D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,QAAQ,CAAC,kBAAkB,CAAC,oBAAK,CAAC,CAAC;IACnC,oBAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IAEvB,MAAM,CAAC,KAAK,CAAC,CAAC;IAEd,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,cAAc,GAAG,KAAK,EAAE,GAAuB,EAAE,GAAiB,EAAE,EAAE;YAC1E,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,GAAG,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACvD,oBAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;gBACxB,oBAAK,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;gBACjD,WAAW,EAAE,CAAC;gBACd,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;gBACnC,OAAO,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,qCAAqC;gBACrC,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBACnB,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;gBACxB,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;gBACxB,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACtD,UAAU;gBACV,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC9B,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;wBAClB,KAAK,CAAC,IAAI,GAAG,MAAM,CAAC;wBACpB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,IAAI,CAAC,CAAC;oBACpE,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAClC,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;oBACxB,KAAK,CAAC,aAAa,GAAG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAC1E,KAAK,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACpC,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;oBACrB,KAAK,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,KAAK,CAAC,KAAK,CAAC,CAAC;gBAC5E,CAAC;gBACD,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,KAAK,IAAI,EAAE,CAAC;gBACtB,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;oBAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;qBAChD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;oBAAE,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;qBAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;oBAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;qBAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;oBAAE,MAAM,GAAG,CAAC,CAAC;gBAE9C,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;gBAC3D,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACxB,IAAI,MAAM,GAAG,CAAC,CAAC;gBACf,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM;oBAAE,MAAM,GAAG,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;qBAChD,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU;oBAAE,MAAM,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC;qBAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO;oBAAE,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;qBAC7D,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS;oBAAE,MAAM,GAAG,CAAC,CAAC;gBAE9C,KAAK,CAAC,aAAa,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;gBAChE,MAAM,CAAC,KAAK,CAAC,CAAC;gBACd,OAAO;YACT,CAAC;YAED,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBAC1B,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAC1B,KAAK,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;oBAC3C,KAAK,CAAC,IAAI,GAAG,UAAU,CAAC;oBACxB,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;oBACxB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBACrC,KAAK,CAAC,QAAQ,GAAG,SAAS,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;oBAEnD,oBAAoB;oBACpB,IAAI,CAAC,IAAA,yBAAS,EAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAC/B,KAAK,CAAC,KAAK,GAAG,GAAG,IAAA,+BAAe,EAAC,KAAK,CAAC,QAAQ,CAAC,+BAA+B,CAAC;wBAChF,MAAM,CAAC,KAAK,CAAC,CAAC;wBACd,OAAO;oBACT,CAAC;oBAED,wBAAwB;oBACxB,KAAK,CAAC,OAAO,GAAG,IAAI,CAAC;oBACrB,MAAM,CAAC,KAAK,CAAC,CAAC;oBAEd,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAsB,EAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;oBAE5D,KAAK,CAAC,OAAO,GAAG,KAAK,CAAC;oBAEtB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;wBACpB,KAAK,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,wBAAwB,CAAC;wBACvD,MAAM,CAAC,KAAK,CAAC,CAAC;wBACd,OAAO;oBACT,CAAC;oBAED,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC/B,KAAK,CAAC,KAAK,GAAG,wCAAwC,CAAC;wBACvD,MAAM,CAAC,KAAK,CAAC,CAAC;wBACd,OAAO;oBACT,CAAC;oBAED,KAAK,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC;oBAC7B,KAAK,CAAC,IAAI,GAAG,OAAO,CAAC;oBACrB,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;oBACxB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;oBAClC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,EAAE,CAAC;oBACnD,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;oBACvB,KAAK,CAAC,aAAa,GAAG,CAAC,CAAC;oBACxB,MAAM,CAAC,KAAK,CAAC,CAAC;gBAChB,CAAC;qBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACpC,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;wBAC9B,OAAO;wBACP,iBAAiB,CAAC,KAAK,CAAC,CAAC;wBACzB,oBAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBACxB,oBAAK,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;wBACjD,WAAW,EAAE,CAAC;wBACd,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;wBACnD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,eAAe,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;wBAC/D,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,CAAC,IAAI,YAAY,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;wBACzD,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBAChB,OAAO,EAAE,CAAC;oBACZ,CAAC;yBAAM,IAAI,KAAK,CAAC,aAAa,KAAK,CAAC,EAAE,CAAC;wBACrC,wBAAwB;wBACxB,KAAK,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC;wBAC7B,MAAM,CAAC,KAAK,CAAC,CAAC;oBAChB,CAAC;yBAAM,CAAC;wBACN,SAAS;wBACT,oBAAK,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;wBACxB,oBAAK,CAAC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;wBACjD,WAAW,EAAE,CAAC;wBACd,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;wBACnC,OAAO,EAAE,CAAC;oBACZ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC,CAAC;QAEF,oBAAK,CAAC,EAAE,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,YAAY,CAAC,OAKlC;IACC,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEnD,gBAAgB;IAChB,IAAI,CAAC,IAAA,yBAAS,EAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,GAAG,IAAA,+BAAe,EAAC,QAAQ,CAAC,+BAA+B;SACnE,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAE1B,qDAAqD;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAsB,EAAC,QAAQ,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC;QACjD,CAAC;QACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,qBAAqB,EAAE,CAAC;QAC1D,CAAC;QACD,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9B,CAAC;IAED,qBAAqB;IACrB,MAAM,MAAM,GAAG,IAAA,sBAAU,GAAE,CAAC;IAC5B,IAAI,CAAC,MAAM,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC;IAC/B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC;QAAE,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IAE3C,MAAM,CAAC,EAAE,CAAC,IAAI,CAAE,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACrC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAE,CAAC,KAAK,GAAG,KAAK,CAAC;IAE/B,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,IAAA,+BAAmB,GAAE,CAAC,CAAC,CAAC,IAAA,gCAAoB,GAAE,CAAC;IAC3E,MAAM,aAAa,GAA4B;QAC7C,EAAE,EAAE;YACF,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE;SAC5B;KACF,CAAC;IAEF,IAAA,sBAAU,EAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAEtC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;AAC3B,CAAC"}
1
+ {"version":3,"file":"ai-setup.js","sourceRoot":"","sources":["../../src/config/ai-setup.ts"],"names":[],"mappings":"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"}
@@ -2,23 +2,30 @@
2
2
  * Configuration loader
3
3
  * Loads and merges global and project config files
4
4
  */
5
+ export type ProviderName = 'claude' | 'gemini' | 'openai' | 'codex' | 'mistral' | 'minimax' | 'ollama';
6
+ export interface ReviewerConfig {
7
+ provider?: ProviderName;
8
+ model?: string;
9
+ cli?: string;
10
+ }
11
+ export interface ReviewPolicy {
12
+ strict?: boolean;
13
+ }
5
14
  export interface SteroidsConfig {
6
15
  ai?: {
7
16
  orchestrator?: {
8
- provider?: 'claude' | 'gemini' | 'openai' | 'codex' | 'mistral';
17
+ provider?: ProviderName;
9
18
  model?: string;
10
19
  cli?: string;
11
20
  };
12
21
  coder?: {
13
- provider?: 'claude' | 'gemini' | 'openai' | 'codex' | 'mistral';
14
- model?: string;
15
- cli?: string;
16
- };
17
- reviewer?: {
18
- provider?: 'claude' | 'gemini' | 'openai' | 'codex' | 'mistral';
22
+ provider?: ProviderName;
19
23
  model?: string;
20
24
  cli?: string;
21
25
  };
26
+ reviewer?: ReviewerConfig;
27
+ reviewers?: ReviewerConfig[];
28
+ review?: ReviewPolicy;
22
29
  };
23
30
  output?: {
24
31
  format?: 'table' | 'json';
@@ -124,6 +131,12 @@ export interface SteroidsConfig {
124
131
  batchMode?: boolean;
125
132
  maxBatchSize?: number;
126
133
  };
134
+ followUpTasks?: {
135
+ autoImplementDepth1?: boolean;
136
+ maxDepth?: number;
137
+ maxPerApproval?: number;
138
+ minDescriptionLength?: number;
139
+ };
127
140
  hooks?: unknown[];
128
141
  }
129
142
  /**
@@ -151,6 +164,7 @@ export declare function mergeConfigs(base: Partial<SteroidsConfig>, override: Pa
151
164
  /**
152
165
  * Apply environment variable overrides
153
166
  * STEROIDS_AI_CODER_MODEL -> ai.coder.model
167
+ * STEROIDS_AI_REVIEWERS="codex:gpt-4.1,claude:claude-sonnet-4" -> ai.reviewers = [{provider: 'codex', model: 'gpt-4.1'}, {provider: 'claude', model: 'claude-sonnet-4'}]
154
168
  */
155
169
  export declare function applyEnvOverrides(config: Partial<SteroidsConfig>): Partial<SteroidsConfig>;
156
170
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAUH,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAC;AAEvG,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE;QACH,YAAY,CAAC,EAAE;YACb,QAAQ,CAAC,EAAE,YAAY,CAAC;YACxB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;QACF,KAAK,CAAC,EAAE;YACN,QAAQ,CAAC,EAAE,YAAY,CAAC;YACxB,KAAK,CAAC,EAAE,MAAM,CAAC;YACf,GAAG,CAAC,EAAE,MAAM,CAAC;SACd,CAAC;QACF,QAAQ,CAAC,EAAE,cAAc,CAAC;QAC1B,SAAS,CAAC,EAAE,cAAc,EAAE,CAAC;QAC7B,MAAM,CAAC,EAAE,YAAY,CAAC;KACvB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,MAAM,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;QAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,GAAG,CAAC,EAAE;QACJ,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,qBAAqB,CAAC,EAAE,MAAM,CAAC;QAC/B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,QAAQ,CAAC,EAAE;YACT,OAAO,CAAC,EAAE,OAAO,CAAC;YAClB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,aAAa,CAAC,EAAE,MAAM,CAAC;YACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;YAC3B,8BAA8B,CAAC,EAAE,OAAO,CAAC;YACzC,gBAAgB,CAAC,EAAE,OAAO,CAAC;YAC3B,gBAAgB,CAAC,EAAE,OAAO,CAAC;SAC5B,CAAC;KACH,CAAC;IACF,MAAM,CAAC,EAAE;QACP,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,MAAM,CAAC,EAAE;YACP,GAAG,CAAC,EAAE,OAAO,CAAC;YACd,IAAI,CAAC,EAAE,OAAO,CAAC;YACf,KAAK,CAAC,EAAE,OAAO,CAAC;YAChB,IAAI,CAAC,EAAE,OAAO,CAAC;SAChB,CAAC;QACF,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,uBAAuB,CAAC,EAAE,MAAM,CAAC;QACjC,4BAA4B,CAAC,EAAE,MAAM,CAAC;QAEtC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,sBAAsB,CAAC,EAAE,MAAM,CAAC;QAChC,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;IACF,OAAO,CAAC,EAAE;QACR,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,OAAO,CAAC;QACtB,mBAAmB,CAAC,EAAE,OAAO,CAAC;KAC/B,CAAC;IACF,IAAI,CAAC,EAAE;QACL,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;QACnB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;KAC7C,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,yBAAyB,CAAC,EAAE,OAAO,CAAC;QACpC,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,qBAAqB,CAAC,EAAE,OAAO,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;QACrB,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3B,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;KACzB,CAAC;IACF,MAAM,CAAC,EAAE;QACP,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,WAAW,CAAC,EAAE,OAAO,CAAC;KACvB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,OAAO,CAAC,EAAE,MAAM,CAAC;KAClB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,IAAI,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;IACF,OAAO,CAAC,EAAE;QACR,KAAK,CAAC,EAAE;YACN,QAAQ,CAAC,EAAE,OAAO,CAAC;YACnB,WAAW,CAAC,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,SAAS,CAAC,EAAE,OAAO,CAAC;QACpB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,aAAa,CAAC,EAAE;QACd,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,oBAAoB,CAAC,EAAE,MAAM,CAAC;KAC/B,CAAC;IACF,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,cA6H5B,CAAC;AAEF;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,MAAM,CAE5C;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,CAGjE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAYxE;AAED;;;GAGG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,OAAO,CAAC,cAAc,CAAC,EAC7B,QAAQ,EAAE,OAAO,CAAC,cAAc,CAAC,GAChC,OAAO,CAAC,cAAc,CAAC,CAkCzB;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,GAC9B,OAAO,CAAC,cAAc,CAAC,CA6CzB;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,cAAc,CAgB/D;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,MAAM,EAAE,OAAO,CAAC,cAAc,CAAC,EAC/B,QAAQ,EAAE,MAAM,GACf,IAAI,CAQN;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,GACX,OAAO,CAYT;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,cAAc,EACtB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,GACb,cAAc,CAchB"}
@@ -37,6 +37,9 @@ exports.DEFAULT_CONFIG = {
37
37
  provider: 'claude',
38
38
  model: 'claude-sonnet-4',
39
39
  },
40
+ review: {
41
+ strict: true,
42
+ }
40
43
  },
41
44
  output: {
42
45
  format: 'table',
@@ -139,6 +142,12 @@ exports.DEFAULT_CONFIG = {
139
142
  batchMode: false,
140
143
  maxBatchSize: 10,
141
144
  },
145
+ followUpTasks: {
146
+ autoImplementDepth1: true,
147
+ maxDepth: 2,
148
+ maxPerApproval: 3,
149
+ minDescriptionLength: 100,
150
+ },
142
151
  };
143
152
  /**
144
153
  * Get global config path (~/.steroids/config.yaml)
@@ -204,12 +213,23 @@ function mergeConfigs(base, override) {
204
213
  /**
205
214
  * Apply environment variable overrides
206
215
  * STEROIDS_AI_CODER_MODEL -> ai.coder.model
216
+ * STEROIDS_AI_REVIEWERS="codex:gpt-4.1,claude:claude-sonnet-4" -> ai.reviewers = [{provider: 'codex', model: 'gpt-4.1'}, {provider: 'claude', model: 'claude-sonnet-4'}]
207
217
  */
208
218
  function applyEnvOverrides(config) {
209
219
  const result = { ...config };
210
220
  for (const [key, value] of Object.entries(process.env)) {
211
221
  if (!key.startsWith('STEROIDS_'))
212
222
  continue;
223
+ // Handle STEROIDS_AI_REVIEWERS shorthand
224
+ if (key === 'STEROIDS_AI_REVIEWERS' && value) {
225
+ if (!result.ai)
226
+ result.ai = {};
227
+ result.ai.reviewers = value.split(',').map(s => {
228
+ const [provider, model] = s.split(':');
229
+ return { provider: provider, model };
230
+ });
231
+ continue;
232
+ }
213
233
  // Convert STEROIDS_AI_CODER_MODEL to ['ai', 'coder', 'model']
214
234
  const path = key
215
235
  .substring('STEROIDS_'.length)
@@ -218,7 +238,7 @@ function applyEnvOverrides(config) {
218
238
  // Set nested value
219
239
  let current = result;
220
240
  for (let i = 0; i < path.length - 1; i++) {
221
- if (!(path[i] in current) || typeof current[path[i]] !== 'object') {
241
+ if (!(path[i] in current) || typeof current[path[i]] !== 'object' || Array.isArray(current[path[i]])) {
222
242
  current[path[i]] = {};
223
243
  }
224
244
  current = current[path[i]];
@@ -231,7 +251,7 @@ function applyEnvOverrides(config) {
231
251
  else if (value === 'false') {
232
252
  current[finalKey] = false;
233
253
  }
234
- else if (!isNaN(Number(value))) {
254
+ else if (value !== undefined && !isNaN(Number(value)) && value.trim() !== '') {
235
255
  current[finalKey] = Number(value);
236
256
  }
237
257
  else {