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 +8 -0
- package/gen-context.js +64 -2
- package/package.json +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/core/package.json +1 -1
- package/src/config/defaults.js +4 -0
- package/src/mcp/server.js +1 -1
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.
|
|
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.
|
|
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
package/src/config/defaults.js
CHANGED
|
@@ -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