@masuidrive/procman 0.1.2 → 0.2.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 (204) hide show
  1. package/dist/src/cli/commands/help.d.ts.map +1 -1
  2. package/dist/src/cli/commands/help.js +3 -1
  3. package/dist/src/cli/commands/help.js.map +1 -1
  4. package/dist/src/cli/index.js +6 -2
  5. package/dist/src/cli/index.js.map +1 -1
  6. package/dist/src/cli/parser.d.ts.map +1 -1
  7. package/dist/src/cli/parser.js +20 -0
  8. package/dist/src/cli/parser.js.map +1 -1
  9. package/dist/src/cli/utils/find-package-json.d.ts +4 -0
  10. package/dist/src/cli/utils/find-package-json.d.ts.map +1 -0
  11. package/dist/src/cli/utils/find-package-json.js +15 -0
  12. package/dist/src/cli/utils/find-package-json.js.map +1 -0
  13. package/dist/src/config/config-loader.d.ts +1 -0
  14. package/dist/src/config/config-loader.d.ts.map +1 -1
  15. package/dist/src/config/config-loader.js +16 -6
  16. package/dist/src/config/config-loader.js.map +1 -1
  17. package/dist/src/config/config-validator.d.ts +18 -49
  18. package/dist/src/config/config-validator.d.ts.map +1 -1
  19. package/dist/src/config/config-validator.js +64 -172
  20. package/dist/src/config/config-validator.js.map +1 -1
  21. package/dist/src/config/path-security-validator.d.ts +39 -0
  22. package/dist/src/config/path-security-validator.d.ts.map +1 -0
  23. package/dist/src/config/path-security-validator.js +134 -0
  24. package/dist/src/config/path-security-validator.js.map +1 -0
  25. package/dist/src/config/secure-config-loader.d.ts.map +1 -1
  26. package/dist/src/config/secure-config-loader.js +10 -2
  27. package/dist/src/config/secure-config-loader.js.map +1 -1
  28. package/dist/src/config/validation-suggestions.d.ts +13 -0
  29. package/dist/src/config/validation-suggestions.d.ts.map +1 -0
  30. package/dist/src/config/validation-suggestions.js +40 -0
  31. package/dist/src/config/validation-suggestions.js.map +1 -0
  32. package/dist/src/config/validation-types.d.ts +38 -0
  33. package/dist/src/config/validation-types.d.ts.map +1 -0
  34. package/dist/src/config/validation-types.js +7 -0
  35. package/dist/src/config/validation-types.js.map +1 -0
  36. package/dist/src/daemon/component-command-wiring.d.ts +19 -0
  37. package/dist/src/daemon/component-command-wiring.d.ts.map +1 -0
  38. package/dist/src/daemon/component-command-wiring.js +27 -0
  39. package/dist/src/daemon/component-command-wiring.js.map +1 -0
  40. package/dist/src/daemon/component-daemon-interface.d.ts +38 -0
  41. package/dist/src/daemon/component-daemon-interface.d.ts.map +1 -0
  42. package/dist/src/daemon/component-daemon-interface.js +72 -0
  43. package/dist/src/daemon/component-daemon-interface.js.map +1 -0
  44. package/dist/src/daemon/component-health.d.ts +38 -0
  45. package/dist/src/daemon/component-health.d.ts.map +1 -0
  46. package/dist/src/daemon/component-health.js +146 -0
  47. package/dist/src/daemon/component-health.js.map +1 -0
  48. package/dist/src/daemon/component-manager-errors.d.ts +20 -0
  49. package/dist/src/daemon/component-manager-errors.d.ts.map +1 -0
  50. package/dist/src/daemon/component-manager-errors.js +30 -0
  51. package/dist/src/daemon/component-manager-errors.js.map +1 -0
  52. package/dist/src/daemon/component-manager-types.d.ts +23 -0
  53. package/dist/src/daemon/component-manager-types.d.ts.map +1 -0
  54. package/dist/src/daemon/component-manager-types.js +5 -0
  55. package/dist/src/daemon/component-manager-types.js.map +1 -0
  56. package/dist/src/daemon/component-manager.d.ts +16 -64
  57. package/dist/src/daemon/component-manager.d.ts.map +1 -1
  58. package/dist/src/daemon/component-manager.js +72 -509
  59. package/dist/src/daemon/component-manager.js.map +1 -1
  60. package/dist/src/daemon/component-registration.d.ts +14 -0
  61. package/dist/src/daemon/component-registration.d.ts.map +1 -0
  62. package/dist/src/daemon/component-registration.js +92 -0
  63. package/dist/src/daemon/component-registration.js.map +1 -0
  64. package/dist/src/daemon/component-streaming.d.ts +36 -0
  65. package/dist/src/daemon/component-streaming.d.ts.map +1 -0
  66. package/dist/src/daemon/component-streaming.js +112 -0
  67. package/dist/src/daemon/component-streaming.js.map +1 -0
  68. package/dist/src/daemon/daemon-lifecycle.d.ts +37 -0
  69. package/dist/src/daemon/daemon-lifecycle.d.ts.map +1 -0
  70. package/dist/src/daemon/daemon-lifecycle.js +362 -0
  71. package/dist/src/daemon/daemon-lifecycle.js.map +1 -0
  72. package/dist/src/daemon/daemon-queries.d.ts +53 -0
  73. package/dist/src/daemon/daemon-queries.d.ts.map +1 -0
  74. package/dist/src/daemon/daemon-queries.js +113 -0
  75. package/dist/src/daemon/daemon-queries.js.map +1 -0
  76. package/dist/src/daemon/daemon-types.d.ts +30 -0
  77. package/dist/src/daemon/daemon-types.d.ts.map +1 -0
  78. package/dist/src/daemon/daemon-types.js +8 -0
  79. package/dist/src/daemon/daemon-types.js.map +1 -0
  80. package/dist/src/daemon/disposable-base.d.ts +49 -0
  81. package/dist/src/daemon/disposable-base.d.ts.map +1 -0
  82. package/dist/src/daemon/disposable-base.js +70 -0
  83. package/dist/src/daemon/disposable-base.js.map +1 -0
  84. package/dist/src/daemon/disposal-guard.d.ts +27 -0
  85. package/dist/src/daemon/disposal-guard.d.ts.map +1 -0
  86. package/dist/src/daemon/disposal-guard.js +58 -0
  87. package/dist/src/daemon/disposal-guard.js.map +1 -0
  88. package/dist/src/daemon/ipc-command-handler.d.ts +8 -34
  89. package/dist/src/daemon/ipc-command-handler.d.ts.map +1 -1
  90. package/dist/src/daemon/ipc-command-handler.js +14 -362
  91. package/dist/src/daemon/ipc-command-handler.js.map +1 -1
  92. package/dist/src/daemon/log-command-handlers.d.ts +19 -0
  93. package/dist/src/daemon/log-command-handlers.d.ts.map +1 -0
  94. package/dist/src/daemon/log-command-handlers.js +114 -0
  95. package/dist/src/daemon/log-command-handlers.js.map +1 -0
  96. package/dist/src/daemon/process-command-handlers.d.ts +32 -0
  97. package/dist/src/daemon/process-command-handlers.d.ts.map +1 -0
  98. package/dist/src/daemon/process-command-handlers.js +223 -0
  99. package/dist/src/daemon/process-command-handlers.js.map +1 -0
  100. package/dist/src/daemon/procman-daemon.d.ts +22 -98
  101. package/dist/src/daemon/procman-daemon.d.ts.map +1 -1
  102. package/dist/src/daemon/procman-daemon.js +107 -604
  103. package/dist/src/daemon/procman-daemon.js.map +1 -1
  104. package/dist/src/daemon/resource-manager.d.ts +6 -124
  105. package/dist/src/daemon/resource-manager.d.ts.map +1 -1
  106. package/dist/src/daemon/resource-manager.js +5 -231
  107. package/dist/src/daemon/resource-manager.js.map +1 -1
  108. package/dist/src/daemon/resource-types.d.ts +23 -0
  109. package/dist/src/daemon/resource-types.d.ts.map +1 -0
  110. package/dist/src/daemon/resource-types.js +7 -0
  111. package/dist/src/daemon/resource-types.js.map +1 -0
  112. package/dist/src/daemon/shutdown-orchestrator.d.ts +32 -0
  113. package/dist/src/daemon/shutdown-orchestrator.d.ts.map +1 -0
  114. package/dist/src/daemon/shutdown-orchestrator.js +123 -0
  115. package/dist/src/daemon/shutdown-orchestrator.js.map +1 -0
  116. package/dist/src/daemon/tracked-resources.d.ts +60 -0
  117. package/dist/src/daemon/tracked-resources.d.ts.map +1 -0
  118. package/dist/src/daemon/tracked-resources.js +124 -0
  119. package/dist/src/daemon/tracked-resources.js.map +1 -0
  120. package/dist/src/process-manager/index.d.ts +5 -1
  121. package/dist/src/process-manager/index.d.ts.map +1 -1
  122. package/dist/src/process-manager/index.js +3 -0
  123. package/dist/src/process-manager/index.js.map +1 -1
  124. package/dist/src/process-manager/interfaces/process-group.d.ts +6 -0
  125. package/dist/src/process-manager/interfaces/process-group.d.ts.map +1 -1
  126. package/dist/src/process-manager/managed-process-events.d.ts +22 -0
  127. package/dist/src/process-manager/managed-process-events.d.ts.map +1 -0
  128. package/dist/src/process-manager/managed-process-events.js +5 -0
  129. package/dist/src/process-manager/managed-process-events.js.map +1 -0
  130. package/dist/src/process-manager/managed-process-info.d.ts +11 -53
  131. package/dist/src/process-manager/managed-process-info.d.ts.map +1 -1
  132. package/dist/src/process-manager/managed-process-info.js +46 -133
  133. package/dist/src/process-manager/managed-process-info.js.map +1 -1
  134. package/dist/src/process-manager/process-batch-operations.d.ts +62 -0
  135. package/dist/src/process-manager/process-batch-operations.d.ts.map +1 -0
  136. package/dist/src/process-manager/process-batch-operations.js +80 -0
  137. package/dist/src/process-manager/process-batch-operations.js.map +1 -0
  138. package/dist/src/process-manager/process-config.d.ts +49 -0
  139. package/dist/src/process-manager/process-config.d.ts.map +1 -0
  140. package/dist/src/process-manager/process-config.js +68 -0
  141. package/dist/src/process-manager/process-config.js.map +1 -0
  142. package/dist/src/process-manager/process-event-forwarding.d.ts +18 -0
  143. package/dist/src/process-manager/process-event-forwarding.d.ts.map +1 -0
  144. package/dist/src/process-manager/process-event-forwarding.js +105 -0
  145. package/dist/src/process-manager/process-event-forwarding.js.map +1 -0
  146. package/dist/src/process-manager/process-group-manager.d.ts.map +1 -1
  147. package/dist/src/process-manager/process-group-manager.js +0 -1
  148. package/dist/src/process-manager/process-group-manager.js.map +1 -1
  149. package/dist/src/process-manager/process-info-queries.d.ts +48 -0
  150. package/dist/src/process-manager/process-info-queries.d.ts.map +1 -0
  151. package/dist/src/process-manager/process-info-queries.js +92 -0
  152. package/dist/src/process-manager/process-info-queries.js.map +1 -0
  153. package/dist/src/process-manager/process-manager.d.ts +5 -174
  154. package/dist/src/process-manager/process-manager.d.ts.map +1 -1
  155. package/dist/src/process-manager/process-manager.js +58 -398
  156. package/dist/src/process-manager/process-manager.js.map +1 -1
  157. package/dist/src/process-manager/process-monitoring.d.ts +80 -0
  158. package/dist/src/process-manager/process-monitoring.d.ts.map +1 -0
  159. package/dist/src/process-manager/process-monitoring.js +142 -0
  160. package/dist/src/process-manager/process-monitoring.js.map +1 -0
  161. package/dist/src/process-manager/process-statistics.d.ts +37 -0
  162. package/dist/src/process-manager/process-statistics.d.ts.map +1 -0
  163. package/dist/src/process-manager/process-statistics.js +24 -0
  164. package/dist/src/process-manager/process-statistics.js.map +1 -0
  165. package/dist/src/process-manager/restart-manager.d.ts +82 -0
  166. package/dist/src/process-manager/restart-manager.d.ts.map +1 -0
  167. package/dist/src/process-manager/restart-manager.js +150 -0
  168. package/dist/src/process-manager/restart-manager.js.map +1 -0
  169. package/dist/src/services/app-logger.d.ts +144 -0
  170. package/dist/src/services/app-logger.d.ts.map +1 -0
  171. package/dist/src/services/app-logger.js +489 -0
  172. package/dist/src/services/app-logger.js.map +1 -0
  173. package/dist/src/services/log-buffer.d.ts +35 -0
  174. package/dist/src/services/log-buffer.d.ts.map +1 -0
  175. package/dist/src/services/log-buffer.js +87 -0
  176. package/dist/src/services/log-buffer.js.map +1 -0
  177. package/dist/src/services/log-event-manager.d.ts +32 -0
  178. package/dist/src/services/log-event-manager.d.ts.map +1 -0
  179. package/dist/src/services/log-event-manager.js +31 -0
  180. package/dist/src/services/log-event-manager.js.map +1 -0
  181. package/dist/src/services/log-file-manager.d.ts +46 -0
  182. package/dist/src/services/log-file-manager.d.ts.map +1 -0
  183. package/dist/src/services/log-file-manager.js +156 -0
  184. package/dist/src/services/log-file-manager.js.map +1 -0
  185. package/dist/src/services/log-level-strategy.d.ts +19 -0
  186. package/dist/src/services/log-level-strategy.d.ts.map +1 -0
  187. package/dist/src/services/log-level-strategy.js +40 -0
  188. package/dist/src/services/log-level-strategy.js.map +1 -0
  189. package/dist/src/services/log-manager-types.d.ts +117 -0
  190. package/dist/src/services/log-manager-types.d.ts.map +1 -0
  191. package/dist/src/services/log-manager-types.js +12 -0
  192. package/dist/src/services/log-manager-types.js.map +1 -0
  193. package/dist/src/services/log-manager.d.ts +8 -35
  194. package/dist/src/services/log-manager.d.ts.map +1 -1
  195. package/dist/src/services/log-manager.js +10 -870
  196. package/dist/src/services/log-manager.js.map +1 -1
  197. package/dist/src/services/log-preprocessor.d.ts +30 -0
  198. package/dist/src/services/log-preprocessor.d.ts.map +1 -0
  199. package/dist/src/services/log-preprocessor.js +65 -0
  200. package/dist/src/services/log-preprocessor.js.map +1 -0
  201. package/dist/src/services/process-log-integration.d.ts +7 -2
  202. package/dist/src/services/process-log-integration.d.ts.map +1 -1
  203. package/dist/src/services/process-log-integration.js.map +1 -1
  204. package/package.json +5 -7
