twentythree-cli 1.0.0 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (234) hide show
  1. package/bin/dev.js +0 -0
  2. package/dist/commands/action/add.cjs +1 -1
  3. package/dist/commands/action/delete.cjs +1 -1
  4. package/dist/commands/action/exclude.cjs +1 -1
  5. package/dist/commands/action/get.cjs +1 -1
  6. package/dist/commands/action/include.cjs +1 -1
  7. package/dist/commands/action/list.cjs +1 -1
  8. package/dist/commands/action/types.cjs +1 -1
  9. package/dist/commands/action/update.cjs +1 -1
  10. package/dist/commands/action/upload.cjs +1 -1
  11. package/dist/commands/analytics/conversions/index.cjs +1 -1
  12. package/dist/commands/analytics/conversions/timeseries.cjs +1 -1
  13. package/dist/commands/analytics/conversions/totals.cjs +1 -1
  14. package/dist/commands/analytics/live/event-timeseries.cjs +1 -1
  15. package/dist/commands/analytics/live/event-totals.cjs +1 -1
  16. package/dist/commands/analytics/live/event.cjs +1 -1
  17. package/dist/commands/analytics/live/index.cjs +1 -1
  18. package/dist/commands/analytics/live/timeseries.cjs +1 -1
  19. package/dist/commands/analytics/live/totals.cjs +1 -1
  20. package/dist/commands/analytics/live/weekday/timeseries.cjs +1 -1
  21. package/dist/commands/analytics/live/weekday/totals.cjs +1 -1
  22. package/dist/commands/analytics/live/weekday.cjs +1 -1
  23. package/dist/commands/analytics/usage/devices/timeseries.cjs +1 -1
  24. package/dist/commands/analytics/usage/devices/totals.cjs +1 -1
  25. package/dist/commands/analytics/usage/devices.cjs +1 -1
  26. package/dist/commands/analytics/usage/domains/totals.cjs +1 -1
  27. package/dist/commands/analytics/usage/domains.cjs +1 -1
  28. package/dist/commands/analytics/usage/locations/totals.cjs +1 -1
  29. package/dist/commands/analytics/usage/locations.cjs +1 -1
  30. package/dist/commands/analytics/usage/sourceids/totals.cjs +1 -1
  31. package/dist/commands/analytics/usage/sourceids.cjs +1 -1
  32. package/dist/commands/analytics/usage/sources/totals.cjs +1 -1
  33. package/dist/commands/analytics/usage/sources.cjs +1 -1
  34. package/dist/commands/analytics/usage/spots/timeseries.cjs +1 -1
  35. package/dist/commands/analytics/usage/spots/totals.cjs +1 -1
  36. package/dist/commands/analytics/usage/spots.cjs +1 -1
  37. package/dist/commands/analytics/usage/storage.cjs +1 -1
  38. package/dist/commands/analytics/usage/traffic/timeseries.cjs +1 -1
  39. package/dist/commands/analytics/usage/traffic/totals.cjs +1 -1
  40. package/dist/commands/analytics/usage/traffic.cjs +1 -1
  41. package/dist/commands/analytics/video/index.cjs +1 -1
  42. package/dist/commands/analytics/video/performance/timeseries.cjs +1 -1
  43. package/dist/commands/analytics/video/performance/totals.cjs +1 -1
  44. package/dist/commands/analytics/video/performance.cjs +1 -1
  45. package/dist/commands/analytics/video/published/timeseries.cjs +1 -1
  46. package/dist/commands/analytics/video/published/totals.cjs +1 -1
  47. package/dist/commands/analytics/video/published.cjs +1 -1
  48. package/dist/commands/analytics/video/timeseries.cjs +1 -1
  49. package/dist/commands/analytics/video/totals.cjs +1 -1
  50. package/dist/commands/analytics/video/weekday/timeseries.cjs +1 -1
  51. package/dist/commands/analytics/video/weekday/totals.cjs +1 -1
  52. package/dist/commands/analytics/video/weekday.cjs +1 -1
  53. package/dist/commands/app/add.cjs +1 -1
  54. package/dist/commands/app/delete.cjs +1 -1
  55. package/dist/commands/app/update.cjs +1 -1
  56. package/dist/commands/audience/companies.cjs +1 -1
  57. package/dist/commands/audience/field/list.cjs +1 -1
  58. package/dist/commands/audience/field/remove.cjs +1 -1
  59. package/dist/commands/audience/field/set.cjs +1 -1
  60. package/dist/commands/audience/field/types.cjs +1 -1
  61. package/dist/commands/audience/funnel.cjs +1 -1
  62. package/dist/commands/audience/identity-sources.cjs +1 -1
  63. package/dist/commands/audience/list-collectors.cjs +1 -1
  64. package/dist/commands/audience/list.cjs +1 -1
  65. package/dist/commands/audience/metrics.cjs +1 -1
  66. package/dist/commands/audience/register.cjs +1 -1
  67. package/dist/commands/audience/remove.cjs +1 -1
  68. package/dist/commands/audience/search.cjs +1 -1
  69. package/dist/commands/audience/timelines.cjs +1 -1
  70. package/dist/commands/audience/unregister.cjs +1 -1
  71. package/dist/commands/auth/credentials.cjs +3 -2
  72. package/dist/commands/autocomplete/index.cjs +79 -0
  73. package/dist/commands/category/create.cjs +2 -2
  74. package/dist/commands/category/delete.cjs +1 -1
  75. package/dist/commands/category/list.cjs +2 -2
  76. package/dist/commands/category/update.cjs +2 -2
  77. package/dist/commands/collector/exclude.cjs +1 -1
  78. package/dist/commands/collector/include.cjs +1 -1
  79. package/dist/commands/collector/list.cjs +1 -1
  80. package/dist/commands/comment/add.cjs +1 -1
  81. package/dist/commands/comment/clone.cjs +1 -1
  82. package/dist/commands/comment/delete.cjs +1 -1
  83. package/dist/commands/comment/list.cjs +1 -1
  84. package/dist/commands/comment/promote.cjs +1 -1
  85. package/dist/commands/comment/reaction/add.cjs +1 -1
  86. package/dist/commands/comment/reaction/list.cjs +1 -1
  87. package/dist/commands/comment/reaction/remove.cjs +1 -1
  88. package/dist/commands/comment/set-order.cjs +1 -1
  89. package/dist/commands/comment/update.cjs +1 -1
  90. package/dist/commands/openupload/list.cjs +2 -2
  91. package/dist/commands/openupload/update-file.cjs +1 -1
  92. package/dist/commands/player/delete.cjs +1 -1
  93. package/dist/commands/player/embed-versions.cjs +1 -1
  94. package/dist/commands/player/embed.cjs +1 -1
  95. package/dist/commands/player/list.cjs +1 -1
  96. package/dist/commands/player/styles.cjs +1 -1
  97. package/dist/commands/player/update.cjs +1 -1
  98. package/dist/commands/poll/add.cjs +1 -1
  99. package/dist/commands/poll/answer.cjs +1 -1
  100. package/dist/commands/poll/list.cjs +1 -1
  101. package/dist/commands/poll/remove.cjs +1 -1
  102. package/dist/commands/poll/set-options.cjs +1 -1
  103. package/dist/commands/poll/update.cjs +1 -1
  104. package/dist/commands/presentation/page/link-locations.cjs +1 -1
  105. package/dist/commands/presentation/setting/list.cjs +1 -1
  106. package/dist/commands/presentation/setting/update.cjs +1 -1
  107. package/dist/commands/protection/protect.cjs +1 -1
  108. package/dist/commands/protection/unprotect.cjs +1 -1
  109. package/dist/commands/protection/verify.cjs +1 -1
  110. package/dist/commands/session/get-token.cjs +1 -1
  111. package/dist/commands/session/redeem-token.cjs +1 -1
  112. package/dist/commands/setting/update.cjs +2 -2
  113. package/dist/commands/site/get.cjs +3 -3
  114. package/dist/commands/site/search.cjs +1 -1
  115. package/dist/commands/spot/check.cjs +1 -1
  116. package/dist/commands/spot/create.cjs +1 -1
  117. package/dist/commands/spot/delete.cjs +1 -1
  118. package/dist/commands/spot/list.cjs +2 -2
  119. package/dist/commands/spot/reset-version.cjs +1 -1
  120. package/dist/commands/spot/set-videos.cjs +1 -1
  121. package/dist/commands/spot/update.cjs +2 -2
  122. package/dist/commands/tag/list.cjs +1 -1
  123. package/dist/commands/tag/related.cjs +1 -1
  124. package/dist/commands/thumbnail/add.cjs +1 -1
  125. package/dist/commands/thumbnail/data.cjs +1 -1
  126. package/dist/commands/thumbnail/delete.cjs +1 -1
  127. package/dist/commands/thumbnail/duplicate.cjs +1 -1
  128. package/dist/commands/thumbnail/file/delete.cjs +1 -1
  129. package/dist/commands/thumbnail/file/list.cjs +1 -1
  130. package/dist/commands/thumbnail/file/upload.cjs +1 -1
  131. package/dist/commands/thumbnail/list.cjs +1 -1
  132. package/dist/commands/thumbnail/update.cjs +1 -1
  133. package/dist/commands/user/create.cjs +2 -2
  134. package/dist/commands/user/get-login-token.cjs +1 -1
  135. package/dist/commands/user/get.cjs +2 -2
  136. package/dist/commands/user/list.cjs +1 -1
  137. package/dist/commands/user/redeem-login-token.cjs +1 -1
  138. package/dist/commands/user/send-invitation.cjs +1 -1
  139. package/dist/commands/user/update.cjs +1 -1
  140. package/dist/commands/video/frame.cjs +1 -1
  141. package/dist/commands/video/get.cjs +2 -2
  142. package/dist/commands/video/list.cjs +4 -3
  143. package/dist/commands/video/replace.cjs +3 -2
  144. package/dist/commands/video/section/create.cjs +1 -1
  145. package/dist/commands/video/section/delete.cjs +1 -1
  146. package/dist/commands/video/section/list.cjs +2 -2
  147. package/dist/commands/video/section/set-thumbnail.cjs +1 -1
  148. package/dist/commands/video/section/update.cjs +1 -1
  149. package/dist/commands/video/subtitle/archive.cjs +2 -2
  150. package/dist/commands/video/subtitle/create.cjs +2 -2
  151. package/dist/commands/video/subtitle/data.cjs +3 -1
  152. package/dist/commands/video/subtitle/delete.cjs +1 -1
  153. package/dist/commands/video/subtitle/duplicate.cjs +2 -2
  154. package/dist/commands/video/subtitle/list.cjs +2 -2
  155. package/dist/commands/video/subtitle/locales.cjs +1 -1
  156. package/dist/commands/video/subtitle/set-primary.cjs +1 -1
  157. package/dist/commands/video/subtitle/types.cjs +1 -1
  158. package/dist/commands/video/subtitle/update.cjs +3 -3
  159. package/dist/commands/video/subtitle/upload.cjs +2 -2
  160. package/dist/commands/video/transcoding-progress.cjs +2 -2
  161. package/dist/commands/video/update.cjs +11 -8
  162. package/dist/commands/webhook/events.cjs +2 -2
  163. package/dist/commands/webhook/list.cjs +1 -1
  164. package/dist/commands/webhook/sample.cjs +1 -1
  165. package/dist/commands/webhook/subscribe.cjs +1 -1
  166. package/dist/commands/webhook/unsubscribe.cjs +1 -1
  167. package/dist/commands/webinar/attachment/delete.cjs +1 -1
  168. package/dist/commands/webinar/attachment/list.cjs +2 -2
  169. package/dist/commands/webinar/attachment/set-hidden.cjs +1 -1
  170. package/dist/commands/webinar/clips.cjs +1 -1
  171. package/dist/commands/webinar/create.cjs +3 -3
  172. package/dist/commands/webinar/delete.cjs +1 -1
  173. package/dist/commands/webinar/highlights.cjs +1 -1
  174. package/dist/commands/webinar/list-formats.cjs +1 -1
  175. package/dist/commands/webinar/list.cjs +3 -3
  176. package/dist/commands/webinar/log.cjs +1 -1
  177. package/dist/commands/webinar/mail/add.cjs +1 -1
  178. package/dist/commands/webinar/mail/list.cjs +1 -1
  179. package/dist/commands/webinar/mail/preview.cjs +16 -3
  180. package/dist/commands/webinar/mail/remove.cjs +1 -1
  181. package/dist/commands/webinar/mail/send.cjs +1 -1
  182. package/dist/commands/webinar/mail/test.cjs +1 -1
  183. package/dist/commands/webinar/mail/update.cjs +1 -1
  184. package/dist/commands/webinar/metrics.cjs +1 -1
  185. package/dist/commands/webinar/queued-video/add.cjs +1 -1
  186. package/dist/commands/webinar/queued-video/remove.cjs +1 -1
  187. package/dist/commands/webinar/recording/split.cjs +1 -1
  188. package/dist/commands/webinar/recording/start.cjs +1 -1
  189. package/dist/commands/webinar/recording/status.cjs +1 -1
  190. package/dist/commands/webinar/recording/stop.cjs +1 -1
  191. package/dist/commands/webinar/repeat.cjs +1 -1
  192. package/dist/commands/webinar/room/connect.cjs +1 -1
  193. package/dist/commands/webinar/room/info.cjs +1 -1
  194. package/dist/commands/webinar/room/send-recording.cjs +1 -1
  195. package/dist/commands/webinar/room/themes.cjs +1 -1
  196. package/dist/commands/webinar/section/add.cjs +1 -1
  197. package/dist/commands/webinar/section/list.cjs +1 -1
  198. package/dist/commands/webinar/section/remove.cjs +1 -1
  199. package/dist/commands/webinar/section/update.cjs +1 -1
  200. package/dist/commands/webinar/series/apply-recurrence.cjs +1 -1
  201. package/dist/commands/webinar/series/cancel.cjs +1 -1
  202. package/dist/commands/webinar/series/create.cjs +1 -1
  203. package/dist/commands/webinar/series/delete.cjs +1 -1
  204. package/dist/commands/webinar/series/list.cjs +1 -1
  205. package/dist/commands/webinar/series/mapped-objects.cjs +1 -1
  206. package/dist/commands/webinar/series/metrics.cjs +1 -1
  207. package/dist/commands/webinar/series/recurrences.cjs +1 -1
  208. package/dist/commands/webinar/series/set-ondemand.cjs +1 -1
  209. package/dist/commands/webinar/series/skip-recurrence.cjs +1 -1
  210. package/dist/commands/webinar/series/update.cjs +1 -1
  211. package/dist/commands/webinar/speaker/add-from-speaker.cjs +1 -1
  212. package/dist/commands/webinar/speaker/add-from-user.cjs +1 -1
  213. package/dist/commands/webinar/speaker/add.cjs +1 -1
  214. package/dist/commands/webinar/speaker/cancel-guest-request.cjs +1 -1
  215. package/dist/commands/webinar/speaker/connection-types.cjs +1 -1
  216. package/dist/commands/webinar/speaker/library.cjs +1 -1
  217. package/dist/commands/webinar/speaker/list.cjs +1 -1
  218. package/dist/commands/webinar/speaker/remove-avatar.cjs +1 -1
  219. package/dist/commands/webinar/speaker/remove.cjs +1 -1
  220. package/dist/commands/webinar/speaker/request-guest.cjs +1 -1
  221. package/dist/commands/webinar/speaker/send-invitation.cjs +1 -1
  222. package/dist/commands/webinar/speaker/set-order.cjs +1 -1
  223. package/dist/commands/webinar/speaker/update.cjs +1 -1
  224. package/dist/commands/webinar/transcription/connect.cjs +1 -1
  225. package/dist/commands/webinar/transcription/list.cjs +1 -1
  226. package/dist/commands/webinar/transcription/locales.cjs +1 -1
  227. package/dist/commands/webinar/transcription/transcriptionlist.cjs +1 -1
  228. package/dist/commands/webinar/update.cjs +4 -4
  229. package/dist/lib/base-command.cjs +1 -1
  230. package/dist/lib/output.cjs +33 -0
  231. package/dist/upload/chunk-pool.cjs +4 -1
  232. package/docs/guides/getting-started.md +17 -1
  233. package/oclif.manifest.json +997 -965
  234. package/package.json +13 -12
