@prmichaelsen/remember-mcp 1.0.1 → 1.0.2
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/agent/progress.yaml +43 -6
- package/dist/server-factory.js +3 -8
- package/dist/server.js +3 -8
- package/package.json +1 -1
- package/src/utils/weaviate-filters.ts +5 -12
package/agent/progress.yaml
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
project:
|
|
4
4
|
name: remember-mcp
|
|
5
|
-
version: 0.
|
|
5
|
+
version: 1.0.1
|
|
6
6
|
started: 2026-02-11
|
|
7
7
|
status: in_progress
|
|
8
8
|
current_milestone: M5
|
|
@@ -378,6 +378,31 @@ progress:
|
|
|
378
378
|
overall: 50%
|
|
379
379
|
|
|
380
380
|
recent_work:
|
|
381
|
+
- date: 2026-02-12
|
|
382
|
+
description: v1.0.1 Released - Or Operator Bug Fix
|
|
383
|
+
items:
|
|
384
|
+
- 🎉 v1.0.1 RELEASED - Patch release with bug fix
|
|
385
|
+
- 🐛 Fixed "no children for operator Or" error
|
|
386
|
+
- ✅ Added validation to filter out undefined/null values in filter combinations
|
|
387
|
+
- ✅ Updated combineFiltersWithOr to validate operands
|
|
388
|
+
- ✅ Updated combineFiltersWithAnd to validate operands
|
|
389
|
+
- ✅ Added 3 new edge case tests for undefined/null handling
|
|
390
|
+
- ✅ All 57 tests passing (up from 54)
|
|
391
|
+
- ✅ Code coverage: 90.56% on weaviate-filters.ts
|
|
392
|
+
- ✅ Build successful
|
|
393
|
+
- ✅ CHANGELOG.md updated
|
|
394
|
+
|
|
395
|
+
- date: 2026-02-12
|
|
396
|
+
description: v1.0.0 Released - Major Version with Breaking Changes
|
|
397
|
+
items:
|
|
398
|
+
- 🎉 v1.0.0 RELEASED - First stable release
|
|
399
|
+
- 🚨 BREAKING: createServer is now async (returns Promise<Server>)
|
|
400
|
+
- ✅ Database initialization now uses await pattern
|
|
401
|
+
- ✅ Server factory properly waits for databases before accepting requests
|
|
402
|
+
- ✅ Updated all server-factory tests for async
|
|
403
|
+
- ✅ All 54 tests passing
|
|
404
|
+
- ✅ CHANGELOG.md created with migration guide
|
|
405
|
+
|
|
381
406
|
- date: 2026-02-12
|
|
382
407
|
description: Task 20 COMPLETED - Weaviate v3 Filters & Relationship Search
|
|
383
408
|
items:
|
|
@@ -390,12 +415,11 @@ recent_work:
|
|
|
390
415
|
- ✅ Updated search-memory.ts to search BOTH memories AND relationships by default
|
|
391
416
|
- ✅ Updated query-memory.ts to use v3 filters
|
|
392
417
|
- ✅ Results now separated into memories and relationships arrays
|
|
393
|
-
- ✅
|
|
418
|
+
- ✅ 29 new unit tests for filter builders
|
|
394
419
|
- ✅ Build successful
|
|
395
420
|
- ✅ TypeScript compiles without errors
|
|
396
421
|
- 🔧 Fixed gRPC "paths needs to have an uneven number of components" error
|
|
397
422
|
- 🔧 Replaced old v2 filter format (path/operator/valueText) with v3 fluent API
|
|
398
|
-
- 📋 Ready for M5: Template System
|
|
399
423
|
|
|
400
424
|
- date: 2026-02-12
|
|
401
425
|
description: Project Status Review & Documentation Update
|
|
@@ -513,10 +537,11 @@ build_status:
|
|
|
513
537
|
- ✅ Source maps generated
|
|
514
538
|
- ✅ Type definitions generated (.d.ts files)
|
|
515
539
|
- ✅ Package exports configured for both entry points
|
|
516
|
-
- ✅ Version 0.
|
|
517
|
-
- ✅
|
|
540
|
+
- ✅ Version 1.0.1 published (patch release)
|
|
541
|
+
- ✅ 29 TypeScript source files (added weaviate-filters.ts)
|
|
518
542
|
- ✅ All 12 tools implemented
|
|
519
543
|
- ✅ Weaviate v3 filter API implemented
|
|
544
|
+
- ✅ Or/And operator validation implemented
|
|
520
545
|
|
|
521
546
|
tools_status:
|
|
522
547
|
memory_tools:
|
|
@@ -552,9 +577,15 @@ task_20_completion:
|
|
|
552
577
|
date: 2026-02-12
|
|
553
578
|
files_created:
|
|
554
579
|
- src/utils/weaviate-filters.ts
|
|
580
|
+
- src/utils/weaviate-filters.spec.ts
|
|
581
|
+
- CHANGELOG.md
|
|
555
582
|
files_modified:
|
|
556
583
|
- src/tools/search-memory.ts
|
|
557
584
|
- src/tools/query-memory.ts
|
|
585
|
+
- src/server-factory.ts
|
|
586
|
+
- src/server-factory.spec.ts
|
|
587
|
+
- tsconfig.json
|
|
588
|
+
- package.json
|
|
558
589
|
key_changes:
|
|
559
590
|
- Replaced v2 filter format with v3 fluent API
|
|
560
591
|
- Implemented OR logic to search both memories and relationships
|
|
@@ -562,5 +593,11 @@ task_20_completion:
|
|
|
562
593
|
- Added buildMemoryOnlyFilters() for backward compatibility
|
|
563
594
|
- Updated search-memory to return both memories and relationships
|
|
564
595
|
- Fixed gRPC "paths needs to have an uneven number of components" error
|
|
565
|
-
|
|
596
|
+
- Fixed "no children for operator Or" error with validation
|
|
597
|
+
- Made createServer async for proper initialization (BREAKING CHANGE)
|
|
598
|
+
- Added 32 new unit tests (29 filter tests + 3 edge case tests)
|
|
599
|
+
tests_passing: 57/58 (1 skipped integration test)
|
|
566
600
|
build_status: successful
|
|
601
|
+
releases:
|
|
602
|
+
- v1.0.0: Major release with breaking change (async createServer)
|
|
603
|
+
- v1.0.1: Patch release with Or operator bug fix
|
package/dist/server-factory.js
CHANGED
|
@@ -1408,6 +1408,7 @@ async function handleCreateMemory(args, userId, context) {
|
|
|
1408
1408
|
}
|
|
1409
1409
|
|
|
1410
1410
|
// src/utils/weaviate-filters.ts
|
|
1411
|
+
import { Filters } from "weaviate-client";
|
|
1411
1412
|
function buildCombinedSearchFilters(collection, filters) {
|
|
1412
1413
|
const memoryFilters = buildDocTypeFilters(collection, "memory", filters);
|
|
1413
1414
|
const relationshipFilters = buildDocTypeFilters(collection, "relationship", filters);
|
|
@@ -1490,10 +1491,7 @@ function combineFiltersWithAnd(filters) {
|
|
|
1490
1491
|
if (validFilters.length === 1) {
|
|
1491
1492
|
return validFilters[0];
|
|
1492
1493
|
}
|
|
1493
|
-
return
|
|
1494
|
-
operator: "And",
|
|
1495
|
-
operands: validFilters
|
|
1496
|
-
};
|
|
1494
|
+
return Filters.and(...validFilters);
|
|
1497
1495
|
}
|
|
1498
1496
|
function combineFiltersWithOr(filters) {
|
|
1499
1497
|
const validFilters = filters.filter((f) => f !== void 0 && f !== null);
|
|
@@ -1503,10 +1501,7 @@ function combineFiltersWithOr(filters) {
|
|
|
1503
1501
|
if (validFilters.length === 1) {
|
|
1504
1502
|
return validFilters[0];
|
|
1505
1503
|
}
|
|
1506
|
-
return
|
|
1507
|
-
operator: "Or",
|
|
1508
|
-
operands: validFilters
|
|
1509
|
-
};
|
|
1504
|
+
return Filters.or(...validFilters);
|
|
1510
1505
|
}
|
|
1511
1506
|
|
|
1512
1507
|
// src/tools/search-memory.ts
|
package/dist/server.js
CHANGED
|
@@ -1337,6 +1337,7 @@ async function handleCreateMemory(args, userId, context) {
|
|
|
1337
1337
|
}
|
|
1338
1338
|
|
|
1339
1339
|
// src/utils/weaviate-filters.ts
|
|
1340
|
+
import { Filters } from "weaviate-client";
|
|
1340
1341
|
function buildCombinedSearchFilters(collection, filters) {
|
|
1341
1342
|
const memoryFilters = buildDocTypeFilters(collection, "memory", filters);
|
|
1342
1343
|
const relationshipFilters = buildDocTypeFilters(collection, "relationship", filters);
|
|
@@ -1419,10 +1420,7 @@ function combineFiltersWithAnd(filters) {
|
|
|
1419
1420
|
if (validFilters.length === 1) {
|
|
1420
1421
|
return validFilters[0];
|
|
1421
1422
|
}
|
|
1422
|
-
return
|
|
1423
|
-
operator: "And",
|
|
1424
|
-
operands: validFilters
|
|
1425
|
-
};
|
|
1423
|
+
return Filters.and(...validFilters);
|
|
1426
1424
|
}
|
|
1427
1425
|
function combineFiltersWithOr(filters) {
|
|
1428
1426
|
const validFilters = filters.filter((f) => f !== void 0 && f !== null);
|
|
@@ -1432,10 +1430,7 @@ function combineFiltersWithOr(filters) {
|
|
|
1432
1430
|
if (validFilters.length === 1) {
|
|
1433
1431
|
return validFilters[0];
|
|
1434
1432
|
}
|
|
1435
|
-
return
|
|
1436
|
-
operator: "Or",
|
|
1437
|
-
operands: validFilters
|
|
1438
|
-
};
|
|
1433
|
+
return Filters.or(...validFilters);
|
|
1439
1434
|
}
|
|
1440
1435
|
|
|
1441
1436
|
// src/tools/search-memory.ts
|
package/package.json
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Replaces old v2 filter format (path/operator/valueText) with v3 collection.filter.byProperty()
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
import { Filters } from 'weaviate-client';
|
|
8
9
|
import type { SearchFilters } from '../types/memory.js';
|
|
9
10
|
|
|
10
11
|
/**
|
|
@@ -175,12 +176,8 @@ function combineFiltersWithAnd(filters: any[]): any {
|
|
|
175
176
|
return validFilters[0];
|
|
176
177
|
}
|
|
177
178
|
|
|
178
|
-
// Weaviate v3 uses
|
|
179
|
-
|
|
180
|
-
return {
|
|
181
|
-
operator: 'And',
|
|
182
|
-
operands: validFilters
|
|
183
|
-
};
|
|
179
|
+
// Weaviate v3 uses Filters.and() from weaviate-client package
|
|
180
|
+
return Filters.and(...validFilters);
|
|
184
181
|
}
|
|
185
182
|
|
|
186
183
|
/**
|
|
@@ -200,12 +197,8 @@ function combineFiltersWithOr(filters: any[]): any {
|
|
|
200
197
|
return validFilters[0];
|
|
201
198
|
}
|
|
202
199
|
|
|
203
|
-
// Weaviate v3 uses
|
|
204
|
-
|
|
205
|
-
return {
|
|
206
|
-
operator: 'Or',
|
|
207
|
-
operands: validFilters
|
|
208
|
-
};
|
|
200
|
+
// Weaviate v3 uses Filters.or() from weaviate-client package
|
|
201
|
+
return Filters.or(...validFilters);
|
|
209
202
|
}
|
|
210
203
|
|
|
211
204
|
/**
|