@vybestack/llxprt-code-core 0.1.21 → 0.1.23

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 (199) hide show
  1. package/dist/src/auth/types.d.ts +4 -4
  2. package/dist/src/code_assist/codeAssist.d.ts +1 -1
  3. package/dist/src/code_assist/codeAssist.js +5 -2
  4. package/dist/src/code_assist/codeAssist.js.map +1 -1
  5. package/dist/src/code_assist/converter.d.ts +2 -1
  6. package/dist/src/code_assist/converter.js +6 -4
  7. package/dist/src/code_assist/converter.js.map +1 -1
  8. package/dist/src/code_assist/oauth2.d.ts +1 -0
  9. package/dist/src/code_assist/oauth2.js +32 -15
  10. package/dist/src/code_assist/oauth2.js.map +1 -1
  11. package/dist/src/code_assist/server.d.ts +1 -2
  12. package/dist/src/code_assist/server.js +10 -5
  13. package/dist/src/code_assist/server.js.map +1 -1
  14. package/dist/src/code_assist/setup.js +2 -1
  15. package/dist/src/code_assist/setup.js.map +1 -1
  16. package/dist/src/config/config.d.ts +14 -1
  17. package/dist/src/config/config.js +28 -3
  18. package/dist/src/config/config.js.map +1 -1
  19. package/dist/src/core/client.js +13 -4
  20. package/dist/src/core/client.js.map +1 -1
  21. package/dist/src/core/coreToolScheduler.d.ts +2 -1
  22. package/dist/src/core/coreToolScheduler.js +23 -0
  23. package/dist/src/core/coreToolScheduler.js.map +1 -1
  24. package/dist/src/core/geminiChat.js +73 -17
  25. package/dist/src/core/geminiChat.js.map +1 -1
  26. package/dist/src/core/loggingContentGenerator.d.ts +1 -5
  27. package/dist/src/core/loggingContentGenerator.js +4 -6
  28. package/dist/src/core/loggingContentGenerator.js.map +1 -1
  29. package/dist/src/core/nonInteractiveToolExecutor.d.ts +2 -2
  30. package/dist/src/core/nonInteractiveToolExecutor.js +13 -9
  31. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  32. package/dist/src/core/subagent.js +5 -5
  33. package/dist/src/core/subagent.js.map +1 -1
  34. package/dist/src/debug/ConfigurationManager.d.ts +28 -0
  35. package/dist/src/debug/ConfigurationManager.js +211 -0
  36. package/dist/src/debug/ConfigurationManager.js.map +1 -0
  37. package/dist/src/debug/DebugLogger.d.ts +26 -0
  38. package/dist/src/debug/DebugLogger.js +230 -0
  39. package/dist/src/debug/DebugLogger.js.map +1 -0
  40. package/dist/src/debug/FileOutput.d.ts +23 -0
  41. package/dist/src/debug/FileOutput.js +144 -0
  42. package/dist/src/debug/FileOutput.js.map +1 -0
  43. package/dist/src/debug/MockConfigurationManager.d.ts +28 -0
  44. package/dist/src/debug/MockConfigurationManager.js +45 -0
  45. package/dist/src/debug/MockConfigurationManager.js.map +1 -0
  46. package/dist/src/debug/MockFileOutput.d.ts +20 -0
  47. package/dist/src/debug/MockFileOutput.js +25 -0
  48. package/dist/src/debug/MockFileOutput.js.map +1 -0
  49. package/dist/src/debug/index.d.ts +8 -0
  50. package/dist/src/debug/index.js +9 -0
  51. package/dist/src/debug/index.js.map +1 -0
  52. package/dist/src/debug/types.d.ts +23 -0
  53. package/dist/src/debug/types.js +2 -0
  54. package/dist/src/debug/types.js.map +1 -0
  55. package/dist/src/ide/ide-client.d.ts +4 -0
  56. package/dist/src/ide/ide-client.js +41 -2
  57. package/dist/src/ide/ide-client.js.map +1 -1
  58. package/dist/src/ide/ide-installer.js +17 -4
  59. package/dist/src/ide/ide-installer.js.map +1 -1
  60. package/dist/src/ide/process-utils.d.ts +10 -5
  61. package/dist/src/ide/process-utils.js +113 -30
  62. package/dist/src/ide/process-utils.js.map +1 -1
  63. package/dist/src/index.d.ts +5 -0
  64. package/dist/src/index.js +4 -0
  65. package/dist/src/index.js.map +1 -1
  66. package/dist/src/mcp/oauth-provider.js +176 -58
  67. package/dist/src/mcp/oauth-provider.js.map +1 -1
  68. package/dist/src/mcp/oauth-utils.d.ts +3 -1
  69. package/dist/src/mcp/oauth-utils.js +52 -22
  70. package/dist/src/mcp/oauth-utils.js.map +1 -1
  71. package/dist/src/prompt-config/defaults/core.md +34 -230
  72. package/dist/src/prompt-config/defaults/tools/read-file.md +1 -1
  73. package/dist/src/providers/BaseProvider.js +13 -2
  74. package/dist/src/providers/BaseProvider.js.map +1 -1
  75. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +1 -0
  76. package/dist/src/providers/anthropic/AnthropicProvider.js +165 -127
  77. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  78. package/dist/src/providers/gemini/GeminiProvider.d.ts +1 -0
  79. package/dist/src/providers/gemini/GeminiProvider.js +29 -53
  80. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  81. package/dist/src/providers/openai/OpenAIProvider.d.ts +9 -0
  82. package/dist/src/providers/openai/OpenAIProvider.js +671 -128
  83. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  84. package/dist/src/providers/openai/buildResponsesRequest.js +9 -6
  85. package/dist/src/providers/openai/buildResponsesRequest.js.map +1 -1
  86. package/dist/src/providers/openai/getOpenAIProviderInfo.js +8 -3
  87. package/dist/src/providers/openai/getOpenAIProviderInfo.js.map +1 -1
  88. package/dist/src/providers/openai/parseResponsesStream.js +13 -4
  89. package/dist/src/providers/openai/parseResponsesStream.js.map +1 -1
  90. package/dist/src/providers/openai/syntheticToolResponses.d.ts +0 -9
  91. package/dist/src/providers/openai/syntheticToolResponses.js +87 -16
  92. package/dist/src/providers/openai/syntheticToolResponses.js.map +1 -1
  93. package/dist/src/services/fileSystemService.d.ts +31 -0
  94. package/dist/src/services/fileSystemService.js +18 -0
  95. package/dist/src/services/fileSystemService.js.map +1 -0
  96. package/dist/src/services/loopDetectionService.d.ts +5 -0
  97. package/dist/src/services/loopDetectionService.js +89 -1
  98. package/dist/src/services/loopDetectionService.js.map +1 -1
  99. package/dist/src/services/shellExecutionService.d.ts +8 -6
  100. package/dist/src/services/shellExecutionService.js +297 -133
  101. package/dist/src/services/shellExecutionService.js.map +1 -1
  102. package/dist/src/telemetry/index.d.ts +2 -2
  103. package/dist/src/telemetry/index.js +2 -2
  104. package/dist/src/telemetry/index.js.map +1 -1
  105. package/dist/src/telemetry/loggers.d.ts +2 -1
  106. package/dist/src/telemetry/loggers.js +15 -1
  107. package/dist/src/telemetry/loggers.js.map +1 -1
  108. package/dist/src/telemetry/metrics.d.ts +1 -1
  109. package/dist/src/telemetry/metrics.js +2 -1
  110. package/dist/src/telemetry/metrics.js.map +1 -1
  111. package/dist/src/telemetry/sdk.js +3 -3
  112. package/dist/src/telemetry/sdk.js.map +1 -1
  113. package/dist/src/telemetry/types.d.ts +9 -1
  114. package/dist/src/telemetry/types.js +32 -0
  115. package/dist/src/telemetry/types.js.map +1 -1
  116. package/dist/src/telemetry/uiTelemetry.d.ts +4 -0
  117. package/dist/src/telemetry/uiTelemetry.js +16 -1
  118. package/dist/src/telemetry/uiTelemetry.js.map +1 -1
  119. package/dist/src/test-utils/tools.d.ts +29 -8
  120. package/dist/src/test-utils/tools.js +79 -15
  121. package/dist/src/test-utils/tools.js.map +1 -1
  122. package/dist/src/tools/ToolFormatter.d.ts +1 -0
  123. package/dist/src/tools/ToolFormatter.js +90 -9
  124. package/dist/src/tools/ToolFormatter.js.map +1 -1
  125. package/dist/src/tools/edit.d.ts +2 -2
  126. package/dist/src/tools/edit.js +60 -28
  127. package/dist/src/tools/edit.js.map +1 -1
  128. package/dist/src/tools/glob.d.ts +1 -1
  129. package/dist/src/tools/glob.js +8 -8
  130. package/dist/src/tools/glob.js.map +1 -1
  131. package/dist/src/tools/grep.d.ts +1 -1
  132. package/dist/src/tools/grep.js +1 -6
  133. package/dist/src/tools/grep.js.map +1 -1
  134. package/dist/src/tools/ls.d.ts +1 -1
  135. package/dist/src/tools/ls.js +1 -6
  136. package/dist/src/tools/ls.js.map +1 -1
  137. package/dist/src/tools/mcp-client-manager.d.ts +38 -0
  138. package/dist/src/tools/mcp-client-manager.js +74 -0
  139. package/dist/src/tools/mcp-client-manager.js.map +1 -0
  140. package/dist/src/tools/mcp-client.d.ts +43 -0
  141. package/dist/src/tools/mcp-client.js +163 -32
  142. package/dist/src/tools/mcp-client.js.map +1 -1
  143. package/dist/src/tools/memoryTool.d.ts +1 -1
  144. package/dist/src/tools/memoryTool.js +1 -6
  145. package/dist/src/tools/memoryTool.js.map +1 -1
  146. package/dist/src/tools/read-file.d.ts +1 -1
  147. package/dist/src/tools/read-file.js +5 -7
  148. package/dist/src/tools/read-file.js.map +1 -1
  149. package/dist/src/tools/read-many-files.d.ts +0 -1
  150. package/dist/src/tools/read-many-files.js +16 -11
  151. package/dist/src/tools/read-many-files.js.map +1 -1
  152. package/dist/src/tools/shell.d.ts +1 -1
  153. package/dist/src/tools/shell.js +57 -36
  154. package/dist/src/tools/shell.js.map +1 -1
  155. package/dist/src/tools/tool-error.d.ts +1 -0
  156. package/dist/src/tools/tool-error.js +1 -0
  157. package/dist/src/tools/tool-error.js.map +1 -1
  158. package/dist/src/tools/tool-registry.d.ts +5 -0
  159. package/dist/src/tools/tool-registry.js +13 -4
  160. package/dist/src/tools/tool-registry.js.map +1 -1
  161. package/dist/src/tools/tools.d.ts +56 -76
  162. package/dist/src/tools/tools.js +119 -106
  163. package/dist/src/tools/tools.js.map +1 -1
  164. package/dist/src/tools/web-fetch.d.ts +1 -1
  165. package/dist/src/tools/web-fetch.js +1 -6
  166. package/dist/src/tools/web-fetch.js.map +1 -1
  167. package/dist/src/tools/web-search.d.ts +6 -1
  168. package/dist/src/tools/web-search.js +6 -6
  169. package/dist/src/tools/web-search.js.map +1 -1
  170. package/dist/src/tools/write-file.d.ts +1 -1
  171. package/dist/src/tools/write-file.js +7 -8
  172. package/dist/src/tools/write-file.js.map +1 -1
  173. package/dist/src/utils/environmentContext.js +2 -2
  174. package/dist/src/utils/environmentContext.js.map +1 -1
  175. package/dist/src/utils/errorReporting.js +1 -1
  176. package/dist/src/utils/fileUtils.d.ts +2 -1
  177. package/dist/src/utils/fileUtils.js +3 -3
  178. package/dist/src/utils/fileUtils.js.map +1 -1
  179. package/dist/src/utils/filesearch/crawler.d.ts +15 -0
  180. package/dist/src/utils/filesearch/crawler.js +50 -0
  181. package/dist/src/utils/filesearch/crawler.js.map +1 -0
  182. package/dist/src/utils/filesearch/fileSearch.d.ts +9 -53
  183. package/dist/src/utils/filesearch/fileSearch.js +62 -117
  184. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  185. package/dist/src/utils/filesearch/ignore.d.ts +7 -0
  186. package/dist/src/utils/filesearch/ignore.js +25 -0
  187. package/dist/src/utils/filesearch/ignore.js.map +1 -1
  188. package/dist/src/utils/getPty.d.ts +19 -0
  189. package/dist/src/utils/getPty.js +23 -0
  190. package/dist/src/utils/getPty.js.map +1 -0
  191. package/dist/src/utils/shell-utils.d.ts +39 -0
  192. package/dist/src/utils/shell-utils.js +68 -0
  193. package/dist/src/utils/shell-utils.js.map +1 -1
  194. package/dist/src/utils/user_account.js +58 -53
  195. package/dist/src/utils/user_account.js.map +1 -1
  196. package/dist/src/utils/workspaceContext.d.ts +9 -0
  197. package/dist/src/utils/workspaceContext.js +37 -3
  198. package/dist/src/utils/workspaceContext.js.map +1 -1
  199. package/package.json +22 -7
