@orbitpanel/cli 0.2.3 → 0.3.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.
@@ -1,5 +1,5 @@
1
1
  /**
2
2
  * Interactive REPL shell for @orbitpanel/cli.
3
- * Stile Gemini CLI / Claude Code: input testuale libero, output inline.
3
+ * Built with React + Ink — same stack as Claude Code, Gemini CLI, Codex CLI.
4
4
  */
5
5
  export declare function startShell(version: string): Promise<void>;
package/dist/lib/shell.js CHANGED
@@ -1,30 +1,20 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  /**
2
3
  * Interactive REPL shell for @orbitpanel/cli.
3
- * Stile Gemini CLI / Claude Code: input testuale libero, output inline.
4
+ * Built with React + Ink — same stack as Claude Code, Gemini CLI, Codex CLI.
4
5
  */
5
- import chalk from 'chalk';
6
+ import React, { useState, useEffect } from 'react';
7
+ import { render, Box, Text, useApp, useInput } from 'ink';
8
+ import TextInput from 'ink-text-input';
9
+ import Spinner from 'ink-spinner';
6
10
  import gradient from 'gradient-string';
7
- import { createInterface } from 'node:readline';
8
- import ora from 'ora';
9
11
  import { loadConfig } from './config.js';
10
12
  import { OrbitClient } from './client.js';
11
13
  import { loadSiteLink } from './site.js';
12
14
  import { loadActiveSession, createSession, addNote, endSession, } from './session.js';
13
15
  import { getGitBranch, getGitCommitHead, getGitDiffStat } from './git.js';
14
16
  import { buildReportPayload } from './report-builder.js';
15
- // Brand colors
16
- const B = chalk.rgb(37, 99, 235);
17
- const BL = chalk.hex('#60A5FA');
18
- const BB = chalk.bold.rgb(37, 99, 235);
19
- const GREEN = chalk.hex('#22C55E');
20
- const YELLOW = chalk.hex('#EAB308');
21
- const DIM = chalk.dim;
22
- const WHITE = chalk.white;
23
17
  const orbitGrad = gradient(['#2563EB', '#3B82F6', '#60A5FA', '#0D9488']);
24
- const sparkle = BL('✦');
25
- function sleep(ms) {
26
- return new Promise(r => setTimeout(r, ms));
27
- }
28
18
  const logoLines = [
29
19
  ' ██████╗ ██████╗ ██████╗ ██╗████████╗',
30
20
  ' ██╔═══██╗██╔══██╗██╔══██╗██║╚══██╔══╝',
@@ -33,465 +23,419 @@ const logoLines = [
33
23
  ' ╚██████╔╝██║ ██║██████╔╝██║ ██║ ',
34
24
  ' ╚═════╝ ╚═╝ ╚═╝╚═════╝ ╚═╝ ╚═╝ ',
35
25
  ];
36
- async function showHeader(version) {
37
- console.clear();
38
- console.log('');
39
- for (const line of logoLines) {
40
- console.log(orbitGrad(line));
41
- await sleep(60);
42
- }
43
- console.log('');
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')}`);
45
- }
46
- async function showStatus() {
47
- const config = await loadConfig();
48
- const defaultSite = config.default_site;
49
- const tokenEntry = defaultSite ? config.tokens[defaultSite] : undefined;
50
- const siteLink = await loadSiteLink(process.cwd());
51
- const session = siteLink ? await loadActiveSession(siteLink.orbit_site_id) : null;
52
- const parts = [];
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)));
59
- if (session) {
60
- const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
61
- parts.push(`${GREEN('●')} Sessione ${DIM(`${elapsed}min`)}`);
62
- if (session.git_branch)
63
- parts.push(BL(session.git_branch));
64
- }
65
- console.log('');
66
- console.log(` ${parts.join(` ${DIM('│')} `)}`);
26
+ function Header({ version }) {
27
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [logoLines.map((line, i) => (_jsx(Text, { children: orbitGrad(line) }, i))), _jsx(Text, { children: '' }), _jsxs(Text, { children: [_jsx(Text, { backgroundColor: "#2563EB", color: "white", bold: true, children: ' CLI ' }), _jsx(Text, { backgroundColor: "#1E293B", color: "#60A5FA", children: ` v${version} ` }), _jsx(Text, { dimColor: true, children: " \u00B7 " }), _jsx(Text, { color: "#60A5FA", children: "Gestione Orbit Panel AI-powered" })] })] }));
67
28
  }
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)
29
+ function StatusBar() {
30
+ const [status, setStatus] = useState([]);
31
+ useEffect(() => {
32
+ (async () => {
33
+ const config = await loadConfig();
34
+ const tokenEntry = config.default_site ? config.tokens[config.default_site] : undefined;
35
+ const siteLink = await loadSiteLink(process.cwd());
36
+ const session = siteLink ? await loadActiveSession(siteLink.orbit_site_id) : null;
37
+ const parts = [];
38
+ parts.push(tokenEntry ? '● Connesso' : '○ Non connesso');
39
+ if (siteLink)
40
+ parts.push(siteLink.final_url ?? siteLink.orbit_site_id.slice(0, 16));
41
+ if (session) {
42
+ const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
43
+ parts.push(`● Sessione ${elapsed}min`);
44
+ if (session.git_branch)
45
+ parts.push(session.git_branch);
46
+ }
47
+ setStatus(parts);
48
+ })();
49
+ }, []);
50
+ if (status.length === 0)
74
51
  return null;
75
- return new OrbitClient(t.token, config.api_url);
52
+ return (_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { children: " " }), status.map((s, i) => (_jsxs(React.Fragment, { children: [i > 0 && _jsx(Text, { dimColor: true, children: " \u2502 " }), _jsx(Text, { color: s.startsWith('●') ? '#22C55E' : s.startsWith('○') ? '#EF4444' : '#60A5FA', children: s })] }, i)))] }));
76
53
  }
