centaurus-cli 2.8.3 → 2.8.5
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/dist/cli-adapter.d.ts +14 -0
- package/dist/cli-adapter.d.ts.map +1 -1
- package/dist/cli-adapter.js +204 -35
- package/dist/cli-adapter.js.map +1 -1
- package/dist/config/models.d.ts.map +1 -1
- package/dist/config/models.js +14 -4
- package/dist/config/models.js.map +1 -1
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -1
- package/dist/tools/file-ops.d.ts.map +1 -1
- package/dist/tools/file-ops.js +69 -14
- package/dist/tools/file-ops.js.map +1 -1
- package/dist/tools/find-files.d.ts +1 -0
- package/dist/tools/find-files.d.ts.map +1 -1
- package/dist/tools/find-files.js +77 -13
- package/dist/tools/find-files.js.map +1 -1
- package/dist/tools/grep-search.d.ts.map +1 -1
- package/dist/tools/grep-search.js +68 -15
- package/dist/tools/grep-search.js.map +1 -1
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/ui/components/App.d.ts +2 -0
- package/dist/ui/components/App.d.ts.map +1 -1
- package/dist/ui/components/App.js +70 -6
- package/dist/ui/components/App.js.map +1 -1
- package/dist/ui/components/ConnectionStatusMessage.d.ts +17 -0
- package/dist/ui/components/ConnectionStatusMessage.d.ts.map +1 -0
- package/dist/ui/components/ConnectionStatusMessage.js +66 -0
- package/dist/ui/components/ConnectionStatusMessage.js.map +1 -0
- package/dist/ui/components/InputBox.d.ts +1 -0
- package/dist/ui/components/InputBox.d.ts.map +1 -1
- package/dist/ui/components/InputBox.js +10 -2
- package/dist/ui/components/InputBox.js.map +1 -1
- package/dist/ui/components/InteractiveShell.d.ts +2 -0
- package/dist/ui/components/InteractiveShell.d.ts.map +1 -1
- package/dist/ui/components/InteractiveShell.js +11 -2
- package/dist/ui/components/InteractiveShell.js.map +1 -1
- package/dist/ui/components/MessageDisplay.d.ts.map +1 -1
- package/dist/ui/components/MessageDisplay.js +13 -0
- package/dist/ui/components/MessageDisplay.js.map +1 -1
- package/dist/ui/components/StreamingMessageDisplay.d.ts.map +1 -1
- package/dist/ui/components/StreamingMessageDisplay.js +8 -0
- package/dist/ui/components/StreamingMessageDisplay.js.map +1 -1
- package/dist/ui/components/ToolExecutionMessage.d.ts.map +1 -1
- package/dist/ui/components/ToolExecutionMessage.js +66 -33
- package/dist/ui/components/ToolExecutionMessage.js.map +1 -1
- package/dist/utils/editor-utils.d.ts +3 -3
- package/dist/utils/editor-utils.d.ts.map +1 -1
- package/dist/utils/editor-utils.js +25 -18
- package/dist/utils/editor-utils.js.map +1 -1
- package/dist/utils/file.d.ts +40 -0
- package/dist/utils/file.d.ts.map +1 -1
- package/dist/utils/file.js +164 -0
- package/dist/utils/file.js.map +1 -1
- package/dist/utils/terminal-output.d.ts.map +1 -1
- package/dist/utils/terminal-output.js +55 -1
- package/dist/utils/terminal-output.js.map +1 -1
- package/models-config.json +24 -4
- package/package.json +1 -1
package/dist/utils/file.js
CHANGED
|
@@ -58,6 +58,170 @@ export function listDirectory(dirPath, recursive = false) {
|
|
|
58
58
|
walk(dirPath);
|
|
59
59
|
return results;
|
|
60
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Get the count of items in a directory (non-recursive, fast)
|
|
63
|
+
*/
|
|
64
|
+
function getDirectoryItemCount(dirPath) {
|
|
65
|
+
try {
|
|
66
|
+
const entries = fs.readdirSync(dirPath);
|
|
67
|
+
return entries.length;
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return 0;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Format file size in KB with appropriate precision
|
|
75
|
+
*/
|
|
76
|
+
function formatSizeKB(bytes) {
|
|
77
|
+
const kb = bytes / 1024;
|
|
78
|
+
if (kb < 1)
|
|
79
|
+
return `${(kb).toFixed(2)}KB`;
|
|
80
|
+
if (kb < 10)
|
|
81
|
+
return `${kb.toFixed(1)}KB`;
|
|
82
|
+
if (kb < 1024)
|
|
83
|
+
return `${Math.round(kb)}KB`;
|
|
84
|
+
const mb = kb / 1024;
|
|
85
|
+
if (mb < 10)
|
|
86
|
+
return `${mb.toFixed(1)}MB`;
|
|
87
|
+
return `${Math.round(mb)}MB`;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Enhanced directory listing with statistics and smart limiting
|
|
91
|
+
* Shows all directories (navigation is critical) but limits files
|
|
92
|
+
*/
|
|
93
|
+
export function listDirectoryEnhanced(dirPath, options = {}) {
|
|
94
|
+
const { fileLimit = 100, dirLimit = 50, showHidden = true, largeThreshold = 100 } = options;
|
|
95
|
+
const directories = [];
|
|
96
|
+
const files = [];
|
|
97
|
+
const largeDirectories = [];
|
|
98
|
+
let totalDirectories = 0;
|
|
99
|
+
let totalFiles = 0;
|
|
100
|
+
try {
|
|
101
|
+
const entries = fs.readdirSync(dirPath, { withFileTypes: true });
|
|
102
|
+
for (const entry of entries) {
|
|
103
|
+
// Skip hidden files if showHidden is false
|
|
104
|
+
if (!showHidden && entry.name.startsWith('.')) {
|
|
105
|
+
continue;
|
|
106
|
+
}
|
|
107
|
+
const fullPath = path.join(dirPath, entry.name);
|
|
108
|
+
if (entry.isDirectory()) {
|
|
109
|
+
totalDirectories++;
|
|
110
|
+
const itemCount = getDirectoryItemCount(fullPath);
|
|
111
|
+
directories.push({
|
|
112
|
+
name: entry.name,
|
|
113
|
+
itemCount,
|
|
114
|
+
isDirectory: true
|
|
115
|
+
});
|
|
116
|
+
// Track large directories
|
|
117
|
+
if (itemCount >= largeThreshold) {
|
|
118
|
+
largeDirectories.push({ name: entry.name, itemCount });
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
else {
|
|
122
|
+
totalFiles++;
|
|
123
|
+
try {
|
|
124
|
+
const stat = fs.statSync(fullPath);
|
|
125
|
+
files.push({
|
|
126
|
+
name: entry.name,
|
|
127
|
+
sizeKB: formatSizeKB(stat.size),
|
|
128
|
+
isDirectory: false
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
catch {
|
|
132
|
+
files.push({
|
|
133
|
+
name: entry.name,
|
|
134
|
+
sizeKB: '?',
|
|
135
|
+
isDirectory: false
|
|
136
|
+
});
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
catch (error) {
|
|
142
|
+
throw new Error(`Failed to read directory: ${error.message}`);
|
|
143
|
+
}
|
|
144
|
+
// Sort directories by item count (descending) for visibility
|
|
145
|
+
directories.sort((a, b) => (b.itemCount || 0) - (a.itemCount || 0));
|
|
146
|
+
largeDirectories.sort((a, b) => b.itemCount - a.itemCount);
|
|
147
|
+
// Sort files by name for consistency
|
|
148
|
+
files.sort((a, b) => a.name.localeCompare(b.name));
|
|
149
|
+
// Apply limits
|
|
150
|
+
const limitedDirs = directories.slice(0, dirLimit);
|
|
151
|
+
const limitedFiles = files.slice(0, fileLimit);
|
|
152
|
+
const hiddenDirCount = Math.max(0, directories.length - dirLimit);
|
|
153
|
+
const hiddenFileCount = Math.max(0, files.length - fileLimit);
|
|
154
|
+
return {
|
|
155
|
+
stats: {
|
|
156
|
+
totalDirectories,
|
|
157
|
+
totalFiles,
|
|
158
|
+
totalItems: totalDirectories + totalFiles,
|
|
159
|
+
largeDirectories: largeDirectories.slice(0, 5) // Top 5 large dirs
|
|
160
|
+
},
|
|
161
|
+
directories: limitedDirs,
|
|
162
|
+
files: limitedFiles,
|
|
163
|
+
hiddenFileCount,
|
|
164
|
+
hiddenDirCount
|
|
165
|
+
};
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Format enhanced directory listing as a human/AI-readable string
|
|
169
|
+
*/
|
|
170
|
+
export function formatDirectoryListing(dirPath, listing) {
|
|
171
|
+
const lines = [];
|
|
172
|
+
const { stats, directories, files, hiddenFileCount, hiddenDirCount } = listing;
|
|
173
|
+
// Header
|
|
174
|
+
lines.push(`📁 Directory: ${dirPath}`);
|
|
175
|
+
lines.push('═'.repeat(50));
|
|
176
|
+
// Stats line
|
|
177
|
+
lines.push(`Total: ${stats.totalDirectories} directories, ${stats.totalFiles} files, ${stats.totalItems} items`);
|
|
178
|
+
// Warning if items are hidden
|
|
179
|
+
const totalHidden = hiddenFileCount + hiddenDirCount;
|
|
180
|
+
if (totalHidden > 0) {
|
|
181
|
+
const shownCount = directories.length + files.length;
|
|
182
|
+
lines.push(`⚠️ Showing ${shownCount} of ${stats.totalItems} items (${totalHidden} hidden)`);
|
|
183
|
+
}
|
|
184
|
+
// Large directories warning
|
|
185
|
+
if (stats.largeDirectories.length > 0) {
|
|
186
|
+
const largeList = stats.largeDirectories
|
|
187
|
+
.map(d => `${d.name} (${d.itemCount} items)`)
|
|
188
|
+
.join(', ');
|
|
189
|
+
lines.push(`📦 Large directories: ${largeList}`);
|
|
190
|
+
}
|
|
191
|
+
lines.push(''); // Blank line
|
|
192
|
+
// Directories section
|
|
193
|
+
if (directories.length > 0) {
|
|
194
|
+
lines.push('📂 Directories:');
|
|
195
|
+
for (const dir of directories) {
|
|
196
|
+
const countStr = dir.itemCount !== undefined ? ` (${dir.itemCount} items)` : '';
|
|
197
|
+
lines.push(` ${dir.name}/${countStr}`);
|
|
198
|
+
}
|
|
199
|
+
if (hiddenDirCount > 0) {
|
|
200
|
+
lines.push(` ... and ${hiddenDirCount} more directories`);
|
|
201
|
+
}
|
|
202
|
+
lines.push('');
|
|
203
|
+
}
|
|
204
|
+
// Files section
|
|
205
|
+
if (files.length > 0) {
|
|
206
|
+
const fileHeader = hiddenFileCount > 0
|
|
207
|
+
? `📄 Files (${files.length} of ${stats.totalFiles} shown):`
|
|
208
|
+
: '📄 Files:';
|
|
209
|
+
lines.push(fileHeader);
|
|
210
|
+
for (const file of files) {
|
|
211
|
+
const sizeStr = file.sizeKB ? ` (${file.sizeKB})` : '';
|
|
212
|
+
lines.push(` ${file.name}${sizeStr}`);
|
|
213
|
+
}
|
|
214
|
+
if (hiddenFileCount > 0) {
|
|
215
|
+
lines.push(` ... and ${hiddenFileCount} more files`);
|
|
216
|
+
}
|
|
217
|
+
lines.push('');
|
|
218
|
+
}
|
|
219
|
+
// Helpful tip if items were hidden
|
|
220
|
+
if (totalHidden > 0) {
|
|
221
|
+
lines.push('💡 To see more: List subdirectories individually or use find_files to search');
|
|
222
|
+
}
|
|
223
|
+
return lines.join('\n');
|
|
224
|
+
}
|
|
61
225
|
/**
|
|
62
226
|
* Check if path is safe (not trying to escape cwd)
|
|
63
227
|
*/
|
package/dist/utils/file.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/utils/file.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/utils/file.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-output.d.ts","sourceRoot":"","sources":["../../src/utils/terminal-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;
|
|
1
|
+
{"version":3,"file":"terminal-output.d.ts","sourceRoot":"","sources":["../../src/utils/terminal-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA+CH;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAwFzD"}
|
|
@@ -7,6 +7,50 @@
|
|
|
7
7
|
* This module provides functions to correctly process such output so that only the
|
|
8
8
|
* final rendered state is preserved (not intermediate states that should be overwritten).
|
|
9
9
|
*/
|
|
10
|
+
/**
|
|
11
|
+
* Process backspace characters to simulate terminal buffer behavior.
|
|
12
|
+
*
|
|
13
|
+
* Terminals send \x08 (backspace) to move cursor left, often followed by
|
|
14
|
+
* space and another backspace to visually erase the character.
|
|
15
|
+
* This function simulates that behavior on a virtual buffer.
|
|
16
|
+
*
|
|
17
|
+
* @param input - String containing backspace characters
|
|
18
|
+
* @returns String with backspaces applied
|
|
19
|
+
*/
|
|
20
|
+
function processBackspaces(input) {
|
|
21
|
+
if (!input.includes('\x08'))
|
|
22
|
+
return input;
|
|
23
|
+
// Process the string character by character, simulating a terminal buffer
|
|
24
|
+
let result = '';
|
|
25
|
+
let cursorPos = 0;
|
|
26
|
+
for (let i = 0; i < input.length; i++) {
|
|
27
|
+
const char = input[i];
|
|
28
|
+
if (char === '\x08') {
|
|
29
|
+
// Backspace: move cursor left (but not past beginning)
|
|
30
|
+
if (cursorPos > 0) {
|
|
31
|
+
cursorPos--;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else if (char === '\n' || char === '\r') {
|
|
35
|
+
// Newline/CR: append and reset cursor
|
|
36
|
+
result = result.substring(0, cursorPos);
|
|
37
|
+
result += char;
|
|
38
|
+
cursorPos = result.length;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
// Regular character: insert/overwrite at cursor position
|
|
42
|
+
if (cursorPos < result.length) {
|
|
43
|
+
result = result.substring(0, cursorPos) + char + result.substring(cursorPos + 1);
|
|
44
|
+
}
|
|
45
|
+
else {
|
|
46
|
+
result += char;
|
|
47
|
+
}
|
|
48
|
+
cursorPos++;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
// Trim any trailing content after cursor (for partial backspace at end)
|
|
52
|
+
return result.substring(0, cursorPos);
|
|
53
|
+
}
|
|
10
54
|
/**
|
|
11
55
|
* Process terminal output to properly handle carriage returns and ANSI sequences.
|
|
12
56
|
*
|
|
@@ -62,8 +106,18 @@ export function processTerminalOutput(raw) {
|
|
|
62
106
|
.replace(/\x1b\[\d*X/g, '')
|
|
63
107
|
// SGR (Select Graphic Rendition) reset: \x1b[m
|
|
64
108
|
.replace(/\x1b\[m/g, '')
|
|
109
|
+
// SGR with parameters (colors, etc.): \x1b[n;n;...m - strip all color codes
|
|
110
|
+
.replace(/\x1b\[\d+(?:;\d+)*m/g, '')
|
|
65
111
|
// Strip any remaining escape sequences ending with letters that might leak through
|
|
66
|
-
.replace(/\x1b\[\d*[a-zA-Z]/g, '')
|
|
112
|
+
.replace(/\x1b\[\d*[a-zA-Z]/g, '')
|
|
113
|
+
// Strip any remaining bare escape sequences
|
|
114
|
+
.replace(/\x1b\[/g, '')
|
|
115
|
+
// Convert tab characters to spaces for consistent display
|
|
116
|
+
.replace(/\t/g, ' ');
|
|
117
|
+
// Process backspace sequences to simulate terminal behavior
|
|
118
|
+
// Terminal sends \b \b (backspace-space-backspace) to visually erase characters
|
|
119
|
+
// We need to simulate this in a virtual buffer
|
|
120
|
+
cleaned = processBackspaces(cleaned);
|
|
67
121
|
// Clean up multiple consecutive newlines (max 2)
|
|
68
122
|
cleaned = cleaned.replace(/\n{3,}/g, '\n\n');
|
|
69
123
|
// Split by newlines first, then process each "line segment" for carriage returns
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"terminal-output.js","sourceRoot":"","sources":["../../src/utils/terminal-output.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,qBAAqB,CAAC,GAAW;IAC7C,IAAI,CAAC,GAAG;QAAE,OAAO,EAAE,CAAC;IAEpB,iFAAiF;IACjF,0EAA0E;IAC1E,0EAA0E;IAC1E,IAAI,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;IAE5C,6EAA6E;IAC7E,wGAAwG;IACxG,kFAAkF;IAClF,OAAO,GAAG,OAAO;QACb,4EAA4E;QAC5E,sFAAsF;SACrF,OAAO,CAAC,oCAAoC,EAAE,EAAE,CAAC;QAClD,mFAAmF;SAClF,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC;QACnC,gGAAgG;SAC/F,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAC3B,4FAA4F;SAC3F,OAAO,CAAC,oBAAoB,EAAE,IAAI,CAAC;QACpC,6EAA6E;SAC5E,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAC9B,uDAAuD;SACtD,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC;QAC7B,mFAAmF;SAClF,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC/B,oDAAoD;SACnD,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;SAC1B,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC;QACzB,mDAAmD;SAClD,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAC3B,mCAAmC;SAClC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC;QAC9B,yCAAyC;SACxC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC;QAC/B,mFAAmF;SAClF,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC;QAChC,iCAAiC;SAChC,OAAO,CAAC,sBAAsB,EAAE,EAAE,CAAC;QACpC,qEAAqE;SACpE,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC;QAC3B,+CAA+C;SAC9C,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;QACxB,mFAAmF;SAClF,OAAO,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"terminal-output.js","sourceRoot":"","sources":["../../src/utils/terminal-output.ts"],"names":[],"mappings":"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"}
|
package/models-config.json
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"name": "Gemini 3 Pro (High Thinking)",
|
|
6
6
|
"description": "Next generation flagship with deep reasoning",
|
|
7
7
|
"provider": "google",
|
|
8
|
-
"contextWindow":
|
|
8
|
+
"contextWindow": 1000000,
|
|
9
9
|
"region": "global",
|
|
10
10
|
"supportsThinking": true,
|
|
11
11
|
"thinkingConfig": {
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"name": "Gemini 3 Pro (Low Thinking)",
|
|
27
27
|
"description": "Next generation flagship with faster responses",
|
|
28
28
|
"provider": "google",
|
|
29
|
-
"contextWindow":
|
|
29
|
+
"contextWindow": 1000000,
|
|
30
30
|
"region": "global",
|
|
31
31
|
"supportsThinking": true,
|
|
32
32
|
"thinkingConfig": {
|
|
@@ -42,12 +42,32 @@
|
|
|
42
42
|
"maxOutputTokens": 32768
|
|
43
43
|
}
|
|
44
44
|
},
|
|
45
|
+
{
|
|
46
|
+
"id": "gemini-3-flash-preview",
|
|
47
|
+
"name": "Gemini 3 Flash Preview",
|
|
48
|
+
"description": "Next generation fast and efficient model",
|
|
49
|
+
"provider": "google",
|
|
50
|
+
"contextWindow": 1000000,
|
|
51
|
+
"region": "global",
|
|
52
|
+
"supportsThinking": true,
|
|
53
|
+
"thinkingConfig": {
|
|
54
|
+
"thinking_config": {
|
|
55
|
+
"include_thoughts": true
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"generationConfig": {
|
|
59
|
+
"temperature": 0.1,
|
|
60
|
+
"topP": 0.95,
|
|
61
|
+
"topK": 64,
|
|
62
|
+
"maxOutputTokens": 32768
|
|
63
|
+
}
|
|
64
|
+
},
|
|
45
65
|
{
|
|
46
66
|
"id": "gemini-2.5-flash",
|
|
47
67
|
"name": "Gemini 2.5 Flash",
|
|
48
68
|
"description": "Fast and efficient",
|
|
49
69
|
"provider": "google",
|
|
50
|
-
"contextWindow":
|
|
70
|
+
"contextWindow": 1000000,
|
|
51
71
|
"region": "us-central1",
|
|
52
72
|
"supportsThinking": true,
|
|
53
73
|
"thinkingConfig": {
|
|
@@ -67,7 +87,7 @@
|
|
|
67
87
|
"name": "Gemini 2.5 Pro",
|
|
68
88
|
"description": "Most capable model",
|
|
69
89
|
"provider": "google",
|
|
70
|
-
"contextWindow":
|
|
90
|
+
"contextWindow": 1000000,
|
|
71
91
|
"region": "us-central1",
|
|
72
92
|
"supportsThinking": true,
|
|
73
93
|
"thinkingConfig": {
|