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

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 (184) hide show
  1. package/README.md +9 -0
  2. package/dist/index.js +1 -0
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/auth/anthropic-device-flow.d.ts +1 -1
  5. package/dist/src/auth/anthropic-device-flow.js +4 -2
  6. package/dist/src/auth/anthropic-device-flow.js.map +1 -1
  7. package/dist/src/code_assist/converter.d.ts +2 -2
  8. package/dist/src/code_assist/converter.js +1 -1
  9. package/dist/src/code_assist/converter.js.map +1 -1
  10. package/dist/src/code_assist/setup.js +49 -15
  11. package/dist/src/code_assist/setup.js.map +1 -1
  12. package/dist/src/config/config.d.ts +9 -6
  13. package/dist/src/config/config.js +28 -22
  14. package/dist/src/config/config.js.map +1 -1
  15. package/dist/src/core/client.d.ts +8 -3
  16. package/dist/src/core/client.js +177 -38
  17. package/dist/src/core/client.js.map +1 -1
  18. package/dist/src/core/contentGenerator.js +0 -2
  19. package/dist/src/core/contentGenerator.js.map +1 -1
  20. package/dist/src/core/coreToolScheduler.d.ts +0 -1
  21. package/dist/src/core/coreToolScheduler.js +0 -3
  22. package/dist/src/core/coreToolScheduler.js.map +1 -1
  23. package/dist/src/core/geminiChat.js +57 -5
  24. package/dist/src/core/geminiChat.js.map +1 -1
  25. package/dist/src/core/loggingContentGenerator.d.ts +5 -0
  26. package/dist/src/core/loggingContentGenerator.js +9 -1
  27. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  28. package/dist/src/core/nonInteractiveToolExecutor.js +158 -3
  29. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  30. package/dist/src/core/prompts.js +19 -2
  31. package/dist/src/core/prompts.js.map +1 -1
  32. package/dist/src/filters/EmojiFilter.d.ts +122 -0
  33. package/dist/src/filters/EmojiFilter.js +327 -0
  34. package/dist/src/filters/EmojiFilter.js.map +1 -0
  35. package/dist/src/ide/detect-ide.d.ts +12 -2
  36. package/dist/src/ide/detect-ide.js +64 -5
  37. package/dist/src/ide/detect-ide.js.map +1 -1
  38. package/dist/src/ide/ide-client.js +22 -15
  39. package/dist/src/ide/ide-client.js.map +1 -1
  40. package/dist/src/ide/ide-installer.js +1 -26
  41. package/dist/src/ide/ide-installer.js.map +1 -1
  42. package/dist/src/ide/ideContext.d.ts +6 -6
  43. package/dist/src/index.d.ts +4 -1
  44. package/dist/src/index.js +4 -1
  45. package/dist/src/index.js.map +1 -1
  46. package/dist/src/mcp/oauth-provider.d.ts +0 -1
  47. package/dist/src/mcp/oauth-provider.js +2 -3
  48. package/dist/src/mcp/oauth-provider.js.map +1 -1
  49. package/dist/src/prompt-config/defaults/core-defaults.d.ts +1 -1
  50. package/dist/src/prompt-config/defaults/core-defaults.js +205 -326
  51. package/dist/src/prompt-config/defaults/core-defaults.js.map +1 -1
  52. package/dist/src/prompt-config/defaults/core.md +1 -1
  53. package/dist/src/prompt-config/defaults/provider-defaults.d.ts +1 -1
  54. package/dist/src/prompt-config/defaults/provider-defaults.js +172 -19
  55. package/dist/src/prompt-config/defaults/provider-defaults.js.map +1 -1
  56. package/dist/src/prompt-config/defaults/providers/anthropic/core.md +81 -0
  57. package/dist/src/prompt-config/defaults/providers/anthropic/tools/glob.md +34 -0
  58. package/dist/src/prompt-config/defaults/providers/anthropic/tools/list-directory.md +11 -0
  59. package/dist/src/prompt-config/defaults/providers/anthropic/tools/read-file.md +14 -0
  60. package/dist/src/prompt-config/defaults/providers/anthropic/tools/read-many-files.md +31 -0
  61. package/dist/src/prompt-config/defaults/providers/anthropic/tools/replace.md +41 -0
  62. package/dist/src/prompt-config/defaults/providers/anthropic/tools/run-shell-command.md +32 -0
  63. package/dist/src/prompt-config/defaults/providers/anthropic/tools/save-memory.md +35 -0
  64. package/dist/src/prompt-config/defaults/providers/anthropic/tools/search-file-content.md +44 -0
  65. package/dist/src/prompt-config/defaults/providers/anthropic/tools/todo-write.md +45 -0
  66. package/dist/src/prompt-config/defaults/providers/anthropic/tools/write-file.md +11 -0
  67. package/dist/src/prompt-config/defaults/providers/gemini/models/gemini-2.5-flash/core.md +273 -10
  68. package/dist/src/prompt-config/defaults/providers/gemini/models/gemini-2.5-flash/gemini-2-5-flash/core.md +278 -0
  69. package/dist/src/prompt-config/defaults/tool-defaults.d.ts +1 -1
  70. package/dist/src/prompt-config/defaults/tool-defaults.js +184 -75
  71. package/dist/src/prompt-config/defaults/tool-defaults.js.map +1 -1
  72. package/dist/src/prompt-config/defaults/tools/read-file.md +1 -1
  73. package/dist/src/prompt-config/prompt-service.d.ts +1 -1
  74. package/dist/src/prompt-config/prompt-service.js +5 -3
  75. package/dist/src/prompt-config/prompt-service.js.map +1 -1
  76. package/dist/src/providers/BaseProvider.js +1 -1
  77. package/dist/src/providers/BaseProvider.js.map +1 -1
  78. package/dist/src/providers/LoggingProviderWrapper.js +0 -12
  79. package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
  80. package/dist/src/providers/ProviderContentGenerator.d.ts +2 -2
  81. package/dist/src/providers/ProviderContentGenerator.js +5 -3
  82. package/dist/src/providers/ProviderContentGenerator.js.map +1 -1
  83. package/dist/src/providers/adapters/GeminiCompatibleWrapper.js +1 -1
  84. package/dist/src/providers/adapters/GeminiCompatibleWrapper.js.map +1 -1
  85. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +1 -1
  86. package/dist/src/providers/anthropic/AnthropicProvider.js +97 -35
  87. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  88. package/dist/src/providers/gemini/GeminiProvider.d.ts +4 -5
  89. package/dist/src/providers/gemini/GeminiProvider.js +21 -26
  90. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  91. package/dist/src/providers/openai/OpenAIProvider.js +2 -1
  92. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  93. package/dist/src/providers/openai/parseResponsesStream.js +6 -6
  94. package/dist/src/providers/openai/parseResponsesStream.js.map +1 -1
  95. package/dist/src/services/loopDetectionService.js +4 -5
  96. package/dist/src/services/loopDetectionService.js.map +1 -1
  97. package/dist/src/services/todo-context-tracker.d.ts +1 -1
  98. package/dist/src/services/todo-context-tracker.js +5 -3
  99. package/dist/src/services/todo-context-tracker.js.map +1 -1
  100. package/dist/src/settings/SettingsService.js.map +1 -1
  101. package/dist/src/settings/types.d.ts +16 -0
  102. package/dist/src/telemetry/integration.test.circular.js +2 -40
  103. package/dist/src/telemetry/integration.test.circular.js.map +1 -1
  104. package/dist/src/telemetry/loggers.js +0 -20
  105. package/dist/src/telemetry/loggers.js.map +1 -1
  106. package/dist/src/telemetry/sdk.d.ts +1 -1
  107. package/dist/src/telemetry/sdk.js +13 -29
  108. package/dist/src/telemetry/sdk.js.map +1 -1
  109. package/dist/src/test-utils/tools.js +2 -2
  110. package/dist/src/test-utils/tools.js.map +1 -1
  111. package/dist/src/tools/edit.js +91 -27
  112. package/dist/src/tools/edit.js.map +1 -1
  113. package/dist/src/tools/glob.js +9 -10
  114. package/dist/src/tools/glob.js.map +1 -1
  115. package/dist/src/tools/grep.js +8 -9
  116. package/dist/src/tools/grep.js.map +1 -1
  117. package/dist/src/tools/ls.d.ts +3 -22
  118. package/dist/src/tools/ls.js +84 -114
  119. package/dist/src/tools/ls.js.map +1 -1
  120. package/dist/src/tools/mcp-client.js +2 -2
  121. package/dist/src/tools/mcp-client.js.map +1 -1
  122. package/dist/src/tools/mcp-tool.d.ts +6 -13
  123. package/dist/src/tools/mcp-tool.js +41 -31
  124. package/dist/src/tools/mcp-tool.js.map +1 -1
  125. package/dist/src/tools/memoryTool.d.ts +9 -13
  126. package/dist/src/tools/memoryTool.js +127 -121
  127. package/dist/src/tools/memoryTool.js.map +1 -1
  128. package/dist/src/tools/read-file.js +7 -8
  129. package/dist/src/tools/read-file.js.map +1 -1
  130. package/dist/src/tools/read-many-files.d.ts +4 -6
  131. package/dist/src/tools/read-many-files.js +118 -111
  132. package/dist/src/tools/read-many-files.js.map +1 -1
  133. package/dist/src/tools/shell.d.ts +7 -14
  134. package/dist/src/tools/shell.js +120 -117
  135. package/dist/src/tools/shell.js.map +1 -1
  136. package/dist/src/tools/todo-pause.js +2 -2
  137. package/dist/src/tools/todo-pause.js.map +1 -1
  138. package/dist/src/tools/todo-read.js +8 -8
  139. package/dist/src/tools/todo-read.js.map +1 -1
  140. package/dist/src/tools/todo-write.js +2 -2
  141. package/dist/src/tools/todo-write.js.map +1 -1
  142. package/dist/src/tools/tool-registry.d.ts +6 -15
  143. package/dist/src/tools/tool-registry.js +17 -74
  144. package/dist/src/tools/tool-registry.js.map +1 -1
  145. package/dist/src/tools/tools.d.ts +20 -19
  146. package/dist/src/tools/tools.js +21 -20
  147. package/dist/src/tools/tools.js.map +1 -1
  148. package/dist/src/tools/web-fetch.d.ts +4 -7
  149. package/dist/src/tools/web-fetch.js +81 -83
  150. package/dist/src/tools/web-fetch.js.map +1 -1
  151. package/dist/src/tools/web-search.js +26 -9
  152. package/dist/src/tools/web-search.js.map +1 -1
  153. package/dist/src/tools/write-file.d.ts +2 -1
  154. package/dist/src/tools/write-file.js +89 -29
  155. package/dist/src/tools/write-file.js.map +1 -1
  156. package/dist/src/utils/editCorrector.js +8 -9
  157. package/dist/src/utils/editCorrector.js.map +1 -1
  158. package/dist/src/utils/errorParsing.d.ts +8 -0
  159. package/dist/src/utils/errorParsing.js +109 -0
  160. package/dist/src/utils/errorParsing.js.map +1 -0
  161. package/dist/src/utils/filesearch/fileSearch.js +1 -1
  162. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  163. package/dist/src/utils/filesearch/result-cache.d.ts +1 -2
  164. package/dist/src/utils/filesearch/result-cache.js +1 -3
  165. package/dist/src/utils/filesearch/result-cache.js.map +1 -1
  166. package/dist/src/utils/memoryImportProcessor.js +1 -1
  167. package/dist/src/utils/memoryImportProcessor.js.map +1 -1
  168. package/dist/src/utils/nextSpeakerChecker.js +3 -4
  169. package/dist/src/utils/nextSpeakerChecker.js.map +1 -1
  170. package/dist/src/utils/quotaErrorDetection.d.ts +1 -5
  171. package/dist/src/utils/quotaErrorDetection.js.map +1 -1
  172. package/dist/src/utils/schemaValidator.d.ts +1 -9
  173. package/dist/src/utils/schemaValidator.js +1 -109
  174. package/dist/src/utils/schemaValidator.js.map +1 -1
  175. package/package.json +2 -2
  176. package/dist/src/core/modelCheck.d.ts +0 -14
  177. package/dist/src/core/modelCheck.js +0 -62
  178. package/dist/src/core/modelCheck.js.map +0 -1
  179. package/dist/src/telemetry/clearcut-logger/clearcut-logger.d.ts +0 -48
  180. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js +0 -577
  181. package/dist/src/telemetry/clearcut-logger/clearcut-logger.js.map +0 -1
  182. package/dist/src/telemetry/clearcut-logger/event-metadata-key.d.ts +0 -58
  183. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js +0 -157
  184. package/dist/src/telemetry/clearcut-logger/event-metadata-key.js.map +0 -1
