@orbitpanel/cli 0.8.1 → 0.8.3
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/lib/shell.d.ts +1 -1
- package/dist/lib/shell.js +44 -55
- package/dist/lib/shell.js.map +1 -1
- package/dist/lib/status-bar.d.ts +19 -21
- package/dist/lib/status-bar.js +106 -91
- package/dist/lib/status-bar.js.map +1 -1
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
package/dist/lib/shell.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Pure readline + chalk — no Ink/React dependency.
|
|
5
5
|
*
|
|
6
6
|
* Features:
|
|
7
|
-
* - Fixed bottom status bar (ANSI scroll regions
|
|
7
|
+
* - Fixed bottom status bar (ANSI scroll regions + refresh before prompt)
|
|
8
8
|
* - Tab completion with slash command suggestions
|
|
9
9
|
* - Contextual hints for unknown commands
|
|
10
10
|
* - AI chat with streaming + state machine
|
package/dist/lib/shell.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
* Pure readline + chalk — no Ink/React dependency.
|
|
5
5
|
*
|
|
6
6
|
* Features:
|
|
7
|
-
* - Fixed bottom status bar (ANSI scroll regions
|
|
7
|
+
* - Fixed bottom status bar (ANSI scroll regions + refresh before prompt)
|
|
8
8
|
* - Tab completion with slash command suggestions
|
|
9
9
|
* - Contextual hints for unknown commands
|
|
10
10
|
* - AI chat with streaming + state machine
|
|
@@ -27,7 +27,7 @@ import { completer as enhancedCompleter, formatSuggestionList } from './shell-co
|
|
|
27
27
|
import { getWelcomeHint, getUnknownCommandHint } from './shell-hints.js';
|
|
28
28
|
import { buildPromptString } from './shell-prompt.js';
|
|
29
29
|
import { StatusBar } from './status-bar.js';
|
|
30
|
-
// Default IO adapter
|
|
30
|
+
// Default IO adapter
|
|
31
31
|
const defaultStoreIO = {
|
|
32
32
|
loadConfig,
|
|
33
33
|
loadSiteLink: (cwd) => loadSiteLink(cwd),
|
|
@@ -37,14 +37,10 @@ const defaultStoreIO = {
|
|
|
37
37
|
function sleep(ms) {
|
|
38
38
|
return new Promise(r => setTimeout(r, ms));
|
|
39
39
|
}
|
|
40
|
-
// Tab-completion handler (delegates to shell-completer module)
|
|
41
40
|
function completer(line) {
|
|
42
41
|
return enhancedCompleter(line, SLASH_COMMANDS);
|
|
43
42
|
}
|
|
44
|
-
/**
|
|
45
|
-
* Build BarState from the current OrbitStore state.
|
|
46
|
-
* Single source of truth — reads from store, no duplicate state.
|
|
47
|
-
*/
|
|
43
|
+
/** Build BarState from store. Single source of truth. */
|
|
48
44
|
function buildBarState(store) {
|
|
49
45
|
const { tokenEntry, siteLink, session, gitBranch } = store.getState();
|
|
50
46
|
const sessionMinutes = session
|
|
@@ -61,7 +57,7 @@ function buildBarState(store) {
|
|
|
61
57
|
}
|
|
62
58
|
export async function startShell(version) {
|
|
63
59
|
const isTTY = process.stdin.isTTY === true;
|
|
64
|
-
// Header
|
|
60
|
+
// Header
|
|
65
61
|
console.clear();
|
|
66
62
|
console.log('');
|
|
67
63
|
for (const line of logoLines) {
|
|
@@ -72,12 +68,12 @@ export async function startShell(version) {
|
|
|
72
68
|
console.log(` ${chalk.bgRgb(37, 99, 235).white.bold(' CLI ')} ${chalk.bgHex('#1E293B').hex('#60A5FA')(` v${version} `)} ${DIM('·')} ${BL('Gestione Orbit Panel AI-powered')}`);
|
|
73
69
|
console.log('');
|
|
74
70
|
sep();
|
|
75
|
-
//
|
|
71
|
+
// Init state
|
|
76
72
|
const cwd = process.cwd();
|
|
77
73
|
const store = new OrbitStore(defaultStoreIO);
|
|
78
74
|
await store.init(cwd);
|
|
79
75
|
const { tokenEntry, siteLink, session } = store.getState();
|
|
80
|
-
//
|
|
76
|
+
// Welcome hint
|
|
81
77
|
const welcomeHint = getWelcomeHint({
|
|
82
78
|
hasToken: !!tokenEntry,
|
|
83
79
|
hasSite: !!siteLink,
|
|
@@ -85,13 +81,9 @@ export async function startShell(version) {
|
|
|
85
81
|
});
|
|
86
82
|
console.log(` ${DIM(welcomeHint)}`);
|
|
87
83
|
console.log('');
|
|
88
|
-
// ---
|
|
84
|
+
// --- Status bar ---
|
|
89
85
|
const bar = new StatusBar();
|
|
90
86
|
bar.init(buildBarState(store));
|
|
91
|
-
/** Update the status bar from store state. */
|
|
92
|
-
const updateBar = () => {
|
|
93
|
-
bar.update(buildBarState(store));
|
|
94
|
-
};
|
|
95
87
|
// REPL
|
|
96
88
|
const promptStr = buildPromptString();
|
|
97
89
|
const rl = createInterface({
|
|
@@ -101,18 +93,26 @@ export async function startShell(version) {
|
|
|
101
93
|
completer,
|
|
102
94
|
terminal: isTTY,
|
|
103
95
|
});
|
|
104
|
-
/**
|
|
96
|
+
/**
|
|
97
|
+
* Show prompt with status bar refresh.
|
|
98
|
+
* The bar is redrawn before every prompt for reliability.
|
|
99
|
+
*/
|
|
100
|
+
const showPrompt = () => {
|
|
101
|
+
bar.refresh();
|
|
102
|
+
rl.prompt();
|
|
103
|
+
};
|
|
104
|
+
/** Update bar state from store and refresh. */
|
|
105
|
+
const updateBar = () => {
|
|
106
|
+
bar.update(buildBarState(store));
|
|
107
|
+
};
|
|
108
|
+
/** Clean exit. */
|
|
105
109
|
const exitShell = () => {
|
|
106
110
|
bar.destroy();
|
|
107
111
|
console.log(`\n ${DIM('Alla prossima!')}\n`);
|
|
108
112
|
rl.close();
|
|
109
113
|
};
|
|
110
114
|
rl.on('SIGINT', exitShell);
|
|
111
|
-
process.on('SIGTSTP', () => {
|
|
112
|
-
exitShell();
|
|
113
|
-
process.exit(0);
|
|
114
|
-
});
|
|
115
|
-
// Prompt function for risk confirmations (uses the active readline)
|
|
115
|
+
process.on('SIGTSTP', () => { exitShell(); process.exit(0); });
|
|
116
116
|
const promptConfirm = (message) => {
|
|
117
117
|
return new Promise((resolve) => {
|
|
118
118
|
rl.question(message, (answer) => {
|
|
@@ -121,17 +121,16 @@ export async function startShell(version) {
|
|
|
121
121
|
});
|
|
122
122
|
});
|
|
123
123
|
};
|
|
124
|
-
|
|
124
|
+
showPrompt();
|
|
125
125
|
return new Promise((resolve) => {
|
|
126
126
|
rl.on('close', () => resolve());
|
|
127
127
|
rl.on('line', async (input) => {
|
|
128
128
|
const raw = input.trim();
|
|
129
129
|
const cmd = raw.toLowerCase();
|
|
130
130
|
if (!cmd) {
|
|
131
|
-
|
|
131
|
+
showPrompt();
|
|
132
132
|
return;
|
|
133
133
|
}
|
|
134
|
-
// --- Command routing (thin dispatcher) ---
|
|
135
134
|
if (cmd === '/exit' || cmd === '/quit' || cmd === '/q') {
|
|
136
135
|
exitShell();
|
|
137
136
|
return;
|
|
@@ -139,99 +138,98 @@ export async function startShell(version) {
|
|
|
139
138
|
if (cmd === '/clear' || cmd === '/cls') {
|
|
140
139
|
console.clear();
|
|
141
140
|
bar.reinit();
|
|
142
|
-
|
|
141
|
+
showPrompt();
|
|
143
142
|
return;
|
|
144
143
|
}
|
|
145
144
|
if (cmd === '/help' || cmd === '/h') {
|
|
146
145
|
printHelp();
|
|
147
|
-
|
|
146
|
+
showPrompt();
|
|
148
147
|
return;
|
|
149
148
|
}
|
|
150
149
|
if (cmd === '/status' || cmd === '/s') {
|
|
151
150
|
await cmdStatus();
|
|
152
|
-
|
|
151
|
+
showPrompt();
|
|
153
152
|
return;
|
|
154
153
|
}
|
|
155
154
|
if (cmd === '/doctor' || cmd === '/doc') {
|
|
156
155
|
await cmdDoctor();
|
|
157
|
-
|
|
156
|
+
showPrompt();
|
|
158
157
|
return;
|
|
159
158
|
}
|
|
160
159
|
if (cmd === '/session start' || cmd === '/ss') {
|
|
161
160
|
await cmdSessionStart();
|
|
162
161
|
await store.refresh(cwd);
|
|
163
162
|
updateBar();
|
|
164
|
-
|
|
163
|
+
showPrompt();
|
|
165
164
|
return;
|
|
166
165
|
}
|
|
167
166
|
if (cmd === '/session end' || cmd === '/se') {
|
|
168
167
|
await cmdSessionEnd();
|
|
169
168
|
await store.refresh(cwd);
|
|
170
169
|
updateBar();
|
|
171
|
-
|
|
170
|
+
showPrompt();
|
|
172
171
|
return;
|
|
173
172
|
}
|
|
174
173
|
if (cmd === '/session' || cmd === '/session info') {
|
|
175
174
|
await cmdSessionInfo();
|
|
176
|
-
|
|
175
|
+
showPrompt();
|
|
177
176
|
return;
|
|
178
177
|
}
|
|
179
178
|
if (cmd.startsWith('/note ') || cmd.startsWith('/n ')) {
|
|
180
179
|
await cmdNoteAdd(raw.slice(raw.indexOf(' ') + 1));
|
|
181
|
-
|
|
180
|
+
showPrompt();
|
|
182
181
|
return;
|
|
183
182
|
}
|
|
184
183
|
if (cmd === '/report' || cmd === '/r') {
|
|
185
184
|
await cmdReport(promptConfirm);
|
|
186
185
|
await store.refresh(cwd);
|
|
187
186
|
updateBar();
|
|
188
|
-
|
|
187
|
+
showPrompt();
|
|
189
188
|
return;
|
|
190
189
|
}
|
|
191
190
|
if (cmd === '/list' || cmd === '/ls' || cmd === '/interventions') {
|
|
192
191
|
await cmdList();
|
|
193
|
-
|
|
192
|
+
showPrompt();
|
|
194
193
|
return;
|
|
195
194
|
}
|
|
196
195
|
if (cmd === '/history' || cmd === '/hist') {
|
|
197
196
|
await cmdHistory();
|
|
198
|
-
|
|
197
|
+
showPrompt();
|
|
199
198
|
return;
|
|
200
199
|
}
|
|
201
200
|
if (cmd.startsWith('/get ') || cmd.startsWith('/g ')) {
|
|
202
201
|
await cmdGet(raw.split(' ')[1]);
|
|
203
|
-
|
|
202
|
+
showPrompt();
|
|
204
203
|
return;
|
|
205
204
|
}
|
|
206
205
|
if (cmd === '/sites' || cmd.startsWith('/sites ')) {
|
|
207
206
|
await cmdSites(cmd.split(' ')[1]);
|
|
208
207
|
await store.refresh(cwd);
|
|
209
208
|
updateBar();
|
|
210
|
-
|
|
209
|
+
showPrompt();
|
|
211
210
|
return;
|
|
212
211
|
}
|
|
213
212
|
if (cmd === '/auth') {
|
|
214
213
|
await cmdAuth();
|
|
215
214
|
await store.refresh(cwd);
|
|
216
215
|
updateBar();
|
|
217
|
-
|
|
216
|
+
showPrompt();
|
|
218
217
|
return;
|
|
219
218
|
}
|
|
220
219
|
if (cmd.startsWith('/login ')) {
|
|
221
220
|
await cmdLogin(raw.split(' ')[1]);
|
|
222
221
|
await store.refresh(cwd);
|
|
223
222
|
updateBar();
|
|
224
|
-
|
|
223
|
+
showPrompt();
|
|
225
224
|
return;
|
|
226
225
|
}
|
|
227
226
|
if (cmd.startsWith('/link ')) {
|
|
228
227
|
await cmdLink(raw.split(' ')[1]);
|
|
229
228
|
await store.refresh(cwd);
|
|
230
229
|
updateBar();
|
|
231
|
-
|
|
230
|
+
showPrompt();
|
|
232
231
|
return;
|
|
233
232
|
}
|
|
234
|
-
// "/" alone → show command list (discoverability)
|
|
235
233
|
if (cmd === '/') {
|
|
236
234
|
console.log('');
|
|
237
235
|
console.log(` ${sparkle} ${BB('Comandi disponibili')}`);
|
|
@@ -240,24 +238,21 @@ export async function startShell(version) {
|
|
|
240
238
|
console.log('');
|
|
241
239
|
console.log(` ${DIM('Premi Tab per completare, o scrivi in linguaggio naturale.')}`);
|
|
242
240
|
console.log('');
|
|
243
|
-
|
|
241
|
+
showPrompt();
|
|
244
242
|
return;
|
|
245
243
|
}
|
|
246
|
-
// Unknown slash command → suggest close matches
|
|
247
244
|
if (cmd.startsWith('/')) {
|
|
248
245
|
const hint = getUnknownCommandHint(cmd);
|
|
249
246
|
console.log(`\n ${DIM('Comando sconosciuto:')} ${WHITE(cmd)}`);
|
|
250
247
|
console.log(` ${DIM(hint)}\n`);
|
|
251
|
-
|
|
248
|
+
showPrompt();
|
|
252
249
|
return;
|
|
253
250
|
}
|
|
254
|
-
// Free text → AI chat (streaming with state machine + fallback)
|
|
255
251
|
await handleAIChat(raw, store);
|
|
256
|
-
|
|
252
|
+
showPrompt();
|
|
257
253
|
});
|
|
258
254
|
});
|
|
259
255
|
}
|
|
260
|
-
// --- Help output ---
|
|
261
256
|
function printHelp() {
|
|
262
257
|
console.log('');
|
|
263
258
|
console.log(` ${sparkle} ${BB('Comandi disponibili')}`);
|
|
@@ -270,7 +265,6 @@ function printHelp() {
|
|
|
270
265
|
console.log(` ${DIM('Oppure scrivi in linguaggio naturale per parlare con Orbit AI.')}`);
|
|
271
266
|
console.log('');
|
|
272
267
|
}
|
|
273
|
-
// --- AI Chat with streaming + state machine ---
|
|
274
268
|
async function handleAIChat(raw, store) {
|
|
275
269
|
const { config, siteLink } = store.getState();
|
|
276
270
|
console.log('');
|
|
@@ -280,7 +274,6 @@ async function handleAIChat(raw, store) {
|
|
|
280
274
|
try {
|
|
281
275
|
store.startRequest();
|
|
282
276
|
const result = await sendChatStream(raw, (event) => {
|
|
283
|
-
// State machine gates event processing
|
|
284
277
|
if (!sm.transition(event.type))
|
|
285
278
|
return;
|
|
286
279
|
switch (event.type) {
|
|
@@ -290,11 +283,10 @@ async function handleAIChat(raw, store) {
|
|
|
290
283
|
spinner.text = DIM(msg);
|
|
291
284
|
break;
|
|
292
285
|
}
|
|
293
|
-
case 'thinking':
|
|
286
|
+
case 'thinking':
|
|
294
287
|
if (spinner.isSpinning)
|
|
295
288
|
spinner.text = DIM('Analisi in corso...');
|
|
296
289
|
break;
|
|
297
|
-
}
|
|
298
290
|
case 'delta': {
|
|
299
291
|
if (spinner.isSpinning) {
|
|
300
292
|
spinner.stop();
|
|
@@ -306,12 +298,11 @@ async function handleAIChat(raw, store) {
|
|
|
306
298
|
process.stdout.write(chunk.replaceAll('\n', '\n '));
|
|
307
299
|
break;
|
|
308
300
|
}
|
|
309
|
-
case 'error':
|
|
301
|
+
case 'error':
|
|
310
302
|
if (spinner.isSpinning)
|
|
311
303
|
spinner.stop();
|
|
312
304
|
console.log(`\n ${chalk.red('✗')} ${event.data.message}`);
|
|
313
305
|
break;
|
|
314
|
-
}
|
|
315
306
|
case 'done':
|
|
316
307
|
if (spinner.isSpinning)
|
|
317
308
|
spinner.stop();
|
|
@@ -322,7 +313,6 @@ async function handleAIChat(raw, store) {
|
|
|
322
313
|
spinner.stop();
|
|
323
314
|
store.endRequest();
|
|
324
315
|
const contentStarted = sm.current === 'generating' || sm.current === 'done';
|
|
325
|
-
// Fallback: stream failed before any content → try non-streaming
|
|
326
316
|
if (result.error && !contentStarted) {
|
|
327
317
|
const fallback = await sendChat(raw);
|
|
328
318
|
if (fallback.error) {
|
|
@@ -352,7 +342,6 @@ async function handleAIChat(raw, store) {
|
|
|
352
342
|
if (spinner.isSpinning)
|
|
353
343
|
spinner.stop();
|
|
354
344
|
store.endRequest();
|
|
355
|
-
// Network-level failure → fallback to non-streaming
|
|
356
345
|
try {
|
|
357
346
|
const fallback = await sendChat(raw);
|
|
358
347
|
if (fallback.error) {
|
package/dist/lib/shell.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/lib/shell.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/lib/shell.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/status-bar.d.ts
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fixed bottom status bar for @orbitpanel/cli.
|
|
3
3
|
*
|
|
4
|
-
* Uses ANSI
|
|
5
|
-
*
|
|
4
|
+
* Uses ANSI escape sequences to draw a status bar on the last terminal row.
|
|
5
|
+
* Two mechanisms work together for reliability:
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* 2. All normal output (readline, console.log, ora) scrolls within that region
|
|
10
|
-
* 3. The last row is outside the scroll region → stays fixed
|
|
11
|
-
* 4. We write status content to that last row
|
|
7
|
+
* 1. SCROLL REGION (DECSTBM): Restricts scrollable area to rows 1..(N-1),
|
|
8
|
+
* keeping row N fixed. This makes the bar truly persistent during output.
|
|
12
9
|
*
|
|
13
|
-
*
|
|
10
|
+
* 2. REDRAW BEFORE PROMPT: The bar is also redrawn before each rl.prompt()
|
|
11
|
+
* via the refresh() method. Belt and suspenders.
|
|
12
|
+
*
|
|
13
|
+
* Non-TTY: completely disabled, all methods are no-ops.
|
|
14
14
|
*/
|
|
15
15
|
export interface BarState {
|
|
16
16
|
siteUrl?: string;
|
|
@@ -25,37 +25,35 @@ export interface BarState {
|
|
|
25
25
|
* Pure function — no side effects, fully testable.
|
|
26
26
|
*/
|
|
27
27
|
export declare function renderBarContent(state: BarState, width: number): string;
|
|
28
|
-
/**
|
|
29
|
-
* Fixed bottom status bar manager.
|
|
30
|
-
* Call init() to set up the scroll region, update() to refresh content,
|
|
31
|
-
* destroy() to clean up.
|
|
32
|
-
*/
|
|
33
28
|
export declare class StatusBar {
|
|
34
29
|
private active;
|
|
35
30
|
private rows;
|
|
36
31
|
private cols;
|
|
37
32
|
private lastState;
|
|
38
33
|
private resizeHandler;
|
|
39
|
-
|
|
34
|
+
private exitHandler;
|
|
40
35
|
get isActive(): boolean;
|
|
41
36
|
/**
|
|
42
|
-
* Initialize
|
|
37
|
+
* Initialize: set scroll region, draw bar, register cleanup handlers.
|
|
43
38
|
* No-op if not TTY.
|
|
44
39
|
*/
|
|
45
40
|
init(state: BarState): void;
|
|
46
41
|
/**
|
|
47
|
-
*
|
|
42
|
+
* Redraw the bar. Call this before rl.prompt() for belt-and-suspenders reliability.
|
|
43
|
+
* Uses DEC save/restore so it doesn't move readline's cursor.
|
|
44
|
+
*/
|
|
45
|
+
refresh(state?: BarState): void;
|
|
46
|
+
/**
|
|
47
|
+
* Update state and redraw.
|
|
48
48
|
*/
|
|
49
49
|
update(state: BarState): void;
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
52
|
-
* Re-inits the bar with current state.
|
|
51
|
+
* Re-setup after console.clear(). Resets scroll region and redraws.
|
|
53
52
|
*/
|
|
54
53
|
reinit(): void;
|
|
55
54
|
/**
|
|
56
|
-
*
|
|
55
|
+
* Clean up: reset scroll region, clear bar line, remove handlers.
|
|
57
56
|
*/
|
|
58
57
|
destroy(): void;
|
|
59
|
-
|
|
60
|
-
private drawBar;
|
|
58
|
+
private handleResize;
|
|
61
59
|
}
|
package/dist/lib/status-bar.js
CHANGED
|
@@ -1,70 +1,63 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Fixed bottom status bar for @orbitpanel/cli.
|
|
3
3
|
*
|
|
4
|
-
* Uses ANSI
|
|
5
|
-
*
|
|
4
|
+
* Uses ANSI escape sequences to draw a status bar on the last terminal row.
|
|
5
|
+
* Two mechanisms work together for reliability:
|
|
6
6
|
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* 2. All normal output (readline, console.log, ora) scrolls within that region
|
|
10
|
-
* 3. The last row is outside the scroll region → stays fixed
|
|
11
|
-
* 4. We write status content to that last row
|
|
7
|
+
* 1. SCROLL REGION (DECSTBM): Restricts scrollable area to rows 1..(N-1),
|
|
8
|
+
* keeping row N fixed. This makes the bar truly persistent during output.
|
|
12
9
|
*
|
|
13
|
-
*
|
|
10
|
+
* 2. REDRAW BEFORE PROMPT: The bar is also redrawn before each rl.prompt()
|
|
11
|
+
* via the refresh() method. Belt and suspenders.
|
|
12
|
+
*
|
|
13
|
+
* Non-TTY: completely disabled, all methods are no-ops.
|
|
14
14
|
*/
|
|
15
15
|
import chalk from 'chalk';
|
|
16
|
-
// ANSI escape
|
|
17
|
-
const ESC = '\x1b
|
|
18
|
-
const
|
|
19
|
-
|
|
20
|
-
const
|
|
21
|
-
const
|
|
16
|
+
// ANSI escape sequences
|
|
17
|
+
const ESC = '\x1b';
|
|
18
|
+
const CSI = `${ESC}[`;
|
|
19
|
+
// Cursor & screen
|
|
20
|
+
const DEC_SAVE = `${ESC}7`; // DEC save cursor (survives scroll region changes)
|
|
21
|
+
const DEC_RESTORE = `${ESC}8`; // DEC restore cursor
|
|
22
|
+
const CLEAR_LINE = `${CSI}2K`; // Erase entire line
|
|
23
|
+
const RESET_SCROLL = `${CSI}r`; // Reset scroll region to full terminal
|
|
22
24
|
function moveTo(row, col) {
|
|
23
|
-
return `${
|
|
25
|
+
return `${CSI}${row};${col}H`;
|
|
24
26
|
}
|
|
25
|
-
function
|
|
26
|
-
return `${
|
|
27
|
+
function scrollRegion(top, bottom) {
|
|
28
|
+
return `${CSI}${top};${bottom}r`;
|
|
27
29
|
}
|
|
28
|
-
// Colors
|
|
29
|
-
const
|
|
30
|
-
const
|
|
31
|
-
const YELLOW = chalk.hex('#EAB308');
|
|
32
|
-
const DIM = chalk.dim;
|
|
33
|
-
const BG = chalk.bgHex('#1E293B').hex('#94A3B8'); // dark bg, light text
|
|
34
|
-
const BG_ACCENT = chalk.bgHex('#1E293B').hex('#60A5FA'); // dark bg, blue text
|
|
30
|
+
// Colors — dark bg bar with colored segments
|
|
31
|
+
const BG = chalk.bgHex('#1E293B').hex('#94A3B8');
|
|
32
|
+
const BG_ACCENT = chalk.bgHex('#1E293B').hex('#60A5FA');
|
|
35
33
|
const BG_GREEN = chalk.bgHex('#1E293B').hex('#22C55E');
|
|
36
34
|
const BG_YELLOW = chalk.bgHex('#1E293B').hex('#EAB308');
|
|
37
35
|
const BG_DIM = chalk.bgHex('#1E293B').dim;
|
|
36
|
+
const BG_RED = chalk.bgHex('#1E293B').hex('#EF4444');
|
|
38
37
|
/**
|
|
39
38
|
* Render the status bar content string, padded to exactly `width` characters.
|
|
40
39
|
* Pure function — no side effects, fully testable.
|
|
41
40
|
*/
|
|
42
41
|
export function renderBarContent(state, width) {
|
|
43
42
|
const parts = [];
|
|
44
|
-
// Connection / site
|
|
45
43
|
if (!state.connected) {
|
|
46
|
-
parts.push(`${
|
|
44
|
+
parts.push(`${BG_RED('○')} ${BG_DIM('non connesso')}`);
|
|
47
45
|
}
|
|
48
46
|
else if (state.siteUrl) {
|
|
49
|
-
const
|
|
50
|
-
const display = state.siteUrl.length >
|
|
51
|
-
? state.siteUrl.slice(0,
|
|
47
|
+
const maxLen = Math.min(30, Math.floor(width * 0.35));
|
|
48
|
+
const display = state.siteUrl.length > maxLen
|
|
49
|
+
? state.siteUrl.slice(0, maxLen - 1) + '…'
|
|
52
50
|
: state.siteUrl;
|
|
53
51
|
parts.push(BG_ACCENT(display));
|
|
54
52
|
}
|
|
55
53
|
else {
|
|
56
54
|
parts.push(BG_DIM('nessun sito'));
|
|
57
55
|
}
|
|
58
|
-
// Environment
|
|
59
56
|
if (state.environment) {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
else {
|
|
64
|
-
parts.push(BG_DIM(state.environment));
|
|
65
|
-
}
|
|
57
|
+
parts.push(state.environment === 'production'
|
|
58
|
+
? BG_YELLOW('production')
|
|
59
|
+
: BG_DIM(state.environment));
|
|
66
60
|
}
|
|
67
|
-
// Git branch
|
|
68
61
|
if (state.gitBranch) {
|
|
69
62
|
const maxBranch = Math.min(25, Math.floor(width * 0.25));
|
|
70
63
|
const branch = state.gitBranch.length > maxBranch
|
|
@@ -72,35 +65,26 @@ export function renderBarContent(state, width) {
|
|
|
72
65
|
: state.gitBranch;
|
|
73
66
|
parts.push(BG_ACCENT(branch));
|
|
74
67
|
}
|
|
75
|
-
// Session
|
|
76
68
|
if (state.sessionActive) {
|
|
77
69
|
const mins = state.sessionMinutes ?? 0;
|
|
78
70
|
parts.push(`${BG_GREEN('●')} ${BG_DIM('attiva')} ${BG_DIM(`${mins}min`)}`);
|
|
79
71
|
}
|
|
80
72
|
const sep = BG_DIM(' │ ');
|
|
81
73
|
const content = parts.join(sep);
|
|
82
|
-
// Pad with bg color to fill the entire width
|
|
83
74
|
const stripped = content.replace(/\x1b\[[0-9;]*m/g, '');
|
|
84
75
|
const pad = Math.max(0, width - stripped.length);
|
|
85
76
|
return content + BG(' '.repeat(pad));
|
|
86
77
|
}
|
|
87
|
-
/**
|
|
88
|
-
* Fixed bottom status bar manager.
|
|
89
|
-
* Call init() to set up the scroll region, update() to refresh content,
|
|
90
|
-
* destroy() to clean up.
|
|
91
|
-
*/
|
|
92
78
|
export class StatusBar {
|
|
93
79
|
active = false;
|
|
94
80
|
rows = 0;
|
|
95
81
|
cols = 0;
|
|
96
82
|
lastState = null;
|
|
97
83
|
resizeHandler = null;
|
|
98
|
-
|
|
99
|
-
get isActive() {
|
|
100
|
-
return this.active;
|
|
101
|
-
}
|
|
84
|
+
exitHandler = null;
|
|
85
|
+
get isActive() { return this.active; }
|
|
102
86
|
/**
|
|
103
|
-
* Initialize
|
|
87
|
+
* Initialize: set scroll region, draw bar, register cleanup handlers.
|
|
104
88
|
* No-op if not TTY.
|
|
105
89
|
*/
|
|
106
90
|
init(state) {
|
|
@@ -110,77 +94,108 @@ export class StatusBar {
|
|
|
110
94
|
this.cols = process.stdout.columns ?? 80;
|
|
111
95
|
this.lastState = state;
|
|
112
96
|
this.active = true;
|
|
113
|
-
// Set scroll region to exclude last row
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
this.
|
|
117
|
-
//
|
|
118
|
-
process.stdout.write(moveTo(this.rows
|
|
119
|
-
|
|
120
|
-
this.
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
// Re-set scroll region for new size
|
|
126
|
-
process.stdout.write(saveCursor);
|
|
127
|
-
process.stdout.write(setScrollRegion(1, this.rows - 1));
|
|
128
|
-
this.drawBar(this.lastState ?? state);
|
|
129
|
-
process.stdout.write(restoreCursor);
|
|
130
|
-
};
|
|
97
|
+
// Set scroll region to exclude last row.
|
|
98
|
+
// DECSTBM moves cursor to (1,1) as side effect — we handle this below.
|
|
99
|
+
process.stdout.write(DEC_SAVE);
|
|
100
|
+
process.stdout.write(scrollRegion(1, this.rows - 1));
|
|
101
|
+
// Draw bar on the fixed last row
|
|
102
|
+
process.stdout.write(moveTo(this.rows, 1));
|
|
103
|
+
process.stdout.write(CLEAR_LINE);
|
|
104
|
+
process.stdout.write(renderBarContent(state, this.cols));
|
|
105
|
+
// Restore cursor to where it was before we changed anything
|
|
106
|
+
process.stdout.write(DEC_RESTORE);
|
|
107
|
+
// Resize handler
|
|
108
|
+
this.resizeHandler = () => this.handleResize();
|
|
131
109
|
process.stdout.on('resize', this.resizeHandler);
|
|
110
|
+
// Safety: always reset scroll region on exit to avoid broken terminal
|
|
111
|
+
this.exitHandler = () => {
|
|
112
|
+
process.stdout.write(RESET_SCROLL);
|
|
113
|
+
};
|
|
114
|
+
process.on('exit', this.exitHandler);
|
|
132
115
|
}
|
|
133
116
|
/**
|
|
134
|
-
*
|
|
117
|
+
* Redraw the bar. Call this before rl.prompt() for belt-and-suspenders reliability.
|
|
118
|
+
* Uses DEC save/restore so it doesn't move readline's cursor.
|
|
135
119
|
*/
|
|
136
|
-
|
|
120
|
+
refresh(state) {
|
|
137
121
|
if (!this.active)
|
|
138
122
|
return;
|
|
123
|
+
if (state)
|
|
124
|
+
this.lastState = state;
|
|
125
|
+
if (!this.lastState)
|
|
126
|
+
return;
|
|
127
|
+
this.cols = process.stdout.columns ?? 80;
|
|
128
|
+
process.stdout.write(DEC_SAVE);
|
|
129
|
+
process.stdout.write(moveTo(this.rows, 1));
|
|
130
|
+
process.stdout.write(CLEAR_LINE);
|
|
131
|
+
process.stdout.write(renderBarContent(this.lastState, this.cols));
|
|
132
|
+
process.stdout.write(DEC_RESTORE);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Update state and redraw.
|
|
136
|
+
*/
|
|
137
|
+
update(state) {
|
|
139
138
|
this.lastState = state;
|
|
140
|
-
|
|
141
|
-
this.drawBar(state);
|
|
142
|
-
process.stdout.write(restoreCursor);
|
|
139
|
+
this.refresh();
|
|
143
140
|
}
|
|
144
141
|
/**
|
|
145
|
-
*
|
|
146
|
-
* Re-inits the bar with current state.
|
|
142
|
+
* Re-setup after console.clear(). Resets scroll region and redraws.
|
|
147
143
|
*/
|
|
148
144
|
reinit() {
|
|
149
145
|
if (!this.active || !this.lastState)
|
|
150
146
|
return;
|
|
151
147
|
this.rows = process.stdout.rows ?? 24;
|
|
152
148
|
this.cols = process.stdout.columns ?? 80;
|
|
153
|
-
process.stdout.write(
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
process.stdout.write(
|
|
149
|
+
process.stdout.write(DEC_SAVE);
|
|
150
|
+
process.stdout.write(scrollRegion(1, this.rows - 1));
|
|
151
|
+
process.stdout.write(moveTo(this.rows, 1));
|
|
152
|
+
process.stdout.write(CLEAR_LINE);
|
|
153
|
+
process.stdout.write(renderBarContent(this.lastState, this.cols));
|
|
154
|
+
process.stdout.write(DEC_RESTORE);
|
|
157
155
|
}
|
|
158
156
|
/**
|
|
159
|
-
*
|
|
157
|
+
* Clean up: reset scroll region, clear bar line, remove handlers.
|
|
160
158
|
*/
|
|
161
159
|
destroy() {
|
|
162
160
|
if (!this.active)
|
|
163
161
|
return;
|
|
164
162
|
this.active = false;
|
|
165
|
-
// Reset scroll region
|
|
166
|
-
process.stdout.write(
|
|
167
|
-
// Clear
|
|
168
|
-
process.stdout.write(
|
|
163
|
+
// Reset scroll region
|
|
164
|
+
process.stdout.write(RESET_SCROLL);
|
|
165
|
+
// Clear bar line
|
|
166
|
+
process.stdout.write(DEC_SAVE);
|
|
169
167
|
process.stdout.write(moveTo(this.rows, 1));
|
|
170
|
-
process.stdout.write(
|
|
171
|
-
process.stdout.write(
|
|
172
|
-
// Remove resize listener
|
|
168
|
+
process.stdout.write(CLEAR_LINE);
|
|
169
|
+
process.stdout.write(DEC_RESTORE);
|
|
173
170
|
if (this.resizeHandler) {
|
|
174
171
|
process.stdout.removeListener('resize', this.resizeHandler);
|
|
175
172
|
this.resizeHandler = null;
|
|
176
173
|
}
|
|
174
|
+
if (this.exitHandler) {
|
|
175
|
+
process.removeListener('exit', this.exitHandler);
|
|
176
|
+
this.exitHandler = null;
|
|
177
|
+
}
|
|
177
178
|
}
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
179
|
+
handleResize() {
|
|
180
|
+
if (!this.active || !this.lastState)
|
|
181
|
+
return;
|
|
182
|
+
const oldRows = this.rows;
|
|
183
|
+
this.rows = process.stdout.rows ?? 24;
|
|
184
|
+
this.cols = process.stdout.columns ?? 80;
|
|
185
|
+
// Clear old bar position if terminal grew
|
|
186
|
+
if (this.rows !== oldRows) {
|
|
187
|
+
process.stdout.write(DEC_SAVE);
|
|
188
|
+
process.stdout.write(moveTo(oldRows, 1));
|
|
189
|
+
process.stdout.write(CLEAR_LINE);
|
|
190
|
+
process.stdout.write(DEC_RESTORE);
|
|
191
|
+
}
|
|
192
|
+
// Re-set scroll region and redraw
|
|
193
|
+
process.stdout.write(DEC_SAVE);
|
|
194
|
+
process.stdout.write(scrollRegion(1, this.rows - 1));
|
|
181
195
|
process.stdout.write(moveTo(this.rows, 1));
|
|
182
|
-
process.stdout.write(
|
|
183
|
-
process.stdout.write(
|
|
196
|
+
process.stdout.write(CLEAR_LINE);
|
|
197
|
+
process.stdout.write(renderBarContent(this.lastState, this.cols));
|
|
198
|
+
process.stdout.write(DEC_RESTORE);
|
|
184
199
|
}
|
|
185
200
|
}
|
|
186
201
|
//# sourceMappingURL=status-bar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-bar.js","sourceRoot":"","sources":["../../src/lib/status-bar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,
|
|
1
|
+
{"version":3,"file":"status-bar.js","sourceRoot":"","sources":["../../src/lib/status-bar.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED