polyv-live-cli 1.0.7 ā 1.1.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/README.md +106 -7
- package/dist/commands/stream.commands.d.ts.map +1 -1
- package/dist/commands/stream.commands.js +205 -0
- package/dist/commands/stream.commands.js.map +1 -1
- package/dist/config/auth.js +9 -9
- package/dist/config/auth.js.map +1 -1
- package/dist/config/manager.d.ts.map +1 -1
- package/dist/config/manager.js +3 -3
- package/dist/config/manager.js.map +1 -1
- package/dist/handlers/stream.handler.d.ts +9 -2
- package/dist/handlers/stream.handler.d.ts.map +1 -1
- package/dist/handlers/stream.handler.js +344 -13
- package/dist/handlers/stream.handler.js.map +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +50 -54
- package/dist/index.js.map +1 -1
- package/dist/types/stream.d.ts +87 -0
- package/dist/types/stream.d.ts.map +1 -1
- package/dist/utils/ffmpeg.d.ts +2 -0
- package/dist/utils/ffmpeg.d.ts.map +1 -0
- package/dist/utils/ffmpeg.js +17 -0
- package/dist/utils/ffmpeg.js.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +3 -0
- package/dist/utils/index.js.map +1 -1
- package/dist/utils/stream-verification.d.ts +33 -0
- package/dist/utils/stream-verification.d.ts.map +1 -0
- package/dist/utils/stream-verification.js +315 -0
- package/dist/utils/stream-verification.js.map +1 -0
- package/package.json +5 -2
|
@@ -1,9 +1,47 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.StreamHandler = void 0;
|
|
4
37
|
const base_handler_1 = require("./base.handler");
|
|
5
38
|
const errors_1 = require("../utils/errors");
|
|
6
39
|
const formatter_1 = require("../utils/formatter");
|
|
40
|
+
const ffmpeg_1 = require("../utils/ffmpeg");
|
|
41
|
+
const stream_verification_1 = require("../utils/stream-verification");
|
|
42
|
+
const formatter_2 = require("../utils/formatter");
|
|
43
|
+
const child_process_1 = require("child_process");
|
|
44
|
+
const fs = __importStar(require("fs"));
|
|
7
45
|
class StreamHandler extends base_handler_1.BaseHandler {
|
|
8
46
|
constructor(streamService) {
|
|
9
47
|
super();
|
|
@@ -61,7 +99,7 @@ class StreamHandler extends base_handler_1.BaseHandler {
|
|
|
61
99
|
const performanceInfo = {
|
|
62
100
|
'FPS': credentials.metrics.fps.toFixed(2),
|
|
63
101
|
'LFR': credentials.metrics.lfr.toFixed(2),
|
|
64
|
-
'Bandwidth':
|
|
102
|
+
'Bandwidth': (0, formatter_2.formatBandwidth)(credentials.metrics.bandwidth)
|
|
65
103
|
};
|
|
66
104
|
console.log('\nš Performance Metrics:');
|
|
67
105
|
this.displayData(performanceInfo, 'table');
|
|
@@ -97,18 +135,6 @@ class StreamHandler extends base_handler_1.BaseHandler {
|
|
|
97
135
|
}
|
|
98
136
|
};
|
|
99
137
|
}
|
|
100
|
-
formatBandwidth(bandwidth) {
|
|
101
|
-
if (bandwidth === 0)
|
|
102
|
-
return '0 bps';
|
|
103
|
-
const units = ['bps', 'Kbps', 'Mbps', 'Gbps'];
|
|
104
|
-
let unitIndex = 0;
|
|
105
|
-
let value = bandwidth;
|
|
106
|
-
while (value >= 1024 && unitIndex < units.length - 1) {
|
|
107
|
-
value /= 1024;
|
|
108
|
-
unitIndex++;
|
|
109
|
-
}
|
|
110
|
-
return `${value.toFixed(2)} ${units[unitIndex]}`;
|
|
111
|
-
}
|
|
112
138
|
async startStream(options) {
|
|
113
139
|
return this.executeWithErrorHandling(async () => {
|
|
114
140
|
this.validateStartStreamOptions(options);
|
|
@@ -236,6 +262,311 @@ class StreamHandler extends base_handler_1.BaseHandler {
|
|
|
236
262
|
console.log(' ⢠Do not share stream credentials in public channels');
|
|
237
263
|
console.log(' ⢠Regenerate stream key if compromised');
|
|
238
264
|
}
|
|
265
|
+
async pushStream(options) {
|
|
266
|
+
return this.executeWithErrorHandling(async () => {
|
|
267
|
+
this.validatePushStreamOptions(options);
|
|
268
|
+
console.log('š Checking FFmpeg installation...');
|
|
269
|
+
const ffmpegInstalled = await (0, ffmpeg_1.isFFmpegInstalled)();
|
|
270
|
+
if (!ffmpegInstalled) {
|
|
271
|
+
throw new Error('FFmpeg is not installed or not found in PATH. Please install FFmpeg to use this feature.');
|
|
272
|
+
}
|
|
273
|
+
console.log('ā
FFmpeg is available');
|
|
274
|
+
console.log('š Getting stream credentials...');
|
|
275
|
+
const credentials = await this.streamService.getStreamKey({
|
|
276
|
+
channelId: options.channelId
|
|
277
|
+
});
|
|
278
|
+
console.log('ā
Stream credentials retrieved');
|
|
279
|
+
if (options.verify) {
|
|
280
|
+
const interval = options.verificationInterval || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.INTERVAL;
|
|
281
|
+
const threshold = options.qualityThreshold || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.QUALITY_THRESHOLD;
|
|
282
|
+
console.log('š Verification mode enabled:');
|
|
283
|
+
console.log(` Interval: ${interval}s, Quality threshold: ${threshold} FPS`);
|
|
284
|
+
}
|
|
285
|
+
if (options.showViewerLinks || options.verify) {
|
|
286
|
+
console.log('š Viewer Links:');
|
|
287
|
+
const viewerLinks = (0, stream_verification_1.generateViewerLinks)(options.channelId);
|
|
288
|
+
viewerLinks.forEach(link => {
|
|
289
|
+
console.log(` ⢠${link.protocol}: ${link.url}`);
|
|
290
|
+
});
|
|
291
|
+
console.log('');
|
|
292
|
+
}
|
|
293
|
+
const rtmpUrl = `${credentials.rtmpUrl}/${credentials.streamKey}`;
|
|
294
|
+
const ffmpegArgs = [
|
|
295
|
+
'-re',
|
|
296
|
+
'-i', options.file,
|
|
297
|
+
'-c:v', 'copy',
|
|
298
|
+
'-c:a', 'aac',
|
|
299
|
+
'-f', 'flv',
|
|
300
|
+
rtmpUrl
|
|
301
|
+
];
|
|
302
|
+
console.log('š¬ Starting stream push...');
|
|
303
|
+
console.log(` File: ${options.file}`);
|
|
304
|
+
console.log(` Channel: ${options.channelId}`);
|
|
305
|
+
console.log(' Press Ctrl+C to stop streaming');
|
|
306
|
+
console.log('');
|
|
307
|
+
const ffmpegProcess = (0, child_process_1.spawn)('ffmpeg', ffmpegArgs);
|
|
308
|
+
let verificationInterval = null;
|
|
309
|
+
let verificationCheckCount = 0;
|
|
310
|
+
if (options.verify) {
|
|
311
|
+
const interval = (options.verificationInterval || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.INTERVAL) * 1000;
|
|
312
|
+
const threshold = options.qualityThreshold || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.QUALITY_THRESHOLD;
|
|
313
|
+
verificationInterval = setInterval(async () => {
|
|
314
|
+
try {
|
|
315
|
+
verificationCheckCount++;
|
|
316
|
+
const statusInfo = await this.streamService.getStreamStatus({
|
|
317
|
+
channelId: options.channelId
|
|
318
|
+
});
|
|
319
|
+
const verificationPoint = (0, stream_verification_1.createVerificationPoint)(verificationCheckCount, statusInfo, threshold);
|
|
320
|
+
const statusEmoji = (0, stream_verification_1.getStatusEmoji)(verificationPoint.status);
|
|
321
|
+
console.log(`\nā±ļø Verification Check #${verificationCheckCount} (${this.formatDuration(verificationCheckCount * interval / 1000)}):`);
|
|
322
|
+
console.log(` Status: ${statusEmoji} ${verificationPoint.status} | FPS: ${(0, stream_verification_1.formatFPS)(verificationPoint.metrics.fps)} | Bandwidth: ${(0, formatter_2.formatBandwidth)(verificationPoint.metrics.bandwidth)}`);
|
|
323
|
+
if (verificationPoint.issues.length > 0) {
|
|
324
|
+
verificationPoint.issues.forEach(issue => {
|
|
325
|
+
console.log(` Issue: ${issue.message}`);
|
|
326
|
+
});
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
catch (error) {
|
|
330
|
+
console.log(` ā ļø Verification check failed: ${error instanceof Error ? error.message : String(error)}`);
|
|
331
|
+
}
|
|
332
|
+
}, interval);
|
|
333
|
+
}
|
|
334
|
+
ffmpegProcess.stdout.on('data', (data) => {
|
|
335
|
+
process.stdout.write(data);
|
|
336
|
+
});
|
|
337
|
+
ffmpegProcess.stderr.on('data', (data) => {
|
|
338
|
+
process.stderr.write(data);
|
|
339
|
+
});
|
|
340
|
+
return new Promise((resolve, reject) => {
|
|
341
|
+
ffmpegProcess.on('close', (code) => {
|
|
342
|
+
if (verificationInterval) {
|
|
343
|
+
clearInterval(verificationInterval);
|
|
344
|
+
}
|
|
345
|
+
if (code === 0) {
|
|
346
|
+
console.log('\nā
Stream completed successfully');
|
|
347
|
+
if (options.verify && verificationCheckCount > 0) {
|
|
348
|
+
console.log(`š Verification Summary: ${verificationCheckCount} checks performed`);
|
|
349
|
+
}
|
|
350
|
+
resolve();
|
|
351
|
+
}
|
|
352
|
+
else if (code === null) {
|
|
353
|
+
console.log('\nā¹ļø Stream stopped by user');
|
|
354
|
+
if (options.verify && verificationCheckCount > 0) {
|
|
355
|
+
console.log(`š Verification Summary: ${verificationCheckCount} checks performed`);
|
|
356
|
+
}
|
|
357
|
+
resolve();
|
|
358
|
+
}
|
|
359
|
+
else {
|
|
360
|
+
console.log(`\nā FFmpeg process exited with code ${code}`);
|
|
361
|
+
reject(new Error(`FFmpeg process failed with exit code ${code}`));
|
|
362
|
+
}
|
|
363
|
+
});
|
|
364
|
+
ffmpegProcess.on('error', (error) => {
|
|
365
|
+
if (verificationInterval) {
|
|
366
|
+
clearInterval(verificationInterval);
|
|
367
|
+
}
|
|
368
|
+
console.log(`\nā FFmpeg process error: ${error.message}`);
|
|
369
|
+
reject(error);
|
|
370
|
+
});
|
|
371
|
+
const sigintHandler = () => {
|
|
372
|
+
console.log('\nā¹ļø Stopping stream...');
|
|
373
|
+
if (verificationInterval) {
|
|
374
|
+
clearInterval(verificationInterval);
|
|
375
|
+
}
|
|
376
|
+
ffmpegProcess.kill('SIGINT');
|
|
377
|
+
process.removeListener('SIGINT', sigintHandler);
|
|
378
|
+
};
|
|
379
|
+
process.on('SIGINT', sigintHandler);
|
|
380
|
+
});
|
|
381
|
+
}, 'stream.pushStream');
|
|
382
|
+
}
|
|
383
|
+
validatePushStreamOptions(options) {
|
|
384
|
+
if (!options.channelId || typeof options.channelId !== 'string' || options.channelId.trim() === '') {
|
|
385
|
+
throw new errors_1.PolyVValidationError('Channel ID cannot be empty', 'channelId', options.channelId, 'required');
|
|
386
|
+
}
|
|
387
|
+
if (!options.file || typeof options.file !== 'string' || options.file.trim() === '') {
|
|
388
|
+
throw new errors_1.PolyVValidationError('File path cannot be empty', 'file', options.file, 'required');
|
|
389
|
+
}
|
|
390
|
+
if (!fs.existsSync(options.file)) {
|
|
391
|
+
throw new errors_1.PolyVValidationError(`File not found: ${options.file}`, 'file', options.file, 'not_found');
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
async verifyStream(options) {
|
|
395
|
+
return this.executeWithErrorHandling(async () => {
|
|
396
|
+
this.validateVerifyStreamOptions(options);
|
|
397
|
+
const duration = options.duration || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.DURATION;
|
|
398
|
+
const interval = options.interval || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.INTERVAL;
|
|
399
|
+
const threshold = options.qualityThreshold || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.QUALITY_THRESHOLD;
|
|
400
|
+
const expectedChecks = Math.floor(duration / interval);
|
|
401
|
+
console.log(`š Starting stream verification for channel ${options.channelId}...`);
|
|
402
|
+
console.log(` Duration: ${duration}s | Interval: ${interval}s | Expected checks: ${expectedChecks}`);
|
|
403
|
+
console.log('');
|
|
404
|
+
const verificationId = (0, stream_verification_1.generateVerificationId)();
|
|
405
|
+
const startTime = new Date();
|
|
406
|
+
const verificationPoints = [];
|
|
407
|
+
if (options.showViewerLinks) {
|
|
408
|
+
console.log('š Viewer Links:');
|
|
409
|
+
const viewerLinks = (0, stream_verification_1.generateViewerLinks)(options.channelId);
|
|
410
|
+
viewerLinks.forEach(link => {
|
|
411
|
+
console.log(` ⢠${link.protocol}: ${link.url}`);
|
|
412
|
+
});
|
|
413
|
+
console.log('');
|
|
414
|
+
}
|
|
415
|
+
console.log('š Verification Progress:');
|
|
416
|
+
for (let i = 0; i < expectedChecks; i++) {
|
|
417
|
+
const checkNumber = i + 1;
|
|
418
|
+
const elapsedTime = checkNumber * interval;
|
|
419
|
+
try {
|
|
420
|
+
const statusInfo = await this.streamService.getStreamStatus({
|
|
421
|
+
channelId: options.channelId
|
|
422
|
+
});
|
|
423
|
+
const verificationPoint = (0, stream_verification_1.createVerificationPoint)(checkNumber, statusInfo, threshold);
|
|
424
|
+
verificationPoints.push(verificationPoint);
|
|
425
|
+
const statusEmoji = (0, stream_verification_1.getStatusEmoji)(verificationPoint.status);
|
|
426
|
+
const timeStr = this.formatDuration(elapsedTime);
|
|
427
|
+
console.log(` ${checkNumber.toString().padStart(2)}. ${timeStr} | ${statusEmoji} ${verificationPoint.status.padEnd(7)} | FPS: ${(0, stream_verification_1.formatFPS)(verificationPoint.metrics.fps).padEnd(8)} | Bandwidth: ${(0, formatter_2.formatBandwidth)(verificationPoint.metrics.bandwidth).padEnd(10)} | ${statusEmoji}`);
|
|
428
|
+
if (verificationPoint.issues.length > 0) {
|
|
429
|
+
verificationPoint.issues.forEach(issue => {
|
|
430
|
+
console.log(` Issue: ${issue.message}`);
|
|
431
|
+
});
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
catch (error) {
|
|
435
|
+
console.log(` ${checkNumber.toString().padStart(2)}. ${this.formatDuration(elapsedTime)} | ā Error | Failed to get status: ${error instanceof Error ? error.message : String(error)}`);
|
|
436
|
+
}
|
|
437
|
+
if (i < expectedChecks - 1) {
|
|
438
|
+
await this.sleep(interval * 1000);
|
|
439
|
+
}
|
|
440
|
+
}
|
|
441
|
+
const result = (0, stream_verification_1.createVerificationResult)(options.channelId, verificationId, startTime, verificationPoints, threshold);
|
|
442
|
+
console.log('\nš Verification Summary:');
|
|
443
|
+
console.log(` ⢠Overall Status: ${result.summary.overallStatus} (${result.summary.reliability.toFixed(0)}% reliability)`);
|
|
444
|
+
console.log(` ⢠Average FPS: ${(0, stream_verification_1.formatFPS)(result.averageMetrics.fps)} (Target: >${threshold} FPS)`);
|
|
445
|
+
console.log(` ⢠Average Bandwidth: ${(0, formatter_2.formatBandwidth)(result.averageMetrics.bandwidth)}`);
|
|
446
|
+
console.log(` ⢠Issues Found: ${result.summary.totalIssues}`);
|
|
447
|
+
if (result.summary.recommendations.length > 0) {
|
|
448
|
+
console.log(' ⢠Recommendations:');
|
|
449
|
+
result.summary.recommendations.forEach(rec => {
|
|
450
|
+
console.log(` - ${rec}`);
|
|
451
|
+
});
|
|
452
|
+
}
|
|
453
|
+
if (options.saveReport) {
|
|
454
|
+
const { saveVerificationReport, createVerificationReport } = await Promise.resolve().then(() => __importStar(require('../utils/stream-verification')));
|
|
455
|
+
const report = createVerificationReport(result, duration, interval);
|
|
456
|
+
report.timeline = verificationPoints;
|
|
457
|
+
await saveVerificationReport(report, options.saveReport);
|
|
458
|
+
console.log(`\nš¾ Verification report saved to: ${options.saveReport}`);
|
|
459
|
+
}
|
|
460
|
+
if (options.output === 'json') {
|
|
461
|
+
console.log('\nš JSON Report:');
|
|
462
|
+
console.log(JSON.stringify(result, null, 2));
|
|
463
|
+
}
|
|
464
|
+
}, 'stream.verifyStream');
|
|
465
|
+
}
|
|
466
|
+
async monitorStream(options) {
|
|
467
|
+
return this.executeWithErrorHandling(async () => {
|
|
468
|
+
this.validateMonitorStreamOptions(options);
|
|
469
|
+
const refresh = options.refresh || stream_verification_1.DEFAULT_VERIFICATION_SETTINGS.MONITOR_REFRESH;
|
|
470
|
+
console.log(`š Stream Monitor - Channel: ${options.channelId} (Refreshing every ${refresh}s)`);
|
|
471
|
+
console.log('Press Ctrl+C to stop monitoring\n');
|
|
472
|
+
let monitorInterval = null;
|
|
473
|
+
let activityLog = [];
|
|
474
|
+
const performCheck = async () => {
|
|
475
|
+
try {
|
|
476
|
+
const statusInfo = await this.streamService.getStreamStatus({
|
|
477
|
+
channelId: options.channelId
|
|
478
|
+
});
|
|
479
|
+
process.stdout.write('\x1Bc');
|
|
480
|
+
console.log(`š Stream Monitor - Channel: ${options.channelId} (Refreshing every ${refresh}s)`);
|
|
481
|
+
console.log('Press Ctrl+C to stop monitoring\n');
|
|
482
|
+
const statusEmoji = statusInfo.isLive ? 'ā
' : 'āøļø';
|
|
483
|
+
const status = statusInfo.isLive ? 'Live and Healthy' : statusInfo.statusText;
|
|
484
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā');
|
|
485
|
+
console.log(`ā Current Status: ${statusEmoji} ${status.padEnd(40)} ā`);
|
|
486
|
+
if (statusInfo.isLive && statusInfo.metrics) {
|
|
487
|
+
const duration = statusInfo.durationText || 'Unknown';
|
|
488
|
+
const fps = (0, stream_verification_1.formatFPS)(statusInfo.metrics.fps);
|
|
489
|
+
const bandwidth = (0, formatter_2.formatBandwidth)(statusInfo.metrics.bandwidth);
|
|
490
|
+
const latency = statusInfo.metrics.lfr ? `${statusInfo.metrics.lfr.toFixed(1)}% LFR` : 'N/A';
|
|
491
|
+
console.log(`ā Uptime: ${duration.padEnd(20)} | Viewers: Unknown${' '.padEnd(14)} ā`);
|
|
492
|
+
console.log(`ā FPS: ${fps.padEnd(8)} | Bandwidth: ${bandwidth.padEnd(10)} | Latency: ${latency.padEnd(8)} ā`);
|
|
493
|
+
}
|
|
494
|
+
else {
|
|
495
|
+
console.log(`ā Stream is not currently live${' '.padEnd(32)} ā`);
|
|
496
|
+
}
|
|
497
|
+
console.log('āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā\n');
|
|
498
|
+
if (options.alerts && statusInfo.isLive && statusInfo.metrics) {
|
|
499
|
+
const qualityIssues = (0, stream_verification_1.analyzeQualityMetrics)({
|
|
500
|
+
fps: statusInfo.metrics.fps,
|
|
501
|
+
bandwidth: statusInfo.metrics.bandwidth,
|
|
502
|
+
lfr: statusInfo.metrics.lfr
|
|
503
|
+
});
|
|
504
|
+
if (qualityIssues.length > 0) {
|
|
505
|
+
console.log('ā ļø Quality Alerts:');
|
|
506
|
+
qualityIssues.forEach(issue => {
|
|
507
|
+
const severityEmoji = (0, stream_verification_1.getSeverityEmoji)(issue.severity);
|
|
508
|
+
console.log(` ${severityEmoji} ${issue.message}`);
|
|
509
|
+
});
|
|
510
|
+
console.log('');
|
|
511
|
+
}
|
|
512
|
+
}
|
|
513
|
+
console.log('Recent Activity:');
|
|
514
|
+
const currentTime = new Date().toLocaleTimeString();
|
|
515
|
+
const newActivity = ` ${currentTime} - Stream status: ${status}`;
|
|
516
|
+
activityLog.unshift(newActivity);
|
|
517
|
+
if (activityLog.length > 5) {
|
|
518
|
+
activityLog = activityLog.slice(0, 5);
|
|
519
|
+
}
|
|
520
|
+
activityLog.forEach(activity => console.log(activity));
|
|
521
|
+
console.log(`\nā±ļø Last updated: ${currentTime}`);
|
|
522
|
+
console.log(`š Refreshing in ${refresh} seconds...`);
|
|
523
|
+
}
|
|
524
|
+
catch (error) {
|
|
525
|
+
console.log(`ā Error monitoring stream: ${error instanceof Error ? error.message : String(error)}`);
|
|
526
|
+
}
|
|
527
|
+
};
|
|
528
|
+
await performCheck();
|
|
529
|
+
monitorInterval = setInterval(performCheck, refresh * 1000);
|
|
530
|
+
return new Promise((resolve) => {
|
|
531
|
+
const sigintHandler = () => {
|
|
532
|
+
if (monitorInterval) {
|
|
533
|
+
clearInterval(monitorInterval);
|
|
534
|
+
}
|
|
535
|
+
console.log('\n\nš Monitoring stopped. Goodbye!');
|
|
536
|
+
process.removeListener('SIGINT', sigintHandler);
|
|
537
|
+
resolve();
|
|
538
|
+
};
|
|
539
|
+
process.on('SIGINT', sigintHandler);
|
|
540
|
+
});
|
|
541
|
+
}, 'stream.monitorStream');
|
|
542
|
+
}
|
|
543
|
+
validateVerifyStreamOptions(options) {
|
|
544
|
+
if (!options.channelId || typeof options.channelId !== 'string' || options.channelId.trim() === '') {
|
|
545
|
+
throw new errors_1.PolyVValidationError('Channel ID cannot be empty', 'channelId', options.channelId, 'required');
|
|
546
|
+
}
|
|
547
|
+
if (options.duration && (options.duration < 10 || options.duration > 3600)) {
|
|
548
|
+
throw new errors_1.PolyVValidationError('Duration must be between 10 and 3600 seconds', 'duration', options.duration, 'out_of_range');
|
|
549
|
+
}
|
|
550
|
+
if (options.interval && (options.interval < 5 || options.interval > 300)) {
|
|
551
|
+
throw new errors_1.PolyVValidationError('Interval must be between 5 and 300 seconds', 'interval', options.interval, 'out_of_range');
|
|
552
|
+
}
|
|
553
|
+
}
|
|
554
|
+
validateMonitorStreamOptions(options) {
|
|
555
|
+
if (!options.channelId || typeof options.channelId !== 'string' || options.channelId.trim() === '') {
|
|
556
|
+
throw new errors_1.PolyVValidationError('Channel ID cannot be empty', 'channelId', options.channelId, 'required');
|
|
557
|
+
}
|
|
558
|
+
if (options.refresh !== undefined && (options.refresh < 1 || options.refresh > 60)) {
|
|
559
|
+
throw new errors_1.PolyVValidationError('Refresh interval must be between 1 and 60 seconds', 'refresh', options.refresh, 'out_of_range');
|
|
560
|
+
}
|
|
561
|
+
}
|
|
562
|
+
sleep(ms) {
|
|
563
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
564
|
+
}
|
|
565
|
+
formatDuration(seconds) {
|
|
566
|
+
const mins = Math.floor(seconds / 60);
|
|
567
|
+
const secs = Math.floor(seconds % 60);
|
|
568
|
+
return `${mins.toString().padStart(2, '0')}:${secs.toString().padStart(2, '0')}`;
|
|
569
|
+
}
|
|
239
570
|
}
|
|
240
571
|
exports.StreamHandler = StreamHandler;
|
|
241
572
|
//# sourceMappingURL=stream.handler.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stream.handler.js","sourceRoot":"","sources":["../../src/handlers/stream.handler.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stream.handler.js","sourceRoot":"","sources":["../../src/handlers/stream.handler.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AA0FA,iBAAe,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAyXnC;AASD,OAAO,EAAE,IAAI,EAAE,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -53,6 +53,23 @@ async function loadAndValidateConfig(program) {
|
|
|
53
53
|
throw error;
|
|
54
54
|
}
|
|
55
55
|
}
|
|
56
|
+
function showQuickHelp() {
|
|
57
|
+
console.log(`Usage: polyv-live-cli [options] [command]
|
|
58
|
+
|
|
59
|
+
CLI tool for managing PolyV live streaming services
|
|
60
|
+
|
|
61
|
+
Commands:
|
|
62
|
+
config Manage API configuration
|
|
63
|
+
channel Manage live channels
|
|
64
|
+
stream Stream operations
|
|
65
|
+
|
|
66
|
+
Quick Start:
|
|
67
|
+
$ polyv-live-cli config set # Setup authentication
|
|
68
|
+
$ polyv-live-cli channel --help # Channel operations
|
|
69
|
+
$ polyv-live-cli stream --help # Stream operations
|
|
70
|
+
|
|
71
|
+
Run 'polyv-live-cli --help' for full help or 'polyv-live-cli <command> --help' for command help.`);
|
|
72
|
+
}
|
|
56
73
|
async function main() {
|
|
57
74
|
const program = new commander_1.Command();
|
|
58
75
|
program
|
|
@@ -93,55 +110,15 @@ async function main() {
|
|
|
93
110
|
return { topLevel, subCommands };
|
|
94
111
|
}
|
|
95
112
|
program.addHelpText('after', `
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
3. .env files (.env.local, .env.{environment}, .env)
|
|
101
|
-
4. Default values (lowest priority)
|
|
102
|
-
|
|
103
|
-
Command line configuration:
|
|
104
|
-
--environment <env> Set environment (development|production|test)
|
|
105
|
-
--debug Enable debug mode
|
|
106
|
-
--timeout <ms> API timeout in milliseconds
|
|
107
|
-
--baseUrl <url> API base URL
|
|
108
|
-
--maxRetries <num> Maximum retry attempts
|
|
109
|
-
--config <path> Custom configuration file path
|
|
110
|
-
|
|
111
|
-
Environment variables:
|
|
112
|
-
POLYV_ENVIRONMENT Environment setting
|
|
113
|
-
POLYV_DEBUG Debug mode (true/false)
|
|
114
|
-
POLYV_TIMEOUT API timeout in milliseconds
|
|
115
|
-
POLYV_BASE_URL API base URL
|
|
116
|
-
POLYV_MAX_RETRIES Maximum retry attempts
|
|
117
|
-
POLYV_CONFIG_PATH Custom configuration file path
|
|
113
|
+
Quick Start:
|
|
114
|
+
$ polyv-live-cli config set # Setup authentication
|
|
115
|
+
$ polyv-live-cli channel --help # Channel operations
|
|
116
|
+
$ polyv-live-cli stream --help # Stream operations
|
|
118
117
|
|
|
119
118
|
Authentication:
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
polyv-live-cli config set
|
|
124
|
-
|
|
125
|
-
Method 2 - Command line:
|
|
126
|
-
--appId <ID> --appSecret <SECRET> [--userId <USER_ID>]
|
|
127
|
-
|
|
128
|
-
Method 3 - Environment variables:
|
|
129
|
-
POLYV_APP_ID, POLYV_APP_SECRET, POLYV_USER_ID
|
|
130
|
-
|
|
131
|
-
Examples:
|
|
132
|
-
$ polyv-live-cli config set # Interactive setup
|
|
133
|
-
$ polyv-live-cli config show # Show current config
|
|
134
|
-
$ polyv-live-cli --help # Show help
|
|
135
|
-
$ polyv-live-cli --version # Show version
|
|
136
|
-
$ polyv-live-cli channel create --name "My Live Stream" # Use configured credentials
|
|
137
|
-
$ polyv-live-cli --environment development --debug channel create --name "Test Channel"
|
|
138
|
-
$ polyv-live-cli --appId abc123 --appSecret xyz789 channel list # Override credentials
|
|
139
|
-
|
|
140
|
-
Environment file example (.env):
|
|
141
|
-
POLYV_ENVIRONMENT=development
|
|
142
|
-
POLYV_DEBUG=true
|
|
143
|
-
POLYV_APP_ID=abc123
|
|
144
|
-
POLYV_APP_SECRET=xyz789
|
|
119
|
+
- Run 'polyv-live-cli config set' for interactive setup
|
|
120
|
+
- Or use --appId and --appSecret parameters
|
|
121
|
+
- Or set POLYV_APP_ID and POLYV_APP_SECRET environment variables
|
|
145
122
|
`);
|
|
146
123
|
let unknownCommand = null;
|
|
147
124
|
program.on('command:*', (args) => {
|
|
@@ -150,6 +127,29 @@ Environment file example (.env):
|
|
|
150
127
|
program.exitOverride();
|
|
151
128
|
const args = process.argv.slice(2);
|
|
152
129
|
const isHelpOrVersion = args.some(arg => arg === '--help' || arg === '-h' || arg === '--version' || arg === '-v');
|
|
130
|
+
if (args.length === 0) {
|
|
131
|
+
showQuickHelp();
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
const hasValidCommand = args.includes('config') || args.includes('channel') || args.includes('stream');
|
|
135
|
+
if (hasValidCommand) {
|
|
136
|
+
try {
|
|
137
|
+
program.parse();
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
catch (err) {
|
|
141
|
+
if (err.code === 'commander.help' || err.code === 'commander.helpDisplayed' || err.code === 'commander.version') {
|
|
142
|
+
process.exit(0);
|
|
143
|
+
}
|
|
144
|
+
if (err.code && err.code.startsWith('commander.')) {
|
|
145
|
+
if (err.message && err.message !== '(outputHelp)') {
|
|
146
|
+
console.error(err.message);
|
|
147
|
+
}
|
|
148
|
+
process.exit(err.exitCode || 1);
|
|
149
|
+
}
|
|
150
|
+
throw err;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
153
|
if (!isHelpOrVersion && args.length > 0) {
|
|
154
154
|
const hasGlobalOptions = args.some(arg => arg.startsWith('--appId') || arg.startsWith('--appSecret') || arg.startsWith('--userId') ||
|
|
155
155
|
arg.startsWith('--environment') || arg.startsWith('--debug') || arg.startsWith('--timeout') ||
|
|
@@ -232,7 +232,7 @@ Environment file example (.env):
|
|
|
232
232
|
console.error('Run --help to see available commands');
|
|
233
233
|
process.exit(1);
|
|
234
234
|
}
|
|
235
|
-
|
|
235
|
+
showQuickHelp();
|
|
236
236
|
process.exit(0);
|
|
237
237
|
}
|
|
238
238
|
if (err.code === 'commander.version') {
|
|
@@ -246,10 +246,6 @@ Environment file example (.env):
|
|
|
246
246
|
}
|
|
247
247
|
throw err;
|
|
248
248
|
}
|
|
249
|
-
if (!args.length) {
|
|
250
|
-
console.log(program.helpInformation());
|
|
251
|
-
return;
|
|
252
|
-
}
|
|
253
249
|
const hasOnlyGlobalOptions = args.every(arg => {
|
|
254
250
|
if (arg.startsWith('-')) {
|
|
255
251
|
return arg.startsWith('--appId') || arg.startsWith('--appSecret') || arg.startsWith('--userId') ||
|
|
@@ -272,7 +268,7 @@ Environment file example (.env):
|
|
|
272
268
|
console.error('Auth configuration is incomplete');
|
|
273
269
|
process.exit(1);
|
|
274
270
|
}
|
|
275
|
-
|
|
271
|
+
showQuickHelp();
|
|
276
272
|
return;
|
|
277
273
|
}
|
|
278
274
|
if (!unknownCommand) {
|
|
@@ -338,7 +334,7 @@ Environment file example (.env):
|
|
|
338
334
|
if (hasActualCommands) {
|
|
339
335
|
return;
|
|
340
336
|
}
|
|
341
|
-
|
|
337
|
+
showQuickHelp();
|
|
342
338
|
}
|
|
343
339
|
}
|
|
344
340
|
if (require.main === module) {
|