@google/gemini-cli-core 0.1.20 → 0.1.22

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 (260) hide show
  1. package/README.md +27 -29
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.js +1 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/code_assist/converter.d.ts +1 -0
  6. package/dist/src/code_assist/converter.js +1 -0
  7. package/dist/src/code_assist/converter.js.map +1 -1
  8. package/dist/src/code_assist/oauth2.d.ts +1 -0
  9. package/dist/src/code_assist/oauth2.js +37 -20
  10. package/dist/src/code_assist/oauth2.js.map +1 -1
  11. package/dist/src/code_assist/oauth2.test.js +51 -8
  12. package/dist/src/code_assist/oauth2.test.js.map +1 -1
  13. package/dist/src/code_assist/server.js +1 -1
  14. package/dist/src/code_assist/server.js.map +1 -1
  15. package/dist/src/code_assist/setup.js +47 -16
  16. package/dist/src/code_assist/setup.js.map +1 -1
  17. package/dist/src/code_assist/setup.test.js +114 -8
  18. package/dist/src/code_assist/setup.test.js.map +1 -1
  19. package/dist/src/config/config.d.ts +8 -3
  20. package/dist/src/config/config.js +25 -12
  21. package/dist/src/config/config.js.map +1 -1
  22. package/dist/src/config/config.test.js +83 -1
  23. package/dist/src/config/config.test.js.map +1 -1
  24. package/dist/src/core/client.d.ts +7 -12
  25. package/dist/src/core/client.js +67 -30
  26. package/dist/src/core/client.js.map +1 -1
  27. package/dist/src/core/client.test.js +354 -0
  28. package/dist/src/core/client.test.js.map +1 -1
  29. package/dist/src/core/contentGenerator.js +19 -11
  30. package/dist/src/core/contentGenerator.js.map +1 -1
  31. package/dist/src/core/contentGenerator.test.js +39 -15
  32. package/dist/src/core/contentGenerator.test.js.map +1 -1
  33. package/dist/src/core/coreToolScheduler.js +6 -2
  34. package/dist/src/core/coreToolScheduler.js.map +1 -1
  35. package/dist/src/core/coreToolScheduler.test.js +46 -65
  36. package/dist/src/core/coreToolScheduler.test.js.map +1 -1
  37. package/dist/src/core/logger.d.ts +22 -1
  38. package/dist/src/core/logger.js +103 -17
  39. package/dist/src/core/logger.js.map +1 -1
  40. package/dist/src/core/logger.test.js +86 -20
  41. package/dist/src/core/logger.test.js.map +1 -1
  42. package/dist/src/core/nonInteractiveToolExecutor.js +1 -1
  43. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  44. package/dist/src/core/nonInteractiveToolExecutor.test.js +79 -36
  45. package/dist/src/core/nonInteractiveToolExecutor.test.js.map +1 -1
  46. package/dist/src/core/prompts.js +4 -4
  47. package/dist/src/core/prompts.js.map +1 -1
  48. package/dist/src/generated/git-commit.d.ts +7 -0
  49. package/dist/src/generated/git-commit.js +10 -0
  50. package/dist/src/generated/git-commit.js.map +1 -0
  51. package/dist/src/ide/constants.d.ts +6 -0
  52. package/dist/src/ide/constants.js +7 -0
  53. package/dist/src/ide/constants.js.map +1 -0
  54. package/dist/src/ide/detect-ide.d.ts +2 -0
  55. package/dist/src/ide/detect-ide.js +22 -6
  56. package/dist/src/ide/detect-ide.js.map +1 -1
  57. package/dist/src/ide/detect-ide.test.d.ts +6 -0
  58. package/dist/src/ide/detect-ide.test.js +65 -0
  59. package/dist/src/ide/detect-ide.test.js.map +1 -0
  60. package/dist/src/ide/ide-client.d.ts +5 -1
  61. package/dist/src/ide/ide-client.js +57 -21
  62. package/dist/src/ide/ide-client.js.map +1 -1
  63. package/dist/src/ide/ide-client.test.d.ts +6 -0
  64. package/dist/src/ide/ide-client.test.js +43 -0
  65. package/dist/src/ide/ide-client.test.js.map +1 -0
  66. package/dist/src/ide/ide-installer.js +5 -4
  67. package/dist/src/ide/ide-installer.js.map +1 -1
  68. package/dist/src/ide/process-utils.d.ts +14 -0
  69. package/dist/src/ide/process-utils.js +57 -0
  70. package/dist/src/ide/process-utils.js.map +1 -0
  71. package/dist/src/index.d.ts +2 -0
  72. package/dist/src/index.js +2 -0
  73. package/dist/src/index.js.map +1 -1
  74. package/dist/src/mcp/oauth-provider.d.ts +0 -1
  75. package/dist/src/mcp/oauth-provider.js +176 -59
  76. package/dist/src/mcp/oauth-provider.js.map +1 -1
  77. package/dist/src/mcp/oauth-provider.test.js +132 -62
  78. package/dist/src/mcp/oauth-provider.test.js.map +1 -1
  79. package/dist/src/mcp/oauth-utils.d.ts +3 -1
  80. package/dist/src/mcp/oauth-utils.js +50 -12
  81. package/dist/src/mcp/oauth-utils.js.map +1 -1
  82. package/dist/src/mcp/oauth-utils.test.js +17 -2
  83. package/dist/src/mcp/oauth-utils.test.js.map +1 -1
  84. package/dist/src/services/loopDetectionService.js +5 -5
  85. package/dist/src/services/loopDetectionService.js.map +1 -1
  86. package/dist/src/services/shellExecutionService.test.js +13 -3
  87. package/dist/src/services/shellExecutionService.test.js.map +1 -1
  88. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +23 -4
  89. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +84 -33
  90. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  91. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.d.ts +11 -0
  92. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js +143 -29
  93. package/dist/src/telemetry/clearcut-logger/clearcut-logger.test.js.map +1 -1
  94. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +8 -2
  95. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +17 -9
  96. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  97. package/dist/src/telemetry/constants.d.ts +1 -0
  98. package/dist/src/telemetry/constants.js +1 -0
  99. package/dist/src/telemetry/constants.js.map +1 -1
  100. package/dist/src/telemetry/index.d.ts +2 -2
  101. package/dist/src/telemetry/index.js +2 -2
  102. package/dist/src/telemetry/index.js.map +1 -1
  103. package/dist/src/telemetry/integration.test.circular.js +1 -0
  104. package/dist/src/telemetry/integration.test.circular.js.map +1 -1
  105. package/dist/src/telemetry/loggers.d.ts +3 -1
  106. package/dist/src/telemetry/loggers.js +37 -4
  107. package/dist/src/telemetry/loggers.js.map +1 -1
  108. package/dist/src/telemetry/loggers.test.js +27 -2
  109. package/dist/src/telemetry/loggers.test.js.map +1 -1
  110. package/dist/src/telemetry/metrics.d.ts +4 -0
  111. package/dist/src/telemetry/metrics.js +21 -8
  112. package/dist/src/telemetry/metrics.js.map +1 -1
  113. package/dist/src/telemetry/metrics.test.js +31 -1
  114. package/dist/src/telemetry/metrics.test.js.map +1 -1
  115. package/dist/src/telemetry/sdk.js +64 -36
  116. package/dist/src/telemetry/sdk.js.map +1 -1
  117. package/dist/src/telemetry/sdk.test.d.ts +6 -0
  118. package/dist/src/telemetry/sdk.test.js +82 -0
  119. package/dist/src/telemetry/sdk.test.js.map +1 -0
  120. package/dist/src/telemetry/types.d.ts +40 -14
  121. package/dist/src/telemetry/types.js +46 -23
  122. package/dist/src/telemetry/types.js.map +1 -1
  123. package/dist/src/test-utils/tools.d.ts +21 -6
  124. package/dist/src/test-utils/tools.js +78 -13
  125. package/dist/src/test-utils/tools.js.map +1 -1
  126. package/dist/src/tools/edit.js +2 -2
  127. package/dist/src/tools/edit.js.map +1 -1
  128. package/dist/src/tools/glob.js +2 -2
  129. package/dist/src/tools/glob.js.map +1 -1
  130. package/dist/src/tools/grep.js +2 -2
  131. package/dist/src/tools/grep.js.map +1 -1
  132. package/dist/src/tools/ls.d.ts +3 -22
  133. package/dist/src/tools/ls.js +81 -77
  134. package/dist/src/tools/ls.js.map +1 -1
  135. package/dist/src/tools/ls.test.js +62 -34
  136. package/dist/src/tools/ls.test.js.map +1 -1
  137. package/dist/src/tools/mcp-client.js +40 -10
  138. package/dist/src/tools/mcp-client.js.map +1 -1
  139. package/dist/src/tools/mcp-client.test.js +31 -1
  140. package/dist/src/tools/mcp-client.test.js.map +1 -1
  141. package/dist/src/tools/mcp-tool.d.ts +3 -5
  142. package/dist/src/tools/mcp-tool.js +62 -21
  143. package/dist/src/tools/mcp-tool.js.map +1 -1
  144. package/dist/src/tools/mcp-tool.test.js +110 -51
  145. package/dist/src/tools/mcp-tool.test.js.map +1 -1
  146. package/dist/src/tools/memoryTool.d.ts +9 -13
  147. package/dist/src/tools/memoryTool.js +124 -117
  148. package/dist/src/tools/memoryTool.js.map +1 -1
  149. package/dist/src/tools/memoryTool.test.js +28 -17
  150. package/dist/src/tools/memoryTool.test.js.map +1 -1
  151. package/dist/src/tools/read-file.js +2 -2
  152. package/dist/src/tools/read-file.js.map +1 -1
  153. package/dist/src/tools/read-many-files.d.ts +4 -5
  154. package/dist/src/tools/read-many-files.js +112 -100
  155. package/dist/src/tools/read-many-files.js.map +1 -1
  156. package/dist/src/tools/read-many-files.test.js +60 -37
  157. package/dist/src/tools/read-many-files.test.js.map +1 -1
  158. package/dist/src/tools/shell.d.ts +4 -6
  159. package/dist/src/tools/shell.js +116 -105
  160. package/dist/src/tools/shell.js.map +1 -1
  161. package/dist/src/tools/shell.test.js +52 -46
  162. package/dist/src/tools/shell.test.js.map +1 -1
  163. package/dist/src/tools/tool-error.d.ts +1 -0
  164. package/dist/src/tools/tool-error.js +1 -0
  165. package/dist/src/tools/tool-error.js.map +1 -1
  166. package/dist/src/tools/tool-registry.d.ts +8 -3
  167. package/dist/src/tools/tool-registry.js +56 -30
  168. package/dist/src/tools/tool-registry.js.map +1 -1
  169. package/dist/src/tools/tools.d.ts +28 -86
  170. package/dist/src/tools/tools.js +67 -122
  171. package/dist/src/tools/tools.js.map +1 -1
  172. package/dist/src/tools/tools.test.js +91 -2
  173. package/dist/src/tools/tools.test.js.map +1 -1
  174. package/dist/src/tools/web-fetch.d.ts +4 -7
  175. package/dist/src/tools/web-fetch.js +62 -62
  176. package/dist/src/tools/web-fetch.js.map +1 -1
  177. package/dist/src/tools/web-fetch.test.js +8 -4
  178. package/dist/src/tools/web-fetch.test.js.map +1 -1
  179. package/dist/src/tools/web-search.d.ts +4 -5
  180. package/dist/src/tools/web-search.js +51 -50
  181. package/dist/src/tools/web-search.js.map +1 -1
  182. package/dist/src/tools/web-search.test.d.ts +6 -0
  183. package/dist/src/tools/web-search.test.js +139 -0
  184. package/dist/src/tools/web-search.test.js.map +1 -0
  185. package/dist/src/tools/write-file.d.ts +15 -10
  186. package/dist/src/tools/write-file.js +133 -141
  187. package/dist/src/tools/write-file.js.map +1 -1
  188. package/dist/src/tools/write-file.test.js +57 -88
  189. package/dist/src/tools/write-file.test.js.map +1 -1
  190. package/dist/src/utils/browser.js +4 -3
  191. package/dist/src/utils/browser.js.map +1 -1
  192. package/dist/src/utils/editCorrector.js +13 -13
  193. package/dist/src/utils/editCorrector.js.map +1 -1
  194. package/dist/src/utils/editor.js +1 -1
  195. package/dist/src/utils/editor.js.map +1 -1
  196. package/dist/src/utils/editor.test.js +10 -10
  197. package/dist/src/utils/editor.test.js.map +1 -1
  198. package/dist/src/utils/errorParsing.d.ts +8 -0
  199. package/dist/src/utils/errorParsing.js +93 -0
  200. package/dist/src/utils/errorParsing.js.map +1 -0
  201. package/dist/src/utils/errorParsing.test.d.ts +6 -0
  202. package/dist/src/utils/errorParsing.test.js +172 -0
  203. package/dist/src/utils/errorParsing.test.js.map +1 -0
  204. package/dist/src/utils/filesearch/crawler.d.ts +15 -0
  205. package/dist/src/utils/filesearch/crawler.js +50 -0
  206. package/dist/src/utils/filesearch/crawler.js.map +1 -0
  207. package/dist/src/utils/filesearch/crawler.test.d.ts +6 -0
  208. package/dist/src/utils/filesearch/crawler.test.js +468 -0
  209. package/dist/src/utils/filesearch/crawler.test.js.map +1 -0
  210. package/dist/src/utils/filesearch/fileSearch.d.ts +9 -53
  211. package/dist/src/utils/filesearch/fileSearch.js +63 -118
  212. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  213. package/dist/src/utils/filesearch/fileSearch.test.js +95 -197
  214. package/dist/src/utils/filesearch/fileSearch.test.js.map +1 -1
  215. package/dist/src/utils/filesearch/ignore.d.ts +7 -0
  216. package/dist/src/utils/filesearch/ignore.js +25 -0
  217. package/dist/src/utils/filesearch/ignore.js.map +1 -1
  218. package/dist/src/utils/filesearch/ignore.test.js +89 -2
  219. package/dist/src/utils/filesearch/ignore.test.js.map +1 -1
  220. package/dist/src/utils/filesearch/result-cache.d.ts +1 -2
  221. package/dist/src/utils/filesearch/result-cache.js +1 -3
  222. package/dist/src/utils/filesearch/result-cache.js.map +1 -1
  223. package/dist/src/utils/filesearch/result-cache.test.js +3 -4
  224. package/dist/src/utils/filesearch/result-cache.test.js.map +1 -1
  225. package/dist/src/utils/memoryDiscovery.js +3 -3
  226. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  227. package/dist/src/utils/memoryDiscovery.test.js +3 -2
  228. package/dist/src/utils/memoryDiscovery.test.js.map +1 -1
  229. package/dist/src/utils/memoryImportProcessor.js +3 -7
  230. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  231. package/dist/src/utils/memoryImportProcessor.test.js +17 -20
  232. package/dist/src/utils/memoryImportProcessor.test.js.map +1 -1
  233. package/dist/src/utils/paths.d.ts +7 -0
  234. package/dist/src/utils/paths.js +15 -0
  235. package/dist/src/utils/paths.js.map +1 -1
  236. package/dist/src/utils/paths.test.js +74 -2
  237. package/dist/src/utils/paths.test.js.map +1 -1
  238. package/dist/src/utils/quotaErrorDetection.d.ts +1 -5
  239. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  240. package/dist/src/utils/secure-browser-launcher.js +4 -3
  241. package/dist/src/utils/secure-browser-launcher.js.map +1 -1
  242. package/dist/src/utils/shell-utils.d.ts +39 -0
  243. package/dist/src/utils/shell-utils.js +72 -2
  244. package/dist/src/utils/shell-utils.js.map +1 -1
  245. package/dist/src/utils/shell-utils.test.js +132 -4
  246. package/dist/src/utils/shell-utils.test.js.map +1 -1
  247. package/dist/src/utils/systemEncoding.js +1 -1
  248. package/dist/src/utils/systemEncoding.js.map +1 -1
  249. package/dist/src/utils/systemEncoding.test.js +23 -23
  250. package/dist/src/utils/systemEncoding.test.js.map +1 -1
  251. package/dist/src/utils/workspaceContext.d.ts +22 -7
  252. package/dist/src/utils/workspaceContext.js +81 -55
  253. package/dist/src/utils/workspaceContext.js.map +1 -1
  254. package/dist/src/utils/workspaceContext.test.js +221 -137
  255. package/dist/src/utils/workspaceContext.test.js.map +1 -1
  256. package/dist/tsconfig.tsbuildinfo +1 -1
  257. package/package.json +5 -2
  258. package/dist/src/core/modelCheck.d.ts +0 -14
  259. package/dist/src/core/modelCheck.js +0 -62
  260. package/dist/src/core/modelCheck.js.map +0 -1
