@vybestack/llxprt-code-core 0.1.23-nightly.250905.97906524 → 0.2.2-nightly.250908.7b895396

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 (122) hide show
  1. package/dist/src/adapters/IStreamAdapter.d.ts +3 -3
  2. package/dist/src/auth/precedence.d.ts +1 -1
  3. package/dist/src/auth/precedence.js +9 -4
  4. package/dist/src/auth/precedence.js.map +1 -1
  5. package/dist/src/auth/types.d.ts +4 -4
  6. package/dist/src/code_assist/codeAssist.js +8 -6
  7. package/dist/src/code_assist/codeAssist.js.map +1 -1
  8. package/dist/src/code_assist/setup.js +9 -7
  9. package/dist/src/code_assist/setup.js.map +1 -1
  10. package/dist/src/config/index.d.ts +7 -0
  11. package/dist/src/config/index.js +8 -0
  12. package/dist/src/config/index.js.map +1 -0
  13. package/dist/src/core/client.d.ts +9 -21
  14. package/dist/src/core/client.js +55 -156
  15. package/dist/src/core/client.js.map +1 -1
  16. package/dist/src/core/compression-config.d.ts +1 -1
  17. package/dist/src/core/compression-config.js +4 -5
  18. package/dist/src/core/compression-config.js.map +1 -1
  19. package/dist/src/core/coreToolScheduler.js +50 -15
  20. package/dist/src/core/coreToolScheduler.js.map +1 -1
  21. package/dist/src/core/geminiChat.d.ts +51 -2
  22. package/dist/src/core/geminiChat.js +616 -106
  23. package/dist/src/core/geminiChat.js.map +1 -1
  24. package/dist/src/core/nonInteractiveToolExecutor.js +70 -19
  25. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  26. package/dist/src/core/prompts.js +34 -26
  27. package/dist/src/core/prompts.js.map +1 -1
  28. package/dist/src/core/turn.d.ts +1 -0
  29. package/dist/src/core/turn.js +8 -6
  30. package/dist/src/core/turn.js.map +1 -1
  31. package/dist/src/index.d.ts +1 -2
  32. package/dist/src/index.js +2 -2
  33. package/dist/src/index.js.map +1 -1
  34. package/dist/src/prompt-config/TemplateEngine.js +17 -0
  35. package/dist/src/prompt-config/TemplateEngine.js.map +1 -1
  36. package/dist/src/prompt-config/defaults/core-defaults.js +39 -32
  37. package/dist/src/prompt-config/defaults/core-defaults.js.map +1 -1
  38. package/dist/src/prompt-config/defaults/core.md +2 -0
  39. package/dist/src/prompt-config/defaults/provider-defaults.js +34 -27
  40. package/dist/src/prompt-config/defaults/provider-defaults.js.map +1 -1
  41. package/dist/src/prompt-config/defaults/providers/gemini/core.md +229 -43
  42. package/dist/src/prompt-config/defaults/providers/gemini/models/gemini-2.5-flash/core.md +12 -0
  43. package/dist/src/prompt-config/defaults/providers/gemini/models/gemini-2.5-flash/gemini-2-5-flash/core.md +12 -0
  44. package/dist/src/prompt-config/types.d.ts +2 -0
  45. package/dist/src/providers/BaseProvider.d.ts +32 -6
  46. package/dist/src/providers/BaseProvider.js +79 -22
  47. package/dist/src/providers/BaseProvider.js.map +1 -1
  48. package/dist/src/providers/IProvider.d.ts +9 -3
  49. package/dist/src/providers/LoggingProviderWrapper.d.ts +10 -3
  50. package/dist/src/providers/LoggingProviderWrapper.js +33 -27
  51. package/dist/src/providers/LoggingProviderWrapper.js.map +1 -1
  52. package/dist/src/providers/ProviderContentGenerator.d.ts +2 -2
  53. package/dist/src/providers/ProviderContentGenerator.js +9 -6
  54. package/dist/src/providers/ProviderContentGenerator.js.map +1 -1
  55. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +27 -21
  56. package/dist/src/providers/anthropic/AnthropicProvider.js +473 -472
  57. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  58. package/dist/src/providers/gemini/GeminiProvider.d.ts +14 -9
  59. package/dist/src/providers/gemini/GeminiProvider.js +202 -486
  60. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  61. package/dist/src/providers/openai/ConversationCache.d.ts +3 -3
  62. package/dist/src/providers/openai/IChatGenerateParams.d.ts +9 -4
  63. package/dist/src/providers/openai/OpenAIProvider.d.ts +44 -115
  64. package/dist/src/providers/openai/OpenAIProvider.js +582 -946
  65. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  66. package/dist/src/providers/openai/buildResponsesRequest.d.ts +3 -3
  67. package/dist/src/providers/openai/buildResponsesRequest.js +67 -37
  68. package/dist/src/providers/openai/buildResponsesRequest.js.map +1 -1
  69. package/dist/src/providers/openai/estimateRemoteTokens.d.ts +2 -2
  70. package/dist/src/providers/openai/estimateRemoteTokens.js +21 -8
  71. package/dist/src/providers/openai/estimateRemoteTokens.js.map +1 -1
  72. package/dist/src/providers/openai/parseResponsesStream.d.ts +6 -2
  73. package/dist/src/providers/openai/parseResponsesStream.js +99 -391
  74. package/dist/src/providers/openai/parseResponsesStream.js.map +1 -1
  75. package/dist/src/providers/openai/syntheticToolResponses.d.ts +5 -5
  76. package/dist/src/providers/openai/syntheticToolResponses.js +102 -91
  77. package/dist/src/providers/openai/syntheticToolResponses.js.map +1 -1
  78. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.d.ts +18 -20
  79. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js +250 -239
  80. package/dist/src/providers/openai-responses/OpenAIResponsesProvider.js.map +1 -1
  81. package/dist/src/providers/tokenizers/OpenAITokenizer.js +3 -3
  82. package/dist/src/providers/tokenizers/OpenAITokenizer.js.map +1 -1
  83. package/dist/src/providers/types.d.ts +1 -1
  84. package/dist/src/services/history/ContentConverters.d.ts +6 -1
  85. package/dist/src/services/history/ContentConverters.js +155 -18
  86. package/dist/src/services/history/ContentConverters.js.map +1 -1
  87. package/dist/src/services/history/HistoryService.d.ts +52 -0
  88. package/dist/src/services/history/HistoryService.js +245 -93
  89. package/dist/src/services/history/HistoryService.js.map +1 -1
  90. package/dist/src/services/history/IContent.d.ts +4 -0
  91. package/dist/src/services/history/IContent.js.map +1 -1
  92. package/dist/src/settings/SettingsService.js.map +1 -1
  93. package/dist/src/telemetry/types.d.ts +16 -4
  94. package/dist/src/telemetry/types.js.map +1 -1
  95. package/dist/src/tools/IToolFormatter.d.ts +2 -2
  96. package/dist/src/tools/ToolFormatter.d.ts +42 -4
  97. package/dist/src/tools/ToolFormatter.js +151 -64
  98. package/dist/src/tools/ToolFormatter.js.map +1 -1
  99. package/dist/src/tools/doubleEscapeUtils.d.ts +57 -0
  100. package/dist/src/tools/doubleEscapeUtils.js +241 -0
  101. package/dist/src/tools/doubleEscapeUtils.js.map +1 -0
  102. package/dist/src/tools/read-file.js +5 -2
  103. package/dist/src/tools/read-file.js.map +1 -1
  104. package/dist/src/tools/todo-schemas.d.ts +4 -4
  105. package/dist/src/tools/tool-registry.d.ts +8 -1
  106. package/dist/src/tools/tool-registry.js +79 -23
  107. package/dist/src/tools/tool-registry.js.map +1 -1
  108. package/dist/src/tools/write-file.js +5 -2
  109. package/dist/src/tools/write-file.js.map +1 -1
  110. package/dist/src/types/modelParams.d.ts +12 -0
  111. package/dist/src/utils/bfsFileSearch.js +2 -6
  112. package/dist/src/utils/bfsFileSearch.js.map +1 -1
  113. package/package.json +8 -7
  114. package/dist/src/core/ContentGeneratorAdapter.d.ts +0 -37
  115. package/dist/src/core/ContentGeneratorAdapter.js +0 -58
  116. package/dist/src/core/ContentGeneratorAdapter.js.map +0 -1
  117. package/dist/src/providers/IMessage.d.ts +0 -38
  118. package/dist/src/providers/IMessage.js +0 -17
  119. package/dist/src/providers/IMessage.js.map +0 -1
  120. package/dist/src/providers/adapters/GeminiCompatibleWrapper.d.ts +0 -69
  121. package/dist/src/providers/adapters/GeminiCompatibleWrapper.js +0 -577
  122. package/dist/src/providers/adapters/GeminiCompatibleWrapper.js.map +0 -1
