@nanocollective/nanocoder 1.16.4 → 1.17.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 (211) hide show
  1. package/README.md +53 -19
  2. package/assets/nanocoder-vscode.vsix +0 -0
  3. package/dist/app.d.ts +6 -1
  4. package/dist/app.d.ts.map +1 -1
  5. package/dist/app.js +54 -18
  6. package/dist/app.js.map +1 -1
  7. package/dist/cli.js +13 -1
  8. package/dist/cli.js.map +1 -1
  9. package/dist/commands/init.d.ts.map +1 -1
  10. package/dist/commands/init.js +4 -29
  11. package/dist/commands/init.js.map +1 -1
  12. package/dist/commands/mcp.d.ts +6 -0
  13. package/dist/commands/mcp.d.ts.map +1 -1
  14. package/dist/commands/mcp.js +25 -3
  15. package/dist/commands/mcp.js.map +1 -1
  16. package/dist/components/tool-confirmation.d.ts.map +1 -1
  17. package/dist/components/tool-confirmation.js +5 -19
  18. package/dist/components/tool-confirmation.js.map +1 -1
  19. package/dist/components/vscode-extension-prompt.d.ts +12 -0
  20. package/dist/components/vscode-extension-prompt.d.ts.map +1 -0
  21. package/dist/components/vscode-extension-prompt.js +115 -0
  22. package/dist/components/vscode-extension-prompt.js.map +1 -0
  23. package/dist/config/themes.js +2 -2
  24. package/dist/hooks/useAppInitialization.d.ts +2 -0
  25. package/dist/hooks/useAppInitialization.d.ts.map +1 -1
  26. package/dist/hooks/useAppInitialization.js +55 -1
  27. package/dist/hooks/useAppInitialization.js.map +1 -1
  28. package/dist/hooks/useChatHandler.d.ts.map +1 -1
  29. package/dist/hooks/useChatHandler.js +10 -71
  30. package/dist/hooks/useChatHandler.js.map +1 -1
  31. package/dist/hooks/useDirectoryTrust.d.ts.map +1 -1
  32. package/dist/hooks/useDirectoryTrust.js +4 -4
  33. package/dist/hooks/useDirectoryTrust.js.map +1 -1
  34. package/dist/hooks/useModeHandlers.d.ts +2 -1
  35. package/dist/hooks/useModeHandlers.d.ts.map +1 -1
  36. package/dist/hooks/useModeHandlers.js +13 -1
  37. package/dist/hooks/useModeHandlers.js.map +1 -1
  38. package/dist/hooks/useToolHandler.d.ts +0 -1
  39. package/dist/hooks/useToolHandler.d.ts.map +1 -1
  40. package/dist/hooks/useToolHandler.js +15 -75
  41. package/dist/hooks/useToolHandler.js.map +1 -1
  42. package/dist/hooks/useVSCodeServer.d.ts +45 -0
  43. package/dist/hooks/useVSCodeServer.d.ts.map +1 -0
  44. package/dist/hooks/useVSCodeServer.js +144 -0
  45. package/dist/hooks/useVSCodeServer.js.map +1 -0
  46. package/dist/lsp/index.d.ts +12 -0
  47. package/dist/lsp/index.d.ts.map +1 -0
  48. package/dist/lsp/index.js +11 -0
  49. package/dist/lsp/index.js.map +1 -0
  50. package/dist/lsp/lsp-client.d.ts +78 -0
  51. package/dist/lsp/lsp-client.d.ts.map +1 -0
  52. package/dist/lsp/lsp-client.js +378 -0
  53. package/dist/lsp/lsp-client.js.map +1 -0
  54. package/dist/lsp/lsp-client.spec.d.ts +2 -0
  55. package/dist/lsp/lsp-client.spec.d.ts.map +1 -0
  56. package/dist/lsp/lsp-client.spec.js +395 -0
  57. package/dist/lsp/lsp-client.spec.js.map +1 -0
  58. package/dist/lsp/lsp-manager.d.ts +124 -0
  59. package/dist/lsp/lsp-manager.d.ts.map +1 -0
  60. package/dist/lsp/lsp-manager.js +313 -0
  61. package/dist/lsp/lsp-manager.js.map +1 -0
  62. package/dist/lsp/lsp-manager.spec.d.ts +2 -0
  63. package/dist/lsp/lsp-manager.spec.d.ts.map +1 -0
  64. package/dist/lsp/lsp-manager.spec.js +388 -0
  65. package/dist/lsp/lsp-manager.spec.js.map +1 -0
  66. package/dist/lsp/protocol.d.ts +313 -0
  67. package/dist/lsp/protocol.d.ts.map +1 -0
  68. package/dist/lsp/protocol.js +70 -0
  69. package/dist/lsp/protocol.js.map +1 -0
  70. package/dist/lsp/protocol.spec.d.ts +2 -0
  71. package/dist/lsp/protocol.spec.d.ts.map +1 -0
  72. package/dist/lsp/protocol.spec.js +406 -0
  73. package/dist/lsp/protocol.spec.js.map +1 -0
  74. package/dist/lsp/server-discovery.d.ts +35 -0
  75. package/dist/lsp/server-discovery.d.ts.map +1 -0
  76. package/dist/lsp/server-discovery.js +291 -0
  77. package/dist/lsp/server-discovery.js.map +1 -0
  78. package/dist/lsp/server-discovery.spec.d.ts +2 -0
  79. package/dist/lsp/server-discovery.spec.d.ts.map +1 -0
  80. package/dist/lsp/server-discovery.spec.js +375 -0
  81. package/dist/lsp/server-discovery.spec.js.map +1 -0
  82. package/dist/mcp/mcp-client.d.ts +18 -0
  83. package/dist/mcp/mcp-client.d.ts.map +1 -1
  84. package/dist/mcp/mcp-client.js +59 -23
  85. package/dist/mcp/mcp-client.js.map +1 -1
  86. package/dist/mcp/mcp-client.spec.d.ts +2 -0
  87. package/dist/mcp/mcp-client.spec.d.ts.map +1 -0
  88. package/dist/mcp/mcp-client.spec.js +64 -0
  89. package/dist/mcp/mcp-client.spec.js.map +1 -0
  90. package/dist/mcp/transport-factory.d.ts +39 -0
  91. package/dist/mcp/transport-factory.d.ts.map +1 -0
  92. package/dist/mcp/transport-factory.js +176 -0
  93. package/dist/mcp/transport-factory.js.map +1 -0
  94. package/dist/mcp/transport-factory.spec.d.ts +2 -0
  95. package/dist/mcp/transport-factory.spec.d.ts.map +1 -0
  96. package/dist/mcp/transport-factory.spec.js +303 -0
  97. package/dist/mcp/transport-factory.spec.js.map +1 -0
  98. package/dist/message-handler.d.ts.map +1 -1
  99. package/dist/message-handler.js +6 -11
  100. package/dist/message-handler.js.map +1 -1
  101. package/dist/models/models-dev-client.spec.js +1 -0
  102. package/dist/models/models-dev-client.spec.js.map +1 -1
  103. package/dist/tools/create-file.d.ts.map +1 -1
  104. package/dist/tools/create-file.js +37 -3
  105. package/dist/tools/create-file.js.map +1 -1
  106. package/dist/tools/delete-lines.d.ts.map +1 -1
  107. package/dist/tools/delete-lines.js +41 -1
  108. package/dist/tools/delete-lines.js.map +1 -1
  109. package/dist/tools/index.d.ts.map +1 -1
  110. package/dist/tools/index.js +2 -0
  111. package/dist/tools/index.js.map +1 -1
  112. package/dist/tools/insert-lines.d.ts.map +1 -1
  113. package/dist/tools/insert-lines.js +40 -1
  114. package/dist/tools/insert-lines.js.map +1 -1
  115. package/dist/tools/lsp-get-diagnostics.d.ts +3 -0
  116. package/dist/tools/lsp-get-diagnostics.d.ts.map +1 -0
  117. package/dist/tools/lsp-get-diagnostics.js +182 -0
  118. package/dist/tools/lsp-get-diagnostics.js.map +1 -0
  119. package/dist/tools/replace-lines.d.ts.map +1 -1
  120. package/dist/tools/replace-lines.js +44 -1
  121. package/dist/tools/replace-lines.js.map +1 -1
  122. package/dist/tools/tool-manager.d.ts +17 -0
  123. package/dist/tools/tool-manager.d.ts.map +1 -1
  124. package/dist/tools/tool-manager.js +12 -0
  125. package/dist/tools/tool-manager.js.map +1 -1
  126. package/dist/types/config.d.ts +27 -0
  127. package/dist/types/config.d.ts.map +1 -1
  128. package/dist/types/mcp.d.ts +23 -1
  129. package/dist/types/mcp.d.ts.map +1 -1
  130. package/dist/utils/error-formatter.d.ts +22 -0
  131. package/dist/utils/error-formatter.d.ts.map +1 -0
  132. package/dist/utils/error-formatter.js +27 -0
  133. package/dist/utils/error-formatter.js.map +1 -0
  134. package/dist/utils/error-formatter.spec.d.ts +2 -0
  135. package/dist/utils/error-formatter.spec.d.ts.map +1 -0
  136. package/dist/utils/error-formatter.spec.js +147 -0
  137. package/dist/utils/error-formatter.spec.js.map +1 -0
  138. package/dist/utils/fuzzy-matching.spec.js +1 -0
  139. package/dist/utils/fuzzy-matching.spec.js.map +1 -1
  140. package/dist/utils/tool-args-parser.d.ts +37 -0
  141. package/dist/utils/tool-args-parser.d.ts.map +1 -0
  142. package/dist/utils/tool-args-parser.js +50 -0
  143. package/dist/utils/tool-args-parser.js.map +1 -0
  144. package/dist/utils/tool-args-parser.spec.d.ts +2 -0
  145. package/dist/utils/tool-args-parser.spec.d.ts.map +1 -0
  146. package/dist/utils/tool-args-parser.spec.js +111 -0
  147. package/dist/utils/tool-args-parser.spec.js.map +1 -0
  148. package/dist/utils/tool-cancellation.d.ts +21 -0
  149. package/dist/utils/tool-cancellation.d.ts.map +1 -0
  150. package/dist/utils/tool-cancellation.js +27 -0
  151. package/dist/utils/tool-cancellation.js.map +1 -0
  152. package/dist/utils/tool-cancellation.spec.d.ts +2 -0
  153. package/dist/utils/tool-cancellation.spec.d.ts.map +1 -0
  154. package/dist/utils/tool-cancellation.spec.js +186 -0
  155. package/dist/utils/tool-cancellation.spec.js.map +1 -0
  156. package/dist/utils/tool-result-display.d.ts +15 -0
  157. package/dist/utils/tool-result-display.d.ts.map +1 -0
  158. package/dist/utils/tool-result-display.js +51 -0
  159. package/dist/utils/tool-result-display.js.map +1 -0
  160. package/dist/vscode/extension-installer.d.ts +24 -0
  161. package/dist/vscode/extension-installer.d.ts.map +1 -0
  162. package/dist/vscode/extension-installer.js +110 -0
  163. package/dist/vscode/extension-installer.js.map +1 -0
  164. package/dist/vscode/extension-installer.spec.d.ts +2 -0
  165. package/dist/vscode/extension-installer.spec.d.ts.map +1 -0
  166. package/dist/vscode/extension-installer.spec.js +132 -0
  167. package/dist/vscode/extension-installer.spec.js.map +1 -0
  168. package/dist/vscode/index.d.ts +14 -0
  169. package/dist/vscode/index.d.ts.map +1 -0
  170. package/dist/vscode/index.js +14 -0
  171. package/dist/vscode/index.js.map +1 -0
  172. package/dist/vscode/protocol.d.ts +101 -0
  173. package/dist/vscode/protocol.d.ts.map +1 -0
  174. package/dist/vscode/protocol.js +7 -0
  175. package/dist/vscode/protocol.js.map +1 -0
  176. package/dist/vscode/protocol.spec.d.ts +2 -0
  177. package/dist/vscode/protocol.spec.d.ts.map +1 -0
  178. package/dist/vscode/protocol.spec.js +354 -0
  179. package/dist/vscode/protocol.spec.js.map +1 -0
  180. package/dist/vscode/vscode-server.d.ts +118 -0
  181. package/dist/vscode/vscode-server.d.ts.map +1 -0
  182. package/dist/vscode/vscode-server.js +303 -0
  183. package/dist/vscode/vscode-server.js.map +1 -0
  184. package/dist/vscode/vscode-server.spec.d.ts +2 -0
  185. package/dist/vscode/vscode-server.spec.d.ts.map +1 -0
  186. package/dist/vscode/vscode-server.spec.js +487 -0
  187. package/dist/vscode/vscode-server.spec.js.map +1 -0
  188. package/dist/wizard/steps/mcp-step.d.ts.map +1 -1
  189. package/dist/wizard/steps/mcp-step.js +139 -72
  190. package/dist/wizard/steps/mcp-step.js.map +1 -1
  191. package/dist/wizard/steps/summary-step.d.ts.map +1 -1
  192. package/dist/wizard/steps/summary-step.js +58 -2
  193. package/dist/wizard/steps/summary-step.js.map +1 -1
  194. package/dist/wizard/templates/mcp-templates.d.ts +20 -2
  195. package/dist/wizard/templates/mcp-templates.d.ts.map +1 -1
  196. package/dist/wizard/templates/mcp-templates.js +351 -7
  197. package/dist/wizard/templates/mcp-templates.js.map +1 -1
  198. package/dist/wizard/templates/mcp-templates.spec.js +257 -0
  199. package/dist/wizard/templates/mcp-templates.spec.js.map +1 -1
  200. package/dist/wizard/validation-array.spec.d.ts +2 -0
  201. package/dist/wizard/validation-array.spec.d.ts.map +1 -0
  202. package/dist/wizard/validation-array.spec.js +221 -0
  203. package/dist/wizard/validation-array.spec.js.map +1 -0
  204. package/dist/wizard/validation.d.ts +26 -1
  205. package/dist/wizard/validation.d.ts.map +1 -1
  206. package/dist/wizard/validation.js +15 -2
  207. package/dist/wizard/validation.js.map +1 -1
  208. package/dist/wizard/validation.spec.js +13 -5
  209. package/dist/wizard/validation.spec.js.map +1 -1
  210. package/package.json +7 -3
  211. package/source/app/prompts/main-prompt.md +6 -0
