@nanocollective/nanocoder 1.16.1 → 1.16.3

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 (112) hide show
  1. package/dist/commands/update.d.ts.map +1 -1
  2. package/dist/commands/update.js +35 -3
  3. package/dist/commands/update.js.map +1 -1
  4. package/dist/components/assistant-message.d.ts +1 -4
  5. package/dist/components/assistant-message.d.ts.map +1 -1
  6. package/dist/components/assistant-message.js +1 -199
  7. package/dist/components/assistant-message.js.map +1 -1
  8. package/dist/config/index.d.ts.map +1 -1
  9. package/dist/config/index.js +13 -5
  10. package/dist/config/index.js.map +1 -1
  11. package/dist/config/paths.d.ts.map +1 -1
  12. package/dist/config/paths.js +23 -2
  13. package/dist/config/paths.js.map +1 -1
  14. package/dist/hooks/useAppState.d.ts.map +1 -1
  15. package/dist/hooks/useAppState.js +8 -15
  16. package/dist/hooks/useAppState.js.map +1 -1
  17. package/dist/hooks/useChatHandler.d.ts.map +1 -1
  18. package/dist/hooks/useChatHandler.js +26 -0
  19. package/dist/hooks/useChatHandler.js.map +1 -1
  20. package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
  21. package/dist/hooks/useTerminalWidth.js +6 -0
  22. package/dist/hooks/useTerminalWidth.js.map +1 -1
  23. package/dist/markdown-parser/html-entities.d.ts +2 -0
  24. package/dist/markdown-parser/html-entities.d.ts.map +1 -0
  25. package/dist/markdown-parser/html-entities.js +41 -0
  26. package/dist/markdown-parser/html-entities.js.map +1 -0
  27. package/dist/markdown-parser/html-entities.spec.d.ts +2 -0
  28. package/dist/markdown-parser/html-entities.spec.d.ts.map +1 -0
  29. package/dist/markdown-parser/html-entities.spec.js +73 -0
  30. package/dist/markdown-parser/html-entities.spec.js.map +1 -0
  31. package/dist/markdown-parser/index.d.ts +6 -0
  32. package/dist/markdown-parser/index.d.ts.map +1 -0
  33. package/dist/markdown-parser/index.js +97 -0
  34. package/dist/markdown-parser/index.js.map +1 -0
  35. package/dist/markdown-parser/index.spec.d.ts +2 -0
  36. package/dist/markdown-parser/index.spec.d.ts.map +1 -0
  37. package/dist/markdown-parser/index.spec.js +245 -0
  38. package/dist/markdown-parser/index.spec.js.map +1 -0
  39. package/dist/markdown-parser/table-parser.d.ts +3 -0
  40. package/dist/markdown-parser/table-parser.d.ts.map +1 -0
  41. package/dist/markdown-parser/table-parser.js +92 -0
  42. package/dist/markdown-parser/table-parser.js.map +1 -0
  43. package/dist/markdown-parser/table-parser.spec.d.ts +2 -0
  44. package/dist/markdown-parser/table-parser.spec.d.ts.map +1 -0
  45. package/dist/markdown-parser/table-parser.spec.js +120 -0
  46. package/dist/markdown-parser/table-parser.spec.js.map +1 -0
  47. package/dist/markdown-parser/utils.d.ts +2 -0
  48. package/dist/markdown-parser/utils.d.ts.map +1 -0
  49. package/dist/markdown-parser/utils.js +14 -0
  50. package/dist/markdown-parser/utils.js.map +1 -0
  51. package/dist/markdown-parser/utils.spec.d.ts +2 -0
  52. package/dist/markdown-parser/utils.spec.d.ts.map +1 -0
  53. package/dist/markdown-parser/utils.spec.js +59 -0
  54. package/dist/markdown-parser/utils.spec.js.map +1 -0
  55. package/dist/models/models-dev-client.d.ts.map +1 -1
  56. package/dist/models/models-dev-client.js +7 -1
  57. package/dist/models/models-dev-client.js.map +1 -1
  58. package/dist/models/models-dev-client.spec.d.ts +2 -0
  59. package/dist/models/models-dev-client.spec.d.ts.map +1 -0
  60. package/dist/models/models-dev-client.spec.js +302 -0
  61. package/dist/models/models-dev-client.spec.js.map +1 -0
  62. package/dist/tool-calling/xml-parser.d.ts.map +1 -1
  63. package/dist/tool-calling/xml-parser.js +39 -0
  64. package/dist/tool-calling/xml-parser.js.map +1 -1
  65. package/dist/tool-calling/xml-parser.spec.js +43 -0
  66. package/dist/tool-calling/xml-parser.spec.js.map +1 -1
  67. package/dist/tools/execute-bash.d.ts.map +1 -1
  68. package/dist/tools/execute-bash.js +12 -27
  69. package/dist/tools/execute-bash.js.map +1 -1
  70. package/dist/tools/find-files.d.ts +3 -0
  71. package/dist/tools/find-files.d.ts.map +1 -0
  72. package/dist/tools/find-files.js +186 -0
  73. package/dist/tools/find-files.js.map +1 -0
  74. package/dist/tools/index.js +4 -4
  75. package/dist/tools/index.js.map +1 -1
  76. package/dist/tools/read-file.d.ts.map +1 -1
  77. package/dist/tools/read-file.js +143 -9
  78. package/dist/tools/read-file.js.map +1 -1
  79. package/dist/tools/search-file-contents.d.ts +3 -0
  80. package/dist/tools/search-file-contents.d.ts.map +1 -0
  81. package/dist/tools/search-file-contents.js +164 -0
  82. package/dist/tools/search-file-contents.js.map +1 -0
  83. package/dist/types/index.d.ts +0 -1
  84. package/dist/types/index.d.ts.map +1 -1
  85. package/dist/types/index.js +0 -1
  86. package/dist/types/index.js.map +1 -1
  87. package/dist/types/markdown-parser.d.ts +11 -0
  88. package/dist/types/markdown-parser.d.ts.map +1 -0
  89. package/dist/types/markdown-parser.js +2 -0
  90. package/dist/types/markdown-parser.js.map +1 -0
  91. package/dist/utils/update-checker.spec.d.ts +2 -0
  92. package/dist/utils/update-checker.spec.d.ts.map +1 -0
  93. package/dist/utils/update-checker.spec.js +230 -0
  94. package/dist/utils/update-checker.spec.js.map +1 -0
  95. package/package.json +1 -1
  96. package/source/app/prompts/main-prompt.md +67 -23
  97. package/dist/components/update-message.d.ts +0 -7
  98. package/dist/components/update-message.d.ts.map +0 -1
  99. package/dist/components/update-message.js +0 -93
  100. package/dist/components/update-message.js.map +0 -1
  101. package/dist/tools/read-many-files.d.ts +0 -3
  102. package/dist/tools/read-many-files.d.ts.map +0 -1
  103. package/dist/tools/read-many-files.js +0 -169
  104. package/dist/tools/read-many-files.js.map +0 -1
  105. package/dist/tools/search-files.d.ts +0 -3
  106. package/dist/tools/search-files.d.ts.map +0 -1
  107. package/dist/tools/search-files.js +0 -250
  108. package/dist/tools/search-files.js.map +0 -1
  109. package/dist/types/tools.d.ts +0 -5
  110. package/dist/types/tools.d.ts.map +0 -1
  111. package/dist/types/tools.js +0 -2
  112. package/dist/types/tools.js.map +0 -1
