@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.
- package/dist/src/cli/commands/help.d.ts.map +1 -1
- package/dist/src/cli/commands/help.js +3 -1
- package/dist/src/cli/commands/help.js.map +1 -1
- package/dist/src/cli/index.js +6 -2
- package/dist/src/cli/index.js.map +1 -1
- package/dist/src/cli/parser.d.ts.map +1 -1
- package/dist/src/cli/parser.js +20 -0
- package/dist/src/cli/parser.js.map +1 -1
- package/dist/src/cli/utils/find-package-json.d.ts +4 -0
- package/dist/src/cli/utils/find-package-json.d.ts.map +1 -0
- package/dist/src/cli/utils/find-package-json.js +15 -0
- package/dist/src/cli/utils/find-package-json.js.map +1 -0
- package/dist/src/config/config-loader.d.ts +1 -0
- package/dist/src/config/config-loader.d.ts.map +1 -1
- package/dist/src/config/config-loader.js +16 -6
- package/dist/src/config/config-loader.js.map +1 -1
- package/dist/src/config/config-validator.d.ts +18 -49
- package/dist/src/config/config-validator.d.ts.map +1 -1
- package/dist/src/config/config-validator.js +64 -172
- package/dist/src/config/config-validator.js.map +1 -1
- package/dist/src/config/path-security-validator.d.ts +39 -0
- package/dist/src/config/path-security-validator.d.ts.map +1 -0
- package/dist/src/config/path-security-validator.js +134 -0
- package/dist/src/config/path-security-validator.js.map +1 -0
- package/dist/src/config/secure-config-loader.d.ts.map +1 -1
- package/dist/src/config/secure-config-loader.js +10 -2
- package/dist/src/config/secure-config-loader.js.map +1 -1
- package/dist/src/config/validation-suggestions.d.ts +13 -0
- package/dist/src/config/validation-suggestions.d.ts.map +1 -0
- package/dist/src/config/validation-suggestions.js +40 -0
- package/dist/src/config/validation-suggestions.js.map +1 -0
- package/dist/src/config/validation-types.d.ts +38 -0
- package/dist/src/config/validation-types.d.ts.map +1 -0
- package/dist/src/config/validation-types.js +7 -0
- package/dist/src/config/validation-types.js.map +1 -0
- package/dist/src/daemon/component-command-wiring.d.ts +19 -0
- package/dist/src/daemon/component-command-wiring.d.ts.map +1 -0
- package/dist/src/daemon/component-command-wiring.js +27 -0
- package/dist/src/daemon/component-command-wiring.js.map +1 -0
- package/dist/src/daemon/component-daemon-interface.d.ts +38 -0
- package/dist/src/daemon/component-daemon-interface.d.ts.map +1 -0
- package/dist/src/daemon/component-daemon-interface.js +72 -0
- package/dist/src/daemon/component-daemon-interface.js.map +1 -0
- package/dist/src/daemon/component-health.d.ts +38 -0
- package/dist/src/daemon/component-health.d.ts.map +1 -0
- package/dist/src/daemon/component-health.js +146 -0
- package/dist/src/daemon/component-health.js.map +1 -0
- package/dist/src/daemon/component-manager-errors.d.ts +20 -0
- package/dist/src/daemon/component-manager-errors.d.ts.map +1 -0
- package/dist/src/daemon/component-manager-errors.js +30 -0
- package/dist/src/daemon/component-manager-errors.js.map +1 -0
- package/dist/src/daemon/component-manager-types.d.ts +23 -0
- package/dist/src/daemon/component-manager-types.d.ts.map +1 -0
- package/dist/src/daemon/component-manager-types.js +5 -0
- package/dist/src/daemon/component-manager-types.js.map +1 -0
- package/dist/src/daemon/component-manager.d.ts +16 -64
- package/dist/src/daemon/component-manager.d.ts.map +1 -1
- package/dist/src/daemon/component-manager.js +72 -509
- package/dist/src/daemon/component-manager.js.map +1 -1
- package/dist/src/daemon/component-registration.d.ts +14 -0
- package/dist/src/daemon/component-registration.d.ts.map +1 -0
- package/dist/src/daemon/component-registration.js +92 -0
- package/dist/src/daemon/component-registration.js.map +1 -0
- package/dist/src/daemon/component-streaming.d.ts +36 -0
- package/dist/src/daemon/component-streaming.d.ts.map +1 -0
- package/dist/src/daemon/component-streaming.js +112 -0
- package/dist/src/daemon/component-streaming.js.map +1 -0
- package/dist/src/daemon/daemon-lifecycle.d.ts +37 -0
- package/dist/src/daemon/daemon-lifecycle.d.ts.map +1 -0
- package/dist/src/daemon/daemon-lifecycle.js +362 -0
- package/dist/src/daemon/daemon-lifecycle.js.map +1 -0
- package/dist/src/daemon/daemon-queries.d.ts +53 -0
- package/dist/src/daemon/daemon-queries.d.ts.map +1 -0
- package/dist/src/daemon/daemon-queries.js +113 -0
- package/dist/src/daemon/daemon-queries.js.map +1 -0
- package/dist/src/daemon/daemon-types.d.ts +30 -0
- package/dist/src/daemon/daemon-types.d.ts.map +1 -0
- package/dist/src/daemon/daemon-types.js +8 -0
- package/dist/src/daemon/daemon-types.js.map +1 -0
- package/dist/src/daemon/disposable-base.d.ts +49 -0
- package/dist/src/daemon/disposable-base.d.ts.map +1 -0
- package/dist/src/daemon/disposable-base.js +70 -0
- package/dist/src/daemon/disposable-base.js.map +1 -0
- package/dist/src/daemon/disposal-guard.d.ts +27 -0
- package/dist/src/daemon/disposal-guard.d.ts.map +1 -0
- package/dist/src/daemon/disposal-guard.js +58 -0
- package/dist/src/daemon/disposal-guard.js.map +1 -0
- package/dist/src/daemon/ipc-command-handler.d.ts +8 -34
- package/dist/src/daemon/ipc-command-handler.d.ts.map +1 -1
- package/dist/src/daemon/ipc-command-handler.js +14 -362
- package/dist/src/daemon/ipc-command-handler.js.map +1 -1
- package/dist/src/daemon/log-command-handlers.d.ts +19 -0
- package/dist/src/daemon/log-command-handlers.d.ts.map +1 -0
- package/dist/src/daemon/log-command-handlers.js +114 -0
- package/dist/src/daemon/log-command-handlers.js.map +1 -0
- package/dist/src/daemon/process-command-handlers.d.ts +32 -0
- package/dist/src/daemon/process-command-handlers.d.ts.map +1 -0
- package/dist/src/daemon/process-command-handlers.js +223 -0
- package/dist/src/daemon/process-command-handlers.js.map +1 -0
- package/dist/src/daemon/procman-daemon.d.ts +22 -98
- package/dist/src/daemon/procman-daemon.d.ts.map +1 -1
- package/dist/src/daemon/procman-daemon.js +107 -604
- package/dist/src/daemon/procman-daemon.js.map +1 -1
- package/dist/src/daemon/resource-manager.d.ts +6 -124
- package/dist/src/daemon/resource-manager.d.ts.map +1 -1
- package/dist/src/daemon/resource-manager.js +5 -231
- package/dist/src/daemon/resource-manager.js.map +1 -1
- package/dist/src/daemon/resource-types.d.ts +23 -0
- package/dist/src/daemon/resource-types.d.ts.map +1 -0
- package/dist/src/daemon/resource-types.js +7 -0
- package/dist/src/daemon/resource-types.js.map +1 -0
- package/dist/src/daemon/shutdown-orchestrator.d.ts +32 -0
- package/dist/src/daemon/shutdown-orchestrator.d.ts.map +1 -0
- package/dist/src/daemon/shutdown-orchestrator.js +123 -0
- package/dist/src/daemon/shutdown-orchestrator.js.map +1 -0
- package/dist/src/daemon/tracked-resources.d.ts +60 -0
- package/dist/src/daemon/tracked-resources.d.ts.map +1 -0
- package/dist/src/daemon/tracked-resources.js +124 -0
- package/dist/src/daemon/tracked-resources.js.map +1 -0
- package/dist/src/process-manager/index.d.ts +5 -1
- package/dist/src/process-manager/index.d.ts.map +1 -1
- package/dist/src/process-manager/index.js +3 -0
- package/dist/src/process-manager/index.js.map +1 -1
- package/dist/src/process-manager/interfaces/process-group.d.ts +6 -0
- package/dist/src/process-manager/interfaces/process-group.d.ts.map +1 -1
- package/dist/src/process-manager/managed-process-events.d.ts +22 -0
- package/dist/src/process-manager/managed-process-events.d.ts.map +1 -0
- package/dist/src/process-manager/managed-process-events.js +5 -0
- package/dist/src/process-manager/managed-process-events.js.map +1 -0
- package/dist/src/process-manager/managed-process-info.d.ts +11 -53
- package/dist/src/process-manager/managed-process-info.d.ts.map +1 -1
- package/dist/src/process-manager/managed-process-info.js +46 -133
- package/dist/src/process-manager/managed-process-info.js.map +1 -1
- package/dist/src/process-manager/process-batch-operations.d.ts +62 -0
- package/dist/src/process-manager/process-batch-operations.d.ts.map +1 -0
- package/dist/src/process-manager/process-batch-operations.js +80 -0
- package/dist/src/process-manager/process-batch-operations.js.map +1 -0
- package/dist/src/process-manager/process-config.d.ts +49 -0
- package/dist/src/process-manager/process-config.d.ts.map +1 -0
- package/dist/src/process-manager/process-config.js +68 -0
- package/dist/src/process-manager/process-config.js.map +1 -0
- package/dist/src/process-manager/process-event-forwarding.d.ts +18 -0
- package/dist/src/process-manager/process-event-forwarding.d.ts.map +1 -0
- package/dist/src/process-manager/process-event-forwarding.js +105 -0
- package/dist/src/process-manager/process-event-forwarding.js.map +1 -0
- package/dist/src/process-manager/process-group-manager.d.ts.map +1 -1
- package/dist/src/process-manager/process-group-manager.js +0 -1
- package/dist/src/process-manager/process-group-manager.js.map +1 -1
- package/dist/src/process-manager/process-info-queries.d.ts +48 -0
- package/dist/src/process-manager/process-info-queries.d.ts.map +1 -0
- package/dist/src/process-manager/process-info-queries.js +92 -0
- package/dist/src/process-manager/process-info-queries.js.map +1 -0
- package/dist/src/process-manager/process-manager.d.ts +5 -174
- package/dist/src/process-manager/process-manager.d.ts.map +1 -1
- package/dist/src/process-manager/process-manager.js +58 -398
- package/dist/src/process-manager/process-manager.js.map +1 -1
- package/dist/src/process-manager/process-monitoring.d.ts +80 -0
- package/dist/src/process-manager/process-monitoring.d.ts.map +1 -0
- package/dist/src/process-manager/process-monitoring.js +142 -0
- package/dist/src/process-manager/process-monitoring.js.map +1 -0
- package/dist/src/process-manager/process-statistics.d.ts +37 -0
- package/dist/src/process-manager/process-statistics.d.ts.map +1 -0
- package/dist/src/process-manager/process-statistics.js +24 -0
- package/dist/src/process-manager/process-statistics.js.map +1 -0
- package/dist/src/process-manager/restart-manager.d.ts +82 -0
- package/dist/src/process-manager/restart-manager.d.ts.map +1 -0
- package/dist/src/process-manager/restart-manager.js +150 -0
- package/dist/src/process-manager/restart-manager.js.map +1 -0
- package/dist/src/services/app-logger.d.ts +144 -0
- package/dist/src/services/app-logger.d.ts.map +1 -0
- package/dist/src/services/app-logger.js +489 -0
- package/dist/src/services/app-logger.js.map +1 -0
- package/dist/src/services/log-buffer.d.ts +35 -0
- package/dist/src/services/log-buffer.d.ts.map +1 -0
- package/dist/src/services/log-buffer.js +87 -0
- package/dist/src/services/log-buffer.js.map +1 -0
- package/dist/src/services/log-event-manager.d.ts +32 -0
- package/dist/src/services/log-event-manager.d.ts.map +1 -0
- package/dist/src/services/log-event-manager.js +31 -0
- package/dist/src/services/log-event-manager.js.map +1 -0
- package/dist/src/services/log-file-manager.d.ts +46 -0
- package/dist/src/services/log-file-manager.d.ts.map +1 -0
- package/dist/src/services/log-file-manager.js +156 -0
- package/dist/src/services/log-file-manager.js.map +1 -0
- package/dist/src/services/log-level-strategy.d.ts +19 -0
- package/dist/src/services/log-level-strategy.d.ts.map +1 -0
- package/dist/src/services/log-level-strategy.js +40 -0
- package/dist/src/services/log-level-strategy.js.map +1 -0
- package/dist/src/services/log-manager-types.d.ts +117 -0
- package/dist/src/services/log-manager-types.d.ts.map +1 -0
- package/dist/src/services/log-manager-types.js +12 -0
- package/dist/src/services/log-manager-types.js.map +1 -0
- package/dist/src/services/log-manager.d.ts +8 -35
- package/dist/src/services/log-manager.d.ts.map +1 -1
- package/dist/src/services/log-manager.js +10 -870
- package/dist/src/services/log-manager.js.map +1 -1
- package/dist/src/services/log-preprocessor.d.ts +30 -0
- package/dist/src/services/log-preprocessor.d.ts.map +1 -0
- package/dist/src/services/log-preprocessor.js +65 -0
- package/dist/src/services/log-preprocessor.js.map +1 -0
- package/dist/src/services/process-log-integration.d.ts +7 -2
- package/dist/src/services/process-log-integration.d.ts.map +1 -1
- package/dist/src/services/process-log-integration.js.map +1 -1
- package/package.json +5 -7
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation Suggestions
|
|
3
|
+
*
|
|
4
|
+
* Generates helpful suggestions for configuration validation errors.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Generate suggestions for validation errors
|
|
8
|
+
* @param errorCode Error code
|
|
9
|
+
* @param field Field name (optional)
|
|
10
|
+
* @returns Array of suggestions
|
|
11
|
+
*/
|
|
12
|
+
export function generateSuggestions(errorCode, field) {
|
|
13
|
+
const suggestions = [];
|
|
14
|
+
switch (errorCode) {
|
|
15
|
+
case 'CONFIG_VALIDATION_ERROR':
|
|
16
|
+
if (field === 'name') {
|
|
17
|
+
suggestions.push('Use only alphanumeric characters, dashes, and underscores');
|
|
18
|
+
suggestions.push('Ensure the name is unique across all apps');
|
|
19
|
+
}
|
|
20
|
+
else if (field === 'script') {
|
|
21
|
+
suggestions.push('Provide the full command to execute');
|
|
22
|
+
suggestions.push('Use absolute paths for executables if needed');
|
|
23
|
+
}
|
|
24
|
+
else if (field === 'max_memory_restart') {
|
|
25
|
+
suggestions.push('Use format like "300M", "1G", or "512000K"');
|
|
26
|
+
suggestions.push('Ensure the unit (K/M/G) is specified');
|
|
27
|
+
}
|
|
28
|
+
break;
|
|
29
|
+
case 'CONFIG_SECURITY_ERROR':
|
|
30
|
+
suggestions.push('Use relative paths within the project directory');
|
|
31
|
+
suggestions.push('Avoid ".." in paths to prevent directory traversal');
|
|
32
|
+
suggestions.push('Use absolute paths only when explicitly needed');
|
|
33
|
+
break;
|
|
34
|
+
default:
|
|
35
|
+
suggestions.push('Check the configuration documentation');
|
|
36
|
+
suggestions.push('Verify all required fields are present');
|
|
37
|
+
}
|
|
38
|
+
return suggestions;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=validation-suggestions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-suggestions.js","sourceRoot":"","sources":["../../../src/config/validation-suggestions.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;;;;GAKG;AACH,MAAM,UAAU,mBAAmB,CACjC,SAAiB,EACjB,KAAc;IAEd,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,QAAQ,SAAS,EAAE,CAAC;QAClB,KAAK,yBAAyB;YAC5B,IAAI,KAAK,KAAK,MAAM,EAAE,CAAC;gBACrB,WAAW,CAAC,IAAI,CACd,2DAA2D,CAC5D,CAAC;gBACF,WAAW,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;YAChE,CAAC;iBAAM,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;gBAC9B,WAAW,CAAC,IAAI,CAAC,qCAAqC,CAAC,CAAC;gBACxD,WAAW,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;YACnE,CAAC;iBAAM,IAAI,KAAK,KAAK,oBAAoB,EAAE,CAAC;gBAC1C,WAAW,CAAC,IAAI,CAAC,4CAA4C,CAAC,CAAC;gBAC/D,WAAW,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAC3D,CAAC;YACD,MAAM;QAER,KAAK,uBAAuB;YAC1B,WAAW,CAAC,IAAI,CAAC,iDAAiD,CAAC,CAAC;YACpE,WAAW,CAAC,IAAI,CAAC,oDAAoD,CAAC,CAAC;YACvE,WAAW,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;YACnE,MAAM;QAER;YACE,WAAW,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;YAC1D,WAAW,CAAC,IAAI,CAAC,wCAAwC,CAAC,CAAC;IAC/D,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Validation Types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for configuration validation.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Validation issue severity levels
|
|
8
|
+
*/
|
|
9
|
+
export type ValidationSeverity = 'error' | 'warning' | 'info';
|
|
10
|
+
/**
|
|
11
|
+
* Validation issue details
|
|
12
|
+
*/
|
|
13
|
+
export interface ValidationIssue {
|
|
14
|
+
/** Issue severity level */
|
|
15
|
+
severity: ValidationSeverity;
|
|
16
|
+
/** Issue category */
|
|
17
|
+
category: 'structure' | 'security' | 'performance' | 'compatibility';
|
|
18
|
+
/** Issue message */
|
|
19
|
+
message: string;
|
|
20
|
+
/** Location of the issue */
|
|
21
|
+
location?: {
|
|
22
|
+
appIndex?: number;
|
|
23
|
+
field?: string;
|
|
24
|
+
value?: string;
|
|
25
|
+
};
|
|
26
|
+
/** Suggested fix */
|
|
27
|
+
suggestion?: string;
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Configuration validator options
|
|
31
|
+
*/
|
|
32
|
+
export interface ConfigValidatorOptions {
|
|
33
|
+
/** Project root path for security validation */
|
|
34
|
+
projectRoot?: string;
|
|
35
|
+
/** Whether to collect validation issues for reporting (default: false) */
|
|
36
|
+
collectIssues?: boolean;
|
|
37
|
+
}
|
|
38
|
+
//# sourceMappingURL=validation-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-types.d.ts","sourceRoot":"","sources":["../../../src/config/validation-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,OAAO,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,qBAAqB;IACrB,QAAQ,EAAE,WAAW,GAAG,UAAU,GAAG,aAAa,GAAG,eAAe,CAAC;IACrE,oBAAoB;IACpB,OAAO,EAAE,MAAM,CAAC;IAChB,4BAA4B;IAC5B,QAAQ,CAAC,EAAE;QACT,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,oBAAoB;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0EAA0E;IAC1E,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validation-types.js","sourceRoot":"","sources":["../../../src/config/validation-types.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Command Wiring - registers IPC command handlers and sets up streaming
|
|
3
|
+
*/
|
|
4
|
+
import { EventEmitter } from 'events';
|
|
5
|
+
import { IPCServerBase } from './ipc-server-base.js';
|
|
6
|
+
import { IPCCommandHandler } from './ipc-command-handler.js';
|
|
7
|
+
import { LogManager } from '../services/log-manager.js';
|
|
8
|
+
import { StreamingSessionManager } from './component-streaming.js';
|
|
9
|
+
/**
|
|
10
|
+
* Register all command handlers with the IPC server and set up log streaming.
|
|
11
|
+
*/
|
|
12
|
+
export declare function wireCommandHandlers(options: {
|
|
13
|
+
ipcServer: IPCServerBase;
|
|
14
|
+
commandHandler: IPCCommandHandler;
|
|
15
|
+
logManager: LogManager;
|
|
16
|
+
streamingManager: StreamingSessionManager;
|
|
17
|
+
registerListener: <T extends EventEmitter>(emitter: T, event: string | symbol, listener: (...args: any[]) => void) => void;
|
|
18
|
+
}): void;
|
|
19
|
+
//# sourceMappingURL=component-command-wiring.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-command-wiring.d.ts","sourceRoot":"","sources":["../../../src/daemon/component-command-wiring.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AAEnE;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,SAAS,EAAE,aAAa,CAAC;IACzB,cAAc,EAAE,iBAAiB,CAAC;IAClC,UAAU,EAAE,UAAU,CAAC;IACvB,gBAAgB,EAAE,uBAAuB,CAAC;IAC1C,gBAAgB,EAAE,CAAC,CAAC,SAAS,YAAY,EACvC,OAAO,EAAE,CAAC,EACV,KAAK,EAAE,MAAM,GAAG,MAAM,EACtB,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,KAC/B,IAAI,CAAC;CACX,GAAG,IAAI,CAiCP"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Command Wiring - registers IPC command handlers and sets up streaming
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Register all command handlers with the IPC server and set up log streaming.
|
|
6
|
+
*/
|
|
7
|
+
export function wireCommandHandlers(options) {
|
|
8
|
+
const { ipcServer, commandHandler, logManager, streamingManager, registerListener, } = options;
|
|
9
|
+
const commandTypes = [
|
|
10
|
+
'load',
|
|
11
|
+
'start',
|
|
12
|
+
'stop',
|
|
13
|
+
'restart',
|
|
14
|
+
'list',
|
|
15
|
+
'log',
|
|
16
|
+
'clear-log',
|
|
17
|
+
'exit',
|
|
18
|
+
];
|
|
19
|
+
for (const commandType of commandTypes) {
|
|
20
|
+
ipcServer.registerHandler(commandType, async (message, connection) => {
|
|
21
|
+
return commandHandler.handleMessage(message, connection);
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
// Setup log streaming via streaming manager
|
|
25
|
+
streamingManager.setupLogStreaming(commandHandler, ipcServer, logManager, registerListener);
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=component-command-wiring.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-command-wiring.js","sourceRoot":"","sources":["../../../src/daemon/component-command-wiring.ts"],"names":[],"mappings":"AAAA;;GAEG;AASH;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,OAUnC;IACC,MAAM,EACJ,SAAS,EACT,cAAc,EACd,UAAU,EACV,gBAAgB,EAChB,gBAAgB,GACjB,GAAG,OAAO,CAAC;IAEZ,MAAM,YAAY,GAAkB;QAClC,MAAM;QACN,OAAO;QACP,MAAM;QACN,SAAS;QACT,MAAM;QACN,KAAK;QACL,WAAW;QACX,MAAM;KACP,CAAC;IAEF,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,EAAE;YACnE,OAAO,cAAc,CAAC,aAAa,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAC3D,CAAC,CAAC,CAAC;IACL,CAAC;IAED,4CAA4C;IAC5C,gBAAgB,CAAC,iBAAiB,CAChC,cAAc,EACd,SAAS,EACT,UAAU,EACV,gBAAgB,CACjB,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Daemon Interface - creates the daemon interface used by IPCCommandHandler
|
|
3
|
+
*/
|
|
4
|
+
import { ConfigLoader } from '../config/config-loader.js';
|
|
5
|
+
import { ProcessManager } from '../process-manager/process-manager.js';
|
|
6
|
+
import { LogManager } from '../services/log-manager.js';
|
|
7
|
+
/**
|
|
8
|
+
* Dependencies needed to create the daemon interface
|
|
9
|
+
*/
|
|
10
|
+
export interface DaemonInterfaceDeps {
|
|
11
|
+
getConfigLoader: () => ConfigLoader;
|
|
12
|
+
getProcessManager: () => ProcessManager;
|
|
13
|
+
getLogManager: () => LogManager;
|
|
14
|
+
cleanupAll: () => Promise<void>;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Create a daemon interface object for the IPCCommandHandler.
|
|
18
|
+
* This provides the command handler with access to daemon functionality.
|
|
19
|
+
*/
|
|
20
|
+
export declare function createDaemonInterface(deps: DaemonInterfaceDeps): {
|
|
21
|
+
getConfigLoader: () => ConfigLoader;
|
|
22
|
+
getProcessManager: () => ProcessManager;
|
|
23
|
+
getLogManager: () => LogManager;
|
|
24
|
+
getAllProcessStatuses: () => Promise<{
|
|
25
|
+
name: string;
|
|
26
|
+
namespace: string;
|
|
27
|
+
pid: number | null;
|
|
28
|
+
status: import("../shared/process.js").ProcessStatus;
|
|
29
|
+
uptime: number;
|
|
30
|
+
memory: number;
|
|
31
|
+
cpu: number;
|
|
32
|
+
restarts: number;
|
|
33
|
+
}[]>;
|
|
34
|
+
getConfig: () => undefined;
|
|
35
|
+
loadConfig: (configFilePath: string) => Promise<import("../shared/config.js").AppConfig[]>;
|
|
36
|
+
stop: () => Promise<void>;
|
|
37
|
+
};
|
|
38
|
+
//# sourceMappingURL=component-daemon-interface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-daemon-interface.d.ts","sourceRoot":"","sources":["../../../src/daemon/component-daemon-interface.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,eAAe,EAAE,MAAM,YAAY,CAAC;IACpC,iBAAiB,EAAE,MAAM,cAAc,CAAC;IACxC,aAAa,EAAE,MAAM,UAAU,CAAC;IAChC,UAAU,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CACjC;AAED;;;GAGG;AAEH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB;;;;;;;;;;;;;;;iCAiCxB,MAAM;;EAqC5C"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Daemon Interface - creates the daemon interface used by IPCCommandHandler
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Create a daemon interface object for the IPCCommandHandler.
|
|
6
|
+
* This provides the command handler with access to daemon functionality.
|
|
7
|
+
*/
|
|
8
|
+
// eslint-disable-next-line @typescript-eslint/explicit-function-return-type
|
|
9
|
+
export function createDaemonInterface(deps) {
|
|
10
|
+
return {
|
|
11
|
+
getConfigLoader: () => deps.getConfigLoader(),
|
|
12
|
+
getProcessManager: () => deps.getProcessManager(),
|
|
13
|
+
getLogManager: () => deps.getLogManager(),
|
|
14
|
+
getAllProcessStatuses: async () => {
|
|
15
|
+
const processManager = deps.getProcessManager();
|
|
16
|
+
const processInfos = processManager.getAllProcessInfo();
|
|
17
|
+
const statusPromises = processInfos.map(async (processInfo) => {
|
|
18
|
+
const info = processInfo;
|
|
19
|
+
if (!info)
|
|
20
|
+
return null;
|
|
21
|
+
const stats = await processManager.monitor.getProcessStats(info.name);
|
|
22
|
+
return {
|
|
23
|
+
name: info.name,
|
|
24
|
+
namespace: info.namespace || 'default',
|
|
25
|
+
pid: info.pid,
|
|
26
|
+
status: info.status,
|
|
27
|
+
uptime: info.uptime,
|
|
28
|
+
memory: stats?.memory || 0,
|
|
29
|
+
cpu: stats?.cpu || 0,
|
|
30
|
+
restarts: info.restarts,
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
const results = await Promise.all(statusPromises);
|
|
34
|
+
return results.filter((result) => result !== null);
|
|
35
|
+
},
|
|
36
|
+
getConfig: () => {
|
|
37
|
+
return undefined;
|
|
38
|
+
},
|
|
39
|
+
loadConfig: async (configFilePath) => {
|
|
40
|
+
const configLoader = deps.getConfigLoader();
|
|
41
|
+
const processManager = deps.getProcessManager();
|
|
42
|
+
const logManager = deps.getLogManager();
|
|
43
|
+
const config = await configLoader.load(configFilePath);
|
|
44
|
+
const allProcesses = processManager.getAllProcessInfo();
|
|
45
|
+
if (allProcesses.length > 0) {
|
|
46
|
+
const processNames = allProcesses
|
|
47
|
+
.map((processInfo) => {
|
|
48
|
+
const info = processInfo;
|
|
49
|
+
return info?.name || '';
|
|
50
|
+
})
|
|
51
|
+
.filter((name) => name !== '');
|
|
52
|
+
await processManager.stopProcesses(processNames);
|
|
53
|
+
}
|
|
54
|
+
for (const app of config.apps) {
|
|
55
|
+
processManager.configureProcess(app);
|
|
56
|
+
if (logManager && (app.log_file || app.out_file || app.error_file)) {
|
|
57
|
+
await logManager.setupAppLogs(app.name, {
|
|
58
|
+
logFile: app.log_file,
|
|
59
|
+
outFile: app.out_file,
|
|
60
|
+
errorFile: app.error_file,
|
|
61
|
+
namespace: app.namespace,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
return config.apps;
|
|
66
|
+
},
|
|
67
|
+
stop: async () => {
|
|
68
|
+
await deps.cleanupAll();
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=component-daemon-interface.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-daemon-interface.js","sourceRoot":"","sources":["../../../src/daemon/component-daemon-interface.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Health Checks - health verification for daemon components
|
|
3
|
+
*/
|
|
4
|
+
import { ConfigLoader } from '../config/config-loader.js';
|
|
5
|
+
import { ProcessManager } from '../process-manager/process-manager.js';
|
|
6
|
+
import { LogManager } from '../services/log-manager.js';
|
|
7
|
+
import { IPCServerBase } from './ipc-server-base.js';
|
|
8
|
+
import { IPCCommandHandler } from './ipc-command-handler.js';
|
|
9
|
+
/**
|
|
10
|
+
* Health check result for a single component
|
|
11
|
+
*/
|
|
12
|
+
export interface ComponentHealthStatus {
|
|
13
|
+
status: 'healthy' | 'unhealthy' | 'unknown';
|
|
14
|
+
message: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Aggregated health check result
|
|
18
|
+
*/
|
|
19
|
+
export interface HealthCheckResult {
|
|
20
|
+
healthy: boolean;
|
|
21
|
+
details: Record<string, ComponentHealthStatus>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Components to check health for
|
|
25
|
+
*/
|
|
26
|
+
export interface HealthCheckTargets {
|
|
27
|
+
configLoader?: ConfigLoader;
|
|
28
|
+
processManager?: ProcessManager;
|
|
29
|
+
logManager?: LogManager;
|
|
30
|
+
ipcServer?: IPCServerBase;
|
|
31
|
+
commandHandler?: IPCCommandHandler;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* Perform comprehensive health checks on all components.
|
|
35
|
+
* Verifies each component is not just initialized but actually functional.
|
|
36
|
+
*/
|
|
37
|
+
export declare function performHealthChecks(targets: HealthCheckTargets): Promise<HealthCheckResult>;
|
|
38
|
+
//# sourceMappingURL=component-health.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-health.d.ts","sourceRoot":"","sources":["../../../src/daemon/component-health.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAE7D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,CAAC;IAC5C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;CAChD;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,SAAS,CAAC,EAAE,aAAa,CAAC;IAC1B,cAAc,CAAC,EAAE,iBAAiB,CAAC;CACpC;AAED;;;GAGG;AACH,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,iBAAiB,CAAC,CAiI5B"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Health Checks - health verification for daemon components
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Perform comprehensive health checks on all components.
|
|
6
|
+
* Verifies each component is not just initialized but actually functional.
|
|
7
|
+
*/
|
|
8
|
+
export async function performHealthChecks(targets) {
|
|
9
|
+
const details = {};
|
|
10
|
+
let allHealthy = true;
|
|
11
|
+
// Check ConfigLoader health
|
|
12
|
+
if (targets.configLoader) {
|
|
13
|
+
try {
|
|
14
|
+
const isReady = true;
|
|
15
|
+
details.configLoader = {
|
|
16
|
+
status: isReady ? 'healthy' : 'unhealthy',
|
|
17
|
+
message: isReady
|
|
18
|
+
? 'ConfigLoader is ready'
|
|
19
|
+
: 'ConfigLoader not initialized',
|
|
20
|
+
};
|
|
21
|
+
if (!isReady)
|
|
22
|
+
allHealthy = false;
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
details.configLoader = {
|
|
26
|
+
status: 'unhealthy',
|
|
27
|
+
message: `ConfigLoader error: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
28
|
+
};
|
|
29
|
+
allHealthy = false;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
else {
|
|
33
|
+
details.configLoader = {
|
|
34
|
+
status: 'unhealthy',
|
|
35
|
+
message: 'ConfigLoader not available',
|
|
36
|
+
};
|
|
37
|
+
allHealthy = false;
|
|
38
|
+
}
|
|
39
|
+
// Check ProcessManager health
|
|
40
|
+
if (targets.processManager) {
|
|
41
|
+
try {
|
|
42
|
+
const isReady = true;
|
|
43
|
+
details.processManager = {
|
|
44
|
+
status: isReady ? 'healthy' : 'unhealthy',
|
|
45
|
+
message: isReady
|
|
46
|
+
? 'ProcessManager is running'
|
|
47
|
+
: 'ProcessManager not running',
|
|
48
|
+
};
|
|
49
|
+
if (!isReady)
|
|
50
|
+
allHealthy = false;
|
|
51
|
+
}
|
|
52
|
+
catch (error) {
|
|
53
|
+
details.processManager = {
|
|
54
|
+
status: 'unhealthy',
|
|
55
|
+
message: `ProcessManager error: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
56
|
+
};
|
|
57
|
+
allHealthy = false;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
else {
|
|
61
|
+
details.processManager = {
|
|
62
|
+
status: 'unhealthy',
|
|
63
|
+
message: 'ProcessManager not available',
|
|
64
|
+
};
|
|
65
|
+
allHealthy = false;
|
|
66
|
+
}
|
|
67
|
+
// Check LogManager health
|
|
68
|
+
if (targets.logManager) {
|
|
69
|
+
try {
|
|
70
|
+
const isReady = true;
|
|
71
|
+
details.logManager = {
|
|
72
|
+
status: isReady ? 'healthy' : 'unhealthy',
|
|
73
|
+
message: isReady ? 'LogManager is running' : 'LogManager not running',
|
|
74
|
+
};
|
|
75
|
+
if (!isReady)
|
|
76
|
+
allHealthy = false;
|
|
77
|
+
}
|
|
78
|
+
catch (error) {
|
|
79
|
+
details.logManager = {
|
|
80
|
+
status: 'unhealthy',
|
|
81
|
+
message: `LogManager error: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
82
|
+
};
|
|
83
|
+
allHealthy = false;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
details.logManager = {
|
|
88
|
+
status: 'unhealthy',
|
|
89
|
+
message: 'LogManager not available',
|
|
90
|
+
};
|
|
91
|
+
allHealthy = false;
|
|
92
|
+
}
|
|
93
|
+
// Check IPCServer health - most critical for readiness
|
|
94
|
+
if (targets.ipcServer) {
|
|
95
|
+
try {
|
|
96
|
+
const isListening = targets.ipcServer.isServerListening?.();
|
|
97
|
+
details.ipcServer = {
|
|
98
|
+
status: isListening ? 'healthy' : 'unhealthy',
|
|
99
|
+
message: isListening
|
|
100
|
+
? 'IPC Server is listening and ready'
|
|
101
|
+
: 'IPC Server not listening',
|
|
102
|
+
};
|
|
103
|
+
if (!isListening)
|
|
104
|
+
allHealthy = false;
|
|
105
|
+
}
|
|
106
|
+
catch (error) {
|
|
107
|
+
details.ipcServer = {
|
|
108
|
+
status: 'unhealthy',
|
|
109
|
+
message: `IPCServer error: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
110
|
+
};
|
|
111
|
+
allHealthy = false;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
else {
|
|
115
|
+
details.ipcServer = {
|
|
116
|
+
status: 'unhealthy',
|
|
117
|
+
message: 'IPC Server not available',
|
|
118
|
+
};
|
|
119
|
+
allHealthy = false;
|
|
120
|
+
}
|
|
121
|
+
// Check CommandHandler health
|
|
122
|
+
if (targets.commandHandler) {
|
|
123
|
+
try {
|
|
124
|
+
details.commandHandler = {
|
|
125
|
+
status: 'healthy',
|
|
126
|
+
message: 'CommandHandler is ready',
|
|
127
|
+
};
|
|
128
|
+
}
|
|
129
|
+
catch (error) {
|
|
130
|
+
details.commandHandler = {
|
|
131
|
+
status: 'unhealthy',
|
|
132
|
+
message: `CommandHandler error: ${error instanceof Error ? error.message : 'Unknown error'}`,
|
|
133
|
+
};
|
|
134
|
+
allHealthy = false;
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
else {
|
|
138
|
+
details.commandHandler = {
|
|
139
|
+
status: 'unhealthy',
|
|
140
|
+
message: 'CommandHandler not available',
|
|
141
|
+
};
|
|
142
|
+
allHealthy = false;
|
|
143
|
+
}
|
|
144
|
+
return { healthy: allHealthy, details };
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=component-health.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-health.js","sourceRoot":"","sources":["../../../src/daemon/component-health.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Manager Errors - error handling classes
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Component initialization error
|
|
6
|
+
*/
|
|
7
|
+
export declare class ComponentInitializationError extends Error {
|
|
8
|
+
componentName: string;
|
|
9
|
+
originalError: Error;
|
|
10
|
+
constructor(componentName: string, originalError: Error);
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Component cleanup error
|
|
14
|
+
*/
|
|
15
|
+
export declare class ComponentCleanupError extends Error {
|
|
16
|
+
componentName: string;
|
|
17
|
+
originalError: Error;
|
|
18
|
+
constructor(componentName: string, originalError: Error);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=component-manager-errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-manager-errors.d.ts","sourceRoot":"","sources":["../../../src/daemon/component-manager-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,qBAAa,4BAA6B,SAAQ,KAAK;IAE5C,aAAa,EAAE,MAAM;IACrB,aAAa,EAAE,KAAK;gBADpB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,KAAK;CAO9B;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;IAErC,aAAa,EAAE,MAAM;IACrB,aAAa,EAAE,KAAK;gBADpB,aAAa,EAAE,MAAM,EACrB,aAAa,EAAE,KAAK;CAO9B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Manager Errors - error handling classes
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Component initialization error
|
|
6
|
+
*/
|
|
7
|
+
export class ComponentInitializationError extends Error {
|
|
8
|
+
componentName;
|
|
9
|
+
originalError;
|
|
10
|
+
constructor(componentName, originalError) {
|
|
11
|
+
super(`Failed to initialize component '${componentName}': ${originalError.message}`);
|
|
12
|
+
this.componentName = componentName;
|
|
13
|
+
this.originalError = originalError;
|
|
14
|
+
this.name = 'ComponentInitializationError';
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Component cleanup error
|
|
19
|
+
*/
|
|
20
|
+
export class ComponentCleanupError extends Error {
|
|
21
|
+
componentName;
|
|
22
|
+
originalError;
|
|
23
|
+
constructor(componentName, originalError) {
|
|
24
|
+
super(`Failed to cleanup component '${componentName}': ${originalError.message}`);
|
|
25
|
+
this.componentName = componentName;
|
|
26
|
+
this.originalError = originalError;
|
|
27
|
+
this.name = 'ComponentCleanupError';
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=component-manager-errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-manager-errors.js","sourceRoot":"","sources":["../../../src/daemon/component-manager-errors.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,OAAO,4BAA6B,SAAQ,KAAK;IAE5C;IACA;IAFT,YACS,aAAqB,EACrB,aAAoB;QAE3B,KAAK,CACH,mCAAmC,aAAa,MAAM,aAAa,CAAC,OAAO,EAAE,CAC9E,CAAC;QALK,kBAAa,GAAb,aAAa,CAAQ;QACrB,kBAAa,GAAb,aAAa,CAAO;QAK3B,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;IAC7C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,OAAO,qBAAsB,SAAQ,KAAK;IAErC;IACA;IAFT,YACS,aAAqB,EACrB,aAAoB;QAE3B,KAAK,CACH,gCAAgC,aAAa,MAAM,aAAa,CAAC,OAAO,EAAE,CAC3E,CAAC;QALK,kBAAa,GAAb,aAAa,CAAQ;QACrB,kBAAa,GAAb,aAAa,CAAO;QAK3B,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAC;IACtC,CAAC;CACF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component Manager Types - interfaces and type definitions
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Events emitted by ComponentManager
|
|
6
|
+
*/
|
|
7
|
+
export interface ComponentManagerEvents {
|
|
8
|
+
componentStarted: (componentName: string) => void;
|
|
9
|
+
componentStopped: (componentName: string) => void;
|
|
10
|
+
componentError: (componentName: string, error: Error) => void;
|
|
11
|
+
allComponentsStarted: () => void;
|
|
12
|
+
allComponentsStopped: () => void;
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Component manager interface
|
|
16
|
+
*/
|
|
17
|
+
export interface Component {
|
|
18
|
+
name: string;
|
|
19
|
+
initialize(): Promise<void>;
|
|
20
|
+
cleanup(): Promise<void>;
|
|
21
|
+
isInitialized(): boolean;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=component-manager-types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-manager-types.d.ts","sourceRoot":"","sources":["../../../src/daemon/component-manager-types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,gBAAgB,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,cAAc,EAAE,CAAC,aAAa,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9D,oBAAoB,EAAE,MAAM,IAAI,CAAC;IACjC,oBAAoB,EAAE,MAAM,IAAI,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACzB,aAAa,IAAI,OAAO,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"component-manager-types.js","sourceRoot":"","sources":["../../../src/daemon/component-manager-types.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|