@google/gemini-cli-core 0.34.0-preview.3 → 0.35.0-nightly.20260314.3038fdce2

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 (355) hide show
  1. package/dist/docs/changelogs/index.md +19 -0
  2. package/dist/docs/changelogs/latest.md +217 -191
  3. package/dist/docs/changelogs/preview.md +447 -184
  4. package/dist/docs/cli/model-routing.md +18 -1
  5. package/dist/docs/cli/model-steering.md +79 -0
  6. package/dist/docs/cli/plan-mode.md +99 -14
  7. package/dist/docs/cli/settings.md +14 -12
  8. package/dist/docs/cli/telemetry.md +45 -0
  9. package/dist/docs/cli/tutorials/plan-mode-steering.md +89 -0
  10. package/dist/docs/core/index.md +2 -0
  11. package/dist/docs/core/local-model-routing.md +193 -0
  12. package/dist/docs/reference/configuration.md +27 -3
  13. package/dist/docs/reference/keyboard-shortcuts.md +168 -90
  14. package/dist/docs/reference/policy-engine.md +30 -6
  15. package/dist/docs/resources/troubleshooting.md +15 -0
  16. package/dist/docs/sidebar.json +10 -0
  17. package/dist/docs/tools/shell.md +8 -0
  18. package/dist/google-gemini-cli-core-0.35.0-nightly.20260311.657f19c1f.tgz +0 -0
  19. package/dist/src/agents/a2a-client-manager.d.ts +11 -4
  20. package/dist/src/agents/a2a-client-manager.js +61 -34
  21. package/dist/src/agents/a2a-client-manager.js.map +1 -1
  22. package/dist/src/agents/a2a-client-manager.test.js +178 -115
  23. package/dist/src/agents/a2a-client-manager.test.js.map +1 -1
  24. package/dist/src/agents/a2aUtils.d.ts +4 -28
  25. package/dist/src/agents/a2aUtils.js +20 -181
  26. package/dist/src/agents/a2aUtils.js.map +1 -1
  27. package/dist/src/agents/a2aUtils.test.js +19 -106
  28. package/dist/src/agents/a2aUtils.test.js.map +1 -1
  29. package/dist/src/agents/agent-scheduler.d.ts +2 -0
  30. package/dist/src/agents/agent-scheduler.js +3 -2
  31. package/dist/src/agents/agent-scheduler.js.map +1 -1
  32. package/dist/src/agents/agent-scheduler.test.js +12 -3
  33. package/dist/src/agents/agent-scheduler.test.js.map +1 -1
  34. package/dist/src/agents/agentLoader.d.ts +2 -2
  35. package/dist/src/agents/agentLoader.js +15 -0
  36. package/dist/src/agents/agentLoader.js.map +1 -1
  37. package/dist/src/agents/auth-provider/factory.d.ts +2 -0
  38. package/dist/src/agents/auth-provider/factory.js +6 -3
  39. package/dist/src/agents/auth-provider/factory.js.map +1 -1
  40. package/dist/src/agents/auth-provider/google-credentials-provider.d.ts +26 -0
  41. package/dist/src/agents/auth-provider/google-credentials-provider.js +117 -0
  42. package/dist/src/agents/auth-provider/google-credentials-provider.js.map +1 -0
  43. package/dist/src/agents/auth-provider/google-credentials-provider.test.d.ts +6 -0
  44. package/dist/src/agents/auth-provider/google-credentials-provider.test.js +126 -0
  45. package/dist/src/agents/auth-provider/google-credentials-provider.test.js.map +1 -0
  46. package/dist/src/agents/browser/browserAgentFactory.js +11 -2
  47. package/dist/src/agents/browser/browserAgentFactory.js.map +1 -1
  48. package/dist/src/agents/browser/browserAgentInvocation.d.ts +4 -3
  49. package/dist/src/agents/browser/browserAgentInvocation.js +10 -4
  50. package/dist/src/agents/browser/browserAgentInvocation.js.map +1 -1
  51. package/dist/src/agents/browser/browserAgentInvocation.test.js +1 -0
  52. package/dist/src/agents/browser/browserAgentInvocation.test.js.map +1 -1
  53. package/dist/src/agents/browser/browserManager.d.ts +10 -0
  54. package/dist/src/agents/browser/browserManager.js +53 -8
  55. package/dist/src/agents/browser/browserManager.js.map +1 -1
  56. package/dist/src/agents/browser/inputBlocker.d.ts +51 -0
  57. package/dist/src/agents/browser/inputBlocker.js +234 -0
  58. package/dist/src/agents/browser/inputBlocker.js.map +1 -0
  59. package/dist/src/agents/browser/inputBlocker.test.d.ts +6 -0
  60. package/dist/src/agents/browser/inputBlocker.test.js +82 -0
  61. package/dist/src/agents/browser/inputBlocker.test.js.map +1 -0
  62. package/dist/src/agents/browser/mcpToolWrapper.d.ts +3 -2
  63. package/dist/src/agents/browser/mcpToolWrapper.js +49 -8
  64. package/dist/src/agents/browser/mcpToolWrapper.js.map +1 -1
  65. package/dist/src/agents/browser/mcpToolWrapper.test.js +51 -0
  66. package/dist/src/agents/browser/mcpToolWrapper.test.js.map +1 -1
  67. package/dist/src/agents/local-executor.d.ts +5 -4
  68. package/dist/src/agents/local-executor.js +30 -25
  69. package/dist/src/agents/local-executor.js.map +1 -1
  70. package/dist/src/agents/local-executor.test.js +269 -3
  71. package/dist/src/agents/local-executor.test.js.map +1 -1
  72. package/dist/src/agents/local-invocation.d.ts +4 -4
  73. package/dist/src/agents/local-invocation.js +12 -9
  74. package/dist/src/agents/local-invocation.js.map +1 -1
  75. package/dist/src/agents/local-invocation.test.js +19 -3
  76. package/dist/src/agents/local-invocation.test.js.map +1 -1
  77. package/dist/src/agents/registry.js +3 -2
  78. package/dist/src/agents/registry.js.map +1 -1
  79. package/dist/src/agents/registry.test.js +1 -0
  80. package/dist/src/agents/registry.test.js.map +1 -1
  81. package/dist/src/agents/remote-invocation.d.ts +0 -9
  82. package/dist/src/agents/remote-invocation.js +1 -28
  83. package/dist/src/agents/remote-invocation.js.map +1 -1
  84. package/dist/src/agents/remote-invocation.test.js +1 -0
  85. package/dist/src/agents/remote-invocation.test.js.map +1 -1
  86. package/dist/src/agents/subagent-tool-wrapper.d.ts +5 -4
  87. package/dist/src/agents/subagent-tool-wrapper.js +9 -5
  88. package/dist/src/agents/subagent-tool-wrapper.js.map +1 -1
  89. package/dist/src/agents/subagent-tool-wrapper.test.js +15 -1
  90. package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
  91. package/dist/src/agents/subagent-tool.d.ts +3 -3
  92. package/dist/src/agents/subagent-tool.js +16 -12
  93. package/dist/src/agents/subagent-tool.js.map +1 -1
  94. package/dist/src/agents/subagent-tool.test.js +13 -3
  95. package/dist/src/agents/subagent-tool.test.js.map +1 -1
  96. package/dist/src/code_assist/oauth2.js +0 -1
  97. package/dist/src/code_assist/oauth2.js.map +1 -1
  98. package/dist/src/code_assist/server.js +2 -2
  99. package/dist/src/code_assist/server.js.map +1 -1
  100. package/dist/src/code_assist/server.test.js +5 -1
  101. package/dist/src/code_assist/server.test.js.map +1 -1
  102. package/dist/src/code_assist/telemetry.d.ts +2 -2
  103. package/dist/src/code_assist/telemetry.js +5 -3
  104. package/dist/src/code_assist/telemetry.js.map +1 -1
  105. package/dist/src/code_assist/telemetry.test.js +14 -12
  106. package/dist/src/code_assist/telemetry.test.js.map +1 -1
  107. package/dist/src/code_assist/types.d.ts +14 -12
  108. package/dist/src/code_assist/types.js.map +1 -1
  109. package/dist/src/config/agent-loop-context.d.ts +3 -0
  110. package/dist/src/config/config.d.ts +75 -2
  111. package/dist/src/config/config.js +78 -11
  112. package/dist/src/config/config.js.map +1 -1
  113. package/dist/src/config/config.test.js +170 -10
  114. package/dist/src/config/config.test.js.map +1 -1
  115. package/dist/src/config/models.d.ts +14 -0
  116. package/dist/src/config/models.js +37 -0
  117. package/dist/src/config/models.js.map +1 -1
  118. package/dist/src/config/models.test.js +51 -1
  119. package/dist/src/config/models.test.js.map +1 -1
  120. package/dist/src/config/storage.d.ts +1 -0
  121. package/dist/src/config/storage.js +3 -0
  122. package/dist/src/config/storage.js.map +1 -1
  123. package/dist/src/core/baseLlmClient.js +19 -3
  124. package/dist/src/core/baseLlmClient.js.map +1 -1
  125. package/dist/src/core/baseLlmClient.test.js +2 -0
  126. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  127. package/dist/src/core/client.d.ts +4 -3
  128. package/dist/src/core/client.js +42 -17
  129. package/dist/src/core/client.js.map +1 -1
  130. package/dist/src/core/client.test.js +8 -0
  131. package/dist/src/core/client.test.js.map +1 -1
  132. package/dist/src/core/contentGenerator.d.ts +1 -0
  133. package/dist/src/core/contentGenerator.js +35 -3
  134. package/dist/src/core/contentGenerator.js.map +1 -1
  135. package/dist/src/core/contentGenerator.test.js +137 -2
  136. package/dist/src/core/contentGenerator.test.js.map +1 -1
  137. package/dist/src/core/coreToolHookTriggers.d.ts +2 -3
  138. package/dist/src/core/coreToolHookTriggers.js +5 -11
  139. package/dist/src/core/coreToolHookTriggers.js.map +1 -1
  140. package/dist/src/core/coreToolHookTriggers.test.js +24 -0
  141. package/dist/src/core/coreToolHookTriggers.test.js.map +1 -1
  142. package/dist/src/core/coreToolScheduler.js +1 -1
  143. package/dist/src/core/coreToolScheduler.js.map +1 -1
  144. package/dist/src/core/geminiChat.js +31 -21
  145. package/dist/src/core/geminiChat.js.map +1 -1
  146. package/dist/src/core/geminiChat.test.js +6 -4
  147. package/dist/src/core/geminiChat.test.js.map +1 -1
  148. package/dist/src/core/geminiChat_network_retry.test.js +21 -11
  149. package/dist/src/core/geminiChat_network_retry.test.js.map +1 -1
  150. package/dist/src/fallback/handler.js +0 -4
  151. package/dist/src/fallback/handler.js.map +1 -1
  152. package/dist/src/fallback/handler.test.js +0 -6
  153. package/dist/src/fallback/handler.test.js.map +1 -1
  154. package/dist/src/generated/git-commit.d.ts +2 -2
  155. package/dist/src/generated/git-commit.js +2 -2
  156. package/dist/src/generated/git-commit.js.map +1 -1
  157. package/dist/src/ide/detect-ide.d.ts +8 -0
  158. package/dist/src/ide/detect-ide.js +12 -1
  159. package/dist/src/ide/detect-ide.js.map +1 -1
  160. package/dist/src/ide/detect-ide.test.js +12 -0
  161. package/dist/src/ide/detect-ide.test.js.map +1 -1
  162. package/dist/src/ide/ide-installer.js +20 -8
  163. package/dist/src/ide/ide-installer.js.map +1 -1
  164. package/dist/src/ide/ide-installer.test.js +60 -4
  165. package/dist/src/ide/ide-installer.test.js.map +1 -1
  166. package/dist/src/mcp/oauth-provider.js +0 -2
  167. package/dist/src/mcp/oauth-provider.js.map +1 -1
  168. package/dist/src/mcp/oauth-token-storage.test.js +6 -10
  169. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  170. package/dist/src/mcp/oauth-utils.js +0 -2
  171. package/dist/src/mcp/oauth-utils.js.map +1 -1
  172. package/dist/src/mcp/token-storage/file-token-storage.d.ts +24 -0
  173. package/dist/src/mcp/token-storage/file-token-storage.js +152 -0
  174. package/dist/src/mcp/token-storage/file-token-storage.js.map +1 -0
  175. package/dist/src/mcp/token-storage/file-token-storage.test.d.ts +6 -0
  176. package/dist/src/mcp/token-storage/file-token-storage.test.js +276 -0
  177. package/dist/src/mcp/token-storage/file-token-storage.test.js.map +1 -0
  178. package/dist/src/mcp/token-storage/hybrid-token-storage.js +21 -9
  179. package/dist/src/mcp/token-storage/hybrid-token-storage.js.map +1 -1
  180. package/dist/src/mcp/token-storage/hybrid-token-storage.test.js +59 -10
  181. package/dist/src/mcp/token-storage/hybrid-token-storage.test.js.map +1 -1
  182. package/dist/src/mcp/token-storage/index.d.ts +1 -1
  183. package/dist/src/mcp/token-storage/index.js +1 -1
  184. package/dist/src/mcp/token-storage/index.js.map +1 -1
  185. package/dist/src/mcp/token-storage/keychain-token-storage.d.ts +0 -1
  186. package/dist/src/mcp/token-storage/keychain-token-storage.js +0 -3
  187. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
  188. package/dist/src/policy/config.d.ts +14 -2
  189. package/dist/src/policy/config.js +94 -49
  190. package/dist/src/policy/config.js.map +1 -1
  191. package/dist/src/policy/config.test.js +208 -488
  192. package/dist/src/policy/config.test.js.map +1 -1
  193. package/dist/src/policy/policies/plan.toml +1 -1
  194. package/dist/src/policy/stable-stringify.js +15 -5
  195. package/dist/src/policy/stable-stringify.js.map +1 -1
  196. package/dist/src/policy/types.d.ts +1 -0
  197. package/dist/src/policy/types.js.map +1 -1
  198. package/dist/src/policy/utils.d.ts +17 -0
  199. package/dist/src/policy/utils.js +27 -7
  200. package/dist/src/policy/utils.js.map +1 -1
  201. package/dist/src/prompts/snippets.js +2 -1
  202. package/dist/src/prompts/snippets.js.map +1 -1
  203. package/dist/src/prompts/utils.test.d.ts +6 -0
  204. package/dist/src/prompts/utils.test.js +225 -0
  205. package/dist/src/prompts/utils.test.js.map +1 -0
  206. package/dist/src/routing/modelRouterService.js +2 -2
  207. package/dist/src/routing/modelRouterService.js.map +1 -1
  208. package/dist/src/routing/modelRouterService.test.js +4 -3
  209. package/dist/src/routing/modelRouterService.test.js.map +1 -1
  210. package/dist/src/routing/strategies/numericalClassifierStrategy.js +6 -40
  211. package/dist/src/routing/strategies/numericalClassifierStrategy.js.map +1 -1
  212. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js +29 -64
  213. package/dist/src/routing/strategies/numericalClassifierStrategy.test.js.map +1 -1
  214. package/dist/src/scheduler/policy.d.ts +3 -7
  215. package/dist/src/scheduler/policy.js +4 -3
  216. package/dist/src/scheduler/policy.js.map +1 -1
  217. package/dist/src/scheduler/policy.test.js +51 -31
  218. package/dist/src/scheduler/policy.test.js.map +1 -1
  219. package/dist/src/scheduler/scheduler.d.ts +4 -2
  220. package/dist/src/scheduler/scheduler.js +19 -16
  221. package/dist/src/scheduler/scheduler.js.map +1 -1
  222. package/dist/src/scheduler/scheduler.test.js +33 -10
  223. package/dist/src/scheduler/scheduler.test.js.map +1 -1
  224. package/dist/src/scheduler/scheduler_parallel.test.js +40 -2
  225. package/dist/src/scheduler/scheduler_parallel.test.js.map +1 -1
  226. package/dist/src/scheduler/scheduler_waiting_callback.test.js +1 -1
  227. package/dist/src/scheduler/scheduler_waiting_callback.test.js.map +1 -1
  228. package/dist/src/scheduler/tool-executor.d.ts +3 -3
  229. package/dist/src/scheduler/tool-executor.js +15 -21
  230. package/dist/src/scheduler/tool-executor.js.map +1 -1
  231. package/dist/src/scheduler/tool-executor.test.js +43 -8
  232. package/dist/src/scheduler/tool-executor.test.js.map +1 -1
  233. package/dist/src/services/chatRecordingService.js +2 -1
  234. package/dist/src/services/chatRecordingService.js.map +1 -1
  235. package/dist/src/services/chatRecordingService.test.js +21 -0
  236. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  237. package/dist/src/services/executionLifecycleService.d.ts +83 -0
  238. package/dist/src/services/executionLifecycleService.js +271 -0
  239. package/dist/src/services/executionLifecycleService.js.map +1 -0
  240. package/dist/src/services/executionLifecycleService.test.d.ts +6 -0
  241. package/dist/src/services/executionLifecycleService.test.js +227 -0
  242. package/dist/src/services/executionLifecycleService.test.js.map +1 -0
  243. package/dist/src/services/keychainService.d.ts +0 -5
  244. package/dist/src/services/keychainService.js +13 -30
  245. package/dist/src/services/keychainService.js.map +1 -1
  246. package/dist/src/services/keychainService.test.js +22 -52
  247. package/dist/src/services/keychainService.test.js.map +1 -1
  248. package/dist/src/services/sandboxManager.d.ts +54 -0
  249. package/dist/src/services/sandboxManager.js +30 -0
  250. package/dist/src/services/sandboxManager.js.map +1 -0
  251. package/dist/src/services/sandboxManager.test.d.ts +6 -0
  252. package/dist/src/services/sandboxManager.test.js +95 -0
  253. package/dist/src/services/sandboxManager.test.js.map +1 -0
  254. package/dist/src/services/shellExecutionService.d.ts +4 -52
  255. package/dist/src/services/shellExecutionService.js +437 -498
  256. package/dist/src/services/shellExecutionService.js.map +1 -1
  257. package/dist/src/services/shellExecutionService.test.js +10 -21
  258. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  259. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +13 -2
  260. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +91 -1
  261. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  262. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +77 -0
  263. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  264. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +10 -1
  265. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +25 -1
  266. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  267. package/dist/src/telemetry/index.d.ts +3 -3
  268. package/dist/src/telemetry/index.js +3 -3
  269. package/dist/src/telemetry/index.js.map +1 -1
  270. package/dist/src/telemetry/loggers.d.ts +2 -1
  271. package/dist/src/telemetry/loggers.js +32 -1
  272. package/dist/src/telemetry/loggers.js.map +1 -1
  273. package/dist/src/telemetry/loggers.test.js +37 -2
  274. package/dist/src/telemetry/loggers.test.js.map +1 -1
  275. package/dist/src/telemetry/metrics.d.ts +13 -0
  276. package/dist/src/telemetry/metrics.js +17 -0
  277. package/dist/src/telemetry/metrics.js.map +1 -1
  278. package/dist/src/telemetry/startupProfiler.js +4 -4
  279. package/dist/src/telemetry/startupProfiler.js.map +1 -1
  280. package/dist/src/telemetry/startupProfiler.test.js +19 -0
  281. package/dist/src/telemetry/startupProfiler.test.js.map +1 -1
  282. package/dist/src/telemetry/telemetry-utils.test.js +3 -3
  283. package/dist/src/telemetry/types.d.ts +16 -2
  284. package/dist/src/telemetry/types.js +34 -0
  285. package/dist/src/telemetry/types.js.map +1 -1
  286. package/dist/src/telemetry/uiTelemetry.d.ts +7 -0
  287. package/dist/src/telemetry/uiTelemetry.js +78 -0
  288. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  289. package/dist/src/telemetry/uiTelemetry.test.js +101 -0
  290. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  291. package/dist/src/tools/exit-plan-mode.js +10 -2
  292. package/dist/src/tools/exit-plan-mode.js.map +1 -1
  293. package/dist/src/tools/exit-plan-mode.test.js +15 -0
  294. package/dist/src/tools/exit-plan-mode.test.js.map +1 -1
  295. package/dist/src/tools/ls.js +2 -2
  296. package/dist/src/tools/ls.js.map +1 -1
  297. package/dist/src/tools/mcp-client.js +0 -1
  298. package/dist/src/tools/mcp-client.js.map +1 -1
  299. package/dist/src/tools/mcp-client.test.js +4 -0
  300. package/dist/src/tools/mcp-client.test.js.map +1 -1
  301. package/dist/src/tools/mcp-tool.test.js +10 -1
  302. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  303. package/dist/src/tools/read-many-files.js +2 -4
  304. package/dist/src/tools/read-many-files.js.map +1 -1
  305. package/dist/src/tools/shell.d.ts +1 -1
  306. package/dist/src/tools/shell.js +3 -3
  307. package/dist/src/tools/shell.js.map +1 -1
  308. package/dist/src/tools/tool-registry.test.js +4 -0
  309. package/dist/src/tools/tool-registry.test.js.map +1 -1
  310. package/dist/src/tools/tools.d.ts +34 -1
  311. package/dist/src/tools/tools.js +47 -1
  312. package/dist/src/tools/tools.js.map +1 -1
  313. package/dist/src/tools/web-fetch.d.ts +5 -0
  314. package/dist/src/tools/web-fetch.js +177 -100
  315. package/dist/src/tools/web-fetch.js.map +1 -1
  316. package/dist/src/tools/web-fetch.test.js +130 -26
  317. package/dist/src/tools/web-fetch.test.js.map +1 -1
  318. package/dist/src/tools/web-search.test.js +2 -0
  319. package/dist/src/tools/web-search.test.js.map +1 -1
  320. package/dist/src/utils/fetch.d.ts +0 -29
  321. package/dist/src/utils/fetch.js +10 -123
  322. package/dist/src/utils/fetch.js.map +1 -1
  323. package/dist/src/utils/fetch.test.js +1 -103
  324. package/dist/src/utils/fetch.test.js.map +1 -1
  325. package/dist/src/utils/language-detection.js +96 -89
  326. package/dist/src/utils/language-detection.js.map +1 -1
  327. package/dist/src/utils/language-detection.test.d.ts +6 -0
  328. package/dist/src/utils/language-detection.test.js +39 -0
  329. package/dist/src/utils/language-detection.test.js.map +1 -0
  330. package/dist/src/utils/oauth-flow.js +0 -2
  331. package/dist/src/utils/oauth-flow.js.map +1 -1
  332. package/dist/src/utils/paths.js +5 -2
  333. package/dist/src/utils/paths.js.map +1 -1
  334. package/dist/src/utils/paths.test.js +11 -0
  335. package/dist/src/utils/paths.test.js.map +1 -1
  336. package/dist/src/utils/process-utils.js +18 -4
  337. package/dist/src/utils/process-utils.js.map +1 -1
  338. package/dist/src/utils/process-utils.test.js +32 -10
  339. package/dist/src/utils/process-utils.test.js.map +1 -1
  340. package/dist/src/utils/retry.d.ts +7 -0
  341. package/dist/src/utils/retry.js +40 -3
  342. package/dist/src/utils/retry.js.map +1 -1
  343. package/dist/src/utils/retry.test.js +13 -0
  344. package/dist/src/utils/retry.test.js.map +1 -1
  345. package/dist/src/utils/summarizer.test.js +5 -0
  346. package/dist/src/utils/summarizer.test.js.map +1 -1
  347. package/dist/src/utils/surface.d.ts +18 -0
  348. package/dist/src/utils/surface.js +46 -0
  349. package/dist/src/utils/surface.js.map +1 -0
  350. package/dist/tsconfig.tsbuildinfo +1 -1
  351. package/package.json +1 -1
  352. package/dist/google-gemini-cli-core-0.34.0-preview.2.tgz +0 -0
  353. package/dist/src/services/fileKeychain.d.ts +0 -24
  354. package/dist/src/services/fileKeychain.js +0 -123
  355. package/dist/src/services/fileKeychain.js.map +0 -1