@@ -63,7 +63,7 @@ var ProtectionVerify = class ProtectionVerify extends require_lib_base_command.A
63
63
  object_id: flags["object-id"],
64
64
  verification_data: flags["verification-data"]
65
65
  } } });
66
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
66
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
67
67
  const resp = data;
68
68
  const obj = resp?.data ?? resp;
69
69
  if (!obj) this.error("No verification result returned", { exit: 1 });
@@ -58,7 +58,7 @@ var SessionGetToken = class SessionGetToken extends require_lib_base_command.Aut
58
58
  email: flags.email,
59
59
  full_name: flags["full-name"]
60
60
  } } });
61
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
61
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
62
62
  const resp = data;
63
63
  const tokenData = resp?.data ?? resp;
64
64
  const token = (resp?.data ?? resp)?.access_token ?? (resp?.data ?? resp)?.token;
@@ -39,7 +39,7 @@ var SessionRedeemToken = class SessionRedeemToken extends require_lib_base_comma
39
39
  body: { session_token: flags["session-token"] },
40
40
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
41
41
  });
42
- if (redeemError) this.error(require_lib_term_map.applyCliTerms(formatApiError(redeemError)), { exit: 1 });
42
+ if (redeemError) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(redeemError)), { exit: 1 });
43
43
  this.log(chalk.default.green("Session token redeemed"));
