mindlore 0.3.5 → 0.4.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.
Files changed (37) hide show
  1. package/README.md +9 -6
  2. package/dist/scripts/init.js +9 -1
  3. package/dist/scripts/init.js.map +1 -1
  4. package/dist/scripts/lib/episodes.d.ts +66 -0
  5. package/dist/scripts/lib/episodes.d.ts.map +1 -0
  6. package/dist/scripts/lib/episodes.js +180 -0
  7. package/dist/scripts/lib/episodes.js.map +1 -0
  8. package/dist/scripts/mindlore-episodes.d.ts +12 -0
  9. package/dist/scripts/mindlore-episodes.d.ts.map +1 -0
  10. package/dist/scripts/mindlore-episodes.js +193 -0
  11. package/dist/scripts/mindlore-episodes.js.map +1 -0
  12. package/dist/tests/diary.test.d.ts +6 -0
  13. package/dist/tests/diary.test.d.ts.map +1 -0
  14. package/dist/tests/diary.test.js +169 -0
  15. package/dist/tests/diary.test.js.map +1 -0
  16. package/dist/tests/episodes-inject.test.d.ts +6 -0
  17. package/dist/tests/episodes-inject.test.d.ts.map +1 -0
  18. package/dist/tests/episodes-inject.test.js +161 -0
  19. package/dist/tests/episodes-inject.test.js.map +1 -0
  20. package/dist/tests/episodes.test.d.ts +5 -0
  21. package/dist/tests/episodes.test.d.ts.map +1 -0
  22. package/dist/tests/episodes.test.js +254 -0
  23. package/dist/tests/episodes.test.js.map +1 -0
  24. package/dist/tests/helpers/db.d.ts +7 -0
  25. package/dist/tests/helpers/db.d.ts.map +1 -1
  26. package/dist/tests/helpers/db.js +20 -1
  27. package/dist/tests/helpers/db.js.map +1 -1
  28. package/hooks/lib/mindlore-common.cjs +119 -0
  29. package/hooks/mindlore-post-read.cjs +11 -2
  30. package/hooks/mindlore-read-guard.cjs +12 -4
  31. package/hooks/mindlore-search.cjs +36 -0
  32. package/hooks/mindlore-session-end.cjs +105 -22
  33. package/hooks/mindlore-session-focus.cjs +28 -1
  34. package/package.json +1 -1
  35. package/skills/mindlore-log/SKILL.md +74 -14
  36. package/skills/mindlore-query/SKILL.md +8 -5
  37. package/templates/config.json +4 -1
package/README.md CHANGED
@@ -53,6 +53,9 @@ npx mindlore backup init # Git-based backup for ~/.mindlore/
53
53
  npx mindlore backup status # Show backup status + last commit
54
54
  npx mindlore obsidian export --vault /path # Export to Obsidian vault
55
55
  npx mindlore obsidian import --vault /path # Import from Obsidian vault
