@google/gemini-cli-core 0.10.0-nightly.20250926.1487841d → 0.10.0-nightly.20251009.cd354aeb

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 (246) hide show
  1. package/README.md +108 -71
  2. package/dist/index.d.ts +2 -0
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/agents/codebase-investigator.d.ts +46 -0
  6. package/dist/src/agents/codebase-investigator.js +136 -0
  7. package/dist/src/agents/codebase-investigator.js.map +1 -0
  8. package/dist/src/agents/executor.d.ts +92 -0
  9. package/dist/src/agents/executor.js +580 -0
  10. package/dist/src/agents/executor.js.map +1 -0
  11. package/dist/src/agents/executor.test.d.ts +6 -0
  12. package/dist/src/agents/executor.test.js +595 -0
  13. package/dist/src/agents/executor.test.js.map +1 -0
  14. package/dist/src/agents/invocation.d.ts +46 -0
  15. package/dist/src/agents/invocation.js +102 -0
  16. package/dist/src/agents/invocation.js.map +1 -0
  17. package/dist/src/agents/invocation.test.d.ts +6 -0
  18. package/dist/src/agents/invocation.test.js +215 -0
  19. package/dist/src/agents/invocation.test.js.map +1 -0
  20. package/dist/src/agents/registry.d.ts +36 -0
  21. package/dist/src/agents/registry.js +60 -0
  22. package/dist/src/agents/registry.js.map +1 -0
  23. package/dist/src/agents/registry.test.d.ts +6 -0
  24. package/dist/src/agents/registry.test.js +146 -0
  25. package/dist/src/agents/registry.test.js.map +1 -0
  26. package/dist/src/agents/schema-utils.d.ts +39 -0
  27. package/dist/src/agents/schema-utils.js +57 -0
  28. package/dist/src/agents/schema-utils.js.map +1 -0
  29. package/dist/src/agents/schema-utils.test.d.ts +6 -0
  30. package/dist/src/agents/schema-utils.test.js +144 -0
  31. package/dist/src/agents/schema-utils.test.js.map +1 -0
  32. package/dist/src/agents/subagent-tool-wrapper.d.ts +38 -0
  33. package/dist/src/agents/subagent-tool-wrapper.js +48 -0
  34. package/dist/src/agents/subagent-tool-wrapper.js.map +1 -0
  35. package/dist/src/agents/subagent-tool-wrapper.test.d.ts +6 -0
  36. package/dist/src/agents/subagent-tool-wrapper.test.js +112 -0
  37. package/dist/src/agents/subagent-tool-wrapper.test.js.map +1 -0
  38. package/dist/src/agents/types.d.ts +145 -0
  39. package/dist/src/agents/types.js +18 -0
  40. package/dist/src/agents/types.js.map +1 -0
  41. package/dist/src/agents/utils.d.ts +15 -0
  42. package/dist/src/agents/utils.js +29 -0
  43. package/dist/src/agents/utils.js.map +1 -0
  44. package/dist/src/agents/utils.test.d.ts +6 -0
  45. package/dist/src/agents/utils.test.js +87 -0
  46. package/dist/src/agents/utils.test.js.map +1 -0
  47. package/dist/src/code_assist/setup.js +4 -2
  48. package/dist/src/code_assist/setup.js.map +1 -1
  49. package/dist/src/config/config.d.ts +28 -5
  50. package/dist/src/config/config.js +61 -7
  51. package/dist/src/config/config.js.map +1 -1
  52. package/dist/src/config/config.test.js +63 -0
  53. package/dist/src/config/config.test.js.map +1 -1
  54. package/dist/src/core/baseLlmClient.js +19 -21
  55. package/dist/src/core/baseLlmClient.js.map +1 -1
  56. package/dist/src/core/baseLlmClient.test.js +57 -17
  57. package/dist/src/core/baseLlmClient.test.js.map +1 -1
  58. package/dist/src/core/client.d.ts +2 -0
  59. package/dist/src/core/client.js +52 -43
  60. package/dist/src/core/client.js.map +1 -1
  61. package/dist/src/core/client.test.js +300 -95
  62. package/dist/src/core/client.test.js.map +1 -1
  63. package/dist/src/core/contentGenerator.js +3 -1
  64. package/dist/src/core/contentGenerator.js.map +1 -1
  65. package/dist/src/core/coreToolScheduler.test.js +33 -23
  66. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  67. package/dist/src/core/geminiChat.d.ts +6 -0
  68. package/dist/src/core/geminiChat.js +21 -18
  69. package/dist/src/core/geminiChat.js.map +1 -1
  70. package/dist/src/core/geminiChat.test.js +20 -19
  71. package/dist/src/core/geminiChat.test.js.map +1 -1
  72. package/dist/src/core/nonInteractiveToolExecutor.test.js +11 -11
  73. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  74. package/dist/src/core/prompts.d.ts +2 -1
  75. package/dist/src/core/prompts.js +88 -15
  76. package/dist/src/core/prompts.js.map +1 -1
  77. package/dist/src/core/prompts.test.js +73 -24
  78. package/dist/src/core/prompts.test.js.map +1 -1
  79. package/dist/src/core/turn.d.ts +10 -2
  80. package/dist/src/core/turn.js +6 -1
  81. package/dist/src/core/turn.js.map +1 -1
  82. package/dist/src/core/turn.test.js +1 -1
  83. package/dist/src/core/turn.test.js.map +1 -1
  84. package/dist/src/generated/git-commit.d.ts +2 -2
  85. package/dist/src/generated/git-commit.js +2 -2
  86. package/dist/src/ide/detect-ide.d.ts +1 -0
  87. package/dist/src/ide/detect-ide.js +4 -1
  88. package/dist/src/ide/detect-ide.js.map +1 -1
  89. package/dist/src/ide/detect-ide.test.js +11 -0
  90. package/dist/src/ide/detect-ide.test.js.map +1 -1
  91. package/dist/src/ide/ide-client.js +3 -3
  92. package/dist/src/ide/ide-client.test.js +4 -4
  93. package/dist/src/ide/ide-installer.js +1 -1
  94. package/dist/src/ide/ide-installer.js.map +1 -1
  95. package/dist/src/ide/ide-installer.test.js +13 -1
  96. package/dist/src/ide/ide-installer.test.js.map +1 -1
  97. package/dist/src/index.d.ts +1 -0
  98. package/dist/src/index.js +1 -0
  99. package/dist/src/index.js.map +1 -1
  100. package/dist/src/mcp/sa-impersonation-provider.d.ts +33 -0
  101. package/dist/src/mcp/sa-impersonation-provider.js +130 -0
  102. package/dist/src/mcp/sa-impersonation-provider.js.map +1 -0
  103. package/dist/src/mcp/sa-impersonation-provider.test.d.ts +6 -0
  104. package/dist/src/mcp/sa-impersonation-provider.test.js +117 -0
  105. package/dist/src/mcp/sa-impersonation-provider.test.js.map +1 -0
  106. package/dist/src/services/chatRecordingService.d.ts +2 -1
  107. package/dist/src/services/chatRecordingService.js +2 -1
  108. package/dist/src/services/chatRecordingService.js.map +1 -1
  109. package/dist/src/services/fileSystemService.d.ts +9 -0
  110. package/dist/src/services/fileSystemService.js +11 -0
  111. package/dist/src/services/fileSystemService.js.map +1 -1
  112. package/dist/src/services/shellExecutionService.d.ts +2 -0
  113. package/dist/src/services/shellExecutionService.js +48 -7
  114. package/dist/src/services/shellExecutionService.js.map +1 -1
  115. package/dist/src/services/shellExecutionService.test.js +13 -4
  116. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  117. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +12 -2
  118. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +79 -9
  119. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  120. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +99 -1
  121. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  122. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +11 -3
  123. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +27 -4
  124. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  125. package/dist/src/telemetry/constants.d.ts +6 -24
  126. package/dist/src/telemetry/constants.js +7 -25
  127. package/dist/src/telemetry/constants.js.map +1 -1
  128. package/dist/src/telemetry/index.d.ts +5 -3
  129. package/dist/src/telemetry/index.js +10 -3
  130. package/dist/src/telemetry/index.js.map +1 -1
  131. package/dist/src/telemetry/loggers.d.ts +6 -1
  132. package/dist/src/telemetry/loggers.js +132 -12
  133. package/dist/src/telemetry/loggers.js.map +1 -1
  134. package/dist/src/telemetry/loggers.test.circular.js +3 -3
  135. package/dist/src/telemetry/loggers.test.circular.js.map +1 -1
  136. package/dist/src/telemetry/loggers.test.js +160 -13
  137. package/dist/src/telemetry/loggers.test.js.map +1 -1
  138. package/dist/src/telemetry/memory-monitor.d.ts +149 -0
  139. package/dist/src/telemetry/memory-monitor.js +335 -0
  140. package/dist/src/telemetry/memory-monitor.js.map +1 -0
  141. package/dist/src/telemetry/memory-monitor.test.d.ts +6 -0
  142. package/dist/src/telemetry/memory-monitor.test.js +472 -0
  143. package/dist/src/telemetry/memory-monitor.test.js.map +1 -0
  144. package/dist/src/telemetry/metrics.d.ts +392 -20
  145. package/dist/src/telemetry/metrics.js +463 -235
  146. package/dist/src/telemetry/metrics.js.map +1 -1
  147. package/dist/src/telemetry/metrics.test.js +391 -55
  148. package/dist/src/telemetry/metrics.test.js.map +1 -1
  149. package/dist/src/telemetry/types.d.ts +37 -1
  150. package/dist/src/telemetry/types.js +60 -0
  151. package/dist/src/telemetry/types.js.map +1 -1
  152. package/dist/src/telemetry/uiTelemetry.test.js +2 -2
  153. package/dist/src/telemetry/uiTelemetry.test.js.map +1 -1
  154. package/dist/src/test-utils/mock-tool.d.ts +28 -3
  155. package/dist/src/test-utils/mock-tool.js +71 -1
  156. package/dist/src/test-utils/mock-tool.js.map +1 -1
  157. package/dist/src/tools/glob.js +2 -1
  158. package/dist/src/tools/glob.js.map +1 -1
  159. package/dist/src/tools/mcp-client.d.ts +3 -2
  160. package/dist/src/tools/mcp-client.js +44 -30
  161. package/dist/src/tools/mcp-client.js.map +1 -1
  162. package/dist/src/tools/mcp-client.test.js +168 -5
  163. package/dist/src/tools/mcp-client.test.js.map +1 -1
  164. package/dist/src/tools/shell.js +2 -2
  165. package/dist/src/tools/shell.js.map +1 -1
  166. package/dist/src/tools/shell.test.js +1 -1
  167. package/dist/src/tools/shell.test.js.map +1 -1
  168. package/dist/src/tools/smart-edit.d.ts +20 -1
  169. package/dist/src/tools/smart-edit.js +149 -9
  170. package/dist/src/tools/smart-edit.js.map +1 -1
  171. package/dist/src/tools/smart-edit.test.js +150 -29
  172. package/dist/src/tools/smart-edit.test.js.map +1 -1
  173. package/dist/src/tools/tool-names.d.ts +8 -0
  174. package/dist/src/tools/tool-names.js +17 -0
  175. package/dist/src/tools/tool-names.js.map +1 -0
  176. package/dist/src/tools/tool-registry.test.js +10 -10
  177. package/dist/src/tools/tool-registry.test.js.map +1 -1
  178. package/dist/src/tools/web-fetch.js +3 -0
  179. package/dist/src/tools/web-fetch.js.map +1 -1
  180. package/dist/src/tools/web-fetch.test.js +44 -0
  181. package/dist/src/tools/web-fetch.test.js.map +1 -1
  182. package/dist/src/tools/write-file.js +2 -1
  183. package/dist/src/tools/write-file.js.map +1 -1
  184. package/dist/src/tools/write-todos.d.ts +1 -1
  185. package/dist/src/tools/write-todos.js +4 -3
  186. package/dist/src/tools/write-todos.js.map +1 -1
  187. package/dist/src/utils/editCorrector.js +2 -2
  188. package/dist/src/utils/editCorrector.js.map +1 -1
  189. package/dist/src/utils/editor.js +1 -0
  190. package/dist/src/utils/editor.js.map +1 -1
  191. package/dist/src/utils/editor.test.js +1 -0
  192. package/dist/src/utils/editor.test.js.map +1 -1
  193. package/dist/src/utils/errorParsing.d.ts +1 -1
  194. package/dist/src/utils/errorParsing.js +5 -33
  195. package/dist/src/utils/errorParsing.js.map +1 -1
  196. package/dist/src/utils/errorParsing.test.js +0 -88
  197. package/dist/src/utils/errorParsing.test.js.map +1 -1
  198. package/dist/src/utils/flashFallback.test.js +26 -45
  199. package/dist/src/utils/flashFallback.test.js.map +1 -1
  200. package/dist/src/utils/formatters.d.ts +1 -0
  201. package/dist/src/utils/formatters.js +2 -1
  202. package/dist/src/utils/formatters.js.map +1 -1
  203. package/dist/src/utils/formatters.test.d.ts +6 -0
  204. package/dist/src/utils/formatters.test.js +26 -0
  205. package/dist/src/utils/formatters.test.js.map +1 -0
  206. package/dist/src/utils/googleErrors.d.ts +104 -0
  207. package/dist/src/utils/googleErrors.js +108 -0
  208. package/dist/src/utils/googleErrors.js.map +1 -0
  209. package/dist/src/utils/googleErrors.test.d.ts +6 -0
  210. package/dist/src/utils/googleErrors.test.js +212 -0
  211. package/dist/src/utils/googleErrors.test.js.map +1 -0
  212. package/dist/src/utils/googleQuotaErrors.d.ts +35 -0
  213. package/dist/src/utils/googleQuotaErrors.js +108 -0
  214. package/dist/src/utils/googleQuotaErrors.js.map +1 -0
  215. package/dist/src/utils/googleQuotaErrors.test.d.ts +6 -0
  216. package/dist/src/utils/googleQuotaErrors.test.js +189 -0
  217. package/dist/src/utils/googleQuotaErrors.test.js.map +1 -0
  218. package/dist/src/utils/llm-edit-fixer.js +13 -4
  219. package/dist/src/utils/llm-edit-fixer.js.map +1 -1
  220. package/dist/src/utils/llm-edit-fixer.test.js +81 -0
  221. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -1
  222. package/dist/src/utils/memoryDiscovery.d.ts +1 -0
  223. package/dist/src/utils/memoryDiscovery.js +2 -1
  224. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  225. package/dist/src/utils/memoryDiscovery.test.js +99 -21
  226. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  227. package/dist/src/utils/memoryImportProcessor.js +13 -20
  228. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  229. package/dist/src/utils/memoryImportProcessor.test.js +14 -0
  230. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
  231. package/dist/src/utils/quotaErrorDetection.d.ts +0 -2
  232. package/dist/src/utils/quotaErrorDetection.js +0 -46
  233. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  234. package/dist/src/utils/retry.d.ts +3 -1
  235. package/dist/src/utils/retry.js +53 -161
  236. package/dist/src/utils/retry.js.map +1 -1
  237. package/dist/src/utils/retry.test.js +87 -146
  238. package/dist/src/utils/retry.test.js.map +1 -1
  239. package/dist/src/utils/terminalSerializer.d.ts +1 -4
  240. package/dist/src/utils/terminalSerializer.js +3 -3
  241. package/dist/src/utils/terminalSerializer.js.map +1 -1
  242. package/dist/tsconfig.tsbuildinfo +1 -1
  243. package/package.json +1 -1
  244. package/dist/src/test-utils/tools.d.ts +0 -45
  245. package/dist/src/test-utils/tools.js +0 -105
  246. package/dist/src/test-utils/tools.js.map +0 -1
