@troykelly/openclaw-projects 0.0.55 → 0.0.56
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/dist/index.d.ts +4 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +14 -2
- package/dist/index.js.map +1 -1
- package/dist/register-openclaw.d.ts +2 -0
- package/dist/register-openclaw.d.ts.map +1 -1
- package/dist/register-openclaw.js +255 -5
- package/dist/register-openclaw.js.map +1 -1
- package/dist/tool-guidance/catalog.d.ts.map +1 -1
- package/dist/tool-guidance/catalog.js +14 -2
- package/dist/tool-guidance/catalog.js.map +1 -1
- package/dist/tools/index.d.ts +4 -2
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +6 -2
- package/dist/tools/index.js.map +1 -1
- package/dist/tools/memory-forget.d.ts +1 -0
- package/dist/tools/memory-forget.d.ts.map +1 -1
- package/dist/tools/memory-forget.js +8 -3
- package/dist/tools/memory-forget.js.map +1 -1
- package/dist/tools/memory-list.d.ts +104 -0
- package/dist/tools/memory-list.d.ts.map +1 -0
- package/dist/tools/memory-list.js +153 -0
- package/dist/tools/memory-list.js.map +1 -0
- package/dist/tools/memory-recall.d.ts +20 -0
- package/dist/tools/memory-recall.d.ts.map +1 -1
- package/dist/tools/memory-recall.js +17 -3
- package/dist/tools/memory-recall.js.map +1 -1
- package/dist/tools/memory-store.d.ts +1 -0
- package/dist/tools/memory-store.d.ts.map +1 -1
- package/dist/tools/memory-store.js +5 -1
- package/dist/tools/memory-store.js.map +1 -1
- package/dist/tools/memory-update.d.ts +76 -0
- package/dist/tools/memory-update.d.ts.map +1 -0
- package/dist/tools/memory-update.js +126 -0
- package/dist/tools/memory-update.js.map +1 -0
- package/dist/tools/notebooks.d.ts +24 -0
- package/dist/tools/notebooks.d.ts.map +1 -1
- package/dist/tools/notebooks.js +75 -0
- package/dist/tools/notebooks.js.map +1 -1
- package/dist/tools/skill-store.d.ts +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* memory_list tool implementation.
|
|
3
|
+
* Provides browsing and pagination of stored memories.
|
|
4
|
+
* Created for Issue #2377.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { MemoryCategory, TemporalPeriod } from './memory-recall.js';
|
|
8
|
+
import { sanitizeErrorMessage } from '../utils/sanitize.js';
|
|
9
|
+
/** Sort direction for memory listing */
|
|
10
|
+
export const SortDirection = z.enum(['asc', 'desc']);
|
|
11
|
+
/** Sort field for memory listing */
|
|
12
|
+
export const SortField = z.enum(['created_at', 'updated_at']);
|
|
13
|
+
/** Parameters for memory_list tool */
|
|
14
|
+
export const MemoryListParamsSchema = z.object({
|
|
15
|
+
limit: z.number().int().min(1).max(100).optional(),
|
|
16
|
+
offset: z.number().int().min(0).optional(),
|
|
17
|
+
category: MemoryCategory.optional(),
|
|
18
|
+
tags: z.array(z.string().min(1).max(100)).max(20, 'Maximum 20 tags per filter').optional(),
|
|
19
|
+
since: z.string().max(100, 'since must be 100 characters or less').optional(),
|
|
20
|
+
before: z.string().max(100, 'before must be 100 characters or less').optional(),
|
|
21
|
+
period: TemporalPeriod.optional(),
|
|
22
|
+
sort: SortField.optional(),
|
|
23
|
+
sort_direction: SortDirection.optional(),
|
|
24
|
+
}).refine((data) => !(data.period && (data.since || data.before)), { message: 'period is mutually exclusive with since/before' });
|
|
25
|
+
/**
|
|
26
|
+
* Format memories as a bullet list with timestamps.
|
|
27
|
+
*/
|
|
28
|
+
function formatMemoriesAsText(memories, total, offset) {
|
|
29
|
+
if (memories.length === 0) {
|
|
30
|
+
return 'No memories found.';
|
|
31
|
+
}
|
|
32
|
+
const header = `Showing ${offset + 1}-${offset + memories.length} of ${total} memories:\n`;
|
|
33
|
+
const lines = memories.map((m) => {
|
|
34
|
+
const tagSuffix = m.tags && m.tags.length > 0 ? ` {${m.tags.join(', ')}}` : '';
|
|
35
|
+
const timestamp = m.created_at ? ` (${m.created_at})` : '';
|
|
36
|
+
return `- [${m.category}]${tagSuffix} ${m.content}${timestamp}`;
|
|
37
|
+
});
|
|
38
|
+
return header + lines.join('\n');
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Creates the memory_list tool.
|
|
42
|
+
*/
|
|
43
|
+
export function createMemoryListTool(options) {
|
|
44
|
+
const { client, logger, user_id } = options;
|
|
45
|
+
return {
|
|
46
|
+
name: 'memory_list',
|
|
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.',
|
|
48
|
+
parameters: MemoryListParamsSchema,
|
|
49
|
+
async execute(params) {
|
|
50
|
+
// Validate parameters
|
|
51
|
+
const parseResult = MemoryListParamsSchema.safeParse(params);
|
|
52
|
+
if (!parseResult.success) {
|
|
53
|
+
const errorMessage = parseResult.error.issues.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
54
|
+
return { success: false, error: errorMessage };
|
|
55
|
+
}
|
|
56
|
+
const { limit = 20, offset = 0, category, tags, since, before, period, sort, sort_direction } = parseResult.data;
|
|
57
|
+
// Log invocation
|
|
58
|
+
logger.info('memory_list invoked', {
|
|
59
|
+
user_id,
|
|
60
|
+
limit,
|
|
61
|
+
offset,
|
|
62
|
+
category: category ?? 'all',
|
|
63
|
+
tags: tags ?? [],
|
|
64
|
+
});
|
|
65
|
+
try {
|
|
66
|
+
// Build API URL
|
|
67
|
+
const queryParams = new URLSearchParams({
|
|
68
|
+
limit: String(limit),
|
|
69
|
+
offset: String(offset),
|
|
70
|
+
});
|
|
71
|
+
if (category) {
|
|
72
|
+
const memory_type = category === 'other' ? 'note' : category;
|
|
73
|
+
queryParams.set('memory_type', memory_type);
|
|
74
|
+
}
|
|
75
|
+
if (tags && tags.length > 0) {
|
|
76
|
+
queryParams.set('tags', tags.join(','));
|
|
77
|
+
}
|
|
78
|
+
if (since) {
|
|
79
|
+
queryParams.set('since', since);
|
|
80
|
+
}
|
|
81
|
+
if (before) {
|
|
82
|
+
queryParams.set('before', before);
|
|
83
|
+
}
|
|
84
|
+
if (period) {
|
|
85
|
+
queryParams.set('period', period);
|
|
86
|
+
}
|
|
87
|
+
if (sort) {
|
|
88
|
+
queryParams.set('sort', sort);
|
|
89
|
+
}
|
|
90
|
+
if (sort_direction) {
|
|
91
|
+
queryParams.set('sort_direction', sort_direction);
|
|
92
|
+
}
|
|
93
|
+
const path = `/memories/unified?${queryParams.toString()}`;
|
|
94
|
+
// Call API
|
|
95
|
+
const response = await client.get(path, { user_id });
|
|
96
|
+
if (!response.success) {
|
|
97
|
+
logger.error('memory_list API error', {
|
|
98
|
+
user_id,
|
|
99
|
+
status: response.error.status,
|
|
100
|
+
code: response.error.code,
|
|
101
|
+
});
|
|
102
|
+
return {
|
|
103
|
+
success: false,
|
|
104
|
+
error: response.error.message || 'Failed to list memories',
|
|
105
|
+
};
|
|
106
|
+
}
|
|
107
|
+
const rawMemories = response.data.memories ?? [];
|
|
108
|
+
const total = response.data.total ?? rawMemories.length;
|
|
109
|
+
// Map API field names to plugin interface
|
|
110
|
+
const memories = rawMemories.map((m) => ({
|
|
111
|
+
id: m.id,
|
|
112
|
+
content: m.content,
|
|
113
|
+
category: m.type === 'note' ? 'other' : m.type,
|
|
114
|
+
tags: m.tags,
|
|
115
|
+
importance: m.importance,
|
|
116
|
+
created_at: m.created_at,
|
|
117
|
+
updated_at: m.updated_at,
|
|
118
|
+
}));
|
|
119
|
+
// Format response
|
|
120
|
+
const content = formatMemoriesAsText(memories, total, offset);
|
|
121
|
+
logger.debug('memory_list completed', {
|
|
122
|
+
user_id,
|
|
123
|
+
resultCount: memories.length,
|
|
124
|
+
total,
|
|
125
|
+
});
|
|
126
|
+
return {
|
|
127
|
+
success: true,
|
|
128
|
+
data: {
|
|
129
|
+
content,
|
|
130
|
+
details: {
|
|
131
|
+
count: memories.length,
|
|
132
|
+
total,
|
|
133
|
+
offset,
|
|
134
|
+
memories,
|
|
135
|
+
user_id,
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
};
|
|
139
|
+
}
|
|
140
|
+
catch (error) {
|
|
141
|
+
logger.error('memory_list failed', {
|
|
142
|
+
user_id,
|
|
143
|
+
error: error instanceof Error ? error.message : String(error),
|
|
144
|
+
});
|
|
145
|
+
return {
|
|
146
|
+
success: false,
|
|
147
|
+
error: sanitizeErrorMessage(error),
|
|
148
|
+
};
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
};
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=memory-list.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-list.js","sourceRoot":"","sources":["../../src/tools/memory-list.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,16 @@ export declare const MemoryCategory: z.ZodEnum<{
|
|
|
18
18
|
other: "other";
|
|
19
19
|
}>;
|
|
20
20
|
export type MemoryCategory = z.infer<typeof MemoryCategory>;
|
|
21
|
+
/** Temporal period shorthand values */
|
|
22
|
+
export declare const TemporalPeriod: z.ZodEnum<{
|
|
23
|
+
today: "today";
|
|
24
|
+
yesterday: "yesterday";
|
|
25
|
+
this_week: "this_week";
|
|
26
|
+
last_week: "last_week";
|
|
27
|
+
this_month: "this_month";
|
|
28
|
+
last_month: "last_month";
|
|
29
|
+
}>;
|
|
30
|
+
export type TemporalPeriod = z.infer<typeof TemporalPeriod>;
|
|
21
31
|
/** Parameters for memory_recall tool */
|
|
22
32
|
export declare const MemoryRecallParamsSchema: z.ZodObject<{
|
|
23
33
|
query: z.ZodString;
|
|
@@ -32,6 +42,16 @@ export declare const MemoryRecallParamsSchema: z.ZodObject<{
|
|
|
32
42
|
}>>;
|
|
33
43
|
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
34
44
|
relationship_id: z.ZodOptional<z.ZodString>;
|
|
45
|
+
since: z.ZodOptional<z.ZodString>;
|
|
46
|
+
before: z.ZodOptional<z.ZodString>;
|
|
47
|
+
period: z.ZodOptional<z.ZodEnum<{
|
|
48
|
+
today: "today";
|
|
49
|
+
yesterday: "yesterday";
|
|
50
|
+
this_week: "this_week";
|
|
51
|
+
last_week: "last_week";
|
|
52
|
+
this_month: "this_month";
|
|
53
|
+
last_month: "last_month";
|
|
54
|
+
}>>;
|
|
35
55
|
location: z.ZodOptional<z.ZodObject<{
|
|
36
56
|
lat: z.ZodNumber;
|
|
37
57
|
lng: z.ZodNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-recall.d.ts","sourceRoot":"","sources":["../../src/tools/memory-recall.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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,sCAAsC;AACtC,eAAO,MAAM,cAAc;;;;;;;EAA2E,CAAC;AACvG,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,wCAAwC;AACxC,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"memory-recall.d.ts","sourceRoot":"","sources":["../../src/tools/memory-recall.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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,sCAAsC;AACtC,eAAO,MAAM,cAAc;;;;;;;EAA2E,CAAC;AACvG,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,uCAAuC;AACvC,eAAO,MAAM,cAAc;;;;;;;EAAuF,CAAC;AACnH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,wCAAwC;AACxC,eAAO,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAkBpC,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,oCAAoC;AACpC,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,6BAA6B;AAC7B,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,EAAE,MAAM,EAAE,CAAC;YACnB,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;AA4BD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CA6JzF"}
|
|
@@ -9,6 +9,8 @@ import { sanitizeErrorMessage } from '../utils/sanitize.js';
|
|
|
9
9
|
import { haversineDistanceKm, computeGeoScore, blendScores } from '../utils/geo.js';
|
|
10
10
|
/** Memory categories for filtering */
|
|
11
11
|
export const MemoryCategory = z.enum(['preference', 'fact', 'decision', 'context', 'entity', 'other']);
|
|
12
|
+
/** Temporal period shorthand values */
|
|
13
|
+
export const TemporalPeriod = z.enum(['today', 'yesterday', 'this_week', 'last_week', 'this_month', 'last_month']);
|
|
12
14
|
/** Parameters for memory_recall tool */
|
|
13
15
|
export const MemoryRecallParamsSchema = z.object({
|
|
14
16
|
query: z.string().min(1, 'Query cannot be empty').max(1000, 'Query must be 1000 characters or less'),
|
|
@@ -16,13 +18,16 @@ export const MemoryRecallParamsSchema = z.object({
|
|
|
16
18
|
category: MemoryCategory.optional(),
|
|
17
19
|
tags: z.array(z.string().min(1).max(100)).max(20, 'Maximum 20 tags per filter').optional(),
|
|
18
20
|
relationship_id: z.string().uuid('relationship_id must be a valid UUID').optional(),
|
|
21
|
+
since: z.string().max(100, 'since must be 100 characters or less').optional(),
|
|
22
|
+
before: z.string().max(100, 'before must be 100 characters or less').optional(),
|
|
23
|
+
period: TemporalPeriod.optional(),
|
|
19
24
|
location: z.object({
|
|
20
25
|
lat: z.number().min(-90).max(90),
|
|
21
26
|
lng: z.number().min(-180).max(180),
|
|
22
27
|
}).optional(),
|
|
23
28
|
location_radius_km: z.number().min(0.1).max(100).optional(),
|
|
24
29
|
location_weight: z.number().min(0).max(1).optional(),
|
|
25
|
-
});
|
|
30
|
+
}).refine((data) => !(data.period && (data.since || data.before)), { message: 'period is mutually exclusive with since/before' });
|
|
26
31
|
/**
|
|
27
32
|
* Sanitize query input to prevent injection and remove control characters.
|
|
28
33
|
*/
|
|
@@ -53,7 +58,7 @@ export function createMemoryRecallTool(options) {
|
|
|
53
58
|
const { client, logger, config, user_id } = options;
|
|
54
59
|
return {
|
|
55
60
|
name: 'memory_recall',
|
|
56
|
-
description: 'Search through long-term memories. Use when you need context about user preferences, past decisions, or previously discussed topics. Optionally filter by tags for categorical queries (e.g., ["music", "food"]). Use relationship_id to scope search to a specific relationship between contacts.',
|
|
61
|
+
description: 'Search through long-term memories. Use when you need context about user preferences, past decisions, or previously discussed topics. Optionally filter by tags for categorical queries (e.g., ["music", "food"]). Use relationship_id to scope search to a specific relationship between contacts. Supports temporal filtering: use since/before with relative durations ("48h", "7d", "2w") or ISO dates, or use period shorthand ("today", "this_week", "last_month").',
|
|
57
62
|
parameters: MemoryRecallParamsSchema,
|
|
58
63
|
async execute(params) {
|
|
59
64
|
// Validate parameters
|
|
@@ -62,7 +67,7 @@ export function createMemoryRecallTool(options) {
|
|
|
62
67
|
const errorMessage = parseResult.error.issues.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
63
68
|
return { success: false, error: errorMessage };
|
|
64
69
|
}
|
|
65
|
-
const { query, limit = config.maxRecallMemories, category, tags, relationship_id, location, location_radius_km, location_weight } = parseResult.data;
|
|
70
|
+
const { query, limit = config.maxRecallMemories, category, tags, relationship_id, since, before, period, location, location_radius_km, location_weight } = parseResult.data;
|
|
66
71
|
// Sanitize query
|
|
67
72
|
const sanitizedQuery = sanitizeQuery(query);
|
|
68
73
|
if (sanitizedQuery.length === 0) {
|
|
@@ -94,6 +99,15 @@ export function createMemoryRecallTool(options) {
|
|
|
94
99
|
if (relationship_id) {
|
|
95
100
|
queryParams.set('relationship_id', relationship_id);
|
|
96
101
|
}
|
|
102
|
+
if (since) {
|
|
103
|
+
queryParams.set('since', since);
|
|
104
|
+
}
|
|
105
|
+
if (before) {
|
|
106
|
+
queryParams.set('before', before);
|
|
107
|
+
}
|
|
108
|
+
if (period) {
|
|
109
|
+
queryParams.set('period', period);
|
|
110
|
+
}
|
|
97
111
|
const path = `/memories/search?${queryParams.toString()}`;
|
|
98
112
|
// Call API
|
|
99
113
|
const response = await client.get(path, { user_id });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-recall.js","sourceRoot":"","sources":["../../src/tools/memory-recall.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,mBAAmB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAEpF,sCAAsC;AACtC,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,EAAE,MAAM,EAAE,UAAU,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC;AAGvG,wCAAwC;AACxC,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC/C,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,uBAAuB,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,uCAAuC,CAAC;IACpG,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACjD,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC,QAAQ,EAAE;IAC1F,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,QAAQ,EAAE;IACnF,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC;KACnC,CAAC,CAAC,QAAQ,EAAE;IACb,kBAAkB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC3D,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;CACrD,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"memory-recall.js","sourceRoot":"","sources":["../../src/tools/memory-recall.ts"],"names":[],"mappings":"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"}
|
|
@@ -36,6 +36,7 @@ export declare const MemoryStoreParamsSchema: z.ZodObject<{
|
|
|
36
36
|
address: z.ZodOptional<z.ZodString>;
|
|
37
37
|
place_label: z.ZodOptional<z.ZodString>;
|
|
38
38
|
}, z.core.$strip>>;
|
|
39
|
+
pinned: z.ZodOptional<z.ZodBoolean>;
|
|
39
40
|
}, z.core.$strip>;
|
|
40
41
|
export type MemoryStoreParams = z.infer<typeof MemoryStoreParamsSchema>;
|
|
41
42
|
/** Stored memory response from API */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/tools/memory-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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;AAKjD,mDAAmD;AACnD,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAC;AAEH,iHAAiH;AACjH,eAAO,MAAM,uBAAuB
|
|
1
|
+
{"version":3,"file":"memory-store.d.ts","sourceRoot":"","sources":["../../src/tools/memory-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;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;AAKjD,mDAAmD;AACnD,eAAO,MAAM,oBAAoB;;;;;iBAK/B,CAAC;AAEH,iHAAiH;AACjH,eAAO,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;iBAWlC,CAAC;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAExE,sCAAsC;AACtC,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,6BAA6B;AAC7B,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,EAAE,EAAE,MAAM,CAAC;YACX,QAAQ,EAAE,MAAM,CAAC;YACjB,UAAU,EAAE,MAAM,CAAC;YACnB,IAAI,EAAE,MAAM,EAAE,CAAC;YACf,OAAO,EAAE,MAAM,CAAC;SACjB,CAAC;KACH,CAAC;CACH;AAED,yBAAyB;AACzB,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uBAAuB;AACvB,MAAM,MAAM,iBAAiB,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;AAExE,yBAAyB;AACzB,MAAM,WAAW,sBAAsB;IACrC,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,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,OAAO,uBAAuB,CAAC;IAC3C,OAAO,EAAE,CAAC,MAAM,EAAE,iBAAiB,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAC;CACpE;AAkBD;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,sBAAsB,GAAG,eAAe,CAwItF"}
|
|
@@ -24,6 +24,7 @@ export const MemoryStoreParamsSchema = z.object({
|
|
|
24
24
|
tags: z.array(z.string().min(1).max(100)).max(20, 'Maximum 20 tags per memory').optional(),
|
|
25
25
|
relationship_id: z.string().uuid('relationship_id must be a valid UUID').optional(),
|
|
26
26
|
location: MemoryLocationSchema.optional(),
|
|
27
|
+
pinned: z.boolean().optional().describe('When true, this memory is always included in context injection regardless of semantic similarity'),
|
|
27
28
|
}).refine((data) => data.text || data.content, {
|
|
28
29
|
message: 'Either text or content is required',
|
|
29
30
|
});
|
|
@@ -57,7 +58,7 @@ export function createMemoryStoreTool(options) {
|
|
|
57
58
|
const errorMessage = parseResult.error.issues.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
58
59
|
return { success: false, error: errorMessage };
|
|
59
60
|
}
|
|
60
|
-
const { text, content: contentAlias, category = 'other', importance = 0.7, tags = [], relationship_id, location } = parseResult.data;
|
|
61
|
+
const { text, content: contentAlias, category = 'other', importance = 0.7, tags = [], relationship_id, location, pinned } = parseResult.data;
|
|
61
62
|
// Accept 'text' (OpenClaw native) or 'content' (backwards compat)
|
|
62
63
|
const rawText = text || contentAlias;
|
|
63
64
|
if (!rawText) {
|
|
@@ -96,6 +97,9 @@ export function createMemoryStoreTool(options) {
|
|
|
96
97
|
if (relationship_id) {
|
|
97
98
|
payload.relationship_id = relationship_id;
|
|
98
99
|
}
|
|
100
|
+
if (pinned !== undefined) {
|
|
101
|
+
payload.pinned = pinned;
|
|
102
|
+
}
|
|
99
103
|
if (location) {
|
|
100
104
|
payload.lat = location.lat;
|
|
101
105
|
payload.lng = location.lng;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/tools/memory-store.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC9F,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,mDAAmD;AACnD,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC3C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,yBAAyB,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,wBAAwB,CAAC;IACrF,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,2BAA2B,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,0BAA0B,CAAC;IAC3F,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,wCAAwC,CAAC,CAAC,QAAQ,EAAE;IACjF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,EAAE,4CAA4C,CAAC,CAAC,QAAQ,EAAE;CAC1F,CAAC,CAAC;AAEH,iHAAiH;AACjH,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC9C,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,sBAAsB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,uCAAuC,CAAC,CAAC,QAAQ,EAAE;IAC9G,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,yBAAyB,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,0CAA0C,CAAC,CAAC,QAAQ,EAAE;IACvH,QAAQ,EAAE,cAAc,CAAC,QAAQ,EAAE;IACnC,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/C,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,EAAE,4BAA4B,CAAC,CAAC,QAAQ,EAAE;IAC1F,eAAe,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC,QAAQ,EAAE;IACnF,QAAQ,EAAE,oBAAoB,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"memory-store.js","sourceRoot":"","sources":["../../src/tools/memory-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* memory_update tool implementation.
|
|
3
|
+
* Provides in-place editing of existing memories.
|
|
4
|
+
* Created for Issue #2378.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import type { ApiClient } from '../api-client.js';
|
|
8
|
+
import type { Logger } from '../logger.js';
|
|
9
|
+
import type { PluginConfig } from '../config.js';
|
|
10
|
+
/** Parameters for memory_update tool */
|
|
11
|
+
export declare const MemoryUpdateParamsSchema: z.ZodObject<{
|
|
12
|
+
memory_id: z.ZodString;
|
|
13
|
+
text: z.ZodOptional<z.ZodString>;
|
|
14
|
+
category: z.ZodOptional<z.ZodEnum<{
|
|
15
|
+
preference: "preference";
|
|
16
|
+
fact: "fact";
|
|
17
|
+
decision: "decision";
|
|
18
|
+
context: "context";
|
|
19
|
+
entity: "entity";
|
|
20
|
+
other: "other";
|
|
21
|
+
}>>;
|
|
22
|
+
importance: z.ZodOptional<z.ZodNumber>;
|
|
23
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
24
|
+
expires_at: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
25
|
+
pinned: z.ZodOptional<z.ZodBoolean>;
|
|
26
|
+
}, z.core.$strip>;
|
|
27
|
+
export type MemoryUpdateParams = z.infer<typeof MemoryUpdateParamsSchema>;
|
|
28
|
+
/** Updated memory response from API */
|
|
29
|
+
export interface UpdatedMemory {
|
|
30
|
+
id: string;
|
|
31
|
+
content: string;
|
|
32
|
+
type?: string;
|
|
33
|
+
importance?: number;
|
|
34
|
+
tags?: string[];
|
|
35
|
+
updated_at?: string;
|
|
36
|
+
}
|
|
37
|
+
/** Successful tool result */
|
|
38
|
+
export interface MemoryUpdateSuccess {
|
|
39
|
+
success: true;
|
|
40
|
+
data: {
|
|
41
|
+
content: string;
|
|
42
|
+
details: {
|
|
43
|
+
id: string;
|
|
44
|
+
category?: string;
|
|
45
|
+
importance?: number;
|
|
46
|
+
tags?: string[];
|
|
47
|
+
user_id: string;
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
/** Failed tool result */
|
|
52
|
+
export interface MemoryUpdateFailure {
|
|
53
|
+
success: false;
|
|
54
|
+
error: string;
|
|
55
|
+
}
|
|
56
|
+
/** Tool result type */
|
|
57
|
+
export type MemoryUpdateResult = MemoryUpdateSuccess | MemoryUpdateFailure;
|
|
58
|
+
/** Tool configuration */
|
|
59
|
+
export interface MemoryUpdateToolOptions {
|
|
60
|
+
client: ApiClient;
|
|
61
|
+
logger: Logger;
|
|
62
|
+
config: PluginConfig;
|
|
63
|
+
user_id: string;
|
|
64
|
+
}
|
|
65
|
+
/** Tool definition */
|
|
66
|
+
export interface MemoryUpdateTool {
|
|
67
|
+
name: string;
|
|
68
|
+
description: string;
|
|
69
|
+
parameters: typeof MemoryUpdateParamsSchema;
|
|
70
|
+
execute: (params: MemoryUpdateParams) => Promise<MemoryUpdateResult>;
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* Creates the memory_update tool.
|
|
74
|
+
*/
|
|
75
|
+
export declare function createMemoryUpdateTool(options: MemoryUpdateToolOptions): MemoryUpdateTool;
|
|
76
|
+
//# sourceMappingURL=memory-update.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-update.d.ts","sourceRoot":"","sources":["../../src/tools/memory-update.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,wBAAwB;;;;;;;;;;;;;;;iBAWpC,CAAC;AACF,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,uCAAuC;AACvC,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,6BAA6B;AAC7B,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,EAAE,EAAE,MAAM,CAAC;YACX,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,UAAU,CAAC,EAAE,MAAM,CAAC;YACpB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;YAChB,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;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,gBAAgB,CAoHzF"}
|
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* memory_update tool implementation.
|
|
3
|
+
* Provides in-place editing of existing memories.
|
|
4
|
+
* Created for Issue #2378.
|
|
5
|
+
*/
|
|
6
|
+
import { z } from 'zod';
|
|
7
|
+
import { MemoryCategory } from './memory-recall.js';
|
|
8
|
+
import { sanitizeText, sanitizeErrorMessage, truncateForPreview } from '../utils/sanitize.js';
|
|
9
|
+
/** Parameters for memory_update tool */
|
|
10
|
+
export const MemoryUpdateParamsSchema = z.object({
|
|
11
|
+
memory_id: z.string().min(1, 'memory_id is required'),
|
|
12
|
+
text: z.string().min(1, 'Text cannot be empty').max(10000, 'Text must be 10000 characters or less').optional(),
|
|
13
|
+
category: MemoryCategory.optional(),
|
|
14
|
+
importance: z.number().min(0).max(1).optional(),
|
|
15
|
+
tags: z.array(z.string().min(1).max(100)).max(20, 'Maximum 20 tags per memory').optional(),
|
|
16
|
+
expires_at: z.string().nullable().optional(),
|
|
17
|
+
pinned: z.boolean().optional().describe('When true, this memory is always included in context injection regardless of semantic similarity'),
|
|
18
|
+
}).refine((data) => data.text !== undefined || data.category !== undefined || data.importance !== undefined || data.tags !== undefined || data.expires_at !== undefined || data.pinned !== undefined, { message: 'At least one field besides memory_id must be provided' });
|
|
19
|
+
/**
|
|
20
|
+
* Creates the memory_update tool.
|
|
21
|
+
*/
|
|
22
|
+
export function createMemoryUpdateTool(options) {
|
|
23
|
+
const { client, logger, user_id } = options;
|
|
24
|
+
return {
|
|
25
|
+
name: 'memory_update',
|
|
26
|
+
description: 'Update an existing memory in-place. Use when you need to modify a memory\'s content, category, tags, importance, or expiry without deleting and recreating it. Preserves the original creation timestamp and memory ID.',
|
|
27
|
+
parameters: MemoryUpdateParamsSchema,
|
|
28
|
+
async execute(params) {
|
|
29
|
+
// Validate parameters
|
|
30
|
+
const parseResult = MemoryUpdateParamsSchema.safeParse(params);
|
|
31
|
+
if (!parseResult.success) {
|
|
32
|
+
const errorMessage = parseResult.error.issues.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
33
|
+
return { success: false, error: errorMessage };
|
|
34
|
+
}
|
|
35
|
+
const { memory_id, text, category, importance, tags, expires_at, pinned } = parseResult.data;
|
|
36
|
+
// Log invocation (without content for privacy)
|
|
37
|
+
logger.info('memory_update invoked', {
|
|
38
|
+
user_id,
|
|
39
|
+
memory_id,
|
|
40
|
+
hasText: text !== undefined,
|
|
41
|
+
hasCategory: category !== undefined,
|
|
42
|
+
hasImportance: importance !== undefined,
|
|
43
|
+
hasTags: tags !== undefined,
|
|
44
|
+
hasExpiresAt: expires_at !== undefined,
|
|
45
|
+
hasPinned: pinned !== undefined,
|
|
46
|
+
});
|
|
47
|
+
try {
|
|
48
|
+
// Build update payload
|
|
49
|
+
const payload = {};
|
|
50
|
+
if (text !== undefined) {
|
|
51
|
+
const sanitized = sanitizeText(text);
|
|
52
|
+
if (sanitized.length === 0) {
|
|
53
|
+
return { success: false, error: 'Text cannot be empty after sanitization' };
|
|
54
|
+
}
|
|
55
|
+
payload.content = sanitized;
|
|
56
|
+
}
|
|
57
|
+
if (category !== undefined) {
|
|
58
|
+
payload.memory_type = category === 'other' ? 'note' : category;
|
|
59
|
+
}
|
|
60
|
+
if (importance !== undefined) {
|
|
61
|
+
payload.importance = importance;
|
|
62
|
+
}
|
|
63
|
+
if (tags !== undefined) {
|
|
64
|
+
payload.tags = tags;
|
|
65
|
+
}
|
|
66
|
+
if (expires_at !== undefined) {
|
|
67
|
+
payload.expires_at = expires_at;
|
|
68
|
+
}
|
|
69
|
+
if (pinned !== undefined) {
|
|
70
|
+
payload.pinned = pinned;
|
|
71
|
+
}
|
|
72
|
+
// Call API
|
|
73
|
+
const response = await client.patch(`/memories/${memory_id}`, payload, { user_id });
|
|
74
|
+
if (!response.success) {
|
|
75
|
+
if (response.error.code === 'NOT_FOUND') {
|
|
76
|
+
return { success: false, error: `Memory ${memory_id} not found` };
|
|
77
|
+
}
|
|
78
|
+
logger.error('memory_update API error', {
|
|
79
|
+
user_id,
|
|
80
|
+
memory_id,
|
|
81
|
+
status: response.error.status,
|
|
82
|
+
code: response.error.code,
|
|
83
|
+
});
|
|
84
|
+
return {
|
|
85
|
+
success: false,
|
|
86
|
+
error: response.error.message || 'Failed to update memory',
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
const updated = response.data;
|
|
90
|
+
const updatedCategory = updated.type === 'note' ? 'other' : (updated.type ?? category);
|
|
91
|
+
// Format response
|
|
92
|
+
const preview = truncateForPreview(updated.content ?? text ?? '');
|
|
93
|
+
const content = `Updated memory ${memory_id}: "${preview}"`;
|
|
94
|
+
logger.debug('memory_update completed', {
|
|
95
|
+
user_id,
|
|
96
|
+
memory_id,
|
|
97
|
+
});
|
|
98
|
+
return {
|
|
99
|
+
success: true,
|
|
100
|
+
data: {
|
|
101
|
+
content,
|
|
102
|
+
details: {
|
|
103
|
+
id: memory_id,
|
|
104
|
+
category: updatedCategory,
|
|
105
|
+
importance: updated.importance ?? importance,
|
|
106
|
+
tags: updated.tags ?? tags,
|
|
107
|
+
user_id,
|
|
108
|
+
},
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
catch (error) {
|
|
113
|
+
logger.error('memory_update failed', {
|
|
114
|
+
user_id,
|
|
115
|
+
memory_id,
|
|
116
|
+
error: error instanceof Error ? error.message : String(error),
|
|
117
|
+
});
|
|
118
|
+
return {
|
|
119
|
+
success: false,
|
|
120
|
+
error: sanitizeErrorMessage(error),
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
//# sourceMappingURL=memory-update.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-update.js","sourceRoot":"","sources":["../../src/tools/memory-update.ts"],"names":[],"mappings":"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"}
|
|
@@ -131,4 +131,28 @@ export interface NotebookGetTool {
|
|
|
131
131
|
execute: (params: NotebookGetParams) => Promise<NotebookGetResult>;
|
|
132
132
|
}
|
|
133
133
|
export declare function createNotebookGetTool(options: NotebookToolOptions): NotebookGetTool;
|
|
134
|
+
export declare const NotebookDeleteParamsSchema: z.ZodObject<{
|
|
135
|
+
notebook_id: z.ZodString;
|
|
136
|
+
delete_notes: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
137
|
+
}, z.core.$strip>;
|
|
138
|
+
export type NotebookDeleteParams = z.infer<typeof NotebookDeleteParamsSchema>;
|
|
139
|
+
export interface NotebookDeleteSuccess {
|
|
140
|
+
success: true;
|
|
141
|
+
data: {
|
|
142
|
+
id: string;
|
|
143
|
+
message: string;
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
export interface NotebookDeleteFailure {
|
|
147
|
+
success: false;
|
|
148
|
+
error: string;
|
|
149
|
+
}
|
|
150
|
+
export type NotebookDeleteResult = NotebookDeleteSuccess | NotebookDeleteFailure;
|
|
151
|
+
export interface NotebookDeleteTool {
|
|
152
|
+
name: string;
|
|
153
|
+
description: string;
|
|
154
|
+
parameters: typeof NotebookDeleteParamsSchema;
|
|
155
|
+
execute: (params: NotebookDeleteParams) => Promise<NotebookDeleteResult>;
|
|
156
|
+
}
|
|
157
|
+
export declare function createNotebookDeleteTool(options: NotebookToolOptions): NotebookDeleteTool;
|
|
134
158
|
//# sourceMappingURL=notebooks.d.ts.map
|