ai-mind-map 1.7.1 → 1.9.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 (63) hide show
  1. package/dist/change-tracker/watcher.d.ts.map +1 -1
  2. package/dist/change-tracker/watcher.js +11 -0
  3. package/dist/change-tracker/watcher.js.map +1 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +8 -5
  6. package/dist/cli.js.map +1 -1
  7. package/dist/config.d.ts.map +1 -1
  8. package/dist/config.js +5 -0
  9. package/dist/config.js.map +1 -1
  10. package/dist/context/compressor.js +24 -8
  11. package/dist/context/compressor.js.map +1 -1
  12. package/dist/index.js +60 -57
  13. package/dist/index.js.map +1 -1
  14. package/dist/knowledge-graph/changelog.d.ts +1 -1
  15. package/dist/knowledge-graph/changelog.d.ts.map +1 -1
  16. package/dist/knowledge-graph/changelog.js +19 -14
  17. package/dist/knowledge-graph/changelog.js.map +1 -1
  18. package/dist/knowledge-graph/cypher.d.ts.map +1 -1
  19. package/dist/knowledge-graph/cypher.js +50 -27
  20. package/dist/knowledge-graph/cypher.js.map +1 -1
  21. package/dist/knowledge-graph/graph.d.ts +7 -6
  22. package/dist/knowledge-graph/graph.d.ts.map +1 -1
  23. package/dist/knowledge-graph/graph.js +96 -60
  24. package/dist/knowledge-graph/graph.js.map +1 -1
  25. package/dist/knowledge-graph/indexer.d.ts +1 -1
  26. package/dist/knowledge-graph/indexer.d.ts.map +1 -1
  27. package/dist/knowledge-graph/indexer.js +37 -26
  28. package/dist/knowledge-graph/indexer.js.map +1 -1
  29. package/dist/knowledge-graph/parser.d.ts +1 -1
  30. package/dist/knowledge-graph/parser.d.ts.map +1 -1
  31. package/dist/knowledge-graph/parser.js +40 -20
  32. package/dist/knowledge-graph/parser.js.map +1 -1
  33. package/dist/knowledge-graph/semantic-search.d.ts.map +1 -1
  34. package/dist/knowledge-graph/semantic-search.js +51 -19
  35. package/dist/knowledge-graph/semantic-search.js.map +1 -1
  36. package/dist/knowledge-graph/snapshot.js +1 -1
  37. package/dist/knowledge-graph/snapshot.js.map +1 -1
  38. package/dist/memory/decision-log.d.ts +12 -0
  39. package/dist/memory/decision-log.d.ts.map +1 -1
  40. package/dist/memory/decision-log.js +32 -0
  41. package/dist/memory/decision-log.js.map +1 -1
  42. package/dist/memory/persistent-memory.d.ts.map +1 -1
  43. package/dist/memory/persistent-memory.js +20 -15
  44. package/dist/memory/persistent-memory.js.map +1 -1
  45. package/dist/memory/session-memory.d.ts.map +1 -1
  46. package/dist/memory/session-memory.js +7 -6
  47. package/dist/memory/session-memory.js.map +1 -1
  48. package/dist/memory/shared-sync.d.ts.map +1 -1
  49. package/dist/memory/shared-sync.js +38 -12
  50. package/dist/memory/shared-sync.js.map +1 -1
  51. package/dist/tools/digest-tools.d.ts.map +1 -1
  52. package/dist/tools/digest-tools.js +4 -6
  53. package/dist/tools/digest-tools.js.map +1 -1
  54. package/dist/tools/session-tools.js +2 -2
  55. package/dist/tools/session-tools.js.map +1 -1
  56. package/dist/tools/smart-tools.js +3 -3
  57. package/dist/tools/smart-tools.js.map +1 -1
  58. package/dist/types.d.ts +1 -1
  59. package/dist/types.d.ts.map +1 -1
  60. package/dist/utils/token-counter.d.ts.map +1 -1
  61. package/dist/utils/token-counter.js +18 -3
  62. package/dist/utils/token-counter.js.map +1 -1
  63. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -9,7 +9,8 @@