@@ -0,0 +1,123 @@
1
+ /**
2
+ * Graceful shutdown orchestration helpers
3
+ *
4
+ * Provides standalone functions for shutdown phases:
5
+ * connection draining, process termination, state preservation, and timeout handling.
6
+ * These are called from ProcmanDaemon's private methods.
7
+ */
8
+ import path from 'path';
9
+ /**
10
+ * Save shutdown state to disk for recovery/analysis
11
+ */
12
+ export async function saveShutdownState(dataDirectory, reason, processManager, getAllProcessStatusesFn, activeConnectionCount) {
13
+ try {
14
+ const state = {
15
+ timestamp: new Date().toISOString(),
16
+ reason,
17
+ processId: process.pid,
18
+ memoryUsage: process.memoryUsage(),
19
+ processes: processManager ? await getAllProcessStatusesFn() : [],
20
+ activeConnections: activeConnectionCount,
21
+ uptime: process.uptime(),
22
+ version: process.version,
23
+ platform: process.platform,
24
+ arch: process.arch,
25
+ };
26
+ const statePath = path.join(dataDirectory.getDataDir(), 'shutdown-state.json');
27
+ const fs = await import('fs');
28
+ // Ensure directory exists before writing
29
+ const dir = path.dirname(statePath);
30
+ await fs.promises.mkdir(dir, { recursive: true });
31
+ await fs.promises.writeFile(statePath, JSON.stringify(state, null, 2), 'utf-8');
32
+ console.log(`[ProcmanDaemon] Shutdown state saved to: ${statePath}`);
33
+ }
34
+ catch (error) {
35
+ // Non-critical error - log but don't fail shutdown
36
+ console.error('[ProcmanDaemon] Failed to save shutdown state:', error);
37
+ }
38
+ }
39
+ /**
40
+ * Get count of active IPC connections
41
+ */
42
+ export function getActiveConnectionCount(ipcServer) {
43
+ if (!ipcServer) {
44
+ return 0;
45
+ }
46
+ return ipcServer.getConnections().length;
47
+ }
48
+ /**
49
+ * Drain active IPC connections gracefully
50
+ */
51
+ export async function drainActiveConnections(ipcServer) {
52
+ if (!ipcServer) {
53
+ console.log('[ProcmanDaemon] No IPC server to drain connections from');
54
+ return;
55
+ }
56
+ const connections = ipcServer.getConnections();
57
+ if (connections.length === 0) {
58
+ console.log('[ProcmanDaemon] No active connections to drain');
59
+ return;
60
+ }
61
+ console.log(`[ProcmanDaemon] Draining ${connections.length} active connections...`);
62
+ // Send shutdown notice to all connections
63
+ ipcServer.broadcast({
64
+ id: `shutdown-notice-${Date.now()}`,
65
+ type: 'ping', // Use existing command type for compatibility
66
+ payload: {
67
+ shutdownNotice: true,
68
+ reason: 'graceful-shutdown',
69
+ gracePeriodMs: 8000, // Give clients 8 seconds to cleanup
70
+ },
71
+ timestamp: Date.now(),
72
+ });
73
+ // Wait for connections to close gracefully
74
+ const drainStartTime = Date.now();
75
+ const maxDrainTime = 8000; // 8 seconds for clients to disconnect
76
+ while (ipcServer.getConnections().length > 0 &&
77
+ Date.now() - drainStartTime < maxDrainTime) {
78
+ await new Promise((resolve) => setTimeout(resolve, 100)); // Check every 100ms
79
+ }
80
+ const remainingConnections = ipcServer.getConnections().length;
81
+ if (remainingConnections > 0) {
82
+ console.warn(`[ProcmanDaemon] ${remainingConnections} connections did not close gracefully, will force close`);
83
+ }
84
+ else {
85
+ console.log('[ProcmanDaemon] All connections drained successfully');
86
+ }
87
+ }
88
+ /**
89
+ * Stop all managed processes gracefully
90
+ */
91
+ export async function stopManagedProcesses(processManager) {
92
+ if (!processManager) {
93
+ console.log('[ProcmanDaemon] No process manager to stop processes from');
94
+ return;
95
+ }
96
+ const allProcesses = processManager.getAllProcessInfo();
97
+ if (allProcesses.length === 0) {
98
+ console.log('[ProcmanDaemon] No managed processes to stop');
99
+ return;
100
+ }
101
+ console.log(`[ProcmanDaemon] Stopping ${allProcesses.length} managed processes gracefully...`);
102
+ const processNames = allProcesses.map((p) => p.name);
103
+ await processManager.stopProcesses(processNames);
104
+ console.log('[ProcmanDaemon] All managed processes stopped');
105
+ }
106
+ /**
107
+ * Execute a function with timeout
108
+ */
109
+ export async function executeWithTimeout(fn, timeoutMs, phaseName) {
110
+ let timer;
111
+ try {
112
+ return await Promise.race([
113
+ fn(),
114
+ new Promise((_, reject) => {
115
+ timer = setTimeout(() => reject(new Error(`${phaseName} timed out after ${timeoutMs}ms`)), timeoutMs);
116
+ }),
117
+ ]);
118
+ }
119
+ finally {
120
+ clearTimeout(timer);
121
+ }
122
+ }
123
+ //# sourceMappingURL=shutdown-orchestrator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"shutdown-orchestrator.js","sourceRoot":"","sources":["../../../src/daemon/shutdown-orchestrator.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Tracked Resource Implementations
3
+ *
4
+ * Provides concrete tracked resource wrappers for timeouts, intervals,
5
+ * and event listeners.
6
+ */
7
+ import { setTimeout, setInterval } from 'timers';
8
+ import { EventEmitter } from 'events';
9
+ import type { TrackedResource } from './resource-types.js';
10
+ import type { ResourceManager } from './resource-manager.js';
11
+ /**
12
+ * Timer resource wrapper for timeout tracking
13
+ */
14
+ export declare class TrackedTimeout implements TrackedResource {
15
+ readonly id: string;
16
+ readonly type = "timeout";
17
+ readonly createdAt: number;
18
+ readonly metadata?: Record<string, unknown>;
19
+ private timeoutHandle;
20
+ private disposed;
21
+ private manager?;
22
+ constructor(id: string, timeoutHandle: ReturnType<typeof setTimeout>, metadata?: Record<string, unknown>, manager?: ResourceManager);
23
+ dispose(): Promise<void>;
24
+ isDisposed(): boolean;
25
+ getHandle(): ReturnType<typeof setTimeout> | null;
26
+ }
27
+ /**
28
+ * Interval resource wrapper for interval tracking
29
+ */
30
+ export declare class TrackedInterval implements TrackedResource {
31
+ readonly id: string;
32
+ readonly type = "interval";
33
+ readonly createdAt: number;
34
+ readonly metadata?: Record<string, unknown>;
35
+ private intervalHandle;
36
+ private disposed;
37
+ private manager?;
38
+ constructor(id: string, intervalHandle: ReturnType<typeof setInterval>, metadata?: Record<string, unknown>, manager?: ResourceManager);
39
+ dispose(): Promise<void>;
40
+ isDisposed(): boolean;
41
+ getHandle(): ReturnType<typeof setInterval> | null;
42
+ }
43
+ /**
44
+ * Event listener resource wrapper
45
+ */
46
+ export declare class TrackedEventListener implements TrackedResource {
47
+ private emitter;
48
+ private event;
49
+ private listener;
50
+ readonly id: string;
51
+ readonly type = "eventListener";
52
+ readonly createdAt: number;
53
+ readonly metadata?: Record<string, unknown>;
54
+ private disposed;
55
+ private manager?;
56
+ constructor(id: string, emitter: EventEmitter, event: string, listener: (...args: any[]) => void, metadata?: Record<string, unknown>, manager?: ResourceManager);
57
+ dispose(): Promise<void>;
58
+ isDisposed(): boolean;
59
+ }
60
+ //# sourceMappingURL=tracked-resources.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracked-resources.d.ts","sourceRoot":"","sources":["../../../src/daemon/tracked-resources.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,UAAU,EAAgB,WAAW,EAAiB,MAAM,QAAQ,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AAC3D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAE7D;;GAEG;AACH,qBAAa,cAAe,YAAW,eAAe;IACpD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,aAAa;IACjC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnD,OAAO,CAAC,aAAa,CAAuC;IAC5D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAC,CAAkB;gBAGhC,EAAE,EAAE,MAAM,EACV,aAAa,EAAE,UAAU,CAAC,OAAO,UAAU,CAAC,EAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,CAAC,EAAE,eAAe;IASrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B,UAAU,IAAI,OAAO;IAIrB,SAAS,IAAI,UAAU,CAAC,OAAO,UAAU,CAAC,GAAG,IAAI;CAGlD;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,eAAe;IACrD,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,cAAc;IAClC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnD,OAAO,CAAC,cAAc,CAAwC;IAC9D,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAC,CAAkB;gBAGhC,EAAE,EAAE,MAAM,EACV,cAAc,EAAE,UAAU,CAAC,OAAO,WAAW,CAAC,EAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,CAAC,EAAE,eAAe;IASrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAe9B,UAAU,IAAI,OAAO;IAIrB,SAAS,IAAI,UAAU,CAAC,OAAO,WAAW,CAAC,GAAG,IAAI;CAGnD;AAED;;GAEG;AACH,qBAAa,oBAAqB,YAAW,eAAe;IAWxD,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,KAAK;IACb,OAAO,CAAC,QAAQ;IAZlB,SAAgB,EAAE,EAAE,MAAM,CAAC;IAC3B,SAAgB,IAAI,mBAAmB;IACvC,SAAgB,SAAS,EAAE,MAAM,CAAC;IAClC,SAAgB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,OAAO,CAAC,CAAkB;gBAGhC,EAAE,EAAE,MAAM,EACF,OAAO,EAAE,YAAY,EACrB,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,EAC1C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,CAAC,EAAE,eAAe;IAQrB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC;IAkB9B,UAAU,IAAI,OAAO;CAGtB"}
@@ -0,0 +1,124 @@
1
+ /**
2
+ * Tracked Resource Implementations
3
+ *
4
+ * Provides concrete tracked resource wrappers for timeouts, intervals,
5
+ * and event listeners.
6
+ */
7
+ import { clearTimeout, clearInterval } from 'timers';
8
+ /**
9
+ * Timer resource wrapper for timeout tracking
10
+ */
11
+ export class TrackedTimeout {
12
+ id;
13
+ type = 'timeout';
14
+ createdAt;
15
+ metadata;
16
+ timeoutHandle;
17
+ disposed = false;
18
+ manager;
19
+ constructor(id, timeoutHandle, metadata, manager) {
20
+ this.id = id;
21
+ this.timeoutHandle = timeoutHandle;
22
+ this.createdAt = Date.now();
23
+ this.metadata = metadata;
24
+ this.manager = manager;
25
+ }
26
+ async dispose() {
27
+ if (this.disposed || !this.timeoutHandle) {
28
+ return;
29
+ }
30
+ clearTimeout(this.timeoutHandle);
31
+ this.timeoutHandle = null;
32
+ this.disposed = true;
33
+ // Auto-remove from manager
34
+ if (this.manager) {
35
+ this.manager.untrackResource(this.id);
36
+ }
37
+ }
38
+ isDisposed() {
39
+ return this.disposed;
40
+ }
41
+ getHandle() {
42
+ return this.timeoutHandle;
43
+ }
44
+ }
45
+ /**
46
+ * Interval resource wrapper for interval tracking
47
+ */
48
+ export class TrackedInterval {
49
+ id;
50
+ type = 'interval';
51
+ createdAt;
52
+ metadata;
53
+ intervalHandle;
54
+ disposed = false;
55
+ manager;
56
+ constructor(id, intervalHandle, metadata, manager) {
57
+ this.id = id;
58
+ this.intervalHandle = intervalHandle;
59
+ this.createdAt = Date.now();
60
+ this.metadata = metadata;
61
+ this.manager = manager;
62
+ }
63
+ async dispose() {
64
+ if (this.disposed || !this.intervalHandle) {
65
+ return;
66
+ }
67
+ clearInterval(this.intervalHandle);
68
+ this.intervalHandle = null;
69
+ this.disposed = true;
70
+ // Auto-remove from manager
71
+ if (this.manager) {
72
+ this.manager.untrackResource(this.id);
73
+ }
74
+ }
75
+ isDisposed() {
76
+ return this.disposed;
77
+ }
78
+ getHandle() {
79
+ return this.intervalHandle;
80
+ }
81
+ }
82
+ /**
83
+ * Event listener resource wrapper
84
+ */
85
+ export class TrackedEventListener {
86
+ emitter;
87
+ event;
88
+ listener;
89
+ id;
90
+ type = 'eventListener';
91
+ createdAt;
92
+ metadata;
93
+ disposed = false;
94
+ manager;
95
+ constructor(id, emitter, event, listener, metadata, manager) {
96
+ this.emitter = emitter;
97
+ this.event = event;
98
+ this.listener = listener;
99
+ this.id = id;
100
+ this.createdAt = Date.now();
101
+ this.metadata = { event, ...metadata };
102
+ this.manager = manager;
103
+ }
104
+ async dispose() {
105
+ if (this.disposed) {
106
+ return;
107
+ }
108
+ try {
109
+ this.emitter.removeListener(this.event, this.listener);
110
+ }
111
+ catch {
112
+ // Ignore errors during cleanup
113
+ }
114
+ this.disposed = true;
115
+ // Auto-remove from manager
116
+ if (this.manager) {
117
+ this.manager.untrackResource(this.id);
118
+ }
119
+ }
120
+ isDisposed() {
121
+ return this.disposed;
122
+ }
123
+ }
124
+ //# sourceMappingURL=tracked-resources.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tracked-resources.js","sourceRoot":"","sources":["../../../src/daemon/tracked-resources.ts"],"names":[],"mappings":"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"}
@@ -7,7 +7,11 @@
7
7
  */
