duocode 1.2.0 → 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 (93) hide show
  1. package/dist/ast/locks.js +2 -1
  2. package/dist/ast/locks.js.map +1 -1
  3. package/dist/cli.js +258 -38
  4. package/dist/cli.js.map +1 -1
  5. package/dist/commands/doctor.d.ts +1 -1
  6. package/dist/commands/doctor.js +54 -11
  7. package/dist/commands/doctor.js.map +1 -1
  8. package/dist/commands/duo.js +21 -18
  9. package/dist/commands/duo.js.map +1 -1
  10. package/dist/commands/github.js +15 -1
  11. package/dist/commands/github.js.map +1 -1
  12. package/dist/commands/repl_commands.d.ts +6 -0
  13. package/dist/commands/repl_commands.js +119 -25
  14. package/dist/commands/repl_commands.js.map +1 -1
  15. package/dist/commands/status.d.ts +2 -0
  16. package/dist/commands/status.js +104 -0
  17. package/dist/commands/status.js.map +1 -0
  18. package/dist/config/loader.js +4 -1
  19. package/dist/config/loader.js.map +1 -1
  20. package/dist/context/project_context.js +5 -0
  21. package/dist/context/project_context.js.map +1 -1
  22. package/dist/db/queries.d.ts +0 -2
  23. package/dist/db/queries.js +0 -10
  24. package/dist/db/queries.js.map +1 -1
  25. package/dist/db/schema.d.ts +0 -6
  26. package/dist/db/schema.js +0 -15
  27. package/dist/db/schema.js.map +1 -1
  28. package/dist/duo/duo_orchestrator.js +67 -19
  29. package/dist/duo/duo_orchestrator.js.map +1 -1
  30. package/dist/duo/duo_types.d.ts +1 -1
  31. package/dist/duo/swarm_orchestrator.js +42 -14
  32. package/dist/duo/swarm_orchestrator.js.map +1 -1
  33. package/dist/github/mcp_client.js +8 -2
  34. package/dist/github/mcp_client.js.map +1 -1
  35. package/dist/orchestrator/intent_parser.d.ts +1 -1
  36. package/dist/orchestrator/intent_parser.js +15 -5
  37. package/dist/orchestrator/intent_parser.js.map +1 -1
  38. package/dist/orchestrator/task_runner.d.ts +0 -2
  39. package/dist/orchestrator/task_runner.js +85 -74
  40. package/dist/orchestrator/task_runner.js.map +1 -1
  41. package/dist/providers/anthropic.js +1 -1
  42. package/dist/providers/cost_tracker.js +36 -45
  43. package/dist/providers/cost_tracker.js.map +1 -1
  44. package/dist/providers/duo_pair_router.d.ts +3 -2
  45. package/dist/providers/duo_pair_router.js +18 -6
  46. package/dist/providers/duo_pair_router.js.map +1 -1
  47. package/dist/providers/factory.js +123 -118
  48. package/dist/providers/factory.js.map +1 -1
  49. package/dist/providers/openrouter.js +38 -29
  50. package/dist/providers/openrouter.js.map +1 -1
  51. package/dist/providers/role_scorer.d.ts +2 -0
  52. package/dist/providers/role_scorer.js +10 -7
  53. package/dist/providers/role_scorer.js.map +1 -1
  54. package/dist/providers/router.js +150 -99
  55. package/dist/providers/router.js.map +1 -1
  56. package/dist/setup/browser.js +6 -6
  57. package/dist/setup/browser.js.map +1 -1
  58. package/dist/tools/agent_loop.d.ts +7 -0
  59. package/dist/tools/agent_loop.js +70 -20
  60. package/dist/tools/agent_loop.js.map +1 -1
  61. package/dist/tools/definitions.d.ts +2 -1
  62. package/dist/tools/definitions.js +23 -1
  63. package/dist/tools/definitions.js.map +1 -1
  64. package/dist/tools/executor.js +121 -29
  65. package/dist/tools/executor.js.map +1 -1
  66. package/dist/tools/permissions.js +14 -4
  67. package/dist/tools/permissions.js.map +1 -1
  68. package/dist/ui/autocomplete.d.ts +24 -0
  69. package/dist/ui/autocomplete.js +192 -0
  70. package/dist/ui/autocomplete.js.map +1 -0
  71. package/dist/ui/banner.d.ts +2 -1
  72. package/dist/ui/banner.js +89 -15
  73. package/dist/ui/banner.js.map +1 -1
  74. package/dist/ui/callbacks.js +10 -3
  75. package/dist/ui/callbacks.js.map +1 -1
  76. package/dist/ui/dashboard.js +2 -1
  77. package/dist/ui/dashboard.js.map +1 -1
  78. package/dist/ui/diff_panel.d.ts +22 -0
  79. package/dist/ui/diff_panel.js +171 -0
  80. package/dist/ui/diff_panel.js.map +1 -0
  81. package/dist/ui/neural_knot.d.ts +1 -0
  82. package/dist/ui/neural_knot.js +131 -0
  83. package/dist/ui/neural_knot.js.map +1 -0
  84. package/dist/ui/plan_viewer.d.ts +12 -0
  85. package/dist/ui/plan_viewer.js +117 -0
  86. package/dist/ui/plan_viewer.js.map +1 -0
  87. package/dist/ui/progress.d.ts +15 -0
  88. package/dist/ui/progress.js +103 -2
  89. package/dist/ui/progress.js.map +1 -1
  90. package/dist/ui/status_bar.d.ts +32 -0
  91. package/dist/ui/status_bar.js +107 -0
  92. package/dist/ui/status_bar.js.map +1 -0
  93. package/package.json +5 -1
