@google/gemini-cli-core 0.3.0-nightly.20250823.1a89d185 → 0.3.0-preview.2

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 (389) hide show
  1. package/dist/google-gemini-cli-core-0.3.0-preview.1.tgz +0 -0
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.js +2 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/code_assist/codeAssist.d.ts +4 -3
  6. package/dist/src/code_assist/codeAssist.js +1 -2
  7. package/dist/src/code_assist/codeAssist.js.map +1 -1
  8. package/dist/src/code_assist/converter.d.ts +2 -1
  9. package/dist/src/code_assist/converter.js +1 -1
  10. package/dist/src/code_assist/converter.js.map +1 -1
  11. package/dist/src/code_assist/converter.test.js.map +1 -1
  12. package/dist/src/code_assist/oauth2.d.ts +1 -1
  13. package/dist/src/code_assist/oauth2.js +8 -8
  14. package/dist/src/code_assist/oauth2.js.map +1 -1
  15. package/dist/src/code_assist/oauth2.test.js +5 -5
  16. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  17. package/dist/src/code_assist/server.d.ts +5 -5
  18. package/dist/src/code_assist/server.js +1 -1
  19. package/dist/src/code_assist/server.js.map +1 -1
  20. package/dist/src/code_assist/setup.d.ts +4 -12
  21. package/dist/src/code_assist/setup.js +14 -97
  22. package/dist/src/code_assist/setup.js.map +1 -1
  23. package/dist/src/code_assist/setup.test.js +13 -11
  24. package/dist/src/code_assist/setup.test.js.map +1 -1
  25. package/dist/src/config/config.d.ts +22 -5
  26. package/dist/src/config/config.js +42 -11
  27. package/dist/src/config/config.js.map +1 -1
  28. package/dist/src/config/config.test.js +83 -2
  29. package/dist/src/config/config.test.js.map +1 -1
  30. package/dist/src/config/storage.js +3 -3
  31. package/dist/src/config/storage.js.map +1 -1
  32. package/dist/src/config/storage.test.js +1 -1
  33. package/dist/src/config/storage.test.js.map +1 -1
  34. package/dist/src/core/client.d.ts +15 -9
  35. package/dist/src/core/client.js +57 -14
  36. package/dist/src/core/client.js.map +1 -1
  37. package/dist/src/core/client.test.js +336 -82
  38. package/dist/src/core/client.test.js.map +1 -1
  39. package/dist/src/core/contentGenerator.d.ts +3 -4
  40. package/dist/src/core/contentGenerator.js +1 -4
  41. package/dist/src/core/contentGenerator.js.map +1 -1
  42. package/dist/src/core/contentGenerator.test.js.map +1 -1
  43. package/dist/src/core/coreToolScheduler.d.ts +11 -2
  44. package/dist/src/core/coreToolScheduler.js +60 -27
  45. package/dist/src/core/coreToolScheduler.js.map +1 -1
  46. package/dist/src/core/coreToolScheduler.test.js +148 -20
  47. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  48. package/dist/src/core/geminiChat.d.ts +10 -12
  49. package/dist/src/core/geminiChat.js +93 -74
  50. package/dist/src/core/geminiChat.js.map +1 -1
  51. package/dist/src/core/geminiChat.test.js +427 -270
  52. package/dist/src/core/geminiChat.test.js.map +1 -1
  53. package/dist/src/core/geminiRequest.js +1 -0
  54. package/dist/src/core/geminiRequest.js.map +1 -1
  55. package/dist/src/core/logger.d.ts +2 -2
  56. package/dist/src/core/logger.test.js.map +1 -1
  57. package/dist/src/core/loggingContentGenerator.d.ts +3 -3
  58. package/dist/src/core/nonInteractiveToolExecutor.d.ts +1 -1
  59. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  60. package/dist/src/core/nonInteractiveToolExecutor.test.js +11 -4
  61. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  62. package/dist/src/core/subagent.d.ts +24 -18
  63. package/dist/src/core/subagent.js +120 -72
  64. package/dist/src/core/subagent.js.map +1 -1
  65. package/dist/src/core/subagent.test.js +26 -21
  66. package/dist/src/core/subagent.test.js.map +1 -1
  67. package/dist/src/core/turn.d.ts +15 -4
  68. package/dist/src/core/turn.js +12 -1
  69. package/dist/src/core/turn.js.map +1 -1
  70. package/dist/src/core/turn.test.js +1 -1
  71. package/dist/src/core/turn.test.js.map +1 -1
  72. package/dist/src/generated/git-commit.d.ts +2 -2
  73. package/dist/src/generated/git-commit.js +2 -2
  74. package/dist/src/generated/git-commit.js.map +1 -1
  75. package/dist/src/ide/detect-ide.d.ts +8 -3
  76. package/dist/src/ide/detect-ide.js +29 -11
  77. package/dist/src/ide/detect-ide.js.map +1 -1
  78. package/dist/src/ide/detect-ide.test.js +96 -52
  79. package/dist/src/ide/detect-ide.test.js.map +1 -1
  80. package/dist/src/ide/ide-client.d.ts +6 -5
  81. package/dist/src/ide/ide-client.js +19 -17
  82. package/dist/src/ide/ide-client.js.map +1 -1
  83. package/dist/src/ide/ide-client.test.js +14 -10
  84. package/dist/src/ide/ide-client.test.js.map +1 -1
  85. package/dist/src/ide/ide-installer.d.ts +1 -1
  86. package/dist/src/ide/ide-installer.js +29 -20
  87. package/dist/src/ide/ide-installer.js.map +1 -1
  88. package/dist/src/ide/ide-installer.test.js +82 -22
  89. package/dist/src/ide/ide-installer.test.js.map +1 -1
  90. package/dist/src/ide/ideContext.d.ts +11 -11
  91. package/dist/src/ide/process-utils.d.ts +7 -4
  92. package/dist/src/ide/process-utils.js +47 -34
  93. package/dist/src/ide/process-utils.js.map +1 -1
  94. package/dist/src/ide/process-utils.test.d.ts +6 -0
  95. package/dist/src/ide/process-utils.test.js +72 -0
  96. package/dist/src/ide/process-utils.test.js.map +1 -0
  97. package/dist/src/index.d.ts +7 -2
  98. package/dist/src/index.js +5 -1
  99. package/dist/src/index.js.map +1 -1
  100. package/dist/src/mcp/google-auth-provider.d.ts +3 -3
  101. package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
  102. package/dist/src/mcp/oauth-provider.d.ts +2 -2
  103. package/dist/src/mcp/oauth-provider.js.map +1 -1
  104. package/dist/src/mcp/oauth-provider.test.js +1 -1
  105. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  106. package/dist/src/mcp/oauth-token-storage.d.ts +5 -25
  107. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  108. package/dist/src/mcp/oauth-token-storage.test.js +1 -1
  109. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  110. package/dist/src/mcp/oauth-utils.d.ts +9 -1
  111. package/dist/src/mcp/oauth-utils.js +41 -27
  112. package/dist/src/mcp/oauth-utils.js.map +1 -1
  113. package/dist/src/mcp/oauth-utils.test.js +41 -1
  114. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  115. package/dist/src/mcp/token-storage/base-token-storage.d.ts +19 -0
  116. package/dist/src/mcp/token-storage/base-token-storage.js +36 -0
  117. package/dist/src/mcp/token-storage/base-token-storage.js.map +1 -0
  118. package/dist/src/mcp/token-storage/base-token-storage.test.d.ts +6 -0
  119. package/dist/src/mcp/token-storage/base-token-storage.test.js +160 -0
  120. package/dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -0
  121. package/dist/src/mcp/token-storage/types.d.ts +34 -0
  122. package/dist/src/mcp/token-storage/types.js +7 -0
  123. package/dist/src/mcp/token-storage/types.js.map +1 -0
  124. package/dist/src/prompts/mcp-prompts.d.ts +2 -2
  125. package/dist/src/prompts/prompt-registry.d.ts +1 -1
  126. package/dist/src/services/chatRecordingService.d.ts +1 -1
  127. package/dist/src/services/chatRecordingService.js +3 -0
  128. package/dist/src/services/chatRecordingService.js.map +1 -1
  129. package/dist/src/services/chatRecordingService.test.js +2 -2
  130. package/dist/src/services/chatRecordingService.test.js.map +1 -1
  131. package/dist/src/services/fileDiscoveryService.js +1 -1
  132. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  133. package/dist/src/services/fileDiscoveryService.test.js +3 -3
  134. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  135. package/dist/src/services/fileSystemService.js +1 -1
  136. package/dist/src/services/fileSystemService.js.map +1 -1
  137. package/dist/src/services/fileSystemService.test.js +1 -1
  138. package/dist/src/services/fileSystemService.test.js.map +1 -1
  139. package/dist/src/services/gitService.d.ts +1 -1
  140. package/dist/src/services/gitService.js +2 -2
  141. package/dist/src/services/gitService.js.map +1 -1
  142. package/dist/src/services/gitService.test.js +3 -3
  143. package/dist/src/services/gitService.test.js.map +1 -1
  144. package/dist/src/services/loopDetectionService.d.ts +2 -2
  145. package/dist/src/services/loopDetectionService.js +9 -3
  146. package/dist/src/services/loopDetectionService.js.map +1 -1
  147. package/dist/src/services/loopDetectionService.test.js +23 -1
  148. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  149. package/dist/src/services/shellExecutionService.js +5 -4
  150. package/dist/src/services/shellExecutionService.js.map +1 -1
  151. package/dist/src/services/shellExecutionService.test.js +4 -3
  152. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  153. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +11 -3
  154. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +77 -2
  155. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  156. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +11 -3
  157. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  158. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +21 -5
  159. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +48 -7
  160. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  161. package/dist/src/telemetry/constants.d.ts +5 -0
  162. package/dist/src/telemetry/constants.js +5 -0
  163. package/dist/src/telemetry/constants.js.map +1 -1
  164. package/dist/src/telemetry/file-exporters.d.ts +5 -4
  165. package/dist/src/telemetry/file-exporters.js +1 -1
  166. package/dist/src/telemetry/file-exporters.js.map +1 -1
  167. package/dist/src/telemetry/index.d.ts +5 -2
  168. package/dist/src/telemetry/index.js +3 -2
  169. package/dist/src/telemetry/index.js.map +1 -1
  170. package/dist/src/telemetry/loggers.d.ts +7 -2
  171. package/dist/src/telemetry/loggers.js +96 -2
  172. package/dist/src/telemetry/loggers.js.map +1 -1
  173. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  174. package/dist/src/telemetry/loggers.test.js +60 -4
  175. package/dist/src/telemetry/loggers.test.js.map +1 -1
  176. package/dist/src/telemetry/metrics.d.ts +3 -3
  177. package/dist/src/telemetry/metrics.js +1 -1
  178. package/dist/src/telemetry/metrics.js.map +1 -1
  179. package/dist/src/telemetry/sdk.d.ts +1 -1
  180. package/dist/src/telemetry/types.d.ts +37 -7
  181. package/dist/src/telemetry/types.js +51 -0
  182. package/dist/src/telemetry/types.js.map +1 -1
  183. package/dist/src/telemetry/uiTelemetry.d.ts +2 -2
  184. package/dist/src/telemetry/uiTelemetry.js +1 -1
  185. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  186. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  187. package/dist/src/test-utils/config.d.ts +2 -1
  188. package/dist/src/test-utils/config.js.map +1 -1
  189. package/dist/src/test-utils/mockWorkspaceContext.d.ts +1 -1
  190. package/dist/src/test-utils/tools.d.ts +3 -2
  191. package/dist/src/test-utils/tools.js.map +1 -1
  192. package/dist/src/tools/diffOptions.d.ts +1 -1
  193. package/dist/src/tools/edit.d.ts +4 -3
  194. package/dist/src/tools/edit.js +3 -3
  195. package/dist/src/tools/edit.js.map +1 -1
  196. package/dist/src/tools/edit.test.js +3 -3
  197. package/dist/src/tools/edit.test.js.map +1 -1
  198. package/dist/src/tools/glob.d.ts +3 -2
  199. package/dist/src/tools/glob.js +4 -4
  200. package/dist/src/tools/glob.js.map +1 -1
  201. package/dist/src/tools/glob.test.js +6 -3
  202. package/dist/src/tools/glob.test.js.map +1 -1
  203. package/dist/src/tools/grep.d.ts +3 -2
  204. package/dist/src/tools/grep.js +30 -15
  205. package/dist/src/tools/grep.js.map +1 -1
  206. package/dist/src/tools/grep.test.js +15 -3
  207. package/dist/src/tools/grep.test.js.map +1 -1
  208. package/dist/src/tools/ls.d.ts +3 -2
  209. package/dist/src/tools/ls.js +3 -3
  210. package/dist/src/tools/ls.js.map +1 -1
  211. package/dist/src/tools/ls.test.js +2 -2
  212. package/dist/src/tools/ls.test.js.map +1 -1
  213. package/dist/src/tools/mcp-client-manager.d.ts +4 -4
  214. package/dist/src/tools/mcp-client.d.ts +7 -7
  215. package/dist/src/tools/mcp-client.js +2 -2
  216. package/dist/src/tools/mcp-client.js.map +1 -1
  217. package/dist/src/tools/mcp-tool.d.ts +3 -2
  218. package/dist/src/tools/mcp-tool.js.map +1 -1
  219. package/dist/src/tools/mcp-tool.test.js +1 -2
  220. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  221. package/dist/src/tools/memoryTool.d.ts +3 -2
  222. package/dist/src/tools/memoryTool.js +2 -2
  223. package/dist/src/tools/memoryTool.js.map +1 -1
  224. package/dist/src/tools/memoryTool.test.js +4 -4
  225. package/dist/src/tools/memoryTool.test.js.map +1 -1
  226. package/dist/src/tools/modifiable-tool.d.ts +2 -2
  227. package/dist/src/tools/modifiable-tool.js +3 -3
  228. package/dist/src/tools/modifiable-tool.js.map +1 -1
  229. package/dist/src/tools/modifiable-tool.test.js +4 -4
  230. package/dist/src/tools/modifiable-tool.test.js.map +1 -1
  231. package/dist/src/tools/read-file.d.ts +3 -2
  232. package/dist/src/tools/read-file.js +2 -2
  233. package/dist/src/tools/read-file.js.map +1 -1
  234. package/dist/src/tools/read-file.test.js +4 -4
  235. package/dist/src/tools/read-file.test.js.map +1 -1
  236. package/dist/src/tools/read-many-files.d.ts +3 -2
  237. package/dist/src/tools/read-many-files.js +14 -47
  238. package/dist/src/tools/read-many-files.js.map +1 -1
  239. package/dist/src/tools/read-many-files.test.js +18 -3
  240. package/dist/src/tools/read-many-files.test.js.map +1 -1
  241. package/dist/src/tools/ripGrep.d.ts +3 -2
  242. package/dist/src/tools/ripGrep.js +5 -5
  243. package/dist/src/tools/ripGrep.js.map +1 -1
  244. package/dist/src/tools/ripGrep.test.js +4 -4
  245. package/dist/src/tools/ripGrep.test.js.map +1 -1
  246. package/dist/src/tools/shell.d.ts +3 -2
  247. package/dist/src/tools/shell.js +16 -5
  248. package/dist/src/tools/shell.js.map +1 -1
  249. package/dist/src/tools/shell.test.js +21 -5
  250. package/dist/src/tools/shell.test.js.map +1 -1
  251. package/dist/src/tools/tool-error.d.ts +1 -0
  252. package/dist/src/tools/tool-error.js +2 -0
  253. package/dist/src/tools/tool-error.js.map +1 -1
  254. package/dist/src/tools/tool-registry.d.ts +8 -3
  255. package/dist/src/tools/tool-registry.js +7 -1
  256. package/dist/src/tools/tool-registry.js.map +1 -1
  257. package/dist/src/tools/tool-registry.test.js +15 -2
  258. package/dist/src/tools/tool-registry.test.js.map +1 -1
  259. package/dist/src/tools/tools.d.ts +8 -2
  260. package/dist/src/tools/tools.js +12 -0
  261. package/dist/src/tools/tools.js.map +1 -1
  262. package/dist/src/tools/tools.test.js +1 -1
  263. package/dist/src/tools/tools.test.js.map +1 -1
  264. package/dist/src/tools/web-fetch.d.ts +3 -2
  265. package/dist/src/tools/web-fetch.js +1 -1
  266. package/dist/src/tools/web-fetch.js.map +1 -1
  267. package/dist/src/tools/web-fetch.test.js.map +1 -1
  268. package/dist/src/tools/web-search.d.ts +4 -3
  269. package/dist/src/tools/web-search.js +2 -2
  270. package/dist/src/tools/web-search.js.map +1 -1
  271. package/dist/src/tools/web-search.test.js.map +1 -1
  272. package/dist/src/tools/write-file.d.ts +4 -3
  273. package/dist/src/tools/write-file.js +2 -2
  274. package/dist/src/tools/write-file.js.map +1 -1
  275. package/dist/src/tools/write-file.test.js +6 -5
  276. package/dist/src/tools/write-file.test.js.map +1 -1
  277. package/dist/src/utils/bfsFileSearch.d.ts +2 -2
  278. package/dist/src/utils/bfsFileSearch.js +2 -2
  279. package/dist/src/utils/bfsFileSearch.js.map +1 -1
  280. package/dist/src/utils/bfsFileSearch.test.js +3 -3
  281. package/dist/src/utils/bfsFileSearch.test.js.map +1 -1
  282. package/dist/src/utils/editCorrector.d.ts +2 -2
  283. package/dist/src/utils/editCorrector.js +1 -1
  284. package/dist/src/utils/editCorrector.js.map +1 -1
  285. package/dist/src/utils/editCorrector.test.js +2 -3
  286. package/dist/src/utils/editCorrector.test.js.map +1 -1
  287. package/dist/src/utils/editor.js +1 -1
  288. package/dist/src/utils/editor.js.map +1 -1
  289. package/dist/src/utils/editor.test.js +1 -1
  290. package/dist/src/utils/editor.test.js.map +1 -1
  291. package/dist/src/utils/environmentContext.d.ts +2 -2
  292. package/dist/src/utils/errorReporting.d.ts +1 -1
  293. package/dist/src/utils/errors.d.ts +19 -0
  294. package/dist/src/utils/errors.js +32 -0
  295. package/dist/src/utils/errors.js.map +1 -1
  296. package/dist/src/utils/fetch.js +1 -1
  297. package/dist/src/utils/fetch.js.map +1 -1
  298. package/dist/src/utils/fileUtils.d.ts +2 -2
  299. package/dist/src/utils/fileUtils.js +2 -30
  300. package/dist/src/utils/fileUtils.js.map +1 -1
  301. package/dist/src/utils/filesearch/crawler.d.ts +1 -1
  302. package/dist/src/utils/filesearch/crawler.test.js +2 -2
  303. package/dist/src/utils/filesearch/crawler.test.js.map +1 -1
  304. package/dist/src/utils/filesearch/fileSearch.js +12 -8
  305. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  306. package/dist/src/utils/generateContentResponseUtilities.d.ts +1 -2
  307. package/dist/src/utils/generateContentResponseUtilities.js +1 -13
  308. package/dist/src/utils/generateContentResponseUtilities.js.map +1 -1
  309. package/dist/src/utils/generateContentResponseUtilities.test.js +2 -40
  310. package/dist/src/utils/generateContentResponseUtilities.test.js.map +1 -1
  311. package/dist/src/utils/getFolderStructure.d.ts +2 -2
  312. package/dist/src/utils/getFolderStructure.js +2 -2
  313. package/dist/src/utils/getFolderStructure.js.map +1 -1
  314. package/dist/src/utils/getFolderStructure.test.js +4 -4
  315. package/dist/src/utils/getFolderStructure.test.js.map +1 -1
  316. package/dist/src/utils/gitIgnoreParser.js +3 -3
  317. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  318. package/dist/src/utils/gitIgnoreParser.test.js +3 -3
  319. package/dist/src/utils/gitIgnoreParser.test.js.map +1 -1
  320. package/dist/src/utils/gitUtils.js +2 -2
  321. package/dist/src/utils/gitUtils.js.map +1 -1
  322. package/dist/src/utils/ignorePatterns.d.ts +103 -0
  323. package/dist/src/utils/ignorePatterns.js +220 -0
  324. package/dist/src/utils/ignorePatterns.js.map +1 -0
  325. package/dist/src/utils/ignorePatterns.test.d.ts +6 -0
  326. package/dist/src/utils/ignorePatterns.test.js +250 -0
  327. package/dist/src/utils/ignorePatterns.test.js.map +1 -0
  328. package/dist/src/utils/installationManager.js +2 -2
  329. package/dist/src/utils/installationManager.js.map +1 -1
  330. package/dist/src/utils/installationManager.test.js +1 -1
  331. package/dist/src/utils/installationManager.test.js.map +1 -1
  332. package/dist/src/utils/language-detection.js +1 -1
  333. package/dist/src/utils/language-detection.js.map +1 -1
  334. package/dist/src/utils/memoryDiscovery.d.ts +2 -2
  335. package/dist/src/utils/memoryDiscovery.js +5 -5
  336. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  337. package/dist/src/utils/memoryDiscovery.test.js +3 -3
  338. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  339. package/dist/src/utils/memoryImportProcessor.js +2 -2
  340. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  341. package/dist/src/utils/memoryImportProcessor.test.js +2 -141
  342. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
  343. package/dist/src/utils/messageInspectors.d.ts +1 -1
  344. package/dist/src/utils/nextSpeakerChecker.d.ts +2 -2
  345. package/dist/src/utils/nextSpeakerChecker.test.js.map +1 -1
  346. package/dist/src/utils/partUtils.d.ts +22 -1
  347. package/dist/src/utils/partUtils.js +68 -0
  348. package/dist/src/utils/partUtils.js.map +1 -1
  349. package/dist/src/utils/partUtils.test.js +112 -1
  350. package/dist/src/utils/partUtils.test.js.map +1 -1
  351. package/dist/src/utils/pathReader.d.ts +17 -0
  352. package/dist/src/utils/pathReader.js +92 -0
  353. package/dist/src/utils/pathReader.js.map +1 -0
  354. package/dist/src/utils/pathReader.test.d.ts +6 -0
  355. package/dist/src/utils/pathReader.test.js +363 -0
  356. package/dist/src/utils/pathReader.test.js.map +1 -0
  357. package/dist/src/utils/paths.js +2 -2
  358. package/dist/src/utils/paths.js.map +1 -1
  359. package/dist/src/utils/quotaErrorDetection.d.ts +1 -1
  360. package/dist/src/utils/retry.test.js +4 -1
  361. package/dist/src/utils/retry.test.js.map +1 -1
  362. package/dist/src/utils/schemaValidator.js +4 -0
  363. package/dist/src/utils/schemaValidator.js.map +1 -1
  364. package/dist/src/utils/session.js +1 -1
  365. package/dist/src/utils/session.js.map +1 -1
  366. package/dist/src/utils/shell-utils.d.ts +1 -1
  367. package/dist/src/utils/shell-utils.js +23 -29
  368. package/dist/src/utils/shell-utils.js.map +1 -1
  369. package/dist/src/utils/shell-utils.test.js +4 -0
  370. package/dist/src/utils/shell-utils.test.js.map +1 -1
  371. package/dist/src/utils/summarizer.d.ts +2 -2
  372. package/dist/src/utils/summarizer.test.js.map +1 -1
  373. package/dist/src/utils/systemEncoding.js +2 -2
  374. package/dist/src/utils/systemEncoding.js.map +1 -1
  375. package/dist/src/utils/systemEncoding.test.js +2 -2
  376. package/dist/src/utils/systemEncoding.test.js.map +1 -1
  377. package/dist/src/utils/tool-utils.d.ts +19 -0
  378. package/dist/src/utils/tool-utils.js +58 -0
  379. package/dist/src/utils/tool-utils.js.map +1 -0
  380. package/dist/src/utils/tool-utils.test.d.ts +6 -0
  381. package/dist/src/utils/tool-utils.test.js +61 -0
  382. package/dist/src/utils/tool-utils.test.js.map +1 -0
  383. package/dist/src/utils/userAccountManager.test.js.map +1 -1
  384. package/dist/src/utils/workspaceContext.js +3 -3
  385. package/dist/src/utils/workspaceContext.js.map +1 -1
  386. package/dist/src/utils/workspaceContext.test.js +3 -3
  387. package/dist/src/utils/workspaceContext.test.js.map +1 -1
  388. package/dist/tsconfig.tsbuildinfo +1 -1
  389. package/package.json +10 -7