9
9
  * Usage:
10
10
  * ai-mind-map [--project-root <path>] [--db-path <path>] [--log-level debug|info|warn|error]
11
11
  */
12
- import { existsSync, mkdirSync, statSync } from 'node:fs';
12
+ import { existsSync, mkdirSync, statSync, readFileSync } from 'node:fs';
13
+ import { fileURLToPath } from 'node:url';
13
14
  import path from 'node:path';
14
15
  import process from 'node:process';
15
16
  import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
@@ -52,6 +53,9 @@ import { SemanticSearchEngine } from './knowledge-graph/semantic-search.js';
52
53
  import { ChangelogEngine } from './knowledge-graph/changelog.js';
53
54
  import { registerSessionTools } from './tools/session-tools.js';
54
55
  import { registerDigestTools } from './tools/digest-tools.js';
56
+ // Read version from package.json dynamically
57
+ const __dirname = path.dirname(fileURLToPath(import.meta.url));
58
+ const pkg = JSON.parse(readFileSync(path.join(__dirname, '..', 'package.json'), 'utf-8'));
55
59
  // ============================================================
56
60
  // Logger — writes to stderr so MCP stdio is uncontaminated
57
61
  // ============================================================
@@ -132,9 +136,9 @@ function createGraphAdapter(graph, pagerank) {
132
136
  return results;
133
137
  },
