@magic-ingredients/tiny-brain-local 0.6.0 → 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/README.md +4 -4
- package/dist/cli/cli-factory.d.ts.map +1 -1
- package/dist/cli/cli-factory.js +27 -1
- package/dist/cli/cli-factory.js.map +1 -1
- package/dist/cli/commands/config.command.d.ts +17 -0
- package/dist/cli/commands/config.command.d.ts.map +1 -0
- package/dist/cli/commands/config.command.js +117 -0
- package/dist/cli/commands/config.command.js.map +1 -0
- package/dist/cli/commands/status.command.d.ts +7 -1
- package/dist/cli/commands/status.command.d.ts.map +1 -1
- package/dist/cli/commands/status.command.js +273 -12
- package/dist/cli/commands/status.command.js.map +1 -1
- package/dist/cli/installers/claude-code-installer.d.ts.map +1 -1
- package/dist/cli/installers/claude-code-installer.js +22 -1
- package/dist/cli/installers/claude-code-installer.js.map +1 -1
- package/dist/cli/installers/installer-factory.d.ts.map +1 -1
- package/dist/cli/installers/installer-factory.js +10 -9
- package/dist/cli/installers/installer-factory.js.map +1 -1
- package/dist/cli/utils/system-info.d.ts +20 -0
- package/dist/cli/utils/system-info.d.ts.map +1 -0
- package/dist/cli/utils/system-info.js +90 -0
- package/dist/cli/utils/system-info.js.map +1 -0
- package/dist/core/mcp-server.d.ts +51 -3
- package/dist/core/mcp-server.d.ts.map +1 -1
- package/dist/core/mcp-server.js +306 -44
- package/dist/core/mcp-server.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +113 -29
- package/dist/index.js.map +1 -1
- package/dist/prompts/persona/persona.prompt.d.ts.map +1 -1
- package/dist/prompts/persona/persona.prompt.js +12 -13
- package/dist/prompts/persona/persona.prompt.js.map +1 -1
- package/dist/services/credential-storage.service.d.ts +26 -0
- package/dist/services/credential-storage.service.d.ts.map +1 -0
- package/dist/services/credential-storage.service.js +149 -0
- package/dist/services/credential-storage.service.js.map +1 -0
- package/dist/services/enhanced-persona-service.d.ts +22 -0
- package/dist/services/enhanced-persona-service.d.ts.map +1 -0
- package/dist/services/enhanced-persona-service.js +174 -0
- package/dist/services/enhanced-persona-service.js.map +1 -0
- package/dist/services/plan-watcher.service.d.ts.map +1 -1
- package/dist/services/plan-watcher.service.js +5 -0
- package/dist/services/plan-watcher.service.js.map +1 -1
- package/dist/services/remote/auth-token-service.d.ts +55 -0
- package/dist/services/remote/auth-token-service.d.ts.map +1 -0
- package/dist/services/remote/auth-token-service.js +188 -0
- package/dist/services/remote/auth-token-service.js.map +1 -0
- package/dist/services/remote/persona-sync-service.d.ts +131 -0
- package/dist/services/remote/persona-sync-service.d.ts.map +1 -0
- package/dist/services/remote/persona-sync-service.js +560 -0
- package/dist/services/remote/persona-sync-service.js.map +1 -0
- package/dist/services/remote/system-persona-service.d.ts +43 -0
- package/dist/services/remote/system-persona-service.d.ts.map +1 -0
- package/dist/services/remote/system-persona-service.js +261 -0
- package/dist/services/remote/system-persona-service.js.map +1 -0
- package/dist/tools/persona/as.tool.d.ts +6 -2
- package/dist/tools/persona/as.tool.d.ts.map +1 -1
- package/dist/tools/persona/as.tool.js +146 -87
- package/dist/tools/persona/as.tool.js.map +1 -1
- package/dist/tools/persona/persona.tool.d.ts.map +1 -1
- package/dist/tools/persona/persona.tool.js +20 -6
- package/dist/tools/persona/persona.tool.js.map +1 -1
- package/dist/types/local-context.d.ts +17 -0
- package/dist/types/local-context.d.ts.map +1 -0
- package/dist/types/local-context.js +7 -0
- package/dist/types/local-context.js.map +1 -0
- package/package.json +54 -5
package/dist/core/mcp-server.js
CHANGED
|
@@ -3,12 +3,17 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Simplified MCP server for local execution without deployment complexity
|
|
5
5
|
*/
|
|
6
|
+
import * as path from 'path';
|
|
6
7
|
import { Server as McpServer } from '@modelcontextprotocol/sdk/server/index.js';
|
|
7
8
|
import { ListToolsRequestSchema, CallToolRequestSchema, ListPromptsRequestSchema, GetPromptRequestSchema, SetLevelRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
|
|
9
|
+
import { AuthTokenService } from '../services/remote/auth-token-service.js';
|
|
10
|
+
import { CredentialStorageService } from '../services/credential-storage.service.js';
|
|
11
|
+
import { SystemPersonaService } from '../services/remote/system-persona-service.js';
|
|
8
12
|
import { LocalFilesystemStorageAdapter } from '../storage/local-filesystem-adapter.js';
|
|
9
13
|
import { FileLogger } from './file-logger.js';
|
|
10
14
|
import { ToolRegistry } from '../tools/tool-registry.js';
|
|
11
15
|
import { PromptRegistry } from '../prompts/prompt-registry.js';
|
|
16
|
+
import { PlanWatcherService } from '../services/plan-watcher.service.js';
|
|
12
17
|
/**
|
|
13
18
|
* MCP Server for local execution
|
|
14
19
|
*/
|
|
@@ -22,26 +27,58 @@ export class MCPServer {
|
|
|
22
27
|
userId = 'local-user';
|
|
23
28
|
personaChangeListeners = [];
|
|
24
29
|
instanceId = `mcp-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
|
|
30
|
+
planWatcher = null;
|
|
31
|
+
baseContext;
|
|
32
|
+
authToken;
|
|
33
|
+
authTokenService;
|
|
25
34
|
constructor(config = {}) {
|
|
35
|
+
// Extract dataDir and logLevel for backward compatibility
|
|
36
|
+
// DXT passes config as uppercase env vars
|
|
37
|
+
const dataDir = config.debug?.dataDir || process.env.DATADIR || process.env.TINY_BRAIN_DATA_DIR || '~/.tiny-brain';
|
|
38
|
+
const logLevel = config.debug?.logLevel || (process.env.LOGLEVEL || process.env.LOG_LEVEL) || 'info';
|
|
26
39
|
this.config = {
|
|
27
|
-
name: 'tiny-brain-local',
|
|
28
|
-
version: '0.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
40
|
+
name: config.name || 'tiny-brain-local',
|
|
41
|
+
version: config.version || '0.0.0',
|
|
42
|
+
autoStartWatch: config.autoStartWatch !== undefined
|
|
43
|
+
? config.autoStartWatch
|
|
44
|
+
: (process.env.AUTOSTARTWATCH !== 'false' && process.env.TINY_BRAIN_AUTO_START_WATCH !== 'false'),
|
|
45
|
+
account: {
|
|
46
|
+
clientId: config.account?.clientId,
|
|
47
|
+
clientSecret: config.account?.clientSecret,
|
|
48
|
+
},
|
|
49
|
+
debug: {
|
|
50
|
+
dataDir,
|
|
51
|
+
logLevel,
|
|
52
|
+
},
|
|
32
53
|
...config,
|
|
33
54
|
};
|
|
34
55
|
// Create logger - file logger for local (stdio transport requires no console output)
|
|
56
|
+
// Resolve data directory for log file
|
|
57
|
+
let resolvedDataDir = dataDir;
|
|
58
|
+
if (resolvedDataDir.startsWith('~')) {
|
|
59
|
+
const homeDir = process.env.HOME || process.env.USERPROFILE || '';
|
|
60
|
+
resolvedDataDir = homeDir + resolvedDataDir.slice(1);
|
|
61
|
+
}
|
|
35
62
|
this.logger = new FileLogger({
|
|
36
|
-
|
|
63
|
+
logFilePath: path.join(resolvedDataDir, 'debug.log'),
|
|
64
|
+
logLevel: this.config.debug?.logLevel || 'info',
|
|
37
65
|
enabled: true,
|
|
38
66
|
});
|
|
39
67
|
// Create storage - always local filesystem for local package
|
|
40
68
|
this.storage = new LocalFilesystemStorageAdapter({
|
|
41
|
-
baseDir: this.config.dataDir,
|
|
69
|
+
baseDir: this.config.debug?.dataDir || '~/.tiny-brain',
|
|
42
70
|
});
|
|
43
71
|
// Generate session ID
|
|
44
72
|
this.sessionId = `local-${Date.now()}-${Math.random().toString(36).substring(2, 9)}`;
|
|
73
|
+
// Create base context that will be reused throughout the server
|
|
74
|
+
this.baseContext = {
|
|
75
|
+
userId: this.userId,
|
|
76
|
+
sessionId: this.sessionId,
|
|
77
|
+
storage: this.storage,
|
|
78
|
+
logger: this.logger,
|
|
79
|
+
requestId: `server-${Date.now()}`, // Will be overridden per request
|
|
80
|
+
timestamp: new Date()
|
|
81
|
+
};
|
|
45
82
|
// Create MCP server instance
|
|
46
83
|
this.server = new McpServer({
|
|
47
84
|
name: this.config.name,
|
|
@@ -72,46 +109,268 @@ export class MCPServer {
|
|
|
72
109
|
getConfig() {
|
|
73
110
|
return this.config;
|
|
74
111
|
}
|
|
112
|
+
/**
|
|
113
|
+
* Get the auth token service for testing
|
|
114
|
+
*/
|
|
115
|
+
getAuthTokenService() {
|
|
116
|
+
return this.authTokenService;
|
|
117
|
+
}
|
|
75
118
|
/**
|
|
76
119
|
* Initialize the server
|
|
77
120
|
*/
|
|
78
121
|
async initialize() {
|
|
79
122
|
this.logger.info('Initializing Local MCP Server', {
|
|
80
|
-
dataDir: this.config.dataDir,
|
|
81
|
-
logLevel: this.config.logLevel,
|
|
123
|
+
dataDir: this.config.debug?.dataDir,
|
|
124
|
+
logLevel: this.config.debug?.logLevel,
|
|
125
|
+
configAccount: this.config.account ? 'present' : 'missing'
|
|
82
126
|
});
|
|
83
127
|
try {
|
|
84
|
-
//
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
128
|
+
// Phase 0: Resolve authentication credentials (Config → File → Env)
|
|
129
|
+
this.logger.info('Starting credential resolution phase');
|
|
130
|
+
await this.resolveAuthCredentials();
|
|
131
|
+
this.logger.info('Credential resolution complete');
|
|
132
|
+
// Phase 1: Initialize storage
|
|
133
|
+
await this.initializeStorage();
|
|
134
|
+
// Phase 2: Initialize remote authentication
|
|
135
|
+
await this.initializeRemoteAuth();
|
|
136
|
+
// Phase 3: Initialize local personas
|
|
137
|
+
await this.initializePersonas();
|
|
138
|
+
// Phase 4: Initialize remote personas (sync)
|
|
139
|
+
await this.initializeRemotePersonas();
|
|
140
|
+
// Phase 5: Start plan watcher if configured
|
|
141
|
+
await this.initializePlanWatcher();
|
|
142
|
+
}
|
|
143
|
+
catch (error) {
|
|
144
|
+
this.logger.error('Failed to initialize MCP server', error);
|
|
145
|
+
throw error;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
/**
|
|
149
|
+
* Load and resolve credentials with clear precedence
|
|
150
|
+
*
|
|
151
|
+
* Resolution order:
|
|
152
|
+
* 1. MCP Config (from Claude Desktop) - highest priority
|
|
153
|
+
* 2. Encrypted local storage file - medium priority
|
|
154
|
+
* 3. Environment variables - fallback
|
|
155
|
+
*/
|
|
156
|
+
async resolveAuthCredentials() {
|
|
157
|
+
this.logger.info('Resolving authentication credentials...');
|
|
158
|
+
// Step 1: Check if credentials are provided via MCP config (Claude Desktop)
|
|
159
|
+
const hasConfigCredentials = !!(this.config.account?.clientId && this.config.account?.clientSecret);
|
|
160
|
+
if (hasConfigCredentials) {
|
|
161
|
+
this.logger.info('✓ Using credentials from MCP config (Claude Desktop)');
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
// Step 2: No config credentials - try loading from encrypted file
|
|
165
|
+
this.logger.debug('No MCP config credentials found, checking encrypted storage...');
|
|
166
|
+
try {
|
|
167
|
+
const credentialService = new CredentialStorageService();
|
|
168
|
+
const storedCredentials = await credentialService.getCredentials();
|
|
169
|
+
if (storedCredentials?.clientId && storedCredentials?.clientSecret) {
|
|
170
|
+
// Initialize account object if needed
|
|
171
|
+
if (!this.config.account) {
|
|
172
|
+
this.config.account = {};
|
|
103
173
|
}
|
|
174
|
+
// Use stored credentials
|
|
175
|
+
this.config.account.clientId = storedCredentials.clientId;
|
|
176
|
+
this.config.account.clientSecret = storedCredentials.clientSecret;
|
|
177
|
+
this.logger.info('✓ Using credentials from encrypted local storage');
|
|
178
|
+
return;
|
|
104
179
|
}
|
|
105
|
-
|
|
106
|
-
this.logger.warn('
|
|
107
|
-
|
|
180
|
+
else if (storedCredentials?.clientId || storedCredentials?.clientSecret) {
|
|
181
|
+
this.logger.warn('Incomplete credentials in encrypted storage');
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
this.logger.debug('No credentials found in encrypted storage');
|
|
108
185
|
}
|
|
109
186
|
}
|
|
187
|
+
catch (error) {
|
|
188
|
+
this.logger.warn('Failed to load encrypted credentials', error);
|
|
189
|
+
}
|
|
190
|
+
// Step 3: Fall back to environment variables
|
|
191
|
+
this.logger.debug('Checking environment variables for credentials...');
|
|
192
|
+
const envClientId = process.env.CLIENTID || process.env.TINY_BRAIN_CLIENT_ID;
|
|
193
|
+
const envClientSecret = process.env.CLIENTSECRET || process.env.TINY_BRAIN_CLIENT_SECRET;
|
|
194
|
+
if (envClientId || envClientSecret) {
|
|
195
|
+
if (!this.config.account) {
|
|
196
|
+
this.config.account = {};
|
|
197
|
+
}
|
|
198
|
+
if (envClientId) {
|
|
199
|
+
this.config.account.clientId = envClientId;
|
|
200
|
+
}
|
|
201
|
+
if (envClientSecret) {
|
|
202
|
+
this.config.account.clientSecret = envClientSecret;
|
|
203
|
+
}
|
|
204
|
+
this.logger.info('✓ Using credentials from environment variables');
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
this.logger.info('ℹ No credentials found. Use "tiny-brain config set" to store credentials.');
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
/**
|
|
211
|
+
* Initialize storage
|
|
212
|
+
*/
|
|
213
|
+
async initializeStorage() {
|
|
214
|
+
this.logger.info('Initializing user storage...');
|
|
215
|
+
try {
|
|
216
|
+
await this.storage.initializeUserStorage(this.userId);
|
|
217
|
+
this.logger.info('User storage initialized successfully');
|
|
218
|
+
}
|
|
110
219
|
catch (error) {
|
|
111
220
|
this.logger.error('Failed to initialize storage', error);
|
|
112
221
|
throw error;
|
|
113
222
|
}
|
|
114
223
|
}
|
|
224
|
+
/**
|
|
225
|
+
* Initialize remote authentication
|
|
226
|
+
*/
|
|
227
|
+
async initializeRemoteAuth() {
|
|
228
|
+
// Check for remote auth credentials
|
|
229
|
+
if (!this.config.account?.clientId || !this.config.account?.clientSecret) {
|
|
230
|
+
this.logger.info('No remote credentials configured, running in local-only mode');
|
|
231
|
+
return;
|
|
232
|
+
}
|
|
233
|
+
this.logger.info('Initializing remote authentication...', {
|
|
234
|
+
hasClientId: !!this.config.account?.clientId,
|
|
235
|
+
clientIdPreview: this.config.account?.clientId ?
|
|
236
|
+
this.config.account.clientId.substring(0, 15) + '...' : 'none'
|
|
237
|
+
});
|
|
238
|
+
try {
|
|
239
|
+
// Create auth service with context and config
|
|
240
|
+
this.authTokenService = new AuthTokenService(this.baseContext, this.config);
|
|
241
|
+
const token = await this.authTokenService.authenticate();
|
|
242
|
+
if (token) {
|
|
243
|
+
this.logger.info('Successfully authenticated with tiny-brain service', {
|
|
244
|
+
expiresIn: token.expiresIn,
|
|
245
|
+
tokenPreview: token.token.substring(0, 20) + '...'
|
|
246
|
+
});
|
|
247
|
+
// Store the token for use by services that need remote access
|
|
248
|
+
this.authToken = token;
|
|
249
|
+
}
|
|
250
|
+
else {
|
|
251
|
+
// authenticate() already logged the specific reason
|
|
252
|
+
this.logger.info('Continuing in local-only mode - authentication returned null');
|
|
253
|
+
this.authToken = undefined;
|
|
254
|
+
}
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
this.logger.error('Unexpected error during remote authentication', error);
|
|
258
|
+
// Continue in local mode - don't fail the entire initialization
|
|
259
|
+
}
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Initialize local personas
|
|
263
|
+
*/
|
|
264
|
+
async initializePersonas() {
|
|
265
|
+
this.logger.info('Initializing personas...');
|
|
266
|
+
try {
|
|
267
|
+
const personas = await this.storage.listPersonas();
|
|
268
|
+
this.logger.info(`Found ${personas.length} existing personas`);
|
|
269
|
+
if (personas.length > 0) {
|
|
270
|
+
this.activePersona = personas[0];
|
|
271
|
+
this.logger.info(`Loaded default persona: ${this.activePersona}`);
|
|
272
|
+
}
|
|
273
|
+
else {
|
|
274
|
+
// Create default persona
|
|
275
|
+
await this.createDefaultPersona();
|
|
276
|
+
}
|
|
277
|
+
}
|
|
278
|
+
catch (error) {
|
|
279
|
+
this.logger.warn('Could not load personas, creating default', error);
|
|
280
|
+
await this.createDefaultPersona();
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
/**
|
|
284
|
+
* Create default persona
|
|
285
|
+
*/
|
|
286
|
+
async createDefaultPersona() {
|
|
287
|
+
try {
|
|
288
|
+
await this.storage.storePersonaFile('default', 'profile.json', JSON.stringify({
|
|
289
|
+
id: 'default',
|
|
290
|
+
name: 'Default',
|
|
291
|
+
description: 'Default persona',
|
|
292
|
+
created: new Date().toISOString(),
|
|
293
|
+
}, null, 2), this.userId);
|
|
294
|
+
this.activePersona = 'default';
|
|
295
|
+
this.logger.info('Created default persona');
|
|
296
|
+
}
|
|
297
|
+
catch (error) {
|
|
298
|
+
this.logger.error('Failed to create default persona', error);
|
|
299
|
+
// Set default anyway to continue
|
|
300
|
+
this.activePersona = 'default';
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
/**
|
|
304
|
+
* Initialize remote personas (just verify connection, don't sync)
|
|
305
|
+
*/
|
|
306
|
+
async initializeRemotePersonas() {
|
|
307
|
+
// Only check if we have authentication
|
|
308
|
+
if (!this.authToken) {
|
|
309
|
+
this.logger.debug('Skipping remote persona check - not authenticated');
|
|
310
|
+
return;
|
|
311
|
+
}
|
|
312
|
+
this.logger.info('Checking remote persona availability...');
|
|
313
|
+
try {
|
|
314
|
+
// Create context with auth token for the system persona service
|
|
315
|
+
const context = {
|
|
316
|
+
...this.baseContext,
|
|
317
|
+
authToken: this.authToken,
|
|
318
|
+
config: this.config,
|
|
319
|
+
};
|
|
320
|
+
// Just check if we can connect and fetch personas (don't sync them locally)
|
|
321
|
+
const systemPersonaService = new SystemPersonaService(context);
|
|
322
|
+
if (systemPersonaService.isAuthenticated()) {
|
|
323
|
+
const personas = await systemPersonaService.fetchSystemPersonas();
|
|
324
|
+
this.logger.info(`Remote service has ${personas.length} system personas available`);
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
this.logger.info('Remote persona service not authenticated');
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
catch (error) {
|
|
331
|
+
this.logger.warn('Failed to check remote personas', error);
|
|
332
|
+
// Continue without remote personas - this is optional
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
/**
|
|
336
|
+
* Initialize plan watcher
|
|
337
|
+
*/
|
|
338
|
+
async initializePlanWatcher() {
|
|
339
|
+
if (!this.config.autoStartWatch) {
|
|
340
|
+
this.logger.debug('Plan watcher auto-start disabled');
|
|
341
|
+
return;
|
|
342
|
+
}
|
|
343
|
+
// Add a small delay to ensure server is fully initialized
|
|
344
|
+
setTimeout(async () => {
|
|
345
|
+
try {
|
|
346
|
+
this.logger.info('Auto-starting plan watcher dashboard...');
|
|
347
|
+
// Create minimal context for the plan watcher
|
|
348
|
+
// We cast as 'any' since plan watcher only needs logger and storage
|
|
349
|
+
const context = {
|
|
350
|
+
logger: this.logger,
|
|
351
|
+
storage: this.storage,
|
|
352
|
+
personaChangeListeners: this.personaChangeListeners,
|
|
353
|
+
getCurrentActivePersona: () => this.activePersona || 'default',
|
|
354
|
+
};
|
|
355
|
+
// Create and start the plan watcher
|
|
356
|
+
this.planWatcher = new PlanWatcherService(context);
|
|
357
|
+
const result = await this.planWatcher.start({
|
|
358
|
+
port: 8765,
|
|
359
|
+
autoOpen: false, // Don't auto-open browser on server start
|
|
360
|
+
});
|
|
361
|
+
if (result.success) {
|
|
362
|
+
this.logger.info(`Plan watcher dashboard started at ${result.data?.url}`);
|
|
363
|
+
}
|
|
364
|
+
else {
|
|
365
|
+
this.logger.warn('Failed to auto-start plan watcher:', result.error?.message || result.error);
|
|
366
|
+
}
|
|
367
|
+
}
|
|
368
|
+
catch (error) {
|
|
369
|
+
this.logger.warn('Error auto-starting plan watcher:', error instanceof Error ? error.message : error);
|
|
370
|
+
// Don't throw - this is optional functionality
|
|
371
|
+
}
|
|
372
|
+
}, 1000); // 1 second delay
|
|
373
|
+
}
|
|
115
374
|
/**
|
|
116
375
|
* Connect to transport
|
|
117
376
|
*/
|
|
@@ -124,6 +383,16 @@ export class MCPServer {
|
|
|
124
383
|
*/
|
|
125
384
|
async shutdown() {
|
|
126
385
|
this.logger.info('Shutting down Local MCP Server');
|
|
386
|
+
// Stop plan watcher if running
|
|
387
|
+
if (this.planWatcher) {
|
|
388
|
+
try {
|
|
389
|
+
await this.planWatcher.stop();
|
|
390
|
+
this.logger.info('Plan watcher stopped');
|
|
391
|
+
}
|
|
392
|
+
catch (error) {
|
|
393
|
+
this.logger.warn('Error stopping plan watcher:', error);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
127
396
|
await this.server.close();
|
|
128
397
|
}
|
|
129
398
|
// Tool handlers
|
|
@@ -146,17 +415,14 @@ export class MCPServer {
|
|
|
146
415
|
}
|
|
147
416
|
} : undefined;
|
|
148
417
|
const context = {
|
|
149
|
-
|
|
418
|
+
...this.baseContext,
|
|
150
419
|
userId: (typeof args?.userId === 'string' ? args.userId : undefined) || this.userId,
|
|
151
|
-
storage: this.storage,
|
|
152
|
-
logger: this.logger.child(name),
|
|
153
420
|
input: args || {},
|
|
154
|
-
conversationId: `conv-${this.sessionId}`,
|
|
155
|
-
enhancementActive: false,
|
|
156
421
|
requestId: `req-${Date.now()}`,
|
|
157
422
|
timestamp: new Date(),
|
|
158
|
-
deploymentMode: 'local',
|
|
159
423
|
activePersona,
|
|
424
|
+
authToken: this.authToken,
|
|
425
|
+
config: this.config,
|
|
160
426
|
updateActivePersona: (persona) => {
|
|
161
427
|
const newPersonaId = persona?.id || 'default';
|
|
162
428
|
this.activePersona = newPersonaId;
|
|
@@ -235,17 +501,13 @@ export class MCPServer {
|
|
|
235
501
|
}
|
|
236
502
|
} : undefined;
|
|
237
503
|
const context = {
|
|
238
|
-
|
|
239
|
-
userId: this.userId,
|
|
240
|
-
storage: this.storage,
|
|
241
|
-
logger: this.logger.child(`prompt:${name}`),
|
|
504
|
+
...this.baseContext,
|
|
242
505
|
input: args || {},
|
|
243
|
-
conversationId: `conv-${this.sessionId}`,
|
|
244
|
-
enhancementActive: false,
|
|
245
506
|
requestId: `req-${Date.now()}`,
|
|
246
507
|
timestamp: new Date(),
|
|
247
|
-
deploymentMode: 'local',
|
|
248
508
|
activePersona,
|
|
509
|
+
authToken: this.authToken,
|
|
510
|
+
config: this.config,
|
|
249
511
|
updateActivePersona: (persona) => {
|
|
250
512
|
const newPersonaId = persona?.id || 'default';
|
|
251
513
|
this.activePersona = newPersonaId;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/core/mcp-server.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjF,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACtE,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAGjE,YAAY,EACV,wBAAwB,EACxB,MAAM,EACN,QAAQ,EACT,MAAM,oCAAoC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -6,39 +6,123 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
|
|
8
8
|
import { MCPServer } from './core/mcp-server.js';
|
|
9
|
+
import { readFileSync, appendFileSync, existsSync, mkdirSync } from 'fs';
|
|
10
|
+
import { fileURLToPath } from 'url';
|
|
11
|
+
import { dirname, join } from 'path';
|
|
12
|
+
import { homedir } from 'os';
|
|
9
13
|
// Export types and registries for use by other packages
|
|
10
14
|
export { ToolRegistry } from './tools/tool-registry.js';
|
|
11
15
|
export { PromptRegistry } from './prompts/prompt-registry.js';
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Startup logging that writes to both stderr and debug.log
|
|
18
|
+
* This ensures we can debug issues even when the main logger hasn't initialized
|
|
19
|
+
*/
|
|
20
|
+
function startupLog(message, data) {
|
|
21
|
+
message = `(startup) ${message}`;
|
|
22
|
+
const timestamp = new Date().toISOString();
|
|
23
|
+
const logEntry = {
|
|
24
|
+
timestamp,
|
|
25
|
+
level: 'DEBUG',
|
|
26
|
+
pid: process.pid,
|
|
27
|
+
message,
|
|
28
|
+
...(data && { data })
|
|
29
|
+
};
|
|
30
|
+
// Always log to stderr for debugging
|
|
31
|
+
console.error(`[tiny-brain-startup] ${message}`, data ? JSON.stringify(data) : '');
|
|
32
|
+
// Try to log to file
|
|
33
|
+
try {
|
|
34
|
+
let dataDir = process.env.DATADIR || process.env.TINY_BRAIN_DATA_DIR || '~/.tiny-brain';
|
|
35
|
+
// Expand ~ to home directory
|
|
36
|
+
if (dataDir.startsWith('~')) {
|
|
37
|
+
dataDir = join(homedir(), dataDir.slice(1));
|
|
38
|
+
}
|
|
39
|
+
const logPath = join(dataDir, 'debug.log');
|
|
40
|
+
// Ensure directory exists
|
|
41
|
+
if (!existsSync(dataDir)) {
|
|
42
|
+
mkdirSync(dataDir, { recursive: true });
|
|
43
|
+
}
|
|
44
|
+
// Append to log file
|
|
45
|
+
appendFileSync(logPath, JSON.stringify(logEntry) + '\n');
|
|
46
|
+
}
|
|
47
|
+
catch (error) {
|
|
48
|
+
// If file logging fails, just continue - stderr is more important for debugging
|
|
49
|
+
console.error('[tiny-brain-startup] Failed to write to log file:', error);
|
|
50
|
+
}
|
|
34
51
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
52
|
+
async function main() {
|
|
53
|
+
startupLog('main() function called');
|
|
54
|
+
try {
|
|
55
|
+
startupLog('Fetching package.json version...');
|
|
56
|
+
const __filename = fileURLToPath(import.meta.url);
|
|
57
|
+
const __dirname = dirname(__filename);
|
|
58
|
+
const packageJson = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf-8'));
|
|
59
|
+
const VERSION = packageJson.version;
|
|
60
|
+
startupLog('Starting server', {
|
|
61
|
+
pid: process.pid,
|
|
62
|
+
node: process.version,
|
|
63
|
+
version: VERSION,
|
|
64
|
+
args: process.argv,
|
|
65
|
+
env: process.env
|
|
66
|
+
});
|
|
67
|
+
// Create MCP server with config from environment
|
|
68
|
+
// DXT passes config as uppercase env vars prefixed with the config name
|
|
69
|
+
const server = new MCPServer({
|
|
70
|
+
name: 'tiny-brain-local',
|
|
71
|
+
version: VERSION,
|
|
72
|
+
autoStartWatch: process.env.AUTOSTARTWATCH !== 'false' && process.env.TINY_BRAIN_AUTO_START_WATCH !== 'false',
|
|
73
|
+
account: {
|
|
74
|
+
clientId: process.env.CLIENTID || process.env.TINY_BRAIN_CLIENT_ID,
|
|
75
|
+
clientSecret: process.env.CLIENTSECRET || process.env.TINY_BRAIN_CLIENT_SECRET,
|
|
76
|
+
},
|
|
77
|
+
debug: {
|
|
78
|
+
dataDir: process.env.DATADIR || process.env.TINY_BRAIN_DATA_DIR,
|
|
79
|
+
logLevel: (process.env.LOGLEVEL || process.env.LOG_LEVEL),
|
|
80
|
+
},
|
|
81
|
+
});
|
|
82
|
+
startupLog('MCPServer instance created');
|
|
83
|
+
// Initialize server
|
|
84
|
+
startupLog('Initializing server...');
|
|
85
|
+
await server.initialize();
|
|
86
|
+
startupLog('Server initialized successfully');
|
|
87
|
+
// Create and connect transport
|
|
88
|
+
startupLog('Creating StdioServerTransport...');
|
|
89
|
+
const transport = new StdioServerTransport();
|
|
90
|
+
startupLog('Connecting to transport...');
|
|
91
|
+
await server.connect(transport);
|
|
92
|
+
startupLog('Connected to transport successfully');
|
|
93
|
+
// Handle shutdown
|
|
94
|
+
process.on('SIGINT', async () => {
|
|
95
|
+
await server.shutdown();
|
|
96
|
+
process.exit(0);
|
|
97
|
+
});
|
|
98
|
+
process.on('SIGTERM', async () => {
|
|
99
|
+
await server.shutdown();
|
|
100
|
+
process.exit(0);
|
|
101
|
+
});
|
|
102
|
+
}
|
|
103
|
+
catch (error) {
|
|
104
|
+
// Log to both stderr and file for debugging
|
|
105
|
+
startupLog('Server initialization failed', {
|
|
106
|
+
error: error instanceof Error ? {
|
|
107
|
+
message: error.message,
|
|
108
|
+
stack: error.stack,
|
|
109
|
+
name: error.name
|
|
110
|
+
} : error
|
|
111
|
+
});
|
|
41
112
|
process.exit(1);
|
|
42
|
-
}
|
|
113
|
+
}
|
|
43
114
|
}
|
|
115
|
+
// Run the server - for DXT bundled version, this always runs
|
|
116
|
+
// For library usage, consumers would import specific exports instead of running this file
|
|
117
|
+
startupLog('Starting main() execution');
|
|
118
|
+
main().catch((error) => {
|
|
119
|
+
startupLog('Fatal error in main()', {
|
|
120
|
+
error: error instanceof Error ? {
|
|
121
|
+
message: error.message,
|
|
122
|
+
stack: error.stack,
|
|
123
|
+
name: error.name
|
|
124
|
+
} : error
|
|
125
|
+
});
|
|
126
|
+
process.exit(1);
|
|
127
|
+
});
|
|
44
128
|
//# sourceMappingURL=index.js.map
|