@mrc2204/agent-smart-memo 4.0.9 → 4.0.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.
Files changed (37) hide show
  1. package/dist/config.js +2 -2
  2. package/dist/config.js.map +1 -1
  3. package/dist/hooks/auto-capture.d.ts.map +1 -1
  4. package/dist/hooks/auto-capture.js +19 -34
  5. package/dist/hooks/auto-capture.js.map +1 -1
  6. package/dist/hooks/auto-recall.d.ts.map +1 -1
  7. package/dist/hooks/auto-recall.js +16 -8
  8. package/dist/hooks/auto-recall.js.map +1 -1
  9. package/dist/index.d.ts.map +1 -1
  10. package/dist/index.js +39 -4
  11. package/dist/index.js.map +1 -1
  12. package/dist/services/embedding-capability-registry.d.ts +23 -0
  13. package/dist/services/embedding-capability-registry.d.ts.map +1 -0
  14. package/dist/services/embedding-capability-registry.js +56 -0
  15. package/dist/services/embedding-capability-registry.js.map +1 -0
  16. package/dist/services/embedding.d.ts +30 -11
  17. package/dist/services/embedding.d.ts.map +1 -1
  18. package/dist/services/embedding.js +316 -87
  19. package/dist/services/embedding.js.map +1 -1
  20. package/dist/services/llm-extractor.d.ts.map +1 -1
  21. package/dist/services/llm-extractor.js +7 -3
  22. package/dist/services/llm-extractor.js.map +1 -1
  23. package/dist/services/qdrant.d.ts +6 -4
  24. package/dist/services/qdrant.d.ts.map +1 -1
  25. package/dist/services/qdrant.js +43 -8
  26. package/dist/services/qdrant.js.map +1 -1
  27. package/dist/shared/memory-config.d.ts +30 -74
  28. package/dist/shared/memory-config.d.ts.map +1 -1
  29. package/dist/shared/memory-config.js +129 -134
  30. package/dist/shared/memory-config.js.map +1 -1
  31. package/dist/tools/memory_search.d.ts.map +1 -1
  32. package/dist/tools/memory_search.js +16 -3
  33. package/dist/tools/memory_search.js.map +1 -1
  34. package/dist/tools/memory_store.d.ts.map +1 -1
  35. package/dist/tools/memory_store.js +26 -5
  36. package/dist/tools/memory_store.js.map +1 -1
  37. package/package.json +7 -4
