@vybestack/llxprt-code-core 0.2.24 → 0.3.4-nightly.250912.5e46408e

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 (194) hide show
  1. package/dist/index.d.ts +1 -1
  2. package/dist/index.js +1 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/src/code_assist/converter.js +35 -3
  5. package/dist/src/code_assist/converter.js.map +1 -1
  6. package/dist/src/code_assist/oauth2.d.ts +1 -1
  7. package/dist/src/code_assist/oauth2.js +18 -25
  8. package/dist/src/code_assist/oauth2.js.map +1 -1
  9. package/dist/src/config/config.d.ts +33 -2
  10. package/dist/src/config/config.js +73 -13
  11. package/dist/src/config/config.js.map +1 -1
  12. package/dist/src/config/storage.d.ts +33 -0
  13. package/dist/src/config/storage.js +93 -0
  14. package/dist/src/config/storage.js.map +1 -0
  15. package/dist/src/core/client.d.ts +8 -5
  16. package/dist/src/core/client.js +119 -20
  17. package/dist/src/core/client.js.map +1 -1
  18. package/dist/src/core/contentGenerator.js +11 -0
  19. package/dist/src/core/contentGenerator.js.map +1 -1
  20. package/dist/src/core/coreToolScheduler.d.ts +18 -12
  21. package/dist/src/core/coreToolScheduler.js +235 -241
  22. package/dist/src/core/coreToolScheduler.js.map +1 -1
  23. package/dist/src/core/logger.d.ts +3 -1
  24. package/dist/src/core/logger.js +5 -3
  25. package/dist/src/core/logger.js.map +1 -1
  26. package/dist/src/core/nonInteractiveToolExecutor.js +2 -2
  27. package/dist/src/core/nonInteractiveToolExecutor.js.map +1 -1
  28. package/dist/src/core/subagent.js +2 -12
  29. package/dist/src/core/subagent.js.map +1 -1
  30. package/dist/src/core/turn.d.ts +13 -2
  31. package/dist/src/core/turn.js +15 -4
  32. package/dist/src/core/turn.js.map +1 -1
  33. package/dist/src/filters/EmojiFilter.d.ts +5 -0
  34. package/dist/src/filters/EmojiFilter.js +3 -2
  35. package/dist/src/filters/EmojiFilter.js.map +1 -1
  36. package/dist/src/ide/detect-ide.d.ts +8 -3
  37. package/dist/src/ide/detect-ide.js +29 -11
  38. package/dist/src/ide/detect-ide.js.map +1 -1
  39. package/dist/src/ide/ide-client.d.ts +5 -4
  40. package/dist/src/ide/ide-client.js +21 -17
  41. package/dist/src/ide/ide-client.js.map +1 -1
  42. package/dist/src/ide/ide-installer.d.ts +1 -1
  43. package/dist/src/ide/ide-installer.js +29 -20
  44. package/dist/src/ide/ide-installer.js.map +1 -1
  45. package/dist/src/ide/process-utils.d.ts +7 -5
  46. package/dist/src/ide/process-utils.js +80 -47
  47. package/dist/src/ide/process-utils.js.map +1 -1
  48. package/dist/src/index.d.ts +6 -0
  49. package/dist/src/index.js +7 -0
  50. package/dist/src/index.js.map +1 -1
  51. package/dist/src/mcp/file-token-store.d.ts +58 -0
  52. package/dist/src/mcp/file-token-store.js +181 -0
  53. package/dist/src/mcp/file-token-store.js.map +1 -0
  54. package/dist/src/mcp/oauth-token-storage.d.ts +13 -28
  55. package/dist/src/mcp/oauth-token-storage.js +21 -87
  56. package/dist/src/mcp/oauth-token-storage.js.map +1 -1
  57. package/dist/src/mcp/oauth-utils.d.ts +8 -0
  58. package/dist/src/mcp/oauth-utils.js +41 -27
  59. package/dist/src/mcp/oauth-utils.js.map +1 -1
  60. package/dist/src/mcp/token-store.d.ts +99 -0
  61. package/dist/src/mcp/token-store.js +77 -0
  62. package/dist/src/mcp/token-store.js.map +1 -0
  63. package/dist/src/parsers/TextToolCallParser.d.ts +5 -0
  64. package/dist/src/parsers/TextToolCallParser.js +3 -13
  65. package/dist/src/parsers/TextToolCallParser.js.map +1 -1
  66. package/dist/src/providers/anthropic/AnthropicProvider.d.ts +5 -0
  67. package/dist/src/providers/anthropic/AnthropicProvider.js +26 -8
  68. package/dist/src/providers/anthropic/AnthropicProvider.js.map +1 -1
  69. package/dist/src/providers/gemini/GeminiProvider.js +16 -1
  70. package/dist/src/providers/gemini/GeminiProvider.js.map +1 -1
  71. package/dist/src/providers/openai/OpenAIProvider.d.ts +15 -0
  72. package/dist/src/providers/openai/OpenAIProvider.js +99 -48
  73. package/dist/src/providers/openai/OpenAIProvider.js.map +1 -1
  74. package/dist/src/services/gitService.d.ts +3 -1
  75. package/dist/src/services/gitService.js +20 -10
  76. package/dist/src/services/gitService.js.map +1 -1
  77. package/dist/src/services/history/ContentConverters.js +40 -1
  78. package/dist/src/services/history/ContentConverters.js.map +1 -1
  79. package/dist/src/services/loopDetectionService.js +8 -2
  80. package/dist/src/services/loopDetectionService.js.map +1 -1
  81. package/dist/src/services/shellExecutionService.js +2 -1
  82. package/dist/src/services/shellExecutionService.js.map +1 -1
  83. package/dist/src/settings/SettingsService.d.ts +5 -0
  84. package/dist/src/settings/SettingsService.js +5 -0
  85. package/dist/src/settings/SettingsService.js.map +1 -1
  86. package/dist/src/settings/settingsServiceInstance.d.ts +5 -0
  87. package/dist/src/settings/settingsServiceInstance.js +5 -0
  88. package/dist/src/settings/settingsServiceInstance.js.map +1 -1
  89. package/dist/src/settings/types.d.ts +5 -0
  90. package/dist/src/settings/types.js +3 -1
  91. package/dist/src/settings/types.js.map +1 -1
  92. package/dist/src/tools/IToolFormatter.d.ts +5 -0
  93. package/dist/src/tools/IToolFormatter.js +3 -13
  94. package/dist/src/tools/IToolFormatter.js.map +1 -1
  95. package/dist/src/tools/ToolFormatter.d.ts +18 -0
  96. package/dist/src/tools/ToolFormatter.js +41 -13
  97. package/dist/src/tools/ToolFormatter.js.map +1 -1
  98. package/dist/src/tools/doubleEscapeUtils.d.ts +3 -13
  99. package/dist/src/tools/doubleEscapeUtils.js +5 -0
  100. package/dist/src/tools/doubleEscapeUtils.js.map +1 -1
  101. package/dist/src/tools/edit.js +10 -1
  102. package/dist/src/tools/edit.js.map +1 -1
  103. package/dist/src/tools/glob.d.ts +0 -4
  104. package/dist/src/tools/glob.js +18 -42
  105. package/dist/src/tools/glob.js.map +1 -1
  106. package/dist/src/tools/grep.d.ts +0 -4
  107. package/dist/src/tools/grep.js +41 -77
  108. package/dist/src/tools/grep.js.map +1 -1
  109. package/dist/src/tools/ls.d.ts +2 -6
  110. package/dist/src/tools/ls.js +18 -13
  111. package/dist/src/tools/ls.js.map +1 -1
  112. package/dist/src/tools/mcp-client.d.ts +7 -0
  113. package/dist/src/tools/mcp-client.js +26 -21
  114. package/dist/src/tools/mcp-client.js.map +1 -1
  115. package/dist/src/tools/mcp-tool.js +12 -2
  116. package/dist/src/tools/mcp-tool.js.map +1 -1
  117. package/dist/src/tools/memoryTool.js +7 -2
  118. package/dist/src/tools/memoryTool.js.map +1 -1
  119. package/dist/src/tools/read-file.js +2 -30
  120. package/dist/src/tools/read-file.js.map +1 -1
  121. package/dist/src/tools/read-many-files.js +29 -52
  122. package/dist/src/tools/read-many-files.js.map +1 -1
  123. package/dist/src/tools/ripGrep.d.ts +46 -0
  124. package/dist/src/tools/ripGrep.js +368 -0
  125. package/dist/src/tools/ripGrep.js.map +1 -0
  126. package/dist/src/tools/shell.js +13 -2
  127. package/dist/src/tools/shell.js.map +1 -1
  128. package/dist/src/tools/todo-pause.js +0 -1
  129. package/dist/src/tools/todo-pause.js.map +1 -1
  130. package/dist/src/tools/tool-error.d.ts +18 -2
  131. package/dist/src/tools/tool-error.js +27 -1
  132. package/dist/src/tools/tool-error.js.map +1 -1
  133. package/dist/src/tools/tool-registry.d.ts +13 -2
  134. package/dist/src/tools/tool-registry.js +30 -2
  135. package/dist/src/tools/tool-registry.js.map +1 -1
  136. package/dist/src/tools/tools.d.ts +7 -5
  137. package/dist/src/tools/tools.js +12 -0
  138. package/dist/src/tools/tools.js.map +1 -1
  139. package/dist/src/tools/web-fetch.js +101 -76
  140. package/dist/src/tools/web-fetch.js.map +1 -1
  141. package/dist/src/tools/web-search-invocation.js +13 -1
  142. package/dist/src/tools/web-search-invocation.js.map +1 -1
  143. package/dist/src/utils/deterministicEditCorrector.d.ts +28 -0
  144. package/dist/src/utils/deterministicEditCorrector.js +295 -0
  145. package/dist/src/utils/deterministicEditCorrector.js.map +1 -0
  146. package/dist/src/utils/editCorrector.d.ts +4 -4
  147. package/dist/src/utils/editCorrector.js +15 -213
  148. package/dist/src/utils/editCorrector.js.map +1 -1
  149. package/dist/src/utils/editor.js +1 -1
  150. package/dist/src/utils/editor.js.map +1 -1
  151. package/dist/src/utils/errors.d.ts +19 -0
  152. package/dist/src/utils/errors.js +32 -0
  153. package/dist/src/utils/errors.js.map +1 -1
  154. package/dist/src/utils/fileUtils.d.ts +2 -7
  155. package/dist/src/utils/fileUtils.js +16 -47
  156. package/dist/src/utils/fileUtils.js.map +1 -1
  157. package/dist/src/utils/filesearch/fileSearch.d.ts +1 -0
  158. package/dist/src/utils/filesearch/fileSearch.js +14 -9
  159. package/dist/src/utils/filesearch/fileSearch.js.map +1 -1
  160. package/dist/src/utils/ignorePatterns.d.ts +103 -0
  161. package/dist/src/utils/ignorePatterns.js +220 -0
  162. package/dist/src/utils/ignorePatterns.js.map +1 -0
  163. package/dist/src/utils/installationManager.d.ts +16 -0
  164. package/dist/src/utils/installationManager.js +50 -0
  165. package/dist/src/utils/installationManager.js.map +1 -0
  166. package/dist/src/utils/memoryDiscovery.d.ts +1 -1
  167. package/dist/src/utils/memoryDiscovery.js +64 -43
  168. package/dist/src/utils/memoryDiscovery.js.map +1 -1
  169. package/dist/src/utils/paths.d.ts +0 -17
  170. package/dist/src/utils/paths.js +0 -26
  171. package/dist/src/utils/paths.js.map +1 -1
  172. package/dist/src/utils/schemaValidator.js +4 -0
  173. package/dist/src/utils/schemaValidator.js.map +1 -1
  174. package/dist/src/utils/shell-utils.d.ts +1 -1
  175. package/dist/src/utils/shell-utils.js +23 -29
  176. package/dist/src/utils/shell-utils.js.map +1 -1
  177. package/dist/src/utils/tool-utils.d.ts +19 -0
  178. package/dist/src/utils/tool-utils.js +58 -0
  179. package/dist/src/utils/tool-utils.js.map +1 -0
  180. package/dist/src/utils/userAccountManager.d.ts +20 -0
  181. package/dist/src/utils/userAccountManager.js +122 -0
  182. package/dist/src/utils/userAccountManager.js.map +1 -0
  183. package/dist/src/utils/workspaceContext.js +11 -5
  184. package/dist/src/utils/workspaceContext.js.map +1 -1
  185. package/package.json +7 -3
  186. package/dist/src/utils/nextSpeakerChecker.d.ts +0 -12
  187. package/dist/src/utils/nextSpeakerChecker.js +0 -97
  188. package/dist/src/utils/nextSpeakerChecker.js.map +0 -1
  189. package/dist/src/utils/user_account.d.ts +0 -9
  190. package/dist/src/utils/user_account.js +0 -109
  191. package/dist/src/utils/user_account.js.map +0 -1
  192. package/dist/src/utils/user_id.d.ts +0 -11
  193. package/dist/src/utils/user_id.js +0 -49
  194. package/dist/src/utils/user_id.js.map +0 -1
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2025 Google LLC
3
+ * Copyright 2025 Vybestack LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  /**
@@ -20,8 +20,24 @@ export declare enum ToolErrorType {
20
20
  PERMISSION_DENIED = "permission_denied",
21
21
  NO_SPACE_LEFT = "no_space_left",
22
22
  TARGET_IS_DIRECTORY = "target_is_directory",
23
+ PATH_NOT_IN_WORKSPACE = "path_not_in_workspace",
24
+ SEARCH_PATH_NOT_FOUND = "search_path_not_found",
25
+ SEARCH_PATH_NOT_A_DIRECTORY = "search_path_not_a_directory",
23
26
  EDIT_PREPARATION_FAILURE = "edit_preparation_failure",
24
27
  EDIT_NO_OCCURRENCE_FOUND = "edit_no_occurrence_found",
25
28
  EDIT_EXPECTED_OCCURRENCE_MISMATCH = "edit_expected_occurrence_mismatch",
26
- EDIT_NO_CHANGE = "edit_no_change"
29
+ EDIT_NO_CHANGE = "edit_no_change",
30
+ GLOB_EXECUTION_ERROR = "glob_execution_error",
31
+ GREP_EXECUTION_ERROR = "grep_execution_error",
32
+ LS_EXECUTION_ERROR = "ls_execution_error",
33
+ PATH_IS_NOT_A_DIRECTORY = "path_is_not_a_directory",
34
+ MCP_TOOL_ERROR = "mcp_tool_error",
35
+ MEMORY_TOOL_EXECUTION_ERROR = "memory_tool_execution_error",
36
+ READ_MANY_FILES_SEARCH_ERROR = "read_many_files_search_error",
37
+ SHELL_EXECUTE_ERROR = "shell_execute_error",
38
+ DISCOVERED_TOOL_EXECUTION_ERROR = "discovered_tool_execution_error",
39
+ WEB_FETCH_NO_URL_IN_PROMPT = "web_fetch_no_url_in_prompt",
40
+ WEB_FETCH_FALLBACK_FAILED = "web_fetch_fallback_failed",
41
+ WEB_FETCH_PROCESSING_ERROR = "web_fetch_processing_error",
42
+ WEB_SEARCH_FAILED = "web_search_failed"
27
43
  }
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @license
3
- * Copyright 2025 Google LLC
3
+ * Copyright 2025 Vybestack LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  /**
@@ -23,10 +23,36 @@ export var ToolErrorType;
23
23
  ToolErrorType["PERMISSION_DENIED"] = "permission_denied";
24
24
  ToolErrorType["NO_SPACE_LEFT"] = "no_space_left";
25
25
  ToolErrorType["TARGET_IS_DIRECTORY"] = "target_is_directory";
26
+ ToolErrorType["PATH_NOT_IN_WORKSPACE"] = "path_not_in_workspace";
27
+ ToolErrorType["SEARCH_PATH_NOT_FOUND"] = "search_path_not_found";
28
+ ToolErrorType["SEARCH_PATH_NOT_A_DIRECTORY"] = "search_path_not_a_directory";
26
29
  // Edit-specific Errors
27
30
  ToolErrorType["EDIT_PREPARATION_FAILURE"] = "edit_preparation_failure";
28
31
  ToolErrorType["EDIT_NO_OCCURRENCE_FOUND"] = "edit_no_occurrence_found";
29
32
  ToolErrorType["EDIT_EXPECTED_OCCURRENCE_MISMATCH"] = "edit_expected_occurrence_mismatch";
30
33
  ToolErrorType["EDIT_NO_CHANGE"] = "edit_no_change";
34
+ // Glob-specific Errors
35
+ ToolErrorType["GLOB_EXECUTION_ERROR"] = "glob_execution_error";
36
+ // Grep-specific Errors
37
+ ToolErrorType["GREP_EXECUTION_ERROR"] = "grep_execution_error";
38
+ // Ls-specific Errors
39
+ ToolErrorType["LS_EXECUTION_ERROR"] = "ls_execution_error";
40
+ ToolErrorType["PATH_IS_NOT_A_DIRECTORY"] = "path_is_not_a_directory";
41
+ // MCP-specific Errors
42
+ ToolErrorType["MCP_TOOL_ERROR"] = "mcp_tool_error";
43
+ // Memory-specific Errors
44
+ ToolErrorType["MEMORY_TOOL_EXECUTION_ERROR"] = "memory_tool_execution_error";
45
+ // ReadManyFiles-specific Errors
46
+ ToolErrorType["READ_MANY_FILES_SEARCH_ERROR"] = "read_many_files_search_error";
47
+ // Shell errors
48
+ ToolErrorType["SHELL_EXECUTE_ERROR"] = "shell_execute_error";
49
+ // DiscoveredTool-specific Errors
50
+ ToolErrorType["DISCOVERED_TOOL_EXECUTION_ERROR"] = "discovered_tool_execution_error";
51
+ // WebFetch-specific Errors
52
+ ToolErrorType["WEB_FETCH_NO_URL_IN_PROMPT"] = "web_fetch_no_url_in_prompt";
53
+ ToolErrorType["WEB_FETCH_FALLBACK_FAILED"] = "web_fetch_fallback_failed";
54
+ ToolErrorType["WEB_FETCH_PROCESSING_ERROR"] = "web_fetch_processing_error";
55
+ // WebSearch-specific Errors
56
+ ToolErrorType["WEB_SEARCH_FAILED"] = "web_search_failed";
31
57
  })(ToolErrorType || (ToolErrorType = {}));
32
58
  //# sourceMappingURL=tool-error.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-error.js","sourceRoot":"","sources":["../../../src/tools/tool-error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,aAuBX;AAvBD,WAAY,aAAa;IACvB,iBAAiB;IACjB,4DAA2C,CAAA;IAC3C,oCAAmB,CAAA;IACnB,4DAA2C,CAAA;IAC3C,4DAA2C,CAAA;IAC3C,sDAAqC,CAAA;IAErC,qBAAqB;IACrB,kDAAiC,CAAA;IACjC,0DAAyC,CAAA;IACzC,8DAA6C,CAAA;IAC7C,oFAAmE,CAAA;IACnE,kDAAiC,CAAA;IACjC,wDAAuC,CAAA;IACvC,gDAA+B,CAAA;IAC/B,4DAA2C,CAAA;IAE3C,uBAAuB;IACvB,sEAAqD,CAAA;IACrD,sEAAqD,CAAA;IACrD,wFAAuE,CAAA;IACvE,kDAAiC,CAAA;AACnC,CAAC,EAvBW,aAAa,KAAb,aAAa,QAuBxB"}
1
+ {"version":3,"file":"tool-error.js","sourceRoot":"","sources":["../../../src/tools/tool-error.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,CAAN,IAAY,aA2DX;AA3DD,WAAY,aAAa;IACvB,iBAAiB;IACjB,4DAA2C,CAAA;IAC3C,oCAAmB,CAAA;IACnB,4DAA2C,CAAA;IAC3C,4DAA2C,CAAA;IAC3C,sDAAqC,CAAA;IAErC,qBAAqB;IACrB,kDAAiC,CAAA;IACjC,0DAAyC,CAAA;IACzC,8DAA6C,CAAA;IAC7C,oFAAmE,CAAA;IACnE,kDAAiC,CAAA;IACjC,wDAAuC,CAAA;IACvC,gDAA+B,CAAA;IAC/B,4DAA2C,CAAA;IAC3C,gEAA+C,CAAA;IAC/C,gEAA+C,CAAA;IAC/C,4EAA2D,CAAA;IAE3D,uBAAuB;IACvB,sEAAqD,CAAA;IACrD,sEAAqD,CAAA;IACrD,wFAAuE,CAAA;IACvE,kDAAiC,CAAA;IAEjC,uBAAuB;IACvB,8DAA6C,CAAA;IAE7C,uBAAuB;IACvB,8DAA6C,CAAA;IAE7C,qBAAqB;IACrB,0DAAyC,CAAA;IACzC,oEAAmD,CAAA;IAEnD,sBAAsB;IACtB,kDAAiC,CAAA;IAEjC,yBAAyB;IACzB,4EAA2D,CAAA;IAE3D,gCAAgC;IAChC,8EAA6D,CAAA;IAE7D,eAAe;IACf,4DAA2C,CAAA;IAE3C,iCAAiC;IACjC,oFAAmE,CAAA;IAEnE,2BAA2B;IAC3B,0EAAyD,CAAA;IACzD,wEAAuD,CAAA;IACvD,0EAAyD,CAAA;IAEzD,4BAA4B;IAC5B,wDAAuC,CAAA;AACzC,CAAC,EA3DW,aAAa,KAAb,aAAa,QA2DxB"}
@@ -4,7 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { FunctionDeclaration } from '@google/genai';
7
- import { AnyDeclarativeTool, ToolResult, BaseTool } from './tools.js';
7
+ import { AnyDeclarativeTool, ToolResult, BaseTool, BaseToolInvocation } from './tools.js';
8
8
  import { ToolContext } from './tool-context.js';
9
9
  import { Config } from '../config/config.js';
10
10
  type ToolParams = Record<string, unknown>;
@@ -13,7 +13,14 @@ export declare class DiscoveredTool extends BaseTool<ToolParams, ToolResult> {
13
13
  readonly description: string;
14
14
  readonly parameterSchema: Record<string, unknown>;
15
15
  constructor(config: Config, name: string, description: string, parameterSchema: Record<string, unknown>);
16
- execute(params: ToolParams): Promise<ToolResult>;
16
+ build(params: ToolParams): DiscoveredToolInvocation;
17
+ execute(params: ToolParams, _signal: AbortSignal, _updateOutput?: (output: string) => void): Promise<ToolResult>;
18
+ }
19
+ declare class DiscoveredToolInvocation extends BaseToolInvocation<ToolParams, ToolResult> {
20
+ private readonly tool;
21
+ constructor(tool: DiscoveredTool, params: ToolParams);
22
+ getDescription(): string;
23
+ execute(signal: AbortSignal, updateOutput?: (output: string) => void): Promise<ToolResult>;
17
24
  }
18
25
  export declare class ToolRegistry {
19
26
  private tools;
@@ -75,6 +82,10 @@ export declare class ToolRegistry {
75
82
  * @returns An array of FunctionDeclarations for the specified tools.
76
83
  */
