@mind-your-now/myn 0.7.18 → 0.8.0
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 +5 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -1
- package/dist/index.js.map +1 -1
- package/dist/src/memory-context.d.ts +29 -0
- package/dist/src/memory-context.d.ts.map +1 -0
- package/dist/src/memory-context.js +50 -0
- package/dist/src/memory-context.js.map +1 -0
- package/dist/src/tools/lists.d.ts +1 -1
- package/dist/src/tools/lists.d.ts.map +1 -1
- package/dist/src/tools/lists.js +64 -1
- package/dist/src/tools/lists.js.map +1 -1
- package/dist/src/tools/memory.d.ts +8 -7
- package/dist/src/tools/memory.d.ts.map +1 -1
- package/dist/src/tools/memory.js +31 -53
- package/dist/src/tools/memory.js.map +1 -1
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,8 @@
|
|
|
2
2
|
* Mind Your Now - OpenClaw Plugin
|
|
3
3
|
* @mind-your-now/myn
|
|
4
4
|
*
|
|
5
|
-
* Main entry point that registers all 14 MYN tools with the OpenClaw agent
|
|
5
|
+
* Main entry point that registers all 14 MYN tools with the OpenClaw agent
|
|
6
|
+
* and injects Kaia's memories into the conversation via before_prompt_build hook.
|
|
6
7
|
*/
|
|
7
8
|
export interface ToolDefinition {
|
|
8
9
|
id: string;
|
|
@@ -13,6 +14,9 @@ export interface ToolDefinition {
|
|
|
13
14
|
}
|
|
14
15
|
export interface OpenClawPluginApi {
|
|
15
16
|
registerTool(tool: ToolDefinition): void;
|
|
17
|
+
on(hookName: string, handler: (...args: any[]) => any, opts?: {
|
|
18
|
+
priority?: number;
|
|
19
|
+
}): void;
|
|
16
20
|
logger: {
|
|
17
21
|
debug(message: string): void;
|
|
18
22
|
info(message: string): void;
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
* Mind Your Now - OpenClaw Plugin
|
|
3
3
|
* @mind-your-now/myn
|
|
4
4
|
*
|
|
5
|
-
* Main entry point that registers all 14 MYN tools with the OpenClaw agent
|
|
5
|
+
* Main entry point that registers all 14 MYN tools with the OpenClaw agent
|
|
6
|
+
* and injects Kaia's memories into the conversation via before_prompt_build hook.
|
|
6
7
|
*/
|
|
7
8
|
import { MynApiClient } from './src/client.js';
|
|
9
|
+
import { fetchMemoryContext, formatMemoriesForPrompt } from './src/memory-context.js';
|
|
8
10
|
import { registerTasksTool } from './src/tools/tasks.js';
|
|
9
11
|
import { registerDebriefTool } from './src/tools/debrief.js';
|
|
10
12
|
import { registerCalendarTool } from './src/tools/calendar.js';
|
|
@@ -134,6 +136,23 @@ export default {
|
|
|
134
136
|
registerA2APairingTool(wrappedApi, baseUrl);
|
|
135
137
|
registerYnabTool(wrappedApi, client);
|
|
136
138
|
api.logger.info('[myn] Registered 14 tools: tasks, debrief, calendar, habits, lists, search, timers, memory, profile, household, projects, planning, a2a_pairing, ynab');
|
|
139
|
+
// MIN-801: Inject Kaia's memories into every conversation turn
|
|
140
|
+
api.on('before_prompt_build', async (event) => {
|
|
141
|
+
try {
|
|
142
|
+
const memories = await fetchMemoryContext(client, event.prompt);
|
|
143
|
+
if (!memories)
|
|
144
|
+
return;
|
|
145
|
+
const context = formatMemoriesForPrompt(memories);
|
|
146
|
+
if (!context)
|
|
147
|
+
return;
|
|
148
|
+
return { prependContext: context };
|
|
149
|
+
}
|
|
150
|
+
catch (err) {
|
|
151
|
+
api.logger.warn(`[myn] Memory context injection failed: ${err}`);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
}, { priority: 10 });
|
|
155
|
+
api.logger.info('[myn] Registered before_prompt_build hook for Kaia memory injection');
|
|
137
156
|
}
|
|
138
157
|
};
|
|
139
158
|
// Re-export types and utilities for advanced usage
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MIN-801: Memory context injection for OpenClaw's before_prompt_build hook.
|
|
3
|
+
*
|
|
4
|
+
* Fetches relevant Kaia memories from the MYN backend and formats them
|
|
5
|
+
* for injection into the agent's conversation context via prependContext.
|
|
6
|
+
*/
|
|
7
|
+
import type { MynApiClient } from './client.js';
|
|
8
|
+
export interface MemoryContextItem {
|
|
9
|
+
id: string;
|
|
10
|
+
type: string;
|
|
11
|
+
content: string;
|
|
12
|
+
confidence: number;
|
|
13
|
+
topics?: string[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Fetch memories relevant to the user's current prompt.
|
|
17
|
+
* Returns null if no memories are available or the request fails.
|
|
18
|
+
*/
|
|
19
|
+
export declare function fetchMemoryContext(client: MynApiClient, prompt: string, limit?: number): Promise<MemoryContextItem[] | null>;
|
|
20
|
+
/**
|
|
21
|
+
* Format memories into a text block for injection into the conversation context.
|
|
22
|
+
*
|
|
23
|
+
* The format is designed to be concise and LLM-readable:
|
|
24
|
+
* - Type tag for categorization
|
|
25
|
+
* - Content is the memory itself
|
|
26
|
+
* - Confidence as percentage so the LLM can weigh memories appropriately
|
|
27
|
+
*/
|
|
28
|
+
export declare function formatMemoriesForPrompt(memories: MemoryContextItem[]): string;
|
|
29
|
+
//# sourceMappingURL=memory-context.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-context.d.ts","sourceRoot":"","sources":["../../src/memory-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAOD;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,MAAM,EAAE,YAAY,EACpB,MAAM,EAAE,MAAM,EACd,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,iBAAiB,EAAE,GAAG,IAAI,CAAC,CAerC;AAED;;;;;;;GAOG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAe7E"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* MIN-801: Memory context injection for OpenClaw's before_prompt_build hook.
|
|
3
|
+
*
|
|
4
|
+
* Fetches relevant Kaia memories from the MYN backend and formats them
|
|
5
|
+
* for injection into the agent's conversation context via prependContext.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Fetch memories relevant to the user's current prompt.
|
|
9
|
+
* Returns null if no memories are available or the request fails.
|
|
10
|
+
*/
|
|
11
|
+
export async function fetchMemoryContext(client, prompt, limit = 10) {
|
|
12
|
+
try {
|
|
13
|
+
const params = new URLSearchParams({ limit: String(limit) });
|
|
14
|
+
if (prompt) {
|
|
15
|
+
params.set('query', prompt);
|
|
16
|
+
}
|
|
17
|
+
const response = await client.get(`/api/v1/agent/memories/context?${params.toString()}`);
|
|
18
|
+
if (!response?.items?.length)
|
|
19
|
+
return null;
|
|
20
|
+
return response.items;
|
|
21
|
+
}
|
|
22
|
+
catch {
|
|
23
|
+
// Graceful degradation — never block the conversation
|
|
24
|
+
return null;
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Format memories into a text block for injection into the conversation context.
|
|
29
|
+
*
|
|
30
|
+
* The format is designed to be concise and LLM-readable:
|
|
31
|
+
* - Type tag for categorization
|
|
32
|
+
* - Content is the memory itself
|
|
33
|
+
* - Confidence as percentage so the LLM can weigh memories appropriately
|
|
34
|
+
*/
|
|
35
|
+
export function formatMemoriesForPrompt(memories) {
|
|
36
|
+
if (!memories.length)
|
|
37
|
+
return '';
|
|
38
|
+
const lines = memories.map(m => {
|
|
39
|
+
const pct = Math.round(m.confidence * 100);
|
|
40
|
+
return `- [${m.type}] ${m.content} (confidence: ${pct}%)`;
|
|
41
|
+
});
|
|
42
|
+
return [
|
|
43
|
+
'## What you know about this user (from Kaia Memory)',
|
|
44
|
+
'',
|
|
45
|
+
...lines,
|
|
46
|
+
'',
|
|
47
|
+
'Use these memories naturally in conversation. Do not explicitly cite confidence scores to the user.',
|
|
48
|
+
].join('\n');
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=memory-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory-context.js","sourceRoot":"","sources":["../../src/memory-context.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAiBH;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,MAAoB,EACpB,MAAc,EACd,QAAgB,EAAE;IAElB,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7D,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;QAC9B,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,GAAG,CAC/B,kCAAkC,MAAM,CAAC,QAAQ,EAAE,EAAE,CACtD,CAAC;QACF,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM;YAAE,OAAO,IAAI,CAAC;QAC1C,OAAO,QAAQ,CAAC,KAAK,CAAC;IACxB,CAAC;IAAC,MAAM,CAAC;QACP,sDAAsD;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAA6B;IACnE,IAAI,CAAC,QAAQ,CAAC,MAAM;QAAE,OAAO,EAAE,CAAC;IAEhC,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,UAAU,GAAG,GAAG,CAAC,CAAC;QAC3C,OAAO,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,OAAO,iBAAiB,GAAG,IAAI,CAAC;IAC5D,CAAC,CAAC,CAAC;IAEH,OAAO;QACL,qDAAqD;QACrD,EAAE;QACF,GAAG,KAAK;QACR,EAAE;QACF,qGAAqG;KACtG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*/
|
|
4
4
|
import type { MynApiClient } from '../client.js';
|
|
5
5
|
export declare const ListsInputSchema: import("@sinclair/typebox").TObject<{
|
|
6
|
-
action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"get">, import("@sinclair/typebox").TLiteral<"add">, import("@sinclair/typebox").TLiteral<"toggle">, import("@sinclair/typebox").TLiteral<"bulk_add">, import("@sinclair/typebox").TLiteral<"convert_to_tasks">]>;
|
|
6
|
+
action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"get">, import("@sinclair/typebox").TLiteral<"add">, import("@sinclair/typebox").TLiteral<"toggle">, import("@sinclair/typebox").TLiteral<"bulk_add">, import("@sinclair/typebox").TLiteral<"update">, import("@sinclair/typebox").TLiteral<"delete">, import("@sinclair/typebox").TLiteral<"delete_checked">, import("@sinclair/typebox").TLiteral<"convert_to_tasks">]>;
|
|
7
7
|
householdId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
8
8
|
item: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
9
9
|
items: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../../src/tools/lists.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"lists.d.ts","sourceRoot":"","sources":["../../../src/tools/lists.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,eAAO,MAAM,gBAAgB;;;;;;;;;;;;EA8B3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,OAAO,gBAAgB,CAAC,MAAM,CAAC;AAExD,wBAAsB,YAAY,CAChC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,UAAU,GAChB,OAAO,CAAC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CA4BlG;AA2PD,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAUpF;AAGD,UAAU,iBAAiB;IACzB,YAAY,CAAC,IAAI,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAC/C,GAAG,IAAI,CAAC;IACT,MAAM,EAAE;QACN,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC"}
|
package/dist/src/tools/lists.js
CHANGED
|
@@ -9,6 +9,9 @@ export const ListsInputSchema = Type.Object({
|
|
|
9
9
|
Type.Literal('add'),
|
|
10
10
|
Type.Literal('toggle'),
|
|
11
11
|
Type.Literal('bulk_add'),
|
|
12
|
+
Type.Literal('update'),
|
|
13
|
+
Type.Literal('delete'),
|
|
14
|
+
Type.Literal('delete_checked'),
|
|
12
15
|
Type.Literal('convert_to_tasks')
|
|
13
16
|
]),
|
|
14
17
|
// Common parameters
|
|
@@ -42,6 +45,12 @@ export async function executeLists(client, input) {
|
|
|
42
45
|
return await toggleItem(client, input);
|
|
43
46
|
case 'bulk_add':
|
|
44
47
|
return await bulkAddItems(client, input);
|
|
48
|
+
case 'update':
|
|
49
|
+
return await updateItem(client, input);
|
|
50
|
+
case 'delete':
|
|
51
|
+
return await deleteItem(client, input);
|
|
52
|
+
case 'delete_checked':
|
|
53
|
+
return await deleteCheckedItems(client, input);
|
|
45
54
|
case 'convert_to_tasks':
|
|
46
55
|
return await convertToTasks(client, input);
|
|
47
56
|
default:
|
|
@@ -133,6 +142,60 @@ async function bulkAddItems(client, input) {
|
|
|
133
142
|
const data = await client.post(`/api/v1/households/${householdId}/grocery-list/bulk`, body);
|
|
134
143
|
return jsonResult(data);
|
|
135
144
|
}
|
|
145
|
+
async function updateItem(client, input) {
|
|
146
|
+
if (!input.itemId) {
|
|
147
|
+
return errorResult('itemId is required for update action');
|
|
148
|
+
}
|
|
149
|
+
let householdId = input.householdId;
|
|
150
|
+
if (!householdId) {
|
|
151
|
+
const household = await client.get('/api/v1/households/current');
|
|
152
|
+
if (!household?.id) {
|
|
153
|
+
return errorResult('No household found. Please specify householdId.');
|
|
154
|
+
}
|
|
155
|
+
householdId = household.id;
|
|
156
|
+
}
|
|
157
|
+
const body = {};
|
|
158
|
+
if (input.item)
|
|
159
|
+
body.name = input.item;
|
|
160
|
+
if (input.category)
|
|
161
|
+
body.category = input.category;
|
|
162
|
+
if (input.quantity)
|
|
163
|
+
body.quantity = input.quantity;
|
|
164
|
+
if (input.notes)
|
|
165
|
+
body.notes = input.notes;
|
|
166
|
+
if (Object.keys(body).length === 0) {
|
|
167
|
+
return errorResult('At least one field (item, category, quantity, notes) is required for update');
|
|
168
|
+
}
|
|
169
|
+
const data = await client.patch(`/api/v1/households/${householdId}/grocery-list/${input.itemId}`, body);
|
|
170
|
+
return jsonResult(data);
|
|
171
|
+
}
|
|
172
|
+
async function deleteItem(client, input) {
|
|
173
|
+
if (!input.itemId) {
|
|
174
|
+
return errorResult('itemId is required for delete action');
|
|
175
|
+
}
|
|
176
|
+
let householdId = input.householdId;
|
|
177
|
+
if (!householdId) {
|
|
178
|
+
const household = await client.get('/api/v1/households/current');
|
|
179
|
+
if (!household?.id) {
|
|
180
|
+
return errorResult('No household found. Please specify householdId.');
|
|
181
|
+
}
|
|
182
|
+
householdId = household.id;
|
|
183
|
+
}
|
|
184
|
+
const data = await client.delete(`/api/v1/households/${householdId}/grocery-list/${input.itemId}`);
|
|
185
|
+
return jsonResult(data);
|
|
186
|
+
}
|
|
187
|
+
async function deleteCheckedItems(client, input) {
|
|
188
|
+
let householdId = input.householdId;
|
|
189
|
+
if (!householdId) {
|
|
190
|
+
const household = await client.get('/api/v1/households/current');
|
|
191
|
+
if (!household?.id) {
|
|
192
|
+
return errorResult('No household found. Please specify householdId.');
|
|
193
|
+
}
|
|
194
|
+
householdId = household.id;
|
|
195
|
+
}
|
|
196
|
+
const data = await client.delete(`/api/v1/households/${householdId}/grocery-list/checked`);
|
|
197
|
+
return jsonResult(data);
|
|
198
|
+
}
|
|
136
199
|
async function convertToTasks(client, input) {
|
|
137
200
|
// Get household ID if not provided
|
|
138
201
|
let householdId = input.householdId;
|
|
@@ -155,7 +218,7 @@ export function registerListsTool(api, client) {
|
|
|
155
218
|
api.registerTool({
|
|
156
219
|
id: 'myn_lists',
|
|
157
220
|
name: 'MYN Lists',
|
|
158
|
-
description: 'Manage grocery and shopping lists. Actions: get, add, toggle, bulk_add, convert_to_tasks.',
|
|
221
|
+
description: 'Manage grocery and shopping lists. Actions: get, add, update, toggle, delete, delete_checked, bulk_add, convert_to_tasks.',
|
|
159
222
|
inputSchema: ListsInputSchema,
|
|
160
223
|
async execute(input) {
|
|
161
224
|
return executeLists(client, input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lists.js","sourceRoot":"","sources":["../../../src/tools/lists.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"lists.js","sourceRoot":"","sources":["../../../src/tools/lists.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* myn_memory tool - Agent memory remember/recall/forget
|
|
2
|
+
* myn_memory tool - Agent memory remember/recall/forget/search
|
|
3
|
+
*
|
|
4
|
+
* MIN-801: Now wired to real backend endpoints:
|
|
5
|
+
* - remember → POST /api/v1/agent/memories
|
|
6
|
+
* - search → GET /api/v1/agent/memories/search
|
|
7
|
+
* - recall → GET /api/v1/customers/memories (unchanged)
|
|
8
|
+
* - forget → DELETE /api/v1/customers/memories/{id} (unchanged)
|
|
3
9
|
*/
|
|
4
10
|
import type { MynApiClient } from '../client.js';
|
|
5
11
|
export declare const MemoryInputSchema: import("@sinclair/typebox").TObject<{
|
|
6
12
|
action: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"remember">, import("@sinclair/typebox").TLiteral<"recall">, import("@sinclair/typebox").TLiteral<"forget">, import("@sinclair/typebox").TLiteral<"search">]>;
|
|
7
13
|
content: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
8
|
-
category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"
|
|
9
|
-
tags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
10
|
-
importance: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"low">, import("@sinclair/typebox").TLiteral<"medium">, import("@sinclair/typebox").TLiteral<"high">, import("@sinclair/typebox").TLiteral<"critical">]>>;
|
|
11
|
-
expiresAt: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
14
|
+
category: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"PREFERENCE">, import("@sinclair/typebox").TLiteral<"PATTERN">, import("@sinclair/typebox").TLiteral<"STYLE">, import("@sinclair/typebox").TLiteral<"MYN_BEHAVIOR">, import("@sinclair/typebox").TLiteral<"PERSONAL">, import("@sinclair/typebox").TLiteral<"RELATIONSHIP">]>>;
|
|
12
15
|
memoryId: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
13
16
|
query: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
14
|
-
filterCategory: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TString>;
|
|
15
|
-
filterTags: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>>;
|
|
16
17
|
limit: import("@sinclair/typebox").TOptional<import("@sinclair/typebox").TNumber>;
|
|
17
18
|
}>;
|
|
18
19
|
export type MemoryInput = typeof MemoryInputSchema.static;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/tools/memory.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../../src/tools/memory.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAGjD,eAAO,MAAM,iBAAiB;;;;;;;EAsB5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,OAAO,iBAAiB,CAAC,MAAM,CAAC;AAE1D,wBAAsB,aAAa,CACjC,MAAM,EAAE,YAAY,EACpB,KAAK,EAAE,WAAW,GACjB,OAAO,CAAC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,OAAO,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAoBlG;AA2FD,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,iBAAiB,EAAE,MAAM,EAAE,YAAY,GAAG,IAAI,CAUrF;AAGD,UAAU,iBAAiB;IACzB,YAAY,CAAC,IAAI,EAAE;QACjB,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,WAAW,EAAE,MAAM,CAAC;QACpB,WAAW,EAAE,OAAO,CAAC;QACrB,OAAO,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;KAC/C,GAAG,IAAI,CAAC;IACT,MAAM,EAAE;QACN,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;QAC5B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B,CAAC;IACF,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC"}
|
package/dist/src/tools/memory.js
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* myn_memory tool - Agent memory remember/recall/forget
|
|
2
|
+
* myn_memory tool - Agent memory remember/recall/forget/search
|
|
3
|
+
*
|
|
4
|
+
* MIN-801: Now wired to real backend endpoints:
|
|
5
|
+
* - remember → POST /api/v1/agent/memories
|
|
6
|
+
* - search → GET /api/v1/agent/memories/search
|
|
7
|
+
* - recall → GET /api/v1/customers/memories (unchanged)
|
|
8
|
+
* - forget → DELETE /api/v1/customers/memories/{id} (unchanged)
|
|
3
9
|
*/
|
|
4
10
|
import { Type } from '@sinclair/typebox';
|
|
5
11
|
import { jsonResult, errorResult } from '../client.js';
|
|
@@ -11,29 +17,19 @@ export const MemoryInputSchema = Type.Object({
|
|
|
11
17
|
Type.Literal('search')
|
|
12
18
|
]),
|
|
13
19
|
// remember parameters
|
|
14
|
-
content: Type.Optional(Type.String({ minLength: 1, description: 'Memory content to store' })),
|
|
20
|
+
content: Type.Optional(Type.String({ minLength: 1, description: 'Memory content to store (max 500 chars)' })),
|
|
15
21
|
category: Type.Optional(Type.Union([
|
|
16
|
-
Type.Literal('
|
|
17
|
-
Type.Literal('
|
|
18
|
-
Type.Literal('
|
|
19
|
-
Type.Literal('
|
|
20
|
-
Type.Literal('
|
|
21
|
-
Type.Literal('
|
|
22
|
+
Type.Literal('PREFERENCE'),
|
|
23
|
+
Type.Literal('PATTERN'),
|
|
24
|
+
Type.Literal('STYLE'),
|
|
25
|
+
Type.Literal('MYN_BEHAVIOR'),
|
|
26
|
+
Type.Literal('PERSONAL'),
|
|
27
|
+
Type.Literal('RELATIONSHIP')
|
|
22
28
|
])),
|
|
23
|
-
tags: Type.Optional(Type.Array(Type.String())),
|
|
24
|
-
importance: Type.Optional(Type.Union([
|
|
25
|
-
Type.Literal('low'),
|
|
26
|
-
Type.Literal('medium'),
|
|
27
|
-
Type.Literal('high'),
|
|
28
|
-
Type.Literal('critical')
|
|
29
|
-
])),
|
|
30
|
-
expiresAt: Type.Optional(Type.String({ format: 'date-time', description: 'Optional expiration date' })),
|
|
31
29
|
// recall/forget parameters
|
|
32
30
|
memoryId: Type.Optional(Type.String({ format: 'uuid' })),
|
|
33
31
|
// search parameters
|
|
34
32
|
query: Type.Optional(Type.String()),
|
|
35
|
-
filterCategory: Type.Optional(Type.String()),
|
|
36
|
-
filterTags: Type.Optional(Type.Array(Type.String())),
|
|
37
33
|
limit: Type.Optional(Type.Number({ default: 10 }))
|
|
38
34
|
});
|
|
39
35
|
export async function executeMemory(client, input) {
|
|
@@ -58,28 +54,23 @@ export async function executeMemory(client, input) {
|
|
|
58
54
|
return errorResult('Unknown error occurred');
|
|
59
55
|
}
|
|
60
56
|
}
|
|
61
|
-
async function remember(
|
|
57
|
+
async function remember(client, input) {
|
|
62
58
|
if (!input.content) {
|
|
63
59
|
return errorResult('content is required for remember action');
|
|
64
60
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
'To store a memory, mention it in conversation context.');
|
|
61
|
+
const body = { content: input.content };
|
|
62
|
+
if (input.category) {
|
|
63
|
+
body.type = input.category;
|
|
64
|
+
}
|
|
65
|
+
const data = await client.post('/api/v1/agent/memories', body);
|
|
66
|
+
return jsonResult(data);
|
|
72
67
|
}
|
|
73
|
-
/**
|
|
68
|
+
/** Maximum number of memories to fetch from the backend */
|
|
74
69
|
const MEMORY_FETCH_LIMIT = 50;
|
|
75
70
|
async function recall(client, input) {
|
|
76
|
-
// The backend only supports GET /api/v1/customers/memories (list all).
|
|
77
|
-
// There is no GET /api/v1/customers/memories/{memoryId} endpoint.
|
|
78
|
-
// W4: Cap at 50 records to avoid over-fetching user data
|
|
79
71
|
const params = new URLSearchParams({ limit: String(MEMORY_FETCH_LIMIT) });
|
|
80
72
|
const data = await client.get(`/api/v1/customers/memories?${params.toString()}`);
|
|
81
73
|
if (input.memoryId) {
|
|
82
|
-
// Filter client-side for a specific memory
|
|
83
74
|
const memories = Array.isArray(data) ? data : [];
|
|
84
75
|
const match = memories.find(m => m.memoryId === input.memoryId);
|
|
85
76
|
if (!match) {
|
|
@@ -100,34 +91,21 @@ async function forget(client, input) {
|
|
|
100
91
|
});
|
|
101
92
|
}
|
|
102
93
|
async function searchMemories(client, input) {
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
// W4: Cap at 50 records to avoid over-fetching user data
|
|
106
|
-
const params = new URLSearchParams({ limit: String(MEMORY_FETCH_LIMIT) });
|
|
107
|
-
const data = await client.get(`/api/v1/customers/memories?${params.toString()}`);
|
|
108
|
-
let results = Array.isArray(data) ? data : [];
|
|
109
|
-
// Client-side filtering
|
|
110
|
-
if (input.query) {
|
|
111
|
-
const q = input.query.toLowerCase();
|
|
112
|
-
results = results.filter(m => m.content?.toLowerCase().includes(q) ||
|
|
113
|
-
m.tags?.some(t => t.toLowerCase().includes(q)));
|
|
94
|
+
if (!input.query) {
|
|
95
|
+
return errorResult('query is required for search action');
|
|
114
96
|
}
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if (input.limit) {
|
|
122
|
-
results = results.slice(0, input.limit);
|
|
123
|
-
}
|
|
124
|
-
return jsonResult({ results, total: results.length });
|
|
97
|
+
const params = new URLSearchParams({
|
|
98
|
+
query: input.query,
|
|
99
|
+
limit: String(input.limit ?? 10),
|
|
100
|
+
});
|
|
101
|
+
const data = await client.get(`/api/v1/agent/memories/search?${params.toString()}`);
|
|
102
|
+
return jsonResult(data);
|
|
125
103
|
}
|
|
126
104
|
export function registerMemoryTool(api, client) {
|
|
127
105
|
api.registerTool({
|
|
128
106
|
id: 'myn_memory',
|
|
129
107
|
name: 'MYN Memory',
|
|
130
|
-
description: 'Store and retrieve agent memories. Actions: remember, recall, forget, search.',
|
|
108
|
+
description: 'Store and retrieve agent memories. Actions: remember (create a memory), recall (list all memories), forget (delete a memory), search (semantic search).',
|
|
131
109
|
inputSchema: MemoryInputSchema,
|
|
132
110
|
async execute(input) {
|
|
133
111
|
return executeMemory(client, input);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/tools/memory.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"memory.js","sourceRoot":"","sources":["../../../src/tools/memory.ts"],"names":[],"mappings":"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"}
|