@machina.ai/cell-cli-core 1.0.13-rc3

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 (435) hide show
  1. package/dist/.last_build +0 -0
  2. package/dist/index.d.ts +7 -0
  3. package/dist/index.js +8 -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 +9 -0
  9. package/dist/src/code_assist/codeAssist.js +19 -0
  10. package/dist/src/code_assist/codeAssist.js.map +1 -0
  11. package/dist/src/code_assist/converter.d.ts +68 -0
  12. package/dist/src/code_assist/converter.js +125 -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 +229 -0
  16. package/dist/src/code_assist/converter.test.js.map +1 -0
  17. package/dist/src/code_assist/oauth2.d.ts +20 -0
  18. package/dist/src/code_assist/oauth2.js +329 -0
  19. package/dist/src/code_assist/oauth2.js.map +1 -0
  20. package/dist/src/code_assist/oauth2.test.d.ts +6 -0
  21. package/dist/src/code_assist/oauth2.test.js +244 -0
  22. package/dist/src/code_assist/oauth2.test.js.map +1 -0
  23. package/dist/src/code_assist/server.d.ts +37 -0
  24. package/dist/src/code_assist/server.js +125 -0
  25. package/dist/src/code_assist/server.js.map +1 -0
  26. package/dist/src/code_assist/server.test.d.ts +6 -0
  27. package/dist/src/code_assist/server.test.js +131 -0
  28. package/dist/src/code_assist/server.test.js.map +1 -0
  29. package/dist/src/code_assist/setup.d.ts +20 -0
  30. package/dist/src/code_assist/setup.js +70 -0
  31. package/dist/src/code_assist/setup.js.map +1 -0
  32. package/dist/src/code_assist/setup.test.d.ts +6 -0
  33. package/dist/src/code_assist/setup.test.js +65 -0
  34. package/dist/src/code_assist/setup.test.js.map +1 -0
  35. package/dist/src/code_assist/types.d.ts +148 -0
  36. package/dist/src/code_assist/types.js +46 -0
  37. package/dist/src/code_assist/types.js.map +1 -0
  38. package/dist/src/config/config.d.ts +239 -0
  39. package/dist/src/config/config.js +484 -0
  40. package/dist/src/config/config.js.map +1 -0
  41. package/dist/src/config/config.test.d.ts +6 -0
  42. package/dist/src/config/config.test.js +304 -0
  43. package/dist/src/config/config.test.js.map +1 -0
  44. package/dist/src/config/flashFallback.test.d.ts +6 -0
  45. package/dist/src/config/flashFallback.test.js +115 -0
  46. package/dist/src/config/flashFallback.test.js.map +1 -0
  47. package/dist/src/config/models.d.ts +8 -0
  48. package/dist/src/config/models.js +9 -0
  49. package/dist/src/config/models.js.map +1 -0
  50. package/dist/src/core/client.d.ts +60 -0
  51. package/dist/src/core/client.js +502 -0
  52. package/dist/src/core/client.js.map +1 -0
  53. package/dist/src/core/client.test.d.ts +6 -0
  54. package/dist/src/core/client.test.js +853 -0
  55. package/dist/src/core/client.test.js.map +1 -0
  56. package/dist/src/core/contentGenerator.d.ts +36 -0
  57. package/dist/src/core/contentGenerator.js +110 -0
  58. package/dist/src/core/contentGenerator.js.map +1 -0
  59. package/dist/src/core/contentGenerator.test.d.ts +6 -0
  60. package/dist/src/core/contentGenerator.test.js +225 -0
  61. package/dist/src/core/contentGenerator.test.js.map +1 -0
  62. package/dist/src/core/coreToolScheduler.d.ts +104 -0
  63. package/dist/src/core/coreToolScheduler.js +410 -0
  64. package/dist/src/core/coreToolScheduler.js.map +1 -0
  65. package/dist/src/core/coreToolScheduler.test.d.ts +6 -0
  66. package/dist/src/core/coreToolScheduler.test.js +402 -0
  67. package/dist/src/core/coreToolScheduler.test.js.map +1 -0
  68. package/dist/src/core/geminiChat.d.ts +116 -0
  69. package/dist/src/core/geminiChat.js +511 -0
  70. package/dist/src/core/geminiChat.js.map +1 -0
  71. package/dist/src/core/geminiChat.test.d.ts +6 -0
  72. package/dist/src/core/geminiChat.test.js +424 -0
  73. package/dist/src/core/geminiChat.test.js.map +1 -0
  74. package/dist/src/core/geminiRequest.d.ts +13 -0
  75. package/dist/src/core/geminiRequest.js +45 -0
  76. package/dist/src/core/geminiRequest.js.map +1 -0
  77. package/dist/src/core/geminiRequest.test.d.ts +6 -0
  78. package/dist/src/core/geminiRequest.test.js +72 -0
  79. package/dist/src/core/geminiRequest.test.js.map +1 -0
  80. package/dist/src/core/logger.d.ts +35 -0
  81. package/dist/src/core/logger.js +235 -0
  82. package/dist/src/core/logger.js.map +1 -0
  83. package/dist/src/core/logger.test.d.ts +6 -0
  84. package/dist/src/core/logger.test.js +387 -0
  85. package/dist/src/core/logger.test.js.map +1 -0
  86. package/dist/src/core/modelCheck.d.ts +14 -0
  87. package/dist/src/core/modelCheck.js +62 -0
  88. package/dist/src/core/modelCheck.js.map +1 -0
  89. package/dist/src/core/nonInteractiveToolExecutor.d.ts +12 -0
  90. package/dist/src/core/nonInteractiveToolExecutor.js +97 -0
  91. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -0
  92. package/dist/src/core/nonInteractiveToolExecutor.test.d.ts +6 -0
  93. package/dist/src/core/nonInteractiveToolExecutor.test.js +189 -0
  94. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -0
  95. package/dist/src/core/prompts.d.ts +12 -0
  96. package/dist/src/core/prompts.js +335 -0
  97. package/dist/src/core/prompts.js.map +1 -0
  98. package/dist/src/core/prompts.test.d.ts +6 -0
  99. package/dist/src/core/prompts.test.js +97 -0
  100. package/dist/src/core/prompts.test.js.map +1 -0
  101. package/dist/src/core/tokenLimits.d.ts +10 -0
  102. package/dist/src/core/tokenLimits.js +27 -0
  103. package/dist/src/core/tokenLimits.js.map +1 -0
  104. package/dist/src/core/turn.d.ts +111 -0
  105. package/dist/src/core/turn.js +139 -0
  106. package/dist/src/core/turn.js.map +1 -0
  107. package/dist/src/core/turn.test.d.ts +6 -0
  108. package/dist/src/core/turn.test.js +365 -0
  109. package/dist/src/core/turn.test.js.map +1 -0
  110. package/dist/src/index.d.ts +57 -0
  111. package/dist/src/index.js +64 -0
  112. package/dist/src/index.js.map +1 -0
  113. package/dist/src/index.test.d.ts +6 -0
  114. package/dist/src/index.test.js +12 -0
  115. package/dist/src/index.test.js.map +1 -0
  116. package/dist/src/mcp/oauth-provider.d.ts +142 -0
  117. package/dist/src/mcp/oauth-provider.js +446 -0
  118. package/dist/src/mcp/oauth-provider.js.map +1 -0
  119. package/dist/src/mcp/oauth-provider.test.d.ts +6 -0
  120. package/dist/src/mcp/oauth-provider.test.js +520 -0
  121. package/dist/src/mcp/oauth-provider.test.js.map +1 -0
  122. package/dist/src/mcp/oauth-token-storage.d.ts +81 -0
  123. package/dist/src/mcp/oauth-token-storage.js +149 -0
  124. package/dist/src/mcp/oauth-token-storage.js.map +1 -0
  125. package/dist/src/mcp/oauth-token-storage.test.d.ts +6 -0
  126. package/dist/src/mcp/oauth-token-storage.test.js +205 -0
  127. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -0
  128. package/dist/src/mcp/oauth-utils.d.ts +109 -0
  129. package/dist/src/mcp/oauth-utils.js +183 -0
  130. package/dist/src/mcp/oauth-utils.js.map +1 -0
  131. package/dist/src/mcp/oauth-utils.test.d.ts +6 -0
  132. package/dist/src/mcp/oauth-utils.test.js +144 -0
  133. package/dist/src/mcp/oauth-utils.test.js.map +1 -0
  134. package/dist/src/services/fileDiscoveryService.d.ts +35 -0
  135. package/dist/src/services/fileDiscoveryService.js +91 -0
  136. package/dist/src/services/fileDiscoveryService.js.map +1 -0
  137. package/dist/src/services/fileDiscoveryService.test.d.ts +6 -0
  138. package/dist/src/services/fileDiscoveryService.test.js +102 -0
  139. package/dist/src/services/fileDiscoveryService.test.js.map +1 -0
  140. package/dist/src/services/gitService.d.ts +21 -0
  141. package/dist/src/services/gitService.js +101 -0
  142. package/dist/src/services/gitService.js.map +1 -0
  143. package/dist/src/services/gitService.test.d.ts +6 -0
  144. package/dist/src/services/gitService.test.js +228 -0
  145. package/dist/src/services/gitService.test.js.map +1 -0
  146. package/dist/src/services/ideContext.d.ts +178 -0
  147. package/dist/src/services/ideContext.js +105 -0
  148. package/dist/src/services/ideContext.js.map +1 -0
  149. package/dist/src/services/ideContext.test.d.ts +6 -0
  150. package/dist/src/services/ideContext.test.js +111 -0
  151. package/dist/src/services/ideContext.test.js.map +1 -0
  152. package/dist/src/services/loopDetectionService.d.ts +51 -0
  153. package/dist/src/services/loopDetectionService.js +232 -0
  154. package/dist/src/services/loopDetectionService.js.map +1 -0
  155. package/dist/src/services/loopDetectionService.test.d.ts +6 -0
  156. package/dist/src/services/loopDetectionService.test.js +339 -0
  157. package/dist/src/services/loopDetectionService.test.js.map +1 -0
  158. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +37 -0
  159. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +456 -0
  160. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -0
  161. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +49 -0
  162. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +127 -0
  163. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -0
  164. package/dist/src/telemetry/constants.d.ts +20 -0
  165. package/dist/src/telemetry/constants.js +21 -0
  166. package/dist/src/telemetry/constants.js.map +1 -0
  167. package/dist/src/telemetry/index.d.ts +18 -0
  168. package/dist/src/telemetry/index.js +20 -0
  169. package/dist/src/telemetry/index.js.map +1 -0
  170. package/dist/src/telemetry/integration.test.circular.d.ts +6 -0
  171. package/dist/src/telemetry/integration.test.circular.js +53 -0
  172. package/dist/src/telemetry/integration.test.circular.js.map +1 -0
  173. package/dist/src/telemetry/loggers.d.ts +15 -0
  174. package/dist/src/telemetry/loggers.js +220 -0
  175. package/dist/src/telemetry/loggers.js.map +1 -0
  176. package/dist/src/telemetry/loggers.test.circular.d.ts +6 -0
  177. package/dist/src/telemetry/loggers.test.circular.js +100 -0
  178. package/dist/src/telemetry/loggers.test.circular.js.map +1 -0
  179. package/dist/src/telemetry/loggers.test.d.ts +6 -0
  180. package/dist/src/telemetry/loggers.test.js +558 -0
  181. package/dist/src/telemetry/loggers.test.js.map +1 -0
  182. package/dist/src/telemetry/metrics.d.ts +19 -0
  183. package/dist/src/telemetry/metrics.js +144 -0
  184. package/dist/src/telemetry/metrics.js.map +1 -0
  185. package/dist/src/telemetry/metrics.test.d.ts +6 -0
  186. package/dist/src/telemetry/metrics.test.js +162 -0
  187. package/dist/src/telemetry/metrics.test.js.map +1 -0
  188. package/dist/src/telemetry/sdk.d.ts +9 -0
  189. package/dist/src/telemetry/sdk.js +116 -0
  190. package/dist/src/telemetry/sdk.js.map +1 -0
  191. package/dist/src/telemetry/telemetry.test.d.ts +6 -0
  192. package/dist/src/telemetry/telemetry.test.js +50 -0
  193. package/dist/src/telemetry/telemetry.test.js.map +1 -0
  194. package/dist/src/telemetry/types.d.ts +116 -0
  195. package/dist/src/telemetry/types.js +218 -0
  196. package/dist/src/telemetry/types.js.map +1 -0
  197. package/dist/src/telemetry/uiTelemetry.d.ts +68 -0
  198. package/dist/src/telemetry/uiTelemetry.js +138 -0
  199. package/dist/src/telemetry/uiTelemetry.js.map +1 -0
  200. package/dist/src/telemetry/uiTelemetry.test.d.ts +6 -0
  201. package/dist/src/telemetry/uiTelemetry.test.js +504 -0
  202. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -0
  203. package/dist/src/tools/diffOptions.d.ts +7 -0
  204. package/dist/src/tools/diffOptions.js +10 -0
  205. package/dist/src/tools/diffOptions.js.map +1 -0
  206. package/dist/src/tools/edit.d.ts +79 -0
  207. package/dist/src/tools/edit.js +362 -0
  208. package/dist/src/tools/edit.js.map +1 -0
  209. package/dist/src/tools/edit.test.d.ts +6 -0
  210. package/dist/src/tools/edit.test.js +512 -0
  211. package/dist/src/tools/edit.test.js.map +1 -0
  212. package/dist/src/tools/glob.d.ts +58 -0
  213. package/dist/src/tools/glob.js +193 -0
  214. package/dist/src/tools/glob.js.map +1 -0
  215. package/dist/src/tools/glob.test.d.ts +6 -0
  216. package/dist/src/tools/glob.test.js +294 -0
  217. package/dist/src/tools/glob.test.js.map +1 -0
  218. package/dist/src/tools/grep.d.ts +78 -0
  219. package/dist/src/tools/grep.js +422 -0
  220. package/dist/src/tools/grep.js.map +1 -0
  221. package/dist/src/tools/grep.test.d.ts +6 -0
  222. package/dist/src/tools/grep.test.js +188 -0
  223. package/dist/src/tools/grep.test.js.map +1 -0
  224. package/dist/src/tools/ls.d.ts +86 -0
  225. package/dist/src/tools/ls.js +223 -0
  226. package/dist/src/tools/ls.js.map +1 -0
  227. package/dist/src/tools/mcp-client.d.ts +110 -0
  228. package/dist/src/tools/mcp-client.js +319 -0
  229. package/dist/src/tools/mcp-client.js.map +1 -0
  230. package/dist/src/tools/mcp-client.test.d.ts +6 -0
  231. package/dist/src/tools/mcp-client.test.js +156 -0
  232. package/dist/src/tools/mcp-client.test.js.map +1 -0
  233. package/dist/src/tools/mcp-tool.d.ts +29 -0
  234. package/dist/src/tools/mcp-tool.js +143 -0
  235. package/dist/src/tools/mcp-tool.js.map +1 -0
  236. package/dist/src/tools/mcp-tool.test.d.ts +6 -0
  237. package/dist/src/tools/mcp-tool.test.js +189 -0
  238. package/dist/src/tools/mcp-tool.test.js.map +1 -0
  239. package/dist/src/tools/memoryTool.d.ts +28 -0
  240. package/dist/src/tools/memoryTool.js +172 -0
  241. package/dist/src/tools/memoryTool.js.map +1 -0
  242. package/dist/src/tools/memoryTool.test.d.ts +6 -0
  243. package/dist/src/tools/memoryTool.test.js +181 -0
  244. package/dist/src/tools/memoryTool.test.js.map +1 -0
  245. package/dist/src/tools/modifiable-tool.d.ts +29 -0
  246. package/dist/src/tools/modifiable-tool.js +85 -0
  247. package/dist/src/tools/modifiable-tool.js.map +1 -0
  248. package/dist/src/tools/modifiable-tool.test.d.ts +6 -0
  249. package/dist/src/tools/modifiable-tool.test.js +204 -0
  250. package/dist/src/tools/modifiable-tool.test.js.map +1 -0
  251. package/dist/src/tools/read-file.d.ts +36 -0
  252. package/dist/src/tools/read-file.js +102 -0
  253. package/dist/src/tools/read-file.js.map +1 -0
  254. package/dist/src/tools/read-file.test.d.ts +6 -0
  255. package/dist/src/tools/read-file.test.js +181 -0
  256. package/dist/src/tools/read-file.test.js.map +1 -0
  257. package/dist/src/tools/read-many-files.d.ts +62 -0
  258. package/dist/src/tools/read-many-files.js +362 -0
  259. package/dist/src/tools/read-many-files.js.map +1 -0
  260. package/dist/src/tools/read-many-files.test.d.ts +6 -0
  261. package/dist/src/tools/read-many-files.test.js +315 -0
  262. package/dist/src/tools/read-many-files.test.js.map +1 -0
  263. package/dist/src/tools/shell.d.ts +43 -0
  264. package/dist/src/tools/shell.js +435 -0
  265. package/dist/src/tools/shell.js.map +1 -0
  266. package/dist/src/tools/shell.test.d.ts +6 -0
  267. package/dist/src/tools/shell.test.js +406 -0
  268. package/dist/src/tools/shell.test.js.map +1 -0
  269. package/dist/src/tools/tool-registry.d.ts +66 -0
  270. package/dist/src/tools/tool-registry.js +329 -0
  271. package/dist/src/tools/tool-registry.js.map +1 -0
  272. package/dist/src/tools/tool-registry.test.d.ts +6 -0
  273. package/dist/src/tools/tool-registry.test.js +424 -0
  274. package/dist/src/tools/tool-registry.test.js.map +1 -0
  275. package/dist/src/tools/tools.d.ts +219 -0
  276. package/dist/src/tools/tools.js +111 -0
  277. package/dist/src/tools/tools.js.map +1 -0
  278. package/dist/src/tools/web-fetch.d.ts +29 -0
  279. package/dist/src/tools/web-fetch.js +246 -0
  280. package/dist/src/tools/web-fetch.js.map +1 -0
  281. package/dist/src/tools/web-fetch.test.d.ts +6 -0
  282. package/dist/src/tools/web-fetch.test.js +71 -0
  283. package/dist/src/tools/web-fetch.test.js.map +1 -0
  284. package/dist/src/tools/web-search.d.ts +49 -0
  285. package/dist/src/tools/web-search.js +120 -0
  286. package/dist/src/tools/web-search.js.map +1 -0
  287. package/dist/src/tools/write-file.d.ts +42 -0
  288. package/dist/src/tools/write-file.js +253 -0
  289. package/dist/src/tools/write-file.js.map +1 -0
  290. package/dist/src/tools/write-file.test.d.ts +6 -0
  291. package/dist/src/tools/write-file.test.js +413 -0
  292. package/dist/src/tools/write-file.test.js.map +1 -0
  293. package/dist/src/utils/LruCache.d.ts +13 -0
  294. package/dist/src/utils/LruCache.js +38 -0
  295. package/dist/src/utils/LruCache.js.map +1 -0
  296. package/dist/src/utils/bfsFileSearch.d.ts +24 -0
  297. package/dist/src/utils/bfsFileSearch.js +65 -0
  298. package/dist/src/utils/bfsFileSearch.js.map +1 -0
  299. package/dist/src/utils/bfsFileSearch.test.d.ts +6 -0
  300. package/dist/src/utils/bfsFileSearch.test.js +162 -0
  301. package/dist/src/utils/bfsFileSearch.test.js.map +1 -0
  302. package/dist/src/utils/browser.d.ts +13 -0
  303. package/dist/src/utils/browser.js +49 -0
  304. package/dist/src/utils/browser.js.map +1 -0
  305. package/dist/src/utils/editCorrector.d.ts +53 -0
  306. package/dist/src/utils/editCorrector.js +546 -0
  307. package/dist/src/utils/editCorrector.js.map +1 -0
  308. package/dist/src/utils/editCorrector.test.d.ts +6 -0
  309. package/dist/src/utils/editCorrector.test.js +564 -0
  310. package/dist/src/utils/editCorrector.test.js.map +1 -0
  311. package/dist/src/utils/editor.d.ts +28 -0
  312. package/dist/src/utils/editor.js +169 -0
  313. package/dist/src/utils/editor.js.map +1 -0
  314. package/dist/src/utils/editor.test.d.ts +6 -0
  315. package/dist/src/utils/editor.test.js +393 -0
  316. package/dist/src/utils/editor.test.js.map +1 -0
  317. package/dist/src/utils/errorReporting.d.ts +14 -0
  318. package/dist/src/utils/errorReporting.js +88 -0
  319. package/dist/src/utils/errorReporting.js.map +1 -0
  320. package/dist/src/utils/errorReporting.test.d.ts +6 -0
  321. package/dist/src/utils/errorReporting.test.js +124 -0
  322. package/dist/src/utils/errorReporting.test.js.map +1 -0
  323. package/dist/src/utils/errors.d.ts +14 -0
  324. package/dist/src/utils/errors.js +54 -0
  325. package/dist/src/utils/errors.js.map +1 -0
  326. package/dist/src/utils/fetch.d.ts +11 -0
  327. package/dist/src/utils/fetch.js +51 -0
  328. package/dist/src/utils/fetch.js.map +1 -0
  329. package/dist/src/utils/fileUtils.d.ts +49 -0
  330. package/dist/src/utils/fileUtils.js +300 -0
  331. package/dist/src/utils/fileUtils.js.map +1 -0
  332. package/dist/src/utils/fileUtils.test.d.ts +6 -0
  333. package/dist/src/utils/fileUtils.test.js +321 -0
  334. package/dist/src/utils/fileUtils.test.js.map +1 -0
  335. package/dist/src/utils/flashFallback.integration.test.d.ts +6 -0
  336. package/dist/src/utils/flashFallback.integration.test.js +112 -0
  337. package/dist/src/utils/flashFallback.integration.test.js.map +1 -0
  338. package/dist/src/utils/generateContentResponseUtilities.d.ts +14 -0
  339. package/dist/src/utils/generateContentResponseUtilities.js +92 -0
  340. package/dist/src/utils/generateContentResponseUtilities.js.map +1 -0
  341. package/dist/src/utils/generateContentResponseUtilities.test.d.ts +6 -0
  342. package/dist/src/utils/generateContentResponseUtilities.test.js +273 -0
  343. package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -0
  344. package/dist/src/utils/getFolderStructure.d.ts +31 -0
  345. package/dist/src/utils/getFolderStructure.js +246 -0
  346. package/dist/src/utils/getFolderStructure.js.map +1 -0
  347. package/dist/src/utils/getFolderStructure.test.d.ts +6 -0
  348. package/dist/src/utils/getFolderStructure.test.js +284 -0
  349. package/dist/src/utils/getFolderStructure.test.js.map +1 -0
  350. package/dist/src/utils/gitIgnoreParser.d.ts +20 -0
  351. package/dist/src/utils/gitIgnoreParser.js +67 -0
  352. package/dist/src/utils/gitIgnoreParser.js.map +1 -0
  353. package/dist/src/utils/gitIgnoreParser.test.d.ts +6 -0
  354. package/dist/src/utils/gitIgnoreParser.test.js +157 -0
  355. package/dist/src/utils/gitIgnoreParser.test.js.map +1 -0
  356. package/dist/src/utils/gitUtils.d.ts +17 -0
  357. package/dist/src/utils/gitUtils.js +61 -0
  358. package/dist/src/utils/gitUtils.js.map +1 -0
  359. package/dist/src/utils/memoryDiscovery.d.ts +15 -0
  360. package/dist/src/utils/memoryDiscovery.js +226 -0
  361. package/dist/src/utils/memoryDiscovery.js.map +1 -0
  362. package/dist/src/utils/memoryDiscovery.test.d.ts +6 -0
  363. package/dist/src/utils/memoryDiscovery.test.js +432 -0
  364. package/dist/src/utils/memoryDiscovery.test.js.map +1 -0
  365. package/dist/src/utils/memoryImportProcessor.d.ts +35 -0
  366. package/dist/src/utils/memoryImportProcessor.js +141 -0
  367. package/dist/src/utils/memoryImportProcessor.js.map +1 -0
  368. package/dist/src/utils/memoryImportProcessor.test.d.ts +6 -0
  369. package/dist/src/utils/memoryImportProcessor.test.js +170 -0
  370. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -0
  371. package/dist/src/utils/messageInspectors.d.ts +8 -0
  372. package/dist/src/utils/messageInspectors.js +16 -0
  373. package/dist/src/utils/messageInspectors.js.map +1 -0
  374. package/dist/src/utils/nextSpeakerChecker.d.ts +12 -0
  375. package/dist/src/utils/nextSpeakerChecker.js +112 -0
  376. package/dist/src/utils/nextSpeakerChecker.js.map +1 -0
  377. package/dist/src/utils/nextSpeakerChecker.test.d.ts +6 -0
  378. package/dist/src/utils/nextSpeakerChecker.test.js +168 -0
  379. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -0
  380. package/dist/src/utils/paths.d.ts +59 -0
  381. package/dist/src/utils/paths.js +153 -0
  382. package/dist/src/utils/paths.js.map +1 -0
  383. package/dist/src/utils/quotaErrorDetection.d.ts +22 -0
  384. package/dist/src/utils/quotaErrorDetection.js +65 -0
  385. package/dist/src/utils/quotaErrorDetection.js.map +1 -0
  386. package/dist/src/utils/retry.d.ts +27 -0
  387. package/dist/src/utils/retry.js +276 -0
  388. package/dist/src/utils/retry.js.map +1 -0
  389. package/dist/src/utils/retry.test.d.ts +6 -0
  390. package/dist/src/utils/retry.test.js +322 -0
  391. package/dist/src/utils/retry.test.js.map +1 -0
  392. package/dist/src/utils/safeJsonStringify.d.ts +13 -0
  393. package/dist/src/utils/safeJsonStringify.js +25 -0
  394. package/dist/src/utils/safeJsonStringify.js.map +1 -0
  395. package/dist/src/utils/safeJsonStringify.test.d.ts +6 -0
  396. package/dist/src/utils/safeJsonStringify.test.js +61 -0
  397. package/dist/src/utils/safeJsonStringify.test.js.map +1 -0
  398. package/dist/src/utils/schemaValidator.d.ts +22 -0
  399. package/dist/src/utils/schemaValidator.js +65 -0
  400. package/dist/src/utils/schemaValidator.js.map +1 -0
  401. package/dist/src/utils/session.d.ts +6 -0
  402. package/dist/src/utils/session.js +8 -0
  403. package/dist/src/utils/session.js.map +1 -0
  404. package/dist/src/utils/stripJsonCodeBlock.d.ts +13 -0
  405. package/dist/src/utils/stripJsonCodeBlock.js +21 -0
  406. package/dist/src/utils/stripJsonCodeBlock.js.map +1 -0
  407. package/dist/src/utils/summarizer.d.ts +25 -0
  408. package/dist/src/utils/summarizer.js +80 -0
  409. package/dist/src/utils/summarizer.js.map +1 -0
  410. package/dist/src/utils/summarizer.test.d.ts +6 -0
  411. package/dist/src/utils/summarizer.test.js +131 -0
  412. package/dist/src/utils/summarizer.test.js.map +1 -0
  413. package/dist/src/utils/systemEncoding.d.ts +40 -0
  414. package/dist/src/utils/systemEncoding.js +149 -0
  415. package/dist/src/utils/systemEncoding.js.map +1 -0
  416. package/dist/src/utils/systemEncoding.test.d.ts +6 -0
  417. package/dist/src/utils/systemEncoding.test.js +368 -0
  418. package/dist/src/utils/systemEncoding.test.js.map +1 -0
  419. package/dist/src/utils/testUtils.d.ts +29 -0
  420. package/dist/src/utils/testUtils.js +70 -0
  421. package/dist/src/utils/testUtils.js.map +1 -0
  422. package/dist/src/utils/user_account.d.ts +9 -0
  423. package/dist/src/utils/user_account.js +99 -0
  424. package/dist/src/utils/user_account.js.map +1 -0
  425. package/dist/src/utils/user_account.test.d.ts +6 -0
  426. package/dist/src/utils/user_account.test.js +153 -0
  427. package/dist/src/utils/user_account.test.js.map +1 -0
  428. package/dist/src/utils/user_id.d.ts +11 -0
  429. package/dist/src/utils/user_id.js +49 -0
  430. package/dist/src/utils/user_id.js.map +1 -0
  431. package/dist/src/utils/user_id.test.d.ts +6 -0
  432. package/dist/src/utils/user_id.test.js +21 -0
  433. package/dist/src/utils/user_id.test.js.map +1 -0
  434. package/dist/tsconfig.tsbuildinfo +1 -0
  435. package/package.json +62 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.test.js","sourceRoot":"","sources":["../../../src/core/client.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CountTokensResponse, GenerateContentResponse, GenerateContentParameters, CountTokensParameters, EmbedContentResponse, EmbedContentParameters } from '@google/genai';
