@revealui/mcp 0.1.0 → 0.1.3
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/LICENSE +22 -0
- package/LICENSE.commercial +111 -0
- package/README.md +3 -0
- package/dist/{packages/mcp/src/adapters → adapters}/db.d.ts +1 -1
- package/dist/adapters/db.d.ts.map +1 -0
- package/dist/adapters/db.js.map +1 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js.map +1 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js.map +1 -0
- package/dist/{packages/mcp/src/hypervisor.d.ts → hypervisor.d.ts} +56 -0
- package/dist/hypervisor.d.ts.map +1 -0
- package/dist/{packages/mcp/src/hypervisor.js → hypervisor.js} +209 -1
- package/dist/hypervisor.js.map +1 -0
- package/dist/{packages/mcp/src/index.d.ts → index.d.ts} +9 -5
- package/dist/index.d.ts.map +1 -0
- package/dist/{packages/mcp/src/index.js → index.js} +8 -4
- package/dist/index.js.map +1 -0
- package/dist/{packages/mcp/src/servers → servers}/adapter.d.ts +11 -1
- package/dist/servers/adapter.d.ts.map +1 -0
- package/dist/{packages/mcp/src/servers → servers}/adapter.js +20 -4
- package/dist/servers/adapter.js.map +1 -0
- package/dist/servers/revealui-content.d.ts +21 -0
- package/dist/servers/revealui-content.d.ts.map +1 -0
- package/dist/servers/revealui-content.js +211 -0
- package/dist/servers/revealui-content.js.map +1 -0
- package/dist/servers/revealui-email.d.ts +18 -0
- package/dist/servers/revealui-email.d.ts.map +1 -0
- package/dist/servers/revealui-email.js +190 -0
- package/dist/servers/revealui-email.js.map +1 -0
- package/dist/servers/revealui-stripe.d.ts +19 -0
- package/dist/servers/revealui-stripe.d.ts.map +1 -0
- package/dist/servers/revealui-stripe.js +228 -0
- package/dist/servers/revealui-stripe.js.map +1 -0
- package/package.json +50 -11
- package/.env.example +0 -9
- package/MCP_MAINTENANCE.md +0 -265
- package/__tests__/crdt.integration.test.ts +0 -156
- package/configs/README.md +0 -77
- package/configs/claude-template.json +0 -54
- package/dist/packages/core/src/database/ssl-config.d.ts +0 -9
- package/dist/packages/core/src/database/ssl-config.d.ts.map +0 -1
- package/dist/packages/core/src/database/ssl-config.js +0 -8
- package/dist/packages/core/src/database/ssl-config.js.map +0 -1
- package/dist/packages/core/src/features.d.ts +0 -86
- package/dist/packages/core/src/features.d.ts.map +0 -1
- package/dist/packages/core/src/features.js +0 -93
- package/dist/packages/core/src/features.js.map +0 -1
- package/dist/packages/core/src/license.d.ts +0 -75
- package/dist/packages/core/src/license.d.ts.map +0 -1
- package/dist/packages/core/src/license.js +0 -174
- package/dist/packages/core/src/license.js.map +0 -1
- package/dist/packages/core/src/monitoring/alerts.d.ts +0 -118
- package/dist/packages/core/src/monitoring/alerts.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/alerts.js +0 -325
- package/dist/packages/core/src/monitoring/alerts.js.map +0 -1
- package/dist/packages/core/src/monitoring/cleanup-manager.d.ts +0 -71
- package/dist/packages/core/src/monitoring/cleanup-manager.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/cleanup-manager.js +0 -227
- package/dist/packages/core/src/monitoring/cleanup-manager.js.map +0 -1
- package/dist/packages/core/src/monitoring/health-monitor.d.ts +0 -22
- package/dist/packages/core/src/monitoring/health-monitor.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/health-monitor.js +0 -143
- package/dist/packages/core/src/monitoring/health-monitor.js.map +0 -1
- package/dist/packages/core/src/monitoring/index.d.ts +0 -14
- package/dist/packages/core/src/monitoring/index.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/index.js +0 -18
- package/dist/packages/core/src/monitoring/index.js.map +0 -1
- package/dist/packages/core/src/monitoring/process-registry.d.ts +0 -97
- package/dist/packages/core/src/monitoring/process-registry.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/process-registry.js +0 -223
- package/dist/packages/core/src/monitoring/process-registry.js.map +0 -1
- package/dist/packages/core/src/monitoring/types.d.ts +0 -231
- package/dist/packages/core/src/monitoring/types.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/types.js +0 -43
- package/dist/packages/core/src/monitoring/types.js.map +0 -1
- package/dist/packages/core/src/monitoring/zombie-detector.d.ts +0 -81
- package/dist/packages/core/src/monitoring/zombie-detector.d.ts.map +0 -1
- package/dist/packages/core/src/monitoring/zombie-detector.js +0 -232
- package/dist/packages/core/src/monitoring/zombie-detector.js.map +0 -1
- package/dist/packages/core/src/observability/logger.d.ts +0 -47
- package/dist/packages/core/src/observability/logger.d.ts.map +0 -1
- package/dist/packages/core/src/observability/logger.js +0 -141
- package/dist/packages/core/src/observability/logger.js.map +0 -1
- package/dist/packages/core/src/utils/logger-server.d.ts +0 -32
- package/dist/packages/core/src/utils/logger-server.d.ts.map +0 -1
- package/dist/packages/core/src/utils/logger-server.js +0 -69
- package/dist/packages/core/src/utils/logger-server.js.map +0 -1
- package/dist/packages/core/src/utils/request-context.d.ts +0 -143
- package/dist/packages/core/src/utils/request-context.d.ts.map +0 -1
- package/dist/packages/core/src/utils/request-context.js +0 -169
- package/dist/packages/core/src/utils/request-context.js.map +0 -1
- package/dist/packages/dev/src/code-validator/index.d.ts +0 -20
- package/dist/packages/dev/src/code-validator/index.d.ts.map +0 -1
- package/dist/packages/dev/src/code-validator/index.js +0 -20
- package/dist/packages/dev/src/code-validator/index.js.map +0 -1
- package/dist/packages/dev/src/code-validator/types.d.ts +0 -67
- package/dist/packages/dev/src/code-validator/types.d.ts.map +0 -1
- package/dist/packages/dev/src/code-validator/types.js +0 -7
- package/dist/packages/dev/src/code-validator/types.js.map +0 -1
- package/dist/packages/dev/src/code-validator/validator.d.ts +0 -48
- package/dist/packages/dev/src/code-validator/validator.d.ts.map +0 -1
- package/dist/packages/dev/src/code-validator/validator.js +0 -176
- package/dist/packages/dev/src/code-validator/validator.js.map +0 -1
- package/dist/packages/mcp/src/adapters/db.d.ts.map +0 -1
- package/dist/packages/mcp/src/adapters/db.js.map +0 -1
- package/dist/packages/mcp/src/config/index.d.ts.map +0 -1
- package/dist/packages/mcp/src/config/index.js.map +0 -1
- package/dist/packages/mcp/src/contracts.d.ts.map +0 -1
- package/dist/packages/mcp/src/contracts.js.map +0 -1
- package/dist/packages/mcp/src/hypervisor.d.ts.map +0 -1
- package/dist/packages/mcp/src/hypervisor.js.map +0 -1
- package/dist/packages/mcp/src/index.d.ts.map +0 -1
- package/dist/packages/mcp/src/index.js.map +0 -1
- package/dist/packages/mcp/src/servers/adapter.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/adapter.js.map +0 -1
- package/dist/packages/mcp/src/servers/code-validator.d.ts +0 -24
- package/dist/packages/mcp/src/servers/code-validator.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/code-validator.js +0 -156
- package/dist/packages/mcp/src/servers/code-validator.js.map +0 -1
- package/dist/packages/mcp/src/servers/neon.d.ts +0 -11
- package/dist/packages/mcp/src/servers/neon.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/neon.js +0 -90
- package/dist/packages/mcp/src/servers/neon.js.map +0 -1
- package/dist/packages/mcp/src/servers/next-devtools.d.ts +0 -11
- package/dist/packages/mcp/src/servers/next-devtools.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/next-devtools.js +0 -215
- package/dist/packages/mcp/src/servers/next-devtools.js.map +0 -1
- package/dist/packages/mcp/src/servers/playwright.d.ts +0 -11
- package/dist/packages/mcp/src/servers/playwright.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/playwright.js +0 -68
- package/dist/packages/mcp/src/servers/playwright.js.map +0 -1
- package/dist/packages/mcp/src/servers/stripe.d.ts +0 -11
- package/dist/packages/mcp/src/servers/stripe.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/stripe.js +0 -86
- package/dist/packages/mcp/src/servers/stripe.js.map +0 -1
- package/dist/packages/mcp/src/servers/supabase.d.ts +0 -11
- package/dist/packages/mcp/src/servers/supabase.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/supabase.js +0 -144
- package/dist/packages/mcp/src/servers/supabase.js.map +0 -1
- package/dist/packages/mcp/src/servers/vercel.d.ts +0 -11
- package/dist/packages/mcp/src/servers/vercel.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/vercel.js +0 -87
- package/dist/packages/mcp/src/servers/vercel.js.map +0 -1
- package/dist/packages/mcp/src/servers/vultr-test.d.ts +0 -3
- package/dist/packages/mcp/src/servers/vultr-test.d.ts.map +0 -1
- package/dist/packages/mcp/src/servers/vultr-test.js +0 -82
- package/dist/packages/mcp/src/servers/vultr-test.js.map +0 -1
- package/dist/scripts/lib/analyzers/console-analyzer.d.ts +0 -188
- package/dist/scripts/lib/analyzers/console-analyzer.d.ts.map +0 -1
- package/dist/scripts/lib/analyzers/console-analyzer.js +0 -432
- package/dist/scripts/lib/analyzers/console-analyzer.js.map +0 -1
- package/dist/scripts/lib/analyzers/index.d.ts +0 -11
- package/dist/scripts/lib/analyzers/index.d.ts.map +0 -1
- package/dist/scripts/lib/analyzers/index.js +0 -11
- package/dist/scripts/lib/analyzers/index.js.map +0 -1
- package/dist/scripts/lib/args.d.ts +0 -104
- package/dist/scripts/lib/args.d.ts.map +0 -1
- package/dist/scripts/lib/args.js +0 -304
- package/dist/scripts/lib/args.js.map +0 -1
- package/dist/scripts/lib/cache.d.ts +0 -185
- package/dist/scripts/lib/cache.d.ts.map +0 -1
- package/dist/scripts/lib/cache.js +0 -390
- package/dist/scripts/lib/cache.js.map +0 -1
- package/dist/scripts/lib/cli/dispatch.d.ts +0 -116
- package/dist/scripts/lib/cli/dispatch.d.ts.map +0 -1
- package/dist/scripts/lib/cli/dispatch.js +0 -206
- package/dist/scripts/lib/cli/dispatch.js.map +0 -1
- package/dist/scripts/lib/cli/index.d.ts +0 -10
- package/dist/scripts/lib/cli/index.d.ts.map +0 -1
- package/dist/scripts/lib/cli/index.js +0 -10
- package/dist/scripts/lib/cli/index.js.map +0 -1
- package/dist/scripts/lib/database/ssl-config.d.ts +0 -26
- package/dist/scripts/lib/database/ssl-config.d.ts.map +0 -1
- package/dist/scripts/lib/database/ssl-config.js +0 -47
- package/dist/scripts/lib/database/ssl-config.js.map +0 -1
- package/dist/scripts/lib/errors.d.ts +0 -218
- package/dist/scripts/lib/errors.d.ts.map +0 -1
- package/dist/scripts/lib/errors.js +0 -543
- package/dist/scripts/lib/errors.js.map +0 -1
- package/dist/scripts/lib/exec.d.ts +0 -107
- package/dist/scripts/lib/exec.d.ts.map +0 -1
- package/dist/scripts/lib/exec.js +0 -232
- package/dist/scripts/lib/exec.js.map +0 -1
- package/dist/scripts/lib/index.d.ts +0 -50
- package/dist/scripts/lib/index.d.ts.map +0 -1
- package/dist/scripts/lib/index.js +0 -65
- package/dist/scripts/lib/index.js.map +0 -1
- package/dist/scripts/lib/logger.d.ts +0 -50
- package/dist/scripts/lib/logger.d.ts.map +0 -1
- package/dist/scripts/lib/logger.js +0 -159
- package/dist/scripts/lib/logger.js.map +0 -1
- package/dist/scripts/lib/output.d.ts +0 -149
- package/dist/scripts/lib/output.d.ts.map +0 -1
- package/dist/scripts/lib/output.js +0 -263
- package/dist/scripts/lib/output.js.map +0 -1
- package/dist/scripts/lib/parallel.d.ts +0 -164
- package/dist/scripts/lib/parallel.d.ts.map +0 -1
- package/dist/scripts/lib/parallel.js +0 -355
- package/dist/scripts/lib/parallel.js.map +0 -1
- package/dist/scripts/lib/paths.d.ts +0 -92
- package/dist/scripts/lib/paths.d.ts.map +0 -1
- package/dist/scripts/lib/paths.js +0 -171
- package/dist/scripts/lib/paths.js.map +0 -1
- package/dist/scripts/lib/state/adapters/memory.d.ts +0 -42
- package/dist/scripts/lib/state/adapters/memory.d.ts.map +0 -1
- package/dist/scripts/lib/state/adapters/memory.js +0 -110
- package/dist/scripts/lib/state/adapters/memory.js.map +0 -1
- package/dist/scripts/lib/state/adapters/pglite.d.ts +0 -46
- package/dist/scripts/lib/state/adapters/pglite.d.ts.map +0 -1
- package/dist/scripts/lib/state/adapters/pglite.js +0 -256
- package/dist/scripts/lib/state/adapters/pglite.js.map +0 -1
- package/dist/scripts/lib/state/index.d.ts +0 -16
- package/dist/scripts/lib/state/index.d.ts.map +0 -1
- package/dist/scripts/lib/state/index.js +0 -16
- package/dist/scripts/lib/state/index.js.map +0 -1
- package/dist/scripts/lib/state/types.d.ts +0 -111
- package/dist/scripts/lib/state/types.d.ts.map +0 -1
- package/dist/scripts/lib/state/types.js +0 -8
- package/dist/scripts/lib/state/types.js.map +0 -1
- package/dist/scripts/lib/state/workflow-state.d.ts +0 -110
- package/dist/scripts/lib/state/workflow-state.d.ts.map +0 -1
- package/dist/scripts/lib/state/workflow-state.js +0 -331
- package/dist/scripts/lib/state/workflow-state.js.map +0 -1
- package/dist/scripts/lib/telemetry.d.ts +0 -194
- package/dist/scripts/lib/telemetry.d.ts.map +0 -1
- package/dist/scripts/lib/telemetry.js +0 -394
- package/dist/scripts/lib/telemetry.js.map +0 -1
- package/dist/scripts/lib/utils.d.ts +0 -270
- package/dist/scripts/lib/utils.d.ts.map +0 -1
- package/dist/scripts/lib/utils.js +0 -473
- package/dist/scripts/lib/utils.js.map +0 -1
- package/dist/scripts/lib/validation/database.d.ts +0 -83
- package/dist/scripts/lib/validation/database.d.ts.map +0 -1
- package/dist/scripts/lib/validation/database.js +0 -199
- package/dist/scripts/lib/validation/database.js.map +0 -1
- package/dist/scripts/lib/validation/env.d.ts +0 -80
- package/dist/scripts/lib/validation/env.d.ts.map +0 -1
- package/dist/scripts/lib/validation/env.js +0 -246
- package/dist/scripts/lib/validation/env.js.map +0 -1
- package/dist/scripts/lib/validation/index.d.ts +0 -16
- package/dist/scripts/lib/validation/index.d.ts.map +0 -1
- package/dist/scripts/lib/validation/index.js +0 -16
- package/dist/scripts/lib/validation/index.js.map +0 -1
- package/dist/scripts/lib/validation/post-execution.d.ts +0 -74
- package/dist/scripts/lib/validation/post-execution.d.ts.map +0 -1
- package/dist/scripts/lib/validation/post-execution.js +0 -110
- package/dist/scripts/lib/validation/post-execution.js.map +0 -1
- package/dist/scripts/lib/validation/pre-execution.d.ts +0 -165
- package/dist/scripts/lib/validation/pre-execution.d.ts.map +0 -1
- package/dist/scripts/lib/validation/pre-execution.js +0 -466
- package/dist/scripts/lib/validation/pre-execution.js.map +0 -1
- package/dist/scripts/lib/validators/documentation-validator.d.ts +0 -242
- package/dist/scripts/lib/validators/documentation-validator.d.ts.map +0 -1
- package/dist/scripts/lib/validators/documentation-validator.js +0 -584
- package/dist/scripts/lib/validators/documentation-validator.js.map +0 -1
- package/dist/scripts/lib/validators/index.d.ts +0 -11
- package/dist/scripts/lib/validators/index.d.ts.map +0 -1
- package/dist/scripts/lib/validators/index.js +0 -11
- package/dist/scripts/lib/validators/index.js.map +0 -1
- package/docker-compose.yml +0 -46
- package/docs/INDEX.md +0 -88
- package/docs/README.md +0 -774
- package/docs/SETUP.md +0 -264
- package/docs/servers/code-validator.md +0 -586
- package/eslint.config.js +0 -7
- package/migrations/0001_add_crdt_columns.sql +0 -8
- package/migrations/0001_rollback.sql +0 -6
- package/migrations/005_performance_indexes.sql +0 -190
- package/migrations/backfill_crdt_meta.js +0 -45
- package/src/__tests__/hypervisor.test.ts +0 -212
- package/src/adapters/db.ts +0 -180
- package/src/config/config.json +0 -49
- package/src/config/index.ts +0 -30
- package/src/contracts.ts +0 -221
- package/src/hypervisor.ts +0 -464
- package/src/index.ts +0 -87
- package/src/servers/adapter.ts +0 -643
- package/src/servers/code-validator.ts +0 -188
- package/src/servers/neon.ts +0 -103
- package/src/servers/next-devtools.ts +0 -230
- package/src/servers/playwright.ts +0 -77
- package/src/servers/stripe.ts +0 -99
- package/src/servers/supabase.ts +0 -161
- package/src/servers/vercel.ts +0 -100
- package/src/servers/vultr-test.ts +0 -97
- package/tsconfig.json +0 -12
- package/vitest.config.ts +0 -22
- /package/dist/{packages/mcp/src/adapters → adapters}/db.js +0 -0
- /package/dist/{packages/mcp/src/config → config}/index.d.ts +0 -0
- /package/dist/{packages/mcp/src/config → config}/index.js +0 -0
- /package/dist/{packages/mcp/src/contracts.d.ts → contracts.d.ts} +0 -0
- /package/dist/{packages/mcp/src/contracts.js → contracts.js} +0 -0
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cleanup Manager
|
|
3
|
-
*
|
|
4
|
-
* Global cleanup handler registry and graceful shutdown coordination.
|
|
5
|
-
* Ensures all resources are properly released when the process exits.
|
|
6
|
-
*/
|
|
7
|
-
import type { CleanupHandler, CleanupRegistration } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Cleanup manager class
|
|
10
|
-
*/
|
|
11
|
-
declare class CleanupManager {
|
|
12
|
-
private handlers;
|
|
13
|
-
private isShuttingDown;
|
|
14
|
-
private shutdownTimeout;
|
|
15
|
-
private signalHandlersRegistered;
|
|
16
|
-
/**
|
|
17
|
-
* Register a cleanup handler
|
|
18
|
-
*/
|
|
19
|
-
register(id: string, handler: CleanupHandler, description: string, priority?: number): void;
|
|
20
|
-
/**
|
|
21
|
-
* Unregister a cleanup handler
|
|
22
|
-
*/
|
|
23
|
-
unregister(id: string): void;
|
|
24
|
-
/**
|
|
25
|
-
* Execute all cleanup handlers
|
|
26
|
-
*/
|
|
27
|
-
cleanup(signal?: string): Promise<void>;
|
|
28
|
-
/**
|
|
29
|
-
* Execute cleanup handlers in sequence
|
|
30
|
-
*/
|
|
31
|
-
private executeHandlers;
|
|
32
|
-
/**
|
|
33
|
-
* Register signal handlers for graceful shutdown
|
|
34
|
-
*/
|
|
35
|
-
private registerSignalHandlers;
|
|
36
|
-
/**
|
|
37
|
-
* Force immediate cleanup (skip timeout)
|
|
38
|
-
*/
|
|
39
|
-
forceCleanup(): Promise<void>;
|
|
40
|
-
/**
|
|
41
|
-
* Get registered handlers
|
|
42
|
-
*/
|
|
43
|
-
getHandlers(): CleanupRegistration[];
|
|
44
|
-
/**
|
|
45
|
-
* Check if shutdown is in progress
|
|
46
|
-
*/
|
|
47
|
-
isShutdownInProgress(): boolean;
|
|
48
|
-
/**
|
|
49
|
-
* Set shutdown timeout
|
|
50
|
-
*/
|
|
51
|
-
setShutdownTimeout(ms: number): void;
|
|
52
|
-
/**
|
|
53
|
-
* Clear all handlers
|
|
54
|
-
*/
|
|
55
|
-
clear(): void;
|
|
56
|
-
}
|
|
57
|
-
/**
|
|
58
|
-
* Singleton instance
|
|
59
|
-
*/
|
|
60
|
-
export declare const cleanupManager: CleanupManager;
|
|
61
|
-
/**
|
|
62
|
-
* Convenience functions
|
|
63
|
-
*/
|
|
64
|
-
export declare function registerCleanupHandler(id: string, handler: CleanupHandler, description: string, priority?: number): void;
|
|
65
|
-
export declare function unregisterCleanupHandler(id: string): void;
|
|
66
|
-
export declare function initiateCleanup(signal?: string): Promise<void>;
|
|
67
|
-
export declare function forceCleanup(): Promise<void>;
|
|
68
|
-
export declare function getCleanupHandlers(): CleanupRegistration[];
|
|
69
|
-
export declare function isShutdownInProgress(): boolean;
|
|
70
|
-
export {};
|
|
71
|
-
//# sourceMappingURL=cleanup-manager.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup-manager.d.ts","sourceRoot":"","sources":["../../../../../../core/src/monitoring/cleanup-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAErE;;GAEG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,QAAQ,CAA8C;IAC9D,OAAO,CAAC,cAAc,CAAQ;IAC9B,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,wBAAwB,CAAQ;IAExC;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,SAAI,GAAG,IAAI;IAqBtF;;OAEG;IACH,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAM5B;;OAEG;IACG,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmD7C;;OAEG;YACW,eAAe;IAsC7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmD9B;;OAEG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAWnC;;OAEG;IACH,WAAW,IAAI,mBAAmB,EAAE;IAIpC;;OAEG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;OAEG;IACH,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI;IAIpC;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,gBAAuB,CAAA;AAElD;;GAEG;AAEH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,MAAM,EACV,OAAO,EAAE,cAAc,EACvB,WAAW,EAAE,MAAM,EACnB,QAAQ,SAAI,GACX,IAAI,CAEN;AAED,wBAAgB,wBAAwB,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAEzD;AAED,wBAAgB,eAAe,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAE9D;AAED,wBAAgB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAE5C;AAED,wBAAgB,kBAAkB,IAAI,mBAAmB,EAAE,CAE1D;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAE9C"}
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cleanup Manager
|
|
3
|
-
*
|
|
4
|
-
* Global cleanup handler registry and graceful shutdown coordination.
|
|
5
|
-
* Ensures all resources are properly released when the process exits.
|
|
6
|
-
*/
|
|
7
|
-
import { logger } from '../utils/logger-server.js';
|
|
8
|
-
/**
|
|
9
|
-
* Cleanup manager class
|
|
10
|
-
*/
|
|
11
|
-
class CleanupManager {
|
|
12
|
-
handlers = new Map();
|
|
13
|
-
isShuttingDown = false;
|
|
14
|
-
shutdownTimeout = 30_000; // 30 seconds
|
|
15
|
-
signalHandlersRegistered = false;
|
|
16
|
-
/**
|
|
17
|
-
* Register a cleanup handler
|
|
18
|
-
*/
|
|
19
|
-
register(id, handler, description, priority = 0) {
|
|
20
|
-
if (this.handlers.has(id)) {
|
|
21
|
-
logger.warn('Cleanup handler already registered', { id });
|
|
22
|
-
return;
|
|
23
|
-
}
|
|
24
|
-
this.handlers.set(id, {
|
|
25
|
-
id,
|
|
26
|
-
handler,
|
|
27
|
-
priority,
|
|
28
|
-
description,
|
|
29
|
-
});
|
|
30
|
-
logger.debug('Registered cleanup handler', { id, description, priority });
|
|
31
|
-
// Register signal handlers on first handler registration
|
|
32
|
-
if (!this.signalHandlersRegistered) {
|
|
33
|
-
this.registerSignalHandlers();
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Unregister a cleanup handler
|
|
38
|
-
*/
|
|
39
|
-
unregister(id) {
|
|
40
|
-
if (this.handlers.delete(id)) {
|
|
41
|
-
logger.debug('Unregistered cleanup handler', { id });
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
/**
|
|
45
|
-
* Execute all cleanup handlers
|
|
46
|
-
*/
|
|
47
|
-
async cleanup(signal) {
|
|
48
|
-
if (this.isShuttingDown) {
|
|
49
|
-
logger.warn('Cleanup already in progress');
|
|
50
|
-
return;
|
|
51
|
-
}
|
|
52
|
-
this.isShuttingDown = true;
|
|
53
|
-
logger.info('Starting graceful shutdown', {
|
|
54
|
-
signal,
|
|
55
|
-
handlers: this.handlers.size,
|
|
56
|
-
});
|
|
57
|
-
// Sort handlers by priority (highest first)
|
|
58
|
-
const sortedHandlers = Array.from(this.handlers.values()).sort((a, b) => b.priority - a.priority);
|
|
59
|
-
const results = [];
|
|
60
|
-
// Execute handlers with timeout
|
|
61
|
-
const cleanupPromise = this.executeHandlers(sortedHandlers, results);
|
|
62
|
-
const timeoutPromise = new Promise((resolve) => {
|
|
63
|
-
setTimeout(() => {
|
|
64
|
-
logger.error('Cleanup timeout exceeded, forcing shutdown', {
|
|
65
|
-
timeout: this.shutdownTimeout,
|
|
66
|
-
});
|
|
67
|
-
resolve();
|
|
68
|
-
}, this.shutdownTimeout);
|
|
69
|
-
});
|
|
70
|
-
await Promise.race([cleanupPromise, timeoutPromise]);
|
|
71
|
-
// Log results
|
|
72
|
-
const successCount = results.filter((r) => r.success).length;
|
|
73
|
-
const failureCount = results.filter((r) => !r.success).length;
|
|
74
|
-
logger.info('Cleanup complete', {
|
|
75
|
-
total: results.length,
|
|
76
|
-
success: successCount,
|
|
77
|
-
failures: failureCount,
|
|
78
|
-
});
|
|
79
|
-
if (failureCount > 0) {
|
|
80
|
-
logger.error('Some cleanup handlers failed', {
|
|
81
|
-
failures: results.filter((r) => !r.success),
|
|
82
|
-
});
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
/**
|
|
86
|
-
* Execute cleanup handlers in sequence
|
|
87
|
-
*/
|
|
88
|
-
async executeHandlers(handlers, results) {
|
|
89
|
-
for (const registration of handlers) {
|
|
90
|
-
try {
|
|
91
|
-
logger.debug('Executing cleanup handler', {
|
|
92
|
-
id: registration.id,
|
|
93
|
-
description: registration.description,
|
|
94
|
-
});
|
|
95
|
-
const handlerPromise = Promise.resolve(registration.handler());
|
|
96
|
-
// Individual handler timeout (10 seconds)
|
|
97
|
-
const handlerTimeout = new Promise((_, reject) => {
|
|
98
|
-
setTimeout(() => {
|
|
99
|
-
reject(new Error('Handler timeout'));
|
|
100
|
-
}, 10_000);
|
|
101
|
-
});
|
|
102
|
-
await Promise.race([handlerPromise, handlerTimeout]);
|
|
103
|
-
results.push({ id: registration.id, success: true });
|
|
104
|
-
logger.debug('Cleanup handler completed', {
|
|
105
|
-
id: registration.id,
|
|
106
|
-
});
|
|
107
|
-
}
|
|
108
|
-
catch (error) {
|
|
109
|
-
logger.error('Cleanup handler failed', {
|
|
110
|
-
id: registration.id,
|
|
111
|
-
error,
|
|
112
|
-
});
|
|
113
|
-
results.push({ id: registration.id, success: false, error });
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
/**
|
|
118
|
-
* Register signal handlers for graceful shutdown
|
|
119
|
-
*/
|
|
120
|
-
registerSignalHandlers() {
|
|
121
|
-
if (this.signalHandlersRegistered)
|
|
122
|
-
return;
|
|
123
|
-
const signals = ['SIGTERM', 'SIGINT', 'SIGHUP'];
|
|
124
|
-
for (const signal of signals) {
|
|
125
|
-
process.on(signal, () => {
|
|
126
|
-
logger.info('Received signal, initiating cleanup', { signal });
|
|
127
|
-
this.cleanup(signal)
|
|
128
|
-
.then(() => {
|
|
129
|
-
logger.info('Cleanup successful, exiting', { signal });
|
|
130
|
-
process.exit(0);
|
|
131
|
-
})
|
|
132
|
-
.catch((error) => {
|
|
133
|
-
logger.error('Cleanup failed, forcing exit', { signal, error });
|
|
134
|
-
process.exit(1);
|
|
135
|
-
});
|
|
136
|
-
});
|
|
137
|
-
}
|
|
138
|
-
// Handle uncaught exceptions
|
|
139
|
-
process.on('uncaughtException', (error) => {
|
|
140
|
-
logger.error('Uncaught exception, initiating cleanup', { error });
|
|
141
|
-
this.cleanup('uncaughtException')
|
|
142
|
-
.then(() => {
|
|
143
|
-
process.exit(1);
|
|
144
|
-
})
|
|
145
|
-
.catch(() => {
|
|
146
|
-
process.exit(1);
|
|
147
|
-
});
|
|
148
|
-
});
|
|
149
|
-
// Handle unhandled rejections
|
|
150
|
-
process.on('unhandledRejection', (reason) => {
|
|
151
|
-
logger.error('Unhandled rejection, initiating cleanup', { reason });
|
|
152
|
-
this.cleanup('unhandledRejection')
|
|
153
|
-
.then(() => {
|
|
154
|
-
process.exit(1);
|
|
155
|
-
})
|
|
156
|
-
.catch(() => {
|
|
157
|
-
process.exit(1);
|
|
158
|
-
});
|
|
159
|
-
});
|
|
160
|
-
this.signalHandlersRegistered = true;
|
|
161
|
-
logger.debug('Signal handlers registered', { signals });
|
|
162
|
-
}
|
|
163
|
-
/**
|
|
164
|
-
* Force immediate cleanup (skip timeout)
|
|
165
|
-
*/
|
|
166
|
-
async forceCleanup() {
|
|
167
|
-
const originalTimeout = this.shutdownTimeout;
|
|
168
|
-
this.shutdownTimeout = 0;
|
|
169
|
-
try {
|
|
170
|
-
await this.cleanup('force');
|
|
171
|
-
}
|
|
172
|
-
finally {
|
|
173
|
-
this.shutdownTimeout = originalTimeout;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Get registered handlers
|
|
178
|
-
*/
|
|
179
|
-
getHandlers() {
|
|
180
|
-
return Array.from(this.handlers.values());
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Check if shutdown is in progress
|
|
184
|
-
*/
|
|
185
|
-
isShutdownInProgress() {
|
|
186
|
-
return this.isShuttingDown;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* Set shutdown timeout
|
|
190
|
-
*/
|
|
191
|
-
setShutdownTimeout(ms) {
|
|
192
|
-
this.shutdownTimeout = ms;
|
|
193
|
-
}
|
|
194
|
-
/**
|
|
195
|
-
* Clear all handlers
|
|
196
|
-
*/
|
|
197
|
-
clear() {
|
|
198
|
-
this.handlers.clear();
|
|
199
|
-
this.isShuttingDown = false;
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
/**
|
|
203
|
-
* Singleton instance
|
|
204
|
-
*/
|
|
205
|
-
export const cleanupManager = new CleanupManager();
|
|
206
|
-
/**
|
|
207
|
-
* Convenience functions
|
|
208
|
-
*/
|
|
209
|
-
export function registerCleanupHandler(id, handler, description, priority = 0) {
|
|
210
|
-
cleanupManager.register(id, handler, description, priority);
|
|
211
|
-
}
|
|
212
|
-
export function unregisterCleanupHandler(id) {
|
|
213
|
-
cleanupManager.unregister(id);
|
|
214
|
-
}
|
|
215
|
-
export function initiateCleanup(signal) {
|
|
216
|
-
return cleanupManager.cleanup(signal);
|
|
217
|
-
}
|
|
218
|
-
export function forceCleanup() {
|
|
219
|
-
return cleanupManager.forceCleanup();
|
|
220
|
-
}
|
|
221
|
-
export function getCleanupHandlers() {
|
|
222
|
-
return cleanupManager.getHandlers();
|
|
223
|
-
}
|
|
224
|
-
export function isShutdownInProgress() {
|
|
225
|
-
return cleanupManager.isShutdownInProgress();
|
|
226
|
-
}
|
|
227
|
-
//# sourceMappingURL=cleanup-manager.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cleanup-manager.js","sourceRoot":"","sources":["../../../../../../core/src/monitoring/cleanup-manager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Health Monitor
|
|
3
|
-
*
|
|
4
|
-
* Collects and aggregates system health metrics including process stats,
|
|
5
|
-
* database pools, memory/CPU usage, and active alerts.
|
|
6
|
-
*/
|
|
7
|
-
import type { Alert, HealthMetrics, PoolMetrics } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Get current system health metrics
|
|
10
|
-
*/
|
|
11
|
-
export declare function getHealthMetrics(databasePools?: {
|
|
12
|
-
rest: PoolMetrics[];
|
|
13
|
-
vector: PoolMetrics[];
|
|
14
|
-
}): HealthMetrics;
|
|
15
|
-
/**
|
|
16
|
-
* Get health status based on alerts
|
|
17
|
-
*/
|
|
18
|
-
export declare function getHealthStatus(alerts: Alert[]): {
|
|
19
|
-
status: 'healthy' | 'degraded' | 'unhealthy';
|
|
20
|
-
statusCode: number;
|
|
21
|
-
};
|
|
22
|
-
//# sourceMappingURL=health-monitor.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"health-monitor.d.ts","sourceRoot":"","sources":["../../../../../../core/src/monitoring/health-monitor.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,KAAK,EAAE,KAAK,EAA2B,aAAa,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAI5F;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,CAAC,EAAE;IAC/C,IAAI,EAAE,WAAW,EAAE,CAAA;IACnB,MAAM,EAAE,WAAW,EAAE,CAAA;CACtB,GAAG,aAAa,CAqChB;AAoID;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,KAAK,EAAE,GAAG;IAChD,MAAM,EAAE,SAAS,GAAG,UAAU,GAAG,WAAW,CAAA;IAC5C,UAAU,EAAE,MAAM,CAAA;CACnB,CAWA"}
|
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Health Monitor
|
|
3
|
-
*
|
|
4
|
-
* Collects and aggregates system health metrics including process stats,
|
|
5
|
-
* database pools, memory/CPU usage, and active alerts.
|
|
6
|
-
*/
|
|
7
|
-
import * as os from 'node:os';
|
|
8
|
-
import { processRegistry } from './process-registry.js';
|
|
9
|
-
import { DEFAULT_MONITORING_CONFIG } from './types.js';
|
|
10
|
-
import { zombieDetector } from './zombie-detector.js';
|
|
11
|
-
/**
|
|
12
|
-
* Get current system health metrics
|
|
13
|
-
*/
|
|
14
|
-
export function getHealthMetrics(databasePools) {
|
|
15
|
-
const stats = processRegistry.getStats();
|
|
16
|
-
const spawnRate = processRegistry.getSpawnRate();
|
|
17
|
-
const zombies = zombieDetector.getHistory();
|
|
18
|
-
// System metrics
|
|
19
|
-
const memUsage = process.memoryUsage();
|
|
20
|
-
const memoryUsageMB = Math.round(memUsage.rss / 1024 / 1024);
|
|
21
|
-
const cpuUsage = process.cpuUsage();
|
|
22
|
-
const uptimeSeconds = Math.floor(process.uptime());
|
|
23
|
-
// Generate alerts
|
|
24
|
-
const alerts = generateAlerts(stats, spawnRate, memoryUsageMB, databasePools);
|
|
25
|
-
return {
|
|
26
|
-
system: {
|
|
27
|
-
memoryUsage: memoryUsageMB,
|
|
28
|
-
cpuUsage: calculateCPUPercentage(cpuUsage),
|
|
29
|
-
uptime: uptimeSeconds,
|
|
30
|
-
platform: os.platform(),
|
|
31
|
-
nodeVersion: process.version,
|
|
32
|
-
},
|
|
33
|
-
processes: {
|
|
34
|
-
active: stats.running,
|
|
35
|
-
zombies: stats.zombies,
|
|
36
|
-
failed: stats.failed,
|
|
37
|
-
spawnRate,
|
|
38
|
-
bySource: stats.bySource,
|
|
39
|
-
},
|
|
40
|
-
database: databasePools || {
|
|
41
|
-
rest: [],
|
|
42
|
-
vector: [],
|
|
43
|
-
},
|
|
44
|
-
recentZombies: zombies.slice(0, 10), // Last 10 zombies
|
|
45
|
-
alerts,
|
|
46
|
-
timestamp: Date.now(),
|
|
47
|
-
};
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Calculate CPU usage percentage
|
|
51
|
-
*/
|
|
52
|
-
function calculateCPUPercentage(cpuUsage) {
|
|
53
|
-
// This is approximate - for better accuracy, would need to track over time
|
|
54
|
-
const totalMicroseconds = cpuUsage.user + cpuUsage.system;
|
|
55
|
-
const uptimeMicroseconds = process.uptime() * 1_000_000;
|
|
56
|
-
const percentage = (totalMicroseconds / uptimeMicroseconds) * 100;
|
|
57
|
-
return Math.round(percentage * 100) / 100; // Round to 2 decimal places
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Generate alerts based on current metrics and thresholds
|
|
61
|
-
*/
|
|
62
|
-
function generateAlerts(stats, spawnRate, memoryUsageMB, databasePools) {
|
|
63
|
-
const alerts = [];
|
|
64
|
-
const thresholds = DEFAULT_MONITORING_CONFIG.alertThresholds;
|
|
65
|
-
const now = Date.now();
|
|
66
|
-
// Check zombie processes
|
|
67
|
-
if (stats.zombies >= thresholds.zombies.critical) {
|
|
68
|
-
alerts.push(createAlert('critical', 'zombies', stats.zombies, thresholds.zombies.critical, now));
|
|
69
|
-
}
|
|
70
|
-
else if (stats.zombies >= thresholds.zombies.warning) {
|
|
71
|
-
alerts.push(createAlert('warning', 'zombies', stats.zombies, thresholds.zombies.warning, now));
|
|
72
|
-
}
|
|
73
|
-
// Check memory usage
|
|
74
|
-
if (memoryUsageMB >= thresholds.memory.critical) {
|
|
75
|
-
alerts.push(createAlert('critical', 'memory', memoryUsageMB, thresholds.memory.critical, now));
|
|
76
|
-
}
|
|
77
|
-
else if (memoryUsageMB >= thresholds.memory.warning) {
|
|
78
|
-
alerts.push(createAlert('warning', 'memory', memoryUsageMB, thresholds.memory.warning, now));
|
|
79
|
-
}
|
|
80
|
-
// Check active processes
|
|
81
|
-
if (stats.running >= thresholds.processes.active.critical) {
|
|
82
|
-
alerts.push(createAlert('critical', 'active_processes', stats.running, thresholds.processes.active.critical, now));
|
|
83
|
-
}
|
|
84
|
-
else if (stats.running >= thresholds.processes.active.warning) {
|
|
85
|
-
alerts.push(createAlert('warning', 'active_processes', stats.running, thresholds.processes.active.warning, now));
|
|
86
|
-
}
|
|
87
|
-
// Check spawn rate
|
|
88
|
-
if (spawnRate >= thresholds.spawnRate.critical) {
|
|
89
|
-
alerts.push(createAlert('critical', 'spawn_rate', spawnRate, thresholds.spawnRate.critical, now));
|
|
90
|
-
}
|
|
91
|
-
else if (spawnRate >= thresholds.spawnRate.warning) {
|
|
92
|
-
alerts.push(createAlert('warning', 'spawn_rate', spawnRate, thresholds.spawnRate.warning, now));
|
|
93
|
-
}
|
|
94
|
-
// Check database waiting connections
|
|
95
|
-
if (databasePools) {
|
|
96
|
-
const allPools = [...databasePools.rest, ...databasePools.vector];
|
|
97
|
-
const totalWaiting = allPools.reduce((sum, pool) => sum + pool.waitingCount, 0);
|
|
98
|
-
if (totalWaiting >= thresholds.database.waiting.critical) {
|
|
99
|
-
alerts.push(createAlert('critical', 'database_waiting', totalWaiting, thresholds.database.waiting.critical, now));
|
|
100
|
-
}
|
|
101
|
-
else if (totalWaiting >= thresholds.database.waiting.warning) {
|
|
102
|
-
alerts.push(createAlert('warning', 'database_waiting', totalWaiting, thresholds.database.waiting.warning, now));
|
|
103
|
-
}
|
|
104
|
-
}
|
|
105
|
-
return alerts;
|
|
106
|
-
}
|
|
107
|
-
/**
|
|
108
|
-
* Create an alert object
|
|
109
|
-
*/
|
|
110
|
-
function createAlert(level, metric, value, threshold, timestamp) {
|
|
111
|
-
const messages = {
|
|
112
|
-
zombies: (v, t) => `${v} zombie processes detected (threshold: ${t})`,
|
|
113
|
-
memory: (v, t) => `Memory usage at ${v}MB (threshold: ${t}MB)`,
|
|
114
|
-
active_processes: (v, t) => `${v} active processes (threshold: ${t})`,
|
|
115
|
-
database_waiting: (v, t) => `${v} database connections waiting (threshold: ${t})`,
|
|
116
|
-
spawn_rate: (v, t) => `Process spawn rate at ${v}/min (threshold: ${t}/min)`,
|
|
117
|
-
};
|
|
118
|
-
return {
|
|
119
|
-
level,
|
|
120
|
-
metric,
|
|
121
|
-
message: messages[metric](value, threshold),
|
|
122
|
-
value,
|
|
123
|
-
threshold,
|
|
124
|
-
timestamp,
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Get health status based on alerts
|
|
129
|
-
*/
|
|
130
|
-
export function getHealthStatus(alerts) {
|
|
131
|
-
const hasCritical = alerts.some((a) => a.level === 'critical');
|
|
132
|
-
const hasWarning = alerts.some((a) => a.level === 'warning');
|
|
133
|
-
if (hasCritical) {
|
|
134
|
-
return { status: 'unhealthy', statusCode: 503 };
|
|
135
|
-
}
|
|
136
|
-
else if (hasWarning) {
|
|
137
|
-
return { status: 'degraded', statusCode: 206 };
|
|
138
|
-
}
|
|
139
|
-
else {
|
|
140
|
-
return { status: 'healthy', statusCode: 200 };
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=health-monitor.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"health-monitor.js","sourceRoot":"","sources":["../../../../../../core/src/monitoring/health-monitor.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process Health Monitoring
|
|
3
|
-
*
|
|
4
|
-
* Centralized system for tracking processes, detecting zombies,
|
|
5
|
-
* managing cleanup, and monitoring system health.
|
|
6
|
-
*/
|
|
7
|
-
export { alertManager, getAlertStats, sendAlert, sendAlerts, setAlertChannels, } from './alerts.js';
|
|
8
|
-
export { cleanupManager, forceCleanup, getCleanupHandlers, initiateCleanup, isShutdownInProgress, registerCleanupHandler, unregisterCleanupHandler, } from './cleanup-manager.js';
|
|
9
|
-
export { getHealthMetrics, getHealthStatus } from './health-monitor.js';
|
|
10
|
-
export { getAllProcesses, getProcess, getProcessStats, getRunningProcesses, getSpawnRate, getZombieProcesses, markProcessZombie, processRegistry, registerProcess, updateProcessStatus, } from './process-registry.js';
|
|
11
|
-
export type * from './types.js';
|
|
12
|
-
export { DEFAULT_MONITORING_CONFIG } from './types.js';
|
|
13
|
-
export { getZombieCount, getZombieHistory, onZombieDetected, scanForZombies, startZombieDetection, stopZombieDetection, zombieDetector, } from './zombie-detector.js';
|
|
14
|
-
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../core/src/monitoring/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,gBAAgB,GACjB,MAAM,aAAa,CAAA;AAEpB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAEvE,OAAO,EACL,eAAe,EACf,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAE9B,mBAAmB,YAAY,CAAA;AAC/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AAEtD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GACf,MAAM,sBAAsB,CAAA"}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process Health Monitoring
|
|
3
|
-
*
|
|
4
|
-
* Centralized system for tracking processes, detecting zombies,
|
|
5
|
-
* managing cleanup, and monitoring system health.
|
|
6
|
-
*/
|
|
7
|
-
// Export alert system
|
|
8
|
-
export { alertManager, getAlertStats, sendAlert, sendAlerts, setAlertChannels, } from './alerts.js';
|
|
9
|
-
// Export cleanup manager
|
|
10
|
-
export { cleanupManager, forceCleanup, getCleanupHandlers, initiateCleanup, isShutdownInProgress, registerCleanupHandler, unregisterCleanupHandler, } from './cleanup-manager.js';
|
|
11
|
-
// Export health monitor
|
|
12
|
-
export { getHealthMetrics, getHealthStatus } from './health-monitor.js';
|
|
13
|
-
// Export process registry
|
|
14
|
-
export { getAllProcesses, getProcess, getProcessStats, getRunningProcesses, getSpawnRate, getZombieProcesses, markProcessZombie, processRegistry, registerProcess, updateProcessStatus, } from './process-registry.js';
|
|
15
|
-
export { DEFAULT_MONITORING_CONFIG } from './types.js';
|
|
16
|
-
// Export zombie detector
|
|
17
|
-
export { getZombieCount, getZombieHistory, onZombieDetected, scanForZombies, startZombieDetection, stopZombieDetection, zombieDetector, } from './zombie-detector.js';
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../core/src/monitoring/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,sBAAsB;AACtB,OAAO,EACL,YAAY,EACZ,aAAa,EACb,SAAS,EACT,UAAU,EACV,gBAAgB,GACjB,MAAM,aAAa,CAAA;AACpB,yBAAyB;AACzB,OAAO,EACL,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,eAAe,EACf,oBAAoB,EACpB,sBAAsB,EACtB,wBAAwB,GACzB,MAAM,sBAAsB,CAAA;AAC7B,wBAAwB;AACxB,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AACvE,0BAA0B;AAC1B,OAAO,EACL,eAAe,EACf,UAAU,EACV,eAAe,EACf,mBAAmB,EACnB,YAAY,EACZ,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,eAAe,EACf,mBAAmB,GACpB,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,yBAAyB,EAAE,MAAM,YAAY,CAAA;AACtD,yBAAyB;AACzB,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,oBAAoB,EACpB,mBAAmB,EACnB,cAAc,GACf,MAAM,sBAAsB,CAAA"}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process Registry
|
|
3
|
-
*
|
|
4
|
-
* Central registry for tracking all spawned processes in the RevealUI system.
|
|
5
|
-
* Maintains process lifecycle information and provides query capabilities.
|
|
6
|
-
*/
|
|
7
|
-
import type { ProcessMetadata, ProcessSource, ProcessStatus, RegistryStats, TrackedProcess } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Global process registry instance
|
|
10
|
-
*/
|
|
11
|
-
declare class ProcessRegistry {
|
|
12
|
-
private processes;
|
|
13
|
-
private enabled;
|
|
14
|
-
private maxHistorySize;
|
|
15
|
-
/**
|
|
16
|
-
* Register a new process
|
|
17
|
-
*/
|
|
18
|
-
register(pid: number, command: string, args: string[], source: ProcessSource, metadata?: ProcessMetadata, ppid?: number): void;
|
|
19
|
-
/**
|
|
20
|
-
* Update process status
|
|
21
|
-
*/
|
|
22
|
-
updateStatus(pid: number, status: ProcessStatus, exitCode?: number, signal?: string): void;
|
|
23
|
-
/**
|
|
24
|
-
* Mark process as zombie
|
|
25
|
-
*/
|
|
26
|
-
markZombie(pid: number): void;
|
|
27
|
-
/**
|
|
28
|
-
* Get process by PID
|
|
29
|
-
*/
|
|
30
|
-
get(pid: number): TrackedProcess | undefined;
|
|
31
|
-
/**
|
|
32
|
-
* Get all processes
|
|
33
|
-
*/
|
|
34
|
-
getAll(): TrackedProcess[];
|
|
35
|
-
/**
|
|
36
|
-
* Get processes by status
|
|
37
|
-
*/
|
|
38
|
-
getByStatus(status: ProcessStatus): TrackedProcess[];
|
|
39
|
-
/**
|
|
40
|
-
* Get processes by source
|
|
41
|
-
*/
|
|
42
|
-
getBySource(source: ProcessSource): TrackedProcess[];
|
|
43
|
-
/**
|
|
44
|
-
* Get running processes
|
|
45
|
-
*/
|
|
46
|
-
getRunning(): TrackedProcess[];
|
|
47
|
-
/**
|
|
48
|
-
* Get zombie processes
|
|
49
|
-
*/
|
|
50
|
-
getZombies(): TrackedProcess[];
|
|
51
|
-
/**
|
|
52
|
-
* Get failed processes
|
|
53
|
-
*/
|
|
54
|
-
getFailed(): TrackedProcess[];
|
|
55
|
-
/**
|
|
56
|
-
* Get registry statistics
|
|
57
|
-
*/
|
|
58
|
-
getStats(): RegistryStats;
|
|
59
|
-
/**
|
|
60
|
-
* Calculate spawn rate (processes per minute)
|
|
61
|
-
*/
|
|
62
|
-
getSpawnRate(): number;
|
|
63
|
-
/**
|
|
64
|
-
* Clear completed/failed processes older than retention period
|
|
65
|
-
*/
|
|
66
|
-
private trimHistory;
|
|
67
|
-
/**
|
|
68
|
-
* Clear all processes
|
|
69
|
-
*/
|
|
70
|
-
clear(): void;
|
|
71
|
-
/**
|
|
72
|
-
* Enable or disable tracking
|
|
73
|
-
*/
|
|
74
|
-
setEnabled(enabled: boolean): void;
|
|
75
|
-
/**
|
|
76
|
-
* Check if tracking is enabled
|
|
77
|
-
*/
|
|
78
|
-
isEnabled(): boolean;
|
|
79
|
-
}
|
|
80
|
-
/**
|
|
81
|
-
* Singleton instance
|
|
82
|
-
*/
|
|
83
|
-
export declare const processRegistry: ProcessRegistry;
|
|
84
|
-
/**
|
|
85
|
-
* Convenience functions
|
|
86
|
-
*/
|
|
87
|
-
export declare function registerProcess(pid: number, command: string, args: string[], source: ProcessSource, metadata?: ProcessMetadata, ppid?: number): void;
|
|
88
|
-
export declare function updateProcessStatus(pid: number, status: ProcessStatus, exitCode?: number, signal?: string): void;
|
|
89
|
-
export declare function markProcessZombie(pid: number): void;
|
|
90
|
-
export declare function getProcess(pid: number): TrackedProcess | undefined;
|
|
91
|
-
export declare function getAllProcesses(): TrackedProcess[];
|
|
92
|
-
export declare function getRunningProcesses(): TrackedProcess[];
|
|
93
|
-
export declare function getZombieProcesses(): TrackedProcess[];
|
|
94
|
-
export declare function getProcessStats(): RegistryStats;
|
|
95
|
-
export declare function getSpawnRate(): number;
|
|
96
|
-
export {};
|
|
97
|
-
//# sourceMappingURL=process-registry.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process-registry.d.ts","sourceRoot":"","sources":["../../../../../../core/src/monitoring/process-registry.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,aAAa,EACb,aAAa,EACb,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAA;AAGnB;;GAEG;AACH,cAAM,eAAe;IACnB,OAAO,CAAC,SAAS,CAAyC;IAC1D,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,cAAc,CAAmD;IAEzE;;OAEG;IACH,QAAQ,CACN,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,eAAe,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI;IAkBP;;OAEG;IACH,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI;IAkB1F;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAI5C;;OAEG;IACH,MAAM,IAAI,cAAc,EAAE;IAI1B;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,EAAE;IAIpD;;OAEG;IACH,WAAW,CAAC,MAAM,EAAE,aAAa,GAAG,cAAc,EAAE;IAIpD;;OAEG;IACH,UAAU,IAAI,cAAc,EAAE;IAI9B;;OAEG;IACH,UAAU,IAAI,cAAc,EAAE;IAI9B;;OAEG;IACH,SAAS,IAAI,cAAc,EAAE;IAI7B;;OAEG;IACH,QAAQ,IAAI,aAAa;IA2BzB;;OAEG;IACH,YAAY,IAAI,MAAM;IAStB;;OAEG;IACH,OAAO,CAAC,WAAW;IAqCnB;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIlC;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe,iBAAwB,CAAA;AAEpD;;GAEG;AAEH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EAAE,EACd,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,eAAe,EAC1B,IAAI,CAAC,EAAE,MAAM,GACZ,IAAI,CAEN;AAED,wBAAgB,mBAAmB,CACjC,GAAG,EAAE,MAAM,EACX,MAAM,EAAE,aAAa,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,GACd,IAAI,CAEN;AAED,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS,CAElE;AAED,wBAAgB,eAAe,IAAI,cAAc,EAAE,CAElD;AAED,wBAAgB,mBAAmB,IAAI,cAAc,EAAE,CAEtD;AAED,wBAAgB,kBAAkB,IAAI,cAAc,EAAE,CAErD;AAED,wBAAgB,eAAe,IAAI,aAAa,CAE/C;AAED,wBAAgB,YAAY,IAAI,MAAM,CAErC"}
|