@masuidrive/procman 0.1.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 (315) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +149 -0
  3. package/dist/src/cli/commands/clear-log.d.ts +10 -0
  4. package/dist/src/cli/commands/clear-log.d.ts.map +1 -0
  5. package/dist/src/cli/commands/clear-log.js +77 -0
  6. package/dist/src/cli/commands/clear-log.js.map +1 -0
  7. package/dist/src/cli/commands/exit.d.ts +10 -0
  8. package/dist/src/cli/commands/exit.d.ts.map +1 -0
  9. package/dist/src/cli/commands/exit.js +65 -0
  10. package/dist/src/cli/commands/exit.js.map +1 -0
  11. package/dist/src/cli/commands/help.d.ts +10 -0
  12. package/dist/src/cli/commands/help.d.ts.map +1 -0
  13. package/dist/src/cli/commands/help.js +340 -0
  14. package/dist/src/cli/commands/help.js.map +1 -0
  15. package/dist/src/cli/commands/list.d.ts +11 -0
  16. package/dist/src/cli/commands/list.d.ts.map +1 -0
  17. package/dist/src/cli/commands/list.js +130 -0
  18. package/dist/src/cli/commands/list.js.map +1 -0
  19. package/dist/src/cli/commands/load.d.ts +11 -0
  20. package/dist/src/cli/commands/load.d.ts.map +1 -0
  21. package/dist/src/cli/commands/load.js +250 -0
  22. package/dist/src/cli/commands/load.js.map +1 -0
  23. package/dist/src/cli/commands/log.d.ts +18 -0
  24. package/dist/src/cli/commands/log.d.ts.map +1 -0
  25. package/dist/src/cli/commands/log.js +282 -0
  26. package/dist/src/cli/commands/log.js.map +1 -0
  27. package/dist/src/cli/commands/restart.d.ts +11 -0
  28. package/dist/src/cli/commands/restart.d.ts.map +1 -0
  29. package/dist/src/cli/commands/restart.js +99 -0
  30. package/dist/src/cli/commands/restart.js.map +1 -0
  31. package/dist/src/cli/commands/start.d.ts +11 -0
  32. package/dist/src/cli/commands/start.d.ts.map +1 -0
  33. package/dist/src/cli/commands/start.js +105 -0
  34. package/dist/src/cli/commands/start.js.map +1 -0
  35. package/dist/src/cli/commands/stop.d.ts +12 -0
  36. package/dist/src/cli/commands/stop.d.ts.map +1 -0
  37. package/dist/src/cli/commands/stop.js +105 -0
  38. package/dist/src/cli/commands/stop.js.map +1 -0
  39. package/dist/src/cli/index.d.ts +3 -0
  40. package/dist/src/cli/index.d.ts.map +1 -0
  41. package/dist/src/cli/index.js +28 -0
  42. package/dist/src/cli/index.js.map +1 -0
  43. package/dist/src/cli/parser.d.ts +14 -0
  44. package/dist/src/cli/parser.d.ts.map +1 -0
  45. package/dist/src/cli/parser.js +131 -0
  46. package/dist/src/cli/parser.js.map +1 -0
  47. package/dist/src/cli/signal-handler.d.ts +51 -0
  48. package/dist/src/cli/signal-handler.d.ts.map +1 -0
  49. package/dist/src/cli/signal-handler.js +129 -0
  50. package/dist/src/cli/signal-handler.js.map +1 -0
  51. package/dist/src/cli/utils/error-handler.d.ts +39 -0
  52. package/dist/src/cli/utils/error-handler.d.ts.map +1 -0
  53. package/dist/src/cli/utils/error-handler.js +200 -0
  54. package/dist/src/cli/utils/error-handler.js.map +1 -0
  55. package/dist/src/cli/utils/error-utils.d.ts +16 -0
  56. package/dist/src/cli/utils/error-utils.d.ts.map +1 -0
  57. package/dist/src/cli/utils/error-utils.js +48 -0
  58. package/dist/src/cli/utils/error-utils.js.map +1 -0
  59. package/dist/src/cli/utils/ipc-client.d.ts +80 -0
  60. package/dist/src/cli/utils/ipc-client.d.ts.map +1 -0
  61. package/dist/src/cli/utils/ipc-client.js +275 -0
  62. package/dist/src/cli/utils/ipc-client.js.map +1 -0
  63. package/dist/src/config/config-loader.d.ts +74 -0
  64. package/dist/src/config/config-loader.d.ts.map +1 -0
  65. package/dist/src/config/config-loader.js +229 -0
  66. package/dist/src/config/config-loader.js.map +1 -0
  67. package/dist/src/config/config-normalizer.d.ts +135 -0
  68. package/dist/src/config/config-normalizer.d.ts.map +1 -0
  69. package/dist/src/config/config-normalizer.js +309 -0
  70. package/dist/src/config/config-normalizer.js.map +1 -0
  71. package/dist/src/config/config-reporter.d.ts +183 -0
  72. package/dist/src/config/config-reporter.d.ts.map +1 -0
  73. package/dist/src/config/config-reporter.js +311 -0
  74. package/dist/src/config/config-reporter.js.map +1 -0
  75. package/dist/src/config/config-validator.d.ts +163 -0
  76. package/dist/src/config/config-validator.d.ts.map +1 -0
  77. package/dist/src/config/config-validator.js +489 -0
  78. package/dist/src/config/config-validator.js.map +1 -0
  79. package/dist/src/config/config-watcher.d.ts +161 -0
  80. package/dist/src/config/config-watcher.d.ts.map +1 -0
  81. package/dist/src/config/config-watcher.js +245 -0
  82. package/dist/src/config/config-watcher.js.map +1 -0
  83. package/dist/src/config/index.d.ts +36 -0
  84. package/dist/src/config/index.d.ts.map +1 -0
  85. package/dist/src/config/index.js +41 -0
  86. package/dist/src/config/index.js.map +1 -0
  87. package/dist/src/config/secure-config-loader.d.ts +77 -0
  88. package/dist/src/config/secure-config-loader.d.ts.map +1 -0
  89. package/dist/src/config/secure-config-loader.js +326 -0
  90. package/dist/src/config/secure-config-loader.js.map +1 -0
  91. package/dist/src/daemon/base-socket-connection.d.ts +66 -0
  92. package/dist/src/daemon/base-socket-connection.d.ts.map +1 -0
  93. package/dist/src/daemon/base-socket-connection.js +192 -0
  94. package/dist/src/daemon/base-socket-connection.js.map +1 -0
  95. package/dist/src/daemon/component-manager.d.ts +180 -0
  96. package/dist/src/daemon/component-manager.d.ts.map +1 -0
  97. package/dist/src/daemon/component-manager.js +794 -0
  98. package/dist/src/daemon/component-manager.js.map +1 -0
  99. package/dist/src/daemon/crash-recovery.d.ts +71 -0
  100. package/dist/src/daemon/crash-recovery.d.ts.map +1 -0
  101. package/dist/src/daemon/crash-recovery.js +282 -0
  102. package/dist/src/daemon/crash-recovery.js.map +1 -0
  103. package/dist/src/daemon/daemon-main.d.ts +18 -0
  104. package/dist/src/daemon/daemon-main.d.ts.map +1 -0
  105. package/dist/src/daemon/daemon-main.js +160 -0
  106. package/dist/src/daemon/daemon-main.js.map +1 -0
  107. package/dist/src/daemon/daemon-state-manager.d.ts +111 -0
  108. package/dist/src/daemon/daemon-state-manager.d.ts.map +1 -0
  109. package/dist/src/daemon/daemon-state-manager.js +194 -0
  110. package/dist/src/daemon/daemon-state-manager.js.map +1 -0
  111. package/dist/src/daemon/data-directory.d.ts +51 -0
  112. package/dist/src/daemon/data-directory.d.ts.map +1 -0
  113. package/dist/src/daemon/data-directory.js +136 -0
  114. package/dist/src/daemon/data-directory.js.map +1 -0
  115. package/dist/src/daemon/index.d.ts +20 -0
  116. package/dist/src/daemon/index.d.ts.map +1 -0
  117. package/dist/src/daemon/index.js +24 -0
  118. package/dist/src/daemon/index.js.map +1 -0
  119. package/dist/src/daemon/ipc-client-base.d.ts +153 -0
  120. package/dist/src/daemon/ipc-client-base.d.ts.map +1 -0
  121. package/dist/src/daemon/ipc-client-base.js +476 -0
  122. package/dist/src/daemon/ipc-client-base.js.map +1 -0
  123. package/dist/src/daemon/ipc-command-handler.d.ts +107 -0
  124. package/dist/src/daemon/ipc-command-handler.d.ts.map +1 -0
  125. package/dist/src/daemon/ipc-command-handler.js +483 -0
  126. package/dist/src/daemon/ipc-command-handler.js.map +1 -0
  127. package/dist/src/daemon/ipc-factory.d.ts +92 -0
  128. package/dist/src/daemon/ipc-factory.d.ts.map +1 -0
  129. package/dist/src/daemon/ipc-factory.js +210 -0
  130. package/dist/src/daemon/ipc-factory.js.map +1 -0
  131. package/dist/src/daemon/ipc-server-base.d.ts +158 -0
  132. package/dist/src/daemon/ipc-server-base.d.ts.map +1 -0
  133. package/dist/src/daemon/ipc-server-base.js +491 -0
  134. package/dist/src/daemon/ipc-server-base.js.map +1 -0
  135. package/dist/src/daemon/message-protocol.d.ts +132 -0
  136. package/dist/src/daemon/message-protocol.d.ts.map +1 -0
  137. package/dist/src/daemon/message-protocol.js +252 -0
  138. package/dist/src/daemon/message-protocol.js.map +1 -0
  139. package/dist/src/daemon/named-pipe-client.d.ts +61 -0
  140. package/dist/src/daemon/named-pipe-client.d.ts.map +1 -0
  141. package/dist/src/daemon/named-pipe-client.js +221 -0
  142. package/dist/src/daemon/named-pipe-client.js.map +1 -0
  143. package/dist/src/daemon/named-pipe-server.d.ts +40 -0
  144. package/dist/src/daemon/named-pipe-server.d.ts.map +1 -0
  145. package/dist/src/daemon/named-pipe-server.js +102 -0
  146. package/dist/src/daemon/named-pipe-server.js.map +1 -0
  147. package/dist/src/daemon/orphan-detector.d.ts +66 -0
  148. package/dist/src/daemon/orphan-detector.d.ts.map +1 -0
  149. package/dist/src/daemon/orphan-detector.js +208 -0
  150. package/dist/src/daemon/orphan-detector.js.map +1 -0
  151. package/dist/src/daemon/pid-manager.d.ts +49 -0
  152. package/dist/src/daemon/pid-manager.d.ts.map +1 -0
  153. package/dist/src/daemon/pid-manager.js +110 -0
  154. package/dist/src/daemon/pid-manager.js.map +1 -0
  155. package/dist/src/daemon/procman-daemon.d.ts +188 -0
  156. package/dist/src/daemon/procman-daemon.d.ts.map +1 -0
  157. package/dist/src/daemon/procman-daemon.js +802 -0
  158. package/dist/src/daemon/procman-daemon.js.map +1 -0
  159. package/dist/src/daemon/reconnection-system.d.ts +113 -0
  160. package/dist/src/daemon/reconnection-system.d.ts.map +1 -0
  161. package/dist/src/daemon/reconnection-system.js +223 -0
  162. package/dist/src/daemon/reconnection-system.js.map +1 -0
  163. package/dist/src/daemon/resource-manager.d.ts +204 -0
  164. package/dist/src/daemon/resource-manager.d.ts.map +1 -0
  165. package/dist/src/daemon/resource-manager.js +423 -0
  166. package/dist/src/daemon/resource-manager.js.map +1 -0
  167. package/dist/src/daemon/signal-handler.d.ts +58 -0
  168. package/dist/src/daemon/signal-handler.d.ts.map +1 -0
  169. package/dist/src/daemon/signal-handler.js +142 -0
  170. package/dist/src/daemon/signal-handler.js.map +1 -0
  171. package/dist/src/daemon/simple-resource-manager.d.ts +95 -0
  172. package/dist/src/daemon/simple-resource-manager.d.ts.map +1 -0
  173. package/dist/src/daemon/simple-resource-manager.js +180 -0
  174. package/dist/src/daemon/simple-resource-manager.js.map +1 -0
  175. package/dist/src/daemon/unix-socket-client.d.ts +69 -0
  176. package/dist/src/daemon/unix-socket-client.d.ts.map +1 -0
  177. package/dist/src/daemon/unix-socket-client.js +313 -0
  178. package/dist/src/daemon/unix-socket-client.js.map +1 -0
  179. package/dist/src/daemon/unix-socket-server.d.ts +61 -0
  180. package/dist/src/daemon/unix-socket-server.d.ts.map +1 -0
  181. package/dist/src/daemon/unix-socket-server.js +262 -0
  182. package/dist/src/daemon/unix-socket-server.js.map +1 -0
  183. package/dist/src/daemon/zombie-reaper.d.ts +83 -0
  184. package/dist/src/daemon/zombie-reaper.d.ts.map +1 -0
  185. package/dist/src/daemon/zombie-reaper.js +278 -0
  186. package/dist/src/daemon/zombie-reaper.js.map +1 -0
  187. package/dist/src/process-manager/index.d.ts +13 -0
  188. package/dist/src/process-manager/index.d.ts.map +1 -0
  189. package/dist/src/process-manager/index.js +11 -0
  190. package/dist/src/process-manager/index.js.map +1 -0
  191. package/dist/src/process-manager/interfaces/index.d.ts +31 -0
  192. package/dist/src/process-manager/interfaces/index.d.ts.map +1 -0
  193. package/dist/src/process-manager/interfaces/index.js +14 -0
  194. package/dist/src/process-manager/interfaces/index.js.map +1 -0
  195. package/dist/src/process-manager/interfaces/process-group.d.ts +200 -0
  196. package/dist/src/process-manager/interfaces/process-group.d.ts.map +1 -0
  197. package/dist/src/process-manager/interfaces/process-group.js +10 -0
  198. package/dist/src/process-manager/interfaces/process-group.js.map +1 -0
  199. package/dist/src/process-manager/interfaces/process-lifecycle.d.ts +97 -0
  200. package/dist/src/process-manager/interfaces/process-lifecycle.d.ts.map +1 -0
  201. package/dist/src/process-manager/interfaces/process-lifecycle.js +10 -0
  202. package/dist/src/process-manager/interfaces/process-lifecycle.js.map +1 -0
  203. package/dist/src/process-manager/interfaces/process-monitor.d.ts +118 -0
  204. package/dist/src/process-manager/interfaces/process-monitor.d.ts.map +1 -0
  205. package/dist/src/process-manager/interfaces/process-monitor.js +10 -0
  206. package/dist/src/process-manager/interfaces/process-monitor.js.map +1 -0
  207. package/dist/src/process-manager/interfaces/process-persistence.d.ts +125 -0
  208. package/dist/src/process-manager/interfaces/process-persistence.d.ts.map +1 -0
  209. package/dist/src/process-manager/interfaces/process-persistence.js +10 -0
  210. package/dist/src/process-manager/interfaces/process-persistence.js.map +1 -0
  211. package/dist/src/process-manager/managed-process-info.d.ts +307 -0
  212. package/dist/src/process-manager/managed-process-info.d.ts.map +1 -0
  213. package/dist/src/process-manager/managed-process-info.js +650 -0
  214. package/dist/src/process-manager/managed-process-info.js.map +1 -0
  215. package/dist/src/process-manager/process-group-manager.d.ts +103 -0
  216. package/dist/src/process-manager/process-group-manager.d.ts.map +1 -0
  217. package/dist/src/process-manager/process-group-manager.js +400 -0
  218. package/dist/src/process-manager/process-group-manager.js.map +1 -0
  219. package/dist/src/process-manager/process-lifecycle-manager.d.ts +68 -0
  220. package/dist/src/process-manager/process-lifecycle-manager.d.ts.map +1 -0
  221. package/dist/src/process-manager/process-lifecycle-manager.js +372 -0
  222. package/dist/src/process-manager/process-lifecycle-manager.js.map +1 -0
  223. package/dist/src/process-manager/process-manager.d.ts +296 -0
  224. package/dist/src/process-manager/process-manager.d.ts.map +1 -0
  225. package/dist/src/process-manager/process-manager.js +659 -0
  226. package/dist/src/process-manager/process-manager.js.map +1 -0
  227. package/dist/src/process-manager/process-monitor.d.ts +95 -0
  228. package/dist/src/process-manager/process-monitor.d.ts.map +1 -0
  229. package/dist/src/process-manager/process-monitor.js +357 -0
  230. package/dist/src/process-manager/process-monitor.js.map +1 -0
  231. package/dist/src/process-manager/process-persistence.d.ts +68 -0
  232. package/dist/src/process-manager/process-persistence.d.ts.map +1 -0
  233. package/dist/src/process-manager/process-persistence.js +364 -0
  234. package/dist/src/process-manager/process-persistence.js.map +1 -0
  235. package/dist/src/process-manager/utils/mutex.d.ts +82 -0
  236. package/dist/src/process-manager/utils/mutex.d.ts.map +1 -0
  237. package/dist/src/process-manager/utils/mutex.js +172 -0
  238. package/dist/src/process-manager/utils/mutex.js.map +1 -0
  239. package/dist/src/services/index.d.ts +8 -0
  240. package/dist/src/services/index.d.ts.map +1 -0
  241. package/dist/src/services/index.js +8 -0
  242. package/dist/src/services/index.js.map +1 -0
  243. package/dist/src/services/log-manager-config.d.ts +65 -0
  244. package/dist/src/services/log-manager-config.d.ts.map +1 -0
  245. package/dist/src/services/log-manager-config.js +145 -0
  246. package/dist/src/services/log-manager-config.js.map +1 -0
  247. package/dist/src/services/log-manager-factory.d.ts +134 -0
  248. package/dist/src/services/log-manager-factory.d.ts.map +1 -0
  249. package/dist/src/services/log-manager-factory.js +203 -0
  250. package/dist/src/services/log-manager-factory.js.map +1 -0
  251. package/dist/src/services/log-manager.d.ts +170 -0
  252. package/dist/src/services/log-manager.d.ts.map +1 -0
  253. package/dist/src/services/log-manager.js +1199 -0
  254. package/dist/src/services/log-manager.js.map +1 -0
  255. package/dist/src/services/log-path-validator.d.ts +121 -0
  256. package/dist/src/services/log-path-validator.d.ts.map +1 -0
  257. package/dist/src/services/log-path-validator.js +302 -0
  258. package/dist/src/services/log-path-validator.js.map +1 -0
  259. package/dist/src/services/process-log-integration.d.ts +62 -0
  260. package/dist/src/services/process-log-integration.d.ts.map +1 -0
  261. package/dist/src/services/process-log-integration.js +157 -0
  262. package/dist/src/services/process-log-integration.js.map +1 -0
  263. package/dist/src/shared/config.d.ts +67 -0
  264. package/dist/src/shared/config.d.ts.map +1 -0
  265. package/dist/src/shared/config.js +92 -0
  266. package/dist/src/shared/config.js.map +1 -0
  267. package/dist/src/shared/constants-streaming.d.ts +39 -0
  268. package/dist/src/shared/constants-streaming.d.ts.map +1 -0
  269. package/dist/src/shared/constants-streaming.js +39 -0
  270. package/dist/src/shared/constants-streaming.js.map +1 -0
  271. package/dist/src/shared/constants.d.ts +60 -0
  272. package/dist/src/shared/constants.d.ts.map +1 -0
  273. package/dist/src/shared/constants.js +71 -0
  274. package/dist/src/shared/constants.js.map +1 -0
  275. package/dist/src/shared/errors.d.ts +70 -0
  276. package/dist/src/shared/errors.d.ts.map +1 -0
  277. package/dist/src/shared/errors.js +101 -0
  278. package/dist/src/shared/errors.js.map +1 -0
  279. package/dist/src/shared/index.d.ts +14 -0
  280. package/dist/src/shared/index.d.ts.map +1 -0
  281. package/dist/src/shared/index.js +22 -0
  282. package/dist/src/shared/index.js.map +1 -0
  283. package/dist/src/shared/ipc.d.ts +402 -0
  284. package/dist/src/shared/ipc.d.ts.map +1 -0
  285. package/dist/src/shared/ipc.js +85 -0
  286. package/dist/src/shared/ipc.js.map +1 -0
  287. package/dist/src/shared/logger.d.ts +38 -0
  288. package/dist/src/shared/logger.d.ts.map +1 -0
  289. package/dist/src/shared/logger.js +139 -0
  290. package/dist/src/shared/logger.js.map +1 -0
  291. package/dist/src/shared/logs.d.ts +53 -0
  292. package/dist/src/shared/logs.d.ts.map +1 -0
  293. package/dist/src/shared/logs.js +26 -0
  294. package/dist/src/shared/logs.js.map +1 -0
  295. package/dist/src/shared/process.d.ts +102 -0
  296. package/dist/src/shared/process.d.ts.map +1 -0
  297. package/dist/src/shared/process.js +55 -0
  298. package/dist/src/shared/process.js.map +1 -0
  299. package/dist/src/shared/types.d.ts +15 -0
  300. package/dist/src/shared/types.d.ts.map +1 -0
  301. package/dist/src/shared/types.js +8 -0
  302. package/dist/src/shared/types.js.map +1 -0
  303. package/dist/src/types/index.d.ts +19 -0
  304. package/dist/src/types/index.d.ts.map +1 -0
  305. package/dist/src/types/index.js +5 -0
  306. package/dist/src/types/index.js.map +1 -0
  307. package/dist/src/utils/event-cleanup.d.ts +30 -0
  308. package/dist/src/utils/event-cleanup.d.ts.map +1 -0
  309. package/dist/src/utils/event-cleanup.js +32 -0
  310. package/dist/src/utils/event-cleanup.js.map +1 -0
  311. package/dist/src/utils/memory/memory-monitor.d.ts +126 -0
  312. package/dist/src/utils/memory/memory-monitor.d.ts.map +1 -0
  313. package/dist/src/utils/memory/memory-monitor.js +246 -0
  314. package/dist/src/utils/memory/memory-monitor.js.map +1 -0
  315. package/package.json +74 -0
