@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.
- package/assets/nanocoder-vscode.vsix +0 -0
- package/dist/ai-sdk-client-preparestep.spec.d.ts +2 -0
- package/dist/ai-sdk-client-preparestep.spec.d.ts.map +1 -0
- package/dist/ai-sdk-client-preparestep.spec.js +246 -0
- package/dist/ai-sdk-client-preparestep.spec.js.map +1 -0
- package/dist/ai-sdk-client.d.ts.map +1 -1
- package/dist/ai-sdk-client.js +108 -16
- package/dist/ai-sdk-client.js.map +1 -1
- package/dist/app.d.ts.map +1 -1
- package/dist/app.js +6 -6
- package/dist/app.js.map +1 -1
- package/dist/components/development-mode-indicator.d.ts +15 -0
- package/dist/components/development-mode-indicator.d.ts.map +1 -0
- package/dist/components/development-mode-indicator.js +18 -0
- package/dist/components/development-mode-indicator.js.map +1 -0
- package/dist/components/user-input.d.ts +1 -1
- package/dist/components/user-input.d.ts.map +1 -1
- package/dist/components/user-input.js +7 -7
- package/dist/components/user-input.js.map +1 -1
- package/dist/hooks/useAppState.d.ts +12 -1
- package/dist/hooks/useAppState.d.ts.map +1 -1
- package/dist/hooks/useAppState.js.map +1 -1
- package/dist/hooks/useChatHandler.d.ts +2 -1
- package/dist/hooks/useChatHandler.d.ts.map +1 -1
- package/dist/hooks/useChatHandler.js +61 -58
- package/dist/hooks/useChatHandler.js.map +1 -1
- package/dist/hooks/useToolHandler.d.ts +1 -1
- package/dist/hooks/useToolHandler.d.ts.map +1 -1
- package/dist/hooks/useToolHandler.js +18 -48
- package/dist/hooks/useToolHandler.js.map +1 -1
- package/dist/hooks/useVSCodeServer.d.ts +1 -1
- package/dist/hooks/useVSCodeServer.d.ts.map +1 -1
- package/dist/hooks/useVSCodeServer.js +2 -2
- package/dist/hooks/useVSCodeServer.js.map +1 -1
- package/dist/tools/execute-function.spec.js +1 -49
- package/dist/tools/execute-function.spec.js.map +1 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +4 -8
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/needs-approval.spec.js +22 -83
- package/dist/tools/needs-approval.spec.js.map +1 -1
- package/dist/tools/read-file.d.ts.map +1 -1
- package/dist/tools/read-file.js +5 -3
- package/dist/tools/read-file.js.map +1 -1
- package/dist/tools/string-replace.d.ts +19 -0
- package/dist/tools/string-replace.d.ts.map +1 -0
- package/dist/tools/string-replace.js +279 -0
- package/dist/tools/string-replace.js.map +1 -0
- package/dist/tools/string-replace.spec.d.ts +2 -0
- package/dist/tools/string-replace.spec.d.ts.map +1 -0
- package/dist/tools/string-replace.spec.js +315 -0
- package/dist/tools/string-replace.spec.js.map +1 -0
- package/dist/tools/{create-file.d.ts → write-file.d.ts} +5 -5
- package/dist/tools/write-file.d.ts.map +1 -0
- package/dist/tools/{create-file.js → write-file.js} +34 -39
- package/dist/tools/write-file.js.map +1 -0
- package/dist/tools/write-file.spec.d.ts +2 -0
- package/dist/tools/write-file.spec.d.ts.map +1 -0
- package/dist/tools/write-file.spec.js +263 -0
- package/dist/tools/write-file.spec.js.map +1 -0
- package/dist/types/core.d.ts +1 -0
- package/dist/types/core.d.ts.map +1 -1
- package/dist/types/core.js.map +1 -1
- package/dist/utils/message-builder.d.ts +48 -0
- package/dist/utils/message-builder.d.ts.map +1 -0
- package/dist/utils/message-builder.js +88 -0
- package/dist/utils/message-builder.js.map +1 -0
- package/dist/utils/message-builder.spec.d.ts +2 -0
- package/dist/utils/message-builder.spec.d.ts.map +1 -0
- package/dist/utils/message-builder.spec.js +142 -0
- package/dist/utils/message-builder.spec.js.map +1 -0
- package/dist/vscode/protocol.d.ts +1 -1
- package/dist/vscode/protocol.d.ts.map +1 -1
- package/dist/vscode/protocol.spec.js +5 -5
- package/dist/vscode/protocol.spec.js.map +1 -1
- package/dist/vscode/vscode-server.d.ts +1 -1
- package/dist/vscode/vscode-server.d.ts.map +1 -1
- package/dist/vscode/vscode-server.js +2 -2
- package/dist/vscode/vscode-server.js.map +1 -1
- package/dist/vscode/vscode-server.spec.js +2 -2
- package/dist/vscode/vscode-server.spec.js.map +1 -1
- package/package.json +9 -1
- package/source/app/prompts/main-prompt.md +84 -530
- package/dist/tools/create-file.d.ts.map +0 -1
- package/dist/tools/create-file.js.map +0 -1
- package/dist/tools/delete-lines.d.ts +0 -19
- package/dist/tools/delete-lines.d.ts.map +0 -1
- package/dist/tools/delete-lines.js +0 -328
- package/dist/tools/delete-lines.js.map +0 -1
- package/dist/tools/insert-lines.d.ts +0 -19
- package/dist/tools/insert-lines.d.ts.map +0 -1
- package/dist/tools/insert-lines.js +0 -275
- package/dist/tools/insert-lines.js.map +0 -1
- package/dist/tools/replace-lines.d.ts +0 -20
- package/dist/tools/replace-lines.d.ts.map +0 -1
- package/dist/tools/replace-lines.js +0 -330
- 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"}
|