@@ -54,19 +54,6 @@ export declare abstract class BaseToolInvocation<TParams extends object, TResult
54
54
  * A type alias for a tool invocation where the specific parameter and result types are not known.
55
55
  */
56
56
  export type AnyToolInvocation = ToolInvocation<object, ToolResult>;
57
- /**
58
- * An adapter that wraps the legacy `Tool` interface to make it compatible
59
- * with the new `ToolInvocation` pattern.
60
- */
61
- export declare class LegacyToolInvocation<TParams extends object, TResult extends ToolResult> implements ToolInvocation<TParams, TResult> {
62
- private readonly legacyTool;
63
- readonly params: TParams;
64
- constructor(legacyTool: BaseTool<TParams, TResult>, params: TParams);
65
- getDescription(): string;
66
- toolLocations(): ToolLocation[];
67
- shouldConfirmExecute(abortSignal: AbortSignal): Promise<ToolCallConfirmationDetails | false>;
68
- execute(signal: AbortSignal, updateOutput?: (output: string) => void, terminalColumns?: number, terminalRows?: number): Promise<TResult>;
69
- }
70
57
  /**
71
58
  * Interface for a tool builder that validates parameters and creates invocations.
72
59
  */
@@ -127,7 +114,7 @@ export declare abstract class DeclarativeTool<TParams extends object, TResult ex
127
114
  * @param params The raw parameters from the model.
