ctxloom-pro 1.2.3 → 1.2.5

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.
@@ -11323,7 +11323,7 @@ function resolveTelemetryLevel() {
11323
11323
  }
11324
11324
  var TELEMETRY_LEVEL = resolveTelemetryLevel();
11325
11325
  var TELEMETRY_DISABLED = TELEMETRY_LEVEL === "off";
11326
- var CTXLOOM_VERSION = "1.2.3".length > 0 ? "1.2.3" : "dev";
11326
+ var CTXLOOM_VERSION = "1.2.5".length > 0 ? "1.2.5" : "dev";
11327
11327
  var POSTHOG_HOST = "https://eu.i.posthog.com";
11328
11328
  var POSTHOG_KEY = process.env["POSTHOG_API_KEY"] ?? (true ? "phc_CiDkmFLcZ2K6uCpcoSUQLmFrnnUvsyXGhSxopX5TVKE6" : "");
11329
11329
  var SENTRY_DSN = process.env["SENTRY_DSN"] ?? (true ? "https://81c94a0f04a8e242dee493ac1e17f733@o4508531702497280.ingest.de.sentry.io/4511256875368528" : "");
@@ -4910,6 +4910,23 @@ import { promisify } from "util";
4910
4910
  // packages/core/src/lib/analysis.ts
4911
4911
  var TEST_PATTERN = /(\.test\.|\.spec\.|\/tests\/|\/test\/|\/spec\/|__tests__)/;
4912
4912
  var RISK_ORDER = { critical: 0, high: 1, medium: 2, low: 3 };
