@orbitpanel/cli 0.2.1 → 0.2.2

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Interactive shell for @orbitpanel/cli.
3
- * Stile v6: gradient, colori, sparkles, apparizione progressiva.
2
+ * Interactive REPL shell for @orbitpanel/cli.
3
+ * Stile Gemini CLI / Claude Code: input testuale libero, output inline.
4
4
  */
5
5
  export declare function startShell(version: string): Promise<void>;
package/dist/lib/shell.js CHANGED
@@ -1,15 +1,15 @@
1
1
  /**
2
- * Interactive shell for @orbitpanel/cli.
3
- * Stile v6: gradient, colori, sparkles, apparizione progressiva.
2
+ * Interactive REPL shell for @orbitpanel/cli.
3
+ * Stile Gemini CLI / Claude Code: input testuale libero, output inline.
4
4
  */
5
- import * as p from '@clack/prompts';
6
5
  import chalk from 'chalk';
7
6
  import gradient from 'gradient-string';
7
+ import { createInterface } from 'node:readline';
8
8
  import ora from 'ora';
9
9
  import { loadConfig } from './config.js';
10
10
  import { OrbitClient } from './client.js';
11
11
  import { loadSiteLink } from './site.js';
12
- import { loadActiveSession, createSession, addNote, endSession } from './session.js';
12
+ import { loadActiveSession, createSession, addNote, endSession, } from './session.js';
13
13
  import { getGitBranch, getGitCommitHead, getGitDiffStat } from './git.js';
14
14
  import { buildReportPayload } from './report-builder.js';
15
15
  // Brand colors
@@ -19,11 +19,9 @@ const BB = chalk.bold.rgb(37, 99, 235);
19
19
  const GREEN = chalk.hex('#22C55E');
20
20
  const YELLOW = chalk.hex('#EAB308');
21
21
  const DIM = chalk.dim;
22
- const BOLD = chalk.bold;
23
22
  const WHITE = chalk.white;
24
23
  const orbitGrad = gradient(['#2563EB', '#3B82F6', '#60A5FA', '#0D9488']);
25
24
  const sparkle = BL('✦');
