@trentapps/manager-protocol 1.1.1
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 +21 -0
- package/README.md +446 -0
- package/dist/analyzers/ArchitectureDetector.d.ts +44 -0
- package/dist/analyzers/ArchitectureDetector.d.ts.map +1 -0
- package/dist/analyzers/ArchitectureDetector.js +218 -0
- package/dist/analyzers/ArchitectureDetector.js.map +1 -0
- package/dist/analyzers/CSSAnalyzer.d.ts +104 -0
- package/dist/analyzers/CSSAnalyzer.d.ts.map +1 -0
- package/dist/analyzers/CSSAnalyzer.js +578 -0
- package/dist/analyzers/CSSAnalyzer.js.map +1 -0
- package/dist/analyzers/index.d.ts +5 -0
- package/dist/analyzers/index.d.ts.map +1 -0
- package/dist/analyzers/index.js +5 -0
- package/dist/analyzers/index.js.map +1 -0
- package/dist/cli.d.ts +8 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +174 -0
- package/dist/cli.js.map +1 -0
- package/dist/design-system/index.d.ts +6 -0
- package/dist/design-system/index.d.ts.map +1 -0
- package/dist/design-system/index.js +6 -0
- package/dist/design-system/index.js.map +1 -0
- package/dist/design-system/tokens.d.ts +106 -0
- package/dist/design-system/tokens.d.ts.map +1 -0
- package/dist/design-system/tokens.js +554 -0
- package/dist/design-system/tokens.js.map +1 -0
- package/dist/engine/AppMonitor.d.ts +162 -0
- package/dist/engine/AppMonitor.d.ts.map +1 -0
- package/dist/engine/AppMonitor.js +754 -0
- package/dist/engine/AppMonitor.js.map +1 -0
- package/dist/engine/AuditLogger.d.ts +138 -0
- package/dist/engine/AuditLogger.d.ts.map +1 -0
- package/dist/engine/AuditLogger.js +448 -0
- package/dist/engine/AuditLogger.js.map +1 -0
- package/dist/engine/GitHubApprovalManager.d.ts +106 -0
- package/dist/engine/GitHubApprovalManager.d.ts.map +1 -0
- package/dist/engine/GitHubApprovalManager.js +315 -0
- package/dist/engine/GitHubApprovalManager.js.map +1 -0
- package/dist/engine/RateLimiter.d.ts +79 -0
- package/dist/engine/RateLimiter.d.ts.map +1 -0
- package/dist/engine/RateLimiter.js +232 -0
- package/dist/engine/RateLimiter.js.map +1 -0
- package/dist/engine/RulesEngine.d.ts +77 -0
- package/dist/engine/RulesEngine.d.ts.map +1 -0
- package/dist/engine/RulesEngine.js +400 -0
- package/dist/engine/RulesEngine.js.map +1 -0
- package/dist/engine/TaskManager.d.ts +173 -0
- package/dist/engine/TaskManager.d.ts.map +1 -0
- package/dist/engine/TaskManager.js +678 -0
- package/dist/engine/TaskManager.js.map +1 -0
- package/dist/engine/index.d.ts +9 -0
- package/dist/engine/index.d.ts.map +1 -0
- package/dist/engine/index.js +9 -0
- package/dist/engine/index.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +29 -0
- package/dist/index.js.map +1 -0
- package/dist/rules/architecture.d.ts +9 -0
- package/dist/rules/architecture.d.ts.map +1 -0
- package/dist/rules/architecture.js +322 -0
- package/dist/rules/architecture.js.map +1 -0
- package/dist/rules/azure.d.ts +7 -0
- package/dist/rules/azure.d.ts.map +1 -0
- package/dist/rules/azure.js +138 -0
- package/dist/rules/azure.js.map +1 -0
- package/dist/rules/compliance.d.ts +9 -0
- package/dist/rules/compliance.d.ts.map +1 -0
- package/dist/rules/compliance.js +304 -0
- package/dist/rules/compliance.js.map +1 -0
- package/dist/rules/css.d.ts +10 -0
- package/dist/rules/css.d.ts.map +1 -0
- package/dist/rules/css.js +1239 -0
- package/dist/rules/css.js.map +1 -0
- package/dist/rules/flask.d.ts +7 -0
- package/dist/rules/flask.d.ts.map +1 -0
- package/dist/rules/flask.js +155 -0
- package/dist/rules/flask.js.map +1 -0
- package/dist/rules/index.d.ts +607 -0
- package/dist/rules/index.d.ts.map +1 -0
- package/dist/rules/index.js +401 -0
- package/dist/rules/index.js.map +1 -0
- package/dist/rules/ml-ai.d.ts +7 -0
- package/dist/rules/ml-ai.d.ts.map +1 -0
- package/dist/rules/ml-ai.js +150 -0
- package/dist/rules/ml-ai.js.map +1 -0
- package/dist/rules/operational.d.ts +9 -0
- package/dist/rules/operational.d.ts.map +1 -0
- package/dist/rules/operational.js +318 -0
- package/dist/rules/operational.js.map +1 -0
- package/dist/rules/security.d.ts +9 -0
- package/dist/rules/security.d.ts.map +1 -0
- package/dist/rules/security.js +287 -0
- package/dist/rules/security.js.map +1 -0
- package/dist/rules/storage.d.ts +7 -0
- package/dist/rules/storage.d.ts.map +1 -0
- package/dist/rules/storage.js +134 -0
- package/dist/rules/storage.js.map +1 -0
- package/dist/rules/stripe.d.ts +7 -0
- package/dist/rules/stripe.d.ts.map +1 -0
- package/dist/rules/stripe.js +140 -0
- package/dist/rules/stripe.js.map +1 -0
- package/dist/rules/testing.d.ts +7 -0
- package/dist/rules/testing.d.ts.map +1 -0
- package/dist/rules/testing.js +135 -0
- package/dist/rules/testing.js.map +1 -0
- package/dist/rules/ux.d.ts +9 -0
- package/dist/rules/ux.d.ts.map +1 -0
- package/dist/rules/ux.js +280 -0
- package/dist/rules/ux.js.map +1 -0
- package/dist/rules/websocket.d.ts +7 -0
- package/dist/rules/websocket.d.ts.map +1 -0
- package/dist/rules/websocket.js +136 -0
- package/dist/rules/websocket.js.map +1 -0
- package/dist/server.d.ts +49 -0
- package/dist/server.d.ts.map +1 -0
- package/dist/server.js +2330 -0
- package/dist/server.js.map +1 -0
- package/dist/supervisor/AgentSupervisor.d.ts +235 -0
- package/dist/supervisor/AgentSupervisor.d.ts.map +1 -0
- package/dist/supervisor/AgentSupervisor.js +596 -0
- package/dist/supervisor/AgentSupervisor.js.map +1 -0
- package/dist/supervisor/ManagedServerRegistry.d.ts +48 -0
- package/dist/supervisor/ManagedServerRegistry.d.ts.map +1 -0
- package/dist/supervisor/ManagedServerRegistry.js +145 -0
- package/dist/supervisor/ManagedServerRegistry.js.map +1 -0
- package/dist/supervisor/ProjectTracker.d.ts +188 -0
- package/dist/supervisor/ProjectTracker.d.ts.map +1 -0
- package/dist/supervisor/ProjectTracker.js +617 -0
- package/dist/supervisor/ProjectTracker.js.map +1 -0
- package/dist/supervisor/index.d.ts +6 -0
- package/dist/supervisor/index.d.ts.map +1 -0
- package/dist/supervisor/index.js +6 -0
- package/dist/supervisor/index.js.map +1 -0
- package/dist/types/index.d.ts +1176 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +391 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/errors.d.ts +86 -0
- package/dist/utils/errors.d.ts.map +1 -0
- package/dist/utils/errors.js +171 -0
- package/dist/utils/errors.js.map +1 -0
- package/dist/utils/index.d.ts +5 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/utils/index.js +5 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/shell.d.ts +22 -0
- package/dist/utils/shell.d.ts.map +1 -0
- package/dist/utils/shell.js +29 -0
- package/dist/utils/shell.js.map +1 -0
- package/package.json +63 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Enterprise Agent Supervisor - App Monitor
|
|
3
|
+
*
|
|
4
|
+
* Monitors production applications running on the server.
|
|
5
|
+
* Tracks online status, health checks, and process information.
|
|
6
|
+
*/
|
|
7
|
+
import { MonitoredApp, AppStatus, AppHealthCheckResult, AppStatusHistoryEntry, AppMonitorStats } from '../types/index.js';
|
|
8
|
+
export interface AppMonitorOptions {
|
|
9
|
+
prodBasePath?: string;
|
|
10
|
+
maxHistoryEntries?: number;
|
|
11
|
+
maxTotalHistoryEntries?: number;
|
|
12
|
+
defaultCheckIntervalMs?: number;
|
|
13
|
+
defaultTimeoutMs?: number;
|
|
14
|
+
}
|
|
15
|
+
export declare class AppMonitor {
|
|
16
|
+
private apps;
|
|
17
|
+
private statusHistory;
|
|
18
|
+
private lastCheckResults;
|
|
19
|
+
private checkIntervals;
|
|
20
|
+
private prodBasePath;
|
|
21
|
+
private maxHistoryEntries;
|
|
22
|
+
private maxTotalHistoryEntries;
|
|
23
|
+
private defaultCheckIntervalMs;
|
|
24
|
+
private defaultTimeoutMs;
|
|
25
|
+
constructor(options?: AppMonitorOptions);
|
|
26
|
+
/**
|
|
27
|
+
* Generate a unique app ID
|
|
28
|
+
*/
|
|
29
|
+
private generateAppId;
|
|
30
|
+
/**
|
|
31
|
+
* Add a new app to monitor
|
|
32
|
+
*/
|
|
33
|
+
addApp(config: {
|
|
34
|
+
name: string;
|
|
35
|
+
path: string;
|
|
36
|
+
port: number;
|
|
37
|
+
description?: string;
|
|
38
|
+
healthEndpoint?: string;
|
|
39
|
+
expectedResponseCode?: number;
|
|
40
|
+
checkIntervalMs?: number;
|
|
41
|
+
timeoutMs?: number;
|
|
42
|
+
tags?: string[];
|
|
43
|
+
metadata?: Record<string, unknown>;
|
|
44
|
+
autoStart?: boolean;
|
|
45
|
+
}): Promise<MonitoredApp>;
|
|
46
|
+
/**
|
|
47
|
+
* Remove an app from monitoring
|
|
48
|
+
*/
|
|
49
|
+
removeApp(appId: string): boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Get an app by ID
|
|
52
|
+
*/
|
|
53
|
+
getApp(appId: string): MonitoredApp | undefined;
|
|
54
|
+
/**
|
|
55
|
+
* Get app by name
|
|
56
|
+
*/
|
|
57
|
+
getAppByName(name: string): MonitoredApp | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Get all apps
|
|
60
|
+
*/
|
|
61
|
+
getAllApps(): MonitoredApp[];
|
|
62
|
+
/**
|
|
63
|
+
* Update an app configuration
|
|
64
|
+
*/
|
|
65
|
+
updateApp(appId: string, updates: Partial<Omit<MonitoredApp, 'id' | 'createdAt'>>): MonitoredApp | undefined;
|
|
66
|
+
/**
|
|
67
|
+
* Check if a path exists
|
|
68
|
+
*/
|
|
69
|
+
private checkPathExists;
|
|
70
|
+
/**
|
|
71
|
+
* Check if a port is in use
|
|
72
|
+
*/
|
|
73
|
+
private isPortInUse;
|
|
74
|
+
/**
|
|
75
|
+
* Get process info by PID
|
|
76
|
+
*/
|
|
77
|
+
private getProcessInfo;
|
|
78
|
+
/**
|
|
79
|
+
* Make an HTTP health check request with proper cleanup to prevent memory leaks
|
|
80
|
+
*/
|
|
81
|
+
private httpHealthCheck;
|
|
82
|
+
/**
|
|
83
|
+
* Check health of a specific app
|
|
84
|
+
*/
|
|
85
|
+
checkAppHealth(appId: string): Promise<AppHealthCheckResult>;
|
|
86
|
+
/**
|
|
87
|
+
* Check health of all apps
|
|
88
|
+
*/
|
|
89
|
+
checkAllApps(): Promise<AppHealthCheckResult[]>;
|
|
90
|
+
/**
|
|
91
|
+
* Get the last check result for an app
|
|
92
|
+
*/
|
|
93
|
+
getLastCheckResult(appId: string): AppHealthCheckResult | undefined;
|
|
94
|
+
/**
|
|
95
|
+
* Get status history for an app
|
|
96
|
+
*/
|
|
97
|
+
getStatusHistory(appId: string, limit?: number): AppStatusHistoryEntry[];
|
|
98
|
+
/**
|
|
99
|
+
* Add entry to status history with global memory budget enforcement
|
|
100
|
+
*/
|
|
101
|
+
private addToHistory;
|
|
102
|
+
/**
|
|
103
|
+
* Enforce global history limit to prevent unbounded memory growth
|
|
104
|
+
* Uses LRU-style eviction: removes oldest entries from largest histories first
|
|
105
|
+
*/
|
|
106
|
+
private enforceGlobalHistoryLimit;
|
|
107
|
+
/**
|
|
108
|
+
* Start monitoring an app
|
|
109
|
+
*/
|
|
110
|
+
startMonitoring(appId: string): boolean;
|
|
111
|
+
/**
|
|
112
|
+
* Stop monitoring an app
|
|
113
|
+
*/
|
|
114
|
+
stopMonitoring(appId: string): boolean;
|
|
115
|
+
/**
|
|
116
|
+
* Enable/disable an app
|
|
117
|
+
*/
|
|
118
|
+
setAppEnabled(appId: string, enabled: boolean): boolean;
|
|
119
|
+
/**
|
|
120
|
+
* Get monitoring statistics
|
|
121
|
+
*/
|
|
122
|
+
getStats(): AppMonitorStats;
|
|
123
|
+
/**
|
|
124
|
+
* Find apps by tag
|
|
125
|
+
*/
|
|
126
|
+
findAppsByTag(tag: string): MonitoredApp[];
|
|
127
|
+
/**
|
|
128
|
+
* Find apps by status
|
|
129
|
+
*/
|
|
130
|
+
findAppsByStatus(status: AppStatus): MonitoredApp[];
|
|
131
|
+
/**
|
|
132
|
+
* Get apps that are currently offline
|
|
133
|
+
*/
|
|
134
|
+
getOfflineApps(): MonitoredApp[];
|
|
135
|
+
/**
|
|
136
|
+
* Get apps that are degraded
|
|
137
|
+
*/
|
|
138
|
+
getDegradedApps(): MonitoredApp[];
|
|
139
|
+
/**
|
|
140
|
+
* Scan /mnt/prod for potential apps (directories with package.json or similar)
|
|
141
|
+
*/
|
|
142
|
+
scanForApps(): Promise<Array<{
|
|
143
|
+
name: string;
|
|
144
|
+
path: string;
|
|
145
|
+
type: string;
|
|
146
|
+
hasPackageJson: boolean;
|
|
147
|
+
potentialPorts: number[];
|
|
148
|
+
}>>;
|
|
149
|
+
/**
|
|
150
|
+
* Get logs for an app (tail of stdout/stderr or PM2 logs)
|
|
151
|
+
*/
|
|
152
|
+
getAppLogs(appId: string, lines?: number): Promise<{
|
|
153
|
+
logs: string;
|
|
154
|
+
source: string;
|
|
155
|
+
}>;
|
|
156
|
+
/**
|
|
157
|
+
* Cleanup - stop all monitoring intervals
|
|
158
|
+
*/
|
|
159
|
+
cleanup(): void;
|
|
160
|
+
}
|
|
161
|
+
export declare const appMonitor: AppMonitor;
|
|
162
|
+
//# sourceMappingURL=AppMonitor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AppMonitor.d.ts","sourceRoot":"","sources":["../../src/engine/AppMonitor.ts"],"names":[],"mappings":"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"}
|