@google/gemini-cli-core 0.5.0-nightly.20250909.2b05cf3b → 0.5.0-preview-2

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 (82) hide show
  1. package/dist/google-gemini-cli-core-0.5.0-preview.1.tgz +0 -0
  2. package/dist/index.d.ts +3 -2
  3. package/dist/index.js +3 -2
  4. package/dist/index.js.map +1 -1
  5. package/dist/src/config/config.d.ts +9 -0
  6. package/dist/src/config/config.js +26 -1
  7. package/dist/src/config/config.js.map +1 -1
  8. package/dist/src/config/config.test.js +46 -0
  9. package/dist/src/config/config.test.js.map +1 -1
  10. package/dist/src/core/baseLlmClient.d.ts +45 -0
  11. package/dist/src/core/baseLlmClient.js +88 -0
  12. package/dist/src/core/baseLlmClient.js.map +1 -0
  13. package/dist/src/core/baseLlmClient.test.d.ts +6 -0
  14. package/dist/src/core/baseLlmClient.test.js +190 -0
  15. package/dist/src/core/baseLlmClient.test.js.map +1 -0
  16. package/dist/src/core/coreToolScheduler.js +5 -2
  17. package/dist/src/core/coreToolScheduler.js.map +1 -1
  18. package/dist/src/generated/git-commit.d.ts +2 -2
  19. package/dist/src/generated/git-commit.js +2 -2
  20. package/dist/src/generated/git-commit.js.map +1 -1
  21. package/dist/src/ide/constants.d.ts +2 -0
  22. package/dist/src/ide/constants.js +2 -0
  23. package/dist/src/ide/constants.js.map +1 -1
  24. package/dist/src/ide/ide-client.d.ts +1 -1
  25. package/dist/src/ide/ide-client.js +61 -2
  26. package/dist/src/ide/ide-client.js.map +1 -1
  27. package/dist/src/ide/ide-client.test.js +166 -1
  28. package/dist/src/ide/ide-client.test.js.map +1 -1
  29. package/dist/src/ide/ideContext.d.ts +1 -264
  30. package/dist/src/ide/ideContext.js +42 -31
  31. package/dist/src/ide/ideContext.js.map +1 -1
  32. package/dist/src/ide/ideContext.test.js +154 -24
  33. package/dist/src/ide/ideContext.test.js.map +1 -1
  34. package/dist/src/ide/types.d.ts +345 -0
  35. package/dist/src/ide/types.js +65 -0
  36. package/dist/src/ide/types.js.map +1 -0
  37. package/dist/src/index.d.ts +2 -0
  38. package/dist/src/index.js +2 -0
  39. package/dist/src/index.js.map +1 -1
  40. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +4 -2
  41. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +23 -0
  42. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +1 -1
  43. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +5 -1
  44. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +11 -0
  45. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +1 -1
  46. package/dist/src/telemetry/high-water-mark-tracker.d.ts +43 -0
  47. package/dist/src/telemetry/high-water-mark-tracker.js +88 -0
  48. package/dist/src/telemetry/high-water-mark-tracker.js.map +1 -0
  49. package/dist/src/telemetry/high-water-mark-tracker.test.d.ts +6 -0
  50. package/dist/src/telemetry/high-water-mark-tracker.test.js +152 -0
  51. package/dist/src/telemetry/high-water-mark-tracker.test.js.map +1 -0
  52. package/dist/src/telemetry/index.d.ts +2 -0
  53. package/dist/src/telemetry/index.js +2 -0
  54. package/dist/src/telemetry/index.js.map +1 -1
  55. package/dist/src/telemetry/rate-limiter.d.ts +48 -0
  56. package/dist/src/telemetry/rate-limiter.js +100 -0
  57. package/dist/src/telemetry/rate-limiter.js.map +1 -0
  58. package/dist/src/telemetry/rate-limiter.test.d.ts +6 -0
  59. package/dist/src/telemetry/rate-limiter.test.js +207 -0
  60. package/dist/src/telemetry/rate-limiter.test.js.map +1 -0
  61. package/dist/src/telemetry/types.d.ts +10 -1
  62. package/dist/src/telemetry/types.js +16 -0
  63. package/dist/src/telemetry/types.js.map +1 -1
  64. package/dist/src/tools/smart-edit.js +1 -1
  65. package/dist/src/tools/smart-edit.js.map +1 -1
  66. package/dist/src/tools/smart-edit.test.js +5 -0
  67. package/dist/src/tools/smart-edit.test.js.map +1 -1
  68. package/dist/src/utils/gitIgnoreParser.d.ts +1 -0
  69. package/dist/src/utils/gitIgnoreParser.js +33 -24
  70. package/dist/src/utils/gitIgnoreParser.js.map +1 -1
  71. package/dist/src/utils/llm-edit-fixer.d.ts +4 -3
  72. package/dist/src/utils/llm-edit-fixer.js +19 -10
  73. package/dist/src/utils/llm-edit-fixer.js.map +1 -1
  74. package/dist/src/utils/llm-edit-fixer.test.d.ts +6 -0
  75. package/dist/src/utils/llm-edit-fixer.test.js +105 -0
  76. package/dist/src/utils/llm-edit-fixer.test.js.map +1 -0
  77. package/dist/src/utils/promptIdContext.d.ts +7 -0
  78. package/dist/src/utils/promptIdContext.js +8 -0
  79. package/dist/src/utils/promptIdContext.js.map +1 -0
  80. package/dist/tsconfig.tsbuildinfo +1 -1
  81. package/package.json +1 -1
  82. package/dist/google-gemini-cli-core-0.3.4.tgz +0 -0
