@hibanacloud/core 0.3.15

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 (1076) hide show
  1. package/dist/.last_build +0 -0
  2. package/dist/index.d.ts +19 -0
  3. package/dist/index.js +20 -0
  4. package/dist/index.js.map +1 -0
  5. package/dist/src/__mocks__/fs/promises.d.ts +11 -0
  6. package/dist/src/__mocks__/fs/promises.js +17 -0
  7. package/dist/src/__mocks__/fs/promises.js.map +1 -0
  8. package/dist/src/code_assist/codeAssist.d.ts +12 -0
  9. package/dist/src/code_assist/codeAssist.js +31 -0
  10. package/dist/src/code_assist/codeAssist.js.map +1 -0
  11. package/dist/src/code_assist/converter.d.ts +74 -0
  12. package/dist/src/code_assist/converter.js +160 -0
  13. package/dist/src/code_assist/converter.js.map +1 -0
  14. package/dist/src/code_assist/converter.test.d.ts +6 -0
  15. package/dist/src/code_assist/converter.test.js +372 -0
  16. package/dist/src/code_assist/converter.test.js.map +1 -0
  17. package/dist/src/code_assist/oauth-credential-storage.d.ts +25 -0
  18. package/dist/src/code_assist/oauth-credential-storage.js +109 -0
  19. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -0
  20. package/dist/src/code_assist/oauth-credential-storage.test.d.ts +6 -0
  21. package/dist/src/code_assist/oauth-credential-storage.test.js +136 -0
  22. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -0
  23. package/dist/src/code_assist/oauth2.d.ts +22 -0
  24. package/dist/src/code_assist/oauth2.js +431 -0
  25. package/dist/src/code_assist/oauth2.js.map +1 -0
  26. package/dist/src/code_assist/oauth2.test.d.ts +6 -0
  27. package/dist/src/code_assist/oauth2.test.js +818 -0
  28. package/dist/src/code_assist/oauth2.test.js.map +1 -0
  29. package/dist/src/code_assist/server.d.ts +37 -0
  30. package/dist/src/code_assist/server.js +148 -0
  31. package/dist/src/code_assist/server.js.map +1 -0
  32. package/dist/src/code_assist/server.test.d.ts +6 -0
  33. package/dist/src/code_assist/server.test.js +159 -0
  34. package/dist/src/code_assist/server.test.js.map +1 -0
  35. package/dist/src/code_assist/setup.d.ts +20 -0
  36. package/dist/src/code_assist/setup.js +101 -0
  37. package/dist/src/code_assist/setup.js.map +1 -0
  38. package/dist/src/code_assist/setup.test.d.ts +6 -0
  39. package/dist/src/code_assist/setup.test.js +171 -0
  40. package/dist/src/code_assist/setup.test.js.map +1 -0
  41. package/dist/src/code_assist/types.d.ts +163 -0
  42. package/dist/src/code_assist/types.js +46 -0
  43. package/dist/src/code_assist/types.js.map +1 -0
  44. package/dist/src/config/config.d.ts +431 -0
  45. package/dist/src/config/config.js +869 -0
  46. package/dist/src/config/config.js.map +1 -0
  47. package/dist/src/config/config.test.d.ts +6 -0
  48. package/dist/src/config/config.test.js +896 -0
  49. package/dist/src/config/config.test.js.map +1 -0
  50. package/dist/src/config/constants.d.ts +11 -0
  51. package/dist/src/config/constants.js +16 -0
  52. package/dist/src/config/constants.js.map +1 -0
  53. package/dist/src/config/flashFallback.test.d.ts +6 -0
  54. package/dist/src/config/flashFallback.test.js +87 -0
  55. package/dist/src/config/flashFallback.test.js.map +1 -0
  56. package/dist/src/config/models.d.ts +28 -0
  57. package/dist/src/config/models.js +42 -0
  58. package/dist/src/config/models.js.map +1 -0
  59. package/dist/src/config/models.test.d.ts +6 -0
  60. package/dist/src/config/models.test.js +55 -0
  61. package/dist/src/config/models.test.js.map +1 -0
  62. package/dist/src/config/storage.d.ts +34 -0
  63. package/dist/src/config/storage.js +95 -0
  64. package/dist/src/config/storage.js.map +1 -0
  65. package/dist/src/config/storage.test.d.ts +6 -0
  66. package/dist/src/config/storage.test.js +43 -0
  67. package/dist/src/config/storage.test.js.map +1 -0
  68. package/dist/src/core/__tests__/openaiTimeoutHandling.test.d.ts +6 -0
  69. package/dist/src/core/__tests__/openaiTimeoutHandling.test.js +295 -0
  70. package/dist/src/core/__tests__/openaiTimeoutHandling.test.js.map +1 -0
  71. package/dist/src/core/__tests__/orphanedToolCallsTest.d.ts +64 -0
  72. package/dist/src/core/__tests__/orphanedToolCallsTest.js +122 -0
  73. package/dist/src/core/__tests__/orphanedToolCallsTest.js.map +1 -0
  74. package/dist/src/core/baseLlmClient.d.ts +49 -0
  75. package/dist/src/core/baseLlmClient.js +104 -0
  76. package/dist/src/core/baseLlmClient.js.map +1 -0
  77. package/dist/src/core/baseLlmClient.test.d.ts +6 -0
  78. package/dist/src/core/baseLlmClient.test.js +323 -0
  79. package/dist/src/core/baseLlmClient.test.js.map +1 -0
  80. package/dist/src/core/client.d.ts +56 -0
  81. package/dist/src/core/client.js +522 -0
  82. package/dist/src/core/client.js.map +1 -0
  83. package/dist/src/core/client.test.d.ts +6 -0
  84. package/dist/src/core/client.test.js +1829 -0
  85. package/dist/src/core/client.test.js.map +1 -0
  86. package/dist/src/core/contentGenerator.d.ts +52 -0
  87. package/dist/src/core/contentGenerator.js +106 -0
  88. package/dist/src/core/contentGenerator.js.map +1 -0
  89. package/dist/src/core/contentGenerator.test.d.ts +6 -0
  90. package/dist/src/core/contentGenerator.test.js +77 -0
  91. package/dist/src/core/contentGenerator.test.js.map +1 -0
  92. package/dist/src/core/coreToolScheduler.d.ts +134 -0
  93. package/dist/src/core/coreToolScheduler.js +774 -0
  94. package/dist/src/core/coreToolScheduler.js.map +1 -0
  95. package/dist/src/core/coreToolScheduler.test.d.ts +6 -0
  96. package/dist/src/core/coreToolScheduler.test.js +1802 -0
  97. package/dist/src/core/coreToolScheduler.test.js.map +1 -0
  98. package/dist/src/core/geminiChat.d.ts +124 -0
  99. package/dist/src/core/geminiChat.js +518 -0
  100. package/dist/src/core/geminiChat.js.map +1 -0
  101. package/dist/src/core/geminiChat.test.d.ts +6 -0
  102. package/dist/src/core/geminiChat.test.js +1149 -0
  103. package/dist/src/core/geminiChat.test.js.map +1 -0
  104. package/dist/src/core/geminiRequest.d.ts +13 -0
  105. package/dist/src/core/geminiRequest.js +11 -0
  106. package/dist/src/core/geminiRequest.js.map +1 -0
  107. package/dist/src/core/geminiRequest.test.d.ts +6 -0
  108. package/dist/src/core/geminiRequest.test.js +73 -0
  109. package/dist/src/core/geminiRequest.test.js.map +1 -0
  110. package/dist/src/core/logger.d.ts +67 -0
  111. package/dist/src/core/logger.js +361 -0
  112. package/dist/src/core/logger.js.map +1 -0
  113. package/dist/src/core/logger.test.d.ts +6 -0
  114. package/dist/src/core/logger.test.js +534 -0
  115. package/dist/src/core/logger.test.js.map +1 -0
  116. package/dist/src/core/loggingContentGenerator.d.ts +25 -0
  117. package/dist/src/core/loggingContentGenerator.js +94 -0
  118. package/dist/src/core/loggingContentGenerator.js.map +1 -0
  119. package/dist/src/core/nonInteractiveToolExecutor.d.ts +16 -0
  120. package/dist/src/core/nonInteractiveToolExecutor.js +29 -0
  121. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -0
  122. package/dist/src/core/nonInteractiveToolExecutor.test.d.ts +6 -0
  123. package/dist/src/core/nonInteractiveToolExecutor.test.js +294 -0
  124. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -0
  125. package/dist/src/core/openaiContentGenerator/constants.d.ts +7 -0
  126. package/dist/src/core/openaiContentGenerator/constants.js +8 -0
  127. package/dist/src/core/openaiContentGenerator/constants.js.map +1 -0
  128. package/dist/src/core/openaiContentGenerator/converter.d.ts +108 -0
  129. package/dist/src/core/openaiContentGenerator/converter.js +851 -0
  130. package/dist/src/core/openaiContentGenerator/converter.js.map +1 -0
  131. package/dist/src/core/openaiContentGenerator/converter.test.d.ts +6 -0
  132. package/dist/src/core/openaiContentGenerator/converter.test.js +108 -0
  133. package/dist/src/core/openaiContentGenerator/converter.test.js.map +1 -0
  134. package/dist/src/core/openaiContentGenerator/errorHandler.d.ts +20 -0
  135. package/dist/src/core/openaiContentGenerator/errorHandler.js +82 -0
  136. package/dist/src/core/openaiContentGenerator/errorHandler.js.map +1 -0
  137. package/dist/src/core/openaiContentGenerator/errorHandler.test.d.ts +6 -0
  138. package/dist/src/core/openaiContentGenerator/errorHandler.test.js +287 -0
  139. package/dist/src/core/openaiContentGenerator/errorHandler.test.js.map +1 -0
  140. package/dist/src/core/openaiContentGenerator/index.d.ts +22 -0
  141. package/dist/src/core/openaiContentGenerator/index.js +49 -0
  142. package/dist/src/core/openaiContentGenerator/index.js.map +1 -0
  143. package/dist/src/core/openaiContentGenerator/openaiContentGenerator.d.ts +21 -0
  144. package/dist/src/core/openaiContentGenerator/openaiContentGenerator.js +105 -0
  145. package/dist/src/core/openaiContentGenerator/openaiContentGenerator.js.map +1 -0
  146. package/dist/src/core/openaiContentGenerator/openaiContentGenerator.test.d.ts +6 -0
  147. package/dist/src/core/openaiContentGenerator/openaiContentGenerator.test.js +230 -0
  148. package/dist/src/core/openaiContentGenerator/openaiContentGenerator.test.js.map +1 -0
  149. package/dist/src/core/openaiContentGenerator/pipeline.d.ts +66 -0
  150. package/dist/src/core/openaiContentGenerator/pipeline.js +265 -0
  151. package/dist/src/core/openaiContentGenerator/pipeline.js.map +1 -0
  152. package/dist/src/core/openaiContentGenerator/pipeline.test.d.ts +6 -0
  153. package/dist/src/core/openaiContentGenerator/pipeline.test.js +1028 -0
  154. package/dist/src/core/openaiContentGenerator/pipeline.test.js.map +1 -0
  155. package/dist/src/core/openaiContentGenerator/provider/README.md +61 -0
  156. package/dist/src/core/openaiContentGenerator/provider/anthropic.d.ts +14 -0
  157. package/dist/src/core/openaiContentGenerator/provider/anthropic.js +28 -0
  158. package/dist/src/core/openaiContentGenerator/provider/anthropic.js.map +1 -0
  159. package/dist/src/core/openaiContentGenerator/provider/anthropic.test.d.ts +1 -0
  160. package/dist/src/core/openaiContentGenerator/provider/anthropic.test.js +138 -0
  161. package/dist/src/core/openaiContentGenerator/provider/anthropic.test.js.map +1 -0
  162. package/dist/src/core/openaiContentGenerator/provider/dashscope.d.ts +63 -0
  163. package/dist/src/core/openaiContentGenerator/provider/dashscope.js +241 -0
  164. package/dist/src/core/openaiContentGenerator/provider/dashscope.js.map +1 -0
  165. package/dist/src/core/openaiContentGenerator/provider/dashscope.test.d.ts +6 -0
  166. package/dist/src/core/openaiContentGenerator/provider/dashscope.test.js +707 -0
  167. package/dist/src/core/openaiContentGenerator/provider/dashscope.test.js.map +1 -0
  168. package/dist/src/core/openaiContentGenerator/provider/deepseek.d.ts +14 -0
  169. package/dist/src/core/openaiContentGenerator/provider/deepseek.js +70 -0
  170. package/dist/src/core/openaiContentGenerator/provider/deepseek.js.map +1 -0
  171. package/dist/src/core/openaiContentGenerator/provider/deepseek.test.d.ts +6 -0
  172. package/dist/src/core/openaiContentGenerator/provider/deepseek.test.js +151 -0
  173. package/dist/src/core/openaiContentGenerator/provider/deepseek.test.js.map +1 -0
  174. package/dist/src/core/openaiContentGenerator/provider/default.d.ts +15 -0
  175. package/dist/src/core/openaiContentGenerator/provider/default.js +48 -0
  176. package/dist/src/core/openaiContentGenerator/provider/default.js.map +1 -0
  177. package/dist/src/core/openaiContentGenerator/provider/default.test.d.ts +6 -0
  178. package/dist/src/core/openaiContentGenerator/provider/default.test.js +176 -0
  179. package/dist/src/core/openaiContentGenerator/provider/default.test.js.map +1 -0
  180. package/dist/src/core/openaiContentGenerator/provider/index.d.ts +7 -0
  181. package/dist/src/core/openaiContentGenerator/provider/index.js +7 -0
  182. package/dist/src/core/openaiContentGenerator/provider/index.js.map +1 -0
  183. package/dist/src/core/openaiContentGenerator/provider/modelscope.d.ts +17 -0
  184. package/dist/src/core/openaiContentGenerator/provider/modelscope.js +25 -0
  185. package/dist/src/core/openaiContentGenerator/provider/modelscope.js.map +1 -0
  186. package/dist/src/core/openaiContentGenerator/provider/modelscope.test.d.ts +6 -0
  187. package/dist/src/core/openaiContentGenerator/provider/modelscope.test.js +66 -0
  188. package/dist/src/core/openaiContentGenerator/provider/modelscope.test.js.map +1 -0
  189. package/dist/src/core/openaiContentGenerator/provider/openrouter.d.ts +10 -0
  190. package/dist/src/core/openaiContentGenerator/provider/openrouter.js +33 -0
  191. package/dist/src/core/openaiContentGenerator/provider/openrouter.js.map +1 -0
  192. package/dist/src/core/openaiContentGenerator/provider/openrouter.test.d.ts +6 -0
  193. package/dist/src/core/openaiContentGenerator/provider/openrouter.test.js +175 -0
  194. package/dist/src/core/openaiContentGenerator/provider/openrouter.test.js.map +1 -0
  195. package/dist/src/core/openaiContentGenerator/provider/types.d.ts +23 -0
  196. package/dist/src/core/openaiContentGenerator/provider/types.js +2 -0
  197. package/dist/src/core/openaiContentGenerator/provider/types.js.map +1 -0
  198. package/dist/src/core/openaiContentGenerator/streamingToolCallParser.d.ts +145 -0
  199. package/dist/src/core/openaiContentGenerator/streamingToolCallParser.js +381 -0
  200. package/dist/src/core/openaiContentGenerator/streamingToolCallParser.js.map +1 -0
  201. package/dist/src/core/openaiContentGenerator/streamingToolCallParser.test.d.ts +6 -0
  202. package/dist/src/core/openaiContentGenerator/streamingToolCallParser.test.js +537 -0
  203. package/dist/src/core/openaiContentGenerator/streamingToolCallParser.test.js.map +1 -0
  204. package/dist/src/core/openaiContentGenerator/telemetryService.d.ts +36 -0
  205. package/dist/src/core/openaiContentGenerator/telemetryService.js +150 -0
  206. package/dist/src/core/openaiContentGenerator/telemetryService.js.map +1 -0
  207. package/dist/src/core/openaiContentGenerator/telemetryService.test.d.ts +6 -0
  208. package/dist/src/core/openaiContentGenerator/telemetryService.test.js +978 -0
  209. package/dist/src/core/openaiContentGenerator/telemetryService.test.js.map +1 -0
  210. package/dist/src/core/prompts.d.ts +73 -0
  211. package/dist/src/core/prompts.js +813 -0
  212. package/dist/src/core/prompts.js.map +1 -0
  213. package/dist/src/core/prompts.test.d.ts +6 -0
  214. package/dist/src/core/prompts.test.js +488 -0
  215. package/dist/src/core/prompts.test.js.map +1 -0
  216. package/dist/src/core/tokenLimits.d.ts +25 -0
  217. package/dist/src/core/tokenLimits.js +194 -0
  218. package/dist/src/core/tokenLimits.js.map +1 -0
  219. package/dist/src/core/tokenLimits.test.d.ts +1 -0
  220. package/dist/src/core/tokenLimits.test.js +304 -0
  221. package/dist/src/core/tokenLimits.test.js.map +1 -0
  222. package/dist/src/core/turn.d.ts +152 -0
  223. package/dist/src/core/turn.js +187 -0
  224. package/dist/src/core/turn.js.map +1 -0
  225. package/dist/src/core/turn.test.d.ts +6 -0
  226. package/dist/src/core/turn.test.js +628 -0
  227. package/dist/src/core/turn.test.js.map +1 -0
  228. package/dist/src/fallback/handler.d.ts +7 -0
  229. package/dist/src/fallback/handler.js +97 -0
  230. package/dist/src/fallback/handler.js.map +1 -0
  231. package/dist/src/fallback/handler.test.d.ts +6 -0
  232. package/dist/src/fallback/handler.test.js +130 -0
  233. package/dist/src/fallback/handler.test.js.map +1 -0
  234. package/dist/src/fallback/types.d.ts +14 -0
  235. package/dist/src/fallback/types.js +7 -0
  236. package/dist/src/fallback/types.js.map +1 -0
  237. package/dist/src/generated/git-commit.d.ts +7 -0
  238. package/dist/src/generated/git-commit.js +10 -0
  239. package/dist/src/generated/git-commit.js.map +1 -0
  240. package/dist/src/ide/constants.d.ts +9 -0
  241. package/dist/src/ide/constants.js +10 -0
  242. package/dist/src/ide/constants.js.map +1 -0
  243. package/dist/src/ide/detect-ide.d.ts +56 -0
  244. package/dist/src/ide/detect-ide.js +68 -0
  245. package/dist/src/ide/detect-ide.js.map +1 -0
  246. package/dist/src/ide/detect-ide.test.d.ts +6 -0
  247. package/dist/src/ide/detect-ide.test.js +113 -0
  248. package/dist/src/ide/detect-ide.test.js.map +1 -0
  249. package/dist/src/ide/ide-client.d.ts +110 -0
  250. package/dist/src/ide/ide-client.js +651 -0
  251. package/dist/src/ide/ide-client.js.map +1 -0
  252. package/dist/src/ide/ide-client.test.d.ts +6 -0
  253. package/dist/src/ide/ide-client.test.js +390 -0
  254. package/dist/src/ide/ide-client.test.js.map +1 -0
  255. package/dist/src/ide/ide-installer.d.ts +14 -0
  256. package/dist/src/ide/ide-installer.js +112 -0
  257. package/dist/src/ide/ide-installer.js.map +1 -0
  258. package/dist/src/ide/ide-installer.test.d.ts +6 -0
  259. package/dist/src/ide/ide-installer.test.js +134 -0
  260. package/dist/src/ide/ide-installer.test.js.map +1 -0
  261. package/dist/src/ide/ideContext.d.ts +44 -0
  262. package/dist/src/ide/ideContext.js +101 -0
  263. package/dist/src/ide/ideContext.js.map +1 -0
  264. package/dist/src/ide/ideContext.test.d.ts +6 -0
  265. package/dist/src/ide/ideContext.test.js +393 -0
  266. package/dist/src/ide/ideContext.test.js.map +1 -0
  267. package/dist/src/ide/process-utils.d.ts +21 -0
  268. package/dist/src/ide/process-utils.js +171 -0
  269. package/dist/src/ide/process-utils.js.map +1 -0
  270. package/dist/src/ide/process-utils.test.d.ts +6 -0
  271. package/dist/src/ide/process-utils.test.js +158 -0
  272. package/dist/src/ide/process-utils.test.js.map +1 -0
  273. package/dist/src/ide/types.d.ts +486 -0
  274. package/dist/src/ide/types.js +138 -0
  275. package/dist/src/ide/types.js.map +1 -0
  276. package/dist/src/index.d.ts +99 -0
  277. package/dist/src/index.js +112 -0
  278. package/dist/src/index.js.map +1 -0
  279. package/dist/src/index.test.d.ts +6 -0
  280. package/dist/src/index.test.js +12 -0
  281. package/dist/src/index.test.js.map +1 -0
  282. package/dist/src/mcp/google-auth-provider.d.ts +23 -0
  283. package/dist/src/mcp/google-auth-provider.js +72 -0
  284. package/dist/src/mcp/google-auth-provider.js.map +1 -0
  285. package/dist/src/mcp/google-auth-provider.test.d.ts +6 -0
  286. package/dist/src/mcp/google-auth-provider.test.js +89 -0
  287. package/dist/src/mcp/google-auth-provider.test.js.map +1 -0
  288. package/dist/src/mcp/oauth-provider.d.ts +150 -0
  289. package/dist/src/mcp/oauth-provider.js +613 -0
  290. package/dist/src/mcp/oauth-provider.js.map +1 -0
  291. package/dist/src/mcp/oauth-provider.test.d.ts +6 -0
  292. package/dist/src/mcp/oauth-provider.test.js +847 -0
  293. package/dist/src/mcp/oauth-provider.test.js.map +1 -0
  294. package/dist/src/mcp/oauth-token-storage.d.ts +65 -0
  295. package/dist/src/mcp/oauth-token-storage.js +180 -0
  296. package/dist/src/mcp/oauth-token-storage.js.map +1 -0
  297. package/dist/src/mcp/oauth-token-storage.test.d.ts +6 -0
  298. package/dist/src/mcp/oauth-token-storage.test.js +299 -0
  299. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -0
  300. package/dist/src/mcp/oauth-utils.d.ts +119 -0
  301. package/dist/src/mcp/oauth-utils.js +236 -0
  302. package/dist/src/mcp/oauth-utils.js.map +1 -0
  303. package/dist/src/mcp/oauth-utils.test.d.ts +6 -0
  304. package/dist/src/mcp/oauth-utils.test.js +199 -0
  305. package/dist/src/mcp/oauth-utils.test.js.map +1 -0
  306. package/dist/src/mcp/sa-impersonation-provider.d.ts +33 -0
  307. package/dist/src/mcp/sa-impersonation-provider.js +130 -0
  308. package/dist/src/mcp/sa-impersonation-provider.js.map +1 -0
  309. package/dist/src/mcp/sa-impersonation-provider.test.d.ts +6 -0
  310. package/dist/src/mcp/sa-impersonation-provider.test.js +117 -0
  311. package/dist/src/mcp/sa-impersonation-provider.test.js.map +1 -0
  312. package/dist/src/mcp/token-storage/base-token-storage.d.ts +19 -0
  313. package/dist/src/mcp/token-storage/base-token-storage.js +36 -0
  314. package/dist/src/mcp/token-storage/base-token-storage.js.map +1 -0
  315. package/dist/src/mcp/token-storage/base-token-storage.test.d.ts +6 -0
  316. package/dist/src/mcp/token-storage/base-token-storage.test.js +160 -0
  317. package/dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -0
  318. package/dist/src/mcp/token-storage/file-token-storage.d.ts +24 -0
  319. package/dist/src/mcp/token-storage/file-token-storage.js +144 -0
  320. package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -0
  321. package/dist/src/mcp/token-storage/file-token-storage.test.d.ts +6 -0
  322. package/dist/src/mcp/token-storage/file-token-storage.test.js +235 -0
  323. package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -0
  324. package/dist/src/mcp/token-storage/hybrid-token-storage.d.ts +23 -0
  325. package/dist/src/mcp/token-storage/hybrid-token-storage.js +78 -0
  326. package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -0
  327. package/dist/src/mcp/token-storage/hybrid-token-storage.test.d.ts +6 -0
  328. package/dist/src/mcp/token-storage/hybrid-token-storage.test.js +193 -0
  329. package/dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +1 -0
  330. package/dist/src/mcp/token-storage/index.d.ts +11 -0
  331. package/dist/src/mcp/token-storage/index.js +12 -0
  332. package/dist/src/mcp/token-storage/index.js.map +1 -0
  333. package/dist/src/mcp/token-storage/keychain-token-storage.d.ts +31 -0
  334. package/dist/src/mcp/token-storage/keychain-token-storage.js +190 -0
  335. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -0
  336. package/dist/src/mcp/token-storage/keychain-token-storage.test.d.ts +6 -0
  337. package/dist/src/mcp/token-storage/keychain-token-storage.test.js +254 -0
  338. package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -0
  339. package/dist/src/mcp/token-storage/types.d.ts +38 -0
  340. package/dist/src/mcp/token-storage/types.js +11 -0
  341. package/dist/src/mcp/token-storage/types.js.map +1 -0
  342. package/dist/src/mocks/msw.d.ts +6 -0
  343. package/dist/src/mocks/msw.js +8 -0
  344. package/dist/src/mocks/msw.js.map +1 -0
  345. package/dist/src/oauth/callbackServer.d.ts +15 -0
  346. package/dist/src/oauth/callbackServer.js +89 -0
  347. package/dist/src/oauth/callbackServer.js.map +1 -0
  348. package/dist/src/oauth/oauthClient.d.ts +57 -0
  349. package/dist/src/oauth/oauthClient.js +233 -0
  350. package/dist/src/oauth/oauthClient.js.map +1 -0
  351. package/dist/src/oauth/pkce.d.ts +25 -0
  352. package/dist/src/oauth/pkce.js +45 -0
  353. package/dist/src/oauth/pkce.js.map +1 -0
  354. package/dist/src/oauth/tokenManager.d.ts +37 -0
  355. package/dist/src/oauth/tokenManager.js +110 -0
  356. package/dist/src/oauth/tokenManager.js.map +1 -0
  357. package/dist/src/output/json-formatter.d.ts +11 -0
  358. package/dist/src/output/json-formatter.js +30 -0
  359. package/dist/src/output/json-formatter.js.map +1 -0
  360. package/dist/src/output/json-formatter.test.d.ts +6 -0
  361. package/dist/src/output/json-formatter.test.js +266 -0
  362. package/dist/src/output/json-formatter.test.js.map +1 -0
  363. package/dist/src/output/types.d.ts +25 -0
  364. package/dist/src/output/types.js +17 -0
  365. package/dist/src/output/types.js.map +1 -0
  366. package/dist/src/prompts/mcp-prompts.d.ts +8 -0
  367. package/dist/src/prompts/mcp-prompts.js +13 -0
  368. package/dist/src/prompts/mcp-prompts.js.map +1 -0
  369. package/dist/src/prompts/prompt-registry.d.ts +34 -0
  370. package/dist/src/prompts/prompt-registry.js +63 -0
  371. package/dist/src/prompts/prompt-registry.js.map +1 -0
  372. package/dist/src/qwen/qwenContentGenerator.d.ts +70 -0
  373. package/dist/src/qwen/qwenContentGenerator.js +180 -0
  374. package/dist/src/qwen/qwenContentGenerator.js.map +1 -0
  375. package/dist/src/qwen/qwenContentGenerator.test.d.ts +6 -0
  376. package/dist/src/qwen/qwenContentGenerator.test.js +1178 -0
  377. package/dist/src/qwen/qwenContentGenerator.test.js.map +1 -0
  378. package/dist/src/qwen/qwenOAuth2.d.ts +194 -0
  379. package/dist/src/qwen/qwenOAuth2.js +594 -0
  380. package/dist/src/qwen/qwenOAuth2.js.map +1 -0
  381. package/dist/src/qwen/qwenOAuth2.test.d.ts +6 -0
  382. package/dist/src/qwen/qwenOAuth2.test.js +1724 -0
  383. package/dist/src/qwen/qwenOAuth2.test.js.map +1 -0
  384. package/dist/src/qwen/sharedTokenManager.d.ts +196 -0
  385. package/dist/src/qwen/sharedTokenManager.js +647 -0
  386. package/dist/src/qwen/sharedTokenManager.js.map +1 -0
  387. package/dist/src/qwen/sharedTokenManager.test.d.ts +7 -0
  388. package/dist/src/qwen/sharedTokenManager.test.js +662 -0
  389. package/dist/src/qwen/sharedTokenManager.test.js.map +1 -0
  390. package/dist/src/services/chatCompressionService.d.ts +32 -0
  391. package/dist/src/services/chatCompressionService.js +180 -0
  392. package/dist/src/services/chatCompressionService.js.map +1 -0
  393. package/dist/src/services/chatCompressionService.test.d.ts +6 -0
  394. package/dist/src/services/chatCompressionService.test.js +292 -0
  395. package/dist/src/services/chatCompressionService.test.js.map +1 -0
  396. package/dist/src/services/chatRecordingService.d.ts +144 -0
  397. package/dist/src/services/chatRecordingService.js +330 -0
  398. package/dist/src/services/chatRecordingService.js.map +1 -0
  399. package/dist/src/services/chatRecordingService.test.d.ts +6 -0
  400. package/dist/src/services/chatRecordingService.test.js +332 -0
  401. package/dist/src/services/chatRecordingService.test.js.map +1 -0
  402. package/dist/src/services/fileDiscoveryService.d.ts +45 -0
  403. package/dist/src/services/fileDiscoveryService.js +104 -0
  404. package/dist/src/services/fileDiscoveryService.js.map +1 -0
  405. package/dist/src/services/fileDiscoveryService.test.d.ts +6 -0
  406. package/dist/src/services/fileDiscoveryService.test.js +143 -0
  407. package/dist/src/services/fileDiscoveryService.test.js.map +1 -0
  408. package/dist/src/services/fileSystemService.d.ts +40 -0
  409. package/dist/src/services/fileSystemService.js +29 -0
  410. package/dist/src/services/fileSystemService.js.map +1 -0
  411. package/dist/src/services/fileSystemService.test.d.ts +6 -0
  412. package/dist/src/services/fileSystemService.test.js +41 -0
  413. package/dist/src/services/fileSystemService.test.js.map +1 -0
  414. package/dist/src/services/gitService.d.ts +22 -0
  415. package/dist/src/services/gitService.js +98 -0
  416. package/dist/src/services/gitService.js.map +1 -0
  417. package/dist/src/services/gitService.test.d.ts +6 -0
  418. package/dist/src/services/gitService.test.js +187 -0
  419. package/dist/src/services/gitService.test.js.map +1 -0
  420. package/dist/src/services/loopDetectionService.d.ts +103 -0
  421. package/dist/src/services/loopDetectionService.js +379 -0
  422. package/dist/src/services/loopDetectionService.js.map +1 -0
  423. package/dist/src/services/loopDetectionService.test.d.ts +6 -0
  424. package/dist/src/services/loopDetectionService.test.js +588 -0
  425. package/dist/src/services/loopDetectionService.test.js.map +1 -0
  426. package/dist/src/services/shellExecutionService.d.ts +102 -0
  427. package/dist/src/services/shellExecutionService.js +522 -0
  428. package/dist/src/services/shellExecutionService.js.map +1 -0
  429. package/dist/src/services/shellExecutionService.test.d.ts +6 -0
  430. package/dist/src/services/shellExecutionService.test.js +655 -0
  431. package/dist/src/services/shellExecutionService.test.js.map +1 -0
  432. package/dist/src/subagents/builtin-agents.d.ts +35 -0
  433. package/dist/src/subagents/builtin-agents.js +85 -0
  434. package/dist/src/subagents/builtin-agents.js.map +1 -0
  435. package/dist/src/subagents/builtin-agents.test.d.ts +6 -0
  436. package/dist/src/subagents/builtin-agents.test.js +78 -0
  437. package/dist/src/subagents/builtin-agents.test.js.map +1 -0
  438. package/dist/src/subagents/index.d.ts +29 -0
  439. package/dist/src/subagents/index.js +15 -0
  440. package/dist/src/subagents/index.js.map +1 -0
  441. package/dist/src/subagents/subagent-events.d.ts +95 -0
  442. package/dist/src/subagents/subagent-events.js +31 -0
  443. package/dist/src/subagents/subagent-events.js.map +1 -0
  444. package/dist/src/subagents/subagent-hooks.d.ts +29 -0
  445. package/dist/src/subagents/subagent-hooks.js +7 -0
  446. package/dist/src/subagents/subagent-hooks.js.map +1 -0
  447. package/dist/src/subagents/subagent-manager.d.ts +170 -0
  448. package/dist/src/subagents/subagent-manager.js +596 -0
  449. package/dist/src/subagents/subagent-manager.js.map +1 -0
  450. package/dist/src/subagents/subagent-manager.test.d.ts +6 -0
  451. package/dist/src/subagents/subagent-manager.test.js +822 -0
  452. package/dist/src/subagents/subagent-manager.test.js.map +1 -0
  453. package/dist/src/subagents/subagent-statistics.d.ts +46 -0
  454. package/dist/src/subagents/subagent-statistics.js +193 -0
  455. package/dist/src/subagents/subagent-statistics.js.map +1 -0
  456. package/dist/src/subagents/subagent-statistics.test.d.ts +6 -0
  457. package/dist/src/subagents/subagent-statistics.test.js +231 -0
  458. package/dist/src/subagents/subagent-statistics.test.js.map +1 -0
  459. package/dist/src/subagents/subagent.d.ts +162 -0
  460. package/dist/src/subagents/subagent.js +677 -0
  461. package/dist/src/subagents/subagent.js.map +1 -0
  462. package/dist/src/subagents/subagent.test.d.ts +6 -0
  463. package/dist/src/subagents/subagent.test.js +477 -0
  464. package/dist/src/subagents/subagent.test.js.map +1 -0
  465. package/dist/src/subagents/types.d.ts +218 -0
  466. package/dist/src/subagents/types.js +58 -0
  467. package/dist/src/subagents/types.js.map +1 -0
  468. package/dist/src/subagents/types.test.d.ts +6 -0
  469. package/dist/src/subagents/types.test.js +31 -0
  470. package/dist/src/subagents/types.test.js.map +1 -0
  471. package/dist/src/subagents/validation.d.ts +63 -0
  472. package/dist/src/subagents/validation.js +293 -0
  473. package/dist/src/subagents/validation.js.map +1 -0
  474. package/dist/src/subagents/validation.test.d.ts +6 -0
  475. package/dist/src/subagents/validation.test.js +330 -0
  476. package/dist/src/subagents/validation.test.js.map +1 -0
  477. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +137 -0
  478. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +915 -0
  479. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -0
  480. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +18 -0
  481. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +594 -0
  482. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -0
  483. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +115 -0
  484. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +291 -0
  485. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -0
  486. package/dist/src/telemetry/config.d.ts +31 -0
  487. package/dist/src/telemetry/config.js +76 -0
  488. package/dist/src/telemetry/config.js.map +1 -0
  489. package/dist/src/telemetry/config.test.d.ts +6 -0
  490. package/dist/src/telemetry/config.test.js +124 -0
  491. package/dist/src/telemetry/config.test.js.map +1 -0
  492. package/dist/src/telemetry/constants.d.ts +36 -0
  493. package/dist/src/telemetry/constants.js +38 -0
  494. package/dist/src/telemetry/constants.js.map +1 -0
  495. package/dist/src/telemetry/file-exporters.d.ts +29 -0
  496. package/dist/src/telemetry/file-exporters.js +62 -0
  497. package/dist/src/telemetry/file-exporters.js.map +1 -0
  498. package/dist/src/telemetry/index.d.ts +25 -0
  499. package/dist/src/telemetry/index.js +31 -0
  500. package/dist/src/telemetry/index.js.map +1 -0
  501. package/dist/src/telemetry/integration.test.circular.d.ts +6 -0
  502. package/dist/src/telemetry/integration.test.circular.js +95 -0
  503. package/dist/src/telemetry/integration.test.circular.js.map +1 -0
  504. package/dist/src/telemetry/loggers.d.ts +37 -0
  505. package/dist/src/telemetry/loggers.js +651 -0
  506. package/dist/src/telemetry/loggers.js.map +1 -0
  507. package/dist/src/telemetry/loggers.test.circular.d.ts +6 -0
  508. package/dist/src/telemetry/loggers.test.circular.js +107 -0
  509. package/dist/src/telemetry/loggers.test.circular.js.map +1 -0
  510. package/dist/src/telemetry/loggers.test.d.ts +6 -0
  511. package/dist/src/telemetry/loggers.test.js +978 -0
  512. package/dist/src/telemetry/loggers.test.js.map +1 -0
  513. package/dist/src/telemetry/metrics.d.ts +320 -0
  514. package/dist/src/telemetry/metrics.js +532 -0
  515. package/dist/src/telemetry/metrics.js.map +1 -0
  516. package/dist/src/telemetry/metrics.test.d.ts +6 -0
  517. package/dist/src/telemetry/metrics.test.js +744 -0
  518. package/dist/src/telemetry/metrics.test.js.map +1 -0
  519. package/dist/src/telemetry/qwen-logger/event-types.d.ts +88 -0
  520. package/dist/src/telemetry/qwen-logger/event-types.js +2 -0
  521. package/dist/src/telemetry/qwen-logger/event-types.js.map +1 -0
  522. package/dist/src/telemetry/qwen-logger/qwen-logger.d.ts +91 -0
  523. package/dist/src/telemetry/qwen-logger/qwen-logger.js +685 -0
  524. package/dist/src/telemetry/qwen-logger/qwen-logger.js.map +1 -0
  525. package/dist/src/telemetry/qwen-logger/qwen-logger.test.d.ts +6 -0
  526. package/dist/src/telemetry/qwen-logger/qwen-logger.test.js +317 -0
  527. package/dist/src/telemetry/qwen-logger/qwen-logger.test.js.map +1 -0
  528. package/dist/src/telemetry/sdk.d.ts +9 -0
  529. package/dist/src/telemetry/sdk.js +164 -0
  530. package/dist/src/telemetry/sdk.js.map +1 -0
  531. package/dist/src/telemetry/sdk.test.d.ts +6 -0
  532. package/dist/src/telemetry/sdk.test.js +116 -0
  533. package/dist/src/telemetry/sdk.test.js.map +1 -0
  534. package/dist/src/telemetry/telemetry-utils.d.ts +6 -0
  535. package/dist/src/telemetry/telemetry-utils.js +14 -0
  536. package/dist/src/telemetry/telemetry-utils.js.map +1 -0
  537. package/dist/src/telemetry/telemetry-utils.test.d.ts +6 -0
  538. package/dist/src/telemetry/telemetry-utils.test.js +40 -0
  539. package/dist/src/telemetry/telemetry-utils.test.js.map +1 -0
  540. package/dist/src/telemetry/telemetry.test.d.ts +6 -0
  541. package/dist/src/telemetry/telemetry.test.js +50 -0
  542. package/dist/src/telemetry/telemetry.test.js.map +1 -0
  543. package/dist/src/telemetry/tool-call-decision.d.ts +13 -0
  544. package/dist/src/telemetry/tool-call-decision.js +29 -0
  545. package/dist/src/telemetry/tool-call-decision.js.map +1 -0
  546. package/dist/src/telemetry/types.d.ts +327 -0
  547. package/dist/src/telemetry/types.js +558 -0
  548. package/dist/src/telemetry/types.js.map +1 -0
  549. package/dist/src/telemetry/uiTelemetry.d.ts +75 -0
  550. package/dist/src/telemetry/uiTelemetry.js +152 -0
  551. package/dist/src/telemetry/uiTelemetry.js.map +1 -0
  552. package/dist/src/telemetry/uiTelemetry.test.d.ts +6 -0
  553. package/dist/src/telemetry/uiTelemetry.test.js +625 -0
  554. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -0
  555. package/dist/src/test-utils/config.d.ts +17 -0
  556. package/dist/src/test-utils/config.js +32 -0
  557. package/dist/src/test-utils/config.js.map +1 -0
  558. package/dist/src/test-utils/index.d.ts +6 -0
  559. package/dist/src/test-utils/index.js +7 -0
  560. package/dist/src/test-utils/index.js.map +1 -0
  561. package/dist/src/test-utils/mock-tool.d.ts +66 -0
  562. package/dist/src/test-utils/mock-tool.js +121 -0
  563. package/dist/src/test-utils/mock-tool.js.map +1 -0
  564. package/dist/src/test-utils/mockWorkspaceContext.d.ts +13 -0
  565. package/dist/src/test-utils/mockWorkspaceContext.js +24 -0
  566. package/dist/src/test-utils/mockWorkspaceContext.js.map +1 -0
  567. package/dist/src/tools/diffOptions.d.ts +9 -0
  568. package/dist/src/tools/diffOptions.js +46 -0
  569. package/dist/src/tools/diffOptions.js.map +1 -0
  570. package/dist/src/tools/diffOptions.test.d.ts +6 -0
  571. package/dist/src/tools/diffOptions.test.js +155 -0
  572. package/dist/src/tools/diffOptions.test.js.map +1 -0
  573. package/dist/src/tools/edit.d.ts +55 -0
  574. package/dist/src/tools/edit.js +421 -0
  575. package/dist/src/tools/edit.js.map +1 -0
  576. package/dist/src/tools/edit.test.d.ts +6 -0
  577. package/dist/src/tools/edit.test.js +684 -0
  578. package/dist/src/tools/edit.test.js.map +1 -0
  579. package/dist/src/tools/exitPlanMode.d.ts +28 -0
  580. package/dist/src/tools/exitPlanMode.js +132 -0
  581. package/dist/src/tools/exitPlanMode.js.map +1 -0
  582. package/dist/src/tools/exitPlanMode.test.d.ts +6 -0
  583. package/dist/src/tools/exitPlanMode.test.js +178 -0
  584. package/dist/src/tools/exitPlanMode.test.js.map +1 -0
  585. package/dist/src/tools/glob.d.ts +44 -0
  586. package/dist/src/tools/glob.js +190 -0
  587. package/dist/src/tools/glob.js.map +1 -0
  588. package/dist/src/tools/glob.test.d.ts +6 -0
  589. package/dist/src/tools/glob.test.js +442 -0
  590. package/dist/src/tools/glob.test.js.map +1 -0
  591. package/dist/src/tools/grep.d.ts +44 -0
  592. package/dist/src/tools/grep.js +425 -0
  593. package/dist/src/tools/grep.js.map +1 -0
  594. package/dist/src/tools/grep.test.d.ts +6 -0
  595. package/dist/src/tools/grep.test.js +360 -0
  596. package/dist/src/tools/grep.test.js.map +1 -0
  597. package/dist/src/tools/ls.d.ts +68 -0
  598. package/dist/src/tools/ls.js +215 -0
  599. package/dist/src/tools/ls.js.map +1 -0
  600. package/dist/src/tools/ls.test.d.ts +6 -0
  601. package/dist/src/tools/ls.test.js +249 -0
  602. package/dist/src/tools/ls.test.js.map +1 -0
  603. package/dist/src/tools/mcp-client-manager.d.ts +40 -0
  604. package/dist/src/tools/mcp-client-manager.js +83 -0
  605. package/dist/src/tools/mcp-client-manager.js.map +1 -0
  606. package/dist/src/tools/mcp-client-manager.test.d.ts +6 -0
  607. package/dist/src/tools/mcp-client-manager.test.js +58 -0
  608. package/dist/src/tools/mcp-client-manager.test.js.map +1 -0
  609. package/dist/src/tools/mcp-client.d.ts +189 -0
  610. package/dist/src/tools/mcp-client.js +957 -0
  611. package/dist/src/tools/mcp-client.js.map +1 -0
  612. package/dist/src/tools/mcp-client.test.d.ts +6 -0
  613. package/dist/src/tools/mcp-client.test.js +309 -0
  614. package/dist/src/tools/mcp-client.test.js.map +1 -0
  615. package/dist/src/tools/mcp-tool.d.ts +24 -0
  616. package/dist/src/tools/mcp-tool.js +268 -0
  617. package/dist/src/tools/mcp-tool.js.map +1 -0
  618. package/dist/src/tools/mcp-tool.test.d.ts +6 -0
  619. package/dist/src/tools/mcp-tool.test.js +714 -0
  620. package/dist/src/tools/mcp-tool.test.js.map +1 -0
  621. package/dist/src/tools/memoryTool.d.ts +41 -0
  622. package/dist/src/tools/memoryTool.js +396 -0
  623. package/dist/src/tools/memoryTool.js.map +1 -0
  624. package/dist/src/tools/memoryTool.test.d.ts +6 -0
  625. package/dist/src/tools/memoryTool.test.js +419 -0
  626. package/dist/src/tools/memoryTool.test.js.map +1 -0
  627. package/dist/src/tools/modifiable-tool.d.ts +32 -0
  628. package/dist/src/tools/modifiable-tool.js +88 -0
  629. package/dist/src/tools/modifiable-tool.js.map +1 -0
  630. package/dist/src/tools/modifiable-tool.test.d.ts +6 -0
  631. package/dist/src/tools/modifiable-tool.test.js +193 -0
  632. package/dist/src/tools/modifiable-tool.test.js.map +1 -0
  633. package/dist/src/tools/read-file.d.ts +35 -0
  634. package/dist/src/tools/read-file.js +124 -0
  635. package/dist/src/tools/read-file.js.map +1 -0
  636. package/dist/src/tools/read-file.test.d.ts +6 -0
  637. package/dist/src/tools/read-file.test.js +339 -0
  638. package/dist/src/tools/read-file.test.js.map +1 -0
  639. package/dist/src/tools/read-many-files.d.ts +60 -0
  640. package/dist/src/tools/read-many-files.js +391 -0
  641. package/dist/src/tools/read-many-files.js.map +1 -0
  642. package/dist/src/tools/read-many-files.test.d.ts +6 -0
  643. package/dist/src/tools/read-many-files.test.js +566 -0
  644. package/dist/src/tools/read-many-files.test.js.map +1 -0
  645. package/dist/src/tools/ripGrep.d.ts +44 -0
  646. package/dist/src/tools/ripGrep.js +233 -0
  647. package/dist/src/tools/ripGrep.js.map +1 -0
  648. package/dist/src/tools/ripGrep.test.d.ts +6 -0
  649. package/dist/src/tools/ripGrep.test.js +529 -0
  650. package/dist/src/tools/ripGrep.test.js.map +1 -0
  651. package/dist/src/tools/shell.d.ts +33 -0
  652. package/dist/src/tools/shell.js +388 -0
  653. package/dist/src/tools/shell.js.map +1 -0
  654. package/dist/src/tools/shell.test.d.ts +6 -0
  655. package/dist/src/tools/shell.test.js +566 -0
  656. package/dist/src/tools/shell.test.js.map +1 -0
  657. package/dist/src/tools/smart-edit.d.ts +91 -0
  658. package/dist/src/tools/smart-edit.js +703 -0
  659. package/dist/src/tools/smart-edit.js.map +1 -0
  660. package/dist/src/tools/smart-edit.test.d.ts +6 -0
  661. package/dist/src/tools/smart-edit.test.js +542 -0
  662. package/dist/src/tools/smart-edit.test.js.map +1 -0
  663. package/dist/src/tools/task.d.ts +59 -0
  664. package/dist/src/tools/task.js +412 -0
  665. package/dist/src/tools/task.js.map +1 -0
  666. package/dist/src/tools/task.test.d.ts +6 -0
  667. package/dist/src/tools/task.test.js +369 -0
  668. package/dist/src/tools/task.test.js.map +1 -0
  669. package/dist/src/tools/todoWrite.d.ts +42 -0
  670. package/dist/src/tools/todoWrite.js +407 -0
  671. package/dist/src/tools/todoWrite.js.map +1 -0
  672. package/dist/src/tools/todoWrite.test.d.ts +6 -0
  673. package/dist/src/tools/todoWrite.test.js +234 -0
  674. package/dist/src/tools/todoWrite.test.js.map +1 -0
  675. package/dist/src/tools/tool-error.d.ts +45 -0
  676. package/dist/src/tools/tool-error.js +61 -0
  677. package/dist/src/tools/tool-error.js.map +1 -0
  678. package/dist/src/tools/tool-names.d.ts +56 -0
  679. package/dist/src/tools/tool-names.js +62 -0
  680. package/dist/src/tools/tool-names.js.map +1 -0
  681. package/dist/src/tools/tool-registry.d.ts +87 -0
  682. package/dist/src/tools/tool-registry.js +370 -0
  683. package/dist/src/tools/tool-registry.js.map +1 -0
  684. package/dist/src/tools/tool-registry.test.d.ts +6 -0
  685. package/dist/src/tools/tool-registry.test.js +332 -0
  686. package/dist/src/tools/tool-registry.test.js.map +1 -0
  687. package/dist/src/tools/tools.d.ts +327 -0
  688. package/dist/src/tools/tools.js +258 -0
  689. package/dist/src/tools/tools.js.map +1 -0
  690. package/dist/src/tools/tools.test.d.ts +6 -0
  691. package/dist/src/tools/tools.test.js +205 -0
  692. package/dist/src/tools/tools.test.js.map +1 -0
  693. package/dist/src/tools/web-fetch.d.ts +31 -0
  694. package/dist/src/tools/web-fetch.js +163 -0
  695. package/dist/src/tools/web-fetch.js.map +1 -0
  696. package/dist/src/tools/web-fetch.test.d.ts +6 -0
  697. package/dist/src/tools/web-fetch.test.js +133 -0
  698. package/dist/src/tools/web-fetch.test.js.map +1 -0
  699. package/dist/src/tools/web-search/base-provider.d.ts +31 -0
  700. package/dist/src/tools/web-search/base-provider.js +34 -0
  701. package/dist/src/tools/web-search/base-provider.js.map +1 -0
  702. package/dist/src/tools/web-search/index.d.ts +24 -0
  703. package/dist/src/tools/web-search/index.js +245 -0
  704. package/dist/src/tools/web-search/index.js.map +1 -0
  705. package/dist/src/tools/web-search/index.test.d.ts +6 -0
  706. package/dist/src/tools/web-search/index.test.js +237 -0
  707. package/dist/src/tools/web-search/index.test.js.map +1 -0
  708. package/dist/src/tools/web-search/providers/dashscope-provider.d.ts +23 -0
  709. package/dist/src/tools/web-search/providers/dashscope-provider.js +120 -0
  710. package/dist/src/tools/web-search/providers/dashscope-provider.js.map +1 -0
  711. package/dist/src/tools/web-search/providers/google-provider.d.ts +17 -0
  712. package/dist/src/tools/web-search/providers/google-provider.js +55 -0
  713. package/dist/src/tools/web-search/providers/google-provider.js.map +1 -0
  714. package/dist/src/tools/web-search/providers/tavily-provider.d.ts +17 -0
  715. package/dist/src/tools/web-search/providers/tavily-provider.js +54 -0
  716. package/dist/src/tools/web-search/providers/tavily-provider.js.map +1 -0
  717. package/dist/src/tools/web-search/types.d.ts +138 -0
  718. package/dist/src/tools/web-search/types.js +7 -0
  719. package/dist/src/tools/web-search/types.js.map +1 -0
  720. package/dist/src/tools/web-search/utils.d.ts +28 -0
  721. package/dist/src/tools/web-search/utils.js +35 -0
  722. package/dist/src/tools/web-search/utils.js.map +1 -0
  723. package/dist/src/tools/write-file.d.ts +52 -0
  724. package/dist/src/tools/write-file.js +293 -0
  725. package/dist/src/tools/write-file.js.map +1 -0
  726. package/dist/src/tools/write-file.test.d.ts +6 -0
  727. package/dist/src/tools/write-file.test.js +516 -0
  728. package/dist/src/tools/write-file.test.js.map +1 -0
  729. package/dist/src/utils/LruCache.d.ts +13 -0
  730. package/dist/src/utils/LruCache.js +38 -0
  731. package/dist/src/utils/LruCache.js.map +1 -0
  732. package/dist/src/utils/bfsFileSearch.d.ts +24 -0
  733. package/dist/src/utils/bfsFileSearch.js +95 -0
  734. package/dist/src/utils/bfsFileSearch.js.map +1 -0
  735. package/dist/src/utils/bfsFileSearch.test.d.ts +6 -0
  736. package/dist/src/utils/bfsFileSearch.test.js +163 -0
  737. package/dist/src/utils/bfsFileSearch.test.js.map +1 -0
  738. package/dist/src/utils/browser.d.ts +13 -0
  739. package/dist/src/utils/browser.js +50 -0
  740. package/dist/src/utils/browser.js.map +1 -0
  741. package/dist/src/utils/editHelper.d.ts +53 -0
  742. package/dist/src/utils/editHelper.js +359 -0
  743. package/dist/src/utils/editHelper.js.map +1 -0
  744. package/dist/src/utils/editHelper.test.d.ts +6 -0
  745. package/dist/src/utils/editHelper.test.js +93 -0
  746. package/dist/src/utils/editHelper.test.js.map +1 -0
  747. package/dist/src/utils/editor.d.ts +28 -0
  748. package/dist/src/utils/editor.js +177 -0
  749. package/dist/src/utils/editor.js.map +1 -0
  750. package/dist/src/utils/editor.test.d.ts +6 -0
  751. package/dist/src/utils/editor.test.js +437 -0
  752. package/dist/src/utils/editor.test.js.map +1 -0
  753. package/dist/src/utils/environmentContext.d.ts +22 -0
  754. package/dist/src/utils/environmentContext.js +108 -0
  755. package/dist/src/utils/environmentContext.js.map +1 -0
  756. package/dist/src/utils/environmentContext.test.d.ts +6 -0
  757. package/dist/src/utils/environmentContext.test.js +219 -0
  758. package/dist/src/utils/environmentContext.test.js.map +1 -0
  759. package/dist/src/utils/errorParsing.d.ts +8 -0
  760. package/dist/src/utils/errorParsing.js +93 -0
  761. package/dist/src/utils/errorParsing.js.map +1 -0
  762. package/dist/src/utils/errorParsing.test.d.ts +6 -0
  763. package/dist/src/utils/errorParsing.test.js +172 -0
  764. package/dist/src/utils/errorParsing.test.js.map +1 -0
  765. package/dist/src/utils/errorReporting.d.ts +14 -0
  766. package/dist/src/utils/errorReporting.js +88 -0
  767. package/dist/src/utils/errorReporting.js.map +1 -0
  768. package/dist/src/utils/errorReporting.test.d.ts +6 -0
  769. package/dist/src/utils/errorReporting.test.js +130 -0
  770. package/dist/src/utils/errorReporting.test.js.map +1 -0
  771. package/dist/src/utils/errors.d.ts +39 -0
  772. package/dist/src/utils/errors.js +96 -0
  773. package/dist/src/utils/errors.js.map +1 -0
  774. package/dist/src/utils/fetch.d.ts +11 -0
  775. package/dist/src/utils/fetch.js +51 -0
  776. package/dist/src/utils/fetch.js.map +1 -0
  777. package/dist/src/utils/fileUtils.d.ts +69 -0
  778. package/dist/src/utils/fileUtils.js +426 -0
  779. package/dist/src/utils/fileUtils.js.map +1 -0
  780. package/dist/src/utils/fileUtils.test.d.ts +6 -0
  781. package/dist/src/utils/fileUtils.test.js +685 -0
  782. package/dist/src/utils/fileUtils.test.js.map +1 -0
  783. package/dist/src/utils/filesearch/crawlCache.d.ts +25 -0
  784. package/dist/src/utils/filesearch/crawlCache.js +57 -0
  785. package/dist/src/utils/filesearch/crawlCache.js.map +1 -0
  786. package/dist/src/utils/filesearch/crawlCache.test.d.ts +6 -0
  787. package/dist/src/utils/filesearch/crawlCache.test.js +103 -0
  788. package/dist/src/utils/filesearch/crawlCache.test.js.map +1 -0
  789. package/dist/src/utils/filesearch/crawler.d.ts +15 -0
  790. package/dist/src/utils/filesearch/crawler.js +50 -0
  791. package/dist/src/utils/filesearch/crawler.js.map +1 -0
  792. package/dist/src/utils/filesearch/crawler.test.d.ts +6 -0
  793. package/dist/src/utils/filesearch/crawler.test.js +468 -0
  794. package/dist/src/utils/filesearch/crawler.test.js.map +1 -0
  795. package/dist/src/utils/filesearch/fileSearch.d.ts +38 -0
  796. package/dist/src/utils/filesearch/fileSearch.js +191 -0
  797. package/dist/src/utils/filesearch/fileSearch.js.map +1 -0
  798. package/dist/src/utils/filesearch/fileSearch.test.d.ts +6 -0
  799. package/dist/src/utils/filesearch/fileSearch.test.js +642 -0
  800. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -0
  801. package/dist/src/utils/filesearch/ignore.d.ts +42 -0
  802. package/dist/src/utils/filesearch/ignore.js +106 -0
  803. package/dist/src/utils/filesearch/ignore.js.map +1 -0
  804. package/dist/src/utils/filesearch/ignore.test.d.ts +6 -0
  805. package/dist/src/utils/filesearch/ignore.test.js +144 -0
  806. package/dist/src/utils/filesearch/ignore.test.js.map +1 -0
  807. package/dist/src/utils/filesearch/result-cache.d.ts +33 -0
  808. package/dist/src/utils/filesearch/result-cache.js +59 -0
  809. package/dist/src/utils/filesearch/result-cache.js.map +1 -0
  810. package/dist/src/utils/filesearch/result-cache.test.d.ts +6 -0
  811. package/dist/src/utils/filesearch/result-cache.test.js +46 -0
  812. package/dist/src/utils/filesearch/result-cache.test.js.map +1 -0
  813. package/dist/src/utils/flashFallback.test.d.ts +6 -0
  814. package/dist/src/utils/flashFallback.test.js +122 -0
  815. package/dist/src/utils/flashFallback.test.js.map +1 -0
  816. package/dist/src/utils/formatters.d.ts +6 -0
  817. package/dist/src/utils/formatters.js +16 -0
  818. package/dist/src/utils/formatters.js.map +1 -0
  819. package/dist/src/utils/generateContentResponseUtilities.d.ts +13 -0
  820. package/dist/src/utils/generateContentResponseUtilities.js +80 -0
  821. package/dist/src/utils/generateContentResponseUtilities.js.map +1 -0
  822. package/dist/src/utils/generateContentResponseUtilities.test.d.ts +6 -0
  823. package/dist/src/utils/generateContentResponseUtilities.test.js +235 -0
  824. package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -0
  825. package/dist/src/utils/getFolderStructure.d.ts +31 -0
  826. package/dist/src/utils/getFolderStructure.js +246 -0
  827. package/dist/src/utils/getFolderStructure.js.map +1 -0
  828. package/dist/src/utils/getFolderStructure.test.d.ts +6 -0
  829. package/dist/src/utils/getFolderStructure.test.js +282 -0
  830. package/dist/src/utils/getFolderStructure.test.js.map +1 -0
  831. package/dist/src/utils/getPty.d.ts +19 -0
  832. package/dist/src/utils/getPty.js +23 -0
  833. package/dist/src/utils/getPty.js.map +1 -0
  834. package/dist/src/utils/gitIgnoreParser.d.ts +16 -0
  835. package/dist/src/utils/gitIgnoreParser.js +152 -0
  836. package/dist/src/utils/gitIgnoreParser.js.map +1 -0
  837. package/dist/src/utils/gitIgnoreParser.test.d.ts +6 -0
  838. package/dist/src/utils/gitIgnoreParser.test.js +185 -0
  839. package/dist/src/utils/gitIgnoreParser.test.js.map +1 -0
  840. package/dist/src/utils/gitUtils.d.ts +17 -0
  841. package/dist/src/utils/gitUtils.js +61 -0
  842. package/dist/src/utils/gitUtils.js.map +1 -0
  843. package/dist/src/utils/ignorePatterns.d.ts +103 -0
  844. package/dist/src/utils/ignorePatterns.js +220 -0
  845. package/dist/src/utils/ignorePatterns.js.map +1 -0
  846. package/dist/src/utils/ignorePatterns.test.d.ts +6 -0
  847. package/dist/src/utils/ignorePatterns.test.js +250 -0
  848. package/dist/src/utils/ignorePatterns.test.js.map +1 -0
  849. package/dist/src/utils/installationManager.d.ts +16 -0
  850. package/dist/src/utils/installationManager.js +50 -0
  851. package/dist/src/utils/installationManager.js.map +1 -0
  852. package/dist/src/utils/installationManager.test.d.ts +6 -0
  853. package/dist/src/utils/installationManager.test.js +83 -0
  854. package/dist/src/utils/installationManager.test.js.map +1 -0
  855. package/dist/src/utils/language-detection.d.ts +6 -0
  856. package/dist/src/utils/language-detection.js +101 -0
  857. package/dist/src/utils/language-detection.js.map +1 -0
  858. package/dist/src/utils/llm-edit-fixer.d.ts +26 -0
  859. package/dist/src/utils/llm-edit-fixer.js +131 -0
  860. package/dist/src/utils/llm-edit-fixer.js.map +1 -0
  861. package/dist/src/utils/llm-edit-fixer.test.d.ts +6 -0
  862. package/dist/src/utils/llm-edit-fixer.test.js +186 -0
  863. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -0
  864. package/dist/src/utils/memoryDiscovery.d.ts +16 -0
  865. package/dist/src/utils/memoryDiscovery.js +272 -0
  866. package/dist/src/utils/memoryDiscovery.js.map +1 -0
  867. package/dist/src/utils/memoryDiscovery.test.d.ts +6 -0
  868. package/dist/src/utils/memoryDiscovery.test.js +244 -0
  869. package/dist/src/utils/memoryDiscovery.test.js.map +1 -0
  870. package/dist/src/utils/memoryImportProcessor.d.ts +42 -0
  871. package/dist/src/utils/memoryImportProcessor.js +284 -0
  872. package/dist/src/utils/memoryImportProcessor.js.map +1 -0
  873. package/dist/src/utils/memoryImportProcessor.test.d.ts +6 -0
  874. package/dist/src/utils/memoryImportProcessor.test.js +587 -0
  875. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -0
  876. package/dist/src/utils/messageInspectors.d.ts +8 -0
  877. package/dist/src/utils/messageInspectors.js +16 -0
  878. package/dist/src/utils/messageInspectors.js.map +1 -0
  879. package/dist/src/utils/nextSpeakerChecker.d.ts +12 -0
  880. package/dist/src/utils/nextSpeakerChecker.js +97 -0
  881. package/dist/src/utils/nextSpeakerChecker.js.map +1 -0
  882. package/dist/src/utils/nextSpeakerChecker.test.d.ts +6 -0
  883. package/dist/src/utils/nextSpeakerChecker.test.js +181 -0
  884. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -0
  885. package/dist/src/utils/openaiLogger.d.ts +42 -0
  886. package/dist/src/utils/openaiLogger.js +138 -0
  887. package/dist/src/utils/openaiLogger.js.map +1 -0
  888. package/dist/src/utils/openaiLogger.test.d.ts +6 -0
  889. package/dist/src/utils/openaiLogger.test.js +304 -0
  890. package/dist/src/utils/openaiLogger.test.js.map +1 -0
  891. package/dist/src/utils/partUtils.d.ts +35 -0
  892. package/dist/src/utils/partUtils.js +133 -0
  893. package/dist/src/utils/partUtils.js.map +1 -0
  894. package/dist/src/utils/partUtils.test.d.ts +6 -0
  895. package/dist/src/utils/partUtils.test.js +241 -0
  896. package/dist/src/utils/partUtils.test.js.map +1 -0
  897. package/dist/src/utils/pathReader.d.ts +17 -0
  898. package/dist/src/utils/pathReader.js +92 -0
  899. package/dist/src/utils/pathReader.js.map +1 -0
  900. package/dist/src/utils/pathReader.test.d.ts +6 -0
  901. package/dist/src/utils/pathReader.test.js +365 -0
  902. package/dist/src/utils/pathReader.test.js.map +1 -0
  903. package/dist/src/utils/paths.d.ts +93 -0
  904. package/dist/src/utils/paths.js +229 -0
  905. package/dist/src/utils/paths.js.map +1 -0
  906. package/dist/src/utils/paths.test.d.ts +6 -0
  907. package/dist/src/utils/paths.test.js +438 -0
  908. package/dist/src/utils/paths.test.js.map +1 -0
  909. package/dist/src/utils/projectSummary.d.ts +22 -0
  910. package/dist/src/utils/projectSummary.js +86 -0
  911. package/dist/src/utils/projectSummary.js.map +1 -0
  912. package/dist/src/utils/promptIdContext.d.ts +7 -0
  913. package/dist/src/utils/promptIdContext.js +8 -0
  914. package/dist/src/utils/promptIdContext.js.map +1 -0
  915. package/dist/src/utils/quotaErrorDetection.d.ts +20 -0
  916. package/dist/src/utils/quotaErrorDetection.js +114 -0
  917. package/dist/src/utils/quotaErrorDetection.js.map +1 -0
  918. package/dist/src/utils/quotaErrorDetection.test.d.ts +6 -0
  919. package/dist/src/utils/quotaErrorDetection.test.js +153 -0
  920. package/dist/src/utils/quotaErrorDetection.test.js.map +1 -0
  921. package/dist/src/utils/qwenIgnoreParser.d.ts +18 -0
  922. package/dist/src/utils/qwenIgnoreParser.js +69 -0
  923. package/dist/src/utils/qwenIgnoreParser.js.map +1 -0
  924. package/dist/src/utils/qwenIgnoreParser.test.d.ts +6 -0
  925. package/dist/src/utils/qwenIgnoreParser.test.js +50 -0
  926. package/dist/src/utils/qwenIgnoreParser.test.js.map +1 -0
  927. package/dist/src/utils/request-tokenizer/imageTokenizer.d.ts +112 -0
  928. package/dist/src/utils/request-tokenizer/imageTokenizer.js +401 -0
  929. package/dist/src/utils/request-tokenizer/imageTokenizer.js.map +1 -0
  930. package/dist/src/utils/request-tokenizer/imageTokenizer.test.d.ts +6 -0
  931. package/dist/src/utils/request-tokenizer/imageTokenizer.test.js +114 -0
  932. package/dist/src/utils/request-tokenizer/imageTokenizer.test.js.map +1 -0
  933. package/dist/src/utils/request-tokenizer/index.d.ts +18 -0
  934. package/dist/src/utils/request-tokenizer/index.js +30 -0
  935. package/dist/src/utils/request-tokenizer/index.js.map +1 -0
  936. package/dist/src/utils/request-tokenizer/requestTokenizer.d.ts +56 -0
  937. package/dist/src/utils/request-tokenizer/requestTokenizer.js +263 -0
  938. package/dist/src/utils/request-tokenizer/requestTokenizer.js.map +1 -0
  939. package/dist/src/utils/request-tokenizer/requestTokenizer.test.d.ts +6 -0
  940. package/dist/src/utils/request-tokenizer/requestTokenizer.test.js +245 -0
  941. package/dist/src/utils/request-tokenizer/requestTokenizer.test.js.map +1 -0
  942. package/dist/src/utils/request-tokenizer/supportedImageFormats.d.ts +30 -0
  943. package/dist/src/utils/request-tokenizer/supportedImageFormats.js +41 -0
  944. package/dist/src/utils/request-tokenizer/supportedImageFormats.js.map +1 -0
  945. package/dist/src/utils/request-tokenizer/textTokenizer.d.ts +29 -0
  946. package/dist/src/utils/request-tokenizer/textTokenizer.js +88 -0
  947. package/dist/src/utils/request-tokenizer/textTokenizer.js.map +1 -0
  948. package/dist/src/utils/request-tokenizer/textTokenizer.test.d.ts +6 -0
  949. package/dist/src/utils/request-tokenizer/textTokenizer.test.js +253 -0
  950. package/dist/src/utils/request-tokenizer/textTokenizer.test.js.map +1 -0
  951. package/dist/src/utils/request-tokenizer/types.d.ts +55 -0
  952. package/dist/src/utils/request-tokenizer/types.js +7 -0
  953. package/dist/src/utils/request-tokenizer/types.js.map +1 -0
  954. package/dist/src/utils/retry.d.ts +32 -0
  955. package/dist/src/utils/retry.js +303 -0
  956. package/dist/src/utils/retry.js.map +1 -0
  957. package/dist/src/utils/retry.test.d.ts +6 -0
  958. package/dist/src/utils/retry.test.js +474 -0
  959. package/dist/src/utils/retry.test.js.map +1 -0
  960. package/dist/src/utils/ripgrepUtils.d.ts +61 -0
  961. package/dist/src/utils/ripgrepUtils.js +230 -0
  962. package/dist/src/utils/ripgrepUtils.js.map +1 -0
  963. package/dist/src/utils/ripgrepUtils.test.d.ts +6 -0
  964. package/dist/src/utils/ripgrepUtils.test.js +101 -0
  965. package/dist/src/utils/ripgrepUtils.test.js.map +1 -0
  966. package/dist/src/utils/safeJsonParse.d.ts +15 -0
  967. package/dist/src/utils/safeJsonParse.js +41 -0
  968. package/dist/src/utils/safeJsonParse.js.map +1 -0
  969. package/dist/src/utils/safeJsonParse.test.d.ts +6 -0
  970. package/dist/src/utils/safeJsonParse.test.js +112 -0
  971. package/dist/src/utils/safeJsonParse.test.js.map +1 -0
  972. package/dist/src/utils/safeJsonStringify.d.ts +13 -0
  973. package/dist/src/utils/safeJsonStringify.js +25 -0
  974. package/dist/src/utils/safeJsonStringify.js.map +1 -0
  975. package/dist/src/utils/safeJsonStringify.test.d.ts +6 -0
  976. package/dist/src/utils/safeJsonStringify.test.js +61 -0
  977. package/dist/src/utils/safeJsonStringify.test.js.map +1 -0
  978. package/dist/src/utils/schemaValidator.d.ts +15 -0
  979. package/dist/src/utils/schemaValidator.js +67 -0
  980. package/dist/src/utils/schemaValidator.js.map +1 -0
  981. package/dist/src/utils/schemaValidator.test.d.ts +6 -0
  982. package/dist/src/utils/schemaValidator.test.js +113 -0
  983. package/dist/src/utils/schemaValidator.test.js.map +1 -0
  984. package/dist/src/utils/secure-browser-launcher.d.ts +23 -0
  985. package/dist/src/utils/secure-browser-launcher.js +165 -0
  986. package/dist/src/utils/secure-browser-launcher.js.map +1 -0
  987. package/dist/src/utils/secure-browser-launcher.test.d.ts +6 -0
  988. package/dist/src/utils/secure-browser-launcher.test.js +149 -0
  989. package/dist/src/utils/secure-browser-launcher.test.js.map +1 -0
  990. package/dist/src/utils/session.d.ts +6 -0
  991. package/dist/src/utils/session.js +8 -0
  992. package/dist/src/utils/session.js.map +1 -0
  993. package/dist/src/utils/shell-utils.d.ts +152 -0
  994. package/dist/src/utils/shell-utils.js +467 -0
  995. package/dist/src/utils/shell-utils.js.map +1 -0
  996. package/dist/src/utils/shell-utils.test.d.ts +6 -0
  997. package/dist/src/utils/shell-utils.test.js +351 -0
  998. package/dist/src/utils/shell-utils.test.js.map +1 -0
  999. package/dist/src/utils/shellReadOnlyChecker.d.ts +6 -0
  1000. package/dist/src/utils/shellReadOnlyChecker.js +247 -0
  1001. package/dist/src/utils/shellReadOnlyChecker.js.map +1 -0
  1002. package/dist/src/utils/shellReadOnlyChecker.test.d.ts +6 -0
  1003. package/dist/src/utils/shellReadOnlyChecker.test.js +47 -0
  1004. package/dist/src/utils/shellReadOnlyChecker.test.js.map +1 -0
  1005. package/dist/src/utils/subagentGenerator.d.ts +20 -0
  1006. package/dist/src/utils/subagentGenerator.js +120 -0
  1007. package/dist/src/utils/subagentGenerator.js.map +1 -0
  1008. package/dist/src/utils/subagentGenerator.test.d.ts +6 -0
  1009. package/dist/src/utils/subagentGenerator.test.js +135 -0
  1010. package/dist/src/utils/subagentGenerator.test.js.map +1 -0
  1011. package/dist/src/utils/summarizer.d.ts +25 -0
  1012. package/dist/src/utils/summarizer.js +51 -0
  1013. package/dist/src/utils/summarizer.js.map +1 -0
  1014. package/dist/src/utils/summarizer.test.d.ts +6 -0
  1015. package/dist/src/utils/summarizer.test.js +131 -0
  1016. package/dist/src/utils/summarizer.test.js.map +1 -0
  1017. package/dist/src/utils/systemEncoding.d.ts +40 -0
  1018. package/dist/src/utils/systemEncoding.js +149 -0
  1019. package/dist/src/utils/systemEncoding.js.map +1 -0
  1020. package/dist/src/utils/systemEncoding.test.d.ts +6 -0
  1021. package/dist/src/utils/systemEncoding.test.js +368 -0
  1022. package/dist/src/utils/systemEncoding.test.js.map +1 -0
  1023. package/dist/src/utils/terminalSerializer.d.ts +25 -0
  1024. package/dist/src/utils/terminalSerializer.js +432 -0
  1025. package/dist/src/utils/terminalSerializer.js.map +1 -0
  1026. package/dist/src/utils/terminalSerializer.test.d.ts +6 -0
  1027. package/dist/src/utils/terminalSerializer.test.js +176 -0
  1028. package/dist/src/utils/terminalSerializer.test.js.map +1 -0
  1029. package/dist/src/utils/testUtils.d.ts +29 -0
  1030. package/dist/src/utils/testUtils.js +70 -0
  1031. package/dist/src/utils/testUtils.js.map +1 -0
  1032. package/dist/src/utils/textUtils.d.ts +18 -0
  1033. package/dist/src/utils/textUtils.js +42 -0
  1034. package/dist/src/utils/textUtils.js.map +1 -0
  1035. package/dist/src/utils/textUtils.test.d.ts +6 -0
  1036. package/dist/src/utils/textUtils.test.js +59 -0
  1037. package/dist/src/utils/textUtils.test.js.map +1 -0
  1038. package/dist/src/utils/thoughtUtils.d.ts +21 -0
  1039. package/dist/src/utils/thoughtUtils.js +39 -0
  1040. package/dist/src/utils/thoughtUtils.js.map +1 -0
  1041. package/dist/src/utils/thoughtUtils.test.d.ts +6 -0
  1042. package/dist/src/utils/thoughtUtils.test.js +78 -0
  1043. package/dist/src/utils/thoughtUtils.test.js.map +1 -0
  1044. package/dist/src/utils/tool-utils.d.ts +22 -0
  1045. package/dist/src/utils/tool-utils.js +121 -0
  1046. package/dist/src/utils/tool-utils.js.map +1 -0
  1047. package/dist/src/utils/tool-utils.test.d.ts +6 -0
  1048. package/dist/src/utils/tool-utils.test.js +100 -0
  1049. package/dist/src/utils/tool-utils.test.js.map +1 -0
  1050. package/dist/src/utils/userAccountManager.d.ts +20 -0
  1051. package/dist/src/utils/userAccountManager.js +114 -0
  1052. package/dist/src/utils/userAccountManager.js.map +1 -0
  1053. package/dist/src/utils/userAccountManager.test.d.ts +6 -0
  1054. package/dist/src/utils/userAccountManager.test.js +223 -0
  1055. package/dist/src/utils/userAccountManager.test.js.map +1 -0
  1056. package/dist/src/utils/workspaceContext.d.ts +66 -0
  1057. package/dist/src/utils/workspaceContext.js +171 -0
  1058. package/dist/src/utils/workspaceContext.js.map +1 -0
  1059. package/dist/src/utils/workspaceContext.test.d.ts +6 -0
  1060. package/dist/src/utils/workspaceContext.test.js +318 -0
  1061. package/dist/src/utils/workspaceContext.test.js.map +1 -0
  1062. package/dist/src/utils/yaml-parser.d.ts +29 -0
  1063. package/dist/src/utils/yaml-parser.js +172 -0
  1064. package/dist/src/utils/yaml-parser.js.map +1 -0
  1065. package/dist/src/utils/yaml-parser.test.d.ts +6 -0
  1066. package/dist/src/utils/yaml-parser.test.js +170 -0
  1067. package/dist/src/utils/yaml-parser.test.js.map +1 -0
  1068. package/dist/tsconfig.tsbuildinfo +1 -0
  1069. package/package.json +106 -0
  1070. package/scripts/postinstall.js +100 -0
  1071. package/vendor/ripgrep/COPYING +3 -0
  1072. package/vendor/ripgrep/arm64-darwin/rg +0 -0
  1073. package/vendor/ripgrep/arm64-linux/rg +0 -0
  1074. package/vendor/ripgrep/x64-darwin/rg +0 -0
  1075. package/vendor/ripgrep/x64-linux/rg +0 -0
  1076. package/vendor/ripgrep/x64-win32/rg.exe +0 -0
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export declare const sessionId: `${string}-${string}-${string}-${string}-${string}`;
@@ -0,0 +1,8 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { randomUUID } from 'node:crypto';
7
+ export const sessionId = randomUUID();
8
+ //# sourceMappingURL=session.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.js","sourceRoot":"","sources":["../../../src/utils/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,CAAC,MAAM,SAAS,GAAG,UAAU,EAAE,CAAC"}
@@ -0,0 +1,152 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Config } from '../config/config.js';
7
+ import { type ExecFileOptions } from 'node:child_process';
8
+ /**
9
+ * An identifier for the shell type.
10
+ */
11
+ export type ShellType = 'cmd' | 'powershell' | 'bash';
12
+ /**
13
+ * Defines the configuration required to execute a command string within a specific shell.
14
+ */
15
+ export interface ShellConfiguration {
16
+ /** The path or name of the shell executable (e.g., 'bash', 'cmd.exe'). */
17
+ executable: string;
18
+ /**
19
+ * The arguments required by the shell to execute a subsequent string argument.
20
+ */
21
+ argsPrefix: string[];
22
+ /** An identifier for the shell type. */
23
+ shell: ShellType;
24
+ }
25
+ /**
26
+ * Determines the appropriate shell configuration for the current platform.
27
+ *
28
+ * This ensures we can execute command strings predictably and securely across platforms
29
+ * using the `spawn(executable, [...argsPrefix, commandString], { shell: false })` pattern.
30
+ *
31
+ * @returns The ShellConfiguration for the current environment.
32
+ */
33
+ export declare function getShellConfiguration(): ShellConfiguration;
34
+ /**
35
+ * Export the platform detection constant for use in process management (e.g., killing processes).
36
+ */
37
+ export declare const isWindows: () => boolean;
38
+ /**
39
+ * Escapes a string so that it can be safely used as a single argument
40
+ * in a shell command, preventing command injection.
41
+ *
42
+ * @param arg The argument string to escape.
43
+ * @param shell The type of shell the argument is for.
44
+ * @returns The shell-escaped string.
45
+ */
46
+ export declare function escapeShellArg(arg: string, shell: ShellType): string;
47
+ /**
48
+ * Splits a shell command into a list of individual commands, respecting quotes.
49
+ * This is used to separate chained commands (e.g., using &&, ||, ;).
50
+ * @param command The shell command string to parse
51
+ * @returns An array of individual command strings
52
+ */
53
+ export declare function splitCommands(command: string): string[];
54
+ /**
55
+ * Extracts the root command from a given shell command string.
56
+ * This is used to identify the base command for permission checks.
57
+ * @param command The shell command string to parse
58
+ * @returns The root command name, or undefined if it cannot be determined
59
+ * @example getCommandRoot("ls -la /tmp") returns "ls"
60
+ * @example getCommandRoot("git status && npm test") returns "git"
61
+ */
62
+ export declare function getCommandRoot(command: string): string | undefined;
63
+ export declare function getCommandRoots(command: string): string[];
64
+ export declare function stripShellWrapper(command: string): string;
65
+ /**
66
+ * Detects command substitution patterns in a shell command, following bash quoting rules:
67
+ * - Single quotes ('): Everything literal, no substitution possible
68
+ * - Double quotes ("): Command substitution with $() and backticks unless escaped with \
69
+ * - No quotes: Command substitution with $(), <(), and backticks
70
+ * @param command The shell command string to check
71
+ * @returns true if command substitution would be executed by bash
72
+ */
73
+ export declare function detectCommandSubstitution(command: string): boolean;
74
+ /**
75
+ * Checks a shell command against security policies and allowlists.
76
+ *
77
+ * This function operates in one of two modes depending on the presence of
78
+ * the `sessionAllowlist` parameter:
79
+ *
80
+ * 1. **"Default Deny" Mode (sessionAllowlist is provided):** This is the
81
+ * strictest mode, used for user-defined scripts like custom commands.
82
+ * A command is only permitted if it is found on the global `coreTools`
83
+ * allowlist OR the provided `sessionAllowlist`. It must not be on the
84
+ * global `excludeTools` blocklist.
85
+ *
86
+ * 2. **"Default Allow" Mode (sessionAllowlist is NOT provided):** This mode
87
+ * is used for direct tool invocations (e.g., by the model). If a strict
88
+ * global `coreTools` allowlist exists, commands must be on it. Otherwise,
89
+ * any command is permitted as long as it is not on the `excludeTools`
90
+ * blocklist.
91
+ *
92
+ * @param command The shell command string to validate.
93
+ * @param config The application configuration.
94
+ * @param sessionAllowlist A session-level list of approved commands. Its
95
+ * presence activates "Default Deny" mode.
96
+ * @returns An object detailing which commands are not allowed.
97
+ */
98
+ export declare function checkCommandPermissions(command: string, config: Config, sessionAllowlist?: Set<string>): {
99
+ allAllowed: boolean;
100
+ disallowedCommands: string[];
101
+ blockReason?: string;
102
+ isHardDenial?: boolean;
103
+ };
104
+ /**
105
+ * Executes a command with the given arguments without using a shell.
106
+ *
107
+ * This is a wrapper around Node.js's `execFile`, which spawns a process
108
+ * directly without invoking a shell, making it safer than `exec`.
109
+ * It's suitable for short-running commands with limited output.
110
+ *
111
+ * @param command The command to execute (e.g., 'git', 'osascript').
112
+ * @param args Array of arguments to pass to the command.
113
+ * @param options Optional spawn options including:
114
+ * - preserveOutputOnError: If false (default), rejects on error.
115
+ * If true, resolves with output and error code.
116
+ * - Other standard spawn options (e.g., cwd, env).
117
+ * @returns A promise that resolves with stdout, stderr strings, and exit code.
118
+ * @throws Rejects with an error if the command fails (unless preserveOutputOnError is true).
119
+ */
120
+ export declare function execCommand(command: string, args: string[], options?: {
121
+ preserveOutputOnError?: boolean;
122
+ } & ExecFileOptions): Promise<{
123
+ stdout: string;
124
+ stderr: string;
125
+ code: number;
126
+ }>;
127
+ /**
128
+ * Resolves the path of a command in the system's PATH.
129
+ * @param {string} command The command name (e.g., 'git', 'grep').
130
+ * @returns {path: string | null; error?: Error} The path of the command, or null if it is not found and any error that occurred.
131
+ */
132
+ export declare function resolveCommandPath(command: string): {
133
+ path: string | null;
134
+ error?: Error;
135
+ };
136
+ /**
137
+ * Checks if a command is available in the system's PATH.
138
+ * @param {string} command The command name (e.g., 'git', 'grep').
139
+ * @returns {available: boolean; error?: Error} The availability of the command and any error that occurred.
140
+ */
141
+ export declare function isCommandAvailable(command: string): {
142
+ available: boolean;
143
+ error?: Error;
144
+ };
145
+ export declare function isCommandAllowed(command: string, config: Config): {
146
+ allowed: boolean;
147
+ reason?: string;
148
+ };
149
+ export declare function isCommandNeedsPermission(command: string): {
150
+ requiresPermission: boolean;
151
+ reason?: string;
152
+ };
@@ -0,0 +1,467 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import os from 'node:os';
7
+ import { quote } from 'shell-quote';
8
+ import { doesToolInvocationMatch } from './tool-utils.js';
9
+ import { isShellCommandReadOnly } from './shellReadOnlyChecker.js';
10
+ import { execFile, execFileSync, } from 'node:child_process';
11
+ import { accessSync, constants as fsConstants } from 'node:fs';
12
+ const SHELL_TOOL_NAMES = ['run_shell_command', 'ShellTool'];
13
+ /**
14
+ * Determines the appropriate shell configuration for the current platform.
15
+ *
16
+ * This ensures we can execute command strings predictably and securely across platforms
17
+ * using the `spawn(executable, [...argsPrefix, commandString], { shell: false })` pattern.
18
+ *
19
+ * @returns The ShellConfiguration for the current environment.
20
+ */
21
+ export function getShellConfiguration() {
22
+ if (isWindows()) {
23
+ const comSpec = process.env['ComSpec'] || 'cmd.exe';
24
+ const executable = comSpec.toLowerCase();
25
+ if (executable.endsWith('powershell.exe') ||
26
+ executable.endsWith('pwsh.exe')) {
27
+ // For PowerShell, the arguments are different.
28
+ // -NoProfile: Speeds up startup.
29
+ // -Command: Executes the following command.
30
+ return {
31
+ executable: comSpec,
32
+ argsPrefix: ['-NoProfile', '-Command'],
33
+ shell: 'powershell',
34
+ };
35
+ }
36
+ // Default to cmd.exe for anything else on Windows.
37
+ // Flags for CMD:
38
+ // /d: Skip execution of AutoRun commands.
39
+ // /s: Modifies the treatment of the command string (important for quoting).
40
+ // /c: Carries out the command specified by the string and then terminates.
41
+ return {
42
+ executable: comSpec,
43
+ argsPrefix: ['/d', '/s', '/c'],
44
+ shell: 'cmd',
45
+ };
46
+ }
47
+ // Unix-like systems (Linux, macOS)
48
+ return { executable: 'bash', argsPrefix: ['-c'], shell: 'bash' };
49
+ }
50
+ /**
51
+ * Export the platform detection constant for use in process management (e.g., killing processes).
52
+ */
53
+ export const isWindows = () => os.platform() === 'win32';
54
+ /**
55
+ * Escapes a string so that it can be safely used as a single argument
56
+ * in a shell command, preventing command injection.
57
+ *
58
+ * @param arg The argument string to escape.
59
+ * @param shell The type of shell the argument is for.
60
+ * @returns The shell-escaped string.
61
+ */
62
+ export function escapeShellArg(arg, shell) {
63
+ if (!arg) {
64
+ return '';
65
+ }
66
+ switch (shell) {
67
+ case 'powershell':
68
+ // For PowerShell, wrap in single quotes and escape internal single quotes by doubling them.
69
+ return `'${arg.replace(/'/g, "''")}'`;
70
+ case 'cmd':
71
+ // Simple Windows escaping for cmd.exe: wrap in double quotes and escape inner double quotes.
72
+ return `"${arg.replace(/"/g, '""')}"`;
73
+ case 'bash':
74
+ default:
75
+ // POSIX shell escaping using shell-quote.
76
+ return quote([arg]);
77
+ }
78
+ }
79
+ /**
80
+ * Splits a shell command into a list of individual commands, respecting quotes.
81
+ * This is used to separate chained commands (e.g., using &&, ||, ;).
82
+ * @param command The shell command string to parse
83
+ * @returns An array of individual command strings
84
+ */
85
+ export function splitCommands(command) {
86
+ const commands = [];
87
+ let currentCommand = '';
88
+ let inSingleQuotes = false;
89
+ let inDoubleQuotes = false;
90
+ let i = 0;
91
+ while (i < command.length) {
92
+ const char = command[i];
93
+ const nextChar = command[i + 1];
94
+ if (char === '\\' && i < command.length - 1) {
95
+ currentCommand += char + command[i + 1];
96
+ i += 2;
97
+ continue;
98
+ }
99
+ if (char === "'" && !inDoubleQuotes) {
100
+ inSingleQuotes = !inSingleQuotes;
101
+ }
102
+ else if (char === '"' && !inSingleQuotes) {
103
+ inDoubleQuotes = !inDoubleQuotes;
104
+ }
105
+ if (!inSingleQuotes && !inDoubleQuotes) {
106
+ if ((char === '&' && nextChar === '&') ||
107
+ (char === '|' && nextChar === '|')) {
108
+ commands.push(currentCommand.trim());
109
+ currentCommand = '';
110
+ i++; // Skip the next character
111
+ }
112
+ else if (char === ';' || char === '&' || char === '|') {
113
+ commands.push(currentCommand.trim());
114
+ currentCommand = '';
115
+ }
116
+ else {
117
+ currentCommand += char;
118
+ }
119
+ }
120
+ else {
121
+ currentCommand += char;
122
+ }
123
+ i++;
124
+ }
125
+ if (currentCommand.trim()) {
126
+ commands.push(currentCommand.trim());
127
+ }
128
+ return commands.filter(Boolean); // Filter out any empty strings
129
+ }
130
+ /**
131
+ * Extracts the root command from a given shell command string.
132
+ * This is used to identify the base command for permission checks.
133
+ * @param command The shell command string to parse
134
+ * @returns The root command name, or undefined if it cannot be determined
135
+ * @example getCommandRoot("ls -la /tmp") returns "ls"
136
+ * @example getCommandRoot("git status && npm test") returns "git"
137
+ */
138
+ export function getCommandRoot(command) {
139
+ const trimmedCommand = command.trim();
140
+ if (!trimmedCommand) {
141
+ return undefined;
142
+ }
143
+ // This regex is designed to find the first "word" of a command,
144
+ // while respecting quotes. It looks for a sequence of non-whitespace
145
+ // characters that are not inside quotes.
146
+ const match = trimmedCommand.match(/^"([^"]+)"|^'([^']+)'|^(\S+)/);
147
+ if (match) {
148
+ // The first element in the match array is the full match.
149
+ // The subsequent elements are the capture groups.
150
+ // We prefer a captured group because it will be unquoted.
151
+ const commandRoot = match[1] || match[2] || match[3];
152
+ if (commandRoot) {
153
+ // If the command is a path, return the last component.
154
+ return commandRoot.split(/[\\/]/).pop();
155
+ }
156
+ }
157
+ return undefined;
158
+ }
159
+ export function getCommandRoots(command) {
160
+ if (!command) {
161
+ return [];
162
+ }
163
+ return splitCommands(command)
164
+ .map((c) => getCommandRoot(c))
165
+ .filter((c) => !!c);
166
+ }
167
+ export function stripShellWrapper(command) {
168
+ const pattern = /^\s*(?:sh|bash|zsh|cmd.exe)\s+(?:\/c|-c)\s+/;
169
+ const match = command.match(pattern);
170
+ if (match) {
171
+ let newCommand = command.substring(match[0].length).trim();
172
+ if ((newCommand.startsWith('"') && newCommand.endsWith('"')) ||
173
+ (newCommand.startsWith("'") && newCommand.endsWith("'"))) {
174
+ newCommand = newCommand.substring(1, newCommand.length - 1);
175
+ }
176
+ return newCommand;
177
+ }
178
+ return command.trim();
179
+ }
180
+ /**
181
+ * Detects command substitution patterns in a shell command, following bash quoting rules:
182
+ * - Single quotes ('): Everything literal, no substitution possible
183
+ * - Double quotes ("): Command substitution with $() and backticks unless escaped with \
184
+ * - No quotes: Command substitution with $(), <(), and backticks
185
+ * @param command The shell command string to check
186
+ * @returns true if command substitution would be executed by bash
187
+ */
188
+ export function detectCommandSubstitution(command) {
189
+ let inSingleQuotes = false;
190
+ let inDoubleQuotes = false;
191
+ let inBackticks = false;
192
+ let i = 0;
193
+ while (i < command.length) {
194
+ const char = command[i];
195
+ const nextChar = command[i + 1];
196
+ // Handle escaping - only works outside single quotes
197
+ if (char === '\\' && !inSingleQuotes) {
198
+ i += 2; // Skip the escaped character
199
+ continue;
200
+ }
201
+ // Handle quote state changes
202
+ if (char === "'" && !inDoubleQuotes && !inBackticks) {
203
+ inSingleQuotes = !inSingleQuotes;
204
+ }
205
+ else if (char === '"' && !inSingleQuotes && !inBackticks) {
206
+ inDoubleQuotes = !inDoubleQuotes;
207
+ }
208
+ else if (char === '`' && !inSingleQuotes) {
209
+ // Backticks work outside single quotes (including in double quotes)
210
+ inBackticks = !inBackticks;
211
+ }
212
+ // Check for command substitution patterns that would be executed
213
+ if (!inSingleQuotes) {
214
+ // $(...) command substitution - works in double quotes and unquoted
215
+ if (char === '$' && nextChar === '(') {
216
+ return true;
217
+ }
218
+ // <(...) process substitution - works unquoted only (not in double quotes)
219
+ if (char === '<' && nextChar === '(' && !inDoubleQuotes && !inBackticks) {
220
+ return true;
221
+ }
222
+ // >(...) process substitution - works unquoted only (not in double quotes)
223
+ if (char === '>' && nextChar === '(' && !inDoubleQuotes && !inBackticks) {
224
+ return true;
225
+ }
226
+ // Backtick command substitution - check for opening backtick
227
+ // (We track the state above, so this catches the start of backtick substitution)
228
+ if (char === '`' && !inBackticks) {
229
+ return true;
230
+ }
231
+ }
232
+ i++;
233
+ }
234
+ return false;
235
+ }
236
+ /**
237
+ * Checks a shell command against security policies and allowlists.
238
+ *
239
+ * This function operates in one of two modes depending on the presence of
240
+ * the `sessionAllowlist` parameter:
241
+ *
242
+ * 1. **"Default Deny" Mode (sessionAllowlist is provided):** This is the
243
+ * strictest mode, used for user-defined scripts like custom commands.
244
+ * A command is only permitted if it is found on the global `coreTools`
245
+ * allowlist OR the provided `sessionAllowlist`. It must not be on the
246
+ * global `excludeTools` blocklist.
247
+ *
248
+ * 2. **"Default Allow" Mode (sessionAllowlist is NOT provided):** This mode
249
+ * is used for direct tool invocations (e.g., by the model). If a strict
250
+ * global `coreTools` allowlist exists, commands must be on it. Otherwise,
251
+ * any command is permitted as long as it is not on the `excludeTools`
252
+ * blocklist.
253
+ *
254
+ * @param command The shell command string to validate.
255
+ * @param config The application configuration.
256
+ * @param sessionAllowlist A session-level list of approved commands. Its
257
+ * presence activates "Default Deny" mode.
258
+ * @returns An object detailing which commands are not allowed.
259
+ */
260
+ export function checkCommandPermissions(command, config, sessionAllowlist) {
261
+ // Disallow command substitution for security.
262
+ if (detectCommandSubstitution(command)) {
263
+ return {
264
+ allAllowed: false,
265
+ disallowedCommands: [command],
266
+ blockReason: 'Command substitution using $(), `` ` ``, <(), or >() is not allowed for security reasons',
267
+ isHardDenial: true,
268
+ };
269
+ }
270
+ const normalize = (cmd) => cmd.trim().replace(/\s+/g, ' ');
271
+ const commandsToValidate = splitCommands(command).map(normalize);
272
+ const invocation = {
273
+ params: { command: '' },
274
+ };
275
+ // 1. Blocklist Check (Highest Priority)
276
+ const excludeTools = config.getExcludeTools() || [];
277
+ const isWildcardBlocked = SHELL_TOOL_NAMES.some((name) => excludeTools.includes(name));
278
+ if (isWildcardBlocked) {
279
+ return {
280
+ allAllowed: false,
281
+ disallowedCommands: commandsToValidate,
282
+ blockReason: 'Shell tool is globally disabled in configuration',
283
+ isHardDenial: true,
284
+ };
285
+ }
286
+ for (const cmd of commandsToValidate) {
287
+ invocation.params['command'] = cmd;
288
+ if (doesToolInvocationMatch('run_shell_command', invocation, excludeTools)) {
289
+ return {
290
+ allAllowed: false,
291
+ disallowedCommands: [cmd],
292
+ blockReason: `Command '${cmd}' is blocked by configuration`,
293
+ isHardDenial: true,
294
+ };
295
+ }
296
+ }
297
+ const coreTools = config.getCoreTools() || [];
298
+ const isWildcardAllowed = SHELL_TOOL_NAMES.some((name) => coreTools.includes(name));
299
+ // If there's a global wildcard, all commands are allowed at this point
300
+ // because they have already passed the blocklist check.
301
+ if (isWildcardAllowed) {
302
+ return { allAllowed: true, disallowedCommands: [] };
303
+ }
304
+ const disallowedCommands = [];
305
+ if (sessionAllowlist) {
306
+ // "DEFAULT DENY" MODE: A session allowlist is provided.
307
+ // All commands must be in either the session or global allowlist.
308
+ const normalizedSessionAllowlist = new Set([...sessionAllowlist].flatMap((cmd) => SHELL_TOOL_NAMES.map((name) => `${name}(${cmd})`)));
309
+ for (const cmd of commandsToValidate) {
310
+ invocation.params['command'] = cmd;
311
+ const isSessionAllowed = doesToolInvocationMatch('run_shell_command', invocation, [...normalizedSessionAllowlist]);
312
+ if (isSessionAllowed)
313
+ continue;
314
+ const isGloballyAllowed = doesToolInvocationMatch('run_shell_command', invocation, coreTools);
315
+ if (isGloballyAllowed)
316
+ continue;
317
+ disallowedCommands.push(cmd);
318
+ }
319
+ if (disallowedCommands.length > 0) {
320
+ return {
321
+ allAllowed: false,
322
+ disallowedCommands,
323
+ blockReason: `Command(s) not on the global or session allowlist. Disallowed commands: ${disallowedCommands
324
+ .map((c) => JSON.stringify(c))
325
+ .join(', ')}`,
326
+ isHardDenial: false, // This is a soft denial; confirmation is possible.
327
+ };
328
+ }
329
+ }
330
+ else {
331
+ // "DEFAULT ALLOW" MODE: No session allowlist.
332
+ const hasSpecificAllowedCommands = coreTools.filter((tool) => SHELL_TOOL_NAMES.some((name) => tool.startsWith(`${name}(`))).length > 0;
333
+ if (hasSpecificAllowedCommands) {
334
+ for (const cmd of commandsToValidate) {
335
+ invocation.params['command'] = cmd;
336
+ const isGloballyAllowed = doesToolInvocationMatch('run_shell_command', invocation, coreTools);
337
+ if (!isGloballyAllowed) {
338
+ disallowedCommands.push(cmd);
339
+ }
340
+ }
341
+ if (disallowedCommands.length > 0) {
342
+ return {
343
+ allAllowed: false,
344
+ disallowedCommands,
345
+ blockReason: `Command(s) not in the allowed commands list. Disallowed commands: ${disallowedCommands
346
+ .map((c) => JSON.stringify(c))
347
+ .join(', ')}`,
348
+ isHardDenial: false, // This is a soft denial.
349
+ };
350
+ }
351
+ }
352
+ // If no specific global allowlist exists, and it passed the blocklist,
353
+ // the command is allowed by default.
354
+ }
355
+ // If all checks for the current mode pass, the command is allowed.
356
+ return { allAllowed: true, disallowedCommands: [] };
357
+ }
358
+ /**
359
+ * Executes a command with the given arguments without using a shell.
360
+ *
361
+ * This is a wrapper around Node.js's `execFile`, which spawns a process
362
+ * directly without invoking a shell, making it safer than `exec`.
363
+ * It's suitable for short-running commands with limited output.
364
+ *
365
+ * @param command The command to execute (e.g., 'git', 'osascript').
366
+ * @param args Array of arguments to pass to the command.
367
+ * @param options Optional spawn options including:
368
+ * - preserveOutputOnError: If false (default), rejects on error.
369
+ * If true, resolves with output and error code.
370
+ * - Other standard spawn options (e.g., cwd, env).
371
+ * @returns A promise that resolves with stdout, stderr strings, and exit code.
372
+ * @throws Rejects with an error if the command fails (unless preserveOutputOnError is true).
373
+ */
374
+ export function execCommand(command, args, options = {}) {
375
+ const normalizeOutput = (out) => {
376
+ if (typeof out === 'string')
377
+ return out;
378
+ if (out && Buffer.isBuffer(out))
379
+ return out.toString('utf8');
380
+ return '';
381
+ };
382
+ return new Promise((resolve, reject) => {
383
+ const child = execFile(command, args, { encoding: 'utf8', ...options }, (error, stdout, stderr) => {
384
+ if (error) {
385
+ if (!options.preserveOutputOnError) {
386
+ reject(error);
387
+ }
388
+ else {
389
+ resolve({
390
+ stdout: normalizeOutput(stdout),
391
+ stderr: normalizeOutput(stderr),
392
+ code: typeof error.code === 'number' ? error.code : 1,
393
+ });
394
+ }
395
+ return;
396
+ }
397
+ resolve({
398
+ stdout: normalizeOutput(stdout),
399
+ stderr: normalizeOutput(stderr),
400
+ code: 0,
401
+ });
402
+ });
403
+ child.on('error', reject);
404
+ });
405
+ }
406
+ /**
407
+ * Resolves the path of a command in the system's PATH.
408
+ * @param {string} command The command name (e.g., 'git', 'grep').
409
+ * @returns {path: string | null; error?: Error} The path of the command, or null if it is not found and any error that occurred.
410
+ */
411
+ export function resolveCommandPath(command) {
412
+ try {
413
+ const isWin = process.platform === 'win32';
414
+ const checkCommand = isWin ? 'where' : 'command';
415
+ const checkArgs = isWin ? [command] : ['-v', command];
416
+ let result = null;
417
+ try {
418
+ result = execFileSync(checkCommand, checkArgs, {
419
+ encoding: 'utf8',
420
+ shell: isWin,
421
+ }).trim();
422
+ }
423
+ catch {
424
+ console.warn(`Command ${checkCommand} not found`);
425
+ }
426
+ if (!result)
427
+ return { path: null, error: undefined };
428
+ if (!isWin) {
429
+ accessSync(result, fsConstants.X_OK);
430
+ }
431
+ return { path: result, error: undefined };
432
+ }
433
+ catch (error) {
434
+ return {
435
+ path: null,
436
+ error: error instanceof Error ? error : new Error(String(error)),
437
+ };
438
+ }
439
+ }
440
+ /**
441
+ * Checks if a command is available in the system's PATH.
442
+ * @param {string} command The command name (e.g., 'git', 'grep').
443
+ * @returns {available: boolean; error?: Error} The availability of the command and any error that occurred.
444
+ */
445
+ export function isCommandAvailable(command) {
446
+ const { path, error } = resolveCommandPath(command);
447
+ return { available: path !== null, error };
448
+ }
449
+ export function isCommandAllowed(command, config) {
450
+ // By not providing a sessionAllowlist, we invoke "default allow" behavior.
451
+ const { allAllowed, blockReason } = checkCommandPermissions(command, config);
452
+ if (allAllowed) {
453
+ return { allowed: true };
454
+ }
455
+ return { allowed: false, reason: blockReason };
456
+ }
457
+ export function isCommandNeedsPermission(command) {
458
+ const isAllowed = isShellCommandReadOnly(command);
459
+ if (isAllowed) {
460
+ return { requiresPermission: false };
461
+ }
462
+ return {
463
+ requiresPermission: true,
464
+ reason: 'Command requires permission to execute.',
465
+ };
466
+ }
467
+ //# sourceMappingURL=shell-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell-utils.js","sourceRoot":"","sources":["../../../src/utils/shell-utils.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};