@troykelly/openclaw-projects 0.0.54 → 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/config.d.ts +30 -260
- package/dist/config.d.ts.map +1 -1
- 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 +4 -20
- 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/api-credential-manage.d.ts +17 -41
- package/dist/tools/api-credential-manage.d.ts.map +1 -1
- package/dist/tools/api-credential-manage.js +1 -1
- package/dist/tools/api-get.d.ts +1 -5
- package/dist/tools/api-get.d.ts.map +1 -1
- package/dist/tools/api-get.js +1 -1
- package/dist/tools/api-list.d.ts +6 -10
- package/dist/tools/api-list.d.ts.map +1 -1
- package/dist/tools/api-list.js +1 -1
- package/dist/tools/api-onboard.d.ts +14 -74
- package/dist/tools/api-onboard.d.ts.map +1 -1
- package/dist/tools/api-onboard.js +2 -2
- package/dist/tools/api-onboard.js.map +1 -1
- package/dist/tools/api-recall.d.ts +7 -15
- package/dist/tools/api-recall.d.ts.map +1 -1
- package/dist/tools/api-recall.js +1 -1
- package/dist/tools/api-refresh.d.ts +1 -5
- package/dist/tools/api-refresh.d.ts.map +1 -1
- package/dist/tools/api-refresh.js +1 -1
- package/dist/tools/api-remove.d.ts +1 -5
- package/dist/tools/api-remove.d.ts.map +1 -1
- package/dist/tools/api-remove.js +1 -1
- package/dist/tools/api-restore.d.ts +1 -5
- package/dist/tools/api-restore.d.ts.map +1 -1
- package/dist/tools/api-restore.js +1 -1
- package/dist/tools/api-update.d.ts +7 -15
- package/dist/tools/api-update.d.ts.map +1 -1
- package/dist/tools/api-update.js +1 -1
- package/dist/tools/contacts.d.ts +3 -21
- package/dist/tools/contacts.d.ts.map +1 -1
- package/dist/tools/contacts.js +3 -3
- package/dist/tools/context-search.d.ts +15 -11
- package/dist/tools/context-search.d.ts.map +1 -1
- package/dist/tools/context-search.js +1 -1
- package/dist/tools/dev-prompts.d.ts +21 -53
- package/dist/tools/dev-prompts.d.ts.map +1 -1
- package/dist/tools/dev-prompts.js +6 -6
- package/dist/tools/dev-prompts.js.map +1 -1
- package/dist/tools/dev-session-search.d.ts +1 -9
- package/dist/tools/dev-session-search.d.ts.map +1 -1
- package/dist/tools/dev-session-search.js +1 -1
- package/dist/tools/dev-sessions.d.ts +9 -97
- package/dist/tools/dev-sessions.d.ts.map +1 -1
- package/dist/tools/dev-sessions.js +5 -5
- package/dist/tools/email-send.d.ts +1 -15
- package/dist/tools/email-send.d.ts.map +1 -1
- package/dist/tools/email-send.js +1 -1
- package/dist/tools/entity-links.d.ts +45 -39
- package/dist/tools/entity-links.d.ts.map +1 -1
- package/dist/tools/entity-links.js +3 -3
- package/dist/tools/file-share.d.ts +1 -9
- package/dist/tools/file-share.d.ts.map +1 -1
- package/dist/tools/file-share.js +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 +3 -14
- package/dist/tools/memory-forget.d.ts.map +1 -1
- package/dist/tools/memory-forget.js +9 -4
- 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 +39 -35
- package/dist/tools/memory-recall.d.ts.map +1 -1
- package/dist/tools/memory-recall.js +18 -4
- package/dist/tools/memory-recall.js.map +1 -1
- package/dist/tools/memory-store.d.ts +14 -78
- package/dist/tools/memory-store.d.ts.map +1 -1
- package/dist/tools/memory-store.js +6 -2
- 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/message-search.d.ts +6 -14
- package/dist/tools/message-search.d.ts.map +1 -1
- package/dist/tools/message-search.js +1 -1
- package/dist/tools/notebooks.d.ts +27 -23
- package/dist/tools/notebooks.d.ts.map +1 -1
- package/dist/tools/notebooks.js +78 -3
- package/dist/tools/notebooks.js.map +1 -1
- package/dist/tools/notes.d.ts +33 -71
- package/dist/tools/notes.d.ts.map +1 -1
- package/dist/tools/notes.js +5 -5
- package/dist/tools/project-search.d.ts +7 -25
- package/dist/tools/project-search.d.ts.map +1 -1
- package/dist/tools/project-search.js +1 -1
- package/dist/tools/projects.d.ts +13 -23
- package/dist/tools/projects.d.ts.map +1 -1
- package/dist/tools/projects.js +3 -3
- package/dist/tools/relationships.d.ts +2 -22
- package/dist/tools/relationships.d.ts.map +1 -1
- package/dist/tools/relationships.js +2 -2
- package/dist/tools/skill-store.d.ts +28 -123
- package/dist/tools/skill-store.d.ts.map +1 -1
- package/dist/tools/skill-store.js +8 -8
- package/dist/tools/skill-store.js.map +1 -1
- package/dist/tools/sms-send.d.ts +1 -9
- package/dist/tools/sms-send.d.ts.map +1 -1
- package/dist/tools/sms-send.js +1 -1
- package/dist/tools/terminal-connections.d.ts +41 -92
- package/dist/tools/terminal-connections.d.ts.map +1 -1
- package/dist/tools/terminal-connections.js +8 -8
- package/dist/tools/terminal-search.d.ts +16 -34
- package/dist/tools/terminal-search.d.ts.map +1 -1
- package/dist/tools/terminal-search.js +2 -2
- package/dist/tools/terminal-sessions.d.ts +7 -63
- package/dist/tools/terminal-sessions.d.ts.map +1 -1
- package/dist/tools/terminal-sessions.js +7 -7
- package/dist/tools/terminal-tunnels.d.ts +13 -29
- package/dist/tools/terminal-tunnels.d.ts.map +1 -1
- package/dist/tools/terminal-tunnels.js +3 -3
- package/dist/tools/threads.d.ts +6 -17
- package/dist/tools/threads.d.ts.map +1 -1
- package/dist/tools/threads.js +2 -2
- package/dist/tools/todo-search.d.ts +9 -27
- package/dist/tools/todo-search.d.ts.map +1 -1
- package/dist/tools/todo-search.js +1 -1
- package/dist/tools/todos.d.ts +3 -25
- package/dist/tools/todos.d.ts.map +1 -1
- package/dist/tools/todos.js +3 -3
- package/dist/tools/tool-guide.d.ts +1 -9
- package/dist/tools/tool-guide.d.ts.map +1 -1
- package/dist/tools/tool-guide.js +1 -1
- package/dist/utils/zod-to-json-schema.d.ts +7 -0
- package/dist/utils/zod-to-json-schema.d.ts.map +1 -1
- package/dist/utils/zod-to-json-schema.js +65 -25
- package/dist/utils/zod-to-json-schema.js.map +1 -1
- package/openclaw.plugin.json +1 -1
- package/package.json +6 -6
|
@@ -14,94 +14,30 @@ export declare const MemoryLocationSchema: z.ZodObject<{
|
|
|
14
14
|
lng: z.ZodNumber;
|
|
15
15
|
address: z.ZodOptional<z.ZodString>;
|
|
16
16
|
place_label: z.ZodOptional<z.ZodString>;
|
|
17
|
-
},
|
|
18
|
-
lat: number;
|
|
19
|
-
lng: number;
|
|
20
|
-
address?: string | undefined;
|
|
21
|
-
place_label?: string | undefined;
|
|
22
|
-
}, {
|
|
23
|
-
lat: number;
|
|
24
|
-
lng: number;
|
|
25
|
-
address?: string | undefined;
|
|
26
|
-
place_label?: string | undefined;
|
|
27
|
-
}>;
|
|
17
|
+
}, z.core.$strip>;
|
|
28
18
|
/** Parameters for memory_store tool — matches OpenClaw gateway: 'text' is primary, 'content' alias for compat */
|
|
29
|
-
export declare const MemoryStoreParamsSchema: z.
|
|
19
|
+
export declare const MemoryStoreParamsSchema: z.ZodObject<{
|
|
30
20
|
text: z.ZodOptional<z.ZodString>;
|
|
31
21
|
content: z.ZodOptional<z.ZodString>;
|
|
32
|
-
category: z.ZodOptional<z.ZodEnum<
|
|
22
|
+
category: z.ZodOptional<z.ZodEnum<{
|
|
23
|
+
preference: "preference";
|
|
24
|
+
fact: "fact";
|
|
25
|
+
decision: "decision";
|
|
26
|
+
context: "context";
|
|
27
|
+
entity: "entity";
|
|
28
|
+
other: "other";
|
|
29
|
+
}>>;
|
|
33
30
|
importance: z.ZodOptional<z.ZodNumber>;
|
|
34
|
-
tags: z.ZodOptional<z.ZodArray<z.ZodString
|
|
31
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
35
32
|
relationship_id: z.ZodOptional<z.ZodString>;
|
|
36
33
|
location: z.ZodOptional<z.ZodObject<{
|
|
37
34
|
lat: z.ZodNumber;
|
|
38
35
|
lng: z.ZodNumber;
|
|
39
36
|
address: z.ZodOptional<z.ZodString>;
|
|
40
37
|
place_label: z.ZodOptional<z.ZodString>;
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
address?: string | undefined;
|
|
45
|
-
place_label?: string | undefined;
|
|
46
|
-
}, {
|
|
47
|
-
lat: number;
|
|
48
|
-
lng: number;
|
|
49
|
-
address?: string | undefined;
|
|
50
|
-
place_label?: string | undefined;
|
|
51
|
-
}>>;
|
|
52
|
-
}, "strip", z.ZodTypeAny, {
|
|
53
|
-
text?: string | undefined;
|
|
54
|
-
content?: string | undefined;
|
|
55
|
-
location?: {
|
|
56
|
-
lat: number;
|
|
57
|
-
lng: number;
|
|
58
|
-
address?: string | undefined;
|
|
59
|
-
place_label?: string | undefined;
|
|
60
|
-
} | undefined;
|
|
61
|
-
category?: "preference" | "fact" | "decision" | "context" | "entity" | "other" | undefined;
|
|
62
|
-
tags?: string[] | undefined;
|
|
63
|
-
relationship_id?: string | undefined;
|
|
64
|
-
importance?: number | undefined;
|
|
65
|
-
}, {
|
|
66
|
-
text?: string | undefined;
|
|
67
|
-
content?: string | undefined;
|
|
68
|
-
location?: {
|
|
69
|
-
lat: number;
|
|
70
|
-
lng: number;
|
|
71
|
-
address?: string | undefined;
|
|
72
|
-
place_label?: string | undefined;
|
|
73
|
-
} | undefined;
|
|
74
|
-
category?: "preference" | "fact" | "decision" | "context" | "entity" | "other" | undefined;
|
|
75
|
-
tags?: string[] | undefined;
|
|
76
|
-
relationship_id?: string | undefined;
|
|
77
|
-
importance?: number | undefined;
|
|
78
|
-
}>, {
|
|
79
|
-
text?: string | undefined;
|
|
80
|
-
content?: string | undefined;
|
|
81
|
-
location?: {
|
|
82
|
-
lat: number;
|
|
83
|
-
lng: number;
|
|
84
|
-
address?: string | undefined;
|
|
85
|
-
place_label?: string | undefined;
|
|
86
|
-
} | undefined;
|
|
87
|
-
category?: "preference" | "fact" | "decision" | "context" | "entity" | "other" | undefined;
|
|
88
|
-
tags?: string[] | undefined;
|
|
89
|
-
relationship_id?: string | undefined;
|
|
90
|
-
importance?: number | undefined;
|
|
91
|
-
}, {
|
|
92
|
-
text?: string | undefined;
|
|
93
|
-
content?: string | undefined;
|
|
94
|
-
location?: {
|
|
95
|
-
lat: number;
|
|
96
|
-
lng: number;
|
|
97
|
-
address?: string | undefined;
|
|
98
|
-
place_label?: string | undefined;
|
|
99
|
-
} | undefined;
|
|
100
|
-
category?: "preference" | "fact" | "decision" | "context" | "entity" | "other" | undefined;
|
|
101
|
-
tags?: string[] | undefined;
|
|
102
|
-
relationship_id?: string | undefined;
|
|
103
|
-
importance?: number | undefined;
|
|
104
|
-
}>;
|
|
38
|
+
}, z.core.$strip>>;
|
|
39
|
+
pinned: z.ZodOptional<z.ZodBoolean>;
|
|
40
|
+
}, z.core.$strip>;
|
|
105
41
|
export type MemoryStoreParams = z.infer<typeof MemoryStoreParamsSchema>;
|
|
106
42
|
/** Stored memory response from API */
|
|
107
43
|
export interface StoredMemory {
|
|
@@ -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
|
|
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
|
});
|
|
@@ -54,10 +55,10 @@ export function createMemoryStoreTool(options) {
|
|
|
54
55
|
// Validate parameters
|
|
55
56
|
const parseResult = MemoryStoreParamsSchema.safeParse(params);
|
|
56
57
|
if (!parseResult.success) {
|
|
57
|
-
const errorMessage = parseResult.error.
|
|
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":"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;IACzC,MAAM,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,kGAAkG,CAAC;CAC5I,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,OAAO,EAAE;IAC7C,OAAO,EAAE,oCAAoC;CAC9C,CAAC,CAAC;AAqDH,6CAA6C;AAC7C,MAAM,mBAAmB,GAAG;IAC1B,sBAAsB,EAAE,wBAAwB;IAChD,oCAAoC,EAAE,mBAAmB;IACzD,uBAAuB,EAAE,YAAY;IACrC,uCAAuC,EAAE,cAAc;IACvD,+BAA+B,EAAE,gBAAgB;CAClD,CAAC;AAEF;;GAEG;AACH,SAAS,qBAAqB,CAAC,IAAY;IACzC,OAAO,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,OAA+B;IACnE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;IAEpD,OAAO;QACL,IAAI,EAAE,cAAc;QACpB,WAAW,EACT,+UAA+U;QACjV,UAAU,EAAE,uBAAuB;QAEnC,KAAK,CAAC,OAAO,CAAC,MAAyB;YACrC,sBAAsB;YACtB,MAAM,WAAW,GAAG,uBAAuB,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;YAC9D,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBACzG,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;YACjD,CAAC;YAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,YAAY,EAAE,QAAQ,GAAG,OAAO,EAAE,UAAU,GAAG,GAAG,EAAE,IAAI,GAAG,EAAE,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC,IAAI,CAAC;YAE7I,kEAAkE;YAClE,MAAM,OAAO,GAAG,IAAI,IAAI,YAAY,CAAC;YACrC,IAAI,CAAC,OAAO,EAAE,CAAC;gBACb,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,kBAAkB,EAAE,CAAC;YACvD,CAAC;YAED,mBAAmB;YACnB,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,CAAC;YAC5C,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,4CAA4C,EAAE,CAAC;YACjF,CAAC;YAED,yDAAyD;YACzD,IAAI,qBAAqB,CAAC,aAAa,CAAC,EAAE,CAAC;gBACzC,MAAM,CAAC,IAAI,CAAC,+CAA+C,EAAE;oBAC3D,OAAO;oBACP,aAAa,EAAE,aAAa,CAAC,MAAM;iBACpC,CAAC,CAAC;YACL,CAAC;YAED,+CAA+C;YAC/C,MAAM,CAAC,IAAI,CAAC,sBAAsB,EAAE;gBAClC,OAAO;gBACP,QAAQ;gBACR,UAAU;gBACV,IAAI;gBACJ,aAAa,EAAE,aAAa,CAAC,MAAM;aACpC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACH,uBAAuB;gBACvB,qFAAqF;gBACrF,MAAM,WAAW,GAAG,QAAQ,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAE7D,MAAM,OAAO,GAA4B;oBACvC,OAAO,EAAE,aAAa;oBACtB,WAAW,EAAE,WAAW;oBACxB,UAAU;oBACV,IAAI;iBACL,CAAC;gBACF,IAAI,eAAe,EAAE,CAAC;oBACpB,OAAO,CAAC,eAAe,GAAG,eAAe,CAAC;gBAC5C,CAAC;gBACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;oBACzB,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;gBAC1B,CAAC;gBACD,IAAI,QAAQ,EAAE,CAAC;oBACb,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;oBAC3B,OAAO,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAC;oBAE3B,oEAAoE;oBACpE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;wBAC7C,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,QAAQ,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC,YAAY,CAAC,CAAC;wBACvF,IAAI,QAAQ,EAAE,CAAC;4BACb,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;4BACnC,IAAI,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,WAAW,EAAE,CAAC;gCAClD,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;4BAC7C,CAAC;wBACH,CAAC;oBACH,CAAC;oBAED,IAAI,QAAQ,CAAC,OAAO;wBAAE,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAC;oBACzD,IAAI,QAAQ,CAAC,WAAW;wBAAE,OAAO,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAC;gBACvE,CAAC;gBAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAe,mBAAmB,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;gBAE5F,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;oBACtB,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;wBACrC,OAAO;wBACP,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,wBAAwB;qBAC1D,CAAC;gBACJ,CAAC;gBAED,MAAM,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;gBAE7B,kBAAkB;gBAClB,MAAM,OAAO,GAAG,kBAAkB,CAAC,aAAa,CAAC,CAAC;gBAClD,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBACvE,MAAM,OAAO,GAAG,kBAAkB,QAAQ,OAAO,OAAO,IAAI,SAAS,EAAE,CAAC;gBAExE,MAAM,CAAC,KAAK,CAAC,wBAAwB,EAAE;oBACrC,OAAO;oBACP,SAAS,EAAE,MAAM,CAAC,EAAE;iBACrB,CAAC,CAAC;gBAEH,OAAO;oBACL,OAAO,EAAE,IAAI;oBACb,IAAI,EAAE;wBACJ,OAAO;wBACP,OAAO,EAAE;4BACP,EAAE,EAAE,MAAM,CAAC,EAAE;4BACb,QAAQ;4BACR,UAAU;4BACV,IAAI;4BACJ,OAAO;yBACR;qBACF;iBACF,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,MAAM,CAAC,KAAK,CAAC,qBAAqB,EAAE;oBAClC,OAAO;oBACP,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"}
|
|
@@ -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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"}
|
|
@@ -9,23 +9,15 @@ import type { Logger } from '../logger.js';
|
|
|
9
9
|
/** Parameters for message_search tool */
|
|
10
10
|
export declare const MessageSearchParamsSchema: z.ZodObject<{
|
|
11
11
|
query: z.ZodString;
|
|
12
|
-
channel: z.ZodDefault<z.ZodEnum<
|
|
12
|
+
channel: z.ZodDefault<z.ZodEnum<{
|
|
13
|
+
email: "email";
|
|
14
|
+
all: "all";
|
|
15
|
+
sms: "sms";
|
|
16
|
+
}>>;
|
|
13
17
|
contact_id: z.ZodOptional<z.ZodString>;
|
|
14
18
|
limit: z.ZodDefault<z.ZodNumber>;
|
|
15
19
|
include_thread: z.ZodDefault<z.ZodBoolean>;
|
|
16
|
-
},
|
|
17
|
-
query: string;
|
|
18
|
-
limit: number;
|
|
19
|
-
channel: "email" | "all" | "sms";
|
|
20
|
-
include_thread: boolean;
|
|
21
|
-
contact_id?: string | undefined;
|
|
22
|
-
}, {
|
|
23
|
-
query: string;
|
|
24
|
-
limit?: number | undefined;
|
|
25
|
-
channel?: "email" | "all" | "sms" | undefined;
|
|
26
|
-
contact_id?: string | undefined;
|
|
27
|
-
include_thread?: boolean | undefined;
|
|
28
|
-
}>;
|
|
20
|
+
}, z.core.$strip>;
|
|
29
21
|
export type MessageSearchParams = z.infer<typeof MessageSearchParamsSchema>;
|
|
30
22
|
/** Message result for tool output */
|
|
31
23
|
interface MessageResult {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"message-search.d.ts","sourceRoot":"","sources":["../../src/tools/message-search.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,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAa3C,yCAAyC;AACzC,eAAO,MAAM,yBAAyB
|
|
1
|
+
{"version":3,"file":"message-search.d.ts","sourceRoot":"","sources":["../../src/tools/message-search.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,YAAY,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AAa3C,yCAAyC;AACzC,eAAO,MAAM,yBAAyB;;;;;;;;;;iBAMpC,CAAC;AACH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAsB5E,qCAAqC;AACrC,UAAU,aAAa;IACrB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED,6BAA6B;AAC7B,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,IAAI,CAAC;IACd,IAAI,EAAE;QACJ,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE;YACP,QAAQ,EAAE,aAAa,EAAE,CAAC;YAC1B,KAAK,EAAE,MAAM,CAAC;YACd,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;CACjB;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;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,wBAAwB,GAAG,iBAAiB,CAsJ5F"}
|
|
@@ -34,7 +34,7 @@ export function createMessageSearchTool(options) {
|
|
|
34
34
|
// Validate parameters
|
|
35
35
|
const parseResult = MessageSearchParamsSchema.safeParse(params);
|
|
36
36
|
if (!parseResult.success) {
|
|
37
|
-
const errorMessage = parseResult.error.
|
|
37
|
+
const errorMessage = parseResult.error.issues.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
38
38
|
return { success: false, error: errorMessage };
|
|
39
39
|
}
|
|
40
40
|
const { query, channel, contact_id, limit, include_thread } = parseResult.data;
|
|
@@ -32,15 +32,7 @@ export declare const NotebookListParamsSchema: z.ZodObject<{
|
|
|
32
32
|
include_archived: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
33
33
|
limit: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
34
34
|
offset: z.ZodDefault<z.ZodOptional<z.ZodNumber>>;
|
|
35
|
-
},
|
|
36
|
-
limit: number;
|
|
37
|
-
offset: number;
|
|
38
|
-
include_archived: boolean;
|
|
39
|
-
}, {
|
|
40
|
-
limit?: number | undefined;
|
|
41
|
-
offset?: number | undefined;
|
|
42
|
-
include_archived?: boolean | undefined;
|
|
43
|
-
}>;
|
|
35
|
+
}, z.core.$strip>;
|
|
44
36
|
export type NotebookListParams = z.infer<typeof NotebookListParamsSchema>;
|
|
45
37
|
export interface NotebookListSuccess {
|
|
46
38
|
success: true;
|
|
@@ -73,13 +65,7 @@ export declare function createNotebookListTool(options: NotebookToolOptions): No
|
|
|
73
65
|
export declare const NotebookCreateParamsSchema: z.ZodObject<{
|
|
74
66
|
name: z.ZodString;
|
|
75
67
|
description: z.ZodOptional<z.ZodString>;
|
|
76
|
-
},
|
|
77
|
-
name: string;
|
|
78
|
-
description?: string | undefined;
|
|
79
|
-
}, {
|
|
80
|
-
name: string;
|
|
81
|
-
description?: string | undefined;
|
|
82
|
-
}>;
|
|
68
|
+
}, z.core.$strip>;
|
|
83
69
|
export type NotebookCreateParams = z.infer<typeof NotebookCreateParamsSchema>;
|
|
84
70
|
export interface NotebookCreateSuccess {
|
|
85
71
|
success: true;
|
|
@@ -106,13 +92,7 @@ export declare function createNotebookCreateTool(options: NotebookToolOptions):
|
|
|
106
92
|
export declare const NotebookGetParamsSchema: z.ZodObject<{
|
|
107
93
|
notebook_id: z.ZodString;
|
|
108
94
|
includeNotes: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
109
|
-
},
|
|
110
|
-
notebook_id: string;
|
|
111
|
-
includeNotes: boolean;
|
|
112
|
-
}, {
|
|
113
|
-
notebook_id: string;
|
|
114
|
-
includeNotes?: boolean | undefined;
|
|
115
|
-
}>;
|
|
95
|
+
}, z.core.$strip>;
|
|
116
96
|
export type NotebookGetParams = z.infer<typeof NotebookGetParamsSchema>;
|
|
117
97
|
export interface NotebookNote {
|
|
118
98
|
id: string;
|
|
@@ -151,4 +131,28 @@ export interface NotebookGetTool {
|
|
|
151
131
|
execute: (params: NotebookGetParams) => Promise<NotebookGetResult>;
|
|
152
132
|
}
|
|
153
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;
|
|
154
158
|
//# sourceMappingURL=notebooks.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"notebooks.d.ts","sourceRoot":"","sources":["../../src/tools/notebooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;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;AAOjD,wBAAwB;AACxB,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,WAAW,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,gDAAgD;AAChD,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,SAAS,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,YAAY,CAAC;IACrB,OAAO,EAAE,MAAM,CAAC;CACjB;AAMD,eAAO,MAAM,wBAAwB
|
|
1
|
+
{"version":3,"file":"notebooks.d.ts","sourceRoot":"","sources":["../../src/tools/notebooks.ts"],"names":[],"mappings":"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"}
|
package/dist/tools/notebooks.js
CHANGED
|
@@ -26,7 +26,7 @@ export function createNotebookListTool(options) {
|
|
|
26
26
|
async execute(params) {
|
|
27
27
|
const parseResult = NotebookListParamsSchema.safeParse(params);
|
|
28
28
|
if (!parseResult.success) {
|
|
29
|
-
const errorMessage = parseResult.error.
|
|
29
|
+
const errorMessage = parseResult.error.issues.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
30
30
|
return { success: false, error: errorMessage };
|
|
31
31
|
}
|
|
32
32
|
const { include_archived, limit, offset } = parseResult.data;
|
|
@@ -105,7 +105,7 @@ export function createNotebookCreateTool(options) {
|
|
|
105
105
|
async execute(params) {
|
|
106
106
|
const parseResult = NotebookCreateParamsSchema.safeParse(params);
|
|
107
107
|
if (!parseResult.success) {
|
|
108
|
-
const errorMessage = parseResult.error.
|
|
108
|
+
const errorMessage = parseResult.error.issues.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
109
109
|
return { success: false, error: errorMessage };
|
|
110
110
|
}
|
|
111
111
|
const { name, description } = parseResult.data;
|
|
@@ -177,7 +177,7 @@ export function createNotebookGetTool(options) {
|
|
|
177
177
|
async execute(params) {
|
|
178
178
|
const parseResult = NotebookGetParamsSchema.safeParse(params);
|
|
179
179
|
if (!parseResult.success) {
|
|
180
|
-
const errorMessage = parseResult.error.
|
|
180
|
+
const errorMessage = parseResult.error.issues.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
181
181
|
return { success: false, error: errorMessage };
|
|
182
182
|
}
|
|
183
183
|
const { notebook_id, includeNotes } = parseResult.data;
|
|
@@ -249,4 +249,79 @@ export function createNotebookGetTool(options) {
|
|
|
249
249
|
},
|
|
250
250
|
};
|
|
251
251
|
}
|
|
252
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
253
|
+
// notebook_delete Tool (Issue #2342)
|
|
254
|
+
// ─────────────────────────────────────────────────────────────────────────────
|
|
255
|
+
export const NotebookDeleteParamsSchema = z.object({
|
|
256
|
+
notebook_id: z.string().uuid('Notebook ID must be a valid UUID'),
|
|
257
|
+
delete_notes: z.boolean().optional().default(false),
|
|
258
|
+
});
|
|
259
|
+
export function createNotebookDeleteTool(options) {
|
|
260
|
+
const { client, logger, user_id } = options;
|
|
261
|
+
return {
|
|
262
|
+
name: 'notebook_delete',
|
|
263
|
+
description: 'Soft-deletes a notebook. Notes inside are moved to the root level by default, or soft-deleted if delete_notes is true. The notebook can be restored later. Only the notebook owner can delete. Use notebook_list or notebook_get to find the notebook ID first.',
|
|
264
|
+
parameters: NotebookDeleteParamsSchema,
|
|
265
|
+
async execute(params) {
|
|
266
|
+
const parseResult = NotebookDeleteParamsSchema.safeParse(params);
|
|
267
|
+
if (!parseResult.success) {
|
|
268
|
+
const errorMessage = parseResult.error.issues.map((e) => `${e.path.join('.')}: ${e.message}`).join(', ');
|
|
269
|
+
return { success: false, error: errorMessage };
|
|
270
|
+
}
|
|
271
|
+
const { notebook_id, delete_notes } = parseResult.data;
|
|
272
|
+
logger.info('notebook_delete invoked', {
|
|
273
|
+
user_id,
|
|
274
|
+
notebook_id,
|
|
275
|
+
delete_notes,
|
|
276
|
+
});
|
|
277
|
+
try {
|
|
278
|
+
const queryParams = new URLSearchParams();
|
|
279
|
+
if (delete_notes) {
|
|
280
|
+
queryParams.set('delete_notes', 'true');
|
|
281
|
+
}
|
|
282
|
+
const qs = queryParams.toString();
|
|
283
|
+
const response = await client.delete(`/notebooks/${notebook_id}${qs ? `?${qs}` : ''}`, { user_id });
|
|
284
|
+
if (!response.success) {
|
|
285
|
+
if (response.error.status === 404) {
|
|
286
|
+
return { success: false, error: 'Notebook not found' };
|
|
287
|
+
}
|
|
288
|
+
if (response.error.status === 403) {
|
|
289
|
+
return { success: false, error: 'Only the notebook owner can delete this notebook' };
|
|
290
|
+
}
|
|
291
|
+
logger.error('notebook_delete API error', {
|
|
292
|
+
user_id,
|
|
293
|
+
notebook_id,
|
|
294
|
+
status: response.error.status,
|
|
295
|
+
});
|
|
296
|
+
return {
|
|
297
|
+
success: false,
|
|
298
|
+
error: response.error.message || 'Failed to delete notebook',
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
logger.debug('notebook_delete completed', {
|
|
302
|
+
user_id,
|
|
303
|
+
notebook_id,
|
|
304
|
+
});
|
|
305
|
+
return {
|
|
306
|
+
success: true,
|
|
307
|
+
data: {
|
|
308
|
+
id: notebook_id,
|
|
309
|
+
message: delete_notes ? 'Notebook and its notes deleted successfully' : 'Notebook deleted successfully (notes moved to root)',
|
|
310
|
+
},
|
|
311
|
+
};
|
|
312
|
+
}
|
|
313
|
+
catch (error) {
|
|
314
|
+
logger.error('notebook_delete failed', {
|
|
315
|
+
user_id,
|
|
316
|
+
notebook_id,
|
|
317
|
+
error: error instanceof Error ? error.message : String(error),
|
|
318
|
+
});
|
|
319
|
+
return {
|
|
320
|
+
success: false,
|
|
321
|
+
error: sanitizeErrorMessage(error),
|
|
322
|
+
};
|
|
323
|
+
}
|
|
324
|
+
},
|
|
325
|
+
};
|
|
326
|
+
}
|
|
252
327
|
//# sourceMappingURL=notebooks.js.map
|