polyv-live-cli 1.2.13 → 1.2.17

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 (144) hide show
  1. package/dist/commands/chat.commands.d.ts +5 -0
  2. package/dist/commands/chat.commands.d.ts.map +1 -0
  3. package/dist/commands/chat.commands.js +203 -0
  4. package/dist/commands/chat.commands.js.map +1 -0
  5. package/dist/commands/document.commands.d.ts +6 -0
  6. package/dist/commands/document.commands.d.ts.map +1 -0
  7. package/dist/commands/document.commands.js +391 -0
  8. package/dist/commands/document.commands.js.map +1 -0
  9. package/dist/commands/playback.commands.d.ts +5 -0
  10. package/dist/commands/playback.commands.d.ts.map +1 -0
  11. package/dist/commands/playback.commands.js +406 -0
  12. package/dist/commands/playback.commands.js.map +1 -0
  13. package/dist/commands/player.commands.d.ts +7 -0
  14. package/dist/commands/player.commands.d.ts.map +1 -0
  15. package/dist/commands/player.commands.js +240 -0
  16. package/dist/commands/player.commands.js.map +1 -0
  17. package/dist/commands/product.commands.d.ts.map +1 -1
  18. package/dist/commands/product.commands.js +24 -13
  19. package/dist/commands/product.commands.js.map +1 -1
  20. package/dist/commands/record.commands.d.ts +8 -0
  21. package/dist/commands/record.commands.d.ts.map +1 -0
  22. package/dist/commands/record.commands.js +359 -0
  23. package/dist/commands/record.commands.js.map +1 -0
  24. package/dist/commands/session.commands.d.ts +4 -0
  25. package/dist/commands/session.commands.d.ts.map +1 -0
  26. package/dist/commands/session.commands.js +238 -0
  27. package/dist/commands/session.commands.js.map +1 -0
  28. package/dist/commands/statistics.commands.d.ts +6 -0
  29. package/dist/commands/statistics.commands.d.ts.map +1 -0
  30. package/dist/commands/statistics.commands.export.d.ts +7 -0
  31. package/dist/commands/statistics.commands.export.d.ts.map +1 -0
  32. package/dist/commands/statistics.commands.export.js +232 -0
  33. package/dist/commands/statistics.commands.export.js.map +1 -0
  34. package/dist/commands/statistics.commands.js +401 -0
  35. package/dist/commands/statistics.commands.js.map +1 -0
  36. package/dist/handlers/chat.handler.d.ts +19 -0
  37. package/dist/handlers/chat.handler.d.ts.map +1 -0
  38. package/dist/handlers/chat.handler.js +170 -0
  39. package/dist/handlers/chat.handler.js.map +1 -0
  40. package/dist/handlers/document.handler.d.ts +51 -0
  41. package/dist/handlers/document.handler.d.ts.map +1 -0
  42. package/dist/handlers/document.handler.js +221 -0
  43. package/dist/handlers/document.handler.js.map +1 -0
  44. package/dist/handlers/playback.handler.d.ts +43 -0
  45. package/dist/handlers/playback.handler.d.ts.map +1 -0
  46. package/dist/handlers/playback.handler.js +260 -0
  47. package/dist/handlers/playback.handler.js.map +1 -0
  48. package/dist/handlers/player.handler.d.ts +21 -0
  49. package/dist/handlers/player.handler.d.ts.map +1 -0
  50. package/dist/handlers/player.handler.js +84 -0
  51. package/dist/handlers/player.handler.js.map +1 -0
  52. package/dist/handlers/product.handler.d.ts +1 -0
  53. package/dist/handlers/product.handler.d.ts.map +1 -1
  54. package/dist/handlers/product.handler.js +34 -17
  55. package/dist/handlers/product.handler.js.map +1 -1
  56. package/dist/handlers/record.handler.d.ts +24 -0
  57. package/dist/handlers/record.handler.d.ts.map +1 -0
  58. package/dist/handlers/record.handler.js +202 -0
  59. package/dist/handlers/record.handler.js.map +1 -0
  60. package/dist/handlers/session.handler.d.ts +27 -0
  61. package/dist/handlers/session.handler.d.ts.map +1 -0
  62. package/dist/handlers/session.handler.js +135 -0
  63. package/dist/handlers/session.handler.js.map +1 -0
  64. package/dist/handlers/statistics.handler.d.ts +37 -0
  65. package/dist/handlers/statistics.handler.d.ts.map +1 -0
  66. package/dist/handlers/statistics.handler.js +302 -0
  67. package/dist/handlers/statistics.handler.js.map +1 -0
  68. package/dist/index.d.ts.map +1 -1
  69. package/dist/index.js +22 -5
  70. package/dist/index.js.map +1 -1
  71. package/dist/services/chat.service.sdk.d.ts +15 -0
  72. package/dist/services/chat.service.sdk.d.ts.map +1 -0
  73. package/dist/services/chat.service.sdk.js +110 -0
  74. package/dist/services/chat.service.sdk.js.map +1 -0
  75. package/dist/services/document.service.sdk.d.ts +27 -0
  76. package/dist/services/document.service.sdk.d.ts.map +1 -0
  77. package/dist/services/document.service.sdk.js +151 -0
  78. package/dist/services/document.service.sdk.js.map +1 -0
  79. package/dist/services/playback.service.sdk.d.ts +31 -0
  80. package/dist/services/playback.service.sdk.d.ts.map +1 -0
  81. package/dist/services/playback.service.sdk.js +165 -0
  82. package/dist/services/playback.service.sdk.js.map +1 -0
  83. package/dist/services/player.service.sdk.d.ts +15 -0
  84. package/dist/services/player.service.sdk.d.ts.map +1 -0
  85. package/dist/services/player.service.sdk.js +110 -0
  86. package/dist/services/player.service.sdk.js.map +1 -0
  87. package/dist/services/product.service.sdk.d.ts.map +1 -1
  88. package/dist/services/product.service.sdk.js +39 -21
  89. package/dist/services/product.service.sdk.js.map +1 -1
  90. package/dist/services/record.service.sdk.d.ts +13 -0
  91. package/dist/services/record.service.sdk.d.ts.map +1 -0
  92. package/dist/services/record.service.sdk.js +132 -0
  93. package/dist/services/record.service.sdk.js.map +1 -0
  94. package/dist/services/session.service.sdk.d.ts +19 -0
  95. package/dist/services/session.service.sdk.d.ts.map +1 -0
  96. package/dist/services/session.service.sdk.js +105 -0
  97. package/dist/services/session.service.sdk.js.map +1 -0
  98. package/dist/services/statistics.service.sdk.d.ts +23 -0
  99. package/dist/services/statistics.service.sdk.d.ts.map +1 -0
  100. package/dist/services/statistics.service.sdk.js +284 -0
  101. package/dist/services/statistics.service.sdk.js.map +1 -0
  102. package/dist/types/chat.d.ts +35 -0
  103. package/dist/types/chat.d.ts.map +1 -0
  104. package/dist/types/chat.js +3 -0
  105. package/dist/types/chat.js.map +1 -0
  106. package/dist/types/document.d.ts +115 -0
  107. package/dist/types/document.d.ts.map +1 -0
  108. package/dist/types/document.js +12 -0
  109. package/dist/types/document.js.map +1 -0
  110. package/dist/types/index.d.ts +2 -0
  111. package/dist/types/index.d.ts.map +1 -1
  112. package/dist/types/index.js +2 -0
  113. package/dist/types/index.js.map +1 -1
  114. package/dist/types/playback.d.ts +107 -0
  115. package/dist/types/playback.d.ts.map +1 -0
  116. package/dist/types/playback.js +10 -0
  117. package/dist/types/playback.js.map +1 -0
  118. package/dist/types/player.d.ts +34 -0
  119. package/dist/types/player.d.ts.map +1 -0
  120. package/dist/types/player.js +3 -0
  121. package/dist/types/player.js.map +1 -0
  122. package/dist/types/product.d.ts +1 -0
  123. package/dist/types/product.d.ts.map +1 -1
  124. package/dist/types/record.d.ts +76 -0
  125. package/dist/types/record.d.ts.map +1 -0
  126. package/dist/types/record.js +3 -0
  127. package/dist/types/record.js.map +1 -0
  128. package/dist/types/session.d.ts +78 -0
  129. package/dist/types/session.d.ts.map +1 -0
  130. package/dist/types/session.js +8 -0
  131. package/dist/types/session.js.map +1 -0
  132. package/dist/types/statistics-export.d.ts +42 -0
  133. package/dist/types/statistics-export.d.ts.map +1 -0
  134. package/dist/types/statistics-export.js +8 -0
  135. package/dist/types/statistics-export.js.map +1 -0
  136. package/dist/types/statistics.d.ts +72 -0
  137. package/dist/types/statistics.d.ts.map +1 -0
  138. package/dist/types/statistics.js +3 -0
  139. package/dist/types/statistics.js.map +1 -0
  140. package/dist/utils/date-validation.d.ts +22 -0
  141. package/dist/utils/date-validation.d.ts.map +1 -0
  142. package/dist/utils/date-validation.js +118 -0
  143. package/dist/utils/date-validation.js.map +1 -0
  144. package/package.json +2 -2