8
8
  export { ProcessManager } from './process-manager.js';
9
9
  export { ManagedProcessInfo } from './managed-process-info.js';
10
+ export { RestartManager } from './restart-manager.js';
11
+ export { ProcessMonitoringData } from './process-monitoring.js';
10
12
  export type { ProcessConfig } from './process-manager.js';
11
- export type { ProcessStatistics, ManagedProcessEvents, } from './managed-process-info.js';
13
+ export type { ProcessStatistics } from './process-statistics.js';
14
+ export type { ManagedProcessEvents } from './managed-process-events.js';
15
+ export { createDefaultStatistics } from './process-statistics.js';
12
16
  export type { ProcessInfo, ProcessStatus } from '../shared/process.js';
13
17
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/process-manager/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,YAAY,EACV,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,2BAA2B,CAAC;AAGnC,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/process-manager/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAGhE,YAAY,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,YAAY,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAEjE,YAAY,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAExE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAGlE,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC"}
@@ -8,4 +8,7 @@
8
8
  // Main exports
9
9
  export { ProcessManager } from './process-manager.js';
10
10
  export { ManagedProcessInfo } from './managed-process-info.js';
11
+ export { RestartManager } from './restart-manager.js';
12
+ export { ProcessMonitoringData } from './process-monitoring.js';
13
+ export { createDefaultStatistics } from './process-statistics.js';
11
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/process-manager/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAe;AACf,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/process-manager/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,eAAe;AACf,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC;AAShE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC"}
@@ -65,6 +65,12 @@ export interface DependencyResolutionResult {
65
65
  dependent: string[][];
66
66
  /** Processes with circular dependencies */
67
67
  circular: string[];
68
+ /** Ordered startup groups (independent + dependent combined) */
69
+ startupOrder: string[][];
70
+ /** Alias for circular (for backward compatibility) */
71
+ circularDependencies: string[];
72
+ /** Processes that could not be resolved */
73
+ unresolvedProcesses: string[];
68
74
  }