134
138
  getStructure: (depth) => {
135
- // graph.getProjectOverview() returns Map<string, GraphNode[]>
139
+ // graph.getProjectOverview() returns { overview, totalNodes, isTruncated }
136
140
  // We convert it to the shape expected by IKnowledgeGraph.getStructure
137
- const overview = graph.getProjectOverview();
141
+ const { overview } = graph.getProjectOverview();
138
142
  const files = [];
139
143
  for (const [filePath, nodes] of overview) {
140
144
  files.push({
@@ -454,7 +458,7 @@ function createMemoryAdapter(persistentMemory, decisionLog, sessionMemory) {
454
458
  endedAt: full.endedAt,
455
459
  tasksCompleted: full.tasksCompleted,
456
460
  filesModified: full.filesModified,
457
- decisionseMade: full.decisionseMade,
461
+ decisionsMade: full.decisionsMade,
458
462
  memoriesCreated: full.memoriesCreated,
459
463
  tokensSaved: full.tokensSaved,
460
464
  summary: full.summary,
@@ -467,7 +471,7 @@ function createMemoryAdapter(persistentMemory, decisionLog, sessionMemory) {
467
471
  endedAt: s.endedAt ?? Date.now(),
468
472
  tasksCompleted: [],
469
473
  filesModified: [],
470
- decisionseMade: [],
474
+ decisionsMade: [],
471
475
  memoriesCreated: 0,
472
476
  tokensSaved: 0,
473
477
  summary: s.summary,
@@ -500,7 +504,7 @@ function createContextAdapter(graph, persistentMemory, decisionLog, changeLog, c
500
504
  getContext: (params) => {
501
505
  try {
502
506
  // Build ProjectInfo for Tier 1
503
- const overview = graph.getProjectOverview();
507
+ const { overview } = graph.getProjectOverview();
504
508
  const stats = graph.getStats();
505
509
  const directoryTree = Array.from(overview.keys())
506
510
  .slice(0, 20)
@@ -668,7 +672,8 @@ function createIndexerAdapter(indexer, graph, persistentMemory, decisionLog, cha
668
672
  lastChangeAt: null,
669
673
  dbSizeBytes: dbSize,
670
674
  languageBreakdown: graphStats.languageBreakdown,
671
- tokensSavedEstimate: graphStats.totalNodes * 500,
675
+ // L17: Conservative estimate — avg ~200 tokens per node (signatures + metadata)
676
+ tokensSavedEstimate: graphStats.totalNodes * 200,
672
677
  };
673
678
  },
674
679
  };
@@ -726,8 +731,8 @@ const BLOCKED_DIRECTORY_PATTERNS = [
726
731
  ];
727
732
  /** Check if a path is a known IDE/tool directory that should never be indexed */
728
733
  function isBlockedDirectory(dirPath) {
729
- const lower = dirPath.toLowerCase().replace(/\\/g, '/');
730
- return BLOCKED_DIRECTORY_PATTERNS.some(pattern => lower.includes(pattern));
734
+ const segments = dirPath.toLowerCase().replace(/\\/g, '/').split('/');
735
+ return BLOCKED_DIRECTORY_PATTERNS.some(pattern => segments.some(seg => seg === pattern));
731
736
  }
732
737
  /**
733
738
  * Intercept an MCP tool response to inject session token metadata.
@@ -736,16 +741,26 @@ function isBlockedDirectory(dirPath) {
736
741
  * `_hint` fields, then re-serialises. This works because all our tools
737
742
  * return `{ content: [{ type: 'text', text: JSON.stringify(result) }] }`.
738
743
  */
739
- function enrichToolResponse(response, tracker, estimator, graphNodeCount, getProjectInfo) {
740
- if (!response?.content?.[0]?.text)
744
+ function enrichToolResponse(response, tracker, estimator, graphNodeCount, getProjectInfo, inputTokens = 0) {
745
+ if (!response?.content || response.content.length === 0)
746
+ return response;
747
+ // H8: Process the LAST text block, not just content[0]
748
+ let textIdx = -1;
749
+ for (let i = response.content.length - 1; i >= 0; i--) {
750
+ if (response.content[i]?.type === 'text' && response.content[i]?.text) {
751
+ textIdx = i;
752
+ break;
753
+ }
754
+ }
755
+ if (textIdx === -1)
741
756
  return response;
742
757
  try {
743
- const result = JSON.parse(response.content[0].text);
758
+ const result = JSON.parse(response.content[textIdx].text);
744
759
  // Estimate tokens for this response
745
- const outputTokens = estimator.estimate(response.content[0].text);
760
+ const outputTokens = estimator.estimate(response.content[textIdx].text);
746
761
  const tokensSaved = result.tokensSaved ?? 0;
747
- // Record in tracker
748
- tracker.record(0, outputTokens, tokensSaved);
762
+ // Record in tracker (inputTokens passed from caller)
763
+ tracker.record(inputTokens, outputTokens, tokensSaved);
749
764
  // Always add project metadata
750
765
  const projectInfo = getProjectInfo();
751
766
  result._project = projectInfo;
@@ -760,7 +775,7 @@ function enrichToolResponse(response, tracker, estimator, graphNodeCount, getPro
760
775
  }
761
776
  // Always add session token metadata
762
777
  result._sessionTokens = tracker.getSummary();
763
- response.content[0].text = JSON.stringify(result);
778
+ response.content[textIdx].text = JSON.stringify(result);
764
779
  }
765
780
  catch {
766
781
  // If parsing fails, return original response unchanged
@@ -860,7 +875,7 @@ async function main() {
860
875
  for (const event of events) {
861
876
  try {
862
877
  if (event.changeType === 'deleted') {
863
- indexer.removeFile(event.filePath);
878
+ await indexer.removeFile(event.filePath);
864
879
  }
865
880
  else {
866
881
  await indexer.indexFile(event.filePath);
@@ -922,7 +937,7 @@ async function main() {
922
937
  // ── 6. Create MCP server ──────────────────────────────────
923
938
  const server = new McpServer({
924
939
  name: 'ai-mind-map',
925
- version: '1.7.1',
940
+ version: pkg.version,
926
941
  }, {
927
942
  instructions: [
928
943
  '# AI Mind Map — Code Memory Engine',
@@ -941,12 +956,6 @@ async function main() {
941
956
  '- Project structure + tech stack',
942
957
  '- Hot files (most frequently changed)',
943
958
  '',
944
- '## Project Indexing:',
945
- 'Every response includes `_project.root` and `_project.totalNodes`.',
946
- 'If `_indexRequired: true` appears, you MUST call `mindmap_reindex` with the correct project path.',
947
- 'NEVER index directories containing: antigravity, .gemini, .cursor, .vscode, AppData, Program Files.',
948
- 'The graph supports multiple projects — call `mindmap_reindex` with different paths to switch.',
949
- '',
950
959
  '## Token Tracking:',
951
960
  'Every response includes `_sessionTokens` with cumulative usage.',
952
961
  '',
@@ -990,16 +999,6 @@ async function main() {
990
999
  '3. Use `mindmap_verify_changes` after editing to verify changes — do NOT re-read whole files',
991
1000
  '4. Use `mindmap_changelog` instead of re-reading files to see what changed',
992
1001
  '5. Call `mindmap_session_end` when done — save context for next session',
993
- '',
994
- '## 🔄 Project Indexing:',
995
- 'Every response includes `_project.root` showing which directory is currently indexed.',
996
- 'If `_project.totalNodes` is 0, you MUST call `mindmap_reindex` with `projectPath` set to',
997
- 'the user\'s project directory (e.g. their workspace root). This creates the knowledge graph.',
998
- 'Example: `mindmap_reindex({ projectPath: "/home/user/my-project" })`',
999
- 'You can also reindex to switch between projects — the graph supports multiple projects.',
1000
- '',
1001
- '## 📊 Token Tracking:',
1002
- 'Every response includes `_sessionTokens` with cumulative usage.',
1003
1002
  ].join('\n'),
1004
1003
  });
1005
1004
  // ── 7. Register all tools ─────────────────────────────────
@@ -1008,29 +1007,33 @@ async function main() {
1008
1007
  // Wrap every tool handler to inject session token metadata
1009
1008
  const tokenTracker = new SessionTokenTracker();
1010
1009
  const originalToolFn = server.tool.bind(server);
1011
- // Override server.tool to wrap every handler with token tracking
1010
+ // M1: Override server.tool to wrap every handler with token tracking
1012
1011
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
1013
- server.tool = function (...args) {
1014
- // server.tool(name, description, schema, handler) or server.tool(name, description, handler)
1015
- const lastArgIdx = args.length - 1;
1016
- const originalHandler = args[lastArgIdx];
1017
- if (typeof originalHandler === 'function') {
1018
- args[lastArgIdx] = async (...handlerArgs) => {
1019
- // Estimate input tokens from args
1020
- const inputStr = JSON.stringify(handlerArgs);
1021
- const inputTokens = tokenEstimator.estimate(inputStr);
1022
- tokenTracker.totalInputTokens += inputTokens;
1023
- // Call original handler
1024
- const response = await originalHandler(...handlerArgs);
1025
- // Enrich response with token tracking + project metadata
1026
- return enrichToolResponse(response, tokenTracker, tokenEstimator, () => graph.getStats().totalNodes, () => {
1027
- const s = graph.getStats();
1028
- return { root: config.projectRoot, indexedFiles: s.totalFiles, totalNodes: s.totalNodes };
1029
- });
1030
- };
1031
- }
1032
- return originalToolFn.apply(server, args);
1033
- };
1012
+ if (typeof server.tool !== 'function') {
1013
+ process.stderr.write('[WARN] server.tool is not a function token tracking middleware cannot be installed\n');
1014
+ }
1015
+ else {
1016
+ server.tool = function (...args) {
1017
+ // server.tool(name, description, schema, handler) or server.tool(name, description, handler)
1018
+ const lastArgIdx = args.length - 1;
1019
+ const originalHandler = args[lastArgIdx];
1020
+ if (typeof originalHandler === 'function') {
1021
+ args[lastArgIdx] = async (...handlerArgs) => {
1022
+ // Estimate input tokens from args
1023
+ const inputStr = JSON.stringify(handlerArgs);
1024
+ const inputTokens = tokenEstimator.estimate(inputStr);
1025
+ // Call original handler
1026
+ const response = await originalHandler(...handlerArgs);
1027
+ // Enrich response with token tracking + project metadata
1028
+ return enrichToolResponse(response, tokenTracker, tokenEstimator, () => graph.getStats().totalNodes, () => {
1029
+ const s = graph.getStats();
1030
+ return { root: config.projectRoot, indexedFiles: s.totalFiles, totalNodes: s.totalNodes };
1031
+ }, inputTokens);
1032
+ };
1033
+ }
1034
+ return originalToolFn.apply(server, args);
1035
+ };
1036
+ } // end M1 defensive check
1034
1037
  registerGraphTools(server, graphAdapter, tokenEstimator);
1035
1038
  log('debug', 'Registered graph tools (6)');
1036
1039
  registerChangeTools(server, changeAdapter, tokenEstimator);
@@ -1236,7 +1239,7 @@ async function main() {
1236
1239
  '.git', 'package.json', 'build.gradle', 'build.gradle.kts',
1237
1240
  'Cargo.toml', 'go.mod', 'pom.xml', 'CMakeLists.txt',
1238
1241
  'Makefile', '.project', 'setup.py', 'pyproject.toml',
1239
- 'pubspec.yaml', 'Gemfile', '*.sln', '*.csproj',
1242
+ 'pubspec.yaml', 'Gemfile',
1240
1243
  ];
1241
1244
  const isRealProject = projectMarkers.some(marker => existsSync(path.join(config.projectRoot, marker)));
1242
1245
  if (!isRealProject || isBlockedDirectory(config.projectRoot)) {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -79,7 +79,7 @@ export interface ChangesSinceSummary {
79
79
  }[];
80
80
  }[];
81
81
  }
82
- export declare const CHANGELOG_SCHEMA_SQL = "\n-- Node-level change history\nCREATE TABLE IF NOT EXISTS changelog (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n timestamp INTEGER NOT NULL,\n session_id TEXT,\n file_path TEXT NOT NULL,\n change_type TEXT NOT NULL,\n symbol_name TEXT NOT NULL,\n symbol_type TEXT NOT NULL,\n old_signature TEXT,\n new_signature TEXT,\n old_hash TEXT,\n new_hash TEXT,\n old_start_line INTEGER,\n old_end_line INTEGER,\n new_start_line INTEGER,\n new_end_line INTEGER\n);\n\nCREATE INDEX IF NOT EXISTS idx_changelog_file ON changelog(file_path);\nCREATE INDEX IF NOT EXISTS idx_changelog_time ON changelog(timestamp);\nCREATE INDEX IF NOT EXISTS idx_changelog_session ON changelog(session_id);\n\n-- AI agent session tracking (named changelog_sessions to avoid conflict with session-memory)\nCREATE TABLE IF NOT EXISTS changelog_sessions (\n id TEXT PRIMARY KEY,\n agent_name TEXT NOT NULL DEFAULT 'unknown',\n task_description TEXT,\n started_at INTEGER NOT NULL,\n ended_at INTEGER,\n files_modified TEXT,\n summary TEXT,\n tokens_saved_estimate INTEGER DEFAULT 0\n);\n\nCREATE INDEX IF NOT EXISTS idx_changelog_sessions_started ON changelog_sessions(started_at);\n\n-- Change frequency hotspots\nCREATE TABLE IF NOT EXISTS file_hotspots (\n file_path TEXT PRIMARY KEY,\n change_count INTEGER NOT NULL DEFAULT 0,\n last_changed_at INTEGER NOT NULL,\n symbols_changed TEXT\n);\n\n-- Codebase digest cache\nCREATE TABLE IF NOT EXISTS digest_cache (\n key TEXT PRIMARY KEY,\n content TEXT NOT NULL,\n generated_at INTEGER NOT NULL,\n valid_until INTEGER NOT NULL\n);\n";
82
+ export declare const CHANGELOG_SCHEMA_SQL = "\n-- Node-level change history\nCREATE TABLE IF NOT EXISTS changelog (\n id INTEGER PRIMARY KEY AUTOINCREMENT,\n timestamp INTEGER NOT NULL,\n session_id TEXT,\n file_path TEXT NOT NULL,\n change_type TEXT NOT NULL,\n symbol_name TEXT NOT NULL,\n symbol_type TEXT NOT NULL,\n old_signature TEXT,\n new_signature TEXT,\n old_hash TEXT,\n new_hash TEXT,\n old_start_line INTEGER,\n old_end_line INTEGER,\n new_start_line INTEGER,\n new_end_line INTEGER\n);\n\nCREATE INDEX IF NOT EXISTS idx_changelog_file ON changelog(file_path);\nCREATE INDEX IF NOT EXISTS idx_changelog_time ON changelog(timestamp);\nCREATE INDEX IF NOT EXISTS idx_changelog_session ON changelog(session_id);\n\n-- AI agent session tracking (named changelog_sessions to avoid conflict with session-memory)\nCREATE TABLE IF NOT EXISTS changelog_sessions (\n id TEXT PRIMARY KEY,\n agent_name TEXT NOT NULL DEFAULT 'unknown',\n task_description TEXT,\n started_at INTEGER NOT NULL,\n ended_at INTEGER,\n files_modified TEXT,\n summary TEXT,\n tokens_saved_estimate INTEGER DEFAULT 0 -- tokens_saved_estimate: reserved for future use, currently unused\n);\n\nCREATE INDEX IF NOT EXISTS idx_changelog_sessions_started ON changelog_sessions(started_at);\n\n-- Change frequency hotspots\nCREATE TABLE IF NOT EXISTS file_hotspots (\n file_path TEXT PRIMARY KEY,\n change_count INTEGER NOT NULL DEFAULT 0,\n last_changed_at INTEGER NOT NULL,\n symbols_changed TEXT\n);\n\n-- Codebase digest cache\nCREATE TABLE IF NOT EXISTS digest_cache (\n key TEXT PRIMARY KEY,\n content TEXT NOT NULL,\n generated_at INTEGER NOT NULL,\n valid_until INTEGER NOT NULL\n);\n";
83
83
  export declare class ChangelogEngine {
84
84
  private db;
85
85
  private currentSessionId;
@@ -1 +1 @@
1
- {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../src/knowledge-graph/changelog.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"changelog.d.ts","sourceRoot":"","sources":["../../src/knowledge-graph/changelog.ts"],"names":[],"mappings":"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"}
@@ -50,7 +50,7 @@ CREATE TABLE IF NOT EXISTS changelog_sessions (
50
50
  ended_at INTEGER,
51
51
  files_modified TEXT,
52
52
  summary TEXT,
53
- tokens_saved_estimate INTEGER DEFAULT 0
53
+ tokens_saved_estimate INTEGER DEFAULT 0 -- tokens_saved_estimate: reserved for future use, currently unused
54
54
  );
55
55
 
56
56
  CREATE INDEX IF NOT EXISTS idx_changelog_sessions_started ON changelog_sessions(started_at);
@@ -96,6 +96,10 @@ export class ChangelogEngine {
96
96
  this.autoEndStaleSession();
97
97
  // Also clean up very old sessions (>90 days)
98
98
  this.db.prepare(`DELETE FROM changelog_sessions WHERE started_at < ?`).run(Date.now() - MAX_CHANGELOG_AGE_MS);
99
+ // M21: Prune stale file_hotspots older than 90 days
100
+ this.db.prepare('DELETE FROM file_hotspots WHERE last_changed_at < ?').run(Date.now() - 90 * 24 * 60 * 60 * 1000);
101
+ // M22: Clean expired digest_cache entries
102
+ this.db.prepare('DELETE FROM digest_cache WHERE valid_until < ?').run(Date.now());
99
103
  }
100
104
  catch {
101
105
  // Non-critical — don't block startup
@@ -329,14 +333,14 @@ export class ChangelogEngine {
329
333
  */
330
334
  getFileChanges(filePath, limit = 50) {
331
335
  const rows = this.db.prepare('SELECT * FROM changelog WHERE file_path = ? ORDER BY timestamp DESC LIMIT ?').all(filePath, limit);
332
- return rows.map(this.rowToEntry);
336
+ return rows.map(row => this.rowToEntry(row));
333
337
  }
334
338
  /**
335
339
  * Get changes for a specific session.
336
340
  */
337
341
  getSessionChanges(sessionId) {
338
342
  const rows = this.db.prepare('SELECT * FROM changelog WHERE session_id = ? ORDER BY timestamp ASC').all(sessionId);
339
- return rows.map(this.rowToEntry);
343
+ return rows.map(row => this.rowToEntry(row));
340
344
  }
341
345
  /**
342
346
  * Get file hotspots — most frequently changed files.
@@ -407,7 +411,7 @@ export class ChangelogEngine {
407
411
  */
408
412
  getRecentSessions(limit = 10) {
409
413
  const rows = this.db.prepare('SELECT * FROM changelog_sessions ORDER BY started_at DESC LIMIT ?').all(limit);
410
- return rows.map(this.rowToSession);
414
+ return rows.map(row => this.rowToSession(row));
411
415
  }
412
416
  /**
413
417
  * Get the current session ID (for use by indexer).
@@ -426,7 +430,7 @@ export class ChangelogEngine {
426
430
  if (session && !session.endedAt)
427
431
  return this.currentSessionId;
428
432
  }
429
- // Check if there's a recent unclosed session (< 30 min old)
433
+ // Check if there's a recent unclosed session (< 4 hours old)
430
434
  const recent = this.db.prepare('SELECT id FROM changelog_sessions WHERE ended_at IS NULL AND started_at > ? ORDER BY started_at DESC LIMIT 1').get(Date.now() - SESSION_TIMEOUT_MS);
431
435
  if (recent) {
432
436
  this.currentSessionId = recent.id;
@@ -462,19 +466,20 @@ export class ChangelogEngine {
462
466
  */
463
467
  pruneChangelog() {
464
468
  const cutoff = Date.now() - MAX_CHANGELOG_AGE_MS;
465
- // Delete entries older than 30 days
466
- const byAge = this.db.prepare('DELETE FROM changelog WHERE timestamp < ?').run(cutoff);
467
- // Keep only the last MAX_CHANGELOG_ENTRIES
468
- const count = this.db.prepare('SELECT COUNT(*) as c FROM changelog').get().c;
469
- let byCount = 0;
470
- if (count > MAX_CHANGELOG_ENTRIES) {
469
+ // Get count before pruning
470
+ const countBefore = this.db.prepare('SELECT COUNT(*) as c FROM changelog').get().c;
471
+ // Keep only the last MAX_CHANGELOG_ENTRIES (count-based prune first)
472
+ if (countBefore > MAX_CHANGELOG_ENTRIES) {
471
473
  const keepFrom = this.db.prepare('SELECT timestamp FROM changelog ORDER BY timestamp DESC LIMIT 1 OFFSET ?').get(MAX_CHANGELOG_ENTRIES);
472
474
  if (keepFrom) {
473
- const result = this.db.prepare('DELETE FROM changelog WHERE timestamp < ?').run(keepFrom.timestamp);
474
- byCount = result.changes;
475
+ this.db.prepare('DELETE FROM changelog WHERE timestamp < ?').run(keepFrom.timestamp);
475
476
  }
476
477
  }
477
- return byAge.changes + byCount;
478
+ // Delete entries older than MAX_CHANGELOG_AGE_MS
479
+ this.db.prepare('DELETE FROM changelog WHERE timestamp < ?').run(cutoff);
480
+ // Get count after pruning
481
+ const countAfter = this.db.prepare('SELECT COUNT(*) as c FROM changelog').get().c;
482
+ return countBefore - countAfter;
478
483
  }
479
484
  /**
480
485
  * Get stats about the changelog engine.