@orbitpanel/cli 1.5.1 → 1.6.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.
|
@@ -45,14 +45,34 @@ export declare function parseForceFlag(input: string): {
|
|
|
45
45
|
force: boolean;
|
|
46
46
|
cleanInput: string;
|
|
47
47
|
};
|
|
48
|
+
/** Guard levels: none (execute), soft (confirm but don't block), hard (confirm or block) */
|
|
49
|
+
export type GuardLevel = 'none' | 'soft' | 'hard';
|
|
48
50
|
/**
|
|
49
|
-
*
|
|
51
|
+
* Determine the guard level for a command given the current health.
|
|
52
|
+
*
|
|
53
|
+
* | health | risk | guard |
|
|
54
|
+
* |----------|----------|-------|
|
|
55
|
+
* | critical | any sens.| hard |
|
|
56
|
+
* | warning | high | soft |
|
|
57
|
+
* | warning | med/low | none |
|
|
58
|
+
* | ok/info | * | none |
|
|
59
|
+
* | * | non-sens | none |
|
|
60
|
+
*/
|
|
61
|
+
export declare function getGuardLevel(cmd: string, health: ContextHealth): GuardLevel;
|
|
62
|
+
/**
|
|
63
|
+
* Should the guard activate? Backward-compatible boolean wrapper.
|
|
64
|
+
* Returns true for both soft and hard guards.
|
|
50
65
|
*/
|
|
51
66
|
export declare function shouldGuard(cmd: string, health: ContextHealth): boolean;
|
|
52
67
|
/**
|
|
53
68
|
* Format the warning message shown in TTY before asking confirmation.
|
|
54
69
|
*/
|
|
55
70
|
export declare function formatGuardMessage(health: ContextHealth): string;
|
|
71
|
+
/**
|
|
72
|
+
* Format the soft warning message for high-risk commands on warning health.
|
|
73
|
+
* Less alarming than the critical guard message.
|
|
74
|
+
*/
|
|
75
|
+
export declare function formatSoftGuardMessage(policy: SensitiveCommandPolicy): string;
|
|
56
76
|
/**
|
|
57
77
|
* Format the blocked message shown in non-TTY when command is blocked.
|
|
58
78
|
*/
|
|
@@ -75,12 +75,33 @@ export function parseForceFlag(input) {
|
|
|
75
75
|
}
|
|
76
76
|
return { force: false, cleanInput: input };
|
|
77
77
|
}
|
|
78
|
-
// ─── Guard Logic ──────────────────────────────────────────────────
|
|
79
78
|
/**
|
|
80
|
-
*
|
|
79
|
+
* Determine the guard level for a command given the current health.
|
|
80
|
+
*
|
|
81
|
+
* | health | risk | guard |
|
|
82
|
+
* |----------|----------|-------|
|
|
83
|
+
* | critical | any sens.| hard |
|
|
84
|
+
* | warning | high | soft |
|
|
85
|
+
* | warning | med/low | none |
|
|
86
|
+
* | ok/info | * | none |
|
|
87
|
+
* | * | non-sens | none |
|
|
88
|
+
*/
|
|
89
|
+
export function getGuardLevel(cmd, health) {
|
|
90
|
+
const policy = getCommandPolicy(cmd);
|
|
91
|
+
if (!policy)
|
|
92
|
+
return 'none';
|
|
93
|
+
if (health.level === 'critical')
|
|
94
|
+
return 'hard';
|
|
95
|
+
if (health.level === 'warning' && policy.risk === 'high')
|
|
96
|
+
return 'soft';
|
|
97
|
+
return 'none';
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Should the guard activate? Backward-compatible boolean wrapper.
|
|
101
|
+
* Returns true for both soft and hard guards.
|
|
81
102
|
*/
|
|
82
103
|
export function shouldGuard(cmd, health) {
|
|
83
|
-
return
|
|
104
|
+
return getGuardLevel(cmd, health) !== 'none';
|
|
84
105
|
}
|
|
85
106
|
/**
|
|
86
107
|
* Format the warning message shown in TTY before asking confirmation.
|
|
@@ -101,6 +122,18 @@ export function formatGuardMessage(health) {
|
|
|
101
122
|
lines.push('');
|
|
102
123
|
return lines.join('\n');
|
|
103
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* Format the soft warning message for high-risk commands on warning health.
|
|
127
|
+
* Less alarming than the critical guard message.
|
|
128
|
+
*/
|
|
129
|
+
export function formatSoftGuardMessage(policy) {
|
|
130
|
+
const lines = [];
|
|
131
|
+
lines.push('');
|
|
132
|
+
lines.push(' ⚠️ Operazione con rischio elevato');
|
|
133
|
+
lines.push(` → ${policy.reason}`);
|
|
134
|
+
lines.push('');
|
|
135
|
+
return lines.join('\n');
|
|
136
|
+
}
|
|
104
137
|
/**
|
|
105
138
|
* Format the blocked message shown in non-TTY when command is blocked.
|
|
106
139
|
*/
|
|
@@ -156,22 +189,43 @@ export async function auditForceBypass(opts) {
|
|
|
156
189
|
*/
|
|
157
190
|
export async function runWithContextGuard(opts) {
|
|
158
191
|
const { cmd, health, output, promptConfirm, force, execute, cwd } = opts;
|
|
192
|
+
const level = getGuardLevel(cmd, health);
|
|
159
193
|
// No guard needed → execute directly
|
|
160
|
-
if (
|
|
194
|
+
if (level === 'none') {
|
|
161
195
|
await execute();
|
|
162
196
|
return;
|
|
163
197
|
}
|
|
164
|
-
//
|
|
165
|
-
if (
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
198
|
+
// ── HARD guard (critical) ──
|
|
199
|
+
if (level === 'hard') {
|
|
200
|
+
// Force → audit + notice + bypass
|
|
201
|
+
if (force) {
|
|
202
|
+
output(' ⚠️ Esecuzione forzata su contesto CRITICAL (--force)');
|
|
203
|
+
auditForceBypass({ cmd, healthLevel: health.level, cwd: cwd ?? process.cwd() });
|
|
204
|
+
await execute();
|
|
205
|
+
return;
|
|
206
|
+
}
|
|
207
|
+
// TTY → ask hard confirmation
|
|
208
|
+
if (promptConfirm) {
|
|
209
|
+
output(formatGuardMessage(health));
|
|
210
|
+
const confirmed = await promptConfirm('Vuoi procedere comunque?');
|
|
211
|
+
if (confirmed) {
|
|
212
|
+
await execute();
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
output(' Annullato.');
|
|
216
|
+
}
|
|
217
|
+
return;
|
|
218
|
+
}
|
|
219
|
+
// Non-TTY, no force → BLOCK (fail-closed)
|
|
220
|
+
output(formatBlockedMessage(health));
|
|
169
221
|
return;
|
|
170
222
|
}
|
|
171
|
-
//
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
223
|
+
// ── SOFT guard (warning + high risk) ──
|
|
224
|
+
const policy = getCommandPolicy(cmd);
|
|
225
|
+
// TTY → ask soft confirmation
|
|
226
|
+
if (promptConfirm && policy) {
|
|
227
|
+
output(formatSoftGuardMessage(policy));
|
|
228
|
+
const confirmed = await promptConfirm('Vuoi procedere?');
|
|
175
229
|
if (confirmed) {
|
|
176
230
|
await execute();
|
|
177
231
|
}
|
|
@@ -180,7 +234,10 @@ export async function runWithContextGuard(opts) {
|
|
|
180
234
|
}
|
|
181
235
|
return;
|
|
182
236
|
}
|
|
183
|
-
// Non-TTY
|
|
184
|
-
|
|
237
|
+
// Non-TTY → show warning but execute (soft = non-blocking)
|
|
238
|
+
if (policy) {
|
|
239
|
+
output(formatSoftGuardMessage(policy));
|
|
240
|
+
}
|
|
241
|
+
await execute();
|
|
185
242
|
}
|
|
186
243
|
//# sourceMappingURL=context-guard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context-guard.js","sourceRoot":"","sources":["../../src/lib/context-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAgBrD;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAsC;IACjE;QACE,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,CAAC,IAAI,CAAC;QACf,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,6BAA6B;KACtC;IACD;QACE,IAAI,EAAE,gBAAgB;QACtB,OAAO,EAAE,CAAC,KAAK,CAAC;QAChB,IAAI,EAAE,QAAQ;QACd,MAAM,EAAE,gDAAgD;KACzD;IACD;QACE,IAAI,EAAE,OAAO;QACb,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,MAAM;QACZ,MAAM,EAAE,wCAAwC;KACjD;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,MAAM,KAAK,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;IACvC,KAAK,MAAM,MAAM,IAAI,gBAAgB,EAAE,CAAC;QACtC,IAAI,KAAK,KAAK,MAAM,CAAC,IAAI,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;YACjE,OAAO,MAAM,CAAC;QAChB,CAAC;QACD,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnC,IAAI,KAAK,KAAK,KAAK,IAAI,KAAK,CAAC,UAAU,CAAC,KAAK,GAAG,GAAG,CAAC,EAAE,CAAC;gBACrD,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,OAAO,gBAAgB,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC;AACxC,CAAC;AAED,qEAAqE;AAErE;;;GAGG;AACH,MAAM,UAAU,cAAc,CAAC,KAAa;IAC1C,MAAM,UAAU,GAAG,mBAAmB,CAAC;IACvC,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QAClC,MAAM,UAAU,GAAG,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;QAC9D,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;IACrC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;AAC7C,CAAC;
|
|
1
|
+
{"version":3,"file":"context-guard.js","sourceRoot":"","sources":["../../src/lib/context-guard.ts"],"names":[],"mappings":"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"}
|
package/oclif.manifest.json
CHANGED