@shin1ohno/sage 0.10.0 → 0.11.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/cli/mcp-handler.d.ts.map +1 -1
- package/dist/cli/mcp-handler.js +154 -6
- package/dist/cli/mcp-handler.js.map +1 -1
- package/dist/cli/signal-handler.d.ts +23 -0
- package/dist/cli/signal-handler.d.ts.map +1 -0
- package/dist/cli/signal-handler.js +51 -0
- package/dist/cli/signal-handler.js.map +1 -0
- package/dist/config/config-differ.d.ts +21 -0
- package/dist/config/config-differ.d.ts.map +1 -0
- package/dist/config/config-differ.js +194 -0
- package/dist/config/config-differ.js.map +1 -0
- package/dist/config/config-reload-service.d.ts +84 -0
- package/dist/config/config-reload-service.d.ts.map +1 -0
- package/dist/config/config-reload-service.js +234 -0
- package/dist/config/config-reload-service.js.map +1 -0
- package/dist/config/config-watcher.d.ts +78 -0
- package/dist/config/config-watcher.d.ts.map +1 -0
- package/dist/config/config-watcher.js +244 -0
- package/dist/config/config-watcher.js.map +1 -0
- package/dist/config/hot-reload-config.d.ts +16 -0
- package/dist/config/hot-reload-config.d.ts.map +1 -0
- package/dist/config/hot-reload-config.js +61 -0
- package/dist/config/hot-reload-config.js.map +1 -0
- package/dist/index.js +58 -0
- package/dist/index.js.map +1 -1
- package/dist/services/reloadable/calendar-source-manager-adapter.d.ts +45 -0
- package/dist/services/reloadable/calendar-source-manager-adapter.d.ts.map +1 -0
- package/dist/services/reloadable/calendar-source-manager-adapter.js +106 -0
- package/dist/services/reloadable/calendar-source-manager-adapter.js.map +1 -0
- package/dist/services/reloadable/index.d.ts +46 -0
- package/dist/services/reloadable/index.d.ts.map +1 -0
- package/dist/services/reloadable/index.js +88 -0
- package/dist/services/reloadable/index.js.map +1 -0
- package/dist/services/reloadable/notion-service-adapter.d.ts +45 -0
- package/dist/services/reloadable/notion-service-adapter.d.ts.map +1 -0
- package/dist/services/reloadable/notion-service-adapter.js +86 -0
- package/dist/services/reloadable/notion-service-adapter.js.map +1 -0
- package/dist/services/reloadable/priority-engine-adapter.d.ts +73 -0
- package/dist/services/reloadable/priority-engine-adapter.d.ts.map +1 -0
- package/dist/services/reloadable/priority-engine-adapter.js +105 -0
- package/dist/services/reloadable/priority-engine-adapter.js.map +1 -0
- package/dist/services/reloadable/reminder-manager-adapter.d.ts +45 -0
- package/dist/services/reloadable/reminder-manager-adapter.d.ts.map +1 -0
- package/dist/services/reloadable/reminder-manager-adapter.js +80 -0
- package/dist/services/reloadable/reminder-manager-adapter.js.map +1 -0
- package/dist/services/reloadable/todo-list-manager-adapter.d.ts +45 -0
- package/dist/services/reloadable/todo-list-manager-adapter.d.ts.map +1 -0
- package/dist/services/reloadable/todo-list-manager-adapter.js +80 -0
- package/dist/services/reloadable/todo-list-manager-adapter.js.map +1 -0
- package/dist/services/reloadable/working-cadence-adapter.d.ts +52 -0
- package/dist/services/reloadable/working-cadence-adapter.d.ts.map +1 -0
- package/dist/services/reloadable/working-cadence-adapter.js +77 -0
- package/dist/services/reloadable/working-cadence-adapter.js.map +1 -0
- package/dist/services/service-registry.d.ts +85 -0
- package/dist/services/service-registry.d.ts.map +1 -0
- package/dist/services/service-registry.js +166 -0
- package/dist/services/service-registry.js.map +1 -0
- package/dist/tools/config/index.d.ts +9 -0
- package/dist/tools/config/index.d.ts.map +1 -0
- package/dist/tools/config/index.js +8 -0
- package/dist/tools/config/index.js.map +1 -0
- package/dist/tools/config/reload-handler.d.ts +35 -0
- package/dist/tools/config/reload-handler.d.ts.map +1 -0
- package/dist/tools/config/reload-handler.js +63 -0
- package/dist/tools/config/reload-handler.js.map +1 -0
- package/dist/tools/integrations/handlers.d.ts +2 -0
- package/dist/tools/integrations/handlers.d.ts.map +1 -1
- package/dist/tools/integrations/handlers.js.map +1 -1
- package/dist/tools/setup/handlers.d.ts +2 -0
- package/dist/tools/setup/handlers.d.ts.map +1 -1
- package/dist/tools/setup/handlers.js +14 -0
- package/dist/tools/setup/handlers.js.map +1 -1
- package/dist/types/hot-reload.d.ts +131 -0
- package/dist/types/hot-reload.d.ts.map +1 -0
- package/dist/types/hot-reload.js +5 -0
- package/dist/types/hot-reload.js.map +1 -0
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-handler.d.ts","sourceRoot":"","sources":["../../src/cli/mcp-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;
|
|
1
|
+
{"version":3,"file":"mcp-handler.d.ts","sourceRoot":"","sources":["../../src/cli/mcp-handler.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AA+EH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,KAAK,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC3B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,QAAQ,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AASD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,aAAa,CAAC,OAAO,EAAE,UAAU,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IACzD,SAAS,IAAI,cAAc,EAAE,CAAC;CAC/B;AA2rCD;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC,CAI5D"}
|
package/dist/cli/mcp-handler.js
CHANGED
|
@@ -16,6 +16,12 @@ import { WorkingCadenceService } from '../services/working-cadence.js';
|
|
|
16
16
|
import { CalendarSourceManager } from '../integrations/calendar-source-manager.js';
|
|
17
17
|
import { GoogleCalendarService } from '../integrations/google-calendar-service.js';
|
|
18
18
|
import { GoogleOAuthHandler } from '../oauth/google-oauth-handler.js';
|
|
19
|
+
// Hot-reload imports
|
|
20
|
+
import { ServiceRegistry } from '../services/service-registry.js';
|
|
21
|
+
import { CalendarSourceManagerAdapter, createCalendarSourceManager, ReminderManagerAdapter, createReminderManager, WorkingCadenceAdapter, createWorkingCadenceService, NotionServiceAdapter, createNotionMCPService, TodoListManagerAdapter, createTodoListManager, } from '../services/reloadable/index.js';
|
|
22
|
+
import { ConfigWatcher } from '../config/config-watcher.js';
|
|
23
|
+
import { ConfigReloadService } from '../config/config-reload-service.js';
|
|
24
|
+
import { getHotReloadConfig } from '../config/hot-reload-config.js';
|
|
19
25
|
// Extracted tool handlers
|
|
20
26
|
import { handleCheckSetupStatus, handleStartSetupWizard, handleAnswerWizardQuestion, handleSaveConfig, } from '../tools/setup/index.js';
|
|
21
27
|
import { handleAnalyzeTasks, handleUpdateTaskStatus, handleSyncTasks, handleDetectDuplicates, } from '../tools/tasks/index.js';
|
|
@@ -40,6 +46,14 @@ class MCPHandlerImpl {
|
|
|
40
46
|
calendarSourceManager = null;
|
|
41
47
|
googleCalendarService = null;
|
|
42
48
|
initialized = false;
|
|
49
|
+
// Hot-reload infrastructure
|
|
50
|
+
serviceRegistry = null;
|
|
51
|
+
configReloadService = null;
|
|
52
|
+
calendarSourceManagerAdapter = null;
|
|
53
|
+
reminderManagerAdapter = null;
|
|
54
|
+
workingCadenceAdapter = null;
|
|
55
|
+
notionServiceAdapter = null;
|
|
56
|
+
todoListManagerAdapter = null;
|
|
43
57
|
tools = new Map();
|
|
44
58
|
constructor() {
|
|
45
59
|
this.registerTools();
|
|
@@ -55,6 +69,7 @@ class MCPHandlerImpl {
|
|
|
55
69
|
this.config = await ConfigLoader.load();
|
|
56
70
|
if (this.config) {
|
|
57
71
|
this.initializeServices(this.config);
|
|
72
|
+
await this.initializeHotReload(this.config);
|
|
58
73
|
}
|
|
59
74
|
}
|
|
60
75
|
catch {
|
|
@@ -62,6 +77,103 @@ class MCPHandlerImpl {
|
|
|
62
77
|
}
|
|
63
78
|
this.initialized = true;
|
|
64
79
|
}
|
|
80
|
+
/**
|
|
81
|
+
* Initialize hot-reload infrastructure
|
|
82
|
+
* Creates ServiceRegistry, adapters, and ConfigReloadService
|
|
83
|
+
*/
|
|
84
|
+
async initializeHotReload(config) {
|
|
85
|
+
const hotReloadConfig = getHotReloadConfig();
|
|
86
|
+
// Skip hot-reload setup if disabled
|
|
87
|
+
if (hotReloadConfig.disabled) {
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
// Create ServiceRegistry
|
|
91
|
+
this.serviceRegistry = new ServiceRegistry();
|
|
92
|
+
// Create and register CalendarSourceManager adapter
|
|
93
|
+
this.calendarSourceManagerAdapter = new CalendarSourceManagerAdapter(createCalendarSourceManager);
|
|
94
|
+
await this.calendarSourceManagerAdapter.reinitialize(config);
|
|
95
|
+
this.serviceRegistry.register(this.calendarSourceManagerAdapter);
|
|
96
|
+
// Create and register ReminderManager adapter
|
|
97
|
+
this.reminderManagerAdapter = new ReminderManagerAdapter(createReminderManager);
|
|
98
|
+
await this.reminderManagerAdapter.reinitialize(config);
|
|
99
|
+
this.serviceRegistry.register(this.reminderManagerAdapter);
|
|
100
|
+
// Create and register WorkingCadenceService adapter
|
|
101
|
+
this.workingCadenceAdapter = new WorkingCadenceAdapter(createWorkingCadenceService);
|
|
102
|
+
// Set CalendarSourceManager dependency
|
|
103
|
+
const calendarManagerInstance = this.calendarSourceManagerAdapter.getInstance();
|
|
104
|
+
if (calendarManagerInstance) {
|
|
105
|
+
this.workingCadenceAdapter.setCalendarSourceManager(calendarManagerInstance);
|
|
106
|
+
}
|
|
107
|
+
await this.workingCadenceAdapter.reinitialize(config);
|
|
108
|
+
this.serviceRegistry.register(this.workingCadenceAdapter);
|
|
109
|
+
// Create and register NotionMCPService adapter
|
|
110
|
+
this.notionServiceAdapter = new NotionServiceAdapter(createNotionMCPService);
|
|
111
|
+
await this.notionServiceAdapter.reinitialize(config);
|
|
112
|
+
this.serviceRegistry.register(this.notionServiceAdapter);
|
|
113
|
+
// Create and register TodoListManager adapter
|
|
114
|
+
this.todoListManagerAdapter = new TodoListManagerAdapter(createTodoListManager);
|
|
115
|
+
await this.todoListManagerAdapter.reinitialize(config);
|
|
116
|
+
this.serviceRegistry.register(this.todoListManagerAdapter);
|
|
117
|
+
// Create ConfigWatcher and ConfigReloadService
|
|
118
|
+
const configWatcher = new ConfigWatcher({
|
|
119
|
+
debounceMs: hotReloadConfig.debounceMs,
|
|
120
|
+
});
|
|
121
|
+
this.configReloadService = new ConfigReloadService(configWatcher, this.serviceRegistry, {
|
|
122
|
+
enableAutoReload: true,
|
|
123
|
+
onReload: (result) => {
|
|
124
|
+
// Update local service references after reload
|
|
125
|
+
if (result.success) {
|
|
126
|
+
this.updateServiceReferencesFromAdapters();
|
|
127
|
+
}
|
|
128
|
+
},
|
|
129
|
+
});
|
|
130
|
+
// Start watching for config changes
|
|
131
|
+
await configWatcher.start();
|
|
132
|
+
await this.configReloadService.start();
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Update local service references from adapter instances
|
|
136
|
+
* Called after hot-reload to sync the service references
|
|
137
|
+
*/
|
|
138
|
+
updateServiceReferencesFromAdapters() {
|
|
139
|
+
if (this.calendarSourceManagerAdapter) {
|
|
140
|
+
const instance = this.calendarSourceManagerAdapter.getInstance();
|
|
141
|
+
if (instance) {
|
|
142
|
+
this.calendarSourceManager = instance;
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
if (this.reminderManagerAdapter) {
|
|
146
|
+
const instance = this.reminderManagerAdapter.getInstance();
|
|
147
|
+
if (instance) {
|
|
148
|
+
this.reminderManager = instance;
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
if (this.workingCadenceAdapter) {
|
|
152
|
+
const instance = this.workingCadenceAdapter.getInstance();
|
|
153
|
+
if (instance) {
|
|
154
|
+
this.workingCadenceService = instance;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
if (this.notionServiceAdapter) {
|
|
158
|
+
const instance = this.notionServiceAdapter.getInstance();
|
|
159
|
+
if (instance) {
|
|
160
|
+
this.notionService = instance;
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
if (this.todoListManagerAdapter) {
|
|
164
|
+
const instance = this.todoListManagerAdapter.getInstance();
|
|
165
|
+
if (instance) {
|
|
166
|
+
this.todoListManager = instance;
|
|
167
|
+
}
|
|
168
|
+
}
|
|
169
|
+
// Update config from ConfigReloadService
|
|
170
|
+
if (this.configReloadService) {
|
|
171
|
+
const newConfig = this.configReloadService.getCurrentConfig();
|
|
172
|
+
if (newConfig) {
|
|
173
|
+
this.config = newConfig;
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
}
|
|
65
177
|
/**
|
|
66
178
|
* Initialize services with config
|
|
67
179
|
*/
|
|
@@ -114,7 +226,13 @@ class MCPHandlerImpl {
|
|
|
114
226
|
createTaskToolsContext() {
|
|
115
227
|
return {
|
|
116
228
|
getConfig: () => this.config,
|
|
117
|
-
getTodoListManager: () =>
|
|
229
|
+
getTodoListManager: () => {
|
|
230
|
+
// Prefer reloadable adapter instance if available
|
|
231
|
+
if (this.todoListManagerAdapter) {
|
|
232
|
+
return this.todoListManagerAdapter.getInstance();
|
|
233
|
+
}
|
|
234
|
+
return this.todoListManager;
|
|
235
|
+
},
|
|
118
236
|
getTaskSynchronizer: () => this.taskSynchronizer,
|
|
119
237
|
initializeServices: (config) => this.initializeServices(config),
|
|
120
238
|
};
|
|
@@ -125,8 +243,20 @@ class MCPHandlerImpl {
|
|
|
125
243
|
createReminderTodoContext() {
|
|
126
244
|
return {
|
|
127
245
|
getConfig: () => this.config,
|
|
128
|
-
getReminderManager: () =>
|
|
129
|
-
|
|
246
|
+
getReminderManager: () => {
|
|
247
|
+
// Prefer reloadable adapter instance if available
|
|
248
|
+
if (this.reminderManagerAdapter) {
|
|
249
|
+
return this.reminderManagerAdapter.getInstance();
|
|
250
|
+
}
|
|
251
|
+
return this.reminderManager;
|
|
252
|
+
},
|
|
253
|
+
getTodoListManager: () => {
|
|
254
|
+
// Prefer reloadable adapter instance if available
|
|
255
|
+
if (this.todoListManagerAdapter) {
|
|
256
|
+
return this.todoListManagerAdapter.getInstance();
|
|
257
|
+
}
|
|
258
|
+
return this.todoListManager;
|
|
259
|
+
},
|
|
130
260
|
initializeServices: (config) => this.initializeServices(config),
|
|
131
261
|
};
|
|
132
262
|
}
|
|
@@ -139,7 +269,13 @@ class MCPHandlerImpl {
|
|
|
139
269
|
setConfig: (config) => {
|
|
140
270
|
this.config = config;
|
|
141
271
|
},
|
|
142
|
-
getNotionService: () =>
|
|
272
|
+
getNotionService: () => {
|
|
273
|
+
// Prefer reloadable adapter instance if available
|
|
274
|
+
if (this.notionServiceAdapter) {
|
|
275
|
+
return this.notionServiceAdapter.getInstance();
|
|
276
|
+
}
|
|
277
|
+
return this.notionService;
|
|
278
|
+
},
|
|
143
279
|
initializeServices: (config) => this.initializeServices(config),
|
|
144
280
|
};
|
|
145
281
|
}
|
|
@@ -149,10 +285,22 @@ class MCPHandlerImpl {
|
|
|
149
285
|
createCalendarToolsContext() {
|
|
150
286
|
return {
|
|
151
287
|
getConfig: () => this.config,
|
|
152
|
-
getCalendarSourceManager: () =>
|
|
288
|
+
getCalendarSourceManager: () => {
|
|
289
|
+
// Prefer reloadable adapter instance if available
|
|
290
|
+
if (this.calendarSourceManagerAdapter) {
|
|
291
|
+
return this.calendarSourceManagerAdapter.getInstance();
|
|
292
|
+
}
|
|
293
|
+
return this.calendarSourceManager;
|
|
294
|
+
},
|
|
153
295
|
getCalendarEventResponseService: () => this.calendarEventResponseService,
|
|
154
296
|
getGoogleCalendarService: () => this.googleCalendarService,
|
|
155
|
-
getWorkingCadenceService: () =>
|
|
297
|
+
getWorkingCadenceService: () => {
|
|
298
|
+
// Prefer reloadable adapter instance if available
|
|
299
|
+
if (this.workingCadenceAdapter) {
|
|
300
|
+
return this.workingCadenceAdapter.getInstance();
|
|
301
|
+
}
|
|
302
|
+
return this.workingCadenceService;
|
|
303
|
+
},
|
|
156
304
|
setWorkingCadenceService: (service) => {
|
|
157
305
|
this.workingCadenceService = service;
|
|
158
306
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mcp-handler.js","sourceRoot":"","sources":["../../src/cli/mcp-handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mcp-handler.js","sourceRoot":"","sources":["../../src/cli/mcp-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signal Handler for Hot Reload
|
|
3
|
+
* Handles Unix signals for configuration reload and graceful shutdown.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Interface for ConfigReloadService that signal handler depends on.
|
|
7
|
+
* This is a minimal interface to avoid circular dependencies.
|
|
8
|
+
*/
|
|
9
|
+
export interface ConfigReloadServiceInterface {
|
|
10
|
+
reload(): Promise<import('../types/hot-reload.js').ReloadResult>;
|
|
11
|
+
stop(): void;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Setup signal handlers for hot reload and graceful shutdown.
|
|
15
|
+
*
|
|
16
|
+
* - SIGHUP: Triggers configuration reload
|
|
17
|
+
* - SIGTERM: Initiates graceful shutdown
|
|
18
|
+
* - SIGINT: Initiates graceful shutdown
|
|
19
|
+
*
|
|
20
|
+
* @param configReloadService - Service that handles config reloading
|
|
21
|
+
*/
|
|
22
|
+
export declare function setupSignalHandlers(configReloadService: ConfigReloadServiceInterface): void;
|
|
23
|
+
//# sourceMappingURL=signal-handler.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-handler.d.ts","sourceRoot":"","sources":["../../src/cli/signal-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAMH;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,MAAM,IAAI,OAAO,CAAC,OAAO,wBAAwB,EAAE,YAAY,CAAC,CAAC;IACjE,IAAI,IAAI,IAAI,CAAC;CACd;AAED;;;;;;;;GAQG;AACH,wBAAgB,mBAAmB,CAAC,mBAAmB,EAAE,4BAA4B,GAAG,IAAI,CA2C3F"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Signal Handler for Hot Reload
|
|
3
|
+
* Handles Unix signals for configuration reload and graceful shutdown.
|
|
4
|
+
*/
|
|
5
|
+
import { createLogger } from '../utils/logger.js';
|
|
6
|
+
const logger = createLogger('signal-handler');
|
|
7
|
+
/**
|
|
8
|
+
* Setup signal handlers for hot reload and graceful shutdown.
|
|
9
|
+
*
|
|
10
|
+
* - SIGHUP: Triggers configuration reload
|
|
11
|
+
* - SIGTERM: Initiates graceful shutdown
|
|
12
|
+
* - SIGINT: Initiates graceful shutdown
|
|
13
|
+
*
|
|
14
|
+
* @param configReloadService - Service that handles config reloading
|
|
15
|
+
*/
|
|
16
|
+
export function setupSignalHandlers(configReloadService) {
|
|
17
|
+
// Handle SIGHUP - reload configuration
|
|
18
|
+
process.on('SIGHUP', async () => {
|
|
19
|
+
logger.info('Received SIGHUP signal, reloading configuration');
|
|
20
|
+
try {
|
|
21
|
+
const result = await configReloadService.reload();
|
|
22
|
+
if (result.success) {
|
|
23
|
+
logger.info({
|
|
24
|
+
changedSections: result.changedSections,
|
|
25
|
+
reinitializedServices: result.reinitializedServices,
|
|
26
|
+
durationMs: result.durationMs,
|
|
27
|
+
}, 'Configuration reload completed successfully');
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
logger.error({ error: result.error }, 'Configuration reload failed');
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
catch (error) {
|
|
34
|
+
logger.error({ error: error instanceof Error ? error.message : 'Unknown error' }, 'Configuration reload failed with exception');
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
// Handle SIGTERM - graceful shutdown
|
|
38
|
+
process.on('SIGTERM', () => {
|
|
39
|
+
logger.info('Received SIGTERM signal, initiating graceful shutdown');
|
|
40
|
+
configReloadService.stop();
|
|
41
|
+
process.exit(0);
|
|
42
|
+
});
|
|
43
|
+
// Handle SIGINT - graceful shutdown (Ctrl+C)
|
|
44
|
+
process.on('SIGINT', () => {
|
|
45
|
+
logger.info('Received SIGINT signal, initiating graceful shutdown');
|
|
46
|
+
configReloadService.stop();
|
|
47
|
+
process.exit(0);
|
|
48
|
+
});
|
|
49
|
+
logger.debug('Signal handlers registered for SIGHUP, SIGTERM, and SIGINT');
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=signal-handler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"signal-handler.js","sourceRoot":"","sources":["../../src/cli/signal-handler.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,MAAM,MAAM,GAAG,YAAY,CAAC,gBAAgB,CAAC,CAAC;AAW9C;;;;;;;;GAQG;AACH,MAAM,UAAU,mBAAmB,CAAC,mBAAiD;IACnF,uCAAuC;IACvC,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,IAAI,EAAE;QAC9B,MAAM,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;QAE/D,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,MAAM,EAAE,CAAC;YAElD,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,MAAM,CAAC,IAAI,CACT;oBACE,eAAe,EAAE,MAAM,CAAC,eAAe;oBACvC,qBAAqB,EAAE,MAAM,CAAC,qBAAqB;oBACnD,UAAU,EAAE,MAAM,CAAC,UAAU;iBAC9B,EACD,6CAA6C,CAC9C,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,EAAE,6BAA6B,CAAC,CAAC;YACvE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,KAAK,CACV,EAAE,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,EACnE,4CAA4C,CAC7C,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,qCAAqC;IACrC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;QACzB,MAAM,CAAC,IAAI,CAAC,uDAAuD,CAAC,CAAC;QACrE,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,6CAA6C;IAC7C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE;QACxB,MAAM,CAAC,IAAI,CAAC,sDAAsD,CAAC,CAAC;QACpE,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,KAAK,CAAC,4DAA4D,CAAC,CAAC;AAC7E,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration differ utility
|
|
3
|
+
* Provides deep comparison functionality for UserConfig objects
|
|
4
|
+
*/
|
|
5
|
+
import type { UserConfig } from '../types/config.js';
|
|
6
|
+
import type { ConfigDiff } from '../types/hot-reload.js';
|
|
7
|
+
/**
|
|
8
|
+
* Compare two UserConfig objects and return the differences
|
|
9
|
+
* @param oldConfig - Previous configuration
|
|
10
|
+
* @param newConfig - New configuration
|
|
11
|
+
* @returns ConfigDiff describing all differences
|
|
12
|
+
*/
|
|
13
|
+
export declare function diffConfig(oldConfig: UserConfig, newConfig: UserConfig): ConfigDiff;
|
|
14
|
+
/**
|
|
15
|
+
* Check if the config diff contains significant changes that warrant service re-initialization
|
|
16
|
+
* Changes to metadata fields (version, createdAt, lastUpdated) are not considered significant
|
|
17
|
+
* @param diff - ConfigDiff to evaluate
|
|
18
|
+
* @returns true if there are significant changes
|
|
19
|
+
*/
|
|
20
|
+
export declare function hasSignificantChanges(diff: ConfigDiff): boolean;
|
|
21
|
+
//# sourceMappingURL=config-differ.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-differ.d.ts","sourceRoot":"","sources":["../../src/config/config-differ.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AA4HzD;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,UAAU,EAAE,SAAS,EAAE,UAAU,GAAG,UAAU,CA4DnF;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CA8B/D"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Configuration differ utility
|
|
3
|
+
* Provides deep comparison functionality for UserConfig objects
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Top-level sections in UserConfig that can be compared
|
|
7
|
+
*/
|
|
8
|
+
const CONFIG_SECTIONS = [
|
|
9
|
+
'user',
|
|
10
|
+
'calendar',
|
|
11
|
+
'priorityRules',
|
|
12
|
+
'estimation',
|
|
13
|
+
'reminders',
|
|
14
|
+
'team',
|
|
15
|
+
'integrations',
|
|
16
|
+
'preferences',
|
|
17
|
+
];
|
|
18
|
+
/**
|
|
19
|
+
* Check if two values are deeply equal
|
|
20
|
+
* @param a - First value
|
|
21
|
+
* @param b - Second value
|
|
22
|
+
* @returns true if values are deeply equal
|
|
23
|
+
*/
|
|
24
|
+
function deepEqual(a, b) {
|
|
25
|
+
// Handle primitive types and null/undefined
|
|
26
|
+
if (a === b) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
// Handle null/undefined cases
|
|
30
|
+
if (a === null || b === null || a === undefined || b === undefined) {
|
|
31
|
+
return false;
|
|
32
|
+
}
|
|
33
|
+
// Handle different types
|
|
34
|
+
if (typeof a !== typeof b) {
|
|
35
|
+
return false;
|
|
36
|
+
}
|
|
37
|
+
// Handle arrays
|
|
38
|
+
if (Array.isArray(a) && Array.isArray(b)) {
|
|
39
|
+
if (a.length !== b.length) {
|
|
40
|
+
return false;
|
|
41
|
+
}
|
|
42
|
+
return a.every((item, index) => deepEqual(item, b[index]));
|
|
43
|
+
}
|
|
44
|
+
// Handle objects
|
|
45
|
+
if (typeof a === 'object' && typeof b === 'object') {
|
|
46
|
+
const aObj = a;
|
|
47
|
+
const bObj = b;
|
|
48
|
+
const aKeys = Object.keys(aObj);
|
|
49
|
+
const bKeys = Object.keys(bObj);
|
|
50
|
+
// Check if both objects have the same number of keys
|
|
51
|
+
if (aKeys.length !== bKeys.length) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
// Check if all keys in a exist in b with equal values
|
|
55
|
+
return aKeys.every((key) => {
|
|
56
|
+
if (!Object.prototype.hasOwnProperty.call(bObj, key)) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
return deepEqual(aObj[key], bObj[key]);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
// Primitive values that are not equal
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Get all keys from an object recursively with dot notation
|
|
67
|
+
* @param obj - Object to get keys from
|
|
68
|
+
* @param prefix - Prefix for nested keys
|
|
69
|
+
* @returns Array of dot-notation key paths
|
|
70
|
+
*/
|
|
71
|
+
function getDeepKeys(obj, prefix = '') {
|
|
72
|
+
if (obj === null || obj === undefined || typeof obj !== 'object' || Array.isArray(obj)) {
|
|
73
|
+
return prefix ? [prefix] : [];
|
|
74
|
+
}
|
|
75
|
+
const objRecord = obj;
|
|
76
|
+
const keys = [];
|
|
77
|
+
for (const key of Object.keys(objRecord)) {
|
|
78
|
+
const fullKey = prefix ? `${prefix}.${key}` : key;
|
|
79
|
+
const value = objRecord[key];
|
|
80
|
+
if (value !== null && typeof value === 'object' && !Array.isArray(value)) {
|
|
81
|
+
keys.push(...getDeepKeys(value, fullKey));
|
|
82
|
+
}
|
|
83
|
+
else {
|
|
84
|
+
keys.push(fullKey);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return keys;
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Get a value from an object using dot notation path
|
|
91
|
+
* @param obj - Object to get value from
|
|
92
|
+
* @param path - Dot notation path
|
|
93
|
+
* @returns Value at path or undefined
|
|
94
|
+
*/
|
|
95
|
+
function getValueByPath(obj, path) {
|
|
96
|
+
if (obj === null || obj === undefined || typeof obj !== 'object') {
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
const parts = path.split('.');
|
|
100
|
+
let current = obj;
|
|
101
|
+
for (const part of parts) {
|
|
102
|
+
if (current === null || current === undefined || typeof current !== 'object') {
|
|
103
|
+
return undefined;
|
|
104
|
+
}
|
|
105
|
+
current = current[part];
|
|
106
|
+
}
|
|
107
|
+
return current;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Compare two UserConfig objects and return the differences
|
|
111
|
+
* @param oldConfig - Previous configuration
|
|
112
|
+
* @param newConfig - New configuration
|
|
113
|
+
* @returns ConfigDiff describing all differences
|
|
114
|
+
*/
|
|
115
|
+
export function diffConfig(oldConfig, newConfig) {
|
|
116
|
+
const changedSections = [];
|
|
117
|
+
const addedKeys = {};
|
|
118
|
+
const removedKeys = [];
|
|
119
|
+
const modifiedKeys = {};
|
|
120
|
+
// Compare each top-level section
|
|
121
|
+
for (const section of CONFIG_SECTIONS) {
|
|
122
|
+
const oldSection = oldConfig[section];
|
|
123
|
+
const newSection = newConfig[section];
|
|
124
|
+
if (!deepEqual(oldSection, newSection)) {
|
|
125
|
+
changedSections.push(section);
|
|
126
|
+
// Get detailed changes within this section
|
|
127
|
+
const oldKeys = getDeepKeys(oldSection, section);
|
|
128
|
+
const newKeys = getDeepKeys(newSection, section);
|
|
129
|
+
const oldKeySet = new Set(oldKeys);
|
|
130
|
+
const newKeySet = new Set(newKeys);
|
|
131
|
+
// Find added keys
|
|
132
|
+
for (const key of newKeys) {
|
|
133
|
+
if (!oldKeySet.has(key)) {
|
|
134
|
+
addedKeys[key] = getValueByPath(newConfig, key);
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
// Find removed keys
|
|
138
|
+
for (const key of oldKeys) {
|
|
139
|
+
if (!newKeySet.has(key)) {
|
|
140
|
+
removedKeys.push(key);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
// Find modified keys (keys that exist in both but have different values)
|
|
144
|
+
for (const key of oldKeys) {
|
|
145
|
+
if (newKeySet.has(key)) {
|
|
146
|
+
const oldValue = getValueByPath(oldConfig, key);
|
|
147
|
+
const newValue = getValueByPath(newConfig, key);
|
|
148
|
+
if (!deepEqual(oldValue, newValue)) {
|
|
149
|
+
modifiedKeys[key] = { old: oldValue, new: newValue };
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
// Also check metadata fields that might have changed
|
|
156
|
+
if (oldConfig.version !== newConfig.version) {
|
|
157
|
+
modifiedKeys['version'] = { old: oldConfig.version, new: newConfig.version };
|
|
158
|
+
}
|
|
159
|
+
return {
|
|
160
|
+
changedSections,
|
|
161
|
+
addedKeys,
|
|
162
|
+
removedKeys,
|
|
163
|
+
modifiedKeys,
|
|
164
|
+
};
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Check if the config diff contains significant changes that warrant service re-initialization
|
|
168
|
+
* Changes to metadata fields (version, createdAt, lastUpdated) are not considered significant
|
|
169
|
+
* @param diff - ConfigDiff to evaluate
|
|
170
|
+
* @returns true if there are significant changes
|
|
171
|
+
*/
|
|
172
|
+
export function hasSignificantChanges(diff) {
|
|
173
|
+
// If there are changed sections, that's significant
|
|
174
|
+
if (diff.changedSections.length > 0) {
|
|
175
|
+
return true;
|
|
176
|
+
}
|
|
177
|
+
// If there are added or removed keys (excluding metadata), that's significant
|
|
178
|
+
const metadataKeys = ['version', 'createdAt', 'lastUpdated'];
|
|
179
|
+
const significantAddedKeys = Object.keys(diff.addedKeys).filter((key) => !metadataKeys.includes(key));
|
|
180
|
+
if (significantAddedKeys.length > 0) {
|
|
181
|
+
return true;
|
|
182
|
+
}
|
|
183
|
+
const significantRemovedKeys = diff.removedKeys.filter((key) => !metadataKeys.includes(key));
|
|
184
|
+
if (significantRemovedKeys.length > 0) {
|
|
185
|
+
return true;
|
|
186
|
+
}
|
|
187
|
+
// If there are modified keys (excluding metadata), that's significant
|
|
188
|
+
const significantModifiedKeys = Object.keys(diff.modifiedKeys).filter((key) => !metadataKeys.includes(key));
|
|
189
|
+
if (significantModifiedKeys.length > 0) {
|
|
190
|
+
return true;
|
|
191
|
+
}
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=config-differ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config-differ.js","sourceRoot":"","sources":["../../src/config/config-differ.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,eAAe,GAAG;IACtB,MAAM;IACN,UAAU;IACV,eAAe;IACf,YAAY;IACZ,WAAW;IACX,MAAM;IACN,cAAc;IACd,aAAa;CACL,CAAC;AAEX;;;;;GAKG;AACH,SAAS,SAAS,CAAC,CAAU,EAAE,CAAU;IACvC,4CAA4C;IAC5C,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACZ,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,SAAS,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;QACnE,OAAO,KAAK,CAAC;IACf,CAAC;IAED,yBAAyB;IACzB,IAAI,OAAO,CAAC,KAAK,OAAO,CAAC,EAAE,CAAC;QAC1B,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gBAAgB;IAChB,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;YAC1B,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,iBAAiB;IACjB,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QACnD,MAAM,IAAI,GAAG,CAA4B,CAAC;QAC1C,MAAM,IAAI,GAAG,CAA4B,CAAC;QAE1C,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAEhC,qDAAqD;QACrD,IAAI,KAAK,CAAC,MAAM,KAAK,KAAK,CAAC,MAAM,EAAE,CAAC;YAClC,OAAO,KAAK,CAAC;QACf,CAAC;QAED,sDAAsD;QACtD,OAAO,KAAK,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACzB,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACrD,OAAO,KAAK,CAAC;YACf,CAAC;YACD,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IAED,sCAAsC;IACtC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;GAKG;AACH,SAAS,WAAW,CAAC,GAAY,EAAE,MAAM,GAAG,EAAE;IAC5C,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QACvF,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAChC,CAAC;IAED,MAAM,SAAS,GAAG,GAA8B,CAAC;IACjD,MAAM,IAAI,GAAa,EAAE,CAAC;IAE1B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;QAClD,MAAM,KAAK,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;QAE7B,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzE,IAAI,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,GAAY,EAAE,IAAY;IAChD,IAAI,GAAG,KAAK,IAAI,IAAI,GAAG,KAAK,SAAS,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAC9B,IAAI,OAAO,GAAY,GAAG,CAAC;IAE3B,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YAC7E,OAAO,SAAS,CAAC;QACnB,CAAC;QACD,OAAO,GAAI,OAAmC,CAAC,IAAI,CAAC,CAAC;IACvD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,UAAU,CAAC,SAAqB,EAAE,SAAqB;IACrE,MAAM,eAAe,GAAa,EAAE,CAAC;IACrC,MAAM,SAAS,GAA4B,EAAE,CAAC;IAC9C,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,YAAY,GAAmD,EAAE,CAAC;IAExE,iCAAiC;IACjC,KAAK,MAAM,OAAO,IAAI,eAAe,EAAE,CAAC;QACtC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QACtC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,CAAC;QAEtC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,UAAU,CAAC,EAAE,CAAC;YACvC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAE9B,2CAA2C;YAC3C,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACjD,MAAM,OAAO,GAAG,WAAW,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAEjD,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,CAAC;YAEnC,kBAAkB;YAClB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,SAAS,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;gBAClD,CAAC;YACH,CAAC;YAED,oBAAoB;YACpB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACxB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACxB,CAAC;YACH,CAAC;YAED,yEAAyE;YACzE,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;gBAC1B,IAAI,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;oBAChD,MAAM,QAAQ,GAAG,cAAc,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;oBAEhD,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,CAAC;wBACnC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC;oBACvD,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,qDAAqD;IACrD,IAAI,SAAS,CAAC,OAAO,KAAK,SAAS,CAAC,OAAO,EAAE,CAAC;QAC5C,YAAY,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,CAAC,OAAO,EAAE,CAAC;IAC/E,CAAC;IAED,OAAO;QACL,eAAe;QACf,SAAS;QACT,WAAW;QACX,YAAY;KACb,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,IAAgB;IACpD,oDAAoD;IACpD,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,8EAA8E;IAC9E,MAAM,YAAY,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,aAAa,CAAC,CAAC;IAE7D,MAAM,oBAAoB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAC7D,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CACrC,CAAC;IACF,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,sBAAsB,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC7F,IAAI,sBAAsB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACtC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sEAAsE;IACtE,MAAM,uBAAuB,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,CACnE,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CACrC,CAAC;IACF,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|