@smallironman/mcp-memory-keeper 0.12.2-fork1

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 (110) hide show
  1. package/CHANGELOG.md +542 -0
  2. package/LICENSE +21 -0
  3. package/README.md +1281 -0
  4. package/bin/mcp-memory-keeper +54 -0
  5. package/dist/__tests__/e2e/issue33-reproduce.test.js +234 -0
  6. package/dist/__tests__/e2e/server-e2e.test.js +341 -0
  7. package/dist/__tests__/helpers/database-test-helper.js +160 -0
  8. package/dist/__tests__/helpers/test-server.js +92 -0
  9. package/dist/__tests__/integration/advanced-features.test.js +614 -0
  10. package/dist/__tests__/integration/backward-compatibility.test.js +245 -0
  11. package/dist/__tests__/integration/batchOperationsE2E.test.js +396 -0
  12. package/dist/__tests__/integration/batchOperationsHandler.test.js +1230 -0
  13. package/dist/__tests__/integration/channelManagementHandler.test.js +1291 -0
  14. package/dist/__tests__/integration/channels.test.js +376 -0
  15. package/dist/__tests__/integration/checkpoint.test.js +251 -0
  16. package/dist/__tests__/integration/concurrent-access.test.js +190 -0
  17. package/dist/__tests__/integration/context-operations.test.js +243 -0
  18. package/dist/__tests__/integration/contextDiff.test.js +852 -0
  19. package/dist/__tests__/integration/contextDiffHandler.test.js +976 -0
  20. package/dist/__tests__/integration/contextExportHandler.test.js +510 -0
  21. package/dist/__tests__/integration/contextGetPaginationDefaults.test.js +298 -0
  22. package/dist/__tests__/integration/contextReassignChannelHandler.test.js +908 -0
  23. package/dist/__tests__/integration/contextRelationshipsHandler.test.js +1151 -0
  24. package/dist/__tests__/integration/contextSearch.test.js +1054 -0
  25. package/dist/__tests__/integration/contextSearchHandler.test.js +552 -0
  26. package/dist/__tests__/integration/contextWatchActual.test.js +165 -0
  27. package/dist/__tests__/integration/contextWatchHandler.test.js +1500 -0
  28. package/dist/__tests__/integration/database-initialization.test.js +134 -0
  29. package/dist/__tests__/integration/enhanced-context-operations.test.js +1082 -0
  30. package/dist/__tests__/integration/enhancedContextGetHandler.test.js +915 -0
  31. package/dist/__tests__/integration/enhancedContextTimelineHandler.test.js +716 -0
  32. package/dist/__tests__/integration/error-cases.test.js +411 -0
  33. package/dist/__tests__/integration/export-import.test.js +367 -0
  34. package/dist/__tests__/integration/feature-flags.test.js +542 -0
  35. package/dist/__tests__/integration/file-operations.test.js +264 -0
  36. package/dist/__tests__/integration/filterBySessionId.test.js +251 -0
  37. package/dist/__tests__/integration/git-integration.test.js +241 -0
  38. package/dist/__tests__/integration/index-tools.test.js +496 -0
  39. package/dist/__tests__/integration/issue11-actual-bug-demo.test.js +304 -0
  40. package/dist/__tests__/integration/issue11-search-filters-bug.test.js +561 -0
  41. package/dist/__tests__/integration/issue12-checkpoint-restore-behavior.test.js +621 -0
  42. package/dist/__tests__/integration/issue13-key-validation.test.js +433 -0
  43. package/dist/__tests__/integration/issue24-final-fix.test.js +241 -0
  44. package/dist/__tests__/integration/issue24-fix-validation.test.js +158 -0
  45. package/dist/__tests__/integration/issue24-reproduce.test.js +225 -0
  46. package/dist/__tests__/integration/issue24-token-limit.test.js +199 -0
  47. package/dist/__tests__/integration/issue33-array-items-schema.test.js +165 -0
  48. package/dist/__tests__/integration/knowledge-graph.test.js +338 -0
  49. package/dist/__tests__/integration/migrations.test.js +528 -0
  50. package/dist/__tests__/integration/multi-agent.test.js +546 -0
  51. package/dist/__tests__/integration/pagination-critical-fix.test.js +296 -0
  52. package/dist/__tests__/integration/paginationDefaultsHandler.test.js +600 -0
  53. package/dist/__tests__/integration/project-directory.test.js +291 -0
  54. package/dist/__tests__/integration/resource-cleanup.test.js +149 -0
  55. package/dist/__tests__/integration/retention.test.js +513 -0
  56. package/dist/__tests__/integration/search.test.js +333 -0
  57. package/dist/__tests__/integration/semantic-search.test.js +266 -0
  58. package/dist/__tests__/integration/server-initialization.test.js +305 -0
  59. package/dist/__tests__/integration/session-management.test.js +219 -0
  60. package/dist/__tests__/integration/simplified-sharing.test.js +346 -0
  61. package/dist/__tests__/integration/smart-compaction.test.js +230 -0
  62. package/dist/__tests__/integration/summarization.test.js +308 -0
  63. package/dist/__tests__/integration/tokenLimitEnforcement.test.js +134 -0
  64. package/dist/__tests__/integration/tool-profiles-integration.test.js +150 -0
  65. package/dist/__tests__/integration/watcher-migration-validation.test.js +544 -0
  66. package/dist/__tests__/security/input-validation.test.js +115 -0
  67. package/dist/__tests__/utils/agents.test.js +473 -0
  68. package/dist/__tests__/utils/database.test.js +177 -0
  69. package/dist/__tests__/utils/git.test.js +122 -0
  70. package/dist/__tests__/utils/knowledge-graph.test.js +297 -0
  71. package/dist/__tests__/utils/migrationHealthCheck.test.js +302 -0
  72. package/dist/__tests__/utils/project-directory-messages.test.js +192 -0
  73. package/dist/__tests__/utils/timezone-safe-dates.js +119 -0
  74. package/dist/__tests__/utils/token-limits.test.js +225 -0
  75. package/dist/__tests__/utils/tool-profiles.test.js +374 -0
  76. package/dist/__tests__/utils/validation.test.js +200 -0
  77. package/dist/__tests__/utils/vector-store.test.js +231 -0
  78. package/dist/handlers/contextWatchHandlers.js +206 -0
  79. package/dist/index.js +4425 -0
  80. package/dist/migrations/003_add_channels.js +174 -0
  81. package/dist/migrations/004_add_context_watch.js +151 -0
  82. package/dist/migrations/005_add_context_watch.js +98 -0
  83. package/dist/migrations/simplify-sharing.js +117 -0
  84. package/dist/repositories/BaseRepository.js +30 -0
  85. package/dist/repositories/CheckpointRepository.js +140 -0
  86. package/dist/repositories/ContextRepository.js +2017 -0
  87. package/dist/repositories/FileRepository.js +104 -0
  88. package/dist/repositories/RepositoryManager.js +62 -0
  89. package/dist/repositories/SessionRepository.js +66 -0
  90. package/dist/repositories/WatcherRepository.js +252 -0
  91. package/dist/repositories/index.js +15 -0
  92. package/dist/test-helpers/database-helper.js +128 -0
  93. package/dist/types/entities.js +3 -0
  94. package/dist/utils/agents.js +791 -0
  95. package/dist/utils/channels.js +150 -0
  96. package/dist/utils/database.js +780 -0
  97. package/dist/utils/feature-flags.js +476 -0
  98. package/dist/utils/git.js +145 -0
  99. package/dist/utils/knowledge-graph.js +264 -0
  100. package/dist/utils/migrationHealthCheck.js +373 -0
  101. package/dist/utils/migrations.js +452 -0
  102. package/dist/utils/retention.js +460 -0
  103. package/dist/utils/timestamps.js +112 -0
  104. package/dist/utils/token-limits.js +350 -0
  105. package/dist/utils/tool-profiles.js +242 -0
  106. package/dist/utils/validation.js +296 -0
  107. package/dist/utils/vector-store.js +247 -0
  108. package/examples/config.json +31 -0
  109. package/examples/project-directory-setup.md +114 -0
  110. package/package.json +85 -0
