@gguf/coder 0.5.7 → 0.5.8
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mode-context.d.ts","sourceRoot":"","sources":["../../source/context/mode-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"mode-context.d.ts","sourceRoot":"","sources":["../../source/context/mode-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,cAAc,CAAC;AAUlD;;;GAGG;AACH,wBAAgB,cAAc,IAAI,eAAe,CAEhD;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,eAAe,GAAG,IAAI,CAE1D"}
|
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
* This is used by tool definitions to determine needsApproval dynamically
|
|
4
4
|
* Updated via setCurrentMode() when mode changes in the UI
|
|
5
5
|
*/
|
|
6
|
-
let currentMode = '
|
|
6
|
+
let currentMode = 'normal';
|
|
7
|
+
// let currentMode: DevelopmentMode = 'auto-accept';
|
|
7
8
|
/**
|
|
8
9
|
* Get the current development mode
|
|
9
10
|
* Used by tool definitions to determine if approval is needed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mode-context.js","sourceRoot":"","sources":["../../source/context/mode-context.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,IAAI,WAAW,GAAoB,
|
|
1
|
+
{"version":3,"file":"mode-context.js","sourceRoot":"","sources":["../../source/context/mode-context.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,IAAI,WAAW,GAAoB,QAAQ,CAAC;AAC5C,oDAAoD;AAEpD;;;GAGG;AACH,MAAM,UAAU,cAAc;IAC7B,OAAO,WAAW,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,IAAqB;IACnD,WAAW,GAAG,IAAI,CAAC;AACpB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-file.d.ts","sourceRoot":"","sources":["../../source/tools/write-file.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"write-file.d.ts","sourceRoot":"","sources":["../../source/tools/write-file.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,MAAM,OAAO,CAAC;AA0E1B,UAAU,aAAa;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAqKD,eAAO,MAAM,aAAa;;;cAjMO,MAAM;iBAAW,MAAM;;sBA+GjD,aAAa,WACV,MAAM,KACb,OAAO,CAAC,KAAK,CAAC,YAAY,CAAC;sBA8BU;QACvC,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KAChB,KAAG,OAAO,CAAC;QAAE,KAAK,EAAE,IAAI,CAAA;KAAE,GAAG;QAAE,KAAK,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAoD7D,CAAC"}
|
package/dist/tools/write-file.js
CHANGED
|
@@ -12,8 +12,12 @@ import { jsonSchema, tool } from '../types/core.js';
|
|
|
12
12
|
import { getCachedFileContent, invalidateCache } from '../utils/file-cache.js';
|
|
13
13
|
import { normalizeIndentation } from '../utils/indentation-normalizer.js';
|
|
14
14
|
import { getLanguageFromExtension } from '../utils/programming-language-helper.js';
|
|
15
|
-
|
|
16
|
-
import {
|
|
15
|
+
import { sendFileChangeToVSCode } from '../vscode/vscode-server.js';
|
|
16
|
+
// import {
|
|
17
|
+
// closeDiffInVSCode,
|
|
18
|
+
// isVSCodeConnected,
|
|
19
|
+
// sendFileChangeToVSCode,
|
|
20
|
+
// } from '../vscode/index.js';
|
|
17
21
|
const executeWriteFile = async (args) => {
|
|
18
22
|
const absPath = resolve(args.path);
|
|
19
23
|
const fileExists = existsSync(absPath);
|
|
@@ -91,119 +95,24 @@ const WriteFileFormatter = React.memo(({ args }) => {
|
|
|
91
95
|
}), normalizedLines.length > 50 && (_jsx(Box, { marginTop: 0, children: _jsxs(Text, { color: colors.secondary, children: ["... ", normalizedLines.length - 50, " more lines (truncated for display)"] }) }))] })) : (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: colors.secondary, children: "File will be empty" }) }))] }));
|
|
92
96
|
return _jsx(ToolMessage, { message: messageContent, hideBox: true });
|
|
93
97
|
});
|
|
94
|
-
// const writeFileFormatter = async (
|
|
95
|
-
// args: WriteFileArgs,
|
|
96
|
-
// result?: string,
|
|
97
|
-
// ): Promise<React.ReactElement> => {
|
|
98
|
-
// const path = args.path || args.file_path || '';
|
|
99
|
-
// const absPath = resolve(path);
|
|
100
|
-
// // Re-add VS Code preview logic
|
|
101
|
-
// if (!result && path) {
|
|
102
|
-
// try {
|
|
103
|
-
// let originalContent = '';
|
|
104
|
-
// try {
|
|
105
|
-
// const cached = await getCachedFileContent(absPath);
|
|
106
|
-
// originalContent = cached.content;
|
|
107
|
-
// } catch {
|
|
108
|
-
// // File might not exist
|
|
109
|
-
// }
|
|
110
|
-
// sendFileChangeToVSCode(
|
|
111
|
-
// absPath,
|
|
112
|
-
// originalContent,
|
|
113
|
-
// args.content || '',
|
|
114
|
-
// 'write_file',
|
|
115
|
-
// { ...args },
|
|
116
|
-
// );
|
|
117
|
-
// } catch {
|
|
118
|
-
// // Ignore errors
|
|
119
|
-
// }
|
|
120
|
-
// }
|
|
121
|
-
// return <WriteFileFormatter args={args} />;
|
|
122
|
-
// };
|
|
123
|
-
// const writeFileValidator = async (args: {
|
|
124
|
-
// path: string;
|
|
125
|
-
// content: string;
|
|
126
|
-
// }): Promise<{ valid: true } | { valid: false; error: string }> => {
|
|
127
|
-
// const absPath = resolve(args.path);
|
|
128
|
-
// // Check if parent directory exists
|
|
129
|
-
// const parentDir = dirname(absPath);
|
|
130
|
-
// try {
|
|
131
|
-
// await access(parentDir, constants.F_OK);
|
|
132
|
-
// } catch (error) {
|
|
133
|
-
// if (error && typeof error === 'object' && 'code' in error) {
|
|
134
|
-
// if (error.code === 'ENOENT') {
|
|
135
|
-
// return {
|
|
136
|
-
// valid: false,
|
|
137
|
-
// error: `☕︎ Parent directory does not exist: "${parentDir}"`,
|
|
138
|
-
// };
|
|
139
|
-
// }
|
|
140
|
-
// }
|
|
141
|
-
// const errorMessage =
|
|
142
|
-
// error instanceof Error ? error.message : 'Unknown error';
|
|
143
|
-
// return {
|
|
144
|
-
// valid: false,
|
|
145
|
-
// error: `☕︎ Cannot access parent directory "${parentDir}": ${errorMessage}`,
|
|
146
|
-
// };
|
|
147
|
-
// }
|
|
148
|
-
// // Check for invalid path characters or attempts to write to system directories
|
|
149
|
-
// const invalidPatterns = [
|
|
150
|
-
// /^\/etc\//i,
|
|
151
|
-
// /^\/sys\//i,
|
|
152
|
-
// /^\/proc\//i,
|
|
153
|
-
// /^\/dev\//i,
|
|
154
|
-
// /^\/boot\//i,
|
|
155
|
-
// /^C:\\Windows\\/i,
|
|
156
|
-
// /^C:\\Program Files\\/i,
|
|
157
|
-
// ];
|
|
158
|
-
// for (const pattern of invalidPatterns) {
|
|
159
|
-
// if (pattern.test(absPath)) {
|
|
160
|
-
// return {
|
|
161
|
-
// valid: false,
|
|
162
|
-
// error: `☕︎ Cannot write files to system directory: "${args.path}"`,
|
|
163
|
-
// };
|
|
164
|
-
// }
|
|
165
|
-
// }
|
|
166
|
-
// return { valid: true };
|
|
167
|
-
// };
|
|
168
|
-
// export const writeFileTool = {
|
|
169
|
-
// name: 'write_file' as const,
|
|
170
|
-
// tool: writeFileCoreTool,
|
|
171
|
-
// formatter: writeFileFormatter,
|
|
172
|
-
// validator: writeFileValidator,
|
|
173
|
-
// };
|
|
174
|
-
// Track VS Code change IDs for cleanup
|
|
175
|
-
const vscodeChangeIds = new Map();
|
|
176
98
|
const writeFileFormatter = async (args, result) => {
|
|
177
99
|
const path = args.path || args.file_path || '';
|
|
178
100
|
const absPath = resolve(path);
|
|
179
|
-
//
|
|
180
|
-
if (result
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
let originalContent = '';
|
|
184
|
-
if (existsSync(absPath)) {
|
|
101
|
+
// Re-add VS Code preview logic
|
|
102
|
+
if (!result && path) {
|
|
103
|
+
try {
|
|
104
|
+
let originalContent = '';
|
|
185
105
|
try {
|
|
186
106
|
const cached = await getCachedFileContent(absPath);
|
|
187
107
|
originalContent = cached.content;
|
|
188
108
|
}
|
|
189
109
|
catch {
|
|
190
|
-
// File might
|
|
110
|
+
// File might not exist
|
|
191
111
|
}
|
|
112
|
+
sendFileChangeToVSCode(absPath, originalContent, args.content || '', 'write_file', { ...args });
|
|
192
113
|
}
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
content,
|
|
196
|
-
});
|
|
197
|
-
if (changeId) {
|
|
198
|
-
vscodeChangeIds.set(absPath, changeId);
|
|
199
|
-
}
|
|
200
|
-
}
|
|
201
|
-
else if (result !== undefined && isVSCodeConnected()) {
|
|
202
|
-
// Tool was executed (confirmed or rejected), close the diff
|
|
203
|
-
const changeId = vscodeChangeIds.get(absPath);
|
|
204
|
-
if (changeId) {
|
|
205
|
-
closeDiffInVSCode(changeId);
|
|
206
|
-
vscodeChangeIds.delete(absPath);
|
|
114
|
+
catch {
|
|
115
|
+
// Ignore errors
|
|
207
116
|
}
|
|
208
117
|
}
|
|
209
118
|
return _jsx(WriteFileFormatter, { args: args });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../source/tools/write-file.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,WAAW,MAAM,2BAA2B,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtE,OAAO,EAAE,wBAAwB,EAAE,MAAM,qCAAqC,CAAC;AAC/E,
|
|
1
|
+
{"version":3,"file":"write-file.js","sourceRoot":"","sources":["../../source/tools/write-file.tsx"],"names":[],"mappings":"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"}
|