@@ -0,0 +1,82 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { describe, it, expect, vi, beforeEach, afterEach } from 'vitest';
7
+ import { initializeTelemetry, shutdownTelemetry } from './sdk.js';
8
+ import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-grpc';
9
+ import { OTLPLogExporter } from '@opentelemetry/exporter-logs-otlp-grpc';
10
+ import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-grpc';
11
+ import { OTLPTraceExporter as OTLPTraceExporterHttp } from '@opentelemetry/exporter-trace-otlp-http';
12
+ import { OTLPLogExporter as OTLPLogExporterHttp } from '@opentelemetry/exporter-logs-otlp-http';
13
+ import { OTLPMetricExporter as OTLPMetricExporterHttp } from '@opentelemetry/exporter-metrics-otlp-http';
14
+ import { NodeSDK } from '@opentelemetry/sdk-node';
15
+ vi.mock('@opentelemetry/exporter-trace-otlp-grpc');
16
+ vi.mock('@opentelemetry/exporter-logs-otlp-grpc');
17
+ vi.mock('@opentelemetry/exporter-metrics-otlp-grpc');
18
+ vi.mock('@opentelemetry/exporter-trace-otlp-http');
19
+ vi.mock('@opentelemetry/exporter-logs-otlp-http');
20
+ vi.mock('@opentelemetry/exporter-metrics-otlp-http');
21
+ vi.mock('@opentelemetry/sdk-node');
22
+ describe('Telemetry SDK', () => {
23
+ let mockConfig;
24
+ beforeEach(() => {
25
+ vi.clearAllMocks();
26
+ mockConfig = {
27
+ getTelemetryEnabled: () => true,
28
+ getTelemetryOtlpEndpoint: () => 'http://localhost:4317',
29
+ getTelemetryOtlpProtocol: () => 'grpc',
30
+ getTelemetryOutfile: () => undefined,
31
+ getDebugMode: () => false,
32
+ getSessionId: () => 'test-session',
33
+ };
34
+ });
35
+ afterEach(async () => {
36
+ await shutdownTelemetry(mockConfig);
37
+ });
38
+ it('should use gRPC exporters when protocol is grpc', () => {
39
+ initializeTelemetry(mockConfig);
40
+ expect(OTLPTraceExporter).toHaveBeenCalledWith({
41
+ url: 'http://localhost:4317',
42
+ compression: 'gzip',
43
+ });
44
+ expect(OTLPLogExporter).toHaveBeenCalledWith({
45
+ url: 'http://localhost:4317',
46
+ compression: 'gzip',
47
+ });
48
+ expect(OTLPMetricExporter).toHaveBeenCalledWith({
49
+ url: 'http://localhost:4317',
50
+ compression: 'gzip',
51
+ });
52
+ expect(NodeSDK.prototype.start).toHaveBeenCalled();
53
+ });
54
+ it('should use HTTP exporters when protocol is http', () => {
55
+ vi.spyOn(mockConfig, 'getTelemetryEnabled').mockReturnValue(true);
56
+ vi.spyOn(mockConfig, 'getTelemetryOtlpProtocol').mockReturnValue('http');
57
+ vi.spyOn(mockConfig, 'getTelemetryOtlpEndpoint').mockReturnValue('http://localhost:4318');
58
+ initializeTelemetry(mockConfig);
59
+ expect(OTLPTraceExporterHttp).toHaveBeenCalledWith({
60
+ url: 'http://localhost:4318/',
61
+ });
62
+ expect(OTLPLogExporterHttp).toHaveBeenCalledWith({
63
+ url: 'http://localhost:4318/',
64
+ });
65
+ expect(OTLPMetricExporterHttp).toHaveBeenCalledWith({
66
+ url: 'http://localhost:4318/',
67
+ });
68
+ expect(NodeSDK.prototype.start).toHaveBeenCalled();
69
+ });
70
+ it('should parse gRPC endpoint correctly', () => {
71
+ vi.spyOn(mockConfig, 'getTelemetryOtlpEndpoint').mockReturnValue('https://my-collector.com');
72
+ initializeTelemetry(mockConfig);
73
+ expect(OTLPTraceExporter).toHaveBeenCalledWith(expect.objectContaining({ url: 'https://my-collector.com' }));
74
+ });
75
+ it('should parse HTTP endpoint correctly', () => {
76
+ vi.spyOn(mockConfig, 'getTelemetryOtlpProtocol').mockReturnValue('http');
77
+ vi.spyOn(mockConfig, 'getTelemetryOtlpEndpoint').mockReturnValue('https://my-collector.com');
78
+ initializeTelemetry(mockConfig);
79
+ expect(OTLPTraceExporterHttp).toHaveBeenCalledWith(expect.objectContaining({ url: 'https://my-collector.com/' }));
80
+ });
81
+ });
82
+ //# sourceMappingURL=sdk.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sdk.test.js","sourceRoot":"","sources":["../../../src/telemetry/sdk.test.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,13 @@ import { GenerateContentResponseUsageMetadata } from '@google/genai';
7
7
  import { Config } from '../config/config.js';