@@ -7,12 +7,12 @@ import { AuthType, EditTool, GeminiClient, ToolConfirmationOutcome, ToolErrorTyp
7
7
  import { OutputFormat } from '../output/types.js';
8
8
  import { logs } from '@opentelemetry/api-logs';
9
9
  import { SemanticAttributes } from '@opentelemetry/semantic-conventions';
10
- import { EVENT_API_REQUEST, EVENT_API_RESPONSE, EVENT_CLI_CONFIG, EVENT_TOOL_CALL, EVENT_USER_PROMPT, EVENT_FLASH_FALLBACK, EVENT_MALFORMED_JSON_RESPONSE, EVENT_FILE_OPERATION, EVENT_RIPGREP_FALLBACK, EVENT_MODEL_ROUTING, EVENT_EXTENSION_ENABLE, EVENT_EXTENSION_DISABLE, EVENT_EXTENSION_INSTALL, EVENT_EXTENSION_UNINSTALL, } from './constants.js';
11
- import { logApiRequest, logApiResponse, logCliConfiguration, logUserPrompt, logToolCall, logFlashFallback, logChatCompression, logMalformedJsonResponse, logFileOperation, logRipgrepFallback, logToolOutputTruncated, logModelRouting, logExtensionEnable, logExtensionDisable, logExtensionInstallEvent, logExtensionUninstall, } from './loggers.js';
10
+ import { EVENT_API_REQUEST, EVENT_API_RESPONSE, EVENT_CLI_CONFIG, EVENT_TOOL_CALL, EVENT_USER_PROMPT, EVENT_FLASH_FALLBACK, EVENT_MALFORMED_JSON_RESPONSE, EVENT_FILE_OPERATION, EVENT_RIPGREP_FALLBACK, EVENT_MODEL_ROUTING, EVENT_EXTENSION_ENABLE, EVENT_EXTENSION_DISABLE, EVENT_EXTENSION_INSTALL, EVENT_EXTENSION_UNINSTALL, EVENT_TOOL_OUTPUT_TRUNCATED, EVENT_AGENT_START, EVENT_AGENT_FINISH, EVENT_WEB_FETCH_FALLBACK_ATTEMPT, } from './constants.js';
11
+ import { logApiRequest, logApiResponse, logCliConfiguration, logUserPrompt, logToolCall, logFlashFallback, logChatCompression, logMalformedJsonResponse, logFileOperation, logRipgrepFallback, logToolOutputTruncated, logModelRouting, logExtensionEnable, logExtensionDisable, logExtensionInstallEvent, logExtensionUninstall, logAgentStart, logAgentFinish, logWebFetchFallbackAttempt, } from './loggers.js';
12
12
  import { ToolCallDecision } from './tool-call-decision.js';
13
- import { ApiRequestEvent, ApiResponseEvent, StartSessionEvent, ToolCallEvent, UserPromptEvent, FlashFallbackEvent, RipgrepFallbackEvent, MalformedJsonResponseEvent, makeChatCompressionEvent, FileOperationEvent, ToolOutputTruncatedEvent, ModelRoutingEvent, ExtensionEnableEvent, ExtensionDisableEvent, ExtensionInstallEvent, ExtensionUninstallEvent, } from './types.js';
13
+ import { ApiRequestEvent, ApiResponseEvent, StartSessionEvent, ToolCallEvent, UserPromptEvent, FlashFallbackEvent, RipgrepFallbackEvent, MalformedJsonResponseEvent, makeChatCompressionEvent, FileOperationEvent, ToolOutputTruncatedEvent, ModelRoutingEvent, ExtensionEnableEvent, ExtensionDisableEvent, ExtensionInstallEvent, ExtensionUninstallEvent, AgentStartEvent, AgentFinishEvent, WebFetchFallbackAttemptEvent, } from './types.js';
14
14
  import * as metrics from './metrics.js';
15
- import { FileOperation } from './metrics.js';
15
+ import { FileOperation, GenAiOperationName, GenAiProviderName, } from './metrics.js';
16
16
  import * as sdk from './sdk.js';
17
17
  import { vi, describe, beforeEach, it, expect, afterEach } from 'vitest';
18
18
  import { DiscoveredMCPTool } from '../tools/mcp-tool.js';
@@ -20,6 +20,7 @@ import * as uiTelemetry from './uiTelemetry.js';
20
20
  import { makeFakeConfig } from '../test-utils/config.js';
21
21
  import { ClearcutLogger } from './clearcut-logger/clearcut-logger.js';
22
22
  import { UserAccountManager } from '../utils/userAccountManager.js';
23
+ import { AgentTerminateMode } from '../agents/types.js';
23
24
  describe('loggers', () => {
24
25
  const mockLogger = {
25
26
  emit: vi.fn(),
@@ -176,10 +177,17 @@ describe('loggers', () => {
176
177
  const mockMetrics = {
177
178
  recordApiResponseMetrics: vi.fn(),
178
179
  recordTokenUsageMetrics: vi.fn(),
180
+ getConventionAttributes: vi.fn(() => ({
181
+ 'gen_ai.operation.name': GenAiOperationName.GENERATE_CONTENT,
182
+ 'gen_ai.provider.name': GenAiProviderName.GCP_VERTEX_AI,
183
+ 'gen_ai.request.model': 'test-model',
184
+ 'gen_ai.response.model': 'test-model',
185
+ })),
179
186
  };
180
187
  beforeEach(() => {
181
188
  vi.spyOn(metrics, 'recordApiResponseMetrics').mockImplementation(mockMetrics.recordApiResponseMetrics);
182
189
  vi.spyOn(metrics, 'recordTokenUsageMetrics').mockImplementation(mockMetrics.recordTokenUsageMetrics);
190
+ vi.spyOn(metrics, 'getConventionAttributes').mockImplementation(mockMetrics.getConventionAttributes);
183
191
  });
184
192
  it('should log an API response with all fields', () => {
185
193
  const usageData = {
@@ -213,8 +221,37 @@ describe('loggers', () => {
213
221
  auth_type: 'oauth-personal',
214
222
  },
215
223
  });
216
- expect(mockMetrics.recordApiResponseMetrics).toHaveBeenCalledWith(mockConfig, 'test-model', 100, 200);
217
- expect(mockMetrics.recordTokenUsageMetrics).toHaveBeenCalledWith(mockConfig, 'test-model', 50, 'output');
224
+ expect(mockMetrics.recordApiResponseMetrics).toHaveBeenCalledWith(mockConfig, 100, {
225
+ model: 'test-model',
226
+ status_code: 200,
227
+ genAiAttributes: {
228
+ 'gen_ai.operation.name': 'generate_content',
229
+ 'gen_ai.provider.name': 'gcp.vertex_ai',
230
+ 'gen_ai.request.model': 'test-model',
231
+ 'gen_ai.response.model': 'test-model',
232
+ },
233
+ });
234
+ // Verify token usage calls for all token types
235
+ expect(mockMetrics.recordTokenUsageMetrics).toHaveBeenCalledWith(mockConfig, 17, {
236
+ model: 'test-model',
237
+ type: 'input',
238
+ genAiAttributes: {
239
+ 'gen_ai.operation.name': 'generate_content',
240
+ 'gen_ai.provider.name': 'gcp.vertex_ai',
241
+ 'gen_ai.request.model': 'test-model',
242
+ 'gen_ai.response.model': 'test-model',
243
+ },
244
+ });
245
+ expect(mockMetrics.recordTokenUsageMetrics).toHaveBeenCalledWith(mockConfig, 50, {
246
+ model: 'test-model',
247
+ type: 'output',
248
+ genAiAttributes: {
249
+ 'gen_ai.operation.name': 'generate_content',
250
+ 'gen_ai.provider.name': 'gcp.vertex_ai',
251
+ 'gen_ai.request.model': 'test-model',
252
+ 'gen_ai.response.model': 'test-model',
253
+ },
254
+ });
218
255
  expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
219
256
  ...event,
220
257
  'event.name': EVENT_API_RESPONSE,
@@ -440,7 +477,12 @@ describe('loggers', () => {
440
477
  content_length: 13,
441
478
  },
442
479
  });
443
- expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 'test-function', 100, true, ToolCallDecision.ACCEPT, 'native');
480
+ expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 100, {
481
+ function_name: 'test-function',
482
+ success: true,
483
+ decision: ToolCallDecision.ACCEPT,
484
+ tool_type: 'native',
485
+ });
444
486
  expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
445
487
  ...event,
446
488
  'event.name': EVENT_TOOL_CALL,
@@ -496,7 +538,12 @@ describe('loggers', () => {
496
538
  content_length: undefined,
497
539
  },
498
540
  });
499
- expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 'test-function', 100, false, ToolCallDecision.REJECT, 'native');
541
+ expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 100, {
542
+ function_name: 'test-function',
543
+ success: false,
544
+ decision: ToolCallDecision.REJECT,
545
+ tool_type: 'native',
546
+ });
500
547
  expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
501
548
  ...event,
502
549
  'event.name': EVENT_TOOL_CALL,
@@ -554,7 +601,12 @@ describe('loggers', () => {
554
601
  content_length: 13,
555
602
  },
556
603
  });
557
- expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 'test-function', 100, true, ToolCallDecision.MODIFY, 'native');
604
+ expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 100, {
605
+ function_name: 'test-function',
606
+ success: true,
607
+ decision: ToolCallDecision.MODIFY,
608
+ tool_type: 'native',
609
+ });
558
610
  expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
