shieldcortex 2.15.0 → 2.15.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"iron-dome.d.ts","sourceRoot":"","sources":["../../src/cli/iron-dome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AA+BH;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CA+BzE"}
1
+ {"version":3,"file":"iron-dome.d.ts","sourceRoot":"","sources":["../../src/cli/iron-dome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAoCH;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAkCzE"}
@@ -13,7 +13,7 @@ import fs from 'fs';
13
13
  import path from 'path';
14
14
  import os from 'os';
15
15
  import { initDatabase } from '../database/init.js';
16
- import { activateIronDome, deactivateIronDome, getIronDomeStatus, scanForInjection, } from '../defence/iron-dome/index.js';
16
+ import { activateIronDome, deactivateIronDome, getIronDomeStatus, scanForInjection, getEffectiveConfirmationProtocol, getConfirmationOverrides, moveConfirmationAction, removeConfirmationOverride, } from '../defence/iron-dome/index.js';
17
17
  import { queryAuditLogs } from '../defence/audit/index.js';
18
18
  const bold = '\x1b[1m';
19
19
  const reset = '\x1b[0m';
@@ -55,6 +55,9 @@ export async function handleIronDomeCommand(args) {
55
55
  case 'audit':
56
56
  handleAudit(args.slice(1));
57
57
  break;
58
+ case 'confirmation':
59
+ handleConfirmation(args.slice(1));
60
+ break;
58
61
  default:
59
62
  console.error(`Unknown iron-dome command: ${subcommand}`);
60
63
  printUsage();
@@ -71,6 +74,10 @@ ${bold}Usage:${reset}
71
74
  shieldcortex iron-dome deactivate
72
75
  shieldcortex iron-dome scan --text "..." | --file <path>
73
76
  shieldcortex iron-dome audit [--tail] [--search <term>]
77
+ shieldcortex iron-dome confirmation list
78
+ shieldcortex iron-dome confirmation move <action> <red|amber|green>
79
+ shieldcortex iron-dome confirmation add <action> <red|amber|green>
80
+ shieldcortex iron-dome confirmation remove <action>
74
81
 
75
82
  ${bold}Profiles:${reset}
76
83
  school GDPR strict, pupil data locked
@@ -216,4 +223,65 @@ function printAuditLogs(logs) {
216
223
  }
217
224
  console.log();
218
225
  }
226
+ function handleConfirmation(args) {
227
+ const sub = args[0];
228
+ if (!sub || sub === 'list') {
229
+ const protocol = getEffectiveConfirmationProtocol();
230
+ const overrides = getConfirmationOverrides();
231
+ console.log(`\n${bold}Destructive Action Confirmation Protocol${reset}\n`);
232
+ const printTier = (label, color, actions, overrideList) => {
233
+ console.log(`${color}${bold}${label}${reset}`);
234
+ if (actions.length === 0) {
235
+ console.log(` ${dim}(none)${reset}`);
236
+ }
237
+ else {
238
+ for (const a of actions.sort()) {
239
+ const isOverride = overrideList?.some(o => o.toLowerCase() === a.toLowerCase());
240
+ const suffix = isOverride ? ` ${dim}(user override)${reset}` : '';
241
+ console.log(` ${a}${suffix}`);
242
+ }
243
+ }
244
+ console.log();
245
+ };
246
+ printTier('🔴 RED — Always confirm', red, protocol.red, [
247
+ ...(overrides.red ?? []),
248
+ ]);
249
+ printTier('🟡 AMBER — Announce', '\x1b[33m', protocol.amber, [
250
+ ...(overrides.amber ?? []),
251
+ ]);
252
+ printTier('🟢 GREEN — Free', green, protocol.green, [
253
+ ...(overrides.green ?? []),
254
+ ]);
255
+ return;
256
+ }
257
+ if (sub === 'move' || sub === 'add') {
258
+ const action = args[1];
259
+ const tier = args[2];
260
+ if (!action || !tier || !['red', 'amber', 'green'].includes(tier)) {
261
+ console.error(`${red}Usage: shieldcortex iron-dome confirmation ${sub} <action> <red|amber|green>${reset}`);
262
+ process.exit(1);
263
+ }
264
+ moveConfirmationAction(action, tier);
265
+ console.log(`${green}✓${reset} ${sub === 'move' ? 'Moved' : 'Added'} "${action}" to ${tier.toUpperCase()} tier`);
266
+ return;
267
+ }
268
+ if (sub === 'remove') {
269
+ const action = args[1];
270
+ if (!action) {
271
+ console.error(`${red}Usage: shieldcortex iron-dome confirmation remove <action>${reset}`);
272
+ process.exit(1);
273
+ }
274
+ const found = removeConfirmationOverride(action);
275
+ if (found) {
276
+ console.log(`${green}✓${reset} Removed override for "${action}" (reverted to profile default)`);
277
+ }
278
+ else {
279
+ console.log(`${dim}No override found for "${action}"${reset}`);
280
+ }
281
+ return;
282
+ }
283
+ console.error(`${red}Unknown confirmation command: ${sub}${reset}`);
284
+ console.error('Available: list, move, add, remove');
285
+ process.exit(1);
286
+ }
219
287
  //# sourceMappingURL=iron-dome.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"iron-dome.js","sourceRoot":"","sources":["../../src/cli/iron-dome.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"iron-dome.js","sourceRoot":"","sources":["../../src/cli/iron-dome.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EACL,gBAAgB,EAChB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,gCAAgC,EAChC,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,IAAI,GAAG,SAAS,CAAC;AACvB,MAAM,KAAK,GAAG,SAAS,CAAC;AACxB,MAAM,KAAK,GAAG,UAAU,CAAC;AACzB,MAAM,GAAG,GAAG,UAAU,CAAC;AACvB,MAAM,MAAM,GAAG,UAAU,CAAC;AAC1B,MAAM,IAAI,GAAG,UAAU,CAAC;AACxB,MAAM,GAAG,GAAG,SAAS,CAAC;AAEtB;;GAEG;AACH,SAAS,QAAQ;IACf,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,gBAAgB,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,eAAe,EAAE,aAAa,CAAC,CAAC;IACvG,YAAY,CAAC,MAAM,CAAC,CAAC;AACvB,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAAC,IAAc;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,CAAC,UAAU,IAAI,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QAClE,UAAU,EAAE,CAAC;QACb,OAAO;IACT,CAAC;IAED,QAAQ,EAAE,CAAC;IAEX,QAAQ,UAAU,EAAE,CAAC;QACnB,KAAK,UAAU;YACb,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC9B,MAAM;QACR,KAAK,QAAQ;YACX,YAAY,EAAE,CAAC;YACf,MAAM;QACR,KAAK,YAAY;YACf,gBAAgB,EAAE,CAAC;YACnB,MAAM;QACR,KAAK,MAAM;YACT,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM;QACR,KAAK,OAAO;YACV,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3B,MAAM;QACR,KAAK,cAAc;YACjB,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAClC,MAAM;QACR;YACE,OAAO,CAAC,KAAK,CAAC,8BAA8B,UAAU,EAAE,CAAC,CAAC;YAC1D,UAAU,EAAE,CAAC;YACb,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACH,CAAC;AAED,SAAS,UAAU;IACjB,OAAO,CAAC,GAAG,CAAC;EACZ,IAAI,yCAAyC,KAAK;;EAElD,IAAI,SAAS,KAAK;;;;;;;;;;;EAWlB,IAAI,YAAY,KAAK;;;;;CAKtB,CAAC,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAc;IACpC,IAAI,OAAoC,CAAC;IAEzC,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IAC7C,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC,EAAE,CAAC;QAC9C,MAAM,CAAC,GAAG,IAAI,CAAC,UAAU,GAAG,CAAC,CAAoB,CAAC;QAClD,IAAI,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,oBAAoB,CAAC,GAAG,KAAK,EAAE,CAAC,CAAC;YACrD,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACnE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,GAAG,CAAC,CAAC;IACd,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;IAEzC,OAAO,CAAC,GAAG,CAAC;EACZ,IAAI,GAAG,KAAK,sBAAsB,KAAK;;sBAEnB,MAAM,CAAC,OAAO,IAAI,SAAS;sBAC3B,MAAM,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;uBAChC,MAAM,CAAC,UAAU;sBAClB,MAAM,CAAC,eAAe,CAAC,MAAM;sBAC7B,MAAM,CAAC,WAAW,CAAC,MAAM;sBACzB,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM;sBAClC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM;CAC1D,CAAC,CAAC;AACH,CAAC;AAED,SAAS,YAAY;IACnB,MAAM,MAAM,GAAG,iBAAiB,EAAE,CAAC;IAEnC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,CAAC,GAAG,CAAC;EACd,IAAI,mBAAmB,KAAK;EAC5B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;YACJ,GAAG,WAAW,KAAK;;QAEvB,IAAI,kCAAkC,KAAK;CAClD,CAAC,CAAC;QACC,OAAO;IACT,CAAC;IAED,MAAM,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC;IACxB,OAAO,CAAC,GAAG,CAAC;EACZ,IAAI,mBAAmB,KAAK;EAC5B,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;sBACM,KAAK,SAAS,KAAK;sBACnB,CAAC,CAAC,OAAO,IAAI,QAAQ;sBACrB,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;uBAC3B,CAAC,CAAC,UAAU;sBACb,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC;sBAC5B,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;sBACxB,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;sBAChF,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;sBACtF,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,QAAQ;sBACpH,CAAC,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;CAC1E,CAAC,CAAC;AACH,CAAC;AAED,SAAS,gBAAgB;IACvB,kBAAkB,EAAE,CAAC;IACrB,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,yBAAyB,KAAK,EAAE,CAAC,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,IAAc;IAChC,IAAI,IAAwB,CAAC;IAE7B,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAEvC,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;QACxC,IAAI,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;IAC3B,CAAC;SAAM,IAAI,OAAO,KAAK,CAAC,CAAC,IAAI,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC;QACnC,IAAI,CAAC;YACH,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC5C,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,uBAAuB,GAAG,CAAC,OAAO,GAAG,KAAK,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACjF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,MAAM,MAAM,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;IAEtC,IAAI,MAAM,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,QAAQ,KAAK,sCAAsC,MAAM,CAAC,UAAU,iBAAiB,CAAC,CAAC;QAC3G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,GAAG,IAAI,qBAAqB,KAAK,KAAK,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC7F,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC;IACvD,OAAO,CAAC,GAAG,CAAC,eAAe,MAAM,CAAC,UAAU,QAAQ,CAAC,CAAC;IACtD,OAAO,CAAC,GAAG,EAAE,CAAC;IAEd,oBAAoB;IACpB,MAAM,KAAK,GAA6C,EAAE,CAAC;IAC3D,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,UAAU,EAAE,CAAC;QAClC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACvF,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,IAAI,GAAG,IAAI,KAAK,EAAE,CAAC,CAAC;QACzC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,CAAC,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;YACvH,OAAO,CAAC,GAAG,CAAC,OAAO,MAAM,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,EAAE,IAAI,KAAK,IAAI,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;YACjG,MAAM,OAAO,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;YACtC,MAAM,MAAM,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACjD,OAAO,CAAC,GAAG,CAAC,cAAc,GAAG,aAAa,OAAO,GAAG,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QACzE,CAAC;QACD,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED,SAAS,WAAW,CAAC,IAAc;IACjC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAC3C,MAAM,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAClE,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;IAErC,MAAM,IAAI,GAAG,cAAc,CAAC;QAC1B,cAAc,EAAE,SAAS;QACzB,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE;KACtB,CAAC,CAAC;IAEH,8BAA8B;IAC9B,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAC9B,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,aAAa,CAAC,CACpD,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,MAAM,QAAQ,GAAG,YAAY,CAAC,MAAM,CAClC,CAAC,GAAQ,EAAE,EAAE,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CACvE,CAAC;QACF,cAAc,CAAC,QAAQ,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,cAAc,CAAC,YAAY,CAAC,CAAC;IAC/B,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CAAC,IAAW;IACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,oCAAoC,KAAK,EAAE,CAAC,CAAC;QAC/D,OAAO;IACT,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,sBAAsB,KAAK,KAAK,IAAI,CAAC,MAAM,WAAW,CAAC,CAAC;IAC7E,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC;IAE5B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,WAAW,GAAG,GAAG,CAAC,eAAe,KAAK,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC;QAClE,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,GAAG,GAAG,CAAC,SAAS,GAAG,KAAK,IAAI,WAAW,GAAG,GAAG,CAAC,eAAe,GAAG,KAAK,IAAI,GAAG,CAAC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;IACnH,CAAC;IAED,OAAO,CAAC,GAAG,EAAE,CAAC;AAChB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAc;IACxC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;IAEpB,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QAC3B,MAAM,QAAQ,GAAG,gCAAgC,EAAE,CAAC;QACpD,MAAM,SAAS,GAAG,wBAAwB,EAAE,CAAC;QAE7C,OAAO,CAAC,GAAG,CAAC,KAAK,IAAI,2CAA2C,KAAK,IAAI,CAAC,CAAC;QAE3E,MAAM,SAAS,GAAG,CAAC,KAAa,EAAE,KAAa,EAAE,OAAiB,EAAE,YAAuB,EAAE,EAAE;YAC7F,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,EAAE,CAAC,CAAC;YAC/C,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACzB,OAAO,CAAC,GAAG,CAAC,KAAK,GAAG,SAAS,KAAK,EAAE,CAAC,CAAC;YACxC,CAAC;iBAAM,CAAC;gBACN,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;oBAC/B,MAAM,UAAU,GAAG,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;oBAChF,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,GAAG,kBAAkB,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBAClE,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;gBACjC,CAAC;YACH,CAAC;YACD,OAAO,CAAC,GAAG,EAAE,CAAC;QAChB,CAAC,CAAC;QAEF,SAAS,CAAC,yBAAyB,EAAE,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE;YACtD,GAAG,CAAC,SAAS,CAAC,GAAG,IAAI,EAAE,CAAC;SACzB,CAAC,CAAC;QACH,SAAS,CAAC,qBAAqB,EAAE,UAAU,EAAE,QAAQ,CAAC,KAAK,EAAE;YAC3D,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;SAC3B,CAAC,CAAC;QACH,SAAS,CAAC,iBAAiB,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE;YAClD,GAAG,CAAC,SAAS,CAAC,KAAK,IAAI,EAAE,CAAC;SAC3B,CAAC,CAAC;QACH,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,MAAM,IAAI,GAAG,KAAK,KAAK,EAAE,CAAC;QACpC,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAqB,CAAC;QACzC,IAAI,CAAC,MAAM,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClE,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,8CAA8C,GAAG,8BAA8B,KAAK,EAAE,CAAC,CAAC;YAC5G,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,sBAAsB,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;QACrC,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,KAAK,IAAI,GAAG,KAAK,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,KAAK,MAAM,QAAQ,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QACjH,OAAO;IACT,CAAC;IAED,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACrB,MAAM,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACvB,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,6DAA6D,KAAK,EAAE,CAAC,CAAC;YAC1F,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;QACjD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,CAAC,GAAG,CAAC,GAAG,KAAK,IAAI,KAAK,0BAA0B,MAAM,iCAAiC,CAAC,CAAC;QAClG,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,GAAG,GAAG,0BAA0B,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC;QACjE,CAAC;QACD,OAAO;IACT,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,GAAG,GAAG,iCAAiC,GAAG,GAAG,KAAK,EAAE,CAAC,CAAC;IACpE,OAAO,CAAC,KAAK,CAAC,oCAAoC,CAAC,CAAC;IACpD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC"}
@@ -18,6 +18,16 @@ export interface IronDomeConfirmationProtocol {
18
18
  amber: string[];
19
19
  green: string[];
20
20
  }
21
+ /**
22
+ * User overrides for the confirmation protocol.
23
+ * Each field is optional — only specified tiers are overridden.
24
+ * Actions listed here take precedence over the profile defaults.
25
+ */
26
+ export interface ConfirmationOverrides {
27
+ red?: string[];
28
+ amber?: string[];
29
+ green?: string[];
30
+ }
21
31
  export interface IronDomeConfig {
22
32
  enabled: boolean;
23
33
  trustedChannels: string[];
@@ -27,6 +37,7 @@ export interface IronDomeConfig {
27
37
  piiRules: IronDomePiiRules;
28
38
  subAgentRestrictions: IronDomeSubAgentRestrictions;
29
39
  confirmationProtocol: IronDomeConfirmationProtocol;
40
+ confirmationOverrides?: ConfirmationOverrides;
30
41
  profile?: IronDomeProfile;
31
42
  }
32
43
  export declare const DEFAULT_IRON_DOME_CONFIG: IronDomeConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/defence/iron-dome/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,4BAA4B;IAC3C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;AAEhF,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oBAAoB,EAAE,4BAA4B,CAAC;IACnD,oBAAoB,EAAE,4BAA4B,CAAC;IACnD,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAID,eAAO,MAAM,wBAAwB,EAAE,cA8BtC,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAmKvF,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/defence/iron-dome/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED,MAAM,WAAW,4BAA4B;IAC3C,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,eAAe,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,GAAG,UAAU,CAAC;AAEhF,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,MAAM,EAAE,CAAC;IACd,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACpC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,oBAAoB,EAAE,4BAA4B,CAAC;IACnD,oBAAoB,EAAE,4BAA4B,CAAC;IACnD,qBAAqB,CAAC,EAAE,qBAAqB,CAAC;IAC9C,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B;AAID,eAAO,MAAM,wBAAwB,EAAE,cA8BtC,CAAC;AAIF,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,CAAC,cAAc,EAAE,SAAS,CAAC,CAmKvF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/defence/iron-dome/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/defence/iron-dome/config.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@
5
5
  * Gates destructive actions by classifying them into tiers that determine
6
6
  * whether explicit user confirmation, announcement, or silent execution is appropriate.
7
7
  */
8
- import type { IronDomeConfig } from './config.js';
8
+ import type { IronDomeConfig, IronDomeConfirmationProtocol, ConfirmationOverrides } from './config.js';
9
9
  export type ConfirmationTier = 'red' | 'amber' | 'green';
10
10
  export interface ConfirmationResult {
11
11
  tier: ConfirmationTier;
@@ -13,6 +13,14 @@ export interface ConfirmationResult {
13
13
  description: string;
14
14
  reversible: boolean;
15
15
  }
16
+ /**
17
+ * Merge user overrides into a base confirmation protocol.
18
+ *
19
+ * Each overridden action is removed from its original tier and placed
20
+ * into the user-specified tier. New actions (not in any default tier)
21
+ * are simply added to the specified tier.
22
+ */
23
+ export declare function mergeConfirmationProtocol(base: IronDomeConfirmationProtocol, overrides?: ConfirmationOverrides): IronDomeConfirmationProtocol;
16
24
  /**
17
25
  * Classify an action into a confirmation tier based on the Iron Dome configuration.
18
26
  *
@@ -20,6 +28,9 @@ export interface ConfirmationResult {
20
28
  * - AMBER: Actions that should be announced before proceeding.
21
29
  * - GREEN: Safe actions that can execute silently.
22
30
  * - Unknown actions default to AMBER (safe default).
31
+ *
32
+ * User overrides from `config.confirmationOverrides` are merged with profile
33
+ * defaults, with user choices taking precedence.
23
34
  */
24
35
  export declare function classifyAction(action: string, config: IronDomeConfig): ConfirmationResult;
25
36
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"confirmation-gate.d.ts","sourceRoot":"","sources":["../../../src/defence/iron-dome/confirmation-gate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGlD,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,GACrB,kBAAkB,CA8DpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,GACrB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,GACrB,OAAO,CAGT"}
1
+ {"version":3,"file":"confirmation-gate.d.ts","sourceRoot":"","sources":["../../../src/defence/iron-dome/confirmation-gate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAGvG,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,gBAAgB,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;GAMG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,4BAA4B,EAClC,SAAS,CAAC,EAAE,qBAAqB,GAChC,4BAA4B,CAwB9B;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,GACrB,kBAAkB,CA8DpB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,GACrB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,cAAc,GACrB,OAAO,CAGT"}
@@ -6,6 +6,41 @@
6
6
  * whether explicit user confirmation, announcement, or silent execution is appropriate.
7
7
  */
8
8
  import { logIronDomeAudit } from './audit.js';
9
+ /**
10
+ * Merge user overrides into a base confirmation protocol.
11
+ *
12
+ * Each overridden action is removed from its original tier and placed
13
+ * into the user-specified tier. New actions (not in any default tier)
14
+ * are simply added to the specified tier.
15
+ */
16
+ export function mergeConfirmationProtocol(base, overrides) {
17
+ if (!overrides)
18
+ return base;
19
+ // Collect all overridden action → tier mappings
20
+ const overrideMap = new Map();
21
+ for (const action of overrides.red ?? [])
22
+ overrideMap.set(action.toLowerCase(), 'red');
23
+ for (const action of overrides.amber ?? [])
24
+ overrideMap.set(action.toLowerCase(), 'amber');
25
+ for (const action of overrides.green ?? [])
26
+ overrideMap.set(action.toLowerCase(), 'green');
27
+ if (overrideMap.size === 0)
28
+ return base;
29
+ // Start with base tiers, remove any actions that the user is overriding
30
+ const red = base.red.filter(a => !overrideMap.has(a.toLowerCase()));
31
+ const amber = base.amber.filter(a => !overrideMap.has(a.toLowerCase()));
32
+ const green = base.green.filter(a => !overrideMap.has(a.toLowerCase()));
33
+ // Add overridden actions to their new tiers
34
+ for (const [action, tier] of overrideMap) {
35
+ if (tier === 'red')
36
+ red.push(action);
37
+ else if (tier === 'amber')
38
+ amber.push(action);
39
+ else
40
+ green.push(action);
41
+ }
42
+ return { red, amber, green };
43
+ }
9
44
  /**
10
45
  * Classify an action into a confirmation tier based on the Iron Dome configuration.
11
46
  *
@@ -13,6 +48,9 @@ import { logIronDomeAudit } from './audit.js';
13
48
  * - AMBER: Actions that should be announced before proceeding.
14
49
  * - GREEN: Safe actions that can execute silently.
15
50
  * - Unknown actions default to AMBER (safe default).
51
+ *
52
+ * User overrides from `config.confirmationOverrides` are merged with profile
53
+ * defaults, with user choices taking precedence.
16
54
  */
17
55
  export function classifyAction(action, config) {
18
56
  if (!config.enabled) {
@@ -24,7 +62,7 @@ export function classifyAction(action, config) {
24
62
  };
25
63
  }
26
64
  const normAction = action.toLowerCase();
27
- const protocol = config.confirmationProtocol;
65
+ const protocol = mergeConfirmationProtocol(config.confirmationProtocol, config.confirmationOverrides);
28
66
  // Check RED tier first (most restrictive)
29
67
  const isRed = protocol.red.some(r => normAction.includes(r.toLowerCase()));
30
68
  if (isRed) {
@@ -1 +1 @@
1
- {"version":3,"file":"confirmation-gate.js","sourceRoot":"","sources":["../../../src/defence/iron-dome/confirmation-gate.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAW9C;;;;;;;GAOG;AACH,MAAM,UAAU,cAAc,CAC5B,MAAc,EACd,MAAsB;IAEtB,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM;YACN,WAAW,EAAE,yBAAyB;YACtC,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,CAAC,WAAW,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,MAAM,CAAC,oBAAoB,CAAC;IAE7C,0CAA0C;IAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC3E,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,MAAM,GAAuB;YACjC,IAAI,EAAE,KAAK;YACX,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,WAAW,UAAU,qDAAqD;YACvF,UAAU,EAAE,KAAK;SAClB,CAAC;QAEF,gBAAgB,CAAC;YACf,MAAM,EAAE,mBAAmB;YAC3B,UAAU,EAAE,UAAU;YACtB,OAAO,EAAE,KAAK;YACd,MAAM,EAAE,MAAM,CAAC,WAAW;SAC3B,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,qCAAqC;IACrC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/E,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,WAAW,UAAU,+BAA+B;YACjE,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IAC/E,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO;YACL,IAAI,EAAE,OAAO;YACb,MAAM,EAAE,UAAU;YAClB,WAAW,EAAE,WAAW,UAAU,yCAAyC;YAC3E,UAAU,EAAE,IAAI;SACjB,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,OAAO;QACL,IAAI,EAAE,OAAO;QACb,MAAM,EAAE,UAAU;QAClB,WAAW,EAAE,WAAW,UAAU,2DAA2D;QAC7F,UAAU,EAAE,IAAI;KACjB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,MAAsB;IAEtB,OAAO,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,KAAK,KAAK,CAAC;AACvD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAClC,MAAc,EACd,MAAsB;IAEtB,MAAM,IAAI,GAAG,cAAc,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC;IACjD,OAAO,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,OAAO,CAAC;AAC5C,CAAC"}
1
+ {"version":3,"file":"confirmation-gate.js","sourceRoot":"","sources":["../../../src/defence/iron-dome/confirmation-gate.ts"],"names":[],"mappings":"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"}
@@ -6,9 +6,12 @@
6
6
  *
7
7
  * Main exports for the Iron Dome module.
8
8
  */
9
- import type { IronDomeConfig, IronDomeProfile } from './config.js';
9
+ import type { IronDomeConfig, IronDomeProfile, ConfirmationOverrides, IronDomeConfirmationProtocol } from './config.js';
10
+ import type { ConfirmationTier } from './confirmation-gate.js';
10
11
  export { DEFAULT_IRON_DOME_CONFIG, IRON_DOME_PROFILES } from './config.js';
11
- export type { IronDomeConfig, IronDomeProfile, IronDomePiiRules, IronDomeSubAgentRestrictions, IronDomeConfirmationProtocol } from './config.js';
12
+ export type { IronDomeConfig, IronDomeProfile, IronDomePiiRules, IronDomeSubAgentRestrictions, IronDomeConfirmationProtocol, ConfirmationOverrides } from './config.js';
13
+ export { classifyAction, requiresConfirmation, requiresAnnouncement, mergeConfirmationProtocol } from './confirmation-gate.js';
14
+ export type { ConfirmationTier, ConfirmationResult } from './confirmation-gate.js';
12
15
  export { scanForInjection } from './injection-scanner.js';
13
16
  export type { InjectionScanResult, InjectionDetection, InjectionSeverity, InjectionCategory } from './injection-scanner.js';
14
17
  export { isChannelTrusted, validateGateway } from './gateway.js';
@@ -37,4 +40,22 @@ export declare function getIronDomeStatus(): {
37
40
  config: IronDomeConfig;
38
41
  profile?: IronDomeProfile;
39
42
  };
43
+ /**
44
+ * Get the effective (merged) confirmation protocol — base + user overrides.
45
+ */
46
+ export declare function getEffectiveConfirmationProtocol(): IronDomeConfirmationProtocol;
47
+ /**
48
+ * Get just the user overrides (without the base protocol).
49
+ */
50
+ export declare function getConfirmationOverrides(): ConfirmationOverrides;
51
+ /**
52
+ * Move an action to a different confirmation tier.
53
+ * Adds the action to user overrides so it takes precedence over profile defaults.
54
+ */
55
+ export declare function moveConfirmationAction(action: string, tier: ConfirmationTier): void;
56
+ /**
57
+ * Remove a user override for an action (reverts to profile default).
58
+ * Returns true if the action was found in overrides, false if it wasn't overridden.
59
+ */
60
+ export declare function removeConfirmationOverride(action: string): boolean;
40
61
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/defence/iron-dome/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAMnE,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAEjJ,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE5H,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA4DrD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,CAyB1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CASzC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B,CAOA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/defence/iron-dome/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,qBAAqB,EAAE,4BAA4B,EAAE,MAAM,aAAa,CAAC;AAExH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAM/D,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC3E,YAAY,EAAE,cAAc,EAAE,eAAe,EAAE,gBAAgB,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAExK,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AAC/H,YAAY,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEnF,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,YAAY,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAE5H,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACjE,YAAY,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEzE,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,YAAY,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,YAAY,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AA4DrD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,CAAC,EAAE,eAAe,GAAG,cAAc,CAyB1E;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,IAAI,CASzC;AAED;;GAEG;AACH,wBAAgB,iBAAiB,IAAI;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,eAAe,CAAC;CAC3B,CAOA;AAID;;GAEG;AACH,wBAAgB,gCAAgC,IAAI,4BAA4B,CAG/E;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,qBAAqB,CAGhE;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,gBAAgB,GAAG,IAAI,CAyBnF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CA8BlE"}
@@ -8,9 +8,11 @@
8
8
  */
9
9
  import { getDatabase } from '../../database/init.js';
10
10
  import { DEFAULT_IRON_DOME_CONFIG, IRON_DOME_PROFILES } from './config.js';
11
+ import { mergeConfirmationProtocol } from './confirmation-gate.js';
11
12
  import { logIronDomeAudit } from './audit.js';
12
13
  // ── Re-exports ──
13
14
  export { DEFAULT_IRON_DOME_CONFIG, IRON_DOME_PROFILES } from './config.js';
15
+ export { classifyAction, requiresConfirmation, requiresAnnouncement, mergeConfirmationProtocol } from './confirmation-gate.js';
14
16
  export { scanForInjection } from './injection-scanner.js';
15
17
  export { isChannelTrusted, validateGateway } from './gateway.js';
16
18
  export { isActionAllowed } from './action-gate.js';
@@ -122,4 +124,80 @@ export function getIronDomeStatus() {
122
124
  profile: config.profile,
123
125
  };
124
126
  }
127
+ // ── Confirmation Override Management ──
128
+ /**
129
+ * Get the effective (merged) confirmation protocol — base + user overrides.
130
+ */
131
+ export function getEffectiveConfirmationProtocol() {
132
+ const config = loadConfig();
133
+ return mergeConfirmationProtocol(config.confirmationProtocol, config.confirmationOverrides);
134
+ }
135
+ /**
136
+ * Get just the user overrides (without the base protocol).
137
+ */
138
+ export function getConfirmationOverrides() {
139
+ const config = loadConfig();
140
+ return config.confirmationOverrides ?? {};
141
+ }
142
+ /**
143
+ * Move an action to a different confirmation tier.
144
+ * Adds the action to user overrides so it takes precedence over profile defaults.
145
+ */
146
+ export function moveConfirmationAction(action, tier) {
147
+ const config = loadConfig();
148
+ const overrides = config.confirmationOverrides ?? {};
149
+ const normAction = action.toLowerCase();
150
+ // Remove from all override tiers first
151
+ if (overrides.red)
152
+ overrides.red = overrides.red.filter(a => a.toLowerCase() !== normAction);
153
+ if (overrides.amber)
154
+ overrides.amber = overrides.amber.filter(a => a.toLowerCase() !== normAction);
155
+ if (overrides.green)
156
+ overrides.green = overrides.green.filter(a => a.toLowerCase() !== normAction);
157
+ // Add to the target tier
158
+ if (!overrides[tier])
159
+ overrides[tier] = [];
160
+ overrides[tier].push(normAction);
161
+ config.confirmationOverrides = overrides;
162
+ activeConfig = config;
163
+ saveConfig(config);
164
+ logIronDomeAudit({
165
+ action: 'confirmation_override',
166
+ actionType: normAction,
167
+ allowed: true,
168
+ reason: `Moved "${normAction}" to ${tier.toUpperCase()} tier`,
169
+ });
170
+ }
171
+ /**
172
+ * Remove a user override for an action (reverts to profile default).
173
+ * Returns true if the action was found in overrides, false if it wasn't overridden.
174
+ */
175
+ export function removeConfirmationOverride(action) {
176
+ const config = loadConfig();
177
+ const overrides = config.confirmationOverrides;
178
+ if (!overrides)
179
+ return false;
180
+ const normAction = action.toLowerCase();
181
+ let found = false;
182
+ for (const tier of ['red', 'amber', 'green']) {
183
+ if (overrides[tier]) {
184
+ const before = overrides[tier].length;
185
+ overrides[tier] = overrides[tier].filter(a => a.toLowerCase() !== normAction);
186
+ if (overrides[tier].length < before)
187
+ found = true;
188
+ }
189
+ }
190
+ if (found) {
191
+ config.confirmationOverrides = overrides;
192
+ activeConfig = config;
193
+ saveConfig(config);
194
+ logIronDomeAudit({
195
+ action: 'confirmation_override',
196
+ actionType: normAction,
197
+ allowed: true,
198
+ reason: `Removed override for "${normAction}" (reverted to default)`,
199
+ });
200
+ }
201
+ return found;
202
+ }
125
203
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/defence/iron-dome/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAErD,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,mBAAmB;AAEnB,OAAO,EAAE,wBAAwB,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAG3E,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAG1D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAGjE,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AAGnD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAG1C,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGpD,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,mCAAmC;AAEnC,gEAAgE;AAChE,IAAI,YAAY,GAAmB,EAAE,GAAG,wBAAwB,EAAE,CAAC;AAEnE;;GAEG;AACH,SAAS,WAAW;IAClB,IAAI,CAAC;QACH,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,EAAE,CAAC,IAAI,CAAC;;;;;;KAMP,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,+DAA+D;IACjE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAS,UAAU;IACjB,IAAI,CAAC;QACH,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,kDAAkD,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAkC,CAAC;QAC1H,IAAI,GAAG,EAAE,CAAC;YACR,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YACrC,OAAO,YAAY,CAAC;QACtB,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,0BAA0B;IAC5B,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;GAEG;AACH,SAAS,UAAU,CAAC,MAAsB;IACxC,IAAI,CAAC;QACH,WAAW,EAAE,CAAC;QACd,MAAM,EAAE,GAAG,WAAW,EAAE,CAAC;QACzB,EAAE,CAAC,OAAO,CAAC;;;;KAIV,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,OAAyB;IACxD,IAAI,MAAsB,CAAC;IAE3B,IAAI,OAAO,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;QAC3C,MAAM,GAAG;YACP,GAAG,kBAAkB,CAAC,OAAO,CAAC;YAC9B,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,MAAM,GAAG;YACP,GAAG,wBAAwB;YAC3B,OAAO,EAAE,IAAI;SACd,CAAC;IACJ,CAAC;IAED,YAAY,GAAG,MAAM,CAAC;IACtB,UAAU,CAAC,MAAM,CAAC,CAAC;IAEnB,gBAAgB,CAAC;QACf,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,2BAA2B,OAAO,EAAE,CAAC,CAAC,CAAC,+BAA+B;KACzF,CAAC,CAAC;IAEH,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB;IAChC,YAAY,GAAG,EAAE,GAAG,wBAAwB,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC/D,UAAU,CAAC,YAAY,CAAC,CAAC;IAEzB,gBAAgB,CAAC;QACf,MAAM,EAAE,YAAY;QACpB,OAAO,EAAE,IAAI;QACb,MAAM,EAAE,uBAAuB;KAChC,CAAC,CAAC;AACL,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAK/B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,OAAO;QACL,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,MAAM;QACN,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/defence/iron-dome/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "shieldcortex",
3
- "version": "2.15.0",
3
+ "version": "2.15.1",
4
4
  "description": "Persistent brain for AI agents. Knowledge graphs, memory decay, contradiction detection, Iron Dome behaviour protection — plus the only defence pipeline that stops memory poisoning. Works with Claude Code, OpenClaw, LangChain, and any MCP agent.",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",