@@ -3,17 +3,22 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { describe, it, expect, beforeEach, vi } from 'vitest';
7
- import { createIdeContextStore, FileSchema, IdeContextSchema, } from './ideContext.js';
6
+ import { IDE_MAX_OPEN_FILES, IDE_MAX_SELECTED_TEXT_LENGTH, } from './constants.js';
7
+ import { describe, it, expect, beforeEach, vi, afterEach } from 'vitest';
8
+ import { createIdeContextStore } from './ideContext.js';
9
+ import { FileSchema, IdeContextSchema, } from './types.js';
8
10
  describe('ideContext', () => {
9
11
  describe('createIdeContextStore', () => {
10
- let ideContext;
12
+ let ideContextStore;
11
13
  beforeEach(() => {
12
14
  // Create a fresh, isolated instance for each test
13
- ideContext = createIdeContextStore();
15
+ ideContextStore = createIdeContextStore();
16
+ });
17
+ afterEach(() => {
18
+ vi.restoreAllMocks();
14
19
  });
15
20
  it('should return undefined initially for ide context', () => {
16
- expect(ideContext.getIdeContext()).toBeUndefined();
21
+ expect(ideContextStore.getIdeContext()).toBeUndefined();
17
22
  });
18
23
  it('should set and retrieve the ide context', () => {
19
24
  const testFile = {
@@ -28,8 +33,8 @@ describe('ideContext', () => {
28
33
  ],
29
34
  },
30
35
  };
31
- ideContext.setIdeContext(testFile);
32
- const activeFile = ideContext.getIdeContext();
36
+ ideContextStore.setIdeContext(testFile);
37
+ const activeFile = ideContextStore.getIdeContext();
33
38
  expect(activeFile).toEqual(testFile);
34
39
  });
35
40
  it('should update the ide context when called multiple times', () => {
@@ -45,7 +50,7 @@ describe('ideContext', () => {
45
50
  ],
46
51
  },
47
52
  };
48
- ideContext.setIdeContext(firstFile);
53
+ ideContextStore.setIdeContext(firstFile);
49
54
  const secondFile = {
50
55
  workspaceState: {
51
56
  openFiles: [
@@ -58,8 +63,8 @@ describe('ideContext', () => {
58
63
  ],
59
64
  },
60
65
  };
61
- ideContext.setIdeContext(secondFile);
62
- const activeFile = ideContext.getIdeContext();
66
+ ideContextStore.setIdeContext(secondFile);
67
+ const activeFile = ideContextStore.getIdeContext();
63
68
  expect(activeFile).toEqual(secondFile);
64
69
  });
65
70
  it('should handle empty string for file path', () => {
@@ -75,14 +80,14 @@ describe('ideContext', () => {
75
80
  ],
76
81
  },
77
82
  };
78
- ideContext.setIdeContext(testFile);
79
- expect(ideContext.getIdeContext()).toEqual(testFile);
83
+ ideContextStore.setIdeContext(testFile);
84
+ expect(ideContextStore.getIdeContext()).toEqual(testFile);
80
85
  });
81
86
  it('should notify subscribers when ide context changes', () => {
82
87
  const subscriber1 = vi.fn();
83
88
  const subscriber2 = vi.fn();
84
- ideContext.subscribeToIdeContext(subscriber1);
85
- ideContext.subscribeToIdeContext(subscriber2);
89
+ ideContextStore.subscribeToIdeContext(subscriber1);
90
+ ideContextStore.subscribeToIdeContext(subscriber2);
86
91
  const testFile = {
87
92
  workspaceState: {
88
93
  openFiles: [
@@ -95,7 +100,7 @@ describe('ideContext', () => {
95
100
  ],
96
101
  },
97
102
  };
98
- ideContext.setIdeContext(testFile);
103
+ ideContextStore.setIdeContext(testFile);
99
104
  expect(subscriber1).toHaveBeenCalledTimes(1);
100
105
  expect(subscriber1).toHaveBeenCalledWith(testFile);
101
106
  expect(subscriber2).toHaveBeenCalledTimes(1);
@@ -113,7 +118,7 @@ describe('ideContext', () => {
113
118
  ],
114
119
  },
115
120
  };
116
- ideContext.setIdeContext(newFile);
121
+ ideContextStore.setIdeContext(newFile);
117
122
  expect(subscriber1).toHaveBeenCalledTimes(2);
118
123
  expect(subscriber1).toHaveBeenCalledWith(newFile);
119
124
  expect(subscriber2).toHaveBeenCalledTimes(2);
@@ -122,9 +127,9 @@ describe('ideContext', () => {
122
127
  it('should stop notifying a subscriber after unsubscribe', () => {
123
128
  const subscriber1 = vi.fn();
124
129
  const subscriber2 = vi.fn();
125
- const unsubscribe1 = ideContext.subscribeToIdeContext(subscriber1);
126
- ideContext.subscribeToIdeContext(subscriber2);
127
- ideContext.setIdeContext({
130
+ const unsubscribe1 = ideContextStore.subscribeToIdeContext(subscriber1);
131
+ ideContextStore.subscribeToIdeContext(subscriber2);
132
+ ideContextStore.setIdeContext({
128
133
  workspaceState: {
129
134
  openFiles: [
130
135
  {
@@ -139,7 +144,7 @@ describe('ideContext', () => {
139
144
  expect(subscriber1).toHaveBeenCalledTimes(1);
140
145
  expect(subscriber2).toHaveBeenCalledTimes(1);
141
146
  unsubscribe1();
142
- ideContext.setIdeContext({
147
+ ideContextStore.setIdeContext({
143
148
  workspaceState: {
144
149
  openFiles: [
145
150
  {
@@ -167,10 +172,135 @@ describe('ideContext', () => {
167
172
  ],
168
173
  },
169
174
  };
170
- ideContext.setIdeContext(testFile);
171
- expect(ideContext.getIdeContext()).toEqual(testFile);
172
- ideContext.clearIdeContext();
173
- expect(ideContext.getIdeContext()).toBeUndefined();
175
+ ideContextStore.setIdeContext(testFile);
176
+ expect(ideContextStore.getIdeContext()).toEqual(testFile);
177
+ ideContextStore.clearIdeContext();
178
+ expect(ideContextStore.getIdeContext()).toBeUndefined();
179
+ });
180
+ it('should set the context and notify subscribers when no workspaceState is present', () => {
181
+ const subscriber = vi.fn();
182
+ ideContextStore.subscribeToIdeContext(subscriber);
183
+ const context = {};
184
+ ideContextStore.setIdeContext(context);
185
+ expect(ideContextStore.getIdeContext()).toBe(context);
186
+ expect(subscriber).toHaveBeenCalledWith(context);
187
+ });
188
+ it('should handle an empty openFiles array', () => {
189
+ const context = {
190
+ workspaceState: {
191
+ openFiles: [],
192
+ },
193
+ };
194
+ ideContextStore.setIdeContext(context);
195
+ expect(ideContextStore.getIdeContext()?.workspaceState?.openFiles).toEqual([]);
196
+ });
197
+ it('should sort openFiles by timestamp in descending order', () => {
198
+ const context = {
199
+ workspaceState: {
200
+ openFiles: [
201
+ { path: 'file1.ts', timestamp: 100, isActive: false },
202
+ { path: 'file2.ts', timestamp: 300, isActive: true },
203
+ { path: 'file3.ts', timestamp: 200, isActive: false },
204
+ ],
205
+ },
206
+ };
207
+ ideContextStore.setIdeContext(context);
208
+ const openFiles = ideContextStore.getIdeContext()?.workspaceState?.openFiles;
209
+ expect(openFiles?.[0]?.path).toBe('file2.ts');
210
+ expect(openFiles?.[1]?.path).toBe('file3.ts');
211
+ expect(openFiles?.[2]?.path).toBe('file1.ts');
212
+ });
213
+ it('should mark only the most recent file as active and clear other active files', () => {
214
+ const context = {
215
+ workspaceState: {
216
+ openFiles: [
217
+ {
218
+ path: 'file1.ts',
219
+ timestamp: 100,
220
+ isActive: true,
221
+ selectedText: 'hello',
222
+ },
223
+ {
224
+ path: 'file2.ts',
225
+ timestamp: 300,
226
+ isActive: true,
227
+ cursor: { line: 1, character: 1 },
228
+ selectedText: 'hello',
229
+ },
230
+ {
231
+ path: 'file3.ts',
232
+ timestamp: 200,
233
+ isActive: false,
234
+ selectedText: 'hello',
235
+ },
236
+ ],
237
+ },
238
+ };
239
+ ideContextStore.setIdeContext(context);
240
+ const openFiles = ideContextStore.getIdeContext()?.workspaceState?.openFiles;
241
+ expect(openFiles?.[0]?.isActive).toBe(true);
242
+ expect(openFiles?.[0]?.cursor).toBeDefined();
243
+ expect(openFiles?.[0]?.selectedText).toBeDefined();
244
+ expect(openFiles?.[1]?.isActive).toBe(false);
245
+ expect(openFiles?.[1]?.cursor).toBeUndefined();
246
+ expect(openFiles?.[1]?.selectedText).toBeUndefined();
247
+ expect(openFiles?.[2]?.isActive).toBe(false);
248
+ expect(openFiles?.[2]?.cursor).toBeUndefined();
249
+ expect(openFiles?.[2]?.selectedText).toBeUndefined();
250
+ });
251
+ it('should truncate selectedText if it exceeds the max length', () => {
252
+ const longText = 'a'.repeat(IDE_MAX_SELECTED_TEXT_LENGTH + 10);
253
+ const context = {
254
+ workspaceState: {
255
+ openFiles: [
256
+ {
257
+ path: 'file1.ts',
258
+ timestamp: 100,
259
+ isActive: true,
260
+ selectedText: longText,
261
+ },
262
+ ],
263
+ },
264
+ };
265
+ ideContextStore.setIdeContext(context);
266
+ const selectedText = ideContextStore.getIdeContext()?.workspaceState?.openFiles?.[0]
267
+ ?.selectedText;
268
+ expect(selectedText).toHaveLength(IDE_MAX_SELECTED_TEXT_LENGTH + '... [TRUNCATED]'.length);
269
+ expect(selectedText?.endsWith('... [TRUNCATED]')).toBe(true);
270
+ });
271
+ it('should not truncate selectedText if it is within the max length', () => {
272
+ const shortText = 'a'.repeat(IDE_MAX_SELECTED_TEXT_LENGTH);
273
+ const context = {
274
+ workspaceState: {
275
+ openFiles: [
276
+ {
277
+ path: 'file1.ts',
278
+ timestamp: 100,
279
+ isActive: true,
280
+ selectedText: shortText,
281
+ },
282
+ ],
283
+ },
284
+ };
285
+ ideContextStore.setIdeContext(context);
286
+ const selectedText = ideContextStore.getIdeContext()?.workspaceState?.openFiles?.[0]
287
+ ?.selectedText;
288
+ expect(selectedText).toBe(shortText);
289
+ });
290
+ it('should truncate the openFiles list if it exceeds the max length', () => {
291
+ const files = Array.from({ length: IDE_MAX_OPEN_FILES + 5 }, (_, i) => ({
292
+ path: `file${i}.ts`,
293
+ timestamp: i,
294
+ isActive: false,
295
+ }));
296
+ const context = {
297
+ workspaceState: {
298
+ openFiles: files,
299
+ },
300
+ };
301
+ ideContextStore.setIdeContext(context);
302
+ const openFiles = ideContextStore.getIdeContext()?.workspaceState?.openFiles;
303
+ expect(openFiles).toHaveLength(IDE_MAX_OPEN_FILES);
174
304
  });
175
305
  });
176
306
  describe('FileSchema', () => {
@@ -1 +1 @@
1
- {"version":3,"file":"ideContext.test.js","sourceRoot":"","sources":["../../../src/ide/ideContext.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ideContext.test.js","sourceRoot":"","sources":["../../../src/ide/ideContext.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,345 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2025 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { z } from 'zod';
7
+ /**
8
+ * A file that is open in the IDE.
9
+ */
10
+ export declare const FileSchema: z.ZodObject<{
11
+ /**
12
+ * The absolute path to the file.
13
+ */
14
+ path: z.ZodString;
15
+ /**
16
+ * The unix timestamp of when the file was last focused.
17
+ */
18
+ timestamp: z.ZodNumber;
19
+ /**
20
+ * Whether the file is the currently active file. Only one file can be active at a time.
21
+ */
22
+ isActive: z.ZodOptional<z.ZodBoolean>;
23
+ /**
24
+ * The text that is currently selected in the active file.
25
+ */
26
+ selectedText: z.ZodOptional<z.ZodString>;
27
+ /**
28
+ * The cursor position in the active file.
29
+ */
30
+ cursor: z.ZodOptional<z.ZodObject<{
31
+ /**
32
+ * The 1-based line number.
33
+ */
34
+ line: z.ZodNumber;
35
+ /**
36
+ * The 1-based character offset.
37
+ */
38
+ character: z.ZodNumber;
39
+ }, "strip", z.ZodTypeAny, {
40
+ line: number;
41
+ character: number;
42
+ }, {
43
+ line: number;
44
+ character: number;
45
+ }>>;
46
+ }, "strip", z.ZodTypeAny, {
47
+ path: string;
48
+ timestamp: number;
49
+ cursor?: {
50
+ line: number;
51
+ character: number;
52
+ } | undefined;
53
+ isActive?: boolean | undefined;
54
+ selectedText?: string | undefined;
55
+ }, {
56
+ path: string;
57
+ timestamp: number;
58
+ cursor?: {
59
+ line: number;
60
+ character: number;
61
+ } | undefined;
62
+ isActive?: boolean | undefined;
63
+ selectedText?: string | undefined;
64
+ }>;
65
+ export type File = z.infer<typeof FileSchema>;
66
+ /**
67
+ * The context of the IDE.
68
+ */
69
+ export declare const IdeContextSchema: z.ZodObject<{
70
+ workspaceState: z.ZodOptional<z.ZodObject<{
71
+ /**
72
+ * The list of files that are currently open.
73
+ */
74
+ openFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
75
+ /**
76
+ * The absolute path to the file.
77
+ */
78
+ path: z.ZodString;
79
+ /**
80
+ * The unix timestamp of when the file was last focused.
81
+ */
82
+ timestamp: z.ZodNumber;
83
+ /**
84
+ * Whether the file is the currently active file. Only one file can be active at a time.
85
+ */
86
+ isActive: z.ZodOptional<z.ZodBoolean>;
87
+ /**
88
+ * The text that is currently selected in the active file.
89
+ */
90
+ selectedText: z.ZodOptional<z.ZodString>;
91
+ /**
92
+ * The cursor position in the active file.
93
+ */
94
+ cursor: z.ZodOptional<z.ZodObject<{
95
+ /**
96
+ * The 1-based line number.
97
+ */
98
+ line: z.ZodNumber;
99
+ /**
100
+ * The 1-based character offset.
101
+ */
102
+ character: z.ZodNumber;
103
+ }, "strip", z.ZodTypeAny, {
104
+ line: number;
105
+ character: number;
106
+ }, {
107
+ line: number;
108
+ character: number;
109
+ }>>;
110
+ }, "strip", z.ZodTypeAny, {
111
+ path: string;
112
+ timestamp: number;
113
+ cursor?: {
114
+ line: number;
115
+ character: number;
116
+ } | undefined;
117
+ isActive?: boolean | undefined;
118
+ selectedText?: string | undefined;
119
+ }, {
120
+ path: string;
121
+ timestamp: number;
122
+ cursor?: {
123
+ line: number;
124
+ character: number;
125
+ } | undefined;
126
+ isActive?: boolean | undefined;
127
+ selectedText?: string | undefined;
128
+ }>, "many">>;
129
+ /**
130
+ * Whether the workspace is trusted.
131
+ */
132
+ isTrusted: z.ZodOptional<z.ZodBoolean>;
133
+ }, "strip", z.ZodTypeAny, {
134
+ openFiles?: {
135
+ path: string;
136
+ timestamp: number;
137
+ cursor?: {
138
+ line: number;
139
+ character: number;
140
+ } | undefined;
141
+ isActive?: boolean | undefined;
142
+ selectedText?: string | undefined;
143
+ }[] | undefined;
144
+ isTrusted?: boolean | undefined;
145
+ }, {
146
+ openFiles?: {
147
+ path: string;
148
+ timestamp: number;
149
+ cursor?: {
150
+ line: number;
151
+ character: number;
152
+ } | undefined;
153
+ isActive?: boolean | undefined;
154
+ selectedText?: string | undefined;
155
+ }[] | undefined;
156
+ isTrusted?: boolean | undefined;
157
+ }>>;
158
+ }, "strip", z.ZodTypeAny, {
159
+ workspaceState?: {
160
+ openFiles?: {
161
+ path: string;
162
+ timestamp: number;
163
+ cursor?: {
164
+ line: number;
165
+ character: number;
166
+ } | undefined;
167
+ isActive?: boolean | undefined;
168
+ selectedText?: string | undefined;
169
+ }[] | undefined;
170
+ isTrusted?: boolean | undefined;
171
+ } | undefined;
172
+ }, {
173
+ workspaceState?: {
174
+ openFiles?: {
175
+ path: string;
176
+ timestamp: number;
177
+ cursor?: {
178
+ line: number;
179
+ character: number;
180
+ } | undefined;
181
+ isActive?: boolean | undefined;
182
+ selectedText?: string | undefined;
183
+ }[] | undefined;
184
+ isTrusted?: boolean | undefined;
185
+ } | undefined;
186
+ }>;
187
+ export type IdeContext = z.infer<typeof IdeContextSchema>;
188
+ export declare const IdeContextNotificationSchema: z.ZodObject<{
189
+ jsonrpc: z.ZodLiteral<"2.0">;
190
+ method: z.ZodLiteral<"ide/contextUpdate">;
191
+ params: z.ZodObject<{
192
+ workspaceState: z.ZodOptional<z.ZodObject<{
193
+ /**
194
+ * The list of files that are currently open.
195
+ */
196
+ openFiles: z.ZodOptional<z.ZodArray<z.ZodObject<{
197
+ /**
198
+ * The absolute path to the file.
199
+ */
200
+ path: z.ZodString;
201
+ /**
202
+ * The unix timestamp of when the file was last focused.
203
+ */
204
+ timestamp: z.ZodNumber;
205
+ /**
206
+ * Whether the file is the currently active file. Only one file can be active at a time.
207
+ */
208
+ isActive: z.ZodOptional<z.ZodBoolean>;
209
+ /**
210
+ * The text that is currently selected in the active file.
211
+ */
212
+ selectedText: z.ZodOptional<z.ZodString>;
213
+ /**
214
+ * The cursor position in the active file.
215
+ */
216
+ cursor: z.ZodOptional<z.ZodObject<{
217
+ /**
218
+ * The 1-based line number.
219
+ */
220
+ line: z.ZodNumber;
221
+ /**
222
+ * The 1-based character offset.
223
+ */
224
+ character: z.ZodNumber;
225
+ }, "strip", z.ZodTypeAny, {
226
+ line: number;
227
+ character: number;
228
+ }, {
229
+ line: number;
230
+ character: number;
231
+ }>>;
232
+ }, "strip", z.ZodTypeAny, {
233
+ path: string;
234
+ timestamp: number;
235
+ cursor?: {
236
+ line: number;
237
+ character: number;
238
+ } | undefined;
239
+ isActive?: boolean | undefined;
240
+ selectedText?: string | undefined;
241
+ }, {
242
+ path: string;
243
+ timestamp: number;
244
+ cursor?: {
245
+ line: number;
246
+ character: number;
247
+ } | undefined;
248
+ isActive?: boolean | undefined;
249
+ selectedText?: string | undefined;
250
+ }>, "many">>;
251
+ /**
252
+ * Whether the workspace is trusted.
253
+ */
254
+ isTrusted: z.ZodOptional<z.ZodBoolean>;
255
+ }, "strip", z.ZodTypeAny, {
256
+ openFiles?: {
257
+ path: string;
258
+ timestamp: number;
259
+ cursor?: {
260
+ line: number;
261
+ character: number;
262
+ } | undefined;
263
+ isActive?: boolean | undefined;
264
+ selectedText?: string | undefined;
265
+ }[] | undefined;
266
+ isTrusted?: boolean | undefined;
267
+ }, {
268
+ openFiles?: {
269
+ path: string;
270
+ timestamp: number;
271
+ cursor?: {
272
+ line: number;
273
+ character: number;
274
+ } | undefined;
275
+ isActive?: boolean | undefined;
276
+ selectedText?: string | undefined;
277
+ }[] | undefined;
278
+ isTrusted?: boolean | undefined;
279
+ }>>;
280
+ }, "strip", z.ZodTypeAny, {
281
+ workspaceState?: {
282
+ openFiles?: {
283
+ path: string;
284
+ timestamp: number;
285
+ cursor?: {
286
+ line: number;
287
+ character: number;
288
+ } | undefined;
289
+ isActive?: boolean | undefined;
290
+ selectedText?: string | undefined;
291
+ }[] | undefined;
292
+ isTrusted?: boolean | undefined;
293
+ } | undefined;
294
+ }, {
295
+ workspaceState?: {
296
+ openFiles?: {
297
+ path: string;
298
+ timestamp: number;
299
+ cursor?: {
300
+ line: number;
301
+ character: number;
302
+ } | undefined;
303
+ isActive?: boolean | undefined;
304
+ selectedText?: string | undefined;
305
+ }[] | undefined;
306
+ isTrusted?: boolean | undefined;
307
+ } | undefined;
308
+ }>;
309
+ }, "strip", z.ZodTypeAny, {
310
+ params: {
311
+ workspaceState?: {
312
+ openFiles?: {
313
+ path: string;
314
+ timestamp: number;
315
+ cursor?: {
316
+ line: number;
317
+ character: number;
318
+ } | undefined;
319
+ isActive?: boolean | undefined;
320
+ selectedText?: string | undefined;
321
+ }[] | undefined;
322
+ isTrusted?: boolean | undefined;
323
+ } | undefined;
324
+ };
325
+ jsonrpc: "2.0";
326
+ method: "ide/contextUpdate";
327
+ }, {
328
+ params: {
329
+ workspaceState?: {
330
+ openFiles?: {
331
+ path: string;
332
+ timestamp: number;
333
+ cursor?: {
334
+ line: number;
335
+ character: number;
336
+ } | undefined;
337
+ isActive?: boolean | undefined;
338
+ selectedText?: string | undefined;
339
+ }[] | undefined;
340
+ isTrusted?: boolean | undefined;
341
+ } | undefined;
342
+ };
343
+ jsonrpc: "2.0";
344
+ method: "ide/contextUpdate";
345
+ }>;