@troykelly/openclaw-projects 0.0.58 → 0.0.60

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 (49) hide show
  1. package/dist/register-openclaw.d.ts +3 -0
  2. package/dist/register-openclaw.d.ts.map +1 -1
  3. package/dist/register-openclaw.js +95 -6
  4. package/dist/register-openclaw.js.map +1 -1
  5. package/dist/tool-guidance/catalog.d.ts.map +1 -1
  6. package/dist/tool-guidance/catalog.js +43 -6
  7. package/dist/tool-guidance/catalog.js.map +1 -1
  8. package/dist/tools/index.d.ts +4 -1
  9. package/dist/tools/index.d.ts.map +1 -1
  10. package/dist/tools/index.js +7 -1
  11. package/dist/tools/index.js.map +1 -1
  12. package/dist/tools/memory-digest.d.ts +98 -0
  13. package/dist/tools/memory-digest.d.ts.map +1 -0
  14. package/dist/tools/memory-digest.js +233 -0
  15. package/dist/tools/memory-digest.js.map +1 -0
  16. package/dist/tools/memory-forget.d.ts +2 -0
  17. package/dist/tools/memory-forget.d.ts.map +1 -1
  18. package/dist/tools/memory-forget.js +10 -8
  19. package/dist/tools/memory-forget.js.map +1 -1
  20. package/dist/tools/memory-list.d.ts +2 -0
  21. package/dist/tools/memory-list.d.ts.map +1 -1
  22. package/dist/tools/memory-list.js +3 -3
  23. package/dist/tools/memory-list.js.map +1 -1
  24. package/dist/tools/memory-promote.d.ts +85 -0
  25. package/dist/tools/memory-promote.d.ts.map +1 -0
  26. package/dist/tools/memory-promote.js +190 -0
  27. package/dist/tools/memory-promote.js.map +1 -0
  28. package/dist/tools/memory-reap.d.ts +66 -0
  29. package/dist/tools/memory-reap.d.ts.map +1 -0
  30. package/dist/tools/memory-reap.js +122 -0
  31. package/dist/tools/memory-reap.js.map +1 -0
  32. package/dist/tools/memory-recall.d.ts +2 -0
  33. package/dist/tools/memory-recall.d.ts.map +1 -1
  34. package/dist/tools/memory-recall.js +3 -3
  35. package/dist/tools/memory-recall.js.map +1 -1
  36. package/dist/tools/memory-store.d.ts +36 -3
  37. package/dist/tools/memory-store.d.ts.map +1 -1
  38. package/dist/tools/memory-store.js +137 -23
  39. package/dist/tools/memory-store.js.map +1 -1
  40. package/dist/tools/memory-update.d.ts +2 -0
  41. package/dist/tools/memory-update.d.ts.map +1 -1
  42. package/dist/tools/memory-update.js +3 -3
  43. package/dist/tools/memory-update.js.map +1 -1
  44. package/dist/utils/temporal.d.ts +36 -0
  45. package/dist/utils/temporal.d.ts.map +1 -0
  46. package/dist/utils/temporal.js +165 -0
  47. package/dist/utils/temporal.js.map +1 -0
  48. package/openclaw.plugin.json +1 -1
  49. package/package.json +1 -1
