free-antigravity-cli 1.0.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.
- package/LICENSE +201 -0
- package/README.md +142 -0
- package/dist/chat.d.ts +2 -0
- package/dist/chat.d.ts.map +1 -0
- package/dist/chat.js +212 -0
- package/dist/chat.js.map +1 -0
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +216 -0
- package/dist/cli.js.map +1 -0
- package/dist/config.d.ts +29 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +125 -0
- package/dist/config.js.map +1 -0
- package/dist/crypto.d.ts +5 -0
- package/dist/crypto.d.ts.map +1 -0
- package/dist/crypto.js +93 -0
- package/dist/crypto.js.map +1 -0
- package/dist/logger.d.ts +9 -0
- package/dist/logger.d.ts.map +1 -0
- package/dist/logger.js +10 -0
- package/dist/logger.js.map +1 -0
- package/dist/proxy/modelUtils.d.ts +31 -0
- package/dist/proxy/modelUtils.d.ts.map +1 -0
- package/dist/proxy/modelUtils.js +55 -0
- package/dist/proxy/modelUtils.js.map +1 -0
- package/dist/proxy/registry.d.ts +40 -0
- package/dist/proxy/registry.d.ts.map +1 -0
- package/dist/proxy/registry.js +176 -0
- package/dist/proxy/registry.js.map +1 -0
- package/dist/proxy/shared.d.ts +39 -0
- package/dist/proxy/shared.d.ts.map +1 -0
- package/dist/proxy/shared.js +74 -0
- package/dist/proxy/shared.js.map +1 -0
- package/dist/proxy/translators/anthropic.d.ts +119 -0
- package/dist/proxy/translators/anthropic.d.ts.map +1 -0
- package/dist/proxy/translators/anthropic.js +273 -0
- package/dist/proxy/translators/anthropic.js.map +1 -0
- package/dist/proxy/translators/google.d.ts +86 -0
- package/dist/proxy/translators/google.d.ts.map +1 -0
- package/dist/proxy/translators/google.js +111 -0
- package/dist/proxy/translators/google.js.map +1 -0
- package/dist/proxy/translators/ollama.d.ts +27 -0
- package/dist/proxy/translators/ollama.d.ts.map +1 -0
- package/dist/proxy/translators/ollama.js +82 -0
- package/dist/proxy/translators/ollama.js.map +1 -0
- package/dist/proxy/translators/openai.d.ts +132 -0
- package/dist/proxy/translators/openai.d.ts.map +1 -0
- package/dist/proxy/translators/openai.js +396 -0
- package/dist/proxy/translators/openai.js.map +1 -0
- package/dist/proxy/translators/utils.d.ts +60 -0
- package/dist/proxy/translators/utils.d.ts.map +1 -0
- package/dist/proxy/translators/utils.js +504 -0
- package/dist/proxy/translators/utils.js.map +1 -0
- package/dist/proxy.d.ts +22 -0
- package/dist/proxy.d.ts.map +1 -0
- package/dist/proxy.js +576 -0
- package/dist/proxy.js.map +1 -0
- package/dist/schemaValidator.d.ts +50 -0
- package/dist/schemaValidator.d.ts.map +1 -0
- package/dist/schemaValidator.js +208 -0
- package/dist/schemaValidator.js.map +1 -0
- package/install.cmd +33 -0
- package/package.json +46 -0
- package/src/chat.ts +184 -0
- package/src/cli.ts +184 -0
- package/src/config.ts +99 -0
- package/src/crypto.ts +49 -0
- package/src/logger.ts +8 -0
- package/src/proxy/modelUtils.ts +86 -0
- package/src/proxy/registry.ts +196 -0
- package/src/proxy/shared.ts +102 -0
- package/src/proxy/translators/anthropic.ts +420 -0
- package/src/proxy/translators/google.ts +162 -0
- package/src/proxy/translators/ollama.ts +88 -0
- package/src/proxy/translators/openai.ts +556 -0
- package/src/proxy/translators/utils.ts +552 -0
- package/src/proxy.ts +573 -0
- package/src/schemaValidator.ts +215 -0
- package/tsconfig.json +19 -0
|
@@ -0,0 +1,504 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Shared translator utility functions.
|
|
4
|
+
* Extracted from proxy.js to avoid duplication across translator modules.
|
|
5
|
+
*/
|
|
6
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
7
|
+
if (k2 === undefined) k2 = k;
|
|
8
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
9
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
10
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
11
|
+
}
|
|
12
|
+
Object.defineProperty(o, k2, desc);
|
|
13
|
+
}) : (function(o, m, k, k2) {
|
|
14
|
+
if (k2 === undefined) k2 = k;
|
|
15
|
+
o[k2] = m[k];
|
|
16
|
+
}));
|
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
19
|
+
}) : function(o, v) {
|
|
20
|
+
o["default"] = v;
|
|
21
|
+
});
|
|
22
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
23
|
+
var ownKeys = function(o) {
|
|
24
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
25
|
+
var ar = [];
|
|
26
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
return ownKeys(o);
|
|
30
|
+
};
|
|
31
|
+
return function (mod) {
|
|
32
|
+
if (mod && mod.__esModule) return mod;
|
|
33
|
+
var result = {};
|
|
34
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
35
|
+
__setModuleDefault(result, mod);
|
|
36
|
+
return result;
|
|
37
|
+
};
|
|
38
|
+
})();
|
|
39
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
+
exports.normalizeToolArgs = normalizeToolArgs;
|
|
41
|
+
exports.fixParamTypes = fixParamTypes;
|
|
42
|
+
exports.translateToolCallToNative = translateToolCallToNative;
|
|
43
|
+
exports.formatTranslatedResponse = formatTranslatedResponse;
|
|
44
|
+
const path = __importStar(require("path"));
|
|
45
|
+
const logger_1 = require("../../logger");
|
|
46
|
+
// ─── Tool Parameter Normalization ──────────────────────────────────────────
|
|
47
|
+
const TOOL_PARAM_NORMALIZATION = {
|
|
48
|
+
view_file: {
|
|
49
|
+
primaryKey: 'AbsolutePath',
|
|
50
|
+
aliases: [
|
|
51
|
+
'absolute_path',
|
|
52
|
+
'absolutePath',
|
|
53
|
+
'path',
|
|
54
|
+
'file_path',
|
|
55
|
+
'filePath',
|
|
56
|
+
'file',
|
|
57
|
+
'filename',
|
|
58
|
+
'FilePath',
|
|
59
|
+
'FileName',
|
|
60
|
+
'target',
|
|
61
|
+
'source',
|
|
62
|
+
'input',
|
|
63
|
+
'uri',
|
|
64
|
+
],
|
|
65
|
+
},
|
|
66
|
+
list_dir: {
|
|
67
|
+
primaryKey: 'DirectoryPath',
|
|
68
|
+
aliases: [
|
|
69
|
+
'directory_path',
|
|
70
|
+
'directoryPath',
|
|
71
|
+
'path',
|
|
72
|
+
'dir_path',
|
|
73
|
+
'dirPath',
|
|
74
|
+
'dir',
|
|
75
|
+
'directory',
|
|
76
|
+
'folder',
|
|
77
|
+
'FolderPath',
|
|
78
|
+
'folder_path',
|
|
79
|
+
'target',
|
|
80
|
+
'root',
|
|
81
|
+
'base',
|
|
82
|
+
],
|
|
83
|
+
},
|
|
84
|
+
grep_search: {
|
|
85
|
+
primaryKey: 'Query',
|
|
86
|
+
aliases: [
|
|
87
|
+
'query',
|
|
88
|
+
'search',
|
|
89
|
+
'SearchQuery',
|
|
90
|
+
'search_query',
|
|
91
|
+
'searchQuery',
|
|
92
|
+
'pattern',
|
|
93
|
+
'Pattern',
|
|
94
|
+
'regex',
|
|
95
|
+
'Regex',
|
|
96
|
+
'term',
|
|
97
|
+
'keyword',
|
|
98
|
+
'text',
|
|
99
|
+
'needle',
|
|
100
|
+
],
|
|
101
|
+
},
|
|
102
|
+
'grep_search.SearchPath': {
|
|
103
|
+
primaryKey: 'SearchPath',
|
|
104
|
+
aliases: [
|
|
105
|
+
'search_path',
|
|
106
|
+
'searchPath',
|
|
107
|
+
'path',
|
|
108
|
+
'directory',
|
|
109
|
+
'DirectoryPath',
|
|
110
|
+
'directory_path',
|
|
111
|
+
'folder',
|
|
112
|
+
'dir',
|
|
113
|
+
'root',
|
|
114
|
+
'base',
|
|
115
|
+
],
|
|
116
|
+
},
|
|
117
|
+
replace_file_content: {
|
|
118
|
+
primaryKey: 'TargetFile',
|
|
119
|
+
aliases: [
|
|
120
|
+
'target_file',
|
|
121
|
+
'targetFile',
|
|
122
|
+
'file',
|
|
123
|
+
'AbsolutePath',
|
|
124
|
+
'absolute_path',
|
|
125
|
+
'filePath',
|
|
126
|
+
'file_path',
|
|
127
|
+
'path',
|
|
128
|
+
'FilePath',
|
|
129
|
+
'target',
|
|
130
|
+
'filename',
|
|
131
|
+
'source',
|
|
132
|
+
],
|
|
133
|
+
},
|
|
134
|
+
write_file: {
|
|
135
|
+
primaryKey: 'AbsolutePath',
|
|
136
|
+
aliases: [
|
|
137
|
+
'absolute_path',
|
|
138
|
+
'absolutePath',
|
|
139
|
+
'path',
|
|
140
|
+
'file_path',
|
|
141
|
+
'filePath',
|
|
142
|
+
'file',
|
|
143
|
+
'filename',
|
|
144
|
+
'FilePath',
|
|
145
|
+
'FileName',
|
|
146
|
+
'target_file',
|
|
147
|
+
'targetFile',
|
|
148
|
+
'target',
|
|
149
|
+
'dest',
|
|
150
|
+
'destination',
|
|
151
|
+
],
|
|
152
|
+
},
|
|
153
|
+
run_command: {
|
|
154
|
+
primaryKey: 'CommandLine',
|
|
155
|
+
aliases: [
|
|
156
|
+
'command_line',
|
|
157
|
+
'commandLine',
|
|
158
|
+
'cmd',
|
|
159
|
+
'command',
|
|
160
|
+
'Command',
|
|
161
|
+
'Cmd',
|
|
162
|
+
'shell_command',
|
|
163
|
+
'shellCommand',
|
|
164
|
+
'script',
|
|
165
|
+
'exec',
|
|
166
|
+
'execute',
|
|
167
|
+
],
|
|
168
|
+
},
|
|
169
|
+
'run_command.Cwd': {
|
|
170
|
+
primaryKey: 'Cwd',
|
|
171
|
+
aliases: ['cwd', 'working_dir', 'workingDirectory', 'working_directory', 'dir', 'directory', 'path', 'folder'],
|
|
172
|
+
},
|
|
173
|
+
read_file: {
|
|
174
|
+
primaryKey: 'AbsolutePath',
|
|
175
|
+
aliases: [
|
|
176
|
+
'absolute_path',
|
|
177
|
+
'absolutePath',
|
|
178
|
+
'path',
|
|
179
|
+
'file_path',
|
|
180
|
+
'filePath',
|
|
181
|
+
'file',
|
|
182
|
+
'filename',
|
|
183
|
+
'FilePath',
|
|
184
|
+
'FileName',
|
|
185
|
+
'target',
|
|
186
|
+
'source',
|
|
187
|
+
'input',
|
|
188
|
+
],
|
|
189
|
+
},
|
|
190
|
+
search_files: {
|
|
191
|
+
primaryKey: 'SearchPath',
|
|
192
|
+
aliases: [
|
|
193
|
+
'search_path',
|
|
194
|
+
'searchPath',
|
|
195
|
+
'path',
|
|
196
|
+
'directory',
|
|
197
|
+
'DirectoryPath',
|
|
198
|
+
'directory_path',
|
|
199
|
+
'folder',
|
|
200
|
+
'dir',
|
|
201
|
+
'root',
|
|
202
|
+
'base',
|
|
203
|
+
],
|
|
204
|
+
},
|
|
205
|
+
create_directory: {
|
|
206
|
+
primaryKey: 'DirectoryPath',
|
|
207
|
+
aliases: ['directory_path', 'directoryPath', 'path', 'dir_path', 'dirPath', 'dir', 'folder', 'target', 'name'],
|
|
208
|
+
},
|
|
209
|
+
delete_file: {
|
|
210
|
+
primaryKey: 'AbsolutePath',
|
|
211
|
+
aliases: [
|
|
212
|
+
'absolute_path',
|
|
213
|
+
'absolutePath',
|
|
214
|
+
'path',
|
|
215
|
+
'file_path',
|
|
216
|
+
'filePath',
|
|
217
|
+
'file',
|
|
218
|
+
'filename',
|
|
219
|
+
'FilePath',
|
|
220
|
+
'target',
|
|
221
|
+
],
|
|
222
|
+
},
|
|
223
|
+
move_file: {
|
|
224
|
+
primaryKey: 'SourcePath',
|
|
225
|
+
aliases: [
|
|
226
|
+
'source_path',
|
|
227
|
+
'sourcePath',
|
|
228
|
+
'source',
|
|
229
|
+
'from',
|
|
230
|
+
'src',
|
|
231
|
+
'path',
|
|
232
|
+
'file_path',
|
|
233
|
+
'filePath',
|
|
234
|
+
'AbsolutePath',
|
|
235
|
+
'absolute_path',
|
|
236
|
+
],
|
|
237
|
+
},
|
|
238
|
+
'move_file.DestinationPath': {
|
|
239
|
+
primaryKey: 'DestinationPath',
|
|
240
|
+
aliases: ['destination_path', 'destinationPath', 'dest', 'destination', 'to', 'dst', 'target'],
|
|
241
|
+
},
|
|
242
|
+
};
|
|
243
|
+
/**
|
|
244
|
+
* Normalizes parameter names from external models to match Antigravity's expected PascalCase format.
|
|
245
|
+
*/
|
|
246
|
+
function normalizeToolArgs(name, args) {
|
|
247
|
+
if (!args || typeof args !== 'object')
|
|
248
|
+
return args || {};
|
|
249
|
+
// Handle array args
|
|
250
|
+
if (Array.isArray(args)) {
|
|
251
|
+
const config = TOOL_PARAM_NORMALIZATION[name];
|
|
252
|
+
if (config && args.length > 0 && typeof args[0] === 'string') {
|
|
253
|
+
return { [config.primaryKey]: args[0] };
|
|
254
|
+
}
|
|
255
|
+
return {};
|
|
256
|
+
}
|
|
257
|
+
const config = TOOL_PARAM_NORMALIZATION[name];
|
|
258
|
+
if (!config) {
|
|
259
|
+
return applyUniversalPathFallback(args);
|
|
260
|
+
}
|
|
261
|
+
const normalized = {};
|
|
262
|
+
const usedKeys = new Set();
|
|
263
|
+
for (const [key, value] of Object.entries(args)) {
|
|
264
|
+
let matched = false;
|
|
265
|
+
if (key === config.primaryKey || (config.aliases && config.aliases.includes(key))) {
|
|
266
|
+
normalized[config.primaryKey] = value;
|
|
267
|
+
usedKeys.add(key);
|
|
268
|
+
matched = true;
|
|
269
|
+
}
|
|
270
|
+
if (!matched) {
|
|
271
|
+
const subConfigKey = name + '.' + key;
|
|
272
|
+
const subConfig = TOOL_PARAM_NORMALIZATION[subConfigKey];
|
|
273
|
+
if (subConfig) {
|
|
274
|
+
normalized[subConfig.primaryKey] = value;
|
|
275
|
+
usedKeys.add(key);
|
|
276
|
+
matched = true;
|
|
277
|
+
}
|
|
278
|
+
}
|
|
279
|
+
if (!matched) {
|
|
280
|
+
for (const [ck, cv] of Object.entries(TOOL_PARAM_NORMALIZATION)) {
|
|
281
|
+
if (ck.startsWith(name + '.') && cv.aliases && cv.aliases.includes(key)) {
|
|
282
|
+
normalized[cv.primaryKey] = value;
|
|
283
|
+
usedKeys.add(key);
|
|
284
|
+
matched = true;
|
|
285
|
+
break;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
288
|
+
}
|
|
289
|
+
if (!matched) {
|
|
290
|
+
normalized[key] = value;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
if (!normalized[config.primaryKey]) {
|
|
294
|
+
const unassigned = Object.entries(args).filter(([k]) => !usedKeys.has(k));
|
|
295
|
+
let found = unassigned.find(([, v]) => typeof v === 'string' && (v.includes('/') || v.includes('\\') || v.includes('.')));
|
|
296
|
+
if (!found)
|
|
297
|
+
found = unassigned.find(([, v]) => typeof v === 'string' && v.length > 0);
|
|
298
|
+
if (!found) {
|
|
299
|
+
found = Object.entries(args).find(([, v]) => typeof v === 'string' && (v.includes('/') || v.includes('\\') || v.includes('.')));
|
|
300
|
+
if (!found)
|
|
301
|
+
found = Object.entries(args).find(([, v]) => typeof v === 'string' && v.length > 0);
|
|
302
|
+
}
|
|
303
|
+
if (found) {
|
|
304
|
+
normalized[config.primaryKey] = found[1];
|
|
305
|
+
logger_1.log.info(`[Utils] normalizeToolArgs fallback: "${name}" extracted ${config.primaryKey}=${found[1]} from key "${found[0]}"`);
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
logger_1.log.warn(`[Utils] normalizeToolArgs: "${name}" could not find value for "${config.primaryKey}". args=${JSON.stringify(args)}`);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
return normalized;
|
|
312
|
+
}
|
|
313
|
+
function applyUniversalPathFallback(args) {
|
|
314
|
+
const result = { ...args };
|
|
315
|
+
const aliasMap = {
|
|
316
|
+
path: 'AbsolutePath',
|
|
317
|
+
file_path: 'AbsolutePath',
|
|
318
|
+
filePath: 'AbsolutePath',
|
|
319
|
+
file: 'AbsolutePath',
|
|
320
|
+
filename: 'AbsolutePath',
|
|
321
|
+
target: 'AbsolutePath',
|
|
322
|
+
directory_path: 'DirectoryPath',
|
|
323
|
+
directoryPath: 'DirectoryPath',
|
|
324
|
+
dir: 'DirectoryPath',
|
|
325
|
+
directory: 'DirectoryPath',
|
|
326
|
+
folder: 'DirectoryPath',
|
|
327
|
+
target_file: 'TargetFile',
|
|
328
|
+
targetFile: 'TargetFile',
|
|
329
|
+
source: 'SourcePath',
|
|
330
|
+
sourcePath: 'SourcePath',
|
|
331
|
+
source_path: 'SourcePath',
|
|
332
|
+
dest: 'DestinationPath',
|
|
333
|
+
destination: 'DestinationPath',
|
|
334
|
+
};
|
|
335
|
+
for (const [key, value] of Object.entries(args)) {
|
|
336
|
+
const mappedKey = aliasMap[key];
|
|
337
|
+
if (mappedKey) {
|
|
338
|
+
result[mappedKey] = value;
|
|
339
|
+
delete result[key];
|
|
340
|
+
return result;
|
|
341
|
+
}
|
|
342
|
+
}
|
|
343
|
+
for (const [, value] of Object.entries(args)) {
|
|
344
|
+
if (typeof value === 'string' && (value.includes('/') || value.includes('\\') || value.includes('.'))) {
|
|
345
|
+
result['AbsolutePath'] = value;
|
|
346
|
+
return result;
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
return result;
|
|
350
|
+
}
|
|
351
|
+
// ─── Utility Functions ────────────────────────────────────────────────────
|
|
352
|
+
/**
|
|
353
|
+
* Recursively converts Gemini parameter types (UPPERCASE) to lowercase format.
|
|
354
|
+
* Gemini uses uppercase (STRING, NUMBER); OpenAI/Anthropic need lowercase.
|
|
355
|
+
*/
|
|
356
|
+
function fixParamTypes(properties) {
|
|
357
|
+
if (!properties)
|
|
358
|
+
return;
|
|
359
|
+
for (const key of Object.keys(properties)) {
|
|
360
|
+
const val = properties[key];
|
|
361
|
+
if (val && typeof val === 'object') {
|
|
362
|
+
const obj = val;
|
|
363
|
+
if (typeof obj.type === 'string') {
|
|
364
|
+
obj.type = obj.type.toLowerCase();
|
|
365
|
+
}
|
|
366
|
+
if (obj.properties && typeof obj.properties === 'object') {
|
|
367
|
+
fixParamTypes(obj.properties);
|
|
368
|
+
}
|
|
369
|
+
if (obj.items && typeof obj.items === 'object') {
|
|
370
|
+
const items = obj.items;
|
|
371
|
+
if (typeof items.type === 'string') {
|
|
372
|
+
items.type = items.type.toLowerCase();
|
|
373
|
+
}
|
|
374
|
+
if (items.properties && typeof items.properties === 'object') {
|
|
375
|
+
fixParamTypes(items.properties);
|
|
376
|
+
}
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
}
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Translates generic shell/terminal commands (run_command) into native Antigravity file tools.
|
|
383
|
+
*/
|
|
384
|
+
function translateToolCallToNative(name, args) {
|
|
385
|
+
if (name !== 'run_command' || !args || !args.CommandLine) {
|
|
386
|
+
return { name, args: args };
|
|
387
|
+
}
|
|
388
|
+
const cmd = args.CommandLine.trim();
|
|
389
|
+
const cwd = args.Cwd || process.cwd();
|
|
390
|
+
// 1. list_dir translation
|
|
391
|
+
const isListDir = /^(ls|dir)(\s+[\w\-\/\.\*]+)*$/i.test(cmd);
|
|
392
|
+
if (isListDir) {
|
|
393
|
+
let dirPath = cwd;
|
|
394
|
+
const tokens = cmd.split(/\s+/).slice(1);
|
|
395
|
+
const pathToken = tokens.find((t) => !t.startsWith('-') && !t.startsWith('/'));
|
|
396
|
+
if (pathToken) {
|
|
397
|
+
dirPath = path.isAbsolute(pathToken) ? pathToken : path.resolve(cwd, pathToken);
|
|
398
|
+
}
|
|
399
|
+
logger_1.log.info(`[Proxy] Translating run_command "${cmd}" to list_dir on "${dirPath}"`);
|
|
400
|
+
return { name: 'list_dir', args: { DirectoryPath: dirPath } };
|
|
401
|
+
}
|
|
402
|
+
// 2. view_file translation
|
|
403
|
+
const catMatch = /^(cat|type)\s+(["']?)(.*?)\2$/i.exec(cmd);
|
|
404
|
+
if (catMatch) {
|
|
405
|
+
const filePath = catMatch[3].trim();
|
|
406
|
+
const absPath = path.isAbsolute(filePath) ? filePath : path.resolve(cwd, filePath);
|
|
407
|
+
logger_1.log.info(`[Proxy] Translating run_command "${cmd}" to view_file on "${absPath}"`);
|
|
408
|
+
return { name: 'view_file', args: { AbsolutePath: absPath } };
|
|
409
|
+
}
|
|
410
|
+
// 2b. write_file translation (echo redirect)
|
|
411
|
+
const echoRedirectMatch = /^(echo|printf)\s+(.+?)\s*>\s*(.+)$/i.exec(cmd);
|
|
412
|
+
if (echoRedirectMatch) {
|
|
413
|
+
const content = echoRedirectMatch[2].replace(/^["']|["']$/g, '');
|
|
414
|
+
const filePath = echoRedirectMatch[3].trim();
|
|
415
|
+
const absPath = path.isAbsolute(filePath) ? filePath : path.resolve(cwd, filePath);
|
|
416
|
+
logger_1.log.info(`[Proxy] Translating run_command "${cmd}" to write_file on "${absPath}"`);
|
|
417
|
+
return { name: 'write_file', args: { AbsolutePath: absPath, Content: content, Append: cmd.includes('>>') } };
|
|
418
|
+
}
|
|
419
|
+
// 3. grep_search translation
|
|
420
|
+
if (cmd.toLowerCase().startsWith('grep') || cmd.toLowerCase().startsWith('findstr')) {
|
|
421
|
+
let query = '';
|
|
422
|
+
let searchPath = cwd;
|
|
423
|
+
const regexQuotes = /"([^"]+)"|'([^']+)'/g;
|
|
424
|
+
const quotesFound = [...cmd.matchAll(regexQuotes)];
|
|
425
|
+
if (quotesFound.length > 0) {
|
|
426
|
+
query = quotesFound[0][1] || quotesFound[0][2];
|
|
427
|
+
}
|
|
428
|
+
else {
|
|
429
|
+
const tokens = cmd.split(/\s+/);
|
|
430
|
+
query = tokens[tokens.length - 1];
|
|
431
|
+
}
|
|
432
|
+
const tokens = cmd.split(/\s+/);
|
|
433
|
+
const pathToken = tokens.find((t, idx) => idx > 0 && !t.startsWith('-') && !t.startsWith('/') && !t.includes('"') && !t.includes("'") && t !== query);
|
|
434
|
+
if (pathToken) {
|
|
435
|
+
searchPath = path.isAbsolute(pathToken) ? pathToken : path.resolve(cwd, pathToken);
|
|
436
|
+
}
|
|
437
|
+
if (query) {
|
|
438
|
+
logger_1.log.info(`[Proxy] Translating run_command "${cmd}" to grep_search (Query: "${query}", Path: "${searchPath}")`);
|
|
439
|
+
return {
|
|
440
|
+
name: 'grep_search',
|
|
441
|
+
args: {
|
|
442
|
+
Query: query,
|
|
443
|
+
SearchPath: searchPath,
|
|
444
|
+
CaseInsensitive: cmd.includes('-i') || cmd.toLowerCase().includes('/i'),
|
|
445
|
+
IsRegex: false,
|
|
446
|
+
MatchPerLine: true,
|
|
447
|
+
},
|
|
448
|
+
};
|
|
449
|
+
}
|
|
450
|
+
}
|
|
451
|
+
return { name, args: args };
|
|
452
|
+
}
|
|
453
|
+
/**
|
|
454
|
+
* Formats native file tool outputs (JSON/Array) back into standard textual command-line outputs.
|
|
455
|
+
*/
|
|
456
|
+
function formatTranslatedResponse(translatedInfo, responseData) {
|
|
457
|
+
const { translatedName, cmd } = translatedInfo;
|
|
458
|
+
logger_1.log.info(`[Proxy] Formatting native response back to CLI for translated tool "${translatedName}" (Cmd: "${cmd}")`);
|
|
459
|
+
if (translatedName === 'list_dir') {
|
|
460
|
+
if (Array.isArray(responseData)) {
|
|
461
|
+
return responseData
|
|
462
|
+
.map((item) => {
|
|
463
|
+
const typeIndicator = item.isDir ? '<DIR>' : ' ';
|
|
464
|
+
const sizeStr = item.isDir ? '' : ` (${item.sizeBytes || 0} bytes)`;
|
|
465
|
+
return `${typeIndicator} ${item.name}${sizeStr}`;
|
|
466
|
+
})
|
|
467
|
+
.join('\n');
|
|
468
|
+
}
|
|
469
|
+
if (responseData && typeof responseData === 'object') {
|
|
470
|
+
const data = responseData;
|
|
471
|
+
const items = data.files || data.children || [];
|
|
472
|
+
if (Array.isArray(items)) {
|
|
473
|
+
return items.map((item) => `${item.isDir ? '<DIR>' : ' '} ${item.name}`).join('\n');
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
return typeof responseData === 'string' ? responseData : JSON.stringify(responseData);
|
|
477
|
+
}
|
|
478
|
+
if (translatedName === 'view_file') {
|
|
479
|
+
if (responseData && typeof responseData === 'object') {
|
|
480
|
+
const data = responseData;
|
|
481
|
+
return data.content || data.CodeContent || JSON.stringify(responseData);
|
|
482
|
+
}
|
|
483
|
+
return typeof responseData === 'string' ? responseData : JSON.stringify(responseData);
|
|
484
|
+
}
|
|
485
|
+
if (translatedName === 'grep_search') {
|
|
486
|
+
if (Array.isArray(responseData)) {
|
|
487
|
+
return responseData
|
|
488
|
+
.map((match) => `${match.Filename}:${match.LineNumber}:${match.LineContent}`)
|
|
489
|
+
.join('\n');
|
|
490
|
+
}
|
|
491
|
+
return typeof responseData === 'string' ? responseData : JSON.stringify(responseData);
|
|
492
|
+
}
|
|
493
|
+
if (translatedName === 'write_file') {
|
|
494
|
+
if (responseData && typeof responseData === 'object') {
|
|
495
|
+
const data = responseData;
|
|
496
|
+
if (data.success)
|
|
497
|
+
return `File written successfully: ${data.path || 'unknown'}`;
|
|
498
|
+
return `Failed to write file: ${data.error || 'Unknown error'}`;
|
|
499
|
+
}
|
|
500
|
+
return typeof responseData === 'string' ? responseData : JSON.stringify(responseData);
|
|
501
|
+
}
|
|
502
|
+
return typeof responseData === 'string' ? responseData : JSON.stringify(responseData);
|
|
503
|
+
}
|
|
504
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/proxy/translators/utils.ts"],"names":[],"mappings":"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"}
|
package/dist/proxy.d.ts
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface CustomModel {
|
|
2
|
+
name: string;
|
|
3
|
+
displayName: string;
|
|
4
|
+
description: string;
|
|
5
|
+
provider: string;
|
|
6
|
+
apiKey: string;
|
|
7
|
+
apiUrl: string;
|
|
8
|
+
externalModelName: string;
|
|
9
|
+
allowUnauthorized?: boolean;
|
|
10
|
+
encrypted?: boolean;
|
|
11
|
+
_slug?: string;
|
|
12
|
+
timeout?: number;
|
|
13
|
+
maxRetries?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare function generateModelPlaceholderId(model: CustomModel): string;
|
|
16
|
+
export declare function getCustomModelsPath(): string;
|
|
17
|
+
export declare function toSlug(model: CustomModel): string;
|
|
18
|
+
export declare function loadCustomModels(): CustomModel[];
|
|
19
|
+
export declare function startProxy(): Promise<number>;
|
|
20
|
+
export declare function stopProxy(): Promise<void>;
|
|
21
|
+
export declare function getProxyPort(): number;
|
|
22
|
+
//# sourceMappingURL=proxy.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.d.ts","sourceRoot":"","sources":["../src/proxy.ts"],"names":[],"mappings":"AAcA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,iBAAiB,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AA6BD,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CASrE;AAED,wBAAgB,mBAAmB,IAAI,MAAM,CAG5C;AAED,wBAAgB,MAAM,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CASjD;AAID,wBAAgB,gBAAgB,IAAI,WAAW,EAAE,CAyDhD;AAkZD,wBAAgB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC,CAmB5C;AAED,wBAAgB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAKzC;AAED,wBAAgB,YAAY,IAAI,MAAM,CAAsB"}
|