@machina.ai/cell-cli-core 1.0.21-rc3 → 1.2.2-rc1

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 (479) hide show
  1. package/dist/index.d.ts +3 -1
  2. package/dist/index.js +3 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/package.json +24 -11
  5. package/dist/src/code_assist/codeAssist.d.ts +4 -3
  6. package/dist/src/code_assist/codeAssist.js.map +1 -1
  7. package/dist/src/code_assist/converter.d.ts +2 -1
  8. package/dist/src/code_assist/converter.js +36 -4
  9. package/dist/src/code_assist/converter.js.map +1 -1
  10. package/dist/src/code_assist/converter.test.js +83 -0
  11. package/dist/src/code_assist/converter.test.js.map +1 -1
  12. package/dist/src/code_assist/oauth2.d.ts +2 -1
  13. package/dist/src/code_assist/oauth2.js +29 -24
  14. package/dist/src/code_assist/oauth2.js.map +1 -1
  15. package/dist/src/code_assist/oauth2.test.js +65 -15
  16. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  17. package/dist/src/code_assist/server.d.ts +5 -5
  18. package/dist/src/code_assist/server.js +1 -1
  19. package/dist/src/code_assist/server.js.map +1 -1
  20. package/dist/src/code_assist/setup.d.ts +1 -1
  21. package/dist/src/code_assist/setup.js +1 -1
  22. package/dist/src/code_assist/setup.js.map +1 -1
  23. package/dist/src/code_assist/setup.test.js.map +1 -1
  24. package/dist/src/config/config.d.ts +53 -11
  25. package/dist/src/config/config.js +113 -29
  26. package/dist/src/config/config.js.map +1 -1
  27. package/dist/src/config/config.test.js +103 -5
  28. package/dist/src/config/config.test.js.map +1 -1
  29. package/dist/src/config/models.d.ts +1 -0
  30. package/dist/src/config/models.js +2 -0
  31. package/dist/src/config/models.js.map +1 -1
  32. package/dist/src/config/storage.d.ts +32 -0
  33. package/dist/src/config/storage.js +90 -0
  34. package/dist/src/config/storage.js.map +1 -0
  35. package/dist/src/config/storage.test.js +43 -0
  36. package/dist/src/config/storage.test.js.map +1 -0
  37. package/dist/src/core/client.d.ts +17 -9
  38. package/dist/src/core/client.js +76 -19
  39. package/dist/src/core/client.js.map +1 -1
  40. package/dist/src/core/client.test.js +366 -84
  41. package/dist/src/core/client.test.js.map +1 -1
  42. package/dist/src/core/contentGenerator.d.ts +6 -6
  43. package/dist/src/core/contentGenerator.js +14 -5
  44. package/dist/src/core/contentGenerator.js.map +1 -1
  45. package/dist/src/core/contentGenerator.test.js.map +1 -1
  46. package/dist/src/core/coreToolScheduler.d.ts +14 -5
  47. package/dist/src/core/coreToolScheduler.js +120 -49
  48. package/dist/src/core/coreToolScheduler.js.map +1 -1
  49. package/dist/src/core/coreToolScheduler.test.js +365 -72
  50. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  51. package/dist/src/core/geminiChat.d.ts +18 -14
  52. package/dist/src/core/geminiChat.js +223 -156
  53. package/dist/src/core/geminiChat.js.map +1 -1
  54. package/dist/src/core/geminiChat.test.js +862 -257
  55. package/dist/src/core/geminiChat.test.js.map +1 -1
  56. package/dist/src/core/geminiRequest.js +1 -0
  57. package/dist/src/core/geminiRequest.js.map +1 -1
  58. package/dist/src/core/logger.d.ts +4 -2
  59. package/dist/src/core/logger.js +4 -3
  60. package/dist/src/core/logger.js.map +1 -1
  61. package/dist/src/core/logger.test.js +19 -18
  62. package/dist/src/core/logger.test.js.map +1 -1
  63. package/dist/src/core/loggingContentGenerator.d.ts +3 -3
  64. package/dist/src/core/loggingContentGenerator.js +3 -1
  65. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  66. package/dist/src/core/nonInteractiveToolExecutor.d.ts +3 -5
  67. package/dist/src/core/nonInteractiveToolExecutor.js +15 -123
  68. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  69. package/dist/src/core/nonInteractiveToolExecutor.test.js +114 -90
  70. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  71. package/dist/src/core/prompts.js +8 -7
  72. package/dist/src/core/prompts.js.map +1 -1
  73. package/dist/src/core/prompts.test.js +21 -21
  74. package/dist/src/core/prompts.test.js.map +1 -1
  75. package/dist/src/core/subagent.d.ts +24 -18
  76. package/dist/src/core/subagent.js +125 -87
  77. package/dist/src/core/subagent.js.map +1 -1
  78. package/dist/src/core/subagent.test.js +31 -26
  79. package/dist/src/core/subagent.test.js.map +1 -1
  80. package/dist/src/core/turn.d.ts +24 -7
  81. package/dist/src/core/turn.js +41 -11
  82. package/dist/src/core/turn.js.map +1 -1
  83. package/dist/src/core/turn.test.js +157 -1
  84. package/dist/src/core/turn.test.js.map +1 -1
  85. package/dist/src/generated/git-commit.d.ts +2 -2
  86. package/dist/src/generated/git-commit.js +2 -2
  87. package/dist/src/generated/git-commit.js.map +1 -1
  88. package/dist/src/ide/constants.d.ts +1 -1
  89. package/dist/src/ide/constants.js +1 -1
  90. package/dist/src/ide/constants.js.map +1 -1
  91. package/dist/src/ide/detect-ide.d.ts +8 -3
  92. package/dist/src/ide/detect-ide.js +29 -11
  93. package/dist/src/ide/detect-ide.js.map +1 -1
  94. package/dist/src/ide/detect-ide.test.js +96 -52
  95. package/dist/src/ide/detect-ide.test.js.map +1 -1
  96. package/dist/src/ide/ide-client.d.ts +11 -7
  97. package/dist/src/ide/ide-client.js +127 -29
  98. package/dist/src/ide/ide-client.js.map +1 -1
  99. package/dist/src/ide/ide-client.test.js +147 -25
  100. package/dist/src/ide/ide-client.test.js.map +1 -1
  101. package/dist/src/ide/ide-installer.d.ts +1 -1
  102. package/dist/src/ide/ide-installer.js +31 -22
  103. package/dist/src/ide/ide-installer.js.map +1 -1
  104. package/dist/src/ide/ide-installer.test.js +82 -22
  105. package/dist/src/ide/ide-installer.test.js.map +1 -1
  106. package/dist/src/ide/process-utils.d.ts +14 -6
  107. package/dist/src/ide/process-utils.js +136 -34
  108. package/dist/src/ide/process-utils.js.map +1 -1
  109. package/dist/src/ide/process-utils.test.js +158 -0
  110. package/dist/src/ide/process-utils.test.js.map +1 -0
  111. package/dist/src/index.d.ts +11 -2
  112. package/dist/src/index.js +10 -1
  113. package/dist/src/index.js.map +1 -1
  114. package/dist/src/mcp/google-auth-provider.d.ts +3 -3
  115. package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
  116. package/dist/src/mcp/oauth-provider.d.ts +2 -2
  117. package/dist/src/mcp/oauth-provider.js.map +1 -1
  118. package/dist/src/mcp/oauth-provider.test.js +1 -1
  119. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  120. package/dist/src/mcp/oauth-token-storage.d.ts +5 -27
  121. package/dist/src/mcp/oauth-token-storage.js +2 -5
  122. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  123. package/dist/src/mcp/oauth-token-storage.test.js +7 -6
  124. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  125. package/dist/src/mcp/oauth-utils.d.ts +9 -1
  126. package/dist/src/mcp/oauth-utils.js +41 -27
  127. package/dist/src/mcp/oauth-utils.js.map +1 -1
  128. package/dist/src/mcp/oauth-utils.test.js +41 -1
  129. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  130. package/dist/src/mcp/token-storage/base-token-storage.d.ts +19 -0
  131. package/dist/src/mcp/token-storage/base-token-storage.js +36 -0
  132. package/dist/src/mcp/token-storage/base-token-storage.js.map +1 -0
  133. package/dist/src/mcp/token-storage/base-token-storage.test.d.ts +6 -0
  134. package/dist/src/mcp/token-storage/base-token-storage.test.js +160 -0
  135. package/dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -0
  136. package/dist/src/mcp/token-storage/file-token-storage.d.ts +24 -0
  137. package/dist/src/mcp/token-storage/file-token-storage.js +144 -0
  138. package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -0
  139. package/dist/src/mcp/token-storage/file-token-storage.test.d.ts +6 -0
  140. package/dist/src/mcp/token-storage/file-token-storage.test.js +235 -0
  141. package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -0
  142. package/dist/src/mcp/token-storage/types.d.ts +34 -0
  143. package/dist/src/mcp/token-storage/types.js +7 -0
  144. package/dist/src/mcp/token-storage/types.js.map +1 -0
  145. package/dist/src/prompts/mcp-prompts.d.ts +2 -2
  146. package/dist/src/prompts/prompt-registry.d.ts +1 -1
  147. package/dist/src/services/chatRecordingService.d.ts +2 -2
  148. package/dist/src/services/chatRecordingService.js +6 -3
  149. package/dist/src/services/chatRecordingService.js.map +1 -1
  150. package/dist/src/services/chatRecordingService.test.js +10 -8
  151. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  152. package/dist/src/services/fileDiscoveryService.js +1 -1
  153. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  154. package/dist/src/services/fileDiscoveryService.test.js +3 -3
  155. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  156. package/dist/src/services/fileSystemService.js +1 -1
  157. package/dist/src/services/fileSystemService.js.map +1 -1
  158. package/dist/src/services/fileSystemService.test.js +1 -1
  159. package/dist/src/services/fileSystemService.test.js.map +1 -1
  160. package/dist/src/services/gitService.d.ts +3 -1
  161. package/dist/src/services/gitService.js +21 -12
  162. package/dist/src/services/gitService.js.map +1 -1
  163. package/dist/src/services/gitService.test.js +22 -19
  164. package/dist/src/services/gitService.test.js.map +1 -1
  165. package/dist/src/services/loopDetectionService.d.ts +2 -2
  166. package/dist/src/services/loopDetectionService.js +9 -3
  167. package/dist/src/services/loopDetectionService.js.map +1 -1
  168. package/dist/src/services/loopDetectionService.test.js +23 -1
  169. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  170. package/dist/src/services/shellExecutionService.d.ts +8 -10
  171. package/dist/src/services/shellExecutionService.js +292 -135
  172. package/dist/src/services/shellExecutionService.js.map +1 -1
  173. package/dist/src/services/shellExecutionService.test.js +277 -42
  174. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  175. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +16 -4
  176. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +140 -9
  177. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  178. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +84 -11
  179. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  180. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +26 -1
  181. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +62 -0
  182. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  183. package/dist/src/telemetry/constants.d.ts +8 -0
  184. package/dist/src/telemetry/constants.js +8 -0
  185. package/dist/src/telemetry/constants.js.map +1 -1
  186. package/dist/src/telemetry/file-exporters.d.ts +5 -4
  187. package/dist/src/telemetry/file-exporters.js +1 -1
  188. package/dist/src/telemetry/file-exporters.js.map +1 -1
  189. package/dist/src/telemetry/index.d.ts +5 -2
  190. package/dist/src/telemetry/index.js +3 -2
  191. package/dist/src/telemetry/index.js.map +1 -1
  192. package/dist/src/telemetry/loggers.d.ts +8 -2
  193. package/dist/src/telemetry/loggers.js +105 -2
  194. package/dist/src/telemetry/loggers.js.map +1 -1
  195. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  196. package/dist/src/telemetry/loggers.test.js +69 -9
  197. package/dist/src/telemetry/loggers.test.js.map +1 -1
  198. package/dist/src/telemetry/metrics.d.ts +15 -4
  199. package/dist/src/telemetry/metrics.js +46 -8
  200. package/dist/src/telemetry/metrics.js.map +1 -1
  201. package/dist/src/telemetry/metrics.test.js +5 -25
  202. package/dist/src/telemetry/metrics.test.js.map +1 -1
  203. package/dist/src/telemetry/sdk.d.ts +1 -1
  204. package/dist/src/telemetry/sdk.js +3 -3
  205. package/dist/src/telemetry/sdk.js.map +1 -1
  206. package/dist/src/telemetry/telemetry-utils.d.ts +6 -0
  207. package/dist/src/telemetry/telemetry-utils.js +14 -0
  208. package/dist/src/telemetry/telemetry-utils.js.map +1 -0
  209. package/dist/src/telemetry/telemetry-utils.test.d.ts +6 -0
  210. package/dist/src/telemetry/telemetry-utils.test.js +40 -0
  211. package/dist/src/telemetry/telemetry-utils.test.js.map +1 -0
  212. package/dist/src/telemetry/types.d.ts +52 -6
  213. package/dist/src/telemetry/types.js +87 -2
  214. package/dist/src/telemetry/types.js.map +1 -1
  215. package/dist/src/telemetry/uiTelemetry.d.ts +2 -2
  216. package/dist/src/telemetry/uiTelemetry.js +1 -1
  217. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  218. package/dist/src/telemetry/uiTelemetry.test.js +16 -12
  219. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  220. package/dist/src/test-utils/config.d.ts +2 -1
  221. package/dist/src/test-utils/config.js.map +1 -1
  222. package/dist/src/test-utils/index.d.ts +6 -0
  223. package/dist/src/test-utils/index.js +7 -0
  224. package/dist/src/test-utils/index.js.map +1 -0
  225. package/dist/src/test-utils/mock-tool.d.ts +41 -0
  226. package/dist/src/test-utils/mock-tool.js +51 -0
  227. package/dist/src/test-utils/mock-tool.js.map +1 -0
  228. package/dist/src/test-utils/mockWorkspaceContext.d.ts +1 -1
  229. package/dist/src/test-utils/tools.d.ts +3 -2
  230. package/dist/src/test-utils/tools.js.map +1 -1
  231. package/dist/src/tools/diffOptions.d.ts +1 -1
  232. package/dist/src/tools/edit.d.ts +6 -5
  233. package/dist/src/tools/edit.js +36 -17
  234. package/dist/src/tools/edit.js.map +1 -1
  235. package/dist/src/tools/edit.test.js +45 -8
  236. package/dist/src/tools/edit.test.js.map +1 -1
  237. package/dist/src/tools/glob.d.ts +3 -2
  238. package/dist/src/tools/glob.js +17 -6
  239. package/dist/src/tools/glob.js.map +1 -1
  240. package/dist/src/tools/glob.test.js +29 -4
  241. package/dist/src/tools/glob.test.js.map +1 -1
  242. package/dist/src/tools/grep.d.ts +3 -2
  243. package/dist/src/tools/grep.js +35 -15
  244. package/dist/src/tools/grep.js.map +1 -1
  245. package/dist/src/tools/grep.test.js +26 -3
  246. package/dist/src/tools/grep.test.js.map +1 -1
  247. package/dist/src/tools/ls.d.ts +3 -2
  248. package/dist/src/tools/ls.js +12 -7
  249. package/dist/src/tools/ls.js.map +1 -1
  250. package/dist/src/tools/ls.test.js +7 -2
  251. package/dist/src/tools/ls.test.js.map +1 -1
  252. package/dist/src/tools/mcp-client-manager.d.ts +8 -6
  253. package/dist/src/tools/mcp-client-manager.js +30 -5
  254. package/dist/src/tools/mcp-client-manager.js.map +1 -1
  255. package/dist/src/tools/mcp-client-manager.test.js +20 -1
  256. package/dist/src/tools/mcp-client-manager.test.js.map +1 -1
  257. package/dist/src/tools/mcp-client.d.ts +18 -11
  258. package/dist/src/tools/mcp-client.js +78 -33
  259. package/dist/src/tools/mcp-client.js.map +1 -1
  260. package/dist/src/tools/mcp-client.test.js +29 -4
  261. package/dist/src/tools/mcp-client.test.js.map +1 -1
  262. package/dist/src/tools/mcp-tool.d.ts +6 -3
  263. package/dist/src/tools/mcp-tool.js +21 -7
  264. package/dist/src/tools/mcp-tool.js.map +1 -1
  265. package/dist/src/tools/mcp-tool.test.js +49 -6
  266. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  267. package/dist/src/tools/memoryTool.d.ts +4 -3
  268. package/dist/src/tools/memoryTool.js +15 -38
  269. package/dist/src/tools/memoryTool.js.map +1 -1
  270. package/dist/src/tools/memoryTool.test.js +24 -12
  271. package/dist/src/tools/memoryTool.test.js.map +1 -1
  272. package/dist/src/tools/modifiable-tool.d.ts +2 -2
  273. package/dist/src/tools/modifiable-tool.js +3 -3
  274. package/dist/src/tools/modifiable-tool.js.map +1 -1
  275. package/dist/src/tools/modifiable-tool.test.js +4 -4
  276. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  277. package/dist/src/tools/read-file.d.ts +3 -2
  278. package/dist/src/tools/read-file.js +12 -34
  279. package/dist/src/tools/read-file.js.map +1 -1
  280. package/dist/src/tools/read-file.test.js +9 -6
  281. package/dist/src/tools/read-file.test.js.map +1 -1
  282. package/dist/src/tools/read-many-files.d.ts +3 -2
  283. package/dist/src/tools/read-many-files.js +35 -58
  284. package/dist/src/tools/read-many-files.js.map +1 -1
  285. package/dist/src/tools/read-many-files.test.js +60 -7
  286. package/dist/src/tools/read-many-files.test.js.map +1 -1
  287. package/dist/src/tools/ripGrep.d.ts +47 -0
  288. package/dist/src/tools/ripGrep.js +368 -0
  289. package/dist/src/tools/ripGrep.js.map +1 -0
  290. package/dist/src/tools/ripGrep.test.d.ts +6 -0
  291. package/dist/src/tools/ripGrep.test.js +874 -0
  292. package/dist/src/tools/ripGrep.test.js.map +1 -0
  293. package/dist/src/tools/shell.d.ts +3 -2
  294. package/dist/src/tools/shell.js +26 -24
  295. package/dist/src/tools/shell.js.map +1 -1
  296. package/dist/src/tools/shell.test.js +33 -24
  297. package/dist/src/tools/shell.test.js.map +1 -1
  298. package/dist/src/tools/smart-edit.d.ts +73 -0
  299. package/dist/src/tools/smart-edit.js +607 -0
  300. package/dist/src/tools/smart-edit.js.map +1 -0
  301. package/dist/src/tools/smart-edit.test.d.ts +6 -0
  302. package/dist/src/tools/smart-edit.test.js +397 -0
  303. package/dist/src/tools/smart-edit.test.js.map +1 -0
  304. package/dist/src/tools/tool-error.d.ts +17 -1
  305. package/dist/src/tools/tool-error.js +26 -0
  306. package/dist/src/tools/tool-error.js.map +1 -1
  307. package/dist/src/tools/tool-registry.d.ts +10 -4
  308. package/dist/src/tools/tool-registry.js +19 -7
  309. package/dist/src/tools/tool-registry.js.map +1 -1
  310. package/dist/src/tools/tool-registry.test.js +86 -3
  311. package/dist/src/tools/tool-registry.test.js.map +1 -1
  312. package/dist/src/tools/tools.d.ts +9 -7
  313. package/dist/src/tools/tools.js +12 -0
  314. package/dist/src/tools/tools.js.map +1 -1
  315. package/dist/src/tools/tools.test.js +1 -2
  316. package/dist/src/tools/tools.test.js.map +1 -1
  317. package/dist/src/tools/web-fetch.d.ts +3 -2
  318. package/dist/src/tools/web-fetch.js +10 -7
  319. package/dist/src/tools/web-fetch.js.map +1 -1
  320. package/dist/src/tools/web-fetch.test.js +55 -16
  321. package/dist/src/tools/web-fetch.test.js.map +1 -1
  322. package/dist/src/tools/web-search.d.ts +4 -3
  323. package/dist/src/tools/web-search.js +28 -7
  324. package/dist/src/tools/web-search.js.map +1 -1
  325. package/dist/src/tools/web-search.test.js +69 -1
  326. package/dist/src/tools/web-search.test.js.map +1 -1
  327. package/dist/src/tools/write-file.d.ts +4 -3
  328. package/dist/src/tools/write-file.js +13 -13
  329. package/dist/src/tools/write-file.js.map +1 -1
  330. package/dist/src/tools/write-file.test.js +9 -5
  331. package/dist/src/tools/write-file.test.js.map +1 -1
  332. package/dist/src/utils/bfsFileSearch.d.ts +2 -2
  333. package/dist/src/utils/bfsFileSearch.js +2 -2
  334. package/dist/src/utils/bfsFileSearch.js.map +1 -1
  335. package/dist/src/utils/bfsFileSearch.test.js +3 -3
  336. package/dist/src/utils/bfsFileSearch.test.js.map +1 -1
  337. package/dist/src/utils/editCorrector.d.ts +2 -2
  338. package/dist/src/utils/editCorrector.js +1 -1
  339. package/dist/src/utils/editCorrector.js.map +1 -1
  340. package/dist/src/utils/editCorrector.test.js +3 -3
  341. package/dist/src/utils/editCorrector.test.js.map +1 -1
  342. package/dist/src/utils/editor.js +2 -2
  343. package/dist/src/utils/editor.js.map +1 -1
  344. package/dist/src/utils/editor.test.js +2 -2
  345. package/dist/src/utils/editor.test.js.map +1 -1
  346. package/dist/src/utils/environmentContext.d.ts +2 -2
  347. package/dist/src/utils/environmentContext.js +1 -1
  348. package/dist/src/utils/environmentContext.js.map +1 -1
  349. package/dist/src/utils/environmentContext.test.js +1 -1
  350. package/dist/src/utils/environmentContext.test.js.map +1 -1
  351. package/dist/src/utils/errorReporting.d.ts +1 -1
  352. package/dist/src/utils/errors.d.ts +19 -0
  353. package/dist/src/utils/errors.js +32 -0
  354. package/dist/src/utils/errors.js.map +1 -1
  355. package/dist/src/utils/fetch.js +1 -1
  356. package/dist/src/utils/fetch.js.map +1 -1
  357. package/dist/src/utils/fileUtils.d.ts +23 -12
  358. package/dist/src/utils/fileUtils.js +155 -75
  359. package/dist/src/utils/fileUtils.js.map +1 -1
  360. package/dist/src/utils/fileUtils.test.js +293 -1
  361. package/dist/src/utils/fileUtils.test.js.map +1 -1
  362. package/dist/src/utils/filesearch/crawler.d.ts +1 -1
  363. package/dist/src/utils/filesearch/crawler.test.js +2 -2
  364. package/dist/src/utils/filesearch/crawler.test.js.map +1 -1
  365. package/dist/src/utils/filesearch/fileSearch.d.ts +1 -0
  366. package/dist/src/utils/filesearch/fileSearch.js +14 -9
  367. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  368. package/dist/src/utils/filesearch/fileSearch.test.js +90 -0
  369. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  370. package/dist/src/utils/generateContentResponseUtilities.d.ts +1 -2
  371. package/dist/src/utils/generateContentResponseUtilities.js +1 -13
  372. package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
  373. package/dist/src/utils/generateContentResponseUtilities.test.js +2 -40
  374. package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
  375. package/dist/src/utils/getFolderStructure.d.ts +2 -2
  376. package/dist/src/utils/getFolderStructure.js +2 -2
  377. package/dist/src/utils/getFolderStructure.js.map +1 -1
  378. package/dist/src/utils/getFolderStructure.test.js +13 -13
  379. package/dist/src/utils/getFolderStructure.test.js.map +1 -1
  380. package/dist/src/utils/getPty.d.ts +19 -0
  381. package/dist/src/utils/getPty.js +23 -0
  382. package/dist/src/utils/getPty.js.map +1 -0
  383. package/dist/src/utils/gitIgnoreParser.js +3 -3
  384. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  385. package/dist/src/utils/gitIgnoreParser.test.js +3 -3
  386. package/dist/src/utils/gitIgnoreParser.test.js.map +1 -1
  387. package/dist/src/utils/gitUtils.js +2 -2
  388. package/dist/src/utils/gitUtils.js.map +1 -1
  389. package/dist/src/utils/ignorePatterns.d.ts +103 -0
  390. package/dist/src/utils/ignorePatterns.js +220 -0
  391. package/dist/src/utils/ignorePatterns.js.map +1 -0
  392. package/dist/src/utils/ignorePatterns.test.d.ts +6 -0
  393. package/dist/src/utils/ignorePatterns.test.js +250 -0
  394. package/dist/src/utils/ignorePatterns.test.js.map +1 -0
  395. package/dist/src/utils/installationManager.d.ts +16 -0
  396. package/dist/src/utils/installationManager.js +50 -0
  397. package/dist/src/utils/installationManager.js.map +1 -0
  398. package/dist/src/utils/installationManager.test.d.ts +6 -0
  399. package/dist/src/utils/installationManager.test.js +83 -0
  400. package/dist/src/utils/installationManager.test.js.map +1 -0
  401. package/dist/src/utils/language-detection.d.ts +6 -0
  402. package/dist/src/utils/language-detection.js +101 -0
  403. package/dist/src/utils/language-detection.js.map +1 -0
  404. package/dist/src/utils/llm-edit-fixer.d.ts +25 -0
  405. package/dist/src/utils/llm-edit-fixer.js +112 -0
  406. package/dist/src/utils/llm-edit-fixer.js.map +1 -0
  407. package/dist/src/utils/memoryDiscovery.d.ts +7 -6
  408. package/dist/src/utils/memoryDiscovery.js +68 -33
  409. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  410. package/dist/src/utils/memoryDiscovery.test.js +76 -20
  411. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  412. package/dist/src/utils/memoryImportProcessor.js +2 -2
  413. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  414. package/dist/src/utils/memoryImportProcessor.test.js +2 -141
  415. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
  416. package/dist/src/utils/messageInspectors.d.ts +1 -1
  417. package/dist/src/utils/nextSpeakerChecker.d.ts +2 -2
  418. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  419. package/dist/src/utils/partUtils.d.ts +22 -1
  420. package/dist/src/utils/partUtils.js +68 -0
  421. package/dist/src/utils/partUtils.js.map +1 -1
  422. package/dist/src/utils/partUtils.test.js +112 -1
  423. package/dist/src/utils/partUtils.test.js.map +1 -1
  424. package/dist/src/utils/pathReader.d.ts +17 -0
  425. package/dist/src/utils/pathReader.js +92 -0
  426. package/dist/src/utils/pathReader.js.map +1 -0
  427. package/dist/src/utils/pathReader.test.d.ts +6 -0
  428. package/dist/src/utils/pathReader.test.js +363 -0
  429. package/dist/src/utils/pathReader.test.js.map +1 -0
  430. package/dist/src/utils/paths.d.ts +1 -18
  431. package/dist/src/utils/paths.js +3 -29
  432. package/dist/src/utils/paths.js.map +1 -1
  433. package/dist/src/utils/quotaErrorDetection.d.ts +1 -1
  434. package/dist/src/utils/retry.test.js +4 -1
  435. package/dist/src/utils/retry.test.js.map +1 -1
  436. package/dist/src/utils/schemaValidator.js +4 -0
  437. package/dist/src/utils/schemaValidator.js.map +1 -1
  438. package/dist/src/utils/session.js +1 -1
  439. package/dist/src/utils/session.js.map +1 -1
  440. package/dist/src/utils/shell-utils.d.ts +1 -1
  441. package/dist/src/utils/shell-utils.js +23 -29
  442. package/dist/src/utils/shell-utils.js.map +1 -1
  443. package/dist/src/utils/shell-utils.test.js +8 -1
  444. package/dist/src/utils/shell-utils.test.js.map +1 -1
  445. package/dist/src/utils/summarizer.d.ts +2 -2
  446. package/dist/src/utils/summarizer.test.js.map +1 -1
  447. package/dist/src/utils/systemEncoding.js +2 -2
  448. package/dist/src/utils/systemEncoding.js.map +1 -1
  449. package/dist/src/utils/systemEncoding.test.js +2 -2
  450. package/dist/src/utils/systemEncoding.test.js.map +1 -1
  451. package/dist/src/utils/tool-utils.d.ts +19 -0
  452. package/dist/src/utils/tool-utils.js +58 -0
  453. package/dist/src/utils/tool-utils.js.map +1 -0
  454. package/dist/src/utils/tool-utils.test.d.ts +6 -0
  455. package/dist/src/utils/tool-utils.test.js +61 -0
  456. package/dist/src/utils/tool-utils.test.js.map +1 -0
  457. package/dist/src/utils/userAccountManager.d.ts +20 -0
  458. package/dist/src/utils/userAccountManager.js +114 -0
  459. package/dist/src/utils/userAccountManager.js.map +1 -0
  460. package/dist/src/utils/userAccountManager.test.d.ts +6 -0
  461. package/dist/src/utils/{user_account.test.js → userAccountManager.test.js} +33 -30
  462. package/dist/src/utils/userAccountManager.test.js.map +1 -0
  463. package/dist/src/utils/workspaceContext.js +13 -7
  464. package/dist/src/utils/workspaceContext.js.map +1 -1
  465. package/dist/src/utils/workspaceContext.test.js +41 -16
  466. package/dist/src/utils/workspaceContext.test.js.map +1 -1
  467. package/dist/tsconfig.tsbuildinfo +1 -1
  468. package/package.json +25 -12
  469. package/dist/src/utils/user_account.d.ts +0 -9
  470. package/dist/src/utils/user_account.js +0 -109
  471. package/dist/src/utils/user_account.js.map +0 -1
  472. package/dist/src/utils/user_account.test.js.map +0 -1
  473. package/dist/src/utils/user_id.d.ts +0 -11
  474. package/dist/src/utils/user_id.js +0 -49
  475. package/dist/src/utils/user_id.js.map +0 -1
  476. package/dist/src/utils/user_id.test.js +0 -21
  477. package/dist/src/utils/user_id.test.js.map +0 -1
  478. /package/dist/src/{utils/user_account.test.d.ts → config/storage.test.d.ts} +0 -0
  479. /package/dist/src/{utils/user_id.test.d.ts → ide/process-utils.test.d.ts} +0 -0