@@ -0,0 +1,233 @@
1
+ /**
2
+ * memory_digest tool implementation — Issue #2430.
3
+ *
4
+ * Agent-facing rehearsal detection: clusters memories from a time period by
5
+ * semantic similarity to identify repeated topics. Use during end-of-day
6
+ * consolidation to identify ephemeral memories worth promoting to permanent storage.
7
+ *
8
+ * Maps to POST /memories/digest (PR2 Core API, Issue #2427).
9
+ *
10
+ * Security:
11
+ * - Always sends X-Namespace header (Issue #2437)
12
+ * - Does not expose raw similarity scores in output (inference attack prevention)
13
+ */
14
+ import { z } from 'zod';
15
+ import { sanitizeErrorMessage, truncateForPreview } from '../utils/sanitize.js';
16
+ import { resolveRelativeTime } from '../utils/temporal.js';
17
+ /** Parameters for memory_digest tool */
18
+ export const MemoryDigestParamsSchema = z.object({
19
+ /**
20
+ * Start of the time period to analyse.
21
+ * Accepts relative durations ("24h", "7d") or ISO datetime with timezone.
22
+ */
23
+ since: z.string().min(1, 'since is required').max(100, 'since must be 100 characters or less'),
24
+ /**
25
+ * End of the time period (defaults to now if omitted).
26
+ * Accepts relative durations or ISO datetime with timezone.
27
+ */
28
+ before: z.string().max(100, 'before must be 100 characters or less').optional(),
29
+ /**
30
+ * Similarity threshold for clustering (0–1, default 0.82).
31
+ * Higher values = tighter clusters (fewer, more cohesive groups).
32
+ * Lower values = looser clusters (more groups, wider topics).
33
+ */
34
+ threshold: z.number().min(0, 'threshold must be >= 0').max(1, 'threshold must be <= 1').optional(),
35
+ /**
36
+ * Minimum memories per cluster (default 2).
37
+ * Memories below this count are returned as orphans.
38
+ */
39
+ min_cluster: z.number().int().min(1, 'min_cluster must be at least 1').optional(),
40
+ /**
41
+ * Include full memory content in cluster output (default false).
42
+ * When false, only titles/previews are returned.
43
+ */
44
+ include_content: z.boolean().optional(),
45
+ });
46
+ /**
47
+ * Format clusters and orphans as readable text for agent consumption.
48
+ * Does NOT expose raw similarity scores (Issue #2430 security note).
49
+ */
50
+ function formatDigestAsText(clusters, orphans, totalMemories) {
51
+ if (totalMemories === 0) {
52
+ return 'No memories found in this time period.';
53
+ }
54
+ const lines = [];
55
+ if (clusters.length === 0) {
56
+ lines.push(`No repeated topics found. ${orphans.length} individual memories in this period.`);
57
+ }
58
+ else {
59
+ lines.push(`Found ${clusters.length} topic cluster${clusters.length === 1 ? '' : 's'} from ${totalMemories} memories:`);
60
+ lines.push('');
61
+ for (const cluster of clusters) {
62
+ lines.push(`## ${cluster.topic} (${cluster.size} memories)`);
63
+ for (const m of cluster.memories) {
64
+ const preview = truncateForPreview(m.title || m.content || '', 200);
65
+ lines.push(` - [${m.id}] ${preview}`);
66
+ }
67
+ lines.push('');
68
+ }
69
+ }
70
+ if (orphans.length > 0) {
71
+ lines.push(`### Unclustered memories (${orphans.length}):`);
72
+ for (const orphan of orphans) {
73
+ const preview = truncateForPreview(orphan.title || orphan.content || '', 200);
74
+ lines.push(` - [${orphan.id}] ${preview}`);
75
+ }
76
+ }
77
+ return lines.join('\n').trim();
78
+ }
79
+ /**
80
+ * Creates the memory_digest tool.
81
+ *
82
+ * Calls POST /memories/digest and formats cluster results for agent readability.
83
+ * Issue #2430.
84
+ */
85
+ export function createMemoryDigestTool(options) {
86
+ const { client, logger, user_id, namespace } = options;
87
+ return {
88
+ name: 'memory_digest',
89
+ description: 'Analyse memories from a time period to identify repeated topics and cluster patterns. ' +
90
+ 'Returns clusters of related memories ranked by frequency. ' +
91
+ 'Use during end-of-day consolidation to identify ephemeral memories worth promoting to permanent storage. ' +
92
+ 'Pass since="24h" to analyse the last 24 hours. ' +
93
+ 'Use memory_promote to consolidate important clusters into permanent memories.',
94
+ parameters: MemoryDigestParamsSchema,
95
+ async execute(params) {
96
+ // Validate parameters
97
+ const parseResult = MemoryDigestParamsSchema.safeParse(params);
98
+ if (!parseResult.success) {
99
+ const errorMessage = parseResult.error.issues
100
+ .map((e) => `${e.path.join('.')}: ${e.message}`)
101
+ .join(', ');
102
+ return { success: false, error: errorMessage };
103
+ }
104
+ const { since, before, threshold, min_cluster, include_content } = parseResult.data;
105
+ // Resolve since to ISO timestamp (UTC)
106
+ const now = new Date();
107
+ const sinceDate = resolveRelativeTime(since, now);
108
+ if (!sinceDate) {
109
+ return {
110
+ success: false,
111
+ error: `Invalid since format: "${since}". Use relative durations ("24h", "7d") or ISO datetime with timezone.`,
112
+ };
113
+ }
114
+ // Resolve before to ISO timestamp (defaults to now)
115
+ let beforeDate = now;
116
+ if (before) {
117
+ const resolved = resolveRelativeTime(before, now);
118
+ if (!resolved) {
119
+ return {
120
+ success: false,
121
+ error: `Invalid before format: "${before}". Use relative durations ("24h", "7d") or ISO datetime with timezone.`,
122
+ };
123
+ }
124
+ beforeDate = resolved;
125
+ }
126
+ if (sinceDate >= beforeDate) {
127
+ return {
128
+ success: false,
129
+ error: 'since must be earlier than before',
130
+ };
131
+ }
132
+ logger.info('memory_digest invoked', {
133
+ user_id,
134
+ namespace,
135
+ since: sinceDate.toISOString(),
136
+ before: beforeDate.toISOString(),
137
+ threshold,
138
+ min_cluster,
139
+ });
140
+ try {
141
+ // Build request body
142
+ const body = {
143
+ namespace,
144
+ since: sinceDate.toISOString(),
145
+ before: beforeDate.toISOString(),
146
+ };
147
+ if (threshold !== undefined) {
148
+ body.similarity_threshold = threshold;
149
+ }
150
+ if (min_cluster !== undefined) {
151
+ body.min_cluster_size = min_cluster;
152
+ }
153
+ if (include_content !== undefined) {
154
+ body.include_content = include_content;
155
+ }
156
+ // Always send namespace header (Issue #2437)
157
+ const response = await client.post('/memories/digest', body, { user_id, namespace });
158
+ if (!response.success) {
159
+ logger.error('memory_digest API error', {
160
+ user_id,
161
+ namespace,
162
+ status: response.error.status,
163
+ code: response.error.code,
164
+ });
165
+ return {
166
+ success: false,
167
+ error: response.error.message || 'Failed to digest memories',
168
+ };
169
+ }
170
+ const data = response.data;
171
+ // Map API response to plugin types — omit similarity scores (Issue #2430 security)
172
+ const clusters = (data.clusters ?? []).map((c) => ({
173
+ id: c.id,
174
+ size: c.size,
175
+ topic: c.centroid_text,
176
+ memories: c.memories.map((m) => ({
177
+ id: m.id,
178
+ title: m.title,
179
+ content: include_content ? m.content : undefined,
180
+ created_at: typeof m.created_at === 'string' ? m.created_at : m.created_at instanceof Date ? m.created_at.toISOString() : String(m.created_at),
181
+ })),
182
+ time_span: {
183
+ first: typeof c.time_span.first === 'string' ? c.time_span.first : c.time_span.first instanceof Date ? c.time_span.first.toISOString() : String(c.time_span.first),
184
+ last: typeof c.time_span.last === 'string' ? c.time_span.last : c.time_span.last instanceof Date ? c.time_span.last.toISOString() : String(c.time_span.last),
185
+ },
186
+ }));
187
+ const orphans = (data.orphans ?? []).map((o) => ({
188
+ id: o.id,
189
+ title: o.title,
190
+ content: include_content ? o.content : undefined,
191
+ created_at: typeof o.created_at === 'string' ? o.created_at : o.created_at instanceof Date ? o.created_at.toISOString() : String(o.created_at),
192
+ }));
193
+ const totalMemories = data.total_memories ?? 0;
194
+ const totalClusters = data.total_clusters ?? clusters.length;
195
+ const totalOrphans = data.total_orphans ?? orphans.length;
196
+ const content = formatDigestAsText(clusters, orphans, totalMemories);
197
+ logger.debug('memory_digest completed', {
198
+ user_id,
199
+ namespace,
200
+ totalMemories,
201
+ totalClusters,
202
+ totalOrphans,
203
+ });
204
+ return {
205
+ success: true,
206
+ data: {
207
+ content,
208
+ details: {
209
+ clusters,
210
+ orphans,
211
+ total_memories: totalMemories,
212
+ total_clusters: totalClusters,
213
+ total_orphans: totalOrphans,
214
+ user_id,
215
+ },
216
+ },
217
+ };
218
+ }
219
+ catch (error) {
220
+ logger.error('memory_digest failed', {
221
+ user_id,
222
+ namespace,
223
+ error: error instanceof Error ? error.message : String(error),
224
+ });
225
+ return {
226
+ success: false,
227
+ error: sanitizeErrorMessage(error),
228
+ };
229
+ }
230
+ },
231
+ };
232
+ }
233
+ //# sourceMappingURL=memory-digest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-digest.js","sourceRoot":"","sources":["../../src/tools/memory-digest.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAE3D,wCAAwC;AACxC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C;;;OAGG;IACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,mBAAmB,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,sCAAsC,CAAC;IAC9F;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,uCAAuC,CAAC,CAAC,QAAQ,EAAE;IAC/E;;;;OAIG;IACH,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,wBAAwB,CAAC,CAAC,QAAQ,EAAE;IAClG;;;OAGG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,gCAAgC,CAAC,CAAC,QAAQ,EAAE;IACjF;;;OAGG;IACH,eAAe,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CACxC,CAAC,CAAC;AAwEH;;;GAGG;AACH,SAAS,kBAAkB,CACzB,QAAyB,EACzB,OAAuB,EACvB,aAAqB;IAErB,IAAI,aAAa,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,wCAAwC,CAAC;IAClD,CAAC;IAED,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,KAAK,CAAC,IAAI,CAAC,6BAA6B,OAAO,CAAC,MAAM,sCAAsC,CAAC,CAAC;IAChG,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,SAAS,QAAQ,CAAC,MAAM,iBAAiB,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,SAAS,aAAa,YAAY,CAAC,CAAC;QACxH,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAEf,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,KAAK,CAAC,IAAI,CAAC,MAAM,OAAO,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,YAAY,CAAC,CAAC;YAC7D,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,kBAAkB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;gBACpE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;YACzC,CAAC;YACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,CAAC;IACH,CAAC;IAED,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CAAC,6BAA6B,OAAO,CAAC,MAAM,IAAI,CAAC,CAAC;QAC5D,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC7B,MAAM,OAAO,GAAG,kBAAkB,CAAC,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,OAAO,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9E,KAAK,CAAC,IAAI,CAAC,QAAQ,MAAM,CAAC,EAAE,KAAK,OAAO,EAAE,CAAC,CAAC;QAC9C,CAAC;IACH,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;AACjC,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,sBAAsB,CAAC,OAAgC;IACrE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,OAAO,CAAC;IAEvD,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,WAAW,EACT,wFAAwF;YACxF,4DAA4D;YAC5D,2GAA2G;YAC3G,iDAAiD;YACjD,+EAA+E;QACjF,UAAU,EAAE,wBAAwB;QAEpC,KAAK,CAAC,OAAO,CAAC,MAA0B;YACtC,sBAAsB;YACtB,MAAM,WAAW,GAAG,wBAAwB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC/D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM;qBAC1C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;qBAC/C,IAAI,CAAC,IAAI,CAAC,CAAC;gBACd,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;YACjD,CAAC;YAED,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;YAEpF,uCAAuC;YACvC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,SAAS,GAAG,mBAAmB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;YAClD,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,0BAA0B,KAAK,wEAAwE;iBAC/G,CAAC;YACJ,CAAC;YAED,oDAAoD;YACpD,IAAI,UAAU,GAAS,GAAG,CAAC;YAC3B,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,QAAQ,GAAG,mBAAmB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAClD,IAAI,CAAC,QAAQ,EAAE,CAAC;oBACd,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,2BAA2B,MAAM,wEAAwE;qBACjH,CAAC;gBACJ,CAAC;gBACD,UAAU,GAAG,QAAQ,CAAC;YACxB,CAAC;YAED,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;gBAC5B,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,mCAAmC;iBAC3C,CAAC;YACJ,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,uBAAuB,EAAE;gBACnC,OAAO;gBACP,SAAS;gBACT,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE;gBAC9B,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE;gBAChC,SAAS;gBACT,WAAW;aACZ,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,qBAAqB;gBACrB,MAAM,IAAI,GAA4B;oBACpC,SAAS;oBACT,KAAK,EAAE,SAAS,CAAC,WAAW,EAAE;oBAC9B,MAAM,EAAE,UAAU,CAAC,WAAW,EAAE;iBACjC,CAAC;gBACF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;oBAC5B,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;gBACxC,CAAC;gBACD,IAAI,WAAW,KAAK,SAAS,EAAE,CAAC;oBAC9B,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;gBACtC,CAAC;gBACD,IAAI,eAAe,KAAK,SAAS,EAAE,CAAC;oBAClC,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;gBACzC,CAAC;gBAED,6CAA6C;gBAC7C,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAuB/B,kBAAkB,EAAE,IAAI,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC,CAAC;gBAErD,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;wBACtC,OAAO;wBACP,SAAS;wBACT,MAAM,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM;wBAC7B,IAAI,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI;qBAC1B,CAAC,CAAC;oBACH,OAAO;wBACL,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,OAAO,IAAI,2BAA2B;qBAC7D,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAE3B,mFAAmF;gBACnF,MAAM,QAAQ,GAAoB,CAAC,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAClE,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,IAAI,EAAE,CAAC,CAAC,IAAI;oBACZ,KAAK,EAAE,CAAC,CAAC,aAAa;oBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;wBAC/B,EAAE,EAAE,CAAC,CAAC,EAAE;wBACR,KAAK,EAAE,CAAC,CAAC,KAAK;wBACd,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;wBAChD,UAAU,EAAE,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;qBAC/I,CAAC,CAAC;oBACH,SAAS,EAAE;wBACT,KAAK,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC;wBAClK,IAAI,EAAE,OAAO,CAAC,CAAC,SAAS,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC;qBAC7J;iBACF,CAAC,CAAC,CAAC;gBAEJ,MAAM,OAAO,GAAmB,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC/D,EAAE,EAAE,CAAC,CAAC,EAAE;oBACR,KAAK,EAAE,CAAC,CAAC,KAAK;oBACd,OAAO,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;oBAChD,UAAU,EAAE,OAAO,CAAC,CAAC,UAAU,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,YAAY,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;iBAC/I,CAAC,CAAC,CAAC;gBAEJ,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,IAAI,CAAC,CAAC;gBAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,IAAI,QAAQ,CAAC,MAAM,CAAC;gBAC7D,MAAM,YAAY,GAAG,IAAI,CAAC,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;gBAE1D,MAAM,OAAO,GAAG,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;gBAErE,MAAM,CAAC,KAAK,CAAC,yBAAyB,EAAE;oBACtC,OAAO;oBACP,SAAS;oBACT,aAAa;oBACb,aAAa;oBACb,YAAY;iBACb,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACJ,OAAO;wBACP,OAAO,EAAE;4BACP,QAAQ;4BACR,OAAO;4BACP,cAAc,EAAE,aAAa;4BAC7B,cAAc,EAAE,aAAa;4BAC7B,aAAa,EAAE,YAAY;4BAC3B,OAAO;yBACR;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,sBAAsB,EAAE;oBACnC,OAAO;oBACP,SAAS;oBACT,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;iBAC9D,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,oBAAoB,CAAC,KAAK,CAAC;iBACnC,CAAC;YACJ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -38,6 +38,8 @@ export interface MemoryForgetToolOptions {
38
38
  logger: Logger;
