@superdangerous/app-framework 4.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (239) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +652 -0
  3. package/dist/api/logsRouter.d.ts +20 -0
  4. package/dist/api/logsRouter.d.ts.map +1 -0
  5. package/dist/api/logsRouter.js +515 -0
  6. package/dist/api/logsRouter.js.map +1 -0
  7. package/dist/cli/dev-server.d.ts +7 -0
  8. package/dist/cli/dev-server.d.ts.map +1 -0
  9. package/dist/cli/dev-server.js +640 -0
  10. package/dist/cli/dev-server.js.map +1 -0
  11. package/dist/cli/index.d.ts +7 -0
  12. package/dist/cli/index.d.ts.map +1 -0
  13. package/dist/cli/index.js +26 -0
  14. package/dist/cli/index.js.map +1 -0
  15. package/dist/core/StandardServer.d.ts +129 -0
  16. package/dist/core/StandardServer.d.ts.map +1 -0
  17. package/dist/core/StandardServer.js +453 -0
  18. package/dist/core/StandardServer.js.map +1 -0
  19. package/dist/core/apiResponse.d.ts +69 -0
  20. package/dist/core/apiResponse.d.ts.map +1 -0
  21. package/dist/core/apiResponse.js +127 -0
  22. package/dist/core/apiResponse.js.map +1 -0
  23. package/dist/core/healthCheck.d.ts +160 -0
  24. package/dist/core/healthCheck.d.ts.map +1 -0
  25. package/dist/core/healthCheck.js +398 -0
  26. package/dist/core/healthCheck.js.map +1 -0
  27. package/dist/core/index.d.ts +40 -0
  28. package/dist/core/index.d.ts.map +1 -0
  29. package/dist/core/index.js +40 -0
  30. package/dist/core/index.js.map +1 -0
  31. package/dist/core/logger.d.ts +117 -0
  32. package/dist/core/logger.d.ts.map +1 -0
  33. package/dist/core/logger.js +826 -0
  34. package/dist/core/logger.js.map +1 -0
  35. package/dist/core/portUtils.d.ts +71 -0
  36. package/dist/core/portUtils.d.ts.map +1 -0
  37. package/dist/core/portUtils.js +240 -0
  38. package/dist/core/portUtils.js.map +1 -0
  39. package/dist/core/storageService.d.ts +119 -0
  40. package/dist/core/storageService.d.ts.map +1 -0
  41. package/dist/core/storageService.js +405 -0
  42. package/dist/core/storageService.js.map +1 -0
  43. package/dist/desktop/bundler.d.ts +40 -0
  44. package/dist/desktop/bundler.d.ts.map +1 -0
  45. package/dist/desktop/bundler.js +176 -0
  46. package/dist/desktop/bundler.js.map +1 -0
  47. package/dist/desktop/index.d.ts +25 -0
  48. package/dist/desktop/index.d.ts.map +1 -0
  49. package/dist/desktop/index.js +15 -0
  50. package/dist/desktop/index.js.map +1 -0
  51. package/dist/desktop/native-modules.d.ts +66 -0
  52. package/dist/desktop/native-modules.d.ts.map +1 -0
  53. package/dist/desktop/native-modules.js +200 -0
  54. package/dist/desktop/native-modules.js.map +1 -0
  55. package/dist/index.d.ts +29 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +39 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/logging/LogCategories.d.ts +87 -0
  60. package/dist/logging/LogCategories.d.ts.map +1 -0
  61. package/dist/logging/LogCategories.js +205 -0
  62. package/dist/logging/LogCategories.js.map +1 -0
  63. package/dist/middleware/aiErrorHandler.d.ts +31 -0
  64. package/dist/middleware/aiErrorHandler.d.ts.map +1 -0
  65. package/dist/middleware/aiErrorHandler.js +181 -0
  66. package/dist/middleware/aiErrorHandler.js.map +1 -0
  67. package/dist/middleware/auth.d.ts +101 -0
  68. package/dist/middleware/auth.d.ts.map +1 -0
  69. package/dist/middleware/auth.js +230 -0
  70. package/dist/middleware/auth.js.map +1 -0
  71. package/dist/middleware/cors.d.ts +56 -0
  72. package/dist/middleware/cors.d.ts.map +1 -0
  73. package/dist/middleware/cors.js +123 -0
  74. package/dist/middleware/cors.js.map +1 -0
  75. package/dist/middleware/errorHandler.d.ts +13 -0
  76. package/dist/middleware/errorHandler.d.ts.map +1 -0
  77. package/dist/middleware/errorHandler.js +85 -0
  78. package/dist/middleware/errorHandler.js.map +1 -0
  79. package/dist/middleware/fileUpload.d.ts +62 -0
  80. package/dist/middleware/fileUpload.d.ts.map +1 -0
  81. package/dist/middleware/fileUpload.js +175 -0
  82. package/dist/middleware/fileUpload.js.map +1 -0
  83. package/dist/middleware/health.d.ts +48 -0
  84. package/dist/middleware/health.d.ts.map +1 -0
  85. package/dist/middleware/health.js +143 -0
  86. package/dist/middleware/health.js.map +1 -0
  87. package/dist/middleware/index.d.ts +20 -0
  88. package/dist/middleware/index.d.ts.map +1 -0
  89. package/dist/middleware/index.js +18 -0
  90. package/dist/middleware/index.js.map +1 -0
  91. package/dist/middleware/openapi.d.ts +64 -0
  92. package/dist/middleware/openapi.d.ts.map +1 -0
  93. package/dist/middleware/openapi.js +258 -0
  94. package/dist/middleware/openapi.js.map +1 -0
  95. package/dist/middleware/requestLogging.d.ts +22 -0
  96. package/dist/middleware/requestLogging.d.ts.map +1 -0
  97. package/dist/middleware/requestLogging.js +61 -0
  98. package/dist/middleware/requestLogging.js.map +1 -0
  99. package/dist/middleware/session.d.ts +84 -0
  100. package/dist/middleware/session.d.ts.map +1 -0
  101. package/dist/middleware/session.js +189 -0
  102. package/dist/middleware/session.js.map +1 -0
  103. package/dist/middleware/validation.d.ts +1337 -0
  104. package/dist/middleware/validation.d.ts.map +1 -0
  105. package/dist/middleware/validation.js +483 -0
  106. package/dist/middleware/validation.js.map +1 -0
  107. package/dist/services/aiService.d.ts +180 -0
  108. package/dist/services/aiService.d.ts.map +1 -0
  109. package/dist/services/aiService.js +547 -0
  110. package/dist/services/aiService.js.map +1 -0
  111. package/dist/services/conversationStorage.d.ts +38 -0
  112. package/dist/services/conversationStorage.d.ts.map +1 -0
  113. package/dist/services/conversationStorage.js +158 -0
  114. package/dist/services/conversationStorage.js.map +1 -0
  115. package/dist/services/crossPlatformBuffer.d.ts +84 -0
  116. package/dist/services/crossPlatformBuffer.d.ts.map +1 -0
  117. package/dist/services/crossPlatformBuffer.js +246 -0
  118. package/dist/services/crossPlatformBuffer.js.map +1 -0
  119. package/dist/services/index.d.ts +17 -0
  120. package/dist/services/index.d.ts.map +1 -0
  121. package/dist/services/index.js +18 -0
  122. package/dist/services/index.js.map +1 -0
  123. package/dist/services/networkService.d.ts +81 -0
  124. package/dist/services/networkService.d.ts.map +1 -0
  125. package/dist/services/networkService.js +268 -0
  126. package/dist/services/networkService.js.map +1 -0
  127. package/dist/services/queueService.d.ts +112 -0
  128. package/dist/services/queueService.d.ts.map +1 -0
  129. package/dist/services/queueService.js +338 -0
  130. package/dist/services/queueService.js.map +1 -0
  131. package/dist/services/settingsService.d.ts +135 -0
  132. package/dist/services/settingsService.d.ts.map +1 -0
  133. package/dist/services/settingsService.js +425 -0
  134. package/dist/services/settingsService.js.map +1 -0
  135. package/dist/services/systemMonitor.d.ts +208 -0
  136. package/dist/services/systemMonitor.d.ts.map +1 -0
  137. package/dist/services/systemMonitor.js +693 -0
  138. package/dist/services/systemMonitor.js.map +1 -0
  139. package/dist/services/updateService.d.ts +78 -0
  140. package/dist/services/updateService.d.ts.map +1 -0
  141. package/dist/services/updateService.js +252 -0
  142. package/dist/services/updateService.js.map +1 -0
  143. package/dist/services/websocketEvents.d.ts +372 -0
  144. package/dist/services/websocketEvents.d.ts.map +1 -0
  145. package/dist/services/websocketEvents.js +338 -0
  146. package/dist/services/websocketEvents.js.map +1 -0
  147. package/dist/services/websocketServer.d.ts +80 -0
  148. package/dist/services/websocketServer.d.ts.map +1 -0
  149. package/dist/services/websocketServer.js +299 -0
  150. package/dist/services/websocketServer.js.map +1 -0
  151. package/dist/settings/SettingsSchema.d.ts +151 -0
  152. package/dist/settings/SettingsSchema.d.ts.map +1 -0
  153. package/dist/settings/SettingsSchema.js +424 -0
  154. package/dist/settings/SettingsSchema.js.map +1 -0
  155. package/dist/testing/TestServer.d.ts +69 -0
  156. package/dist/testing/TestServer.d.ts.map +1 -0
  157. package/dist/testing/TestServer.js +250 -0
  158. package/dist/testing/TestServer.js.map +1 -0
  159. package/dist/types/index.d.ts +137 -0
  160. package/dist/types/index.d.ts.map +1 -0
  161. package/dist/types/index.js +5 -0
  162. package/dist/types/index.js.map +1 -0
  163. package/dist/utils/appPaths.d.ts +74 -0
  164. package/dist/utils/appPaths.d.ts.map +1 -0
  165. package/dist/utils/appPaths.js +162 -0
  166. package/dist/utils/appPaths.js.map +1 -0
  167. package/dist/utils/fs-utils.d.ts +50 -0
  168. package/dist/utils/fs-utils.d.ts.map +1 -0
  169. package/dist/utils/fs-utils.js +114 -0
  170. package/dist/utils/fs-utils.js.map +1 -0
  171. package/dist/utils/index.d.ts +12 -0
  172. package/dist/utils/index.d.ts.map +1 -0
  173. package/dist/utils/index.js +10 -0
  174. package/dist/utils/index.js.map +1 -0
  175. package/dist/utils/standardConfig.d.ts +61 -0
  176. package/dist/utils/standardConfig.d.ts.map +1 -0
  177. package/dist/utils/standardConfig.js +109 -0
  178. package/dist/utils/standardConfig.js.map +1 -0
  179. package/dist/utils/startupBanner.d.ts +34 -0
  180. package/dist/utils/startupBanner.d.ts.map +1 -0
  181. package/dist/utils/startupBanner.js +169 -0
  182. package/dist/utils/startupBanner.js.map +1 -0
  183. package/dist/utils/startupLogger.d.ts +45 -0
  184. package/dist/utils/startupLogger.d.ts.map +1 -0
  185. package/dist/utils/startupLogger.js +200 -0
  186. package/dist/utils/startupLogger.js.map +1 -0
  187. package/package.json +151 -0
  188. package/src/api/logsRouter.ts +600 -0
  189. package/src/cli/dev-server.ts +803 -0
  190. package/src/cli/index.ts +31 -0
  191. package/src/core/StandardServer.ts +587 -0
  192. package/src/core/apiResponse.ts +202 -0
  193. package/src/core/healthCheck.ts +565 -0
  194. package/src/core/index.ts +80 -0
  195. package/src/core/logger.ts +1092 -0
  196. package/src/core/portUtils.ts +319 -0
  197. package/src/core/storageService.ts +595 -0
  198. package/src/desktop/bundler.ts +271 -0
  199. package/src/desktop/index.ts +18 -0
  200. package/src/desktop/native-modules.ts +289 -0
  201. package/src/index.ts +142 -0
  202. package/src/logging/LogCategories.ts +302 -0
  203. package/src/middleware/aiErrorHandler.ts +278 -0
  204. package/src/middleware/auth.ts +329 -0
  205. package/src/middleware/cors.ts +187 -0
  206. package/src/middleware/errorHandler.ts +103 -0
  207. package/src/middleware/fileUpload.ts +252 -0
  208. package/src/middleware/health.ts +206 -0
  209. package/src/middleware/index.ts +71 -0
  210. package/src/middleware/openapi.ts +305 -0
  211. package/src/middleware/requestLogging.ts +92 -0
  212. package/src/middleware/session.ts +238 -0
  213. package/src/middleware/validation.ts +603 -0
  214. package/src/services/aiService.ts +789 -0
  215. package/src/services/conversationStorage.ts +232 -0
  216. package/src/services/crossPlatformBuffer.ts +341 -0
  217. package/src/services/index.ts +47 -0
  218. package/src/services/networkService.ts +351 -0
  219. package/src/services/queueService.ts +446 -0
  220. package/src/services/settingsService.ts +549 -0
  221. package/src/services/systemMonitor.ts +936 -0
  222. package/src/services/updateService.ts +334 -0
  223. package/src/services/websocketEvents.ts +409 -0
  224. package/src/services/websocketServer.ts +394 -0
  225. package/src/settings/SettingsSchema.ts +664 -0
  226. package/src/testing/TestServer.ts +312 -0
  227. package/src/types/index.ts +154 -0
  228. package/src/utils/appPaths.ts +196 -0
  229. package/src/utils/fs-utils.ts +130 -0
  230. package/src/utils/index.ts +15 -0
  231. package/src/utils/standardConfig.ts +178 -0
  232. package/src/utils/startupBanner.ts +287 -0
  233. package/src/utils/startupLogger.ts +268 -0
  234. package/ui/dist/index.d.mts +1221 -0
  235. package/ui/dist/index.d.ts +1221 -0
  236. package/ui/dist/index.js +73 -0
  237. package/ui/dist/index.js.map +1 -0
  238. package/ui/dist/index.mjs +73 -0
  239. package/ui/dist/index.mjs.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiResponse.js","sourceRoot":"","sources":["../../src/core/apiResponse.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,160 @@