package/CHANGELOG.md ADDED
@@ -0,0 +1,542 @@
1
+ # Changelog
2
+
3
+ All notable changes to MCP Memory Keeper will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ## [0.12.2] - 2026-04-07
11
+
12
+ ### Fixed
13
+
14
+ - **`full` tool profile breaks OpenAI-compatible providers** (#33)
15
+ - `context_delegate.input.insights` array property was missing required `items` declaration
16
+ - Stricter providers rejected the schema with `invalid_function_parameters`
17
+ - Added `items: { type: 'object', properties: {...} }` to the `insights` property with proper `patterns`, `relationships`, `trends`, and `themes` fields
18
+ - Added `properties: {}` to `context_link.metadata` bare object schema for strict validator compatibility
19
+ - Added regression test that validates all array properties across all tool schemas have `items` declared
20
+ - Added comprehensive E2E test suite that spawns the actual MCP server and validates tool schemas, tool calls, and error handling over stdio
21
+
22
+ ## [0.12.1] - 2026-03-24
23
+
24
+ ### Fixed
25
+
26
+ - **Server crashes with SQLITE_CANTOPEN when parent process CWD changes** (#31)
27
+ - Server now resolves database path to an absolute location (`$DATA_DIR` or `~/mcp-data/memory-keeper/`) instead of relying on CWD
28
+ - Added try/catch around data directory creation with actionable error message
29
+ - Startup warning with exact `cp` command when legacy `context.db` detected in CWD
30
+ - README "from source" install command now points to `bin/mcp-memory-keeper` instead of `node dist/index.js`
31
+ - Added Upgrading section documenting database path change and migration steps
32
+
33
+ ### Technical
34
+
35
+ - Fixed integration tests to use `DATA_DIR` instead of dead `MCP_DB_PATH` environment variable
36
+ - Fixed `git.init()` in tests to use `--initial-branch=master` for deterministic behavior
37
+
38
+ ## [0.12.0] - 2026-02-06
39
+
40
+ ### Added
41
+
42
+ - **Selective Tool Filtering via Profiles** (#29)
43
+ - Control which tools are exposed to reduce context window usage (~10-15K tokens saved with minimal profile)
44
+ - Three built-in profiles: `minimal` (8 tools), `standard` (22 tools), `full` (38 tools, default)
45
+ - `TOOL_PROFILE` environment variable to select active profile at startup
46
+ - `TOOL_PROFILE_CONFIG` environment variable to specify custom config file path
47
+ - Custom profile definitions via `~/.mcp-memory-keeper/config.json`
48
+ - Config file profiles take precedence over built-in defaults
49
+ - Helpful error messages when disabled tools are called, with guidance on enabling them
50
+ - Startup logging shows active profile, tool count, and source
51
+ - Example config file included in `examples/config.json`
52
+
53
+ ### Technical
54
+
55
+ - New `src/utils/tool-profiles.ts` module with `ALL_TOOL_NAMES` source of truth
56
+ - `ToolName` union type for compile-time safety
57
+ - Deep config validation (guards against malformed JSON, null values, non-array profiles, non-string elements)
58
+ - Drift-detection integration test verifies `ALL_TOOL_NAMES` stays in sync with `index.ts` tool definitions
59
+ - Defense-in-depth: both `ListTools` filtering and `CallTool` guard for disabled tools
60
+ - 100% backwards compatible — no env var + no config = all 38 tools (existing behavior unchanged)
61
+ - All 1185 tests passing across Node.js 20, 22, and 24
62
+
63
+ ## [0.11.0] - 2025-12-10
64
+
65
+ ### Breaking Changes
66
+
67
+ - **Node.js 18 support dropped** - Minimum required Node.js version is now 20.0.0
68
+ - Node.js 18 reached End-of-Life on April 30, 2025
69
+ - Users on Node.js 18 must upgrade to Node.js 20 or later
70
+ - Existing installations will continue working until updated
71
+
72
+ ### Fixed
73
+
74
+ - **Installation fails on Node.js 24 (#28)** - Updated `better-sqlite3` dependency
75
+ - Upgraded from `^11.10.0` to `^12.1.0` to support Node.js 24 (LTS "Krypton")
76
+ - Prebuilt binaries now available for Node.js 20, 22, and 24
77
+ - Resolves `gyp ERR!` build failures on Node.js 24
78
+
79
+ ## [0.10.2] - 2025-09-16
80
+
81
+ ### Fixed
82
+
83
+ - **Critical Token Limit Issue (#24)** - Fixed token overflow with includeMetadata
84
+ - Implemented dynamic token limit calculation based on actual content size
85
+ - Automatically adjusts item limits based on average item size in session
86
+ - More accurate token estimation (3.5 chars/token vs 4)
87
+ - Configurable via environment variables (MCP_MAX_TOKENS, MCP_TOKEN_SAFETY_BUFFER)
88
+ - Added tokenInfo to response metadata for transparency
89
+ - Resolves "MCP tool context_get response exceeds maximum allowed tokens" errors
90
+
91
+ ### Added
92
+
93
+ - **Token Limit Management Module** (`utils/token-limits.ts`)
94
+ - Dynamic calculation of safe item limits
95
+ - Response overhead estimation
96
+ - Configurable token limits via environment
97
+ - Better visibility into token usage
98
+ - Proper TypeScript interfaces for context items
99
+ - Environment variable validation with bounds checking
100
+ - Safe JSON parsing with error handling
101
+ - Well-documented constants replacing magic numbers
102
+
103
+ ## [0.10.1] - 2025-07-11
104
+
105
+ ### Fixed
106
+
107
+ - **Token Limit Enforcement** - Fixed MCP protocol token limit errors
108
+
109
+ - Added automatic response truncation when approaching 25,000 token limit
110
+ - Implemented `calculateSafeItemCount()` helper to determine safe result size
111
+ - Enhanced pagination metadata with `truncated` and `truncatedCount` fields
112
+ - Improved warning messages with specific pagination instructions
113
+ - Prevents "response exceeds maximum allowed tokens" errors from MCP clients
114
+
115
+ - **Pagination Defaults in context_get** - Improved consistency
116
+ - Added proper validation of pagination parameters at handler level
117
+ - Default limit of 100 items now properly applied when not specified
118
+ - Invalid limit/offset values are validated and fallback to defaults
119
+ - Response includes `defaultsApplied` metadata to indicate when defaults were used
120
+ - Consistent behavior with `context_search_all` and other paginated endpoints
121
+
122
+ ### Added
123
+
124
+ - **Batch Operations** - Atomic multi-item operations
125
+
126
+ - `context_batch_save` - Save multiple items in one transaction
127
+ - `context_batch_delete` - Delete multiple items by keys or pattern
128
+ - `context_batch_update` - Update multiple items with partial changes
129
+ - Ensures data consistency with all-or-nothing transactions
130
+
131
+ - **Channel Reassignment** - Reorganize context items
132
+
133
+ - `context_reassign_channel` - Move items between channels
134
+ - Support for key patterns, specific keys, or entire channels
135
+ - Filter by category and priority during moves
136
+ - Dry run option to preview changes
137
+
138
+ - **Context Relationships** - Build knowledge graphs
139
+
140
+ - `context_link` - Create typed relationships between items
141
+ - `context_get_related` - Find related items with traversal
142
+ - 14 relationship types (contains, depends_on, references, etc.)
143
+ - Multi-level depth traversal support
144
+ - Directional queries (incoming/outgoing/both)
145
+
146
+ - **Real-time Monitoring** - Watch for context changes
147
+ - `context_watch` - Create filtered watchers for changes
148
+ - Support for long polling and immediate returns
149
+ - Filter by keys, categories, channels, priorities
150
+ - Track added vs updated items
151
+
152
+ ### Documentation
153
+
154
+ - Added comprehensive documentation for all new features in API.md
155
+ - Added practical examples in EXAMPLES.md
156
+ - Added recipes for common patterns in RECIPES.md
157
+ - Added troubleshooting tips for new features
158
+
159
+ ## [0.10.0] - 2025-06-26
160
+
161
+ ### Added
162
+
163
+ - **Channels** - Persistent topic-based organization (#22)
164
+
165
+ - Auto-derived from git branch names (20 chars max)
166
+ - Survives session crashes and restarts
167
+ - `defaultChannel` parameter in `context_session_start`
168
+ - `channel` parameter in `context_save` and `context_get`
169
+ - Perfect for multi-branch development and team collaboration
170
+
171
+ - **Enhanced Filtering** in `context_get` (#21)
172
+
173
+ - `includeMetadata` - Get timestamps and size information
174
+ - `sort` - Sort by created/updated time (asc/desc) or priority
175
+ - `limit` and `offset` - Pagination support
176
+ - `createdAfter` and `createdBefore` - Time-based filtering
177
+ - `keyPattern` - Regex pattern matching for keys
178
+ - `priorities` - Filter by multiple priority levels
179
+
180
+ - **Enhanced Timeline** (#21)
181
+ - `includeItems` - Show actual items, not just counts
182
+ - `categories` - Filter timeline by specific categories
183
+ - `relativeTime` - Display "2 hours ago" format
184
+ - `itemsPerPeriod` - Limit items shown per time period
185
+
186
+ ### Changed
187
+
188
+ - Database schema updated with `channel` column in context_items table
189
+ - Improved query performance with channel indexing
190
+ - Better support for cross-branch context queries
191
+
192
+ ### Technical
193
+
194
+ - Added channels migration (003_add_channels.ts)
195
+ - Enhanced validation for channel names
196
+ - Backward compatible - existing items default to 'default' channel
197
+
198
+ ## [0.9.0] - 2025-06-21
199
+
200
+ ### Changed (BREAKING)
201
+
202
+ - **Simplified Sharing Model** (#19)
203
+ - Context items are now shared across all sessions by default (public)
204
+ - Removed broken `context_share` and `context_get_shared` commands
205
+ - Added `private` flag to `context_save` for session-specific items
206
+ - Database schema updated: replaced `shared` and `shared_with_sessions` columns with `is_private`
207
+ - Migration included to make ALL existing items public (accessible across sessions)
208
+
209
+ ### Fixed
210
+
211
+ - Cross-session collaboration now works reliably
212
+ - Context accessibility is consistent across all retrieval methods
213
+ - Search operations properly respect privacy settings
214
+
215
+ ### Removed
216
+
217
+ - `context_share` tool (sharing is now automatic)
218
+ - `context_get_shared` tool (use `context_get` instead)
219
+ - Complex sharing mechanism that was causing inconsistencies
220
+
221
+ ## [0.8.4] - 2025-06-19
222
+
223
+ ### Fixed
224
+
225
+ - Critical fix for "table sessions has no column named working_directory" error
226
+ - Added defensive checks before using working_directory column
227
+ - Gracefully handles existing databases without the new column
228
+
229
+ ### Added
230
+
231
+ - Tiered storage and retention policies (planned)
232
+ - Feature flags system (planned)
233
+ - Database migration system (planned)
234
+
235
+ ## [0.8.3] - 2025-06-19
236
+
237
+ ### Added
238
+
239
+ - **Smart Project Directory Management**
240
+ - `context_session_start` provides intelligent suggestions when no project directory is set
241
+ - Detects git repositories in current directory and subdirectories
242
+ - Suggests appropriate project paths based on directory structure
243
+ - Working directory is stored in the sessions table when explicitly provided
244
+ - Git-dependent tools now prompt for project directory setup when needed
245
+
246
+ ### Changed
247
+
248
+ - Sessions table now includes a `working_directory` column
249
+ - Improved user guidance for setting up git tracking
250
+ - More helpful messages when project directory is not set
251
+
252
+ ### Fixed
253
+
254
+ - Automatic schema migration for existing databases to add the `working_directory` column
255
+
256
+ ## [0.8.0] - 2025-06-18
257
+
258
+ ### Added
259
+
260
+ - **Session Branching & Merging** (#14)
261
+ - `context_branch_session` tool for creating session branches
262
+ - Support for shallow (high-priority only) and deep (full copy) branching
263
+ - `context_merge_sessions` tool with three conflict resolution strategies
264
+ - Parent-child relationship tracking in sessions table
265
+ - **Journal Entries** (#16)
266
+ - `context_journal_entry` tool for time-stamped reflections
267
+ - Support for tags and mood tracking
268
+ - Integration with timeline visualization
269
+ - **Timeline View** (#16)
270
+ - `context_timeline` tool to visualize activity patterns
271
+ - Grouping by hour, day, or week
272
+ - Category distribution over time
273
+ - Journal entry integration
274
+ - **Progressive Compression** (#17)
275
+ - `context_compress` tool for intelligent space management
276
+ - Preserve important categories while compressing old data
277
+ - Automatic compression ratio calculation
278
+ - Target size optimization support
279
+ - **Cross-Tool Integration** (#18)
280
+ - `context_integrate_tool` to record events from other MCP tools
281
+ - Automatic high-priority context item creation for important events
282
+ - Support for tool event metadata storage
283
+
284
+ ### Changed
285
+
286
+ - Updated database schema to support new features
287
+ - Enhanced documentation with comprehensive examples
288
+ - Improved test coverage with 19 new test cases
289
+
290
+ ### Technical
291
+
292
+ - Added `parent_id` column to sessions table
293
+ - New tables: `journal_entries`, `compressed_context`, `tool_events`
294
+ - All 255 tests passing
295
+
296
+ ## [0.7.0] - 2025-06-18
297
+
298
+ ### Added
299
+
300
+ - **Multi-Agent System** (#9)
301
+ - Agent framework with specialized roles
302
+ - `AnalyzerAgent` for pattern detection and relationship analysis
303
+ - `SynthesizerAgent` for summarization and recommendations
304
+ - `AgentCoordinator` for managing agent workflows
305
+ - `context_delegate` tool for intelligent task delegation
306
+ - Agent chaining capability for complex workflows
307
+ - Confidence scoring for agent outputs
308
+
309
+ ### Changed
310
+
311
+ - Improved documentation with multi-agent examples
312
+ - Enhanced EXAMPLES.md with agent usage patterns
313
+
314
+ ### Technical
315
+
316
+ - Created `src/utils/agents.ts` with complete agent implementation
317
+ - Added comprehensive test coverage (30 new tests)
318
+ - All 236 tests passing
319
+
320
+ ## [0.6.0] - 2025-06-17
321
+
322
+ ### Added
323
+
324
+ - **Semantic Search** (#4)
325
+ - `context_semantic_search` tool for natural language queries
326
+ - Lightweight vector embeddings using character n-grams
327
+ - No external dependencies required
328
+ - Similarity threshold filtering
329
+ - Integration with existing search infrastructure
330
+
331
+ ### Changed
332
+
333
+ - Updated examples with semantic search patterns
334
+ - Enhanced documentation for natural language queries
335
+
336
+ ### Technical
337
+
338
+ - Implemented `VectorStore` class for embedding management
339
+ - Added `vector_embeddings` table to database schema
340
+ - Comprehensive test coverage for semantic search
341
+ - All 206 tests passing
342
+
343
+ ## [0.5.0] - 2025-06-17
344
+
345
+ ### Added
346
+
347
+ - **Knowledge Graph Integration** (#3)
348
+ - Automatic entity extraction from context
349
+ - Relationship detection between entities
350
+ - `context_analyze` tool for building knowledge graph
351
+ - `context_find_related` tool for exploring connections
352
+ - `context_visualize` tool with graph/timeline/heatmap views
353
+ - Confidence scoring for relationships
354
+
355
+ ### Changed
356
+
357
+ - Enhanced database schema for knowledge graph support
358
+ - Improved context analysis capabilities
359
+
360
+ ### Technical
361
+
362
+ - New tables: `entities`, `relations`, `observations`
363
+ - Added `knowledge-graph.ts` utility module
364
+ - Comprehensive test coverage for graph operations
365
+
366
+ ## [0.4.2] - 2025-06-17
367
+
368
+ ### Added
369
+
370
+ - **Documentation Improvements**
371
+ - Comprehensive TROUBLESHOOTING.md guide
372
+ - Enhanced EXAMPLES.md with real-world scenarios
373
+ - Started RECIPES.md for common patterns
374
+
375
+ ### Fixed
376
+
377
+ - Git integration error handling
378
+ - Session list date filtering
379
+
380
+ ## [0.4.1] - 2025-06-17
381
+
382
+ ### Fixed
383
+
384
+ - Database initialization race condition
385
+ - Checkpoint restoration with missing files
386
+ - Search result ranking accuracy
387
+
388
+ ### Changed
389
+
390
+ - Improved error messages for better debugging
391
+ - Enhanced validation for file paths
392
+
393
+ ## [0.4.0] - 2025-06-17
394
+
395
+ ### Added
396
+
397
+ - **Git Integration** (#2)
398
+ - `context_git_commit` tool with auto-save
399
+ - Automatic context correlation with commits
400
+ - Git status capture in checkpoints
401
+ - Branch tracking
402
+
403
+ ### Changed
404
+
405
+ - Checkpoint system now includes git information
406
+ - Enhanced session metadata with git branch
407
+
408
+ ### Technical
409
+
410
+ - Added `simple-git` dependency
411
+ - Created `git.ts` utility module
412
+ - 97% test coverage maintained
413
+
414
+ ## [0.3.0] - 2025-06-17
415
+
416
+ ### Added
417
+
418
+ - **Smart Compaction** (#1)
419
+ - `context_prepare_compaction` tool
420
+ - Automatic identification of critical items
421
+ - Unfinished task preservation
422
+ - Restoration instructions generation
423
+ - **Search Functionality**
424
+ - `context_search` tool with full-text search
425
+ - Search in keys and values
426
+ - Category and session filtering
427
+ - **Export/Import**
428
+ - `context_export` tool for JSON/CSV export
429
+ - `context_import` tool with merge strategies
430
+ - Session backup and restore capability
431
+
432
+ ### Changed
433
+
434
+ - Improved checkpoint metadata
435
+ - Enhanced error handling across all tools
436
+
437
+ ### Technical
438
+
439
+ - Added search indexes for performance
440
+ - Implemented streaming for large exports
441
+ - Transaction support for atomic operations
442
+
443
+ ## [0.2.0] - 2025-06-17
444
+
445
+ ### Added
446
+
447
+ - **Checkpoint System**
448
+ - `context_checkpoint` tool for complete snapshots
449
+ - `context_restore_checkpoint` for state restoration
450
+ - File cache inclusion in checkpoints
451
+ - Git status integration
452
+ - **Context Summarization**
453
+ - `context_summarize` tool
454
+ - AI-friendly markdown summaries
455
+ - Category and priority grouping
456
+ - Session statistics
457
+ - **Enhanced File Management**
458
+ - SHA-256 hash-based change detection
459
+ - File size tracking
460
+ - Automatic cache invalidation
461
+
462
+ ### Changed
463
+
464
+ - Improved session management with metadata
465
+ - Better error messages with error codes
466
+ - Enhanced validation for all inputs
467
+
468
+ ### Fixed
469
+
470
+ - Memory leak in file cache operations
471
+ - Session switching race condition
472
+
473
+ ## [0.1.0] - 2025-06-17
474
+
475
+ ### Added
476
+
477
+ - Initial release
478
+ - **Core Features**
479
+ - `context_save` and `context_get` tools
480
+ - `context_delete` for item removal
481
+ - Session management with `context_session_start` and `context_session_list`
482
+ - File caching with `context_cache_file` and `context_file_changed`
483
+ - Status monitoring with `context_status`
484
+ - **Database Setup**
485
+ - SQLite with WAL mode
486
+ - Automatic database creation
487
+ - Size tracking and limits
488
+ - **MCP Integration**
489
+ - Full MCP protocol implementation
490
+ - Tool discovery and schema validation
491
+ - Error handling and reporting
492
+
493
+ ### Technical
494
+
495
+ - TypeScript implementation
496
+ - Comprehensive test suite
497
+ - Zero runtime dependencies (except MCP SDK and SQLite)
498
+
499
+ ## Development Releases
500
+
501
+ ### [0.1.0-beta.2] - 2025-06-17
502
+
503
+ - Fixed Windows path handling
504
+ - Added Node.js 18+ compatibility
505
+
506
+ ### [0.1.0-beta.1] - 2025-06-17
507
+
508
+ - Initial beta release
509
+ - Basic functionality testing
510
+ - Community feedback integration
511
+
512
+ ## Legend
513
+
514
+ - **Added**: New features
515
+ - **Changed**: Changes in existing functionality
516
+ - **Deprecated**: Soon-to-be removed features
517
+ - **Removed**: Removed features
518
+ - **Fixed**: Bug fixes
519
+ - **Security**: Security updates
520
+ - **Technical**: Internal improvements
521
+
522
+ [Unreleased]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.12.2...HEAD
523
+ [0.12.2]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.12.1...v0.12.2
524
+ [0.12.1]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.12.0...v0.12.1
525
+ [0.12.0]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.11.0...v0.12.0
526
+ [0.11.0]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.10.2...v0.11.0
527
+ [0.10.2]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.10.1...v0.10.2
528
+ [0.10.1]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.10.0...v0.10.1
529
+ [0.10.0]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.9.0...v0.10.0
530
+ [0.9.0]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.8.4...v0.9.0
531
+ [0.8.4]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.8.3...v0.8.4
532
+ [0.8.3]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.8.0...v0.8.3
533
+ [0.8.0]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.7.0...v0.8.0
534
+ [0.7.0]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.6.0...v0.7.0
535
+ [0.6.0]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.5.0...v0.6.0
536
+ [0.5.0]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.4.2...v0.5.0
537
+ [0.4.2]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.4.1...v0.4.2
538
+ [0.4.1]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.4.0...v0.4.1
539
+ [0.4.0]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.3.0...v0.4.0
540
+ [0.3.0]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.2.0...v0.3.0
541
+ [0.2.0]: https://github.com/mkreyman/mcp-memory-keeper/compare/v0.1.0...v0.2.0
542
+ [0.1.0]: https://github.com/mkreyman/mcp-memory-keeper/releases/tag/v0.1.0
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Mark Kreyman
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.