mindlore 0.7.1 → 0.7.2
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/dist/scripts/bundle-hooks.js +3 -1
- package/dist/scripts/bundle-hooks.js.map +1 -1
- package/dist/scripts/lib/all-migrations.d.ts.map +1 -1
- package/dist/scripts/lib/all-migrations.js +3 -0
- package/dist/scripts/lib/all-migrations.js.map +1 -1
- package/dist/scripts/lib/constants.d.ts +7 -0
- package/dist/scripts/lib/constants.d.ts.map +1 -1
- package/dist/scripts/lib/constants.js +17 -1
- package/dist/scripts/lib/constants.js.map +1 -1
- package/dist/scripts/lib/mcp-tools.d.ts.map +1 -1
- package/dist/scripts/lib/mcp-tools.js +63 -78
- package/dist/scripts/lib/mcp-tools.js.map +1 -1
- package/dist/scripts/lib/migrations-v072.d.ts +3 -0
- package/dist/scripts/lib/migrations-v072.d.ts.map +1 -0
- package/dist/scripts/lib/migrations-v072.js +25 -0
- package/dist/scripts/lib/migrations-v072.js.map +1 -0
- package/dist/scripts/lib/relation-helpers.d.ts +15 -0
- package/dist/scripts/lib/relation-helpers.d.ts.map +1 -0
- package/dist/scripts/lib/relation-helpers.js +30 -0
- package/dist/scripts/lib/relation-helpers.js.map +1 -0
- package/dist/scripts/lib/tool-adapters/get-adapter.d.ts +21 -0
- package/dist/scripts/lib/tool-adapters/get-adapter.d.ts.map +1 -0
- package/dist/scripts/lib/tool-adapters/get-adapter.js +51 -0
- package/dist/scripts/lib/tool-adapters/get-adapter.js.map +1 -0
- package/dist/scripts/lib/tool-adapters/relate-adapter.d.ts +34 -0
- package/dist/scripts/lib/tool-adapters/relate-adapter.d.ts.map +1 -0
- package/dist/scripts/lib/tool-adapters/relate-adapter.js +43 -0
- package/dist/scripts/lib/tool-adapters/relate-adapter.js.map +1 -0
- package/dist/scripts/lib/tool-adapters/search-adapter.d.ts +5 -0
- package/dist/scripts/lib/tool-adapters/search-adapter.d.ts.map +1 -1
- package/dist/scripts/lib/tool-adapters/search-adapter.js +37 -0
- package/dist/scripts/lib/tool-adapters/search-adapter.js.map +1 -1
- package/dist/scripts/mcp-server.js +1 -1
- package/dist/scripts/mcp-server.js.map +1 -1
- package/dist/tests/dont-repeat-dedup.test.d.ts +2 -0
- package/dist/tests/dont-repeat-dedup.test.d.ts.map +1 -0
- package/dist/tests/dont-repeat-dedup.test.js +93 -0
- package/dist/tests/dont-repeat-dedup.test.js.map +1 -0
- package/dist/tests/e2e-kg-pipeline.test.d.ts +2 -0
- package/dist/tests/e2e-kg-pipeline.test.d.ts.map +1 -0
- package/dist/tests/e2e-kg-pipeline.test.js +59 -0
- package/dist/tests/e2e-kg-pipeline.test.js.map +1 -0
- package/dist/tests/helpers/db.d.ts.map +1 -1
- package/dist/tests/helpers/db.js +2 -1
- package/dist/tests/helpers/db.js.map +1 -1
- package/dist/tests/mcp-get-tool.test.d.ts +2 -0
- package/dist/tests/mcp-get-tool.test.d.ts.map +1 -0
- package/dist/tests/mcp-get-tool.test.js +93 -0
- package/dist/tests/mcp-get-tool.test.js.map +1 -0
- package/dist/tests/mcp-relate-tool.test.d.ts +2 -0
- package/dist/tests/mcp-relate-tool.test.d.ts.map +1 -0
- package/dist/tests/mcp-relate-tool.test.js +85 -0
- package/dist/tests/mcp-relate-tool.test.js.map +1 -0
- package/dist/tests/mcp-server.test.js +3 -1
- package/dist/tests/mcp-server.test.js.map +1 -1
- package/dist/tests/mcp-tools.test.js +20 -0
- package/dist/tests/mcp-tools.test.js.map +1 -1
- package/dist/tests/memory-relate.test.d.ts +2 -0
- package/dist/tests/memory-relate.test.d.ts.map +1 -0
- package/dist/tests/memory-relate.test.js +70 -0
- package/dist/tests/memory-relate.test.js.map +1 -0
- package/dist/tests/migrations-v063.test.js +1 -1
- package/dist/tests/migrations-v072.test.d.ts +2 -0
- package/dist/tests/migrations-v072.test.d.ts.map +1 -0
- package/dist/tests/migrations-v072.test.js +74 -0
- package/dist/tests/migrations-v072.test.js.map +1 -0
- package/dist/tests/plugin-cache-regression.test.d.ts +2 -0
- package/dist/tests/plugin-cache-regression.test.d.ts.map +1 -0
- package/dist/tests/plugin-cache-regression.test.js +19 -0
- package/dist/tests/plugin-cache-regression.test.js.map +1 -0
- package/hooks/cc-memory-bulk-sync.cjs +15 -1
- package/hooks/cc-session-sync.cjs +15 -1
- package/hooks/mindlore-dont-repeat.cjs +18 -0
- package/hooks/mindlore-search.cjs +15 -1
- package/hooks/mindlore-session-focus.cjs +35 -2
- package/hooks/src/mindlore-dont-repeat.cjs +21 -0
- package/package.json +3 -2
- package/plugin.json +4 -3
- package/templates/config.json +1 -1
|
@@ -521,6 +521,36 @@ var require_migrations_v068 = __commonJS({
|
|
|
521
521
|
}
|
|
522
522
|
});
|
|
523
523
|
|
|
524
|
+
// dist/scripts/lib/migrations-v072.js
|
|
525
|
+
var require_migrations_v072 = __commonJS({
|
|
526
|
+
"dist/scripts/lib/migrations-v072.js"(exports2) {
|
|
527
|
+
"use strict";
|
|
528
|
+
Object.defineProperty(exports2, "__esModule", { value: true });
|
|
529
|
+
exports2.V072_MIGRATIONS = void 0;
|
|
530
|
+
exports2.V072_MIGRATIONS = [
|
|
531
|
+
{
|
|
532
|
+
version: 20,
|
|
533
|
+
name: "create_mindlore_relations",
|
|
534
|
+
up: (db) => {
|
|
535
|
+
db.exec(`
|
|
536
|
+
CREATE TABLE IF NOT EXISTS mindlore_relations (
|
|
537
|
+
id INTEGER PRIMARY KEY AUTOINCREMENT,
|
|
538
|
+
source_a TEXT NOT NULL,
|
|
539
|
+
source_b TEXT NOT NULL,
|
|
540
|
+
relation_type TEXT NOT NULL CHECK(relation_type IN ('cites', 'extends', 'contradicts', 'supersedes')),
|
|
541
|
+
created_at TEXT NOT NULL DEFAULT (strftime('%Y-%m-%dT%H:%M:%SZ', 'now')),
|
|
542
|
+
UNIQUE(source_a, source_b, relation_type)
|
|
543
|
+
);
|
|
544
|
+
CREATE INDEX IF NOT EXISTS idx_relations_source_a ON mindlore_relations(source_a);
|
|
545
|
+
CREATE INDEX IF NOT EXISTS idx_relations_source_b ON mindlore_relations(source_b);
|
|
546
|
+
CREATE INDEX IF NOT EXISTS idx_relations_type ON mindlore_relations(relation_type);
|
|
547
|
+
`);
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
];
|
|
551
|
+
}
|
|
552
|
+
});
|
|
553
|
+
|
|
524
554
|
// dist/scripts/lib/all-migrations.js
|
|
525
555
|
var require_all_migrations = __commonJS({
|
|
526
556
|
"dist/scripts/lib/all-migrations.js"(exports2) {
|
|
@@ -536,6 +566,7 @@ var require_all_migrations = __commonJS({
|
|
|
536
566
|
var migrations_v066_js_1 = require_migrations_v066();
|
|
537
567
|
var migrations_v067_js_1 = require_migrations_v067();
|
|
538
568
|
var migrations_v068_js_1 = require_migrations_v068();
|
|
569
|
+
var migrations_v072_js_1 = require_migrations_v072();
|
|
539
570
|
exports2.ALL_MIGRATIONS = [
|
|
540
571
|
...migrations_js_1.V050_MIGRATIONS,
|
|
541
572
|
...migrations_js_1.V051_MIGRATIONS,
|
|
@@ -546,7 +577,8 @@ var require_all_migrations = __commonJS({
|
|
|
546
577
|
...migrations_v063_js_1.V063_MIGRATIONS,
|
|
547
578
|
...migrations_v066_js_1.V066_MIGRATIONS,
|
|
548
579
|
...migrations_v067_js_1.V067_MIGRATIONS,
|
|
549
|
-
...migrations_v068_js_1.V068_MIGRATIONS
|
|
580
|
+
...migrations_v068_js_1.V068_MIGRATIONS,
|
|
581
|
+
...migrations_v072_js_1.V072_MIGRATIONS
|
|
550
582
|
];
|
|
551
583
|
var EPISODES_DEPENDENT = /* @__PURE__ */ new Set([9, 14, 15, 16, 17, 18]);
|
|
552
584
|
exports2.FTS_DB_MIGRATIONS = exports2.ALL_MIGRATIONS.filter((m) => !EPISODES_DEPENDENT.has(m.version));
|
|
@@ -555,7 +587,8 @@ var require_all_migrations = __commonJS({
|
|
|
555
587
|
...migrations_v063_js_1.V063_MIGRATIONS,
|
|
556
588
|
...migrations_v066_js_1.V066_MIGRATIONS,
|
|
557
589
|
...migrations_v067_js_1.V067_MIGRATIONS,
|
|
558
|
-
...migrations_v068_js_1.V068_MIGRATIONS
|
|
590
|
+
...migrations_v068_js_1.V068_MIGRATIONS,
|
|
591
|
+
...migrations_v072_js_1.V072_MIGRATIONS
|
|
559
592
|
];
|
|
560
593
|
exports2.EXPECTED_SCHEMA_VERSION = Math.max(...exports2.ALL_MIGRATIONS.map((m) => m.version));
|
|
561
594
|
}
|
|
@@ -112,6 +112,24 @@ function extractNegativePatterns(content) {
|
|
|
112
112
|
return patterns;
|
|
113
113
|
}
|
|
114
114
|
|
|
115
|
+
let _lessonsEnforcementCached = null;
|
|
116
|
+
function hasLessonsEnforcementHook() {
|
|
117
|
+
if (_lessonsEnforcementCached !== null) return _lessonsEnforcementCached;
|
|
118
|
+
try {
|
|
119
|
+
const settingsPath = path.join(os.homedir(), '.claude', 'settings.json');
|
|
120
|
+
const settings = JSON.parse(fs.readFileSync(settingsPath, 'utf8'));
|
|
121
|
+
const hooks = settings.hooks || {};
|
|
122
|
+
const preToolUse = hooks.PreToolUse || [];
|
|
123
|
+
_lessonsEnforcementCached = preToolUse.some(entry => {
|
|
124
|
+
const cmds = (entry.hooks || []).map(h => h.command || '').concat(entry.command || '');
|
|
125
|
+
return cmds.some(c => c.includes('lessons-enforcement'));
|
|
126
|
+
});
|
|
127
|
+
} catch (_err) {
|
|
128
|
+
_lessonsEnforcementCached = false;
|
|
129
|
+
}
|
|
130
|
+
return _lessonsEnforcementCached;
|
|
131
|
+
}
|
|
132
|
+
|
|
115
133
|
function checkContent(content, patterns) {
|
|
116
134
|
const matches = [];
|
|
117
135
|
for (const p of patterns) {
|
|
@@ -165,6 +183,9 @@ function main() {
|
|
|
165
183
|
|
|
166
184
|
if (allContent.trim().length < 10) return process.exit(0);
|
|
167
185
|
|
|
186
|
+
// Full dedup: lessons-enforcement hook scans identical sources — skip entirely
|
|
187
|
+
if (hasLessonsEnforcementHook()) return process.exit(0);
|
|
188
|
+
|
|
168
189
|
// Load patterns from all sources (file-persisted mtime cache)
|
|
169
190
|
const mindloreDir = findMindloreDir();
|
|
170
191
|
const cachePath = mindloreDir ? path.join(mindloreDir, 'diary', `_pattern-cache-${getProjectName()}.json`) : null;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mindlore",
|
|
3
|
-
"version": "0.7.
|
|
3
|
+
"version": "0.7.2",
|
|
4
4
|
"description": "AI-native knowledge system for Claude Code",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"bin": {
|
|
@@ -26,7 +26,8 @@
|
|
|
26
26
|
"validate-manifest": "node dist/scripts/validate-manifest-cli.js",
|
|
27
27
|
"bundle:hooks": "npx tsx scripts/bundle-hooks.ts",
|
|
28
28
|
"bundle:mcp": "npx esbuild scripts/mcp-server.ts --bundle --platform=node --target=node20 --format=cjs --outfile=mcp-server.cjs --external:better-sqlite3",
|
|
29
|
-
"bundle": "npm run bundle:hooks && npm run bundle:mcp"
|
|
29
|
+
"bundle": "npm run bundle:hooks && npm run bundle:mcp",
|
|
30
|
+
"postinstall": "npm rebuild better-sqlite3"
|
|
30
31
|
},
|
|
31
32
|
"keywords": [
|
|
32
33
|
"claude-code",
|
package/plugin.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"manifestVersion": 2,
|
|
3
3
|
"name": "mindlore",
|
|
4
|
-
"description": "AI-native knowledge system for Claude Code. Persistent, searchable, evolving knowledge base with FTS5.",
|
|
5
|
-
"version": "0.7.
|
|
4
|
+
"description": "AI-native knowledge system for Claude Code. Persistent, searchable, evolving knowledge base with FTS5 and Knowledge Graph.",
|
|
5
|
+
"version": "0.7.2",
|
|
6
6
|
"skills": [
|
|
7
7
|
{
|
|
8
8
|
"name": "mindlore-ingest",
|
|
@@ -80,7 +80,8 @@
|
|
|
80
80
|
"mcpServers": {
|
|
81
81
|
"mindlore": {
|
|
82
82
|
"command": "node",
|
|
83
|
-
"args": ["${CLAUDE_PLUGIN_ROOT}/mcp-server.cjs"]
|
|
83
|
+
"args": ["${CLAUDE_PLUGIN_ROOT}/mcp-server.cjs"],
|
|
84
|
+
"description": "Mindlore MCP server: FTS5 search, episodic memory, knowledge graph relations, and KB management"
|
|
84
85
|
}
|
|
85
86
|
},
|
|
86
87
|
"hooks": [
|
package/templates/config.json
CHANGED