@calliopelabs/cli 2.2.0 → 2.5.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 (244) hide show
  1. package/README.md +17 -0
  2. package/dist/agents/agent-config-loader.js +1 -1
  3. package/dist/agents/agent-config-presets.js +13 -13
  4. package/dist/agents/agent-config-presets.js.map +1 -1
  5. package/dist/agents/agent-config-types.d.ts +1 -1
  6. package/dist/agents/agent-config-types.d.ts.map +1 -1
  7. package/dist/agents/council-types.d.ts +2 -0
  8. package/dist/agents/council-types.d.ts.map +1 -1
  9. package/dist/agents/council-types.js.map +1 -1
  10. package/dist/agents/council.d.ts +5 -0
  11. package/dist/agents/council.d.ts.map +1 -1
  12. package/dist/agents/council.js +150 -14
  13. package/dist/agents/council.js.map +1 -1
  14. package/dist/agents/dynamic-tools.d.ts.map +1 -1
  15. package/dist/agents/dynamic-tools.js +39 -10
  16. package/dist/agents/dynamic-tools.js.map +1 -1
  17. package/dist/agents/orchestrator.d.ts +7 -0
  18. package/dist/agents/orchestrator.d.ts.map +1 -1
  19. package/dist/agents/orchestrator.js +48 -7
  20. package/dist/agents/orchestrator.js.map +1 -1
  21. package/dist/agents/sdk-backend.js +1 -1
  22. package/dist/agents/sdk-backend.js.map +1 -1
  23. package/dist/agents/swarm-types.d.ts +1 -0
  24. package/dist/agents/swarm-types.d.ts.map +1 -1
  25. package/dist/agents/swarm.d.ts +5 -0
  26. package/dist/agents/swarm.d.ts.map +1 -1
  27. package/dist/agents/swarm.js +85 -17
  28. package/dist/agents/swarm.js.map +1 -1
  29. package/dist/agents/types.d.ts +1 -0
  30. package/dist/agents/types.d.ts.map +1 -1
  31. package/dist/agents/types.js.map +1 -1
  32. package/dist/api-server.d.ts +9 -0
  33. package/dist/api-server.d.ts.map +1 -1
  34. package/dist/api-server.js +75 -4
  35. package/dist/api-server.js.map +1 -1
  36. package/dist/auto-checkpoint.d.ts.map +1 -1
  37. package/dist/auto-checkpoint.js +50 -17
  38. package/dist/auto-checkpoint.js.map +1 -1
  39. package/dist/auto-compressor.d.ts +14 -0
  40. package/dist/auto-compressor.d.ts.map +1 -1
  41. package/dist/auto-compressor.js +67 -10
  42. package/dist/auto-compressor.js.map +1 -1
  43. package/dist/background-jobs.d.ts.map +1 -1
  44. package/dist/background-jobs.js +8 -3
  45. package/dist/background-jobs.js.map +1 -1
  46. package/dist/bin.d.ts +8 -0
  47. package/dist/bin.d.ts.map +1 -1
  48. package/dist/bin.js +63 -4
  49. package/dist/bin.js.map +1 -1
  50. package/dist/branching.d.ts.map +1 -1
  51. package/dist/branching.js +14 -1
  52. package/dist/branching.js.map +1 -1
  53. package/dist/checkpoint.d.ts.map +1 -1
  54. package/dist/checkpoint.js +13 -1
  55. package/dist/checkpoint.js.map +1 -1
  56. package/dist/cli/agent.d.ts.map +1 -1
  57. package/dist/cli/agent.js +130 -62
  58. package/dist/cli/agent.js.map +1 -1
  59. package/dist/cli/commands.d.ts.map +1 -1
  60. package/dist/cli/commands.js +218 -11
  61. package/dist/cli/commands.js.map +1 -1
  62. package/dist/cli/index.d.ts.map +1 -1
  63. package/dist/cli/index.js +55 -6
  64. package/dist/cli/index.js.map +1 -1
  65. package/dist/cli/types.d.ts +3 -0
  66. package/dist/cli/types.d.ts.map +1 -1
  67. package/dist/cli/types.js +2 -1
  68. package/dist/cli/types.js.map +1 -1
  69. package/dist/config.d.ts +1 -0
  70. package/dist/config.d.ts.map +1 -1
  71. package/dist/config.js +15 -3
  72. package/dist/config.js.map +1 -1
  73. package/dist/diff.d.ts.map +1 -1
  74. package/dist/diff.js +42 -4
  75. package/dist/diff.js.map +1 -1
  76. package/dist/env-expansion.d.ts +15 -0
  77. package/dist/env-expansion.d.ts.map +1 -0
  78. package/dist/env-expansion.js +43 -0
  79. package/dist/env-expansion.js.map +1 -0
  80. package/dist/errors.d.ts.map +1 -1
  81. package/dist/errors.js +30 -3
  82. package/dist/errors.js.map +1 -1
  83. package/dist/headless.d.ts.map +1 -1
  84. package/dist/headless.js +59 -4
  85. package/dist/headless.js.map +1 -1
  86. package/dist/hooks.d.ts +8 -2
  87. package/dist/hooks.d.ts.map +1 -1
  88. package/dist/hooks.js +97 -11
  89. package/dist/hooks.js.map +1 -1
  90. package/dist/idle-eviction.d.ts.map +1 -1
  91. package/dist/idle-eviction.js +8 -1
  92. package/dist/idle-eviction.js.map +1 -1
  93. package/dist/iteration-ledger.d.ts +111 -2
  94. package/dist/iteration-ledger.d.ts.map +1 -1
  95. package/dist/iteration-ledger.js +327 -19
  96. package/dist/iteration-ledger.js.map +1 -1
  97. package/dist/iteration-limit.d.ts +5 -0
  98. package/dist/iteration-limit.d.ts.map +1 -0
  99. package/dist/iteration-limit.js +17 -0
  100. package/dist/iteration-limit.js.map +1 -0
  101. package/dist/markdown.d.ts.map +1 -1
  102. package/dist/markdown.js +32 -10
  103. package/dist/markdown.js.map +1 -1
  104. package/dist/mcp.d.ts +35 -5
  105. package/dist/mcp.d.ts.map +1 -1
  106. package/dist/mcp.js +191 -12
  107. package/dist/mcp.js.map +1 -1
  108. package/dist/memory.d.ts.map +1 -1
  109. package/dist/memory.js +4 -9
  110. package/dist/memory.js.map +1 -1
  111. package/dist/model-detection.d.ts +14 -1
  112. package/dist/model-detection.d.ts.map +1 -1
  113. package/dist/model-detection.js +307 -114
  114. package/dist/model-detection.js.map +1 -1
  115. package/dist/model-router.js +7 -7
  116. package/dist/model-router.js.map +1 -1
  117. package/dist/parallel-tools.d.ts +9 -1
  118. package/dist/parallel-tools.d.ts.map +1 -1
  119. package/dist/parallel-tools.js +6 -5
  120. package/dist/parallel-tools.js.map +1 -1
  121. package/dist/plugins.d.ts +37 -0
  122. package/dist/plugins.d.ts.map +1 -1
  123. package/dist/plugins.js +87 -0
  124. package/dist/plugins.js.map +1 -1
  125. package/dist/prevent-sleep.d.ts +10 -0
  126. package/dist/prevent-sleep.d.ts.map +1 -0
  127. package/dist/prevent-sleep.js +85 -0
  128. package/dist/prevent-sleep.js.map +1 -0
  129. package/dist/providers/anthropic.d.ts.map +1 -1
  130. package/dist/providers/anthropic.js +36 -2
  131. package/dist/providers/anthropic.js.map +1 -1
  132. package/dist/providers/bedrock.d.ts.map +1 -1
  133. package/dist/providers/bedrock.js +81 -17
  134. package/dist/providers/bedrock.js.map +1 -1
  135. package/dist/providers/compat.d.ts.map +1 -1
  136. package/dist/providers/compat.js +21 -6
  137. package/dist/providers/compat.js.map +1 -1
  138. package/dist/providers/index.d.ts.map +1 -1
  139. package/dist/providers/index.js +2 -0
  140. package/dist/providers/index.js.map +1 -1
  141. package/dist/providers/openai-compat-shims.d.ts +31 -0
  142. package/dist/providers/openai-compat-shims.d.ts.map +1 -0
  143. package/dist/providers/openai-compat-shims.js +179 -0
  144. package/dist/providers/openai-compat-shims.js.map +1 -0
  145. package/dist/providers/openai.d.ts.map +1 -1
  146. package/dist/providers/types.d.ts.map +1 -1
  147. package/dist/providers/types.js +19 -10
  148. package/dist/providers/types.js.map +1 -1
  149. package/dist/risk.d.ts.map +1 -1
  150. package/dist/risk.js +15 -5
  151. package/dist/risk.js.map +1 -1
  152. package/dist/sandbox-native.d.ts +1 -0
  153. package/dist/sandbox-native.d.ts.map +1 -1
  154. package/dist/sandbox-native.js +37 -5
  155. package/dist/sandbox-native.js.map +1 -1
  156. package/dist/scope.d.ts +10 -0
  157. package/dist/scope.d.ts.map +1 -1
  158. package/dist/scope.js +75 -15
  159. package/dist/scope.js.map +1 -1
  160. package/dist/scuttlebot/client.d.ts +83 -0
  161. package/dist/scuttlebot/client.d.ts.map +1 -0
  162. package/dist/scuttlebot/client.js +350 -0
  163. package/dist/scuttlebot/client.js.map +1 -0
  164. package/dist/scuttlebot/config.d.ts +28 -0
  165. package/dist/scuttlebot/config.d.ts.map +1 -0
  166. package/dist/scuttlebot/config.js +91 -0
  167. package/dist/scuttlebot/config.js.map +1 -0
  168. package/dist/scuttlebot/http-client.d.ts +63 -0
  169. package/dist/scuttlebot/http-client.d.ts.map +1 -0
  170. package/dist/scuttlebot/http-client.js +124 -0
  171. package/dist/scuttlebot/http-client.js.map +1 -0
  172. package/dist/scuttlebot/index.d.ts +13 -0
  173. package/dist/scuttlebot/index.d.ts.map +1 -0
  174. package/dist/scuttlebot/index.js +10 -0
  175. package/dist/scuttlebot/index.js.map +1 -0
  176. package/dist/scuttlebot/irc-client.d.ts +124 -0
  177. package/dist/scuttlebot/irc-client.d.ts.map +1 -0
  178. package/dist/scuttlebot/irc-client.js +599 -0
  179. package/dist/scuttlebot/irc-client.js.map +1 -0
  180. package/dist/skills.d.ts +19 -0
  181. package/dist/skills.d.ts.map +1 -1
  182. package/dist/skills.js +98 -10
  183. package/dist/skills.js.map +1 -1
  184. package/dist/smart-router.js +4 -4
  185. package/dist/smart-router.js.map +1 -1
  186. package/dist/storage.d.ts +18 -3
  187. package/dist/storage.d.ts.map +1 -1
  188. package/dist/storage.js +182 -14
  189. package/dist/storage.js.map +1 -1
  190. package/dist/tools.d.ts.map +1 -1
  191. package/dist/tools.js +233 -39
  192. package/dist/tools.js.map +1 -1
  193. package/dist/trust.d.ts +16 -3
  194. package/dist/trust.d.ts.map +1 -1
  195. package/dist/trust.js +23 -4
  196. package/dist/trust.js.map +1 -1
  197. package/dist/types.d.ts.map +1 -1
  198. package/dist/types.js +18 -12
  199. package/dist/types.js.map +1 -1
  200. package/dist/ui/agent.d.ts +1 -1
  201. package/dist/ui/agent.d.ts.map +1 -1
  202. package/dist/ui/agent.js +175 -121
  203. package/dist/ui/agent.js.map +1 -1
  204. package/dist/ui/chat-input.d.ts +3 -1
  205. package/dist/ui/chat-input.d.ts.map +1 -1
  206. package/dist/ui/chat-input.js +82 -17
  207. package/dist/ui/chat-input.js.map +1 -1
  208. package/dist/ui/commands.d.ts +4 -0
  209. package/dist/ui/commands.d.ts.map +1 -1
  210. package/dist/ui/commands.js +562 -39
  211. package/dist/ui/commands.js.map +1 -1
  212. package/dist/ui/completions.d.ts.map +1 -1
  213. package/dist/ui/completions.js +2 -0
  214. package/dist/ui/completions.js.map +1 -1
  215. package/dist/ui/index.d.ts.map +1 -1
  216. package/dist/ui/index.js +288 -60
  217. package/dist/ui/index.js.map +1 -1
  218. package/dist/ui/input-utils.d.ts +20 -0
  219. package/dist/ui/input-utils.d.ts.map +1 -0
  220. package/dist/ui/input-utils.js +35 -0
  221. package/dist/ui/input-utils.js.map +1 -0
  222. package/dist/ui/messages.d.ts +6 -2
  223. package/dist/ui/messages.d.ts.map +1 -1
  224. package/dist/ui/messages.js +42 -11
  225. package/dist/ui/messages.js.map +1 -1
  226. package/dist/ui/modals.d.ts +21 -1
  227. package/dist/ui/modals.d.ts.map +1 -1
  228. package/dist/ui/modals.js +67 -5
  229. package/dist/ui/modals.js.map +1 -1
  230. package/dist/ui/status-bar.d.ts +4 -1
  231. package/dist/ui/status-bar.d.ts.map +1 -1
  232. package/dist/ui/status-bar.js +12 -1
  233. package/dist/ui/status-bar.js.map +1 -1
  234. package/dist/ui/types.d.ts +3 -0
  235. package/dist/ui/types.d.ts.map +1 -1
  236. package/package.json +4 -7
  237. package/dist/completion.d.ts +0 -75
  238. package/dist/completion.d.ts.map +0 -1
  239. package/dist/completion.js +0 -234
  240. package/dist/completion.js.map +0 -1
  241. package/dist/keyboard.d.ts +0 -57
  242. package/dist/keyboard.d.ts.map +0 -1
  243. package/dist/keyboard.js +0 -265
  244. package/dist/keyboard.js.map +0 -1
