@cognee/cognee-openclaw 2026.5.21 → 2026.6.11

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 CHANGED
@@ -43,7 +43,7 @@ Or once published:
43
43
 
44
44
  ```bash
45
45
  # Pin to an exact version to avoid unintended updates (supply-chain best practice)
46
- openclaw plugins install @cognee/cognee-openclaw@2026.5.21
46
+ openclaw plugins install @cognee/cognee-openclaw@2026.3.0
47
47
  ```
48
48
 
49
49
  ## Quick Start
@@ -79,6 +79,11 @@ export function resolveConfig(rawConfig) {
79
79
  const recallScopes = Array.isArray(raw.recallScopes) ? raw.recallScopes : DEFAULT_RECALL_SCOPES;
80
80
  const defaultWriteScope = raw.defaultWriteScope || DEFAULT_WRITE_SCOPE;
81
81
  const scopeRouting = Array.isArray(raw.scopeRouting) ? raw.scopeRouting : DEFAULT_SCOPE_ROUTING;
82
+ // Per-agent memory: opt-in. Explicit config wins. When unset, it defaults to
83
+ // false here and is auto-enabled in plugin.ts only when the gateway hosts
84
+ // multiple agents (agents.list.length > 1) — so single-agent installs keep
85
+ // the legacy shared behavior and are unaffected by the upgrade.
86
+ const perAgentMemory = typeof raw.perAgentMemory === "boolean" ? raw.perAgentMemory : false;
82
87
  // Recall injection
83
88
  const validPositions = ["prependSystemContext", "appendSystemContext", "prependContext"];
84
89
  const recallInjectionPosition = raw.recallInjectionPosition && validPositions.includes(raw.recallInjectionPosition)
@@ -90,7 +95,7 @@ export function resolveConfig(rawConfig) {
90
95
  return {
91
96
  mode, baseUrl, apiKey, username, password, datasetName,
92
97
  companyDataset, userDatasetPrefix, agentDatasetPrefix, agentDatasetTemplate, userId, agentId,
93
- recallScopes, defaultWriteScope, scopeRouting,
98
+ recallScopes, defaultWriteScope, scopeRouting, perAgentMemory,
94
99
  recallInjectionPosition,
95
100
  enableSessions, persistSessionsAfterEnd,
96
101
  searchType, searchPrompt, deleteMode,
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/config.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,9 @@
1
- import type { DatasetState, MemoryScope, ScopedSyncIndexes, SyncIndex } from "./types.js";
1
+ import type { AgentSyncIndexes, DatasetState, MemoryScope, ScopedSyncIndexes, SyncIndex } from "./types.js";
2
2
  export declare const STATE_DIR: string;
3
3
  export declare const STATE_PATH: string;
4
4
  export declare const SYNC_INDEX_PATH: string;
5
5
  export declare const SCOPED_SYNC_INDEX_PATH: string;
6
+ export declare const AGENT_SYNC_INDEX_PATH: string;
6
7
  export declare function loadDatasetState(): Promise<DatasetState>;
7
8
  export declare function saveDatasetState(state: DatasetState): Promise<void>;
8
9
  export declare function loadSyncIndex(): Promise<SyncIndex>;
@@ -15,3 +16,14 @@ export declare function saveScopedSyncIndexes(indexes: ScopedSyncIndexes): Promi
15
16
  * After migration, the legacy file is left in place (harmless) but no longer read.
16
17
  */
17
18
  export declare function migrateLegacyIndex(defaultScope: MemoryScope): Promise<ScopedSyncIndexes | null>;
19
+ export declare function loadAgentSyncIndexes(): Promise<AgentSyncIndexes>;
20
+ export declare function saveAgentSyncIndexes(indexes: AgentSyncIndexes): Promise<void>;
21
+ /**
22
+ * One-time migration: when upgrading to per-agent memory, move any legacy shared
23
+ * `agent` scope entry from scoped-sync-indexes.json into the per-agent map under
24
+ * the given agentId, and drop it from the shared file. Idempotent: a no-op once
25
+ * the agent-sync-indexes file exists or there is no shared agent entry.
26
+ *
27
+ * Returns the migrated AgentSyncIndexes if a migration happened, else null.
28
+ */
29
+ export declare function migrateAgentScopeToPerAgent(agentId: string): Promise<AgentSyncIndexes | null>;
@@ -8,6 +8,7 @@ export const STATE_DIR = join(homedir(), ".openclaw", "memory", "cognee");
8
8
  export const STATE_PATH = join(STATE_DIR, "datasets.json");
9
9
  export const SYNC_INDEX_PATH = join(STATE_DIR, "sync-index.json");
10
10
  export const SCOPED_SYNC_INDEX_PATH = join(STATE_DIR, "scoped-sync-indexes.json");
11
+ export const AGENT_SYNC_INDEX_PATH = join(STATE_DIR, "agent-sync-indexes.json");
11
12
  // ---------------------------------------------------------------------------
12
13
  // Dataset state (maps dataset name -> dataset ID)
13
14
  // ---------------------------------------------------------------------------
@@ -104,4 +105,62 @@ export async function migrateLegacyIndex(defaultScope) {
104
105
  await saveScopedSyncIndexes(scoped);
105
106
  return scoped;
106
107
  }
108
+ // ---------------------------------------------------------------------------
109
+ // Per-agent sync indexes (agent scope, keyed by normalized agentId)
110
+ //
111
+ // The `agent` scope is private per agent, so it lives here instead of in the
112
+ // shared ScopedSyncIndexes. `company`/`user` stay shared in
113
+ // scoped-sync-indexes.json.
114
+ // ---------------------------------------------------------------------------
115
+ export async function loadAgentSyncIndexes() {
116
+ try {
117
+ const raw = await fs.readFile(AGENT_SYNC_INDEX_PATH, "utf-8");
118
+ const parsed = JSON.parse(raw);
119
+ if (!parsed || typeof parsed !== "object")
120
+ return {};
121
+ const result = {};
122
+ for (const [agentId, value] of Object.entries(parsed)) {
123
+ if (value && typeof value === "object") {
124
+ const idx = value;
125
+ idx.entries ??= {};
126
+ result[agentId] = idx;
127
+ }
128
+ }
129
+ return result;
130
+ }
131
+ catch (error) {
132
+ if (error.code === "ENOENT")
133
+ return {};
134
+ throw error;
135
+ }
136
+ }
137
+ export async function saveAgentSyncIndexes(indexes) {
138
+ await fs.mkdir(dirname(AGENT_SYNC_INDEX_PATH), { recursive: true });
139
+ await fs.writeFile(AGENT_SYNC_INDEX_PATH, JSON.stringify(indexes, null, 2), "utf-8");
140
+ }
141
+ /**
142
+ * One-time migration: when upgrading to per-agent memory, move any legacy shared
143
+ * `agent` scope entry from scoped-sync-indexes.json into the per-agent map under
144
+ * the given agentId, and drop it from the shared file. Idempotent: a no-op once
145
+ * the agent-sync-indexes file exists or there is no shared agent entry.
146
+ *
147
+ * Returns the migrated AgentSyncIndexes if a migration happened, else null.
148
+ */
149
+ export async function migrateAgentScopeToPerAgent(agentId) {
150
+ // Already migrated? (file exists and non-empty)
151
+ try {
152
+ await fs.access(AGENT_SYNC_INDEX_PATH);
153
+ return null;
154
+ }
155
+ catch { /* file absent — proceed */ }
156
+ const shared = await loadScopedSyncIndexes();
157
+ const legacyAgent = shared.agent;
158
+ if (!legacyAgent || Object.keys(legacyAgent.entries).length === 0)
159
+ return null;
160
+ const agentIndexes = { [agentId]: { ...legacyAgent } };
161
+ await saveAgentSyncIndexes(agentIndexes);
162
+ delete shared.agent;
163
+ await saveScopedSyncIndexes(shared);
164
+ return agentIndexes;
165
+ }
107
166
  //# sourceMappingURL=persistence.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/persistence.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/persistence.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,24 @@
1
+ import { homedir } from "node:os";
2
+ import { join } from "node:path";
3
+ // SyncResult is used as the return type of the per-agent sync helpers below.
1
4
  import { MEMORY_SCOPES } from "./types.js";
2
5
  import { CogneeHttpClient } from "./client.js";
3
6
  import { resolveConfig } from "./config.js";
4
7
  import { collectMemoryFiles } from "./files.js";
5
8
  import { buildMemoryFlushPlan } from "./flush-plan.js";
6
- import { loadDatasetState, loadScopedSyncIndexes, loadSyncIndex, saveDatasetState, saveScopedSyncIndexes, saveSyncIndex, migrateLegacyIndex, SYNC_INDEX_PATH, } from "./persistence.js";
7
- import { datasetNameForScope, isMultiScopeEnabled, routeFileToScope } from "./scope.js";
9
+ import { loadDatasetState, loadScopedSyncIndexes, loadSyncIndex, loadAgentSyncIndexes, saveDatasetState, saveScopedSyncIndexes, saveSyncIndex, saveAgentSyncIndexes, migrateLegacyIndex, migrateAgentScopeToPerAgent, SYNC_INDEX_PATH, } from "./persistence.js";
10
+ import { datasetNameForScope, isMultiScopeEnabled, normalizeAgentId, routeFileToScope } from "./scope.js";
8
11
  import { syncFiles, syncFilesScoped } from "./sync.js";
12
+ /** Expand a leading `~` in a workspace path to the user's home directory. */
13
+ function expandHome(p) {
14
+ if (!p)
15
+ return p;
16
+ if (p === "~")
17
+ return homedir();
18
+ if (p.startsWith("~/"))
19
+ return join(homedir(), p.slice(2));
20
+ return p;
21
+ }
9
22
  // Module-scope dedupe so a duplicate register() (e.g. plugin loaded twice via
10
23
  // different module specifiers) doesn't run startup auto-sync twice for the
11
24
  // same workspace. The in-closure autoSyncStarted flag inside register() can't
@@ -18,6 +31,23 @@ const memoryCogneePlugin = {
18
31
  kind: "memory",
19
32
  register(api) {
20
33
  const cfg = resolveConfig(api.pluginConfig);
34
+ // Auto-enable per-agent memory when the gateway hosts more than one agent,
35
+ // unless the plugin config set `perAgentMemory` explicitly. This keeps
36
+ // single-agent installs (the common case) on the legacy shared behavior so
37
+ // the upgrade is non-breaking; multi-agent gateways get per-agent isolation.
38
+ const perAgentExplicit = typeof api.pluginConfig?.perAgentMemory === "boolean";
39
+ if (!perAgentExplicit) {
40
+ try {
41
+ const agentList = api.runtime?.config?.loadConfig?.()?.agents?.list;
42
+ if (Array.isArray(agentList) && agentList.length > 1) {
43
+ cfg.perAgentMemory = true;
44
+ api.logger.info?.(`cognee-openclaw: per-agent memory auto-enabled (${agentList.length} agents configured)`);
45
+ }
46
+ }
47
+ catch (error) {
48
+ api.logger.debug?.(`cognee-openclaw: could not read agents.list for perAgentMemory auto-enable: ${String(error)}`);
49
+ }
50
+ }
21
51
  const client = new CogneeHttpClient(cfg.baseUrl, cfg.apiKey, cfg.username, cfg.password, cfg.requestTimeoutMs, cfg.ingestionTimeoutMs, cfg.mode);
22
52
  const multiScope = isMultiScopeEnabled(cfg);
23
53
  api.registerMemoryFlushPlan?.(buildMemoryFlushPlan);
@@ -25,12 +55,41 @@ const memoryCogneePlugin = {
25
55
  // Legacy single-scope state
26
56
  let datasetId;
27
57
  let syncIndex = { entries: {} };
28
- // Multi-scope state
58
+ // Multi-scope state (company/user shared; agent scope lives in agentIndexes
59
+ // when perAgentMemory is on).
29
60
  let scopedIndexes = {};
61
+ // Per-agent agent-scope state (perAgentMemory mode), keyed by normalized agentId.
62
+ let agentIndexes = {};
63
+ const perAgentMemory = multiScope && cfg.perAgentMemory;
64
+ // Serialize sync work per agent so concurrent turns of the SAME agent don't
65
+ // double-run. Keyed by normalized agentId.
66
+ const agentLocks = new Map();
67
+ function withAgentLock(agentId, fn) {
68
+ const prev = agentLocks.get(agentId) ?? Promise.resolve();
69
+ const next = prev.catch(() => { }).then(fn);
70
+ agentLocks.set(agentId, next.catch(() => { }));
71
+ return next;
72
+ }
73
+ // Global lock around the read-modify-write of agent-sync-indexes.json.
74
+ // DIFFERENT agents are NOT serialized by agentLocks, so without this their
75
+ // concurrent load→mutate→save would clobber each other's bucket (they share
76
+ // one file). This makes the reload+set+save atomic so distinct buckets merge.
77
+ let indexSaveChain = Promise.resolve();
78
+ function withIndexSaveLock(fn) {
79
+ const next = indexSaveChain.catch(() => { }).then(fn);
80
+ indexSaveChain = next.catch(() => { });
81
+ return next;
82
+ }
30
83
  // Session state
31
84
  let sessionId;
32
- // Cached because session_end fires without ctx.
85
+ // Cached as a fallback for paths that may lack ctx.
33
86
  let lastAgentId;
87
+ let lastWorkspaceDir;
88
+ // Per-agent workspace cache (normalized agentId -> workspaceDir), populated
89
+ // on agent_end. session_end's ctx carries agentId but NOT workspaceDir, so
90
+ // this lets the final sweep find the right agent's workspace without falling
91
+ // back to a single global (which mis-attributes when >1 agent is active).
92
+ const agentWorkspaces = new Map();
34
93
  let resolvedWorkspaceDir;
35
94
  let resolveServiceReady;
36
95
  const serviceReady = new Promise((r) => { resolveServiceReady = r; });
@@ -59,6 +118,18 @@ const memoryCogneePlugin = {
59
118
  }
60
119
  }
61
120
  scopedIndexes = indexes;
121
+ })
122
+ .then(async () => {
123
+ if (!perAgentMemory)
124
+ return;
125
+ // Move any legacy shared `agent` scope entry into the per-agent map.
126
+ const migrated = await migrateAgentScopeToPerAgent(normalizeAgentId(undefined, cfg));
127
+ if (migrated) {
128
+ api.logger.info?.("cognee-openclaw: migrated shared agent scope index to per-agent");
129
+ // Reload shared indexes (migration removed the agent entry from them).
130
+ scopedIndexes = await loadScopedSyncIndexes();
131
+ }
132
+ agentIndexes = await loadAgentSyncIndexes();
62
133
  })
63
134
  .catch((error) => {
64
135
  api.logger.warn?.(`cognee-openclaw: failed to load scoped sync indexes: ${String(error)}`);
@@ -74,6 +145,15 @@ const memoryCogneePlugin = {
74
145
  api.logger.warn?.(`cognee-openclaw: failed to load sync index: ${String(error)}`);
75
146
  }),
76
147
  ]);
148
+ // Resolve the locally-cached fallback dataset id for a scope. For the agent
149
+ // scope under perAgentMemory, that's the per-agent index; otherwise the
150
+ // shared scoped index.
151
+ function scopeFallbackDatasetId(scope, runtimeAgentId) {
152
+ if (scope === "agent" && perAgentMemory) {
153
+ return agentIndexes[normalizeAgentId(runtimeAgentId, cfg)]?.datasetId;
154
+ }
155
+ return scopedIndexes[scope]?.datasetId;
156
+ }
77
157
  // Fix #8: Log when scopes have no dataset ID during recall
78
158
  async function getRecallDatasetIds(runtimeAgentId) {
79
159
  const state = await loadDatasetState();
@@ -82,7 +162,7 @@ const memoryCogneePlugin = {
82
162
  if (multiScope) {
83
163
  for (const scope of cfg.recallScopes) {
84
164
  const dsName = datasetNameForScope(scope, cfg, runtimeAgentId);
85
- const dsId = state[dsName] ?? scopedIndexes[scope]?.datasetId;
165
+ const dsId = state[dsName] ?? scopeFallbackDatasetId(scope, runtimeAgentId);
86
166
  if (dsId) {
87
167
  ids.push(dsId);
88
168
  }
@@ -97,6 +177,78 @@ const memoryCogneePlugin = {
97
177
  }
98
178
  return { ids, missingScopes };
99
179
  }
180
+ // Sync ONE agent's `agent`-scope files from its own workspace into its own
181
+ // dataset + per-agent index. Serialized per agentId. Used by per-agent mode.
182
+ async function syncAgentScope(workspaceDir, rawAgentId, logger) {
183
+ await stateReady;
184
+ const agentId = normalizeAgentId(rawAgentId, cfg);
185
+ return withAgentLock(agentId, async () => {
186
+ const allFiles = await collectMemoryFiles(workspaceDir);
187
+ const agentFiles = allFiles.filter((f) => routeFileToScope(f.path, cfg.scopeRouting, cfg.defaultWriteScope) === "agent");
188
+ // Start from this agent's latest persisted bucket.
189
+ const idx = (await loadAgentSyncIndexes())[agentId] ?? { entries: {} };
190
+ const dsName = datasetNameForScope("agent", cfg, agentId);
191
+ // syncFiles mutates `idx` in place (entries/dataIds) but does not persist
192
+ // it (persistIndex=false); we own persistence below.
193
+ const result = await syncFiles(client, agentFiles, agentFiles, idx, cfg, logger, dsName, false);
194
+ // Atomic merge-save: reload the latest on-disk map (may include other
195
+ // agents' buckets written meanwhile), set just our bucket, save.
196
+ await withIndexSaveLock(async () => {
197
+ const latest = await loadAgentSyncIndexes();
198
+ latest[agentId] = idx;
199
+ await saveAgentSyncIndexes(latest);
200
+ agentIndexes = latest;
201
+ });
202
+ return result;
203
+ });
204
+ }
205
+ // Sync ONLY the shared scopes (company/user) from a workspace. Never run
206
+ // from a per-agent workspace (it lacks company/user files and would forget
207
+ // them); only from the default/gateway workspace at startup.
208
+ async function syncSharedScopes(workspaceDir, logger) {
209
+ await stateReady;
210
+ const files = await collectMemoryFiles(workspaceDir);
211
+ return syncFilesScoped(client, files, files, scopedIndexes, cfg, logger, undefined, ["company", "user"]);
212
+ }
213
+ // Seed every configured agent's files from its own workspace (startup/CLI).
214
+ async function seedAllAgents(defaultWorkspace, logger) {
215
+ const config = api.runtime?.config?.loadConfig?.();
216
+ const list = config?.agents?.list;
217
+ const defWs = expandHome(config?.agents?.defaults?.workspace) || defaultWorkspace;
218
+ const agents = Array.isArray(list) && list.length > 0
219
+ ? list
220
+ : [{ id: cfg.agentId, workspace: defWs }];
221
+ for (const a of agents) {
222
+ const ws = expandHome(a.workspace) || defWs;
223
+ if (!ws)
224
+ continue;
225
+ try {
226
+ const r = await syncAgentScope(ws, a.id, logger);
227
+ logger.info?.(`cognee-openclaw: seeded agent "${normalizeAgentId(a.id, cfg)}": ${r.added} added, ${r.updated} updated, ${r.deleted} deleted, ${r.skipped} unchanged`);
228
+ }
229
+ catch (e) {
230
+ logger.warn?.(`cognee-openclaw: failed to seed agent "${a.id}": ${String(e)}`);
231
+ }
232
+ }
233
+ }
234
+ // Resolve an agent's workspace from OpenClaw config (agents.list[].workspace
235
+ // by agentId), with sensible fallbacks. Used by the per-agent file paths so
236
+ // startup seeding and the agent_end/session_end sweeps always read the SAME
237
+ // directory — otherwise a runtime ctx.workspaceDir that differs from the
238
+ // seed workspace makes the sweep see the seeded file as "missing" and forget
239
+ // it. Resolving from config (the single source of truth) avoids that.
240
+ function resolveAgentWorkspace(rawAgentId) {
241
+ const target = normalizeAgentId(rawAgentId, cfg);
242
+ try {
243
+ const config = api.runtime?.config?.loadConfig?.();
244
+ const list = config?.agents?.list;
245
+ const match = list?.find((a) => normalizeAgentId(a.id, cfg) === target);
246
+ return expandHome(match?.workspace) || expandHome(config?.agents?.defaults?.workspace) || resolvedWorkspaceDir;
247
+ }
248
+ catch {
249
+ return resolvedWorkspaceDir;
250
+ }
251
+ }
100
252
  async function runSync(workspaceDir, logger, runtimeAgentId) {
101
253
  await stateReady;
102
254
  const files = await collectMemoryFiles(workspaceDir);
@@ -105,7 +257,13 @@ const memoryCogneePlugin = {
105
257
  return { added: 0, updated: 0, skipped: 0, errors: 0, deleted: 0 };
106
258
  }
107
259
  logger.info?.(`cognee-openclaw: found ${files.length} memory file(s), syncing...`);
108
- if (multiScope) {
260
+ if (perAgentMemory) {
261
+ // Per-agent mode: this path syncs only the shared scopes (company/user)
262
+ // from the given workspace; the `agent` scope is handled per agent via
263
+ // syncAgentScope/seedAllAgents (each from its own workspace).
264
+ return syncFilesScoped(client, files, files, scopedIndexes, cfg, logger, runtimeAgentId, ["company", "user"]);
265
+ }
266
+ else if (multiScope) {
109
267
  return syncFilesScoped(client, files, files, scopedIndexes, cfg, logger, runtimeAgentId);
110
268
  }
111
269
  else {
@@ -119,10 +277,12 @@ const memoryCogneePlugin = {
119
277
  datasetId = undefined;
120
278
  syncIndex = { entries: {} };
121
279
  scopedIndexes = {};
280
+ agentIndexes = {};
122
281
  await Promise.all([
123
282
  saveDatasetState({}),
124
283
  saveSyncIndex({ entries: {} }),
125
284
  saveScopedSyncIndexes({}),
285
+ saveAgentSyncIndexes({}),
126
286
  ]);
127
287
  }
128
288
  async function clearLocalStateForDataset(datasetName) {
@@ -141,6 +301,8 @@ const memoryCogneePlugin = {
141
301
  if (multiScope) {
142
302
  let changed = false;
143
303
  for (const scope of MEMORY_SCOPES) {
304
+ if (scope === "agent" && perAgentMemory)
305
+ continue; // handled per-agent below
144
306
  const expectedName = datasetNameForScope(scope, cfg);
145
307
  const idx = scopedIndexes[scope];
146
308
  const actualName = idx?.datasetName ?? expectedName;
@@ -153,6 +315,20 @@ const memoryCogneePlugin = {
153
315
  await saveScopedSyncIndexes(scopedIndexes);
154
316
  }
155
317
  }
318
+ if (perAgentMemory) {
319
+ agentIndexes = await loadAgentSyncIndexes();
320
+ let agentChanged = false;
321
+ for (const [agentId, idx] of Object.entries(agentIndexes)) {
322
+ const expectedName = datasetNameForScope("agent", cfg, agentId);
323
+ const actualName = idx.datasetName ?? expectedName;
324
+ if (actualName === datasetName || expectedName === datasetName) {
325
+ delete agentIndexes[agentId];
326
+ agentChanged = true;
327
+ }
328
+ }
329
+ if (agentChanged)
330
+ await saveAgentSyncIndexes(agentIndexes);
331
+ }
156
332
  }
157
333
  // ------------------------------------------------------------------
158
334
  // CLI commands
@@ -164,7 +340,24 @@ const memoryCogneePlugin = {
164
340
  cognee
165
341
  .command("index")
166
342
  .description("Sync memory files to Cognee (add new, update changed, skip unchanged)")
167
- .action(async () => {
343
+ .option("--agent <id>", "Per-agent mode: sync only this agent's workspace")
344
+ .action(async (opts) => {
345
+ if (perAgentMemory) {
346
+ if (opts.agent) {
347
+ // Resolve this agent's workspace from config; fall back to cwd.
348
+ const config = api.runtime?.config?.loadConfig?.();
349
+ const list = config?.agents?.list;
350
+ const match = list?.find((a) => normalizeAgentId(a.id, cfg) === normalizeAgentId(opts.agent, cfg));
351
+ const ws = expandHome(match?.workspace) || cliWorkspaceDir;
352
+ const r = await syncAgentScope(ws, opts.agent, ctx.logger);
353
+ console.log(`Sync complete [agent=${normalizeAgentId(opts.agent, cfg)}]: ${r.added} added, ${r.updated} updated, ${r.deleted} deleted, ${r.skipped} unchanged, ${r.errors} errors`);
354
+ process.exit(0);
355
+ }
356
+ const shared = await runSync(cliWorkspaceDir, ctx.logger); // company/user
357
+ await seedAllAgents(cliWorkspaceDir, ctx.logger); // each agent's own files
358
+ console.log(`Shared sync complete: ${shared.added} added, ${shared.updated} updated, ${shared.deleted} deleted, ${shared.skipped} unchanged. Per-agent files seeded (see log).`);
359
+ process.exit(0);
360
+ }
168
361
  const result = await runSync(cliWorkspaceDir, ctx.logger);
169
362
  const summary = `Sync complete: ${result.added} added, ${result.updated} updated, ${result.deleted} deleted, ${result.skipped} unchanged, ${result.errors} errors`;
170
363
  ctx.logger.info?.(summary);
@@ -179,7 +372,10 @@ const memoryCogneePlugin = {
179
372
  const files = await collectMemoryFiles(cliWorkspaceDir);
180
373
  if (multiScope) {
181
374
  const state = await loadDatasetState();
182
- for (const scope of MEMORY_SCOPES) {
375
+ // Shared scopes (company/user). In per-agent mode the agent scope is
376
+ // reported per-agent below instead of here.
377
+ const scopesToShow = perAgentMemory ? ["company", "user"] : MEMORY_SCOPES;
378
+ for (const scope of scopesToShow) {
183
379
  const dsName = datasetNameForScope(scope, cfg);
184
380
  const scopeIndex = scopedIndexes[scope] ?? { entries: {} };
185
381
  const entryCount = Object.keys(scopeIndex.entries).length;
@@ -199,6 +395,23 @@ const memoryCogneePlugin = {
199
395
  console.log(` New (unindexed): ${newCount}`);
200
396
  console.log(` Changed (dirty): ${dirty}`);
201
397
  }
398
+ if (perAgentMemory) {
399
+ agentIndexes = await loadAgentSyncIndexes();
400
+ const config = api.runtime?.config?.loadConfig?.();
401
+ const list = config?.agents?.list;
402
+ const agentKeys = new Set(Object.keys(agentIndexes));
403
+ for (const a of list ?? [])
404
+ agentKeys.add(normalizeAgentId(a.id, cfg));
405
+ if (agentKeys.size === 0)
406
+ agentKeys.add(normalizeAgentId(undefined, cfg));
407
+ for (const agentId of agentKeys) {
408
+ const idx = agentIndexes[agentId] ?? { entries: {} };
409
+ const dsName = datasetNameForScope("agent", cfg, agentId);
410
+ console.log(`\n[AGENT:${agentId}] Dataset: ${dsName}`);
411
+ console.log(` Dataset ID: ${state[dsName] ?? idx.datasetId ?? "(not set)"}`);
412
+ console.log(` Indexed files: ${Object.keys(idx.entries).length}`);
413
+ }
414
+ }
202
415
  }
203
416
  else {
204
417
  const entryCount = Object.keys(syncIndex.entries).length;
@@ -421,6 +634,11 @@ const memoryCogneePlugin = {
421
634
  try {
422
635
  const result = await runSync(resolvedWorkspaceDir, logger);
423
636
  logger.info?.(`cognee-openclaw: auto-sync complete: ${result.added} added, ${result.updated} updated, ${result.deleted} deleted, ${result.skipped} unchanged`);
637
+ // Per-agent mode: seed each configured agent's files from its OWN
638
+ // workspace (runSync above only handled the shared company/user scopes).
639
+ if (perAgentMemory) {
640
+ await seedAllAgents(resolvedWorkspaceDir, logger);
641
+ }
424
642
  }
425
643
  catch (error) {
426
644
  logger.warn?.(`cognee-openclaw: auto-sync failed: ${String(error)}`);
@@ -477,7 +695,7 @@ const memoryCogneePlugin = {
477
695
  const state = await loadDatasetState();
478
696
  const searchPromises = cfg.recallScopes.map(async (scope) => {
479
697
  const dsName = datasetNameForScope(scope, cfg, ctx.agentId);
480
- const dsId = state[dsName] ?? scopedIndexes[scope]?.datasetId;
698
+ const dsId = state[dsName] ?? scopeFallbackDatasetId(scope, ctx.agentId);
481
699
  if (!dsId)
482
700
  return null;
483
701
  const results = await client.recall({
@@ -559,11 +777,26 @@ const memoryCogneePlugin = {
559
777
  return;
560
778
  await Promise.all([stateReady, serviceReady]);
561
779
  lastAgentId = ctx.agentId;
780
+ lastWorkspaceDir = ctx.workspaceDir || resolvedWorkspaceDir;
562
781
  if (cfg.enableSessions && ctx.sessionId)
563
782
  sessionId = ctx.sessionId;
564
- const workspaceDir = resolvedWorkspaceDir;
783
+ const workspaceDir = ctx.workspaceDir || resolvedWorkspaceDir;
784
+ // Remember this agent's workspace so session_end can sweep the right one.
785
+ if (workspaceDir)
786
+ agentWorkspaces.set(normalizeAgentId(ctx.agentId, cfg), workspaceDir);
565
787
  try {
566
- if (multiScope) {
788
+ if (perAgentMemory) {
789
+ // Sync ONLY this agent's agent-scope files from its OWN workspace
790
+ // into its own dataset + per-agent index. Resolve the workspace from
791
+ // config (not ctx.workspaceDir) so it matches the startup seed and a
792
+ // mismatched runtime cwd can't make the sweep "forget" the seed file.
793
+ const agentWs = resolveAgentWorkspace(ctx.agentId) || workspaceDir;
794
+ const result = await syncAgentScope(agentWs, ctx.agentId, api.logger);
795
+ if (result.added || result.updated || result.deleted) {
796
+ api.logger.info?.(`cognee-openclaw: post-agent sync [agent=${normalizeAgentId(ctx.agentId, cfg)}]: ${result.added} added, ${result.updated} updated, ${result.deleted} deleted`);
797
+ }
798
+ }
799
+ else if (multiScope) {
567
800
  try {
568
801
  scopedIndexes = await loadScopedSyncIndexes();
569
802
  }
@@ -634,25 +867,47 @@ const memoryCogneePlugin = {
634
867
  });
635
868
  // Final sweep when the openclaw session closes. Catches memory file
636
869
  // edits that happened outside an agent_end.
637
- api.on("session_end", async (event) => {
870
+ //
871
+ // CRITICAL: resolve the agent + session from THIS event's ctx, not the
872
+ // global lastAgentId. With >1 agent active, lastAgentId is whichever agent
873
+ // ran most recently, so using it would bridge one agent's session into
874
+ // another agent's dataset.
875
+ // PluginHookSessionContext carries agentId + sessionId, so prefer those.
876
+ api.on("session_end", async (event, ctx) => {
638
877
  await Promise.all([stateReady, serviceReady]);
639
- if (!resolvedWorkspaceDir) {
640
- sessionId = undefined;
641
- return;
642
- }
643
- try {
644
- const result = await runSync(resolvedWorkspaceDir, api.logger, lastAgentId);
645
- api.logger.info?.(`cognee-openclaw: session-end sync: ${result.added} added, ${result.updated} updated, ${result.deleted} deleted`);
646
- }
647
- catch (error) {
648
- api.logger.warn?.(`cognee-openclaw: session-end sync failed: ${String(error)}`);
878
+ const endAgentId = ctx?.agentId ?? lastAgentId;
879
+ const endSessionId = ctx?.sessionId ?? event.sessionId;
880
+ if (!ctx?.agentId) {
881
+ api.logger.debug?.(`cognee-openclaw: session_end without ctx.agentId; falling back to lastAgentId="${endAgentId ?? "(none)"}"`);
882
+ }
883
+ // Per-agent: resolve from config (matches the startup seed). Otherwise
884
+ // fall back to the cached workspace for this agent.
885
+ const sweepWorkspace = perAgentMemory
886
+ ? (resolveAgentWorkspace(endAgentId) || lastWorkspaceDir || resolvedWorkspaceDir)
887
+ : (agentWorkspaces.get(normalizeAgentId(endAgentId, cfg)) || lastWorkspaceDir || resolvedWorkspaceDir);
888
+ if (sweepWorkspace) {
889
+ try {
890
+ if (perAgentMemory) {
891
+ // Final sweep for THIS session's agent, from its own workspace.
892
+ const result = await syncAgentScope(sweepWorkspace, endAgentId, api.logger);
893
+ api.logger.info?.(`cognee-openclaw: session-end sync [agent=${normalizeAgentId(endAgentId, cfg)}]: ${result.added} added, ${result.updated} updated, ${result.deleted} deleted`);
894
+ }
895
+ else {
896
+ const result = await runSync(sweepWorkspace, api.logger, endAgentId);
897
+ api.logger.info?.(`cognee-openclaw: session-end sync: ${result.added} added, ${result.updated} updated, ${result.deleted} deleted`);
898
+ }
899
+ }
900
+ catch (error) {
901
+ api.logger.warn?.(`cognee-openclaw: session-end sync failed: ${String(error)}`);
902
+ }
649
903
  }
650
- // Bridge session-cache QAs (including any auto-captured feedback) into the graph.
651
- if (cfg.improveOnSessionEnd && event.sessionId) {
652
- const dsName = multiScope ? datasetNameForScope("agent", cfg, lastAgentId) : cfg.datasetName;
904
+ // Bridge session-cache QAs (including any auto-captured feedback) into
905
+ // THIS session's agent dataset — keyed by endAgentId + endSessionId.
906
+ if (cfg.improveOnSessionEnd && endSessionId) {
907
+ const dsName = multiScope ? datasetNameForScope("agent", cfg, endAgentId) : cfg.datasetName;
653
908
  try {
654
- const result = await client.improve({ datasetName: dsName, sessionIds: [event.sessionId] });
655
- api.logger.info?.(`cognee-openclaw: session-end improve dispatched for session ${event.sessionId} (status=${result.status ?? "?"})`);
909
+ const result = await client.improve({ datasetName: dsName, sessionIds: [endSessionId] });
910
+ api.logger.info?.(`cognee-openclaw: session-end improve dispatched for session ${endSessionId} -> dataset "${dsName}" (status=${result.status ?? "?"})`);
656
911
  }
657
912
  catch (error) {
658
913
  api.logger.warn?.(`cognee-openclaw: session-end improve failed: ${error instanceof Error ? error.message : String(error)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/plugin.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,16 @@ export declare function routeFileToScope(filePath: string, routes: ScopeRoute[],
14
14
  * Active when at least one scope-specific dataset prefix/name/template is configured.
15
15
  */
16
16
  export declare function isMultiScopeEnabled(cfg: Required<CogneePluginConfig>): boolean;
17
+ /**
18
+ * Normalize an agent identifier to a stable key.
19
+ *
20
+ * OpenClaw lowercases agent ids at runtime (PluginHookAgentContext.agentId is e.g.
21
+ * "william", not "William"), but config (`agents.list[].id`, `cfg.agentId`) may be
22
+ * mixed-case. Lowercasing everywhere keeps startup seeding (which reads config)
23
+ * and runtime hooks (which read ctx.agentId) pointed at the SAME dataset and
24
+ * the SAME per-agent index bucket — otherwise you get split, e.g. "…-William" vs "…-william".
25
+ */
26
+ export declare function normalizeAgentId(agentId: string | undefined, cfg: Required<CogneePluginConfig>): string;
17
27
  /**
18
28
  * Resolve the Cognee dataset name for a given memory scope.
19
29
  *
package/dist/src/scope.js CHANGED
@@ -102,6 +102,18 @@ export function routeFileToScope(filePath, routes, defaultScope) {
102
102
  export function isMultiScopeEnabled(cfg) {
103
103
  return !!(cfg.companyDataset || cfg.userDatasetPrefix || cfg.agentDatasetPrefix || cfg.agentDatasetTemplate);
104
104
  }
105
+ /**
106
+ * Normalize an agent identifier to a stable key.
107
+ *
108
+ * OpenClaw lowercases agent ids at runtime (PluginHookAgentContext.agentId is e.g.
109
+ * "william", not "William"), but config (`agents.list[].id`, `cfg.agentId`) may be
110
+ * mixed-case. Lowercasing everywhere keeps startup seeding (which reads config)
111
+ * and runtime hooks (which read ctx.agentId) pointed at the SAME dataset and
112
+ * the SAME per-agent index bucket — otherwise you get split, e.g. "…-William" vs "…-william".
113
+ */
114
+ export function normalizeAgentId(agentId, cfg) {
115
+ return (agentId?.trim() || cfg.agentId || "default").toLowerCase();
116
+ }
105
117
  /**
106
118
  * Resolve the Cognee dataset name for a given memory scope.
107
119
  *
@@ -119,7 +131,12 @@ export function datasetNameForScope(scope, cfg, runtimeAgentId) {
119
131
  ? `${cfg.userDatasetPrefix}-${cfg.userId || "default"}`
120
132
  : `${cfg.datasetName}-user-${cfg.userId || "default"}`;
121
133
  case "agent": {
122
- const id = runtimeAgentId?.trim() || cfg.agentId || "default";
134
+ const rawId = runtimeAgentId?.trim() || cfg.agentId || "default";
135
+ // Lowercase ONLY in per-agent mode, so existing single-agent / non-per-agent
136
+ // installs keep their exact dataset names (no orphaning on upgrade).
137
+ // OpenClaw already lowercases the runtime ctx.agentId, so per-agent mode
138
+ // stays internally consistent across startup-seed and runtime hooks.
139
+ const id = cfg.perAgentMemory ? rawId.toLowerCase() : rawId;
123
140
  if (cfg.agentDatasetTemplate) {
124
141
  return cfg.agentDatasetTemplate.replace(/\{agentId\}/g, id);
125
142
  }
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../src/scope.ts"],"names":[],"mappings":"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"}
@@ -3,13 +3,25 @@ import type { CogneePluginConfig, MemoryFile, MemoryScope, ScopedSyncIndexes, Sy
3
3
  export declare function syncFiles(client: CogneeHttpClient, changedFiles: MemoryFile[], fullFiles: MemoryFile[], syncIndex: SyncIndex, cfg: Required<CogneePluginConfig>, logger: {
4
4
  info?: (msg: string) => void;
5
5
  warn?: (msg: string) => void;
6
- }, overrideDatasetName?: string): Promise<SyncResult & {
6
+ }, overrideDatasetName?: string,
7
+ /**
8
+ * Persist the mutated syncIndex to the legacy single-scope file. Callers that
9
+ * own their own persistence (scoped sync, per-agent sync) pass false so they
10
+ * don't clobber sync-index.json. Defaults to true for legacy single-scope use.
11
+ */
12
+ persistIndex?: boolean): Promise<SyncResult & {
7
13
  datasetId?: string;
8
14
  }>;
9
15
  export declare function syncFilesScoped(client: CogneeHttpClient, changedFiles: MemoryFile[], fullFiles: MemoryFile[], scopedIndexes: ScopedSyncIndexes, cfg: Required<CogneePluginConfig>, logger: {
10
16
  info?: (msg: string) => void;
11
17
  warn?: (msg: string) => void;
12
- }, runtimeAgentId?: string): Promise<SyncResult & {
18
+ }, runtimeAgentId?: string,
19
+ /**
20
+ * Restrict processing to these scopes. Used to sync only the shared scopes
21
+ * (`company`/`user`) from the default workspace when per-agent memory owns
22
+ * the `agent` scope. When omitted, all scopes are processed (legacy behavior).
23
+ */
24
+ onlyScopes?: MemoryScope[]): Promise<SyncResult & {
13
25
  datasetIds: Record<MemoryScope, string | undefined>;
14
26
  }>;
15
27
  export declare let COGNIFY_POLL_INTERVAL_MS: number;
package/dist/src/sync.js CHANGED
@@ -10,7 +10,13 @@ import { datasetNameForScope, routeFileToScope } from "./scope.js";
10
10
  // counterpart, and the existing 1.0.3 update endpoint already triggers a
11
11
  // follow-up cognify internally, so the fan-out is the same).
12
12
  // ---------------------------------------------------------------------------
13
- export async function syncFiles(client, changedFiles, fullFiles, syncIndex, cfg, logger, overrideDatasetName) {
13
+ export async function syncFiles(client, changedFiles, fullFiles, syncIndex, cfg, logger, overrideDatasetName,
14
+ /**
15
+ * Persist the mutated syncIndex to the legacy single-scope file. Callers that
16
+ * own their own persistence (scoped sync, per-agent sync) pass false so they
17
+ * don't clobber sync-index.json. Defaults to true for legacy single-scope use.
18
+ */
19
+ persistIndex = true) {
14
20
  const result = { added: 0, updated: 0, skipped: 0, errors: 0, deleted: 0 };
15
21
  const dsName = overrideDatasetName || cfg.datasetName;
16
22
  let datasetId = syncIndex.datasetId;
@@ -124,13 +130,20 @@ export async function syncFiles(client, changedFiles, fullFiles, syncIndex, cfg,
124
130
  }
125
131
  }
126
132
  }
127
- await saveSyncIndex(syncIndex);
133
+ if (persistIndex)
134
+ await saveSyncIndex(syncIndex);
128
135
  return { ...result, datasetId };
129
136
  }
130
137
  // ---------------------------------------------------------------------------
131
138
  // Multi-scope sync
132
139
  // ---------------------------------------------------------------------------
133
- export async function syncFilesScoped(client, changedFiles, fullFiles, scopedIndexes, cfg, logger, runtimeAgentId) {
140
+ export async function syncFilesScoped(client, changedFiles, fullFiles, scopedIndexes, cfg, logger, runtimeAgentId,
141
+ /**
142
+ * Restrict processing to these scopes. Used to sync only the shared scopes
143
+ * (`company`/`user`) from the default workspace when per-agent memory owns
144
+ * the `agent` scope. When omitted, all scopes are processed (legacy behavior).
145
+ */
146
+ onlyScopes) {
134
147
  const totalResult = { added: 0, updated: 0, skipped: 0, errors: 0, deleted: 0 };
135
148
  const datasetIds = { company: undefined, user: undefined, agent: undefined };
136
149
  // Group changed files by scope
@@ -150,11 +163,14 @@ export async function syncFilesScoped(client, changedFiles, fullFiles, scopedInd
150
163
  fullByScope.set(scope, list);
151
164
  }
152
165
  // Determine which scopes need processing
166
+ const scopeFilter = onlyScopes ? new Set(onlyScopes) : null;
153
167
  const allScopes = new Set([
154
168
  ...changedByScope.keys(),
155
169
  ...Object.keys(scopedIndexes),
156
170
  ]);
157
171
  for (const scope of allScopes) {
172
+ if (scopeFilter && !scopeFilter.has(scope))
173
+ continue;
158
174
  const dsName = datasetNameForScope(scope, cfg, runtimeAgentId);
159
175
  const scopeChanged = changedByScope.get(scope) ?? [];
160
176
  const scopeFull = fullByScope.get(scope) ?? [];
@@ -167,7 +183,7 @@ export async function syncFilesScoped(client, changedFiles, fullFiles, scopedInd
167
183
  if (scopeChanged.length === 0 && !hasDeletedFiles)
168
184
  continue;
169
185
  logger.info?.(`cognee-openclaw: [${scope}] syncing ${scopeChanged.length} changed file(s) to dataset "${dsName}"${hasDeletedFiles ? " + deletions" : ""}`);
170
- const result = await syncFiles(client, scopeChanged, scopeFull, scopeIndex, cfg, logger, dsName);
186
+ const result = await syncFiles(client, scopeChanged, scopeFull, scopeIndex, cfg, logger, dsName, false);
171
187
  totalResult.added += result.added;
172
188
  totalResult.updated += result.updated;
173
189
  totalResult.skipped += result.skipped;
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/sync.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,15 @@ export type CogneePluginConfig = {
35
35
  recallScopes?: MemoryScope[];
36
36
  defaultWriteScope?: MemoryScope;
37
37
  scopeRouting?: ScopeRoute[];
38
+ /**
39
+ * Per-agent memory mode. When enabled, the `agent` scope is keyed by the
40
+ * runtime agentId: each agent's files are read from its own workspace
41
+ * (`ctx.workspaceDir`) and tracked in a per-agent sync index, so multiple
42
+ * agents in one gateway each get their own dataset/graph without colliding.
43
+ * Defaults to true when multi-scope is active (any agent dataset
44
+ * prefix/template set). `company`/`user` scopes remain shared.
45
+ */
46
+ perAgentMemory?: boolean;
38
47
  enableSessions?: boolean;
39
48
  persistSessionsAfterEnd?: boolean;
40
49
  searchType?: CogneeSearchType;
@@ -98,6 +107,12 @@ export type SyncIndex = {
98
107
  };
99
108
  /** Per-scope sync indexes, keyed by MemoryScope */
100
109
  export type ScopedSyncIndexes = Partial<Record<MemoryScope, SyncIndex>>;
110
+ /**
111
+ * Per-agent sync indexes for the `agent` scope, keyed by (normalized) agentId.
112
+ * Each entry tracks that agent's files + its agent-scope dataset id/name.
113
+ * `company`/`user` scopes stay in ScopedSyncIndexes (shared across agents).
114
+ */
115
+ export type AgentSyncIndexes = Record<string, SyncIndex>;
101
116
  export type MemoryFile = {
102
117
  /** Relative path from workspace root (e.g. "MEMORY.md", "memory/tools.md") */
103
118
  path: string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@cognee/cognee-openclaw",
3
- "version": "2026.5.21",
3
+ "version": "2026.6.11",
4
4
  "type": "module",
5
5
  "description": "OpenClaw Cognee-backed memory plugin with auto-recall/capture",
6
6
  "main": "dist/index.js",