@google/gemini-cli-core 0.12.0-nightly.20251023.c4c0c0d1 → 0.12.0-nightly.20251027.cb0947c5

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 (189) hide show
  1. package/dist/index.d.ts +2 -0
  2. package/dist/index.js +1 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/agents/subagent-tool-wrapper.test.js +2 -4
  5. package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -1
  6. package/dist/src/code_assist/oauth2.d.ts +2 -2
  7. package/dist/src/code_assist/oauth2.js +45 -32
  8. package/dist/src/code_assist/oauth2.js.map +1 -1
  9. package/dist/src/code_assist/oauth2.test.js +33 -1
  10. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  11. package/dist/src/code_assist/server.d.ts +3 -3
  12. package/dist/src/code_assist/server.js.map +1 -1
  13. package/dist/src/code_assist/setup.d.ts +2 -2
  14. package/dist/src/code_assist/setup.js.map +1 -1
  15. package/dist/src/config/config.d.ts +4 -1
  16. package/dist/src/config/config.js +7 -4
  17. package/dist/src/config/config.js.map +1 -1
  18. package/dist/src/config/config.test.js +0 -10
  19. package/dist/src/config/config.test.js.map +1 -1
  20. package/dist/src/core/client.d.ts +1 -11
  21. package/dist/src/core/client.js +17 -165
  22. package/dist/src/core/client.js.map +1 -1
  23. package/dist/src/core/client.test.js +70 -405
  24. package/dist/src/core/client.test.js.map +1 -1
  25. package/dist/src/core/contentGenerator.js +4 -0
  26. package/dist/src/core/contentGenerator.js.map +1 -1
  27. package/dist/src/core/contentGenerator.test.js +15 -0
  28. package/dist/src/core/contentGenerator.test.js.map +1 -1
  29. package/dist/src/core/coreToolScheduler.d.ts +7 -7
  30. package/dist/src/core/coreToolScheduler.js +211 -95
  31. package/dist/src/core/coreToolScheduler.js.map +1 -1
  32. package/dist/src/core/coreToolScheduler.test.js +239 -9
  33. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  34. package/dist/src/core/fakeContentGenerator.d.ts +26 -0
  35. package/dist/src/core/fakeContentGenerator.js +61 -0
  36. package/dist/src/core/fakeContentGenerator.js.map +1 -0
  37. package/dist/src/core/fakeContentGenerator.test.d.ts +6 -0
  38. package/dist/src/core/fakeContentGenerator.test.js +140 -0
  39. package/dist/src/core/fakeContentGenerator.test.js.map +1 -0
  40. package/dist/src/core/nonInteractiveToolExecutor.js +5 -4
  41. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  42. package/dist/src/core/prompts.test.js +30 -108
  43. package/dist/src/core/prompts.test.js.map +1 -1
  44. package/dist/src/generated/git-commit.d.ts +2 -2
  45. package/dist/src/generated/git-commit.js +2 -2
  46. package/dist/src/index.d.ts +1 -0
  47. package/dist/src/index.js +1 -0
  48. package/dist/src/index.js.map +1 -1
  49. package/dist/src/mcp/google-auth-provider.d.ts +4 -0
  50. package/dist/src/mcp/google-auth-provider.js +58 -7
  51. package/dist/src/mcp/google-auth-provider.js.map +1 -1
  52. package/dist/src/mcp/google-auth-provider.test.js +105 -11
  53. package/dist/src/mcp/google-auth-provider.test.js.map +1 -1
  54. package/dist/src/mcp/oauth-provider.js +2 -2
  55. package/dist/src/mcp/oauth-provider.js.map +1 -1
  56. package/dist/src/mcp/oauth-provider.test.js +130 -0
  57. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  58. package/dist/src/mcp/oauth-token-storage.js +5 -4
  59. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  60. package/dist/src/mcp/oauth-token-storage.test.js +17 -11
  61. package/dist/src/mcp/oauth-token-storage.test.js.map +1 -1
  62. package/dist/src/mcp/oauth-utils.d.ts +7 -0
  63. package/dist/src/mcp/oauth-utils.js +19 -0
  64. package/dist/src/mcp/oauth-utils.js.map +1 -1
  65. package/dist/src/mcp/oauth-utils.test.js +32 -0
  66. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  67. package/dist/src/mcp/sa-impersonation-provider.d.ts +0 -6
  68. package/dist/src/mcp/sa-impersonation-provider.js +3 -21
  69. package/dist/src/mcp/sa-impersonation-provider.js.map +1 -1
  70. package/dist/src/mcp/token-storage/base-token-storage.test.js +75 -84
  71. package/dist/src/mcp/token-storage/base-token-storage.test.js.map +1 -1
  72. package/dist/src/mcp/token-storage/keychain-token-storage.js +5 -4
  73. package/dist/src/mcp/token-storage/keychain-token-storage.js.map +1 -1
  74. package/dist/src/mcp/token-storage/keychain-token-storage.test.js +21 -3
  75. package/dist/src/mcp/token-storage/keychain-token-storage.test.js.map +1 -1
  76. package/dist/src/services/chatCompressionService.d.ts +32 -0
  77. package/dist/src/services/chatCompressionService.js +164 -0
  78. package/dist/src/services/chatCompressionService.js.map +1 -0
  79. package/dist/src/services/chatCompressionService.test.d.ts +6 -0
  80. package/dist/src/services/chatCompressionService.test.js +211 -0
  81. package/dist/src/services/chatCompressionService.test.js.map +1 -0
  82. package/dist/src/services/fileDiscoveryService.d.ts +0 -8
  83. package/dist/src/services/fileDiscoveryService.js +5 -33
  84. package/dist/src/services/fileDiscoveryService.js.map +1 -1
  85. package/dist/src/services/fileDiscoveryService.test.js +11 -11
  86. package/dist/src/services/fileDiscoveryService.test.js.map +1 -1
  87. package/dist/src/services/loopDetectionService.js +19 -9
  88. package/dist/src/services/loopDetectionService.js.map +1 -1
  89. package/dist/src/services/loopDetectionService.test.js +40 -11
  90. package/dist/src/services/loopDetectionService.test.js.map +1 -1
  91. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +1 -0
  92. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +35 -28
  93. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  94. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +1 -1
  95. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  96. package/dist/src/telemetry/metrics.test.js +2 -2
  97. package/dist/src/telemetry/metrics.test.js.map +1 -1
  98. package/dist/src/tools/edit.d.ts +3 -2
  99. package/dist/src/tools/edit.js +15 -11
  100. package/dist/src/tools/edit.js.map +1 -1
  101. package/dist/src/tools/edit.test.js +19 -0
  102. package/dist/src/tools/edit.test.js.map +1 -1
  103. package/dist/src/tools/glob.js +4 -2
  104. package/dist/src/tools/glob.js.map +1 -1
  105. package/dist/src/tools/grep.js +2 -2
  106. package/dist/src/tools/grep.js.map +1 -1
  107. package/dist/src/tools/ls.js +2 -1
  108. package/dist/src/tools/ls.js.map +1 -1
  109. package/dist/src/tools/ls.test.js +0 -7
  110. package/dist/src/tools/ls.test.js.map +1 -1
  111. package/dist/src/tools/mcp-tool.d.ts +2 -1
  112. package/dist/src/tools/mcp-tool.js +1 -1
  113. package/dist/src/tools/mcp-tool.js.map +1 -1
  114. package/dist/src/tools/memoryTool.d.ts +5 -3
  115. package/dist/src/tools/memoryTool.js +9 -7
  116. package/dist/src/tools/memoryTool.js.map +1 -1
  117. package/dist/src/tools/read-file.js +7 -3
  118. package/dist/src/tools/read-file.js.map +1 -1
  119. package/dist/src/tools/read-file.test.js +25 -2
  120. package/dist/src/tools/read-file.test.js.map +1 -1
  121. package/dist/src/tools/shell.d.ts +6 -4
  122. package/dist/src/tools/shell.js +18 -12
  123. package/dist/src/tools/shell.js.map +1 -1
  124. package/dist/src/tools/shell.test.js +7 -0
  125. package/dist/src/tools/shell.test.js.map +1 -1
  126. package/dist/src/tools/smart-edit.d.ts +2 -1
  127. package/dist/src/tools/smart-edit.js +10 -9
  128. package/dist/src/tools/smart-edit.js.map +1 -1
  129. package/dist/src/tools/tool-registry.d.ts +2 -1
  130. package/dist/src/tools/tool-registry.js +1 -1
  131. package/dist/src/tools/tool-registry.js.map +1 -1
  132. package/dist/src/tools/tools.d.ts +7 -0
  133. package/dist/src/tools/tools.js +11 -16
  134. package/dist/src/tools/tools.js.map +1 -1
  135. package/dist/src/tools/web-fetch.js +1 -12
  136. package/dist/src/tools/web-fetch.js.map +1 -1
  137. package/dist/src/tools/web-fetch.test.js +2 -2
  138. package/dist/src/tools/web-fetch.test.js.map +1 -1
  139. package/dist/src/tools/write-file.d.ts +2 -1
  140. package/dist/src/tools/write-file.js +6 -6
  141. package/dist/src/tools/write-file.js.map +1 -1
  142. package/dist/src/tools/write-todos.d.ts +2 -1
  143. package/dist/src/tools/write-todos.js +1 -1
  144. package/dist/src/tools/write-todos.js.map +1 -1
  145. package/dist/src/utils/environmentContext.d.ts +2 -1
  146. package/dist/src/utils/environmentContext.js +18 -0
  147. package/dist/src/utils/environmentContext.js.map +1 -1
  148. package/dist/src/utils/errorParsing.d.ts +1 -1
  149. package/dist/src/utils/errorParsing.js +5 -33
  150. package/dist/src/utils/errorParsing.js.map +1 -1
  151. package/dist/src/utils/errorParsing.test.js +0 -88
  152. package/dist/src/utils/errorParsing.test.js.map +1 -1
  153. package/dist/src/utils/errors.d.ts +3 -0
  154. package/dist/src/utils/errors.js +6 -0
  155. package/dist/src/utils/errors.js.map +1 -1
  156. package/dist/src/utils/flashFallback.test.js +26 -45
  157. package/dist/src/utils/flashFallback.test.js.map +1 -1
  158. package/dist/src/utils/getFolderStructure.js +7 -16
  159. package/dist/src/utils/getFolderStructure.js.map +1 -1
  160. package/dist/src/utils/googleErrors.d.ts +104 -0
  161. package/dist/src/utils/googleErrors.js +152 -0
  162. package/dist/src/utils/googleErrors.js.map +1 -0
  163. package/dist/src/utils/googleErrors.test.d.ts +6 -0
  164. package/dist/src/utils/googleErrors.test.js +301 -0
  165. package/dist/src/utils/googleErrors.test.js.map +1 -0
  166. package/dist/src/utils/googleQuotaErrors.d.ts +35 -0
  167. package/dist/src/utils/googleQuotaErrors.js +131 -0
  168. package/dist/src/utils/googleQuotaErrors.js.map +1 -0
  169. package/dist/src/utils/googleQuotaErrors.test.d.ts +6 -0
  170. package/dist/src/utils/googleQuotaErrors.test.js +281 -0
  171. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -0
  172. package/dist/src/utils/ignorePatterns.test.js +26 -30
  173. package/dist/src/utils/ignorePatterns.test.js.map +1 -1
  174. package/dist/src/utils/paths.js +126 -26
  175. package/dist/src/utils/paths.js.map +1 -1
  176. package/dist/src/utils/paths.test.js +200 -68
  177. package/dist/src/utils/paths.test.js.map +1 -1
  178. package/dist/src/utils/quotaErrorDetection.d.ts +0 -2
  179. package/dist/src/utils/quotaErrorDetection.js +0 -46
  180. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  181. package/dist/src/utils/retry.js +41 -145
  182. package/dist/src/utils/retry.js.map +1 -1
  183. package/dist/src/utils/retry.test.js +31 -110
  184. package/dist/src/utils/retry.test.js.map +1 -1
  185. package/dist/src/utils/shell-utils.test.js +70 -0
  186. package/dist/src/utils/shell-utils.test.js.map +1 -1
  187. package/dist/tsconfig.tsbuildinfo +1 -1
  188. package/package.json +2 -2
  189. package/dist/google-gemini-cli-core-0.12.0-nightly.20251022.0542de95.tgz +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"base-token-storage.test.js","sourceRoot":"","sources":["../../../../src/mcp/token-storage/base-token-storage.test.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,MAAM,gBAAiB,SAAQ,gBAAgB;IACrC,OAAO,GAAG,IAAI,GAAG,EAA4B,CAAC;IAEtD,KAAK,CAAC,cAAc,CAAC,UAAkB;QACrC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,IAAI,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,WAA6B;QAChD,IAAI,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,UAAkB;QACxC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IAClC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAEQ,mBAAmB,CAAC,WAA6B;QACxD,KAAK,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC;IACzC,CAAC;IAEQ,cAAc,CAAC,WAA6B;QACnD,OAAO,KAAK,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;IAC3C,CAAC;IAEQ,kBAAkB,CAAC,UAAkB;QAC5C,OAAO,KAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC9C,CAAC;CACF;AAED,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,OAAyB,CAAC;IAE9B,UAAU,CAAC,GAAG,EAAE;QACd,OAAO,GAAG,IAAI,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;QACnC,EAAE,CAAC,mCAAmC,EAAE,GAAG,EAAE;YAC3C,MAAM,WAAW,GAAqB;gBACpC,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE;oBACL,WAAW,EAAE,cAAc;oBAC3B,SAAS,EAAE,QAAQ;iBACpB;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACvE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,WAAW,GAAG;gBAClB,UAAU,EAAE,EAAE;gBACd,KAAK,EAAE;oBACL,WAAW,EAAE,cAAc;oBAC3B,SAAS,EAAE,QAAQ;iBACpB;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACF,CAAC;YAEtB,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAC5D,yBAAyB,CAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;YACxC,MAAM,WAAW,GAAG;gBAClB,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE,IAA6B;gBACpC,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACF,CAAC;YAEtB,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAC5D,mBAAmB,CACpB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,WAAW,GAAG;gBAClB,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE;oBACL,WAAW,EAAE,EAAE;oBACf,SAAS,EAAE,QAAQ;iBACpB;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACF,CAAC;YAEtB,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAC5D,0BAA0B,CAC3B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qCAAqC,EAAE,GAAG,EAAE;YAC7C,MAAM,WAAW,GAAG;gBAClB,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE;oBACL,WAAW,EAAE,cAAc;oBAC3B,SAAS,EAAE,EAAE;iBACd;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACF,CAAC;YAEtB,MAAM,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,WAAW,CAAC,CAAC,CAAC,OAAO,CAC5D,wBAAwB,CACzB,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,gBAAgB,EAAE,GAAG,EAAE;QAC9B,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,WAAW,GAAqB;gBACpC,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE;oBACL,WAAW,EAAE,cAAc;oBAC3B,SAAS,EAAE,QAAQ;iBACpB;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;YAC9C,MAAM,WAAW,GAAqB;gBACpC,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE;oBACL,WAAW,EAAE,cAAc;oBAC3B,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;iBAChC;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,uCAAuC,EAAE,GAAG,EAAE;YAC/C,MAAM,WAAW,GAAqB;gBACpC,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE;oBACL,WAAW,EAAE,cAAc;oBAC3B,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,OAAO;iBAChC;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,GAAG,EAAE;YACvD,MAAM,kBAAkB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;YACtD,MAAM,WAAW,GAAqB;gBACpC,UAAU,EAAE,aAAa;gBACzB,KAAK,EAAE;oBACL,WAAW,EAAE,cAAc;oBAC3B,SAAS,EAAE,QAAQ;oBACnB,SAAS,EAAE,kBAAkB;iBAC9B;gBACD,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;aACtB,CAAC;YAEF,MAAM,CAAC,OAAO,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;QAClC,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;YACtC,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAChE,yBAAyB,CAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,mDAAmD,EAAE,GAAG,EAAE;YAC3D,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAC5D,qBAAqB,CACtB,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,kCAAkC,EAAE,GAAG,EAAE;YAC1C,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,yBAAyB,CAAC,CAAC,CAAC,IAAI,CAChE,yBAAyB,CAC1B,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"base-token-storage.test.js","sourceRoot":"","sources":["../../../../src/mcp/token-storage/base-token-storage.test.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  */
6
6
  import * as crypto from 'node:crypto';
7
7
  import { BaseTokenStorage } from './base-token-storage.js';
8
+ import { coreEvents } from '../../utils/events.js';
8
9
  const KEYCHAIN_TEST_PREFIX = '__keychain_test__';
9
10
  export class KeychainTokenStorage extends BaseTokenStorage {
10
11
  keychainAvailable = null;
@@ -23,7 +24,7 @@ export class KeychainTokenStorage extends BaseTokenStorage {
23
24
  this.keytarModule = module.default || module;
24
25
  }
25
26
  catch (error) {
26
- console.error(error);
27
+ coreEvents.emitFeedback('error', "Failed to load 'keytar' module", error);
27
28
  }
28
29
  return this.keytarModule;
29
30
  }
@@ -100,7 +101,7 @@ export class KeychainTokenStorage extends BaseTokenStorage {
100
101
  .map((cred) => cred.account);
101
102
  }
102
103
  catch (error) {
103
- console.error('Failed to list servers from keychain:', error);
104
+ coreEvents.emitFeedback('error', 'Failed to list servers from keychain', error);
104
105
  return [];
105
106
  }
106
107
  }