44
44
  const resp = redeemData;
45
45
  const obj = resp?.data ?? resp;
@@ -59,13 +59,13 @@ var SettingUpdate = class SettingUpdate extends require_lib_base_command.Authent
59
59
  if (idx < 1) this.error(`Invalid --set value: "${pair}" (expected key=value)`, { exit: 1 });
60
60
  body[pair.slice(0, idx)] = pair.slice(idx + 1);
61
61
  }
62
- const valOnly = parseBoolParam(flags["validate-only"], flags["validate-only-p"]);
62
+ const valOnly = require_lib_output.parseBoolParam(flags["validate-only"], flags["validate-only-p"]);
63
63
  if (valOnly) body.validate_only_p = 1;
64
64
  const { data: updateData, error: updateError } = await this.apiClient.POST("/setting/update", {
65
65
  body,
66
66
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
67
67
  });
68
- if (updateError) this.error(require_lib_term_map.applyCliTerms(formatApiError(updateError)), { exit: 1 });
68
+ if (updateError) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(updateError)), { exit: 1 });
69
69
  this.log(chalk.default.green(valOnly ? "Settings validated (dry-run)" : "Settings updated"));
70
70
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
71
71
  ok: true,
@@ -50,13 +50,13 @@ var SiteGet = class SiteGet extends require_lib_base_command.AuthenticatedComman
50
50
  async run() {
51
51
  const { flags } = await this.parse(SiteGet);
52
52
  this.printWorkspaceHeader();
53
- const presVal = parseBoolParam(flags["include-presentation"], flags["include-presentation-p"]);
54
- const quotaVal = parseBoolParam(flags["include-quota"], flags["include-quota-p"]);
53
+ const presVal = require_lib_output.parseBoolParam(flags["include-presentation"], flags["include-presentation-p"]);
54
+ const quotaVal = require_lib_output.parseBoolParam(flags["include-quota"], flags["include-quota-p"]);
55
55
  const { data, error } = await this.apiClient.GET("/site/get", { params: { query: {
56
56
  include_presentation_p: presVal,
57
57
  include_quota_p: quotaVal
58
58
  } } });
59
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
59
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
60
60
  const resp = data;
61
61
  const obj = resp?.data ?? resp;
62
62
  if (!obj) this.error("No data returned", { exit: 1 });
@@ -63,7 +63,7 @@ var SiteSearch = class SiteSearch extends require_lib_base_command.Authenticated
63
63
  selection: flags.selection,
64
64
  size: flags.size
65
65
  } } });
