@mnemonik/cli 7.154.3 → 7.156.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/auth/credentials.js +35 -22
  2. package/dist/auth/index.js +35 -22
  3. package/dist/auth/installSession.js +21 -10
  4. package/dist/auth/status.js +21 -10
  5. package/dist/authorizationWords.js +21 -10
  6. package/dist/diagnostics.js +35 -22
  7. package/dist/digests.json +47 -43
  8. package/dist/hooksLog.js +3 -1
  9. package/dist/identity/migrate.js +35 -22
  10. package/dist/install/hosts.js +21 -10
  11. package/dist/install/journal.js +35 -22
  12. package/dist/install/journey.d.ts.map +1 -1
  13. package/dist/install/journey.js +42 -22
  14. package/dist/install/journey.js.map +1 -1
  15. package/dist/install/ownership.js +35 -22
  16. package/dist/install/transaction.js +35 -22
  17. package/dist/install/ui.js +35 -22
  18. package/dist/installSession.js +21 -10
  19. package/dist/installation.js +35 -22
  20. package/dist/launcher.js +35 -22
  21. package/dist/preflight.js +23 -10
  22. package/dist/project/eligibility.js +35 -22
  23. package/dist/project/records.js +35 -22
  24. package/dist/project.js +35 -22
  25. package/dist/router.js +35 -22
  26. package/dist/runtime/releaseSource.js +35 -22
  27. package/dist/runtime/selfUpdate.js +35 -22
  28. package/dist/runtime/signers.js +97 -1
  29. package/dist/runtime/store.js +3 -1
  30. package/dist/runtime/updateCheck.js +35 -22
  31. package/dist/sbom.json +21 -21
  32. package/dist/scanner/control.js +35 -22
  33. package/dist/scanner/data.js +21 -10
  34. package/dist/scanner/discover.js +23 -10
  35. package/dist/scanner/enable.d.ts +5 -0
  36. package/dist/scanner/enable.d.ts.map +1 -1
  37. package/dist/scanner/enable.js +52 -22
  38. package/dist/scanner/enable.js.map +1 -1
  39. package/dist/scanner/estimate.d.ts +41 -0
  40. package/dist/scanner/estimate.d.ts.map +1 -0
  41. package/dist/scanner/estimate.js +2461 -0
  42. package/dist/scanner/estimate.js.map +1 -0
  43. package/dist/scanner/picker.js +23 -10
  44. package/dist/scanner/service.js +35 -22
  45. package/dist/scanner/update.js +35 -22
  46. package/dist/scanner-release.json +24 -24
  47. package/dist/status.js +35 -22
  48. package/dist/vendor/local-setup.js +35 -22
  49. package/package.json +31 -31
@@ -43,6 +43,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
43
43
  mod
44
44
  ));
45
45
 
46
+ // packages/shared/dist/secretPatterns.js
47
+ var SECRET_LABEL, SECRET_LABEL_RE, LABELED_VALUE_RE;
48
+ var init_secretPatterns = __esm({
49
+ "packages/shared/dist/secretPatterns.js"() {
50
+ "use strict";
51
+ SECRET_LABEL = String.raw`[\w$-]*(?:api[_-]?key|secret|token|password|credential|auth)|aws_secret_access_key`;
52
+ SECRET_LABEL_RE = new RegExp(`^(?:${SECRET_LABEL}|MYSQL_PWD|SSHPASS)$`, "i");
53
+ LABELED_VALUE_RE = new RegExp(String.raw`(?<![\w$-])((["']?)(?:${SECRET_LABEL})\2\s*[:=]\s*)(?=\S)`, "gi");
54
+ }
55
+ });
56
+
46
57
  // node_modules/ignore/index.js
