@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 +1 -1
- package/dist/src/config.js +6 -1
- package/dist/src/config.js.map +1 -1
- package/dist/src/persistence.d.ts +13 -1
- package/dist/src/persistence.js +59 -0
- package/dist/src/persistence.js.map +1 -1
- package/dist/src/plugin.js +282 -27
- package/dist/src/plugin.js.map +1 -1
- package/dist/src/scope.d.ts +10 -0
- package/dist/src/scope.js +18 -1
- package/dist/src/scope.js.map +1 -1
- package/dist/src/sync.d.ts +14 -2
- package/dist/src/sync.js +20 -4
- package/dist/src/sync.js.map +1 -1
- package/dist/src/types.d.ts +15 -0
- package/package.json +1 -1
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.
|
|
46
|
+
openclaw plugins install @cognee/cognee-openclaw@2026.3.0
|
|
47
47
|
```
|
|
48
48
|
|
|
49
49
|
## Quick Start
|
package/dist/src/config.js
CHANGED
|
@@ -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,
|
package/dist/src/config.js.map
CHANGED
|
@@ -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>;
|
package/dist/src/persistence.js
CHANGED
|
@@ -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":"AAAA,OAAO,EAAE,QAAQ,IAAI,EAAE,EAAE,MAAM,SAAS,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGlC,8EAA8E;AAC9E,mBAAmB;AACnB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;AAC3D,MAAM,CAAC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;AAClE,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,CAAC,SAAS,EAAE,0BAA0B,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../src/persistence.ts"],"names":[],"mappings":"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"}
|
package/dist/src/plugin.js
CHANGED
|
@@ -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
|
|
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] ??
|
|
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 (
|
|
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
|
-
.
|
|
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
|
-
|
|
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] ??
|
|
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 (
|
|
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
|
-
|
|
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
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
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
|
|
651
|
-
|
|
652
|
-
|
|
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: [
|
|
655
|
-
api.logger.info?.(`cognee-openclaw: session-end improve dispatched for session ${
|
|
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)}`);
|
package/dist/src/plugin.js.map
CHANGED
|
@@ -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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"}
|
package/dist/src/scope.d.ts
CHANGED
|
@@ -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
|
|
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
|
}
|
package/dist/src/scope.js.map
CHANGED
|
@@ -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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"}
|
package/dist/src/sync.d.ts
CHANGED
|
@@ -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
|
|
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
|
|
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
|
-
|
|
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;
|
package/dist/src/sync.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/sync.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAC5G,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnE,8EAA8E;AAC9E,oBAAoB;AACpB,EAAE;AACF,wEAAwE;AACxE,0EAA0E;AAC1E,2EAA2E;AAC3E,yEAAyE;AACzE,yEAAyE;AACzE,6DAA6D;AAC7D,8EAA8E;AAE9E,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,MAAwB,EACxB,YAA0B,EAC1B,SAAuB,EACvB,SAAoB,EACpB,GAAiC,EACjC,MAAsE,EACtE,mBAA4B;
|
|
1
|
+
{"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/sync.ts"],"names":[],"mappings":"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"}
|
package/dist/src/types.d.ts
CHANGED
|
@@ -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;
|