66
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
66
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
67
67
  const resp = data;
68
68
  const rows = Array.isArray(resp?.data) ? resp.data : resp?.data ? [resp.data] : [];
69
69
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
@@ -32,7 +32,7 @@ var SpotCheck = class SpotCheck extends require_lib_base_command.AuthenticatedCo
32
32
  const { args } = await this.parse(SpotCheck);
33
33
  this.printWorkspaceHeader();
34
34
  const { data, error } = await this.apiClient.GET("/spot/check", { params: { query: { spot_id: Number(args.id) } } });
35
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
35
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
36
36
  const resp = data;
37
37
  const obj = resp?.data ?? resp;
38
38
  if (!obj) this.error("No data returned", { exit: 1 });
@@ -60,7 +60,7 @@ var SpotCreate = class SpotCreate extends require_lib_base_command.Authenticated
60
60
  body,
61
61
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
62
62
  });
63
- if (createError) this.error(require_lib_term_map.applyCliTerms(formatApiError(createError)), { exit: 1 });
63
+ if (createError) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(createError)), { exit: 1 });
64
64
  const spotId = createData?.data?.spot_id;
65
65
  this.log(chalk.default.green("Spot created"));
66
66
  this.log(`ID: ${spotId}`);
@@ -51,7 +51,7 @@ var SpotDelete = class SpotDelete extends require_lib_base_command.Authenticated
51
51
  body: { spot_id: Number(args.id) },
52
52
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
53
53
  });
54
- if (deleteError) this.error(require_lib_term_map.applyCliTerms(formatApiError(deleteError)), { exit: 1 });
54
+ if (deleteError) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(deleteError)), { exit: 1 });
55
55
  this.log(chalk.default.green(`Spot ${args.id} deleted`));
56
56
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
57
57
  ok: true,
