@prmichaelsen/remember-mcp 3.14.15 → 3.14.17
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/dist/server-factory.js +69 -5
- package/dist/server.js +69 -5
- package/package.json +2 -2
package/dist/server-factory.js
CHANGED
|
@@ -914,7 +914,9 @@ var CONTENT_TYPES = [
|
|
|
914
914
|
"ghost",
|
|
915
915
|
"comment",
|
|
916
916
|
// Profile
|
|
917
|
-
"profile"
|
|
917
|
+
"profile",
|
|
918
|
+
// Agent
|
|
919
|
+
"agent"
|
|
918
920
|
];
|
|
919
921
|
var CONTENT_TYPE_METADATA = {
|
|
920
922
|
// Core Types
|
|
@@ -1230,6 +1232,25 @@ var CONTENT_TYPE_METADATA = {
|
|
|
1230
1232
|
category: "cross_user",
|
|
1231
1233
|
description: "User profile published to the profiles space for people discovery",
|
|
1232
1234
|
examples: ["User bio", "About me", "Profile introduction"]
|
|
1235
|
+
},
|
|
1236
|
+
// Agent
|
|
1237
|
+
agent: {
|
|
1238
|
+
name: "agent",
|
|
1239
|
+
category: "system",
|
|
1240
|
+
description: "Agent working memory \u2014 observations, preferences, session notes, project tracking",
|
|
1241
|
+
examples: [
|
|
1242
|
+
"User responds well to concise, bulleted answers",
|
|
1243
|
+
"User prefers seeing full code context rather than snippets",
|
|
1244
|
+
'When user says "fix it", they mean fix and commit without asking',
|
|
1245
|
+
"User is a senior engineer working primarily in TypeScript",
|
|
1246
|
+
"User timezone is US Central, typically active 9am-11pm",
|
|
1247
|
+
"User is building agentbase.me \u2014 an AI integration platform on Cloudflare Workers",
|
|
1248
|
+
"Auth system redesign planned for Q2 \u2014 user wants JWT replaced with session cookies",
|
|
1249
|
+
"User tracking 3 active projects: agentbase.me, remember-core, agentbase-mobile",
|
|
1250
|
+
"Milestone M36 (Notifications) nearly complete \u2014 4 tasks remaining as of March 2026",
|
|
1251
|
+
"Follow up March 10: revisit subscription tier pricing discussion"
|
|
1252
|
+
],
|
|
1253
|
+
common_fields: ["observations", "preferences", "summaries", "follow_ups"]
|
|
1233
1254
|
}
|
|
1234
1255
|
};
|
|
1235
1256
|
function isValidContentType(type) {
|
|
@@ -1515,11 +1536,23 @@ function buildCombinedSearchFilters(collection, filters) {
|
|
|
1515
1536
|
function buildDocTypeFilters(collection, docType, filters) {
|
|
1516
1537
|
const filterList = [];
|
|
1517
1538
|
filterList.push(collection.filter.byProperty("doc_type").equal(docType));
|
|
1518
|
-
if (docType === "memory"
|
|
1519
|
-
|
|
1520
|
-
|
|
1539
|
+
if (docType === "memory") {
|
|
1540
|
+
const DEFAULT_EXCLUDED_TYPES = ["agent"];
|
|
1541
|
+
if (filters?.types && filters.types.length > 0) {
|
|
1542
|
+
if (filters.types.length === 1) {
|
|
1543
|
+
filterList.push(collection.filter.byProperty("content_type").equal(filters.types[0]));
|
|
1544
|
+
} else {
|
|
1545
|
+
filterList.push(collection.filter.byProperty("content_type").containsAny(filters.types));
|
|
1546
|
+
}
|
|
1521
1547
|
} else {
|
|
1522
|
-
|
|
1548
|
+
for (const excludedType of DEFAULT_EXCLUDED_TYPES) {
|
|
1549
|
+
filterList.push(collection.filter.byProperty("content_type").notEqual(excludedType));
|
|
1550
|
+
}
|
|
1551
|
+
}
|
|
1552
|
+
if (filters?.exclude_types && filters.exclude_types.length > 0) {
|
|
1553
|
+
for (const excludedType of filters.exclude_types) {
|
|
1554
|
+
filterList.push(collection.filter.byProperty("content_type").notEqual(excludedType));
|
|
1555
|
+
}
|
|
1523
1556
|
}
|
|
1524
1557
|
}
|
|
1525
1558
|
if (filters?.weight_min !== void 0) {
|
|
@@ -2018,6 +2051,7 @@ var MemoryService = class {
|
|
|
2018
2051
|
parent_id: input.parent_id ?? null,
|
|
2019
2052
|
thread_root_id: input.thread_root_id ?? null,
|
|
2020
2053
|
moderation_flags: input.moderation_flags ?? [],
|
|
2054
|
+
follow_up_at: input.follow_up_at || null,
|
|
2021
2055
|
space_ids: [],
|
|
2022
2056
|
group_ids: []
|
|
2023
2057
|
};
|
|
@@ -2402,6 +2436,31 @@ var RelationshipService = class {
|
|
|
2402
2436
|
this.logger.error(`Failed to update relationship_count for ${memoryId}:`, { error: error?.message || String(error) });
|
|
2403
2437
|
}
|
|
2404
2438
|
}
|
|
2439
|
+
// ── Get by ID ────────────────────────────────────────────────────────
|
|
2440
|
+
async getById(relationshipId) {
|
|
2441
|
+
const result = await this.collection.query.fetchObjectById(relationshipId, {
|
|
2442
|
+
returnProperties: [
|
|
2443
|
+
"user_id",
|
|
2444
|
+
"related_memory_ids",
|
|
2445
|
+
"relationship_type",
|
|
2446
|
+
"observation",
|
|
2447
|
+
"strength",
|
|
2448
|
+
"confidence",
|
|
2449
|
+
"source",
|
|
2450
|
+
"tags",
|
|
2451
|
+
"created_at",
|
|
2452
|
+
"updated_at",
|
|
2453
|
+
"version"
|
|
2454
|
+
]
|
|
2455
|
+
});
|
|
2456
|
+
if (!result) {
|
|
2457
|
+
return { found: false };
|
|
2458
|
+
}
|
|
2459
|
+
return {
|
|
2460
|
+
found: true,
|
|
2461
|
+
relationship: { id: relationshipId, ...result.properties }
|
|
2462
|
+
};
|
|
2463
|
+
}
|
|
2405
2464
|
// ── Create ──────────────────────────────────────────────────────────
|
|
2406
2465
|
async create(input) {
|
|
2407
2466
|
if (input.memory_ids.length < 2) {
|
|
@@ -2719,6 +2778,8 @@ var COMMON_MEMORY_PROPERTIES = [
|
|
|
2719
2778
|
{ name: "parent_id", dataType: configure.dataType.TEXT },
|
|
2720
2779
|
{ name: "thread_root_id", dataType: configure.dataType.TEXT },
|
|
2721
2780
|
{ name: "moderation_flags", dataType: configure.dataType.TEXT_ARRAY },
|
|
2781
|
+
// Agent follow-up tracking
|
|
2782
|
+
{ name: "follow_up_at", dataType: configure.dataType.DATE },
|
|
2722
2783
|
// Soft delete
|
|
2723
2784
|
{ name: "deleted_at", dataType: configure.dataType.DATE },
|
|
2724
2785
|
{ name: "deleted_by", dataType: configure.dataType.TEXT },
|
|
@@ -3547,6 +3608,9 @@ var SpaceService = class {
|
|
|
3547
3608
|
}
|
|
3548
3609
|
};
|
|
3549
3610
|
|
|
3611
|
+
// node_modules/@prmichaelsen/remember-core/dist/services/job.service.js
|
|
3612
|
+
var JOBS_COLLECTION = `${BASE}.jobs`;
|
|
3613
|
+
|
|
3550
3614
|
// node_modules/@prmichaelsen/remember-core/dist/services/rem.state.js
|
|
3551
3615
|
var REM_STATE_COLLECTION = `${BASE}.rem_state`;
|
|
3552
3616
|
|
package/dist/server.js
CHANGED
|
@@ -918,7 +918,9 @@ var CONTENT_TYPES = [
|
|
|
918
918
|
"ghost",
|
|
919
919
|
"comment",
|
|
920
920
|
// Profile
|
|
921
|
-
"profile"
|
|
921
|
+
"profile",
|
|
922
|
+
// Agent
|
|
923
|
+
"agent"
|
|
922
924
|
];
|
|
923
925
|
var CONTENT_TYPE_METADATA = {
|
|
924
926
|
// Core Types
|
|
@@ -1234,6 +1236,25 @@ var CONTENT_TYPE_METADATA = {
|
|
|
1234
1236
|
category: "cross_user",
|
|
1235
1237
|
description: "User profile published to the profiles space for people discovery",
|
|
1236
1238
|
examples: ["User bio", "About me", "Profile introduction"]
|
|
1239
|
+
},
|
|
1240
|
+
// Agent
|
|
1241
|
+
agent: {
|
|
1242
|
+
name: "agent",
|
|
1243
|
+
category: "system",
|
|
1244
|
+
description: "Agent working memory \u2014 observations, preferences, session notes, project tracking",
|
|
1245
|
+
examples: [
|
|
1246
|
+
"User responds well to concise, bulleted answers",
|
|
1247
|
+
"User prefers seeing full code context rather than snippets",
|
|
1248
|
+
'When user says "fix it", they mean fix and commit without asking',
|
|
1249
|
+
"User is a senior engineer working primarily in TypeScript",
|
|
1250
|
+
"User timezone is US Central, typically active 9am-11pm",
|
|
1251
|
+
"User is building agentbase.me \u2014 an AI integration platform on Cloudflare Workers",
|
|
1252
|
+
"Auth system redesign planned for Q2 \u2014 user wants JWT replaced with session cookies",
|
|
1253
|
+
"User tracking 3 active projects: agentbase.me, remember-core, agentbase-mobile",
|
|
1254
|
+
"Milestone M36 (Notifications) nearly complete \u2014 4 tasks remaining as of March 2026",
|
|
1255
|
+
"Follow up March 10: revisit subscription tier pricing discussion"
|
|
1256
|
+
],
|
|
1257
|
+
common_fields: ["observations", "preferences", "summaries", "follow_ups"]
|
|
1237
1258
|
}
|
|
1238
1259
|
};
|
|
1239
1260
|
function isValidContentType(type) {
|
|
@@ -1519,11 +1540,23 @@ function buildCombinedSearchFilters(collection, filters) {
|
|
|
1519
1540
|
function buildDocTypeFilters(collection, docType, filters) {
|
|
1520
1541
|
const filterList = [];
|
|
1521
1542
|
filterList.push(collection.filter.byProperty("doc_type").equal(docType));
|
|
1522
|
-
if (docType === "memory"
|
|
1523
|
-
|
|
1524
|
-
|
|
1543
|
+
if (docType === "memory") {
|
|
1544
|
+
const DEFAULT_EXCLUDED_TYPES = ["agent"];
|
|
1545
|
+
if (filters?.types && filters.types.length > 0) {
|
|
1546
|
+
if (filters.types.length === 1) {
|
|
1547
|
+
filterList.push(collection.filter.byProperty("content_type").equal(filters.types[0]));
|
|
1548
|
+
} else {
|
|
1549
|
+
filterList.push(collection.filter.byProperty("content_type").containsAny(filters.types));
|
|
1550
|
+
}
|
|
1525
1551
|
} else {
|
|
1526
|
-
|
|
1552
|
+
for (const excludedType of DEFAULT_EXCLUDED_TYPES) {
|
|
1553
|
+
filterList.push(collection.filter.byProperty("content_type").notEqual(excludedType));
|
|
1554
|
+
}
|
|
1555
|
+
}
|
|
1556
|
+
if (filters?.exclude_types && filters.exclude_types.length > 0) {
|
|
1557
|
+
for (const excludedType of filters.exclude_types) {
|
|
1558
|
+
filterList.push(collection.filter.byProperty("content_type").notEqual(excludedType));
|
|
1559
|
+
}
|
|
1527
1560
|
}
|
|
1528
1561
|
}
|
|
1529
1562
|
if (filters?.weight_min !== void 0) {
|
|
@@ -2022,6 +2055,7 @@ var MemoryService = class {
|
|
|
2022
2055
|
parent_id: input.parent_id ?? null,
|
|
2023
2056
|
thread_root_id: input.thread_root_id ?? null,
|
|
2024
2057
|
moderation_flags: input.moderation_flags ?? [],
|
|
2058
|
+
follow_up_at: input.follow_up_at || null,
|
|
2025
2059
|
space_ids: [],
|
|
2026
2060
|
group_ids: []
|
|
2027
2061
|
};
|
|
@@ -2406,6 +2440,31 @@ var RelationshipService = class {
|
|
|
2406
2440
|
this.logger.error(`Failed to update relationship_count for ${memoryId}:`, { error: error?.message || String(error) });
|
|
2407
2441
|
}
|
|
2408
2442
|
}
|
|
2443
|
+
// ── Get by ID ────────────────────────────────────────────────────────
|
|
2444
|
+
async getById(relationshipId) {
|
|
2445
|
+
const result = await this.collection.query.fetchObjectById(relationshipId, {
|
|
2446
|
+
returnProperties: [
|
|
2447
|
+
"user_id",
|
|
2448
|
+
"related_memory_ids",
|
|
2449
|
+
"relationship_type",
|
|
2450
|
+
"observation",
|
|
2451
|
+
"strength",
|
|
2452
|
+
"confidence",
|
|
2453
|
+
"source",
|
|
2454
|
+
"tags",
|
|
2455
|
+
"created_at",
|
|
2456
|
+
"updated_at",
|
|
2457
|
+
"version"
|
|
2458
|
+
]
|
|
2459
|
+
});
|
|
2460
|
+
if (!result) {
|
|
2461
|
+
return { found: false };
|
|
2462
|
+
}
|
|
2463
|
+
return {
|
|
2464
|
+
found: true,
|
|
2465
|
+
relationship: { id: relationshipId, ...result.properties }
|
|
2466
|
+
};
|
|
2467
|
+
}
|
|
2409
2468
|
// ── Create ──────────────────────────────────────────────────────────
|
|
2410
2469
|
async create(input) {
|
|
2411
2470
|
if (input.memory_ids.length < 2) {
|
|
@@ -2723,6 +2782,8 @@ var COMMON_MEMORY_PROPERTIES = [
|
|
|
2723
2782
|
{ name: "parent_id", dataType: configure.dataType.TEXT },
|
|
2724
2783
|
{ name: "thread_root_id", dataType: configure.dataType.TEXT },
|
|
2725
2784
|
{ name: "moderation_flags", dataType: configure.dataType.TEXT_ARRAY },
|
|
2785
|
+
// Agent follow-up tracking
|
|
2786
|
+
{ name: "follow_up_at", dataType: configure.dataType.DATE },
|
|
2726
2787
|
// Soft delete
|
|
2727
2788
|
{ name: "deleted_at", dataType: configure.dataType.DATE },
|
|
2728
2789
|
{ name: "deleted_by", dataType: configure.dataType.TEXT },
|
|
@@ -3551,6 +3612,9 @@ var SpaceService = class {
|
|
|
3551
3612
|
}
|
|
3552
3613
|
};
|
|
3553
3614
|
|
|
3615
|
+
// node_modules/@prmichaelsen/remember-core/dist/services/job.service.js
|
|
3616
|
+
var JOBS_COLLECTION = `${BASE}.jobs`;
|
|
3617
|
+
|
|
3554
3618
|
// node_modules/@prmichaelsen/remember-core/dist/services/rem.state.js
|
|
3555
3619
|
var REM_STATE_COLLECTION = `${BASE}.rem_state`;
|
|
3556
3620
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@prmichaelsen/remember-mcp",
|
|
3
|
-
"version": "3.14.
|
|
3
|
+
"version": "3.14.17",
|
|
4
4
|
"description": "Multi-tenant memory system MCP server with vector search and relationships",
|
|
5
5
|
"main": "dist/server.js",
|
|
6
6
|
"type": "module",
|
|
@@ -50,7 +50,7 @@
|
|
|
50
50
|
"@modelcontextprotocol/sdk": "^1.0.4",
|
|
51
51
|
"@prmichaelsen/firebase-admin-sdk-v8": "^2.2.0",
|
|
52
52
|
"@prmichaelsen/mcp-auth": "^7.0.4",
|
|
53
|
-
"@prmichaelsen/remember-core": "^0.
|
|
53
|
+
"@prmichaelsen/remember-core": "^0.27.0",
|
|
54
54
|
"dotenv": "^16.4.5",
|
|
55
55
|
"uuid": "^13.0.0",
|
|
56
56
|
"weaviate-client": "^3.2.0"
|