xibecode 1.0.2 → 1.0.6

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 (288) hide show
  1. package/dist/commands/chat.d.ts +0 -1
  2. package/dist/commands/chat.d.ts.map +1 -1
  3. package/dist/commands/chat.js +10 -7
  4. package/dist/commands/chat.js.map +1 -1
  5. package/dist/commands/config.d.ts.map +1 -1
  6. package/dist/commands/config.js +5 -3
  7. package/dist/commands/config.js.map +1 -1
  8. package/dist/commands/diagnostics.js +1 -1
  9. package/dist/commands/diagnostics.js.map +1 -1
  10. package/dist/commands/mcp.js +1 -1
  11. package/dist/commands/mcp.js.map +1 -1
  12. package/dist/commands/resume.js +1 -1
  13. package/dist/commands/resume.js.map +1 -1
  14. package/dist/commands/run-pr.d.ts.map +1 -1
  15. package/dist/commands/run-pr.js +13 -10
  16. package/dist/commands/run-pr.js.map +1 -1
  17. package/dist/commands/run.d.ts.map +1 -1
  18. package/dist/commands/run.js +17 -14
  19. package/dist/commands/run.js.map +1 -1
  20. package/dist/commands/skills.d.ts.map +1 -1
  21. package/dist/commands/skills.js +3 -2
  22. package/dist/commands/skills.js.map +1 -1
  23. package/dist/components/AssistantMarkdown.js +1 -1
  24. package/dist/components/AssistantMarkdown.js.map +1 -1
  25. package/dist/index.js +2 -39
  26. package/dist/index.js.map +1 -1
  27. package/dist/ui/claude-style-chat.d.ts.map +1 -1
  28. package/dist/ui/claude-style-chat.js +15 -11
  29. package/dist/ui/claude-style-chat.js.map +1 -1
  30. package/dist/utils/built-in-skills-dir.d.ts +7 -0
  31. package/dist/utils/built-in-skills-dir.d.ts.map +1 -0
  32. package/dist/utils/built-in-skills-dir.js +11 -0
  33. package/dist/utils/built-in-skills-dir.js.map +1 -0
  34. package/dist/utils/config.d.ts +2 -119
  35. package/dist/utils/config.d.ts.map +1 -1
  36. package/dist/utils/config.js +3 -88
  37. package/dist/utils/config.js.map +1 -1
  38. package/package.json +11 -26
  39. package/dist/commands/punycode.d.ts +0 -5
  40. package/dist/commands/punycode.d.ts.map +0 -1
  41. package/dist/commands/punycode.js +0 -48
  42. package/dist/commands/punycode.js.map +0 -1
  43. package/dist/commands/tui.d.ts +0 -9
  44. package/dist/commands/tui.d.ts.map +0 -1
  45. package/dist/commands/tui.js +0 -83
  46. package/dist/commands/tui.js.map +0 -1
  47. package/dist/core/agent-tool-policies.d.ts +0 -5
  48. package/dist/core/agent-tool-policies.d.ts.map +0 -1
  49. package/dist/core/agent-tool-policies.js +0 -18
  50. package/dist/core/agent-tool-policies.js.map +0 -1
  51. package/dist/core/agent.d.ts +0 -181
  52. package/dist/core/agent.d.ts.map +0 -1
  53. package/dist/core/agent.js +0 -1777
  54. package/dist/core/agent.js.map +0 -1
  55. package/dist/core/background-agent.d.ts +0 -23
  56. package/dist/core/background-agent.d.ts.map +0 -1
  57. package/dist/core/background-agent.js +0 -175
  58. package/dist/core/background-agent.js.map +0 -1
  59. package/dist/core/code-graph.d.ts +0 -18
  60. package/dist/core/code-graph.d.ts.map +0 -1
  61. package/dist/core/code-graph.js +0 -105
  62. package/dist/core/code-graph.js.map +0 -1
  63. package/dist/core/conflict-solver.d.ts +0 -26
  64. package/dist/core/conflict-solver.d.ts.map +0 -1
  65. package/dist/core/conflict-solver.js +0 -108
  66. package/dist/core/conflict-solver.js.map +0 -1
  67. package/dist/core/context-compactor.d.ts +0 -10
  68. package/dist/core/context-compactor.d.ts.map +0 -1
  69. package/dist/core/context-compactor.js +0 -158
  70. package/dist/core/context-compactor.js.map +0 -1
  71. package/dist/core/context-pruner.d.ts +0 -19
  72. package/dist/core/context-pruner.d.ts.map +0 -1
  73. package/dist/core/context-pruner.js +0 -103
  74. package/dist/core/context-pruner.js.map +0 -1
  75. package/dist/core/context.d.ts +0 -82
  76. package/dist/core/context.d.ts.map +0 -1
  77. package/dist/core/context.js +0 -273
  78. package/dist/core/context.js.map +0 -1
  79. package/dist/core/conversation-recovery.d.ts +0 -9
  80. package/dist/core/conversation-recovery.d.ts.map +0 -1
  81. package/dist/core/conversation-recovery.js +0 -15
  82. package/dist/core/conversation-recovery.js.map +0 -1
  83. package/dist/core/debug-workflow.d.ts +0 -9
  84. package/dist/core/debug-workflow.d.ts.map +0 -1
  85. package/dist/core/debug-workflow.js +0 -19
  86. package/dist/core/debug-workflow.js.map +0 -1
  87. package/dist/core/docs-scraper.d.ts +0 -40
  88. package/dist/core/docs-scraper.d.ts.map +0 -1
  89. package/dist/core/docs-scraper.js +0 -386
  90. package/dist/core/docs-scraper.js.map +0 -1
  91. package/dist/core/editor.d.ts +0 -87
  92. package/dist/core/editor.d.ts.map +0 -1
  93. package/dist/core/editor.js +0 -377
  94. package/dist/core/editor.js.map +0 -1
  95. package/dist/core/export.d.ts +0 -11
  96. package/dist/core/export.d.ts.map +0 -1
  97. package/dist/core/export.js +0 -54
  98. package/dist/core/export.js.map +0 -1
  99. package/dist/core/history-manager.d.ts +0 -75
  100. package/dist/core/history-manager.d.ts.map +0 -1
  101. package/dist/core/history-manager.js +0 -146
  102. package/dist/core/history-manager.js.map +0 -1
  103. package/dist/core/marketplace-client.d.ts +0 -52
  104. package/dist/core/marketplace-client.d.ts.map +0 -1
  105. package/dist/core/marketplace-client.js +0 -71
  106. package/dist/core/marketplace-client.js.map +0 -1
  107. package/dist/core/mcp/mcp-config.d.ts +0 -10
  108. package/dist/core/mcp/mcp-config.d.ts.map +0 -1
  109. package/dist/core/mcp/mcp-config.js +0 -70
  110. package/dist/core/mcp/mcp-config.js.map +0 -1
  111. package/dist/core/mcp/mcp-policy.d.ts +0 -17
  112. package/dist/core/mcp/mcp-policy.d.ts.map +0 -1
  113. package/dist/core/mcp/mcp-policy.js +0 -56
  114. package/dist/core/mcp/mcp-policy.js.map +0 -1
  115. package/dist/core/mcp/oauth-flow.d.ts +0 -30
  116. package/dist/core/mcp/oauth-flow.d.ts.map +0 -1
  117. package/dist/core/mcp/oauth-flow.js +0 -230
  118. package/dist/core/mcp/oauth-flow.js.map +0 -1
  119. package/dist/core/mcp/oauth-store.d.ts +0 -13
  120. package/dist/core/mcp/oauth-store.d.ts.map +0 -1
  121. package/dist/core/mcp/oauth-store.js +0 -68
  122. package/dist/core/mcp/oauth-store.js.map +0 -1
  123. package/dist/core/mcp/resolve-mcp-servers.d.ts +0 -16
  124. package/dist/core/mcp/resolve-mcp-servers.d.ts.map +0 -1
  125. package/dist/core/mcp/resolve-mcp-servers.js +0 -83
  126. package/dist/core/mcp/resolve-mcp-servers.js.map +0 -1
  127. package/dist/core/mcp-client.d.ts +0 -99
  128. package/dist/core/mcp-client.d.ts.map +0 -1
  129. package/dist/core/mcp-client.js +0 -315
  130. package/dist/core/mcp-client.js.map +0 -1
  131. package/dist/core/memory-promotions.d.ts +0 -15
  132. package/dist/core/memory-promotions.d.ts.map +0 -1
  133. package/dist/core/memory-promotions.js +0 -38
  134. package/dist/core/memory-promotions.js.map +0 -1
  135. package/dist/core/memory.d.ts +0 -32
  136. package/dist/core/memory.d.ts.map +0 -1
  137. package/dist/core/memory.js +0 -121
  138. package/dist/core/memory.js.map +0 -1
  139. package/dist/core/modes.d.ts +0 -432
  140. package/dist/core/modes.d.ts.map +0 -1
  141. package/dist/core/modes.js +0 -1088
  142. package/dist/core/modes.js.map +0 -1
  143. package/dist/core/pattern-miner.d.ts +0 -43
  144. package/dist/core/pattern-miner.d.ts.map +0 -1
  145. package/dist/core/pattern-miner.js +0 -123
  146. package/dist/core/pattern-miner.js.map +0 -1
  147. package/dist/core/permission-store.d.ts +0 -15
  148. package/dist/core/permission-store.d.ts.map +0 -1
  149. package/dist/core/permission-store.js +0 -30
  150. package/dist/core/permission-store.js.map +0 -1
  151. package/dist/core/permissions.d.ts +0 -33
  152. package/dist/core/permissions.d.ts.map +0 -1
  153. package/dist/core/permissions.js +0 -141
  154. package/dist/core/permissions.js.map +0 -1
  155. package/dist/core/plan-artifacts.d.ts +0 -10
  156. package/dist/core/plan-artifacts.d.ts.map +0 -1
  157. package/dist/core/plan-artifacts.js +0 -60
  158. package/dist/core/plan-artifacts.js.map +0 -1
  159. package/dist/core/plan-session.d.ts +0 -25
  160. package/dist/core/plan-session.d.ts.map +0 -1
  161. package/dist/core/plan-session.js +0 -99
  162. package/dist/core/plan-session.js.map +0 -1
  163. package/dist/core/planMode.d.ts +0 -51
  164. package/dist/core/planMode.d.ts.map +0 -1
  165. package/dist/core/planMode.js +0 -245
  166. package/dist/core/planMode.js.map +0 -1
  167. package/dist/core/plugins.d.ts +0 -96
  168. package/dist/core/plugins.d.ts.map +0 -1
  169. package/dist/core/plugins.js +0 -202
  170. package/dist/core/plugins.js.map +0 -1
  171. package/dist/core/session-bridge.d.ts +0 -128
  172. package/dist/core/session-bridge.d.ts.map +0 -1
  173. package/dist/core/session-bridge.js +0 -328
  174. package/dist/core/session-bridge.js.map +0 -1
  175. package/dist/core/session-manager.d.ts +0 -80
  176. package/dist/core/session-manager.d.ts.map +0 -1
  177. package/dist/core/session-manager.js +0 -166
  178. package/dist/core/session-manager.js.map +0 -1
  179. package/dist/core/session-memory.d.ts +0 -45
  180. package/dist/core/session-memory.d.ts.map +0 -1
  181. package/dist/core/session-memory.js +0 -103
  182. package/dist/core/session-memory.js.map +0 -1
  183. package/dist/core/skill-selection.d.ts +0 -36
  184. package/dist/core/skill-selection.d.ts.map +0 -1
  185. package/dist/core/skill-selection.js +0 -172
  186. package/dist/core/skill-selection.js.map +0 -1
  187. package/dist/core/skills-sh-client.d.ts +0 -19
  188. package/dist/core/skills-sh-client.d.ts.map +0 -1
  189. package/dist/core/skills-sh-client.js +0 -75
  190. package/dist/core/skills-sh-client.js.map +0 -1
  191. package/dist/core/skills.d.ts +0 -97
  192. package/dist/core/skills.d.ts.map +0 -1
  193. package/dist/core/skills.js +0 -339
  194. package/dist/core/skills.js.map +0 -1
  195. package/dist/core/swarm.d.ts +0 -34
  196. package/dist/core/swarm.d.ts.map +0 -1
  197. package/dist/core/swarm.js +0 -111
  198. package/dist/core/swarm.js.map +0 -1
  199. package/dist/core/task-status.d.ts +0 -13
  200. package/dist/core/task-status.d.ts.map +0 -1
  201. package/dist/core/task-status.js +0 -17
  202. package/dist/core/task-status.js.map +0 -1
  203. package/dist/core/tool-orchestrator.d.ts +0 -30
  204. package/dist/core/tool-orchestrator.d.ts.map +0 -1
  205. package/dist/core/tool-orchestrator.js +0 -89
  206. package/dist/core/tool-orchestrator.js.map +0 -1
  207. package/dist/core/tools.d.ts +0 -462
  208. package/dist/core/tools.d.ts.map +0 -1
  209. package/dist/core/tools.js +0 -2916
  210. package/dist/core/tools.js.map +0 -1
  211. package/dist/core/transcript-cleanup.d.ts +0 -8
  212. package/dist/core/transcript-cleanup.d.ts.map +0 -1
  213. package/dist/core/transcript-cleanup.js +0 -52
  214. package/dist/core/transcript-cleanup.js.map +0 -1
  215. package/dist/core/visual-feedback.d.ts +0 -20
  216. package/dist/core/visual-feedback.d.ts.map +0 -1
  217. package/dist/core/visual-feedback.js +0 -117
  218. package/dist/core/visual-feedback.js.map +0 -1
  219. package/dist/tools/browser.d.ts +0 -120
  220. package/dist/tools/browser.d.ts.map +0 -1
  221. package/dist/tools/browser.js +0 -439
  222. package/dist/tools/browser.js.map +0 -1
  223. package/dist/tools/test-generator.d.ts +0 -157
  224. package/dist/tools/test-generator.d.ts.map +0 -1
  225. package/dist/tools/test-generator.js +0 -893
  226. package/dist/tools/test-generator.js.map +0 -1
  227. package/dist/tui/InkApp.d.ts +0 -21
  228. package/dist/tui/InkApp.d.ts.map +0 -1
  229. package/dist/tui/InkApp.js +0 -146
  230. package/dist/tui/InkApp.js.map +0 -1
  231. package/dist/tui/MarkdownMessage.d.ts +0 -16
  232. package/dist/tui/MarkdownMessage.d.ts.map +0 -1
  233. package/dist/tui/MarkdownMessage.js +0 -63
  234. package/dist/tui/MarkdownMessage.js.map +0 -1
  235. package/dist/tui/blessed-chat.d.ts +0 -9
  236. package/dist/tui/blessed-chat.d.ts.map +0 -1
  237. package/dist/tui/blessed-chat.js +0 -887
  238. package/dist/tui/blessed-chat.js.map +0 -1
  239. package/dist/tui/markdown-to-blessed.d.ts +0 -6
  240. package/dist/tui/markdown-to-blessed.d.ts.map +0 -1
  241. package/dist/tui/markdown-to-blessed.js +0 -26
  242. package/dist/tui/markdown-to-blessed.js.map +0 -1
  243. package/dist/ui/ink/App.d.ts +0 -25
  244. package/dist/ui/ink/App.d.ts.map +0 -1
  245. package/dist/ui/ink/App.js +0 -372
  246. package/dist/ui/ink/App.js.map +0 -1
  247. package/dist/utils/at-references.d.ts +0 -14
  248. package/dist/utils/at-references.d.ts.map +0 -1
  249. package/dist/utils/at-references.js +0 -47
  250. package/dist/utils/at-references.js.map +0 -1
  251. package/dist/utils/auto-memory.d.ts +0 -24
  252. package/dist/utils/auto-memory.d.ts.map +0 -1
  253. package/dist/utils/auto-memory.js +0 -153
  254. package/dist/utils/auto-memory.js.map +0 -1
  255. package/dist/utils/git.d.ts +0 -89
  256. package/dist/utils/git.d.ts.map +0 -1
  257. package/dist/utils/git.js +0 -444
  258. package/dist/utils/git.js.map +0 -1
  259. package/dist/utils/mcp-servers-file.d.ts +0 -46
  260. package/dist/utils/mcp-servers-file.d.ts.map +0 -1
  261. package/dist/utils/mcp-servers-file.js +0 -212
  262. package/dist/utils/mcp-servers-file.js.map +0 -1
  263. package/dist/utils/safety.d.ts +0 -60
  264. package/dist/utils/safety.d.ts.map +0 -1
  265. package/dist/utils/safety.js +0 -254
  266. package/dist/utils/safety.js.map +0 -1
  267. package/dist/utils/smithery.d.ts +0 -25
  268. package/dist/utils/smithery.d.ts.map +0 -1
  269. package/dist/utils/smithery.js +0 -50
  270. package/dist/utils/smithery.js.map +0 -1
  271. package/dist/utils/testRunner.d.ts +0 -44
  272. package/dist/utils/testRunner.d.ts.map +0 -1
  273. package/dist/utils/testRunner.js +0 -270
  274. package/dist/utils/testRunner.js.map +0 -1
  275. package/dist/webui/server.d.ts +0 -99
  276. package/dist/webui/server.d.ts.map +0 -1
  277. package/dist/webui/server.js +0 -2619
  278. package/dist/webui/server.js.map +0 -1
  279. package/webui-dist/assets/index-CSla6Lzy.css +0 -32
  280. package/webui-dist/assets/index-G_Z4gzPy.js +0 -457
  281. package/webui-dist/assets/index-G_Z4gzPy.js.map +0 -1
  282. package/webui-dist/assets/xterm-Da5jL1MD.js +0 -10
  283. package/webui-dist/assets/xterm-Da5jL1MD.js.map +0 -1
  284. package/webui-dist/assets/xterm-addon-fit-CMeqLIvm.js +0 -2
  285. package/webui-dist/assets/xterm-addon-fit-CMeqLIvm.js.map +0 -1
  286. package/webui-dist/assets/xterm-addon-web-links-D6m8jNVE.js +0 -2
  287. package/webui-dist/assets/xterm-addon-web-links-D6m8jNVE.js.map +0 -1
  288. package/webui-dist/index.html +0 -15
