@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
|
@@ -9,6 +9,7 @@ export const MemoryForgetParamsSchema = z
|
|
|
9
9
|
.object({
|
|
10
10
|
memory_id: z.string().optional(),
|
|
11
11
|
query: z.string().max(1000, 'Query must be 1000 characters or less').optional(),
|
|
12
|
+
namespaces: z.array(z.string().min(1).max(100)).max(10, 'Maximum 10 namespaces').optional(),
|
|
12
13
|
})
|
|
13
14
|
.refine((data) => data.memory_id || data.query, {
|
|
14
15
|
message: 'Either memory_id or query is required',
|
|
@@ -35,15 +36,16 @@ export function createMemoryForgetTool(options) {
|
|
|
35
36
|
// Validate parameters
|
|
36
37
|
const parseResult = MemoryForgetParamsSchema.safeParse(params);
|
|
37
38
|
if (!parseResult.success) {
|
|
38
|
-
const errorMessage = parseResult.error.
|
|
39
|
+
const errorMessage = parseResult.error.issues.map((e) => e.message).join(', ');
|
|
39
40
|
return { success: false, error: errorMessage };
|
|
40
41
|
}
|
|
41
|
-
const { memory_id, query } = parseResult.data;
|
|
42
|
+
const { memory_id, query, namespaces } = parseResult.data;
|
|
42
43
|
// Log invocation
|
|
43
44
|
logger.info('memory_forget invoked', {
|
|
44
45
|
user_id,
|
|
45
46
|
memory_id: memory_id ?? undefined,
|
|
46
47
|
hasQuery: !!query,
|
|
48
|
+
namespaces: namespaces ?? [],
|
|
47
49
|
});
|
|
48
50
|
try {
|
|
49
51
|
// Delete by ID
|
|
@@ -52,7 +54,7 @@ export function createMemoryForgetTool(options) {
|
|
|
52
54
|
}
|
|
53
55
|
// Delete by query (OpenClaw two-phase: search → candidates or auto-delete)
|
|
54
56
|
if (query) {
|
|
55
|
-
return await deleteByQuery(client, logger, user_id, query);
|
|
57
|
+
return await deleteByQuery(client, logger, user_id, query, namespaces);
|
|
56
58
|
}
|
|
57
59
|
// Should not reach here due to validation
|
|
58
60
|
return { success: false, error: 'Either memory_id or query is required' };
|
|
@@ -130,7 +132,7 @@ async function deleteById(client, logger, user_id, memory_id) {
|
|
|
130
132
|
* - Single high-confidence match (>0.9) → auto-delete
|
|
131
133
|
* - Multiple matches → return candidates for agent to specify memory_id
|
|
132
134
|
*/
|
|
133
|
-
async function deleteByQuery(client, logger, user_id, query) {
|
|
135
|
+
async function deleteByQuery(client, logger, user_id, query, namespaces) {
|
|
134
136
|
const sanitizedQuery = sanitizeQuery(query);
|
|
135
137
|
if (sanitizedQuery.length === 0) {
|
|
136
138
|
return { success: false, error: 'Query cannot be empty' };
|
|
@@ -139,6 +141,9 @@ async function deleteByQuery(client, logger, user_id, query) {
|
|
|
139
141
|
q: sanitizedQuery,
|
|
140
142
|
limit: '5',
|
|
141
143
|
});
|
|
144
|
+
if (namespaces && namespaces.length > 0) {
|
|
145
|
+
queryParams.set('namespaces', namespaces.join(','));
|
|
146
|
+
}
|
|
142
147
|
const searchResponse = await client.get(`/memories/search?${queryParams.toString()}`, { user_id });
|
|
143
148
|
if (!searchResponse.success) {
|
|
144
149
|
logger.error('memory_forget search error', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory-forget.js","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAE5D,0EAA0E;AAC1E,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC;KACtC,MAAM,CAAC;IACN,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,IAAI,EAAE,uCAAuC,CAAC,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"memory-forget.js","sourceRoot":"","sources":["../../src/tools/memory-forget.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,104 @@
|
|
|
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 type { ApiClient } from '../api-client.js';
|
|
8
|
+
import type { Logger } from '../logger.js';
|
|
9
|
+
import type { PluginConfig } from '../config.js';
|
|
10
|
+
/** Sort direction for memory listing */
|
|
11
|
+
export declare const SortDirection: z.ZodEnum<{
|
|
12
|
+
asc: "asc";
|
|
13
|
+
desc: "desc";
|
|
14
|
+
}>;
|
|
15
|
+
export type SortDirection = z.infer<typeof SortDirection>;
|
|
16
|
+
/** Sort field for memory listing */
|
|
17
|
+
export declare const SortField: z.ZodEnum<{
|
|
18
|
+
created_at: "created_at";
|
|
19
|
+
updated_at: "updated_at";
|
|
20
|
+
}>;
|
|
21
|
+
export type SortField = z.infer<typeof SortField>;
|
|
22
|
+
/** Parameters for memory_list tool */
|
|
23
|
+
export declare const MemoryListParamsSchema: z.ZodObject<{
|
|
24
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
25
|
+
offset: z.ZodOptional<z.ZodNumber>;
|
|
26
|
+
category: z.ZodOptional<z.ZodEnum<{
|
|
27
|
+
preference: "preference";
|
|
28
|
+
fact: "fact";
|
|
29
|
+
decision: "decision";
|
|
30
|
+
context: "context";
|
|
31
|
+
entity: "entity";
|
|
32
|
+
other: "other";
|
|
33
|
+
}>>;
|
|
34
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
35
|
+
since: z.ZodOptional<z.ZodString>;
|
|
36
|
+
before: z.ZodOptional<z.ZodString>;
|
|
37
|
+
period: z.ZodOptional<z.ZodEnum<{
|
|
38
|
+
today: "today";
|
|
39
|
+
yesterday: "yesterday";
|
|
40
|
+
this_week: "this_week";
|
|
41
|
+
last_week: "last_week";
|
|
42
|
+
this_month: "this_month";
|
|
43
|
+
last_month: "last_month";
|
|
44
|
+
}>>;
|
|
45
|
+
sort: z.ZodOptional<z.ZodEnum<{
|
|
46
|
+
created_at: "created_at";
|
|
47
|
+
updated_at: "updated_at";
|
|
48
|
+
}>>;
|
|
49
|
+
sort_direction: z.ZodOptional<z.ZodEnum<{
|
|
50
|
+
asc: "asc";
|
|
51
|
+
desc: "desc";
|
|
52
|
+
}>>;
|
|
53
|
+
}, z.core.$strip>;
|
|
54
|
+
export type MemoryListParams = z.infer<typeof MemoryListParamsSchema>;
|
|
55
|
+
/** Memory item in list response */
|
|
56
|
+
export interface MemoryListItem {
|
|
57
|
+
id: string;
|
|
58
|
+
content: string;
|
|
59
|
+
category: string;
|
|
60
|
+
tags?: string[];
|
|
61
|
+
importance?: number;
|
|
62
|
+
created_at?: string;
|
|
63
|
+
updated_at?: string;
|
|
64
|
+
}
|
|
65
|
+
/** Successful tool result */
|
|
66
|
+
export interface MemoryListSuccess {
|
|
67
|
+
success: true;
|
|
68
|
+
data: {
|
|
69
|
+
content: string;
|
|
70
|
+
details: {
|
|
71
|
+
count: number;
|
|
72
|
+
total: number;
|
|
73
|
+
offset: number;
|
|
74
|
+
memories: MemoryListItem[];
|
|
75
|
+
user_id: string;
|
|
76
|
+
};
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/** Failed tool result */
|
|
80
|
+
export interface MemoryListFailure {
|
|
81
|
+
success: false;
|
|
82
|
+
error: string;
|
|
83
|
+
}
|
|
84
|
+
/** Tool result type */
|
|
85
|
+
export type MemoryListResult = MemoryListSuccess | MemoryListFailure;
|
|
86
|
+
/** Tool configuration */
|
|
87
|
+
export interface MemoryListToolOptions {
|
|
88
|
+
client: ApiClient;
|
|
89
|
+
logger: Logger;
|
|
90
|
+
config: PluginConfig;
|
|
91
|
+
user_id: string;
|
|
92
|
+
}
|
|
93
|
+
/** Tool definition */
|
|
94
|
+
export interface MemoryListTool {
|
|
95
|
+
name: string;
|
|
96
|
+
description: string;
|
|
97
|
+
parameters: typeof MemoryListParamsSchema;
|
|
98
|
+
execute: (params: MemoryListParams) => Promise<MemoryListResult>;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Creates the memory_list tool.
|
|
102
|
+
*/
|
|
103
|
+
export declare function createMemoryListTool(options: MemoryListToolOptions): MemoryListTool;
|
|
104
|
+
//# sourceMappingURL=memory-list.d.ts.map
|
|
@@ -0,0 +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,CAsInF"}
|
|
@@ -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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"}
|
|
@@ -9,52 +9,56 @@ import type { ApiClient } from '../api-client.js';
|
|
|
9
9
|
import type { Logger } from '../logger.js';
|
|
10
10
|
import type { PluginConfig } from '../config.js';
|
|
11
11
|
/** Memory categories for filtering */
|
|
12
|
-
export declare const MemoryCategory: z.ZodEnum<
|
|
12
|
+
export declare const MemoryCategory: z.ZodEnum<{
|
|
13
|
+
preference: "preference";
|
|
14
|
+
fact: "fact";
|
|
15
|
+
decision: "decision";
|
|
16
|
+
context: "context";
|
|
17
|
+
entity: "entity";
|
|
18
|
+
other: "other";
|
|
19
|
+
}>;
|
|
13
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>;
|
|
14
31
|
/** Parameters for memory_recall tool */
|
|
15
32
|
export declare const MemoryRecallParamsSchema: z.ZodObject<{
|
|
16
33
|
query: z.ZodString;
|
|
17
34
|
limit: z.ZodOptional<z.ZodNumber>;
|
|
18
|
-
category: z.ZodOptional<z.ZodEnum<
|
|
19
|
-
|
|
35
|
+
category: z.ZodOptional<z.ZodEnum<{
|
|
36
|
+
preference: "preference";
|
|
37
|
+
fact: "fact";
|
|
38
|
+
decision: "decision";
|
|
39
|
+
context: "context";
|
|
40
|
+
entity: "entity";
|
|
41
|
+
other: "other";
|
|
42
|
+
}>>;
|
|
43
|
+
tags: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
20
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
|
+
}>>;
|
|
21
55
|
location: z.ZodOptional<z.ZodObject<{
|
|
22
56
|
lat: z.ZodNumber;
|
|
23
57
|
lng: z.ZodNumber;
|
|
24
|
-
},
|
|
25
|
-
lat: number;
|
|
26
|
-
lng: number;
|
|
27
|
-
}, {
|
|
28
|
-
lat: number;
|
|
29
|
-
lng: number;
|
|
30
|
-
}>>;
|
|
58
|
+
}, z.core.$strip>>;
|
|
31
59
|
location_radius_km: z.ZodOptional<z.ZodNumber>;
|
|
32
60
|
location_weight: z.ZodOptional<z.ZodNumber>;
|
|
33
|
-
},
|
|
34
|
-
query: string;
|
|
35
|
-
limit?: number | undefined;
|
|
36
|
-
location?: {
|
|
37
|
-
lat: number;
|
|
38
|
-
lng: number;
|
|
39
|
-
} | undefined;
|
|
40
|
-
category?: "preference" | "fact" | "decision" | "context" | "entity" | "other" | undefined;
|
|
41
|
-
tags?: string[] | undefined;
|
|
42
|
-
relationship_id?: string | undefined;
|
|
43
|
-
location_radius_km?: number | undefined;
|
|
44
|
-
location_weight?: number | undefined;
|
|
45
|
-
}, {
|
|
46
|
-
query: string;
|
|
47
|
-
limit?: number | undefined;
|
|
48
|
-
location?: {
|
|
49
|
-
lat: number;
|
|
50
|
-
lng: number;
|
|
51
|
-
} | undefined;
|
|
52
|
-
category?: "preference" | "fact" | "decision" | "context" | "entity" | "other" | undefined;
|
|
53
|
-
tags?: string[] | undefined;
|
|
54
|
-
relationship_id?: string | undefined;
|
|
55
|
-
location_radius_km?: number | undefined;
|
|
56
|
-
location_weight?: number | undefined;
|
|
57
|
-
}>;
|
|
61
|
+
}, z.core.$strip>;
|
|
58
62
|
export type MemoryRecallParams = z.infer<typeof MemoryRecallParamsSchema>;
|
|
59
63
|
/** Memory item returned from API */
|
|
60
64
|
export interface Memory {
|
|
@@ -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,
|
|
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,16 +58,16 @@ 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
|
|
60
65
|
const parseResult = MemoryRecallParamsSchema.safeParse(params);
|
|
61
66
|
if (!parseResult.success) {
|
|
62
|
-
const errorMessage = parseResult.error.
|
|
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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"}
|