sigmap 6.6.0 → 6.6.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.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,14 @@ Format: [Semantic Versioning](https://semver.org/)
10
10
 
11
11
  ---
12
12
 
13
+ ## [6.6.1] — 2026-04-27
14
+
15
+ ### Added
16
+
17
+ - **JVM project structure support** — Added auto-detection of Java, Kotlin, and Scala project directories. `srcDirs` now includes `src/main/java`, `src/main/kotlin`, `src/main/scala`, `app/src/main/java`, `app/src/main/kotlin`, `src/test/java`, and `src/test/kotlin` for out-of-the-box support of JVM-based projects.
18
+
19
+ ---
20
+
13
21
  ## [6.6.0] — 2026-04-27
14
22
 
15
23
  ### Added
package/gen-context.js CHANGED
@@ -5387,7 +5387,7 @@ __factories["./src/mcp/server"] = function(module, exports) {
5387
5387
 
5388
5388
  const SERVER_INFO = {
5389
5389
  name: 'sigmap',
5390
- version: '6.6.0',
5390
+ version: '6.6.1',
5391
5391
  description: 'SigMap MCP server — code signatures on demand',
5392
5392
  };
5393
5393
 
@@ -6267,6 +6267,68 @@ __factories["./src/session/memory"] = function(module, exports) {
6267
6267
  module.exports = { loadSession, saveSession, mergeSessionContext, clearSession };
6268
6268
  };
6269
6269
 
6270
+ // ── ./src/plan/planner ──
6271
+ __factories["./src/plan/planner"] = function(module, exports) {
6272
+ 'use strict';
6273
+
6274
+ const { buildFromCwd } = __require('./src/graph/builder');
6275
+ const { getImpact } = __require('./src/graph/impact');
6276
+ const { buildSigIndex, rank, detectIntent } = __require('./src/retrieval/ranker');
6277
+ const { buildTestIndex, isTested } = __require('./src/extractors/coverage');
6278
+
6279
+ function createPlan(goal, cwd, config) {
6280
+ const intent = detectIntent(goal);
6281
+ const sigIndex = buildSigIndex(cwd);
6282
+ if (sigIndex.size === 0) {
6283
+ return { error: 'no context found' };
6284
+ }
6285
+
6286
+ const ranked = rank(goal, sigIndex, { topK: 15, cwd });
6287
+ const highConf = ranked.filter(r => r.confidence === 'high').slice(0, 5);
6288
+ const medConf = ranked.filter(r => r.confidence === 'medium').slice(0, 5);
6289
+
6290
+ let impact = null;
6291
+ if (highConf.length > 0) {
6292
+ const entryFile = highConf[0].file;
6293
+ try {
6294
+ const graph = buildFromCwd(cwd);
6295
+ impact = getImpact(entryFile, graph, { maxDepth: 3, cwd });
6296
+ } catch (_) {
6297
+ // Graph build failed, continue without impact
6298
+ }
6299
+ }
6300
+
6301
+ let testedFiles = [];
6302
+ try {
6303
+ const testIndex = buildTestIndex(cwd, config.testDirs || ['test', 'tests', '__tests__', 'spec']);
6304
+ testedFiles = highConf.filter(r => {
6305
+ const sigs = r.sigs || [];
6306
+ const fnNames = sigs.map(s => {
6307
+ const m = s.match(/(?:function|def|fn)\s+(\w+)/);
6308
+ return m ? m[1] : null;
6309
+ }).filter(Boolean);
6310
+ return fnNames.some(fn => isTested(fn, testIndex));
6311
+ });
6312
+ } catch (_) {
6313
+ // Coverage index failed, continue without test info
6314
+ }
6315
+
6316
+ return {
6317
+ goal,
6318
+ intent,
6319
+ inspectFirst: highConf.map(r => r.file),
6320
+ likelyToChange: medConf.map(r => r.file),
6321
+ impactRadius: impact ? {
6322
+ direct: [...(impact.direct || [])],
6323
+ transitive: [...(impact.transitive || [])],
6324
+ } : null,
6325
+ testsAffected: testedFiles.map(r => r.file),
6326
+ };
6327
+ }
6328
+
6329
+ module.exports = { createPlan };
6330
+ };
6331
+
6270
6332
  // ── ./src/retrieval/tokenizer ──
6271
6333
  __factories["./src/retrieval/tokenizer"] = function(module, exports) {
6272
6334
  'use strict';
@@ -7793,7 +7855,7 @@ const path = require('path');
7793
7855
  const os = require('os');
7794
7856
  const { execSync } = require('child_process');
7795
7857
 
7796
- const VERSION = '6.6.0';
7858
+ const VERSION = '6.6.1';
7797
7859
  const MARKER = '\n\n## Auto-generated signatures\n<!-- Updated by gen-context.js -->\n';
7798
7860
 
7799
7861
  function requireSourceOrBundled(key) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "sigmap",
3
- "version": "6.6.0",
3
+ "version": "6.6.1",
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.6.0",
3
+ "version": "6.6.1",
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.6.0",
3
+ "version": "6.6.1",
4
4
  "description": "SigMap core library — zero-dependency code signature extraction, retrieval, and security scanning",
5
5
  "main": "index.js",
6
6
  "keywords": [
@@ -26,6 +26,10 @@ const DEFAULTS = {
26
26
  'pages', 'components', 'hooks', 'routes', 'controllers',
27
27
  'models', 'views', 'resources', 'config', 'db',
28
28
  'projects', 'apps', 'libs', 'instance', 'blueprints',
29
+ // JVM project structures (Java, Kotlin, Scala)
30
+ 'src/main/java', 'src/main/kotlin', 'src/main/scala',
31
+ 'app/src/main/java', 'app/src/main/kotlin',
32
+ 'src/test/java', 'src/test/kotlin',
29
33
  ],
30
34
 
31
35
  // Directory/file names to exclude entirely
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.6.0',
21
+ version: '6.6.1',
22
22
  description: 'SigMap MCP server — code signatures on demand',
23
23
  };
24
24