sigmap 6.10.7 → 6.10.9

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.
package/AGENTS.md CHANGED
@@ -61,10 +61,9 @@ Always run `sigmap ask` or `sigmap --query` before searching for files relevant
61
61
  src/extractors/python_ast.py ← ast
62
62
  ```
63
63
 
64
- ## changes (last 5 commits — 11 minutes ago)
64
+ ## changes (last 5 commits — 7 minutes ago)
65
65
  ```
66
- src/analysis/diagnostics.js +estimateTokens +formatFileDecision +computeFileMetrics +explainInclusion
67
- src/map/import-graph.js +buildReverseGraph ~extractImports ~resolveJsPath ~detectCycles
66
+ src/graph/builder.js ~extractFileDeps
68
67
  ```
69
68
 
70
69
  ## packages
@@ -625,6 +624,15 @@ function buildReverseGraph(graph)
625
624
  function analyze(files, cwd)
626
625
  ```
627
626
 
627
+ ### src/graph/builder.js
628
+ ```
629
+ module.exports = { build, buildFromCwd, extractFileDeps }
630
+ function resolveJsPath(dir, importStr, fileSet) → string|null
631
+ function extractFileDeps(filePath, content, fileSet) → string[]
632
+ function build(files, cwd) → { forward: Map<string,str
633
+ function buildFromCwd(cwd, opts) → { forward: Map<string,str
634
+ ```
635
+
628
636
  ### src/mcp/server.js
629
637
  ```
630
638
  module.exports = { start }
package/CHANGELOG.md CHANGED
@@ -10,6 +10,22 @@ Format: [Semantic Versioning](https://semver.org/)
10
10
 
11
11
  ---
12
12
 
13
+ ## [6.10.9] — 2026-05-12
14
+
15
+ ### Changed
16
+
17
+ - **Documentation updates** — Updated roadmap to reflect v6.10.8 completion with Python import detection in builder.js for get_impact MCP tool.
18
+
19
+ ---
20
+
21
+ ## [6.10.8] — 2026-05-12
22
+
23
+ ### Fixed
24
+
25
+ - **Python absolute imports in builder.js for get_impact** — Added Python absolute import detection to `src/graph/builder.js` used by the `get_impact` MCP tool. Previously only `import-graph.js` had this support, causing `get_impact` to return empty blast radius for Python monorepos. Now both tools correctly detect `from package.module import X` patterns (closes #187).
26
+
27
+ ---
28
+
13
29
  ## [6.10.7] — 2026-05-12
14
30
 
15
31
  ### Fixed
package/gen-context.js CHANGED
@@ -5707,7 +5707,7 @@ __factories["./src/mcp/server"] = function(module, exports) {
5707
5707
 
5708
5708
  const SERVER_INFO = {
5709
5709
  name: 'sigmap',
5710
- version: '6.10.6',
5710
+ version: '6.10.9',
5711
5711
  description: 'SigMap MCP server — code signatures on demand',
5712
5712
  };
5713
5713
 
@@ -8334,7 +8334,7 @@ const path = require('path');
8334
8334
  const os = require('os');
8335
8335
  const { execSync } = require('child_process');
8336
8336
 
8337
- const VERSION = '6.10.6';
8337
+ const VERSION = '6.10.9';
8338
8338
  const MARKER = '\n\n## Auto-generated signatures\n<!-- Updated by gen-context.js -->\n';
8339
8339
 
8340
8340
  function requireSourceOrBundled(key) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap",
3
- "version": "6.10.7",
3
+ "version": "6.10.9",
4
4
  "description": "Zero-dependency AI context engine — 97% token reduction. No npm install. Runs on Node 18+.",
5
5
  "main": "gen-context.js",
6
6
  "exports": {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap-cli",
3
- "version": "6.10.6",
3
+ "version": "6.10.9",
4
4
  "description": "SigMap CLI wrapper — thin adapter for programmatic CLI invocation",
5
5
  "main": "index.js",
6
6
  "keywords": [
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap-core",
3
- "version": "6.10.6",
3
+ "version": "6.10.9",
4
4
  "description": "SigMap core library — zero-dependency code signature extraction, retrieval, and security scanning",
5
5
  "main": "index.js",
6
6
  "keywords": [
@@ -93,6 +93,24 @@ function extractFileDeps(filePath, content, fileSet) {
93
93
  : null;
94
94
  if (candidate && fileSet.has(candidate)) found.push(candidate);
95
95
  }
96
+
97
+ // Absolute imports: from package.module import ... (infer from project structure)
98
+ const reAbs = /^[ \t]*from\s+([\w.]+)\s+import/gm;
99
+ while ((m = reAbs.exec(content)) !== null) {
100
+ const modulePath = m[1].replace(/\./g, '/');
101
+ const candidates = [
102
+ path.join(dir, modulePath + '.py'),
103
+ path.join(dir, modulePath, '__init__.py'),
104
+ path.resolve(dir, '..', modulePath + '.py'),
105
+ path.resolve(dir, '..', modulePath, '__init__.py'),
106
+ ];
107
+ for (const c of candidates) {
108
+ if (fileSet.has(c)) {
109
+ found.push(c);
110
+ break;
111
+ }
112
+ }
113
+ }
96
114
  }
97
115
 
98
116
  // ── Go ────────────────────────────────────────────────────────────────────
package/src/mcp/server.js CHANGED
@@ -18,7 +18,7 @@ const { readContext, searchSignatures, getMap, createCheckpoint, getRouting, exp
18
18
 
19
19
  const SERVER_INFO = {
20
20
  name: 'sigmap',
21
- version: '6.10.6',
21
+ version: '6.10.9',
22
22
  description: 'SigMap MCP server — code signatures on demand',
23
23
  };
24
24