559
611
  ...event,
560
612
  'event.name': EVENT_TOOL_CALL,
@@ -611,7 +663,12 @@ describe('loggers', () => {
611
663
  content_length: 13,
612
664
  },
613
665
  });
614
- expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 'test-function', 100, true, undefined, 'native');
666
+ expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 100, {
667
+ function_name: 'test-function',
668
+ success: true,
669
+ decision: undefined,
670
+ tool_type: 'native',
671
+ });
615
672
  expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
616
673
  ...event,
617
674
  'event.name': EVENT_TOOL_CALL,
@@ -669,7 +726,12 @@ describe('loggers', () => {
669
726
  content_length: errorMessage.length,
670
727
  },
671
728
  });
672
- expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 'test-function', 100, false, undefined, 'native');
729
+ expect(mockMetrics.recordToolCallMetrics).toHaveBeenCalledWith(mockConfig, 100, {
730
+ function_name: 'test-function',
731
+ success: false,
732
+ decision: undefined,
733
+ tool_type: 'native',
734
+ });
673
735
  expect(mockUiEvent.addEvent).toHaveBeenCalledWith({
674
736
  ...event,
675
737
  'event.name': EVENT_TOOL_CALL,
@@ -785,7 +847,13 @@ describe('loggers', () => {
785
847
  programming_language: 'typescript',
786
848
  },
787
849
  });
788
- expect(mockMetrics.recordFileOperationMetric).toHaveBeenCalledWith(mockConfig, 'read', 10, 'text/plain', '.txt', 'typescript');
850
+ expect(mockMetrics.recordFileOperationMetric).toHaveBeenCalledWith(mockConfig, {
851
+ operation: 'read',
852
+ lines: 10,
853
+ mimetype: 'text/plain',
854
+ extension: '.txt',
855
+ programming_language: 'typescript',
856
+ });
789
857
  });
