@orbitpanel/cli 0.8.5 → 0.9.1
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-box.d.ts +35 -0
- package/dist/lib/shell-box.js +78 -0
- package/dist/lib/shell-box.js.map +1 -0
- package/dist/lib/shell.d.ts +7 -7
- package/dist/lib/shell.js +159 -59
- package/dist/lib/shell.js.map +1 -1
- package/dist/lib/status-bar.d.ts +5 -41
- package/dist/lib/status-bar.js +32 -88
- package/dist/lib/status-bar.js.map +1 -1
- package/oclif.manifest.json +49 -49
- package/package.json +2 -1
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Box drawing and below-prompt rendering for @orbitpanel/cli.
|
|
3
|
+
*
|
|
4
|
+
* Visual frame around the prompt area (gum-inspired):
|
|
5
|
+
*
|
|
6
|
+
* ╭──────────────────────────────────╮
|
|
7
|
+
* │ orbit ❯ user types here...
|
|
8
|
+
* ╰──────────────────────────────────╯
|
|
9
|
+
* ❯ /session start avvia sessione
|
|
10
|
+
* /session end chiudi sessione
|
|
11
|
+
* ▎ acme.com │ local-dev │ main │ idle ▕
|
|
12
|
+
*
|
|
13
|
+
* Uses DEC save/restore (\x1b7/\x1b8) for cursor management.
|
|
14
|
+
* Works in xterm.js (VS Code/Cursor). No scroll regions.
|
|
15
|
+
*/
|
|
16
|
+
export declare function topBorder(width: number): string;
|
|
17
|
+
export declare function bottomBorder(width: number): string;
|
|
18
|
+
/** Prompt string for readline — includes left box border. */
|
|
19
|
+
export declare function boxedPromptString(): string;
|
|
20
|
+
/**
|
|
21
|
+
* Render lines below the current cursor position (below the prompt).
|
|
22
|
+
* Erases any previous below-prompt content first.
|
|
23
|
+
* Uses DEC save/restore to keep cursor on the prompt line.
|
|
24
|
+
*
|
|
25
|
+
* @param lines - Array of strings to render below
|
|
26
|
+
* @returns The number of lines rendered
|
|
27
|
+
*/
|
|
28
|
+
export declare function renderBelow(lines: string[]): number;
|
|
29
|
+
/**
|
|
30
|
+
* Clear all below-prompt content. Call before processing a command
|
|
31
|
+
* so output doesn't mix with suggestions/status bar.
|
|
32
|
+
*/
|
|
33
|
+
export declare function clearBelow(): void;
|
|
34
|
+
/** Reset the internal height counter (e.g., after console.clear). */
|
|
35
|
+
export declare function resetBelow(): void;
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Box drawing and below-prompt rendering for @orbitpanel/cli.
|
|
3
|
+
*
|
|
4
|
+
* Visual frame around the prompt area (gum-inspired):
|
|
5
|
+
*
|
|
6
|
+
* ╭──────────────────────────────────╮
|
|
7
|
+
* │ orbit ❯ user types here...
|
|
8
|
+
* ╰──────────────────────────────────╯
|
|
9
|
+
* ❯ /session start avvia sessione
|
|
10
|
+
* /session end chiudi sessione
|
|
11
|
+
* ▎ acme.com │ local-dev │ main │ idle ▕
|
|
12
|
+
*
|
|
13
|
+
* Uses DEC save/restore (\x1b7/\x1b8) for cursor management.
|
|
14
|
+
* Works in xterm.js (VS Code/Cursor). No scroll regions.
|
|
15
|
+
*/
|
|
16
|
+
import chalk from 'chalk';
|
|
17
|
+
const DIM = chalk.dim;
|
|
18
|
+
const B = chalk.rgb(37, 99, 235);
|
|
19
|
+
const BB = chalk.bold.rgb(37, 99, 235);
|
|
20
|
+
// ── Box borders ──
|
|
21
|
+
export function topBorder(width) {
|
|
22
|
+
const w = Math.max(0, width - 4);
|
|
23
|
+
return ` ${DIM('╭')}${DIM('─'.repeat(w))}${DIM('╮')}`;
|
|
24
|
+
}
|
|
25
|
+
export function bottomBorder(width) {
|
|
26
|
+
const w = Math.max(0, width - 4);
|
|
27
|
+
return ` ${DIM('╰')}${DIM('─'.repeat(w))}${DIM('╯')}`;
|
|
28
|
+
}
|
|
29
|
+
/** Prompt string for readline — includes left box border. */
|
|
30
|
+
export function boxedPromptString() {
|
|
31
|
+
return ` ${DIM('│')} ${B('orbit')} ${BB('❯')} `;
|
|
32
|
+
}
|
|
33
|
+
// ── Below-prompt renderer ──
|
|
34
|
+
let _prevHeight = 0;
|
|
35
|
+
/**
|
|
36
|
+
* Render lines below the current cursor position (below the prompt).
|
|
37
|
+
* Erases any previous below-prompt content first.
|
|
38
|
+
* Uses DEC save/restore to keep cursor on the prompt line.
|
|
39
|
+
*
|
|
40
|
+
* @param lines - Array of strings to render below
|
|
41
|
+
* @returns The number of lines rendered
|
|
42
|
+
*/
|
|
43
|
+
export function renderBelow(lines) {
|
|
44
|
+
const out = process.stdout;
|
|
45
|
+
if (!out.isTTY)
|
|
46
|
+
return 0;
|
|
47
|
+
// Save cursor at current typing position
|
|
48
|
+
out.write('\x1b7');
|
|
49
|
+
// Erase previous below-prompt content
|
|
50
|
+
if (_prevHeight > 0) {
|
|
51
|
+
for (let i = 0; i < _prevHeight; i++) {
|
|
52
|
+
out.write('\n\x1b[2K'); // move down + clear line
|
|
53
|
+
}
|
|
54
|
+
out.write(`\x1b[${_prevHeight}A`); // move back up
|
|
55
|
+
}
|
|
56
|
+
// Write new content below
|
|
57
|
+
for (const line of lines) {
|
|
58
|
+
out.write(`\n${line}`);
|
|
59
|
+
}
|
|
60
|
+
// Restore cursor to typing position
|
|
61
|
+
out.write('\x1b8');
|
|
62
|
+
_prevHeight = lines.length;
|
|
63
|
+
return lines.length;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Clear all below-prompt content. Call before processing a command
|
|
67
|
+
* so output doesn't mix with suggestions/status bar.
|
|
68
|
+
*/
|
|
69
|
+
export function clearBelow() {
|
|
70
|
+
if (_prevHeight === 0)
|
|
71
|
+
return;
|
|
72
|
+
renderBelow([]);
|
|
73
|
+
}
|
|
74
|
+
/** Reset the internal height counter (e.g., after console.clear). */
|
|
75
|
+
export function resetBelow() {
|
|
76
|
+
_prevHeight = 0;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=shell-box.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-box.js","sourceRoot":"","sources":["../../src/lib/shell-box.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC;AACtB,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;AAEvC,oBAAoB;AAEpB,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,MAAM,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;IACjC,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;AACzD,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,iBAAiB;IAC/B,OAAO,KAAK,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;AACnD,CAAC;AAED,8BAA8B;AAE9B,IAAI,WAAW,GAAG,CAAC,CAAC;AAEpB;;;;;;;GAOG;AACH,MAAM,UAAU,WAAW,CAAC,KAAe;IACzC,MAAM,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAC3B,IAAI,CAAC,GAAG,CAAC,KAAK;QAAE,OAAO,CAAC,CAAC;IAEzB,yCAAyC;IACzC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnB,sCAAsC;IACtC,IAAI,WAAW,GAAG,CAAC,EAAE,CAAC;QACpB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,WAAW,EAAE,CAAC,EAAE,EAAE,CAAC;YACrC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,yBAAyB;QACnD,CAAC;QACD,GAAG,CAAC,KAAK,CAAC,QAAQ,WAAW,GAAG,CAAC,CAAC,CAAC,eAAe;IACpD,CAAC;IAED,0BAA0B;IAC1B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC;IACzB,CAAC;IAED,oCAAoC;IACpC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAEnB,WAAW,GAAG,KAAK,CAAC,MAAM,CAAC;IAC3B,OAAO,KAAK,CAAC,MAAM,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,UAAU;IACxB,IAAI,WAAW,KAAK,CAAC;QAAE,OAAO;IAC9B,WAAW,CAAC,EAAE,CAAC,CAAC;AAClB,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,UAAU;IACxB,WAAW,GAAG,CAAC,CAAC;AAClB,CAAC"}
|
package/dist/lib/shell.d.ts
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Interactive REPL shell for @orbitpanel/cli.
|
|
3
|
-
* Thin orchestration layer — delegates to shell-commands.ts and shell-render.ts.
|
|
4
|
-
* Pure readline + chalk — no Ink/React dependency.
|
|
5
3
|
*
|
|
6
|
-
*
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
4
|
+
* Architecture:
|
|
5
|
+
* - Boxed prompt on first render, light separator on subsequent
|
|
6
|
+
* - Real-time slash suggestions with arrow key navigation (gum-style)
|
|
7
|
+
* - Status bar below prompt (always visible)
|
|
8
|
+
* - Key interception via _ttyWrite override for suggestion navigation
|
|
9
|
+
*
|
|
10
|
+
* Pure readline + chalk — no Ink/React.
|
|
11
11
|
*/
|
|
12
12
|
export declare function startShell(version: string): Promise<void>;
|
package/dist/lib/shell.js
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Interactive REPL shell for @orbitpanel/cli.
|
|
3
|
-
* Thin orchestration layer — delegates to shell-commands.ts and shell-render.ts.
|
|
4
|
-
* Pure readline + chalk — no Ink/React dependency.
|
|
5
3
|
*
|
|
6
|
-
*
|
|
7
|
-
* -
|
|
8
|
-
* -
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
4
|
+
* Architecture:
|
|
5
|
+
* - Boxed prompt on first render, light separator on subsequent
|
|
6
|
+
* - Real-time slash suggestions with arrow key navigation (gum-style)
|
|
7
|
+
* - Status bar below prompt (always visible)
|
|
8
|
+
* - Key interception via _ttyWrite override for suggestion navigation
|
|
9
|
+
*
|
|
10
|
+
* Pure readline + chalk — no Ink/React.
|
|
11
11
|
*/
|
|
12
12
|
import chalk from 'chalk';
|
|
13
13
|
import ora from 'ora';
|
|
@@ -23,11 +23,11 @@ import { StreamStateMachine } from './stream-state.js';
|
|
|
23
23
|
import { outputBlock } from './ui.js';
|
|
24
24
|
import { BL, BB, DIM, WHITE, orbitGrad, sparkle, logoLines, SLASH_COMMANDS, sep, } from './shell-render.js';
|
|
25
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';
|
|
26
|
+
import { completer as enhancedCompleter, getSuggestions, formatSuggestionList } from './shell-completer.js';
|
|
27
27
|
import { getWelcomeHint, getUnknownCommandHint } from './shell-hints.js';
|
|
28
|
-
import {
|
|
29
|
-
import {
|
|
30
|
-
//
|
|
28
|
+
import { topBorder, bottomBorder, boxedPromptString, renderBelow, clearBelow, resetBelow, } from './shell-box.js';
|
|
29
|
+
import { renderBarContent } from './status-bar.js';
|
|
30
|
+
// IO adapter
|
|
31
31
|
const defaultStoreIO = {
|
|
32
32
|
loadConfig,
|
|
33
33
|
loadSiteLink: (cwd) => loadSiteLink(cwd),
|
|
@@ -40,7 +40,6 @@ function sleep(ms) {
|
|
|
40
40
|
function completer(line) {
|
|
41
41
|
return enhancedCompleter(line, SLASH_COMMANDS);
|
|
42
42
|
}
|
|
43
|
-
/** Build BarState from store. Single source of truth. */
|
|
44
43
|
function buildBarState(store) {
|
|
45
44
|
const { tokenEntry, siteLink, session, gitBranch } = store.getState();
|
|
46
45
|
const sessionMinutes = session
|
|
@@ -55,9 +54,18 @@ function buildBarState(store) {
|
|
|
55
54
|
sessionMinutes,
|
|
56
55
|
};
|
|
57
56
|
}
|
|
57
|
+
/** Format a suggestion line. `active` = highlighted with pointer. */
|
|
58
|
+
function fmtSuggestion(cmd, active) {
|
|
59
|
+
if (active) {
|
|
60
|
+
const bg = chalk.bgHex('#1E3A5F');
|
|
61
|
+
return ` ${bg(chalk.hex('#60A5FA')(' ❯ '))}${bg(chalk.white.bold(` ${cmd.cmd.padEnd(18)}`))}${bg(chalk.dim(` ${cmd.desc} `))}`;
|
|
62
|
+
}
|
|
63
|
+
return ` ${chalk.white(cmd.cmd.padEnd(18))} ${DIM(cmd.desc)}`;
|
|
64
|
+
}
|
|
58
65
|
export async function startShell(version) {
|
|
59
66
|
const isTTY = process.stdin.isTTY === true;
|
|
60
|
-
|
|
67
|
+
const getCols = () => process.stdout.columns ?? 80;
|
|
68
|
+
// ── Header ──
|
|
61
69
|
console.clear();
|
|
62
70
|
console.log('');
|
|
63
71
|
for (const line of logoLines) {
|
|
@@ -68,24 +76,20 @@ export async function startShell(version) {
|
|
|
68
76
|
console.log(` ${chalk.bgRgb(37, 99, 235).white.bold(' CLI ')} ${chalk.bgHex('#1E293B').hex('#60A5FA')(` v${version} `)} ${DIM('·')} ${BL('Gestione Orbit Panel AI-powered')}`);
|
|
69
77
|
console.log('');
|
|
70
78
|
sep();
|
|
71
|
-
//
|
|
79
|
+
// ── State ──
|
|
72
80
|
const cwd = process.cwd();
|
|
73
81
|
const store = new OrbitStore(defaultStoreIO);
|
|
74
82
|
await store.init(cwd);
|
|
75
83
|
const { tokenEntry, siteLink, session } = store.getState();
|
|
76
|
-
// Welcome hint
|
|
77
84
|
const welcomeHint = getWelcomeHint({
|
|
78
85
|
hasToken: !!tokenEntry,
|
|
79
86
|
hasSite: !!siteLink,
|
|
80
87
|
hasSession: !!session,
|
|
81
88
|
});
|
|
82
|
-
console.log(` ${DIM(welcomeHint)}`);
|
|
83
89
|
console.log('');
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
// REPL
|
|
88
|
-
const promptStr = buildPromptString();
|
|
90
|
+
console.log(` ${DIM(welcomeHint)}`);
|
|
91
|
+
// ── REPL ──
|
|
92
|
+
const promptStr = boxedPromptString();
|
|
89
93
|
const rl = createInterface({
|
|
90
94
|
input: process.stdin,
|
|
91
95
|
output: process.stdout,
|
|
@@ -93,22 +97,52 @@ export async function startShell(version) {
|
|
|
93
97
|
completer,
|
|
94
98
|
terminal: isTTY,
|
|
95
99
|
});
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
100
|
+
// ── Suggestion state ──
|
|
101
|
+
let suggestions = [];
|
|
102
|
+
let selectedIdx = 0;
|
|
103
|
+
let suggestionsActive = false;
|
|
104
|
+
let isFirstPrompt = true;
|
|
105
|
+
/** Build the lines to show below the prompt. */
|
|
106
|
+
const buildBelow = () => {
|
|
107
|
+
const w = getCols();
|
|
108
|
+
const lines = [];
|
|
109
|
+
// Bottom border (only on first prompt with box)
|
|
110
|
+
if (isFirstPrompt) {
|
|
111
|
+
lines.push(bottomBorder(w));
|
|
112
|
+
}
|
|
113
|
+
// Suggestions
|
|
114
|
+
if (suggestionsActive && suggestions.length > 0) {
|
|
115
|
+
lines.push(''); // spacing
|
|
116
|
+
for (let i = 0; i < suggestions.length; i++) {
|
|
117
|
+
lines.push(fmtSuggestion(suggestions[i], i === selectedIdx));
|
|
118
|
+
}
|
|
119
|
+
lines.push('');
|
|
120
|
+
lines.push(` ${DIM('↑↓ naviga · Enter seleziona · Esc chiudi')}`);
|
|
121
|
+
}
|
|
122
|
+
// Status bar
|
|
123
|
+
lines.push(renderBarContent(buildBarState(store), w));
|
|
124
|
+
return lines;
|
|
125
|
+
};
|
|
126
|
+
/** Refresh below-prompt content. */
|
|
127
|
+
const refreshBelow = () => {
|
|
128
|
+
renderBelow(buildBelow());
|
|
129
|
+
};
|
|
130
|
+
/** Show prompt (first time = box, subsequent = light separator). */
|
|
101
131
|
const showPrompt = () => {
|
|
132
|
+
const w = getCols();
|
|
133
|
+
console.log(''); // breathing room
|
|
134
|
+
if (isFirstPrompt) {
|
|
135
|
+
console.log(topBorder(w));
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
// Light separator — just a thin line
|
|
139
|
+
console.log(` ${DIM('─'.repeat(w - 4))}`);
|
|
140
|
+
}
|
|
102
141
|
rl.prompt();
|
|
103
|
-
|
|
104
|
-
};
|
|
105
|
-
/** Update bar state from store and refresh. */
|
|
106
|
-
const updateBar = () => {
|
|
107
|
-
bar.update(buildBarState(store));
|
|
142
|
+
refreshBelow();
|
|
108
143
|
};
|
|
109
|
-
/** Clean exit. */
|
|
110
144
|
const exitShell = () => {
|
|
111
|
-
|
|
145
|
+
clearBelow();
|
|
112
146
|
console.log(`\n ${DIM('Alla prossima!')}\n`);
|
|
113
147
|
rl.close();
|
|
114
148
|
};
|
|
@@ -122,23 +156,94 @@ export async function startShell(version) {
|
|
|
122
156
|
});
|
|
123
157
|
});
|
|
124
158
|
};
|
|
159
|
+
// ── Key interception: arrow navigation for suggestions ──
|
|
160
|
+
// Override readline's _ttyWrite to intercept keys BEFORE readline processes them.
|
|
161
|
+
// This enables gum-style arrow navigation in the suggestion dropdown.
|
|
162
|
+
const rlAny = rl;
|
|
163
|
+
if (isTTY && typeof rlAny._ttyWrite === 'function') {
|
|
164
|
+
const origTtyWrite = rlAny._ttyWrite.bind(rl);
|
|
165
|
+
rlAny._ttyWrite = function (s, key) {
|
|
166
|
+
// When suggestions are active, intercept navigation keys
|
|
167
|
+
if (suggestionsActive && suggestions.length > 0) {
|
|
168
|
+
if (key?.name === 'up') {
|
|
169
|
+
selectedIdx = selectedIdx <= 0 ? suggestions.length - 1 : selectedIdx - 1;
|
|
170
|
+
refreshBelow();
|
|
171
|
+
return; // swallow — don't let readline do history
|
|
172
|
+
}
|
|
173
|
+
if (key?.name === 'down') {
|
|
174
|
+
selectedIdx = selectedIdx >= suggestions.length - 1 ? 0 : selectedIdx + 1;
|
|
175
|
+
refreshBelow();
|
|
176
|
+
return; // swallow
|
|
177
|
+
}
|
|
178
|
+
if (key?.name === 'return' && selectedIdx >= 0) {
|
|
179
|
+
// Select the suggestion: replace line content with selected command
|
|
180
|
+
const selected = suggestions[selectedIdx];
|
|
181
|
+
rlAny.line = '';
|
|
182
|
+
rlAny.cursor = 0;
|
|
183
|
+
rlAny._refreshLine();
|
|
184
|
+
rl.write(selected.cmd);
|
|
185
|
+
suggestionsActive = false;
|
|
186
|
+
suggestions = [];
|
|
187
|
+
selectedIdx = 0;
|
|
188
|
+
refreshBelow();
|
|
189
|
+
return; // swallow — don't submit
|
|
190
|
+
}
|
|
191
|
+
if (key?.name === 'escape') {
|
|
192
|
+
suggestionsActive = false;
|
|
193
|
+
suggestions = [];
|
|
194
|
+
selectedIdx = 0;
|
|
195
|
+
refreshBelow();
|
|
196
|
+
return;
|
|
197
|
+
}
|
|
198
|
+
}
|
|
199
|
+
// Normal processing — let readline handle the key
|
|
200
|
+
origTtyWrite(s, key);
|
|
201
|
+
// After readline updates rl.line, recalculate suggestions
|
|
202
|
+
const line = rlAny.line ?? '';
|
|
203
|
+
if (line.startsWith('/') && line.length >= 1) {
|
|
204
|
+
const matches = getSuggestions(line, SLASH_COMMANDS).slice(0, 6);
|
|
205
|
+
if (matches.length > 0) {
|
|
206
|
+
suggestions = matches;
|
|
207
|
+
suggestionsActive = true;
|
|
208
|
+
selectedIdx = 0;
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
suggestionsActive = false;
|
|
212
|
+
suggestions = [];
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
else {
|
|
216
|
+
suggestionsActive = false;
|
|
217
|
+
suggestions = [];
|
|
218
|
+
}
|
|
219
|
+
refreshBelow();
|
|
220
|
+
};
|
|
221
|
+
}
|
|
125
222
|
showPrompt();
|
|
126
223
|
return new Promise((resolve) => {
|
|
127
224
|
rl.on('close', () => resolve());
|
|
128
225
|
rl.on('line', async (input) => {
|
|
129
226
|
const raw = input.trim();
|
|
130
227
|
const cmd = raw.toLowerCase();
|
|
228
|
+
// Clear below-prompt content and suggestions
|
|
229
|
+
clearBelow();
|
|
230
|
+
suggestionsActive = false;
|
|
231
|
+
suggestions = [];
|
|
232
|
+
selectedIdx = 0;
|
|
233
|
+
isFirstPrompt = false; // subsequent prompts are lighter
|
|
131
234
|
if (!cmd) {
|
|
132
235
|
showPrompt();
|
|
133
236
|
return;
|
|
134
237
|
}
|
|
238
|
+
// ── Command routing ──
|
|
135
239
|
if (cmd === '/exit' || cmd === '/quit' || cmd === '/q') {
|
|
136
240
|
exitShell();
|
|
137
241
|
return;
|
|
138
242
|
}
|
|
139
243
|
if (cmd === '/clear' || cmd === '/cls') {
|
|
140
244
|
console.clear();
|
|
141
|
-
|
|
245
|
+
resetBelow();
|
|
246
|
+
isFirstPrompt = true;
|
|
142
247
|
showPrompt();
|
|
143
248
|
return;
|
|
144
249
|
}
|
|
@@ -160,14 +265,12 @@ export async function startShell(version) {
|
|
|
160
265
|
if (cmd === '/session start' || cmd === '/ss') {
|
|
161
266
|
await cmdSessionStart();
|
|
162
267
|
await store.refresh(cwd);
|
|
163
|
-
updateBar();
|
|
164
268
|
showPrompt();
|
|
165
269
|
return;
|
|
166
270
|
}
|
|
167
271
|
if (cmd === '/session end' || cmd === '/se') {
|
|
168
272
|
await cmdSessionEnd();
|
|
169
273
|
await store.refresh(cwd);
|
|
170
|
-
updateBar();
|
|
171
274
|
showPrompt();
|
|
172
275
|
return;
|
|
173
276
|
}
|
|
@@ -184,7 +287,6 @@ export async function startShell(version) {
|
|
|
184
287
|
if (cmd === '/report' || cmd === '/r') {
|
|
185
288
|
await cmdReport(promptConfirm);
|
|
186
289
|
await store.refresh(cwd);
|
|
187
|
-
updateBar();
|
|
188
290
|
showPrompt();
|
|
189
291
|
return;
|
|
190
292
|
}
|
|
@@ -206,28 +308,24 @@ export async function startShell(version) {
|
|
|
206
308
|
if (cmd === '/sites' || cmd.startsWith('/sites ')) {
|
|
207
309
|
await cmdSites(cmd.split(' ')[1]);
|
|
208
310
|
await store.refresh(cwd);
|
|
209
|
-
updateBar();
|
|
210
311
|
showPrompt();
|
|
211
312
|
return;
|
|
212
313
|
}
|
|
213
314
|
if (cmd === '/auth') {
|
|
214
315
|
await cmdAuth();
|
|
215
316
|
await store.refresh(cwd);
|
|
216
|
-
updateBar();
|
|
217
317
|
showPrompt();
|
|
218
318
|
return;
|
|
219
319
|
}
|
|
220
320
|
if (cmd.startsWith('/login ')) {
|
|
221
321
|
await cmdLogin(raw.split(' ')[1]);
|
|
222
322
|
await store.refresh(cwd);
|
|
223
|
-
updateBar();
|
|
224
323
|
showPrompt();
|
|
225
324
|
return;
|
|
226
325
|
}
|
|
227
326
|
if (cmd.startsWith('/link ')) {
|
|
228
327
|
await cmdLink(raw.split(' ')[1]);
|
|
229
328
|
await store.refresh(cwd);
|
|
230
|
-
updateBar();
|
|
231
329
|
showPrompt();
|
|
232
330
|
return;
|
|
233
331
|
}
|
|
@@ -237,40 +335,43 @@ export async function startShell(version) {
|
|
|
237
335
|
console.log('');
|
|
238
336
|
console.log(formatSuggestionList(SLASH_COMMANDS));
|
|
239
337
|
console.log('');
|
|
240
|
-
console.log(` ${DIM('
|
|
241
|
-
console.log('');
|
|
338
|
+
console.log(` ${DIM('Digita / e usa ↑↓ per navigare, Enter per selezionare.')}`);
|
|
242
339
|
showPrompt();
|
|
243
340
|
return;
|
|
244
341
|
}
|
|
245
342
|
if (cmd.startsWith('/')) {
|
|
246
343
|
const hint = getUnknownCommandHint(cmd);
|
|
247
|
-
console.log(
|
|
248
|
-
console.log(` ${DIM(
|
|
344
|
+
console.log('');
|
|
345
|
+
console.log(` ${DIM('Comando sconosciuto:')} ${WHITE(cmd)}`);
|
|
346
|
+
console.log(` ${DIM(hint)}`);
|
|
249
347
|
showPrompt();
|
|
250
348
|
return;
|
|
251
349
|
}
|
|
350
|
+
// Free text → AI chat
|
|
252
351
|
await handleAIChat(raw, store);
|
|
253
352
|
showPrompt();
|
|
254
353
|
});
|
|
255
354
|
});
|
|
256
355
|
}
|
|
356
|
+
// ── Help ──
|
|
257
357
|
function printHelp() {
|
|
258
358
|
console.log('');
|
|
259
359
|
console.log(` ${sparkle} ${BB('Comandi disponibili')}`);
|
|
260
360
|
console.log('');
|
|
261
361
|
for (const c of SLASH_COMMANDS) {
|
|
262
362
|
const alias = c.alias ? DIM(` ${c.alias}`) : '';
|
|
263
|
-
console.log(` ${WHITE(c.cmd.padEnd(18))}${alias.padEnd(
|
|
363
|
+
console.log(` ${WHITE(c.cmd.padEnd(18))}${alias.padEnd(10)}${DIM(c.desc)}`);
|
|
264
364
|
}
|
|
265
365
|
console.log('');
|
|
266
|
-
console.log(` ${DIM('
|
|
267
|
-
console.log('');
|
|
366
|
+
console.log(` ${DIM('Digita / e usa ↑↓ per navigare. Oppure scrivi in linguaggio naturale.')}`);
|
|
268
367
|
}
|
|
368
|
+
// ── AI Chat ──
|
|
269
369
|
async function handleAIChat(raw, store) {
|
|
270
370
|
const { config, siteLink } = store.getState();
|
|
271
371
|
console.log('');
|
|
272
372
|
console.log(` ${sparkle} ${BB('Orbit AI')}`);
|
|
273
|
-
|
|
373
|
+
console.log('');
|
|
374
|
+
const spinner = ora({ text: DIM('Recupero contesto...'), color: 'blue', indent: 4 }).start();
|
|
274
375
|
const sm = new StreamStateMachine();
|
|
275
376
|
try {
|
|
276
377
|
store.startRequest();
|
|
@@ -292,17 +393,17 @@ async function handleAIChat(raw, store) {
|
|
|
292
393
|
if (spinner.isSpinning) {
|
|
293
394
|
spinner.stop();
|
|
294
395
|
console.log('');
|
|
295
|
-
process.stdout.write('
|
|
396
|
+
process.stdout.write(' ');
|
|
296
397
|
}
|
|
297
398
|
const chunk = (event.data.content ?? '');
|
|
298
399
|
if (chunk)
|
|
299
|
-
process.stdout.write(chunk.replaceAll('\n', '\n
|
|
400
|
+
process.stdout.write(chunk.replaceAll('\n', '\n '));
|
|
300
401
|
break;
|
|
301
402
|
}
|
|
302
403
|
case 'error':
|
|
303
404
|
if (spinner.isSpinning)
|
|
304
405
|
spinner.stop();
|
|
305
|
-
console.log(`\n
|
|
406
|
+
console.log(`\n ${chalk.red('✗')} ${event.data.message}`);
|
|
306
407
|
break;
|
|
307
408
|
case 'done':
|
|
308
409
|
if (spinner.isSpinning)
|
|
@@ -323,10 +424,10 @@ async function handleAIChat(raw, store) {
|
|
|
323
424
|
else {
|
|
324
425
|
console.log('');
|
|
325
426
|
for (const line of (fallback.response ?? '').split('\n')) {
|
|
326
|
-
console.log(`
|
|
427
|
+
console.log(` ${line}`);
|
|
327
428
|
}
|
|
328
429
|
if (fallback.provider_used) {
|
|
329
|
-
console.log(`\n
|
|
430
|
+
console.log(`\n ${DIM(`(${fallback.provider_used})`)}`);
|
|
330
431
|
}
|
|
331
432
|
}
|
|
332
433
|
}
|
|
@@ -334,9 +435,9 @@ async function handleAIChat(raw, store) {
|
|
|
334
435
|
if (contentStarted)
|
|
335
436
|
process.stdout.write('\n');
|
|
336
437
|
if (result.provider)
|
|
337
|
-
console.log(`
|
|
438
|
+
console.log(` ${DIM(`(${result.provider})`)}`);
|
|
338
439
|
if (result.error)
|
|
339
|
-
console.log(`
|
|
440
|
+
console.log(` ${chalk.red('✗')} ${result.error}`);
|
|
340
441
|
}
|
|
341
442
|
}
|
|
342
443
|
catch (err) {
|
|
@@ -351,9 +452,8 @@ async function handleAIChat(raw, store) {
|
|
|
351
452
|
}
|
|
352
453
|
else {
|
|
353
454
|
console.log('');
|
|
354
|
-
for (const line of (fallback.response ?? '').split('\n'))
|
|
355
|
-
console.log(`
|
|
356
|
-
}
|
|
455
|
+
for (const line of (fallback.response ?? '').split('\n'))
|
|
456
|
+
console.log(` ${line}`);
|
|
357
457
|
}
|
|
358
458
|
}
|
|
359
459
|
catch (e2) {
|
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,7 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* Uses cursor save/restore (\x1b7/\x1b8) — works in xterm.js (VS Code/Cursor).
|
|
6
|
-
* NO scroll regions (DECSTBM) — broken in many terminal emulators.
|
|
7
|
-
*
|
|
8
|
-
* Pattern:
|
|
9
|
-
* orbit ❯ _ ← prompt (readline)
|
|
10
|
-
* ▎acme.com │ local-dev │ main │ ● 5m ← status bar (this module)
|
|
11
|
-
*
|
|
12
|
-
* The bar is redrawn before each rl.prompt() via refresh().
|
|
13
|
-
* Non-TTY: all methods are no-ops.
|
|
2
|
+
* Status bar content renderer for @orbitpanel/cli.
|
|
3
|
+
* Pure function — no side effects, no ANSI cursor manipulation.
|
|
4
|
+
* Positioning is handled by shell-box.ts renderBelow().
|
|
14
5
|
*/
|
|
15
6
|
export interface BarState {
|
|
16
7
|
siteUrl?: string;
|
|
@@ -21,34 +12,7 @@ export interface BarState {
|
|
|
21
12
|
connected: boolean;
|
|
22
13
|
}
|
|
23
14
|
/**
|
|
24
|
-
* Render
|
|
25
|
-
*
|
|
15
|
+
* Render status bar content, padded to `width`.
|
|
16
|
+
* Format: ▎ 🌐 site │ 📁 env │ 🔀 branch │ ● session ▕
|
|
26
17
|
*/
|
|
27
18
|
export declare function renderBarContent(state: BarState, width: number): string;
|
|
28
|
-
export declare class StatusBar {
|
|
29
|
-
private active;
|
|
30
|
-
private cols;
|
|
31
|
-
private lastState;
|
|
32
|
-
get isActive(): boolean;
|
|
33
|
-
/**
|
|
34
|
-
* Initialize the bar. Just saves state — actual drawing happens in refresh().
|
|
35
|
-
* No-op if not TTY.
|
|
36
|
-
*/
|
|
37
|
-
init(state: BarState): void;
|
|
38
|
-
/**
|
|
39
|
-
* Draw the bar below the current cursor position.
|
|
40
|
-
* Call this AFTER rl.prompt(). Uses cursor save/restore.
|
|
41
|
-
*
|
|
42
|
-
* Sequence:
|
|
43
|
-
* 1. Save cursor (at end of prompt, where user will type)
|
|
44
|
-
* 2. Write newline + bar content
|
|
45
|
-
* 3. Restore cursor (back to prompt line)
|
|
46
|
-
*/
|
|
47
|
-
refresh(state?: BarState): void;
|
|
48
|
-
/** Update state and redraw. */
|
|
49
|
-
update(state: BarState): void;
|
|
50
|
-
/** Re-init after /clear. */
|
|
51
|
-
reinit(): void;
|
|
52
|
-
/** Clean exit. */
|
|
53
|
-
destroy(): void;
|
|
54
|
-
}
|
package/dist/lib/status-bar.js
CHANGED
|
@@ -1,125 +1,69 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
3
|
-
*
|
|
4
|
-
*
|
|
5
|
-
* Uses cursor save/restore (\x1b7/\x1b8) — works in xterm.js (VS Code/Cursor).
|
|
6
|
-
* NO scroll regions (DECSTBM) — broken in many terminal emulators.
|
|
7
|
-
*
|
|
8
|
-
* Pattern:
|
|
9
|
-
* orbit ❯ _ ← prompt (readline)
|
|
10
|
-
* ▎acme.com │ local-dev │ main │ ● 5m ← status bar (this module)
|
|
11
|
-
*
|
|
12
|
-
* The bar is redrawn before each rl.prompt() via refresh().
|
|
13
|
-
* Non-TTY: all methods are no-ops.
|
|
2
|
+
* Status bar content renderer for @orbitpanel/cli.
|
|
3
|
+
* Pure function — no side effects, no ANSI cursor manipulation.
|
|
4
|
+
* Positioning is handled by shell-box.ts renderBelow().
|
|
14
5
|
*/
|
|
15
6
|
import chalk from 'chalk';
|
|
16
|
-
//
|
|
7
|
+
// Dark bar with colored segments — high contrast
|
|
17
8
|
const BG = chalk.bgHex('#1E293B').hex('#94A3B8');
|
|
18
|
-
const
|
|
9
|
+
const BG_BRAND = chalk.bgHex('#1E293B').hex('#60A5FA');
|
|
19
10
|
const BG_GREEN = chalk.bgHex('#1E293B').hex('#22C55E');
|
|
20
|
-
const BG_YELLOW = chalk.bgHex('#1E293B').hex('#
|
|
21
|
-
const BG_DIM = chalk.bgHex('#1E293B').
|
|
11
|
+
const BG_YELLOW = chalk.bgHex('#1E293B').hex('#FBBF24');
|
|
12
|
+
const BG_DIM = chalk.bgHex('#1E293B').hex('#64748B');
|
|
22
13
|
const BG_RED = chalk.bgHex('#1E293B').hex('#EF4444');
|
|
23
14
|
const BG_EDGE = chalk.bgHex('#1E293B').hex('#3B82F6');
|
|
15
|
+
const BG_ICON = chalk.bgHex('#1E293B');
|
|
24
16
|
/**
|
|
25
|
-
* Render
|
|
26
|
-
*
|
|
17
|
+
* Render status bar content, padded to `width`.
|
|
18
|
+
* Format: ▎ 🌐 site │ 📁 env │ 🔀 branch │ ● session ▕
|
|
27
19
|
*/
|
|
28
20
|
export function renderBarContent(state, width) {
|
|
29
21
|
const parts = [];
|
|
22
|
+
// Connection + site
|
|
30
23
|
if (!state.connected) {
|
|
31
|
-
parts.push(`${BG_RED('
|
|
24
|
+
parts.push(`${BG_RED('○')} ${BG_DIM('non connesso')}`);
|
|
32
25
|
}
|
|
33
26
|
else if (state.siteUrl) {
|
|
34
|
-
const maxLen = Math.min(
|
|
27
|
+
const maxLen = Math.min(28, Math.floor(width * 0.3));
|
|
35
28
|
const display = state.siteUrl.length > maxLen
|
|
36
29
|
? state.siteUrl.slice(0, maxLen - 1) + '…'
|
|
37
30
|
: state.siteUrl;
|
|
38
|
-
parts.push(
|
|
31
|
+
parts.push(`${BG_GREEN('●')} ${BG_BRAND(display)}`);
|
|
39
32
|
}
|
|
40
33
|
else {
|
|
41
|
-
parts.push(BG_DIM('nessun sito'));
|
|
34
|
+
parts.push(`${BG_DIM('○')} ${BG_DIM('nessun sito')}`);
|
|
42
35
|
}
|
|
36
|
+
// Environment
|
|
43
37
|
if (state.environment) {
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
38
|
+
if (state.environment === 'production') {
|
|
39
|
+
parts.push(BG_YELLOW('⚡ production'));
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
parts.push(BG_DIM(`◆ ${state.environment}`));
|
|
43
|
+
}
|
|
47
44
|
}
|
|
45
|
+
// Git branch
|
|
48
46
|
if (state.gitBranch) {
|
|
49
|
-
const maxBranch = Math.min(
|
|
47
|
+
const maxBranch = Math.min(22, Math.floor(width * 0.22));
|
|
50
48
|
const branch = state.gitBranch.length > maxBranch
|
|
51
49
|
? state.gitBranch.slice(0, maxBranch - 1) + '…'
|
|
52
50
|
: state.gitBranch;
|
|
53
|
-
parts.push(
|
|
51
|
+
parts.push(`${BG_BRAND(`⎇ ${branch}`)}`);
|
|
54
52
|
}
|
|
53
|
+
// Session
|
|
55
54
|
if (state.sessionActive) {
|
|
56
55
|
const mins = state.sessionMinutes ?? 0;
|
|
57
|
-
parts.push(`${BG_GREEN('●
|
|
56
|
+
parts.push(`${BG_GREEN('● attiva')} ${BG_DIM(`${mins}min`)}`);
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
parts.push(BG_DIM('○ idle'));
|
|
58
60
|
}
|
|
59
61
|
const sep = BG_DIM(' │ ');
|
|
60
|
-
// Left edge accent
|
|
61
62
|
const edge = BG_EDGE('▎');
|
|
62
63
|
const content = edge + BG(' ') + parts.join(sep);
|
|
63
64
|
// Pad to fill width
|
|
64
65
|
const stripped = content.replace(/\x1b\[[0-9;]*m/g, '');
|
|
65
|
-
const pad = Math.max(0, width - stripped.length);
|
|
66
|
-
return content + BG(' '.repeat(pad));
|
|
67
|
-
}
|
|
68
|
-
export class StatusBar {
|
|
69
|
-
active = false;
|
|
70
|
-
cols = 0;
|
|
71
|
-
lastState = null;
|
|
72
|
-
get isActive() { return this.active; }
|
|
73
|
-
/**
|
|
74
|
-
* Initialize the bar. Just saves state — actual drawing happens in refresh().
|
|
75
|
-
* No-op if not TTY.
|
|
76
|
-
*/
|
|
77
|
-
init(state) {
|
|
78
|
-
if (!process.stdout.isTTY)
|
|
79
|
-
return;
|
|
80
|
-
this.cols = process.stdout.columns ?? 80;
|
|
81
|
-
this.lastState = state;
|
|
82
|
-
this.active = true;
|
|
83
|
-
// Update cols on resize
|
|
84
|
-
process.stdout.on('resize', () => {
|
|
85
|
-
this.cols = process.stdout.columns ?? 80;
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Draw the bar below the current cursor position.
|
|
90
|
-
* Call this AFTER rl.prompt(). Uses cursor save/restore.
|
|
91
|
-
*
|
|
92
|
-
* Sequence:
|
|
93
|
-
* 1. Save cursor (at end of prompt, where user will type)
|
|
94
|
-
* 2. Write newline + bar content
|
|
95
|
-
* 3. Restore cursor (back to prompt line)
|
|
96
|
-
*/
|
|
97
|
-
refresh(state) {
|
|
98
|
-
if (!this.active)
|
|
99
|
-
return;
|
|
100
|
-
if (state)
|
|
101
|
-
this.lastState = state;
|
|
102
|
-
if (!this.lastState)
|
|
103
|
-
return;
|
|
104
|
-
this.cols = process.stdout.columns ?? 80;
|
|
105
|
-
const bar = renderBarContent(this.lastState, this.cols);
|
|
106
|
-
process.stdout.write('\x1b7'); // DEC save cursor
|
|
107
|
-
process.stdout.write('\n' + bar); // newline + bar on next line
|
|
108
|
-
process.stdout.write('\x1b8'); // DEC restore cursor (back to prompt)
|
|
109
|
-
}
|
|
110
|
-
/** Update state and redraw. */
|
|
111
|
-
update(state) {
|
|
112
|
-
this.lastState = state;
|
|
113
|
-
// Don't refresh here — will be refreshed at next showPrompt()
|
|
114
|
-
}
|
|
115
|
-
/** Re-init after /clear. */
|
|
116
|
-
reinit() {
|
|
117
|
-
// Nothing to clean up — bar is just text, no scroll regions
|
|
118
|
-
}
|
|
119
|
-
/** Clean exit. */
|
|
120
|
-
destroy() {
|
|
121
|
-
this.active = false;
|
|
122
|
-
// Nothing to reset — no scroll regions to undo
|
|
123
|
-
}
|
|
66
|
+
const pad = Math.max(0, width - stripped.length - 1);
|
|
67
|
+
return content + BG(' '.repeat(pad)) + BG_EDGE('▕');
|
|
124
68
|
}
|
|
125
69
|
//# sourceMappingURL=status-bar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"status-bar.js","sourceRoot":"","sources":["../../src/lib/status-bar.ts"],"names":[],"mappings":"AAAA
|
|
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
|
@@ -544,54 +544,6 @@
|
|
|
544
544
|
"update.js"
|
|
545
545
|
]
|
|
546
546
|
},
|
|
547
|
-
"note:add": {
|
|
548
|
-
"aliases": [],
|
|
549
|
-
"args": {
|
|
550
|
-
"text": {
|
|
551
|
-
"description": "Testo della nota",
|
|
552
|
-
"name": "text",
|
|
553
|
-
"required": true
|
|
554
|
-
}
|
|
555
|
-
},
|
|
556
|
-
"description": "Registra un appunto o un'azione nella sessione attiva.",
|
|
557
|
-
"examples": [
|
|
558
|
-
"<%= config.bin %> note add \"Fixato layout mobile\"",
|
|
559
|
-
"<%= config.bin %> note add \"Aggiornato plugin sicurezza\" --priority critical"
|
|
560
|
-
],
|
|
561
|
-
"flags": {
|
|
562
|
-
"priority": {
|
|
563
|
-
"char": "p",
|
|
564
|
-
"description": "Priorita della nota",
|
|
565
|
-
"name": "priority",
|
|
566
|
-
"default": "medium",
|
|
567
|
-
"hasDynamicHelp": false,
|
|
568
|
-
"multiple": false,
|
|
569
|
-
"options": [
|
|
570
|
-
"low",
|
|
571
|
-
"medium",
|
|
572
|
-
"high",
|
|
573
|
-
"critical"
|
|
574
|
-
],
|
|
575
|
-
"type": "option"
|
|
576
|
-
}
|
|
577
|
-
},
|
|
578
|
-
"hasDynamicHelp": false,
|
|
579
|
-
"hiddenAliases": [],
|
|
580
|
-
"id": "note:add",
|
|
581
|
-
"pluginAlias": "@orbitpanel/cli",
|
|
582
|
-
"pluginName": "@orbitpanel/cli",
|
|
583
|
-
"pluginType": "core",
|
|
584
|
-
"strict": true,
|
|
585
|
-
"summary": "Aggiunge una nota alla sessione corrente",
|
|
586
|
-
"enableJsonFlag": false,
|
|
587
|
-
"isESM": true,
|
|
588
|
-
"relativePath": [
|
|
589
|
-
"dist",
|
|
590
|
-
"commands",
|
|
591
|
-
"note",
|
|
592
|
-
"add.js"
|
|
593
|
-
]
|
|
594
|
-
},
|
|
595
547
|
"report:send": {
|
|
596
548
|
"aliases": [],
|
|
597
549
|
"args": {},
|
|
@@ -678,6 +630,54 @@
|
|
|
678
630
|
"send.js"
|
|
679
631
|
]
|
|
680
632
|
},
|
|
633
|
+
"note:add": {
|
|
634
|
+
"aliases": [],
|
|
635
|
+
"args": {
|
|
636
|
+
"text": {
|
|
637
|
+
"description": "Testo della nota",
|
|
638
|
+
"name": "text",
|
|
639
|
+
"required": true
|
|
640
|
+
}
|
|
641
|
+
},
|
|
642
|
+
"description": "Registra un appunto o un'azione nella sessione attiva.",
|
|
643
|
+
"examples": [
|
|
644
|
+
"<%= config.bin %> note add \"Fixato layout mobile\"",
|
|
645
|
+
"<%= config.bin %> note add \"Aggiornato plugin sicurezza\" --priority critical"
|
|
646
|
+
],
|
|
647
|
+
"flags": {
|
|
648
|
+
"priority": {
|
|
649
|
+
"char": "p",
|
|
650
|
+
"description": "Priorita della nota",
|
|
651
|
+
"name": "priority",
|
|
652
|
+
"default": "medium",
|
|
653
|
+
"hasDynamicHelp": false,
|
|
654
|
+
"multiple": false,
|
|
655
|
+
"options": [
|
|
656
|
+
"low",
|
|
657
|
+
"medium",
|
|
658
|
+
"high",
|
|
659
|
+
"critical"
|
|
660
|
+
],
|
|
661
|
+
"type": "option"
|
|
662
|
+
}
|
|
663
|
+
},
|
|
664
|
+
"hasDynamicHelp": false,
|
|
665
|
+
"hiddenAliases": [],
|
|
666
|
+
"id": "note:add",
|
|
667
|
+
"pluginAlias": "@orbitpanel/cli",
|
|
668
|
+
"pluginName": "@orbitpanel/cli",
|
|
669
|
+
"pluginType": "core",
|
|
670
|
+
"strict": true,
|
|
671
|
+
"summary": "Aggiunge una nota alla sessione corrente",
|
|
672
|
+
"enableJsonFlag": false,
|
|
673
|
+
"isESM": true,
|
|
674
|
+
"relativePath": [
|
|
675
|
+
"dist",
|
|
676
|
+
"commands",
|
|
677
|
+
"note",
|
|
678
|
+
"add.js"
|
|
679
|
+
]
|
|
680
|
+
},
|
|
681
681
|
"session:end": {
|
|
682
682
|
"aliases": [],
|
|
683
683
|
"args": {},
|
|
@@ -749,5 +749,5 @@
|
|
|
749
749
|
]
|
|
750
750
|
}
|
|
751
751
|
},
|
|
752
|
-
"version": "0.
|
|
752
|
+
"version": "0.9.1"
|
|
753
753
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@orbitpanel/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.9.1",
|
|
4
4
|
"description": "Orbit CLI — strumento locale per sviluppatori OrbitPanel",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
"@oclif/plugin-help": "^6.0.0",
|
|
38
38
|
"chalk": "^5.4.0",
|
|
39
39
|
"gradient-string": "^3.0.0",
|
|
40
|
+
"mute-stream": "^3.0.0",
|
|
40
41
|
"ora": "^9.3.0",
|
|
41
42
|
"update-notifier": "^7.3.1"
|
|
42
43
|
},
|