@blackbox_ai/blackbox-cli-core 0.0.4

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 (897) hide show
  1. package/LICENSE +203 -0
  2. package/README.md +420 -0
  3. package/dist/.last_build +0 -0
  4. package/dist/index.d.ts +13 -0
  5. package/dist/index.js +14 -0
  6. package/dist/index.js.map +1 -0
  7. package/dist/src/__mocks__/fs/promises.d.ts +11 -0
  8. package/dist/src/__mocks__/fs/promises.js +17 -0
  9. package/dist/src/__mocks__/fs/promises.js.map +1 -0
  10. package/dist/src/blackbox/blackboxContentGenerator.d.ts +70 -0
  11. package/dist/src/blackbox/blackboxContentGenerator.js +180 -0
  12. package/dist/src/blackbox/blackboxContentGenerator.js.map +1 -0
  13. package/dist/src/blackbox/blackboxContentGenerator.test.d.ts +6 -0
  14. package/dist/src/blackbox/blackboxContentGenerator.test.js +1178 -0
  15. package/dist/src/blackbox/blackboxContentGenerator.test.js.map +1 -0
  16. package/dist/src/blackbox/blackboxOAuth2.d.ts +191 -0
  17. package/dist/src/blackbox/blackboxOAuth2.js +566 -0
  18. package/dist/src/blackbox/blackboxOAuth2.js.map +1 -0
  19. package/dist/src/blackbox/blackboxOAuth2.test.d.ts +6 -0
  20. package/dist/src/blackbox/blackboxOAuth2.test.js +1718 -0
  21. package/dist/src/blackbox/blackboxOAuth2.test.js.map +1 -0
  22. package/dist/src/blackbox/sharedTokenManager.d.ts +196 -0
  23. package/dist/src/blackbox/sharedTokenManager.js +647 -0
  24. package/dist/src/blackbox/sharedTokenManager.js.map +1 -0
  25. package/dist/src/blackbox/sharedTokenManager.test.d.ts +7 -0
  26. package/dist/src/blackbox/sharedTokenManager.test.js +662 -0
  27. package/dist/src/blackbox/sharedTokenManager.test.js.map +1 -0
  28. package/dist/src/code_assist/codeAssist.d.ts +10 -0
  29. package/dist/src/code_assist/codeAssist.js +19 -0
  30. package/dist/src/code_assist/codeAssist.js.map +1 -0
  31. package/dist/src/code_assist/converter.d.ts +72 -0
  32. package/dist/src/code_assist/converter.js +159 -0
  33. package/dist/src/code_assist/converter.js.map +1 -0
  34. package/dist/src/code_assist/converter.test.d.ts +6 -0
  35. package/dist/src/code_assist/converter.test.js +362 -0
  36. package/dist/src/code_assist/converter.test.js.map +1 -0
  37. package/dist/src/code_assist/oauth2.d.ts +22 -0
  38. package/dist/src/code_assist/oauth2.js +368 -0
  39. package/dist/src/code_assist/oauth2.js.map +1 -0
  40. package/dist/src/code_assist/oauth2.test.d.ts +6 -0
  41. package/dist/src/code_assist/oauth2.test.js +436 -0
  42. package/dist/src/code_assist/oauth2.test.js.map +1 -0
  43. package/dist/src/code_assist/server.d.ts +37 -0
  44. package/dist/src/code_assist/server.js +125 -0
  45. package/dist/src/code_assist/server.js.map +1 -0
  46. package/dist/src/code_assist/server.test.d.ts +6 -0
  47. package/dist/src/code_assist/server.test.js +134 -0
  48. package/dist/src/code_assist/server.test.js.map +1 -0
  49. package/dist/src/code_assist/setup.d.ts +20 -0
  50. package/dist/src/code_assist/setup.js +101 -0
  51. package/dist/src/code_assist/setup.js.map +1 -0
  52. package/dist/src/code_assist/setup.test.d.ts +6 -0
  53. package/dist/src/code_assist/setup.test.js +171 -0
  54. package/dist/src/code_assist/setup.test.js.map +1 -0
  55. package/dist/src/code_assist/types.d.ts +148 -0
  56. package/dist/src/code_assist/types.js +46 -0
  57. package/dist/src/code_assist/types.js.map +1 -0
  58. package/dist/src/config/blackboxModels.d.ts +28 -0
  59. package/dist/src/config/blackboxModels.js +148 -0
  60. package/dist/src/config/blackboxModels.js.map +1 -0
  61. package/dist/src/config/config.d.ts +381 -0
  62. package/dist/src/config/config.js +753 -0
  63. package/dist/src/config/config.js.map +1 -0
  64. package/dist/src/config/config.test.d.ts +6 -0
  65. package/dist/src/config/config.test.js +674 -0
  66. package/dist/src/config/config.test.js.map +1 -0
  67. package/dist/src/config/flashFallback.test.d.ts +6 -0
  68. package/dist/src/config/flashFallback.test.js +87 -0
  69. package/dist/src/config/flashFallback.test.js.map +1 -0
  70. package/dist/src/config/models.d.ts +12 -0
  71. package/dist/src/config/models.js +13 -0
  72. package/dist/src/config/models.js.map +1 -0
  73. package/dist/src/config/storage.d.ts +32 -0
  74. package/dist/src/config/storage.js +90 -0
  75. package/dist/src/config/storage.js.map +1 -0
  76. package/dist/src/config/storage.test.d.ts +6 -0
  77. package/dist/src/config/storage.test.js +43 -0
  78. package/dist/src/config/storage.test.js.map +1 -0
  79. package/dist/src/core/__tests__/openaiTimeoutHandling.test.d.ts +6 -0
  80. package/dist/src/core/__tests__/openaiTimeoutHandling.test.js +292 -0
  81. package/dist/src/core/__tests__/openaiTimeoutHandling.test.js.map +1 -0
  82. package/dist/src/core/__tests__/orphanedToolCallsTest.d.ts +64 -0
  83. package/dist/src/core/__tests__/orphanedToolCallsTest.js +122 -0
  84. package/dist/src/core/__tests__/orphanedToolCallsTest.js.map +1 -0
  85. package/dist/src/core/client.d.ts +75 -0
  86. package/dist/src/core/client.js +826 -0
  87. package/dist/src/core/client.js.map +1 -0
  88. package/dist/src/core/client.test.d.ts +6 -0
  89. package/dist/src/core/client.test.js +2059 -0
  90. package/dist/src/core/client.test.js.map +1 -0
  91. package/dist/src/core/contentGenerator.d.ts +51 -0
  92. package/dist/src/core/contentGenerator.js +149 -0
  93. package/dist/src/core/contentGenerator.js.map +1 -0
  94. package/dist/src/core/contentGenerator.test.d.ts +6 -0
  95. package/dist/src/core/contentGenerator.test.js +133 -0
  96. package/dist/src/core/contentGenerator.test.js.map +1 -0
  97. package/dist/src/core/coreToolScheduler.d.ts +126 -0
  98. package/dist/src/core/coreToolScheduler.js +630 -0
  99. package/dist/src/core/coreToolScheduler.js.map +1 -0
  100. package/dist/src/core/coreToolScheduler.test.d.ts +6 -0
  101. package/dist/src/core/coreToolScheduler.test.js +1228 -0
  102. package/dist/src/core/coreToolScheduler.test.js.map +1 -0
  103. package/dist/src/core/geminiChat.d.ts +139 -0
  104. package/dist/src/core/geminiChat.js +636 -0
  105. package/dist/src/core/geminiChat.js.map +1 -0
  106. package/dist/src/core/geminiChat.test.d.ts +6 -0
  107. package/dist/src/core/geminiChat.test.js +1178 -0
  108. package/dist/src/core/geminiChat.test.js.map +1 -0
  109. package/dist/src/core/geminiRequest.d.ts +13 -0
  110. package/dist/src/core/geminiRequest.js +11 -0
  111. package/dist/src/core/geminiRequest.js.map +1 -0
  112. package/dist/src/core/geminiRequest.test.d.ts +6 -0
  113. package/dist/src/core/geminiRequest.test.js +73 -0
  114. package/dist/src/core/geminiRequest.test.js.map +1 -0
  115. package/dist/src/core/logger.d.ts +68 -0
  116. package/dist/src/core/logger.js +370 -0
  117. package/dist/src/core/logger.js.map +1 -0
  118. package/dist/src/core/logger.test.d.ts +6 -0
  119. package/dist/src/core/logger.test.js +591 -0
  120. package/dist/src/core/logger.test.js.map +1 -0
  121. package/dist/src/core/loggingContentGenerator.d.ts +25 -0
  122. package/dist/src/core/loggingContentGenerator.js +97 -0
  123. package/dist/src/core/loggingContentGenerator.js.map +1 -0
  124. package/dist/src/core/nonInteractiveToolExecutor.d.ts +10 -0
  125. package/dist/src/core/nonInteractiveToolExecutor.js +24 -0
  126. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -0
  127. package/dist/src/core/nonInteractiveToolExecutor.test.d.ts +6 -0
  128. package/dist/src/core/nonInteractiveToolExecutor.test.js +236 -0
  129. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -0
  130. package/dist/src/core/openaiContentGenerator/constants.d.ts +2 -0
  131. package/dist/src/core/openaiContentGenerator/constants.js +3 -0
  132. package/dist/src/core/openaiContentGenerator/constants.js.map +1 -0
  133. package/dist/src/core/openaiContentGenerator/converter.d.ts +107 -0
  134. package/dist/src/core/openaiContentGenerator/converter.js +802 -0
  135. package/dist/src/core/openaiContentGenerator/converter.js.map +1 -0
  136. package/dist/src/core/openaiContentGenerator/converter.test.d.ts +6 -0
  137. package/dist/src/core/openaiContentGenerator/converter.test.js +47 -0
  138. package/dist/src/core/openaiContentGenerator/converter.test.js.map +1 -0
  139. package/dist/src/core/openaiContentGenerator/errorHandler.d.ts +20 -0
  140. package/dist/src/core/openaiContentGenerator/errorHandler.js +82 -0
  141. package/dist/src/core/openaiContentGenerator/errorHandler.js.map +1 -0
  142. package/dist/src/core/openaiContentGenerator/errorHandler.test.d.ts +6 -0
  143. package/dist/src/core/openaiContentGenerator/errorHandler.test.js +287 -0
  144. package/dist/src/core/openaiContentGenerator/errorHandler.test.js.map +1 -0
  145. package/dist/src/core/openaiContentGenerator/index.d.ts +22 -0
  146. package/dist/src/core/openaiContentGenerator/index.js +41 -0
  147. package/dist/src/core/openaiContentGenerator/index.js.map +1 -0
  148. package/dist/src/core/openaiContentGenerator/openaiContentGenerator.d.ts +21 -0
  149. package/dist/src/core/openaiContentGenerator/openaiContentGenerator.js +105 -0
  150. package/dist/src/core/openaiContentGenerator/openaiContentGenerator.js.map +1 -0
  151. package/dist/src/core/openaiContentGenerator/openaiContentGenerator.test.d.ts +6 -0
  152. package/dist/src/core/openaiContentGenerator/openaiContentGenerator.test.js +230 -0
  153. package/dist/src/core/openaiContentGenerator/openaiContentGenerator.test.js.map +1 -0
  154. package/dist/src/core/openaiContentGenerator/pipeline.d.ts +66 -0
  155. package/dist/src/core/openaiContentGenerator/pipeline.js +256 -0
  156. package/dist/src/core/openaiContentGenerator/pipeline.js.map +1 -0
  157. package/dist/src/core/openaiContentGenerator/pipeline.test.d.ts +6 -0
  158. package/dist/src/core/openaiContentGenerator/pipeline.test.js +977 -0
  159. package/dist/src/core/openaiContentGenerator/pipeline.test.js.map +1 -0
  160. package/dist/src/core/openaiContentGenerator/provider/README.md +61 -0
  161. package/dist/src/core/openaiContentGenerator/provider/dashscope.d.ts +63 -0
  162. package/dist/src/core/openaiContentGenerator/provider/dashscope.js +241 -0
  163. package/dist/src/core/openaiContentGenerator/provider/dashscope.js.map +1 -0
  164. package/dist/src/core/openaiContentGenerator/provider/dashscope.test.d.ts +6 -0
  165. package/dist/src/core/openaiContentGenerator/provider/dashscope.test.js +707 -0
  166. package/dist/src/core/openaiContentGenerator/provider/dashscope.test.js.map +1 -0
  167. package/dist/src/core/openaiContentGenerator/provider/deepseek.d.ts +14 -0
  168. package/dist/src/core/openaiContentGenerator/provider/deepseek.js +52 -0
  169. package/dist/src/core/openaiContentGenerator/provider/deepseek.js.map +1 -0
  170. package/dist/src/core/openaiContentGenerator/provider/deepseek.test.d.ts +6 -0
  171. package/dist/src/core/openaiContentGenerator/provider/deepseek.test.js +103 -0
  172. package/dist/src/core/openaiContentGenerator/provider/deepseek.test.js.map +1 -0
  173. package/dist/src/core/openaiContentGenerator/provider/default.d.ts +15 -0
  174. package/dist/src/core/openaiContentGenerator/provider/default.js +38 -0
  175. package/dist/src/core/openaiContentGenerator/provider/default.js.map +1 -0
  176. package/dist/src/core/openaiContentGenerator/provider/default.test.d.ts +6 -0
  177. package/dist/src/core/openaiContentGenerator/provider/default.test.js +176 -0
  178. package/dist/src/core/openaiContentGenerator/provider/default.test.js.map +1 -0
  179. package/dist/src/core/openaiContentGenerator/provider/index.d.ts +5 -0
  180. package/dist/src/core/openaiContentGenerator/provider/index.js +5 -0
  181. package/dist/src/core/openaiContentGenerator/provider/index.js.map +1 -0
  182. package/dist/src/core/openaiContentGenerator/provider/openrouter.d.ts +8 -0
  183. package/dist/src/core/openaiContentGenerator/provider/openrouter.js +21 -0
  184. package/dist/src/core/openaiContentGenerator/provider/openrouter.js.map +1 -0
  185. package/dist/src/core/openaiContentGenerator/provider/openrouter.test.d.ts +6 -0
  186. package/dist/src/core/openaiContentGenerator/provider/openrouter.test.js +152 -0
  187. package/dist/src/core/openaiContentGenerator/provider/openrouter.test.js.map +1 -0
  188. package/dist/src/core/openaiContentGenerator/provider/types.d.ts +23 -0
  189. package/dist/src/core/openaiContentGenerator/provider/types.js +2 -0
  190. package/dist/src/core/openaiContentGenerator/provider/types.js.map +1 -0
  191. package/dist/src/core/openaiContentGenerator/streamingToolCallParser.d.ts +142 -0
  192. package/dist/src/core/openaiContentGenerator/streamingToolCallParser.js +363 -0
  193. package/dist/src/core/openaiContentGenerator/streamingToolCallParser.js.map +1 -0
  194. package/dist/src/core/openaiContentGenerator/streamingToolCallParser.test.d.ts +6 -0
  195. package/dist/src/core/openaiContentGenerator/streamingToolCallParser.test.js +537 -0
  196. package/dist/src/core/openaiContentGenerator/streamingToolCallParser.test.js.map +1 -0
  197. package/dist/src/core/openaiContentGenerator/telemetryService.d.ts +35 -0
  198. package/dist/src/core/openaiContentGenerator/telemetryService.js +146 -0
  199. package/dist/src/core/openaiContentGenerator/telemetryService.js.map +1 -0
  200. package/dist/src/core/openaiContentGenerator/telemetryService.test.d.ts +6 -0
  201. package/dist/src/core/openaiContentGenerator/telemetryService.test.js +978 -0
  202. package/dist/src/core/openaiContentGenerator/telemetryService.test.js.map +1 -0
  203. package/dist/src/core/prompts.d.ts +76 -0
  204. package/dist/src/core/prompts.js +860 -0
  205. package/dist/src/core/prompts.js.map +1 -0
  206. package/dist/src/core/prompts.test.d.ts +6 -0
  207. package/dist/src/core/prompts.test.js +436 -0
  208. package/dist/src/core/prompts.test.js.map +1 -0
  209. package/dist/src/core/tokenLimits.d.ts +25 -0
  210. package/dist/src/core/tokenLimits.js +175 -0
  211. package/dist/src/core/tokenLimits.js.map +1 -0
  212. package/dist/src/core/tokenLimits.test.d.ts +1 -0
  213. package/dist/src/core/tokenLimits.test.js +261 -0
  214. package/dist/src/core/tokenLimits.test.js.map +1 -0
  215. package/dist/src/core/turn.d.ts +140 -0
  216. package/dist/src/core/turn.js +168 -0
  217. package/dist/src/core/turn.js.map +1 -0
  218. package/dist/src/core/turn.test.d.ts +6 -0
  219. package/dist/src/core/turn.test.js +450 -0
  220. package/dist/src/core/turn.test.js.map +1 -0
  221. package/dist/src/generated/git-commit.d.ts +7 -0
  222. package/dist/src/generated/git-commit.js +10 -0
  223. package/dist/src/generated/git-commit.js.map +1 -0
  224. package/dist/src/ide/constants.d.ts +6 -0
  225. package/dist/src/ide/constants.js +7 -0
  226. package/dist/src/ide/constants.js.map +1 -0
  227. package/dist/src/ide/detect-ide.d.ts +25 -0
  228. package/dist/src/ide/detect-ide.js +104 -0
  229. package/dist/src/ide/detect-ide.js.map +1 -0
  230. package/dist/src/ide/detect-ide.test.d.ts +6 -0
  231. package/dist/src/ide/detect-ide.test.js +120 -0
  232. package/dist/src/ide/detect-ide.test.js.map +1 -0
  233. package/dist/src/ide/ide-client.d.ts +67 -0
  234. package/dist/src/ide/ide-client.js +424 -0
  235. package/dist/src/ide/ide-client.js.map +1 -0
  236. package/dist/src/ide/ide-client.test.d.ts +6 -0
  237. package/dist/src/ide/ide-client.test.js +165 -0
  238. package/dist/src/ide/ide-client.test.js.map +1 -0
  239. package/dist/src/ide/ide-installer.d.ts +14 -0
  240. package/dist/src/ide/ide-installer.js +107 -0
  241. package/dist/src/ide/ide-installer.js.map +1 -0
  242. package/dist/src/ide/ide-installer.test.d.ts +6 -0
  243. package/dist/src/ide/ide-installer.test.js +113 -0
  244. package/dist/src/ide/ide-installer.test.js.map +1 -0
  245. package/dist/src/ide/ideContext.d.ts +374 -0
  246. package/dist/src/ide/ideContext.js +147 -0
  247. package/dist/src/ide/ideContext.js.map +1 -0
  248. package/dist/src/ide/ideContext.test.d.ts +6 -0
  249. package/dist/src/ide/ideContext.test.js +265 -0
  250. package/dist/src/ide/ideContext.test.js.map +1 -0
  251. package/dist/src/ide/process-utils.d.ts +21 -0
  252. package/dist/src/ide/process-utils.js +164 -0
  253. package/dist/src/ide/process-utils.js.map +1 -0
  254. package/dist/src/ide/process-utils.test.d.ts +6 -0
  255. package/dist/src/ide/process-utils.test.js +158 -0
  256. package/dist/src/ide/process-utils.test.js.map +1 -0
  257. package/dist/src/index.d.ts +86 -0
  258. package/dist/src/index.js +97 -0
  259. package/dist/src/index.js.map +1 -0
  260. package/dist/src/index.test.d.ts +6 -0
  261. package/dist/src/index.test.js +12 -0
  262. package/dist/src/index.test.js.map +1 -0
  263. package/dist/src/mcp/google-auth-provider.d.ts +23 -0
  264. package/dist/src/mcp/google-auth-provider.js +72 -0
  265. package/dist/src/mcp/google-auth-provider.js.map +1 -0
  266. package/dist/src/mcp/google-auth-provider.test.d.ts +6 -0
  267. package/dist/src/mcp/google-auth-provider.test.js +89 -0
  268. package/dist/src/mcp/google-auth-provider.test.js.map +1 -0
  269. package/dist/src/mcp/oauth-provider.d.ts +146 -0
  270. package/dist/src/mcp/oauth-provider.js +601 -0
  271. package/dist/src/mcp/oauth-provider.js.map +1 -0
  272. package/dist/src/mcp/oauth-provider.test.d.ts +6 -0
  273. package/dist/src/mcp/oauth-provider.test.js +672 -0
  274. package/dist/src/mcp/oauth-provider.test.js.map +1 -0
  275. package/dist/src/mcp/oauth-token-storage.d.ts +61 -0
  276. package/dist/src/mcp/oauth-token-storage.js +148 -0
  277. package/dist/src/mcp/oauth-token-storage.js.map +1 -0
  278. package/dist/src/mcp/oauth-token-storage.test.d.ts +6 -0
  279. package/dist/src/mcp/oauth-token-storage.test.js +208 -0
  280. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -0
  281. package/dist/src/mcp/oauth-utils.d.ts +119 -0
  282. package/dist/src/mcp/oauth-utils.js +235 -0
  283. package/dist/src/mcp/oauth-utils.js.map +1 -0
  284. package/dist/src/mcp/oauth-utils.test.d.ts +6 -0
  285. package/dist/src/mcp/oauth-utils.test.js +199 -0
  286. package/dist/src/mcp/oauth-utils.test.js.map +1 -0
  287. package/dist/src/mcp/token-storage/base-token-storage.d.ts +19 -0
  288. package/dist/src/mcp/token-storage/base-token-storage.js +36 -0
  289. package/dist/src/mcp/token-storage/base-token-storage.js.map +1 -0
  290. package/dist/src/mcp/token-storage/base-token-storage.test.d.ts +6 -0
  291. package/dist/src/mcp/token-storage/base-token-storage.test.js +160 -0
  292. package/dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -0
  293. package/dist/src/mcp/token-storage/types.d.ts +34 -0
  294. package/dist/src/mcp/token-storage/types.js +7 -0
  295. package/dist/src/mcp/token-storage/types.js.map +1 -0
  296. package/dist/src/mocks/msw.d.ts +6 -0
  297. package/dist/src/mocks/msw.js +8 -0
  298. package/dist/src/mocks/msw.js.map +1 -0
  299. package/dist/src/prompts/mcp-prompts.d.ts +8 -0
  300. package/dist/src/prompts/mcp-prompts.js +13 -0
  301. package/dist/src/prompts/mcp-prompts.js.map +1 -0
  302. package/dist/src/prompts/prompt-registry.d.ts +34 -0
  303. package/dist/src/prompts/prompt-registry.js +63 -0
  304. package/dist/src/prompts/prompt-registry.js.map +1 -0
  305. package/dist/src/services/chatRecordingService.d.ts +150 -0
  306. package/dist/src/services/chatRecordingService.js +321 -0
  307. package/dist/src/services/chatRecordingService.js.map +1 -0
  308. package/dist/src/services/chatRecordingService.test.d.ts +6 -0
  309. package/dist/src/services/chatRecordingService.test.js +290 -0
  310. package/dist/src/services/chatRecordingService.test.js.map +1 -0
  311. package/dist/src/services/fileDiscoveryService.d.ts +35 -0
  312. package/dist/src/services/fileDiscoveryService.js +91 -0
  313. package/dist/src/services/fileDiscoveryService.js.map +1 -0
  314. package/dist/src/services/fileDiscoveryService.test.d.ts +6 -0
  315. package/dist/src/services/fileDiscoveryService.test.js +143 -0
  316. package/dist/src/services/fileDiscoveryService.test.js.map +1 -0
  317. package/dist/src/services/fileSystemService.d.ts +31 -0
  318. package/dist/src/services/fileSystemService.js +18 -0
  319. package/dist/src/services/fileSystemService.js.map +1 -0
  320. package/dist/src/services/fileSystemService.test.d.ts +6 -0
  321. package/dist/src/services/fileSystemService.test.js +41 -0
  322. package/dist/src/services/fileSystemService.test.js.map +1 -0
  323. package/dist/src/services/gitService.d.ts +23 -0
  324. package/dist/src/services/gitService.js +110 -0
  325. package/dist/src/services/gitService.js.map +1 -0
  326. package/dist/src/services/gitService.test.d.ts +6 -0
  327. package/dist/src/services/gitService.test.js +212 -0
  328. package/dist/src/services/gitService.test.js.map +1 -0
  329. package/dist/src/services/loopDetectionService.d.ts +98 -0
  330. package/dist/src/services/loopDetectionService.js +363 -0
  331. package/dist/src/services/loopDetectionService.js.map +1 -0
  332. package/dist/src/services/loopDetectionService.test.d.ts +6 -0
  333. package/dist/src/services/loopDetectionService.test.js +560 -0
  334. package/dist/src/services/loopDetectionService.test.js.map +1 -0
  335. package/dist/src/services/shellExecutionService.d.ts +68 -0
  336. package/dist/src/services/shellExecutionService.js +332 -0
  337. package/dist/src/services/shellExecutionService.js.map +1 -0
  338. package/dist/src/services/shellExecutionService.test.d.ts +6 -0
  339. package/dist/src/services/shellExecutionService.test.js +517 -0
  340. package/dist/src/services/shellExecutionService.test.js.map +1 -0
  341. package/dist/src/subagents/builtin-agents.d.ts +35 -0
  342. package/dist/src/subagents/builtin-agents.js +85 -0
  343. package/dist/src/subagents/builtin-agents.js.map +1 -0
  344. package/dist/src/subagents/builtin-agents.test.d.ts +6 -0
  345. package/dist/src/subagents/builtin-agents.test.js +78 -0
  346. package/dist/src/subagents/builtin-agents.test.js.map +1 -0
  347. package/dist/src/subagents/index.d.ts +29 -0
  348. package/dist/src/subagents/index.js +15 -0
  349. package/dist/src/subagents/index.js.map +1 -0
  350. package/dist/src/subagents/subagent-events.d.ts +93 -0
  351. package/dist/src/subagents/subagent-events.js +31 -0
  352. package/dist/src/subagents/subagent-events.js.map +1 -0
  353. package/dist/src/subagents/subagent-hooks.d.ts +29 -0
  354. package/dist/src/subagents/subagent-hooks.js +7 -0
  355. package/dist/src/subagents/subagent-hooks.js.map +1 -0
  356. package/dist/src/subagents/subagent-manager.d.ts +170 -0
  357. package/dist/src/subagents/subagent-manager.js +593 -0
  358. package/dist/src/subagents/subagent-manager.js.map +1 -0
  359. package/dist/src/subagents/subagent-manager.test.d.ts +6 -0
  360. package/dist/src/subagents/subagent-manager.test.js +822 -0
  361. package/dist/src/subagents/subagent-manager.test.js.map +1 -0
  362. package/dist/src/subagents/subagent-statistics.d.ts +46 -0
  363. package/dist/src/subagents/subagent-statistics.js +193 -0
  364. package/dist/src/subagents/subagent-statistics.js.map +1 -0
  365. package/dist/src/subagents/subagent-statistics.test.d.ts +6 -0
  366. package/dist/src/subagents/subagent-statistics.test.js +231 -0
  367. package/dist/src/subagents/subagent-statistics.test.js.map +1 -0
  368. package/dist/src/subagents/subagent.d.ts +161 -0
  369. package/dist/src/subagents/subagent.js +667 -0
  370. package/dist/src/subagents/subagent.js.map +1 -0
  371. package/dist/src/subagents/subagent.test.d.ts +6 -0
  372. package/dist/src/subagents/subagent.test.js +487 -0
  373. package/dist/src/subagents/subagent.test.js.map +1 -0
  374. package/dist/src/subagents/types.d.ts +218 -0
  375. package/dist/src/subagents/types.js +58 -0
  376. package/dist/src/subagents/types.js.map +1 -0
  377. package/dist/src/subagents/types.test.d.ts +6 -0
  378. package/dist/src/subagents/types.test.js +31 -0
  379. package/dist/src/subagents/types.test.js.map +1 -0
  380. package/dist/src/subagents/validation.d.ts +63 -0
  381. package/dist/src/subagents/validation.js +293 -0
  382. package/dist/src/subagents/validation.js.map +1 -0
  383. package/dist/src/subagents/validation.test.d.ts +6 -0
  384. package/dist/src/subagents/validation.test.js +330 -0
  385. package/dist/src/subagents/validation.test.js.map +1 -0
  386. package/dist/src/telemetry/blackbox-logger/blackbox-logger.d.ts +80 -0
  387. package/dist/src/telemetry/blackbox-logger/blackbox-logger.js +583 -0
  388. package/dist/src/telemetry/blackbox-logger/blackbox-logger.js.map +1 -0
  389. package/dist/src/telemetry/blackbox-logger/blackbox-logger.test.d.ts +6 -0
  390. package/dist/src/telemetry/blackbox-logger/blackbox-logger.test.js +301 -0
  391. package/dist/src/telemetry/blackbox-logger/blackbox-logger.test.js.map +1 -0
  392. package/dist/src/telemetry/blackbox-logger/event-types.d.ts +73 -0
  393. package/dist/src/telemetry/blackbox-logger/event-types.js +2 -0
  394. package/dist/src/telemetry/blackbox-logger/event-types.js.map +1 -0
  395. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +121 -0
  396. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +773 -0
  397. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -0
  398. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +17 -0
  399. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +420 -0
  400. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -0
  401. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +90 -0
  402. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +229 -0
  403. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -0
  404. package/dist/src/telemetry/constants.d.ts +34 -0
  405. package/dist/src/telemetry/constants.js +35 -0
  406. package/dist/src/telemetry/constants.js.map +1 -0
  407. package/dist/src/telemetry/file-exporters.d.ts +29 -0
  408. package/dist/src/telemetry/file-exporters.js +62 -0
  409. package/dist/src/telemetry/file-exporters.js.map +1 -0
  410. package/dist/src/telemetry/index.d.ts +20 -0
  411. package/dist/src/telemetry/index.js +21 -0
  412. package/dist/src/telemetry/index.js.map +1 -0
  413. package/dist/src/telemetry/integration.test.circular.d.ts +6 -0
  414. package/dist/src/telemetry/integration.test.circular.js +95 -0
  415. package/dist/src/telemetry/integration.test.circular.js.map +1 -0
  416. package/dist/src/telemetry/loggers.d.ts +26 -0
  417. package/dist/src/telemetry/loggers.js +406 -0
  418. package/dist/src/telemetry/loggers.js.map +1 -0
  419. package/dist/src/telemetry/loggers.test.circular.d.ts +6 -0
  420. package/dist/src/telemetry/loggers.test.circular.js +107 -0
  421. package/dist/src/telemetry/loggers.test.circular.js.map +1 -0
  422. package/dist/src/telemetry/loggers.test.d.ts +6 -0
  423. package/dist/src/telemetry/loggers.test.js +638 -0
  424. package/dist/src/telemetry/loggers.test.js.map +1 -0
  425. package/dist/src/telemetry/metrics.d.ts +40 -0
  426. package/dist/src/telemetry/metrics.js +229 -0
  427. package/dist/src/telemetry/metrics.js.map +1 -0
  428. package/dist/src/telemetry/metrics.test.d.ts +6 -0
  429. package/dist/src/telemetry/metrics.test.js +242 -0
  430. package/dist/src/telemetry/metrics.test.js.map +1 -0
  431. package/dist/src/telemetry/sdk.d.ts +9 -0
  432. package/dist/src/telemetry/sdk.js +161 -0
  433. package/dist/src/telemetry/sdk.js.map +1 -0
  434. package/dist/src/telemetry/sdk.test.d.ts +6 -0
  435. package/dist/src/telemetry/sdk.test.js +82 -0
  436. package/dist/src/telemetry/sdk.test.js.map +1 -0
  437. package/dist/src/telemetry/telemetry-utils.d.ts +6 -0
  438. package/dist/src/telemetry/telemetry-utils.js +14 -0
  439. package/dist/src/telemetry/telemetry-utils.js.map +1 -0
  440. package/dist/src/telemetry/telemetry-utils.test.d.ts +6 -0
  441. package/dist/src/telemetry/telemetry-utils.test.js +40 -0
  442. package/dist/src/telemetry/telemetry-utils.test.js.map +1 -0
  443. package/dist/src/telemetry/telemetry.test.d.ts +6 -0
  444. package/dist/src/telemetry/telemetry.test.js +50 -0
  445. package/dist/src/telemetry/telemetry.test.js.map +1 -0
  446. package/dist/src/telemetry/tool-call-decision.d.ts +13 -0
  447. package/dist/src/telemetry/tool-call-decision.js +29 -0
  448. package/dist/src/telemetry/tool-call-decision.js.map +1 -0
  449. package/dist/src/telemetry/types.d.ts +236 -0
  450. package/dist/src/telemetry/types.js +405 -0
  451. package/dist/src/telemetry/types.js.map +1 -0
  452. package/dist/src/telemetry/uiTelemetry.d.ts +75 -0
  453. package/dist/src/telemetry/uiTelemetry.js +153 -0
  454. package/dist/src/telemetry/uiTelemetry.js.map +1 -0
  455. package/dist/src/telemetry/uiTelemetry.test.d.ts +6 -0
  456. package/dist/src/telemetry/uiTelemetry.test.js +558 -0
  457. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -0
  458. package/dist/src/test-utils/config.d.ts +17 -0
  459. package/dist/src/test-utils/config.js +32 -0
  460. package/dist/src/test-utils/config.js.map +1 -0
  461. package/dist/src/test-utils/mockWorkspaceContext.d.ts +13 -0
  462. package/dist/src/test-utils/mockWorkspaceContext.js +24 -0
  463. package/dist/src/test-utils/mockWorkspaceContext.js.map +1 -0
  464. package/dist/src/test-utils/tools.d.ts +45 -0
  465. package/dist/src/test-utils/tools.js +105 -0
  466. package/dist/src/test-utils/tools.js.map +1 -0
  467. package/dist/src/tools/diffOptions.d.ts +9 -0
  468. package/dist/src/tools/diffOptions.js +38 -0
  469. package/dist/src/tools/diffOptions.js.map +1 -0
  470. package/dist/src/tools/diffOptions.test.d.ts +6 -0
  471. package/dist/src/tools/diffOptions.test.js +119 -0
  472. package/dist/src/tools/diffOptions.test.js.map +1 -0
  473. package/dist/src/tools/edit.d.ts +56 -0
  474. package/dist/src/tools/edit.js +434 -0
  475. package/dist/src/tools/edit.js.map +1 -0
  476. package/dist/src/tools/edit.test.d.ts +6 -0
  477. package/dist/src/tools/edit.test.js +569 -0
  478. package/dist/src/tools/edit.test.js.map +1 -0
  479. package/dist/src/tools/exitPlanMode.d.ts +28 -0
  480. package/dist/src/tools/exitPlanMode.js +137 -0
  481. package/dist/src/tools/exitPlanMode.js.map +1 -0
  482. package/dist/src/tools/exitPlanMode.test.d.ts +6 -0
  483. package/dist/src/tools/exitPlanMode.test.js +219 -0
  484. package/dist/src/tools/exitPlanMode.test.js.map +1 -0
  485. package/dist/src/tools/glob.d.ts +52 -0
  486. package/dist/src/tools/glob.js +237 -0
  487. package/dist/src/tools/glob.js.map +1 -0
  488. package/dist/src/tools/glob.test.d.ts +6 -0
  489. package/dist/src/tools/glob.test.js +375 -0
  490. package/dist/src/tools/glob.test.js.map +1 -0
  491. package/dist/src/tools/grep.d.ts +51 -0
  492. package/dist/src/tools/grep.js +566 -0
  493. package/dist/src/tools/grep.js.map +1 -0
  494. package/dist/src/tools/grep.test.d.ts +6 -0
  495. package/dist/src/tools/grep.test.js +356 -0
  496. package/dist/src/tools/grep.test.js.map +1 -0
  497. package/dist/src/tools/ls.d.ts +68 -0
  498. package/dist/src/tools/ls.js +227 -0
  499. package/dist/src/tools/ls.js.map +1 -0
  500. package/dist/src/tools/ls.test.d.ts +6 -0
  501. package/dist/src/tools/ls.test.js +389 -0
  502. package/dist/src/tools/ls.test.js.map +1 -0
  503. package/dist/src/tools/mcp-client-manager.d.ts +38 -0
  504. package/dist/src/tools/mcp-client-manager.js +74 -0
  505. package/dist/src/tools/mcp-client-manager.js.map +1 -0
  506. package/dist/src/tools/mcp-client-manager.test.d.ts +6 -0
  507. package/dist/src/tools/mcp-client-manager.test.js +39 -0
  508. package/dist/src/tools/mcp-client-manager.test.js.map +1 -0
  509. package/dist/src/tools/mcp-client.d.ts +199 -0
  510. package/dist/src/tools/mcp-client.js +995 -0
  511. package/dist/src/tools/mcp-client.js.map +1 -0
  512. package/dist/src/tools/mcp-client.test.d.ts +6 -0
  513. package/dist/src/tools/mcp-client.test.js +454 -0
  514. package/dist/src/tools/mcp-client.test.js.map +1 -0
  515. package/dist/src/tools/mcp-tool.d.ts +23 -0
  516. package/dist/src/tools/mcp-tool.js +240 -0
  517. package/dist/src/tools/mcp-tool.js.map +1 -0
  518. package/dist/src/tools/mcp-tool.test.d.ts +6 -0
  519. package/dist/src/tools/mcp-tool.test.js +576 -0
  520. package/dist/src/tools/mcp-tool.test.js.map +1 -0
  521. package/dist/src/tools/memoryTool.d.ts +41 -0
  522. package/dist/src/tools/memoryTool.js +435 -0
  523. package/dist/src/tools/memoryTool.js.map +1 -0
  524. package/dist/src/tools/memoryTool.test.d.ts +6 -0
  525. package/dist/src/tools/memoryTool.test.js +420 -0
  526. package/dist/src/tools/memoryTool.test.js.map +1 -0
  527. package/dist/src/tools/modifiable-tool.d.ts +32 -0
  528. package/dist/src/tools/modifiable-tool.js +88 -0
  529. package/dist/src/tools/modifiable-tool.js.map +1 -0
  530. package/dist/src/tools/modifiable-tool.test.d.ts +6 -0
  531. package/dist/src/tools/modifiable-tool.test.js +193 -0
  532. package/dist/src/tools/modifiable-tool.test.js.map +1 -0
  533. package/dist/src/tools/read-file.d.ts +35 -0
  534. package/dist/src/tools/read-file.js +128 -0
  535. package/dist/src/tools/read-file.js.map +1 -0
  536. package/dist/src/tools/read-file.test.d.ts +6 -0
  537. package/dist/src/tools/read-file.test.js +311 -0
  538. package/dist/src/tools/read-file.test.js.map +1 -0
  539. package/dist/src/tools/read-many-files.d.ts +60 -0
  540. package/dist/src/tools/read-many-files.js +416 -0
  541. package/dist/src/tools/read-many-files.js.map +1 -0
  542. package/dist/src/tools/read-many-files.test.d.ts +6 -0
  543. package/dist/src/tools/read-many-files.test.js +565 -0
  544. package/dist/src/tools/read-many-files.test.js.map +1 -0
  545. package/dist/src/tools/ripGrep.d.ts +47 -0
  546. package/dist/src/tools/ripGrep.js +375 -0
  547. package/dist/src/tools/ripGrep.js.map +1 -0
  548. package/dist/src/tools/ripGrep.test.d.ts +6 -0
  549. package/dist/src/tools/ripGrep.test.js +874 -0
  550. package/dist/src/tools/ripGrep.test.js.map +1 -0
  551. package/dist/src/tools/shell.d.ts +23 -0
  552. package/dist/src/tools/shell.js +387 -0
  553. package/dist/src/tools/shell.js.map +1 -0
  554. package/dist/src/tools/shell.test.d.ts +6 -0
  555. package/dist/src/tools/shell.test.js +632 -0
  556. package/dist/src/tools/shell.test.js.map +1 -0
  557. package/dist/src/tools/task.d.ts +59 -0
  558. package/dist/src/tools/task.js +412 -0
  559. package/dist/src/tools/task.js.map +1 -0
  560. package/dist/src/tools/task.test.d.ts +6 -0
  561. package/dist/src/tools/task.test.js +369 -0
  562. package/dist/src/tools/task.test.js.map +1 -0
  563. package/dist/src/tools/todoWrite.d.ts +42 -0
  564. package/dist/src/tools/todoWrite.js +385 -0
  565. package/dist/src/tools/todoWrite.js.map +1 -0
  566. package/dist/src/tools/todoWrite.test.d.ts +6 -0
  567. package/dist/src/tools/todoWrite.test.js +222 -0
  568. package/dist/src/tools/todoWrite.test.js.map +1 -0
  569. package/dist/src/tools/tool-error.d.ts +43 -0
  570. package/dist/src/tools/tool-error.js +58 -0
  571. package/dist/src/tools/tool-error.js.map +1 -0
  572. package/dist/src/tools/tool-names.d.ts +23 -0
  573. package/dist/src/tools/tool-names.js +24 -0
  574. package/dist/src/tools/tool-names.js.map +1 -0
  575. package/dist/src/tools/tool-registry.d.ts +86 -0
  576. package/dist/src/tools/tool-registry.js +369 -0
  577. package/dist/src/tools/tool-registry.js.map +1 -0
  578. package/dist/src/tools/tool-registry.test.d.ts +6 -0
  579. package/dist/src/tools/tool-registry.test.js +332 -0
  580. package/dist/src/tools/tool-registry.test.js.map +1 -0
  581. package/dist/src/tools/tools.d.ts +316 -0
  582. package/dist/src/tools/tools.js +251 -0
  583. package/dist/src/tools/tools.js.map +1 -0
  584. package/dist/src/tools/tools.test.d.ts +6 -0
  585. package/dist/src/tools/tools.test.js +205 -0
  586. package/dist/src/tools/tools.test.js.map +1 -0
  587. package/dist/src/tools/web-fetch.d.ts +31 -0
  588. package/dist/src/tools/web-fetch.js +161 -0
  589. package/dist/src/tools/web-fetch.js.map +1 -0
  590. package/dist/src/tools/web-fetch.test.d.ts +6 -0
  591. package/dist/src/tools/web-fetch.test.js +133 -0
  592. package/dist/src/tools/web-fetch.test.js.map +1 -0
  593. package/dist/src/tools/web-search.d.ts +40 -0
  594. package/dist/src/tools/web-search.js +134 -0
  595. package/dist/src/tools/web-search.js.map +1 -0
  596. package/dist/src/tools/web-search.test.d.ts +6 -0
  597. package/dist/src/tools/web-search.test.js +125 -0
  598. package/dist/src/tools/web-search.test.js.map +1 -0
  599. package/dist/src/tools/write-file.d.ts +52 -0
  600. package/dist/src/tools/write-file.js +298 -0
  601. package/dist/src/tools/write-file.js.map +1 -0
  602. package/dist/src/tools/write-file.test.d.ts +6 -0
  603. package/dist/src/tools/write-file.test.js +436 -0
  604. package/dist/src/tools/write-file.test.js.map +1 -0
  605. package/dist/src/utils/LruCache.d.ts +13 -0
  606. package/dist/src/utils/LruCache.js +38 -0
  607. package/dist/src/utils/LruCache.js.map +1 -0
  608. package/dist/src/utils/bfsFileSearch.d.ts +24 -0
  609. package/dist/src/utils/bfsFileSearch.js +89 -0
  610. package/dist/src/utils/bfsFileSearch.js.map +1 -0
  611. package/dist/src/utils/bfsFileSearch.test.d.ts +6 -0
  612. package/dist/src/utils/bfsFileSearch.test.js +163 -0
  613. package/dist/src/utils/bfsFileSearch.test.js.map +1 -0
  614. package/dist/src/utils/browser.d.ts +13 -0
  615. package/dist/src/utils/browser.js +50 -0
  616. package/dist/src/utils/browser.js.map +1 -0
  617. package/dist/src/utils/editor.d.ts +28 -0
  618. package/dist/src/utils/editor.js +186 -0
  619. package/dist/src/utils/editor.js.map +1 -0
  620. package/dist/src/utils/editor.test.d.ts +6 -0
  621. package/dist/src/utils/editor.test.js +445 -0
  622. package/dist/src/utils/editor.test.js.map +1 -0
  623. package/dist/src/utils/environmentContext.d.ts +21 -0
  624. package/dist/src/utils/environmentContext.js +90 -0
  625. package/dist/src/utils/environmentContext.js.map +1 -0
  626. package/dist/src/utils/environmentContext.test.d.ts +6 -0
  627. package/dist/src/utils/environmentContext.test.js +148 -0
  628. package/dist/src/utils/environmentContext.test.js.map +1 -0
  629. package/dist/src/utils/errorParsing.d.ts +8 -0
  630. package/dist/src/utils/errorParsing.js +93 -0
  631. package/dist/src/utils/errorParsing.js.map +1 -0
  632. package/dist/src/utils/errorParsing.test.d.ts +6 -0
  633. package/dist/src/utils/errorParsing.test.js +172 -0
  634. package/dist/src/utils/errorParsing.test.js.map +1 -0
  635. package/dist/src/utils/errorReporting.d.ts +14 -0
  636. package/dist/src/utils/errorReporting.js +88 -0
  637. package/dist/src/utils/errorReporting.js.map +1 -0
  638. package/dist/src/utils/errorReporting.test.d.ts +6 -0
  639. package/dist/src/utils/errorReporting.test.js +130 -0
  640. package/dist/src/utils/errorReporting.test.js.map +1 -0
  641. package/dist/src/utils/errors.d.ts +33 -0
  642. package/dist/src/utils/errors.js +86 -0
  643. package/dist/src/utils/errors.js.map +1 -0
  644. package/dist/src/utils/fetch.d.ts +11 -0
  645. package/dist/src/utils/fetch.js +51 -0
  646. package/dist/src/utils/fetch.js.map +1 -0
  647. package/dist/src/utils/fileUtils.d.ts +53 -0
  648. package/dist/src/utils/fileUtils.js +283 -0
  649. package/dist/src/utils/fileUtils.js.map +1 -0
  650. package/dist/src/utils/fileUtils.test.d.ts +6 -0
  651. package/dist/src/utils/fileUtils.test.js +364 -0
  652. package/dist/src/utils/fileUtils.test.js.map +1 -0
  653. package/dist/src/utils/filesearch/crawlCache.d.ts +25 -0
  654. package/dist/src/utils/filesearch/crawlCache.js +57 -0
  655. package/dist/src/utils/filesearch/crawlCache.js.map +1 -0
  656. package/dist/src/utils/filesearch/crawlCache.test.d.ts +6 -0
  657. package/dist/src/utils/filesearch/crawlCache.test.js +103 -0
  658. package/dist/src/utils/filesearch/crawlCache.test.js.map +1 -0
  659. package/dist/src/utils/filesearch/crawler.d.ts +15 -0
  660. package/dist/src/utils/filesearch/crawler.js +50 -0
  661. package/dist/src/utils/filesearch/crawler.js.map +1 -0
  662. package/dist/src/utils/filesearch/crawler.test.d.ts +6 -0
  663. package/dist/src/utils/filesearch/crawler.test.js +468 -0
  664. package/dist/src/utils/filesearch/crawler.test.js.map +1 -0
  665. package/dist/src/utils/filesearch/fileSearch.d.ts +38 -0
  666. package/dist/src/utils/filesearch/fileSearch.js +191 -0
  667. package/dist/src/utils/filesearch/fileSearch.js.map +1 -0
  668. package/dist/src/utils/filesearch/fileSearch.test.d.ts +6 -0
  669. package/dist/src/utils/filesearch/fileSearch.test.js +642 -0
  670. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -0
  671. package/dist/src/utils/filesearch/ignore.d.ts +42 -0
  672. package/dist/src/utils/filesearch/ignore.js +106 -0
  673. package/dist/src/utils/filesearch/ignore.js.map +1 -0
  674. package/dist/src/utils/filesearch/ignore.test.d.ts +6 -0
  675. package/dist/src/utils/filesearch/ignore.test.js +144 -0
  676. package/dist/src/utils/filesearch/ignore.test.js.map +1 -0
  677. package/dist/src/utils/filesearch/result-cache.d.ts +33 -0
  678. package/dist/src/utils/filesearch/result-cache.js +59 -0
  679. package/dist/src/utils/filesearch/result-cache.js.map +1 -0
  680. package/dist/src/utils/filesearch/result-cache.test.d.ts +6 -0
  681. package/dist/src/utils/filesearch/result-cache.test.js +46 -0
  682. package/dist/src/utils/filesearch/result-cache.test.js.map +1 -0
  683. package/dist/src/utils/flashFallback.integration.test.d.ts +6 -0
  684. package/dist/src/utils/flashFallback.integration.test.js +119 -0
  685. package/dist/src/utils/flashFallback.integration.test.js.map +1 -0
  686. package/dist/src/utils/formatters.d.ts +6 -0
  687. package/dist/src/utils/formatters.js +16 -0
  688. package/dist/src/utils/formatters.js.map +1 -0
  689. package/dist/src/utils/generateContentResponseUtilities.d.ts +13 -0
  690. package/dist/src/utils/generateContentResponseUtilities.js +80 -0
  691. package/dist/src/utils/generateContentResponseUtilities.js.map +1 -0
  692. package/dist/src/utils/generateContentResponseUtilities.test.d.ts +6 -0
  693. package/dist/src/utils/generateContentResponseUtilities.test.js +235 -0
  694. package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -0
  695. package/dist/src/utils/getFolderStructure.d.ts +31 -0
  696. package/dist/src/utils/getFolderStructure.js +246 -0
  697. package/dist/src/utils/getFolderStructure.js.map +1 -0
  698. package/dist/src/utils/getFolderStructure.test.d.ts +6 -0
  699. package/dist/src/utils/getFolderStructure.test.js +282 -0
  700. package/dist/src/utils/getFolderStructure.test.js.map +1 -0
  701. package/dist/src/utils/getPty.d.ts +19 -0
  702. package/dist/src/utils/getPty.js +23 -0
  703. package/dist/src/utils/getPty.js.map +1 -0
  704. package/dist/src/utils/gitIgnoreParser.d.ts +20 -0
  705. package/dist/src/utils/gitIgnoreParser.js +61 -0
  706. package/dist/src/utils/gitIgnoreParser.js.map +1 -0
  707. package/dist/src/utils/gitIgnoreParser.test.d.ts +6 -0
  708. package/dist/src/utils/gitIgnoreParser.test.js +154 -0
  709. package/dist/src/utils/gitIgnoreParser.test.js.map +1 -0
  710. package/dist/src/utils/gitUtils.d.ts +17 -0
  711. package/dist/src/utils/gitUtils.js +61 -0
  712. package/dist/src/utils/gitUtils.js.map +1 -0
  713. package/dist/src/utils/ignorePatterns.d.ts +103 -0
  714. package/dist/src/utils/ignorePatterns.js +220 -0
  715. package/dist/src/utils/ignorePatterns.js.map +1 -0
  716. package/dist/src/utils/ignorePatterns.test.d.ts +6 -0
  717. package/dist/src/utils/ignorePatterns.test.js +250 -0
  718. package/dist/src/utils/ignorePatterns.test.js.map +1 -0
  719. package/dist/src/utils/installationManager.d.ts +16 -0
  720. package/dist/src/utils/installationManager.js +50 -0
  721. package/dist/src/utils/installationManager.js.map +1 -0
  722. package/dist/src/utils/installationManager.test.d.ts +6 -0
  723. package/dist/src/utils/installationManager.test.js +83 -0
  724. package/dist/src/utils/installationManager.test.js.map +1 -0
  725. package/dist/src/utils/language-detection.d.ts +6 -0
  726. package/dist/src/utils/language-detection.js +101 -0
  727. package/dist/src/utils/language-detection.js.map +1 -0
  728. package/dist/src/utils/memoryDiscovery.d.ts +15 -0
  729. package/dist/src/utils/memoryDiscovery.js +271 -0
  730. package/dist/src/utils/memoryDiscovery.js.map +1 -0
  731. package/dist/src/utils/memoryDiscovery.test.d.ts +6 -0
  732. package/dist/src/utils/memoryDiscovery.test.js +219 -0
  733. package/dist/src/utils/memoryDiscovery.test.js.map +1 -0
  734. package/dist/src/utils/memoryImportProcessor.d.ts +42 -0
  735. package/dist/src/utils/memoryImportProcessor.js +296 -0
  736. package/dist/src/utils/memoryImportProcessor.js.map +1 -0
  737. package/dist/src/utils/memoryImportProcessor.test.d.ts +6 -0
  738. package/dist/src/utils/memoryImportProcessor.test.js +573 -0
  739. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -0
  740. package/dist/src/utils/messageInspectors.d.ts +8 -0
  741. package/dist/src/utils/messageInspectors.js +16 -0
  742. package/dist/src/utils/messageInspectors.js.map +1 -0
  743. package/dist/src/utils/nextSpeakerChecker.d.ts +12 -0
  744. package/dist/src/utils/nextSpeakerChecker.js +91 -0
  745. package/dist/src/utils/nextSpeakerChecker.js.map +1 -0
  746. package/dist/src/utils/nextSpeakerChecker.test.d.ts +6 -0
  747. package/dist/src/utils/nextSpeakerChecker.test.js +168 -0
  748. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -0
  749. package/dist/src/utils/openaiLogger.d.ts +42 -0
  750. package/dist/src/utils/openaiLogger.js +123 -0
  751. package/dist/src/utils/openaiLogger.js.map +1 -0
  752. package/dist/src/utils/partUtils.d.ts +35 -0
  753. package/dist/src/utils/partUtils.js +133 -0
  754. package/dist/src/utils/partUtils.js.map +1 -0
  755. package/dist/src/utils/partUtils.test.d.ts +6 -0
  756. package/dist/src/utils/partUtils.test.js +241 -0
  757. package/dist/src/utils/partUtils.test.js.map +1 -0
  758. package/dist/src/utils/pathReader.d.ts +17 -0
  759. package/dist/src/utils/pathReader.js +92 -0
  760. package/dist/src/utils/pathReader.js.map +1 -0
  761. package/dist/src/utils/pathReader.test.d.ts +6 -0
  762. package/dist/src/utils/pathReader.test.js +363 -0
  763. package/dist/src/utils/pathReader.test.js.map +1 -0
  764. package/dist/src/utils/paths.d.ts +58 -0
  765. package/dist/src/utils/paths.js +159 -0
  766. package/dist/src/utils/paths.js.map +1 -0
  767. package/dist/src/utils/paths.test.d.ts +6 -0
  768. package/dist/src/utils/paths.test.js +225 -0
  769. package/dist/src/utils/paths.test.js.map +1 -0
  770. package/dist/src/utils/projectSummary.d.ts +22 -0
  771. package/dist/src/utils/projectSummary.js +86 -0
  772. package/dist/src/utils/projectSummary.js.map +1 -0
  773. package/dist/src/utils/quotaErrorDetection.d.ts +20 -0
  774. package/dist/src/utils/quotaErrorDetection.js +114 -0
  775. package/dist/src/utils/quotaErrorDetection.js.map +1 -0
  776. package/dist/src/utils/quotaErrorDetection.test.d.ts +6 -0
  777. package/dist/src/utils/quotaErrorDetection.test.js +153 -0
  778. package/dist/src/utils/quotaErrorDetection.test.js.map +1 -0
  779. package/dist/src/utils/request-tokenizer/imageTokenizer.d.ts +112 -0
  780. package/dist/src/utils/request-tokenizer/imageTokenizer.js +401 -0
  781. package/dist/src/utils/request-tokenizer/imageTokenizer.js.map +1 -0
  782. package/dist/src/utils/request-tokenizer/imageTokenizer.test.d.ts +6 -0
  783. package/dist/src/utils/request-tokenizer/imageTokenizer.test.js +114 -0
  784. package/dist/src/utils/request-tokenizer/imageTokenizer.test.js.map +1 -0
  785. package/dist/src/utils/request-tokenizer/index.d.ts +18 -0
  786. package/dist/src/utils/request-tokenizer/index.js +30 -0
  787. package/dist/src/utils/request-tokenizer/index.js.map +1 -0
  788. package/dist/src/utils/request-tokenizer/requestTokenizer.d.ts +56 -0
  789. package/dist/src/utils/request-tokenizer/requestTokenizer.js +263 -0
  790. package/dist/src/utils/request-tokenizer/requestTokenizer.js.map +1 -0
  791. package/dist/src/utils/request-tokenizer/requestTokenizer.test.d.ts +6 -0
  792. package/dist/src/utils/request-tokenizer/requestTokenizer.test.js +245 -0
  793. package/dist/src/utils/request-tokenizer/requestTokenizer.test.js.map +1 -0
  794. package/dist/src/utils/request-tokenizer/supportedImageFormats.d.ts +30 -0
  795. package/dist/src/utils/request-tokenizer/supportedImageFormats.js +41 -0
  796. package/dist/src/utils/request-tokenizer/supportedImageFormats.js.map +1 -0
  797. package/dist/src/utils/request-tokenizer/textTokenizer.d.ts +29 -0
  798. package/dist/src/utils/request-tokenizer/textTokenizer.js +88 -0
  799. package/dist/src/utils/request-tokenizer/textTokenizer.js.map +1 -0
  800. package/dist/src/utils/request-tokenizer/textTokenizer.test.d.ts +6 -0
  801. package/dist/src/utils/request-tokenizer/textTokenizer.test.js +253 -0
  802. package/dist/src/utils/request-tokenizer/textTokenizer.test.js.map +1 -0
  803. package/dist/src/utils/request-tokenizer/types.d.ts +55 -0
  804. package/dist/src/utils/request-tokenizer/types.js +7 -0
  805. package/dist/src/utils/request-tokenizer/types.js.map +1 -0
  806. package/dist/src/utils/retry.d.ts +30 -0
  807. package/dist/src/utils/retry.js +288 -0
  808. package/dist/src/utils/retry.js.map +1 -0
  809. package/dist/src/utils/retry.test.d.ts +6 -0
  810. package/dist/src/utils/retry.test.js +452 -0
  811. package/dist/src/utils/retry.test.js.map +1 -0
  812. package/dist/src/utils/safeJsonParse.d.ts +15 -0
  813. package/dist/src/utils/safeJsonParse.js +41 -0
  814. package/dist/src/utils/safeJsonParse.js.map +1 -0
  815. package/dist/src/utils/safeJsonParse.test.d.ts +6 -0
  816. package/dist/src/utils/safeJsonParse.test.js +112 -0
  817. package/dist/src/utils/safeJsonParse.test.js.map +1 -0
  818. package/dist/src/utils/safeJsonStringify.d.ts +13 -0
  819. package/dist/src/utils/safeJsonStringify.js +25 -0
  820. package/dist/src/utils/safeJsonStringify.js.map +1 -0
  821. package/dist/src/utils/safeJsonStringify.test.d.ts +6 -0
  822. package/dist/src/utils/safeJsonStringify.test.js +61 -0
  823. package/dist/src/utils/safeJsonStringify.test.js.map +1 -0
  824. package/dist/src/utils/schemaValidator.d.ts +15 -0
  825. package/dist/src/utils/schemaValidator.js +57 -0
  826. package/dist/src/utils/schemaValidator.js.map +1 -0
  827. package/dist/src/utils/secure-browser-launcher.d.ts +23 -0
  828. package/dist/src/utils/secure-browser-launcher.js +165 -0
  829. package/dist/src/utils/secure-browser-launcher.js.map +1 -0
  830. package/dist/src/utils/secure-browser-launcher.test.d.ts +6 -0
  831. package/dist/src/utils/secure-browser-launcher.test.js +149 -0
  832. package/dist/src/utils/secure-browser-launcher.test.js.map +1 -0
  833. package/dist/src/utils/session.d.ts +6 -0
  834. package/dist/src/utils/session.js +8 -0
  835. package/dist/src/utils/session.js.map +1 -0
  836. package/dist/src/utils/shell-utils.d.ts +121 -0
  837. package/dist/src/utils/shell-utils.js +381 -0
  838. package/dist/src/utils/shell-utils.js.map +1 -0
  839. package/dist/src/utils/shell-utils.test.d.ts +6 -0
  840. package/dist/src/utils/shell-utils.test.js +346 -0
  841. package/dist/src/utils/shell-utils.test.js.map +1 -0
  842. package/dist/src/utils/shellReadOnlyChecker.d.ts +6 -0
  843. package/dist/src/utils/shellReadOnlyChecker.js +247 -0
  844. package/dist/src/utils/shellReadOnlyChecker.js.map +1 -0
  845. package/dist/src/utils/shellReadOnlyChecker.test.d.ts +6 -0
  846. package/dist/src/utils/shellReadOnlyChecker.test.js +47 -0
  847. package/dist/src/utils/shellReadOnlyChecker.test.js.map +1 -0
  848. package/dist/src/utils/subagentGenerator.d.ts +20 -0
  849. package/dist/src/utils/subagentGenerator.js +116 -0
  850. package/dist/src/utils/subagentGenerator.js.map +1 -0
  851. package/dist/src/utils/subagentGenerator.test.d.ts +6 -0
  852. package/dist/src/utils/subagentGenerator.test.js +158 -0
  853. package/dist/src/utils/subagentGenerator.test.js.map +1 -0
  854. package/dist/src/utils/summarizer.d.ts +25 -0
  855. package/dist/src/utils/summarizer.js +51 -0
  856. package/dist/src/utils/summarizer.js.map +1 -0
  857. package/dist/src/utils/summarizer.test.d.ts +6 -0
  858. package/dist/src/utils/summarizer.test.js +131 -0
  859. package/dist/src/utils/summarizer.test.js.map +1 -0
  860. package/dist/src/utils/systemEncoding.d.ts +40 -0
  861. package/dist/src/utils/systemEncoding.js +149 -0
  862. package/dist/src/utils/systemEncoding.js.map +1 -0
  863. package/dist/src/utils/systemEncoding.test.d.ts +6 -0
  864. package/dist/src/utils/systemEncoding.test.js +368 -0
  865. package/dist/src/utils/systemEncoding.test.js.map +1 -0
  866. package/dist/src/utils/testUtils.d.ts +29 -0
  867. package/dist/src/utils/testUtils.js +70 -0
  868. package/dist/src/utils/testUtils.js.map +1 -0
  869. package/dist/src/utils/textUtils.d.ts +13 -0
  870. package/dist/src/utils/textUtils.js +28 -0
  871. package/dist/src/utils/textUtils.js.map +1 -0
  872. package/dist/src/utils/tool-utils.d.ts +19 -0
  873. package/dist/src/utils/tool-utils.js +58 -0
  874. package/dist/src/utils/tool-utils.js.map +1 -0
  875. package/dist/src/utils/tool-utils.test.d.ts +6 -0
  876. package/dist/src/utils/tool-utils.test.js +61 -0
  877. package/dist/src/utils/tool-utils.test.js.map +1 -0
  878. package/dist/src/utils/userAccountManager.d.ts +20 -0
  879. package/dist/src/utils/userAccountManager.js +114 -0
  880. package/dist/src/utils/userAccountManager.js.map +1 -0
  881. package/dist/src/utils/userAccountManager.test.d.ts +6 -0
  882. package/dist/src/utils/userAccountManager.test.js +223 -0
  883. package/dist/src/utils/userAccountManager.test.js.map +1 -0
  884. package/dist/src/utils/workspaceContext.d.ts +66 -0
  885. package/dist/src/utils/workspaceContext.js +171 -0
  886. package/dist/src/utils/workspaceContext.js.map +1 -0
  887. package/dist/src/utils/workspaceContext.test.d.ts +6 -0
  888. package/dist/src/utils/workspaceContext.test.js +318 -0
  889. package/dist/src/utils/workspaceContext.test.js.map +1 -0
  890. package/dist/src/utils/yaml-parser.d.ts +29 -0
  891. package/dist/src/utils/yaml-parser.js +172 -0
  892. package/dist/src/utils/yaml-parser.js.map +1 -0
  893. package/dist/src/utils/yaml-parser.test.d.ts +6 -0
  894. package/dist/src/utils/yaml-parser.test.js +170 -0
  895. package/dist/src/utils/yaml-parser.test.js.map +1 -0
  896. package/dist/tsconfig.tsbuildinfo +1 -0
  897. package/package.json +89 -0