@@ -1,111 +0,0 @@
1
- import { getWorkerBlockedTools } from './agent-tool-policies.js';
2
- /** Default cap on concurrent background agent processes (overridable via `run_swarm` max_parallel). */
3
- export const DEFAULT_SWARM_MAX_PARALLEL = 6;
4
- async function runWithConcurrency(items, maxConcurrent, fn) {
5
- if (items.length === 0)
6
- return [];
7
- const limit = Math.max(1, Math.floor(maxConcurrent));
8
- const results = new Array(items.length);
9
- let nextIndex = 0;
10
- async function worker() {
11
- while (true) {
12
- const i = nextIndex++;
13
- if (i >= items.length)
14
- return;
15
- results[i] = await fn(items[i], i);
16
- }
17
- }
18
- const poolSize = Math.min(limit, items.length);
19
- await Promise.all(Array.from({ length: poolSize }, () => worker()));
20
- return results;
21
- }
22
- export class SwarmOrchestrator {
23
- backgroundAgent;
24
- constructor(backgroundAgent) {
25
- this.backgroundAgent = backgroundAgent;
26
- }
27
- /**
28
- * Delegates a task to a specialized agent mode.
29
- * Starts a background agent with specific mode instructions and waits for completion.
30
- */
31
- async delegateSubtask(mode, task, timeoutMs = 60000 * 5 // 5 minutes default timeout
32
- ) {
33
- // Construct the prompt to force mode switch and structured completion
34
- const prompt = `[[REQUEST_MODE: ${mode} | reason=Delegated Swarm Task]]
35
-
36
- TASK DESCRIPTION:
37
- ${task}
38
-
39
- IMPORTANT INSTRUCTIONS:
40
- 1. You are a specialized worker in '${mode}' mode.
41
- 2. Focus ONLY on this task.
42
- 3. When finished, you MUST output the following tag:
43
- [[TASK_COMPLETE | summary=Task finished successfully]]
44
- 4. Never call restricted coordinator tools: ${getWorkerBlockedTools().join(', ')}.
45
- `;
46
- try {
47
- const taskId = await this.backgroundAgent.startTask(prompt);
48
- return this.pollTask(taskId, timeoutMs);
49
- }
50
- catch (error) {
51
- return {
52
- success: false,
53
- result: `Failed to start subtask: ${error.message}`,
54
- taskId: '',
55
- status: 'failed'
56
- };
57
- }
58
- }
59
- async pollTask(taskId, timeoutMs) {
60
- const startTime = Date.now();
61
- const pollInterval = 2000; // 2 seconds
62
- while (Date.now() - startTime < timeoutMs) {
63
- const task = await this.backgroundAgent.getTask(taskId);
64
- if (!task) {
65
- // Task might be initializing or file lock issue?
66
- await new Promise(resolve => setTimeout(resolve, pollInterval));
67
- continue;
68
- }
69
- // Check provided status
70
- if (task.status === 'completed' || task.status === 'failed' || task.status === 'killed') {
71
- const logs = await this.backgroundAgent.getTaskLogs(taskId);
72
- return {
73
- success: task.status === 'completed',
74
- result: logs,
75
- taskId,
76
- status: task.status
77
- };
78
- }
79
- // Also check logs for [[TASK_COMPLETE]] even if process is still running
80
- // BackgroundAgent implementation relies on process exit for 'completed' status usually.
81
- // But if the agent keeps running (e.g. infinite loop), we might want to catch the completion tag.
82
- // However, BackgroundAgent logic only updates status when process exits or is killed.
83
- // Let's rely on status for now, assuming the sub-agent exits after notify_user?
84
- // Wait, notify_user exits task mode, but not the process if run with `xibecode run`.
85
- // `xibecode run` keeps running until input exhausted or explicit exit?
86
- // Actually `xibecode run` is interactive REPL usually.
87
- // If run non-interactively with prompt, it runs once and exits?
88
- // Let's assume it exits.
89
- await new Promise(resolve => setTimeout(resolve, pollInterval));
90
- }
91
- return {
92
- success: false,
93
- result: 'Task timed out waiting for completion.',
94
- taskId,
95
- status: 'timeout'
96
- };
97
- }
98
- /**
99
- * Run multiple delegated subtasks with bounded concurrency (parallel when there are multiple workers).
100
- * Each subtask is an isolated background `xibecode run` process; overlapping writes to the same files can conflict.
101
- */
102
- async delegateSubtasksParallel(subtasks, options) {
103
- const timeoutMs = options?.timeoutMs ?? 60000 * 5;
104
- const maxConcurrent = options?.maxConcurrent ?? DEFAULT_SWARM_MAX_PARALLEL;
105
- return runWithConcurrency(subtasks, maxConcurrent, async (s) => {
106
- const r = await this.delegateSubtask(s.mode, s.task, timeoutMs);
107
- return { ...r, worker_type: s.mode };
108
- });
109
- }
110
- }
111
- //# sourceMappingURL=swarm.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"swarm.js","sourceRoot":"","sources":["../../src/core/swarm.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- export type TaskLifecycleStatus = 'queued' | 'running' | 'completed' | 'failed' | 'killed';
2
- export interface TaskStatusSnapshot {
3
- id: string;
4
- label: string;
5
- status: TaskLifecycleStatus;
6
- updatedAt: string;
7
- }
8
- export declare class TaskStatusStore {
9
- private readonly statuses;
10
- upsert(id: string, label: string, status: TaskLifecycleStatus): TaskStatusSnapshot;
11
- list(): TaskStatusSnapshot[];
12
- }
13
- //# sourceMappingURL=task-status.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-status.d.ts","sourceRoot":"","sources":["../../src/core/task-status.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,QAAQ,GAAG,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE3F,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,mBAAmB,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAyC;IAElE,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,mBAAmB,GAAG,kBAAkB;IAWlF,IAAI,IAAI,kBAAkB,EAAE;CAK7B"}
@@ -1,17 +0,0 @@
1
- export class TaskStatusStore {
2
- statuses = new Map();
3
- upsert(id, label, status) {
4
- const snapshot = {
5
- id,
6
- label,
7
- status,
8
- updatedAt: new Date().toISOString(),
9
- };
10
- this.statuses.set(id, snapshot);
11
- return snapshot;
12
- }
13
- list() {
14
- return Array.from(this.statuses.values()).sort((a, b) => Date.parse(b.updatedAt) - Date.parse(a.updatedAt));
15
- }
16
- }
17
- //# sourceMappingURL=task-status.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"task-status.js","sourceRoot":"","sources":["../../src/core/task-status.ts"],"names":[],"mappings":"AASA,MAAM,OAAO,eAAe;IACT,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;IAElE,MAAM,CAAC,EAAU,EAAE,KAAa,EAAE,MAA2B;QAC3D,MAAM,QAAQ,GAAuB;YACnC,EAAE;YACF,KAAK;YACL,MAAM;YACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC;QACF,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChC,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,IAAI;QACF,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAC5C,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAC5D,CAAC;IACJ,CAAC;CACF"}
@@ -1,30 +0,0 @@
1
- import type { ToolUseBlock } from '@anthropic-ai/sdk/resources/messages';
2
- export interface ToolExecutionUpdate {
3
- toolUse: ToolUseBlock;
4
- index: number;
5
- result: any;
6
- success: boolean;
7
- }
8
- export type ToolExecutorCallback = (toolUse: ToolUseBlock, index: number) => Promise<ToolExecutionUpdate>;
9
- type ToolBatch = {
10
- isConcurrent: boolean;
11
- blocks: Array<{
12
- toolUse: ToolUseBlock;
13
- index: number;
14
- }>;
15
- };
16
- export declare class ToolOrchestrator {
17
- private readonly localConcurrency;
18
- private readonly networkConcurrency;
19
- constructor(options?: {
20
- localConcurrency?: number;
21
- networkConcurrency?: number;
22
- });
23
- partition(toolUseBlocks: ToolUseBlock[]): ToolBatch[];
24
- executeBatches(toolUseBlocks: ToolUseBlock[], executeTool: ToolExecutorCallback): Promise<ToolExecutionUpdate[]>;
25
- private isConcurrencySafe;
26
- private isNetworkTool;
27
- private executeLimited;
28
- }
29
- export {};
30
- //# sourceMappingURL=tool-orchestrator.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-orchestrator.d.ts","sourceRoot":"","sources":["../../src/core/tool-orchestrator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAEzE,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,YAAY,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAuB1G,KAAK,SAAS,GAAG;IACf,YAAY,EAAE,OAAO,CAAC;IACtB,MAAM,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACzD,CAAC;AAEF,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAS;gBAEhC,OAAO,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAAC,kBAAkB,CAAC,EAAE,MAAM,CAAA;KAAE;IAKhF,SAAS,CAAC,aAAa,EAAE,YAAY,EAAE,GAAG,SAAS,EAAE;IAkB/C,cAAc,CAClB,aAAa,EAAE,YAAY,EAAE,EAC7B,WAAW,EAAE,oBAAoB,GAChC,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAwBjC,OAAO,CAAC,iBAAiB;IAIzB,OAAO,CAAC,aAAa;YAIP,cAAc;CAmB7B"}
@@ -1,89 +0,0 @@
1
- const CONCURRENCY_SAFE_TOOLS = new Set([
2
- 'read_file',
3
- 'read_multiple_files',
4
- 'list_directory',
5
- 'search_files',
6
- 'get_context',
7
- 'get_git_status',
8
- 'get_git_changed_files',
9
- 'get_git_diff_summary',
10
- 'fetch_url',
11
- 'web_search',
12
- 'get_test_status',
13
- 'find_files',
14
- 'grep_code',
15
- ]);
16
- const NETWORK_TOOLS = new Set([
17
- 'fetch_url',
18
- 'web_search',
19
- ]);
20
- export class ToolOrchestrator {
21
- localConcurrency;
22
- networkConcurrency;
23
- constructor(options) {
24
- this.localConcurrency = Math.max(1, options?.localConcurrency ?? 8);
25
- this.networkConcurrency = Math.max(1, options?.networkConcurrency ?? 4);
26
- }
27
- partition(toolUseBlocks) {
28
- const batches = [];
29
- for (let index = 0; index < toolUseBlocks.length; index += 1) {
30
- const toolUse = toolUseBlocks[index];
31
- const isConcurrent = this.isConcurrencySafe(toolUse.name);
32
- const lastBatch = batches[batches.length - 1];
33
- if (isConcurrent && lastBatch?.isConcurrent) {
34
- lastBatch.blocks.push({ toolUse, index });
35
- }
36
- else {
37
- batches.push({
38
- isConcurrent,
39
- blocks: [{ toolUse, index }],
40
- });
41
- }
42
- }
43
- return batches;
44
- }
45
- async executeBatches(toolUseBlocks, executeTool) {
46
- const updates = [];
47
- const batches = this.partition(toolUseBlocks);
48
- for (const batch of batches) {
49
- if (batch.isConcurrent) {
50
- const networkBlocks = batch.blocks.filter(({ toolUse }) => this.isNetworkTool(toolUse.name));
51
- const localBlocks = batch.blocks.filter(({ toolUse }) => !this.isNetworkTool(toolUse.name));
52
- const [localUpdates, networkUpdates] = await Promise.all([
53
- this.executeLimited(localBlocks, this.localConcurrency, executeTool),
54
- this.executeLimited(networkBlocks, this.networkConcurrency, executeTool),
55
- ]);
56
- const batchUpdates = [...localUpdates, ...networkUpdates];
57
- updates.push(...batchUpdates);
58
- }
59
- else {
60
- for (const { toolUse, index } of batch.blocks) {
61
- updates.push(await executeTool(toolUse, index));
62
- }
63
- }
64
- }
65
- updates.sort((a, b) => a.index - b.index);
66
- return updates;
67
- }
68
- isConcurrencySafe(toolName) {
69
- return CONCURRENCY_SAFE_TOOLS.has(toolName);
70
- }
71
- isNetworkTool(toolName) {
72
- return NETWORK_TOOLS.has(toolName) || toolName.includes('fetch_url') || toolName.includes('web_search');
73
- }
74
- async executeLimited(blocks, limit, executeTool) {
75
- const updates = [];
76
- let nextIndex = 0;
77
- const workers = Array.from({ length: Math.min(limit, blocks.length) }, async () => {
78
- while (nextIndex < blocks.length) {
79
- const block = blocks[nextIndex++];
80
- if (!block)
81
- continue;
82
- updates.push(await executeTool(block.toolUse, block.index));
83
- }
84
- });
85
- await Promise.all(workers);
86
- return updates;
87
- }
88
- }
89
- //# sourceMappingURL=tool-orchestrator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tool-orchestrator.js","sourceRoot":"","sources":["../../src/core/tool-orchestrator.ts"],"names":[],"mappings":"AAWA,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IACrC,WAAW;IACX,qBAAqB;IACrB,gBAAgB;IAChB,cAAc;IACd,aAAa;IACb,gBAAgB;IAChB,uBAAuB;IACvB,sBAAsB;IACtB,WAAW;IACX,YAAY;IACZ,iBAAiB;IACjB,YAAY;IACZ,WAAW;CACZ,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,WAAW;IACX,YAAY;CACb,CAAC,CAAC;AAOH,MAAM,OAAO,gBAAgB;IACV,gBAAgB,CAAS;IACzB,kBAAkB,CAAS;IAE5C,YAAY,OAAoE;QAC9E,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,IAAI,CAAC,CAAC,CAAC;QACpE,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,OAAO,EAAE,kBAAkB,IAAI,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED,SAAS,CAAC,aAA6B;QACrC,MAAM,OAAO,GAAgB,EAAE,CAAC;QAChC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,aAAa,CAAC,MAAM,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,aAAa,CAAC,KAAK,CAAE,CAAC;YACtC,MAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC1D,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YAC9C,IAAI,YAAY,IAAI,SAAS,EAAE,YAAY,EAAE,CAAC;gBAC5C,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;YAC5C,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC;oBACX,YAAY;oBACZ,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;iBAC7B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QACD,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,aAA6B,EAC7B,WAAiC;QAEjC,MAAM,OAAO,GAA0B,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC;QAC9C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,IAAI,KAAK,CAAC,YAAY,EAAE,CAAC;gBACvB,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC7F,MAAM,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC5F,MAAM,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;oBACvD,IAAI,CAAC,cAAc,CAAC,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,WAAW,CAAC;oBACpE,IAAI,CAAC,cAAc,CAAC,aAAa,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,CAAC;iBACzE,CAAC,CAAC;gBACH,MAAM,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,cAAc,CAAC,CAAC;gBAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,YAAY,CAAC,CAAC;YAChC,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBAC9C,OAAO,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC;QAC1C,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,iBAAiB,CAAC,QAAgB;QACxC,OAAO,sBAAsB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC9C,CAAC;IAEO,aAAa,CAAC,QAAgB;QACpC,OAAO,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC1G,CAAC;IAEO,KAAK,CAAC,cAAc,CAC1B,MAAuD,EACvD,KAAa,EACb,WAAiC;QAEjC,MAAM,OAAO,GAA0B,EAAE,CAAC;QAC1C,IAAI,SAAS,GAAG,CAAC,CAAC;QAElB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,IAAI,EAAE;YAChF,OAAO,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;gBAClC,IAAI,CAAC,KAAK;oBAAE,SAAS;gBACrB,OAAO,CAAC,IAAI,CAAC,MAAM,WAAW,CAAC,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;YAC9D,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QAC3B,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}