@orbitpanel/cli 1.11.0 → 1.12.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.
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Action Guardrails — Validazione contenuto delle azioni proposte dal modello.
3
+ *
4
+ * Guardrail conservativi e semplici per ridurre over-suggestion.
5
+ * Nessun NLP complesso — solo regole di lunghezza minima,
6
+ * rilevamento domande, e verifica minima di contenuto azionabile.
7
+ *
8
+ * Principio: meglio rifiutare un'azione buona che accettarne una cattiva.
9
+ */
10
+ import type { ActionParams, ActionIntent } from './action-parser.js';
11
+ export interface ContentValidationResult {
12
+ valid: boolean;
13
+ reason?: string;
14
+ }
15
+ /**
16
+ * Valida il contenuto di un'azione proposta.
17
+ * Complementare a validateActionParams (che verifica solo presenza/assenza).
18
+ * Questo verifica la qualità del contenuto.
19
+ */
20
+ export declare function validateActionContent(intent: ActionIntent | string, params: ActionParams): ContentValidationResult;
@@ -0,0 +1,106 @@
1
+ /**
2
+ * Action Guardrails — Validazione contenuto delle azioni proposte dal modello.
3
+ *
4
+ * Guardrail conservativi e semplici per ridurre over-suggestion.
5
+ * Nessun NLP complesso — solo regole di lunghezza minima,
6
+ * rilevamento domande, e verifica minima di contenuto azionabile.
7
+ *
8
+ * Principio: meglio rifiutare un'azione buona che accettarne una cattiva.
9
+ */
10
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
11
+ // GUARDRAIL RULES
12
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
13
+ /** Lunghezza minima testo per tipo di azione */
14
+ const MIN_TEXT_LENGTH = {
15
+ create_note: 5,
16
+ create_task: 10,
17
+ create_decision: 15,
18
+ };
19
+ /** Pattern che indicano una domanda (non un'azione o decisione) */
20
+ const QUESTION_PATTERN = /^(come|cosa|perch[eé]|quando|dove|quale|quali|chi|che)\s/i;
21
+ const ENDS_WITH_QUESTION = /\?\s*$/;
22
+ /** Pattern che indicano contenuto azionabile (verbi imperativi/infinitivi) */
23
+ const ACTIONABLE_PATTERN = /\b(fix|fixa|fixare|aggiorna|aggiornare|implementa|implementare|crea|creare|rimuovi|rimuovere|testa|testare|verifica|verificare|controlla|controllare|migra|migrare|ottimizza|ottimizzare|refactor|deploy|deploya|configura|configurare|installa|installare|disabilita|disabilitare|abilita|abilitare|ripara|riparare|correggi|correggere|sostituisci|sostituire|sposta|spostare|rinomina|rinominare|pulisci|pulire|aggiungi|aggiungere)\b/i;
24
+ /** Pattern che indicano una decisione (scelta, posizione) */
25
+ const DECISION_PATTERN = /\b(usare|scegliere|adottare|preferire|decidere|passare a|migrare a|sostituire con|optare per|mantenere|abbandonare|deprecare|eliminare|introdurre|standardizzare)\b/i;
26
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
27
+ // VALIDATION
28
+ // ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
29
+ /**
30
+ * Valida il contenuto di un'azione proposta.
31
+ * Complementare a validateActionParams (che verifica solo presenza/assenza).
32
+ * Questo verifica la qualità del contenuto.
33
+ */
34
+ export function validateActionContent(intent, params) {
35
+ switch (intent) {
36
+ case 'create_note':
37
+ return validateNoteContent(params.text);
38
+ case 'create_task':
39
+ return validateTaskContent(params.text);
40
+ case 'create_decision':
41
+ return validateDecisionContent(params.text);
42
+ case 'complete_task':
43
+ return validateCompleteTaskContent(params.taskId);
44
+ // Non-operative intents pass unconditionally
45
+ case 'none':
46
+ case 'explain':
47
+ case 'suggest_command':
48
+ return { valid: true };
49
+ default:
50
+ return { valid: false, reason: `Intent sconosciuto: ${intent}` };
51
+ }
52
+ }
53
+ // ─── Individual validators ──────────────────────────────────────
54
+ function validateNoteContent(text) {
55
+ if (!text || text.trim().length < MIN_TEXT_LENGTH.create_note) {
56
+ return { valid: false, reason: `Testo nota troppo breve (min ${MIN_TEXT_LENGTH.create_note} caratteri).` };
57
+ }
58
+ return { valid: true };
59
+ }
60
+ function validateTaskContent(text) {
61
+ if (!text) {
62
+ return { valid: false, reason: 'Testo task mancante.' };
63
+ }
64
+ const trimmed = text.trim();
65
+ if (trimmed.length < MIN_TEXT_LENGTH.create_task) {
66
+ return { valid: false, reason: `Testo task troppo breve (min ${MIN_TEXT_LENGTH.create_task} caratteri).` };
67
+ }
68
+ // Domanda → non è un task
69
+ if (QUESTION_PATTERN.test(trimmed) || ENDS_WITH_QUESTION.test(trimmed)) {
70
+ return { valid: false, reason: 'Il testo sembra una domanda, non un task azionabile.' };
71
+ }
72
+ // Deve contenere almeno un verbo d'azione o forma imperativa
73
+ if (!ACTIONABLE_PATTERN.test(trimmed)) {
74
+ return { valid: false, reason: 'Il task deve essere azionabile — descrivi cosa fare con un verbo d\'azione.' };
75
+ }
76
+ return { valid: true };
77
+ }
78
+ function validateDecisionContent(text) {
79
+ if (!text) {
80
+ return { valid: false, reason: 'Testo decisione mancante.' };
81
+ }
82
+ const trimmed = text.trim();
83
+ if (trimmed.length < MIN_TEXT_LENGTH.create_decision) {
84
+ return { valid: false, reason: `Testo decisione troppo breve (min ${MIN_TEXT_LENGTH.create_decision} caratteri).` };
85
+ }
86
+ // Domanda → non è una decisione
87
+ if (QUESTION_PATTERN.test(trimmed) || ENDS_WITH_QUESTION.test(trimmed)) {
88
+ return { valid: false, reason: 'Il testo sembra una domanda, non una decisione presa.' };
89
+ }
90
+ // Deve contenere un pattern decisionale
91
+ if (!DECISION_PATTERN.test(trimmed)) {
92
+ return { valid: false, reason: 'Il testo non sembra una decisione — usa verbi come "usare", "scegliere", "adottare", "passare a".' };
93
+ }
94
+ return { valid: true };
95
+ }
96
+ function validateCompleteTaskContent(taskId) {
97
+ if (!taskId || taskId.trim().length === 0) {
98
+ return { valid: false, reason: 'ID task mancante per il completamento.' };
99
+ }
100
+ // Task IDs in SessionEngine sono 12 char, prefix match richiede 6+
101
+ if (taskId.trim().length < 6) {
102
+ return { valid: false, reason: 'ID task troppo breve (min 6 caratteri per match univoco).' };
103
+ }
104
+ return { valid: true };
105
+ }
106
+ //# sourceMappingURL=action-guardrails.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"action-guardrails.js","sourceRoot":"","sources":["../../../src/lib/intelligence/action-guardrails.ts"],"names":[],"mappings":"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"}
@@ -52,7 +52,8 @@ export interface ValidationResult {
52
52
  export declare function parseActionFromResponse(rawText: string): ParseResult;
53
53
  /** Controlla se un'azione è operativa (produce side effects) */
54
54
  export declare function isOperativeAction(action: ProposedAction): boolean;
55
- /** Valida un'azione proposta rispetto ai suoi parametri */
55
+ /** Valida un'azione proposta rispetto ai suoi parametri e contenuto.
56
+ * Combina check strutturale (campo presente?) + guardrail contenuto (qualita testo). */
56
57
  export declare function validateActionParams(action: ProposedAction): ValidationResult;
57
58
  /** Verifica se un'azione è consentita dalla capability map */
58
59
  export declare function isActionAllowed(action: ProposedAction, capabilityLevel: CapabilityLevel, phase: ImplementationPhase): ValidationResult;
@@ -89,8 +89,10 @@ export function parseActionFromResponse(rawText) {
89
89
  export function isOperativeAction(action) {
90
90
  return OPERATIVE_INTENTS.includes(action.intent);
91
91
  }
92
- /** Valida un'azione proposta rispetto ai suoi parametri */
92
+ /** Valida un'azione proposta rispetto ai suoi parametri e contenuto.
93
+ * Combina check strutturale (campo presente?) + guardrail contenuto (qualita testo). */
93
94
  export function validateActionParams(action) {
95
+ // Structural check: required fields present?
94
96
  switch (action.intent) {
95
97
  case 'create_note':
96
98
  case 'create_task':
@@ -98,12 +100,12 @@ export function validateActionParams(action) {
98
100
  if (!action.params.text || action.params.text.trim().length === 0) {
99
101
  return { valid: false, reason: 'Testo mancante per l\'azione.' };
100
102
  }
101
- return { valid: true };
103
+ break;
102
104
  case 'complete_task':
103
105
  if (!action.params.taskId || action.params.taskId.trim().length === 0) {
104
106
  return { valid: false, reason: 'ID task mancante.' };
105
107
  }
106
- return { valid: true };
108
+ break;
107
109
  case 'none':
108
110
  case 'explain':
109
111
  case 'suggest_command':
@@ -111,6 +113,19 @@ export function validateActionParams(action) {
111
113
  default:
112
114
  return { valid: false, reason: `Azione sconosciuta: ${action.intent}` };
113
115
  }
116
+ // Content guardrail: quality check for operative intents
117
+ try {
118
+ // Lazy import to avoid circular dependency
119
+ const { validateActionContent } = require('./action-guardrails.js');
120
+ const contentCheck = validateActionContent(action.intent, action.params);
121
+ if (!contentCheck.valid) {
122
+ return { valid: false, reason: contentCheck.reason };
123
+ }
124
+ }
125
+ catch {
126
+ // If guardrails module unavailable, fall through with structural check only
127
+ }
128
+ return { valid: true };
114
129
  }
115
130
  /** Verifica se un'azione è consentita dalla capability map */
116
131
  export function isActionAllowed(action, capabilityLevel, phase) {
@@ -1 +1 @@
1
- {"version":3,"file":"action-parser.js","sourceRoot":"","sources":["../../../src/lib/intelligence/action-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,mBAAmB,EAA4B,MAAM,qBAAqB,CAAC;AAiBpF,8DAA8D;AAC9D,MAAM,CAAC,MAAM,iBAAiB,GAA4B;IACxD,aAAa;IACb,aAAa;IACb,iBAAiB;IACjB,eAAe;CACP,CAAC;AAEX,mCAAmC;AACnC,MAAM,oBAAoB,GAA2B;IACnD,WAAW,EAAE,iBAAiB;IAC9B,WAAW,EAAE,iBAAiB;IAC9B,eAAe,EAAE,qBAAqB;IACtC,aAAa,EAAE,mBAAmB;CACnC,CAAC;AA6BF,qEAAqE;AACrE,SAAS;AACT,qEAAqE;AAErE,MAAM,eAAe,GAAG,gBAAgB,CAAC;AACzC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAE3C;;;GAGG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe;IACrD,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IACjD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEnD,8BAA8B;IAC9B,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,QAAQ,IAAI,OAAO,EAAE,CAAC;QAC7D,OAAO,EAAE,WAAW,EAAE,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,iDAAiD;IACjD,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IAErD,iCAAiC;IACjC,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,GAAG,eAAe,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC;IAEjF,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAA4B,CAAC;QAC9D,MAAM,MAAM,GAAG,MAAM,CAAC,MAA4B,CAAC;QACnD,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAA4B,CAAC;QAEhE,kBAAkB;QAClB,MAAM,YAAY,GAAa,CAAC,MAAM,EAAE,SAAS,EAAE,iBAAiB,EAAE,aAAa,EAAE,aAAa,EAAE,iBAAiB,EAAE,eAAe,CAAC,CAAC;QACxI,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,OAAO,EAAE,WAAW,EAAE,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;QACtE,CAAC;QAED,2CAA2C;QAC3C,IAAI,MAAM,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,iBAAiB,EAAE,CAAC;YAC9E,OAAO;gBACL,WAAW,EAAE,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE;gBAC1C,MAAM,EAAE,EAAE,MAAM,EAAE,MAAsB,EAAE,MAAM,EAAE,EAAE,OAAO,EAAE,MAAM,CAAC,OAA6B,EAAE,EAAE;aACtG,CAAC;QACJ,CAAC;QAED,kCAAkC;QAClC,MAAM,MAAM,GAAmB;YAC7B,MAAM,EAAE,MAAsB;YAC9B,MAAM,EAAE;gBACN,IAAI,EAAE,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;gBAC/D,MAAM,EAAE,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS;aACtE;SACF,CAAC;QAEF,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,2BAA2B;QAC3B,OAAO,EAAE,WAAW,EAAE,WAAW,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;IACtE,CAAC;AACH,CAAC;AAED,qEAAqE;AACrE,aAAa;AACb,qEAAqE;AAErE,gEAAgE;AAChE,MAAM,UAAU,iBAAiB,CAAC,MAAsB;IACtD,OAAO,iBAAiB,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;AACnD,CAAC;AAED,2DAA2D;AAC3D,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,aAAa,CAAC;QACnB,KAAK,aAAa,CAAC;QACnB,KAAK,iBAAiB;YACpB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAClE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,+BAA+B,EAAE,CAAC;YACnE,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAEzB,KAAK,eAAe;YAClB,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACtE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mBAAmB,EAAE,CAAC;YACvD,CAAC;YACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAEzB,KAAK,MAAM,CAAC;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,iBAAiB;YACpB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAEzB;YACE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,uBAAuB,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IAC5E,CAAC;AACH,CAAC;AAED,8DAA8D;AAC9D,MAAM,UAAU,eAAe,CAC7B,MAAsB,EACtB,eAAgC,EAChC,KAA0B;IAE1B,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,2CAA2C;IACrE,CAAC;IAED,MAAM,KAAK,GAAG,oBAAoB,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,mCAAmC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;IACtF,CAAC;IAED,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;QACxD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,oDAAoD,EAAE,CAAC;IACxF,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CAAC,MAAsB;IAC3D,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAAE,OAAO,IAAI,CAAC;IAE5C,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;QACtB,KAAK,aAAa;YAChB,OAAO,qBAAqB,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QACrD,KAAK,aAAa;YAChB,OAAO,iBAAiB,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QACjD,KAAK,iBAAiB;YACpB,OAAO,0BAA0B,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC;QAC1D,KAAK,eAAe;YAClB,OAAO,mBAAmB,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC;QACpD;YACE,OAAO,IAAI,CAAC;IAChB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"action-parser.js","sourceRoot":"","sources":["../../../src/lib/intelligence/action-parser.ts"],"names":[],"mappings":"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"}
@@ -39,28 +39,50 @@ const BEHAVIORAL_RULES = `REGOLE DI COMPORTAMENTO:
39
39
  - Sii conciso: max 3-4 frasi per risposta, a meno che non sia una spiegazione richiesta
40
40
  - Parla italiano
41
41
  - Non usare emoji`;
42
- const STRUCTURED_ACTIONS = `AZIONI STRUTTURATE:
43
- Quando ritieni utile proporre un'azione locale (nota, task, decisione, completamento task),
44
- aggiungi un blocco alla fine della tua risposta con questo formato esatto:
42
+ const STRUCTURED_ACTIONS = `DECISION BOUNDARY — Quando agire e quando no:
45
43
 
44
+ LIVELLO 1 — EXPLAIN (default):
45
+ Rispondi con testo. NON includere blocco azione.
46
+ Quando: domande, chiarimenti, spiegazioni, "cos'e", "come funziona", "perche".
47
+
48
+ LIVELLO 2 — SUGGEST:
49
+ Rispondi con testo e suggerisci un comando slash.
50
+ Quando: l'utente ha un problema pratico ma non ha detto di voler salvare qualcosa.
51
+ Esempio: "Prova /session start per tracciare il lavoro."
52
+ NON proporre action strutturata — suggerisci il comando nel testo.
53
+
54
+ LIVELLO 3 — ACT (solo con segnale forte):
55
+ Rispondi con testo E aggiungi un blocco azione alla fine.
56
+ Quando: l'utente esprime CHIARAMENTE volonta di registrare, creare, completare.
57
+ Segnali forti: "salva come task", "registra", "aggiungi nota", "ho deciso", "ho finito il task".
58
+ Se sei in dubbio, resta al LIVELLO 2 (suggest) — meglio suggerire che agire.
59
+
60
+ FORMATO BLOCCO AZIONE:
46
61
  <orbit-action>
47
- {"action":"create_task","params":{"text":"Descrizione del task"}}
62
+ {"action":"create_task","params":{"text":"Descrizione"}}
48
63
  </orbit-action>
49
64
 
50
65
  Azioni disponibili:
51
- - create_note: {"action":"create_note","params":{"text":"testo della nota"}}
52
- - create_task: {"action":"create_task","params":{"text":"testo del task"}}
53
- - create_decision: {"action":"create_decision","params":{"text":"testo della decisione"}}
54
- - complete_task: {"action":"complete_task","params":{"taskId":"id del task"}}
55
- - suggest_command: {"action":"suggest_command","params":{"command":"/comando"}}
56
- - none: {"action":"none","params":{}}
66
+ - create_note: osservazione, stato, commento operativo (min 5 caratteri)
67
+ - create_task: azione concreta futura, con verbo azionabile (min 10 caratteri)
68
+ - create_decision: scelta architetturale o operativa presa (min 15 caratteri, con verbo decisionale)
69
+ - complete_task: completamento task specifico (richiede taskId visibile nel contesto, min 6 char)
70
+ - suggest_command: suggerimento comando slash (non operativo)
71
+
72
+ DISTINZIONE OBBLIGATORIA:
73
+ - NOTA: "ho sistemato il CSS" → osservazione, stato attuale
74
+ - TASK: "fixare il layout responsive nel footer" → azione da fare
75
+ - DECISIONE: "usare Tailwind invece di CSS custom per il design system" → scelta presa
76
+ - Se il contenuto non e chiaramente task o decisione, usa NOTA
57
77
 
58
- REGOLE sulle azioni:
59
- - Includi il blocco SOLO se l'azione e chiaramente utile e richiesta dall'utente
60
- - NON includere il blocco per semplici spiegazioni o risposte informative
61
- - L'utente vedra una richiesta di conferma prima dell'esecuzione
62
- - Scrivi PRIMA il testo di risposta, POI il blocco azione alla fine
63
- - Se non serve un'azione, NON includere il blocco`;
78
+ REGOLE ANTI-OVER-SUGGESTION:
79
+ - NON proporre azioni per domande ("come funziona X?")
80
+ - NON trasformare spiegazioni tecniche in decisioni automatiche
81
+ - NON proporre complete_task se il task non e identificabile nel contesto sessione
82
+ - NON proporre task per semplici osservazioni ("il sito e lento")
83
+ - Una diagnosi NON genera automaticamente un task
84
+ - Nel DUBBIO: rispondi solo con testo, senza blocco azione
85
+ - Max 1 azione per risposta`;
64
86
  const TONE = `TONO:
65
87
  Sei un assistente di bordo. Diretto, pratico, informato.
66
88
  Non sei un chatbot allegro. Non sei un consulente che spiega troppo.
@@ -1 +1 @@
1
- {"version":3,"file":"agent-prompt.js","sourceRoot":"","sources":["../../../src/lib/intelligence/agent-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-prompt.js","sourceRoot":"","sources":["../../../src/lib/intelligence/agent-prompt.ts"],"names":[],"mappings":"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"}
@@ -819,5 +819,5 @@
819
819
  ]
820
820
  }
821
821
  },
822
- "version": "1.11.0"
822
+ "version": "1.12.0"
823
823
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@orbitpanel/cli",
3
- "version": "1.11.0",
3
+ "version": "1.12.0",
4
4
  "description": "Orbit CLI — strumento locale per sviluppatori OrbitPanel",
5
5
  "type": "module",
6
6
  "bin": {