7
+ import { Config } from '../config/config.js';
8
+ import { UserTierId } from '../code_assist/types.js';
9
+ import { DeviceFlowOptions } from '@machina.ai/auth-keycloak';
10
+ /**
11
+ * Interface abstracting the core functionalities for generating content and counting tokens.
12
+ */
13
+ export interface ContentGenerator {
14
+ generateContent(request: GenerateContentParameters): Promise<GenerateContentResponse>;
15
+ generateContentStream(request: GenerateContentParameters): Promise<AsyncGenerator<GenerateContentResponse>>;
16
+ countTokens(request: CountTokensParameters): Promise<CountTokensResponse>;
17
+ embedContent(request: EmbedContentParameters): Promise<EmbedContentResponse>;
18
+ userTier?: UserTierId;
19
+ }
20
+ export declare enum AuthType {
21
+ KEYCLOAK = "keycloak",
22
+ LOGIN_WITH_GOOGLE = "oauth-personal",
23
+ USE_GEMINI = "gemini-api-key",
24
+ USE_VERTEX_AI = "vertex-ai",
25
+ CLOUD_SHELL = "cloud-shell"
26
+ }
27
+ export type ContentGeneratorConfig = {
28
+ model: string;
29
+ apiKey?: string;
30
+ vertexai?: boolean;
31
+ authType?: AuthType | undefined;
32
+ proxy?: string | undefined;
33
+ token?: string;
34
+ };
35
+ export declare function createContentGeneratorConfig(config: Config | undefined, authType: AuthType | undefined, keycloakOptions?: Partial<DeviceFlowOptions>): Promise<ContentGeneratorConfig>;
36
+ export declare function createContentGenerator(config: ContentGeneratorConfig, gcConfig: Config, sessionId?: string): Promise<ContentGenerator>;
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { GoogleGenAI, } from '@google/genai';
7
+ import { createCodeAssistContentGenerator } from '../code_assist/codeAssist.js';
8
+ import { DEFAULT_GEMINI_MODEL } from '../config/models.js';
9
+ import { getEffectiveModel } from './modelCheck.js';
10
+ import { AuthProviderKeycloak, } from '@machina.ai/auth-keycloak';
11
+ // Basic debug logger. Replace with a real logger if available.
12
+ const logger = {
13
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
14
+ debug: (...args) => console.debug('[DEBUG] [ContentGenerator]', ...args),
15
+ };
16
+ export var AuthType;
17
+ (function (AuthType) {
18
+ AuthType["KEYCLOAK"] = "keycloak";
19
+ AuthType["LOGIN_WITH_GOOGLE"] = "oauth-personal";
20
+ AuthType["USE_GEMINI"] = "gemini-api-key";
21
+ AuthType["USE_VERTEX_AI"] = "vertex-ai";
22
+ AuthType["CLOUD_SHELL"] = "cloud-shell";
23
+ })(AuthType || (AuthType = {}));
24
+ export async function createContentGeneratorConfig(config, authType, keycloakOptions = {}) {
25
+ const geminiApiKey = process.env.GEMINI_API_KEY || undefined;
26
+ const googleApiKey = process.env.GOOGLE_API_KEY || undefined;
27
+ const googleCloudProject = process.env.GOOGLE_CLOUD_PROJECT || undefined;
28
+ const googleCloudLocation = process.env.GOOGLE_CLOUD_LOCATION || undefined;
29
+ // Use runtime model from config if available, otherwise fallback to parameter or default
30
+ const effectiveModel = config?.getModel() || DEFAULT_GEMINI_MODEL;
31
+ const contentGeneratorConfig = {
32
+ model: effectiveModel,
33
+ authType,
34
+ proxy: config?.getProxy(),
35
+ };
36
+ // If we are using Google auth or we are in Cloud Shell, there is nothing else to validate for now
37
+ if (authType === AuthType.LOGIN_WITH_GOOGLE ||
38
+ authType === AuthType.CLOUD_SHELL) {
39
+ return contentGeneratorConfig;
40
+ }
41
+ if (authType === AuthType.USE_GEMINI && geminiApiKey) {
42
+ contentGeneratorConfig.apiKey = geminiApiKey;
43
+ contentGeneratorConfig.vertexai = false;
44
+ getEffectiveModel(contentGeneratorConfig.apiKey, contentGeneratorConfig.model, contentGeneratorConfig.proxy);
45
+ return contentGeneratorConfig;
46
+ }
47
+ if (authType === AuthType.USE_VERTEX_AI &&
48
+ (googleApiKey || (googleCloudProject && googleCloudLocation))) {
49
+ contentGeneratorConfig.apiKey = googleApiKey;
50
+ contentGeneratorConfig.vertexai = true;
51
+ return contentGeneratorConfig;
52
+ }
53
+ if (authType === AuthType.KEYCLOAK) {
54
+ const provider = new AuthProviderKeycloak();
55
+ const token = await provider.getToken(keycloakOptions);
56
+ if (!token) {
57
+ throw new Error('Unable to retrieve authentication token from Keycloak.');
58
+ }
59
+ contentGeneratorConfig.token = token;
60
+ return contentGeneratorConfig;
61
+ }
62
+ return contentGeneratorConfig;
63
+ }
64
+ export async function createContentGenerator(config, gcConfig, sessionId) {
65
+ const version = process.env.CLI_VERSION || process.version;
66
+ const httpOptions = {
67
+ headers: {
68
+ 'User-Agent': `GeminiCLI/${version} (${process.platform}; ${process.arch})`,
69
+ },
70
+ };
71
+ const baseUrl = gcConfig.getAgentApiUrl?.();
72
+ if (baseUrl) {
73
+ const normalized = baseUrl.replace(/\/+$/, '');
74
+ httpOptions.baseUrl = `${normalized}/cell/v1/gemini/`;
75
+ logger.debug('Using agentApiUrl', httpOptions.baseUrl);
76
+ }
77
+ else {
78
+ logger.debug('No agentApiUrl configured; using default Gemini endpoints');
79
+ }
80
+ if (config.token) {
81
+ httpOptions.headers = {
82
+ ...httpOptions.headers,
83
+ Authorization: `Bearer ${config.token}`,
84
+ };
85
+ }
86
+ if (config.authType === AuthType.LOGIN_WITH_GOOGLE ||
87
+ config.authType === AuthType.CLOUD_SHELL) {
88
+ return createCodeAssistContentGenerator(httpOptions, config.authType, gcConfig, sessionId);
89
+ }
90
+ if (config.authType === AuthType.USE_GEMINI ||
91
+ config.authType === AuthType.USE_VERTEX_AI) {
92
+ const googleGenAI = new GoogleGenAI({
93
+ apiKey: config.apiKey === '' ? undefined : config.apiKey,
94
+ vertexai: config.vertexai,
95
+ httpOptions,
96
+ });
97
+ return googleGenAI.models;
98
+ }
99
+ if (config.authType === AuthType.KEYCLOAK) {
100
+ const googleGenAI = new GoogleGenAI({
101
+ // Use a placeholder API key so the client doesn't attempt
102
+ // to derive credentials on its own. The backend ignores this value.
103
+ apiKey: 'dummy',
104
+ httpOptions,
105
+ });
106
+ return googleGenAI.models;
107
+ }
108
+ throw new Error(`Error creating contentGenerator: Unsupported authType: ${config.authType}`);
109
+ }
110
+ //# sourceMappingURL=contentGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentGenerator.js","sourceRoot":"","sources":["../../../src/core/contentGenerator.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 {};
@@ -0,0 +1,225 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi, beforeEach, afterAll } from 'vitest';
7
+ import { createContentGenerator, AuthType, createContentGeneratorConfig, } from './contentGenerator.js';
8
+ import { createCodeAssistContentGenerator } from '../code_assist/codeAssist.js';
9
+ import { GoogleGenAI } from '@google/genai';
10
+ vi.mock('../code_assist/codeAssist.js');
11
+ vi.mock('@google/genai');
12
+ describe('createContentGenerator', () => {
13
+ it('should create a CodeAssistContentGenerator', async () => {
14
+ const mockGenerator = {};
15
+ vi.mocked(createCodeAssistContentGenerator).mockResolvedValue(mockGenerator);
16
+ const config = {
17
+ getAgentApiUrl: vi.fn().mockReturnValue(undefined),
18
+ };
19
+ const generator = await createContentGenerator({
20
+ model: 'test-model',
21
+ authType: AuthType.LOGIN_WITH_GOOGLE,
22
+ }, config);
23
+ expect(createCodeAssistContentGenerator).toHaveBeenCalled();
24
+ expect(generator).toBe(mockGenerator);
25
+ });
26
+ it('should create a GoogleGenAI content generator', async () => {
27
+ const mockGenerator = {
28
+ models: {},
29
+ };
30
+ vi.mocked(GoogleGenAI).mockImplementation(() => mockGenerator);
31
+ const config = {
32
+ getAgentApiUrl: vi.fn().mockReturnValue(undefined),
33
+ };
34
+ const generator = await createContentGenerator({
35
+ model: 'test-model',
36
+ apiKey: 'test-api-key',
37
+ authType: AuthType.USE_GEMINI,
38
+ }, config);
39
+ expect(GoogleGenAI).toHaveBeenCalledWith({
40
+ apiKey: 'test-api-key',
41
+ vertexai: undefined,
42
+ httpOptions: {
43
+ headers: {
44
+ 'User-Agent': expect.any(String),
45
+ },
46
+ },
47
+ });
48
+ expect(generator).toBe(mockGenerator.models);
49
+ });
50
+ it('uses agentApiUrl when provided', async () => {
51
+ const mockGenerator = {
52
+ models: {},
53
+ };
54
+ vi.mocked(GoogleGenAI).mockImplementation(() => mockGenerator);
55
+ const config = {
56
+ getAgentApiUrl: vi.fn().mockReturnValue('https://custom.example/'),
57
+ };
58
+ const generator = await createContentGenerator({
59
+ model: 'test-model',
60
+ apiKey: 'test-api-key',
61
+ authType: AuthType.USE_GEMINI,
62
+ }, config);
63
+ expect(GoogleGenAI).toHaveBeenCalledWith({
64
+ apiKey: 'test-api-key',
65
+ vertexai: undefined,
66
+ httpOptions: {
67
+ headers: {
68
+ 'User-Agent': expect.any(String),
69
+ },
70
+ baseUrl: 'https://custom.example/cell/v1/gemini/',
71
+ },
72
+ });
73
+ expect(generator).toBe(mockGenerator.models);
74
+ });
75
+ it('normalizes agentApiUrl without trailing slash', async () => {
76
+ const mockGenerator = {
77
+ models: {},
78
+ };
79
+ vi.mocked(GoogleGenAI).mockImplementation(() => mockGenerator);
80
+ const config = {
81
+ getAgentApiUrl: vi.fn().mockReturnValue('https://custom.example'),
82
+ };
83
+ const generator = await createContentGenerator({
84
+ model: 'test-model',
85
+ apiKey: 'test-api-key',
86
+ authType: AuthType.USE_GEMINI,
87
+ }, config);
88
+ expect(GoogleGenAI).toHaveBeenCalledWith({
89
+ apiKey: 'test-api-key',
90
+ vertexai: undefined,
91
+ httpOptions: {
92
+ headers: {
93
+ 'User-Agent': expect.any(String),
94
+ },
95
+ baseUrl: 'https://custom.example/cell/v1/gemini/',
96
+ },
97
+ });
98
+ expect(generator).toBe(mockGenerator.models);
99
+ });
100
+ it('uses Authorization header with baseUrl when token provided', async () => {
101
+ const mockGenerator = {
102
+ models: {},
103
+ };
104
+ vi.mocked(GoogleGenAI).mockImplementation(() => mockGenerator);
105
+ const config = {
106
+ getAgentApiUrl: vi.fn().mockReturnValue('https://custom.example/'),
107
+ };
108
+ const generator = await createContentGenerator({
109
+ model: 'test-model',
110
+ apiKey: 'test-api-key',
111
+ authType: AuthType.USE_GEMINI,
112
+ token: 'jwt-token',
113
+ }, config);
114
+ expect(GoogleGenAI).toHaveBeenCalledWith({
115
+ apiKey: 'test-api-key',
116
+ vertexai: undefined,
117
+ httpOptions: {
118
+ headers: {
119
+ 'User-Agent': expect.any(String),
120
+ Authorization: 'Bearer jwt-token',
121
+ },
122
+ baseUrl: 'https://custom.example/cell/v1/gemini/',
123
+ },
124
+ });
125
+ expect(generator).toBe(mockGenerator.models);
126
+ });
127
+ it('creates GoogleGenAI for KEYCLOAK auth with agentApiUrl', async () => {
128
+ const mockGenerator = {
129
+ models: {},
130
+ };
131
+ vi.mocked(GoogleGenAI).mockImplementation(() => mockGenerator);
132
+ const config = {
133
+ getAgentApiUrl: vi.fn().mockReturnValue('https://custom.example/'),
134
+ };
135
+ const generator = await createContentGenerator({
136
+ model: 'test-model',
137
+ authType: AuthType.KEYCLOAK,
138
+ token: 'jwt-token',
139
+ }, config);
140
+ expect(GoogleGenAI).toHaveBeenCalledWith({
141
+ apiKey: 'dummy',
142
+ httpOptions: {
143
+ headers: {
144
+ 'User-Agent': expect.any(String),
145
+ Authorization: 'Bearer jwt-token',
146
+ },
147
+ baseUrl: 'https://custom.example/cell/v1/gemini/',
148
+ },
149
+ });
150
+ expect(generator).toBe(mockGenerator.models);
151
+ });
152
+ });
153
+ describe('createContentGeneratorConfig', () => {
154
+ const originalEnv = process.env;
155
+ const mockConfig = {
156
+ getModel: vi.fn().mockReturnValue('gemini-pro'),
157
+ setModel: vi.fn(),
158
+ flashFallbackHandler: vi.fn(),
159
+ getProxy: vi.fn(),
160
+ };
161
+ beforeEach(() => {
162
+ // Reset modules to re-evaluate imports and environment variables
163
+ vi.resetModules();
164
+ // Restore process.env before each test
165
+ process.env = { ...originalEnv };
166
+ vi.clearAllMocks();
167
+ });
168
+ afterAll(() => {
169
+ // Restore original process.env after all tests
170
+ process.env = originalEnv;
171
+ });
172
+ it('should configure for Gemini using GEMINI_API_KEY when set', async () => {
173
+ process.env.GEMINI_API_KEY = 'env-gemini-key';
174
+ const config = await createContentGeneratorConfig(mockConfig, AuthType.USE_GEMINI);
175
+ expect(config.apiKey).toBe('env-gemini-key');
176
+ expect(config.vertexai).toBe(false);
177
+ });
178
+ it('should not configure for Gemini if GEMINI_API_KEY is empty', async () => {
179
+ process.env.GEMINI_API_KEY = '';
180
+ const config = await createContentGeneratorConfig(mockConfig, AuthType.USE_GEMINI);
181
+ expect(config.apiKey).toBeUndefined();
182
+ expect(config.vertexai).toBeUndefined();
183
+ });
184
+ it('should configure for Vertex AI using GOOGLE_API_KEY when set', async () => {
185
+ process.env.GOOGLE_API_KEY = 'env-google-key';
186
+ const config = await createContentGeneratorConfig(mockConfig, AuthType.USE_VERTEX_AI);
187
+ expect(config.apiKey).toBe('env-google-key');
188
+ expect(config.vertexai).toBe(true);
189
+ });
190
+ it('should configure for Vertex AI using GCP project and location when set', async () => {
191
+ process.env.GOOGLE_CLOUD_PROJECT = 'env-gcp-project';
192
+ process.env.GOOGLE_CLOUD_LOCATION = 'env-gcp-location';
193
+ const config = await createContentGeneratorConfig(mockConfig, AuthType.USE_VERTEX_AI);
194
+ expect(config.vertexai).toBe(true);
195
+ expect(config.apiKey).toBeUndefined();
196
+ });
197
+ it('should not configure for Vertex AI if required env vars are empty', async () => {
198
+ process.env.GOOGLE_API_KEY = '';
199
+ process.env.GOOGLE_CLOUD_PROJECT = '';
200
+ process.env.GOOGLE_CLOUD_LOCATION = '';
201
+ const config = await createContentGeneratorConfig(mockConfig, AuthType.USE_VERTEX_AI);
202
+ expect(config.apiKey).toBeUndefined();
203
+ expect(config.vertexai).toBeUndefined();
204
+ });
205
+ it('should load token for KEYCLOAK auth', async () => {
206
+ vi.doMock('@machina.ai/auth-keycloak', () => ({
207
+ AuthProviderKeycloak: class {
208
+ getToken = vi.fn().mockResolvedValue('jwt');
209
+ },
210
+ }));
211
+ const { createContentGeneratorConfig: cfg, AuthType: AT } = await import('./contentGenerator.js');
212
+ const config = await cfg(undefined, AT.KEYCLOAK);
213
+ expect(config.token).toBe('jwt');
214
+ });
215
+ it('should throw an error if KEYCLOAK token cannot be retrieved', async () => {
216
+ vi.doMock('@machina.ai/auth-keycloak', () => ({
217
+ AuthProviderKeycloak: class {
218
+ getToken = vi.fn().mockResolvedValue(undefined);
219
+ },
220
+ }));
221
+ const { createContentGeneratorConfig: cfg, AuthType: AT } = await import('./contentGenerator.js');
222
+ await expect(cfg(undefined, AT.KEYCLOAK)).rejects.toThrow('Unable to retrieve authentication token from Keycloak.');
223
+ });
224
+ });
225
+ //# sourceMappingURL=contentGenerator.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contentGenerator.test.js","sourceRoot":"","sources":["../../../src/core/contentGenerator.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,104 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { ToolCallRequestInfo, ToolCallResponseInfo, ToolConfirmationOutcome, Tool, ToolCallConfirmationDetails, ToolRegistry, ApprovalMode, EditorType, Config, ToolConfirmationPayload } from '../index.js';
7
+ import { PartListUnion } from '@google/genai';
8
+ export type ValidatingToolCall = {
9
+ status: 'validating';
10
+ request: ToolCallRequestInfo;
11
+ tool: Tool;
12
+ startTime?: number;
13
+ outcome?: ToolConfirmationOutcome;
14
+ };
15
+ export type ScheduledToolCall = {
16
+ status: 'scheduled';
17
+ request: ToolCallRequestInfo;
18
+ tool: Tool;
19
+ startTime?: number;
20
+ outcome?: ToolConfirmationOutcome;
21
+ };
22
+ export type ErroredToolCall = {
23
+ status: 'error';
24
+ request: ToolCallRequestInfo;
25
+ response: ToolCallResponseInfo;
26
+ durationMs?: number;
27
+ outcome?: ToolConfirmationOutcome;
28
+ };
29
+ export type SuccessfulToolCall = {
30
+ status: 'success';
31
+ request: ToolCallRequestInfo;
32
+ tool: Tool;
33
+ response: ToolCallResponseInfo;
34
+ durationMs?: number;
35
+ outcome?: ToolConfirmationOutcome;
36
+ };
37
+ export type ExecutingToolCall = {
38
+ status: 'executing';
39
+ request: ToolCallRequestInfo;
40
+ tool: Tool;
41
+ liveOutput?: string;
42
+ startTime?: number;
43
+ outcome?: ToolConfirmationOutcome;
44
+ };
45
+ export type CancelledToolCall = {
46
+ status: 'cancelled';
47
+ request: ToolCallRequestInfo;
48
+ response: ToolCallResponseInfo;
49
+ tool: Tool;
50
+ durationMs?: number;
51
+ outcome?: ToolConfirmationOutcome;
52
+ };
53
+ export type WaitingToolCall = {
54
+ status: 'awaiting_approval';
55
+ request: ToolCallRequestInfo;
56
+ tool: Tool;
57
+ confirmationDetails: ToolCallConfirmationDetails;
58
+ startTime?: number;
59
+ outcome?: ToolConfirmationOutcome;
60
+ };
61
+ export type Status = ToolCall['status'];
62
+ export type ToolCall = ValidatingToolCall | ScheduledToolCall | ErroredToolCall | SuccessfulToolCall | ExecutingToolCall | CancelledToolCall | WaitingToolCall;
63
+ export type CompletedToolCall = SuccessfulToolCall | CancelledToolCall | ErroredToolCall;
64
+ export type ConfirmHandler = (toolCall: WaitingToolCall) => Promise<ToolConfirmationOutcome>;
65
+ export type OutputUpdateHandler = (toolCallId: string, outputChunk: string) => void;
66
+ export type AllToolCallsCompleteHandler = (completedToolCalls: CompletedToolCall[]) => void;
67
+ export type ToolCallsUpdateHandler = (toolCalls: ToolCall[]) => void;
68
+ export declare function convertToFunctionResponse(toolName: string, callId: string, llmContent: PartListUnion): PartListUnion;
69
+ interface CoreToolSchedulerOptions {
70
+ toolRegistry: Promise<ToolRegistry>;
71
+ outputUpdateHandler?: OutputUpdateHandler;
72
+ onAllToolCallsComplete?: AllToolCallsCompleteHandler;
73
+ onToolCallsUpdate?: ToolCallsUpdateHandler;
74
+ approvalMode?: ApprovalMode;
75
+ getPreferredEditor: () => EditorType | undefined;
76
+ config: Config;
77
+ }
78
+ export declare class CoreToolScheduler {
79
+ private toolRegistry;
80
+ private toolCalls;
81
+ private outputUpdateHandler?;
82
+ private onAllToolCallsComplete?;
83
+ private onToolCallsUpdate?;
84
+ private approvalMode;
85
+ private getPreferredEditor;
86
+ private config;
87
+ constructor(options: CoreToolSchedulerOptions);
88
+ private setStatusInternal;
89
+ private setArgsInternal;
90
+ private isRunning;
91
+ schedule(request: ToolCallRequestInfo | ToolCallRequestInfo[], signal: AbortSignal): Promise<void>;
92
+ handleConfirmationResponse(callId: string, originalOnConfirm: (outcome: ToolConfirmationOutcome) => Promise<void>, outcome: ToolConfirmationOutcome, signal: AbortSignal, payload?: ToolConfirmationPayload): Promise<void>;
93
+ /**
94
+ * Applies user-provided content changes to a tool call that is awaiting confirmation.
95
+ * This method updates the tool's arguments and refreshes the confirmation prompt with a new diff
96
+ * before the tool is scheduled for execution.
97
+ * @private
98
+ */
99
+ private _applyInlineModify;
100
+ private attemptExecutionOfScheduledCalls;
101
+ private checkAndNotifyCompletion;
102
+ private notifyToolCallsUpdate;
103
+ }
104
+ export {};