@orbitpanel/cli 0.6.0 → 0.8.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/dist/lib/doctor-diagnostics.d.ts +27 -0
- package/dist/lib/doctor-diagnostics.js +131 -0
- package/dist/lib/doctor-diagnostics.js.map +1 -0
- package/dist/lib/report-builder.d.ts +1 -0
- package/dist/lib/report-builder.js +1 -1
- package/dist/lib/report-builder.js.map +1 -1
- package/dist/lib/session.d.ts +2 -0
- package/dist/lib/session.js +20 -0
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/shell-commands.d.ts +1 -0
- package/dist/lib/shell-commands.js +99 -11
- package/dist/lib/shell-commands.js.map +1 -1
- package/dist/lib/shell-completer.d.ts +25 -0
- package/dist/lib/shell-completer.js +56 -0
- package/dist/lib/shell-completer.js.map +1 -0
- package/dist/lib/shell-hints.d.ts +19 -0
- package/dist/lib/shell-hints.js +84 -0
- package/dist/lib/shell-hints.js.map +1 -0
- package/dist/lib/shell-prompt.d.ts +37 -0
- package/dist/lib/shell-prompt.js +77 -0
- package/dist/lib/shell-prompt.js.map +1 -0
- package/dist/lib/shell-render.js +1 -0
- package/dist/lib/shell-render.js.map +1 -1
- package/dist/lib/shell.d.ts +6 -0
- package/dist/lib/shell.js +90 -47
- package/dist/lib/shell.js.map +1 -1
- package/dist/lib/status-bar.d.ts +61 -0
- package/dist/lib/status-bar.js +186 -0
- package/dist/lib/status-bar.js.map +1 -0
- package/dist/lib/ui.d.ts +1 -0
- package/dist/lib/ui.js +2 -0
- package/dist/lib/ui.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/oclif.manifest.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contextual UX hints for the Orbit CLI shell.
|
|
3
|
+
* Shows the right hint at the right time — not spam, not silence.
|
|
4
|
+
*/
|
|
5
|
+
export interface ShellState {
|
|
6
|
+
hasToken: boolean;
|
|
7
|
+
hasSite: boolean;
|
|
8
|
+
hasSession: boolean;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Get a contextual welcome hint based on current shell state.
|
|
12
|
+
* Returns different messages depending on what's configured.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getWelcomeHint(state: ShellState): string;
|
|
15
|
+
/**
|
|
16
|
+
* Get a helpful hint when user types an unknown slash command.
|
|
17
|
+
* Uses prefix matching and basic edit-distance to suggest close matches.
|
|
18
|
+
*/
|
|
19
|
+
export declare function getUnknownCommandHint(input: string): string;
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Contextual UX hints for the Orbit CLI shell.
|
|
3
|
+
* Shows the right hint at the right time — not spam, not silence.
|
|
4
|
+
*/
|
|
5
|
+
import { SLASH_COMMANDS } from './shell-render.js';
|
|
6
|
+
/**
|
|
7
|
+
* Get a contextual welcome hint based on current shell state.
|
|
8
|
+
* Returns different messages depending on what's configured.
|
|
9
|
+
*/
|
|
10
|
+
export function getWelcomeHint(state) {
|
|
11
|
+
if (!state.hasToken) {
|
|
12
|
+
return 'Non sei autenticato. Esegui /auth per accedere con il browser, oppure /login <token>.';
|
|
13
|
+
}
|
|
14
|
+
if (!state.hasSite) {
|
|
15
|
+
return 'Nessun sito collegato. Esegui /sites per vedere i siti disponibili.';
|
|
16
|
+
}
|
|
17
|
+
if (state.hasSession) {
|
|
18
|
+
return 'Sessione attiva — usa /note per annotare, o scrivi in linguaggio naturale per parlare con Orbit AI.';
|
|
19
|
+
}
|
|
20
|
+
return 'Digita /help per i comandi, /session start per iniziare a lavorare, o premi Tab per completare.';
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get a helpful hint when user types an unknown slash command.
|
|
24
|
+
* Uses prefix matching and basic edit-distance to suggest close matches.
|
|
25
|
+
*/
|
|
26
|
+
export function getUnknownCommandHint(input) {
|
|
27
|
+
const lower = input.toLowerCase();
|
|
28
|
+
if (lower === '/') {
|
|
29
|
+
return 'Digita /help per la lista comandi.';
|
|
30
|
+
}
|
|
31
|
+
// Try prefix match first (fastest, most common case)
|
|
32
|
+
const prefixMatches = SLASH_COMMANDS.filter(c => c.cmd.toLowerCase().startsWith(lower) ||
|
|
33
|
+
(c.alias && c.alias.toLowerCase().startsWith(lower)));
|
|
34
|
+
if (prefixMatches.length > 0) {
|
|
35
|
+
if (prefixMatches.length === 1) {
|
|
36
|
+
return `Forse intendevi ${prefixMatches[0].cmd}?`;
|
|
37
|
+
}
|
|
38
|
+
const cmds = prefixMatches.slice(0, 3).map(c => c.cmd).join(', ');
|
|
39
|
+
return `Forse intendevi: ${cmds}?`;
|
|
40
|
+
}
|
|
41
|
+
// Try fuzzy match: check if input is a substring of any command
|
|
42
|
+
const fuzzyMatches = SLASH_COMMANDS.filter(c => {
|
|
43
|
+
const cmd = c.cmd.toLowerCase();
|
|
44
|
+
const alias = (c.alias ?? '').toLowerCase();
|
|
45
|
+
return cmd.includes(lower.slice(1)) || alias.includes(lower.slice(1));
|
|
46
|
+
});
|
|
47
|
+
if (fuzzyMatches.length > 0) {
|
|
48
|
+
if (fuzzyMatches.length === 1) {
|
|
49
|
+
return `Forse intendevi ${fuzzyMatches[0].cmd}?`;
|
|
50
|
+
}
|
|
51
|
+
const cmds = fuzzyMatches.slice(0, 3).map(c => c.cmd).join(', ');
|
|
52
|
+
return `Forse intendevi: ${cmds}?`;
|
|
53
|
+
}
|
|
54
|
+
// Try Levenshtein-like: find closest command by character overlap
|
|
55
|
+
const scored = SLASH_COMMANDS
|
|
56
|
+
.map(c => ({
|
|
57
|
+
cmd: c,
|
|
58
|
+
score: charOverlap(lower, c.cmd.toLowerCase()) +
|
|
59
|
+
(c.alias ? charOverlap(lower, c.alias.toLowerCase()) * 0.5 : 0),
|
|
60
|
+
}))
|
|
61
|
+
.filter(s => s.score > 0.45)
|
|
62
|
+
.sort((a, b) => b.score - a.score);
|
|
63
|
+
if (scored.length > 0) {
|
|
64
|
+
return `Forse intendevi ${scored[0].cmd.cmd}?`;
|
|
65
|
+
}
|
|
66
|
+
return 'Comando sconosciuto. Digita /help per la lista comandi.';
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Simple character overlap score between two strings.
|
|
70
|
+
* Returns 0-1 ratio of matching characters.
|
|
71
|
+
*/
|
|
72
|
+
function charOverlap(a, b) {
|
|
73
|
+
if (a.length === 0 || b.length === 0)
|
|
74
|
+
return 0;
|
|
75
|
+
const aChars = new Set(a.split(''));
|
|
76
|
+
const bChars = new Set(b.split(''));
|
|
77
|
+
let matches = 0;
|
|
78
|
+
for (const c of aChars) {
|
|
79
|
+
if (bChars.has(c))
|
|
80
|
+
matches++;
|
|
81
|
+
}
|
|
82
|
+
return matches / Math.max(aChars.size, bChars.size);
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=shell-hints.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-hints.js","sourceRoot":"","sources":["../../src/lib/shell-hints.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell prompt rendering for @orbitpanel/cli.
|
|
3
|
+
*
|
|
4
|
+
* Provides:
|
|
5
|
+
* - renderContextLine(): compact status bar printed before each prompt
|
|
6
|
+
* - buildPromptString(): the input prompt string
|
|
7
|
+
*
|
|
8
|
+
* Design: the context line is printed BEFORE rl.prompt() on every cycle.
|
|
9
|
+
* This creates a stable visual pattern:
|
|
10
|
+
*
|
|
11
|
+
* [command output]
|
|
12
|
+
*
|
|
13
|
+
* acme.com · local-dev · feature/header · ● attiva 12min
|
|
14
|
+
* ❯ orbit · _
|
|
15
|
+
*
|
|
16
|
+
* In non-TTY mode, the context line is skipped entirely.
|
|
17
|
+
*/
|
|
18
|
+
export interface ContextLineInput {
|
|
19
|
+
isTTY: boolean;
|
|
20
|
+
hasToken: boolean;
|
|
21
|
+
siteUrl?: string;
|
|
22
|
+
environment?: string;
|
|
23
|
+
gitBranch?: string;
|
|
24
|
+
sessionActive: boolean;
|
|
25
|
+
sessionMinutes?: number;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Render a compact context line for display above the prompt.
|
|
29
|
+
* Returns null in non-TTY mode (no context to show).
|
|
30
|
+
*/
|
|
31
|
+
export declare function renderContextLine(input: ContextLineInput): string | null;
|
|
32
|
+
/**
|
|
33
|
+
* Build the prompt string for readline.
|
|
34
|
+
* Clean and minimal — like Claude Code's ❯ prompt.
|
|
35
|
+
* "orbit" is the identity, "❯" is the action point.
|
|
36
|
+
*/
|
|
37
|
+
export declare function buildPromptString(): string;
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell prompt rendering for @orbitpanel/cli.
|
|
3
|
+
*
|
|
4
|
+
* Provides:
|
|
5
|
+
* - renderContextLine(): compact status bar printed before each prompt
|
|
6
|
+
* - buildPromptString(): the input prompt string
|
|
7
|
+
*
|
|
8
|
+
* Design: the context line is printed BEFORE rl.prompt() on every cycle.
|
|
9
|
+
* This creates a stable visual pattern:
|
|
10
|
+
*
|
|
11
|
+
* [command output]
|
|
12
|
+
*
|
|
13
|
+
* acme.com · local-dev · feature/header · ● attiva 12min
|
|
14
|
+
* ❯ orbit · _
|
|
15
|
+
*
|
|
16
|
+
* In non-TTY mode, the context line is skipped entirely.
|
|
17
|
+
*/
|
|
18
|
+
import chalk from 'chalk';
|
|
19
|
+
const B = chalk.rgb(37, 99, 235);
|
|
20
|
+
const BB = chalk.bold.rgb(37, 99, 235);
|
|
21
|
+
const BL = chalk.hex('#60A5FA');
|
|
22
|
+
const GREEN = chalk.hex('#22C55E');
|
|
23
|
+
const YELLOW = chalk.hex('#EAB308');
|
|
24
|
+
const DIM = chalk.dim;
|
|
25
|
+
const SEP = DIM(' · ');
|
|
26
|
+
/**
|
|
27
|
+
* Render a compact context line for display above the prompt.
|
|
28
|
+
* Returns null in non-TTY mode (no context to show).
|
|
29
|
+
*/
|
|
30
|
+
export function renderContextLine(input) {
|
|
31
|
+
if (!input.isTTY)
|
|
32
|
+
return null;
|
|
33
|
+
const parts = [];
|
|
34
|
+
// Authentication state
|
|
35
|
+
if (!input.hasToken) {
|
|
36
|
+
parts.push(`${chalk.red('○')} ${DIM('non connesso')}`);
|
|
37
|
+
return ` ${parts.join(SEP)}`;
|
|
38
|
+
}
|
|
39
|
+
// Site
|
|
40
|
+
if (input.siteUrl) {
|
|
41
|
+
const displayUrl = input.siteUrl.length > 40
|
|
42
|
+
? input.siteUrl.slice(0, 37) + '...'
|
|
43
|
+
: input.siteUrl;
|
|
44
|
+
parts.push(BL(displayUrl));
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
parts.push(DIM('nessun sito'));
|
|
48
|
+
}
|
|
49
|
+
// Environment
|
|
50
|
+
if (input.environment) {
|
|
51
|
+
if (input.environment === 'production') {
|
|
52
|
+
parts.push(YELLOW('production'));
|
|
53
|
+
}
|
|
54
|
+
else {
|
|
55
|
+
parts.push(DIM(input.environment));
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
// Git branch
|
|
59
|
+
if (input.gitBranch) {
|
|
60
|
+
parts.push(BL(input.gitBranch));
|
|
61
|
+
}
|
|
62
|
+
// Session
|
|
63
|
+
if (input.sessionActive) {
|
|
64
|
+
const mins = input.sessionMinutes ?? 0;
|
|
65
|
+
parts.push(`${GREEN('●')} ${DIM('attiva')} ${DIM(`${mins}min`)}`);
|
|
66
|
+
}
|
|
67
|
+
return ` ${parts.join(SEP)}`;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Build the prompt string for readline.
|
|
71
|
+
* Clean and minimal — like Claude Code's ❯ prompt.
|
|
72
|
+
* "orbit" is the identity, "❯" is the action point.
|
|
73
|
+
*/
|
|
74
|
+
export function buildPromptString() {
|
|
75
|
+
return `${B('orbit')} ${BB('❯')} `;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=shell-prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-prompt.js","sourceRoot":"","sources":["../../src/lib/shell-prompt.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACjC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACvC,MAAM,EAAE,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AAChC,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACnC,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACpC,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;AAYtB,MAAM,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC;AAEvB;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAuB;IACvD,IAAI,CAAC,KAAK,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAE9B,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,uBAAuB;IACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;QACvD,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;IAChC,CAAC;IAED,OAAO;IACP,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,EAAE;YAC1C,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK;YACpC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC;QAClB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAC7B,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC;IACjC,CAAC;IAED,cAAc;IACd,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACtB,IAAI,KAAK,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;YACvC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC;QACnC,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,aAAa;IACb,IAAI,KAAK,CAAC,SAAS,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;IAClC,CAAC;IAED,UAAU;IACV,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;QACxB,MAAM,IAAI,GAAG,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,GAAG,IAAI,KAAK,CAAC,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,OAAO,KAAK,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;AAChC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,GAAG,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;AACrC,CAAC"}
|
package/dist/lib/shell-render.js
CHANGED
|
@@ -33,6 +33,7 @@ export const SLASH_COMMANDS = [
|
|
|
33
33
|
{ cmd: '/report', alias: '/r', desc: 'invia report a Orbit' },
|
|
34
34
|
{ cmd: '/list', alias: '/ls', desc: 'lista interventi' },
|
|
35
35
|
{ cmd: '/get', alias: '/g', desc: 'dettaglio intervento (+ id)' },
|
|
36
|
+
{ cmd: '/history', alias: '/hist', desc: 'sessioni passate' },
|
|
36
37
|
{ cmd: '/sites', alias: '', desc: 'lista siti e seleziona' },
|
|
37
38
|
{ cmd: '/auth', alias: '', desc: 'accedi con browser' },
|
|
38
39
|
{ cmd: '/login', alias: '', desc: 'configura token (+ token)' },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shell-render.js","sourceRoot":"","sources":["../../src/lib/shell-render.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"shell-render.js","sourceRoot":"","sources":["../../src/lib/shell-render.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/shell.d.ts
CHANGED
|
@@ -2,5 +2,11 @@
|
|
|
2
2
|
* Interactive REPL shell for @orbitpanel/cli.
|
|
3
3
|
* Thin orchestration layer — delegates to shell-commands.ts and shell-render.ts.
|
|
4
4
|
* Pure readline + chalk — no Ink/React dependency.
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Fixed bottom status bar (ANSI scroll regions, like Claude Code)
|
|
8
|
+
* - Tab completion with slash command suggestions
|
|
9
|
+
* - Contextual hints for unknown commands
|
|
10
|
+
* - AI chat with streaming + state machine
|
|
5
11
|
*/
|
|
6
12
|
export declare function startShell(version: string): Promise<void>;
|
package/dist/lib/shell.js
CHANGED
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
* Interactive REPL shell for @orbitpanel/cli.
|
|
3
3
|
* Thin orchestration layer — delegates to shell-commands.ts and shell-render.ts.
|
|
4
4
|
* Pure readline + chalk — no Ink/React dependency.
|
|
5
|
+
*
|
|
6
|
+
* Features:
|
|
7
|
+
* - Fixed bottom status bar (ANSI scroll regions, like Claude Code)
|
|
8
|
+
* - Tab completion with slash command suggestions
|
|
9
|
+
* - Contextual hints for unknown commands
|
|
10
|
+
* - AI chat with streaming + state machine
|
|
5
11
|
*/
|
|
6
12
|
import chalk from 'chalk';
|
|
7
13
|
import ora from 'ora';
|
|
@@ -15,9 +21,12 @@ import { OrbitStore } from '../state/store.js';
|
|
|
15
21
|
import { sendChatStream } from './ai-stream.js';
|
|
16
22
|
import { StreamStateMachine } from './stream-state.js';
|
|
17
23
|
import { outputBlock } from './ui.js';
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
24
|
+
import { BL, BB, DIM, WHITE, orbitGrad, sparkle, logoLines, SLASH_COMMANDS, sep, } from './shell-render.js';
|
|
25
|
+
import { cmdStatus, cmdDoctor, cmdSessionStart, cmdSessionEnd, cmdSessionInfo, cmdNoteAdd, cmdReport, cmdList, cmdGet, cmdHistory, cmdSites, cmdAuth, cmdLogin, cmdLink, } from './shell-commands.js';
|
|
26
|
+
import { completer as enhancedCompleter, formatSuggestionList } from './shell-completer.js';
|
|
27
|
+
import { getWelcomeHint, getUnknownCommandHint } from './shell-hints.js';
|
|
28
|
+
import { buildPromptString } from './shell-prompt.js';
|
|
29
|
+
import { StatusBar } from './status-bar.js';
|
|
21
30
|
// Default IO adapter — bridges store to real filesystem modules
|
|
22
31
|
const defaultStoreIO = {
|
|
23
32
|
loadConfig,
|
|
@@ -28,16 +37,30 @@ const defaultStoreIO = {
|
|
|
28
37
|
function sleep(ms) {
|
|
29
38
|
return new Promise(r => setTimeout(r, ms));
|
|
30
39
|
}
|
|
31
|
-
// Tab-completion handler
|
|
40
|
+
// Tab-completion handler (delegates to shell-completer module)
|
|
32
41
|
function completer(line) {
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
42
|
+
return enhancedCompleter(line, SLASH_COMMANDS);
|
|
43
|
+
}
|
|
44
|
+
/**
|
|
45
|
+
* Build BarState from the current OrbitStore state.
|
|
46
|
+
* Single source of truth — reads from store, no duplicate state.
|
|
47
|
+
*/
|
|
48
|
+
function buildBarState(store) {
|
|
49
|
+
const { tokenEntry, siteLink, session, gitBranch } = store.getState();
|
|
50
|
+
const sessionMinutes = session
|
|
51
|
+
? Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000)
|
|
52
|
+
: undefined;
|
|
53
|
+
return {
|
|
54
|
+
connected: !!tokenEntry,
|
|
55
|
+
siteUrl: siteLink?.final_url ?? siteLink?.name ?? (siteLink ? siteLink.orbit_site_id.slice(0, 16) : undefined),
|
|
56
|
+
environment: siteLink?.environment,
|
|
57
|
+
gitBranch: (session?.git_branch ?? gitBranch) ?? undefined,
|
|
58
|
+
sessionActive: session?.status === 'active',
|
|
59
|
+
sessionMinutes,
|
|
60
|
+
};
|
|
39
61
|
}
|
|
40
62
|
export async function startShell(version) {
|
|
63
|
+
const isTTY = process.stdin.isTTY === true;
|
|
41
64
|
// Header with line-by-line animation
|
|
42
65
|
console.clear();
|
|
43
66
|
console.log('');
|
|
@@ -47,53 +70,46 @@ export async function startShell(version) {
|
|
|
47
70
|
}
|
|
48
71
|
console.log('');
|
|
49
72
|
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
|
+
console.log('');
|
|
74
|
+
sep();
|
|
50
75
|
// Initialize centralized state
|
|
51
76
|
const cwd = process.cwd();
|
|
52
77
|
const store = new OrbitStore(defaultStoreIO);
|
|
53
78
|
await store.init(cwd);
|
|
54
|
-
const {
|
|
55
|
-
//
|
|
56
|
-
const
|
|
57
|
-
|
|
58
|
-
:
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
siteUrl: siteLink?.final_url ?? (siteLink ? siteLink.orbit_site_id.slice(0, 16) : undefined),
|
|
63
|
-
sessionMinutes,
|
|
64
|
-
gitBranch: (session?.git_branch ?? gitBranch) ?? undefined,
|
|
65
|
-
runtimeMode: runtime,
|
|
66
|
-
}));
|
|
67
|
-
console.log('');
|
|
68
|
-
sep();
|
|
69
|
-
// Auto-prompt auth
|
|
70
|
-
if (!tokenEntry) {
|
|
71
|
-
console.log('');
|
|
72
|
-
console.log(` ${YELLOW('Non sei autenticato.')}`);
|
|
73
|
-
console.log('');
|
|
74
|
-
console.log(` ${BL('/auth')} accedi con il browser (consigliato)`);
|
|
75
|
-
console.log(` ${DIM('/login <t>')} inserisci un token MCP manualmente`);
|
|
76
|
-
console.log('');
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
console.log(` ${DIM('Digita /help per la lista comandi, o scrivi in linguaggio naturale.')}`);
|
|
80
|
-
}
|
|
79
|
+
const { tokenEntry, siteLink, session } = store.getState();
|
|
80
|
+
// Contextual welcome hint based on shell state
|
|
81
|
+
const welcomeHint = getWelcomeHint({
|
|
82
|
+
hasToken: !!tokenEntry,
|
|
83
|
+
hasSite: !!siteLink,
|
|
84
|
+
hasSession: !!session,
|
|
85
|
+
});
|
|
86
|
+
console.log(` ${DIM(welcomeHint)}`);
|
|
81
87
|
console.log('');
|
|
88
|
+
// --- Fixed bottom status bar (like Claude Code) ---
|
|
89
|
+
const bar = new StatusBar();
|
|
90
|
+
bar.init(buildBarState(store));
|
|
91
|
+
/** Update the status bar from store state. */
|
|
92
|
+
const updateBar = () => {
|
|
93
|
+
bar.update(buildBarState(store));
|
|
94
|
+
};
|
|
82
95
|
// REPL
|
|
96
|
+
const promptStr = buildPromptString();
|
|
83
97
|
const rl = createInterface({
|
|
84
98
|
input: process.stdin,
|
|
85
99
|
output: process.stdout,
|
|
86
|
-
prompt:
|
|
100
|
+
prompt: promptStr,
|
|
87
101
|
completer,
|
|
88
|
-
terminal:
|
|
102
|
+
terminal: isTTY,
|
|
89
103
|
});
|
|
90
|
-
|
|
91
|
-
|
|
104
|
+
/** Clean exit: destroy bar, close readline. */
|
|
105
|
+
const exitShell = () => {
|
|
106
|
+
bar.destroy();
|
|
107
|
+
console.log(`\n ${DIM('Alla prossima!')}\n`);
|
|
92
108
|
rl.close();
|
|
93
|
-
}
|
|
109
|
+
};
|
|
110
|
+
rl.on('SIGINT', exitShell);
|
|
94
111
|
process.on('SIGTSTP', () => {
|
|
95
|
-
|
|
96
|
-
rl.close();
|
|
112
|
+
exitShell();
|
|
97
113
|
process.exit(0);
|
|
98
114
|
});
|
|
99
115
|
// Prompt function for risk confirmations (uses the active readline)
|
|
@@ -117,12 +133,12 @@ export async function startShell(version) {
|
|
|
117
133
|
}
|
|
118
134
|
// --- Command routing (thin dispatcher) ---
|
|
119
135
|
if (cmd === '/exit' || cmd === '/quit' || cmd === '/q') {
|
|
120
|
-
|
|
121
|
-
rl.close();
|
|
136
|
+
exitShell();
|
|
122
137
|
return;
|
|
123
138
|
}
|
|
124
139
|
if (cmd === '/clear' || cmd === '/cls') {
|
|
125
140
|
console.clear();
|
|
141
|
+
bar.reinit();
|
|
126
142
|
rl.prompt();
|
|
127
143
|
return;
|
|
128
144
|
}
|
|
@@ -144,12 +160,14 @@ export async function startShell(version) {
|
|
|
144
160
|
if (cmd === '/session start' || cmd === '/ss') {
|
|
145
161
|
await cmdSessionStart();
|
|
146
162
|
await store.refresh(cwd);
|
|
163
|
+
updateBar();
|
|
147
164
|
rl.prompt();
|
|
148
165
|
return;
|
|
149
166
|
}
|
|
150
167
|
if (cmd === '/session end' || cmd === '/se') {
|
|
151
168
|
await cmdSessionEnd();
|
|
152
169
|
await store.refresh(cwd);
|
|
170
|
+
updateBar();
|
|
153
171
|
rl.prompt();
|
|
154
172
|
return;
|
|
155
173
|
}
|
|
@@ -166,6 +184,7 @@ export async function startShell(version) {
|
|
|
166
184
|
if (cmd === '/report' || cmd === '/r') {
|
|
167
185
|
await cmdReport(promptConfirm);
|
|
168
186
|
await store.refresh(cwd);
|
|
187
|
+
updateBar();
|
|
169
188
|
rl.prompt();
|
|
170
189
|
return;
|
|
171
190
|
}
|
|
@@ -174,6 +193,11 @@ export async function startShell(version) {
|
|
|
174
193
|
rl.prompt();
|
|
175
194
|
return;
|
|
176
195
|
}
|
|
196
|
+
if (cmd === '/history' || cmd === '/hist') {
|
|
197
|
+
await cmdHistory();
|
|
198
|
+
rl.prompt();
|
|
199
|
+
return;
|
|
200
|
+
}
|
|
177
201
|
if (cmd.startsWith('/get ') || cmd.startsWith('/g ')) {
|
|
178
202
|
await cmdGet(raw.split(' ')[1]);
|
|
179
203
|
rl.prompt();
|
|
@@ -182,29 +206,48 @@ export async function startShell(version) {
|
|
|
182
206
|
if (cmd === '/sites' || cmd.startsWith('/sites ')) {
|
|
183
207
|
await cmdSites(cmd.split(' ')[1]);
|
|
184
208
|
await store.refresh(cwd);
|
|
209
|
+
updateBar();
|
|
185
210
|
rl.prompt();
|
|
186
211
|
return;
|
|
187
212
|
}
|
|
188
213
|
if (cmd === '/auth') {
|
|
189
214
|
await cmdAuth();
|
|
190
215
|
await store.refresh(cwd);
|
|
216
|
+
updateBar();
|
|
191
217
|
rl.prompt();
|
|
192
218
|
return;
|
|
193
219
|
}
|
|
194
220
|
if (cmd.startsWith('/login ')) {
|
|
195
221
|
await cmdLogin(raw.split(' ')[1]);
|
|
196
222
|
await store.refresh(cwd);
|
|
223
|
+
updateBar();
|
|
197
224
|
rl.prompt();
|
|
198
225
|
return;
|
|
199
226
|
}
|
|
200
227
|
if (cmd.startsWith('/link ')) {
|
|
201
228
|
await cmdLink(raw.split(' ')[1]);
|
|
202
229
|
await store.refresh(cwd);
|
|
230
|
+
updateBar();
|
|
231
|
+
rl.prompt();
|
|
232
|
+
return;
|
|
233
|
+
}
|
|
234
|
+
// "/" alone → show command list (discoverability)
|
|
235
|
+
if (cmd === '/') {
|
|
236
|
+
console.log('');
|
|
237
|
+
console.log(` ${sparkle} ${BB('Comandi disponibili')}`);
|
|
238
|
+
console.log('');
|
|
239
|
+
console.log(formatSuggestionList(SLASH_COMMANDS));
|
|
240
|
+
console.log('');
|
|
241
|
+
console.log(` ${DIM('Premi Tab per completare, o scrivi in linguaggio naturale.')}`);
|
|
242
|
+
console.log('');
|
|
203
243
|
rl.prompt();
|
|
204
244
|
return;
|
|
205
245
|
}
|
|
246
|
+
// Unknown slash command → suggest close matches
|
|
206
247
|
if (cmd.startsWith('/')) {
|
|
207
|
-
|
|
248
|
+
const hint = getUnknownCommandHint(cmd);
|
|
249
|
+
console.log(`\n ${DIM('Comando sconosciuto:')} ${WHITE(cmd)}`);
|
|
250
|
+
console.log(` ${DIM(hint)}\n`);
|
|
208
251
|
rl.prompt();
|
|
209
252
|
return;
|
|
210
253
|
}
|
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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"}
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fixed bottom status bar for @orbitpanel/cli.
|
|
3
|
+
*
|
|
4
|
+
* Uses ANSI scroll regions to pin a status line at the bottom of the terminal,
|
|
5
|
+
* exactly like Claude Code / tmux / vim. No dependencies — pure escape sequences.
|
|
6
|
+
*
|
|
7
|
+
* How it works:
|
|
8
|
+
* 1. Set scroll region to rows 1..(totalRows-1)
|
|
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
|
|
12
|
+
*
|
|
13
|
+
* Non-TTY: completely disabled, no-op.
|
|
14
|
+
*/
|
|
15
|
+
export interface BarState {
|
|
16
|
+
siteUrl?: string;
|
|
17
|
+
environment?: string;
|
|
18
|
+
gitBranch?: string;
|
|
19
|
+
sessionActive: boolean;
|
|
20
|
+
sessionMinutes?: number;
|
|
21
|
+
connected: boolean;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Render the status bar content string, padded to exactly `width` characters.
|
|
25
|
+
* Pure function — no side effects, fully testable.
|
|
26
|
+
*/
|
|
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
|
+
export declare class StatusBar {
|
|
34
|
+
private active;
|
|
35
|
+
private rows;
|
|
36
|
+
private cols;
|
|
37
|
+
private lastState;
|
|
38
|
+
private resizeHandler;
|
|
39
|
+
/** Whether the bar is currently active and rendering. */
|
|
40
|
+
get isActive(): boolean;
|
|
41
|
+
/**
|
|
42
|
+
* Initialize the status bar. Sets scroll region, draws initial bar.
|
|
43
|
+
* No-op if not TTY.
|
|
44
|
+
*/
|
|
45
|
+
init(state: BarState): void;
|
|
46
|
+
/**
|
|
47
|
+
* Update the status bar content.
|
|
48
|
+
*/
|
|
49
|
+
update(state: BarState): void;
|
|
50
|
+
/**
|
|
51
|
+
* Restore scroll region and clean up after /clear or similar.
|
|
52
|
+
* Re-inits the bar with current state.
|
|
53
|
+
*/
|
|
54
|
+
reinit(): void;
|
|
55
|
+
/**
|
|
56
|
+
* Destroy the status bar. Reset scroll region, remove event listeners.
|
|
57
|
+
*/
|
|
58
|
+
destroy(): void;
|
|
59
|
+
/** Write bar content to the last row. */
|
|
60
|
+
private drawBar;
|
|
61
|
+
}
|