mcp-agents-memory 0.6.0 → 0.6.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/README.md +7 -1
- package/build/index.js +13 -3
- package/build/migrations/015_agent_provenance.js +25988 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -90,12 +90,18 @@ Claude Desktop / Claude Code / any MCP-aware client:
|
|
|
90
90
|
{
|
|
91
91
|
"mcpServers": {
|
|
92
92
|
"memory": {
|
|
93
|
-
"command": "mcp-agents-memory"
|
|
93
|
+
"command": "mcp-agents-memory",
|
|
94
|
+
"env": {
|
|
95
|
+
"AGENT_KEY": "agent_claude",
|
|
96
|
+
"AGENT_PLATFORM": "claude-code"
|
|
97
|
+
}
|
|
94
98
|
}
|
|
95
99
|
}
|
|
96
100
|
}
|
|
97
101
|
```
|
|
98
102
|
|
|
103
|
+
`AGENT_PLATFORM` is recorded as the Curator's harness identity on every memory_add call. The Curator's model is captured per-call (defaulting to the Producer's author_model) — set explicitly via the curator_model argument when an orchestrator saves memories on behalf of a different model (e.g. delegating to a subagent). This avoids the staleness that env-static model values would introduce when /model swaps mid-session.
|
|
104
|
+
|
|
99
105
|
### Cross-machine memory
|
|
100
106
|
|
|
101
107
|
On a second computer, run `npm i -g mcp-agents-memory` and `mcp-agents-memory setup` pointing to the **same** `DATABASE_URL`. Memory shares automatically — the database is the source of truth and the MCP server is stateless.
|
package/build/index.js
CHANGED
|
@@ -116229,9 +116229,10 @@ async function processBatch(text, subjectId, projectId, rawSource, provenance =
|
|
|
116229
116229
|
subject_id, project_subject_id, content, fact_type,
|
|
116230
116230
|
confidence, importance, tags, embedding, validation_status,
|
|
116231
116231
|
author_model, platform, session_id,
|
|
116232
|
+
agent_platform, agent_model,
|
|
116232
116233
|
author_model_id, platform_id, effective_confidence, source
|
|
116233
116234
|
)
|
|
116234
|
-
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16)
|
|
116235
|
+
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16, $17, $18)
|
|
116235
116236
|
RETURNING id`,
|
|
116236
116237
|
[
|
|
116237
116238
|
subjectId,
|
|
@@ -116246,6 +116247,8 @@ async function processBatch(text, subjectId, projectId, rawSource, provenance =
|
|
|
116246
116247
|
provenance.author_model,
|
|
116247
116248
|
provenance.platform,
|
|
116248
116249
|
provenance.session_id,
|
|
116250
|
+
provenance.agent_platform,
|
|
116251
|
+
provenance.agent_model,
|
|
116249
116252
|
resolvedModel?.id ?? null,
|
|
116250
116253
|
resolvedPlatform?.id ?? null,
|
|
116251
116254
|
effectiveConfidence,
|
|
@@ -117507,24 +117510,31 @@ function registerTools(server) {
|
|
|
117507
117510
|
subject_key: external_exports.string().optional().default(process.env.MEMORY_DEFAULT_SUBJECT || "default_user").describe("Primary subject key."),
|
|
117508
117511
|
project_key: external_exports.string().optional().describe("Project key if relevant."),
|
|
117509
117512
|
author_model: external_exports.string().optional().describe("Model name or alias (e.g., 'sonnet', 'opus', 'gemini')."),
|
|
117513
|
+
curator_model: external_exports.string().optional().describe("Curator model override \u2014 the model running memory_add. Defaults to author_model (Producer == Curator solo case)."),
|
|
117510
117514
|
platform: external_exports.string().optional().describe("Platform (e.g., 'antigravity', 'claude-code')."),
|
|
117511
117515
|
session_id: external_exports.string().optional().describe("Unique session identifier.")
|
|
117512
117516
|
}
|
|
117513
117517
|
},
|
|
117514
117518
|
async (args) => {
|
|
117519
|
+
const agentPlatform = process.env.AGENT_PLATFORM;
|
|
117515
117520
|
const subjectId = await getOrCreateSubject(args.subject_key, "person");
|
|
117516
117521
|
let projectId = null;
|
|
117517
117522
|
if (args.project_key) {
|
|
117518
117523
|
projectId = await getOrCreateSubject(args.project_key, "project");
|
|
117519
117524
|
}
|
|
117525
|
+
const authorModel = args.author_model ?? null;
|
|
117526
|
+
const curatorModel = args.curator_model ?? args.author_model ?? null;
|
|
117527
|
+
const platform = args.platform ?? agentPlatform;
|
|
117520
117528
|
const result = await processBatch(
|
|
117521
117529
|
args.text,
|
|
117522
117530
|
subjectId,
|
|
117523
117531
|
projectId,
|
|
117524
117532
|
args.text,
|
|
117525
117533
|
{
|
|
117526
|
-
author_model:
|
|
117527
|
-
platform
|
|
117534
|
+
author_model: authorModel,
|
|
117535
|
+
platform,
|
|
117536
|
+
agent_platform: agentPlatform,
|
|
117537
|
+
agent_model: curatorModel,
|
|
117528
117538
|
session_id: args.session_id
|
|
117529
117539
|
}
|
|
117530
117540
|
);
|