26
- const sep = () => console.log(orbitGrad(' ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
27
25
  function sleep(ms) {
28
26
  return new Promise(r => setTimeout(r, ms));
29
27
  }
@@ -42,11 +40,8 @@ async function showHeader(version) {
42
40
  console.log(orbitGrad(line));
43
41
  await sleep(60);
44
42
  }
45
- await sleep(150);
46
43
  console.log('');
47
44
  console.log(` ${chalk.bgRgb(37, 99, 235).white.bold(' CLI ')} ${chalk.bgHex('#1E293B').hex('#60A5FA')(` v${version} `)} ${DIM('·')} ${BL('Gestione Orbit Panel AI-powered')}`);
48
- console.log('');
49
- sep();
50
45
  }
51
46
  async function showStatus() {
52
47
  const config = await loadConfig();
@@ -55,25 +50,29 @@ async function showStatus() {
55
50
  const siteLink = await loadSiteLink(process.cwd());
56
51
  const session = siteLink ? await loadActiveSession(siteLink.orbit_site_id) : null;
57
52
  const parts = [];
58
- if (tokenEntry) {
59
- parts.push(`${GREEN('●')} ${WHITE('Connesso')}`);
60
- }
61
- else {
62
- parts.push(`${chalk.red('●')} ${DIM('Non connesso')}`);
63
- }
64
- if (siteLink) {
65
- parts.push(`${BL(siteLink.final_url ?? siteLink.orbit_site_id.slice(0, 16))}`);
66
- }
53
+ if (tokenEntry)
54
+ parts.push(`${GREEN('●')} Connesso`);
55
+ else
56
+ parts.push(`${chalk.red('●')} Non connesso`);
57
+ if (siteLink)
58
+ parts.push(BL(siteLink.final_url ?? siteLink.orbit_site_id.slice(0, 16)));
67
59
  if (session) {
68
60
  const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
69
- parts.push(`${GREEN('●')} ${WHITE('Sessione')} ${DIM(`${elapsed}min`)}`);
61
+ parts.push(`${GREEN('●')} Sessione ${DIM(`${elapsed}min`)}`);
70
62
  if (session.git_branch)
71
- parts.push(`${BL(session.git_branch)}`);
72
- }
73
- if (parts.length > 0) {
74
- console.log('');
75
- console.log(` ${parts.join(` ${DIM('│')} `)}`);
63
+ parts.push(BL(session.git_branch));
76
64
  }
65
+ console.log('');
66
+ console.log(` ${parts.join(` ${DIM('│')} `)}`);
67
+ }
68
+ function sep() {
69
+ console.log(orbitGrad(' ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
70
+ }
71
+ function getClient(config) {
72
+ const t = config.default_site ? config.tokens[config.default_site] : undefined;
73
+ if (!t)
74
+ return null;
75
+ return new OrbitClient(t.token, config.api_url);
77
76
  }
78
77
  export async function startShell(version) {
79
78
  await showHeader(version);
@@ -81,223 +80,287 @@ export async function startShell(version) {
81
80
  console.log('');
82
81
  sep();
83
82
  console.log('');
84
- let running = true;
85
- while (running) {
86
- const action = await p.select({
87
- message: `${B('?')} ${BOLD('Cosa vuoi fare?')}`,
88
- options: [
89
- { value: 'status', label: BB('Stato'), hint: BL('panoramica completa') },
90
- { value: 'session', label: BB('Sessione'), hint: 'avvia · termina · note' },
91
- { value: 'report', label: BB('Report'), hint: 'invia report a Orbit' },
92
- { value: 'intervention', label: BB('Interventi'), hint: 'lista · dettaglio' },
93
- { value: 'doctor', label: BB('Diagnostica'), hint: 'verifica configurazione' },
94
- { value: 'config', label: BB('Configurazione'), hint: 'login · link · setup' },
95
- { value: 'quit', label: DIM('Esci'), hint: DIM('ctrl+c') },
96
- ],
97
- });
98
- if (p.isCancel(action) || action === 'quit') {
99
- p.outro(DIM('Alla prossima!'));
100
- running = false;
101
- continue;
83
+ console.log(` ${DIM('Digita un comando o')} ${WHITE('help')} ${DIM('per la lista completa.')}`);
84
+ console.log('');
85
+ const rl = createInterface({
86
+ input: process.stdin,
87
+ output: process.stdout,
88
+ prompt: ` ${B('orbit')} ${DIM('')} `,
89
+ });
90
+ rl.prompt();
91
+ rl.on('line', async (input) => {
92
+ const raw = input.trim();
93
+ const cmd = raw.toLowerCase();
94
+ if (!cmd) {
95
+ rl.prompt();
96
+ return;
102
97
  }
103
- console.log('');
104
- sep();
105
- console.log('');
106
- const config = await loadConfig();
107
- switch (action) {
108
- case 'status':
109
- await handleStatus(config);
110
- break;
111
- case 'session':
112
- await handleSession();
113
- break;
114
- case 'report':
115
- await handleReport(config);
116
- break;
117
- case 'intervention':
118
- await handleIntervention(config);
119
- break;
120
- case 'doctor':
121
- await handleDoctor(config);
122
- break;
123
- case 'config':
124
- await handleConfig();
125
- break;
98
+ if (cmd === 'exit' || cmd === 'quit' || cmd === 'q') {
99
+ console.log(`\n ${DIM('Alla prossima!')}\n`);
100
+ rl.close();
101
+ process.exit(0);
126
102
  }
127
- console.log('');
128
- sep();
129
- console.log('');
130
- }
103
+ if (cmd === 'clear' || cmd === 'cls') {
104
+ console.clear();
105
+ rl.prompt();
106
+ return;
107
+ }
108
+ if (cmd === 'help' || cmd === 'h') {
109
+ showHelp();
110
+ rl.prompt();
111
+ return;
112
+ }
113
+ if (cmd === 'status' || cmd === 's') {
114
+ await cmdStatus();
115
+ rl.prompt();
116
+ return;
117
+ }
118
+ if (cmd === 'doctor' || cmd === 'doc') {
119
+ await cmdDoctor();
120
+ rl.prompt();
121
+ return;
122
+ }
123
+ if (cmd === 'session start' || cmd === 'ss') {
124
+ await cmdSessionStart();
125
+ rl.prompt();
126
+ return;
127
+ }
128
+ if (cmd === 'session end' || cmd === 'se') {
129
+ await cmdSessionEnd();
130
+ rl.prompt();
131
+ return;
132
+ }
133
+ if (cmd === 'session' || cmd === 'session info') {
134
+ await cmdSessionInfo();
135
+ rl.prompt();
136
+ return;
137
+ }
138
+ if (cmd.startsWith('note ') || cmd.startsWith('n ')) {
139
+ await cmdNoteAdd(raw.slice(raw.indexOf(' ') + 1));
140
+ rl.prompt();
141
+ return;
142
+ }
143
+ if (cmd === 'report' || cmd === 'r') {
144
+ await cmdReport();
145
+ rl.prompt();
146
+ return;
147
+ }
148
+ if (cmd === 'list' || cmd === 'ls' || cmd === 'l') {
149
+ await cmdList();
150
+ rl.prompt();
151
+ return;
152
+ }
153
+ if (cmd.startsWith('get ') || cmd.startsWith('g ')) {
154
+ await cmdGet(raw.split(' ')[1]);
155
+ rl.prompt();
156
+ return;
157
+ }
158
+ if (cmd.startsWith('login ')) {
159
+ await cmdLogin(raw.split(' ')[1]);
160
+ rl.prompt();
161
+ return;
162
+ }
163
+ if (cmd.startsWith('link ')) {
164
+ await cmdLink(raw.split(' ')[1]);
165
+ rl.prompt();
166
+ return;
167
+ }
168
+ console.log(`\n ${DIM('Comando non riconosciuto:')} ${WHITE(cmd)} ${DIM('— digita')} ${WHITE('help')}\n`);
169
+ rl.prompt();
170
+ });
131
171
  }
132
- async function handleStatus(config) {
172
+ function showHelp() {
173
+ console.log('');
174
+ console.log(` ${sparkle} ${BB('Comandi disponibili')}`);
175
+ console.log('');
176
+ console.log(` ${WHITE('status')} ${DIM('s')} ${DIM('panoramica completa')}`);
177
+ console.log(` ${WHITE('doctor')} ${DIM('doc')} ${DIM('verifica configurazione')}`);
178
+ console.log(` ${WHITE('session start')} ${DIM('ss')} ${DIM('avvia sessione di lavoro')}`);
179
+ console.log(` ${WHITE('session end')} ${DIM('se')} ${DIM('chiudi sessione')}`);
180
+ console.log(` ${WHITE('session')} ${DIM('info sessione attiva')}`);
181
+ console.log(` ${WHITE('note')} ${BL('<testo>')} ${DIM('aggiungi nota alla sessione')}`);
182
+ console.log(` ${WHITE('report')} ${DIM('r')} ${DIM('invia report a Orbit')}`);
183
+ console.log(` ${WHITE('list')} ${DIM('ls')} ${DIM('lista interventi')}`);
184
+ console.log(` ${WHITE('get')} ${BL('<id>')} ${DIM('dettaglio intervento')}`);
185
+ console.log(` ${WHITE('login')} ${BL('<token>')} ${DIM('configura token')}`);
186
+ console.log(` ${WHITE('link')} ${BL('<site_id>')} ${DIM('collega directory a sito')}`);
187
+ console.log(` ${WHITE('clear')} ${DIM('pulisci schermo')}`);
188
+ console.log(` ${WHITE('exit')} ${DIM('q')} ${DIM('esci')}`);
189
+ console.log('');
190
+ }
191
+ async function cmdStatus() {
192
+ const config = await loadConfig();
193
+ const client = getClient(config);
194
+ console.log('');
133
195
  console.log(` ${sparkle} ${BB('Stato')}`);
134
196
  console.log('');
135
- const defaultSite = config.default_site;
136
- const tokenEntry = defaultSite ? config.tokens[defaultSite] : undefined;
137
- if (!tokenEntry) {
197
+ if (!client) {
138
198
  console.log(` ${chalk.red('✗')} ${WHITE('Token')} ${DIM('non configurato')}`);
199
+ console.log(` ${DIM('Esegui: login <token>')}`);
200
+ console.log('');
139
201
  return;
140
202
  }
141
- const client = new OrbitClient(tokenEntry.token, config.api_url);
203
+ const tokenEntry = config.tokens[config.default_site];
142
204
  const spinner = ora({ text: 'Verifica connessione...', color: 'blue', indent: 5 }).start();
143
- const validation = await client.validateToken();
144
- if (!validation.valid) {
145
- spinner.fail(`API non raggiungibile: ${validation.error}`);
205
+ const v = await client.validateToken();
206
+ if (!v.valid) {
207
+ spinner.fail(`API: ${v.error}`);
208
+ console.log('');
146
209
  return;
147
210
  }
148
211
  spinner.stop();
149
212
  console.log(` ${GREEN('✓')} ${WHITE('Token')} ${DIM(tokenEntry.token.slice(0, 15) + '...')}`);
150
213
  console.log(` ${GREEN('✓')} ${WHITE('API')} ${GREEN('raggiungibile')}`);
214
+ const siteLink = await loadSiteLink(process.cwd());
215
+ if (siteLink) {
216
+ console.log(` ${GREEN('✓')} ${WHITE('Sito')} ${BL(siteLink.final_url ?? siteLink.orbit_site_id)}`);
217
+ }
218
+ const session = siteLink ? await loadActiveSession(siteLink.orbit_site_id) : null;
219
+ if (session) {
220
+ const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
221
+ console.log(` ${GREEN('✓')} ${WHITE('Sessione')} ${GREEN('attiva')} ${DIM(`${elapsed}min · ${session.notes.length} note`)}`);
222
+ }
151
223
  try {
152
224
  const stats = await client.getStats();
153
225
  const total = stats.total_interventions ?? 0;
154
- const byStatus = stats.by_status ?? {};
226
+ const by = stats.by_status ?? {};
155
227
  console.log('');
156
- console.log(` ${BL(String(total))} ${WHITE('interventi totali')}`);
157
- if (total > 0) {
158
- const parts = [];
159
- if (byStatus.scheduled)
160
- parts.push(chalk.blue(`${byStatus.scheduled} pianificati`));
161
- if (byStatus.in_progress)
162
- parts.push(YELLOW(`${byStatus.in_progress} in corso`));
163
- if (byStatus.completed)
164
- parts.push(GREEN(`${byStatus.completed} completati`));
165
- if (byStatus.verified)
166
- parts.push(B(`${byStatus.verified} verificati`));
228
+ console.log(` ${BL(String(total))} interventi totali`);
229
+ const parts = [];
230
+ if (by.completed)
231
+ parts.push(GREEN(`${by.completed} completati`));
232
+ if (by.in_progress)
233
+ parts.push(YELLOW(`${by.in_progress} in corso`));
234
+ if (by.scheduled)
235
+ parts.push(BL(`${by.scheduled} pianificati`));
236
+ if (parts.length)
167
237
  console.log(` ${parts.join(DIM(' · '))}`);
168
- }
169
238
  }
170
239
  catch { }
240
+ console.log('');
171
241
  }
172
- async function handleSession() {
242
+ async function cmdDoctor() {
243
+ const config = await loadConfig();
244
+ console.log('');
245
+ console.log(` ${sparkle} ${BB('Diagnostica')}`);
246
+ console.log('');
247
+ const t = config.default_site ? config.tokens[config.default_site] : undefined;
248
+ console.log(` ${t ? GREEN('✓') : YELLOW('!')} ${WHITE('Token')} ${t ? DIM(t.token.slice(0, 15) + '...') : DIM('non configurato')}`);
249
+ if (t) {
250
+ const c = new OrbitClient(t.token, config.api_url);
251
+ const start = Date.now();
252
+ const v = await c.validateToken();
253
+ const ms = Date.now() - start;
254
+ console.log(` ${v.valid ? GREEN('✓') : chalk.red('✗')} ${WHITE('API')} ${v.valid ? `${GREEN('raggiungibile')} ${DIM(`(${ms}ms)`)}` : DIM(v.error ?? 'errore')}`);
255
+ }
256
+ const site = await loadSiteLink(process.cwd());
257
+ console.log(` ${site ? GREEN('✓') : YELLOW('!')} ${WHITE('Sito')} ${site ? `${BL('.orbit.json')} ${DIM('presente')}` : DIM('non collegato')}`);
258
+ const branch = await getGitBranch();
259
+ console.log(` ${branch ? GREEN('✓') : YELLOW('!')} ${WHITE('Git')} ${branch ? BL(branch) : DIM('nessun repository')}`);
260
+ console.log('');
261
+ const allOk = !!(t && site && branch);
262
+ console.log(` ${allOk ? GREEN.bold('✓ Tutto ok') : YELLOW('! Attenzione')} ${DIM(allOk ? '— pronto per lavorare' : '— vedi sopra')}`);
263
+ console.log('');
264
+ }
265
+ async function cmdSessionStart() {
173
266
  const siteLink = await loadSiteLink(process.cwd());
174
267
  if (!siteLink) {
175
- console.log(` ${chalk.red('✗')} ${DIM('Nessun sito collegato. Vai in Configurazione.')}`);
268
+ console.log(`\n ${chalk.red('✗')} ${DIM('Nessun sito collegato. Esegui: link <site_id>')}\n`);
176
269
  return;
177
270
  }
178
- const session = await loadActiveSession(siteLink.orbit_site_id);
179
- const action = await p.select({
180
- message: `${sparkle} ${BB('Sessione')}`,
181
- options: session
182
- ? [
183
- { value: 'info', label: WHITE('Info sessione'), hint: `${BL(session.id)} · ${session.notes.length} note` },
184
- { value: 'note', label: WHITE('Aggiungi nota'), hint: 'registra azione' },
185
- { value: 'end', label: WHITE('Chiudi sessione'), hint: 'termina e prepara report' },
186
- { value: 'back', label: DIM('Indietro') },
187
- ]
188
- : [
189
- { value: 'start', label: WHITE('Avvia sessione'), hint: 'inizia tracciamento' },
190
- { value: 'back', label: DIM('Indietro') },
191
- ],
192
- });
193
- if (p.isCancel(action) || action === 'back')
271
+ const existing = await loadActiveSession(siteLink.orbit_site_id);
272
+ if (existing) {
273
+ console.log(`\n ${YELLOW('!')} ${DIM(`Sessione gia attiva (${existing.id}). Chiudi con: session end`)}\n`);
194
274
  return;
195
- if (action === 'start') {
196
- const branch = await getGitBranch();
197
- const commit = await getGitCommitHead();
198
- const note = await p.text({ message: 'Nota iniziale (opzionale)', placeholder: 'es. Refactor homepage' });
199
- const spinner = ora({ text: 'Avvio sessione...', color: 'blue', indent: 2 }).start();
200
- const s = await createSession(siteLink.orbit_site_id, {
201
- git_branch: branch ?? undefined,
202
- git_commit: commit ?? undefined,
203
- note: typeof note === 'string' ? note : undefined,
204
- });
205
- spinner.succeed(`Sessione avviata`);
206
- console.log('');
207
- console.log(` ${DIM('ID')} ${BL(s.id)}`);
208
- if (branch)
209
- console.log(` ${DIM('Branch')} ${WHITE(branch)}`);
210
- if (commit)
211
- console.log(` ${DIM('Commit')} ${BL(commit)}`);
212
- }
213
- if (action === 'note' && session) {
214
- const text = await p.text({ message: 'Testo della nota', validate: (v) => !v || v.length === 0 ? 'Inserisci il testo' : undefined });
215
- if (p.isCancel(text))
216
- return;
217
- const prio = await p.select({
218
- message: 'Priorita',
219
- options: [
220
- { value: 'low', label: DIM('Bassa') },
221
- { value: 'medium', label: WHITE('Media') },
222
- { value: 'high', label: YELLOW('Alta') },
223
- { value: 'critical', label: chalk.red('Critica') },
224
- ],
225
- });
226
- if (p.isCancel(prio))
227
- return;
228
- await addNote(session.id, text, prio);
229
- console.log(` ${GREEN('✓')} ${GREEN.bold('Nota aggiunta')} ${DIM(`(${session.notes.length + 1} totali)`)}`);
230
- console.log(` ${B('│')} ${WHITE(text)}`);
231
- }
232
- if (action === 'end' && session) {
233
- const summary = await p.text({ message: 'Summary finale (opzionale)', placeholder: 'es. Completato refactor' });
234
- const commitEnd = await getGitCommitHead();
235
- const spinner = ora({ text: 'Chiusura sessione...', color: 'blue', indent: 2 }).start();
236
- await endSession(session.id, { git_commit_end: commitEnd ?? undefined, summary: typeof summary === 'string' ? summary : undefined });
237
- const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
238
- spinner.succeed(`Sessione chiusa ${DIM(`(${elapsed}min · ${session.notes.length} note)`)}`);
239
- console.log(` ${DIM('Usa "Report" per inviare a Orbit')}`);
240
- }
241
- if (action === 'info' && session) {
242
- const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
243
- console.log(` ${sparkle} ${BB('Sessione attiva')}`);
244
- console.log('');
245
- console.log(` ${DIM('ID')} ${BL(session.id)}`);
246
- console.log(` ${DIM('Durata')} ${WHITE(`${elapsed} min`)}`);
247
- if (session.git_branch)
248
- console.log(` ${DIM('Branch')} ${BL(session.git_branch)}`);
249
- console.log(` ${DIM('Note')} ${WHITE(String(session.notes.length))}`);
250
- for (const note of session.notes.slice(-5)) {
251
- console.log(` ${DIM('·')} ${WHITE(note.text)}`);
252
- }
253
275
  }
254
- }
255
- async function handleReport(config) {
256
- console.log(` ${sparkle} ${BB('Report')}`);
276
+ const branch = await getGitBranch();
277
+ const commit = await getGitCommitHead();
278
+ const s = await createSession(siteLink.orbit_site_id, { git_branch: branch ?? undefined, git_commit: commit ?? undefined });
257
279
  console.log('');
258
- const defaultSite = config.default_site;
259
- const tokenEntry = defaultSite ? config.tokens[defaultSite] : undefined;
260
- if (!tokenEntry) {
261
- console.log(` ${chalk.red('✗')} ${DIM('Token non configurato')}`);
280
+ console.log(` ${sparkle} ${BB('Sessione avviata')}`);
281
+ console.log('');
282
+ console.log(` ${DIM('ID')} ${BL(s.id)}`);
283
+ if (branch)
284
+ console.log(` ${DIM('Branch')} ${WHITE(branch)}`);
285
+ if (commit)
286
+ console.log(` ${DIM('Commit')} ${BL(commit)}`);
287
+ console.log(` ${DIM('Inizio')} ${WHITE(new Date().toLocaleTimeString('it-IT', { hour: '2-digit', minute: '2-digit' }))}`);
288
+ console.log('');
289
+ }
290
+ async function cmdSessionEnd() {
291
+ const siteLink = await loadSiteLink(process.cwd());
292
+ if (!siteLink) {
293
+ console.log(`\n ${chalk.red('✗')} ${DIM('Nessun sito collegato')}\n`);
262
294
  return;
263
295
  }
296
+ const session = await loadActiveSession(siteLink.orbit_site_id);
297
+ if (!session) {
298
+ console.log(`\n ${DIM('Nessuna sessione attiva. Avvia con: session start')}\n`);
299
+ return;
300
+ }
301
+ const commitEnd = await getGitCommitHead();
302
+ await endSession(session.id, { git_commit_end: commitEnd ?? undefined });
303
+ const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
304
+ console.log('');
305
+ console.log(` ${GREEN('✓')} ${GREEN.bold('Sessione chiusa')} ${DIM(`(${elapsed}min · ${session.notes.length} note)`)}`);
306
+ console.log(` ${DIM('Invia il report con: report')}`);
307
+ console.log('');
308
+ }
309
+ async function cmdSessionInfo() {
264
310
  const siteLink = await loadSiteLink(process.cwd());
265
311
  if (!siteLink) {
266
- console.log(` ${chalk.red('✗')} ${DIM('Nessun sito collegato')}`);
312
+ console.log(`\n ${DIM('Nessun sito collegato')}\n`);
267
313
  return;
268
314
  }
269
- let session = await loadActiveSession(siteLink.orbit_site_id);
270
- const title = await p.text({ message: 'Titolo', placeholder: 'es. Fix homepage layout mobile', validate: (v) => !v || v.length === 0 ? 'Inserisci un titolo' : undefined });
271
- if (p.isCancel(title))
315
+ const session = await loadActiveSession(siteLink.orbit_site_id);
316
+ if (!session) {
317
+ console.log(`\n ${DIM('Nessuna sessione attiva')}\n`);
272
318
  return;
273
- const typeTag = await p.select({
274
- message: 'Tipo',
275
- options: [
276
- { value: 'fix', label: `${B('●')} ${BB('Fix')}`, hint: 'correzione bug' },
277
- { value: 'feature', label: `${DIM('')} Feature`, hint: 'nuova funzionalita' },
278
- { value: 'update', label: `${DIM('')} Update`, hint: 'aggiornamento' },
279
- { value: 'security', label: `${DIM('')} Security`, hint: 'sicurezza' },
280
- { value: 'optimization', label: `${DIM('○')} Optimization`, hint: 'performance' },
281
- ],
282
- });
283
- if (p.isCancel(typeTag))
319
+ }
320
+ const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
321
+ console.log('');
322
+ console.log(` ${sparkle} ${BB('Sessione attiva')}`);
323
+ console.log('');
324
+ console.log(` ${DIM('ID')} ${BL(session.id)}`);
325
+ console.log(` ${DIM('Durata')} ${WHITE(`${elapsed} min`)}`);
326
+ if (session.git_branch)
327
+ console.log(` ${DIM('Branch')} ${BL(session.git_branch)}`);
328
+ console.log(` ${DIM('Note')} ${WHITE(String(session.notes.length))}`);
329
+ for (const note of session.notes.slice(-5)) {
330
+ console.log(` ${DIM('·')} ${WHITE(note.text)}`);
331
+ }
332
+ console.log('');
333
+ }
334
+ async function cmdNoteAdd(text) {
335
+ const siteLink = await loadSiteLink(process.cwd());
336
+ if (!siteLink) {
337
+ console.log(`\n ${chalk.red('✗')} ${DIM('Nessun sito collegato')}\n`);
284
338
  return;
285
- const priority = await p.select({
286
- message: 'Priorita',
287
- options: [
288
- { value: 'LOW', label: DIM('Bassa') },
289
- { value: 'MEDIUM', label: BB('Media') },
290
- { value: 'HIGH', label: YELLOW('Alta') },
291
- { value: 'URGENT', label: chalk.red('Urgente') },
292
- ],
293
- });
294
- if (p.isCancel(priority))
339
+ }
340
+ const session = await loadActiveSession(siteLink.orbit_site_id);
341
+ if (!session) {
342
+ console.log(`\n ${DIM('Nessuna sessione attiva. Avvia con: session start')}\n`);
295
343
  return;
296
- const confirm = await p.confirm({ message: `Inviare "${title}" a Orbit?` });
297
- if (!confirm || p.isCancel(confirm)) {
298
- console.log(` ${DIM('Annullato')}`);
344
+ }
345
+ await addNote(session.id, text, 'medium');
346
+ console.log('');
347
+ console.log(` ${GREEN('✓')} ${GREEN.bold('Nota aggiunta')} ${DIM(`(${session.notes.length + 1} totali)`)}`);
348
+ console.log(` ${B('│')} ${WHITE(text)}`);
349
+ console.log('');
350
+ }
351
+ async function cmdReport() {
352
+ const config = await loadConfig();
353
+ const client = getClient(config);
354
+ if (!client) {
355
+ console.log(`\n ${chalk.red('✗')} ${DIM('Token non configurato. Esegui: login <token>')}\n`);
299
356
  return;
300
357
  }
358
+ const siteLink = await loadSiteLink(process.cwd());
359
+ if (!siteLink) {
360
+ console.log(`\n ${chalk.red('✗')} ${DIM('Nessun sito collegato')}\n`);
361
+ return;
362
+ }
363
+ let session = await loadActiveSession(siteLink.orbit_site_id);
301
364
  const commitEnd = await getGitCommitHead();
302
365
  let filesChanged = 0;
303
366
  if (session?.git_commit_start && commitEnd) {
@@ -309,12 +372,11 @@ async function handleReport(config) {
309
372
  }
310
373
  const payload = buildReportPayload({
311
374
  session: session ?? { id: 'no-session', site_id: siteLink.orbit_site_id, started_at: new Date().toISOString(), notes: [], status: 'completed' },
312
- title: title, priority: priority, type_tag: typeTag,
313
- git_commit_end: commitEnd ?? undefined, files_changed: filesChanged,
375
+ git_commit_end: commitEnd ?? undefined,
376
+ files_changed: filesChanged,
314
377
  });
315
378
  payload.site_id = siteLink.orbit_site_id;
316
379
  const spinner = ora({ text: 'Invio report a Orbit...', color: 'blue', indent: 2 }).start();
317
- const client = new OrbitClient(tokenEntry.token, config.api_url);
318
380
  try {
319
381
  const result = await client.createIntervention(payload);
320
382
  spinner.succeed(`${GREEN.bold('Report inviato')} ${DIM(String(result.id).slice(0, 8))}`);
@@ -322,189 +384,110 @@ async function handleReport(config) {
322
384
  catch (err) {
323
385
  spinner.fail(`Invio fallito: ${err instanceof Error ? err.message : String(err)}`);
324
386
  }
325
- }
326
- async function handleIntervention(config) {
327
- console.log(` ${sparkle} ${BB('Interventi')}`);
328
387
  console.log('');
329
- const defaultSite = config.default_site;
330
- const tokenEntry = defaultSite ? config.tokens[defaultSite] : undefined;
331
- if (!tokenEntry) {
332
- console.log(` ${chalk.red('✗')} ${DIM('Token non configurato')}`);
388
+ }
389
+ async function cmdList() {
390
+ const config = await loadConfig();
391
+ const client = getClient(config);
392
+ if (!client) {
393
+ console.log(`\n ${chalk.red('✗')} ${DIM('Token non configurato')}\n`);
333
394
  return;
334
395
  }
335
- const action = await p.select({
336
- message: BB('Azione'),
337
- options: [
338
- { value: 'list', label: WHITE('Lista interventi'), hint: 'ultimi 10' },
339
- { value: 'detail', label: WHITE('Dettaglio'), hint: 'cerca per ID' },
340
- { value: 'back', label: DIM('Indietro') },
341
- ],
342
- });
343
- if (p.isCancel(action) || action === 'back')
344
- return;
345
- const client = new OrbitClient(tokenEntry.token, config.api_url);
346
396
  const siteLink = await loadSiteLink(process.cwd());
347
- if (action === 'list') {
348
- const spinner = ora({ text: 'Caricamento...', color: 'blue', indent: 2 }).start();
349
- try {
350
- const filters = { limit: 10, sort: '-created_at' };
351
- if (siteLink)
352
- filters.site_id = siteLink.orbit_site_id;
353
- const result = await client.listInterventions(filters);
354
- spinner.stop();
355
- if (result.items.length === 0) {
356
- console.log(` ${DIM('Nessun intervento trovato')}`);
357
- }
358
- else {
359
- console.log('');
360
- for (const item of result.items) {
361
- const id = DIM(String(item.id ?? '').slice(0, 8));
362
- const t = WHITE(String(item.title ?? '').slice(0, 35).padEnd(35));
363
- const s = item.status;
364
- const sIcon = s === 'completed' ? GREEN('●') : s === 'in_progress' ? YELLOW('●') : s === 'verified' ? B('●') : chalk.blue('●');
365
- const sLabel = s === 'completed' ? GREEN('completato') : s === 'in_progress' ? YELLOW('in corso') : s === 'verified' ? B('verificato') : BL('pianificato');
366
- const date = DIM(String(item.created_at ?? '').slice(5, 10));
367
- const origin = item.origin === 'cli' ? B('CLI') : DIM(String(item.origin));
368
- console.log(` ${sIcon} ${id} ${t} ${sLabel.padEnd(22)} ${origin.padEnd(10)} ${date}`);
369
- }
370
- console.log('');
371
- console.log(` ${DIM(`${result.total} interventi`)}`);
372
- }
373
- }
374
- catch (err) {
375
- spinner.fail(err instanceof Error ? err.message : String(err));
397
+ const filters = { limit: 10, sort: '-created_at' };
398
+ if (siteLink)
399
+ filters.site_id = siteLink.orbit_site_id;
400
+ const spinner = ora({ text: 'Caricamento...', color: 'blue', indent: 2 }).start();
401
+ try {
402
+ const result = await client.listInterventions(filters);
403
+ spinner.stop();
404
+ console.log('');
405
+ console.log(` ${sparkle} ${BB('Interventi')}`);
406
+ console.log('');
407
+ if (result.items.length === 0) {
408
+ console.log(` ${DIM('Nessun intervento trovato')}`);
376
409
  }
377
- }
378
- if (action === 'detail') {
379
- const id = await p.text({ message: 'ID intervento', placeholder: 'uuid...', validate: (v) => !v || v.length < 4 ? 'ID troppo corto' : undefined });
380
- if (p.isCancel(id))
381
- return;
382
- const spinner = ora({ text: 'Caricamento...', color: 'blue', indent: 2 }).start();
383
- try {
384
- const item = await client.getIntervention(id);
385
- spinner.stop();
386
- console.log('');
387
- console.log(` ${sparkle} ${BB(String(item.title))}`);
388
- console.log('');
389
- console.log(` ${DIM('ID')} ${BL(String(item.id))}`);
390
- console.log(` ${DIM('Stato')} ${WHITE(String(item.status))}`);
391
- console.log(` ${DIM('Priorita')} ${WHITE(String(item.priority))}`);
392
- console.log(` ${DIM('Origin')} ${item.origin === 'cli' ? B('CLI') : DIM(String(item.origin))}`);
393
- if (item.type_tag)
394
- console.log(` ${DIM('Tipo')} ${BL(String(item.type_tag))}`);
395
- console.log(` ${DIM('Creato')} ${DIM(String(item.created_at))}`);
396
- if (item.description) {
397
- console.log('');
398
- console.log(` ${DIM(String(item.description).slice(0, 200))}`);
410
+ else {
411
+ for (const item of result.items) {
412
+ const id = DIM(String(item.id ?? '').slice(0, 8));
413
+ const t = WHITE(String(item.title ?? '').slice(0, 35).padEnd(35));
414
+ const s = item.status;
415
+ const sIcon = s === 'completed' ? GREEN('●') : s === 'in_progress' ? YELLOW('') : s === 'verified' ? B('●') : BL('●');
416
+ const sLabel = s === 'completed' ? GREEN('completato') : s === 'in_progress' ? YELLOW('in corso') : s === 'verified' ? B('verificato') : BL('pianificato');
417
+ const date = DIM(String(item.created_at ?? '').slice(5, 10));
418
+ const origin = item.origin === 'cli' ? B('CLI') : DIM(String(item.origin));
419
+ console.log(` ${sIcon} ${id} ${t} ${sLabel.padEnd(22)} ${origin.padEnd(10)} ${date}`);
399
420
  }
400
- }
401
- catch (err) {
402
- spinner.fail(err instanceof Error ? err.message : String(err));
421
+ console.log('');
422
+ console.log(` ${DIM(`${result.total} interventi`)}`);
403
423
  }
404
424
  }
405
- }
406
- async function handleDoctor(config) {
407
- console.log(` ${sparkle} ${BB('Diagnostica')}`);
408
- console.log('');
409
- const checks = [
410
- {
411
- label: 'Token',
412
- detail: async () => {
413
- const t = config.default_site ? config.tokens[config.default_site] : undefined;
414
- return { ok: !!t, info: t ? DIM(t.token.slice(0, 15) + '...') : DIM('non configurato') };
415
- },
416
- },
417
- {
418
- label: 'API',
419
- detail: async () => {
420
- const t = config.default_site ? config.tokens[config.default_site] : undefined;
421
- if (!t)
422
- return { ok: false, info: DIM('nessun token') };
423
- const c = new OrbitClient(t.token, config.api_url);
424
- const start = Date.now();
425
- const v = await c.validateToken();
426
- const ms = Date.now() - start;
427
- return { ok: v.valid, info: v.valid ? `${GREEN('raggiungibile')} ${DIM(`(${ms}ms)`)}` : DIM(v.error ?? 'errore') };
428
- },
429
- },
430
- {
431
- label: 'Sito',
432
- detail: async () => {
433
- const s = await loadSiteLink(process.cwd());
434
- return { ok: !!s, info: s ? `${BL('.orbit.json')} ${DIM('presente')}` : DIM('non collegato') };
435
- },
436
- },
437
- {
438
- label: 'Git',
439
- detail: async () => {
440
- const b = await getGitBranch();
441
- return { ok: !!b, info: b ? BL(b) : DIM('nessun repository') };
442
- },
443
- },
444
- ];
445
- for (const { label, detail } of checks) {
446
- const result = await detail();
447
- const icon = result.ok ? GREEN('✓') : YELLOW('!');
448
- console.log(` ${icon} ${WHITE(label.padEnd(14))} ${result.info}`);
449
- }
450
- const allOk = (await Promise.all(checks.map(c => c.detail()))).every(r => r.ok);
425
+ catch (err) {
426
+ spinner.fail(err instanceof Error ? err.message : String(err));
427
+ }
451
428
  console.log('');
452
- if (allOk) {
453
- console.log(` ${GREEN.bold('✓ Tutto ok')} ${DIM('— pronto per lavorare')}`);
429
+ }
430
+ async function cmdGet(id) {
431
+ if (!id) {
432
+ console.log(`\n ${DIM('Uso: get <intervention_id>')}\n`);
433
+ return;
454
434
  }
455
- else {
456
- console.log(` ${YELLOW('! Attenzione')} ${DIM('— segui i suggerimenti sopra')}`);
435
+ const config = await loadConfig();
436
+ const client = getClient(config);
437
+ if (!client) {
438
+ console.log(`\n ${chalk.red('✗')} ${DIM('Token non configurato')}\n`);
439
+ return;
440
+ }
441
+ const spinner = ora({ text: 'Caricamento...', color: 'blue', indent: 2 }).start();
442
+ try {
443
+ const item = await client.getIntervention(id);
444
+ spinner.stop();
445
+ console.log('');
446
+ console.log(` ${sparkle} ${BB(String(item.title))}`);
447
+ console.log('');
448
+ console.log(` ${DIM('ID')} ${BL(String(item.id))}`);
449
+ console.log(` ${DIM('Stato')} ${WHITE(String(item.status))}`);
450
+ console.log(` ${DIM('Priorita')} ${WHITE(String(item.priority))}`);
451
+ console.log(` ${DIM('Origin')} ${item.origin === 'cli' ? B('CLI') : DIM(String(item.origin))}`);
452
+ if (item.type_tag)
453
+ console.log(` ${DIM('Tipo')} ${BL(String(item.type_tag))}`);
454
+ console.log(` ${DIM('Creato')} ${DIM(String(item.created_at))}`);
455
+ if (item.description) {
456
+ console.log('');
457
+ console.log(` ${DIM(String(item.description).slice(0, 300))}`);
458
+ }
459
+ }
460
+ catch (err) {
461
+ spinner.fail(err instanceof Error ? err.message : String(err));
457
462
  }
458
- }
459
- async function handleConfig() {
460
- console.log(` ${sparkle} ${BB('Configurazione')}`);
461
463
  console.log('');
462
- const action = await p.select({
463
- message: BB('Azione'),
464
- options: [
465
- { value: 'login', label: WHITE('Login'), hint: 'configura token' },
466
- { value: 'link', label: WHITE('Link sito'), hint: 'collega directory' },
467
- { value: 'logout', label: WHITE('Logout'), hint: 'rimuovi token' },
468
- { value: 'unlink', label: WHITE('Unlink'), hint: 'rimuovi collegamento' },
469
- { value: 'back', label: DIM('Indietro') },
470
- ],
471
- });
472
- if (p.isCancel(action) || action === 'back')
464
+ }
465
+ async function cmdLogin(token) {
466
+ if (!token || !token.startsWith('orbit_mcp_')) {
467
+ console.log(`\n ${DIM('Uso: login orbit_mcp_xxx')}\n`);
473
468
  return;
474
- if (action === 'login') {
475
- const token = await p.text({ message: 'Token MCP', placeholder: 'orbit_mcp_xxx...', validate: (v) => !v || !v.startsWith('orbit_mcp_') ? 'Deve iniziare con orbit_mcp_' : undefined });
476
- if (p.isCancel(token))
477
- return;
478
- const spinner = ora({ text: 'Validazione...', color: 'blue', indent: 2 }).start();
479
- const client = new OrbitClient(token, 'https://api.orbit.principi.it');
480
- const validation = await client.validateToken();
481
- if (validation.valid) {
482
- const { setToken } = await import('./config.js');
483
- await setToken('default', { token: token, label: 'default', site_id: 'default', created_at: new Date().toISOString() });
484
- spinner.succeed(`${GREEN.bold('Autenticazione riuscita')}`);
485
- }
486
- else {
487
- spinner.fail(`Token non valido: ${validation.error}`);
488
- }
489
469
  }
490
- if (action === 'link') {
491
- const siteId = await p.text({ message: 'Site ID (UUID)', placeholder: 'uuid-del-sito', validate: (v) => !v || v.length < 4 ? 'ID troppo corto' : undefined });
492
- if (p.isCancel(siteId))
493
- return;
494
- const { saveSiteLink, detectPlatform } = await import('./site.js');
495
- const platform = await detectPlatform(process.cwd());
496
- await saveSiteLink(process.cwd(), { orbit_site_id: siteId, platform });
497
- console.log(` ${GREEN('✓')} ${GREEN.bold('Sito collegato')} ${DIM(`(${platform})`)}`);
470
+ const spinner = ora({ text: 'Validazione...', color: 'blue', indent: 2 }).start();
471
+ const client = new OrbitClient(token, 'https://api.orbit.principi.it');
472
+ const v = await client.validateToken();
473
+ if (v.valid) {
474
+ const { setToken } = await import('./config.js');
475
+ await setToken('default', { token, label: 'default', site_id: 'default', created_at: new Date().toISOString() });
476
+ spinner.succeed(`${GREEN.bold('Autenticazione riuscita')}`);
498
477
  }
499
- if (action === 'logout') {
500
- const { removeToken } = await import('./config.js');
501
- await removeToken('default');
502
- console.log(` ${GREEN('✓')} ${DIM('Token rimosso')}`);
478
+ else {
479
+ spinner.fail(`Token non valido: ${v.error}`);
503
480
  }
504
- if (action === 'unlink') {
505
- const { removeSiteLink } = await import('./site.js');
506
- await removeSiteLink(process.cwd());
507
- console.log(` ${GREEN('✓')} ${DIM('Collegamento rimosso')}`);
481
+ console.log('');
482
+ }
483
+ async function cmdLink(siteId) {
484
+ if (!siteId) {
485
+ console.log(`\n ${DIM('Uso: link <site_id>')}\n`);
486
+ return;
508
487
  }
488
+ const { saveSiteLink, detectPlatform } = await import('./site.js');
489
+ const platform = await detectPlatform(process.cwd());
490
+ await saveSiteLink(process.cwd(), { orbit_site_id: siteId, platform });
491
+ console.log(`\n ${GREEN('✓')} ${GREEN.bold('Sito collegato')} ${DIM(`(${platform})`)}\n`);
509
492
  }
510
493
  //# 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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"}
@@ -749,5 +749,5 @@
749
749
  ]
750
750
  }
751
751
  },
752
- "version": "0.2.1"
752
+ "version": "0.2.2"
753
753
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbitpanel/cli",
3
- "version": "0.2.1",
3
+ "version": "0.2.2",
4
4
  "description": "Orbit CLI — strumento locale per sviluppatori OrbitPanel",
5
5
  "type": "module",
6
6
  "bin": {