duocode 1.2.1 → 1.3.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 (53) hide show
  1. package/dist/cli.js +245 -35
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/duo.js +11 -8
  4. package/dist/commands/duo.js.map +1 -1
  5. package/dist/commands/repl_commands.d.ts +6 -0
  6. package/dist/commands/repl_commands.js +119 -25
  7. package/dist/commands/repl_commands.js.map +1 -1
  8. package/dist/commands/status.js +9 -0
  9. package/dist/commands/status.js.map +1 -1
  10. package/dist/duo/duo_orchestrator.js +67 -19
  11. package/dist/duo/duo_orchestrator.js.map +1 -1
  12. package/dist/duo/duo_types.d.ts +1 -1
  13. package/dist/duo/swarm_orchestrator.js +32 -12
  14. package/dist/duo/swarm_orchestrator.js.map +1 -1
  15. package/dist/providers/cost_tracker.js +22 -15
  16. package/dist/providers/cost_tracker.js.map +1 -1
  17. package/dist/providers/duo_pair_router.d.ts +3 -1
  18. package/dist/providers/duo_pair_router.js +18 -4
  19. package/dist/providers/duo_pair_router.js.map +1 -1
  20. package/dist/providers/factory.js +123 -118
  21. package/dist/providers/factory.js.map +1 -1
  22. package/dist/providers/role_scorer.d.ts +2 -0
  23. package/dist/providers/role_scorer.js +10 -7
  24. package/dist/providers/role_scorer.js.map +1 -1
  25. package/dist/providers/router.js +111 -63
  26. package/dist/providers/router.js.map +1 -1
  27. package/dist/tools/agent_loop.d.ts +5 -0
  28. package/dist/tools/agent_loop.js +2 -1
  29. package/dist/tools/agent_loop.js.map +1 -1
  30. package/dist/ui/autocomplete.d.ts +24 -0
  31. package/dist/ui/autocomplete.js +192 -0
  32. package/dist/ui/autocomplete.js.map +1 -0
  33. package/dist/ui/banner.d.ts +1 -1
  34. package/dist/ui/banner.js +71 -14
  35. package/dist/ui/banner.js.map +1 -1
  36. package/dist/ui/callbacks.js +5 -1
  37. package/dist/ui/callbacks.js.map +1 -1
  38. package/dist/ui/diff_panel.d.ts +22 -0
  39. package/dist/ui/diff_panel.js +171 -0
  40. package/dist/ui/diff_panel.js.map +1 -0
  41. package/dist/ui/neural_knot.d.ts +1 -0
  42. package/dist/ui/neural_knot.js +131 -0
  43. package/dist/ui/neural_knot.js.map +1 -0
  44. package/dist/ui/plan_viewer.d.ts +12 -0
  45. package/dist/ui/plan_viewer.js +117 -0
  46. package/dist/ui/plan_viewer.js.map +1 -0
  47. package/dist/ui/progress.d.ts +15 -0
  48. package/dist/ui/progress.js +103 -2
  49. package/dist/ui/progress.js.map +1 -1
  50. package/dist/ui/status_bar.d.ts +32 -0
  51. package/dist/ui/status_bar.js +107 -0
  52. package/dist/ui/status_bar.js.map +1 -0
  53. package/package.json +5 -1
@@ -18,7 +18,15 @@ export function handleSlashCommand(cmdLower, rest, ctx) {
18
18
  return "handled";
19
19
  }
20
20
  if (cmdLower === "history") {
21
- log.raw(`\n${session.buildHistorySummary()}\n\n`);
21
+ const turns = session.getTurns();
22
+ log.raw(`\n${session.buildHistorySummary()}\n`);
23
+ if (turns.length > 1) {
24
+ const costs = [...turns].map((t) => t.costUsd);
25
+ const spark = sparkline(costs);
26
+ const avg = costs.reduce((a, b) => a + b, 0) / costs.length;
27
+ log.raw(` ${DM}Per-turn cost${R} ${CYN}${spark}${R} ${DM}avg $${avg.toFixed(4)}${R}\n`);
28
+ }
29
+ log.raw("\n");
22
30
  return "handled";
23
31
  }
