@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,193 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { createSuccessResult, createErrorResult, } from '../index.js';
|
|
3
|
+
import { PersonaService, PersonaLearningService, formatPersonaList, createDefaultProfile, formatPersona } from '@magic-ingredients/tiny-brain-core';
|
|
4
|
+
// Schema for 'manage_personas' tool
|
|
5
|
+
const ManagePersonasArgsSchema = z.object({
|
|
6
|
+
operation: z.enum(['list', 'create', 'update', 'archive', 'show']),
|
|
7
|
+
personaName: z.string().optional(),
|
|
8
|
+
data: z.record(z.unknown()).optional(),
|
|
9
|
+
includeArchived: z.boolean().optional(),
|
|
10
|
+
});
|
|
11
|
+
export class ManagePersonasTool {
|
|
12
|
+
static getToolDefinition() {
|
|
13
|
+
return {
|
|
14
|
+
name: 'manage_personas',
|
|
15
|
+
description: '📋 PERSONA MANAGER 📋\n\n⚡ COMPREHENSIVE CONTROL: Manage all your personas in one place.\n\n✅ OPERATIONS:\n • list: Show available personas (active by default, use includeArchived for all)\n • create: Create a new persona\n • update: Modify persona attributes\n • archive: Archive a persona (replaces delete)\n • show: Display detailed persona info\n\n💡 SMART FEATURES:\n • Automated profile generation\n • Context preservation\n • File association tracking\n • Safe archiving instead of deletion',
|
|
16
|
+
inputSchema: {
|
|
17
|
+
type: 'object',
|
|
18
|
+
properties: {
|
|
19
|
+
operation: {
|
|
20
|
+
type: 'string',
|
|
21
|
+
enum: ['list', 'create', 'update', 'archive', 'show'],
|
|
22
|
+
description: 'The persona management operation to perform',
|
|
23
|
+
},
|
|
24
|
+
personaName: {
|
|
25
|
+
type: 'string',
|
|
26
|
+
description: 'Name of the persona (required for all operations except list)',
|
|
27
|
+
},
|
|
28
|
+
data: {
|
|
29
|
+
type: 'object',
|
|
30
|
+
description: 'Data for create/update operations',
|
|
31
|
+
},
|
|
32
|
+
includeArchived: {
|
|
33
|
+
type: 'boolean',
|
|
34
|
+
description: 'Include archived personas in list (default: false)',
|
|
35
|
+
},
|
|
36
|
+
},
|
|
37
|
+
required: ['operation'],
|
|
38
|
+
},
|
|
39
|
+
};
|
|
40
|
+
}
|
|
41
|
+
static async execute(args, context) {
|
|
42
|
+
try {
|
|
43
|
+
const validatedArgs = ManagePersonasArgsSchema.parse(args);
|
|
44
|
+
// Create service with RequestContext
|
|
45
|
+
const service = new PersonaService(context);
|
|
46
|
+
switch (validatedArgs.operation) {
|
|
47
|
+
case 'list': {
|
|
48
|
+
const personas = await service.listPersonas({
|
|
49
|
+
includeArchived: validatedArgs.includeArchived || false
|
|
50
|
+
});
|
|
51
|
+
const activePersona = context.activePersona?.id;
|
|
52
|
+
const response = formatPersonaList(personas, activePersona);
|
|
53
|
+
return createSuccessResult(response);
|
|
54
|
+
}
|
|
55
|
+
case 'create': {
|
|
56
|
+
if (!validatedArgs.personaName) {
|
|
57
|
+
return createErrorResult('personaName is required for create operation');
|
|
58
|
+
}
|
|
59
|
+
// Check if already exists
|
|
60
|
+
const existing = await service.loadPersona({
|
|
61
|
+
personaName: validatedArgs.personaName
|
|
62
|
+
});
|
|
63
|
+
if (existing) {
|
|
64
|
+
return createErrorResult(`Persona "${validatedArgs.personaName}" already exists`);
|
|
65
|
+
}
|
|
66
|
+
// Create default profile
|
|
67
|
+
const newProfile = createDefaultProfile(validatedArgs.personaName, new Date().toISOString(), validatedArgs.data?.description, validatedArgs.data?.style);
|
|
68
|
+
await service.createPersona({
|
|
69
|
+
personaName: validatedArgs.personaName,
|
|
70
|
+
profile: newProfile
|
|
71
|
+
});
|
|
72
|
+
return createSuccessResult(`Created persona "${validatedArgs.personaName}"`);
|
|
73
|
+
}
|
|
74
|
+
case 'update': {
|
|
75
|
+
if (!validatedArgs.personaName) {
|
|
76
|
+
return createErrorResult('personaName is required for update operation');
|
|
77
|
+
}
|
|
78
|
+
if (!validatedArgs.data) {
|
|
79
|
+
return createErrorResult('data is required for update operation');
|
|
80
|
+
}
|
|
81
|
+
// Parse the structured updates from the user input
|
|
82
|
+
const data = validatedArgs.data;
|
|
83
|
+
// Check if this is a name change request
|
|
84
|
+
if (data.name &&
|
|
85
|
+
typeof data.name === 'string' &&
|
|
86
|
+
data.name !== validatedArgs.personaName) {
|
|
87
|
+
await service.renamePersona({
|
|
88
|
+
personaName: validatedArgs.personaName,
|
|
89
|
+
newPersonaName: data.name,
|
|
90
|
+
});
|
|
91
|
+
return createSuccessResult(`Renamed persona from "${validatedArgs.personaName}" to "${data.name}"`);
|
|
92
|
+
}
|
|
93
|
+
// Always evaluate for learning opportunities first
|
|
94
|
+
const learningEvaluation = PersonaLearningService.evaluateUpdateForLearning(data, context);
|
|
95
|
+
let insightsUpdated = false;
|
|
96
|
+
if (learningEvaluation.hasLearning && learningEvaluation.extractedLearning) {
|
|
97
|
+
context.logger.info(`Learning opportunity detected for persona "${validatedArgs.personaName}"`, {
|
|
98
|
+
learningType: learningEvaluation.learningType,
|
|
99
|
+
confidence: learningEvaluation.confidence,
|
|
100
|
+
extractedLearning: learningEvaluation.extractedLearning,
|
|
101
|
+
});
|
|
102
|
+
// Update the insights file directly with extracted learning
|
|
103
|
+
await service.updateInsights({
|
|
104
|
+
personaName: validatedArgs.personaName,
|
|
105
|
+
insights: learningEvaluation.extractedLearning,
|
|
106
|
+
});
|
|
107
|
+
insightsUpdated = true;
|
|
108
|
+
}
|
|
109
|
+
// Handle profile content updates
|
|
110
|
+
let profileUpdated = false;
|
|
111
|
+
if (data.profile && typeof data.profile === 'string') {
|
|
112
|
+
await service.savePersona({
|
|
113
|
+
personaName: validatedArgs.personaName,
|
|
114
|
+
profile: data.profile
|
|
115
|
+
});
|
|
116
|
+
profileUpdated = true;
|
|
117
|
+
}
|
|
118
|
+
// Build response message based on what was updated
|
|
119
|
+
const updatedItems = [];
|
|
120
|
+
if (insightsUpdated) {
|
|
121
|
+
updatedItems.push(`${learningEvaluation.learningType} (confidence: ${learningEvaluation.confidence?.toFixed(1)})`);
|
|
122
|
+
}
|
|
123
|
+
if (profileUpdated) {
|
|
124
|
+
updatedItems.push('profile');
|
|
125
|
+
}
|
|
126
|
+
if (updatedItems.length > 0) {
|
|
127
|
+
return createSuccessResult(`Updated persona "${validatedArgs.personaName}": ${updatedItems.join(', ')}`);
|
|
128
|
+
}
|
|
129
|
+
// If no recognized structured update, fall back to old append behavior
|
|
130
|
+
const updates = JSON.stringify(data, null, 2);
|
|
131
|
+
const existingPersona = await service.loadPersona({
|
|
132
|
+
personaName: validatedArgs.personaName
|
|
133
|
+
});
|
|
134
|
+
if (!existingPersona) {
|
|
135
|
+
return createErrorResult(`Persona "${validatedArgs.personaName}" not found`);
|
|
136
|
+
}
|
|
137
|
+
// Get the profile as string for backward compatibility
|
|
138
|
+
const profileString = typeof existingPersona.profile === 'string'
|
|
139
|
+
? existingPersona.profile
|
|
140
|
+
: 'No profile content';
|
|
141
|
+
// For now, just return the existing profile with updates applied
|
|
142
|
+
const updatedProfile = profileString + '\n\n## Updates\n' + JSON.stringify(updates, null, 2);
|
|
143
|
+
await service.savePersona({
|
|
144
|
+
personaName: validatedArgs.personaName,
|
|
145
|
+
profile: updatedProfile
|
|
146
|
+
});
|
|
147
|
+
return createSuccessResult(`Updated persona "${validatedArgs.personaName}" profile (fallback)`);
|
|
148
|
+
}
|
|
149
|
+
case 'archive': {
|
|
150
|
+
if (!validatedArgs.personaName) {
|
|
151
|
+
return createErrorResult('personaName is required for archive operation');
|
|
152
|
+
}
|
|
153
|
+
// Extract archiveReason from data if provided
|
|
154
|
+
const archiveReason = validatedArgs.data?.reason;
|
|
155
|
+
await service.archivePersona({
|
|
156
|
+
personaName: validatedArgs.personaName,
|
|
157
|
+
reason: archiveReason,
|
|
158
|
+
});
|
|
159
|
+
return createSuccessResult(`Archived persona "${validatedArgs.personaName}"`);
|
|
160
|
+
}
|
|
161
|
+
case 'show': {
|
|
162
|
+
if (!validatedArgs.personaName) {
|
|
163
|
+
return createErrorResult('personaName is required for show operation');
|
|
164
|
+
}
|
|
165
|
+
const persona = await service.loadPersona({
|
|
166
|
+
personaName: validatedArgs.personaName
|
|
167
|
+
});
|
|
168
|
+
if (!persona) {
|
|
169
|
+
return createErrorResult(`Persona "${validatedArgs.personaName}" not found`);
|
|
170
|
+
}
|
|
171
|
+
const files = await service.listPersonaFiles({
|
|
172
|
+
personaName: validatedArgs.personaName
|
|
173
|
+
});
|
|
174
|
+
// Format using the Persona module
|
|
175
|
+
const formattedPersona = formatPersona(persona?.profile || null, validatedArgs.personaName);
|
|
176
|
+
let response = `Persona: ${validatedArgs.personaName}\n`;
|
|
177
|
+
response += `Files: ${files.length}\n\n`;
|
|
178
|
+
response += `Profile:\n${formattedPersona}`;
|
|
179
|
+
return createSuccessResult(response);
|
|
180
|
+
}
|
|
181
|
+
default:
|
|
182
|
+
return createErrorResult(`Unknown operation: ${validatedArgs.operation}`);
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
catch (error) {
|
|
186
|
+
if (error instanceof z.ZodError) {
|
|
187
|
+
return createErrorResult(`Invalid arguments: ${error.errors.map((e) => e.message).join(', ')}`);
|
|
188
|
+
}
|
|
189
|
+
return createErrorResult(error instanceof Error ? error.message : 'Unknown error occurred');
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
//# sourceMappingURL=persona.tool.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"persona.tool.js","sourceRoot":"","sources":["../../../src/tools/persona/persona.tool.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type ToolResult } from '../index.js';
|
|
2
|
+
import type { RequestContext } from '../../types/request-context.js';
|
|
3
|
+
import { Tool as MCPTool } from '@modelcontextprotocol/sdk/types.js';
|
|
4
|
+
export declare function clearWatcherInstance(): void;
|
|
5
|
+
export declare class PlanTool {
|
|
6
|
+
static getToolDefinition(): MCPTool;
|
|
7
|
+
static execute(args: Record<string, unknown>, context: RequestContext): Promise<ToolResult>;
|
|
8
|
+
private static handleAccept;
|
|
9
|
+
private static handleUpdate;
|
|
10
|
+
private static handleStatus;
|
|
11
|
+
private static handleReport;
|
|
12
|
+
private static handleList;
|
|
13
|
+
private static handleArchive;
|
|
14
|
+
private static handleSwitch;
|
|
15
|
+
private static handleWatch;
|
|
16
|
+
private static handleStopWatch;
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=plan.tool.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"plan.tool.d.ts","sourceRoot":"","sources":["../../../src/tools/plan/plan.tool.ts"],"names":[],"mappings":"AACA,OAAO,EAA0C,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AACtF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AACrE,OAAO,EAAE,IAAI,IAAI,OAAO,EAAE,MAAM,oCAAoC,CAAC;AA6ErE,wBAAgB,oBAAoB,SAEnC;AAED,qBAAa,QAAQ;IACnB,MAAM,CAAC,iBAAiB,IAAI,OAAO;WAiJtB,OAAO,CAClB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,OAAO,EAAE,cAAc,GACtB,OAAO,CAAC,UAAU,CAAC;mBA2CD,YAAY;mBAkIZ,YAAY;mBAqDZ,YAAY;mBA0DZ,YAAY;mBAoCZ,UAAU;mBAoEV,aAAa;mBA8Cb,YAAY;mBAuCZ,WAAW;mBAqDX,eAAe;CAyBrC"}
|