77
84
  getFunctionDeclarationsFiltered(toolNames: string[]): FunctionDeclaration[];
85
+ /**
86
+ * Returns an array of all registered and discovered tool names.
87
+ */
88
+ getAllToolNames(): string[];
78
89
  /**
79
90
  * Returns an array of all registered and discovered tool instances.
80
91
  */
@@ -3,13 +3,15 @@
3
3
  * Copyright 2025 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { Kind, BaseTool } from './tools.js';
6
+ import { Kind, BaseTool, BaseToolInvocation, } from './tools.js';
7
7
  import { spawn } from 'node:child_process';
8
8
  import { StringDecoder } from 'node:string_decoder';
9
9
  import { connectAndDiscover } from './mcp-client.js';
10
10
  import { McpClientManager } from './mcp-client-manager.js';
11
11
  import { DiscoveredMCPTool } from './mcp-tool.js';
12
12
  import { parse } from 'shell-quote';
13
+ import { ToolErrorType } from './tool-error.js';
14
+ import { safeJsonStringify } from '../utils/safeJsonStringify.js';
13
15
  import { DebugLogger } from '../debug/index.js';
14
16
  export class DiscoveredTool extends BaseTool {
15
17
  config;
@@ -40,7 +42,10 @@ Signal: Signal number or \`(none)\` if no signal was received.
40
42
  this.description = description;
41
43
  this.parameterSchema = parameterSchema;
42
44
  }
43
- async execute(params) {
45
+ build(params) {
46
+ return new DiscoveredToolInvocation(this, params);
47
+ }
48
+ async execute(params, _signal, _updateOutput) {
44
49
  const callCommand = this.config.getToolCallCommand();
45
50
  const child = spawn(callCommand, [this.name]);
46
51
  child.stdin.write(JSON.stringify(params));
@@ -92,6 +97,10 @@ Signal: Signal number or \`(none)\` if no signal was received.
92
97
  return {
93
98
  llmContent,
94
99
  returnDisplay: llmContent,
100
+ error: {
101
+ message: llmContent,
102
+ type: ToolErrorType.DISCOVERED_TOOL_EXECUTION_ERROR,
103
+ },
95
104
  };
96
105
  }
97
106
  return {
@@ -100,6 +109,19 @@ Signal: Signal number or \`(none)\` if no signal was received.
100
109
  };
101
110
  }
102
111
  }
112
+ class DiscoveredToolInvocation extends BaseToolInvocation {
113
+ tool;
114
+ constructor(tool, params) {
115
+ super(params);
116
+ this.tool = tool;
117
+ }
118
+ getDescription() {
119
+ return safeJsonStringify(this.params);
120
+ }
121
+ async execute(signal, updateOutput) {
122
+ return this.tool.execute(this.params, signal, updateOutput);
123
+ }
124
+ }
103
125
  export class ToolRegistry {
104
126
  tools = new Map();
105
127
  config;
@@ -384,6 +406,12 @@ export class ToolRegistry {
384
406
  }
385
407
  return declarations;
386
408
  }
409
+ /**
410
+ * Returns an array of all registered and discovered tool names.
411
+ */
412
+ getAllToolNames() {
413
+ return Array.from(this.tools.keys());
414
+ }
387
415
  /**
388
416
  * Returns an array of all registered and discovered tool instances.
389
417
  */
@@ -1 +1 @@
1
- {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../src/tools/tool-registry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-registry.js","sourceRoot":"","sources":["../../../src/tools/tool-registry.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ export interface ToolInvocation<TParams extends object, TResult extends ToolResu
18
18
  params: TParams;
19
19
  /**
20
20
  * Gets a pre-execution description of the tool operation.
21
+ *
21
22
  * @returns A markdown string describing what the tool will do.
22
23
  */
23
24
  getDescription(): string;
@@ -163,12 +164,13 @@ export declare abstract class BaseDeclarativeTool<TParams extends object, TResul
163
164
  * A type alias for a declarative tool where the specific parameter and result types are not known.
164
165
  */
165
166
  export type AnyDeclarativeTool = DeclarativeTool<object, ToolResult>;
167
+ /**
168
+ * Type guard to check if an object is a Tool.
169
+ * @param obj The object to check.
170
+ * @returns True if the object is a Tool, false otherwise.
171
+ */
172
+ export declare function isTool(obj: unknown): obj is AnyDeclarativeTool;
166
173
  export interface ToolResult {
167
- /**
168
- * A short, one-line summary of the tool's action and result.
169
- * e.g., "Read 5 files", "Wrote 256 bytes to foo.txt"
170
- */
171
- summary?: string;
172
174
  /**
173
175
  * Content meant to be included in LLM history.
174
176
  * This should represent the factual outcome of the tool execution.
@@ -162,6 +162,18 @@ export class BaseDeclarativeTool extends DeclarativeTool {
162
162
  return null;
163
163
  }
164
164
  }
165
+ /**
166
+ * Type guard to check if an object is a Tool.
167
+ * @param obj The object to check.
168
+ * @returns True if the object is a Tool, false otherwise.
169
+ */
170
+ export function isTool(obj) {
171
+ return (typeof obj === 'object' &&
172
+ obj !== null &&
173
+ 'name' in obj &&
174
+ 'build' in obj &&
175
+ typeof obj.build === 'function');
176
+ }
165
177
  /**
166
178
  * Detects cycles in a JSON schemas due to `$ref`s.
167
179
  * @param schema The root of the JSON schema.
@@ -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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"}
@@ -4,6 +4,7 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { BaseDeclarativeTool, BaseToolInvocation, Kind, ToolConfirmationOutcome, } from './tools.js';
7
+ import { ToolErrorType } from './tool-error.js';
7
8
  import { getErrorMessage } from '../utils/errors.js';
8
9
  import { ApprovalMode } from '../config/config.js';
9
10
  import { getResponseText } from '../utils/generateContentResponseUtilities.js';
@@ -25,12 +26,6 @@ class WebFetchToolInvocation extends BaseToolInvocation {
25
26
  }
26
27
  async executeFallback(_signal) {
27
28
  const urls = extractUrls(this.params.prompt);
28
- if (urls.length === 0) {
29
- return {
30
- llmContent: 'Error: No URL found in the prompt for fallback.',
31
- returnDisplay: 'Error: No URL found in the prompt for fallback.',
32
- };
33
- }
34
29
  // For now, we only support one URL for fallback
35
30
  let url = urls[0];
36
31
  // Convert GitHub blob URL to raw URL
@@ -41,21 +36,21 @@ class WebFetchToolInvocation extends BaseToolInvocation {
41
36
  }
42
37
  try {
43
38
  const response = await fetchWithTimeout(url, URL_FETCH_TIMEOUT_MS);
39
+ if (!response.ok) {
40
+ throw new Error(`Request failed with status code ${response.status} ${response.statusText}`);
41
+ }
44
42
  const html = await response.text();
45
43
  const textContent = convert(html, {
46
- wordwrap: 130,
44
+ wordwrap: false,
47
45
  selectors: [
48
46
  { selector: 'a', options: { ignoreHref: true } },
49
47
  { selector: 'img', format: 'skip' },
50
- { selector: 'script', format: 'skip' },
51
- { selector: 'style', format: 'skip' },
52
48
  ],
53
49
  }).substring(0, MAX_CONTENT_LENGTH);
54
- // In llxprt, we can't use Gemini client directly for fallback processing
55
- // Return the raw content with a note about the limitation
50
+ // For private URLs, just return the raw content without AI processing
56
51
  return {
57
- 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]' : ''}`,
58
- returnDisplay: `Private/local URLs cannot be processed with AI. Raw content provided below.`,
52
+ llmContent: textContent,
53
+ returnDisplay: `Content for ${url} fetched directly.`,
59
54
  };