@@ -0,0 +1,406 @@
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
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.validateOutputFormat = validateOutputFormat;
37
+ exports.validateListType = validateListType;
38
+ exports.registerPlaybackCommands = registerPlaybackCommands;
39
+ const manager_1 = require("../config/manager");
40
+ const auth_adapter_1 = require("../config/auth-adapter");
41
+ const errors_1 = require("../utils/errors");
42
+ async function loadAuthAndServiceConfig(parentOptions) {
43
+ const authResult = auth_adapter_1.authAdapter.tryGetAuthConfig(parentOptions);
44
+ if (!authResult) {
45
+ throw new Error(auth_adapter_1.authAdapter.getStatusMessage(parentOptions));
46
+ }
47
+ let configResult;
48
+ try {
49
+ configResult = await manager_1.configManager.load({
50
+ cliOptions: parentOptions,
51
+ });
52
+ }
53
+ catch (error) {
54
+ if (error instanceof Error && error.message.includes('Auth configuration is incomplete')) {
55
+ configResult = {
56
+ config: {
57
+ baseUrl: 'https://api.polyv.net',
58
+ timeout: 30000,
59
+ debug: false
60
+ }
61
+ };
62
+ }
63
+ else {
64
+ throw error;
65
+ }
66
+ }
67
+ const serviceConfig = {
68
+ baseUrl: configResult.config.baseUrl,
69
+ timeout: configResult.config.timeout,
70
+ debug: configResult.config.debug
71
+ };
72
+ const isVerbose = !!parentOptions.verbose;
73
+ if (isVerbose) {
74
+ console.log(`🔐 Authentication Source: ${authResult.source}`);
75
+ if (authResult.accountName) {
76
+ console.log(`👤 Account: ${authResult.accountName}`);
77
+ }
78
+ console.log('');
79
+ }
80
+ const result = {
81
+ authConfig: authResult.config,
82
+ serviceConfig,
83
+ isVerbose,
84
+ };
85
+ if (authResult.source) {
86
+ result.authSource = authResult.source;
87
+ }
88
+ if (authResult.accountName) {
89
+ result.accountName = authResult.accountName;
90
+ }
91
+ return result;
92
+ }
93
+ function validateOutputFormat(value) {
94
+ if (!['table', 'json'].includes(value)) {
95
+ throw new Error('Output format must be either "table" or "json"');
96
+ }
97
+ return value;
98
+ }
99
+ function validateListType(value) {
100
+ if (!['playback', 'vod'].includes(value)) {
101
+ throw new Error('List type must be either "playback" or "vod"');
102
+ }
103
+ return value;
104
+ }
105
+ function registerPlaybackCommands(program) {
106
+ const playbackCmd = program.command('playback');
107
+ playbackCmd.description('回放管理命令');
108
+ const listCmd = playbackCmd
109
+ .command('list')
110
+ .description(`获取频道回放列表
111
+
112
+ Examples:
113
+ $ polyv-live-cli playback list -c "2191532"
114
+ $ polyv-live-cli playback list -c "2191532" --list-type vod
115
+ $ polyv-live-cli playback list -c "2191532" --page 2 --page-size 20 -o json`)
116
+ .requiredOption('-c, --channel-id <channelId>', '频道ID')
117
+ .option('--page <number>', '页码,默认为1', (value) => parseInt(value, 10), 1)
118
+ .option('--page-size <number>', '每页数量,默认为10', (value) => parseInt(value, 10), 10)
119
+ .option('--list-type <type>', '列表类型 (playback|vod)', validateListType, 'playback')
120
+ .option('-o, --output <format>', '输出格式 (table|json)', validateOutputFormat, 'table')
121
+ .action(async function (options) {
122
+ try {
123
+ const parentOptions = this.optsWithGlobals();
124
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
125
+ const { PlaybackHandler } = await Promise.resolve().then(() => __importStar(require('../handlers/playback.handler')));
126
+ const playbackHandler = new PlaybackHandler(authConfig, serviceConfig);
127
+ const listOptions = {
128
+ channelId: options.channelId,
129
+ page: options.page,
130
+ pageSize: options.pageSize,
131
+ listType: options.listType,
132
+ output: options.output
133
+ };
134
+ await playbackHandler.listPlayback(listOptions);
135
+ }
136
+ catch (error) {
137
+ if (error instanceof Error && error.message.includes('Authentication')) {
138
+ const diagnostics = auth_adapter_1.authAdapter.getDiagnostics(program.opts());
139
+ console.error('\n🔍 Authentication Diagnostics:');
140
+ diagnostics.availableSources.forEach(source => {
141
+ const status = source.appId && source.appSecret ? '✅' : '❌';
142
+ console.error(` ${status} ${source.metadata.source}: ${source.type}`);
143
+ });
144
+ if (diagnostics.errors.length > 0) {
145
+ console.error('\n❌ Errors:');
146
+ diagnostics.errors.forEach(err => console.error(` - ${err}`));
147
+ }
148
+ }
149
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
150
+ process.exit(1);
151
+ }
152
+ });
153
+ listCmd.addHelpText('after', `
154
+ Examples:
155
+ # 获取频道回放列表
156
+ $ polyv-live-cli playback list -c "2191532"
157
+
158
+ # 获取点播列表
159
+ $ polyv-live-cli playback list -c "2191532" --list-type vod
160
+
161
+ # 指定分页参数
162
+ $ polyv-live-cli playback list -c "2191532" --page 2 --page-size 20
163
+
164
+ # JSON格式输出
165
+ $ polyv-live-cli playback list -c "2191532" -o json
166
+
167
+ Options:
168
+ -c, --channel-id 频道ID (必填)
169
+ --page 页码,默认为1
170
+ --page-size 每页数量,默认为10
171
+ --list-type 列表类型: playback(回放) 或 vod(点播),默认为playback
172
+ -o, --output 输出格式: table 或 json,默认为table
173
+
174
+ Notes:
175
+ - 频道ID是必填参数
176
+ - 回放列表包含直播生成的回放视频
177
+ - 点播列表包含手动上传的视频
178
+ `);
179
+ const getCmd = playbackCmd
180
+ .command('get')
181
+ .description(`获取单个回放视频详情
182
+
183
+ Examples:
184
+ $ polyv-live-cli playback get -c "2191532" --video-id "1b96d90bf5"
185
+ $ polyv-live-cli playback get -c "2191532" --video-id "1b96d90bf5" --list-type vod
186
+ $ polyv-live-cli playback get -c "2191532" --video-id "1b96d90bf5" -o json`)
187
+ .requiredOption('-c, --channel-id <channelId>', '频道ID')
188
+ .requiredOption('--video-id <videoId>', '视频ID')
189
+ .option('--list-type <type>', '列表类型 (playback|vod)', validateListType, 'playback')
190
+ .option('-o, --output <format>', '输出格式 (table|json)', validateOutputFormat, 'table')
191
+ .action(async function (options) {
192
+ try {
193
+ const parentOptions = this.optsWithGlobals();
194
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
195
+ const { PlaybackHandler } = await Promise.resolve().then(() => __importStar(require('../handlers/playback.handler')));
196
+ const playbackHandler = new PlaybackHandler(authConfig, serviceConfig);
197
+ const getOptions = {
198
+ channelId: options.channelId,
199
+ videoId: options.videoId,
200
+ listType: options.listType,
201
+ output: options.output
202
+ };
203
+ await playbackHandler.getPlayback(getOptions);
204
+ }
205
+ catch (error) {
206
+ if (error instanceof Error && error.message.includes('Authentication')) {
207
+ const diagnostics = auth_adapter_1.authAdapter.getDiagnostics(program.opts());
208
+ console.error('\n🔍 Authentication Diagnostics:');
209
+ diagnostics.availableSources.forEach(source => {
210
+ const status = source.appId && source.appSecret ? '✅' : '❌';
211
+ console.error(` ${status} ${source.metadata.source}: ${source.type}`);
212
+ });
213
+ if (diagnostics.errors.length > 0) {
214
+ console.error('\n❌ Errors:');
215
+ diagnostics.errors.forEach(err => console.error(` - ${err}`));
216
+ }
217
+ }
218
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
219
+ process.exit(1);
220
+ }
221
+ });
222
+ getCmd.addHelpText('after', `
223
+ Examples:
224
+ # 获取回放视频详情
225
+ $ polyv-live-cli playback get -c "2191532" --video-id "1b96d90bf5"
226
+
227
+ # 获取点播视频详情
228
+ $ polyv-live-cli playback get -c "2191532" --video-id "1b96d90bf5" --list-type vod
229
+
230
+ # JSON格式输出
231
+ $ polyv-live-cli playback get -c "2191532" --video-id "1b96d90bf5" -o json
232
+
233
+ Options:
234
+ -c, --channel-id 频道ID (必填)
235
+ --video-id 视频ID (必填)
236
+ --list-type 列表类型: playback(回放) 或 vod(点播),默认为playback
237
+ -o, --output 输出格式: table 或 json,默认为table
238
+
239
+ Notes:
240
+ - 频道ID和视频ID都是必填参数
241
+ - 如果视频不存在,会显示友好的错误提示
242
+ `);
243
+ const deleteCmd = playbackCmd
244
+ .command('delete')
245
+ .description(`删除回放视频
246
+
247
+ Examples:
248
+ $ polyv-live-cli playback delete -c "3151318" --video-id "1b96d90bf5"
249
+ $ polyv-live-cli playback delete -c "3151318" --video-id "1b96d90bf5" --force
250
+ $ polyv-live-cli playback delete -c "3151318" --video-id "1b96d90bf5" --list-type vod --force
251
+ $ polyv-live-cli playback delete -c "3151318" --video-id "1b96d90bf5" --force -o json`)
252
+ .requiredOption('-c, --channel-id <channelId>', '频道ID')
253
+ .requiredOption('--video-id <videoId>', '视频ID')
254
+ .option('--list-type <type>', '列表类型 (playback|vod)', validateListType, 'playback')
255
+ .option('--force', '跳过确认提示,直接删除', false)
256
+ .option('-o, --output <format>', '输出格式 (table|json)', validateOutputFormat, 'table')
257
+ .action(async function (options) {
258
+ try {
259
+ const parentOptions = this.optsWithGlobals();
260
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
261
+ const { PlaybackHandler } = await Promise.resolve().then(() => __importStar(require('../handlers/playback.handler')));
262
+ const playbackHandler = new PlaybackHandler(authConfig, serviceConfig);
263
+ const deleteOptions = {
264
+ channelId: options.channelId,
265
+ videoId: options.videoId,
266
+ listType: options.listType,
267
+ force: options.force,
268
+ output: options.output
269
+ };
270
+ await playbackHandler.deletePlayback(deleteOptions);
271
+ }
272
+ catch (error) {
273
+ if (error instanceof Error && error.message.includes('Authentication')) {
274
+ const diagnostics = auth_adapter_1.authAdapter.getDiagnostics(program.opts());
275
+ console.error('\n🔍 Authentication Diagnostics:');
276
+ diagnostics.availableSources.forEach(source => {
277
+ const status = source.appId && source.appSecret ? '✅' : '❌';
278
+ console.error(` ${status} ${source.metadata.source}: ${source.type}`);
279
+ });
280
+ if (diagnostics.errors.length > 0) {
281
+ console.error('\n❌ Errors:');
282
+ diagnostics.errors.forEach(err => console.error(` - ${err}`));
283
+ }
284
+ }
285
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
286
+ process.exit(1);
287
+ }
288
+ });
289
+ deleteCmd.addHelpText('after', `
290
+ Examples:
291
+ # 删除回放视频(需要确认)
292
+ $ polyv-live-cli playback delete -c "3151318" --video-id "1b96d90bf5"
293
+
294
+ # 跳过确认直接删除
295
+ $ polyv-live-cli playback delete -c "3151318" --video-id "1b96d90bf5" --force
296
+
297
+ # 删除点播视频
298
+ $ polyv-live-cli playback delete -c "3151318" --video-id "1b96d90bf5" --list-type vod --force
299
+
300
+ # JSON格式输出
301
+ $ polyv-live-cli playback delete -c "3151318" --video-id "1b96d90bf5" --force -o json
302
+
303
+ Options:
304
+ -c, --channel-id 频道ID (必填)
305
+ --video-id 视频ID (必填)
306
+ --list-type 列表类型: playback(回放) 或 vod(点播),默认为playback
307
+ --force 跳过确认提示,直接删除
308
+ -o, --output 输出格式: table 或 json,默认为table
309
+
310
+ Notes:
311
+ - 频道ID和视频ID都是必填参数
312
+ - 默认需要确认,使用 --force 可以跳过确认
313
+ - 此操作不可撤销,请谨慎使用
314
+ `);
315
+ const mergeCmd = playbackCmd
316
+ .command('merge')
317
+ .description(`合并录制文件
318
+
319
+ Examples:
320
+ $ polyv-live-cli playback merge -c "3151318" --file-ids "file1,file2,file3"
321
+ $ polyv-live-cli playback merge -c "3151318" --file-ids "file1,file2" --file-name "合并回放"
322
+ $ polyv-live-cli playback merge -c "3151318" --file-ids "file1,file2" --async
323
+ $ polyv-live-cli playback merge -c "3151318" --file-ids "file1,file2" --async --callback-url "http://example.com/callback"
324
+ $ polyv-live-cli playback merge -c "3151318" --file-ids "file1,file2" --async --auto-convert --merge-mp4
325
+ $ polyv-live-cli playback merge -c "3151318" --file-ids "file1,file2" -o json`)
326
+ .requiredOption('-c, --channel-id <channelId>', '频道ID')
327
+ .requiredOption('--file-ids <fileIds>', '要合并的录制文件ID,多个ID用逗号分隔')
328
+ .option('--file-name [fileName]', '合并后的文件名')
329
+ .option('--async', '使用异步合并模式', false)
330
+ .option('--callback-url [url]', '合并完成后的回调URL(异步模式)')
331
+ .option('--auto-convert', '自动转存到点播(异步模式)', false)
332
+ .option('--merge-mp4', '合并为MP4文件(异步模式)', false)
333
+ .option('-o, --output <format>', '输出格式 (table|json)', validateOutputFormat, 'table')
334
+ .action(async function (options) {
335
+ try {
336
+ const parentOptions = this.optsWithGlobals();
337
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
338
+ const { PlaybackHandler } = await Promise.resolve().then(() => __importStar(require('../handlers/playback.handler')));
339
+ const playbackHandler = new PlaybackHandler(authConfig, serviceConfig);
340
+ const mergeOptions = {
341
+ channelId: options.channelId,
342
+ fileIds: options.fileIds,
343
+ fileName: options.fileName,
344
+ async: options.async,
345
+ callbackUrl: options.callbackUrl,
346
+ autoConvert: options.autoConvert,
347
+ mergeMp4: options.mergeMp4,
348
+ output: options.output
349
+ };
350
+ await playbackHandler.mergePlayback(mergeOptions);
351
+ }
352
+ catch (error) {
353
+ if (error instanceof Error && error.message.includes('Authentication')) {
354
+ const diagnostics = auth_adapter_1.authAdapter.getDiagnostics(program.opts());
355
+ console.error('\n🔍 Authentication Diagnostics:');
356
+ diagnostics.availableSources.forEach(source => {
357
+ const status = source.appId && source.appSecret ? '✅' : '❌';
358
+ console.error(` ${status} ${source.metadata.source}: ${source.type}`);
359
+ });
360
+ if (diagnostics.errors.length > 0) {
361
+ console.error('\n❌ Errors:');
362
+ diagnostics.errors.forEach(err => console.error(` - ${err}`));
363
+ }
364
+ }
365
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
366
+ process.exit(1);
367
+ }
368
+ });
369
+ mergeCmd.addHelpText('after', `
370
+ Examples:
371
+ # 同步合并录制文件
372
+ $ polyv-live-cli playback merge -c "3151318" --file-ids "file1,file2,file3"
373
+
374
+ # 设置合并后的文件名
375
+ $ polyv-live-cli playback merge -c "3151318" --file-ids "file1,file2" --file-name "合并回放"
376
+
377
+ # 异步合并模式
378
+ $ polyv-live-cli playback merge -c "3151318" --file-ids "file1,file2" --async
379
+
380
+ # 异步合并 + 回调URL
381
+ $ polyv-live-cli playback merge -c "3151318" --file-ids "file1,file2" --async --callback-url "http://example.com/callback"
382
+
383
+ # 异步合并 + 自动转存点播 + 合并为MP4
384
+ $ polyv-live-cli playback merge -c "3151318" --file-ids "file1,file2" --async --auto-convert --merge-mp4
385
+
386
+ # JSON格式输出
387
+ $ polyv-live-cli playback merge -c "3151318" --file-ids "file1,file2" -o json
388
+
389
+ Options:
390
+ -c, --channel-id 频道ID (必填)
391
+ --file-ids 要合并的录制文件ID,多个ID用逗号分隔 (必填)
392
+ --file-name 合并后的文件名
393
+ --async 使用异步合并模式
394
+ --callback-url 合并完成后的回调URL(异步模式)
395
+ --auto-convert 自动转存到点播(异步模式)
396
+ --merge-mp4 合并为MP4文件(异步模式)
397
+ -o, --output 输出格式: table 或 json,默认为table
398
+
399
+ Notes:
400
+ - 频道ID和文件ID是必填参数
401
+ - 多个文件ID用英文逗号分隔
402
+ - 同步合并会等待合并完成后返回结果
403
+ - 异步合并会立即返回,合并完成后可通过回调URL通知
404
+ `);
405
+ }
406
+ //# sourceMappingURL=playback.commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playback.commands.js","sourceRoot":"","sources":["../../src/commands/playback.commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import { Command } from 'commander';
2
+ export declare function validateWatermarkPosition(value: string): 'tl' | 'tr' | 'bl' | 'br';
3
+ export declare function validateWatermarkOpacity(value: string): number;
4
+ export declare function validateYNValue(value: string): 'Y' | 'N';
5
+ export declare function validateOutputFormat(value: string): 'table' | 'json';
6
+ export declare function registerPlayerCommands(program: Command): void;
7
+ //# sourceMappingURL=player.commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"player.commands.d.ts","sourceRoot":"","sources":["../../src/commands/player.commands.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkBpC,wBAAgB,yBAAyB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAMlF;AAQD,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAM9D;AAQD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,GAAG,GAAG,GAAG,CAKxD;AAQD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAKpE;AAkFD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAmL7D"}