128
115
  * @returns An error message string if invalid, null otherwise.
129
116
  */
130
- protected validateToolParams(_params: TParams): string | null;
117
+ validateToolParams(_params: TParams): string | null;
131
118
  /**
132
119
  * The core of the new pattern. It validates parameters and, if successful,
133
120
  * returns a `ToolInvocation` object that encapsulates the logic for the
@@ -145,6 +132,20 @@ export declare abstract class DeclarativeTool<TParams extends object, TResult ex
145
132
  * @returns The result of the tool execution.
146
133
  */
147
134
  buildAndExecute(params: TParams, signal: AbortSignal, updateOutput?: (output: string) => void): Promise<TResult>;
135
+ /**
136
+ * Similar to `build` but never throws.
137
+ * @param params The raw, untrusted parameters from the model.
138
+ * @returns A `ToolInvocation` instance.
139
+ */
140
+ private silentBuild;
141
+ /**
142
+ * A convenience method that builds and executes the tool in one step.
143
+ * Never throws.
144
+ * @param params The raw, untrusted parameters from the model.
145
+ * @params abortSignal a signal to abort.
146
+ * @returns The result of the tool execution.
147
+ */
148
+ validateBuildAndExecute(params: TParams, abortSignal: AbortSignal): Promise<ToolResult>;
148
149
  }
