@shin1ohno/sage 0.9.3 → 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.
Files changed (99) hide show
  1. package/dist/cli/mcp-handler.d.ts.map +1 -1
  2. package/dist/cli/mcp-handler.js +154 -6
  3. package/dist/cli/mcp-handler.js.map +1 -1
  4. package/dist/cli/signal-handler.d.ts +23 -0
  5. package/dist/cli/signal-handler.d.ts.map +1 -0
  6. package/dist/cli/signal-handler.js +51 -0
  7. package/dist/cli/signal-handler.js.map +1 -0
  8. package/dist/config/config-differ.d.ts +21 -0
  9. package/dist/config/config-differ.d.ts.map +1 -0
  10. package/dist/config/config-differ.js +194 -0
  11. package/dist/config/config-differ.js.map +1 -0
  12. package/dist/config/config-reload-service.d.ts +84 -0
  13. package/dist/config/config-reload-service.d.ts.map +1 -0
  14. package/dist/config/config-reload-service.js +234 -0
  15. package/dist/config/config-reload-service.js.map +1 -0
  16. package/dist/config/config-watcher.d.ts +78 -0
  17. package/dist/config/config-watcher.d.ts.map +1 -0
  18. package/dist/config/config-watcher.js +244 -0
  19. package/dist/config/config-watcher.js.map +1 -0
  20. package/dist/config/hot-reload-config.d.ts +16 -0
  21. package/dist/config/hot-reload-config.d.ts.map +1 -0
  22. package/dist/config/hot-reload-config.js +61 -0
  23. package/dist/config/hot-reload-config.js.map +1 -0
  24. package/dist/index.js +109 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/oauth/index.d.ts +2 -0
  27. package/dist/oauth/index.d.ts.map +1 -1
  28. package/dist/oauth/index.js +4 -0
  29. package/dist/oauth/index.js.map +1 -1
  30. package/dist/oauth/oauth-callback-server.d.ts +100 -0
  31. package/dist/oauth/oauth-callback-server.d.ts.map +1 -0
  32. package/dist/oauth/oauth-callback-server.js +276 -0
  33. package/dist/oauth/oauth-callback-server.js.map +1 -0
  34. package/dist/services/reloadable/calendar-source-manager-adapter.d.ts +45 -0
  35. package/dist/services/reloadable/calendar-source-manager-adapter.d.ts.map +1 -0
  36. package/dist/services/reloadable/calendar-source-manager-adapter.js +106 -0
  37. package/dist/services/reloadable/calendar-source-manager-adapter.js.map +1 -0
  38. package/dist/services/reloadable/index.d.ts +46 -0
  39. package/dist/services/reloadable/index.d.ts.map +1 -0
  40. package/dist/services/reloadable/index.js +88 -0
  41. package/dist/services/reloadable/index.js.map +1 -0
  42. package/dist/services/reloadable/notion-service-adapter.d.ts +45 -0
  43. package/dist/services/reloadable/notion-service-adapter.d.ts.map +1 -0
  44. package/dist/services/reloadable/notion-service-adapter.js +86 -0
  45. package/dist/services/reloadable/notion-service-adapter.js.map +1 -0
  46. package/dist/services/reloadable/priority-engine-adapter.d.ts +73 -0
  47. package/dist/services/reloadable/priority-engine-adapter.d.ts.map +1 -0
  48. package/dist/services/reloadable/priority-engine-adapter.js +105 -0
  49. package/dist/services/reloadable/priority-engine-adapter.js.map +1 -0
  50. package/dist/services/reloadable/reminder-manager-adapter.d.ts +45 -0
  51. package/dist/services/reloadable/reminder-manager-adapter.d.ts.map +1 -0
  52. package/dist/services/reloadable/reminder-manager-adapter.js +80 -0
  53. package/dist/services/reloadable/reminder-manager-adapter.js.map +1 -0
  54. package/dist/services/reloadable/todo-list-manager-adapter.d.ts +45 -0
  55. package/dist/services/reloadable/todo-list-manager-adapter.d.ts.map +1 -0
  56. package/dist/services/reloadable/todo-list-manager-adapter.js +80 -0
  57. package/dist/services/reloadable/todo-list-manager-adapter.js.map +1 -0
  58. package/dist/services/reloadable/working-cadence-adapter.d.ts +52 -0
  59. package/dist/services/reloadable/working-cadence-adapter.d.ts.map +1 -0
  60. package/dist/services/reloadable/working-cadence-adapter.js +77 -0
  61. package/dist/services/reloadable/working-cadence-adapter.js.map +1 -0
  62. package/dist/services/service-registry.d.ts +85 -0
  63. package/dist/services/service-registry.d.ts.map +1 -0
  64. package/dist/services/service-registry.js +166 -0
  65. package/dist/services/service-registry.js.map +1 -0
  66. package/dist/tools/config/index.d.ts +9 -0
  67. package/dist/tools/config/index.d.ts.map +1 -0
  68. package/dist/tools/config/index.js +8 -0
  69. package/dist/tools/config/index.js.map +1 -0
  70. package/dist/tools/config/reload-handler.d.ts +35 -0
  71. package/dist/tools/config/reload-handler.d.ts.map +1 -0
  72. package/dist/tools/config/reload-handler.js +63 -0
  73. package/dist/tools/config/reload-handler.js.map +1 -0
  74. package/dist/tools/integrations/handlers.d.ts +2 -0
  75. package/dist/tools/integrations/handlers.d.ts.map +1 -1
  76. package/dist/tools/integrations/handlers.js.map +1 -1
  77. package/dist/tools/oauth/authenticate-google.d.ts +54 -0
  78. package/dist/tools/oauth/authenticate-google.d.ts.map +1 -0
  79. package/dist/tools/oauth/authenticate-google.js +180 -0
  80. package/dist/tools/oauth/authenticate-google.js.map +1 -0
  81. package/dist/tools/oauth/index.d.ts +26 -0
  82. package/dist/tools/oauth/index.d.ts.map +1 -0
  83. package/dist/tools/oauth/index.js +9 -0
  84. package/dist/tools/oauth/index.js.map +1 -0
  85. package/dist/tools/setup/handlers.d.ts +2 -0
  86. package/dist/tools/setup/handlers.d.ts.map +1 -1
  87. package/dist/tools/setup/handlers.js +14 -0
  88. package/dist/tools/setup/handlers.js.map +1 -1
  89. package/dist/types/hot-reload.d.ts +131 -0
  90. package/dist/types/hot-reload.d.ts.map +1 -0
  91. package/dist/types/hot-reload.js +5 -0
  92. package/dist/types/hot-reload.js.map +1 -0
  93. package/dist/utils/browser-opener.d.ts +35 -0
  94. package/dist/utils/browser-opener.d.ts.map +1 -0
  95. package/dist/utils/browser-opener.js +71 -0
  96. package/dist/utils/browser-opener.js.map +1 -0
  97. package/dist/version.js +1 -1
  98. package/dist/version.js.map +1 -1
  99. 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;AA6DH;;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;AA2hCD;;GAEG;AACH,wBAAsB,gBAAgB,IAAI,OAAO,CAAC,UAAU,CAAC,CAI5D"}
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"}
@@ -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: () => this.todoListManager,
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: () => this.reminderManager,
129
- getTodoListManager: () => this.todoListManager,
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: () => this.notionService,
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: () => this.calendarSourceManager,
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: () => this.workingCadenceService,
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":"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"}