@orbitpanel/cli 0.1.0 → 0.2.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.
@@ -4,21 +4,13 @@ import { existsSync } from 'node:fs';
4
4
  import { join } from 'node:path';
5
5
  import { loadConfig } from '../lib/config.js';
6
6
  import { OrbitClient } from '../lib/client.js';
7
- function ok(msg) {
8
- return ` ${chalk.green('[OK]')} ${msg}`;
9
- }
10
- function fail(msg) {
11
- return ` ${chalk.red('[!!]')} ${msg}`;
12
- }
13
- function info(msg) {
14
- return ` ${chalk.blue('[--]')} ${msg}`;
15
- }
7
+ import { banner, section, success, error, info, hint, separator } from '../lib/ui.js';
16
8
  export default class Doctor extends Command {
17
9
  static summary = 'Verifica che tutto funzioni correttamente';
18
10
  static examples = ['<%= config.bin %> doctor'];
19
11
  async run() {
20
- this.log('');
21
- this.log(chalk.bold('Orbit Doctor'));
12
+ this.log(banner(this.config.version));
13
+ this.log(section('Diagnostica'));
22
14
  this.log('');
23
15
  let allOk = true;
24
16
  // 1. Token check
@@ -26,11 +18,11 @@ export default class Doctor extends Command {
26
18
  const defaultSite = config.default_site;
27
19
  const tokenEntry = defaultSite ? config.tokens[defaultSite] : undefined;
28
20
  if (tokenEntry) {
29
- this.log(ok(`Token configurato (${tokenEntry.token.slice(0, 15)}...)`));
21
+ this.log(success(`Token configurato ${chalk.dim(`(${tokenEntry.token.slice(0, 15)}...)`)}`));
30
22
  }
31
23
  else {
32
- this.log(fail('Nessun token configurato'));
33
- this.log(chalk.dim(' Esegui: orbit login --token <token>'));
24
+ this.log(error('Nessun token configurato'));
25
+ this.log(hint('orbit login --token <token>'));
34
26
  allOk = false;
35
27
  }
36
28
  // 2. API reachability
@@ -40,45 +32,46 @@ export default class Doctor extends Command {
40
32
  const validation = await client.validateToken();
41
33
  const elapsed = Date.now() - start;
42
34
  if (validation.valid) {
43
- this.log(ok(`API raggiungibile (${config.api_url} — ${elapsed}ms)`));
35
+ this.log(success(`API raggiungibile ${chalk.dim(`(${elapsed}ms)`)}`));
44
36
  }
45
37
  else {
46
- this.log(fail(`API non raggiungibile: ${validation.error}`));
38
+ this.log(error(`API non raggiungibile: ${validation.error}`));
47
39
  allOk = false;
48
40
  }
49
41
  }
50
42
  else {
51
43
  this.log(info('API non verificata (nessun token)'));
52
44
  }
53
- // 3. .orbit.json in current directory
45
+ // 3. .orbit.json
54
46
  const orbitJsonPath = join(process.cwd(), '.orbit.json');
55
47
  if (existsSync(orbitJsonPath)) {
56
- this.log(ok('.orbit.json presente'));
48
+ this.log(success('Sito collegato (.orbit.json)'));
57
49
  }
58
50
  else {
59
- this.log(info('Nessun .orbit.json nella directory corrente'));
60
- this.log(chalk.dim(' Esegui: orbit link --site <site_id>'));
51
+ this.log(info('Nessun sito collegato'));
52
+ this.log(hint('orbit link --site <site_id>'));
61
53
  }
62
- // 4. Git repository check
54
+ // 4. Git
63
55
  const gitDir = join(process.cwd(), '.git');
64
56
  if (existsSync(gitDir)) {
65
- this.log(ok('Git repository rilevato'));
57
+ this.log(success('Repository git rilevato'));
66
58
  }
67
59
  else {
68
60
  this.log(info('Nessun repository git'));
69
61
  }
70
- // 5. WordPress check
62
+ // 5. WordPress
71
63
  const wpConfigPath = join(process.cwd(), 'wp-config.php');
72
64
  if (existsSync(wpConfigPath)) {
73
- this.log(info('WordPress rilevato (wp-config.php trovato)'));
65
+ this.log(success('WordPress rilevato'));
74
66
  }
75
67
  // Summary
76
68
  this.log('');
69
+ this.log(separator());
77
70
  if (allOk) {
78
- this.log(chalk.green('Tutto ok — pronto per lavorare.'));
71
+ this.log(` ${chalk.green.bold('Tutto ok')} ${chalk.dim('— pronto per lavorare')}`);
79
72
  }
80
73
  else {
81
- this.log(chalk.yellow('Alcuni problemi rilevati. Segui i suggerimenti sopra.'));
74
+ this.log(` ${chalk.yellow.bold('Attenzione')} ${chalk.dim('— segui i suggerimenti sopra')}`);
82
75
  }
83
76
  this.log('');
84
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import chalk from 'chalk';
3
3
  import { loadConfig } from '../../lib/config.js';
4
4
  import { OrbitClient } from '../../lib/client.js';
5
5
  import { loadSiteLink } from '../../lib/site.js';
6
+ import { banner, section, info, separator, interventionRow } from '../../lib/ui.js';
6
7
  export default class InterventionList extends Command {
7
8
  static summary = 'Lista interventi del sito su Orbit';
8
9
  static examples = [
@@ -52,7 +53,6 @@ export default class InterventionList extends Command {
52
53
  this.error('Nessun token configurato. Esegui: orbit login --token <token>');
53
54
  }
54
55
  const client = new OrbitClient(tokenEntry.token, config.api_url);
55
- // Build filters
56
56
  const filters = {
57
57
  limit: flags.limit,
58
58
  sort: flags.sort,
@@ -73,25 +73,21 @@ export default class InterventionList extends Command {
73
73
  this.log(JSON.stringify(result, null, 2));
74
74
  return;
75
75
  }
76
+ this.log(banner(this.config.version));
76
77
  if (result.items.length === 0) {
77
- this.log(chalk.dim('Nessun intervento trovato.'));
78
+ this.log(info('Nessun intervento trovato.'));
79
+ this.log('');
78
80
  return;
79
81
  }
80
- this.log('');
81
- this.log(chalk.bold('Interventi'));
82
+ this.log(section('Interventi'));
82
83
  this.log('');
83
84
  for (const item of result.items) {
84
- const id = String(item.id ?? '').slice(0, 8);
85
- const title = String(item.title ?? '').slice(0, 50);
86
- const status = String(item.status ?? '');
87
- const priority = String(item.priority ?? '');
88
- const origin = String(item.origin ?? '');
89
- const date = String(item.created_at ?? '').slice(0, 10);
90
- const statusColor = status === 'completed' ? chalk.green : status === 'in_progress' ? chalk.yellow : chalk.dim;
91
- this.log(` ${chalk.dim(id)} ${title.padEnd(50)} ${statusColor(status.padEnd(12))} ${priority.padEnd(8)} ${chalk.dim(origin.padEnd(8))} ${chalk.dim(date)}`);
85
+ this.log(interventionRow(item));
92
86
  }
93
87
  this.log('');
94
- this.log(chalk.dim(`Totale: ${result.total} interventi`));
88
+ this.log(separator());
89
+ this.log(chalk.dim(` ${result.total} interventi totali`));
90
+ this.log('');
95
91
  }
96
92
  catch (err) {
97
93
  const msg = err instanceof Error ? err.message : String(err);
@@ -1 +1 @@
1
- {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/intervention/list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"list.js","sourceRoot":"","sources":["../../../src/commands/intervention/list.ts"],"names":[],"mappings":"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"}
@@ -2,13 +2,14 @@ import { Command, Flags } from '@oclif/core';
2
2
  import chalk from 'chalk';
3
3
  import { OrbitClient } from '../lib/client.js';
4
4
  import { setToken, DEFAULT_API_URL } from '../lib/config.js';
5
+ import { banner, section, kv, success, separator } from '../lib/ui.js';
5
6
  export default class Login extends Command {
6
7
  static summary = 'Autentica la CLI con un token MCP di Orbit';
7
8
  static description = 'Salva il token MCP per autenticarsi con il backend Orbit.\n' +
8
- 'Il token si genera dalla UI di Orbit Sito Token MCP Crea Token.';
9
+ 'Il token si genera dalla UI di Orbit > Sito > Token MCP > Crea Token.';
9
10
  static examples = [
10
11
  '<%= config.bin %> login --token orbit_mcp_xxx',
11
- '<%= config.bin %> login --token orbit_mcp_xxx --api-url https://api.custom.com',
12
+ 'ORBIT_TOKEN=orbit_mcp_xxx <%= config.bin %> login',
12
13
  ];
13
14
  static flags = {
14
15
  token: Flags.string({
@@ -29,20 +30,20 @@ export default class Login extends Command {
29
30
  };
30
31
  async run() {
31
32
  const { flags } = await this.parse(Login);
32
- // Validate token prefix
33
33
  if (!flags.token.startsWith('orbit_mcp_')) {
34
- this.error('Il token deve iniziare con "orbit_mcp_". ' +
34
+ this.error('Il token deve iniziare con "orbit_mcp_".\n' +
35
35
  'Genera un token dalla UI di Orbit.');
36
36
  }
37
- // Validate token against API
38
- this.log(chalk.dim('Validazione token in corso...'));
37
+ this.log(banner(this.config.version));
38
+ this.log(section('Login'));
39
+ this.log('');
40
+ this.log(chalk.dim(' Validazione token...'));
39
41
  const client = new OrbitClient(flags.token, flags['api-url']);
40
42
  const validation = await client.validateToken();
41
43
  if (!validation.valid) {
42
44
  this.error(`Token non valido: ${validation.error}\n` +
43
- 'Verifica il token e riprova. Genera un nuovo token dalla UI di Orbit se necessario.');
45
+ 'Verifica il token e riprova.');
44
46
  }
45
- // Save token
46
47
  await setToken(flags['site-id'], {
47
48
  token: flags.token,
48
49
  label: flags['site-id'],
@@ -50,12 +51,14 @@ export default class Login extends Command {
50
51
  created_at: new Date().toISOString(),
51
52
  });
52
53
  this.log('');
53
- this.log(chalk.green('Autenticazione riuscita'));
54
+ this.log(success('Autenticazione riuscita'));
55
+ this.log('');
56
+ this.log(kv('API', flags['api-url']));
57
+ this.log(kv('Token', `${flags.token.slice(0, 15)}...${flags.token.slice(-4)}`));
58
+ this.log(kv('Config', '~/.orbit/config.json'));
54
59
  this.log('');
55
- this.log(` API: ${flags['api-url']}`);
56
- this.log(` Token: ${flags.token.slice(0, 15)}...${flags.token.slice(-4)}`);
60
+ this.log(separator());
57
61
  this.log('');
58
- this.log(chalk.dim(`Token salvato in ~/.orbit/config.json`));
59
62
  }
60
63
  }
61
64
  //# sourceMappingURL=login.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"login.js","sourceRoot":"","sources":["../../src/commands/login.ts"],"names":[],"mappings":"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"}
@@ -3,6 +3,7 @@ import chalk from 'chalk';
3
3
  import { loadSiteLink } from '../../lib/site.js';
4
4
  import { loadActiveSession, endSession } from '../../lib/session.js';
5
5
  import { getGitCommitHead } from '../../lib/git.js';
6
+ import { banner, kv, success, hint, separator } from '../../lib/ui.js';
6
7
  export default class SessionEnd extends Command {
7
8
  static summary = 'Chiude la sessione di lavoro corrente';
8
9
  static description = 'Chiude la sessione attiva, cattura il commit finale\n' +
@@ -20,42 +21,38 @@ export default class SessionEnd extends Command {
20
21
  async run() {
21
22
  const { flags } = await this.parse(SessionEnd);
22
23
  const cwd = process.cwd();
23
- // Verify site link
24
24
  const siteLink = await loadSiteLink(cwd);
25
25
  if (!siteLink) {
26
- this.error('Nessun .orbit.json trovato nella directory corrente.');
26
+ this.error('Nessun .orbit.json trovato.');
27
27
  }
28
- // Find active session
29
28
  const session = await loadActiveSession(siteLink.orbit_site_id);
30
29
  if (!session) {
31
- this.error('Nessuna sessione attiva.\n' +
32
- 'Avvia una sessione con: orbit session start');
30
+ this.error('Nessuna sessione attiva.\nAvvia con: orbit session start');
33
31
  }
34
- // Capture final git state
35
32
  const commitEnd = await getGitCommitHead();
36
- // End session
37
33
  const ended = await endSession(session.id, {
38
34
  git_commit_end: commitEnd ?? undefined,
39
35
  summary: flags.summary,
40
36
  });
41
- // Calculate duration
42
37
  const startTime = new Date(ended.started_at).getTime();
43
- const endTime = Date.now();
44
- const durationMin = Math.round((endTime - startTime) / 60_000);
38
+ const durationMin = Math.round((Date.now() - startTime) / 60_000);
39
+ this.log(banner(this.config.version));
40
+ this.log(success('Sessione conclusa'));
45
41
  this.log('');
46
- this.log(chalk.green('Sessione conclusa'));
47
- this.log('');
48
- this.log(` ID: ${ended.id}`);
49
- this.log(` Durata: ${durationMin} minuti`);
50
- this.log(` Note: ${ended.notes.length}`);
42
+ this.log(kv('ID', ended.id));
43
+ this.log(kv('Durata', `${durationMin} min`));
44
+ this.log(kv('Note', `${ended.notes.length}`));
51
45
  if (ended.git_branch)
52
- this.log(` Branch: ${ended.git_branch}`);
53
- if (ended.git_commit_start)
54
- this.log(` Commit: ${ended.git_commit_start} ${commitEnd ?? '?'}`);
46
+ this.log(kv('Branch', ended.git_branch));
47
+ if (ended.git_commit_start) {
48
+ this.log(kv('Commit', `${ended.git_commit_start} ${chalk.dim('->')} ${commitEnd ?? '?'}`));
49
+ }
55
50
  if (flags.summary)
56
- this.log(` Summary: ${flags.summary}`);
51
+ this.log(kv('Summary', flags.summary));
52
+ this.log('');
53
+ this.log(separator());
54
+ this.log(hint('orbit report send per inviare il report a Orbit'));
57
55
  this.log('');
58
- this.log(chalk.dim('Invia il report con: orbit report send'));
59
56
  }
60
57
  }
61
58
  //# sourceMappingURL=end.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"end.js","sourceRoot":"","sources":["../../../src/commands/session/end.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"end.js","sourceRoot":"","sources":["../../../src/commands/session/end.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import { Command, Flags } from '@oclif/core';
2
- import chalk from 'chalk';
3
2
  import { loadSiteLink } from '../../lib/site.js';
4
3
  import { createSession, loadActiveSession } from '../../lib/session.js';
5
4
  import { getGitBranch, getGitCommitHead } from '../../lib/git.js';
5
+ import { banner, kv, success, hint, separator } from '../../lib/ui.js';
6
6
  export default class SessionStart extends Command {
7
7
  static summary = 'Inizia una sessione di lavoro locale';
8
8
  static description = 'Avvia una sessione di lavoro collegata al sito Orbit.\n' +
@@ -20,42 +20,40 @@ export default class SessionStart extends Command {
20
20
  async run() {
21
21
  const { flags } = await this.parse(SessionStart);
22
22
  const cwd = process.cwd();
23
- // Verify site link
24
23
  const siteLink = await loadSiteLink(cwd);
25
24
  if (!siteLink) {
26
- this.error('Nessun .orbit.json trovato nella directory corrente.\n' +
25
+ this.error('Nessun .orbit.json trovato.\n' +
27
26
  'Esegui: orbit link --site <site_id>');
28
27
  }
29
- // Check for existing active session
30
28
  const existing = await loadActiveSession(siteLink.orbit_site_id);
31
29
  if (existing) {
32
- this.error(`Sessione gia attiva (${existing.id}) — avviata il ${existing.started_at}.\n` +
33
- 'Chiudi la sessione corrente con: orbit session end');
30
+ this.error(`Sessione gia attiva (${existing.id}).\n` +
31
+ 'Chiudi con: orbit session end');
34
32
  }
35
- // Capture git state
36
33
  const branch = await getGitBranch();
37
34
  const commit = await getGitCommitHead();
38
- // Create session
39
35
  const session = await createSession(siteLink.orbit_site_id, {
40
36
  git_branch: branch ?? undefined,
41
37
  git_commit: commit ?? undefined,
42
38
  note: flags.note,
43
39
  });
40
+ this.log(banner(this.config.version));
41
+ this.log(success('Sessione avviata'));
44
42
  this.log('');
45
- this.log(chalk.green('Sessione avviata'));
46
- this.log('');
47
- this.log(` ID: ${session.id}`);
48
- this.log(` Sito: ${siteLink.orbit_site_id}`);
43
+ this.log(kv('ID', session.id));
44
+ this.log(kv('Sito', siteLink.orbit_site_id));
49
45
  if (branch)
50
- this.log(` Branch: ${branch}`);
46
+ this.log(kv('Branch', branch));
51
47
  if (commit)
52
- this.log(` Commit: ${commit}`);
53
- this.log(` Inizio: ${session.started_at}`);
48
+ this.log(kv('Commit', commit));
49
+ this.log(kv('Inizio', session.started_at));
54
50
  if (flags.note)
55
- this.log(` Nota: ${flags.note}`);
51
+ this.log(kv('Nota', flags.note));
52
+ this.log('');
53
+ this.log(separator());
54
+ this.log(hint('orbit note add "testo" per aggiungere note'));
55
+ this.log(hint('orbit session end per chiudere'));
56
56
  this.log('');
57
- this.log(chalk.dim('Usa "orbit note add" per aggiungere note.'));
58
- this.log(chalk.dim('Usa "orbit session end" per chiudere.'));
59
57
  }
60
58
  }
61
59
  //# sourceMappingURL=start.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/session/start.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"start.js","sourceRoot":"","sources":["../../../src/commands/session/start.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AACxE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,MAAM,EAAW,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAEhF,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,OAAO;IAC/C,MAAM,CAAC,OAAO,GAAG,sCAAsC,CAAC;IAExD,MAAM,CAAC,WAAW,GAChB,yDAAyD;QACzD,uDAAuD,CAAC;IAE1D,MAAM,CAAC,QAAQ,GAAG;QAChB,iCAAiC;QACjC,4DAA4D;KAC7D,CAAC;IAEF,MAAM,CAAC,KAAK,GAAG;QACb,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC;YACjB,IAAI,EAAE,GAAG;YACT,WAAW,EAAE,8BAA8B;SAC5C,CAAC;KACH,CAAC;IAEF,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;QACjD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAE1B,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAC;QACzC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,KAAK,CACR,+BAA+B;gBAC7B,qCAAqC,CACxC,CAAC;QACJ,CAAC;QAED,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;QACjE,IAAI,QAAQ,EAAE,CAAC;YACb,IAAI,CAAC,KAAK,CACR,wBAAwB,QAAQ,CAAC,EAAE,MAAM;gBACvC,+BAA+B,CAClC,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;QAExC,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,aAAa,EAAE;YAC1D,UAAU,EAAE,MAAM,IAAI,SAAS;YAC/B,UAAU,EAAE,MAAM,IAAI,SAAS;YAC/B,IAAI,EAAE,KAAK,CAAC,IAAI;SACjB,CAAC,CAAC;QAEH,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC,CAAC;QACtC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC;QAC7C,IAAI,MAAM;YAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAI,MAAM;YAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3C,IAAI,KAAK,CAAC,IAAI;YAAE,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACb,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QACtB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC,CAAC;QAC7D,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC,CAAC;QACjD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACf,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Shell extends Command {
3
+ static summary: string;
4
+ static description: string;
5
+ static args: {};
6
+ static flags: {};
7
+ run(): Promise<void>;
8
+ }
@@ -0,0 +1,12 @@
1
+ import { Command } from '@oclif/core';
2
+ import { startShell } from '../lib/shell.js';
3
+ export default class Shell extends Command {
4
+ static summary = 'Avvia la shell interattiva di Orbit CLI';
5
+ static description = 'Apre un ambiente interattivo con menu navigabili per gestire sessioni, report e interventi.';
6
+ static args = {};
7
+ static flags = {};
8
+ async run() {
9
+ await startShell(this.config.version);
10
+ }
11
+ }
12
+ //# sourceMappingURL=shell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shell.js","sourceRoot":"","sources":["../../src/commands/shell.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAE7C,MAAM,CAAC,OAAO,OAAO,KAAM,SAAQ,OAAO;IACxC,MAAM,CAAC,OAAO,GAAG,yCAAyC,CAAC;IAC3D,MAAM,CAAC,WAAW,GAAG,6FAA6F,CAAC;IAEnH,MAAM,CAAC,IAAI,GAAG,EAAE,CAAC;IACjB,MAAM,CAAC,KAAK,GAAG,EAAE,CAAC;IAElB,KAAK,CAAC,GAAG;QACP,MAAM,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACxC,CAAC"}
@@ -2,55 +2,92 @@ import { Command } from '@oclif/core';
2
2
  import chalk from 'chalk';
3
3
  import { loadConfig } from '../lib/config.js';
4
4
  import { OrbitClient } from '../lib/client.js';
5
+ import { loadSiteLink } from '../lib/site.js';
6
+ import { loadActiveSession } from '../lib/session.js';
7
+ import { banner, section, kv, warn, info, hint, separator } from '../lib/ui.js';
5
8
  export default class Status extends Command {
6
9
  static summary = 'Mostra lo stato corrente: sito, sessione, token';
7
10
  static examples = ['<%= config.bin %> status'];
8
11
  async run() {
12
+ this.log(banner(this.config.version));
9
13
  const config = await loadConfig();
10
- this.log('');
11
- this.log(chalk.bold(`Orbit CLI v${this.config.version}`));
12
- this.log('');
13
- // Token info
14
14
  const defaultSite = config.default_site;
15
15
  const tokenEntry = defaultSite ? config.tokens[defaultSite] : undefined;
16
+ // Auth section
17
+ this.log(section('Autenticazione'));
16
18
  if (!tokenEntry) {
17
- this.log(chalk.yellow(' Nessun token configurato.'));
18
- this.log(chalk.dim(' Esegui: orbit login --token <token>'));
19
+ this.log(warn('Nessun token configurato'));
20
+ this.log(hint('orbit login --token <token>'));
21
+ this.log('');
19
22
  return;
20
23
  }
21
24
  const maskedToken = `${tokenEntry.token.slice(0, 15)}...${tokenEntry.token.slice(-4)}`;
22
- // Validate connection
23
25
  const client = new OrbitClient(tokenEntry.token, config.api_url);
24
26
  const validation = await client.validateToken();
25
- this.log(` Token: ${maskedToken} ${validation.valid ? chalk.green('(valido)') : chalk.red('(non valido)')}`);
26
- this.log(` API: ${config.api_url} ${validation.valid ? chalk.green('(raggiungibile)') : chalk.red('(non raggiungibile)')}`);
27
- this.log(` Site ID: ${defaultSite}`);
27
+ this.log(kv('Token', `${maskedToken} ${validation.valid ? chalk.green('valido') : chalk.red('non valido')}`));
28
+ this.log(kv('API', `${config.api_url} ${validation.valid ? chalk.green('ok') : chalk.red('errore')}`));
29
+ // Site section
30
+ this.log(section('Sito'));
31
+ const siteLink = await loadSiteLink(process.cwd());
32
+ if (siteLink) {
33
+ this.log(kv('Site ID', siteLink.orbit_site_id));
34
+ this.log(kv('Piattaforma', siteLink.platform));
35
+ if (siteLink.final_url)
36
+ this.log(kv('URL', siteLink.final_url));
37
+ }
38
+ else {
39
+ this.log(info('Nessun sito collegato in questa directory'));
40
+ this.log(hint('orbit link --site <site_id>'));
41
+ }
42
+ // Session section
43
+ this.log(section('Sessione'));
44
+ if (siteLink) {
45
+ const session = await loadActiveSession(siteLink.orbit_site_id);
46
+ if (session) {
47
+ const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
48
+ this.log(kv('Stato', chalk.green('attiva')));
49
+ this.log(kv('ID', session.id));
50
+ this.log(kv('Durata', `${elapsed} min`));
51
+ if (session.git_branch)
52
+ this.log(kv('Branch', session.git_branch));
53
+ this.log(kv('Note', `${session.notes.length}`));
54
+ }
55
+ else {
56
+ this.log(info('Nessuna sessione attiva'));
57
+ this.log(hint('orbit session start'));
58
+ }
59
+ }
60
+ else {
61
+ this.log(info('Collega un sito per avviare sessioni'));
62
+ }
63
+ // Stats section
28
64
  if (validation.valid) {
29
65
  try {
30
66
  const stats = await client.getStats();
31
67
  const total = stats.total_interventions ?? 0;
32
68
  const byStatus = stats.by_status ?? {};
33
- this.log('');
34
- this.log(` Interventi: ${total} totali`);
69
+ this.log(section('Interventi'));
70
+ this.log(kv('Totale', String(total)));
35
71
  if (total > 0) {
36
72
  const parts = [];
37
73
  if (byStatus.in_progress)
38
- parts.push(`${byStatus.in_progress} in corso`);
74
+ parts.push(chalk.yellow(`${byStatus.in_progress} in corso`));
39
75
  if (byStatus.completed)
40
- parts.push(`${byStatus.completed} completati`);
76
+ parts.push(chalk.green(`${byStatus.completed} completati`));
41
77
  if (byStatus.scheduled)
42
- parts.push(`${byStatus.scheduled} pianificati`);
78
+ parts.push(chalk.blue(`${byStatus.scheduled} pianificati`));
43
79
  if (parts.length > 0) {
44
- this.log(` ${chalk.dim(parts.join(', '))}`);
80
+ this.log(kv('Dettaglio', parts.join(chalk.dim(' · '))));
45
81
  }
46
82
  }
47
83
  }
48
- catch (err) {
49
- const msg = err instanceof Error ? err.message : String(err);
50
- this.log(chalk.dim(` Stats non disponibili: ${msg}`));
84
+ catch {
85
+ // Stats non disponibili
51
86
  }
52
87
  }
53
88
  this.log('');
89
+ this.log(separator());
90
+ this.log('');
54
91
  }
55
92
  }
56
93
  //# sourceMappingURL=status.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/commands/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Interactive shell for @orbitpanel/cli.
3
+ * Modern REPL with branded UI, menus, spinners.
4
+ */
5
+ export declare function startShell(version: string): Promise<void>;