@machina.ai/cell-cli-core 1.6.1-rc2 → 1.10.0-rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (358) hide show
  1. package/dist/index.d.ts +4 -3
  2. package/dist/index.js +4 -3
  3. package/dist/index.js.map +1 -1
  4. package/dist/package.json +1 -1
  5. package/dist/src/agents/codebase-investigator.d.ts +46 -0
  6. package/dist/src/agents/codebase-investigator.js +135 -0
  7. package/dist/src/agents/codebase-investigator.js.map +1 -0
  8. package/dist/src/agents/executor.d.ts +92 -0
  9. package/dist/src/agents/executor.js +579 -0
  10. package/dist/src/agents/executor.js.map +1 -0
  11. package/dist/src/agents/executor.test.d.ts +6 -0
  12. package/dist/src/agents/executor.test.js +680 -0
  13. package/dist/src/agents/executor.test.js.map +1 -0
  14. package/dist/src/agents/invocation.d.ts +46 -0
  15. package/dist/src/agents/invocation.js +102 -0
  16. package/dist/src/agents/invocation.js.map +1 -0
  17. package/dist/src/agents/invocation.test.d.ts +6 -0
  18. package/dist/src/agents/invocation.test.js +215 -0
  19. package/dist/src/agents/invocation.test.js.map +1 -0
  20. package/dist/src/agents/registry.d.ts +36 -0
  21. package/dist/src/agents/registry.js +81 -0
  22. package/dist/src/agents/registry.js.map +1 -0
  23. package/dist/src/agents/registry.test.d.ts +6 -0
  24. package/dist/src/agents/registry.test.js +146 -0
  25. package/dist/src/agents/registry.test.js.map +1 -0
  26. package/dist/src/agents/schema-utils.d.ts +39 -0
  27. package/dist/src/agents/schema-utils.js +57 -0
  28. package/dist/src/agents/schema-utils.js.map +1 -0
  29. package/dist/src/agents/schema-utils.test.d.ts +6 -0
  30. package/dist/src/agents/schema-utils.test.js +144 -0
  31. package/dist/src/agents/schema-utils.test.js.map +1 -0
  32. package/dist/src/agents/subagent-tool-wrapper.d.ts +38 -0
  33. package/dist/src/agents/subagent-tool-wrapper.js +48 -0
  34. package/dist/src/agents/subagent-tool-wrapper.js.map +1 -0
  35. package/dist/src/agents/subagent-tool-wrapper.test.d.ts +6 -0
  36. package/dist/src/agents/subagent-tool-wrapper.test.js +112 -0
  37. package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -0
  38. package/dist/src/agents/types.d.ts +145 -0
  39. package/dist/src/agents/types.js +18 -0
  40. package/dist/src/agents/types.js.map +1 -0
  41. package/dist/src/agents/utils.d.ts +15 -0
  42. package/dist/src/agents/utils.js +29 -0
  43. package/dist/src/agents/utils.js.map +1 -0
  44. package/dist/src/agents/utils.test.d.ts +6 -0
  45. package/dist/src/agents/utils.test.js +87 -0
  46. package/dist/src/agents/utils.test.js.map +1 -0
  47. package/dist/src/code_assist/oauth-credential-storage.js +1 -1
  48. package/dist/src/code_assist/oauth-credential-storage.js.map +1 -1
  49. package/dist/src/code_assist/oauth-credential-storage.test.js +1 -1
  50. package/dist/src/code_assist/oauth-credential-storage.test.js.map +1 -1
  51. package/dist/src/code_assist/oauth2.test.js +14 -13
  52. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  53. package/dist/src/code_assist/setup.js +4 -2
  54. package/dist/src/code_assist/setup.js.map +1 -1
  55. package/dist/src/config/config.d.ts +61 -15
  56. package/dist/src/config/config.js +132 -28
  57. package/dist/src/config/config.js.map +1 -1
  58. package/dist/src/config/config.test.js +67 -3
  59. package/dist/src/config/config.test.js.map +1 -1
  60. package/dist/src/config/constants.d.ts +11 -0
  61. package/dist/src/config/constants.js +16 -0
  62. package/dist/src/config/constants.js.map +1 -0
  63. package/dist/src/config/storage.d.ts +0 -1
  64. package/dist/src/config/storage.js +2 -2
  65. package/dist/src/config/storage.js.map +1 -1
  66. package/dist/src/config/storage.test.js +7 -6
  67. package/dist/src/config/storage.test.js.map +1 -1
  68. package/dist/src/core/baseLlmClient.d.ts +4 -0
  69. package/dist/src/core/baseLlmClient.js +24 -23
  70. package/dist/src/core/baseLlmClient.js.map +1 -1
  71. package/dist/src/core/baseLlmClient.test.js +76 -13
  72. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  73. package/dist/src/core/client.d.ts +6 -3
  74. package/dist/src/core/client.js +103 -64
  75. package/dist/src/core/client.js.map +1 -1
  76. package/dist/src/core/client.test.js +470 -118
  77. package/dist/src/core/client.test.js.map +1 -1
  78. package/dist/src/core/contentGenerator.js +3 -1
  79. package/dist/src/core/contentGenerator.js.map +1 -1
  80. package/dist/src/core/coreToolScheduler.js +12 -12
  81. package/dist/src/core/coreToolScheduler.js.map +1 -1
  82. package/dist/src/core/coreToolScheduler.test.js +260 -23
  83. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  84. package/dist/src/core/geminiChat.d.ts +11 -14
  85. package/dist/src/core/geminiChat.js +80 -124
  86. package/dist/src/core/geminiChat.js.map +1 -1
  87. package/dist/src/core/geminiChat.test.js +316 -239
  88. package/dist/src/core/geminiChat.test.js.map +1 -1
  89. package/dist/src/core/logger.test.js +16 -16
  90. package/dist/src/core/logger.test.js.map +1 -1
  91. package/dist/src/core/nonInteractiveToolExecutor.d.ts +3 -2
  92. package/dist/src/core/nonInteractiveToolExecutor.js +2 -2
  93. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  94. package/dist/src/core/nonInteractiveToolExecutor.test.js +19 -19
  95. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  96. package/dist/src/core/prompts.d.ts +2 -1
  97. package/dist/src/core/prompts.js +53 -111
  98. package/dist/src/core/prompts.js.map +1 -1
  99. package/dist/src/core/prompts.test.js +83 -29
  100. package/dist/src/core/prompts.test.js.map +1 -1
  101. package/dist/src/core/subagent.js +1 -1
  102. package/dist/src/core/subagent.js.map +1 -1
  103. package/dist/src/core/subagent.test.js +38 -12
  104. package/dist/src/core/subagent.test.js.map +1 -1
  105. package/dist/src/core/turn.d.ts +15 -6
  106. package/dist/src/core/turn.js +14 -13
  107. package/dist/src/core/turn.js.map +1 -1
  108. package/dist/src/core/turn.test.js +14 -2
  109. package/dist/src/core/turn.test.js.map +1 -1
  110. package/dist/src/generated/git-commit.d.ts +2 -2
  111. package/dist/src/generated/git-commit.js +2 -2
  112. package/dist/src/generated/git-commit.js.map +1 -1
  113. package/dist/src/ide/detect-ide.d.ts +45 -14
  114. package/dist/src/ide/detect-ide.js +32 -69
  115. package/dist/src/ide/detect-ide.js.map +1 -1
  116. package/dist/src/ide/detect-ide.test.js +40 -46
  117. package/dist/src/ide/detect-ide.test.js.map +1 -1
  118. package/dist/src/ide/ide-client.d.ts +4 -4
  119. package/dist/src/ide/ide-client.js +33 -32
  120. package/dist/src/ide/ide-client.js.map +1 -1
  121. package/dist/src/ide/ide-client.test.js +12 -25
  122. package/dist/src/ide/ide-client.test.js.map +1 -1
  123. package/dist/src/ide/ide-installer.d.ts +2 -2
  124. package/dist/src/ide/ide-installer.js +8 -10
  125. package/dist/src/ide/ide-installer.js.map +1 -1
  126. package/dist/src/ide/ide-installer.test.js +33 -14
  127. package/dist/src/ide/ide-installer.test.js.map +1 -1
  128. package/dist/src/ide/process-utils.js +85 -75
  129. package/dist/src/ide/process-utils.js.map +1 -1
  130. package/dist/src/ide/process-utils.test.js +83 -90
  131. package/dist/src/ide/process-utils.test.js.map +1 -1
  132. package/dist/src/index.d.ts +7 -2
  133. package/dist/src/index.js +7 -2
  134. package/dist/src/index.js.map +1 -1
  135. package/dist/src/mcp/oauth-provider.d.ts +4 -1
  136. package/dist/src/mcp/oauth-provider.js +31 -25
  137. package/dist/src/mcp/oauth-provider.js.map +1 -1
  138. package/dist/src/mcp/sa-impersonation-provider.d.ts +33 -0
  139. package/dist/src/mcp/sa-impersonation-provider.js +130 -0
  140. package/dist/src/mcp/sa-impersonation-provider.js.map +1 -0
  141. package/dist/src/mcp/sa-impersonation-provider.test.d.ts +6 -0
  142. package/dist/src/mcp/sa-impersonation-provider.test.js +117 -0
  143. package/dist/src/mcp/sa-impersonation-provider.test.js.map +1 -0
  144. package/dist/src/mcp/token-storage/file-token-storage.js +2 -1
  145. package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -1
  146. package/dist/src/mcp/token-storage/file-token-storage.test.js +4 -3
  147. package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -1
  148. package/dist/src/policy/policy-engine.js +11 -2
  149. package/dist/src/policy/policy-engine.js.map +1 -1
  150. package/dist/src/policy/policy-engine.test.js +45 -0
  151. package/dist/src/policy/policy-engine.test.js.map +1 -1
  152. package/dist/src/routing/strategies/compositeStrategy.js +4 -3
  153. package/dist/src/routing/strategies/compositeStrategy.js.map +1 -1
  154. package/dist/src/services/chatRecordingService.d.ts +3 -2
  155. package/dist/src/services/chatRecordingService.js +3 -2
  156. package/dist/src/services/chatRecordingService.js.map +1 -1
  157. package/dist/src/services/fileSystemService.d.ts +9 -0
  158. package/dist/src/services/fileSystemService.js +11 -0
  159. package/dist/src/services/fileSystemService.js.map +1 -1
  160. package/dist/src/services/shellExecutionService.d.ts +3 -0
  161. package/dist/src/services/shellExecutionService.js +165 -49
  162. package/dist/src/services/shellExecutionService.js.map +1 -1
  163. package/dist/src/services/shellExecutionService.test.js +74 -5
  164. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  165. package/dist/src/telemetry/activity-detector.d.ts +41 -0
  166. package/dist/src/telemetry/activity-detector.js +61 -0
  167. package/dist/src/telemetry/activity-detector.js.map +1 -0
  168. package/dist/src/telemetry/activity-detector.test.d.ts +6 -0
  169. package/dist/src/telemetry/activity-detector.test.js +136 -0
  170. package/dist/src/telemetry/activity-detector.test.js.map +1 -0
  171. package/dist/src/telemetry/activity-types.d.ts +19 -0
  172. package/dist/src/telemetry/activity-types.js +21 -0
  173. package/dist/src/telemetry/activity-types.js.map +1 -0
  174. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +18 -2
  175. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +257 -108
  176. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  177. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +1 -0
  178. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +258 -33
  179. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  180. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +118 -100
  181. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +146 -103
  182. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  183. package/dist/src/telemetry/config.d.ts +31 -0
  184. package/dist/src/telemetry/config.js +74 -0
  185. package/dist/src/telemetry/config.js.map +1 -0
  186. package/dist/src/telemetry/config.test.d.ts +6 -0
  187. package/dist/src/telemetry/config.test.js +124 -0
  188. package/dist/src/telemetry/config.test.js.map +1 -0
  189. package/dist/src/telemetry/constants.d.ts +0 -34
  190. package/dist/src/telemetry/constants.js +0 -34
  191. package/dist/src/telemetry/constants.js.map +1 -1
  192. package/dist/src/telemetry/index.d.ts +9 -3
  193. package/dist/src/telemetry/index.js +19 -2
  194. package/dist/src/telemetry/index.js.map +1 -1
  195. package/dist/src/telemetry/loggers.d.ts +10 -2
  196. package/dist/src/telemetry/loggers.js +206 -273
  197. package/dist/src/telemetry/loggers.js.map +1 -1
  198. package/dist/src/telemetry/loggers.test.circular.js +3 -3
  199. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  200. package/dist/src/telemetry/loggers.test.js +316 -13
  201. package/dist/src/telemetry/loggers.test.js.map +1 -1
  202. package/dist/src/telemetry/memory-monitor.d.ts +149 -0
  203. package/dist/src/telemetry/memory-monitor.js +335 -0
  204. package/dist/src/telemetry/memory-monitor.js.map +1 -0
  205. package/dist/src/telemetry/memory-monitor.test.d.ts +6 -0
  206. package/dist/src/telemetry/memory-monitor.test.js +472 -0
  207. package/dist/src/telemetry/memory-monitor.test.js.map +1 -0
  208. package/dist/src/telemetry/metrics.d.ts +436 -11
  209. package/dist/src/telemetry/metrics.js +600 -110
  210. package/dist/src/telemetry/metrics.js.map +1 -1
  211. package/dist/src/telemetry/metrics.test.js +898 -16
  212. package/dist/src/telemetry/metrics.test.js.map +1 -1
  213. package/dist/src/telemetry/sdk.js +1 -1
  214. package/dist/src/telemetry/sdk.js.map +1 -1
  215. package/dist/src/telemetry/sdk.test.js +13 -0
  216. package/dist/src/telemetry/sdk.test.js.map +1 -1
  217. package/dist/src/telemetry/telemetryAttributes.d.ts +8 -0
  218. package/dist/src/telemetry/telemetryAttributes.js +18 -0
  219. package/dist/src/telemetry/telemetryAttributes.js.map +1 -0
  220. package/dist/src/telemetry/types.d.ts +168 -5
  221. package/dist/src/telemetry/types.js +696 -34
  222. package/dist/src/telemetry/types.js.map +1 -1
  223. package/dist/src/telemetry/uiTelemetry.d.ts +2 -2
  224. package/dist/src/telemetry/uiTelemetry.js +3 -4
  225. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  226. package/dist/src/telemetry/uiTelemetry.test.js +14 -14
  227. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  228. package/dist/src/test-utils/mock-tool.d.ts +28 -3
  229. package/dist/src/test-utils/mock-tool.js +71 -1
  230. package/dist/src/test-utils/mock-tool.js.map +1 -1
  231. package/dist/src/tools/glob.js +4 -2
  232. package/dist/src/tools/glob.js.map +1 -1
  233. package/dist/src/tools/ls.js +1 -1
  234. package/dist/src/tools/ls.js.map +1 -1
  235. package/dist/src/tools/mcp-client.d.ts +5 -14
  236. package/dist/src/tools/mcp-client.js +51 -98
  237. package/dist/src/tools/mcp-client.js.map +1 -1
  238. package/dist/src/tools/mcp-client.test.js +175 -157
  239. package/dist/src/tools/mcp-client.test.js.map +1 -1
  240. package/dist/src/tools/memoryTool.d.ts +1 -1
  241. package/dist/src/tools/memoryTool.js +1 -2
  242. package/dist/src/tools/memoryTool.js.map +1 -1
  243. package/dist/src/tools/memoryTool.test.js +9 -8
  244. package/dist/src/tools/memoryTool.test.js.map +1 -1
  245. package/dist/src/tools/message-bus-integration.test.d.ts +6 -0
  246. package/dist/src/tools/message-bus-integration.test.js +183 -0
  247. package/dist/src/tools/message-bus-integration.test.js.map +1 -0
  248. package/dist/src/tools/shell.js +60 -4
  249. package/dist/src/tools/shell.js.map +1 -1
  250. package/dist/src/tools/shell.test.js +2 -1
  251. package/dist/src/tools/shell.test.js.map +1 -1
  252. package/dist/src/tools/smart-edit.d.ts +1 -1
  253. package/dist/src/tools/smart-edit.js +116 -12
  254. package/dist/src/tools/smart-edit.js.map +1 -1
  255. package/dist/src/tools/smart-edit.test.js +91 -29
  256. package/dist/src/tools/smart-edit.test.js.map +1 -1
  257. package/dist/src/tools/tool-error.d.ts +22 -0
  258. package/dist/src/tools/tool-error.js +28 -0
  259. package/dist/src/tools/tool-error.js.map +1 -1
  260. package/dist/src/tools/tool-names.d.ts +9 -0
  261. package/dist/src/tools/tool-names.js +18 -0
  262. package/dist/src/tools/tool-names.js.map +1 -0
  263. package/dist/src/tools/tool-registry.test.js +10 -10
  264. package/dist/src/tools/tool-registry.test.js.map +1 -1
  265. package/dist/src/tools/tools.d.ts +11 -3
  266. package/dist/src/tools/tools.js +94 -3
  267. package/dist/src/tools/tools.js.map +1 -1
  268. package/dist/src/tools/web-fetch.d.ts +7 -0
  269. package/dist/src/tools/web-fetch.js +42 -10
  270. package/dist/src/tools/web-fetch.js.map +1 -1
  271. package/dist/src/tools/web-fetch.test.js +127 -8
  272. package/dist/src/tools/web-fetch.test.js.map +1 -1
  273. package/dist/src/tools/web-search.js +2 -1
  274. package/dist/src/tools/web-search.js.map +1 -1
  275. package/dist/src/tools/write-file.js +2 -1
  276. package/dist/src/tools/write-file.js.map +1 -1
  277. package/dist/src/tools/write-todos.d.ts +25 -0
  278. package/dist/src/tools/write-todos.js +151 -0
  279. package/dist/src/tools/write-todos.js.map +1 -0
  280. package/dist/src/tools/write-todos.test.d.ts +6 -0
  281. package/dist/src/tools/write-todos.test.js +89 -0
  282. package/dist/src/tools/write-todos.test.js.map +1 -0
  283. package/dist/src/utils/bfsFileSearch.d.ts +1 -1
  284. package/dist/src/utils/editCorrector.js +2 -2
  285. package/dist/src/utils/editCorrector.js.map +1 -1
  286. package/dist/src/utils/editor.js +1 -0
  287. package/dist/src/utils/editor.js.map +1 -1
  288. package/dist/src/utils/editor.test.js +1 -0
  289. package/dist/src/utils/editor.test.js.map +1 -1
  290. package/dist/src/utils/flashFallback.test.js +2 -2
  291. package/dist/src/utils/flashFallback.test.js.map +1 -1
  292. package/dist/src/utils/formatters.d.ts +1 -0
  293. package/dist/src/utils/formatters.js +2 -1
  294. package/dist/src/utils/formatters.js.map +1 -1
  295. package/dist/src/utils/formatters.test.d.ts +6 -0
  296. package/dist/src/utils/formatters.test.js +26 -0
  297. package/dist/src/utils/formatters.test.js.map +1 -0
  298. package/dist/src/utils/getFolderStructure.d.ts +1 -1
  299. package/dist/src/utils/getFolderStructure.js +1 -1
  300. package/dist/src/utils/getFolderStructure.js.map +1 -1
  301. package/dist/src/utils/getFolderStructure.test.js +7 -6
  302. package/dist/src/utils/getFolderStructure.test.js.map +1 -1
  303. package/dist/src/utils/installationManager.test.js +2 -1
  304. package/dist/src/utils/installationManager.test.js.map +1 -1
  305. package/dist/src/utils/llm-edit-fixer.js +14 -4
  306. package/dist/src/utils/llm-edit-fixer.js.map +1 -1
  307. package/dist/src/utils/llm-edit-fixer.test.js +81 -0
  308. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -1
  309. package/dist/src/utils/memoryDiscovery.d.ts +2 -1
  310. package/dist/src/utils/memoryDiscovery.js +3 -2
  311. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  312. package/dist/src/utils/memoryDiscovery.test.js +99 -21
  313. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  314. package/dist/src/utils/memoryImportProcessor.js +13 -20
  315. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  316. package/dist/src/utils/memoryImportProcessor.test.js +14 -0
  317. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
  318. package/dist/src/utils/pathCorrector.d.ts +25 -0
  319. package/dist/src/utils/pathCorrector.js +33 -0
  320. package/dist/src/utils/pathCorrector.js.map +1 -0
  321. package/dist/src/utils/pathCorrector.test.d.ts +6 -0
  322. package/dist/src/utils/pathCorrector.test.js +83 -0
  323. package/dist/src/utils/pathCorrector.test.js.map +1 -0
  324. package/dist/src/utils/retry.d.ts +4 -1
  325. package/dist/src/utils/retry.js +40 -17
  326. package/dist/src/utils/retry.js.map +1 -1
  327. package/dist/src/utils/retry.test.js +104 -31
  328. package/dist/src/utils/retry.test.js.map +1 -1
  329. package/dist/src/utils/schemaValidator.js +11 -1
  330. package/dist/src/utils/schemaValidator.js.map +1 -1
  331. package/dist/src/utils/schemaValidator.test.d.ts +6 -0
  332. package/dist/src/utils/schemaValidator.test.js +113 -0
  333. package/dist/src/utils/schemaValidator.test.js.map +1 -0
  334. package/dist/src/utils/shell-utils.d.ts +1 -0
  335. package/dist/src/utils/shell-utils.js +6 -2
  336. package/dist/src/utils/shell-utils.js.map +1 -1
  337. package/dist/src/utils/shell-utils.test.js +5 -0
  338. package/dist/src/utils/shell-utils.test.js.map +1 -1
  339. package/dist/src/utils/terminalSerializer.d.ts +1 -4
  340. package/dist/src/utils/terminalSerializer.js +3 -3
  341. package/dist/src/utils/terminalSerializer.js.map +1 -1
  342. package/dist/src/utils/thoughtUtils.d.ts +21 -0
  343. package/dist/src/utils/thoughtUtils.js +39 -0
  344. package/dist/src/utils/thoughtUtils.js.map +1 -0
  345. package/dist/src/utils/thoughtUtils.test.d.ts +6 -0
  346. package/dist/src/utils/thoughtUtils.test.js +78 -0
  347. package/dist/src/utils/thoughtUtils.test.js.map +1 -0
  348. package/dist/src/utils/tool-utils.js +2 -2
  349. package/dist/src/utils/tool-utils.js.map +1 -1
  350. package/dist/src/utils/tool-utils.test.js +8 -0
  351. package/dist/src/utils/tool-utils.test.js.map +1 -1
  352. package/dist/src/utils/userAccountManager.test.js +2 -1
  353. package/dist/src/utils/userAccountManager.test.js.map +1 -1
  354. package/dist/tsconfig.tsbuildinfo +1 -1
  355. package/package.json +2 -2
  356. package/dist/src/test-utils/tools.d.ts +0 -45
  357. package/dist/src/test-utils/tools.js +0 -105
  358. package/dist/src/test-utils/tools.js.map +0 -1