@@ -78,7 +78,7 @@ var SpotList = class SpotList extends require_lib_base_command.AuthenticatedComm
78
78
  async run() {
79
79
  const { flags } = await this.parse(SpotList);
80
80
  this.printWorkspaceHeader();
81
- const activeVal = parseBoolParam(flags.active, flags["active-p"]);
81
+ const activeVal = require_lib_output.parseBoolParam(flags.active, flags["active-p"]);
82
82
  const { data, error } = await this.apiClient.GET("/spot/list", { params: { query: {
83
83
  search: flags.search,
84
84
  spot_type: flags["spot-type"],
@@ -88,7 +88,7 @@ var SpotList = class SpotList extends require_lib_base_command.AuthenticatedComm
88
88
  orderby: flags.orderby,
89
89
  order: flags.order
90
90
  } } });
91
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
91
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
92
92
  const resp = data;
93
93
  const rows = Array.isArray(resp?.data) ? resp.data : resp?.data ? [resp.data] : [];
94
94
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
@@ -36,7 +36,7 @@ var SpotResetVersion = class SpotResetVersion extends require_lib_base_command.A
36
36
  body: { spot_id: Number(args.id) },
37
37
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
38
38
  });
39
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
39
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
40
40
  this.log(chalk.default.green(`Spot ${args.id} version reset`));
41
41
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
42
42
  ok: true,
@@ -47,7 +47,7 @@ var SpotSetVideos = class SpotSetVideos extends require_lib_base_command.Authent
47
47
  },
48
48
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
49
49
  });
50
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
50
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
51
51
  this.log(chalk.default.green(`Videos set for spot ${args.id}`));
52
52
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
53
53
  ok: true,
@@ -55,13 +55,13 @@ var SpotUpdate = class SpotUpdate extends require_lib_base_command.Authenticated
55
55
  this.printWorkspaceHeader();
56
56
  const body = { spot_id: Number(args.id) };
57
57
  if (flags["spot-name"] !== void 0) body.spot_name = flags["spot-name"];
58
- const activeVal = parseBoolParam(flags.active, flags["active-p"]);
58
+ const activeVal = require_lib_output.parseBoolParam(flags.active, flags["active-p"]);
59
59
  if (activeVal !== void 0) body.active_p = activeVal ? 1 : 0;
60
60
  const { data: updateData, error: updateError } = await this.apiClient.POST("/spot/update", {
61
61
  body,
62
62
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
63
63
  });
64
- if (updateError) this.error(require_lib_term_map.applyCliTerms(formatApiError(updateError)), { exit: 1 });
64
+ if (updateError) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(updateError)), { exit: 1 });
65
65
  this.log(chalk.default.green(`Spot ${args.id} updated`));
66
66
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
67
67
  ok: true,
@@ -72,7 +72,7 @@ var TagList = class TagList extends require_lib_base_command.AuthenticatedComman
72
72
  orderby: flags.orderby,
73
73
  order: flags.order
74
74
  } } });
75
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
75
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
76
76
  const resp = data;
77
77
  return {
78
78
  data: Array.isArray(resp?.data) ? resp.data : resp?.data ? [resp.data] : [],
@@ -31,7 +31,7 @@ var TagRelated = class TagRelated extends require_lib_base_command.Authenticated
31
31
  const { args } = await this.parse(TagRelated);
32
32
  this.printWorkspaceHeader();
33
33
  const { data, error } = await this.apiClient.GET("/tag/related", { params: { query: { tag: args.tag } } });
34
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
34
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
35
35
  const resp = data;
36
36
  const tags = Array.isArray(resp?.data) ? resp.data : resp?.data ? [resp.data] : [];
37
37
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
@@ -47,7 +47,7 @@ var ThumbnailAdd = class ThumbnailAdd extends require_lib_base_command.Authentic
47
47
  },
48
48
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
49
49
  });
50
- if (createError) this.error(require_lib_term_map.applyCliTerms(formatApiError(createError)), { exit: 1 });
50
+ if (createError) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(createError)), { exit: 1 });
51
51
  const thumbnailTemplateId = createData?.data?.thumbnail_template_id;
52
52
  this.log(chalk.default.green("Thumbnail template created"));
53
53
  this.log(`ID: ${thumbnailTemplateId}`);
@@ -42,7 +42,7 @@ var ThumbnailData = class ThumbnailData extends require_lib_base_command.Authent
42
42
  thumbnail_template_id: Number(args.id),
43
43
  object_id: Number(flags["object-id"])
44
44
  } } });
45
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
45
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
46
46
  const resp = data;
47
47
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
48
48
  ok: true,
@@ -44,7 +44,7 @@ var ThumbnailDelete = class ThumbnailDelete extends require_lib_base_command.Aut
44
44
  body: { thumbnail_template_id: Number(args.id) },
45
45
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
46
46
  });
47
- if (deleteError) this.error(require_lib_term_map.applyCliTerms(formatApiError(deleteError)), { exit: 1 });
47
+ if (deleteError) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(deleteError)), { exit: 1 });
48
48
  this.log(chalk.default.green(`Thumbnail template ${args.id} deleted`));
49
49
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
50
50
  ok: true,
@@ -50,7 +50,7 @@ var ThumbnailDuplicate = class ThumbnailDuplicate extends require_lib_base_comma
50
50
  },
51
51
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
52
52
  });
53
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
53
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
54
54
  this.log(chalk.default.green("Thumbnail template duplicated"));
55
55
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
56
56
  ok: true,
@@ -54,7 +54,7 @@ var ThumbnailFileDelete = class ThumbnailFileDelete extends require_lib_base_com
54
54
  },
55
55
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
56
56
  });
57
- if (deleteError) this.error(require_lib_term_map.applyCliTerms(formatApiError(deleteError)), { exit: 1 });
57
+ if (deleteError) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(deleteError)), { exit: 1 });
58
58
  this.log(chalk.default.green(`File "${flags.filename}" deleted from template ${flags["template-id"]}`));
59
59
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
60
60
  ok: true,
@@ -41,7 +41,7 @@ var ThumbnailFileList = class ThumbnailFileList extends require_lib_base_command
41
41
  const { args } = await this.parse(ThumbnailFileList);
