@magic-ingredients/tiny-brain-local 0.4.0 → 0.5.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.js +3 -2
- package/dist/index.js.map +1 -1
- package/dist/services/plan-watcher.service.d.ts +10 -12
- package/dist/services/plan-watcher.service.d.ts.map +1 -1
- package/dist/services/plan-watcher.service.js +348 -257
- package/dist/services/plan-watcher.service.js.map +1 -1
- package/dist/tools/plan/plan.tool.d.ts.map +1 -1
- package/dist/tools/plan/plan.tool.js +2 -1
- package/dist/tools/plan/plan.tool.js.map +1 -1
- package/package.json +3 -3
package/dist/index.js
CHANGED
|
@@ -30,8 +30,9 @@ async function main() {
|
|
|
30
30
|
});
|
|
31
31
|
}
|
|
32
32
|
// Run the server
|
|
33
|
-
main().catch((
|
|
34
|
-
console.error
|
|
33
|
+
main().catch(() => {
|
|
34
|
+
// Don't use console.error in MCP server - stdout is reserved for JSON-RPC
|
|
35
|
+
// The error will be visible in process exit code
|
|
35
36
|
process.exit(1);
|
|
36
37
|
});
|
|
37
38
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,KAAK,UAAU,IAAI;IACjB,iDAAiD;IACjD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;QACxC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAgB;KACvC,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAE1B,+BAA+B;IAC/B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,kBAAkB;IAClB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iBAAiB;AACjB,IAAI,EAAE,CAAC,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,KAAK,UAAU,IAAI;IACjB,iDAAiD;IACjD,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,OAAO;QAChB,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB;QACxC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAgB;KACvC,CAAC,CAAC;IAEH,oBAAoB;IACpB,MAAM,MAAM,CAAC,UAAU,EAAE,CAAC;IAE1B,+BAA+B;IAC/B,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,kBAAkB;IAClB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,IAAI,EAAE;QAC/B,MAAM,MAAM,CAAC,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;AACL,CAAC;AAED,iBAAiB;AACjB,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE;IAChB,0EAA0E;IAC1E,iDAAiD;IACjD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
|
|
@@ -27,19 +27,15 @@ export interface PlanWatcherStartResult {
|
|
|
27
27
|
*/
|
|
28
28
|
export declare class PlanWatcherService {
|
|
29
29
|
private server;
|
|
30
|
-
private watcher;
|
|
31
30
|
private watchInterval;
|
|
32
31
|
private port;
|
|
33
|
-
private plans;
|
|
34
32
|
private eventEmitter;
|
|
35
|
-
private activePlanId;
|
|
36
|
-
private showAll;
|
|
37
|
-
private currentViewType;
|
|
38
33
|
private context;
|
|
39
34
|
private logger;
|
|
40
35
|
private activeConnections;
|
|
41
36
|
private boundOnPersonaChanged;
|
|
42
|
-
private
|
|
37
|
+
private fileTimestamps;
|
|
38
|
+
private lastKnownPersona;
|
|
43
39
|
constructor(context: RequestContext);
|
|
44
40
|
/**
|
|
45
41
|
* Start the plan watcher dashboard
|
|
@@ -58,7 +54,7 @@ export declare class PlanWatcherService {
|
|
|
58
54
|
*/
|
|
59
55
|
getUrl(): Result<string>;
|
|
60
56
|
/**
|
|
61
|
-
* Get the current active persona ID
|
|
57
|
+
* Get the current active persona ID (stateless)
|
|
62
58
|
* Uses the callback to always get the latest persona from MCP server
|
|
63
59
|
*/
|
|
64
60
|
private getCurrentPersonaId;
|
|
@@ -68,7 +64,8 @@ export declare class PlanWatcherService {
|
|
|
68
64
|
*/
|
|
69
65
|
onPersonaChanged(newPersonaId: string): Promise<void>;
|
|
70
66
|
/**
|
|
71
|
-
* Load plans from storage using PlanningService
|
|
67
|
+
* Load plans from storage using PlanningService (stateless)
|
|
68
|
+
* Returns plans directly without storing them
|
|
72
69
|
*/
|
|
73
70
|
private loadPlans;
|
|
74
71
|
/**
|
|
@@ -76,11 +73,11 @@ export declare class PlanWatcherService {
|
|
|
76
73
|
*/
|
|
77
74
|
private startWatching;
|
|
78
75
|
/**
|
|
79
|
-
* Check for changes in plan files
|
|
76
|
+
* Check for changes in plan files
|
|
80
77
|
*/
|
|
81
78
|
private checkForChanges;
|
|
82
79
|
/**
|
|
83
|
-
* Update the file snapshot
|
|
80
|
+
* Update the file snapshot for change detection
|
|
84
81
|
*/
|
|
85
82
|
private updateFileSnapshot;
|
|
86
83
|
/**
|
|
@@ -92,7 +89,7 @@ export declare class PlanWatcherService {
|
|
|
92
89
|
*/
|
|
93
90
|
private serveDashboard;
|
|
94
91
|
/**
|
|
95
|
-
* Serve the plans list API
|
|
92
|
+
* Serve the plans list API (stateless - fetches fresh data)
|
|
96
93
|
*/
|
|
97
94
|
private servePlansApi;
|
|
98
95
|
/**
|
|
@@ -100,7 +97,8 @@ export declare class PlanWatcherService {
|
|
|
100
97
|
*/
|
|
101
98
|
private servePlanApi;
|
|
102
99
|
/**
|
|
103
|
-
* Serve the persona API
|
|
100
|
+
* Serve the persona API
|
|
101
|
+
* GET /api/persona - Get current persona and their plans
|
|
104
102
|
*/
|
|
105
103
|
private servePersonaApi;
|
|
106
104
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-watcher.service.d.ts","sourceRoot":"","sources":["../../src/services/plan-watcher.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"plan-watcher.service.d.ts","sourceRoot":"","sources":["../../src/services/plan-watcher.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAQ,MAAM,oCAAoC,CAAC;AAGvF;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;CACrB;AAOD;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAA4B;IAC1C,OAAO,CAAC,aAAa,CAA+C;IACpE,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,qBAAqB,CAA8D;IAG3F,OAAO,CAAC,cAAc,CAAkC;IAGxD,OAAO,CAAC,gBAAgB,CAAuB;gBAEnC,OAAO,EAAE,cAAc;IAMnC;;OAEG;IACG,KAAK,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAsFtF;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IA4EnC;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC;IAcxB;;;OAGG;IACH,OAAO,CAAC,mBAAmB;IAyB3B;;;OAGG;IACG,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4B3D;;;OAGG;YACW,SAAS;IAwBvB;;OAEG;YACW,aAAa;IAY3B;;OAEG;YACW,eAAe;IA2H7B;;OAEG;YACW,kBAAkB;IAyBhC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqExB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;YACW,aAAa;IAiE3B;;OAEG;YACW,YAAY;IA6C1B;;;OAGG;YACW,eAAe;IAgC7B;;OAEG;YACW,gBAAgB;IA+E9B;;OAEG;YACW,gBAAgB;IAuE9B;;OAEG;YACW,gBAAgB;IAqD9B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAsBzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAa5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAkC7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAkDzB"}
|
|
@@ -9,7 +9,6 @@ import * as fs from 'fs';
|
|
|
9
9
|
import * as path from 'path';
|
|
10
10
|
import { EventEmitter } from 'events';
|
|
11
11
|
import { fileURLToPath } from 'url';
|
|
12
|
-
import open from 'better-opn';
|
|
13
12
|
import { PlanningService } from '@magic-ingredients/tiny-brain-core';
|
|
14
13
|
/**
|
|
15
14
|
* Singleton instance tracking
|
|
@@ -20,41 +19,21 @@ let runningInstance = null;
|
|
|
20
19
|
*/
|
|
21
20
|
export class PlanWatcherService {
|
|
22
21
|
server = null;
|
|
23
|
-
watcher = null;
|
|
24
22
|
watchInterval = null;
|
|
25
23
|
port = 0;
|
|
26
|
-
plans = new Map();
|
|
27
24
|
eventEmitter = new EventEmitter();
|
|
28
|
-
activePlanId = null;
|
|
29
|
-
showAll = false;
|
|
30
|
-
currentViewType = undefined;
|
|
31
25
|
context;
|
|
32
26
|
logger;
|
|
33
27
|
activeConnections = new Set();
|
|
34
28
|
boundOnPersonaChanged = null;
|
|
35
|
-
|
|
29
|
+
// File timestamp tracking for change detection (only tracks timestamps, not content)
|
|
30
|
+
fileTimestamps = new Map();
|
|
31
|
+
// Track last known persona for change detection
|
|
32
|
+
lastKnownPersona = null;
|
|
36
33
|
constructor(context) {
|
|
37
34
|
this.context = context;
|
|
38
35
|
this.logger = context.logger;
|
|
39
|
-
this.logger.
|
|
40
|
-
this.logger.debug(`context.getCurrentActivePersona exists? ${!!context.getCurrentActivePersona}`);
|
|
41
|
-
this.logger.debug(`context.activePersona: ${JSON.stringify(context.activePersona)}`);
|
|
42
|
-
// Get current persona from context if available
|
|
43
|
-
// First try the callback, then activePersona, then default
|
|
44
|
-
if (context.getCurrentActivePersona) {
|
|
45
|
-
const callbackResult = context.getCurrentActivePersona();
|
|
46
|
-
this.logger.debug(`getCurrentActivePersona() returned: ${callbackResult}`);
|
|
47
|
-
this.currentPersona = callbackResult || 'default';
|
|
48
|
-
}
|
|
49
|
-
else if (context.activePersona?.id) {
|
|
50
|
-
this.logger.debug(`Using activePersona.id: ${context.activePersona.id}`);
|
|
51
|
-
this.currentPersona = context.activePersona.id;
|
|
52
|
-
}
|
|
53
|
-
else {
|
|
54
|
-
this.logger.debug('Falling back to default persona');
|
|
55
|
-
this.currentPersona = 'default';
|
|
56
|
-
}
|
|
57
|
-
this.logger.info(`PlanWatcherService initialized with persona: ${this.currentPersona}`);
|
|
36
|
+
this.logger.info('PlanWatcherService initialized (stateless mode)');
|
|
58
37
|
}
|
|
59
38
|
/**
|
|
60
39
|
* Start the plan watcher dashboard
|
|
@@ -75,34 +54,18 @@ export class PlanWatcherService {
|
|
|
75
54
|
error: new Error('Another plan watcher instance is already running')
|
|
76
55
|
};
|
|
77
56
|
}
|
|
78
|
-
//
|
|
79
|
-
this.logger.debug('Getting current persona before start...');
|
|
80
|
-
const previousPersona = this.currentPersona;
|
|
81
|
-
this.currentPersona = this.getCurrentPersonaId();
|
|
82
|
-
this.logger.debug(`Persona changed from ${previousPersona} to ${this.currentPersona}`);
|
|
83
|
-
this.logger.info(`Starting plan watcher with persona: ${this.currentPersona}`);
|
|
84
|
-
// Register our callback to be notified of persona changes
|
|
57
|
+
// Register persona change listener to detect changes
|
|
85
58
|
if (this.context.personaChangeListeners) {
|
|
86
|
-
// Store the bound function so we can unregister it later
|
|
87
59
|
this.boundOnPersonaChanged = this.onPersonaChanged.bind(this);
|
|
88
|
-
const lengthBefore = this.context.personaChangeListeners.length;
|
|
89
60
|
this.context.personaChangeListeners.push(this.boundOnPersonaChanged);
|
|
90
|
-
|
|
91
|
-
this.logger.info(`Watcher registered callback. Listeners before: ${lengthBefore}, after: ${lengthAfter}`);
|
|
92
|
-
console.log(`🔍 Watcher registered callback. Array went from ${lengthBefore} to ${lengthAfter} listeners`);
|
|
93
|
-
}
|
|
94
|
-
else {
|
|
95
|
-
this.logger.warn('No personaChangeListeners array in context - callbacks not supported');
|
|
96
|
-
console.log('⚠️ No personaChangeListeners array in context');
|
|
61
|
+
this.logger.info('Registered persona change listener');
|
|
97
62
|
}
|
|
98
63
|
// Set options
|
|
99
64
|
this.port = options.port || 8765;
|
|
100
|
-
this.showAll = options.showAll || false;
|
|
101
65
|
const autoOpen = options.autoOpen !== undefined
|
|
102
66
|
? options.autoOpen
|
|
103
67
|
: true; // Default to true
|
|
104
|
-
//
|
|
105
|
-
const plansLoaded = await this.loadPlans();
|
|
68
|
+
// No need to load plans initially - they'll be loaded on demand
|
|
106
69
|
// Create HTTP server
|
|
107
70
|
this.server = this.createHttpServer();
|
|
108
71
|
// Start server
|
|
@@ -131,14 +94,8 @@ export class PlanWatcherService {
|
|
|
131
94
|
const url = `http://localhost:${this.port}`;
|
|
132
95
|
// Open browser if autoOpen is enabled
|
|
133
96
|
if (autoOpen) {
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
this.logger.info(`Opened browser at ${url}`);
|
|
137
|
-
}
|
|
138
|
-
catch (error) {
|
|
139
|
-
this.logger.warn('Failed to open browser automatically:', error);
|
|
140
|
-
// Don't fail the whole operation if browser opening fails
|
|
141
|
-
}
|
|
97
|
+
// Browser opening functionality removed - user can manually open the URL
|
|
98
|
+
this.logger.info(`Dashboard available at ${url} - please open manually`);
|
|
142
99
|
}
|
|
143
100
|
return {
|
|
144
101
|
success: true,
|
|
@@ -146,7 +103,7 @@ export class PlanWatcherService {
|
|
|
146
103
|
url,
|
|
147
104
|
port: this.port,
|
|
148
105
|
autoOpen,
|
|
149
|
-
plansLoaded
|
|
106
|
+
plansLoaded: 0 // Plans are loaded on demand now
|
|
150
107
|
}
|
|
151
108
|
};
|
|
152
109
|
}
|
|
@@ -176,11 +133,6 @@ export class PlanWatcherService {
|
|
|
176
133
|
}
|
|
177
134
|
this.boundOnPersonaChanged = null;
|
|
178
135
|
}
|
|
179
|
-
// Stop file watcher
|
|
180
|
-
if (this.watcher) {
|
|
181
|
-
this.watcher.close();
|
|
182
|
-
this.watcher = null;
|
|
183
|
-
}
|
|
184
136
|
// Stop polling interval
|
|
185
137
|
if (this.watchInterval) {
|
|
186
138
|
clearInterval(this.watchInterval);
|
|
@@ -221,8 +173,9 @@ export class PlanWatcherService {
|
|
|
221
173
|
if (runningInstance === this) {
|
|
222
174
|
runningInstance = null;
|
|
223
175
|
}
|
|
224
|
-
// Clear data
|
|
225
|
-
this.
|
|
176
|
+
// Clear tracking data
|
|
177
|
+
this.fileTimestamps.clear();
|
|
178
|
+
this.lastKnownPersona = null;
|
|
226
179
|
this.port = 0;
|
|
227
180
|
return { success: true, data: undefined };
|
|
228
181
|
}
|
|
@@ -255,12 +208,12 @@ export class PlanWatcherService {
|
|
|
255
208
|
};
|
|
256
209
|
}
|
|
257
210
|
/**
|
|
258
|
-
* Get the current active persona ID
|
|
211
|
+
* Get the current active persona ID (stateless)
|
|
259
212
|
* Uses the callback to always get the latest persona from MCP server
|
|
260
213
|
*/
|
|
261
214
|
getCurrentPersonaId() {
|
|
262
215
|
this.logger.debug('getCurrentPersonaId called');
|
|
263
|
-
// Use callback if available
|
|
216
|
+
// Use callback if available
|
|
264
217
|
if (this.context.getCurrentActivePersona) {
|
|
265
218
|
const personaId = this.context.getCurrentActivePersona();
|
|
266
219
|
this.logger.debug(`Callback returned: ${personaId}`);
|
|
@@ -276,61 +229,59 @@ export class PlanWatcherService {
|
|
|
276
229
|
this.logger.debug(`Using context.activePersona.id: ${this.context.activePersona.id}`);
|
|
277
230
|
return this.context.activePersona.id;
|
|
278
231
|
}
|
|
279
|
-
//
|
|
280
|
-
this.logger.debug(
|
|
281
|
-
return
|
|
232
|
+
// Default if no persona available
|
|
233
|
+
this.logger.debug('Using default persona');
|
|
234
|
+
return 'default';
|
|
282
235
|
}
|
|
283
236
|
/**
|
|
284
237
|
* Handle persona change notification from MCP server
|
|
285
238
|
* This is called when 'as' tool or 'become' prompt changes the persona
|
|
286
239
|
*/
|
|
287
240
|
async onPersonaChanged(newPersonaId) {
|
|
288
|
-
this.logger.info(
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
241
|
+
this.logger.info(`CALLBACK TRIGGERED: Persona changed to ${newPersonaId}`);
|
|
242
|
+
// CRITICAL: Update the context's active persona so PlanningService loads the right plans
|
|
243
|
+
if (this.context.activePersona) {
|
|
244
|
+
this.context.activePersona.id = newPersonaId;
|
|
245
|
+
}
|
|
246
|
+
else {
|
|
247
|
+
// Create a minimal persona object if it doesn't exist
|
|
248
|
+
this.context.activePersona = {
|
|
249
|
+
id: newPersonaId,
|
|
250
|
+
userContent: {}
|
|
251
|
+
};
|
|
252
|
+
}
|
|
253
|
+
// Clear file timestamps since we're switching personas
|
|
254
|
+
this.fileTimestamps.clear();
|
|
255
|
+
// Emit SSE event to notify frontend of persona change
|
|
256
|
+
this.logger.info(`Emitting persona-changed event for: ${newPersonaId}`);
|
|
298
257
|
this.eventEmitter.emit('update', {
|
|
299
258
|
type: 'persona-changed',
|
|
300
|
-
personaId: newPersonaId
|
|
259
|
+
personaId: newPersonaId,
|
|
260
|
+
changeType: 'persona',
|
|
261
|
+
message: `Persona changed to ${newPersonaId}`
|
|
301
262
|
});
|
|
302
263
|
}
|
|
303
264
|
/**
|
|
304
|
-
* Load plans from storage using PlanningService
|
|
265
|
+
* Load plans from storage using PlanningService (stateless)
|
|
266
|
+
* Returns plans directly without storing them
|
|
305
267
|
*/
|
|
306
|
-
async loadPlans() {
|
|
268
|
+
async loadPlans(type) {
|
|
307
269
|
try {
|
|
308
|
-
//
|
|
270
|
+
// The context should already have the active persona from the MCP layer
|
|
309
271
|
const planningService = new PlanningService(this.context);
|
|
310
|
-
//
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
272
|
+
// Load plans based on type
|
|
273
|
+
const plans = type ?
|
|
274
|
+
await planningService.listPlans({ type }) :
|
|
275
|
+
await planningService.listPlans(); // Get all plans
|
|
314
276
|
// Get the currently active plan ID
|
|
315
277
|
const activePlan = await planningService.getActivePlan();
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
if (!plans || plans.length === 0) {
|
|
320
|
-
this.logger.info('No plans found');
|
|
321
|
-
return 0;
|
|
322
|
-
}
|
|
323
|
-
// Clear existing plans and load the new ones
|
|
324
|
-
this.plans.clear();
|
|
325
|
-
for (const plan of plans) {
|
|
326
|
-
// Store the plan with its id as the key
|
|
327
|
-
this.plans.set(plan.id, plan);
|
|
328
|
-
}
|
|
329
|
-
return this.plans.size;
|
|
278
|
+
const activePlanId = activePlan?.id || null;
|
|
279
|
+
this.logger.info(`[loadPlans] Loaded ${plans.length} plans, active: ${activePlanId || 'none'}`);
|
|
280
|
+
return { plans, activePlanId };
|
|
330
281
|
}
|
|
331
282
|
catch (error) {
|
|
332
283
|
this.logger.error('Failed to load plans:', error);
|
|
333
|
-
return
|
|
284
|
+
return { plans: [], activePlanId: null };
|
|
334
285
|
}
|
|
335
286
|
}
|
|
336
287
|
/**
|
|
@@ -346,79 +297,110 @@ export class PlanWatcherService {
|
|
|
346
297
|
await this.updateFileSnapshot();
|
|
347
298
|
}
|
|
348
299
|
/**
|
|
349
|
-
* Check for changes in plan files
|
|
300
|
+
* Check for changes in plan files
|
|
350
301
|
*/
|
|
351
302
|
async checkForChanges() {
|
|
352
303
|
try {
|
|
353
|
-
//
|
|
354
|
-
const
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
304
|
+
// Get current persona to check for changes
|
|
305
|
+
const currentPersona = this.getCurrentPersonaId();
|
|
306
|
+
// Check if persona changed
|
|
307
|
+
if (this.lastKnownPersona && this.lastKnownPersona !== currentPersona) {
|
|
308
|
+
this.logger.info(`Persona changed from ${this.lastKnownPersona} to ${currentPersona}`);
|
|
309
|
+
this.lastKnownPersona = currentPersona;
|
|
310
|
+
// Clear timestamps as we're in a new persona context
|
|
311
|
+
this.fileTimestamps.clear();
|
|
312
|
+
// Load all plans for the new persona
|
|
313
|
+
const { plans, activePlanId } = await this.loadPlans();
|
|
314
|
+
// Emit persona change event with full plan data
|
|
315
|
+
this.eventEmitter.emit('update', {
|
|
316
|
+
type: 'personaChange',
|
|
317
|
+
personaId: currentPersona,
|
|
318
|
+
plans: plans, // Full plan data
|
|
319
|
+
activePlanId: activePlanId,
|
|
320
|
+
timestamp: new Date().toISOString()
|
|
321
|
+
});
|
|
322
|
+
return;
|
|
323
|
+
}
|
|
324
|
+
// Update last known persona if not set
|
|
325
|
+
if (!this.lastKnownPersona) {
|
|
326
|
+
this.lastKnownPersona = currentPersona;
|
|
361
327
|
}
|
|
362
|
-
//
|
|
328
|
+
// Load current plans to check for changes
|
|
329
|
+
// The context should already have the active persona from the MCP layer
|
|
363
330
|
const planningService = new PlanningService(this.context);
|
|
364
|
-
const currentPlans = await planningService.listPlans(
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
const currentPlanIds = new Set(currentPlans.map(p => p.id));
|
|
368
|
-
const currentPlanData = new Map();
|
|
331
|
+
const currentPlans = await planningService.listPlans();
|
|
332
|
+
// Build current state map for comparison
|
|
333
|
+
const currentTimestamps = new Map();
|
|
369
334
|
for (const plan of currentPlans) {
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
335
|
+
// Use lastUpdated timestamp or a hash of the plan content
|
|
336
|
+
const timestamp = plan.lastUpdated ?
|
|
337
|
+
new Date(plan.lastUpdated).getTime() :
|
|
338
|
+
JSON.stringify(plan).length; // Simple content hash
|
|
339
|
+
currentTimestamps.set(plan.id, timestamp);
|
|
373
340
|
}
|
|
374
|
-
// Detect changes
|
|
341
|
+
// Detect changes by comparing timestamps and track specific changes
|
|
375
342
|
let hasChanges = false;
|
|
376
|
-
|
|
377
|
-
|
|
343
|
+
const changedPlanIds = [];
|
|
344
|
+
const removedPlanIds = [];
|
|
345
|
+
// Check if the number of plans changed
|
|
346
|
+
if (this.fileTimestamps.size !== currentTimestamps.size) {
|
|
378
347
|
hasChanges = true;
|
|
379
|
-
this.logger.info(`Plan count changed: ${
|
|
380
|
-
}
|
|
381
|
-
// Check for
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
break;
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
for (const id of currentPlanIds) {
|
|
391
|
-
if (!previousPlanIds.has(id)) {
|
|
392
|
-
hasChanges = true;
|
|
393
|
-
this.logger.info(`Plan added: ${id}`);
|
|
394
|
-
break;
|
|
395
|
-
}
|
|
348
|
+
this.logger.info(`Plan count changed: ${this.fileTimestamps.size} -> ${currentTimestamps.size}`);
|
|
349
|
+
}
|
|
350
|
+
// Check for removed plans
|
|
351
|
+
for (const [id] of this.fileTimestamps) {
|
|
352
|
+
if (!currentTimestamps.has(id)) {
|
|
353
|
+
hasChanges = true;
|
|
354
|
+
removedPlanIds.push(id);
|
|
355
|
+
this.logger.info(`Plan removed: ${id}`);
|
|
396
356
|
}
|
|
397
357
|
}
|
|
398
|
-
// Check for modified plans
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
358
|
+
// Check for added or modified plans
|
|
359
|
+
for (const [id, timestamp] of currentTimestamps) {
|
|
360
|
+
const previousTimestamp = this.fileTimestamps.get(id);
|
|
361
|
+
if (!previousTimestamp) {
|
|
362
|
+
hasChanges = true;
|
|
363
|
+
changedPlanIds.push(id);
|
|
364
|
+
this.logger.info(`Plan added: ${id}`);
|
|
365
|
+
}
|
|
366
|
+
else if (previousTimestamp !== timestamp) {
|
|
367
|
+
hasChanges = true;
|
|
368
|
+
changedPlanIds.push(id);
|
|
369
|
+
this.logger.info(`Plan modified: ${id}`);
|
|
407
370
|
}
|
|
408
371
|
}
|
|
409
|
-
//
|
|
372
|
+
// Update our timestamp tracking
|
|
373
|
+
this.fileTimestamps = currentTimestamps;
|
|
374
|
+
// Emit SSE event if changes detected
|
|
410
375
|
if (hasChanges) {
|
|
411
|
-
this.logger.info(
|
|
412
|
-
//
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
376
|
+
this.logger.info(`Changes detected - loading ${changedPlanIds.length} changed plans, ${removedPlanIds.length} removed`);
|
|
377
|
+
// Load only the changed plans (new or modified)
|
|
378
|
+
const changedPlans = [];
|
|
379
|
+
for (const planId of changedPlanIds) {
|
|
380
|
+
const plan = currentPlans.find(p => p.id === planId);
|
|
381
|
+
if (plan) {
|
|
382
|
+
changedPlans.push(plan);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
// Get the active plan ID
|
|
386
|
+
const planningService = new PlanningService(this.context);
|
|
387
|
+
const activePlan = await planningService.getActivePlan();
|
|
388
|
+
const activePlanId = activePlan?.id || null;
|
|
389
|
+
const eventData = {
|
|
390
|
+
type: 'planChange',
|
|
391
|
+
changedPlans: changedPlans, // Only the plans that changed (with full content)
|
|
392
|
+
removedPlanIds: removedPlanIds, // IDs of deleted plans
|
|
393
|
+
activePlanId: activePlanId,
|
|
394
|
+
personaId: this.getCurrentPersonaId(),
|
|
395
|
+
changeType: 'incremental', // Indicates this is a partial update
|
|
396
|
+
timestamp: new Date().toISOString(),
|
|
397
|
+
version: 'v3-incremental' // New version with incremental updates
|
|
398
|
+
};
|
|
399
|
+
this.logger.info(`Emitting planChange event: ${changedPlans.length} changed, ${removedPlanIds.length} removed`);
|
|
400
|
+
this.eventEmitter.emit('update', eventData);
|
|
419
401
|
}
|
|
420
402
|
else {
|
|
421
|
-
this.logger.debug('No changes detected
|
|
403
|
+
this.logger.debug('No changes detected');
|
|
422
404
|
}
|
|
423
405
|
}
|
|
424
406
|
catch (error) {
|
|
@@ -426,12 +408,29 @@ export class PlanWatcherService {
|
|
|
426
408
|
}
|
|
427
409
|
}
|
|
428
410
|
/**
|
|
429
|
-
* Update the file snapshot
|
|
411
|
+
* Update the file snapshot for change detection
|
|
430
412
|
*/
|
|
431
413
|
async updateFileSnapshot() {
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
414
|
+
try {
|
|
415
|
+
// Load current plans to get initial timestamps
|
|
416
|
+
// The context should already have the active persona from the MCP layer
|
|
417
|
+
const planningService = new PlanningService(this.context);
|
|
418
|
+
const currentPlans = await planningService.listPlans();
|
|
419
|
+
// Build initial timestamp map
|
|
420
|
+
this.fileTimestamps.clear();
|
|
421
|
+
for (const plan of currentPlans) {
|
|
422
|
+
const timestamp = plan.lastUpdated ?
|
|
423
|
+
new Date(plan.lastUpdated).getTime() :
|
|
424
|
+
JSON.stringify(plan).length;
|
|
425
|
+
this.fileTimestamps.set(plan.id, timestamp);
|
|
426
|
+
}
|
|
427
|
+
// Store initial persona
|
|
428
|
+
this.lastKnownPersona = this.getCurrentPersonaId();
|
|
429
|
+
this.logger.info(`Initial snapshot: ${currentPlans.length} plans, persona: ${this.lastKnownPersona}`);
|
|
430
|
+
}
|
|
431
|
+
catch (error) {
|
|
432
|
+
this.logger.error('Failed to update file snapshot:', error);
|
|
433
|
+
}
|
|
435
434
|
}
|
|
436
435
|
/**
|
|
437
436
|
* Create the HTTP server for the dashboard
|
|
@@ -526,65 +525,78 @@ export class PlanWatcherService {
|
|
|
526
525
|
}
|
|
527
526
|
}
|
|
528
527
|
/**
|
|
529
|
-
* Serve the plans list API
|
|
528
|
+
* Serve the plans list API (stateless - fetches fresh data)
|
|
530
529
|
*/
|
|
531
530
|
async servePlansApi(res, planType) {
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
548
|
-
|
|
549
|
-
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
|
|
554
|
-
|
|
555
|
-
|
|
556
|
-
|
|
557
|
-
|
|
558
|
-
|
|
559
|
-
|
|
560
|
-
|
|
561
|
-
|
|
562
|
-
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
566
|
-
|
|
567
|
-
}
|
|
531
|
+
try {
|
|
532
|
+
// Load plans based on type (undefined means all)
|
|
533
|
+
// The context should already have the active persona from the MCP layer
|
|
534
|
+
const planningService = new PlanningService(this.context);
|
|
535
|
+
this.logger.debug(`[servePlansApi] Requesting plans with type: ${planType}`);
|
|
536
|
+
const plans = await planningService.listPlans(planType ? { type: planType } : {});
|
|
537
|
+
this.logger.debug(`[servePlansApi] Retrieved ${plans.length} plans`);
|
|
538
|
+
// Get the currently active plan ID
|
|
539
|
+
const activePlan = await planningService.getActivePlan();
|
|
540
|
+
const activePlanId = activePlan?.id || null;
|
|
541
|
+
// Get current persona
|
|
542
|
+
const currentPersona = this.getCurrentPersonaId();
|
|
543
|
+
// Transform plans to API format with full data
|
|
544
|
+
// The plan object from PlanningService might be typed as Plan which limits fields
|
|
545
|
+
// We need to treat it as a raw object to preserve ALL fields from the JSON file
|
|
546
|
+
const plansList = plans.map((plan) => {
|
|
547
|
+
const isTheCurrent = plan.id === activePlanId;
|
|
548
|
+
// Cast plan to any to access all fields from the JSON
|
|
549
|
+
const planAsAny = plan;
|
|
550
|
+
// Return the FULL plan object with computed fields
|
|
551
|
+
return {
|
|
552
|
+
// Spread ALL fields from the original plan JSON
|
|
553
|
+
...planAsAny,
|
|
554
|
+
// Add our computed/additional fields
|
|
555
|
+
isTheCurrentPlan: isTheCurrent,
|
|
556
|
+
name: planAsAny.title || 'Unnamed Plan',
|
|
557
|
+
phaseCount: planAsAny.phases?.length || 0,
|
|
558
|
+
progress: this.calculateProgress(planAsAny)
|
|
559
|
+
};
|
|
560
|
+
});
|
|
561
|
+
// Log the first plan to see what we're actually sending
|
|
562
|
+
if (plansList.length > 0) {
|
|
563
|
+
const firstPlan = plansList[0];
|
|
564
|
+
this.logger.debug(`First plan has phases: ${!!firstPlan.phases}`);
|
|
565
|
+
this.logger.debug(`First plan phases length: ${firstPlan.phases?.length}`);
|
|
566
|
+
this.logger.debug(`First plan keys before JSON.stringify: ${Object.keys(firstPlan).join(', ')}`);
|
|
567
|
+
// Test JSON serialization
|
|
568
|
+
const testJson = JSON.stringify(firstPlan);
|
|
569
|
+
const parsed = JSON.parse(testJson);
|
|
570
|
+
this.logger.debug(`First plan keys after JSON round-trip: ${Object.keys(parsed).join(', ')}`);
|
|
571
|
+
}
|
|
572
|
+
const response = {
|
|
573
|
+
plans: plansList,
|
|
574
|
+
persona: currentPersona,
|
|
575
|
+
activePlanId: activePlanId
|
|
568
576
|
};
|
|
569
|
-
|
|
570
|
-
|
|
571
|
-
|
|
572
|
-
|
|
573
|
-
|
|
574
|
-
|
|
575
|
-
|
|
576
|
-
|
|
577
|
-
showAll: this.showAll
|
|
578
|
-
}
|
|
579
|
-
};
|
|
580
|
-
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
581
|
-
res.end(JSON.stringify(response));
|
|
577
|
+
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
578
|
+
res.end(JSON.stringify(response));
|
|
579
|
+
}
|
|
580
|
+
catch (error) {
|
|
581
|
+
this.logger.error('Error serving plans API:', error);
|
|
582
|
+
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
583
|
+
res.end(JSON.stringify({ error: 'Failed to load plans' }));
|
|
584
|
+
}
|
|
582
585
|
}
|
|
583
586
|
/**
|
|
584
587
|
* Serve a specific plan API
|
|
585
588
|
*/
|
|
586
589
|
async servePlanApi(planId, url, res) {
|
|
587
|
-
|
|
590
|
+
// ALWAYS load from storage - it's local and fast!
|
|
591
|
+
// The context should already have the active persona from the MCP layer
|
|
592
|
+
const planningService = new PlanningService(this.context);
|
|
593
|
+
let plan;
|
|
594
|
+
try {
|
|
595
|
+
plan = await planningService.loadPlan({ planId });
|
|
596
|
+
}
|
|
597
|
+
catch (error) {
|
|
598
|
+
this.logger.error(`[servePlanApi] Error loading plan ${planId}:`, error);
|
|
599
|
+
}
|
|
588
600
|
if (!plan) {
|
|
589
601
|
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
590
602
|
res.end(JSON.stringify({ error: 'Plan not found' }));
|
|
@@ -595,6 +607,7 @@ export class PlanWatcherService {
|
|
|
595
607
|
if (format === 'report') {
|
|
596
608
|
try {
|
|
597
609
|
// Use PlanningService to generate the status report
|
|
610
|
+
// Context already has activePersona from above
|
|
598
611
|
const planningService = new PlanningService(this.context);
|
|
599
612
|
const report = await planningService.generateStatusReport(plan);
|
|
600
613
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
@@ -616,24 +629,36 @@ export class PlanWatcherService {
|
|
|
616
629
|
}
|
|
617
630
|
}
|
|
618
631
|
/**
|
|
619
|
-
* Serve the persona API
|
|
632
|
+
* Serve the persona API
|
|
633
|
+
* GET /api/persona - Get current persona and their plans
|
|
620
634
|
*/
|
|
621
|
-
servePersonaApi(req, res) {
|
|
635
|
+
async servePersonaApi(req, res) {
|
|
622
636
|
if (req.method === 'GET') {
|
|
623
|
-
//
|
|
624
|
-
|
|
625
|
-
this.
|
|
637
|
+
// Get current persona
|
|
638
|
+
let personaId;
|
|
639
|
+
if (this.context.getCurrentActivePersona) {
|
|
640
|
+
personaId = this.context.getCurrentActivePersona() || 'default';
|
|
641
|
+
this.logger.info(`/api/persona - callback returned: ${personaId}`);
|
|
642
|
+
}
|
|
643
|
+
else {
|
|
644
|
+
// Fallback if no callback available
|
|
645
|
+
personaId = this.getCurrentPersonaId();
|
|
646
|
+
this.logger.warn(`/api/persona - no callback, using fallback: ${personaId}`);
|
|
647
|
+
}
|
|
648
|
+
// Also load the persona's plans for convenience
|
|
649
|
+
const { plans, activePlanId } = await this.loadPlans();
|
|
626
650
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
627
651
|
res.end(JSON.stringify({
|
|
628
|
-
personaId: personaId
|
|
652
|
+
personaId: personaId,
|
|
653
|
+
plans: plans,
|
|
654
|
+
activePlanId: activePlanId
|
|
629
655
|
}));
|
|
630
656
|
}
|
|
631
657
|
else {
|
|
632
|
-
// Persona changes are handled by MCP server via 'as' tool
|
|
633
|
-
// The dashboard will detect changes automatically via polling
|
|
658
|
+
// Persona changes are handled by MCP server via 'as' tool
|
|
634
659
|
res.writeHead(405, { 'Content-Type': 'application/json' });
|
|
635
660
|
res.end(JSON.stringify({
|
|
636
|
-
error: 'Method not allowed. Use the "as" tool
|
|
661
|
+
error: 'Method not allowed. Use the "as" MCP tool to change personas.'
|
|
637
662
|
}));
|
|
638
663
|
}
|
|
639
664
|
}
|
|
@@ -642,10 +667,16 @@ export class PlanWatcherService {
|
|
|
642
667
|
*/
|
|
643
668
|
async handlePlanAction(_req, res, planId, action) {
|
|
644
669
|
try {
|
|
645
|
-
//
|
|
670
|
+
// The context should already have the active persona from the MCP layer
|
|
671
|
+
if (!this.context.activePersona) {
|
|
672
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
673
|
+
res.end(JSON.stringify({ error: 'No active persona' }));
|
|
674
|
+
return;
|
|
675
|
+
}
|
|
646
676
|
const planningService = new PlanningService(this.context);
|
|
647
677
|
let success = false;
|
|
648
678
|
let errorMessage = '';
|
|
679
|
+
let newActivePlanId = null;
|
|
649
680
|
try {
|
|
650
681
|
switch (action) {
|
|
651
682
|
case 'archive':
|
|
@@ -657,10 +688,11 @@ export class PlanWatcherService {
|
|
|
657
688
|
success = true;
|
|
658
689
|
break;
|
|
659
690
|
case 'activate':
|
|
660
|
-
this.logger.info(`
|
|
691
|
+
this.logger.info(`Setting active plan to: ${planId}`);
|
|
661
692
|
await planningService.switchToPlan(planId);
|
|
693
|
+
newActivePlanId = planId;
|
|
662
694
|
success = true;
|
|
663
|
-
this.logger.info(`
|
|
695
|
+
this.logger.info(`Active plan is now: ${planId}`);
|
|
664
696
|
break;
|
|
665
697
|
default:
|
|
666
698
|
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
@@ -674,13 +706,27 @@ export class PlanWatcherService {
|
|
|
674
706
|
this.logger.error(`Error in plan action ${action} for ${planId}: ${errorMessage}`, error);
|
|
675
707
|
}
|
|
676
708
|
if (success) {
|
|
677
|
-
//
|
|
678
|
-
|
|
679
|
-
|
|
709
|
+
// Return success response
|
|
710
|
+
const response = {
|
|
711
|
+
success: true,
|
|
712
|
+
message: `Plan ${action}d successfully`
|
|
713
|
+
};
|
|
714
|
+
if (newActivePlanId) {
|
|
715
|
+
response.activePlanId = newActivePlanId;
|
|
716
|
+
}
|
|
680
717
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
681
|
-
res.end(JSON.stringify(
|
|
682
|
-
// Emit
|
|
683
|
-
|
|
718
|
+
res.end(JSON.stringify(response));
|
|
719
|
+
// Emit planChange event for real-time sync with full data
|
|
720
|
+
const { plans, activePlanId } = await this.loadPlans();
|
|
721
|
+
this.eventEmitter.emit('update', {
|
|
722
|
+
type: 'planChange',
|
|
723
|
+
plans: plans,
|
|
724
|
+
activePlanId: activePlanId,
|
|
725
|
+
personaId: this.getCurrentPersonaId(),
|
|
726
|
+
action,
|
|
727
|
+
planId,
|
|
728
|
+
timestamp: new Date().toISOString()
|
|
729
|
+
});
|
|
684
730
|
}
|
|
685
731
|
else {
|
|
686
732
|
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
@@ -698,54 +744,77 @@ export class PlanWatcherService {
|
|
|
698
744
|
*/
|
|
699
745
|
async handlePlanDelete(_req, res, planId) {
|
|
700
746
|
try {
|
|
701
|
-
//
|
|
702
|
-
|
|
703
|
-
// Check if plan exists and is archived
|
|
704
|
-
const plan = this.plans.get(planId);
|
|
705
|
-
if (!plan) {
|
|
706
|
-
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
707
|
-
res.end(JSON.stringify({ error: 'Plan not found' }));
|
|
708
|
-
return;
|
|
709
|
-
}
|
|
710
|
-
// Type assertion since we know the structure
|
|
711
|
-
const planData = plan;
|
|
712
|
-
if (planData.type !== 'archived') {
|
|
747
|
+
// The context should already have the active persona from the MCP layer
|
|
748
|
+
if (!this.context.activePersona) {
|
|
713
749
|
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
714
|
-
res.end(JSON.stringify({ error: '
|
|
750
|
+
res.end(JSON.stringify({ error: 'No active persona' }));
|
|
715
751
|
return;
|
|
716
752
|
}
|
|
753
|
+
this.context.logger.info(`Attempting to delete plan ${planId} for persona ${this.context.activePersona.id}`);
|
|
717
754
|
try {
|
|
755
|
+
// Use PlanningService to delete the plan
|
|
756
|
+
// It will handle all the checks (archived status, ownership, etc.)
|
|
757
|
+
const planningService = new PlanningService(this.context);
|
|
718
758
|
const result = await planningService.deletePlan(planId);
|
|
719
759
|
if (result) {
|
|
720
|
-
|
|
721
|
-
await this.loadPlans();
|
|
760
|
+
this.context.logger.info(`Successfully deleted plan ${planId}`);
|
|
722
761
|
// Send success response
|
|
723
762
|
res.writeHead(200, { 'Content-Type': 'application/json' });
|
|
724
763
|
res.end(JSON.stringify({ success: true, message: 'Plan deleted successfully' }));
|
|
725
|
-
// Emit
|
|
726
|
-
|
|
764
|
+
// Emit planChange event for real-time sync with full data
|
|
765
|
+
const { plans, activePlanId } = await this.loadPlans();
|
|
766
|
+
this.eventEmitter.emit('update', {
|
|
767
|
+
type: 'planChange',
|
|
768
|
+
plans: plans,
|
|
769
|
+
activePlanId: activePlanId,
|
|
770
|
+
personaId: this.getCurrentPersonaId(),
|
|
771
|
+
action: 'delete',
|
|
772
|
+
planId,
|
|
773
|
+
timestamp: new Date().toISOString()
|
|
774
|
+
});
|
|
727
775
|
}
|
|
728
776
|
else {
|
|
777
|
+
// This shouldn't happen as deletePlan throws on error, but handle it just in case
|
|
729
778
|
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
730
779
|
res.end(JSON.stringify({ error: 'Failed to delete plan' }));
|
|
731
780
|
}
|
|
732
781
|
}
|
|
733
782
|
catch (error) {
|
|
783
|
+
// PlanningService will throw specific errors
|
|
734
784
|
const errorMessage = error instanceof Error ? error.message : 'Failed to delete plan';
|
|
735
|
-
|
|
736
|
-
|
|
785
|
+
this.context.logger.error(`Failed to delete plan: ${errorMessage}`);
|
|
786
|
+
if (errorMessage.includes('not found')) {
|
|
787
|
+
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
788
|
+
res.end(JSON.stringify({ error: 'Plan not found' }));
|
|
789
|
+
}
|
|
790
|
+
else if (errorMessage.includes('Archive it first')) {
|
|
791
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
792
|
+
res.end(JSON.stringify({ error: 'Only archived plans can be deleted' }));
|
|
793
|
+
}
|
|
794
|
+
else {
|
|
795
|
+
res.writeHead(400, { 'Content-Type': 'application/json' });
|
|
796
|
+
res.end(JSON.stringify({ error: errorMessage }));
|
|
797
|
+
}
|
|
737
798
|
}
|
|
738
799
|
}
|
|
739
800
|
catch (error) {
|
|
740
801
|
this.logger.error(`Error deleting plan ${planId}:`, error);
|
|
741
|
-
|
|
742
|
-
|
|
802
|
+
const errorMessage = error instanceof Error ? error.message : 'Unknown error';
|
|
803
|
+
// Return more specific error message
|
|
804
|
+
if (errorMessage.includes('not found') || errorMessage.includes('does not exist')) {
|
|
805
|
+
res.writeHead(404, { 'Content-Type': 'application/json' });
|
|
806
|
+
res.end(JSON.stringify({ error: 'Plan not found' }));
|
|
807
|
+
}
|
|
808
|
+
else {
|
|
809
|
+
res.writeHead(500, { 'Content-Type': 'application/json' });
|
|
810
|
+
res.end(JSON.stringify({ error: errorMessage }));
|
|
811
|
+
}
|
|
743
812
|
}
|
|
744
813
|
}
|
|
745
814
|
/**
|
|
746
815
|
* Serve Server-Sent Events for real-time updates
|
|
747
816
|
*/
|
|
748
|
-
serveEventStream(req, res) {
|
|
817
|
+
async serveEventStream(req, res) {
|
|
749
818
|
res.writeHead(200, {
|
|
750
819
|
'Content-Type': 'text/event-stream',
|
|
751
820
|
'Cache-Control': 'no-cache',
|
|
@@ -756,8 +825,19 @@ export class PlanWatcherService {
|
|
|
756
825
|
});
|
|
757
826
|
// Track this connection
|
|
758
827
|
this.activeConnections.add(res);
|
|
759
|
-
//
|
|
760
|
-
|
|
828
|
+
// Get current persona and plans for initial sync
|
|
829
|
+
const currentPersona = this.getCurrentPersonaId();
|
|
830
|
+
this.logger.info(`New SSE connection - sending initial persona: ${currentPersona}`);
|
|
831
|
+
// Load initial plans to send with connected event
|
|
832
|
+
const { plans, activePlanId } = await this.loadPlans();
|
|
833
|
+
// Send initial connection message with current persona AND plans
|
|
834
|
+
res.write(`data: ${JSON.stringify({
|
|
835
|
+
type: 'connected',
|
|
836
|
+
personaId: currentPersona,
|
|
837
|
+
plans: plans, // Include all plans in connected event
|
|
838
|
+
activePlanId: activePlanId,
|
|
839
|
+
timestamp: new Date().toISOString()
|
|
840
|
+
})}\n\n`);
|
|
761
841
|
// Keep-alive ping every 30 seconds
|
|
762
842
|
const keepAlive = setInterval(() => {
|
|
763
843
|
res.write(':ping\n\n');
|
|
@@ -800,8 +880,9 @@ export class PlanWatcherService {
|
|
|
800
880
|
// Read the dashboard HTML file
|
|
801
881
|
const htmlPath = path.join(__dirname, 'dashboard.html');
|
|
802
882
|
let html = fs.readFileSync(htmlPath, 'utf-8');
|
|
803
|
-
// Replace template variables
|
|
804
|
-
|
|
883
|
+
// Replace template variables with current persona
|
|
884
|
+
const currentPersona = this.getCurrentPersonaId();
|
|
885
|
+
html = html.replace(/{{CURRENT_PERSONA}}/g, currentPersona);
|
|
805
886
|
return html;
|
|
806
887
|
}
|
|
807
888
|
catch (error) {
|
|
@@ -814,13 +895,14 @@ export class PlanWatcherService {
|
|
|
814
895
|
* Generate fallback HTML if dashboard.html cannot be loaded
|
|
815
896
|
*/
|
|
816
897
|
generateFallbackHtml() {
|
|
898
|
+
const currentPersona = this.getCurrentPersonaId();
|
|
817
899
|
return `<!DOCTYPE html>
|
|
818
900
|
<html>
|
|
819
901
|
<head><title>Error</title></head>
|
|
820
902
|
<body>
|
|
821
903
|
<h1>Dashboard Error</h1>
|
|
822
904
|
<p>Failed to load dashboard. Please check the logs.</p>
|
|
823
|
-
<p>Current persona: ${
|
|
905
|
+
<p>Current persona: ${currentPersona}</p>
|
|
824
906
|
</body>
|
|
825
907
|
</html>`;
|
|
826
908
|
}
|
|
@@ -831,16 +913,25 @@ export class PlanWatcherService {
|
|
|
831
913
|
try {
|
|
832
914
|
const __filename = fileURLToPath(import.meta.url);
|
|
833
915
|
const __dirname = path.dirname(__filename);
|
|
834
|
-
// Try
|
|
916
|
+
// Try DXT bundle location first (server is at server/index.js, dashboard at dashboard/)
|
|
917
|
+
const dxtPath = path.join(__dirname, '..', 'dashboard');
|
|
918
|
+
if (fs.existsSync(path.join(dxtPath, 'index.html'))) {
|
|
919
|
+
this.logger.info(`Found dashboard at DXT location: ${dxtPath}`);
|
|
920
|
+
return dxtPath;
|
|
921
|
+
}
|
|
922
|
+
// Try production build location
|
|
835
923
|
const prodPath = path.join(__dirname, '..', '..', 'dashboard');
|
|
836
924
|
if (fs.existsSync(path.join(prodPath, 'index.html'))) {
|
|
925
|
+
this.logger.info(`Found dashboard at production location: ${prodPath}`);
|
|
837
926
|
return prodPath;
|
|
838
927
|
}
|
|
839
928
|
// Try development build location
|
|
840
929
|
const devPath = path.join(__dirname, '..', '..', '..', 'tiny-brain-dashboard', 'dist');
|
|
841
930
|
if (fs.existsSync(path.join(devPath, 'index.html'))) {
|
|
931
|
+
this.logger.info(`Found dashboard at development location: ${devPath}`);
|
|
842
932
|
return devPath;
|
|
843
933
|
}
|
|
934
|
+
this.logger.warn('Dashboard not found in any expected location');
|
|
844
935
|
return null;
|
|
845
936
|
}
|
|
846
937
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan-watcher.service.js","sourceRoot":"","sources":["../../src/services/plan-watcher.service.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan-watcher.service.js","sourceRoot":"","sources":["../../src/services/plan-watcher.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +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;
|
|
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;mBAmIZ,YAAY;mBAqDZ,YAAY;mBA0DZ,YAAY;mBAoCZ,UAAU;mBAoEV,aAAa;mBA8Cb,YAAY;mBAuCZ,WAAW;mBAqDX,eAAe;CAyBrC"}
|
|
@@ -272,7 +272,8 @@ export class PlanTool {
|
|
|
272
272
|
// Set the new plan as active
|
|
273
273
|
const setActiveResult = await planningService.setActivePlan({ planId: plan.id });
|
|
274
274
|
if (!setActiveResult) {
|
|
275
|
-
|
|
275
|
+
// Log warning without console output (MCP uses stdout for JSON-RPC)
|
|
276
|
+
context.logger?.warn?.(`Warning: Failed to set plan ${plan.id} as active for persona ${context.activePersona?.id}`);
|
|
276
277
|
}
|
|
277
278
|
// Format response using service method
|
|
278
279
|
const planStructureJson = await planningService.formatPlanStructure(plan);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plan.tool.js","sourceRoot":"","sources":["../../../src/tools/plan/plan.tool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"plan.tool.js","sourceRoot":"","sources":["../../../src/tools/plan/plan.tool.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@magic-ingredients/tiny-brain-local",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Local MCP server implementation for Tiny Brain AI assistant",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
@@ -33,9 +33,9 @@
|
|
|
33
33
|
"dxt:init": "cd dxt && dxt init"
|
|
34
34
|
},
|
|
35
35
|
"dependencies": {
|
|
36
|
-
"@magic-ingredients/tiny-brain-core": "^0.
|
|
36
|
+
"@magic-ingredients/tiny-brain-core": "^0.5.0",
|
|
37
|
+
"@magic-ingredients/tiny-brain-dashboard": "file:../tiny-brain-dashboard",
|
|
37
38
|
"@modelcontextprotocol/sdk": "^1.0.6",
|
|
38
|
-
"better-opn": "^3.0.2",
|
|
39
39
|
"marked": "^15.0.0",
|
|
40
40
|
"zod": "^3.23.8"
|
|
41
41
|
},
|