@nanocollective/nanocoder 1.14.3 → 1.15.1

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 (192) hide show
  1. package/README.md +31 -1
  2. package/dist/ai-sdk-client.d.ts +22 -0
  3. package/dist/ai-sdk-client.d.ts.map +1 -0
  4. package/dist/ai-sdk-client.js +389 -0
  5. package/dist/ai-sdk-client.js.map +1 -0
  6. package/dist/app.d.ts.map +1 -1
  7. package/dist/app.js +1 -1
  8. package/dist/app.js.map +1 -1
  9. package/dist/client-factory.d.ts.map +1 -1
  10. package/dist/client-factory.js +5 -5
  11. package/dist/client-factory.js.map +1 -1
  12. package/dist/commands/index.d.ts +1 -0
  13. package/dist/commands/index.d.ts.map +1 -1
  14. package/dist/commands/index.js +1 -0
  15. package/dist/commands/index.js.map +1 -1
  16. package/dist/commands/recommendations.js +1 -1
  17. package/dist/commands/recommendations.js.map +1 -1
  18. package/dist/commands/streaming.d.ts +3 -0
  19. package/dist/commands/streaming.d.ts.map +1 -0
  20. package/dist/commands/streaming.js +23 -0
  21. package/dist/commands/streaming.js.map +1 -0
  22. package/dist/commands.d.ts.map +1 -1
  23. package/dist/commands.js +17 -3
  24. package/dist/commands.js.map +1 -1
  25. package/dist/components/assistant-message.d.ts +0 -1
  26. package/dist/components/assistant-message.d.ts.map +1 -1
  27. package/dist/components/assistant-message.js +70 -122
  28. package/dist/components/assistant-message.js.map +1 -1
  29. package/dist/components/thinking-indicator.js +1 -1
  30. package/dist/components/thinking-indicator.js.map +1 -1
  31. package/dist/components/user-input.d.ts.map +1 -1
  32. package/dist/components/user-input.js +135 -27
  33. package/dist/components/user-input.js.map +1 -1
  34. package/dist/components/user-message.d.ts.map +1 -1
  35. package/dist/components/user-message.js +34 -1
  36. package/dist/components/user-message.js.map +1 -1
  37. package/dist/config/index.d.ts.map +1 -1
  38. package/dist/config/index.js +2 -1
  39. package/dist/config/index.js.map +1 -1
  40. package/dist/config/index.spec.d.ts +2 -0
  41. package/dist/config/index.spec.d.ts.map +1 -0
  42. package/dist/config/index.spec.js +99 -0
  43. package/dist/config/index.spec.js.map +1 -0
  44. package/dist/config/preferences.d.ts +2 -0
  45. package/dist/config/preferences.d.ts.map +1 -1
  46. package/dist/config/preferences.js +10 -0
  47. package/dist/config/preferences.js.map +1 -1
  48. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  49. package/dist/hooks/useAppInitialization.js +2 -1
  50. package/dist/hooks/useAppInitialization.js.map +1 -1
  51. package/dist/hooks/useChatHandler.d.ts +2 -0
  52. package/dist/hooks/useChatHandler.d.ts.map +1 -1
  53. package/dist/hooks/useChatHandler.js +59 -9
  54. package/dist/hooks/useChatHandler.js.map +1 -1
  55. package/dist/mcp/mcp-client.d.ts +20 -1
  56. package/dist/mcp/mcp-client.d.ts.map +1 -1
  57. package/dist/mcp/mcp-client.js +57 -0
  58. package/dist/mcp/mcp-client.js.map +1 -1
  59. package/dist/message-handler.d.ts.map +1 -1
  60. package/dist/message-handler.js +7 -2
  61. package/dist/message-handler.js.map +1 -1
  62. package/dist/tool-calling/index.d.ts +1 -1
  63. package/dist/tool-calling/index.d.ts.map +1 -1
  64. package/dist/tool-calling/index.js +1 -1
  65. package/dist/tool-calling/index.js.map +1 -1
  66. package/dist/tool-calling/json-parser.d.ts +19 -2
  67. package/dist/tool-calling/json-parser.d.ts.map +1 -1
  68. package/dist/tool-calling/json-parser.js +65 -28
  69. package/dist/tool-calling/json-parser.js.map +1 -1
  70. package/dist/tool-calling/json-parser.spec.d.ts +2 -0
  71. package/dist/tool-calling/json-parser.spec.d.ts.map +1 -0
  72. package/dist/tool-calling/json-parser.spec.js +518 -0
  73. package/dist/tool-calling/json-parser.spec.js.map +1 -0
  74. package/dist/tool-calling/tool-parser.d.ts +20 -0
  75. package/dist/tool-calling/tool-parser.d.ts.map +1 -0
  76. package/dist/tool-calling/tool-parser.js +58 -0
  77. package/dist/tool-calling/tool-parser.js.map +1 -0
  78. package/dist/tool-calling/tool-parser.spec.d.ts +2 -0
  79. package/dist/tool-calling/tool-parser.spec.d.ts.map +1 -0
  80. package/dist/tool-calling/tool-parser.spec.js +250 -0
  81. package/dist/tool-calling/tool-parser.spec.js.map +1 -0
  82. package/dist/tool-calling/xml-parser.d.ts +17 -0
  83. package/dist/tool-calling/xml-parser.d.ts.map +1 -1
  84. package/dist/tool-calling/xml-parser.js +101 -13
  85. package/dist/tool-calling/xml-parser.js.map +1 -1
  86. package/dist/tool-calling/xml-parser.spec.d.ts +2 -0
  87. package/dist/tool-calling/xml-parser.spec.d.ts.map +1 -0
  88. package/dist/tool-calling/xml-parser.spec.js +437 -0
  89. package/dist/tool-calling/xml-parser.spec.js.map +1 -0
  90. package/dist/tools/create-file.d.ts.map +1 -1
  91. package/dist/tools/create-file.js +26 -23
  92. package/dist/tools/create-file.js.map +1 -1
  93. package/dist/tools/delete-lines.d.ts.map +1 -1
  94. package/dist/tools/delete-lines.js +29 -27
  95. package/dist/tools/delete-lines.js.map +1 -1
  96. package/dist/tools/execute-bash.d.ts.map +1 -1
  97. package/dist/tools/execute-bash.js +21 -19
  98. package/dist/tools/execute-bash.js.map +1 -1
  99. package/dist/tools/fetch-url.d.ts.map +1 -1
  100. package/dist/tools/fetch-url.js +21 -19
  101. package/dist/tools/fetch-url.js.map +1 -1
  102. package/dist/tools/index.d.ts +2 -2
  103. package/dist/tools/index.d.ts.map +1 -1
  104. package/dist/tools/index.js +8 -6
  105. package/dist/tools/index.js.map +1 -1
  106. package/dist/tools/insert-lines.d.ts.map +1 -1
  107. package/dist/tools/insert-lines.js +29 -27
  108. package/dist/tools/insert-lines.js.map +1 -1
  109. package/dist/tools/read-file.d.ts.map +1 -1
  110. package/dist/tools/read-file.js +23 -19
  111. package/dist/tools/read-file.js.map +1 -1
  112. package/dist/tools/read-many-files.d.ts.map +1 -1
  113. package/dist/tools/read-many-files.js +24 -20
  114. package/dist/tools/read-many-files.js.map +1 -1
  115. package/dist/tools/replace-lines.d.ts.map +1 -1
  116. package/dist/tools/replace-lines.js +33 -31
  117. package/dist/tools/replace-lines.js.map +1 -1
  118. package/dist/tools/search-files.d.ts.map +1 -1
  119. package/dist/tools/search-files.js +33 -31
  120. package/dist/tools/search-files.js.map +1 -1
  121. package/dist/tools/tool-manager.d.ts +35 -19
  122. package/dist/tools/tool-manager.d.ts.map +1 -1
  123. package/dist/tools/tool-manager.js +63 -33
  124. package/dist/tools/tool-manager.js.map +1 -1
  125. package/dist/tools/tool-registry.d.ts +121 -0
  126. package/dist/tools/tool-registry.d.ts.map +1 -0
  127. package/dist/tools/tool-registry.js +195 -0
  128. package/dist/tools/tool-registry.js.map +1 -0
  129. package/dist/tools/web-search.d.ts.map +1 -1
  130. package/dist/tools/web-search.js +25 -23
  131. package/dist/tools/web-search.js.map +1 -1
  132. package/dist/types/config.d.ts +2 -1
  133. package/dist/types/config.d.ts.map +1 -1
  134. package/dist/types/core.d.ts +58 -3
  135. package/dist/types/core.d.ts.map +1 -1
  136. package/dist/types/core.js +2 -0
  137. package/dist/types/core.js.map +1 -1
  138. package/dist/utils/file-autocomplete.d.ts +31 -0
  139. package/dist/utils/file-autocomplete.d.ts.map +1 -0
  140. package/dist/utils/file-autocomplete.js +156 -0
  141. package/dist/utils/file-autocomplete.js.map +1 -0
  142. package/dist/utils/file-autocomplete.spec.d.ts +2 -0
  143. package/dist/utils/file-autocomplete.spec.d.ts.map +1 -0
  144. package/dist/utils/file-autocomplete.spec.js +142 -0
  145. package/dist/utils/file-autocomplete.spec.js.map +1 -0
  146. package/dist/utils/file-content-loader.d.ts +31 -0
  147. package/dist/utils/file-content-loader.d.ts.map +1 -0
  148. package/dist/utils/file-content-loader.js +142 -0
  149. package/dist/utils/file-content-loader.js.map +1 -0
  150. package/dist/utils/file-content-loader.spec.d.ts +2 -0
  151. package/dist/utils/file-content-loader.spec.d.ts.map +1 -0
  152. package/dist/utils/file-content-loader.spec.js +140 -0
  153. package/dist/utils/file-content-loader.spec.js.map +1 -0
  154. package/dist/utils/file-mention-handler.d.ts +21 -0
  155. package/dist/utils/file-mention-handler.d.ts.map +1 -0
  156. package/dist/utils/file-mention-handler.js +59 -0
  157. package/dist/utils/file-mention-handler.js.map +1 -0
  158. package/dist/utils/file-mention-handler.spec.d.ts +2 -0
  159. package/dist/utils/file-mention-handler.spec.d.ts.map +1 -0
  160. package/dist/utils/file-mention-handler.spec.js +147 -0
  161. package/dist/utils/file-mention-handler.spec.js.map +1 -0
  162. package/dist/utils/file-mention-parser.d.ts +40 -0
  163. package/dist/utils/file-mention-parser.d.ts.map +1 -0
  164. package/dist/utils/file-mention-parser.js +122 -0
  165. package/dist/utils/file-mention-parser.js.map +1 -0
  166. package/dist/utils/file-mention-parser.spec.d.ts +2 -0
  167. package/dist/utils/file-mention-parser.spec.d.ts.map +1 -0
  168. package/dist/utils/file-mention-parser.spec.js +149 -0
  169. package/dist/utils/file-mention-parser.spec.js.map +1 -0
  170. package/dist/utils/fuzzy-matching.d.ts +13 -0
  171. package/dist/utils/fuzzy-matching.d.ts.map +1 -0
  172. package/dist/utils/fuzzy-matching.js +127 -0
  173. package/dist/utils/fuzzy-matching.js.map +1 -0
  174. package/dist/utils/fuzzy-matching.spec.d.ts +2 -0
  175. package/dist/utils/fuzzy-matching.spec.d.ts.map +1 -0
  176. package/dist/utils/fuzzy-matching.spec.js +123 -0
  177. package/dist/utils/fuzzy-matching.spec.js.map +1 -0
  178. package/dist/utils/prompt-assembly.spec.js +100 -2
  179. package/dist/utils/prompt-assembly.spec.js.map +1 -1
  180. package/dist/utils/prompt-processor.d.ts +2 -2
  181. package/dist/utils/prompt-processor.d.ts.map +1 -1
  182. package/dist/utils/prompt-processor.js +24 -41
  183. package/dist/utils/prompt-processor.js.map +1 -1
  184. package/package.json +8 -5
  185. package/dist/langgraph-client.d.ts +0 -19
  186. package/dist/langgraph-client.d.ts.map +0 -1
  187. package/dist/langgraph-client.js +0 -295
  188. package/dist/langgraph-client.js.map +0 -1
  189. package/dist/mcp/mcp-tool-adapter.d.ts +0 -22
  190. package/dist/mcp/mcp-tool-adapter.d.ts.map +0 -1
  191. package/dist/mcp/mcp-tool-adapter.js +0 -50
  192. package/dist/mcp/mcp-tool-adapter.js.map +0 -1
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { toolDefinitions } from '../tools/index.js';
3
3
  import { processPromptTemplate } from '../utils/prompt-processor.js';
