@vibgrate/cli 2026.721.3 → 2026.722.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.
Files changed (65) hide show
  1. package/DOCS.md +185 -0
  2. package/README.md +2 -1
  3. package/dist/baseline-J44M7MWP.js +7 -0
  4. package/dist/{baseline-37G4TINM.js.map → baseline-J44M7MWP.js.map} +1 -1
  5. package/dist/chunk-2EVQKZTO.js +696 -0
  6. package/dist/chunk-2EVQKZTO.js.map +1 -0
  7. package/dist/chunk-6CXTPC74.js +234 -0
  8. package/dist/chunk-6CXTPC74.js.map +1 -0
  9. package/dist/chunk-CRAMOEBE.js +675 -0
  10. package/dist/chunk-CRAMOEBE.js.map +1 -0
  11. package/dist/chunk-CS37OBE3.js +861 -0
  12. package/dist/chunk-CS37OBE3.js.map +1 -0
  13. package/dist/chunk-CT5BS56U.js +23 -0
  14. package/dist/chunk-CT5BS56U.js.map +1 -0
  15. package/dist/{chunk-5PLKADD6.js → chunk-EXQV26MF.js} +4 -3
  16. package/dist/chunk-EXQV26MF.js.map +1 -0
  17. package/dist/chunk-GGJZA3Q6.js +961 -0
  18. package/dist/chunk-GGJZA3Q6.js.map +1 -0
  19. package/dist/chunk-JBXNQCGE.js +484 -0
  20. package/dist/chunk-JBXNQCGE.js.map +1 -0
  21. package/dist/chunk-JFGYT6BI.js +32 -0
  22. package/dist/chunk-JFGYT6BI.js.map +1 -0
  23. package/dist/{chunk-JLRF5TFA.js → chunk-JSNHZCIV.js} +42 -71
  24. package/dist/chunk-JSNHZCIV.js.map +1 -0
  25. package/dist/chunk-JYS4OBN2.js +148 -0
  26. package/dist/chunk-JYS4OBN2.js.map +1 -0
  27. package/dist/chunk-K3SLGULW.js +50 -0
  28. package/dist/chunk-K3SLGULW.js.map +1 -0
  29. package/dist/chunk-LEPTUB4H.js +108 -0
  30. package/dist/chunk-LEPTUB4H.js.map +1 -0
  31. package/dist/{chunk-IKJBELUV.js → chunk-PY3DNX5H.js} +4 -29
  32. package/dist/chunk-PY3DNX5H.js.map +1 -0
  33. package/dist/{chunk-ELUFCQDR.js → chunk-VXT6LUGP.js} +240 -2519
  34. package/dist/chunk-VXT6LUGP.js.map +1 -0
  35. package/dist/chunk-WNIIKCNF.js +972 -0
  36. package/dist/chunk-WNIIKCNF.js.map +1 -0
  37. package/dist/chunk-XKXKWYJF.js +417 -0
  38. package/dist/chunk-XKXKWYJF.js.map +1 -0
  39. package/dist/cli.js +2479 -1234
  40. package/dist/cli.js.map +1 -1
  41. package/dist/fs-KCABDURV.js +3 -0
  42. package/dist/fs-KCABDURV.js.map +1 -0
  43. package/dist/index.d.ts +3 -1
  44. package/dist/index.js +8 -3
  45. package/dist/index.js.map +1 -1
  46. package/dist/interactive-736PBC7J.js +820 -0
  47. package/dist/interactive-736PBC7J.js.map +1 -0
  48. package/dist/mcp-tools-I6PME3AV.js +3 -0
  49. package/dist/mcp-tools-I6PME3AV.js.map +1 -0
  50. package/dist/parse-worker.js +2 -1
  51. package/dist/parse-worker.js.map +1 -1
  52. package/dist/session-POJUDFPH.js +6 -0
  53. package/dist/session-POJUDFPH.js.map +1 -0
  54. package/dist/session-store-W5RZZHA3.js +3 -0
  55. package/dist/session-store-W5RZZHA3.js.map +1 -0
  56. package/dist/stream-json-Q2JGWPHB.js +65 -0
  57. package/dist/stream-json-Q2JGWPHB.js.map +1 -0
  58. package/dist/ui-HOVOPWMX.js +4 -0
  59. package/dist/ui-HOVOPWMX.js.map +1 -0
  60. package/package.json +1 -1
  61. package/dist/baseline-37G4TINM.js +0 -6
  62. package/dist/chunk-5PLKADD6.js.map +0 -1
  63. package/dist/chunk-ELUFCQDR.js.map +0 -1
  64. package/dist/chunk-IKJBELUV.js.map +0 -1
  65. package/dist/chunk-JLRF5TFA.js.map +0 -1