8
8
  import { CompletedToolCall } from '../core/coreToolScheduler.js';
9
9
  import { ToolCallDecision } from './tool-call-decision.js';
10
- export declare class StartSessionEvent {
10
+ export interface BaseTelemetryEvent {
11
+ 'event.name': string;
12
+ /** Current timestamp in ISO 8601 format */
13
+ 'event.timestamp': string;
14
+ }
15
+ type CommonFields = keyof BaseTelemetryEvent;
16
+ export declare class StartSessionEvent implements BaseTelemetryEvent {
11
17
  'event.name': 'cli_config';
12
18
  'event.timestamp': string;
13
19
  model: string;
@@ -24,13 +30,13 @@ export declare class StartSessionEvent {
24
30
  file_filtering_respect_git_ignore: boolean;
25
31
  constructor(config: Config);
26
32
  }
27
- export declare class EndSessionEvent {
33
+ export declare class EndSessionEvent implements BaseTelemetryEvent {
28
34
  'event.name': 'end_session';
29
35
  'event.timestamp': string;
30
36
  session_id?: string;
31
37
  constructor(config?: Config);
32
38
  }
33
- export declare class UserPromptEvent {
39
+ export declare class UserPromptEvent implements BaseTelemetryEvent {
34
40
  'event.name': 'user_prompt';
35
41
  'event.timestamp': string;
36
42
  prompt_length: number;
@@ -39,7 +45,7 @@ export declare class UserPromptEvent {
39
45
  prompt?: string;
40
46
  constructor(prompt_length: number, prompt_Id: string, auth_type?: string, prompt?: string);
41
47
  }
42
- export declare class ToolCallEvent {
48
+ export declare class ToolCallEvent implements BaseTelemetryEvent {
43
49
  'event.name': 'tool_call';
44
50
  'event.timestamp': string;
45
51
  function_name: string;
@@ -55,7 +61,7 @@ export declare class ToolCallEvent {
55
61
  };
56
62
  constructor(call: CompletedToolCall);
57
63
  }
58
- export declare class ApiRequestEvent {
64
+ export declare class ApiRequestEvent implements BaseTelemetryEvent {
59
65
  'event.name': 'api_request';
60
66
  'event.timestamp': string;
61
67
  model: string;
@@ -63,7 +69,7 @@ export declare class ApiRequestEvent {
63
69
  request_text?: string;
64
70
  constructor(model: string, prompt_id: string, request_text?: string);
65
71
  }
66
- export declare class ApiErrorEvent {
72
+ export declare class ApiErrorEvent implements BaseTelemetryEvent {
67
73
  'event.name': 'api_error';
68
74
  'event.timestamp': string;
69
75
  model: string;
@@ -75,7 +81,7 @@ export declare class ApiErrorEvent {
75
81
  auth_type?: string;
76
82
  constructor(model: string, error: string, duration_ms: number, prompt_id: string, auth_type?: string, error_type?: string, status_code?: number | string);
77
83
  }
78
- export declare class ApiResponseEvent {
84
+ export declare class ApiResponseEvent implements BaseTelemetryEvent {
79
85
  'event.name': 'api_response';
80
86
  'event.timestamp': string;
81
87
  model: string;
@@ -93,7 +99,7 @@ export declare class ApiResponseEvent {
93
99
  auth_type?: string;
94
100
  constructor(model: string, duration_ms: number, prompt_id: string, auth_type?: string, usage_data?: GenerateContentResponseUsageMetadata, response_text?: string, error?: string);
95
101
  }
96
- export declare class FlashFallbackEvent {
102
+ export declare class FlashFallbackEvent implements BaseTelemetryEvent {
97
103
  'event.name': 'flash_fallback';
98
104
  'event.timestamp': string;
99
105
  auth_type: string;
@@ -104,14 +110,14 @@ export declare enum LoopType {
104
110
  CHANTING_IDENTICAL_SENTENCES = "chanting_identical_sentences",
105
111
  LLM_DETECTED_LOOP = "llm_detected_loop"
106
112
  }
107
- export declare class LoopDetectedEvent {
113
+ export declare class LoopDetectedEvent implements BaseTelemetryEvent {
108
114
  'event.name': 'loop_detected';
109
115
  'event.timestamp': string;
110
116
  loop_type: LoopType;
111
117
  prompt_id: string;
112
118
  constructor(loop_type: LoopType, prompt_id: string);
113
119
  }
114
- export declare class NextSpeakerCheckEvent {
120
+ export declare class NextSpeakerCheckEvent implements BaseTelemetryEvent {
115
121
  'event.name': 'next_speaker_check';
116
122
  'event.timestamp': string;
117
123
  prompt_id: string;
@@ -119,14 +125,26 @@ export declare class NextSpeakerCheckEvent {
119
125
  result: string;
120
126
  constructor(prompt_id: string, finish_reason: string, result: string);
121
127
  }
122
- export declare class SlashCommandEvent {
128
+ export interface SlashCommandEvent extends BaseTelemetryEvent {
123
129
  'event.name': 'slash_command';
124
130
  'event.timestamp': string;
125
131
  command: string;
126
132
  subcommand?: string;
127
- constructor(command: string, subcommand?: string);
133
+ status?: SlashCommandStatus;
128
134
  }
129
- export declare class MalformedJsonResponseEvent {
135
+ export declare function makeSlashCommandEvent({ command, subcommand, status, }: Omit<SlashCommandEvent, CommonFields>): SlashCommandEvent;
136
+ export declare enum SlashCommandStatus {
137
+ SUCCESS = "success",
138
+ ERROR = "error"
139
+ }
140
+ export interface ChatCompressionEvent extends BaseTelemetryEvent {
141
+ 'event.name': 'chat_compression';
142
+ 'event.timestamp': string;
143
+ tokens_before: number;
144
+ tokens_after: number;
145
+ }
146
+ export declare function makeChatCompressionEvent({ tokens_before, tokens_after, }: Omit<ChatCompressionEvent, CommonFields>): ChatCompressionEvent;
147
+ export declare class MalformedJsonResponseEvent implements BaseTelemetryEvent {
130
148
  'event.name': 'malformed_json_response';
131
149
  'event.timestamp': string;
132
150
  model: string;
@@ -142,4 +160,12 @@ export declare class IdeConnectionEvent {
142
160
  connection_type: IdeConnectionType;
143
161
  constructor(connection_type: IdeConnectionType);
144
162
  }
145
- export type TelemetryEvent = StartSessionEvent | EndSessionEvent | UserPromptEvent | ToolCallEvent | ApiRequestEvent | ApiErrorEvent | ApiResponseEvent | FlashFallbackEvent | LoopDetectedEvent | NextSpeakerCheckEvent | SlashCommandEvent | MalformedJsonResponseEvent | IdeConnectionEvent;
163
+ export declare class KittySequenceOverflowEvent {
164
+ 'event.name': 'kitty_sequence_overflow';
165
+ 'event.timestamp': string;
166
+ sequence_length: number;
167
+ truncated_sequence: string;
168
+ constructor(sequence_length: number, truncated_sequence: string);
169
+ }
170
+ export type TelemetryEvent = StartSessionEvent | EndSessionEvent | UserPromptEvent | ToolCallEvent | ApiRequestEvent | ApiErrorEvent | ApiResponseEvent | FlashFallbackEvent | LoopDetectedEvent | NextSpeakerCheckEvent | KittySequenceOverflowEvent | MalformedJsonResponseEvent | IdeConnectionEvent | SlashCommandEvent;
171
+ export {};
@@ -7,7 +7,7 @@ import { AuthType } from '../core/contentGenerator.js';
7
7
  import { getDecisionFromOutcome, } from './tool-call-decision.js';
8
8
  export class StartSessionEvent {
9
9
  'event.name';
10
- 'event.timestamp'; // ISO 8601
10
+ 'event.timestamp';
11
11
  model;
12
12
  embedding_model;
13
13
  sandbox_enabled;
@@ -49,7 +49,7 @@ export class StartSessionEvent {
49
49
  }
50
50
  export class EndSessionEvent {
51
51
  'event.name';
52
- 'event.timestamp'; // ISO 8601
52
+ 'event.timestamp';
53
53
  session_id;
54
54
  constructor(config) {
55
55
  this['event.name'] = 'end_session';
@@ -59,7 +59,7 @@ export class EndSessionEvent {
59
59
  }
60
60
  export class UserPromptEvent {
61
61
  'event.name';
62
- 'event.timestamp'; // ISO 8601
62
+ 'event.timestamp';
63
63
  prompt_length;
64
64
  prompt_id;
65
65
  auth_type;
@@ -75,7 +75,7 @@ export class UserPromptEvent {
75
75
  }
76
76
  export class ToolCallEvent {
77
77
  'event.name';
78
- 'event.timestamp'; // ISO 8601
78
+ 'event.timestamp';
79
79
  function_name;
80
80
  function_args;
81
81
  duration_ms;
@@ -117,7 +117,7 @@ export class ToolCallEvent {
117
117
  }
118
118
  export class ApiRequestEvent {
119
119
  'event.name';
120
- 'event.timestamp'; // ISO 8601
120
+ 'event.timestamp';
121
121
  model;
122
122
  prompt_id;
123
123
  request_text;
@@ -131,7 +131,7 @@ export class ApiRequestEvent {
131
131
  }
132
132
  export class ApiErrorEvent {
133
133
  'event.name';
134
- 'event.timestamp'; // ISO 8601
134
+ 'event.timestamp';
135
135
  model;
136
136
  error;
137
137
  error_type;
@@ -153,7 +153,7 @@ export class ApiErrorEvent {
153
153
  }
154
154
  export class ApiResponseEvent {
155
155
  'event.name';
156
- 'event.timestamp'; // ISO 8601
156
+ 'event.timestamp';
157
157
  model;
158
158
  status_code;
159
159
  duration_ms;
@@ -187,7 +187,7 @@ export class ApiResponseEvent {
187
187
  }
188
188
  export class FlashFallbackEvent {
189
189
  'event.name';
190
- 'event.timestamp'; // ISO 8601
190
+ 'event.timestamp';
191
191
  auth_type;
192
192
  constructor(auth_type) {
193
193
  this['event.name'] = 'flash_fallback';
@@ -203,7 +203,7 @@ export var LoopType;
203
203
  })(LoopType || (LoopType = {}));
204
204
  export class LoopDetectedEvent {
205
205
  'event.name';
206
- 'event.timestamp'; // ISO 8601
206
+ 'event.timestamp';
207
207
  loop_type;
208
208
  prompt_id;
209
209
  constructor(loop_type, prompt_id) {
@@ -215,7 +215,7 @@ export class LoopDetectedEvent {
215
215
  }
216
216
  export class NextSpeakerCheckEvent {
217
217
  'event.name';
218
- 'event.timestamp'; // ISO 8601
218
+ 'event.timestamp';
219
219
  prompt_id;
220
220
  finish_reason;
221
221
  result;
@@ -227,21 +227,31 @@ export class NextSpeakerCheckEvent {
227
227
  this.result = result;
228
228
  }
229
229
  }
230
- export class SlashCommandEvent {
231
- 'event.name';
232
- 'event.timestamp'; // ISO 8106
233
- command;
234
- subcommand;
235
- constructor(command, subcommand) {
236
- this['event.name'] = 'slash_command';
237
- this['event.timestamp'] = new Date().toISOString();
238
- this.command = command;
239
- this.subcommand = subcommand;
240
- }
230
+ export function makeSlashCommandEvent({ command, subcommand, status, }) {
231
+ return {
232
+ 'event.name': 'slash_command',
233
+ 'event.timestamp': new Date().toISOString(),
234
+ command,
235
+ subcommand,
236
+ status,
237
+ };
238
+ }
239
+ export var SlashCommandStatus;
240
+ (function (SlashCommandStatus) {
241
+ SlashCommandStatus["SUCCESS"] = "success";
242
+ SlashCommandStatus["ERROR"] = "error";
243
+ })(SlashCommandStatus || (SlashCommandStatus = {}));
244
+ export function makeChatCompressionEvent({ tokens_before, tokens_after, }) {
245
+ return {
246
+ 'event.name': 'chat_compression',
247
+ 'event.timestamp': new Date().toISOString(),
248
+ tokens_before,
249
+ tokens_after,
250
+ };
241
251
  }
242
252
  export class MalformedJsonResponseEvent {
243
253
  'event.name';
244
- 'event.timestamp'; // ISO 8601
254
+ 'event.timestamp';
245
255
  model;
246
256
  constructor(model) {
247
257
  this['event.name'] = 'malformed_json_response';
@@ -256,7 +266,7 @@ export var IdeConnectionType;
256
266
  })(IdeConnectionType || (IdeConnectionType = {}));
257
267
  export class IdeConnectionEvent {
258
268
  'event.name';
259
- 'event.timestamp'; // ISO 8601
269
+ 'event.timestamp';
260
270
  connection_type;
261
271
  constructor(connection_type) {
262
272
  this['event.name'] = 'ide_connection';
@@ -264,4 +274,17 @@ export class IdeConnectionEvent {
264
274
  this.connection_type = connection_type;
265
275
  }
266
276
  }
277
+ export class KittySequenceOverflowEvent {
278
+ 'event.name';
279
+ 'event.timestamp'; // ISO 8601
280
+ sequence_length;
281
+ truncated_sequence;
282
+ constructor(sequence_length, truncated_sequence) {
283
+ this['event.name'] = 'kitty_sequence_overflow';
284
+ this['event.timestamp'] = new Date().toISOString();
285
+ this.sequence_length = sequence_length;
286
+ // Truncate to first 20 chars for logging (avoid logging sensitive data)
287
+ this.truncated_sequence = truncated_sequence.substring(0, 20);
288
+ }
289
+ }
267
290
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/telemetry/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/telemetry/types.ts"],"names":[],"mappings":"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"}
@@ -3,21 +3,36 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { BaseTool, ToolCallConfirmationDetails, ToolResult } from '../tools/tools.js';
6
+ import { BaseDeclarativeTool, BaseToolInvocation, ToolCallConfirmationDetails, ToolInvocation, ToolResult } from '../tools/tools.js';
7
7
  import { Schema } from '@google/genai';
8
+ import { ModifiableDeclarativeTool, ModifyContext } from '../tools/modifiable-tool.js';
8
9
  /**
9
10
  * A highly configurable mock tool for testing purposes.
10
11
  */
11
- export declare class MockTool extends BaseTool<{
12
+ export declare class MockTool extends BaseDeclarativeTool<{
12
13
  [key: string]: unknown;
13
14
  }, ToolResult> {
14
15
  executeFn: import("vitest").Mock<(...args: any[]) => any>;
15
16
  shouldConfirm: boolean;
16
17
  constructor(name?: string, displayName?: string, description?: string, params?: Schema);
17
- execute(params: {
18
+ protected createInvocation(params: {
18
19
  [key: string]: unknown;
19
- }, _abortSignal: AbortSignal): Promise<ToolResult>;
20
- shouldConfirmExecute(_params: {
20
+ }): ToolInvocation<{
21
21
  [key: string]: unknown;
22
- }, _abortSignal: AbortSignal): Promise<ToolCallConfirmationDetails | false>;
22
+ }, ToolResult>;
23
+ }
24
+ export declare class MockModifiableToolInvocation extends BaseToolInvocation<Record<string, unknown>, ToolResult> {
25
+ private readonly tool;
26
+ constructor(tool: MockModifiableTool, params: Record<string, unknown>);
27
+ execute(_abortSignal: AbortSignal): Promise<ToolResult>;
28
+ shouldConfirmExecute(_abortSignal: AbortSignal): Promise<ToolCallConfirmationDetails | false>;
29
+ getDescription(): string;
30
+ }
31
+ /**
32
+ * Configurable mock modifiable tool for testing.
33
+ */
34
+ export declare class MockModifiableTool extends MockTool implements ModifiableDeclarativeTool<Record<string, unknown>> {
35
+ constructor(name?: string);
36
+ getModifyContext(_abortSignal: AbortSignal): ModifyContext<Record<string, unknown>>;
37
+ protected createInvocation(params: Record<string, unknown>): ToolInvocation<Record<string, unknown>, ToolResult>;
23
38
  }
@@ -4,38 +4,103 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { vi } from 'vitest';
7
- import { BaseTool, Icon, } from '../tools/tools.js';
7
+ import { BaseDeclarativeTool, BaseToolInvocation, Kind, } from '../tools/tools.js';
8
8
  import { Type } from '@google/genai';
9
+ class MockToolInvocation extends BaseToolInvocation {
10
+ tool;
11
+ constructor(tool, params) {
12
+ super(params);
13
+ this.tool = tool;
14
+ }
15
+ async execute(_abortSignal) {
16
+ const result = this.tool.executeFn(this.params);
17
+ return (result ?? {
18
+ llmContent: `Tool ${this.tool.name} executed successfully.`,
19
+ returnDisplay: `Tool ${this.tool.name} executed successfully.`,
20
+ });
21
+ }
22
+ async shouldConfirmExecute(_abortSignal) {
23
+ if (this.tool.shouldConfirm) {
24
+ return {
25
+ type: 'exec',
26
+ title: `Confirm ${this.tool.displayName}`,
27
+ command: this.tool.name,
28
+ rootCommand: this.tool.name,
29
+ onConfirm: async () => { },
30
+ };
31
+ }
32
+ return false;
33
+ }
34
+ getDescription() {
35
+ return `A mock tool invocation for ${this.tool.name}`;
36
+ }
37
+ }
9
38
  /**
10
39
  * A highly configurable mock tool for testing purposes.
11
40
  */
12
- export class MockTool extends BaseTool {
41
+ export class MockTool extends BaseDeclarativeTool {
13
42
  executeFn = vi.fn();
14
43
  shouldConfirm = false;
15
44
  constructor(name = 'mock-tool', displayName, description = 'A mock tool for testing.', params = {
16
45
  type: Type.OBJECT,
17
46
  properties: { param: { type: Type.STRING } },
18
47
  }) {
19
- super(name, displayName ?? name, description, Icon.Hammer, params);
48
+ super(name, displayName ?? name, description, Kind.Other, params);
49
+ }
50
+ createInvocation(params) {
51
+ return new MockToolInvocation(this, params);
52
+ }
53
+ }
54
+ export class MockModifiableToolInvocation extends BaseToolInvocation {
55
+ tool;
56
+ constructor(tool, params) {
57
+ super(params);
58
+ this.tool = tool;
20
59
  }
21
- async execute(params, _abortSignal) {
22
- const result = this.executeFn(params);
60
+ async execute(_abortSignal) {
61
+ const result = this.tool.executeFn(this.params);
23
62
  return (result ?? {
24
- llmContent: `Tool ${this.name} executed successfully.`,
25
- returnDisplay: `Tool ${this.name} executed successfully.`,
63
+ llmContent: `Tool ${this.tool.name} executed successfully.`,
64
+ returnDisplay: `Tool ${this.tool.name} executed successfully.`,
26
65
  });
27
66
  }
28
- async shouldConfirmExecute(_params, _abortSignal) {
29
- if (this.shouldConfirm) {
67
+ async shouldConfirmExecute(_abortSignal) {
68
+ if (this.tool.shouldConfirm) {
30
69
  return {
31
- type: 'exec',
32
- title: `Confirm ${this.displayName}`,
33
- command: this.name,
34
- rootCommand: this.name,
70
+ type: 'edit',
71
+ title: 'Confirm Mock Tool',
72
+ fileName: 'test.txt',
73
+ filePath: 'test.txt',
74
+ fileDiff: 'diff',
75
+ originalContent: 'originalContent',
76
+ newContent: 'newContent',
35
77
  onConfirm: async () => { },
36
78
  };
37
79
  }
38
80
  return false;
39
81
  }
82
+ getDescription() {
83
+ return `A mock modifiable tool invocation for ${this.tool.name}`;
84
+ }
85
+ }
86
+ /**
87
+ * Configurable mock modifiable tool for testing.
88
+ */
89
+ export class MockModifiableTool extends MockTool {
90
+ constructor(name = 'mockModifiableTool') {
91
+ super(name);
92
+ this.shouldConfirm = true;
93
+ }
94
+ getModifyContext(_abortSignal) {
95
+ return {
96
+ getFilePath: () => 'test.txt',
97
+ getCurrentContent: async () => 'old content',
98
+ getProposedContent: async () => 'new content',
99
+ createUpdatedParams: (_oldContent, modifiedProposedContent, _originalParams) => ({ newContent: modifiedProposedContent }),
100
+ };
101
+ }
102
+ createInvocation(params) {
103
+ return new MockModifiableToolInvocation(this, params);
104
+ }
40
105
  }
41
106
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/test-utils/tools.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,EACL,QAAQ,EACR,IAAI,GAGL,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAU,IAAI,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,MAAM,OAAO,QAAS,SAAQ,QAAgD;IAC5E,SAAS,GAAG,EAAE,CAAC,EAAE,EAAE,CAAC;IACpB,aAAa,GAAG,KAAK,CAAC;IAEtB,YACE,IAAI,GAAG,WAAW,EAClB,WAAoB,EACpB,WAAW,GAAG,0BAA0B,EACxC,SAAiB;QACf,IAAI,EAAE,IAAI,CAAC,MAAM;QACjB,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE;KAC7C;QAED,KAAK,CAAC,IAAI,EAAE,WAAW,IAAI,IAAI,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACrE,CAAC;IAED,KAAK,CAAC,OAAO,CACX,MAAkC,EAClC,YAAyB;QAEzB,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACtC,OAAO,CACL,MAAM,IAAI;YACR,UAAU,EAAE,QAAQ,IAAI,CAAC,IAAI,yBAAyB;YACtD,aAAa,EAAE,QAAQ,IAAI,CAAC,IAAI,yBAAyB;SAC1D,CACF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,OAAmC,EACnC,YAAyB;QAEzB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,OAAO;gBACL,IAAI,EAAE,MAAe;gBACrB,KAAK,EAAE,WAAW,IAAI,CAAC,WAAW,EAAE;gBACpC,OAAO,EAAE,IAAI,CAAC,IAAI;gBAClB,WAAW,EAAE,IAAI,CAAC,IAAI;gBACtB,SAAS,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;aAC1B,CAAC;QACJ,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;CACF"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/test-utils/tools.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@
6
6
  import * as fs from 'fs';
7
7
  import * as path from 'path';
8
8
  import * as Diff from 'diff';
9
- import { BaseDeclarativeTool, Icon, ToolConfirmationOutcome, } from './tools.js';
9
+ import { BaseDeclarativeTool, Kind, ToolConfirmationOutcome, } from './tools.js';
10
10
  import { ToolErrorType } from './tool-error.js';
11
11
  import { SchemaValidator } from '../utils/schemaValidator.js';
12
12
  import { makeRelative, shortenPath } from '../utils/paths.js';
@@ -308,7 +308,7 @@ Expectation for required parameters:
308
308
  3. \`new_string\` MUST be the exact literal text to replace \`old_string\` with (also including all whitespace, indentation, newlines, and surrounding code etc.). Ensure the resulting code is correct and idiomatic.
309
309
  4. NEVER escape \`old_string\` or \`new_string\`, that would break the exact literal text requirement.
310
310
  **Important:** If ANY of the above are not satisfied, the tool will fail. CRITICAL for \`old_string\`: Must uniquely identify the single instance to change. Include at least 3 lines of context BEFORE and AFTER the target text, matching whitespace and indentation precisely. If this string matches multiple locations, or does not match exactly, the tool will fail.
311
- **Multiple replacements:** Set \`expected_replacements\` to the number of occurrences you want to replace. The tool will replace ALL occurrences that match \`old_string\` exactly. Ensure the number of replacements matches your expectation.`, Icon.Pencil, {
311
+ **Multiple replacements:** Set \`expected_replacements\` to the number of occurrences you want to replace. The tool will replace ALL occurrences that match \`old_string\` exactly. Ensure the number of replacements matches your expectation.`, Kind.Edit, {
312
312
  properties: {
313
313
  file_path: {
314
314
  description: "The absolute path to the file to modify. Must start with '/'.",