twentythree-cli 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (426) hide show
  1. package/README.md +25 -0
  2. package/bin/dev.cmd +2 -0
  3. package/bin/dev.js +28 -0
  4. package/bin/run.cmd +2 -0
  5. package/bin/run.js +23 -0
  6. package/dist/_virtual/_rolldown/runtime.cjs +23 -0
  7. package/dist/api/client.cjs +24 -0
  8. package/dist/api/types.cjs +0 -0
  9. package/dist/auth/credential-store.cjs +22 -0
  10. package/dist/auth/token-refresh.cjs +70 -0
  11. package/dist/auth/workspace-config.cjs +61 -0
  12. package/dist/commands/action/add.cjs +75 -0
  13. package/dist/commands/action/delete.cjs +64 -0
  14. package/dist/commands/action/exclude.cjs +70 -0
  15. package/dist/commands/action/get.cjs +112 -0
  16. package/dist/commands/action/include.cjs +70 -0
  17. package/dist/commands/action/list.cjs +119 -0
  18. package/dist/commands/action/types.cjs +63 -0
  19. package/dist/commands/action/update.cjs +86 -0
  20. package/dist/commands/action/upload.cjs +89 -0
  21. package/dist/commands/analytics/conversions/index.cjs +83 -0
  22. package/dist/commands/analytics/conversions/timeseries.cjs +83 -0
  23. package/dist/commands/analytics/conversions/totals.cjs +83 -0
  24. package/dist/commands/analytics/live/event-timeseries.cjs +86 -0
  25. package/dist/commands/analytics/live/event-totals.cjs +86 -0
  26. package/dist/commands/analytics/live/event.cjs +88 -0
  27. package/dist/commands/analytics/live/index.cjs +89 -0
  28. package/dist/commands/analytics/live/timeseries.cjs +85 -0
  29. package/dist/commands/analytics/live/totals.cjs +85 -0
  30. package/dist/commands/analytics/live/weekday/timeseries.cjs +85 -0
  31. package/dist/commands/analytics/live/weekday/totals.cjs +85 -0
  32. package/dist/commands/analytics/live/weekday.cjs +88 -0
  33. package/dist/commands/analytics/usage/devices/timeseries.cjs +83 -0
  34. package/dist/commands/analytics/usage/devices/totals.cjs +86 -0
  35. package/dist/commands/analytics/usage/devices.cjs +89 -0
  36. package/dist/commands/analytics/usage/domains/totals.cjs +83 -0
  37. package/dist/commands/analytics/usage/domains.cjs +89 -0
  38. package/dist/commands/analytics/usage/locations/totals.cjs +83 -0
  39. package/dist/commands/analytics/usage/locations.cjs +89 -0
  40. package/dist/commands/analytics/usage/sourceids/totals.cjs +83 -0
  41. package/dist/commands/analytics/usage/sourceids.cjs +89 -0
  42. package/dist/commands/analytics/usage/sources/totals.cjs +83 -0
  43. package/dist/commands/analytics/usage/sources.cjs +89 -0
  44. package/dist/commands/analytics/usage/spots/timeseries.cjs +83 -0
  45. package/dist/commands/analytics/usage/spots/totals.cjs +83 -0
  46. package/dist/commands/analytics/usage/spots.cjs +89 -0
  47. package/dist/commands/analytics/usage/storage.cjs +52 -0
  48. package/dist/commands/analytics/usage/traffic/timeseries.cjs +83 -0
  49. package/dist/commands/analytics/usage/traffic/totals.cjs +86 -0
  50. package/dist/commands/analytics/usage/traffic.cjs +89 -0
  51. package/dist/commands/analytics/video/index.cjs +89 -0
  52. package/dist/commands/analytics/video/performance/timeseries.cjs +83 -0
  53. package/dist/commands/analytics/video/performance/totals.cjs +80 -0
  54. package/dist/commands/analytics/video/performance.cjs +89 -0
  55. package/dist/commands/analytics/video/published/timeseries.cjs +83 -0
  56. package/dist/commands/analytics/video/published/totals.cjs +80 -0
  57. package/dist/commands/analytics/video/published.cjs +89 -0
  58. package/dist/commands/analytics/video/timeseries.cjs +86 -0
  59. package/dist/commands/analytics/video/totals.cjs +86 -0
  60. package/dist/commands/analytics/video/weekday/timeseries.cjs +86 -0
  61. package/dist/commands/analytics/video/weekday/totals.cjs +83 -0
  62. package/dist/commands/analytics/video/weekday.cjs +89 -0
  63. package/dist/commands/app/add.cjs +76 -0
  64. package/dist/commands/app/delete.cjs +57 -0
  65. package/dist/commands/app/update.cjs +77 -0
  66. package/dist/commands/audience/companies.cjs +116 -0
  67. package/dist/commands/audience/field/list.cjs +83 -0
  68. package/dist/commands/audience/field/remove.cjs +63 -0
  69. package/dist/commands/audience/field/set.cjs +78 -0
  70. package/dist/commands/audience/field/types.cjs +57 -0
  71. package/dist/commands/audience/funnel.cjs +77 -0
  72. package/dist/commands/audience/identity-sources.cjs +64 -0
  73. package/dist/commands/audience/list-collectors.cjs +88 -0
  74. package/dist/commands/audience/list.cjs +122 -0
  75. package/dist/commands/audience/metrics.cjs +89 -0
  76. package/dist/commands/audience/register.cjs +106 -0
  77. package/dist/commands/audience/remove.cjs +72 -0
  78. package/dist/commands/audience/search.cjs +106 -0
  79. package/dist/commands/audience/timelines.cjs +115 -0
  80. package/dist/commands/audience/unregister.cjs +65 -0
  81. package/dist/commands/auth/credentials.cjs +89 -0
  82. package/dist/commands/auth/status.cjs +34 -0
  83. package/dist/commands/category/create.cjs +80 -0
  84. package/dist/commands/category/delete.cjs +70 -0
  85. package/dist/commands/category/index.cjs +11 -0
  86. package/dist/commands/category/list.cjs +98 -0
  87. package/dist/commands/category/update.cjs +134 -0
  88. package/dist/commands/collector/exclude.cjs +56 -0
  89. package/dist/commands/collector/include.cjs +56 -0
  90. package/dist/commands/collector/list.cjs +81 -0
  91. package/dist/commands/comment/add.cjs +102 -0
  92. package/dist/commands/comment/clone.cjs +59 -0
  93. package/dist/commands/comment/delete.cjs +55 -0
  94. package/dist/commands/comment/list.cjs +126 -0
  95. package/dist/commands/comment/promote.cjs +65 -0
  96. package/dist/commands/comment/reaction/add.cjs +81 -0
  97. package/dist/commands/comment/reaction/list.cjs +92 -0
  98. package/dist/commands/comment/reaction/remove.cjs +81 -0
  99. package/dist/commands/comment/set-order.cjs +63 -0
  100. package/dist/commands/comment/update.cjs +63 -0
  101. package/dist/commands/doctor.cjs +129 -0
  102. package/dist/commands/openupload/list.cjs +95 -0
  103. package/dist/commands/openupload/update-file.cjs +85 -0
  104. package/dist/commands/openupload/upload-file.cjs +130 -0
  105. package/dist/commands/player/delete.cjs +66 -0
  106. package/dist/commands/player/embed-versions.cjs +83 -0
  107. package/dist/commands/player/embed.cjs +134 -0
  108. package/dist/commands/player/list.cjs +86 -0
  109. package/dist/commands/player/styles.cjs +70 -0
  110. package/dist/commands/player/update.cjs +80 -0
  111. package/dist/commands/poll/add.cjs +84 -0
  112. package/dist/commands/poll/answer.cjs +89 -0
  113. package/dist/commands/poll/list.cjs +92 -0
  114. package/dist/commands/poll/remove.cjs +57 -0
  115. package/dist/commands/poll/set-options.cjs +84 -0
  116. package/dist/commands/poll/update.cjs +79 -0
  117. package/dist/commands/presentation/page/link-locations.cjs +57 -0
  118. package/dist/commands/presentation/setting/list.cjs +44 -0
  119. package/dist/commands/presentation/setting/update.cjs +67 -0
  120. package/dist/commands/protection/protect.cjs +68 -0
  121. package/dist/commands/protection/unprotect.cjs +65 -0
  122. package/dist/commands/protection/verify.cjs +80 -0
  123. package/dist/commands/session/get-token.cjs +75 -0
  124. package/dist/commands/session/redeem-token.cjs +56 -0
  125. package/dist/commands/setting/update.cjs +79 -0
  126. package/dist/commands/site/get.cjs +73 -0
  127. package/dist/commands/site/search.cjs +93 -0
  128. package/dist/commands/spot/check.cjs +52 -0
  129. package/dist/commands/spot/create.cjs +79 -0
  130. package/dist/commands/spot/delete.cjs +68 -0
  131. package/dist/commands/spot/list.cjs +120 -0
  132. package/dist/commands/spot/reset-version.cjs +53 -0
  133. package/dist/commands/spot/set-videos.cjs +64 -0
  134. package/dist/commands/spot/update.cjs +78 -0
  135. package/dist/commands/tag/list.cjs +98 -0
  136. package/dist/commands/tag/related.cjs +57 -0
  137. package/dist/commands/thumbnail/add.cjs +66 -0
  138. package/dist/commands/thumbnail/data.cjs +60 -0
  139. package/dist/commands/thumbnail/delete.cjs +61 -0
  140. package/dist/commands/thumbnail/duplicate.cjs +67 -0
  141. package/dist/commands/thumbnail/file/delete.cjs +71 -0
  142. package/dist/commands/thumbnail/file/list.cjs +74 -0
  143. package/dist/commands/thumbnail/file/upload.cjs +79 -0
  144. package/dist/commands/thumbnail/index.cjs +11 -0
  145. package/dist/commands/thumbnail/list.cjs +89 -0
  146. package/dist/commands/thumbnail/update.cjs +87 -0
  147. package/dist/commands/user/create.cjs +87 -0
  148. package/dist/commands/user/get-login-token.cjs +72 -0
  149. package/dist/commands/user/get.cjs +67 -0
  150. package/dist/commands/user/list.cjs +95 -0
  151. package/dist/commands/user/redeem-login-token.cjs +55 -0
  152. package/dist/commands/user/send-invitation.cjs +63 -0
  153. package/dist/commands/user/tokens.cjs +80 -0
  154. package/dist/commands/user/update.cjs +121 -0
  155. package/dist/commands/video/delete.cjs +67 -0
  156. package/dist/commands/video/frame.cjs +69 -0
  157. package/dist/commands/video/get.cjs +68 -0
  158. package/dist/commands/video/index.cjs +11 -0
  159. package/dist/commands/video/list.cjs +98 -0
  160. package/dist/commands/video/replace.cjs +126 -0
  161. package/dist/commands/video/section/create.cjs +73 -0
  162. package/dist/commands/video/section/delete.cjs +78 -0
  163. package/dist/commands/video/section/index.cjs +11 -0
  164. package/dist/commands/video/section/list.cjs +75 -0
  165. package/dist/commands/video/section/set-thumbnail.cjs +73 -0
  166. package/dist/commands/video/section/update.cjs +84 -0
  167. package/dist/commands/video/subtitle/archive.cjs +76 -0
  168. package/dist/commands/video/subtitle/create.cjs +80 -0
  169. package/dist/commands/video/subtitle/data.cjs +75 -0
  170. package/dist/commands/video/subtitle/delete.cjs +84 -0
  171. package/dist/commands/video/subtitle/duplicate.cjs +89 -0
  172. package/dist/commands/video/subtitle/index.cjs +11 -0
  173. package/dist/commands/video/subtitle/list.cjs +94 -0
  174. package/dist/commands/video/subtitle/locales.cjs +60 -0
  175. package/dist/commands/video/subtitle/set-primary.cjs +64 -0
  176. package/dist/commands/video/subtitle/types.cjs +42 -0
  177. package/dist/commands/video/subtitle/update.cjs +93 -0
  178. package/dist/commands/video/subtitle/upload.cjs +104 -0
  179. package/dist/commands/video/transcoding-progress.cjs +71 -0
  180. package/dist/commands/video/update.cjs +184 -0
  181. package/dist/commands/video/upload.cjs +151 -0
  182. package/dist/commands/webhook/events.cjs +68 -0
  183. package/dist/commands/webhook/list.cjs +64 -0
  184. package/dist/commands/webhook/sample.cjs +47 -0
  185. package/dist/commands/webhook/subscribe.cjs +66 -0
  186. package/dist/commands/webhook/unsubscribe.cjs +71 -0
  187. package/dist/commands/webinar/attachment/delete.cjs +79 -0
  188. package/dist/commands/webinar/attachment/list.cjs +94 -0
  189. package/dist/commands/webinar/attachment/set-hidden.cjs +85 -0
  190. package/dist/commands/webinar/attachment/upload.cjs +128 -0
  191. package/dist/commands/webinar/clips.cjs +77 -0
  192. package/dist/commands/webinar/create.cjs +107 -0
  193. package/dist/commands/webinar/delete.cjs +62 -0
  194. package/dist/commands/webinar/highlights.cjs +84 -0
  195. package/dist/commands/webinar/index.cjs +11 -0
  196. package/dist/commands/webinar/list-formats.cjs +50 -0
  197. package/dist/commands/webinar/list.cjs +134 -0
  198. package/dist/commands/webinar/log.cjs +69 -0
  199. package/dist/commands/webinar/mail/add.cjs +101 -0
  200. package/dist/commands/webinar/mail/list.cjs +83 -0
  201. package/dist/commands/webinar/mail/preview.cjs +75 -0
  202. package/dist/commands/webinar/mail/remove.cjs +75 -0
  203. package/dist/commands/webinar/mail/send.cjs +68 -0
  204. package/dist/commands/webinar/mail/test.cjs +86 -0
  205. package/dist/commands/webinar/mail/update.cjs +84 -0
  206. package/dist/commands/webinar/metrics.cjs +59 -0
  207. package/dist/commands/webinar/queued-video/add.cjs +81 -0
  208. package/dist/commands/webinar/queued-video/remove.cjs +81 -0
  209. package/dist/commands/webinar/recording/split.cjs +53 -0
  210. package/dist/commands/webinar/recording/start.cjs +53 -0
  211. package/dist/commands/webinar/recording/status.cjs +52 -0
  212. package/dist/commands/webinar/recording/stop.cjs +53 -0
  213. package/dist/commands/webinar/repeat.cjs +65 -0
  214. package/dist/commands/webinar/room/connect.cjs +60 -0
  215. package/dist/commands/webinar/room/info.cjs +60 -0
  216. package/dist/commands/webinar/room/send-recording.cjs +59 -0
  217. package/dist/commands/webinar/room/themes.cjs +63 -0
  218. package/dist/commands/webinar/section/add.cjs +98 -0
  219. package/dist/commands/webinar/section/list.cjs +86 -0
  220. package/dist/commands/webinar/section/remove.cjs +75 -0
  221. package/dist/commands/webinar/section/update.cjs +85 -0
  222. package/dist/commands/webinar/series/apply-recurrence.cjs +68 -0
  223. package/dist/commands/webinar/series/cancel.cjs +73 -0
  224. package/dist/commands/webinar/series/create.cjs +80 -0
  225. package/dist/commands/webinar/series/delete.cjs +73 -0
  226. package/dist/commands/webinar/series/list.cjs +79 -0
  227. package/dist/commands/webinar/series/mapped-objects.cjs +69 -0
  228. package/dist/commands/webinar/series/metrics.cjs +57 -0
  229. package/dist/commands/webinar/series/recurrences.cjs +72 -0
  230. package/dist/commands/webinar/series/set-ondemand.cjs +67 -0
  231. package/dist/commands/webinar/series/skip-recurrence.cjs +79 -0
  232. package/dist/commands/webinar/series/update.cjs +71 -0
  233. package/dist/commands/webinar/series/upload-thumbnail.cjs +117 -0
  234. package/dist/commands/webinar/speaker/add-from-speaker.cjs +78 -0
  235. package/dist/commands/webinar/speaker/add-from-user.cjs +78 -0
  236. package/dist/commands/webinar/speaker/add.cjs +112 -0
  237. package/dist/commands/webinar/speaker/cancel-guest-request.cjs +62 -0
  238. package/dist/commands/webinar/speaker/connection-types.cjs +66 -0
  239. package/dist/commands/webinar/speaker/library.cjs +59 -0
  240. package/dist/commands/webinar/speaker/list.cjs +90 -0
  241. package/dist/commands/webinar/speaker/remove-avatar.cjs +62 -0
  242. package/dist/commands/webinar/speaker/remove.cjs +69 -0
  243. package/dist/commands/webinar/speaker/request-guest.cjs +62 -0
  244. package/dist/commands/webinar/speaker/send-invitation.cjs +62 -0
  245. package/dist/commands/webinar/speaker/set-avatar.cjs +130 -0
  246. package/dist/commands/webinar/speaker/set-order.cjs +95 -0
  247. package/dist/commands/webinar/speaker/update.cjs +90 -0
  248. package/dist/commands/webinar/transcription/connect.cjs +69 -0
  249. package/dist/commands/webinar/transcription/list.cjs +88 -0
  250. package/dist/commands/webinar/transcription/locales.cjs +76 -0
  251. package/dist/commands/webinar/transcription/transcriptionlist.cjs +67 -0
  252. package/dist/commands/webinar/update.cjs +192 -0
  253. package/dist/commands/webinar/upload-image.cjs +133 -0
  254. package/dist/commands/workspace/list.cjs +47 -0
  255. package/dist/commands/workspace/use.cjs +52 -0
  256. package/dist/index.cjs +6 -0
  257. package/dist/lib/analytics-flags.cjs +60 -0
  258. package/dist/lib/audit.cjs +44 -0
  259. package/dist/lib/base-command.cjs +156 -0
  260. package/dist/lib/output.cjs +82 -0
  261. package/dist/lib/pagination.cjs +36 -0
  262. package/dist/lib/term-map.cjs +48 -0
  263. package/dist/upload/chunk-pool.cjs +47 -0
  264. package/dist/upload/chunked-upload.cjs +131 -0
  265. package/dist/upload/types.cjs +9 -0
  266. package/docs/commands/README.md +31 -0
  267. package/docs/commands/action/add.md +36 -0
  268. package/docs/commands/action/delete.md +32 -0
  269. package/docs/commands/action/exclude.md +38 -0
  270. package/docs/commands/action/get.md +47 -0
  271. package/docs/commands/action/include.md +38 -0
  272. package/docs/commands/action/list.md +43 -0
  273. package/docs/commands/action/types.md +34 -0
  274. package/docs/commands/action/update.md +42 -0
  275. package/docs/commands/action/upload.md +36 -0
  276. package/docs/commands/action.md +306 -0
  277. package/docs/commands/analytics/conversions.md +113 -0
  278. package/docs/commands/analytics/live.md +338 -0
  279. package/docs/commands/analytics/usage.md +674 -0
  280. package/docs/commands/analytics/video.md +449 -0
  281. package/docs/commands/analytics.md +1559 -0
  282. package/docs/commands/app/add.md +38 -0
  283. package/docs/commands/app/delete.md +32 -0
  284. package/docs/commands/app/update.md +41 -0
  285. package/docs/commands/app.md +101 -0
  286. package/docs/commands/audience/companies.md +41 -0
  287. package/docs/commands/audience/field.md +119 -0
  288. package/docs/commands/audience/funnel.md +38 -0
  289. package/docs/commands/audience/identity-sources.md +29 -0
  290. package/docs/commands/audience/list-collectors.md +35 -0
  291. package/docs/commands/audience/list.md +42 -0
  292. package/docs/commands/audience/metrics.md +40 -0
  293. package/docs/commands/audience/register.md +45 -0
  294. package/docs/commands/audience/remove.md +35 -0
  295. package/docs/commands/audience/search.md +39 -0
  296. package/docs/commands/audience/timelines.md +41 -0
  297. package/docs/commands/audience/unregister.md +36 -0
  298. package/docs/commands/audience.md +485 -0
  299. package/docs/commands/auth/credentials.md +23 -0
  300. package/docs/commands/auth/status.md +27 -0
  301. package/docs/commands/auth.md +45 -0
  302. package/docs/commands/category/create.md +36 -0
  303. package/docs/commands/category/delete.md +32 -0
  304. package/docs/commands/category/list.md +34 -0
  305. package/docs/commands/category/update.md +39 -0
  306. package/docs/commands/category.md +141 -0
  307. package/docs/commands/collector/exclude.md +33 -0
  308. package/docs/commands/collector/include.md +33 -0
  309. package/docs/commands/collector/list.md +37 -0
  310. package/docs/commands/collector.md +93 -0
  311. package/docs/commands/comment/add.md +43 -0
  312. package/docs/commands/comment/clone.md +35 -0
  313. package/docs/commands/comment/delete.md +32 -0
  314. package/docs/commands/comment/list.md +42 -0
  315. package/docs/commands/comment/promote.md +37 -0
  316. package/docs/commands/comment/reaction.md +106 -0
  317. package/docs/commands/comment/set-order.md +34 -0
  318. package/docs/commands/comment/update.md +36 -0
  319. package/docs/commands/comment.md +330 -0
  320. package/docs/commands/doctor.md +28 -0
  321. package/docs/commands/openupload/list.md +36 -0
  322. package/docs/commands/openupload/update-file.md +40 -0
  323. package/docs/commands/openupload/upload-file.md +39 -0
  324. package/docs/commands/openupload.md +105 -0
  325. package/docs/commands/player/delete.md +32 -0
  326. package/docs/commands/player/embed-versions.md +34 -0
  327. package/docs/commands/player/embed.md +51 -0
  328. package/docs/commands/player/list.md +32 -0
  329. package/docs/commands/player/styles.md +32 -0
  330. package/docs/commands/player/update.md +37 -0
  331. package/docs/commands/player.md +193 -0
  332. package/docs/commands/poll/add.md +33 -0
  333. package/docs/commands/poll/answer.md +38 -0
  334. package/docs/commands/poll/list.md +33 -0
  335. package/docs/commands/poll/remove.md +32 -0
  336. package/docs/commands/poll/set-options.md +35 -0
  337. package/docs/commands/poll/update.md +41 -0
  338. package/docs/commands/poll.md +187 -0
  339. package/docs/commands/presentation/page.md +29 -0
  340. package/docs/commands/presentation/setting.md +58 -0
  341. package/docs/commands/presentation.md +82 -0
  342. package/docs/commands/protection/protect.md +37 -0
  343. package/docs/commands/protection/unprotect.md +34 -0
  344. package/docs/commands/protection/verify.md +39 -0
  345. package/docs/commands/protection.md +100 -0
  346. package/docs/commands/session/get-token.md +38 -0
  347. package/docs/commands/session/redeem-token.md +32 -0
  348. package/docs/commands/session.md +65 -0
  349. package/docs/commands/setting/update.md +37 -0
  350. package/docs/commands/setting.md +37 -0
  351. package/docs/commands/site/get.md +35 -0
  352. package/docs/commands/site/search.md +38 -0
  353. package/docs/commands/site.md +68 -0
  354. package/docs/commands/spot/check.md +32 -0
  355. package/docs/commands/spot/create.md +38 -0
  356. package/docs/commands/spot/delete.md +32 -0
  357. package/docs/commands/spot/list.md +43 -0
  358. package/docs/commands/spot/reset-version.md +32 -0
  359. package/docs/commands/spot/set-videos.md +35 -0
  360. package/docs/commands/spot/update.md +40 -0
  361. package/docs/commands/spot.md +222 -0
  362. package/docs/commands/tag/list.md +44 -0
  363. package/docs/commands/tag/related.md +32 -0
  364. package/docs/commands/tag.md +71 -0
  365. package/docs/commands/thumbnail/add.md +33 -0
  366. package/docs/commands/thumbnail/data.md +35 -0
  367. package/docs/commands/thumbnail/delete.md +32 -0
  368. package/docs/commands/thumbnail/duplicate.md +37 -0
  369. package/docs/commands/thumbnail/file.md +90 -0
  370. package/docs/commands/thumbnail/list.md +37 -0
  371. package/docs/commands/thumbnail/update.md +44 -0
  372. package/docs/commands/thumbnail.md +293 -0
  373. package/docs/commands/user/create.md +41 -0
  374. package/docs/commands/user/get-login-token.md +37 -0
  375. package/docs/commands/user/get.md +37 -0
  376. package/docs/commands/user/list.md +40 -0
  377. package/docs/commands/user/redeem-login-token.md +32 -0
  378. package/docs/commands/user/send-invitation.md +37 -0
  379. package/docs/commands/user/tokens.md +34 -0
  380. package/docs/commands/user/update.md +44 -0
  381. package/docs/commands/user.md +267 -0
  382. package/docs/commands/video/delete.md +32 -0
  383. package/docs/commands/video/frame.md +37 -0
  384. package/docs/commands/video/get.md +32 -0
  385. package/docs/commands/video/list.md +33 -0
  386. package/docs/commands/video/replace.md +37 -0
  387. package/docs/commands/video/section.md +177 -0
  388. package/docs/commands/video/subtitle.md +362 -0
  389. package/docs/commands/video/transcoding-progress.md +32 -0
  390. package/docs/commands/video/update.md +45 -0
  391. package/docs/commands/video/upload.md +44 -0
  392. package/docs/commands/video.md +801 -0
  393. package/docs/commands/webhook/events.md +34 -0
  394. package/docs/commands/webhook/list.md +29 -0
  395. package/docs/commands/webhook/sample.md +32 -0
  396. package/docs/commands/webhook/subscribe.md +33 -0
  397. package/docs/commands/webhook/unsubscribe.md +35 -0
  398. package/docs/commands/webhook.md +143 -0
  399. package/docs/commands/webinar/attachment.md +135 -0
  400. package/docs/commands/webinar/clips.md +32 -0
  401. package/docs/commands/webinar/create.md +40 -0
  402. package/docs/commands/webinar/delete.md +32 -0
  403. package/docs/commands/webinar/highlights.md +37 -0
  404. package/docs/commands/webinar/list-formats.md +29 -0
  405. package/docs/commands/webinar/list.md +41 -0
  406. package/docs/commands/webinar/log.md +32 -0
  407. package/docs/commands/webinar/mail.md +238 -0
  408. package/docs/commands/webinar/metrics.md +32 -0
  409. package/docs/commands/webinar/queued-video.md +65 -0
  410. package/docs/commands/webinar/recording.md +113 -0
  411. package/docs/commands/webinar/repeat.md +35 -0
  412. package/docs/commands/webinar/room.md +110 -0
  413. package/docs/commands/webinar/section.md +134 -0
  414. package/docs/commands/webinar/series.md +365 -0
  415. package/docs/commands/webinar/speaker.md +430 -0
  416. package/docs/commands/webinar/transcription.md +125 -0
  417. package/docs/commands/webinar/update.md +43 -0
  418. package/docs/commands/webinar/upload-image.md +42 -0
  419. package/docs/commands/webinar.md +2030 -0
  420. package/docs/commands/workspace/list.md +27 -0
  421. package/docs/commands/workspace/use.md +32 -0
  422. package/docs/commands/workspace.md +54 -0
  423. package/docs/guides/api-spec-upgrade.md +92 -0
  424. package/docs/guides/getting-started.md +66 -0
  425. package/oclif.manifest.json +21609 -0
  426. package/package.json +71 -0