@@ -42,6 +42,7 @@ export var EventNames;
42
42
  EventNames["INVALID_CHUNK"] = "invalid_chunk";
43
43
  EventNames["CONTENT_RETRY"] = "content_retry";
44
44
  EventNames["CONTENT_RETRY_FAILURE"] = "content_retry_failure";
45
+ EventNames["RETRY_ATTEMPT"] = "retry_attempt";
45
46
  EventNames["EXTENSION_ENABLE"] = "extension_enable";
46
47
  EventNames["EXTENSION_DISABLE"] = "extension_disable";
47
48
  EventNames["EXTENSION_INSTALL"] = "extension_install";
@@ -67,6 +68,10 @@ export var EventNames;
67
68
  EventNames["CONSECA_POLICY_GENERATION"] = "conseca_policy_generation";
68
69
  EventNames["CONSECA_VERDICT"] = "conseca_verdict";
69
70
  EventNames["STARTUP_STATS"] = "startup_stats";
71
+ EventNames["CREDITS_USED"] = "credits_used";
72
+ EventNames["OVERAGE_OPTION_SELECTED"] = "overage_option_selected";
73
+ EventNames["EMPTY_WALLET_MENU_SHOWN"] = "empty_wallet_menu_shown";
74
+ EventNames["CREDIT_PURCHASE_CLICK"] = "credit_purchase_click";
70
75
  })(EventNames || (EventNames = {}));
