@monodog/ci-status 1.0.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.
package/dist/index.js ADDED
@@ -0,0 +1,634 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ var __generator = (this && this.__generator) || function (thisArg, body) {
12
+ var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g = Object.create((typeof Iterator === "function" ? Iterator : Object).prototype);
13
+ return g.next = verb(0), g["throw"] = verb(1), g["return"] = verb(2), typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
14
+ function verb(n) { return function (v) { return step([n, v]); }; }
15
+ function step(op) {
16
+ if (f) throw new TypeError("Generator is already executing.");
17
+ while (g && (g = 0, op[0] && (_ = 0)), _) try {
18
+ if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
19
+ if (y = 0, t) op = [op[0] & 2, t.value];
20
+ switch (op[0]) {
21
+ case 0: case 1: t = op; break;
22
+ case 4: _.label++; return { value: op[1], done: false };
23
+ case 5: _.label++; y = op[1]; op = [0]; continue;
24
+ case 7: op = _.ops.pop(); _.trys.pop(); continue;
25
+ default:
26
+ if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
27
+ if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
28
+ if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
29
+ if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
30
+ if (t[2]) _.ops.pop();
31
+ _.trys.pop(); continue;
32
+ }
33
+ op = body.call(thisArg, _);
34
+ } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
35
+ if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
36
+ }
37
+ };
38
+ var __values = (this && this.__values) || function(o) {
39
+ var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
40
+ if (m) return m.call(o);
41
+ if (o && typeof o.length === "number") return {
42
+ next: function () {
43
+ if (o && i >= o.length) o = void 0;
44
+ return { value: o && o[i++], done: !o };
45
+ }
46
+ };
47
+ throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
48
+ };
49
+ var __read = (this && this.__read) || function (o, n) {
50
+ var m = typeof Symbol === "function" && o[Symbol.iterator];
51
+ if (!m) return o;
52
+ var i = m.call(o), r, ar = [], e;
53
+ try {
54
+ while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
55
+ }
56
+ catch (error) { e = { error: error }; }
57
+ finally {
58
+ try {
59
+ if (r && !r.done && (m = i["return"])) m.call(i);
60
+ }
61
+ finally { if (e) throw e.error; }
62
+ }
63
+ return ar;
64
+ };
65
+ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
66
+ if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
67
+ if (ar || !(i in from)) {
68
+ if (!ar) ar = Array.prototype.slice.call(from, 0, i);
69
+ ar[i] = from[i];
70
+ }
71
+ }
72
+ return to.concat(ar || Array.prototype.slice.call(from));
73
+ };
74
+ Object.defineProperty(exports, "__esModule", { value: true });
75
+ exports.ciStatusManager = exports.CIStatusManager = void 0;
76
+ exports.getPackageCIStatus = getPackageCIStatus;
77
+ exports.getMonorepoCIStatus = getMonorepoCIStatus;
78
+ exports.triggerPackageBuild = triggerPackageBuild;
79
+ var CIStatusManager = /** @class */ (function () {
80
+ function CIStatusManager() {
81
+ this.providers = new Map();
82
+ this.cache = new Map();
83
+ this.cacheExpiry = 2 * 60 * 1000; // 2 minutes
84
+ this.initializeDefaultProviders();
85
+ }
86
+ /**
87
+ * Initialize default CI providers
88
+ */
89
+ CIStatusManager.prototype.initializeDefaultProviders = function () {
90
+ // GitHub Actions
91
+ this.addProvider({
92
+ name: 'GitHub Actions',
93
+ type: 'github',
94
+ baseUrl: 'https://api.github.com',
95
+ });
96
+ // GitLab CI
97
+ this.addProvider({
98
+ name: 'GitLab CI',
99
+ type: 'gitlab',
100
+ baseUrl: 'https://gitlab.com/api/v4',
101
+ });
102
+ // CircleCI
103
+ this.addProvider({
104
+ name: 'CircleCI',
105
+ type: 'circleci',
106
+ baseUrl: 'https://circleci.com/api/v2',
107
+ });
108
+ };
109
+ /**
110
+ * Add a CI provider
111
+ */
112
+ CIStatusManager.prototype.addProvider = function (provider) {
113
+ this.providers.set(provider.name, provider);
114
+ };
115
+ /**
116
+ * Remove a CI provider
117
+ */
118
+ CIStatusManager.prototype.removeProvider = function (name) {
119
+ this.providers.delete(name);
120
+ };
121
+ /**
122
+ * Get all registered providers
123
+ */
124
+ CIStatusManager.prototype.getProviders = function () {
125
+ return Array.from(this.providers.values());
126
+ };
127
+ /**
128
+ * Fetch CI status for a specific package
129
+ */
130
+ CIStatusManager.prototype.getPackageStatus = function (packageName, providerName) {
131
+ return __awaiter(this, void 0, void 0, function () {
132
+ var cacheKey, cached, builds, provider, _a, _b, provider, providerBuilds, e_1_1, lastBuild, buildHistory, successRate, averageDuration, isHealthy, issues, status_1, error_1;
133
+ var e_1, _c;
134
+ return __generator(this, function (_d) {
135
+ switch (_d.label) {
136
+ case 0:
137
+ cacheKey = "package-status-".concat(packageName, "-").concat(providerName || 'all');
138
+ cached = this.getFromCache(cacheKey);
139
+ if (cached) {
140
+ return [2 /*return*/, cached];
141
+ }
142
+ _d.label = 1;
143
+ case 1:
144
+ _d.trys.push([1, 12, , 13]);
145
+ builds = [];
146
+ if (!providerName) return [3 /*break*/, 4];
147
+ provider = this.providers.get(providerName);
148
+ if (!provider) return [3 /*break*/, 3];
149
+ return [4 /*yield*/, this.fetchBuildsFromProvider(provider, packageName)];
150
+ case 2:
151
+ builds = _d.sent();
152
+ _d.label = 3;
153
+ case 3: return [3 /*break*/, 11];
154
+ case 4:
155
+ _d.trys.push([4, 9, 10, 11]);
156
+ _a = __values(this.providers.values()), _b = _a.next();
157
+ _d.label = 5;
158
+ case 5:
159
+ if (!!_b.done) return [3 /*break*/, 8];
160
+ provider = _b.value;
161
+ return [4 /*yield*/, this.fetchBuildsFromProvider(provider, packageName)];
162
+ case 6:
163
+ providerBuilds = _d.sent();
164
+ builds.push.apply(builds, __spreadArray([], __read(providerBuilds), false));
165
+ _d.label = 7;
166
+ case 7:
167
+ _b = _a.next();
168
+ return [3 /*break*/, 5];
169
+ case 8: return [3 /*break*/, 11];
170
+ case 9:
171
+ e_1_1 = _d.sent();
172
+ e_1 = { error: e_1_1 };
173
+ return [3 /*break*/, 11];
174
+ case 10:
175
+ try {
176
+ if (_b && !_b.done && (_c = _a.return)) _c.call(_a);
177
+ }
178
+ finally { if (e_1) throw e_1.error; }
179
+ return [7 /*endfinally*/];
180
+ case 11:
181
+ if (builds.length === 0) {
182
+ return [2 /*return*/, null];
183
+ }
184
+ // Sort builds by start time (newest first)
185
+ builds.sort(function (a, b) { return b.startTime.getTime() - a.startTime.getTime(); });
186
+ lastBuild = builds[0];
187
+ buildHistory = builds.slice(0, 10);
188
+ successRate = this.calculateSuccessRate(builds);
189
+ averageDuration = this.calculateAverageDuration(builds);
190
+ isHealthy = this.determinePackageHealth(builds);
191
+ issues = this.identifyIssues(builds);
192
+ status_1 = {
193
+ packageName: packageName,
194
+ lastBuild: lastBuild,
195
+ buildHistory: buildHistory,
196
+ successRate: successRate,
197
+ averageDuration: averageDuration,
198
+ lastCommit: lastBuild.commit,
199
+ lastCommitDate: lastBuild.startTime,
200
+ branch: lastBuild.branch,
201
+ isHealthy: isHealthy,
202
+ issues: issues,
203
+ };
204
+ this.setCache(cacheKey, status_1);
205
+ return [2 /*return*/, status_1];
206
+ case 12:
207
+ error_1 = _d.sent();
208
+ console.error("Error fetching CI status for ".concat(packageName, ":"), error_1);
209
+ return [2 /*return*/, null];
210
+ case 13: return [2 /*return*/];
211
+ }
212
+ });
213
+ });
214
+ };
215
+ /**
216
+ * Get overall monorepo CI status
217
+ */
218
+ CIStatusManager.prototype.getMonorepoStatus = function (packages) {
219
+ return __awaiter(this, void 0, void 0, function () {
220
+ var cacheKey, cached, packageStatuses, allBuilds, totalTests, passedTests, failedTests, packageCoverage, packages_1, packages_1_1, pkg, status_2, e_2_1, totalPackages, healthyPackages, warningPackages, errorPackages, overallHealth, recentBuilds, failedBuilds, coverageValues, overallCoverage, status;
221
+ var e_2, _a;
222
+ var _b, _c;
223
+ return __generator(this, function (_d) {
224
+ switch (_d.label) {
225
+ case 0:
226
+ cacheKey = 'monorepo-ci-status';
227
+ cached = this.getFromCache(cacheKey);
228
+ if (cached) {
229
+ return [2 /*return*/, cached];
230
+ }
231
+ packageStatuses = [];
232
+ allBuilds = [];
233
+ totalTests = 0;
234
+ passedTests = 0;
235
+ failedTests = 0;
236
+ packageCoverage = {};
237
+ _d.label = 1;
238
+ case 1:
239
+ _d.trys.push([1, 6, 7, 8]);
240
+ packages_1 = __values(packages), packages_1_1 = packages_1.next();
241
+ _d.label = 2;
242
+ case 2:
243
+ if (!!packages_1_1.done) return [3 /*break*/, 5];
244
+ pkg = packages_1_1.value;
245
+ return [4 /*yield*/, this.getPackageStatus(pkg.name)];
246
+ case 3:
247
+ status_2 = _d.sent();
248
+ if (status_2) {
249
+ packageStatuses.push(status_2);
250
+ allBuilds.push.apply(allBuilds, __spreadArray([], __read(status_2.buildHistory), false));
251
+ // Aggregate test results
252
+ if ((_b = status_2.lastBuild) === null || _b === void 0 ? void 0 : _b.tests) {
253
+ totalTests += status_2.lastBuild.tests.total;
254
+ passedTests += status_2.lastBuild.tests.passed;
255
+ failedTests += status_2.lastBuild.tests.failed;
256
+ }
257
+ // Aggregate coverage
258
+ if ((_c = status_2.lastBuild) === null || _c === void 0 ? void 0 : _c.coverage) {
259
+ packageCoverage[pkg.name] = status_2.lastBuild.coverage.percentage;
260
+ }
261
+ }
262
+ _d.label = 4;
263
+ case 4:
264
+ packages_1_1 = packages_1.next();
265
+ return [3 /*break*/, 2];
266
+ case 5: return [3 /*break*/, 8];
267
+ case 6:
268
+ e_2_1 = _d.sent();
269
+ e_2 = { error: e_2_1 };
270
+ return [3 /*break*/, 8];
271
+ case 7:
272
+ try {
273
+ if (packages_1_1 && !packages_1_1.done && (_a = packages_1.return)) _a.call(packages_1);
274
+ }
275
+ finally { if (e_2) throw e_2.error; }
276
+ return [7 /*endfinally*/];
277
+ case 8:
278
+ totalPackages = packages.length;
279
+ healthyPackages = packageStatuses.filter(function (s) { return s.isHealthy; }).length;
280
+ warningPackages = packageStatuses.filter(function (s) { return !s.isHealthy && s.issues.length < 3; }).length;
281
+ errorPackages = packageStatuses.filter(function (s) { return !s.isHealthy && s.issues.length >= 3; }).length;
282
+ overallHealth = (healthyPackages / totalPackages) * 100;
283
+ // Sort builds by time
284
+ allBuilds.sort(function (a, b) { return b.startTime.getTime() - a.startTime.getTime(); });
285
+ recentBuilds = allBuilds.slice(0, 20);
286
+ failedBuilds = allBuilds.filter(function (b) { return b.status === 'failed'; });
287
+ coverageValues = Object.values(packageCoverage);
288
+ overallCoverage = coverageValues.length > 0
289
+ ? coverageValues.reduce(function (sum, val) { return sum + val; }, 0) /
290
+ coverageValues.length
291
+ : 0;
292
+ status = {
293
+ totalPackages: totalPackages,
294
+ healthyPackages: healthyPackages,
295
+ warningPackages: warningPackages,
296
+ errorPackages: errorPackages,
297
+ overallHealth: overallHealth,
298
+ packages: packageStatuses,
299
+ recentBuilds: recentBuilds,
300
+ failedBuilds: failedBuilds,
301
+ coverage: {
302
+ overall: overallCoverage,
303
+ packages: packageCoverage,
304
+ },
305
+ tests: {
306
+ total: totalTests,
307
+ passed: passedTests,
308
+ failed: failedTests,
309
+ successRate: totalTests > 0 ? (passedTests / totalTests) * 100 : 0,
310
+ },
311
+ };
312
+ this.setCache(cacheKey, status);
313
+ return [2 /*return*/, status];
314
+ }
315
+ });
316
+ });
317
+ };
318
+ /**
319
+ * Fetch builds from a specific CI provider
320
+ */
321
+ CIStatusManager.prototype.fetchBuildsFromProvider = function (_provider, packageName) {
322
+ return __awaiter(this, void 0, void 0, function () {
323
+ var mockBuilds;
324
+ return __generator(this, function (_a) {
325
+ mockBuilds = [
326
+ {
327
+ id: "build-".concat(Date.now(), "-1"),
328
+ status: 'success',
329
+ branch: 'main',
330
+ commit: 'abc1234',
331
+ commitMessage: "feat: update ".concat(packageName),
332
+ author: 'developer@example.com',
333
+ startTime: new Date(Date.now() - 1000 * 60 * 30), // 30 minutes ago
334
+ endTime: new Date(Date.now() - 1000 * 60 * 25), // 25 minutes ago
335
+ duration: 5 * 60 * 1000, // 5 minutes
336
+ url: "https://ci.example.com/builds/build-".concat(Date.now(), "-1"),
337
+ packageName: packageName,
338
+ workflowName: 'Build and Test',
339
+ jobName: 'test',
340
+ steps: [
341
+ {
342
+ name: 'Install dependencies',
343
+ status: 'success',
344
+ duration: 30000,
345
+ },
346
+ {
347
+ name: 'Run tests',
348
+ status: 'success',
349
+ duration: 120000,
350
+ },
351
+ {
352
+ name: 'Build package',
353
+ status: 'success',
354
+ duration: 60000,
355
+ },
356
+ ],
357
+ coverage: {
358
+ percentage: 85,
359
+ lines: 1000,
360
+ functions: 50,
361
+ branches: 200,
362
+ statements: 1200,
363
+ },
364
+ tests: {
365
+ total: 150,
366
+ passed: 145,
367
+ failed: 0,
368
+ skipped: 5,
369
+ duration: 120000,
370
+ suites: [
371
+ {
372
+ name: 'Unit Tests',
373
+ status: 'pass',
374
+ tests: [],
375
+ duration: 80000,
376
+ },
377
+ {
378
+ name: 'Integration Tests',
379
+ status: 'pass',
380
+ tests: [],
381
+ duration: 40000,
382
+ },
383
+ ],
384
+ },
385
+ },
386
+ {
387
+ id: "build-".concat(Date.now(), "-2"),
388
+ status: 'failed',
389
+ branch: 'feature/new-feature',
390
+ commit: 'def5678',
391
+ commitMessage: "fix: resolve issue in ".concat(packageName),
392
+ author: 'developer@example.com',
393
+ startTime: new Date(Date.now() - 1000 * 60 * 60 * 2), // 2 hours ago
394
+ endTime: new Date(Date.now() - 1000 * 60 * 60 * 1.5), // 1.5 hours ago
395
+ duration: 30 * 60 * 1000, // 30 minutes
396
+ url: "https://ci.example.com/builds/build-".concat(Date.now(), "-2"),
397
+ packageName: packageName,
398
+ workflowName: 'Build and Test',
399
+ jobName: 'test',
400
+ steps: [
401
+ {
402
+ name: 'Install dependencies',
403
+ status: 'success',
404
+ duration: 30000,
405
+ },
406
+ {
407
+ name: 'Run tests',
408
+ status: 'failed',
409
+ duration: 120000,
410
+ error: 'Test suite failed with 3 failing tests',
411
+ },
412
+ ],
413
+ tests: {
414
+ total: 150,
415
+ passed: 147,
416
+ failed: 3,
417
+ skipped: 0,
418
+ duration: 120000,
419
+ suites: [
420
+ {
421
+ name: 'Unit Tests',
422
+ status: 'pass',
423
+ tests: [],
424
+ duration: 80000,
425
+ },
426
+ {
427
+ name: 'Integration Tests',
428
+ status: 'fail',
429
+ tests: [],
430
+ duration: 40000,
431
+ },
432
+ ],
433
+ },
434
+ },
435
+ ];
436
+ return [2 /*return*/, mockBuilds];
437
+ });
438
+ });
439
+ };
440
+ /**
441
+ * Calculate success rate from builds
442
+ */
443
+ CIStatusManager.prototype.calculateSuccessRate = function (builds) {
444
+ if (builds.length === 0)
445
+ return 0;
446
+ var successfulBuilds = builds.filter(function (b) { return b.status === 'success'; }).length;
447
+ return (successfulBuilds / builds.length) * 100;
448
+ };
449
+ /**
450
+ * Calculate average build duration
451
+ */
452
+ CIStatusManager.prototype.calculateAverageDuration = function (builds) {
453
+ if (builds.length === 0)
454
+ return 0;
455
+ var completedBuilds = builds.filter(function (b) { return b.duration !== undefined; });
456
+ if (completedBuilds.length === 0)
457
+ return 0;
458
+ var totalDuration = completedBuilds.reduce(function (sum, b) { return sum + (b.duration || 0); }, 0);
459
+ return totalDuration / completedBuilds.length;
460
+ };
461
+ /**
462
+ * Determine if a package is healthy based on CI results
463
+ */
464
+ CIStatusManager.prototype.determinePackageHealth = function (builds) {
465
+ if (builds.length === 0)
466
+ return true;
467
+ var recentBuilds = builds.slice(0, 5); // Last 5 builds
468
+ var successRate = this.calculateSuccessRate(recentBuilds);
469
+ return successRate >= 80; // 80% success rate threshold
470
+ };
471
+ /**
472
+ * Identify issues from build results
473
+ */
474
+ CIStatusManager.prototype.identifyIssues = function (builds) {
475
+ var e_3, _a, e_4, _b;
476
+ var issues = [];
477
+ if (builds.length === 0)
478
+ return issues;
479
+ var recentBuilds = builds.slice(0, 3); // Last 3 builds
480
+ var successRate = this.calculateSuccessRate(recentBuilds);
481
+ if (successRate < 50) {
482
+ issues.push('High failure rate in recent builds');
483
+ }
484
+ var failedBuilds = recentBuilds.filter(function (b) { return b.status === 'failed'; });
485
+ try {
486
+ for (var failedBuilds_1 = __values(failedBuilds), failedBuilds_1_1 = failedBuilds_1.next(); !failedBuilds_1_1.done; failedBuilds_1_1 = failedBuilds_1.next()) {
487
+ var build = failedBuilds_1_1.value;
488
+ var failedSteps = build.steps.filter(function (s) { return s.status === 'failed'; });
489
+ try {
490
+ for (var failedSteps_1 = (e_4 = void 0, __values(failedSteps)), failedSteps_1_1 = failedSteps_1.next(); !failedSteps_1_1.done; failedSteps_1_1 = failedSteps_1.next()) {
491
+ var step = failedSteps_1_1.value;
492
+ if (step.error) {
493
+ issues.push("Build step '".concat(step.name, "' failed: ").concat(step.error));
494
+ }
495
+ }
496
+ }
497
+ catch (e_4_1) { e_4 = { error: e_4_1 }; }
498
+ finally {
499
+ try {
500
+ if (failedSteps_1_1 && !failedSteps_1_1.done && (_b = failedSteps_1.return)) _b.call(failedSteps_1);
501
+ }
502
+ finally { if (e_4) throw e_4.error; }
503
+ }
504
+ }
505
+ }
506
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
507
+ finally {
508
+ try {
509
+ if (failedBuilds_1_1 && !failedBuilds_1_1.done && (_a = failedBuilds_1.return)) _a.call(failedBuilds_1);
510
+ }
511
+ finally { if (e_3) throw e_3.error; }
512
+ }
513
+ // Check for long build times
514
+ var avgDuration = this.calculateAverageDuration(recentBuilds);
515
+ if (avgDuration > 10 * 60 * 1000) {
516
+ // 10 minutes
517
+ issues.push('Builds are taking longer than expected');
518
+ }
519
+ return issues;
520
+ };
521
+ /**
522
+ * Get cache value if not expired
523
+ */
524
+ CIStatusManager.prototype.getFromCache = function (key) {
525
+ var cached = this.cache.get(key);
526
+ if (cached && Date.now() - cached.timestamp < this.cacheExpiry) {
527
+ return cached.data;
528
+ }
529
+ return null;
530
+ };
531
+ /**
532
+ * Set cache value with timestamp
533
+ */
534
+ CIStatusManager.prototype.setCache = function (key, data) {
535
+ this.cache.set(key, {
536
+ data: data,
537
+ timestamp: Date.now(),
538
+ });
539
+ };
540
+ /**
541
+ * Clear the cache
542
+ */
543
+ CIStatusManager.prototype.clearCache = function () {
544
+ this.cache.clear();
545
+ };
546
+ /**
547
+ * Get build logs for a specific build
548
+ */
549
+ CIStatusManager.prototype.getBuildLogs = function (buildId, providerName) {
550
+ return __awaiter(this, void 0, void 0, function () {
551
+ return __generator(this, function (_a) {
552
+ // Mock implementation
553
+ return [2 /*return*/, "Build logs for ".concat(buildId, " from ").concat(providerName, "\n\nStep 1: Install dependencies\n\u2713 Dependencies installed successfully\n\nStep 2: Run tests\n\u2713 All tests passed\n\nStep 3: Build package\n\u2713 Package built successfully")];
554
+ });
555
+ });
556
+ };
557
+ /**
558
+ * Trigger a new build for a package
559
+ */
560
+ CIStatusManager.prototype.triggerBuild = function (packageName_1, providerName_1) {
561
+ return __awaiter(this, arguments, void 0, function (packageName, providerName, branch) {
562
+ var buildId;
563
+ if (branch === void 0) { branch = 'main'; }
564
+ return __generator(this, function (_a) {
565
+ try {
566
+ buildId = "build-".concat(Date.now(), "-").concat(Math.random().toString(36).substr(2, 9));
567
+ console.log("Triggering build for ".concat(packageName, " on ").concat(branch, " via ").concat(providerName));
568
+ return [2 /*return*/, {
569
+ success: true,
570
+ buildId: buildId,
571
+ }];
572
+ }
573
+ catch (error) {
574
+ return [2 /*return*/, {
575
+ success: false,
576
+ error: error instanceof Error ? error.message : 'Unknown error',
577
+ }];
578
+ }
579
+ return [2 /*return*/];
580
+ });
581
+ });
582
+ };
583
+ /**
584
+ * Get build artifacts
585
+ */
586
+ CIStatusManager.prototype.getBuildArtifacts = function (buildId, _providerName) {
587
+ return __awaiter(this, void 0, void 0, function () {
588
+ return __generator(this, function (_a) {
589
+ // Mock implementation
590
+ return [2 /*return*/, [
591
+ {
592
+ name: 'coverage-report.html',
593
+ type: 'coverage',
594
+ size: 1024 * 50, // 50KB
595
+ url: "https://ci.example.com/artifacts/".concat(buildId, "/coverage-report.html"),
596
+ },
597
+ {
598
+ name: 'test-results.xml',
599
+ type: 'test',
600
+ size: 1024 * 10, // 10KB
601
+ url: "https://ci.example.com/artifacts/".concat(buildId, "/test-results.xml"),
602
+ },
603
+ ]];
604
+ });
605
+ });
606
+ };
607
+ return CIStatusManager;
608
+ }());
609
+ exports.CIStatusManager = CIStatusManager;
610
+ // Export default instance
611
+ exports.ciStatusManager = new CIStatusManager();
612
+ // Export convenience functions
613
+ function getPackageCIStatus(packageName) {
614
+ return __awaiter(this, void 0, void 0, function () {
615
+ return __generator(this, function (_a) {
616
+ return [2 /*return*/, exports.ciStatusManager.getPackageStatus(packageName)];
617
+ });
618
+ });
619
+ }
620
+ function getMonorepoCIStatus(packages) {
621
+ return __awaiter(this, void 0, void 0, function () {
622
+ return __generator(this, function (_a) {
623
+ return [2 /*return*/, exports.ciStatusManager.getMonorepoStatus(packages)];
624
+ });
625
+ });
626
+ }
627
+ function triggerPackageBuild(packageName, providerName, branch) {
628
+ return __awaiter(this, void 0, void 0, function () {
629
+ return __generator(this, function (_a) {
630
+ return [2 /*return*/, exports.ciStatusManager.triggerBuild(packageName, providerName, branch)];
631
+ });
632
+ });
633
+ }
634
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}