mindlore 0.3.0 → 0.3.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/README.md +6 -3
- package/dist/scripts/init.js +38 -4
- package/dist/scripts/init.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 +22 -1
- package/dist/scripts/lib/constants.js.map +1 -1
- package/dist/scripts/quality-populate.d.ts +11 -0
- package/dist/scripts/quality-populate.d.ts.map +1 -0
- package/dist/scripts/quality-populate.js +86 -0
- package/dist/scripts/quality-populate.js.map +1 -0
- package/dist/tests/hook-smoke.test.js +2 -2
- package/dist/tests/hook-smoke.test.js.map +1 -1
- package/dist/tests/init.test.js +59 -0
- package/dist/tests/init.test.js.map +1 -1
- package/dist/tests/model-router.test.d.ts +2 -0
- package/dist/tests/model-router.test.d.ts.map +1 -0
- package/dist/tests/model-router.test.js +146 -0
- package/dist/tests/model-router.test.js.map +1 -0
- package/dist/tests/quality-populate.test.js +73 -0
- package/dist/tests/quality-populate.test.js.map +1 -1
- package/hooks/lib/mindlore-common.cjs +23 -0
- package/hooks/mindlore-model-router.cjs +54 -0
- package/package.json +3 -2
- package/plugin.json +5 -0
- package/skills/mindlore-evolve/SKILL.md +22 -4
- package/skills/mindlore-explore/SKILL.md +23 -3
- package/skills/mindlore-ingest/SKILL.md +51 -33
- package/templates/config.json +9 -0
package/README.md
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="assets/mindlore-logo.png" alt="Mindlore" width="320">
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
5
|