4913
+ var NON_SOURCE_EXTENSIONS = /\.(?:md|mdx|markdown|txt|rst|adoc|lock|sum|png|jpg|jpeg|gif|svg|ico|webp|woff2?|ttf|otf|eot|mp4|mov|webm|wav|mp3)$/i;
4914
+ var NON_SOURCE_LOCKFILES = /* @__PURE__ */ new Set([
4915
+ "package-lock.json",
4916
+ "yarn.lock",
4917
+ "pnpm-lock.yaml",
4918
+ "composer.lock",
4919
+ "Gemfile.lock",
4920
+ "Cargo.lock"
4921
+ ]);
4922
+ var NON_SOURCE_BASENAMES = /^(?:LICEN[CS]E|CHANGELOG|README|AUTHORS|CONTRIBUTORS|NOTICE)(?:\.[a-z]+)?$/i;
4923
+ function isNonSourceFile(filePath) {
4924
+ if (NON_SOURCE_EXTENSIONS.test(filePath)) return true;
4925
+ const basename = filePath.split("/").pop() ?? filePath;
4926
+ if (NON_SOURCE_LOCKFILES.has(basename)) return true;
4927
+ if (NON_SOURCE_BASENAMES.test(basename)) return true;
4928
+ return false;
4929
+ }
4913
4930
  function fileHasTestCoverage(filePath, graph) {
4914
4931
  const importers = graph.getImporters(filePath);
4915
4932
  if (importers.some((f) => TEST_PATTERN.test(f))) return true;
@@ -4921,10 +4938,11 @@ function computeFileRiskLevel(filePath, graph) {
4921
4938
  const isTest = TEST_PATTERN.test(filePath);
4922
4939
  const importerCount = graph.getImporters(filePath).length;
4923
4940
  const isHub = importerCount >= 5;
4924
- const hasCoverage = isTest || fileHasTestCoverage(filePath, graph);
4941
+ const isNonSource = isNonSourceFile(filePath);
4942
+ const hasCoverage = isTest || isNonSource || fileHasTestCoverage(filePath, graph);
4925
4943
  let level;
4926
- if (isTest) {
4927
- level = "low";
4944
+ if (isTest || isNonSource) {
4945
+ level = isHub ? "high" : "low";
4928
4946
  } else if (isHub && !hasCoverage) {
4929
4947
  level = "critical";
4930
4948
  } else if (isHub || !hasCoverage && importerCount > 2) {
@@ -8855,7 +8873,7 @@ var TELEMETRY_DISABLED = TELEMETRY_LEVEL === "off";
8855
8873
  function getTelemetryLevel() {
8856
8874
  return TELEMETRY_LEVEL;
8857
8875
  }
8858
- var CTXLOOM_VERSION = "1.2.3".length > 0 ? "1.2.3" : "dev";
8876
+ var CTXLOOM_VERSION = "1.2.5".length > 0 ? "1.2.5" : "dev";
8859
8877
  var POSTHOG_HOST = "https://eu.i.posthog.com";
8860
8878
  var POSTHOG_KEY = process.env["POSTHOG_API_KEY"] ?? (true ? "phc_CiDkmFLcZ2K6uCpcoSUQLmFrnnUvsyXGhSxopX5TVKE6" : "");
8861
8879
  var SENTRY_DSN = process.env["SENTRY_DSN"] ?? (true ? "https://81c94a0f04a8e242dee493ac1e17f733@o4508531702497280.ingest.de.sentry.io/4511256875368528" : "");
@@ -9446,4 +9464,4 @@ export {
9446
9464
  FirstTouchTracker,
9447
9465
  EmittedOnceTracker
9448
9466
  };
9449
- //# sourceMappingURL=chunk-AJJYAZNH.js.map
9467
+ //# sourceMappingURL=chunk-6S3ZF2YS.js.map
package/dist/index.js CHANGED
@@ -47,7 +47,7 @@ import {
47
47
  validateDefaultRoot,
48
48
  wrapWithIndexingEnvelope,
49
49
  writeCODEOWNERS
50
- } from "./chunk-AJJYAZNH.js";
50
+ } from "./chunk-6S3ZF2YS.js";
51
51
  import {
52
52
  VectorStore
53
53
  } from "./chunk-DVI2RWJR.js";
@@ -1016,7 +1016,7 @@ try {
1016
1016
  } catch {
1017
1017
  }
1018
1018
  var args = process.argv.slice(2);
1019
- var ctxloomVersion = "1.2.3".length > 0 ? "1.2.3" : "dev";
1019
+ var ctxloomVersion = "1.2.5".length > 0 ? "1.2.5" : "dev";
1020
1020
  if (args.includes("--version") || args.includes("-v")) {
1021
1021
  process.stdout.write(`ctxloom ${ctxloomVersion}
1022
1022
  `);
@@ -1089,7 +1089,7 @@ async function checkLicense() {
1089
1089
  if (command !== void 0 && LICENSE_GATE_BYPASS_COMMANDS.has(command)) return;
1090
1090
  const ciKey = process.env["CTXLOOM_LICENSE_KEY"];
1091
1091
  if (ciKey) {
1092
- const { ApiClient } = await import("./src-ETJVZARU.js");
1092
+ const { ApiClient } = await import("./src-JZWAESJU.js");
1093
1093
  const client = new ApiClient(process.env["CTXLOOM_API_BASE"]);
1094
1094
  try {
1095
1095
  const result = await client.validate(ciKey, "ci-ephemeral");
@@ -1491,7 +1491,7 @@ async function main() {
1491
1491
  process.exit(1);
1492
1492
  }
1493
1493
  if (alias !== void 0) {
1494
- const { validateAlias } = await import("./src-ETJVZARU.js");
1494
+ const { validateAlias } = await import("./src-JZWAESJU.js");
1495
1495
  const v = validateAlias(alias);
1496
1496
  if (!v.ok) {
1497
1497
  console.error(`[ctxloom] Invalid alias: ${v.reason}`);
@@ -1735,7 +1735,7 @@ Suggested reviewers for ${files.length} file(s):`);
1735
1735
  process.stderr.write("[ctxloom] --limit must be a non-negative integer (0 for unlimited)\n");
1736
1736
  process.exit(2);
1737
1737
  }
1738
- const { loadRulesConfig, RulesChecker, formatText, formatJson, RulesConfigError } = await import("./src-ETJVZARU.js");
1738
+ const { loadRulesConfig, RulesChecker, formatText, formatJson, RulesConfigError } = await import("./src-JZWAESJU.js");
1739
1739
  let config;
1740
1740
  try {
1741
1741
  config = await loadRulesConfig(root);
@@ -1759,7 +1759,7 @@ Suggested reviewers for ${files.length} file(s):`);
1759
1759
  }
1760
1760
  let graph;
1761
1761
  if (useSnapshot) {
1762
- const { DependencyGraph: DG } = await import("./src-ETJVZARU.js");
1762
+ const { DependencyGraph: DG } = await import("./src-JZWAESJU.js");
1763
1763
  graph = new DG();
1764
1764
  const loaded = await graph.loadSnapshotOnly(root);
1765
1765
  if (!loaded) {
@@ -1768,7 +1768,7 @@ Suggested reviewers for ${files.length} file(s):`);
1768
1768
  }
1769
1769
  } else {
1770
1770
  process.stderr.write("[ctxloom] Building dependency graph...\n");
1771
- const { ASTParser: ASTParser2, DependencyGraph: DependencyGraph2 } = await import("./src-ETJVZARU.js");
1771
+ const { ASTParser: ASTParser2, DependencyGraph: DependencyGraph2 } = await import("./src-JZWAESJU.js");
1772
1772
  let parser;
1773
1773
  try {
1774
1774
  parser = new ASTParser2();
@@ -101,7 +101,7 @@ import {
101
101
  validateDefaultRoot,
102
102
  wrapWithIndexingEnvelope,
103
103
  writeCODEOWNERS
104
- } from "./chunk-AJJYAZNH.js";
104
+ } from "./chunk-6S3ZF2YS.js";
105
105
  import {
106
106
  VectorStore
107
107
  } from "./chunk-DVI2RWJR.js";
@@ -224,4 +224,4 @@ export {
224
224
  wrapWithIndexingEnvelope,
225
225
  writeCODEOWNERS
226
226
  };
227
- //# sourceMappingURL=src-ETJVZARU.js.map
227
+ //# sourceMappingURL=src-JZWAESJU.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ctxloom-pro",
3
- "version": "1.2.3",
3
+ "version": "1.2.5",
4
4
  "description": "ctxloom — The Universal Code Context Engine. A local-first MCP server providing intelligent code context via hybrid Vector + AST + Graph search with Skeletonization (92% token reduction).",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",