@orbitpanel/cli 0.5.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/ai-stream.d.ts +34 -0
- package/dist/lib/ai-stream.js +131 -0
- package/dist/lib/ai-stream.js.map +1 -0
- package/dist/lib/report-builder.d.ts +1 -0
- package/dist/lib/report-builder.js +1 -1
- package/dist/lib/report-builder.js.map +1 -1
- package/dist/lib/risk.d.ts +38 -0
- package/dist/lib/risk.js +82 -0
- package/dist/lib/risk.js.map +1 -0
- package/dist/lib/runtime.d.ts +11 -0
- package/dist/lib/runtime.js +34 -0
- package/dist/lib/runtime.js.map +1 -0
- package/dist/lib/session.d.ts +2 -0
- package/dist/lib/session.js +20 -0
- package/dist/lib/session.js.map +1 -1
- package/dist/lib/shell-commands.d.ts +20 -0
- package/dist/lib/shell-commands.js +437 -0
- package/dist/lib/shell-commands.js.map +1 -0
- package/dist/lib/shell-render.d.ts +25 -0
- package/dist/lib/shell-render.js +54 -0
- package/dist/lib/shell-render.js.map +1 -0
- package/dist/lib/shell.d.ts +1 -1
- package/dist/lib/shell.js +155 -489
- package/dist/lib/shell.js.map +1 -1
- package/dist/lib/stream-state.d.ts +28 -0
- package/dist/lib/stream-state.js +69 -0
- package/dist/lib/stream-state.js.map +1 -0
- package/dist/lib/ui.d.ts +14 -0
- package/dist/lib/ui.js +35 -0
- package/dist/lib/ui.js.map +1 -1
- package/dist/state/store.d.ts +29 -0
- package/dist/state/store.js +84 -0
- package/dist/state/store.js.map +1 -0
- package/dist/state/types.d.ts +43 -0
- package/dist/state/types.js +6 -0
- package/dist/state/types.js.map +1 -0
- package/dist/types.d.ts +4 -0
- package/oclif.manifest.json +49 -49
- package/package.json +1 -1
|
@@ -0,0 +1,437 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shell command handlers for @orbitpanel/cli.
|
|
3
|
+
* Extracted from shell.ts for maintainability.
|
|
4
|
+
* Each function handles one slash command.
|
|
5
|
+
*/
|
|
6
|
+
import chalk from 'chalk';
|
|
7
|
+
import ora from 'ora';
|
|
8
|
+
import { loadConfig, DEFAULT_API_URL } from './config.js';
|
|
9
|
+
import { OrbitClient } from './client.js';
|
|
10
|
+
import { requestDeviceCode, pollDeviceCode, saveDeviceAuth, openBrowser } from './device-auth.js';
|
|
11
|
+
import { loadSiteLink } from './site.js';
|
|
12
|
+
import { loadActiveSession, listCompletedSessions, createSession, addNote, endSession } from './session.js';
|
|
13
|
+
import { getGitBranch, getGitCommitHead, getGitDiffStat } from './git.js';
|
|
14
|
+
import { buildReportPayload } from './report-builder.js';
|
|
15
|
+
import { B, BL, BB, GREEN, YELLOW, DIM, WHITE, sparkle, getClient } from './shell-render.js';
|
|
16
|
+
import { confirmAction } from './risk.js';
|
|
17
|
+
import { outputBlock } from './ui.js';
|
|
18
|
+
export async function cmdStatus() {
|
|
19
|
+
const config = await loadConfig();
|
|
20
|
+
const client = getClient(config);
|
|
21
|
+
console.log('');
|
|
22
|
+
console.log(` ${sparkle} ${BB('Stato')}`);
|
|
23
|
+
console.log('');
|
|
24
|
+
if (!client) {
|
|
25
|
+
console.log(` ${chalk.red('✗')} ${WHITE('Token')} ${DIM('non configurato')}`);
|
|
26
|
+
console.log(` ${DIM('Esegui: /auth o /login <token>')}`);
|
|
27
|
+
console.log('');
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const tokenEntry = config.tokens[config.default_site];
|
|
31
|
+
const spinner = ora({ text: 'Verifica connessione...', color: 'blue', indent: 5 }).start();
|
|
32
|
+
const v = await client.validateToken();
|
|
33
|
+
if (!v.valid) {
|
|
34
|
+
spinner.fail(`API: ${v.error}`);
|
|
35
|
+
console.log('');
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
spinner.stop();
|
|
39
|
+
console.log(` ${GREEN('✓')} ${WHITE('Token')} ${DIM(tokenEntry.token.slice(0, 15) + '...')}`);
|
|
40
|
+
console.log(` ${GREEN('✓')} ${WHITE('API')} ${GREEN('raggiungibile')}`);
|
|
41
|
+
const siteLink = await loadSiteLink(process.cwd());
|
|
42
|
+
if (siteLink)
|
|
43
|
+
console.log(` ${GREEN('✓')} ${WHITE('Sito')} ${BL(siteLink.final_url ?? siteLink.orbit_site_id)}`);
|
|
44
|
+
const session = siteLink ? await loadActiveSession(siteLink.orbit_site_id) : null;
|
|
45
|
+
if (session) {
|
|
46
|
+
const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
|
|
47
|
+
console.log(` ${GREEN('✓')} ${WHITE('Sessione')} ${GREEN('attiva')} ${DIM(`${elapsed}min · ${session.notes.length} note`)}`);
|
|
48
|
+
}
|
|
49
|
+
try {
|
|
50
|
+
const stats = await client.getStats();
|
|
51
|
+
const total = stats.total_interventions ?? 0;
|
|
52
|
+
const by = stats.by_status ?? {};
|
|
53
|
+
console.log('');
|
|
54
|
+
console.log(` ${BL(String(total))} interventi totali`);
|
|
55
|
+
const p = [];
|
|
56
|
+
if (by.completed)
|
|
57
|
+
p.push(GREEN(`${by.completed} completati`));
|
|
58
|
+
if (by.in_progress)
|
|
59
|
+
p.push(YELLOW(`${by.in_progress} in corso`));
|
|
60
|
+
if (by.scheduled)
|
|
61
|
+
p.push(BL(`${by.scheduled} pianificati`));
|
|
62
|
+
if (p.length)
|
|
63
|
+
console.log(` ${p.join(DIM(' · '))}`);
|
|
64
|
+
}
|
|
65
|
+
catch { }
|
|
66
|
+
console.log('');
|
|
67
|
+
}
|
|
68
|
+
export async function cmdDoctor() {
|
|
69
|
+
const config = await loadConfig();
|
|
70
|
+
console.log('');
|
|
71
|
+
console.log(` ${sparkle} ${BB('Diagnostica')}`);
|
|
72
|
+
console.log('');
|
|
73
|
+
const t = config.default_site ? config.tokens[config.default_site] : undefined;
|
|
74
|
+
console.log(` ${t ? GREEN('✓') : YELLOW('!')} ${WHITE('Token')} ${t ? DIM(t.token.slice(0, 15) + '...') : DIM('non configurato')}`);
|
|
75
|
+
if (t) {
|
|
76
|
+
const c = new OrbitClient(t.token, config.api_url);
|
|
77
|
+
const start = Date.now();
|
|
78
|
+
const v = await c.validateToken();
|
|
79
|
+
console.log(` ${v.valid ? GREEN('✓') : chalk.red('✗')} ${WHITE('API')} ${v.valid ? `${GREEN('raggiungibile')} ${DIM(`(${Date.now() - start}ms)`)}` : DIM(v.error ?? 'errore')}`);
|
|
80
|
+
}
|
|
81
|
+
const site = await loadSiteLink(process.cwd());
|
|
82
|
+
console.log(` ${site ? GREEN('✓') : YELLOW('!')} ${WHITE('Sito')} ${site ? `${BL('.orbit.json')} ${DIM('presente')}` : DIM('non collegato')}`);
|
|
83
|
+
const branch = await getGitBranch();
|
|
84
|
+
console.log(` ${branch ? GREEN('✓') : YELLOW('!')} ${WHITE('Git')} ${branch ? BL(branch) : DIM('nessun repository')}`);
|
|
85
|
+
const allOk = !!(t && site && branch);
|
|
86
|
+
console.log('');
|
|
87
|
+
console.log(` ${allOk ? GREEN.bold('✓ Tutto ok') : YELLOW('! Attenzione')} ${DIM(allOk ? '— pronto per lavorare' : '— vedi sopra')}`);
|
|
88
|
+
console.log('');
|
|
89
|
+
}
|
|
90
|
+
export async function cmdSessionStart() {
|
|
91
|
+
const siteLink = await loadSiteLink(process.cwd());
|
|
92
|
+
if (!siteLink) {
|
|
93
|
+
console.log(`\n ${chalk.red('✗')} ${DIM('Nessun sito collegato. Esegui: /sites o /link <id>')}\n`);
|
|
94
|
+
return;
|
|
95
|
+
}
|
|
96
|
+
const existing = await loadActiveSession(siteLink.orbit_site_id);
|
|
97
|
+
if (existing) {
|
|
98
|
+
console.log(`\n ${YELLOW('!')} ${DIM(`Sessione gia attiva (${existing.id}). Chiudi con: /session end`)}\n`);
|
|
99
|
+
return;
|
|
100
|
+
}
|
|
101
|
+
const branch = await getGitBranch();
|
|
102
|
+
const commit = await getGitCommitHead();
|
|
103
|
+
const s = await createSession(siteLink.orbit_site_id, { git_branch: branch ?? undefined, git_commit: commit ?? undefined });
|
|
104
|
+
const details = [`ID: ${s.id}`];
|
|
105
|
+
if (branch)
|
|
106
|
+
details.push(`Branch: ${branch}`);
|
|
107
|
+
if (commit)
|
|
108
|
+
details.push(`Commit: ${commit}`);
|
|
109
|
+
details.push(`Inizio: ${new Date().toLocaleTimeString('it-IT', { hour: '2-digit', minute: '2-digit' })}`);
|
|
110
|
+
console.log('');
|
|
111
|
+
console.log(outputBlock('result', `Sessione avviata\n${details.join('\n')}`));
|
|
112
|
+
console.log('');
|
|
113
|
+
}
|
|
114
|
+
export async function cmdSessionEnd() {
|
|
115
|
+
const siteLink = await loadSiteLink(process.cwd());
|
|
116
|
+
if (!siteLink) {
|
|
117
|
+
console.log(`\n ${chalk.red('✗')} ${DIM('Nessun sito collegato')}\n`);
|
|
118
|
+
return;
|
|
119
|
+
}
|
|
120
|
+
const session = await loadActiveSession(siteLink.orbit_site_id);
|
|
121
|
+
if (!session) {
|
|
122
|
+
console.log(`\n ${DIM('Nessuna sessione attiva. /session start')}\n`);
|
|
123
|
+
return;
|
|
124
|
+
}
|
|
125
|
+
const commitEnd = await getGitCommitHead();
|
|
126
|
+
await endSession(session.id, { git_commit_end: commitEnd ?? undefined });
|
|
127
|
+
const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
|
|
128
|
+
console.log('');
|
|
129
|
+
console.log(outputBlock('result', `Sessione chiusa (${elapsed}min · ${session.notes.length} note)\nInvia il report con: /report`));
|
|
130
|
+
console.log('');
|
|
131
|
+
}
|
|
132
|
+
export async function cmdSessionInfo() {
|
|
133
|
+
const siteLink = await loadSiteLink(process.cwd());
|
|
134
|
+
if (!siteLink) {
|
|
135
|
+
console.log(`\n ${DIM('Nessun sito collegato')}\n`);
|
|
136
|
+
return;
|
|
137
|
+
}
|
|
138
|
+
const session = siteLink ? await loadActiveSession(siteLink.orbit_site_id) : null;
|
|
139
|
+
if (!session) {
|
|
140
|
+
console.log(`\n ${DIM('Nessuna sessione attiva')}\n`);
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
|
|
144
|
+
console.log('');
|
|
145
|
+
console.log(` ${sparkle} ${BB('Sessione attiva')}`);
|
|
146
|
+
console.log('');
|
|
147
|
+
console.log(` ${DIM('ID')} ${BL(session.id)}`);
|
|
148
|
+
console.log(` ${DIM('Durata')} ${WHITE(`${elapsed} min`)}`);
|
|
149
|
+
if (session.git_branch)
|
|
150
|
+
console.log(` ${DIM('Branch')} ${BL(session.git_branch)}`);
|
|
151
|
+
console.log(` ${DIM('Note')} ${WHITE(String(session.notes.length))}`);
|
|
152
|
+
for (const n of session.notes.slice(-5))
|
|
153
|
+
console.log(` ${DIM('·')} ${WHITE(n.text)}`);
|
|
154
|
+
console.log('');
|
|
155
|
+
}
|
|
156
|
+
export async function cmdNoteAdd(text) {
|
|
157
|
+
const siteLink = await loadSiteLink(process.cwd());
|
|
158
|
+
if (!siteLink) {
|
|
159
|
+
console.log(`\n ${chalk.red('✗')} ${DIM('Nessun sito collegato')}\n`);
|
|
160
|
+
return;
|
|
161
|
+
}
|
|
162
|
+
const session = await loadActiveSession(siteLink.orbit_site_id);
|
|
163
|
+
if (!session) {
|
|
164
|
+
console.log(`\n ${DIM('Nessuna sessione attiva. /session start')}\n`);
|
|
165
|
+
return;
|
|
166
|
+
}
|
|
167
|
+
await addNote(session.id, text, 'medium');
|
|
168
|
+
console.log('');
|
|
169
|
+
console.log(` ${GREEN('✓')} ${GREEN.bold('Nota aggiunta')} ${DIM(`(${session.notes.length + 1} totali)`)}`);
|
|
170
|
+
console.log(` ${B('│')} ${WHITE(text)}`);
|
|
171
|
+
console.log('');
|
|
172
|
+
}
|
|
173
|
+
export async function cmdReport(promptFn) {
|
|
174
|
+
const config = await loadConfig();
|
|
175
|
+
const client = getClient(config);
|
|
176
|
+
if (!client) {
|
|
177
|
+
console.log(`\n ${chalk.red('✗')} ${DIM('Non autenticato. /auth')}\n`);
|
|
178
|
+
return;
|
|
179
|
+
}
|
|
180
|
+
const siteLink = await loadSiteLink(process.cwd());
|
|
181
|
+
if (!siteLink) {
|
|
182
|
+
console.log(`\n ${chalk.red('✗')} ${DIM('Nessun sito collegato')}\n`);
|
|
183
|
+
return;
|
|
184
|
+
}
|
|
185
|
+
let session = await loadActiveSession(siteLink.orbit_site_id);
|
|
186
|
+
const commitEnd = await getGitCommitHead();
|
|
187
|
+
let filesChanged = 0;
|
|
188
|
+
if (session?.git_commit_start && commitEnd) {
|
|
189
|
+
const diff = await getGitDiffStat(session.git_commit_start, commitEnd);
|
|
190
|
+
filesChanged = diff.files_changed;
|
|
191
|
+
}
|
|
192
|
+
if (session && session.status === 'active') {
|
|
193
|
+
session = await endSession(session.id, { git_commit_end: commitEnd ?? undefined });
|
|
194
|
+
}
|
|
195
|
+
const payload = buildReportPayload({
|
|
196
|
+
session: session ?? { id: 'no-session', site_id: siteLink.orbit_site_id, started_at: new Date().toISOString(), notes: [], status: 'completed' },
|
|
197
|
+
git_commit_end: commitEnd ?? undefined, files_changed: filesChanged,
|
|
198
|
+
});
|
|
199
|
+
payload.site_id = siteLink.orbit_site_id;
|
|
200
|
+
// Risk confirmation — MEDIUM: sends data to remote backend
|
|
201
|
+
const confirmed = await confirmAction({ name: 'report_send', description: 'Invia report a Orbit', risk: 'MEDIUM', scope: siteLink.final_url ?? siteLink.orbit_site_id }, promptFn ? 'tty' : 'pipe', promptFn);
|
|
202
|
+
if (!confirmed) {
|
|
203
|
+
console.log(`\n ${DIM('Annullato.')}\n`);
|
|
204
|
+
return;
|
|
205
|
+
}
|
|
206
|
+
const spinner = ora({ text: 'Invio report a Orbit...', color: 'blue', indent: 2 }).start();
|
|
207
|
+
try {
|
|
208
|
+
const result = await client.createIntervention(payload);
|
|
209
|
+
spinner.succeed(`${GREEN.bold('Report inviato')} ${DIM(String(result.id).slice(0, 8))}`);
|
|
210
|
+
}
|
|
211
|
+
catch (err) {
|
|
212
|
+
spinner.fail(`Invio fallito: ${err instanceof Error ? err.message : String(err)}`);
|
|
213
|
+
}
|
|
214
|
+
console.log('');
|
|
215
|
+
}
|
|
216
|
+
export async function cmdList() {
|
|
217
|
+
const config = await loadConfig();
|
|
218
|
+
const client = getClient(config);
|
|
219
|
+
if (!client) {
|
|
220
|
+
console.log(`\n ${chalk.red('✗')} ${DIM('Non autenticato')}\n`);
|
|
221
|
+
return;
|
|
222
|
+
}
|
|
223
|
+
const siteLink = await loadSiteLink(process.cwd());
|
|
224
|
+
const filters = { limit: 10, sort: '-created_at' };
|
|
225
|
+
if (siteLink)
|
|
226
|
+
filters.site_id = siteLink.orbit_site_id;
|
|
227
|
+
const spinner = ora({ text: 'Caricamento...', color: 'blue', indent: 2 }).start();
|
|
228
|
+
try {
|
|
229
|
+
const result = await client.listInterventions(filters);
|
|
230
|
+
spinner.stop();
|
|
231
|
+
console.log('');
|
|
232
|
+
console.log(` ${sparkle} ${BB('Interventi')}`);
|
|
233
|
+
console.log('');
|
|
234
|
+
if (result.items.length === 0) {
|
|
235
|
+
console.log(` ${DIM('Nessun intervento trovato')}`);
|
|
236
|
+
}
|
|
237
|
+
else {
|
|
238
|
+
for (const item of result.items) {
|
|
239
|
+
const id = DIM(String(item.id ?? '').slice(0, 8));
|
|
240
|
+
const t = WHITE(String(item.title ?? '').slice(0, 35).padEnd(35));
|
|
241
|
+
const s = item.status;
|
|
242
|
+
const sColor = s === 'completed' ? GREEN : s === 'in_progress' ? YELLOW : BL;
|
|
243
|
+
const sLabel = s === 'completed' ? 'completato' : s === 'in_progress' ? 'in corso' : s === 'verified' ? 'verificato' : 'pianificato';
|
|
244
|
+
const date = DIM(String(item.created_at ?? '').slice(5, 10));
|
|
245
|
+
const origin = item.origin === 'cli' ? B('CLI') : DIM(String(item.origin));
|
|
246
|
+
console.log(` ${sColor('●')} ${id} ${t} ${sColor(sLabel.padEnd(12))} ${origin.padEnd(10)} ${date}`);
|
|
247
|
+
}
|
|
248
|
+
console.log('');
|
|
249
|
+
console.log(` ${DIM(`${result.total} interventi`)}`);
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
catch (err) {
|
|
253
|
+
spinner.fail(err instanceof Error ? err.message : String(err));
|
|
254
|
+
}
|
|
255
|
+
console.log('');
|
|
256
|
+
}
|
|
257
|
+
export async function cmdGet(id) {
|
|
258
|
+
if (!id) {
|
|
259
|
+
console.log(`\n ${DIM('Uso: /get <intervention_id>')}\n`);
|
|
260
|
+
return;
|
|
261
|
+
}
|
|
262
|
+
const config = await loadConfig();
|
|
263
|
+
const client = getClient(config);
|
|
264
|
+
if (!client) {
|
|
265
|
+
console.log(`\n ${chalk.red('✗')} ${DIM('Non autenticato')}\n`);
|
|
266
|
+
return;
|
|
267
|
+
}
|
|
268
|
+
const spinner = ora({ text: 'Caricamento...', color: 'blue', indent: 2 }).start();
|
|
269
|
+
try {
|
|
270
|
+
const item = await client.getIntervention(id);
|
|
271
|
+
spinner.stop();
|
|
272
|
+
console.log('');
|
|
273
|
+
console.log(` ${sparkle} ${BB(String(item.title))}`);
|
|
274
|
+
console.log('');
|
|
275
|
+
console.log(` ${DIM('ID')} ${BL(String(item.id))}`);
|
|
276
|
+
console.log(` ${DIM('Stato')} ${WHITE(String(item.status))}`);
|
|
277
|
+
console.log(` ${DIM('Priorita')} ${WHITE(String(item.priority))}`);
|
|
278
|
+
console.log(` ${DIM('Origin')} ${item.origin === 'cli' ? B('CLI') : DIM(String(item.origin))}`);
|
|
279
|
+
if (item.type_tag)
|
|
280
|
+
console.log(` ${DIM('Tipo')} ${BL(String(item.type_tag))}`);
|
|
281
|
+
console.log(` ${DIM('Creato')} ${DIM(String(item.created_at))}`);
|
|
282
|
+
if (item.description) {
|
|
283
|
+
console.log('');
|
|
284
|
+
console.log(` ${DIM(String(item.description).slice(0, 300))}`);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
catch (err) {
|
|
288
|
+
spinner.fail(err instanceof Error ? err.message : String(err));
|
|
289
|
+
}
|
|
290
|
+
console.log('');
|
|
291
|
+
}
|
|
292
|
+
export async function cmdSites(selectNum) {
|
|
293
|
+
const config = await loadConfig();
|
|
294
|
+
const client = getClient(config);
|
|
295
|
+
if (!client) {
|
|
296
|
+
console.log(`\n ${chalk.red('✗')} ${DIM('Non autenticato. /auth')}\n`);
|
|
297
|
+
return;
|
|
298
|
+
}
|
|
299
|
+
const spinner = ora({ text: 'Caricamento siti...', color: 'blue', indent: 2 }).start();
|
|
300
|
+
try {
|
|
301
|
+
const sites = await client.listSites();
|
|
302
|
+
spinner.stop();
|
|
303
|
+
if (!Array.isArray(sites) || sites.length === 0) {
|
|
304
|
+
console.log(`\n ${DIM('Nessun sito trovato.')}\n`);
|
|
305
|
+
return;
|
|
306
|
+
}
|
|
307
|
+
// Select by number
|
|
308
|
+
if (selectNum && /^\d+$/.test(selectNum)) {
|
|
309
|
+
const idx = parseInt(selectNum, 10) - 1;
|
|
310
|
+
if (idx >= 0 && idx < sites.length) {
|
|
311
|
+
const site = sites[idx];
|
|
312
|
+
const siteId = String(site.id);
|
|
313
|
+
const domain = String(site.domain ?? site.home_url ?? siteId);
|
|
314
|
+
const { saveSiteLink } = await import('./site.js');
|
|
315
|
+
await saveSiteLink(process.cwd(), {
|
|
316
|
+
orbit_site_id: siteId,
|
|
317
|
+
platform: 'wordpress',
|
|
318
|
+
final_url: String(site.home_url ?? site.domain ?? ''),
|
|
319
|
+
});
|
|
320
|
+
console.log('');
|
|
321
|
+
console.log(` ${GREEN('✓')} ${GREEN.bold('Sito selezionato:')} ${BL(domain)}`);
|
|
322
|
+
console.log(` ${DIM('ID:')} ${DIM(siteId)}`);
|
|
323
|
+
console.log('');
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
console.log(`\n ${chalk.red('✗')} Numero non valido. Scegli tra 1 e ${sites.length}\n`);
|
|
327
|
+
}
|
|
328
|
+
return;
|
|
329
|
+
}
|
|
330
|
+
// Show list
|
|
331
|
+
console.log('');
|
|
332
|
+
console.log(` ${sparkle} ${BB('Siti disponibili')}`);
|
|
333
|
+
console.log('');
|
|
334
|
+
sites.forEach((site, i) => {
|
|
335
|
+
const num = String(i + 1).padStart(2);
|
|
336
|
+
const domain = WHITE(String(site.domain ?? site.home_url ?? '—').slice(0, 35).padEnd(35));
|
|
337
|
+
const status = site.status;
|
|
338
|
+
const icon = status === 'active' ? GREEN('●') : chalk.red('○');
|
|
339
|
+
const wp = DIM(String(site.wp_version ? `WP ${site.wp_version}` : '').padEnd(10));
|
|
340
|
+
const id = DIM(String(site.id ?? '').slice(0, 8));
|
|
341
|
+
console.log(` ${DIM(num)}. ${icon} ${domain} ${wp} ${id}`);
|
|
342
|
+
});
|
|
343
|
+
console.log('');
|
|
344
|
+
console.log(` ${DIM('Seleziona con: /sites <numero>')}`);
|
|
345
|
+
console.log('');
|
|
346
|
+
}
|
|
347
|
+
catch (err) {
|
|
348
|
+
spinner.fail(err instanceof Error ? err.message : String(err));
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
export async function cmdAuth() {
|
|
352
|
+
const config = await loadConfig();
|
|
353
|
+
const apiUrl = config.api_url || DEFAULT_API_URL;
|
|
354
|
+
const spinner = ora({ text: 'Generazione codice...', color: 'blue', indent: 2 }).start();
|
|
355
|
+
try {
|
|
356
|
+
const deviceCode = await requestDeviceCode(apiUrl);
|
|
357
|
+
spinner.stop();
|
|
358
|
+
console.log('');
|
|
359
|
+
console.log(` ${sparkle} ${BB('Accesso con browser')}`);
|
|
360
|
+
console.log('');
|
|
361
|
+
console.log(` Apri questo URL nel browser:`);
|
|
362
|
+
console.log(` ${BL(deviceCode.verification_url)}`);
|
|
363
|
+
console.log('');
|
|
364
|
+
console.log(` Codice: ${chalk.bgRgb(37, 99, 235).white.bold(` ${deviceCode.user_code} `)}`);
|
|
365
|
+
console.log('');
|
|
366
|
+
await openBrowser(deviceCode.verification_url);
|
|
367
|
+
const pollSpinner = ora({ text: 'In attesa di autorizzazione dal browser...', color: 'blue', indent: 2 }).start();
|
|
368
|
+
const result = await pollDeviceCode(apiUrl, deviceCode.device_code);
|
|
369
|
+
await saveDeviceAuth(result);
|
|
370
|
+
pollSpinner.succeed(`${GREEN.bold(`Autenticato come ${result.user_email ?? 'utente'}`)}`);
|
|
371
|
+
console.log(` ${DIM('Token salvato in ~/.orbit/config.json')}`);
|
|
372
|
+
console.log('');
|
|
373
|
+
}
|
|
374
|
+
catch (err) {
|
|
375
|
+
spinner.stop();
|
|
376
|
+
console.log(`\n ${chalk.red('✗')} Auth fallita: ${err instanceof Error ? err.message : String(err)}\n`);
|
|
377
|
+
}
|
|
378
|
+
}
|
|
379
|
+
export async function cmdLogin(token) {
|
|
380
|
+
if (!token?.startsWith('orbit_mcp_')) {
|
|
381
|
+
console.log(`\n ${DIM('Uso: /login orbit_mcp_xxx')}\n`);
|
|
382
|
+
return;
|
|
383
|
+
}
|
|
384
|
+
const spinner = ora({ text: 'Validazione...', color: 'blue', indent: 2 }).start();
|
|
385
|
+
const client = new OrbitClient(token, DEFAULT_API_URL);
|
|
386
|
+
const v = await client.validateToken();
|
|
387
|
+
if (v.valid) {
|
|
388
|
+
const { setToken } = await import('./config.js');
|
|
389
|
+
await setToken('default', { token, label: 'default', site_id: 'default', created_at: new Date().toISOString() });
|
|
390
|
+
spinner.succeed(GREEN.bold('Autenticazione riuscita'));
|
|
391
|
+
}
|
|
392
|
+
else {
|
|
393
|
+
spinner.fail(`Token non valido: ${v.error}`);
|
|
394
|
+
}
|
|
395
|
+
console.log('');
|
|
396
|
+
}
|
|
397
|
+
export async function cmdHistory(limit = 10) {
|
|
398
|
+
const siteLink = await loadSiteLink(process.cwd());
|
|
399
|
+
if (!siteLink) {
|
|
400
|
+
console.log(`\n ${DIM('Nessun sito collegato')}\n`);
|
|
401
|
+
return;
|
|
402
|
+
}
|
|
403
|
+
const sessions = await listCompletedSessions(siteLink.orbit_site_id, limit);
|
|
404
|
+
console.log('');
|
|
405
|
+
console.log(` ${sparkle} ${BB('Sessioni completate')}`);
|
|
406
|
+
console.log('');
|
|
407
|
+
if (sessions.length === 0) {
|
|
408
|
+
console.log(` ${DIM('Nessuna sessione trovata')}`);
|
|
409
|
+
}
|
|
410
|
+
else {
|
|
411
|
+
for (const s of sessions) {
|
|
412
|
+
const start = new Date(s.started_at);
|
|
413
|
+
const end = s.ended_at ? new Date(s.ended_at) : null;
|
|
414
|
+
const duration = end ? Math.round((end.getTime() - start.getTime()) / 60_000) : '?';
|
|
415
|
+
const date = DIM(s.started_at.slice(0, 10));
|
|
416
|
+
const time = DIM(start.toLocaleTimeString('it-IT', { hour: '2-digit', minute: '2-digit' }));
|
|
417
|
+
const branch = s.git_branch ? BL(s.git_branch) : '';
|
|
418
|
+
const notes = DIM(`${s.notes.length} note`);
|
|
419
|
+
const id = DIM(s.id.slice(0, 8));
|
|
420
|
+
console.log(` ${GREEN('●')} ${date} ${time} ${WHITE(`${duration}min`)} ${branch} ${notes} ${id}`);
|
|
421
|
+
}
|
|
422
|
+
}
|
|
423
|
+
console.log('');
|
|
424
|
+
}
|
|
425
|
+
export async function cmdLink(siteId) {
|
|
426
|
+
if (!siteId) {
|
|
427
|
+
console.log(`\n ${DIM('Uso: /link <site_id>')}\n`);
|
|
428
|
+
return;
|
|
429
|
+
}
|
|
430
|
+
const { saveSiteLink, detectPlatform } = await import('./site.js');
|
|
431
|
+
const cwd = process.cwd();
|
|
432
|
+
const platform = await detectPlatform(cwd);
|
|
433
|
+
const name = cwd.split('/').pop() ?? cwd;
|
|
434
|
+
await saveSiteLink(cwd, { orbit_site_id: siteId, platform, name, environment: 'local-dev' });
|
|
435
|
+
console.log(`\n ${GREEN('✓')} ${GREEN.bold('Sito collegato')} ${DIM(`${name} (${platform} · local-dev)`)}\n`);
|
|
436
|
+
}
|
|
437
|
+
//# sourceMappingURL=shell-commands.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-commands.js","sourceRoot":"","sources":["../../src/lib/shell-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared rendering constants for the Orbit CLI shell.
|
|
3
|
+
* Used by shell.ts, shell-commands.ts, and handleAIChat.
|
|
4
|
+
*/
|
|
5
|
+
import { OrbitClient } from './client.js';
|
|
6
|
+
import type { OrbitConfig } from '../types.js';
|
|
7
|
+
export declare const B: import("chalk").ChalkInstance;
|
|
8
|
+
export declare const BL: import("chalk").ChalkInstance;
|
|
9
|
+
export declare const BB: import("chalk").ChalkInstance;
|
|
10
|
+
export declare const GREEN: import("chalk").ChalkInstance;
|
|
11
|
+
export declare const YELLOW: import("chalk").ChalkInstance;
|
|
12
|
+
export declare const DIM: import("chalk").ChalkInstance;
|
|
13
|
+
export declare const WHITE: import("chalk").ChalkInstance;
|
|
14
|
+
export declare const orbitGrad: {
|
|
15
|
+
multiline(text: string): string;
|
|
16
|
+
} & ((text: string) => string);
|
|
17
|
+
export declare const sparkle: string;
|
|
18
|
+
export declare const logoLines: string[];
|
|
19
|
+
export declare const SLASH_COMMANDS: {
|
|
20
|
+
cmd: string;
|
|
21
|
+
alias: string;
|
|
22
|
+
desc: string;
|
|
23
|
+
}[];
|
|
24
|
+
export declare function sep(): void;
|
|
25
|
+
export declare function getClient(config: OrbitConfig): OrbitClient | null;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared rendering constants for the Orbit CLI shell.
|
|
3
|
+
* Used by shell.ts, shell-commands.ts, and handleAIChat.
|
|
4
|
+
*/
|
|
5
|
+
import chalk from 'chalk';
|
|
6
|
+
import gradient from 'gradient-string';
|
|
7
|
+
import { OrbitClient } from './client.js';
|
|
8
|
+
// Brand palette
|
|
9
|
+
export const B = chalk.rgb(37, 99, 235);
|
|
10
|
+
export const BL = chalk.hex('#60A5FA');
|
|
11
|
+
export const BB = chalk.bold.rgb(37, 99, 235);
|
|
12
|
+
export const GREEN = chalk.hex('#22C55E');
|
|
13
|
+
export const YELLOW = chalk.hex('#EAB308');
|
|
14
|
+
export const DIM = chalk.dim;
|
|
15
|
+
export const WHITE = chalk.white;
|
|
16
|
+
export const orbitGrad = gradient(['#2563EB', '#3B82F6', '#60A5FA', '#0D9488']);
|
|
17
|
+
export const sparkle = BL('✦');
|
|
18
|
+
export const logoLines = [
|
|
19
|
+
' ██████╗ ██████╗ ██████╗ ██╗████████╗',
|
|
20
|
+
' ██╔═══██╗██╔══██╗██╔══██╗██║╚══██╔══╝',
|
|
21
|
+
' ██║ ██║██████╔╝██████╔╝██║ ██║ ',
|
|
22
|
+
' ██║ ██║██╔══██╗██╔══██╗██║ ██║ ',
|
|
23
|
+
' ╚██████╔╝██║ ██║██████╔╝██║ ██║ ',
|
|
24
|
+
' ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝ ',
|
|
25
|
+
];
|
|
26
|
+
export const SLASH_COMMANDS = [
|
|
27
|
+
{ cmd: '/status', alias: '/s', desc: 'panoramica completa' },
|
|
28
|
+
{ cmd: '/doctor', alias: '/doc', desc: 'verifica configurazione' },
|
|
29
|
+
{ cmd: '/session start', alias: '/ss', desc: 'avvia sessione di lavoro' },
|
|
30
|
+
{ cmd: '/session end', alias: '/se', desc: 'chiudi sessione' },
|
|
31
|
+
{ cmd: '/session', alias: '', desc: 'info sessione attiva' },
|
|
32
|
+
{ cmd: '/note', alias: '/n', desc: 'aggiungi nota (+ testo)' },
|
|
33
|
+
{ cmd: '/report', alias: '/r', desc: 'invia report a Orbit' },
|
|
34
|
+
{ cmd: '/list', alias: '/ls', desc: 'lista interventi' },
|
|
35
|
+
{ cmd: '/get', alias: '/g', desc: 'dettaglio intervento (+ id)' },
|
|
36
|
+
{ cmd: '/history', alias: '/hist', desc: 'sessioni passate' },
|
|
37
|
+
{ cmd: '/sites', alias: '', desc: 'lista siti e seleziona' },
|
|
38
|
+
{ cmd: '/auth', alias: '', desc: 'accedi con browser' },
|
|
39
|
+
{ cmd: '/login', alias: '', desc: 'configura token (+ token)' },
|
|
40
|
+
{ cmd: '/link', alias: '', desc: 'collega directory (+ site_id)' },
|
|
41
|
+
{ cmd: '/clear', alias: '', desc: 'pulisci schermo' },
|
|
42
|
+
{ cmd: '/help', alias: '/h', desc: 'lista comandi' },
|
|
43
|
+
{ cmd: '/exit', alias: '/q', desc: 'esci' },
|
|
44
|
+
];
|
|
45
|
+
export function sep() {
|
|
46
|
+
console.log(orbitGrad(' ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'));
|
|
47
|
+
}
|
|
48
|
+
export function getClient(config) {
|
|
49
|
+
const t = config.default_site ? config.tokens[config.default_site] : undefined;
|
|
50
|
+
if (!t)
|
|
51
|
+
return null;
|
|
52
|
+
return new OrbitClient(t.token, config.api_url);
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=shell-render.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shell-render.js","sourceRoot":"","sources":["../../src/lib/shell-render.ts"],"names":[],"mappings":"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"}
|
package/dist/lib/shell.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Interactive REPL shell for @orbitpanel/cli.
|
|
3
|
+
* Thin orchestration layer — delegates to shell-commands.ts and shell-render.ts.
|
|
3
4
|
* Pure readline + chalk — no Ink/React dependency.
|
|
4
|
-
* Stable, works in all terminals and TTY contexts.
|
|
5
5
|
*/
|
|
6
6
|
export declare function startShell(version: string): Promise<void>;
|