@@ -0,0 +1,32 @@
1
+ import { blake3 } from '@noble/hashes/blake3.js';
2
+ import { bytesToHex } from '@noble/hashes/utils.js';
3
+
4
+ // src/engine/hash.ts
5
+ var encoder = new TextEncoder();
6
+ function hashString(input) {
7
+ return bytesToHex(blake3(encoder.encode(input)));
8
+ }
9
+ function hashBytes(input) {
10
+ return bytesToHex(blake3(input));
11
+ }
12
+ function shortId(input) {
13
+ return bytesToHex(blake3(encoder.encode(input), { dkLen: 16 }));
14
+ }
15
+ function canonicalize(value) {
16
+ return JSON.stringify(sortKeys(value));
17
+ }
18
+ function sortKeys(value) {
19
+ if (Array.isArray(value)) return value.map(sortKeys);
20
+ if (value && typeof value === "object") {
21
+ const out = {};
22
+ for (const key of Object.keys(value).sort()) {
23
+ out[key] = sortKeys(value[key]);
24
+ }
25
+ return out;
26
+ }
27
+ return value;
28
+ }
29
+
30
+ export { canonicalize, hashBytes, hashString, shortId };
31
+ //# sourceMappingURL=chunk-JFGYT6BI.js.map
32
+ //# sourceMappingURL=chunk-JFGYT6BI.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/engine/hash.ts"],"names":[],"mappings":";;;;AAYA,IAAM,OAAA,GAAU,IAAI,WAAA,EAAY;AAGzB,SAAS,WAAW,KAAA,EAAuB;AAChD,EAAA,OAAO,WAAW,MAAA,CAAO,OAAA,CAAQ,MAAA,CAAO,KAAK,CAAC,CAAC,CAAA;AACjD;AAGO,SAAS,UAAU,KAAA,EAA2B;AACnD,EAAA,OAAO,UAAA,CAAW,MAAA,CAAO,KAAK,CAAC,CAAA;AACjC;AAOO,SAAS,QAAQ,KAAA,EAAuB;AAC7C,EAAA,OAAO,UAAA,CAAW,MAAA,CAAO,OAAA,CAAQ,MAAA,CAAO,KAAK,GAAG,EAAE,KAAA,EAAO,EAAA,EAAI,CAAC,CAAA;AAChE;AAOO,SAAS,aAAa,KAAA,EAAwB;AACnD,EAAA,OAAO,IAAA,CAAK,SAAA,CAAU,QAAA,CAAS,KAAK,CAAC,CAAA;AACvC;AAEA,SAAS,SAAS,KAAA,EAAyB;AACzC,EAAA,IAAI,MAAM,OAAA,CAAQ,KAAK,GAAG,OAAO,KAAA,CAAM,IAAI,QAAQ,CAAA;AACnD,EAAA,IAAI,KAAA,IAAS,OAAO,KAAA,KAAU,QAAA,EAAU;AACtC,IAAA,MAAM,MAA+B,EAAC;AACtC,IAAA,KAAA,MAAW,OAAO,MAAA,CAAO,IAAA,CAAK,KAAgC,CAAA,CAAE,MAAK,EAAG;AACtE,MAAA,GAAA,CAAI,GAAG,CAAA,GAAI,QAAA,CAAU,KAAA,CAAkC,GAAG,CAAC,CAAA;AAAA,IAC7D;AACA,IAAA,OAAO,GAAA;AAAA,EACT;AACA,EAAA,OAAO,KAAA;AACT","file":"chunk-JFGYT6BI.js","sourcesContent":["import { blake3 } from '@noble/hashes/blake3.js';\nimport { bytesToHex } from '@noble/hashes/utils.js';\n\n/**\n * Content hashing — the bedrock of vg's determinism contract.\n *\n * Ids are blake3 over a canonical payload. blake3 is pure-WASM/JS (no native\n * build, no platform variance), so identical input → identical id on every\n * machine. We never let timestamps, RNG, locale, or filesystem order into a\n * hashed payload (VG-ENGINE-TEARDOWN.md §5).\n */\n\nconst encoder = new TextEncoder();\n\n/** Full hex digest of a UTF-8 string. */\nexport function hashString(input: string): string {\n return bytesToHex(blake3(encoder.encode(input)));\n}\n\n/** Full hex digest of raw bytes (file contents). */\nexport function hashBytes(input: Uint8Array): string {\n return bytesToHex(blake3(input));\n}\n\n/**\n * A short, collision-resistant id for nodes/edges. 16 bytes (128 bits) of\n * blake3 is ample for repo-scale graphs and keeps `graph.json` compact and\n * human-diffable.\n */\nexport function shortId(input: string): string {\n return bytesToHex(blake3(encoder.encode(input), { dkLen: 16 }));\n}\n\n/**\n * Canonical JSON: object keys sorted recursively, no insignificant whitespace.\n * The single source of truth for \"what bytes get hashed\" so two runs that see\n * the same logical payload produce byte-identical input to blake3.\n */\nexport function canonicalize(value: unknown): string {\n return JSON.stringify(sortKeys(value));\n}\n\nfunction sortKeys(value: unknown): unknown {\n if (Array.isArray(value)) return value.map(sortKeys);\n if (value && typeof value === 'object') {\n const out: Record<string, unknown> = {};\n for (const key of Object.keys(value as Record<string, unknown>).sort()) {\n out[key] = sortKeys((value as Record<string, unknown>)[key]);\n }\n return out;\n }\n return value;\n}\n"]}
@@ -19,7 +19,7 @@ import * as zlib from 'zlib';
19
19
  import { promisify } from 'util';