@@ -0,0 +1,80 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_lib_term_map = require("../../lib/term-map.cjs");
3
+ const require_lib_base_command = require("../../lib/base-command.cjs");
4
+ const require_lib_output = require("../../lib/output.cjs");
5
+ let _oclif_core = require("@oclif/core");
6
+ let chalk = require("chalk");
7
+ chalk = require_runtime.__toESM(chalk);
8
+ //#region src/commands/player/update.ts
9
+ /**
10
+ * Player update command — updates settings for an existing player configuration.
11
+ *
12
+ * Only the flags explicitly provided are sent to the API (Pitfall 3 mitigation).
13
+ * If --data JSON is provided it is merged into the request body for untyped player properties.
14
+ *
15
+ * Threat mitigations:
16
+ * T-06-07: extends AuthenticatedCommand — anonymous mode rejected
17
+ */
18
+ var PlayerUpdate = class PlayerUpdate extends require_lib_base_command.AuthenticatedCommand {
19
+ static description = "Update settings for a player";
20
+ static agentMetadata = {
21
+ api_endpoint: "POST /player/update",
22
+ auth_scope: "write",
23
+ output_shape: { type: "none" },
24
+ side_effects: "updates"
25
+ };
26
+ static examples = ["<%= config.bin %> player update 42 --name \"My Player\"", "<%= config.bin %> player update 42 --description \"New description\""];
27
+ static enableJsonFlag = true;
28
+ static flags = {
29
+ ...require_lib_base_command.AuthenticatedCommand.baseFlags,
30
+ name: _oclif_core.Flags.string({
31
+ description: "New name for the player",
32
+ required: false
33
+ }),
34
+ description: _oclif_core.Flags.string({
35
+ description: "New description for the player",
36
+ required: false
37
+ }),
38
+ data: _oclif_core.Flags.string({
39
+ description: "JSON-encoded player properties to merge into the request body",
40
+ required: false
41
+ })
42
+ };
43
+ static args = { id: _oclif_core.Args.string({
44
+ description: "Player ID",
45
+ required: true
46
+ }) };
47
+ async run() {
48
+ const { args, flags } = await this.parse(PlayerUpdate);
49
+ this.printWorkspaceHeader();
50
+ const body = { player_id: Number(args.id) };
51
+ if (flags.name !== void 0) body.name = flags.name;
52
+ if (flags.description !== void 0) body.description = flags.description;
53
+ if (flags.data !== void 0) {
54
+ let extra;
55
+ try {
56
+ extra = JSON.parse(flags.data);
57
+ } catch {
58
+ this.error("--data must be valid JSON", { exit: 1 });
59
+ }
60
+ Object.assign(body, extra);
61
+ }
62
+ const { data: updateData, error: updateError } = await this.apiClient.POST("/player/update", {
63
+ body,
64
+ headers: { "Content-Type": "application/x-www-form-urlencoded" }
65
+ });
66
+ if (updateError) this.error(require_lib_term_map.applyCliTerms(formatApiError(updateError)), { exit: 1 });
67
+ this.log(chalk.default.green("Player updated"));
68
+ if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
69
+ ok: true,
70
+ data: updateData,
71
+ summary: `Player ${args.id} updated`,
72
+ breadcrumbs: [{ domain: this.activeWorkspace.domain }, {
73
+ resource: "player",
74
+ id: args.id
75
+ }]
76
+ });
77
+ }
78
+ };
79
+ //#endregion
80
+ module.exports = PlayerUpdate;
@@ -0,0 +1,84 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_lib_term_map = require("../../lib/term-map.cjs");
3
+ const require_lib_base_command = require("../../lib/base-command.cjs");
4
+ const require_lib_output = require("../../lib/output.cjs");
5
+ let _oclif_core = require("@oclif/core");
6
+ let chalk = require("chalk");
7
+ chalk = require_runtime.__toESM(chalk);
8
+ let _clack_prompts = require("@clack/prompts");
9
+ //#region src/commands/poll/add.ts
10
+ /**
11
+ * Poll add command — creates a new poll for a webinar.
12
+ *
13
+ * CRITICAL (Pitfall 5): Uses `object_id` NOT `live_id` for the webinar ID.
14
+ * Falls back to interactive prompt for question if not provided.
15
+ *
16
+ * Threat mitigations:
17
+ * T-05-18: applyCliTerms() on all error messages
18
+ */
19
+ var PollAdd = class PollAdd extends require_lib_base_command.AuthenticatedCommand {
20
+ static description = "Create a new poll for a webinar";
21
+ static agentMetadata = {
22
+ api_endpoint: "POST /poll/add",
23
+ auth_scope: "write",
24
+ output_shape: { type: "none" },
25
+ side_effects: "creates"
26
+ };
27
+ static examples = ["<%= config.bin %> poll add --object-id 12345 --question \"What is your preference?\"", "<%= config.bin %> poll add --object-id 12345 --question \"How are you?\" --json"];
28
+ static enableJsonFlag = true;
29
+ static flags = {
30
+ ...require_lib_base_command.AuthenticatedCommand.baseFlags,
31
+ "object-id": _oclif_core.Flags.string({
32
+ description: "Object ID (webinar or live object)",
33
+ required: true
34
+ }),
35
+ question: _oclif_core.Flags.string({
36
+ description: "Poll question",
37
+ required: false
38
+ })
39
+ };
40
+ static args = {};
41
+ async run() {
42
+ const { flags } = await this.parse(PollAdd);
43
+ this.printWorkspaceHeader();
44
+ let question = flags.question;
45
+ if (!question && !this.jsonEnabled()) {
46
+ const result = await (0, _clack_prompts.text)({
47
+ message: "Poll question",
48
+ placeholder: "What do you want to ask?"
49
+ });
50
+ if ((0, _clack_prompts.isCancel)(result)) process.exit(2);
51
+ question = result;
52
+ }
53
+ if (!question) this.error("--question is required in non-interactive mode", { exit: 1 });
54
+ const { data, error } = await this.apiClient.POST("/poll/add", {
55
+ body: {
56
+ object_id: Number(flags["object-id"]),
57
+ question
58
+ },
59
+ headers: { "Content-Type": "application/x-www-form-urlencoded" }
60
+ });
61
+ if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
62
+ const pollId = data?.data?.poll_id ?? data?.poll_id;
63
+ if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
64
+ ok: true,
65
+ data,
66
+ summary: "Poll created",
67
+ breadcrumbs: [
68
+ { domain: this.activeWorkspace.domain },
69
+ {
70
+ resource: "object",
71
+ id: flags["object-id"]
72
+ },
73
+ {
74
+ resource: "poll",
75
+ id: String(pollId ?? "")
76
+ }
77
+ ]
78
+ });
79
+ this.log(chalk.default.green("Poll created"));
80
+ if (pollId) this.log(`ID: ${pollId}`);
81
+ }
82
+ };
83
+ //#endregion
84
+ module.exports = PollAdd;
@@ -0,0 +1,89 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_lib_term_map = require("../../lib/term-map.cjs");
3
+ const require_lib_base_command = require("../../lib/base-command.cjs");
4
+ const require_lib_output = require("../../lib/output.cjs");
5
+ let _oclif_core = require("@oclif/core");
6
+ let chalk = require("chalk");
7
+ chalk = require_runtime.__toESM(chalk);
8
+ let _clack_prompts = require("@clack/prompts");
9
+ //#region src/commands/poll/answer.ts
10
+ /**
11
+ * Poll answer command — submits a poll answer.
12
+ *
13
+ * CRITICAL (Pitfall 5): Uses `object_id` and `object_token` (NOT `live_id`).
14
+ * Token auto-looked up via fetchWebinarToken if --token not provided.
15
+ *
16
+ * Threat mitigations:
17
+ * T-05-18: applyCliTerms() on all error messages
18
+ */
19
+ var PollAnswer = class PollAnswer extends require_lib_base_command.AuthenticatedCommand {
20
+ static description = "Submit a poll answer";
21
+ static agentMetadata = {
22
+ api_endpoint: "POST /poll/answer",
23
+ auth_scope: "anonymous",
24
+ output_shape: { type: "none" },
25
+ side_effects: "creates"
26
+ };
27
+ static examples = ["<%= config.bin %> poll answer 99 --object-id 12345 --option-id 3", "<%= config.bin %> poll answer 99 --object-id 12345 --option-id 3 --json"];
28
+ static enableJsonFlag = true;
29
+ static flags = {
30
+ ...require_lib_base_command.AuthenticatedCommand.baseFlags,
31
+ "object-id": _oclif_core.Flags.string({
32
+ description: "Object ID (webinar or live object)",
33
+ required: false
34
+ }),
35
+ "object-token": _oclif_core.Flags.string({
36
+ description: "Object token (auto-looked up if omitted)",
37
+ required: false
38
+ }),
39
+ "option-id": _oclif_core.Flags.string({
40
+ description: "Poll option ID",
41
+ required: false
42
+ })
43
+ };
44
+ static args = { id: _oclif_core.Args.string({
45
+ description: "Poll ID",
46
+ required: true
47
+ }) };
48
+ async run() {
49
+ const { args, flags } = await this.parse(PollAnswer);
50
+ this.printWorkspaceHeader();
51
+ let objectId = flags["object-id"];
52
+ let optionId = flags["option-id"];
53
+ if (!objectId && !this.jsonEnabled()) {
54
+ const result = await (0, _clack_prompts.text)({ message: "Object ID" });
55
+ if ((0, _clack_prompts.isCancel)(result)) process.exit(2);
56
+ objectId = result;
57
+ }
58
+ if (!objectId) this.error("--object-id is required in non-interactive mode", { exit: 1 });
59
+ if (!optionId && !this.jsonEnabled()) {
60
+ const result = await (0, _clack_prompts.text)({ message: "Poll option ID" });
61
+ if ((0, _clack_prompts.isCancel)(result)) process.exit(2);
62
+ optionId = result;
63
+ }
64
+ if (!optionId) this.error("--option-id is required in non-interactive mode", { exit: 1 });
65
+ const objectToken = flags["object-token"] ?? await this.fetchWebinarToken(Number(objectId));
66
+ const { data, error } = await this.apiClient.POST("/poll/answer", {
67
+ body: {
68
+ poll_id: Number(args.id),
69
+ object_id: Number(objectId),
70
+ object_token: objectToken,
71
+ poll_option_id: Number(optionId)
72
+ },
73
+ headers: { "Content-Type": "application/x-www-form-urlencoded" }
74
+ });
75
+ if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
76
+ if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
77
+ ok: true,
78
+ data,
79
+ summary: "Poll answer submitted",
80
+ breadcrumbs: [{ domain: this.activeWorkspace.domain }, {
81
+ resource: "poll",
82
+ id: args.id
83
+ }]
84
+ });
85
+ this.log(chalk.default.green("Poll answer submitted"));
86
+ }
87
+ };
88
+ //#endregion
89
+ module.exports = PollAnswer;
@@ -0,0 +1,92 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_lib_term_map = require("../../lib/term-map.cjs");
3
+ const require_lib_base_command = require("../../lib/base-command.cjs");
4
+ const require_lib_output = require("../../lib/output.cjs");
5
+ let _oclif_core = require("@oclif/core");
6
+ let chalk = require("chalk");
7
+ chalk = require_runtime.__toESM(chalk);
8
+ //#region src/commands/poll/list.ts
9
+ /**
10
+ * Poll list command — lists polls for a webinar.
11
+ *
12
+ * CRITICAL (Pitfall 5): Poll endpoints use `object_id` NOT `live_id`.
13
+ * Token field is `object_token` (auto-looked up via fetchWebinarToken).
14
+ *
15
+ * Threat mitigations:
16
+ * T-05-18: applyCliTerms() on all error messages
17
+ */
18
+ var PollList = class PollList extends require_lib_base_command.AuthenticatedCommand {
19
+ static description = "List polls for a webinar";
20
+ static agentMetadata = {
21
+ api_endpoint: "GET /poll/list",
22
+ auth_scope: "anonymous",
23
+ output_shape: {
24
+ type: "table",
25
+ columns: [
26
+ "ID",
27
+ "Question",
28
+ "Open",
29
+ "Results Visible"
30
+ ]
31
+ },
32
+ side_effects: "none"
33
+ };
34
+ static examples = ["<%= config.bin %> poll list --object-id 12345", "<%= config.bin %> poll list --object-id 12345 --json"];
35
+ static enableJsonFlag = true;
36
+ static flags = {
37
+ ...require_lib_base_command.AuthenticatedCommand.baseFlags,
38
+ "object-id": _oclif_core.Flags.string({
39
+ description: "Object ID (webinar or live object)",
40
+ required: true
41
+ }),
42
+ "object-token": _oclif_core.Flags.string({
43
+ description: "Object token (auto-looked up if omitted)",
44
+ required: false
45
+ })
46
+ };
47
+ static args = {};
48
+ async run() {
49
+ const { flags } = await this.parse(PollList);
50
+ this.printWorkspaceHeader();
51
+ const objectId = Number(flags["object-id"]);
52
+ const objectToken = flags["object-token"] ?? await this.fetchWebinarToken(objectId);
53
+ const { data, error } = await this.apiClient.GET("/poll/list", { params: { query: {
54
+ object_id: objectId,
55
+ object_token: objectToken
56
+ } } });
57
+ if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
58
+ const polls = Array.isArray(data?.data) ? data.data : data?.data ? [data.data] : [];
59
+ if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
60
+ ok: true,
61
+ data: polls,
62
+ summary: `${polls.length} poll${polls.length === 1 ? "" : "s"}`,
63
+ breadcrumbs: [
64
+ { domain: this.activeWorkspace.domain },
65
+ {
66
+ resource: "object",
67
+ id: flags["object-id"]
68
+ },
69
+ { resource: "poll" }
70
+ ]
71
+ });
72
+ if (polls.length === 0) {
73
+ this.log("No polls found.");
74
+ return;
75
+ }
76
+ const table = require_lib_output.renderTable([
77
+ "ID",
78
+ "Question",
79
+ "Open",
80
+ "Results Visible"
81
+ ], polls.map((p) => [
82
+ String(p.poll_id ?? ""),
83
+ require_lib_term_map.applyCliTerms(String(p.question ?? "")),
84
+ p.open_p ? "yes" : "no",
85
+ p.display_results_p ? "yes" : "no"
86
+ ]));
87
+ this.log(table.toString());
88
+ this.log(chalk.default.dim(`${polls.length} poll${polls.length === 1 ? "" : "s"}`));
89
+ }
90
+ };
91
+ //#endregion
92
+ module.exports = PollList;
@@ -0,0 +1,57 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_lib_term_map = require("../../lib/term-map.cjs");
3
+ const require_lib_base_command = require("../../lib/base-command.cjs");
4
+ const require_lib_output = require("../../lib/output.cjs");
5
+ let _oclif_core = require("@oclif/core");
6
+ let chalk = require("chalk");
7
+ chalk = require_runtime.__toESM(chalk);
8
+ let _clack_prompts = require("@clack/prompts");
9
+ //#region src/commands/poll/remove.ts
10
+ /**
11
+ * Poll remove command — removes a poll after confirmation.
12
+ *
13
+ * Threat mitigations:
14
+ * T-05-19: Confirmation prompt includes domain
15
+ * T-05-18: applyCliTerms() on all error messages
16
+ */
17
+ var PollRemove = class PollRemove extends require_lib_base_command.AuthenticatedCommand {
18
+ static description = "Remove a poll";
19
+ static agentMetadata = {
20
+ api_endpoint: "POST /poll/remove",
21
+ auth_scope: "write",
22
+ output_shape: { type: "none" },
23
+ side_effects: "destructive"
24
+ };
25
+ static examples = ["<%= config.bin %> poll remove 99", "<%= config.bin %> poll remove 99 --json"];
26
+ static enableJsonFlag = true;
27
+ static flags = { ...require_lib_base_command.AuthenticatedCommand.baseFlags };
28
+ static args = { id: _oclif_core.Args.string({
29
+ description: "Poll ID",
30
+ required: true
31
+ }) };
32
+ async run() {
33
+ const { args } = await this.parse(PollRemove);
34
+ this.printWorkspaceHeader();
35
+ if (!this.jsonEnabled()) {
36
+ const confirmed = await (0, _clack_prompts.confirm)({ message: `Remove poll ${args.id} from ${this.activeWorkspace.domain}? This cannot be undone.` });
37
+ if ((0, _clack_prompts.isCancel)(confirmed) || !confirmed) process.exit(2);
38
+ }
39
+ const { data, error } = await this.apiClient.POST("/poll/remove", {
40
+ body: { poll_id: Number(args.id) },
41
+ headers: { "Content-Type": "application/x-www-form-urlencoded" }
42
+ });
43
+ if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
44
+ this.log(chalk.default.green(`Poll ${args.id} removed`));
45
+ if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
46
+ ok: true,
47
+ data,
48
+ summary: `Poll ${args.id} removed`,
49
+ breadcrumbs: [{ domain: this.activeWorkspace.domain }, {
50
+ resource: "poll",
51
+ id: args.id
52
+ }]
53
+ });
54
+ }
55
+ };
56
+ //#endregion
57
+ module.exports = PollRemove;
@@ -0,0 +1,84 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_lib_term_map = require("../../lib/term-map.cjs");
3
+ const require_lib_base_command = require("../../lib/base-command.cjs");
4
+ const require_lib_output = require("../../lib/output.cjs");
5
+ let _oclif_core = require("@oclif/core");
6
+ let chalk = require("chalk");
7
+ chalk = require_runtime.__toESM(chalk);
8
+ let _clack_prompts = require("@clack/prompts");
9
+ //#region src/commands/poll/set-options.ts
10
+ /**
11
+ * Poll set-options command — sets options for a poll.
12
+ *
13
+ * Decision D-2: uses repeated --option flags: `--option "Yes" --option "No"`
14
+ * CRITICAL (Pitfall 7): options must be serialized as JSON string, not array.
15
+ * Correct: options='["Yes","No","Maybe"]'
16
+ * Incorrect: options[]=Yes&options[]=No (would fail silently)
17
+ *
18
+ * Threat mitigations:
19
+ * T-05-20: Options validated as non-empty before serialization
20
+ * T-05-18: applyCliTerms() on all error messages
21
+ */
22
+ var PollSetOptions = class PollSetOptions extends require_lib_base_command.AuthenticatedCommand {
23
+ static description = "Set options for a poll";
24
+ static agentMetadata = {
25
+ api_endpoint: "POST /poll/set-options",
26
+ auth_scope: "write",
27
+ output_shape: { type: "none" },
28
+ side_effects: "updates"
29
+ };
30
+ static examples = ["<%= config.bin %> poll set-options 99 --option \"Yes\" --option \"No\" --option \"Maybe\"", "<%= config.bin %> poll set-options 99 --option \"Option A\" --option \"Option B\" --json"];
31
+ static enableJsonFlag = true;
32
+ static flags = {
33
+ ...require_lib_base_command.AuthenticatedCommand.baseFlags,
34
+ option: _oclif_core.Flags.string({
35
+ description: "Poll option (repeat for multiple)",
36
+ multiple: true,
37
+ required: false
38
+ })
39
+ };
40
+ static args = { id: _oclif_core.Args.string({
41
+ description: "Poll ID",
42
+ required: true
43
+ }) };
44
+ async run() {
45
+ const { args, flags } = await this.parse(PollSetOptions);
46
+ this.printWorkspaceHeader();
47
+ let options = flags.option ?? [];
48
+ if (options.length === 0 && !this.jsonEnabled()) {
49
+ this.log("Enter poll options one at a time. Press Enter on an empty line when done.");
50
+ while (true) {
51
+ const result = await (0, _clack_prompts.text)({
52
+ message: `Option ${options.length + 1} (leave empty to finish)`,
53
+ placeholder: options.length >= 2 ? "Press Enter to finish" : "e.g. Yes"
54
+ });
55
+ if ((0, _clack_prompts.isCancel)(result)) process.exit(2);
56
+ const val = result.trim();
57
+ if (!val) break;
58
+ options.push(val);
59
+ }
60
+ }
61
+ if (options.length === 0) this.error("At least one --option is required", { exit: 1 });
62
+ const optionsJson = JSON.stringify(options);
63
+ const { data, error } = await this.apiClient.POST("/poll/set-options", {
64
+ body: {
65
+ poll_id: Number(args.id),
66
+ options: optionsJson
67
+ },
68
+ headers: { "Content-Type": "application/x-www-form-urlencoded" }
69
+ });
70
+ if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
71
+ if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
72
+ ok: true,
73
+ data,
74
+ summary: `Poll options set (${options.length} options)`,
75
+ breadcrumbs: [{ domain: this.activeWorkspace.domain }, {
76
+ resource: "poll",
77
+ id: args.id
78
+ }]
79
+ });
80
+ this.log(chalk.default.green(`Poll options set (${options.length} options)`));
81
+ }
82
+ };
83
+ //#endregion
84
+ module.exports = PollSetOptions;
@@ -0,0 +1,79 @@
1
+ const require_runtime = require("../../_virtual/_rolldown/runtime.cjs");
2
+ const require_lib_term_map = require("../../lib/term-map.cjs");
3
+ const require_lib_base_command = require("../../lib/base-command.cjs");
4
+ const require_lib_output = require("../../lib/output.cjs");
5
+ let _oclif_core = require("@oclif/core");
6
+ let chalk = require("chalk");
7
+ chalk = require_runtime.__toESM(chalk);
8
+ //#region src/commands/poll/update.ts
9
+ /**
10
+ * Poll update command — updates a poll's settings.
11
+ *
12
+ * Sends only fields where flags are explicitly provided.
13
+ * Boolean flags map to _p suffix fields (open_p, display_results_p).
14
+ *
15
+ * Threat mitigations:
16
+ * T-05-18: applyCliTerms() on all error messages
17
+ */
18
+ var PollUpdate = class PollUpdate extends require_lib_base_command.AuthenticatedCommand {
19
+ static description = "Update a poll";
20
+ static agentMetadata = {
21
+ api_endpoint: "POST /poll/update",
22
+ auth_scope: "write",
23
+ output_shape: { type: "none" },
24
+ side_effects: "updates"
25
+ };
26
+ static examples = [
27
+ "<%= config.bin %> poll update 99 --question \"Updated question?\"",
28
+ "<%= config.bin %> poll update 99 --open",
29
+ "<%= config.bin %> poll update 99 --no-display-results",
30
+ "<%= config.bin %> poll update 99 --question \"New?\" --open --json"
31
+ ];
32
+ static enableJsonFlag = true;
33
+ static flags = {
34
+ ...require_lib_base_command.AuthenticatedCommand.baseFlags,
35
+ question: _oclif_core.Flags.string({
36
+ description: "Poll question",
37
+ required: false
38
+ }),
39
+ open: _oclif_core.Flags.boolean({
40
+ description: "Open or close the poll",
41
+ allowNo: true,
42
+ required: false
43
+ }),
44
+ "display-results": _oclif_core.Flags.boolean({
45
+ description: "Show or hide results",
46
+ allowNo: true,
47
+ required: false
48
+ })
49
+ };
50
+ static args = { id: _oclif_core.Args.string({
51
+ description: "Poll ID",
52
+ required: true
53
+ }) };
54
+ async run() {
55
+ const { args, flags } = await this.parse(PollUpdate);
56
+ this.printWorkspaceHeader();
57
+ const body = { poll_id: Number(args.id) };
58
+ if (flags.question !== void 0) body.question = flags.question;
59
+ if (flags.open !== void 0) body.open_p = flags.open ? 1 : 0;
60
+ if (flags["display-results"] !== void 0) body.display_results_p = flags["display-results"] ? 1 : 0;
61
+ const { data, error } = await this.apiClient.POST("/poll/update", {
62
+ body,
63
+ headers: { "Content-Type": "application/x-www-form-urlencoded" }
64
+ });
65
+ if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
66
+ if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
67
+ ok: true,
68
+ data,
69
+ summary: "Poll updated",
70
+ breadcrumbs: [{ domain: this.activeWorkspace.domain }, {
71
+ resource: "poll",
72
+ id: args.id
73
+ }]
74
+ });
75
+ this.log(chalk.default.green("Poll updated"));
76
+ }
77
+ };
78
+ //#endregion
79
+ module.exports = PollUpdate;
@@ -0,0 +1,57 @@
1
+ const require_runtime = require("../../../_virtual/_rolldown/runtime.cjs");
2
+ const require_lib_term_map = require("../../../lib/term-map.cjs");
3
+ const require_lib_base_command = require("../../../lib/base-command.cjs");
4
+ const require_lib_output = require("../../../lib/output.cjs");
5
+ let chalk = require("chalk");
6
+ chalk = require_runtime.__toESM(chalk);
7
+ //#region src/commands/presentation/page/link-locations.ts
8
+ /**
9
+ * Presentation page link-locations command — lists available link locations (PRS-03).
10
+ *
11
+ * Uses GET /presentation/page/link-locations — returns a list of link location options.
12
+ * Pattern A: standard GET list with table output.
13
+ *
14
+ * 3-level oclif topic via directory structure (presentation/page/link-locations.ts).
15
+ *
16
+ * Threat mitigations:
17
+ * T-08-16: extends AuthenticatedCommand — anonymous mode rejected
18
+ */
19
+ var PresentationPageLinkLocations = class PresentationPageLinkLocations extends require_lib_base_command.AuthenticatedCommand {
20
+ static description = "List available presentation page link locations";
21
+ static examples = ["<%= config.bin %> presentation page link-locations", "<%= config.bin %> presentation page link-locations --json"];
22
+ static enableJsonFlag = true;
23
+ static flags = { ...require_lib_base_command.AuthenticatedCommand.baseFlags };
24
+ static args = {};
25
+ static agentMetadata = {
26
+ api_endpoint: "GET /presentation/page/link-locations",
27
+ auth_scope: "read",
28
+ output_shape: {
29
+ type: "table",
30
+ columns: ["Link Location", "Label"]
31
+ },
32
+ side_effects: "none"
33
+ };
34
+ async run() {
35
+ const {} = await this.parse(PresentationPageLinkLocations);
36
+ this.printWorkspaceHeader();
37
+ const { data, error } = await this.apiClient.GET("/presentation/page/link-locations", {});
38
+ if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
39
+ const resp = data;
40
+ const rows = Array.isArray(resp?.data) ? resp.data : resp?.data ? [resp.data] : [];
41
+ if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
42
+ ok: true,
43
+ data: rows,
44
+ summary: `${rows.length} link location(s)`,
45
+ breadcrumbs: [{ domain: this.activeWorkspace.domain }, { resource: "presentation" }]
46
+ });
47
+ if (rows.length === 0) {
48
+ this.log("No link locations found.");
49
+ return;
50
+ }
51
+ const table = require_lib_output.renderTable(["Link Location", "Label"], rows.map((r) => [String(r.link_location ?? ""), require_lib_term_map.applyCliTerms(String(r.label ?? ""))]));
52
+ this.log(table.toString());
53
+ this.log(chalk.default.dim(`${rows.length} link location(s)`));
54
+ }
55
+ };
56
+ //#endregion
57
+ module.exports = PresentationPageLinkLocations;
@@ -0,0 +1,44 @@
1
+ const require_lib_term_map = require("../../../lib/term-map.cjs");
2
+ const require_lib_base_command = require("../../../lib/base-command.cjs");
3
+ const require_lib_output = require("../../../lib/output.cjs");
4
+ //#region src/commands/presentation/setting/list.ts
5
+ /**
6
+ * Presentation setting list command — retrieves workspace presentation settings (PRS-01).
7
+ *
8
+ * Uses GET /presentation/setting/list — returns a large settings object.
9
+ * Output is key-value format iterating all top-level keys.
10
+ *
11
+ * Threat mitigations:
12
+ * T-08-16: extends AuthenticatedCommand — anonymous mode rejected
13
+ */
14
+ var PresentationSettingList = class PresentationSettingList extends require_lib_base_command.AuthenticatedCommand {
15
+ static description = "List workspace presentation settings";
16
+ static examples = ["<%= config.bin %> presentation setting list", "<%= config.bin %> presentation setting list --json"];
17
+ static enableJsonFlag = true;
18
+ static flags = { ...require_lib_base_command.AuthenticatedCommand.baseFlags };
19
+ static args = {};
20
+ static agentMetadata = {
21
+ api_endpoint: "GET /presentation/setting/list",
22
+ auth_scope: "read",
23
+ output_shape: { type: "key-value" },
24
+ side_effects: "none"
25
+ };
26
+ async run() {
27
+ const {} = await this.parse(PresentationSettingList);
28
+ this.printWorkspaceHeader();
29
+ const { data, error } = await this.apiClient.GET("/presentation/setting/list", {});
30
+ if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
31
+ const resp = data;
32
+ const obj = resp?.data ?? resp;
33
+ if (!obj) this.error("No presentation settings returned", { exit: 1 });
34
+ if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
35
+ ok: true,
36
+ data: obj,
37
+ summary: "Presentation settings",
38
+ breadcrumbs: [{ domain: this.activeWorkspace.domain }, { resource: "presentation" }]
39
+ });
40
+ for (const [k, v] of Object.entries(obj)) this.log(`${k}: ${require_lib_term_map.applyCliTerms(String(v ?? ""))}`);
41
+ }
42
+ };
43
+ //#endregion
44
+ module.exports = PresentationSettingList;