@@ -0,0 +1,593 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Blackbox
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import * as fs from 'fs/promises';
7
+ import * as path from 'path';
8
+ import * as os from 'os';
9
+ // Note: yaml package would need to be added as a dependency
10
+ // For now, we'll use a simple YAML parser implementation
11
+ import { parse as parseYaml, stringify as stringifyYaml, } from '../utils/yaml-parser.js';
12
+ import { SubagentError, SubagentErrorCode } from './types.js';
13
+ import { SubagentValidator } from './validation.js';
14
+ import { SubAgentScope } from './subagent.js';
15
+ import { BuiltinAgentRegistry } from './builtin-agents.js';
16
+ const BLACKBOX_CONFIG_DIR = '.blackboxcli';
17
+ const AGENT_CONFIG_DIR = 'agents';
18
+ /**
19
+ * Manages subagent configurations stored as Markdown files with YAML frontmatter.
20
+ * Provides CRUD operations, validation, and integration with the runtime system.
21
+ */
22
+ export class SubagentManager {
23
+ config;
24
+ validator;
25
+ subagentsCache = null;
26
+ changeListeners = new Set();
27
+ constructor(config) {
28
+ this.config = config;
29
+ this.validator = new SubagentValidator();
30
+ }
31
+ addChangeListener(listener) {
32
+ this.changeListeners.add(listener);
33
+ return () => {
34
+ this.changeListeners.delete(listener);
35
+ };
36
+ }
37
+ notifyChangeListeners() {
38
+ for (const listener of this.changeListeners) {
39
+ try {
40
+ listener();
41
+ }
42
+ catch (error) {
43
+ console.warn('Subagent change listener threw an error:', error);
44
+ }
45
+ }
46
+ }
47
+ /**
48
+ * Creates a new subagent configuration.
49
+ *
50
+ * @param config - Subagent configuration to create
51
+ * @param options - Creation options
52
+ * @throws SubagentError if creation fails
53
+ */
54
+ async createSubagent(config, options) {
55
+ this.validator.validateOrThrow(config);
56
+ // Determine file path
57
+ const filePath = options.customPath || this.getSubagentPath(config.name, options.level);
58
+ // Check if file already exists
59
+ if (!options.overwrite) {
60
+ try {
61
+ await fs.access(filePath);
62
+ throw new SubagentError(`Subagent "${config.name}" already exists at ${filePath}`, SubagentErrorCode.ALREADY_EXISTS, config.name);
63
+ }
64
+ catch (error) {
65
+ if (error instanceof SubagentError)
66
+ throw error;
67
+ // File doesn't exist, which is what we want
68
+ }
69
+ }
70
+ // Ensure directory exists
71
+ const dir = path.dirname(filePath);
72
+ await fs.mkdir(dir, { recursive: true });
73
+ // Update config with actual file path and level
74
+ const finalConfig = {
75
+ ...config,
76
+ level: options.level,
77
+ filePath,
78
+ };
79
+ // Serialize and write the file
80
+ const content = this.serializeSubagent(finalConfig);
81
+ try {
82
+ await fs.writeFile(filePath, content, 'utf8');
83
+ // Refresh cache after successful creation
84
+ await this.refreshCache();
85
+ }
86
+ catch (error) {
87
+ throw new SubagentError(`Failed to write subagent file: ${error instanceof Error ? error.message : 'Unknown error'}`, SubagentErrorCode.FILE_ERROR, config.name);
88
+ }
89
+ }
90
+ /**
91
+ * Loads a subagent configuration by name.
92
+ * If level is specified, only searches that level.
93
+ * If level is omitted, searches project-level first, then user-level, then built-in.
94
+ *
95
+ * @param name - Name of the subagent to load
96
+ * @param level - Optional level to limit search to specific level
97
+ * @returns SubagentConfig or null if not found
98
+ */
99
+ async loadSubagent(name, level) {
100
+ if (level) {
101
+ // Search only the specified level
102
+ if (level === 'builtin') {
103
+ return BuiltinAgentRegistry.getBuiltinAgent(name);
104
+ }
105
+ return this.findSubagentByNameAtLevel(name, level);
106
+ }
107
+ // Try project level first
108
+ const projectConfig = await this.findSubagentByNameAtLevel(name, 'project');
109
+ if (projectConfig) {
110
+ return projectConfig;
111
+ }
112
+ // Try user level
113
+ const userConfig = await this.findSubagentByNameAtLevel(name, 'user');
114
+ if (userConfig) {
115
+ return userConfig;
116
+ }
117
+ // Try built-in agents as fallback
118
+ return BuiltinAgentRegistry.getBuiltinAgent(name);
119
+ }
120
+ /**
121
+ * Updates an existing subagent configuration.
122
+ *
123
+ * @param name - Name of the subagent to update
124
+ * @param updates - Partial configuration updates
125
+ * @throws SubagentError if subagent not found or update fails
126
+ */
127
+ async updateSubagent(name, updates, level) {
128
+ const existing = await this.loadSubagent(name, level);
129
+ if (!existing) {
130
+ throw new SubagentError(`Subagent "${name}" not found`, SubagentErrorCode.NOT_FOUND, name);
131
+ }
132
+ // Prevent updating built-in agents
133
+ if (existing.isBuiltin) {
134
+ throw new SubagentError(`Cannot update built-in subagent "${name}"`, SubagentErrorCode.INVALID_CONFIG, name);
135
+ }
136
+ // Merge updates with existing configuration
137
+ const updatedConfig = this.mergeConfigurations(existing, updates);
138
+ // Validate the updated configuration
139
+ this.validator.validateOrThrow(updatedConfig);
140
+ // Write the updated configuration
141
+ const content = this.serializeSubagent(updatedConfig);
142
+ try {
143
+ await fs.writeFile(existing.filePath, content, 'utf8');
144
+ // Refresh cache after successful update
145
+ await this.refreshCache();
146
+ }
147
+ catch (error) {
148
+ throw new SubagentError(`Failed to update subagent file: ${error instanceof Error ? error.message : 'Unknown error'}`, SubagentErrorCode.FILE_ERROR, name);
149
+ }
150
+ }
151
+ /**
152
+ * Deletes a subagent configuration.
153
+ *
154
+ * @param name - Name of the subagent to delete
155
+ * @param level - Specific level to delete from, or undefined to delete from both
156
+ * @throws SubagentError if deletion fails
157
+ */
158
+ async deleteSubagent(name, level) {
159
+ // Check if it's a built-in agent first
160
+ if (BuiltinAgentRegistry.isBuiltinAgent(name)) {
161
+ throw new SubagentError(`Cannot delete built-in subagent "${name}"`, SubagentErrorCode.INVALID_CONFIG, name);
162
+ }
163
+ const levelsToCheck = level
164
+ ? [level]
165
+ : ['project', 'user'];
166
+ let deleted = false;
167
+ for (const currentLevel of levelsToCheck) {
168
+ // Skip builtin level for deletion
169
+ if (currentLevel === 'builtin') {
170
+ continue;
171
+ }
172
+ // Find the actual subagent file by scanning and parsing
173
+ const config = await this.findSubagentByNameAtLevel(name, currentLevel);
174
+ if (config && config.filePath) {
175
+ try {
176
+ await fs.unlink(config.filePath);
177
+ deleted = true;
178
+ }
179
+ catch (_error) {
180
+ // File might not exist or be accessible, continue
181
+ }
182
+ }
183
+ }
184
+ if (!deleted) {
185
+ throw new SubagentError(`Subagent "${name}" not found`, SubagentErrorCode.NOT_FOUND, name);
186
+ }
187
+ // Refresh cache after successful deletion
188
+ await this.refreshCache();
189
+ }
190
+ /**
191
+ * Lists all available subagents.
192
+ *
193
+ * @param options - Filtering and sorting options
194
+ * @returns Array of subagent metadata
195
+ */
196
+ async listSubagents(options = {}) {
197
+ const subagents = [];
198
+ const seenNames = new Set();
199
+ const levelsToCheck = options.level
200
+ ? [options.level]
201
+ : ['project', 'user', 'builtin'];
202
+ // Check if we should use cache or force refresh
203
+ const shouldUseCache = !options.force && this.subagentsCache !== null;
204
+ // Initialize cache if it doesn't exist or we're forcing a refresh
205
+ if (!shouldUseCache) {
206
+ await this.refreshCache();
207
+ }
208
+ // Collect subagents from each level (project takes precedence over user, user takes precedence over builtin)
209
+ for (const level of levelsToCheck) {
210
+ const levelSubagents = this.subagentsCache?.get(level) || [];
211
+ for (const subagent of levelSubagents) {
212
+ // Skip if we've already seen this name (precedence: project > user > builtin)
213
+ if (seenNames.has(subagent.name)) {
214
+ continue;
215
+ }
216
+ // Apply tool filter if specified
217
+ if (options.hasTool &&
218
+ (!subagent.tools || !subagent.tools.includes(options.hasTool))) {
219
+ continue;
220
+ }
221
+ subagents.push(subagent);
222
+ seenNames.add(subagent.name);
223
+ }
224
+ }
225
+ // Sort results
226
+ if (options.sortBy) {
227
+ subagents.sort((a, b) => {
228
+ let comparison = 0;
229
+ switch (options.sortBy) {
230
+ case 'name':
231
+ comparison = a.name.localeCompare(b.name);
232
+ break;
233
+ case 'level': {
234
+ // Project comes before user, user comes before builtin
235
+ const levelOrder = { project: 0, user: 1, builtin: 2 };
236
+ comparison = levelOrder[a.level] - levelOrder[b.level];
237
+ break;
238
+ }
239
+ default:
240
+ comparison = 0;
241
+ break;
242
+ }
243
+ return options.sortOrder === 'desc' ? -comparison : comparison;
244
+ });
245
+ }
246
+ return subagents;
247
+ }
248
+ /**
249
+ * Refreshes the subagents cache by loading all subagents from disk.
250
+ * This method is called automatically when cache is null or when force=true.
251
+ *
252
+ * @private
253
+ */
254
+ async refreshCache() {
255
+ const subagentsCache = new Map();
256
+ const levels = ['project', 'user', 'builtin'];
257
+ for (const level of levels) {
258
+ const levelSubagents = await this.listSubagentsAtLevel(level);
259
+ subagentsCache.set(level, levelSubagents);
260
+ }
261
+ this.subagentsCache = subagentsCache;
262
+ this.notifyChangeListeners();
263
+ }
264
+ /**
265
+ * Finds a subagent by name and returns its metadata.
266
+ *
267
+ * @param name - Name of the subagent to find
268
+ * @returns SubagentConfig or null if not found
269
+ */
270
+ async findSubagentByName(name, level) {
271
+ const config = await this.loadSubagent(name, level);
272
+ if (!config) {
273
+ return null;
274
+ }
275
+ return config;
276
+ }
277
+ /**
278
+ * Parses a subagent file and returns the configuration.
279
+ *
280
+ * @param filePath - Path to the subagent file
281
+ * @returns SubagentConfig
282
+ * @throws SubagentError if parsing fails
283
+ */
284
+ async parseSubagentFile(filePath, level) {
285
+ let content;
286
+ try {
287
+ content = await fs.readFile(filePath, 'utf8');
288
+ }
289
+ catch (error) {
290
+ throw new SubagentError(`Failed to read subagent file: ${error instanceof Error ? error.message : 'Unknown error'}`, SubagentErrorCode.FILE_ERROR);
291
+ }
292
+ return this.parseSubagentContent(content, filePath, level);
293
+ }
294
+ /**
295
+ * Parses subagent content from a string.
296
+ *
297
+ * @param content - File content
298
+ * @param filePath - File path for error reporting
299
+ * @returns SubagentConfig
300
+ * @throws SubagentError if parsing fails
301
+ */
302
+ parseSubagentContent(content, filePath, level) {
303
+ try {
304
+ // Split frontmatter and content
305
+ const frontmatterRegex = /^---\n([\s\S]*?)\n---\n([\s\S]*)$/;
306
+ const match = content.match(frontmatterRegex);
307
+ if (!match) {
308
+ throw new Error('Invalid format: missing YAML frontmatter');
309
+ }
310
+ const [, frontmatterYaml, systemPrompt] = match;
311
+ // Parse YAML frontmatter
312
+ const frontmatter = parseYaml(frontmatterYaml);
313
+ // Extract required fields and convert to strings
314
+ const nameRaw = frontmatter['name'];
315
+ const descriptionRaw = frontmatter['description'];
316
+ if (nameRaw == null || nameRaw === '') {
317
+ throw new Error('Missing "name" in frontmatter');
318
+ }
319
+ if (descriptionRaw == null || descriptionRaw === '') {
320
+ throw new Error('Missing "description" in frontmatter');
321
+ }
322
+ // Convert to strings (handles numbers, booleans, etc.)
323
+ const name = String(nameRaw);
324
+ const description = String(descriptionRaw);
325
+ // Extract optional fields
326
+ const tools = frontmatter['tools'];
327
+ const modelConfig = frontmatter['modelConfig'];
328
+ const runConfig = frontmatter['runConfig'];
329
+ const color = frontmatter['color'];
330
+ const config = {
331
+ name,
332
+ description,
333
+ tools,
334
+ systemPrompt: systemPrompt.trim(),
335
+ filePath,
336
+ modelConfig: modelConfig,
337
+ runConfig: runConfig,
338
+ color,
339
+ level,
340
+ };
341
+ // Validate the parsed configuration
342
+ const validation = this.validator.validateConfig(config);
343
+ if (!validation.isValid) {
344
+ throw new Error(`Validation failed: ${validation.errors.join(', ')}`);
345
+ }
346
+ return config;
347
+ }
348
+ catch (error) {
349
+ throw new SubagentError(`Failed to parse subagent file: ${error instanceof Error ? error.message : 'Unknown error'}`, SubagentErrorCode.INVALID_CONFIG);
350
+ }
351
+ }
352
+ /**
353
+ * Serializes a subagent configuration to Markdown format.
354
+ *
355
+ * @param config - Configuration to serialize
356
+ * @returns Markdown content with YAML frontmatter
357
+ */
358
+ serializeSubagent(config) {
359
+ // Build frontmatter object
360
+ const frontmatter = {
361
+ name: config.name,
362
+ description: config.description,
363
+ };
364
+ if (config.tools && config.tools.length > 0) {
365
+ frontmatter['tools'] = config.tools;
366
+ }
367
+ // No outputs section
368
+ if (config.modelConfig) {
369
+ frontmatter['modelConfig'] = config.modelConfig;
370
+ }
371
+ if (config.runConfig) {
372
+ frontmatter['runConfig'] = config.runConfig;
373
+ }
374
+ if (config.color && config.color !== 'auto') {
375
+ frontmatter['color'] = config.color;
376
+ }
377
+ // Serialize to YAML
378
+ const yamlContent = stringifyYaml(frontmatter, {
379
+ lineWidth: 0, // Disable line wrapping
380
+ minContentWidth: 0,
381
+ }).trim();
382
+ // Combine frontmatter and system prompt
383
+ return `---\n${yamlContent}\n---\n\n${config.systemPrompt}\n`;
384
+ }
385
+ /**
386
+ * Creates a SubAgentScope from a subagent configuration.
387
+ *
388
+ * @param config - Subagent configuration
389
+ * @param runtimeContext - Runtime context
390
+ * @returns Promise resolving to SubAgentScope
391
+ */
392
+ async createSubagentScope(config, runtimeContext, options) {
393
+ try {
394
+ const runtimeConfig = this.convertToRuntimeConfig(config);
395
+ return await SubAgentScope.create(config.name, runtimeContext, runtimeConfig.promptConfig, runtimeConfig.modelConfig, runtimeConfig.runConfig, runtimeConfig.toolConfig, options?.eventEmitter, options?.hooks);
396
+ }
397
+ catch (error) {
398
+ if (error instanceof Error) {
399
+ throw new SubagentError(`Failed to create SubAgentScope: ${error.message}`, SubagentErrorCode.INVALID_CONFIG, config.name);
400
+ }
401
+ throw error;
402
+ }
403
+ }
404
+ /**
405
+ * Converts a file-based SubagentConfig to runtime configuration
406
+ * compatible with SubAgentScope.create().
407
+ *
408
+ * @param config - File-based subagent configuration
409
+ * @returns Runtime configuration for SubAgentScope
410
+ */
411
+ convertToRuntimeConfig(config) {
412
+ // Build prompt configuration
413
+ const promptConfig = {
414
+ systemPrompt: config.systemPrompt,
415
+ };
416
+ // Build model configuration
417
+ const modelConfig = {
418
+ ...config.modelConfig,
419
+ };
420
+ // Build run configuration
421
+ const runConfig = {
422
+ ...config.runConfig,
423
+ };
424
+ // Build tool configuration if tools are specified
425
+ let toolConfig;
426
+ if (config.tools && config.tools.length > 0) {
427
+ // Transform tools array to ensure all entries are tool names (not display names)
428
+ const toolNames = this.transformToToolNames(config.tools);
429
+ toolConfig = {
430
+ tools: toolNames,
431
+ };
432
+ }
433
+ return {
434
+ promptConfig,
435
+ modelConfig,
436
+ runConfig,
437
+ toolConfig,
438
+ };
439
+ }
440
+ /**
441
+ * Transforms a tools array that may contain tool names or display names
442
+ * into an array containing only tool names.
443
+ *
444
+ * @param tools - Array of tool names or display names
445
+ * @returns Array of tool names
446
+ * @private
447
+ */
448
+ transformToToolNames(tools) {
449
+ const toolRegistry = this.config.getToolRegistry();
450
+ if (!toolRegistry) {
451
+ return tools;
452
+ }
453
+ const allTools = toolRegistry.getAllTools();
454
+ const result = [];
455
+ for (const toolIdentifier of tools) {
456
+ // First, try to find an exact match by tool name (highest priority)
457
+ const exactNameMatch = allTools.find((tool) => tool.name === toolIdentifier);
458
+ if (exactNameMatch) {
459
+ result.push(exactNameMatch.name);
460
+ continue;
461
+ }
462
+ // If no exact name match, try to find by display name
463
+ const displayNameMatch = allTools.find((tool) => tool.displayName === toolIdentifier);
464
+ if (displayNameMatch) {
465
+ result.push(displayNameMatch.name);
466
+ continue;
467
+ }
468
+ // If no match found, preserve the original identifier as-is
469
+ // This allows for tools that might not be registered yet or custom tools
470
+ result.push(toolIdentifier);
471
+ console.warn(`Tool "${toolIdentifier}" not found in tool registry, preserving as-is`);
472
+ }
473
+ return result;
474
+ }
475
+ /**
476
+ * Merges partial configurations with defaults, useful for updating
477
+ * existing configurations.
478
+ *
479
+ * @param base - Base configuration
480
+ * @param updates - Partial updates to apply
481
+ * @returns New configuration with updates applied
482
+ */
483
+ mergeConfigurations(base, updates) {
484
+ return {
485
+ ...base,
486
+ ...updates,
487
+ // Handle nested objects specially
488
+ modelConfig: updates.modelConfig
489
+ ? { ...base.modelConfig, ...updates.modelConfig }
490
+ : base.modelConfig,
491
+ runConfig: updates.runConfig
492
+ ? { ...base.runConfig, ...updates.runConfig }
493
+ : base.runConfig,
494
+ };
495
+ }
496
+ /**
497
+ * Gets the file path for a subagent at a specific level.
498
+ *
499
+ * @param name - Subagent name
500
+ * @param level - Storage level
501
+ * @returns Absolute file path
502
+ */
503
+ getSubagentPath(name, level) {
504
+ if (level === 'builtin') {
505
+ return `<builtin:${name}>`;
506
+ }
507
+ const baseDir = level === 'project'
508
+ ? path.join(this.config.getProjectRoot(), BLACKBOX_CONFIG_DIR, AGENT_CONFIG_DIR)
509
+ : path.join(os.homedir(), BLACKBOX_CONFIG_DIR, AGENT_CONFIG_DIR);
510
+ return path.join(baseDir, `${name}.md`);
511
+ }
512
+ /**
513
+ * Lists subagent files at a specific level.
514
+ * Handles both builtin agents and file-based agents.
515
+ *
516
+ * @param level - Storage level to scan
517
+ * @returns Array of subagent configurations
518
+ */
519
+ async listSubagentsAtLevel(level) {
520
+ // Handle built-in agents
521
+ if (level === 'builtin') {
522
+ return BuiltinAgentRegistry.getBuiltinAgents();
523
+ }
524
+ const projectRoot = this.config.getProjectRoot();
525
+ const homeDir = os.homedir();
526
+ const isHomeDirectory = path.resolve(projectRoot) === path.resolve(homeDir);
527
+ // If project level is requested but project root is same as home directory,
528
+ // return empty array to avoid conflicts between project and global agents
529
+ if (level === 'project' && isHomeDirectory) {
530
+ return [];
531
+ }
532
+ let baseDir = level === 'project' ? projectRoot : homeDir;
533
+ baseDir = path.join(baseDir, BLACKBOX_CONFIG_DIR, AGENT_CONFIG_DIR);
534
+ try {
535
+ const files = await fs.readdir(baseDir);
536
+ const subagents = [];
537
+ for (const file of files) {
538
+ if (!file.endsWith('.md'))
539
+ continue;
540
+ const filePath = path.join(baseDir, file);
541
+ try {
542
+ const config = await this.parseSubagentFile(filePath, level);
543
+ subagents.push(config);
544
+ }
545
+ catch (_error) {
546
+ // Ignore invalid files
547
+ continue;
548
+ }
549
+ }
550
+ return subagents;
551
+ }
552
+ catch (_error) {
553
+ // Directory doesn't exist or can't be read
554
+ return [];
555
+ }
556
+ }
557
+ /**
558
+ * Finds a subagent by name at a specific level by scanning all files.
559
+ * This method ensures we find subagents even if the filename doesn't match the name.
560
+ *
561
+ * @param name - Name of the subagent to find
562
+ * @param level - Storage level to search
563
+ * @returns SubagentConfig or null if not found
564
+ */
565
+ async findSubagentByNameAtLevel(name, level) {
566
+ const allSubagents = await this.listSubagentsAtLevel(level);
567
+ // Find the subagent with matching name
568
+ for (const subagent of allSubagents) {
569
+ if (subagent.name === name) {
570
+ return subagent;
571
+ }
572
+ }
573
+ return null;
574
+ }
575
+ /**
576
+ * Validates that a subagent name is available (not already in use).
577
+ *
578
+ * @param name - Name to check
579
+ * @param level - Level to check, or undefined to check both
580
+ * @returns True if name is available
581
+ */
582
+ async isNameAvailable(name, level) {
583
+ const existing = await this.loadSubagent(name, level);
584
+ if (!existing) {
585
+ return true; // Name is available
586
+ }
587
+ if (level && existing.level !== level) {
588
+ return true; // Name is available at the specified level
589
+ }
590
+ return false; // Name is already in use
591
+ }
592
+ }
593
+ //# sourceMappingURL=subagent-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"subagent-manager.js","sourceRoot":"","sources":["../../../src/subagents/subagent-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Blackbox
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};