@@ -3,7 +3,7 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { getResponseText } from '../utils/generateContentResponseUtilities.js';
6
+ import { getResponseText } from '../utils/partUtils.js';
7
7
  import { reportError } from '../utils/errorReporting.js';
8
8
  import { getErrorMessage, UnauthorizedError, toFriendlyError, } from '../utils/errors.js';
9
9
  export var GeminiEventType;
@@ -20,6 +20,17 @@ export var GeminiEventType;
20
20
  GeminiEventType["Finished"] = "finished";
21
21
  GeminiEventType["LoopDetected"] = "loop_detected";
22
22
  })(GeminiEventType || (GeminiEventType = {}));
23
+ export var CompressionStatus;
24
+ (function (CompressionStatus) {
25
+ /** The compression was successful */
26
+ CompressionStatus[CompressionStatus["COMPRESSED"] = 1] = "COMPRESSED";
27
+ /** The compression failed due to the compression inflating the token count */
28
+ CompressionStatus[CompressionStatus["COMPRESSION_FAILED_INFLATED_TOKEN_COUNT"] = 2] = "COMPRESSION_FAILED_INFLATED_TOKEN_COUNT";
29
+ /** The compression failed due to an error counting tokens */
30
+ CompressionStatus[CompressionStatus["COMPRESSION_FAILED_TOKEN_COUNT_ERROR"] = 3] = "COMPRESSION_FAILED_TOKEN_COUNT_ERROR";
31
+ /** The compression was not necessary and no action was taken */
32
+ CompressionStatus[CompressionStatus["NOOP"] = 4] = "NOOP";
33
+ })(CompressionStatus || (CompressionStatus = {}));
23
34
  // A turn manages the agentic loop turn within the server context.