56
+ npx mindlore episodes list # List recent episodes
57
+ npx mindlore episodes search "query" # Search episodic memory
58
+ npx mindlore episodes count # Episode count per project
56
59
  ```
57
60
 
58
61
  ## Features
@@ -62,7 +65,7 @@ npx mindlore obsidian import --vault /path # Import from Obsidian vault
62
65
  | `/mindlore-ingest` | Add knowledge sources (URL, text, file, PDF) + 6-point quality gate |
63
66
  | `/mindlore-health` | 16-point structural health check |
64
67
  | `/mindlore-query` | Search, ask, stats, brief — compounding knowledge pipeline |
65
- | `/mindlore-log` | Session logging with reflect and status |
68
+ | `/mindlore-log` | Session logging, diary analysis, reflect pattern extraction |
66
69
  | `/mindlore-decide` | Decision records with supersedes chain |
67
70
  | `/mindlore-evolve` | Schema co-evolution and structural updates |
68
71
  | `/mindlore-explore` | Cross-reference discovery between sources |
@@ -181,19 +184,19 @@ Skills spawn subagents with `[mindlore:SKILL]` markers — the model-router hook
181
184
 
182
185
  ## Hooks
183
186
 
184
- 13 Claude Code lifecycle hooks (v0.3.5):
187
+ 13 Claude Code lifecycle hooks (v0.4.0):
185
188
 
186
189
  | Event | Hook | What it does |
187
190
  |-------|------|-------------|
188
- | SessionStart | session-focus | Injects last delta + INDEX + version check |
189
- | UserPromptSubmit | search | FTS5 search, project-scoped with global fallback |
191
+ | SessionStart | session-focus | Injects last delta + INDEX + last 3 episodes + version check |
192
+ | UserPromptSubmit | search | FTS5 search + episodes recall, project-scoped |
190
193
  | UserPromptSubmit | decision-detector | TR+EN decision signal detection |
191
194
  | FileChanged | index | Sync changed files to FTS5 |
192
195
  | FileChanged | fts5-sync | Incremental batch re-index |
193
- | SessionEnd | session-end | Structured delta + global git sync |
196
+ | SessionEnd | session-end | Structured delta + bare episode + FTS5 mirror + git sync |
194
197
  | PreCompact | pre-compact | FTS5 flush before compaction |
195
198
  | PostCompact | post-compact | Re-inject context |
196
- | PreToolUse (Read) | read-guard | Repeated-read warning + token display |
199
+ | PreToolUse (Read) | read-guard | Repeated-read warning, blocks 3+ repeats |
197
200
  | PostToolUse (Read) | post-read | Token estimation per file read |
198
201
  | PreToolUse (Write\|Edit) | dont-repeat | LESSONS/learnings rule enforcement |
199
202
  | CwdChanged | cwd-changed | Scope detection + _scope.json write |
@@ -19,7 +19,7 @@ const constants_js_1 = require("./lib/constants.js");
19
19
  const db_helpers_js_1 = require("./lib/db-helpers.js");
20
20
  const safe_parse_js_1 = require("./lib/safe-parse.js");
21
21
  // eslint-disable-next-line @typescript-eslint/no-unsafe-type-assertion -- dynamic CJS require, typed by mindlore-common.d.cts
22
- const { SQL_FTS_CREATE } = require((0, constants_js_1.resolveHookCommon)(__dirname));
22
+ const { SQL_FTS_CREATE, ensureEpisodesTable: ensureEpisodesTableCjs } = require((0, constants_js_1.resolveHookCommon)(__dirname));
23
23
  const TEMPLATE_FILES = ['INDEX.md', 'log.md'];
24
24
  // ── Helpers ────────────────────────────────────────────────────────────
25
25
  function resolvePackageRoot() {
@@ -138,6 +138,10 @@ function createDatabase(baseDir) {
138
138
  else {
139
139
  (0, constants_js_1.log)('Database already exists, schema OK');
140
140
  }
141
+ // Idempotent: ensure episodes table on pre-v0.4 databases
142
+ const dbEp = new DatabaseCtor(dbPath);
143
+ ensureEpisodesTableCjs(dbEp);
144
+ dbEp.close();
141
145
  return migrated;
142
146
  }
143
147
  const db = new DatabaseCtor(dbPath);
@@ -150,6 +154,8 @@ function createDatabase(baseDir) {
150
154
  last_indexed TEXT NOT NULL
151
155
  );
152
156
  `);
157
+ // Idempotent: pre-v0.4 installs won't have this table
158
+ ensureEpisodesTableCjs(db);
153
159
  db.close();
154
160
  return true;
155
161
  }
@@ -348,6 +354,7 @@ function main() {
348
354
  quality: { script: './quality-populate.js', passArgs: false },
349
355
  backup: { script: './mindlore-backup.js', passArgs: true },
350
356
  obsidian: { script: './mindlore-obsidian.js', passArgs: true },
357
+ episodes: { script: './mindlore-episodes.js', passArgs: true },
351
358
  };
352
359
  const cliCmd = command ? cliCommands[command] : undefined;
