@orbitpanel/cli 1.0.1 → 1.0.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.
@@ -0,0 +1,36 @@
1
+ /**
2
+ * Shared AI chat handler for @orbitpanel/cli.
3
+ *
4
+ * Single source of truth for: stream → fallback → error handling.
5
+ * Rendering is delegated to the caller via callbacks.
6
+ *
7
+ * Used by both shell-ink.ts (Ink) and shell.ts (readline).
8
+ */
9
+ import type { OrbitConfig, SiteLink } from '../types.js';
10
+ export interface AIChatCallbacks {
11
+ /** Called when streaming status changes (e.g., "Recupero contesto...") */
12
+ onStatus?: (message: string) => void;
13
+ /** Called when AI is "thinking" */
14
+ onThinking?: () => void;
15
+ /** Called with each content chunk during streaming */
16
+ onDelta?: (chunk: string) => void;
17
+ /** Called when streaming is done — receives full text (markdown rendered) */
18
+ onComplete: (text: string) => void;
19
+ /** Called on error */
20
+ onError: (message: string) => void;
21
+ /** Called when no response received */
22
+ onEmpty?: () => void;
23
+ }
24
+ export interface AIChatResult {
25
+ /** Whether content was successfully received */
26
+ success: boolean;
27
+ /** The full response text (raw, before markdown) */
28
+ rawText: string;
29
+ /** Whether fallback was used */
30
+ usedFallback: boolean;
31
+ }
32
+ /**
33
+ * Execute AI chat with streaming + fallback.
34
+ * The core logic is shared; rendering differs via callbacks.
35
+ */
36
+ export declare function executeAIChat(message: string, config: OrbitConfig, siteLink: SiteLink | null, callbacks: AIChatCallbacks): Promise<AIChatResult>;
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Shared AI chat handler for @orbitpanel/cli.
3
+ *
4
+ * Single source of truth for: stream → fallback → error handling.
5
+ * Rendering is delegated to the caller via callbacks.
6
+ *
7
+ * Used by both shell-ink.ts (Ink) and shell.ts (readline).
8
+ */
9
+ import { sendChatStream } from './ai-stream.js';
10
+ import { sendChat } from './ai-chat.js';
11
+ import { StreamStateMachine } from './stream-state.js';
12
+ import { renderMarkdown } from './markdown.js';
13
+ /**
14
+ * Execute AI chat with streaming + fallback.
15
+ * The core logic is shared; rendering differs via callbacks.
16
+ */
17
+ export async function executeAIChat(message, config, siteLink, callbacks) {
18
+ const sm = new StreamStateMachine();
19
+ let fullText = '';
20
+ try {
21
+ const result = await sendChatStream(message, (event) => {
22
+ if (!sm.transition(event.type))
23
+ return;
24
+ switch (event.type) {
25
+ case 'status': {
26
+ const msg = (event.data.message ?? event.data.phase ?? '');
27
+ callbacks.onStatus?.(msg);
28
+ break;
29
+ }
30
+ case 'thinking':
31
+ callbacks.onThinking?.();
32
+ break;
33
+ case 'delta': {
34
+ const chunk = (event.data.text ?? event.data.content ?? '');
35
+ if (chunk) {
36
+ fullText += chunk;
37
+ callbacks.onDelta?.(chunk);
38
+ }
39
+ break;
40
+ }
41
+ case 'error':
42
+ callbacks.onError(String(event.data.message ?? 'Errore sconosciuto'));
43
+ break;
44
+ case 'done':
45
+ break;
46
+ }
47
+ }, config, siteLink);
48
+ const contentStarted = sm.current === 'generating' || sm.current === 'done';
49
+ // Stream succeeded with content
50
+ if (fullText && contentStarted) {
51
+ callbacks.onComplete(renderMarkdown(fullText));
52
+ return { success: true, rawText: fullText, usedFallback: false };
53
+ }
54
+ // Stream failed or returned empty → try non-streaming fallback
55
+ if (result.error && !contentStarted) {
56
+ return await executeFallback(message, callbacks);
57
+ }
58
+ // Stream returned but no content
59
+ if (!fullText && !result.error) {
60
+ callbacks.onEmpty?.();
61
+ }
62
+ if (result.error) {
63
+ callbacks.onError(result.error);
64
+ }
65
+ return { success: !!fullText, rawText: fullText, usedFallback: false };
66
+ }
67
+ catch {
68
+ // Network-level failure → fallback
69
+ return await executeFallback(message, callbacks);
70
+ }
71
+ }
72
+ /** Non-streaming fallback. */
73
+ async function executeFallback(message, callbacks) {
74
+ try {
75
+ const fallback = await sendChat(message);
76
+ if (fallback.error) {
77
+ callbacks.onError(fallback.error);
78
+ return { success: false, rawText: '', usedFallback: true };
79
+ }
80
+ const text = fallback.response ?? '';
81
+ if (text) {
82
+ callbacks.onComplete(renderMarkdown(text));
83
+ }
84
+ else {
85
+ callbacks.onEmpty?.();
86
+ }
87
+ return { success: !!text, rawText: text, usedFallback: true };
88
+ }
89
+ catch (err) {
90
+ callbacks.onError(err instanceof Error ? err.message : String(err));
91
+ return { success: false, rawText: '', usedFallback: true };
92
+ }
93
+ }
94
+ //# sourceMappingURL=ai-handler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ai-handler.js","sourceRoot":"","sources":["../../src/lib/ai-handler.ts"],"names":[],"mappings":"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"}
@@ -10,15 +10,12 @@ import gradient from 'gradient-string';
10
10
  import { ShellApp } from '../components/ShellApp.js';
