@vybestack/llxprt-code-core 0.1.19-alpha → 0.1.19-gamma

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 (553) hide show
  1. package/README.md +49 -2
  2. package/dist/index.d.ts +6 -0
  3. package/dist/index.js +5 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/auth/anthropic-device-flow.d.ts +53 -0
  6. package/dist/src/auth/anthropic-device-flow.js +208 -0
  7. package/dist/src/auth/anthropic-device-flow.js.map +1 -0
  8. package/dist/src/auth/precedence.d.ts +55 -0
  9. package/dist/src/auth/precedence.js +211 -0
  10. package/dist/src/auth/precedence.js.map +1 -0
  11. package/dist/src/auth/qwen-device-flow.d.ts +45 -0
  12. package/dist/src/auth/qwen-device-flow.js +179 -0
  13. package/dist/src/auth/qwen-device-flow.js.map +1 -0
  14. package/dist/src/auth/token-store.d.ts +66 -0
  15. package/dist/src/auth/token-store.js +151 -0
  16. package/dist/src/auth/token-store.js.map +1 -0
  17. package/dist/src/auth/types.d.ts +130 -0
  18. package/dist/src/auth/types.js +60 -0
  19. package/dist/src/auth/types.js.map +1 -0
  20. package/dist/src/code_assist/converter.d.ts +2 -1
  21. package/dist/src/code_assist/converter.js +1 -1
  22. package/dist/src/code_assist/converter.js.map +1 -1
  23. package/dist/src/code_assist/oauth2.js +2 -1
  24. package/dist/src/code_assist/oauth2.js.map +1 -1
  25. package/dist/src/config/config.d.ts +61 -2
  26. package/dist/src/config/config.js +134 -4
  27. package/dist/src/config/config.js.map +1 -1
  28. package/dist/src/config/endpoints.d.ts +60 -0
  29. package/dist/src/config/endpoints.js +126 -0
  30. package/dist/src/config/endpoints.js.map +1 -0
  31. package/dist/src/config/profileManager.d.ts +14 -4
  32. package/dist/src/config/profileManager.js +90 -11
  33. package/dist/src/config/profileManager.js.map +1 -1
  34. package/dist/src/core/client.js +9 -12
  35. package/dist/src/core/client.js.map +1 -1
  36. package/dist/src/core/contentGenerator.d.ts +4 -1
  37. package/dist/src/core/contentGenerator.js +3 -0
  38. package/dist/src/core/contentGenerator.js.map +1 -1
  39. package/dist/src/core/logger.d.ts +1 -0
  40. package/dist/src/core/logger.js +18 -0
  41. package/dist/src/core/logger.js.map +1 -1
  42. package/dist/src/core/loggingContentGenerator.d.ts +24 -0
  43. package/dist/src/core/loggingContentGenerator.js +89 -0
  44. package/dist/src/core/loggingContentGenerator.js.map +1 -0
  45. package/dist/src/core/nonInteractiveToolExecutor.js +17 -0
  46. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  47. package/dist/src/core/subagent.js +12 -10
  48. package/dist/src/core/subagent.js.map +1 -1
  49. package/dist/src/ide/ide-client.d.ts +1 -1
  50. package/dist/src/ide/ide-client.js +21 -7
  51. package/dist/src/ide/ide-client.js.map +1 -1
  52. package/dist/src/index.d.ts +11 -0
  53. package/dist/src/index.js +12 -0
  54. package/dist/src/index.js.map +1 -1
  55. package/dist/src/providers/BaseProvider.d.ts +149 -0
  56. package/dist/src/providers/BaseProvider.js +315 -0
  57. package/dist/src/providers/BaseProvider.js.map +1 -0
  58. package/dist/src/providers/IProvider.d.ts +1 -0
  59. package/dist/src/providers/IProviderManager.d.ts +5 -0
  60. package/dist/src/providers/LoggingProviderWrapper.d.ts +54 -0
  61. package/dist/src/providers/LoggingProviderWrapper.js +350 -0
  62. package/dist/src/providers/LoggingProviderWrapper.js.map +1 -0
  63. package/dist/src/providers/ProviderManager.d.ts +20 -1
  64. package/dist/src/providers/ProviderManager.js +236 -14
  65. package/dist/src/providers/ProviderManager.js.map +1 -1
  66. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +20 -6
  67. package/dist/src/providers/anthropic/AnthropicProvider.js +172 -26
  68. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  69. package/dist/src/providers/gemini/GeminiProvider.d.ts +16 -7
  70. package/dist/src/providers/gemini/GeminiProvider.js +163 -148
  71. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  72. package/dist/src/providers/logging/ProviderContentExtractor.d.ts +27 -0
  73. package/dist/src/providers/logging/ProviderContentExtractor.js +198 -0
  74. package/dist/src/providers/logging/ProviderContentExtractor.js.map +1 -0
  75. package/dist/src/providers/logging/ProviderPerformanceTracker.d.ts +43 -0
  76. package/dist/src/providers/logging/ProviderPerformanceTracker.js +98 -0
  77. package/dist/src/providers/logging/ProviderPerformanceTracker.js.map +1 -0
  78. package/dist/src/providers/openai/OpenAIProvider.d.ts +53 -6
  79. package/dist/src/providers/openai/OpenAIProvider.js +373 -40
  80. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  81. package/dist/src/providers/openai/RESPONSES_API_MODELS.d.ts +1 -1
  82. package/dist/src/providers/openai/RESPONSES_API_MODELS.js +1 -0
  83. package/dist/src/providers/openai/RESPONSES_API_MODELS.js.map +1 -1
  84. package/dist/src/providers/openai/syntheticToolResponses.d.ts +52 -0
  85. package/dist/src/providers/openai/syntheticToolResponses.js +129 -0
  86. package/dist/src/providers/openai/syntheticToolResponses.js.map +1 -0
  87. package/dist/src/providers/types.d.ts +47 -0
  88. package/dist/src/services/git-stats-service.d.ts +32 -0
  89. package/dist/src/services/git-stats-service.js +22 -0
  90. package/dist/src/services/git-stats-service.js.map +1 -0
  91. package/dist/src/services/loopDetectionService.js +10 -6
  92. package/dist/src/services/loopDetectionService.js.map +1 -1
  93. package/dist/src/services/shellExecutionService.js +44 -8
  94. package/dist/src/services/shellExecutionService.js.map +1 -1
  95. package/dist/src/settings/SettingsService.d.ts +32 -0
  96. package/dist/src/settings/SettingsService.js +204 -0
  97. package/dist/src/settings/SettingsService.js.map +1 -0
  98. package/dist/src/settings/settingsServiceInstance.d.ts +12 -0
  99. package/dist/src/settings/settingsServiceInstance.js +24 -0
  100. package/dist/src/settings/settingsServiceInstance.js.map +1 -0
  101. package/dist/src/settings/types.d.ts +141 -0
  102. package/dist/src/settings/types.js +5 -0
  103. package/dist/src/settings/types.js.map +1 -0
  104. package/dist/src/storage/ConversationFileWriter.d.ts +16 -0
  105. package/dist/src/storage/ConversationFileWriter.js +69 -0
  106. package/dist/src/storage/ConversationFileWriter.js.map +1 -0
  107. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +8 -0
  108. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +56 -3
  109. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  110. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +5 -1
  111. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +11 -0
  112. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  113. package/dist/src/telemetry/constants.d.ts +5 -0
  114. package/dist/src/telemetry/constants.js +5 -0
  115. package/dist/src/telemetry/constants.js.map +1 -1
  116. package/dist/src/telemetry/loggers.d.ts +5 -1
  117. package/dist/src/telemetry/loggers.js +87 -1
  118. package/dist/src/telemetry/loggers.js.map +1 -1
  119. package/dist/src/telemetry/metrics.d.ts +2 -1
  120. package/dist/src/telemetry/metrics.js +7 -1
  121. package/dist/src/telemetry/metrics.js.map +1 -1
  122. package/dist/src/telemetry/tool-call-decision.d.ts +13 -0
  123. package/dist/src/telemetry/tool-call-decision.js +29 -0
  124. package/dist/src/telemetry/tool-call-decision.js.map +1 -0
  125. package/dist/src/telemetry/types.d.ts +56 -1
  126. package/dist/src/telemetry/types.js +123 -0
  127. package/dist/src/telemetry/types.js.map +1 -1
  128. package/dist/src/telemetry/uiTelemetry.d.ts +2 -1
  129. package/dist/src/telemetry/uiTelemetry.js +1 -1
  130. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  131. package/dist/src/tools/diffOptions.d.ts +2 -0
  132. package/dist/src/tools/diffOptions.js +28 -0
  133. package/dist/src/tools/diffOptions.js.map +1 -1
  134. package/dist/src/tools/edit.d.ts +4 -0
  135. package/dist/src/tools/edit.js +38 -8
  136. package/dist/src/tools/edit.js.map +1 -1
  137. package/dist/src/tools/mcp-client.d.ts +4 -3
  138. package/dist/src/tools/mcp-client.js +23 -6
  139. package/dist/src/tools/mcp-client.js.map +1 -1
  140. package/dist/src/tools/read-file.js +34 -2
  141. package/dist/src/tools/read-file.js.map +1 -1
  142. package/dist/src/tools/todo-pause.d.ts +22 -0
  143. package/dist/src/tools/todo-pause.js +93 -0
  144. package/dist/src/tools/todo-pause.js.map +1 -0
  145. package/dist/src/tools/tool-error.d.ts +4 -0
  146. package/dist/src/tools/tool-error.js +4 -0
  147. package/dist/src/tools/tool-error.js.map +1 -1
  148. package/dist/src/tools/tool-registry.js +3 -3
  149. package/dist/src/tools/tool-registry.js.map +1 -1
  150. package/dist/src/tools/tools.d.ts +7 -0
  151. package/dist/src/tools/tools.js.map +1 -1
  152. package/dist/src/tools/write-file.d.ts +4 -0
  153. package/dist/src/tools/write-file.js +90 -16
  154. package/dist/src/tools/write-file.js.map +1 -1
  155. package/dist/src/types/modelParams.d.ts +2 -0
  156. package/dist/src/utils/environmentContext.js +1 -1
  157. package/dist/src/utils/errors.d.ts +3 -0
  158. package/dist/src/utils/errors.js +6 -0
  159. package/dist/src/utils/errors.js.map +1 -1
  160. package/dist/src/utils/fileUtils.d.ts +7 -0
  161. package/dist/src/utils/fileUtils.js +9 -0
  162. package/dist/src/utils/fileUtils.js.map +1 -1
  163. package/package.json +4 -2
  164. package/dist/src/code_assist/converter.test.d.ts +0 -6
  165. package/dist/src/code_assist/converter.test.js +0 -232
  166. package/dist/src/code_assist/converter.test.js.map +0 -1
  167. package/dist/src/code_assist/oauth2.test.d.ts +0 -6
  168. package/dist/src/code_assist/oauth2.test.js +0 -370
  169. package/dist/src/code_assist/oauth2.test.js.map +0 -1
  170. package/dist/src/code_assist/server.test.d.ts +0 -6
  171. package/dist/src/code_assist/server.test.js +0 -131
  172. package/dist/src/code_assist/server.test.js.map +0 -1
  173. package/dist/src/code_assist/setup.test.d.ts +0 -6
  174. package/dist/src/code_assist/setup.test.js +0 -65
  175. package/dist/src/code_assist/setup.test.js.map +0 -1
  176. package/dist/src/config/config.alwaysAllow.test.d.ts +0 -6
  177. package/dist/src/config/config.alwaysAllow.test.js +0 -84
  178. package/dist/src/config/config.alwaysAllow.test.js.map +0 -1
  179. package/dist/src/config/config.test.d.ts +0 -6
  180. package/dist/src/config/config.test.js +0 -369
  181. package/dist/src/config/config.test.js.map +0 -1
  182. package/dist/src/config/flashFallback.test.d.ts +0 -6
  183. package/dist/src/config/flashFallback.test.js +0 -91
  184. package/dist/src/config/flashFallback.test.js.map +0 -1
  185. package/dist/src/core/client.test.d.ts +0 -6
  186. package/dist/src/core/client.test.js +0 -1322
  187. package/dist/src/core/client.test.js.map +0 -1
  188. package/dist/src/core/contentGenerator.test.d.ts +0 -6
  189. package/dist/src/core/contentGenerator.test.js +0 -103
  190. package/dist/src/core/contentGenerator.test.js.map +0 -1
  191. package/dist/src/core/coreToolScheduler.test.d.ts +0 -6
  192. package/dist/src/core/coreToolScheduler.test.js +0 -637
  193. package/dist/src/core/coreToolScheduler.test.js.map +0 -1
  194. package/dist/src/core/geminiChat.test.d.ts +0 -6
  195. package/dist/src/core/geminiChat.test.js +0 -425
  196. package/dist/src/core/geminiChat.test.js.map +0 -1
  197. package/dist/src/core/googleGenAIWrapper.test.d.ts +0 -6
  198. package/dist/src/core/googleGenAIWrapper.test.js +0 -104
  199. package/dist/src/core/googleGenAIWrapper.test.js.map +0 -1
  200. package/dist/src/core/logger.test.d.ts +0 -6
  201. package/dist/src/core/logger.test.js +0 -438
  202. package/dist/src/core/logger.test.js.map +0 -1
  203. package/dist/src/core/nonInteractiveToolExecutor.test.d.ts +0 -6
  204. package/dist/src/core/nonInteractiveToolExecutor.test.js +0 -165
  205. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +0 -1
  206. package/dist/src/core/prompts-async.test.d.ts +0 -6
  207. package/dist/src/core/prompts-async.test.js +0 -115
  208. package/dist/src/core/prompts-async.test.js.map +0 -1
  209. package/dist/src/core/prompts.test.d.ts +0 -6
  210. package/dist/src/core/prompts.test.js +0 -68
  211. package/dist/src/core/prompts.test.js.map +0 -1
  212. package/dist/src/core/subagent.test.d.ts +0 -6
  213. package/dist/src/core/subagent.test.js +0 -519
  214. package/dist/src/core/subagent.test.js.map +0 -1
  215. package/dist/src/core/tokenLimits.test.d.ts +0 -6
  216. package/dist/src/core/tokenLimits.test.js +0 -66
  217. package/dist/src/core/tokenLimits.test.js.map +0 -1
  218. package/dist/src/core/turn.test.d.ts +0 -6
  219. package/dist/src/core/turn.test.js +0 -366
  220. package/dist/src/core/turn.test.js.map +0 -1
  221. package/dist/src/hooks/tool-render-suppression-hook.test.d.ts +0 -6
  222. package/dist/src/hooks/tool-render-suppression-hook.test.js +0 -59
  223. package/dist/src/hooks/tool-render-suppression-hook.test.js.map +0 -1
  224. package/dist/src/ide/ide-installer.test.d.ts +0 -6
  225. package/dist/src/ide/ide-installer.test.js +0 -55
  226. package/dist/src/ide/ide-installer.test.js.map +0 -1
  227. package/dist/src/ide/ideContext.test.d.ts +0 -6
  228. package/dist/src/ide/ideContext.test.js +0 -265
  229. package/dist/src/ide/ideContext.test.js.map +0 -1
  230. package/dist/src/index.test.d.ts +0 -6
  231. package/dist/src/index.test.js +0 -12
  232. package/dist/src/index.test.js.map +0 -1
  233. package/dist/src/integration-tests/todo-system.test.d.ts +0 -6
  234. package/dist/src/integration-tests/todo-system.test.js +0 -46
  235. package/dist/src/integration-tests/todo-system.test.js.map +0 -1
  236. package/dist/src/mcp/google-auth-provider.test.d.ts +0 -6
  237. package/dist/src/mcp/google-auth-provider.test.js +0 -54
  238. package/dist/src/mcp/google-auth-provider.test.js.map +0 -1
  239. package/dist/src/mcp/oauth-provider.test.d.ts +0 -6
  240. package/dist/src/mcp/oauth-provider.test.js +0 -602
  241. package/dist/src/mcp/oauth-provider.test.js.map +0 -1
  242. package/dist/src/mcp/oauth-token-storage.test.d.ts +0 -6
  243. package/dist/src/mcp/oauth-token-storage.test.js +0 -205
  244. package/dist/src/mcp/oauth-token-storage.test.js.map +0 -1
  245. package/dist/src/mcp/oauth-utils.test.d.ts +0 -6
  246. package/dist/src/mcp/oauth-utils.test.js +0 -144
  247. package/dist/src/mcp/oauth-utils.test.js.map +0 -1
  248. package/dist/src/parsers/TextToolCallParser.multibyte.test.d.ts +0 -1
  249. package/dist/src/parsers/TextToolCallParser.multibyte.test.js +0 -42
  250. package/dist/src/parsers/TextToolCallParser.multibyte.test.js.map +0 -1
  251. package/dist/src/parsers/TextToolCallParser.test.d.ts +0 -1
  252. package/dist/src/parsers/TextToolCallParser.test.js +0 -225
  253. package/dist/src/parsers/TextToolCallParser.test.js.map +0 -1
  254. package/dist/src/prompt-config/TemplateEngine.test.d.ts +0 -1
  255. package/dist/src/prompt-config/TemplateEngine.test.js +0 -494
  256. package/dist/src/prompt-config/TemplateEngine.test.js.map +0 -1
  257. package/dist/src/prompt-config/prompt-cache.test.d.ts +0 -6
  258. package/dist/src/prompt-config/prompt-cache.test.js +0 -437
  259. package/dist/src/prompt-config/prompt-cache.test.js.map +0 -1
  260. package/dist/src/prompt-config/prompt-installer.test.d.ts +0 -7
  261. package/dist/src/prompt-config/prompt-installer.test.js +0 -503
  262. package/dist/src/prompt-config/prompt-installer.test.js.map +0 -1
  263. package/dist/src/prompt-config/prompt-loader.test.d.ts +0 -5
  264. package/dist/src/prompt-config/prompt-loader.test.js +0 -413
  265. package/dist/src/prompt-config/prompt-loader.test.js.map +0 -1
  266. package/dist/src/prompt-config/prompt-resolver.test.d.ts +0 -1
  267. package/dist/src/prompt-config/prompt-resolver.test.js +0 -529
  268. package/dist/src/prompt-config/prompt-resolver.test.js.map +0 -1
  269. package/dist/src/prompt-config/prompt-service.test.d.ts +0 -1
  270. package/dist/src/prompt-config/prompt-service.test.js +0 -811
  271. package/dist/src/prompt-config/prompt-service.test.js.map +0 -1
  272. package/dist/src/providers/ProviderManager.gemini-switch.test.d.ts +0 -6
  273. package/dist/src/providers/ProviderManager.gemini-switch.test.js +0 -57
  274. package/dist/src/providers/ProviderManager.gemini-switch.test.js.map +0 -1
  275. package/dist/src/providers/ProviderManager.test.d.ts +0 -6
  276. package/dist/src/providers/ProviderManager.test.js +0 -284
  277. package/dist/src/providers/ProviderManager.test.js.map +0 -1
  278. package/dist/src/providers/adapters/GeminiCompatibleWrapper.test.d.ts +0 -6
  279. package/dist/src/providers/adapters/GeminiCompatibleWrapper.test.js +0 -273
  280. package/dist/src/providers/adapters/GeminiCompatibleWrapper.test.js.map +0 -1
  281. package/dist/src/providers/anthropic/AnthropicProvider.modelParams.test.d.ts +0 -1
  282. package/dist/src/providers/anthropic/AnthropicProvider.modelParams.test.js +0 -48
  283. package/dist/src/providers/anthropic/AnthropicProvider.modelParams.test.js.map +0 -1
  284. package/dist/src/providers/anthropic/AnthropicProvider.test.d.ts +0 -1
  285. package/dist/src/providers/anthropic/AnthropicProvider.test.js +0 -487
  286. package/dist/src/providers/anthropic/AnthropicProvider.test.js.map +0 -1
  287. package/dist/src/providers/gemini/GeminiProvider.integration.test.d.ts +0 -6
  288. package/dist/src/providers/gemini/GeminiProvider.integration.test.js +0 -126
  289. package/dist/src/providers/gemini/GeminiProvider.integration.test.js.map +0 -1
  290. package/dist/src/providers/gemini/GeminiProvider.test.d.ts +0 -6
  291. package/dist/src/providers/gemini/GeminiProvider.test.js +0 -136
  292. package/dist/src/providers/gemini/GeminiProvider.test.js.map +0 -1
  293. package/dist/src/providers/integration/multi-provider.integration.test.d.ts +0 -6
  294. package/dist/src/providers/integration/multi-provider.integration.test.js +0 -292
  295. package/dist/src/providers/integration/multi-provider.integration.test.js.map +0 -1
  296. package/dist/src/providers/openai/ConversationCache.accumTokens.test.d.ts +0 -1
  297. package/dist/src/providers/openai/ConversationCache.accumTokens.test.js +0 -97
  298. package/dist/src/providers/openai/ConversationCache.accumTokens.test.js.map +0 -1
  299. package/dist/src/providers/openai/ConversationCache.test.d.ts +0 -1
  300. package/dist/src/providers/openai/ConversationCache.test.js +0 -113
  301. package/dist/src/providers/openai/ConversationCache.test.js.map +0 -1
  302. package/dist/src/providers/openai/OpenAIProvider.callResponses.stateless.test.d.ts +0 -1
  303. package/dist/src/providers/openai/OpenAIProvider.callResponses.stateless.test.js +0 -189
  304. package/dist/src/providers/openai/OpenAIProvider.callResponses.stateless.test.js.map +0 -1
  305. package/dist/src/providers/openai/OpenAIProvider.integration.test.d.ts +0 -6
  306. package/dist/src/providers/openai/OpenAIProvider.integration.test.js +0 -125
  307. package/dist/src/providers/openai/OpenAIProvider.integration.test.js.map +0 -1
  308. package/dist/src/providers/openai/OpenAIProvider.responses.test.d.ts +0 -1
  309. package/dist/src/providers/openai/OpenAIProvider.responses.test.js +0 -350
  310. package/dist/src/providers/openai/OpenAIProvider.responses.test.js.map +0 -1
  311. package/dist/src/providers/openai/OpenAIProvider.responsesIntegration.test.d.ts +0 -1
  312. package/dist/src/providers/openai/OpenAIProvider.responsesIntegration.test.js +0 -213
  313. package/dist/src/providers/openai/OpenAIProvider.responsesIntegration.test.js.map +0 -1
  314. package/dist/src/providers/openai/OpenAIProvider.shouldUseResponses.test.d.ts +0 -1
  315. package/dist/src/providers/openai/OpenAIProvider.shouldUseResponses.test.js +0 -59
  316. package/dist/src/providers/openai/OpenAIProvider.shouldUseResponses.test.js.map +0 -1
  317. package/dist/src/providers/openai/OpenAIProvider.stateful.integration.test.d.ts +0 -6
  318. package/dist/src/providers/openai/OpenAIProvider.stateful.integration.test.js +0 -105
  319. package/dist/src/providers/openai/OpenAIProvider.stateful.integration.test.js.map +0 -1
  320. package/dist/src/providers/openai/OpenAIProvider.switch.test.d.ts +0 -1
  321. package/dist/src/providers/openai/OpenAIProvider.switch.test.js +0 -256
  322. package/dist/src/providers/openai/OpenAIProvider.switch.test.js.map +0 -1
  323. package/dist/src/providers/openai/OpenAIProvider.test.d.ts +0 -16
  324. package/dist/src/providers/openai/OpenAIProvider.test.js +0 -620
  325. package/dist/src/providers/openai/OpenAIProvider.test.js.map +0 -1
  326. package/dist/src/providers/openai/ResponsesContextTrim.integration.test.d.ts +0 -1
  327. package/dist/src/providers/openai/ResponsesContextTrim.integration.test.js +0 -210
  328. package/dist/src/providers/openai/ResponsesContextTrim.integration.test.js.map +0 -1
  329. package/dist/src/providers/openai/__tests__/formatArrayResponse.test.d.ts +0 -1
  330. package/dist/src/providers/openai/__tests__/formatArrayResponse.test.js +0 -65
  331. package/dist/src/providers/openai/__tests__/formatArrayResponse.test.js.map +0 -1
  332. package/dist/src/providers/openai/buildResponsesRequest.stripToolCalls.test.d.ts +0 -1
  333. package/dist/src/providers/openai/buildResponsesRequest.stripToolCalls.test.js +0 -129
  334. package/dist/src/providers/openai/buildResponsesRequest.stripToolCalls.test.js.map +0 -1
  335. package/dist/src/providers/openai/buildResponsesRequest.test.d.ts +0 -1
  336. package/dist/src/providers/openai/buildResponsesRequest.test.js +0 -406
  337. package/dist/src/providers/openai/buildResponsesRequest.test.js.map +0 -1
  338. package/dist/src/providers/openai/buildResponsesRequest.undefined.test.d.ts +0 -1
  339. package/dist/src/providers/openai/buildResponsesRequest.undefined.test.js +0 -50
  340. package/dist/src/providers/openai/buildResponsesRequest.undefined.test.js.map +0 -1
  341. package/dist/src/providers/openai/estimateRemoteTokens.test.d.ts +0 -1
  342. package/dist/src/providers/openai/estimateRemoteTokens.test.js +0 -125
  343. package/dist/src/providers/openai/estimateRemoteTokens.test.js.map +0 -1
  344. package/dist/src/providers/openai/parseResponsesStream.responsesToolCalls.test.d.ts +0 -1
  345. package/dist/src/providers/openai/parseResponsesStream.responsesToolCalls.test.js +0 -192
  346. package/dist/src/providers/openai/parseResponsesStream.responsesToolCalls.test.js.map +0 -1
  347. package/dist/src/providers/openai/parseResponsesStream.test.d.ts +0 -1
  348. package/dist/src/providers/openai/parseResponsesStream.test.js +0 -151
  349. package/dist/src/providers/openai/parseResponsesStream.test.js.map +0 -1
  350. package/dist/src/services/fileDiscoveryService.test.d.ts +0 -6
  351. package/dist/src/services/fileDiscoveryService.test.js +0 -143
  352. package/dist/src/services/fileDiscoveryService.test.js.map +0 -1
  353. package/dist/src/services/gitService.test.d.ts +0 -6
  354. package/dist/src/services/gitService.test.js +0 -209
  355. package/dist/src/services/gitService.test.js.map +0 -1
  356. package/dist/src/services/loopDetectionService.test.d.ts +0 -6
  357. package/dist/src/services/loopDetectionService.test.js +0 -345
  358. package/dist/src/services/loopDetectionService.test.js.map +0 -1
  359. package/dist/src/services/shellExecutionService.multibyte.test.d.ts +0 -6
  360. package/dist/src/services/shellExecutionService.multibyte.test.js +0 -72
  361. package/dist/src/services/shellExecutionService.multibyte.test.js.map +0 -1
  362. package/dist/src/services/shellExecutionService.test.d.ts +0 -6
  363. package/dist/src/services/shellExecutionService.test.js +0 -272
  364. package/dist/src/services/shellExecutionService.test.js.map +0 -1
  365. package/dist/src/services/shellExecutionService.windows.multibyte.test.d.ts +0 -6
  366. package/dist/src/services/shellExecutionService.windows.multibyte.test.js +0 -98
  367. package/dist/src/services/shellExecutionService.windows.multibyte.test.js.map +0 -1
  368. package/dist/src/services/shellExecutionService.windows.test.d.ts +0 -6
  369. package/dist/src/services/shellExecutionService.windows.test.js +0 -79
  370. package/dist/src/services/shellExecutionService.windows.test.js.map +0 -1
  371. package/dist/src/services/tool-call-tracker-service.test.d.ts +0 -6
  372. package/dist/src/services/tool-call-tracker-service.test.js +0 -99
  373. package/dist/src/services/tool-call-tracker-service.test.js.map +0 -1
  374. package/dist/src/telemetry/loggers.test.d.ts +0 -6
  375. package/dist/src/telemetry/loggers.test.js +0 -572
  376. package/dist/src/telemetry/loggers.test.js.map +0 -1
  377. package/dist/src/telemetry/metrics.test.d.ts +0 -6
  378. package/dist/src/telemetry/metrics.test.js +0 -162
  379. package/dist/src/telemetry/metrics.test.js.map +0 -1
  380. package/dist/src/telemetry/telemetry.test.d.ts +0 -6
  381. package/dist/src/telemetry/telemetry.test.js +0 -54
  382. package/dist/src/telemetry/telemetry.test.js.map +0 -1
  383. package/dist/src/telemetry/uiTelemetry.test.d.ts +0 -6
  384. package/dist/src/telemetry/uiTelemetry.test.js +0 -517
  385. package/dist/src/telemetry/uiTelemetry.test.js.map +0 -1
  386. package/dist/src/tools/ToolFormatter.test.d.ts +0 -16
  387. package/dist/src/tools/ToolFormatter.test.js +0 -349
  388. package/dist/src/tools/ToolFormatter.test.js.map +0 -1
  389. package/dist/src/tools/ToolFormatter.toResponsesTool.test.d.ts +0 -1
  390. package/dist/src/tools/ToolFormatter.toResponsesTool.test.js +0 -241
  391. package/dist/src/tools/ToolFormatter.toResponsesTool.test.js.map +0 -1
  392. package/dist/src/tools/edit.test.d.ts +0 -6
  393. package/dist/src/tools/edit.test.js +0 -688
  394. package/dist/src/tools/edit.test.js.map +0 -1
  395. package/dist/src/tools/glob.test.d.ts +0 -6
  396. package/dist/src/tools/glob.test.js +0 -332
  397. package/dist/src/tools/glob.test.js.map +0 -1
  398. package/dist/src/tools/grep.test.d.ts +0 -6
  399. package/dist/src/tools/grep.test.js +0 -272
  400. package/dist/src/tools/grep.test.js.map +0 -1
  401. package/dist/src/tools/ls.test.d.ts +0 -6
  402. package/dist/src/tools/ls.test.js +0 -357
  403. package/dist/src/tools/ls.test.js.map +0 -1
  404. package/dist/src/tools/mcp-client.test.d.ts +0 -6
  405. package/dist/src/tools/mcp-client.test.js +0 -575
  406. package/dist/src/tools/mcp-client.test.js.map +0 -1
  407. package/dist/src/tools/mcp-tool.test.d.ts +0 -6
  408. package/dist/src/tools/mcp-tool.test.js +0 -501
  409. package/dist/src/tools/mcp-tool.test.js.map +0 -1
  410. package/dist/src/tools/memoryTool.test.d.ts +0 -6
  411. package/dist/src/tools/memoryTool.test.js +0 -266
  412. package/dist/src/tools/memoryTool.test.js.map +0 -1
  413. package/dist/src/tools/modifiable-tool.test.d.ts +0 -6
  414. package/dist/src/tools/modifiable-tool.test.js +0 -193
  415. package/dist/src/tools/modifiable-tool.test.js.map +0 -1
  416. package/dist/src/tools/read-file.test.d.ts +0 -6
  417. package/dist/src/tools/read-file.test.js +0 -313
  418. package/dist/src/tools/read-file.test.js.map +0 -1
  419. package/dist/src/tools/read-many-files.test.d.ts +0 -6
  420. package/dist/src/tools/read-many-files.test.js +0 -644
  421. package/dist/src/tools/read-many-files.test.js.map +0 -1
  422. package/dist/src/tools/shell.multibyte.test.d.ts +0 -6
  423. package/dist/src/tools/shell.multibyte.test.js +0 -75
  424. package/dist/src/tools/shell.multibyte.test.js.map +0 -1
  425. package/dist/src/tools/shell.test.d.ts +0 -6
  426. package/dist/src/tools/shell.test.js +0 -350
  427. package/dist/src/tools/shell.test.js.map +0 -1
  428. package/dist/src/tools/todo-read.test.d.ts +0 -6
  429. package/dist/src/tools/todo-read.test.js +0 -162
  430. package/dist/src/tools/todo-read.test.js.map +0 -1
  431. package/dist/src/tools/todo-schemas.test.d.ts +0 -6
  432. package/dist/src/tools/todo-schemas.test.js +0 -341
  433. package/dist/src/tools/todo-schemas.test.js.map +0 -1
  434. package/dist/src/tools/todo-store.test.d.ts +0 -6
  435. package/dist/src/tools/todo-store.test.js +0 -169
  436. package/dist/src/tools/todo-store.test.js.map +0 -1
  437. package/dist/src/tools/todo-write.test.d.ts +0 -6
  438. package/dist/src/tools/todo-write.test.js +0 -226
  439. package/dist/src/tools/todo-write.test.js.map +0 -1
  440. package/dist/src/tools/tool-registry.test.d.ts +0 -6
  441. package/dist/src/tools/tool-registry.test.js +0 -468
  442. package/dist/src/tools/tool-registry.test.js.map +0 -1
  443. package/dist/src/tools/tools.test.d.ts +0 -6
  444. package/dist/src/tools/tools.test.js +0 -117
  445. package/dist/src/tools/tools.test.js.map +0 -1
  446. package/dist/src/tools/web-fetch.integration.test.d.ts +0 -6
  447. package/dist/src/tools/web-fetch.integration.test.js +0 -532
  448. package/dist/src/tools/web-fetch.integration.test.js.map +0 -1
  449. package/dist/src/tools/web-search.test.d.ts +0 -6
  450. package/dist/src/tools/web-search.test.js +0 -229
  451. package/dist/src/tools/web-search.test.js.map +0 -1
  452. package/dist/src/tools/write-file.test.d.ts +0 -6
  453. package/dist/src/tools/write-file.test.js +0 -464
  454. package/dist/src/tools/write-file.test.js.map +0 -1
  455. package/dist/src/utils/bfsFileSearch.test.d.ts +0 -6
  456. package/dist/src/utils/bfsFileSearch.test.js +0 -191
  457. package/dist/src/utils/bfsFileSearch.test.js.map +0 -1
  458. package/dist/src/utils/editCorrector.test.d.ts +0 -6
  459. package/dist/src/utils/editCorrector.test.js +0 -564
  460. package/dist/src/utils/editCorrector.test.js.map +0 -1
  461. package/dist/src/utils/editor.test.d.ts +0 -6
  462. package/dist/src/utils/editor.test.js +0 -445
  463. package/dist/src/utils/editor.test.js.map +0 -1
  464. package/dist/src/utils/environmentContext.test.d.ts +0 -6
  465. package/dist/src/utils/environmentContext.test.js +0 -139
  466. package/dist/src/utils/environmentContext.test.js.map +0 -1
  467. package/dist/src/utils/errorReporting.test.d.ts +0 -6
  468. package/dist/src/utils/errorReporting.test.js +0 -130
  469. package/dist/src/utils/errorReporting.test.js.map +0 -1
  470. package/dist/src/utils/fileUtils.test.d.ts +0 -6
  471. package/dist/src/utils/fileUtils.test.js +0 -363
  472. package/dist/src/utils/fileUtils.test.js.map +0 -1
  473. package/dist/src/utils/filesearch/crawlCache.test.d.ts +0 -6
  474. package/dist/src/utils/filesearch/crawlCache.test.js +0 -103
  475. package/dist/src/utils/filesearch/crawlCache.test.js.map +0 -1
  476. package/dist/src/utils/filesearch/fileSearch.test.d.ts +0 -6
  477. package/dist/src/utils/filesearch/fileSearch.test.js +0 -654
  478. package/dist/src/utils/filesearch/fileSearch.test.js.map +0 -1
  479. package/dist/src/utils/filesearch/ignore.test.d.ts +0 -6
  480. package/dist/src/utils/filesearch/ignore.test.js +0 -57
  481. package/dist/src/utils/filesearch/ignore.test.js.map +0 -1
  482. package/dist/src/utils/filesearch/result-cache.test.d.ts +0 -6
  483. package/dist/src/utils/filesearch/result-cache.test.js +0 -47
  484. package/dist/src/utils/filesearch/result-cache.test.js.map +0 -1
  485. package/dist/src/utils/flashFallback.integration.test.d.ts +0 -6
  486. package/dist/src/utils/flashFallback.integration.test.js +0 -120
  487. package/dist/src/utils/flashFallback.integration.test.js.map +0 -1
  488. package/dist/src/utils/generateContentResponseUtilities.test.d.ts +0 -6
  489. package/dist/src/utils/generateContentResponseUtilities.test.js +0 -273
  490. package/dist/src/utils/generateContentResponseUtilities.test.js.map +0 -1
  491. package/dist/src/utils/getFolderStructure.test.d.ts +0 -6
  492. package/dist/src/utils/getFolderStructure.test.js +0 -282
  493. package/dist/src/utils/getFolderStructure.test.js.map +0 -1
  494. package/dist/src/utils/gitIgnoreParser.test.d.ts +0 -6
  495. package/dist/src/utils/gitIgnoreParser.test.js +0 -154
  496. package/dist/src/utils/gitIgnoreParser.test.js.map +0 -1
  497. package/dist/src/utils/memoryDiscovery.test.d.ts +0 -6
  498. package/dist/src/utils/memoryDiscovery.test.js +0 -181
  499. package/dist/src/utils/memoryDiscovery.test.js.map +0 -1
  500. package/dist/src/utils/memoryImportProcessor.test.d.ts +0 -6
  501. package/dist/src/utils/memoryImportProcessor.test.js +0 -715
  502. package/dist/src/utils/memoryImportProcessor.test.js.map +0 -1
  503. package/dist/src/utils/nextSpeakerChecker.test.d.ts +0 -6
  504. package/dist/src/utils/nextSpeakerChecker.test.js +0 -172
  505. package/dist/src/utils/nextSpeakerChecker.test.js.map +0 -1
  506. package/dist/src/utils/partUtils.test.d.ts +0 -6
  507. package/dist/src/utils/partUtils.test.js +0 -130
  508. package/dist/src/utils/partUtils.test.js.map +0 -1
  509. package/dist/src/utils/paths.test.d.ts +0 -6
  510. package/dist/src/utils/paths.test.js +0 -153
  511. package/dist/src/utils/paths.test.js.map +0 -1
  512. package/dist/src/utils/retry.test.d.ts +0 -6
  513. package/dist/src/utils/retry.test.js +0 -322
  514. package/dist/src/utils/retry.test.js.map +0 -1
  515. package/dist/src/utils/safeJsonStringify.test.d.ts +0 -6
  516. package/dist/src/utils/safeJsonStringify.test.js +0 -61
  517. package/dist/src/utils/safeJsonStringify.test.js.map +0 -1
  518. package/dist/src/utils/sanitization.test.d.ts +0 -6
  519. package/dist/src/utils/sanitization.test.js +0 -81
  520. package/dist/src/utils/sanitization.test.js.map +0 -1
  521. package/dist/src/utils/schemaValidator.test.d.ts +0 -6
  522. package/dist/src/utils/schemaValidator.test.js +0 -146
  523. package/dist/src/utils/schemaValidator.test.js.map +0 -1
  524. package/dist/src/utils/secure-browser-launcher.test.d.ts +0 -6
  525. package/dist/src/utils/secure-browser-launcher.test.js +0 -149
  526. package/dist/src/utils/secure-browser-launcher.test.js.map +0 -1
  527. package/dist/src/utils/shell-utils.shellReplacement.test.d.ts +0 -6
  528. package/dist/src/utils/shell-utils.shellReplacement.test.js +0 -149
  529. package/dist/src/utils/shell-utils.shellReplacement.test.js.map +0 -1
  530. package/dist/src/utils/shell-utils.test.d.ts +0 -6
  531. package/dist/src/utils/shell-utils.test.js +0 -200
  532. package/dist/src/utils/shell-utils.test.js.map +0 -1
  533. package/dist/src/utils/summarizer.test.d.ts +0 -6
  534. package/dist/src/utils/summarizer.test.js +0 -131
  535. package/dist/src/utils/summarizer.test.js.map +0 -1
  536. package/dist/src/utils/systemEncoding.test.d.ts +0 -6
  537. package/dist/src/utils/systemEncoding.test.js +0 -368
  538. package/dist/src/utils/systemEncoding.test.js.map +0 -1
  539. package/dist/src/utils/toolOutputLimiter.test.d.ts +0 -6
  540. package/dist/src/utils/toolOutputLimiter.test.js +0 -164
  541. package/dist/src/utils/toolOutputLimiter.test.js.map +0 -1
  542. package/dist/src/utils/unicodeUtils.test.d.ts +0 -6
  543. package/dist/src/utils/unicodeUtils.test.js +0 -120
  544. package/dist/src/utils/unicodeUtils.test.js.map +0 -1
  545. package/dist/src/utils/user_account.test.d.ts +0 -6
  546. package/dist/src/utils/user_account.test.js +0 -153
  547. package/dist/src/utils/user_account.test.js.map +0 -1
  548. package/dist/src/utils/user_id.test.d.ts +0 -6
  549. package/dist/src/utils/user_id.test.js +0 -21
  550. package/dist/src/utils/user_id.test.js.map +0 -1
  551. package/dist/src/utils/workspaceContext.test.d.ts +0 -6
  552. package/dist/src/utils/workspaceContext.test.js +0 -209
  553. package/dist/src/utils/workspaceContext.test.js.map +0 -1
