buildhive-agent 1.0.0-beta.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 (170) hide show
  1. package/README.md +166 -0
  2. package/dist/__tests__/fakes/FakeDockerManager.d.ts +115 -0
  3. package/dist/__tests__/fakes/FakeDockerManager.d.ts.map +1 -0
  4. package/dist/__tests__/fakes/FakeDockerManager.js +203 -0
  5. package/dist/__tests__/fakes/FakeDockerManager.js.map +1 -0
  6. package/dist/acceptanceChecker.d.ts +26 -0
  7. package/dist/acceptanceChecker.d.ts.map +1 -0
  8. package/dist/acceptanceChecker.js +64 -0
  9. package/dist/acceptanceChecker.js.map +1 -0
  10. package/dist/advancedAgent.d.ts +161 -0
  11. package/dist/advancedAgent.d.ts.map +1 -0
  12. package/dist/advancedAgent.js +604 -0
  13. package/dist/advancedAgent.js.map +1 -0
  14. package/dist/agent.d.ts +101 -0
  15. package/dist/agent.d.ts.map +1 -0
  16. package/dist/agent.js +490 -0
  17. package/dist/agent.js.map +1 -0
  18. package/dist/api/jobStatusApi.d.ts +88 -0
  19. package/dist/api/jobStatusApi.d.ts.map +1 -0
  20. package/dist/api/jobStatusApi.js +240 -0
  21. package/dist/api/jobStatusApi.js.map +1 -0
  22. package/dist/autoUpdater.d.ts +135 -0
  23. package/dist/autoUpdater.d.ts.map +1 -0
  24. package/dist/autoUpdater.js +494 -0
  25. package/dist/autoUpdater.js.map +1 -0
  26. package/dist/cacheManager.d.ts +108 -0
  27. package/dist/cacheManager.d.ts.map +1 -0
  28. package/dist/cacheManager.js +300 -0
  29. package/dist/cacheManager.js.map +1 -0
  30. package/dist/cli.d.ts +11 -0
  31. package/dist/cli.d.ts.map +1 -0
  32. package/dist/cli.js +749 -0
  33. package/dist/cli.js.map +1 -0
  34. package/dist/config/index.d.ts +30 -0
  35. package/dist/config/index.d.ts.map +1 -0
  36. package/dist/config/index.js +35 -0
  37. package/dist/config/index.js.map +1 -0
  38. package/dist/config/loader.d.ts +45 -0
  39. package/dist/config/loader.d.ts.map +1 -0
  40. package/dist/config/loader.js +269 -0
  41. package/dist/config/loader.js.map +1 -0
  42. package/dist/config/types.d.ts +193 -0
  43. package/dist/config/types.d.ts.map +1 -0
  44. package/dist/config/types.js +90 -0
  45. package/dist/config/types.js.map +1 -0
  46. package/dist/config/validation.d.ts +28 -0
  47. package/dist/config/validation.d.ts.map +1 -0
  48. package/dist/config/validation.js +397 -0
  49. package/dist/config/validation.js.map +1 -0
  50. package/dist/docker.d.ts +96 -0
  51. package/dist/docker.d.ts.map +1 -0
  52. package/dist/docker.js +411 -0
  53. package/dist/docker.js.map +1 -0
  54. package/dist/enhancedJobExecutor.d.ts +81 -0
  55. package/dist/enhancedJobExecutor.d.ts.map +1 -0
  56. package/dist/enhancedJobExecutor.js +223 -0
  57. package/dist/enhancedJobExecutor.js.map +1 -0
  58. package/dist/executors/executorFactory.d.ts +46 -0
  59. package/dist/executors/executorFactory.d.ts.map +1 -0
  60. package/dist/executors/executorFactory.js +80 -0
  61. package/dist/executors/executorFactory.js.map +1 -0
  62. package/dist/executors/index.d.ts +7 -0
  63. package/dist/executors/index.d.ts.map +1 -0
  64. package/dist/executors/index.js +6 -0
  65. package/dist/executors/index.js.map +1 -0
  66. package/dist/executors/nativeExecutor.d.ts +60 -0
  67. package/dist/executors/nativeExecutor.d.ts.map +1 -0
  68. package/dist/executors/nativeExecutor.js +311 -0
  69. package/dist/executors/nativeExecutor.js.map +1 -0
  70. package/dist/executors/types.d.ts +38 -0
  71. package/dist/executors/types.d.ts.map +1 -0
  72. package/dist/executors/types.js +9 -0
  73. package/dist/executors/types.js.map +1 -0
  74. package/dist/healthMonitor.d.ts +213 -0
  75. package/dist/healthMonitor.d.ts.map +1 -0
  76. package/dist/healthMonitor.js +547 -0
  77. package/dist/healthMonitor.js.map +1 -0
  78. package/dist/index.d.ts +16 -0
  79. package/dist/index.d.ts.map +1 -0
  80. package/dist/index.js +16 -0
  81. package/dist/index.js.map +1 -0
  82. package/dist/jobExecutor.d.ts +117 -0
  83. package/dist/jobExecutor.d.ts.map +1 -0
  84. package/dist/jobExecutor.js +458 -0
  85. package/dist/jobExecutor.js.map +1 -0
  86. package/dist/lifecycleExecutor.d.ts +54 -0
  87. package/dist/lifecycleExecutor.d.ts.map +1 -0
  88. package/dist/lifecycleExecutor.js +230 -0
  89. package/dist/lifecycleExecutor.js.map +1 -0
  90. package/dist/main.d.ts +15 -0
  91. package/dist/main.d.ts.map +1 -0
  92. package/dist/main.js +77 -0
  93. package/dist/main.js.map +1 -0
  94. package/dist/metrics.d.ts +103 -0
  95. package/dist/metrics.d.ts.map +1 -0
  96. package/dist/metrics.js +360 -0
  97. package/dist/metrics.js.map +1 -0
  98. package/dist/recipes/builtinRecipes.d.ts +11 -0
  99. package/dist/recipes/builtinRecipes.d.ts.map +1 -0
  100. package/dist/recipes/builtinRecipes.js +688 -0
  101. package/dist/recipes/builtinRecipes.js.map +1 -0
  102. package/dist/recipes/index.d.ts +18 -0
  103. package/dist/recipes/index.d.ts.map +1 -0
  104. package/dist/recipes/index.js +17 -0
  105. package/dist/recipes/index.js.map +1 -0
  106. package/dist/recipes/recipeRegistry.d.ts +49 -0
  107. package/dist/recipes/recipeRegistry.d.ts.map +1 -0
  108. package/dist/recipes/recipeRegistry.js +264 -0
  109. package/dist/recipes/recipeRegistry.js.map +1 -0
  110. package/dist/recipes/types.d.ts +116 -0
  111. package/dist/recipes/types.d.ts.map +1 -0
  112. package/dist/recipes/types.js +10 -0
  113. package/dist/recipes/types.js.map +1 -0
  114. package/dist/recovery.d.ts +133 -0
  115. package/dist/recovery.d.ts.map +1 -0
  116. package/dist/recovery.js +299 -0
  117. package/dist/recovery.js.map +1 -0
  118. package/dist/registration/apiClient.d.ts +44 -0
  119. package/dist/registration/apiClient.d.ts.map +1 -0
  120. package/dist/registration/apiClient.js +149 -0
  121. package/dist/registration/apiClient.js.map +1 -0
  122. package/dist/registration/index.d.ts +41 -0
  123. package/dist/registration/index.d.ts.map +1 -0
  124. package/dist/registration/index.js +141 -0
  125. package/dist/registration/index.js.map +1 -0
  126. package/dist/registration/machineId.d.ts +30 -0
  127. package/dist/registration/machineId.d.ts.map +1 -0
  128. package/dist/registration/machineId.js +89 -0
  129. package/dist/registration/machineId.js.map +1 -0
  130. package/dist/registration/types.d.ts +32 -0
  131. package/dist/registration/types.d.ts.map +1 -0
  132. package/dist/registration/types.js +9 -0
  133. package/dist/registration/types.js.map +1 -0
  134. package/dist/resourceGovernor.d.ts +57 -0
  135. package/dist/resourceGovernor.d.ts.map +1 -0
  136. package/dist/resourceGovernor.js +125 -0
  137. package/dist/resourceGovernor.js.map +1 -0
  138. package/dist/security/secretManager.d.ts +107 -0
  139. package/dist/security/secretManager.d.ts.map +1 -0
  140. package/dist/security/secretManager.js +361 -0
  141. package/dist/security/secretManager.js.map +1 -0
  142. package/dist/security.d.ts +134 -0
  143. package/dist/security.d.ts.map +1 -0
  144. package/dist/security.js +470 -0
  145. package/dist/security.js.map +1 -0
  146. package/dist/storage/artifactUploader.d.ts +155 -0
  147. package/dist/storage/artifactUploader.d.ts.map +1 -0
  148. package/dist/storage/artifactUploader.js +554 -0
  149. package/dist/storage/artifactUploader.js.map +1 -0
  150. package/dist/types.d.ts +49 -0
  151. package/dist/types.d.ts.map +1 -0
  152. package/dist/types.js +7 -0
  153. package/dist/types.js.map +1 -0
  154. package/dist/utils/capabilities.d.ts +23 -0
  155. package/dist/utils/capabilities.d.ts.map +1 -0
  156. package/dist/utils/capabilities.js +200 -0
  157. package/dist/utils/capabilities.js.map +1 -0
  158. package/dist/utils/logger.d.ts +20 -0
  159. package/dist/utils/logger.d.ts.map +1 -0
  160. package/dist/utils/logger.js +188 -0
  161. package/dist/utils/logger.js.map +1 -0
  162. package/dist/utils/sdkScanner.d.ts +105 -0
  163. package/dist/utils/sdkScanner.d.ts.map +1 -0
  164. package/dist/utils/sdkScanner.js +459 -0
  165. package/dist/utils/sdkScanner.js.map +1 -0
  166. package/dist/websocketClient.d.ts +154 -0
  167. package/dist/websocketClient.d.ts.map +1 -0
  168. package/dist/websocketClient.js +422 -0
  169. package/dist/websocketClient.js.map +1 -0
  170. package/package.json +64 -0
