@magic-ingredients/tiny-brain-local 0.3.10
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/LICENSE +21 -0
- package/README.md +81 -0
- package/dist/core/console-logger.d.ts +30 -0
- package/dist/core/console-logger.d.ts.map +1 -0
- package/dist/core/console-logger.js +101 -0
- package/dist/core/console-logger.js.map +1 -0
- package/dist/core/file-logger.d.ts +40 -0
- package/dist/core/file-logger.d.ts.map +1 -0
- package/dist/core/file-logger.js +223 -0
- package/dist/core/file-logger.js.map +1 -0
- package/dist/core/mcp-server.d.ts +54 -0
- package/dist/core/mcp-server.d.ts.map +1 -0
- package/dist/core/mcp-server.js +295 -0
- package/dist/core/mcp-server.js.map +1 -0
- package/dist/index.d.ts +8 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +37 -0
- package/dist/index.js.map +1 -0
- package/dist/prompts/index.d.ts +39 -0
- package/dist/prompts/index.d.ts.map +1 -0
- package/dist/prompts/index.js +5 -0
- package/dist/prompts/index.js.map +1 -0
- package/dist/prompts/memory/memory.prompt.d.ts +32 -0
- package/dist/prompts/memory/memory.prompt.d.ts.map +1 -0
- package/dist/prompts/memory/memory.prompt.js +204 -0
- package/dist/prompts/memory/memory.prompt.js.map +1 -0
- package/dist/prompts/persona/persona.prompt.d.ts +27 -0
- package/dist/prompts/persona/persona.prompt.d.ts.map +1 -0
- package/dist/prompts/persona/persona.prompt.js +592 -0
- package/dist/prompts/persona/persona.prompt.js.map +1 -0
- package/dist/prompts/planning/planning.prompt.d.ts +56 -0
- package/dist/prompts/planning/planning.prompt.d.ts.map +1 -0
- package/dist/prompts/planning/planning.prompt.js +1016 -0
- package/dist/prompts/planning/planning.prompt.js.map +1 -0
- package/dist/prompts/prompt-registry.d.ts +25 -0
- package/dist/prompts/prompt-registry.d.ts.map +1 -0
- package/dist/prompts/prompt-registry.js +68 -0
- package/dist/prompts/prompt-registry.js.map +1 -0
- package/dist/prompts/thinking/thinking.prompt.d.ts +29 -0
- package/dist/prompts/thinking/thinking.prompt.d.ts.map +1 -0
- package/dist/prompts/thinking/thinking.prompt.js +171 -0
- package/dist/prompts/thinking/thinking.prompt.js.map +1 -0
- package/dist/services/UpdateService.d.ts +29 -0
- package/dist/services/UpdateService.d.ts.map +1 -0
- package/dist/services/UpdateService.js +132 -0
- package/dist/services/UpdateService.js.map +1 -0
- package/dist/services/plan-watcher.service.d.ts +143 -0
- package/dist/services/plan-watcher.service.d.ts.map +1 -0
- package/dist/services/plan-watcher.service.js +914 -0
- package/dist/services/plan-watcher.service.js.map +1 -0
- package/dist/storage/local-filesystem-adapter.d.ts +39 -0
- package/dist/storage/local-filesystem-adapter.d.ts.map +1 -0
- package/dist/storage/local-filesystem-adapter.js +208 -0
- package/dist/storage/local-filesystem-adapter.js.map +1 -0
- package/dist/storage/storage-path-builder.d.ts +14 -0
- package/dist/storage/storage-path-builder.d.ts.map +1 -0
- package/dist/storage/storage-path-builder.js +43 -0
- package/dist/storage/storage-path-builder.js.map +1 -0
- package/dist/test-setup.d.ts +2 -0
- package/dist/test-setup.d.ts.map +1 -0
- package/dist/test-setup.js +12 -0
- package/dist/test-setup.js.map +1 -0
- package/dist/tools/analyse-request/analyse-request.tool.d.ts +8 -0
- package/dist/tools/analyse-request/analyse-request.tool.d.ts.map +1 -0
- package/dist/tools/analyse-request/analyse-request.tool.js +120 -0
- package/dist/tools/analyse-request/analyse-request.tool.js.map +1 -0
- package/dist/tools/index.d.ts +69 -0
- package/dist/tools/index.d.ts.map +1 -0
- package/dist/tools/index.js +24 -0
- package/dist/tools/index.js.map +1 -0
- package/dist/tools/memory/memory.tool.d.ts +15 -0
- package/dist/tools/memory/memory.tool.d.ts.map +1 -0
- package/dist/tools/memory/memory.tool.js +110 -0
- package/dist/tools/memory/memory.tool.js.map +1 -0
- package/dist/tools/persona/as.tool.d.ts +25 -0
- package/dist/tools/persona/as.tool.d.ts.map +1 -0
- package/dist/tools/persona/as.tool.js +294 -0
- package/dist/tools/persona/as.tool.js.map +1 -0
- package/dist/tools/persona/persona.tool.d.ts +8 -0
- package/dist/tools/persona/persona.tool.d.ts.map +1 -0
- package/dist/tools/persona/persona.tool.js +193 -0
- package/dist/tools/persona/persona.tool.js.map +1 -0
- package/dist/tools/plan/plan.tool.d.ts +18 -0
- package/dist/tools/plan/plan.tool.d.ts.map +1 -0
- package/dist/tools/plan/plan.tool.js +643 -0
- package/dist/tools/plan/plan.tool.js.map +1 -0
- package/dist/tools/strategy/strategy.tool.d.ts +13 -0
- package/dist/tools/strategy/strategy.tool.d.ts.map +1 -0
- package/dist/tools/strategy/strategy.tool.js +199 -0
- package/dist/tools/strategy/strategy.tool.js.map +1 -0
- package/dist/tools/thinking/thinking.tool.d.ts +13 -0
- package/dist/tools/thinking/thinking.tool.d.ts.map +1 -0
- package/dist/tools/thinking/thinking.tool.js +226 -0
- package/dist/tools/thinking/thinking.tool.js.map +1 -0
- package/dist/tools/tool-registry.d.ts +20 -0
- package/dist/tools/tool-registry.d.ts.map +1 -0
- package/dist/tools/tool-registry.js +61 -0
- package/dist/tools/tool-registry.js.map +1 -0
- package/dist/tools/update/update.tool.d.ts +15 -0
- package/dist/tools/update/update.tool.d.ts.map +1 -0
- package/dist/tools/update/update.tool.js +86 -0
- package/dist/tools/update/update.tool.js.map +1 -0
- package/dist/tools/validate-response/validate-response.tool.d.ts +13 -0
- package/dist/tools/validate-response/validate-response.tool.d.ts.map +1 -0
- package/dist/tools/validate-response/validate-response.tool.js +142 -0
- package/dist/tools/validate-response/validate-response.tool.js.map +1 -0
- package/dist/types/request-context.d.ts +7 -0
- package/dist/types/request-context.d.ts.map +1 -0
- package/dist/types/request-context.js +7 -0
- package/dist/types/request-context.js.map +1 -0
- package/package.json +77 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"memory.prompt.js","sourceRoot":"","sources":["../../../src/prompts/memory/memory.prompt.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persona Prompt Handler
|
|
3
|
+
*
|
|
4
|
+
* Thin dispatcher for persona-related prompt executions
|
|
5
|
+
* Validates args with Zod, dispatches to PersonaService, formats responses
|
|
6
|
+
*/
|
|
7
|
+
import type { RequestContext } from '../../types/request-context.js';
|
|
8
|
+
import type { Prompt } from '@modelcontextprotocol/sdk/types.js';
|
|
9
|
+
import type { PromptResponse } from '../index.js';
|
|
10
|
+
export declare class PersonaPrompt {
|
|
11
|
+
/**
|
|
12
|
+
* Get all persona-related prompt definitions
|
|
13
|
+
*/
|
|
14
|
+
static getPromptDefinitions(): Prompt[];
|
|
15
|
+
/**
|
|
16
|
+
* Main handler that routes to specific prompt handlers
|
|
17
|
+
*/
|
|
18
|
+
static handle(name: string, args: Record<string, unknown>, context: RequestContext): Promise<PromptResponse>;
|
|
19
|
+
static handleListPersonas(args: Record<string, unknown>, context: RequestContext): Promise<PromptResponse>;
|
|
20
|
+
static handleBecome(args: Record<string, unknown>, context: RequestContext): Promise<PromptResponse>;
|
|
21
|
+
static handleCreatePersona(args: Record<string, unknown>, context: RequestContext): Promise<PromptResponse>;
|
|
22
|
+
static handleUpdatePersona(args: Record<string, unknown>, context: RequestContext): Promise<PromptResponse>;
|
|
23
|
+
static handleRemovePersona(args: Record<string, unknown>, context: RequestContext): Promise<PromptResponse>;
|
|
24
|
+
static handleShowPersona(args: Record<string, unknown>, context: RequestContext): Promise<PromptResponse>;
|
|
25
|
+
static handleCurrentPersona(args: Record<string, unknown>, context: RequestContext): Promise<PromptResponse>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=persona.prompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persona.prompt.d.ts","sourceRoot":"","sources":["../../../src/prompts/persona/persona.prompt.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAwClD,qBAAa,aAAa;IACxB;;OAEG;IACH,MAAM,CAAC,oBAAoB,IAAI,MAAM,EAAE;IAmFvC;;OAEG;WACU,MAAM,CACjB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC;WAqBb,kBAAkB,CAC7B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC;WA2Cb,YAAY,CACvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC;WAyEb,mBAAmB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC;WAyEb,mBAAmB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC;WA+Gb,mBAAmB,CAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC;WAkEb,iBAAiB,CAC5B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC;WA0Eb,oBAAoB,CAC/B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,cAAc,CAAC;CAmE3B"}
|
|
@@ -0,0 +1,592 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Persona Prompt Handler
|
|
3
|
+
*
|
|
4
|
+
* Thin dispatcher for persona-related prompt executions
|
|
5
|
+
* Validates args with Zod, dispatches to PersonaService, formats responses
|
|
6
|
+
*/
|
|
7
|
+
import { z } from 'zod';
|
|
8
|
+
import { PersonaService, PersonaLearningService, formatPersonaList, createDefaultProfile, formatPersona, formatActivationMessage } from '@magic-ingredients/tiny-brain-core';
|
|
9
|
+
// Zod schemas for each prompt handler
|
|
10
|
+
const ListPersonasArgsSchema = z.object({});
|
|
11
|
+
const BecomeArgsSchema = z.object({
|
|
12
|
+
persona_name: z.string(),
|
|
13
|
+
autoCreate: z.boolean().optional().default(true),
|
|
14
|
+
});
|
|
15
|
+
const CreatePersonaArgsSchema = z.object({
|
|
16
|
+
name: z.string(),
|
|
17
|
+
description: z.string().optional(),
|
|
18
|
+
style: z.string().optional(),
|
|
19
|
+
});
|
|
20
|
+
const UpdatePersonaArgsSchema = z.object({
|
|
21
|
+
name: z.string(),
|
|
22
|
+
updates: z.string(),
|
|
23
|
+
});
|
|
24
|
+
const ArchivePersonaArgsSchema = z.object({
|
|
25
|
+
name: z.string(),
|
|
26
|
+
reason: z.string().optional(),
|
|
27
|
+
});
|
|
28
|
+
const ShowPersonaArgsSchema = z.object({
|
|
29
|
+
name: z.string(),
|
|
30
|
+
});
|
|
31
|
+
const CurrentPersonaArgsSchema = z.object({});
|
|
32
|
+
export class PersonaPrompt {
|
|
33
|
+
/**
|
|
34
|
+
* Get all persona-related prompt definitions
|
|
35
|
+
*/
|
|
36
|
+
static getPromptDefinitions() {
|
|
37
|
+
return [
|
|
38
|
+
{
|
|
39
|
+
name: 'as',
|
|
40
|
+
description: '🎭 Switch to a specific persona to tailor responses',
|
|
41
|
+
arguments: [
|
|
42
|
+
{
|
|
43
|
+
name: 'persona_name',
|
|
44
|
+
description: 'Name of the persona to become',
|
|
45
|
+
required: true,
|
|
46
|
+
},
|
|
47
|
+
],
|
|
48
|
+
},
|
|
49
|
+
{
|
|
50
|
+
name: 'list_personas',
|
|
51
|
+
description: '📋 Show all available personas',
|
|
52
|
+
},
|
|
53
|
+
{
|
|
54
|
+
name: 'create_persona',
|
|
55
|
+
description: '✨ Create a new persona with specific traits',
|
|
56
|
+
arguments: [
|
|
57
|
+
{
|
|
58
|
+
name: 'name',
|
|
59
|
+
description: 'Name for the new persona',
|
|
60
|
+
required: true,
|
|
61
|
+
},
|
|
62
|
+
{
|
|
63
|
+
name: 'description',
|
|
64
|
+
description: 'Description of persona traits and characteristics',
|
|
65
|
+
required: true,
|
|
66
|
+
},
|
|
67
|
+
],
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
name: 'update_persona',
|
|
71
|
+
description: '✏️ Update an existing persona',
|
|
72
|
+
arguments: [
|
|
73
|
+
{
|
|
74
|
+
name: 'name',
|
|
75
|
+
description: 'Name of the persona to update',
|
|
76
|
+
required: true,
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
name: 'updates',
|
|
80
|
+
description: 'What to update about the persona',
|
|
81
|
+
required: true,
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
},
|
|
85
|
+
{
|
|
86
|
+
name: 'archive_persona',
|
|
87
|
+
description: '📦 Archive a persona (safe removal)',
|
|
88
|
+
arguments: [
|
|
89
|
+
{
|
|
90
|
+
name: 'name',
|
|
91
|
+
description: 'Name of the persona to archive',
|
|
92
|
+
required: true,
|
|
93
|
+
},
|
|
94
|
+
{
|
|
95
|
+
name: 'reason',
|
|
96
|
+
description: 'Reason for archiving',
|
|
97
|
+
required: false,
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
name: 'show_persona',
|
|
103
|
+
description: '👁️ Display detailed information about a specific persona',
|
|
104
|
+
arguments: [
|
|
105
|
+
{
|
|
106
|
+
name: 'name',
|
|
107
|
+
description: 'Name of the persona to show',
|
|
108
|
+
required: true,
|
|
109
|
+
},
|
|
110
|
+
],
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
name: 'current_persona',
|
|
114
|
+
description: '🎭 Show information about the currently active persona',
|
|
115
|
+
},
|
|
116
|
+
];
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Main handler that routes to specific prompt handlers
|
|
120
|
+
*/
|
|
121
|
+
static async handle(name, args, context) {
|
|
122
|
+
switch (name) {
|
|
123
|
+
case 'list_personas':
|
|
124
|
+
return await PersonaPrompt.handleListPersonas(args, context);
|
|
125
|
+
case 'as':
|
|
126
|
+
return await PersonaPrompt.handleBecome(args, context);
|
|
127
|
+
case 'create_persona':
|
|
128
|
+
return await PersonaPrompt.handleCreatePersona(args, context);
|
|
129
|
+
case 'update_persona':
|
|
130
|
+
return await PersonaPrompt.handleUpdatePersona(args, context);
|
|
131
|
+
case 'archive_persona':
|
|
132
|
+
return await PersonaPrompt.handleRemovePersona(args, context);
|
|
133
|
+
case 'show_persona':
|
|
134
|
+
return await PersonaPrompt.handleShowPersona(args, context);
|
|
135
|
+
case 'current_persona':
|
|
136
|
+
return await PersonaPrompt.handleCurrentPersona(args, context);
|
|
137
|
+
default:
|
|
138
|
+
throw new Error(`Unknown persona prompt: ${name}`);
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
static async handleListPersonas(args, context) {
|
|
142
|
+
try {
|
|
143
|
+
// Validate args (no args for list operation)
|
|
144
|
+
ListPersonasArgsSchema.parse(args);
|
|
145
|
+
// Create service with RequestContext
|
|
146
|
+
const service = new PersonaService(context);
|
|
147
|
+
// Call service method with args (matching tool pattern)
|
|
148
|
+
const personas = await service.listPersonas({
|
|
149
|
+
includeArchived: false
|
|
150
|
+
});
|
|
151
|
+
// Format response
|
|
152
|
+
const response = formatPersonaList(personas, context.activePersona?.id);
|
|
153
|
+
return {
|
|
154
|
+
description: 'List all available personas',
|
|
155
|
+
messages: [
|
|
156
|
+
{
|
|
157
|
+
role: 'user',
|
|
158
|
+
content: {
|
|
159
|
+
type: 'text',
|
|
160
|
+
text: 'List all personas',
|
|
161
|
+
},
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
role: 'assistant',
|
|
165
|
+
content: {
|
|
166
|
+
type: 'text',
|
|
167
|
+
text: response,
|
|
168
|
+
},
|
|
169
|
+
},
|
|
170
|
+
],
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
if (error instanceof z.ZodError) {
|
|
175
|
+
throw new Error(`Invalid arguments: ${error.errors.map(e => e.message).join(', ')}`);
|
|
176
|
+
}
|
|
177
|
+
throw error;
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
static async handleBecome(args, context) {
|
|
181
|
+
try {
|
|
182
|
+
// Validate args
|
|
183
|
+
const validatedArgs = BecomeArgsSchema.parse(args);
|
|
184
|
+
// Create service with RequestContext
|
|
185
|
+
const service = new PersonaService(context);
|
|
186
|
+
// Call service method with args
|
|
187
|
+
const existingPersona = await service.loadPersona({
|
|
188
|
+
personaName: validatedArgs.persona_name
|
|
189
|
+
});
|
|
190
|
+
if (!existingPersona && !validatedArgs.autoCreate) {
|
|
191
|
+
return {
|
|
192
|
+
messages: [
|
|
193
|
+
{
|
|
194
|
+
role: 'user',
|
|
195
|
+
content: {
|
|
196
|
+
type: 'text',
|
|
197
|
+
text: `Switch to "${validatedArgs.persona_name}" persona`,
|
|
198
|
+
},
|
|
199
|
+
},
|
|
200
|
+
{
|
|
201
|
+
role: 'assistant',
|
|
202
|
+
content: {
|
|
203
|
+
type: 'text',
|
|
204
|
+
text: `Persona "${validatedArgs.persona_name}" not found. Set autoCreate: true to create it.`,
|
|
205
|
+
},
|
|
206
|
+
},
|
|
207
|
+
],
|
|
208
|
+
};
|
|
209
|
+
}
|
|
210
|
+
let isNew = false;
|
|
211
|
+
if (!existingPersona && validatedArgs.autoCreate) {
|
|
212
|
+
const newProfile = createDefaultProfile(validatedArgs.persona_name, new Date().toISOString());
|
|
213
|
+
await service.createPersona({
|
|
214
|
+
personaName: validatedArgs.persona_name,
|
|
215
|
+
profile: newProfile
|
|
216
|
+
});
|
|
217
|
+
isNew = true;
|
|
218
|
+
}
|
|
219
|
+
// Format response
|
|
220
|
+
const message = formatActivationMessage(validatedArgs.persona_name, isNew);
|
|
221
|
+
return {
|
|
222
|
+
messages: [
|
|
223
|
+
{
|
|
224
|
+
role: 'user',
|
|
225
|
+
content: {
|
|
226
|
+
type: 'text',
|
|
227
|
+
text: `Switch to "${validatedArgs.persona_name}" persona`,
|
|
228
|
+
},
|
|
229
|
+
},
|
|
230
|
+
{
|
|
231
|
+
role: 'assistant',
|
|
232
|
+
content: {
|
|
233
|
+
type: 'text',
|
|
234
|
+
text: message,
|
|
235
|
+
},
|
|
236
|
+
},
|
|
237
|
+
],
|
|
238
|
+
};
|
|
239
|
+
}
|
|
240
|
+
catch (error) {
|
|
241
|
+
if (error instanceof z.ZodError) {
|
|
242
|
+
throw new Error(`Invalid arguments: ${error.errors.map(e => e.message).join(', ')}`);
|
|
243
|
+
}
|
|
244
|
+
throw error;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
static async handleCreatePersona(args, context) {
|
|
248
|
+
try {
|
|
249
|
+
// Validate args
|
|
250
|
+
const validatedArgs = CreatePersonaArgsSchema.parse(args);
|
|
251
|
+
// Create service with RequestContext
|
|
252
|
+
const service = new PersonaService(context);
|
|
253
|
+
// Check if already exists
|
|
254
|
+
const existing = await service.loadPersona({
|
|
255
|
+
personaName: validatedArgs.name
|
|
256
|
+
});
|
|
257
|
+
if (existing) {
|
|
258
|
+
return {
|
|
259
|
+
messages: [
|
|
260
|
+
{
|
|
261
|
+
role: 'user',
|
|
262
|
+
content: {
|
|
263
|
+
type: 'text',
|
|
264
|
+
text: `Create persona "${validatedArgs.name}"`,
|
|
265
|
+
},
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
role: 'assistant',
|
|
269
|
+
content: {
|
|
270
|
+
type: 'text',
|
|
271
|
+
text: `Persona "${validatedArgs.name}" already exists`,
|
|
272
|
+
},
|
|
273
|
+
},
|
|
274
|
+
],
|
|
275
|
+
};
|
|
276
|
+
}
|
|
277
|
+
// Create profile and persona
|
|
278
|
+
const profile = createDefaultProfile(validatedArgs.name, new Date().toISOString(), validatedArgs.description, validatedArgs.style);
|
|
279
|
+
await service.createPersona({
|
|
280
|
+
personaName: validatedArgs.name,
|
|
281
|
+
profile: profile
|
|
282
|
+
});
|
|
283
|
+
return {
|
|
284
|
+
messages: [
|
|
285
|
+
{
|
|
286
|
+
role: 'user',
|
|
287
|
+
content: {
|
|
288
|
+
type: 'text',
|
|
289
|
+
text: `Create persona "${validatedArgs.name}"`,
|
|
290
|
+
},
|
|
291
|
+
},
|
|
292
|
+
{
|
|
293
|
+
role: 'assistant',
|
|
294
|
+
content: {
|
|
295
|
+
type: 'text',
|
|
296
|
+
text: `Created persona "${validatedArgs.name}"`,
|
|
297
|
+
},
|
|
298
|
+
},
|
|
299
|
+
],
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
catch (error) {
|
|
303
|
+
if (error instanceof z.ZodError) {
|
|
304
|
+
throw new Error(`Invalid arguments: ${error.errors.map(e => e.message).join(', ')}`);
|
|
305
|
+
}
|
|
306
|
+
throw error;
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
static async handleUpdatePersona(args, context) {
|
|
310
|
+
try {
|
|
311
|
+
// Validate args
|
|
312
|
+
const validatedArgs = UpdatePersonaArgsSchema.parse(args);
|
|
313
|
+
// Create service with RequestContext
|
|
314
|
+
const service = new PersonaService(context);
|
|
315
|
+
// Load existing persona
|
|
316
|
+
const existingPersona = await service.loadPersona({
|
|
317
|
+
personaName: validatedArgs.name
|
|
318
|
+
});
|
|
319
|
+
if (!existingPersona) {
|
|
320
|
+
return {
|
|
321
|
+
messages: [
|
|
322
|
+
{
|
|
323
|
+
role: 'user',
|
|
324
|
+
content: {
|
|
325
|
+
type: 'text',
|
|
326
|
+
text: `Update persona "${validatedArgs.name}"`,
|
|
327
|
+
},
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
role: 'assistant',
|
|
331
|
+
content: {
|
|
332
|
+
type: 'text',
|
|
333
|
+
text: `Persona "${validatedArgs.name}" not found`,
|
|
334
|
+
},
|
|
335
|
+
},
|
|
336
|
+
],
|
|
337
|
+
};
|
|
338
|
+
}
|
|
339
|
+
// Parse updates as JSON if possible, otherwise treat as text
|
|
340
|
+
let data;
|
|
341
|
+
try {
|
|
342
|
+
data = JSON.parse(validatedArgs.updates);
|
|
343
|
+
}
|
|
344
|
+
catch {
|
|
345
|
+
// If not JSON, treat as description update
|
|
346
|
+
data = { description: validatedArgs.updates };
|
|
347
|
+
}
|
|
348
|
+
// Check for learning opportunities (matching tool pattern)
|
|
349
|
+
const learningEvaluation = PersonaLearningService.evaluateUpdateForLearning(data, context);
|
|
350
|
+
let updatesApplied = [];
|
|
351
|
+
if (learningEvaluation.hasLearning && learningEvaluation.extractedLearning) {
|
|
352
|
+
await service.updateInsights({
|
|
353
|
+
personaName: validatedArgs.name,
|
|
354
|
+
insights: learningEvaluation.extractedLearning,
|
|
355
|
+
});
|
|
356
|
+
updatesApplied.push(`${learningEvaluation.learningType}`);
|
|
357
|
+
}
|
|
358
|
+
// Handle profile updates
|
|
359
|
+
if (data.profile && typeof data.profile === 'string') {
|
|
360
|
+
await service.savePersona({
|
|
361
|
+
personaName: validatedArgs.name,
|
|
362
|
+
profile: data.profile,
|
|
363
|
+
});
|
|
364
|
+
updatesApplied.push('profile');
|
|
365
|
+
}
|
|
366
|
+
else if (!learningEvaluation.hasLearning) {
|
|
367
|
+
// Fallback: append updates to profile
|
|
368
|
+
const profileString = typeof existingPersona.profile === 'string'
|
|
369
|
+
? existingPersona.profile
|
|
370
|
+
: JSON.stringify(existingPersona.profile);
|
|
371
|
+
const updatedProfile = profileString + '\n\n## Updates\n' + validatedArgs.updates;
|
|
372
|
+
await service.savePersona({
|
|
373
|
+
personaName: validatedArgs.name,
|
|
374
|
+
profile: updatedProfile,
|
|
375
|
+
});
|
|
376
|
+
updatesApplied.push('profile (appended)');
|
|
377
|
+
}
|
|
378
|
+
const updateMessage = updatesApplied.length > 0
|
|
379
|
+
? `Updated persona "${validatedArgs.name}": ${updatesApplied.join(', ')}`
|
|
380
|
+
: `Updated persona "${validatedArgs.name}"`;
|
|
381
|
+
return {
|
|
382
|
+
messages: [
|
|
383
|
+
{
|
|
384
|
+
role: 'user',
|
|
385
|
+
content: {
|
|
386
|
+
type: 'text',
|
|
387
|
+
text: `Update persona "${validatedArgs.name}" with changes: ${validatedArgs.updates}`,
|
|
388
|
+
},
|
|
389
|
+
},
|
|
390
|
+
{
|
|
391
|
+
role: 'assistant',
|
|
392
|
+
content: {
|
|
393
|
+
type: 'text',
|
|
394
|
+
text: updateMessage,
|
|
395
|
+
},
|
|
396
|
+
},
|
|
397
|
+
],
|
|
398
|
+
};
|
|
399
|
+
}
|
|
400
|
+
catch (error) {
|
|
401
|
+
if (error instanceof z.ZodError) {
|
|
402
|
+
throw new Error(`Invalid arguments: ${error.errors.map(e => e.message).join(', ')}`);
|
|
403
|
+
}
|
|
404
|
+
throw error;
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
static async handleRemovePersona(args, context) {
|
|
408
|
+
try {
|
|
409
|
+
// Validate args
|
|
410
|
+
const validatedArgs = ArchivePersonaArgsSchema.parse(args);
|
|
411
|
+
// Create service with RequestContext
|
|
412
|
+
const service = new PersonaService(context);
|
|
413
|
+
// Check if persona exists
|
|
414
|
+
const existing = await service.loadPersona({
|
|
415
|
+
personaName: validatedArgs.name
|
|
416
|
+
});
|
|
417
|
+
if (!existing) {
|
|
418
|
+
return {
|
|
419
|
+
messages: [
|
|
420
|
+
{
|
|
421
|
+
role: 'user',
|
|
422
|
+
content: {
|
|
423
|
+
type: 'text',
|
|
424
|
+
text: `Archive persona "${validatedArgs.name}"`,
|
|
425
|
+
},
|
|
426
|
+
},
|
|
427
|
+
{
|
|
428
|
+
role: 'assistant',
|
|
429
|
+
content: {
|
|
430
|
+
type: 'text',
|
|
431
|
+
text: `Persona "${validatedArgs.name}" not found`,
|
|
432
|
+
},
|
|
433
|
+
},
|
|
434
|
+
],
|
|
435
|
+
};
|
|
436
|
+
}
|
|
437
|
+
// Archive the persona
|
|
438
|
+
await service.archivePersona({
|
|
439
|
+
personaName: validatedArgs.name,
|
|
440
|
+
reason: validatedArgs.reason || 'Archived via prompt handler',
|
|
441
|
+
});
|
|
442
|
+
return {
|
|
443
|
+
messages: [
|
|
444
|
+
{
|
|
445
|
+
role: 'user',
|
|
446
|
+
content: {
|
|
447
|
+
type: 'text',
|
|
448
|
+
text: `Archive persona "${validatedArgs.name}"`,
|
|
449
|
+
},
|
|
450
|
+
},
|
|
451
|
+
{
|
|
452
|
+
role: 'assistant',
|
|
453
|
+
content: {
|
|
454
|
+
type: 'text',
|
|
455
|
+
text: `Archived persona "${validatedArgs.name}"`,
|
|
456
|
+
},
|
|
457
|
+
},
|
|
458
|
+
],
|
|
459
|
+
};
|
|
460
|
+
}
|
|
461
|
+
catch (error) {
|
|
462
|
+
if (error instanceof z.ZodError) {
|
|
463
|
+
throw new Error(`Invalid arguments: ${error.errors.map(e => e.message).join(', ')}`);
|
|
464
|
+
}
|
|
465
|
+
throw error;
|
|
466
|
+
}
|
|
467
|
+
}
|
|
468
|
+
static async handleShowPersona(args, context) {
|
|
469
|
+
try {
|
|
470
|
+
// Validate args
|
|
471
|
+
const validatedArgs = ShowPersonaArgsSchema.parse(args);
|
|
472
|
+
// Create service with RequestContext
|
|
473
|
+
const service = new PersonaService(context);
|
|
474
|
+
// Load persona
|
|
475
|
+
const persona = await service.loadPersona({
|
|
476
|
+
personaName: validatedArgs.name
|
|
477
|
+
});
|
|
478
|
+
if (!persona) {
|
|
479
|
+
return {
|
|
480
|
+
messages: [
|
|
481
|
+
{
|
|
482
|
+
role: 'user',
|
|
483
|
+
content: {
|
|
484
|
+
type: 'text',
|
|
485
|
+
text: `Show persona "${validatedArgs.name}"`,
|
|
486
|
+
},
|
|
487
|
+
},
|
|
488
|
+
{
|
|
489
|
+
role: 'assistant',
|
|
490
|
+
content: {
|
|
491
|
+
type: 'text',
|
|
492
|
+
text: `Persona "${validatedArgs.name}" not found`,
|
|
493
|
+
},
|
|
494
|
+
},
|
|
495
|
+
],
|
|
496
|
+
};
|
|
497
|
+
}
|
|
498
|
+
// Get files and format response
|
|
499
|
+
const files = await service.listPersonaFiles({
|
|
500
|
+
personaName: validatedArgs.name
|
|
501
|
+
});
|
|
502
|
+
const formattedPersona = formatPersona(persona?.profile || null, validatedArgs.name);
|
|
503
|
+
let response = `Persona: ${validatedArgs.name}\n`;
|
|
504
|
+
response += `Files: ${files.length}\n\n`;
|
|
505
|
+
response += formattedPersona;
|
|
506
|
+
return {
|
|
507
|
+
messages: [
|
|
508
|
+
{
|
|
509
|
+
role: 'user',
|
|
510
|
+
content: {
|
|
511
|
+
type: 'text',
|
|
512
|
+
text: `Show persona "${validatedArgs.name}"`,
|
|
513
|
+
},
|
|
514
|
+
},
|
|
515
|
+
{
|
|
516
|
+
role: 'assistant',
|
|
517
|
+
content: {
|
|
518
|
+
type: 'text',
|
|
519
|
+
text: response,
|
|
520
|
+
},
|
|
521
|
+
},
|
|
522
|
+
],
|
|
523
|
+
};
|
|
524
|
+
}
|
|
525
|
+
catch (error) {
|
|
526
|
+
if (error instanceof z.ZodError) {
|
|
527
|
+
throw new Error(`Invalid arguments: ${error.errors.map(e => e.message).join(', ')}`);
|
|
528
|
+
}
|
|
529
|
+
throw error;
|
|
530
|
+
}
|
|
531
|
+
}
|
|
532
|
+
static async handleCurrentPersona(args, context) {
|
|
533
|
+
try {
|
|
534
|
+
// Validate args (no args for current operation)
|
|
535
|
+
CurrentPersonaArgsSchema.parse(args);
|
|
536
|
+
const activePersonaName = context.activePersona?.id;
|
|
537
|
+
if (!activePersonaName) {
|
|
538
|
+
return {
|
|
539
|
+
messages: [
|
|
540
|
+
{
|
|
541
|
+
role: 'user',
|
|
542
|
+
content: {
|
|
543
|
+
type: 'text',
|
|
544
|
+
text: 'Show current persona',
|
|
545
|
+
},
|
|
546
|
+
},
|
|
547
|
+
{
|
|
548
|
+
role: 'assistant',
|
|
549
|
+
content: {
|
|
550
|
+
type: 'text',
|
|
551
|
+
text: 'No persona is currently active',
|
|
552
|
+
},
|
|
553
|
+
},
|
|
554
|
+
],
|
|
555
|
+
};
|
|
556
|
+
}
|
|
557
|
+
// Create service with RequestContext
|
|
558
|
+
const service = new PersonaService(context);
|
|
559
|
+
// Load current persona
|
|
560
|
+
const persona = await service.loadPersona({
|
|
561
|
+
personaName: activePersonaName
|
|
562
|
+
});
|
|
563
|
+
// Format response
|
|
564
|
+
const formattedPersona = formatPersona(persona?.profile || null, activePersonaName);
|
|
565
|
+
return {
|
|
566
|
+
messages: [
|
|
567
|
+
{
|
|
568
|
+
role: 'user',
|
|
569
|
+
content: {
|
|
570
|
+
type: 'text',
|
|
571
|
+
text: 'Show current persona',
|
|
572
|
+
},
|
|
573
|
+
},
|
|
574
|
+
{
|
|
575
|
+
role: 'assistant',
|
|
576
|
+
content: {
|
|
577
|
+
type: 'text',
|
|
578
|
+
text: formattedPersona,
|
|
579
|
+
},
|
|
580
|
+
},
|
|
581
|
+
],
|
|
582
|
+
};
|
|
583
|
+
}
|
|
584
|
+
catch (error) {
|
|
585
|
+
if (error instanceof z.ZodError) {
|
|
586
|
+
throw new Error(`Invalid arguments: ${error.errors.map(e => e.message).join(', ')}`);
|
|
587
|
+
}
|
|
588
|
+
throw error;
|
|
589
|
+
}
|
|
590
|
+
}
|
|
591
|
+
}
|
|
592
|
+
//# sourceMappingURL=persona.prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persona.prompt.js","sourceRoot":"","sources":["../../../src/prompts/persona/persona.prompt.ts"],"names":[],"mappings":"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"}
|