@@ -9,7 +9,7 @@ import { isGitRepository } from '../utils/gitUtils.js';
9
9
  import fs from 'node:fs';
10
10
  import os from 'node:os';
11
11
  import path from 'node:path';
12
- import { GEMINI_CONFIG_DIR } from '../tools/memoryTool.js';
12
+ import { CELL_CONFIG_DIR } from '../tools/memoryTool.js';
13
13
  // Mock tool names if they are dynamically generated or complex
14
14
  vi.mock('../tools/ls', () => ({ LSTool: { Name: 'list_directory' } }));
15
15
  vi.mock('../tools/edit', () => ({ EditTool: { Name: 'replace' } }));
@@ -32,7 +32,7 @@ vi.mock('node:fs');
32
32
  describe('Core System Prompt (prompts.ts)', () => {
33
33
  beforeEach(() => {
34
34
  vi.resetAllMocks();
35
- vi.stubEnv('GEMINI_SYSTEM_MD', undefined);
35
+ vi.stubEnv('CELL_SYSTEM_MD', undefined);
36
36
  vi.stubEnv('GEMINI_WRITE_SYSTEM_MD', undefined);
37
37
  });
38
38
  it('should return the base prompt when no userMemory is provided', () => {
@@ -103,58 +103,58 @@ describe('Core System Prompt (prompts.ts)', () => {
103
103
  expect(prompt).not.toContain('# Git Repository');
104
104
  expect(prompt).toMatchSnapshot();
105
105
  });
106
- describe('GEMINI_SYSTEM_MD environment variable', () => {
107
- it('should use default prompt when GEMINI_SYSTEM_MD is "false"', () => {
108
- vi.stubEnv('GEMINI_SYSTEM_MD', 'false');
106
+ describe('CELL_SYSTEM_MD environment variable', () => {
107
+ it('should use default prompt when CELL_SYSTEM_MD is "false"', () => {
108
+ vi.stubEnv('CELL_SYSTEM_MD', 'false');
109
109
  const prompt = getCoreSystemPrompt();
110
110
  expect(fs.readFileSync).not.toHaveBeenCalled();
111
111
  expect(prompt).not.toContain('custom system prompt');
112
112
  });
113
- it('should use default prompt when GEMINI_SYSTEM_MD is "0"', () => {
114
- vi.stubEnv('GEMINI_SYSTEM_MD', '0');
113
+ it('should use default prompt when CELL_SYSTEM_MD is "0"', () => {
114
+ vi.stubEnv('CELL_SYSTEM_MD', '0');
115
115
  const prompt = getCoreSystemPrompt();
116
116
  expect(fs.readFileSync).not.toHaveBeenCalled();
117
117
  expect(prompt).not.toContain('custom system prompt');
118
118
  });
119
- it('should throw error if GEMINI_SYSTEM_MD points to a non-existent file', () => {
119
+ it('should throw error if CELL_SYSTEM_MD points to a non-existent file', () => {
120
120
  const customPath = '/non/existent/path/system.md';
121
- vi.stubEnv('GEMINI_SYSTEM_MD', customPath);
121
+ vi.stubEnv('CELL_SYSTEM_MD', customPath);
122
122
  vi.mocked(fs.existsSync).mockReturnValue(false);
123
123
  expect(() => getCoreSystemPrompt()).toThrow(`missing system prompt file '${path.resolve(customPath)}'`);
124
124
  });
125
- it('should read from default path when GEMINI_SYSTEM_MD is "true"', () => {
126
- const defaultPath = path.resolve(path.join(GEMINI_CONFIG_DIR, 'system.md'));
127
- vi.stubEnv('GEMINI_SYSTEM_MD', 'true');
125
+ it('should read from default path when CELL_SYSTEM_MD is "true"', () => {
126
+ const defaultPath = path.resolve(path.join(CELL_CONFIG_DIR, 'system.md'));
127
+ vi.stubEnv('CELL_SYSTEM_MD', 'true');
128
128
  vi.mocked(fs.existsSync).mockReturnValue(true);
129
129
  vi.mocked(fs.readFileSync).mockReturnValue('custom system prompt');
130
130
  const prompt = getCoreSystemPrompt();
131
131
  expect(fs.readFileSync).toHaveBeenCalledWith(defaultPath, 'utf8');
132
132
  expect(prompt).toBe('custom system prompt');
133
133
  });
134
- it('should read from default path when GEMINI_SYSTEM_MD is "1"', () => {
135
- const defaultPath = path.resolve(path.join(GEMINI_CONFIG_DIR, 'system.md'));
136
- vi.stubEnv('GEMINI_SYSTEM_MD', '1');
134
+ it('should read from default path when CELL_SYSTEM_MD is "1"', () => {
135
+ const defaultPath = path.resolve(path.join(CELL_CONFIG_DIR, 'system.md'));
136
+ vi.stubEnv('CELL_SYSTEM_MD', '1');
137
137
  vi.mocked(fs.existsSync).mockReturnValue(true);
138
138
  vi.mocked(fs.readFileSync).mockReturnValue('custom system prompt');
139
139
  const prompt = getCoreSystemPrompt();
140
140
  expect(fs.readFileSync).toHaveBeenCalledWith(defaultPath, 'utf8');
141
141
  expect(prompt).toBe('custom system prompt');
142
142
  });
143
- it('should read from custom path when GEMINI_SYSTEM_MD provides one, preserving case', () => {
143
+ it('should read from custom path when CELL_SYSTEM_MD provides one, preserving case', () => {
144
144
  const customPath = path.resolve('/custom/path/SyStEm.Md');
145
- vi.stubEnv('GEMINI_SYSTEM_MD', customPath);
145
+ vi.stubEnv('CELL_SYSTEM_MD', customPath);
146
146
  vi.mocked(fs.existsSync).mockReturnValue(true);
147
147
  vi.mocked(fs.readFileSync).mockReturnValue('custom system prompt');
148
148
  const prompt = getCoreSystemPrompt();
149
149
  expect(fs.readFileSync).toHaveBeenCalledWith(customPath, 'utf8');
150
150
  expect(prompt).toBe('custom system prompt');
151
151
  });
152
- it('should expand tilde in custom path when GEMINI_SYSTEM_MD is set', () => {
152
+ it('should expand tilde in custom path when CELL_SYSTEM_MD is set', () => {
153
153
  const homeDir = '/Users/test';
154
154
  vi.spyOn(os, 'homedir').mockReturnValue(homeDir);
155
155
  const customPath = '~/custom/system.md';
156
156
  const expectedPath = path.join(homeDir, 'custom/system.md');
157
- vi.stubEnv('GEMINI_SYSTEM_MD', customPath);
157
+ vi.stubEnv('CELL_SYSTEM_MD', customPath);
158
158
  vi.mocked(fs.existsSync).mockReturnValue(true);
159
159
  vi.mocked(fs.readFileSync).mockReturnValue('custom system prompt');
160
160
  const prompt = getCoreSystemPrompt();
@@ -174,13 +174,13 @@ describe('Core System Prompt (prompts.ts)', () => {
174
174
  expect(fs.writeFileSync).not.toHaveBeenCalled();
175
175
  });
176
176
  it('should write to default path when GEMINI_WRITE_SYSTEM_MD is "true"', () => {
177
- const defaultPath = path.resolve(path.join(GEMINI_CONFIG_DIR, 'system.md'));
177
+ const defaultPath = path.resolve(path.join(CELL_CONFIG_DIR, 'system.md'));
178
178
  vi.stubEnv('GEMINI_WRITE_SYSTEM_MD', 'true');
179
179
  getCoreSystemPrompt();
180
180
  expect(fs.writeFileSync).toHaveBeenCalledWith(defaultPath, expect.any(String));
181
181
  });
182
182
  it('should write to default path when GEMINI_WRITE_SYSTEM_MD is "1"', () => {
183
- const defaultPath = path.resolve(path.join(GEMINI_CONFIG_DIR, 'system.md'));
183
+ const defaultPath = path.resolve(path.join(CELL_CONFIG_DIR, 'system.md'));
184
184
  vi.stubEnv('GEMINI_WRITE_SYSTEM_MD', '1');
185
185
  getCoreSystemPrompt();
186
186
  expect(fs.writeFileSync).toHaveBeenCalledWith(defaultPath, expect.any(String));
@@ -1 +1 @@
1
- {"version":3,"file":"prompts.test.js","sourceRoot":"","sources":["../../../src/core/prompts.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompts.test.js","sourceRoot":"","sources":["../../../src/core/prompts.test.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,9 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Config } from '../config/config.js';
7
- import { Content, FunctionDeclaration } from '@google/genai';
6
+ import type { AnyDeclarativeTool } from '../tools/tools.js';
7
+ import type { Config } from '../config/config.js';
8
+ import type { Content, FunctionDeclaration } from '@google/genai';
8
9
  /**
9
10
  * @fileoverview Defines the configuration interfaces for a subagent.
10
11
  *
@@ -70,10 +71,10 @@ export interface PromptConfig {
70
71
  */
71
72
  export interface ToolConfig {
72
73
  /**
73
- * A list of tool names (from the tool registry) or full function declarations
74
- * that the subagent is permitted to use.
74
+ * A list of tool names (from the tool registry), full function declarations,
75
+ * or BaseTool instances that the subagent is permitted to use.
75
76
  */
76
- tools: Array<string | FunctionDeclaration>;
77
+ tools: Array<string | FunctionDeclaration | AnyDeclarativeTool>;
77
78
  }
78
79
  /**
79
80
  * Configures the expected outputs for the subagent.
@@ -122,6 +123,11 @@ export interface RunConfig {
122
123
  */
123
124
  max_turns?: number;
124
125
  }
126
+ export interface SubAgentOptions {
127
+ toolConfig?: ToolConfig;
128
+ outputConfig?: OutputConfig;
129
+ onMessage?: (message: string) => void;
130
+ }
125
131
  /**
126
132
  * Manages the runtime context state for the subagent.
127
133
  * This class provides a mechanism to store and retrieve key-value pairs
@@ -162,10 +168,12 @@ export declare class SubAgentScope {
162
168
  private readonly promptConfig;
163
169
  private readonly modelConfig;
164
170
  private readonly runConfig;
165
- private readonly toolConfig?;
166
- private readonly outputConfig?;
167
171
  output: OutputObject;
168
172
  private readonly subagentId;
173
+ private readonly toolConfig?;
174
+ private readonly outputConfig?;
175
+ private readonly onMessage?;
176
+ private readonly toolRegistry;
169
177
  /**
170
178
  * Constructs a new SubAgentScope instance.
171
179
  * @param name - The name for the subagent, used for logging and identification.
@@ -173,25 +181,23 @@ export declare class SubAgentScope {
173
181
  * @param promptConfig - Configuration for the subagent's prompt and behavior.
174
182
  * @param modelConfig - Configuration for the generative model parameters.
175
183
  * @param runConfig - Configuration for the subagent's execution environment.
176
- * @param toolConfig - Optional configuration for tools available to the subagent.
177
- * @param outputConfig - Optional configuration for the subagent's expected outputs.
184
+ * @param options - Optional configurations for the subagent.
178
185
  */
179
186
  private constructor();
180
187
  /**
181
188
  * Creates and validates a new SubAgentScope instance.
182
189
  * This factory method ensures that all tools provided in the prompt configuration
183
190
  * are valid for non-interactive use before creating the subagent instance.
184
- * @param {string} name - The name of the subagent.
185
- * @param {Config} runtimeContext - The shared runtime configuration and services.
186
- * @param {PromptConfig} promptConfig - Configuration for the subagent's prompt and behavior.
187
- * @param {ModelConfig} modelConfig - Configuration for the generative model parameters.
188
- * @param {RunConfig} runConfig - Configuration for the subagent's execution environment.
189
- * @param {ToolConfig} [toolConfig] - Optional configuration for tools.
190
- * @param {OutputConfig} [outputConfig] - Optional configuration for expected outputs.
191
- * @returns {Promise<SubAgentScope>} A promise that resolves to a valid SubAgentScope instance.
191
+ * @param name - The name of the subagent.
192
+ * @param runtimeContext - The shared runtime configuration and services.
193
+ * @param promptConfig - Configuration for the subagent's prompt and behavior.
194
+ * @param modelConfig - Configuration for the generative model parameters.
195
+ * @param runConfig - Configuration for the subagent's execution environment.
196
+ * @param options - Optional configurations for the subagent.
197
+ * @returns A promise that resolves to a valid SubAgentScope instance.
192
198
  * @throws {Error} If any tool requires user confirmation.
193
199
  */
194
- static create(name: string, runtimeContext: Config, promptConfig: PromptConfig, modelConfig: ModelConfig, runConfig: RunConfig, toolConfig?: ToolConfig, outputConfig?: OutputConfig): Promise<SubAgentScope>;
200
+ static create(name: string, runtimeContext: Config, promptConfig: PromptConfig, modelConfig: ModelConfig, runConfig: RunConfig, options?: SubAgentOptions): Promise<SubAgentScope>;
195
201
  /**
196
202
  * Runs the subagent in a non-interactive mode.
197
203
  * This method orchestrates the subagent's execution loop, including prompt templating,
@@ -4,10 +4,11 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { reportError } from '../utils/errorReporting.js';
7
+ import { ToolRegistry } from '../tools/tool-registry.js';
7
8
  import { executeToolCall } from './nonInteractiveToolExecutor.js';
8
9
  import { createContentGenerator } from './contentGenerator.js';
9
10
  import { getEnvironmentContext } from '../utils/environmentContext.js';
10
- import { Type, } from '@google/genai';
11
+ import { Type } from '@google/genai';
11
12
  import { GeminiChat } from './geminiChat.js';
12
13
  /**
13
14
  * @fileoverview Defines the configuration interfaces for a subagent.
@@ -108,13 +109,15 @@ export class SubAgentScope {
108
109
  promptConfig;
109
110
  modelConfig;
110
111
  runConfig;
111
- toolConfig;
112
- outputConfig;
113
112
  output = {
114
113
  terminate_reason: SubagentTerminateMode.ERROR,
115
114
  emitted_vars: {},
116
115
  };
117
116
  subagentId;
117
+ toolConfig;
118
+ outputConfig;
119
+ onMessage;
120
+ toolRegistry;
118
121
  /**
119
122
  * Constructs a new SubAgentScope instance.
120
123
  * @param name - The name for the subagent, used for logging and identification.
@@ -122,66 +125,75 @@ export class SubAgentScope {
122
125
  * @param promptConfig - Configuration for the subagent's prompt and behavior.
123
126
  * @param modelConfig - Configuration for the generative model parameters.
124
127
  * @param runConfig - Configuration for the subagent's execution environment.
125
- * @param toolConfig - Optional configuration for tools available to the subagent.
126
- * @param outputConfig - Optional configuration for the subagent's expected outputs.
128
+ * @param options - Optional configurations for the subagent.
127
129
  */
128
- constructor(name, runtimeContext, promptConfig, modelConfig, runConfig, toolConfig, outputConfig) {
130
+ constructor(name, runtimeContext, promptConfig, modelConfig, runConfig, toolRegistry, options = {}) {
129
131
  this.name = name;
130
132
  this.runtimeContext = runtimeContext;
131
133
  this.promptConfig = promptConfig;
132
134
  this.modelConfig = modelConfig;
133
135
  this.runConfig = runConfig;
134
- this.toolConfig = toolConfig;
135
- this.outputConfig = outputConfig;
136
136
  const randomPart = Math.random().toString(36).slice(2, 8);
137
137
  this.subagentId = `${this.name}-${randomPart}`;
138
+ this.toolConfig = options.toolConfig;
139
+ this.outputConfig = options.outputConfig;
140
+ this.onMessage = options.onMessage;
141
+ this.toolRegistry = toolRegistry;
138
142
  }
139
143
  /**
140
144
  * Creates and validates a new SubAgentScope instance.
141
145
  * This factory method ensures that all tools provided in the prompt configuration
142
146
  * are valid for non-interactive use before creating the subagent instance.
143
- * @param {string} name - The name of the subagent.
144
- * @param {Config} runtimeContext - The shared runtime configuration and services.
145
- * @param {PromptConfig} promptConfig - Configuration for the subagent's prompt and behavior.
146
- * @param {ModelConfig} modelConfig - Configuration for the generative model parameters.
147
- * @param {RunConfig} runConfig - Configuration for the subagent's execution environment.
148
- * @param {ToolConfig} [toolConfig] - Optional configuration for tools.
149
- * @param {OutputConfig} [outputConfig] - Optional configuration for expected outputs.
150
- * @returns {Promise<SubAgentScope>} A promise that resolves to a valid SubAgentScope instance.
147
+ * @param name - The name of the subagent.
148
+ * @param runtimeContext - The shared runtime configuration and services.
149
+ * @param promptConfig - Configuration for the subagent's prompt and behavior.
150
+ * @param modelConfig - Configuration for the generative model parameters.
151
+ * @param runConfig - Configuration for the subagent's execution environment.
152
+ * @param options - Optional configurations for the subagent.
153
+ * @returns A promise that resolves to a valid SubAgentScope instance.
151
154
  * @throws {Error} If any tool requires user confirmation.
152
155
  */
153
- static async create(name, runtimeContext, promptConfig, modelConfig, runConfig, toolConfig, outputConfig) {
154
- if (toolConfig) {
155
- const toolRegistry = await runtimeContext.getToolRegistry();
156
- const toolsToLoad = [];
157
- for (const tool of toolConfig.tools) {
156
+ static async create(name, runtimeContext, promptConfig, modelConfig, runConfig, options = {}) {
157
+ const subagentToolRegistry = new ToolRegistry(runtimeContext);
158
+ if (options.toolConfig) {
159
+ for (const tool of options.toolConfig.tools) {
158
160
  if (typeof tool === 'string') {
159
- toolsToLoad.push(tool);
161
+ const toolFromRegistry = (await runtimeContext.getToolRegistry()).getTool(tool);
162
+ if (toolFromRegistry) {
163
+ subagentToolRegistry.registerTool(toolFromRegistry);
164
+ }
165
+ }
166
+ else if (typeof tool === 'object' &&
167
+ 'name' in tool &&
168
+ 'build' in tool) {
169
+ subagentToolRegistry.registerTool(tool);
170
+ }
171
+ else {
172
+ // This is a FunctionDeclaration, which we can't add to the registry.
173
+ // We'll rely on the validation below to catch any issues.
160
174
  }
161
175
  }
162
- for (const toolName of toolsToLoad) {
163
- const tool = toolRegistry.getTool(toolName);
164
- if (tool) {
165
- const requiredParams = tool.schema.parameters?.required ?? [];
166
- if (requiredParams.length > 0) {
167
- // This check is imperfect. A tool might require parameters but still
168
- // be interactive (e.g., `delete_file(path)`). However, we cannot
169
- // build a generic invocation without knowing what dummy parameters
170
- // to provide. Crashing here because `build({})` fails is worse
171
- // than allowing a potential hang later if an interactive tool is
172
- // used. This is a best-effort check.
173
- console.warn(`Cannot check tool "${toolName}" for interactivity because it requires parameters. Assuming it is safe for non-interactive use.`);
174
- continue;
175
- }
176
- const invocation = tool.build({});
177
- const confirmationDetails = await invocation.shouldConfirmExecute(new AbortController().signal);
178
- if (confirmationDetails) {
179
- throw new Error(`Tool "${toolName}" requires user confirmation and cannot be used in a non-interactive subagent.`);
180
- }
176
+ for (const tool of subagentToolRegistry.getAllTools()) {
177
+ const schema = tool.schema.parametersJsonSchema;
178
+ const requiredParams = schema?.required ?? [];
179
+ if (requiredParams.length > 0) {
180
+ // This check is imperfect. A tool might require parameters but still
181
+ // be interactive (e.g., `delete_file(path)`). However, we cannot
182
+ // build a generic invocation without knowing what dummy parameters
183
+ // to provide. Crashing here because `build({})` fails is worse
184
+ // than allowing a potential hang later if an interactive tool is
185
+ // used. This is a best-effort check.
186
+ console.warn(`Cannot check tool "${tool.name}" for interactivity because it requires parameters. Assuming it is safe for non-interactive use.`);
187
+ continue;
188
+ }
189
+ const invocation = tool.build({});
190
+ const confirmationDetails = await invocation.shouldConfirmExecute(new AbortController().signal);
191
+ if (confirmationDetails) {
192
+ throw new Error(`Tool "${tool.name}" requires user confirmation and cannot be used in a non-interactive subagent.`);
181
193
  }
182
194
  }
183
195
  }
184
- return new SubAgentScope(name, runtimeContext, promptConfig, modelConfig, runConfig, toolConfig, outputConfig);
196
+ return new SubAgentScope(name, runtimeContext, promptConfig, modelConfig, runConfig, subagentToolRegistry, options);
185
197
  }
186
198
  /**
187
199
  * Runs the subagent in a non-interactive mode.
@@ -191,37 +203,41 @@ export class SubAgentScope {
191
203
  * @returns {Promise<void>} A promise that resolves when the subagent has completed its execution.
192
204
  */
193
205
  async runNonInteractive(context) {
194
- const chat = await this.createChatObject(context);
195
- if (!chat) {
196
- this.output.terminate_reason = SubagentTerminateMode.ERROR;
197
- return;
198
- }
199
- const abortController = new AbortController();
200
- const toolRegistry = await this.runtimeContext.getToolRegistry();
201
- // Prepare the list of tools available to the subagent.
202
- const toolsList = [];
203
- if (this.toolConfig) {
204
- const toolsToLoad = [];
205
- for (const tool of this.toolConfig.tools) {
206
- if (typeof tool === 'string') {
207
- toolsToLoad.push(tool);
208
- }
209
- else {
210
- toolsList.push(tool);
211
- }
212
- }
213
- toolsList.push(...toolRegistry.getFunctionDeclarationsFiltered(toolsToLoad));
214
- }
215
- // Add local scope functions if outputs are expected.
216
- if (this.outputConfig && this.outputConfig.outputs) {
217
- toolsList.push(...this.getScopeLocalFuncDefs());
218
- }
219
- let currentMessages = [
220
- { role: 'user', parts: [{ text: 'Get Started!' }] },
221
- ];
222
206
  const startTime = Date.now();
223
207
  let turnCounter = 0;
224
208
  try {
209
+ const chat = await this.createChatObject(context);
210
+ if (!chat) {
211
+ this.output.terminate_reason = SubagentTerminateMode.ERROR;
212
+ return;
213
+ }
214
+ const abortController = new AbortController();
215
+ // Prepare the list of tools available to the subagent.
216
+ const toolsList = [];
217
+ if (this.toolConfig) {
218
+ const toolsToLoad = [];
219
+ for (const tool of this.toolConfig.tools) {
220
+ if (typeof tool === 'string') {
221
+ toolsToLoad.push(tool);
222
+ }
223
+ else if (typeof tool === 'object' && 'schema' in tool) {
224
+ // This is a tool instance with a schema property
225
+ toolsList.push(tool.schema);
226
+ }
227
+ else {
228
+ // This is a raw FunctionDeclaration
229
+ toolsList.push(tool);
230
+ }
231
+ }
232
+ toolsList.push(...this.toolRegistry.getFunctionDeclarationsFiltered(toolsToLoad));
233
+ }
234
+ // Add local scope functions if outputs are expected.
235
+ if (this.outputConfig && this.outputConfig.outputs) {
236
+ toolsList.push(...this.getScopeLocalFuncDefs());
237
+ }
238
+ let currentMessages = [
239
+ { role: 'user', parts: [{ text: 'Get Started!' }] },
240
+ ];
225
241
  while (true) {
226
242
  // Check termination conditions.
227
243
  if (this.runConfig.max_turns &&
@@ -244,11 +260,20 @@ export class SubAgentScope {
244
260
  };
245
261
  const responseStream = await chat.sendMessageStream(messageParams, promptId);
246
262
  const functionCalls = [];
263
+ let textResponse = '';
247
264
  for await (const resp of responseStream) {
248
265
  if (abortController.signal.aborted)
249
266
  return;
250
- if (resp.functionCalls)
267
+ if (resp.functionCalls) {
251
268
  functionCalls.push(...resp.functionCalls);
269
+ }
270
+ const text = resp.text;
271
+ if (text) {
272
+ textResponse += text;
273
+ }
274
+ }
275
+ if (this.onMessage && textResponse) {
276
+ this.onMessage(textResponse);
252
277
  }
253
278
  durationMin = (Date.now() - startTime) / (1000 * 60);
254
279
  if (durationMin >= this.runConfig.max_time_minutes) {
@@ -256,9 +281,19 @@ export class SubAgentScope {
256
281
  break;
257
282
  }
258
283
  if (functionCalls.length > 0) {
259
- currentMessages = await this.processFunctionCalls(functionCalls, toolRegistry, abortController, promptId);
284
+ currentMessages = await this.processFunctionCalls(functionCalls, abortController, promptId);
260
285
  }
261
- else {
286
+ // Check for goal completion after processing function calls,
287
+ // as `self.emitvalue` might have completed the requirements.
288
+ if (this.outputConfig &&
289
+ Object.keys(this.outputConfig.outputs).length > 0) {
290
+ const remainingVars = Object.keys(this.outputConfig.outputs).filter((key) => !(key in this.output.emitted_vars));
291
+ if (remainingVars.length === 0) {
292
+ this.output.terminate_reason = SubagentTerminateMode.GOAL;
293
+ break;
294
+ }
295
+ }
296
+ if (functionCalls.length === 0) {
262
297
  // Model stopped calling tools. Check if goal is met.
263
298
  if (!this.outputConfig ||
264
299
  Object.keys(this.outputConfig.outputs).length === 0) {
@@ -298,9 +333,22 @@ export class SubAgentScope {
298
333
  * @returns {Promise<Content[]>} A promise that resolves to an array of `Content` parts representing the tool responses,
299
334
  * which are then used to update the chat history.
300
335
  */
301
- async processFunctionCalls(functionCalls, toolRegistry, abortController, promptId) {
336
+ async processFunctionCalls(functionCalls, abortController, promptId) {
302
337
  const toolResponseParts = [];
303
338
  for (const functionCall of functionCalls) {
339
+ if (this.onMessage) {
340
+ const args = JSON.stringify(functionCall.args ?? {});
341
+ // Truncate arguments
342
+ const MAX_ARGS_LENGTH = 250;
343
+ const truncatedArgs = args.length > MAX_ARGS_LENGTH
344
+ ? `${args.substring(0, MAX_ARGS_LENGTH)}...`
345
+ : args;
346
+ this.onMessage(`
347
+
348
+ **Executing tool: ${functionCall.name} with args ${truncatedArgs}**
349
+
350
+ `);
351
+ }
304
352
  const callId = functionCall.id ?? `${functionCall.name}-${Date.now()}`;
305
353
  const requestInfo = {
306
354
  callId,
@@ -317,29 +365,19 @@ export class SubAgentScope {
317
365
  this.output.emitted_vars[valName] = valVal;
318
366
  toolResponse = {
319
367
  callId,
320
- responseParts: `Emitted variable ${valName} successfully`,
368
+ responseParts: [{ text: `Emitted variable ${valName} successfully` }],
321
369
  resultDisplay: `Emitted variable ${valName} successfully`,
322
370
  error: undefined,
323
371
  };
324
372
  }
325
373
  else {
326
- toolResponse = await executeToolCall(this.runtimeContext, requestInfo, toolRegistry, abortController.signal);
374
+ toolResponse = await executeToolCall(this.runtimeContext, requestInfo, abortController.signal);
327
375
  }
328
376
  if (toolResponse.error) {
329
377
  console.error(`Error executing tool ${functionCall.name}: ${toolResponse.resultDisplay || toolResponse.error.message}`);
330
378
  }
331
379
  if (toolResponse.responseParts) {
332
- const parts = Array.isArray(toolResponse.responseParts)
333
- ? toolResponse.responseParts
334
- : [toolResponse.responseParts];
335
- for (const part of parts) {
336
- if (typeof part === 'string') {
337
- toolResponseParts.push({ text: part });
338
- }
339
- else if (part) {
340
- toolResponseParts.push(part);
341
- }
342
- }
380
+ toolResponseParts.push(...toolResponse.responseParts);
343
381
  }
344
382
  }
345
383
  // If all tool calls failed, inform the model so it can re-evaluate.
@@ -1 +1 @@
1
- {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../../src/core/subagent.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIzD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,sBAAsB,EAAE,MAAM,uBAAuB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAML,IAAI,GACL,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C;;;;;GAKG;AAEH;;;GAGG;AACH,MAAM,CAAN,IAAY,qBAiBX;AAjBD,WAAY,qBAAqB;IAC/B;;OAEG;IACH,wCAAe,CAAA;IACf;;OAEG;IACH,4CAAmB,CAAA;IACnB;;OAEG;IACH,sCAAa,CAAA;IACb;;OAEG;IACH,gDAAuB,CAAA;AACzB,CAAC,EAjBW,qBAAqB,KAArB,qBAAqB,QAiBhC;AAkGD;;;;;GAKG;AACH,MAAM,OAAO,YAAY;IACf,KAAK,GAA4B,EAAE,CAAC;IAE5C;;;;;OAKG;IACH,GAAG,CAAC,GAAW;QACb,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;;;;OAKG;IACH,GAAG,CAAC,GAAW,EAAE,KAAc;QAC7B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED;;;;OAIG;IACH,QAAQ;QACN,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CACF;AAED;;;;;;;;;;GAUG;AACH,SAAS,cAAc,CAAC,QAAgB,EAAE,OAAqB;IAC7D,MAAM,gBAAgB,GAAG,cAAc,CAAC;IAExC,wDAAwD;IACxD,MAAM,YAAY,GAAG,IAAI,GAAG,CAC1B,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACrE,CAAC;IAEF,mDAAmD;IACnD,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAChD,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CACjD,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,CAC/B,CAAC;IAEF,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CACb,kDAAkD,WAAW,CAAC,IAAI,CAChE,IAAI,CACL,EAAE,CACJ,CAAC;IACJ,CAAC;IAED,qDAAqD;IACrD,OAAO,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE,CACxD,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CACzB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,MAAM,OAAO,aAAa;IAkBb;IACA;IACQ;IACA;IACA;IACA;IACA;IAvBnB,MAAM,GAAiB;QACrB,gBAAgB,EAAE,qBAAqB,CAAC,KAAK;QAC7C,YAAY,EAAE,EAAE;KACjB,CAAC;IACe,UAAU,CAAS;IAEpC;;;;;;;;;OASG;IACH,YACW,IAAY,EACZ,cAAsB,EACd,YAA0B,EAC1B,WAAwB,EACxB,SAAoB,EACpB,UAAuB,EACvB,YAA2B;QANnC,SAAI,GAAJ,IAAI,CAAQ;QACZ,mBAAc,GAAd,cAAc,CAAQ;QACd,iBAAY,GAAZ,YAAY,CAAc;QAC1B,gBAAW,GAAX,WAAW,CAAa;QACxB,cAAS,GAAT,SAAS,CAAW;QACpB,eAAU,GAAV,UAAU,CAAa;QACvB,iBAAY,GAAZ,YAAY,CAAe;QAE5C,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,UAAU,GAAG,GAAG,IAAI,CAAC,IAAI,IAAI,UAAU,EAAE,CAAC;IACjD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,MAAM,CAAC,KAAK,CAAC,MAAM,CACjB,IAAY,EACZ,cAAsB,EACtB,YAA0B,EAC1B,WAAwB,EACxB,SAAoB,EACpB,UAAuB,EACvB,YAA2B;QAE3B,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,YAAY,GAAiB,MAAM,cAAc,CAAC,eAAe,EAAE,CAAC;YAC1E,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,KAAK,EAAE,CAAC;gBACpC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;YACH,CAAC;YAED,KAAK,MAAM,QAAQ,IAAI,WAAW,EAAE,CAAC;gBACnC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;gBAC5C,IAAI,IAAI,EAAE,CAAC;oBACT,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,QAAQ,IAAI,EAAE,CAAC;oBAC9D,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBAC9B,qEAAqE;wBACrE,iEAAiE;wBACjE,mEAAmE;wBACnE,+DAA+D;wBAC/D,iEAAiE;wBACjE,qCAAqC;wBACrC,OAAO,CAAC,IAAI,CACV,sBAAsB,QAAQ,kGAAkG,CACjI,CAAC;wBACF,SAAS;oBACX,CAAC;oBAED,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAClC,MAAM,mBAAmB,GAAG,MAAM,UAAU,CAAC,oBAAoB,CAC/D,IAAI,eAAe,EAAE,CAAC,MAAM,CAC7B,CAAC;oBACF,IAAI,mBAAmB,EAAE,CAAC;wBACxB,MAAM,IAAI,KAAK,CACb,SAAS,QAAQ,gFAAgF,CAClG,CAAC;oBACJ,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,IAAI,aAAa,CACtB,IAAI,EACJ,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EACT,UAAU,EACV,YAAY,CACb,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,iBAAiB,CAAC,OAAqB;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC;QAElD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC;YAC3D,OAAO;QACT,CAAC;QAED,MAAM,eAAe,GAAG,IAAI,eAAe,EAAE,CAAC;QAC9C,MAAM,YAAY,GAChB,MAAM,IAAI,CAAC,cAAc,CAAC,eAAe,EAAE,CAAC;QAE9C,uDAAuD;QACvD,MAAM,SAAS,GAA0B,EAAE,CAAC;QAC5C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,WAAW,GAAa,EAAE,CAAC;YACjC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACzC,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC7B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzB,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;YACD,SAAS,CAAC,IAAI,CACZ,GAAG,YAAY,CAAC,+BAA+B,CAAC,WAAW,CAAC,CAC7D,CAAC;QACJ,CAAC;QACD,qDAAqD;QACrD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YACnD,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,eAAe,GAAc;YAC/B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,EAAE;SACpD,CAAC;QAEF,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,IAAI,CAAC;YACH,OAAO,IAAI,EAAE,CAAC;gBACZ,gCAAgC;gBAChC,IACE,IAAI,CAAC,SAAS,CAAC,SAAS;oBACxB,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,SAAS,EACvC,CAAC;oBACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,SAAS,CAAC;oBAC/D,MAAM;gBACR,CAAC;gBACD,IAAI,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;gBACzD,IAAI,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;oBACnD,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,CAAC;oBAC7D,MAAM;gBACR,CAAC;gBAED,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,IAAI,IAAI,CAAC,UAAU,IAAI,WAAW,EAAE,EAAE,CAAC;gBAC7F,MAAM,aAAa,GAAG;oBACpB,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,EAAE;oBACxC,MAAM,EAAE;wBACN,WAAW,EAAE,eAAe,CAAC,MAAM;wBACnC,KAAK,EAAE,CAAC,EAAE,oBAAoB,EAAE,SAAS,EAAE,CAAC;qBAC7C;iBACF,CAAC;gBAEF,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,iBAAiB,CACjD,aAAa,EACb,QAAQ,CACT,CAAC;gBAEF,MAAM,aAAa,GAAmB,EAAE,CAAC;gBACzC,IAAI,KAAK,EAAE,MAAM,IAAI,IAAI,cAAc,EAAE,CAAC;oBACxC,IAAI,eAAe,CAAC,MAAM,CAAC,OAAO;wBAAE,OAAO;oBAC3C,IAAI,IAAI,CAAC,aAAa;wBAAE,aAAa,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;gBACpE,CAAC;gBAED,WAAW,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC;gBACrD,IAAI,WAAW,IAAI,IAAI,CAAC,SAAS,CAAC,gBAAgB,EAAE,CAAC;oBACnD,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,OAAO,CAAC;oBAC7D,MAAM;gBACR,CAAC;gBAED,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7B,eAAe,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAC/C,aAAa,EACb,YAAY,EACZ,eAAe,EACf,QAAQ,CACT,CAAC;gBACJ,CAAC;qBAAM,CAAC;oBACN,qDAAqD;oBACrD,IACE,CAAC,IAAI,CAAC,YAAY;wBAClB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,CAAC,EACnD,CAAC;wBACD,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC;wBAC1D,MAAM;oBACR,CAAC;oBAED,MAAM,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,MAAM,CACjE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAC5C,CAAC;oBAEF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;wBAC/B,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,IAAI,CAAC;wBAC1D,MAAM;oBACR,CAAC;oBAED,MAAM,YAAY,GAAG,yFAAyF,aAAa,CAAC,IAAI,CAC9H,IAAI,CACL,4FAA4F,CAAC;oBAE9F,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAE5B,eAAe,GAAG;wBAChB;4BACE,IAAI,EAAE,MAAM;4BACZ,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;yBAChC;qBACF,CAAC;gBACJ,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,gBAAgB,GAAG,qBAAqB,CAAC,KAAK,CAAC;YAC3D,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED;;;;;;;;;;OAUG;IACK,KAAK,CAAC,oBAAoB,CAChC,aAA6B,EAC7B,YAA0B,EAC1B,eAAgC,EAChC,QAAgB;QAEhB,MAAM,iBAAiB,GAAW,EAAE,CAAC;QAErC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACzC,MAAM,MAAM,GAAG,YAAY,CAAC,EAAE,IAAI,GAAG,YAAY,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;YACvE,MAAM,WAAW,GAAwB;gBACvC,MAAM;gBACN,IAAI,EAAE,YAAY,CAAC,IAAc;gBACjC,IAAI,EAAE,CAAC,YAAY,CAAC,IAAI,IAAI,EAAE,CAA4B;gBAC1D,iBAAiB,EAAE,IAAI;gBACvB,SAAS,EAAE,QAAQ;aACpB,CAAC;YAEF,IAAI,YAAY,CAAC;YAEjB,kCAAkC;YAClC,IAAI,YAAY,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBAC3C,MAAM,OAAO,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,CAAC;gBAC/D,MAAM,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,MAAM,CAAC;gBAE3C,YAAY,GAAG;oBACb,MAAM;oBACN,aAAa,EAAE,oBAAoB,OAAO,eAAe;oBACzD,aAAa,EAAE,oBAAoB,OAAO,eAAe;oBACzD,KAAK,EAAE,SAAS;iBACjB,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,YAAY,GAAG,MAAM,eAAe,CAClC,IAAI,CAAC,cAAc,EACnB,WAAW,EACX,YAAY,EACZ,eAAe,CAAC,MAAM,CACvB,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,CAAC,KAAK,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CACX,wBAAwB,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,aAAa,IAAI,YAAY,CAAC,KAAK,CAAC,OAAO,EAAE,CACzG,CAAC;YACJ,CAAC;YAED,IAAI,YAAY,CAAC,aAAa,EAAE,CAAC;gBAC/B,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC;oBACrD,CAAC,CAAC,YAAY,CAAC,aAAa;oBAC5B,CAAC,CAAC,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;gBACjC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;oBACzB,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;wBAC7B,iBAAiB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;oBACzC,CAAC;yBAAM,IAAI,IAAI,EAAE,CAAC;wBAChB,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC/B,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QACD,oEAAoE;QACpE,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC/D,iBAAiB,CAAC,IAAI,CAAC;gBACrB,IAAI,EAAE,mFAAmF;aAC1F,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,iBAAiB,EAAE,CAAC,CAAC;IACtD,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,OAAqB;QAClD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;YAC1E,MAAM,IAAI,KAAK,CACb,4EAA4E,CAC7E,CAAC;QACJ,CAAC;QACD,IAAI,IAAI,CAAC,YAAY,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,eAAe,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CACb,6EAA6E,CAC9E,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAClE,MAAM,UAAU,GAAc;YAC5B,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE;YACjC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,EAAE,IAAI,EAAE,iCAAiC,EAAE,CAAC,EAAE;SACxE,CAAC;QAEF,MAAM,aAAa,GAAG;YACpB,GAAG,UAAU;YACb,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,IAAI,EAAE,CAAC;SAC7C,CAAC;QAEF,MAAM,iBAAiB,GAAG,IAAI,CAAC,YAAY,CAAC,YAAY;YACtD,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;YACrC,CAAC,CAAC,SAAS,CAAC;QAEd,IAAI,CAAC;YACH,MAAM,gBAAgB,GAElB;gBACF,WAAW,EAAE,IAAI,CAAC,WAAW,CAAC,IAAI;gBAClC,IAAI,EAAE,IAAI,CAAC,WAAW,CAAC,KAAK;aAC7B,CAAC;YAEF,IAAI,iBAAiB,EAAE,CAAC;gBACtB,gBAAgB,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YACzD,CAAC;YAED,MAAM,gBAAgB,GAAG,MAAM,sBAAsB,CACnD,IAAI,CAAC,cAAc,CAAC,yBAAyB,EAAE,EAC/C,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,cAAc,CAAC,YAAY,EAAE,CACnC,CAAC;YAEF,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YAErD,OAAO,IAAI,UAAU,CACnB,IAAI,CAAC,cAAc,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,CACd,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,WAAW,CACf,KAAK,EACL,yCAAyC,EACzC,aAAa,EACb,WAAW,CACZ,CAAC;YACF,yDAAyD;YACzD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;;OAIG;IACK,qBAAqB;QAC3B,MAAM,aAAa,GAAwB;YACzC,IAAI,EAAE,gBAAgB;YACtB,WAAW,EAAE;oJACiI;YAC9I,UAAU,EAAE;gBACV,IAAI,EAAE,IAAI,CAAC,MAAM;gBACjB,UAAU,EAAE;oBACV,kBAAkB,EAAE;wBAClB,WAAW,EAAE,kDAAkD;wBAC/D,IAAI,EAAE,IAAI,CAAC,MAAM;qBAClB;oBACD,mBAAmB,EAAE;wBACnB,WAAW,EACT,uDAAuD;wBACzD,IAAI,EAAE,IAAI,CAAC,MAAM;qBAClB;iBACF;gBACD,QAAQ,EAAE,CAAC,oBAAoB,EAAE,qBAAqB,CAAC;aACxD;SACF,CAAC;QAEF,OAAO,CAAC,aAAa,CAAC,CAAC;IACzB,CAAC;IAED;;;;;;OAMG;IACK,qBAAqB,CAAC,OAAqB;QACjD,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,CAAC;YACpC,gFAAgF;YAChF,OAAO,EAAE,CAAC;QACZ,CAAC;QAED,IAAI,WAAW,GAAG,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,OAAO,CAAC,CAAC;QAE1E,qDAAqD;QACrD,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;YACnD,IAAI,kBAAkB,GACpB,uKAAuK,CAAC;YAE1K,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;gBACrE,kBAAkB,IAAI,yCAAyC,GAAG,sCAAsC,KAAK,GAAG,CAAC;YACnH,CAAC;YACD,WAAW,IAAI,kBAAkB,CAAC;QACpC,CAAC;QAED,4CAA4C;QAC5C,WAAW,IAAI;;;;4GAIyF,CAAC;QAEzG,OAAO,WAAW,CAAC;IACrB,CAAC;CACF"}
1
+ {"version":3,"file":"subagent.js","sourceRoot":"","sources":["../../../src/core/subagent.ts"],"names":[],"mappings":"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"}