149
150
  /**
150
151
  * New base class for declarative tools that separates validation from execution.
@@ -154,74 +155,14 @@ export declare abstract class DeclarativeTool<TParams extends object, TResult ex
154
155
  */
155
156
  export declare abstract class BaseDeclarativeTool<TParams extends object, TResult extends ToolResult> extends DeclarativeTool<TParams, TResult> {
156
157
  build(params: TParams): ToolInvocation<TParams, TResult>;
158
+ validateToolParams(params: TParams): string | null;
159
+ protected validateToolParamValues(_params: TParams): string | null;
157
160
  protected abstract createInvocation(params: TParams): ToolInvocation<TParams, TResult>;
158
161
  }
159
162
  /**
160
163
  * A type alias for a declarative tool where the specific parameter and result types are not known.
161
164
  */
162
165
  export type AnyDeclarativeTool = DeclarativeTool<object, ToolResult>;
163
- /**
164
- * Base implementation for tools with common functionality
165
- * @deprecated Use `DeclarativeTool` for new tools.
166
- */
167
- export declare abstract class BaseTool<TParams extends object = object, TResult extends ToolResult = ToolResult> extends DeclarativeTool<TParams, TResult> implements ContextAwareTool {
168
- readonly name: string;
169
- readonly displayName: string;
170
- readonly description: string;
171
- readonly kind: Kind;
172
- readonly parameterSchema: unknown;
173
- readonly isOutputMarkdown: boolean;
174
- readonly canUpdateOutput: boolean;
175
- /** Tool execution context containing session and agent information */
176
- context?: ToolContext;
177
- /**
178
- * Creates a new instance of BaseTool
179
- * @param name Internal name of the tool (used for API calls)
180
- * @param displayName User-friendly display name of the tool
181
- * @param description Description of what the tool does
182
- * @param isOutputMarkdown Whether the tool's output should be rendered as markdown
183
- * @param canUpdateOutput Whether the tool supports live (streaming) output
184
- * @param parameterSchema JSON Schema defining the parameters
185
- */
186
- constructor(name: string, displayName: string, description: string, kind: Kind, parameterSchema: unknown, isOutputMarkdown?: boolean, canUpdateOutput?: boolean);
187
- build(params: TParams): ToolInvocation<TParams, TResult>;
188
- /**
189
- * Validates the parameters for the tool
190
- * This is a placeholder implementation and should be overridden
191
- * Should be called from both `shouldConfirmExecute` and `execute`
192
- * `shouldConfirmExecute` should return false immediately if invalid
193
- * @param params Parameters to validate
194
- * @returns An error message string if invalid, null otherwise
195
- */
196
- validateToolParams(params: TParams): string | null;
197
- /**
198
- * Gets a pre-execution description of the tool operation
199
- * Default implementation that should be overridden by derived classes
200
- * @param params Parameters for the tool execution
201
- * @returns A markdown string describing what the tool will do
202
- */
203
- getDescription(params: TParams): string;
204
- /**
205
- * Determines if the tool should prompt for confirmation before execution
206
- * @param params Parameters for the tool execution
207
- * @returns Whether or not execute should be confirmed by the user.
208
- */
209
- shouldConfirmExecute(params: TParams, abortSignal: AbortSignal): Promise<ToolCallConfirmationDetails | false>;
210
- /**
211
- * Determines what file system paths the tool will affect
212
- * @param params Parameters for the tool execution
213
- * @returns A list of such paths
214
- */
215
- toolLocations(params: TParams): ToolLocation[];
216
- /**
217
- * Abstract method to execute the tool with the given parameters
218
- * Must be implemented by derived classes
219
- * @param params Parameters for the tool execution
220
- * @param signal AbortSignal for tool cancellation
221
- * @returns Result of the tool execution
222
- */
223
- abstract execute(params: TParams, signal: AbortSignal, updateOutput?: (output: string) => void, terminalColumns?: number, terminalRows?: number): Promise<TResult>;
224
- }
225
166
  export interface ToolResult {
226
167
  /**
227
168
  * A short, one-line summary of the tool's action and result.
@@ -334,3 +275,42 @@ export interface ToolLocation {
334
275
  path: string;
335
276
  line?: number;
336
277
  }
278
+ /**
279
+ * Legacy BaseTool class for backward compatibility with existing LLxprt tools.
280
+ * New tools should use BaseDeclarativeTool instead.
281
+ * @deprecated Use BaseDeclarativeTool for new tools
282
+ */
283
+ export declare abstract class BaseTool<TParams extends object, TResult extends ToolResult> extends DeclarativeTool<TParams, TResult> implements ContextAwareTool {
284
+ context?: ToolContext;
285
+ constructor(name: string, displayName: string, description: string, kind: Kind, parameterSchema: unknown, isOutputMarkdown?: boolean, canUpdateOutput?: boolean);
286
+ /**
287
+ * Get the schema for this tool. Maintains backward compatibility.
288
+ */
289
+ get schema(): FunctionDeclaration;
290
+ /**
291
+ * Legacy method signature for getDescription.
292
+ * Subclasses can override this method.
293
+ */
294
+ getDescription(_params: TParams): string;
295
+ /**
296
+ * Legacy method signature for validateToolParams.
297
+ * Subclasses can override this method.
298
+ * Note: The base class expects TParams, but legacy tools pass unknown.
299
+ */
300
+ validateToolParams(params: TParams): string | null;
301
+ /**
302
+ * Legacy validateToolParams method that accepts unknown params.
303
+ * This maintains compatibility with existing tool implementations.
304
+ */
305
+ validateToolParamsLegacy?(params: unknown): string | null;
306
+ /**
307
+ * Legacy execute method signature.
308
+ * Subclasses should implement this method.
309
+ */
310
+ abstract execute(params: TParams, signal: AbortSignal, updateOutput?: (output: string) => void): Promise<TResult>;
311
+ /**
312
+ * Implementation of the new declarative pattern.
313
+ * Creates a tool invocation that bridges to the legacy execute method.
314
+ */
315
+ build(params: TParams): ToolInvocation<TParams, TResult>;
316
+ }
@@ -3,6 +3,8 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { ToolErrorType } from './tool-error.js';
7
+ import { SchemaValidator } from '../utils/schemaValidator.js';
6
8
  /**
7
9
  * A convenience base class for ToolInvocation.
8
10
  */
@@ -18,30 +20,6 @@ export class BaseToolInvocation {
18
20
  return Promise.resolve(false);
19
21
  }
20
22
  }