@@ -0,0 +1,302 @@
1
+ import test from 'ava';
2
+ import { getModelContextLimit } from './models-dev-client.js';
3
+ /**
4
+ * Tests for models-dev-client.ts
5
+ *
6
+ * Note: These tests make real API calls to models.dev.
7
+ * The API has caching and fallback mechanisms built in.
8
+ * Tests are organized by:
9
+ * 1. Ollama cloud model fallbacks (no network required)
10
+ * 2. Ollama local model fallbacks (no network required)
11
+ * 3. models.dev API lookups (network required, cached)
12
+ */
13
+ // ============================================================================
14
+ // Ollama Cloud Model Fallbacks
15
+ // ============================================================================
16
+ test('getModelContextLimit - returns 128000 for gpt-oss:20b-cloud', async (t) => {
17
+ const limit = await getModelContextLimit('gpt-oss:20b-cloud');
18
+ t.is(limit, 128000);
19
+ });
20
+ test('getModelContextLimit - returns 128000 for gpt-oss:120b-cloud', async (t) => {
21
+ const limit = await getModelContextLimit('gpt-oss:120b-cloud');
22
+ t.is(limit, 128000);
23
+ });
24
+ test('getModelContextLimit - returns 128000 for qwen3-coder:480b-cloud', async (t) => {
25
+ const limit = await getModelContextLimit('qwen3-coder:480b-cloud');
26
+ t.is(limit, 128000);
27
+ });
28
+ test('getModelContextLimit - returns 128000 for deepseek-v3.1:671b-cloud', async (t) => {
29
+ const limit = await getModelContextLimit('deepseek-v3.1:671b-cloud');
30
+ t.is(limit, 128000);
31
+ });
32
+ test('getModelContextLimit - returns 196608 for minimax-m2:cloud', async (t) => {
33
+ const limit = await getModelContextLimit('minimax-m2:cloud');
34
+ t.is(limit, 196608);
35
+ });
36
+ test('getModelContextLimit - returns 200000 for glm-4.6:cloud', async (t) => {
37
+ const limit = await getModelContextLimit('glm-4.6:cloud');
38
+ t.is(limit, 200000);
39
+ });
40
+ test('getModelContextLimit - returns 256000 for kimi-k2:1t-cloud', async (t) => {
41
+ const limit = await getModelContextLimit('kimi-k2:1t-cloud');
42
+ t.is(limit, 256000);
43
+ });
44
+ test('getModelContextLimit - returns 256000 for kimi-k2-thinking:cloud', async (t) => {
45
+ const limit = await getModelContextLimit('kimi-k2-thinking:cloud');
46
+ t.is(limit, 256000);
47
+ });
48
+ // ============================================================================
49
+ // Ollama Local Model Fallbacks - Llama Family
50
+ // ============================================================================
51
+ test('getModelContextLimit - returns 128000 for llama3.2', async (t) => {
52
+ const limit = await getModelContextLimit('llama3.2');
53
+ t.is(limit, 128000);
54
+ });
55
+ test('getModelContextLimit - returns 128000 for llama3.2:1b', async (t) => {
56
+ const limit = await getModelContextLimit('llama3.2:1b');
57
+ t.is(limit, 128000);
58
+ });
59
+ test('getModelContextLimit - returns 128000 for llama3.2:3b', async (t) => {
60
+ const limit = await getModelContextLimit('llama3.2:3b');
61
+ t.is(limit, 128000);
62
+ });
63
+ test('getModelContextLimit - returns 128000 for llama3.1', async (t) => {
64
+ const limit = await getModelContextLimit('llama3.1');
65
+ t.is(limit, 128000);
66
+ });
67
+ test('getModelContextLimit - returns 128000 for llama3.1:8b', async (t) => {
68
+ const limit = await getModelContextLimit('llama3.1:8b');
69
+ t.is(limit, 128000);
70
+ });
71
+ test('getModelContextLimit - returns 128000 for llama3.1:70b', async (t) => {
72
+ const limit = await getModelContextLimit('llama3.1:70b');
73
+ t.is(limit, 128000);
74
+ });
75
+ test('getModelContextLimit - returns 128000 for llama3.1:405b', async (t) => {
76
+ const limit = await getModelContextLimit('llama3.1:405b');
77
+ t.is(limit, 128000);
78
+ });
79
+ test('getModelContextLimit - returns 8192 for llama3', async (t) => {
80
+ const limit = await getModelContextLimit('llama3');
81
+ t.is(limit, 8192);
82
+ });
83
+ test('getModelContextLimit - returns 8192 for llama3:8b', async (t) => {
84
+ const limit = await getModelContextLimit('llama3:8b');
85
+ t.is(limit, 8192);
86
+ });
87
+ test('getModelContextLimit - returns 8192 for llama3:70b', async (t) => {
88
+ const limit = await getModelContextLimit('llama3:70b');
89
+ t.is(limit, 8192);
90
+ });
91
+ test('getModelContextLimit - returns 4096 for llama2', async (t) => {
92
+ const limit = await getModelContextLimit('llama2');
93
+ t.is(limit, 4096);
94
+ });
95
+ test('getModelContextLimit - returns 4096 for llama2:7b', async (t) => {
96
+ const limit = await getModelContextLimit('llama2:7b');
97
+ t.is(limit, 4096);
98
+ });
99
+ test('getModelContextLimit - returns 4096 for llama2:13b', async (t) => {
100
+ const limit = await getModelContextLimit('llama2:13b');
101
+ t.is(limit, 4096);
102
+ });
103
+ test('getModelContextLimit - returns 4096 for llama2:70b', async (t) => {
104
+ const limit = await getModelContextLimit('llama2:70b');
105
+ t.is(limit, 4096);
106
+ });
107
+ // ============================================================================
108
+ // Ollama Local Model Fallbacks - Mistral Family
109
+ // ============================================================================
110
+ test('getModelContextLimit - returns 32000 for mistral', async (t) => {
111
+ const limit = await getModelContextLimit('mistral');
112
+ t.is(limit, 32000);
113
+ });
114
+ test('getModelContextLimit - returns 32000 for mistral:7b', async (t) => {
115
+ const limit = await getModelContextLimit('mistral:7b');
116
+ t.is(limit, 32000);
117
+ });
118
+ test('getModelContextLimit - returns 32000 for mixtral', async (t) => {
119
+ const limit = await getModelContextLimit('mixtral');
120
+ t.is(limit, 32000);
121
+ });
122
+ test('getModelContextLimit - returns 32000 for mixtral:8x7b', async (t) => {
123
+ const limit = await getModelContextLimit('mixtral:8x7b');
124
+ t.is(limit, 32000);
125
+ });
126
+ test('getModelContextLimit - returns 32000 for mixtral:8x22b', async (t) => {
127
+ const limit = await getModelContextLimit('mixtral:8x22b');
128
+ t.is(limit, 32000);
129
+ });
130
+ // ============================================================================
131
+ // Ollama Local Model Fallbacks - Qwen Family
132
+ // ============================================================================
133
+ test('getModelContextLimit - returns 32000 for qwen', async (t) => {
134
+ const limit = await getModelContextLimit('qwen');
135
+ t.is(limit, 32000);
136
+ });
137
+ test('getModelContextLimit - returns 32000 for qwen:7b', async (t) => {
138
+ const limit = await getModelContextLimit('qwen:7b');
139
+ t.is(limit, 32000);
140
+ });
141
+ test('getModelContextLimit - returns 32000 for qwen:14b', async (t) => {
142
+ const limit = await getModelContextLimit('qwen:14b');
143
+ t.is(limit, 32000);
144
+ });
145
+ test('getModelContextLimit - returns 32000 for qwen2', async (t) => {
146
+ const limit = await getModelContextLimit('qwen2');
147
+ t.is(limit, 32000);
148
+ });
149
+ test('getModelContextLimit - returns 32000 for qwen2:7b', async (t) => {
150
+ const limit = await getModelContextLimit('qwen2:7b');
151
+ t.is(limit, 32000);
152
+ });
153
+ test('getModelContextLimit - returns 128000 for qwen2.5', async (t) => {
154
+ const limit = await getModelContextLimit('qwen2.5');
155
+ t.is(limit, 128000);
156
+ });
157
+ test('getModelContextLimit - returns 128000 for qwen2.5:7b', async (t) => {
158
+ const limit = await getModelContextLimit('qwen2.5:7b');
159
+ t.is(limit, 128000);
160
+ });
161
+ test('getModelContextLimit - returns 128000 for qwen3', async (t) => {
162
+ const limit = await getModelContextLimit('qwen3');
163
+ t.is(limit, 128000);
164
+ });
165
+ test('getModelContextLimit - returns 128000 for qwen3:7b', async (t) => {
166
+ const limit = await getModelContextLimit('qwen3:7b');
167
+ t.is(limit, 128000);
168
+ });
169
+ test('getModelContextLimit - returns 128000 for qwen3:14b', async (t) => {
170
+ const limit = await getModelContextLimit('qwen3:14b');
171
+ t.is(limit, 128000);
172
+ });
173
+ test('getModelContextLimit - returns 128000 for qwen3:32b', async (t) => {
174
+ const limit = await getModelContextLimit('qwen3:32b');
175
+ t.is(limit, 128000);
176
+ });
177
+ // ============================================================================
178
+ // Ollama Local Model Fallbacks - Gemma Family
179
+ // ============================================================================
180
+ test('getModelContextLimit - returns 8192 for gemma', async (t) => {
181
+ const limit = await getModelContextLimit('gemma');
182
+ t.is(limit, 8192);
183
+ });
184
+ test('getModelContextLimit - returns 8192 for gemma:2b', async (t) => {
185
+ const limit = await getModelContextLimit('gemma:2b');
186
+ t.is(limit, 8192);
187
+ });
188
+ test('getModelContextLimit - returns 8192 for gemma:7b', async (t) => {
189
+ const limit = await getModelContextLimit('gemma:7b');
190
+ t.is(limit, 8192);
191
+ });
192
+ test('getModelContextLimit - returns 8192 for gemma2', async (t) => {
193
+ const limit = await getModelContextLimit('gemma2');
194
+ t.is(limit, 8192);
195
+ });
196
+ test('getModelContextLimit - returns 8192 for gemma2:9b', async (t) => {
197
+ const limit = await getModelContextLimit('gemma2:9b');
198
+ t.is(limit, 8192);
199
+ });
200
+ test('getModelContextLimit - returns 8192 for gemma2:27b', async (t) => {
201
+ const limit = await getModelContextLimit('gemma2:27b');
202
+ t.is(limit, 8192);
203
+ });
204
+ // ============================================================================
205
+ // Ollama Local Model Fallbacks - Other Models
206
+ // ============================================================================
207
+ test('getModelContextLimit - returns 128000 for command-r', async (t) => {
208
+ const limit = await getModelContextLimit('command-r');
209
+ t.is(limit, 128000);
210
+ });
211
+ test('getModelContextLimit - returns 128000 for command-r-plus', async (t) => {
212
+ const limit = await getModelContextLimit('command-r-plus');
213
+ t.is(limit, 128000);
214
+ });
215
+ test('getModelContextLimit - returns 16000 for deepseek-coder', async (t) => {
216
+ const limit = await getModelContextLimit('deepseek-coder');
217
+ t.is(limit, 16000);
218
+ });
219
+ test('getModelContextLimit - returns 16000 for deepseek-coder-v2', async (t) => {
220
+ const limit = await getModelContextLimit('deepseek-coder-v2');
221
+ t.is(limit, 16000);
222
+ });
223
+ test('getModelContextLimit - returns 128000 for phi3', async (t) => {
224
+ const limit = await getModelContextLimit('phi3');
225
+ t.is(limit, 128000);
226
+ });
227
+ test('getModelContextLimit - returns 128000 for phi3:mini', async (t) => {
228
+ const limit = await getModelContextLimit('phi3:mini');
229
+ t.is(limit, 128000);
230
+ });
231
+ test('getModelContextLimit - returns 128000 for phi3:medium', async (t) => {
232
+ const limit = await getModelContextLimit('phi3:medium');
233
+ t.is(limit, 128000);
234
+ });
235
+ // ============================================================================
236
+ // Ollama Model Variants (with quantization/tags)
237
+ // ============================================================================
238
+ test('getModelContextLimit - handles llama3.1:8b-instruct-q4_0 variant', async (t) => {
239
+ const limit = await getModelContextLimit('llama3.1:8b-instruct-q4_0');
240
+ t.is(limit, 128000);
241
+ });
242
+ test('getModelContextLimit - handles mistral:7b-instruct variant', async (t) => {
243
+ const limit = await getModelContextLimit('mistral:7b-instruct');
244
+ t.is(limit, 32000);
245
+ });
246
+ test('getModelContextLimit - handles qwen2.5:7b-instruct-fp16 variant', async (t) => {
247
+ const limit = await getModelContextLimit('qwen2.5:7b-instruct-fp16');
248
+ t.is(limit, 128000);
249
+ });
250
+ // ============================================================================
251
+ // Edge Cases
252
+ // ============================================================================
253
+ test('getModelContextLimit - returns null for completely unknown model', async (t) => {
254
+ const limit = await getModelContextLimit('unknown-model-12345');
255
+ t.is(limit, null);
256
+ });
257
+ test('getModelContextLimit - handles empty string', async (t) => {
258
+ const limit = await getModelContextLimit('');
259
+ t.is(limit, 262144);
260
+ });
261
+ test('getModelContextLimit - handles model names with uppercase', async (t) => {
262
+ const limit = await getModelContextLimit('LLAMA3.1:8B');
263
+ t.is(limit, 128000);
264
+ });
265
+ test('getModelContextLimit - handles model names with mixed case', async (t) => {
266
+ const limit = await getModelContextLimit('Llama3.1:8B');
267
+ t.is(limit, 128000);
268
+ });
269
+ // ============================================================================
270
+ // models.dev API Lookups (Network Required)
271
+ // ============================================================================
272
+ test('getModelContextLimit - fetches from models.dev for popular API models', async (t) => {
273
+ // This test requires network access and will use cached data if available
274
+ // Testing with a common model that should be in models.dev
275
+ const limit = await getModelContextLimit('gpt-4');
276
+ // We just verify it returns a number or null (API might change)
277
+ t.true(limit === null || typeof limit === 'number');
278
+ });
279
+ test('getModelContextLimit - handles models.dev API failure gracefully', async (t) => {
280
+ // Test that the function doesn't throw even if models.dev is unavailable
281
+ // Using a model that's not in fallbacks to trigger API lookup
282
+ const limit = await getModelContextLimit('some-api-only-model-xyz');
283
+ // Should return null gracefully, not throw
284
+ t.is(limit, null);
285
+ });
286
+ // ============================================================================
287
+ // Cloud Model Normalization
288
+ // ============================================================================
289
+ test('getModelContextLimit - cloud suffix is tried first before normalization', async (t) => {
290
+ // This ensures the fix for cloud models works
291
+ // gpt-oss:20b-cloud should match the fallback BEFORE stripping :cloud
292
+ const limit = await getModelContextLimit('gpt-oss:20b-cloud');
293
+ t.is(limit, 128000);
294
+ });
295
+ test('getModelContextLimit - handles -cloud suffix (hyphen variant)', async (t) => {
296
+ // Some models might use -cloud instead of :cloud
297
+ // Note: Currently no models in fallback use this, but the code supports it
298
+ const limit = await getModelContextLimit('unknown-model-cloud');
299
+ // Should still process without error
300
+ t.true(limit === null || typeof limit === 'number');
301
+ });
302
+ //# sourceMappingURL=models-dev-client.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"models-dev-client.spec.js","sourceRoot":"","sources":["../../source/models/models-dev-client.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;IAiC9B;;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;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"}
@@ -44,6 +44,45 @@ export class XMLToolCallParser {
44
44
  * Rejects partial matches, malformed syntax, and invalid structures
45
45
  */
46
46
  static isValidToolCall(fullMatch, toolName) {
47
+ // Reject common HTML tags that might be in model output
48
+ const htmlTags = [
49
+ 'div',
50
+ 'span',
51
+ 'p',
52
+ 'a',
53
+ 'ul',
54
+ 'ol',
55
+ 'li',
56
+ 'table',
57
+ 'tr',
58
+ 'td',
59
+ 'th',
60
+ 'thead',
61
+ 'tbody',
62
+ 'h1',
63
+ 'h2',
64
+ 'h3',
65
+ 'h4',
66
+ 'h5',
67
+ 'h6',
68
+ 'br',
69
+ 'hr',
70
+ 'strong',
71
+ 'em',
72
+ 'code',
73
+ 'pre',
74
+ 'blockquote',
75
+ 'img',
76
+ 'section',
77
+ 'article',
78
+ 'header',
79
+ 'footer',
80
+ 'nav',
81
+ 'aside',
82
+ ];
83
+ if (htmlTags.includes(toolName.toLowerCase())) {
84
+ return false;
85
+ }
47
86
  // Check for malformed attribute-style syntax like <function=name> or <parameter=name>
48
87
  if (fullMatch.includes('=')) {
49
88
  return false;
@@ -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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"}
@@ -434,4 +434,47 @@ test('stress test - handles very long parameter values', t => {
434
434
  t.is(parsed.length, 1);
435
435
  t.is(parsed[0].parameters.data.length, 10000);
436
436
  });
437
+ // HTML tag rejection tests
438
+ test('parseToolCalls - rejects HTML div tags', t => {
439
+ const content = '<div><p>Some HTML content</p></div>';
440
+ const result = XMLToolCallParser.parseToolCalls(content);
441
+ t.is(result.length, 0);
442
+ });
443
+ test('parseToolCalls - rejects HTML ul/li list tags', t => {
444
+ const content = '<ul><li>Item 1</li><li>Item 2</li></ul>';
445
+ const result = XMLToolCallParser.parseToolCalls(content);
446
+ t.is(result.length, 0);
447
+ });
448
+ test('parseToolCalls - rejects HTML table tags', t => {
449
+ const content = '<table><tr><td>Cell 1</td><td>Cell 2</td></tr></table>';
450
+ const result = XMLToolCallParser.parseToolCalls(content);
451
+ t.is(result.length, 0);
452
+ });
453
+ test('parseToolCalls - rejects HTML header tags', t => {
454
+ const content = '<h1>Title</h1><h2>Subtitle</h2>';
455
+ const result = XMLToolCallParser.parseToolCalls(content);
456
+ t.is(result.length, 0);
457
+ });
458
+ test('parseToolCalls - rejects HTML formatting tags', t => {
459
+ const content = '<strong>Bold</strong><em>Italic</em>';
460
+ const result = XMLToolCallParser.parseToolCalls(content);
461
+ t.is(result.length, 0);
462
+ });
463
+ test('parseToolCalls - rejects mixed HTML and valid tool calls correctly', t => {
464
+ const content = `<div>Some HTML</div>
465
+ <read_file><path>/test.txt</path></read_file>
466
+ <p>More HTML</p>`;
467
+ const result = XMLToolCallParser.parseToolCalls(content);
468
+ // Should only parse the valid tool call, not the HTML
469
+ t.is(result.length, 1);
470
+ t.is(result[0].toolName, 'read_file');
471
+ });
472
+ test('parseToolCalls - allows valid tool calls with HTML-like parameter content', t => {
473
+ const content = '<create_file><path>/test.html</path><content><div>HTML content</div></content></create_file>';
474
+ const result = XMLToolCallParser.parseToolCalls(content);
475
+ // Should parse the tool call, with HTML as parameter value
476
+ t.is(result.length, 1);
477
+ t.is(result[0].toolName, 'create_file');
478
+ t.truthy(result[0].parameters.content);
479
+ });
437
480
  //# sourceMappingURL=xml-parser.spec.js.map
@@ -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 +1 @@
1
- {"version":3,"file":"execute-bash.d.ts","sourceRoot":"","sources":["../../source/tools/execute-bash.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,cAAc,EAAiB,MAAM,eAAe,CAAC;AAoLlE,eAAO,MAAM,eAAe,EAAE,cAM7B,CAAC"}
1
+ {"version":3,"file":"execute-bash.d.ts","sourceRoot":"","sources":["../../source/tools/execute-bash.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AA+JlD,eAAO,MAAM,eAAe,EAAE,cAM7B,CAAC"}
@@ -28,13 +28,14 @@ ${stdout}`;
28
28
  else {
29
29
  fullOutput = stdout;
30
30
  }
31
- // Limit the context for LLM to first 4000 characters
32
- const llmContext = fullOutput.length > 4000 ? fullOutput.substring(0, 4000) : fullOutput;
33
- // Return as JSON string to maintain compatibility with ToolHandler type
34
- resolve(JSON.stringify({
35
- fullOutput,
36
- llmContext,
37
- }));
31
+ // Limit the context for LLM to first 2000 characters to prevent overwhelming the model
32
+ const llmContext = fullOutput.length > 2000
33
+ ? fullOutput.substring(0, 2000) +
34
+ '\n... [Output truncated. Use more specific commands to see full output]'
35
+ : fullOutput;
36
+ // Return ONLY the llmContext to avoid sending massive outputs to the model
37
+ // The formatter will need to be updated to handle plain strings
38
+ resolve(llmContext);
38
39
  });
39
40
  proc.on('error', error => {
40
41
  reject(new Error(`Error executing command: ${error.message}`));
@@ -73,30 +74,14 @@ const ExecuteBashFormatter = React.memo(({ args, result }) => {
73
74
  catch {
74
75
  // Syntax highlighting failed, will use plain command
75
76
  }
76
- // Parse the result if it's a JSON string
77
- let parsedResult = null;
78
- if (result) {
79
- try {
80
- parsedResult = JSON.parse(result);
81
- }
82
- catch {
83
- // If parsing fails, treat as plain string
84
- parsedResult = {
85
- fullOutput: result,
86
- llmContext: result.length > 4000 ? result.substring(0, 4000) : result,
87
- };
88
- }
89
- }
90
- // Calculate token estimation for the output if result is provided
77
+ // Result is now a plain string (truncated output)
91
78
  let outputSize = 0;
92
79
  let estimatedTokens = 0;
93
- let fullOutputSize = 0;
94
- if (parsedResult) {
95
- outputSize = parsedResult.llmContext.length;
96
- fullOutputSize = parsedResult.fullOutput.length;
80
+ if (result) {
81
+ outputSize = result.length;
97
82
  estimatedTokens = Math.ceil(outputSize / 4); // ~4 characters per token
98
83
  }
99
- const messageContent = (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.tool, children: "\u2692 execute_bash" }), _jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Command: " }), _jsx(Text, { color: colors.primary, children: command })] }), parsedResult && (_jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Output: " }), _jsxs(Text, { color: colors.white, children: [fullOutputSize, " characters (~", estimatedTokens, " tokens sent to LLM)"] })] }))] }));
84
+ const messageContent = (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.tool, children: "\u2692 execute_bash" }), _jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Command: " }), _jsx(Text, { color: colors.primary, children: command })] }), result && (_jsxs(Box, { children: [_jsx(Text, { color: colors.secondary, children: "Output: " }), _jsxs(Text, { color: colors.white, children: [outputSize, " characters (~", estimatedTokens, " tokens sent to LLM)"] })] }))] }));
100
85
  return _jsx(ToolMessage, { message: messageContent, hideBox: true });
101
86
  });
102
87
  const formatter = (args, result) => {