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