24
32
  if (cmdLower === "help") {
@@ -82,6 +90,14 @@ export function handleSlashCommand(cmdLower, rest, ctx) {
82
90
  handleRedo(ctx);
83
91
  return "handled";
84
92
  }
93
+ if (cmdLower === "diff") {
94
+ handleDiff(ctx);
95
+ return "handled";
96
+ }
97
+ if (cmdLower === "compact") {
98
+ handleCompact(rest, ctx);
99
+ return "handled";
100
+ }
85
101
  return "unknown";
86
102
  }
87
103
  function handleResume(rest, ctx) {
@@ -196,32 +212,110 @@ function handleRedo(ctx) {
196
212
  log.error("Redo failed.");
197
213
  }
198
214
  }
215
+ // ── /diff ────────────────────────────────────────────────────────
216
+ function handleDiff(ctx) {
217
+ const { log, pendingFileChanges, checkpointMgr } = ctx;
218
+ // Prefer live pending changes from the current session; fall back to checkpoint diff
219
+ const changes = pendingFileChanges && pendingFileChanges.length > 0
220
+ ? pendingFileChanges
221
+ : null;
222
+ if (!changes || changes.length === 0) {
223
+ // Try listing from checkpoint history instead
224
+ const history = checkpointMgr.getHistory();
225
+ if (history.length === 0) {
226
+ log.raw(`${DM}No file changes recorded yet. Run a prompt first.${R}\n\n`);
227
+ }
228
+ else {
229
+ const latest = history[history.length - 1];
230
+ log.raw(`\n ${B}Last checkpoint${R} ${DM}#${latest.id} — ${latest.label}${R}\n`);
231
+ log.raw(` ${DM}${latest.files.length} file(s) snapshotted${R}\n\n`);
232
+ }
233
+ return;
234
+ }
235
+ log.raw(`\n ${B}Pending file changes${R} ${DM}(${changes.length} file${changes.length === 1 ? "" : "s"})${R}\n\n`);
236
+ for (const c of changes) {
237
+ const typeColor = c.type === "create" ? GRN : CYN;
238
+ const old = c.oldContent?.split("\n").length ?? 0;
239
+ const nw = c.newContent?.split("\n").length ?? 0;
240
+ const delta = nw - old;
241
+ const sign = delta >= 0 ? `${GRN}+${delta}${R}` : `${RED}${delta}${R}`;
242
+ log.raw(` ${typeColor}${c.type.padEnd(6)}${R} ${B}${c.filePath}${R} ${sign} lines\n`);
243
+ }
244
+ log.raw("\n");
245
+ }
246
+ // ── /compact ─────────────────────────────────────────────────────
247
+ function handleCompact(rest, ctx) {
248
+ const { session, log } = ctx;
249
+ const turns = session.getTurns();
250
+ const keepArg = rest[0] ? parseInt(rest[0], 10) : NaN;
251
+ const keepCount = !isNaN(keepArg) && keepArg > 0 ? keepArg : 2;
252
+ if (turns.length <= keepCount) {
253
+ log.raw(`${DM}Only ${turns.length} turn(s) in session — nothing to compact.${R}\n\n`);
254
+ return;
255
+ }
256
+ const oldTurns = turns.slice(0, turns.length - keepCount);
257
+ const keptTurns = turns.slice(turns.length - keepCount);
258
+ // Build a brief summary of the compacted turns
259
+ const summaryLines = oldTurns.map((t, i) => {
260
+ const preview = t.prompt.length > 60 ? t.prompt.slice(0, 57) + "..." : t.prompt;
261
+ return `${DM} #${i + 1} "${preview}"${R}`;
262
+ });
263
+ // Replace the session content: clear and re-add only the kept turns
264
+ session.clear();
265
+ for (const t of keptTurns) {
266
+ session.addTurn(t);
267
+ }
268
+ log.raw(`\n${GRN}${B}Compacted${R} ${DM}${oldTurns.length} turn(s) summarised, ${keepCount} kept verbatim.${R}\n`);
269
+ log.raw(`${DM}Summary of removed turns:${R}\n`);
270
+ for (const l of summaryLines)
271
+ log.raw(l + "\n");
272
+ log.raw("\n");
273
+ }
274
+ // ── /history (sparkline enhancement) is handled inline ───────────
275
+ /** Generate an ASCII sparkline from an array of values. */
276
+ function sparkline(values) {
277
+ if (values.length === 0)
278
+ return "";
279
+ const blocks = ["▁", "▂", "▃", "▄", "▅", "▆", "▇", "█"];
280
+ const max = Math.max(...values);
281
+ const min = Math.min(...values);
282
+ const range = max - min || 1;
283
+ return values
284
+ .map((v) => {
285
+ const idx = Math.round(((v - min) / range) * (blocks.length - 1));
286
+ return blocks[Math.min(idx, blocks.length - 1)];
287
+ })
288
+ .join("");
289
+ }
290
+ export { sparkline };
199
291
  export function printHelp(log) {
200
292
  log.raw(`\n ${B}Slash commands${R}\n`);
201
- log.raw(` ${CYN}/exit${R} ${DM}Exit the REPL immediately${R}\n`);
202
- log.raw(` ${CYN}/clear${R} ${DM}Clear conversation history${R}\n`);
203
- log.raw(` ${CYN}/history${R} ${DM}Show conversation turns${R}\n`);
204
- log.raw(` ${CYN}/mode${R} ${DM}Cycle mode (or Shift+Tab)${R}\n`);
205
- log.raw(` ${CYN}/mode <name>${R} ${DM}Switch to code|plan|review|debug|test|swarm${R}\n`);
206
- log.raw(` ${CYN}/save${R} ${DM}Save current session to disk${R}\n`);
207
- log.raw(` ${CYN}/resume [id]${R} ${DM}Resume a saved session${R}\n`);
208
- log.raw(` ${CYN}/sessions${R} ${DM}List saved sessions${R}\n`);
209
- log.raw(` ${CYN}/undo${R} ${DM}Undo last file changes${R}\n`);
210
- log.raw(` ${CYN}/undo list${R} ${DM}Show checkpoint history${R}\n`);
211
- log.raw(` ${CYN}/undo <n>${R} ${DM}Undo N steps back${R}\n`);
212
- log.raw(` ${CYN}/redo${R} ${DM}Redo last undone checkpoint${R}\n`);
213
- log.raw(` ${CYN}/leaderboard${R} ${DM}Show ELO rankings${R}\n`);
214
- log.raw(` ${CYN}/config${R} ${DM}Show scoring config${R}\n`);
215
- log.raw(` ${CYN}/shell${R} ${DM}Drop into the command shell${R}\n`);
216
- log.raw(` ${CYN}/no-grade${R} ${DM}Toggle grading on/off${R}\n`);
217
- log.raw(` ${CYN}/auto-confirm${R} ${DM}Toggle cost confirmation on/off${R}\n`);
218
- log.raw(` ${CYN}/help${R} ${DM}Show this help${R}\n\n`);
293
+ log.raw(` ${CYN}/exit${R} ${DM}Exit the REPL immediately${R}\n`);
294
+ log.raw(` ${CYN}/clear${R} ${DM}Clear conversation history${R}\n`);
295
+ log.raw(` ${CYN}/history${R} ${DM}Show conversation turns with cost sparkline${R}\n`);
296
+ log.raw(` ${CYN}/mode${R} ${DM}Cycle mode (or Shift+Tab)${R}\n`);
297
+ log.raw(` ${CYN}/mode <name>${R} ${DM}Switch to code|plan|review|debug|test|swarm${R}\n`);
298
+ log.raw(` ${CYN}/save${R} ${DM}Save current session to disk${R}\n`);
299
+ log.raw(` ${CYN}/resume [id]${R} ${DM}Resume a saved session${R}\n`);
300
+ log.raw(` ${CYN}/sessions${R} ${DM}List saved sessions${R}\n`);
301
+ log.raw(` ${CYN}/diff${R} ${DM}Show pending file changes${R}\n`);
302
+ log.raw(` ${CYN}/compact [n]${R} ${DM}Summarise older turns, keep last n (default 2)${R}\n`);
303
+ log.raw(` ${CYN}/undo${R} ${DM}Undo last file changes${R}\n`);
304
+ log.raw(` ${CYN}/undo list${R} ${DM}Show checkpoint history${R}\n`);
305
+ log.raw(` ${CYN}/undo <n>${R} ${DM}Undo N steps back${R}\n`);
306
+ log.raw(` ${CYN}/redo${R} ${DM}Redo last undone checkpoint${R}\n`);
307
+ log.raw(` ${CYN}/leaderboard${R} ${DM}Show ELO rankings${R}\n`);
308
+ log.raw(` ${CYN}/config${R} ${DM}Show scoring config${R}\n`);
309
+ log.raw(` ${CYN}/shell${R} ${DM}Drop into the command shell${R}\n`);
310
+ log.raw(` ${CYN}/no-grade${R} ${DM}Toggle grading on/off${R}\n`);
311
+ log.raw(` ${CYN}/auto-confirm${R} ${DM}Toggle cost confirmation on/off${R}\n`);
312
+ log.raw(` ${CYN}/help${R} ${DM}Show this help${R}\n\n`);
219
313
  log.raw(` ${B}Bare commands${R}\n`);
220
- log.raw(` ${CYN}exit${R} ${DM}Leave current mode (or quit if in Code mode)${R}\n`);
221
- log.raw(` ${CYN}man${R} ${DM}Show all commands and usage${R}\n`);
222
- log.raw(` ${CYN}models${R} ${DM}List available model profiles${R}\n`);
223
- log.raw(` ${CYN}go${R} ${DM}Execute stored plan (Plan mode)${R}\n`);
224
- log.raw(` ${CYN}help${R} ${DM}Show this help${R}\n\n`);
225
- log.raw(` ${DM}Anything else is sent as a DuoPair prompt.${R}\n\n`);
314
+ log.raw(` ${CYN}exit${R} ${DM}Leave current mode (or quit if in Code mode)${R}\n`);
315
+ log.raw(` ${CYN}man${R} ${DM}Show all commands and usage${R}\n`);
316
+ log.raw(` ${CYN}models${R} ${DM}List available model profiles${R}\n`);
317
+ log.raw(` ${CYN}go${R} ${DM}Execute stored plan (Plan mode)${R}\n`);
318
+ log.raw(` ${CYN}help${R} ${DM}Show this help${R}\n\n`);
319
+ log.raw(` ${DM}Tab-complete slash commands. Type @ to mention a file. Anything else is a DuoPair prompt.${R}\n\n`);
226
320
  }
