mindlore 0.6.6 → 0.6.8
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 +47 -42
- 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 +58 -48
- package/dist/scripts/cc-session-sync.js.map +1 -1
- package/dist/scripts/init.js +8 -8
- package/dist/scripts/init.js.map +1 -1
- package/dist/scripts/lib/all-migrations.d.ts.map +1 -1
- package/dist/scripts/lib/all-migrations.js +7 -1
- package/dist/scripts/lib/all-migrations.js.map +1 -1
- package/dist/scripts/lib/consolidation.d.ts +4 -3
- package/dist/scripts/lib/consolidation.d.ts.map +1 -1
- package/dist/scripts/lib/consolidation.js +10 -10
- package/dist/scripts/lib/consolidation.js.map +1 -1
- package/dist/scripts/lib/constants.d.ts +1 -7
- package/dist/scripts/lib/constants.d.ts.map +1 -1
- package/dist/scripts/lib/constants.js +2 -9
- package/dist/scripts/lib/constants.js.map +1 -1
- package/dist/scripts/lib/db-helpers.d.ts +0 -15
- package/dist/scripts/lib/db-helpers.d.ts.map +1 -1
- package/dist/scripts/lib/db-helpers.js +1 -51
- package/dist/scripts/lib/db-helpers.js.map +1 -1
- package/dist/scripts/lib/decay.d.ts.map +1 -1
- package/dist/scripts/lib/decay.js +9 -9
- package/dist/scripts/lib/decay.js.map +1 -1
- package/dist/scripts/lib/episodes.js +23 -23
- 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.d.ts +7 -0
- package/dist/scripts/lib/migrations-v067.d.ts.map +1 -0
- package/dist/scripts/lib/migrations-v067.js +50 -0
- package/dist/scripts/lib/migrations-v067.js.map +1 -0
- package/dist/scripts/lib/migrations-v068.d.ts +3 -0
- package/dist/scripts/lib/migrations-v068.d.ts.map +1 -0
- package/dist/scripts/lib/migrations-v068.js +37 -0
- package/dist/scripts/lib/migrations-v068.js.map +1 -0
- package/dist/scripts/lib/migrations.d.ts.map +1 -1
- package/dist/scripts/lib/migrations.js +0 -15
- package/dist/scripts/lib/migrations.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/session-payload.d.ts +9 -1
- package/dist/scripts/lib/session-payload.d.ts.map +1 -1
- package/dist/scripts/lib/session-payload.js +11 -10
- package/dist/scripts/lib/session-payload.js.map +1 -1
- package/dist/scripts/lib/triage.js +3 -3
- package/dist/scripts/mindlore-backup.js +9 -9
- package/dist/scripts/mindlore-fts5-index.d.ts +1 -2
- package/dist/scripts/mindlore-fts5-index.d.ts.map +1 -1
- package/dist/scripts/mindlore-fts5-index.js +12 -64
- 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 +0 -11
- package/dist/scripts/mindlore-health-check.js.map +1 -1
- package/dist/tests/cc-memory-bulk-sync.test.js +23 -0
- package/dist/tests/cc-memory-bulk-sync.test.js.map +1 -1
- package/dist/tests/cc-session-sync.test.js +25 -0
- package/dist/tests/cc-session-sync.test.js.map +1 -1
- package/dist/tests/compaction-snapshot.test.js +2 -2
- package/dist/tests/consolidation.test.js +5 -5
- package/dist/tests/consolidation.test.js.map +1 -1
- package/dist/tests/decay.test.js +9 -9
- package/dist/tests/diary.test.js +4 -4
- package/dist/tests/episode-kind-constant.test.d.ts +2 -0
- package/dist/tests/episode-kind-constant.test.d.ts.map +1 -0
- package/dist/tests/episode-kind-constant.test.js +28 -0
- package/dist/tests/episode-kind-constant.test.js.map +1 -0
- package/dist/tests/episodes-inject.test.js +14 -14
- package/dist/tests/episodes-inject.test.js.map +1 -1
- package/dist/tests/fts5.test.js +66 -125
- package/dist/tests/fts5.test.js.map +1 -1
- package/dist/tests/globalSetup.d.ts +2 -0
- package/dist/tests/globalSetup.d.ts.map +1 -0
- package/dist/tests/globalSetup.js +36 -0
- package/dist/tests/globalSetup.js.map +1 -0
- package/dist/tests/helpers/db.d.ts +13 -5
- package/dist/tests/helpers/db.d.ts.map +1 -1
- package/dist/tests/helpers/db.js +61 -33
- package/dist/tests/helpers/db.js.map +1 -1
- package/dist/tests/lesson-graduation.test.d.ts +2 -0
- package/dist/tests/lesson-graduation.test.d.ts.map +1 -0
- package/dist/tests/lesson-graduation.test.js +83 -0
- package/dist/tests/lesson-graduation.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 +2 -2
- package/dist/tests/migrations-v067.test.d.ts +2 -0
- package/dist/tests/migrations-v067.test.d.ts.map +1 -0
- package/dist/tests/migrations-v067.test.js +115 -0
- package/dist/tests/migrations-v067.test.js.map +1 -0
- package/dist/tests/migrations-v068.test.d.ts +2 -0
- package/dist/tests/migrations-v068.test.d.ts.map +1 -0
- package/dist/tests/migrations-v068.test.js +53 -0
- package/dist/tests/migrations-v068.test.js.map +1 -0
- package/dist/tests/nomination-counts.test.d.ts +2 -0
- package/dist/tests/nomination-counts.test.d.ts.map +1 -0
- package/dist/tests/nomination-counts.test.js +51 -0
- package/dist/tests/nomination-counts.test.js.map +1 -0
- package/dist/tests/recall-telemetry.test.js +8 -8
- package/dist/tests/schema-version.test.js +3 -7
- package/dist/tests/schema-version.test.js.map +1 -1
- package/dist/tests/search-hook.test.js +2 -2
- package/dist/tests/sec-regression.test.js +0 -50
- package/dist/tests/sec-regression.test.js.map +1 -1
- package/dist/tests/session-end-cleanup.test.d.ts +2 -0
- package/dist/tests/session-end-cleanup.test.d.ts.map +1 -0
- package/dist/tests/session-end-cleanup.test.js +59 -0
- package/dist/tests/session-end-cleanup.test.js.map +1 -0
- package/dist/tests/session-focus.test.js +69 -10
- package/dist/tests/session-focus.test.js.map +1 -1
- package/dist/tests/session-payload.test.js +11 -11
- package/dist/tests/session-payload.test.js.map +1 -1
- package/dist/tests/session-summary.test.js +2 -2
- package/dist/tests/session-summary.test.js.map +1 -1
- package/hooks/lib/constants.cjs +15 -0
- package/hooks/lib/mindlore-common.cjs +974 -1004
- 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 +97 -88
- package/hooks/mindlore-index.cjs +229 -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 +509 -523
- package/hooks/mindlore-session-focus.cjs +256 -245
- package/package.json +75 -78
- package/plugin.json +1 -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 -131
- 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/scripts/lib/daemon.d.ts +0 -16
- package/dist/scripts/lib/daemon.d.ts.map +0 -1
- package/dist/scripts/lib/daemon.js +0 -133
- package/dist/scripts/lib/daemon.js.map +0 -1
- package/dist/scripts/lib/embedding.d.ts +0 -5
- package/dist/scripts/lib/embedding.d.ts.map +0 -1
- package/dist/scripts/lib/embedding.js +0 -44
- package/dist/scripts/lib/embedding.js.map +0 -1
- package/dist/scripts/mindlore-daemon.d.ts +0 -2
- package/dist/scripts/mindlore-daemon.d.ts.map +0 -1
- package/dist/scripts/mindlore-daemon.js +0 -117
- package/dist/scripts/mindlore-daemon.js.map +0 -1
- package/dist/tests/daemon-integration.test.d.ts +0 -2
- package/dist/tests/daemon-integration.test.d.ts.map +0 -1
- package/dist/tests/daemon-integration.test.js +0 -37
- package/dist/tests/daemon-integration.test.js.map +0 -1
- package/dist/tests/daemon.test.d.ts +0 -2
- package/dist/tests/daemon.test.d.ts.map +0 -1
- package/dist/tests/daemon.test.js +0 -187
- package/dist/tests/daemon.test.js.map +0 -1
- package/dist/tests/embedding-hf-integration.test.d.ts +0 -2
- package/dist/tests/embedding-hf-integration.test.d.ts.map +0 -1
- package/dist/tests/embedding-hf-integration.test.js +0 -52
- package/dist/tests/embedding-hf-integration.test.js.map +0 -1
- package/dist/tests/embedding.test.d.ts +0 -6
- package/dist/tests/embedding.test.d.ts.map +0 -1
- package/dist/tests/embedding.test.js +0 -71
- package/dist/tests/embedding.test.js.map +0 -1
- package/dist/tests/sqlite-vec-v12.test.d.ts +0 -2
- package/dist/tests/sqlite-vec-v12.test.d.ts.map +0 -1
- package/dist/tests/sqlite-vec-v12.test.js +0 -72
- package/dist/tests/sqlite-vec-v12.test.js.map +0 -1
|
@@ -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,QAAqE,CAAC;AACtG,eAAO,MAAM,OAAO,gBAAgB,CAAC;AAErC,eAAO,MAAM,WAAW,oIAYd,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,cAAc,
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../scripts/lib/constants.ts"],"names":[],"mappings":"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"}
|
|
@@ -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.CONSOLIDATION_THRESHOLD = exports.STALE_THRESHOLD = exports.DECAY_HALF_LIFE_DAYS = exports.
|
|
6
|
+
exports.CONSOLIDATION_THRESHOLD = exports.STALE_THRESHOLD = exports.DECAY_HALF_LIFE_DAYS = exports.DEFAULT_TOKEN_BUDGET = exports.CC_MEMORY_BOOST = exports.CC_SUBAGENT_CATEGORY = exports.CC_SESSION_CATEGORY = exports.CC_MEMORY_CATEGORY = exports.CC_MEMORY_DIR = exports.CC_MEMORY_PATH_MARKER = exports.TYPE_TO_DIR = exports.QUALITY_HEURISTICS = exports.QUALITY_VALUES = exports.FRONTMATTER_TYPES = exports.FTS5_COLUMNS = exports.STOP_WORDS = exports.TURKISH_WORD_RE = exports.STOP_WORDS_MIN_LENGTH = exports.SESSION_CATEGORIES = exports.CATEGORIES = exports.SCHEMA_VERSION = exports.DEFAULT_MODELS = exports.CONFIG_FILE = exports.DB_BUSY_TIMEOUT_MS = exports.SKIP_FILES = exports.DIRECTORIES = exports.DB_NAME = exports.GLOBAL_MINDLORE_DIR = exports.MINDLORE_DIR = void 0;
|
|
7
7
|
exports.isSessionCategory = isSessionCategory;
|
|
8
8
|
exports.fixVersionTokens = fixVersionTokens;
|
|
9
9
|
exports.homedir = homedir;
|
|
@@ -35,6 +35,7 @@ exports.DIRECTORIES = [
|
|
|
35
35
|
'memory',
|
|
36
36
|
];
|
|
37
37
|
exports.SKIP_FILES = new Set(['INDEX.md', 'SCHEMA.md', 'log.md']);
|
|
38
|
+
exports.DB_BUSY_TIMEOUT_MS = 2000;
|
|
38
39
|
exports.CONFIG_FILE = 'config.json';
|
|
39
40
|
exports.DEFAULT_MODELS = {
|
|
40
41
|
ingest: 'haiku',
|
|
@@ -42,10 +43,7 @@ exports.DEFAULT_MODELS = {
|
|
|
42
43
|
explore: 'sonnet',
|
|
43
44
|
default: 'haiku',
|
|
44
45
|
};
|
|
45
|
-
exports.VEC_TABLE_NAME = 'documents_vec';
|
|
46
46
|
exports.SCHEMA_VERSION = 1;
|
|
47
|
-
exports.EMBEDDING_MODEL_NAME = 'Xenova/multilingual-e5-small';
|
|
48
|
-
exports.EMBEDDING_DIM_CONST = 384;
|
|
49
47
|
exports.CATEGORIES = ['sources', 'analyses', 'domains', 'episodes', 'decisions', 'raw', 'sessions', 'cc_memory', 'cc-session', 'cc-subagent', 'diary', 'insights', 'connections', 'learnings', 'memory'];
|
|
50
48
|
exports.SESSION_CATEGORIES = ['cc-subagent', 'cc-session'];
|
|
51
49
|
function isSessionCategory(category) {
|
|
@@ -227,11 +225,6 @@ exports.DEFAULT_TOKEN_BUDGET = {
|
|
|
227
225
|
searchResults: 1500,
|
|
228
226
|
perResult: 500,
|
|
229
227
|
};
|
|
230
|
-
// v0.5.5: Embedding daemon — TCP localhost, port written to file
|
|
231
|
-
exports.DAEMON_HOST = '127.0.0.1';
|
|
232
|
-
exports.DAEMON_PORT_FILE = path_1.default.join(exports.GLOBAL_MINDLORE_DIR, 'mindlore-daemon.port');
|
|
233
|
-
exports.DAEMON_PID_FILE = path_1.default.join(exports.GLOBAL_MINDLORE_DIR, 'mindlore-daemon.pid');
|
|
234
|
-
exports.DAEMON_TIMEOUT_MS = 300;
|
|
235
228
|
exports.DECAY_HALF_LIFE_DAYS = 30;
|
|
236
229
|
exports.STALE_THRESHOLD = 0.3;
|
|
237
230
|
exports.CONSOLIDATION_THRESHOLD = 50;
|
|
@@ -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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"}
|
|
@@ -18,21 +18,6 @@ export declare function dbAll<T extends object>(db: Database, sql: string, ...pa
|
|
|
18
18
|
* Typed wrapper for Database.pragma().
|
|
19
19
|
*/
|
|
20
20
|
export declare function dbPragma<T>(db: Database, pragma: string): T[];
|
|
21
|
-
/**
|
|
22
|
-
* Load sqlite-vec extension into the database.
|
|
23
|
-
* Returns true if loaded, false if sqlite-vec is not available.
|
|
24
|
-
*/
|
|
25
|
-
export declare function loadSqliteVec(db: Database): boolean;
|
|
26
|
-
/**
|
|
27
|
-
* Create documents_vec virtual table if it doesn't exist.
|
|
28
|
-
* Requires sqlite-vec to be loaded first.
|
|
29
|
-
* Silently does nothing if vec0 is not available.
|
|
30
|
-
*/
|
|
31
|
-
export declare function ensureVecTable(db: Database): boolean;
|
|
32
|
-
/**
|
|
33
|
-
* Check if documents_vec table exists and is functional.
|
|
34
|
-
*/
|
|
35
|
-
export declare function hasVecTable(db: Database): boolean;
|
|
36
21
|
/**
|
|
37
22
|
* Open a readonly DB, run fn, close DB. Returns undefined on error.
|
|
38
23
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-helpers.d.ts","sourceRoot":"","sources":["../../../scripts/lib/db-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAChD,KAAK,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;AAMvC;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,MAAM,EAAE,OAAO,EAAE,GACnB,CAAC,GAAG,SAAS,CAQf;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,MAAM,EAAE,OAAO,EAAE,GACnB,CAAC,EAAE,CAIL;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAI7D;
|
|
1
|
+
{"version":3,"file":"db-helpers.d.ts","sourceRoot":"","sources":["../../../scripts/lib/db-helpers.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAChD,KAAK,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;AAMvC;;;GAGG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,MAAM,EAAE,OAAO,EAAE,GACnB,CAAC,GAAG,SAAS,CAQf;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,MAAM,EACpC,EAAE,EAAE,QAAQ,EACZ,GAAG,EAAE,MAAM,EACX,GAAG,MAAM,EAAE,OAAO,EAAE,GACnB,CAAC,EAAE,CAIL;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAI7D;AAGD;;GAEG;AACH,wBAAgB,cAAc,CAAC,CAAC,EAC9B,MAAM,EAAE,MAAM,EACd,EAAE,EAAE,CAAC,EAAE,EAAE,QAAQ,KAAK,CAAC,GACtB,CAAC,GAAG,SAAS,CAUf;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,MAAM,EAAE,MAAM,EACd,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,QAAQ,GAAG,IAAI,CAajB"}
|
|
@@ -6,9 +6,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.dbGet = dbGet;
|
|
7
7
|
exports.dbAll = dbAll;
|
|
8
8
|
exports.dbPragma = dbPragma;
|
|
9
|
-
exports.loadSqliteVec = loadSqliteVec;
|
|
10
|
-
exports.ensureVecTable = ensureVecTable;
|
|
11
|
-
exports.hasVecTable = hasVecTable;
|
|
12
9
|
exports.withReadonlyDb = withReadonlyDb;
|
|
13
10
|
exports.openDatabaseTs = openDatabaseTs;
|
|
14
11
|
const better_sqlite3_1 = __importDefault(require("better-sqlite3"));
|
|
@@ -44,53 +41,6 @@ function dbPragma(db, pragma) {
|
|
|
44
41
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- centralized cast: pragma returns array of objects
|
|
45
42
|
return result;
|
|
46
43
|
}
|
|
47
|
-
/**
|
|
48
|
-
* Load sqlite-vec extension into the database.
|
|
49
|
-
* Returns true if loaded, false if sqlite-vec is not available.
|
|
50
|
-
*/
|
|
51
|
-
function loadSqliteVec(db) {
|
|
52
|
-
try {
|
|
53
|
-
const sqliteVec = require('sqlite-vec');
|
|
54
|
-
sqliteVec.load(db);
|
|
55
|
-
return true;
|
|
56
|
-
}
|
|
57
|
-
catch (_err) {
|
|
58
|
-
return false;
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Create documents_vec virtual table if it doesn't exist.
|
|
63
|
-
* Requires sqlite-vec to be loaded first.
|
|
64
|
-
* Silently does nothing if vec0 is not available.
|
|
65
|
-
*/
|
|
66
|
-
function ensureVecTable(db) {
|
|
67
|
-
try {
|
|
68
|
-
db.exec(`
|
|
69
|
-
CREATE VIRTUAL TABLE IF NOT EXISTS ${constants_js_1.VEC_TABLE_NAME} USING vec0(
|
|
70
|
-
embedding float[${constants_js_1.EMBEDDING_DIM_CONST}],
|
|
71
|
-
slug text,
|
|
72
|
-
+created_at text,
|
|
73
|
-
+model_name text
|
|
74
|
-
)
|
|
75
|
-
`);
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
catch (_err) {
|
|
79
|
-
return false;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Check if documents_vec table exists and is functional.
|
|
84
|
-
*/
|
|
85
|
-
function hasVecTable(db) {
|
|
86
|
-
try {
|
|
87
|
-
db.prepare(`SELECT slug FROM ${constants_js_1.VEC_TABLE_NAME} LIMIT 0`).run();
|
|
88
|
-
return true;
|
|
89
|
-
}
|
|
90
|
-
catch (_err) {
|
|
91
|
-
return false;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
44
|
/**
|
|
95
45
|
* Open a readonly DB, run fn, close DB. Returns undefined on error.
|
|
96
46
|
*/
|
|
@@ -118,7 +68,7 @@ function openDatabaseTs(dbPath, options) {
|
|
|
118
68
|
const db = new better_sqlite3_1.default(dbPath, { readonly });
|
|
119
69
|
if (!readonly) {
|
|
120
70
|
db.pragma('journal_mode = WAL');
|
|
121
|
-
db.pragma(
|
|
71
|
+
db.pragma(`busy_timeout = ${constants_js_1.DB_BUSY_TIMEOUT_MS}`);
|
|
122
72
|
}
|
|
123
73
|
return db;
|
|
124
74
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"db-helpers.js","sourceRoot":"","sources":["../../../scripts/lib/db-helpers.ts"],"names":[],"mappings":";;;;;AAgBA,sBAYC;AAKD,sBAQC;AAKD,4BAIC;AAMD,
|
|
1
|
+
{"version":3,"file":"db-helpers.js","sourceRoot":"","sources":["../../../scripts/lib/db-helpers.ts"],"names":[],"mappings":";;;;;AAgBA,sBAYC;AAKD,sBAQC;AAKD,4BAIC;AAMD,wCAaC;AAKD,wCAgBC;AAlFD,oEAA2C;AAC3C,4CAAoB;AACpB,iDAAoD;AAEpD;;;GAGG;AACH,SAAgB,KAAK,CACnB,EAAY,EACZ,GAAW,EACX,GAAG,MAAiB;IAEpB,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC9C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CAAC,mCAAmC,OAAO,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IACD,qHAAqH;IACrH,OAAO,MAAW,CAAC;AACrB,CAAC;AAED;;GAEG;AACH,SAAgB,KAAK,CACnB,EAAY,EACZ,GAAW,EACX,GAAG,MAAiB;IAEpB,MAAM,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;IAC/C,mIAAmI;IACnI,OAAO,OAAc,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,SAAgB,QAAQ,CAAI,EAAY,EAAE,MAAc;IACtD,MAAM,MAAM,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IACjC,4HAA4H;IAC5H,OAAO,MAAa,CAAC;AACvB,CAAC;AAGD;;GAEG;AACH,SAAgB,cAAc,CAC5B,MAAc,EACd,EAAuB;IAEvB,IAAI,EAAE,GAAoB,IAAI,CAAC;IAC/B,IAAI,CAAC;QACH,EAAE,GAAG,IAAI,wBAAa,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAChB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;YAAS,CAAC;QACT,EAAE,EAAE,KAAK,EAAE,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,SAAgB,cAAc,CAC5B,MAAc,EACd,OAAgC;IAEhC,IAAI,CAAC;QACH,IAAI,CAAC,YAAE,CAAC,UAAU,CAAC,MAAM,CAAC;YAAE,OAAO,IAAI,CAAC;QACxC,MAAM,QAAQ,GAAG,OAAO,EAAE,QAAQ,IAAI,KAAK,CAAC;QAC5C,MAAM,EAAE,GAAG,IAAI,wBAAa,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;YAChC,EAAE,CAAC,MAAM,CAAC,kBAAkB,iCAAkB,EAAE,CAAC,CAAC;QACpD,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decay.d.ts","sourceRoot":"","sources":["../../../scripts/lib/decay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"decay.d.ts","sourceRoot":"","sources":["../../../scripts/lib/decay.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAOhD,KAAK,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;AAEvC,MAAM,WAAW,WAAW;IAC1B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,UAAU,UAAU;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAgBnF;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIpE;AAED,wBAAgB,eAAe,CAAC,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,GAAG,IAAI,CAIpE;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,aAAa,EAAE,CAkC1G;AAED,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,QAAQ,GAAG,MAAM,CA0BvD"}
|
|
@@ -31,15 +31,15 @@ function restoreDocument(db, filePath) {
|
|
|
31
31
|
}
|
|
32
32
|
function listStaleDocuments(db, threshold, config) {
|
|
33
33
|
const effectiveThreshold = threshold ?? config?.staleThreshold ?? constants_js_1.STALE_THRESHOLD;
|
|
34
|
-
const rows = (0, db_helpers_js_1.dbAll)(db, `
|
|
35
|
-
SELECT path, recall_count, last_recalled_at, last_indexed,
|
|
36
|
-
COALESCE(importance, 1.0) as importance
|
|
37
|
-
FROM file_hashes
|
|
38
|
-
WHERE archived_at IS NULL
|
|
39
|
-
AND path NOT LIKE '%MEMORY.md'
|
|
40
|
-
AND path NOT LIKE '%INDEX.md'
|
|
41
|
-
ORDER BY last_indexed ASC
|
|
42
|
-
LIMIT ${STALE_QUERY_LIMIT}
|
|
34
|
+
const rows = (0, db_helpers_js_1.dbAll)(db, `
|
|
35
|
+
SELECT path, recall_count, last_recalled_at, last_indexed,
|
|
36
|
+
COALESCE(importance, 1.0) as importance
|
|
37
|
+
FROM file_hashes
|
|
38
|
+
WHERE archived_at IS NULL
|
|
39
|
+
AND path NOT LIKE '%MEMORY.md'
|
|
40
|
+
AND path NOT LIKE '%INDEX.md'
|
|
41
|
+
ORDER BY last_indexed ASC
|
|
42
|
+
LIMIT ${STALE_QUERY_LIMIT}
|
|
43
43
|
`);
|
|
44
44
|
const stale = [];
|
|
45
45
|
for (const row of rows) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"decay.js","sourceRoot":"","sources":["../../../scripts/lib/decay.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"decay.js","sourceRoot":"","sources":["../../../scripts/lib/decay.ts"],"names":[],"mappings":"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"}
|
|
@@ -30,26 +30,26 @@ exports.EPISODE_SOURCES = ['hook', 'diary', 'reflect', 'decide', 'manual'];
|
|
|
30
30
|
// ── SQL ──────────────────────────────────────────────────────────────
|
|
31
31
|
// CO-EVOLUTION: Schema mirrors SQL_EPISODES_CREATE + SQL_EPISODES_INDEXES in hooks/lib/mindlore-common.cjs
|
|
32
32
|
// CJS hooks cannot import TS modules; keep both in sync on schema changes.
|
|
33
|
-
exports.SQL_EPISODES_CREATE = `
|
|
34
|
-
CREATE TABLE IF NOT EXISTS episodes (
|
|
35
|
-
id TEXT PRIMARY KEY,
|
|
36
|
-
kind TEXT NOT NULL,
|
|
37
|
-
scope TEXT NOT NULL DEFAULT 'project',
|
|
38
|
-
project TEXT,
|
|
39
|
-
summary TEXT NOT NULL,
|
|
40
|
-
body TEXT,
|
|
41
|
-
tags TEXT,
|
|
42
|
-
entities TEXT,
|
|
43
|
-
parent_id TEXT,
|
|
44
|
-
status TEXT NOT NULL DEFAULT 'active',
|
|
45
|
-
supersedes TEXT,
|
|
46
|
-
source TEXT,
|
|
47
|
-
created_at TEXT NOT NULL
|
|
48
|
-
);
|
|
49
|
-
|
|
50
|
-
CREATE INDEX IF NOT EXISTS idx_episodes_kind ON episodes(kind, status);
|
|
51
|
-
CREATE INDEX IF NOT EXISTS idx_episodes_project ON episodes(project, status);
|
|
52
|
-
CREATE INDEX IF NOT EXISTS idx_episodes_created ON episodes(created_at DESC);
|
|
33
|
+
exports.SQL_EPISODES_CREATE = `
|
|
34
|
+
CREATE TABLE IF NOT EXISTS episodes (
|
|
35
|
+
id TEXT PRIMARY KEY,
|
|
36
|
+
kind TEXT NOT NULL,
|
|
37
|
+
scope TEXT NOT NULL DEFAULT 'project',
|
|
38
|
+
project TEXT,
|
|
39
|
+
summary TEXT NOT NULL,
|
|
40
|
+
body TEXT,
|
|
41
|
+
tags TEXT,
|
|
42
|
+
entities TEXT,
|
|
43
|
+
parent_id TEXT,
|
|
44
|
+
status TEXT NOT NULL DEFAULT 'active',
|
|
45
|
+
supersedes TEXT,
|
|
46
|
+
source TEXT,
|
|
47
|
+
created_at TEXT NOT NULL
|
|
48
|
+
);
|
|
49
|
+
|
|
50
|
+
CREATE INDEX IF NOT EXISTS idx_episodes_kind ON episodes(kind, status);
|
|
51
|
+
CREATE INDEX IF NOT EXISTS idx_episodes_project ON episodes(project, status);
|
|
52
|
+
CREATE INDEX IF NOT EXISTS idx_episodes_created ON episodes(created_at DESC);
|
|
53
53
|
`;
|
|
54
54
|
// ── Helpers ──────────────────────────────────────────────────────────
|
|
55
55
|
// CO-EVOLUTION: generateId mirrors generateEpisodeId in hooks/lib/mindlore-common.cjs
|
|
@@ -64,9 +64,9 @@ function createEpisode(db, input) {
|
|
|
64
64
|
const id = generateId();
|
|
65
65
|
const now = new Date().toISOString();
|
|
66
66
|
const entities = input.entities ? JSON.stringify(input.entities) : null;
|
|
67
|
-
db.prepare(`
|
|
68
|
-
INSERT INTO episodes (id, kind, scope, project, summary, body, tags, entities, parent_id, status, supersedes, source, created_at)
|
|
69
|
-
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 'active', ?, ?, ?)
|
|
67
|
+
db.prepare(`
|
|
68
|
+
INSERT INTO episodes (id, kind, scope, project, summary, body, tags, entities, parent_id, status, supersedes, source, created_at)
|
|
69
|
+
VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, 'active', ?, ?, ?)
|
|
70
70
|
`).run(id, input.kind, input.scope ?? 'project', input.project ?? null, input.summary, input.body ?? null, input.tags ?? null, entities, input.parent_id ?? null, input.supersedes ?? null, input.source ?? 'manual', now);
|
|
71
71
|
// If superseding, mark old episode
|
|
72
72
|
if (input.supersedes) {
|
|
@@ -6,17 +6,17 @@ exports.V061_MIGRATIONS = [
|
|
|
6
6
|
version: 6,
|
|
7
7
|
name: 'cleanup_project_category',
|
|
8
8
|
up: (db) => {
|
|
9
|
-
db.exec(`
|
|
10
|
-
UPDATE mindlore_fts SET project = 'unknown'
|
|
11
|
-
WHERE project LIKE '.mindlore%' OR project LIKE 'C--%'
|
|
9
|
+
db.exec(`
|
|
10
|
+
UPDATE mindlore_fts SET project = 'unknown'
|
|
11
|
+
WHERE project LIKE '.mindlore%' OR project LIKE 'C--%'
|
|
12
12
|
`);
|
|
13
|
-
db.exec(`
|
|
14
|
-
UPDATE mindlore_fts SET category = 'cc-subagent'
|
|
15
|
-
WHERE category IN ('subagent', 'cc_subagent')
|
|
13
|
+
db.exec(`
|
|
14
|
+
UPDATE mindlore_fts SET category = 'cc-subagent'
|
|
15
|
+
WHERE category IN ('subagent', 'cc_subagent')
|
|
16
16
|
`);
|
|
17
|
-
db.exec(`
|
|
18
|
-
UPDATE mindlore_fts SET category = 'cc-session'
|
|
19
|
-
WHERE category IN ('session', 'cc_session')
|
|
17
|
+
db.exec(`
|
|
18
|
+
UPDATE mindlore_fts SET category = 'cc-session'
|
|
19
|
+
WHERE category IN ('session', 'cc_session')
|
|
20
20
|
`);
|
|
21
21
|
},
|
|
22
22
|
},
|
|
@@ -24,22 +24,22 @@ exports.V061_MIGRATIONS = [
|
|
|
24
24
|
version: 7,
|
|
25
25
|
name: 'split_fts_sessions',
|
|
26
26
|
up: (db) => {
|
|
27
|
-
db.exec(`
|
|
28
|
-
CREATE VIRTUAL TABLE IF NOT EXISTS mindlore_fts_sessions USING fts5(
|
|
29
|
-
path, slug, description, type, category, title, content, tags,
|
|
30
|
-
quality, date_captured, project
|
|
31
|
-
)
|
|
27
|
+
db.exec(`
|
|
28
|
+
CREATE VIRTUAL TABLE IF NOT EXISTS mindlore_fts_sessions USING fts5(
|
|
29
|
+
path, slug, description, type, category, title, content, tags,
|
|
30
|
+
quality, date_captured, project
|
|
31
|
+
)
|
|
32
32
|
`);
|
|
33
33
|
db.exec('BEGIN');
|
|
34
34
|
try {
|
|
35
|
-
db.exec(`
|
|
36
|
-
INSERT INTO mindlore_fts_sessions (path, slug, description, type, category, title, content, tags, quality, date_captured, project)
|
|
37
|
-
SELECT path, slug, description, type, category, title, content, tags, quality, date_captured, project
|
|
38
|
-
FROM mindlore_fts
|
|
39
|
-
WHERE category IN ('cc-subagent', 'cc-session')
|
|
35
|
+
db.exec(`
|
|
36
|
+
INSERT INTO mindlore_fts_sessions (path, slug, description, type, category, title, content, tags, quality, date_captured, project)
|
|
37
|
+
SELECT path, slug, description, type, category, title, content, tags, quality, date_captured, project
|
|
38
|
+
FROM mindlore_fts
|
|
39
|
+
WHERE category IN ('cc-subagent', 'cc-session')
|
|
40
40
|
`);
|
|
41
|
-
db.exec(`
|
|
42
|
-
DELETE FROM mindlore_fts WHERE category IN ('cc-subagent', 'cc-session')
|
|
41
|
+
db.exec(`
|
|
42
|
+
DELETE FROM mindlore_fts WHERE category IN ('cc-subagent', 'cc-session')
|
|
43
43
|
`);
|
|
44
44
|
db.exec('COMMIT');
|
|
45
45
|
}
|
|
@@ -6,17 +6,17 @@ exports.V062_MIGRATIONS = [
|
|
|
6
6
|
version: 8,
|
|
7
7
|
name: 'raw_metadata_table',
|
|
8
8
|
up: (db) => {
|
|
9
|
-
db.exec(`
|
|
10
|
-
CREATE TABLE IF NOT EXISTS raw_metadata (
|
|
11
|
-
path TEXT PRIMARY KEY,
|
|
12
|
-
title TEXT,
|
|
13
|
-
url TEXT,
|
|
14
|
-
date_captured TEXT,
|
|
15
|
-
headings TEXT,
|
|
16
|
-
file_size INTEGER,
|
|
17
|
-
line_count INTEGER,
|
|
18
|
-
extracted_at TEXT NOT NULL
|
|
19
|
-
)
|
|
9
|
+
db.exec(`
|
|
10
|
+
CREATE TABLE IF NOT EXISTS raw_metadata (
|
|
11
|
+
path TEXT PRIMARY KEY,
|
|
12
|
+
title TEXT,
|
|
13
|
+
url TEXT,
|
|
14
|
+
date_captured TEXT,
|
|
15
|
+
headings TEXT,
|
|
16
|
+
file_size INTEGER,
|
|
17
|
+
line_count INTEGER,
|
|
18
|
+
extracted_at TEXT NOT NULL
|
|
19
|
+
)
|
|
20
20
|
`);
|
|
21
21
|
},
|
|
22
22
|
},
|
|
@@ -14,10 +14,10 @@ exports.V063_MIGRATIONS = [
|
|
|
14
14
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- better-sqlite3 .get() returns unknown
|
|
15
15
|
const porterCount = db.prepare('SELECT COUNT(*) as c FROM mindlore_fts').get().c;
|
|
16
16
|
if (porterCount > 0) {
|
|
17
|
-
db.exec(`
|
|
18
|
-
INSERT INTO mindlore_fts_trigram(path, slug, description, type, category, title, content, tags, quality, date_captured, project)
|
|
19
|
-
SELECT path, slug, description, type, category, title, content, tags, quality, date_captured, project
|
|
20
|
-
FROM mindlore_fts
|
|
17
|
+
db.exec(`
|
|
18
|
+
INSERT INTO mindlore_fts_trigram(path, slug, description, type, category, title, content, tags, quality, date_captured, project)
|
|
19
|
+
SELECT path, slug, description, type, category, title, content, tags, quality, date_captured, project
|
|
20
|
+
FROM mindlore_fts
|
|
21
21
|
`);
|
|
22
22
|
}
|
|
23
23
|
},
|
|
@@ -33,16 +33,16 @@ exports.V063_MIGRATIONS = [
|
|
|
33
33
|
version: 12,
|
|
34
34
|
name: 'chunks_table',
|
|
35
35
|
up: (db) => {
|
|
36
|
-
db.exec(`
|
|
37
|
-
CREATE TABLE IF NOT EXISTS chunks (
|
|
38
|
-
id INTEGER PRIMARY KEY,
|
|
39
|
-
source_path TEXT NOT NULL,
|
|
40
|
-
chunk_index INTEGER NOT NULL,
|
|
41
|
-
heading TEXT,
|
|
42
|
-
breadcrumb TEXT,
|
|
43
|
-
char_count INTEGER,
|
|
44
|
-
UNIQUE(source_path, chunk_index)
|
|
45
|
-
)
|
|
36
|
+
db.exec(`
|
|
37
|
+
CREATE TABLE IF NOT EXISTS chunks (
|
|
38
|
+
id INTEGER PRIMARY KEY,
|
|
39
|
+
source_path TEXT NOT NULL,
|
|
40
|
+
chunk_index INTEGER NOT NULL,
|
|
41
|
+
heading TEXT,
|
|
42
|
+
breadcrumb TEXT,
|
|
43
|
+
char_count INTEGER,
|
|
44
|
+
UNIQUE(source_path, chunk_index)
|
|
45
|
+
)
|
|
46
46
|
`);
|
|
47
47
|
},
|
|
48
48
|
},
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Migration } from './schema-version.js';
|
|
2
|
+
import type BetterSqlite3 from 'better-sqlite3';
|
|
3
|
+
type Database = BetterSqlite3.Database;
|
|
4
|
+
export declare function cleanupExpiredInjectLog(db: Database, ttlMs?: number): number;
|
|
5
|
+
export declare const V067_MIGRATIONS: Migration[];
|
|
6
|
+
export {};
|
|
7
|
+
//# sourceMappingURL=migrations-v067.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations-v067.d.ts","sourceRoot":"","sources":["../../../scripts/lib/migrations-v067.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,KAAK,aAAa,MAAM,gBAAgB,CAAC;AAChD,KAAK,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC;AAIvC,wBAAgB,uBAAuB,CAAC,EAAE,EAAE,QAAQ,EAAE,KAAK,GAAE,MAAuB,GAAG,MAAM,CAI5F;AAED,eAAO,MAAM,eAAe,EAAE,SAAS,EAsCtC,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.V067_MIGRATIONS = void 0;
|
|
4
|
+
exports.cleanupExpiredInjectLog = cleanupExpiredInjectLog;
|
|
5
|
+
const THIRTY_DAYS_MS = 30 * 24 * 60 * 60 * 1000;
|
|
6
|
+
function cleanupExpiredInjectLog(db, ttlMs = THIRTY_DAYS_MS) {
|
|
7
|
+
const cutoff = new Date(Date.now() - ttlMs).toISOString();
|
|
8
|
+
const result = db.prepare('DELETE FROM episode_inject_log WHERE injected_at < ?').run(cutoff);
|
|
9
|
+
return result.changes;
|
|
10
|
+
}
|
|
11
|
+
exports.V067_MIGRATIONS = [
|
|
12
|
+
{
|
|
13
|
+
version: 15,
|
|
14
|
+
name: 'episodes_graduation_columns',
|
|
15
|
+
up: (db) => {
|
|
16
|
+
db.exec("ALTER TABLE episodes ADD COLUMN graduated_at TEXT");
|
|
17
|
+
db.exec("ALTER TABLE episodes ADD COLUMN rejected_at TEXT");
|
|
18
|
+
db.exec("ALTER TABLE episodes ADD COLUMN rejection_reason TEXT");
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
version: 16,
|
|
23
|
+
name: 'episode_inject_log_integer_fix',
|
|
24
|
+
up: (db) => {
|
|
25
|
+
db.exec(`
|
|
26
|
+
CREATE TABLE episode_inject_log_new (
|
|
27
|
+
session_id TEXT NOT NULL,
|
|
28
|
+
episode_id INTEGER NOT NULL,
|
|
29
|
+
injected_at TEXT NOT NULL,
|
|
30
|
+
PRIMARY KEY (session_id, episode_id)
|
|
31
|
+
)
|
|
32
|
+
`);
|
|
33
|
+
db.exec(`
|
|
34
|
+
INSERT INTO episode_inject_log_new (session_id, episode_id, injected_at)
|
|
35
|
+
SELECT session_id, CAST(episode_id AS INTEGER), injected_at
|
|
36
|
+
FROM episode_inject_log
|
|
37
|
+
`);
|
|
38
|
+
db.exec('DROP TABLE episode_inject_log');
|
|
39
|
+
db.exec('ALTER TABLE episode_inject_log_new RENAME TO episode_inject_log');
|
|
40
|
+
},
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
version: 17,
|
|
44
|
+
name: 'episode_inject_log_ttl',
|
|
45
|
+
up: (db) => {
|
|
46
|
+
cleanupExpiredInjectLog(db);
|
|
47
|
+
},
|
|
48
|
+
},
|
|
49
|
+
];
|
|
50
|
+
//# sourceMappingURL=migrations-v067.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations-v067.js","sourceRoot":"","sources":["../../../scripts/lib/migrations-v067.ts"],"names":[],"mappings":";;;AAMA,0DAIC;AAND,MAAM,cAAc,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;AAEhD,SAAgB,uBAAuB,CAAC,EAAY,EAAE,QAAgB,cAAc;IAClF,MAAM,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;IAC1D,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,sDAAsD,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9F,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC;AAEY,QAAA,eAAe,GAAgB;IAC1C;QACE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,6BAA6B;QACnC,EAAE,EAAE,CAAC,EAAY,EAAE,EAAE;YACnB,EAAE,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;YAC7D,EAAE,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;YAC5D,EAAE,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACnE,CAAC;KACF;IACD;QACE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,gCAAgC;QACtC,EAAE,EAAE,CAAC,EAAY,EAAE,EAAE;YACnB,EAAE,CAAC,IAAI,CAAC;;;;;;;OAOP,CAAC,CAAC;YACH,EAAE,CAAC,IAAI,CAAC;;;;OAIP,CAAC,CAAC;YACH,EAAE,CAAC,IAAI,CAAC,+BAA+B,CAAC,CAAC;YACzC,EAAE,CAAC,IAAI,CAAC,iEAAiE,CAAC,CAAC;QAC7E,CAAC;KACF;IACD;QACE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,wBAAwB;QAC9B,EAAE,EAAE,CAAC,EAAY,EAAE,EAAE;YACnB,uBAAuB,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations-v068.d.ts","sourceRoot":"","sources":["../../../scripts/lib/migrations-v068.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,eAAO,MAAM,eAAe,EAAE,SAAS,EA6BtC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.V068_MIGRATIONS = void 0;
|
|
4
|
+
exports.V068_MIGRATIONS = [
|
|
5
|
+
{
|
|
6
|
+
version: 18,
|
|
7
|
+
name: 'inject_log_injected_at_index',
|
|
8
|
+
up: (db) => {
|
|
9
|
+
db.exec('CREATE INDEX IF NOT EXISTS idx_inject_log_injected_at ON episode_inject_log(injected_at)');
|
|
10
|
+
},
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
version: 19,
|
|
14
|
+
name: 'drop_dead_vec_tables',
|
|
15
|
+
up: (db) => {
|
|
16
|
+
// Shadow tables must be dropped before the virtual table.
|
|
17
|
+
// If sqlite-vec extension is not loaded, virtual table DROP fails silently
|
|
18
|
+
// so we drop shadows first (regular tables), then attempt the virtual table.
|
|
19
|
+
const shadowTables = [
|
|
20
|
+
'documents_vec_info', 'documents_vec_chunks',
|
|
21
|
+
'documents_vec_rowids', 'documents_vec_vector_chunks00',
|
|
22
|
+
'documents_vec_metadatachunks00', 'documents_vec_metadatatext00',
|
|
23
|
+
'documents_vec_auxiliary',
|
|
24
|
+
];
|
|
25
|
+
for (const table of shadowTables) {
|
|
26
|
+
db.exec(`DROP TABLE IF EXISTS "${table}"`);
|
|
27
|
+
}
|
|
28
|
+
// Virtual table (vec0) can't be dropped without the extension loaded.
|
|
29
|
+
// Shadow tables hold all the data; orphan virtual table entry is harmless metadata.
|
|
30
|
+
try {
|
|
31
|
+
db.exec('DROP TABLE IF EXISTS documents_vec');
|
|
32
|
+
}
|
|
33
|
+
catch { /* vec0 module not available */ }
|
|
34
|
+
},
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
//# sourceMappingURL=migrations-v068.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"migrations-v068.js","sourceRoot":"","sources":["../../../scripts/lib/migrations-v068.ts"],"names":[],"mappings":";;;AAIa,QAAA,eAAe,GAAgB;IAC1C;QACE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,8BAA8B;QACpC,EAAE,EAAE,CAAC,EAAY,EAAE,EAAE;YACnB,EAAE,CAAC,IAAI,CAAC,0FAA0F,CAAC,CAAC;QACtG,CAAC;KACF;IACD;QACE,OAAO,EAAE,EAAE;QACX,IAAI,EAAE,sBAAsB;QAC5B,EAAE,EAAE,CAAC,EAAY,EAAE,EAAE;YACnB,0DAA0D;YAC1D,2EAA2E;YAC3E,6EAA6E;YAC7E,MAAM,YAAY,GAAG;gBACnB,oBAAoB,EAAE,sBAAsB;gBAC5C,sBAAsB,EAAE,+BAA+B;gBACvD,gCAAgC,EAAE,8BAA8B;gBAChE,yBAAyB;aAC1B,CAAC;YACF,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;gBACjC,EAAE,CAAC,IAAI,CAAC,yBAAyB,KAAK,GAAG,CAAC,CAAC;YAC7C,CAAC;YACD,sEAAsE;YACtE,oFAAoF;YACpF,IAAI,CAAC;gBAAC,EAAE,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,+BAA+B,CAAC,CAAC;QAClG,CAAC;KACF;CACF,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../scripts/lib/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"migrations.d.ts","sourceRoot":"","sources":["../../../scripts/lib/migrations.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAIrD,eAAO,MAAM,eAAe,EAAE,SAAS,EAmBtC,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC"}
|
|
@@ -1,26 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.V051_MIGRATIONS = exports.V050_MIGRATIONS = void 0;
|
|
4
|
-
const constants_js_1 = require("./constants.js");
|
|
5
4
|
exports.V050_MIGRATIONS = [
|
|
6
5
|
{
|
|
7
6
|
version: 1,
|
|
8
7
|
name: 'add_vec_table_and_timestamps',
|
|
9
8
|
up: (db) => {
|
|
10
|
-
// 1. Create vec table (requires sqlite-vec loaded — skip gracefully if not)
|
|
11
|
-
try {
|
|
12
|
-
db.exec(`
|
|
13
|
-
CREATE VIRTUAL TABLE IF NOT EXISTS ${constants_js_1.VEC_TABLE_NAME} USING vec0(
|
|
14
|
-
embedding float[${constants_js_1.EMBEDDING_DIM_CONST}],
|
|
15
|
-
slug text,
|
|
16
|
-
+created_at text,
|
|
17
|
-
+model_name text
|
|
18
|
-
)
|
|
19
|
-
`);
|
|
20
|
-
}
|
|
21
|
-
catch (_err) {
|
|
22
|
-
// sqlite-vec not loaded — vec table will be created when extension is available
|
|
23
|
-
}
|
|
24
9
|
// 2. Add timestamp columns to file_hashes
|
|
25
10
|
// (FTS5 virtual tables can't be altered — timestamps go in file_hashes)
|
|
26
11
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- pragma returns array of objects
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../scripts/lib/migrations.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"migrations.js","sourceRoot":"","sources":["../../../scripts/lib/migrations.ts"],"names":[],"mappings":";;;AAIa,QAAA,eAAe,GAAgB;IAC1C;QACE,OAAO,EAAE,CAAC;QACV,IAAI,EAAE,8BAA8B;QACpC,EAAE,EAAE,CAAC,EAAY,EAAE,EAAE;YACnB,0CAA0C;YAC1C,wEAAwE;YACxE,0GAA0G;YAC1G,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAA4B,CAAC;YAC7E,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;YAEhD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,EAAE,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,EAAE,CAAC;gBAChC,EAAE,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YAChE,CAAC;QACH,CAAC;KACF;CACF,CAAC;AAEF,2DAAuD;AAA9C,qHAAA,eAAe,OAAA"}
|
|
@@ -5,12 +5,12 @@ exports.getSchemaVersion = getSchemaVersion;
|
|
|
5
5
|
exports.setSchemaVersion = setSchemaVersion;
|
|
6
6
|
exports.runMigrations = runMigrations;
|
|
7
7
|
function ensureSchemaTable(db) {
|
|
8
|
-
db.exec(`
|
|
9
|
-
CREATE TABLE IF NOT EXISTS schema_versions (
|
|
10
|
-
version INTEGER PRIMARY KEY,
|
|
11
|
-
name TEXT NOT NULL,
|
|
12
|
-
applied_at TEXT NOT NULL
|
|
13
|
-
)
|
|
8
|
+
db.exec(`
|
|
9
|
+
CREATE TABLE IF NOT EXISTS schema_versions (
|
|
10
|
+
version INTEGER PRIMARY KEY,
|
|
11
|
+
name TEXT NOT NULL,
|
|
12
|
+
applied_at TEXT NOT NULL
|
|
13
|
+
)
|
|
14
14
|
`);
|
|
15
15
|
}
|
|
16
16
|
function getSchemaVersion(db) {
|