@mrc2204/agent-smart-memo 4.0.10 → 4.0.12

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.
Files changed (51) hide show
  1. package/CONFIG.example.json +1 -0
  2. package/README.md +21 -1
  3. package/dist/config.d.ts +1 -0
  4. package/dist/config.d.ts.map +1 -1
  5. package/dist/config.js +5 -3
  6. package/dist/config.js.map +1 -1
  7. package/dist/db/slot-db.d.ts +4 -1
  8. package/dist/db/slot-db.d.ts.map +1 -1
  9. package/dist/db/slot-db.js +18 -7
  10. package/dist/db/slot-db.js.map +1 -1
  11. package/dist/hooks/auto-capture.d.ts.map +1 -1
  12. package/dist/hooks/auto-capture.js +19 -34
  13. package/dist/hooks/auto-capture.js.map +1 -1
  14. package/dist/hooks/auto-recall.d.ts +28 -0
  15. package/dist/hooks/auto-recall.d.ts.map +1 -1
  16. package/dist/hooks/auto-recall.js +224 -15
  17. package/dist/hooks/auto-recall.js.map +1 -1
  18. package/dist/index.d.ts +4 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +20 -7
  21. package/dist/index.js.map +1 -1
  22. package/dist/services/llm-extractor.d.ts.map +1 -1
  23. package/dist/services/llm-extractor.js +80 -16
  24. package/dist/services/llm-extractor.js.map +1 -1
  25. package/dist/services/qdrant.d.ts.map +1 -1
  26. package/dist/services/qdrant.js +2 -0
  27. package/dist/services/qdrant.js.map +1 -1
  28. package/dist/shared/memory-config.d.ts +30 -74
  29. package/dist/shared/memory-config.d.ts.map +1 -1
  30. package/dist/shared/memory-config.js +129 -134
  31. package/dist/shared/memory-config.js.map +1 -1
  32. package/dist/shared/slotdb-path.d.ts +20 -0
  33. package/dist/shared/slotdb-path.d.ts.map +1 -0
  34. package/dist/shared/slotdb-path.js +46 -0
  35. package/dist/shared/slotdb-path.js.map +1 -0
  36. package/dist/tools/graph-tools.d.ts +4 -1
  37. package/dist/tools/graph-tools.d.ts.map +1 -1
  38. package/dist/tools/graph-tools.js +39 -16
  39. package/dist/tools/graph-tools.js.map +1 -1
  40. package/dist/tools/memory_search.d.ts.map +1 -1
  41. package/dist/tools/memory_search.js +16 -3
  42. package/dist/tools/memory_search.js.map +1 -1
  43. package/dist/tools/memory_store.d.ts.map +1 -1
  44. package/dist/tools/memory_store.js +22 -5
  45. package/dist/tools/memory_store.js.map +1 -1
  46. package/dist/tools/slot-tools.d.ts +4 -1
  47. package/dist/tools/slot-tools.d.ts.map +1 -1
  48. package/dist/tools/slot-tools.js +37 -14
  49. package/dist/tools/slot-tools.js.map +1 -1
  50. package/openclaw.plugin.json +8 -0
  51. package/package.json +6 -3
@@ -1,176 +1,171 @@
1
1
  /**
2
2
  * Shared Memory Configuration
3
- * Single source of truth for namespace routing and agent mapping
3
+ * Source of truth for namespace routing, noise policy v2, and recall weighting
4
4
  */
