polyv-live-cli 1.0.2

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 (107) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +417 -0
  3. package/dist/commands/channel.commands.d.ts +9 -0
  4. package/dist/commands/channel.commands.d.ts.map +1 -0
  5. package/dist/commands/channel.commands.js +439 -0
  6. package/dist/commands/channel.commands.js.map +1 -0
  7. package/dist/commands/index.d.ts +3 -0
  8. package/dist/commands/index.d.ts.map +1 -0
  9. package/dist/commands/index.js +8 -0
  10. package/dist/commands/index.js.map +1 -0
  11. package/dist/commands/stream.commands.d.ts +3 -0
  12. package/dist/commands/stream.commands.d.ts.map +1 -0
  13. package/dist/commands/stream.commands.js +272 -0
  14. package/dist/commands/stream.commands.js.map +1 -0
  15. package/dist/config/auth.d.ts +11 -0
  16. package/dist/config/auth.d.ts.map +1 -0
  17. package/dist/config/auth.js +124 -0
  18. package/dist/config/auth.js.map +1 -0
  19. package/dist/config/loader.d.ts +22 -0
  20. package/dist/config/loader.d.ts.map +1 -0
  21. package/dist/config/loader.js +127 -0
  22. package/dist/config/loader.js.map +1 -0
  23. package/dist/config/manager.d.ts +20 -0
  24. package/dist/config/manager.d.ts.map +1 -0
  25. package/dist/config/manager.js +258 -0
  26. package/dist/config/manager.js.map +1 -0
  27. package/dist/config/validator.d.ts +43 -0
  28. package/dist/config/validator.d.ts.map +1 -0
  29. package/dist/config/validator.js +222 -0
  30. package/dist/config/validator.js.map +1 -0
  31. package/dist/handlers/base.handler.d.ts +15 -0
  32. package/dist/handlers/base.handler.d.ts.map +1 -0
  33. package/dist/handlers/base.handler.js +122 -0
  34. package/dist/handlers/base.handler.js.map +1 -0
  35. package/dist/handlers/channel.handler.d.ts +31 -0
  36. package/dist/handlers/channel.handler.d.ts.map +1 -0
  37. package/dist/handlers/channel.handler.js +690 -0
  38. package/dist/handlers/channel.handler.js.map +1 -0
  39. package/dist/handlers/index.d.ts +4 -0
  40. package/dist/handlers/index.d.ts.map +1 -0
  41. package/dist/handlers/index.js +10 -0
  42. package/dist/handlers/index.js.map +1 -0
  43. package/dist/handlers/stream.handler.d.ts +25 -0
  44. package/dist/handlers/stream.handler.d.ts.map +1 -0
  45. package/dist/handlers/stream.handler.js +241 -0
  46. package/dist/handlers/stream.handler.js.map +1 -0
  47. package/dist/index.d.ts +4 -0
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +342 -0
  50. package/dist/index.js.map +1 -0
  51. package/dist/services/channel.service.d.ts +25 -0
  52. package/dist/services/channel.service.d.ts.map +1 -0
  53. package/dist/services/channel.service.js +672 -0
  54. package/dist/services/channel.service.js.map +1 -0
  55. package/dist/services/index.d.ts +3 -0
  56. package/dist/services/index.d.ts.map +1 -0
  57. package/dist/services/index.js +8 -0
  58. package/dist/services/index.js.map +1 -0
  59. package/dist/services/stream.service.d.ts +29 -0
  60. package/dist/services/stream.service.d.ts.map +1 -0
  61. package/dist/services/stream.service.js +489 -0
  62. package/dist/services/stream.service.js.map +1 -0
  63. package/dist/types/auth.d.ts +31 -0
  64. package/dist/types/auth.d.ts.map +1 -0
  65. package/dist/types/auth.js +14 -0
  66. package/dist/types/auth.js.map +1 -0
  67. package/dist/types/channel.d.ts +262 -0
  68. package/dist/types/channel.d.ts.map +1 -0
  69. package/dist/types/channel.js +3 -0
  70. package/dist/types/channel.js.map +1 -0
  71. package/dist/types/config.d.ts +82 -0
  72. package/dist/types/config.d.ts.map +1 -0
  73. package/dist/types/config.js +56 -0
  74. package/dist/types/config.js.map +1 -0
  75. package/dist/types/index.d.ts +6 -0
  76. package/dist/types/index.d.ts.map +1 -0
  77. package/dist/types/index.js +22 -0
  78. package/dist/types/index.js.map +1 -0
  79. package/dist/types/signature.d.ts +22 -0
  80. package/dist/types/signature.d.ts.map +1 -0
  81. package/dist/types/signature.js +3 -0
  82. package/dist/types/signature.js.map +1 -0
  83. package/dist/types/stream.d.ts +104 -0
  84. package/dist/types/stream.d.ts.map +1 -0
  85. package/dist/types/stream.js +3 -0
  86. package/dist/types/stream.js.map +1 -0
  87. package/dist/utils/confirmation.d.ts +12 -0
  88. package/dist/utils/confirmation.d.ts.map +1 -0
  89. package/dist/utils/confirmation.js +164 -0
  90. package/dist/utils/confirmation.js.map +1 -0
  91. package/dist/utils/errors.d.ts +40 -0
  92. package/dist/utils/errors.d.ts.map +1 -0
  93. package/dist/utils/errors.js +113 -0
  94. package/dist/utils/errors.js.map +1 -0
  95. package/dist/utils/formatter.d.ts +8 -0
  96. package/dist/utils/formatter.d.ts.map +1 -0
  97. package/dist/utils/formatter.js +93 -0
  98. package/dist/utils/formatter.js.map +1 -0
  99. package/dist/utils/index.d.ts +4 -0
  100. package/dist/utils/index.d.ts.map +1 -0
  101. package/dist/utils/index.js +20 -0
  102. package/dist/utils/index.js.map +1 -0
  103. package/dist/utils/signature.d.ts +9 -0
  104. package/dist/utils/signature.d.ts.map +1 -0
  105. package/dist/utils/signature.js +77 -0
  106. package/dist/utils/signature.js.map +1 -0
  107. package/package.json +86 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"channel.service.js","sourceRoot":"","sources":["../../src/services/channel.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { ChannelService } from './channel.service';
2
+ export { StreamService, StreamServiceConfig } from './stream.service';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGnD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.StreamService = exports.ChannelService = void 0;
4
+ var channel_service_1 = require("./channel.service");
5
+ Object.defineProperty(exports, "ChannelService", { enumerable: true, get: function () { return channel_service_1.ChannelService; } });
6
+ var stream_service_1 = require("./stream.service");
7
+ Object.defineProperty(exports, "StreamService", { enumerable: true, get: function () { return stream_service_1.StreamService; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;AAOA,qDAAmD;AAA1C,iHAAA,cAAc,OAAA;AAGvB,mDAAsE;AAA7D,+GAAA,aAAa,OAAA"}
@@ -0,0 +1,29 @@
1
+ import { StreamGetKeyRequest, StreamCredentials, StreamStartRequest, StreamStartResponse, StreamStopRequest, StreamStopResponse, StreamStatusRequest, StreamStatusInfo } from '../types/stream';
2
+ import { AuthConfig } from '../types/auth';
3
+ export interface StreamServiceConfig {
4
+ baseUrl: string;
5
+ timeout: number;
6
+ debug: boolean;
7
+ }
8
+ export declare class StreamService {
9
+ private readonly httpClient;
10
+ private readonly config;
11
+ private readonly authConfig;
12
+ constructor(authConfig: AuthConfig, serviceConfig: StreamServiceConfig);
13
+ getStreamKey(request: StreamGetKeyRequest): Promise<StreamCredentials>;
14
+ private validateGetStreamKeyRequest;
15
+ private createHttpClient;
16
+ private transformChannelDataToStreamCredentials;
17
+ private transformAxiosError;
18
+ startStream(request: StreamStartRequest): Promise<StreamStartResponse>;
19
+ private validateStartStreamRequest;
20
+ stopStream(request: StreamStopRequest): Promise<StreamStopResponse>;
21
+ private validateStopStreamRequest;
22
+ getStreamStatus(request: StreamStatusRequest): Promise<StreamStatusInfo>;
23
+ private getStreamInfo;
24
+ private getChannelBasicInfo;
25
+ private validateStreamStatusRequest;
26
+ private formatDuration;
27
+ private formatBandwidth;
28
+ }
29
+ //# sourceMappingURL=stream.service.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.service.d.ts","sourceRoot":"","sources":["../../src/services/stream.service.ts"],"names":[],"mappings":"AAOA,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAO3C,MAAM,WAAW,mBAAmB;IAElC,OAAO,EAAE,MAAM,CAAC;IAEhB,OAAO,EAAE,MAAM,CAAC;IAEhB,KAAK,EAAE,OAAO,CAAC;CAChB;AAKD,qBAAa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgB;IAC3C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAsB;IAC7C,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAO5B,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,mBAAmB;IAwBhE,YAAY,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAyH5E,OAAO,CAAC,2BAA2B;IAenC,OAAO,CAAC,gBAAgB;IA0DxB,OAAO,CAAC,uCAAuC;IAwB/C,OAAO,CAAC,mBAAmB;IAyDrB,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAoF5E,OAAO,CAAC,0BAA0B;IA4B5B,UAAU,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoFzE,OAAO,CAAC,yBAAyB;IA6B3B,eAAe,CAAC,OAAO,EAAE,mBAAmB,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAuJhE,aAAa;YA4Eb,mBAAmB;IAkDjC,OAAO,CAAC,2BAA2B;IAiBnC,OAAO,CAAC,cAAc;IAoBtB,OAAO,CAAC,eAAe;CAcxB"}
@@ -0,0 +1,489 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.StreamService = void 0;
7
+ const axios_1 = __importDefault(require("axios"));
8
+ const signature_1 = require("../utils/signature");
9
+ const errors_1 = require("../utils/errors");
10
+ class StreamService {
11
+ constructor(authConfig, serviceConfig) {
12
+ this.authConfig = authConfig;
13
+ this.config = serviceConfig;
14
+ this.httpClient = this.createHttpClient();
15
+ }
16
+ async getStreamKey(request) {
17
+ try {
18
+ this.validateGetStreamKeyRequest(request);
19
+ const timestamp = Date.now();
20
+ const signatureParams = {
21
+ appId: this.authConfig.appId,
22
+ timestamp,
23
+ channelId: request.channelId
24
+ };
25
+ const signatureResult = (0, signature_1.generateSignature)(signatureParams, {
26
+ appSecret: this.authConfig.appSecret,
27
+ debug: this.config.debug
28
+ });
29
+ const url = '/live/v4/channel/basic/get';
30
+ const params = {
31
+ appId: this.authConfig.appId,
32
+ timestamp: signatureResult.timestamp,
33
+ sign: signatureResult.signature,
34
+ channelId: request.channelId
35
+ };
36
+ if (this.config.debug) {
37
+ console.log('[StreamService] Getting stream key with request:', request);
38
+ console.log('[StreamService] API URL:', `${this.config.baseUrl}${url}`);
39
+ console.log('[StreamService] Auth params:', params);
40
+ }
41
+ const response = await this.httpClient.get(url, { params });
42
+ if (response.data.code !== 200 || !response.data.success) {
43
+ const errorMessage = response.data.error?.desc ||
44
+ 'Failed to get channel information';
45
+ throw new errors_1.PolyVAPIError(errorMessage, 'STREAM_API_ERROR', response.data.code, {
46
+ channelId: request.channelId,
47
+ apiStatus: response.data.status,
48
+ requestId: response.data.requestId
49
+ });
50
+ }
51
+ if (!response.data.data) {
52
+ throw new errors_1.PolyVAPIError('Channel information not available.', 'CHANNEL_NOT_FOUND', 400, { channelId: request.channelId });
53
+ }
54
+ const channelData = response.data.data;
55
+ if (!channelData.pushUrl || !channelData.pushSecret) {
56
+ throw new errors_1.PolyVAPIError('Push URL and secret not available. This may not be a pure video channel or streaming is not configured.', 'STREAM_CREDENTIALS_NOT_AVAILABLE', 400, {
57
+ channelId: request.channelId,
58
+ streamType: channelData.streamType,
59
+ template: channelData.template
60
+ });
61
+ }
62
+ return this.transformChannelDataToStreamCredentials(channelData, request.channelId);
63
+ }
64
+ catch (error) {
65
+ if (error instanceof errors_1.PolyVError) {
66
+ throw error;
67
+ }
68
+ if (axios_1.default.isAxiosError(error) ||
69
+ (error && typeof error === 'object' &&
70
+ ('response' in error || 'request' in error || 'config' in error))) {
71
+ const apiError = this.transformAxiosError(error);
72
+ throw apiError;
73
+ }
74
+ throw new errors_1.PolyVError('Failed to get stream key due to unexpected error', 'STREAM_GET_KEY_UNEXPECTED_ERROR', 500, {
75
+ originalError: error instanceof Error ? error.message : String(error),
76
+ channelId: request.channelId
77
+ });
78
+ }
79
+ }
80
+ validateGetStreamKeyRequest(request) {
81
+ if (!request.channelId || typeof request.channelId !== 'string' || request.channelId.trim() === '') {
82
+ throw new errors_1.PolyVValidationError('Channel ID cannot be empty', 'channelId', request.channelId, 'required');
83
+ }
84
+ }
85
+ createHttpClient() {
86
+ const client = axios_1.default.create({
87
+ baseURL: this.config.baseUrl,
88
+ timeout: this.config.timeout,
89
+ headers: {
90
+ 'Content-Type': 'application/json',
91
+ 'User-Agent': 'PolyV-CLI/3.1.0'
92
+ }
93
+ });
94
+ client.interceptors.request.use((config) => {
95
+ if (this.config.debug) {
96
+ console.log('[StreamService] Request:', {
97
+ method: config.method,
98
+ url: config.url,
99
+ params: config.params
100
+ });
101
+ }
102
+ return config;
103
+ }, (error) => {
104
+ if (this.config.debug) {
105
+ console.error('[StreamService] Request error:', error);
106
+ }
107
+ return Promise.reject(error);
108
+ });
109
+ client.interceptors.response.use((response) => {
110
+ if (this.config.debug) {
111
+ console.log('[StreamService] Response:', {
112
+ status: response.status,
113
+ data: response.data
114
+ });
115
+ }
116
+ return response;
117
+ }, (error) => {
118
+ if (this.config.debug) {
119
+ console.error('[StreamService] Response error:', error);
120
+ }
121
+ return Promise.reject(error);
122
+ });
123
+ return client;
124
+ }
125
+ transformChannelDataToStreamCredentials(channelData, channelId) {
126
+ return {
127
+ channelId,
128
+ rtmpUrl: channelData.pushUrl || '',
129
+ streamKey: channelData.pushSecret || '',
130
+ deployAddress: '',
131
+ inAddress: '',
132
+ metrics: {
133
+ fps: 0,
134
+ lfr: 0,
135
+ bandwidth: 0
136
+ }
137
+ };
138
+ }
139
+ transformAxiosError(error) {
140
+ if (error.response) {
141
+ const data = error.response.data;
142
+ return new errors_1.PolyVAPIError(data?.message || 'API request failed', 'STREAM_HTTP_ERROR', data?.code || error.response.status, {
143
+ httpStatus: error.response.status,
144
+ url: error.config?.url,
145
+ method: error.config?.method,
146
+ apiStatus: data?.status || 'error'
147
+ });
148
+ }
149
+ else if (error.request) {
150
+ return new errors_1.PolyVAPIError('No response received from API server', 'STREAM_NETWORK_ERROR', 0, {
151
+ timeout: error.code === 'ECONNABORTED',
152
+ url: error.config?.url
153
+ });
154
+ }
155
+ else {
156
+ return new errors_1.PolyVAPIError('Request setup failed', 'STREAM_REQUEST_ERROR', 0, {
157
+ message: error.message,
158
+ url: error.config?.url
159
+ });
160
+ }
161
+ }
162
+ async startStream(request) {
163
+ try {
164
+ this.validateStartStreamRequest(request);
165
+ const timestamp = Date.now();
166
+ const signatureParams = {
167
+ appId: this.authConfig.appId,
168
+ timestamp,
169
+ ...(this.authConfig.userId && { userId: this.authConfig.userId })
170
+ };
171
+ const signatureResult = (0, signature_1.generateSignature)(signatureParams, {
172
+ appSecret: this.authConfig.appSecret,
173
+ debug: this.config.debug
174
+ });
175
+ const url = `/live/v2/channels/${request.channelId}/live`;
176
+ const data = {
177
+ appId: this.authConfig.appId,
178
+ timestamp: signatureResult.timestamp,
179
+ sign: signatureResult.signature,
180
+ ...(this.authConfig.userId && { userId: this.authConfig.userId })
181
+ };
182
+ if (this.config.debug) {
183
+ console.log('[StreamService] Starting stream with request:', request);
184
+ console.log('[StreamService] API URL:', `${this.config.baseUrl}${url}`);
185
+ console.log('[StreamService] Request data:', data);
186
+ }
187
+ const response = await this.httpClient.post(url, data, {
188
+ headers: {
189
+ 'Content-Type': 'application/x-www-form-urlencoded'
190
+ }
191
+ });
192
+ if (response.data.code !== 200) {
193
+ throw new errors_1.PolyVAPIError(response.data.message || 'Failed to start stream', 'STREAM_START_API_ERROR', response.data.code, { channelId: request.channelId, apiStatus: response.data.status });
194
+ }
195
+ return response.data;
196
+ }
197
+ catch (error) {
198
+ if (error instanceof errors_1.PolyVError) {
199
+ throw error;
200
+ }
201
+ if (axios_1.default.isAxiosError(error) ||
202
+ (error && typeof error === 'object' &&
203
+ ('response' in error || 'request' in error || 'config' in error))) {
204
+ const apiError = this.transformAxiosError(error);
205
+ throw apiError;
206
+ }
207
+ throw new errors_1.PolyVError('Failed to start stream due to unexpected error', 'STREAM_START_UNEXPECTED_ERROR', 500, {
208
+ originalError: error instanceof Error ? error.message : String(error),
209
+ channelId: request.channelId
210
+ });
211
+ }
212
+ }
213
+ validateStartStreamRequest(request) {
214
+ if (!request.channelId || typeof request.channelId !== 'string' || request.channelId.trim() === '') {
215
+ throw new errors_1.PolyVValidationError('Channel ID cannot be empty', 'channelId', request.channelId, 'required');
216
+ }
217
+ }
218
+ async stopStream(request) {
219
+ try {
220
+ this.validateStopStreamRequest(request);
221
+ const timestamp = Date.now();
222
+ const signatureParams = {
223
+ appId: this.authConfig.appId,
224
+ timestamp,
225
+ ...(this.authConfig.userId && { userId: this.authConfig.userId })
226
+ };
227
+ const signatureResult = (0, signature_1.generateSignature)(signatureParams, {
228
+ appSecret: this.authConfig.appSecret,
229
+ debug: this.config.debug
230
+ });
231
+ const url = `/live/v2/channels/${request.channelId}/end`;
232
+ const data = {
233
+ appId: this.authConfig.appId,
234
+ timestamp: signatureResult.timestamp,
235
+ sign: signatureResult.signature,
236
+ ...(this.authConfig.userId && { userId: this.authConfig.userId })
237
+ };
238
+ if (this.config.debug) {
239
+ console.log('[StreamService] Stopping stream with request:', request);
240
+ console.log('[StreamService] API URL:', `${this.config.baseUrl}${url}`);
241
+ console.log('[StreamService] Request data:', data);
242
+ }
243
+ const response = await this.httpClient.post(url, data, {
244
+ headers: {
245
+ 'Content-Type': 'application/x-www-form-urlencoded'
246
+ }
247
+ });
248
+ if (response.data.code !== 200) {
249
+ throw new errors_1.PolyVAPIError(response.data.message || 'Failed to stop stream', 'STREAM_STOP_API_ERROR', response.data.code, { channelId: request.channelId, apiStatus: response.data.status });
250
+ }
251
+ return response.data;
252
+ }
253
+ catch (error) {
254
+ if (error instanceof errors_1.PolyVError) {
255
+ throw error;
256
+ }
257
+ if (axios_1.default.isAxiosError(error) ||
258
+ (error && typeof error === 'object' &&
259
+ ('response' in error || 'request' in error || 'config' in error))) {
260
+ const apiError = this.transformAxiosError(error);
261
+ throw apiError;
262
+ }
263
+ throw new errors_1.PolyVError('Failed to stop stream due to unexpected error', 'STREAM_STOP_UNEXPECTED_ERROR', 500, {
264
+ originalError: error instanceof Error ? error.message : String(error),
265
+ channelId: request.channelId
266
+ });
267
+ }
268
+ }
269
+ validateStopStreamRequest(request) {
270
+ if (!request.channelId || typeof request.channelId !== 'string' || request.channelId.trim() === '') {
271
+ throw new errors_1.PolyVValidationError('Channel ID cannot be empty', 'channelId', request.channelId, 'required');
272
+ }
273
+ }
274
+ async getStreamStatus(request) {
275
+ try {
276
+ this.validateStreamStatusRequest(request);
277
+ let streamMonitorData = null;
278
+ let streamInfoError;
279
+ try {
280
+ streamMonitorData = await this.getStreamInfo(request.channelId);
281
+ }
282
+ catch (error) {
283
+ if (error instanceof errors_1.PolyVAPIError) {
284
+ streamInfoError = {
285
+ code: error.code || 'STREAM_INFO_ERROR',
286
+ message: error.message
287
+ };
288
+ }
289
+ }
290
+ let channelStatus = 'unknown';
291
+ let statusText = 'Unknown';
292
+ let isLive = false;
293
+ let channelError;
294
+ try {
295
+ const channelInfo = await this.getChannelBasicInfo(request.channelId);
296
+ if (channelInfo && channelInfo.watchStatus) {
297
+ switch (channelInfo.watchStatus) {
298
+ case 'live':
299
+ channelStatus = 'live';
300
+ statusText = 'Live';
301
+ isLive = true;
302
+ break;
303
+ case 'waiting':
304
+ case 'unStart':
305
+ channelStatus = 'waiting';
306
+ statusText = 'Waiting';
307
+ break;
308
+ case 'end':
309
+ case 'playback':
310
+ channelStatus = 'stopped';
311
+ statusText = 'Stopped';
312
+ break;
313
+ case 'banpush':
314
+ channelStatus = 'error';
315
+ statusText = 'Push Banned';
316
+ break;
317
+ default:
318
+ channelStatus = 'unknown';
319
+ statusText = channelInfo.watchStatus || 'Unknown';
320
+ }
321
+ }
322
+ }
323
+ catch (error) {
324
+ channelStatus = 'error';
325
+ statusText = 'Channel Error';
326
+ if (error instanceof errors_1.PolyVAPIError) {
327
+ channelError = {
328
+ code: error.code || 'CHANNEL_ERROR',
329
+ message: error.message
330
+ };
331
+ }
332
+ }
333
+ let duration;
334
+ let durationText;
335
+ if (isLive && streamMonitorData && streamMonitorData.retrievedAt) {
336
+ duration = Date.now() - streamMonitorData.retrievedAt.getTime();
337
+ durationText = this.formatDuration(duration);
338
+ }
339
+ let metrics;
340
+ if (streamMonitorData) {
341
+ const fpsValue = parseFloat(streamMonitorData.fps) || 0;
342
+ const lfrValue = parseFloat(streamMonitorData.lfr || '0') || 0;
343
+ const bandwidthValue = parseFloat(streamMonitorData.inBandWidth) || 0;
344
+ metrics = {
345
+ fps: fpsValue,
346
+ lfr: lfrValue,
347
+ bandwidth: bandwidthValue,
348
+ bandwidthText: this.formatBandwidth(bandwidthValue)
349
+ };
350
+ }
351
+ let network;
352
+ if (streamMonitorData) {
353
+ network = {
354
+ ...(streamMonitorData.deployAddress && { deployAddress: streamMonitorData.deployAddress }),
355
+ ...(streamMonitorData.inAddress && { inAddress: streamMonitorData.inAddress }),
356
+ ...(streamMonitorData.streamName && { streamName: streamMonitorData.streamName })
357
+ };
358
+ }
359
+ let finalError;
360
+ if (channelStatus === 'waiting' && streamInfoError) {
361
+ finalError = streamInfoError;
362
+ }
363
+ else if (channelStatus === 'error') {
364
+ finalError = channelError || streamInfoError;
365
+ }
366
+ const statusInfo = {
367
+ channelId: request.channelId,
368
+ status: channelStatus,
369
+ statusText,
370
+ isLive,
371
+ ...(duration !== undefined && { duration }),
372
+ ...(durationText !== undefined && { durationText }),
373
+ ...(metrics !== undefined && { metrics }),
374
+ ...(network !== undefined && { network }),
375
+ lastUpdated: new Date(),
376
+ ...(finalError !== undefined && { error: finalError })
377
+ };
378
+ return statusInfo;
379
+ }
380
+ catch (error) {
381
+ if (error instanceof errors_1.PolyVError) {
382
+ throw error;
383
+ }
384
+ throw new errors_1.PolyVError('Failed to get stream status due to unexpected error', 'STREAM_STATUS_UNEXPECTED_ERROR', 500, {
385
+ originalError: error instanceof Error ? error.message : String(error),
386
+ channelId: request.channelId
387
+ });
388
+ }
389
+ }
390
+ async getStreamInfo(channelId) {
391
+ const timestamp = Date.now();
392
+ const signatureParams = {
393
+ appId: this.authConfig.appId,
394
+ timestamp,
395
+ channelId
396
+ };
397
+ const signatureResult = (0, signature_1.generateSignature)(signatureParams, {
398
+ appSecret: this.authConfig.appSecret,
399
+ debug: this.config.debug
400
+ });
401
+ const url = '/live/v3/channel/monitor/get-stream-info';
402
+ const params = {
403
+ appId: this.authConfig.appId,
404
+ timestamp: signatureResult.timestamp,
405
+ sign: signatureResult.signature,
406
+ channelId
407
+ };
408
+ if (this.config.debug) {
409
+ console.log('[StreamService] Getting stream info with channelId:', channelId);
410
+ console.log('[StreamService] API URL:', `${this.config.baseUrl}${url}`);
411
+ console.log('[StreamService] Auth params:', params);
412
+ }
413
+ const response = await this.httpClient.get(url, { params });
414
+ if (response.data.code !== 200) {
415
+ throw new errors_1.PolyVAPIError(response.data.message || 'Failed to get stream information', 'STREAM_INFO_API_ERROR', response.data.code, { channelId, apiStatus: response.data.status });
416
+ }
417
+ const data = response.data.data;
418
+ if (!data) {
419
+ throw new errors_1.PolyVAPIError('Stream information not available', 'STREAM_INFO_NOT_AVAILABLE', 400, { channelId });
420
+ }
421
+ return {
422
+ deployAddress: data.deployAddress,
423
+ inAddress: data.inAddress,
424
+ streamName: data.streamName || '',
425
+ fps: data.fps || '0',
426
+ lfr: data.lfr,
427
+ inBandWidth: data.inBandWidth || '0',
428
+ retrievedAt: new Date(),
429
+ channelId
430
+ };
431
+ }
432
+ async getChannelBasicInfo(channelId) {
433
+ const timestamp = Date.now();
434
+ const signatureParams = {
435
+ appId: this.authConfig.appId,
436
+ timestamp,
437
+ channelId
438
+ };
439
+ const signatureResult = (0, signature_1.generateSignature)(signatureParams, {
440
+ appSecret: this.authConfig.appSecret,
441
+ debug: this.config.debug
442
+ });
443
+ const url = '/live/v4/channel/basic/get';
444
+ const params = {
445
+ appId: this.authConfig.appId,
446
+ timestamp: signatureResult.timestamp,
447
+ sign: signatureResult.signature,
448
+ channelId
449
+ };
450
+ const response = await this.httpClient.get(url, { params });
451
+ if (response.data.code !== 200 || !response.data.success) {
452
+ throw new errors_1.PolyVAPIError('Failed to get channel information', 'CHANNEL_INFO_API_ERROR', response.data.code, { channelId });
453
+ }
454
+ return response.data.data;
455
+ }
456
+ validateStreamStatusRequest(request) {
457
+ if (!request.channelId || typeof request.channelId !== 'string' || request.channelId.trim() === '') {
458
+ throw new errors_1.PolyVValidationError('Channel ID cannot be empty', 'channelId', request.channelId, 'required');
459
+ }
460
+ }
461
+ formatDuration(duration) {
462
+ const seconds = Math.floor(duration / 1000);
463
+ const minutes = Math.floor(seconds / 60);
464
+ const hours = Math.floor(minutes / 60);
465
+ if (hours > 0) {
466
+ return `${hours}h ${minutes % 60}m ${seconds % 60}s`;
467
+ }
468
+ else if (minutes > 0) {
469
+ return `${minutes}m ${seconds % 60}s`;
470
+ }
471
+ else {
472
+ return `${seconds}s`;
473
+ }
474
+ }
475
+ formatBandwidth(bandwidth) {
476
+ if (bandwidth === 0)
477
+ return '0 bps';
478
+ const units = ['bps', 'Kbps', 'Mbps', 'Gbps'];
479
+ let unitIndex = 0;
480
+ let value = bandwidth;
481
+ while (value >= 1024 && unitIndex < units.length - 1) {
482
+ value /= 1024;
483
+ unitIndex++;
484
+ }
485
+ return `${value.toFixed(2)} ${units[unitIndex]}`;
486
+ }
487
+ }
488
+ exports.StreamService = StreamService;
489
+ //# sourceMappingURL=stream.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stream.service.js","sourceRoot":"","sources":["../../src/services/stream.service.ts"],"names":[],"mappings":"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"}