4
- import { parseToolCallsFromContent, cleanContentFromToolCalls, } from '../tool-calling/index.js';
4
+ import { parseToolCalls } from '../tool-calling/index.js';
5
5
  import { ConversationStateManager } from '../app/utils/conversationState.js';
6
6
  import { promptHistory } from '../prompt-history.js';
7
+ import { isStreamingEnabled } from '../config/preferences.js';
7
8
  import UserMessage from '../components/user-message.js';
8
9
  import AssistantMessage from '../components/assistant-message.js';
9
10
  import ErrorMessage from '../components/error-message.js';
@@ -40,6 +41,9 @@ const filterValidToolCalls = (toolCalls) => {
40
41
  export function useChatHandler({ client, toolManager, messages, setMessages, currentModel, setIsThinking, setIsCancelling, addToChatQueue, componentKeyCounter, abortController, setAbortController, developmentMode = 'normal', onStartToolConfirmationFlow, }) {
41
42
  // Conversation state manager for enhanced context
42
43
  const conversationStateManager = React.useRef(new ConversationStateManager());
44
+ // State for streaming message content
45
+ const [streamingContent, setStreamingContent] = React.useState('');
46
+ const [isStreaming, setIsStreaming] = React.useState(false);
43
47
  // Reset conversation state when messages are cleared
44
48
  React.useEffect(() => {
45
49
  if (messages.length === 0) {
@@ -48,6 +52,14 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
48
52
  }, [messages.length]);
49
53
  // Display tool result with proper formatting (similar to useToolHandler)
50
54
  const displayToolResult = async (toolCall, result) => {
55
+ // Check if this is an error result
56
+ const isError = result.content.startsWith('Error: ');
57
+ if (isError) {
58
+ // Display as error message
59
+ const errorMessage = result.content.replace(/^Error: /, '');
60
+ addToChatQueue(_jsx(ErrorMessage, { message: errorMessage, hideBox: true }, `tool-error-${result.tool_call_id}-${componentKeyCounter}-${Date.now()}`));
61
+ return;
62
+ }
51
63
  if (toolManager) {
52
64
  const formatter = toolManager.getToolFormatter(result.name);
53
65
  if (formatter) {
@@ -95,7 +107,27 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
95
107
  }
96
108
  try {
97
109
  setIsThinking(true);
98
- const result = await client.chat([systemMessage, ...messages], toolManager?.getAllTools() || [], controller.signal);
110
+ // Try to use streaming if available and enabled, otherwise fallback to non-streaming
111
+ let result;
112
+ if (client.chatStream && isStreamingEnabled()) {
113
+ // Use streaming with callbacks
114
+ let accumulatedContent = '';
115
+ setIsStreaming(true);
116
+ setStreamingContent('');
117
+ result = await client.chatStream([systemMessage, ...messages], toolManager?.getAllTools() || {}, {
118
+ onToken: (token) => {
119
+ accumulatedContent += token;
120
+ setStreamingContent(accumulatedContent);
121
+ },
122
+ onFinish: () => {
123
+ setIsStreaming(false);
124
+ },
125
+ }, controller.signal);
126
+ }
127
+ else {
128
+ // Fallback to non-streaming (either client doesn't support it or user disabled it)
129
+ result = await client.chat([systemMessage, ...messages], toolManager?.getAllTools() || {}, controller.signal);
130
+ }
99
131
  if (!result || !result.choices || result.choices.length === 0) {
100
132
  throw new Error('No response received from model');
101
133
  }
@@ -103,13 +135,18 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
103
135
  const toolCalls = message.tool_calls || null;
104
136
  const fullContent = message.content || '';
105
137
  // Parse any tool calls from content for non-tool-calling models
106
- const parsedToolCalls = parseToolCallsFromContent(fullContent);
107
- const cleanedContent = cleanContentFromToolCalls(fullContent, parsedToolCalls);
138
+ const parseResult = parseToolCalls(fullContent);
139
+ // Check for malformed tool calls and throw error to let model retry
140
+ if (!parseResult.success) {
141
+ throw new Error(`${parseResult.error}\n\n${parseResult.examples}`);
142
+ }
143
+ const parsedToolCalls = parseResult.toolCalls;
144
+ const cleanedContent = parseResult.cleanedContent;
108
145
  // Display the assistant response (cleaned of any tool calls)
109
146
  if (cleanedContent.trim()) {
110
147
  addToChatQueue(_jsx(AssistantMessage, { message: cleanedContent, model: currentModel }, `assistant-${componentKeyCounter}`));
111
148
  }
112
- // Merge structured tool calls from LangGraph with content-parsed tool calls
149
+ // Merge structured tool calls from AI SDK with content-parsed tool calls
113
150
  const allToolCalls = [...(toolCalls || []), ...parsedToolCalls];
114
151
  const validToolCalls = filterValidToolCalls(allToolCalls);
115
152
  // Add assistant message to conversation history
@@ -121,6 +158,9 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
121
158
  setMessages([...messages, assistantMsg]);
122
159
  // Update conversation state with assistant message
123
160
  conversationStateManager.current.updateAssistantMessage(assistantMsg);
161
+ // Clear streaming state after response is complete
162
+ setIsStreaming(false);
163
+ setStreamingContent('');
124
164
  // Handle tool calls if present - this continues the loop
125
165
  if (validToolCalls && validToolCalls.length > 0) {
126
166
  // In Plan Mode, block file modification tools
@@ -167,10 +207,14 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
167
207
  const toolsNeedingConfirmation = [];
168
208
  const toolsToExecuteDirectly = [];
169
209
  for (const toolCall of validToolCalls) {
170
- const toolDef = toolDefinitions.find(def => def.config.function.name === toolCall.function.name);
210
+ const toolDef = toolDefinitions.find(def => def.name === toolCall.function.name);
171
211
  // Check if tool has a validator
172
212
  let validationFailed = false;
173
- if (toolManager) {
213
+ // XML validation errors are treated as validation failures
214
+ if (toolCall.function.name === '__xml_validation_error__') {
215
+ validationFailed = true;
216
+ }
217
+ else if (toolManager) {
174
218
  const validator = toolManager.getToolValidator(toolCall.function.name);
175
219
  if (validator) {
176
220
  try {
@@ -308,6 +352,8 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
308
352
  setIsThinking(false);
309
353
  setIsCancelling(false);
310
354
  setAbortController(null);
355
+ setIsStreaming(false);
356
+ setStreamingContent('');
311
357
  }
312
358
  };
313
359
  // Handle chat message processing
@@ -336,8 +382,8 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
336
382
  setIsThinking(true);
337
383
  try {
338
384
  // Load and process system prompt with dynamic tool documentation
339
- const availableTools = toolManager ? toolManager.getAllTools() : [];
340
- const systemPrompt = processPromptTemplate(availableTools);
385
+ // Note: We still need tool definitions (not just native tools) for documentation
386
+ const systemPrompt = processPromptTemplate(toolManager ? toolManager.getAllTools() : {});
341
387
  // Create stream request
342
388
  const systemMessage = {
343
389
  role: 'system',
@@ -361,11 +407,15 @@ export function useChatHandler({ client, toolManager, messages, setMessages, cur
361
407
  setIsThinking(false);
362
408
  setIsCancelling(false);
363
409
  setAbortController(null);
410
+ setIsStreaming(false);
411
+ setStreamingContent('');
364
412
  }
365
413
  };
366
414
  return {
367
415
  handleChatMessage,
368
416
  processAssistantResponse,
417
+ isStreaming,
418
+ streamingContent,
369
419
  };
370
420
  }
371
421
  //# sourceMappingURL=useChatHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChatHandler.js","sourceRoot":"","sources":["../../source/hooks/useChatHandler.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useChatHandler.js","sourceRoot":"","sources":["../../source/hooks/useChatHandler.tsx"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Tool } from '../types/index.js';
1
+ import type { Tool, AISDKCoreTool } from '../types/index.js';
2
2
  import type { MCPServer, MCPTool, MCPInitResult } from '../types/index.js';
3
3
  export declare class MCPClient {
4
4
  private clients;
@@ -9,10 +9,29 @@ export declare class MCPClient {
9
9
  connectToServer(server: MCPServer): Promise<void>;
10
10
  connectToServers(servers: MCPServer[], onProgress?: (result: MCPInitResult) => void): Promise<MCPInitResult[]>;
11
11
  getAllTools(): Tool[];
12
+ /**
13
+ * Get all MCP tools as AI SDK native CoreTool format
14
+ * Converts MCP tool schemas to AI SDK's tool() format
15
+ */
16
+ getNativeToolsRegistry(): Record<string, AISDKCoreTool>;
12
17
  getToolMapping(): Map<string, {
13
18
  serverName: string;
14
19
  originalName: string;
15
20
  }>;
21
+ /**
22
+ * Get all MCP tools as entries with handlers for easy registration
23
+ * Each entry contains the native AI SDK tool and its handler function
24
+ *
25
+ * the AI SDK tool definition and the corresponding handler function.
26
+ * This enables cleaner integration with ToolManager.
27
+ *
28
+ * @returns Array of tool entries with name, AI SDK tool, and handler function
29
+ */
30
+ getToolEntries(): Array<{
31
+ name: string;
32
+ tool: AISDKCoreTool;
33
+ handler: (args: Record<string, unknown>) => Promise<string>;
34
+ }>;
16
35
  callTool(toolName: string, args: Record<string, unknown>): Promise<string>;
17
36
  private executeToolCall;
18
37
  disconnect(): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../source/mcp/mcp-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,IAAI,EAAsB,MAAM,eAAe,CAAC;AAG7D,OAAO,KAAK,EAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AAErE,qBAAa,SAAS;IACrB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,WAAW,CAAkB;;IAI/B,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCjD,gBAAgB,CACrB,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GAC1C,OAAO,CAAC,aAAa,EAAE,CAAC;IAmC3B,WAAW,IAAI,IAAI,EAAE;IAuCrB,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAC,CAAC;IAkBnE,QAAQ,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC;YA6BJ,eAAe;IAmCvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBjC,mBAAmB,IAAI,MAAM,EAAE;IAI/B,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI9C,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE;CAG7C"}
1
+ {"version":3,"file":"mcp-client.d.ts","sourceRoot":"","sources":["../../source/mcp/mcp-client.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAC,IAAI,EAAuB,aAAa,EAAC,MAAM,eAAe,CAAC;AAI5E,OAAO,KAAK,EAAC,SAAS,EAAE,OAAO,EAAE,aAAa,EAAC,MAAM,eAAe,CAAC;AAErE,qBAAa,SAAS;IACrB,OAAO,CAAC,OAAO,CAAkC;IACjD,OAAO,CAAC,UAAU,CAAgD;IAClE,OAAO,CAAC,WAAW,CAAqC;IACxD,OAAO,CAAC,WAAW,CAAkB;;IAI/B,eAAe,CAAC,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAyCjD,gBAAgB,CACrB,OAAO,EAAE,SAAS,EAAE,EACpB,UAAU,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GAC1C,OAAO,CAAC,aAAa,EAAE,CAAC;IAmC3B,WAAW,IAAI,IAAI,EAAE;IAuCrB;;;OAGG;IACH,sBAAsB,IAAI,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC;IAwBvD,cAAc,IAAI,GAAG,CAAC,MAAM,EAAE;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAC,CAAC;IAkBzE;;;;;;;;OAQG;IACH,cAAc,IAAI,KAAK,CAAC;QACvB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,aAAa,CAAC;QACpB,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;KAC5D,CAAC;IAmCI,QAAQ,CACb,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC3B,OAAO,CAAC,MAAM,CAAC;YA6BJ,eAAe;IAmCvB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBjC,mBAAmB,IAAI,MAAM,EAAE;IAI/B,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAI9C,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE;CAG7C"}
@@ -1,5 +1,6 @@
1
1
  import { Client } from '@modelcontextprotocol/sdk/client/index.js';
2
2
  import { StdioClientTransport } from '@modelcontextprotocol/sdk/client/stdio.js';
3
+ import { tool, jsonSchema } from '../types/index.js';
3
4
  import { logInfo, logError } from '../utils/message-queue.js';
4
5
  export class MCPClient {
5
6
  clients = new Map();
@@ -99,6 +100,29 @@ export class MCPClient {
99
100
  }
100
101
  return tools;
101
102
  }
103
+ /**
104
+ * Get all MCP tools as AI SDK native CoreTool format
105
+ * Converts MCP tool schemas to AI SDK's tool() format
106
+ */
107
+ getNativeToolsRegistry() {
108
+ const nativeTools = {};
109
+ for (const [serverName, serverTools] of this.serverTools.entries()) {
110
+ for (const mcpTool of serverTools) {
111
+ // Convert MCP tool to AI SDK's CoreTool format
112
+ // Use the input schema directly - it should already be JSON Schema compatible
113
+ // MCP schemas are already in JSON Schema format, cast to unknown first for type safety
114
+ const coreTool = tool({
115
+ description: mcpTool.description
116
+ ? `[MCP:${serverName}] ${mcpTool.description}`
117
+ : `MCP tool from ${serverName}`,
118
+ inputSchema: jsonSchema(mcpTool.inputSchema || { type: 'object' }),
119
+ // No execute function - human-in-the-loop pattern
120
+ });
121
+ nativeTools[mcpTool.name] = coreTool;
122
+ }
123
+ }
124
+ return nativeTools;
125
+ }
102
126
  getToolMapping() {
103
127
  const mapping = new Map();
104
128
  for (const [serverName, serverTools] of this.serverTools.entries()) {
@@ -111,6 +135,39 @@ export class MCPClient {
111
135
  }
112
136
  return mapping;
113
137
  }
138
+ /**
139
+ * Get all MCP tools as entries with handlers for easy registration
140
+ * Each entry contains the native AI SDK tool and its handler function
141
+ *
142
+ * the AI SDK tool definition and the corresponding handler function.
143
+ * This enables cleaner integration with ToolManager.
144
+ *
145
+ * @returns Array of tool entries with name, AI SDK tool, and handler function
146
+ */
147
+ getToolEntries() {
148
+ const entries = [];
149
+ // Get native tools once to avoid redundant calls
150
+ const nativeTools = this.getNativeToolsRegistry();
151
+ for (const [, serverTools] of this.serverTools.entries()) {
152
+ for (const mcpTool of serverTools) {
153
+ const toolName = mcpTool.name;
154
+ // Get the AI SDK native tool
155
+ const coreTool = nativeTools[toolName];
156
+ if (coreTool) {
157
+ // Create handler that calls this tool
158
+ const handler = async (args) => {
159
+ return this.callTool(toolName, args);
160
+ };
161
+ entries.push({
162
+ name: toolName,
163
+ tool: coreTool,
164
+ handler,
165
+ });
166
+ }
167
+ }
168
+ }
169
+ return entries;
170
+ }
114
171
  async callTool(toolName, args) {
115
172
  // First, try to find which server has this tool
116
173
  const toolMapping = this.getToolMapping();
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../source/mcp/mcp-client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,MAAM,EAAC,MAAM,2CAA2C,CAAC;AACjE,OAAO,EAAC,oBAAoB,EAAC,MAAM,2CAA2C,CAAC;AAE/E,OAAO,EAAC,OAAO,EAAE,QAAQ,EAAC,MAAM,uBAAuB,CAAC;AAIxD,MAAM,OAAO,SAAS;IACb,OAAO,GAAwB,IAAI,GAAG,EAAE,CAAC;IACzC,UAAU,GAAsC,IAAI,GAAG,EAAE,CAAC;IAC1D,WAAW,GAA2B,IAAI,GAAG,EAAE,CAAC;IAChD,WAAW,GAAY,KAAK,CAAC;IAErC,gBAAe,CAAC;IAEhB,KAAK,CAAC,eAAe,CAAC,MAAiB;QACtC,kCAAkC;QAClC,MAAM,SAAS,GAAG,IAAI,oBAAoB,CAAC;YAC1C,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;YACvB,GAAG,EAAE;gBACJ,GAAG,MAAM,CAAC,GAAG;gBACb,gEAAgE;gBAChE,SAAS,EAAE,OAAO;gBAClB,KAAK,EAAE,GAAG;gBACV,OAAO,EAAE,GAAG;aACZ;YACD,MAAM,EAAE,QAAQ;SAChB,CAAC,CAAC;QAEH,4BAA4B;QAC5B,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;YACzB,IAAI,EAAE,sBAAsB;YAC5B,OAAO,EAAE,OAAO;SAChB,CAAC,CAAC;QAEH,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,6BAA6B;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAE5C,wCAAwC;QACxC,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,SAAS,EAAE,CAAC;QAC7C,MAAM,KAAK,GAAc,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACvD,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,SAAS;YAC1C,WAAW,EAAE,IAAI,CAAC,WAAW;YAC7B,UAAU,EAAE,MAAM,CAAC,IAAI;SACvB,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAEzC,4DAA4D;IAC7D,CAAC;IAED,KAAK,CAAC,gBAAgB,CACrB,OAAoB,EACpB,UAA4C;QAE5C,MAAM,OAAO,GAAoB,EAAE,CAAC;QAEpC,wDAAwD;QACxD,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;YACrD,IAAI,CAAC;gBACJ,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACtD,MAAM,MAAM,GAAkB;oBAC7B,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,OAAO,EAAE,IAAI;oBACb,SAAS,EAAE,KAAK,CAAC,MAAM;iBACvB,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;gBACrB,OAAO,MAAM,CAAC;YACf,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,MAAM,GAAkB;oBAC7B,UAAU,EAAE,MAAM,CAAC,IAAI;oBACvB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC7D,CAAC;gBACF,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACrB,UAAU,EAAE,CAAC,MAAM,CAAC,CAAC;gBACrB,OAAO,MAAM,CAAC;YACf,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,uCAAuC;QACvC,MAAM,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;QAEtC,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;QACxB,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,WAAW;QACV,MAAM,KAAK,GAAW,EAAE,CAAC;QAEzB,KAAK,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YACpE,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;gBACnC,4CAA4C;gBAC5C,4DAA4D;gBAC5D,MAAM,MAAM,GAAG,OAAO,CAAC,WAMX,CAAC;gBAEb,MAAM,IAAI,GAAS;oBAClB,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE;wBACT,IAAI,EAAE,OAAO,CAAC,IAAI;wBAClB,WAAW,EAAE,OAAO,CAAC,WAAW;4BAC/B,CAAC,CAAC,QAAQ,UAAU,KAAK,OAAO,CAAC,WAAW,EAAE;4BAC9C,CAAC,CAAC,iBAAiB,UAAU,EAAE;wBAChC,UAAU,EAAE;4BACX,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,CAGpC;4BACD,QAAQ,EAAE,MAAM,EAAE,QAAQ,IAAI,EAAE;yBAChC;qBACD;iBACD,CAAC;gBACF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;QACF,CAAC;QAED,OAAO,KAAK,CAAC;IACd,CAAC;IAED,cAAc;QACb,MAAM,OAAO,GAAG,IAAI,GAAG,EAGpB,CAAC;QAEJ,KAAK,MAAM,CAAC,UAAU,EAAE,WAAW,CAAC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,EAAE,CAAC;YACpE,KAAK,MAAM,OAAO,IAAI,WAAW,EAAE,CAAC;gBACnC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE;oBACzB,UAAU;oBACV,YAAY,EAAE,OAAO,CAAC,IAAI;iBAC1B,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,OAAO,OAAO,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,QAAQ,CACb,QAAgB,EAChB,IAA6B;QAE7B,gDAAgD;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE1C,IAAI,CAAC,OAAO,EAAE,CAAC;YACd,8FAA8F;YAC9F,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBACzD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,gBAAgB,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBAClD,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAC5C,IAAI,MAAM,EAAE,CAAC;oBACZ,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,gBAAgB,EAAE,IAAI,CAAC,CAAC;gBAC7D,CAAC;YACF,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,QAAQ,EAAE,CAAC,CAAC;QACpD,CAAC;QAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACd,uCAAuC,OAAO,CAAC,UAAU,EAAE,CAC3D,CAAC;QACH,CAAC;QAED,OAAO,IAAI,CAAC,eAAe,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACjE,CAAC;IAEO,KAAK,CAAC,eAAe,CAC5B,MAAc,EACd,QAAgB,EAChB,IAA6B;QAE7B,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC;gBACpC,IAAI,EAAE,QAAQ;gBACd,SAAS,EAAE,IAAI;aACf,CAAC,CAAC;YAEH,mCAAmC;YACnC,IACC,MAAM,CAAC,OAAO;gBACd,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC;gBAC7B,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EACxB,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAEN,CAAC;gBAC3B,IAAI,MAAM,IAAI,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;oBAClD,MAAM,WAAW,GAAG,OAAwC,CAAC;oBAC7D,OAAO,WAAW,CAAC,IAAI,IAAI,EAAE,CAAC;gBAC/B,CAAC;gBACD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;YAChC,CAAC;YAED,OAAO,wCAAwC,CAAC;QACjD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,MAAM,YAAY,GACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAC1D,MAAM,IAAI,KAAK,CAAC,8BAA8B,YAAY,EAAE,CAAC,CAAC;QAC/D,CAAC;IACF,CAAC;IAED,KAAK,CAAC,UAAU;QACf,KAAK,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3D,IAAI,CAAC;gBACJ,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;gBACrB,OAAO,CAAC,iCAAiC,UAAU,EAAE,CAAC,CAAC;YACxD,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBAChB,MAAM,YAAY,GACjB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;gBAC1D,QAAQ,CAAC,4BAA4B,UAAU,KAAK,YAAY,EAAE,CAAC,CAAC;YACrE,CAAC;QACF,CAAC;QAED,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;QACzB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC1B,CAAC;IAED,mBAAmB;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,iBAAiB,CAAC,UAAkB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IACrC,CAAC;IAED,cAAc,CAAC,UAAkB;QAChC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;IAC/C,CAAC;CACD"}
1
+ {"version":3,"file":"mcp-client.js","sourceRoot":"","sources":["../../source/mcp/mcp-client.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../source/message-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAQtD,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,QAGzC;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,WAAW,GAAG,IAAI,QAEpE;AAED,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAEnD;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAwC5E"}
1
+ {"version":3,"file":"message-handler.d.ts","sourceRoot":"","sources":["../source/message-handler.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,eAAe,CAAC;AACrE,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,sBAAsB,CAAC;AAQtD,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,MAAM,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,QAGzC;AAED,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,WAAW,GAAG,IAAI,QAEpE;AAED,wBAAgB,cAAc,IAAI,WAAW,GAAG,IAAI,CAEnD;AAED,wBAAsB,cAAc,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC,CAgD5E"}
@@ -12,13 +12,18 @@ export function getToolManager() {
12
12
  return toolManagerGetter ? toolManagerGetter() : null;
13
13
  }
14
14
  export async function processToolUse(toolCall) {
15
+ // Handle XML validation errors by throwing (will be caught and returned as error ToolResult)
16
+ if (toolCall.function.name === '__xml_validation_error__') {
17
+ const args = toolCall.function.arguments;
18
+ throw new Error(args.error);
19
+ }
15
20
  if (!toolRegistryGetter) {
16
21
  throw new Error('Tool registry not initialized');
17
22
  }
18
23
  const toolRegistry = toolRegistryGetter();
19
24
  const handler = toolRegistry[toolCall.function.name];
20
25
  if (!handler) {
21
- throw new Error(`Unknown tool: ${toolCall.function.name}`);
26
+ throw new Error(`Error: Unknown tool: ${toolCall.function.name}`);
22
27
  }
23
28
  try {
24
29
  // Parse arguments if they're a JSON string
@@ -28,7 +33,7 @@ export async function processToolUse(toolCall) {
28
33
  parsedArgs = JSON.parse(parsedArgs);
29
34
  }
30
35
  catch (e) {
31
- throw new Error(`Invalid tool arguments: ${e.message}`);
36
+ throw new Error(`Error: Invalid tool arguments: ${e.message}`);
32
37
  }
33
38
  }
34
39
  const result = await handler(parsedArgs);
@@ -1 +1 @@
1
- {"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../source/message-handler.ts"],"names":[],"mappings":"AAGA,sCAAsC;AACtC,IAAI,kBAAkB,GAA+C,IAAI,CAAC;AAE1E,8BAA8B;AAC9B,IAAI,iBAAiB,GAAsC,IAAI,CAAC;AAEhE,MAAM,UAAU,qBAAqB,CACpC,MAAyC;IAEzC,kBAAkB,GAAG,MAAM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAgC;IACpE,iBAAiB,GAAG,MAAM,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,OAAO,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAkB;IACtD,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,iBAAiB,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,IAAI,CAAC;QACJ,2CAA2C;QAC3C,IAAI,UAAU,GAA4B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC;gBACJ,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAA4B,CAAC;YAChE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CAAC,2BAA4B,CAAW,CAAC,OAAO,EAAE,CAAC,CAAC;YACpE,CAAC;QACF,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO;YACN,YAAY,EAAE,QAAQ,CAAC,EAAE;YACzB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;YAC5B,OAAO,EAAE,MAAM;SACf,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,0EAA0E;QAC1E,MAAM,YAAY,GAAG,UACpB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACtD,EAAE,CAAC;QACH,OAAO;YACN,YAAY,EAAE,QAAQ,CAAC,EAAE;YACzB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;YAC5B,OAAO,EAAE,YAAY;SACrB,CAAC;IACH,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../source/message-handler.ts"],"names":[],"mappings":"AAGA,sCAAsC;AACtC,IAAI,kBAAkB,GAA+C,IAAI,CAAC;AAE1E,8BAA8B;AAC9B,IAAI,iBAAiB,GAAsC,IAAI,CAAC;AAEhE,MAAM,UAAU,qBAAqB,CACpC,MAAyC;IAEzC,kBAAkB,GAAG,MAAM,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,MAAgC;IACpE,iBAAiB,GAAG,MAAM,CAAC;AAC5B,CAAC;AAED,MAAM,UAAU,cAAc;IAC7B,OAAO,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;AACvD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,QAAkB;IACtD,6FAA6F;IAC7F,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,KAAK,0BAA0B,EAAE,CAAC;QAC3D,MAAM,IAAI,GAAG,QAAQ,CAAC,QAAQ,CAAC,SAA4B,CAAC;QAC5D,MAAM,IAAI,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC7B,CAAC;IAED,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,YAAY,GAAG,kBAAkB,EAAE,CAAC;IAC1C,MAAM,OAAO,GAAG,YAAY,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,wBAAwB,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;IACnE,CAAC;IAED,IAAI,CAAC;QACJ,2CAA2C;QAC3C,IAAI,UAAU,GAA4B,QAAQ,CAAC,QAAQ,CAAC,SAAS,CAAC;QACtE,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;YACpC,IAAI,CAAC;gBACJ,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAA4B,CAAC;YAChE,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,MAAM,IAAI,KAAK,CACd,kCAAmC,CAAW,CAAC,OAAO,EAAE,CACxD,CAAC;YACH,CAAC;QACF,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,CAAC;QACzC,OAAO;YACN,YAAY,EAAE,QAAQ,CAAC,EAAE;YACzB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;YAC5B,OAAO,EAAE,MAAM;SACf,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,0EAA0E;QAC1E,MAAM,YAAY,GAAG,UACpB,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CACtD,EAAE,CAAC;QACH,OAAO;YACN,YAAY,EAAE,QAAQ,CAAC,EAAE;YACzB,IAAI,EAAE,MAAM;YACZ,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI;YAC5B,OAAO,EAAE,YAAY;SACrB,CAAC;IACH,CAAC;AACF,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Tool calling utilities - main exports
3
3
  */
4
- export { parseToolCallsFromContent, cleanContentFromToolCalls, } from '../tool-calling/json-parser.js';
4
+ export { parseToolCalls } from '../tool-calling/tool-parser.js';
5
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/tool-calling/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,yBAAyB,EACzB,yBAAyB,GACzB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../source/tool-calling/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Tool calling utilities - main exports
3
3
  */
4
- export { parseToolCallsFromContent, cleanContentFromToolCalls, } from '../tool-calling/json-parser.js';
4
+ export { parseToolCalls } from '../tool-calling/tool-parser.js';
5
5
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/tool-calling/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACN,yBAAyB,EACzB,yBAAyB,GACzB,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../source/tool-calling/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAC,cAAc,EAAC,MAAM,4BAA4B,CAAC"}
@@ -1,7 +1,24 @@
1
1
  import type { ToolCall } from '../types/index.js';
2
- export declare function parseToolCallsFromContent(content: string): ToolCall[];
2
+ /**
3
+ * Internal JSON tool call parser
4
+ * Note: This is now an internal utility. Use tool-parser.ts for public API.
5
+ */
6
+ /**
7
+ * Detects malformed JSON tool call attempts and returns error details
8
+ * Returns null if no malformed tool calls detected
9
+ */
10
+ export declare function detectMalformedJSONToolCall(content: string): {
11
+ error: string;
12
+ examples: string;
13
+ } | null;
14
+ /**
15
+ * Parses JSON-formatted tool calls from content
16
+ * This is an internal function - use tool-parser.ts for public API
17
+ */
18
+ export declare function parseJSONToolCalls(content: string): ToolCall[];
3
19
  /**
4
20
  * Cleans content by removing tool call JSON blocks
21
+ * This is an internal function - use tool-parser.ts for public API
5
22
  */
6
- export declare function cleanContentFromToolCalls(content: string, toolCalls: ToolCall[]): string;
23
+ export declare function cleanJSONToolCalls(content: string, toolCalls: ToolCall[]): string;
7
24
  //# sourceMappingURL=json-parser.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"json-parser.d.ts","sourceRoot":"","sources":["../../source/tool-calling/json-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAM5C,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAsHrE;AAsBD;;GAEG;AACH,wBAAgB,yBAAyB,CACxC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,QAAQ,EAAE,GACnB,MAAM,CA4DR"}
1
+ {"version":3,"file":"json-parser.d.ts","sourceRoot":"","sources":["../../source/tool-calling/json-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAE5C;;;GAGG;AAEH;;;GAGG;AACH,wBAAgB,2BAA2B,CAC1C,OAAO,EAAE,MAAM,GACb;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAC,GAAG,IAAI,CAkC1C;AAiBD;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,QAAQ,EAAE,CAqG9D;AAsBD;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,QAAQ,EAAE,GACnB,MAAM,CAkDR"}
@@ -1,20 +1,65 @@
1
- import { logError } from '../utils/message-queue.js';
2
- import { XMLToolCallParser } from '../tool-calling/xml-parser.js';
3
- // XML validation functions removed - XMLToolCallParser handles XML parsing
4
- export function parseToolCallsFromContent(content) {
5
- const extractedCalls = [];
6
- let trimmedContent = content.trim();
7
- // First, try the new XML parser for cleaner XML tool call parsing
8
- if (XMLToolCallParser.hasToolCalls(content)) {
9
- const parsedCalls = XMLToolCallParser.parseToolCalls(content);
10
- const convertedCalls = XMLToolCallParser.convertToToolCalls(parsedCalls);
11
- extractedCalls.push(...convertedCalls);
12
- // If XML parser found tool calls, return them (don't continue with legacy parsers)
13
- if (convertedCalls.length > 0) {
14
- const uniqueCalls = deduplicateToolCalls(extractedCalls);
15
- return uniqueCalls;
1
+ /**
2
+ * Internal JSON tool call parser
3
+ * Note: This is now an internal utility. Use tool-parser.ts for public API.
4
+ */
5
+ /**
6
+ * Detects malformed JSON tool call attempts and returns error details
7
+ * Returns null if no malformed tool calls detected
8
+ */
9
+ export function detectMalformedJSONToolCall(content) {
10
+ // Check for incomplete JSON structures
11
+ const patterns = [
12
+ {
13
+ // Incomplete JSON with name but missing arguments
14
+ regex: /\{\s*"name"\s*:\s*"[^"]+"\s*,?\s*\}/,
15
+ error: 'Incomplete tool call: missing "arguments" field',
16
+ hint: 'Tool calls must include both "name" and "arguments" fields',
17
+ },
18
+ {
19
+ // Incomplete JSON with arguments but missing name
20
+ regex: /\{\s*"arguments"\s*:\s*\{[^}]*\}\s*\}/,
21
+ error: 'Incomplete tool call: missing "name" field',
22
+ hint: 'Tool calls must include both "name" and "arguments" fields',
23
+ },
24
+ {
25
+ // Malformed arguments (not an object)
26
+ regex: /\{\s*"name"\s*:\s*"[^"]+"\s*,\s*"arguments"\s*:\s*"[^"]*"\s*\}/,
27
+ error: 'Invalid tool call: "arguments" must be an object, not a string',
28
+ hint: 'Use {"name": "tool_name", "arguments": {...}} format',
29
+ },
30
+ ];
31
+ for (const pattern of patterns) {
32
+ const match = content.match(pattern.regex);
33
+ if (match) {
34
+ return {
35
+ error: pattern.error,
36
+ examples: getCorrectJSONFormatExamples(pattern.hint),
37
+ };
16
38
  }
17
39
  }
40
+ return null;
41
+ }
42
+ /**
43
+ * Generates correct format examples for JSON error messages
44
+ */
45
+ function getCorrectJSONFormatExamples(specificHint) {
46
+ return `${specificHint}
47
+
48
+ Correct format:
49
+ {
50
+ "name": "tool_name",
51
+ "arguments": {
52
+ "param": "value"
53
+ }
54
+ }`;
55
+ }
56
+ /**
57
+ * Parses JSON-formatted tool calls from content
58
+ * This is an internal function - use tool-parser.ts for public API
59
+ */
60
+ export function parseJSONToolCalls(content) {
61
+ const extractedCalls = [];
62
+ let trimmedContent = content.trim();
18
63
  // Handle markdown code blocks
19
64
  const codeBlockMatch = trimmedContent.match(/^```(?:json)?\s*\n?([\s\S]*?)\n?```$/);
20
65
  if (codeBlockMatch && codeBlockMatch[1]) {
@@ -41,7 +86,7 @@ export function parseToolCallsFromContent(content) {
41
86
  }
42
87
  }
43
88
  catch {
44
- logError('Tool call failed to parse from JSON code block.');
89
+ // Failed to parse - will be caught by malformed detection
45
90
  }
46
91
  }
47
92
  // Look for standalone JSON blocks in the content (multiline without code blocks)
@@ -62,11 +107,9 @@ export function parseToolCallsFromContent(content) {
62
107
  }
63
108
  }
64
109
  catch {
65
- logError('Tool call failed to parse from JSON block.');
110
+ // Failed to parse - will be caught by malformed detection
66
111
  }
67
112
  }
68
- // XML parsing is now handled by XMLToolCallParser
69
- // All XML parsing is now handled by XMLToolCallParser
70
113
  // Look for embedded tool calls using regex patterns
71
114
  const toolCallPatterns = [
72
115
  /\{"name":\s*"([^"]+)",\s*"arguments":\s*(\{[^}]*\})\}/g,
@@ -94,7 +137,7 @@ export function parseToolCallsFromContent(content) {
94
137
  });
95
138
  }
96
139
  catch {
97
- logError('Tool call failed to parse from content.');
140
+ // Failed to parse - will be caught by malformed detection
98
141
  }
99
142
  }
100
143
  }
@@ -118,17 +161,12 @@ function deduplicateToolCalls(toolCalls) {
118
161
  }
119
162
  /**
120
163
  * Cleans content by removing tool call JSON blocks
164
+ * This is an internal function - use tool-parser.ts for public API
121
165
  */
122
- export function cleanContentFromToolCalls(content, toolCalls) {
166
+ export function cleanJSONToolCalls(content, toolCalls) {
123
167
  if (toolCalls.length === 0)
124
168
  return content;
125
169
  let cleanedContent = content;
126
- // Use the new XML parser to clean XML tool calls
127
- if (XMLToolCallParser.hasToolCalls(cleanedContent)) {
128
- cleanedContent =
129
- XMLToolCallParser.removeToolCallsFromContent(cleanedContent);
130
- }
131
- // XML cleaning is handled by XMLToolCallParser.removeToolCallsFromContent above
132
170
  // Handle markdown code blocks that contain only tool calls
133
171
  const codeBlockRegex = /```(?:json)?\s*\n?([\s\S]*?)\n?```/g;
134
172
  cleanedContent = cleanedContent.replace(codeBlockRegex, (match, blockContent) => {
@@ -147,7 +185,6 @@ export function cleanContentFromToolCalls(content, toolCalls) {
147
185
  // Keep the code block as-is if it doesn't contain a tool call
148
186
  return match;
149
187
  });
150
- // XML tool call cleaning is handled by XMLToolCallParser above
151
188
  // Remove JSON blocks that were parsed as tool calls (for non-code-block cases)
152
189
  const toolCallPatterns = [
153
190
  /\{\s*\n\s*"name":\s*"([^"]+)",\s*\n\s*"arguments":\s*\{[\s\S]*?\}\s*\n\s*\}/g, // Multiline JSON blocks