42
42
  this.printWorkspaceHeader();
43
43
  const { data, error } = await this.apiClient.GET("/thumbnail/template/list-files", { params: { query: { thumbnail_template_id: Number(args.id) } } });
44
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
44
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
45
45
  const resp = data;
46
46
  const rows = Array.isArray(resp?.data) ? resp.data : resp?.data ? [resp.data] : [];
47
47
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
@@ -62,7 +62,7 @@ var ThumbnailFileUpload = class ThumbnailFileUpload extends require_lib_base_com
62
62
  return fd;
63
63
  }
64
64
  });
65
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
65
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
66
66
  this.log(chalk.default.green("File uploaded"));
67
67
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
68
68
  ok: true,
@@ -55,7 +55,7 @@ var ThumbnailList = class ThumbnailList extends require_lib_base_command.Authent
55
55
  search: flags.search,
56
56
  object_type: flags["object-type"]
57
57
  } } });
58
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
58
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
59
59
  const resp = data;
60
60
  const rows = Array.isArray(resp?.data) ? resp.data : resp?.data ? [resp.data] : [];
61
61
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
@@ -70,7 +70,7 @@ var ThumbnailUpdate = class ThumbnailUpdate extends require_lib_base_command.Aut
70
70
  body,
71
71
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
72
72
  });
73
- if (updateError) this.error(require_lib_term_map.applyCliTerms(formatApiError(updateError)), { exit: 1 });
73
+ if (updateError) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(updateError)), { exit: 1 });
74
74
  this.log(chalk.default.green(`Thumbnail template ${args.id} updated`));
75
75
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
76
76
  ok: true,
@@ -62,13 +62,13 @@ var UserCreate = class UserCreate extends require_lib_base_command.Authenticated
62
62
  if (flags.username !== void 0) body.username = flags.username;
63
63
  if (flags["full-name"] !== void 0) body.full_name = flags["full-name"];
64
64
  if (flags["user-type"] !== void 0) body.user_type = flags["user-type"];
65
- const siteAdminVal = parseBoolParam(flags["site-admin"], flags["site-admin-p"]);
65
+ const siteAdminVal = require_lib_output.parseBoolParam(flags["site-admin"], flags["site-admin-p"]);
66
66
  if (siteAdminVal !== void 0) body.site_admin_p = siteAdminVal ? 1 : 0;
67
67
  const { data, error } = await this.apiClient.POST("/user/create", {
68
68
  body,
69
69
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
70
70
  });
71
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
71
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
72
72
  const userId = data?.data?.user_id;
73
73
  this.log(chalk.default.green("User created"));
74
74
  this.log(`ID: ${userId}`);
@@ -45,7 +45,7 @@ var UserGetLoginToken = class UserGetLoginToken extends require_lib_base_command
45
45
  user_id: Number(args.id),
46
46
  return_url: flags["return-url"]
47
47
  } } });
48
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
48
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
49
49
  const resp = data;
50
50
  const obj = resp?.data ?? resp;
51
51
  const token = obj?.login_token ?? obj?.token ?? "";
@@ -42,12 +42,12 @@ var UserGet = class UserGet extends require_lib_base_command.AuthenticatedComman
42
42
  async run() {
43
43
  const { args, flags } = await this.parse(UserGet);
44
44
  this.printWorkspaceHeader();
45
- const inclVal = parseBoolParam(flags["include-invitation"], flags["include-invitation-p"]);
45
+ const inclVal = require_lib_output.parseBoolParam(flags["include-invitation"], flags["include-invitation-p"]);
46
46
  const { data, error } = await this.apiClient.GET("/user/get", { params: { query: {
47
47
  user_id: Number(args.id),
48
48
  include_invitation_p: inclVal
49
49
  } } });
50
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
50
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
51
51
  const resp = data;
52
52
  const obj = resp?.data ?? resp;
53
53
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
@@ -63,7 +63,7 @@ var UserList = class UserList extends require_lib_base_command.AuthenticatedComm
63
63
  p: flags.page,
64
64
  size: flags.size
65
65
  } } });
66
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
66
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
67
67
  const resp = data;
68
68
  const rows = Array.isArray(resp?.data) ? resp.data : resp?.data ? [resp.data] : [];
69
69
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
@@ -31,7 +31,7 @@ var UserRedeemLoginToken = class UserRedeemLoginToken extends require_lib_base_c
31
31
  const { flags } = await this.parse(UserRedeemLoginToken);
32
32
  this.printWorkspaceHeader();
33
33
  const { data, error } = await this.apiClient.GET("/user/redeem-login-token", { params: { query: { login_token: flags["login-token"] } } });
34
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
34
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
35
35
  const resp = data;
36
36
  const obj = resp?.data ?? resp;
37
37
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
@@ -46,7 +46,7 @@ var UserSendInvitation = class UserSendInvitation extends require_lib_base_comma
46
46
  },
47
47
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
48
48
  });
49
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
49
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
50
50
  this.log(chalk.default.green(`Invitation sent to user ${args.id}`));
51
51
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
52
52
  ok: true,
@@ -104,7 +104,7 @@ var UserUpdate = class UserUpdate extends require_lib_base_command.Authenticated
104
104
  data = result.data;
105
105
  error = result.error;
106
106
  }
107
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
107
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
108
108
  this.log(chalk.default.green(`User ${args.id} updated`));
109
109
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
110
110
  ok: true,
@@ -47,7 +47,7 @@ var VideoFrame = class VideoFrame extends require_lib_base_command.Authenticated
47
47
  },
48
48
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
49
49
  });
50
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
50
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
51
51
  const frameData = data?.data ?? data;
