@nanocollective/nanocoder 1.17.3 → 1.18.0

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 (224) hide show
  1. package/README.md +2 -5
  2. package/assets/nanocoder-vscode.vsix +0 -0
  3. package/dist/ai-sdk-client-empty-message.spec.d.ts +2 -0
  4. package/dist/ai-sdk-client-empty-message.spec.d.ts.map +1 -0
  5. package/dist/ai-sdk-client-empty-message.spec.js +124 -0
  6. package/dist/ai-sdk-client-empty-message.spec.js.map +1 -0
  7. package/dist/ai-sdk-client.d.ts +18 -2
  8. package/dist/ai-sdk-client.d.ts.map +1 -1
  9. package/dist/ai-sdk-client.js +159 -122
  10. package/dist/ai-sdk-client.js.map +1 -1
  11. package/dist/app/utils/appUtils.js +3 -3
  12. package/dist/app/utils/appUtils.js.map +1 -1
  13. package/dist/app.d.ts.map +1 -1
  14. package/dist/app.js +22 -11
  15. package/dist/app.js.map +1 -1
  16. package/dist/commands/debugging.d.ts +3 -0
  17. package/dist/commands/debugging.d.ts.map +1 -0
  18. package/dist/commands/debugging.js +23 -0
  19. package/dist/commands/debugging.js.map +1 -0
  20. package/dist/commands/index.d.ts +2 -2
  21. package/dist/commands/index.d.ts.map +1 -1
  22. package/dist/commands/index.js +2 -2
  23. package/dist/commands/index.js.map +1 -1
  24. package/dist/commands/model-database.d.ts +8 -0
  25. package/dist/commands/model-database.d.ts.map +1 -0
  26. package/dist/commands/model-database.js +193 -0
  27. package/dist/commands/model-database.js.map +1 -0
  28. package/dist/commands/usage.d.ts.map +1 -1
  29. package/dist/commands/usage.js +1 -1
  30. package/dist/commands/usage.js.map +1 -1
  31. package/dist/components/assistant-message.d.ts.map +1 -1
  32. package/dist/components/assistant-message.js +3 -2
  33. package/dist/components/assistant-message.js.map +1 -1
  34. package/dist/components/status.d.ts +3 -0
  35. package/dist/components/status.d.ts.map +1 -1
  36. package/dist/components/status.js +24 -3
  37. package/dist/components/status.js.map +1 -1
  38. package/dist/components/user-input.d.ts.map +1 -1
  39. package/dist/components/user-input.js +2 -1
  40. package/dist/components/user-input.js.map +1 -1
  41. package/dist/config/preferences.d.ts +2 -2
  42. package/dist/config/preferences.js +5 -5
  43. package/dist/config/preferences.js.map +1 -1
  44. package/dist/context/mode-context.d.ts +12 -0
  45. package/dist/context/mode-context.d.ts.map +1 -0
  46. package/dist/context/mode-context.js +21 -0
  47. package/dist/context/mode-context.js.map +1 -0
  48. package/dist/context/mode-context.spec.d.ts +2 -0
  49. package/dist/context/mode-context.spec.d.ts.map +1 -0
  50. package/dist/context/mode-context.spec.js +61 -0
  51. package/dist/context/mode-context.spec.js.map +1 -0
  52. package/dist/hooks/useAppInitialization.d.ts +4 -2
  53. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  54. package/dist/hooks/useAppInitialization.js +101 -26
  55. package/dist/hooks/useAppInitialization.js.map +1 -1
  56. package/dist/hooks/useAppState.d.ts +7 -5
  57. package/dist/hooks/useAppState.d.ts.map +1 -1
  58. package/dist/hooks/useAppState.js +11 -7
  59. package/dist/hooks/useAppState.js.map +1 -1
  60. package/dist/hooks/useChatHandler.d.ts +2 -2
  61. package/dist/hooks/useChatHandler.d.ts.map +1 -1
  62. package/dist/hooks/useChatHandler.js +186 -111
  63. package/dist/hooks/useChatHandler.js.map +1 -1
  64. package/dist/hooks/useModeHandlers.d.ts +4 -4
  65. package/dist/hooks/useModeHandlers.d.ts.map +1 -1
  66. package/dist/hooks/useModeHandlers.js +9 -9
  67. package/dist/hooks/useModeHandlers.js.map +1 -1
  68. package/dist/mcp/mcp-client.d.ts.map +1 -1
  69. package/dist/mcp/mcp-client.js +16 -6
  70. package/dist/mcp/mcp-client.js.map +1 -1
  71. package/dist/message-handler.js +1 -1
  72. package/dist/message-handler.js.map +1 -1
  73. package/dist/model-database/database-engine.d.ts +25 -0
  74. package/dist/model-database/database-engine.d.ts.map +1 -0
  75. package/dist/model-database/database-engine.js +37 -0
  76. package/dist/model-database/database-engine.js.map +1 -0
  77. package/dist/model-database/database-engine.spec.d.ts +2 -0
  78. package/dist/model-database/database-engine.spec.d.ts.map +1 -0
  79. package/dist/model-database/database-engine.spec.js +413 -0
  80. package/dist/model-database/database-engine.spec.js.map +1 -0
  81. package/dist/model-database/model-database.d.ts +30 -0
  82. package/dist/model-database/model-database.d.ts.map +1 -0
  83. package/dist/model-database/model-database.js +82 -0
  84. package/dist/model-database/model-database.js.map +1 -0
  85. package/dist/model-database/model-database.spec.d.ts +2 -0
  86. package/dist/model-database/model-database.spec.d.ts.map +1 -0
  87. package/dist/model-database/model-database.spec.js +322 -0
  88. package/dist/model-database/model-database.spec.js.map +1 -0
  89. package/dist/model-database/model-engine.d.ts +25 -0
  90. package/dist/model-database/model-engine.d.ts.map +1 -0
  91. package/dist/model-database/model-engine.js +49 -0
  92. package/dist/model-database/model-engine.js.map +1 -0
  93. package/dist/model-database/model-engine.spec.d.ts +2 -0
  94. package/dist/model-database/model-engine.spec.d.ts.map +1 -0
  95. package/dist/model-database/model-engine.spec.js +381 -0
  96. package/dist/model-database/model-engine.spec.js.map +1 -0
  97. package/dist/model-database/model-fetcher.d.ts +14 -0
  98. package/dist/model-database/model-fetcher.d.ts.map +1 -0
  99. package/dist/model-database/model-fetcher.js +248 -0
  100. package/dist/model-database/model-fetcher.js.map +1 -0
  101. package/dist/model-database/model-fetcher.spec.d.ts +2 -0
  102. package/dist/model-database/model-fetcher.spec.d.ts.map +1 -0
  103. package/dist/model-database/model-fetcher.spec.js +498 -0
  104. package/dist/model-database/model-fetcher.spec.js.map +1 -0
  105. package/dist/models/models-dev-client.d.ts.map +1 -1
  106. package/dist/models/models-dev-client.js +8 -0
  107. package/dist/models/models-dev-client.js.map +1 -1
  108. package/dist/tool-calling/json-parser.d.ts.map +1 -1
  109. package/dist/tool-calling/json-parser.js +10 -4
  110. package/dist/tool-calling/json-parser.js.map +1 -1
  111. package/dist/tool-calling/tool-parser.d.ts.map +1 -1
  112. package/dist/tool-calling/tool-parser.js +37 -9
  113. package/dist/tool-calling/tool-parser.js.map +1 -1
  114. package/dist/tool-calling/tool-parser.spec.js +79 -1
  115. package/dist/tool-calling/tool-parser.spec.js.map +1 -1
  116. package/dist/tool-calling/xml-parser.d.ts.map +1 -1
  117. package/dist/tool-calling/xml-parser.js +21 -23
  118. package/dist/tool-calling/xml-parser.js.map +1 -1
  119. package/dist/tool-calling/xml-parser.spec.js +23 -3
  120. package/dist/tool-calling/xml-parser.spec.js.map +1 -1
  121. package/dist/tools/create-file.d.ts +24 -2
  122. package/dist/tools/create-file.d.ts.map +1 -1
  123. package/dist/tools/create-file.js +14 -10
  124. package/dist/tools/create-file.js.map +1 -1
  125. package/dist/tools/delete-lines.d.ts +18 -2
  126. package/dist/tools/delete-lines.d.ts.map +1 -1
  127. package/dist/tools/delete-lines.js +14 -9
  128. package/dist/tools/delete-lines.js.map +1 -1
  129. package/dist/tools/execute-bash.d.ts +2 -2
  130. package/dist/tools/execute-bash.d.ts.map +1 -1
  131. package/dist/tools/execute-bash.js +10 -9
  132. package/dist/tools/execute-bash.js.map +1 -1
  133. package/dist/tools/execute-function.spec.d.ts +2 -0
  134. package/dist/tools/execute-function.spec.d.ts.map +1 -0
  135. package/dist/tools/execute-function.spec.js +141 -0
  136. package/dist/tools/execute-function.spec.js.map +1 -0
  137. package/dist/tools/fetch-url.d.ts +16 -2
  138. package/dist/tools/fetch-url.d.ts.map +1 -1
  139. package/dist/tools/fetch-url.js +10 -10
  140. package/dist/tools/fetch-url.js.map +1 -1
  141. package/dist/tools/find-files.d.ts +18 -2
  142. package/dist/tools/find-files.d.ts.map +1 -1
  143. package/dist/tools/find-files.js +7 -5
  144. package/dist/tools/find-files.js.map +1 -1
  145. package/dist/tools/index.d.ts +2 -3
  146. package/dist/tools/index.d.ts.map +1 -1
  147. package/dist/tools/index.js +30 -20
  148. package/dist/tools/index.js.map +1 -1
  149. package/dist/tools/insert-lines.d.ts +18 -2
  150. package/dist/tools/insert-lines.d.ts.map +1 -1
  151. package/dist/tools/insert-lines.js +14 -9
  152. package/dist/tools/insert-lines.js.map +1 -1
  153. package/dist/tools/lsp-get-diagnostics.d.ts +10 -2
  154. package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -1
  155. package/dist/tools/lsp-get-diagnostics.js +8 -6
  156. package/dist/tools/lsp-get-diagnostics.js.map +1 -1
  157. package/dist/tools/needs-approval.spec.d.ts +2 -0
  158. package/dist/tools/needs-approval.spec.d.ts.map +1 -0
  159. package/dist/tools/needs-approval.spec.js +308 -0
  160. package/dist/tools/needs-approval.spec.js.map +1 -0
  161. package/dist/tools/read-file.d.ts +2 -2
  162. package/dist/tools/read-file.d.ts.map +1 -1
  163. package/dist/tools/read-file.js +10 -12
  164. package/dist/tools/read-file.js.map +1 -1
  165. package/dist/tools/replace-lines.d.ts +19 -2
  166. package/dist/tools/replace-lines.d.ts.map +1 -1
  167. package/dist/tools/replace-lines.js +14 -9
  168. package/dist/tools/replace-lines.js.map +1 -1
  169. package/dist/tools/search-file-contents.d.ts +20 -2
  170. package/dist/tools/search-file-contents.d.ts.map +1 -1
  171. package/dist/tools/search-file-contents.js +11 -8
  172. package/dist/tools/search-file-contents.js.map +1 -1
  173. package/dist/tools/web-search.d.ts +2 -2
  174. package/dist/tools/web-search.d.ts.map +1 -1
  175. package/dist/tools/web-search.js +10 -10
  176. package/dist/tools/web-search.js.map +1 -1
  177. package/dist/types/app.d.ts +1 -1
  178. package/dist/types/app.d.ts.map +1 -1
  179. package/dist/types/config.d.ts +1 -1
  180. package/dist/types/core-connection-status.spec.d.ts +2 -0
  181. package/dist/types/core-connection-status.spec.d.ts.map +1 -0
  182. package/dist/types/core-connection-status.spec.js +52 -0
  183. package/dist/types/core-connection-status.spec.js.map +1 -0
  184. package/dist/types/core.d.ts +33 -28
  185. package/dist/types/core.d.ts.map +1 -1
  186. package/dist/types/core.js.map +1 -1
  187. package/dist/types/system.d.ts +5 -30
  188. package/dist/types/system.d.ts.map +1 -1
  189. package/dist/utils/prompt-processor.d.ts +2 -3
  190. package/dist/utils/prompt-processor.d.ts.map +1 -1
  191. package/dist/utils/prompt-processor.js +2 -50
  192. package/dist/utils/prompt-processor.js.map +1 -1
  193. package/dist/wizard/templates/provider-templates.js +2 -2
  194. package/dist/wizard/templates/provider-templates.js.map +1 -1
  195. package/package.json +6 -5
  196. package/source/app/prompts/main-prompt.md +29 -96
  197. package/dist/commands/recommendations.d.ts +0 -8
  198. package/dist/commands/recommendations.d.ts.map +0 -1
  199. package/dist/commands/recommendations.js +0 -311
  200. package/dist/commands/recommendations.js.map +0 -1
  201. package/dist/commands/streaming.d.ts +0 -3
  202. package/dist/commands/streaming.d.ts.map +0 -1
  203. package/dist/commands/streaming.js +0 -23
  204. package/dist/commands/streaming.js.map +0 -1
  205. package/dist/components/thinking-indicator.d.ts +0 -3
  206. package/dist/components/thinking-indicator.d.ts.map +0 -1
  207. package/dist/components/thinking-indicator.js +0 -69
  208. package/dist/components/thinking-indicator.js.map +0 -1
  209. package/dist/recommendations/model-database.d.ts +0 -8
  210. package/dist/recommendations/model-database.d.ts.map +0 -1
  211. package/dist/recommendations/model-database.js +0 -514
  212. package/dist/recommendations/model-database.js.map +0 -1
  213. package/dist/recommendations/model-engine.d.ts +0 -16
  214. package/dist/recommendations/model-engine.d.ts.map +0 -1
  215. package/dist/recommendations/model-engine.js +0 -185
  216. package/dist/recommendations/model-engine.js.map +0 -1
  217. package/dist/recommendations/recommendation-engine.d.ts +0 -39
  218. package/dist/recommendations/recommendation-engine.d.ts.map +0 -1
  219. package/dist/recommendations/recommendation-engine.js +0 -144
  220. package/dist/recommendations/recommendation-engine.js.map +0 -1
  221. package/dist/system/detector.d.ts +0 -18
  222. package/dist/system/detector.d.ts.map +0 -1
  223. package/dist/system/detector.js +0 -140
  224. package/dist/system/detector.js.map +0 -1