21
- /**
22
- * An adapter that wraps the legacy `Tool` interface to make it compatible
23
- * with the new `ToolInvocation` pattern.
24
- */
25
- export class LegacyToolInvocation {
26
- legacyTool;
27
- params;
28
- constructor(legacyTool, params) {
29
- this.legacyTool = legacyTool;
30
- this.params = params;
31
- }
32
- getDescription() {
33
- return this.legacyTool.getDescription(this.params);
34
- }
35
- toolLocations() {
36
- return this.legacyTool.toolLocations(this.params);
37
- }
38
- shouldConfirmExecute(abortSignal) {
39
- return this.legacyTool.shouldConfirmExecute(this.params, abortSignal);
40
- }
41
- execute(signal, updateOutput, terminalColumns, terminalRows) {
42
- return this.legacyTool.execute(this.params, signal, updateOutput, terminalColumns, terminalRows);
43
- }
44
- }
45
23
  /**
46
24
  * New base class for tools that separates validation from execution.
47
25
  * New tools should extend this class.
@@ -93,6 +71,57 @@ export class DeclarativeTool {
93
71
  const invocation = this.build(params);
94
72
  return invocation.execute(signal, updateOutput);
95
73
  }
74
+ /**
75
+ * Similar to `build` but never throws.
76
+ * @param params The raw, untrusted parameters from the model.
77
+ * @returns A `ToolInvocation` instance.
78
+ */
79
+ silentBuild(params) {
80
+ try {
81
+ return this.build(params);
82
+ }
83
+ catch (e) {
84
+ if (e instanceof Error) {
85
+ return e;
86
+ }
87
+ return new Error(String(e));
88
+ }
89
+ }
90
+ /**
91
+ * A convenience method that builds and executes the tool in one step.
92
+ * Never throws.
93
+ * @param params The raw, untrusted parameters from the model.
94
+ * @params abortSignal a signal to abort.
95
+ * @returns The result of the tool execution.
96
+ */
97
+ async validateBuildAndExecute(params, abortSignal) {
98
+ const invocationOrError = this.silentBuild(params);
99
+ if (invocationOrError instanceof Error) {
100
+ const errorMessage = invocationOrError.message;
101
+ return {
102
+ llmContent: `Error: Invalid parameters provided. Reason: ${errorMessage}`,
103
+ returnDisplay: errorMessage,
104
+ error: {
105
+ message: errorMessage,
106
+ type: ToolErrorType.INVALID_TOOL_PARAMS,
107
+ },
108
+ };
109
+ }
110
+ try {
111
+ return await invocationOrError.execute(abortSignal);
112
+ }
113
+ catch (error) {
114
+ const errorMessage = error instanceof Error ? error.message : String(error);
115
+ return {
116
+ llmContent: `Error: Tool call execution failed. Reason: ${errorMessage}`,
117
+ returnDisplay: errorMessage,
118
+ error: {
119
+ message: errorMessage,
120
+ type: ToolErrorType.EXECUTION_FAILED,
121
+ },
122
+ };
123
+ }
124
+ }
96
125
  }
