mindlore 0.6.9 → 0.7.0
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/README.md +1 -1
- package/dist/scripts/cc-memory-bulk-sync.d.ts.map +1 -1
- package/dist/scripts/cc-memory-bulk-sync.js +2 -1
- package/dist/scripts/cc-memory-bulk-sync.js.map +1 -1
- package/dist/scripts/cc-session-sync.d.ts.map +1 -1
- package/dist/scripts/cc-session-sync.js +3 -2
- package/dist/scripts/cc-session-sync.js.map +1 -1
- package/dist/scripts/init.js +4 -1
- package/dist/scripts/init.js.map +1 -1
- package/dist/scripts/lib/constants.d.ts +1 -0
- package/dist/scripts/lib/constants.d.ts.map +1 -1
- package/dist/scripts/lib/constants.js +2 -1
- package/dist/scripts/lib/constants.js.map +1 -1
- package/dist/scripts/lib/err-msg.d.ts +2 -0
- package/dist/scripts/lib/err-msg.d.ts.map +1 -0
- package/dist/scripts/lib/err-msg.js +7 -0
- package/dist/scripts/lib/err-msg.js.map +1 -0
- package/dist/scripts/lib/mcp-namespace.d.ts +2 -0
- package/dist/scripts/lib/mcp-namespace.d.ts.map +1 -0
- package/dist/scripts/lib/mcp-namespace.js +21 -0
- package/dist/scripts/lib/mcp-namespace.js.map +1 -0
- package/dist/scripts/lib/mcp-telemetry.d.ts +11 -0
- package/dist/scripts/lib/mcp-telemetry.d.ts.map +1 -0
- package/dist/scripts/lib/mcp-telemetry.js +37 -0
- package/dist/scripts/lib/mcp-telemetry.js.map +1 -0
- package/dist/scripts/lib/mcp-tools.d.ts +10 -0
- package/dist/scripts/lib/mcp-tools.d.ts.map +1 -0
- package/dist/scripts/lib/mcp-tools.js +121 -0
- package/dist/scripts/lib/mcp-tools.js.map +1 -0
- package/dist/scripts/lib/rrf.d.ts.map +1 -1
- package/dist/scripts/lib/rrf.js +2 -1
- package/dist/scripts/lib/rrf.js.map +1 -1
- package/dist/scripts/lib/search-engine.d.ts +1 -0
- package/dist/scripts/lib/search-engine.d.ts.map +1 -1
- package/dist/scripts/lib/search-engine.js +9 -5
- package/dist/scripts/lib/search-engine.js.map +1 -1
- package/dist/scripts/lib/slugify.d.ts +2 -0
- package/dist/scripts/lib/slugify.d.ts.map +1 -0
- package/dist/scripts/lib/slugify.js +13 -0
- package/dist/scripts/lib/slugify.js.map +1 -0
- package/dist/scripts/lib/smart-snippet.d.ts +9 -0
- package/dist/scripts/lib/smart-snippet.d.ts.map +1 -0
- package/dist/scripts/lib/smart-snippet.js +47 -0
- package/dist/scripts/lib/smart-snippet.js.map +1 -0
- package/dist/scripts/lib/tool-adapters/brief-adapter.d.ts +15 -0
- package/dist/scripts/lib/tool-adapters/brief-adapter.d.ts.map +1 -0
- package/dist/scripts/lib/tool-adapters/brief-adapter.js +66 -0
- package/dist/scripts/lib/tool-adapters/brief-adapter.js.map +1 -0
- package/dist/scripts/lib/tool-adapters/decide-adapter.d.ts +31 -0
- package/dist/scripts/lib/tool-adapters/decide-adapter.d.ts.map +1 -0
- package/dist/scripts/lib/tool-adapters/decide-adapter.js +71 -0
- package/dist/scripts/lib/tool-adapters/decide-adapter.js.map +1 -0
- package/dist/scripts/lib/tool-adapters/ingest-adapter.d.ts +16 -0
- package/dist/scripts/lib/tool-adapters/ingest-adapter.d.ts.map +1 -0
- package/dist/scripts/lib/tool-adapters/ingest-adapter.js +58 -0
- package/dist/scripts/lib/tool-adapters/ingest-adapter.js.map +1 -0
- package/dist/scripts/lib/tool-adapters/recall-adapter.d.ts +20 -0
- package/dist/scripts/lib/tool-adapters/recall-adapter.d.ts.map +1 -0
- package/dist/scripts/lib/tool-adapters/recall-adapter.js +69 -0
- package/dist/scripts/lib/tool-adapters/recall-adapter.js.map +1 -0
- package/dist/scripts/lib/tool-adapters/search-adapter.d.ts +22 -0
- package/dist/scripts/lib/tool-adapters/search-adapter.d.ts.map +1 -0
- package/dist/scripts/lib/tool-adapters/search-adapter.js +32 -0
- package/dist/scripts/lib/tool-adapters/search-adapter.js.map +1 -0
- package/dist/scripts/lib/tool-adapters/stats-adapter.d.ts +15 -0
- package/dist/scripts/lib/tool-adapters/stats-adapter.d.ts.map +1 -0
- package/dist/scripts/lib/tool-adapters/stats-adapter.js +66 -0
- package/dist/scripts/lib/tool-adapters/stats-adapter.js.map +1 -0
- package/dist/scripts/maintain-cleanup.d.ts.map +1 -1
- package/dist/scripts/maintain-cleanup.js +3 -2
- package/dist/scripts/maintain-cleanup.js.map +1 -1
- package/dist/scripts/mcp-server.d.ts +3 -0
- package/dist/scripts/mcp-server.d.ts.map +1 -0
- package/dist/scripts/mcp-server.js +85 -0
- package/dist/scripts/mcp-server.js.map +1 -0
- package/dist/scripts/mindlore-doctor.d.ts.map +1 -1
- package/dist/scripts/mindlore-doctor.js +4 -6
- package/dist/scripts/mindlore-doctor.js.map +1 -1
- package/dist/scripts/mindlore-fts5-index.js +2 -2
- package/dist/scripts/mindlore-fts5-index.js.map +1 -1
- package/dist/scripts/mindlore-health-check.d.ts.map +1 -1
- package/dist/scripts/mindlore-health-check.js +2 -2
- package/dist/scripts/mindlore-health-check.js.map +1 -1
- package/dist/scripts/validate-manifest-cli.js +2 -2
- package/dist/scripts/validate-manifest-cli.js.map +1 -1
- package/dist/tests/err-msg.test.d.ts +2 -0
- package/dist/tests/err-msg.test.d.ts.map +1 -0
- package/dist/tests/err-msg.test.js +24 -0
- package/dist/tests/err-msg.test.js.map +1 -0
- package/dist/tests/manifest-v2.test.js +0 -7
- package/dist/tests/manifest-v2.test.js.map +1 -1
- package/dist/tests/mcp-server.test.d.ts +2 -0
- package/dist/tests/mcp-server.test.d.ts.map +1 -0
- package/dist/tests/mcp-server.test.js +118 -0
- package/dist/tests/mcp-server.test.js.map +1 -0
- package/dist/tests/mcp-tools.test.d.ts +2 -0
- package/dist/tests/mcp-tools.test.d.ts.map +1 -0
- package/dist/tests/mcp-tools.test.js +243 -0
- package/dist/tests/mcp-tools.test.js.map +1 -0
- package/dist/tests/smart-snippet.test.d.ts +2 -0
- package/dist/tests/smart-snippet.test.d.ts.map +1 -0
- package/dist/tests/smart-snippet.test.js +67 -0
- package/dist/tests/smart-snippet.test.js.map +1 -0
- package/package.json +2 -1
- package/plugin.json +7 -1
- package/templates/config.json +1 -1
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
7
|
+
const smart_snippet_1 = require("../scripts/lib/smart-snippet");
|
|
8
|
+
function createTestDb() {
|
|
9
|
+
const db = new better_sqlite3_1.default(':memory:');
|
|
10
|
+
db.exec(`
|
|
11
|
+
CREATE TABLE chunks (
|
|
12
|
+
source_path TEXT NOT NULL,
|
|
13
|
+
chunk_index INTEGER NOT NULL,
|
|
14
|
+
heading TEXT,
|
|
15
|
+
breadcrumb TEXT DEFAULT '',
|
|
16
|
+
char_count INTEGER DEFAULT 0
|
|
17
|
+
)
|
|
18
|
+
`);
|
|
19
|
+
return db;
|
|
20
|
+
}
|
|
21
|
+
describe('extractSmartSnippet', () => {
|
|
22
|
+
it('returns chunk-based snippet when chunk matches', () => {
|
|
23
|
+
const db = createTestDb();
|
|
24
|
+
db.prepare('INSERT INTO chunks VALUES (?, ?, ?, ?, ?)').run('/test/source.md', 0, 'Introduction', 'Introduction', 50);
|
|
25
|
+
db.prepare('INSERT INTO chunks VALUES (?, ?, ?, ?, ?)').run('/test/source.md', 1, 'Architecture', 'Architecture', 200);
|
|
26
|
+
const fullContent = [
|
|
27
|
+
'# Introduction',
|
|
28
|
+
'This is the intro section with some basic text that provides context about the project.',
|
|
29
|
+
'It explains what the project does and why it matters to the users and developers.',
|
|
30
|
+
'',
|
|
31
|
+
'# Architecture',
|
|
32
|
+
'The architecture uses MCP protocol for cross-host communication between different nodes.',
|
|
33
|
+
'Stdio transport handles all message passing between host and server in a secure manner.',
|
|
34
|
+
'Each tool maps to an existing script via thin adapter pattern for maximum flexibility.',
|
|
35
|
+
'This design ensures that the system can scale horizontally across multiple machines.',
|
|
36
|
+
'Developers can add new tools without modifying the core server implementation at all.',
|
|
37
|
+
].join('\n');
|
|
38
|
+
const result = (0, smart_snippet_1.extractSmartSnippet)(db, '/test/source.md', fullContent, ['MCP', 'protocol'], 500);
|
|
39
|
+
expect(result.snippet).toContain('MCP protocol');
|
|
40
|
+
expect(result.heading).toBe('Architecture');
|
|
41
|
+
db.close();
|
|
42
|
+
});
|
|
43
|
+
it('falls back to term-based snippet when no chunks table', () => {
|
|
44
|
+
const db = new better_sqlite3_1.default(':memory:');
|
|
45
|
+
const content = 'The MCP protocol enables cross-host memory access.';
|
|
46
|
+
const result = (0, smart_snippet_1.extractSmartSnippet)(db, '/missing.md', content, ['MCP'], 500);
|
|
47
|
+
expect(result.snippet).toContain('MCP');
|
|
48
|
+
expect(result.heading).toBeNull();
|
|
49
|
+
db.close();
|
|
50
|
+
});
|
|
51
|
+
it('falls back to term-based snippet when no chunks for path', () => {
|
|
52
|
+
const db = createTestDb();
|
|
53
|
+
const content = 'Some content about MCP servers and tools.';
|
|
54
|
+
const result = (0, smart_snippet_1.extractSmartSnippet)(db, '/no-chunks.md', content, ['MCP'], 500);
|
|
55
|
+
expect(result.snippet).toContain('MCP');
|
|
56
|
+
expect(result.heading).toBeNull();
|
|
57
|
+
db.close();
|
|
58
|
+
});
|
|
59
|
+
it('respects maxLen parameter', () => {
|
|
60
|
+
const db = createTestDb();
|
|
61
|
+
const longContent = 'word '.repeat(200);
|
|
62
|
+
const result = (0, smart_snippet_1.extractSmartSnippet)(db, '/test.md', longContent, ['word'], 100);
|
|
63
|
+
expect(result.snippet.length).toBeLessThanOrEqual(106); // 100 + "..." prefix/suffix
|
|
64
|
+
db.close();
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=smart-snippet.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"smart-snippet.test.js","sourceRoot":"","sources":["../../tests/smart-snippet.test.ts"],"names":[],"mappings":";;;;;AAAA,oEAAsC;AACtC,gEAAmE;AAEnE,SAAS,YAAY;IACnB,MAAM,EAAE,GAAG,IAAI,wBAAQ,CAAC,UAAU,CAAC,CAAC;IACpC,EAAE,CAAC,IAAI,CAAC;;;;;;;;GAQP,CAAC,CAAC;IACH,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACnC,EAAE,CAAC,gDAAgD,EAAE,GAAG,EAAE;QACxD,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC1B,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CACzD,iBAAiB,EAAE,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,EAAE,CACzD,CAAC;QACF,EAAE,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC,GAAG,CACzD,iBAAiB,EAAE,CAAC,EAAE,cAAc,EAAE,cAAc,EAAE,GAAG,CAC1D,CAAC;QAEF,MAAM,WAAW,GAAG;YAClB,gBAAgB;YAChB,yFAAyF;YACzF,mFAAmF;YACnF,EAAE;YACF,gBAAgB;YAChB,0FAA0F;YAC1F,yFAAyF;YACzF,wFAAwF;YACxF,sFAAsF;YACtF,uFAAuF;SACxF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEb,MAAM,MAAM,GAAG,IAAA,mCAAmB,EAAC,EAAE,EAAE,iBAAiB,EAAE,WAAW,EAAE,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,GAAG,CAAC,CAAC;QACjG,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QACjD,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC5C,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,GAAG,EAAE;QAC/D,MAAM,EAAE,GAAG,IAAI,wBAAQ,CAAC,UAAU,CAAC,CAAC;QACpC,MAAM,OAAO,GAAG,oDAAoD,CAAC;QACrE,MAAM,MAAM,GAAG,IAAA,mCAAmB,EAAC,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClC,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,0DAA0D,EAAE,GAAG,EAAE;QAClE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC1B,MAAM,OAAO,GAAG,2CAA2C,CAAC;QAC5D,MAAM,MAAM,GAAG,IAAA,mCAAmB,EAAC,EAAE,EAAE,eAAe,EAAE,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACxC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAClC,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,2BAA2B,EAAE,GAAG,EAAE;QACnC,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;QAC1B,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACxC,MAAM,MAAM,GAAG,IAAA,mCAAmB,EAAC,EAAE,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,GAAG,CAAC,CAAC;QAC/E,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,4BAA4B;QACpF,EAAE,CAAC,KAAK,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mindlore",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.0",
|
|
4
4
|
"description": "AI-native knowledge system for Claude Code",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"bin": {
|
|
@@ -49,6 +49,7 @@
|
|
|
49
49
|
"node": ">=20.0.0"
|
|
50
50
|
},
|
|
51
51
|
"dependencies": {
|
|
52
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
52
53
|
"better-sqlite3": "^12.9.0",
|
|
53
54
|
"zod": "^4.3.6"
|
|
54
55
|
},
|
package/plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"manifestVersion": 2,
|
|
3
3
|
"name": "mindlore",
|
|
4
4
|
"description": "AI-native knowledge system for Claude Code. Persistent, searchable, evolving knowledge base with FTS5.",
|
|
5
|
-
"version": "0.
|
|
5
|
+
"version": "0.7.0",
|
|
6
6
|
"skills": [
|
|
7
7
|
{
|
|
8
8
|
"name": "mindlore-ingest",
|
|
@@ -77,6 +77,12 @@
|
|
|
77
77
|
"description": "Periodic maintenance, stale detection, health trends"
|
|
78
78
|
}
|
|
79
79
|
],
|
|
80
|
+
"mcpServers": {
|
|
81
|
+
"mindlore": {
|
|
82
|
+
"command": "npx",
|
|
83
|
+
"args": ["mindlore", "mcp"]
|
|
84
|
+
}
|
|
85
|
+
},
|
|
80
86
|
"hooks": [
|
|
81
87
|
{
|
|
82
88
|
"event": "SessionStart",
|
package/templates/config.json
CHANGED