@@ -1,12 +1,40 @@
1
1
  import { XMLToolCallParser } from '../tool-calling/xml-parser.js';
2
2
  import { parseJSONToolCalls, cleanJSONToolCalls, detectMalformedJSONToolCall, } from '../tool-calling/json-parser.js';
3
+ /**
4
+ * Strip <think>...</think> tags from content (some models output thinking that shouldn't be shown)
5
+ */
6
+ function stripThinkTags(content) {
7
+ return (content
8
+ // Strip complete <think>...</think> blocks
9
+ .replace(/<think>[\s\S]*?<\/think>/gi, '')
10
+ // Strip orphaned/incomplete think tags
11
+ .replace(/<think>[\s\S]*$/gi, '')
12
+ .replace(/<\/think>/gi, ''));
13
+ }
14
+ /**
15
+ * Normalize whitespace in content to remove excessive blank lines and spacing
16
+ */
17
+ function normalizeWhitespace(content) {
18
+ return (content
19
+ // Remove trailing whitespace from each line
20
+ .replace(/[ \t]+$/gm, '')
21
+ // Collapse multiple spaces (but not at start of line for indentation)
22
+ .replace(/([^ \t\n]) {2,}/g, '$1 ')
23
+ // Remove lines that are only whitespace
24
+ .replace(/^[ \t]+$/gm, '')
25
+ // Collapse 3+ consecutive newlines to exactly 2 (one blank line)
26
+ .replace(/\n{3,}/g, '\n\n')
27
+ .trim());
28
+ }
3
29
  /**
4
30
  * Unified tool call parser that tries XML first, then falls back to JSON
5
31
  * Returns errors for malformed tool calls instead of silently failing
6
32
  */