@@ -0,0 +1,241 @@
1
+ /**
2
+ * Copyright 2025 Vybestack LLC
3
+ *
4
+ * Licensed under the Apache License, Version 2.0 (the "License");
5
+ * you may not use this file except in compliance with the License.
6
+ * You may obtain a copy of the License at
7
+ *
8
+ * http://www.apache.org/licenses/LICENSE-2.0
9
+ *
10
+ * Unless required by applicable law or agreed to in writing, software
11
+ * distributed under the License is distributed on an "AS IS" BASIS,
12
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13
+ * See the License for the specific language governing permissions and
14
+ * limitations under the License.
15
+ */
16
+ /**
17
+ * Utility functions for detecting and handling double-escaped tool calls
18
+ * Used by providers that need to work with models that double-escape JSON parameters
19
+ * (e.g., Qwen models, GLM-4.5 models)
20
+ */
21
+ import { DebugLogger } from '../debug/index.js';
22
+ const logger = new DebugLogger('llxprt:tools:doubleEscape');
23
+ /**
24
+ * Detects if a tool format should use double-escape handling
25
+ * @param toolFormat - The tool format to check
26
+ * @returns true if the format typically needs double-escape handling
27
+ */
28
+ export function shouldUseDoubleEscapeHandling(toolFormat) {
29
+ // Qwen format needs double-escape handling (includes GLM-4.5 which uses qwen format)
30
+ return toolFormat === 'qwen';
31
+ }
32
+ /**
33
+ * Checks if a JSON string appears to be double-stringified
34
+ * @param jsonString - The JSON string to check
35
+ * @returns Object with detection results and corrected value if applicable
36
+ */
37
+ export function detectDoubleEscaping(jsonString) {
38
+ const result = {
39
+ isDoubleEscaped: false,
40
+ correctedValue: undefined,
41
+ originalValue: jsonString,
42
+ detectionDetails: {},
43
+ };
44
+ try {
45
+ const parsed = JSON.parse(jsonString);
46
+ if (typeof parsed === 'string') {
47
+ result.detectionDetails.firstParse = parsed;
48
+ // Arguments were stringified, let's check if they're double-stringified
49
+ try {
50
+ const doubleParsed = JSON.parse(parsed);
51
+ result.isDoubleEscaped = true;
52
+ result.correctedValue = doubleParsed;
53
+ result.detectionDetails.secondParse = doubleParsed;
54
+ logger.error(() => `Detected double-stringified JSON parameters`, {
55
+ firstParse: parsed,
56
+ secondParse: doubleParsed,
57
+ originalLength: jsonString.length,
58
+ });
59
+ }
60
+ catch (_secondParseError) {
61
+ // Not double-stringified, just single stringified
62
+ logger.debug(() => `JSON parameters are single-stringified (normal)`);
63
+ result.correctedValue = parsed;
64
+ }
65
+ }
66
+ else if (typeof parsed === 'object' && parsed !== null) {
67
+ // Check if it's an object with stringified values (common pattern)
68
+ const hasStringifiedValues = Object.values(parsed).some((value) => {
69
+ if (typeof value === 'string') {
70
+ try {
71
+ const testParse = JSON.parse(value);
72
+ // If we can parse it and it's an array or object, it's likely stringified
73
+ return typeof testParse === 'object';
74
+ }
75
+ catch {
76
+ return false;
77
+ }
78
+ }
79
+ return false;
80
+ });
81
+ if (hasStringifiedValues) {
82
+ // Fix stringified values
83
+ const fixed = { ...parsed };
84
+ for (const [key, value] of Object.entries(fixed)) {
85
+ if (typeof value === 'string') {
86
+ try {
87
+ const testParse = JSON.parse(value);
88
+ if (typeof testParse === 'object') {
89
+ fixed[key] = testParse;
90
+ result.isDoubleEscaped = true;
91
+ }
92
+ }
93
+ catch {
94
+ // Keep original value if can't parse
95
+ }
96
+ }
97
+ }
98
+ result.correctedValue = fixed;
99
+ if (result.isDoubleEscaped) {
100
+ logger.error(() => `Fixed stringified parameter values`, {
101
+ original: parsed,
102
+ fixed,
103
+ });
104
+ }
105
+ }
106
+ else {
107
+ result.correctedValue = parsed;
108
+ }
109
+ }
110
+ else {
111
+ // Already parsed correctly
112
+ result.correctedValue = parsed;
113
+ }
114
+ }
115
+ catch (parseError) {
116
+ result.detectionDetails.error = String(parseError);
117
+ logger.error(() => `Failed to parse JSON parameters:`, parseError);
118
+ }
119
+ return result;
120
+ }
121
+ /**
122
+ * Detects double-escaping in streaming tool call chunks
123
+ * @param chunk - The streaming chunk to analyze
124
+ * @returns true if double-escaping patterns are detected
125
+ */
126
+ export function detectDoubleEscapingInChunk(chunk) {
127
+ // Check for common double-escaping patterns in streaming chunks
128
+ // Using String.raw to avoid eslint no-useless-escape issues
129
+ const backslashBracket = String.raw `\\[`;
130
+ const doubleBackslash = String.raw `\\\\`;
131
+ const backslashQuote = String.raw `\\"`;
132
+ const startPattern = String.raw `"\\`;
133
+ const endPattern = String.raw `\\"`;
134
+ return (chunk.includes(backslashBracket) ||
135
+ chunk.includes(doubleBackslash) ||
136
+ chunk.includes(backslashQuote) ||
137
+ (chunk.startsWith(startPattern) && chunk.endsWith(endPattern)));
138
+ }
139
+ /**
140
+ * Processes tool call parameters, fixing double-escaping if detected
141
+ * @param parametersString - The JSON string containing tool parameters
142
+ * @param toolName - Name of the tool (for logging)
143
+ * @param format - The tool format being used (for context)
144
+ * @returns Processed parameters object
145
+ */
146
+ export function processToolParameters(parametersString, toolName, format) {
147
+ if (!parametersString.trim()) {
148
+ return {};
149
+ }
150
+ // Only apply double-escape handling for formats that need it
151
+ if (!shouldUseDoubleEscapeHandling(format)) {
152
+ // For formats that don't need double-escape handling, parse the JSON string
153
+ try {
154
+ return JSON.parse(parametersString);
155
+ }
156
+ catch (e) {
157
+ logger.debug(() => `Failed to parse tool parameters as JSON: ${e}`);
158
+ return parametersString; // Return as-is if not valid JSON
159
+ }
160
+ }
161
+ // Apply double-escape detection and fixing for qwen format
162
+ const detection = detectDoubleEscaping(parametersString);
163
+ if (detection.isDoubleEscaped) {
164
+ logger.error(() => `[${format}] Fixed double-escaped parameters for ${toolName}`, {
165
+ tool: toolName,
166
+ format,
167
+ originalLength: parametersString.length,
168
+ fixed: true,
169
+ });
170
+ // Convert string numbers to actual numbers for qwen format
171
+ return convertStringNumbersToNumbers(detection.correctedValue);
172
+ }
173
+ else if (detection.detectionDetails.error) {
174
+ logger.error(() => `[${format}] Failed to parse parameters for ${toolName}`, {
175
+ tool: toolName,
176
+ format,
177
+ error: detection.detectionDetails.error,
178
+ });
179
+ // Return the string as-is if parsing fails
180
+ return parametersString;
181
+ }
182
+ // Convert string numbers to actual numbers for qwen format
183
+ return convertStringNumbersToNumbers(detection.correctedValue);
184
+ }
185
+ /**
186
+ * Converts string numbers to actual numbers in an object
187
+ * This is needed for qwen models that stringify numeric parameters
188
+ * @param obj - The object to fix
189
+ * @returns The object with numeric strings converted to numbers
190
+ */
191
+ function convertStringNumbersToNumbers(obj) {
192
+ if (obj === null || obj === undefined) {
193
+ return obj;
194
+ }
195
+ if (typeof obj === 'string') {
196
+ // Check if it's a numeric string
197
+ if (/^-?\d+$/.test(obj)) {
198
+ // Integer
199
+ const num = parseInt(obj, 10);
200
+ if (!isNaN(num))
201
+ return num;
202
+ }
203
+ else if (/^-?\d*\.?\d+$/.test(obj)) {
204
+ // Float
205
+ const num = parseFloat(obj);
206
+ if (!isNaN(num))
207
+ return num;
208
+ }
209
+ return obj;
210
+ }
211
+ if (Array.isArray(obj)) {
212
+ return obj.map(convertStringNumbersToNumbers);
213
+ }
214
+ if (typeof obj === 'object') {
215
+ const result = {};
216
+ for (const [key, value] of Object.entries(obj)) {
217
+ result[key] = convertStringNumbersToNumbers(value);
218
+ }
219
+ return result;
220
+ }
221
+ return obj;
222
+ }
223
+ /**
224
+ * Logs double-escaping detection in streaming chunks (for debugging)
225
+ * @param chunk - The chunk that contains potential double-escaping
226
+ * @param toolName - Name of the tool
227
+ * @param format - The tool format
228
+ */
229
+ export function logDoubleEscapingInChunk(chunk, toolName, format) {
230
+ // Only log for formats that use double-escape handling
231
+ if (shouldUseDoubleEscapeHandling(format) &&
232
+ detectDoubleEscapingInChunk(chunk)) {
233
+ logger.error(() => `[${format}] Detected potential double-escaping in streaming chunk for ${toolName}`, {
234
+ chunk,
235
+ tool: toolName,
236
+ format,
237
+ pattern: 'Contains escaped quotes that suggest double-stringification',
238
+ });
239
+ }
240
+ }
241
+ //# sourceMappingURL=doubleEscapeUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doubleEscapeUtils.js","sourceRoot":"","sources":["../../../src/tools/doubleEscapeUtils.ts"],"names":[],"mappings":"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"}
@@ -107,6 +107,10 @@ export class ReadFileTool extends BaseDeclarativeTool {
107
107
  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.",
108
108
  type: 'string',
109
109
  },