@@ -0,0 +1,97 @@
1
+ /**
2
+ * Process Lifecycle Management Interface
3
+ *
4
+ * Handles the core lifecycle operations for processes:
5
+ * - Starting and stopping processes
6
+ * - Signal handling
7
+ * - Child process management
8
+ */
9
+ import { ChildProcess } from 'child_process';
10
+ /**
11
+ * Result of a process lifecycle operation
12
+ */
13
+ export interface ProcessLifecycleResult {
14
+ /** Whether the operation was successful */
15
+ success: boolean;
16
+ /** Error message if operation failed */
17
+ error?: string;
18
+ /** Process ID if process was started */
19
+ pid?: number;
20
+ /** Additional metadata about the operation */
21
+ metadata?: Record<string, unknown>;
22
+ }
23
+ /**
24
+ * Interface for process lifecycle management
25
+ */
26
+ export interface ProcessLifecycleManager {
27
+ /**
28
+ * Start a process with the given configuration
29
+ * @param name Process name
30
+ * @returns Promise resolving to the result
31
+ */
32
+ startProcess(name: string): Promise<ProcessLifecycleResult>;
33
+ /**
34
+ * Stop a running process gracefully
35
+ * @param name Process name
36
+ * @returns Promise resolving to the result
37
+ */
38
+ stopProcess(name: string): Promise<ProcessLifecycleResult>;
39
+ /**
40
+ * Restart a process (stop then start)
41
+ * @param name Process name
42
+ * @returns Promise resolving to the result
43
+ */
44
+ restartProcess(name: string): Promise<ProcessLifecycleResult>;
45
+ /**
46
+ * Send a signal to a process
47
+ * @param name Process name
48
+ * @param signal Signal to send
49
+ * @returns Promise resolving to the result
50
+ */
51
+ sendSignalToProcess(name: string, signal: string): Promise<ProcessLifecycleResult>;
52
+ /**
53
+ * Get the child process for a given process name
54
+ * @param name Process name
55
+ * @returns ChildProcess instance or undefined
56
+ */
57
+ getChildProcess(name: string): ChildProcess | undefined;
58
+ /**
59
+ * Check if a process is running
60
+ * @param name Process name
61
+ * @returns True if process is running
62
+ */
63
+ isProcessRunning(name: string): boolean;
64
+ /**
65
+ * Cleanup all managed processes and resources
66
+ * @returns Promise resolving when cleanup is complete
67
+ */
68
+ cleanup(): Promise<void>;
69
+ }
70
+ /**
71
+ * Event types emitted by ProcessLifecycleManager
72
+ */
73
+ export interface ProcessLifecycleEvents {
74
+ /** Process started successfully */
75
+ 'process:started': {
76
+ name: string;
77
+ pid: number;
78
+ };
79
+ /** Process stopped */
80
+ 'process:stopped': {
81
+ name: string;
82
+ code: number | null;
83
+ signal: string | null;
84
+ };
85
+ /** Process exited unexpectedly */
86
+ 'process:exit': {
87
+ name: string;
88
+ code: number | null;
89
+ signal: string | null;
90
+ };
91
+ /** Process startup failed */
92
+ 'process:error': {
93
+ name: string;
94
+ error: Error;
95
+ };
96
+ }
97
+ //# sourceMappingURL=process-lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-lifecycle.d.ts","sourceRoot":"","sources":["../../../../src/process-manager/interfaces/process-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAE7C;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACtC;;;;OAIG;IACH,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE5D;;;;OAIG;IACH,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE3D;;;;OAIG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAE9D;;;;;OAKG;IACH,mBAAmB,CACjB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,sBAAsB,CAAC,CAAC;IAEnC;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS,CAAC;IAExD;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAExC;;;OAGG;IACH,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,mCAAmC;IACnC,iBAAiB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACjD,sBAAsB;IACtB,iBAAiB,EAAE;QACjB,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;KACvB,CAAC;IACF,kCAAkC;IAClC,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAC7E,6BAA6B;IAC7B,eAAe,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;CACjD"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Process Lifecycle Management Interface
3
+ *
4
+ * Handles the core lifecycle operations for processes:
5
+ * - Starting and stopping processes
6
+ * - Signal handling
7
+ * - Child process management
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=process-lifecycle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-lifecycle.js","sourceRoot":"","sources":["../../../../src/process-manager/interfaces/process-lifecycle.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,118 @@
1
+ /**
2
+ * Process Monitoring Interface
3
+ *
4
+ * Handles monitoring of process health and resource usage:
5
+ * - Memory and CPU monitoring
6
+ * - Process health checks
7
+ * - Performance statistics
8
+ */
9
+ /**
10
+ * Process resource statistics
11
+ */
12
+ export interface ProcessStats {
13
+ /** Memory usage in bytes */
14
+ memory: number;
15
+ /** CPU usage percentage */
16
+ cpu: number;
17
+ /** Timestamp when stats were collected */
18
+ timestamp: number;
19
+ }
20
+ /**
21
+ * Process health status
22
+ */
23
+ export interface ProcessHealth {
24
+ /** Whether the process is alive */
25
+ isAlive: boolean;
26
+ /** Last health check timestamp */
27
+ lastCheck: number;
28
+ /** Number of consecutive failed health checks */
29
+ consecutiveFailures: number;
30
+ }
31
+ /**
32
+ * Monitoring configuration
33
+ */
34
+ export interface MonitoringConfig {
35
+ /** Interval for health checks in milliseconds */
36
+ healthCheckInterval: number;
37
+ /** Interval for memory checks in milliseconds */
38
+ memoryCheckInterval: number;
39
+ /** Maximum number of health check failures before marking as unhealthy */
40
+ maxHealthCheckFailures: number;
41
+ }
42
+ /**
43
+ * Interface for process monitoring
44
+ */
45
+ export interface ProcessMonitor {
46
+ /**
47
+ * Start monitoring all processes
48
+ * @param config Monitoring configuration
49
+ */
50
+ startMonitoring(config?: Partial<MonitoringConfig>): void;
51
+ /**
52
+ * Stop monitoring all processes
53
+ */
54
+ stopMonitoring(): void;
55
+ /**
56
+ * Start monitoring a specific process
57
+ * @param name Process name
58
+ */
59
+ startProcessMonitoring(name: string): void;
60
+ /**
61
+ * Stop monitoring a specific process
62
+ * @param name Process name
63
+ */
64
+ stopProcessMonitoring(name: string): void;
65
+ /**
66
+ * Get current resource statistics for a process
67
+ * @param name Process name
68
+ * @returns Current stats or undefined if not available
69
+ */
70
+ getProcessStats(name: string): Promise<ProcessStats | undefined>;
71
+ /**
72
+ * Get health status for a process
73
+ * @param name Process name
74
+ * @returns Health status or undefined if not monitored
75
+ */
76
+ getProcessHealth(name: string): ProcessHealth | undefined;
77
+ /**
78
+ * Check if a process is being monitored
79
+ * @param name Process name
80
+ * @returns True if process is being monitored
81
+ */
82
+ isProcessMonitored(name: string): boolean;
83
+ /**
84
+ * Check if monitoring is enabled globally
85
+ * @returns True if monitoring is enabled
86
+ */
87
+ isMonitoringEnabled(): boolean;
88
+ /**
89
+ * Cleanup monitoring resources
90
+ */
91
+ cleanup(): void;
92
+ }
93
+ /**
94
+ * Event types emitted by ProcessMonitor
95
+ */
96
+ export interface ProcessMonitorEvents {
97
+ /** Process exceeded memory limit */
98
+ 'process:memory-limit': {
99
+ name: string;
100
+ usage: number;
101
+ limit: number;
102
+ };
103
+ /** Process became unresponsive */
104
+ 'process:unhealthy': {
105
+ name: string;
106
+ consecutiveFailures: number;
107
+ };
108
+ /** Process died unexpectedly */
109
+ 'process:died': {
110
+ name: string;
111
+ };
112
+ /** Process resource statistics updated */
113
+ 'process:stats': {
114
+ name: string;
115
+ stats: ProcessStats;
116
+ };
117
+ }
118
+ //# sourceMappingURL=process-monitor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-monitor.d.ts","sourceRoot":"","sources":["../../../../src/process-manager/interfaces/process-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IACf,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,mCAAmC;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,iDAAiD;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,iDAAiD;IACjD,mBAAmB,EAAE,MAAM,CAAC;IAC5B,0EAA0E;IAC1E,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B;;;OAGG;IACH,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC;IAE1D;;OAEG;IACH,cAAc,IAAI,IAAI,CAAC;IAEvB;;;OAGG;IACH,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE3C;;;OAGG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAE1C;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAEjE;;;;OAIG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,SAAS,CAAC;IAE1D;;;;OAIG;IACH,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IAE1C;;;OAGG;IACH,mBAAmB,IAAI,OAAO,CAAC;IAE/B;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,oCAAoC;IACpC,sBAAsB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACvE,kCAAkC;IAClC,mBAAmB,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,mBAAmB,EAAE,MAAM,CAAA;KAAE,CAAC;IACnE,gCAAgC;IAChC,cAAc,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACjC,0CAA0C;IAC1C,eAAe,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,YAAY,CAAA;KAAE,CAAC;CACxD"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Process Monitoring Interface
3
+ *
4
+ * Handles monitoring of process health and resource usage:
5
+ * - Memory and CPU monitoring
6
+ * - Process health checks
7
+ * - Performance statistics
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=process-monitor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-monitor.js","sourceRoot":"","sources":["../../../../src/process-manager/interfaces/process-monitor.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}
@@ -0,0 +1,125 @@
1
+ /**
2
+ * Process Persistence Interface
3
+ *
4
+ * Handles saving and loading process state to/from persistent storage:
5
+ * - State serialization and deserialization
6
+ * - File I/O operations
7
+ * - Backup and recovery
8
+ */
9
+ import { PersistedManagedProcessInfo } from '../../shared/process.js';
10
+ /**
11
+ * Persistence configuration
12
+ */
13
+ export interface PersistenceConfig {
14
+ /** Path to the persistence file */
15
+ filePath: string;
16
+ /** Debounce delay for saving state in milliseconds */
17
+ saveDelay: number;
18
+ /** Whether to create backup files */
19
+ enableBackup: boolean;
20
+ }
21
+ /**
22
+ * Result of a persistence operation
23
+ */
24
+ export interface PersistenceResult {
25
+ /** Whether the operation was successful */
26
+ success: boolean;
27
+ /** Error message if operation failed */
28
+ error?: string;
29
+ /** Additional metadata */
30
+ metadata?: {
31
+ /** File path used */
32
+ filePath?: string;
33
+ /** Whether backup was used */
34
+ usedBackup?: boolean;
35
+ /** Number of processes loaded/saved */
36
+ processCount?: number;
37
+ };
38
+ }
39
+ /**
40
+ * Interface for process persistence
41
+ */
42
+ export interface ProcessPersistence {
43
+ /**
44
+ * Initialize persistence with configuration
45
+ * @param config Persistence configuration
46
+ */
47
+ initialize(config: PersistenceConfig): void;
48
+ /**
49
+ * Save current process state to persistent storage
50
+ * @param processes Array of process information to save
51
+ * @returns Promise resolving to the result
52
+ */
53
+ saveState(processes: PersistedManagedProcessInfo[]): Promise<PersistenceResult>;
54
+ /**
55
+ * Force save state immediately (bypassing debounce)
56
+ * @param processes Array of process information to save
57
+ * @returns Promise resolving to the result
58
+ */
59
+ forceSaveState(processes: PersistedManagedProcessInfo[]): Promise<PersistenceResult>;
60
+ /**
61
+ * Load process state from persistent storage
62
+ * @returns Promise resolving to loaded processes or empty array if none found
63
+ */
64
+ loadState(): Promise<PersistedManagedProcessInfo[]>;
65
+ /**
66
+ * Load process state from backup file
67
+ * @returns Promise resolving to loaded processes or empty array if none found
68
+ */
69
+ loadFromBackup(): Promise<PersistedManagedProcessInfo[]>;
70
+ /**
71
+ * Get the persistence file path
72
+ * @returns File path being used for persistence
73
+ */
74
+ getFilePath(): string;
75
+ /**
76
+ * Check if persistence file exists
77
+ * @returns True if persistence file exists
78
+ */
79
+ exists(): Promise<boolean>;
80
+ /**
81
+ * Check if backup file exists
82
+ * @returns True if backup file exists
83
+ */
84
+ backupExists(): Promise<boolean>;
85
+ /**
86
+ * Create a backup of the current persistence file
87
+ * @returns Promise resolving to the result
88
+ */
89
+ createBackup(): Promise<PersistenceResult>;
90
+ /**
91
+ * Cleanup persistence resources
92
+ */
93
+ cleanup(): void;
94
+ }
95
+ /**
96
+ * Event types emitted by ProcessPersistence
97
+ */
98
+ export interface ProcessPersistenceEvents {
99
+ /** State was saved successfully */
100
+ 'persistence:saved': {
101
+ filePath: string;
102
+ processCount: number;
103
+ };
104
+ /** State save failed */
105
+ 'persistence:save-error': {
106
+ filePath: string;
107
+ error: Error;
108
+ };
109
+ /** State was loaded successfully */
110
+ 'persistence:loaded': {
111
+ filePath: string;
112
+ processCount: number;
113
+ usedBackup: boolean;
114
+ };
115
+ /** State load failed */
116
+ 'persistence:load-error': {
117
+ filePath: string;
118
+ error: Error;
119
+ };
120
+ /** Backup was created */
121
+ 'persistence:backup-created': {
122
+ filePath: string;
123
+ };
124
+ }
125
+ //# sourceMappingURL=process-persistence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-persistence.d.ts","sourceRoot":"","sources":["../../../../src/process-manager/interfaces/process-persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,2BAA2B,EAAE,MAAM,yBAAyB,CAAC;AAEtE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAC;IAClB,qCAAqC;IACrC,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,OAAO,EAAE,OAAO,CAAC;IACjB,wCAAwC;IACxC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0BAA0B;IAC1B,QAAQ,CAAC,EAAE;QACT,qBAAqB;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,8BAA8B;QAC9B,UAAU,CAAC,EAAE,OAAO,CAAC;QACrB,uCAAuC;QACvC,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,UAAU,CAAC,MAAM,EAAE,iBAAiB,GAAG,IAAI,CAAC;IAE5C;;;;OAIG;IACH,SAAS,CACP,SAAS,EAAE,2BAA2B,EAAE,GACvC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE9B;;;;OAIG;IACH,cAAc,CACZ,SAAS,EAAE,2BAA2B,EAAE,GACvC,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE9B;;;OAGG;IACH,SAAS,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAEpD;;;OAGG;IACH,cAAc,IAAI,OAAO,CAAC,2BAA2B,EAAE,CAAC,CAAC;IAEzD;;;OAGG;IACH,WAAW,IAAI,MAAM,CAAC;IAEtB;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAE3B;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IAEjC;;;OAGG;IACH,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAE3C;;OAEG;IACH,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,mCAAmC;IACnC,mBAAmB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC;IAChE,wBAAwB;IACxB,wBAAwB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAC7D,oCAAoC;IACpC,oBAAoB,EAAE;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,UAAU,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,wBAAwB;IACxB,wBAAwB,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,KAAK,CAAA;KAAE,CAAC;IAC7D,yBAAyB;IACzB,4BAA4B,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Process Persistence Interface
3
+ *
4
+ * Handles saving and loading process state to/from persistent storage:
5
+ * - State serialization and deserialization
6
+ * - File I/O operations
7
+ * - Backup and recovery
8
+ */
9
+ export {};
10
+ //# sourceMappingURL=process-persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"process-persistence.js","sourceRoot":"","sources":["../../../../src/process-manager/interfaces/process-persistence.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG"}