@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
@@ -4,14 +4,13 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { SchemaValidator } from '../utils/schemaValidator.js';
7
- import { BaseTool, ToolConfirmationOutcome, Icon, } from './tools.js';
8
- import { Type } from '@google/genai';
7
+ import { BaseDeclarativeTool, BaseToolInvocation, Kind, ToolConfirmationOutcome, } from './tools.js';
9
8
  import { getErrorMessage } from '../utils/errors.js';
10
9
  import { ApprovalMode } from '../config/config.js';
10
+ import { getResponseText } from '../utils/generateContentResponseUtilities.js';
11
11
  import { fetchWithTimeout, isPrivateIp } from '../utils/fetch.js';
12
12
  import { convert } from 'html-to-text';
13
13
  import { ProxyAgent, setGlobalDispatcher } from 'undici';
14
- import { getResponseText } from '../utils/generateContentResponseUtilities.js';
15
14
  const URL_FETCH_TIMEOUT_MS = 10000;
16
15
  const MAX_CONTENT_LENGTH = 100000;
17
16
  // Helper function to extract URLs from a string
@@ -19,31 +18,14 @@ function extractUrls(text) {
19
18
  const urlRegex = /(https?:\/\/[^\s]+)/g;
20
19
  return text.match(urlRegex) || [];
21
20
  }