71
76
  /**
72
77
  * Determine the surface that the user is currently using. Surface is effectively the
@@ -393,7 +398,6 @@ export class ClearcutLogger {
393
398
  ];
394
399
  let result = {};
395
400
  try {
396
- // eslint-disable-next-line no-restricted-syntax -- TODO: Migrate to safeFetch for SSRF protection
397
401
  const response = await fetch(CLEARCUT_URL, {
398
402
  method: 'POST',
399
403
  body: safeJsonStringify(request),
@@ -974,6 +978,29 @@ export class ClearcutLogger {
974
978
  this.enqueueLogEvent(this.createLogEvent(EventNames.CONTENT_RETRY_FAILURE, data));
975
979
  this.flushIfNeeded();
976
980
  }
981
+ logNetworkRetryAttemptEvent(event) {
982
+ // This event is generic for any retry attempt (Gemini, WebFetch, etc.)
983
+ const data = [
984
+ {
985
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_NETWORK_RETRY_ATTEMPT_NUMBER,
986
+ value: String(event.attempt),
987
+ },
988
+ {
989
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_NETWORK_RETRY_DELAY_MS,
990
+ value: String(event.delay_ms),
991
+ },
992
+ {
993
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_NETWORK_RETRY_ERROR_TYPE,
994
+ value: event.error_type,
995
+ },
996
+ {
997
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_API_REQUEST_MODEL,
998
+ value: event.model,
999
+ },
1000
+ ];
1001
+ this.enqueueLogEvent(this.createLogEvent(EventNames.RETRY_ATTEMPT, data));
1002
+ this.flushIfNeeded();
1003
+ }
977
1004
  async logExtensionInstallEvent(event) {
978
1005
  const data = [
979
1006
  {
@@ -1425,6 +1452,69 @@ export class ClearcutLogger {
1425
1452
  this.enqueueLogEvent(this.createLogEvent(EventNames.STARTUP_STATS, data));
1426
1453
  this.flushIfNeeded();
1427
1454
  }
1455
+ // ==========================================================================
1456
+ // Billing / AI Credits Events
1457
+ // ==========================================================================
1458
+ logCreditsUsedEvent(event) {
1459
+ const data = [
1460
+ {
1461
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_BILLING_MODEL,
1462
+ value: JSON.stringify(event.model),
1463
+ },
1464
+ {
1465
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_BILLING_CREDITS_CONSUMED,
1466
+ value: JSON.stringify(event.credits_consumed),
1467
+ },
1468
+ {
1469
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_BILLING_CREDITS_REMAINING,
1470
+ value: JSON.stringify(event.credits_remaining),
1471
+ },
1472
+ ];
1473
+ this.enqueueLogEvent(this.createLogEvent(EventNames.CREDITS_USED, data));
1474
+ this.flushIfNeeded();
1475
+ }
1476
+ logOverageOptionSelectedEvent(event) {
1477
+ const data = [
1478
+ {
1479
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_BILLING_MODEL,
1480
+ value: JSON.stringify(event.model),
1481
+ },
1482
+ {
1483
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_BILLING_SELECTED_OPTION,
1484
+ value: JSON.stringify(event.selected_option),
1485
+ },
1486
+ {
1487
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_BILLING_CREDIT_BALANCE,
1488
+ value: JSON.stringify(event.credit_balance),
1489
+ },
1490
+ ];
1491
+ this.enqueueLogEvent(this.createLogEvent(EventNames.OVERAGE_OPTION_SELECTED, data));
1492
+ this.flushIfNeeded();
1493
+ }
1494
+ logEmptyWalletMenuShownEvent(event) {
1495
+ const data = [
1496
+ {
1497
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_BILLING_MODEL,
1498
+ value: JSON.stringify(event.model),
1499
+ },
1500
+ ];
1501
+ this.enqueueLogEvent(this.createLogEvent(EventNames.EMPTY_WALLET_MENU_SHOWN, data));
1502
+ this.flushIfNeeded();
1503
+ }
1504
+ logCreditPurchaseClickEvent(event) {
1505
+ const data = [
1506
+ {
1507
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_BILLING_MODEL,
1508
+ value: JSON.stringify(event.model),
1509
+ },
1510
+ {
1511
+ gemini_cli_key: EventMetadataKey.GEMINI_CLI_BILLING_PURCHASE_SOURCE,
1512
+ value: JSON.stringify(event.source),
1513
+ },
1514
+ ];
1515
+ this.enqueueLogEvent(this.createLogEvent(EventNames.CREDIT_PURCHASE_CLICK, data));
1516
+ this.flushIfNeeded();
1517
+ }
1428
1518
  /**
1429
1519
  * Adds default fields to data, and returns a new data array. This fields
1430
1520
  * should exist on all log events.
@@ -1 +1 @@
1
- {"version":3,"file":"clearcut-logger.js","sourceRoot":"","sources":["../../../../src/telemetry/clearcut-logger/clearcut-logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"clearcut-logger.js","sourceRoot":"","sources":["../../../../src/telemetry/clearcut-logger/clearcut-logger.ts"],"names":[],"mappings":"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"}
@@ -19,6 +19,7 @@ import { UserAccountManager } from '../../utils/userAccountManager.js';
19
19
  import { InstallationManager } from '../../utils/installationManager.js';
20
20
  import si, {} from 'systeminformation';
21
21
  import * as os from 'node:os';
22
+ import { CreditsUsedEvent, OverageOptionSelectedEvent, EmptyWalletMenuShownEvent, CreditPurchaseClickEvent, } from '../billingEvents.js';
22
23
  expect.extend({
23
24
  toHaveEventName(received, name) {
24
25
  const { isNot } = this;
@@ -1155,5 +1156,81 @@ describe('ClearcutLogger', () => {
1155
1156
  ]);
1156
1157
  });
1157
1158
  });
1159
+ describe('logCreditsUsedEvent', () => {
1160
+ it('logs an event with model, consumed, and remaining credits', () => {
1161
+ const { logger } = setup();
1162
+ const event = new CreditsUsedEvent('gemini-3-pro-preview', 10, 490);
1163
+ logger?.logCreditsUsedEvent(event);
1164
+ const events = getEvents(logger);
1165
+ expect(events.length).toBe(1);
1166
+ expect(events[0]).toHaveEventName(EventNames.CREDITS_USED);
1167
+ expect(events[0]).toHaveMetadataValue([
1168
+ EventMetadataKey.GEMINI_CLI_BILLING_MODEL,
1169
+ '"gemini-3-pro-preview"',
1170
+ ]);
1171
+ expect(events[0]).toHaveMetadataValue([
1172
+ EventMetadataKey.GEMINI_CLI_BILLING_CREDITS_CONSUMED,
1173
+ '10',
1174
+ ]);
1175
+ expect(events[0]).toHaveMetadataValue([
1176
+ EventMetadataKey.GEMINI_CLI_BILLING_CREDITS_REMAINING,
1177
+ '490',
1178
+ ]);
1179
+ });
1180
+ });
1181
+ describe('logOverageOptionSelectedEvent', () => {
1182
+ it('logs an event with model, selected option, and credit balance', () => {
1183
+ const { logger } = setup();
1184
+ const event = new OverageOptionSelectedEvent('gemini-3-pro-preview', 'use_credits', 350);
1185
+ logger?.logOverageOptionSelectedEvent(event);
1186
+ const events = getEvents(logger);
1187
+ expect(events.length).toBe(1);
1188
+ expect(events[0]).toHaveEventName(EventNames.OVERAGE_OPTION_SELECTED);
1189
+ expect(events[0]).toHaveMetadataValue([
1190
+ EventMetadataKey.GEMINI_CLI_BILLING_MODEL,
1191
+ '"gemini-3-pro-preview"',
1192
+ ]);
1193
+ expect(events[0]).toHaveMetadataValue([
1194
+ EventMetadataKey.GEMINI_CLI_BILLING_SELECTED_OPTION,
1195
+ '"use_credits"',
1196
+ ]);
1197
+ expect(events[0]).toHaveMetadataValue([
1198
+ EventMetadataKey.GEMINI_CLI_BILLING_CREDIT_BALANCE,
1199
+ '350',
1200
+ ]);
1201
+ });
1202
+ });
1203
+ describe('logEmptyWalletMenuShownEvent', () => {
1204
+ it('logs an event with the model', () => {
1205
+ const { logger } = setup();
1206
+ const event = new EmptyWalletMenuShownEvent('gemini-3-pro-preview');
1207
+ logger?.logEmptyWalletMenuShownEvent(event);
1208
+ const events = getEvents(logger);
1209
+ expect(events.length).toBe(1);
1210
+ expect(events[0]).toHaveEventName(EventNames.EMPTY_WALLET_MENU_SHOWN);
1211
+ expect(events[0]).toHaveMetadataValue([
1212
+ EventMetadataKey.GEMINI_CLI_BILLING_MODEL,
1213
+ '"gemini-3-pro-preview"',
1214
+ ]);
1215
+ });
1216
+ });
1217
+ describe('logCreditPurchaseClickEvent', () => {
1218
+ it('logs an event with model and source', () => {
1219
+ const { logger } = setup();
1220
+ const event = new CreditPurchaseClickEvent('empty_wallet_menu', 'gemini-3-pro-preview');
1221
+ logger?.logCreditPurchaseClickEvent(event);
1222
+ const events = getEvents(logger);
1223
+ expect(events.length).toBe(1);
1224
+ expect(events[0]).toHaveEventName(EventNames.CREDIT_PURCHASE_CLICK);
1225
+ expect(events[0]).toHaveMetadataValue([
1226
+ EventMetadataKey.GEMINI_CLI_BILLING_MODEL,
1227
+ '"gemini-3-pro-preview"',
1228
+ ]);
1229
+ expect(events[0]).toHaveMetadataValue([
1230
+ EventMetadataKey.GEMINI_CLI_BILLING_PURCHASE_SOURCE,
1231
+ '"empty_wallet_menu"',
1232
+ ]);
1233
+ });
1234
+ });
1158
1235
  });
1159
1236
  //# sourceMappingURL=clearcut-logger.test.js.map