@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.
- package/CONFIG.example.json +1 -0
- package/README.md +21 -1
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +5 -3
- package/dist/config.js.map +1 -1
- package/dist/db/slot-db.d.ts +4 -1
- package/dist/db/slot-db.d.ts.map +1 -1
- package/dist/db/slot-db.js +18 -7
- package/dist/db/slot-db.js.map +1 -1
- package/dist/hooks/auto-capture.d.ts.map +1 -1
- package/dist/hooks/auto-capture.js +19 -34
- package/dist/hooks/auto-capture.js.map +1 -1
- package/dist/hooks/auto-recall.d.ts +28 -0
- package/dist/hooks/auto-recall.d.ts.map +1 -1
- package/dist/hooks/auto-recall.js +224 -15
- package/dist/hooks/auto-recall.js.map +1 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -7
- package/dist/index.js.map +1 -1
- package/dist/services/llm-extractor.d.ts.map +1 -1
- package/dist/services/llm-extractor.js +80 -16
- package/dist/services/llm-extractor.js.map +1 -1
- package/dist/services/qdrant.d.ts.map +1 -1
- package/dist/services/qdrant.js +2 -0
- package/dist/services/qdrant.js.map +1 -1
- package/dist/shared/memory-config.d.ts +30 -74
- package/dist/shared/memory-config.d.ts.map +1 -1
- package/dist/shared/memory-config.js +129 -134
- package/dist/shared/memory-config.js.map +1 -1
- package/dist/shared/slotdb-path.d.ts +20 -0
- package/dist/shared/slotdb-path.d.ts.map +1 -0
- package/dist/shared/slotdb-path.js +46 -0
- package/dist/shared/slotdb-path.js.map +1 -0
- package/dist/tools/graph-tools.d.ts +4 -1
- package/dist/tools/graph-tools.d.ts.map +1 -1
- package/dist/tools/graph-tools.js +39 -16
- package/dist/tools/graph-tools.js.map +1 -1
- package/dist/tools/memory_search.d.ts.map +1 -1
- package/dist/tools/memory_search.js +16 -3
- package/dist/tools/memory_search.js.map +1 -1
- package/dist/tools/memory_store.d.ts.map +1 -1
- package/dist/tools/memory_store.js +22 -5
- package/dist/tools/memory_store.js.map +1 -1
- package/dist/tools/slot-tools.d.ts +4 -1
- package/dist/tools/slot-tools.d.ts.map +1 -1
- package/dist/tools/slot-tools.js +37 -14
- package/dist/tools/slot-tools.js.map +1 -1
- package/openclaw.plugin.json +8 -0
- package/package.json +6 -3
|
@@ -1,176 +1,171 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Shared Memory Configuration
|
|
3
|
-
*
|
|
3
|
+
* Source of truth for namespace routing, noise policy v2, and recall weighting
|
|
4
4
|
*/
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
*
|
|
54
|
-
*
|
|
39
|
+
* Revert coarse blocklist change:
|
|
40
|
+
* keep all 5 core agents eligible for capture by default.
|
|
55
41
|
*/
|
|
56
|
-
export
|
|
57
|
-
return LEARNING_PATTERNS.some(p => p.test(text));
|
|
58
|
-
}
|
|
42
|
+
export const DEFAULT_AGENT_BLOCKLIST = new Set([]);
|
|
59
43
|
/**
|
|
60
|
-
*
|
|
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
|
-
|
|
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
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
if (
|
|
80
|
-
return
|
|
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
|
-
|
|
83
|
-
|
|
89
|
+
if (namespace === "noise.filtered")
|
|
90
|
+
return 0.01;
|
|
91
|
+
return 1.0;
|
|
84
92
|
}
|
|
85
|
-
/**
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
-
|
|
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
|
-
|
|
100
|
-
|
|
101
|
-
export function
|
|
102
|
-
return
|
|
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,
|
|
130
|
-
environment: 3,
|
|
131
|
-
custom: 14,
|
|
132
|
-
profile: 90,
|
|
133
|
-
preferences: 90,
|
|
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;
|
|
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
|
-
|
|
161
|
-
|
|
162
|
-
|
|
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;
|
|
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
|
|
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;
|
|
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
|
-
|
|
12
|
+
import { resolveSlotDbDir } from "../shared/slotdb-path.js";
|
|
13
|
+
// Singleton DB instances keyed by resolved slotDbDir
|
|
13
14
|
const dbInstances = new Map();
|
|
14
|
-
|
|
15
|
-
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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
|
|
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(
|
|
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;
|
|
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"}
|