polyv-live-cli 1.2.17 → 1.2.21

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 (240) hide show
  1. package/dist/commands/ai.commands.d.ts +12 -0
  2. package/dist/commands/ai.commands.d.ts.map +1 -0
  3. package/dist/commands/ai.commands.js +126 -0
  4. package/dist/commands/ai.commands.js.map +1 -0
  5. package/dist/commands/card-push.commands.d.ts +15 -0
  6. package/dist/commands/card-push.commands.d.ts.map +1 -0
  7. package/dist/commands/card-push.commands.js +257 -0
  8. package/dist/commands/card-push.commands.js.map +1 -0
  9. package/dist/commands/chat.commands.d.ts.map +1 -1
  10. package/dist/commands/chat.commands.js +152 -0
  11. package/dist/commands/chat.commands.js.map +1 -1
  12. package/dist/commands/checkin.commands.d.ts +4 -0
  13. package/dist/commands/checkin.commands.d.ts.map +1 -0
  14. package/dist/commands/checkin.commands.js +228 -0
  15. package/dist/commands/checkin.commands.js.map +1 -0
  16. package/dist/commands/donate.commands.d.ts +5 -0
  17. package/dist/commands/donate.commands.d.ts.map +1 -0
  18. package/dist/commands/donate.commands.js +177 -0
  19. package/dist/commands/donate.commands.js.map +1 -0
  20. package/dist/commands/index.d.ts +1 -0
  21. package/dist/commands/index.d.ts.map +1 -1
  22. package/dist/commands/index.js +3 -1
  23. package/dist/commands/index.js.map +1 -1
  24. package/dist/commands/lottery.commands.d.ts +5 -0
  25. package/dist/commands/lottery.commands.d.ts.map +1 -0
  26. package/dist/commands/lottery.commands.js +330 -0
  27. package/dist/commands/lottery.commands.js.map +1 -0
  28. package/dist/commands/platform-label.commands.d.ts +11 -0
  29. package/dist/commands/platform-label.commands.d.ts.map +1 -0
  30. package/dist/commands/platform-label.commands.js +173 -0
  31. package/dist/commands/platform-label.commands.js.map +1 -0
  32. package/dist/commands/platform.commands.d.ts +13 -0
  33. package/dist/commands/platform.commands.d.ts.map +1 -0
  34. package/dist/commands/platform.commands.js +366 -0
  35. package/dist/commands/platform.commands.js.map +1 -0
  36. package/dist/commands/promotion.commands.d.ts +12 -0
  37. package/dist/commands/promotion.commands.d.ts.map +1 -0
  38. package/dist/commands/promotion.commands.js +98 -0
  39. package/dist/commands/promotion.commands.js.map +1 -0
  40. package/dist/commands/qa.commands.d.ts +4 -0
  41. package/dist/commands/qa.commands.d.ts.map +1 -0
  42. package/dist/commands/qa.commands.js +159 -0
  43. package/dist/commands/qa.commands.js.map +1 -0
  44. package/dist/commands/questionnaire.commands.d.ts +4 -0
  45. package/dist/commands/questionnaire.commands.d.ts.map +1 -0
  46. package/dist/commands/questionnaire.commands.js +187 -0
  47. package/dist/commands/questionnaire.commands.js.map +1 -0
  48. package/dist/commands/transmit.commands.d.ts +12 -0
  49. package/dist/commands/transmit.commands.d.ts.map +1 -0
  50. package/dist/commands/transmit.commands.js +98 -0
  51. package/dist/commands/transmit.commands.js.map +1 -0
  52. package/dist/commands/viewer.commands.d.ts +5 -0
  53. package/dist/commands/viewer.commands.d.ts.map +1 -0
  54. package/dist/commands/viewer.commands.js +257 -0
  55. package/dist/commands/viewer.commands.js.map +1 -0
  56. package/dist/commands/watch-condition.commands.d.ts +5 -0
  57. package/dist/commands/watch-condition.commands.d.ts.map +1 -0
  58. package/dist/commands/watch-condition.commands.js +158 -0
  59. package/dist/commands/watch-condition.commands.js.map +1 -0
  60. package/dist/commands/whitelist.commands.d.ts +5 -0
  61. package/dist/commands/whitelist.commands.d.ts.map +1 -0
  62. package/dist/commands/whitelist.commands.js +216 -0
  63. package/dist/commands/whitelist.commands.js.map +1 -0
  64. package/dist/handlers/ai-digital-human.handler.d.ts +18 -0
  65. package/dist/handlers/ai-digital-human.handler.d.ts.map +1 -0
  66. package/dist/handlers/ai-digital-human.handler.js +134 -0
  67. package/dist/handlers/ai-digital-human.handler.js.map +1 -0
  68. package/dist/handlers/card-push.handler.d.ts +25 -0
  69. package/dist/handlers/card-push.handler.d.ts.map +1 -0
  70. package/dist/handlers/card-push.handler.js +287 -0
  71. package/dist/handlers/card-push.handler.js.map +1 -0
  72. package/dist/handlers/chat.handler.d.ts +17 -1
  73. package/dist/handlers/chat.handler.d.ts.map +1 -1
  74. package/dist/handlers/chat.handler.js +272 -0
  75. package/dist/handlers/chat.handler.js.map +1 -1
  76. package/dist/handlers/checkin.handler.d.ts +22 -0
  77. package/dist/handlers/checkin.handler.d.ts.map +1 -0
  78. package/dist/handlers/checkin.handler.js +261 -0
  79. package/dist/handlers/checkin.handler.js.map +1 -0
  80. package/dist/handlers/donate.handler.d.ts +18 -0
  81. package/dist/handlers/donate.handler.d.ts.map +1 -0
  82. package/dist/handlers/donate.handler.js +221 -0
  83. package/dist/handlers/donate.handler.js.map +1 -0
  84. package/dist/handlers/lottery.handler.d.ts +29 -0
  85. package/dist/handlers/lottery.handler.d.ts.map +1 -0
  86. package/dist/handlers/lottery.handler.js +386 -0
  87. package/dist/handlers/lottery.handler.js.map +1 -0
  88. package/dist/handlers/platform-label.handler.d.ts +18 -0
  89. package/dist/handlers/platform-label.handler.d.ts.map +1 -0
  90. package/dist/handlers/platform-label.handler.js +113 -0
  91. package/dist/handlers/platform-label.handler.js.map +1 -0
  92. package/dist/handlers/platform.handler.d.ts +24 -0
  93. package/dist/handlers/platform.handler.d.ts.map +1 -0
  94. package/dist/handlers/platform.handler.js +302 -0
  95. package/dist/handlers/platform.handler.js.map +1 -0
  96. package/dist/handlers/promotion.handler.d.ts +16 -0
  97. package/dist/handlers/promotion.handler.d.ts.map +1 -0
  98. package/dist/handlers/promotion.handler.js +103 -0
  99. package/dist/handlers/promotion.handler.js.map +1 -0
  100. package/dist/handlers/qa-questionnaire.handler.d.ts +27 -0
  101. package/dist/handlers/qa-questionnaire.handler.d.ts.map +1 -0
  102. package/dist/handlers/qa-questionnaire.handler.js +386 -0
  103. package/dist/handlers/qa-questionnaire.handler.js.map +1 -0
  104. package/dist/handlers/transmit.handler.d.ts +15 -0
  105. package/dist/handlers/transmit.handler.d.ts.map +1 -0
  106. package/dist/handlers/transmit.handler.js +86 -0
  107. package/dist/handlers/transmit.handler.js.map +1 -0
  108. package/dist/handlers/viewer.handler.d.ts +23 -0
  109. package/dist/handlers/viewer.handler.d.ts.map +1 -0
  110. package/dist/handlers/viewer.handler.js +322 -0
  111. package/dist/handlers/viewer.handler.js.map +1 -0
  112. package/dist/handlers/watch-condition.handler.d.ts +18 -0
  113. package/dist/handlers/watch-condition.handler.d.ts.map +1 -0
  114. package/dist/handlers/watch-condition.handler.js +178 -0
  115. package/dist/handlers/watch-condition.handler.js.map +1 -0
  116. package/dist/handlers/whitelist.handler.d.ts +20 -0
  117. package/dist/handlers/whitelist.handler.d.ts.map +1 -0
  118. package/dist/handlers/whitelist.handler.js +241 -0
  119. package/dist/handlers/whitelist.handler.js.map +1 -0
  120. package/dist/index.d.ts.map +1 -1
  121. package/dist/index.js +30 -4
  122. package/dist/index.js.map +1 -1
  123. package/dist/services/ai-digital-human-service.d.ts +10 -0
  124. package/dist/services/ai-digital-human-service.d.ts.map +1 -0
  125. package/dist/services/ai-digital-human-service.js +64 -0
  126. package/dist/services/ai-digital-human-service.js.map +1 -0
  127. package/dist/services/card-push-service.d.ts +16 -0
  128. package/dist/services/card-push-service.d.ts.map +1 -0
  129. package/dist/services/card-push-service.js +153 -0
  130. package/dist/services/card-push-service.js.map +1 -0
  131. package/dist/services/chat.service.sdk.d.ts +39 -1
  132. package/dist/services/chat.service.sdk.d.ts.map +1 -1
  133. package/dist/services/chat.service.sdk.js +60 -0
  134. package/dist/services/chat.service.sdk.js.map +1 -1
  135. package/dist/services/checkin-service.d.ts +14 -0
  136. package/dist/services/checkin-service.d.ts.map +1 -0
  137. package/dist/services/checkin-service.js +89 -0
  138. package/dist/services/checkin-service.js.map +1 -0
  139. package/dist/services/donate-service.d.ts +12 -0
  140. package/dist/services/donate-service.d.ts.map +1 -0
  141. package/dist/services/donate-service.js +59 -0
  142. package/dist/services/donate-service.js.map +1 -0
  143. package/dist/services/lottery-service.d.ts +17 -0
  144. package/dist/services/lottery-service.d.ts.map +1 -0
  145. package/dist/services/lottery-service.js +84 -0
  146. package/dist/services/lottery-service.js.map +1 -0
  147. package/dist/services/platform-label-service.d.ts +21 -0
  148. package/dist/services/platform-label-service.d.ts.map +1 -0
  149. package/dist/services/platform-label-service.js +56 -0
  150. package/dist/services/platform-label-service.js.map +1 -0
  151. package/dist/services/platform-service.d.ts +47 -0
  152. package/dist/services/platform-service.d.ts.map +1 -0
  153. package/dist/services/platform-service.js +144 -0
  154. package/dist/services/platform-service.js.map +1 -0
  155. package/dist/services/promotion-service.d.ts +12 -0
  156. package/dist/services/promotion-service.d.ts.map +1 -0
  157. package/dist/services/promotion-service.js +54 -0
  158. package/dist/services/promotion-service.js.map +1 -0
  159. package/dist/services/qa-questionnaire-service.d.ts +15 -0
  160. package/dist/services/qa-questionnaire-service.d.ts.map +1 -0
  161. package/dist/services/qa-questionnaire-service.js +102 -0
  162. package/dist/services/qa-questionnaire-service.js.map +1 -0
  163. package/dist/services/stream.service.sdk.d.ts.map +1 -1
  164. package/dist/services/stream.service.sdk.js +8 -12
  165. package/dist/services/stream.service.sdk.js.map +1 -1
  166. package/dist/services/transmit-service.d.ts +9 -0
  167. package/dist/services/transmit-service.d.ts.map +1 -0
  168. package/dist/services/transmit-service.js +45 -0
  169. package/dist/services/transmit-service.js.map +1 -0
  170. package/dist/services/viewer-service.d.ts +29 -0
  171. package/dist/services/viewer-service.d.ts.map +1 -0
  172. package/dist/services/viewer-service.js +106 -0
  173. package/dist/services/viewer-service.js.map +1 -0
  174. package/dist/services/watch-condition-service.d.ts +16 -0
  175. package/dist/services/watch-condition-service.d.ts.map +1 -0
  176. package/dist/services/watch-condition-service.js +38 -0
  177. package/dist/services/watch-condition-service.js.map +1 -0
  178. package/dist/services/whitelist-service.d.ts +50 -0
  179. package/dist/services/whitelist-service.d.ts.map +1 -0
  180. package/dist/services/whitelist-service.js +56 -0
  181. package/dist/services/whitelist-service.js.map +1 -0
  182. package/dist/types/ai-digital-human.d.ts +49 -0
  183. package/dist/types/ai-digital-human.d.ts.map +1 -0
  184. package/dist/types/ai-digital-human.js +3 -0
  185. package/dist/types/ai-digital-human.js.map +1 -0
  186. package/dist/types/card-push.d.ts +151 -0
  187. package/dist/types/card-push.d.ts.map +1 -0
  188. package/dist/types/card-push.js +3 -0
  189. package/dist/types/card-push.js.map +1 -0
  190. package/dist/types/chat.d.ts +35 -0
  191. package/dist/types/chat.d.ts.map +1 -1
  192. package/dist/types/checkin.d.ts +57 -0
  193. package/dist/types/checkin.d.ts.map +1 -0
  194. package/dist/types/checkin.js +3 -0
  195. package/dist/types/checkin.js.map +1 -0
  196. package/dist/types/donate.d.ts +92 -0
  197. package/dist/types/donate.d.ts.map +1 -0
  198. package/dist/types/donate.js +3 -0
  199. package/dist/types/donate.js.map +1 -0
  200. package/dist/types/index.d.ts +2 -0
  201. package/dist/types/index.d.ts.map +1 -1
  202. package/dist/types/index.js +2 -0
  203. package/dist/types/index.js.map +1 -1
  204. package/dist/types/lottery.d.ts +110 -0
  205. package/dist/types/lottery.d.ts.map +1 -0
  206. package/dist/types/lottery.js +3 -0
  207. package/dist/types/lottery.js.map +1 -0
  208. package/dist/types/platform-label.d.ts +29 -0
  209. package/dist/types/platform-label.d.ts.map +1 -0
  210. package/dist/types/platform-label.js +3 -0
  211. package/dist/types/platform-label.js.map +1 -0
  212. package/dist/types/platform.d.ts +44 -0
  213. package/dist/types/platform.d.ts.map +1 -0
  214. package/dist/types/platform.js +11 -0
  215. package/dist/types/platform.js.map +1 -0
  216. package/dist/types/promotion.d.ts +31 -0
  217. package/dist/types/promotion.d.ts.map +1 -0
  218. package/dist/types/promotion.js +3 -0
  219. package/dist/types/promotion.js.map +1 -0
  220. package/dist/types/qa.d.ts +90 -0
  221. package/dist/types/qa.d.ts.map +1 -0
  222. package/dist/types/qa.js +3 -0
  223. package/dist/types/qa.js.map +1 -0
  224. package/dist/types/transmit.d.ts +40 -0
  225. package/dist/types/transmit.d.ts.map +1 -0
  226. package/dist/types/transmit.js +3 -0
  227. package/dist/types/transmit.js.map +1 -0
  228. package/dist/types/viewer.d.ts +36 -0
  229. package/dist/types/viewer.d.ts.map +1 -0
  230. package/dist/types/viewer.js +3 -0
  231. package/dist/types/viewer.js.map +1 -0
  232. package/dist/types/watch-condition.d.ts +49 -0
  233. package/dist/types/watch-condition.d.ts.map +1 -0
  234. package/dist/types/watch-condition.js +18 -0
  235. package/dist/types/watch-condition.js.map +1 -0
  236. package/dist/types/whitelist.d.ts +36 -0
  237. package/dist/types/whitelist.d.ts.map +1 -0
  238. package/dist/types/whitelist.js +3 -0
  239. package/dist/types/whitelist.js.map +1 -0
  240. package/package.json +4 -4
