@google/gemini-cli-core 0.1.22 → 0.2.0-preview.1

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 (281) hide show
  1. package/README.md +32 -2
  2. package/dist/index.d.ts +1 -1
  3. package/dist/index.js +1 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/code_assist/oauth2.d.ts +1 -0
  6. package/dist/src/code_assist/oauth2.js +15 -16
  7. package/dist/src/code_assist/oauth2.js.map +1 -1
  8. package/dist/src/code_assist/oauth2.test.js +53 -3
  9. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  10. package/dist/src/config/config.d.ts +31 -4
  11. package/dist/src/config/config.js +59 -15
  12. package/dist/src/config/config.js.map +1 -1
  13. package/dist/src/config/config.test.js +33 -2
  14. package/dist/src/config/config.test.js.map +1 -1
  15. package/dist/src/config/storage.d.ts +32 -0
  16. package/dist/src/config/storage.js +90 -0
  17. package/dist/src/config/storage.js.map +1 -0
  18. package/dist/src/config/storage.test.js +43 -0
  19. package/dist/src/config/storage.test.js.map +1 -0
  20. package/dist/src/core/client.js +5 -2
  21. package/dist/src/core/client.js.map +1 -1
  22. package/dist/src/core/client.test.js +2 -1
  23. package/dist/src/core/client.test.js.map +1 -1
  24. package/dist/src/core/contentGenerator.js +3 -2
  25. package/dist/src/core/contentGenerator.js.map +1 -1
  26. package/dist/src/core/coreToolScheduler.d.ts +3 -3
  27. package/dist/src/core/coreToolScheduler.js +21 -3
  28. package/dist/src/core/coreToolScheduler.js.map +1 -1
  29. package/dist/src/core/coreToolScheduler.test.js +193 -16
  30. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  31. package/dist/src/core/geminiChat.d.ts +2 -1
  32. package/dist/src/core/geminiChat.js +44 -17
  33. package/dist/src/core/geminiChat.js.map +1 -1
  34. package/dist/src/core/logger.d.ts +3 -1
  35. package/dist/src/core/logger.js +4 -3
  36. package/dist/src/core/logger.js.map +1 -1
  37. package/dist/src/core/logger.test.js +17 -16
  38. package/dist/src/core/logger.test.js.map +1 -1
  39. package/dist/src/core/loggingContentGenerator.d.ts +1 -5
  40. package/dist/src/core/loggingContentGenerator.js +4 -6
  41. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  42. package/dist/src/core/nonInteractiveToolExecutor.d.ts +3 -5
  43. package/dist/src/core/nonInteractiveToolExecutor.js +15 -115
  44. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  45. package/dist/src/core/nonInteractiveToolExecutor.test.js +72 -63
  46. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  47. package/dist/src/core/subagent.js +5 -5
  48. package/dist/src/core/subagent.js.map +1 -1
  49. package/dist/src/core/subagent.test.js +3 -3
  50. package/dist/src/core/subagent.test.js.map +1 -1
  51. package/dist/src/core/turn.js +4 -4
  52. package/dist/src/core/turn.js.map +1 -1
  53. package/dist/src/core/turn.test.js +19 -0
  54. package/dist/src/core/turn.test.js.map +1 -1
  55. package/dist/src/generated/git-commit.d.ts +2 -2
  56. package/dist/src/generated/git-commit.js +2 -2
  57. package/dist/src/generated/git-commit.js.map +1 -1
  58. package/dist/src/ide/ide-client.d.ts +8 -2
  59. package/dist/src/ide/ide-client.js +118 -13
  60. package/dist/src/ide/ide-client.js.map +1 -1
  61. package/dist/src/ide/ide-client.test.js +141 -33
  62. package/dist/src/ide/ide-client.test.js.map +1 -1
  63. package/dist/src/ide/ide-installer.js +17 -4
  64. package/dist/src/ide/ide-installer.js.map +1 -1
  65. package/dist/src/ide/ide-installer.test.js +6 -4
  66. package/dist/src/ide/ide-installer.test.js.map +1 -1
  67. package/dist/src/ide/ideContext.d.ts +5 -5
  68. package/dist/src/ide/process-utils.d.ts +10 -5
  69. package/dist/src/ide/process-utils.js +113 -30
  70. package/dist/src/ide/process-utils.js.map +1 -1
  71. package/dist/src/index.d.ts +6 -0
  72. package/dist/src/index.js +6 -0
  73. package/dist/src/index.js.map +1 -1
  74. package/dist/src/mcp/oauth-token-storage.d.ts +0 -2
  75. package/dist/src/mcp/oauth-token-storage.js +2 -5
  76. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  77. package/dist/src/mcp/oauth-token-storage.test.js +1 -0
  78. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  79. package/dist/src/services/chatRecordingService.d.ts +150 -0
  80. package/dist/src/services/chatRecordingService.js +318 -0
  81. package/dist/src/services/chatRecordingService.js.map +1 -0
  82. package/dist/src/services/chatRecordingService.test.js +290 -0
  83. package/dist/src/services/chatRecordingService.test.js.map +1 -0
  84. package/dist/src/services/fileSystemService.d.ts +31 -0
  85. package/dist/src/services/fileSystemService.js +18 -0
  86. package/dist/src/services/fileSystemService.js.map +1 -0
  87. package/dist/src/services/fileSystemService.test.d.ts +6 -0
  88. package/dist/src/services/fileSystemService.test.js +41 -0
  89. package/dist/src/services/fileSystemService.test.js.map +1 -0
  90. package/dist/src/services/gitService.d.ts +3 -1
  91. package/dist/src/services/gitService.js +19 -10
  92. package/dist/src/services/gitService.js.map +1 -1
  93. package/dist/src/services/gitService.test.js +17 -14
  94. package/dist/src/services/gitService.test.js.map +1 -1
  95. package/dist/src/services/shellExecutionService.d.ts +8 -10
  96. package/dist/src/services/shellExecutionService.js +289 -133
  97. package/dist/src/services/shellExecutionService.js.map +1 -1
  98. package/dist/src/services/shellExecutionService.test.js +275 -41
  99. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  100. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +14 -3
  101. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +125 -103
  102. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  103. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +79 -13
  104. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  105. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +10 -1
  106. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +21 -0
  107. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  108. package/dist/src/telemetry/loggers.d.ts +2 -1
  109. package/dist/src/telemetry/loggers.js +12 -3
  110. package/dist/src/telemetry/loggers.js.map +1 -1
  111. package/dist/src/telemetry/loggers.test.js +14 -5
  112. package/dist/src/telemetry/loggers.test.js.map +1 -1
  113. package/dist/src/telemetry/metrics.d.ts +2 -2
  114. package/dist/src/telemetry/metrics.js +6 -2
  115. package/dist/src/telemetry/metrics.js.map +1 -1
  116. package/dist/src/telemetry/sdk.js +3 -3
  117. package/dist/src/telemetry/sdk.js.map +1 -1
  118. package/dist/src/telemetry/telemetry-utils.d.ts +6 -0
  119. package/dist/src/telemetry/telemetry-utils.js +14 -0
  120. package/dist/src/telemetry/telemetry-utils.js.map +1 -0
  121. package/dist/src/telemetry/telemetry-utils.test.d.ts +6 -0
  122. package/dist/src/telemetry/telemetry-utils.test.js +40 -0
  123. package/dist/src/telemetry/telemetry-utils.test.js.map +1 -0
  124. package/dist/src/telemetry/types.d.ts +22 -3
  125. package/dist/src/telemetry/types.js +44 -2
  126. package/dist/src/telemetry/types.js.map +1 -1
  127. package/dist/src/telemetry/uiTelemetry.d.ts +4 -0
  128. package/dist/src/telemetry/uiTelemetry.js +14 -1
  129. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  130. package/dist/src/telemetry/uiTelemetry.test.js +45 -9
  131. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  132. package/dist/src/test-utils/tools.d.ts +8 -2
  133. package/dist/src/test-utils/tools.js +2 -3
  134. package/dist/src/test-utils/tools.js.map +1 -1
  135. package/dist/src/tools/edit.d.ts +1 -1
  136. package/dist/src/tools/edit.js +40 -13
  137. package/dist/src/tools/edit.js.map +1 -1
  138. package/dist/src/tools/edit.test.js +35 -1
  139. package/dist/src/tools/edit.test.js.map +1 -1
  140. package/dist/src/tools/glob.d.ts +1 -1
  141. package/dist/src/tools/glob.js +21 -10
  142. package/dist/src/tools/glob.js.map +1 -1
  143. package/dist/src/tools/glob.test.js +43 -1
  144. package/dist/src/tools/glob.test.js.map +1 -1
  145. package/dist/src/tools/grep.d.ts +1 -1
  146. package/dist/src/tools/grep.js +6 -6
  147. package/dist/src/tools/grep.js.map +1 -1
  148. package/dist/src/tools/grep.test.js +11 -0
  149. package/dist/src/tools/grep.test.js.map +1 -1
  150. package/dist/src/tools/ls.d.ts +1 -1
  151. package/dist/src/tools/ls.js +10 -10
  152. package/dist/src/tools/ls.js.map +1 -1
  153. package/dist/src/tools/ls.test.js +5 -0
  154. package/dist/src/tools/ls.test.js.map +1 -1
  155. package/dist/src/tools/mcp-client-manager.d.ts +38 -0
  156. package/dist/src/tools/mcp-client-manager.js +74 -0
  157. package/dist/src/tools/mcp-client-manager.js.map +1 -0
  158. package/dist/src/tools/mcp-client-manager.test.d.ts +6 -0
  159. package/dist/src/tools/mcp-client-manager.test.js +39 -0
  160. package/dist/src/tools/mcp-client-manager.test.js.map +1 -0
  161. package/dist/src/tools/mcp-client.d.ts +50 -0
  162. package/dist/src/tools/mcp-client.js +143 -22
  163. package/dist/src/tools/mcp-client.js.map +1 -1
  164. package/dist/src/tools/mcp-client.test.js +83 -302
  165. package/dist/src/tools/mcp-client.test.js.map +1 -1
  166. package/dist/src/tools/mcp-tool.js +12 -2
  167. package/dist/src/tools/mcp-tool.js.map +1 -1
  168. package/dist/src/tools/mcp-tool.test.js +37 -20
  169. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  170. package/dist/src/tools/memoryTool.d.ts +1 -1
  171. package/dist/src/tools/memoryTool.js +8 -8
  172. package/dist/src/tools/memoryTool.js.map +1 -1
  173. package/dist/src/tools/memoryTool.test.js +13 -1
  174. package/dist/src/tools/memoryTool.test.js.map +1 -1
  175. package/dist/src/tools/read-file.d.ts +1 -1
  176. package/dist/src/tools/read-file.js +15 -39
  177. package/dist/src/tools/read-file.js.map +1 -1
  178. package/dist/src/tools/read-file.test.js +13 -2
  179. package/dist/src/tools/read-file.test.js.map +1 -1
  180. package/dist/src/tools/read-many-files.d.ts +0 -1
  181. package/dist/src/tools/read-many-files.js +37 -22
  182. package/dist/src/tools/read-many-files.js.map +1 -1
  183. package/dist/src/tools/read-many-files.test.js +76 -4
  184. package/dist/src/tools/read-many-files.test.js.map +1 -1
  185. package/dist/src/tools/ripGrep.d.ts +46 -0
  186. package/dist/src/tools/ripGrep.js +368 -0
  187. package/dist/src/tools/ripGrep.js.map +1 -0
  188. package/dist/src/tools/ripGrep.test.d.ts +6 -0
  189. package/dist/src/tools/ripGrep.test.js +874 -0
  190. package/dist/src/tools/ripGrep.test.js.map +1 -0
  191. package/dist/src/tools/shell.d.ts +1 -1
  192. package/dist/src/tools/shell.js +12 -26
  193. package/dist/src/tools/shell.js.map +1 -1
  194. package/dist/src/tools/shell.test.js +13 -20
  195. package/dist/src/tools/shell.test.js.map +1 -1
  196. package/dist/src/tools/tool-error.d.ts +16 -1
  197. package/dist/src/tools/tool-error.js +24 -0
  198. package/dist/src/tools/tool-error.js.map +1 -1
  199. package/dist/src/tools/tool-registry.d.ts +5 -0
  200. package/dist/src/tools/tool-registry.js +20 -5
  201. package/dist/src/tools/tool-registry.js.map +1 -1
  202. package/dist/src/tools/tool-registry.test.js +76 -18
  203. package/dist/src/tools/tool-registry.test.js.map +1 -1
  204. package/dist/src/tools/tools.d.ts +4 -6
  205. package/dist/src/tools/tools.js +12 -0
  206. package/dist/src/tools/tools.js.map +1 -1
  207. package/dist/src/tools/tools.test.js +0 -1
  208. package/dist/src/tools/tools.test.js.map +1 -1
  209. package/dist/src/tools/web-fetch.d.ts +1 -1
  210. package/dist/src/tools/web-fetch.js +10 -12
  211. package/dist/src/tools/web-fetch.js.map +1 -1
  212. package/dist/src/tools/web-fetch.test.js +55 -16
  213. package/dist/src/tools/web-fetch.test.js.map +1 -1
  214. package/dist/src/tools/web-search.d.ts +1 -1
  215. package/dist/src/tools/web-search.js +27 -11
  216. package/dist/src/tools/web-search.js.map +1 -1
  217. package/dist/src/tools/web-search.test.js +69 -1
  218. package/dist/src/tools/web-search.test.js.map +1 -1
  219. package/dist/src/tools/write-file.d.ts +1 -1
  220. package/dist/src/tools/write-file.js +14 -11
  221. package/dist/src/tools/write-file.js.map +1 -1
  222. package/dist/src/tools/write-file.test.js +28 -38
  223. package/dist/src/tools/write-file.test.js.map +1 -1
  224. package/dist/src/utils/editCorrector.test.js +1 -0
  225. package/dist/src/utils/editCorrector.test.js.map +1 -1
  226. package/dist/src/utils/editor.js +1 -1
  227. package/dist/src/utils/editor.js.map +1 -1
  228. package/dist/src/utils/editor.test.js +1 -1
  229. package/dist/src/utils/editor.test.js.map +1 -1
  230. package/dist/src/utils/environmentContext.js +2 -2
  231. package/dist/src/utils/environmentContext.js.map +1 -1
  232. package/dist/src/utils/environmentContext.test.js +3 -2
  233. package/dist/src/utils/environmentContext.test.js.map +1 -1
  234. package/dist/src/utils/fileUtils.d.ts +4 -8
  235. package/dist/src/utils/fileUtils.js +17 -20
  236. package/dist/src/utils/fileUtils.js.map +1 -1
  237. package/dist/src/utils/fileUtils.test.js +18 -17
  238. package/dist/src/utils/fileUtils.test.js.map +1 -1
  239. package/dist/src/utils/filesearch/fileSearch.d.ts +1 -0
  240. package/dist/src/utils/filesearch/fileSearch.js +3 -2
  241. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  242. package/dist/src/utils/filesearch/fileSearch.test.js +90 -0
  243. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  244. package/dist/src/utils/getPty.d.ts +19 -0
  245. package/dist/src/utils/getPty.js +23 -0
  246. package/dist/src/utils/getPty.js.map +1 -0
  247. package/dist/src/utils/installationManager.d.ts +16 -0
  248. package/dist/src/utils/installationManager.js +50 -0
  249. package/dist/src/utils/installationManager.js.map +1 -0
  250. package/dist/src/utils/installationManager.test.d.ts +6 -0
  251. package/dist/src/utils/installationManager.test.js +83 -0
  252. package/dist/src/utils/installationManager.test.js.map +1 -0
  253. package/dist/src/utils/language-detection.d.ts +6 -0
  254. package/dist/src/utils/language-detection.js +101 -0
  255. package/dist/src/utils/language-detection.js.map +1 -0
  256. package/dist/src/utils/memoryDiscovery.js +54 -20
  257. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  258. package/dist/src/utils/memoryDiscovery.test.js +37 -0
  259. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  260. package/dist/src/utils/paths.d.ts +0 -17
  261. package/dist/src/utils/paths.js +0 -26
  262. package/dist/src/utils/paths.js.map +1 -1
  263. package/dist/src/utils/userAccountManager.d.ts +20 -0
  264. package/dist/src/utils/userAccountManager.js +114 -0
  265. package/dist/src/utils/userAccountManager.js.map +1 -0
  266. package/dist/src/utils/userAccountManager.test.d.ts +6 -0
  267. package/dist/src/utils/{user_account.test.js → userAccountManager.test.js} +98 -28
  268. package/dist/src/utils/userAccountManager.test.js.map +1 -0
  269. package/dist/tsconfig.tsbuildinfo +1 -1
  270. package/package.json +20 -10
  271. package/dist/src/utils/user_account.d.ts +0 -9
  272. package/dist/src/utils/user_account.js +0 -99
  273. package/dist/src/utils/user_account.js.map +0 -1
  274. package/dist/src/utils/user_account.test.js.map +0 -1
  275. package/dist/src/utils/user_id.d.ts +0 -11
  276. package/dist/src/utils/user_id.js +0 -49
  277. package/dist/src/utils/user_id.js.map +0 -1
  278. package/dist/src/utils/user_id.test.js +0 -21
  279. package/dist/src/utils/user_id.test.js.map +0 -1
  280. /package/dist/src/{utils/user_account.test.d.ts → config/storage.test.d.ts} +0 -0
  281. /package/dist/src/{utils/user_id.test.d.ts → services/chatRecordingService.test.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"ide-installer.js","sourceRoot":"","sources":["../../../src/ide/ide-installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ide-installer.js","sourceRoot":"","sources":["../../../src/ide/ide-installer.ts"],"names":[],"mappings":"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"}
@@ -13,6 +13,12 @@ vi.mock('child_process');
13
13
  vi.mock('fs');
14
14
  vi.mock('os');
15
15
  describe('ide-installer', () => {
16
+ beforeEach(() => {
17
+ vi.spyOn(os, 'homedir').mockReturnValue('/home/user');
18
+ });
19
+ afterEach(() => {
20
+ vi.restoreAllMocks();
21
+ });
16
22
  describe('getIdeInstaller', () => {
17
23
  it('should return a VsCodeInstaller for "vscode"', () => {
18
24
  const installer = getIdeInstaller(DetectedIde.VSCode);
@@ -28,10 +34,6 @@ describe('ide-installer', () => {
28
34
  installer = getIdeInstaller(DetectedIde.VSCode);
29
35
  vi.spyOn(child_process, 'execSync').mockImplementation(() => '');
30
36
  vi.spyOn(fs, 'existsSync').mockReturnValue(false);
31
- vi.spyOn(os, 'homedir').mockReturnValue('/home/user');
32
- });
33
- afterEach(() => {
34
- vi.restoreAllMocks();
35
37
  });
36
38
  describe('install', () => {
37
39
  it('should return a failure message if VS Code is not installed', async () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ide-installer.test.js","sourceRoot":"","sources":["../../../src/ide/ide-installer.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,eAAe,EAAgB,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACzB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEd,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjC,+DAA+D;YAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,IAAI,SAAuB,CAAC;QAE5B,UAAU,CAAC,GAAG,EAAE;YACd,uEAAuE;YACvE,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAE,CAAC;YACjD,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACjE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YAClD,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACxD,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE;YACb,EAAE,CAAC,eAAe,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;YACvB,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;gBAC3E,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;oBAC1D,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAClD,0DAA0D;gBAC1D,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAE,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;gBACzC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"ide-installer.test.js","sourceRoot":"","sources":["../../../src/ide/ide-installer.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,eAAe,EAAgB,MAAM,oBAAoB,CAAC;AACnE,OAAO,KAAK,aAAa,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;AACzB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACd,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAEd,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,UAAU,CAAC,GAAG,EAAE;QACd,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,EAAE,CAAC,eAAe,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,EAAE,CAAC,8CAA8C,EAAE,GAAG,EAAE;YACtD,MAAM,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;YACjC,+DAA+D;YAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC3C,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,iBAAiB,EAAE,GAAG,EAAE;QAC/B,IAAI,SAAuB,CAAC;QAE5B,UAAU,CAAC,GAAG,EAAE;YACd,uEAAuE;YACvE,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAE,CAAC;YACjD,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YACjE,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;QAEH,QAAQ,CAAC,SAAS,EAAE,GAAG,EAAE;YACvB,EAAE,CAAC,6DAA6D,EAAE,KAAK,IAAI,EAAE;gBAC3E,EAAE,CAAC,KAAK,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,kBAAkB,CAAC,GAAG,EAAE;oBAC1D,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;gBACvC,CAAC,CAAC,CAAC;gBACH,EAAE,CAAC,KAAK,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;gBAClD,0DAA0D;gBAC1D,SAAS,GAAG,eAAe,CAAC,WAAW,CAAC,MAAM,CAAE,CAAC;gBACjD,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,OAAO,EAAE,CAAC;gBACzC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACnC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,uBAAuB,CAAC,CAAC;YAC5D,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -317,28 +317,28 @@ export declare const CloseDiffResponseSchema: z.ZodEffects<z.ZodObject<{
317
317
  text: z.ZodString;
318
318
  type: z.ZodLiteral<"text">;
319
319
  }, "strip", z.ZodTypeAny, {
320
- text: string;
321
320
  type: "text";
322
- }, {
323
321
  text: string;
322
+ }, {
324
323
  type: "text";
324
+ text: string;
325
325
  }>, "many">;
326
326
  }, "strip", z.ZodTypeAny, {
327
327
  content: {
328
- text: string;
329
328
  type: "text";
329
+ text: string;
330
330
  }[];
331
331
  }, {
332
332
  content: {
333
- text: string;
334
333
  type: "text";
334
+ text: string;
335
335
  }[];
336
336
  }>, {
337
337
  content?: string | undefined;
338
338
  }, {
339
339
  content: {
340
- text: string;
341
340
  type: "text";
341
+ text: string;
342
342
  }[];
343
343
  }>;
344
344
  export type DiffUpdateResult = {
@@ -4,11 +4,16 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  /**
7
- * Traverses up the process tree from the current process to find the top-level ancestor process ID.
8
- * This is useful for identifying the main application process that spawned the current script,
9
- * such as the main VS Code window process.
7
+ * Traverses up the process tree to find the process ID of the IDE.
10
8
  *
11
- * @returns A promise that resolves to the numeric PID of the top-level process.
12
- * @throws Will throw an error if the underlying shell commands fail unexpectedly.
9
+ * This function uses different strategies depending on the operating system
10
+ * to identify the main application process (e.g., the main VS Code window
11
+ * process).
12
+ *
13
+ * If the IDE process cannot be reliably identified, it will return the
14
+ * top-level ancestor process ID as a fallback.
15
+ *
16
+ * @returns A promise that resolves to the numeric PID of the IDE process.
17
+ * @throws Will throw an error if the underlying shell commands fail.
13
18
  */
14
19
  export declare function getIdeProcessId(): Promise<number>;
@@ -6,52 +6,135 @@
6
6
  import { exec } from 'child_process';
7
7
  import { promisify } from 'util';
8
8
  import os from 'os';
9
+ import path from 'path';
9
10
  const execAsync = promisify(exec);
11
+ const MAX_TRAVERSAL_DEPTH = 32;
10
12
  /**
11
- * Traverses up the process tree from the current process to find the top-level ancestor process ID.
12
- * This is useful for identifying the main application process that spawned the current script,
13
- * such as the main VS Code window process.
13
+ * Fetches the parent process ID and name for a given process ID.
14
14
  *
15
- * @returns A promise that resolves to the numeric PID of the top-level process.
16
- * @throws Will throw an error if the underlying shell commands fail unexpectedly.
15
+ * @param pid The process ID to inspect.
16
+ * @returns A promise that resolves to the parent's PID and name.
17
17
  */
18
- export async function getIdeProcessId() {
18
+ async function getParentProcessInfo(pid) {
19
19
  const platform = os.platform();
20
+ if (platform === 'win32') {
21
+ const command = `wmic process where "ProcessId=${pid}" get Name,ParentProcessId /value`;
22
+ const { stdout } = await execAsync(command);
23
+ const nameMatch = stdout.match(/Name=([^\n]*)/);
24
+ const processName = nameMatch ? nameMatch[1].trim() : '';
25
+ const ppidMatch = stdout.match(/ParentProcessId=(\d+)/);
26
+ const parentPid = ppidMatch ? parseInt(ppidMatch[1], 10) : 0;
27
+ return { parentPid, name: processName };
28
+ }
29
+ else {
30
+ const command = `ps -o ppid=,command= -p ${pid}`;
31
+ const { stdout } = await execAsync(command);
32
+ const trimmedStdout = stdout.trim();
33
+ const ppidString = trimmedStdout.split(/\s+/)[0];
34
+ const parentPid = parseInt(ppidString, 10);
35
+ const fullCommand = trimmedStdout.substring(ppidString.length).trim();
36
+ const processName = path.basename(fullCommand.split(' ')[0]);
37
+ return { parentPid: isNaN(parentPid) ? 1 : parentPid, name: processName };
38
+ }
39
+ }
40
+ /**
41
+ * Traverses the process tree on Unix-like systems to find the IDE process ID.
42
+ *
43
+ * The strategy is to find the shell process that spawned the CLI, and then
44
+ * find that shell's parent process (the IDE). To get the true IDE process,
45
+ * we traverse one level higher to get the grandparent.
46
+ *
47
+ * @returns A promise that resolves to the numeric PID.
48
+ */
49
+ async function getIdeProcessIdForUnix() {
50
+ const shells = ['zsh', 'bash', 'sh', 'tcsh', 'csh', 'ksh', 'fish', 'dash'];
20
51
  let currentPid = process.pid;
21
- // Loop upwards through the process tree, with a depth limit to prevent infinite loops.
22
- const MAX_TRAVERSAL_DEPTH = 32;
23
52
  for (let i = 0; i < MAX_TRAVERSAL_DEPTH; i++) {
24
- let parentPid;
25
53
  try {
26
- // Use wmic for Windows
27
- if (platform === 'win32') {
28
- const command = `wmic process where "ProcessId=${currentPid}" get ParentProcessId /value`;
29
- const { stdout } = await execAsync(command);
30
- const match = stdout.match(/ParentProcessId=(\d+)/);
31
- parentPid = match ? parseInt(match[1], 10) : 0; // Top of the tree is 0
54
+ const { parentPid, name } = await getParentProcessInfo(currentPid);
55
+ const isShell = shells.some((shell) => name === shell);
56
+ if (isShell) {
57
+ // The direct parent of the shell is often a utility process (e.g. VS
58
+ // Code's `ptyhost` process). To get the true IDE process, we need to
59
+ // traverse one level higher to get the grandparent.
60
+ try {
61
+ const { parentPid: grandParentPid } = await getParentProcessInfo(parentPid);
62
+ if (grandParentPid > 1) {
63
+ return grandParentPid;
64
+ }
65
+ }
66
+ catch {
67
+ // Ignore if getting grandparent fails, we'll just use the parent pid.
68
+ }
69
+ return parentPid;
32
70
  }
33
- // Use ps for macOS, Linux, and other Unix-like systems
34
- else {
35
- const command = `ps -o ppid= -p ${currentPid}`;
36
- const { stdout } = await execAsync(command);
37
- const ppid = parseInt(stdout.trim(), 10);
38
- parentPid = isNaN(ppid) ? 1 : ppid; // Top of the tree is 1
71
+ if (parentPid <= 1) {
72
+ break; // Reached the root
39
73
  }
74
+ currentPid = parentPid;
40
75
  }
41
- catch (_) {
42
- // This can happen if a process in the chain dies during execution.
43
- // We'll break the loop and return the last valid PID we found.
76
+ catch {
77
+ // Process in chain died
44
78
  break;
45
79
  }
46
- // Define the root PID for the current OS
47
- const rootPid = platform === 'win32' ? 0 : 1;
48
- // If the parent is the root process or invalid, we've found our target.
49
- if (parentPid === rootPid || parentPid <= 0) {
80
+ }
81
+ console.error('Failed to find shell process in the process tree. Falling back to top-level process, which may be inaccurate. If you see this, please file a bug via /bug.');
82
+ return currentPid;
83
+ }
84
+ /**
85
+ * Traverses the process tree on Windows to find the IDE process ID.
86
+ *
87
+ * The strategy is to find the grandchild of the root process.
88
+ *
89
+ * @returns A promise that resolves to the numeric PID.
90
+ */
91
+ async function getIdeProcessIdForWindows() {
92
+ let currentPid = process.pid;
93
+ for (let i = 0; i < MAX_TRAVERSAL_DEPTH; i++) {
94
+ try {
95
+ const { parentPid } = await getParentProcessInfo(currentPid);
96
+ if (parentPid > 0) {
97
+ try {
98
+ const { parentPid: grandParentPid } = await getParentProcessInfo(parentPid);
99
+ if (grandParentPid === 0) {
100
+ // Found grandchild of root
101
+ return currentPid;
102
+ }
103
+ }
104
+ catch {
105
+ // getting grandparent failed, proceed
106
+ }
107
+ }
108
+ if (parentPid <= 0) {
109
+ break; // Reached the root
110
+ }
111
+ currentPid = parentPid;
112
+ }
113
+ catch {
114
+ // Process in chain died
50
115
  break;
51
116
  }
52
- // Move one level up the tree for the next iteration.
53
- currentPid = parentPid;
54
117
  }
55
118
  return currentPid;
56
119
  }
120
+ /**
121
+ * Traverses up the process tree to find the process ID of the IDE.
122
+ *
123
+ * This function uses different strategies depending on the operating system
124
+ * to identify the main application process (e.g., the main VS Code window
125
+ * process).
126
+ *
127
+ * If the IDE process cannot be reliably identified, it will return the
128
+ * top-level ancestor process ID as a fallback.
129
+ *
130
+ * @returns A promise that resolves to the numeric PID of the IDE process.
131
+ * @throws Will throw an error if the underlying shell commands fail.
132
+ */
133
+ export async function getIdeProcessId() {
134
+ const platform = os.platform();
135
+ if (platform === 'win32') {
136
+ return getIdeProcessIdForWindows();
137
+ }
138
+ return getIdeProcessIdForUnix();
139
+ }
57
140
  //# sourceMappingURL=process-utils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../../../src/ide/process-utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AACjC,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,CAAC,KAAK,UAAU,eAAe;IACnC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC;IAC/B,IAAI,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC;IAE7B,uFAAuF;IACvF,MAAM,mBAAmB,GAAG,EAAE,CAAC;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,EAAE,CAAC,EAAE,EAAE,CAAC;QAC7C,IAAI,SAAiB,CAAC;QAEtB,IAAI,CAAC;YACH,uBAAuB;YACvB,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;gBACzB,MAAM,OAAO,GAAG,iCAAiC,UAAU,8BAA8B,CAAC;gBAC1F,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;gBACpD,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,uBAAuB;YACzE,CAAC;YACD,uDAAuD;iBAClD,CAAC;gBACJ,MAAM,OAAO,GAAG,kBAAkB,UAAU,EAAE,CAAC;gBAC/C,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,CAAC;gBAC5C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzC,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,uBAAuB;YAC7D,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,mEAAmE;YACnE,+DAA+D;YAC/D,MAAM;QACR,CAAC;QAED,yCAAyC;QACzC,MAAM,OAAO,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAE7C,wEAAwE;QACxE,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,IAAI,CAAC,EAAE,CAAC;YAC5C,MAAM;QACR,CAAC;QACD,qDAAqD;QACrD,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"process-utils.js","sourceRoot":"","sources":["../../../src/ide/process-utils.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,7 @@
6
6
  export * from './config/config.js';
7
7
  export * from './core/client.js';
8
8
  export * from './core/contentGenerator.js';
9
+ export * from './core/loggingContentGenerator.js';
9
10
  export * from './core/geminiChat.js';
10
11
  export * from './core/logger.js';
11
12
  export * from './core/prompts.js';
@@ -33,10 +34,13 @@ export * from './utils/shell-utils.js';
33
34
  export * from './utils/systemEncoding.js';
34
35
  export * from './utils/textUtils.js';
35
36
  export * from './utils/formatters.js';
37
+ export * from './utils/generateContentResponseUtilities.js';
36
38
  export * from './utils/filesearch/fileSearch.js';
37
39
  export * from './utils/errorParsing.js';
38
40
  export * from './services/fileDiscoveryService.js';
39
41
  export * from './services/gitService.js';
42
+ export * from './services/chatRecordingService.js';
43
+ export * from './services/fileSystemService.js';
40
44
  export * from './ide/ide-client.js';
41
45
  export * from './ide/ideContext.js';
42
46
  export * from './ide/ide-installer.js';
@@ -50,6 +54,7 @@ export * from './prompts/mcp-prompts.js';
50
54
  export * from './tools/read-file.js';
51
55
  export * from './tools/ls.js';
52
56
  export * from './tools/grep.js';
57
+ export * from './tools/ripGrep.js';
53
58
  export * from './tools/glob.js';
54
59
  export * from './tools/edit.js';
55
60
  export * from './tools/write-file.js';
@@ -68,3 +73,4 @@ export { OAuthUtils } from './mcp/oauth-utils.js';
68
73
  export * from './telemetry/index.js';
69
74
  export { sessionId } from './utils/session.js';
70
75
  export * from './utils/browser.js';
76
+ export { Storage } from './config/storage.js';
package/dist/src/index.js CHANGED
@@ -8,6 +8,7 @@ export * from './config/config.js';
8
8
  // Export Core Logic
9
9
  export * from './core/client.js';
10
10
  export * from './core/contentGenerator.js';
11
+ export * from './core/loggingContentGenerator.js';
11
12
  export * from './core/geminiChat.js';
12
13
  export * from './core/logger.js';
13
14
  export * from './core/prompts.js';
@@ -36,11 +37,14 @@ export * from './utils/shell-utils.js';
36
37
  export * from './utils/systemEncoding.js';
37
38
  export * from './utils/textUtils.js';
38
39
  export * from './utils/formatters.js';
40
+ export * from './utils/generateContentResponseUtilities.js';
39
41
  export * from './utils/filesearch/fileSearch.js';
40
42
  export * from './utils/errorParsing.js';
41
43
  // Export services
42
44
  export * from './services/fileDiscoveryService.js';
43
45
  export * from './services/gitService.js';
46
+ export * from './services/chatRecordingService.js';
47
+ export * from './services/fileSystemService.js';
44
48
  // Export IDE specific logic
45
49
  export * from './ide/ide-client.js';
46
50
  export * from './ide/ideContext.js';
@@ -59,6 +63,7 @@ export * from './prompts/mcp-prompts.js';
59
63
  export * from './tools/read-file.js';
60
64
  export * from './tools/ls.js';
61
65
  export * from './tools/grep.js';
66
+ export * from './tools/ripGrep.js';
62
67
  export * from './tools/glob.js';
63
68
  export * from './tools/edit.js';
64
69
  export * from './tools/write-file.js';
@@ -77,4 +82,5 @@ export { OAuthUtils } from './mcp/oauth-utils.js';
77
82
  export * from './telemetry/index.js';
78
83
  export { sessionId } from './utils/session.js';
79
84
  export * from './utils/browser.js';
85
+ export { Storage } from './config/storage.js';
80
86
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,cAAc,oBAAoB,CAAC;AAEnC,oBAAoB;AACpB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AAErD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AAEvC,mBAAmB;AACnB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AAExC,kBAAkB;AAClB,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AAEzC,4BAA4B;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,qBAAqB,CAAC;AACvE,cAAc,oBAAoB,CAAC;AAEnC,iCAAiC;AACjC,cAAc,qCAAqC,CAAC;AAEpD,+BAA+B;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AAEzC,sBAAsB;AACtB,cAAc,0BAA0B,CAAC;AAEzC,6BAA6B;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAGL,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,6BAA6B;AAC7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,cAAc,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,gBAAgB;AAChB,cAAc,oBAAoB,CAAC;AAEnC,oBAAoB;AACpB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mCAAmC,CAAC;AAClD,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,yBAAyB,CAAC;AACxC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AAErD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AAEvC,mBAAmB;AACnB,cAAc,kBAAkB,CAAC;AACjC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,mBAAmB,CAAC;AAClC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gCAAgC,CAAC;AAC/C,cAAc,sBAAsB,CAAC;AACrC,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,6CAA6C,CAAC;AAC5D,cAAc,kCAAkC,CAAC;AACjD,cAAc,yBAAyB,CAAC;AAExC,kBAAkB;AAClB,cAAc,oCAAoC,CAAC;AACnD,cAAc,0BAA0B,CAAC;AACzC,cAAc,oCAAoC,CAAC;AACnD,cAAc,iCAAiC,CAAC;AAEhD,4BAA4B;AAC5B,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,WAAW,EAAW,MAAM,qBAAqB,CAAC;AACvE,cAAc,oBAAoB,CAAC;AAEnC,iCAAiC;AACjC,cAAc,qCAAqC,CAAC;AAEpD,+BAA+B;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,0BAA0B,CAAC;AAEzC,sBAAsB;AACtB,cAAc,0BAA0B,CAAC;AAEzC,6BAA6B;AAC7B,cAAc,sBAAsB,CAAC;AACrC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC;AACtC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AAEpC,YAAY;AACZ,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAGL,oBAAoB,GACrB,MAAM,8BAA8B,CAAC;AAMtC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,6BAA6B;AAC7B,cAAc,sBAAsB,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,cAAc,oBAAoB,CAAC;AACnC,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC"}
@@ -28,8 +28,6 @@ export interface MCPOAuthCredentials {
28
28
  * Class for managing MCP OAuth token storage and retrieval.
29
29
  */
30
30
  export declare class MCPOAuthTokenStorage {
31
- private static readonly TOKEN_FILE;
32
- private static readonly CONFIG_DIR;
33
31
  /**
34
32
  * Get the path to the token storage file.
35
33
  *
@@ -5,22 +5,19 @@
5
5
  */
6
6
  import { promises as fs } from 'node:fs';
7
7
  import * as path from 'node:path';
8
- import * as os from 'node:os';
8
+ import { Storage } from '../config/storage.js';
9
9
  import { getErrorMessage } from '../utils/errors.js';
10
10
  /**
11
11
  * Class for managing MCP OAuth token storage and retrieval.
12
12
  */
13
13
  export class MCPOAuthTokenStorage {
14
- static TOKEN_FILE = 'mcp-oauth-tokens.json';
15
- static CONFIG_DIR = '.gemini';
16
14
  /**
17
15
  * Get the path to the token storage file.
18
16
  *
19
17
  * @returns The full path to the token storage file
20
18
  */
21
19
  static getTokenFilePath() {
22
- const homeDir = os.homedir();
23
- return path.join(homeDir, this.CONFIG_DIR, this.TOKEN_FILE);
20
+ return Storage.getMcpOAuthTokensPath();
24
21
  }
25
22
  /**
26
23
  * Ensure the config directory exists.
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-token-storage.js","sourceRoot":"","sources":["../../../src/mcp/oauth-token-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-token-storage.js","sourceRoot":"","sources":["../../../src/mcp/oauth-token-storage.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,7 @@ vi.mock('node:fs', () => ({
15
15
  mkdir: vi.fn(),
16
16
  unlink: vi.fn(),
17
17
  },
18
+ mkdirSync: vi.fn(),
18
19
  }));
19
20
  vi.mock('node:os', () => ({
20
21
  homedir: vi.fn(() => '/mock/home'),
@@ -1 +1 @@
1
- {"version":3,"file":"oauth-token-storage.test.js","sourceRoot":"","sources":["../../../src/mcp/oauth-token-storage.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"oauth-token-storage.test.js","sourceRoot":"","sources":["../../../src/mcp/oauth-token-storage.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,150 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type Config } from '../config/config.js';
7
+ import { type Status } from '../core/coreToolScheduler.js';
8
+ import { type ThoughtSummary } from '../core/turn.js';
9
+ import { PartListUnion } from '@google/genai';
10
+ /**
11
+ * Token usage summary for a message or conversation.
12
+ */
13
+ export interface TokensSummary {
14
+ input: number;
15
+ output: number;
16
+ cached: number;
17
+ thoughts?: number;
18
+ tool?: number;
19
+ total: number;
20
+ }
21
+ /**
22
+ * Base fields common to all messages.
23
+ */
24
+ export interface BaseMessageRecord {
25
+ id: string;
26
+ timestamp: string;
27
+ content: string;
28
+ }
29
+ /**
30
+ * Record of a tool call execution within a conversation.
31
+ */
32
+ export interface ToolCallRecord {
33
+ id: string;
34
+ name: string;
35
+ args: Record<string, unknown>;
36
+ result?: PartListUnion | null;
37
+ status: Status;
38
+ timestamp: string;
39
+ displayName?: string;
40
+ description?: string;
41
+ resultDisplay?: string;
42
+ renderOutputAsMarkdown?: boolean;
43
+ }
44
+ /**
45
+ * Message type and message type-specific fields.
46
+ */
47
+ export type ConversationRecordExtra = {
48
+ type: 'user';
49
+ } | {
50
+ type: 'gemini';
51
+ toolCalls?: ToolCallRecord[];
52
+ thoughts?: Array<ThoughtSummary & {
53
+ timestamp: string;
54
+ }>;
55
+ tokens?: TokensSummary | null;
56
+ model?: string;
57
+ };
58
+ /**
59
+ * A single message record in a conversation.
60
+ */
61
+ export type MessageRecord = BaseMessageRecord & ConversationRecordExtra;
62
+ /**
63
+ * Complete conversation record stored in session files.
64
+ */
65
+ export interface ConversationRecord {
66
+ sessionId: string;
67
+ projectHash: string;
68
+ startTime: string;
69
+ lastUpdated: string;
70
+ messages: MessageRecord[];
71
+ }
72
+ /**
73
+ * Data structure for resuming an existing session.
74
+ */
75
+ export interface ResumedSessionData {
76
+ conversation: ConversationRecord;
77
+ filePath: string;
78
+ }
79
+ /**
80
+ * Service for automatically recording chat conversations to disk.
81
+ *
82
+ * This service provides comprehensive conversation recording that captures:
83
+ * - All user and assistant messages
84
+ * - Tool calls and their execution results
85
+ * - Token usage statistics
86
+ * - Assistant thoughts and reasoning
87
+ *
88
+ * Sessions are stored as JSON files in ~/.gemini/tmp/<project_hash>/chats/
89
+ */
90
+ export declare class ChatRecordingService {
91
+ private conversationFile;
92
+ private cachedLastConvData;
93
+ private sessionId;
94
+ private projectHash;
95
+ private queuedThoughts;
96
+ private queuedTokens;
97
+ private config;
98
+ constructor(config: Config);
99
+ /**
100
+ * Initializes the chat recording service: creates a new conversation file and associates it with
101
+ * this service instance, or resumes from an existing session if resumedSessionData is provided.
102
+ */
103
+ initialize(resumedSessionData?: ResumedSessionData): void;
104
+ private getLastMessage;
105
+ private newMessage;
106
+ /**
107
+ * Records a message in the conversation.
108
+ */
109
+ recordMessage(message: {
110
+ type: ConversationRecordExtra['type'];
111
+ content: string;
112
+ append?: boolean;
113
+ }): void;
114
+ /**
115
+ * Records a thought from the assistant's reasoning process.
116
+ */
117
+ recordThought(thought: ThoughtSummary): void;
118
+ /**
119
+ * Updates the tokens for the last message in the conversation (which should be by Gemini).
120
+ */
121
+ recordMessageTokens(tokens: {
122
+ input: number;
123
+ output: number;
124
+ cached: number;
125
+ thoughts?: number;
126
+ tool?: number;
127
+ total: number;
128
+ }): void;
129
+ /**
130
+ * Adds tool calls to the last message in the conversation (which should be by Gemini).
131
+ */
132
+ recordToolCalls(toolCalls: ToolCallRecord[]): void;
133
+ /**
134
+ * Loads up the conversation record from disk.
135
+ */
136
+ private readConversation;
137
+ /**
138
+ * Saves the conversation record; overwrites the file.
139
+ */
140
+ private writeConversation;
141
+ /**
142
+ * Convenient helper for updating the conversation without file reading and writing and time
143
+ * updating boilerplate.
144
+ */
145
+ private updateConversation;
146
+ /**
147
+ * Deletes a session file by session ID.
148
+ */
149
+ deleteSession(sessionId: string): void;
150
+ }