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,300 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Cache Manager - Build cache volume mount system
|
|
3
|
+
*
|
|
4
|
+
* Manages persistent build caches across job executions.
|
|
5
|
+
* Supports LRU, FIFO, and LFU eviction strategies.
|
|
6
|
+
* Generates Docker volume mount arguments for cache directories.
|
|
7
|
+
*
|
|
8
|
+
* Requirements: Build caching for CI cost reduction
|
|
9
|
+
*/
|
|
10
|
+
import { promises as fs } from 'fs';
|
|
11
|
+
import { join } from 'path';
|
|
12
|
+
import { homedir } from 'os';
|
|
13
|
+
// ---------------------------------------------------------------------------
|
|
14
|
+
// CacheManager
|
|
15
|
+
// ---------------------------------------------------------------------------
|
|
16
|
+
export class CacheManager {
|
|
17
|
+
cacheDir;
|
|
18
|
+
maxSizeBytes;
|
|
19
|
+
strategy;
|
|
20
|
+
entries = new Map();
|
|
21
|
+
totalHits = 0;
|
|
22
|
+
totalMisses = 0;
|
|
23
|
+
preConfiguredVolumes;
|
|
24
|
+
constructor(config) {
|
|
25
|
+
this.cacheDir = config.directory || join(homedir(), '.buildhive', 'cache');
|
|
26
|
+
this.maxSizeBytes = config.maxSizeGB * 1024 * 1024 * 1024;
|
|
27
|
+
this.strategy = config.strategy;
|
|
28
|
+
this.preConfiguredVolumes = config.volumes ?? {};
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Initialize cache directory and load metadata
|
|
32
|
+
*/
|
|
33
|
+
async initialize() {
|
|
34
|
+
await fs.mkdir(this.cacheDir, { recursive: true });
|
|
35
|
+
await this.loadMetadata();
|
|
36
|
+
// Register pre-configured volumes as cache entries if not already present
|
|
37
|
+
for (const [name, hostPath] of Object.entries(this.preConfiguredVolumes)) {
|
|
38
|
+
if (!this.entries.has(name)) {
|
|
39
|
+
await fs.mkdir(hostPath, { recursive: true });
|
|
40
|
+
this.entries.set(name, {
|
|
41
|
+
name,
|
|
42
|
+
hostPath,
|
|
43
|
+
sizeBytes: 0,
|
|
44
|
+
lastUsed: new Date(),
|
|
45
|
+
hitCount: 0,
|
|
46
|
+
createdAt: new Date(),
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
await this.saveMetadata();
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get or create a named cache volume. Returns the host path.
|
|
54
|
+
* If the cache doesn't exist, creates the directory.
|
|
55
|
+
* Records a cache hit or miss.
|
|
56
|
+
*/
|
|
57
|
+
async getCache(name) {
|
|
58
|
+
const existing = this.entries.get(name);
|
|
59
|
+
if (existing) {
|
|
60
|
+
this.totalHits++;
|
|
61
|
+
existing.hitCount++;
|
|
62
|
+
existing.lastUsed = new Date();
|
|
63
|
+
await this.saveMetadata();
|
|
64
|
+
return existing.hostPath;
|
|
65
|
+
}
|
|
66
|
+
// Cache miss
|
|
67
|
+
this.totalMisses++;
|
|
68
|
+
const hostPath = join(this.cacheDir, name);
|
|
69
|
+
await fs.mkdir(hostPath, { recursive: true });
|
|
70
|
+
const entry = {
|
|
71
|
+
name,
|
|
72
|
+
hostPath,
|
|
73
|
+
sizeBytes: 0,
|
|
74
|
+
lastUsed: new Date(),
|
|
75
|
+
hitCount: 0,
|
|
76
|
+
createdAt: new Date(),
|
|
77
|
+
};
|
|
78
|
+
this.entries.set(name, entry);
|
|
79
|
+
await this.saveMetadata();
|
|
80
|
+
return hostPath;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Generate Docker volume mount args from recipe cache config.
|
|
84
|
+
* Maps recipe cache paths to host cache directories.
|
|
85
|
+
*/
|
|
86
|
+
generateVolumeMounts(recipeCacheConfig) {
|
|
87
|
+
const mounts = [];
|
|
88
|
+
for (const containerPath of recipeCacheConfig.paths) {
|
|
89
|
+
// Derive a cache name from the path: e.g. ~/.gradle/caches -> gradle-caches
|
|
90
|
+
const cacheName = this.pathToCacheName(containerPath);
|
|
91
|
+
const hostPath = join(this.cacheDir, cacheName);
|
|
92
|
+
mounts.push({
|
|
93
|
+
hostPath,
|
|
94
|
+
containerPath,
|
|
95
|
+
readOnly: false,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
return mounts;
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Convert volume mounts to Docker -v arguments
|
|
102
|
+
*/
|
|
103
|
+
toDockerArgs(mounts) {
|
|
104
|
+
const args = [];
|
|
105
|
+
for (const mount of mounts) {
|
|
106
|
+
const mountStr = mount.readOnly
|
|
107
|
+
? `${mount.hostPath}:${mount.containerPath}:ro`
|
|
108
|
+
: `${mount.hostPath}:${mount.containerPath}`;
|
|
109
|
+
args.push('-v', mountStr);
|
|
110
|
+
}
|
|
111
|
+
return args;
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Evict caches based on strategy until under maxSize.
|
|
115
|
+
* Returns names of evicted entries.
|
|
116
|
+
*/
|
|
117
|
+
async evict() {
|
|
118
|
+
const evicted = [];
|
|
119
|
+
let totalSize = this.getTotalSize();
|
|
120
|
+
while (totalSize > this.maxSizeBytes && this.entries.size > 0) {
|
|
121
|
+
const victim = this.selectVictim();
|
|
122
|
+
if (!victim)
|
|
123
|
+
break;
|
|
124
|
+
// Remove directory
|
|
125
|
+
try {
|
|
126
|
+
await fs.rm(victim.hostPath, { recursive: true, force: true });
|
|
127
|
+
}
|
|
128
|
+
catch {
|
|
129
|
+
// Directory may already be gone
|
|
130
|
+
}
|
|
131
|
+
totalSize -= victim.sizeBytes;
|
|
132
|
+
this.entries.delete(victim.name);
|
|
133
|
+
evicted.push(victim.name);
|
|
134
|
+
}
|
|
135
|
+
if (evicted.length > 0) {
|
|
136
|
+
await this.saveMetadata();
|
|
137
|
+
}
|
|
138
|
+
return evicted;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Get cache statistics
|
|
142
|
+
*/
|
|
143
|
+
getStats() {
|
|
144
|
+
const totalRequests = this.totalHits + this.totalMisses;
|
|
145
|
+
return {
|
|
146
|
+
totalEntries: this.entries.size,
|
|
147
|
+
totalSizeBytes: this.getTotalSize(),
|
|
148
|
+
maxSizeBytes: this.maxSizeBytes,
|
|
149
|
+
hitRate: totalRequests > 0 ? this.totalHits / totalRequests : 0,
|
|
150
|
+
totalHits: this.totalHits,
|
|
151
|
+
totalMisses: this.totalMisses,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Clear all caches
|
|
156
|
+
*/
|
|
157
|
+
async clear() {
|
|
158
|
+
for (const entry of this.entries.values()) {
|
|
159
|
+
try {
|
|
160
|
+
await fs.rm(entry.hostPath, { recursive: true, force: true });
|
|
161
|
+
}
|
|
162
|
+
catch {
|
|
163
|
+
// Ignore cleanup errors
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
this.entries.clear();
|
|
167
|
+
this.totalHits = 0;
|
|
168
|
+
this.totalMisses = 0;
|
|
169
|
+
await this.saveMetadata();
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Save cache metadata to disk
|
|
173
|
+
*/
|
|
174
|
+
async saveMetadata() {
|
|
175
|
+
const metadataPath = join(this.cacheDir, '.metadata.json');
|
|
176
|
+
const serialized = {
|
|
177
|
+
entries: Array.from(this.entries.values()).map((e) => ({
|
|
178
|
+
name: e.name,
|
|
179
|
+
hostPath: e.hostPath,
|
|
180
|
+
sizeBytes: e.sizeBytes,
|
|
181
|
+
lastUsed: e.lastUsed.toISOString(),
|
|
182
|
+
hitCount: e.hitCount,
|
|
183
|
+
createdAt: e.createdAt.toISOString(),
|
|
184
|
+
})),
|
|
185
|
+
totalHits: this.totalHits,
|
|
186
|
+
totalMisses: this.totalMisses,
|
|
187
|
+
};
|
|
188
|
+
await fs.writeFile(metadataPath, JSON.stringify(serialized, null, 2), 'utf-8');
|
|
189
|
+
}
|
|
190
|
+
/**
|
|
191
|
+
* Load cache metadata from disk
|
|
192
|
+
*/
|
|
193
|
+
async loadMetadata() {
|
|
194
|
+
const metadataPath = join(this.cacheDir, '.metadata.json');
|
|
195
|
+
try {
|
|
196
|
+
const raw = await fs.readFile(metadataPath, 'utf-8');
|
|
197
|
+
const data = JSON.parse(raw);
|
|
198
|
+
this.entries.clear();
|
|
199
|
+
for (const e of data.entries) {
|
|
200
|
+
this.entries.set(e.name, {
|
|
201
|
+
name: e.name,
|
|
202
|
+
hostPath: e.hostPath,
|
|
203
|
+
sizeBytes: e.sizeBytes,
|
|
204
|
+
lastUsed: new Date(e.lastUsed),
|
|
205
|
+
hitCount: e.hitCount,
|
|
206
|
+
createdAt: new Date(e.createdAt),
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
this.totalHits = data.totalHits ?? 0;
|
|
210
|
+
this.totalMisses = data.totalMisses ?? 0;
|
|
211
|
+
}
|
|
212
|
+
catch {
|
|
213
|
+
// No metadata file yet — start fresh
|
|
214
|
+
this.entries.clear();
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Update the recorded size of a cache entry by scanning its directory.
|
|
219
|
+
*/
|
|
220
|
+
async updateEntrySize(name) {
|
|
221
|
+
const entry = this.entries.get(name);
|
|
222
|
+
if (!entry)
|
|
223
|
+
return;
|
|
224
|
+
entry.sizeBytes = await this.getDirectorySize(entry.hostPath);
|
|
225
|
+
await this.saveMetadata();
|
|
226
|
+
}
|
|
227
|
+
// ---------------------------------------------------------------------------
|
|
228
|
+
// Private helpers
|
|
229
|
+
// ---------------------------------------------------------------------------
|
|
230
|
+
/**
|
|
231
|
+
* Get total size of a directory in bytes
|
|
232
|
+
*/
|
|
233
|
+
async getDirectorySize(dirPath) {
|
|
234
|
+
let total = 0;
|
|
235
|
+
try {
|
|
236
|
+
const items = await fs.readdir(dirPath, { withFileTypes: true });
|
|
237
|
+
for (const item of items) {
|
|
238
|
+
const fullPath = join(dirPath, item.name);
|
|
239
|
+
if (item.isDirectory()) {
|
|
240
|
+
total += await this.getDirectorySize(fullPath);
|
|
241
|
+
}
|
|
242
|
+
else {
|
|
243
|
+
const stat = await fs.stat(fullPath);
|
|
244
|
+
total += stat.size;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
catch {
|
|
249
|
+
// Directory may not exist or be inaccessible
|
|
250
|
+
}
|
|
251
|
+
return total;
|
|
252
|
+
}
|
|
253
|
+
getTotalSize() {
|
|
254
|
+
let total = 0;
|
|
255
|
+
for (const entry of this.entries.values()) {
|
|
256
|
+
total += entry.sizeBytes;
|
|
257
|
+
}
|
|
258
|
+
return total;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* Select the next entry to evict based on the configured strategy.
|
|
262
|
+
*/
|
|
263
|
+
selectVictim() {
|
|
264
|
+
if (this.entries.size === 0)
|
|
265
|
+
return undefined;
|
|
266
|
+
const entries = Array.from(this.entries.values());
|
|
267
|
+
switch (this.strategy) {
|
|
268
|
+
case 'lru':
|
|
269
|
+
// Least recently used — oldest lastUsed
|
|
270
|
+
return entries.reduce((oldest, e) => e.lastUsed < oldest.lastUsed ? e : oldest);
|
|
271
|
+
case 'fifo':
|
|
272
|
+
// First in, first out — oldest createdAt
|
|
273
|
+
return entries.reduce((oldest, e) => e.createdAt < oldest.createdAt ? e : oldest);
|
|
274
|
+
case 'lfu':
|
|
275
|
+
// Least frequently used — lowest hitCount
|
|
276
|
+
return entries.reduce((least, e) => e.hitCount < least.hitCount ? e : least);
|
|
277
|
+
default:
|
|
278
|
+
return entries[0];
|
|
279
|
+
}
|
|
280
|
+
}
|
|
281
|
+
/**
|
|
282
|
+
* Convert a filesystem path to a cache name.
|
|
283
|
+
* e.g. "~/.gradle/caches" -> "gradle-caches"
|
|
284
|
+
* "/root/.gradle/caches" -> "gradle-caches"
|
|
285
|
+
*/
|
|
286
|
+
pathToCacheName(fsPath) {
|
|
287
|
+
// Expand ~ and remove leading dots/slashes
|
|
288
|
+
const normalized = fsPath
|
|
289
|
+
.replace(/^~\//, '')
|
|
290
|
+
.replace(/^\/+/, '');
|
|
291
|
+
// Replace path separators and dots with hyphens, collapse multiple
|
|
292
|
+
return normalized
|
|
293
|
+
.replace(/[\/\\]+/g, '-')
|
|
294
|
+
.replace(/^\.+/, '')
|
|
295
|
+
.replace(/\.+/g, '-')
|
|
296
|
+
.replace(/-+/g, '-')
|
|
297
|
+
.replace(/(^-|-$)/g, '');
|
|
298
|
+
}
|
|
299
|
+
}
|
|
300
|
+
//# sourceMappingURL=cacheManager.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cacheManager.js","sourceRoot":"","sources":["../src/cacheManager.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* BuildHive Agent CLI
|
|
4
|
+
*
|
|
5
|
+
* Command-line interface for managing the BuildHive agent.
|
|
6
|
+
* Provides commands for registration, starting/stopping the agent, and status checks.
|
|
7
|
+
*
|
|
8
|
+
* Requirements: MVP.4.1.1, MVP.4.1.2, MVP.4.3.3
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;GAOG"}
|