@orbitpanel/cli 1.8.0 → 1.10.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.
Files changed (37) hide show
  1. package/dist/lib/command-router.js +37 -1
  2. package/dist/lib/command-router.js.map +1 -1
  3. package/dist/lib/info-engine.d.ts +34 -24
  4. package/dist/lib/info-engine.js +53 -36
  5. package/dist/lib/info-engine.js.map +1 -1
  6. package/dist/lib/intelligence/agent-prompt.d.ts +28 -0
  7. package/dist/lib/intelligence/agent-prompt.js +155 -0
  8. package/dist/lib/intelligence/agent-prompt.js.map +1 -0
  9. package/dist/lib/intelligence/capability-map.d.ts +53 -0
  10. package/dist/lib/intelligence/capability-map.js +266 -0
  11. package/dist/lib/intelligence/capability-map.js.map +1 -0
  12. package/dist/lib/intelligence/chat-enrichment.d.ts +32 -0
  13. package/dist/lib/intelligence/chat-enrichment.js +130 -0
  14. package/dist/lib/intelligence/chat-enrichment.js.map +1 -0
  15. package/dist/lib/intelligence/context-packet.d.ts +157 -0
  16. package/dist/lib/intelligence/context-packet.js +129 -0
  17. package/dist/lib/intelligence/context-packet.js.map +1 -0
  18. package/dist/lib/intelligence/diagnose-wiring.d.ts +20 -0
  19. package/dist/lib/intelligence/diagnose-wiring.js +157 -0
  20. package/dist/lib/intelligence/diagnose-wiring.js.map +1 -0
  21. package/dist/lib/intelligence/diagnose.d.ts +116 -0
  22. package/dist/lib/intelligence/diagnose.js +312 -0
  23. package/dist/lib/intelligence/diagnose.js.map +1 -0
  24. package/dist/lib/session-summary-format.d.ts +20 -0
  25. package/dist/lib/session-summary-format.js +69 -0
  26. package/dist/lib/session-summary-format.js.map +1 -1
  27. package/dist/lib/shell-commands.d.ts +2 -0
  28. package/dist/lib/shell-commands.js +58 -4
  29. package/dist/lib/shell-commands.js.map +1 -1
  30. package/dist/lib/shell-ink.js +8 -1
  31. package/dist/lib/shell-ink.js.map +1 -1
  32. package/dist/lib/shell-render.js +3 -0
  33. package/dist/lib/shell-render.js.map +1 -1
  34. package/dist/lib/shell.js +8 -1
  35. package/dist/lib/shell.js.map +1 -1
  36. package/oclif.manifest.json +1 -1
  37. package/package.json +1 -1
@@ -20,7 +20,7 @@ import { formatSuggestionList } from './shell-completer.js';
20
20
  import { getUnknownCommandHint } from './shell-hints.js';
21
21
  import { runWithContextGuard, parseForceFlag } from './context-guard.js';
22
22
  import { getNextStep, getWorkflowChecklist } from './info-engine.js';
23
- import { cmdStatus, cmdDoctor, cmdSessionStart, cmdSessionEnd, cmdSessionInfo, cmdNoteAdd, cmdTaskDone, cmdReport, cmdList, cmdGet, cmdHistory, cmdSites, cmdAuth, cmdLogin, cmdLink, cmdUnlink, cmdInit, } from './shell-commands.js';
23
+ import { cmdStatus, cmdDoctor, cmdSessionStart, cmdSessionEnd, cmdSessionInfo, cmdNoteAdd, cmdTaskAdd, cmdDecisionAdd, cmdTaskDone, cmdReport, cmdList, cmdGet, cmdHistory, cmdSites, cmdAuth, cmdLogin, cmdLink, cmdUnlink, cmdInit, } from './shell-commands.js';
24
24
  import { computeSessionStats, formatSummaryOneLiner } from './session-summary-format.js';
25
25
  /** Capture console.log output into a string via callback. */