790
858
  });
791
859
  describe('logToolOutputTruncated', () => {
@@ -807,7 +875,7 @@ describe('loggers', () => {
807
875
  attributes: {
808
876
  'session.id': 'test-session-id',
809
877
  'user.email': 'test-user@example.com',
810
- 'event.name': 'tool_output_truncated',
878
+ 'event.name': EVENT_TOOL_OUTPUT_TRUNCATED,
811
879
  'event.timestamp': '2025-01-01T00:00:00.000Z',
812
880
  eventName: 'tool_output_truncated',
813
881
  prompt_id: 'prompt-id-1',
@@ -967,5 +1035,84 @@ describe('loggers', () => {
967
1035
  });
968
1036
  });
969
1037
  });
1038
+ describe('logAgentStart', () => {
1039
+ const mockConfig = {
1040
+ getSessionId: () => 'test-session-id',
1041
+ getUsageStatisticsEnabled: () => true,
1042
+ };
1043
+ beforeEach(() => {
1044
+ vi.spyOn(ClearcutLogger.prototype, 'logAgentStartEvent');
1045
+ });
1046
+ it('should log agent start event', () => {
1047
+ const event = new AgentStartEvent('agent-123', 'TestAgent');
1048
+ logAgentStart(mockConfig, event);
1049
+ expect(ClearcutLogger.prototype.logAgentStartEvent).toHaveBeenCalledWith(event);
1050
+ expect(mockLogger.emit).toHaveBeenCalledWith({
1051
+ body: 'Agent TestAgent started. ID: agent-123',
1052
+ attributes: {
1053
+ 'session.id': 'test-session-id',
1054
+ 'user.email': 'test-user@example.com',
1055
+ 'event.name': EVENT_AGENT_START,
1056
+ 'event.timestamp': '2025-01-01T00:00:00.000Z',
1057
+ agent_id: 'agent-123',
1058
+ agent_name: 'TestAgent',
1059
+ },
1060
+ });
1061
+ });
1062
+ });
1063
+ describe('logAgentFinish', () => {
1064
+ const mockConfig = {
1065
+ getSessionId: () => 'test-session-id',
1066
+ getUsageStatisticsEnabled: () => true,
1067
+ };
1068
+ beforeEach(() => {
1069
+ vi.spyOn(ClearcutLogger.prototype, 'logAgentFinishEvent');
1070
+ vi.spyOn(metrics, 'recordAgentRunMetrics');
1071
+ });
1072
+ it('should log agent finish event and record metrics', () => {
1073
+ const event = new AgentFinishEvent('agent-123', 'TestAgent', 1000, 5, AgentTerminateMode.GOAL);
1074
+ logAgentFinish(mockConfig, event);
1075
+ expect(ClearcutLogger.prototype.logAgentFinishEvent).toHaveBeenCalledWith(event);
1076
+ expect(mockLogger.emit).toHaveBeenCalledWith({
1077
+ body: 'Agent TestAgent finished. Reason: GOAL. Duration: 1000ms. Turns: 5.',
1078
+ attributes: {
1079
+ 'session.id': 'test-session-id',
1080
+ 'user.email': 'test-user@example.com',
1081
+ 'event.name': EVENT_AGENT_FINISH,
1082
+ 'event.timestamp': '2025-01-01T00:00:00.000Z',
1083
+ agent_id: 'agent-123',
1084
+ agent_name: 'TestAgent',
1085
+ duration_ms: 1000,
1086
+ turn_count: 5,
1087
+ terminate_reason: 'GOAL',
1088
+ },
1089
+ });
1090
+ expect(metrics.recordAgentRunMetrics).toHaveBeenCalledWith(mockConfig, event);
1091
+ });
1092
+ });
1093
+ describe('logWebFetchFallbackAttempt', () => {
1094
+ const mockConfig = {
1095
+ getSessionId: () => 'test-session-id',
1096
+ getUsageStatisticsEnabled: () => true,
1097
+ };
1098
+ beforeEach(() => {
1099
+ vi.spyOn(ClearcutLogger.prototype, 'logWebFetchFallbackAttemptEvent');
1100
+ });
1101
+ it('should log web fetch fallback attempt event', () => {
1102
+ const event = new WebFetchFallbackAttemptEvent('private_ip');
1103
+ logWebFetchFallbackAttempt(mockConfig, event);
1104
+ expect(ClearcutLogger.prototype.logWebFetchFallbackAttemptEvent).toHaveBeenCalledWith(event);
1105
+ expect(mockLogger.emit).toHaveBeenCalledWith({
1106
+ body: 'Web fetch fallback attempt. Reason: private_ip',
1107
+ attributes: {
1108
+ 'session.id': 'test-session-id',
1109
+ 'user.email': 'test-user@example.com',
1110
+ 'event.name': EVENT_WEB_FETCH_FALLBACK_ATTEMPT,
1111
+ 'event.timestamp': '2025-01-01T00:00:00.000Z',
1112
+ reason: 'private_ip',
1113
+ },
1114
+ });
1115
+ });
1116
+ });
970
1117
  });