@@ -10,7 +10,7 @@ import { UserAccountManager } from '../../utils/userAccountManager.js';
10
10
  import { safeJsonStringify } from '../../utils/safeJsonStringify.js';
11
11
  import { FixedDeque } from 'mnemonist';
12
12
  import { GIT_COMMIT_INFO, CLI_VERSION } from '../../generated/git-commit.js';
13
- import { DetectedIde, detectIdeFromEnv } from '../../ide/detect-ide.js';
13
+ import { IDE_DEFINITIONS, detectIdeFromEnv, isCloudShell, } from '../../ide/detect-ide.js';
14
14
  export var EventNames;
15
15
  (function (EventNames) {
16
16
  EventNames["START_SESSION"] = "start_session";
@@ -36,10 +36,18 @@ export var EventNames;
36
36
  EventNames["CONTENT_RETRY"] = "content_retry";
37
37
  EventNames["CONTENT_RETRY_FAILURE"] = "content_retry_failure";
38
38
  EventNames["EXTENSION_ENABLE"] = "extension_enable";
39
+ EventNames["EXTENSION_DISABLE"] = "extension_disable";
39
40
  EventNames["EXTENSION_INSTALL"] = "extension_install";
40
41
  EventNames["EXTENSION_UNINSTALL"] = "extension_uninstall";
42
+ EventNames["EXTENSION_UPDATE"] = "extension_update";
41
43
  EventNames["TOOL_OUTPUT_TRUNCATED"] = "tool_output_truncated";
42
44
  EventNames["MODEL_ROUTING"] = "model_routing";
45
+ EventNames["MODEL_SLASH_COMMAND"] = "model_slash_command";
46
+ EventNames["SMART_EDIT_STRATEGY"] = "smart_edit_strategy";
47
+ EventNames["SMART_EDIT_CORRECTION"] = "smart_edit_correction";
48
+ EventNames["AGENT_START"] = "agent_start";
49
+ EventNames["AGENT_FINISH"] = "agent_finish";
50
+ EventNames["WEB_FETCH_FALLBACK_ATTEMPT"] = "web_fetch_fallback_attempt";
43
51
  })(EventNames || (EventNames = {}));
