mindlore 0.6.8 → 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 +259 -259
- package/SCHEMA.md +292 -292
- package/dist/scripts/cc-memory-bulk-sync.d.ts.map +1 -1
- package/dist/scripts/cc-memory-bulk-sync.js +4 -2
- 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 +9 -7
- package/dist/scripts/cc-session-sync.js.map +1 -1
- package/dist/scripts/fetch-raw.js +5 -4
- package/dist/scripts/fetch-raw.js.map +1 -1
- package/dist/scripts/init.js +16 -12
- package/dist/scripts/init.js.map +1 -1
- package/dist/scripts/lib/consolidation.js +10 -10
- package/dist/scripts/lib/constants.d.ts +3 -0
- package/dist/scripts/lib/constants.d.ts.map +1 -1
- package/dist/scripts/lib/constants.js +11 -1
- package/dist/scripts/lib/constants.js.map +1 -1
- package/dist/scripts/lib/decay.js +9 -9
- package/dist/scripts/lib/episodes.js +23 -23
- 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/migrations-v061.js +21 -21
- package/dist/scripts/lib/migrations-v062.js +11 -11
- package/dist/scripts/lib/migrations-v063.js +14 -14
- package/dist/scripts/lib/migrations-v067.js +11 -11
- 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/schema-version.js +6 -6
- package/dist/scripts/lib/search-cache.js +11 -11
- 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/secure-io.d.ts +11 -0
- package/dist/scripts/lib/secure-io.d.ts.map +1 -0
- package/dist/scripts/lib/secure-io.js +26 -0
- package/dist/scripts/lib/secure-io.js.map +1 -0
- package/dist/scripts/lib/session-payload.js +7 -7
- 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/lib/triage.js +3 -3
- package/dist/scripts/lib/validate-manifest.d.ts +8 -0
- package/dist/scripts/lib/validate-manifest.d.ts.map +1 -0
- package/dist/scripts/lib/validate-manifest.js +80 -0
- package/dist/scripts/lib/validate-manifest.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-backup.js +9 -9
- 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 +12 -12
- 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.d.ts +2 -0
- package/dist/scripts/validate-manifest-cli.d.ts.map +1 -0
- package/dist/scripts/validate-manifest-cli.js +38 -0
- package/dist/scripts/validate-manifest-cli.js.map +1 -0
- package/dist/tests/cc-memory-sync.test.js +3 -3
- package/dist/tests/chunks-migration.test.js +1 -1
- package/dist/tests/compaction-snapshot.test.js +2 -2
- package/dist/tests/consolidation.test.js +3 -3
- package/dist/tests/decay.test.js +9 -9
- package/dist/tests/diary.test.js +4 -4
- package/dist/tests/episode-file.test.js +2 -1
- package/dist/tests/episode-file.test.js.map +1 -1
- package/dist/tests/episodes-inject.test.js +9 -9
- 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/fetch-raw.test.js +1 -2
- package/dist/tests/fetch-raw.test.js.map +1 -1
- package/dist/tests/fts5.test.js +75 -75
- package/dist/tests/fuzzy.test.js +1 -1
- package/dist/tests/git-snapshot.test.js +3 -5
- package/dist/tests/git-snapshot.test.js.map +1 -1
- package/dist/tests/helpers/db.d.ts +1 -2
- package/dist/tests/helpers/db.d.ts.map +1 -1
- package/dist/tests/helpers/db.js +18 -26
- package/dist/tests/helpers/db.js.map +1 -1
- package/dist/tests/manifest-v2.test.d.ts +2 -0
- package/dist/tests/manifest-v2.test.d.ts.map +1 -0
- package/dist/tests/manifest-v2.test.js +67 -0
- package/dist/tests/manifest-v2.test.js.map +1 -0
- 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/migrations-v053.test.js +16 -16
- package/dist/tests/migrations-v061.test.js +10 -10
- package/dist/tests/migrations-v063.test.js +4 -4
- package/dist/tests/migrations-v068.test.js +6 -3
- package/dist/tests/migrations-v068.test.js.map +1 -1
- package/dist/tests/nomination-counts.test.js +6 -6
- package/dist/tests/nomination-counts.test.js.map +1 -1
- package/dist/tests/pre-compact.test.js +2 -1
- package/dist/tests/pre-compact.test.js.map +1 -1
- package/dist/tests/recall-telemetry.test.js +12 -11
- package/dist/tests/recall-telemetry.test.js.map +1 -1
- package/dist/tests/rrf.test.js +3 -3
- package/dist/tests/search-engine.test.js +1 -1
- package/dist/tests/search-hook.test.js +2 -2
- package/dist/tests/search-offload.test.js +1 -1
- package/dist/tests/search-offload.test.js.map +1 -1
- package/dist/tests/secure-io.test.d.ts +2 -0
- package/dist/tests/secure-io.test.d.ts.map +1 -0
- package/dist/tests/secure-io.test.js +65 -0
- package/dist/tests/secure-io.test.js.map +1 -0
- package/dist/tests/session-payload.test.js +1 -1
- package/dist/tests/session-summary.test.js +1 -1
- package/dist/tests/similarity.test.js +1 -1
- package/dist/tests/skill-path-resolution.test.js +22 -3
- package/dist/tests/skill-path-resolution.test.js.map +1 -1
- 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/dist/tests/triage.test.js +1 -1
- package/hooks/lib/constants.cjs +15 -15
- package/hooks/lib/mindlore-common.cjs +975 -974
- package/hooks/mindlore-cwd-changed.cjs +57 -57
- package/hooks/mindlore-decision-detector.cjs +54 -54
- package/hooks/mindlore-dont-repeat.cjs +222 -222
- package/hooks/mindlore-fts5-sync.cjs +98 -97
- package/hooks/mindlore-index.cjs +230 -229
- package/hooks/mindlore-model-router.cjs +54 -54
- package/hooks/mindlore-post-compact.cjs +69 -69
- package/hooks/mindlore-post-read.cjs +106 -106
- package/hooks/mindlore-pre-compact.cjs +154 -154
- package/hooks/mindlore-read-guard.cjs +105 -105
- package/hooks/mindlore-research-guard.cjs +176 -176
- package/hooks/mindlore-search.cjs +200 -200
- package/hooks/mindlore-session-end.cjs +510 -509
- package/hooks/mindlore-session-focus.cjs +256 -256
- package/package.json +77 -75
- package/plugin.json +8 -1
- package/skills/mindlore-diary/SKILL.md +85 -85
- package/skills/mindlore-evolve/SKILL.md +126 -126
- package/skills/mindlore-explore/SKILL.md +109 -109
- package/skills/mindlore-ingest/SKILL.md +195 -195
- package/skills/mindlore-maintain/SKILL.md +125 -125
- package/skills/mindlore-query/SKILL.md +151 -151
- package/skills/mindlore-reflect/SKILL.md +141 -141
- package/skills/mindlore-stats/SKILL.md +106 -106
- package/templates/INDEX.md +14 -14
- package/templates/SCHEMA.md +292 -292
- package/templates/config.json +1 -1
- package/templates/extraction/article.md +15 -15
- package/templates/extraction/changelog.md +15 -15
- package/templates/extraction/default.md +15 -15
- package/templates/extraction/docs.md +15 -15
- package/templates/extraction/github-repo.md +17 -17
package/dist/tests/fts5.test.js
CHANGED
|
@@ -34,9 +34,9 @@ describe('FTS5 Database', () => {
|
|
|
34
34
|
const testPath = path_1.default.join(TEST_DIR, 'sources', 'typescript-guide.md');
|
|
35
35
|
const content = '# TypeScript Guide\n\nTypeScript provides static typing for JavaScript applications.';
|
|
36
36
|
(0, db_js_1.insertFts)(db, { path: testPath, slug: 'typescript-guide', description: 'TypeScript static typing for JavaScript', type: 'source', category: 'sources', title: 'TypeScript Guide', content, tags: '', quality: null, dateCaptured: null });
|
|
37
|
-
const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path, rank FROM mindlore_fts
|
|
38
|
-
WHERE mindlore_fts MATCH ?
|
|
39
|
-
ORDER BY rank
|
|
37
|
+
const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path, rank FROM mindlore_fts
|
|
38
|
+
WHERE mindlore_fts MATCH ?
|
|
39
|
+
ORDER BY rank
|
|
40
40
|
LIMIT 3`, 'TypeScript');
|
|
41
41
|
expect(results).toHaveLength(1);
|
|
42
42
|
expect(results[0].path).toBe(testPath);
|
|
@@ -46,9 +46,9 @@ describe('FTS5 Database', () => {
|
|
|
46
46
|
const db = new better_sqlite3_1.default(DB_PATH);
|
|
47
47
|
const testPath = path_1.default.join(TEST_DIR, 'sources', 'python-guide.md');
|
|
48
48
|
(0, db_js_1.insertFts)(db, { path: testPath, slug: 'python-guide', description: 'Python for data science', type: 'source', category: 'sources', title: 'Python Guide', content: '# Python Guide\n\nPython is great for data science.', tags: '', quality: null, dateCaptured: null });
|
|
49
|
-
const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path FROM mindlore_fts
|
|
50
|
-
WHERE mindlore_fts MATCH ?
|
|
51
|
-
ORDER BY rank
|
|
49
|
+
const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path FROM mindlore_fts
|
|
50
|
+
WHERE mindlore_fts MATCH ?
|
|
51
|
+
ORDER BY rank
|
|
52
52
|
LIMIT 3`, 'Kubernetes');
|
|
53
53
|
expect(results).toHaveLength(0);
|
|
54
54
|
db.close();
|
|
@@ -57,9 +57,9 @@ describe('FTS5 Database', () => {
|
|
|
57
57
|
const db = new better_sqlite3_1.default(DB_PATH);
|
|
58
58
|
(0, db_js_1.insertFts)(db, { path: path_1.default.join(TEST_DIR, 'sources', 'hooks-overview.md'), slug: 'hooks-overview', description: 'Hooks lifecycle callbacks overview', type: 'source', category: 'sources', title: 'Hooks Overview', content: '# Hooks Overview\n\nHooks are lifecycle callbacks.', tags: '', quality: null, dateCaptured: null });
|
|
59
59
|
(0, db_js_1.insertFts)(db, { path: path_1.default.join(TEST_DIR, 'sources', 'hooks-deep-dive.md'), slug: 'hooks-deep-dive', description: 'Deep dive into hooks patterns', type: 'source', category: 'sources', title: 'Hooks Deep Dive', content: '# Hooks Deep Dive\n\nHooks hooks hooks. PreToolUse hooks, PostToolUse hooks, SessionStart hooks.', tags: '', quality: null, dateCaptured: null });
|
|
60
|
-
const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path, rank FROM mindlore_fts
|
|
61
|
-
WHERE mindlore_fts MATCH ?
|
|
62
|
-
ORDER BY rank
|
|
60
|
+
const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path, rank FROM mindlore_fts
|
|
61
|
+
WHERE mindlore_fts MATCH ?
|
|
62
|
+
ORDER BY rank
|
|
63
63
|
LIMIT 3`, 'hooks');
|
|
64
64
|
expect(results).toHaveLength(2);
|
|
65
65
|
const deepDive = results.find((r) => r.path.includes('deep-dive'));
|
|
@@ -71,9 +71,9 @@ describe('FTS5 Database', () => {
|
|
|
71
71
|
test('should index and search by tags column', () => {
|
|
72
72
|
const db = new better_sqlite3_1.default(DB_PATH);
|
|
73
73
|
(0, db_js_1.insertFts)(db, { path: path_1.default.join(TEST_DIR, 'sources', 'tagged-doc.md'), slug: 'tagged-doc', description: 'A doc with tags', type: 'source', category: 'sources', title: 'Tagged Doc', content: '# Tagged\n\nContent here.', tags: 'security, hooks, fts5', quality: null, dateCaptured: null });
|
|
74
|
-
const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path, tags FROM mindlore_fts
|
|
75
|
-
WHERE tags MATCH ?
|
|
76
|
-
ORDER BY rank
|
|
74
|
+
const results = (0, db_helpers_js_1.dbAll)(db, `SELECT path, tags FROM mindlore_fts
|
|
75
|
+
WHERE tags MATCH ?
|
|
76
|
+
ORDER BY rank
|
|
77
77
|
LIMIT 3`, 'security');
|
|
78
78
|
expect(results).toHaveLength(1);
|
|
79
79
|
expect(results[0].tags).toBe('security, hooks, fts5');
|
|
@@ -136,20 +136,20 @@ describe('openDatabase CJS', () => {
|
|
|
136
136
|
});
|
|
137
137
|
describe('Timestamp columns', () => {
|
|
138
138
|
test('should write created_at on first index, updated_at on re-index', () => {
|
|
139
|
-
const {
|
|
139
|
+
const { createTestDbWithFullSchema } = require('./helpers/db.js');
|
|
140
140
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test helper returns Database
|
|
141
|
-
const db =
|
|
141
|
+
const db = createTestDbWithFullSchema(DB_PATH);
|
|
142
142
|
const testPath = path_1.default.join(TEST_DIR, 'sources', 'test-timestamps.md');
|
|
143
143
|
const hash1 = 'aaa111';
|
|
144
144
|
const now1 = '2026-04-19T10:00:00.000Z';
|
|
145
145
|
// Simulate first index: INSERT with created_at, no updated_at
|
|
146
|
-
const upsertHash = db.prepare(`
|
|
147
|
-
INSERT INTO file_hashes (path, content_hash, last_indexed, created_at)
|
|
148
|
-
VALUES (?, ?, ?, datetime('now'))
|
|
149
|
-
ON CONFLICT(path) DO UPDATE SET
|
|
150
|
-
content_hash = excluded.content_hash,
|
|
151
|
-
last_indexed = excluded.last_indexed,
|
|
152
|
-
updated_at = datetime('now')
|
|
146
|
+
const upsertHash = db.prepare(`
|
|
147
|
+
INSERT INTO file_hashes (path, content_hash, last_indexed, created_at)
|
|
148
|
+
VALUES (?, ?, ?, datetime('now'))
|
|
149
|
+
ON CONFLICT(path) DO UPDATE SET
|
|
150
|
+
content_hash = excluded.content_hash,
|
|
151
|
+
last_indexed = excluded.last_indexed,
|
|
152
|
+
updated_at = datetime('now')
|
|
153
153
|
`);
|
|
154
154
|
upsertHash.run(testPath, hash1, now1);
|
|
155
155
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- better-sqlite3 .get() returns unknown
|
|
@@ -169,21 +169,21 @@ describe('Timestamp columns', () => {
|
|
|
169
169
|
});
|
|
170
170
|
describe('Project scope on index', () => {
|
|
171
171
|
test('should write project_scope on index', () => {
|
|
172
|
-
const {
|
|
172
|
+
const { createTestDbWithFullSchema } = require('./helpers/db.js');
|
|
173
173
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test helper returns Database
|
|
174
|
-
const db =
|
|
174
|
+
const db = createTestDbWithFullSchema(DB_PATH);
|
|
175
175
|
const testPath = path_1.default.join(TEST_DIR, 'sources', 'test-scope.md');
|
|
176
176
|
const hash = 'abc123';
|
|
177
177
|
const now = '2026-04-19T12:00:00.000Z';
|
|
178
178
|
const projectName = 'test-project';
|
|
179
|
-
const upsertHash = db.prepare(`
|
|
180
|
-
INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope)
|
|
181
|
-
VALUES (?, ?, ?, datetime('now'), ?)
|
|
182
|
-
ON CONFLICT(path) DO UPDATE SET
|
|
183
|
-
content_hash = excluded.content_hash,
|
|
184
|
-
last_indexed = excluded.last_indexed,
|
|
185
|
-
updated_at = datetime('now'),
|
|
186
|
-
project_scope = excluded.project_scope
|
|
179
|
+
const upsertHash = db.prepare(`
|
|
180
|
+
INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope)
|
|
181
|
+
VALUES (?, ?, ?, datetime('now'), ?)
|
|
182
|
+
ON CONFLICT(path) DO UPDATE SET
|
|
183
|
+
content_hash = excluded.content_hash,
|
|
184
|
+
last_indexed = excluded.last_indexed,
|
|
185
|
+
updated_at = datetime('now'),
|
|
186
|
+
project_scope = excluded.project_scope
|
|
187
187
|
`);
|
|
188
188
|
upsertHash.run(testPath, hash, now, projectName);
|
|
189
189
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- better-sqlite3 .get() returns unknown
|
|
@@ -196,19 +196,19 @@ describe('Project scope on index', () => {
|
|
|
196
196
|
});
|
|
197
197
|
describe('Quality to importance mapping', () => {
|
|
198
198
|
test('should map quality high to importance 1.0', () => {
|
|
199
|
-
const {
|
|
199
|
+
const { createTestDbWithFullSchema } = require('./helpers/db.js');
|
|
200
200
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test helper returns Database
|
|
201
|
-
const db =
|
|
201
|
+
const db = createTestDbWithFullSchema(DB_PATH);
|
|
202
202
|
const testPath = path_1.default.join(TEST_DIR, 'sources', 'test-importance-high.md');
|
|
203
|
-
const upsertHash = db.prepare(`
|
|
204
|
-
INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
|
|
205
|
-
VALUES (?, ?, ?, datetime('now'), ?, ?)
|
|
206
|
-
ON CONFLICT(path) DO UPDATE SET
|
|
207
|
-
content_hash = excluded.content_hash,
|
|
208
|
-
last_indexed = excluded.last_indexed,
|
|
209
|
-
updated_at = datetime('now'),
|
|
210
|
-
project_scope = excluded.project_scope,
|
|
211
|
-
importance = excluded.importance
|
|
203
|
+
const upsertHash = db.prepare(`
|
|
204
|
+
INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
|
|
205
|
+
VALUES (?, ?, ?, datetime('now'), ?, ?)
|
|
206
|
+
ON CONFLICT(path) DO UPDATE SET
|
|
207
|
+
content_hash = excluded.content_hash,
|
|
208
|
+
last_indexed = excluded.last_indexed,
|
|
209
|
+
updated_at = datetime('now'),
|
|
210
|
+
project_scope = excluded.project_scope,
|
|
211
|
+
importance = excluded.importance
|
|
212
212
|
`);
|
|
213
213
|
// Simulate indexer: quality 'high' -> importance 1.0
|
|
214
214
|
upsertHash.run(testPath, 'aaa', '2026-04-19T10:00:00.000Z', 'test', 1.0);
|
|
@@ -218,19 +218,19 @@ describe('Quality to importance mapping', () => {
|
|
|
218
218
|
db.close();
|
|
219
219
|
});
|
|
220
220
|
test('should map quality medium to importance 0.6', () => {
|
|
221
|
-
const {
|
|
221
|
+
const { createTestDbWithFullSchema } = require('./helpers/db.js');
|
|
222
222
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test helper returns Database
|
|
223
|
-
const db =
|
|
223
|
+
const db = createTestDbWithFullSchema(DB_PATH);
|
|
224
224
|
const testPath = path_1.default.join(TEST_DIR, 'sources', 'test-importance-medium.md');
|
|
225
|
-
const upsertHash = db.prepare(`
|
|
226
|
-
INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
|
|
227
|
-
VALUES (?, ?, ?, datetime('now'), ?, ?)
|
|
228
|
-
ON CONFLICT(path) DO UPDATE SET
|
|
229
|
-
content_hash = excluded.content_hash,
|
|
230
|
-
last_indexed = excluded.last_indexed,
|
|
231
|
-
updated_at = datetime('now'),
|
|
232
|
-
project_scope = excluded.project_scope,
|
|
233
|
-
importance = excluded.importance
|
|
225
|
+
const upsertHash = db.prepare(`
|
|
226
|
+
INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
|
|
227
|
+
VALUES (?, ?, ?, datetime('now'), ?, ?)
|
|
228
|
+
ON CONFLICT(path) DO UPDATE SET
|
|
229
|
+
content_hash = excluded.content_hash,
|
|
230
|
+
last_indexed = excluded.last_indexed,
|
|
231
|
+
updated_at = datetime('now'),
|
|
232
|
+
project_scope = excluded.project_scope,
|
|
233
|
+
importance = excluded.importance
|
|
234
234
|
`);
|
|
235
235
|
upsertHash.run(testPath, 'bbb', '2026-04-19T10:00:00.000Z', 'test', 0.6);
|
|
236
236
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- better-sqlite3 .get() returns unknown
|
|
@@ -239,19 +239,19 @@ describe('Quality to importance mapping', () => {
|
|
|
239
239
|
db.close();
|
|
240
240
|
});
|
|
241
241
|
test('should map quality low to importance 0.3', () => {
|
|
242
|
-
const {
|
|
242
|
+
const { createTestDbWithFullSchema } = require('./helpers/db.js');
|
|
243
243
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test helper returns Database
|
|
244
|
-
const db =
|
|
244
|
+
const db = createTestDbWithFullSchema(DB_PATH);
|
|
245
245
|
const testPath = path_1.default.join(TEST_DIR, 'sources', 'test-importance-low.md');
|
|
246
|
-
const upsertHash = db.prepare(`
|
|
247
|
-
INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
|
|
248
|
-
VALUES (?, ?, ?, datetime('now'), ?, ?)
|
|
249
|
-
ON CONFLICT(path) DO UPDATE SET
|
|
250
|
-
content_hash = excluded.content_hash,
|
|
251
|
-
last_indexed = excluded.last_indexed,
|
|
252
|
-
updated_at = datetime('now'),
|
|
253
|
-
project_scope = excluded.project_scope,
|
|
254
|
-
importance = excluded.importance
|
|
246
|
+
const upsertHash = db.prepare(`
|
|
247
|
+
INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
|
|
248
|
+
VALUES (?, ?, ?, datetime('now'), ?, ?)
|
|
249
|
+
ON CONFLICT(path) DO UPDATE SET
|
|
250
|
+
content_hash = excluded.content_hash,
|
|
251
|
+
last_indexed = excluded.last_indexed,
|
|
252
|
+
updated_at = datetime('now'),
|
|
253
|
+
project_scope = excluded.project_scope,
|
|
254
|
+
importance = excluded.importance
|
|
255
255
|
`);
|
|
256
256
|
upsertHash.run(testPath, 'ccc', '2026-04-19T10:00:00.000Z', 'test', 0.3);
|
|
257
257
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- better-sqlite3 .get() returns unknown
|
|
@@ -260,19 +260,19 @@ describe('Quality to importance mapping', () => {
|
|
|
260
260
|
db.close();
|
|
261
261
|
});
|
|
262
262
|
test('should default importance to 0.5 when quality is missing', () => {
|
|
263
|
-
const {
|
|
263
|
+
const { createTestDbWithFullSchema } = require('./helpers/db.js');
|
|
264
264
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- test helper returns Database
|
|
265
|
-
const db =
|
|
265
|
+
const db = createTestDbWithFullSchema(DB_PATH);
|
|
266
266
|
const testPath = path_1.default.join(TEST_DIR, 'sources', 'test-no-quality.md');
|
|
267
|
-
const upsertHash = db.prepare(`
|
|
268
|
-
INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
|
|
269
|
-
VALUES (?, ?, ?, datetime('now'), ?, ?)
|
|
270
|
-
ON CONFLICT(path) DO UPDATE SET
|
|
271
|
-
content_hash = excluded.content_hash,
|
|
272
|
-
last_indexed = excluded.last_indexed,
|
|
273
|
-
updated_at = datetime('now'),
|
|
274
|
-
project_scope = excluded.project_scope,
|
|
275
|
-
importance = excluded.importance
|
|
267
|
+
const upsertHash = db.prepare(`
|
|
268
|
+
INSERT INTO file_hashes (path, content_hash, last_indexed, created_at, project_scope, importance)
|
|
269
|
+
VALUES (?, ?, ?, datetime('now'), ?, ?)
|
|
270
|
+
ON CONFLICT(path) DO UPDATE SET
|
|
271
|
+
content_hash = excluded.content_hash,
|
|
272
|
+
last_indexed = excluded.last_indexed,
|
|
273
|
+
updated_at = datetime('now'),
|
|
274
|
+
project_scope = excluded.project_scope,
|
|
275
|
+
importance = excluded.importance
|
|
276
276
|
`);
|
|
277
277
|
// quality undefined -> default 0.5
|
|
278
278
|
upsertHash.run(testPath, 'ddd', '2026-04-19T10:00:00.000Z', 'test', 0.5);
|
package/dist/tests/fuzzy.test.js
CHANGED
|
@@ -33,7 +33,7 @@ describe('DB integration', () => {
|
|
|
33
33
|
let tmpDir;
|
|
34
34
|
beforeEach(() => {
|
|
35
35
|
tmpDir = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), 'mindlore-fuzzy-'));
|
|
36
|
-
db = (0, db_js_1.
|
|
36
|
+
db = (0, db_js_1.createTestDbWithFullSchema)(path_1.default.join(tmpDir, 'test.db'));
|
|
37
37
|
});
|
|
38
38
|
afterEach(() => {
|
|
39
39
|
db.close();
|
|
@@ -8,7 +8,7 @@ const path_1 = __importDefault(require("path"));
|
|
|
8
8
|
const os_1 = __importDefault(require("os"));
|
|
9
9
|
const child_process_1 = require("child_process");
|
|
10
10
|
describe('Git Snapshot (Pre-Eviction)', () => {
|
|
11
|
-
const tmpDir = path_1.default.join(os_1.default.tmpdir(),
|
|
11
|
+
const tmpDir = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), 'mindlore-snapshot-'));
|
|
12
12
|
const mindloreDir = path_1.default.join(tmpDir, '.mindlore');
|
|
13
13
|
beforeEach(() => {
|
|
14
14
|
fs_1.default.mkdirSync(mindloreDir, { recursive: true });
|
|
@@ -54,8 +54,7 @@ describe('Git Snapshot (Pre-Eviction)', () => {
|
|
|
54
54
|
});
|
|
55
55
|
test('createPreEvictionTag returns null for non-git directory', async () => {
|
|
56
56
|
const { createPreEvictionTag } = await import('../scripts/lib/git-snapshot.js');
|
|
57
|
-
const nonGit = path_1.default.join(os_1.default.tmpdir(),
|
|
58
|
-
fs_1.default.mkdirSync(nonGit, { recursive: true });
|
|
57
|
+
const nonGit = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), 'mindlore-no-git-'));
|
|
59
58
|
try {
|
|
60
59
|
const tag = createPreEvictionTag(nonGit, 'test.md');
|
|
61
60
|
expect(tag).toBeNull();
|
|
@@ -66,8 +65,7 @@ describe('Git Snapshot (Pre-Eviction)', () => {
|
|
|
66
65
|
});
|
|
67
66
|
test('listPreEvictionTags returns empty for non-git directory', async () => {
|
|
68
67
|
const { listPreEvictionTags } = await import('../scripts/lib/git-snapshot.js');
|
|
69
|
-
const nonGit = path_1.default.join(os_1.default.tmpdir(),
|
|
70
|
-
fs_1.default.mkdirSync(nonGit, { recursive: true });
|
|
68
|
+
const nonGit = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), 'mindlore-no-git-'));
|
|
71
69
|
try {
|
|
72
70
|
const tags = listPreEvictionTags(nonGit);
|
|
73
71
|
expect(tags).toEqual([]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-snapshot.test.js","sourceRoot":"","sources":["../../tests/git-snapshot.test.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,gDAAwB;AACxB,4CAAoB;AACpB,iDAAyC;AAEzC,QAAQ,CAAC,6BAA6B,EAAE,GAAG,EAAE;IAC3C,MAAM,MAAM,GAAG,cAAI,CAAC,IAAI,CAAC,YAAE,CAAC,MAAM,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"git-snapshot.test.js","sourceRoot":"","sources":["../../tests/git-snapshot.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import Database from 'better-sqlite3';
|
|
2
2
|
export declare function sha256(content: string): string;
|
|
3
3
|
export declare function createTestDb(dbPath: string): Database.Database;
|
|
4
|
-
export declare function createTestDbWithFullSchema(dbPath: string): Database.Database;
|
|
5
4
|
export declare function createTestDbAtVersion(dbPath: string, maxVersion: number): Database.Database;
|
|
6
|
-
export declare function
|
|
5
|
+
export declare function createTestDbWithFullSchema(dbPath: string): Database.Database;
|
|
7
6
|
export interface FtsEntry {
|
|
8
7
|
[key: string]: string | null | undefined;
|
|
9
8
|
path: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../tests/helpers/db.ts"],"names":[],"mappings":"AAIA,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAuBtC,wBAAgB,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAoB9D;AASD,wBAAgB,
|
|
1
|
+
{"version":3,"file":"db.d.ts","sourceRoot":"","sources":["../../../tests/helpers/db.ts"],"names":[],"mappings":"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"}
|
package/dist/tests/helpers/db.js
CHANGED
|
@@ -6,9 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.resolveProject = exports.extractFtsMetadata = exports.parseFrontmatter = void 0;
|
|
7
7
|
exports.sha256 = sha256;
|
|
8
8
|
exports.createTestDb = createTestDb;
|
|
9
|
-
exports.createTestDbWithFullSchema = createTestDbWithFullSchema;
|
|
10
9
|
exports.createTestDbAtVersion = createTestDbAtVersion;
|
|
11
|
-
exports.
|
|
10
|
+
exports.createTestDbWithFullSchema = createTestDbWithFullSchema;
|
|
12
11
|
exports.insertFts = insertFts;
|
|
13
12
|
exports.createTestDbWithEpisodes = createTestDbWithEpisodes;
|
|
14
13
|
exports.setupTestDir = setupTestDir;
|
|
@@ -43,20 +42,20 @@ function createTestDb(dbPath) {
|
|
|
43
42
|
const db = new better_sqlite3_1.default(dbPath);
|
|
44
43
|
db.pragma('journal_mode = WAL');
|
|
45
44
|
db.exec(SQL_FTS_CREATE);
|
|
46
|
-
db.exec(`
|
|
47
|
-
CREATE TABLE IF NOT EXISTS file_hashes (
|
|
48
|
-
path TEXT PRIMARY KEY,
|
|
49
|
-
content_hash TEXT NOT NULL,
|
|
50
|
-
last_indexed TEXT NOT NULL,
|
|
51
|
-
created_at TEXT,
|
|
52
|
-
updated_at TEXT,
|
|
53
|
-
source_type TEXT DEFAULT 'mindlore',
|
|
54
|
-
project_scope TEXT,
|
|
55
|
-
recall_count INTEGER DEFAULT 0,
|
|
56
|
-
last_recalled_at TEXT,
|
|
57
|
-
archived_at TEXT,
|
|
58
|
-
importance REAL
|
|
59
|
-
);
|
|
45
|
+
db.exec(`
|
|
46
|
+
CREATE TABLE IF NOT EXISTS file_hashes (
|
|
47
|
+
path TEXT PRIMARY KEY,
|
|
48
|
+
content_hash TEXT NOT NULL,
|
|
49
|
+
last_indexed TEXT NOT NULL,
|
|
50
|
+
created_at TEXT,
|
|
51
|
+
updated_at TEXT,
|
|
52
|
+
source_type TEXT DEFAULT 'mindlore',
|
|
53
|
+
project_scope TEXT,
|
|
54
|
+
recall_count INTEGER DEFAULT 0,
|
|
55
|
+
last_recalled_at TEXT,
|
|
56
|
+
archived_at TEXT,
|
|
57
|
+
importance REAL
|
|
58
|
+
);
|
|
60
59
|
`);
|
|
61
60
|
return db;
|
|
62
61
|
}
|
|
@@ -66,13 +65,6 @@ const ALL_MIGRATIONS = [
|
|
|
66
65
|
...migrations_v063_js_1.V063_MIGRATIONS, ...migrations_v066_js_1.V066_MIGRATIONS, ...migrations_v067_js_1.V067_MIGRATIONS,
|
|
67
66
|
...migrations_v068_js_1.V068_MIGRATIONS,
|
|
68
67
|
];
|
|
69
|
-
function createTestDbWithFullSchema(dbPath) {
|
|
70
|
-
const db = createTestDb(dbPath);
|
|
71
|
-
ensureEpisodesTableCjs(db);
|
|
72
|
-
(0, schema_version_js_1.ensureSchemaTable)(db);
|
|
73
|
-
(0, schema_version_js_1.runMigrations)(db, ALL_MIGRATIONS);
|
|
74
|
-
return db;
|
|
75
|
-
}
|
|
76
68
|
function createTestDbAtVersion(dbPath, maxVersion) {
|
|
77
69
|
const db = createTestDb(dbPath);
|
|
78
70
|
ensureEpisodesTableCjs(db);
|
|
@@ -81,7 +73,7 @@ function createTestDbAtVersion(dbPath, maxVersion) {
|
|
|
81
73
|
(0, schema_version_js_1.runMigrations)(db, filtered);
|
|
82
74
|
return db;
|
|
83
75
|
}
|
|
84
|
-
function
|
|
76
|
+
function createTestDbWithFullSchema(dbPath) {
|
|
85
77
|
const db = createTestDb(dbPath);
|
|
86
78
|
ensureEpisodesTableCjs(db);
|
|
87
79
|
(0, schema_version_js_1.ensureSchemaTable)(db);
|
|
@@ -119,7 +111,7 @@ function destroyEpisodesTestEnv(env) {
|
|
|
119
111
|
function createEpisodesTestEnvWithMigrations(prefix) {
|
|
120
112
|
const tmpDir = fs_1.default.mkdtempSync(path_1.default.join(os_1.default.tmpdir(), `mindlore-${prefix}-`));
|
|
121
113
|
const dbPath = path_1.default.join(tmpDir, 'test.db');
|
|
122
|
-
const db =
|
|
114
|
+
const db = createTestDbWithFullSchema(dbPath);
|
|
123
115
|
return { db, tmpDir };
|
|
124
116
|
}
|
|
125
117
|
exports.parseFrontmatter = parseFrontmatterCjs;
|
|
@@ -136,7 +128,7 @@ function insertEpisode(db, overrides = {}) {
|
|
|
136
128
|
created_at: new Date().toISOString(),
|
|
137
129
|
};
|
|
138
130
|
const data = { ...defaults, ...overrides };
|
|
139
|
-
const result = db.prepare(`INSERT INTO episodes (id, kind, status, project, summary, graduated_at, created_at)
|
|
131
|
+
const result = db.prepare(`INSERT INTO episodes (id, kind, status, project, summary, graduated_at, created_at)
|
|
140
132
|
VALUES (?, ?, ?, ?, ?, ?, ?)`).run(data.id, data.kind, data.status, data.project, data.summary, data.graduated_at, data.created_at);
|
|
141
133
|
return Number(result.lastInsertRowid);
|
|
142
134
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../tests/helpers/db.ts"],"names":[],"mappings":";;;;;;AA2BA,wBAEC;AAED,oCAoBC;AASD,
|
|
1
|
+
{"version":3,"file":"db.js","sourceRoot":"","sources":["../../../tests/helpers/db.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-v2.test.d.ts","sourceRoot":"","sources":["../../tests/manifest-v2.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const validate_manifest_js_1 = require("../scripts/lib/validate-manifest.js");
|
|
4
|
+
describe('validate-manifest', () => {
|
|
5
|
+
const validV2 = {
|
|
6
|
+
manifestVersion: 2,
|
|
7
|
+
name: 'mindlore',
|
|
8
|
+
version: '0.6.9',
|
|
9
|
+
description: 'AI-native knowledge system',
|
|
10
|
+
skills: [],
|
|
11
|
+
hooks: [],
|
|
12
|
+
};
|
|
13
|
+
it('accepts valid v2 manifest', () => {
|
|
14
|
+
const result = (0, validate_manifest_js_1.validateManifest)(validV2);
|
|
15
|
+
expect(result.valid).toBe(true);
|
|
16
|
+
expect(result.errors).toHaveLength(0);
|
|
17
|
+
});
|
|
18
|
+
it('accepts v1 manifest (no manifestVersion field)', () => {
|
|
19
|
+
const v1 = { name: 'test', description: 'test plugin', skills: [], hooks: [] };
|
|
20
|
+
const result = (0, validate_manifest_js_1.validateManifest)(v1);
|
|
21
|
+
expect(result.valid).toBe(true);
|
|
22
|
+
expect(result.manifestVersion).toBe(1);
|
|
23
|
+
});
|
|
24
|
+
it('rejects missing name', () => {
|
|
25
|
+
const bad = { ...validV2, name: undefined };
|
|
26
|
+
const result = (0, validate_manifest_js_1.validateManifest)(bad);
|
|
27
|
+
expect(result.valid).toBe(false);
|
|
28
|
+
expect(result.errors[0]).toMatch(/name/i);
|
|
29
|
+
});
|
|
30
|
+
it('rejects invalid version format', () => {
|
|
31
|
+
const bad = { ...validV2, version: 'not-semver' };
|
|
32
|
+
const result = (0, validate_manifest_js_1.validateManifest)(bad);
|
|
33
|
+
expect(result.valid).toBe(false);
|
|
34
|
+
expect(result.errors[0]).toMatch(/version/i);
|
|
35
|
+
});
|
|
36
|
+
it('rejects invalid manifestVersion', () => {
|
|
37
|
+
const bad = { ...validV2, manifestVersion: 99 };
|
|
38
|
+
const result = (0, validate_manifest_js_1.validateManifest)(bad);
|
|
39
|
+
expect(result.valid).toBe(false);
|
|
40
|
+
expect(result.errors[0]).toMatch(/manifestVersion/i);
|
|
41
|
+
});
|
|
42
|
+
it('validates minCCVersion format when present', () => {
|
|
43
|
+
const withCC = { ...validV2, minCCVersion: '2.1.100' };
|
|
44
|
+
expect((0, validate_manifest_js_1.validateManifest)(withCC).valid).toBe(true);
|
|
45
|
+
const badCC = { ...validV2, minCCVersion: 'abc' };
|
|
46
|
+
expect((0, validate_manifest_js_1.validateManifest)(badCC).valid).toBe(false);
|
|
47
|
+
});
|
|
48
|
+
it('validates conflicts is array of strings', () => {
|
|
49
|
+
const good = { ...validV2, conflicts: ['other-plugin'] };
|
|
50
|
+
expect((0, validate_manifest_js_1.validateManifest)(good).valid).toBe(true);
|
|
51
|
+
const bad = { ...validV2, conflicts: [123] };
|
|
52
|
+
expect((0, validate_manifest_js_1.validateManifest)(bad).valid).toBe(false);
|
|
53
|
+
});
|
|
54
|
+
it('validates skills have name and path', () => {
|
|
55
|
+
const good = { ...validV2, skills: [{ name: 'test', path: 'skills/test/SKILL.md', description: 'desc' }] };
|
|
56
|
+
expect((0, validate_manifest_js_1.validateManifest)(good).valid).toBe(true);
|
|
57
|
+
const bad = { ...validV2, skills: [{ name: 'test' }] };
|
|
58
|
+
expect((0, validate_manifest_js_1.validateManifest)(bad).valid).toBe(false);
|
|
59
|
+
});
|
|
60
|
+
it('validates hooks have event and script', () => {
|
|
61
|
+
const good = { ...validV2, hooks: [{ event: 'SessionStart', script: 'hooks/test.cjs' }] };
|
|
62
|
+
expect((0, validate_manifest_js_1.validateManifest)(good).valid).toBe(true);
|
|
63
|
+
const bad = { ...validV2, hooks: [{ event: 'SessionStart' }] };
|
|
64
|
+
expect((0, validate_manifest_js_1.validateManifest)(bad).valid).toBe(false);
|
|
65
|
+
});
|
|
66
|
+
});
|
|
67
|
+
//# sourceMappingURL=manifest-v2.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest-v2.test.js","sourceRoot":"","sources":["../../tests/manifest-v2.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mcp-server.test.d.ts","sourceRoot":"","sources":["../../tests/mcp-server.test.ts"],"names":[],"mappings":""}
|