26
26
  async function captureToOutput(fn, output) {
@@ -112,12 +112,24 @@ export async function routeCommand(ctx) {
112
112
  await captureToOutput(() => cmdNoteAdd(text), ctx.output);
113
113
  return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
114
114
  }
115
+ // Task add
116
+ if (cmd.startsWith('/task add ') || cmd.startsWith('/ta ')) {
117
+ const text = cleanInput.replace(/^\/task add\s+|^\/ta\s+/, '');
118
+ await captureToOutput(() => cmdTaskAdd(text), ctx.output);
119
+ return { handled: true, needsRefresh: true, shouldExit: false, isChat: false };
120
+ }
115
121
  // Task done
116
122
  if (cmd.startsWith('/task done ') || cmd.startsWith('/td ')) {
117
123
  const entryId = cleanInput.split(' ').pop();
118
124
  await captureToOutput(() => cmdTaskDone(entryId), ctx.output);
119
125
  return { handled: true, needsRefresh: true, shouldExit: false, isChat: false };
120
126
  }
127
+ // Decision
128
+ if (cmd.startsWith('/decision ') || cmd.startsWith('/dec ')) {
129
+ const text = cleanInput.replace(/^\/decision\s+|^\/dec\s+/, '');
130
+ await captureToOutput(() => cmdDecisionAdd(text), ctx.output);
131
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
132
+ }
121
133
  // Report (with optional promptConfirm + context guard)
122
134
  if (cmd === '/report' || cmd === '/r') {
123
135
  await runWithContextGuard({
@@ -191,6 +203,27 @@ export async function routeCommand(ctx) {
191
203
  await captureToOutput(() => cmdInit(args), ctx.output);
192
204
  return { handled: true, needsRefresh: true, shouldExit: false, isChat: false };
193
205
  }
206
+ // Diagnose — aggregated diagnostics from intelligence layer
207
+ if (cmd === '/diagnose' || cmd === '/diag') {
208
+ await captureToOutput(async () => {
209
+ try {
210
+ const { runDiagnose } = await import('./intelligence/diagnose.js');
211
+ const { buildDiagnoseInputFromState, buildRealDiagnoseIO, formatDiagnoseOutput } = await import('./intelligence/diagnose-wiring.js');
212
+ const state = ctx.store.getState();
213
+ const input = buildDiagnoseInputFromState(state);
214
+ // Build real IO adapter (uses actual API calls)
215
+ const token = state.tokenEntry?.token ?? '';
216
+ const apiUrl = state.config.api_url;
217
+ const io = buildRealDiagnoseIO(apiUrl, token);
218
+ const report = await runDiagnose(input, io);
219
+ console.log(formatDiagnoseOutput(report));
220
+ }
221
+ catch (err) {
222
+ console.log(`\n ${chalk.red('✗')} Errore durante la diagnostica: ${err instanceof Error ? err.message : 'sconosciuto'}\n`);
223
+ }
224
+ }, ctx.output);
225
+ return { handled: true, needsRefresh: false, shouldExit: false, isChat: false };
226
+ }
194
227
  // Info — operational entry point ("cosa fare adesso?")
195
228
  // ⚠️ Rendering only — decision logic lives in info-engine.ts
196
229
  if (cmd === '/info' || cmd === '/i') {
@@ -201,6 +234,7 @@ export async function routeCommand(ctx) {
201
234
  let tasksDone = 0;
202
235
  let notesTotal = 0;
203
236
  let notesAgent = 0;
237
+ let decisions = 0;
204
238
  let sessionLong = false;
205
239
  if (s.session) {
206
240
  const sessionStats = computeSessionStats(s.session);
@@ -208,6 +242,7 @@ export async function routeCommand(ctx) {
208
242
  tasksDone = sessionStats.tasksDone;
209
243
  notesTotal = sessionStats.notesTotal;
210
244
  notesAgent = sessionStats.notesAgent;
245
+ decisions = sessionStats.decisions;
211
246
  const startMs = new Date(s.session.started_at).getTime();
212
247
  sessionLong = (Date.now() - startMs) > 2 * 60 * 60 * 1000; // >2h
213
248
  }
@@ -224,6 +259,7 @@ export async function routeCommand(ctx) {
224
259
  tasksDone,
225
260
  notesTotal,
226
261
  notesAgent,
262
+ decisions,
227
263
  };
228
264
  // Block 1: Stato sintetico
229
265
  console.log('');
@@ -1 +1 @@
1
- {"version":3,"file":"command-router.js","sourceRoot":"","sources":["../../src/lib/command-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-router.js","sourceRoot":"","sources":["../../src/lib/command-router.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,22 @@
1
1
  /**
2
2
  * SOURCE OF TRUTH — User guidance layer
3
3
  *
4
- * Computes the "what should I do now?" logic:
5
- * - setup level (unconfigured → configured)
6
- * - onboarding steps for first-time users
7
- * - next step recommendation
8
- * - workflow checklist with visual status
9
- * - contextual suggestions (max 2, with reasons)
10
- * - welcome message
4
+ * This module answers "cosa fare adesso e perche'" through 3 distinct layers:
11
5
  *
12
- * PRINCIPLE: Every output answers "cosa fare adesso e perché"
6
+ * LAYER 1 DECISION ENGINE (routing-critical)
7
+ * getSetupLevel() → configuration maturity level
8
+ * getNextStep() → single most important next action
9
+ * getWorkflowChecklist() → ordered workflow with visual status
10
+ * These drive /info output and influence command routing.
11
+ *
12
+ * LAYER 2 — UI HELPERS (rendering-only, no routing impact)
13
+ * getWelcomeMessage() → one-line greeting for Ink + readline shells
14
+ * getContextualSuggestions() → max 2 secondary hints for ShellApp.tsx
15
+ * These enrich the shell UI but do NOT affect what the CLI recommends.
16
+ *
17
+ * LAYER 3 — ONBOARDING HELPERS (first-run only)
18
+ * getOnboardingSteps() → step list for users without site/manifest
19
+ * Consumed by ShellApp.tsx Ink shell for first-time UX.
13
20
  *
14
21
  * NON mettere qui:
15
22
  * - logica di esecuzione comandi → command-router.ts
@@ -35,7 +42,11 @@ export interface InfoState {
35
42
  notesTotal?: number;
36
43
  /** Number of agent-originated notes (MCP + AI) in the session */
37
44
  notesAgent?: number;
45
+ /** Number of decision entries in the session */
46
+ decisions?: number;
38
47
  }
48
+ /** Configuration maturity level */
49
+ export type SetupLevel = 'unconfigured' | 'partially_configured' | 'configured' | 'configured_but_risky';
39
50
  export interface NextStep {
40
51
  cmd: string;
41
52
  reason: string;
@@ -46,16 +57,6 @@ export interface WorkflowStep {
46
57
  cmd: string;
47
58
  status: 'done' | 'active' | 'next' | 'pending';
48
59
  }
49
- export interface ContextualSuggestion {
50
- cmd: string;
51
- reason: string;
52
- }
53
- export interface OnboardingStep {
54
- cmd: string;
55
- text: string;
56
- }
57
- /** Configuration maturity level */
58
- export type SetupLevel = 'unconfigured' | 'partially_configured' | 'configured' | 'configured_but_risky';
59
60
  /**
60
61
  * Determine the configuration maturity level.
61
62
  * This is the single source of truth for "how configured is this CLI?"
@@ -66,12 +67,6 @@ export type SetupLevel = 'unconfigured' | 'partially_configured' | 'configured'
66
67
  * - configured_but_risky: configured but health warning/critical
67
68
  */
68
69
  export declare function getSetupLevel(state: InfoState): SetupLevel;
69
- /**
70
- * Single-line welcome message based on setup level.
71
- * Used by BOTH Ink and readline shells.
72
- * Replaces the old getWelcomeHint from shell-hints.ts.
73
- */
74
- export declare function getWelcomeMessage(state: InfoState): string;
75
70
  /**
76
71
  * Determine the single most important next action.
77
72
  * Health issues take priority over workflow progression.
@@ -82,11 +77,26 @@ export declare function getNextStep(state: InfoState): NextStep;
82
77
  * Only ONE step can be 'next' — the first incomplete one.
83
78
  */
84
79
  export declare function getWorkflowChecklist(state: InfoState): WorkflowStep[];
80
+ /**
81
+ * Single-line welcome message based on setup level.
82
+ * Used by BOTH Ink and readline shells.
83
+ * Replaces the old getWelcomeHint from shell-hints.ts.
84
+ */
85
+ export declare function getWelcomeMessage(state: InfoState): string;
86
+ export interface ContextualSuggestion {
87
+ cmd: string;
88
+ reason: string;
89
+ }
85
90
  /**
86
91
  * Return max 2 contextual suggestions with reasons.
87
92
  * These are "things you should know right now", not a command list.
93
+ * Consumed by ShellApp.tsx Ink rendering — NOT by command routing.
88
94
  */
89
95
  export declare function getContextualSuggestions(state: InfoState): ContextualSuggestion[];
96
+ export interface OnboardingStep {
97
+ cmd: string;
98
+ text: string;
99
+ }
90
100
  /**
91
101
  * Return onboarding steps for first-time users.
92
102
  * Returns null if the user is already set up (has manifest or site).
@@ -1,22 +1,28 @@
1
1
  /**
2
2
  * SOURCE OF TRUTH — User guidance layer
3
3
  *
4
- * Computes the "what should I do now?" logic:
5
- * - setup level (unconfigured → configured)
6
- * - onboarding steps for first-time users
7
- * - next step recommendation
8
- * - workflow checklist with visual status
9
- * - contextual suggestions (max 2, with reasons)
10
- * - welcome message
4
+ * This module answers "cosa fare adesso e perche'" through 3 distinct layers:
11
5
  *
12
- * PRINCIPLE: Every output answers "cosa fare adesso e perché"
6
+ * LAYER 1 DECISION ENGINE (routing-critical)
7
+ * getSetupLevel() → configuration maturity level
8
+ * getNextStep() → single most important next action
9
+ * getWorkflowChecklist() → ordered workflow with visual status
10
+ * These drive /info output and influence command routing.
11
+ *
12
+ * LAYER 2 — UI HELPERS (rendering-only, no routing impact)
13
+ * getWelcomeMessage() → one-line greeting for Ink + readline shells
14
+ * getContextualSuggestions() → max 2 secondary hints for ShellApp.tsx
15
+ * These enrich the shell UI but do NOT affect what the CLI recommends.
16
+ *
17
+ * LAYER 3 — ONBOARDING HELPERS (first-run only)
18
+ * getOnboardingSteps() → step list for users without site/manifest
19
+ * Consumed by ShellApp.tsx Ink shell for first-time UX.
13
20
  *
14
21
  * NON mettere qui:
15
22
  * - logica di esecuzione comandi → command-router.ts
16
23
  * - policy di sicurezza / guard → context-guard.ts
17
24
  * - hint per comandi sconosciuti → shell-hints.ts
18
25
  */
19
- // ─── Setup Level ──────────────────────────────────────────────────
20
26
  /**
21
27
  * Determine the configuration maturity level.
22
28
  * This is the single source of truth for "how configured is this CLI?"
@@ -38,30 +44,6 @@ export function getSetupLevel(state) {
38
44
  }
39
45
  return 'configured';
40
46
  }
41
- // ─── Welcome Message (unified for Ink + readline) ─────────────────
42
- /**
43
- * Single-line welcome message based on setup level.
44
- * Used by BOTH Ink and readline shells.
45
- * Replaces the old getWelcomeHint from shell-hints.ts.
46
- */
47
- export function getWelcomeMessage(state) {
48
- const level = getSetupLevel(state);
49
- if (level === 'unconfigured') {
50
- return 'Orbit CLI gestisce i tuoi siti da terminale. Esegui /auth per collegare il tuo account.';
51
- }
52
- if (level === 'partially_configured') {
53
- return 'Autenticato. Esegui /sites per selezionare un sito, oppure /info per il workflow completo.';
54
- }
55
- if (level === 'configured_but_risky') {
56
- return 'Incoerenze nel contesto progetto — esegui /context per i dettagli prima di operare.';
57
- }
58
- // configured
59
- if (state.hasSession) {
60
- return 'Sessione attiva — usa /note per annotare, o scrivi in linguaggio naturale per parlare con Orbit AI.';
61
- }
62
- return 'Pronto. Esegui /session start per tracciare il lavoro, o /info per il workflow.';
63
- }
64
- // ─── Next Step ────────────────────────────────────────────────────
65
47
  /**
66
48
  * Determine the single most important next action.
67
49
  * Health issues take priority over workflow progression.
@@ -121,8 +103,16 @@ export function getNextStep(state) {
121
103
  reason: 'Hai chiuso i task aperti — valuta di concludere con /report',
122
104
  };
123
105
  }
124
- // Few notes suggest annotating before continuing
106
+ // Mature session without task lifecycle: notes + decisions = closure signal
125
107
  const totalNotes = state.notesTotal ?? 0;
108
+ const decisions = state.decisions ?? 0;
109
+ if (openTasks === 0 && doneTasks === 0 && totalNotes >= 3 && decisions > 0) {
110
+ return {
111
+ cmd: '/report',
112
+ reason: 'Sessione con decisioni e nessun task pendente — valuta di concludere con /report',
113
+ };
114
+ }
115
+ // Few notes — suggest annotating before continuing
126
116
  if (totalNotes < 2) {
127
117
  return {
128
118
  cmd: '/note <cosa stai facendo>',
@@ -182,10 +172,38 @@ export function getWorkflowChecklist(state) {
182
172
  return { ...step, status: 'pending' };
183
173
  });
184
174
  }
185
- // ─── Contextual Suggestions ──────────────────────────────────────
175
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
176
+ // LAYER 2 — UI HELPERS (rendering-only, no routing impact)
177
+ // These enrich the shell display. They do NOT influence what action
178
+ // the CLI recommends — that is getNextStep()'s job exclusively.
179
+ // Consumers: ShellApp.tsx (Ink), shell.ts (readline)
180
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
181
+ /**
182
+ * Single-line welcome message based on setup level.
183
+ * Used by BOTH Ink and readline shells.
184
+ * Replaces the old getWelcomeHint from shell-hints.ts.
185
+ */
186
+ export function getWelcomeMessage(state) {
187
+ const level = getSetupLevel(state);
188
+ if (level === 'unconfigured') {
189
+ return 'Orbit CLI gestisce i tuoi siti da terminale. Esegui /auth per collegare il tuo account.';
190
+ }
191
+ if (level === 'partially_configured') {
192
+ return 'Autenticato. Esegui /sites per selezionare un sito, oppure /info per il workflow completo.';
193
+ }
194
+ if (level === 'configured_but_risky') {
195
+ return 'Incoerenze nel contesto progetto — esegui /context per i dettagli prima di operare.';
196
+ }
197
+ // configured
198
+ if (state.hasSession) {
199
+ return 'Sessione attiva — usa /note per annotare, o scrivi in linguaggio naturale per parlare con Orbit AI.';
200
+ }
201
+ return 'Pronto. Esegui /session start per tracciare il lavoro, o /info per il workflow.';
202
+ }
186
203
  /**
187
204
  * Return max 2 contextual suggestions with reasons.
188
205
  * These are "things you should know right now", not a command list.
206
+ * Consumed by ShellApp.tsx Ink rendering — NOT by command routing.
189
207
  */
190
208
  export function getContextualSuggestions(state) {
191
209
  const suggestions = [];
@@ -224,7 +242,6 @@ export function getContextualSuggestions(state) {
224
242
  }
225
243
  return suggestions.slice(0, 2);
226
244
  }
227
- // ─── Onboarding ───────────────────────────────────────────────────
228
245
  /**
229
246
  * Return onboarding steps for first-time users.
230
247
  * Returns null if the user is already set up (has manifest or site).
@@ -1 +1 @@
1
- {"version":3,"file":"info-engine.js","sourceRoot":"","sources":["../../src/lib/info-engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"info-engine.js","sourceRoot":"","sources":["../../src/lib/info-engine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAkDH;;;;;;;;GAQG;AACH,MAAM,UAAU,aAAa,CAAC,KAAgB;IAC5C,MAAM,OAAO,GAAG,KAAK,CAAC,QAAQ,CAAC;IAC/B,MAAM,iBAAiB,GAAG,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,WAAW,CAAC;IAE7D,IAAI,CAAC,OAAO;QAAE,OAAO,cAAc,CAAC;IACpC,IAAI,CAAC,iBAAiB;QAAE,OAAO,sBAAsB,CAAC;IAEtD,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QACxE,OAAO,sBAAsB,CAAC;IAChC,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,WAAW,CAAC,KAAgB;IAC1C,oCAAoC;IACpC,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QACrC,OAAO;YACL,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,6DAA6D;SACtE,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO;YACL,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,iEAAiE;SAC1E,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,OAAO;YACL,GAAG,EAAE,OAAO;YACZ,MAAM,EAAE,4DAA4D;SACrE,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO;YACL,GAAG,EAAE,QAAQ;YACb,MAAM,EAAE,sDAAsD;SAC/D,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QACtB,OAAO;YACL,GAAG,EAAE,gBAAgB;YACrB,MAAM,EAAE,+DAA+D;SACxE,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;IAEvC,IAAI,SAAS,GAAG,CAAC,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;QACvC,OAAO;YACL,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,wEAAwE;SACjF,CAAC;IACJ,CAAC;IAED,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO;YACL,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,OAAO,SAAS,2CAA2C;SACpE,CAAC;IACJ,CAAC;IAED,4CAA4C;IAC5C,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;IACvC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,KAAK,CAAC,EAAE,CAAC;QACrC,OAAO;YACL,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,6DAA6D;SACtE,CAAC;IACJ,CAAC;IAED,4EAA4E;IAC5E,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;IACzC,MAAM,SAAS,GAAG,KAAK,CAAC,SAAS,IAAI,CAAC,CAAC;IACvC,IAAI,SAAS,KAAK,CAAC,IAAI,SAAS,KAAK,CAAC,IAAI,UAAU,IAAI,CAAC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;QAC3E,OAAO;YACL,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,kFAAkF;SAC3F,CAAC;IACJ,CAAC;IAED,mDAAmD;IACnD,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO;YACL,GAAG,EAAE,2BAA2B;YAChC,MAAM,EAAE,+CAA+C;SACxD,CAAC;IACJ,CAAC;IAED,iDAAiD;IACjD,MAAM,UAAU,GAAG,KAAK,CAAC,UAAU,IAAI,CAAC,CAAC;IACzC,IAAI,UAAU,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO;YACL,GAAG,EAAE,eAAe;YACpB,MAAM,EAAE,4DAA4D;SACrE,CAAC;IACJ,CAAC;IAED,sDAAsD;IACtD,OAAO;QACL,GAAG,EAAE,2BAA2B;QAChC,MAAM,EAAE,6EAA6E;KACtF,CAAC;AACJ,CAAC;AAED,qEAAqE;AAErE,MAAM,cAAc,GAAsD;IACxE,EAAE,EAAE,EAAE,MAAM,EAAK,KAAK,EAAE,gBAAgB,EAAG,GAAG,EAAE,OAAO,EAAE;IACzD,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,eAAe,EAAI,GAAG,EAAE,YAAY,EAAE;IAC9D,EAAE,EAAE,EAAE,MAAM,EAAK,KAAK,EAAE,cAAc,EAAK,GAAG,EAAE,qBAAqB,EAAE;IACvE,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,gBAAgB,EAAE;IAClE,EAAE,EAAE,EAAE,MAAM,EAAK,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,eAAe,EAAE;IACjE,EAAE,EAAE,EAAE,OAAO,EAAI,KAAK,EAAE,iBAAiB,EAAE,GAAG,EAAE,wBAAwB,EAAE;CAC3E,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAgB;IACnD,MAAM,UAAU,GAAuC;QACrD,IAAI,EAAE,KAAK,CAAC,QAAQ;QACpB,OAAO,EAAE,KAAK,CAAC,WAAW;QAC1B,IAAI,EAAE,KAAK,CAAC,OAAO;QACnB,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;QAC5C,IAAI,EAAE,KAAK,EAAE,wCAAwC;QACrD,KAAK,EAAE,KAAK,EAAE,oCAAoC;KACnD,CAAC;IAEF,IAAI,SAAS,GAAG,KAAK,CAAC;IACtB,OAAO,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;QAC/B,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEjC,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;YACtB,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,QAAiB,EAAE,CAAC;QAChD,CAAC;QAED,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YAClB,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC;QAC9C,CAAC;QAED,+BAA+B;QAC/B,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS,GAAG,IAAI,CAAC;YACjB,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,MAAe,EAAE,CAAC;QAC9C,CAAC;QAED,OAAO,EAAE,GAAG,IAAI,EAAE,MAAM,EAAE,SAAkB,EAAE,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC;AAED,qEAAqE;AACrE,2DAA2D;AAC3D,oEAAoE;AACpE,gEAAgE;AAChE,qDAAqD;AACrD,qEAAqE;AAErE;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,KAAgB;IAChD,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,CAAC;IAEnC,IAAI,KAAK,KAAK,cAAc,EAAE,CAAC;QAC7B,OAAO,yFAAyF,CAAC;IACnG,CAAC;IAED,IAAI,KAAK,KAAK,sBAAsB,EAAE,CAAC;QACrC,OAAO,4FAA4F,CAAC;IACtG,CAAC;IAED,IAAI,KAAK,KAAK,sBAAsB,EAAE,CAAC;QACrC,OAAO,qFAAqF,CAAC;IAC/F,CAAC;IAED,aAAa;IACb,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,qGAAqG,CAAC;IAC/G,CAAC;IAED,OAAO,iFAAiF,CAAC;AAC3F,CAAC;AAOD;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,KAAgB;IACvD,MAAM,WAAW,GAA2B,EAAE,CAAC;IAE/C,+BAA+B;IAC/B,IAAI,KAAK,CAAC,WAAW,KAAK,UAAU,EAAE,CAAC;QACrC,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,2DAA2D;SACpE,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,KAAK,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;QAC3C,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,UAAU;YACf,MAAM,EAAE,2CAA2C;SACpD,CAAC,CAAC;IACL,CAAC;IAED,mBAAmB;IACnB,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,SAAS;YACd,MAAM,EAAE,sDAAsD;SAC/D,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC;QAChE,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,gBAAgB;YACrB,MAAM,EAAE,+CAA+C;SACxD,CAAC,CAAC;IACL,CAAC;IAED,UAAU;IACV,IAAI,KAAK,CAAC,QAAQ,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC7C,WAAW,CAAC,IAAI,CAAC;YACf,GAAG,EAAE,cAAc;YACnB,MAAM,EAAE,6CAA6C;SACtD,CAAC,CAAC;IACL,CAAC;IAED,OAAO,WAAW,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;AACjC,CAAC;AAaD;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAgB;IACjD,oBAAoB;IACpB,IAAI,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,KAAK,GAAqB,EAAE,CAAC;IAEnC,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpB,KAAK,CAAC,IAAI,CAAC;YACT,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,8BAA8B;SACrC,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,IAAI,CAAC;QACT,GAAG,EAAE,QAAQ;QACb,IAAI,EAAE,mCAAmC;KAC1C,CAAC,CAAC;IAEH,KAAK,CAAC,IAAI,CAAC;QACT,GAAG,EAAE,OAAO;QACZ,IAAI,EAAE,4BAA4B;KACnC,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,28 @@
1
+ /**
2
+ * CLI Agent Prompt — System prompt per il CLI Intelligence Layer.
3
+ *
4
+ * Questo prompt viene inviato al modello LLM insieme al Context Packet.
5
+ * È tecnico, disciplinato e operativo — non marketing.
6
+ *
7
+ * TONO: assistente di bordo di un aereo, non chatbot.
8
+ * Conciso, pratico, diretto. Parla italiano.
9
+ */
10
+ import type { ContextPacket } from './context-packet.js';
11
+ import type { ImplementationPhase } from './capability-map.js';
12
+ /** Input per costruire il system prompt */
13
+ export interface AgentPromptInput {
14
+ /** Context Packet corrente */
15
+ contextPacket: ContextPacket;
16
+ /** Fase di implementazione corrente */
17
+ phase: ImplementationPhase;
18
+ }
19
+ /**
20
+ * Costruisce il system prompt per il CLI Intelligence Layer.
21
+ * Pure function — nessun side effect.
22
+ */
23
+ export declare function buildAgentSystemPrompt(input: AgentPromptInput): string;
24
+ /**
25
+ * Stima approssimativa dei token del system prompt (per budgeting).
26
+ * Conta ~4 char per token (approssimazione standard).
27
+ */
28
+ export declare function estimatePromptTokens(prompt: string): number;
@@ -0,0 +1,155 @@
1
+ /**
2
+ * CLI Agent Prompt — System prompt per il CLI Intelligence Layer.
3
+ *
4
+ * Questo prompt viene inviato al modello LLM insieme al Context Packet.
5
+ * È tecnico, disciplinato e operativo — non marketing.
6
+ *
7
+ * TONO: assistente di bordo di un aereo, non chatbot.
8
+ * Conciso, pratico, diretto. Parla italiano.
9
+ */
10
+ import { getAvailableCapabilities } from './capability-map.js';
11
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
12
+ // SYSTEM PROMPT TEMPLATE
13
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
14
+ const IDENTITY = `Sei il copilota operativo della CLI di OrbitPanel.
15
+ OrbitPanel è una piattaforma di gestione hosting (WordPress, PrestaShop, cPanel).
16
+ La CLI (@orbitpanel/cli) è uno strumento locale per tracciare sessioni di lavoro, annotare decisioni, e inviare report a Orbit.
17
+
18
+ NON sei l'agente web di Orbit. NON sei il backend. Sei il copilota locale.`;
19
+ const KNOWLEDGE_BOUNDARIES = `CONFINI DI CONOSCENZA:
20
+ - STATO LOCALE: lo conosci dal Context Packet allegato. È la verità.
21
+ - CONOSCENZA ORBIT: sai cos'è Orbit, come funziona la CLI, quali comandi ci sono.
22
+ - STATO BACKEND: NON lo conosci. Non inventare dati su interventi, siti, o memoria remota.
23
+ - Se il Context Packet non contiene un dato, rispondi "non ho questa informazione nel contesto locale".`;
24
+ const PRIMARY_TASKS = `COMPITI PRINCIPALI:
25
+ 1. SPIEGARE: cos'è Orbit, come funziona la CLI, cosa significano gli stati
26
+ 2. ORIENTARE: guidare l'utente nel workflow (auth → link → session → work → report)
27
+ 3. DIAGNOSTICARE: leggere lo stato e identificare problemi
28
+ 4. TRASFORMARE: problemi in task, osservazioni in note, scelte in decisioni
29
+ 5. SUGGERIRE: il comando giusto al momento giusto
30
+ 6. AGIRE: solo azioni consentite dalla capability map`;
31
+ const BEHAVIORAL_RULES = `REGOLE DI COMPORTAMENTO:
32
+ - MAI inventare stato che non è nel Context Packet
33
+ - MAI bypassare conferme su azioni sensibili (report, diagnostiche remote)
34
+ - MAI trattare la sessione locale come memoria backend
35
+ - MAI suggerire azioni remote ad alto rischio come default
36
+ - MAI dire "dovresti aggiornare la memoria" — la CLI non scrive nella memoria backend
37
+ - Quando suggerisci un comando, scrivi il comando esatto (es: /task add "Fixare CSS header")
38
+ - Quando proponi più opzioni, numerale
39
+ - Sii conciso: max 3-4 frasi per risposta, a meno che non sia una spiegazione richiesta
40
+ - Parla italiano
41
+ - Non usare emoji`;
42
+ const TONE = `TONO:
43
+ Sei un assistente di bordo. Diretto, pratico, informato.
44
+ Non sei un chatbot allegro. Non sei un consulente che spiega troppo.
45
+ Rispondi come un collega esperto che ha il cruscotto davanti.
46
+ Frasi brevi. Informazione utile. Azione chiara.`;
47
+ /**
48
+ * Costruisce il system prompt per il CLI Intelligence Layer.
49
+ * Pure function — nessun side effect.
50
+ */
51
+ export function buildAgentSystemPrompt(input) {
52
+ const { contextPacket, phase } = input;
53
+ const capabilities = getAvailableCapabilities(contextPacket.capabilities.capabilityLevel, phase);
54
+ const capabilitySection = formatCapabilitySection(capabilities);
55
+ const contextSection = formatContextSection(contextPacket);
56
+ return [
57
+ IDENTITY,
58
+ '',
59
+ KNOWLEDGE_BOUNDARIES,
60
+ '',
61
+ PRIMARY_TASKS,
62
+ '',
63
+ capabilitySection,
64
+ '',
65
+ BEHAVIORAL_RULES,
66
+ '',
67
+ TONE,
68
+ '',
69
+ '━━━ CONTESTO CORRENTE ━━━',
70
+ contextSection,
71
+ ].join('\n');
72
+ }
73
+ /** Formatta la sezione capabilities per il prompt */
74
+ function formatCapabilitySection(capabilities) {
75
+ const byTier = {};
76
+ for (const cap of capabilities) {
77
+ if (!byTier[cap.tier])
78
+ byTier[cap.tier] = [];
79
+ const confirm = cap.requiresConfirmation ? ' [richiede conferma]' : '';
80
+ const scope = cap.scope === 'local_only' ? '' : ` [${cap.scope}]`;
81
+ byTier[cap.tier].push(`- ${cap.description}${scope}${confirm}`);
82
+ }
83
+ const sections = ['CAPABILITY ATTIVE:'];
84
+ const tierLabels = {
85
+ explain: 'EXPLAIN (spiegare)',
86
+ inspect: 'INSPECT (leggere)',
87
+ suggest: 'SUGGEST (suggerire)',
88
+ act: 'ACT (agire)',
89
+ };
90
+ for (const [tier, label] of Object.entries(tierLabels)) {
91
+ if (byTier[tier]?.length) {
92
+ sections.push(`\n${label}:`);
93
+ sections.push(...byTier[tier]);
94
+ }
95
+ }
96
+ sections.push('\nNON PUOI:');
97
+ sections.push('- Scrivere nella memoria backend di Orbit');
98
+ sections.push('- Eseguire tool MCP multi-step autonomamente');
99
+ sections.push('- Inviare report senza conferma utente');
100
+ sections.push('- Modificare file di progetto silenziosamente');
101
+ return sections.join('\n');
102
+ }
103
+ /** Formatta il Context Packet come sezione leggibile nel prompt */
104
+ function formatContextSection(packet) {
105
+ const lines = [];
106
+ // Project
107
+ const p = packet.project;
108
+ lines.push(`Progetto: ${p.name ?? '(non configurato)'} | ${p.platform ?? '?'} | ${p.environment ?? '?'}`);
109
+ lines.push(`Setup: ${p.setupLevel} | Salute: ${p.healthLevel}`);
110
+ if (p.healthIssues.length > 0) {
111
+ lines.push(`Problemi: ${p.healthIssues.join('; ')}`);
112
+ }
113
+ lines.push(`Prossimo passo: ${p.nextStep.cmd} — ${p.nextStep.reason}`);
114
+ // Session
115
+ const s = packet.session;
116
+ if (s.active) {
117
+ lines.push('');
118
+ lines.push(`Sessione: attiva (${s.durationMinutes ?? '?'}min) | ID: ${s.id}`);
119
+ lines.push(`Note: ${s.counts.notesTotal} (${s.counts.notesUser} utente, ${s.counts.notesAgent} agente)`);
120
+ lines.push(`Task: ${s.counts.tasksOpen} aperti, ${s.counts.tasksDone} completati`);
121
+ lines.push(`Decisioni: ${s.counts.decisions} | Warning: ${s.counts.warnings}`);
122
+ if (s.isLong) {
123
+ lines.push('⚠ Sessione lunga (>2h)');
124
+ }
125
+ if (s.recentEntries.length > 0) {
126
+ lines.push('Ultime entry:');
127
+ for (const e of s.recentEntries) {
128
+ lines.push(` [${e.kind}/${e.source}] ${e.text} (${e.minutesAgo}min fa)`);
129
+ }
130
+ }
131
+ }
132
+ else {
133
+ lines.push('');
134
+ lines.push('Sessione: nessuna attiva');
135
+ }
136
+ // Capabilities
137
+ const c = packet.capabilities;
138
+ lines.push('');
139
+ lines.push(`Auth: ${c.authenticated ? 'ok' : 'no'} | Backend: ${c.backendReachable === null ? 'non verificato' : c.backendReachable ? 'ok' : 'non raggiungibile'} | Livello: ${c.capabilityLevel}`);
140
+ // Tech
141
+ const t = packet.tech;
142
+ lines.push(`Dir: ${t.cwd} | Branch: ${t.gitBranch ?? 'n/a'} | Dirty: ${t.gitDirty === null ? 'n/v' : t.gitDirty ? 'si' : 'no'}`);
143
+ if (t.lastError) {
144
+ lines.push(`Ultimo errore: ${t.lastError}`);
145
+ }
146
+ return lines.join('\n');
147
+ }
148
+ /**
149
+ * Stima approssimativa dei token del system prompt (per budgeting).
150
+ * Conta ~4 char per token (approssimazione standard).
151
+ */
152
+ export function estimatePromptTokens(prompt) {
153
+ return Math.ceil(prompt.length / 4);
154
+ }
155
+ //# sourceMappingURL=agent-prompt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-prompt.js","sourceRoot":"","sources":["../../../src/lib/intelligence/agent-prompt.ts"],"names":[],"mappings":"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"}