@@ -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":"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"}
1
+ {"version":3,"file":"memory-config.js","sourceRoot":"","sources":["../../src/shared/memory-config.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"}
@@ -1,4 +1,4 @@
1
- import { getAgentNamespaces } from "../shared/memory-config.js";
1
+ import { getAgentNamespaces, getNamespaceWeight } from "../shared/memory-config.js";
2
2
  export const memorySearchSchema = {
3
3
  type: "object",
4
4
  properties: {
@@ -102,8 +102,21 @@ export function createMemorySearchTool(qdrant, embedding, defaultNamespace) {
102
102
  // Generate embedding and search
103
103
  const vector = await embedding.embed(query);
104
104
  const results = await qdrant.search(vector, limit, filter);
105
- // Filter by minScore
106
- const filtered = results.filter((r) => r.score >= minScore);
105
+ // Exclude quarantined noise and apply namespace-priority weighting
106
+ const weighted = results
107
+ .filter((r) => (r.payload?.namespace || "") !== "noise.filtered")
108
+ .map((r) => {
109
+ const ns = String(r.payload?.namespace || "");
110
+ const weight = getNamespaceWeight(agentId, ns);
111
+ return {
112
+ ...r,
113
+ _rawScore: r.score,
114
+ score: Math.min(1, r.score * weight),
115
+ };
116
+ })
117
+ .sort((a, b) => b.score - a.score);
118
+ // Filter by minScore on weighted score
119
+ const filtered = weighted.filter((r) => r.score >= minScore);
107
120
  if (filtered.length === 0) {
108
121
  return {
109
122
  content: [{ type: "text", text: "No relevant memories found." }],
@@ -1 +1 @@
1
- {"version":3,"file":"memory_search.js","sourceRoot":"","sources":["../../src/tools/memory_search.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory_search.js","sourceRoot":"","sources":["../../src/tools/memory_search.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory_store.d.ts","sourceRoot":"","sources":["../../src/tools/memory_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAS,eAAe,EAAE,MAAM,aAAa,CAAC;AAE9E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;CAyB7B,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,oBAAoB,EAC5B,gBAAgB,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASxB,MAAM,UACH,WAAW,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,YAChC,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC;EA4HzB"}
1
+ {"version":3,"file":"memory_store.d.ts","sourceRoot":"","sources":["../../src/tools/memory_store.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAC3D,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAS,eAAe,EAAE,MAAM,aAAa,CAAC;AAG9E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;CAyB7B,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,YAAY,EACpB,SAAS,EAAE,eAAe,EAC1B,MAAM,EAAE,oBAAoB,EAC5B,gBAAgB,EAAE,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBASxB,MAAM,UACH,WAAW,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,YAChC,WAAW,GACpB,OAAO,CAAC,UAAU,CAAC;EAiJzB"}
@@ -1,3 +1,4 @@
1
+ import { normalizeNamespace, toCoreAgent, evaluateNoiseV2 } from "../shared/memory-config.js";
1
2
  export const memoryStoreSchema = {
2
3
  type: "object",
3
4
  properties: {
@@ -7,7 +8,7 @@ export const memoryStoreSchema = {
7
8
  },
8
9
  namespace: {
9
10
  type: "string",
10
- description: "Namespace for organization (default: 'agent_decisions')",
11
+ description: "Namespace for organization (default: 'shared.project_context')",
11
12
  },
12
13
  sessionId: {
13
14
  type: "string",
@@ -55,8 +56,16 @@ export function createMemoryStoreTool(qdrant, embedding, dedupe, defaultNamespac
55
56
  details: { error: "Text too long", length: text.length },
56
57
  };
57
58
  }
58
- // Use provided namespace or default
59
- const namespace = params.namespace || defaultNamespace;
59
+ // Namespace router + normalization policy (ASM-5)
60
+ const agentId = params.agentId || "assistant";
61
+ const sourceAgent = toCoreAgent(agentId);
62
+ const requestedNamespace = params.namespace || defaultNamespace;
63
+ let namespace = normalizeNamespace(requestedNamespace, sourceAgent);
64
+ // Noise policy v2: quarantine noisy content into noise.filtered
65
+ const noise = evaluateNoiseV2(text, "tool_call");
66
+ if (noise.isNoise) {
67
+ namespace = "noise.filtered";
68
+ }
60
69
  // Generate embedding (chunking + weighted average)
61
70
  const embeddingResult = typeof embedding.embedDetailed === "function"
62
71
  ? await embedding.embedDetailed(text)
@@ -67,8 +76,12 @@ export function createMemoryStoreTool(qdrant, embedding, dedupe, defaultNamespac
67
76
  embedding_chunks_count: 1,
68
77
  embedding_chunking_strategy: "array_batch_weighted_avg",
69
78
  embedding_model: "unknown",
79
+ embedding_model_key: "unknown",
80
+ embedding_provider: "auto",
70
81
  embedding_max_tokens: 0,
71
82
  embedding_safe_chunk_tokens: 0,
83
+ embedding_source: "docs",
84
+ embedding_fallback_hash: false,
72
85
  },
73
86
  };
74
87
  const vector = embeddingResult.vector;
@@ -87,16 +100,20 @@ export function createMemoryStoreTool(qdrant, embedding, dedupe, defaultNamespac
87
100
  payload: {
88
101
  text,
89
102
  namespace,
90
- source_agent: params.agentId || "unknown",
103
+ agent: sourceAgent,
104
+ source_agent: sourceAgent,
91
105
  source_type: "tool_call",
92
106
  sessionId: params.sessionId || null,
93
107
  userId: params.userId || null,
94
108
  metadata: {
95
109
  ...(params.metadata || {}),
96
110
  ...embeddingResult.metadata,
111
+ noise_score: noise.score,
112
+ noise_matched_patterns: noise.matchedPatterns,
97
113
  },
98
114
  ...embeddingResult.metadata,
99
115
  timestamp: Date.now(),
116
+ noise_score: noise.score,
100
117
  updatedAt: Date.now(),
101
118
  },
102
119
  };
@@ -114,16 +131,20 @@ export function createMemoryStoreTool(qdrant, embedding, dedupe, defaultNamespac
114
131
  payload: {
115
132
  text,
116
133
  namespace,
117
- source_agent: params.agentId || "unknown",
134
+ agent: sourceAgent,
135
+ source_agent: sourceAgent,
118
136
  source_type: "tool_call",
119
137
  sessionId: params.sessionId || null,
120
138
  userId: params.userId || null,
121
139
  metadata: {
122
140
  ...(params.metadata || {}),
123
141
  ...embeddingResult.metadata,
142
+ noise_score: noise.score,
143
+ noise_matched_patterns: noise.matchedPatterns,
124
144
  },
125
145
  ...embeddingResult.metadata,
126
146
  timestamp: Date.now(),
147
+ noise_score: noise.score,
127
148
  },
128
149
  };
129
150
  await qdrant.upsert([point]);
@@ -1 +1 @@
1
- {"version":3,"file":"memory_store.js","sourceRoot":"","sources":["../../src/tools/memory_store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory_store.js","sourceRoot":"","sources":["../../src/tools/memory_store.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@mrc2204/agent-smart-memo",
3
- "version": "4.0.9",
4
- "description": "Smart Memory Plugin for OpenClaw structured slot memory with auto-capture, auto-recall, essence distillation, and Qdrant vector search",
3
+ "version": "4.0.11",
4
+ "description": "Smart Memory Plugin for OpenClaw \u2014 structured slot memory with auto-capture, auto-recall, essence distillation, and Qdrant vector search",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
7
7
  "openclaw": {
@@ -11,8 +11,11 @@
11
11
  },
12
12
  "scripts": {
13
13
  "build": "tsc",
14
- "test": "node --experimental-sqlite tests/test.js",
15
- "clean": "rm -rf dist"
14
+ "test": "npx tsx tests/test.ts",
15
+ "clean": "rm -rf dist",
16
+ "migrate:namespaces": "npx tsx scripts/migrate-namespaces.ts",
17
+ "distill:namespaces": "npx tsx scripts/distill-by-namespace.ts",
18
+ "validate:ab": "npx tsx scripts/validate-ab.ts"
16
19
  },
17
20
  "dependencies": {
18
21
  "dotenv": "^17.3.1"