20
20
 
21
21
  // src/version.ts
22
- var VERSION = "2026.721.3";
22
+ var VERSION = "2026.722.1";
23
23
  var TOP_LEVEL_NODE_MODULES = /^node_modules\/((?:@[^/]+\/)?[^/]+)$/;
24
24
  function parsePackageLock(json) {
25
25
  const out = /* @__PURE__ */ new Map();
@@ -138,8 +138,8 @@ async function loadNpmLockIndex(dir, io) {
138
138
  // src/core-open/utils/timeout.ts
139
139
  async function withTimeout(promise, ms) {
140
140
  let timer;
141
- const timeout = new Promise((resolve8) => {
142
- timer = setTimeout(() => resolve8({ ok: false }), ms);
141
+ const timeout = new Promise((resolve7) => {
142
+ timer = setTimeout(() => resolve7({ ok: false }), ms);
143
143
  });
144
144
  try {
145
145
  const result = await Promise.race([
@@ -152,7 +152,7 @@ async function withTimeout(promise, ms) {
152
152
  }
153
153
  }
154
154
  function runCommand(cmd, args) {
155
- return new Promise((resolve8, reject) => {
155
+ return new Promise((resolve7, reject) => {
156
156
  const child = spawn(cmd, args, { stdio: ["ignore", "pipe", "pipe"] });
157
157
  let out = "";
158
158
  let err = "";
@@ -164,7 +164,7 @@ function runCommand(cmd, args) {
164
164
  reject(new Error(`${cmd} ${args.join(" ")} failed (code=${code}): ${err.trim()}`));
165
165
  return;
166
166
  }
167
- resolve8(out);
167
+ resolve7(out);
168
168
  });
169
169
  });
170
170
  }
@@ -294,7 +294,7 @@ function buildNpmViewChunks(pkgs, platform = process.platform) {
294
294
  return chunks;
295
295
  }
296
296
  async function npmViewJson(args, cwd) {
297
- return new Promise((resolve8, reject) => {
297
+ return new Promise((resolve7, reject) => {
298
298
  const child = spawn(NPM_COMMAND, ["view", ...args, "--json"], {
299
299
  cwd,
300
300
  stdio: ["ignore", "pipe", "pipe"]
@@ -311,13 +311,13 @@ async function npmViewJson(args, cwd) {
311
311
  }
312
312
  const trimmed = out.trim();
313
313
  if (!trimmed) {
314
- resolve8(null);
314
+ resolve7(null);
315
315
  return;
316
316
  }
317
317
  try {
318
- resolve8(JSON.parse(trimmed));
318
+ resolve7(JSON.parse(trimmed));
319
319
  } catch {
320
- resolve8(trimmed.replace(/^"|"$/g, ""));
320
+ resolve7(trimmed.replace(/^"|"$/g, ""));
321
321
  }
322
322
  });
323
323
  });
@@ -6871,12 +6871,12 @@ function computeDriftScore(projects) {
6871
6871
  (dep) => ({ unsupported: dep.unsupported === true, abandoned: dep.abandoned === true })
6872
6872
  );
6873
6873
  const rs = runtimeScore(projects);
6874
- const fs9 = frameworkScore(projects);
6874
+ const fs8 = frameworkScore(projects);
6875
6875
  const ds = depAgg ? 100 - depAgg.drift : null;
6876
6876
  const es = eolScore(projects);
6877
6877
  const components = [
6878
6878
  { score: rs, weight: 0.25 },
6879
- { score: fs9, weight: 0.25 },
6879
+ { score: fs8, weight: 0.25 },
6880
6880
  { score: ds, weight: 0.3 },
6881
6881
  { score: es, weight: 0.2 }
6882
6882
  ];
@@ -6885,7 +6885,7 @@ function computeDriftScore(projects) {
6885
6885
  const buildComponents = () => {
6886
6886
  const c = {
6887
6887
  runtimeScore: toDrift(Math.round(rs ?? 100)),
6888
- frameworkScore: toDrift(Math.round(fs9 ?? 100)),
6888
+ frameworkScore: toDrift(Math.round(fs8 ?? 100)),
6889
6889
  dependencyScore: toDrift(Math.round(ds ?? 100)),
6890
6890
  eolScore: toDrift(Math.round(es ?? 100))
6891
6891
  };
@@ -6929,7 +6929,7 @@ function computeDriftScore(projects) {
6929
6929
  else riskLevel = "high";
6930
6930
  const measured = [];
6931
6931
  if (rs !== null) measured.push("runtime");
6932
- if (fs9 !== null) measured.push("framework");
6932
+ if (fs8 !== null) measured.push("framework");
6933
6933
  if (ds !== null) measured.push("dependency");
6934
6934
  if (es !== null) measured.push("eol");
6935
6935
  return {
@@ -8266,11 +8266,11 @@ async function findGitDir(startDir) {
8266
8266
  while (dir !== root) {
8267
8267
  const gitPath = path29.join(dir, ".git");
8268
8268
  try {
8269
- const stat4 = await fs2.stat(gitPath);
8270
- if (stat4.isDirectory()) {
8269
+ const stat3 = await fs2.stat(gitPath);
8270
+ if (stat3.isDirectory()) {
8271
8271
  return gitPath;
8272
8272
  }
8273
- if (stat4.isFile()) {
8273
+ if (stat3.isFile()) {
8274
8274
  const content = (await fs2.readFile(gitPath, "utf8")).trim();
8275
8275
  if (content.startsWith("gitdir: ")) {
8276
8276
  const resolved = path29.resolve(dir, content.slice(8));
@@ -8323,8 +8323,8 @@ async function readGitRemoteUrl(gitDir) {
8323
8323
  async function resolveGitConfigPath(gitDir) {
8324
8324
  const directConfig = path29.join(gitDir, "config");
8325
8325
  try {
8326
- const stat4 = await fs2.stat(directConfig);
8327
- if (stat4.isFile()) return directConfig;
8326
+ const stat3 = await fs2.stat(directConfig);
8327
+ if (stat3.isFile()) return directConfig;
8328
8328
  } catch {
8329
8329
  }
8330
8330
  const commonDirFile = path29.join(gitDir, "commondir");
@@ -8333,8 +8333,8 @@ async function resolveGitConfigPath(gitDir) {
8333
8333
  if (!commonDir) return void 0;
8334
8334
  const resolvedCommonDir = path29.resolve(gitDir, commonDir);
8335
8335
  const commonConfig = path29.join(resolvedCommonDir, "config");
8336
- const stat4 = await fs2.stat(commonConfig);
8337
- if (stat4.isFile()) return commonConfig;
8336
+ const stat3 = await fs2.stat(commonConfig);
8337
+ if (stat3.isFile()) return commonConfig;
8338
8338
  } catch {
8339
8339
  return void 0;
8340
8340
  }
@@ -8365,8 +8365,8 @@ var ProgressTrace = class _ProgressTrace {
8365
8365
  flushed = false;
8366
8366
  /** Returns a trace when VIBGRATE_TRACE_EVENTS is set, else null. */
8367
8367
  static fromEnv() {
8368
- const path35 = process.env.VIBGRATE_TRACE_EVENTS;
8369
- return path35 ? new _ProgressTrace(path35) : null;
8368
+ const path33 = process.env.VIBGRATE_TRACE_EVENTS;
8369
+ return path33 ? new _ProgressTrace(path33) : null;
8370
8370
  }
8371
8371
  record(op, data = {}) {
8372
8372
  if (this.flushed) return;
@@ -9405,7 +9405,7 @@ function manifestAdvisoryToAdvisory(m) {
9405
9405
  };
9406
9406
  }
9407
9407
  function sleep(ms) {
9408
- return new Promise((resolve8) => setTimeout(resolve8, ms));
9408
+ return new Promise((resolve7) => setTimeout(resolve7, ms));
9409
9409
  }
9410
9410
  async function fetchJson(url, init, sem) {
9411
9411
  return sem.run(async () => {
@@ -9589,7 +9589,7 @@ var GIT_MAX_BUFFER = 64 * 1024 * 1024;
9589
9589
  var DEFAULT_MAX_COMMITS = 500;
9590
9590
  var FIELD_SEP = "";
9591
9591
  function runGit(cwd, args) {
9592
- return new Promise((resolve8) => {
9592
+ return new Promise((resolve7) => {
9593
9593
  execFile(
9594
9594
  "git",
9595
9595
  args,
@@ -9608,8 +9608,8 @@ function runGit(cwd, args) {
9608
9608
  }
9609
9609
  },
9610
9610
  (err, stdout) => {
9611
- if (err) resolve8({ ok: false, stdout: "" });
9612
- else resolve8({ ok: true, stdout: typeof stdout === "string" ? stdout : String(stdout) });
9611
+ if (err) resolve7({ ok: false, stdout: "" });
9612
+ else resolve7({ ok: true, stdout: typeof stdout === "string" ? stdout : String(stdout) });
9613
9613
  }
9614
9614
  );
9615
9615
  });
@@ -9753,18 +9753,18 @@ function walkV1Dependencies(deps, out) {
9753
9753
  }
9754
9754
  function parsePnpmPackageKey(key) {
9755
9755
  const k = key.replace(/^\//, "");
9756
- let sep4 = -1;
9756
+ let sep2 = -1;
9757
9757
  for (let i = k.startsWith("@") ? 1 : 0; i < k.length - 1; i++) {
9758
9758
  if (k[i] === "@" && /[0-9]/.test(k[i + 1])) {
9759
- sep4 = i;
9759
+ sep2 = i;
9760
9760
  break;
9761
9761
  }
9762
9762
  }
9763
9763
  let name;
9764
9764
  let rest;
9765
- if (sep4 > 0) {
9766
- name = k.slice(0, sep4);
9767
- rest = k.slice(sep4 + 1);
9765
+ if (sep2 > 0) {
9766
+ name = k.slice(0, sep2);
9767
+ rest = k.slice(sep2 + 1);
9768
9768
  } else {
9769
9769
  const slash = k.lastIndexOf("/");
9770
9770
  if (slash <= 0) return null;
@@ -9986,16 +9986,16 @@ function parsePomXml(content) {
9986
9986
  properties["project.version"] = ownVersion;
9987
9987
  properties["project.parent.version"] = ownVersion;
9988
9988
  }
9989
- const resolve8 = (value) => value.replace(/\$\{([^}]+)\}/g, (_, key) => properties[key] ?? `\${${key}}`);
9989
+ const resolve7 = (value) => value.replace(/\$\{([^}]+)\}/g, (_, key) => properties[key] ?? `\${${key}}`);
9990
9990
  const deps = project.dependencies?.dependency;
9991
9991
  for (const dep of pomArray(deps)) {
9992
9992
  if (!dep || typeof dep !== "object") continue;
9993
9993
  const d = dep;
9994
9994
  if (d.version == null) continue;
9995
- const groupId = d.groupId != null ? resolve8(String(d.groupId)).trim() : "";
9996
- const artifactId = d.artifactId != null ? resolve8(String(d.artifactId)).trim() : "";
9995
+ const groupId = d.groupId != null ? resolve7(String(d.groupId)).trim() : "";
9996
+ const artifactId = d.artifactId != null ? resolve7(String(d.artifactId)).trim() : "";
9997
9997
  if (!groupId || !artifactId) continue;
9998
- const version = resolve8(String(d.version)).trim();
9998
+ const version = resolve7(String(d.version)).trim();
9999
9999
  if (!isConcreteMavenVersion(version)) continue;
10000
10000
  considerVersion(out, `${groupId}:${artifactId}`, version);
10001
10001
  }
@@ -10978,8 +10978,8 @@ function analyzeUsage(root, packageName, ecosystem) {
10978
10978
  const full = path29.join(dir, entry.name);
10979
10979
  let content;
10980
10980
  try {
10981
- const stat4 = fs5.statSync(full);
10982
- if (stat4.size > MAX_FILE_BYTES) continue;
10981
+ const stat3 = fs5.statSync(full);
10982
+ if (stat3.size > MAX_FILE_BYTES) continue;
10983
10983
  content = fs5.readFileSync(full, "utf8");
10984
10984
  } catch {
10985
10985
  continue;
@@ -11639,8 +11639,8 @@ async function computeTreeMetadataHash(rootDir, options) {
11639
11639
  const relPath = relDir ? `${relDir}/${entry.name}` : entry.name;
11640
11640
  const absPath = path29.join(absDir, entry.name);
11641
11641
  try {
11642
- const stat4 = await fs2.stat(absPath);
11643
- leaves.push(`${relPath}|${stat4.size}|${stat4.mtimeMs}`);
11642
+ const stat3 = await fs2.stat(absPath);
11643
+ leaves.push(`${relPath}|${stat3.size}|${stat3.mtimeMs}`);
11644
11644
  } catch {
11645
11645
  }
11646
11646
  }
@@ -11656,35 +11656,6 @@ async function computeTreeMetadataHash(rootDir, options) {
11656
11656
  return digest.digest("hex");
11657
11657
  }
11658
11658
 
11659
- // src/reporting/utils/fs.ts
11660
- promisify(execFile);
11661
- function stripBom(text) {
11662
- return text.charCodeAt(0) === 65279 ? text.slice(1) : text;
11663
- }
11664
- async function readJsonFile2(filePath) {
11665
- const txt = await fs2.readFile(filePath, "utf8");
11666
- return JSON.parse(stripBom(txt));
11667
- }
11668
- async function pathExists2(p) {
11669
- try {
11670
- await fs2.access(p);
11671
- return true;
11672
- } catch {
11673
- return false;
11674
- }
11675
- }
11676
- async function ensureDir2(dir) {
11677
- await fs2.mkdir(dir, { recursive: true });
11678
- }
11679
- async function writeJsonFile2(filePath, data) {
11680
- await ensureDir2(path29.dirname(filePath));
11681
- await fs2.writeFile(filePath, JSON.stringify(data, null, 2) + "\n", "utf8");
11682
- }
11683
- async function writeTextFile2(filePath, content) {
11684
- await ensureDir2(path29.dirname(filePath));
11685
- await fs2.writeFile(filePath, content, "utf8");
11686
- }
11687
-
11688
- export { PROJECT_TYPE_TO_OSV_ECOSYSTEM, VERSION, brandProgressBar, buildVersionTimelines, compactUiPurpose, computeDriftScore, computeRepoFingerprint, computeUpgradeImpact, detectVcs, driftBar, ensureDir2 as ensureDir, fetchRiskySymbols, fetchScanPreflight, findPackageAnyEcosystem, findPackageTimeline, findVersionCrossings, getChangelogSignals, gitHistoryAvailable, loadConfig, normalizeConstraint, parseDsn, pathExists2 as pathExists, prepareCompressedUpload, projectTypeToVulnEcosystem, readJsonFile2 as readJsonFile, resolveHead, resolveRepositoryName, runCoreScan, severityRank, titleBox, versionSatisfies, workingTreeDirty, writeDefaultConfig, writeJsonFile2 as writeJsonFile, writeTextFile2 as writeTextFile };
11689
- //# sourceMappingURL=chunk-JLRF5TFA.js.map
11690
- //# sourceMappingURL=chunk-JLRF5TFA.js.map
11659
+ export { PROJECT_TYPE_TO_OSV_ECOSYSTEM, VERSION, brandProgressBar, buildVersionTimelines, compactUiPurpose, computeDriftScore, computeRepoFingerprint, computeUpgradeImpact, detectVcs, driftBar, fetchRiskySymbols, fetchScanPreflight, findPackageAnyEcosystem, findPackageTimeline, findVersionCrossings, getChangelogSignals, gitHistoryAvailable, loadConfig, normalizeConstraint, parseDsn, prepareCompressedUpload, projectTypeToVulnEcosystem, resolveHead, resolveRepositoryName, runCoreScan, severityRank, titleBox, versionSatisfies, workingTreeDirty, writeDefaultConfig };
11660
+ //# sourceMappingURL=chunk-JSNHZCIV.js.map
11661
+ //# sourceMappingURL=chunk-JSNHZCIV.js.map