11
11
  import { OrbitStore } from '../state/store.js';
12
12
  import { loadConfig } from './config.js';
13
- import { renderMarkdown } from './markdown.js';
14
13
  import { loadSiteLink } from './site.js';
15
14
  import { loadActiveSession } from './session.js';
16
15
  import { getGitBranch } from './git.js';
17
- import { logoLines, SLASH_COMMANDS, DIM, BL, BB, sparkle, WHITE } from './shell-render.js';
16
+ import { logoLines, DIM, BL, BB, sparkle } from './shell-render.js';
18
17
  import { getWelcomeHint } from './shell-hints.js';
19
- import { cmdStatus, cmdDoctor, cmdSessionStart, cmdSessionEnd, cmdSessionInfo, cmdNoteAdd, cmdReport, cmdList, cmdGet, cmdHistory, cmdSites, cmdAuth, cmdLogin, cmdLink, } from './shell-commands.js';
20
- import { getUnknownCommandHint } from './shell-hints.js';
21
- import { formatSuggestionList } from './shell-completer.js';
18
+ import { routeCommand } from './command-router.js';
22
19
  const defaultStoreIO = {
23
20
  loadConfig,
24
21
  loadSiteLink: (cwd) => loadSiteLink(cwd),
@@ -29,26 +26,6 @@ const orbitGrad = gradient(['#2563EB', '#3B82F6', '#60A5FA', '#0D9488']);
29
26
  function sleep(ms) {
30
27
  return new Promise(r => setTimeout(r, ms));
31
28
  }
32
- /** Capture console.log output and route to addOutput. */
33
- function captureOutput(fn, addOutput) {
34
- const origLog = console.log;
35
- const lines = [];
36
- console.log = (...args) => {
37
- lines.push(args.map(a => typeof a === 'string' ? a : String(a)).join(' '));
38
- };
39
- const result = fn();
40
- const finish = () => {
41
- console.log = origLog;
42
- if (lines.length > 0) {
43
- addOutput(lines.join('\n'));
44
- }
45
- };
46
- if (result instanceof Promise) {
47
- return result.then(finish).catch((err) => { finish(); throw err; });
48
- }
49
- finish();
50
- return Promise.resolve();
51
- }
52
29
  export async function startInkShell(version) {
53
30
  console.log('');
54
31
  for (const line of logoLines) {
@@ -71,121 +48,44 @@ export async function startInkShell(version) {
71
48
  });
72
49
  console.log(` ${DIM(welcomeHint)}`);
73
50
  console.log('');
74
- // Command handler — routes slash commands to existing handlers
51
+ // Command handler — delegates to shared router, handles UI-specific behavior
75
52
  const handleCommand = async (input, addOutput, showSelect) => {
76
- const cmd = input.toLowerCase();
77
53
  // Show what the user typed — full-width background like Claude Code
78
54
  const cols = process.stdout.columns ?? 80;
79
- const content = ` ❯ ${input} `;
80
- const pad = Math.max(0, cols - content.length);
81
- const userMsg = chalk.bgHex('#1E293B').white(content + ' '.repeat(pad));
82
- addOutput(`\n${userMsg}\n`);
83
- // Slash commands
84
- if (cmd === '/clear' || cmd === '/cls') {
85
- addOutput('\n Schermo pulito.\n');
86
- return;
87
- }
88
- if (cmd === '/help' || cmd === '/h') {
89
- await captureOutput(() => {
90
- console.log('');
91
- console.log(` ${sparkle} ${BB('Comandi disponibili')}`);
92
- console.log('');
93
- for (const c of SLASH_COMMANDS) {
94
- const alias = c.alias ? DIM(` ${c.alias}`) : '';
95
- console.log(` ${WHITE(c.cmd.padEnd(18))}${alias.padEnd(10)}${DIM(c.desc)}`);
96
- }
97
- console.log('');
98
- console.log(` ${DIM('Digita / e usa ↑↓ per navigare. Oppure scrivi in linguaggio naturale.')}`);
99
- }, addOutput);
100
- return;
101
- }
102
- if (cmd === '/status' || cmd === '/s') {
103
- await captureOutput(() => cmdStatus(), addOutput);
104
- return;
105
- }
106
- if (cmd === '/doctor' || cmd === '/doc') {
107
- await captureOutput(() => cmdDoctor(), addOutput);
108
- return;
109
- }
110
- if (cmd === '/session start' || cmd === '/ss') {
111
- await captureOutput(() => cmdSessionStart(), addOutput);
112
- await store.refresh(cwd);
113
- return;
114
- }
115
- if (cmd === '/session end' || cmd === '/se') {
116
- await captureOutput(() => cmdSessionEnd(), addOutput);
117
- await store.refresh(cwd);
118
- return;
119
- }
120
- if (cmd === '/session' || cmd === '/session info') {
121
- await captureOutput(() => cmdSessionInfo(), addOutput);
122
- return;
123
- }
124
- if (cmd.startsWith('/note ') || cmd.startsWith('/n ')) {
125
- const text = input.slice(input.indexOf(' ') + 1);
126
- await captureOutput(() => cmdNoteAdd(text), addOutput);
127
- return;
128
- }
129
- if (cmd === '/report' || cmd === '/r') {
130
- await captureOutput(() => cmdReport(), addOutput);
131
- await store.refresh(cwd);
132
- return;
133
- }
134
- if (cmd === '/list' || cmd === '/ls' || cmd === '/interventions') {
135
- await captureOutput(() => cmdList(), addOutput);
136
- return;
137
- }
138
- if (cmd === '/history' || cmd === '/hist') {
139
- await captureOutput(() => cmdHistory(), addOutput);
140
- return;
141
- }
142
- if (cmd.startsWith('/get ') || cmd.startsWith('/g ')) {
143
- await captureOutput(() => cmdGet(input.split(' ')[1]), addOutput);
144
- return;
145
- }
146
- if (cmd === '/sites' || cmd.startsWith('/sites ')) {
147
- // Interactive site selection if no number given
148
- if (cmd === '/sites' && showSelect) {
149
- await handleSiteSelect(store, cwd, addOutput, showSelect);
150
- }
151
- else {
152
- await captureOutput(() => cmdSites(cmd.split(' ')[1]), addOutput);
153
- }
154
- await store.refresh(cwd);
155
- return;
156
- }
157
- if (cmd === '/auth') {
158
- await captureOutput(() => cmdAuth(), addOutput);
159
- await store.refresh(cwd);
160
- return;
161
- }
162
- if (cmd.startsWith('/login ')) {
163
- await captureOutput(() => cmdLogin(input.split(' ')[1]), addOutput);
55
+ const msgContent = ` ❯ ${input} `;
56
+ const msgPad = Math.max(0, cols - msgContent.length);
57
+ addOutput(`\n${chalk.bgHex('#1E293B').white(msgContent + ' '.repeat(msgPad))}\n`);
58
+ // Build context for the shared router
59
+ const ctx = {
60
+ input,
61
+ cwd,
62
+ store,
63
+ output: addOutput,
64
+ showSelect,
65
+ };
66
+ // Route via shared router (single source of truth)
67
+ const result = await routeCommand(ctx);
68
+ // Handle UI-specific post-processing
69
+ if (result.shouldExit)
70
+ return; // exit handled by ShellApp
71
+ if (result.needsRefresh)
164
72
  await store.refresh(cwd);
73
+ // /clear UI-specific behavior
74
+ if (input.toLowerCase().trim() === '/clear' || input.toLowerCase().trim() === '/cls') {
75
+ addOutput('\n Schermo pulito.\n');
165
76
  return;
166
77
  }
167
- if (cmd.startsWith('/link ')) {
168
- await captureOutput(() => cmdLink(input.split(' ')[1]), addOutput);
78
+ // /sites interactive selection (when router returns handled=false + needsRefresh)
79
+ if (!result.handled && !result.isChat && input.toLowerCase().startsWith('/sites') && showSelect) {
80
+ await handleSiteSelect(store, cwd, addOutput, showSelect);
169
81
  await store.refresh(cwd);
170
82
  return;
171
83
  }
172
- if (cmd === '/') {
173
- await captureOutput(() => {
174
- console.log('');
175
- console.log(` ${sparkle} ${BB('Comandi disponibili')}`);
176
- console.log('');
177
- console.log(formatSuggestionList(SLASH_COMMANDS));
178
- console.log('');
179
- }, addOutput);
180
- return;
181
- }
182
- if (cmd.startsWith('/')) {
183
- const hint = getUnknownCommandHint(cmd);
184
- addOutput(`\n ${DIM('Comando sconosciuto:')} ${WHITE(cmd)}\n ${DIM(hint)}\n`);
185
- return;
186
- }
187
84
  // Free text → AI chat
188
- await handleAIChat(input, store, addOutput);
85
+ if (result.isChat) {
86
+ await handleAIChat(input, store, addOutput);
87
+ }
88
+ // If handled by router, nothing more to do
189
89
  };
190
90
  // Render Ink app
191
91
  const { waitUntilExit } = render(React.createElement(ShellApp, {
@@ -195,72 +95,21 @@ export async function startInkShell(version) {
195
95
  }));
196
96
  await waitUntilExit();
197
97
  }
198
- // AI chat handler — captures streaming output
98
+ // AI chat handler — uses shared ai-handler for logic, Ink-specific rendering
199
99
  async function handleAIChat(raw, store, addOutput) {
200
- const { sendChatStream } = await import('./ai-stream.js');
201
- const { sendChat } = await import('./ai-chat.js');
202
- const { StreamStateMachine } = await import('./stream-state.js');
100
+ const { executeAIChat } = await import('./ai-handler.js');
203
101
  const { config, siteLink } = store.getState();
204
- const sm = new StreamStateMachine();
205
- let fullText = '';
206
102
  addOutput(` ${sparkle} ${BB('Orbit AI')}\n`);
207
- try {
208
- store.startRequest();
209
- const result = await sendChatStream(raw, (event) => {
210
- if (!sm.transition(event.type))
211
- return;
212
- switch (event.type) {
213
- case 'delta': {
214
- const chunk = (event.data.text ?? event.data.content ?? '');
215
- if (chunk)
216
- fullText += chunk;
217
- break;
218
- }
219
- case 'error':
220
- addOutput(` ${chalk.red('✗')} ${event.data.message}`);
221
- break;
222
- }
223
- }, config, siteLink);
224
- store.endRequest();
225
- const contentStarted = sm.current === 'generating' || sm.current === 'done';
226
- if (result.error && !contentStarted) {
227
- const fallback = await sendChat(raw);
228
- if (fallback.error) {
229
- addOutput(` ${chalk.red('✗')} ${fallback.error}`);
230
- }
231
- else {
232
- const rendered = renderMarkdown(fallback.response ?? '');
233
- addOutput(` ${rendered}`);
234
- }
235
- }
236
- else {
237
- if (fullText) {
238
- const rendered = renderMarkdown(fullText);
239
- const indented = rendered.split('\n').map(l => ` ${l}`).join('\n');
240
- addOutput(indented);
241
- }
242
- else if (!result.error) {
243
- addOutput(` ${DIM('Nessuna risposta ricevuta.')}`);
244
- }
245
- if (result.error)
246
- addOutput(` ${chalk.red('✗')} ${result.error}`);
247
- }
248
- }
249
- catch (err) {
250
- store.endRequest();
251
- try {
252
- const fallback = await sendChat(raw);
253
- if (fallback.error) {
254
- addOutput(` ${chalk.red('✗')} ${fallback.error}`);
255
- }
256
- else {
257
- addOutput(` ${fallback.response ?? ''}`);
258
- }
259
- }
260
- catch (e2) {
261
- addOutput(` ${chalk.red('✗')} ${e2 instanceof Error ? e2.message : String(e2)}`);
262
- }
263
- }
103
+ store.startRequest();
104
+ await executeAIChat(raw, config, siteLink, {
105
+ onComplete: (text) => {
106
+ const indented = text.split('\n').map(l => ` ${l}`).join('\n');
107
+ addOutput(indented);
108
+ },
109
+ onError: (msg) => addOutput(` ${chalk.red('')} ${msg}`),
110
+ onEmpty: () => addOutput(` ${DIM('Nessuna risposta ricevuta.')}`),
111
+ });
112
+ store.endRequest();
264
113
  addOutput('');
265
114
  }
266
115
  // Interactive site selection
@@ -1 +1 @@
1
- {"version":3,"file":"shell-ink.js","sourceRoot":"","sources":["../../src/lib/shell-ink.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-ink.js","sourceRoot":"","sources":["../../src/lib/shell-ink.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,6 @@
1
1
  /**
2
- * Interactive REPL shell for @orbitpanel/cli.
3
- *
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
- *
2
+ * Interactive REPL shell for @orbitpanel/cli (readline fallback).
3
+ * Used in non-TTY mode or when Ink crashes.
10
4
  * Pure readline + chalk — no Ink/React.
11
5
  */
12
6
  export declare function startShell(version: string): Promise<void>;
package/dist/lib/shell.js CHANGED
@@ -1,12 +1,6 @@
1
1
  /**
2
- * Interactive REPL shell for @orbitpanel/cli.
3
- *
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
- *
2
+ * Interactive REPL shell for @orbitpanel/cli (readline fallback).
3
+ * Used in non-TTY mode or when Ink crashes.
10
4
  * Pure readline + chalk — no Ink/React.
11
5
  */
12
6
  import chalk from 'chalk';
@@ -16,18 +10,13 @@ import { loadConfig } from './config.js';
16
10
  import { loadSiteLink } from './site.js';
17
11
  import { loadActiveSession } from './session.js';
18
12
  import { getGitBranch } from './git.js';
19
- import { sendChat } from './ai-chat.js';
20
13
  import { OrbitStore } from '../state/store.js';
21
- import { sendChatStream } from './ai-stream.js';
22
- import { StreamStateMachine } from './stream-state.js';
23
- import { outputBlock } from './ui.js';
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, getSuggestions, formatSuggestionList } from './shell-completer.js';
27
- import { getWelcomeHint, getUnknownCommandHint } from './shell-hints.js';
14
+ import { BL, BB, DIM, orbitGrad, sparkle, logoLines, SLASH_COMMANDS, sep, } from './shell-render.js';
15
+ import { completer as enhancedCompleter, getSuggestions } from './shell-completer.js';
16
+ import { getWelcomeHint } from './shell-hints.js';
17
+ import { routeCommand } from './command-router.js';
28
18
  import { topBorder, bottomBorder, boxedPromptString, renderBelow, clearBelow, resetBelow, } from './shell-box.js';
29
19
  import { renderBarContent } from './status-bar.js';
30
- // IO adapter
31
20
  const defaultStoreIO = {
32
21
  loadConfig,
33
22
  loadSiteLink: (cwd) => loadSiteLink(cwd),
@@ -54,7 +43,6 @@ function buildBarState(store) {
54
43
  sessionMinutes,
55
44
  };
56
45
  }
57
- /** Format a suggestion line. `active` = highlighted with pointer. */
58
46
  function fmtSuggestion(cmd, active) {
59
47
  if (active) {
60
48
  const bg = chalk.bgHex('#1E3A5F');
@@ -65,9 +53,8 @@ function fmtSuggestion(cmd, active) {
65
53
  export async function startShell(version) {
66
54
  const isTTY = process.stdin.isTTY === true;
67
55
  const getCols = () => process.stdout.columns ?? 80;
68
- // ── Header ──
56
+ // Header
69
57
  console.clear();
70
- // Show Ink crash reason if falling back
71
58
  const inkError = process.env.__ORBIT_INK_ERROR;
72
59
  if (inkError) {
73
60
  console.log(chalk.bgRed.white.bold(' INK CRASH — READLINE FALLBACK '));
@@ -84,7 +71,6 @@ export async function startShell(version) {
84
71
  console.log(` ${chalk.bgRgb(37, 99, 235).white.bold(' CLI ')} ${chalk.bgHex('#1E293B').hex('#60A5FA')(` v${version} `)} ${DIM('·')} ${BL('Gestione Orbit Panel AI-powered')}`);
85
72
  console.log('');
86
73
  sep();
87
- // ── State ──
88
74
  const cwd = process.cwd();
89
75
  const store = new OrbitStore(defaultStoreIO);
90
76
  await store.init(cwd);
@@ -96,7 +82,6 @@ export async function startShell(version) {
96
82
  });
97
83
  console.log('');
98
84
  console.log(` ${DIM(welcomeHint)}`);
99
- // ── REPL ──
100
85
  const promptStr = boxedPromptString();
101
86
  const rl = createInterface({
102
87
  input: process.stdin,
@@ -105,45 +90,34 @@ export async function startShell(version) {
105
90
  completer,
106
91
  terminal: isTTY,
107
92
  });
108
- // ── Suggestion state ──
109
93
  let suggestions = [];
110
94
  let selectedIdx = 0;
111
95
  let suggestionsActive = false;
112
96
  let isFirstPrompt = true;
113
- /** Build the lines to show below the prompt. */
114
97
  const buildBelow = () => {
115
98
  const w = getCols();
116
99
  const lines = [];
117
- // Bottom border (only on first prompt with box)
118
- if (isFirstPrompt) {
100
+ if (isFirstPrompt)
119
101
  lines.push(bottomBorder(w));
120
- }
121
- // Suggestions
122
102
  if (suggestionsActive && suggestions.length > 0) {
123
- lines.push(''); // spacing
103
+ lines.push('');
124
104
  for (let i = 0; i < suggestions.length; i++) {
125
105
  lines.push(fmtSuggestion(suggestions[i], i === selectedIdx));
126
106
  }
127
107
  lines.push('');
128
108
  lines.push(` ${DIM('↑↓ naviga · Enter seleziona · Esc chiudi')}`);
129
109
  }
130
- // Status bar
131
110
  lines.push(renderBarContent(buildBarState(store), w));
132
111
  return lines;
133
112
  };
134
- /** Refresh below-prompt content. */
135
- const refreshBelow = () => {
136
- renderBelow(buildBelow());
137
- };
138
- /** Show prompt (first time = box, subsequent = light separator). */
113
+ const refreshBelow = () => { renderBelow(buildBelow()); };
139
114
  const showPrompt = () => {
140
115
  const w = getCols();
141
- console.log(''); // breathing room
116
+ console.log('');
142
117
  if (isFirstPrompt) {
143
118
  console.log(topBorder(w));
144
119
  }
145
120
  else {
146
- // Light separator — just a thin line
147
121
  console.log(` ${DIM('─'.repeat(w - 4))}`);
148
122
  }
149
123
  rl.prompt();
@@ -164,27 +138,23 @@ export async function startShell(version) {
164
138
  });
165
139
  });
166
140
  };
167
- // ── Key interception: arrow navigation for suggestions ──
168
- // Override readline's _ttyWrite to intercept keys BEFORE readline processes them.
169
- // This enables gum-style arrow navigation in the suggestion dropdown.
141
+ // Key interception for suggestion navigation
170
142
  const rlAny = rl;
171
143
  if (isTTY && typeof rlAny._ttyWrite === 'function') {
172
144
  const origTtyWrite = rlAny._ttyWrite.bind(rl);
173
145
  rlAny._ttyWrite = function (s, key) {
174
- // When suggestions are active, intercept navigation keys
175
146
  if (suggestionsActive && suggestions.length > 0) {
176
147
  if (key?.name === 'up') {
177
148
  selectedIdx = selectedIdx <= 0 ? suggestions.length - 1 : selectedIdx - 1;
178
149
  refreshBelow();
179
- return; // swallow — don't let readline do history
150
+ return;
180
151
  }
181
152
  if (key?.name === 'down') {
182
153
  selectedIdx = selectedIdx >= suggestions.length - 1 ? 0 : selectedIdx + 1;
183
154
  refreshBelow();
184
- return; // swallow
155
+ return;
185
156
  }
186
157
  if (key?.name === 'return' && selectedIdx >= 0) {
187
- // Select the suggestion: replace line content with selected command
188
158
  const selected = suggestions[selectedIdx];
189
159
  rlAny.line = '';
190
160
  rlAny.cursor = 0;
@@ -194,7 +164,7 @@ export async function startShell(version) {
194
164
  suggestions = [];
195
165
  selectedIdx = 0;
196
166
  refreshBelow();
197
- return; // swallow — don't submit
167
+ return;
198
168
  }
199
169
  if (key?.name === 'escape') {
200
170
  suggestionsActive = false;
@@ -204,20 +174,15 @@ export async function startShell(version) {
204
174
  return;
205
175
  }
206
176
  }
207
- // On Enter: ALWAYS clear below-prompt content BEFORE readline processes it.
208
- // This prevents the status bar from bleeding into command output.
209
177
  if (key?.name === 'return') {
210
178
  clearBelow();
211
179
  suggestionsActive = false;
212
180
  suggestions = [];
213
181
  selectedIdx = 0;
214
182
  }
215
- // Normal processing — let readline handle the key
216
183
  origTtyWrite(s, key);
217
- // Don't recalculate suggestions after Enter (line was submitted)
218
184
  if (key?.name === 'return')
219
185
  return;
220
- // After readline updates rl.line, recalculate suggestions
221
186
  const line = rlAny.line ?? '';
222
187
  if (line.startsWith('/') && line.length >= 1) {
223
188
  const matches = getSuggestions(line, SLASH_COMMANDS).slice(0, 6);
@@ -244,8 +209,6 @@ export async function startShell(version) {
244
209
  rl.on('line', async (input) => {
245
210
  const raw = input.trim();
246
211
  const cmd = raw.toLowerCase();
247
- // Below-prompt content already cleared in _ttyWrite before Enter.
248
- // In non-TTY mode (no _ttyWrite override), clear here as fallback.
249
212
  if (!isTTY)
250
213
  clearBelow();
251
214
  suggestionsActive = false;
@@ -256,8 +219,10 @@ export async function startShell(version) {
256
219
  showPrompt();
257
220
  return;
258
221
  }
259
- // ── Command routing ──
260
- if (cmd === '/exit' || cmd === '/quit' || cmd === '/q') {
222
+ // Shared command routing
223
+ const ctx = { input: raw, cwd, store, output: (text) => console.log(text), promptConfirm };
224
+ const result = await routeCommand(ctx);
225
+ if (result.shouldExit) {
261
226
  exitShell();
262
227
  return;
263
228
  }
@@ -268,220 +233,65 @@ export async function startShell(version) {
268
233
  showPrompt();
269
234
  return;
270
235
  }
271
- if (cmd === '/help' || cmd === '/h') {
272
- printHelp();
273
- showPrompt();
274
- return;
275
- }
276
- if (cmd === '/status' || cmd === '/s') {
277
- await cmdStatus();
278
- showPrompt();
279
- return;
280
- }
281
- if (cmd === '/doctor' || cmd === '/doc') {
282
- await cmdDoctor();
283
- showPrompt();
284
- return;
285
- }
286
- if (cmd === '/session start' || cmd === '/ss') {
287
- await cmdSessionStart();
288
- await store.refresh(cwd);
289
- showPrompt();
290
- return;
291
- }
292
- if (cmd === '/session end' || cmd === '/se') {
293
- await cmdSessionEnd();
294
- await store.refresh(cwd);
295
- showPrompt();
296
- return;
297
- }
298
- if (cmd === '/session' || cmd === '/session info') {
299
- await cmdSessionInfo();
300
- showPrompt();
301
- return;
302
- }
303
- if (cmd.startsWith('/note ') || cmd.startsWith('/n ')) {
304
- await cmdNoteAdd(raw.slice(raw.indexOf(' ') + 1));
305
- showPrompt();
306
- return;
307
- }
308
- if (cmd === '/report' || cmd === '/r') {
309
- await cmdReport(promptConfirm);
310
- await store.refresh(cwd);
311
- showPrompt();
312
- return;
313
- }
314
- if (cmd === '/list' || cmd === '/ls' || cmd === '/interventions') {
315
- await cmdList();
316
- showPrompt();
317
- return;
318
- }
319
- if (cmd === '/history' || cmd === '/hist') {
320
- await cmdHistory();
321
- showPrompt();
322
- return;
323
- }
324
- if (cmd.startsWith('/get ') || cmd.startsWith('/g ')) {
325
- await cmdGet(raw.split(' ')[1]);
326
- showPrompt();
327
- return;
328
- }
329
- if (cmd === '/sites' || cmd.startsWith('/sites ')) {
330
- await cmdSites(cmd.split(' ')[1]);
331
- await store.refresh(cwd);
332
- showPrompt();
333
- return;
334
- }
335
- if (cmd === '/auth') {
336
- await cmdAuth();
236
+ if (result.needsRefresh)
337
237
  await store.refresh(cwd);
338
- showPrompt();
339
- return;
340
- }
341
- if (cmd.startsWith('/login ')) {
342
- await cmdLogin(raw.split(' ')[1]);
343
- await store.refresh(cwd);
344
- showPrompt();
345
- return;
346
- }
347
- if (cmd.startsWith('/link ')) {
348
- await cmdLink(raw.split(' ')[1]);
349
- await store.refresh(cwd);
350
- showPrompt();
351
- return;
352
- }
353
- if (cmd === '/') {
354
- console.log('');
355
- console.log(` ${sparkle} ${BB('Comandi disponibili')}`);
356
- console.log('');
357
- console.log(formatSuggestionList(SLASH_COMMANDS));
358
- console.log('');
359
- console.log(` ${DIM('Digita / e usa ↑↓ per navigare, Enter per selezionare.')}`);
360
- showPrompt();
361
- return;
362
- }
363
- if (cmd.startsWith('/')) {
364
- const hint = getUnknownCommandHint(cmd);
365
- console.log('');
366
- console.log(` ${DIM('Comando sconosciuto:')} ${WHITE(cmd)}`);
367
- console.log(` ${DIM(hint)}`);
368
- showPrompt();
369
- return;
370
- }
371
- // Free text → AI chat
372
- await handleAIChat(raw, store);
238
+ if (result.isChat)
239
+ await handleAIChat(raw, store);
373
240
  showPrompt();
374
241
  });
375
242
  });
376
243
  }
377
- // ── Help ──
378
- function printHelp() {
379
- console.log('');
380
- console.log(` ${sparkle} ${BB('Comandi disponibili')}`);
381
- console.log('');
382
- for (const c of SLASH_COMMANDS) {
383
- const alias = c.alias ? DIM(` ${c.alias}`) : '';
384
- console.log(` ${WHITE(c.cmd.padEnd(18))}${alias.padEnd(10)}${DIM(c.desc)}`);
385
- }
386
- console.log('');
387
- console.log(` ${DIM('Digita / e usa ↑↓ per navigare. Oppure scrivi in linguaggio naturale.')}`);
388
- }
389
- // ── AI Chat ──
244
+ // ── AI Chat (readline — uses shared ai-handler + ora spinner) ──
390
245
  async function handleAIChat(raw, store) {
246
+ const { executeAIChat } = await import('./ai-handler.js');
391
247
  const { config, siteLink } = store.getState();
392
248
  console.log('');
393
249
  console.log(` ${sparkle} ${BB('Orbit AI')}`);
394
250
  console.log('');
395
251
  const spinner = ora({ text: DIM('Recupero contesto...'), color: 'blue', indent: 4 }).start();
396
- const sm = new StreamStateMachine();
397
- try {
398
- store.startRequest();
399
- const result = await sendChatStream(raw, (event) => {
400
- if (!sm.transition(event.type))
401
- return;
402
- switch (event.type) {
403
- case 'status': {
404
- const msg = (event.data.message ?? event.data.phase ?? '');
405
- if (spinner.isSpinning)
406
- spinner.text = DIM(msg);
407
- break;
408
- }
409
- case 'thinking':
410
- if (spinner.isSpinning)
411
- spinner.text = DIM('Analisi in corso...');
412
- break;
413
- case 'delta': {
414
- if (spinner.isSpinning) {
415
- spinner.stop();
416
- console.log('');
417
- process.stdout.write(' ');
418
- }
419
- const chunk = (event.data.text ?? event.data.content ?? '');
420
- if (chunk)
421
- process.stdout.write(chunk.replaceAll('\n', '\n '));
422
- break;
423
- }
424
- case 'error':
425
- if (spinner.isSpinning)
426
- spinner.stop();
427
- console.log(`\n ${chalk.red('✗')} ${event.data.message}`);
428
- break;
429
- case 'done':
430
- if (spinner.isSpinning)
431
- spinner.stop();
432
- break;
433
- }
434
- }, config, siteLink);
252
+ let deltaStarted = false;
253
+ const stopSpinner = () => {
435
254
  if (spinner.isSpinning)
436
255
  spinner.stop();
437
- store.endRequest();
438
- const contentStarted = sm.current === 'generating' || sm.current === 'done';
439
- if (result.error && !contentStarted) {
440
- const fallback = await sendChat(raw);
441
- if (fallback.error) {
442
- console.log('');
443
- console.log(outputBlock('error', fallback.error));
444
- }
445
- else {
256
+ };
257
+ store.startRequest();
258
+ await executeAIChat(raw, config, siteLink, {
259
+ onStatus: (msg) => { if (spinner.isSpinning)
260
+ spinner.text = DIM(msg); },
261
+ onThinking: () => { if (spinner.isSpinning)
262
+ spinner.text = DIM('Analisi in corso...'); },
263
+ onDelta: (chunk) => {
264
+ if (!deltaStarted) {
265
+ stopSpinner();
446
266
  console.log('');
447
- for (const line of (fallback.response ?? '').split('\n')) {
448
- console.log(` ${line}`);
449
- }
450
- if (fallback.provider_used) {
451
- console.log(`\n ${DIM(`(${fallback.provider_used})`)}`);
452
- }
267
+ process.stdout.write(' ');
268
+ deltaStarted = true;
453
269
  }
454
- }
455
- else {
456
- if (contentStarted)
270
+ process.stdout.write(chunk.replaceAll('\n', '\n '));
271
+ },
272
+ onComplete: (text) => {
273
+ stopSpinner();
274
+ if (deltaStarted) {
275
+ // Content was streamed via onDelta — just add newline
457
276
  process.stdout.write('\n');
458
- if (result.provider)
459
- console.log(` ${DIM(`(${result.provider})`)}`);
460
- if (result.error)
461
- console.log(` ${chalk.red('✗')} ${result.error}`);
462
- }
463
- }
464
- catch (err) {
465
- if (spinner.isSpinning)
466
- spinner.stop();
467
- store.endRequest();
468
- try {
469
- const fallback = await sendChat(raw);
470
- if (fallback.error) {
471
- console.log('');
472
- console.log(outputBlock('error', fallback.error));
473
277
  }
474
278
  else {
279
+ // Fallback — print full text
475
280
  console.log('');
476
- for (const line of (fallback.response ?? '').split('\n'))
281
+ for (const line of text.split('\n'))
477
282
  console.log(` ${line}`);
478
283
  }
479
- }
480
- catch (e2) {
481
- console.log('');
482
- console.log(outputBlock('error', e2 instanceof Error ? e2.message : String(e2)));
483
- }
484
- }
284
+ },
285
+ onError: (msg) => {
286
+ stopSpinner();
287
+ console.log(`\n ${chalk.red('')} ${msg}`);
288
+ },
289
+ onEmpty: () => {
290
+ stopSpinner();
291
+ console.log(` ${DIM('Nessuna risposta ricevuta.')}`);
292
+ },
293
+ });
294
+ store.endRequest();
485
295
  console.log('');
486
296
  }
487
297
  //# sourceMappingURL=shell.js.map
@@ -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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"}
@@ -592,76 +592,6 @@
592
592
  "add.js"
593
593
  ]
594
594
  },
595
- "session:end": {
596
- "aliases": [],
597
- "args": {},
598
- "description": "Chiude la sessione attiva, cattura il commit finale\ne mostra un riepilogo del lavoro svolto.",
599
- "examples": [
600
- "<%= config.bin %> session end",
601
- "<%= config.bin %> session end --summary \"Completato refactor homepage\""
602
- ],
603
- "flags": {
604
- "summary": {
605
- "char": "s",
606
- "description": "Summary finale del lavoro svolto",
607
- "name": "summary",
608
- "hasDynamicHelp": false,
609
- "multiple": false,
610
- "type": "option"
611
- }
612
- },
613
- "hasDynamicHelp": false,
614
- "hiddenAliases": [],
615
- "id": "session:end",
616
- "pluginAlias": "@orbitpanel/cli",
617
- "pluginName": "@orbitpanel/cli",
618
- "pluginType": "core",
619
- "strict": true,
620
- "summary": "Chiude la sessione di lavoro corrente",
621
- "enableJsonFlag": false,
622
- "isESM": true,
623
- "relativePath": [
624
- "dist",
625
- "commands",
626
- "session",
627
- "end.js"
628
- ]
629
- },
630
- "session:start": {
631
- "aliases": [],
632
- "args": {},
633
- "description": "Avvia una sessione di lavoro collegata al sito Orbit.\nCattura automaticamente branch git e commit corrente.",
634
- "examples": [
635
- "<%= config.bin %> session start",
636
- "<%= config.bin %> session start --note \"Refactor homepage\""
637
- ],
638
- "flags": {
639
- "note": {
640
- "char": "n",
641
- "description": "Nota iniziale sulla sessione",
642
- "name": "note",
643
- "hasDynamicHelp": false,
644
- "multiple": false,
645
- "type": "option"
646
- }
647
- },
648
- "hasDynamicHelp": false,
649
- "hiddenAliases": [],
650
- "id": "session:start",
651
- "pluginAlias": "@orbitpanel/cli",
652
- "pluginName": "@orbitpanel/cli",
653
- "pluginType": "core",
654
- "strict": true,
655
- "summary": "Inizia una sessione di lavoro locale",
656
- "enableJsonFlag": false,
657
- "isESM": true,
658
- "relativePath": [
659
- "dist",
660
- "commands",
661
- "session",
662
- "start.js"
663
- ]
664
- },
665
595
  "report:send": {
666
596
  "aliases": [],
667
597
  "args": {},
@@ -747,7 +677,77 @@
747
677
  "report",
748
678
  "send.js"
749
679
  ]
680
+ },
681
+ "session:end": {
682
+ "aliases": [],
683
+ "args": {},
684
+ "description": "Chiude la sessione attiva, cattura il commit finale\ne mostra un riepilogo del lavoro svolto.",
685
+ "examples": [
686
+ "<%= config.bin %> session end",
687
+ "<%= config.bin %> session end --summary \"Completato refactor homepage\""
688
+ ],
689
+ "flags": {
690
+ "summary": {
691
+ "char": "s",
692
+ "description": "Summary finale del lavoro svolto",
693
+ "name": "summary",
694
+ "hasDynamicHelp": false,
695
+ "multiple": false,
696
+ "type": "option"
697
+ }
698
+ },
699
+ "hasDynamicHelp": false,
700
+ "hiddenAliases": [],
701
+ "id": "session:end",
702
+ "pluginAlias": "@orbitpanel/cli",
703
+ "pluginName": "@orbitpanel/cli",
704
+ "pluginType": "core",
705
+ "strict": true,
706
+ "summary": "Chiude la sessione di lavoro corrente",
707
+ "enableJsonFlag": false,
708
+ "isESM": true,
709
+ "relativePath": [
710
+ "dist",
711
+ "commands",
712
+ "session",
713
+ "end.js"
714
+ ]
715
+ },
716
+ "session:start": {
717
+ "aliases": [],
718
+ "args": {},
719
+ "description": "Avvia una sessione di lavoro collegata al sito Orbit.\nCattura automaticamente branch git e commit corrente.",
720
+ "examples": [
721
+ "<%= config.bin %> session start",
722
+ "<%= config.bin %> session start --note \"Refactor homepage\""
723
+ ],
724
+ "flags": {
725
+ "note": {
726
+ "char": "n",
727
+ "description": "Nota iniziale sulla sessione",
728
+ "name": "note",
729
+ "hasDynamicHelp": false,
730
+ "multiple": false,
731
+ "type": "option"
732
+ }
733
+ },
734
+ "hasDynamicHelp": false,
735
+ "hiddenAliases": [],
736
+ "id": "session:start",
737
+ "pluginAlias": "@orbitpanel/cli",
738
+ "pluginName": "@orbitpanel/cli",
739
+ "pluginType": "core",
740
+ "strict": true,
741
+ "summary": "Inizia una sessione di lavoro locale",
742
+ "enableJsonFlag": false,
743
+ "isESM": true,
744
+ "relativePath": [
745
+ "dist",
746
+ "commands",
747
+ "session",
748
+ "start.js"
749
+ ]
750
750
  }
751
751
  },
752
- "version": "1.0.1"
752
+ "version": "1.0.3"
753
753
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbitpanel/cli",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Orbit CLI — strumento locale per sviluppatori OrbitPanel",
5
5
  "type": "module",
6
6
  "bin": {