@@ -29,14 +29,19 @@ class SwarmManager {
29
29
  status: 'decomposing',
30
30
  config: mergedConfig,
31
31
  subtasks: [],
32
+ activeTaskIds: [],
32
33
  createdAt: new Date(),
33
34
  updatedAt: new Date(),
34
35
  };
35
36
  this.sessions.set(session.id, session);
36
37
  // Start the swarm lifecycle (fire and forget for background execution)
37
38
  this.runSwarmLifecycle(session, cwd).catch(err => {
39
+ if (this.isCancelled(session)) {
40
+ return;
41
+ }
38
42
  session.status = 'failed';
39
43
  session.error = err instanceof Error ? err.message : String(err);
44
+ session.completedAt = new Date();
40
45
  session.updatedAt = new Date();
41
46
  });
42
47
  return session;
@@ -60,22 +65,17 @@ class SwarmManager {
60
65
  const session = this.sessions.get(sessionId);
61
66
  if (!session)
62
67
  return false;
63
- // Cancel all running subtasks
68
+ session.status = 'cancelled';
69
+ session.updatedAt = new Date();
70
+ session.completedAt = new Date();
71
+ await this.cancelTrackedTasks(session);
64
72
  for (const subtask of session.subtasks) {
65
- if (subtask.taskId && (subtask.status === 'running' || subtask.status === 'pending')) {
66
- try {
67
- await orchestrator.cancelTask(subtask.taskId);
68
- }
69
- catch {
70
- // Best effort cancellation
71
- }
73
+ if (subtask.status === 'running' || subtask.status === 'pending') {
72
74
  subtask.status = 'failed';
73
75
  subtask.error = 'Cancelled';
76
+ subtask.completedAt = new Date();
74
77
  }
75
78
  }
76
- session.status = 'cancelled';
77
- session.updatedAt = new Date();
78
- session.completedAt = new Date();
79
79
  return true;
80
80
  }
81
81
  /**
@@ -100,7 +100,10 @@ class SwarmManager {
100
100
  session.updatedAt = new Date();
101
101
  const decompositionPrompt = buildDecompositionPrompt(session.prompt, session.config.decomposition, session.config.workerAgent);
102
102
  // Use overseer agent to decompose
103
- const decompositionTask = await orchestrator.spawnAgent(decompositionPrompt, session.config.overseerAgent, { background: false, priority: 'high', cwd });
103
+ const decompositionTask = await this.runTrackedAgent(session, decompositionPrompt, session.config.overseerAgent, { priority: 'high', cwd, timeout: session.config.subtaskTimeout });
104
+ if (this.isCancelled(session) || decompositionTask.status === 'cancelled') {
105
+ return;
106
+ }
104
107
  if (decompositionTask.status !== 'completed' || !decompositionTask.result) {
105
108
  throw new Error(`Decomposition failed: ${decompositionTask.error || 'no result'}`);
106
109
  }
@@ -110,10 +113,16 @@ class SwarmManager {
110
113
  subtasks = resolveDependencies(subtasks);
111
114
  session.subtasks = subtasks;
112
115
  session.updatedAt = new Date();
116
+ if (this.isCancelled(session)) {
117
+ return;
118
+ }
113
119
  // Phase 2: Execute
114
120
  session.status = 'executing';
115
121
  session.updatedAt = new Date();
116
122
  await this.executeSubtasks(session, cwd);
123
+ if (this.isCancelled(session)) {
124
+ return;
125
+ }
117
126
  // Phase 3: Recovery (retry failed subtasks)
118
127
  if (hasFailedSubtasks(session.subtasks)) {
119
128
  session.status = 'recovering';
@@ -131,6 +140,9 @@ class SwarmManager {
131
140
  if (retryable.length > 0) {
132
141
  await this.executeSubtasks(session, cwd);
133
142
  }
143
+ if (this.isCancelled(session)) {
144
+ return;
145
+ }
134
146
  }
135
147
  // Phase 4: Aggregate
136
148
  session.status = 'aggregating';
@@ -146,6 +158,11 @@ class SwarmManager {
146
158
  session.updatedAt = new Date();
147
159
  }
148
160
  catch (error) {
161
+ if (this.isCancelled(session)) {
162
+ session.completedAt = session.completedAt || new Date();
163
+ session.updatedAt = new Date();
164
+ return;
165
+ }
149
166
  session.status = 'failed';
150
167
  session.error = error instanceof Error ? error.message : String(error);
151
168
  session.completedAt = new Date();
@@ -160,7 +177,7 @@ class SwarmManager {
160
177
  // Loop until all subtasks are done
161
178
  while (!allSubtasksDone(session.subtasks)) {
162
179
  // Check if session was cancelled
163
- if (session.status === 'cancelled')
180
+ if (this.isCancelled(session))
164
181
  return;
165
182
  const ready = getReadySubtasks(session.subtasks);
166
183
  const running = session.subtasks.filter(s => s.status === 'running');
@@ -184,8 +201,8 @@ class SwarmManager {
184
201
  await Promise.race(promises);
185
202
  }
186
203
  else if (running.length > 0) {
187
- // Wait a bit for running tasks to complete
188
- await new Promise(resolve => setTimeout(resolve, 1000));
204
+ // Poll quickly so completion/cancellation doesn't stall behind a long sleep.
205
+ await new Promise(resolve => setTimeout(resolve, 50));
189
206
  }
190
207
  }
191
208
  }
@@ -245,8 +262,21 @@ class SwarmManager {
245
262
  if (subtask.attempts > 1 && subtask.error) {
246
263
  enrichedPrompt += `\n\nNote: Previous attempt failed with: ${subtask.error}\nPlease try a different approach.`;
247
264
  }
248
- const task = await orchestrator.spawnAgent(enrichedPrompt, agent, { background: false, priority: subtask.priority, cwd });
249
- subtask.taskId = task.id;
265
+ const task = await this.runTrackedAgent(session, enrichedPrompt, agent, {
266
+ priority: subtask.priority,
267
+ cwd,
268
+ timeout: session.config.subtaskTimeout,
269
+ onSpawn: spawnedTask => {
270
+ subtask.taskId = spawnedTask.id;
271
+ },
272
+ });
273
+ if (this.isCancelled(session) || task.status === 'cancelled') {
274
+ subtask.status = 'failed';
275
+ subtask.error = 'Cancelled';
276
+ subtask.completedAt = new Date();
277
+ session.updatedAt = new Date();
278
+ return;
279
+ }
250
280
  if (task.status === 'completed') {
251
281
  subtask.status = 'completed';
252
282
  subtask.result = task.result;
@@ -263,6 +293,41 @@ class SwarmManager {
263
293
  }
264
294
  session.updatedAt = new Date();
265
295
  }
296
+ async runTrackedAgent(session, prompt, agent, options = {}) {
297
+ const task = await orchestrator.spawnAgent(prompt, agent, {
298
+ background: true,
299
+ priority: options.priority,
300
+ cwd: options.cwd,
301
+ timeout: options.timeout,
302
+ });
303
+ options.onSpawn?.(task);
304
+ this.trackTask(session, task.id);
305
+ try {
306
+ return await orchestrator.waitForTask(task.id);
307
+ }
308
+ finally {
309
+ this.untrackTask(session, task.id);
310
+ }
311
+ }
312
+ trackTask(session, taskId) {
313
+ if (!session.activeTaskIds.includes(taskId)) {
314
+ session.activeTaskIds.push(taskId);
315
+ }
316
+ }
317
+ untrackTask(session, taskId) {
318
+ const index = session.activeTaskIds.indexOf(taskId);
319
+ if (index !== -1) {
320
+ session.activeTaskIds.splice(index, 1);
321
+ }
322
+ }
323
+ isCancelled(session) {
324
+ return session.status === 'cancelled';
325
+ }
326
+ async cancelTrackedTasks(session) {
327
+ const taskIds = [...session.activeTaskIds];
328
+ session.activeTaskIds.length = 0;
329
+ await Promise.allSettled(taskIds.map(taskId => orchestrator.cancelTask(taskId)));
330
+ }
266
331
  /**
267
332
  * Format swarm session status for display
268
333
  */
@@ -297,6 +362,9 @@ class SwarmManager {
297
362
  * Reset all sessions
298
363
  */
299
364
  reset() {
365
+ for (const session of this.sessions.values()) {
366
+ void this.cancelTrackedTasks(session);
367
+ }
300
368
  this.sessions.clear();
301
369
  }
302
370
  }
@@ -1 +1 @@
1
- {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../src/agents/swarm.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../src/agents/swarm.ts"],"names":[],"mappings":"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"}
@@ -36,6 +36,7 @@ export interface SubAgentTask {
36
36
  error?: string;
37
37
  pid?: number;
38
38
  swarmId?: string;
39
+ cwd?: string;
39
40
  model?: string;
40
41
  provider?: string;
41
42
  /** System prompt / instructions from agent definition */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA8GH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAuB;IAC7D,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,GAAG;IACjB,QAAQ,EAAE,CAAC;IACX,kBAAkB,EAAE,CAAC;IACrB,iBAAiB,EAAE,EAAE;IACrB,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;IAC1C,oBAAoB,EAAE,IAAI;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAA8E;IACtG,QAAQ,EAAE;QACR,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;QAClC,MAAM,EAAE,mBAAmB,CAAE,qCAAqC;KACnE;IACD,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,MAAM,EAAE,mBAAmB;KAC5B;IACD,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,gBAAgB;KACzB;IACD,KAAK,EAAE;QACL,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,gBAAgB;KACzB;CACF,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/agents/types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AA+GH;;GAEG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAuB;IAC7D,aAAa,EAAE,CAAC;IAChB,YAAY,EAAE,GAAG;IACjB,QAAQ,EAAE,CAAC;IACX,kBAAkB,EAAE,CAAC;IACrB,iBAAiB,EAAE,EAAE;IACrB,WAAW,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAE,aAAa;IAC1C,oBAAoB,EAAE,IAAI;CAC3B,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAA8E;IACtG,QAAQ,EAAE;QACR,OAAO,EAAE,UAAU;QACnB,IAAI,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;QAClC,MAAM,EAAE,mBAAmB,CAAE,qCAAqC;KACnE;IACD,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,CAAC,SAAS,CAAC;QACjB,MAAM,EAAE,mBAAmB;KAC5B;IACD,MAAM,EAAE;QACN,OAAO,EAAE,QAAQ;QACjB,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,gBAAgB;KACzB;IACD,KAAK,EAAE;QACL,OAAO,EAAE,OAAO;QAChB,IAAI,EAAE,EAAE;QACR,MAAM,EAAE,gBAAgB;KACzB;CACF,CAAC"}
@@ -33,4 +33,13 @@ export declare function startApiServer(opts?: Partial<ApiServerConfig & {
33
33
  export declare function stopApiServer(): Promise<void>;
34
34
  /** Check if server is running */
35
35
  export declare function isApiServerRunning(): boolean;
36
+ /**
37
+ * Timeout configuration applied to the active server, or null if not running.
38
+ * Exposed for diagnostics/tests.
39
+ */
40
+ export declare function getServerTimeouts(): {
41
+ requestTimeout: number;
42
+ headersTimeout: number;
43
+ keepAliveTimeout: number;
44
+ } | null;
36
45
  //# sourceMappingURL=api-server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-server.d.ts","sourceRoot":"","sources":["../src/api-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAW7B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,OAAO,CAAC;CAC1B;AAqGD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAWtF;AAGD,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAKtE;AA2CD,2BAA2B;AAC3B,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAgF3I;AAED,0BAA0B;AAC1B,wBAAgB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAc7C;AAED,iCAAiC;AACjC,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C"}
1
+ {"version":3,"file":"api-server.d.ts","sourceRoot":"","sources":["../src/api-server.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAY7B,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,EAAE,OAAO,CAAC;CAC1B;AAyHD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,IAAI,CAAC,eAAe,EAAE,GAAG,EAAE,IAAI,CAAC,cAAc,GAAG,OAAO,CAUtF;AA2BD,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG,IAAI,CAKtE;AA2CD,2BAA2B;AAC3B,wBAAgB,cAAc,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC,eAAe,GAAG;IAAE,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,OAAO,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAoG3I;AAED,0BAA0B;AAC1B,wBAAgB,aAAa,IAAI,OAAO,CAAC,IAAI,CAAC,CAc7C;AAED,iCAAiC;AACjC,wBAAgB,kBAAkB,IAAI,OAAO,CAE5C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI;IAAE,cAAc,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAOvH"}
@@ -6,6 +6,7 @@
6
6
  * Zero external dependencies — uses Node.js built-in http module.
7
7
  */
8
8
  import * as http from 'http';
9
+ import * as crypto from 'crypto';
9
10
  import * as config from './config.js';
10
11
  import { getOrCreateApiToken } from './config.js';
11
12
  import { getVersion } from './version-check.js';
@@ -17,7 +18,6 @@ function acceptWebSocket(req, socket) {
17
18
  const key = req.headers['sec-websocket-key'];
18
19
  if (!key)
19
20
  return null;
20
- const crypto = require('crypto');
21
21
  const accept = crypto
22
22
  .createHash('sha1')
23
23
  .update(key + '258EAFA5-E914-47DA-95CA-5AB5DC11CE46')
@@ -88,6 +88,27 @@ let server = null;
88
88
  const wsClients = [];
89
89
  // Bearer token for this server instance (set on startApiServer)
90
90
  let activeToken = '';
91
+ /**
92
+ * Constant-time comparison of two strings to avoid leaking timing
93
+ * information. Guards against length mismatch first so timingSafeEqual
94
+ * (which throws on differing buffer lengths) is never given mismatched input.
95
+ */
96
+ function constantTimeEqual(a, b) {
97
+ const bufA = Buffer.from(a);
98
+ const bufB = Buffer.from(b);
99
+ if (bufA.length !== bufB.length)
100
+ return false;
101
+ return crypto.timingSafeEqual(bufA, bufB);
102
+ }
103
+ /**
104
+ * Validate a presented Bearer token against the active token using a
105
+ * constant-time comparison. Returns false when no token is configured.
106
+ */
107
+ function isValidToken(presented) {
108
+ if (!activeToken)
109
+ return false;
110
+ return constantTimeEqual(presented, `Bearer ${activeToken}`);
111
+ }
91
112
  /**
92
113
  * Check if the request carries a valid Bearer token.
93
114
  * Returns true if auth passes, false otherwise.
@@ -99,12 +120,34 @@ export function checkAuth(req, res) {
99
120
  if (req.method === 'GET' && url.pathname === '/api/health')
100
121
  return true;
101
122
  const authHeader = req.headers['authorization'] || '';
102
- const expected = `Bearer ${activeToken}`;
103
- if (authHeader === expected)
123
+ if (isValidToken(authHeader))
104
124
  return true;
105
125
  jsonReply(res, 401, { ok: false, error: 'Unauthorized: valid Bearer token required' });
106
126
  return false;
107
127
  }
128
+ /**
129
+ * Validate the Bearer token for a WebSocket upgrade request.
130
+ * The token may be presented via the `Authorization: Bearer <token>` header
131
+ * or a `Sec-WebSocket-Protocol: bearer, <token>` value (browsers cannot set
132
+ * Authorization on WS handshakes). Returns true only on a valid token.
133
+ */
134
+ function checkWsAuth(req) {
135
+ const authHeader = req.headers['authorization'] || '';
136
+ if (isValidToken(authHeader))
137
+ return true;
138
+ // Fallback: Sec-WebSocket-Protocol carries the bare token (no "Bearer " prefix).
139
+ const proto = req.headers['sec-websocket-protocol'];
140
+ if (proto) {
141
+ const tokens = (Array.isArray(proto) ? proto.join(',') : proto)
142
+ .split(',')
143
+ .map((t) => t.trim());
144
+ for (const t of tokens) {
145
+ if (t && isValidToken(`Bearer ${t}`))
146
+ return true;
147
+ }
148
+ }
149
+ return false;
150
+ }
108
151
  // Event broadcast to WebSocket clients
109
152
  export function broadcast(event) {
110
153
  const msg = JSON.stringify(event);
@@ -192,7 +235,18 @@ export function startApiServer(opts) {
192
235
  });
193
236
  if (enableWs) {
194
237
  server.on('upgrade', (req, socket, head) => {
195
- const client = acceptWebSocket(req, socket);
238
+ const sock = socket;
239
+ // Authenticate the upgrade before accepting the socket. Unauthenticated
240
+ // clients are rejected with 401 and never added to wsClients.
241
+ if (!checkWsAuth(req)) {
242
+ sock.write('HTTP/1.1 401 Unauthorized\r\n' +
243
+ 'Connection: close\r\n' +
244
+ 'Content-Length: 0\r\n' +
245
+ '\r\n');
246
+ sock.destroy();
247
+ return;
248
+ }
249
+ const client = acceptWebSocket(req, sock);
196
250
  if (client) {
197
251
  wsClients.push(client);
198
252
  client.send(JSON.stringify({ type: 'connected', data: { id: client.id } }));
@@ -225,6 +279,10 @@ export function startApiServer(opts) {
225
279
  }
226
280
  });
227
281
  }
282
+ // Harden against slowloris-style connection exhaustion.
283
+ server.requestTimeout = 30_000; // max time to receive the entire request
284
+ server.headersTimeout = 10_000; // max time to receive request headers
285
+ server.keepAliveTimeout = 5_000; // idle keep-alive socket timeout
228
286
  server.on('error', reject);
229
287
  server.listen(port, host, () => resolve({ port, host, token: activeToken }));
230
288
  });
@@ -252,4 +310,17 @@ export function stopApiServer() {
252
310
  export function isApiServerRunning() {
253
311
  return server !== null && server.listening;
254
312
  }
313
+ /**
314
+ * Timeout configuration applied to the active server, or null if not running.
315
+ * Exposed for diagnostics/tests.
316
+ */
317
+ export function getServerTimeouts() {
318
+ if (!server)
319
+ return null;
320
+ return {
321
+ requestTimeout: server.requestTimeout,
322
+ headersTimeout: server.headersTimeout,
323
+ keepAliveTimeout: server.keepAliveTimeout,
324
+ };
325
+ }
255
326
  //# sourceMappingURL=api-server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"api-server.js","sourceRoot":"","sources":["../src/api-server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-server.js","sourceRoot":"","sources":["../src/api-server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"auto-checkpoint.d.ts","sourceRoot":"","sources":["../src/auto-checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAuCH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAYrF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAkC3F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAShD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAEjG;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE/C"}
1
+ {"version":3,"file":"auto-checkpoint.d.ts","sourceRoot":"","sources":["../src/auto-checkpoint.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAyCH;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAYrF;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,GAAG,IAAI,CAwC3F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,IAAI,OAAO,CAoBhD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;CAAE,CAEjG;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAE/C"}
@@ -33,6 +33,8 @@ const DESTRUCTIVE_SHELL_PATTERNS = [
33
33
  // ============================================================================
34
34
  let enabled = true;
35
35
  let lastCheckpointHash = null;
36
+ /** Repo root the lastCheckpointHash belongs to — revert must target this, not live cwd. */
37
+ let lastCheckpointRoot = null;
36
38
  let checkpointCount = 0;
37
39
  // ============================================================================
38
40
  // Public API
@@ -61,14 +63,19 @@ export function createCheckpoint(tool, args) {
61
63
  if (!isGitRepo())
62
64
  return null;
63
65
  try {
66
+ // Capture the repo root once, at checkpoint time, and pin every git call for
67
+ // this checkpoint to it. process.cwd() may change before the matching revert.
68
+ const root = gitRepoRoot();
69
+ if (!root)
70
+ return null;
64
71
  // Check if there are any changes to commit
65
- const status = git('status', '--porcelain');
72
+ const status = git(root, 'status', '--porcelain');
66
73
  if (!status.trim())
67
74
  return null; // Nothing to checkpoint
68
75
  // Stage all tracked changes (don't add untracked files)
69
- git('add', '-u');
76
+ git(root, 'add', '-u');
70
77
  // Check if there's anything staged
71
- const staged = git('diff', '--cached', '--stat');
78
+ const staged = git(root, 'diff', '--cached', '--stat');
72
79
  if (!staged.trim())
73
80
  return null;
74
81
  // Create checkpoint commit
@@ -78,10 +85,11 @@ export function createCheckpoint(tool, args) {
78
85
  ? String(args.command || '').substring(0, 50)
79
86
  : tool;
80
87
  const message = `[auto-checkpoint] before ${tool}: ${argSummary}`;
81
- git('commit', '-m', message, '--no-gpg-sign');
88
+ git(root, 'commit', '-m', message, '--no-gpg-sign');
82
89
  // Get the commit hash
83
- const hash = git('rev-parse', '--short', 'HEAD').trim();
90
+ const hash = git(root, 'rev-parse', '--short', 'HEAD').trim();
84
91
  lastCheckpointHash = hash;
92
+ lastCheckpointRoot = root;
85
93
  checkpointCount++;
86
94
  return hash;
87
95
  }
@@ -94,10 +102,22 @@ export function createCheckpoint(tool, args) {
94
102
  * Revert to the last checkpoint.
95
103
  */
96
104
  export function revertToLastCheckpoint() {
97
- if (!lastCheckpointHash || !isGitRepo())
105
+ if (!lastCheckpointHash || !lastCheckpointRoot)
106
+ return false;
107
+ // Reset only the repo the checkpoint was created in. If that root has since
108
+ // moved or no longer resolves to the same repo, bail rather than risk a
109
+ // destructive cross-repo `git reset --hard` against the live cwd.
110
+ let currentRoot;
111
+ try {
112
+ currentRoot = gitRepoRoot(lastCheckpointRoot);
113
+ }
114
+ catch {
115
+ return false;
116
+ }
117
+ if (currentRoot !== lastCheckpointRoot)
98
118
  return false;
99
119
  try {
100
- git('reset', '--hard', lastCheckpointHash);
120
+ git(lastCheckpointRoot, 'reset', '--hard', lastCheckpointHash);
101
121
  return true;
102
122
  }
103
123
  catch {
@@ -119,22 +139,35 @@ export function setEnabled(value) {
119
139
  // ============================================================================
120
140
  // Helpers
121
141
  // ============================================================================
122
- let _isGitRepo = null;
123
- function isGitRepo() {
124
- if (_isGitRepo !== null)
125
- return _isGitRepo;
142
+ /**
143
+ * Whether the given directory (default: live cwd) is inside a git work tree.
144
+ * Not memoized: the answer depends on cwd, which changes over a session.
145
+ */
146
+ function isGitRepo(cwd = process.cwd()) {
126
147
  try {
127
- git('rev-parse', '--is-inside-work-tree');
128
- _isGitRepo = true;
148
+ git(cwd, 'rev-parse', '--is-inside-work-tree');
149
+ return true;
129
150
  }
130
151
  catch {
131
- _isGitRepo = false;
152
+ return false;
153
+ }
154
+ }
155
+ /**
156
+ * Resolve the absolute repo root for the given directory (default: live cwd).
157
+ * Returns null if not inside a git work tree.
158
+ */
159
+ function gitRepoRoot(cwd = process.cwd()) {
160
+ try {
161
+ const root = git(cwd, 'rev-parse', '--show-toplevel').trim();
162
+ return root || null;
163
+ }
164
+ catch {
165
+ return null;
132
166
  }
133
- return _isGitRepo;
134
167
  }
135
- function git(...args) {
168
+ function git(cwd, ...args) {
136
169
  return execFileSync('git', args, {
137
- cwd: process.cwd(),
170
+ cwd,
138
171
  encoding: 'utf-8',
139
172
  timeout: 5000,
140
173
  stdio: ['pipe', 'pipe', 'pipe'],
@@ -1 +1 @@
1
- {"version":3,"file":"auto-checkpoint.js","sourceRoot":"","sources":["../src/auto-checkpoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auto-checkpoint.js","sourceRoot":"","sources":["../src/auto-checkpoint.ts"],"names":[],"mappings":"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"}
@@ -17,6 +17,20 @@ export interface AutoCompressorConfig {
17
17
  export declare function configureAutoCompressor(opts: Partial<AutoCompressorConfig>): void;
18
18
  /** Get current config */
19
19
  export declare function getAutoCompressorConfig(): AutoCompressorConfig;
20
+ export interface AutoCompressorStatus {
21
+ triggerTokens: number;
22
+ targetTokens: number;
23
+ warningTokens: number;
24
+ blockingTokens: number;
25
+ percentUsed: number;
26
+ percentRemaining: number;
27
+ isAboveWarningThreshold: boolean;
28
+ isAboveTriggerThreshold: boolean;
29
+ isAtBlockingThreshold: boolean;
30
+ llmTemporarilyDisabled: boolean;
31
+ }
32
+ export declare function getAutoCompressorStatus(currentTokens: number, contextLimit: number): AutoCompressorStatus;
33
+ export declare function resetAutoCompressorState(): void;
20
34
  /**
21
35
  * Summarize messages using an LLM call.
22
36
  * Returns the summary text, or null if LLM call fails.