@@ -0,0 +1,303 @@
1
+ import test from 'ava';
2
+ import { TransportFactory } from './transport-factory.js';
3
+ console.log(`\ntransport-factory.spec.ts`);
4
+ // ============================================================================
5
+ // Tests for TransportFactory
6
+ // ============================================================================
7
+ test('TransportFactory.createTransport: creates stdio transport', t => {
8
+ const server = {
9
+ name: 'test-stdio',
10
+ transport: 'stdio',
11
+ command: 'node',
12
+ args: ['server.js'],
13
+ env: { NODE_ENV: 'test' },
14
+ };
15
+ const transport = TransportFactory.createTransport(server);
16
+ t.truthy(transport);
17
+ });
18
+ test('TransportFactory.createTransport: creates websocket transport', t => {
19
+ const server = {
20
+ name: 'test-websocket',
21
+ transport: 'websocket',
22
+ url: 'ws://localhost:3000/mcp',
23
+ };
24
+ const transport = TransportFactory.createTransport(server);
25
+ t.truthy(transport);
26
+ });
27
+ test('TransportFactory.createTransport: creates http transport', t => {
28
+ const server = {
29
+ name: 'test-http',
30
+ transport: 'http',
31
+ url: 'https://example.com/mcp',
32
+ };
33
+ const transport = TransportFactory.createTransport(server);
34
+ t.truthy(transport);
35
+ });
36
+ test('TransportFactory.createTransport: throws error for unsupported transport', t => {
37
+ const server = {
38
+ name: 'test-unsupported',
39
+ transport: 'unsupported',
40
+ };
41
+ t.throws(() => {
42
+ TransportFactory.createTransport(server);
43
+ }, {
44
+ message: /Unsupported transport type: unsupported/,
45
+ });
46
+ });
47
+ test('TransportFactory.createTransport: throws error for stdio missing command', t => {
48
+ const server = {
49
+ name: 'test-stdio-no-command',
50
+ transport: 'stdio',
51
+ };
52
+ t.throws(() => {
53
+ TransportFactory.createTransport(server);
54
+ }, {
55
+ message: /missing command for stdio transport/,
56
+ });
57
+ });
58
+ test('TransportFactory.createTransport: throws error for websocket missing URL', t => {
59
+ const server = {
60
+ name: 'test-websocket-no-url',
61
+ transport: 'websocket',
62
+ };
63
+ t.throws(() => {
64
+ TransportFactory.createTransport(server);
65
+ }, {
66
+ message: /missing URL for websocket transport/,
67
+ });
68
+ });
69
+ test('TransportFactory.createTransport: throws error for http missing URL', t => {
70
+ const server = {
71
+ name: 'test-http-no-url',
72
+ transport: 'http',
73
+ };
74
+ t.throws(() => {
75
+ TransportFactory.createTransport(server);
76
+ }, {
77
+ message: /missing URL for http transport/,
78
+ });
79
+ });
80
+ test('TransportFactory.createTransport: throws error for invalid websocket URL', t => {
81
+ const server = {
82
+ name: 'test-websocket-invalid-url',
83
+ transport: 'websocket',
84
+ url: 'http://example.com/mcp', // Should be ws:// or wss://
85
+ };
86
+ t.throws(() => {
87
+ TransportFactory.createTransport(server);
88
+ }, {
89
+ message: /Invalid WebSocket URL protocol/,
90
+ });
91
+ });
92
+ test('TransportFactory.createTransport: throws error for invalid http URL', t => {
93
+ const server = {
94
+ name: 'test-http-invalid-url',
95
+ transport: 'http',
96
+ url: 'ws://example.com/mcp', // Should be http:// or https://
97
+ };
98
+ t.throws(() => {
99
+ TransportFactory.createTransport(server);
100
+ }, {
101
+ message: /Invalid HTTP URL protocol/,
102
+ });
103
+ });
104
+ // ============================================================================
105
+ // Tests for TransportFactory.validateServerConfig
106
+ // ============================================================================
107
+ test('TransportFactory.validateServerConfig: validates stdio config', t => {
108
+ const server = {
109
+ name: 'test-stdio',
110
+ transport: 'stdio',
111
+ command: 'node',
112
+ args: ['server.js'],
113
+ };
114
+ const result = TransportFactory.validateServerConfig(server);
115
+ t.true(result.valid);
116
+ t.is(result.errors.length, 0);
117
+ });
118
+ test('TransportFactory.validateServerConfig: validates websocket config', t => {
119
+ const server = {
120
+ name: 'test-websocket',
121
+ transport: 'websocket',
122
+ url: 'wss://example.com/mcp',
123
+ };
124
+ const result = TransportFactory.validateServerConfig(server);
125
+ t.true(result.valid);
126
+ t.is(result.errors.length, 0);
127
+ });
128
+ test('TransportFactory.validateServerConfig: validates http config', t => {
129
+ const server = {
130
+ name: 'test-http',
131
+ transport: 'http',
132
+ url: 'https://example.com/mcp',
133
+ };
134
+ const result = TransportFactory.validateServerConfig(server);
135
+ t.true(result.valid);
136
+ t.is(result.errors.length, 0);
137
+ });
138
+ test('TransportFactory.validateServerConfig: detects invalid stdio config', t => {
139
+ const server = {
140
+ name: 'test-stdio-invalid',
141
+ transport: 'stdio',
142
+ // Missing command
143
+ };
144
+ const result = TransportFactory.validateServerConfig(server);
145
+ t.false(result.valid);
146
+ t.true(result.errors.some((error) => error.includes('stdio transport requires a command')));
147
+ });
148
+ test('TransportFactory.validateServerConfig: detects invalid websocket config', t => {
149
+ const server = {
150
+ name: 'test-websocket-invalid',
151
+ transport: 'websocket',
152
+ url: 'http://example.com/mcp', // Invalid protocol
153
+ };
154
+ const result = TransportFactory.validateServerConfig(server);
155
+ t.false(result.valid);
156
+ t.true(result.errors.some((error) => error.includes('websocket URL must use ws:// or wss:// protocol')));
157
+ });
158
+ test('TransportFactory.validateServerConfig: detects invalid http config', t => {
159
+ const server = {
160
+ name: 'test-http-invalid',
161
+ transport: 'http',
162
+ url: 'ws://example.com/mcp', // Invalid protocol
163
+ };
164
+ const result = TransportFactory.validateServerConfig(server);
165
+ t.false(result.valid);
166
+ t.true(result.errors.some((error) => error.includes('http URL must use http:// or https:// protocol')));
167
+ });
168
+ // ============================================================================
169
+ // Tests for TransportFactory.getTransportTips
170
+ // ============================================================================
171
+ test('TransportFactory.getTransportTips: returns stdio tips', t => {
172
+ const tips = TransportFactory.getTransportTips('stdio');
173
+ t.true(tips.length > 0);
174
+ t.true(tips.some((tip) => tip.includes('Stdio transport')));
175
+ });
176
+ test('TransportFactory.getTransportTips: returns websocket tips', t => {
177
+ const tips = TransportFactory.getTransportTips('websocket');
178
+ t.true(tips.length > 0);
179
+ t.true(tips.some((tip) => tip.includes('WebSocket')));
180
+ });
181
+ test('TransportFactory.getTransportTips: returns http tips', t => {
182
+ const tips = TransportFactory.getTransportTips('http');
183
+ t.true(tips.length > 0);
184
+ t.true(tips.some((tip) => tip.includes('HTTP')));
185
+ });
186
+ test('TransportFactory.getTransportTips: handles unknown transport', t => {
187
+ const tips = TransportFactory.getTransportTips('unknown');
188
+ t.is(tips.length, 1);
189
+ t.is(tips[0], 'Unknown transport type');
190
+ });
191
+ // ============================================================================
192
+ // Tests for Header Warning Functionality (New Feature)
193
+ // ============================================================================
194
+ test('TransportFactory.createTransport: warns about auth config for websocket transport', t => {
195
+ // Capture console.warn calls
196
+ const originalWarn = console.warn;
197
+ let warningMessage = '';
198
+ console.warn = (message) => {
199
+ warningMessage = message;
200
+ };
201
+ try {
202
+ const server = {
203
+ name: 'test-websocket-with-auth',
204
+ transport: 'websocket',
205
+ url: 'ws://localhost:3000/mcp',
206
+ auth: {
207
+ type: 'bearer',
208
+ token: 'token123',
209
+ },
210
+ };
211
+ const transport = TransportFactory.createTransport(server);
212
+ t.truthy(transport);
213
+ t.true(warningMessage.includes('auth config'));
214
+ t.true(warningMessage.includes('WebSocket transport'));
215
+ }
216
+ finally {
217
+ // Restore original console.warn
218
+ console.warn = originalWarn;
219
+ }
220
+ });
221
+ test('TransportFactory.createTransport: warns about headers for http transport', t => {
222
+ // Capture console.warn calls
223
+ const originalWarn = console.warn;
224
+ let warningMessage = '';
225
+ console.warn = (message) => {
226
+ warningMessage = message;
227
+ };
228
+ try {
229
+ const server = {
230
+ name: 'test-http-with-headers',
231
+ transport: 'http',
232
+ url: 'https://example.com/mcp',
233
+ headers: {
234
+ Authorization: 'Bearer token123',
235
+ },
236
+ };
237
+ const transport = TransportFactory.createTransport(server);
238
+ t.truthy(transport);
239
+ t.true(warningMessage.includes('custom headers'));
240
+ t.true(warningMessage.includes('HTTP transport'));
241
+ t.true(warningMessage.includes('Authorization'));
242
+ }
243
+ finally {
244
+ // Restore original console.warn
245
+ console.warn = originalWarn;
246
+ }
247
+ });
248
+ test('TransportFactory.createTransport: warns about auth config for http transport', t => {
249
+ // Capture console.warn calls
250
+ const originalWarn = console.warn;
251
+ let warningMessage = '';
252
+ console.warn = (message) => {
253
+ warningMessage = message;
254
+ };
255
+ try {
256
+ const server = {
257
+ name: 'test-http-with-auth',
258
+ transport: 'http',
259
+ url: 'https://example.com/mcp',
260
+ auth: {
261
+ type: 'bearer',
262
+ token: 'token123',
263
+ },
264
+ };
265
+ const transport = TransportFactory.createTransport(server);
266
+ t.truthy(transport);
267
+ t.true(warningMessage.includes('auth config'));
268
+ t.true(warningMessage.includes('HTTP transport'));
269
+ }
270
+ finally {
271
+ // Restore original console.warn
272
+ console.warn = originalWarn;
273
+ }
274
+ });
275
+ test('TransportFactory.validateServerConfig: warns about headers for http transport', t => {
276
+ // Capture console.warn calls
277
+ const originalWarn = console.warn;
278
+ let warningMessage = '';
279
+ console.warn = (message) => {
280
+ warningMessage = message;
281
+ };
282
+ try {
283
+ const server = {
284
+ name: 'test-http-with-headers-validation',
285
+ transport: 'http',
286
+ url: 'https://example.com/mcp',
287
+ headers: {
288
+ 'Custom-Header': 'value',
289
+ },
290
+ };
291
+ const result = TransportFactory.validateServerConfig(server);
292
+ t.true(result.valid);
293
+ t.is(result.errors.length, 0);
294
+ t.true(warningMessage.includes('custom headers'));
295
+ t.true(warningMessage.includes('HTTP transport'));
296
+ t.true(warningMessage.includes('Custom-Header'));
297
+ }
298
+ finally {
299
+ // Restore original console.warn
300
+ console.warn = originalWarn;
301
+ }
302
+ });
303
+ //# sourceMappingURL=transport-factory.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-factory.spec.js","sourceRoot":"","sources":["../../source/mcp/transport-factory.spec.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,CAgD5E"}
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;AAUtD,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,CAyC5E"}
@@ -1,3 +1,5 @@
1
+ import { formatError } from './utils/error-formatter.js';
2
+ import { parseToolArguments } from './utils/tool-args-parser.js';
1
3
  // This will be set by the ChatSession