353
360
  if (cliCmd) {
@@ -372,6 +379,7 @@ function main() {
372
379
  console.log(' npx mindlore quality');
373
380
  console.log(' npx mindlore backup init|status|remote|now');
374
381
  console.log(' npx mindlore obsidian export|import|status');
382
+ console.log(' npx mindlore episodes list|search|show');
375
383
  process.exit(1);
376
384
  }
377
385
  const isRecommended = args.includes('--recommended');
@@ -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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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Episodes CRUD helpers for Mindlore episodic memory.
3
+ * v0.4.0: session/decision/event/preference/learning/friction/discovery episodes.
4
+ *
5
+ * Episodes live in a regular SQLite table (not FTS5) for structured queries.
6
+ * Optionally mirrored to FTS5 for text search.
7
+ */
8
+ import type BetterSqlite3 from 'better-sqlite3';
9
+ type Database = BetterSqlite3.Database;
10
+ export declare const EPISODE_KINDS: readonly ["session", "decision", "event", "preference", "learning", "friction", "discovery"];
11
+ export type EpisodeKind = typeof EPISODE_KINDS[number];
12
+ export declare const EPISODE_SCOPES: readonly ["project", "global"];
13
+ export type EpisodeScope = typeof EPISODE_SCOPES[number];
14
+ export declare const EPISODE_STATUSES: readonly ["active", "superseded", "deleted"];
15
+ export type EpisodeStatus = typeof EPISODE_STATUSES[number];
16
+ export declare const EPISODE_SOURCES: readonly ["hook", "diary", "reflect", "decide", "manual"];
17
+ export type EpisodeSource = typeof EPISODE_SOURCES[number];
18
+ export interface Episode {
19
+ [key: string]: unknown;
20
+ id: string;
21
+ kind: EpisodeKind;
22
+ scope: EpisodeScope;
23
+ project: string | null;
24
+ summary: string;
25
+ body: string | null;
26
+ tags: string | null;
27
+ entities: string | null;
28
+ parent_id: string | null;
29
+ status: EpisodeStatus;
30
+ supersedes: string | null;
31
+ source: EpisodeSource;
32
+ created_at: string;
33
+ }
34
+ export interface CreateEpisodeInput {
35
+ kind: EpisodeKind;
36
+ summary: string;
37
+ scope?: EpisodeScope;
38
+ project?: string | null;
39
+ body?: string | null;
40
+ tags?: string | null;
41
+ entities?: string[] | null;
42
+ parent_id?: string | null;
43
+ supersedes?: string | null;
44
+ source?: EpisodeSource;
45
+ }
46
+ export interface QueryEpisodesOptions {
47
+ kind?: EpisodeKind;
48
+ scope?: EpisodeScope;
49
+ project?: string | null;
50
+ status?: EpisodeStatus;
51
+ source?: EpisodeSource;
52
+ limit?: number;
53
+ since?: string;
54
+ }
55
+ export declare const SQL_EPISODES_CREATE = "\nCREATE TABLE IF NOT EXISTS episodes (\n id TEXT PRIMARY KEY,\n kind TEXT NOT NULL,\n scope TEXT NOT NULL DEFAULT 'project',\n project TEXT,\n summary TEXT NOT NULL,\n body TEXT,\n tags TEXT,\n entities TEXT,\n parent_id TEXT,\n status TEXT NOT NULL DEFAULT 'active',\n supersedes TEXT,\n source TEXT,\n created_at TEXT NOT NULL\n);\n\nCREATE INDEX IF NOT EXISTS idx_episodes_kind ON episodes(kind, status);\nCREATE INDEX IF NOT EXISTS idx_episodes_project ON episodes(project, status);\nCREATE INDEX IF NOT EXISTS idx_episodes_created ON episodes(created_at DESC);\n";
56
+ export declare function createEpisode(db: Database, input: CreateEpisodeInput): Episode;
57
+ export declare function getEpisode(db: Database, id: string): Episode | undefined;
58
+ export declare function queryEpisodes(db: Database, opts?: QueryEpisodesOptions): Episode[];
59
+ export declare function supersede(db: Database, oldId: string, newInput: CreateEpisodeInput): Episode;
60
+ export declare function deleteEpisode(db: Database, id: string): boolean;
61
+ export declare function countEpisodes(db: Database, project?: string): number;
62
+ export declare function mirrorToFts(db: Database, episode: Episode, insertFn: (db: Database, entry: Record<string, unknown>) => void): void;
63
+ export declare function ensureEpisodesTable(db: Database): void;
64
+ export declare function hasEpisodesTable(db: Database): boolean;
65
+ export {};
66
+ //# sourceMappingURL=episodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"episodes.d.ts","sourceRoot":"","sources":["../../../scripts/lib/episodes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ /**
3
+ * Episodes CRUD helpers for Mindlore episodic memory.
4
+ * v0.4.0: session/decision/event/preference/learning/friction/discovery episodes.
5
+ *
6
+ * Episodes live in a regular SQLite table (not FTS5) for structured queries.
7
+ * Optionally mirrored to FTS5 for text search.
8
+ */
9
+ var __importDefault = (this && this.__importDefault) || function (mod) {
10
+ return (mod && mod.__esModule) ? mod : { "default": mod };
11
+ };
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.SQL_EPISODES_CREATE = exports.EPISODE_SOURCES = exports.EPISODE_STATUSES = exports.EPISODE_SCOPES = exports.EPISODE_KINDS = void 0;
14
+ exports.createEpisode = createEpisode;
15
+ exports.getEpisode = getEpisode;
16
+ exports.queryEpisodes = queryEpisodes;
17
+ exports.supersede = supersede;
18
+ exports.deleteEpisode = deleteEpisode;
19
+ exports.countEpisodes = countEpisodes;
20
+ exports.mirrorToFts = mirrorToFts;
21
+ exports.ensureEpisodesTable = ensureEpisodesTable;
22
+ exports.hasEpisodesTable = hasEpisodesTable;
23
+ const crypto_1 = __importDefault(require("crypto"));
24
+ const db_helpers_js_1 = require("./db-helpers.js");
25
+ // ── Types ────────────────────────────────────────────────────────────
26
+ exports.EPISODE_KINDS = ['session', 'decision', 'event', 'preference', 'learning', 'friction', 'discovery'];
27
+ exports.EPISODE_SCOPES = ['project', 'global'];
28
+ exports.EPISODE_STATUSES = ['active', 'superseded', 'deleted'];
29
+ exports.EPISODE_SOURCES = ['hook', 'diary', 'reflect', 'decide', 'manual'];
30
+ // ── SQL ──────────────────────────────────────────────────────────────
31
+ // CO-EVOLUTION: Schema mirrors SQL_EPISODES_CREATE + SQL_EPISODES_INDEXES in hooks/lib/mindlore-common.cjs
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);
53
+ `;
54
+ // ── Helpers ──────────────────────────────────────────────────────────
55
+ // CO-EVOLUTION: generateId mirrors generateEpisodeId in hooks/lib/mindlore-common.cjs
56
+ // CJS hooks cannot import TS modules; keep both in sync on schema changes.
57
+ function generateId() {
58
+ const timestamp = Date.now().toString(36);
59
+ const random = crypto_1.default.randomBytes(6).toString('hex');
60
+ return `ep-${timestamp}-${random}`;
61
+ }
62
+ // ── CRUD ─────────────────────────────────────────────────────────────
63
+ function createEpisode(db, input) {
64
+ const id = generateId();
65
+ const now = new Date().toISOString();
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', ?, ?, ?)
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
+ // If superseding, mark old episode
72
+ if (input.supersedes) {
73
+ db.prepare(`UPDATE episodes SET status = 'superseded' WHERE id = ?`).run(input.supersedes);
74
+ }
75
+ return {
76
+ id,
77
+ kind: input.kind,
78
+ scope: input.scope ?? 'project',
79
+ project: input.project ?? null,
80
+ summary: input.summary,
81
+ body: input.body ?? null,
82
+ tags: input.tags ?? null,
83
+ entities,
84
+ parent_id: input.parent_id ?? null,
85
+ status: 'active',
86
+ supersedes: input.supersedes ?? null,
87
+ source: input.source ?? 'manual',
88
+ created_at: now,
89
+ };
90
+ }
91
+ function getEpisode(db, id) {
92
+ return (0, db_helpers_js_1.dbGet)(db, 'SELECT * FROM episodes WHERE id = ?', id);
93
+ }
94
+ function queryEpisodes(db, opts = {}) {
95
+ const conditions = [];
96
+ const params = [];
97
+ if (opts.kind) {
98
+ conditions.push('kind = ?');
99
+ params.push(opts.kind);
100
+ }
101
+ if (opts.scope) {
102
+ conditions.push('scope = ?');
103
+ params.push(opts.scope);
104
+ }
105
+ if (opts.project !== undefined) {
106
+ if (opts.project === null) {
107
+ conditions.push('project IS NULL');
108
+ }
109
+ else {
110
+ conditions.push('project = ?');
111
+ params.push(opts.project);
112
+ }
113
+ }
114
+ if (opts.status) {
115
+ conditions.push('status = ?');
116
+ params.push(opts.status);
117
+ }
118
+ else {
119
+ // Default: only active
120
+ conditions.push("status = 'active'");
121
+ }
122
+ if (opts.source) {
123
+ conditions.push('source = ?');
124
+ params.push(opts.source);
125
+ }
126
+ if (opts.since) {
127
+ conditions.push('created_at >= ?');
128
+ params.push(opts.since);
129
+ }
130
+ const where = conditions.length > 0 ? `WHERE ${conditions.join(' AND ')}` : '';
131
+ const limit = opts.limit ?? 50;
132
+ return (0, db_helpers_js_1.dbAll)(db, `SELECT * FROM episodes ${where} ORDER BY created_at DESC LIMIT ?`, ...params, limit);
133
+ }
134
+ function supersede(db, oldId, newInput) {
135
+ return createEpisode(db, { ...newInput, supersedes: oldId });
136
+ }
137
+ function deleteEpisode(db, id) {
138
+ const result = db.prepare(`UPDATE episodes SET status = 'deleted' WHERE id = ? AND status != 'deleted'`).run(id);
139
+ return result.changes > 0;
140
+ }
141
+ function countEpisodes(db, project) {
142
+ if (project) {
143
+ const row = (0, db_helpers_js_1.dbGet)(db, "SELECT COUNT(*) as cnt FROM episodes WHERE project = ? AND status = 'active'", project);
144
+ return row?.cnt ?? 0;
145
+ }
146
+ const row = (0, db_helpers_js_1.dbGet)(db, "SELECT COUNT(*) as cnt FROM episodes WHERE status = 'active'");
147
+ return row?.cnt ?? 0;
148
+ }
149
+ // ── FTS5 Mirror ──────────────────────────────────────────────────────
150
+ function mirrorToFts(db, episode, insertFn) {
151
+ insertFn(db, {
152
+ path: `episodes/${episode.id}`,
153
+ slug: `ep-${episode.id}`,
154
+ description: episode.summary,
155
+ type: 'episode',
156
+ category: 'episodes',
157
+ title: episode.summary,
158
+ content: [episode.summary, episode.body ?? ''].join('\n').trim(),
159
+ tags: [episode.kind, episode.tags ?? ''].filter(Boolean).join(', '),
160
+ quality: null,
161
+ dateCaptured: episode.created_at,
162
+ project: episode.project,
163
+ });
164
+ }
165
+ // ── Table Check ──────────────────────────────────────────────────────
166
+ function ensureEpisodesTable(db) {
167
+ // Split the SQL since it contains multiple statements
168
+ const statements = exports.SQL_EPISODES_CREATE
169
+ .split(';')
170
+ .map(s => s.trim())
171
+ .filter(Boolean);
172
+ for (const stmt of statements) {
173
+ db.exec(stmt);
174
+ }
175
+ }
176
+ function hasEpisodesTable(db) {
177
+ const row = (0, db_helpers_js_1.dbGet)(db, "SELECT name FROM sqlite_master WHERE type='table' AND name='episodes'");
178
+ return row !== undefined;
179
+ }
180
+ //# sourceMappingURL=episodes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"episodes.js","sourceRoot":"","sources":["../../../scripts/lib/episodes.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;AAoGH,sCA2CC;AAED,gCAEC;AAED,sCAwCC;AAED,8BAEC;AAED,sCAGC;AAED,sCAOC;AAID,kCAkBC;AAID,kDAUC;AAED,4CAMC;AAzPD,oDAA4B;AAE5B,mDAA+C;AAI/C,wEAAwE;AAE3D,QAAA,aAAa,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,WAAW,CAAU,CAAC;AAG7G,QAAA,cAAc,GAAG,CAAC,SAAS,EAAE,QAAQ,CAAU,CAAC;AAGhD,QAAA,gBAAgB,GAAG,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAU,CAAC;AAGhE,QAAA,eAAe,GAAG,CAAC,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAU,CAAC;AA2CzF,wEAAwE;AACxE,2GAA2G;AAC3G,2EAA2E;AAE9D,QAAA,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;CAoBlC,CAAC;AAEF,wEAAwE;AAExE,sFAAsF;AACtF,2EAA2E;AAC3E,SAAS,UAAU;IACjB,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,gBAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACrD,OAAO,MAAM,SAAS,IAAI,MAAM,EAAE,CAAC;AACrC,CAAC;AAED,wEAAwE;AAExE,SAAgB,aAAa,CAAC,EAAY,EAAE,KAAyB;IACnE,MAAM,EAAE,GAAG,UAAU,EAAE,CAAC;IACxB,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;IACrC,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAExE,EAAE,CAAC,OAAO,CAAC;;;GAGV,CAAC,CAAC,GAAG,CACJ,EAAE,EACF,KAAK,CAAC,IAAI,EACV,KAAK,CAAC,KAAK,IAAI,SAAS,EACxB,KAAK,CAAC,OAAO,IAAI,IAAI,EACrB,KAAK,CAAC,OAAO,EACb,KAAK,CAAC,IAAI,IAAI,IAAI,EAClB,KAAK,CAAC,IAAI,IAAI,IAAI,EAClB,QAAQ,EACR,KAAK,CAAC,SAAS,IAAI,IAAI,EACvB,KAAK,CAAC,UAAU,IAAI,IAAI,EACxB,KAAK,CAAC,MAAM,IAAI,QAAQ,EACxB,GAAG,CACJ,CAAC;IAEF,mCAAmC;IACnC,IAAI,KAAK,CAAC,UAAU,EAAE,CAAC;QACrB,EAAE,CAAC,OAAO,CAAC,wDAAwD,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC7F,CAAC;IAED,OAAO;QACL,EAAE;QACF,IAAI,EAAE,KAAK,CAAC,IAAI;QAChB,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,SAAS;QAC/B,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;QAC9B,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;QACxB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,IAAI;QACxB,QAAQ;QACR,SAAS,EAAE,KAAK,CAAC,SAAS,IAAI,IAAI;QAClC,MAAM,EAAE,QAAQ;QAChB,UAAU,EAAE,KAAK,CAAC,UAAU,IAAI,IAAI;QACpC,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,QAAQ;QAChC,UAAU,EAAE,GAAG;KAChB,CAAC;AACJ,CAAC;AAED,SAAgB,UAAU,CAAC,EAAY,EAAE,EAAU;IACjD,OAAO,IAAA,qBAAK,EAAU,EAAE,EAAE,qCAAqC,EAAE,EAAE,CAAC,CAAC;AACvE,CAAC;AAED,SAAgB,aAAa,CAAC,EAAY,EAAE,OAA6B,EAAE;IACzE,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,MAAM,GAAc,EAAE,CAAC;IAE7B,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC5B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QAC7B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;YAC1B,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;SAAM,CAAC;QACN,uBAAuB;QACvB,UAAU,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,UAAU,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC3B,CAAC;IACD,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;QACf,UAAU,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QACnC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/E,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,EAAE,CAAC;IAE/B,OAAO,IAAA,qBAAK,EAAU,EAAE,EAAE,0BAA0B,KAAK,mCAAmC,EAAE,GAAG,MAAM,EAAE,KAAK,CAAC,CAAC;AAClH,CAAC;AAED,SAAgB,SAAS,CAAC,EAAY,EAAE,KAAa,EAAE,QAA4B;IACjF,OAAO,aAAa,CAAC,EAAE,EAAE,EAAE,GAAG,QAAQ,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,SAAgB,aAAa,CAAC,EAAY,EAAE,EAAU;IACpD,MAAM,MAAM,GAAG,EAAE,CAAC,OAAO,CAAC,6EAA6E,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACjH,OAAO,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;AAC5B,CAAC;AAED,SAAgB,aAAa,CAAC,EAAY,EAAE,OAAgB;IAC1D,IAAI,OAAO,EAAE,CAAC;QACZ,MAAM,GAAG,GAAG,IAAA,qBAAK,EAAkB,EAAE,EAAE,8EAA8E,EAAE,OAAO,CAAC,CAAC;QAChI,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IACvB,CAAC;IACD,MAAM,GAAG,GAAG,IAAA,qBAAK,EAAkB,EAAE,EAAE,8DAA8D,CAAC,CAAC;IACvG,OAAO,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;AACvB,CAAC;AAED,wEAAwE;AAExE,SAAgB,WAAW,CACzB,EAAY,EACZ,OAAgB,EAChB,QAAgE;IAEhE,QAAQ,CAAC,EAAE,EAAE;QACX,IAAI,EAAE,YAAY,OAAO,CAAC,EAAE,EAAE;QAC9B,IAAI,EAAE,MAAM,OAAO,CAAC,EAAE,EAAE;QACxB,WAAW,EAAE,OAAO,CAAC,OAAO;QAC5B,IAAI,EAAE,SAAS;QACf,QAAQ,EAAE,UAAU;QACpB,KAAK,EAAE,OAAO,CAAC,OAAO;QACtB,OAAO,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE;QAChE,IAAI,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QACnE,OAAO,EAAE,IAAI;QACb,YAAY,EAAE,OAAO,CAAC,UAAU;QAChC,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC,CAAC;AACL,CAAC;AAED,wEAAwE;AAExE,SAAgB,mBAAmB,CAAC,EAAY;IAC9C,sDAAsD;IACtD,MAAM,UAAU,GAAG,2BAAmB;SACnC,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;SAClB,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;AACH,CAAC;AAED,SAAgB,gBAAgB,CAAC,EAAY;IAC3C,MAAM,GAAG,GAAG,IAAA,qBAAK,EACf,EAAE,EACF,uEAAuE,CACxE,CAAC;IACF,OAAO,GAAG,KAAK,SAAS,CAAC;AAC3B,CAAC"}
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * mindlore episodes — CLI for querying episodic memory.
4
+ *
5
+ * Usage:
6
+ * npx mindlore episodes list [--kind <kind>] [--project <name>] [--limit <n>]
7
+ * npx mindlore episodes search <query>
8
+ * npx mindlore episodes show <id>
9
+ * npx mindlore episodes count [--project <name>]
10
+ */
11
+ export {};
12
+ //# sourceMappingURL=mindlore-episodes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mindlore-episodes.d.ts","sourceRoot":"","sources":["../../scripts/mindlore-episodes.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG"}
@@ -0,0 +1,193 @@
1
+ #!/usr/bin/env node
2
+ "use strict";
3
+ /**
4
+ * mindlore episodes — CLI for querying episodic memory.
5
+ *
6
+ * Usage:
7
+ * npx mindlore episodes list [--kind <kind>] [--project <name>] [--limit <n>]
8
+ * npx mindlore episodes search <query>
9
+ * npx mindlore episodes show <id>
10
+ * npx mindlore episodes count [--project <name>]
11
+ */
12
+ var __importDefault = (this && this.__importDefault) || function (mod) {
13
+ return (mod && mod.__esModule) ? mod : { "default": mod };
14
+ };
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ const path_1 = __importDefault(require("path"));
17
+ const constants_js_1 = require("./lib/constants.js");
18
+ const episodes_js_1 = require("./lib/episodes.js");
19
+ const db_helpers_js_1 = require("./lib/db-helpers.js");
20
+ function openDb() {
21
+ try {
22
+ const Database = require('better-sqlite3');
23
+ const dbPath = path_1.default.join(constants_js_1.GLOBAL_MINDLORE_DIR, constants_js_1.DB_NAME);
24
+ return new Database(dbPath, { readonly: true });
25
+ }
26
+ catch (_err) {
27
+ console.error('Error: Could not open mindlore database.');
28
+ return null;
29
+ }
30
+ }
31
+ function parseArgs(args) {
32
+ const result = {};
33
+ for (let i = 0; i < args.length; i++) {
34
+ const arg = args[i];
35
+ if (arg.startsWith('--') && i + 1 < args.length) {
36
+ result[arg.slice(2)] = args[i + 1];
37
+ i++;
38
+ }
39
+ else if (!arg.startsWith('--')) {
40
+ result[`_${Object.keys(result).filter(k => k.startsWith('_')).length}`] = arg;
41
+ }
42
+ }
43
+ return result;
44
+ }
45
+ function cmdList(args) {
46
+ const db = openDb();
47
+ if (!db)
48
+ return;
49
+ const parsed = parseArgs(args);
50
+ const opts = {};
51
+ if (parsed['kind']) {
52
+ const kindInput = parsed['kind'];
53
+ const validKind = episodes_js_1.EPISODE_KINDS.find(k => k === kindInput);
54
+ if (!validKind) {
55
+ console.error(`Invalid kind: ${kindInput}. Valid: ${episodes_js_1.EPISODE_KINDS.join(', ')}`);
56
+ db.close();
57
+ return;
58
+ }
59
+ opts.kind = validKind;
60
+ }
61
+ if (parsed['project'])
62
+ opts.project = parsed['project'];
63
+ if (parsed['limit'])
64
+ opts.limit = parseInt(parsed['limit'], 10) || 50;
65
+ if (parsed['since'])
66
+ opts.since = parsed['since'];
67
+ const episodes = (0, episodes_js_1.queryEpisodes)(db, opts);
68
+ db.close();
69
+ if (episodes.length === 0) {
70
+ console.log('No episodes found.');
71
+ return;
72
+ }
73
+ console.log(`\n Episodes (${episodes.length}):\n`);
74
+ for (const ep of episodes) {
75
+ const date = ep.created_at.slice(0, 10);
76
+ const project = ep.project ? ` [${ep.project}]` : '';
77
+ console.log(` ${date} ${ep.kind.padEnd(12)} ${ep.summary.slice(0, 80)}${project}`);
78
+ console.log(` id: ${ep.id} source: ${ep.source}`);
79
+ }
80
+ console.log('');
81
+ }
82
+ function cmdSearch(args) {
83
+ const query = args.join(' ').trim();
84
+ if (!query) {
85
+ console.error('Usage: npx mindlore episodes search <query>');
86
+ return;
87
+ }
88
+ const db = openDb();
89
+ if (!db)
90
+ return;
91
+ // Search in summary + body using LIKE (episodes is regular table, not FTS5)
92
+ const pattern = `%${query}%`;
93
+ const results = (0, db_helpers_js_1.dbAll)(db, "SELECT id, kind, summary, project, created_at, source FROM episodes WHERE status = 'active' AND (summary LIKE ? OR body LIKE ?) ORDER BY created_at DESC LIMIT 20", pattern, pattern);
94
+ db.close();
95
+ if (results.length === 0) {
96
+ console.log(`No episodes matching "${query}".`);
97
+ return;
98
+ }
99
+ console.log(`\n Search: "${query}" (${results.length} results)\n`);
100
+ for (const ep of results) {
101
+ const date = ep.created_at.slice(0, 10);
102
+ const project = ep.project ? ` [${ep.project}]` : '';
103
+ console.log(` ${date} ${ep.kind.padEnd(12)} ${ep.summary.slice(0, 80)}${project}`);
104
+ console.log(` id: ${ep.id}`);
105
+ }
106
+ console.log('');
107
+ }
108
+ function cmdShow(args) {
109
+ const id = args[0];
110
+ if (!id) {
111
+ console.error('Usage: npx mindlore episodes show <id>');
112
+ return;
113
+ }
114
+ const db = openDb();
115
+ if (!db)
116
+ return;
117
+ const ep = (0, episodes_js_1.getEpisode)(db, id);
118
+ db.close();
119
+ if (!ep) {
120
+ console.error(`Episode not found: ${id}`);
121
+ return;
122
+ }
123
+ console.log(`\n Episode: ${ep.id}`);
124
+ console.log(` Kind: ${ep.kind}`);
125
+ console.log(` Status: ${ep.status}`);
126
+ console.log(` Scope: ${ep.scope}`);
127
+ console.log(` Project: ${ep.project ?? '(global)'}`);
128
+ console.log(` Source: ${ep.source}`);
129
+ console.log(` Created: ${ep.created_at}`);
130
+ if (ep.tags)
131
+ console.log(` Tags: ${ep.tags}`);
132
+ if (ep.parent_id)
133
+ console.log(` Parent: ${ep.parent_id}`);
134
+ if (ep.supersedes)
135
+ console.log(` Supersedes: ${ep.supersedes}`);
136
+ if (ep.entities) {
137
+ try {
138
+ const parsed = JSON.parse(ep.entities);
139
+ const entities = Array.isArray(parsed) ? parsed.map(String) : [String(parsed)];
140
+ console.log(` Entities: ${entities.join(', ')}`);
141
+ }
142
+ catch (_err) {
143
+ console.log(` Entities: ${ep.entities}`);
144
+ }
145
+ }
146
+ console.log(`\n Summary: ${ep.summary}`);
147
+ if (ep.body) {
148
+ console.log(`\n${ep.body}`);
149
+ }
150
+ console.log('');
151
+ }
152
+ function cmdCount(args) {
153
+ const db = openDb();
154
+ if (!db)
155
+ return;
156
+ const parsed = parseArgs(args);
157
+ const project = parsed['project'] ?? (0, constants_js_1.getProjectName)();
158
+ const total = (0, episodes_js_1.countEpisodes)(db);
159
+ const projectCount = (0, episodes_js_1.countEpisodes)(db, project);
160
+ db.close();
161
+ console.log(`\n Episodes: ${total} total, ${projectCount} in ${project}\n`);
162
+ }
163
+ function main() {
164
+ const args = process.argv.slice(2);
165
+ const command = args[0];
166
+ switch (command) {
167
+ case 'list':
168
+ cmdList(args.slice(1));
169
+ break;
170
+ case 'search':
171
+ cmdSearch(args.slice(1));
172
+ break;
173
+ case 'show':
174
+ cmdShow(args.slice(1));
175
+ break;
176
+ case 'count':
177
+ cmdCount(args.slice(1));
178
+ break;
179
+ default:
180
+ console.log('Usage: npx mindlore episodes <command>');
181
+ console.log('');
182
+ console.log('Commands:');
183
+ console.log(' list [--kind <kind>] [--project <name>] [--limit <n>]');
184
+ console.log(' search <query>');
185
+ console.log(' show <id>');
186
+ console.log(' count [--project <name>]');
187
+ console.log('');
188
+ console.log(`Kinds: ${episodes_js_1.EPISODE_KINDS.join(', ')}`);
189
+ break;
190
+ }
191
+ }
192
+ main();
193
+ //# sourceMappingURL=mindlore-episodes.js.map