7
33
  export function parseToolCalls(content) {
34
+ // Strip <think> tags first - some models (like GLM-4) emit these for chain-of-thought
35
+ const strippedContent = stripThinkTags(content);
8
36
  // 1. Check for malformed XML patterns first (before validating with hasToolCalls)
9
- const xmlMalformed = XMLToolCallParser.detectMalformedToolCall(content);
37
+ const xmlMalformed = XMLToolCallParser.detectMalformedToolCall(strippedContent);
10
38
  if (xmlMalformed) {
11
39
  return {
12
40
  success: false,
@@ -15,12 +43,12 @@ export function parseToolCalls(content) {
15
43
  };
16
44
  }
17
45
  // 2. Try XML parser for valid tool calls
18
- if (XMLToolCallParser.hasToolCalls(content)) {
46
+ if (XMLToolCallParser.hasToolCalls(strippedContent)) {
19
47
  // Parse valid XML tool calls
20
- const parsedCalls = XMLToolCallParser.parseToolCalls(content);
48
+ const parsedCalls = XMLToolCallParser.parseToolCalls(strippedContent);
21
49
  const convertedCalls = XMLToolCallParser.convertToToolCalls(parsedCalls);
22
50
  if (convertedCalls.length > 0) {
23
- const cleanedContent = XMLToolCallParser.removeToolCallsFromContent(content);
51
+ const cleanedContent = XMLToolCallParser.removeToolCallsFromContent(strippedContent);
24
52
  return {
25
53
  success: true,
26
54
  toolCalls: convertedCalls,
@@ -30,7 +58,7 @@ export function parseToolCalls(content) {
30
58
  }
31
59
  // 3. Fall back to JSON parser
32
60
  // Check for malformed JSON tool calls
33
- const jsonMalformed = detectMalformedJSONToolCall(content);
61
+ const jsonMalformed = detectMalformedJSONToolCall(strippedContent);
34
62
  if (jsonMalformed) {
35
63
  return {
36
64
  success: false,
@@ -39,20 +67,20 @@ export function parseToolCalls(content) {
39
67
  };
40
68
  }
41
69
  // Parse valid JSON tool calls
42
- const jsonCalls = parseJSONToolCalls(content);
70
+ const jsonCalls = parseJSONToolCalls(strippedContent);
43
71
  if (jsonCalls.length > 0) {
44
- const cleanedContent = cleanJSONToolCalls(content, jsonCalls);
72
+ const cleanedContent = cleanJSONToolCalls(strippedContent, jsonCalls);
45
73
  return {
46
74
  success: true,
47
75
  toolCalls: jsonCalls,
48
76
  cleanedContent,
49
77
  };
50
78
  }
51
- // 4. No tool calls found - return original content
79
+ // 4. No tool calls found - still normalize whitespace in content
52
80
  return {
53
81
  success: true,
54
82
  toolCalls: [],
55
- cleanedContent: content,
83
+ cleanedContent: normalizeWhitespace(strippedContent),
56
84
  };
57
85
  }
58
86
  //# sourceMappingURL=tool-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-parser.js","sourceRoot":"","sources":["../../source/tool-calling/tool-parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,GAC3B,MAAM,4BAA4B,CAAC;AAiBpC;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC7C,kFAAkF;IAClF,MAAM,YAAY,GAAG,iBAAiB,CAAC,uBAAuB,CAAC,OAAO,CAAC,CAAC;IACxE,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO;YACN,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,QAAQ,EAAE,YAAY,CAAC,QAAQ;SAC/B,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,iBAAiB,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;QAC7C,6BAA6B;QAC7B,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC;QAC9D,MAAM,cAAc,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEzE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,cAAc,GACnB,iBAAiB,CAAC,0BAA0B,CAAC,OAAO,CAAC,CAAC;YACvD,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,cAAc;gBACzB,cAAc;aACd,CAAC;QACH,CAAC;IACF,CAAC;IAED,8BAA8B;IAC9B,sCAAsC;IACtC,MAAM,aAAa,GAAG,2BAA2B,CAAC,OAAO,CAAC,CAAC;IAC3D,IAAI,aAAa,EAAE,CAAC;QACnB,OAAO;YACN,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,QAAQ,EAAE,aAAa,CAAC,QAAQ;SAChC,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,SAAS,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC9C,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QAC9D,OAAO;YACN,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,SAAS;YACpB,cAAc;SACd,CAAC;IACH,CAAC;IAED,mDAAmD;IACnD,OAAO;QACN,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,OAAO;KACvB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"tool-parser.js","sourceRoot":"","sources":["../../source/tool-calling/tool-parser.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,iBAAiB,EAAC,MAAM,2BAA2B,CAAC;AAC5D,OAAO,EACN,kBAAkB,EAClB,kBAAkB,EAClB,2BAA2B,GAC3B,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,SAAS,cAAc,CAAC,OAAe;IACtC,OAAO,CACN,OAAO;QACN,2CAA2C;SAC1C,OAAO,CAAC,4BAA4B,EAAE,EAAE,CAAC;QAC1C,uCAAuC;SACtC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC;SAChC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAC5B,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,mBAAmB,CAAC,OAAe;IAC3C,OAAO,CACN,OAAO;QACN,4CAA4C;SAC3C,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,sEAAsE;SACrE,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC;QACnC,wCAAwC;SACvC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;QAC1B,iEAAiE;SAChE,OAAO,CAAC,SAAS,EAAE,MAAM,CAAC;SAC1B,IAAI,EAAE,CACR,CAAC;AACH,CAAC;AAiBD;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC7C,sFAAsF;IACtF,MAAM,eAAe,GAAG,cAAc,CAAC,OAAO,CAAC,CAAC;IAEhD,kFAAkF;IAClF,MAAM,YAAY,GACjB,iBAAiB,CAAC,uBAAuB,CAAC,eAAe,CAAC,CAAC;IAC5D,IAAI,YAAY,EAAE,CAAC;QAClB,OAAO;YACN,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,YAAY,CAAC,KAAK;YACzB,QAAQ,EAAE,YAAY,CAAC,QAAQ;SAC/B,CAAC;IACH,CAAC;IAED,yCAAyC;IACzC,IAAI,iBAAiB,CAAC,YAAY,CAAC,eAAe,CAAC,EAAE,CAAC;QACrD,6BAA6B;QAC7B,MAAM,WAAW,GAAG,iBAAiB,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;QACtE,MAAM,cAAc,GAAG,iBAAiB,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEzE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,cAAc,GACnB,iBAAiB,CAAC,0BAA0B,CAAC,eAAe,CAAC,CAAC;YAC/D,OAAO;gBACN,OAAO,EAAE,IAAI;gBACb,SAAS,EAAE,cAAc;gBACzB,cAAc;aACd,CAAC;QACH,CAAC;IACF,CAAC;IAED,8BAA8B;IAC9B,sCAAsC;IACtC,MAAM,aAAa,GAAG,2BAA2B,CAAC,eAAe,CAAC,CAAC;IACnE,IAAI,aAAa,EAAE,CAAC;QACnB,OAAO;YACN,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,aAAa,CAAC,KAAK;YAC1B,QAAQ,EAAE,aAAa,CAAC,QAAQ;SAChC,CAAC;IACH,CAAC;IAED,8BAA8B;IAC9B,MAAM,SAAS,GAAG,kBAAkB,CAAC,eAAe,CAAC,CAAC;IACtD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,cAAc,GAAG,kBAAkB,CAAC,eAAe,EAAE,SAAS,CAAC,CAAC;QACtE,OAAO;YACN,OAAO,EAAE,IAAI;YACb,SAAS,EAAE,SAAS;YACpB,cAAc;SACd,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,OAAO;QACN,OAAO,EAAE,IAAI;QACb,SAAS,EAAE,EAAE;QACb,cAAc,EAAE,mBAAmB,CAAC,eAAe,CAAC;KACpD,CAAC;AACH,CAAC"}
@@ -30,7 +30,7 @@ I want to read the file at /path/to/file.txt
30
30
  t.false(result.success);
31
31
  if (!result.success) {
32
32
  t.regex(result.error, /Invalid syntax/i);
33
- t.regex(result.examples, /Correct format/i);
33
+ t.regex(result.examples, /native tool calling/i);
34
34
  }
35
35
  });
36
36
  test('parseToolCalls: handles multiple valid XML tool calls', t => {
@@ -247,4 +247,82 @@ test('parseToolCalls: deduplicates identical tool calls', t => {
247
247
  t.is(result.toolCalls.length, 1);
248
248
  }
249
249
  });
250
+ // Think Tag Tests (models like GLM-4 emit these for chain-of-thought)
251
+ test('parseToolCalls: strips complete <think>...</think> tags', t => {
252
+ const content = `<think>
253
+ Let me think about this...
254
+ I should read the file first.
255
+ </think>
256
+
257
+ Here is my response to your question.`;
258
+ const result = parseToolCalls(content);
259
+ t.true(result.success);
260
+ if (result.success) {
261
+ t.is(result.toolCalls.length, 0);
262
+ t.notRegex(result.cleanedContent, /<think>/);
263
+ t.notRegex(result.cleanedContent, /<\/think>/);
264
+ t.regex(result.cleanedContent, /Here is my response/);
265
+ }
266
+ });
267
+ test('parseToolCalls: strips orphaned closing </think> tags', t => {
268
+ const content = `</think>
269
+
270
+ Here is my response after some thinking.`;
271
+ const result = parseToolCalls(content);
272
+ t.true(result.success);
273
+ if (result.success) {
274
+ t.notRegex(result.cleanedContent, /<\/think>/);
275
+ t.regex(result.cleanedContent, /Here is my response/);
276
+ }
277
+ });
278
+ test('parseToolCalls: strips incomplete opening <think> tags (streaming)', t => {
279
+ const content = `Here is my response.
280
+
281
+ <think>
282
+ I'm still thinking about this...`;
283
+ const result = parseToolCalls(content);
284
+ t.true(result.success);
285
+ if (result.success) {
286
+ t.notRegex(result.cleanedContent, /<think>/);
287
+ t.regex(result.cleanedContent, /Here is my response/);
288
+ // The incomplete thinking content should be removed
289
+ t.notRegex(result.cleanedContent, /still thinking/);
290
+ }
291
+ });
292
+ test('parseToolCalls: handles think tags with tool calls', t => {
293
+ const content = `<think>
294
+ Let me analyze this request...
295
+ I'll need to read the file first.
296
+ </think>
297
+
298
+ <read_file>
299
+ <path>/path/to/file.txt</path>
300
+ </read_file>`;
301
+ const result = parseToolCalls(content);
302
+ t.true(result.success);
303
+ if (result.success) {
304
+ t.is(result.toolCalls.length, 1);
305
+ t.is(result.toolCalls[0].function.name, 'read_file');
306
+ t.notRegex(result.cleanedContent, /<think>/);
307
+ t.notRegex(result.cleanedContent, /<\/think>/);
308
+ }
309
+ });
310
+ test('parseToolCalls: handles case-insensitive think tags', t => {
311
+ const content = `<THINK>
312
+ Some thinking...
313
+ </THINK>
314
+
315
+ <Think>
316
+ More thinking...
317
+ </Think>
318
+
319
+ The actual response.`;
320
+ const result = parseToolCalls(content);
321
+ t.true(result.success);
322
+ if (result.success) {
323
+ t.notRegex(result.cleanedContent, /<think>/i);
324
+ t.notRegex(result.cleanedContent, /<\/think>/i);
325
+ t.regex(result.cleanedContent, /The actual response/);
326
+ }
327
+ });
250
328
  //# sourceMappingURL=tool-parser.spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"tool-parser.spec.js","sourceRoot":"","sources":["../../source/tool-calling/tool-parser.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tool-parser.spec.js","sourceRoot":"","sources":["../../source/tool-calling/tool-parser.spec.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../source/tool-calling/xml-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAE5C,UAAU,cAAc;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAA0B;IACjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAEjE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE;IAwCxD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAyE9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAyB9B;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE;IAUpE;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IAiC1D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAM7C;;;OAGG;IACH,MAAM,CAAC,uBAAuB,CAC7B,OAAO,EAAE,MAAM,GACb;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IAmD3C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;CAQvC"}
1
+ {"version":3,"file":"xml-parser.d.ts","sourceRoot":"","sources":["../../source/tool-calling/xml-parser.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,QAAQ,EAAC,MAAM,eAAe,CAAC;AAE5C,UAAU,cAAc;IACvB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAA0B;IACjE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAEjE;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE;IAwCxD;;;OAGG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAyE9B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,eAAe;IAyB9B;;OAEG;IACH,MAAM,CAAC,kBAAkB,CAAC,WAAW,EAAE,cAAc,EAAE,GAAG,QAAQ,EAAE;IAUpE;;OAEG;IACH,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM;IA0C1D;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAM7C;;;OAGG;IACH,MAAM,CAAC,uBAAuB,CAC7B,OAAO,EAAE,MAAM,GACb;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAC,GAAG,IAAI;IA8C3C;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;CAGvC"}
@@ -160,11 +160,20 @@ export class XMLToolCallParser {
160
160
  });
161
161
  // Remove XML tool calls that aren't in code blocks
162
162
  this.TOOL_CALL_REGEX.lastIndex = 0;
163
- cleanedContent = cleanedContent.replace(this.TOOL_CALL_REGEX, '').trim();
163
+ cleanedContent = cleanedContent.replace(this.TOOL_CALL_REGEX, '');
164
164
  // Remove any <tool_call> wrapper tags that may be left behind
165
- cleanedContent = cleanedContent.replace(/<\/?tool_call>/g, '').trim();
166
- // Clean up extra whitespace and empty lines
167
- cleanedContent = cleanedContent.replace(/\n\s*\n\s*\n/g, '\n\n').trim();
165
+ cleanedContent = cleanedContent.replace(/<\/?tool_call>/g, '');
166
+ // Clean up whitespace artifacts left by removed tool calls
167
+ cleanedContent = cleanedContent
168
+ // Remove trailing whitespace from each line
169
+ .replace(/[ \t]+$/gm, '')
170
+ // Collapse multiple spaces (but not at start of line for indentation)
171
+ .replace(/([^ \t\n]) {2,}/g, '$1 ')
172
+ // Remove lines that are only whitespace
173
+ .replace(/^[ \t]+$/gm, '')
174
+ // Collapse 2+ consecutive blank lines to a single blank line
175
+ .replace(/\n{3,}/g, '\n\n')
176
+ .trim();
168
177
  return cleanedContent;
169
178
  }
170
179
  /**
@@ -182,44 +191,38 @@ export class XMLToolCallParser {
182
191
  static detectMalformedToolCall(content) {
183
192
  // Common malformed patterns
184
193
  const patterns = [
194
+ {
195
+ // [tool_use: name] or [Tool: name] syntax (common with some models like GLM)
196
+ regex: /\[(?:tool_use|Tool):\s*(\w+)\]/i,
197
+ error: 'Invalid syntax: [tool_use: name] or [Tool: name] format is not supported',
198
+ },
185
199
  {
186
200
  // <function=name> syntax
187
201
  regex: /<function=(\w+)>/,
188
202
  error: 'Invalid syntax: <function=name> is not supported',
189
- hint: (match) => {
190
- const toolName = match.match(/<function=(\w+)>/)?.[1];
191
- return `Use <${toolName}> instead of <function=${toolName}>`;
192
- },
193
203
  },
194
204
  {
195
205
  // <parameter=name> syntax
196
206
  regex: /<parameter=(\w+)>/,
197
207
  error: 'Invalid syntax: <parameter=name> is not supported',
198
- hint: (match) => {
199
- const paramName = match.match(/<parameter=(\w+)>/)?.[1];
200
- return `Use <${paramName}>value</${paramName}> instead of <parameter=${paramName}>value</parameter>`;
201
- },
202
208
  },
203
209
  {
204
210
  // Generic closing </parameter> without proper name
205
211
  regex: /<parameter=\w+>[\s\S]*?<\/parameter>/,
206
212
  error: 'Invalid parameter syntax: parameters must use named tags, not generic <parameter> wrapper',
207
- hint: () => 'Use <param_name>value</param_name> format',
208
213
  },
209
214
  {
210
215
  // Generic closing </function> when <function=name> was used
211
216
  regex: /<function=\w+>[\s\S]*?<\/function>/,
212
217
  error: 'Invalid function syntax: use simple named tags, not <function=name> wrapper',
213
- hint: () => 'Use <tool_name><param>value</param></tool_name> format',
214
218
  },
215
219
  ];
216
220
  for (const pattern of patterns) {
217
221
  const match = content.match(pattern.regex);
218
222
  if (match) {
219
- const hint = pattern.hint(match[0]);
220
223
  return {
221
224
  error: pattern.error,
222
- examples: this.getCorrectFormatExamples(hint),
225
+ examples: this.getCorrectFormatExamples(),
223
226
  };
224
227
  }
225
228
  }
@@ -228,13 +231,8 @@ export class XMLToolCallParser {
228
231
  /**
229
232
  * Generates correct format examples for error messages
230
233
  */
231
- static getCorrectFormatExamples(specificHint) {
232
- return `${specificHint}
233
-
234
- Correct format:
235
- <tool_name>
236
- <param>value</param>
237
- </tool_name>`;
234
+ static getCorrectFormatExamples() {
235
+ return `Please use the native tool calling format provided by the system. The tools are already available to you - call them directly using the function calling interface.`;
238
236
  }
239
237
  }
240
238
  //# sourceMappingURL=xml-parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"xml-parser.js","sourceRoot":"","sources":["../../source/tool-calling/xml-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xml-parser.js","sourceRoot":"","sources":["../../source/tool-calling/xml-parser.ts"],"names":[],"mappings":"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"}
@@ -333,12 +333,32 @@ test('hasToolCalls - returns false for incomplete XML', t => {
333
333
  t.false(result);
334
334
  });
335
335
  // detectMalformedToolCall tests
336
+ test('detectMalformedToolCall - detects [tool_use: name] syntax', t => {
337
+ const content = '[tool_use: read_file]';
338
+ const result = XMLToolCallParser.detectMalformedToolCall(content);
339
+ t.truthy(result);
340
+ t.true(result.error.includes('[tool_use: name]'));
341
+ t.true(result.examples.includes('native tool calling'));
342
+ });
343
+ test('detectMalformedToolCall - detects [Tool: name] syntax', t => {
344
+ const content = '[Tool: read_file]';
345
+ const result = XMLToolCallParser.detectMalformedToolCall(content);
346
+ t.truthy(result);
347
+ t.true(result.error.includes('[tool_use: name]'));
348
+ t.true(result.examples.includes('native tool calling'));
349
+ });
350
+ test('detectMalformedToolCall - detects [Tool: name] in context', t => {
351
+ const content = 'Let me read the file for you.\n\n[Tool: read_file]\nThe file contains...';
352
+ const result = XMLToolCallParser.detectMalformedToolCall(content);
353
+ t.truthy(result);
354
+ t.true(result.error.includes('[tool_use: name]'));
355
+ });
336
356
  test('detectMalformedToolCall - detects <function=name> syntax', t => {
337
357
  const content = '<function=read_file><path>/test.txt</path></function>';
338
358
  const result = XMLToolCallParser.detectMalformedToolCall(content);
339
359
  t.truthy(result);
340
360
  t.true(result.error.includes('<function=name>'));
341
- t.true(result.examples.includes('<read_file>'));
361
+ t.true(result.examples.includes('native tool calling'));
342
362
  });
343
363
  test('detectMalformedToolCall - detects <parameter=name> syntax', t => {
344
364
  const content = '<read_file><parameter=path>/test.txt</parameter></read_file>';
@@ -372,8 +392,8 @@ test('detectMalformedToolCall - includes helpful examples in error', t => {
372
392
  const content = '<function=test><param>value</param></function>';
373
393
  const result = XMLToolCallParser.detectMalformedToolCall(content);
374
394
  t.truthy(result);
375
- t.true(result.examples.includes('Correct format:'));
376
- t.true(result.examples.includes('<tool_name>'));
395
+ t.true(result.examples.includes('native tool calling'));
396
+ t.true(result.examples.includes('function calling interface'));
377
397
  });
378
398
  // Complex integration tests
379
399
  test('full workflow - parse, convert, and extract multiple tool calls', t => {
@@ -1 +1 @@
1
- {"version":3,"file":"xml-parser.spec.js","sourceRoot":"","sources":["../../source/tool-calling/xml-parser.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xml-parser.spec.js","sourceRoot":"","sources":["../../source/tool-calling/xml-parser.spec.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,25 @@
1
- import type { ToolDefinition } from '../types/index.js';
2
- export declare const createFileTool: ToolDefinition;
1
+ import React from 'react';
2
+ interface CreateFileArgs {
3
+ path?: string;
4
+ file_path?: string;
5
+ content?: string;
6
+ }
7
+ export declare const createFileTool: {
8
+ name: "create_file";
9
+ tool: import("ai").Tool<{
10
+ path: string;
11
+ content: string;
12
+ }, string>;
13
+ formatter: (args: CreateFileArgs, result?: string) => Promise<React.ReactElement>;
14
+ validator: (args: {
15
+ path: string;
16
+ content: string;
17
+ }) => Promise<{
18
+ valid: true;
19
+ } | {
20
+ valid: false;
21
+ error: string;
22
+ }>;
23
+ };
24
+ export {};
3
25
  //# sourceMappingURL=create-file.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"create-file.d.ts","sourceRoot":"","sources":["../../source/tools/create-file.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AA4OlD,eAAO,MAAM,cAAc,EAAE,cAM5B,CAAC"}
1
+ {"version":3,"file":"create-file.d.ts","sourceRoot":"","sources":["../../source/tools/create-file.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAkD1B,UAAU,cAAc;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AA6LD,eAAO,MAAM,cAAc;;;cAzNK,MAAM;iBAAW,MAAM;;sBAqGhD,cAAc,WACX,MAAM,KACb,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;sBA2CW;QACxC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KAChB,KAAG,OAAO,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAC,GAAG;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC;CAyEzD,CAAC"}
@@ -10,13 +10,12 @@ import { ThemeContext } from '../hooks/useTheme.js';
10
10
  import { getLanguageFromExtension } from '../utils/programming-language-helper.js';
11
11
  import ToolMessage from '../components/tool-message.js';
12
12
  import { isVSCodeConnected, sendFileChangeToVSCode, closeDiffInVSCode, } from '../vscode/index.js';
13
- // Handler function - used by both Nanocoder and AI SDK tool
13
+ import { getCurrentMode } from '../context/mode-context.js';
14
14
  const executeCreateFile = async (args) => {
15
15
  const absPath = resolve(args.path);
16
16
  await writeFile(absPath, args.content, 'utf-8');
17
17
  return 'File written successfully';
18
18
  };
19
- // AI SDK tool definition
20
19
  const createFileCoreTool = tool({
21
20
  description: 'Create a new file with the specified content (overwrites if file exists)',
22
21
  inputSchema: jsonSchema({
@@ -33,7 +32,14 @@ const createFileCoreTool = tool({
33
32
  },
34
33
  required: ['path', 'content'],
35
34
  }),
36
- // NO execute function - prevents AI SDK auto-execution
35
+ // Medium risk: file write operation, requires approval except in auto-accept mode
36
+ needsApproval: () => {
37
+ const mode = getCurrentMode();
38
+ return mode !== 'auto-accept'; // true in normal/plan, false in auto-accept
39
+ },
40
+ execute: async (args, _options) => {
41
+ return await executeCreateFile(args);
42
+ },
37
43
  });
38
44
  // Create a component that will re-render when theme changes
39
45
  const CreateFileFormatter = React.memo(({ args }) => {
@@ -64,7 +70,7 @@ const CreateFileFormatter = React.memo(({ args }) => {
64
70
  });
65
71
  // Track VS Code change IDs for cleanup
66
72
  const vscodeChangeIds = new Map();
67
- const formatter = async (args, result) => {
73
+ const createFileFormatter = async (args, result) => {
68
74
  const path = args.path || args.file_path || '';
69
75
  const absPath = resolve(path);
70
76
  // Send diff to VS Code during preview phase (before execution)
@@ -98,7 +104,7 @@ const formatter = async (args, result) => {
98
104
  }
99
105
  return _jsx(CreateFileFormatter, { args: args });
100
106
  };
101
- const validator = async (args) => {
107
+ const createFileValidator = async (args) => {
102
108
  const absPath = resolve(args.path);
103
109
  // Check if file already exists
104
110
  try {
@@ -160,12 +166,10 @@ const validator = async (args) => {
160
166
  }
161
167
  return { valid: true };
162
168
  };
163
- // Nanocoder tool definition with AI SDK core tool + custom extensions
164
169
  export const createFileTool = {
165
170
  name: 'create_file',
166
- tool: createFileCoreTool, // Native AI SDK tool (no execute)
167
- handler: executeCreateFile, // Manual execution after confirmation
168
- formatter,
169
- validator,
171
+ tool: createFileCoreTool,
172
+ formatter: createFileFormatter,
173
+ validator: createFileValidator,
170
174
  };
171
175
  //# sourceMappingURL=create-file.js.map