44
52
  /**
45
53
  * Determine the surface that the user is currently using. Surface is effectively the
@@ -54,11 +62,14 @@ function determineSurface() {
54
62
  if (process.env['SURFACE']) {
55
63
  return process.env['SURFACE'];
56
64
  }
65
+ else if (isCloudShell()) {
66
+ return IDE_DEFINITIONS.cloudshell.name;
67
+ }
57
68
  else if (process.env['GITHUB_SHA']) {
58
69
  return 'GitHub';
59
70
  }
60
71
  else if (process.env['TERM_PROGRAM'] === 'vscode') {
61
- return detectIdeFromEnv() || DetectedIde.VSCode;
72
+ return detectIdeFromEnv().name || IDE_DEFINITIONS.vscode.name;
62
73
  }
63
74
  else {
64
75
  return 'SURFACE_NOT_SET';
@@ -252,69 +263,69 @@ export class ClearcutLogger {
252
263
  logStartSessionEvent(event) {
253
264
  const data = [
254
265
  {
255
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_MODEL,
266
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_MODEL,
256
267
  value: event.model,
257
268
  },
258
269
  {
259
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_EMBEDDING_MODEL,
270
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_EMBEDDING_MODEL,
260
271
  value: event.embedding_model,
261
272
  },
262
273
  {
263
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_SANDBOX,
274
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_SANDBOX,
264
275
  value: event.sandbox_enabled.toString(),
265
276
  },
266
277
  {
267
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_CORE_TOOLS,
278
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_CORE_TOOLS,
268
279
  value: event.core_tools_enabled,
269
280
  },
270
281
  {
271
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_APPROVAL_MODE,
282
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_APPROVAL_MODE,
272
283
  value: event.approval_mode,
273
284
  },
274
285
  {
275
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_API_KEY_ENABLED,
286
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_API_KEY_ENABLED,
276
287
  value: event.api_key_enabled.toString(),
277
288
  },
278
289
  {
279
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_VERTEX_API_ENABLED,
290
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_VERTEX_API_ENABLED,
280
291
  value: event.vertex_ai_enabled.toString(),
281
292
  },
282
293
  {
283
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_DEBUG_MODE_ENABLED,
294
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_DEBUG_MODE_ENABLED,
284
295
  value: event.debug_enabled.toString(),
285
296
  },
286
297
  {
287
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_VERTEX_API_ENABLED,
298
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_VERTEX_API_ENABLED,
288
299
  value: event.vertex_ai_enabled.toString(),
289
300
  },
290
301
  {
291
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_MCP_SERVERS,
302
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_MCP_SERVERS,
292
303
  value: event.mcp_servers,
293
304
  },
294
305
  {
295
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_VERTEX_API_ENABLED,
306
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_VERTEX_API_ENABLED,
296
307
  value: event.vertex_ai_enabled.toString(),
297
308
  },
298
309
  {
299
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_TELEMETRY_ENABLED,
310
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_TELEMETRY_ENABLED,
300
311
  value: event.telemetry_enabled.toString(),
301
312
  },
302
313
  {
303
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_TELEMETRY_LOG_USER_PROMPTS_ENABLED,
314
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_TELEMETRY_LOG_USER_PROMPTS_ENABLED,
304
315
  value: event.telemetry_log_user_prompts_enabled.toString(),
305
316
  },
306
317
  {
307
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_MCP_SERVERS_COUNT,
318
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_MCP_SERVERS_COUNT,
308
319
  value: event.mcp_servers_count
309
320
  ? event.mcp_servers_count.toString()
310
321
  : '',
311
322
  },
312
323
  {
313
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_MCP_TOOLS_COUNT,
324
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_MCP_TOOLS_COUNT,
314
325
  value: event.mcp_tools_count?.toString() ?? '',
315
326
  },
316
327
  {
317
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_START_SESSION_MCP_TOOLS,
328
+ gemini_cli_key: EventMetadataKey.CELL_CLI_START_SESSION_MCP_TOOLS,
318
329
  value: event.mcp_tools ? event.mcp_tools : '',
319
330
  },
320
331
  ];
@@ -329,7 +340,7 @@ export class ClearcutLogger {
329
340
  this.promptId = event.prompt_id;
330
341
  const data = [
331
342
  {
332
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_USER_PROMPT_LENGTH,
343
+ gemini_cli_key: EventMetadataKey.CELL_CLI_USER_PROMPT_LENGTH,
333
344
  value: JSON.stringify(event.prompt_length),
334
345
  },
335
346
  ];
@@ -339,44 +350,48 @@ export class ClearcutLogger {
339
350
  logToolCallEvent(event) {
340
351
  const data = [
341
352
  {
342
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_CALL_NAME,
353
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_NAME,
343
354
  value: JSON.stringify(event.function_name),
344
355
  },
345
356
  {
346
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_CALL_DECISION,
357
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_DECISION,
347
358
  value: JSON.stringify(event.decision),
348
359
  },
349
360
  {
350
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_CALL_SUCCESS,
361
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_SUCCESS,
351
362
  value: JSON.stringify(event.success),
352
363
  },
353
364
  {
354
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_CALL_DURATION_MS,
365
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_DURATION_MS,
355
366
  value: JSON.stringify(event.duration_ms),
356
367
  },
357
368
  {
358
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_ERROR_MESSAGE,
359
- value: JSON.stringify(event.error),
360
- },
361
- {
362
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_CALL_ERROR_TYPE,
369
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_ERROR_TYPE,
363
370
  value: JSON.stringify(event.error_type),
364
371
  },
365
372
  {
366
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_TYPE,
373
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_TYPE,
367
374
  value: JSON.stringify(event.tool_type),
368
375
  },
369
376
  {
370
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_CALL_CONTENT_LENGTH,
377
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_CONTENT_LENGTH,
371
378
  value: JSON.stringify(event.content_length),
372
379
  },
380
+ {
381
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_MCP_SERVER_NAME,
382
+ value: JSON.stringify(event.mcp_server_name),
383
+ },
373
384
  ];
374
385
  if (event.metadata) {
375
386
  const metadataMapping = {
376
- model_added_lines: EventMetadataKey.GEMINI_CLI_AI_ADDED_LINES,
377
- model_removed_lines: EventMetadataKey.GEMINI_CLI_AI_REMOVED_LINES,
378
- user_added_lines: EventMetadataKey.GEMINI_CLI_USER_ADDED_LINES,
379
- user_removed_lines: EventMetadataKey.GEMINI_CLI_USER_REMOVED_LINES,
387
+ model_added_lines: EventMetadataKey.CELL_CLI_AI_ADDED_LINES,
388
+ model_removed_lines: EventMetadataKey.CELL_CLI_AI_REMOVED_LINES,
389
+ model_added_chars: EventMetadataKey.CELL_CLI_AI_ADDED_CHARS,
390
+ model_removed_chars: EventMetadataKey.CELL_CLI_AI_REMOVED_CHARS,
391
+ user_added_lines: EventMetadataKey.CELL_CLI_USER_ADDED_LINES,
392
+ user_removed_lines: EventMetadataKey.CELL_CLI_USER_REMOVED_LINES,
393
+ user_added_chars: EventMetadataKey.CELL_CLI_USER_ADDED_CHARS,
394
+ user_removed_chars: EventMetadataKey.CELL_CLI_USER_REMOVED_CHARS,
380
395
  };
381
396
  for (const [key, gemini_cli_key] of Object.entries(metadataMapping)) {
382
397
  if (event.metadata[key] !== undefined) {
@@ -394,29 +409,29 @@ export class ClearcutLogger {
394
409
  logFileOperationEvent(event) {
395
410
  const data = [
396
411
  {
397
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_CALL_NAME,
412
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_NAME,
398
413
  value: JSON.stringify(event.tool_name),
399
414
  },
400
415
  {
401
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_FILE_OPERATION_TYPE,
416
+ gemini_cli_key: EventMetadataKey.CELL_CLI_FILE_OPERATION_TYPE,
402
417
  value: JSON.stringify(event.operation),
403
418
  },
404
419
  {
405
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_FILE_OPERATION_LINES,
420
+ gemini_cli_key: EventMetadataKey.CELL_CLI_FILE_OPERATION_LINES,
406
421
  value: JSON.stringify(event.lines),
407
422
  },
408
423
  {
409
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_FILE_OPERATION_MIMETYPE,
424
+ gemini_cli_key: EventMetadataKey.CELL_CLI_FILE_OPERATION_MIMETYPE,
410
425
  value: JSON.stringify(event.mimetype),
411
426
  },
412
427
  {
413
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_FILE_OPERATION_EXTENSION,
428
+ gemini_cli_key: EventMetadataKey.CELL_CLI_FILE_OPERATION_EXTENSION,
414
429
  value: JSON.stringify(event.extension),
415
430
  },
416
431
  ];
417
432
  if (event.programming_language) {
418
433
  data.push({
419
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_PROGRAMMING_LANGUAGE,
434
+ gemini_cli_key: EventMetadataKey.CELL_CLI_PROGRAMMING_LANGUAGE,
420
435
  value: event.programming_language,
421
436
  });
422
437
  }
@@ -427,7 +442,7 @@ export class ClearcutLogger {
427
442
  logApiRequestEvent(event) {
428
443
  const data = [
429
444
  {
430
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_REQUEST_MODEL,
445
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_REQUEST_MODEL,
431
446
  value: JSON.stringify(event.model),
432
447
  },
433
448
  ];
@@ -437,35 +452,35 @@ export class ClearcutLogger {
437
452
  logApiResponseEvent(event) {
438
453
  const data = [
439
454
  {
440
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_RESPONSE_MODEL,
455
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_MODEL,
441
456
  value: JSON.stringify(event.model),
442
457
  },
443
458
  {
444
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_RESPONSE_STATUS_CODE,
459
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_STATUS_CODE,
445
460
  value: JSON.stringify(event.status_code),
446
461
  },
447
462
  {
448
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_RESPONSE_DURATION_MS,
463
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_DURATION_MS,
449
464
  value: JSON.stringify(event.duration_ms),
450
465
  },
451
466
  {
452
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_RESPONSE_INPUT_TOKEN_COUNT,
467
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_INPUT_TOKEN_COUNT,
453
468
  value: JSON.stringify(event.input_token_count),
454
469
  },
455
470
  {
456
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_RESPONSE_OUTPUT_TOKEN_COUNT,
471
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_OUTPUT_TOKEN_COUNT,
457
472
  value: JSON.stringify(event.output_token_count),
458
473
  },
459
474
  {
460
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_RESPONSE_CACHED_TOKEN_COUNT,
475
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_CACHED_TOKEN_COUNT,
461
476
  value: JSON.stringify(event.cached_content_token_count),
462
477
  },
463
478
  {
464
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_RESPONSE_THINKING_TOKEN_COUNT,
479
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_THINKING_TOKEN_COUNT,
465
480
  value: JSON.stringify(event.thoughts_token_count),
466
481
  },
467
482
  {
468
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_RESPONSE_TOOL_TOKEN_COUNT,
483
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_RESPONSE_TOOL_TOKEN_COUNT,
469
484
  value: JSON.stringify(event.tool_token_count),
470
485
  },
471
486
  ];
@@ -475,19 +490,19 @@ export class ClearcutLogger {
475
490
  logApiErrorEvent(event) {
476
491
  const data = [
477
492
  {
478
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_ERROR_MODEL,
493
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_ERROR_MODEL,
479
494
  value: JSON.stringify(event.model),
480
495
  },
481
496
  {
482
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_ERROR_TYPE,
497
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_ERROR_TYPE,
483
498
  value: JSON.stringify(event.error_type),
484
499
  },
485
500
  {
486
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_ERROR_STATUS_CODE,
501
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_ERROR_STATUS_CODE,
487
502
  value: JSON.stringify(event.status_code),
488
503
  },
489
504
  {
490
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_ERROR_DURATION_MS,
505
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_ERROR_DURATION_MS,
491
506
  value: JSON.stringify(event.duration_ms),
492
507
  },
493
508
  ];
@@ -497,11 +512,11 @@ export class ClearcutLogger {
497
512
  logChatCompressionEvent(event) {
498
513
  const data = [
499
514
  {
500
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_COMPRESSION_TOKENS_BEFORE,
515
+ gemini_cli_key: EventMetadataKey.CELL_CLI_COMPRESSION_TOKENS_BEFORE,
501
516
  value: `${event.tokens_before}`,
502
517
  },
503
518
  {
504
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_COMPRESSION_TOKENS_AFTER,
519
+ gemini_cli_key: EventMetadataKey.CELL_CLI_COMPRESSION_TOKENS_AFTER,
505
520
  value: `${event.tokens_after}`,
506
521
  },
507
522
  ];
@@ -522,7 +537,7 @@ export class ClearcutLogger {
522
537
  logLoopDetectedEvent(event) {
523
538
  const data = [
524
539
  {
525
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_LOOP_DETECTED_TYPE,
540
+ gemini_cli_key: EventMetadataKey.CELL_CLI_LOOP_DETECTED_TYPE,
526
541
  value: JSON.stringify(event.loop_type),
527
542
  },
528
543
  ];
@@ -537,11 +552,11 @@ export class ClearcutLogger {
537
552
  logNextSpeakerCheck(event) {
538
553
  const data = [
539
554
  {
540
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_RESPONSE_FINISH_REASON,
555
+ gemini_cli_key: EventMetadataKey.CELL_CLI_RESPONSE_FINISH_REASON,
541
556
  value: JSON.stringify(event.finish_reason),
542
557
  },
543
558
  {
544
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_NEXT_SPEAKER_CHECK_RESULT,
559
+ gemini_cli_key: EventMetadataKey.CELL_CLI_NEXT_SPEAKER_CHECK_RESULT,
545
560
  value: JSON.stringify(event.result),
546
561
  },
547
562
  ];
@@ -551,19 +566,19 @@ export class ClearcutLogger {
551
566
  logSlashCommandEvent(event) {
552
567
  const data = [
553
568
  {
554
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_SLASH_COMMAND_NAME,
569
+ gemini_cli_key: EventMetadataKey.CELL_CLI_SLASH_COMMAND_NAME,
555
570
  value: JSON.stringify(event.command),
556
571
  },
557
572
  ];
558
573
  if (event.subcommand) {
559
574
  data.push({
560
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_SLASH_COMMAND_SUBCOMMAND,
575
+ gemini_cli_key: EventMetadataKey.CELL_CLI_SLASH_COMMAND_SUBCOMMAND,
561
576
  value: JSON.stringify(event.subcommand),
562
577
  });
563
578
  }
564
579
  if (event.status) {
565
580
  data.push({
566
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_SLASH_COMMAND_STATUS,
581
+ gemini_cli_key: EventMetadataKey.CELL_CLI_SLASH_COMMAND_STATUS,
567
582
  value: JSON.stringify(event.status),
568
583
  });
569
584
  }
@@ -573,7 +588,7 @@ export class ClearcutLogger {
573
588
  logMalformedJsonResponseEvent(event) {
574
589
  const data = [
575
590
  {
576
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_MALFORMED_JSON_RESPONSE_MODEL,
591
+ gemini_cli_key: EventMetadataKey.CELL_CLI_MALFORMED_JSON_RESPONSE_MODEL,
577
592
  value: JSON.stringify(event.model),
578
593
  },
579
594
  ];
@@ -583,7 +598,7 @@ export class ClearcutLogger {
583
598
  logIdeConnectionEvent(event) {
584
599
  const data = [
585
600
  {
586
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_IDE_CONNECTION_TYPE,
601
+ gemini_cli_key: EventMetadataKey.CELL_CLI_IDE_CONNECTION_TYPE,
587
602
  value: JSON.stringify(event.connection_type),
588
603
  },
589
604
  ];
@@ -593,15 +608,15 @@ export class ClearcutLogger {
593
608
  logConversationFinishedEvent(event) {
594
609
  const data = [
595
610
  {
596
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_SESSION_ID,
611
+ gemini_cli_key: EventMetadataKey.CELL_CLI_SESSION_ID,
597
612
  value: this.config?.getSessionId() ?? '',
598
613
  },
599
614
  {
600
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_CONVERSATION_TURN_COUNT,
615
+ gemini_cli_key: EventMetadataKey.CELL_CLI_CONVERSATION_TURN_COUNT,
601
616
  value: JSON.stringify(event.turnCount),
602
617
  },
603
618
  {
604
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_APPROVAL_MODE,
619
+ gemini_cli_key: EventMetadataKey.CELL_CLI_APPROVAL_MODE,
605
620
  value: event.approvalMode,
606
621
  },
607
622
  ];
@@ -611,13 +626,9 @@ export class ClearcutLogger {
611
626
  logKittySequenceOverflowEvent(event) {
612
627
  const data = [
613
628
  {
614
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_KITTY_SEQUENCE_LENGTH,
629
+ gemini_cli_key: EventMetadataKey.CELL_CLI_KITTY_SEQUENCE_LENGTH,
615
630
  value: event.sequence_length.toString(),
616
631
  },
617
- {
618
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_KITTY_TRUNCATED_SEQUENCE,
619
- value: event.truncated_sequence,
620
- },
621
632
  ];
622
633
  this.enqueueLogEvent(this.createLogEvent(EventNames.KITTY_SEQUENCE_OVERFLOW, data));
623
634
  this.flushIfNeeded();
@@ -633,7 +644,7 @@ export class ClearcutLogger {
633
644
  const data = [];
634
645
  if (event.error_message) {
635
646
  data.push({
636
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_INVALID_CHUNK_ERROR_MESSAGE,
647
+ gemini_cli_key: EventMetadataKey.CELL_CLI_INVALID_CHUNK_ERROR_MESSAGE,
637
648
  value: event.error_message,
638
649
  });
639
650
  }
@@ -643,17 +654,21 @@ export class ClearcutLogger {
643
654
  logContentRetryEvent(event) {
644
655
  const data = [
645
656
  {
646
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_CONTENT_RETRY_ATTEMPT_NUMBER,
657
+ gemini_cli_key: EventMetadataKey.CELL_CLI_CONTENT_RETRY_ATTEMPT_NUMBER,
647
658
  value: String(event.attempt_number),
648
659
  },
649
660
  {
650
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_CONTENT_RETRY_ERROR_TYPE,
661
+ gemini_cli_key: EventMetadataKey.CELL_CLI_CONTENT_RETRY_ERROR_TYPE,
651
662
  value: event.error_type,
652
663
  },
653
664
  {
654
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_CONTENT_RETRY_DELAY_MS,
665
+ gemini_cli_key: EventMetadataKey.CELL_CLI_CONTENT_RETRY_DELAY_MS,
655
666
  value: String(event.retry_delay_ms),
656
667
  },
668
+ {
669
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_REQUEST_MODEL,
670
+ value: event.model,
671
+ },
657
672
  ];
658
673
  this.enqueueLogEvent(this.createLogEvent(EventNames.CONTENT_RETRY, data));
659
674
  this.flushIfNeeded();
@@ -661,17 +676,21 @@ export class ClearcutLogger {
661
676
  logContentRetryFailureEvent(event) {
662
677
  const data = [
663
678
  {
664
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_CONTENT_RETRY_FAILURE_TOTAL_ATTEMPTS,
679
+ gemini_cli_key: EventMetadataKey.CELL_CLI_CONTENT_RETRY_FAILURE_TOTAL_ATTEMPTS,
665
680
  value: String(event.total_attempts),
666
681
  },
667
682
  {
668
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_CONTENT_RETRY_FAILURE_FINAL_ERROR_TYPE,
683
+ gemini_cli_key: EventMetadataKey.CELL_CLI_CONTENT_RETRY_FAILURE_FINAL_ERROR_TYPE,
669
684
  value: event.final_error_type,
670
685
  },
686
+ {
687
+ gemini_cli_key: EventMetadataKey.CELL_CLI_API_REQUEST_MODEL,
688
+ value: event.model,
689
+ },
671
690
  ];
672
691
  if (event.total_duration_ms) {
673
692
  data.push({
674
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_CONTENT_RETRY_FAILURE_TOTAL_DURATION_MS,
693
+ gemini_cli_key: EventMetadataKey.CELL_CLI_CONTENT_RETRY_FAILURE_TOTAL_DURATION_MS,
675
694
  value: String(event.total_duration_ms),
676
695
  });
677
696
  }
@@ -681,59 +700,91 @@ export class ClearcutLogger {
681
700
  logExtensionInstallEvent(event) {
682
701
  const data = [
683
702
  {
684
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_EXTENSION_NAME,
703
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_NAME,
685
704
  value: event.extension_name,
686
705
  },
687
706
  {
688
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_EXTENSION_VERSION,
707
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_VERSION,
689
708
  value: event.extension_version,
690
709
  },
691
710
  {
692
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_EXTENSION_SOURCE,
711
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_SOURCE,
693
712
  value: event.extension_source,
694
713
  },
695
714
  {
696
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_EXTENSION_INSTALL_STATUS,
715
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_INSTALL_STATUS,
697
716
  value: event.status,
698
717
  },
699
718
  ];
700
719
  this.enqueueLogEvent(this.createLogEvent(EventNames.EXTENSION_INSTALL, data));
701
- this.flushIfNeeded();
720
+ this.flushToClearcut().catch((error) => {
721
+ console.debug('Error flushing to Clearcut:', error);
722
+ });
702
723
  }
703
724
  logExtensionUninstallEvent(event) {
704
725
  const data = [
705
726
  {
706
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_EXTENSION_NAME,
727
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_NAME,
707
728
  value: event.extension_name,
708
729
  },
709
730
  {
710
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_EXTENSION_UNINSTALL_STATUS,
731
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_UNINSTALL_STATUS,
711
732
  value: event.status,
712
733
  },
713
734
  ];
714
735
  this.enqueueLogEvent(this.createLogEvent(EventNames.EXTENSION_UNINSTALL, data));
715
- this.flushIfNeeded();
736
+ this.flushToClearcut().catch((error) => {
737
+ console.debug('Error flushing to Clearcut:', error);
738
+ });
739
+ }
740
+ logExtensionUpdateEvent(event) {
741
+ const data = [
742
+ {
743
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_NAME,
744
+ value: event.extension_name,
745
+ },
746
+ {
747
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_VERSION,
748
+ value: event.extension_version,
749
+ },
750
+ {
751
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_PREVIOUS_VERSION,
752
+ value: event.extension_previous_version,
753
+ },
754
+ {
755
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_SOURCE,
756
+ value: event.extension_source,
757
+ },
758
+ {
759
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_UPDATE_STATUS,
760
+ value: event.status,
761
+ },
762
+ ];
763
+ this.enqueueLogEvent(this.createLogEvent(EventNames.EXTENSION_UPDATE, data));
764
+ this.flushToClearcut().catch((error) => {
765
+ console.debug('Error flushing to Clearcut:', error);
766
+ });
716
767
  }
717
768
  logToolOutputTruncatedEvent(event) {
718
769
  const data = [
719
770
  {
720
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_CALL_NAME,
771
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_CALL_NAME,
721
772
  value: JSON.stringify(event.tool_name),
722
773
  },
723
774
  {
724
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_OUTPUT_TRUNCATED_ORIGINAL_LENGTH,
775
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_OUTPUT_TRUNCATED_ORIGINAL_LENGTH,
725
776
  value: JSON.stringify(event.original_content_length),
726
777
  },
727
778
  {
728
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_OUTPUT_TRUNCATED_TRUNCATED_LENGTH,
779
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_OUTPUT_TRUNCATED_TRUNCATED_LENGTH,
729
780
  value: JSON.stringify(event.truncated_content_length),
730
781
  },
731
782
  {
732
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_OUTPUT_TRUNCATED_THRESHOLD,
783
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_OUTPUT_TRUNCATED_THRESHOLD,
733
784
  value: JSON.stringify(event.threshold),
734
785
  },
735
786
  {
736
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_TOOL_OUTPUT_TRUNCATED_LINES,
787
+ gemini_cli_key: EventMetadataKey.CELL_CLI_TOOL_OUTPUT_TRUNCATED_LINES,
737
788
  value: JSON.stringify(event.lines),
738
789
  },
739
790
  ];
@@ -743,25 +794,25 @@ export class ClearcutLogger {
743
794
  logModelRoutingEvent(event) {
744
795
  const data = [
745
796
  {
746
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_ROUTING_DECISION,
797
+ gemini_cli_key: EventMetadataKey.CELL_CLI_ROUTING_DECISION,
747
798
  value: event.decision_model,
748
799
  },
749
800
  {
750
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_ROUTING_DECISION_SOURCE,
801
+ gemini_cli_key: EventMetadataKey.CELL_CLI_ROUTING_DECISION_SOURCE,
751
802
  value: event.decision_source,
752
803
  },
753
804
  {
754
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_ROUTING_LATENCY_MS,
805
+ gemini_cli_key: EventMetadataKey.CELL_CLI_ROUTING_LATENCY_MS,
755
806
  value: event.routing_latency_ms.toString(),
756
807
  },
757
808
  {
758
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_ROUTING_FAILURE,
809
+ gemini_cli_key: EventMetadataKey.CELL_CLI_ROUTING_FAILURE,
759
810
  value: event.failed.toString(),
760
811
  },
761
812
  ];
762
813
  if (event.error_message) {
763
814
  data.push({
764
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_ROUTING_FAILURE_REASON,
815
+ gemini_cli_key: EventMetadataKey.CELL_CLI_ROUTING_FAILURE_REASON,
765
816
  value: event.error_message,
766
817
  });
767
818
  }
@@ -771,15 +822,113 @@ export class ClearcutLogger {
771
822
  logExtensionEnableEvent(event) {
772
823
  const data = [
773
824
  {
774
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_EXTENSION_NAME,
825
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_NAME,
775
826
  value: event.extension_name,
776
827
  },
777
828
  {
778
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_EXTENSION_ENABLE_SETTING_SCOPE,
829
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_ENABLE_SETTING_SCOPE,
779
830
  value: event.setting_scope,
780
831
  },
781
832
  ];
782
833
  this.enqueueLogEvent(this.createLogEvent(EventNames.EXTENSION_ENABLE, data));
834
+ this.flushToClearcut().catch((error) => {
835
+ console.debug('Error flushing to Clearcut:', error);
836
+ });
837
+ }
838
+ logModelSlashCommandEvent(event) {
839
+ const data = [
840
+ {
841
+ gemini_cli_key: EventMetadataKey.CELL_CLI_MODEL_SLASH_COMMAND,
842
+ value: event.model_name,
843
+ },
844
+ ];
845
+ this.enqueueLogEvent(this.createLogEvent(EventNames.MODEL_SLASH_COMMAND, data));
846
+ this.flushIfNeeded();
847
+ }
848
+ logExtensionDisableEvent(event) {
849
+ const data = [
850
+ {
851
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_NAME,
852
+ value: event.extension_name,
853
+ },
854
+ {
855
+ gemini_cli_key: EventMetadataKey.CELL_CLI_EXTENSION_DISABLE_SETTING_SCOPE,
856
+ value: event.setting_scope,
857
+ },
858
+ ];
859
+ this.enqueueLogEvent(this.createLogEvent(EventNames.EXTENSION_DISABLE, data));
860
+ this.flushToClearcut().catch((error) => {
861
+ console.debug('Error flushing to Clearcut:', error);
862
+ });
863
+ }
864
+ logSmartEditStrategyEvent(event) {
865
+ const data = [
866
+ {
867
+ gemini_cli_key: EventMetadataKey.CELL_CLI_SMART_EDIT_STRATEGY,
868
+ value: event.strategy,
869
+ },
870
+ ];
871
+ this.enqueueLogEvent(this.createLogEvent(EventNames.SMART_EDIT_STRATEGY, data));
872
+ this.flushIfNeeded();
873
+ }
874
+ logSmartEditCorrectionEvent(event) {
875
+ const data = [
876
+ {
877
+ gemini_cli_key: EventMetadataKey.CELL_CLI_SMART_EDIT_CORRECTION,
878
+ value: event.correction,
879
+ },
880
+ ];
881
+ this.enqueueLogEvent(this.createLogEvent(EventNames.SMART_EDIT_CORRECTION, data));
882
+ this.flushIfNeeded();
883
+ }
884
+ logAgentStartEvent(event) {
885
+ const data = [
886
+ {
887
+ gemini_cli_key: EventMetadataKey.CELL_CLI_AGENT_ID,
888
+ value: event.agent_id,
889
+ },
890
+ {
891
+ gemini_cli_key: EventMetadataKey.CELL_CLI_AGENT_NAME,
892
+ value: event.agent_name,
893
+ },
894
+ ];
895
+ this.enqueueLogEvent(this.createLogEvent(EventNames.AGENT_START, data));
896
+ this.flushIfNeeded();
897
+ }
898
+ logAgentFinishEvent(event) {
899
+ const data = [
900
+ {
901
+ gemini_cli_key: EventMetadataKey.CELL_CLI_AGENT_ID,
902
+ value: event.agent_id,
903
+ },
904
+ {
905
+ gemini_cli_key: EventMetadataKey.CELL_CLI_AGENT_NAME,
906
+ value: event.agent_name,
907
+ },
908
+ {
909
+ gemini_cli_key: EventMetadataKey.CELL_CLI_AGENT_DURATION_MS,
910
+ value: event.duration_ms.toString(),
911
+ },
912
+ {
913
+ gemini_cli_key: EventMetadataKey.CELL_CLI_AGENT_TURN_COUNT,
914
+ value: event.turn_count.toString(),
915
+ },
916
+ {
917
+ gemini_cli_key: EventMetadataKey.CELL_CLI_AGENT_TERMINATE_REASON,
918
+ value: event.terminate_reason,
919
+ },
920
+ ];
921
+ this.enqueueLogEvent(this.createLogEvent(EventNames.AGENT_FINISH, data));
922
+ this.flushIfNeeded();
923
+ }
924
+ logWebFetchFallbackAttemptEvent(event) {
925
+ const data = [
926
+ {
927
+ gemini_cli_key: EventMetadataKey.CELL_CLI_WEB_FETCH_FALLBACK_REASON,
928
+ value: event.reason,
929
+ },
930
+ ];
931
+ this.enqueueLogEvent(this.createLogEvent(EventNames.WEB_FETCH_FALLBACK_ATTEMPT, data));
783
932
  this.flushIfNeeded();
784
933
  }
785
934
  /**
@@ -790,43 +939,43 @@ export class ClearcutLogger {
790
939
  const surface = determineSurface();
791
940
  const defaultLogMetadata = [
792
941
  {
793
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_SESSION_ID,
942
+ gemini_cli_key: EventMetadataKey.CELL_CLI_SESSION_ID,
794
943
  value: this.config?.getSessionId() ?? '',
795
944
  },
796
945
  {
797
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_AUTH_TYPE,
946
+ gemini_cli_key: EventMetadataKey.CELL_CLI_AUTH_TYPE,
798
947
  value: JSON.stringify(this.config?.getContentGeneratorConfig()?.authType),
799
948
  },
800
949
  {
801
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_GOOGLE_ACCOUNTS_COUNT,
950
+ gemini_cli_key: EventMetadataKey.CELL_CLI_GOOGLE_ACCOUNTS_COUNT,
802
951
  value: `${totalAccounts}`,
803
952
  },
804
953
  {
805
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_SURFACE,
954
+ gemini_cli_key: EventMetadataKey.CELL_CLI_SURFACE,
806
955
  value: surface,
807
956
  },
808
957
  {
809
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_VERSION,
958
+ gemini_cli_key: EventMetadataKey.CELL_CLI_VERSION,
810
959
  value: CLI_VERSION,
811
960
  },
812
961
  {
813
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_GIT_COMMIT_HASH,
962
+ gemini_cli_key: EventMetadataKey.CELL_CLI_GIT_COMMIT_HASH,
814
963
  value: GIT_COMMIT_INFO,
815
964
  },
816
965
  {
817
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_PROMPT_ID,
966
+ gemini_cli_key: EventMetadataKey.CELL_CLI_PROMPT_ID,
818
967
  value: this.promptId,
819
968
  },
820
969
  {
821
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_OS,
970
+ gemini_cli_key: EventMetadataKey.CELL_CLI_OS,
822
971
  value: process.platform,
823
972
  },
824
973
  {
825
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_NODE_VERSION,
974
+ gemini_cli_key: EventMetadataKey.CELL_CLI_NODE_VERSION,
826
975
  value: process.versions.node,
827
976
  },
828
977
  {
829
- gemini_cli_key: EventMetadataKey.GEMINI_CLI_USER_SETTINGS,
978
+ gemini_cli_key: EventMetadataKey.CELL_CLI_USER_SETTINGS,
830
979
  value: safeJsonStringify([
831
980
  {
832
981
  smart_edit_enabled: this.config?.getUseSmartEdit() ?? false,