77
- export async function startShell(version) {
78
- await showHeader(version);
79
- await showStatus();
80
- console.log('');
81
- sep();
82
- console.log('');
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('›')} `,
54
+ function OutputArea({ lines }) {
55
+ return (_jsx(Box, { flexDirection: "column", children: lines.map((line, i) => (_jsx(Text, { color: line.color, dimColor: line.dim, bold: line.bold, children: line.text }, i))) }));
56
+ }
57
+ function Shell({ version }) {
58
+ const { exit } = useApp();
59
+ const [input, setInput] = useState('');
60
+ const [output, setOutput] = useState([]);
61
+ const [loading, setLoading] = useState(false);
62
+ const [loadingText, setLoadingText] = useState('');
63
+ const [history, setHistory] = useState([]);
64
+ const addOutput = (...lines) => {
65
+ setOutput(prev => [...prev, ...lines]);
66
+ };
67
+ const clearOutput = () => setOutput([]);
68
+ useInput((input, key) => {
69
+ if (key.ctrl && input === 'c') {
70
+ addOutput({ text: '', dim: true }, { text: ' Alla prossima!', dim: true }, { text: '' });
71
+ setTimeout(() => exit(), 100);
72
+ }
89
73
  });
90
- // Wrap in a Promise that resolves only when the user exits
91
- return new Promise((resolve) => {
92
- rl.on('close', () => resolve());
93
- rl.prompt();
94
- rl.on('line', async (input) => {
95
- const raw = input.trim();
96
- const cmd = raw.toLowerCase();
97
- if (!cmd) {
98
- rl.prompt();
99
- return;
74
+ const handleSubmit = async (value) => {
75
+ const raw = value.trim();
76
+ setInput('');
77
+ if (!raw)
78
+ return;
79
+ setHistory(prev => [...prev, raw]);
80
+ const cmd = raw.toLowerCase();
81
+ // Exit
82
+ if (cmd === '/exit' || cmd === '/quit' || cmd === '/q') {
83
+ addOutput({ text: '' }, { text: ' Alla prossima!', dim: true }, { text: '' });
84
+ setTimeout(() => exit(), 100);
85
+ return;
86
+ }
87
+ // Clear
88
+ if (cmd === '/clear' || cmd === '/cls') {
89
+ clearOutput();
90
+ return;
91
+ }
92
+ // Help / List
93
+ if (cmd === '/help' || cmd === '/list' || cmd === '/h' || cmd === '/l') {
94
+ addOutput({ text: '' }, { text: ' ✦ Comandi disponibili', color: '#60A5FA', bold: true }, { text: '' }, { text: ' /status /s panoramica completa', dim: false }, { text: ' /doctor /doc verifica configurazione', dim: false }, { text: ' /session start /ss avvia sessione di lavoro', dim: false }, { text: ' /session end /se chiudi sessione', dim: false }, { text: ' /session info sessione attiva', dim: false }, { text: ' /note <testo> aggiungi nota', dim: false }, { text: ' /report /r invia report a Orbit', dim: false }, { text: ' /list /ls lista interventi', dim: false }, { text: ' /get <id> dettaglio intervento', dim: false }, { text: ' /login <token> configura token', dim: false }, { text: ' /link <site_id> collega directory', dim: false }, { text: ' /clear pulisci schermo', dim: false }, { text: ' /exit /q esci', dim: false }, { text: '' });
95
+ return;
96
+ }
97
+ // Status
98
+ if (cmd === '/status' || cmd === '/s') {
99
+ setLoading(true);
100
+ setLoadingText('Caricamento stato...');
101
+ try {
102
+ const config = await loadConfig();
103
+ const client = getClient(config);
104
+ const lines = [{ text: '' }, { text: ' ✦ Stato', color: '#2563EB', bold: true }, { text: '' }];
105
+ if (!client) {
106
+ lines.push({ text: ' ✗ Token non configurato', color: '#EF4444' });
107
+ lines.push({ text: ' Esegui: /login <token>', dim: true });
108
+ }
109
+ else {
110
+ const t = config.tokens[config.default_site];
111
+ const v = await client.validateToken();
112
+ lines.push({ text: ` ✓ Token ${t.token.slice(0, 15)}...`, color: v.valid ? '#22C55E' : '#EF4444' });
113
+ lines.push({ text: ` ✓ API ${v.valid ? 'raggiungibile' : v.error}`, color: v.valid ? '#22C55E' : '#EF4444' });
114
+ const siteLink = await loadSiteLink(process.cwd());
115
+ if (siteLink)
116
+ lines.push({ text: ` ✓ Sito ${siteLink.final_url ?? siteLink.orbit_site_id}`, color: '#60A5FA' });
117
+ const session = siteLink ? await loadActiveSession(siteLink.orbit_site_id) : null;
118
+ if (session) {
119
+ const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
120
+ lines.push({ text: ` ✓ Sessione attiva (${elapsed}min · ${session.notes.length} note)`, color: '#22C55E' });
121
+ }
122
+ if (v.valid) {
123
+ try {
124
+ const stats = await client.getStats();
125
+ const total = stats.total_interventions ?? 0;
126
+ lines.push({ text: '' });
127
+ lines.push({ text: ` ${total} interventi totali`, color: '#60A5FA' });
128
+ }
129
+ catch { }
130
+ }
131
+ }
132
+ lines.push({ text: '' });
133
+ addOutput(...lines);
100
134
  }
101
- if (cmd === 'exit' || cmd === 'quit' || cmd === 'q') {
102
- console.log(`\n ${DIM('Alla prossima!')}\n`);
103
- rl.close();
104
- return;
135
+ finally {
136
+ setLoading(false);
105
137
  }
106
- if (cmd === 'clear' || cmd === 'cls') {
107
- console.clear();
108
- rl.prompt();
109
- return;
138
+ return;
139
+ }
140
+ // Doctor
141
+ if (cmd === '/doctor' || cmd === '/doc') {
142
+ setLoading(true);
143
+ setLoadingText('Diagnostica...');
144
+ try {
145
+ const config = await loadConfig();
146
+ const lines = [{ text: '' }, { text: ' ✦ Diagnostica', color: '#2563EB', bold: true }, { text: '' }];
147
+ const t = config.default_site ? config.tokens[config.default_site] : undefined;
148
+ lines.push({ text: ` ${t ? '✓' : '!'} Token ${t ? t.token.slice(0, 15) + '...' : 'non configurato'}`, color: t ? '#22C55E' : '#EAB308' });
149
+ if (t) {
150
+ const c = new OrbitClient(t.token, config.api_url);
151
+ const start = Date.now();
152
+ const v = await c.validateToken();
153
+ lines.push({ text: ` ${v.valid ? '✓' : '✗'} API ${v.valid ? `raggiungibile (${Date.now() - start}ms)` : v.error}`, color: v.valid ? '#22C55E' : '#EF4444' });
154
+ }
155
+ const site = await loadSiteLink(process.cwd());
156
+ lines.push({ text: ` ${site ? '✓' : '!'} Sito ${site ? '.orbit.json presente' : 'non collegato'}`, color: site ? '#22C55E' : '#EAB308' });
157
+ const branch = await getGitBranch();
158
+ lines.push({ text: ` ${branch ? '✓' : '!'} Git ${branch ?? 'nessun repository'}`, color: branch ? '#22C55E' : '#EAB308' });
159
+ const allOk = !!(t && site && branch);
160
+ lines.push({ text: '' });
161
+ lines.push({ text: allOk ? ' ✓ Tutto ok — pronto per lavorare' : ' ! Attenzione — vedi sopra', color: allOk ? '#22C55E' : '#EAB308', bold: true });
162
+ lines.push({ text: '' });
163
+ addOutput(...lines);
110
164
  }
111
- if (cmd === 'help' || cmd === 'h') {
112
- showHelp();
113
- rl.prompt();
114
- return;
165
+ finally {
166
+ setLoading(false);
115
167
  }
116
- if (cmd === 'status' || cmd === 's') {
117
- await cmdStatus();
118
- rl.prompt();
119
- return;
168
+ return;
169
+ }
170
+ // Session start
171
+ if (cmd === '/session start' || cmd === '/ss') {
172
+ setLoading(true);
173
+ setLoadingText('Avvio sessione...');
174
+ try {
175
+ const siteLink = await loadSiteLink(process.cwd());
176
+ if (!siteLink) {
177
+ addOutput({ text: '' }, { text: ' ✗ Nessun sito collegato. Esegui: /link <site_id>', color: '#EF4444' }, { text: '' });
178
+ return;
179
+ }
180
+ const existing = await loadActiveSession(siteLink.orbit_site_id);
181
+ if (existing) {
182
+ addOutput({ text: '' }, { text: ` ! Sessione gia attiva (${existing.id}). Chiudi con: /session end`, color: '#EAB308' }, { text: '' });
183
+ return;
184
+ }
185
+ const branch = await getGitBranch();
186
+ const commit = await getGitCommitHead();
187
+ const s = await createSession(siteLink.orbit_site_id, { git_branch: branch ?? undefined, git_commit: commit ?? undefined });
188
+ addOutput({ text: '' }, { text: ' ✦ Sessione avviata', color: '#2563EB', bold: true }, { text: '' }, { text: ` ID ${s.id}`, color: '#60A5FA' }, ...(branch ? [{ text: ` Branch ${branch}` }] : []), ...(commit ? [{ text: ` Commit ${commit}`, color: '#60A5FA' }] : []), { text: ` Inizio ${new Date().toLocaleTimeString('it-IT', { hour: '2-digit', minute: '2-digit' })}` }, { text: '' });
120
189
  }
121
- if (cmd === 'doctor' || cmd === 'doc') {
122
- await cmdDoctor();
123
- rl.prompt();
124
- return;
190
+ finally {
191
+ setLoading(false);
125
192
  }
126
- if (cmd === 'session start' || cmd === 'ss') {
127
- await cmdSessionStart();
128
- rl.prompt();
129
- return;
193
+ return;
194
+ }
195
+ // Session end
196
+ if (cmd === '/session end' || cmd === '/se') {
197
+ setLoading(true);
198
+ setLoadingText('Chiusura sessione...');
199
+ try {
200
+ const siteLink = await loadSiteLink(process.cwd());
201
+ if (!siteLink) {
202
+ addOutput({ text: ' ✗ Nessun sito collegato', color: '#EF4444' });
203
+ return;
204
+ }
205
+ const session = await loadActiveSession(siteLink.orbit_site_id);
206
+ if (!session) {
207
+ addOutput({ text: ' Nessuna sessione attiva', dim: true });
208
+ return;
209
+ }
210
+ const commitEnd = await getGitCommitHead();
211
+ await endSession(session.id, { git_commit_end: commitEnd ?? undefined });
212
+ const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
213
+ addOutput({ text: '' }, { text: ` ✓ Sessione chiusa (${elapsed}min · ${session.notes.length} note)`, color: '#22C55E', bold: true }, { text: ' Invia il report con: /report', dim: true }, { text: '' });
130
214
  }
131
- if (cmd === 'session end' || cmd === 'se') {
132
- await cmdSessionEnd();
133
- rl.prompt();
134
- return;
215
+ finally {
216
+ setLoading(false);
135
217
  }
136
- if (cmd === 'session' || cmd === 'session info') {
137
- await cmdSessionInfo();
138
- rl.prompt();
218
+ return;
219
+ }
220
+ // Session info
221
+ if (cmd === '/session' || cmd === '/session info') {
222
+ const siteLink = await loadSiteLink(process.cwd());
223
+ if (!siteLink) {
224
+ addOutput({ text: ' Nessun sito collegato', dim: true });
139
225
  return;
140
226
  }
141
- if (cmd.startsWith('note ') || cmd.startsWith('n ')) {
142
- await cmdNoteAdd(raw.slice(raw.indexOf(' ') + 1));
143
- rl.prompt();
227
+ const session = siteLink ? await loadActiveSession(siteLink.orbit_site_id) : null;
228
+ if (!session) {
229
+ addOutput({ text: ' Nessuna sessione attiva', dim: true });
144
230
  return;
145
231
  }
146
- if (cmd === 'report' || cmd === 'r') {
147
- await cmdReport();
148
- rl.prompt();
149
- return;
232
+ const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
233
+ const lines = [
234
+ { text: '' },
235
+ { text: ' ✦ Sessione attiva', color: '#2563EB', bold: true },
236
+ { text: '' },
237
+ { text: ` ID ${session.id}`, color: '#60A5FA' },
238
+ { text: ` Durata ${elapsed} min` },
239
+ ];
240
+ if (session.git_branch)
241
+ lines.push({ text: ` Branch ${session.git_branch}`, color: '#60A5FA' });
242
+ lines.push({ text: ` Note ${session.notes.length}` });
243
+ for (const n of session.notes.slice(-5)) {
244
+ lines.push({ text: ` · ${n.text}` });
150
245
  }
151
- if (cmd === 'list' || cmd === 'ls' || cmd === 'l') {
152
- await cmdList();
153
- rl.prompt();
246
+ lines.push({ text: '' });
247
+ addOutput(...lines);
248
+ return;
249
+ }
250
+ // Note
251
+ if (cmd.startsWith('/note ') || cmd.startsWith('/n ')) {
252
+ const text = raw.slice(raw.indexOf(' ') + 1);
253
+ const siteLink = await loadSiteLink(process.cwd());
254
+ if (!siteLink) {
255
+ addOutput({ text: ' ✗ Nessun sito collegato', color: '#EF4444' });
154
256
  return;
155
257
  }
156
- if (cmd.startsWith('get ') || cmd.startsWith('g ')) {
157
- await cmdGet(raw.split(' ')[1]);
158
- rl.prompt();
258
+ const session = await loadActiveSession(siteLink.orbit_site_id);
259
+ if (!session) {
260
+ addOutput({ text: ' Nessuna sessione attiva. /session start', dim: true });
159
261
  return;
160
262
  }
161
- if (cmd.startsWith('login ')) {
162
- await cmdLogin(raw.split(' ')[1]);
163
- rl.prompt();
263
+ await addNote(session.id, text, 'medium');
264
+ addOutput({ text: '' }, { text: ` ✓ Nota aggiunta (${session.notes.length + 1} totali)`, color: '#22C55E', bold: true }, { text: ` │ ${text}`, color: '#2563EB' }, { text: '' });
265
+ return;
266
+ }
267
+ // Report
268
+ if (cmd === '/report' || cmd === '/r') {
269
+ setLoading(true);
270
+ setLoadingText('Invio report a Orbit...');
271
+ try {
272
+ const config = await loadConfig();
273
+ const client = getClient(config);
274
+ if (!client) {
275
+ addOutput({ text: ' ✗ Token non configurato', color: '#EF4444' });
276
+ return;
277
+ }
278
+ const siteLink = await loadSiteLink(process.cwd());
279
+ if (!siteLink) {
280
+ addOutput({ text: ' ✗ Nessun sito collegato', color: '#EF4444' });
281
+ return;
282
+ }
283
+ let session = await loadActiveSession(siteLink.orbit_site_id);
284
+ const commitEnd = await getGitCommitHead();
285
+ let filesChanged = 0;
286
+ if (session?.git_commit_start && commitEnd) {
287
+ const diff = await getGitDiffStat(session.git_commit_start, commitEnd);
288
+ filesChanged = diff.files_changed;
289
+ }
290
+ if (session && session.status === 'active') {
291
+ session = await endSession(session.id, { git_commit_end: commitEnd ?? undefined });
292
+ }
293
+ const payload = buildReportPayload({
294
+ session: session ?? { id: 'no-session', site_id: siteLink.orbit_site_id, started_at: new Date().toISOString(), notes: [], status: 'completed' },
295
+ git_commit_end: commitEnd ?? undefined, files_changed: filesChanged,
296
+ });
297
+ payload.site_id = siteLink.orbit_site_id;
298
+ const result = await client.createIntervention(payload);
299
+ addOutput({ text: '' }, { text: ` ✓ Report inviato ${String(result.id).slice(0, 8)}`, color: '#22C55E', bold: true }, { text: '' });
300
+ }
301
+ catch (err) {
302
+ addOutput({ text: ` ✗ Invio fallito: ${err instanceof Error ? err.message : String(err)}`, color: '#EF4444' });
303
+ }
304
+ finally {
305
+ setLoading(false);
306
+ }
307
+ return;
308
+ }
309
+ // List interventions
310
+ if (cmd === '/list' || cmd === '/ls' || cmd === '/interventions') {
311
+ setLoading(true);
312
+ setLoadingText('Caricamento interventi...');
313
+ try {
314
+ const config = await loadConfig();
315
+ const client = getClient(config);
316
+ if (!client) {
317
+ addOutput({ text: ' ✗ Token non configurato', color: '#EF4444' });
318
+ return;
319
+ }
320
+ const siteLink = await loadSiteLink(process.cwd());
321
+ const filters = { limit: 10, sort: '-created_at' };
322
+ if (siteLink)
323
+ filters.site_id = siteLink.orbit_site_id;
324
+ const result = await client.listInterventions(filters);
325
+ const lines = [{ text: '' }, { text: ' ✦ Interventi', color: '#2563EB', bold: true }, { text: '' }];
326
+ if (result.items.length === 0) {
327
+ lines.push({ text: ' Nessun intervento trovato', dim: true });
328
+ }
329
+ else {
330
+ for (const item of result.items) {
331
+ const id = String(item.id ?? '').slice(0, 8);
332
+ const t = String(item.title ?? '').slice(0, 35).padEnd(35);
333
+ const s = item.status;
334
+ const sIcon = s === 'completed' ? '●' : s === 'in_progress' ? '●' : '●';
335
+ const sColor = s === 'completed' ? '#22C55E' : s === 'in_progress' ? '#EAB308' : '#60A5FA';
336
+ const sLabel = s === 'completed' ? 'completato' : s === 'in_progress' ? 'in corso' : s === 'verified' ? 'verificato' : 'pianificato';
337
+ const date = String(item.created_at ?? '').slice(5, 10);
338
+ const origin = item.origin === 'cli' ? 'CLI' : String(item.origin);
339
+ lines.push({ text: ` ${sIcon} ${id} ${t} ${sLabel.padEnd(12)} ${origin.padEnd(6)} ${date}`, color: sColor });
340
+ }
341
+ lines.push({ text: '' });
342
+ lines.push({ text: ` ${result.total} interventi`, dim: true });
343
+ }
344
+ lines.push({ text: '' });
345
+ addOutput(...lines);
346
+ }
347
+ catch (err) {
348
+ addOutput({ text: ` ✗ ${err instanceof Error ? err.message : String(err)}`, color: '#EF4444' });
349
+ }
350
+ finally {
351
+ setLoading(false);
352
+ }
353
+ return;
354
+ }
355
+ // Get intervention
356
+ if (cmd.startsWith('/get ') || cmd.startsWith('/g ')) {
357
+ const id = raw.split(' ')[1];
358
+ if (!id) {
359
+ addOutput({ text: ' Uso: /get <intervention_id>', dim: true });
164
360
  return;
165
361
  }
166
- if (cmd.startsWith('link ')) {
167
- await cmdLink(raw.split(' ')[1]);
168
- rl.prompt();
362
+ setLoading(true);
363
+ setLoadingText('Caricamento...');
364
+ try {
365
+ const config = await loadConfig();
366
+ const client = getClient(config);
367
+ if (!client) {
368
+ addOutput({ text: ' ✗ Token non configurato', color: '#EF4444' });
369
+ return;
370
+ }
371
+ const item = await client.getIntervention(id);
372
+ addOutput({ text: '' }, { text: ` ✦ ${String(item.title)}`, color: '#2563EB', bold: true }, { text: '' }, { text: ` ID ${String(item.id)}`, color: '#60A5FA' }, { text: ` Stato ${String(item.status)}` }, { text: ` Priorita ${String(item.priority)}` }, { text: ` Origin ${item.origin === 'cli' ? 'CLI' : String(item.origin)}`, color: item.origin === 'cli' ? '#2563EB' : undefined }, ...(item.type_tag ? [{ text: ` Tipo ${String(item.type_tag)}`, color: '#60A5FA' }] : []), { text: ` Creato ${String(item.created_at)}`, dim: true }, { text: '' });
373
+ }
374
+ catch (err) {
375
+ addOutput({ text: ` ✗ ${err instanceof Error ? err.message : String(err)}`, color: '#EF4444' });
376
+ }
377
+ finally {
378
+ setLoading(false);
379
+ }
380
+ return;
381
+ }
382
+ // Login
383
+ if (cmd.startsWith('/login ')) {
384
+ const token = raw.split(' ')[1];
385
+ if (!token?.startsWith('orbit_mcp_')) {
386
+ addOutput({ text: ' Uso: /login orbit_mcp_xxx', dim: true });
169
387
  return;
170
388
  }
171
- console.log(`\n ${DIM('Comando non riconosciuto:')} ${WHITE(cmd)} ${DIM('— digita')} ${WHITE('help')}\n`);
172
- rl.prompt();
173
- });
174
- }); // close Promise
175
- }
176
- function showHelp() {
177
- console.log('');
178
- console.log(` ${sparkle} ${BB('Comandi disponibili')}`);
179
- console.log('');
180
- console.log(` ${WHITE('status')} ${DIM('s')} ${DIM('panoramica completa')}`);
181
- console.log(` ${WHITE('doctor')} ${DIM('doc')} ${DIM('verifica configurazione')}`);
182
- console.log(` ${WHITE('session start')} ${DIM('ss')} ${DIM('avvia sessione di lavoro')}`);
183
- console.log(` ${WHITE('session end')} ${DIM('se')} ${DIM('chiudi sessione')}`);
184
- console.log(` ${WHITE('session')} ${DIM('info sessione attiva')}`);
185
- console.log(` ${WHITE('note')} ${BL('<testo>')} ${DIM('aggiungi nota alla sessione')}`);
186
- console.log(` ${WHITE('report')} ${DIM('r')} ${DIM('invia report a Orbit')}`);
187
- console.log(` ${WHITE('list')} ${DIM('ls')} ${DIM('lista interventi')}`);
188
- console.log(` ${WHITE('get')} ${BL('<id>')} ${DIM('dettaglio intervento')}`);
189
- console.log(` ${WHITE('login')} ${BL('<token>')} ${DIM('configura token')}`);
190
- console.log(` ${WHITE('link')} ${BL('<site_id>')} ${DIM('collega directory a sito')}`);
191
- console.log(` ${WHITE('clear')} ${DIM('pulisci schermo')}`);
192
- console.log(` ${WHITE('exit')} ${DIM('q')} ${DIM('esci')}`);
193
- console.log('');
194
- }
195
- async function cmdStatus() {
196
- const config = await loadConfig();
197
- const client = getClient(config);
198
- console.log('');
199
- console.log(` ${sparkle} ${BB('Stato')}`);
200
- console.log('');
201
- if (!client) {
202
- console.log(` ${chalk.red('✗')} ${WHITE('Token')} ${DIM('non configurato')}`);
203
- console.log(` ${DIM('Esegui: login <token>')}`);
204
- console.log('');
205
- return;
206
- }
207
- const tokenEntry = config.tokens[config.default_site];
208
- const spinner = ora({ text: 'Verifica connessione...', color: 'blue', indent: 5 }).start();
209
- const v = await client.validateToken();
210
- if (!v.valid) {
211
- spinner.fail(`API: ${v.error}`);
212
- console.log('');
213
- return;
214
- }
215
- spinner.stop();
216
- console.log(` ${GREEN('✓')} ${WHITE('Token')} ${DIM(tokenEntry.token.slice(0, 15) + '...')}`);
217
- console.log(` ${GREEN('✓')} ${WHITE('API')} ${GREEN('raggiungibile')}`);
218
- const siteLink = await loadSiteLink(process.cwd());
219
- if (siteLink) {
220
- console.log(` ${GREEN('✓')} ${WHITE('Sito')} ${BL(siteLink.final_url ?? siteLink.orbit_site_id)}`);
221
- }
222
- const session = siteLink ? await loadActiveSession(siteLink.orbit_site_id) : null;
223
- if (session) {
224
- const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
225
- console.log(` ${GREEN('✓')} ${WHITE('Sessione')} ${GREEN('attiva')} ${DIM(`${elapsed}min · ${session.notes.length} note`)}`);
226
- }
227
- try {
228
- const stats = await client.getStats();
229
- const total = stats.total_interventions ?? 0;
230
- const by = stats.by_status ?? {};
231
- console.log('');
232
- console.log(` ${BL(String(total))} interventi totali`);
233
- const parts = [];
234
- if (by.completed)
235
- parts.push(GREEN(`${by.completed} completati`));
236
- if (by.in_progress)
237
- parts.push(YELLOW(`${by.in_progress} in corso`));
238
- if (by.scheduled)
239
- parts.push(BL(`${by.scheduled} pianificati`));
240
- if (parts.length)
241
- console.log(` ${parts.join(DIM(' · '))}`);
242
- }
243
- catch { }
244
- console.log('');
245
- }
246
- async function cmdDoctor() {
247
- const config = await loadConfig();
248
- console.log('');
249
- console.log(` ${sparkle} ${BB('Diagnostica')}`);
250
- console.log('');
251
- const t = config.default_site ? config.tokens[config.default_site] : undefined;
252
- console.log(` ${t ? GREEN('✓') : YELLOW('!')} ${WHITE('Token')} ${t ? DIM(t.token.slice(0, 15) + '...') : DIM('non configurato')}`);
253
- if (t) {
254
- const c = new OrbitClient(t.token, config.api_url);
255
- const start = Date.now();
256
- const v = await c.validateToken();
257
- const ms = Date.now() - start;
258
- console.log(` ${v.valid ? GREEN('✓') : chalk.red('✗')} ${WHITE('API')} ${v.valid ? `${GREEN('raggiungibile')} ${DIM(`(${ms}ms)`)}` : DIM(v.error ?? 'errore')}`);
259
- }
260
- const site = await loadSiteLink(process.cwd());
261
- console.log(` ${site ? GREEN('✓') : YELLOW('!')} ${WHITE('Sito')} ${site ? `${BL('.orbit.json')} ${DIM('presente')}` : DIM('non collegato')}`);
262
- const branch = await getGitBranch();
263
- console.log(` ${branch ? GREEN('✓') : YELLOW('!')} ${WHITE('Git')} ${branch ? BL(branch) : DIM('nessun repository')}`);
264
- console.log('');
265
- const allOk = !!(t && site && branch);
266
- console.log(` ${allOk ? GREEN.bold('✓ Tutto ok') : YELLOW('! Attenzione')} ${DIM(allOk ? '— pronto per lavorare' : '— vedi sopra')}`);
267
- console.log('');
268
- }
269
- async function cmdSessionStart() {
270
- const siteLink = await loadSiteLink(process.cwd());
271
- if (!siteLink) {
272
- console.log(`\n ${chalk.red('✗')} ${DIM('Nessun sito collegato. Esegui: link <site_id>')}\n`);
273
- return;
274
- }
275
- const existing = await loadActiveSession(siteLink.orbit_site_id);
276
- if (existing) {
277
- console.log(`\n ${YELLOW('!')} ${DIM(`Sessione gia attiva (${existing.id}). Chiudi con: session end`)}\n`);
278
- return;
279
- }
280
- const branch = await getGitBranch();
281
- const commit = await getGitCommitHead();
282
- const s = await createSession(siteLink.orbit_site_id, { git_branch: branch ?? undefined, git_commit: commit ?? undefined });
283
- console.log('');
284
- console.log(` ${sparkle} ${BB('Sessione avviata')}`);
285
- console.log('');
286
- console.log(` ${DIM('ID')} ${BL(s.id)}`);
287
- if (branch)
288
- console.log(` ${DIM('Branch')} ${WHITE(branch)}`);
289
- if (commit)
290
- console.log(` ${DIM('Commit')} ${BL(commit)}`);
291
- console.log(` ${DIM('Inizio')} ${WHITE(new Date().toLocaleTimeString('it-IT', { hour: '2-digit', minute: '2-digit' }))}`);
292
- console.log('');
293
- }
294
- async function cmdSessionEnd() {
295
- const siteLink = await loadSiteLink(process.cwd());
296
- if (!siteLink) {
297
- console.log(`\n ${chalk.red('✗')} ${DIM('Nessun sito collegato')}\n`);
298
- return;
299
- }
300
- const session = await loadActiveSession(siteLink.orbit_site_id);
301
- if (!session) {
302
- console.log(`\n ${DIM('Nessuna sessione attiva. Avvia con: session start')}\n`);
303
- return;
304
- }
305
- const commitEnd = await getGitCommitHead();
306
- await endSession(session.id, { git_commit_end: commitEnd ?? undefined });
307
- const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
308
- console.log('');
309
- console.log(` ${GREEN('✓')} ${GREEN.bold('Sessione chiusa')} ${DIM(`(${elapsed}min · ${session.notes.length} note)`)}`);
310
- console.log(` ${DIM('Invia il report con: report')}`);
311
- console.log('');
312
- }
313
- async function cmdSessionInfo() {
314
- const siteLink = await loadSiteLink(process.cwd());
315
- if (!siteLink) {
316
- console.log(`\n ${DIM('Nessun sito collegato')}\n`);
317
- return;
318
- }
319
- const session = await loadActiveSession(siteLink.orbit_site_id);
320
- if (!session) {
321
- console.log(`\n ${DIM('Nessuna sessione attiva')}\n`);
322
- return;
323
- }
324
- const elapsed = Math.round((Date.now() - new Date(session.started_at).getTime()) / 60_000);
325
- console.log('');
326
- console.log(` ${sparkle} ${BB('Sessione attiva')}`);
327
- console.log('');
328
- console.log(` ${DIM('ID')} ${BL(session.id)}`);
329
- console.log(` ${DIM('Durata')} ${WHITE(`${elapsed} min`)}`);
330
- if (session.git_branch)
331
- console.log(` ${DIM('Branch')} ${BL(session.git_branch)}`);
332
- console.log(` ${DIM('Note')} ${WHITE(String(session.notes.length))}`);
333
- for (const note of session.notes.slice(-5)) {
334
- console.log(` ${DIM('·')} ${WHITE(note.text)}`);
335
- }
336
- console.log('');
337
- }
338
- async function cmdNoteAdd(text) {
339
- const siteLink = await loadSiteLink(process.cwd());
340
- if (!siteLink) {
341
- console.log(`\n ${chalk.red('✗')} ${DIM('Nessun sito collegato')}\n`);
342
- return;
343
- }
344
- const session = await loadActiveSession(siteLink.orbit_site_id);
345
- if (!session) {
346
- console.log(`\n ${DIM('Nessuna sessione attiva. Avvia con: session start')}\n`);
347
- return;
348
- }
349
- await addNote(session.id, text, 'medium');
350
- console.log('');
351
- console.log(` ${GREEN('✓')} ${GREEN.bold('Nota aggiunta')} ${DIM(`(${session.notes.length + 1} totali)`)}`);
352
- console.log(` ${B('│')} ${WHITE(text)}`);
353
- console.log('');
354
- }
355
- async function cmdReport() {
356
- const config = await loadConfig();
357
- const client = getClient(config);
358
- if (!client) {
359
- console.log(`\n ${chalk.red('✗')} ${DIM('Token non configurato. Esegui: login <token>')}\n`);
360
- return;
361
- }
362
- const siteLink = await loadSiteLink(process.cwd());
363
- if (!siteLink) {
364
- console.log(`\n ${chalk.red('✗')} ${DIM('Nessun sito collegato')}\n`);
365
- return;
366
- }
367
- let session = await loadActiveSession(siteLink.orbit_site_id);
368
- const commitEnd = await getGitCommitHead();
369
- let filesChanged = 0;
370
- if (session?.git_commit_start && commitEnd) {
371
- const diff = await getGitDiffStat(session.git_commit_start, commitEnd);
372
- filesChanged = diff.files_changed;
373
- }
374
- if (session && session.status === 'active') {
375
- session = await endSession(session.id, { git_commit_end: commitEnd ?? undefined });
376
- }
377
- const payload = buildReportPayload({
378
- session: session ?? { id: 'no-session', site_id: siteLink.orbit_site_id, started_at: new Date().toISOString(), notes: [], status: 'completed' },
379
- git_commit_end: commitEnd ?? undefined,
380
- files_changed: filesChanged,
381
- });
382
- payload.site_id = siteLink.orbit_site_id;
383
- const spinner = ora({ text: 'Invio report a Orbit...', color: 'blue', indent: 2 }).start();
384
- try {
385
- const result = await client.createIntervention(payload);
386
- spinner.succeed(`${GREEN.bold('Report inviato')} ${DIM(String(result.id).slice(0, 8))}`);
387
- }
388
- catch (err) {
389
- spinner.fail(`Invio fallito: ${err instanceof Error ? err.message : String(err)}`);
390
- }
391
- console.log('');
392
- }
393
- async function cmdList() {
394
- const config = await loadConfig();
395
- const client = getClient(config);
396
- if (!client) {
397
- console.log(`\n ${chalk.red('✗')} ${DIM('Token non configurato')}\n`);
398
- return;
399
- }
400
- const siteLink = await loadSiteLink(process.cwd());
401
- const filters = { limit: 10, sort: '-created_at' };
402
- if (siteLink)
403
- filters.site_id = siteLink.orbit_site_id;
404
- const spinner = ora({ text: 'Caricamento...', color: 'blue', indent: 2 }).start();
405
- try {
406
- const result = await client.listInterventions(filters);
407
- spinner.stop();
408
- console.log('');
409
- console.log(` ${sparkle} ${BB('Interventi')}`);
410
- console.log('');
411
- if (result.items.length === 0) {
412
- console.log(` ${DIM('Nessun intervento trovato')}`);
389
+ setLoading(true);
390
+ setLoadingText('Validazione token...');
391
+ try {
392
+ const client = new OrbitClient(token, 'https://api.orbit.principi.it');
393
+ const v = await client.validateToken();
394
+ if (v.valid) {
395
+ const { setToken } = await import('./config.js');
396
+ await setToken('default', { token, label: 'default', site_id: 'default', created_at: new Date().toISOString() });
397
+ addOutput({ text: '' }, { text: ' ✓ Autenticazione riuscita', color: '#22C55E', bold: true }, { text: '' });
398
+ }
399
+ else {
400
+ addOutput({ text: ` ✗ Token non valido: ${v.error}`, color: '#EF4444' });
401
+ }
402
+ }
403
+ finally {
404
+ setLoading(false);
405
+ }
406
+ return;
413
407
  }
414
- else {
415
- for (const item of result.items) {
416
- const id = DIM(String(item.id ?? '').slice(0, 8));
417
- const t = WHITE(String(item.title ?? '').slice(0, 35).padEnd(35));
418
- const s = item.status;
419
- const sIcon = s === 'completed' ? GREEN('●') : s === 'in_progress' ? YELLOW('●') : s === 'verified' ? B('●') : BL('●');
420
- const sLabel = s === 'completed' ? GREEN('completato') : s === 'in_progress' ? YELLOW('in corso') : s === 'verified' ? B('verificato') : BL('pianificato');
421
- const date = DIM(String(item.created_at ?? '').slice(5, 10));
422
- const origin = item.origin === 'cli' ? B('CLI') : DIM(String(item.origin));
423
- console.log(` ${sIcon} ${id} ${t} ${sLabel.padEnd(22)} ${origin.padEnd(10)} ${date}`);
408
+ // Link
409
+ if (cmd.startsWith('/link ')) {
410
+ const siteId = raw.split(' ')[1];
411
+ if (!siteId) {
412
+ addOutput({ text: ' Uso: /link <site_id>', dim: true });
413
+ return;
424
414
  }
425
- console.log('');
426
- console.log(` ${DIM(`${result.total} interventi`)}`);
415
+ const { saveSiteLink, detectPlatform } = await import('./site.js');
416
+ const platform = await detectPlatform(process.cwd());
417
+ await saveSiteLink(process.cwd(), { orbit_site_id: siteId, platform });
418
+ addOutput({ text: '' }, { text: ` ✓ Sito collegato (${platform})`, color: '#22C55E', bold: true }, { text: '' });
419
+ return;
427
420
  }
428
- }
429
- catch (err) {
430
- spinner.fail(err instanceof Error ? err.message : String(err));
431
- }
432
- console.log('');
433
- }
434
- async function cmdGet(id) {
435
- if (!id) {
436
- console.log(`\n ${DIM('Uso: get <intervention_id>')}\n`);
437
- return;
438
- }
439
- const config = await loadConfig();
440
- const client = getClient(config);
441
- if (!client) {
442
- console.log(`\n ${chalk.red('✗')} ${DIM('Token non configurato')}\n`);
443
- return;
444
- }
445
- const spinner = ora({ text: 'Caricamento...', color: 'blue', indent: 2 }).start();
446
- try {
447
- const item = await client.getIntervention(id);
448
- spinner.stop();
449
- console.log('');
450
- console.log(` ${sparkle} ${BB(String(item.title))}`);
451
- console.log('');
452
- console.log(` ${DIM('ID')} ${BL(String(item.id))}`);
453
- console.log(` ${DIM('Stato')} ${WHITE(String(item.status))}`);
454
- console.log(` ${DIM('Priorita')} ${WHITE(String(item.priority))}`);
455
- console.log(` ${DIM('Origin')} ${item.origin === 'cli' ? B('CLI') : DIM(String(item.origin))}`);
456
- if (item.type_tag)
457
- console.log(` ${DIM('Tipo')} ${BL(String(item.type_tag))}`);
458
- console.log(` ${DIM('Creato')} ${DIM(String(item.created_at))}`);
459
- if (item.description) {
460
- console.log('');
461
- console.log(` ${DIM(String(item.description).slice(0, 300))}`);
421
+ // Unknown command
422
+ if (cmd.startsWith('/')) {
423
+ addOutput({ text: '' }, { text: ` Comando sconosciuto: ${cmd} — digita /help`, dim: true }, { text: '' });
424
+ return;
462
425
  }
463
- }
464
- catch (err) {
465
- spinner.fail(err instanceof Error ? err.message : String(err));
466
- }
467
- console.log('');
426
+ // Free text (future: LLM integration)
427
+ addOutput({ text: '' }, { text: ` ${raw}`, dim: true }, { text: ' Input libero sara supportato con integrazione LLM.', dim: true }, { text: ' Per ora usa /help per i comandi disponibili.', dim: true }, { text: '' });
428
+ };
429
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsx(Header, { version: version }), _jsx(Text, { children: orbitGrad(' ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━') }), _jsx(StatusBar, {}), _jsx(Text, { children: orbitGrad(' ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━') }), _jsx(Text, { dimColor: true, children: " Digita /help per la lista comandi." }), _jsx(Text, { children: '' }), _jsx(OutputArea, { lines: output }), loading ? (_jsxs(Box, { children: [_jsx(Text, { children: " " }), _jsx(Text, { color: "#2563EB", children: _jsx(Spinner, { type: "dots" }) }), _jsxs(Text, { children: [" ", loadingText] })] })) : (_jsxs(Box, { children: [_jsx(Text, { color: "#2563EB", bold: true, children: " orbit" }), _jsx(Text, { dimColor: true, children: " \u203A " }), _jsx(TextInput, { value: input, onChange: setInput, onSubmit: handleSubmit })] }))] }));
468
430
  }
469
- async function cmdLogin(token) {
470
- if (!token || !token.startsWith('orbit_mcp_')) {
471
- console.log(`\n ${DIM('Uso: login orbit_mcp_xxx')}\n`);
472
- return;
473
- }
474
- const spinner = ora({ text: 'Validazione...', color: 'blue', indent: 2 }).start();
475
- const client = new OrbitClient(token, 'https://api.orbit.principi.it');
476
- const v = await client.validateToken();
477
- if (v.valid) {
478
- const { setToken } = await import('./config.js');
479
- await setToken('default', { token, label: 'default', site_id: 'default', created_at: new Date().toISOString() });
480
- spinner.succeed(`${GREEN.bold('Autenticazione riuscita')}`);
481
- }
482
- else {
483
- spinner.fail(`Token non valido: ${v.error}`);
484
- }
485
- console.log('');
431
+ function getClient(config) {
432
+ const t = config.default_site ? config.tokens[config.default_site] : undefined;
433
+ if (!t)
434
+ return null;
435
+ return new OrbitClient(t.token, config.api_url);
486
436
  }
487
- async function cmdLink(siteId) {
488
- if (!siteId) {
489
- console.log(`\n ${DIM('Uso: link <site_id>')}\n`);
490
- return;
491
- }
492
- const { saveSiteLink, detectPlatform } = await import('./site.js');
493
- const platform = await detectPlatform(process.cwd());
494
- await saveSiteLink(process.cwd(), { orbit_site_id: siteId, platform });
495
- console.log(`\n ${GREEN('✓')} ${GREEN.bold('Sito collegato')} ${DIM(`(${platform})`)}\n`);
437
+ export async function startShell(version) {
438
+ const { waitUntilExit } = render(_jsx(Shell, { version: version }));
439
+ await waitUntilExit();
496
440
  }
497
441
  //# 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.tsx"],"names":[],"mappings":";AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1D,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,OAAO,MAAM,aAAa,CAAC;AAClC,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AACvC,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EACL,iBAAiB,EAAE,aAAa,EAAE,OAAO,EAAE,UAAU,GACtD,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAEzD,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC;AAEzE,MAAM,SAAS,GAAG;IAChB,yCAAyC;IACzC,yCAAyC;IACzC,yCAAyC;IACzC,yCAAyC;IACzC,yCAAyC;IACzC,yCAAyC;CAC1C,CAAC;AAaF,SAAS,MAAM,CAAC,EAAE,OAAO,EAAuB;IAC9C,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACxC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAC1B,KAAC,IAAI,cAAU,SAAS,CAAC,IAAI,CAAC,IAAnB,CAAC,CAA0B,CACvC,CAAC,EACF,KAAC,IAAI,cAAE,EAAE,GAAQ,EACjB,MAAC,IAAI,eACH,KAAC,IAAI,IAAC,eAAe,EAAC,SAAS,EAAC,KAAK,EAAC,OAAO,EAAC,IAAI,kBAAE,OAAO,GAAQ,EACnE,KAAC,IAAI,IAAC,eAAe,EAAC,SAAS,EAAC,KAAK,EAAC,SAAS,YAAE,KAAK,OAAO,GAAG,GAAQ,EACxE,KAAC,IAAI,IAAC,QAAQ,+BAAW,EACzB,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,gDAAuC,IACvD,IACH,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS;IAChB,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAEnD,SAAS,CAAC,GAAG,EAAE;QACb,CAAC,KAAK,IAAI,EAAE;YACV,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;YAClC,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACxF,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnD,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAElF,MAAM,KAAK,GAAa,EAAE,CAAC;YAC3B,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC;YACzD,IAAI,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;YACpF,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;gBAC3F,KAAK,CAAC,IAAI,CAAC,cAAc,OAAO,KAAK,CAAC,CAAC;gBACvC,IAAI,OAAO,CAAC,UAAU;oBAAE,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YACzD,CAAC;YACD,SAAS,CAAC,KAAK,CAAC,CAAC;QACnB,CAAC,CAAC,EAAE,CAAC;IACP,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IAErC,OAAO,CACL,MAAC,GAAG,IAAC,YAAY,EAAE,CAAC,aAClB,KAAC,IAAI,qBAAU,EACd,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CACpB,MAAC,KAAK,CAAC,QAAQ,eACZ,CAAC,GAAG,CAAC,IAAI,KAAC,IAAI,IAAC,QAAQ,iCAAa,EACrC,KAAC,IAAI,IAAC,KAAK,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,YAAG,CAAC,GAAQ,KAF/E,CAAC,CAGL,CAClB,CAAC,IACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CAAC,EAAE,KAAK,EAA2B;IACpD,OAAO,CACL,KAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,YACxB,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,KAAC,IAAI,IAEH,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,QAAQ,EAAE,IAAI,CAAC,GAAG,EAClB,IAAI,EAAE,IAAI,CAAC,IAAI,YAEd,IAAI,CAAC,IAAI,IALL,CAAC,CAMD,CACR,CAAC,GACE,CACP,CAAC;AACJ,CAAC;AAED,SAAS,KAAK,CAAC,EAAE,OAAO,EAAc;IACpC,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,EAAE,CAAC;IAC1B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAe,EAAE,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IACnD,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAW,EAAE,CAAC,CAAC;IAErD,MAAM,SAAS,GAAG,CAAC,GAAG,KAAmB,EAAE,EAAE;QAC3C,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,KAAK,CAAC,CAAC,CAAC;IACzC,CAAC,CAAC;IAEF,MAAM,WAAW,GAAG,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAExC,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC1F,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,YAAY,GAAG,KAAK,EAAE,KAAa,EAAE,EAAE;QAC3C,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;QACzB,QAAQ,CAAC,EAAE,CAAC,CAAC;QAEb,IAAI,CAAC,GAAG;YAAE,OAAO;QAEjB,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAEnC,MAAM,GAAG,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAE9B,OAAO;QACP,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACvD,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC/E,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9B,OAAO;QACT,CAAC;QAED,QAAQ;QACR,IAAI,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACvC,WAAW,EAAE,CAAC;YACd,OAAO;QACT,CAAC;QAED,cAAc;QACd,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACvE,SAAS,CACP,EAAE,IAAI,EAAE,EAAE,EAAE,EACZ,EAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EACjE,EAAE,IAAI,EAAE,EAAE,EAAE,EACZ,EAAE,IAAI,EAAE,iDAAiD,EAAE,GAAG,EAAE,KAAK,EAAE,EACvE,EAAE,IAAI,EAAE,qDAAqD,EAAE,GAAG,EAAE,KAAK,EAAE,EAC3E,EAAE,IAAI,EAAE,sDAAsD,EAAE,GAAG,EAAE,KAAK,EAAE,EAC5E,EAAE,IAAI,EAAE,6CAA6C,EAAE,GAAG,EAAE,KAAK,EAAE,EACnE,EAAE,IAAI,EAAE,iDAAiD,EAAE,GAAG,EAAE,KAAK,EAAE,EACvE,EAAE,IAAI,EAAE,2CAA2C,EAAE,GAAG,EAAE,KAAK,EAAE,EACjE,EAAE,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,KAAK,EAAE,EACxE,EAAE,IAAI,EAAE,8CAA8C,EAAE,GAAG,EAAE,KAAK,EAAE,EACpE,EAAE,IAAI,EAAE,kDAAkD,EAAE,GAAG,EAAE,KAAK,EAAE,EACxE,EAAE,IAAI,EAAE,6CAA6C,EAAE,GAAG,EAAE,KAAK,EAAE,EACnE,EAAE,IAAI,EAAE,+CAA+C,EAAE,GAAG,EAAE,KAAK,EAAE,EACrE,EAAE,IAAI,EAAE,6CAA6C,EAAE,GAAG,EAAE,KAAK,EAAE,EACnE,EAAE,IAAI,EAAE,kCAAkC,EAAE,GAAG,EAAE,KAAK,EAAE,EACxD,EAAE,IAAI,EAAE,EAAE,EAAE,CACb,CAAC;YACF,OAAO;QACT,CAAC;QAED,SAAS;QACT,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,cAAc,CAAC,sBAAsB,CAAC,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBAEjC,MAAM,KAAK,GAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAE9G,IAAI,CAAC,MAAM,EAAE,CAAC;oBACZ,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,8BAA8B,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBACvE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBACnE,CAAC;qBAAM,CAAC;oBACN,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAa,CAAC,CAAC;oBAC9C,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;oBACvC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;oBACjH,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;oBAE7H,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;oBACnD,IAAI,QAAQ;wBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,yBAAyB,QAAQ,CAAC,SAAS,IAAI,QAAQ,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAE9H,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;oBAClF,IAAI,OAAO,EAAE,CAAC;wBACZ,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;wBAC3F,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,iCAAiC,OAAO,SAAS,OAAO,CAAC,KAAK,CAAC,MAAM,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBACxH,CAAC;oBAED,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;wBACZ,IAAI,CAAC;4BACH,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;4BACtC,MAAM,KAAK,GAAG,KAAK,CAAC,mBAA6B,IAAI,CAAC,CAAC;4BACvD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;4BACzB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,KAAK,oBAAoB,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;wBAC5E,CAAC;wBAAC,MAAM,CAAC,CAAA,CAAC;oBACZ,CAAC;gBACH,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzB,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC;YACtB,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,SAAS;QACT,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACxC,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;gBAClC,MAAM,KAAK,GAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,iBAAiB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAEpH,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC/E,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,iBAAiB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAEvJ,IAAI,CAAC,EAAE,CAAC;oBACN,MAAM,CAAC,GAAG,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;oBACnD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;oBACzB,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,aAAa,EAAE,CAAC;oBAClC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,kBAAkB,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAC9K,CAAC;gBAED,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBAC/C,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,mBAAmB,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,CAAC,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAExJ,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;gBACpC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,mBAAmB,MAAM,IAAI,mBAAmB,EAAE,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;gBAE1I,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,MAAM,CAAC,CAAC;gBACtC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,oCAAoC,CAAC,CAAC,CAAC,6BAA6B,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrJ,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzB,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC;YACtB,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,gBAAgB;QAChB,IAAI,GAAG,KAAK,gBAAgB,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAC9C,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,cAAc,CAAC,mBAAmB,CAAC,CAAC;YACpC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,oDAAoD,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAEnJ,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBACjE,IAAI,QAAQ,EAAE,CAAC;oBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B,QAAQ,CAAC,EAAE,6BAA6B,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAElK,MAAM,MAAM,GAAG,MAAM,YAAY,EAAE,CAAC;gBACpC,MAAM,MAAM,GAAG,MAAM,gBAAgB,EAAE,CAAC;gBACxC,MAAM,CAAC,GAAG,MAAM,aAAa,CAAC,QAAQ,CAAC,aAAa,EAAE,EAAE,UAAU,EAAE,MAAM,IAAI,SAAS,EAAE,UAAU,EAAE,MAAM,IAAI,SAAS,EAAE,CAAC,CAAC;gBAE5H,SAAS,CACP,EAAE,IAAI,EAAE,EAAE,EAAE,EACZ,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAC9D,EAAE,IAAI,EAAE,EAAE,EAAE,EACZ,EAAE,IAAI,EAAE,mBAAmB,CAAC,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EACrD,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC1D,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC5E,EAAE,IAAI,EAAE,mBAAmB,IAAI,IAAI,EAAE,CAAC,kBAAkB,CAAC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,EAC7G,EAAE,IAAI,EAAE,EAAE,EAAE,CACb,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,cAAc;QACd,IAAI,GAAG,KAAK,cAAc,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;YAC5C,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,cAAc,CAAC,sBAAsB,CAAC,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC9F,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAChE,IAAI,CAAC,OAAO,EAAE,CAAC;oBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAEtF,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;gBAC3C,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;gBACzE,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;gBAE3F,SAAS,CACP,EAAE,IAAI,EAAE,EAAE,EAAE,EACZ,EAAE,IAAI,EAAE,wBAAwB,OAAO,SAAS,OAAO,CAAC,KAAK,CAAC,MAAM,QAAQ,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAC5G,EAAE,IAAI,EAAE,kCAAkC,EAAE,GAAG,EAAE,IAAI,EAAE,EACvD,EAAE,IAAI,EAAE,EAAE,EAAE,CACb,CAAC;YACJ,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,eAAe;QACf,IAAI,GAAG,KAAK,UAAU,IAAI,GAAG,KAAK,eAAe,EAAE,CAAC;YAClD,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,yBAAyB,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACrF,MAAM,OAAO,GAAG,QAAQ,CAAC,CAAC,CAAC,MAAM,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;YAClF,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAEtF,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,MAAM,CAAC,CAAC;YAC3F,MAAM,KAAK,GAAiB;gBAC1B,EAAE,IAAI,EAAE,EAAE,EAAE;gBACZ,EAAE,IAAI,EAAE,qBAAqB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE;gBAC7D,EAAE,IAAI,EAAE,EAAE,EAAE;gBACZ,EAAE,IAAI,EAAE,mBAAmB,OAAO,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE;gBAC3D,EAAE,IAAI,EAAE,mBAAmB,OAAO,MAAM,EAAE;aAC3C,CAAC;YACF,IAAI,OAAO,CAAC,UAAU;gBAAE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,OAAO,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACxG,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,mBAAmB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YAChE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxC,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAC3C,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YACzB,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC;YACpB,OAAO;QACT,CAAC;QAED,OAAO;QACP,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACtD,MAAM,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;YAC7C,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAC9F,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;YAChE,IAAI,CAAC,OAAO,EAAE,CAAC;gBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,2CAA2C,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACtG,MAAM,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAC1C,SAAS,CACP,EAAE,IAAI,EAAE,EAAE,EAAE,EACZ,EAAE,IAAI,EAAE,sBAAsB,OAAO,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,UAAU,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAChG,EAAE,IAAI,EAAE,UAAU,IAAI,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAC5C,EAAE,IAAI,EAAE,EAAE,EAAE,CACb,CAAC;YACF,OAAO;QACT,CAAC;QAED,SAAS;QACT,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACtC,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,cAAc,CAAC,yBAAyB,CAAC,CAAC;YAC1C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC5F,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAE9F,IAAI,OAAO,GAAG,MAAM,iBAAiB,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAC9D,MAAM,SAAS,GAAG,MAAM,gBAAgB,EAAE,CAAC;gBAC3C,IAAI,YAAY,GAAG,CAAC,CAAC;gBACrB,IAAI,OAAO,EAAE,gBAAgB,IAAI,SAAS,EAAE,CAAC;oBAC3C,MAAM,IAAI,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;oBACvE,YAAY,GAAG,IAAI,CAAC,aAAa,CAAC;gBACpC,CAAC;gBACD,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,QAAQ,EAAE,CAAC;oBAC3C,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,EAAE,cAAc,EAAE,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;gBACrF,CAAC;gBAED,MAAM,OAAO,GAAG,kBAAkB,CAAC;oBACjC,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,CAAC,aAAa,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE;oBAC/I,cAAc,EAAE,SAAS,IAAI,SAAS,EAAE,aAAa,EAAE,YAAY;iBACpE,CAAC,CAAC;gBACH,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;gBAEzC,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACxD,SAAS,CACP,EAAE,IAAI,EAAE,EAAE,EAAE,EACZ,EAAE,IAAI,EAAE,sBAAsB,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAC7F,EAAE,IAAI,EAAE,EAAE,EAAE,CACb,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,CAAC,EAAE,IAAI,EAAE,sBAAsB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YAClH,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,qBAAqB;QACrB,IAAI,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,KAAK,IAAI,GAAG,KAAK,gBAAgB,EAAE,CAAC;YACjE,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,cAAc,CAAC,2BAA2B,CAAC,CAAC;YAC5C,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC5F,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;gBACnD,MAAM,OAAO,GAAoC,EAAE,KAAK,EAAE,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;gBACpF,IAAI,QAAQ;oBAAE,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,aAAa,CAAC;gBAEvD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;gBACvD,MAAM,KAAK,GAAiB,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,gBAAgB,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAEnH,IAAI,MAAM,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;oBAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,gCAAgC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBACpE,CAAC;qBAAM,CAAC;oBACN,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;wBAChC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;wBAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAC3D,MAAM,CAAC,GAAG,IAAI,CAAC,MAAgB,CAAC;wBAChC,MAAM,KAAK,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;wBACxE,MAAM,MAAM,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;wBAC3F,MAAM,MAAM,GAAG,CAAC,KAAK,WAAW,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,KAAK,UAAU,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC;wBACrI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBACxD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBACnE,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,KAAK,IAAI,EAAE,KAAK,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;oBACvH,CAAC;oBACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;oBACzB,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,MAAM,CAAC,KAAK,aAAa,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBACrE,CAAC;gBACD,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBACzB,SAAS,CAAC,GAAG,KAAK,CAAC,CAAC;YACtB,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACnG,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,mBAAmB;QACnB,IAAI,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;YACrD,MAAM,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAC7B,IAAI,CAAC,EAAE,EAAE,CAAC;gBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,+BAA+B,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YACrF,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,cAAc,CAAC,gBAAgB,CAAC,CAAC;YACjC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,UAAU,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,CAAC,MAAM,EAAE,CAAC;oBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,2BAA2B,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;oBAAC,OAAO;gBAAC,CAAC;gBAC5F,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;gBAC9C,SAAS,CACP,EAAE,IAAI,EAAE,EAAE,EAAE,EACZ,EAAE,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EACnE,EAAE,IAAI,EAAE,EAAE,EAAE,EACZ,EAAE,IAAI,EAAE,mBAAmB,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,EAChE,EAAE,IAAI,EAAE,mBAAmB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,EAClD,EAAE,IAAI,EAAE,mBAAmB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,EACpD,EAAE,IAAI,EAAE,mBAAmB,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,KAAK,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,EACxI,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,mBAAmB,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,KAAK,EAAE,SAAmB,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAC5G,EAAE,IAAI,EAAE,mBAAmB,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EACjE,EAAE,IAAI,EAAE,EAAE,EAAE,CACb,CAAC;YACJ,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,SAAS,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;YACnG,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,QAAQ;QACR,IAAI,GAAG,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YAChC,IAAI,CAAC,KAAK,EAAE,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,6BAA6B,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAChH,UAAU,CAAC,IAAI,CAAC,CAAC;YACjB,cAAc,CAAC,sBAAsB,CAAC,CAAC;YACvC,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,IAAI,WAAW,CAAC,KAAK,EAAE,+BAA+B,CAAC,CAAC;gBACvE,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,aAAa,EAAE,CAAC;gBACvC,IAAI,CAAC,CAAC,KAAK,EAAE,CAAC;oBACZ,MAAM,EAAE,QAAQ,EAAE,GAAG,MAAM,MAAM,CAAC,aAAa,CAAC,CAAC;oBACjD,MAAM,QAAQ,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;oBACjH,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;gBAC/G,CAAC;qBAAM,CAAC;oBACN,SAAS,CAAC,EAAE,IAAI,EAAE,yBAAyB,CAAC,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC;gBAC5E,CAAC;YACH,CAAC;oBAAS,CAAC;gBACT,UAAU,CAAC,KAAK,CAAC,CAAC;YACpB,CAAC;YACD,OAAO;QACT,CAAC;QAED,OAAO;QACP,IAAI,GAAG,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACjC,IAAI,CAAC,MAAM,EAAE,CAAC;gBAAC,SAAS,CAAC,EAAE,IAAI,EAAE,wBAAwB,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;gBAAC,OAAO;YAAC,CAAC;YAClF,MAAM,EAAE,YAAY,EAAE,cAAc,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;YACnE,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YACrD,MAAM,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;YACvE,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,uBAAuB,QAAQ,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAClH,OAAO;QACT,CAAC;QAED,kBAAkB;QAClB,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACxB,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,0BAA0B,GAAG,iBAAiB,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;YAC3G,OAAO;QACT,CAAC;QAED,sCAAsC;QACtC,SAAS,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,sDAAsD,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,gDAAgD,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7N,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,aACzB,KAAC,MAAM,IAAC,OAAO,EAAE,OAAO,GAAI,EAC5B,KAAC,IAAI,cAAE,SAAS,CAAC,2DAA2D,CAAC,GAAQ,EACrF,KAAC,SAAS,KAAG,EACb,KAAC,IAAI,cAAE,SAAS,CAAC,2DAA2D,CAAC,GAAQ,EACrF,KAAC,IAAI,IAAC,QAAQ,2DAA4C,EAC1D,KAAC,IAAI,cAAE,EAAE,GAAQ,EAEjB,KAAC,UAAU,IAAC,KAAK,EAAE,MAAM,GAAI,EAE5B,OAAO,CAAC,CAAC,CAAC,CACT,MAAC,GAAG,eACF,KAAC,IAAI,qBAAU,EACf,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,YAAC,KAAC,OAAO,IAAC,IAAI,EAAC,MAAM,GAAG,GAAO,EACpD,MAAC,IAAI,oBAAG,WAAW,IAAQ,IACvB,CACP,CAAC,CAAC,CAAC,CACF,MAAC,GAAG,eACF,KAAC,IAAI,IAAC,KAAK,EAAC,SAAS,EAAC,IAAI,8BAAe,EACzC,KAAC,IAAI,IAAC,QAAQ,+BAAW,EACzB,KAAC,SAAS,IAAC,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,YAAY,GAAI,IACnE,CACP,IACG,CACP,CAAC;AACJ,CAAC;AAED,SAAS,SAAS,CAAC,MAA8C;IAC/D,MAAM,CAAC,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC/E,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,OAAO,IAAI,WAAW,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,OAAe;IAC9C,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,CAAC,KAAC,KAAK,IAAC,OAAO,EAAE,OAAO,GAAI,CAAC,CAAC;IAC9D,MAAM,aAAa,EAAE,CAAC;AACxB,CAAC"}
@@ -544,6 +544,76 @@
544
544
  "update.js"
545
545
  ]
546
546
  },
547
+ "session:end": {
548
+ "aliases": [],
549
+ "args": {},
550
+ "description": "Chiude la sessione attiva, cattura il commit finale\ne mostra un riepilogo del lavoro svolto.",
551
+ "examples": [
552
+ "<%= config.bin %> session end",
553
+ "<%= config.bin %> session end --summary \"Completato refactor homepage\""
554
+ ],
555
+ "flags": {
556
+ "summary": {
557
+ "char": "s",
558
+ "description": "Summary finale del lavoro svolto",
559
+ "name": "summary",
560
+ "hasDynamicHelp": false,
561
+ "multiple": false,
562
+ "type": "option"
563
+ }
564
+ },
565
+ "hasDynamicHelp": false,
566
+ "hiddenAliases": [],
567
+ "id": "session:end",
568
+ "pluginAlias": "@orbitpanel/cli",
569
+ "pluginName": "@orbitpanel/cli",
570
+ "pluginType": "core",
571
+ "strict": true,
572
+ "summary": "Chiude la sessione di lavoro corrente",
573
+ "enableJsonFlag": false,
574
+ "isESM": true,
575
+ "relativePath": [
576
+ "dist",
577
+ "commands",
578
+ "session",
579
+ "end.js"
580
+ ]
581
+ },
582
+ "session:start": {
583
+ "aliases": [],
584
+ "args": {},
585
+ "description": "Avvia una sessione di lavoro collegata al sito Orbit.\nCattura automaticamente branch git e commit corrente.",
586
+ "examples": [
587
+ "<%= config.bin %> session start",
588
+ "<%= config.bin %> session start --note \"Refactor homepage\""
589
+ ],
590
+ "flags": {
591
+ "note": {
592
+ "char": "n",
593
+ "description": "Nota iniziale sulla sessione",
594
+ "name": "note",
595
+ "hasDynamicHelp": false,
596
+ "multiple": false,
597
+ "type": "option"
598
+ }
599
+ },
600
+ "hasDynamicHelp": false,
601
+ "hiddenAliases": [],
602
+ "id": "session:start",
603
+ "pluginAlias": "@orbitpanel/cli",
604
+ "pluginName": "@orbitpanel/cli",
605
+ "pluginType": "core",
606
+ "strict": true,
607
+ "summary": "Inizia una sessione di lavoro locale",
608
+ "enableJsonFlag": false,
609
+ "isESM": true,
610
+ "relativePath": [
611
+ "dist",
612
+ "commands",
613
+ "session",
614
+ "start.js"
615
+ ]
616
+ },
547
617
  "note:add": {
548
618
  "aliases": [],
549
619
  "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": "0.2.3"
752
+ "version": "0.3.0"
753
753
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbitpanel/cli",
3
- "version": "0.2.3",
3
+ "version": "0.3.0",
4
4
  "description": "Orbit CLI — strumento locale per sviluppatori OrbitPanel",
5
5
  "type": "module",
6
6
  "bin": {
@@ -41,13 +41,18 @@
41
41
  "chalk": "^5.4.0",
42
42
  "chalk-animation": "^2.0.3",
43
43
  "gradient-string": "^3.0.0",
44
+ "ink": "^6.8.0",
45
+ "ink-spinner": "^5.0.0",
46
+ "ink-text-input": "^6.0.0",
44
47
  "ora": "^9.3.0",
48
+ "react": "^19.2.4",
45
49
  "terminal-link": "^5.0.0"
46
50
  },
47
51
  "devDependencies": {
48
52
  "@oclif/test": "^4.0.0",
49
53
  "@types/gradient-string": "^1.1.6",
50
54
  "@types/node": "^22.0.0",
55
+ "@types/react": "^19.2.14",
51
56
  "oclif": "^4.0.0",
52
57
  "tsx": "^4.19.0",
53
58
  "typescript": "^5.7.0",