@nanocollective/nanocoder 1.19.0 → 1.19.2

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 (97) hide show
  1. package/assets/nanocoder-vscode.vsix +0 -0
  2. package/dist/ai-sdk-client-preparestep.spec.d.ts +2 -0
  3. package/dist/ai-sdk-client-preparestep.spec.d.ts.map +1 -0
  4. package/dist/ai-sdk-client-preparestep.spec.js +246 -0
  5. package/dist/ai-sdk-client-preparestep.spec.js.map +1 -0
  6. package/dist/ai-sdk-client.d.ts.map +1 -1
  7. package/dist/ai-sdk-client.js +108 -16
  8. package/dist/ai-sdk-client.js.map +1 -1
  9. package/dist/app.d.ts.map +1 -1
  10. package/dist/app.js +6 -6
  11. package/dist/app.js.map +1 -1
  12. package/dist/components/development-mode-indicator.d.ts +15 -0
  13. package/dist/components/development-mode-indicator.d.ts.map +1 -0
  14. package/dist/components/development-mode-indicator.js +18 -0
  15. package/dist/components/development-mode-indicator.js.map +1 -0
  16. package/dist/components/user-input.d.ts +1 -1
  17. package/dist/components/user-input.d.ts.map +1 -1
  18. package/dist/components/user-input.js +7 -7
  19. package/dist/components/user-input.js.map +1 -1
  20. package/dist/hooks/useAppState.d.ts +12 -1
  21. package/dist/hooks/useAppState.d.ts.map +1 -1
  22. package/dist/hooks/useAppState.js.map +1 -1
  23. package/dist/hooks/useChatHandler.d.ts +2 -1
  24. package/dist/hooks/useChatHandler.d.ts.map +1 -1
  25. package/dist/hooks/useChatHandler.js +61 -58
  26. package/dist/hooks/useChatHandler.js.map +1 -1
  27. package/dist/hooks/useToolHandler.d.ts +1 -1
  28. package/dist/hooks/useToolHandler.d.ts.map +1 -1
  29. package/dist/hooks/useToolHandler.js +18 -48
  30. package/dist/hooks/useToolHandler.js.map +1 -1
  31. package/dist/hooks/useVSCodeServer.d.ts +1 -1
  32. package/dist/hooks/useVSCodeServer.d.ts.map +1 -1
  33. package/dist/hooks/useVSCodeServer.js +2 -2
  34. package/dist/hooks/useVSCodeServer.js.map +1 -1
  35. package/dist/tools/execute-function.spec.js +1 -49
  36. package/dist/tools/execute-function.spec.js.map +1 -1
  37. package/dist/tools/index.d.ts.map +1 -1
  38. package/dist/tools/index.js +4 -8
  39. package/dist/tools/index.js.map +1 -1
  40. package/dist/tools/needs-approval.spec.js +22 -83
  41. package/dist/tools/needs-approval.spec.js.map +1 -1
  42. package/dist/tools/read-file.d.ts.map +1 -1
  43. package/dist/tools/read-file.js +5 -3
  44. package/dist/tools/read-file.js.map +1 -1
  45. package/dist/tools/string-replace.d.ts +19 -0
  46. package/dist/tools/string-replace.d.ts.map +1 -0
  47. package/dist/tools/string-replace.js +279 -0
  48. package/dist/tools/string-replace.js.map +1 -0
  49. package/dist/tools/string-replace.spec.d.ts +2 -0
  50. package/dist/tools/string-replace.spec.d.ts.map +1 -0
  51. package/dist/tools/string-replace.spec.js +315 -0
  52. package/dist/tools/string-replace.spec.js.map +1 -0
  53. package/dist/tools/{create-file.d.ts → write-file.d.ts} +5 -5
  54. package/dist/tools/write-file.d.ts.map +1 -0
  55. package/dist/tools/{create-file.js → write-file.js} +34 -39
  56. package/dist/tools/write-file.js.map +1 -0
  57. package/dist/tools/write-file.spec.d.ts +2 -0
  58. package/dist/tools/write-file.spec.d.ts.map +1 -0
  59. package/dist/tools/write-file.spec.js +263 -0
  60. package/dist/tools/write-file.spec.js.map +1 -0
  61. package/dist/types/core.d.ts +1 -0
  62. package/dist/types/core.d.ts.map +1 -1
  63. package/dist/types/core.js.map +1 -1
  64. package/dist/utils/message-builder.d.ts +48 -0
  65. package/dist/utils/message-builder.d.ts.map +1 -0
  66. package/dist/utils/message-builder.js +88 -0
  67. package/dist/utils/message-builder.js.map +1 -0
  68. package/dist/utils/message-builder.spec.d.ts +2 -0
  69. package/dist/utils/message-builder.spec.d.ts.map +1 -0
  70. package/dist/utils/message-builder.spec.js +142 -0
  71. package/dist/utils/message-builder.spec.js.map +1 -0
  72. package/dist/vscode/protocol.d.ts +1 -1
  73. package/dist/vscode/protocol.d.ts.map +1 -1
  74. package/dist/vscode/protocol.spec.js +5 -5
  75. package/dist/vscode/protocol.spec.js.map +1 -1
  76. package/dist/vscode/vscode-server.d.ts +1 -1
  77. package/dist/vscode/vscode-server.d.ts.map +1 -1
  78. package/dist/vscode/vscode-server.js +2 -2
  79. package/dist/vscode/vscode-server.js.map +1 -1
  80. package/dist/vscode/vscode-server.spec.js +2 -2
  81. package/dist/vscode/vscode-server.spec.js.map +1 -1
  82. package/package.json +9 -1
  83. package/source/app/prompts/main-prompt.md +84 -530
  84. package/dist/tools/create-file.d.ts.map +0 -1
  85. package/dist/tools/create-file.js.map +0 -1
  86. package/dist/tools/delete-lines.d.ts +0 -19
  87. package/dist/tools/delete-lines.d.ts.map +0 -1
  88. package/dist/tools/delete-lines.js +0 -328
  89. package/dist/tools/delete-lines.js.map +0 -1
  90. package/dist/tools/insert-lines.d.ts +0 -19
  91. package/dist/tools/insert-lines.d.ts.map +0 -1
  92. package/dist/tools/insert-lines.js +0 -275
  93. package/dist/tools/insert-lines.js.map +0 -1
  94. package/dist/tools/replace-lines.d.ts +0 -20
  95. package/dist/tools/replace-lines.d.ts.map +0 -1
  96. package/dist/tools/replace-lines.js +0 -330
  97. package/dist/tools/replace-lines.js.map +0 -1
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
- interface DeleteLinesArgs {
3
- path: string;
4
- line_number: number;
5
- end_line?: number;
6
- }
7
- export declare const deleteLinesTool: {
8
- name: "delete_lines";
9
- tool: import("ai").Tool<DeleteLinesArgs, string>;
10
- formatter: (args: DeleteLinesArgs, result?: string) => Promise<React.ReactElement>;
11
- validator: (args: DeleteLinesArgs) => Promise<{
12
- valid: true;
13
- } | {
14
- valid: false;
15
- error: string;
16
- }>;
17
- };
18
- export {};
19
- //# sourceMappingURL=delete-lines.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete-lines.d.ts","sourceRoot":"","sources":["../../source/tools/delete-lines.tsx"],"names":[],"mappings":"AAgBA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,eAAe;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAifD,eAAO,MAAM,eAAe;;;sBA1HrB,eAAe,WACZ,MAAM,KACb,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;sBAmDvB,eAAe,KACnB,OAAO,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAC,GAAG;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC;CAyExD,CAAC"}
@@ -1,328 +0,0 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import { constants } from 'node:fs';
3
- import { access, readFile, writeFile } from 'node:fs/promises';
4
- import { resolve } from 'node:path';
5
- import ToolMessage from '../components/tool-message.js';
6
- import { getColors } from '../config/index.js';
7
- import { getCurrentMode } from '../context/mode-context.js';
8
- import { jsonSchema, tool } from '../types/core.js';
9
- import { getLanguageFromExtension } from '../utils/programming-language-helper.js';
10
- import { closeDiffInVSCode, isVSCodeConnected, sendFileChangeToVSCode, } from '../vscode/index.js';
11
- import { highlight } from 'cli-highlight';
12
- import { Box, Text } from 'ink';
13
- import React from 'react';
14
- const executeDeleteLines = async (args) => {
15
- const { path, line_number, end_line } = args;
16
- // Validate line numbers
17
- if (!line_number || line_number < 1) {
18
- throw new Error(`Invalid line_number: ${line_number}. Must be a positive integer.`);
19
- }
20
- const endLine = end_line ?? line_number;
21
- if (endLine < line_number) {
22
- throw new Error(`end_line (${endLine}) cannot be less than line_number (${line_number}).`);
23
- }
24
- const absPath = resolve(path);
25
- const fileContent = await readFile(absPath, 'utf-8');
26
- const lines = fileContent.split('\n');
27
- // Validate line range is within file bounds
28
- if (line_number > lines.length) {
29
- throw new Error(`Line number ${line_number} is out of range (file has ${lines.length} lines)`);
30
- }
31
- if (endLine > lines.length) {
32
- throw new Error(`End line ${endLine} is out of range (file has ${lines.length} lines)`);
33
- }
34
- // Delete lines
35
- const linesToRemove = endLine - line_number + 1;
36
- const newLines = [...lines];
37
- newLines.splice(line_number - 1, linesToRemove);
38
- // Build new content
39
- const newContent = newLines.join('\n');
40
- // Write updated content
41
- await writeFile(absPath, newContent, 'utf-8');
42
- // Generate full file contents to show the model the current file state
43
- let fileContext = '\n\nUpdated file contents:\n';
44
- for (let i = 0; i < newLines.length; i++) {
45
- const lineNumStr = String(i + 1).padStart(4, ' ');
46
- const line = newLines[i] || '';
47
- fileContext += `${lineNumStr}: ${line}\n`;
48
- }
49
- // Add a note about the deletion
50
- fileContext += `\n(Deleted ${linesToRemove} line${linesToRemove > 1 ? 's' : ''} that were previously at line${linesToRemove > 1 ? 's' : ''} ${line_number}${endLine !== line_number ? `-${endLine}` : ''})\n`;
51
- const rangeDesc = line_number === endLine
52
- ? `line ${line_number}`
53
- : `lines ${line_number}-${endLine}`;
54
- return `Successfully deleted ${rangeDesc}.${fileContext}`;
55
- };
56
- const deleteLinesCoreTool = tool({
57
- description: 'Delete a line or range of lines from a file',
58
- inputSchema: jsonSchema({
59
- type: 'object',
60
- properties: {
61
- path: {
62
- type: 'string',
63
- description: 'The path to the file to edit.',
64
- },
65
- line_number: {
66
- type: 'number',
67
- description: 'The starting line number (1-based) to delete.',
68
- },
69
- end_line: {
70
- type: 'number',
71
- description: 'The ending line number (1-based) for range deletion. If omitted, only line_number is deleted.',
72
- },
73
- },
74
- required: ['path', 'line_number'],
75
- }),
76
- // Medium risk: file write operation, requires approval except in auto-accept mode
77
- needsApproval: () => {
78
- const mode = getCurrentMode();
79
- return mode !== 'auto-accept'; // true in normal/plan, false in auto-accept
80
- },
81
- execute: async (args, _options) => {
82
- return await executeDeleteLines(args);
83
- },
84
- });
85
- const DeleteLinesFormatter = React.memo(({ preview }) => {
86
- return preview;
87
- });
88
- async function formatDeleteLinesPreview(args, result, colors) {
89
- const themeColors = colors || getColors();
90
- const { path, line_number, end_line } = args;
91
- const lineNumber = Number(line_number);
92
- const endLine = Number(end_line) || lineNumber;
93
- // Validate line numbers
94
- if (!lineNumber || lineNumber < 1) {
95
- throw new Error(`Invalid line_number: ${line_number}. Must be a positive integer.`);
96
- }
97
- if (endLine < lineNumber) {
98
- throw new Error(`end_line (${endLine}) cannot be less than line_number (${lineNumber}).`);
99
- }
100
- const isResult = result !== undefined;
101
- const displayTitle = isResult ? '✓' : '⚒';
102
- try {
103
- const absPath = resolve(path);
104
- const fileContent = await readFile(absPath, 'utf-8');
105
- const lines = fileContent.split('\n');
106
- const ext = path.split('.').pop()?.toLowerCase() ?? '';
107
- const language = getLanguageFromExtension(ext);
108
- // For results mode, show the same diff format as preview mode
109
- // but with a completed status message
110
- if (isResult) {
111
- // In result mode, we just show the range that was deleted and the surrounding context
112
- // The file has already been updated, so we show the final state
113
- const linesToRemove = endLine - lineNumber + 1;
114
- const contextLines = 3;
115
- // Since the lines were deleted, we show context around where they used to be
116
- const showStart = Math.max(0, lineNumber - 1 - contextLines);
117
- const showEnd = Math.min(lines.length - 1, lineNumber - 1 + contextLines);
118
- const contextElements = [];
119
- // Show context before the deletion point
120
- for (let i = showStart; i < Math.min(lineNumber - 1, lines.length); i++) {
121
- const lineNumStr = String(i + 1).padStart(4, ' ');
122
- const line = lines[i] || '';
123
- let displayLine;
124
- try {
125
- displayLine = highlight(line, { language, theme: 'default' });
126
- }
127
- catch {
128
- displayLine = line;
129
- }
130
- contextElements.push(_jsxs(Text, { color: themeColors.secondary, children: [lineNumStr, " ", displayLine] }, `before-${i}`));
131
- }
132
- // Show a marker indicating where the deletion occurred
133
- const deletionLineNum = lineNumber;
134
- contextElements.push(_jsxs(Text, { backgroundColor: themeColors.diffRemoved, color: themeColors.diffRemovedText, wrap: "wrap", children: [String(deletionLineNum).padStart(4, ' '), " - [Deleted ", linesToRemove, ' ', "line", linesToRemove > 1 ? 's' : '', "]"] }, "deletion-marker"));
135
- // Show context after the deletion point (adjust line numbers)
136
- for (let i = lineNumber - 1; i <= Math.min(showEnd, lines.length - 1); i++) {
137
- const displayLineNum = i + linesToRemove + 1;
138
- const lineNumStr = String(displayLineNum).padStart(4, ' ');
139
- const line = lines[i] || '';
140
- let displayLine;
141
- try {
142
- displayLine = highlight(line, { language, theme: 'default' });
143
- }
144
- catch {
145
- displayLine = line;
146
- }
147
- contextElements.push(_jsxs(Text, { color: themeColors.secondary, children: [lineNumStr, " ", displayLine] }, `after-${i}`));
148
- }
149
- const rangeDesc = lineNumber === endLine
150
- ? `line ${lineNumber}`
151
- : `lines ${lineNumber}-${endLine}`;
152
- const messageContent = (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: themeColors.tool, children: [displayTitle, " delete_lines"] }), _jsxs(Box, { children: [_jsx(Text, { color: themeColors.secondary, children: "Path: " }), _jsx(Text, { color: themeColors.primary, children: path })] }), _jsxs(Box, { children: [_jsx(Text, { color: themeColors.secondary, children: "Deleted: " }), _jsx(Text, { color: themeColors.white, children: rangeDesc })] }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: _jsx(Text, { color: themeColors.success, children: "\u2713 Delete completed successfully" }) }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { color: themeColors.secondary, children: "Result:" }), contextElements] })] }));
153
- return _jsx(ToolMessage, { message: messageContent, hideBox: true });
154
- }
155
- // Preview mode - show what will be deleted
156
- if (lineNumber > lines.length || endLine > lines.length) {
157
- const maxLine = Math.max(lineNumber, endLine);
158
- throw new Error(`Line ${maxLine} is out of range (file has ${lines.length} lines)`);
159
- }
160
- const linesToRemove = endLine - lineNumber + 1;
161
- const contextLines = 3;
162
- const showStart = Math.max(0, lineNumber - 1 - contextLines);
163
- const showEnd = Math.min(lines.length - 1, endLine - 1 + contextLines);
164
- const contextBefore = [];
165
- const deletedLines = [];
166
- const contextAfter = [];
167
- // Show context before
168
- for (let i = showStart; i < lineNumber - 1; i++) {
169
- const lineNumStr = String(i + 1).padStart(4, ' ');
170
- const line = lines[i] || '';
171
- let displayLine;
172
- try {
173
- displayLine = highlight(line, { language, theme: 'default' });
174
- }
175
- catch {
176
- displayLine = line;
177
- }
178
- contextBefore.push(_jsxs(Text, { color: themeColors.secondary, children: [lineNumStr, " ", displayLine] }, `before-${i}`));
179
- }
180
- // Show deleted lines
181
- for (let i = lineNumber - 1; i < endLine; i++) {
182
- const lineNumStr = String(i + 1).padStart(4, ' ');
183
- const line = lines[i] || '';
184
- let displayLine;
185
- try {
186
- displayLine = highlight(line, { language, theme: 'default' });
187
- }
188
- catch {
189
- displayLine = line;
190
- }
191
- deletedLines.push(_jsxs(Text, { backgroundColor: themeColors.diffRemoved, color: themeColors.diffRemovedText, wrap: "wrap", children: [lineNumStr, " - ", displayLine] }, `delete-${i}`));
192
- }
193
- // Show context after
194
- for (let i = endLine; i <= showEnd; i++) {
195
- const lineNumStr = String(i - linesToRemove + 1).padStart(4, ' ');
196
- const line = lines[i] || '';
197
- let displayLine;
198
- try {
199
- displayLine = highlight(line, { language, theme: 'default' });
200
- }
201
- catch {
202
- displayLine = line;
203
- }
204
- contextAfter.push(_jsxs(Text, { color: themeColors.secondary, children: [lineNumStr, " ", displayLine] }, `after-${i}`));
205
- }
206
- const rangeDesc = lineNumber === endLine
207
- ? `line ${lineNumber}`
208
- : `lines ${lineNumber}-${endLine}`;
209
- const messageContent = (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { color: themeColors.tool, children: [displayTitle, " delete_lines"] }), _jsxs(Box, { children: [_jsx(Text, { color: themeColors.secondary, children: "Path: " }), _jsx(Text, { color: themeColors.primary, children: path })] }), _jsxs(Box, { children: [_jsx(Text, { color: themeColors.secondary, children: "Range: " }), _jsx(Text, { color: themeColors.white, children: rangeDesc })] }), _jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsxs(Text, { color: themeColors.success, children: ["\u2713 Deleting ", linesToRemove, " line", linesToRemove > 1 ? 's' : ''] }), _jsxs(Box, { flexDirection: "column", children: [contextBefore, deletedLines, contextAfter] })] })] }));
210
- return _jsx(ToolMessage, { message: messageContent, hideBox: true });
211
- }
212
- catch (error) {
213
- const errorContent = (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: themeColors.tool, children: "\u2692 delete_lines" }), _jsxs(Box, { children: [_jsx(Text, { color: themeColors.secondary, children: "Path: " }), _jsx(Text, { color: themeColors.primary, children: path })] }), _jsxs(Box, { children: [_jsx(Text, { color: themeColors.error, children: "Error: " }), _jsx(Text, { color: themeColors.error, children: error instanceof Error ? error.message : String(error) })] })] }));
214
- return _jsx(ToolMessage, { message: errorContent, hideBox: true });
215
- }
216
- }
217
- // Track VS Code change IDs for cleanup
218
- const vscodeChangeIds = new Map();
219
- const deleteLinesFormatter = async (args, result) => {
220
- const colors = getColors();
221
- const { path } = args;
222
- const absPath = resolve(path);
223
- // Send diff to VS Code during preview phase (before execution)
224
- if (result === undefined && isVSCodeConnected()) {
225
- const { line_number, end_line } = args;
226
- try {
227
- const fileContent = await readFile(absPath, 'utf-8');
228
- const lines = fileContent.split('\n');
229
- const lineNumber = Number(line_number);
230
- const endLine = Number(end_line) || lineNumber;
231
- // Build new content for diff preview
232
- const linesToRemove = endLine - lineNumber + 1;
233
- const newLines = [...lines];
234
- newLines.splice(lineNumber - 1, linesToRemove);
235
- const newContent = newLines.join('\n');
236
- const changeId = sendFileChangeToVSCode(absPath, fileContent, newContent, 'delete_lines', {
237
- path,
238
- line_number,
239
- end_line: endLine,
240
- });
241
- if (changeId) {
242
- vscodeChangeIds.set(absPath, changeId);
243
- }
244
- }
245
- catch {
246
- // Silently ignore errors sending to VS Code
247
- }
248
- }
249
- else if (result !== undefined && isVSCodeConnected()) {
250
- // Tool was executed (confirmed or rejected), close the diff
251
- const changeId = vscodeChangeIds.get(absPath);
252
- if (changeId) {
253
- closeDiffInVSCode(changeId);
254
- vscodeChangeIds.delete(absPath);
255
- }
256
- }
257
- const preview = await formatDeleteLinesPreview(args, result, colors);
258
- return _jsx(DeleteLinesFormatter, { preview: preview });
259
- };
260
- const deleteLinesValidator = async (args) => {
261
- const { path, line_number, end_line } = args;
262
- // Check if file exists
263
- const absPath = resolve(path);
264
- try {
265
- await access(absPath, constants.F_OK);
266
- }
267
- catch (error) {
268
- if (error && typeof error === 'object' && 'code' in error) {
269
- if (error.code === 'ENOENT') {
270
- return {
271
- valid: false,
272
- error: `⚒ File "${path}" does not exist`,
273
- };
274
- }
275
- }
276
- const errorMessage = error instanceof Error ? error.message : String(error);
277
- return {
278
- valid: false,
279
- error: `⚒ Cannot access file "${path}": ${errorMessage}`,
280
- };
281
- }
282
- // Validate line numbers
283
- if (!line_number || line_number < 1) {
284
- return {
285
- valid: false,
286
- error: `⚒ Invalid line_number: ${line_number}. Must be a positive integer.`,
287
- };
288
- }
289
- const endLine = end_line ?? line_number;
290
- if (endLine < line_number) {
291
- return {
292
- valid: false,
293
- error: `⚒ end_line (${endLine}) cannot be less than line_number (${line_number}).`,
294
- };
295
- }
296
- // Check line numbers are within file bounds
297
- try {
298
- const fileContent = await readFile(absPath, 'utf-8');
299
- const lines = fileContent.split('\n');
300
- if (line_number > lines.length) {
301
- return {
302
- valid: false,
303
- error: `⚒ Line number ${line_number} is out of range (file has ${lines.length} lines)`,
304
- };
305
- }
306
- if (endLine > lines.length) {
307
- return {
308
- valid: false,
309
- error: `⚒ End line ${endLine} is out of range (file has ${lines.length} lines)`,
310
- };
311
- }
312
- }
313
- catch (error) {
314
- const errorMessage = error instanceof Error ? error.message : String(error);
315
- return {
316
- valid: false,
317
- error: `⚒ Error reading file: ${errorMessage}`,
318
- };
319
- }
320
- return { valid: true };
321
- };
322
- export const deleteLinesTool = {
323
- name: 'delete_lines',
324
- tool: deleteLinesCoreTool,
325
- formatter: deleteLinesFormatter,
326
- validator: deleteLinesValidator,
327
- };
328
- //# sourceMappingURL=delete-lines.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"delete-lines.js","sourceRoot":"","sources":["../../source/tools/delete-lines.tsx"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
1
- import React from 'react';
2
- interface InsertLinesArgs {
3
- path: string;
4
- line_number: number;
5
- content: string;
6
- }
7
- export declare const insertLinesTool: {
8
- name: "insert_lines";
9
- tool: import("ai").Tool<InsertLinesArgs, string>;
10
- formatter: (args: InsertLinesArgs, result?: string) => Promise<React.ReactElement>;
11
- validator: (args: InsertLinesArgs) => Promise<{
12
- valid: true;
13
- } | {
14
- valid: false;
15
- error: string;
16
- }>;
17
- };
18
- export {};
19
- //# sourceMappingURL=insert-lines.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"insert-lines.d.ts","sourceRoot":"","sources":["../../source/tools/insert-lines.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AAa1B,UAAU,eAAe;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC;CAChB;AAsbD,eAAO,MAAM,eAAe;;;sBA/GrB,eAAe,WACZ,MAAM,KACb,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;sBAkDvB,eAAe,KACnB,OAAO,CAAC;QAAC,KAAK,EAAE,IAAI,CAAA;KAAC,GAAG;QAAC,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAC,CAAC;CA+DxD,CAAC"}