39
39
  config: PluginConfig;
40
40
  user_id: string;
41
+ /** Namespace to scope operations to (Issue #2437 — always send X-Namespace header) */
42
+ namespace?: string;
41
43
  }
42
44
  /** Tool definition */
43
45
  export interface MemoryForgetTool {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-forget.d.ts","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB;;;;iBAQjC,CAAC;AACL,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,6BAA6B;AAC7B,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,YAAY,EAAE,MAAM,CAAC;YACrB,UAAU,EAAE,MAAM,EAAE,CAAC;YACrB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED,yBAAyB;AACzB,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uBAAuB;AACvB,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAE3E,yBAAyB;AACzB,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sBAAsB;AACtB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,wBAAwB,CAAC;IAC5C,OAAO,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtE;AAaD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAoDzF"}
1
+ {"version":3,"file":"memory-forget.d.ts","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,0EAA0E;AAC1E,eAAO,MAAM,wBAAwB;;;;iBAQjC,CAAC;AACL,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,6BAA6B;AAC7B,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,YAAY,EAAE,MAAM,CAAC;YACrB,UAAU,EAAE,MAAM,EAAE,CAAC;YACrB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED,yBAAyB;AACzB,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uBAAuB;AACvB,MAAM,MAAM,kBAAkB,GAAG,mBAAmB,GAAG,mBAAmB,CAAC;AAE3E,yBAAyB;AACzB,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,sFAAsF;IACtF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,sBAAsB;AACtB,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,wBAAwB,CAAC;IAC5C,OAAO,EAAE,CAAC,MAAM,EAAE,kBAAkB,KAAK,OAAO,CAAC,kBAAkB,CAAC,CAAC;CACtE;AAaD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAoDzF"}
@@ -27,7 +27,7 @@ function sanitizeQuery(query) {
27
27
  * Creates the memory_forget tool.
28
28
  */
29
29
  export function createMemoryForgetTool(options) {
30
- const { client, logger, user_id } = options;
30
+ const { client, logger, user_id, namespace } = options;
31
31
  return {
32
32
  name: 'memory_forget',
33
33
  description: 'Delete specific memories. Use when the user explicitly requests to forget something. Can delete by ID or by search query.',
@@ -50,11 +50,11 @@ export function createMemoryForgetTool(options) {
50
50
  try {
51
51
  // Delete by ID
52
52
  if (memory_id) {
53
- return await deleteById(client, logger, user_id, memory_id);
53
+ return await deleteById(client, logger, user_id, memory_id, namespace);
54
54
  }
55
55
  // Delete by query (OpenClaw two-phase: search → candidates or auto-delete)
56
56
  if (query) {
57
- return await deleteByQuery(client, logger, user_id, query, namespaces);
57
+ return await deleteByQuery(client, logger, user_id, query, namespaces, namespace);
58
58
  }
59
59
  // Should not reach here due to validation
60
60
  return { success: false, error: 'Either memory_id or query is required' };
@@ -74,9 +74,10 @@ export function createMemoryForgetTool(options) {
74
74
  }
75
75
  /**
76
76
  * Delete a memory by ID.
77
+ * Sends namespace header for scoped deletion (Issue #2437).
77
78
  */
78
- async function deleteById(client, logger, user_id, memory_id) {
79
- const response = await client.delete(`/memories/${memory_id}`, { user_id });
79
+ async function deleteById(client, logger, user_id, memory_id, namespace) {
80
+ const response = await client.delete(`/memories/${memory_id}`, { user_id, namespace });
80
81
  if (!response.success) {
81
82
  // Handle not found gracefully
82
83
  if (response.error.code === 'NOT_FOUND') {
@@ -132,7 +133,7 @@ async function deleteById(client, logger, user_id, memory_id) {
132
133
  * - Single high-confidence match (>0.9) → auto-delete
133
134
  * - Multiple matches → return candidates for agent to specify memory_id
134
135
  */
135
- async function deleteByQuery(client, logger, user_id, query, namespaces) {
136
+ async function deleteByQuery(client, logger, user_id, query, namespaces, namespace) {
136
137
  const sanitizedQuery = sanitizeQuery(query);
137
138
  if (sanitizedQuery.length === 0) {
138
139
  return { success: false, error: 'Query cannot be empty' };
@@ -144,7 +145,8 @@ async function deleteByQuery(client, logger, user_id, query, namespaces) {
144
145
  if (namespaces && namespaces.length > 0) {
145
146
  queryParams.set('namespaces', namespaces.join(','));
146
147
  }
147
- const searchResponse = await client.get(`/memories/search?${queryParams.toString()}`, { user_id });
148
+ // Always include namespace header for scoped search (Issue #2437)
149
+ const searchResponse = await client.get(`/memories/search?${queryParams.toString()}`, { user_id, namespace });
148
150
  if (!searchResponse.success) {
149
151
  logger.error('memory_forget search error', {
150
152
  user_id,
@@ -169,7 +171,7 @@ async function deleteByQuery(client, logger, user_id, query, namespaces) {
169
171
  }
170
172
  // Single match (any confidence) → auto-delete to avoid user having to copy/paste UUID
171
173
  if (memories.length === 1) {
172
- const deleteResponse = await client.delete(`/memories/${memories[0].id}`, { user_id });
174
+ const deleteResponse = await client.delete(`/memories/${memories[0].id}`, { user_id, namespace });
173
175
  if (!deleteResponse.success) {
174
176
  return { success: false, error: deleteResponse.error.message || 'Failed to delete memory' };
175
177
  }
@@ -1 +1 @@
1
- {"version":3,"file":"memory-forget.js","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-forget.js","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"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"}
@@ -91,6 +91,8 @@ export interface MemoryListToolOptions {
91
91
  logger: Logger;
92
92
  config: PluginConfig;
93
93
  user_id: string;
94
+ /** Namespace to scope listing to (Issue #2437 — always send X-Namespace header) */
95
+ namespace?: string;
94
96
  }
95
97
  /** Tool definition */
96
98
  export interface MemoryListTool {
@@ -1 +1 @@
1
- {"version":3,"file":"memory-list.d.ts","sourceRoot":"","sources":["../../src/tools/memory-list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,wCAAwC;AACxC,eAAO,MAAM,aAAa;;;EAA0B,CAAC;AACrD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,oCAAoC;AACpC,eAAO,MAAM,SAAS;;;EAAuC,CAAC;AAC9D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,sCAAsC;AACtC,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAalC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,6BAA6B;AAC7B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,cAAc,EAAE,CAAC;YAC3B,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED,yBAAyB;AACzB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uBAAuB;AACvB,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAErE,yBAAyB;AACzB,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,sBAAsB;AACtB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,sBAAsB,CAAC;IAC1C,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAClE;AAoBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAyInF"}
1
+ {"version":3,"file":"memory-list.d.ts","sourceRoot":"","sources":["../../src/tools/memory-list.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,wCAAwC;AACxC,eAAO,MAAM,aAAa;;;EAA0B,CAAC;AACrD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,aAAa,CAAC,CAAC;AAE1D,oCAAoC;AACpC,eAAO,MAAM,SAAS;;;EAAuC,CAAC;AAC9D,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,SAAS,CAAC,CAAC;AAElD,sCAAsC;AACtC,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAalC,CAAC;AACF,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAEtE,mCAAmC;AACnC,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,6BAA6B;AAC7B,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAC;YACd,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,cAAc,EAAE,CAAC;YAC3B,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED,yBAAyB;AACzB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uBAAuB;AACvB,MAAM,MAAM,gBAAgB,GAAG,iBAAiB,GAAG,iBAAiB,CAAC;AAErE,yBAAyB;AACzB,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,mFAAmF;IACnF,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,sBAAsB;AACtB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,sBAAsB,CAAC;IAC1C,OAAO,EAAE,CAAC,MAAM,EAAE,gBAAgB,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAClE;AAoBD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,qBAAqB,GAAG,cAAc,CAyInF"}
@@ -41,7 +41,7 @@ function formatMemoriesAsText(memories, total, offset) {
41
41
  * Creates the memory_list tool.
42
42
  */
43
43
  export function createMemoryListTool(options) {
44
- const { client, logger, user_id } = options;
44
+ const { client, logger, user_id, namespace } = options;
45
45
  return {
46
46
  name: 'memory_list',
47
47
  description: 'Browse and paginate through stored memories. Use when you need to enumerate, audit, or inventory memories without a specific search query. Supports filtering by category, tags, and time range. Use offset/limit for pagination.',
@@ -90,8 +90,8 @@ export function createMemoryListTool(options) {
90
90
  queryParams.set('sort_direction', sort_direction);
91
91
  }
92
92
  const path = `/memories/unified?${queryParams.toString()}`;
93
- // Call API
94
- const response = await client.get(path, { user_id });
93
+ // Call API — always include namespace header (Issue #2437)
94
+ const response = await client.get(path, { user_id, namespace });
95
95
  if (!response.success) {
96
96
  logger.error('memory_list API error', {
97
97
  user_id,
@@ -1 +1 @@
1
- {"version":3,"file":"memory-list.js","sourceRoot":"","sources":["../../src/tools/memory-list.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"memory-list.js","sourceRoot":"","sources":["../../src/tools/memory-list.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * memory_promote tool implementation — Issue #2431.
3
+ *
4
+ * Promotes a cluster of ephemeral memories into a single permanent memory
5
+ * (memory reconsolidation). Creates a new durable memory, then marks the
6
+ * source memories as superseded.
7
+ *
8
+ * Composite operation:
9
+ * 1. POST /memories/unified — create new permanent memory
10
+ * 2. POST /memories/bulk-supersede — mark sources as superseded
11
+ *
12
+ * If step 1 succeeds but step 2 fails, returns partial success with the
13
+ * new memory ID and an error note about supersession.
14
+ *
15
+ * Security:
16
+ * - Always sends X-Namespace header on both calls (Issue #2437)
17
+ * - New memory has no expires_at (it is permanent)
18
+ */
19
+ import { z } from 'zod';
20
+ import type { ApiClient } from '../api-client.js';
21
+ import type { Logger } from '../logger.js';
22
+ import type { PluginConfig } from '../config.js';
23
+ /** Parameters for memory_promote tool */
24
+ export declare const MemoryPromoteParamsSchema: z.ZodObject<{
25
+ text: z.ZodString;
26
+ category: z.ZodOptional<z.ZodEnum<{
27
+ preference: "preference";
28
+ fact: "fact";
29
+ note: "note";
30
+ decision: "decision";
31
+ context: "context";
32
+ reference: "reference";
33
+ entity: "entity";
34
+ other: "other";
35
+ }>>;
36
+ tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
37
+ importance: z.ZodOptional<z.ZodNumber>;
38
+ source_ids: z.ZodArray<z.ZodString>;
39
+ deactivate_sources: z.ZodOptional<z.ZodBoolean>;
40
+ }, z.core.$strip>;
41
+ export type MemoryPromoteParams = z.infer<typeof MemoryPromoteParamsSchema>;
42
+ /** Successful tool result */
43
+ export interface MemoryPromoteSuccess {
44
+ success: true;
45
+ data: {
46
+ content: string;
47
+ details: {
48
+ memory_id: string;
49
+ superseded: number;
50
+ user_id: string;
51
+ };
52
+ };
53
+ }
54
+ /** Failed tool result */
55
+ export interface MemoryPromoteFailure {
56
+ success: false;
57
+ error: string;
58
+ }
59
+ /** Tool result type */
60
+ export type MemoryPromoteResult = MemoryPromoteSuccess | MemoryPromoteFailure;
61
+ /** Tool configuration */
62
+ export interface MemoryPromoteToolOptions {
63
+ client: ApiClient;
64
+ logger: Logger;
65
+ config: PluginConfig;
66
+ user_id: string;
67
+ /** Namespace to promote within (Issue #2437 — always send X-Namespace header) */
68
+ namespace: string;
69
+ }
70
+ /** Tool definition */
71
+ export interface MemoryPromoteTool {
72
+ name: string;
73
+ description: string;
74
+ parameters: typeof MemoryPromoteParamsSchema;
75
+ execute: (params: MemoryPromoteParams) => Promise<MemoryPromoteResult>;
76
+ }
77
+ /**
78
+ * Creates the memory_promote tool.
79
+ *
80
+ * Composite operation: creates a new permanent memory, then marks source
81
+ * memories as superseded. Handles partial failure gracefully.
82
+ * Issue #2431.
83
+ */
84
+ export declare function createMemoryPromoteTool(options: MemoryPromoteToolOptions): MemoryPromoteTool;
85
+ //# sourceMappingURL=memory-promote.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-promote.d.ts","sourceRoot":"","sources":["../../src/tools/memory-promote.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAIjD,yCAAyC;AACzC,eAAO,MAAM,yBAAyB;;;;;;;;;;;;;;;;iBA8BpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,6BAA6B;AAC7B,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,SAAS,EAAE,MAAM,CAAC;YAClB,UAAU,EAAE,MAAM,CAAC;YACnB,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED,yBAAyB;AACzB,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uBAAuB;AACvB,MAAM,MAAM,mBAAmB,GAAG,oBAAoB,GAAG,oBAAoB,CAAC;AAE9E,yBAAyB;AACzB,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,sBAAsB;AACtB,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,yBAAyB,CAAC;IAC7C,OAAO,EAAE,CAAC,MAAM,EAAE,mBAAmB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACxE;AAkBD;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAoK5F"}