|
|
4
6
|
[](https://www.npmjs.com/package/mindlore)
|
|
@@ -122,7 +124,7 @@ that fire automatically as you work. No commands to run, no workflow changes.
|
|
|
122
124
|
SESSION START DURING SESSION SESSION END
|
|
123
125
|
│ │ │
|
|
124
126
|
├─ session-focus hook ├─ search hook ├─ session-end hook
|
|
125
|
-
│ reads INDEX.md + last delta │
|
|
127
|
+
│ reads INDEX.md + last delta │ 10-col FTS5 + porter stemmer │ writes delta to diary/
|
|
126
128
|
│ injects into context │ per-keyword scoring, top 3 injected │
|
|
127
129
|
│ │ │
|
|
128
130
|
│ ├─ index + fts5-sync hooks │
|
|
@@ -143,7 +145,8 @@ SESSION START DURING SESSION SESSIO
|
|
|
143
145
|
**Key design decisions:**
|
|
144
146
|
|
|
145
147
|
- **Hooks are global** — registered in `~/.claude/settings.json`, active in all projects
|
|
146
|
-
- **
|
|
148
|
+
- **Two scopes** — project `.mindlore/` (per-project) + global `~/.mindlore/` (cross-project)
|
|
149
|
+
- **Layered search** — project results first, global second, max 3 injected
|
|
147
150
|
- **No `.mindlore/`?** — hooks silently skip, zero overhead
|
|
148
151
|
- **FTS5 search** — SQLite full-text search with BM25 ranking, no external services
|
|
149
152
|
- **Content-hash dedup** — SHA256 prevents re-indexing unchanged files
|
package/dist/scripts/init.js
CHANGED
|
@@ -278,7 +278,36 @@ function ensureBetterSqlite3() {
|
|
|
278
278
|
}
|
|
279
279
|
}
|
|
280
280
|
}
|
|
281
|
-
|
|
281
|
+
function ensureConfig(baseDir, packageRoot) {
|
|
282
|
+
const configDest = path_1.default.join(baseDir, constants_js_1.CONFIG_FILE);
|
|
283
|
+
const configSrc = path_1.default.join(packageRoot, 'templates', constants_js_1.CONFIG_FILE);
|
|
284
|
+
if (!fs_1.default.existsSync(configDest)) {
|
|
285
|
+
// No config yet — copy template
|
|
286
|
+
if (fs_1.default.existsSync(configSrc)) {
|
|
287
|
+
fs_1.default.copyFileSync(configSrc, configDest);
|
|
288
|
+
return true;
|
|
289
|
+
}
|
|
290
|
+
// Template missing — write hardcoded defaults
|
|
291
|
+
const defaultConfig = { version: '0.3.1', models: { ...constants_js_1.DEFAULT_MODELS } };
|
|
292
|
+
fs_1.default.writeFileSync(configDest, JSON.stringify(defaultConfig, null, 2) + '\n', 'utf8');
|
|
293
|
+
return true;
|
|
294
|
+
}
|
|
295
|
+
// Config exists — merge models if missing
|
|
296
|
+
let config;
|
|
297
|
+
try {
|
|
298
|
+
config = JSON.parse(fs_1.default.readFileSync(configDest, 'utf8'));
|
|
299
|
+
}
|
|
300
|
+
catch (_err) {
|
|
301
|
+
return false;
|
|
302
|
+
}
|
|
303
|
+
if (!config.models) {
|
|
304
|
+
config.models = { ...constants_js_1.DEFAULT_MODELS };
|
|
305
|
+
fs_1.default.writeFileSync(configDest, JSON.stringify(config, null, 2) + '\n', 'utf8');
|
|
306
|
+
return true;
|
|
307
|
+
}
|
|
308
|
+
return false;
|
|
309
|
+
}
|
|
310
|
+
// ── Step 9: Add .mindlore/ to .gitignore ───────────────────────────────
|
|
282
311
|
function addToGitignore() {
|
|
283
312
|
const gitignorePath = path_1.default.join(process.cwd(), '.gitignore');
|
|
284
313
|
const entry = '.mindlore/';
|
|
@@ -356,14 +385,19 @@ function main() {
|
|
|
356
385
|
(0, constants_js_1.log)(skillsAdded > 0
|
|
357
386
|
? `Registered ${skillsAdded} skills in ~/.claude/skills/`
|
|
358
387
|
: 'Skills already registered');
|
|
359
|
-
// Step 8:
|
|
388
|
+
// Step 8: Config (models for model-router hook)
|
|
389
|
+
const configCreated = ensureConfig(baseDir, packageRoot);
|
|
390
|
+
(0, constants_js_1.log)(configCreated
|
|
391
|
+
? 'Created config.json with model defaults'
|
|
392
|
+
: 'config.json already configured');
|
|
393
|
+
// Step 9: .gitignore (project mode only — global dir has its own repo)
|
|
360
394
|
if (!isGlobal) {
|
|
361
395
|
const gitignoreAdded = addToGitignore();
|
|
362
396
|
(0, constants_js_1.log)(gitignoreAdded
|
|
363
397
|
? 'Added .mindlore/ to .gitignore'
|
|
364
398
|
: '.mindlore/ already in .gitignore');
|
|
365
399
|
}
|
|
366
|
-
// Step
|
|
400
|
+
// Step 10: Global mode — init git repo + show private repo guide
|
|
367
401
|
if (isGlobal) {
|
|
368
402
|
const gitDir = path_1.default.join(baseDir, '.git');
|
|
369
403
|
if (!fs_1.default.existsSync(gitDir)) {
|
|
@@ -393,7 +427,7 @@ function main() {
|
|
|
393
427
|
(0, constants_js_1.log)('Install context-mode for token savings:');
|
|
394
428
|
(0, constants_js_1.log)(' See: https://github.com/context-mode/context-mode');
|
|
395
429
|
}
|
|
396
|
-
// Step
|
|
430
|
+
// Step 11: Write .version + .pkg-version (flat string for fast session-focus comparison)
|
|
397
431
|
const packageJson = JSON.parse(fs_1.default.readFileSync(path_1.default.join(packageRoot, 'package.json'), 'utf8'));
|
|
398
432
|
const versionPath = path_1.default.join(baseDir, '.version');
|
|
399
433
|
const pkgVersionPath = path_1.default.join(baseDir, '.pkg-version');
|
package/dist/scripts/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../scripts/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../scripts/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,12 +3,19 @@ export declare const GLOBAL_MINDLORE_DIR: string;
|
|
|
3
3
|
export declare const DB_NAME = "mindlore.db";
|
|
4
4
|
export declare const DIRECTORIES: readonly ["raw", "sources", "domains", "analyses", "insights", "connections", "learnings", "diary", "decisions"];
|
|
5
5
|
export declare const SKIP_FILES: Set<string>;
|
|
6
|
+
export declare const CONFIG_FILE = "config.json";
|
|
7
|
+
export declare const DEFAULT_MODELS: Record<string, string>;
|
|
6
8
|
export declare const FTS5_COLUMNS: readonly ["path", "slug", "description", "type", "category", "title", "content", "tags", "quality", "date_captured"];
|
|
7
9
|
export type FtsColumn = typeof FTS5_COLUMNS[number];
|
|
8
10
|
export declare const FRONTMATTER_TYPES: readonly ["raw", "source", "domain", "analysis", "diary", "decision", "insight", "connection", "learning"];
|
|
9
11
|
export type FrontmatterType = typeof FRONTMATTER_TYPES[number];
|
|
10
12
|
export declare const QUALITY_VALUES: readonly ["high", "medium", "low"];
|
|
11
13
|
export type QualityValue = typeof QUALITY_VALUES[number];
|
|
14
|
+
/**
|
|
15
|
+
* Heuristic rules for auto-assigning quality based on source_type.
|
|
16
|
+
* Used by quality-populate script and ingest skill.
|
|
17
|
+
*/
|
|
18
|
+
export declare const QUALITY_HEURISTICS: Record<string, QualityValue>;
|
|
12
19
|
export declare const TYPE_TO_DIR: Record<string, string>;
|
|
13
20
|
export declare function homedir(): string;
|
|
14
21
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../scripts/lib/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,cAAc,CAAC;AACxC,eAAO,MAAM,mBAAmB,QAAwC,CAAC;AACzE,eAAO,MAAM,OAAO,gBAAgB,CAAC;AAErC,eAAO,MAAM,WAAW,kHAUd,CAAC;AAEX,eAAO,MAAM,UAAU,aAA+C,CAAC;AAEvE,eAAO,MAAM,YAAY,sHAAuH,CAAC;AACjJ,MAAM,MAAM,SAAS,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAEpD,eAAO,MAAM,iBAAiB,4GAA6G,CAAC;AAC5I,MAAM,MAAM,eAAe,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,cAAc,oCAAqC,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAU9C,CAAC;AAEF,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAM7C;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,EAAE,CAYpC;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAErC;AAID,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI3D;AAOD,wBAAgB,aAAa,IAAI,OAAO,CAUvC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C"}
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../scripts/lib/constants.ts"],"names":[],"mappings":"AAIA,eAAO,MAAM,YAAY,cAAc,CAAC;AACxC,eAAO,MAAM,mBAAmB,QAAwC,CAAC;AACzE,eAAO,MAAM,OAAO,gBAAgB,CAAC;AAErC,eAAO,MAAM,WAAW,kHAUd,CAAC;AAEX,eAAO,MAAM,UAAU,aAA+C,CAAC;AAEvE,eAAO,MAAM,WAAW,gBAAgB,CAAC;AAEzC,eAAO,MAAM,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKxC,CAAC;AAEX,eAAO,MAAM,YAAY,sHAAuH,CAAC;AACjJ,MAAM,MAAM,SAAS,GAAG,OAAO,YAAY,CAAC,MAAM,CAAC,CAAC;AAEpD,eAAO,MAAM,iBAAiB,4GAA6G,CAAC;AAC5I,MAAM,MAAM,eAAe,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC;AAE/D,eAAO,MAAM,cAAc,oCAAqC,CAAC;AACjE,MAAM,MAAM,YAAY,GAAG,OAAO,cAAc,CAAC,MAAM,CAAC,CAAC;AAEzD;;;GAGG;AACH,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAS3D,CAAC;AAEF,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAU9C,CAAC;AAEF,wBAAgB,OAAO,IAAI,MAAM,CAEhC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,MAAM,CAM7C;AAED;;;GAGG;AACH,wBAAgB,SAAS,IAAI,MAAM,EAAE,CAYpC;AAED;;GAEG;AACH,wBAAgB,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAErC;AAID,MAAM,WAAW,SAAS;IACxB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAI3D;AAOD,wBAAgB,aAAa,IAAI,OAAO,CAUvC;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,IAAI,OAAO,CAO9C"}
|
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.TYPE_TO_DIR = exports.QUALITY_VALUES = exports.FRONTMATTER_TYPES = exports.FTS5_COLUMNS = exports.SKIP_FILES = exports.DIRECTORIES = exports.DB_NAME = exports.GLOBAL_MINDLORE_DIR = exports.MINDLORE_DIR = void 0;
|
|
6
|
+
exports.TYPE_TO_DIR = exports.QUALITY_HEURISTICS = exports.QUALITY_VALUES = exports.FRONTMATTER_TYPES = exports.FTS5_COLUMNS = exports.DEFAULT_MODELS = exports.CONFIG_FILE = exports.SKIP_FILES = exports.DIRECTORIES = exports.DB_NAME = exports.GLOBAL_MINDLORE_DIR = exports.MINDLORE_DIR = void 0;
|
|
7
7
|
exports.homedir = homedir;
|
|
8
8
|
exports.getActiveMindloreDir = getActiveMindloreDir;
|
|
9
9
|
exports.getAllDbs = getAllDbs;
|
|
@@ -30,9 +30,30 @@ exports.DIRECTORIES = [
|
|
|
30
30
|
'decisions',
|
|
31
31
|
];
|
|
32
32
|
exports.SKIP_FILES = new Set(['INDEX.md', 'SCHEMA.md', 'log.md']);
|
|
33
|
+
exports.CONFIG_FILE = 'config.json';
|
|
34
|
+
exports.DEFAULT_MODELS = {
|
|
35
|
+
ingest: 'haiku',
|
|
36
|
+
evolve: 'sonnet',
|
|
37
|
+
explore: 'sonnet',
|
|
38
|
+
default: 'haiku',
|
|
39
|
+
};
|
|
33
40
|
exports.FTS5_COLUMNS = ['path', 'slug', 'description', 'type', 'category', 'title', 'content', 'tags', 'quality', 'date_captured'];
|
|
34
41
|
exports.FRONTMATTER_TYPES = ['raw', 'source', 'domain', 'analysis', 'diary', 'decision', 'insight', 'connection', 'learning'];
|
|
35
42
|
exports.QUALITY_VALUES = ['high', 'medium', 'low'];
|
|
43
|
+
/**
|
|
44
|
+
* Heuristic rules for auto-assigning quality based on source_type.
|
|
45
|
+
* Used by quality-populate script and ingest skill.
|
|
46
|
+
*/
|
|
47
|
+
exports.QUALITY_HEURISTICS = {
|
|
48
|
+
'github-repo': 'high',
|
|
49
|
+
'docs': 'high',
|
|
50
|
+
'blog': 'medium',
|
|
51
|
+
'video': 'medium',
|
|
52
|
+
'x-thread': 'medium',
|
|
53
|
+
'text-paste': 'low',
|
|
54
|
+
'snippet': 'low',
|
|
55
|
+
'forum': 'low',
|
|
56
|
+
};
|
|
36
57
|
exports.TYPE_TO_DIR = {
|
|
37
58
|
raw: 'raw',
|
|
38
59
|
source: 'sources',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../scripts/lib/constants.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../scripts/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* mindlore quality-populate — Bulk-assign quality to sources with null/missing quality.
|
|
4
|
+
*
|
|
5
|
+
* Usage: node dist/scripts/quality-populate.js [--global]
|
|
6
|
+
*
|
|
7
|
+
* Scans .mindlore/sources/ for files with missing quality in frontmatter,
|
|
8
|
+
* assigns quality based on source_type heuristic, updates frontmatter + FTS5.
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=quality-populate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quality-populate.d.ts","sourceRoot":"","sources":["../../scripts/quality-populate.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* mindlore quality-populate — Bulk-assign quality to sources with null/missing quality.
|
|
5
|
+
*
|
|
6
|
+
* Usage: node dist/scripts/quality-populate.js [--global]
|
|
7
|
+
*
|
|
8
|
+
* Scans .mindlore/sources/ for files with missing quality in frontmatter,
|
|
9
|
+
* assigns quality based on source_type heuristic, updates frontmatter + FTS5.
|
|
10
|
+
*/
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
const fs_1 = __importDefault(require("fs"));
|
|
16
|
+
const path_1 = __importDefault(require("path"));
|
|
17
|
+
const constants_js_1 = require("./lib/constants.js");
|
|
18
|
+
const { parseFrontmatter, openDatabase } = require((0, constants_js_1.resolveHookCommon)(__dirname));
|
|
19
|
+
function resolveQuality(meta) {
|
|
20
|
+
const sourceType = String(meta.source_type || '').toLowerCase();
|
|
21
|
+
if (sourceType && constants_js_1.QUALITY_HEURISTICS[sourceType]) {
|
|
22
|
+
return constants_js_1.QUALITY_HEURISTICS[sourceType];
|
|
23
|
+
}
|
|
24
|
+
// URL-based fallback when source_type is missing
|
|
25
|
+
const url = String(meta.source_url || '');
|
|
26
|
+
if (url.includes('github.com'))
|
|
27
|
+
return 'high';
|
|
28
|
+
if (url.includes('docs.') || url.includes('developer.'))
|
|
29
|
+
return 'high';
|
|
30
|
+
if (url.includes('youtube.com') || url.includes('youtu.be'))
|
|
31
|
+
return 'medium';
|
|
32
|
+
return 'medium';
|
|
33
|
+
}
|
|
34
|
+
function updateFrontmatter(content, meta, quality) {
|
|
35
|
+
if (meta.quality) {
|
|
36
|
+
return content.replace(/^quality:\s*.*/m, `quality: ${quality}`);
|
|
37
|
+
}
|
|
38
|
+
return content.replace(/\n---\n/, `\nquality: ${quality}\n---\n`);
|
|
39
|
+
}
|
|
40
|
+
function main() {
|
|
41
|
+
const args = process.argv.slice(2);
|
|
42
|
+
const isGlobal = args.includes('--global');
|
|
43
|
+
const baseDir = isGlobal ? constants_js_1.GLOBAL_MINDLORE_DIR : (0, constants_js_1.getActiveMindloreDir)();
|
|
44
|
+
const sourcesDir = path_1.default.join(baseDir, 'sources');
|
|
45
|
+
if (!fs_1.default.existsSync(sourcesDir)) {
|
|
46
|
+
console.log('No sources/ directory found.');
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
const files = fs_1.default.readdirSync(sourcesDir).filter((f) => f.endsWith('.md') && (0, constants_js_1.isContentFile)(f));
|
|
50
|
+
const dbPath = path_1.default.join(baseDir, constants_js_1.DB_NAME);
|
|
51
|
+
// Open DB once before loop
|
|
52
|
+
const db = fs_1.default.existsSync(dbPath) ? openDatabase(dbPath) : null;
|
|
53
|
+
let updated = 0;
|
|
54
|
+
let skipped = 0;
|
|
55
|
+
for (const file of files) {
|
|
56
|
+
const filePath = path_1.default.join(sourcesDir, file);
|
|
57
|
+
const content = fs_1.default.readFileSync(filePath, 'utf8');
|
|
58
|
+
const { meta } = parseFrontmatter(content);
|
|
59
|
+
// Skip if quality already set
|
|
60
|
+
if (meta.quality && meta.quality !== 'null' && meta.quality !== '') {
|
|
61
|
+
skipped++;
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
const quality = resolveQuality(meta);
|
|
65
|
+
const newContent = updateFrontmatter(content, meta, quality);
|
|
66
|
+
fs_1.default.writeFileSync(filePath, newContent, 'utf8');
|
|
67
|
+
// Update FTS5
|
|
68
|
+
if (db) {
|
|
69
|
+
try {
|
|
70
|
+
const row = db.prepare('SELECT rowid FROM mindlore_fts WHERE path = ?').get(filePath);
|
|
71
|
+
if (row) {
|
|
72
|
+
db.prepare('UPDATE mindlore_fts SET quality = ? WHERE rowid = ?').run(quality, row.rowid);
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
catch (_err) {
|
|
76
|
+
// FTS5 update failure is non-fatal
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
(0, constants_js_1.log)(`${file}: quality → ${quality}`);
|
|
80
|
+
updated++;
|
|
81
|
+
}
|
|
82
|
+
db?.close();
|
|
83
|
+
console.log(`\n Quality populate: ${updated} updated, ${skipped} already set (${files.length} total)`);
|
|
84
|
+
}
|
|
85
|
+
main();
|
|
86
|
+
//# sourceMappingURL=quality-populate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quality-populate.js","sourceRoot":"","sources":["../../scripts/quality-populate.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,11 +48,11 @@ describe('Hook Smoke Tests', () => {
|
|
|
48
48
|
expect(file).toMatch(/\.cjs$/);
|
|
49
49
|
}
|
|
50
50
|
});
|
|
51
|
-
test('hook count should match plan (
|
|
51
|
+
test('hook count should match plan (13 hooks: 7 v0.1 + 2 v0.2 + 3 v0.3 + 1 v0.3.1)', () => {
|
|
52
52
|
const hookFiles = fs_1.default
|
|
53
53
|
.readdirSync(HOOKS_DIR)
|
|
54
54
|
.filter((f) => f.startsWith('mindlore-') && f.endsWith('.cjs'));
|
|
55
|
-
expect(hookFiles).toHaveLength(
|
|
55
|
+
expect(hookFiles).toHaveLength(13);
|
|
56
56
|
});
|
|
57
57
|
});
|
|
58
58
|
//# sourceMappingURL=hook-smoke.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hook-smoke.test.js","sourceRoot":"","sources":["../../tests/hook-smoke.test.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,4CAAoB;AAEpB,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAEtD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,aAAa,GAAG;QACpB,4BAA4B;QAC5B,qBAAqB;QACrB,oBAAoB;QACpB,wBAAwB;QACxB,0BAA0B;QAC1B,0BAA0B;QAC1B,2BAA2B;KAC5B,CAAC;IAEF,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAElD,2EAA2E;YAC3E,MAAM,CAAC,GAAG,EAAE;gBACV,IAAI,YAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,SAAS,GAAG,YAAE;aACjB,WAAW,CAAC,SAAS,CAAC;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;QAE5C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"hook-smoke.test.js","sourceRoot":"","sources":["../../tests/hook-smoke.test.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,4CAAoB;AAEpB,MAAM,SAAS,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;AAEtD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,MAAM,aAAa,GAAG;QACpB,4BAA4B;QAC5B,qBAAqB;QACrB,oBAAoB;QACpB,wBAAwB;QACxB,0BAA0B;QAC1B,0BAA0B;QAC1B,2BAA2B;KAC5B,CAAC;IAEF,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,CAAC,YAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC9C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAElD,2EAA2E;YAC3E,MAAM,CAAC,GAAG,EAAE;gBACV,IAAI,YAAE,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;QACnB,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,kCAAkC,EAAE,GAAG,EAAE;QAC5C,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;YAC5C,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClD,MAAM,CAAC,OAAO,CAAC,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAChD,MAAM,SAAS,GAAG,YAAE;aACjB,WAAW,CAAC,SAAS,CAAC;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC;QAE5C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACjC,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8EAA8E,EAAE,GAAG,EAAE;QACxF,MAAM,SAAS,GAAG,YAAE;aACjB,WAAW,CAAC,SAAS,CAAC;aACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QAElE,MAAM,CAAC,SAAS,CAAC,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/tests/init.test.js
CHANGED
|
@@ -81,6 +81,65 @@ describe('mindlore init', () => {
|
|
|
81
81
|
const content = fs_1.default.readFileSync(testFile, 'utf8');
|
|
82
82
|
expect(content).toContain('# Test');
|
|
83
83
|
});
|
|
84
|
+
test('should create config.json with model defaults', () => {
|
|
85
|
+
(0, child_process_1.execSync)(`node "${INIT_SCRIPT}" init`, {
|
|
86
|
+
cwd: TEST_PROJECT,
|
|
87
|
+
stdio: 'pipe',
|
|
88
|
+
env: { ...process.env, HOME: TEST_PROJECT, USERPROFILE: TEST_PROJECT },
|
|
89
|
+
});
|
|
90
|
+
const configPath = path_1.default.join(TEST_PROJECT, '.mindlore', 'config.json');
|
|
91
|
+
expect(fs_1.default.existsSync(configPath)).toBe(true);
|
|
92
|
+
const config = JSON.parse(fs_1.default.readFileSync(configPath, 'utf8'));
|
|
93
|
+
expect(config.models).toBeDefined();
|
|
94
|
+
expect(config.models.ingest).toBe('haiku');
|
|
95
|
+
expect(config.models.evolve).toBe('sonnet');
|
|
96
|
+
expect(config.models.explore).toBe('sonnet');
|
|
97
|
+
expect(config.models.default).toBe('haiku');
|
|
98
|
+
});
|
|
99
|
+
test('should preserve existing config.json models on re-init', () => {
|
|
100
|
+
const env = { ...process.env, HOME: TEST_PROJECT, USERPROFILE: TEST_PROJECT };
|
|
101
|
+
(0, child_process_1.execSync)(`node "${INIT_SCRIPT}" init`, {
|
|
102
|
+
cwd: TEST_PROJECT,
|
|
103
|
+
stdio: 'pipe',
|
|
104
|
+
env,
|
|
105
|
+
});
|
|
106
|
+
// User overrides ingest model
|
|
107
|
+
const configPath = path_1.default.join(TEST_PROJECT, '.mindlore', 'config.json');
|
|
108
|
+
const config = JSON.parse(fs_1.default.readFileSync(configPath, 'utf8'));
|
|
109
|
+
config.models.ingest = 'sonnet';
|
|
110
|
+
fs_1.default.writeFileSync(configPath, JSON.stringify(config, null, 2) + '\n', 'utf8');
|
|
111
|
+
// Re-run init
|
|
112
|
+
(0, child_process_1.execSync)(`node "${INIT_SCRIPT}" init`, {
|
|
113
|
+
cwd: TEST_PROJECT,
|
|
114
|
+
stdio: 'pipe',
|
|
115
|
+
env,
|
|
116
|
+
});
|
|
117
|
+
// User override should be preserved
|
|
118
|
+
const updated = JSON.parse(fs_1.default.readFileSync(configPath, 'utf8'));
|
|
119
|
+
expect(updated.models.ingest).toBe('sonnet');
|
|
120
|
+
});
|
|
121
|
+
test('should add models to existing config.json without models field', () => {
|
|
122
|
+
const env = { ...process.env, HOME: TEST_PROJECT, USERPROFILE: TEST_PROJECT };
|
|
123
|
+
(0, child_process_1.execSync)(`node "${INIT_SCRIPT}" init`, {
|
|
124
|
+
cwd: TEST_PROJECT,
|
|
125
|
+
stdio: 'pipe',
|
|
126
|
+
env,
|
|
127
|
+
});
|
|
128
|
+
// Simulate config without models (e.g. from older version)
|
|
129
|
+
const configPath = path_1.default.join(TEST_PROJECT, '.mindlore', 'config.json');
|
|
130
|
+
fs_1.default.writeFileSync(configPath, JSON.stringify({ version: '0.3.0', customField: true }, null, 2) + '\n', 'utf8');
|
|
131
|
+
// Re-run init
|
|
132
|
+
(0, child_process_1.execSync)(`node "${INIT_SCRIPT}" init`, {
|
|
133
|
+
cwd: TEST_PROJECT,
|
|
134
|
+
stdio: 'pipe',
|
|
135
|
+
env,
|
|
136
|
+
});
|
|
137
|
+
const updated = JSON.parse(fs_1.default.readFileSync(configPath, 'utf8'));
|
|
138
|
+
expect(updated.models).toBeDefined();
|
|
139
|
+
expect(updated.models.ingest).toBe('haiku');
|
|
140
|
+
// Custom field should be preserved
|
|
141
|
+
expect(updated.customField).toBe(true);
|
|
142
|
+
});
|
|
84
143
|
test('--global should create ~/.mindlore/ instead of project .mindlore/', () => {
|
|
85
144
|
const globalDir = path_1.default.join(TEST_PROJECT, '.mindlore');
|
|
86
145
|
const env = { ...process.env, HOME: TEST_PROJECT, USERPROFILE: TEST_PROJECT };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.test.js","sourceRoot":"","sources":["../../tests/init.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.test.js","sourceRoot":"","sources":["../../tests/init.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-router.test.d.ts","sourceRoot":"","sources":["../../tests/model-router.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,146 @@
|
|
|
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 fs_1 = __importDefault(require("fs"));
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const child_process_1 = require("child_process");
|
|
9
|
+
const HOOK_PATH = path_1.default.join(__dirname, '..', 'hooks', 'mindlore-model-router.cjs');
|
|
10
|
+
const TEST_DIR = path_1.default.join(__dirname, '..', '.test-model-router');
|
|
11
|
+
function runHook(stdinData, mindloreDir) {
|
|
12
|
+
const cwd = mindloreDir ? path_1.default.dirname(mindloreDir) : TEST_DIR;
|
|
13
|
+
const input = JSON.stringify(stdinData);
|
|
14
|
+
try {
|
|
15
|
+
return (0, child_process_1.execSync)(`node "${HOOK_PATH}"`, {
|
|
16
|
+
cwd,
|
|
17
|
+
input,
|
|
18
|
+
encoding: 'utf8',
|
|
19
|
+
timeout: 5000,
|
|
20
|
+
env: { ...process.env },
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
catch (err) {
|
|
24
|
+
const e = err;
|
|
25
|
+
return e.stdout || '';
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
beforeEach(() => {
|
|
29
|
+
fs_1.default.mkdirSync(path_1.default.join(TEST_DIR, '.mindlore'), { recursive: true });
|
|
30
|
+
});
|
|
31
|
+
afterEach(() => {
|
|
32
|
+
fs_1.default.rmSync(TEST_DIR, { recursive: true, force: true });
|
|
33
|
+
});
|
|
34
|
+
describe('mindlore-model-router', () => {
|
|
35
|
+
test('should detect [mindlore:ingest] marker and set haiku', () => {
|
|
36
|
+
const result = runHook({
|
|
37
|
+
tool_name: 'Agent',
|
|
38
|
+
tool_input: {
|
|
39
|
+
prompt: '[mindlore:ingest] Fetch and summarize this URL',
|
|
40
|
+
description: 'mindlore ingest',
|
|
41
|
+
subagent_type: 'researcher',
|
|
42
|
+
},
|
|
43
|
+
});
|
|
44
|
+
expect(result).toBeTruthy();
|
|
45
|
+
const parsed = JSON.parse(result);
|
|
46
|
+
expect(parsed.hookSpecificOutput.updatedInput.model).toBe('haiku');
|
|
47
|
+
// Preserve existing fields
|
|
48
|
+
expect(parsed.hookSpecificOutput.updatedInput.prompt).toContain('[mindlore:ingest]');
|
|
49
|
+
expect(parsed.hookSpecificOutput.updatedInput.subagent_type).toBe('researcher');
|
|
50
|
+
});
|
|
51
|
+
test('should detect [mindlore:evolve] marker and set sonnet', () => {
|
|
52
|
+
const result = runHook({
|
|
53
|
+
tool_name: 'Agent',
|
|
54
|
+
tool_input: {
|
|
55
|
+
prompt: '[mindlore:evolve] Analyze knowledge base for co-evolution',
|
|
56
|
+
description: 'mindlore evolve',
|
|
57
|
+
},
|
|
58
|
+
});
|
|
59
|
+
const parsed = JSON.parse(result);
|
|
60
|
+
expect(parsed.hookSpecificOutput.updatedInput.model).toBe('sonnet');
|
|
61
|
+
});
|
|
62
|
+
test('should detect [mindlore:explore] marker and set sonnet', () => {
|
|
63
|
+
const result = runHook({
|
|
64
|
+
tool_name: 'Agent',
|
|
65
|
+
tool_input: {
|
|
66
|
+
prompt: '[mindlore:explore] Find unexpected connections',
|
|
67
|
+
description: 'mindlore explore',
|
|
68
|
+
},
|
|
69
|
+
});
|
|
70
|
+
const parsed = JSON.parse(result);
|
|
71
|
+
expect(parsed.hookSpecificOutput.updatedInput.model).toBe('sonnet');
|
|
72
|
+
});
|
|
73
|
+
test('should output nothing when no marker present', () => {
|
|
74
|
+
const result = runHook({
|
|
75
|
+
tool_name: 'Agent',
|
|
76
|
+
tool_input: {
|
|
77
|
+
prompt: 'Research best practices for authentication',
|
|
78
|
+
description: 'auth research',
|
|
79
|
+
},
|
|
80
|
+
});
|
|
81
|
+
expect(result.trim()).toBe('');
|
|
82
|
+
});
|
|
83
|
+
test('should output nothing when tool is not Agent', () => {
|
|
84
|
+
const result = runHook({
|
|
85
|
+
tool_name: 'Read',
|
|
86
|
+
tool_input: { file_path: '/some/file.md' },
|
|
87
|
+
});
|
|
88
|
+
expect(result.trim()).toBe('');
|
|
89
|
+
});
|
|
90
|
+
test('should output nothing when .mindlore/ does not exist', () => {
|
|
91
|
+
// Remove .mindlore so hook finds nothing
|
|
92
|
+
fs_1.default.rmSync(path_1.default.join(TEST_DIR, '.mindlore'), { recursive: true, force: true });
|
|
93
|
+
const result = runHook({
|
|
94
|
+
tool_name: 'Agent',
|
|
95
|
+
tool_input: {
|
|
96
|
+
prompt: '[mindlore:ingest] URL fetch',
|
|
97
|
+
description: 'mindlore ingest',
|
|
98
|
+
},
|
|
99
|
+
});
|
|
100
|
+
expect(result.trim()).toBe('');
|
|
101
|
+
});
|
|
102
|
+
test('should use config.json model override', () => {
|
|
103
|
+
// User overrides ingest to sonnet
|
|
104
|
+
const configPath = path_1.default.join(TEST_DIR, '.mindlore', 'config.json');
|
|
105
|
+
fs_1.default.writeFileSync(configPath, JSON.stringify({
|
|
106
|
+
models: { ingest: 'sonnet', default: 'haiku' },
|
|
107
|
+
}), 'utf8');
|
|
108
|
+
const result = runHook({
|
|
109
|
+
tool_name: 'Agent',
|
|
110
|
+
tool_input: {
|
|
111
|
+
prompt: '[mindlore:ingest] Fetch URL',
|
|
112
|
+
description: 'mindlore ingest',
|
|
113
|
+
},
|
|
114
|
+
});
|
|
115
|
+
const parsed = JSON.parse(result);
|
|
116
|
+
expect(parsed.hookSpecificOutput.updatedInput.model).toBe('sonnet');
|
|
117
|
+
});
|
|
118
|
+
test('should fall back to config default when skill key missing', () => {
|
|
119
|
+
const configPath = path_1.default.join(TEST_DIR, '.mindlore', 'config.json');
|
|
120
|
+
fs_1.default.writeFileSync(configPath, JSON.stringify({
|
|
121
|
+
models: { default: 'sonnet' },
|
|
122
|
+
}), 'utf8');
|
|
123
|
+
const result = runHook({
|
|
124
|
+
tool_name: 'Agent',
|
|
125
|
+
tool_input: {
|
|
126
|
+
prompt: '[mindlore:ingest] Fetch URL',
|
|
127
|
+
description: 'mindlore ingest',
|
|
128
|
+
},
|
|
129
|
+
});
|
|
130
|
+
const parsed = JSON.parse(result);
|
|
131
|
+
expect(parsed.hookSpecificOutput.updatedInput.model).toBe('sonnet');
|
|
132
|
+
});
|
|
133
|
+
test('should fall back to hardcoded defaults when config.json missing', () => {
|
|
134
|
+
// No config.json, just .mindlore/ dir
|
|
135
|
+
const result = runHook({
|
|
136
|
+
tool_name: 'Agent',
|
|
137
|
+
tool_input: {
|
|
138
|
+
prompt: '[mindlore:evolve] Analyze KB',
|
|
139
|
+
description: 'mindlore evolve',
|
|
140
|
+
},
|
|
141
|
+
});
|
|
142
|
+
const parsed = JSON.parse(result);
|
|
143
|
+
expect(parsed.hookSpecificOutput.updatedInput.model).toBe('sonnet');
|
|
144
|
+
});
|
|
145
|
+
});
|
|
146
|
+
//# sourceMappingURL=model-router.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model-router.test.js","sourceRoot":"","sources":["../../tests/model-router.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const fs_1 = __importDefault(require("fs"));
|
|
6
7
|
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const child_process_1 = require("child_process");
|
|
7
9
|
const db_1 = require("./helpers/db");
|
|
8
10
|
const TEST_DIR = path_1.default.join(__dirname, '..', '.test-quality-populate');
|
|
9
11
|
const DB_PATH = path_1.default.join(TEST_DIR, 'mindlore.db');
|
|
@@ -82,4 +84,75 @@ describe('Quality populate — storage and retrieval', () => {
|
|
|
82
84
|
expect(qualities).toContain(null);
|
|
83
85
|
});
|
|
84
86
|
});
|
|
87
|
+
// ── Bulk populate script integration tests ──────────────────────────────
|
|
88
|
+
const INIT_SCRIPT = path_1.default.join(__dirname, '..', 'dist', 'scripts', 'init.js');
|
|
89
|
+
const POPULATE_SCRIPT = path_1.default.join(__dirname, '..', 'dist', 'scripts', 'quality-populate.js');
|
|
90
|
+
const BULK_DIR = path_1.default.join(__dirname, '..', '.test-quality-bulk');
|
|
91
|
+
function initMindlore() {
|
|
92
|
+
(0, child_process_1.execSync)(`node "${INIT_SCRIPT}" init`, {
|
|
93
|
+
cwd: BULK_DIR,
|
|
94
|
+
stdio: 'pipe',
|
|
95
|
+
env: { ...process.env, HOME: BULK_DIR, USERPROFILE: BULK_DIR },
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
function writeSource(filename, frontmatter, body) {
|
|
99
|
+
const sourcesDir = path_1.default.join(BULK_DIR, '.mindlore', 'sources');
|
|
100
|
+
fs_1.default.mkdirSync(sourcesDir, { recursive: true });
|
|
101
|
+
fs_1.default.writeFileSync(path_1.default.join(sourcesDir, filename), `---\n${frontmatter}\n---\n\n${body}\n`, 'utf8');
|
|
102
|
+
}
|
|
103
|
+
function readSourceQuality(filename) {
|
|
104
|
+
const content = fs_1.default.readFileSync(path_1.default.join(BULK_DIR, '.mindlore', 'sources', filename), 'utf8');
|
|
105
|
+
const match = content.match(/^quality:\s*(.+)$/m);
|
|
106
|
+
return match?.[1]?.trim() ?? null;
|
|
107
|
+
}
|
|
108
|
+
function runPopulate() {
|
|
109
|
+
return (0, child_process_1.execSync)(`node "${POPULATE_SCRIPT}"`, {
|
|
110
|
+
cwd: BULK_DIR,
|
|
111
|
+
encoding: 'utf8',
|
|
112
|
+
env: { ...process.env, HOME: BULK_DIR, USERPROFILE: BULK_DIR },
|
|
113
|
+
});
|
|
114
|
+
}
|
|
115
|
+
describe('Quality populate — bulk script', () => {
|
|
116
|
+
beforeEach(() => {
|
|
117
|
+
fs_1.default.mkdirSync(BULK_DIR, { recursive: true });
|
|
118
|
+
initMindlore();
|
|
119
|
+
});
|
|
120
|
+
afterEach(() => {
|
|
121
|
+
fs_1.default.rmSync(BULK_DIR, { recursive: true, force: true });
|
|
122
|
+
});
|
|
123
|
+
test('should assign quality based on source_type heuristic', () => {
|
|
124
|
+
writeSource('github-test.md', 'slug: github-test\ntype: source\nsource_type: github-repo', '# GitHub Test');
|
|
125
|
+
writeSource('blog-test.md', 'slug: blog-test\ntype: source\nsource_type: blog', '# Blog Test');
|
|
126
|
+
writeSource('snippet-test.md', 'slug: snippet-test\ntype: source\nsource_type: snippet', '# Snippet Test');
|
|
127
|
+
runPopulate();
|
|
128
|
+
expect(readSourceQuality('github-test.md')).toBe('high');
|
|
129
|
+
expect(readSourceQuality('blog-test.md')).toBe('medium');
|
|
130
|
+
expect(readSourceQuality('snippet-test.md')).toBe('low');
|
|
131
|
+
});
|
|
132
|
+
test('should preserve existing quality values', () => {
|
|
133
|
+
writeSource('already-set.md', 'slug: already-set\ntype: source\nsource_type: blog\nquality: high', '# Already High');
|
|
134
|
+
runPopulate();
|
|
135
|
+
expect(readSourceQuality('already-set.md')).toBe('high');
|
|
136
|
+
});
|
|
137
|
+
test('should handle missing source_type with URL fallback', () => {
|
|
138
|
+
writeSource('github-url.md', 'slug: github-url\ntype: source\nsource_url: https://github.com/user/repo', '# GitHub URL');
|
|
139
|
+
writeSource('docs-url.md', 'slug: docs-url\ntype: source\nsource_url: https://docs.anthropic.com/api', '# Docs URL');
|
|
140
|
+
runPopulate();
|
|
141
|
+
expect(readSourceQuality('github-url.md')).toBe('high');
|
|
142
|
+
expect(readSourceQuality('docs-url.md')).toBe('high');
|
|
143
|
+
});
|
|
144
|
+
test('should default to medium when no heuristic matches', () => {
|
|
145
|
+
writeSource('unknown.md', 'slug: unknown\ntype: source', '# Unknown Source');
|
|
146
|
+
runPopulate();
|
|
147
|
+
expect(readSourceQuality('unknown.md')).toBe('medium');
|
|
148
|
+
});
|
|
149
|
+
test('should report correct counts', () => {
|
|
150
|
+
writeSource('needs-quality.md', 'slug: needs-quality\ntype: source\nsource_type: blog', '# Needs Quality');
|
|
151
|
+
writeSource('has-quality.md', 'slug: has-quality\ntype: source\nquality: low', '# Has Quality');
|
|
152
|
+
const output = runPopulate();
|
|
153
|
+
expect(output).toContain('1 updated');
|
|
154
|
+
expect(output).toContain('1 already set');
|
|
155
|
+
expect(output).toContain('2 total');
|
|
156
|
+
});
|
|
157
|
+
});
|
|
85
158
|
//# sourceMappingURL=quality-populate.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"quality-populate.test.js","sourceRoot":"","sources":["../../tests/quality-populate.test.ts"],"names":[],"mappings":";;;;;AAAA,gDAAwB;
|
|
1
|
+
{"version":3,"file":"quality-populate.test.js","sourceRoot":"","sources":["../../tests/quality-populate.test.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,iDAAyC;AAEzC,qCAAsF;AAEtF,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,wBAAwB,CAAC,CAAC;AACtE,MAAM,OAAO,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;AAEnD,IAAI,EAAqB,CAAC;AAE1B,UAAU,CAAC,GAAG,EAAE;IACd,IAAA,iBAAY,EAAC,QAAQ,EAAE,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC;IAC3C,EAAE,GAAG,IAAA,iBAAY,EAAC,OAAO,CAAC,CAAC;AAC7B,CAAC,CAAC,CAAC;AAEH,SAAS,CAAC,GAAG,EAAE;IACb,EAAE,CAAC,KAAK,EAAE,CAAC;IACX,IAAA,oBAAe,EAAC,QAAQ,CAAC,CAAC;AAC5B,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;IACxD,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACvD,IAAA,cAAS,EAAC,EAAE,EAAE;YACZ,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,mBAAmB,CAAC;YACzD,IAAI,EAAE,gBAAgB;YACtB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,2BAA2B;YAClC,OAAO,EAAE,gEAAgE;YACzE,OAAO,EAAE,MAAM;SAChB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,gBAAgB,CAAwB,CAAC;QACvH,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,+CAA+C,EAAE,GAAG,EAAE;QACzD,IAAA,cAAS,EAAC,EAAE,EAAE;YACZ,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,cAAc,CAAC;YACpD,IAAI,EAAE,WAAW;YACjB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,sDAAsD;YAC/D,OAAO,EAAE,QAAQ;SAClB,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,WAAW,CAAwB,CAAC;QAClH,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACtD,IAAA,cAAS,EAAC,EAAE,EAAE;YACZ,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC;YAClD,IAAI,EAAE,aAAa;YACnB,IAAI,EAAE,KAAK;YACX,OAAO,EAAE,iCAAiC;YAC1C,OAAO,EAAE,KAAK;SACf,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,aAAa,CAAwB,CAAC;QACpH,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACvD,IAAA,cAAS,EAAC,EAAE,EAAE;YACZ,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,eAAe,CAAC;YACrD,IAAI,EAAE,YAAY;YAClB,IAAI,EAAE,QAAQ;YACd,OAAO,EAAE,+CAA+C;SACzD,CAAC,CAAC;QAEH,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC,iDAAiD,CAAC,CAAC,GAAG,CAAC,YAAY,CAA+B,CAAC;QAC1H,MAAM,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;QAE/B,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,kEAAkE,CAAC,CAAC,GAAG,EAAE,CAAC;QACrG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACvD,KAAK,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE,CAAC;YAChD,IAAA,cAAS,EAAC,EAAE,EAAE;gBACZ,IAAI,EAAE,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,WAAW,CAAC,KAAK,CAAC;gBACvD,IAAI,EAAE,WAAW,CAAC,EAAE;gBACpB,IAAI,EAAE,QAAQ;gBACd,OAAO,EAAE,oBAAoB,CAAC,EAAE;gBAChC,OAAO,EAAE,CAAC;aACX,CAAC,CAAC;QACL,CAAC;QAED,MAAM,IAAI,GAAG,EAAE,CAAC,OAAO,CAAC,0DAA0D,CAAC,CAAC,GAAG,CAAC,WAAW,CAAoD,CAAC;QACxJ,MAAM,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;QAE7B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QAC3C,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QACpC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,SAAS,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,2EAA2E;AAE3E,MAAM,WAAW,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAC7E,MAAM,eAAe,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,qBAAqB,CAAC,CAAC;AAC7F,MAAM,QAAQ,GAAG,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,oBAAoB,CAAC,CAAC;AAElE,SAAS,YAAY;IACnB,IAAA,wBAAQ,EAAC,SAAS,WAAW,QAAQ,EAAE;QACrC,GAAG,EAAE,QAAQ;QACb,KAAK,EAAE,MAAM;QACb,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;KAC/D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,WAAW,CAAC,QAAgB,EAAE,WAAmB,EAAE,IAAY;IACtE,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC/D,YAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC9C,YAAE,CAAC,aAAa,CACd,cAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,CAAC,EAC/B,QAAQ,WAAW,YAAY,IAAI,IAAI,EACvC,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,QAAgB;IACzC,MAAM,OAAO,GAAG,YAAE,CAAC,YAAY,CAC7B,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,CAAC,EACrD,MAAM,CACP,CAAC;IACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;IAClD,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC;AACpC,CAAC;AAED,SAAS,WAAW;IAClB,OAAO,IAAA,wBAAQ,EAAC,SAAS,eAAe,GAAG,EAAE;QAC3C,GAAG,EAAE,QAAQ;QACb,QAAQ,EAAE,MAAM;QAChB,GAAG,EAAE,EAAE,GAAG,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,QAAQ,EAAE;KAC/D,CAAC,CAAC;AACL,CAAC;AAED,QAAQ,CAAC,gCAAgC,EAAE,GAAG,EAAE;IAC9C,UAAU,CAAC,GAAG,EAAE;QACd,YAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,YAAY,EAAE,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACb,YAAE,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAChE,WAAW,CAAC,gBAAgB,EAAE,2DAA2D,EAAE,eAAe,CAAC,CAAC;QAC5G,WAAW,CAAC,cAAc,EAAE,kDAAkD,EAAE,aAAa,CAAC,CAAC;QAC/F,WAAW,CAAC,iBAAiB,EAAE,wDAAwD,EAAE,gBAAgB,CAAC,CAAC;QAE3G,WAAW,EAAE,CAAC;QAEd,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACzD,MAAM,CAAC,iBAAiB,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACzD,MAAM,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,yCAAyC,EAAE,GAAG,EAAE;QACnD,WAAW,CAAC,gBAAgB,EAAE,mEAAmE,EAAE,gBAAgB,CAAC,CAAC;QAErH,WAAW,EAAE,CAAC;QAEd,MAAM,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,qDAAqD,EAAE,GAAG,EAAE;QAC/D,WAAW,CAAC,eAAe,EAAE,0EAA0E,EAAE,cAAc,CAAC,CAAC;QACzH,WAAW,CAAC,aAAa,EAAE,0EAA0E,EAAE,YAAY,CAAC,CAAC;QAErH,WAAW,EAAE,CAAC;QAEd,MAAM,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,MAAM,CAAC,iBAAiB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,oDAAoD,EAAE,GAAG,EAAE;QAC9D,WAAW,CAAC,YAAY,EAAE,6BAA6B,EAAE,kBAAkB,CAAC,CAAC;QAE7E,WAAW,EAAE,CAAC;QAEd,MAAM,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACzD,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACxC,WAAW,CAAC,kBAAkB,EAAE,sDAAsD,EAAE,iBAAiB,CAAC,CAAC;QAC3G,WAAW,CAAC,gBAAgB,EAAE,+CAA+C,EAAE,eAAe,CAAC,CAAC;QAEhG,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC;QAE7B,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,eAAe,CAAC,CAAC;QAC1C,MAAM,CAAC,MAAM,CAAC,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;IACtC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -233,6 +233,27 @@ function readHookStdin(fields) {
|
|
|
233
233
|
return input;
|
|
234
234
|
}
|
|
235
235
|
|
|
236
|
+
/**
|
|
237
|
+
* Read .mindlore/config.json and return parsed object.
|
|
238
|
+
* Returns null if file doesn't exist or is invalid JSON.
|
|
239
|
+
*/
|
|
240
|
+
function readConfig(mindloreDir) {
|
|
241
|
+
if (!mindloreDir) return null;
|
|
242
|
+
const configPath = path.join(mindloreDir, 'config.json');
|
|
243
|
+
try {
|
|
244
|
+
return JSON.parse(fs.readFileSync(configPath, 'utf8'));
|
|
245
|
+
} catch (_err) {
|
|
246
|
+
return null;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
const DEFAULT_MODELS = {
|
|
251
|
+
ingest: 'haiku',
|
|
252
|
+
evolve: 'sonnet',
|
|
253
|
+
explore: 'sonnet',
|
|
254
|
+
default: 'haiku',
|
|
255
|
+
};
|
|
256
|
+
|
|
236
257
|
module.exports = {
|
|
237
258
|
MINDLORE_DIR,
|
|
238
259
|
GLOBAL_MINDLORE_DIR,
|
|
@@ -254,4 +275,6 @@ module.exports = {
|
|
|
254
275
|
requireDatabase,
|
|
255
276
|
openDatabase,
|
|
256
277
|
getAllMdFiles,
|
|
278
|
+
readConfig,
|
|
279
|
+
DEFAULT_MODELS,
|
|
257
280
|
};
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* mindlore-model-router — PreToolUse (Agent) hook
|
|
5
|
+
* Overrides model for [mindlore:SKILL] marked Agent spawns.
|
|
6
|
+
*/
|
|
7
|
+
|
|
8
|
+
const fs = require('fs');
|
|
9
|
+
const { findMindloreDir, readConfig, DEFAULT_MODELS } = require('./lib/mindlore-common.cjs');
|
|
10
|
+
|
|
11
|
+
const SKILL_KEYS = Object.keys(DEFAULT_MODELS).filter((k) => k !== 'default');
|
|
12
|
+
const MARKER_REGEX = new RegExp(`\\[mindlore:(${SKILL_KEYS.join('|')})\\]`);
|
|
13
|
+
|
|
14
|
+
function main() {
|
|
15
|
+
const mindloreDir = findMindloreDir();
|
|
16
|
+
if (!mindloreDir) return;
|
|
17
|
+
|
|
18
|
+
let input;
|
|
19
|
+
try {
|
|
20
|
+
const raw = fs.readFileSync(0, 'utf8').trim();
|
|
21
|
+
if (!raw) return;
|
|
22
|
+
input = JSON.parse(raw);
|
|
23
|
+
} catch (_err) {
|
|
24
|
+
return;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
const toolName = input.tool_name || '';
|
|
28
|
+
if (toolName !== 'Agent') return;
|
|
29
|
+
|
|
30
|
+
const toolInput = input.tool_input || {};
|
|
31
|
+
const prompt = toolInput.prompt || '';
|
|
32
|
+
const match = prompt.match(MARKER_REGEX);
|
|
33
|
+
if (!match) return;
|
|
34
|
+
|
|
35
|
+
const skill = match[1];
|
|
36
|
+
|
|
37
|
+
// Resolve model: config.json → config default → hardcoded
|
|
38
|
+
const config = readConfig(mindloreDir);
|
|
39
|
+
const models = (config && config.models) || {};
|
|
40
|
+
const model = models[skill] || models.default || DEFAULT_MODELS[skill] || DEFAULT_MODELS.default;
|
|
41
|
+
|
|
42
|
+
const updatedInput = { ...toolInput, model: model };
|
|
43
|
+
|
|
44
|
+
const output = {
|
|
45
|
+
hookSpecificOutput: {
|
|
46
|
+
hookEventName: 'PreToolUse',
|
|
47
|
+
updatedInput: updatedInput,
|
|
48
|
+
},
|
|
49
|
+
};
|
|
50
|
+
|
|
51
|
+
process.stdout.write(JSON.stringify(output));
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
main();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mindlore",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "AI-native knowledge system for Claude Code",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"bin": {
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"prepublishOnly": "npm run build",
|
|
17
17
|
"health": "node dist/scripts/mindlore-health-check.js",
|
|
18
18
|
"index": "node dist/scripts/mindlore-fts5-index.js",
|
|
19
|
-
"search": "node dist/scripts/mindlore-fts5-search.js"
|
|
19
|
+
"search": "node dist/scripts/mindlore-fts5-search.js",
|
|
20
|
+
"quality": "node dist/scripts/quality-populate.js"
|
|
20
21
|
},
|
|
21
22
|
"keywords": [
|
|
22
23
|
"claude-code",
|
package/plugin.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: mindlore-evolve
|
|
3
3
|
description: Knowledge schema co-evolution — scan domains+sources, detect inconsistencies, suggest updates
|
|
4
4
|
effort: medium
|
|
5
|
-
allowed-tools: [Read, Write, Edit, Bash, Grep, Glob]
|
|
5
|
+
allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent]
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# /mindlore-evolve
|
|
@@ -26,10 +26,27 @@ User says `/mindlore-evolve`, "knowledge evolve", "bilgi sistemi evrimle", "sema
|
|
|
26
26
|
|
|
27
27
|
Scan all domains and sources for inconsistencies.
|
|
28
28
|
|
|
29
|
+
**Agent Delegation:** Tarama işini subagent'a delege et (context koruma).
|
|
30
|
+
|
|
29
31
|
**Flow:**
|
|
30
|
-
1.
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
1. Spawn an Agent for scanning:
|
|
33
|
+
```
|
|
34
|
+
Agent({
|
|
35
|
+
description: "mindlore evolve: scan",
|
|
36
|
+
subagent_type: "Explore",
|
|
37
|
+
prompt: "[mindlore:evolve] Scan .mindlore/ for inconsistencies. <aşağıdaki talimatları buraya koy>"
|
|
38
|
+
})
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Agent talimatları:
|
|
42
|
+
a. Read INDEX.md to get domain and source file lists
|
|
43
|
+
b. Read all domain files (from `domains/`)
|
|
44
|
+
c. Read all source files (from `sources/`)
|
|
45
|
+
d. Detect issues (see list below)
|
|
46
|
+
e. Return findings as structured table
|
|
47
|
+
|
|
48
|
+
2. After agent returns — review findings
|
|
49
|
+
3. Show findings table to user
|
|
33
50
|
4. Detect issues:
|
|
34
51
|
- **Orphan files:** .md files in content directories not listed in INDEX.md
|
|
35
52
|
- **Missing references:** Source exists but no domain mentions it
|
|
@@ -65,6 +82,7 @@ Apply suggested changes with user approval.
|
|
|
65
82
|
- Show diff preview before applying
|
|
66
83
|
- After changes, run `node dist/scripts/mindlore-fts5-index.js` for FTS5 sync
|
|
67
84
|
- Log every change to log.md with timestamp
|
|
85
|
+
- The `[mindlore:evolve]` marker in the Agent prompt is required — it triggers the model-router hook to use the cost-optimized model (sonnet by default)
|
|
68
86
|
|
|
69
87
|
## Output Format
|
|
70
88
|
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: mindlore-explore
|
|
3
3
|
description: Discover unexpected connections between sources — undirected knowledge exploration
|
|
4
4
|
effort: medium
|
|
5
|
-
allowed-tools: [Read, Write, Edit, Bash, Grep, Glob]
|
|
5
|
+
allowed-tools: [Read, Write, Edit, Bash, Grep, Glob, Agent]
|
|
6
6
|
---
|
|
7
7
|
|
|
8
8
|
# /mindlore-explore
|
|
@@ -22,8 +22,27 @@ User says `/mindlore-explore`, "knowledge explore", "baglanti kesfet", "cross-re
|
|
|
22
22
|
|
|
23
23
|
## Flow
|
|
24
24
|
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
**Agent Delegation:** Cross-reference analizini subagent'a delege et (context koruma).
|
|
26
|
+
|
|
27
|
+
1. Spawn an Agent for analysis:
|
|
28
|
+
```
|
|
29
|
+
Agent({
|
|
30
|
+
description: "mindlore explore: connections",
|
|
31
|
+
subagent_type: "Explore",
|
|
32
|
+
prompt: "[mindlore:explore] Analyze .mindlore/ for unexpected connections. <aşağıdaki talimatları buraya koy>"
|
|
33
|
+
})
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
Agent talimatları:
|
|
37
|
+
a. Read all source and domain files from active scope
|
|
38
|
+
b. Cross-match by tag + content (see criteria below)
|
|
39
|
+
c. Rank connections by strength
|
|
40
|
+
d. Return findings as structured table
|
|
41
|
+
|
|
42
|
+
2. After agent returns — review and show findings to user
|
|
43
|
+
3. On approval, write connection files (main session handles writes)
|
|
44
|
+
|
|
45
|
+
**Cross-match criteria:**
|
|
27
46
|
- Files sharing tags but not referencing each other
|
|
28
47
|
- Sources covering similar topics from different angles
|
|
29
48
|
- Sources that could bridge between domains
|
|
@@ -65,6 +84,7 @@ tags: [shared-tag-1, shared-tag-2]
|
|
|
65
84
|
- Update INDEX.md with new connections entry
|
|
66
85
|
- Append EXPLORE entry to log.md
|
|
67
86
|
- Strength is LLM-assessed based on tag overlap + content similarity
|
|
87
|
+
- The `[mindlore:explore]` marker in the Agent prompt is required — it triggers the model-router hook to use the cost-optimized model (sonnet by default)
|
|
68
88
|
|
|
69
89
|
## Output Format
|
|
70
90
|
|
|
@@ -24,41 +24,59 @@ User shares a URL, text, file, or says "kaynak ekle", "source ingest", "bu linki
|
|
|
24
24
|
## Modes
|
|
25
25
|
|
|
26
26
|
### URL Mode
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
1. markitdown installed → `markitdown <url>` (includes transcript)
|
|
32
|
-
2. Else youtube-transcript npm → `hasYoutubeTranscript()` check
|
|
33
|
-
3. Else → ask user to paste transcript manually
|
|
34
|
-
2. Save raw capture to `.mindlore/raw/` with frontmatter:
|
|
35
|
-
```yaml
|
|
36
|
-
---
|
|
37
|
-
slug: source-name-kebab
|
|
38
|
-
type: raw
|
|
39
|
-
source_url: https://...
|
|
40
|
-
date_captured: YYYY-MM-DD
|
|
41
|
-
tags: [tag1, tag2]
|
|
42
|
-
---
|
|
27
|
+
|
|
28
|
+
**Agent Delegation:** URL fetch + raw/sources yazımını subagent'a delege et (maliyet optimizasyonu).
|
|
29
|
+
|
|
30
|
+
1. Spawn an Agent with the following pattern:
|
|
43
31
|
```
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
title: Human Readable Title
|
|
50
|
-
source_url: https://...
|
|
51
|
-
source_type: github-repo|blog|docs|video|x-thread
|
|
52
|
-
date_captured: YYYY-MM-DD
|
|
53
|
-
tags: [tag1, tag2]
|
|
54
|
-
quality: high|medium|low
|
|
55
|
-
ingested: true
|
|
56
|
-
---
|
|
32
|
+
Agent({
|
|
33
|
+
description: "mindlore ingest: <slug>",
|
|
34
|
+
subagent_type: "researcher",
|
|
35
|
+
prompt: "[mindlore:ingest] <aşağıdaki talimatları buraya koy>"
|
|
36
|
+
})
|
|
57
37
|
```
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
38
|
+
|
|
39
|
+
Agent talimatları:
|
|
40
|
+
- Extract content from URL:
|
|
41
|
+
- If `markitdown` is available: `markitdown <url>` (best quality, zero tokens)
|
|
42
|
+
- Else: use `WebFetch` or `ctx_fetch_and_index`
|
|
43
|
+
- **YouTube URL** detected (`youtube.com` or `youtu.be`):
|
|
44
|
+
1. markitdown installed → `markitdown <url>` (includes transcript)
|
|
45
|
+
2. Else youtube-transcript npm → `hasYoutubeTranscript()` check
|
|
46
|
+
3. Else → return error, ask user to paste transcript
|
|
47
|
+
- Save raw capture to `.mindlore/raw/` with frontmatter:
|
|
48
|
+
```yaml
|
|
49
|
+
---
|
|
50
|
+
slug: source-name-kebab
|
|
51
|
+
type: raw
|
|
52
|
+
source_url: https://...
|
|
53
|
+
date_captured: YYYY-MM-DD
|
|
54
|
+
tags: [tag1, tag2]
|
|
55
|
+
---
|
|
56
|
+
```
|
|
57
|
+
- Summarize into `.mindlore/sources/` with full frontmatter:
|
|
58
|
+
```yaml
|
|
59
|
+
---
|
|
60
|
+
slug: source-name-kebab
|
|
61
|
+
type: source
|
|
62
|
+
title: Human Readable Title
|
|
63
|
+
source_url: https://...
|
|
64
|
+
source_type: github-repo|blog|docs|video|x-thread
|
|
65
|
+
date_captured: YYYY-MM-DD
|
|
66
|
+
tags: [tag1, tag2]
|
|
67
|
+
quality: high|medium|low
|
|
68
|
+
ingested: true
|
|
69
|
+
---
|
|
70
|
+
```
|
|
71
|
+
- Agent must report: created file paths, slug, quality assigned
|
|
72
|
+
|
|
73
|
+
2. After agent returns — verify raw/ and sources/ files exist and have valid frontmatter
|
|
74
|
+
3. Update relevant domain page(s) in `.mindlore/domains/` (max 2)
|
|
75
|
+
4. Update `.mindlore/INDEX.md` stats line
|
|
76
|
+
5. Append entry to `.mindlore/log.md`
|
|
77
|
+
6. Run FTS5 re-index: `npm run index`
|
|
78
|
+
|
|
79
|
+
**IMPORTANT:** The `[mindlore:ingest]` marker in the Agent prompt is required — it triggers the model-router hook to use the cost-optimized model (haiku by default).
|
|
62
80
|
|
|
63
81
|
### Text Mode
|
|
64
82
|
1. User pastes text directly
|