@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.
Files changed (151) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +446 -0
  3. package/dist/analyzers/ArchitectureDetector.d.ts +44 -0
  4. package/dist/analyzers/ArchitectureDetector.d.ts.map +1 -0
  5. package/dist/analyzers/ArchitectureDetector.js +218 -0
  6. package/dist/analyzers/ArchitectureDetector.js.map +1 -0
  7. package/dist/analyzers/CSSAnalyzer.d.ts +104 -0
  8. package/dist/analyzers/CSSAnalyzer.d.ts.map +1 -0
  9. package/dist/analyzers/CSSAnalyzer.js +578 -0
  10. package/dist/analyzers/CSSAnalyzer.js.map +1 -0
  11. package/dist/analyzers/index.d.ts +5 -0
  12. package/dist/analyzers/index.d.ts.map +1 -0
  13. package/dist/analyzers/index.js +5 -0
  14. package/dist/analyzers/index.js.map +1 -0
  15. package/dist/cli.d.ts +8 -0
  16. package/dist/cli.d.ts.map +1 -0
  17. package/dist/cli.js +174 -0
  18. package/dist/cli.js.map +1 -0
  19. package/dist/design-system/index.d.ts +6 -0
  20. package/dist/design-system/index.d.ts.map +1 -0
  21. package/dist/design-system/index.js +6 -0
  22. package/dist/design-system/index.js.map +1 -0
  23. package/dist/design-system/tokens.d.ts +106 -0
  24. package/dist/design-system/tokens.d.ts.map +1 -0
  25. package/dist/design-system/tokens.js +554 -0
  26. package/dist/design-system/tokens.js.map +1 -0
  27. package/dist/engine/AppMonitor.d.ts +162 -0
  28. package/dist/engine/AppMonitor.d.ts.map +1 -0
  29. package/dist/engine/AppMonitor.js +754 -0
  30. package/dist/engine/AppMonitor.js.map +1 -0
  31. package/dist/engine/AuditLogger.d.ts +138 -0
  32. package/dist/engine/AuditLogger.d.ts.map +1 -0
  33. package/dist/engine/AuditLogger.js +448 -0
  34. package/dist/engine/AuditLogger.js.map +1 -0
  35. package/dist/engine/GitHubApprovalManager.d.ts +106 -0
  36. package/dist/engine/GitHubApprovalManager.d.ts.map +1 -0
  37. package/dist/engine/GitHubApprovalManager.js +315 -0
  38. package/dist/engine/GitHubApprovalManager.js.map +1 -0
  39. package/dist/engine/RateLimiter.d.ts +79 -0
  40. package/dist/engine/RateLimiter.d.ts.map +1 -0
  41. package/dist/engine/RateLimiter.js +232 -0
  42. package/dist/engine/RateLimiter.js.map +1 -0
  43. package/dist/engine/RulesEngine.d.ts +77 -0
  44. package/dist/engine/RulesEngine.d.ts.map +1 -0
  45. package/dist/engine/RulesEngine.js +400 -0
  46. package/dist/engine/RulesEngine.js.map +1 -0
  47. package/dist/engine/TaskManager.d.ts +173 -0
  48. package/dist/engine/TaskManager.d.ts.map +1 -0
  49. package/dist/engine/TaskManager.js +678 -0
  50. package/dist/engine/TaskManager.js.map +1 -0
  51. package/dist/engine/index.d.ts +9 -0
  52. package/dist/engine/index.d.ts.map +1 -0
  53. package/dist/engine/index.js +9 -0
  54. package/dist/engine/index.js.map +1 -0
  55. package/dist/index.d.ts +21 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +29 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/rules/architecture.d.ts +9 -0
  60. package/dist/rules/architecture.d.ts.map +1 -0
  61. package/dist/rules/architecture.js +322 -0
  62. package/dist/rules/architecture.js.map +1 -0
  63. package/dist/rules/azure.d.ts +7 -0
  64. package/dist/rules/azure.d.ts.map +1 -0
  65. package/dist/rules/azure.js +138 -0
  66. package/dist/rules/azure.js.map +1 -0
  67. package/dist/rules/compliance.d.ts +9 -0
  68. package/dist/rules/compliance.d.ts.map +1 -0
  69. package/dist/rules/compliance.js +304 -0
  70. package/dist/rules/compliance.js.map +1 -0
  71. package/dist/rules/css.d.ts +10 -0
  72. package/dist/rules/css.d.ts.map +1 -0
  73. package/dist/rules/css.js +1239 -0
  74. package/dist/rules/css.js.map +1 -0
  75. package/dist/rules/flask.d.ts +7 -0
  76. package/dist/rules/flask.d.ts.map +1 -0
  77. package/dist/rules/flask.js +155 -0
  78. package/dist/rules/flask.js.map +1 -0
  79. package/dist/rules/index.d.ts +607 -0
  80. package/dist/rules/index.d.ts.map +1 -0
  81. package/dist/rules/index.js +401 -0
  82. package/dist/rules/index.js.map +1 -0
  83. package/dist/rules/ml-ai.d.ts +7 -0
  84. package/dist/rules/ml-ai.d.ts.map +1 -0
  85. package/dist/rules/ml-ai.js +150 -0
  86. package/dist/rules/ml-ai.js.map +1 -0
  87. package/dist/rules/operational.d.ts +9 -0
  88. package/dist/rules/operational.d.ts.map +1 -0
  89. package/dist/rules/operational.js +318 -0
  90. package/dist/rules/operational.js.map +1 -0
  91. package/dist/rules/security.d.ts +9 -0
  92. package/dist/rules/security.d.ts.map +1 -0
  93. package/dist/rules/security.js +287 -0
  94. package/dist/rules/security.js.map +1 -0
  95. package/dist/rules/storage.d.ts +7 -0
  96. package/dist/rules/storage.d.ts.map +1 -0
  97. package/dist/rules/storage.js +134 -0
  98. package/dist/rules/storage.js.map +1 -0
  99. package/dist/rules/stripe.d.ts +7 -0
  100. package/dist/rules/stripe.d.ts.map +1 -0
  101. package/dist/rules/stripe.js +140 -0
  102. package/dist/rules/stripe.js.map +1 -0
  103. package/dist/rules/testing.d.ts +7 -0
  104. package/dist/rules/testing.d.ts.map +1 -0
  105. package/dist/rules/testing.js +135 -0
  106. package/dist/rules/testing.js.map +1 -0
  107. package/dist/rules/ux.d.ts +9 -0
  108. package/dist/rules/ux.d.ts.map +1 -0
  109. package/dist/rules/ux.js +280 -0
  110. package/dist/rules/ux.js.map +1 -0
  111. package/dist/rules/websocket.d.ts +7 -0
  112. package/dist/rules/websocket.d.ts.map +1 -0
  113. package/dist/rules/websocket.js +136 -0
  114. package/dist/rules/websocket.js.map +1 -0
  115. package/dist/server.d.ts +49 -0
  116. package/dist/server.d.ts.map +1 -0
  117. package/dist/server.js +2330 -0
  118. package/dist/server.js.map +1 -0
  119. package/dist/supervisor/AgentSupervisor.d.ts +235 -0
  120. package/dist/supervisor/AgentSupervisor.d.ts.map +1 -0
  121. package/dist/supervisor/AgentSupervisor.js +596 -0
  122. package/dist/supervisor/AgentSupervisor.js.map +1 -0
  123. package/dist/supervisor/ManagedServerRegistry.d.ts +48 -0
  124. package/dist/supervisor/ManagedServerRegistry.d.ts.map +1 -0
  125. package/dist/supervisor/ManagedServerRegistry.js +145 -0
  126. package/dist/supervisor/ManagedServerRegistry.js.map +1 -0
  127. package/dist/supervisor/ProjectTracker.d.ts +188 -0
  128. package/dist/supervisor/ProjectTracker.d.ts.map +1 -0
  129. package/dist/supervisor/ProjectTracker.js +617 -0
  130. package/dist/supervisor/ProjectTracker.js.map +1 -0
  131. package/dist/supervisor/index.d.ts +6 -0
  132. package/dist/supervisor/index.d.ts.map +1 -0
  133. package/dist/supervisor/index.js +6 -0
  134. package/dist/supervisor/index.js.map +1 -0
  135. package/dist/types/index.d.ts +1176 -0
  136. package/dist/types/index.d.ts.map +1 -0
  137. package/dist/types/index.js +391 -0
  138. package/dist/types/index.js.map +1 -0
  139. package/dist/utils/errors.d.ts +86 -0
  140. package/dist/utils/errors.d.ts.map +1 -0
  141. package/dist/utils/errors.js +171 -0
  142. package/dist/utils/errors.js.map +1 -0
  143. package/dist/utils/index.d.ts +5 -0
  144. package/dist/utils/index.d.ts.map +1 -0
  145. package/dist/utils/index.js +5 -0
  146. package/dist/utils/index.js.map +1 -0
  147. package/dist/utils/shell.d.ts +22 -0
  148. package/dist/utils/shell.d.ts.map +1 -0
  149. package/dist/utils/shell.js +29 -0
  150. package/dist/utils/shell.js.map +1 -0
  151. 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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"}