@@ -0,0 +1,366 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadAuthAndServiceConfig = loadAuthAndServiceConfig;
4
+ exports.validateEnabledValue = validateEnabledValue;
5
+ exports.validateOutputFormat = validateOutputFormat;
6
+ exports.validateUrlFormat = validateUrlFormat;
7
+ exports.registerPlatformCommands = registerPlatformCommands;
8
+ const platform_handler_1 = require("../handlers/platform.handler");
9
+ const manager_1 = require("../config/manager");
10
+ const auth_adapter_1 = require("../config/auth-adapter");
11
+ const errors_1 = require("../utils/errors");
12
+ const platform_1 = require("../types/platform");
13
+ const DEFAULT_TIMEOUT_MS = 30000;
14
+ async function loadAuthAndServiceConfig(parentOptions) {
15
+ const authResult = auth_adapter_1.authAdapter.tryGetAuthConfig(parentOptions);
16
+ if (!authResult) {
17
+ throw new Error(auth_adapter_1.authAdapter.getStatusMessage(parentOptions));
18
+ }
19
+ let configResult;
20
+ try {
21
+ configResult = await manager_1.configManager.load({
22
+ cliOptions: parentOptions,
23
+ });
24
+ }
25
+ catch (error) {
26
+ if (error instanceof Error && error.message.includes('Auth configuration is incomplete')) {
27
+ configResult = {
28
+ config: {
29
+ baseUrl: 'https://api.polyv.net',
30
+ timeout: DEFAULT_TIMEOUT_MS,
31
+ debug: false,
32
+ },
33
+ };
34
+ }
35
+ else {
36
+ throw error;
37
+ }
38
+ }
39
+ const serviceConfig = {
40
+ baseUrl: configResult.config.baseUrl,
41
+ timeout: configResult.config.timeout,
42
+ debug: configResult.config.debug,
43
+ };
44
+ const isVerbose = !!parentOptions['verbose'];
45
+ if (isVerbose) {
46
+ console.log(`🔐 Authentication Source: ${authResult.source}`);
47
+ if (authResult.accountName) {
48
+ console.log(`👤 Account: ${authResult.accountName}`);
49
+ }
50
+ console.log('');
51
+ }
52
+ return {
53
+ authConfig: authResult.config,
54
+ serviceConfig,
55
+ isVerbose,
56
+ };
57
+ }
58
+ function validateEnabledValue(value) {
59
+ if (value !== 'Y' && value !== 'N') {
60
+ throw new Error('enabled 必须是 Y 或 N');
61
+ }
62
+ return value;
63
+ }
64
+ function validateOutputFormat(value) {
65
+ if (!['table', 'json'].includes(value)) {
66
+ throw new Error('Invalid output format. Must be "table" or "json"');
67
+ }
68
+ return value;
69
+ }
70
+ function validateUrlFormat(value) {
71
+ if (!value.startsWith('http://') && !value.startsWith('https://')) {
72
+ throw new Error('url 必须以 http:// 或 https:// 开头');
73
+ }
74
+ return value;
75
+ }
76
+ function registerPlatformCommands(program) {
77
+ const platformCmd = program.command('platform');
78
+ platformCmd.description('Platform account info management commands (平台账号信息管理)');
79
+ const getCmd = platformCmd
80
+ .command('get')
81
+ .description('Get account info (获取账号信息)')
82
+ .option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
83
+ .action(async (options) => {
84
+ try {
85
+ const parentOptions = program.opts();
86
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
87
+ const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
88
+ const getOptions = {
89
+ output: options.output,
90
+ };
91
+ await platformHandler.getAccountInfo(getOptions);
92
+ }
93
+ catch (error) {
94
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
95
+ process.exit(1);
96
+ }
97
+ });
98
+ getCmd.addHelpText('after', `
99
+ Examples:
100
+ $ polyv-live-cli platform get
101
+ $ polyv-live-cli platform get -o json
102
+
103
+ Output Formats:
104
+ table - Formatted table output (default)
105
+ json - JSON format for programmatic use
106
+ `);
107
+ const switchCmd = platformCmd.command('switch');
108
+ switchCmd.description('Switch configuration management (开关配置管理)');
109
+ const switchGetCmd = switchCmd
110
+ .command('get')
111
+ .description('Get switch configuration (获取开关配置)')
112
+ .option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
113
+ .action(async (options) => {
114
+ try {
115
+ const parentOptions = program.opts();
116
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
117
+ const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
118
+ const getOptions = {
119
+ output: options.output,
120
+ };
121
+ await platformHandler.getSwitchConfig(getOptions);
122
+ }
123
+ catch (error) {
124
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
125
+ process.exit(1);
126
+ }
127
+ });
128
+ switchGetCmd.addHelpText('after', `
129
+ Examples:
130
+ $ polyv-live-cli platform switch get
131
+ $ polyv-live-cli platform switch get -o json
132
+
133
+ Output Formats:
134
+ table - Formatted table output (default)
135
+ json - JSON format for programmatic use
136
+ `);
137
+ const switchUpdateCmd = switchCmd
138
+ .command('update')
139
+ .description('Update switch configuration (更新开关配置)')
140
+ .requiredOption('--param <name>', `switch parameter name (${platform_1.VALID_SWITCH_PARAMS.join('|')})`)
141
+ .requiredOption('--enabled <value>', 'enable status (Y|N)', validateEnabledValue)
142
+ .option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
143
+ .action(async (options) => {
144
+ try {
145
+ const parentOptions = program.opts();
146
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
147
+ const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
148
+ const updateOptions = {
149
+ param: options.param,
150
+ enabled: options.enabled,
151
+ output: options.output,
152
+ };
153
+ await platformHandler.updateSwitchConfig(updateOptions);
154
+ }
155
+ catch (error) {
156
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
157
+ process.exit(1);
158
+ }
159
+ });
160
+ switchUpdateCmd.addHelpText('after', `
161
+ Examples:
162
+ # Enable authentication
163
+ $ polyv-live-cli platform switch update --param authEnabled --enabled Y
164
+
165
+ # Disable recording
166
+ $ polyv-live-cli platform switch update --param recordEnabled --enabled N
167
+
168
+ # JSON output
169
+ $ polyv-live-cli platform switch update --param authEnabled --enabled Y -o json
170
+
171
+ Available Parameters:
172
+ globalSettingEnabled - Global settings switch (全局设置开关)
173
+ authEnabled - Authentication switch (认证开关)
174
+ recordEnabled - Recording switch (录制开关)
175
+ playbackEnabled - Playback switch (回放开关)
176
+ danmuEnabled - Danmu (bullet screen) switch (弹幕开关)
177
+
178
+ Enable Values:
179
+ Y - Enable the switch
180
+ N - Disable the switch
181
+ `);
182
+ const callbackCmd = platformCmd.command('callback');
183
+ callbackCmd.description('Callback settings management (回调设置管理)');
184
+ const callbackGetCmd = callbackCmd
185
+ .command('get')
186
+ .description('Get callback settings (获取回调设置)')
187
+ .option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
188
+ .action(async (options) => {
189
+ try {
190
+ const parentOptions = program.opts();
191
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
192
+ const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
193
+ const getOptions = {
194
+ output: options.output,
195
+ };
196
+ await platformHandler.getCallbackSettings(getOptions);
197
+ }
198
+ catch (error) {
199
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
200
+ process.exit(1);
201
+ }
202
+ });
203
+ callbackGetCmd.addHelpText('after', `
204
+ Examples:
205
+ $ polyv-live-cli platform callback get
206
+ $ polyv-live-cli platform callback get -o json
207
+
208
+ Output Formats:
209
+ table - Formatted table output (default)
210
+ json - JSON format for programmatic use
211
+ `);
212
+ const callbackUpdateCmd = callbackCmd
213
+ .command('update')
214
+ .description('Update callback settings (更新回调设置)')
215
+ .option('--url <url>', 'callback URL (must start with http:// or https://)', validateUrlFormat)
216
+ .option('--enabled <value>', 'enable status (Y|N)', validateEnabledValue)
217
+ .option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
218
+ .action(async (options) => {
219
+ try {
220
+ const parentOptions = program.opts();
221
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
222
+ const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
223
+ const updateOptions = {
224
+ url: options.url,
225
+ enabled: options.enabled,
226
+ output: options.output,
227
+ };
228
+ await platformHandler.updateCallbackSettings(updateOptions);
229
+ }
230
+ catch (error) {
231
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
232
+ process.exit(1);
233
+ }
234
+ });
235
+ callbackUpdateCmd.addHelpText('after', `
236
+ Examples:
237
+ # Update callback URL
238
+ $ polyv-live-cli platform callback update --url https://example.com/callback
239
+
240
+ # Enable/disable callback
241
+ $ polyv-live-cli platform callback update --enabled Y
242
+ $ polyv-live-cli platform callback update --enabled N
243
+
244
+ # Combined update
245
+ $ polyv-live-cli platform callback update --url https://example.com/new-callback --enabled Y
246
+
247
+ # JSON output
248
+ $ polyv-live-cli platform callback update --url https://example.com/callback -o json
249
+
250
+ URL Format:
251
+ URL must start with http:// or https://
252
+
253
+ Enable Values:
254
+ Y - Enable callback
255
+ N - Disable callback
256
+
257
+ Note:
258
+ At least one parameter (--url or --enabled) must be provided
259
+ `);
260
+ const settingCmd = platformCmd.command('setting');
261
+ settingCmd.description('Global channel settings management (全局频道设置管理)');
262
+ const settingGetCmd = settingCmd
263
+ .command('get')
264
+ .description('Get global channel settings (获取全局频道设置)')
265
+ .option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
266
+ .action(async (options) => {
267
+ try {
268
+ const parentOptions = program.opts();
269
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
270
+ const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
271
+ const getOptions = {
272
+ output: options.output,
273
+ };
274
+ await platformHandler.getGlobalSettings(getOptions);
275
+ }
276
+ catch (error) {
277
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
278
+ process.exit(1);
279
+ }
280
+ });
281
+ settingGetCmd.addHelpText('after', `
282
+ Examples:
283
+ $ polyv-live-cli platform setting get
284
+ $ polyv-live-cli platform setting get -o json
285
+
286
+ Output Formats:
287
+ table - Formatted table output (default)
288
+ json - JSON format for programmatic use
289
+ `);
290
+ const settingUpdateCmd = settingCmd
291
+ .command('update')
292
+ .description('Update global channel settings (更新全局频道设置)')
293
+ .option('--channel-concurrences-enabled <value>', 'enable max concurrent viewers (Y|N)', validateGlobalSettingEnabledValue)
294
+ .option('--timely-convert-enabled <value>', 'enable auto convert (Y|N)', validateGlobalSettingEnabledValue)
295
+ .option('--donate-enabled <value>', 'enable donation (Y|N)', validateGlobalSettingEnabledValue)
296
+ .option('--rebirth-auto-upload-enabled <value>', 'enable rebirth auto upload (Y|N)', validateGlobalSettingEnabledValue)
297
+ .option('--rebirth-auto-convert-enabled <value>', 'enable rebirth auto convert (Y|N)', validateGlobalSettingEnabledValue)
298
+ .option('--ppt-covered-enabled <value>', 'enable PPT full screen (Y|N)', validateGlobalSettingEnabledValue)
299
+ .option('--cover-img-type <value>', 'cover image type (contain|cover)', validateCoverImgType)
300
+ .option('--test-mode-button-enabled <value>', 'enable test mode button (Y|N)', validateGlobalSettingEnabledValue)
301
+ .option('-o, --output <format>', 'output format (table|json)', validateOutputFormat, 'table')
302
+ .action(async (options) => {
303
+ try {
304
+ const parentOptions = program.opts();
305
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(parentOptions);
306
+ const platformHandler = new platform_handler_1.PlatformHandler(authConfig, serviceConfig);
307
+ const updateOptions = {
308
+ channelConcurrencesEnabled: options.channelConcurrencesEnabled,
309
+ timelyConvertEnabled: options.timelyConvertEnabled,
310
+ donateEnabled: options.donateEnabled,
311
+ rebirthAutoUploadEnabled: options.rebirthAutoUploadEnabled,
312
+ rebirthAutoConvertEnabled: options.rebirthAutoConvertEnabled,
313
+ pptCoveredEnabled: options.pptCoveredEnabled,
314
+ coverImgType: options.coverImgType,
315
+ testModeButtonEnabled: options.testModeButtonEnabled,
316
+ output: options.output,
317
+ };
318
+ await platformHandler.updateGlobalSettings(updateOptions);
319
+ }
320
+ catch (error) {
321
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
322
+ process.exit(1);
323
+ }
324
+ });
325
+ settingUpdateCmd.addHelpText('after', `
326
+ Examples:
327
+ # Update single setting
328
+ $ polyv-live-cli platform setting update --channel-concurrences-enabled Y
329
+ $ polyv-live-cli platform setting update --donate-enabled N
330
+ $ polyv-live-cli platform setting update --cover-img-type contain
331
+
332
+ # Update multiple settings
333
+ $ polyv-live-cli platform setting update \\
334
+ --channel-concurrences-enabled Y \\
335
+ --timely-convert-enabled Y \\
336
+ --donate-enabled N \\
337
+ --cover-img-type contain
338
+
339
+ # JSON output
340
+ $ polyv-live-cli platform setting update --donate-enabled Y -o json
341
+
342
+ Boolean Parameters:
343
+ Y - Enable the setting
344
+ N - Disable the setting
345
+
346
+ Cover Image Types:
347
+ contain - Contain mode
348
+ cover - Cover mode
349
+
350
+ Note:
351
+ At least one parameter must be provided
352
+ `);
353
+ }
354
+ function validateGlobalSettingEnabledValue(value) {
355
+ if (value !== 'Y' && value !== 'N') {
356
+ throw new Error('参数值必须是 Y 或 N');
357
+ }
358
+ return value;
359
+ }
360
+ function validateCoverImgType(value) {
361
+ if (value !== 'contain' && value !== 'cover') {
362
+ throw new Error('cover-img-type 必须是 contain 或 cover');
363
+ }
364
+ return value;
365
+ }
366
+ //# sourceMappingURL=platform.commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"platform.commands.js","sourceRoot":"","sources":["../../src/commands/platform.commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ import { Command } from 'commander';
2
+ import { AuthConfig } from '../types/auth';
3
+ import { OutputFormat } from '../types/platform';
4
+ import { PromotionServiceConfig } from '../types/promotion';
5
+ export declare function loadAuthAndServiceConfig(parentOptions: Record<string, unknown>): Promise<{
6
+ authConfig: AuthConfig;
7
+ serviceConfig: PromotionServiceConfig;
8
+ isVerbose: boolean;
9
+ }>;
10
+ export declare function validateOutputFormat(format: string): OutputFormat;
11
+ export declare function registerPromotionCommands(program: Command): void;
12
+ //# sourceMappingURL=promotion.commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promotion.commands.d.ts","sourceRoot":"","sources":["../../src/commands/promotion.commands.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAEjD,OAAO,EACL,sBAAsB,EACvB,MAAM,oBAAoB,CAAC;AAS5B,wBAAsB,wBAAwB,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAC9F,UAAU,EAAE,UAAU,CAAC;IACvB,aAAa,EAAE,sBAAsB,CAAC;IACtC,SAAS,EAAE,OAAO,CAAC;CACpB,CAAC,CAwCD;AAQD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,CAKjE;AAKD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8ChE"}
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.loadAuthAndServiceConfig = loadAuthAndServiceConfig;
4
+ exports.validateOutputFormat = validateOutputFormat;
5
+ exports.registerPromotionCommands = registerPromotionCommands;
6
+ const promotion_handler_1 = require("../handlers/promotion.handler");
7
+ const auth_adapter_1 = require("../config/auth-adapter");
8
+ const manager_1 = require("../config/manager");
9
+ const errors_1 = require("../utils/errors");
10
+ const DEFAULT_TIMEOUT_MS = 30000;
11
+ async function loadAuthAndServiceConfig(parentOptions) {
12
+ const authResult = auth_adapter_1.authAdapter.tryGetAuthConfig(parentOptions);
13
+ if (!authResult) {
14
+ throw new Error(auth_adapter_1.authAdapter.getStatusMessage(parentOptions));
15
+ }
16
+ let configResult;
17
+ try {
18
+ configResult = await manager_1.configManager.load({
19
+ cliOptions: parentOptions,
20
+ });
21
+ }
22
+ catch (error) {
23
+ if (error instanceof Error && error.message.includes('Auth configuration is incomplete')) {
24
+ configResult = {
25
+ config: {
26
+ baseUrl: 'https://api.polyv.net',
27
+ timeout: DEFAULT_TIMEOUT_MS,
28
+ debug: false,
29
+ },
30
+ };
31
+ }
32
+ else {
33
+ throw error;
34
+ }
35
+ }
36
+ const serviceConfig = {
37
+ baseUrl: configResult.config.baseUrl,
38
+ timeout: configResult.config.timeout,
39
+ debug: configResult.config.debug,
40
+ };
41
+ const isVerbose = !!parentOptions['verbose'];
42
+ if (isVerbose) {
43
+ console.log('Using authentication from:', authResult.source);
44
+ }
45
+ return { authConfig: authResult.config, serviceConfig, isVerbose };
46
+ }
47
+ function validateOutputFormat(format) {
48
+ if (format !== 'table' && format !== 'json') {
49
+ throw new Error('Invalid output format. Must be table or json');
50
+ }
51
+ return format;
52
+ }
53
+ function registerPromotionCommands(program) {
54
+ const promotionCmd = program
55
+ .command('promotion')
56
+ .description('Manage marketing promotion channels (管理营销推广渠道)');
57
+ promotionCmd
58
+ .command('list')
59
+ .description('List all promotion channels (列出所有推广渠道)')
60
+ .requiredOption('--channelId <id>', 'Channel ID (频道ID)')
61
+ .option('-o, --output <format>', 'Output format (table|json)', validateOutputFormat, 'table')
62
+ .action(async (options) => {
63
+ try {
64
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(options);
65
+ const handler = new promotion_handler_1.PromotionHandler(authConfig, serviceConfig);
66
+ await handler.listPromotions({
67
+ channelId: options.channelId,
68
+ output: options.output,
69
+ });
70
+ }
71
+ catch (error) {
72
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
73
+ process.exit(1);
74
+ }
75
+ });
76
+ promotionCmd
77
+ .command('create')
78
+ .description('Batch create promotion channels (批量创建推广渠道)')
79
+ .requiredOption('--channelId <id>', 'Channel ID (频道ID)')
80
+ .requiredOption('--names <names>', 'Comma-separated promotion channel names (推广渠道名称, 用逗分隔)')
81
+ .option('-o, --output <format>', 'Output format (table|json)', validateOutputFormat, 'table')
82
+ .action(async (options) => {
83
+ try {
84
+ const { authConfig, serviceConfig } = await loadAuthAndServiceConfig(options);
85
+ const handler = new promotion_handler_1.PromotionHandler(authConfig, serviceConfig);
86
+ await handler.createPromotions({
87
+ channelId: options.channelId,
88
+ names: options.names.split(',').map((n) => n.trim()).filter((n) => n.trim().length > 0),
89
+ output: options.output,
90
+ });
91
+ }
92
+ catch (error) {
93
+ (0, errors_1.logError)(error instanceof Error ? error : new Error(String(error)));
94
+ process.exit(1);
95
+ }
96
+ });
97
+ }
98
+ //# sourceMappingURL=promotion.commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promotion.commands.js","sourceRoot":"","sources":["../../src/commands/promotion.commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Command } from 'commander';
2
+ export declare function validateOutputFormat(value: string): 'table' | 'json';
3
+ export declare function registerQaCommands(program: Command): void;
4
+ //# sourceMappingURL=qa.commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"qa.commands.d.ts","sourceRoot":"","sources":["../../src/commands/qa.commands.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAapC,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAKpE;AAMD,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA8HzD"}