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
@@ -1,185 +1,237 @@
1
1
  import { CapabilityAuctionEngine } from "./auction.js";
2
2
  import { withRetry, timeoutSignal } from "./retry.js";
3
3
  export const DEFAULT_MODEL_PROFILES = [
4
+ // ── Anthropic direct API ─────────────────────────────────────
4
5
  {
5
- model: "gpt-5.3-codex",
6
- provider: "openai",
7
- capabilities: ["deep_reasoning", "code_generation", "tool_use", "streaming"],
6
+ model: "claude-opus-4-6",
7
+ provider: "anthropic",
8
+ capabilities: ["deep_reasoning", "architecture", "code_generation", "code_review", "tool_use", "streaming"],
8
9
  supportsStreaming: true,
9
10
  supportsTools: true,
10
- contextWindow: 256000,
11
+ contextWindow: 200000,
11
12
  maxOutputTokens: 32000,
12
- avgLatencyMs: 1800,
13
- defaultScore: 0.96,
14
- roleAffinity: { architect: 0.85, executor: 0.92 },
13
+ avgLatencyMs: 3500,
14
+ defaultScore: 0.97,
15
+ roleAffinity: { architect: 0.95, executor: 0.80 },
15
16
  },
16
17
  {
17
- model: "gpt-5.2",
18
- provider: "openai",
19
- capabilities: ["deep_reasoning", "code_generation", "streaming"],
18
+ model: "claude-sonnet-4-6",
19
+ provider: "anthropic",
20
+ capabilities: ["deep_reasoning", "code_generation", "code_refactoring", "tool_use", "streaming"],
20
21
  supportsStreaming: true,
21
22
  supportsTools: true,
22
23
  contextWindow: 200000,
23
- maxOutputTokens: 24000,
24
- avgLatencyMs: 1400,
25
- defaultScore: 0.9,
26
- roleAffinity: { architect: 0.82, executor: 0.80 },
24
+ maxOutputTokens: 64000,
25
+ avgLatencyMs: 2000,
26
+ defaultScore: 0.93,
27
+ roleAffinity: { architect: 0.88, executor: 0.90 },
27
28
  },
28
29
  {
29
- model: "o4-mini",
30
- provider: "openai",
31
- capabilities: ["routing", "tool_use", "fast_response", "streaming"],
30
+ model: "claude-haiku-4-5-20251001",
31
+ provider: "anthropic",
32
+ capabilities: ["code_generation", "fast_response", "tool_use", "streaming"],
32
33
  supportsStreaming: true,
33
34
  supportsTools: true,
34
- contextWindow: 128000,
35
- maxOutputTokens: 16000,
36
- avgLatencyMs: 650,
35
+ contextWindow: 200000,
36
+ maxOutputTokens: 8000,
37
+ avgLatencyMs: 800,
37
38
  defaultScore: 0.82,
38
- roleAffinity: { architect: 0.40, executor: 0.55 },
39
+ roleAffinity: { architect: 0.40, executor: 0.70 },
39
40
  },
41
+ // ── OpenRouter-exclusive models ───────────────────────────────
42
+ // (only routed when OPENAI_BASE_URL contains "openrouter")
40
43
  {
41
- model: "claude-sonnet-4-5",
42
- provider: "anthropic",
43
- capabilities: ["deep_reasoning", "code_generation", "tool_use", "streaming"],
44
+ model: "deepseek/deepseek-r1-0528",
45
+ provider: "openrouter",
46
+ capabilities: ["deep_reasoning", "architecture", "code_generation", "streaming"],
44
47
  supportsStreaming: true,
45
- supportsTools: true,
46
- contextWindow: 200000,
47
- maxOutputTokens: 24000,
48
- avgLatencyMs: 1500,
48
+ supportsTools: false,
49
+ contextWindow: 163840,
50
+ maxOutputTokens: 65536,
51
+ avgLatencyMs: 3000,
49
52
  defaultScore: 0.93,
50
- roleAffinity: { architect: 0.90, executor: 0.85 },
53
+ roleAffinity: { architect: 0.92, executor: 0.72 },
51
54
  },
52
55
  {
53
- model: "claude-sonnet-5",
54
- provider: "anthropic",
55
- capabilities: ["deep_reasoning", "architecture", "code_generation", "tool_use", "streaming"],
56
+ model: "deepseek/deepseek-v3",
57
+ provider: "openrouter",
58
+ capabilities: ["code_generation", "code_refactoring", "tool_use", "streaming"],
56
59
  supportsStreaming: true,
57
60
  supportsTools: true,
58
- contextWindow: 200000,
59
- maxOutputTokens: 24000,
60
- avgLatencyMs: 1700,
61
- defaultScore: 0.95,
62
- roleAffinity: { architect: 0.93, executor: 0.75 },
61
+ contextWindow: 64000,
62
+ maxOutputTokens: 32768,
63
+ avgLatencyMs: 1500,
64
+ defaultScore: 0.88,
65
+ roleAffinity: { architect: 0.72, executor: 0.88 },
63
66
  },
64
67
  {
65
- model: "z-ai/glm-5-20260211",
68
+ model: "google/gemini-3-flash-preview",
66
69
  provider: "openrouter",
67
- capabilities: ["deep_reasoning", "architecture", "code_generation", "tool_use", "streaming"],
70
+ capabilities: ["code_generation", "fast_response", "tool_use", "streaming"],
68
71
  supportsStreaming: true,
69
72
  supportsTools: true,
70
- contextWindow: 202752,
71
- maxOutputTokens: 131072,
72
- avgLatencyMs: 1800,
73
- defaultScore: 0.92,
74
- roleAffinity: { architect: 0.82, executor: 0.80 },
73
+ contextWindow: 1048576,
74
+ maxOutputTokens: 65535,
75
+ avgLatencyMs: 600,
76
+ defaultScore: 0.89,
77
+ roleAffinity: { architect: 0.60, executor: 0.85 },
75
78
  },
76
79
  {
77
- model: "qwen/qwen3-max-thinking-20260123",
80
+ model: "qwen/qwen3-coder-next",
78
81
  provider: "openrouter",
79
- capabilities: ["deep_reasoning", "architecture", "code_generation", "tool_use", "streaming"],
82
+ capabilities: ["code_generation", "code_refactoring", "test_generation", "tool_use", "streaming"],
80
83
  supportsStreaming: true,
81
84
  supportsTools: true,
82
85
  contextWindow: 262144,
83
- maxOutputTokens: 32768,
84
- avgLatencyMs: 2200,
85
- defaultScore: 0.93,
86
- roleAffinity: { architect: 0.88, executor: 0.68 },
86
+ maxOutputTokens: 65536,
87
+ avgLatencyMs: 900,
88
+ defaultScore: 0.88,
89
+ roleAffinity: { architect: 0.55, executor: 0.92 },
90
+ },
91
+ {
92
+ model: "mistralai/mistral-large-2411",
93
+ provider: "openrouter",
94
+ capabilities: ["deep_reasoning", "code_generation", "tool_use", "streaming"],
95
+ supportsStreaming: true,
96
+ supportsTools: true,
97
+ contextWindow: 128000,
98
+ maxOutputTokens: 8192,
99
+ avgLatencyMs: 1400,
100
+ defaultScore: 0.86,
101
+ roleAffinity: { architect: 0.80, executor: 0.80 },
87
102
  },
88
103
  {
89
- model: "qwen/qwen3-coder-next-2025-02-03",
104
+ model: "x-ai/grok-4.1-fast",
90
105
  provider: "openrouter",
91
- capabilities: ["code_generation", "code_refactoring", "tool_use", "streaming", "test_generation", "fast_response"],
106
+ capabilities: ["code_generation", "fast_response", "tool_use", "streaming"],
92
107
  supportsStreaming: true,
93
108
  supportsTools: true,
94
- contextWindow: 262144,
95
- maxOutputTokens: 65536,
96
- avgLatencyMs: 800,
109
+ contextWindow: 2000000,
110
+ maxOutputTokens: 30000,
111
+ avgLatencyMs: 700,
97
112
  defaultScore: 0.87,
98
- roleAffinity: { architect: 0.40, executor: 0.85 },
113
+ roleAffinity: { architect: 0.62, executor: 0.90 },
99
114
  },
100
115
  {
101
- model: "moonshotai/kimi-k2.5-0127",
116
+ model: "minimax/minimax-m2.5",
102
117
  provider: "openrouter",
103
- capabilities: ["deep_reasoning", "code_generation", "tool_use", "streaming"],
118
+ capabilities: ["deep_reasoning", "code_generation", "code_refactoring", "tool_use", "streaming"],
119
+ supportsStreaming: true,
120
+ supportsTools: true,
121
+ contextWindow: 196608,
122
+ maxOutputTokens: 65536,
123
+ avgLatencyMs: 2500,
124
+ defaultScore: 0.88,
125
+ roleAffinity: { architect: 0.75, executor: 0.88 },
126
+ },
127
+ {
128
+ model: "moonshotai/kimi-k2.5",
129
+ provider: "openrouter",
130
+ capabilities: ["deep_reasoning", "architecture", "code_generation", "code_refactoring", "tool_use", "streaming"],
104
131
  supportsStreaming: true,
105
132
  supportsTools: true,
106
133
  contextWindow: 262144,
107
- maxOutputTokens: 32768,
108
- avgLatencyMs: 1500,
134
+ maxOutputTokens: 65536,
135
+ avgLatencyMs: 2000,
109
136
  defaultScore: 0.89,
110
- roleAffinity: { architect: 0.80, executor: 0.70 },
137
+ roleAffinity: { architect: 0.82, executor: 0.85 },
111
138
  },
112
139
  {
113
- model: "minimax/minimax-m2.5-20260211",
140
+ model: "z-ai/glm-5",
114
141
  provider: "openrouter",
115
- capabilities: ["deep_reasoning", "code_generation", "tool_use", "streaming"],
142
+ capabilities: ["deep_reasoning", "architecture", "code_generation", "tool_use", "streaming"],
143
+ supportsStreaming: true,
144
+ supportsTools: true,
145
+ contextWindow: 204800,
146
+ maxOutputTokens: 32768,
147
+ avgLatencyMs: 2500,
148
+ defaultScore: 0.88,
149
+ roleAffinity: { architect: 0.88, executor: 0.80 },
150
+ },
151
+ // ── Top programming + explicitly added models ─────────────────
152
+ {
153
+ model: "google/gemini-3.1-pro-preview",
154
+ provider: "openrouter",
155
+ capabilities: ["deep_reasoning", "architecture", "code_generation", "tool_use", "streaming"],
116
156
  supportsStreaming: true,
117
157
  supportsTools: true,
118
158
  contextWindow: 1048576,
119
159
  maxOutputTokens: 65536,
120
- avgLatencyMs: 1400,
121
- defaultScore: 0.91,
122
- roleAffinity: { architect: 0.82, executor: 0.78 },
160
+ avgLatencyMs: 2200,
161
+ defaultScore: 0.95,
162
+ roleAffinity: { architect: 0.90, executor: 0.85 },
123
163
  },
124
164
  {
125
- model: "deepseek/deepseek-v3.2-20251201",
165
+ model: "qwen/qwen3.5-plus-02-15",
126
166
  provider: "openrouter",
127
167
  capabilities: ["deep_reasoning", "code_generation", "code_refactoring", "tool_use", "streaming"],
128
168
  supportsStreaming: true,
129
169
  supportsTools: true,
130
- contextWindow: 163840,
170
+ contextWindow: 1000000,
131
171
  maxOutputTokens: 65536,
132
- avgLatencyMs: 1200,
133
- defaultScore: 0.90,
134
- roleAffinity: { architect: 0.84, executor: 0.82 },
172
+ avgLatencyMs: 2000,
173
+ defaultScore: 0.88,
174
+ roleAffinity: { architect: 0.72, executor: 0.82 },
135
175
  },
136
176
  {
137
- model: "google/gemini-3-flash-preview-20251217",
177
+ model: "qwen/qwen3-max-thinking",
138
178
  provider: "openrouter",
139
- capabilities: ["code_generation", "fast_response", "tool_use", "streaming"],
179
+ capabilities: ["deep_reasoning", "architecture", "code_generation", "tool_use", "streaming"],
140
180
  supportsStreaming: true,
141
181
  supportsTools: true,
142
- contextWindow: 1048576,
143
- maxOutputTokens: 65536,
144
- avgLatencyMs: 600,
145
- defaultScore: 0.88,
146
- roleAffinity: { architect: 0.65, executor: 0.85 },
182
+ contextWindow: 262144,
183
+ maxOutputTokens: 32768,
184
+ avgLatencyMs: 4000,
185
+ defaultScore: 0.91,
186
+ roleAffinity: { architect: 0.88, executor: 0.70 },
147
187
  },
148
188
  {
149
- model: "gpt-oss-120b",
150
- provider: "openai",
151
- capabilities: ["deep_reasoning", "code_generation", "tool_use", "streaming"],
189
+ model: "anthropic/claude-opus-4.5",
190
+ provider: "openrouter",
191
+ capabilities: ["deep_reasoning", "architecture", "code_generation", "code_review", "tool_use", "streaming"],
152
192
  supportsStreaming: true,
153
193
  supportsTools: true,
154
194
  contextWindow: 200000,
155
- maxOutputTokens: 32000,
156
- avgLatencyMs: 1600,
195
+ maxOutputTokens: 64000,
196
+ avgLatencyMs: 3000,
197
+ defaultScore: 0.94,
198
+ roleAffinity: { architect: 0.92, executor: 0.75 },
199
+ },
200
+ {
201
+ model: "anthropic/claude-sonnet-4.5",
202
+ provider: "openrouter",
203
+ capabilities: ["deep_reasoning", "code_generation", "code_refactoring", "tool_use", "streaming"],
204
+ supportsStreaming: true,
205
+ supportsTools: true,
206
+ contextWindow: 1000000,
207
+ maxOutputTokens: 64000,
208
+ avgLatencyMs: 2000,
157
209
  defaultScore: 0.91,
158
- roleAffinity: { architect: 0.83, executor: 0.80 },
210
+ roleAffinity: { architect: 0.82, executor: 0.88 },
159
211
  },
160
212
  {
161
- model: "x-ai/grok-4.1-fast",
213
+ model: "openai/gpt-5.2",
162
214
  provider: "openrouter",
163
- capabilities: ["code_generation", "fast_response", "tool_use", "streaming"],
215
+ capabilities: ["deep_reasoning", "architecture", "code_generation", "code_review", "tool_use", "streaming"],
164
216
  supportsStreaming: true,
165
217
  supportsTools: true,
166
- contextWindow: 131072,
167
- maxOutputTokens: 32768,
168
- avgLatencyMs: 700,
169
- defaultScore: 0.87,
170
- roleAffinity: { architect: 0.60, executor: 0.82 },
218
+ contextWindow: 400000,
219
+ maxOutputTokens: 128000,
220
+ avgLatencyMs: 3500,
221
+ defaultScore: 0.96,
222
+ roleAffinity: { architect: 0.92, executor: 0.75 },
171
223
  },
172
224
  {
173
- model: "arcee-ai/trinity-large-preview",
225
+ model: "openai/gpt-5.2-pro",
174
226
  provider: "openrouter",
175
- capabilities: ["deep_reasoning", "code_generation", "tool_use", "streaming"],
227
+ capabilities: ["deep_reasoning", "architecture", "code_generation", "code_review", "tool_use", "streaming"],
176
228
  supportsStreaming: true,
177
229
  supportsTools: true,
178
- contextWindow: 131072,
179
- maxOutputTokens: 32768,
180
- avgLatencyMs: 1300,
181
- defaultScore: 0.86,
182
- roleAffinity: { architect: 0.78, executor: 0.75 },
230
+ contextWindow: 400000,
231
+ maxOutputTokens: 128000,
232
+ avgLatencyMs: 5000,
233
+ defaultScore: 0.97,
234
+ roleAffinity: { architect: 0.96, executor: 0.65 },
183
235
  },
184
236
  ];