52
52
  if (!this.jsonEnabled()) {
53
53
  const frameUrl = frameData?.url ?? frameData?.frame_url;
@@ -32,9 +32,9 @@ var VideoGet = class VideoGet extends require_lib_base_command.AuthenticatedComm
32
32
  this.printWorkspaceHeader();
33
33
  const { data, error } = await this.apiClient.GET("/photo/list", { params: { query: {
34
34
  photo_id: Number(args.id),
35
- include_unpublished_p: 1
35
+ include_unpublished_p: "1"
36
36
  } } });
37
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
37
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
38
38
  const resp = data;
39
39
  let video;
40
40
  if (Array.isArray(resp?.data)) video = resp.data[0];
@@ -52,19 +52,20 @@ var VideoList = class VideoList extends require_lib_base_command.AuthenticatedCo
52
52
  async run() {
53
53
  const { flags } = await this.parse(VideoList);
54
54
  this.printWorkspaceHeader();
55
- const videos = await require_lib_pagination.fetchAllPages(async (page, size) => {
55
+ const allVideos = await require_lib_pagination.fetchAllPages(async (page, size) => {
56
56
  const { data, error } = await this.apiClient.GET("/photo/list", { params: { query: {
57
57
  p: page,
58
58
  size,
59
- include_unpublished_p: parseBoolParam(flags["include-unpublished"], flags["include-unpublished-p"]) ? 1 : void 0
59
+ include_unpublished_p: require_lib_output.parseBoolParam(flags["include-unpublished"], flags["include-unpublished-p"]) ? "1" : void 0
60
60
  } } });
61
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
61
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
62
62
  const resp = data;
63
63
  return {
64
64
  data: Array.isArray(resp?.data) ? resp.data : resp?.data ? [resp.data] : [],
65
65
  total_count: resp?.total_count
66
66
  };
67
67
  });
68
+ const videos = flags.limit !== void 0 ? allVideos.slice(0, flags.limit) : allVideos;
68
69
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
69
70
  ok: true,
70
71
  data: videos,
@@ -80,8 +80,8 @@ var VideoReplace = class VideoReplace extends require_lib_base_command.Authentic
80
80
  } catch {
81
81
  this.error(`File not found: ${args.file}`, { exit: 1 });
82
82
  }
83
- const { data: tokenData, error: tokenError } = await this.apiClient.GET("/photo/get-replace-token", { params: { query: { photo_id: args.id } } });
84
- if (tokenError) this.error(require_lib_term_map.applyCliTerms(String(tokenError)), { exit: 1 });
83
+ const { data: tokenData, error: tokenError } = await this.apiClient.GET("/photo/get-replace-token", { params: { query: { photo_id: Number(args.id) } } });
84
+ if (tokenError) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(tokenError)), { exit: 1 });
85
85
  const replaceToken = tokenData?.data?.replace_token;
86
86
  if (!replaceToken) this.error("Failed to obtain replace token from API", { exit: 1 });
87
87
  const totalBytes = (await (0, node_fs_promises.stat)(args.file)).size;
@@ -107,6 +107,7 @@ var VideoReplace = class VideoReplace extends require_lib_base_command.Authentic
107
107
  } finally {
108
108
  bar.finish();
109
109
  }
110
+ if (!result) return;
110
111
  const adminUrl = `https://${this.activeWorkspace.domain}/manage/video/${args.id}`;
111
112
  this.log(chalk.default.green(`Video ${args.id} replaced successfully`));
112
113
  this.log(`ID: ${args.id}`);
@@ -50,7 +50,7 @@ var VideoSectionCreate = class VideoSectionCreate extends require_lib_base_comma
50
50
  },
51
51
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
52
52
  });
53
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
53
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
54
54
  const adminUrl = `https://${this.activeWorkspace.domain}/manage/video/${args.id}`;
55
55
  this.log(chalk.default.green(`Section created for video ${args.id}`));
56
56
  this.log(`Admin: ${adminUrl}`);
@@ -54,7 +54,7 @@ var VideoSectionDelete = class VideoSectionDelete extends require_lib_base_comma
54
54
  },
55
55
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
56
56
  });
57
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
57
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
58
58
  this.log(chalk.default.green(`Section ${flags["section-id"]} deleted from video ${args.id}`));
59
59
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
60
60
  ok: true,
@@ -35,10 +35,10 @@ var VideoSectionList = class VideoSectionList extends require_lib_base_command.A
35
35
  this.printWorkspaceHeader();
36
36
  const token = await this.fetchVideoToken(args.id);
37
37
  const { data, error } = await this.apiClient.GET("/photo/section/list", { params: { query: {
38
- photo_id: args.id,
38
+ photo_id: Number(args.id),
39
39
  token
40
40
  } } });
41
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
41
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
42
42
  const sections = data?.sections ?? data?.data ?? [];
43
43
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
44
44
  ok: true,
@@ -49,7 +49,7 @@ var VideoSectionSetThumbnail = class VideoSectionSetThumbnail extends require_li
49
49
  },
50
50
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
51
51
  });
52
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
52
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
53
53
  this.log(chalk.default.green(`Thumbnail set for section ${flags["section-id"]} of video ${args.id}`));
54
54
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
55
55
  ok: true,
@@ -60,7 +60,7 @@ var VideoSectionUpdate = class VideoSectionUpdate extends require_lib_base_comma
60
60
  body,
61
61
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
62
62
  });
63
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
63
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
64
64
  this.log(chalk.default.green(`Section ${flags["section-id"]} updated`));
65
65
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
66
66
  ok: true,
@@ -47,7 +47,7 @@ var VideoSubtitleArchive = class VideoSubtitleArchive extends require_lib_base_c
47
47
  body: {},