@@ -0,0 +1,161 @@
1
+ /**
2
+ * Advanced BuildHive Agent - Enhanced Agent Implementation
3
+ *
4
+ * Enhanced agent class with advanced features including:
5
+ * - Auto-update capabilities
6
+ * - Configuration hot-reloading
7
+ * - Advanced health checks
8
+ * - Performance optimization
9
+ *
10
+ * Requirements: 6.1
11
+ */
12
+ import { EventEmitter } from 'events';
13
+ import { BuildHiveAgent, JobResult } from './agent.js';
14
+ import { AgentConfig } from './config/types.js';
15
+ import { JobSubmissionRequest } from './types.js';
16
+ export interface HealthCheckResult {
17
+ status: 'healthy' | 'warning' | 'critical';
18
+ checks: {
19
+ [key: string]: {
20
+ status: 'pass' | 'warn' | 'fail';
21
+ message: string;
22
+ value?: number;
23
+ threshold?: number;
24
+ };
25
+ };
26
+ timestamp: Date;
27
+ overallScore: number;
28
+ }
29
+ export interface UpdateInfo {
30
+ currentVersion: string;
31
+ latestVersion: string;
32
+ updateAvailable: boolean;
33
+ releaseNotes?: string;
34
+ downloadUrl?: string;
35
+ critical?: boolean;
36
+ }
37
+ export interface PerformanceMetrics {
38
+ jobThroughput: number;
39
+ averageJobDuration: number;
40
+ resourceEfficiency: number;
41
+ errorRate: number;
42
+ uptime: number;
43
+ memoryLeakDetection: boolean;
44
+ cpuOptimization: number;
45
+ }
46
+ export declare class AdvancedBuildHiveAgent extends EventEmitter {
47
+ private baseAgent;
48
+ private config;
49
+ private configWatcher;
50
+ private configFileHash;
51
+ private healthCheckInterval;
52
+ private updateCheckInterval;
53
+ private performanceTracker;
54
+ private isUpdating;
55
+ private lastHealthCheck;
56
+ private jobHistory;
57
+ constructor(config: AgentConfig);
58
+ /**
59
+ * Start the advanced agent
60
+ */
61
+ start(): Promise<void>;
62
+ /**
63
+ * Stop the advanced agent
64
+ */
65
+ stop(): Promise<void>;
66
+ /**
67
+ * Execute a job with performance tracking
68
+ */
69
+ executeJob(job: JobSubmissionRequest): Promise<JobResult>;
70
+ /**
71
+ * Get comprehensive agent status including advanced metrics
72
+ */
73
+ getAdvancedStatus(): {
74
+ basic: ReturnType<BuildHiveAgent['getStatus']>;
75
+ health: HealthCheckResult | null;
76
+ performance: PerformanceMetrics;
77
+ updateInfo: UpdateInfo | null;
78
+ configStatus: {
79
+ lastReload: Date | null;
80
+ watcherActive: boolean;
81
+ configFile: string | null;
82
+ };
83
+ };
84
+ /**
85
+ * Perform manual health check
86
+ */
87
+ performHealthCheck(): Promise<HealthCheckResult>;
88
+ /**
89
+ * Trigger manual configuration reload
90
+ */
91
+ reloadConfiguration(): Promise<void>;
92
+ /**
93
+ * Check for and apply updates
94
+ */
95
+ checkForUpdates(): Promise<UpdateInfo>;
96
+ /**
97
+ * Setup advanced features
98
+ */
99
+ private setupAdvancedFeatures;
100
+ /**
101
+ * Start configuration file watcher for hot-reloading
102
+ */
103
+ private startConfigWatcher;
104
+ /**
105
+ * Start periodic health checks
106
+ */
107
+ private startHealthChecks;
108
+ /**
109
+ * Start update checker
110
+ */
111
+ private startUpdateChecker;
112
+ /**
113
+ * Start performance optimization
114
+ */
115
+ private startPerformanceOptimization;
116
+ /**
117
+ * Handle configuration file changes
118
+ */
119
+ private handleConfigFileChange;
120
+ /**
121
+ * Apply configuration changes
122
+ */
123
+ private applyConfigurationChanges;
124
+ /**
125
+ * Get system metrics
126
+ */
127
+ private getSystemMetrics;
128
+ /**
129
+ * Check Docker health
130
+ */
131
+ private checkDockerHealth;
132
+ /**
133
+ * Calculate file hash for change detection
134
+ */
135
+ private calculateFileHash;
136
+ /**
137
+ * Get current agent version
138
+ */
139
+ private getCurrentVersion;
140
+ /**
141
+ * Get latest available version
142
+ */
143
+ private getLatestVersion;
144
+ /**
145
+ * Compare version strings
146
+ */
147
+ private compareVersions;
148
+ /**
149
+ * Perform agent update
150
+ */
151
+ private performUpdate;
152
+ /**
153
+ * Optimize performance settings
154
+ */
155
+ private optimizePerformance;
156
+ /**
157
+ * Clean up resources
158
+ */
159
+ private cleanup;
160
+ }
161
+ //# sourceMappingURL=advancedAgent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"advancedAgent.d.ts","sourceRoot":"","sources":["../src/advancedAgent.ts"],"names":[],"mappings":"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"}