openkrak-mcp 1.1.4 → 1.1.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.
Files changed (2) hide show
  1. package/dist/index.js +22 -14
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -242135,8 +242135,19 @@ function assembleGraph(allNodes, rawEdges, barrelReExports = []) {
242135
242135
  edges.push(edge);
242136
242136
  }
242137
242137
  }
242138
+ const fileClassIndex = /* @__PURE__ */ new Map();
242139
+ const fileBarrelIndex = /* @__PURE__ */ new Map();
242140
+ for (const node of allNodes) {
242141
+ if (node.kind === "class") {
242142
+ const arr = fileClassIndex.get(node.file) ?? [];
242143
+ arr.push(node);
242144
+ fileClassIndex.set(node.file, arr);
242145
+ } else if (node.kind === "variable" && node.name === "default") {
242146
+ fileBarrelIndex.set(node.file, node);
242147
+ }
242148
+ }
242138
242149
  for (const raw of rawEdges) {
242139
- const resolvedTo = resolveToNodeId(raw.to, fileNodeMap, nodeById);
242150
+ const resolvedTo = resolveToNodeId(raw.to, fileNodeMap, nodeById, fileClassIndex, fileBarrelIndex);
242140
242151
  const edgeId = `${raw.from}->${resolvedTo}:${raw.kind}`;
242141
242152
  const edge = {
242142
242153
  id: edgeId,
@@ -242254,21 +242265,18 @@ function assembleGraph(allNodes, rawEdges, barrelReExports = []) {
242254
242265
  const stats = computeStats(allNodes, finalEdges);
242255
242266
  return { nodes: allNodes, edges: finalEdges, stats };
242256
242267
  }
242257
- function resolveToNodeId(to, fileNodeMap, nodeById) {
242268
+ function resolveToNodeId(to, fileNodeMap, _nodeById, fileClassIndex, fileBarrelIndex) {
242258
242269
  const fileNodeId = fileNodeMap.get(to) ?? fileNodeMap.get(to + ".ts") ?? fileNodeMap.get(to + ".tsx") ?? fileNodeMap.get(to.replace(/\.ts$/, ".tsx")) ?? fileNodeMap.get(to.replace(/\.tsx$/, ".ts")) ?? fileNodeMap.get(to + "/index.ts") ?? fileNodeMap.get(to + "/index.tsx");
242259
- if (fileNodeId && nodeById) {
242260
- const filePath = fileNodeId.split("::")[0];
242261
- const barrelNode = [...nodeById.values()].find(
242262
- (n) => n.file === filePath && n.kind === "variable" && n.name === "default"
242263
- );
242264
- if (barrelNode) return barrelNode.id;
242265
- const classNodes = [...nodeById.values()].filter(
242266
- (n) => n.file === filePath && n.kind === "class"
242267
- );
242268
- if (classNodes.length === 1) return classNodes[0].id;
242270
+ if (fileNodeId) {
242271
+ if (fileClassIndex && fileBarrelIndex) {
242272
+ const filePath = fileNodeId.split("::")[0];
242273
+ const barrelNode = fileBarrelIndex.get(filePath);
242274
+ if (barrelNode) return barrelNode.id;
242275
+ const classNodes = fileClassIndex.get(filePath) ?? [];
242276
+ if (classNodes.length === 1) return classNodes[0].id;
242277
+ }
242269
242278
  return fileNodeId;
242270
242279
  }
242271
- if (fileNodeId) return fileNodeId;
242272
242280
  return to;
242273
242281
  }
242274
242282
  function computeStats(nodes, edges) {
@@ -242928,7 +242936,7 @@ async function runDeepStrike(store, opts) {
242928
242936
  allFindings.push(...secFindings);
242929
242937
  try {
242930
242938
  const partialEntry = await buildFileIndexEntry(opts.repoRoot, relPath, content, symbols.length);
242931
- const cyclomaticByFunc = isTypeScriptOrJS(relPath) ? extractCyclomaticComplexity(parseFile(absPath, content, opts.repoRoot).ast, relPath) : /* @__PURE__ */ new Map();
242939
+ const cyclomaticByFunc = isTypeScriptOrJS(relPath) ? extractCyclomaticComplexity(ast, relPath) : /* @__PURE__ */ new Map();
242932
242940
  const entry = {
242933
242941
  ...partialEntry,
242934
242942
  complexity: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "openkrak-mcp",
3
- "version": "1.1.4",
3
+ "version": "1.1.5",
4
4
  "description": "OpenKrak MCP Server - AI coding intelligence via Dorchester engine",
5
5
  "mcpName": "io.github.FrnzJulianBergmann/openkrak",
6
6
  "type": "commonjs",