@@ -0,0 +1,104 @@
1
+ /**
2
+ * Status command — show project, provider, task, and cost summary.
3
+ */
4
+ import path from "node:path";
5
+ import { loadConfig } from "../config/loader.js";
6
+ import { initDatabase } from "../db/schema.js";
7
+ import { SessionStore } from "../duo/session_store.js";
8
+ import { R, B, CYN, DM, GRN, RED } from "../ui/colors.js";
9
+ import { createLogger } from "../ui/logger.js";
10
+ import { VERSION } from "../ui/banner.js";
11
+ import { sparkline } from "../commands/repl_commands.js";
12
+ const log = createLogger("status");
13
+ export function registerStatusCommand(program) {
14
+ program
15
+ .command("status")
16
+ .description("Show project status, provider health, and session summary")
17
+ .option("--cwd <path>", "Project directory", process.cwd())
18
+ .action(async (opts) => {
19
+ const repoPath = path.resolve(opts.cwd);
20
+ log.raw(`\n ${B}${CYN}duocode${R} ${DM}v${VERSION}${R}\n\n`);
21
+ // ── Provider status ────────────────────────────────────────
22
+ log.raw(` ${B}Providers${R}\n`);
23
+ const hasOpenAI = !!process.env.OPENAI_API_KEY;
24
+ const hasAnthropic = !!process.env.ANTHROPIC_API_KEY;
25
+ const isOpenRouter = !!process.env.OPENAI_BASE_URL?.includes("openrouter");
26
+ log.raw(` ${DM}OpenAI:${R} ${hasOpenAI ? `${GRN}configured${R}` : `${DM}not set${R}`}\n`);
27
+ log.raw(` ${DM}Anthropic:${R} ${hasAnthropic ? `${GRN}configured${R}` : `${DM}not set${R}`}\n`);
28
+ log.raw(` ${DM}OpenRouter:${R} ${isOpenRouter ? `${GRN}active${R}` : `${DM}not active${R}`}\n`);
29
+ if (!hasOpenAI && !hasAnthropic) {
30
+ log.raw(`\n ${RED}No API keys configured.${R} Run ${CYN}duocode login${R} to set up.\n`);
31
+ }
32
+ // ── Project status ─────────────────────────────────────────
33
+ log.raw(`\n ${B}Project${R}\n`);
34
+ let projectFound = false;
35
+ let db = null;
36
+ try {
37
+ const config = loadConfig(repoPath);
38
+ projectFound = true;
39
+ const dbPath = path.resolve(repoPath, config.database.path);
40
+ log.raw(` ${GRN}✓${R} ${DM}Initialized${R} ${DM}${repoPath}${R}\n`);
41
+ log.raw(` ${DM}Database:${R} ${config.database.path}\n`);
42
+ try {
43
+ db = initDatabase(dbPath);
44
+ }
45
+ catch {
46
+ log.raw(` ${RED}✗${R} ${DM}Database unavailable${R}\n`);
47
+ }
48
+ }
49
+ catch {
50
+ log.raw(` ${RED}✗${R} ${DM}Not initialized${R} ${DM}(run ${CYN}duocode init${R}${DM})${R}\n`);
51
+ }
52
+ if (projectFound && db) {
53
+ // ── Task summary ─────────────────────────────────────────
54
+ try {
55
+ const tasks = db
56
+ .prepare("SELECT status, COUNT(*) as count FROM tasks GROUP BY status ORDER BY status")
57
+ .all();
58
+ if (tasks.length > 0) {
59
+ log.raw(`\n ${B}Tasks${R}\n`);
60
+ for (const t of tasks) {
61
+ log.raw(` ${DM}${t.status.padEnd(14)}${R} ${t.count}\n`);
62
+ }
63
+ }
64
+ }
65
+ catch { /* table may not exist */ }
66
+ // ── Cost summary ─────────────────────────────────────────
67
+ try {
68
+ const costRow = db
69
+ .prepare("SELECT SUM(cost_usd) as total, COUNT(*) as requests FROM provider_usage")
70
+ .get();
71
+ const perReq = db
72
+ .prepare("SELECT cost_usd FROM provider_usage ORDER BY id DESC LIMIT 20")
73
+ .all();
74
+ if (costRow?.total) {
75
+ log.raw(`\n ${B}Cost${R}\n`);
76
+ log.raw(` ${DM}Total spend:${R} $${costRow.total.toFixed(4)}\n`);
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
+ }
83
+ }
84
+ }
85
+ catch { /* table may not exist */ }
86
+ // ── Recent sessions ───────────────────────────────────────
87
+ try {
88
+ const sessionStore = new SessionStore(repoPath);
89
+ const sessions = sessionStore.list().slice(0, 3);
90
+ if (sessions.length > 0) {
91
+ log.raw(`\n ${B}Recent sessions${R}\n`);
92
+ for (const s of sessions) {
93
+ const date = new Date(s.updatedAt).toLocaleString();
94
+ log.raw(` ${CYN}${s.id.slice(0, 8)}${R} ${DM}${date} ${s.turns.length} turns $${s.totalCostUsd.toFixed(4)}${R} "${s.promptPreview}"\n`);
95
+ }
96
+ }
97
+ }
98
+ catch { /* ignore */ }
99
+ db.close();
100
+ }
101
+ log.raw("\n");
102
+ });
103
+ }
104
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -91,7 +91,10 @@ export function defaultConfigYaml() {
91
91
  " autoApprove: []",
92
92
  " blockedPaths: []",
93
93
  " allowedCommands: []",
94
- "models: {}",
94
+ "models:",
95
+ " preferredArchitect: claude-opus-4-6",
96
+ " preferredExecutor: claude-sonnet-4-6",
97
+ " judge: claude-sonnet-4-6",
95
98
  "context:",
96
99
  " maxDepth: 4",
97
100
  " maxFiles: 200",
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,mBAAmB,GAAG,CAAC,CAAC,MAAM,CAAC;IACnC,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAChC,GAAG,EAAE,CAAC,CAAC,MAAM,CAAC;QACZ,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC;KACvC,CAAC,CAAC,OAAO,CAAC,EAAE,UAAU,EAAE,MAAM,EAAE,CAAC;IAClC,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC;KAChD,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,qBAAqB,EAAE,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC;KAC/C,CAAC,CAAC,OAAO,CAAC,EAAE,IAAI,EAAE,oBAAoB,EAAE,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,eAAe,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC;KAClE,CAAC,CAAC,OAAO,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;QAClB,YAAY,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,uBAAuB,CAAC;QACzD,cAAc,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC;KACtD,CAAC,CAAC,OAAO,CAAC;QACT,YAAY,EAAE,uBAAuB;QACrC,cAAc,EAAE,GAAG;KACpB,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE;KAC9C,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC;QACd,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC5C,YAAY,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,eAAe,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KACjD,CAAC,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,EAAE,EAAE,YAAY,EAAE,EAAE,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC;IACtE,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACzC,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACxC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IACd,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;QAClD,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;QACjD,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,OAAO,CAAC,KAAM,CAAC;QAC5D,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;KAC5C,CAAC,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,aAAa,EAAE,GAAG,EAAE,eAAe,EAAE,KAAM,EAAE,UAAU,EAAE,EAAE,EAAE,CAAC;IACvG,OAAO,EAAE,CAAC,CAAC,MAAM,CAAC;QAChB,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC;QAC1E,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC5B,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;CAC9B,CAAC,CAAC,MAAM,EAAE,CAAC;AAIZ,MAAM,kCAAkC,GAAG,CAAC,cAAc,EAAE,aAAa,CAAC,CAAC;AAE3E,MAAM,UAAU,cAAc,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE;IACxD,KAAK,MAAM,QAAQ,IAAI,kCAAkC,EAAE,CAAC;QAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QAC3C,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,MAAc,OAAO,CAAC,GAAG,EAAE,EAAE,YAAqB;IAC3E,MAAM,UAAU,GAAG,YAAY,IAAI,cAAc,CAAC,GAAG,CAAC,CAAC;IACvD,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,gEAAgE,CAAC,CAAC;IACpF,CAAC;IAED,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAChD,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;IAEzC,MAAM,MAAM,GAAG,mBAAmB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,MAAM,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC;IACrF,CAAC;IAED,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC;AAED,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,gBAAgB;QAChB,MAAM;QACN,oBAAoB;QACpB,WAAW;QACX,6BAA6B;QAC7B,YAAY;QACZ,4BAA4B;QAC5B,UAAU;QACV,6BAA6B;QAC7B,YAAY;QACZ,uCAAuC;QACvC,uBAAuB;QACvB,SAAS;QACT,oBAAoB;QACpB,QAAQ;QACR,mBAAmB;QACnB,oBAAoB;QACpB,uBAAuB;QACvB,YAAY;QACZ,UAAU;QACV,eAAe;QACf,iBAAiB;QACjB,sBAAsB;QACtB,0BAA0B;QAC1B,kBAAkB;QAClB,UAAU;QACV,eAAe;QACf,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"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"}
@@ -265,6 +265,11 @@ export function extractMentions(prompt, rootDir) {
265
265
  while ((match = regex.exec(prompt)) !== null) {
266
266
  const relativePath = match[1] ?? match[2];
267
267
  const absolutePath = path.resolve(rootDir, relativePath);
268
+ // Prevent path traversal — only allow files within the project root
269
+ if (!absolutePath.startsWith(path.resolve(rootDir) + path.sep) &&
270
+ absolutePath !== path.resolve(rootDir)) {
271
+ continue;
272
+ }
268
273
  if (fs.existsSync(absolutePath) && fs.statSync(absolutePath).isFile()) {
269
274
  mentions.push({ relativePath, absolutePath });
270
275
  }
@@ -1 +1 @@
1
- {"version":3,"file":"project_context.js","sourceRoot":"","sources":["../../src/context/project_context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project_context.js","sourceRoot":"","sources":["../../src/context/project_context.ts"],"names":[],"mappings":"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"}
@@ -87,7 +87,6 @@ export declare function getProviderSpendTotals(db: Database.Database): {
87
87
  };
88
88
  export declare function listSharedContextByTask(db: Database.Database, taskId: string): SharedContextRow[];
89
89
  export declare function getNegotiationLearningBySession(db: Database.Database, negotiationId: string): NegotiationLearningRow | null;
90
- export declare function listNegotiationLearningByTask(db: Database.Database, taskId: string): NegotiationLearningRow[];
91
90
  export interface EloRatingRow {
92
91
  id: number;
93
92
  model: string;
@@ -117,5 +116,4 @@ export interface GradingResultRow {
117
116
  created_at: string;
118
117
  }
119
118
  export declare function insertGradingResult(db: Database.Database, result: GradingResult): void;
120
- export declare function listGradingResultsByModel(db: Database.Database, model: string): GradingResultRow[];
121
119
  export declare function getAggregateMatchCount(db: Database.Database, model: string, role: DuoRole): number;
@@ -54,11 +54,6 @@ export function getNegotiationLearningBySession(db, negotiationId) {
54
54
  .prepare(`SELECT * FROM negotiation_learning WHERE negotiation_id = ?`)
55
55
  .get(negotiationId);
56
56
  }
57
- export function listNegotiationLearningByTask(db, taskId) {
58
- return db
59
- .prepare(`SELECT * FROM negotiation_learning WHERE task_id = ? ORDER BY created_at DESC`)
60
- .all(taskId);
61
- }
62
57
  export function getEloRating(db, model, role, capabilityBucket) {
63
58
  return db
64
59
  .prepare(`SELECT * FROM elo_ratings WHERE model = ? AND role = ? AND capability_bucket = ?`)
@@ -95,11 +90,6 @@ export function insertGradingResult(db, result) {
95
90
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
96
91
  `).run(result.taskId ?? null, result.model, result.role, dims.correctness ?? 0, dims.security ?? 0, dims.efficiency ?? 0, dims.robustness ?? 0, dims.maintainability ?? 0, dims.usability ?? 0, result.compositeScore, result.gradedBy);
97
92
  }
98
- export function listGradingResultsByModel(db, model) {
99
- return db
100
- .prepare(`SELECT * FROM grading_results WHERE model = ? ORDER BY created_at DESC`)
101
- .all(model);
102
- }
103
93
  export function getAggregateMatchCount(db, model, role) {
104
94
  const row = db
105
95
  .prepare(`SELECT COALESCE(SUM(match_count), 0) as total FROM elo_ratings WHERE model = ? AND role = ?`)
@@ -1 +1 @@
1
- {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"AAuEA,MAAM,UAAU,WAAW,CAAC,EAAqB,EAAE,MAAc;IAC/D,OAAO,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAmB,CAAC;AACtF,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAAqB,EAAE,MAAmB;IAC1E,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC,CAAC,GAAG,EAAe,CAAC;IACvF,CAAC;IAED,OAAO,EAAE;SACN,OAAO,CAAC,+DAA+D,CAAC;SACxE,GAAG,CAAC,MAAM,CAAc,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,EAAqB,EACrB,aAAqB;IAErB,OAAO,EAAE;SACN,OAAO,CAAC,iDAAiD,CAAC;SAC1D,GAAG,CAAC,aAAa,CAAiC,CAAC;AACxD,CAAC;AAED,MAAM,UAAU,wBAAwB,CACtC,EAAqB,EACrB,aAAqB;IAErB,OAAO,EAAE;SACN,OAAO,CACN,kHAAkH,CACnH;SACA,GAAG,CAAC,aAAa,CAA6E,CAAC;AACpG,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,EAAqB,EACrB,aAAqB;IAErB,OAAO,EAAE;SACN,OAAO,CACN;;;iCAG2B,CAC5B;SACA,GAAG,CAAC,aAAa,CAAmH,CAAC;AAC1I,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAAqB,EAAE,MAAc;IAC3E,OAAO,EAAE;SACN,OAAO,CAAC,yEAAyE,CAAC;SAClF,GAAG,CAAC,MAAM,CAAuB,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,EAAqB;IAM1D,OAAO,EAAE;SACN,OAAO,CAAC;;;;;;;KAOR,CAAC;SACD,GAAG,EAA8F,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,EAAqB,EAAE,MAAc;IAC3E,OAAO,EAAE;SACN,OAAO,CAAC,wEAAwE,CAAC;SACjF,GAAG,CAAC,MAAM,CAAuB,CAAC;AACvC,CAAC;AAED,MAAM,UAAU,+BAA+B,CAC7C,EAAqB,EACrB,aAAqB;IAErB,OAAO,EAAE;SACN,OAAO,CAAC,6DAA6D,CAAC;SACtE,GAAG,CAAC,aAAa,CAAkC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,EAAqB,EACrB,MAAc;IAEd,OAAO,EAAE;SACN,OAAO,CAAC,+EAA+E,CAAC;SACxF,GAAG,CAAC,MAAM,CAA6B,CAAC;AAC7C,CAAC;AAcD,MAAM,UAAU,YAAY,CAC1B,EAAqB,EACrB,KAAa,EACb,IAAa,EACb,gBAAwB;IAExB,OAAO,EAAE;SACN,OAAO,CAAC,kFAAkF,CAAC;SAC3F,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,CAAwB,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,EAAqB,EACrB,KAAa,EACb,IAAa,EACb,gBAAwB,EACxB,GAAW,EACX,UAAkB;IAElB,EAAE,CAAC,OAAO,CAAC;;;;;;;GAOV,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,EAAE,UAAU,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,EAAqB,EACrB,IAAa;IAEb,OAAO,EAAE;SACN,OAAO,CAAC,4DAA4D,CAAC;SACrE,GAAG,CAAC,IAAI,CAAmB,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,EAAqB,EACrB,KAAa,EACb,IAAa;IAEb,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CAAC,0EAA0E,CAAC;SACnF,GAAG,CAAC,KAAK,EAAE,IAAI,CAAsC,CAAC;IACzD,OAAO,GAAG,EAAE,OAAO,IAAI,IAAI,CAAC;AAC9B,CAAC;AAoBD,MAAM,UAAU,mBAAmB,CACjC,EAAqB,EACrB,MAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,CAAC,WAAW,CAC7B,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CACrD,CAAC;IAEF,EAAE,CAAC,OAAO,CAAC;;;;;;GAMV,CAAC,CAAC,GAAG,CACJ,MAAM,CAAC,MAAM,IAAI,IAAI,EACrB,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,IAAI,EACX,IAAI,CAAC,WAAW,IAAI,CAAC,EACrB,IAAI,CAAC,QAAQ,IAAI,CAAC,EAClB,IAAI,CAAC,UAAU,IAAI,CAAC,EACpB,IAAI,CAAC,UAAU,IAAI,CAAC,EACpB,IAAI,CAAC,eAAe,IAAI,CAAC,EACzB,IAAI,CAAC,SAAS,IAAI,CAAC,EACnB,MAAM,CAAC,cAAc,EACrB,MAAM,CAAC,QAAQ,CAChB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,yBAAyB,CACvC,EAAqB,EACrB,KAAa;IAEb,OAAO,EAAE;SACN,OAAO,CAAC,wEAAwE,CAAC;SACjF,GAAG,CAAC,KAAK,CAAuB,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,EAAqB,EACrB,KAAa,EACb,IAAa;IAEb,MAAM,GAAG,GAAG,EAAE;SACX,OAAO,CAAC,6FAA6F,CAAC;SACtG,GAAG,CAAC,KAAK,EAAE,IAAI,CAA6B,CAAC;IAChD,OAAO,GAAG,EAAE,KAAK,IAAI,CAAC,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"queries.js","sourceRoot":"","sources":["../../src/db/queries.ts"],"names":[],"mappings":"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"}
@@ -90,12 +90,6 @@ export declare function updateNegotiationSessionResolution(db: Database.Database
90
90
  export declare function createNegotiationRound(db: Database.Database, record: NegotiationRoundRecord): void;
91
91
  export declare function createNegotiationConflict(db: Database.Database, record: NegotiationConflictRecord): void;
92
92
  export declare function createProviderUsage(db: Database.Database, record: ProviderUsageRecord): void;
93
- export declare function upsertAstOwnershipSnapshot(db: Database.Database, filePath: string, commitRef: string, language: "typescript" | "python" | "go", snapshotJson: string): void;
94
- export declare function getAstOwnershipSnapshot(db: Database.Database, filePath: string, commitRef: string): {
95
- language: string;
96
- snapshot_json: string;
97
- created_at: string;
98
- } | null;
99
93
  export declare function createSharedContext(db: Database.Database, record: SharedContextRecord): void;
100
94
  export declare function listSharedContextForAgent(db: Database.Database, taskId: string, agentId: string, filePath?: string): Array<{
101
95
  id: number;
package/dist/db/schema.js CHANGED
@@ -288,21 +288,6 @@ export function createProviderUsage(db, record) {
288
288
  ) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)
289
289
  `).run(record.requestId, record.taskId, record.provider, record.model, record.inputTokens, record.outputTokens, record.cacheReadInputTokens, record.cacheWriteInputTokens, record.costUsd);
290
290
  }
291
- export function upsertAstOwnershipSnapshot(db, filePath, commitRef, language, snapshotJson) {
292
- db.prepare(`
293
- INSERT INTO ast_ownership_snapshots (file_path, commit_ref, language, snapshot_json)
294
- VALUES (?, ?, ?, ?)
295
- ON CONFLICT(file_path, commit_ref) DO UPDATE SET
296
- language = excluded.language,
297
- snapshot_json = excluded.snapshot_json,
298
- created_at = datetime('now')
299
- `).run(filePath, commitRef, language, snapshotJson);
300
- }
301
- export function getAstOwnershipSnapshot(db, filePath, commitRef) {
302
- return db
303
- .prepare("SELECT language, snapshot_json, created_at FROM ast_ownership_snapshots WHERE file_path = ? AND commit_ref = ?")
304
- .get(filePath, commitRef);
305
- }
306
291
  export function createSharedContext(db, record) {
307
292
  db.prepare(`
308
293
  INSERT INTO shared_context (
@@ -1 +1 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/db/schema.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, costTracker);
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);