185
237
  const DEFAULT_ESTIMATED_INPUT_TOKENS = 1000;
@@ -541,7 +593,6 @@ export class ProviderRouter {
541
593
  const response = await withRetry(async (signal) => {
542
594
  const ts = timeoutSignal(this.timeoutMs);
543
595
  // Combine external signal (if any) with timeout
544
- const _effectiveSignal = signal ?? ts.signal;
545
596
  try {
546
597
  return await provider.generate({
547
598
  ...request,
@@ -1 +1 @@
1
- {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/providers/router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/providers/router.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { exec } from "node:child_process";
1
+ import { execFile } from "node:child_process";
2
2
  export function openBrowser(url) {
3
- const cmd = process.platform === "darwin"
4
- ? `open "${url}"`
3
+ const [cmd, args] = process.platform === "darwin"
4
+ ? ["open", [url]]
5
5
  : process.platform === "win32"
6
- ? `start "" "${url}"`
7
- : `xdg-open "${url}"`;
8
- exec(cmd, () => {
6
+ ? ["cmd", ["/c", "start", "", url]]
7
+ : ["xdg-open", [url]];
8
+ execFile(cmd, args, () => {
9
9
  // fire-and-forget — ignore errors (user sees the URL in terminal)
10
10
  });
11
11
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/setup/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,oBAAoB,CAAC;AAE1C,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,GAAG,GACP,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAC3B,CAAC,CAAC,SAAS,GAAG,GAAG;QACjB,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5B,CAAC,CAAC,aAAa,GAAG,GAAG;YACrB,CAAC,CAAC,aAAa,GAAG,GAAG,CAAC;IAE5B,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE;QACb,kEAAkE;IACpE,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/setup/browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAE9C,MAAM,UAAU,WAAW,CAAC,GAAW;IACrC,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,GACf,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAC3B,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC;QACjB,CAAC,CAAC,OAAO,CAAC,QAAQ,KAAK,OAAO;YAC5B,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;YACnC,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE5B,QAAQ,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE;QACvB,kEAAkE;IACpE,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -32,6 +32,11 @@ export interface AgentLoopOptions {
32
32
  onToolCall?: (call: ToolCall, result: ToolResult) => void;
33
33
  /** Called when the model emits text */
34
34
  onText?: (text: string) => void;
35
+ /**
36
+ * External array to push FileChanges into as they occur.
37
+ * Populated before onToolCall fires so the callback can read the latest entry.
38
+ */
39
+ externalFileChanges?: FileChange[];
35
40
  }
36
41
  export interface AgentLoopResult {
37
42
  /** Concatenated text output from all model turns */
@@ -40,5 +45,7 @@ export interface AgentLoopResult {
40
45
  fileChanges: FileChange[];
41
46
  totalCostUsd: number;
42
47
  iterations: number;
48
+ /** True if the loop stopped because maxIterations was reached */
49
+ hitIterationLimit: boolean;
43
50
  }
44
51
  export declare function runAgentLoop(options: AgentLoopOptions): Promise<AgentLoopResult>;
@@ -11,7 +11,8 @@ export async function runAgentLoop(options) {
11
11
  if (registry) {
12
12
  preloadToolsForPrompt(options.userPrompt, registry);
13
13
  }
14
- const fileChanges = [];
14
+ // Use external array if provided so caller can observe changes during execution
15
+ const fileChanges = options.externalFileChanges ?? [];
15
16
  const messages = [
16
17
  { role: "system", content: systemPrompt },
17
18
  { role: "user", content: options.userPrompt },
@@ -25,33 +26,80 @@ export async function runAgentLoop(options) {
25
26
  // Refresh tools each iteration so discover_tools activations take effect
26
27
  const tools = options.tools
27
28
  ?? (registry ? registry.getActiveTools() : ALL_TOOLS);
28
- const result = await providerRouter.generate({
29
- model,
30
- messages,
31
- tools,
32
- toolChoice: "auto",
33
- temperature,
34
- maxOutputTokens,
35
- });
36
- totalCostUsd += result.costUsd;
37
- const response = result.response;
38
- if (response.text) {
39
- textParts.push(response.text);
40
- if (options.onText)
41
- options.onText(response.text);
29
+ // Attempt streaming for real-time text output; fall back to generate on failure
30
+ let responseText = "";
31
+ let responseToolCalls = [];
32
+ try {
33
+ for await (const event of providerRouter.stream({
34
+ model,
35
+ messages,
36
+ tools,
37
+ toolChoice: "auto",
38
+ temperature,
39
+ maxOutputTokens,
40
+ })) {
41
+ if (event.type === "text-delta") {
42
+ responseText += event.delta;
43
+ if (options.onText)
44
+ options.onText(event.delta);
45
+ }
46
+ else if (event.type === "tool-call") {
47
+ responseToolCalls.push(event.call);
48
+ }
49
+ else if (event.type === "done") {
50
+ // Merge tool calls from done event (for providers that batch them)
51
+ if (event.response.toolCalls.length > 0 && responseToolCalls.length === 0) {
52
+ responseToolCalls = event.response.toolCalls;
53
+ }
54
+ // Use response text as fallback if no deltas were emitted
55
+ if (!responseText && event.response.text) {
56
+ responseText = event.response.text;
57
+ if (options.onText)
58
+ options.onText(responseText);
59
+ }
60
+ }
61
+ else if (event.type === "error") {
62
+ throw event.error;
63
+ }
64
+ }
65
+ }
66
+ catch (streamErr) {
67
+ // Log the streaming failure before falling back so operators know degradation occurred
68
+ log.warn("Streaming failed, falling back to generate", {
69
+ error: streamErr instanceof Error ? streamErr.message : String(streamErr),
70
+ });
71
+ // Streaming failed — fall back to non-streaming generate
72
+ responseText = "";
73
+ responseToolCalls = [];
74
+ const fallback = await providerRouter.generate({
75
+ model,
76
+ messages,
77
+ tools,
78
+ toolChoice: "auto",
79
+ temperature,
80
+ maxOutputTokens,
81
+ });
82
+ totalCostUsd += fallback.costUsd;
83
+ responseText = fallback.response.text ?? "";
84
+ responseToolCalls = fallback.response.toolCalls ?? [];
85
+ if (options.onText && responseText)
86
+ options.onText(responseText);
87
+ }
88
+ if (responseText) {
89
+ textParts.push(responseText);
42
90
  }
43
91
  // No tool calls → model is done
44
- if (response.toolCalls.length === 0) {
92
+ if (responseToolCalls.length === 0) {
45
93
  break;
46
94
  }
47
95
  // Append the assistant turn (with tool calls attached)
48
96
  messages.push({
49
97
  role: "assistant",
50
- content: response.text || "",
51
- toolCalls: response.toolCalls,
98
+ content: responseText || "",
99
+ toolCalls: responseToolCalls,
52
100
  });
53
101
  // Execute each requested tool
54
- for (const call of response.toolCalls) {
102
+ for (const call of responseToolCalls) {
55
103
  toolCallCount++;
56
104
  log.debug("Tool call", { tool: call.name });
57
105
  const toolResult = await executeTool({
@@ -72,7 +120,8 @@ export async function runAgentLoop(options) {
72
120
  });
73
121
  }
74
122
  }
75
- if (iterations >= maxIterations) {
123
+ const hitIterationLimit = iterations >= maxIterations;
124
+ if (hitIterationLimit) {
76
125
  log.warn("Agent loop reached max iterations", { maxIterations });
77
126
  }
78
127
  return {
@@ -81,6 +130,7 @@ export async function runAgentLoop(options) {
81
130
  fileChanges,
82
131
  totalCostUsd,
83
132
  iterations,
133
+ hitIterationLimit,
84
134
  };
85
135
  }
86
136
  //# sourceMappingURL=agent_loop.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"agent_loop.js","sourceRoot":"","sources":["../../src/tools/agent_loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent_loop.js","sourceRoot":"","sources":["../../src/tools/agent_loop.ts"],"names":[],"mappings":"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"}