5
- /**
6
- * Maps agent IDs to their allowed namespaces.
7
- * First namespace is the default storage target for auto-capture.
8
- * All listed namespaces are searchable by auto-recall.
9
- */
10
- export const AGENT_NAMESPACE_MAP = {
11
- assistant: ["agent_decisions", "user_profile", "agent_learnings"],
12
- scrum: ["agent_decisions", "project_context", "agent_learnings"],
13
- fullstack: ["agent_decisions", "project_context", "agent_learnings"],
14
- creator: ["agent_decisions", "project_context", "agent_learnings"],
15
- trader: ["trading_signals", "agent_decisions", "agent_learnings"],
5
+ export const CORE_AGENTS = ["assistant", "scrum", "fullstack", "trader", "creator"];
6
+ const LEGACY_TO_NEW_NAMESPACE = {
7
+ agent_decisions: "agent.assistant.decisions",
8
+ user_profile: "shared.project_context",
9
+ project_context: "shared.project_context",
10
+ trading_signals: "agent.trader.decisions",
11
+ agent_learnings: "agent.assistant.lessons",
12
+ system_rules: "shared.rules_slotdb",
13
+ default: "agent.assistant.working_memory",
16
14
  };
17
- /** Default namespaces for agents not in the map */
18
- export const DEFAULT_NAMESPACES = ["agent_decisions"];
19
- /** Agents that should be completely blocked from auto-capture (empty - no agents blocked by default) */
20
- export const DEFAULT_AGENT_BLOCKLIST = new Set([
21
- // "trader" is NOT in this list - trader is allowed for auto-capture
22
- // Add agent IDs here if they should never be auto-captured
23
- ]);
24
- /** General noise patterns - applied to all agents */
25
- export const NOISE_PATTERNS = [
26
- /^\s*ok\s*$/i,
27
- /^\s*yes\s*$/i,
28
- /^\s*no\s*$/i,
29
- /^\s*thanks?\s*$/i,
30
- /^\s*\.\s*$/,
31
- /^\s*\?\s*$/,
32
- /^\/\w+/, // command-like messages
33
- ];
34
- /** Trading-specific noise patterns - used to skip auto-capture for trading content */
35
- export const TRADING_NOISE_PATTERNS = [
36
- /\b(buy|sell|long|short|entry|exit|stop.?loss|take.?profit)\b/i,
37
- /\b(BTC|ETH|SOL|DOGE|XRP|USDT|BNB|ADA|DOT|AVAX|LINK|UNI|AAVE|COMP|SUSHI|CRV)\b/,
38
- /\b\d+(\.\d+)?%\b/, // percentage
39
- /\b(signal|position|leverage|liquidation|margin|futures|perp)\b/i,
40
- /\b(candle|support|resistance|breakout|pullback|rsi|macd|ema|sma|bollinger)\b/i,
41
- /\b(breakout|consolidation|accumulation|distribution)\b/i,
42
- /\b(tp|sl)\s*\d+/i, // TP/SL with numbers
43
- /\b@\s*\d+[\d,.]*/i, // @ price format
44
- ];
45
- /** Learning content detection patterns */
46
- export const LEARNING_PATTERNS = [
47
- /\b(learned|lesson|takeaway|kinh nghiệm|bài học|rút ra)\b/i,
48
- /\b(fixed|resolved|root cause|nguyên nhân gốc|đã sửa)\b/i,
49
- /\b(best practice|pattern|anti-pattern|gotcha)\b/i,
50
- /\b(never|always|remember to|lưu ý|nhớ rằng)\b/i,
51
- ];
15
+ export function normalizeNamespace(value, fallbackAgent = "assistant") {
16
+ const agent = toCoreAgent(fallbackAgent);
17
+ if (!value)
18
+ return `agent.${agent}.working_memory`;
19
+ if (value === "shared.project_context"
20
+ || value === "shared.rules_slotdb"
21
+ || value === "shared.runbooks"
22
+ || value === "noise.filtered"
23
+ || /^agent\.(assistant|scrum|fullstack|trader|creator)\.(working_memory|lessons|decisions)$/.test(value)) {
24
+ return value;
25
+ }
26
+ const mapped = LEGACY_TO_NEW_NAMESPACE[value];
27
+ if (mapped)
28
+ return mapped;
29
+ return `agent.${agent}.working_memory`;
30
+ }
31
+ export function toCoreAgent(agentId) {
32
+ const normalized = (agentId || "").toLowerCase();
33
+ if (CORE_AGENTS.includes(normalized)) {
34
+ return normalized;
35
+ }
36
+ return "assistant";
37
+ }
52
38
  /**
53
- * Check if content contains learning patterns
54
- * Used to route valuable lessons to agent_learnings namespace
39
+ * Revert coarse blocklist change:
40
+ * keep all 5 core agents eligible for capture by default.
55
41
  */
56
- export function isLearningContent(text) {
57
- return LEARNING_PATTERNS.some(p => p.test(text));
58
- }
42
+ export const DEFAULT_AGENT_BLOCKLIST = new Set([]);
59
43
  /**
60
- * Get namespaces for an agent.
61
- * Returns mapped namespaces or DEFAULT_NAMESPACES if agent not in map.
44
+ * Per-agent recall namespaces (noise.filtered is intentionally excluded)
62
45
  */
63
46
  export function getAgentNamespaces(agentId) {
64
- return AGENT_NAMESPACE_MAP[agentId] || DEFAULT_NAMESPACES;
47
+ const agent = toCoreAgent(agentId);
48
+ return [
49
+ `agent.${agent}.working_memory`,
50
+ `agent.${agent}.lessons`,
51
+ `agent.${agent}.decisions`,
52
+ "shared.project_context",
53
+ "shared.rules_slotdb",
54
+ "shared.runbooks",
55
+ ];
65
56
  }
66
- /**
67
- * Get the default storage namespace for auto-capture.
68
- * For trader: always "agent_decisions" (trading data goes through memory_store)
69
- * For others: first namespace in their map
70
- *
71
- * V2 UPDATE: Now accepts text parameter to detect learning content
72
- * Learning content is routed to "agent_learnings" namespace
73
- */
74
57
  export function getAutoCaptureNamespace(agentId, text) {
75
- // Learning content gets special routing - highest priority
76
- if (text && isLearningContent(text)) {
77
- return "agent_learnings";
78
- }
79
- if (agentId === "trader") {
80
- return "agent_decisions"; // Trading data goes through memory_store manually
58
+ const agent = toCoreAgent(agentId);
59
+ const content = String(text || "");
60
+ if (isLearningContent(content))
61
+ return `agent.${agent}.lessons`;
62
+ if (isDecisionContent(content))
63
+ return `agent.${agent}.decisions`;
64
+ if (isRunbookContent(content))
65
+ return "shared.runbooks";
66
+ if (isRuleContent(content))
67
+ return "shared.rules_slotdb";
68
+ if (isProjectContextContent(content))
69
+ return "shared.project_context";
70
+ return `agent.${agent}.working_memory`;
71
+ }
72
+ /** Recall priority weighting policy */
73
+ const SHARED_NAMESPACE_WEIGHT = {
74
+ "shared.project_context": 1.08,
75
+ "shared.rules_slotdb": 1.18,
76
+ "shared.runbooks": 1.12,
77
+ };
78
+ export function getNamespaceWeight(agentId, namespace) {
79
+ const agent = toCoreAgent(agentId);
80
+ if (namespace === `agent.${agent}.decisions`)
81
+ return 1.25;
82
+ if (namespace === `agent.${agent}.lessons`)
83
+ return 1.2;
84
+ if (namespace === `agent.${agent}.working_memory`)
85
+ return 1.1;
86
+ if (namespace in SHARED_NAMESPACE_WEIGHT) {
87
+ return SHARED_NAMESPACE_WEIGHT[namespace];
81
88
  }
82
- const namespaces = getAgentNamespaces(agentId);
83
- return namespaces[0] || "agent_decisions";
89
+ if (namespace === "noise.filtered")
90
+ return 0.01;
91
+ return 1.0;
84
92
  }
85
- /**
86
- * Check if an agent is the trader agent.
87
- * Used by noise filter to apply trading-specific rules.
88
- */
89
- export function isTraderAgent(agentId) {
90
- return agentId === "trader";
93
+ /** Noise policy v2 */
94
+ export const NOISE_PATTERNS_V2 = [
95
+ /^\s*(ok|k|kk|yes|no|thanks?|tks|thx)\s*$/i,
96
+ /^\s*(no_reply|heartbeat_ok)\s*$/i,
97
+ /^\s*[.?]+\s*$/,
98
+ /^\s*\/\w+/,
99
+ /^\s*\[tool[:\]]/i,
100
+ /^\s*\{\s*"type"\s*:\s*"toolCall"/i,
101
+ /^\s*(ping|pong)\s*$/i,
102
+ ];
103
+ const SOURCE_TYPE_NOISE_WEIGHT = {
104
+ auto_capture: 0.15,
105
+ tool_call: 0.2,
106
+ manual: 0.02,
107
+ };
108
+ export function evaluateNoiseV2(text, sourceType = "auto_capture") {
109
+ const content = String(text || "").trim();
110
+ const matchedPatterns = NOISE_PATTERNS_V2.filter((p) => p.test(content)).map((p) => p.toString());
111
+ const lengthPenalty = content.length < 8 ? 0.45 : content.length < 24 ? 0.15 : 0;
112
+ const patternScore = matchedPatterns.length > 0 ? Math.min(0.8, matchedPatterns.length * 0.4) : 0;
113
+ const sourceScore = SOURCE_TYPE_NOISE_WEIGHT[sourceType] ?? 0.1;
114
+ const score = Math.min(1, Number((patternScore + sourceScore + lengthPenalty).toFixed(3)));
115
+ return {
116
+ score,
117
+ isNoise: score >= 0.62,
118
+ matchedPatterns,
119
+ };
91
120
  }
92
- /**
93
- * Check if content matches any trading noise patterns
94
- */
95
- export function isTradingContent(text) {
96
- return TRADING_NOISE_PATTERNS.some((pattern) => pattern.test(text));
121
+ export function isLearningContent(text) {
122
+ return /\b(learned|lesson|takeaway|kinh nghiệm|bài học|rút ra|postmortem|root cause)\b/i.test(text);
97
123
  }
98
- /**
99
- * Check if content matches general noise patterns
100
- */
101
- export function isNoiseContent(text) {
102
- return NOISE_PATTERNS.some((pattern) => pattern.test(text));
124
+ export function isDecisionContent(text) {
125
+ return /\b(decision|approved|chốt|quyết định|ship|go with|reject|accept)\b/i.test(text);
126
+ }
127
+ export function isProjectContextContent(text) {
128
+ return /\b(deploy|release|migration|rollback|staging|production|port|endpoint|schema|db|api key|config)\b/i.test(text);
129
+ }
130
+ export function isRuleContent(text) {
131
+ return /\b(rule|policy|guardrail|must|never|always|slotdb|quy tắc|bắt buộc|không được)\b/i.test(text);
132
+ }
133
+ export function isRunbookContent(text) {
134
+ return /\b(runbook|sop|playbook|incident response|checklist|triage|khắc phục|vận hành)\b/i.test(text);
103
135
  }
104
- /**
105
- * Check if agent is in the blocklist
106
- */
107
136
  export function isBlockedAgent(agentId) {
108
137
  return DEFAULT_AGENT_BLOCKLIST.has(agentId);
109
138
  }
110
- /**
111
- * Normalize scope_user_id to prevent fragmentation.
112
- * Maps all session-based IDs (hook:*, cron:*, subagent:*) to 'default'.
113
- * Preserves __team__ and __public__ scopes.
114
- *
115
- * ROOT CAUSE FIX: Each session generates a unique scope_user_id like
116
- * "hook:e0758a07-..." or "cron:5668fdad-...", causing massive duplication.
117
- * Since this is a single-user system, we normalize everything to 'default'.
118
- */
119
139
  export function normalizeUserId(rawUserId) {
120
- // Preserve special scopes
121
140
  if (rawUserId === '__team__' || rawUserId === '__public__') {
122
141
  return rawUserId;
123
142
  }
124
- // Always normalize to 'default' for single-user system
125
143
  return 'default';
126
144
  }
127
- /** Slot TTL configuration by category (in days) */
128
145
  export const SLOT_TTL_DAYS = {
129
- project: 7, // Project/task slots: 7 days
130
- environment: 3, // Environment slots: 3 days
131
- custom: 14, // Custom slots: 14 days
132
- profile: 90, // Profile slots: 90 days
133
- preferences: 90, // Preferences: 90 days
146
+ project: 7,
147
+ environment: 3,
148
+ custom: 14,
149
+ profile: 90,
150
+ preferences: 90,
134
151
  };
135
- /** Get TTL in days for a slot category */
136
152
  export function getSlotTTL(category) {
137
- return SLOT_TTL_DAYS[category] ?? 30; // default 30 days
153
+ return SLOT_TTL_DAYS[category] ?? 30;
138
154
  }
139
- /**
140
- * NoiseFilter class for auto-capture
141
- * Determines whether content should be captured or skipped
142
- */
143
155
  export class NoiseFilter {
144
156
  agentId;
145
157
  constructor(agentId) {
146
158
  this.agentId = agentId;
147
159
  }
148
- /**
149
- * Check if this agent should be completely blocked from auto-capture
150
- */
151
160
  isBlocked() {
152
161
  return isBlockedAgent(this.agentId);
153
162
  }
154
- /**
155
- * Check if content should be skipped for this agent
156
- * - General noise patterns apply to all agents
157
- * - Trading noise patterns only apply to trader agent (to skip auto-capture of trading data)
158
- */
159
163
  shouldSkip(text) {
160
- // Check general noise patterns
161
- if (isNoiseContent(text)) {
162
- return true;
163
- }
164
- // For trader agent, skip trading content (trader should use memory_store manually)
165
- if (isTraderAgent(this.agentId) && isTradingContent(text)) {
166
- return true;
167
- }
168
- return false;
164
+ return evaluateNoiseV2(text, "auto_capture").isNoise;
165
+ }
166
+ classify(text, sourceType = "auto_capture") {
167
+ return evaluateNoiseV2(text, sourceType);
169
168
  }
170
- /**
171
- * Get the target namespace for auto-capture for this agent
172
- * V2 UPDATE: Now accepts optional text parameter for learning detection
173
- */
174
169
  getTargetNamespace(text) {
175
170
  return getAutoCaptureNamespace(this.agentId, text);
176
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory-config.js","sourceRoot":"","sources":["../../src/shared/memory-config.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAWH;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAsC;IACpE,SAAS,EAAE,CAAC,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAC;IACjE,KAAK,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;IAChE,SAAS,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;IACpE,OAAO,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;IAClE,MAAM,EAAE,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,CAAC;CAClE,CAAC;AAEF,mDAAmD;AACnD,MAAM,CAAC,MAAM,kBAAkB,GAAsB,CAAC,iBAAiB,CAAC,CAAC;AAEzE,wGAAwG;AACxG,MAAM,CAAC,MAAM,uBAAuB,GAAG,IAAI,GAAG,CAAS;AACrD,oEAAoE;AACpE,2DAA2D;CAC5D,CAAC,CAAC;AAEH,qDAAqD;AACrD,MAAM,CAAC,MAAM,cAAc,GAAa;IACtC,aAAa;IACb,cAAc;IACd,aAAa;IACb,kBAAkB;IAClB,YAAY;IACZ,YAAY;IACZ,QAAQ,EAAE,wBAAwB;CACnC,CAAC;AAEF,sFAAsF;AACtF,MAAM,CAAC,MAAM,sBAAsB,GAAa;IAC9C,+DAA+D;IAC/D,+EAA+E;IAC/E,kBAAkB,EAAE,aAAa;IACjC,iEAAiE;IACjE,+EAA+E;IAC/E,yDAAyD;IACzD,kBAAkB,EAAE,qBAAqB;IACzC,mBAAmB,EAAE,iBAAiB;CACvC,CAAC;AAEF,0CAA0C;AAC1C,MAAM,CAAC,MAAM,iBAAiB,GAAa;IACzC,2DAA2D;IAC3D,yDAAyD;IACzD,kDAAkD;IAClD,gDAAgD;CACjD,CAAC;AAEF;;;GAGG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnD,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAe;IAChD,OAAO,mBAAmB,CAAC,OAAO,CAAC,IAAI,kBAAkB,CAAC;AAC5D,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAe,EAAE,IAAa;IACpE,2DAA2D;IAC3D,IAAI,IAAI,IAAI,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpC,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IAED,IAAI,OAAO,KAAK,QAAQ,EAAE,CAAC;QACzB,OAAO,iBAAiB,CAAC,CAAC,kDAAkD;IAC9E,CAAC;IACD,MAAM,UAAU,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAC;IAC/C,OAAO,UAAU,CAAC,CAAC,CAAC,IAAI,iBAAiB,CAAC;AAC5C,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,OAAe;IAC3C,OAAO,OAAO,KAAK,QAAQ,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAY;IAC3C,OAAO,sBAAsB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,IAAY;IACzC,OAAO,cAAc,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAC9D,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAAe;IAC5C,OAAO,uBAAuB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAC9C,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,eAAe,CAAC,SAAiB;IAC/C,0BAA0B;IAC1B,IAAI,SAAS,KAAK,UAAU,IAAI,SAAS,KAAK,YAAY,EAAE,CAAC;QAC3D,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,uDAAuD;IACvD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,mDAAmD;AACnD,MAAM,CAAC,MAAM,aAAa,GAA2B;IACnD,OAAO,EAAE,CAAC,EAAS,6BAA6B;IAChD,WAAW,EAAE,CAAC,EAAK,8BAA8B;IACjD,MAAM,EAAE,EAAE,EAAS,wBAAwB;IAC3C,OAAO,EAAE,EAAE,EAAQ,yBAAyB;IAC5C,WAAW,EAAE,EAAE,EAAI,uBAAuB;CAC3C,CAAC;AAEF,0CAA0C;AAC1C,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,OAAO,aAAa,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,kBAAkB;AAC1D,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,WAAW;IACd,OAAO,CAAS;IAExB,YAAY,OAAe;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACtC,CAAC;IAED;;;;OAIG;IACH,UAAU,CAAC,IAAY;QACrB,+BAA+B;QAC/B,IAAI,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC;QACd,CAAC;QAED,mFAAmF;QACnF,IAAI,aAAa,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;YAC1D,OAAO,IAAI,CAAC;QACd,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAED;;;OAGG;IACH,kBAAkB,CAAC,IAAa;QAC9B,OAAO,uBAAuB,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IACrD,CAAC;CACF"}
1
+ {"version":3,"file":"memory-config.js","sourceRoot":"","sources":["../../src/shared/memory-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ export interface ResolveSlotDbDirInput {
2
+ stateDir?: string;
3
+ slotDbDir?: string;
4
+ env?: NodeJS.ProcessEnv;
5
+ homeDir?: string;
6
+ }
7
+ /**
8
+ * Resolve SlotDB directory with priority:
9
+ * 1) OPENCLAW_SLOTDB_DIR
10
+ * 2) plugin config slotDbDir
11
+ * 3) legacy fallback: ${stateDir}/agent-memo
12
+ */
13
+ export declare function resolveSlotDbDir(input: ResolveSlotDbDirInput): string;
14
+ /**
15
+ * Backward compatibility resolver for legacy constructor usage:
16
+ * - If the provided path already points to an `agent-memo` directory, use as-is.
17
+ * - Otherwise treat it as OPENCLAW_STATE_DIR and append `agent-memo`.
18
+ */
19
+ export declare function resolveLegacyStateDirInput(stateDirOrSlotDbDir: string): string;
20
+ //# sourceMappingURL=slotdb-path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slotdb-path.d.ts","sourceRoot":"","sources":["../../src/shared/slotdb-path.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAWD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,GAAG,MAAM,CAerE;AAED;;;;GAIG;AACH,wBAAgB,0BAA0B,CAAC,mBAAmB,EAAE,MAAM,GAAG,MAAM,CAS9E"}
@@ -0,0 +1,46 @@
1
+ import { join } from "node:path";
2
+ function expandHome(input, homeDir) {
3
+ if (!input.startsWith("~"))
4
+ return input;
5
+ const home = homeDir || process.env.HOME || "";
6
+ if (!home)
7
+ return input;
8
+ if (input === "~")
9
+ return home;
10
+ if (input.startsWith("~/"))
11
+ return join(home, input.slice(2));
12
+ return input;
13
+ }
14
+ /**
15
+ * Resolve SlotDB directory with priority:
16
+ * 1) OPENCLAW_SLOTDB_DIR
17
+ * 2) plugin config slotDbDir
18
+ * 3) legacy fallback: ${stateDir}/agent-memo
19
+ */
20
+ export function resolveSlotDbDir(input) {
21
+ const env = input.env || process.env;
22
+ const envSlotDbDir = env.OPENCLAW_SLOTDB_DIR?.trim();
23
+ const configSlotDbDir = input.slotDbDir?.trim();
24
+ const resolvedFromConfig = envSlotDbDir || configSlotDbDir;
25
+ if (resolvedFromConfig) {
26
+ return expandHome(resolvedFromConfig, input.homeDir || env.HOME);
27
+ }
28
+ const stateDir = input.stateDir?.trim()
29
+ || env.OPENCLAW_STATE_DIR?.trim()
30
+ || `${env.HOME}/.openclaw`;
31
+ return join(expandHome(stateDir, input.homeDir || env.HOME), "agent-memo");
32
+ }
33
+ /**
34
+ * Backward compatibility resolver for legacy constructor usage:
35
+ * - If the provided path already points to an `agent-memo` directory, use as-is.
36
+ * - Otherwise treat it as OPENCLAW_STATE_DIR and append `agent-memo`.
37
+ */
38
+ export function resolveLegacyStateDirInput(stateDirOrSlotDbDir) {
39
+ const expanded = expandHome(stateDirOrSlotDbDir);
40
+ const normalized = expanded.replace(/\\+$/, "").replace(/\/+$/, "");
41
+ if (normalized.endsWith("/agent-memo") || normalized.endsWith("\\agent-memo")) {
42
+ return expanded;
43
+ }
44
+ return join(expanded, "agent-memo");
45
+ }
46
+ //# sourceMappingURL=slotdb-path.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slotdb-path.js","sourceRoot":"","sources":["../../src/shared/slotdb-path.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AASjC,SAAS,UAAU,CAAC,KAAa,EAAE,OAAgB;IACjD,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,KAAK,CAAC;IACzC,MAAM,IAAI,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,EAAE,CAAC;IAC/C,IAAI,CAAC,IAAI;QAAE,OAAO,KAAK,CAAC;IACxB,IAAI,KAAK,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IAC/B,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,KAA4B;IAC3D,MAAM,GAAG,GAAG,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC;IACrC,MAAM,YAAY,GAAG,GAAG,CAAC,mBAAmB,EAAE,IAAI,EAAE,CAAC;IACrD,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC;IAEhD,MAAM,kBAAkB,GAAG,YAAY,IAAI,eAAe,CAAC;IAC3D,IAAI,kBAAkB,EAAE,CAAC;QACvB,OAAO,UAAU,CAAC,kBAAkB,EAAE,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,CAAC;IACnE,CAAC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE;WAClC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE;WAC9B,GAAG,GAAG,CAAC,IAAI,YAAY,CAAC;IAE7B,OAAO,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC,CAAC;AAC7E,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,mBAA2B;IACpE,MAAM,QAAQ,GAAG,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACjD,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IAEpE,IAAI,UAAU,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;QAC9E,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,OAAO,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;AACtC,CAAC"}
@@ -9,5 +9,8 @@
9
9
  * - memory_graph_search: Search entities + traverse graph
10
10
  */
11
11
  import type { OpenClawPluginApi } from "openclaw/plugin-sdk";
12
- export declare function registerGraphTools(api: OpenClawPluginApi): void;
12
+ export declare function registerGraphTools(api: OpenClawPluginApi, options?: {
13
+ stateDir?: string;
14
+ slotDbDir?: string;
15
+ }): void;
13
16
  //# sourceMappingURL=graph-tools.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"graph-tools.d.ts","sourceRoot":"","sources":["../../src/tools/graph-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AA8B7D,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CA8W/D"}
1
+ {"version":3,"file":"graph-tools.d.ts","sourceRoot":"","sources":["../../src/tools/graph-tools.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAwD7D,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,iBAAiB,EACtB,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAClD,IAAI,CAkXN"}
@@ -9,16 +9,35 @@
9
9
  * - memory_graph_search: Search entities + traverse graph
10
10
  */
11
11
  import { SlotDB } from "../db/slot-db.js";
12
- // Singleton DB instances
12
+ import { resolveSlotDbDir } from "../shared/slotdb-path.js";
13
+ // Singleton DB instances keyed by resolved slotDbDir
13
14
  const dbInstances = new Map();
14
- function getSlotDB(stateDir) {
15
- let db = dbInstances.get(stateDir);
15
+ let runtimeConfig = {
16
+ stateDir: process.env.OPENCLAW_STATE_DIR || `${process.env.HOME}/.openclaw`,
17
+ slotDbDir: resolveSlotDbDir({
18
+ stateDir: process.env.OPENCLAW_STATE_DIR || `${process.env.HOME}/.openclaw`,
19
+ env: process.env,
20
+ homeDir: process.env.HOME,
21
+ }),
22
+ };
23
+ function getSlotDB(slotDbDir) {
24
+ let db = dbInstances.get(slotDbDir);
16
25
  if (!db) {
17
- db = new SlotDB(stateDir);
18
- dbInstances.set(stateDir, db);
26
+ db = new SlotDB(runtimeConfig.stateDir, { slotDbDir });
27
+ dbInstances.set(slotDbDir, db);
19
28
  }
20
29
  return db;
21
30
  }
31
+ function resolveSlotDbDirFromContext(ctx) {
32
+ const stateDir = ctx?.stateDir || runtimeConfig.stateDir;
33
+ const configSlotDbDir = ctx?.pluginConfig?.slotDbDir || ctx?.config?.slotDbDir;
34
+ return resolveSlotDbDir({
35
+ stateDir,
36
+ slotDbDir: configSlotDbDir,
37
+ env: process.env,
38
+ homeDir: process.env.HOME,
39
+ });
40
+ }
22
41
  function extractScope(sessionKey) {
23
42
  const parts = sessionKey.split(":");
24
43
  const agentId = parts.length >= 2 ? parts[1] : "main";
@@ -32,7 +51,11 @@ function createResult(text, isError = false) {
32
51
  isError,
33
52
  };
34
53
  }
35
- export function registerGraphTools(api) {
54
+ export function registerGraphTools(api, options) {
55
+ runtimeConfig = {
56
+ stateDir: options?.stateDir || runtimeConfig.stateDir,
57
+ slotDbDir: options?.slotDbDir || runtimeConfig.slotDbDir,
58
+ };
36
59
  // ===========================================================================
37
60
  // Tool 1: memory_graph_entity_get
38
61
  // ===========================================================================
@@ -50,10 +73,10 @@ export function registerGraphTools(api) {
50
73
  },
51
74
  async execute(_id, params, ctx) {
52
75
  try {
53
- const stateDir = ctx?.stateDir || process.env.OPENCLAW_STATE_DIR || `${process.env.HOME}/.openclaw`;
76
+ const slotDbDir = resolveSlotDbDirFromContext(ctx);
54
77
  const sessionKey = ctx?.sessionKey || "agent:main:default";
55
78
  const { userId, agentId } = extractScope(sessionKey);
56
- const db = getSlotDB(stateDir);
79
+ const db = getSlotDB(slotDbDir);
57
80
  // If ID provided, get single entity
58
81
  if (params.id) {
59
82
  const entity = db.graph.getEntity(userId, agentId, params.id);
@@ -116,10 +139,10 @@ export function registerGraphTools(api) {
116
139
  },
117
140
  async execute(_id, params, ctx) {
118
141
  try {
119
- const stateDir = ctx?.stateDir || process.env.OPENCLAW_STATE_DIR || `${process.env.HOME}/.openclaw`;
142
+ const slotDbDir = resolveSlotDbDirFromContext(ctx);
120
143
  const sessionKey = ctx?.sessionKey || "agent:main:default";
121
144
  const { userId, agentId } = extractScope(sessionKey);
122
- const db = getSlotDB(stateDir);
145
+ const db = getSlotDB(slotDbDir);
123
146
  let entity;
124
147
  if (params.id) {
125
148
  // Update existing
@@ -171,10 +194,10 @@ export function registerGraphTools(api) {
171
194
  },
172
195
  async execute(_id, params, ctx) {
173
196
  try {
174
- const stateDir = ctx?.stateDir || process.env.OPENCLAW_STATE_DIR || `${process.env.HOME}/.openclaw`;
197
+ const slotDbDir = resolveSlotDbDirFromContext(ctx);
175
198
  const sessionKey = ctx?.sessionKey || "agent:main:default";
176
199
  const { userId, agentId } = extractScope(sessionKey);
177
- const db = getSlotDB(stateDir);
200
+ const db = getSlotDB(slotDbDir);
178
201
  // Verify entities exist
179
202
  const source = db.graph.getEntity(userId, agentId, params.source_id);
180
203
  const target = db.graph.getEntity(userId, agentId, params.target_id);
@@ -225,10 +248,10 @@ export function registerGraphTools(api) {
225
248
  },
226
249
  async execute(_id, params, ctx) {
227
250
  try {
228
- const stateDir = ctx?.stateDir || process.env.OPENCLAW_STATE_DIR || `${process.env.HOME}/.openclaw`;
251
+ const slotDbDir = resolveSlotDbDirFromContext(ctx);
229
252
  const sessionKey = ctx?.sessionKey || "agent:main:default";
230
253
  const { userId, agentId } = extractScope(sessionKey);
231
- const db = getSlotDB(stateDir);
254
+ const db = getSlotDB(slotDbDir);
232
255
  if (params.id) {
233
256
  // Delete by ID
234
257
  const deleted = db.graph.deleteRelationship(userId, agentId, params.id);
@@ -280,10 +303,10 @@ export function registerGraphTools(api) {
280
303
  },
281
304
  async execute(_id, params, ctx) {
282
305
  try {
283
- const stateDir = ctx?.stateDir || process.env.OPENCLAW_STATE_DIR || `${process.env.HOME}/.openclaw`;
306
+ const slotDbDir = resolveSlotDbDirFromContext(ctx);
284
307
  const sessionKey = ctx?.sessionKey || "agent:main:default";
285
308
  const { userId, agentId } = extractScope(sessionKey);
286
- const db = getSlotDB(stateDir);
309
+ const db = getSlotDB(slotDbDir);
287
310
  // Get starting entity
288
311
  const startEntity = db.graph.getEntity(userId, agentId, params.entity_id);
289
312
  if (!startEntity) {
@@ -1 +1 @@
1
- {"version":3,"file":"graph-tools.js","sourceRoot":"","sources":["../../src/tools/graph-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"graph-tools.js","sourceRoot":"","sources":["../../src/tools/graph-tools.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory_search.d.ts","sourceRoot":"","sources":["../../src/tools/memory_search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAe,eAAe,EAAE,MAAM,aAAa,CAAC;AAGrF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC9B,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,eAAe,EAC1B,gBAAgB,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASxB,MAAM,UACH,YAAY,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,YACvD,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC;EAsHzB"}
1
+ {"version":3,"file":"memory_search.d.ts","sourceRoot":"","sources":["../../src/tools/memory_search.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,UAAU,EAAe,eAAe,EAAE,MAAM,aAAa,CAAC;AAGrF,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqC9B,CAAC;AAEF,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,eAAe,EAC1B,gBAAgB,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASxB,MAAM,UACH,YAAY,GAAG;QAAE,WAAW,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,YACvD,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC;EAoIzB"}