22
- /**
23
- * Implementation of the WebFetch tool logic
24
- */
25
- export class WebFetchTool extends BaseTool {
21
+ class WebFetchToolInvocation extends BaseToolInvocation {
26
22
  config;
27
- static Name = 'web_fetch';
28
- constructor(config) {
29
- super(WebFetchTool.Name, 'WebFetch', "Processes content from URL(s), including local and private network addresses (e.g., localhost), embedded in a prompt. Include up to 20 URLs and instructions (e.g., summarize, extract specific data) directly in the 'prompt' parameter.", Icon.Globe, {
30
- properties: {
31
- prompt: {
32
- description: 'A comprehensive prompt that includes the URL(s) (up to 20) to fetch and specific instructions on how to process their content (e.g., "Summarize https://example.com/article and extract key points from https://another.com/data"). Must contain as least one URL starting with http:// or https://.',
33
- type: Type.STRING,
34
- },
35
- },
36
- required: ['prompt'],
37
- type: Type.OBJECT,
38
- });
23
+ constructor(config, params) {
24
+ super(params);
39
25
  this.config = config;
40
- const proxy = config.getProxy();
41
- if (proxy) {
42
- setGlobalDispatcher(new ProxyAgent(proxy));
43
- }
44
26
  }
45
- async executeFallback(params, _signal) {
46
- const urls = extractUrls(params.prompt);
27
+ async executeFallback(_signal) {
28
+ const urls = extractUrls(this.params.prompt);
47
29
  if (urls.length === 0) {
48
30
  return {
49
31
  llmContent: 'Error: No URL found in the prompt for fallback.',
@@ -60,18 +42,18 @@ export class WebFetchTool extends BaseTool {
60
42
  }
61
43
  try {
62
44
  const response = await fetchWithTimeout(url, URL_FETCH_TIMEOUT_MS);
63
- if (!response.ok) {
64
- throw new Error(`Request failed with status code ${response.status} ${response.statusText}`);
65
- }
66
45
  const html = await response.text();
67
46
  const textContent = convert(html, {
68
- wordwrap: false,
47
+ wordwrap: 130,
69
48
  selectors: [
70
49
  { selector: 'a', options: { ignoreHref: true } },
71
50
  { selector: 'img', format: 'skip' },
51
+ { selector: 'script', format: 'skip' },
52
+ { selector: 'style', format: 'skip' },
72
53
  ],
73
54
  }).substring(0, MAX_CONTENT_LENGTH);
74
- // Since we can't use Gemini client directly, return the raw content with an error message
55
+ // In llxprt, we can't use Gemini client directly for fallback processing
56
+ // Return the raw content with a note about the limitation
75
57
  return {
76
58
  llmContent: `Private/local URLs cannot be processed with AI. Raw content provided below.\n\nContent from ${url}:\n\n${textContent.substring(0, 5000)}${textContent.length > 5000 ? '...[truncated]' : ''}`,
77
59
  returnDisplay: `Private/local URLs cannot be processed with AI. Raw content provided below.`,
@@ -86,39 +68,21 @@ export class WebFetchTool extends BaseTool {
86
68
  };
87
69
  }
88
70
  }
89
- validateParams(params) {
90
- const errors = SchemaValidator.validate(this.schema.parameters, params);
91
- if (errors) {
92
- return errors;
93
- }
94
- if (!params.prompt || params.prompt.trim() === '') {
95
- return "The 'prompt' parameter cannot be empty and must contain URL(s) and instructions.";
96
- }
97
- if (!params.prompt.includes('http://') &&
98
- !params.prompt.includes('https://')) {
99
- return "The 'prompt' must contain at least one valid URL (starting with http:// or https://).";
100
- }
101
- return null;
102
- }
103
- getDescription(params) {
104
- const displayPrompt = params.prompt.length > 100
105
- ? params.prompt.substring(0, 97) + '...'
106
- : params.prompt;
71
+ getDescription() {
72
+ const displayPrompt = this.params.prompt.length > 100
73
+ ? this.params.prompt.substring(0, 97) + '...'
74
+ : this.params.prompt;
107
75
  return `Processing URLs and instructions from prompt: "${displayPrompt}"`;
108
76
  }
109
- async shouldConfirmExecute(params) {
77
+ async shouldConfirmExecute() {
110
78
  const approvalMode = this.config.getApprovalMode();
111
79
  if (approvalMode === ApprovalMode.AUTO_EDIT ||
112
80
  approvalMode === ApprovalMode.YOLO) {
113
81
  return false;
114
82
  }
115
- const validationError = this.validateParams(params);
116
- if (validationError) {
117
- return false;
118
- }
119
83
  // Perform GitHub URL conversion here to differentiate between user-provided
120
84
  // URL and the actual URL to be fetched.
121
- const urls = extractUrls(params.prompt).map((url) => {
85
+ const urls = extractUrls(this.params.prompt).map((url) => {
122
86
  if (url.includes('github.com') && url.includes('/blob/')) {
123
87
  return url
124
88
  .replace('github.com', 'raw.githubusercontent.com')
@@ -129,7 +93,7 @@ export class WebFetchTool extends BaseTool {
129
93
  const confirmationDetails = {
130
94
  type: 'info',
131
95
  title: `Confirm Web Fetch`,
132
- prompt: params.prompt,
96
+ prompt: this.params.prompt,
133
97
  urls,
134
98
  onConfirm: async (outcome) => {
135
99
  if (outcome === ToolConfirmationOutcome.ProceedAlways) {
@@ -139,20 +103,13 @@ export class WebFetchTool extends BaseTool {
139
103
  };
140
104
  return confirmationDetails;
141
105
  }
142
- async execute(params, signal) {
143
- const validationError = this.validateParams(params);
144
- if (validationError) {
145
- return {
146
- llmContent: `Error: Invalid parameters provided. Reason: ${validationError}`,
147
- returnDisplay: validationError,
148
- };
149
- }
150
- const userPrompt = params.prompt;
106
+ async execute(signal) {
107
+ const userPrompt = this.params.prompt;
151
108
  const urls = extractUrls(userPrompt);
152
109
  const url = urls[0];
153
110
  const isPrivate = isPrivateIp(url);
154
111
  if (isPrivate) {
155
- return this.executeFallback(params, signal);
112
+ return this.executeFallback(signal);
156
113
  }
157
114
  // Get the content generator config to access the provider manager
158
115
  const contentGenConfig = this.config.getContentGeneratorConfig();
@@ -181,7 +138,7 @@ export class WebFetchTool extends BaseTool {
181
138
  }
182
139
  try {
183
140
  // Invoke the server tool
184
- const response = await serverToolsProvider.invokeServerTool('web_fetch', { prompt: params.prompt }, { signal });
141
+ const response = await serverToolsProvider.invokeServerTool('web_fetch', { prompt: this.params.prompt }, { signal });
185
142
  if (process.env.DEBUG) {
186
143
  console.log('[WEB-FETCH] Raw response:', JSON.stringify(response, null, 2));
187
144
  }
@@ -232,33 +189,74 @@ export class WebFetchTool extends BaseTool {
232
189
  }
233
190
  });
234
191
  insertions.sort((a, b) => b.index - a.index);
235
- const responseChars = modifiedResponseText.split('');
236
- insertions.forEach((insertion) => {
237
- responseChars.splice(insertion.index, 0, insertion.marker);
192
+ insertions.forEach(({ index, marker }) => {
193
+ modifiedResponseText =
194
+ modifiedResponseText.slice(0, index) +
195
+ marker +
196
+ modifiedResponseText.slice(index);
238
197
  });
239
- modifiedResponseText = responseChars.join('');
240
- }
241
- if (sourceListFormatted.length > 0) {
242
- modifiedResponseText += `
243
-
244
- Sources:
245
- ${sourceListFormatted.join('\n')}`;
246
198
  }
247
199
  }
248
- const llmContent = modifiedResponseText;
200
+ // Prepare the final response
201
+ const finalResponse = sourceListFormatted.length
202
+ ? `${modifiedResponseText}\n\n### Sources:\n${sourceListFormatted.join('\n')}`
203
+ : modifiedResponseText;
249
204
  return {
250
- llmContent,
251
- returnDisplay: `Content processed from prompt.`,
205
+ llmContent: finalResponse,
206
+ returnDisplay: finalResponse,
252
207
  };
253
208
  }
254
209
  catch (error) {
255
- const errorMessage = `Error processing web content for prompt "${userPrompt.substring(0, 50)}...": ${getErrorMessage(error)}`;
256
- console.error(errorMessage, error);
210
+ const errorMessage = getErrorMessage(error);
211
+ if (process.env.DEBUG) {
212
+ console.error('[WEB-FETCH] Error:', error);
213
+ }
257
214
  return {
258
- llmContent: `Error: ${errorMessage}`,
259
- returnDisplay: `Error: ${errorMessage}`,
215
+ llmContent: `Error during web fetch: ${errorMessage}`,
216
+ returnDisplay: `Error during web fetch: ${errorMessage}`,
260
217
  };
261
218
  }
262
219
  }
263
220
  }
221
+ /**
222
+ * Implementation of the WebFetch tool logic
223
+ */
224
+ export class WebFetchTool extends BaseDeclarativeTool {
225
+ config;
226
+ static Name = 'web_fetch';
227
+ constructor(config) {
228
+ super(WebFetchTool.Name, 'WebFetch', "Processes content from URL(s), including local and private network addresses (e.g., localhost), embedded in a prompt. Include up to 20 URLs and instructions (e.g., summarize, extract specific data) directly in the 'prompt' parameter.", Kind.Fetch, {
229
+ properties: {
230
+ prompt: {
231
+ description: 'A comprehensive prompt that includes the URL(s) (up to 20) to fetch and specific instructions on how to process their content (e.g., "Summarize https://example.com/article and extract key points from https://another.com/data"). Must contain as least one URL starting with http:// or https://.',
232
+ type: 'string',
233
+ },
234
+ },
235
+ required: ['prompt'],
236
+ type: 'object',
237
+ });
238
+ this.config = config;
239
+ const proxy = config.getProxy();
240
+ if (proxy) {
241
+ setGlobalDispatcher(new ProxyAgent(proxy));
242
+ }
243
+ }
244
+ validateToolParams(params) {
245
+ const errors = SchemaValidator.validate(this.schema.parametersJsonSchema, params);
246
+ if (errors) {
247
+ return errors;
248
+ }
249
+ if (!params.prompt || params.prompt.trim() === '') {
250
+ return "The 'prompt' parameter cannot be empty and must contain URL(s) and instructions.";
251
+ }
252
+ if (!params.prompt.includes('http://') &&
253
+ !params.prompt.includes('https://')) {
254
+ return "The 'prompt' must contain at least one valid URL (starting with http:// or https://).";
255
+ }
256
+ return null;
257
+ }
258
+ createInvocation(params) {
259
+ return new WebFetchToolInvocation(this.config, params);
260
+ }
261
+ }
264
262
  //# sourceMappingURL=web-fetch.js.map
@@ -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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"}
@@ -3,8 +3,7 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { BaseTool, Icon } from './tools.js';
7
- import { Type } from '@google/genai';
6
+ import { BaseTool, Kind } from './tools.js';
8
7
  import { SchemaValidator } from '../utils/schemaValidator.js';
9
8
  import { getErrorMessage } from '../utils/errors.js';
10
9
  import { getResponseText } from '../utils/generateContentResponseUtilities.js';
@@ -15,11 +14,11 @@ export class WebSearchTool extends BaseTool {
15
14
  config;
16
15
  static Name = 'google_web_search';
17
16
  constructor(config) {
18
- super(WebSearchTool.Name, 'GoogleSearch', 'Performs a web search using Google Search (via the Gemini API) and returns the results. This tool is useful for finding information on the internet based on a query.', Icon.Globe, {
19
- type: Type.OBJECT,
17
+ super(WebSearchTool.Name, 'GoogleSearch', 'Performs a web search using Google Search (via the Gemini API) and returns the results. This tool is useful for finding information on the internet based on a query.', Kind.Search, {
18
+ type: 'object',
20
19
  properties: {
21
20
  query: {
22
- type: Type.STRING,
21
+ type: 'string',
23
22
  description: 'The search query to find information on the web.',
24
23
  },
25
24
  },
@@ -33,7 +32,7 @@ export class WebSearchTool extends BaseTool {
33
32
  * @returns An error message string if validation fails, null if valid
34
33
  */
35
34
  validateParams(params) {
36
- const errors = SchemaValidator.validate(this.schema.parameters, params);
35
+ const errors = SchemaValidator.validate(this.schema.parametersJsonSchema, params);
37
36
  if (errors) {
38
37
  return errors;
39
38
  }
@@ -53,6 +52,15 @@ export class WebSearchTool extends BaseTool {
53
52
  returnDisplay: validationError,
54
53
  };
55
54
  }
55
+ // Additional safety check - ensure query exists and is not just "undefined" string
56
+ if (!params.query ||
57
+ params.query.trim() === '' ||
58
+ params.query === 'undefined') {
59
+ return {
60
+ llmContent: `Error: Web search requires a valid search query. Please provide a specific search query.`,
61
+ returnDisplay: `Error: No valid search query provided.`,
62
+ };
63
+ }
56
64
  try {
57
65
  // Get the content generator config to access the provider manager
58
66
  const contentGenConfig = this.config.getContentGeneratorConfig();
@@ -79,8 +87,16 @@ export class WebSearchTool extends BaseTool {
79
87
  returnDisplay: `Web search not available.`,
80
88
  };
81
89
  }
82
- // Invoke the server tool
83
- const response = await serverToolsProvider.invokeServerTool('web_search', { query: params.query }, { signal });
90
+ // Invoke the server tool with validated query
91
+ // Double-check query is not undefined before sending
92
+ const searchQuery = params.query?.trim() || '';
93
+ if (!searchQuery) {
94
+ return {
95
+ llmContent: `Error: Cannot perform web search without a query.`,
96
+ returnDisplay: `Error: Empty search query.`,
97
+ };
98
+ }
99
+ const response = await serverToolsProvider.invokeServerTool('web_search', { query: searchQuery }, { signal });
84
100
  // Cast response to the expected type
85
101
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
86
102
  const geminiResponse = response;
@@ -136,7 +152,8 @@ export class WebSearchTool extends BaseTool {
136
152
  };
137
153
  }
138
154
  catch (error) {
139
- const errorMessage = `Error during web search for query "${params.query}": ${getErrorMessage(error)}`;
155
+ const queryDisplay = params.query || 'undefined';
156
+ const errorMessage = `Error during web search for query "${queryDisplay}": ${getErrorMessage(error)}`;
140
157
  console.error(errorMessage, error);
141
158
  return {
142
159
  llmContent: `Error: ${errorMessage}`,
@@ -1 +1 @@
1
- {"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../../src/tools/web-search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"web-search.js","sourceRoot":"","sources":["../../../src/tools/web-search.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { Config } from '../config/config.js';
7
- import { BaseTool, ToolResult, ToolCallConfirmationDetails } from './tools.js';
7
+ import { BaseTool, ToolResult, ToolCallConfirmationDetails, ToolLocation } from './tools.js';
8
8
  import { ModifiableDeclarativeTool, ModifyContext } from './modifiable-tool.js';
9
9
  /**
10
10
  * Parameters for the WriteFile tool
@@ -34,6 +34,7 @@ export declare class WriteFileTool extends BaseTool<WriteFileToolParams, ToolRes
34
34
  private readonly config;
35
35
  static readonly Name: string;
36
36
  constructor(config: Config);
37
+ toolLocations(params: WriteFileToolParams): ToolLocation[];
37
38
  validateToolParams(params: WriteFileToolParams): string | null;
38
39
  getDescription(params: WriteFileToolParams): string;
39
40
  /**