1
+ /**
2
+ * Health Check Service
3
+ * Provides real-time system health monitoring without intervention
4
+ * Data is informational only - no automatic service stops based on metrics
5
+ */
6
+ import { Router } from "express";
7
+ export interface SystemHealth {
8
+ status: "healthy" | "degraded" | "unhealthy";
9
+ timestamp: string;
10
+ uptime: number;
11
+ environment: string;
12
+ version: string;
13
+ pid: number;
14
+ platform: string;
15
+ nodeVersion: string;
16
+ }
17
+ export interface SystemMetrics {
18
+ cpu: {
19
+ usage: number;
20
+ count: number;
21
+ model: string;
22
+ speed: number;
23
+ loadAverage: number[];
24
+ };
25
+ memory: {
26
+ total: number;
27
+ used: number;
28
+ free: number;
29
+ percentage: number;
30
+ };
31
+ disk: {
32
+ total: number;
33
+ used: number;
34
+ free: number;
35
+ percentage: number;
36
+ path: string;
37
+ };
38
+ network: {
39
+ interfaces: NetworkInterface[];
40
+ };
41
+ process: {
42
+ pid: number;
43
+ memory: NodeJS.MemoryUsage;
44
+ cpuUsage: NodeJS.CpuUsage;
45
+ uptime: number;
46
+ };
47
+ }
48
+ export interface NetworkInterface {
49
+ name: string;
50
+ address: string;
51
+ family: string;
52
+ internal: boolean;
53
+ }
54
+ export interface HealthCheckOptions {
55
+ includeCpu?: boolean;
56
+ includeMemory?: boolean;
57
+ includeDisk?: boolean;
58
+ includeNetwork?: boolean;
59
+ includeProcess?: boolean;
60
+ diskPath?: string;
61
+ customChecks?: CustomHealthCheck[];
62
+ }
63
+ export interface CustomHealthCheck {
64
+ name: string;
65
+ check: () => Promise<HealthCheckResult>;
66
+ }
67
+ export interface HealthCheckResult {
68
+ name: string;
69
+ status: "healthy" | "degraded" | "unhealthy";
70
+ message?: string;
71
+ data?: any;
72
+ }
73
+ export interface DependencyHealth {
74
+ name: string;
75
+ status: "connected" | "disconnected" | "error";
76
+ responseTime?: number;
77
+ error?: string;
78
+ }
79
+ declare class HealthCheckService {
80
+ private static instance;
81
+ private cpuUsageHistory;
82
+ private memoryUsageHistory;
83
+ private lastCpuInfo;
84
+ private metricsInterval?;
85
+ private historySize;
86
+ private constructor();
87
+ static getInstance(): HealthCheckService;
88
+ /**
89
+ * Get basic system health status
90
+ */
91
+ getHealth(appVersion?: string): Promise<SystemHealth>;
92
+ /**
93
+ * Get detailed system metrics
94
+ */
95
+ getMetrics(options?: HealthCheckOptions): Promise<SystemMetrics>;
96
+ /**
97
+ * Get CPU metrics with real usage calculation
98
+ */
99
+ private getCpuMetrics;
100
+ /**
101
+ * Calculate real CPU usage percentage
102
+ */
103
+ private calculateCpuUsage;
104
+ /**
105
+ * Get memory metrics
106
+ */
107
+ private getMemoryMetrics;
108
+ /**
109
+ * Get disk metrics for specified path
110
+ */
111
+ private getDiskMetrics;
112
+ /**
113
+ * Get network interface information
114
+ */
115
+ private getNetworkMetrics;
116
+ /**
117
+ * Get current process metrics
118
+ */
119
+ private getProcessMetrics;
120
+ /**
121
+ * Check dependency health (database, Redis, external APIs, etc.)
122
+ */
123
+ checkDependencies(dependencies: {
124
+ name: string;
125
+ check: () => Promise<boolean>;
126
+ }[]): Promise<DependencyHealth[]>;
127
+ /**
128
+ * Run custom health checks
129
+ */
130
+ runCustomChecks(checks: CustomHealthCheck[]): Promise<HealthCheckResult[]>;
131
+ /**
132
+ * Get metrics history for graphs
133
+ */
134
+ getMetricsHistory(): {
135
+ cpu: number[];
136
+ memory: number[];
137
+ };
138
+ /**
139
+ * Start collecting metrics periodically for history
140
+ */
141
+ private startMetricsCollection;
142
+ /**
143
+ * Stop metrics collection (for cleanup)
144
+ */
145
+ stopMetricsCollection(): void;
146
+ }
147
+ /**
148
+ * Create health check router for Express apps
149
+ */
150
+ export declare function createHealthCheckRouter(options?: {
151
+ version?: string;
152
+ customChecks?: CustomHealthCheck[];
153
+ dependencies?: Array<{
154
+ name: string;
155
+ check: () => Promise<boolean>;
156
+ }>;
157
+ }): Router;
158
+ export declare function getHealthCheckService(): HealthCheckService;
159
+ export type { HealthCheckService };
160
+ //# sourceMappingURL=healthCheck.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"healthCheck.d.ts","sourceRoot":"","sources":["../../src/core/healthCheck.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,398 @@
1
+ /**
2
+ * Health Check Service
3
+ * Provides real-time system health monitoring without intervention
4
+ * Data is informational only - no automatic service stops based on metrics
5
+ */
6
+ import os from "os";
7
+ import { exec } from "child_process";
8
+ import { promisify } from "util";
9
+ import { Router } from "express";
10
+ const execAsync = promisify(exec);
11
+ class HealthCheckService {
12
+ static instance;
13
+ cpuUsageHistory = [];
14
+ memoryUsageHistory = [];
15
+ lastCpuInfo;
16
+ metricsInterval;
17
+ historySize = 60; // Keep last 60 data points
18
+ constructor() {
19
+ this.startMetricsCollection();
20
+ }
21
+ static getInstance() {
22
+ if (!HealthCheckService.instance) {
23
+ HealthCheckService.instance = new HealthCheckService();
24
+ }
25
+ return HealthCheckService.instance;
26
+ }
27
+ /**
28
+ * Get basic system health status
29
+ */
30
+ async getHealth(appVersion) {
31
+ // Health status is 'healthy' by default - system metrics are informational only
32
+ // Actual health is determined by custom checks (database, websocket, etc.)
33
+ const status = "healthy";
34
+ return {
35
+ status,
36
+ timestamp: new Date().toISOString(),
37
+ uptime: process.uptime(),
38
+ environment: process.env.NODE_ENV || "development",
39
+ version: appVersion || process.env.npm_package_version || "unknown",
40
+ pid: process.pid,
41
+ platform: process.platform,
42
+ nodeVersion: process.version,
43
+ };
44
+ }
45
+ /**
46
+ * Get detailed system metrics
47
+ */
48
+ async getMetrics(options = {}) {
49
+ const { includeCpu = true, includeMemory = true, includeDisk = true, includeNetwork = true, includeProcess = true, diskPath = process.cwd(), } = options;
50
+ const metrics = {};
51
+ if (includeCpu) {
52
+ metrics.cpu = await this.getCpuMetrics();
53
+ }
54
+ if (includeMemory) {
55
+ metrics.memory = this.getMemoryMetrics();
56
+ }
57
+ if (includeDisk) {
58
+ metrics.disk = await this.getDiskMetrics(diskPath);
59
+ }
60
+ if (includeNetwork) {
61
+ metrics.network = this.getNetworkMetrics();
62
+ }
63
+ if (includeProcess) {
64
+ metrics.process = this.getProcessMetrics();
65
+ }
66
+ return metrics;
67
+ }
68
+ /**
69
+ * Get CPU metrics with real usage calculation
70
+ */
71
+ async getCpuMetrics() {
72
+ const cpus = os.cpus();
73
+ const cpuModel = cpus[0]?.model || "Unknown";
74
+ const cpuSpeed = cpus[0]?.speed || 0;
75
+ const cpuCount = cpus.length;
76
+ const loadAverage = os.loadavg();
77
+ // Calculate CPU usage percentage
78
+ const cpuUsage = await this.calculateCpuUsage();
79
+ return {
80
+ usage: cpuUsage,
81
+ count: cpuCount,
82
+ model: cpuModel,
83
+ speed: cpuSpeed,
84
+ loadAverage,
85
+ };
86
+ }
87
+ /**
88
+ * Calculate real CPU usage percentage
89
+ */
90
+ async calculateCpuUsage() {
91
+ const cpus = os.cpus();
92
+ // Calculate total and idle times
93
+ let totalIdle = 0;
94
+ let totalTick = 0;
95
+ cpus.forEach((cpu) => {
96
+ for (const type in cpu.times) {
97
+ totalTick += cpu.times[type];
98
+ }
99
+ totalIdle += cpu.times.idle;
100
+ });
101
+ const idle = totalIdle / cpus.length;
102
+ const total = totalTick / cpus.length;
103
+ // If we have previous measurements, calculate the difference
104
+ if (this.lastCpuInfo) {
105
+ const idleDiff = idle - this.lastCpuInfo.idle;
106
+ const totalDiff = total - this.lastCpuInfo.total;
107
+ const usage = 100 - (100 * idleDiff) / totalDiff;
108
+ this.lastCpuInfo = { idle, total };
109
+ return Math.min(100, Math.max(0, usage));
110
+ }
111
+ // First measurement - store for next time
112
+ this.lastCpuInfo = { idle, total };
113
+ // Fallback: use load average as approximation
114
+ const loadAvg = os.loadavg()[0]; // 1-minute load average
115
+ const approximateUsage = (loadAvg / cpus.length) * 100;
116
+ return Math.min(100, Math.max(0, approximateUsage));
117
+ }
118
+ /**
119
+ * Get memory metrics
120
+ */
121
+ getMemoryMetrics() {
122
+ const totalMemory = os.totalmem();
123
+ const freeMemory = os.freemem();
124
+ const usedMemory = totalMemory - freeMemory;
125
+ const memoryPercentage = (usedMemory / totalMemory) * 100;
126
+ return {
127
+ total: totalMemory,
128
+ used: usedMemory,
129
+ free: freeMemory,
130
+ percentage: parseFloat(memoryPercentage.toFixed(2)),
131
+ };
132
+ }
133
+ /**
134
+ * Get disk metrics for specified path
135
+ */
136
+ async getDiskMetrics(diskPath) {
137
+ try {
138
+ // Platform-specific disk usage check
139
+ if (process.platform === "win32") {
140
+ // Windows: use wmic command
141
+ const { stdout } = await execAsync("wmic logicaldisk get size,freespace,caption");
142
+ const lines = stdout.split("\n").filter((line) => line.trim());
143
+ // Parse the output (this is simplified - may need adjustment)
144
+ const total = parseInt(lines[1]?.split(/\s+/)[2] || "0");
145
+ const free = parseInt(lines[1]?.split(/\s+/)[1] || "0");
146
+ const used = total - free;
147
+ return {
148
+ total,
149
+ used,
150
+ free,
151
+ percentage: total > 0 ? parseFloat(((used / total) * 100).toFixed(2)) : 0,
152
+ path: diskPath,
153
+ };
154
+ }
155
+ else {
156
+ // Unix-like systems: use df command
157
+ const { stdout } = await execAsync(`df -k "${diskPath}" | tail -1`);
158
+ const parts = stdout.trim().split(/\s+/);
159
+ // df output: filesystem 1K-blocks used available use% mounted
160
+ const total = parseInt(parts[1] || "0") * 1024;
161
+ const used = parseInt(parts[2] || "0") * 1024;
162
+ const available = parseInt(parts[3] || "0") * 1024;
163
+ const percentage = parseInt(parts[4]?.replace("%", "") || "0");
164
+ return {
165
+ total,
166
+ used,
167
+ free: available,
168
+ percentage,
169
+ path: diskPath,
170
+ };
171
+ }
172
+ }
173
+ catch (_error) {
174
+ console.error("Failed to get disk metrics:", _error);
175
+ // Return zeros if we can't get disk stats
176
+ return {
177
+ total: 0,
178
+ used: 0,
179
+ free: 0,
180
+ percentage: 0,
181
+ path: diskPath,
182
+ };
183
+ }
184
+ }
185
+ /**
186
+ * Get network interface information
187
+ */
188
+ getNetworkMetrics() {
189
+ const networkInterfaces = os.networkInterfaces();
190
+ const interfaces = [];
191
+ for (const [name, nets] of Object.entries(networkInterfaces)) {
192
+ if (nets) {
193
+ for (const net of nets) {
194
+ interfaces.push({
195
+ name,
196
+ address: net.address,
197
+ family: net.family,
198
+ internal: net.internal,
199
+ });
200
+ }
201
+ }
202
+ }
203
+ return { interfaces };
204
+ }
205
+ /**
206
+ * Get current process metrics
207
+ */
208
+ getProcessMetrics() {
209
+ return {
210
+ pid: process.pid,
211
+ memory: process.memoryUsage(),
212
+ cpuUsage: process.cpuUsage(),
213
+ uptime: process.uptime(),
214
+ };
215
+ }
216
+ /**
217
+ * Check dependency health (database, Redis, external APIs, etc.)
218
+ */
219
+ async checkDependencies(dependencies) {
220
+ const results = [];
221
+ for (const dep of dependencies) {
222
+ const startTime = Date.now();
223
+ try {
224
+ const isHealthy = await dep.check();
225
+ results.push({
226
+ name: dep.name,
227
+ status: isHealthy ? "connected" : "disconnected",
228
+ responseTime: Date.now() - startTime,
229
+ });
230
+ }
231
+ catch (_error) {
232
+ results.push({
233
+ name: dep.name,
234
+ status: "error",
235
+ responseTime: Date.now() - startTime,
236
+ error: _error instanceof Error ? _error.message : "Unknown error",
237
+ });
238
+ }
239
+ }
240
+ return results;
241
+ }
242
+ /**
243
+ * Run custom health checks
244
+ */
245
+ async runCustomChecks(checks) {
246
+ const results = [];
247
+ for (const check of checks) {
248
+ try {
249
+ const result = await check.check();
250
+ results.push(result);
251
+ }
252
+ catch (_error) {
253
+ results.push({
254
+ name: check.name,
255
+ status: "unhealthy",
256
+ message: _error instanceof Error ? _error.message : "Check failed",
257
+ });
258
+ }
259
+ }
260
+ return results;
261
+ }
262
+ /**
263
+ * Get metrics history for graphs
264
+ */
265
+ getMetricsHistory() {
266
+ return {
267
+ cpu: [...this.cpuUsageHistory],
268
+ memory: [...this.memoryUsageHistory],
269
+ };
270
+ }
271
+ /**
272
+ * Start collecting metrics periodically for history
273
+ */
274
+ startMetricsCollection() {
275
+ // Collect metrics every 5 seconds
276
+ this.metricsInterval = setInterval(async () => {
277
+ try {
278
+ const metrics = await this.getMetrics();
279
+ // Add to history
280
+ this.cpuUsageHistory.push(metrics.cpu.usage);
281
+ this.memoryUsageHistory.push(metrics.memory.percentage);
282
+ // Keep only last N data points
283
+ if (this.cpuUsageHistory.length > this.historySize) {
284
+ this.cpuUsageHistory.shift();
285
+ }
286
+ if (this.memoryUsageHistory.length > this.historySize) {
287
+ this.memoryUsageHistory.shift();
288
+ }
289
+ }
290
+ catch (_error) {
291
+ console.error("Failed to collect metrics:", _error);
292
+ }
293
+ }, 5000);
294
+ }
295
+ /**
296
+ * Stop metrics collection (for cleanup)
297
+ */
298
+ stopMetricsCollection() {
299
+ if (this.metricsInterval) {
300
+ clearInterval(this.metricsInterval);
301
+ this.metricsInterval = undefined;
302
+ }
303
+ }
304
+ }
305
+ /**
306
+ * Create health check router for Express apps
307
+ */
308
+ export function createHealthCheckRouter(options) {
309
+ const router = Router();
310
+ const healthService = HealthCheckService.getInstance();
311
+ // Basic health endpoint
312
+ router.get("/health", async (_req, res) => {
313
+ try {
314
+ const health = await healthService.getHealth(options?.version);
315
+ // Run custom checks if provided
316
+ if (options?.customChecks && options.customChecks.length > 0) {
317
+ const customResults = await Promise.all(options.customChecks.map((check) => check.check()));
318
+ // Add custom check results to health object
319
+ health.checks = customResults;
320
+ // Update overall status based ONLY on custom checks
321
+ const hasUnhealthy = customResults.some((r) => r.status === "unhealthy");
322
+ const hasDegraded = customResults.some((r) => r.status === "degraded");
323
+ if (hasUnhealthy) {
324
+ health.status = "unhealthy";
325
+ }
326
+ else if (hasDegraded) {
327
+ health.status = "degraded";
328
+ }
329
+ // Otherwise keep default 'healthy' status
330
+ }
331
+ const statusCode = health.status === "healthy"
332
+ ? 200
333
+ : health.status === "degraded"
334
+ ? 200
335
+ : 503;
336
+ res.status(statusCode).json(health);
337
+ }
338
+ catch (_error) {
339
+ res.status(503).json({
340
+ status: "unhealthy",
341
+ error: "Failed to get health status",
342
+ });
343
+ }
344
+ });
345
+ // Detailed metrics endpoint
346
+ router.get("/metrics", async (_req, res) => {
347
+ try {
348
+ const metrics = await healthService.getMetrics();
349
+ res.json(metrics);
350
+ }
351
+ catch (_error) {
352
+ res.status(500).json({
353
+ error: "Failed to get metrics",
354
+ });
355
+ }
356
+ });
357
+ // Metrics history for graphs
358
+ router.get("/metrics/history", (_req, res) => {
359
+ const history = healthService.getMetricsHistory();
360
+ res.json(history);
361
+ });
362
+ // Dependency health checks
363
+ if (options?.dependencies) {
364
+ router.get("/health/dependencies", async (_req, res) => {
365
+ try {
366
+ const results = await healthService.checkDependencies(options.dependencies);
367
+ const allHealthy = results.every((r) => r.status === "connected");
368
+ res.status(allHealthy ? 200 : 503).json(results);
369
+ }
370
+ catch (_error) {
371
+ res.status(500).json({
372
+ error: "Failed to check dependencies",
373
+ });
374
+ }
375
+ });
376
+ }
377
+ // Custom health checks
378
+ if (options?.customChecks) {
379
+ router.get("/health/custom", async (_req, res) => {
380
+ try {
381
+ const results = await healthService.runCustomChecks(options.customChecks);
382
+ const allHealthy = results.every((r) => r.status === "healthy");
383
+ res.status(allHealthy ? 200 : 503).json(results);
384
+ }
385
+ catch (_error) {
386
+ res.status(500).json({
387
+ error: "Failed to run custom checks",
388
+ });
389
+ }
390
+ });
391
+ }
392
+ return router;
393
+ }
394
+ // Export singleton instance getter
395
+ export function getHealthCheckService() {
396
+ return HealthCheckService.getInstance();
397
+ }
398
+ //# sourceMappingURL=healthCheck.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"healthCheck.js","sourceRoot":"","sources":["../../src/core/healthCheck.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Core Framework Components
3
+ *
4
+ * These are generic, reusable components that could be extracted
5
+ * into a separate npm package for use in other applications.
6
+ */
7
+ export declare const FRAMEWORK_VERSION = "4.4.0";
8
+ export { StandardServer, createStandardServer } from "./StandardServer.js";
9
+ export type { StandardServerConfig } from "./StandardServer.js";
10
+ export { clearPort, isPortAvailable, getPortInfo, getProcessOnPort, findAvailablePort, checkRequiredPorts, formatPortStatus, waitForPort, getPortsInUse, type ProcessInfo, type PortStatus, type PortClearResult, type PortStatusResult, } from "./portUtils.js";
11
+ export { getLogger, default as Logger, createLogger as createLoggerBase, } from "./logger.js";
12
+ /**
13
+ * Create a logger instance with automatic file output
14
+ * @param name - The name/category for this logger
15
+ * @returns A logger instance that writes to console and files
16
+ */
17
+ export declare function createLogger(name: string): any;
18
+ export interface Logger {
19
+ info: (...args: any[]) => void;
20
+ error: (...args: any[]) => void;
21
+ warn: (...args: any[]) => void;
22
+ debug: (...args: any[]) => void;
23
+ }
24
+ export type LogLevel = "debug" | "info" | "warn" | "error";
25
+ export { getStorageService, StorageService, getSecureFileHandler, SecureFileHandler, } from "./storageService.js";
26
+ /**
27
+ * Usage Example:
28
+ *
29
+ * import { StandardServer, createLogger } from '@/core';
30
+ *
31
+ * const logger = createLogger('MyApp');
32
+ * const server = new StandardServer({
33
+ * appName: 'MyApp',
34
+ * appVersion: '1.0.0',
35
+ * port: 8080
36
+ * });
37
+ * await server.initialize();
38
+ * await server.start();
39
+ */
40
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,eAAO,MAAM,iBAAiB,UAAU,CAAC;AAGzC,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EACL,SAAS,EACT,eAAe,EACf,WAAW,EACX,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,KAAK,WAAW,EAChB,KAAK,UAAU,EACf,KAAK,eAAe,EACpB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC;AAGxB,OAAO,EACL,SAAS,EACT,OAAO,IAAI,MAAM,EACjB,YAAY,IAAI,gBAAgB,GACjC,MAAM,aAAa,CAAC;AAIrB;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,OAGxC;AAGD,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAChC,IAAI,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;IAC/B,KAAK,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,MAAM,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;AAG3D,OAAO,EACL,iBAAiB,EACjB,cAAc,EACd,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B;;;;;;;;;;;;;GAaG"}
@@ -0,0 +1,40 @@
1
+ /**
2
+ * Core Framework Components
3
+ *
4
+ * These are generic, reusable components that could be extracted
5
+ * into a separate npm package for use in other applications.
6
+ */
7
+ // Framework version
8
+ export const FRAMEWORK_VERSION = "4.4.0";
9
+ // Process Management
10
+ export { StandardServer, createStandardServer } from "./StandardServer.js";
11
+ export { clearPort, isPortAvailable, getPortInfo, getProcessOnPort, findAvailablePort, checkRequiredPorts, formatPortStatus, waitForPort, getPortsInUse, } from "./portUtils.js";
12
+ // Logging - Consolidated logger implementation
13
+ export { getLogger, default as Logger, createLogger as createLoggerBase, } from "./logger.js";
14
+ import { createLogger as createLoggerImport } from "./logger.js";
15
+ /**
16
+ * Create a logger instance with automatic file output
17
+ * @param name - The name/category for this logger
18
+ * @returns A logger instance that writes to console and files
19
+ */
20
+ export function createLogger(name) {
21
+ // Use the createLogger function from logger
22
+ return createLoggerImport(name);
23
+ }
24
+ // Security
25
+ export { getStorageService, StorageService, getSecureFileHandler, SecureFileHandler, } from "./storageService.js";
26
+ /**
27
+ * Usage Example:
28
+ *
29
+ * import { StandardServer, createLogger } from '@/core';
30
+ *
31
+ * const logger = createLogger('MyApp');
32
+ * const server = new StandardServer({
33
+ * appName: 'MyApp',
34
+ * appVersion: '1.0.0',
35
+ * port: 8080
36
+ * });
37
+ * await server.initialize();
38
+ * await server.start();
39
+ */
40
+ //# sourceMappingURL=index.js.map