safemode 2.0.18 → 2.0.19

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.
@@ -4523,36 +4523,230 @@ var CETClassifier = class {
4523
4523
  }
4524
4524
  /**
4525
4525
  * Analyze a shell command string and refine its classification.
4526
- * Reclassifies destructive commands (rm, chmod, etc.) as filesystem/delete
4527
- * so that knob gate file_delete and destructive_commands knobs apply.
4526
+ * Every Bash tool call goes through this to get a proper risk level
4527
+ * instead of the blanket 'critical' from the registry entry.
4528
4528
  */
4529
4529
  refineTerminalCommand(cmd) {
4530
4530
  const trimmed = cmd.trim();
4531
- const firstWord = trimmed.split(/\s+/)[0]?.replace(/^.*\//, "");
4532
- if (firstWord === "rm" || firstWord === "rmdir" || firstWord === "unlink") {
4531
+ if (trimmed.includes("|")) {
4532
+ return this.refinePipedCommand(trimmed);
4533
+ }
4534
+ if (/\s*(?:&&|;)\s*/.test(trimmed)) {
4535
+ return this.refineChainedCommand(trimmed);
4536
+ }
4537
+ return this.refineSingleCommand(trimmed);
4538
+ }
4539
+ /**
4540
+ * Classify a piped command by its most dangerous segment.
4541
+ * e.g. "curl url | bash" → critical (because of bash)
4542
+ */
4543
+ refinePipedCommand(cmd) {
4544
+ const segments = cmd.split("|").map((s) => s.trim());
4545
+ const riskOrder = ["low", "medium", "high", "critical"];
4546
+ let worst = null;
4547
+ let worstIdx = -1;
4548
+ for (const seg of segments) {
4549
+ const result = this.refineSingleCommand(seg);
4550
+ if (result) {
4551
+ const idx = riskOrder.indexOf(result.risk || "medium");
4552
+ if (idx > worstIdx) {
4553
+ worstIdx = idx;
4554
+ worst = result;
4555
+ }
4556
+ }
4557
+ }
4558
+ const lastSeg = segments[segments.length - 1]?.split(/\s+/)[0]?.replace(/^.*\//, "");
4559
+ if (lastSeg === "bash" || lastSeg === "sh" || lastSeg === "zsh") {
4560
+ return { category: "terminal", action: "execute", risk: "critical" };
4561
+ }
4562
+ return worst;
4563
+ }
4564
+ /**
4565
+ * Classify chained commands (&&, ;) by the most dangerous segment.
4566
+ */
4567
+ refineChainedCommand(cmd) {
4568
+ const segments = cmd.split(/\s*(?:&&|;)\s*/).map((s) => s.trim()).filter(Boolean);
4569
+ const riskOrder = ["low", "medium", "high", "critical"];
4570
+ let worst = null;
4571
+ let worstIdx = -1;
4572
+ for (const seg of segments) {
4573
+ const result = seg.includes("|") ? this.refinePipedCommand(seg) : this.refineSingleCommand(seg);
4574
+ if (result) {
4575
+ const idx = riskOrder.indexOf(result.risk || "medium");
4576
+ if (idx > worstIdx) {
4577
+ worstIdx = idx;
4578
+ worst = result;
4579
+ }
4580
+ }
4581
+ }
4582
+ return worst;
4583
+ }
4584
+ /**
4585
+ * Classify a single (non-piped, non-chained) command.
4586
+ */
4587
+ refineSingleCommand(cmd) {
4588
+ const trimmed = cmd.trim();
4589
+ const words = trimmed.split(/\s+/);
4590
+ const firstWord = words[0]?.replace(/^.*\//, "");
4591
+ if (!firstWord) return null;
4592
+ if (firstWord === "sudo") {
4593
+ return { category: "terminal", action: "execute", risk: "critical" };
4594
+ }
4595
+ if (firstWord === "dd") {
4596
+ return { category: "filesystem", action: "write", risk: "critical" };
4597
+ }
4598
+ if (firstWord === "mkfs" || firstWord === "fdisk" || firstWord === "parted") {
4533
4599
  return { category: "filesystem", action: "delete", risk: "critical" };
4534
4600
  }
4601
+ if (firstWord === "rm" || firstWord === "rmdir" || firstWord === "unlink") {
4602
+ if (/\s-\S*r/i.test(trimmed) || trimmed.includes("--recursive")) {
4603
+ return { category: "filesystem", action: "delete", risk: "high" };
4604
+ }
4605
+ return { category: "filesystem", action: "delete", risk: "medium" };
4606
+ }
4535
4607
  if (firstWord === "git") {
4536
- const subCmd = trimmed.split(/\s+/)[1];
4537
- if (subCmd === "push" && trimmed.includes("--force")) return { category: "git", action: "delete", risk: "critical" };
4608
+ const subCmd = words[1];
4609
+ if (subCmd === "push" && (trimmed.includes("--force") || trimmed.includes("-f"))) {
4610
+ return { category: "git", action: "delete", risk: "critical" };
4611
+ }
4538
4612
  if (subCmd === "push") return { category: "git", action: "write", risk: "medium" };
4539
4613
  if (subCmd === "branch" && trimmed.includes("-D")) return { category: "git", action: "delete", risk: "high" };
4540
4614
  if (subCmd === "reset" && trimmed.includes("--hard")) return { category: "git", action: "delete", risk: "high" };
4541
- return null;
4615
+ if (subCmd === "clean" && trimmed.includes("-f")) return { category: "git", action: "delete", risk: "high" };
4616
+ if (subCmd === "rebase") return { category: "git", action: "write", risk: "medium" };
4617
+ return { category: "git", action: "read", risk: "low" };
4542
4618
  }
4543
- if (firstWord === "npm" || firstWord === "yarn" || firstWord === "pnpm" || firstWord === "pip" || firstWord === "pip3") {
4544
- const subCmd = trimmed.split(/\s+/)[1];
4619
+ if (firstWord === "npm" || firstWord === "yarn" || firstWord === "pnpm" || firstWord === "pip" || firstWord === "pip3" || firstWord === "bun") {
4620
+ const subCmd = words[1];
4545
4621
  if (subCmd === "install" || subCmd === "add" || subCmd === "i") {
4546
4622
  return { category: "package", action: "create", risk: "medium" };
4547
4623
  }
4548
4624
  if (subCmd === "uninstall" || subCmd === "remove" || subCmd === "rm") {
4549
4625
  return { category: "package", action: "delete", risk: "medium" };
4550
4626
  }
4627
+ return { category: "terminal", action: "execute", risk: "medium" };
4628
+ }
4629
+ if (firstWord === "npx") {
4630
+ return { category: "terminal", action: "execute", risk: "medium" };
4551
4631
  }
4552
4632
  if (firstWord === "curl" || firstWord === "wget") {
4553
4633
  return { category: "network", action: "read", risk: "medium" };
4554
4634
  }
4555
- return null;
4635
+ if (firstWord === "node" || firstWord === "python" || firstWord === "python3" || firstWord === "ruby" || firstWord === "perl" || firstWord === "deno" || firstWord === "bun") {
4636
+ return { category: "terminal", action: "execute", risk: "medium" };
4637
+ }
4638
+ if (firstWord === "chmod" || firstWord === "chown" || firstWord === "chgrp") {
4639
+ return { category: "filesystem", action: "write", risk: "high" };
4640
+ }
4641
+ if (firstWord === "mv" || firstWord === "cp") {
4642
+ return { category: "filesystem", action: "write", risk: "medium" };
4643
+ }
4644
+ if (firstWord === "mkdir" || firstWord === "touch") {
4645
+ return { category: "filesystem", action: "create", risk: "low" };
4646
+ }
4647
+ if (firstWord === "sed" || firstWord === "awk") {
4648
+ if (trimmed.includes(" -i")) return { category: "filesystem", action: "write", risk: "medium" };
4649
+ return { category: "filesystem", action: "read", risk: "low" };
4650
+ }
4651
+ if (firstWord === "tee") {
4652
+ return { category: "filesystem", action: "write", risk: "medium" };
4653
+ }
4654
+ const readOnlyCommands = /* @__PURE__ */ new Set([
4655
+ "echo",
4656
+ "printf",
4657
+ "ls",
4658
+ "dir",
4659
+ "pwd",
4660
+ "cat",
4661
+ "head",
4662
+ "tail",
4663
+ "less",
4664
+ "more",
4665
+ "grep",
4666
+ "rg",
4667
+ "ag",
4668
+ "ack",
4669
+ "find",
4670
+ "fd",
4671
+ "which",
4672
+ "where",
4673
+ "type",
4674
+ "command",
4675
+ "cd",
4676
+ "wc",
4677
+ "sort",
4678
+ "uniq",
4679
+ "diff",
4680
+ "tr",
4681
+ "cut",
4682
+ "env",
4683
+ "printenv",
4684
+ "export",
4685
+ "date",
4686
+ "whoami",
4687
+ "hostname",
4688
+ "uname",
4689
+ "id",
4690
+ "groups",
4691
+ "file",
4692
+ "stat",
4693
+ "du",
4694
+ "df",
4695
+ "test",
4696
+ "[",
4697
+ "true",
4698
+ "false",
4699
+ "seq",
4700
+ "yes",
4701
+ "basename",
4702
+ "dirname",
4703
+ "realpath",
4704
+ "readlink",
4705
+ "md5sum",
4706
+ "sha256sum",
4707
+ "sha1sum",
4708
+ "base64",
4709
+ "xxd",
4710
+ "od",
4711
+ "hexdump",
4712
+ "man",
4713
+ "help",
4714
+ "info",
4715
+ "bat",
4716
+ "jq",
4717
+ "yq",
4718
+ "xargs",
4719
+ "safemode"
4720
+ ]);
4721
+ if (readOnlyCommands.has(firstWord)) {
4722
+ return { category: "terminal", action: "read", risk: "low" };
4723
+ }
4724
+ const buildTools = /* @__PURE__ */ new Set([
4725
+ "make",
4726
+ "cmake",
4727
+ "cargo",
4728
+ "go",
4729
+ "rustc",
4730
+ "gcc",
4731
+ "g++",
4732
+ "clang",
4733
+ "javac",
4734
+ "tsc",
4735
+ "esbuild",
4736
+ "webpack",
4737
+ "vite",
4738
+ "rollup",
4739
+ "turbo",
4740
+ "nx",
4741
+ "docker",
4742
+ "podman",
4743
+ "terraform",
4744
+ "kubectl"
4745
+ ]);
4746
+ if (buildTools.has(firstWord)) {
4747
+ return { category: "terminal", action: "execute", risk: "medium" };
4748
+ }
4749
+ return { category: "terminal", action: "execute", risk: "medium" };
4556
4750
  }
4557
4751
  /**
4558
4752
  * Classify from inference (L2)
@@ -23,10 +23,23 @@ export declare class CETClassifier {
23
23
  private classifyFromRegistry;
24
24
  /**
25
25
  * Analyze a shell command string and refine its classification.
26
- * Reclassifies destructive commands (rm, chmod, etc.) as filesystem/delete
27
- * so that knob gate file_delete and destructive_commands knobs apply.
26
+ * Every Bash tool call goes through this to get a proper risk level
27
+ * instead of the blanket 'critical' from the registry entry.
28
28
  */
29
29
  private refineTerminalCommand;
30
+ /**
31
+ * Classify a piped command by its most dangerous segment.
32
+ * e.g. "curl url | bash" → critical (because of bash)
33
+ */
34
+ private refinePipedCommand;
35
+ /**
36
+ * Classify chained commands (&&, ;) by the most dangerous segment.
37
+ */
38
+ private refineChainedCommand;
39
+ /**
40
+ * Classify a single (non-piped, non-chained) command.
41
+ */
42
+ private refineSingleCommand;
30
43
  /**
31
44
  * Classify from inference (L2)
32
45
  */
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cet/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,KAAK,cAAc,EAMnB,KAAK,cAAc,EAEpB,MAAM,YAAY,CAAC;AA8MpB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,GAAE,MAAsB;IAK9C;;OAEG;IACH,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,CAAC,EAAE,MAAM,GAClB,cAAc;IAajB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6D5B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAyC7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6C7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqC1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI;CAGlD"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cet/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EACL,KAAK,cAAc,EAMnB,KAAK,cAAc,EAEpB,MAAM,YAAY,CAAC;AA8MpB,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAoB;IACpC,OAAO,CAAC,UAAU,CAAS;gBAEf,UAAU,GAAE,MAAsB;IAK9C;;OAEG;IACH,QAAQ,CACN,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,CAAC,EAAE,MAAM,GAClB,cAAc;IAajB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA6D5B;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAe7B;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAwB5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0H3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA6C7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAe5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAqC1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,IAAI;CAGlD"}
@@ -280,45 +280,186 @@ export class CETClassifier {
280
280
  }
281
281
  /**
282
282
  * Analyze a shell command string and refine its classification.
283
- * Reclassifies destructive commands (rm, chmod, etc.) as filesystem/delete
284
- * so that knob gate file_delete and destructive_commands knobs apply.
283
+ * Every Bash tool call goes through this to get a proper risk level
284
+ * instead of the blanket 'critical' from the registry entry.
285
285
  */
286
286
  refineTerminalCommand(cmd) {
287
287
  const trimmed = cmd.trim();
288
- const firstWord = trimmed.split(/\s+/)[0]?.replace(/^.*\//, ''); // strip path prefix
289
- // File deletion commands → filesystem/delete
290
- if (firstWord === 'rm' || firstWord === 'rmdir' || firstWord === 'unlink') {
288
+ // Handle piped commands classify by the most dangerous segment
289
+ if (trimmed.includes('|')) {
290
+ return this.refinePipedCommand(trimmed);
291
+ }
292
+ // Handle chained commands (&&, ;) — classify by the most dangerous segment
293
+ if (/\s*(?:&&|;)\s*/.test(trimmed)) {
294
+ return this.refineChainedCommand(trimmed);
295
+ }
296
+ return this.refineSingleCommand(trimmed);
297
+ }
298
+ /**
299
+ * Classify a piped command by its most dangerous segment.
300
+ * e.g. "curl url | bash" → critical (because of bash)
301
+ */
302
+ refinePipedCommand(cmd) {
303
+ const segments = cmd.split('|').map(s => s.trim());
304
+ const riskOrder = ['low', 'medium', 'high', 'critical'];
305
+ let worst = null;
306
+ let worstIdx = -1;
307
+ for (const seg of segments) {
308
+ const result = this.refineSingleCommand(seg);
309
+ if (result) {
310
+ const idx = riskOrder.indexOf(result.risk || 'medium');
311
+ if (idx > worstIdx) {
312
+ worstIdx = idx;
313
+ worst = result;
314
+ }
315
+ }
316
+ }
317
+ // Special case: piping into bash/sh is always critical
318
+ const lastSeg = segments[segments.length - 1]?.split(/\s+/)[0]?.replace(/^.*\//, '');
319
+ if (lastSeg === 'bash' || lastSeg === 'sh' || lastSeg === 'zsh') {
320
+ return { category: 'terminal', action: 'execute', risk: 'critical' };
321
+ }
322
+ return worst;
323
+ }
324
+ /**
325
+ * Classify chained commands (&&, ;) by the most dangerous segment.
326
+ */
327
+ refineChainedCommand(cmd) {
328
+ const segments = cmd.split(/\s*(?:&&|;)\s*/).map(s => s.trim()).filter(Boolean);
329
+ const riskOrder = ['low', 'medium', 'high', 'critical'];
330
+ let worst = null;
331
+ let worstIdx = -1;
332
+ for (const seg of segments) {
333
+ // Each segment might itself be piped
334
+ const result = seg.includes('|')
335
+ ? this.refinePipedCommand(seg)
336
+ : this.refineSingleCommand(seg);
337
+ if (result) {
338
+ const idx = riskOrder.indexOf(result.risk || 'medium');
339
+ if (idx > worstIdx) {
340
+ worstIdx = idx;
341
+ worst = result;
342
+ }
343
+ }
344
+ }
345
+ return worst;
346
+ }
347
+ /**
348
+ * Classify a single (non-piped, non-chained) command.
349
+ */
350
+ refineSingleCommand(cmd) {
351
+ const trimmed = cmd.trim();
352
+ const words = trimmed.split(/\s+/);
353
+ const firstWord = words[0]?.replace(/^.*\//, ''); // strip path prefix
354
+ if (!firstWord)
355
+ return null;
356
+ // ── Critical: genuinely catastrophic ──
357
+ if (firstWord === 'sudo') {
358
+ return { category: 'terminal', action: 'execute', risk: 'critical' };
359
+ }
360
+ if (firstWord === 'dd') {
361
+ return { category: 'filesystem', action: 'write', risk: 'critical' };
362
+ }
363
+ if (firstWord === 'mkfs' || firstWord === 'fdisk' || firstWord === 'parted') {
291
364
  return { category: 'filesystem', action: 'delete', risk: 'critical' };
292
365
  }
293
- // Git operationsonly reclassify dangerous ones
366
+ // ── File deletion risk depends on flags ──
367
+ if (firstWord === 'rm' || firstWord === 'rmdir' || firstWord === 'unlink') {
368
+ // rm -rf, rm -r, rm --recursive → high
369
+ if (/\s-\S*r/i.test(trimmed) || trimmed.includes('--recursive')) {
370
+ return { category: 'filesystem', action: 'delete', risk: 'high' };
371
+ }
372
+ // rm <specific file> → medium
373
+ return { category: 'filesystem', action: 'delete', risk: 'medium' };
374
+ }
375
+ // ── Git operations ──
294
376
  if (firstWord === 'git') {
295
- const subCmd = trimmed.split(/\s+/)[1];
296
- if (subCmd === 'push' && trimmed.includes('--force'))
377
+ const subCmd = words[1];
378
+ if (subCmd === 'push' && (trimmed.includes('--force') || trimmed.includes('-f'))) {
297
379
  return { category: 'git', action: 'delete', risk: 'critical' };
380
+ }
298
381
  if (subCmd === 'push')
299
382
  return { category: 'git', action: 'write', risk: 'medium' };
300
383
  if (subCmd === 'branch' && trimmed.includes('-D'))
301
384
  return { category: 'git', action: 'delete', risk: 'high' };
302
385
  if (subCmd === 'reset' && trimmed.includes('--hard'))
303
386
  return { category: 'git', action: 'delete', risk: 'high' };
304
- // Safe git operations (add, commit, status, diff, log, etc.) — don't reclassify
305
- return null;
387
+ if (subCmd === 'clean' && trimmed.includes('-f'))
388
+ return { category: 'git', action: 'delete', risk: 'high' };
389
+ if (subCmd === 'rebase')
390
+ return { category: 'git', action: 'write', risk: 'medium' };
391
+ // Safe git: status, log, diff, show, branch (list), stash list, add, commit, fetch, pull, checkout
392
+ return { category: 'git', action: 'read', risk: 'low' };
306
393
  }
307
- // Package installs → package category
308
- if (firstWord === 'npm' || firstWord === 'yarn' || firstWord === 'pnpm' || firstWord === 'pip' || firstWord === 'pip3') {
309
- const subCmd = trimmed.split(/\s+/)[1];
394
+ // ── Package managers ──
395
+ if (firstWord === 'npm' || firstWord === 'yarn' || firstWord === 'pnpm' || firstWord === 'pip' || firstWord === 'pip3' || firstWord === 'bun') {
396
+ const subCmd = words[1];
310
397
  if (subCmd === 'install' || subCmd === 'add' || subCmd === 'i') {
311
398
  return { category: 'package', action: 'create', risk: 'medium' };
312
399
  }
313
400
  if (subCmd === 'uninstall' || subCmd === 'remove' || subCmd === 'rm') {
314
401
  return { category: 'package', action: 'delete', risk: 'medium' };
315
402
  }
403
+ // npm run, npm test, npm start, npx, etc. → medium (runs scripts)
404
+ return { category: 'terminal', action: 'execute', risk: 'medium' };
316
405
  }
317
- // Network commands network category
406
+ if (firstWord === 'npx') {
407
+ return { category: 'terminal', action: 'execute', risk: 'medium' };
408
+ }
409
+ // ── Network commands ──
318
410
  if (firstWord === 'curl' || firstWord === 'wget') {
319
411
  return { category: 'network', action: 'read', risk: 'medium' };
320
412
  }
321
- return null;
413
+ // ── Script runners → medium ──
414
+ if (firstWord === 'node' || firstWord === 'python' || firstWord === 'python3' ||
415
+ firstWord === 'ruby' || firstWord === 'perl' || firstWord === 'deno' || firstWord === 'bun') {
416
+ return { category: 'terminal', action: 'execute', risk: 'medium' };
417
+ }
418
+ // ── Permission/ownership changes → high ──
419
+ if (firstWord === 'chmod' || firstWord === 'chown' || firstWord === 'chgrp') {
420
+ return { category: 'filesystem', action: 'write', risk: 'high' };
421
+ }
422
+ // ── File write operations → medium ──
423
+ if (firstWord === 'mv' || firstWord === 'cp') {
424
+ return { category: 'filesystem', action: 'write', risk: 'medium' };
425
+ }
426
+ if (firstWord === 'mkdir' || firstWord === 'touch') {
427
+ return { category: 'filesystem', action: 'create', risk: 'low' };
428
+ }
429
+ if (firstWord === 'sed' || firstWord === 'awk') {
430
+ // In-place edit flag (-i) → medium, otherwise read
431
+ if (trimmed.includes(' -i'))
432
+ return { category: 'filesystem', action: 'write', risk: 'medium' };
433
+ return { category: 'filesystem', action: 'read', risk: 'low' };
434
+ }
435
+ if (firstWord === 'tee') {
436
+ return { category: 'filesystem', action: 'write', risk: 'medium' };
437
+ }
438
+ // ── Read-only / informational commands → low ──
439
+ const readOnlyCommands = new Set([
440
+ 'echo', 'printf', 'ls', 'dir', 'pwd', 'cat', 'head', 'tail', 'less', 'more',
441
+ 'grep', 'rg', 'ag', 'ack', 'find', 'fd', 'which', 'where', 'type', 'command',
442
+ 'cd', 'wc', 'sort', 'uniq', 'diff', 'tr', 'cut', 'env', 'printenv', 'export',
443
+ 'date', 'whoami', 'hostname', 'uname', 'id', 'groups', 'file', 'stat', 'du', 'df',
444
+ 'test', '[', 'true', 'false', 'seq', 'yes', 'basename', 'dirname', 'realpath',
445
+ 'readlink', 'md5sum', 'sha256sum', 'sha1sum', 'base64', 'xxd', 'od', 'hexdump',
446
+ 'man', 'help', 'info', 'bat', 'jq', 'yq', 'xargs',
447
+ 'safemode',
448
+ ]);
449
+ if (readOnlyCommands.has(firstWord)) {
450
+ return { category: 'terminal', action: 'read', risk: 'low' };
451
+ }
452
+ // ── Build tools → medium ──
453
+ const buildTools = new Set([
454
+ 'make', 'cmake', 'cargo', 'go', 'rustc', 'gcc', 'g++', 'clang', 'javac',
455
+ 'tsc', 'esbuild', 'webpack', 'vite', 'rollup', 'turbo', 'nx',
456
+ 'docker', 'podman', 'terraform', 'kubectl',
457
+ ]);
458
+ if (buildTools.has(firstWord)) {
459
+ return { category: 'terminal', action: 'execute', risk: 'medium' };
460
+ }
461
+ // ── Default: unrecognized commands → medium (not critical) ──
462
+ return { category: 'terminal', action: 'execute', risk: 'medium' };
322
463
  }
323
464
  /**
324
465
  * Classify from inference (L2)
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cet/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAQL,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,+EAA+E;AAC/E,2BAA2B;AAC3B,+EAA+E;AAE/E,MAAM,WAAW,GAAsB;IACrC,mBAAmB;IACnB,mDAAmD,EAAE;QACnD,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,iBAAiB;QAC7B,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,KAAK;KACZ;IACD,oDAAoD,EAAE;QACpD,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,iBAAiB;QAC7B,QAAQ,EAAE,YAAY;QACtB,eAAe,EAAE,IAAI;KACtB;IACD,wDAAwD,EAAE;QACxD,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,iBAAiB;QAC7B,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,KAAK;KACZ;IACD,0DAA0D,EAAE;QAC1D,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,iBAAiB;QAC7B,QAAQ,EAAE,YAAY;QACtB,eAAe,EAAE,IAAI;KACtB;IACD,qDAAqD,EAAE;QACrD,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,iBAAiB;QAC7B,QAAQ,EAAE,YAAY;QACtB,eAAe,EAAE,IAAI;KACtB;IACD,mDAAmD,EAAE;QACnD,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,mBAAmB;QAC/B,QAAQ,EAAE,YAAY;QACtB,eAAe,EAAE,IAAI;KACtB;IACD,sDAAsD,EAAE;QACtD,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,iBAAiB;QAC7B,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,KAAK;KACZ;IAED,sBAAsB;IACtB,mCAAmC,EAAE;QACnC,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,SAAS;QACnB,IAAI,EAAE,KAAK;KACZ;IAED,YAAY;IACZ,6CAA6C,EAAE;QAC7C,MAAM,EAAE,MAAM;QACd,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,KAAK;KACZ;IACD,6CAA6C,EAAE;QAC7C,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,KAAK;KACZ;IACD,2CAA2C,EAAE;QAC3C,MAAM,EAAE,OAAO;QACf,KAAK,EAAE,SAAS;QAChB,QAAQ,EAAE,KAAK;QACf,IAAI,EAAE,QAAQ;KACf;IAED,iBAAiB;IACjB,kBAAkB,EAAE;QAClB,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;KACjB;IACD,UAAU,EAAE;QACV,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;KACjB;IAED,gCAAgC;IAChC,MAAM,EAAE;QACN,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;KACjB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,sBAAsB;QAClC,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,KAAK;KACZ;IACD,OAAO,EAAE;QACP,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,sBAAsB;QAClC,QAAQ,EAAE,YAAY;QACtB,eAAe,EAAE,IAAI;KACtB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,sBAAsB;QAClC,QAAQ,EAAE,YAAY;QACtB,eAAe,EAAE,IAAI;KACtB;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,KAAK;KACZ;IACD,MAAM,EAAE;QACN,MAAM,EAAE,QAAQ;QAChB,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,KAAK;KACZ;IAED,oBAAoB;IACpB,sBAAsB,EAAE;QACtB,MAAM,EAAE,SAAS;QACjB,KAAK,EAAE,QAAQ;QACf,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,UAAU;KACjB;IACD,WAAW,EAAE;QACX,MAAM,EAAE,OAAO;QACf,UAAU,EAAE,wBAAwB;QACpC,QAAQ,EAAE,YAAY;QACtB,eAAe,EAAE,IAAI;KACtB;IACD,WAAW,EAAE;QACX,MAAM,EAAE,MAAM;QACd,UAAU,EAAE,wBAAwB;QACpC,QAAQ,EAAE,YAAY;QACtB,IAAI,EAAE,KAAK;KACZ;IACD,aAAa,EAAE;QACb,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,wBAAwB;QACpC,QAAQ,EAAE,YAAY;QACtB,eAAe,EAAE,IAAI;KACtB;CACF,CAAC;AAEF,+EAA+E;AAC/E,iCAAiC;AACjC,+EAA+E;AAE/E,MAAM,kBAAkB,GAAsE;IAC5F,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;IAChC,IAAI,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;IAChC,QAAQ,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;IACpC,QAAQ,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;IACpC,SAAS,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;IACrC,GAAG,EAAE,EAAE,QAAQ,EAAE,YAAY,EAAE;IAC/B,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC/B,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE;IAC7B,GAAG,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;IAClD,QAAQ,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE;IACvD,OAAO,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE;IACtD,GAAG,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE;IAClD,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE;IACpD,MAAM,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE;IACzD,KAAK,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE;IACxD,OAAO,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,WAAW,EAAE;CAC3D,CAAC;AAEF,MAAM,eAAe,GAA+B;IAClD,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,MAAM;IACX,KAAK,EAAE,MAAM;IACb,IAAI,EAAE,MAAM;IACZ,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,OAAO;IACd,MAAM,EAAE,QAAQ;IAChB,GAAG,EAAE,QAAQ;IACb,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,OAAO;IACf,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,SAAS;IAClB,GAAG,EAAE,SAAS;IACd,IAAI,EAAE,SAAS;IACf,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,UAAU;CACjB,CAAC;AAEF,+EAA+E;AAC/E,iBAAiB;AACjB,+EAA+E;AAE/E,MAAM,OAAO,aAAa;IAChB,QAAQ,CAAoB;IAC5B,UAAU,CAAS;IAE3B,YAAY,aAAqB,OAAO,CAAC,GAAG,EAAE;QAC5C,IAAI,CAAC,QAAQ,GAAG,WAAW,CAAC;QAC5B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,QAAQ,CACN,QAAgB,EAChB,MAA+B,EAC/B,UAAmB;QAEnB,8BAA8B;QAC9B,MAAM,WAAW,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;QACxE,MAAM,KAAK,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAEzC,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,IAAI,CAAC,oBAAoB,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAClD,CAAC;QAED,oCAAoC;QACpC,OAAO,IAAI,CAAC,qBAAqB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACK,oBAAoB,CAC1B,KAAqB,EACrB,MAA+B;QAE/B,aAAa;QACb,IAAI,MAAM,GAAe,KAAK,CAAC,MAAM,IAAI,MAAM,CAAC;QAChD,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;YACtB,MAAM,WAAW,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;YACnE,IAAI,OAAO,WAAW,KAAK,QAAQ,EAAE,CAAC;gBACpC,MAAM,GAAG,IAAI,CAAC,oBAAoB,CAAC,WAAW,CAAC,CAAC;YAClD,CAAC;QACH,CAAC;QAED,YAAY;QACZ,IAAI,KAAK,GAAc,KAAK,CAAC,KAAK,IAAI,SAAS,CAAC;QAChD,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,CAAC;YAC7D,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;gBAC/B,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QAED,WAAW;QACX,IAAI,IAAe,CAAC;QACpB,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC;YACf,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACpB,CAAC;aAAM,IAAI,KAAK,CAAC,eAAe,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3D,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YACN,IAAI,GAAG,KAAK,CAAC;QACf,CAAC;QAED,aAAa;QACb,MAAM,MAAM,GAAG,KAAK,CAAC,UAAU;YAC7B,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAC7D,CAAC,CAAC,EAAE,CAAC;QAEP,IAAI,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAE9B,wDAAwD;QACxD,IAAI,QAAQ,KAAK,UAAU,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACpD,MAAM,GAAG,GAAG,MAAM,CAAC,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC;YACvD,MAAM,OAAO,GAAG,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,CAAC;YAChD,IAAI,OAAO,EAAE,CAAC;gBACZ,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAC5B,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBACxB,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,OAAO;YACL,MAAM;YACN,MAAM;YACN,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,UAAU,EAAE,GAAG;YACf,MAAM,EAAE,UAAU;SACnB,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAC3B,GAAW;QAEX,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;QAC3B,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB;QAErF,6CAA6C;QAC7C,IAAI,SAAS,KAAK,IAAI,IAAI,SAAS,KAAK,OAAO,IAAI,SAAS,KAAK,QAAQ,EAAE,CAAC;YAC1E,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;QACxE,CAAC;QAED,kDAAkD;QAClD,IAAI,SAAS,KAAK,KAAK,EAAE,CAAC;YACxB,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,MAAM,KAAK,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;YACrH,IAAI,MAAM,KAAK,MAAM;gBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACnF,IAAI,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;gBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YAC9G,IAAI,MAAM,KAAK,OAAO,IAAI,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;YACjH,gFAAgF;YAChF,OAAO,IAAI,CAAC;QACd,CAAC;QAED,sCAAsC;QACtC,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,KAAK,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACvH,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YACvC,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;gBAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACnE,CAAC;YACD,IAAI,MAAM,KAAK,WAAW,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;gBACrE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YACnE,CAAC;QACH,CAAC;QAED,sCAAsC;QACtC,IAAI,SAAS,KAAK,MAAM,IAAI,SAAS,KAAK,MAAM,EAAE,CAAC;YACjD,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACjE,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACK,qBAAqB,CAC3B,QAAgB,EAChB,MAA+B;QAE/B,iCAAiC;QACjC,IAAI,QAAQ,GAAiB,SAAS,CAAC;QACvC,IAAI,SAAgC,CAAC;QACrC,IAAI,MAAM,GAAG,EAAE,CAAC;QAEhB,KAAK,MAAM,CAAC,SAAS,EAAE,WAAW,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9D,MAAM,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;YAC1C,KAAK,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC;gBACjE,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;oBAChC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;oBACzB,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;oBAC3B,MAAM,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;oBAC7B,MAAM;gBACR,CAAC;YACH,CAAC;YACD,IAAI,QAAQ,KAAK,SAAS;gBAAE,MAAM;QACpC,CAAC;QAED,8BAA8B;QAC9B,MAAM,MAAM,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAElD,kCAAkC;QAClC,IAAI,KAAK,GAAc,SAAS,IAAI,SAAS,CAAC;QAC9C,IAAI,MAAM,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YACxC,KAAK,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;QAC1C,CAAC;QAED,eAAe;QACf,MAAM,IAAI,GAAG,iBAAiB,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE9C,OAAO;YACL,MAAM;YACN,MAAM;YACN,KAAK;YACL,IAAI;YACJ,QAAQ;YACR,UAAU,EAAE,IAAI,EAAE,uBAAuB;YACzC,MAAM,EAAE,WAAW;SACpB,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,QAAgB;QAC1C,MAAM,SAAS,GAAG,QAAQ,CAAC,WAAW,EAAE,CAAC;QAEzC,KAAK,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;YAChE,IAAI,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;gBAChC,OAAO,MAAM,CAAC;YAChB,CAAC;QACH,CAAC;QAED,8BAA8B;QAC9B,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,oBAAoB,CAAC,KAAa;QACxC,MAAM,UAAU,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC,IAAI,EAAE,CAAC;QAE9C,eAAe;QACf,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,MAAM,CAAC;QACjD,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,QAAQ,CAAC;QACnD,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,OAAO,CAAC;QAClD,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,QAAQ,CAAC;QACnD,IAAI,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,QAAQ,CAAC;QACjD,IAAI,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,QAAQ,CAAC;QACnD,IAAI,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC;YAAE,OAAO,OAAO,CAAC;QAEjD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;OAEG;IACK,kBAAkB,CAAC,OAAe;QACxC,gBAAgB;QAChB,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;YAClC,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,eAAe;QACf,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9E,KAAK,MAAM,GAAG,IAAI,WAAW,EAAE,CAAC;YAC9B,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC5B,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QAED,kBAAkB;QAClB,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7F,0BAA0B;YAC1B,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC3D,OAAO,SAAS,CAAC;YACnB,CAAC;YACD,OAAO,WAAW,CAAC;QACrB,CAAC;QAED,mCAAmC;QACnC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACtF,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,oCAAoC;QACpC,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3D,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,sEAAsE;QACtE,OAAO,WAAW,CAAC;IACrB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,GAA4B,EAAE,IAAY;QAC/D,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAC9B,IAAI,OAAO,GAAY,GAAG,CAAC;QAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YACzB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS;gBAAE,OAAO,SAAS,CAAC;YAChE,IAAI,OAAO,OAAO,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAC;YAClD,OAAO,GAAI,OAAmC,CAAC,IAAI,CAAC,CAAC;QACvD,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,GAAW,EAAE,KAAqB;QACxC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;IAC7B,CAAC;CACF"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/cet/index.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "safemode",
3
- "version": "2.0.18",
3
+ "version": "2.0.19",
4
4
  "description": "Stop your AI coding agent from doing something you'll regret.",
5
5
  "license": "Apache-2.0",
6
6
  "type": "module",