97
126
  /**
98
127
  * New base class for declarative tools that separates validation from execution.
@@ -108,92 +137,17 @@ export class BaseDeclarativeTool extends DeclarativeTool {
108
137
  }
109
138
  return this.createInvocation(params);
110
139
  }
111
- }
112
- /**
113
- * Base implementation for tools with common functionality
114
- * @deprecated Use `DeclarativeTool` for new tools.
115
- */
116
- export class BaseTool extends DeclarativeTool {
117
- name;
118
- displayName;
119
- description;
120
- kind;
121
- parameterSchema;
122
- isOutputMarkdown;
123
- canUpdateOutput;
124
- /** Tool execution context containing session and agent information */
125
- context;
126
- /**
127
- * Creates a new instance of BaseTool
128
- * @param name Internal name of the tool (used for API calls)
129
- * @param displayName User-friendly display name of the tool
130
- * @param description Description of what the tool does
131
- * @param isOutputMarkdown Whether the tool's output should be rendered as markdown
132
- * @param canUpdateOutput Whether the tool supports live (streaming) output
133
- * @param parameterSchema JSON Schema defining the parameters
134
- */
135
- constructor(name, displayName, description, kind, parameterSchema, isOutputMarkdown = true, canUpdateOutput = false) {
136
- super(name, displayName, description, kind, parameterSchema, isOutputMarkdown, canUpdateOutput);
137
- this.name = name;
138
- this.displayName = displayName;
139
- this.description = description;
140
- this.kind = kind;
141
- this.parameterSchema = parameterSchema;
142
- this.isOutputMarkdown = isOutputMarkdown;
143
- this.canUpdateOutput = canUpdateOutput;
144
- }
145
- build(params) {
146
- const validationError = this.validateToolParams(params);
147
- if (validationError) {
148
- throw new Error(validationError);
140
+ validateToolParams(params) {
141
+ const errors = SchemaValidator.validate(this.schema.parametersJsonSchema, params);
142
+ if (errors) {
143
+ return errors;
149
144
  }
150
- return new LegacyToolInvocation(this, params);
145
+ return this.validateToolParamValues(params);
151
146
  }
152
- /**
153
- * Validates the parameters for the tool
154
- * This is a placeholder implementation and should be overridden
155
- * Should be called from both `shouldConfirmExecute` and `execute`
156
- * `shouldConfirmExecute` should return false immediately if invalid
157
- * @param params Parameters to validate
158
- * @returns An error message string if invalid, null otherwise
159
- */
160
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
161
- validateToolParams(params) {
162
- // Implementation would typically use a JSON Schema validator
163
- // This is a placeholder that should be implemented by derived classes
147
+ validateToolParamValues(_params) {
148
+ // Base implementation can be extended by subclasses.
164
149
  return null;
165
150
  }
166
- /**
167
- * Gets a pre-execution description of the tool operation
168
- * Default implementation that should be overridden by derived classes
169
- * @param params Parameters for the tool execution
170
- * @returns A markdown string describing what the tool will do
171
- */
172
- getDescription(params) {
173
- return JSON.stringify(params);
174
- }
175
- /**
176
- * Determines if the tool should prompt for confirmation before execution
177
- * @param params Parameters for the tool execution
178
- * @returns Whether or not execute should be confirmed by the user.
179
- */
180
- shouldConfirmExecute(
181
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
182
- params,
183
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
184
- abortSignal) {
185
- return Promise.resolve(false);
186
- }
187
- /**
188
- * Determines what file system paths the tool will affect
189
- * @param params Parameters for the tool execution
190
- * @returns A list of such paths
191
- */
192
- toolLocations(
193
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
194
- params) {
195
- return [];
196
- }
197
151
  }
198
152
  /**
199
153
  * Detects cycles in a JSON schemas due to `$ref`s.
@@ -281,4 +235,63 @@ export var Kind;
281
235
  Kind["Fetch"] = "fetch";
282
236
  Kind["Other"] = "other";
283
237
  })(Kind || (Kind = {}));
238
+ /**
239
+ * Legacy BaseTool class for backward compatibility with existing LLxprt tools.
240
+ * New tools should use BaseDeclarativeTool instead.
241
+ * @deprecated Use BaseDeclarativeTool for new tools
242
+ */
243
+ export class BaseTool extends DeclarativeTool {
244
+ context;
245
+ constructor(name, displayName, description, kind, parameterSchema, isOutputMarkdown = true, canUpdateOutput = false) {
246
+ super(name, displayName, description, kind, parameterSchema, isOutputMarkdown, canUpdateOutput);
247
+ }
248
+ /**
249
+ * Get the schema for this tool. Maintains backward compatibility.
250
+ */
251
+ get schema() {
252
+ return super.schema;
253
+ }
254
+ /**
255
+ * Legacy method signature for getDescription.
256
+ * Subclasses can override this method.
257
+ */
258
+ getDescription(_params) {
259
+ return `Execute ${this.displayName}`;
260
+ }
261
+ /**
262
+ * Legacy method signature for validateToolParams.
263
+ * Subclasses can override this method.
264
+ * Note: The base class expects TParams, but legacy tools pass unknown.
265
+ */
266
+ validateToolParams(params) {
267
+ return super.validateToolParams(params);
268
+ }
269
+ /**
270
+ * Implementation of the new declarative pattern.
271
+ * Creates a tool invocation that bridges to the legacy execute method.
272
+ */
273
+ build(params) {
274
+ const validationError = this.validateToolParams(params);
275
+ if (validationError) {
276
+ throw new Error(validationError);
277
+ }
278
+ return new BaseToolLegacyInvocation(this, params);
279
+ }
280
+ }
281
+ /**
282
+ * Tool invocation wrapper for BaseTool legacy API.
283
+ */
284
+ class BaseToolLegacyInvocation extends BaseToolInvocation {
285
+ tool;
286
+ constructor(tool, params) {
287
+ super(params);
288
+ this.tool = tool;
289
+ }
290
+ getDescription() {
291
+ return this.tool.getDescription(this.params);
292
+ }
293
+ async execute(signal, updateOutput) {
294
+ return this.tool.execute(this.params, signal, updateOutput);
295
+ }
296
+ }
284
297
  //# sourceMappingURL=tools.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/tools/tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tools.js","sourceRoot":"","sources":["../../../src/tools/tools.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,6 @@ export declare class WebFetchTool extends BaseDeclarativeTool<WebFetchToolParams
21
21
  private readonly config;
22
22
  static readonly Name: string;
23
23
  constructor(config: Config);
24
- protected validateToolParams(params: WebFetchToolParams): string | null;
24
+ protected validateToolParamValues(params: WebFetchToolParams): string | null;
25
25
  protected createInvocation(params: WebFetchToolParams): ToolInvocation<WebFetchToolParams, ToolResult>;
26
26
  }
@@ -3,7 +3,6 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { SchemaValidator } from '../utils/schemaValidator.js';
7
6
  import { BaseDeclarativeTool, BaseToolInvocation, Kind, ToolConfirmationOutcome, } from './tools.js';
8
7
  import { getErrorMessage } from '../utils/errors.js';
9
8
  import { ApprovalMode } from '../config/config.js';
@@ -241,11 +240,7 @@ export class WebFetchTool extends BaseDeclarativeTool {
241
240
  setGlobalDispatcher(new ProxyAgent(proxy));
242
241
  }
243
242
  }
244
- validateToolParams(params) {
245
- const errors = SchemaValidator.validate(this.schema.parametersJsonSchema, params);
246
- if (errors) {
247
- return errors;
248
- }
243
+ validateToolParamValues(params) {
249
244
  if (!params.prompt || params.prompt.trim() === '') {
250
245
  return "The 'prompt' parameter cannot be empty and must contain URL(s) and instructions.";
251
246
  }
@@ -1 +1 @@
1
- {"version":3,"file":"web-fetch.js","sourceRoot":"","sources":["../../../src/tools/web-fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-fetch.js","sourceRoot":"","sources":["../../../src/tools/web-fetch.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,11 @@ export declare class WebSearchTool extends BaseDeclarativeTool<WebSearchToolPara
14
14
  private readonly config;
15
15
  static readonly Name: string;
16
16
  constructor(config: Config);
17
- protected validateToolParams(params: WebSearchToolParams): string | null;
17
+ /**
18
+ * Validates the parameters for the WebSearchTool.
19
+ * @param params The parameters to validate
20
+ * @returns An error message string if validation fails, null if valid
21
+ */
22
+ protected validateToolParamValues(params: WebSearchToolParams): string | null;
18
23
  protected createInvocation(params: WebSearchToolParams): ToolInvocation<WebSearchToolParams, WebSearchToolResult>;
19
24
  }
@@ -4,7 +4,6 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { BaseDeclarativeTool, Kind } from './tools.js';
7
- import { SchemaValidator } from '../utils/schemaValidator.js';
8
7
  import { WebSearchToolInvocation, } from './web-search-invocation.js';
9
8
  /**
10
9
  * A tool to perform web searches using Google Search via the Gemini API.
@@ -25,11 +24,12 @@ export class WebSearchTool extends BaseDeclarativeTool {
25
24
  });
26
25
  this.config = config;
27
26
  }
28
- validateToolParams(params) {
29
- const errors = SchemaValidator.validate(this.schema.parametersJsonSchema, params);
30
- if (errors) {
31
- return errors;
32
- }
27
+ /**
28
+ * Validates the parameters for the WebSearchTool.
29
+ * @param params The parameters to validate
30
+ * @returns An error message string if validation fails, null if valid
31
+ */
32
+ validateToolParamValues(params) {
33
33
  if (!params.query || params.query.trim() === '') {
34
34
  return "The 'query' parameter cannot be empty.";
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../../src/tools/web-search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAkB,MAAM,YAAY,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAE9D,OAAO,EACL,uBAAuB,GAGxB,MAAM,4BAA4B,CAAC;AAQpC;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,mBAGlC;IAG8B;IAF7B,MAAM,CAAU,IAAI,GAAW,mBAAmB,CAAC;IAEnD,YAA6B,MAAc;QACzC,KAAK,CACH,aAAa,CAAC,IAAI,EAClB,cAAc,EACd,uKAAuK,EACvK,IAAI,CAAC,MAAM,EACX;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;iBAChE;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB,CACF,CAAC;QAhByB,WAAM,GAAN,MAAM,CAAQ;IAiB3C,CAAC;IAEkB,kBAAkB,CACnC,MAA2B;QAE3B,MAAM,MAAM,GAAG,eAAe,CAAC,QAAQ,CACrC,IAAI,CAAC,MAAM,CAAC,oBAAoB,EAChC,MAAM,CACP,CAAC;QACF,IAAI,MAAM,EAAE,CAAC;YACX,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,OAAO,wCAAwC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gBAAgB,CACxB,MAA2B;QAE3B,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC"}
1
+ {"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../../src/tools/web-search.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,IAAI,EAAkB,MAAM,YAAY,CAAC;AAEvE,OAAO,EACL,uBAAuB,GAGxB,MAAM,4BAA4B,CAAC;AAQpC;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,mBAGlC;IAG8B;IAF7B,MAAM,CAAU,IAAI,GAAW,mBAAmB,CAAC;IAEnD,YAA6B,MAAc;QACzC,KAAK,CACH,aAAa,CAAC,IAAI,EAClB,cAAc,EACd,uKAAuK,EACvK,IAAI,CAAC,MAAM,EACX;YACE,IAAI,EAAE,QAAQ;YACd,UAAU,EAAE;gBACV,KAAK,EAAE;oBACL,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,kDAAkD;iBAChE;aACF;YACD,QAAQ,EAAE,CAAC,OAAO,CAAC;SACpB,CACF,CAAC;QAhByB,WAAM,GAAN,MAAM,CAAQ;IAiB3C,CAAC;IAED;;;;OAIG;IACgB,uBAAuB,CACxC,MAA2B;QAE3B,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,OAAO,wCAAwC,CAAC;QAClD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAES,gBAAgB,CACxB,MAA2B;QAE3B,OAAO,IAAI,uBAAuB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1D,CAAC"}
@@ -47,7 +47,7 @@ export declare class WriteFileTool extends BaseDeclarativeTool<WriteFileToolPara
47
47
  private readonly config;
48
48
  static readonly Name: string;
49
49
  constructor(config: Config);
50
- validateToolParams(params: WriteFileToolParams): string | null;
50
+ protected validateToolParamValues(params: WriteFileToolParams): string | null;
51
51
  protected createInvocation(params: WriteFileToolParams): ToolInvocation<WriteFileToolParams, ToolResult>;
52
52
  getModifyContext(abortSignal: AbortSignal): ModifyContext<WriteFileToolParams>;
53
53
  }
@@ -9,7 +9,6 @@ import * as Diff from 'diff';
9
9
  import { ApprovalMode } from '../config/config.js';
10
10
  import { BaseDeclarativeTool, BaseToolInvocation, ToolConfirmationOutcome, Kind, } from './tools.js';
11
11
  import { ToolErrorType } from './tool-error.js';
12
- import { SchemaValidator } from '../utils/schemaValidator.js';
13
12
  import { makeRelative, shortenPath } from '../utils/paths.js';
14
13
  import { getErrorMessage, isNodeError } from '../utils/errors.js';
15
14
  import { ensureCorrectEdit, ensureCorrectFileContent, } from '../utils/editCorrector.js';
@@ -46,7 +45,9 @@ export async function getCorrectedFileContent(filePath, proposedContent, config,
46
45
  let fileExists = false;
47
46
  let correctedContent = proposedContent;
48
47
  try {
49
- originalContent = fs.readFileSync(filePath, 'utf8');
48
+ originalContent = await config
49
+ .getFileSystemService()
50
+ .readTextFile(filePath);
50
51
  fileExists = true; // File exists and was read
51
52
  }
52
53
  catch (err) {
@@ -211,7 +212,9 @@ class WriteFileToolInvocation extends BaseToolInvocation {
211
212
  if (!fs.existsSync(dirName)) {
212
213
  fs.mkdirSync(dirName, { recursive: true });
213
214
  }
214
- fs.writeFileSync(filteredParams.file_path, fileContent, 'utf8');
215
+ await this.config
216
+ .getFileSystemService()
217
+ .writeTextFile(filteredParams.file_path, fileContent);
215
218
  // Track git stats if logging is enabled and service is available
216
219
  let gitStats = null;
217
220
  if (this.config.getConversationLoggingEnabled()) {
@@ -345,11 +348,7 @@ export class WriteFileTool extends BaseDeclarativeTool {
345
348
  });
346
349
  this.config = config;
347
350
  }
348
- validateToolParams(params) {
349
- const errors = SchemaValidator.validate(this.schema.parametersJsonSchema, params);
350
- if (errors) {
351
- return errors;
352
- }
351
+ validateToolParamValues(params) {
353
352
  const filePath = params.file_path;
354
353
  if (!path.isAbsolute(filePath)) {
355
354
  return `File path must be absolute: ${filePath}`;