@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,223 +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 { DEFAULT_MONITORING_CONFIG } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Global process registry instance
|
|
10
|
-
*/
|
|
11
|
-
class ProcessRegistry {
|
|
12
|
-
processes = new Map();
|
|
13
|
-
enabled = DEFAULT_MONITORING_CONFIG.enabled;
|
|
14
|
-
maxHistorySize = DEFAULT_MONITORING_CONFIG.maxHistorySize;
|
|
15
|
-
/**
|
|
16
|
-
* Register a new process
|
|
17
|
-
*/
|
|
18
|
-
register(pid, command, args, source, metadata, ppid) {
|
|
19
|
-
if (!this.enabled)
|
|
20
|
-
return;
|
|
21
|
-
const process = {
|
|
22
|
-
pid,
|
|
23
|
-
command,
|
|
24
|
-
args,
|
|
25
|
-
source,
|
|
26
|
-
status: 'running',
|
|
27
|
-
startTime: Date.now(),
|
|
28
|
-
metadata,
|
|
29
|
-
ppid,
|
|
30
|
-
};
|
|
31
|
-
this.processes.set(pid, process);
|
|
32
|
-
this.trimHistory();
|
|
33
|
-
}
|
|
34
|
-
/**
|
|
35
|
-
* Update process status
|
|
36
|
-
*/
|
|
37
|
-
updateStatus(pid, status, exitCode, signal) {
|
|
38
|
-
if (!this.enabled)
|
|
39
|
-
return;
|
|
40
|
-
const process = this.processes.get(pid);
|
|
41
|
-
if (!process)
|
|
42
|
-
return;
|
|
43
|
-
process.status = status;
|
|
44
|
-
process.endTime = Date.now();
|
|
45
|
-
if (exitCode !== undefined) {
|
|
46
|
-
process.exitCode = exitCode;
|
|
47
|
-
}
|
|
48
|
-
if (signal !== undefined) {
|
|
49
|
-
process.signal = signal;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* Mark process as zombie
|
|
54
|
-
*/
|
|
55
|
-
markZombie(pid) {
|
|
56
|
-
this.updateStatus(pid, 'zombie');
|
|
57
|
-
}
|
|
58
|
-
/**
|
|
59
|
-
* Get process by PID
|
|
60
|
-
*/
|
|
61
|
-
get(pid) {
|
|
62
|
-
return this.processes.get(pid);
|
|
63
|
-
}
|
|
64
|
-
/**
|
|
65
|
-
* Get all processes
|
|
66
|
-
*/
|
|
67
|
-
getAll() {
|
|
68
|
-
return Array.from(this.processes.values());
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Get processes by status
|
|
72
|
-
*/
|
|
73
|
-
getByStatus(status) {
|
|
74
|
-
return this.getAll().filter((p) => p.status === status);
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* Get processes by source
|
|
78
|
-
*/
|
|
79
|
-
getBySource(source) {
|
|
80
|
-
return this.getAll().filter((p) => p.source === source);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Get running processes
|
|
84
|
-
*/
|
|
85
|
-
getRunning() {
|
|
86
|
-
return this.getByStatus('running');
|
|
87
|
-
}
|
|
88
|
-
/**
|
|
89
|
-
* Get zombie processes
|
|
90
|
-
*/
|
|
91
|
-
getZombies() {
|
|
92
|
-
return this.getByStatus('zombie');
|
|
93
|
-
}
|
|
94
|
-
/**
|
|
95
|
-
* Get failed processes
|
|
96
|
-
*/
|
|
97
|
-
getFailed() {
|
|
98
|
-
return this.getByStatus('failed');
|
|
99
|
-
}
|
|
100
|
-
/**
|
|
101
|
-
* Get registry statistics
|
|
102
|
-
*/
|
|
103
|
-
getStats() {
|
|
104
|
-
const all = this.getAll();
|
|
105
|
-
const bySource = {
|
|
106
|
-
exec: 0,
|
|
107
|
-
orchestration: 0,
|
|
108
|
-
mcp: 0,
|
|
109
|
-
'ai-runtime': 0,
|
|
110
|
-
'dev-server': 0,
|
|
111
|
-
database: 0,
|
|
112
|
-
unknown: 0,
|
|
113
|
-
};
|
|
114
|
-
for (const process of all) {
|
|
115
|
-
bySource[process.source]++;
|
|
116
|
-
}
|
|
117
|
-
return {
|
|
118
|
-
total: all.length,
|
|
119
|
-
running: this.getByStatus('running').length,
|
|
120
|
-
completed: this.getByStatus('completed').length,
|
|
121
|
-
failed: this.getByStatus('failed').length,
|
|
122
|
-
zombies: this.getByStatus('zombie').length,
|
|
123
|
-
killed: this.getByStatus('killed').length,
|
|
124
|
-
bySource,
|
|
125
|
-
};
|
|
126
|
-
}
|
|
127
|
-
/**
|
|
128
|
-
* Calculate spawn rate (processes per minute)
|
|
129
|
-
*/
|
|
130
|
-
getSpawnRate() {
|
|
131
|
-
const now = Date.now();
|
|
132
|
-
const oneMinuteAgo = now - 60_000;
|
|
133
|
-
const recentProcesses = this.getAll().filter((p) => p.startTime >= oneMinuteAgo);
|
|
134
|
-
return recentProcesses.length;
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Clear completed/failed processes older than retention period
|
|
138
|
-
*/
|
|
139
|
-
trimHistory() {
|
|
140
|
-
if (this.processes.size <= this.maxHistorySize)
|
|
141
|
-
return;
|
|
142
|
-
const processArray = Array.from(this.processes.entries());
|
|
143
|
-
// Sort by end time (oldest first), then start time
|
|
144
|
-
processArray.sort(([, a], [, b]) => {
|
|
145
|
-
const aTime = a.endTime || a.startTime;
|
|
146
|
-
const bTime = b.endTime || b.startTime;
|
|
147
|
-
return aTime - bTime;
|
|
148
|
-
});
|
|
149
|
-
// Keep only running processes and recent completed/failed
|
|
150
|
-
const toKeep = new Map();
|
|
151
|
-
let keptCount = 0;
|
|
152
|
-
// First pass: keep all running and zombie processes
|
|
153
|
-
for (const [pid, process] of processArray) {
|
|
154
|
-
if (process.status === 'running' || process.status === 'zombie') {
|
|
155
|
-
toKeep.set(pid, process);
|
|
156
|
-
keptCount++;
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
// Second pass: keep most recent completed/failed up to limit
|
|
160
|
-
for (const [pid, process] of processArray.reverse()) {
|
|
161
|
-
if (keptCount >= this.maxHistorySize)
|
|
162
|
-
break;
|
|
163
|
-
if (process.status !== 'running' && process.status !== 'zombie' && !toKeep.has(pid)) {
|
|
164
|
-
toKeep.set(pid, process);
|
|
165
|
-
keptCount++;
|
|
166
|
-
}
|
|
167
|
-
}
|
|
168
|
-
this.processes = toKeep;
|
|
169
|
-
}
|
|
170
|
-
/**
|
|
171
|
-
* Clear all processes
|
|
172
|
-
*/
|
|
173
|
-
clear() {
|
|
174
|
-
this.processes.clear();
|
|
175
|
-
}
|
|
176
|
-
/**
|
|
177
|
-
* Enable or disable tracking
|
|
178
|
-
*/
|
|
179
|
-
setEnabled(enabled) {
|
|
180
|
-
this.enabled = enabled;
|
|
181
|
-
}
|
|
182
|
-
/**
|
|
183
|
-
* Check if tracking is enabled
|
|
184
|
-
*/
|
|
185
|
-
isEnabled() {
|
|
186
|
-
return this.enabled;
|
|
187
|
-
}
|
|
188
|
-
}
|
|
189
|
-
/**
|
|
190
|
-
* Singleton instance
|
|
191
|
-
*/
|
|
192
|
-
export const processRegistry = new ProcessRegistry();
|
|
193
|
-
/**
|
|
194
|
-
* Convenience functions
|
|
195
|
-
*/
|
|
196
|
-
export function registerProcess(pid, command, args, source, metadata, ppid) {
|
|
197
|
-
processRegistry.register(pid, command, args, source, metadata, ppid);
|
|
198
|
-
}
|
|
199
|
-
export function updateProcessStatus(pid, status, exitCode, signal) {
|
|
200
|
-
processRegistry.updateStatus(pid, status, exitCode, signal);
|
|
201
|
-
}
|
|
202
|
-
export function markProcessZombie(pid) {
|
|
203
|
-
processRegistry.markZombie(pid);
|
|
204
|
-
}
|
|
205
|
-
export function getProcess(pid) {
|
|
206
|
-
return processRegistry.get(pid);
|
|
207
|
-
}
|
|
208
|
-
export function getAllProcesses() {
|
|
209
|
-
return processRegistry.getAll();
|
|
210
|
-
}
|
|
211
|
-
export function getRunningProcesses() {
|
|
212
|
-
return processRegistry.getRunning();
|
|
213
|
-
}
|
|
214
|
-
export function getZombieProcesses() {
|
|
215
|
-
return processRegistry.getZombies();
|
|
216
|
-
}
|
|
217
|
-
export function getProcessStats() {
|
|
218
|
-
return processRegistry.getStats();
|
|
219
|
-
}
|
|
220
|
-
export function getSpawnRate() {
|
|
221
|
-
return processRegistry.getSpawnRate();
|
|
222
|
-
}
|
|
223
|
-
//# sourceMappingURL=process-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"process-registry.js","sourceRoot":"","sources":["../../../../../../core/src/monitoring/process-registry.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,231 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process Health Monitoring Types
|
|
3
|
-
*
|
|
4
|
-
* TypeScript definitions for system health monitoring, process tracking,
|
|
5
|
-
* zombie detection, and alerting.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Source of a tracked process
|
|
9
|
-
*/
|
|
10
|
-
export type ProcessSource = 'exec' | 'orchestration' | 'mcp' | 'ai-runtime' | 'dev-server' | 'database' | 'unknown';
|
|
11
|
-
/**
|
|
12
|
-
* Status of a tracked process
|
|
13
|
-
*/
|
|
14
|
-
export type ProcessStatus = 'running' | 'completed' | 'failed' | 'zombie' | 'killed';
|
|
15
|
-
/**
|
|
16
|
-
* Tracked process metadata
|
|
17
|
-
*/
|
|
18
|
-
export interface ProcessMetadata {
|
|
19
|
-
[key: string]: string | number | boolean | undefined;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Tracked process entry
|
|
23
|
-
*/
|
|
24
|
-
export interface TrackedProcess {
|
|
25
|
-
/** Process ID */
|
|
26
|
-
pid: number;
|
|
27
|
-
/** Command executed */
|
|
28
|
-
command: string;
|
|
29
|
-
/** Command arguments */
|
|
30
|
-
args: string[];
|
|
31
|
-
/** Process source */
|
|
32
|
-
source: ProcessSource;
|
|
33
|
-
/** Current status */
|
|
34
|
-
status: ProcessStatus;
|
|
35
|
-
/** Start timestamp */
|
|
36
|
-
startTime: number;
|
|
37
|
-
/** End timestamp (if completed/failed/killed) */
|
|
38
|
-
endTime?: number;
|
|
39
|
-
/** Exit code (if completed/failed) */
|
|
40
|
-
exitCode?: number;
|
|
41
|
-
/** Signal that killed process (if killed) */
|
|
42
|
-
signal?: string;
|
|
43
|
-
/** Custom metadata */
|
|
44
|
-
metadata?: ProcessMetadata;
|
|
45
|
-
/** Parent process ID */
|
|
46
|
-
ppid?: number;
|
|
47
|
-
}
|
|
48
|
-
/**
|
|
49
|
-
* Zombie process detection result
|
|
50
|
-
*/
|
|
51
|
-
export interface ZombieProcess {
|
|
52
|
-
/** Process ID */
|
|
53
|
-
pid: number;
|
|
54
|
-
/** Parent process ID */
|
|
55
|
-
ppid: number;
|
|
56
|
-
/** Command name */
|
|
57
|
-
command: string;
|
|
58
|
-
/** When zombie was first detected */
|
|
59
|
-
detectedAt: number;
|
|
60
|
-
/** Associated tracked process (if available) */
|
|
61
|
-
trackedProcess?: TrackedProcess;
|
|
62
|
-
}
|
|
63
|
-
/**
|
|
64
|
-
* Database pool metrics
|
|
65
|
-
*/
|
|
66
|
-
export interface PoolMetrics {
|
|
67
|
-
/** Total connections in pool */
|
|
68
|
-
totalCount: number;
|
|
69
|
-
/** Idle connections */
|
|
70
|
-
idleCount: number;
|
|
71
|
-
/** Waiting requests */
|
|
72
|
-
waitingCount: number;
|
|
73
|
-
/** Pool name/identifier */
|
|
74
|
-
name: string;
|
|
75
|
-
}
|
|
76
|
-
/**
|
|
77
|
-
* System health metrics
|
|
78
|
-
*/
|
|
79
|
-
export interface HealthMetrics {
|
|
80
|
-
/** System information */
|
|
81
|
-
system: {
|
|
82
|
-
/** Memory usage in MB */
|
|
83
|
-
memoryUsage: number;
|
|
84
|
-
/** CPU usage percentage */
|
|
85
|
-
cpuUsage: number;
|
|
86
|
-
/** Uptime in seconds */
|
|
87
|
-
uptime: number;
|
|
88
|
-
/** Platform */
|
|
89
|
-
platform: string;
|
|
90
|
-
/** Node.js version */
|
|
91
|
-
nodeVersion: string;
|
|
92
|
-
};
|
|
93
|
-
/** Process statistics */
|
|
94
|
-
processes: {
|
|
95
|
-
/** Active running processes */
|
|
96
|
-
active: number;
|
|
97
|
-
/** Zombie processes */
|
|
98
|
-
zombies: number;
|
|
99
|
-
/** Failed processes */
|
|
100
|
-
failed: number;
|
|
101
|
-
/** Process spawn rate (per minute) */
|
|
102
|
-
spawnRate: number;
|
|
103
|
-
/** Processes by source */
|
|
104
|
-
bySource: Record<ProcessSource, number>;
|
|
105
|
-
};
|
|
106
|
-
/** Database pool metrics */
|
|
107
|
-
database: {
|
|
108
|
-
/** REST database pools */
|
|
109
|
-
rest: PoolMetrics[];
|
|
110
|
-
/** Vector database pools */
|
|
111
|
-
vector: PoolMetrics[];
|
|
112
|
-
};
|
|
113
|
-
/** Recent zombie processes */
|
|
114
|
-
recentZombies: ZombieProcess[];
|
|
115
|
-
/** Active alerts */
|
|
116
|
-
alerts: Alert[];
|
|
117
|
-
/** Timestamp of metrics collection */
|
|
118
|
-
timestamp: number;
|
|
119
|
-
}
|
|
120
|
-
/**
|
|
121
|
-
* Alert severity level
|
|
122
|
-
*/
|
|
123
|
-
export type AlertLevel = 'warning' | 'critical';
|
|
124
|
-
/**
|
|
125
|
-
* Alert metric type
|
|
126
|
-
*/
|
|
127
|
-
export type AlertMetric = 'zombies' | 'memory' | 'active_processes' | 'database_waiting' | 'spawn_rate';
|
|
128
|
-
/**
|
|
129
|
-
* Alert definition
|
|
130
|
-
*/
|
|
131
|
-
export interface Alert {
|
|
132
|
-
/** Alert severity */
|
|
133
|
-
level: AlertLevel;
|
|
134
|
-
/** Metric that triggered alert */
|
|
135
|
-
metric: AlertMetric;
|
|
136
|
-
/** Human-readable message */
|
|
137
|
-
message: string;
|
|
138
|
-
/** Current value */
|
|
139
|
-
value: number;
|
|
140
|
-
/** Threshold that was exceeded */
|
|
141
|
-
threshold: number;
|
|
142
|
-
/** Timestamp when alert was triggered */
|
|
143
|
-
timestamp: number;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* Alert threshold configuration
|
|
147
|
-
*/
|
|
148
|
-
export interface AlertThresholds {
|
|
149
|
-
zombies: {
|
|
150
|
-
warning: number;
|
|
151
|
-
critical: number;
|
|
152
|
-
};
|
|
153
|
-
memory: {
|
|
154
|
-
warning: number;
|
|
155
|
-
critical: number;
|
|
156
|
-
};
|
|
157
|
-
processes: {
|
|
158
|
-
active: {
|
|
159
|
-
warning: number;
|
|
160
|
-
critical: number;
|
|
161
|
-
};
|
|
162
|
-
};
|
|
163
|
-
database: {
|
|
164
|
-
waiting: {
|
|
165
|
-
warning: number;
|
|
166
|
-
critical: number;
|
|
167
|
-
};
|
|
168
|
-
};
|
|
169
|
-
spawnRate: {
|
|
170
|
-
warning: number;
|
|
171
|
-
critical: number;
|
|
172
|
-
};
|
|
173
|
-
}
|
|
174
|
-
/**
|
|
175
|
-
* Cleanup handler function
|
|
176
|
-
*/
|
|
177
|
-
export type CleanupHandler = () => void | Promise<void>;
|
|
178
|
-
/**
|
|
179
|
-
* Cleanup handler registration
|
|
180
|
-
*/
|
|
181
|
-
export interface CleanupRegistration {
|
|
182
|
-
/** Handler ID */
|
|
183
|
-
id: string;
|
|
184
|
-
/** Handler function */
|
|
185
|
-
handler: CleanupHandler;
|
|
186
|
-
/** Priority (higher executes first) */
|
|
187
|
-
priority: number;
|
|
188
|
-
/** Handler description */
|
|
189
|
-
description: string;
|
|
190
|
-
}
|
|
191
|
-
/**
|
|
192
|
-
* Process registry statistics
|
|
193
|
-
*/
|
|
194
|
-
export interface RegistryStats {
|
|
195
|
-
/** Total processes tracked */
|
|
196
|
-
total: number;
|
|
197
|
-
/** Currently running */
|
|
198
|
-
running: number;
|
|
199
|
-
/** Completed successfully */
|
|
200
|
-
completed: number;
|
|
201
|
-
/** Failed */
|
|
202
|
-
failed: number;
|
|
203
|
-
/** Zombies detected */
|
|
204
|
-
zombies: number;
|
|
205
|
-
/** Killed by signal */
|
|
206
|
-
killed: number;
|
|
207
|
-
/** Processes by source */
|
|
208
|
-
bySource: Record<ProcessSource, number>;
|
|
209
|
-
}
|
|
210
|
-
/**
|
|
211
|
-
* Health monitoring configuration
|
|
212
|
-
*/
|
|
213
|
-
export interface MonitoringConfig {
|
|
214
|
-
/** Enable process monitoring */
|
|
215
|
-
enabled: boolean;
|
|
216
|
-
/** Zombie detection interval (ms) */
|
|
217
|
-
zombieDetectionInterval: number;
|
|
218
|
-
/** Health check interval (ms) */
|
|
219
|
-
healthCheckInterval: number;
|
|
220
|
-
/** Alert thresholds */
|
|
221
|
-
alertThresholds: AlertThresholds;
|
|
222
|
-
/** Maximum tracked processes to keep in history */
|
|
223
|
-
maxHistorySize: number;
|
|
224
|
-
/** Maximum zombies to track */
|
|
225
|
-
maxZombieHistory: number;
|
|
226
|
-
}
|
|
227
|
-
/**
|
|
228
|
-
* Default monitoring configuration
|
|
229
|
-
*/
|
|
230
|
-
export declare const DEFAULT_MONITORING_CONFIG: MonitoringConfig;
|
|
231
|
-
//# sourceMappingURL=types.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../core/src/monitoring/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Process Health Monitoring Types
|
|
3
|
-
*
|
|
4
|
-
* TypeScript definitions for system health monitoring, process tracking,
|
|
5
|
-
* zombie detection, and alerting.
|
|
6
|
-
*/
|
|
7
|
-
/**
|
|
8
|
-
* Default monitoring configuration
|
|
9
|
-
*/
|
|
10
|
-
export const DEFAULT_MONITORING_CONFIG = {
|
|
11
|
-
enabled: process.env.ENABLE_PROCESS_MONITORING !== 'false',
|
|
12
|
-
zombieDetectionInterval: 30_000, // 30 seconds
|
|
13
|
-
healthCheckInterval: 5_000, // 5 seconds
|
|
14
|
-
alertThresholds: {
|
|
15
|
-
zombies: {
|
|
16
|
-
warning: 3,
|
|
17
|
-
critical: 5,
|
|
18
|
-
},
|
|
19
|
-
memory: {
|
|
20
|
-
warning: 512, // MB
|
|
21
|
-
critical: 1024, // MB
|
|
22
|
-
},
|
|
23
|
-
processes: {
|
|
24
|
-
active: {
|
|
25
|
-
warning: 50,
|
|
26
|
-
critical: 100,
|
|
27
|
-
},
|
|
28
|
-
},
|
|
29
|
-
database: {
|
|
30
|
-
waiting: {
|
|
31
|
-
warning: 5,
|
|
32
|
-
critical: 10,
|
|
33
|
-
},
|
|
34
|
-
},
|
|
35
|
-
spawnRate: {
|
|
36
|
-
warning: 20, // per minute
|
|
37
|
-
critical: 50, // per minute
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
maxHistorySize: 1000,
|
|
41
|
-
maxZombieHistory: 50,
|
|
42
|
-
};
|
|
43
|
-
//# sourceMappingURL=types.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../core/src/monitoring/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAgTH;;GAEG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAqB;IACzD,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,OAAO;IAC1D,uBAAuB,EAAE,MAAM,EAAE,aAAa;IAC9C,mBAAmB,EAAE,KAAK,EAAE,YAAY;IACxC,eAAe,EAAE;QACf,OAAO,EAAE;YACP,OAAO,EAAE,CAAC;YACV,QAAQ,EAAE,CAAC;SACZ;QACD,MAAM,EAAE;YACN,OAAO,EAAE,GAAG,EAAE,KAAK;YACnB,QAAQ,EAAE,IAAI,EAAE,KAAK;SACtB;QACD,SAAS,EAAE;YACT,MAAM,EAAE;gBACN,OAAO,EAAE,EAAE;gBACX,QAAQ,EAAE,GAAG;aACd;SACF;QACD,QAAQ,EAAE;YACR,OAAO,EAAE;gBACP,OAAO,EAAE,CAAC;gBACV,QAAQ,EAAE,EAAE;aACb;SACF;QACD,SAAS,EAAE;YACT,OAAO,EAAE,EAAE,EAAE,aAAa;YAC1B,QAAQ,EAAE,EAAE,EAAE,aAAa;SAC5B;KACF;IACD,cAAc,EAAE,IAAI;IACpB,gBAAgB,EAAE,EAAE;CACrB,CAAA"}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Zombie Process Detector
|
|
3
|
-
*
|
|
4
|
-
* Periodically scans for defunct (zombie) processes and attempts automatic cleanup.
|
|
5
|
-
* Zombie processes are dead processes that haven't been reaped by their parent.
|
|
6
|
-
*/
|
|
7
|
-
import type { ZombieProcess } from './types.js';
|
|
8
|
-
/**
|
|
9
|
-
* Zombie detector class
|
|
10
|
-
*/
|
|
11
|
-
declare class ZombieDetector {
|
|
12
|
-
private interval;
|
|
13
|
-
private zombieHistory;
|
|
14
|
-
private enabled;
|
|
15
|
-
private detectionInterval;
|
|
16
|
-
private maxHistory;
|
|
17
|
-
private onZombieDetected?;
|
|
18
|
-
/**
|
|
19
|
-
* Start zombie detection
|
|
20
|
-
*/
|
|
21
|
-
start(): void;
|
|
22
|
-
/**
|
|
23
|
-
* Stop zombie detection
|
|
24
|
-
*/
|
|
25
|
-
stop(): void;
|
|
26
|
-
/**
|
|
27
|
-
* Perform a single scan for zombie processes
|
|
28
|
-
*/
|
|
29
|
-
scan(): Promise<ZombieProcess[]>;
|
|
30
|
-
/**
|
|
31
|
-
* Attempt to clean up a zombie process
|
|
32
|
-
*/
|
|
33
|
-
private attemptCleanup;
|
|
34
|
-
/**
|
|
35
|
-
* Add zombie to history
|
|
36
|
-
*/
|
|
37
|
-
private addToHistory;
|
|
38
|
-
/**
|
|
39
|
-
* Get zombie history
|
|
40
|
-
*/
|
|
41
|
-
getHistory(): ZombieProcess[];
|
|
42
|
-
/**
|
|
43
|
-
* Get current zombie count
|
|
44
|
-
*/
|
|
45
|
-
getCount(): number;
|
|
46
|
-
/**
|
|
47
|
-
* Clear history
|
|
48
|
-
*/
|
|
49
|
-
clearHistory(): void;
|
|
50
|
-
/**
|
|
51
|
-
* Set zombie detection callback
|
|
52
|
-
*/
|
|
53
|
-
onZombie(callback: (zombie: ZombieProcess) => void): void;
|
|
54
|
-
/**
|
|
55
|
-
* Enable or disable detection
|
|
56
|
-
*/
|
|
57
|
-
setEnabled(enabled: boolean): void;
|
|
58
|
-
/**
|
|
59
|
-
* Check if detection is enabled
|
|
60
|
-
*/
|
|
61
|
-
isEnabled(): boolean;
|
|
62
|
-
/**
|
|
63
|
-
* Check if detector is running
|
|
64
|
-
*/
|
|
65
|
-
isRunning(): boolean;
|
|
66
|
-
}
|
|
67
|
-
/**
|
|
68
|
-
* Singleton instance
|
|
69
|
-
*/
|
|
70
|
-
export declare const zombieDetector: ZombieDetector;
|
|
71
|
-
/**
|
|
72
|
-
* Convenience functions
|
|
73
|
-
*/
|
|
74
|
-
export declare function startZombieDetection(): void;
|
|
75
|
-
export declare function stopZombieDetection(): void;
|
|
76
|
-
export declare function scanForZombies(): Promise<ZombieProcess[]>;
|
|
77
|
-
export declare function getZombieHistory(): ZombieProcess[];
|
|
78
|
-
export declare function getZombieCount(): number;
|
|
79
|
-
export declare function onZombieDetected(callback: (zombie: ZombieProcess) => void): void;
|
|
80
|
-
export {};
|
|
81
|
-
//# sourceMappingURL=zombie-detector.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"zombie-detector.d.ts","sourceRoot":"","sources":["../../../../../../core/src/monitoring/zombie-detector.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAK/C;;GAEG;AACH,cAAM,cAAc;IAClB,OAAO,CAAC,QAAQ,CAA8B;IAC9C,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,OAAO,CAA6C;IAC5D,OAAO,CAAC,iBAAiB,CAA4D;IACrF,OAAO,CAAC,UAAU,CAAqD;IACvE,OAAO,CAAC,gBAAgB,CAAC,CAAiC;IAE1D;;OAEG;IACH,KAAK,IAAI,IAAI;IAiBb;;OAEG;IACH,IAAI,IAAI,IAAI;IAQZ;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC;IA6DtC;;OAEG;YACW,cAAc;IAkD5B;;OAEG;IACH,OAAO,CAAC,YAAY;IASpB;;OAEG;IACH,UAAU,IAAI,aAAa,EAAE;IAI7B;;OAEG;IACH,QAAQ,IAAI,MAAM;IAIlB;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAIzD;;OAEG;IACH,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAUlC;;OAEG;IACH,SAAS,IAAI,OAAO;IAIpB;;OAEG;IACH,SAAS,IAAI,OAAO;CAGrB;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,gBAAuB,CAAA;AAElD;;GAEG;AAEH,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AAED,wBAAgB,mBAAmB,IAAI,IAAI,CAE1C;AAED,wBAAgB,cAAc,IAAI,OAAO,CAAC,aAAa,EAAE,CAAC,CAEzD;AAED,wBAAgB,gBAAgB,IAAI,aAAa,EAAE,CAElD;AAED,wBAAgB,cAAc,IAAI,MAAM,CAEvC;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI,CAEhF"}
|