47
58
  var require_ignore = __commonJS({
48
59
  "node_modules/ignore/index.js"(exports, module2) {
@@ -885,17 +896,6 @@ var require_ignore = __commonJS({
885
896
  }
886
897
  });
887
898
 
888
- // packages/shared/dist/secretPatterns.js
889
- var SECRET_LABEL, SECRET_LABEL_RE, LABELED_VALUE_RE;
890
- var init_secretPatterns = __esm({
891
- "packages/shared/dist/secretPatterns.js"() {
892
- "use strict";
893
- SECRET_LABEL = String.raw`[\w$-]*(?:api[_-]?key|secret|token|password|credential|auth)|aws_secret_access_key`;
894
- SECRET_LABEL_RE = new RegExp(`^(?:${SECRET_LABEL}|MYSQL_PWD|SSHPASS)$`, "i");
895
- LABELED_VALUE_RE = new RegExp(String.raw`(?<![\w$-])((["']?)(?:${SECRET_LABEL})\2\s*[:=]\s*)(?=\S)`, "gi");
896
- }
897
- });
898
-
899
899
  // packages/shared/dist/protectedPaths.js
900
900
  var init_protectedPaths = __esm({
901
901
  "packages/shared/dist/protectedPaths.js"() {
@@ -1016,7 +1016,7 @@ var init_repositoryRoot = __esm({
1016
1016
  });
1017
1017
 
1018
1018
  // packages/shared/dist/hookTrace.js
1019
- var HOOK_TRACE_MAX_BYTES;
1019
+ var HOOK_TRACE_MAX_BYTES, HOOK_MISS_WINDOW_MS, HOOK_MISS_TAIL_BYTES;
1020
1020
  var init_hookTrace = __esm({
1021
1021
  "packages/shared/dist/hookTrace.js"() {
1022
1022
  "use strict";
@@ -1024,6 +1024,8 @@ var init_hookTrace = __esm({
1024
1024
  init_runtimeSigners();
1025
1025
  init_secretPatterns();
1026
1026
  HOOK_TRACE_MAX_BYTES = 2 * 1024 * 1024;
1027
+ HOOK_MISS_WINDOW_MS = 30 * 60 * 1e3;
1028
+ HOOK_MISS_TAIL_BYTES = 64 * 1024;
1027
1029
  }
1028
1030
  });
1029
1031
 
@@ -2737,9 +2739,6 @@ function getMcpInstructions() {
2737
2739
  }
2738
2740
  var MCP_INSTRUCTIONS = getMcpInstructions();
2739
2741
 
2740
- // packages/shared/dist/codeScanner.js
2741
- var import_ignore = __toESM(require_ignore(), 1);
2742
-
2743
2742
  // node_modules/web-tree-sitter/web-tree-sitter.js
2744
2743
  var __defProp2 = Object.defineProperty;
2745
2744
  var __name = (target, value) => __defProp2(target, "name", { value, configurable: true });
@@ -6788,9 +6787,6 @@ import { dirname, extname, join } from "node:path";
6788
6787
  import { fileURLToPath } from "node:url";
6789
6788
  var WASM_DIR = join(dirname(fileURLToPath(import.meta.url)), "..", "..", "wasm");
6790
6789
 
6791
- // packages/shared/dist/ast/astChunker.js
6792
- var MAX_AST_PARSE_BYTES = 2 * 1024 * 1024;
6793
-
6794
6790
  // packages/shared/dist/redactCredentials.js
6795
6791
  var REDACTED = "<redacted credential>";
6796
6792
  var MAX_PEM_BODY_LENGTH = 8 * 1024;
@@ -7050,11 +7046,15 @@ var PATTERNS = [
7050
7046
 
7051
7047
  // packages/shared/dist/sourceRedaction.js
7052
7048
  init_secretPatterns();
7049
+ var MAX_SOURCE_REDACTION_BYTES = 10 * 1024 * 1024;
7053
7050
 
7054
- // packages/shared/dist/codeScanner.js
7051
+ // packages/shared/dist/ast/astChunker.js
7052
+ var MAX_AST_PARSE_BYTES = 2 * 1024 * 1024;
7053
+
7054
+ // packages/shared/dist/fileSelection.js
7055
+ var import_ignore = __toESM(require_ignore(), 1);
7055
7056
  init_protectedPaths();
7056
7057
  init_projectIdentityFile();
7057
- var MAX_SCANNED_FILE_BYTES = 10 * 1024 * 1024;
7058
7058
  var BUILT_IN_IGNORE_DIRS = [
7059
7059
  // JS / web
7060
7060
  "node_modules",
@@ -7211,22 +7211,35 @@ var DEFAULT_INCLUDE_EXTENSIONS = [
7211
7211
  ".nix",
7212
7212
  ".bzl"
7213
7213
  ];
7214
+ var BUILT_IN_IGNORE_DIR_SET = new Set(BUILT_IN_IGNORE_DIRS);
7215
+ var DEFAULT_IGNORE_PATTERNS = [
7216
+ ...BUILT_IN_IGNORE_DIRS,
7217
+ ...BUILT_IN_IGNORE_FILE_PATTERNS
7218
+ ];
7219
+
7220
+ // packages/shared/dist/codeScanner.js
7221
+ var MAX_SCANNED_FILE_BYTES = 10 * 1024 * 1024;
7214
7222
  var DEFAULT_OPTIONS = {
7215
7223
  maxChunkSize: 8e3,
7216
7224
  // ~2000 tokens
7217
7225
  minChunkSize: 100,
7218
- ignorePatterns: [...BUILT_IN_IGNORE_DIRS, ...BUILT_IN_IGNORE_FILE_PATTERNS],
7226
+ ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],
7219
7227
  includeExtensions: [...DEFAULT_INCLUDE_EXTENSIONS],
7220
7228
  maxAstParseBytes: MAX_AST_PARSE_BYTES,
7221
7229
  protectedPaths: []
7222
7230
  };
7223
- var BUILT_IN_IGNORE_DIR_SET = new Set(BUILT_IN_IGNORE_DIRS);
7224
7231
 
7225
7232
  // packages/shared/dist/indexJudge.js
7226
7233
  var import_ignore2 = __toESM(require_ignore(), 1);
7227
7234
 
7228
7235
  // packages/shared/dist/index.js
7229
7236
  init_secretPatterns();
7237
+
7238
+ // packages/shared/dist/sourceRedactionPool.js
7239
+ var MB = 1024 * 1024;
7240
+ var LARGE_FILE_BYTES = 1 * MB;
7241
+
7242
+ // packages/shared/dist/index.js
7230
7243
  init_hookTimeouts();
7231
7244
 
7232
7245
  // packages/shared/dist/jitDeliveryAck.js
package/dist/project.js CHANGED
@@ -43,6 +43,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
43
43
  mod
44
44
  ));
45
45
 
46
+ // packages/shared/dist/secretPatterns.js
47
+ var SECRET_LABEL, SECRET_LABEL_RE, LABELED_VALUE_RE;
48
+ var init_secretPatterns = __esm({
49
+ "packages/shared/dist/secretPatterns.js"() {
50
+ "use strict";
51
+ SECRET_LABEL = String.raw`[\w$-]*(?:api[_-]?key|secret|token|password|credential|auth)|aws_secret_access_key`;
52
+ SECRET_LABEL_RE = new RegExp(`^(?:${SECRET_LABEL}|MYSQL_PWD|SSHPASS)$`, "i");
53
+ LABELED_VALUE_RE = new RegExp(String.raw`(?<![\w$-])((["']?)(?:${SECRET_LABEL})\2\s*[:=]\s*)(?=\S)`, "gi");
54
+ }
55
+ });
56
+
46
57
  // node_modules/ignore/index.js
47
58
  var require_ignore = __commonJS({
48
59
  "node_modules/ignore/index.js"(exports, module2) {
@@ -885,17 +896,6 @@ var require_ignore = __commonJS({
885
896
  }
886
897
  });
887
898
 
888
- // packages/shared/dist/secretPatterns.js
889
- var SECRET_LABEL, SECRET_LABEL_RE, LABELED_VALUE_RE;
890
- var init_secretPatterns = __esm({
891
- "packages/shared/dist/secretPatterns.js"() {
892
- "use strict";
893
- SECRET_LABEL = String.raw`[\w$-]*(?:api[_-]?key|secret|token|password|credential|auth)|aws_secret_access_key`;
894
- SECRET_LABEL_RE = new RegExp(`^(?:${SECRET_LABEL}|MYSQL_PWD|SSHPASS)$`, "i");
895
- LABELED_VALUE_RE = new RegExp(String.raw`(?<![\w$-])((["']?)(?:${SECRET_LABEL})\2\s*[:=]\s*)(?=\S)`, "gi");
896
- }
897
- });
898
-
899
899
  // packages/shared/dist/protectedPaths.js
900
900
  var init_protectedPaths = __esm({
901
901
  "packages/shared/dist/protectedPaths.js"() {
@@ -1487,7 +1487,7 @@ var init_repositoryRoot = __esm({
1487
1487
  });
1488
1488
 
1489
1489
  // packages/shared/dist/hookTrace.js
1490
- var HOOK_TRACE_MAX_BYTES;
1490
+ var HOOK_TRACE_MAX_BYTES, HOOK_MISS_WINDOW_MS, HOOK_MISS_TAIL_BYTES;
1491
1491
  var init_hookTrace = __esm({
1492
1492
  "packages/shared/dist/hookTrace.js"() {
1493
1493
  "use strict";
@@ -1495,6 +1495,8 @@ var init_hookTrace = __esm({
1495
1495
  init_runtimeSigners();
1496
1496
  init_secretPatterns();
1497
1497
  HOOK_TRACE_MAX_BYTES = 2 * 1024 * 1024;
1498
+ HOOK_MISS_WINDOW_MS = 30 * 60 * 1e3;
1499
+ HOOK_MISS_TAIL_BYTES = 64 * 1024;
1498
1500
  }
1499
1501
  });
1500
1502
 
@@ -3214,9 +3216,6 @@ function getMcpInstructions() {
3214
3216
  }
3215
3217
  var MCP_INSTRUCTIONS = getMcpInstructions();
3216
3218
 
3217
- // packages/shared/dist/codeScanner.js
3218
- var import_ignore = __toESM(require_ignore(), 1);
3219
-
3220
3219
  // node_modules/web-tree-sitter/web-tree-sitter.js
3221
3220
  var __defProp2 = Object.defineProperty;
3222
3221
  var __name = (target, value) => __defProp2(target, "name", { value, configurable: true });
@@ -7265,9 +7264,6 @@ import { dirname, extname, join } from "node:path";
7265
7264
  import { fileURLToPath } from "node:url";
7266
7265
  var WASM_DIR = join(dirname(fileURLToPath(import.meta.url)), "..", "..", "wasm");
7267
7266
 
7268
- // packages/shared/dist/ast/astChunker.js
7269
- var MAX_AST_PARSE_BYTES = 2 * 1024 * 1024;
7270
-
7271
7267
  // packages/shared/dist/redactCredentials.js
7272
7268
  var REDACTED = "<redacted credential>";
7273
7269
  var MAX_PEM_BODY_LENGTH = 8 * 1024;
@@ -7527,11 +7523,15 @@ var PATTERNS = [
7527
7523
 
7528
7524
  // packages/shared/dist/sourceRedaction.js
7529
7525
  init_secretPatterns();
7526
+ var MAX_SOURCE_REDACTION_BYTES = 10 * 1024 * 1024;
7530
7527
 
7531
- // packages/shared/dist/codeScanner.js
7528
+ // packages/shared/dist/ast/astChunker.js
7529
+ var MAX_AST_PARSE_BYTES = 2 * 1024 * 1024;
7530
+
7531
+ // packages/shared/dist/fileSelection.js
7532
+ var import_ignore = __toESM(require_ignore(), 1);
7532
7533
  init_protectedPaths();
7533
7534
  init_projectIdentityFile();
7534
- var MAX_SCANNED_FILE_BYTES = 10 * 1024 * 1024;
7535
7535
  var BUILT_IN_IGNORE_DIRS = [
7536
7536
  // JS / web
7537
7537
  "node_modules",
@@ -7688,22 +7688,35 @@ var DEFAULT_INCLUDE_EXTENSIONS = [
7688
7688
  ".nix",
7689
7689
  ".bzl"
7690
7690
  ];
7691
+ var BUILT_IN_IGNORE_DIR_SET = new Set(BUILT_IN_IGNORE_DIRS);
7692
+ var DEFAULT_IGNORE_PATTERNS = [
7693
+ ...BUILT_IN_IGNORE_DIRS,
7694
+ ...BUILT_IN_IGNORE_FILE_PATTERNS
7695
+ ];
7696
+
7697
+ // packages/shared/dist/codeScanner.js
7698
+ var MAX_SCANNED_FILE_BYTES = 10 * 1024 * 1024;
7691
7699
  var DEFAULT_OPTIONS = {
7692
7700
  maxChunkSize: 8e3,
7693
7701
  // ~2000 tokens
7694
7702
  minChunkSize: 100,
7695
- ignorePatterns: [...BUILT_IN_IGNORE_DIRS, ...BUILT_IN_IGNORE_FILE_PATTERNS],
7703
+ ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],
7696
7704
  includeExtensions: [...DEFAULT_INCLUDE_EXTENSIONS],
7697
7705
  maxAstParseBytes: MAX_AST_PARSE_BYTES,
7698
7706
  protectedPaths: []
7699
7707
  };
7700
- var BUILT_IN_IGNORE_DIR_SET = new Set(BUILT_IN_IGNORE_DIRS);
7701
7708
 
7702
7709
  // packages/shared/dist/indexJudge.js
7703
7710
  var import_ignore2 = __toESM(require_ignore(), 1);
7704
7711
 
7705
7712
  // packages/shared/dist/index.js
7706
7713
  init_secretPatterns();
7714
+
7715
+ // packages/shared/dist/sourceRedactionPool.js
7716
+ var MB = 1024 * 1024;
7717
+ var LARGE_FILE_BYTES = 1 * MB;
7718
+
7719
+ // packages/shared/dist/index.js
7707
7720
  init_hookTimeouts();
7708
7721
 
7709
7722
  // packages/shared/dist/jitDeliveryAck.js
package/dist/router.js CHANGED
@@ -43,6 +43,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
43
43
  mod
44
44
  ));
45
45
 
46
+ // packages/shared/dist/secretPatterns.js
47
+ var SECRET_LABEL, SECRET_LABEL_RE, LABELED_VALUE_RE;
48
+ var init_secretPatterns = __esm({
49
+ "packages/shared/dist/secretPatterns.js"() {
50
+ "use strict";
51
+ SECRET_LABEL = String.raw`[\w$-]*(?:api[_-]?key|secret|token|password|credential|auth)|aws_secret_access_key`;
52
+ SECRET_LABEL_RE = new RegExp(`^(?:${SECRET_LABEL}|MYSQL_PWD|SSHPASS)$`, "i");
53
+ LABELED_VALUE_RE = new RegExp(String.raw`(?<![\w$-])((["']?)(?:${SECRET_LABEL})\2\s*[:=]\s*)(?=\S)`, "gi");
54
+ }
55
+ });
56
+
46
57
  // node_modules/ignore/index.js
47
58
  var require_ignore = __commonJS({
48
59
  "node_modules/ignore/index.js"(exports, module2) {
@@ -885,17 +896,6 @@ var require_ignore = __commonJS({
885
896
  }
886
897
  });
887
898
 
888
- // packages/shared/dist/secretPatterns.js
889
- var SECRET_LABEL, SECRET_LABEL_RE, LABELED_VALUE_RE;
890
- var init_secretPatterns = __esm({
891
- "packages/shared/dist/secretPatterns.js"() {
892
- "use strict";
893
- SECRET_LABEL = String.raw`[\w$-]*(?:api[_-]?key|secret|token|password|credential|auth)|aws_secret_access_key`;
894
- SECRET_LABEL_RE = new RegExp(`^(?:${SECRET_LABEL}|MYSQL_PWD|SSHPASS)$`, "i");
895
- LABELED_VALUE_RE = new RegExp(String.raw`(?<![\w$-])((["']?)(?:${SECRET_LABEL})\2\s*[:=]\s*)(?=\S)`, "gi");
896
- }
897
- });
898
-
899
899
  // packages/shared/dist/protectedPaths.js
900
900
  var init_protectedPaths = __esm({
901
901
  "packages/shared/dist/protectedPaths.js"() {
@@ -1351,7 +1351,7 @@ function hookTraceEnabled(env = process.env) {
1351
1351
  const value = env[HOOK_TRACE_ENV]?.trim().toLowerCase();
1352
1352
  return !value || !["off", "0", "false", "no", "disabled"].includes(value);
1353
1353
  }
1354
- var HOOK_TRACE_MAX_BYTES, HOOK_TRACE_ENV;
1354
+ var HOOK_TRACE_MAX_BYTES, HOOK_TRACE_ENV, HOOK_MISS_WINDOW_MS, HOOK_MISS_TAIL_BYTES;
1355
1355
  var init_hookTrace = __esm({
1356
1356
  "packages/shared/dist/hookTrace.js"() {
1357
1357
  "use strict";
@@ -1360,6 +1360,8 @@ var init_hookTrace = __esm({
1360
1360
  init_secretPatterns();
1361
1361
  HOOK_TRACE_MAX_BYTES = 2 * 1024 * 1024;
1362
1362
  HOOK_TRACE_ENV = "MNEMONIK_HOOK_TRACE";
1363
+ HOOK_MISS_WINDOW_MS = 30 * 60 * 1e3;
1364
+ HOOK_MISS_TAIL_BYTES = 64 * 1024;
1363
1365
  }
1364
1366
  });
1365
1367
 
@@ -3107,9 +3109,6 @@ function getMcpInstructions() {
3107
3109
  }
3108
3110
  var MCP_INSTRUCTIONS = getMcpInstructions();
3109
3111
 
3110
- // packages/shared/dist/codeScanner.js
3111
- var import_ignore = __toESM(require_ignore(), 1);
3112
-
3113
3112
  // node_modules/web-tree-sitter/web-tree-sitter.js
3114
3113
  var __defProp2 = Object.defineProperty;
3115
3114
  var __name = (target, value) => __defProp2(target, "name", { value, configurable: true });
@@ -7158,9 +7157,6 @@ import { dirname, extname, join } from "node:path";
7158
7157
  import { fileURLToPath } from "node:url";
7159
7158
  var WASM_DIR = join(dirname(fileURLToPath(import.meta.url)), "..", "..", "wasm");
7160
7159
 
7161
- // packages/shared/dist/ast/astChunker.js
7162
- var MAX_AST_PARSE_BYTES = 2 * 1024 * 1024;
7163
-
7164
7160
  // packages/shared/dist/redactCredentials.js
7165
7161
  var REDACTED = "<redacted credential>";
7166
7162
  var MAX_PEM_BODY_LENGTH = 8 * 1024;
@@ -7420,11 +7416,15 @@ var PATTERNS = [
7420
7416
 
7421
7417
  // packages/shared/dist/sourceRedaction.js
7422
7418
  init_secretPatterns();
7419
+ var MAX_SOURCE_REDACTION_BYTES = 10 * 1024 * 1024;
7423
7420
 
7424
- // packages/shared/dist/codeScanner.js
7421
+ // packages/shared/dist/ast/astChunker.js
7422
+ var MAX_AST_PARSE_BYTES = 2 * 1024 * 1024;
7423
+
7424
+ // packages/shared/dist/fileSelection.js
7425
+ var import_ignore = __toESM(require_ignore(), 1);
7425
7426
  init_protectedPaths();
7426
7427
  init_projectIdentityFile();
7427
- var MAX_SCANNED_FILE_BYTES = 10 * 1024 * 1024;
7428
7428
  var BUILT_IN_IGNORE_DIRS = [
7429
7429
  // JS / web
7430
7430
  "node_modules",
@@ -7581,22 +7581,35 @@ var DEFAULT_INCLUDE_EXTENSIONS = [
7581
7581
  ".nix",
7582
7582
  ".bzl"
7583
7583
  ];
7584
+ var BUILT_IN_IGNORE_DIR_SET = new Set(BUILT_IN_IGNORE_DIRS);
7585
+ var DEFAULT_IGNORE_PATTERNS = [
7586
+ ...BUILT_IN_IGNORE_DIRS,
7587
+ ...BUILT_IN_IGNORE_FILE_PATTERNS
7588
+ ];
7589
+
7590
+ // packages/shared/dist/codeScanner.js
7591
+ var MAX_SCANNED_FILE_BYTES = 10 * 1024 * 1024;
7584
7592
  var DEFAULT_OPTIONS = {
7585
7593
  maxChunkSize: 8e3,
7586
7594
  // ~2000 tokens
7587
7595
  minChunkSize: 100,
7588
- ignorePatterns: [...BUILT_IN_IGNORE_DIRS, ...BUILT_IN_IGNORE_FILE_PATTERNS],
7596
+ ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],
7589
7597
  includeExtensions: [...DEFAULT_INCLUDE_EXTENSIONS],
7590
7598
  maxAstParseBytes: MAX_AST_PARSE_BYTES,
7591
7599
  protectedPaths: []
7592
7600
  };
7593
- var BUILT_IN_IGNORE_DIR_SET = new Set(BUILT_IN_IGNORE_DIRS);
7594
7601
 
7595
7602
  // packages/shared/dist/indexJudge.js
7596
7603
  var import_ignore2 = __toESM(require_ignore(), 1);
7597
7604
 
7598
7605
  // packages/shared/dist/index.js
7599
7606
  init_secretPatterns();
7607
+
7608
+ // packages/shared/dist/sourceRedactionPool.js
7609
+ var MB = 1024 * 1024;
7610
+ var LARGE_FILE_BYTES = 1 * MB;
7611
+
7612
+ // packages/shared/dist/index.js
7600
7613
  init_hookTimeouts();
7601
7614
 
7602
7615
  // packages/shared/dist/jitDeliveryAck.js
@@ -43,6 +43,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
43
43
  mod
44
44
  ));
45
45
 
46
+ // packages/shared/dist/secretPatterns.js
47
+ var SECRET_LABEL, SECRET_LABEL_RE, LABELED_VALUE_RE;
48
+ var init_secretPatterns = __esm({
49
+ "packages/shared/dist/secretPatterns.js"() {
50
+ "use strict";
51
+ SECRET_LABEL = String.raw`[\w$-]*(?:api[_-]?key|secret|token|password|credential|auth)|aws_secret_access_key`;
52
+ SECRET_LABEL_RE = new RegExp(`^(?:${SECRET_LABEL}|MYSQL_PWD|SSHPASS)$`, "i");
53
+ LABELED_VALUE_RE = new RegExp(String.raw`(?<![\w$-])((["']?)(?:${SECRET_LABEL})\2\s*[:=]\s*)(?=\S)`, "gi");
54
+ }
55
+ });
56
+
46
57
  // node_modules/ignore/index.js
47
58
  var require_ignore = __commonJS({
48
59
  "node_modules/ignore/index.js"(exports, module2) {
@@ -885,17 +896,6 @@ var require_ignore = __commonJS({
885
896
  }
886
897
  });
887
898
 
888
- // packages/shared/dist/secretPatterns.js
889
- var SECRET_LABEL, SECRET_LABEL_RE, LABELED_VALUE_RE;
890
- var init_secretPatterns = __esm({
891
- "packages/shared/dist/secretPatterns.js"() {
892
- "use strict";
893
- SECRET_LABEL = String.raw`[\w$-]*(?:api[_-]?key|secret|token|password|credential|auth)|aws_secret_access_key`;
894
- SECRET_LABEL_RE = new RegExp(`^(?:${SECRET_LABEL}|MYSQL_PWD|SSHPASS)$`, "i");
895
- LABELED_VALUE_RE = new RegExp(String.raw`(?<![\w$-])((["']?)(?:${SECRET_LABEL})\2\s*[:=]\s*)(?=\S)`, "gi");
896
- }
897
- });
898
-
899
899
  // packages/shared/dist/protectedPaths.js
900
900
  var init_protectedPaths = __esm({
901
901
  "packages/shared/dist/protectedPaths.js"() {
@@ -1046,7 +1046,7 @@ var init_repositoryRoot = __esm({
1046
1046
  });
1047
1047
 
1048
1048
  // packages/shared/dist/hookTrace.js
1049
- var HOOK_TRACE_MAX_BYTES;
1049
+ var HOOK_TRACE_MAX_BYTES, HOOK_MISS_WINDOW_MS, HOOK_MISS_TAIL_BYTES;
1050
1050
  var init_hookTrace = __esm({
1051
1051
  "packages/shared/dist/hookTrace.js"() {
1052
1052
  "use strict";
@@ -1054,6 +1054,8 @@ var init_hookTrace = __esm({
1054
1054
  init_runtimeSigners();
1055
1055
  init_secretPatterns();
1056
1056
  HOOK_TRACE_MAX_BYTES = 2 * 1024 * 1024;
1057
+ HOOK_MISS_WINDOW_MS = 30 * 60 * 1e3;
1058
+ HOOK_MISS_TAIL_BYTES = 64 * 1024;
1057
1059
  }
1058
1060
  });
1059
1061
 
@@ -2768,9 +2770,6 @@ function getMcpInstructions() {
2768
2770
  }
2769
2771
  var MCP_INSTRUCTIONS = getMcpInstructions();
2770
2772
 
2771
- // packages/shared/dist/codeScanner.js
2772
- var import_ignore = __toESM(require_ignore(), 1);
2773
-
2774
2773
  // node_modules/web-tree-sitter/web-tree-sitter.js
2775
2774
  var __defProp2 = Object.defineProperty;
2776
2775
  var __name = (target, value) => __defProp2(target, "name", { value, configurable: true });
@@ -6819,9 +6818,6 @@ import { dirname, extname, join } from "node:path";
6819
6818
  import { fileURLToPath } from "node:url";
6820
6819
  var WASM_DIR = join(dirname(fileURLToPath(import.meta.url)), "..", "..", "wasm");
6821
6820
 
6822
- // packages/shared/dist/ast/astChunker.js
6823
- var MAX_AST_PARSE_BYTES = 2 * 1024 * 1024;
6824
-
6825
6821
  // packages/shared/dist/redactCredentials.js
6826
6822
  var REDACTED = "<redacted credential>";
6827
6823
  var MAX_PEM_BODY_LENGTH = 8 * 1024;
@@ -7081,11 +7077,15 @@ var PATTERNS = [
7081
7077
 
7082
7078
  // packages/shared/dist/sourceRedaction.js
7083
7079
  init_secretPatterns();
7080
+ var MAX_SOURCE_REDACTION_BYTES = 10 * 1024 * 1024;
7084
7081
 
7085
- // packages/shared/dist/codeScanner.js
7082
+ // packages/shared/dist/ast/astChunker.js
7083
+ var MAX_AST_PARSE_BYTES = 2 * 1024 * 1024;
7084
+
7085
+ // packages/shared/dist/fileSelection.js
7086
+ var import_ignore = __toESM(require_ignore(), 1);
7086
7087
  init_protectedPaths();
7087
7088
  init_projectIdentityFile();
7088
- var MAX_SCANNED_FILE_BYTES = 10 * 1024 * 1024;
7089
7089
  var BUILT_IN_IGNORE_DIRS = [
7090
7090
  // JS / web
7091
7091
  "node_modules",
@@ -7242,22 +7242,35 @@ var DEFAULT_INCLUDE_EXTENSIONS = [
7242
7242
  ".nix",
7243
7243
  ".bzl"
7244
7244
  ];
7245
+ var BUILT_IN_IGNORE_DIR_SET = new Set(BUILT_IN_IGNORE_DIRS);
7246
+ var DEFAULT_IGNORE_PATTERNS = [
7247
+ ...BUILT_IN_IGNORE_DIRS,
7248
+ ...BUILT_IN_IGNORE_FILE_PATTERNS
7249
+ ];
7250
+
7251
+ // packages/shared/dist/codeScanner.js
7252
+ var MAX_SCANNED_FILE_BYTES = 10 * 1024 * 1024;
7245
7253
  var DEFAULT_OPTIONS = {
7246
7254
  maxChunkSize: 8e3,
7247
7255
  // ~2000 tokens
7248
7256
  minChunkSize: 100,
7249
- ignorePatterns: [...BUILT_IN_IGNORE_DIRS, ...BUILT_IN_IGNORE_FILE_PATTERNS],
7257
+ ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],
7250
7258
  includeExtensions: [...DEFAULT_INCLUDE_EXTENSIONS],
7251
7259
  maxAstParseBytes: MAX_AST_PARSE_BYTES,
7252
7260
  protectedPaths: []
7253
7261
  };
7254
- var BUILT_IN_IGNORE_DIR_SET = new Set(BUILT_IN_IGNORE_DIRS);
7255
7262
 
7256
7263
  // packages/shared/dist/indexJudge.js
7257
7264
  var import_ignore2 = __toESM(require_ignore(), 1);
7258
7265
 
7259
7266
  // packages/shared/dist/index.js
7260
7267
  init_secretPatterns();
7268
+
7269
+ // packages/shared/dist/sourceRedactionPool.js
7270
+ var MB = 1024 * 1024;
7271
+ var LARGE_FILE_BYTES = 1 * MB;
7272
+
7273
+ // packages/shared/dist/index.js
7261
7274
  init_hookTimeouts();
7262
7275
 
7263
7276
  // packages/shared/dist/jitDeliveryAck.js
@@ -43,6 +43,17 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
43
43
  mod
44
44
  ));
45
45
 
46
+ // packages/shared/dist/secretPatterns.js
47
+ var SECRET_LABEL, SECRET_LABEL_RE, LABELED_VALUE_RE;
48
+ var init_secretPatterns = __esm({
49
+ "packages/shared/dist/secretPatterns.js"() {
50
+ "use strict";
51
+ SECRET_LABEL = String.raw`[\w$-]*(?:api[_-]?key|secret|token|password|credential|auth)|aws_secret_access_key`;
52
+ SECRET_LABEL_RE = new RegExp(`^(?:${SECRET_LABEL}|MYSQL_PWD|SSHPASS)$`, "i");
53
+ LABELED_VALUE_RE = new RegExp(String.raw`(?<![\w$-])((["']?)(?:${SECRET_LABEL})\2\s*[:=]\s*)(?=\S)`, "gi");
54
+ }
55
+ });
56
+
46
57
  // node_modules/ignore/index.js
47
58
  var require_ignore = __commonJS({
48
59
  "node_modules/ignore/index.js"(exports, module2) {
@@ -885,17 +896,6 @@ var require_ignore = __commonJS({
885
896
  }
886
897
  });
887
898
 
888
- // packages/shared/dist/secretPatterns.js
889
- var SECRET_LABEL, SECRET_LABEL_RE, LABELED_VALUE_RE;
890
- var init_secretPatterns = __esm({
891
- "packages/shared/dist/secretPatterns.js"() {
892
- "use strict";
893
- SECRET_LABEL = String.raw`[\w$-]*(?:api[_-]?key|secret|token|password|credential|auth)|aws_secret_access_key`;
894
- SECRET_LABEL_RE = new RegExp(`^(?:${SECRET_LABEL}|MYSQL_PWD|SSHPASS)$`, "i");
895
- LABELED_VALUE_RE = new RegExp(String.raw`(?<![\w$-])((["']?)(?:${SECRET_LABEL})\2\s*[:=]\s*)(?=\S)`, "gi");
896
- }
897
- });
898
-
899
899
  // packages/shared/dist/protectedPaths.js
900
900
  var init_protectedPaths = __esm({
901
901
  "packages/shared/dist/protectedPaths.js"() {
@@ -1016,7 +1016,7 @@ var init_repositoryRoot = __esm({
1016
1016
  });
1017
1017
 
1018
1018
  // packages/shared/dist/hookTrace.js
1019
- var HOOK_TRACE_MAX_BYTES;
1019
+ var HOOK_TRACE_MAX_BYTES, HOOK_MISS_WINDOW_MS, HOOK_MISS_TAIL_BYTES;
1020
1020
  var init_hookTrace = __esm({
1021
1021
  "packages/shared/dist/hookTrace.js"() {
1022
1022
  "use strict";
@@ -1024,6 +1024,8 @@ var init_hookTrace = __esm({
1024
1024
  init_runtimeSigners();
1025
1025
  init_secretPatterns();
1026
1026
  HOOK_TRACE_MAX_BYTES = 2 * 1024 * 1024;
1027
+ HOOK_MISS_WINDOW_MS = 30 * 60 * 1e3;
1028
+ HOOK_MISS_TAIL_BYTES = 64 * 1024;
1027
1029
  }
1028
1030
  });
1029
1031
 
@@ -2737,9 +2739,6 @@ function getMcpInstructions() {
2737
2739
  }
2738
2740
  var MCP_INSTRUCTIONS = getMcpInstructions();
2739
2741
 
2740
- // packages/shared/dist/codeScanner.js
2741
- var import_ignore = __toESM(require_ignore(), 1);
2742
-
2743
2742
  // node_modules/web-tree-sitter/web-tree-sitter.js
2744
2743
  var __defProp2 = Object.defineProperty;
2745
2744
  var __name = (target, value) => __defProp2(target, "name", { value, configurable: true });
@@ -6788,9 +6787,6 @@ import { dirname, extname, join } from "node:path";
6788
6787
  import { fileURLToPath } from "node:url";
6789
6788
  var WASM_DIR = join(dirname(fileURLToPath(import.meta.url)), "..", "..", "wasm");
6790
6789
 
6791
- // packages/shared/dist/ast/astChunker.js
6792
- var MAX_AST_PARSE_BYTES = 2 * 1024 * 1024;
6793
-
6794
6790
  // packages/shared/dist/redactCredentials.js
6795
6791
  var REDACTED = "<redacted credential>";
6796
6792
  var MAX_PEM_BODY_LENGTH = 8 * 1024;
@@ -7050,11 +7046,15 @@ var PATTERNS = [
7050
7046
 
7051
7047
  // packages/shared/dist/sourceRedaction.js
7052
7048
  init_secretPatterns();
7049
+ var MAX_SOURCE_REDACTION_BYTES = 10 * 1024 * 1024;
7053
7050
 
7054
- // packages/shared/dist/codeScanner.js
7051
+ // packages/shared/dist/ast/astChunker.js
7052
+ var MAX_AST_PARSE_BYTES = 2 * 1024 * 1024;
7053
+
7054
+ // packages/shared/dist/fileSelection.js
7055
+ var import_ignore = __toESM(require_ignore(), 1);
7055
7056
  init_protectedPaths();
7056
7057
  init_projectIdentityFile();
7057
- var MAX_SCANNED_FILE_BYTES = 10 * 1024 * 1024;
7058
7058
  var BUILT_IN_IGNORE_DIRS = [
7059
7059
  // JS / web
7060
7060
  "node_modules",
@@ -7211,22 +7211,35 @@ var DEFAULT_INCLUDE_EXTENSIONS = [
7211
7211
  ".nix",
7212
7212
  ".bzl"
7213
7213
  ];
7214
+ var BUILT_IN_IGNORE_DIR_SET = new Set(BUILT_IN_IGNORE_DIRS);
7215
+ var DEFAULT_IGNORE_PATTERNS = [
7216
+ ...BUILT_IN_IGNORE_DIRS,
7217
+ ...BUILT_IN_IGNORE_FILE_PATTERNS
7218
+ ];
7219
+
7220
+ // packages/shared/dist/codeScanner.js
7221
+ var MAX_SCANNED_FILE_BYTES = 10 * 1024 * 1024;
7214
7222
  var DEFAULT_OPTIONS = {
7215
7223
  maxChunkSize: 8e3,
7216
7224
  // ~2000 tokens
7217
7225
  minChunkSize: 100,
7218
- ignorePatterns: [...BUILT_IN_IGNORE_DIRS, ...BUILT_IN_IGNORE_FILE_PATTERNS],
7226
+ ignorePatterns: [...DEFAULT_IGNORE_PATTERNS],
7219
7227
  includeExtensions: [...DEFAULT_INCLUDE_EXTENSIONS],
7220
7228
  maxAstParseBytes: MAX_AST_PARSE_BYTES,
7221
7229
  protectedPaths: []
7222
7230
  };
7223
- var BUILT_IN_IGNORE_DIR_SET = new Set(BUILT_IN_IGNORE_DIRS);
7224
7231
 
7225
7232
  // packages/shared/dist/indexJudge.js
7226
7233
  var import_ignore2 = __toESM(require_ignore(), 1);
7227
7234
 
7228
7235
  // packages/shared/dist/index.js
7229
7236
  init_secretPatterns();
7237
+
7238
+ // packages/shared/dist/sourceRedactionPool.js
7239
+ var MB = 1024 * 1024;
7240
+ var LARGE_FILE_BYTES = 1 * MB;
7241
+
7242
+ // packages/shared/dist/index.js
7230
7243
  init_hookTimeouts();
7231
7244
 
7232
7245
  // packages/shared/dist/jitDeliveryAck.js