227
321
  //# sourceMappingURL=repl_commands.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"repl_commands.js","sourceRoot":"","sources":["../../src/commands/repl_commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"repl_commands.js","sourceRoot":"","sources":["../../src/commands/repl_commands.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { SessionStore } from "../duo/session_store.js";
8
8
  import { R, B, CYN, DM, GRN, RED } from "../ui/colors.js";
9
9
  import { createLogger } from "../ui/logger.js";
10
10
  import { VERSION } from "../ui/banner.js";
11
+ import { sparkline } from "../commands/repl_commands.js";
11
12
  const log = createLogger("status");
12
13
  export function registerStatusCommand(program) {
13
14
  program
@@ -67,10 +68,18 @@ export function registerStatusCommand(program) {
67
68
  const costRow = db
68
69
  .prepare("SELECT SUM(cost_usd) as total, COUNT(*) as requests FROM provider_usage")
69
70
  .get();
71
+ const perReq = db
72
+ .prepare("SELECT cost_usd FROM provider_usage ORDER BY id DESC LIMIT 20")
73
+ .all();
70
74
  if (costRow?.total) {
71
75
  log.raw(`\n ${B}Cost${R}\n`);
72
76
  log.raw(` ${DM}Total spend:${R} $${costRow.total.toFixed(4)}\n`);
73
77
  log.raw(` ${DM}Requests:${R} ${costRow.requests}\n`);
78
+ if (perReq.length > 1) {
79
+ const values = perReq.map((r) => r.cost_usd).reverse();
80
+ const avg = values.reduce((a, b) => a + b, 0) / values.length;
81
+ log.raw(` ${DM}Per-request:${R} ${CYN}${sparkline(values)}${R} ${DM}avg $${avg.toFixed(4)}${R}\n`);
82
+ }
74
83
  }
75
84
  }
76
85
  catch { /* table may not exist */ }
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -6,11 +6,12 @@ import { classifyError, withRetry, } from "../providers/retry.js";
6
6
  import { DuoPairRequestSchema } from "./duo_types.js";
7
7
  import { insertGradingResult } from "../db/queries.js";
8
8
  import { R, B, DM, CYN, BLU, GRN, MAG, bar, scoreColor } from "../ui/colors.js";
9
- import { phaseBanner, formatElapsed, Spinner } from "../ui/progress.js";
9
+ import { phaseBanner, formatElapsed, Spinner, NeuralKnotSpinner } from "../ui/progress.js";
10
10
  import { estimateTokens } from "../context/token_budget.js";
11
11
  import { runAgentLoop } from "../tools/agent_loop.js";
12
12
  import { createLogger } from "../ui/logger.js";
13
13
  import { extractLogicalProvider } from "../providers/router.js";
14
+ import { renderFileDiff, renderToolAction } from "../ui/diff_panel.js";
14
15
  const log = createLogger("orchestrator");
15
16
  function displayProvider(profile) {
16
17
  // When using OpenRouter, models are registered under "openai" provider
@@ -98,11 +99,9 @@ export class DuoOrchestrator {
98
99
  this.capabilityRouter = capabilityRouter;
99
100
  this.costTracker = costTracker;
100
101
  this.db = db;
101
- this.pairRouter = new DuoPairRouter(capabilityRouter);
102
+ this.performanceTracker = db ? new PerformanceTracker(db) : null;
103
+ this.pairRouter = new DuoPairRouter(capabilityRouter, this.performanceTracker);
102
104
  this.gradingRubric = new GradingRubric(providerRouter);
103
- this.performanceTracker = db
104
- ? new PerformanceTracker(db)
105
- : null;
106
105
  this.confirmationCallback = confirmationCallback;
107
106
  this.retryConfig = options?.retryConfig;
108
107
  this.onRetry = options?.onRetry;
@@ -219,7 +218,7 @@ export class DuoOrchestrator {
219
218
  const totalPhases = validated.architectOnly ? 2 : (validated.enableGrading !== false ? 4 : 3);
220
219
  // 1. Analyze intent
221
220
  log.raw(`\n${phaseBanner(1, totalPhases, "Analyzing intent...")}\n`);
222
- const intentSpinner = new Spinner("Analyzing intent...");
221
+ const intentSpinner = new NeuralKnotSpinner("Analyzing intent...");
223
222
  intentSpinner.start();
224
223
  const analysis = await analyzeIntent({
225
224
  prompt: validated.prompt,
@@ -227,7 +226,8 @@ export class DuoOrchestrator {
227
226
  capabilityRouter: this.capabilityRouter,
228
227
  costTracker: this.costTracker,
229
228
  });
230
- intentSpinner.stop();
229
+ intentSpinner.update(`${CYN}Architect${R} → ${MAG}Executor${R}`);
230
+ intentSpinner.stopAndPersist(`\x1b[38;2;0;242;255m✔\x1b[0m`, `${B}Analysis complete.${R}`);
231
231
  log.debug("Intent analyzed", {
232
232
  summary: analysis.intent.summary,
233
233
  complexity: analysis.complexity.score,
@@ -352,20 +352,38 @@ export class DuoOrchestrator {
352
352
  durationMs,
353
353
  };
354
354
  }
355
- // 3c. Review architect plan before proceeding to executor (with revision loop)
355
+ // 3c. Review architect plan before proceeding to executor (with revision/discuss loop)
356
356
  if (!validated.precomputedPlan && this.architectReviewCallback) {
357
357
  const MAX_REVISIONS = 3;
358
- for (let rev = 0; rev <= MAX_REVISIONS; rev++) {
358
+ let revisions = 0;
359
+ while (true) {
359
360
  const review = await this.architectReviewCallback(architectOutput);
360
361
  if (review.action === "abort")
361
362
  return null;
362
363
  if (review.action === "approve")
363
364
  break;
365
+ if (review.action === "discuss") {
366
+ // Answer the user's question in context of the plan, then loop back to review
367
+ const question = review.feedback ?? "";
368
+ log.raw(`\n${DM}Architect answering your question...${R}\n\n`);
369
+ const discussStream = await this.streamPhase({
370
+ model: assignment.architect.profile.model,
371
+ messages: [
372
+ { role: "system", content: "You are the Architect. Answer the user's question about the plan you created. Be concise and precise. Do not rewrite the plan unless asked." },
373
+ { role: "user", content: `## Your Plan\n${architectOutput}\n\n## User Question\n${question}` },
374
+ ],
375
+ temperature: 0.3,
376
+ });
377
+ totalCostUsd += discussStream.costUsd;
378
+ log.raw("\n\n");
379
+ continue; // loop back to review prompt — no new assignment, no new plan
380
+ }
364
381
  // "revise" — re-run architect with feedback
365
- if (rev === MAX_REVISIONS) {
382
+ if (revisions >= MAX_REVISIONS) {
366
383
  log.warn("Maximum architect revisions reached, proceeding with current plan.");
367
384
  break;
368
385
  }
386
+ revisions++;
369
387
  log.raw(`\n${DM}Re-running architect with revision feedback...${R}\n`);
370
388
  const revisedPrompt = `${validated.prompt}\n\n## Revision Feedback\n${review.feedback ?? "Please revise the plan."}`;
371
389
  printPhaseHeader("architect", assignment.architect.profile.model);
@@ -405,6 +423,8 @@ export class DuoOrchestrator {
405
423
  let execCost;
406
424
  let loopFileChanges;
407
425
  let loopToolCallCount;
426
+ // Live accumulator — populated by runAgentLoop and read by the onToolCall closure
427
+ const liveFileChanges = [];
408
428
  if (validated.enableTools && validated.projectRoot) {
409
429
  // ── Agentic tool loop ──────────────────────────────────────
410
430
  let toolSystemMsg = hasContext
@@ -428,6 +448,18 @@ export class DuoOrchestrator {
428
448
  projectRoot: validated.projectRoot,
429
449
  permissions: this.permissionConfig ?? { level: "confirm-writes" },
430
450
  temperature: 0.2,
451
+ externalFileChanges: liveFileChanges,
452
+ onToolCall: (call, result) => {
453
+ if ((call.name === "write_file" || call.name === "edit_file") && result.success) {
454
+ const change = liveFileChanges[liveFileChanges.length - 1];
455
+ if (change)
456
+ renderFileDiff(change);
457
+ }
458
+ else if (call.name !== "read_file") {
459
+ // Show compact action line for searches and commands, skip noisy reads
460
+ renderToolAction(call.name, result.output.split("\n")[0].slice(0, 80));
461
+ }
462
+ },
431
463
  });
432
464
  executorOutput = loopResult.text;
433
465
  execCost = loopResult.totalCostUsd;
@@ -468,10 +500,11 @@ export class DuoOrchestrator {
468
500
  totalCostUsd += execCost;
469
501
  const execTokens = estimateTokens(executorOutput);
470
502
  printPhaseDone("executor", Date.now() - execStart, execCost, execTokens);
471
- // 4b. Review executor output before grading (with revision loop)
503
+ // 4b. Review executor output before grading (with revision/discuss loop)
472
504
  if (this.executorReviewCallback) {
473
505
  const MAX_REVISIONS = 3;
474
- for (let rev = 0; rev <= MAX_REVISIONS; rev++) {
506
+ let revisions = 0;
507
+ while (true) {
475
508
  const review = await this.executorReviewCallback(executorOutput);
476
509
  if (review.action === "abort") {
477
510
  const durationMs = Date.now() - start;
@@ -487,11 +520,28 @@ export class DuoOrchestrator {
487
520
  }
488
521
  if (review.action === "approve")
489
522
  break;
523
+ if (review.action === "discuss") {
524
+ // Answer the user's question in context of the implementation, then loop back to review
525
+ const question = review.feedback ?? "";
526
+ log.raw(`\n${DM}Executor answering your question...${R}\n\n`);
527
+ const discussStream = await this.streamPhase({
528
+ model: assignment.executor.profile.model,
529
+ messages: [
530
+ { role: "system", content: "You are the Executor. Answer the user's question about the implementation you produced. Be concise and precise." },
531
+ { role: "user", content: `## Your Implementation\n${executorOutput}\n\n## User Question\n${question}` },
532
+ ],
533
+ temperature: 0.3,
534
+ });
535
+ totalCostUsd += discussStream.costUsd;
536
+ log.raw("\n\n");
537
+ continue; // loop back to review prompt — no re-run of executor
538
+ }
490
539
  // "revise" — re-run executor with feedback
491
- if (rev === MAX_REVISIONS) {
540
+ if (revisions >= MAX_REVISIONS) {
492
541
  log.warn("Maximum executor revisions reached, proceeding with current output.");
493
542
  break;
494
543
  }
544
+ revisions++;
495
545
  log.raw(`\n${DM}Re-running executor with revision feedback...${R}\n`);
496
546
  printPhaseHeader("executor", assignment.executor.profile.model);
497
547
  const revExecStart = Date.now();
@@ -550,12 +600,11 @@ export class DuoOrchestrator {
550
600
  role: "executor",
551
601
  judgeModel: validated.judgeModel,
552
602
  });
603
+ gradeSpinner.stopAndPersist(`\x1b[38;2;0;242;255m✔\x1b[0m`, `${B}Executor graded.${R}`);
553
604
  }
554
605
  catch (err) {
555
- log.warn(`Grading executor output failed: ${err instanceof Error ? err.message : String(err)}`);
556
- }
557
- finally {
558
606
  gradeSpinner.stop();
607
+ log.warn(`Grading executor output failed: ${err instanceof Error ? err.message : String(err)}`);
559
608
  }
560
609
  if (grading) {
561
610
  printGrading(grading);
@@ -574,12 +623,11 @@ export class DuoOrchestrator {
574
623
  model: assignment.architect.profile.model,
575
624
  judgeModel: validated.judgeModel,
576
625
  });
626
+ archGradeSpinner.stopAndPersist(`\x1b[38;2;0;242;255m✔\x1b[0m`, `${B}Architect graded.${R}`);
577
627
  }
578
628
  catch (err) {
579
- log.warn(`Grading architect plan failed: ${err instanceof Error ? err.message : String(err)}`);
580
- }
581
- finally {
582
629
  archGradeSpinner.stop();
630
+ log.warn(`Grading architect plan failed: ${err instanceof Error ? err.message : String(err)}`);
583
631
  }
584
632
  if (architectGrading) {
585
633
  printGrading(architectGrading);
@@ -1 +1 @@
1
- {"version":3,"file":"duo_orchestrator.js","sourceRoot":"","sources":["../../src/duo/duo_orchestrator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"duo_orchestrator.js","sourceRoot":"","sources":["../../src/duo/duo_orchestrator.ts"],"names":[],"mappings":"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"}
@@ -73,7 +73,7 @@ export interface ModelPickerOption {
73
73
  }
74
74
  export type ModelPickerCallback = (role: DuoRole, options: ModelPickerOption[], currentModel: string) => Promise<string | null>;
75
75
  export interface ReviewFeedback {
76
- action: "approve" | "revise" | "abort";
76
+ action: "approve" | "revise" | "abort" | "discuss";
77
77
  feedback?: string;
78
78
  }
79
79
  export type ArchitectReviewCallback = (architectOutput: string) => Promise<ReviewFeedback>;