60
55
  }
61
56
  catch (e) {
@@ -64,6 +59,10 @@ class WebFetchToolInvocation extends BaseToolInvocation {
64
59
  return {
65
60
  llmContent: `Error: ${errorMessage}`,
66
61
  returnDisplay: `Error: ${errorMessage}`,
62
+ error: {
63
+ message: errorMessage,
64
+ type: ToolErrorType.WEB_FETCH_FALLBACK_FAILED,
65
+ },
67
66
  };
68
67
  }
69
68
  }
@@ -74,9 +73,7 @@ class WebFetchToolInvocation extends BaseToolInvocation {
74
73
  return `Processing URLs and instructions from prompt: "${displayPrompt}"`;
75
74
  }
76
75
  async shouldConfirmExecute() {
77
- const approvalMode = this.config.getApprovalMode();
78
- if (approvalMode === ApprovalMode.AUTO_EDIT ||
79
- approvalMode === ApprovalMode.YOLO) {
76
+ if (this.config.getApprovalMode() === ApprovalMode.AUTO_EDIT) {
80
77
  return false;
81
78
  }
82
79
  // Perform GitHub URL conversion here to differentiate between user-provided
@@ -108,70 +105,93 @@ class WebFetchToolInvocation extends BaseToolInvocation {
108
105
  const url = urls[0];
109
106
  const isPrivate = isPrivateIp(url);
110
107
  if (isPrivate) {
111
- return this.executeFallback(signal);
108
+ const errorMessage = 'Private/local URLs cannot be processed with AI analysis. Processing content directly.';
109
+ const result = await this.executeFallback(signal);
110
+ // Add the private URL message to the result
111
+ return {
112
+ ...result,
113
+ llmContent: `${errorMessage}\n\nContent from ${url}:\n\n${result.llmContent}`,
114
+ };
112
115
  }
113
- // Get the content generator config to access the provider manager
114
- const contentGenConfig = this.config.getContentGeneratorConfig();
115
- // Get the serverToolsProvider from the provider manager
116
- if (!contentGenConfig?.providerManager) {
116
+ // Get provider manager
117
+ const providerManager = this.config.getContentGeneratorConfig()?.providerManager;
118
+ if (!providerManager) {
117
119
  return {
118
- llmContent: `Web fetch requires a provider. Please use --provider gemini with authentication.`,
120
+ llmContent: 'Web fetch requires a provider. Please use --provider gemini with authentication.',
119
121
  returnDisplay: 'Web fetch requires a provider.',
122
+ error: {
123
+ message: 'No provider manager available',
124
+ type: ToolErrorType.WEB_FETCH_PROCESSING_ERROR,
125
+ },
120
126
  };
121
127
  }
122
- // Use serverToolsProvider for web fetch
123
- const serverToolsProvider = contentGenConfig.providerManager.getServerToolsProvider();
128
+ // Get server tools provider (should be Gemini)
129
+ const serverToolsProvider = providerManager.getServerToolsProvider();
124
130
  if (!serverToolsProvider) {
125
131
  return {
126
- llmContent: `Web fetch requires Gemini provider to be configured. Please ensure Gemini is available with authentication.`,
132
+ llmContent: 'Web fetch requires Gemini provider to be configured. Please ensure Gemini is available with authentication.',
127
133
  returnDisplay: 'Web fetch requires Gemini provider.',
134
+ error: {
135
+ message: 'No server tools provider available',
136
+ type: ToolErrorType.WEB_FETCH_PROCESSING_ERROR,
137
+ },
128
138
  };
129
139
  }
130
- // Check if the provider supports web_fetch
131
- const serverTools = serverToolsProvider.getServerTools();
132
- if (!serverTools.includes('web_fetch')) {
140
+ // Check if provider supports web_fetch
141
+ const supportedTools = serverToolsProvider.getServerTools();
142
+ if (!supportedTools.includes('web_fetch')) {
133
143
  return {
134
- llmContent: `Web fetch is not available. The server tools provider does not support web fetch.`,
135
- returnDisplay: `Web fetch not available.`,
144
+ llmContent: 'Web fetch is not available. The server tools provider does not support web fetch.',
145
+ returnDisplay: 'Web fetch not available.',
146
+ error: {
147
+ message: 'Server tools provider does not support web_fetch',
148
+ type: ToolErrorType.WEB_FETCH_PROCESSING_ERROR,
149
+ },
136
150
  };
137
151
  }
138
152
  try {
139
- // Invoke the server tool
140
- const response = await serverToolsProvider.invokeServerTool('web_fetch', { prompt: this.params.prompt }, { signal });
141
- if (process.env.DEBUG) {
142
- console.log('[WEB-FETCH] Raw response:', JSON.stringify(response, null, 2));
153
+ const response = await serverToolsProvider.invokeServerTool('web_fetch', { prompt: userPrompt }, { signal });
154
+ console.debug(`[WebFetchTool] Full response for prompt "${userPrompt.substring(0, 50)}...":`, JSON.stringify(response, null, 2));
155
+ let responseText = getResponseText(response) || '';
156
+ const typedResponse = response;
157
+ const urlContextMeta = typedResponse.candidates?.[0]?.urlContextMetadata;
158
+ const groundingMetadata = typedResponse.candidates?.[0]?.groundingMetadata;
159
+ const sources = groundingMetadata?.groundingChunks;
160
+ const groundingSupports = groundingMetadata?.groundingSupports;
161
+ // Error Handling
162
+ let processingError = false;
163
+ if (urlContextMeta?.urlMetadata &&
164
+ urlContextMeta.urlMetadata.length > 0) {
165
+ const allStatuses = urlContextMeta.urlMetadata.map((m) => m.urlRetrievalStatus);
166
+ if (allStatuses.every((s) => s !== 'URL_RETRIEVAL_STATUS_SUCCESS')) {
167
+ processingError = true;
168
+ }
143
169
  }
144
- // Cast response to expected type for better type safety
145
- const geminiResponse = response;
146
- // Check if response has the expected structure
147
- if (!geminiResponse.candidates ||
148
- geminiResponse.candidates.length === 0) {
149
- return {
150
- llmContent: `Error: The backend API did not return any response candidates. This may indicate an issue with the urlContext tool configuration.`,
151
- returnDisplay: 'No response from backend API.',
152
- };
170
+ else if (!responseText.trim() && !sources?.length) {
171
+ // No URL metadata and no content/sources
172
+ processingError = true;
153
173
  }
154
- // Remove the error checking - just let the LLM's response through
155
- // The LLM is smart enough to handle failures appropriately
156
- // Extract text using utility function
157
- const responseText = getResponseText(geminiResponse);
158
- // Simple check - if no text, return error
159
- if (!responseText || !responseText.trim()) {
160
- return {
161
- llmContent: `No content found for the provided URL(s). The site may have blocked access or returned empty content.`,
162
- returnDisplay: 'No content found.',
163
- };
174
+ if (!processingError &&
175
+ !responseText.trim() &&
176
+ (!sources || sources.length === 0)) {
177
+ // Successfully retrieved some URL (or no specific error from urlContextMeta), but no usable text or grounding data.
178
+ processingError = true;
179
+ }
180
+ if (processingError) {
181
+ // If it's not a private IP, don't fallback - just return no content found
182
+ if (!isPrivate) {
183
+ return {
184
+ llmContent: 'No content found or URL retrieval failed.',
185
+ returnDisplay: 'No content found.',
186
+ };
187
+ }
188
+ return this.executeFallback(signal);
164
189
  }
165
- // Process grounding metadata (geminiResponse already cast above)
166
- const groundingMetadata = geminiResponse.candidates?.[0]?.groundingMetadata;
167
- const sources = groundingMetadata?.groundingChunks;
168
- const groundingSupports = groundingMetadata?.groundingSupports;
169
- let modifiedResponseText = responseText;
170
190
  const sourceListFormatted = [];
171
191
  if (sources && sources.length > 0) {
172
192
  sources.forEach((source, index) => {
173
193
  const title = source.web?.title || 'Untitled';
174
- const uri = source.web?.uri || 'Unknown URI';
194
+ const uri = source.web?.uri || 'Unknown URI'; // Fallback if URI is missing
175
195
  sourceListFormatted.push(`[${index + 1}] ${title} (${uri})`);
176
196
  });
177
197
  if (groundingSupports && groundingSupports.length > 0) {
@@ -188,31 +208,36 @@ class WebFetchToolInvocation extends BaseToolInvocation {
188
208
  }
189
209
  });
190
210
  insertions.sort((a, b) => b.index - a.index);
191
- insertions.forEach(({ index, marker }) => {
192
- modifiedResponseText =
193
- modifiedResponseText.slice(0, index) +
194
- marker +
195
- modifiedResponseText.slice(index);
211
+ const responseChars = responseText.split('');
212
+ insertions.forEach((insertion) => {
213
+ responseChars.splice(insertion.index, 0, insertion.marker);
196
214
  });
215
+ responseText = responseChars.join('');
216
+ }
217
+ if (sourceListFormatted.length > 0) {
218
+ responseText += `
219
+
220
+ Sources:
221
+ ${sourceListFormatted.join('\n')}`;
197
222
  }
198
223
  }
199
- // Prepare the final response
200
- const finalResponse = sourceListFormatted.length
201
- ? `${modifiedResponseText}\n\n### Sources:\n${sourceListFormatted.join('\n')}`
202
- : modifiedResponseText;
224
+ const llmContent = responseText;
225
+ console.debug(`[WebFetchTool] Formatted tool response for prompt "${userPrompt}:\n\n":`, llmContent);
203
226
  return {
204
- llmContent: finalResponse,
205
- returnDisplay: finalResponse,
227
+ llmContent,
228
+ returnDisplay: responseText,
206
229
  };
207
230
  }
208
231
  catch (error) {
209
- const errorMessage = getErrorMessage(error);
210
- if (process.env.DEBUG) {
211
- console.error('[WEB-FETCH] Error:', error);
212
- }
232
+ const errorMessage = `Error during web fetch: ${getErrorMessage(error)}`;
233
+ console.error(errorMessage, error);
213
234
  return {
214
- llmContent: `Error during web fetch: ${errorMessage}`,
215
- returnDisplay: `Error during web fetch: ${errorMessage}`,
235
+ llmContent: `Error: ${errorMessage}`,
236
+ returnDisplay: `Error: ${errorMessage}`,
237
+ error: {
238
+ message: errorMessage,
239
+ type: ToolErrorType.WEB_FETCH_PROCESSING_ERROR,
240
+ },
216
241
  };
217
242
  }
218
243
  }