polyv-live-cli 1.2.13 → 1.2.14

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,5 @@
1
+ import { Command } from 'commander';
2
+ export declare function parsePageSize(value: string): number;
3
+ export declare function validateOutputFormat(value: string): 'table' | 'json';
4
+ export declare function registerChatCommands(program: Command): void;
5
+ //# sourceMappingURL=chat.commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.commands.d.ts","sourceRoot":"","sources":["../../src/commands/chat.commands.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAMnD;AAOD,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAKpE;AAMD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAkN3D"}
@@ -0,0 +1,203 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parsePageSize = parsePageSize;
4
+ exports.validateOutputFormat = validateOutputFormat;
5
+ exports.registerChatCommands = registerChatCommands;
6
+ const chat_handler_1 = require("../handlers/chat.handler");
7
+ const manager_1 = require("../config/manager");
8
+ const auth_adapter_1 = require("../config/auth-adapter");
9
+ const errors_1 = require("../utils/errors");
10
+ function parsePageSize(value) {
11
+ const parsed = parseInt(value, 10);
12
+ if (isNaN(parsed) || parsed < 1 || parsed > 100) {
13
+ throw new Error('Page size should be between 1 and 100');
14
+ }
15
+ return parsed;
16
+ }
17
+ function validateOutputFormat(value) {
18
+ if (!['table', 'json'].includes(value)) {
19
+ throw new Error('Output format must be either "table" or "json"');
20
+ }
21
+ return value;
22
+ }
23
+ function registerChatCommands(program) {
24
+ const chatCmd = program.command('chat');
25
+ chatCmd.description('Manage live streaming chat messages');
26
+ const sendCmd = chatCmd
27
+ .command('send')
28
+ .description('Send an admin message to the channel chat')
29
+ .requiredOption('-c, --channel-id <id>', 'channel ID')
30
+ .option('-m, --msg <text>', 'text message content')
31
+ .option('-i, --img-url <url>', 'image URL')
32
+ .option('-p, --pic <url>', 'avatar URL')
33
+ .option('-n, --nickname <name>', 'sender nickname')
34
+ .option('-a, --actor <role>', 'actor/role')
35
+ .option('--admin-index <number>', 'admin index', parseInt)
36
+ .option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
37
+ .action(async (options) => {
38
+ try {
39
+ const parentOptions = program.opts();
40
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
41
+ const chatHandler = new chat_handler_1.ChatHandler(authConfig, serviceConfig);
42
+ await chatHandler.sendAdminMessage({
43
+ channelId: options.channelId,
44
+ msg: options.msg,
45
+ imgUrl: options.imgUrl,
46
+ pic: options.pic || 'https://live.polyv.net/assets/images/default-avatar.png',
47
+ nickName: options.nickname || '管理员',
48
+ actor: options.actor,
49
+ adminIndex: options.adminIndex,
50
+ output: options.output,
51
+ });
52
+ }
53
+ catch (error) {
54
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
55
+ process.exit(1);
56
+ }
57
+ });
58
+ sendCmd.addHelpText('after', `
59
+ Examples:
60
+ # Send text message
61
+ $ polyv-live-cli chat send -c "3151318" -m "Hello World"
62
+
63
+ # Send image message
64
+ $ polyv-live-cli chat send -c "3151318" -i "https://example.com/image.png"
65
+
66
+ # Send message with custom nickname
67
+ $ polyv-live-cli chat send -c "3151318" -m "Hello" -n "Admin" -a "管理员"
68
+
69
+ Output Formats:
70
+ table - Formatted table output (default)
71
+ json - JSON format for programmatic use
72
+ `);
73
+ const listCmd = chatCmd
74
+ .command('list')
75
+ .description('List chat history with pagination')
76
+ .requiredOption('-c, --channel-id <id>', 'channel ID')
77
+ .option('--start-day <date>', 'start date filter (yyyy-MM-dd, default: today)')
78
+ .option('--end-day <date>', 'end date filter (yyyy-MM-dd, default: today)')
79
+ .option('--page <number>', 'page number (default 1)', parseInt)
80
+ .option('--size <number>', 'page size (1-100, default 20)', parsePageSize)
81
+ .option('--user-type <type>', 'user type filter')
82
+ .option('--status <status>', 'status filter')
83
+ .option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
84
+ .action(async (options) => {
85
+ try {
86
+ const parentOptions = program.opts();
87
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
88
+ const chatHandler = new chat_handler_1.ChatHandler(authConfig, serviceConfig);
89
+ const today = new Date().toISOString().split('T')[0];
90
+ const startDay = options.startDay || today;
91
+ const endDay = options.endDay || today;
92
+ await chatHandler.listMessages({
93
+ channelId: options.channelId,
94
+ startDay,
95
+ endDay,
96
+ page: options.page,
97
+ size: options.size,
98
+ userType: options.userType,
99
+ status: options.status,
100
+ output: options.output,
101
+ });
102
+ }
103
+ catch (error) {
104
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
105
+ process.exit(1);
106
+ }
107
+ });
108
+ listCmd.addHelpText('after', `
109
+ Examples:
110
+ # List recent chat messages
111
+ $ polyv-live-cli chat list -c "3151318"
112
+
113
+ # List with pagination
114
+ $ polyv-live-cli chat list -c "3151318" --page 2 --size 50
115
+
116
+ # List with date range
117
+ $ polyv-live-cli chat list -c "3151318" --start-day "2024-01-01" --end-day "2024-01-31"
118
+
119
+ # List in JSON format
120
+ $ polyv-live-cli chat list -c "3151318" -o json
121
+
122
+ Output Formats:
123
+ table - Formatted table output (default)
124
+ json - JSON format for programmatic use
125
+ `);
126
+ const deleteCmd = chatCmd
127
+ .command('delete')
128
+ .description('Delete a chat message or clear all messages')
129
+ .requiredOption('-c, --channel-id <id>', 'channel ID')
130
+ .option('-m, --message-id <id>', 'message ID to delete')
131
+ .option('--clear', 'clear all messages in the channel')
132
+ .option('-f, --force', 'skip confirmation prompt')
133
+ .option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
134
+ .action(async (options) => {
135
+ try {
136
+ const parentOptions = program.opts();
137
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
138
+ const chatHandler = new chat_handler_1.ChatHandler(authConfig, serviceConfig);
139
+ await chatHandler.deleteMessage({
140
+ channelId: options.channelId,
141
+ messageId: options.messageId,
142
+ clear: options.clear,
143
+ force: options.force,
144
+ output: options.output,
145
+ });
146
+ }
147
+ catch (error) {
148
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
149
+ process.exit(1);
150
+ }
151
+ });
152
+ deleteCmd.addHelpText('after', `
153
+ Examples:
154
+ # Delete a single message
155
+ $ polyv-live-cli chat delete -c "3151318" -m "abc123"
156
+
157
+ # Clear all messages
158
+ $ polyv-live-cli chat delete -c "3151318" --clear
159
+
160
+ # Skip confirmation
161
+ $ polyv-live-cli chat delete -c "3151318" -m "abc123" --force
162
+
163
+ Note:
164
+ Deletion is permanent and cannot be undone.
165
+ Use --force to skip confirmation prompt.
166
+ `);
167
+ async function loadAuthAndServiceConfig(parentOptions) {
168
+ const authResult = auth_adapter_1.authAdapter.tryGetAuthConfig(parentOptions);
169
+ if (!authResult) {
170
+ throw new Error(auth_adapter_1.authAdapter.getStatusMessage(parentOptions));
171
+ }
172
+ let configResult;
173
+ try {
174
+ configResult = await manager_1.configManager.load({
175
+ cliOptions: parentOptions,
176
+ });
177
+ }
178
+ catch (error) {
179
+ if (error instanceof Error && error.message.includes('Auth configuration is incomplete')) {
180
+ configResult = {
181
+ config: {
182
+ baseUrl: 'https://api.polyv.net',
183
+ timeout: 30000,
184
+ debug: false
185
+ }
186
+ };
187
+ }
188
+ else {
189
+ throw error;
190
+ }
191
+ }
192
+ const serviceConfig = {
193
+ baseUrl: configResult.config.baseUrl,
194
+ timeout: configResult.config.timeout,
195
+ debug: configResult.config.debug,
196
+ };
197
+ return {
198
+ authConfig: authResult.config,
199
+ serviceConfig,
200
+ };
201
+ }
202
+ }
203
+ //# sourceMappingURL=chat.commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat.commands.js","sourceRoot":"","sources":["../../src/commands/chat.commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { Command } from 'commander';
2
+ export declare function validateOutputFormat(value: string): 'table' | 'json';
3
+ export declare function validateStatus(value: string): 'normal' | 'waitUpload' | 'failUpload' | 'waitConvert' | 'failConvert';
4
+ export declare function validateDocType(value: string): 'common' | 'animate';
5
+ export declare function registerDocumentCommands(program: Command): void;
6
+ //# sourceMappingURL=document.commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.commands.d.ts","sourceRoot":"","sources":["../../src/commands/document.commands.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+FpC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAKpE;AAQD,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,YAAY,GAAG,aAAa,GAAG,aAAa,CAMpH;AAQD,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS,CAKnE;AAMD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8U/D"}
@@ -0,0 +1,391 @@
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.validateStatus = validateStatus;
38
+ exports.validateDocType = validateDocType;
39
+ exports.registerDocumentCommands = registerDocumentCommands;
40
+ const manager_1 = require("../config/manager");
41
+ const auth_adapter_1 = require("../config/auth-adapter");
42
+ const errors_1 = require("../utils/errors");
43
+ async function loadAuthAndServiceConfig(parentOptions) {
44
+ const authResult = auth_adapter_1.authAdapter.tryGetAuthConfig(parentOptions);
45
+ if (!authResult) {
46
+ throw new Error(auth_adapter_1.authAdapter.getStatusMessage(parentOptions));
47
+ }
48
+ let configResult;
49
+ try {
50
+ configResult = await manager_1.configManager.load({
51
+ cliOptions: parentOptions,
52
+ });
53
+ }
54
+ catch (error) {
55
+ if (error instanceof Error && error.message.includes('Auth configuration is incomplete')) {
56
+ configResult = {
57
+ config: {
58
+ baseUrl: 'https://api.polyv.net',
59
+ timeout: 30000,
60
+ debug: false,
61
+ },
62
+ };
63
+ }
64
+ else {
65
+ throw error;
66
+ }
67
+ }
68
+ const serviceConfig = {
69
+ baseUrl: configResult.config.baseUrl,
70
+ timeout: configResult.config.timeout,
71
+ debug: configResult.config.debug,
72
+ };
73
+ const isVerbose = !!parentOptions.verbose;
74
+ if (isVerbose) {
75
+ console.log(`🔐 Authentication Source: ${authResult.source}`);
76
+ if (authResult.accountName) {
77
+ console.log(`👤 Account: ${authResult.accountName}`);
78
+ }
79
+ console.log('');
80
+ }
81
+ const result = {
82
+ authConfig: authResult.config,
83
+ serviceConfig,
84
+ isVerbose,
85
+ };
86
+ if (authResult.source) {
87
+ result.authSource = authResult.source;
88
+ }
89
+ if (authResult.accountName) {
90
+ result.accountName = authResult.accountName;
91
+ }
92
+ return result;
93
+ }
94
+ function validateOutputFormat(value) {
95
+ if (!['table', 'json'].includes(value)) {
96
+ throw new Error('Output format must be either "table" or "json"');
97
+ }
98
+ return value;
99
+ }
100
+ function validateStatus(value) {
101
+ const validStatuses = ['normal', 'waitUpload', 'failUpload', 'waitConvert', 'failConvert'];
102
+ if (!validStatuses.includes(value)) {
103
+ throw new Error(`Status must be one of: ${validStatuses.join(', ')}`);
104
+ }
105
+ return value;
106
+ }
107
+ function validateDocType(value) {
108
+ if (!['common', 'animate'].includes(value)) {
109
+ throw new Error('Document type must be either "common" or "animate"');
110
+ }
111
+ return value;
112
+ }
113
+ function registerDocumentCommands(program) {
114
+ const documentCmd = program.command('document');
115
+ documentCmd.description('课件管理命令');
116
+ const listCmd = documentCmd
117
+ .command('list')
118
+ .description(`获取频道课件文档列表
119
+
120
+ Examples:
121
+ $ polyv-live-cli document list -c "3151318"
122
+ $ polyv-live-cli document list -c "3151318" --status normal
123
+ $ polyv-live-cli document list -c "3151318" --page 2 --page-size 20 -o json`)
124
+ .requiredOption('-c, --channel-id <channelId>', '频道ID')
125
+ .option('--status <status>', '文档状态 (normal|waitUpload|failUpload|waitConvert|failConvert)', validateStatus)
126
+ .option('--page <number>', '页码,默认为1', (value) => parseInt(value, 10), 1)
127
+ .option('--page-size <number>', '每页数量,默认为10', (value) => parseInt(value, 10), 10)
128
+ .option('-o, --output <format>', '输出格式 (table|json)', validateOutputFormat, 'table')
129
+ .action(async function (options) {
130
+ try {
131
+ const parentOptions = this.optsWithGlobals();
132
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
133
+ const { DocumentHandler } = await Promise.resolve().then(() => __importStar(require('../handlers/document.handler')));
134
+ const documentHandler = new DocumentHandler(authConfig, serviceConfig);
135
+ const listOptions = {
136
+ channelId: options.channelId,
137
+ status: options.status,
138
+ page: options.page,
139
+ pageSize: options.pageSize,
140
+ output: options.output,
141
+ };
142
+ await documentHandler.listDocuments(listOptions);
143
+ }
144
+ catch (error) {
145
+ if (error instanceof Error && error.message.includes('Authentication')) {
146
+ const diagnostics = auth_adapter_1.authAdapter.getDiagnostics(program.opts());
147
+ console.error('\n🔍 Authentication Diagnostics:');
148
+ diagnostics.availableSources.forEach(source => {
149
+ const status = source.appId && source.appSecret ? '✅' : '❌';
150
+ console.error(` ${status} ${source.metadata.source}: ${source.type}`);
151
+ });
152
+ if (diagnostics.errors.length > 0) {
153
+ console.error('\n❌ Errors:');
154
+ diagnostics.errors.forEach(err => console.error(` - ${err}`));
155
+ }
156
+ }
157
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
158
+ process.exit(1);
159
+ }
160
+ });
161
+ listCmd.addHelpText('after', `
162
+ Examples:
163
+ # 获取频道课件列表
164
+ $ polyv-live-cli document list -c "3151318"
165
+
166
+ # 按状态过滤
167
+ $ polyv-live-cli document list -c "3151318" --status normal
168
+
169
+ # 指定分页参数
170
+ $ polyv-live-cli document list -c "3151318" --page 2 --page-size 20
171
+
172
+ # JSON格式输出
173
+ $ polyv-live-cli document list -c "3151318" -o json
174
+
175
+ Options:
176
+ -c, --channel-id 频道ID (必填)
177
+ --status 文档状态过滤: normal(正常)|waitUpload(等待上传)|failUpload(上传失败)|waitConvert(转换中)|failConvert(转换失败)
178
+ --page 页码,默认为1
179
+ --page-size 每页数量,默认为10
180
+ -o, --output 输出格式: table 或 json,默认为table
181
+
182
+ Notes:
183
+ - 频道ID是必填参数
184
+ - 课件文档包含PPT、PDF等教学资料
185
+ `);
186
+ const uploadCmd = documentCmd
187
+ .command('upload')
188
+ .description(`上传课件文档到频道
189
+
190
+ Examples:
191
+ $ polyv-live-cli document upload -c "3151318" --url "https://example.com/doc.pdf"
192
+ $ polyv-live-cli document upload -c "3151318" --url "https://example.com/ppt.pptx" --type animate
193
+ $ polyv-live-cli document upload -c "3151318" --url "..." --doc-name "培训课件" --callback-url "http://example.com/callback"
194
+ $ polyv-live-cli document upload -c "3151318" --url "..." -o json`)
195
+ .requiredOption('-c, --channel-id <channelId>', '频道ID')
196
+ .requiredOption('--url <url>', '文件URL')
197
+ .option('--type <type>', '转换类型 (common|animate)', validateDocType, 'common')
198
+ .option('--doc-name [name]', '文档名称')
199
+ .option('--callback-url [url]', '文档转换完成回调地址')
200
+ .option('-o, --output <format>', '输出格式 (table|json)', validateOutputFormat, 'table')
201
+ .action(async function (options) {
202
+ try {
203
+ const parentOptions = this.optsWithGlobals();
204
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
205
+ const { DocumentHandler } = await Promise.resolve().then(() => __importStar(require('../handlers/document.handler')));
206
+ const documentHandler = new DocumentHandler(authConfig, serviceConfig);
207
+ const uploadOptions = {
208
+ channelId: options.channelId,
209
+ url: options.url,
210
+ type: options.type,
211
+ docName: options.docName,
212
+ callbackUrl: options.callbackUrl,
213
+ output: options.output,
214
+ };
215
+ await documentHandler.uploadDocument(uploadOptions);
216
+ }
217
+ catch (error) {
218
+ if (error instanceof Error && error.message.includes('Authentication')) {
219
+ const diagnostics = auth_adapter_1.authAdapter.getDiagnostics(program.opts());
220
+ console.error('\n🔍 Authentication Diagnostics:');
221
+ diagnostics.availableSources.forEach(source => {
222
+ const status = source.appId && source.appSecret ? '✅' : '❌';
223
+ console.error(` ${status} ${source.metadata.source}: ${source.type}`);
224
+ });
225
+ if (diagnostics.errors.length > 0) {
226
+ console.error('\n❌ Errors:');
227
+ diagnostics.errors.forEach(err => console.error(` - ${err}`));
228
+ }
229
+ }
230
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
231
+ process.exit(1);
232
+ }
233
+ });
234
+ uploadCmd.addHelpText('after', `
235
+ Examples:
236
+ # 通过URL上传课件
237
+ $ polyv-live-cli document upload -c "3151318" --url "https://example.com/doc.pdf"
238
+
239
+ # 指定转换类型为动画PPT
240
+ $ polyv-live-cli document upload -c "3151318" --url "https://example.com/ppt.pptx" --type animate
241
+
242
+ # 设置文档名称和回调URL
243
+ $ polyv-live-cli document upload -c "3151318" --url "..." --doc-name "培训课件" --callback-url "http://example.com/callback"
244
+
245
+ # JSON格式输出
246
+ $ polyv-live-cli document upload -c "3151318" --url "..." -o json
247
+
248
+ Options:
249
+ -c, --channel-id 频道ID (必填)
250
+ --url 文件URL (必填)
251
+ --type 转换类型: common(普通)|animate(动画),默认为common
252
+ --doc-name 文档名称
253
+ --callback-url 文档转换完成回调地址
254
+ -o, --output 输出格式: table 或 json,默认为table
255
+
256
+ Notes:
257
+ - 频道ID和文件URL是必填参数
258
+ - 支持的文件格式: ppt/pdf/pptx/doc/docx/wps
259
+ - 文件大小不超过200M
260
+ `);
261
+ const deleteCmd = documentCmd
262
+ .command('delete')
263
+ .description(`删除课件文档
264
+
265
+ Examples:
266
+ $ polyv-live-cli document delete -c "3151318" --file-id "abc123"
267
+ $ polyv-live-cli document delete -c "3151318" --file-id "abc123" --force
268
+ $ polyv-live-cli document delete -c "3151318" --file-id "abc123" --force -o json`)
269
+ .requiredOption('-c, --channel-id <channelId>', '频道ID')
270
+ .requiredOption('--file-id <fileId>', '文件ID')
271
+ .option('--type [type]', '文档类型 (old|new)')
272
+ .option('--force', '跳过确认提示,直接删除', false)
273
+ .option('-o, --output <format>', '输出格式 (table|json)', validateOutputFormat, 'table')
274
+ .action(async function (options) {
275
+ try {
276
+ const parentOptions = this.optsWithGlobals();
277
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
278
+ const { DocumentHandler } = await Promise.resolve().then(() => __importStar(require('../handlers/document.handler')));
279
+ const documentHandler = new DocumentHandler(authConfig, serviceConfig);
280
+ const deleteOptions = {
281
+ channelId: options.channelId,
282
+ fileId: options.fileId,
283
+ type: options.type,
284
+ force: options.force,
285
+ output: options.output,
286
+ };
287
+ await documentHandler.deleteDocument(deleteOptions);
288
+ }
289
+ catch (error) {
290
+ if (error instanceof Error && error.message.includes('Authentication')) {
291
+ const diagnostics = auth_adapter_1.authAdapter.getDiagnostics(program.opts());
292
+ console.error('\n🔍 Authentication Diagnostics:');
293
+ diagnostics.availableSources.forEach(source => {
294
+ const status = source.appId && source.appSecret ? '✅' : '❌';
295
+ console.error(` ${status} ${source.metadata.source}: ${source.type}`);
296
+ });
297
+ if (diagnostics.errors.length > 0) {
298
+ console.error('\n❌ Errors:');
299
+ diagnostics.errors.forEach(err => console.error(` - ${err}`));
300
+ }
301
+ }
302
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
303
+ process.exit(1);
304
+ }
305
+ });
306
+ deleteCmd.addHelpText('after', `
307
+ Examples:
308
+ # 删除课件文档(需要确认)
309
+ $ polyv-live-cli document delete -c "3151318" --file-id "abc123"
310
+
311
+ # 跳过确认直接删除
312
+ $ polyv-live-cli document delete -c "3151318" --file-id "abc123" --force
313
+
314
+ # JSON格式输出
315
+ $ polyv-live-cli document delete -c "3151318" --file-id "abc123" --force -o json
316
+
317
+ Options:
318
+ -c, --channel-id 频道ID (必填)
319
+ --file-id 文件ID (必填)
320
+ --type 文档类型: old(旧版)|new(新版)
321
+ --force 跳过确认提示,直接删除
322
+ -o, --output 输出格式: table 或 json,默认为table
323
+
324
+ Notes:
325
+ - 频道ID和文件ID是必填参数
326
+ - 默认需要确认,使用 --force 可以跳过确认
327
+ - 此操作不可撤销,请谨慎使用
328
+ `);
329
+ const statusCmd = documentCmd
330
+ .command('status')
331
+ .description(`查询文档转码状态
332
+
333
+ Examples:
334
+ $ polyv-live-cli document status -c "3151318" --file-id "abc123"
335
+ $ polyv-live-cli document status -c "3151318" --file-id "id1,id2"
336
+ $ polyv-live-cli document status -c "3151318" --file-id "abc123" -o json`)
337
+ .requiredOption('-c, --channel-id <channelId>', '频道ID')
338
+ .requiredOption('--file-id <fileId>', '文件ID(多个用逗号分隔)')
339
+ .option('-o, --output <format>', '输出格式 (table|json)', validateOutputFormat, 'table')
340
+ .action(async function (options) {
341
+ try {
342
+ const parentOptions = this.optsWithGlobals();
343
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
344
+ const { DocumentHandler } = await Promise.resolve().then(() => __importStar(require('../handlers/document.handler')));
345
+ const documentHandler = new DocumentHandler(authConfig, serviceConfig);
346
+ const statusOptions = {
347
+ channelId: options.channelId,
348
+ fileId: options.fileId,
349
+ output: options.output,
350
+ };
351
+ await documentHandler.getDocumentStatus(statusOptions);
352
+ }
353
+ catch (error) {
354
+ if (error instanceof Error && error.message.includes('Authentication')) {
355
+ const diagnostics = auth_adapter_1.authAdapter.getDiagnostics(program.opts());
356
+ console.error('\n🔍 Authentication Diagnostics:');
357
+ diagnostics.availableSources.forEach(source => {
358
+ const status = source.appId && source.appSecret ? '✅' : '❌';
359
+ console.error(` ${status} ${source.metadata.source}: ${source.type}`);
360
+ });
361
+ if (diagnostics.errors.length > 0) {
362
+ console.error('\n❌ Errors:');
363
+ diagnostics.errors.forEach(err => console.error(` - ${err}`));
364
+ }
365
+ }
366
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
367
+ process.exit(1);
368
+ }
369
+ });
370
+ statusCmd.addHelpText('after', `
371
+ Examples:
372
+ # 查询单个文档转码状态
373
+ $ polyv-live-cli document status -c "3151318" --file-id "abc123"
374
+
375
+ # 查询多个文档转码状态
376
+ $ polyv-live-cli document status -c "3151318" --file-id "id1,id2"
377
+
378
+ # JSON格式输出
379
+ $ polyv-live-cli document status -c "3151318" --file-id "abc123" -o json
380
+
381
+ Options:
382
+ -c, --channel-id 频道ID (必填)
383
+ --file-id 文件ID(多个用逗号分隔) (必填)
384
+ -o, --output 输出格式: table 或 json,默认为table
385
+
386
+ Notes:
387
+ - 频道ID和文件ID是必填参数
388
+ - 文件ID可以用英文逗号分隔来查询多个文档
389
+ `);
390
+ }
391
+ //# sourceMappingURL=document.commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.commands.js","sourceRoot":"","sources":["../../src/commands/document.commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { Command } from 'commander';
2
+ export declare function validateOutputFormat(value: string): 'table' | 'json';
3
+ export declare function validateListType(value: string): 'playback' | 'vod';
4
+ export declare function registerPlaybackCommands(program: Command): void;
5
+ //# sourceMappingURL=playback.commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"playback.commands.d.ts","sourceRoot":"","sources":["../../src/commands/playback.commands.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyFpC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAKpE;AAQD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,GAAG,KAAK,CAKlE;AAMD,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAqW/D"}