24
35
  export class Turn {
25
36
  chat;
@@ -1 +1 @@
1
- {"version":3,"file":"turn.js","sourceRoot":"","sources":["../../../src/core/turn.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn.js","sourceRoot":"","sources":["../../../src/core/turn.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
- import { Turn, GeminiEventType, } from './turn.js';
7
+ import { Turn, GeminiEventType } from './turn.js';
8
8
  import { reportError } from '../utils/errorReporting.js';
9
9
  const mockSendMessageStream = vi.fn();
10
10
  const mockGetHistory = vi.fn();
@@ -1 +1 @@
1
- {"version":3,"file":"turn.test.js","sourceRoot":"","sources":["../../../src/core/turn.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"turn.test.js","sourceRoot":"","sources":["../../../src/core/turn.test.ts"],"names":[],"mappings":"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"}
@@ -3,5 +3,5 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- export declare const GIT_COMMIT_INFO = "1a89d185";
7
- export declare const CLI_VERSION = "0.3.0-nightly.20250823.1a89d185";
6
+ export declare const GIT_COMMIT_INFO = "52cc0f6f";
7
+ export declare const CLI_VERSION = "0.3.0-preview.2";
@@ -5,6 +5,6 @@
5
5
  */
6
6
  // This file is auto-generated by the build script (scripts/generate-git-commit-info.js)
7
7
  // Do not edit this file manually.
8
- export const GIT_COMMIT_INFO = '1a89d185';
9
- export const CLI_VERSION = '0.3.0-nightly.20250823.1a89d185';
8
+ export const GIT_COMMIT_INFO = '52cc0f6f';
9
+ export const CLI_VERSION = '0.3.0-preview.2';
10
10
  //# sourceMappingURL=git-commit.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/generated/git-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,iCAAiC,CAAC"}
1
+ {"version":3,"file":"git-commit.js","sourceRoot":"","sources":["../../../src/generated/git-commit.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,wFAAwF;AACxF,kCAAkC;AAClC,MAAM,CAAC,MAAM,eAAe,GAAG,UAAU,CAAC;AAC1C,MAAM,CAAC,MAAM,WAAW,GAAG,iBAAiB,CAAC"}
@@ -6,15 +6,20 @@
6
6
  export declare enum DetectedIde {
7
7
  Devin = "devin",
8
8
  Replit = "replit",
9
- VSCode = "vscode",
10
9
  Cursor = "cursor",
11
10
  CloudShell = "cloudshell",
12
11
  Codespaces = "codespaces",
13
12
  FirebaseStudio = "firebasestudio",
14
- Trae = "trae"
13
+ Trae = "trae",
14
+ VSCode = "vscode",
15
+ VSCodeFork = "vscodefork"
15
16
  }
16
17
  export interface IdeInfo {
17
18
  displayName: string;
18
19
  }
19
20
  export declare function getIdeInfo(ide: DetectedIde): IdeInfo;
20
- export declare function detectIde(): DetectedIde | undefined;
21
+ export declare function detectIdeFromEnv(): DetectedIde;
22
+ export declare function detectIde(ideProcessInfo: {
23
+ pid: number;
24
+ command: string;
25
+ }): DetectedIde | undefined;
@@ -7,12 +7,13 @@ export var DetectedIde;
7
7
  (function (DetectedIde) {
8
8
  DetectedIde["Devin"] = "devin";
9
9
  DetectedIde["Replit"] = "replit";
10
- DetectedIde["VSCode"] = "vscode";
11
10
  DetectedIde["Cursor"] = "cursor";
12
11
  DetectedIde["CloudShell"] = "cloudshell";
13
12
  DetectedIde["Codespaces"] = "codespaces";
14
13
  DetectedIde["FirebaseStudio"] = "firebasestudio";
15
14
  DetectedIde["Trae"] = "trae";
15
+ DetectedIde["VSCode"] = "vscode";
16
+ DetectedIde["VSCodeFork"] = "vscodefork";
16
17
  })(DetectedIde || (DetectedIde = {}));
17
18
  export function getIdeInfo(ide) {
18
19
  switch (ide) {
@@ -24,10 +25,6 @@ export function getIdeInfo(ide) {
24
25
  return {
25
26
  displayName: 'Replit',
26
27
  };
27
- case DetectedIde.VSCode:
28
- return {
29
- displayName: 'VS Code',
30
- };
31
28
  case DetectedIde.Cursor:
32
29
  return {
33
30
  displayName: 'Cursor',
@@ -48,6 +45,14 @@ export function getIdeInfo(ide) {
48
45
  return {
49
46
  displayName: 'Trae',
50
47
  };
48
+ case DetectedIde.VSCode:
49
+ return {
50
+ displayName: 'VS Code',
51
+ };
52
+ case DetectedIde.VSCodeFork:
53
+ return {
54
+ displayName: 'IDE',
55
+ };
51
56
  default: {
52
57
  // This ensures that if a new IDE is added to the enum, we get a compile-time error.
53
58
  const exhaustiveCheck = ide;
@@ -55,11 +60,7 @@ export function getIdeInfo(ide) {
55
60
  }
56
61
  }
57
62
  }
58
- export function detectIde() {
59
- // Only VSCode-based integrations are currently supported.
60
- if (process.env['TERM_PROGRAM'] !== 'vscode') {
61
- return undefined;
62
- }
63
+ export function detectIdeFromEnv() {
63
64
  if (process.env['__COG_BASHRC_SOURCED']) {
64
65
  return DetectedIde.Devin;
65
66
  }
@@ -78,9 +79,26 @@ export function detectIde() {
78
79
  if (process.env['TERM_PRODUCT'] === 'Trae') {
79
80
  return DetectedIde.Trae;
80
81
  }
81
- if (process.env['FIREBASE_DEPLOY_AGENT'] || process.env['MONOSPACE_ENV']) {
82
+ if (process.env['MONOSPACE_ENV']) {
82
83
  return DetectedIde.FirebaseStudio;
83
84
  }
84
85
  return DetectedIde.VSCode;
85
86
  }
87
+ function verifyVSCode(ide, ideProcessInfo) {
88
+ if (ide !== DetectedIde.VSCode) {
89
+ return ide;
90
+ }
91
+ if (ideProcessInfo.command.toLowerCase().includes('code')) {
92
+ return DetectedIde.VSCode;
93
+ }
94
+ return DetectedIde.VSCodeFork;
95
+ }
96
+ export function detectIde(ideProcessInfo) {
97
+ // Only VSCode-based integrations are currently supported.
98
+ if (process.env['TERM_PROGRAM'] !== 'vscode') {
99
+ return undefined;
100
+ }
101
+ const ide = detectIdeFromEnv();
102
+ return verifyVSCode(ide, ideProcessInfo);
103
+ }
86
104
  //# sourceMappingURL=detect-ide.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect-ide.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAN,IAAY,WASX;AATD,WAAY,WAAW;IACrB,8BAAe,CAAA;IACf,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,gCAAiB,CAAA;IACjB,wCAAyB,CAAA;IACzB,wCAAyB,CAAA;IACzB,gDAAiC,CAAA;IACjC,4BAAa,CAAA;AACf,CAAC,EATW,WAAW,KAAX,WAAW,QAStB;AAMD,MAAM,UAAU,UAAU,CAAC,GAAgB;IACzC,QAAQ,GAAG,EAAE,CAAC;QACZ,KAAK,WAAW,CAAC,KAAK;YACpB,OAAO;gBACL,WAAW,EAAE,OAAO;aACrB,CAAC;QACJ,KAAK,WAAW,CAAC,MAAM;YACrB,OAAO;gBACL,WAAW,EAAE,QAAQ;aACtB,CAAC;QACJ,KAAK,WAAW,CAAC,MAAM;YACrB,OAAO;gBACL,WAAW,EAAE,SAAS;aACvB,CAAC;QACJ,KAAK,WAAW,CAAC,MAAM;YACrB,OAAO;gBACL,WAAW,EAAE,QAAQ;aACtB,CAAC;QACJ,KAAK,WAAW,CAAC,UAAU;YACzB,OAAO;gBACL,WAAW,EAAE,aAAa;aAC3B,CAAC;QACJ,KAAK,WAAW,CAAC,UAAU;YACzB,OAAO;gBACL,WAAW,EAAE,mBAAmB;aACjC,CAAC;QACJ,KAAK,WAAW,CAAC,cAAc;YAC7B,OAAO;gBACL,WAAW,EAAE,iBAAiB;aAC/B,CAAC;QACJ,KAAK,WAAW,CAAC,IAAI;YACnB,OAAO;gBACL,WAAW,EAAE,MAAM;aACpB,CAAC;QACJ,OAAO,CAAC,CAAC,CAAC;YACR,oFAAoF;YACpF,MAAM,eAAe,GAAU,GAAG,CAAC;YACnC,OAAO,eAAe,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED,MAAM,UAAU,SAAS;IACvB,0DAA0D;IAC1D,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC7C,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC,EAAE,CAAC;QACxC,OAAO,WAAW,CAAC,KAAK,CAAC;IAC3B,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QAC/B,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC;QACnC,OAAO,WAAW,CAAC,MAAM,CAAC;IAC5B,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,OAAO,WAAW,CAAC,UAAU,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,EAAE,CAAC;QACvE,OAAO,WAAW,CAAC,UAAU,CAAC;IAChC,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,KAAK,MAAM,EAAE,CAAC;QAC3C,OAAO,WAAW,CAAC,IAAI,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,EAAE,CAAC;QACzE,OAAO,WAAW,CAAC,cAAc,CAAC;IACpC,CAAC;IACD,OAAO,WAAW,CAAC,MAAM,CAAC;AAC5B,CAAC"}
1
+ {"version":3,"file":"detect-ide.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.ts"],"names":[],"mappings":"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"}
@@ -3,63 +3,107 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { describe, it, expect, afterEach, vi } from 'vitest';
7
- import { detectIde, DetectedIde } from './detect-ide.js';
6
+ import { describe, it, expect, vi, afterEach } from 'vitest';
7
+ import { detectIde, DetectedIde, getIdeInfo } from './detect-ide.js';
8
8
  describe('detectIde', () => {
9
+ const ideProcessInfo = { pid: 123, command: 'some/path/to/code' };
10
+ const ideProcessInfoNoCode = { pid: 123, command: 'some/path/to/fork' };
9
11
  afterEach(() => {
10
12
  vi.unstubAllEnvs();
11
13
  });
12
- it.each([
13
- {
14
- env: {},
15
- expected: DetectedIde.VSCode,
16
- },
17
- {
18
- env: { __COG_BASHRC_SOURCED: '1' },
19
- expected: DetectedIde.Devin,
20
- },
21
- {
22
- env: { REPLIT_USER: 'test' },
23
- expected: DetectedIde.Replit,
24
- },
25
- {
26
- env: { CURSOR_TRACE_ID: 'test' },
27
- expected: DetectedIde.Cursor,
28
- },
29
- {
30
- env: { CODESPACES: 'true' },
31
- expected: DetectedIde.Codespaces,
32
- },
33
- {
34
- env: { EDITOR_IN_CLOUD_SHELL: 'true' },
35
- expected: DetectedIde.CloudShell,
36
- },
37
- {
38
- env: { CLOUD_SHELL: 'true' },
39
- expected: DetectedIde.CloudShell,
40
- },
41
- {
42
- env: { TERM_PRODUCT: 'Trae' },
43
- expected: DetectedIde.Trae,
44
- },
45
- {
46
- env: { FIREBASE_DEPLOY_AGENT: 'true' },
47
- expected: DetectedIde.FirebaseStudio,
48
- },
49
- {
50
- env: { MONOSPACE_ENV: 'true' },
51
- expected: DetectedIde.FirebaseStudio,
52
- },
53
- ])('detects the IDE for $expected', ({ env, expected }) => {
14
+ it('should return undefined if TERM_PROGRAM is not vscode', () => {
15
+ vi.stubEnv('TERM_PROGRAM', '');
16
+ expect(detectIde(ideProcessInfo)).toBeUndefined();
17
+ });
18
+ it('should detect Devin', () => {
19
+ vi.stubEnv('TERM_PROGRAM', 'vscode');
20
+ vi.stubEnv('__COG_BASHRC_SOURCED', '1');
21
+ expect(detectIde(ideProcessInfo)).toBe(DetectedIde.Devin);
22
+ });
23
+ it('should detect Replit', () => {
24
+ vi.stubEnv('TERM_PROGRAM', 'vscode');
25
+ vi.stubEnv('REPLIT_USER', 'testuser');
26
+ expect(detectIde(ideProcessInfo)).toBe(DetectedIde.Replit);
27
+ });
28
+ it('should detect Cursor', () => {
29
+ vi.stubEnv('TERM_PROGRAM', 'vscode');
30
+ vi.stubEnv('CURSOR_TRACE_ID', 'some-id');
31
+ expect(detectIde(ideProcessInfo)).toBe(DetectedIde.Cursor);
32
+ });
33
+ it('should detect Codespaces', () => {
34
+ vi.stubEnv('TERM_PROGRAM', 'vscode');
35
+ vi.stubEnv('CODESPACES', 'true');
36
+ expect(detectIde(ideProcessInfo)).toBe(DetectedIde.Codespaces);
37
+ });
38
+ it('should detect Cloud Shell via EDITOR_IN_CLOUD_SHELL', () => {
39
+ vi.stubEnv('TERM_PROGRAM', 'vscode');
40
+ vi.stubEnv('EDITOR_IN_CLOUD_SHELL', 'true');
41
+ expect(detectIde(ideProcessInfo)).toBe(DetectedIde.CloudShell);
42
+ });
43
+ it('should detect Cloud Shell via CLOUD_SHELL', () => {
44
+ vi.stubEnv('TERM_PROGRAM', 'vscode');
45
+ vi.stubEnv('CLOUD_SHELL', 'true');
46
+ expect(detectIde(ideProcessInfo)).toBe(DetectedIde.CloudShell);
47
+ });
48
+ it('should detect Trae', () => {
49
+ vi.stubEnv('TERM_PROGRAM', 'vscode');
50
+ vi.stubEnv('TERM_PRODUCT', 'Trae');
51
+ expect(detectIde(ideProcessInfo)).toBe(DetectedIde.Trae);
52
+ });
53
+ it('should detect Firebase Studio via MONOSPACE_ENV', () => {
54
54
  vi.stubEnv('TERM_PROGRAM', 'vscode');
55
- for (const [key, value] of Object.entries(env)) {
56
- vi.stubEnv(key, value);
57
- }
58
- expect(detectIde()).toBe(expected);
59
- });
60
- it('returns undefined for non-vscode', () => {
61
- vi.stubEnv('TERM_PROGRAM', 'definitely-not-vscode');
62
- expect(detectIde()).toBeUndefined();
55
+ vi.stubEnv('MONOSPACE_ENV', 'true');
56
+ expect(detectIde(ideProcessInfo)).toBe(DetectedIde.FirebaseStudio);
57
+ });
58
+ it('should detect VSCode when no other IDE is detected and command includes "code"', () => {
59
+ vi.stubEnv('TERM_PROGRAM', 'vscode');
60
+ vi.stubEnv('MONOSPACE_ENV', '');
61
+ expect(detectIde(ideProcessInfo)).toBe(DetectedIde.VSCode);
62
+ });
63
+ it('should detect VSCodeFork when no other IDE is detected and command does not include "code"', () => {
64
+ vi.stubEnv('TERM_PROGRAM', 'vscode');
65
+ vi.stubEnv('MONOSPACE_ENV', '');
66
+ expect(detectIde(ideProcessInfoNoCode)).toBe(DetectedIde.VSCodeFork);
67
+ });
68
+ it('should prioritize other IDEs over VSCode detection', () => {
69
+ vi.stubEnv('TERM_PROGRAM', 'vscode');
70
+ vi.stubEnv('REPLIT_USER', 'testuser');
71
+ expect(detectIde(ideProcessInfo)).toBe(DetectedIde.Replit);
72
+ });
73
+ });
74
+ describe('getIdeInfo', () => {
75
+ it('should return correct info for Devin', () => {
76
+ expect(getIdeInfo(DetectedIde.Devin)).toEqual({ displayName: 'Devin' });
77
+ });
78
+ it('should return correct info for Replit', () => {
79
+ expect(getIdeInfo(DetectedIde.Replit)).toEqual({ displayName: 'Replit' });
80
+ });
81
+ it('should return correct info for Cursor', () => {
82
+ expect(getIdeInfo(DetectedIde.Cursor)).toEqual({ displayName: 'Cursor' });
83
+ });
84
+ it('should return correct info for CloudShell', () => {
85
+ expect(getIdeInfo(DetectedIde.CloudShell)).toEqual({
86
+ displayName: 'Cloud Shell',
87
+ });
88
+ });
89
+ it('should return correct info for Codespaces', () => {
90
+ expect(getIdeInfo(DetectedIde.Codespaces)).toEqual({
91
+ displayName: 'GitHub Codespaces',
92
+ });
93
+ });
94
+ it('should return correct info for FirebaseStudio', () => {
95
+ expect(getIdeInfo(DetectedIde.FirebaseStudio)).toEqual({
96
+ displayName: 'Firebase Studio',
97
+ });
98
+ });
99
+ it('should return correct info for Trae', () => {
100
+ expect(getIdeInfo(DetectedIde.Trae)).toEqual({ displayName: 'Trae' });
101
+ });
102
+ it('should return correct info for VSCode', () => {
103
+ expect(getIdeInfo(DetectedIde.VSCode)).toEqual({ displayName: 'VS Code' });
104
+ });
105
+ it('should return correct info for VSCodeFork', () => {
106
+ expect(getIdeInfo(DetectedIde.VSCodeFork)).toEqual({ displayName: 'IDE' });
63
107
  });
64
108
  });
65
109
  //# sourceMappingURL=detect-ide.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"detect-ide.test.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEzD,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,aAAa,EAAE,CAAC;IACrB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC;QACN;YACE,GAAG,EAAE,EAAE;YACP,QAAQ,EAAE,WAAW,CAAC,MAAM;SAC7B;QACD;YACE,GAAG,EAAE,EAAE,oBAAoB,EAAE,GAAG,EAAE;YAClC,QAAQ,EAAE,WAAW,CAAC,KAAK;SAC5B;QACD;YACE,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;YAC5B,QAAQ,EAAE,WAAW,CAAC,MAAM;SAC7B;QACD;YACE,GAAG,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE;YAChC,QAAQ,EAAE,WAAW,CAAC,MAAM;SAC7B;QACD;YACE,GAAG,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE;YAC3B,QAAQ,EAAE,WAAW,CAAC,UAAU;SACjC;QACD;YACE,GAAG,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE;YACtC,QAAQ,EAAE,WAAW,CAAC,UAAU;SACjC;QACD;YACE,GAAG,EAAE,EAAE,WAAW,EAAE,MAAM,EAAE;YAC5B,QAAQ,EAAE,WAAW,CAAC,UAAU;SACjC;QACD;YACE,GAAG,EAAE,EAAE,YAAY,EAAE,MAAM,EAAE;YAC7B,QAAQ,EAAE,WAAW,CAAC,IAAI;SAC3B;QACD;YACE,GAAG,EAAE,EAAE,qBAAqB,EAAE,MAAM,EAAE;YACtC,QAAQ,EAAE,WAAW,CAAC,cAAc;SACrC;QACD;YACE,GAAG,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE;YAC9B,QAAQ,EAAE,WAAW,CAAC,cAAc;SACrC;KACF,CAAC,CAAC,+BAA+B,EAAE,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE;QACxD,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;QACrC,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;YAC/C,EAAE,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC1C,EAAE,CAAC,OAAO,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;QACpD,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC,aAAa,EAAE,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"detect-ide.test.js","sourceRoot":"","sources":["../../../src/ide/detect-ide.test.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { DetectedIde } from '../ide/detect-ide.js';
7
- import { DiffUpdateResult } from '../ide/ideContext.js';
6
+ import { type DetectedIde } from '../ide/detect-ide.js';
7
+ import type { DiffUpdateResult } from '../ide/ideContext.js';
8
8
  export type IDEConnectionState = {
9
9
  status: IDEConnectionStatus;
10
10
  details?: string;
@@ -21,12 +21,13 @@ export declare class IdeClient {
21
21
  private static instance;
22
22
  private client;
23
23
  private state;
24
- private readonly currentIde;
25
- private readonly currentIdeDisplayName;
24
+ private currentIde;
25
+ private currentIdeDisplayName;
26
+ private ideProcessInfo;
26
27
  private diffResponses;
27
28
  private statusListeners;
28
29
  private constructor();
29
- static getInstance(): IdeClient;
30
+ static getInstance(): Promise<IdeClient>;
30
31
  addStatusChangeListener(listener: (state: IDEConnectionState) => void): void;
31
32
  removeStatusChangeListener(listener: (state: IDEConnectionState) => void): void;
32
33
  connect(): Promise<void>;
@@ -5,9 +5,9 @@
5
5
  */
6
6
  import * as fs from 'node:fs';
7
7
  import { isSubpath } from '../utils/paths.js';
8
- import { detectIde, DetectedIde, getIdeInfo } from '../ide/detect-ide.js';
8
+ import { detectIde, getIdeInfo } from '../ide/detect-ide.js';
9
9
  import { ideContext, IdeContextNotificationSchema, IdeDiffAcceptedNotificationSchema, IdeDiffClosedNotificationSchema, CloseDiffResponseSchema, } from '../ide/ideContext.js';
10
- import { getIdeProcessId } from './process-utils.js';
10
+ import { getIdeProcessInfo } from './process-utils.js';
11
11
  import { Client } from '@modelcontextprotocol/sdk/client/index.js';
12
12
  import { StreamableHTTPClientTransport } from '@modelcontextprotocol/sdk/client/streamableHttp.js';
13
13
  import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
@@ -48,17 +48,19 @@ export class IdeClient {
48
48
  };
49
49
  currentIde;
50
50
  currentIdeDisplayName;
51
+ ideProcessInfo;
51
52
  diffResponses = new Map();
52
53
  statusListeners = new Set();
53
- constructor() {
54
- this.currentIde = detectIde();
55
- if (this.currentIde) {
56
- this.currentIdeDisplayName = getIdeInfo(this.currentIde).displayName;
57
- }
58
- }
59
- static getInstance() {
54
+ constructor() { }
55
+ static async getInstance() {
60
56
  if (!IdeClient.instance) {
61
- IdeClient.instance = new IdeClient();
57
+ const client = new IdeClient();
58
+ client.ideProcessInfo = await getIdeProcessInfo();
59
+ client.currentIde = detectIde(client.ideProcessInfo);
60
+ if (client.currentIde) {
61
+ client.currentIdeDisplayName = getIdeInfo(client.currentIde).displayName;
62
+ }
63
+ IdeClient.instance = client;
62
64
  }
63
65
  return IdeClient.instance;
64
66
  }
@@ -70,9 +72,7 @@ export class IdeClient {
70
72
  }
71
73
  async connect() {
72
74
  if (!this.currentIde || !this.currentIdeDisplayName) {
73
- this.setState(IDEConnectionStatus.Disconnected, `IDE integration is not supported in your current environment. To use this feature, run Gemini CLI in one of these supported IDEs: ${Object.values(DetectedIde)
74
- .map((ide) => getIdeInfo(ide).displayName)
75
- .join(', ')}`, false);
75
+ this.setState(IDEConnectionStatus.Disconnected, `IDE integration is not supported in your current environment. To use this feature, run Gemini CLI in one of these supported IDEs: VS Code or VS Code forks`, false);
76
76
  return;
77
77
  }
78
78
  this.setState(IDEConnectionStatus.Connecting);
@@ -112,7 +112,7 @@ export class IdeClient {
112
112
  return;
113
113
  }
114
114
  }
115
- this.setState(IDEConnectionStatus.Disconnected, `Failed to connect to IDE companion extension for ${this.currentIdeDisplayName}. Please ensure the extension is running. To install the extension, run /ide install.`, true);
115
+ this.setState(IDEConnectionStatus.Disconnected, `Failed to connect to IDE companion extension in ${this.currentIdeDisplayName}. Please ensure the extension is running. To install the extension, run /ide install.`, true);
116
116
  }
117
117
  /**
118
118
  * A diff is accepted with any modifications if the user performs one of the
@@ -227,7 +227,7 @@ export class IdeClient {
227
227
  if (ideWorkspacePath === undefined) {
228
228
  return {
229
229
  isValid: false,
230
- error: `Failed to connect to IDE companion extension for ${currentIdeDisplayName}. Please ensure the extension is running. To install the extension, run /ide install.`,
230
+ error: `Failed to connect to IDE companion extension in ${currentIdeDisplayName}. Please ensure the extension is running. To install the extension, run /ide install.`,
231
231
  };
232
232
  }
233
233
  if (ideWorkspacePath === '') {
@@ -281,9 +281,11 @@ export class IdeClient {
281
281
  return { command, args };
282
282
  }
283
283
  async getConnectionConfigFromFile() {
284
+ if (!this.ideProcessInfo) {
285
+ return {};
286
+ }
284
287
  try {
285
- const ideProcessId = await getIdeProcessId();
286
- const portFile = path.join(os.tmpdir(), `gemini-ide-server-${ideProcessId}.json`);
288
+ const portFile = path.join(os.tmpdir(), `gemini-ide-server-${this.ideProcessInfo.pid}.json`);
287
289
  const portFileContents = await fs.promises.readFile(portFile, 'utf8');
288
290
  return JSON.parse(portFileContents);
289
291
  }