971
1118
  //# sourceMappingURL=loggers.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"loggers.test.js","sourceRoot":"","sources":["../../../src/telemetry/loggers.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loggers.test.js","sourceRoot":"","sources":["../../../src/telemetry/loggers.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,149 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import v8 from 'node:v8';
7
+ import type { Config } from '../config/config.js';
8
+ export interface MemorySnapshot {
9
+ timestamp: number;
10
+ heapUsed: number;
11
+ heapTotal: number;
12
+ external: number;
13
+ rss: number;
14
+ arrayBuffers: number;
15
+ heapSizeLimit: number;
16
+ }
17
+ export interface ProcessMetrics {
18
+ cpuUsage: NodeJS.CpuUsage;
19
+ memoryUsage: NodeJS.MemoryUsage;
20
+ uptime: number;
21
+ }
22
+ export declare class MemoryMonitor {
23
+ private intervalId;
24
+ private isRunning;
25
+ private lastSnapshot;
26
+ private monitoringInterval;
27
+ private highWaterMarkTracker;
28
+ private rateLimiter;
29
+ private useEnhancedMonitoring;
30
+ private lastCleanupTimestamp;
31
+ private static readonly STATE_CLEANUP_INTERVAL_MS;
32
+ private static readonly STATE_CLEANUP_MAX_AGE_MS;
33
+ constructor();
34
+ /**
35
+ * Start continuous memory monitoring
36
+ */
37
+ start(config: Config, intervalMs?: number): void;
38
+ /**
39
+ * Check if we should record memory metrics and do so if conditions are met
40
+ */
41
+ private checkAndRecordIfNeeded;
42
+ /**
43
+ * Periodically prune tracker state to avoid unbounded growth when keys change.
44
+ */
45
+ private performPeriodicCleanup;
46
+ /**
47
+ * Stop continuous memory monitoring
48
+ */
49
+ stop(config?: Config): void;
50
+ /**
51
+ * Take a memory snapshot and record metrics
52
+ */
53
+ takeSnapshot(context: string, config: Config): MemorySnapshot;
54
+ /**
55
+ * Take a memory snapshot without recording metrics (for internal tracking)
56
+ */
57
+ private takeSnapshotWithoutRecording;
58
+ /**
59
+ * Get current memory usage without recording metrics
60
+ */
61
+ getCurrentMemoryUsage(): MemorySnapshot;
62
+ /**
63
+ * Get memory growth since last snapshot
64
+ */
65
+ getMemoryGrowth(): Partial<MemorySnapshot> | null;
66
+ /**
67
+ * Get detailed heap statistics
68
+ */
69
+ getHeapStatistics(): v8.HeapInfo;
70
+ /**
71
+ * Get heap space statistics
72
+ */
73
+ getHeapSpaceStatistics(): v8.HeapSpaceInfo[];
74
+ /**
75
+ * Get process CPU and memory metrics
76
+ */
77
+ getProcessMetrics(): ProcessMetrics;
78
+ /**
79
+ * Record memory usage for a specific component or operation
80
+ */
81
+ recordComponentMemoryUsage(config: Config, component: string, operation?: string): MemorySnapshot;
82
+ /**
83
+ * Check if memory usage exceeds threshold
84
+ */
85
+ checkMemoryThreshold(thresholdMB: number): boolean;
86
+ /**
87
+ * Get memory usage summary in MB
88
+ */
89
+ getMemoryUsageSummary(): {
90
+ heapUsedMB: number;
91
+ heapTotalMB: number;
92
+ externalMB: number;
93
+ rssMB: number;
94
+ heapSizeLimitMB: number;
95
+ };
96
+ /**
97
+ * Enable or disable enhanced monitoring features
98
+ */
99
+ setEnhancedMonitoring(enabled: boolean): void;
100
+ /**
101
+ * Get high-water mark statistics
102
+ */
103
+ getHighWaterMarkStats(): Record<string, number>;
104
+ /**
105
+ * Get rate limiting statistics
106
+ */
107
+ getRateLimitingStats(): {
108
+ totalMetrics: number;
109
+ oldestRecord: number;
110
+ newestRecord: number;
111
+ averageInterval: number;
112
+ };
113
+ /**
114
+ * Force record memory metrics (bypasses rate limiting for critical events)
115
+ */
116
+ forceRecordMemory(config: Config, context?: string): MemorySnapshot;
117
+ /**
118
+ * Reset high-water marks (useful after memory optimizations)
119
+ */
120
+ resetHighWaterMarks(): void;
121
+ /**
122
+ * Cleanup resources
123
+ */
124
+ destroy(): void;
125
+ }
126
+ /**
127
+ * Initialize global memory monitor
128
+ */
129
+ export declare function initializeMemoryMonitor(): MemoryMonitor;
130
+ /**
131
+ * Get global memory monitor instance
132
+ */
133
+ export declare function getMemoryMonitor(): MemoryMonitor | null;
134
+ /**
135
+ * Record memory usage for current operation
136
+ */
137
+ export declare function recordCurrentMemoryUsage(config: Config, context: string): MemorySnapshot;
138
+ /**
139
+ * Start global memory monitoring
140
+ */
141
+ export declare function startGlobalMemoryMonitoring(config: Config, intervalMs?: number): void;
142
+ /**
143
+ * Stop global memory monitoring
144
+ */
145
+ export declare function stopGlobalMemoryMonitoring(config?: Config): void;
146
+ /**
147
+ * Reset the global memory monitor singleton (test-only helper).
148
+ */
149
+ export declare function _resetGlobalMemoryMonitorForTests(): void;