110
+ file_path: {
111
+ description: 'Alternative parameter name for absolute_path (for backward compatibility). The absolute path to the file to read.',
112
+ type: 'string',
113
+ },
110
114
  offset: {
111
115
  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.",
112
116
  type: 'number',
@@ -116,8 +120,7 @@ export class ReadFileTool extends BaseDeclarativeTool {
116
120
  type: 'number',
117
121
  },
118
122
  },
119
- required: ['absolute_path'],
120
- requireOne: [['absolute_path', 'file_path']], // Accept either absolute_path or file_path
123
+ // Don't require either in schema - validation handles this
121
124
  type: 'object',
122
125
  });
123
126
  this.config = config;
@@ -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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"}
@@ -121,7 +121,7 @@ export declare const TodoSchema: z.ZodObject<{
121
121
  }>, "many">>;
122
122
  }, "strip", z.ZodTypeAny, {
123
123
  id: string;
124
- status: "pending" | "in_progress" | "completed";
124
+ status: "in_progress" | "completed" | "pending";
125
125
  content: string;
126
126
  priority: "high" | "medium" | "low";
127
127
  toolCalls?: {
@@ -142,7 +142,7 @@ export declare const TodoSchema: z.ZodObject<{
142
142
  }[] | undefined;
143
143
  }, {
144
144
  id: string;
145
- status: "pending" | "in_progress" | "completed";
145
+ status: "in_progress" | "completed" | "pending";
146
146
  content: string;
147
147
  priority: "high" | "medium" | "low";
148
148
  toolCalls?: {
@@ -223,7 +223,7 @@ export declare const TodoArraySchema: z.ZodArray<z.ZodObject<{
223
223
  }>, "many">>;
224
224
  }, "strip", z.ZodTypeAny, {
225
225
  id: string;
226
- status: "pending" | "in_progress" | "completed";
226
+ status: "in_progress" | "completed" | "pending";
227
227
  content: string;
228
228
  priority: "high" | "medium" | "low";
229
229
  toolCalls?: {
@@ -244,7 +244,7 @@ export declare const TodoArraySchema: z.ZodArray<z.ZodObject<{
244
244
  }[] | undefined;
245
245
  }, {
246
246
  id: string;
247
- status: "pending" | "in_progress" | "completed";
247
+ status: "in_progress" | "completed" | "pending";
248
248
  content: string;
249
249
  priority: "high" | "medium" | "low";
250
250
  toolCalls?: {
@@ -25,7 +25,11 @@ export declare class ToolRegistry {
25
25
  * @param tool - The tool object containing schema and execution logic.
26
26
  */
27
27
  registerTool(tool: AnyDeclarativeTool): void;
28
- private removeDiscoveredTools;
28
+ /**
29
+ * Builds a new tool map with only non-discovered tools (core tools).
30
+ * This is used for atomic updates to avoid race conditions.
31
+ */
32
+ private buildCoreToolsMap;
29
33
  /**
30
34
  * Removes all tools from a specific MCP server.
31
35
  * @param serverName The name of the server to remove tools from.
@@ -35,12 +39,14 @@ export declare class ToolRegistry {
35
39
  * Discovers tools from project (if available and configured).
36
40
  * Can be called multiple times to update discovered tools.
37
41
  * This will discover tools from the command line and from MCP servers.
42
+ * Uses atomic updates to prevent race conditions.
38
43
  */
39
44
  discoverAllTools(): Promise<void>;
40
45
  /**
41
46
  * Discovers tools from project (if available and configured).
42
47
  * Can be called multiple times to update discovered tools.
43
48
  * This will NOT discover tools from the command line, only from MCP servers.
49
+ * Uses atomic updates to prevent race conditions.
44
50
  */
45
51
  discoverMcpTools(): Promise<void>;
46
52
  /**
@@ -49,6 +55,7 @@ export declare class ToolRegistry {
49
55
  restartMcpServers(): Promise<void>;
50
56
  /**
51
57
  * Discover or re-discover tools for a single MCP server.
58
+ * Uses atomic updates to prevent race conditions.
52
59
  * @param serverName - The name of the server to discover tools from.
53
60
  */
54
61
  discoverToolsForServer(serverName: string): Promise<void>;
@@ -123,12 +123,18 @@ export class ToolRegistry {
123
123
  }
124
124
  this.tools.set(tool.name, tool);
125
125
  }
126
- removeDiscoveredTools() {
127
- for (const tool of this.tools.values()) {
128
- if (tool instanceof DiscoveredTool || tool instanceof DiscoveredMCPTool) {
129
- this.tools.delete(tool.name);
126
+ /**
127
+ * Builds a new tool map with only non-discovered tools (core tools).
128
+ * This is used for atomic updates to avoid race conditions.
129
+ */
130
+ buildCoreToolsMap() {
131
+ const coreTools = new Map();
132
+ for (const [name, tool] of this.tools.entries()) {
133
+ if (!(tool instanceof DiscoveredTool || tool instanceof DiscoveredMCPTool)) {
134
+ coreTools.set(name, tool);
130
135
  }
131
136
  }
137
+ return coreTools;
132
138
  }
133
139
  /**
134
140
  * Removes all tools from a specific MCP server.
@@ -145,26 +151,61 @@ export class ToolRegistry {
145
151
  * Discovers tools from project (if available and configured).
146
152
  * Can be called multiple times to update discovered tools.
147
153
  * This will discover tools from the command line and from MCP servers.
154
+ * Uses atomic updates to prevent race conditions.
148
155
  */
149
156
  async discoverAllTools() {
150
- // remove any previously discovered tools
151
- this.removeDiscoveredTools();
152
- this.config.getPromptRegistry().clear();
153
- await this.discoverAndRegisterToolsFromCommand();
154
- // discover tools using MCP servers, if configured
155
- await this.mcpClientManager.discoverAllMcpTools();
157
+ // Build new tool map starting with core tools (non-discovered)
158
+ const newTools = this.buildCoreToolsMap();
159
+ // Store the old tools map for atomic replacement
160
+ const oldTools = this.tools;
161
+ // Temporarily use the new tools map for discovery
162
+ this.tools = newTools;
163
+ try {
164
+ this.config.getPromptRegistry().clear();
165
+ await this.discoverAndRegisterToolsFromCommand();
166
+ // discover tools using MCP servers, if configured
167
+ await this.mcpClientManager.discoverAllMcpTools();
168
+ }
169
+ catch (error) {
170
+ // Restore old tools on error
171
+ this.tools = oldTools;
172
+ throw error;
173
+ }
174
+ // At this point, newTools has all the tools (core + discovered)
175
+ // and the update was atomic from the perspective of getTool() calls
156
176
  }
157
177
  /**
158
178
  * Discovers tools from project (if available and configured).
159
179
  * Can be called multiple times to update discovered tools.
160
180
  * This will NOT discover tools from the command line, only from MCP servers.
181
+ * Uses atomic updates to prevent race conditions.
161
182
  */
162
183
  async discoverMcpTools() {
163
- // remove any previously discovered tools
164
- this.removeDiscoveredTools();
165
- this.config.getPromptRegistry().clear();
166
- // discover tools using MCP servers, if configured
167
- await this.mcpClientManager.discoverAllMcpTools();
184
+ // Build new tool map starting with core tools (non-discovered)
185
+ const newTools = this.buildCoreToolsMap();
186
+ // Re-add command-discovered tools if they exist
187
+ for (const [name, tool] of this.tools.entries()) {
188
+ if (tool instanceof DiscoveredTool &&
189
+ !(tool instanceof DiscoveredMCPTool)) {
190
+ newTools.set(name, tool);
191
+ }
192
+ }
193
+ // Store the old tools map for atomic replacement
194
+ const oldTools = this.tools;
195
+ // Temporarily use the new tools map for discovery
196
+ this.tools = newTools;
197
+ try {
198
+ this.config.getPromptRegistry().clear();
199
+ // discover tools using MCP servers, if configured
200
+ await this.mcpClientManager.discoverAllMcpTools();
201
+ }
202
+ catch (error) {
203
+ // Restore old tools on error
204
+ this.tools = oldTools;
205
+ throw error;
206
+ }
207
+ // At this point, newTools has all the tools (core + command + MCP)
208
+ // and the update was atomic from the perspective of getTool() calls
168
209
  }
169
210
  /**
170
211
  * Restarts all MCP servers and re-discovers tools.
@@ -174,21 +215,36 @@ export class ToolRegistry {
174
215
  }
175
216
  /**
176
217
  * Discover or re-discover tools for a single MCP server.
218
+ * Uses atomic updates to prevent race conditions.
177
219
  * @param serverName - The name of the server to discover tools from.
178
220
  */
179
221
  async discoverToolsForServer(serverName) {
180
- // Remove any previously discovered tools from this server
222
+ // Build new tool map with all tools except those from the target server
223
+ const newTools = new Map();
181
224
  for (const [name, tool] of this.tools.entries()) {
182
- if (tool instanceof DiscoveredMCPTool && tool.serverName === serverName) {
183
- this.tools.delete(name);
225
+ if (!(tool instanceof DiscoveredMCPTool && tool.serverName === serverName)) {
226
+ newTools.set(name, tool);
227
+ }
228
+ }
229
+ // Store the old tools map for atomic replacement
230
+ const oldTools = this.tools;
231
+ // Temporarily use the new tools map for discovery
232
+ this.tools = newTools;
233
+ try {
234
+ this.config.getPromptRegistry().removePromptsByServer(serverName);
235
+ const mcpServers = this.config.getMcpServers() ?? {};
236
+ const serverConfig = mcpServers[serverName];
237
+ if (serverConfig) {
238
+ await connectAndDiscover(serverName, serverConfig, this, this.config.getPromptRegistry(), this.config.getDebugMode(), this.config.getWorkspaceContext());
184
239
  }
185
240
  }
186
- this.config.getPromptRegistry().removePromptsByServer(serverName);
187
- const mcpServers = this.config.getMcpServers() ?? {};
188
- const serverConfig = mcpServers[serverName];
189
- if (serverConfig) {
190
- await connectAndDiscover(serverName, serverConfig, this, this.config.getPromptRegistry(), this.config.getDebugMode(), this.config.getWorkspaceContext());
241
+ catch (error) {
242
+ // Restore old tools on error
243
+ this.tools = oldTools;
244
+ throw error;
191
245
  }
246
+ // At this point, newTools has all tools with the server's tools refreshed
247
+ // and the update was atomic from the perspective of getTool() calls
192
248
  }
193
249
  async discoverAndRegisterToolsFromCommand() {
194
250
  const discoveryCmd = this.config.getToolDiscoveryCommand();
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../src/tools/tool-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAsB,IAAI,EAAc,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG5E,OAAO,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAIpC,MAAM,OAAO,cAAe,SAAQ,QAAgC;IAE/C;IAEC;IACA;IAJpB,YACmB,MAAc,EAC/B,IAAY,EACM,WAAmB,EACnB,eAAwC;QAE1D,MAAM,YAAY,GAAG,MAAM,CAAC,uBAAuB,EAAG,CAAC;QACvD,MAAM,WAAW,GAAG,MAAM,CAAC,kBAAkB,EAAG,CAAC;QACjD,WAAW,IAAI;;uEAEoD,YAAY;oDAC/B,WAAW,IAAI,IAAI;;;;;;;;;;;;CAYtE,CAAC;QACE,KAAK,CACH,IAAI,EACJ,IAAI,EACJ,WAAW,EACX,IAAI,CAAC,KAAK,EACV,eAAe,EACf,KAAK,EAAE,mBAAmB;QAC1B,KAAK,CACN,CAAC;QA/Be,WAAM,GAAN,MAAM,CAAQ;QAEb,gBAAW,GAAX,WAAW,CAAQ;QACnB,oBAAe,GAAf,eAAe,CAAyB;IA6B5D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,MAAkB;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAG,CAAC;QACtD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9C,KAAK,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1C,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;QAElB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,MAAM,GAAG,EAAE,CAAC;QAChB,IAAI,KAAK,GAAiB,IAAI,CAAC;QAC/B,IAAI,IAAI,GAAkB,IAAI,CAAC;QAC/B,IAAI,MAAM,GAA0B,IAAI,CAAC;QAEzC,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;YAClC,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;gBAChC,MAAM,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC7B,CAAC,CAAC;YAEF,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE;gBAChC,MAAM,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC7B,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,CAAC,GAAU,EAAE,EAAE;gBAC7B,KAAK,GAAG,GAAG,CAAC;YACd,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,CACd,KAAoB,EACpB,OAA8B,EAC9B,EAAE;gBACF,IAAI,GAAG,KAAK,CAAC;gBACb,MAAM,GAAG,OAAO,CAAC;gBACjB,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC;YAEF,MAAM,OAAO,GAAG,GAAG,EAAE;gBACnB,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC9C,KAAK,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;gBAC9C,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACvC,KAAK,CAAC,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;gBACvC,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;oBACpB,KAAK,CAAC,UAAU,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC;YAEF,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;YAC3B,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC7B,CAAC,CAAC,CAAC;QAEH,uGAAuG;QACvG,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,MAAM,IAAI,MAAM,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG;gBACjB,WAAW,MAAM,IAAI,SAAS,EAAE;gBAChC,WAAW,MAAM,IAAI,SAAS,EAAE;gBAChC,UAAU,KAAK,IAAI,QAAQ,EAAE;gBAC7B,cAAc,IAAI,IAAI,QAAQ,EAAE;gBAChC,WAAW,MAAM,IAAI,QAAQ,EAAE;aAChC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACb,OAAO;gBACL,UAAU;gBACV,aAAa,EAAE,UAAU;aAC1B,CAAC;QACJ,CAAC;QAED,OAAO;YACL,UAAU,EAAE,MAAM;YAClB,aAAa,EAAE,MAAM;SACtB,CAAC;IACJ,CAAC;CACF;AAED,MAAM,OAAO,YAAY;IACf,KAAK,GAAoC,IAAI,GAAG,EAAE,CAAC;IACnD,MAAM,CAAS;IACf,gBAAgB,CAAmB;IAE3C,YAAY,MAAc;QACxB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,gBAAgB,GAAG,IAAI,gBAAgB,CAC1C,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,EACjC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,EACjC,IAAI,EACJ,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAC1B,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAClC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACH,YAAY,CAAC,IAAwB;QACnC,IAAI,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9B,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;gBACtC,IAAI,GAAG,IAAI,CAAC,oBAAoB,EAAE,CAAC;YACrC,CAAC;iBAAM,CAAC;gBACN,mEAAmE;gBACnE,OAAO,CAAC,IAAI,CACV,mBAAmB,IAAI,CAAC,IAAI,uCAAuC,CACpE,CAAC;YACJ,CAAC;QACH,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAClC,CAAC;IAEO,qBAAqB;QAC3B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAI,IAAI,YAAY,cAAc,IAAI,IAAI,YAAY,iBAAiB,EAAE,CAAC;gBACxE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC/B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,sBAAsB,CAAC,UAAkB;QACvC,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,IAAI,IAAI,YAAY,iBAAiB,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBACxE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB;QACpB,yCAAyC;QACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,CAAC;QAExC,MAAM,IAAI,CAAC,mCAAmC,EAAE,CAAC;QAEjD,kDAAkD;QAClD,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;IACpD,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,gBAAgB;QACpB,yCAAyC;QACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,KAAK,EAAE,CAAC;QAExC,kDAAkD;QAClD,MAAM,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB;QACrB,MAAM,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAChC,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,sBAAsB,CAAC,UAAkB;QAC7C,0DAA0D;QAC1D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC;YAChD,IAAI,IAAI,YAAY,iBAAiB,IAAI,IAAI,CAAC,UAAU,KAAK,UAAU,EAAE,CAAC;gBACxE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YAC1B,CAAC;QACH,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;QAElE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC;QACrD,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,YAAY,EAAE,CAAC;YACjB,MAAM,kBAAkB,CACtB,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,EAC/B,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,EAC1B,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAClC,CAAC;QACJ,CAAC;IACH,CAAC;IAEO,KAAK,CAAC,mCAAmC;QAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,uBAAuB,EAAE,CAAC;QAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;YAClB,OAAO;QACT,CAAC;QAED,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,KAAK,CAAC,YAAY,CAAC,CAAC;YACrC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAa,CAAC,CAAC;YACzE,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,MAAM,GAAG,EAAE,CAAC;YAChB,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;YAChD,IAAI,iBAAiB,GAAG,KAAK,CAAC;YAC9B,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,aAAa;YACvD,MAAM,eAAe,GAAG,EAAE,GAAG,IAAI,GAAG,IAAI,CAAC,CAAC,aAAa;YAEvD,IAAI,gBAAgB,GAAG,CAAC,CAAC;YACzB,IAAI,gBAAgB,GAAG,CAAC,CAAC;YAEzB,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC9B,IAAI,iBAAiB;oBAAE,OAAO;gBAC9B,IAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;oBACrD,iBAAiB,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC;gBAChC,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,EAAE;gBAC9B,IAAI,iBAAiB;oBAAE,OAAO;gBAC9B,IAAI,gBAAgB,GAAG,IAAI,CAAC,MAAM,GAAG,eAAe,EAAE,CAAC;oBACrD,iBAAiB,GAAG,IAAI,CAAC;oBACzB,IAAI,CAAC,IAAI,EAAE,CAAC;oBACZ,OAAO;gBACT,CAAC;gBACD,gBAAgB,IAAI,IAAI,CAAC,MAAM,CAAC;gBAChC,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YACtC,CAAC,CAAC,CAAC;YAEH,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBACzB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,EAAE;oBACxB,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;oBAC9B,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,CAAC;oBAE9B,IAAI,iBAAiB,EAAE,CAAC;wBACtB,OAAO,MAAM,CACX,IAAI,KAAK,CACP,wDAAwD,eAAe,SAAS,CACjF,CACF,CAAC;oBACJ,CAAC;oBAED,IAAI,IAAI,KAAK,CAAC,EAAE,CAAC;wBACf,OAAO,CAAC,KAAK,CAAC,4BAA4B,IAAI,EAAE,CAAC,CAAC;wBAClD,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;wBACtB,OAAO,MAAM,CACX,IAAI,KAAK,CAAC,gDAAgD,IAAI,EAAE,CAAC,CAClE,CAAC;oBACJ,CAAC;oBACD,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,0FAA0F;YAC1F,MAAM,SAAS,GAA0B,EAAE,CAAC;YAC5C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAElD,IAAI,CAAC,eAAe,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;gBACxD,MAAM,IAAI,KAAK,CACb,8DAA8D,CAC/D,CAAC;YACJ,CAAC;YAED,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;gBACnC,IAAI,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;oBACrC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,EAAE,CAAC;wBACjD,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;oBACnD,CAAC;yBAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,EAAE,CAAC;wBACvD,SAAS,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;oBAClD,CAAC;yBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;wBACxB,SAAS,CAAC,IAAI,CAAC,IAA2B,CAAC,CAAC;oBAC9C,CAAC;gBACH,CAAC;YACH,CAAC;YACD,mCAAmC;YACnC,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;gBAC7B,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;oBACf,OAAO,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;oBAC1D,SAAS;gBACX,CAAC;gBACD,MAAM,UAAU,GACd,IAAI,CAAC,oBAAoB;oBACzB,OAAO,IAAI,CAAC,oBAAoB,KAAK,QAAQ;oBAC7C,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,oBAAoB,CAAC;oBACvC,CAAC,CAAC,IAAI,CAAC,oBAAoB;oBAC3B,CAAC,CAAC,EAAE,CAAC;gBACT,IAAI,CAAC,YAAY,CACf,IAAI,cAAc,CAChB,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,IAAI,EACT,IAAI,CAAC,WAAW,IAAI,EAAE,EACtB,UAAqC,CACtC,CACF,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,KAAK,CAAC,2BAA2B,YAAY,WAAW,EAAE,CAAC,CAAC,CAAC;YACrE,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IAED;;;;;;OAMG;IACH,uBAAuB;QACrB,6CAA6C;QAC7C,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC;QACnE,MAAM,aAAa,GAChB,iBAAiB,CAAC,gBAAgB,CAAc,IAAI,EAAE,CAAC;QAE1D,MAAM,YAAY,GAA0B,EAAE,CAAC;QAC/C,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC1B,sBAAsB;YACtB,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;QACH,CAAC,CAAC,CAAC;QACH,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;;;OAIG;IACH,+BAA+B,CAAC,SAAmB;QACjD,MAAM,YAAY,GAA0B,EAAE,CAAC;QAC/C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;YAClC,IAAI,IAAI,EAAE,CAAC;gBACT,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QACD,OAAO,YAAY,CAAC;IACtB,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CACnD,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAC3C,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,eAAe;QACb,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC;QACnE,MAAM,aAAa,GAChB,iBAAiB,CAAC,gBAAgB,CAAc,IAAI,EAAE,CAAC;QAE1D,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;aACnC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACpD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC;IAChE,CAAC;IAED;;OAEG;IACH,gBAAgB,CAAC,UAAkB;QACjC,MAAM,WAAW,GAAyB,EAAE,CAAC;QAC7C,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC;YACvC,IAAK,IAA0B,EAAE,UAAU,KAAK,UAAU,EAAE,CAAC;gBAC3D,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzB,CAAC;QACH,CAAC;QACD,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAClE,CAAC;IAED;;;;OAIG;IACH,OAAO,CAAC,IAAY,EAAE,OAAqB;QACzC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElC,4BAA4B;QAC5B,MAAM,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAAE,IAAI,EAAE,CAAC;QACnE,MAAM,aAAa,GAChB,iBAAiB,CAAC,gBAAgB,CAAc,IAAI,EAAE,CAAC;QAE1D,IAAI,IAAI,IAAI,aAAa,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC9C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,IAAI,IAAI,OAAO,EAAE,CAAC;YACpB,oCAAoC;YACpC,IAAI,SAAS,IAAI,IAAI,EAAE,CAAC;gBACrB,IAA4C,CAAC,OAAO,GAAG,OAAO,CAAC;YAClE,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../src/tools/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -345,13 +345,16 @@ export class WriteFileTool extends BaseDeclarativeTool {
345
345
  description: "The absolute path to the file to write to (e.g., '/home/user/project/file.txt'). Relative paths are not supported.",
346
346
  type: 'string',
347
347
  },
348
+ absolute_path: {
349
+ description: 'Alternative parameter name for file_path (for compatibility). The absolute path to the file to write.',
350
+ type: 'string',
351
+ },
348
352
  content: {
349
353
  description: 'The content to write to the file.',
350
354
  type: 'string',
351
355
  },
352
356
  },
353
- required: ['file_path', 'content'],
354
- requireOne: [['file_path', 'absolute_path']], // Accept either file_path or absolute_path
357
+ required: ['content'], // Content is always required, path validation in validateToolParamValues
355
358
  type: 'object',
356
359
  });
357
360
  this.config = config;