69
75
  /**
70
76
  * Interface for process group management
@@ -1 +1 @@
1
- {"version":3,"file":"process-group.d.ts","sourceRoot":"","sources":["../../../../src/process-manager/interfaces/process-group.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"process-group.d.ts","sourceRoot":"","sources":["../../../../src/process-manager/interfaces/process-group.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * ManagedProcessEvents - Events emitted by ManagedProcessInfo
3
+ */
4
+ import { ProcessStatus } from '../shared/process.js';
5
+ /**
6
+ * Events emitted by ManagedProcessInfo
7
+ */
8
+ export interface ManagedProcessEvents {
9
+ /** Process status changed */
10
+ 'status-change': (newStatus: ProcessStatus, oldStatus: ProcessStatus) => void;
11
+ /** Process started */
12
+ start: (pid: number) => void;
13
+ /** Process stopped */
14
+ stop: (exitCode: number | null) => void;
15
+ /** Process restarted */
16
+ restart: (restartCount: number) => void;
17
+ /** Process memory limit exceeded */
18
+ 'memory-limit': (memoryUsage: number, limit: number) => void;
19
+ /** Process error occurred */
20
+ error: (error: Error) => void;
21
+ }
22
+ //# sourceMappingURL=managed-process-events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-process-events.d.ts","sourceRoot":"","sources":["../../../src/process-manager/managed-process-events.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,6BAA6B;IAC7B,eAAe,EAAE,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,aAAa,KAAK,IAAI,CAAC;IAC9E,sBAAsB;IACtB,KAAK,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,sBAAsB;IACtB,IAAI,EAAE,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACxC,wBAAwB;IACxB,OAAO,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,oCAAoC;IACpC,cAAc,EAAE,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7D,6BAA6B;IAC7B,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;CAC/B"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * ManagedProcessEvents - Events emitted by ManagedProcessInfo
3
+ */
4
+ export {};
5
+ //# sourceMappingURL=managed-process-events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"managed-process-events.js","sourceRoot":"","sources":["../../../src/process-manager/managed-process-events.ts"],"names":[],"mappings":"AAAA;;GAEG"}
@@ -3,56 +3,18 @@
3
3
  *
