@orbitpanel/cli 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -32,5 +32,7 @@ export declare class OrbitClient {
32
32
  getStats(): Promise<Record<string, unknown>>;
33
33
  /** List WordPress sites. */
34
34
  listSites(): Promise<Record<string, unknown>[]>;
35
+ /** Safely parse JSON response. Returns empty object on parse failure. */
36
+ private safeJson;
35
37
  private handleError;
36
38
  }
@@ -98,7 +98,7 @@ export class OrbitClient {
98
98
  if (!res.ok) {
99
99
  await this.handleError(res);
100
100
  }
101
- return res.json();
101
+ return this.safeJson(res);
102
102
  }
103
103
  /** Create a new intervention. */
104
104
  async createIntervention(data) {
@@ -110,7 +110,7 @@ export class OrbitClient {
110
110
  if (!res.ok) {
111
111
  await this.handleError(res);
112
112
  }
113
- return res.json();
113
+ return this.safeJson(res);
114
114
  }
115
115
  /** Get a single intervention by ID. */
116
116
  async getIntervention(id) {
@@ -118,7 +118,7 @@ export class OrbitClient {
118
118
  if (!res.ok) {
119
119
  await this.handleError(res);
120
120
  }
121
- return res.json();
121
+ return this.safeJson(res);
122
122
  }
123
123
  /** Update an intervention. */
124
124
  async updateIntervention(id, data) {
@@ -130,7 +130,7 @@ export class OrbitClient {
130
130
  if (!res.ok) {
131
131
  await this.handleError(res);
132
132
  }
133
- return res.json();
133
+ return this.safeJson(res);
134
134
  }
135
135
  /** Delete an intervention. */
136
136
  async deleteIntervention(id) {
@@ -145,7 +145,7 @@ export class OrbitClient {
145
145
  if (!res.ok) {
146
146
  await this.handleError(res);
147
147
  }
148
- return res.json();
148
+ return this.safeJson(res);
149
149
  }
150
150
  /** List WordPress sites. */
151
151
  async listSites() {
@@ -153,11 +153,25 @@ export class OrbitClient {
153
153
  if (!res.ok) {
154
154
  await this.handleError(res);
155
155
  }
156
- return res.json();
156
+ return this.safeJson(res);
157
+ }
158
+ /** Safely parse JSON response. Returns empty object on parse failure. */
159
+ async safeJson(res) {
160
+ const text = await res.text();
161
+ try {
162
+ return JSON.parse(text);
163
+ }
164
+ catch {
165
+ throw new Error(`Risposta non valida (non JSON): ${text.slice(0, 100)}`);
166
+ }
157
167
  }
158
168
  async handleError(res) {
159
- const body = await res.json().catch(() => ({}));
160
- const detail = body.detail || res.statusText;
169
+ let detail = res.statusText;
170
+ try {
171
+ const body = await this.safeJson(res);
172
+ detail = body.detail || res.statusText;
173
+ }
174
+ catch { /* use statusText */ }
161
175
  throw new Error(`HTTP ${res.status}: ${detail}`);
162
176
  }
163
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/lib/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Shared command router for @orbitpanel/cli.
3
+ *
4
+ * SINGLE source of truth for slash command routing.
5
+ * Used by BOTH shell-ink.ts (Ink) and shell.ts (readline).
6
+ * Eliminates the 99% duplication between the two files.
7
+ */
8
+ import { OrbitStore } from '../state/store.js';
9
+ export interface CommandContext {
10
+ /** Original input (preserving case) */
11
+ input: string;
12
+ /** Working directory */
13
+ cwd: string;
14
+ /** Centralized state store */
15
+ store: OrbitStore;
16
+ /** Output function (console.log for readline, addOutput for Ink) */
17
+ output: (text: string) => void;
18
+ /** Confirmation prompt (only in readline TTY mode) */
19
+ promptConfirm?: (message: string) => Promise<boolean>;
20
+ /** Interactive selection (only in Ink mode) */
21
+ showSelect?: (title: string, items: import('../components/SelectList.js').SelectItem[]) => Promise<import('../components/SelectList.js').SelectItem | null>;
22
+ }
23
+ export interface CommandResult {
24
+ /** Whether the command was recognized and handled */
25
+ handled: boolean;
26
+ /** Whether the store should be refreshed after this command */
27
+ needsRefresh: boolean;
28
+ /** Whether the shell should exit */
29
+ shouldExit: boolean;
30
+ /** Whether this was an AI chat (free text) */
31
+ isChat: boolean;
32
+ }
33
+ /**
34
+ * Route a slash command. Returns result indicating what happened.
35
+ * The caller handles UI-specific behavior (prompt refresh, bar update, etc.)
36
+ */
37
+ export declare function routeCommand(ctx: CommandContext): Promise<CommandResult>;
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Shared command router for @orbitpanel/cli.
3
+ *
4
+ * SINGLE source of truth for slash command routing.
5
+ * Used by BOTH shell-ink.ts (Ink) and shell.ts (readline).
6
+ * Eliminates the 99% duplication between the two files.
7
+ */
8
+ import { SLASH_COMMANDS, sparkle, BB, DIM, WHITE } from './shell-render.js';
9
+ import { formatSuggestionList } from './shell-completer.js';
10
+ import { getUnknownCommandHint } from './shell-hints.js';
11
+ import { cmdStatus, cmdDoctor, cmdSessionStart, cmdSessionEnd, cmdSessionInfo, cmdNoteAdd, cmdReport, cmdList, cmdGet, cmdHistory, cmdSites, cmdAuth, cmdLogin, cmdLink, } from './shell-commands.js';
12
+ /** Capture console.log output into a string via callback. */
13
+ async function captureToOutput(fn, output) {
14
+ const origLog = console.log;
15
+ const lines = [];
16
+ console.log = (...args) => {
17
+ lines.push(args.map(a => typeof a === 'string' ? a : String(a)).join(' '));
18
+ };
19
+ try {
20
+ const result = fn();
21
+ if (result instanceof Promise)
22
+ await result;
23
+ }
24
+ finally {
25
+ console.log = origLog;
26
+ if (lines.length > 0) {
27
+ output(lines.join('\n'));
28
+ }
29
+ }
30
+ }
31
+ /**
32
+ * Route a slash command. Returns result indicating what happened.
33
+ * The caller handles UI-specific behavior (prompt refresh, bar update, etc.)
34
+ */
35
+ export async function routeCommand(ctx) {
36
+ const cmd = ctx.input.toLowerCase().trim();
37
+ const noResult = { handled: false, needsRefresh: false, shouldExit: false, isChat: false };
38
+ // Exit
39
+ if (cmd === '/exit' || cmd === '/quit' || cmd === '/q') {
40
+ return { handled: true, needsRefresh: false, shouldExit: true, isChat: false };
41
+ }
42
+ // Clear
43
+ if (cmd === '/clear' || cmd === '/cls') {
44
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
45
+ }
46
+ // Help
47
+ if (cmd === '/help' || cmd === '/h') {
48
+ await captureToOutput(() => {
49
+ console.log('');
50
+ console.log(` ${sparkle} ${BB('Comandi disponibili')}`);
51
+ console.log('');
52
+ for (const c of SLASH_COMMANDS) {
53
+ const alias = c.alias ? DIM(` ${c.alias}`) : '';
54
+ console.log(` ${WHITE(c.cmd.padEnd(18))}${alias.padEnd(10)}${DIM(c.desc)}`);
55
+ }
56
+ console.log('');
57
+ console.log(` ${DIM('Digita / e usa ↑↓ per navigare. Oppure scrivi in linguaggio naturale.')}`);
58
+ }, ctx.output);
59
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
60
+ }
61
+ // Status
62
+ if (cmd === '/status' || cmd === '/s') {
63
+ await captureToOutput(() => cmdStatus(), ctx.output);
64
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
65
+ }
66
+ // Doctor
67
+ if (cmd === '/doctor' || cmd === '/doc') {
68
+ await captureToOutput(() => cmdDoctor(), ctx.output);
69
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
70
+ }
71
+ // Session start
72
+ if (cmd === '/session start' || cmd === '/ss') {
73
+ await captureToOutput(() => cmdSessionStart(), ctx.output);
74
+ return { handled: true, needsRefresh: true, shouldExit: false, isChat: false };
75
+ }
76
+ // Session end
77
+ if (cmd === '/session end' || cmd === '/se') {
78
+ await captureToOutput(() => cmdSessionEnd(), ctx.output);
79
+ return { handled: true, needsRefresh: true, shouldExit: false, isChat: false };
80
+ }
81
+ // Session info
82
+ if (cmd === '/session' || cmd === '/session info') {
83
+ await captureToOutput(() => cmdSessionInfo(), ctx.output);
84
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
85
+ }
86
+ // Note
87
+ if (cmd.startsWith('/note ') || cmd.startsWith('/n ')) {
88
+ const text = ctx.input.slice(ctx.input.indexOf(' ') + 1);
89
+ await captureToOutput(() => cmdNoteAdd(text), ctx.output);
90
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
91
+ }
92
+ // Report (with optional promptConfirm)
93
+ if (cmd === '/report' || cmd === '/r') {
94
+ await captureToOutput(() => cmdReport(ctx.promptConfirm), ctx.output);
95
+ return { handled: true, needsRefresh: true, shouldExit: false, isChat: false };
96
+ }
97
+ // List
98
+ if (cmd === '/list' || cmd === '/ls' || cmd === '/interventions') {
99
+ await captureToOutput(() => cmdList(), ctx.output);
100
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
101
+ }
102
+ // History
103
+ if (cmd === '/history' || cmd === '/hist') {
104
+ await captureToOutput(() => cmdHistory(), ctx.output);
105
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
106
+ }
107
+ // Get
108
+ if (cmd.startsWith('/get ') || cmd.startsWith('/g ')) {
109
+ const id = ctx.input.split(' ')[1];
110
+ await captureToOutput(() => cmdGet(id), ctx.output);
111
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
112
+ }
113
+ // Sites (interactive if showSelect available, else fallback)
114
+ if (cmd === '/sites' || cmd.startsWith('/sites ')) {
115
+ const arg = cmd.split(' ')[1];
116
+ if (!arg && ctx.showSelect) {
117
+ // Interactive selection handled by caller (UI-specific)
118
+ return { handled: false, needsRefresh: true, shouldExit: false, isChat: false };
119
+ }
120
+ await captureToOutput(() => cmdSites(arg), ctx.output);
121
+ return { handled: true, needsRefresh: true, shouldExit: false, isChat: false };
122
+ }
123
+ // Auth
124
+ if (cmd === '/auth') {
125
+ await captureToOutput(() => cmdAuth(), ctx.output);
126
+ return { handled: true, needsRefresh: true, shouldExit: false, isChat: false };
127
+ }
128
+ // Login
129
+ if (cmd.startsWith('/login ')) {
130
+ const token = ctx.input.split(' ')[1];
131
+ await captureToOutput(() => cmdLogin(token), ctx.output);
132
+ return { handled: true, needsRefresh: true, shouldExit: false, isChat: false };
133
+ }
134
+ // Link
135
+ if (cmd.startsWith('/link ')) {
136
+ const siteId = ctx.input.split(' ')[1];
137
+ await captureToOutput(() => cmdLink(siteId), ctx.output);
138
+ return { handled: true, needsRefresh: true, shouldExit: false, isChat: false };
139
+ }
140
+ // "/" alone → command list
141
+ if (cmd === '/') {
142
+ await captureToOutput(() => {
143
+ console.log('');
144
+ console.log(` ${sparkle} ${BB('Comandi disponibili')}`);
145
+ console.log('');
146
+ console.log(formatSuggestionList(SLASH_COMMANDS));
147
+ console.log('');
148
+ }, ctx.output);
149
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
150
+ }
151
+ // Unknown slash command → suggest
152
+ if (cmd.startsWith('/')) {
153
+ const hint = getUnknownCommandHint(cmd);
154
+ ctx.output(`\n ${DIM('Comando sconosciuto:')} ${WHITE(cmd)}\n ${DIM(hint)}\n`);
155
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
156
+ }
157
+ // Not a slash command → free text (AI chat)
158
+ return { handled: false, needsRefresh: false, shouldExit: false, isChat: true };
159
+ }
160
+ //# sourceMappingURL=command-router.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command-router.js","sourceRoot":"","sources":["../../src/lib/command-router.ts"],"names":[],"mappings":"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"}
@@ -592,6 +592,76 @@
592
592
  "add.js"
593
593
  ]
594
594
  },
595
+ "session:end": {
596
+ "aliases": [],
597
+ "args": {},
598
+ "description": "Chiude la sessione attiva, cattura il commit finale\ne mostra un riepilogo del lavoro svolto.",
599
+ "examples": [
600
+ "<%= config.bin %> session end",
601
+ "<%= config.bin %> session end --summary \"Completato refactor homepage\""
602
+ ],
603
+ "flags": {
604
+ "summary": {
605
+ "char": "s",
606
+ "description": "Summary finale del lavoro svolto",
607
+ "name": "summary",
608
+ "hasDynamicHelp": false,
609
+ "multiple": false,
610
+ "type": "option"
611
+ }
612
+ },
613
+ "hasDynamicHelp": false,
614
+ "hiddenAliases": [],
615
+ "id": "session:end",
616
+ "pluginAlias": "@orbitpanel/cli",
617
+ "pluginName": "@orbitpanel/cli",
618
+ "pluginType": "core",
619
+ "strict": true,
620
+ "summary": "Chiude la sessione di lavoro corrente",
621
+ "enableJsonFlag": false,
622
+ "isESM": true,
623
+ "relativePath": [
624
+ "dist",
625
+ "commands",
626
+ "session",
627
+ "end.js"
628
+ ]
629
+ },
630
+ "session:start": {
631
+ "aliases": [],
632
+ "args": {},
633
+ "description": "Avvia una sessione di lavoro collegata al sito Orbit.\nCattura automaticamente branch git e commit corrente.",
634
+ "examples": [
635
+ "<%= config.bin %> session start",
636
+ "<%= config.bin %> session start --note \"Refactor homepage\""
637
+ ],
638
+ "flags": {
639
+ "note": {
640
+ "char": "n",
641
+ "description": "Nota iniziale sulla sessione",
642
+ "name": "note",
643
+ "hasDynamicHelp": false,
644
+ "multiple": false,
645
+ "type": "option"
646
+ }
647
+ },
648
+ "hasDynamicHelp": false,
649
+ "hiddenAliases": [],
650
+ "id": "session:start",
651
+ "pluginAlias": "@orbitpanel/cli",
652
+ "pluginName": "@orbitpanel/cli",
653
+ "pluginType": "core",
654
+ "strict": true,
655
+ "summary": "Inizia una sessione di lavoro locale",
656
+ "enableJsonFlag": false,
657
+ "isESM": true,
658
+ "relativePath": [
659
+ "dist",
660
+ "commands",
661
+ "session",
662
+ "start.js"
663
+ ]
664
+ },
595
665
  "report:send": {
596
666
  "aliases": [],
597
667
  "args": {},
@@ -677,77 +747,7 @@
677
747
  "report",
678
748
  "send.js"
679
749
  ]
680
- },
681
- "session:end": {
682
- "aliases": [],
683
- "args": {},
684
- "description": "Chiude la sessione attiva, cattura il commit finale\ne mostra un riepilogo del lavoro svolto.",
685
- "examples": [
686
- "<%= config.bin %> session end",
687
- "<%= config.bin %> session end --summary \"Completato refactor homepage\""
688
- ],
689
- "flags": {
690
- "summary": {
691
- "char": "s",
692
- "description": "Summary finale del lavoro svolto",
693
- "name": "summary",
694
- "hasDynamicHelp": false,
695
- "multiple": false,
696
- "type": "option"
697
- }
698
- },
699
- "hasDynamicHelp": false,
700
- "hiddenAliases": [],
701
- "id": "session:end",
702
- "pluginAlias": "@orbitpanel/cli",
703
- "pluginName": "@orbitpanel/cli",
704
- "pluginType": "core",
705
- "strict": true,
706
- "summary": "Chiude la sessione di lavoro corrente",
707
- "enableJsonFlag": false,
708
- "isESM": true,
709
- "relativePath": [
710
- "dist",
711
- "commands",
712
- "session",
713
- "end.js"
714
- ]
715
- },
716
- "session:start": {
717
- "aliases": [],
718
- "args": {},
719
- "description": "Avvia una sessione di lavoro collegata al sito Orbit.\nCattura automaticamente branch git e commit corrente.",
720
- "examples": [
721
- "<%= config.bin %> session start",
722
- "<%= config.bin %> session start --note \"Refactor homepage\""
723
- ],
724
- "flags": {
725
- "note": {
726
- "char": "n",
727
- "description": "Nota iniziale sulla sessione",
728
- "name": "note",
729
- "hasDynamicHelp": false,
730
- "multiple": false,
731
- "type": "option"
732
- }
733
- },
734
- "hasDynamicHelp": false,
735
- "hiddenAliases": [],
736
- "id": "session:start",
737
- "pluginAlias": "@orbitpanel/cli",
738
- "pluginName": "@orbitpanel/cli",
739
- "pluginType": "core",
740
- "strict": true,
741
- "summary": "Inizia una sessione di lavoro locale",
742
- "enableJsonFlag": false,
743
- "isESM": true,
744
- "relativePath": [
745
- "dist",
746
- "commands",
747
- "session",
748
- "start.js"
749
- ]
750
750
  }
751
751
  },
752
- "version": "1.0.0"
752
+ "version": "1.0.1"
753
753
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbitpanel/cli",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "Orbit CLI — strumento locale per sviluppatori OrbitPanel",
5
5
  "type": "module",
6
6
  "bin": {