2
4
  let toolRegistryGetter = null;
3
5
  // This will be set by the App
@@ -26,16 +28,9 @@ export async function processToolUse(toolCall) {
26
28
  throw new Error(`Error: Unknown tool: ${toolCall.function.name}`);
27
29
  }
28
30
  try {
29
- // Parse arguments if they're a JSON string
30
- let parsedArgs = toolCall.function.arguments;
31
- if (typeof parsedArgs === 'string') {
32
- try {
33
- parsedArgs = JSON.parse(parsedArgs);
34
- }
35
- catch (e) {
36
- throw new Error(`Error: Invalid tool arguments: ${e.message}`);
37
- }
38
- }
31
+ // Parse arguments - use strict mode to throw error on parse failure
32
+ // Strict mode is required here to catch malformed arguments before tool execution
33
+ const parsedArgs = parseToolArguments(toolCall.function.arguments, { strict: true });
39
34
  const result = await handler(parsedArgs);
40
35
  return {
41
36
  tool_call_id: toolCall.id,
@@ -46,7 +41,7 @@ export async function processToolUse(toolCall) {
46
41
  }
47
42
  catch (error) {
48
43
  // Convert exceptions to error messages that the model can see and correct
49
- const errorMessage = `Error: ${error instanceof Error ? error.message : String(error)}`;
44
+ const errorMessage = `Error: ${formatError(error)}`;
50
45
  return {
51
46
  tool_call_id: toolCall.id,
52
47
  role: 'tool',
@@ -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,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
+ {"version":3,"file":"message-handler.js","sourceRoot":"","sources":["../source/message-handler.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,WAAW,EAAC,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAAC,kBAAkB,EAAC,MAAM,0BAA0B,CAAC;AAE5D,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,oEAAoE;QACpE,kFAAkF;QAClF,MAAM,UAAU,GAAG,kBAAkB,CACpC,QAAQ,CAAC,QAAQ,CAAC,SAAS,EAC3B,EAAC,MAAM,EAAE,IAAI,EAAC,CACd,CAAC;QACF,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,UAAU,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACpD,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,6 @@
1
1
  import test from 'ava';
2
2
  import { getModelContextLimit } from './models-dev-client.js';
3
+ console.log(`\nmodels-dev-client.spec.ts`);
3
4
  /**
4
5
  * Tests for models-dev-client.ts
5
6
  *
@@ -1 +1 @@
1
- {"version":3,"file":"models-dev-client.spec.js","sourceRoot":"","sources":["../../source/models/models-dev-client.spec.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,KAAK,CAAC;AACvB,OAAO,EAAC,oBAAoB,EAAC,MAAM,wBAAwB,CAAC;AAE5D;;;;;;;;;GASG;AAEH,+EAA+E;AAC/E,+BAA+B;AAC/B,+EAA+E;AAE/E,IAAI,CAAC,6DAA6D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC7E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAC9D,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,8DAA8D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC9E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,oBAAoB,CAAC,CAAC;IAC/D,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClF,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IACnE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oEAAoE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpF,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IACrE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC7D,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACzE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,kBAAkB,CAAC,CAAC;IAC7D,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClF,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,wBAAwB,CAAC,CAAC;IACnE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,8CAA8C;AAC9C,+EAA+E;AAE/E,IAAI,CAAC,oDAAoD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACxE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACzE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAChE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAChE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,gDAAgD;AAChD,+EAA+E;AAE/E,IAAI,CAAC,kDAAkD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACrE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACzD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACxE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,6CAA6C;AAC7C,+EAA+E;AAE/E,IAAI,CAAC,+CAA+C,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC/D,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAChE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAC;IACpD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACtE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACjE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACrE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACrE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,8CAA8C;AAC9C,+EAA+E;AAE/E,IAAI,CAAC,+CAA+C,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC/D,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAClD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kDAAkD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,UAAU,CAAC,CAAC;IACrD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAChE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACnD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mDAAmD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oDAAoD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACpE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAC;IACvD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,8CAA8C;AAC9C,+EAA+E;AAE/E,IAAI,CAAC,qDAAqD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACrE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0DAA0D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC1E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,yDAAyD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACzE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC3D,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAC9D,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gDAAgD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAChE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,MAAM,CAAC,CAAC;IACjD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qDAAqD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACrE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,WAAW,CAAC,CAAC;IACtD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,uDAAuD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,iDAAiD;AACjD,+EAA+E;AAE/E,IAAI,CAAC,kEAAkE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClF,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,2BAA2B,CAAC,CAAC;IACtE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iEAAiE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACjF,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,0BAA0B,CAAC,CAAC;IACrE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,aAAa;AACb,+EAA+E;AAE/E,IAAI,CAAC,kEAAkE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClF,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAChE,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,6CAA6C,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC7D,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,EAAE,CAAC,CAAC;IAC7C,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,2DAA2D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC3E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4DAA4D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC5E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,aAAa,CAAC,CAAC;IACxD,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,4CAA4C;AAC5C,+EAA+E;AAE/E,IAAI,CAAC,uEAAuE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvF,0EAA0E;IAC1E,2DAA2D;IAC3D,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAElD,gEAAgE;IAChE,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,kEAAkE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClF,yEAAyE;IACzE,8DAA8D;IAC9D,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,yBAAyB,CAAC,CAAC;IAEpE,2CAA2C;IAC3C,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC;AAEH,+EAA+E;AAC/E,4BAA4B;AAC5B,+EAA+E;AAE/E,IAAI,CAAC,yEAAyE,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACzF,8CAA8C;IAC9C,sEAAsE;IACtE,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,mBAAmB,CAAC,CAAC;IAC9D,CAAC,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACrB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,+DAA+D,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC/E,iDAAiD;IACjD,2EAA2E;IAC3E,MAAM,KAAK,GAAG,MAAM,oBAAoB,CAAC,qBAAqB,CAAC,CAAC;IAEhE,qCAAqC;IACrC,CAAC,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AACrD,CAAC,CAAC,CAAC"}
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":"create-file.d.ts","sourceRoot":"","sources":["../../source/tools/create-file.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,eAAe,CAAC;AA0LlD,eAAO,MAAM,cAAc,EAAE,cAM5B,CAAC"}
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,7 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { resolve, dirname } from 'node:path';
3
- import { writeFile, access } from 'node:fs/promises';
4
- import { constants } from 'node:fs';
3
+ import { writeFile, access, readFile } from 'node:fs/promises';
4
+ import { constants, existsSync } from 'node:fs';
5
5
  import { highlight } from 'cli-highlight';
6
6
  import React from 'react';
7
7
  import { Text, Box } from 'ink';
@@ -9,6 +9,7 @@ import { tool, jsonSchema } from '../types/core.js';
9
9
  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
+ import { isVSCodeConnected, sendFileChangeToVSCode, closeDiffInVSCode, } from '../vscode/index.js';
12
13
  // Handler function - used by both Nanocoder and AI SDK tool
13
14
  const executeCreateFile = async (args) => {
14
15
  const absPath = resolve(args.path);
@@ -61,7 +62,40 @@ const CreateFileFormatter = React.memo(({ args }) => {
61
62
  })] })) : (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.secondary, children: "File will be empty" }) }))] }));
62
63
  return _jsx(ToolMessage, { message: messageContent, hideBox: true });
63
64
  });
64
- const formatter = (args) => {
65
+ // Track VS Code change IDs for cleanup
66
+ const vscodeChangeIds = new Map();
67
+ const formatter = async (args, result) => {
68
+ const path = args.path || args.file_path || '';
69
+ const absPath = resolve(path);
70
+ // Send diff to VS Code during preview phase (before execution)
71
+ if (result === undefined && isVSCodeConnected()) {
72
+ const content = args.content || '';
73
+ // Get original content if file exists
74
+ let originalContent = '';
75
+ if (existsSync(absPath)) {
76
+ try {
77
+ originalContent = await readFile(absPath, 'utf-8');
78
+ }
79
+ catch {
80
+ // File might exist but not be readable
81
+ }
82
+ }
83
+ const changeId = sendFileChangeToVSCode(absPath, originalContent, content, 'create_file', {
84
+ path,
85
+ content,
86
+ });
87
+ if (changeId) {
88
+ vscodeChangeIds.set(absPath, changeId);
89
+ }
90
+ }
91
+ else if (result !== undefined && isVSCodeConnected()) {
92
+ // Tool was executed (confirmed or rejected), close the diff
93
+ const changeId = vscodeChangeIds.get(absPath);
94
+ if (changeId) {
95
+ closeDiffInVSCode(changeId);
96
+ vscodeChangeIds.delete(absPath);
97
+ }
98
+ }
65
99
  return _jsx(CreateFileFormatter, { args: args });
66
100
  };
67
101
  const validator = async (args) => {
@@ -1 +1 @@
1
- {"version":3,"file":"create-file.js","sourceRoot":"","sources":["../../source/tools/create-file.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"create-file.js","sourceRoot":"","sources":["../../source/tools/create-file.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"delete-lines.d.ts","sourceRoot":"","sources":["../../source/tools/delete-lines.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,cAAc,EAAS,MAAM,eAAe,CAAC;AAqc1D,eAAO,MAAM,eAAe,EAAE,cAM7B,CAAC"}
1
+ {"version":3,"file":"delete-lines.d.ts","sourceRoot":"","sources":["../../source/tools/delete-lines.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAC,cAAc,EAAS,MAAM,eAAe,CAAC;AA2f1D,eAAO,MAAM,eAAe,EAAE,cAM7B,CAAC"}
@@ -9,6 +9,7 @@ import { tool, jsonSchema } from '../types/core.js';
9
9
  import { getColors } from '../config/index.js';
10
10
  import { getLanguageFromExtension } from '../utils/programming-language-helper.js';
11
11
  import ToolMessage from '../components/tool-message.js';
12
+ import { isVSCodeConnected, sendFileChangeToVSCode, closeDiffInVSCode, } from '../vscode/index.js';
12
13
  const executeDeleteLines = async (args) => {
13
14
  const { path, line_number, end_line } = args;
14
15
  // Validate line numbers
@@ -33,8 +34,9 @@ const executeDeleteLines = async (args) => {
33
34
  const linesToRemove = endLine - line_number + 1;
34
35
  const newLines = [...lines];
35
36
  newLines.splice(line_number - 1, linesToRemove);
36
- // Write updated content
37
+ // Build new content
37
38
  const newContent = newLines.join('\n');
39
+ // Write updated content
38
40
  await writeFile(absPath, newContent, 'utf-8');
39
41
  // Generate full file contents to show the model the current file state
40
42
  let fileContext = '\n\nUpdated file contents:\n';
@@ -205,8 +207,46 @@ async function formatDeleteLinesPreview(args, result, colors) {
205
207
  return _jsx(ToolMessage, { message: errorContent, hideBox: true });
206
208
  }
207
209
  }
210
+ // Track VS Code change IDs for cleanup
211
+ const vscodeChangeIds = new Map();
208
212
  const formatter = async (args, result) => {
209
213
  const colors = getColors();
214
+ const { path } = args;
215
+ const absPath = resolve(path);
216
+ // Send diff to VS Code during preview phase (before execution)
217
+ if (result === undefined && isVSCodeConnected()) {
218
+ const { line_number, end_line } = args;
219
+ try {
220
+ const fileContent = await readFile(absPath, 'utf-8');
221
+ const lines = fileContent.split('\n');
222
+ const lineNumber = Number(line_number);
223
+ const endLine = Number(end_line) || lineNumber;
224
+ // Build new content for diff preview
225
+ const linesToRemove = endLine - lineNumber + 1;
226
+ const newLines = [...lines];
227
+ newLines.splice(lineNumber - 1, linesToRemove);
228
+ const newContent = newLines.join('\n');
229
+ const changeId = sendFileChangeToVSCode(absPath, fileContent, newContent, 'delete_lines', {
230
+ path,
231
+ line_number,
232
+ end_line: endLine,
233
+ });
234
+ if (changeId) {
235
+ vscodeChangeIds.set(absPath, changeId);
236
+ }
237
+ }
238
+ catch {
239
+ // Silently ignore errors sending to VS Code
240
+ }
241
+ }
242
+ else if (result !== undefined && isVSCodeConnected()) {
243
+ // Tool was executed (confirmed or rejected), close the diff
244
+ const changeId = vscodeChangeIds.get(absPath);
245
+ if (changeId) {
246
+ closeDiffInVSCode(changeId);
247
+ vscodeChangeIds.delete(absPath);
248
+ }
249
+ }
210
250
  const preview = await formatDeleteLinesPreview(args, result, colors);
211
251
  return _jsx(DeleteLinesFormatter, { preview: preview });
212
252
  };