@magic-ingredients/tiny-brain-local 0.3.10 → 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 CHANGED
@@ -30,8 +30,9 @@ async function main() {
30
30
  });
31
31
  }
32
32
  // Run the server
33
- main().catch((error) => {
34
- console.error('Failed to start server:', 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,CAAC,KAAK,EAAE,EAAE;IACrB,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;IAChD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,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 currentPersona;
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 without reloading data
76
+ * Check for changes in plan files
80
77
  */
81
78
  private checkForChanges;
82
79
  /**
83
- * Update the file snapshot (deprecated - kept for compatibility)
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 (GET current only)
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;AAQH,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,OAAO,CAA6B;IAC5C,OAAO,CAAC,aAAa,CAA+C;IACpE,OAAO,CAAC,IAAI,CAAa;IACzB,OAAO,CAAC,KAAK,CAAmC;IAChD,OAAO,CAAC,YAAY,CAAoC;IACxD,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,OAAO,CAAkB;IACjC,OAAO,CAAC,eAAe,CAAgD;IACvE,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,iBAAiB,CAAuC;IAChE,OAAO,CAAC,qBAAqB,CAA8D;IAC3F,OAAO,CAAC,cAAc,CAAqB;gBAE/B,OAAO,EAAE,cAAc;IAyBnC;;OAEG;IACG,KAAK,CAAC,OAAO,GAAE,kBAAuB,GAAG,OAAO,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC;IA2GtF;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAiFnC;;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;IAsB3D;;OAEG;YACW,SAAS;IAuCvB;;OAEG;YACW,aAAa;IAY3B;;OAEG;YACW,eAAe;IAuF7B;;OAEG;YACW,kBAAkB;IAMhC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAqExB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;YACW,aAAa;IAoE3B;;OAEG;YACW,YAAY;IAmC1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;YACW,gBAAgB;IAwD9B;;OAEG;YACW,gBAAgB;IAkD9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAuCxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAQzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAqBzB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAY5B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAwB7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAkDzB"}
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
- currentPersona = 'default';
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.debug('PlanWatcher constructor called');
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
- // Update current persona before starting
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
- const lengthAfter = this.context.personaChangeListeners.length;
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
- // Load initial plans
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
- try {
135
- await open(url);
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.plans.clear();
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, otherwise fallback to context snapshot
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
- // Last resort: use stored currentPersona or default
280
- this.logger.debug(`Using stored currentPersona: ${this.currentPersona || 'default'}`);
281
- return this.currentPersona || 'default';
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(`🔔 CALLBACK TRIGGERED: Persona changed to ${newPersonaId}, reloading plans...`);
289
- console.log(`🔔 CALLBACK TRIGGERED: Persona changed to ${newPersonaId}`);
290
- // Update current persona
291
- this.currentPersona = newPersonaId;
292
- // Clear current plans
293
- this.plans.clear();
294
- // Reload plans with new persona
295
- const plansLoaded = await this.loadPlans();
296
- this.logger.info(`Reloaded ${plansLoaded} plans for persona ${newPersonaId}`);
297
- // Emit update event to refresh dashboard
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
- // Create a PlanningService instance with the current context
270
+ // The context should already have the active persona from the MCP layer
309
271
  const planningService = new PlanningService(this.context);
310
- // List plans based on current view type
311
- // Default to 'active' if no view type is set, unless showAll is true
312
- const plans = await planningService.listPlans(this.currentViewType ? { type: this.currentViewType } :
313
- this.showAll ? {} : { type: 'active' });
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
- this.activePlanId = activePlan?.id || null;
317
- // Don't use a fallback - let the frontend handle selection
318
- this.logger.info(`[PlanWatcher] Active plan ID: ${this.activePlanId || 'none'}, Active plan title: ${activePlan?.title || 'none'}`);
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 0;
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 without reloading data
300
+ * Check for changes in plan files
350
301
  */
351
302
  async checkForChanges() {
352
303
  try {
353
- // Store previous plan state for comparison
354
- const previousPlanIds = new Set(this.plans.keys());
355
- const previousPlans = new Map();
356
- for (const [id, plan] of this.plans) {
357
- const typedPlan = plan;
358
- if (typedPlan.lastUpdated) {
359
- previousPlans.set(id, typedPlan.lastUpdated);
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
- // Create a temporary planning service to check current state without modifying this.plans
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(this.currentViewType ? { type: this.currentViewType } :
365
- this.showAll ? {} : { type: 'active' });
366
- // Build current state for comparison
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
- if (plan.lastUpdated) {
371
- currentPlanData.set(plan.id, plan.lastUpdated);
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 without reloading
341
+ // Detect changes by comparing timestamps and track specific changes
375
342
  let hasChanges = false;
376
- // Check if plan count changed
377
- if (previousPlanIds.size !== currentPlanIds.size) {
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: ${previousPlanIds.size} -> ${currentPlanIds.size}`);
380
- }
381
- // Check for added or removed plans
382
- if (!hasChanges) {
383
- for (const id of previousPlanIds) {
384
- if (!currentPlanIds.has(id)) {
385
- hasChanges = true;
386
- this.logger.info(`Plan removed: ${id}`);
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 (different lastUpdated)
399
- if (!hasChanges) {
400
- for (const [id, currentUpdated] of currentPlanData) {
401
- const previousUpdated = previousPlans.get(id);
402
- if (!previousUpdated || previousUpdated !== currentUpdated) {
403
- hasChanges = true;
404
- this.logger.info(`Plan modified: ${id} (${previousUpdated} -> ${currentUpdated})`);
405
- break;
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
- // Only reload and emit SSE event if changes detected
372
+ // Update our timestamp tracking
373
+ this.fileTimestamps = currentTimestamps;
374
+ // Emit SSE event if changes detected
410
375
  if (hasChanges) {
411
- this.logger.info('Changes detected - reloading plans and emitting update event');
412
- // Reload our cached plans with the new data
413
- await this.loadPlans();
414
- // Emit SSE event to notify dashboard
415
- this.eventEmitter.emit('update', {
416
- type: 'update',
417
- changeType: 'modified'
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 - skipping reload and SSE event');
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 (deprecated - kept for compatibility)
411
+ * Update the file snapshot for change detection
430
412
  */
431
413
  async updateFileSnapshot() {
432
- // No longer needed as we use PlanningService directly
433
- // Just load plans to ensure we have the latest data
434
- await this.loadPlans();
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
- // Update view type for background polling (but only after we load the new data)
533
- this.showAll = planType === 'archived' || planType === undefined;
534
- // Always clear and reload plans with the correct filter for API calls
535
- this.plans.clear();
536
- // Use existing context
537
- // Load plans based on type (undefined means all)
538
- const planningService = new PlanningService(this.context);
539
- console.log(`[servePlansApi] Requesting plans with type: ${planType}`);
540
- const plans = await planningService.listPlans(planType ? { type: planType } : {});
541
- console.log(`[servePlansApi] Retrieved ${plans.length} plans:`, plans.map(p => ({ id: p.id, status: p.status })));
542
- // Store the loaded plans (PlanningService already set the correct status based on folder)
543
- for (const plan of plans) {
544
- this.plans.set(plan.id, plan);
545
- }
546
- // NOW update the view type for background polling to prevent false change detection
547
- this.currentViewType = planType;
548
- // Get the currently active plan ID (if any)
549
- const activePlan = await planningService.getActivePlan();
550
- this.activePlanId = activePlan?.id || null;
551
- const plansList = Array.from(this.plans.entries()).map(([id, plan]) => {
552
- const typedPlan = plan;
553
- const isActive = id === this.activePlanId;
554
- return {
555
- id,
556
- name: typedPlan.title || typedPlan.name || 'Unnamed Plan',
557
- status: typedPlan.status || 'unknown',
558
- phaseCount: typedPlan.phases?.length || 0,
559
- progress: this.calculateProgress(plan),
560
- updatedAt: typedPlan.updatedAt,
561
- isCurrentlyActive: isActive,
562
- // Add debug info directly to each plan
563
- _debug: {
564
- planId: id,
565
- activePlanId: this.activePlanId,
566
- isMatch: id === this.activePlanId
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
- const response = {
571
- plans: plansList,
572
- persona: this.currentPersona,
573
- activePlanId: this.activePlanId,
574
- debug: {
575
- activePlanIdBeforeLoad: this.activePlanId,
576
- plansCount: this.plans.size,
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
- const plan = this.plans.get(planId);
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 (GET current only)
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
- // Return current persona from MCP server via callback
624
- const personaId = this.getCurrentPersonaId();
625
- this.logger.debug(`/api/persona requested, returning: ${personaId}`);
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 or 'become' prompt
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 or "become" prompt to change personas.'
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
- // Use existing context
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(`Attempting to switch to plan: ${planId} for persona: ${this.currentPersona}`);
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(`Successfully switched to plan: ${planId}`);
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
- // Reload plans to reflect changes
678
- await this.loadPlans();
679
- // Send success response
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({ success: true, message: `Plan ${action}d successfully` }));
682
- // Emit update event for real-time sync
683
- this.eventEmitter.emit('update', { type: 'update', planId, action });
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
- // Use existing context
702
- const planningService = new PlanningService(this.context);
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: 'Only archived plans can be deleted' }));
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
- // Reload plans to reflect changes
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 update event for real-time sync
726
- this.eventEmitter.emit('update', { type: 'update', planId, action: 'delete' });
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
- res.writeHead(400, { 'Content-Type': 'application/json' });
736
- res.end(JSON.stringify({ error: errorMessage }));
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
- res.writeHead(500, { 'Content-Type': 'application/json' });
742
- res.end(JSON.stringify({ error: 'Internal server error' }));
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
- // Send initial connection message
760
- res.write('data: {"type":"connected"}\n\n');
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
- html = html.replace(/{{CURRENT_PERSONA}}/g, this.currentPersona);
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: ${this.currentPersona}</p>
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 production build location first
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":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AAEpC,OAAO,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAC;AAqBrE;;GAEG;AACH,IAAI,eAAe,GAA8B,IAAI,CAAC;AAEtD;;GAEG;AACH,MAAM,OAAO,kBAAkB;IACrB,MAAM,GAAuB,IAAI,CAAC;IAClC,aAAa,GAA0C,IAAI,CAAC;IAC5D,IAAI,GAAW,CAAC,CAAC;IACjB,YAAY,GAAiB,IAAI,YAAY,EAAE,CAAC;IAChD,OAAO,CAAiB;IACxB,MAAM,CAA2B;IACjC,iBAAiB,GAA6B,IAAI,GAAG,EAAE,CAAC;IACxD,qBAAqB,GAAyD,IAAI,CAAC;IAE3F,qFAAqF;IAC7E,cAAc,GAAwB,IAAI,GAAG,EAAE,CAAC;IAExD,gDAAgD;IACxC,gBAAgB,GAAkB,IAAI,CAAC;IAE/C,YAAY,OAAuB;QACjC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;IACtE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,UAA8B,EAAE;QAC1C,IAAI,CAAC;YACH,2BAA2B;YAC3B,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACrB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI,KAAK,CAAC,0CAA0C,GAAG,IAAI,CAAC,IAAI,CAAC;iBACzE,CAAC;YACJ,CAAC;YAED,kBAAkB;YAClB,IAAI,eAAe,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAChD,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI,KAAK,CAAC,kDAAkD,CAAC;iBACrE,CAAC;YACJ,CAAC;YAED,qDAAqD;YACrD,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,CAAC;gBACxC,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC9D,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACrE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;YACzD,CAAC;YAED,cAAc;YACd,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,KAAK,SAAS;gBAC7C,CAAC,CAAC,OAAO,CAAC,QAAQ;gBAClB,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB;YAE5B,gEAAgE;YAEhE,qBAAqB;YACrB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;YAEtC,eAAe;YACf,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;gBAC1C,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC;gBACnC,IAAI,CAAC,cAAc;oBAAE,MAAM,IAAI,KAAK,CAAC,oBAAoB,CAAC,CAAC;gBAC3D,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA8B,EAAE,EAAE;oBAC5D,IAAI,GAAG,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;wBAC9B,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,oBAAoB,CAAC,CAAC,CAAC;oBAC3D,CAAC;yBAAM,CAAC;wBACN,MAAM,CAAC,GAAG,CAAC,CAAC;oBACd,CAAC;gBACH,CAAC,CAAC,CAAC;gBAEH,cAAc,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,EAAE;oBACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gCAAgC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;oBAC9D,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,yBAAyB;YACzB,4DAA4D;YAC5D,eAAe,GAAG,IAAI,CAAC;YAEvB,6BAA6B;YAC7B,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;YAE3B,MAAM,GAAG,GAAG,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC;YAE5C,sCAAsC;YACtC,IAAI,QAAQ,EAAE,CAAC;gBACb,yEAAyE;gBACzE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,GAAG,yBAAyB,CAAC,CAAC;YAC3E,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,IAAI,EAAE;oBACJ,GAAG;oBACH,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,QAAQ;oBACR,WAAW,EAAE,CAAC,CAAC,iCAAiC;iBACjD;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,KAAK,CAAC,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;aAC9G,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC;YACH,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;gBACtB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,IAAI,KAAK,CAAC,6BAA6B,CAAC;iBAChD,CAAC;YACJ,CAAC;YAED,0BAA0B;YAC1B,IAAI,IAAI,CAAC,OAAO,CAAC,sBAAsB,IAAI,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACtE,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBACtF,IAAI,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC;oBACf,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;gBACvD,CAAC;gBACD,IAAI,CAAC,qBAAqB,GAAG,IAAI,CAAC;YACpC,CAAC;YAED,wBAAwB;YACxB,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;gBACvB,aAAa,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;gBAClC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC5B,CAAC;YAED,yCAAyC;YACzC,yDAAyD;YACzD,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,iBAAiB,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,UAAU,CAAC,GAAG,EAAE,CAAC;gBACnB,CAAC;gBAAC,MAAM,CAAC;oBACP,qCAAqC;gBACvC,CAAC;YACH,CAAC;YACD,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;YAE/B,mBAAmB;YACnB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;gBAChB,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,CAAC;gBAClC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,8BAA8B;gBAElD,8CAA8C;gBAC9C,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjB,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;wBAC5B,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE;4BACvB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;4BACzC,OAAO,EAAE,CAAC;wBACZ,CAAC,CAAC,CAAC;oBACL,CAAC,CAAC;oBACF,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,EAAE;wBAC5B,UAAU,CAAC,GAAG,EAAE;4BACd,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,CAAC,CAAC;4BACvD,OAAO,EAAE,CAAC;wBACZ,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,mBAAmB;oBAC/B,CAAC,CAAC;iBACH,CAAC,CAAC;YACL,CAAC;YAED,wCAAwC;YACxC,IAAI,eAAe,KAAK,IAAI,EAAE,CAAC;gBAC7B,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YAED,sBAAsB;YACtB,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;YAC7B,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;YAEd,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,KAAK,CAAC,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;aAC7G,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,MAAM;QACJ,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;YACtB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,IAAI,KAAK,CAAC,6BAA6B,CAAC;aAChD,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,oBAAoB,IAAI,CAAC,IAAI,EAAE;SACtC,CAAC;IACJ,CAAC;IAED;;;OAGG;IACK,mBAAmB;QACzB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;QAEhD,4BAA4B;QAC5B,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;YACzD,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,sBAAsB,SAAS,EAAE,CAAC,CAAC;YACrD,IAAI,SAAS,EAAE,CAAC;gBACd,OAAO,SAAS,CAAC;YACnB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QAED,yCAAyC;QACzC,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;YACtF,OAAO,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,CAAC;QACvC,CAAC;QAED,kCAAkC;QAClC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC;QAC3C,OAAO,SAAS,CAAC;IACnB,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,gBAAgB,CAAC,YAAoB;QACzC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0CAA0C,YAAY,EAAE,CAAC,CAAC;QAE3E,yFAAyF;QACzF,IAAI,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;YAC/B,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,GAAG,YAAY,CAAC;QAC/C,CAAC;aAAM,CAAC;YACN,sDAAsD;YACtD,IAAI,CAAC,OAAO,CAAC,aAAa,GAAG;gBAC3B,EAAE,EAAE,YAAY;gBAChB,WAAW,EAAE,EAAE;aAChB,CAAC;QACJ,CAAC;QAED,uDAAuD;QACvD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAE5B,sDAAsD;QACtD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uCAAuC,YAAY,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC/B,IAAI,EAAE,iBAAiB;YACvB,SAAS,EAAE,YAAY;YACvB,UAAU,EAAE,SAAS;YACrB,OAAO,EAAE,sBAAsB,YAAY,EAAE;SAC9C,CAAC,CAAC;IACL,CAAC;IAGD;;;OAGG;IACK,KAAK,CAAC,SAAS,CAAC,IAA4B;QAClD,IAAI,CAAC;YACH,wEAAwE;YAExE,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE1D,2BAA2B;YAC3B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC;gBAClB,MAAM,eAAe,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;gBAC3C,MAAM,eAAe,CAAC,SAAS,EAAE,CAAC,CAAC,gBAAgB;YAErD,mCAAmC;YACnC,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;YACzD,MAAM,YAAY,GAAG,UAAU,EAAE,EAAE,IAAI,IAAI,CAAC;YAE5C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,sBAAsB,KAAK,CAAC,MAAM,mBAAmB,YAAY,IAAI,MAAM,EAAE,CAAC,CAAC;YAEhG,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC;QACjC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,EAAE,KAAK,CAAC,CAAC;YAClD,OAAO,EAAE,KAAK,EAAE,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;QAC3C,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa;QACzB,+CAA+C;QAC/C,MAAM,aAAa,GAAG,IAAI,CAAC,CAAC,wBAAwB;QAEpD,IAAI,CAAC,aAAa,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;YAC1C,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC/B,CAAC,EAAE,aAAa,CAAC,CAAC;QAElB,mBAAmB;QACnB,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,eAAe;QAC3B,IAAI,CAAC;YACH,2CAA2C;YAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAElD,2BAA2B;YAC3B,IAAI,IAAI,CAAC,gBAAgB,IAAI,IAAI,CAAC,gBAAgB,KAAK,cAAc,EAAE,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,gBAAgB,OAAO,cAAc,EAAE,CAAC,CAAC;gBACvF,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC;gBAEvC,qDAAqD;gBACrD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;gBAE5B,qCAAqC;gBACrC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBAEvD,gDAAgD;gBAChD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC/B,IAAI,EAAE,eAAe;oBACrB,SAAS,EAAE,cAAc;oBACzB,KAAK,EAAE,KAAK,EAAE,iBAAiB;oBAC/B,YAAY,EAAE,YAAY;oBAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;gBACH,OAAO;YACT,CAAC;YAED,uCAAuC;YACvC,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,IAAI,CAAC,gBAAgB,GAAG,cAAc,CAAC;YACzC,CAAC;YAED,0CAA0C;YAC1C,wEAAwE;YACxE,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,CAAC;YAEvD,yCAAyC;YACzC,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;YACpD,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,0DAA0D;gBAC1D,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;oBAClC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,sBAAsB;gBACrD,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC5C,CAAC;YAED,oEAAoE;YACpE,IAAI,UAAU,GAAG,KAAK,CAAC;YACvB,MAAM,cAAc,GAAa,EAAE,CAAC;YACpC,MAAM,cAAc,GAAa,EAAE,CAAC;YAEpC,uCAAuC;YACvC,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,KAAK,iBAAiB,CAAC,IAAI,EAAE,CAAC;gBACxD,UAAU,GAAG,IAAI,CAAC;gBAClB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,IAAI,CAAC,cAAc,CAAC,IAAI,OAAO,iBAAiB,CAAC,IAAI,EAAE,CAAC,CAAC;YACnG,CAAC;YAED,0BAA0B;YAC1B,KAAK,MAAM,CAAC,EAAE,CAAC,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACvC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC/B,UAAU,GAAG,IAAI,CAAC;oBAClB,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAC;gBAC1C,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,KAAK,MAAM,CAAC,EAAE,EAAE,SAAS,CAAC,IAAI,iBAAiB,EAAE,CAAC;gBAChD,MAAM,iBAAiB,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;gBACtD,IAAI,CAAC,iBAAiB,EAAE,CAAC;oBACvB,UAAU,GAAG,IAAI,CAAC;oBAClB,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,EAAE,CAAC,CAAC;gBACxC,CAAC;qBAAM,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;oBAC3C,UAAU,GAAG,IAAI,CAAC;oBAClB,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;oBACxB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC;YAED,gCAAgC;YAChC,IAAI,CAAC,cAAc,GAAG,iBAAiB,CAAC;YAExC,qCAAqC;YACrC,IAAI,UAAU,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,cAAc,CAAC,MAAM,mBAAmB,cAAc,CAAC,MAAM,UAAU,CAAC,CAAC;gBAExH,gDAAgD;gBAChD,MAAM,YAAY,GAAW,EAAE,CAAC;gBAChC,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE,CAAC;oBACpC,MAAM,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC;oBACrD,IAAI,IAAI,EAAE,CAAC;wBACT,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAC1B,CAAC;gBACH,CAAC;gBAED,yBAAyB;gBACzB,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1D,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;gBACzD,MAAM,YAAY,GAAG,UAAU,EAAE,EAAE,IAAI,IAAI,CAAC;gBAE5C,MAAM,SAAS,GAAG;oBAChB,IAAI,EAAE,YAAY;oBAClB,YAAY,EAAE,YAAY,EAAE,kDAAkD;oBAC9E,cAAc,EAAE,cAAc,EAAE,uBAAuB;oBACvD,YAAY,EAAE,YAAY;oBAC1B,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE;oBACrC,UAAU,EAAE,aAAa,EAAE,qCAAqC;oBAChE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,OAAO,EAAE,gBAAgB,CAAC,uCAAuC;iBAClE,CAAC;gBAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8BAA8B,YAAY,CAAC,MAAM,aAAa,cAAc,CAAC,MAAM,UAAU,CAAC,CAAC;gBAChH,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAC9C,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,kBAAkB;QAC9B,IAAI,CAAC;YACH,+CAA+C;YAC/C,wEAAwE;YACxE,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,SAAS,EAAE,CAAC;YAEvD,8BAA8B;YAC9B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;YAC5B,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;gBAChC,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC;oBAClC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;oBACtC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC;gBAC9B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC;YAC9C,CAAC;YAED,wBAAwB;YACxB,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAEnD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,YAAY,CAAC,MAAM,oBAAoB,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QACxG,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,OAAO,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACpC,MAAM,GAAG,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,EAAE,oBAAoB,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;YAEhF,oCAAoC;YACpC,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;YAClD,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,oBAAoB,CAAC,CAAC;YACpE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,sBAAsB,CAAC,CAAC;YAEtE,4BAA4B;YAC5B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC7B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;gBACnB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,iBAAiB;YACjB,IAAI,GAAG,CAAC,QAAQ,KAAK,GAAG,EAAE,CAAC;gBACzB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YAC3B,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE,CAAC;gBACzC,yDAAyD;gBACzD,MAAM,SAAS,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBAC/C,MAAM,aAAa,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;gBAEvD,IAAI,QAA2C,CAAC;gBAChD,IAAI,SAAS,KAAK,QAAQ,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;oBACvD,QAAQ,GAAG,SAAS,CAAC;gBACvB,CAAC;qBAAM,IAAI,aAAa,KAAK,MAAM,EAAE,CAAC;oBACpC,QAAQ,GAAG,UAAU,CAAC,CAAE,yBAAyB;gBACnD,CAAC;qBAAM,IAAI,aAAa,KAAK,OAAO,EAAE,CAAC;oBACrC,QAAQ,GAAG,QAAQ,CAAC,CAAE,yBAAyB;gBACjD,CAAC;gBACD,yEAAyE;gBAEzE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;YACpC,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;gBACjD,MAAM,SAAS,GAAG,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;gBACzE,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC5B,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAE5B,iCAAiC;gBACjC,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,MAAM,EAAE,CAAC;oBACpC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;gBAClD,CAAC;qBAAM,IAAI,GAAG,CAAC,MAAM,KAAK,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;oBAC9C,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBAC1C,CAAC;qBAAM,CAAC;oBACN,uCAAuC;oBACvC,IAAI,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtC,CAAC;YACH,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACjC,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACtC,IAAI,CAAC,gBAAgB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YAClC,CAAC;iBAAM,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;gBAChH,0CAA0C;gBAC1C,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;YAC3C,CAAC;iBAAM,CAAC;gBACN,+DAA+D;gBAC/D,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBACnD,IAAI,aAAa,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;oBAClD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;gBAChC,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;oBACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACvB,CAAC;YACH,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,GAAwB;QAC7C,8BAA8B;QAC9B,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,IAAI,aAAa,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YAClD,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;QAChC,CAAC;aAAM,CAAC;YACN,oCAAoC;YACpC,MAAM,IAAI,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YACtC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAChB,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,aAAa,CAAC,GAAwB,EAAE,QAAgC;QACpF,IAAI,CAAC;YACH,iDAAiD;YACjD,wEAAwE;YACxE,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+CAA+C,QAAQ,EAAE,CAAC,CAAC;YAC7E,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAClF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,KAAK,CAAC,MAAM,QAAQ,CAAC,CAAC;YAErE,mCAAmC;YACnC,MAAM,UAAU,GAAG,MAAM,eAAe,CAAC,aAAa,EAAE,CAAC;YACzD,MAAM,YAAY,GAAG,UAAU,EAAE,EAAE,IAAI,IAAI,CAAC;YAE5C,sBAAsB;YACtB,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAElD,+CAA+C;YAC/C,kFAAkF;YAClF,gFAAgF;YAChF,MAAM,SAAS,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnC,MAAM,YAAY,GAAG,IAAI,CAAC,EAAE,KAAK,YAAY,CAAC;gBAE9C,sDAAsD;gBACtD,MAAM,SAAS,GAAG,IAAW,CAAC;gBAE9B,mDAAmD;gBACnD,OAAO;oBACL,gDAAgD;oBAChD,GAAG,SAAS;oBACZ,qCAAqC;oBACrC,gBAAgB,EAAE,YAAY;oBAC9B,IAAI,EAAE,SAAS,CAAC,KAAK,IAAI,cAAc;oBACvC,UAAU,EAAE,SAAS,CAAC,MAAM,EAAE,MAAM,IAAI,CAAC;oBACzC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC;iBAC5C,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,wDAAwD;YACxD,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,MAAM,SAAS,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;gBAC/B,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC;gBAClE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;gBAC3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBAEjG,0BAA0B;gBAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;gBAC3C,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;gBACpC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0CAA0C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAChG,CAAC;YAED,MAAM,QAAQ,GAAG;gBACf,KAAK,EAAE,SAAS;gBAChB,OAAO,EAAE,cAAc;gBACvB,YAAY,EAAE,YAAY;aAC3B,CAAC;YAEF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,KAAK,CAAC,CAAC;YACrD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,YAAY,CAAC,MAAc,EAAE,GAAmB,EAAE,GAAwB;QACtF,kDAAkD;QAClD,wEAAwE;QACxE,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC1D,IAAI,IAAI,CAAC;QAET,IAAI,CAAC;YACH,IAAI,GAAG,MAAM,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,qCAAqC,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACrD,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9C,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,oDAAoD;gBACpD,+CAA+C;gBAC/C,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,oBAAoB,CAAC,IAAY,CAAC,CAAC;gBAExE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;oBACrB,MAAM;oBACN,MAAM,EAAE,UAAU;iBACnB,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;gBAC5D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC;YAClE,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC;QAChC,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,KAAK,CAAC,eAAe,CAAC,GAAyB,EAAE,GAAwB;QAC/E,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzB,sBAAsB;YACtB,IAAI,SAAiB,CAAC;YAEtB,IAAI,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,CAAC;gBACzC,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE,IAAI,SAAS,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qCAAqC,SAAS,EAAE,CAAC,CAAC;YACrE,CAAC;iBAAM,CAAC;gBACN,oCAAoC;gBACpC,SAAS,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACvC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,+CAA+C,SAAS,EAAE,CAAC,CAAC;YAC/E,CAAC;YAED,gDAAgD;YAChD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;YAEvD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,SAAS,EAAE,SAAS;gBACpB,KAAK,EAAE,KAAK;gBACZ,YAAY,EAAE,YAAY;aAC3B,CAAC,CAAC,CAAC;QACN,CAAC;aAAM,CAAC;YACN,0DAA0D;YAC1D,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC;gBACrB,KAAK,EAAE,+DAA+D;aACvE,CAAC,CAAC,CAAC;QACN,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,IAA0B,EAAE,GAAwB,EAAE,MAAc,EAAE,MAAc;QACjH,IAAI,CAAC;YACH,wEAAwE;YACxE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAChC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE1D,IAAI,OAAO,GAAG,KAAK,CAAC;YACpB,IAAI,YAAY,GAAG,EAAE,CAAC;YACtB,IAAI,eAAe,GAAkB,IAAI,CAAC;YAE1C,IAAI,CAAC;gBACH,QAAQ,MAAM,EAAE,CAAC;oBACf,KAAK,SAAS;wBACZ,MAAM,eAAe,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,wBAAwB,EAAE,CAAC,CAAC;wBAChF,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM;oBACR,KAAK,WAAW;wBACd,MAAM,eAAe,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;wBAC5C,OAAO,GAAG,IAAI,CAAC;wBACf,MAAM;oBACR,KAAK,UAAU;wBACb,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2BAA2B,MAAM,EAAE,CAAC,CAAC;wBACtD,MAAM,eAAe,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;wBAC3C,eAAe,GAAG,MAAM,CAAC;wBACzB,OAAO,GAAG,IAAI,CAAC;wBACf,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,uBAAuB,MAAM,EAAE,CAAC,CAAC;wBAClD,MAAM;oBACR;wBACE,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;wBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mBAAmB,MAAM,EAAE,EAAE,CAAC,CAAC,CAAC;wBAChE,OAAO;gBACX,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,OAAO,GAAG,KAAK,CAAC;gBAChB,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC;gBAC3E,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,wBAAwB,MAAM,QAAQ,MAAM,KAAK,YAAY,EAAE,EAAE,KAAK,CAAC,CAAC;YAC5F,CAAC;YAED,IAAI,OAAO,EAAE,CAAC;gBACZ,0BAA0B;gBAC1B,MAAM,QAAQ,GAAiE;oBAC7E,OAAO,EAAE,IAAI;oBACb,OAAO,EAAE,QAAQ,MAAM,gBAAgB;iBACxC,CAAC;gBAEF,IAAI,eAAe,EAAE,CAAC;oBACpB,QAAQ,CAAC,YAAY,GAAG,eAAe,CAAC;gBAC1C,CAAC;gBAED,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAElC,0DAA0D;gBAC1D,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;gBACvD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAC/B,IAAI,EAAE,YAAY;oBAClB,KAAK,EAAE,KAAK;oBACZ,YAAY,EAAE,YAAY;oBAC1B,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE;oBACrC,MAAM;oBACN,MAAM;oBACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC,CAAC,CAAC;YACL,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,IAAI,aAAa,MAAM,OAAO,EAAE,CAAC,CAAC,CAAC;YACjF,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,8BAA8B,MAAM,QAAQ,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;YAChF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;YAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;QAC9D,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,IAA0B,EAAE,GAAwB,EAAE,MAAc;QACjG,IAAI,CAAC;YACH,wEAAwE;YACxE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;gBAChC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,mBAAmB,EAAE,CAAC,CAAC,CAAC;gBACxD,OAAO;YACT,CAAC;YAED,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,MAAM,gBAAgB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC,CAAC;YAE7G,IAAI,CAAC;gBACH,yCAAyC;gBACzC,mEAAmE;gBACnE,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC1D,MAAM,MAAM,GAAG,MAAM,eAAe,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBAExD,IAAI,MAAM,EAAE,CAAC;oBACX,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,MAAM,EAAE,CAAC,CAAC;oBAEhE,wBAAwB;oBACxB,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,2BAA2B,EAAE,CAAC,CAAC,CAAC;oBAEjF,0DAA0D;oBAC1D,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;oBACvD,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE;wBAC/B,IAAI,EAAE,YAAY;wBAClB,KAAK,EAAE,KAAK;wBACZ,YAAY,EAAE,YAAY;wBAC1B,SAAS,EAAE,IAAI,CAAC,mBAAmB,EAAE;wBACrC,MAAM,EAAE,QAAQ;wBAChB,MAAM;wBACN,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;qBACpC,CAAC,CAAC;gBACL,CAAC;qBAAM,CAAC;oBACN,kFAAkF;oBAClF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC,CAAC;gBAC9D,CAAC;YACH,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,6CAA6C;gBAC7C,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,uBAAuB,CAAC;gBACtF,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;gBAEpE,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACvC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;gBACvD,CAAC;qBAAM,IAAI,YAAY,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;oBACrD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC,CAAC,CAAC;gBAC3E,CAAC;qBAAM,CAAC;oBACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;oBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;gBACnD,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uBAAuB,MAAM,GAAG,EAAE,KAAK,CAAC,CAAC;YAC3D,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;YAE9E,qCAAqC;YACrC,IAAI,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,CAAC;gBAClF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACN,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,CAAC,CAAC;gBAC3D,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;YACnD,CAAC;QACH,CAAC;IACH,CAAC;IAED;;OAEG;IACK,KAAK,CAAC,gBAAgB,CAAC,GAAyB,EAAE,GAAwB;QAChF,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE;YACjB,cAAc,EAAE,mBAAmB;YACnC,eAAe,EAAE,UAAU;YAC3B,YAAY,EAAE,YAAY;YAC1B,6BAA6B,EAAE,GAAG;YAClC,8BAA8B,EAAE,cAAc;YAC9C,8BAA8B,EAAE,cAAc;SAC/C,CAAC,CAAC;QAEH,wBAAwB;QACxB,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAEhC,iDAAiD;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAElD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,iDAAiD,cAAc,EAAE,CAAC,CAAC;QAEpF,kDAAkD;QAClD,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,CAAC;QAEvD,iEAAiE;QACjE,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC;YAChC,IAAI,EAAE,WAAW;YACjB,SAAS,EAAE,cAAc;YACzB,KAAK,EAAE,KAAK,EAAE,uCAAuC;YACrD,YAAY,EAAE,YAAY;YAC1B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;SACpC,CAAC,MAAM,CAAC,CAAC;QAEV,mCAAmC;QACnC,MAAM,SAAS,GAAG,WAAW,CAAC,GAAG,EAAE;YACjC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QACzB,CAAC,EAAE,KAAK,CAAC,CAAC;QAEV,0BAA0B;QAC1B,MAAM,aAAa,GAAG,CAAC,IAAa,EAAE,EAAE;YACtC,IAAI,CAAC;gBACH,GAAG,CAAC,KAAK,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACjD,CAAC;YAAC,MAAM,CAAC;gBACP,6BAA6B;YAC/B,CAAC;QACH,CAAC,CAAC;QACF,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAE9C,gCAAgC;QAChC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE;YACnB,aAAa,CAAC,SAAS,CAAC,CAAC;YACzB,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;YAC/C,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QACrC,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;OAEG;IACK,iBAAiB,CAAC,IAAa;QACrC,MAAM,SAAS,GAAG,IAA8C,CAAC;QACjE,IAAI,CAAC,SAAS,CAAC,MAAM,IAAI,SAAS,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,CAAC,CAAC;QAEjE,MAAM,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,WAAW,CAAC,CAAC,MAAM,CAAC;QACxF,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,GAAG,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC;IACvE,CAAC;IAED;;OAEG;IACK,iBAAiB;QACvB,IAAI,CAAC;YACH,0CAA0C;YAC1C,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE3C,+BAA+B;YAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,gBAAgB,CAAC,CAAC;YACxD,IAAI,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAE9C,kDAAkD;YAClD,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAClD,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,sBAAsB,EAAE,cAAc,CAAC,CAAC;YAE5D,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;YAC3D,kCAAkC;YAClC,OAAO,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACrC,CAAC;IACH,CAAC;IAED;;OAEG;IACK,oBAAoB;QAC1B,MAAM,cAAc,GAAG,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAClD,OAAO;;;;;;wBAMa,cAAc;;QAE9B,CAAC;IACP,CAAC;IAED;;OAEG;IACK,qBAAqB;QAC3B,IAAI,CAAC;YACH,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAE3C,wFAAwF;YACxF,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YACxD,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,OAAO,EAAE,CAAC,CAAC;gBAChE,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,gCAAgC;YAChC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;YAC/D,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,2CAA2C,QAAQ,EAAE,CAAC,CAAC;gBACxE,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,iCAAiC;YACjC,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,sBAAsB,EAAE,MAAM,CAAC,CAAC;YACvF,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,EAAE,CAAC;gBACpD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,4CAA4C,OAAO,EAAE,CAAC,CAAC;gBACxE,OAAO,OAAO,CAAC;YACjB,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YACjE,OAAO,IAAI,CAAC;QACd,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,KAAK,CAAC,CAAC;YAC9D,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;;OAEG;IACK,mBAAmB,CAAC,GAAwB;QAClD,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACzB,OAAO;QACT,CAAC;QAED,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;QACzD,MAAM,IAAI,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QACjD,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;QACpD,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,OAAe,EAAE,GAAwB;QAChE,MAAM,aAAa,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACnD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,wCAAwC;QACxC,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;QAEjE,8DAA8D;QAC9D,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;YACzC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9B,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YACrB,OAAO;QACT,CAAC;QAED,yBAAyB;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,CAAC;QAClD,MAAM,YAAY,GAA2B;YAC3C,OAAO,EAAE,WAAW;YACpB,KAAK,EAAE,wBAAwB;YAC/B,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,kBAAkB;YAC3B,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,YAAY;YACpB,MAAM,EAAE,WAAW;YACnB,MAAM,EAAE,eAAe;YACvB,MAAM,EAAE,cAAc;SACvB,CAAC;QAEF,MAAM,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,IAAI,0BAA0B,CAAC;QAEpE,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;YAC3C,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,cAAc,EAAE,WAAW,EAAE,CAAC,CAAC;YACpD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YAC1D,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;QACnC,CAAC;IACH,CAAC;CACF"}
@@ -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;mBAkIZ,YAAY;mBAqDZ,YAAY;mBA0DZ,YAAY;mBAoCZ,UAAU;mBAoEV,aAAa;mBA8Cb,YAAY;mBAuCZ,WAAW;mBAqDX,eAAe;CAyBrC"}
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
- console.warn(`Warning: Failed to set plan ${plan.id} as active for persona ${context.activePersona?.id}`);
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.10",
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.3.10",
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
  },