@@ -123,12 +124,12 @@ export class KeychainTokenStorage extends BaseTokenStorage {
123
124
  }
124
125
  }
125
126
  catch (error) {
126
- console.error(`Failed to parse credentials for ${cred.account}:`, error);
127
+ coreEvents.emitFeedback('error', `Failed to parse credentials for ${cred.account}`, error);
127
128
  }
128
129
  }
129
130
  }
130
131
  catch (error) {
131
- console.error('Failed to get all credentials from keychain:', error);
132
+ coreEvents.emitFeedback('error', 'Failed to get all credentials from keychain', error);
132
133
  }
133
134
  return result;
134
135
  }
@@ -1 +1 @@
1
- {"version":3,"file":"keychain-token-storage.js","sourceRoot":"","sources":["../../../../src/mcp/token-storage/keychain-token-storage.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keychain-token-storage.js","sourceRoot":"","sources":["../../../../src/mcp/token-storage/keychain-token-storage.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { describe, it, expect, beforeEach, afterEach, vi } from 'vitest';
7
+ import { coreEvents } from '../../utils/events.js';
7
8
  // Hoist the mock to be available in the vi.mock factory
8
9
  const mockKeytar = vi.hoisted(() => ({
9
10
  getPassword: vi.fn(),
@@ -22,6 +23,11 @@ vi.mock('node:crypto', () => ({
22
23
  toString: vi.fn(() => mockCryptoRandomBytesString),
23
24
  })),
24
25
  }));
26
+ vi.mock('../../utils/events.js', () => ({
27
+ coreEvents: {
28
+ emitFeedback: vi.fn(),
29
+ },
30
+ }));
25
31
  describe('KeychainTokenStorage', () => {
26
32
  let storage;
27
33
  beforeEach(async () => {
@@ -56,7 +62,8 @@ describe('KeychainTokenStorage', () => {
56
62
  expect(mockKeytar.deletePassword).toHaveBeenCalledWith(mockServiceName, `__keychain_test__${mockCryptoRandomBytesString}`);
57
63
  });
58
64
  it('should return false if keytar fails to set password', async () => {
59
- mockKeytar.setPassword.mockRejectedValue(new Error('write error'));
65
+ const error = new Error('write error');
66
+ mockKeytar.setPassword.mockRejectedValue(error);
60
67
  const isAvailable = await storage.checkKeychainAvailability();
61
68
  expect(isAvailable).toBe(false);
62
69
  });
@@ -182,13 +189,15 @@ describe('KeychainTokenStorage', () => {
182
189
  expect(result).toEqual(['server1', 'server2']);
183
190
  });
184
191
  it('should return an empty array on error', async () => {
185
- mockKeytar.findCredentials.mockRejectedValue(new Error('find error'));
192
+ const error = new Error('find error');
193
+ mockKeytar.findCredentials.mockRejectedValue(error);
186
194
  const result = await storage.listServers();
187
195
  expect(result).toEqual([]);
196
+ expect(coreEvents.emitFeedback).toHaveBeenCalledWith('error', 'Failed to list servers from keychain', error);
188
197
  });
189
198
  });
190
199
  describe('getAllCredentials', () => {
191
- it('should return a map of all valid credentials', async () => {
200
+ it('should return a map of all valid credentials and emit feedback for invalid ones', async () => {
192
201
  const creds2 = {
193
202
  ...validCredentials,
194
203
  serverName: 'server2',
@@ -224,6 +233,15 @@ describe('KeychainTokenStorage', () => {
224
233
  expect(result.has('expired-server')).toBe(false);
225
234
  expect(result.has('bad-server')).toBe(false);
226
235
  expect(result.has('invalid-server')).toBe(false);
236
+ expect(coreEvents.emitFeedback).toHaveBeenCalledWith('error', 'Failed to parse credentials for bad-server', expect.any(SyntaxError));
237
+ expect(coreEvents.emitFeedback).toHaveBeenCalledWith('error', 'Failed to parse credentials for invalid-server', expect.any(Error));
238
+ });
239
+ it('should emit feedback and return empty map if findCredentials fails', async () => {
240
+ const error = new Error('find all error');
241
+ mockKeytar.findCredentials.mockRejectedValue(error);
242
+ const result = await storage.getAllCredentials();
243
+ expect(result.size).toBe(0);
244
+ expect(coreEvents.emitFeedback).toHaveBeenCalledWith('error', 'Failed to get all credentials from keychain', error);
227
245
  });
228
246
  });
229
247
  describe('clearAll', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"keychain-token-storage.test.js","sourceRoot":"","sources":["../../../../src/mcp/token-storage/keychain-token-storage.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keychain-token-storage.test.js","sourceRoot":"","sources":["../../../../src/mcp/token-storage/keychain-token-storage.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import type { Content } from '@google/genai';
7
+ import type { Config } from '../config/config.js';
8
+ import type { GeminiChat } from '../core/geminiChat.js';
9
+ import { type ChatCompressionInfo } from '../core/turn.js';
10
+ /**
11
+ * Threshold for compression token count as a fraction of the model's token limit.
12
+ * If the chat history exceeds this threshold, it will be compressed.
13
+ */
14
+ export declare const COMPRESSION_TOKEN_THRESHOLD = 0.7;
15
+ /**
16
+ * The fraction of the latest chat history to keep. A value of 0.3
17
+ * means that only the last 30% of the chat history will be kept after compression.
18
+ */
19
+ export declare const COMPRESSION_PRESERVE_THRESHOLD = 0.3;
20
+ /**
21
+ * Returns the index of the oldest item to keep when compressing. May return
22
+ * contents.length which indicates that everything should be compressed.
23
+ *
24
+ * Exported for testing purposes.
25
+ */
26
+ export declare function findCompressSplitPoint(contents: Content[], fraction: number): number;
27
+ export declare class ChatCompressionService {
28
+ compress(chat: GeminiChat, promptId: string, force: boolean, model: string, config: Config, hasFailedCompressionAttempt: boolean): Promise<{
29
+ newHistory: Content[] | null;
30
+ info: ChatCompressionInfo;
31
+ }>;
32
+ }
@@ -0,0 +1,164 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { CompressionStatus } from '../core/turn.js';
7
+ import { uiTelemetryService } from '../telemetry/uiTelemetry.js';
8
+ import { tokenLimit } from '../core/tokenLimits.js';
9
+ import { getCompressionPrompt } from '../core/prompts.js';
10
+ import { getResponseText } from '../utils/partUtils.js';
11
+ import { logChatCompression } from '../telemetry/loggers.js';
12
+ import { makeChatCompressionEvent } from '../telemetry/types.js';
13
+ import { getInitialChatHistory } from '../utils/environmentContext.js';
14
+ /**
15
+ * Threshold for compression token count as a fraction of the model's token limit.
16
+ * If the chat history exceeds this threshold, it will be compressed.
17
+ */
18
+ export const COMPRESSION_TOKEN_THRESHOLD = 0.7;
19
+ /**
20
+ * The fraction of the latest chat history to keep. A value of 0.3
21
+ * means that only the last 30% of the chat history will be kept after compression.
22
+ */
23
+ export const COMPRESSION_PRESERVE_THRESHOLD = 0.3;
24
+ /**
25
+ * Returns the index of the oldest item to keep when compressing. May return
26
+ * contents.length which indicates that everything should be compressed.
27
+ *
28
+ * Exported for testing purposes.
29
+ */
30
+ export function findCompressSplitPoint(contents, fraction) {
31
+ if (fraction <= 0 || fraction >= 1) {
32
+ throw new Error('Fraction must be between 0 and 1');
33
+ }
34
+ const charCounts = contents.map((content) => JSON.stringify(content).length);
35
+ const totalCharCount = charCounts.reduce((a, b) => a + b, 0);
36
+ const targetCharCount = totalCharCount * fraction;
37
+ let lastSplitPoint = 0; // 0 is always valid (compress nothing)
38
+ let cumulativeCharCount = 0;
39
+ for (let i = 0; i < contents.length; i++) {
40
+ const content = contents[i];
41
+ if (content.role === 'user' &&
42
+ !content.parts?.some((part) => !!part.functionResponse)) {
43
+ if (cumulativeCharCount >= targetCharCount) {
44
+ return i;
45
+ }
46
+ lastSplitPoint = i;
47
+ }
48
+ cumulativeCharCount += charCounts[i];
49
+ }
50
+ // We found no split points after targetCharCount.
51
+ // Check if it's safe to compress everything.
52
+ const lastContent = contents[contents.length - 1];
53
+ if (lastContent?.role === 'model' &&
54
+ !lastContent?.parts?.some((part) => part.functionCall)) {
55
+ return contents.length;
56
+ }
57
+ // Can't compress everything so just compress at last splitpoint.
58
+ return lastSplitPoint;
59
+ }
60
+ export class ChatCompressionService {
61
+ async compress(chat, promptId, force, model, config, hasFailedCompressionAttempt) {
62
+ const curatedHistory = chat.getHistory(true);
63
+ // Regardless of `force`, don't do anything if the history is empty.
64
+ if (curatedHistory.length === 0 ||
65
+ (hasFailedCompressionAttempt && !force)) {
66
+ return {
67
+ newHistory: null,
68
+ info: {
69
+ originalTokenCount: 0,
70
+ newTokenCount: 0,
71
+ compressionStatus: CompressionStatus.NOOP,
72
+ },
73
+ };
74
+ }
75
+ const originalTokenCount = uiTelemetryService.getLastPromptTokenCount();
76
+ const contextPercentageThreshold = config.getChatCompression()?.contextPercentageThreshold;
77
+ // Don't compress if not forced and we are under the limit.
78
+ if (!force) {
79
+ const threshold = contextPercentageThreshold ?? COMPRESSION_TOKEN_THRESHOLD;
80
+ if (originalTokenCount < threshold * tokenLimit(model)) {
81
+ return {
82
+ newHistory: null,
83
+ info: {
84
+ originalTokenCount,
85
+ newTokenCount: originalTokenCount,
86
+ compressionStatus: CompressionStatus.NOOP,
87
+ },
88
+ };
89
+ }
90
+ }
91
+ const splitPoint = findCompressSplitPoint(curatedHistory, 1 - COMPRESSION_PRESERVE_THRESHOLD);
92
+ const historyToCompress = curatedHistory.slice(0, splitPoint);
93
+ const historyToKeep = curatedHistory.slice(splitPoint);
94
+ if (historyToCompress.length === 0) {
95
+ return {
96
+ newHistory: null,
97
+ info: {
98
+ originalTokenCount,
99
+ newTokenCount: originalTokenCount,
100
+ compressionStatus: CompressionStatus.NOOP,
101
+ },
102
+ };
103
+ }
104
+ const summaryResponse = await config.getContentGenerator().generateContent({
105
+ model,
106
+ contents: [
107
+ ...historyToCompress,
108
+ {
109
+ role: 'user',
110
+ parts: [
111
+ {
112
+ text: 'First, reason in your scratchpad. Then, generate the <state_snapshot>.',
113
+ },
114
+ ],
115
+ },
116
+ ],
117
+ config: {
118
+ systemInstruction: { text: getCompressionPrompt() },
119
+ },
120
+ }, promptId);
121
+ const summary = getResponseText(summaryResponse) ?? '';
122
+ const extraHistory = [
123
+ {
124
+ role: 'user',
125
+ parts: [{ text: summary }],
126
+ },
127
+ {
128
+ role: 'model',
129
+ parts: [{ text: 'Got it. Thanks for the additional context!' }],
130
+ },
131
+ ...historyToKeep,
132
+ ];
133
+ // Use a shared utility to construct the initial history for an accurate token count.
134
+ const fullNewHistory = await getInitialChatHistory(config, extraHistory);
135
+ // Estimate token count 1 token ≈ 4 characters
136
+ const newTokenCount = Math.floor(fullNewHistory.reduce((total, content) => total + JSON.stringify(content).length, 0) / 4);
137
+ logChatCompression(config, makeChatCompressionEvent({
138
+ tokens_before: originalTokenCount,
139
+ tokens_after: newTokenCount,
140
+ }));
141
+ if (newTokenCount > originalTokenCount) {
142
+ return {
143
+ newHistory: null,
144
+ info: {
145
+ originalTokenCount,
146
+ newTokenCount,
147
+ compressionStatus: CompressionStatus.COMPRESSION_FAILED_INFLATED_TOKEN_COUNT,
148
+ },
149
+ };
150
+ }
151
+ else {
152
+ uiTelemetryService.setLastPromptTokenCount(newTokenCount);
153
+ return {
154
+ newHistory: extraHistory,
155
+ info: {
156
+ originalTokenCount,
157
+ newTokenCount,
158
+ compressionStatus: CompressionStatus.COMPRESSED,
159
+ },
160
+ };
161
+ }
162
+ }
163
+ }
164
+ //# sourceMappingURL=chatCompressionService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chatCompressionService.js","sourceRoot":"","sources":["../../../src/services/chatCompressionService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ export {};