48
48
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
49
49
  });
50
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
50
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
51
51
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
52
52
  ok: true,
53
53
  data,
@@ -61,7 +61,7 @@ var VideoSubtitleArchive = class VideoSubtitleArchive extends require_lib_base_c
61
61
  body: {},
62
62
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
63
63
  });
64
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
64
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
65
65
  this.log(chalk.default.green("Transcription started for all videos in the workspace archive"));
66
66
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
67
67
  ok: true,
@@ -55,11 +55,11 @@ var VideoSubtitleCreate = class VideoSubtitleCreate extends require_lib_base_com
55
55
  photo_id: Number(args.id),
56
56
  locale: flags.locale,
57
57
  type: flags.type,
58
- ...parseBoolParam(flags.draft, flags["draft-p"]) !== void 0 && { draft_p: parseBoolParam(flags.draft, flags["draft-p"]) }
58
+ ...require_lib_output.parseBoolParam(flags.draft, flags["draft-p"]) !== void 0 && { draft_p: require_lib_output.parseBoolParam(flags.draft, flags["draft-p"]) }
59
59
  },
60
60
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
61
61
  });
62
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
62
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
63
63
  this.log(chalk.default.green(`Subtitle track created for video ${args.id} (locale: ${flags.locale})`));
64
64
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
65
65
  ok: true,
@@ -43,13 +43,15 @@ var VideoSubtitleData = class VideoSubtitleData extends require_lib_base_command
43
43
  async run() {
44
44
  const { args, flags } = await this.parse(VideoSubtitleData);
45
45
  this.printWorkspaceHeader();
46
+ const token = await this.fetchVideoToken(args.id);
46
47
  const { data, error } = await this.apiClient.GET("/photo/subtitle/data", { params: { query: {
47
48
  photo_id: Number(args.id),
49
+ token,
48
50
  locale: flags["subtitle-id"],
49
51
  subtitle_format: flags.format,
50
52
  type: flags.type
51
53
  } } });
52
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
54
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
53
55
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
54
56
  ok: true,
55
57
  data,
@@ -60,7 +60,7 @@ var VideoSubtitleDelete = class VideoSubtitleDelete extends require_lib_base_com
60
60
  },
61
61
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
62
62
  });
63
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
63
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
64
64
  this.log(chalk.default.green(`Subtitle track "${flags["subtitle-id"]}" deleted from video ${args.id}`));
65
65
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
66
66
  ok: true,
@@ -61,11 +61,11 @@ var VideoSubtitleDuplicate = class VideoSubtitleDuplicate extends require_lib_ba
61
61
  to_locale: flags["target-locale"],
62
62
  type_from: flags["source-type"],
63
63
  type_to: flags["target-type"],
64
- ...parseBoolParam(flags.draft, flags["draft-p"]) !== void 0 && { draft_p: parseBoolParam(flags.draft, flags["draft-p"]) }
64
+ ...require_lib_output.parseBoolParam(flags.draft, flags["draft-p"]) !== void 0 && { draft_p: require_lib_output.parseBoolParam(flags.draft, flags["draft-p"]) }
65
65
  },
66
66
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
67
67
  });
68
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
68
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
69
69
  this.log(chalk.default.green(`Subtitle track "${flags["subtitle-id"]}" duplicated to "${flags["target-locale"]}" for video ${args.id}`));
70
70
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
71
71
  ok: true,
@@ -53,9 +53,9 @@ var VideoSubtitleList = class VideoSubtitleList extends require_lib_base_command
53
53
  const { data, error } = await this.apiClient.GET("/photo/subtitle/list", { params: { query: {
54
54
  photo_id: Number(args.id),
55
55
  token,
56
- ...parseBoolParam(flags["include-drafts"], flags["include-drafts-p"]) && { include_drafts_p: true }
56
+ ...require_lib_output.parseBoolParam(flags["include-drafts"], flags["include-drafts-p"]) && { include_drafts_p: true }
57
57
  } } });
58
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
58
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
59
59
  const subtitles = data?.subtitles ?? data?.data ?? [];
60
60
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
61
61
  ok: true,
@@ -28,7 +28,7 @@ var VideoSubtitleLocales = class extends require_lib_base_command.AuthenticatedC
28
28
  async run() {
29
29
  this.printWorkspaceHeader();
30
30
  const { data, error } = await this.apiClient.GET("/photo/subtitle/locales", {});
31
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
31
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
32
32
  const locales = data?.locales ?? data?.data ?? [];
33
33
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
34
34
  ok: true,
@@ -40,7 +40,7 @@ var VideoSubtitleSetPrimary = class VideoSubtitleSetPrimary extends require_lib_
40
40
  },
41
41
  headers: { "Content-Type": "application/x-www-form-urlencoded" }
42
42
  });
43
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
43
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
44
44
  this.log(chalk.default.green(`Subtitle track "${flags["subtitle-id"]}" set as primary language for video ${args.id}`));
45
45
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
46
46
  ok: true,
@@ -22,7 +22,7 @@ var VideoSubtitleTypes = class extends require_lib_base_command.AuthenticatedCom
22
22
  async run() {
23
23
  this.printWorkspaceHeader();
24
24
  const { data, error } = await this.apiClient.GET("/photo/subtitle/types", {});
25
- if (error) this.error(require_lib_term_map.applyCliTerms(formatApiError(error)), { exit: 1 });
25
+ if (error) this.error(require_lib_term_map.applyCliTerms(require_lib_output.formatApiError(error)), { exit: 1 });
26
26
  const types = data?.types ?? data?.data ?? [];
27
27
  if (this.jsonEnabled()) return require_lib_output.formatJsonOutput({
28
28
  ok: true,