4
4
  * This class manages the information and statistics for a single process,
5
5
  * including uptime tracking, restart counting, and state change recording.
6
+ *
7
+ * Restart logic is delegated to RestartManager.
8
+ * Monitoring data is delegated to ProcessMonitoringData.
6
9
  */
7
10
  import { EventEmitter } from 'events';
8
11
  import { ProcessInfo, ProcessStatus, ProcessStateChange, MemorySample, CPUSample, PersistedManagedProcessInfo } from '../shared/process.js';
9
- import { ProcessConfig } from './process-manager.js';
10
- /**
11
- * Process statistics for tracking performance and behavior
12
- */
13
- export interface ProcessStatistics {
14
- /** Start time timestamp */
15
- startedAt: number | null;
16
- /** Last status change timestamp */
17
- lastStatusChange: number;
18
- /** Total restart count */
19
- restarts: number;
20
- /** Last restart timestamp */
21
- lastRestart: number | null;
22
- /** Memory usage history (last 10 measurements) - DEPRECATED: use memoryHistory instead */
23
- memoryHistory: number[];
24
- /** CPU usage history (last 10 measurements) - DEPRECATED: use cpuHistory instead */
25
- cpuHistory: number[];
26
- /** Current memory usage in bytes */
27
- currentMemory: number;
28
- /** Current CPU usage percentage */
29
- currentCpu: number;
30
- /** Consecutive failure count for restart control */
31
- consecutiveFailures: number;
32
- /** Timestamp of first failure in current window */
33
- firstFailureTime: number | null;
34
- /** Flag to indicate auto-restart is enabled */
35
- autoRestartEnabled: boolean;
36
- /** Next restart delay in milliseconds */
37
- nextRestartDelay: number;
38
- }
39
- /**
40
- * Events emitted by ManagedProcessInfo
41
- */
42
- export interface ManagedProcessEvents {
43
- /** Process status changed */
44
- 'status-change': (newStatus: ProcessStatus, oldStatus: ProcessStatus) => void;
45
- /** Process started */
46
- start: (pid: number) => void;
47
- /** Process stopped */
48
- stop: (exitCode: number | null) => void;
49
- /** Process restarted */
50
- restart: (restartCount: number) => void;
51
- /** Process memory limit exceeded */
52
- 'memory-limit': (memoryUsage: number, limit: number) => void;
53
- /** Process error occurred */
54
- error: (error: Error) => void;
55
- }
12
+ import { ProcessConfig } from './process-config.js';
13
+ export { ProcessStatistics, createDefaultStatistics, } from './process-statistics.js';
14
+ export { ManagedProcessEvents } from './managed-process-events.js';
15
+ export { RestartManager } from './restart-manager.js';
16
+ export { ProcessMonitoringData } from './process-monitoring.js';
17
+ import { ProcessStatistics } from './process-statistics.js';
56
18
  /**
57
19
  * Manages information and statistics for a single process
58
20
  */
@@ -61,9 +23,9 @@ export declare class ManagedProcessInfo extends EventEmitter {
61
23
  private status;
62
24
  private pid;
63
25
  private statistics;
26
+ private readonly restartManager;
27
+ private readonly monitoringData;
64
28
  private stateHistory;
65
- private memoryHistoryDetailed;
66
- private cpuHistoryDetailed;
67
29
  private lastCrashTime;
68
30
  constructor(config: ProcessConfig);
69
31
  /**
@@ -242,10 +204,6 @@ export declare class ManagedProcessInfo extends EventEmitter {
242
204
  * @returns Next restart delay in milliseconds
243
205
  */
244
206
  getNextRestartDelay(): number;
245
- /**
246
- * Calculate next restart delay using exponential backoff
247
- */
248
- private calculateNextRestartDelay;
249
207
  /**
250
208
  * Check if restart should be attempted based on failure count
251
209
  * @returns True if restart should be attempted
@@ -1 +1 @@
1
- {"version":3,"file":"managed-process-info.d.ts","sourceRoot":"","sources":["../../../src/process-manager/managed-process-info.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"managed-process-info.d.ts","sourceRoot":"","sources":["../../../src/process-manager/managed-process-info.ts"],"names":[],"mappings":"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"}