@@ -1,572 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- import { AuthType, EditTool, GeminiClient, ToolConfirmationOutcome, ToolErrorType, ToolRegistry, } from '../index.js';
7
- import { logs } from '@opentelemetry/api-logs';
8
- import { SemanticAttributes } from '@opentelemetry/semantic-conventions';
9
- import { EVENT_API_REQUEST, EVENT_API_RESPONSE, EVENT_CLI_CONFIG, EVENT_TOOL_CALL, EVENT_USER_PROMPT, EVENT_FLASH_FALLBACK, } from './constants.js';
10
- import { logApiRequest, logApiResponse, logCliConfiguration, logUserPrompt, logToolCall, logFlashFallback, } from './loggers.js';
11
- import { ApiRequestEvent, ApiResponseEvent, StartSessionEvent, ToolCallDecision, ToolCallEvent, UserPromptEvent, FlashFallbackEvent, } from './types.js';
12
- import * as metrics from './metrics.js';
13
- import * as sdk from './sdk.js';
14
- import { vi, describe, beforeEach, it, expect } from 'vitest';
15
- import * as uiTelemetry from './uiTelemetry.js';
16
- describe('loggers', () => {
17
- const mockLogger = {
18
- emit: vi.fn(),
19
- };
20
- const mockUiEvent = {
21
- addEvent: vi.fn(),
22
- };
23
- beforeEach(() => {
24
- vi.spyOn(sdk, 'isTelemetrySdkInitialized').mockReturnValue(true);
25
- vi.spyOn(logs, 'getLogger').mockReturnValue(mockLogger);
26
- vi.spyOn(uiTelemetry.uiTelemetryService, 'addEvent').mockImplementation(mockUiEvent.addEvent);
27
- vi.useFakeTimers();
28
- vi.setSystemTime(new Date('2025-01-01T00:00:00.000Z'));
29
- });
30
- describe('logCliConfiguration', () => {
31
- it('should log the cli configuration', () => {
32
- const mockConfig = {
33
- getSessionId: () => 'test-session-id',
34
- getModel: () => 'test-model',
35
- getEmbeddingModel: () => 'test-embedding-model',
36
- getSandbox: () => true,
37
- getCoreTools: () => ['ls', 'read-file'],
38
- getApprovalMode: () => 'default',
39
- getContentGeneratorConfig: () => ({
40
- model: 'test-model',
41
- apiKey: 'test-api-key',
42
- authType: AuthType.USE_VERTEX_AI,
43
- }),
44
- getTelemetryEnabled: () => true,
45
- getUsageStatisticsEnabled: () => true,
46
- getTelemetryLogPromptsEnabled: () => true,
47
- getFileFilteringRespectGitIgnore: () => true,
48
- getFileFilteringAllowBuildArtifacts: () => false,
49
- getDebugMode: () => true,
50
- getMcpServers: () => ({
51
- 'test-server': {
52
- command: 'test-command',
53
- },
54
- }),
55
- getQuestion: () => 'test-question',
56
- getTargetDir: () => 'target-dir',
57
- getProxy: () => 'http://test.proxy.com:8080',
58
- };
59
- const startSessionEvent = new StartSessionEvent(mockConfig);
60
- logCliConfiguration(mockConfig, startSessionEvent);
61
- expect(mockLogger.emit).toHaveBeenCalledWith({
62
- body: 'CLI configuration loaded.',
63
- attributes: {
64
- 'session.id': 'test-session-id',
65
- 'event.name': EVENT_CLI_CONFIG,
66
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
67
- model: 'test-model',
68
- embedding_model: 'test-embedding-model',
69
- sandbox_enabled: true,
70
- core_tools_enabled: 'ls,read-file',
71
- approval_mode: 'default',
72
- api_key_enabled: true,
73
- vertex_ai_enabled: true,
74
- log_user_prompts_enabled: true,
75
- file_filtering_respect_git_ignore: true,
76
- debug_mode: true,
77
- mcp_servers: 'test-server',
78
- },
79
- });
80
- });
81
- });
82
- describe('logUserPrompt', () => {
83
- const mockConfig = {
84
- getSessionId: () => 'test-session-id',
85
- getTelemetryEnabled: () => true,
86
- getTelemetryLogPromptsEnabled: () => true,
87
- getUsageStatisticsEnabled: () => true,
88
- };
89
- it('should log a user prompt', () => {
90
- const event = new UserPromptEvent(11, 'prompt-id-8', AuthType.USE_VERTEX_AI, 'test-prompt');
91
- logUserPrompt(mockConfig, event);
92
- expect(mockLogger.emit).toHaveBeenCalledWith({
93
- body: 'User prompt. Length: 11.',
94
- attributes: {
95
- 'session.id': 'test-session-id',
96
- 'event.name': EVENT_USER_PROMPT,
97
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
98
- prompt_length: 11,
99
- prompt: 'test-prompt',
100
- },
101
- });
102
- });
103
- it('should not log prompt if disabled', () => {
104
- const mockConfig = {
105
- getSessionId: () => 'test-session-id',
106
- getTelemetryEnabled: () => true,
107
- getTelemetryLogPromptsEnabled: () => false,
108
- getTargetDir: () => 'target-dir',
109
- getUsageStatisticsEnabled: () => true,
110
- };
111
- const event = new UserPromptEvent(11, 'test-prompt', AuthType.CLOUD_SHELL);
112
- logUserPrompt(mockConfig, event);
113
- expect(mockLogger.emit).toHaveBeenCalledWith({
114
- body: 'User prompt. Length: 11.',
115
- attributes: {
116
- 'session.id': 'test-session-id',
117
- 'event.name': EVENT_USER_PROMPT,
118
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
119
- prompt_length: 11,
120
- },
121
- });
122
- });
123
- });
124
- describe('logApiResponse', () => {
125
- const mockConfig = {
126
- getSessionId: () => 'test-session-id',
127
- getTargetDir: () => 'target-dir',
128
- getUsageStatisticsEnabled: () => true,
129
- getTelemetryEnabled: () => true,
130
- getTelemetryLogPromptsEnabled: () => true,
131
- };
132
- const mockMetrics = {
133
- recordApiResponseMetrics: vi.fn(),
134
- recordTokenUsageMetrics: vi.fn(),
135
- };
136
- beforeEach(() => {
137
- vi.spyOn(metrics, 'recordApiResponseMetrics').mockImplementation(mockMetrics.recordApiResponseMetrics);
138
- vi.spyOn(metrics, 'recordTokenUsageMetrics').mockImplementation(mockMetrics.recordTokenUsageMetrics);
139
- });
140
- it('should log an API response with all fields', () => {
141
- const usageData = {
142
- promptTokenCount: 17,
143
- candidatesTokenCount: 50,
144
- cachedContentTokenCount: 10,
145
- thoughtsTokenCount: 5,
146
- toolUsePromptTokenCount: 2,
147
- };
148
- const event = new ApiResponseEvent('test-model', 100, 'prompt-id-1', AuthType.LOGIN_WITH_GOOGLE, usageData, 'test-response');
149
- logApiResponse(mockConfig, event);
150
- expect(mockLogger.emit).toHaveBeenCalledWith({
151
- body: 'API response from test-model. Status: 200. Duration: 100ms.',
152
- attributes: {
153
- 'session.id': 'test-session-id',
154
- 'event.name': EVENT_API_RESPONSE,
155
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
156
- [SemanticAttributes.HTTP_STATUS_CODE]: 200,
157
- model: 'test-model',
158
- status_code: 200,
159
- duration_ms: 100,
160
- input_token_count: 17,
161
- output_token_count: 50,
162
- cached_content_token_count: 10,
163
- thoughts_token_count: 5,
164
- tool_token_count: 2,
165
- total_token_count: 0,
166
- response_text: 'test-response',
167
- prompt_id: 'prompt-id-1',
168
- auth_type: 'oauth-personal',
169
- },
170
- });
171
- expect(mockMetrics.recordApiResponseMetrics).toHaveBeenCalledWith(mockConfig, 'test-model', 100, 200, undefined);
172
- expect(mockMetrics.recordTokenUsageMetrics).toHaveBeenCalledWith(mockConfig, 'test-model', 50, 'output');
173
- expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
174
- ...event,
175
- 'event.name': EVENT_API_RESPONSE,
176
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
177
- });
178
- });
179
- it('should log an API response with an error', () => {
180
- const usageData = {
181
- promptTokenCount: 17,
182
- candidatesTokenCount: 50,
183
- cachedContentTokenCount: 10,
184
- thoughtsTokenCount: 5,
185
- toolUsePromptTokenCount: 2,
186
- };
187
- const event = new ApiResponseEvent('test-model', 100, 'prompt-id-1', AuthType.USE_GEMINI, usageData, 'test-response', 'test-error');
188
- logApiResponse(mockConfig, event);
189
- expect(mockLogger.emit).toHaveBeenCalledWith({
190
- body: 'API response from test-model. Status: 200. Duration: 100ms.',
191
- attributes: {
192
- 'session.id': 'test-session-id',
193
- ...event,
194
- 'event.name': EVENT_API_RESPONSE,
195
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
196
- 'error.message': 'test-error',
197
- },
198
- });
199
- expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
200
- ...event,
201
- 'event.name': EVENT_API_RESPONSE,
202
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
203
- });
204
- });
205
- });
206
- describe('logApiRequest', () => {
207
- const mockConfig = {
208
- getSessionId: () => 'test-session-id',
209
- getTargetDir: () => 'target-dir',
210
- getUsageStatisticsEnabled: () => true,
211
- getTelemetryEnabled: () => true,
212
- getTelemetryLogPromptsEnabled: () => true,
213
- };
214
- it('should log an API request with request_text', () => {
215
- const event = new ApiRequestEvent('test-model', 'prompt-id-7', 'This is a test request');
216
- logApiRequest(mockConfig, event);
217
- expect(mockLogger.emit).toHaveBeenCalledWith({
218
- body: 'API request to test-model.',
219
- attributes: {
220
- 'session.id': 'test-session-id',
221
- 'event.name': EVENT_API_REQUEST,
222
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
223
- model: 'test-model',
224
- request_text: 'This is a test request',
225
- prompt_id: 'prompt-id-7',
226
- },
227
- });
228
- });
229
- it('should log an API request without request_text', () => {
230
- const event = new ApiRequestEvent('test-model', 'prompt-id-6');
231
- logApiRequest(mockConfig, event);
232
- expect(mockLogger.emit).toHaveBeenCalledWith({
233
- body: 'API request to test-model.',
234
- attributes: {
235
- 'session.id': 'test-session-id',
236
- 'event.name': EVENT_API_REQUEST,
237
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
238
- model: 'test-model',
239
- prompt_id: 'prompt-id-6',
240
- },
241
- });
242
- });
243
- });
244
- describe('logFlashFallback', () => {
245
- const mockConfig = {
246
- getSessionId: () => 'test-session-id',
247
- getUsageStatisticsEnabled: () => true,
248
- };
249
- it('should log flash fallback event', () => {
250
- const event = new FlashFallbackEvent(AuthType.USE_VERTEX_AI);
251
- logFlashFallback(mockConfig, event);
252
- expect(mockLogger.emit).toHaveBeenCalledWith({
253
- body: 'Switching to flash as Fallback.',
254
- attributes: {
255
- 'session.id': 'test-session-id',
256
- 'event.name': EVENT_FLASH_FALLBACK,
257
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
258
- auth_type: 'vertex-ai',
259
- },
260
- });
261
- });
262
- });
263
- describe('logToolCall', () => {
264
- const cfg1 = {
265
- getSessionId: () => 'test-session-id',
266
- getTargetDir: () => 'target-dir',
267
- getGeminiClient: () => mockGeminiClient,
268
- };
269
- const cfg2 = {
270
- getSessionId: () => 'test-session-id',
271
- getTargetDir: () => 'target-dir',
272
- getProxy: () => 'http://test.proxy.com:8080',
273
- getContentGeneratorConfig: () => ({ model: 'test-model' }),
274
- getModel: () => 'test-model',
275
- getEmbeddingModel: () => 'test-embedding-model',
276
- getWorkingDir: () => 'test-working-dir',
277
- getSandbox: () => true,
278
- getCoreTools: () => ['ls', 'read-file'],
279
- getApprovalMode: () => 'default',
280
- getTelemetryLogPromptsEnabled: () => true,
281
- getFileFilteringRespectGitIgnore: () => true,
282
- getFileFilteringAllowBuildArtifacts: () => false,
283
- getDebugMode: () => true,
284
- getMcpServers: () => ({
285
- 'test-server': {
286
- command: 'test-command',
287
- },
288
- }),
289
- getQuestion: () => 'test-question',
290
- getToolRegistry: () => new ToolRegistry(cfg1),
291
- getFullContext: () => false,
292
- getUserMemory: () => 'user-memory',
293
- getComplexityAnalyzerSettings: () => ({
294
- complexityThreshold: 0.6,
295
- minTasksForSuggestion: 3,
296
- suggestionCooldownMs: 300000,
297
- }),
298
- };
299
- const mockGeminiClient = new GeminiClient(cfg2);
300
- const mockConfig = {
301
- getSessionId: () => 'test-session-id',
302
- getTargetDir: () => 'target-dir',
303
- getGeminiClient: () => mockGeminiClient,
304
- getUsageStatisticsEnabled: () => true,
305
- getTelemetryEnabled: () => true,
306
- getTelemetryLogPromptsEnabled: () => true,
307
- };
308
- const mockMetrics = {
309
- recordToolCallMetrics: vi.fn(),
310
- };
311
- beforeEach(() => {
312
- vi.spyOn(metrics, 'recordToolCallMetrics').mockImplementation(mockMetrics.recordToolCallMetrics);
313
- mockLogger.emit.mockReset();
314
- });
315
- it('should log a tool call with all fields', () => {
316
- const tool = new EditTool(mockConfig);
317
- const call = {
318
- status: 'success',
319
- request: {
320
- name: 'test-function',
321
- args: {
322
- arg1: 'value1',
323
- arg2: 2,
324
- },
325
- callId: 'test-call-id',
326
- isClientInitiated: true,
327
- prompt_id: 'prompt-id-1',
328
- },
329
- response: {
330
- callId: 'test-call-id',
331
- responseParts: 'test-response',
332
- resultDisplay: undefined,
333
- error: undefined,
334
- errorType: undefined,
335
- },
336
- tool,
337
- invocation: {},
338
- durationMs: 100,
339
- outcome: ToolConfirmationOutcome.ProceedOnce,
340
- };
341
- const event = new ToolCallEvent(call);
342
- logToolCall(mockConfig, event);
343
- expect(mockLogger.emit).toHaveBeenCalledWith({
344
- body: 'Tool call: test-function. Decision: accept. Success: true. Duration: 100ms.',
345
- attributes: {
346
- 'session.id': 'test-session-id',
347
- 'event.name': EVENT_TOOL_CALL,
348
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
349
- function_name: 'test-function',
350
- function_args: JSON.stringify({
351
- arg1: 'value1',
352
- arg2: 2,
353
- }, null, 2),
354
- duration_ms: 100,
355
- success: true,
356
- decision: ToolCallDecision.ACCEPT,
357
- prompt_id: 'prompt-id-1',
358
- },
359
- });
360
- expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 'test-function', 100, true, ToolCallDecision.ACCEPT);
361
- expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
362
- ...event,
363
- 'event.name': EVENT_TOOL_CALL,
364
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
365
- });
366
- });
367
- it('should log a tool call with a reject decision', () => {
368
- const call = {
369
- status: 'error',
370
- request: {
371
- name: 'test-function',
372
- args: {
373
- arg1: 'value1',
374
- arg2: 2,
375
- },
376
- callId: 'test-call-id',
377
- isClientInitiated: true,
378
- prompt_id: 'prompt-id-2',
379
- },
380
- response: {
381
- callId: 'test-call-id',
382
- responseParts: 'test-response',
383
- resultDisplay: undefined,
384
- error: undefined,
385
- errorType: undefined,
386
- },
387
- durationMs: 100,
388
- outcome: ToolConfirmationOutcome.Cancel,
389
- };
390
- const event = new ToolCallEvent(call);
391
- logToolCall(mockConfig, event);
392
- expect(mockLogger.emit).toHaveBeenCalledWith({
393
- body: 'Tool call: test-function. Decision: reject. Success: false. Duration: 100ms.',
394
- attributes: {
395
- 'session.id': 'test-session-id',
396
- 'event.name': EVENT_TOOL_CALL,
397
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
398
- function_name: 'test-function',
399
- function_args: JSON.stringify({
400
- arg1: 'value1',
401
- arg2: 2,
402
- }, null, 2),
403
- duration_ms: 100,
404
- success: false,
405
- decision: ToolCallDecision.REJECT,
406
- prompt_id: 'prompt-id-2',
407
- },
408
- });
409
- expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 'test-function', 100, false, ToolCallDecision.REJECT);
410
- expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
411
- ...event,
412
- 'event.name': EVENT_TOOL_CALL,
413
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
414
- });
415
- });
416
- it('should log a tool call with a modify decision', () => {
417
- const call = {
418
- status: 'success',
419
- request: {
420
- name: 'test-function',
421
- args: {
422
- arg1: 'value1',
423
- arg2: 2,
424
- },
425
- callId: 'test-call-id',
426
- isClientInitiated: true,
427
- prompt_id: 'prompt-id-3',
428
- },
429
- response: {
430
- callId: 'test-call-id',
431
- responseParts: 'test-response',
432
- resultDisplay: undefined,
433
- error: undefined,
434
- errorType: undefined,
435
- },
436
- outcome: ToolConfirmationOutcome.ModifyWithEditor,
437
- tool: new EditTool(mockConfig),
438
- invocation: {},
439
- durationMs: 100,
440
- };
441
- const event = new ToolCallEvent(call);
442
- logToolCall(mockConfig, event);
443
- expect(mockLogger.emit).toHaveBeenCalledWith({
444
- body: 'Tool call: test-function. Decision: modify. Success: true. Duration: 100ms.',
445
- attributes: {
446
- 'session.id': 'test-session-id',
447
- 'event.name': EVENT_TOOL_CALL,
448
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
449
- function_name: 'test-function',
450
- function_args: JSON.stringify({
451
- arg1: 'value1',
452
- arg2: 2,
453
- }, null, 2),
454
- duration_ms: 100,
455
- success: true,
456
- decision: ToolCallDecision.MODIFY,
457
- prompt_id: 'prompt-id-3',
458
- },
459
- });
460
- expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 'test-function', 100, true, ToolCallDecision.MODIFY);
461
- expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
462
- ...event,
463
- 'event.name': EVENT_TOOL_CALL,
464
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
465
- });
466
- });
467
- it('should log a tool call without a decision', () => {
468
- const call = {
469
- status: 'success',
470
- request: {
471
- name: 'test-function',
472
- args: {
473
- arg1: 'value1',
474
- arg2: 2,
475
- },
476
- callId: 'test-call-id',
477
- isClientInitiated: true,
478
- prompt_id: 'prompt-id-4',
479
- },
480
- response: {
481
- callId: 'test-call-id',
482
- responseParts: 'test-response',
483
- resultDisplay: undefined,
484
- error: undefined,
485
- errorType: undefined,
486
- },
487
- tool: new EditTool(mockConfig),
488
- invocation: {},
489
- durationMs: 100,
490
- };
491
- const event = new ToolCallEvent(call);
492
- logToolCall(mockConfig, event);
493
- expect(mockLogger.emit).toHaveBeenCalledWith({
494
- body: 'Tool call: test-function. Success: true. Duration: 100ms.',
495
- attributes: {
496
- 'session.id': 'test-session-id',
497
- 'event.name': EVENT_TOOL_CALL,
498
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
499
- function_name: 'test-function',
500
- function_args: JSON.stringify({
501
- arg1: 'value1',
502
- arg2: 2,
503
- }, null, 2),
504
- duration_ms: 100,
505
- success: true,
506
- prompt_id: 'prompt-id-4',
507
- },
508
- });
509
- expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 'test-function', 100, true, undefined);
510
- expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
511
- ...event,
512
- 'event.name': EVENT_TOOL_CALL,
513
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
514
- });
515
- });
516
- it('should log a failed tool call with an error', () => {
517
- const call = {
518
- status: 'error',
519
- request: {
520
- name: 'test-function',
521
- args: {
522
- arg1: 'value1',
523
- arg2: 2,
524
- },
525
- callId: 'test-call-id',
526
- isClientInitiated: true,
527
- prompt_id: 'prompt-id-5',
528
- },
529
- response: {
530
- callId: 'test-call-id',
531
- responseParts: 'test-response',
532
- resultDisplay: undefined,
533
- error: {
534
- name: 'test-error-type',
535
- message: 'test-error',
536
- },
537
- errorType: ToolErrorType.UNKNOWN,
538
- },
539
- durationMs: 100,
540
- };
541
- const event = new ToolCallEvent(call);
542
- logToolCall(mockConfig, event);
543
- expect(mockLogger.emit).toHaveBeenCalledWith({
544
- body: 'Tool call: test-function. Success: false. Duration: 100ms.',
545
- attributes: {
546
- 'session.id': 'test-session-id',
547
- 'event.name': EVENT_TOOL_CALL,
548
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
549
- function_name: 'test-function',
550
- function_args: JSON.stringify({
551
- arg1: 'value1',
552
- arg2: 2,
553
- }, null, 2),
554
- duration_ms: 100,
555
- success: false,
556
- error: 'test-error',
557
- 'error.message': 'test-error',
558
- error_type: ToolErrorType.UNKNOWN,
559
- 'error.type': ToolErrorType.UNKNOWN,
560
- prompt_id: 'prompt-id-5',
561
- },
562
- });
563
- expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 'test-function', 100, false, undefined);
564
- expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
565
- ...event,
566
- 'event.name': EVENT_TOOL_CALL,
567
- 'event.timestamp': '2025-01-01T00:00:00.000Z',
568
- });
569
- });
570
- });
571
- });
572
- //# sourceMappingURL=loggers.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"loggers.test.js","sourceRoot":"","sources":["../../../src/telemetry/loggers.test.ts"],"names":[],"mappings":"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"}
@@ -1,6 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright 2025 Google LLC
4
- * SPDX-License-Identifier: Apache-2.0
5
- */
6
- export {};