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.
- package/README.md +166 -0
- package/dist/__tests__/fakes/FakeDockerManager.d.ts +115 -0
- package/dist/__tests__/fakes/FakeDockerManager.d.ts.map +1 -0
- package/dist/__tests__/fakes/FakeDockerManager.js +203 -0
- package/dist/__tests__/fakes/FakeDockerManager.js.map +1 -0
- package/dist/acceptanceChecker.d.ts +26 -0
- package/dist/acceptanceChecker.d.ts.map +1 -0
- package/dist/acceptanceChecker.js +64 -0
- package/dist/acceptanceChecker.js.map +1 -0
- package/dist/advancedAgent.d.ts +161 -0
- package/dist/advancedAgent.d.ts.map +1 -0
- package/dist/advancedAgent.js +604 -0
- package/dist/advancedAgent.js.map +1 -0
- package/dist/agent.d.ts +101 -0
- package/dist/agent.d.ts.map +1 -0
- package/dist/agent.js +490 -0
- package/dist/agent.js.map +1 -0
- package/dist/api/jobStatusApi.d.ts +88 -0
- package/dist/api/jobStatusApi.d.ts.map +1 -0
- package/dist/api/jobStatusApi.js +240 -0
- package/dist/api/jobStatusApi.js.map +1 -0
- package/dist/autoUpdater.d.ts +135 -0
- package/dist/autoUpdater.d.ts.map +1 -0
- package/dist/autoUpdater.js +494 -0
- package/dist/autoUpdater.js.map +1 -0
- package/dist/cacheManager.d.ts +108 -0
- package/dist/cacheManager.d.ts.map +1 -0
- package/dist/cacheManager.js +300 -0
- package/dist/cacheManager.js.map +1 -0
- package/dist/cli.d.ts +11 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +749 -0
- package/dist/cli.js.map +1 -0
- package/dist/config/index.d.ts +30 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +35 -0
- package/dist/config/index.js.map +1 -0
- package/dist/config/loader.d.ts +45 -0
- package/dist/config/loader.d.ts.map +1 -0
- package/dist/config/loader.js +269 -0
- package/dist/config/loader.js.map +1 -0
- package/dist/config/types.d.ts +193 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +90 -0
- package/dist/config/types.js.map +1 -0
- package/dist/config/validation.d.ts +28 -0
- package/dist/config/validation.d.ts.map +1 -0
- package/dist/config/validation.js +397 -0
- package/dist/config/validation.js.map +1 -0
- package/dist/docker.d.ts +96 -0
- package/dist/docker.d.ts.map +1 -0
- package/dist/docker.js +411 -0
- package/dist/docker.js.map +1 -0
- package/dist/enhancedJobExecutor.d.ts +81 -0
- package/dist/enhancedJobExecutor.d.ts.map +1 -0
- package/dist/enhancedJobExecutor.js +223 -0
- package/dist/enhancedJobExecutor.js.map +1 -0
- package/dist/executors/executorFactory.d.ts +46 -0
- package/dist/executors/executorFactory.d.ts.map +1 -0
- package/dist/executors/executorFactory.js +80 -0
- package/dist/executors/executorFactory.js.map +1 -0
- package/dist/executors/index.d.ts +7 -0
- package/dist/executors/index.d.ts.map +1 -0
- package/dist/executors/index.js +6 -0
- package/dist/executors/index.js.map +1 -0
- package/dist/executors/nativeExecutor.d.ts +60 -0
- package/dist/executors/nativeExecutor.d.ts.map +1 -0
- package/dist/executors/nativeExecutor.js +311 -0
- package/dist/executors/nativeExecutor.js.map +1 -0
- package/dist/executors/types.d.ts +38 -0
- package/dist/executors/types.d.ts.map +1 -0
- package/dist/executors/types.js +9 -0
- package/dist/executors/types.js.map +1 -0
- package/dist/healthMonitor.d.ts +213 -0
- package/dist/healthMonitor.d.ts.map +1 -0
- package/dist/healthMonitor.js +547 -0
- package/dist/healthMonitor.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +16 -0
- package/dist/index.js.map +1 -0
- package/dist/jobExecutor.d.ts +117 -0
- package/dist/jobExecutor.d.ts.map +1 -0
- package/dist/jobExecutor.js +458 -0
- package/dist/jobExecutor.js.map +1 -0
- package/dist/lifecycleExecutor.d.ts +54 -0
- package/dist/lifecycleExecutor.d.ts.map +1 -0
- package/dist/lifecycleExecutor.js +230 -0
- package/dist/lifecycleExecutor.js.map +1 -0
- package/dist/main.d.ts +15 -0
- package/dist/main.d.ts.map +1 -0
- package/dist/main.js +77 -0
- package/dist/main.js.map +1 -0
- package/dist/metrics.d.ts +103 -0
- package/dist/metrics.d.ts.map +1 -0
- package/dist/metrics.js +360 -0
- package/dist/metrics.js.map +1 -0
- package/dist/recipes/builtinRecipes.d.ts +11 -0
- package/dist/recipes/builtinRecipes.d.ts.map +1 -0
- package/dist/recipes/builtinRecipes.js +688 -0
- package/dist/recipes/builtinRecipes.js.map +1 -0
- package/dist/recipes/index.d.ts +18 -0
- package/dist/recipes/index.d.ts.map +1 -0
- package/dist/recipes/index.js +17 -0
- package/dist/recipes/index.js.map +1 -0
- package/dist/recipes/recipeRegistry.d.ts +49 -0
- package/dist/recipes/recipeRegistry.d.ts.map +1 -0
- package/dist/recipes/recipeRegistry.js +264 -0
- package/dist/recipes/recipeRegistry.js.map +1 -0
- package/dist/recipes/types.d.ts +116 -0
- package/dist/recipes/types.d.ts.map +1 -0
- package/dist/recipes/types.js +10 -0
- package/dist/recipes/types.js.map +1 -0
- package/dist/recovery.d.ts +133 -0
- package/dist/recovery.d.ts.map +1 -0
- package/dist/recovery.js +299 -0
- package/dist/recovery.js.map +1 -0
- package/dist/registration/apiClient.d.ts +44 -0
- package/dist/registration/apiClient.d.ts.map +1 -0
- package/dist/registration/apiClient.js +149 -0
- package/dist/registration/apiClient.js.map +1 -0
- package/dist/registration/index.d.ts +41 -0
- package/dist/registration/index.d.ts.map +1 -0
- package/dist/registration/index.js +141 -0
- package/dist/registration/index.js.map +1 -0
- package/dist/registration/machineId.d.ts +30 -0
- package/dist/registration/machineId.d.ts.map +1 -0
- package/dist/registration/machineId.js +89 -0
- package/dist/registration/machineId.js.map +1 -0
- package/dist/registration/types.d.ts +32 -0
- package/dist/registration/types.d.ts.map +1 -0
- package/dist/registration/types.js +9 -0
- package/dist/registration/types.js.map +1 -0
- package/dist/resourceGovernor.d.ts +57 -0
- package/dist/resourceGovernor.d.ts.map +1 -0
- package/dist/resourceGovernor.js +125 -0
- package/dist/resourceGovernor.js.map +1 -0
- package/dist/security/secretManager.d.ts +107 -0
- package/dist/security/secretManager.d.ts.map +1 -0
- package/dist/security/secretManager.js +361 -0
- package/dist/security/secretManager.js.map +1 -0
- package/dist/security.d.ts +134 -0
- package/dist/security.d.ts.map +1 -0
- package/dist/security.js +470 -0
- package/dist/security.js.map +1 -0
- package/dist/storage/artifactUploader.d.ts +155 -0
- package/dist/storage/artifactUploader.d.ts.map +1 -0
- package/dist/storage/artifactUploader.js +554 -0
- package/dist/storage/artifactUploader.js.map +1 -0
- package/dist/types.d.ts +49 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +7 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/capabilities.d.ts +23 -0
- package/dist/utils/capabilities.d.ts.map +1 -0
- package/dist/utils/capabilities.js +200 -0
- package/dist/utils/capabilities.js.map +1 -0
- package/dist/utils/logger.d.ts +20 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +188 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/sdkScanner.d.ts +105 -0
- package/dist/utils/sdkScanner.d.ts.map +1 -0
- package/dist/utils/sdkScanner.js +459 -0
- package/dist/utils/sdkScanner.js.map +1 -0
- package/dist/websocketClient.d.ts +154 -0
- package/dist/websocketClient.d.ts.map +1 -0
- package/dist/websocketClient.js +422 -0
- package/dist/websocketClient.js.map +1 -0
- 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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"}
|