@@ -3,22 +3,22 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { BaseTool, ToolConfirmationOutcome, Icon, } from './tools.js';
7
- import { Type } from '@google/genai';
6
+ import { BaseDeclarativeTool, BaseToolInvocation, Kind, ToolConfirmationOutcome, } from './tools.js';
8
7
  import * as fs from 'fs/promises';
9
8
  import * as path from 'path';
10
9
  import { homedir } from 'os';
11
10
  import * as Diff from 'diff';
12
11
  import { DEFAULT_DIFF_OPTIONS } from './diffOptions.js';
13
12
  import { tildeifyPath } from '../utils/paths.js';
13
+ import { SchemaValidator } from '../utils/schemaValidator.js';
14
14
  const memoryToolSchemaData = {
15
15
  name: 'save_memory',
16
16
  description: 'Saves a specific piece of information or fact to your long-term memory. Use this when the user explicitly asks you to remember something, or when they state a clear, concise fact that seems important to retain for future interactions.',
17
- parameters: {
18
- type: Type.OBJECT,
17
+ parametersJsonSchema: {
18
+ type: 'object',
19
19
  properties: {
20
20
  fact: {
21
- type: Type.STRING,
21
+ type: 'string',
22
22
  description: 'The specific fact or piece of information to remember. Should be a clear, self-contained statement.',
23
23
  },
24
24
  },
@@ -86,73 +86,67 @@ function ensureNewlineSeparation(currentContent) {
86
86
  return '\n';
87
87
  return '\n\n';
88
88
  }
89
- export class MemoryTool extends BaseTool {
90
- static allowlist = new Set();
91
- static Name = memoryToolSchemaData.name;
92
- constructor() {
93
- super(MemoryTool.Name, 'Save Memory', memoryToolDescription, Icon.LightBulb, memoryToolSchemaData.parameters);
89
+ /**
90
+ * Reads the current content of the memory file
91
+ */
92
+ async function readMemoryFileContent() {
93
+ try {
94
+ return await fs.readFile(getGlobalMemoryFilePath(), 'utf-8');
94
95
  }
95
- getDescription(_params) {
96
- const memoryFilePath = getGlobalMemoryFilePath();
97
- return `in ${tildeifyPath(memoryFilePath)}`;
96
+ catch (err) {
97
+ const error = err;
98
+ if (!(error instanceof Error) || error.code !== 'ENOENT')
99
+ throw err;
100
+ return '';
98
101
  }
99
- /**
100
- * Reads the current content of the memory file
101
- */
102
- async readMemoryFileContent() {
103
- try {
104
- return await fs.readFile(getGlobalMemoryFilePath(), 'utf-8');
105
- }
106
- catch (err) {
107
- const error = err;
108
- if (!(error instanceof Error) || error.code !== 'ENOENT')
109
- throw err;
110
- return '';
111
- }
102
+ }
103
+ /**
104
+ * Computes the new content that would result from adding a memory entry
105
+ */
106
+ function computeNewContent(currentContent, fact) {
107
+ let processedText = fact.trim();
108
+ processedText = processedText.replace(/^(-+\s*)+/, '').trim();
109
+ const newMemoryItem = `- ${processedText}`;
110
+ const headerIndex = currentContent.indexOf(MEMORY_SECTION_HEADER);
111
+ if (headerIndex === -1) {
112
+ // Header not found, append header and then the entry
113
+ const separator = ensureNewlineSeparation(currentContent);
114
+ return (currentContent +
115
+ `${separator}${MEMORY_SECTION_HEADER}\n${newMemoryItem}\n`);
112
116
  }
113
- /**
114
- * Computes the new content that would result from adding a memory entry
115
- */
116
- computeNewContent(currentContent, fact) {
117
- let processedText = fact.trim();
118
- processedText = processedText.replace(/^(-+\s*)+/, '').trim();
119
- const newMemoryItem = `- ${processedText}`;
120
- const headerIndex = currentContent.indexOf(MEMORY_SECTION_HEADER);
121
- if (headerIndex === -1) {
122
- // Header not found, append header and then the entry
123
- const separator = ensureNewlineSeparation(currentContent);
124
- return (currentContent +
125
- `${separator}${MEMORY_SECTION_HEADER}\n${newMemoryItem}\n`);
126
- }
127
- else {
128
- // Header found, find where to insert the new memory entry
129
- const startOfSectionContent = headerIndex + MEMORY_SECTION_HEADER.length;
130
- let endOfSectionIndex = currentContent.indexOf('\n## ', startOfSectionContent);
131
- if (endOfSectionIndex === -1) {
132
- endOfSectionIndex = currentContent.length; // End of file
133
- }
134
- const beforeSectionMarker = currentContent
135
- .substring(0, startOfSectionContent)
136
- .trimEnd();
137
- let sectionContent = currentContent
138
- .substring(startOfSectionContent, endOfSectionIndex)
139
- .trimEnd();
140
- const afterSectionMarker = currentContent.substring(endOfSectionIndex);
141
- sectionContent += `\n${newMemoryItem}`;
142
- return (`${beforeSectionMarker}\n${sectionContent.trimStart()}\n${afterSectionMarker}`.trimEnd() +
143
- '\n');
117
+ else {
118
+ // Header found, find where to insert the new memory entry
119
+ const startOfSectionContent = headerIndex + MEMORY_SECTION_HEADER.length;
120
+ let endOfSectionIndex = currentContent.indexOf('\n## ', startOfSectionContent);
121
+ if (endOfSectionIndex === -1) {
122
+ endOfSectionIndex = currentContent.length; // End of file
144
123
  }
124
+ const beforeSectionMarker = currentContent
125
+ .substring(0, startOfSectionContent)
126
+ .trimEnd();
127
+ let sectionContent = currentContent
128
+ .substring(startOfSectionContent, endOfSectionIndex)
129
+ .trimEnd();
130
+ const afterSectionMarker = currentContent.substring(endOfSectionIndex);
131
+ sectionContent += `\n${newMemoryItem}`;
132
+ return (`${beforeSectionMarker}\n${sectionContent.trimStart()}\n${afterSectionMarker}`.trimEnd() +
133
+ '\n');
134
+ }
135
+ }
136
+ class MemoryToolInvocation extends BaseToolInvocation {
137
+ static allowlist = new Set();
138
+ getDescription() {
139
+ const memoryFilePath = getGlobalMemoryFilePath();
140
+ return `in ${tildeifyPath(memoryFilePath)}`;
145
141
  }
146
- async shouldConfirmExecute(params, _abortSignal) {
142
+ async shouldConfirmExecute(_abortSignal) {
147
143
  const memoryFilePath = getGlobalMemoryFilePath();
148
144
  const allowlistKey = memoryFilePath;
149
- if (MemoryTool.allowlist.has(allowlistKey)) {
145
+ if (MemoryToolInvocation.allowlist.has(allowlistKey)) {
150
146
  return false;
151
147
  }
152
- // Read current content of the memory file
153
- const currentContent = await this.readMemoryFileContent();
154
- // Calculate the new content that will be written to the memory file
155
- const newContent = this.computeNewContent(currentContent, params.fact);
148
+ const currentContent = await readMemoryFileContent();
149
+ const newContent = computeNewContent(currentContent, this.params.fact);
156
150
  const fileName = path.basename(memoryFilePath);
157
151
  const fileDiff = Diff.createPatch(fileName, currentContent, newContent, 'Current', 'Proposed', DEFAULT_DIFF_OPTIONS);
158
152
  const confirmationDetails = {
@@ -165,12 +159,78 @@ export class MemoryTool extends BaseTool {
165
159
  newContent,
166
160
  onConfirm: async (outcome) => {
167
161
  if (outcome === ToolConfirmationOutcome.ProceedAlways) {
168
- MemoryTool.allowlist.add(allowlistKey);
162
+ MemoryToolInvocation.allowlist.add(allowlistKey);
169
163
  }
170
164
  },
171
165
  };
172
166
  return confirmationDetails;
173
167
  }
168
+ async execute(_signal) {
169
+ const { fact, modified_by_user, modified_content } = this.params;
170
+ try {
171
+ if (modified_by_user && modified_content !== undefined) {
172
+ // User modified the content in external editor, write it directly
173
+ await fs.mkdir(path.dirname(getGlobalMemoryFilePath()), {
174
+ recursive: true,
175
+ });
176
+ await fs.writeFile(getGlobalMemoryFilePath(), modified_content, 'utf-8');
177
+ const successMessage = `Okay, I've updated the memory file with your modifications.`;
178
+ return {
179
+ llmContent: JSON.stringify({
180
+ success: true,
181
+ message: successMessage,
182
+ }),
183
+ returnDisplay: successMessage,
184
+ };
185
+ }
186
+ else {
187
+ // Use the normal memory entry logic
188
+ await MemoryTool.performAddMemoryEntry(fact, getGlobalMemoryFilePath(), {
189
+ readFile: fs.readFile,
190
+ writeFile: fs.writeFile,
191
+ mkdir: fs.mkdir,
192
+ });
193
+ const successMessage = `Okay, I've remembered that: "${fact}"`;
194
+ return {
195
+ llmContent: JSON.stringify({
196
+ success: true,
197
+ message: successMessage,
198
+ }),
199
+ returnDisplay: successMessage,
200
+ };
201
+ }
202
+ }
203
+ catch (error) {
204
+ const errorMessage = error instanceof Error ? error.message : String(error);
205
+ console.error(`[MemoryTool] Error executing save_memory for fact "${fact}": ${errorMessage}`);
206
+ return {
207
+ llmContent: JSON.stringify({
208
+ success: false,
209
+ error: `Failed to save memory. Detail: ${errorMessage}`,
210
+ }),
211
+ returnDisplay: `Error saving memory: ${errorMessage}`,
212
+ };
213
+ }
214
+ }
215
+ }
216
+ export class MemoryTool extends BaseDeclarativeTool {
217
+ static Name = memoryToolSchemaData.name;
218
+ constructor() {
219
+ super(MemoryTool.Name, 'Save Memory', memoryToolDescription, Kind.Think, memoryToolSchemaData.parametersJsonSchema);
220
+ }
221
+ validateToolParams(params) {
222
+ const errors = SchemaValidator.validate(this.schema.parametersJsonSchema, params);
223
+ if (errors) {
224
+ return errors;
225
+ }
226
+ if (params.fact.trim() === '') {
227
+ return 'Parameter "fact" must be a non-empty string.';
228
+ }
229
+ return null;
230
+ }
231
+ createInvocation(params) {
232
+ return new MemoryToolInvocation(params);
233
+ }
174
234
  static async performAddMemoryEntry(text, memoryFilePath, fsAdapter) {
175
235
  let processedText = text.trim();
176
236
  // Remove leading hyphens and spaces that might be misinterpreted as markdown list items
@@ -217,67 +277,13 @@ export class MemoryTool extends BaseTool {
217
277
  throw new Error(`[MemoryTool] Failed to add memory entry: ${error instanceof Error ? error.message : String(error)}`);
218
278
  }
219
279
  }
220
- async execute(params, _signal) {
221
- const { fact, modified_by_user, modified_content } = params;
222
- if (!fact || typeof fact !== 'string' || fact.trim() === '') {
223
- const errorMessage = 'Parameter "fact" must be a non-empty string.';
224
- return {
225
- llmContent: JSON.stringify({ success: false, error: errorMessage }),
226
- returnDisplay: `Error: ${errorMessage}`,
227
- };
228
- }
229
- try {
230
- if (modified_by_user && modified_content !== undefined) {
231
- // User modified the content in external editor, write it directly
232
- await fs.mkdir(path.dirname(getGlobalMemoryFilePath()), {
233
- recursive: true,
234
- });
235
- await fs.writeFile(getGlobalMemoryFilePath(), modified_content, 'utf-8');
236
- const successMessage = `Okay, I've updated the memory file with your modifications.`;
237
- return {
238
- llmContent: JSON.stringify({
239
- success: true,
240
- message: successMessage,
241
- }),
242
- returnDisplay: successMessage,
243
- };
244
- }
245
- else {
246
- // Use the normal memory entry logic
247
- await MemoryTool.performAddMemoryEntry(fact, getGlobalMemoryFilePath(), {
248
- readFile: fs.readFile,
249
- writeFile: fs.writeFile,
250
- mkdir: fs.mkdir,
251
- });
252
- const successMessage = `Okay, I've remembered that: "${fact}"`;
253
- return {
254
- llmContent: JSON.stringify({
255
- success: true,
256
- message: successMessage,
257
- }),
258
- returnDisplay: successMessage,
259
- };
260
- }
261
- }
262
- catch (error) {
263
- const errorMessage = error instanceof Error ? error.message : String(error);
264
- console.error(`[MemoryTool] Error executing save_memory for fact "${fact}": ${errorMessage}`);
265
- return {
266
- llmContent: JSON.stringify({
267
- success: false,
268
- error: `Failed to save memory. Detail: ${errorMessage}`,
269
- }),
270
- returnDisplay: `Error saving memory: ${errorMessage}`,
271
- };
272
- }
273
- }
274
280
  getModifyContext(_abortSignal) {
275
281
  return {
276
282
  getFilePath: (_params) => getGlobalMemoryFilePath(),
277
- getCurrentContent: async (_params) => this.readMemoryFileContent(),
283
+ getCurrentContent: async (_params) => readMemoryFileContent(),
278
284
  getProposedContent: async (params) => {
279
- const currentContent = await this.readMemoryFileContent();
280
- return this.computeNewContent(currentContent, params.fact);
285
+ const currentContent = await readMemoryFileContent();
286
+ return computeNewContent(currentContent, params.fact);
281
287
  },
282
288
  createUpdatedParams: (_oldContent, modifiedProposedContent, originalParams) => ({
283
289
  ...originalParams,
@@ -1 +1 @@
1
- {"version":3,"file":"memoryTool.js","sourceRoot":"","sources":["../../../src/tools/memoryTool.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memoryTool.js","sourceRoot":"","sources":["../../../src/tools/memoryTool.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,8 @@
6
6
  import path from 'path';
7
7
  import { SchemaValidator } from '../utils/schemaValidator.js';
8
8
  import { makeRelative, shortenPath } from '../utils/paths.js';
9
- import { BaseDeclarativeTool, BaseToolInvocation, Icon, } from './tools.js';
9
+ import { BaseDeclarativeTool, BaseToolInvocation, Kind, } from './tools.js';
10
10
  import { ToolErrorType } from './tool-error.js';
11
- import { Type } from '@google/genai';
12
11
  import { processSingleFileContent, getSpecificMimeType, } from '../utils/fileUtils.js';
13
12
  import { recordFileOperationMetric, FileOperation, } from '../telemetry/metrics.js';
14
13
  class ReadFileToolInvocation extends BaseToolInvocation {
@@ -99,28 +98,28 @@ export class ReadFileTool extends BaseDeclarativeTool {
99
98
  config;
100
99
  static Name = 'read_file';
101
100
  constructor(config) {
102
- super(ReadFileTool.Name, 'ReadFile', `Reads and returns the content of a specified file. If the file is large, the content will be truncated. The tool's response will clearly indicate if truncation has occurred and will provide details on how to read more of the file using the 'offset' and 'limit' parameters. Handles text, images (PNG, JPG, GIF, WEBP, SVG, BMP), and PDF files. For text files, it can read specific line ranges.`, Icon.FileSearch, {
101
+ super(ReadFileTool.Name, 'ReadFile', `Reads and returns the content of a specified file. If the file is large, the content will be truncated. The tool's response will clearly indicate if truncation has occurred and will provide details on how to read more of the file using the 'offset' and 'limit' parameters. Handles text, images (PNG, JPG, GIF, WEBP, SVG, BMP), and PDF files. For text files, it can read specific line ranges.`, Kind.Read, {
103
102
  properties: {
104
103
  absolute_path: {
105
104
  description: "The absolute path to the file to read (e.g., '/home/user/project/file.txt'). Relative paths are not supported. You must provide an absolute path.",
106
- type: Type.STRING,
105
+ type: 'string',
107
106
  },
108
107
  offset: {
109
108
  description: "Optional: For text files, the 0-based line number to start reading from. Requires 'limit' to be set. Use for paginating through large files.",
110
- type: Type.NUMBER,
109
+ type: 'number',
111
110
  },
112
111
  limit: {
113
112
  description: "Optional: For text files, maximum number of lines to read. Use with 'offset' to paginate through large files. If omitted, reads the entire file (if feasible, up to a default limit).",
114
- type: Type.NUMBER,
113
+ type: 'number',
115
114
  },
116
115
  },
117
116
  required: ['absolute_path'],
118
- type: Type.OBJECT,
117
+ type: 'object',
119
118
  });
120
119
  this.config = config;
121
120
  }
122
121
  validateToolParams(params) {
123
- const errors = SchemaValidator.validate(this.schema.parameters, params);
122
+ const errors = SchemaValidator.validate(this.schema.parametersJsonSchema, params);
124
123
  if (errors) {
125
124
  return errors;
126
125
  }
@@ -1 +1 @@
1
- {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../src/tools/read-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"read-file.js","sourceRoot":"","sources":["../../../src/tools/read-file.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { BaseTool, ToolResult } from './tools.js';
6
+ import { BaseDeclarativeTool, ToolInvocation, ToolResult } from './tools.js';
7
7
  import { Config } from '../config/config.js';
8
8
  /**
9
9
  * Parameters for the ReadManyFilesTool.
@@ -51,12 +51,10 @@ export interface ReadManyFilesParams {
51
51
  * within a specified target directory. The content is concatenated.
52
52
  * It is intended to run in an environment with access to the local file system (e.g., a Node.js backend).
53
53
  */
54
- export declare class ReadManyFilesTool extends BaseTool<ReadManyFilesParams, ToolResult> {
54
+ export declare class ReadManyFilesTool extends BaseDeclarativeTool<ReadManyFilesParams, ToolResult> {
55
55
  private config;
56
56
  static readonly Name: string;
57
- private readonly llxprtIgnorePatterns;
58
57
  constructor(config: Config);
59
- validateParams(params: ReadManyFilesParams): string | null;
60
- getDescription(params: ReadManyFilesParams): string;
61
- execute(params: ReadManyFilesParams, signal: AbortSignal): Promise<ToolResult>;
58
+ protected validateToolParams(params: ReadManyFilesParams): string | null;
59
+ protected createInvocation(params: ReadManyFilesParams): ToolInvocation<ReadManyFilesParams, ToolResult>;
62
60
  }