@transloadit/node 4.1.3

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 (593) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +701 -0
  3. package/dist/ApiError.d.ts +22 -0
  4. package/dist/ApiError.d.ts.map +1 -0
  5. package/dist/ApiError.js +33 -0
  6. package/dist/ApiError.js.map +1 -0
  7. package/dist/InconsistentResponseError.d.ts +4 -0
  8. package/dist/InconsistentResponseError.d.ts.map +1 -0
  9. package/dist/InconsistentResponseError.js +4 -0
  10. package/dist/InconsistentResponseError.js.map +1 -0
  11. package/dist/PaginationStream.d.ts +14 -0
  12. package/dist/PaginationStream.d.ts.map +1 -0
  13. package/dist/PaginationStream.js +36 -0
  14. package/dist/PaginationStream.js.map +1 -0
  15. package/dist/PollingTimeoutError.d.ts +5 -0
  16. package/dist/PollingTimeoutError.d.ts.map +1 -0
  17. package/dist/PollingTimeoutError.js +5 -0
  18. package/dist/PollingTimeoutError.js.map +1 -0
  19. package/dist/Transloadit.d.ts +250 -0
  20. package/dist/Transloadit.d.ts.map +1 -0
  21. package/dist/Transloadit.js +661 -0
  22. package/dist/Transloadit.js.map +1 -0
  23. package/dist/alphalib/lib/nativeGlobby.d.ts +14 -0
  24. package/dist/alphalib/lib/nativeGlobby.d.ts.map +1 -0
  25. package/dist/alphalib/lib/nativeGlobby.js +181 -0
  26. package/dist/alphalib/lib/nativeGlobby.js.map +1 -0
  27. package/dist/alphalib/mcache.d.ts +65 -0
  28. package/dist/alphalib/mcache.d.ts.map +1 -0
  29. package/dist/alphalib/mcache.js +135 -0
  30. package/dist/alphalib/mcache.js.map +1 -0
  31. package/dist/alphalib/tryCatch.d.ts +21 -0
  32. package/dist/alphalib/tryCatch.d.ts.map +1 -0
  33. package/dist/alphalib/tryCatch.js +17 -0
  34. package/dist/alphalib/tryCatch.js.map +1 -0
  35. package/dist/alphalib/types/assembliesGet.d.ts +62 -0
  36. package/dist/alphalib/types/assembliesGet.d.ts.map +1 -0
  37. package/dist/alphalib/types/assembliesGet.js +33 -0
  38. package/dist/alphalib/types/assembliesGet.js.map +1 -0
  39. package/dist/alphalib/types/assemblyReplay.d.ts +7858 -0
  40. package/dist/alphalib/types/assemblyReplay.d.ts.map +1 -0
  41. package/dist/alphalib/types/assemblyReplay.js +15 -0
  42. package/dist/alphalib/types/assemblyReplay.js.map +1 -0
  43. package/dist/alphalib/types/assemblyReplayNotification.d.ts +7849 -0
  44. package/dist/alphalib/types/assemblyReplayNotification.d.ts.map +1 -0
  45. package/dist/alphalib/types/assemblyReplayNotification.js +13 -0
  46. package/dist/alphalib/types/assemblyReplayNotification.js.map +1 -0
  47. package/dist/alphalib/types/assemblyStatus.d.ts +71084 -0
  48. package/dist/alphalib/types/assemblyStatus.d.ts.map +1 -0
  49. package/dist/alphalib/types/assemblyStatus.js +710 -0
  50. package/dist/alphalib/types/assemblyStatus.js.map +1 -0
  51. package/dist/alphalib/types/bill.d.ts +44 -0
  52. package/dist/alphalib/types/bill.d.ts.map +1 -0
  53. package/dist/alphalib/types/bill.js +8 -0
  54. package/dist/alphalib/types/bill.js.map +1 -0
  55. package/dist/alphalib/types/robots/_index.d.ts +76306 -0
  56. package/dist/alphalib/types/robots/_index.d.ts.map +1 -0
  57. package/dist/alphalib/types/robots/_index.js +354 -0
  58. package/dist/alphalib/types/robots/_index.js.map +1 -0
  59. package/dist/alphalib/types/robots/_instructions-primitives.d.ts +3533 -0
  60. package/dist/alphalib/types/robots/_instructions-primitives.d.ts.map +1 -0
  61. package/dist/alphalib/types/robots/_instructions-primitives.js +1491 -0
  62. package/dist/alphalib/types/robots/_instructions-primitives.js.map +1 -0
  63. package/dist/alphalib/types/robots/ai-chat.d.ts +2096 -0
  64. package/dist/alphalib/types/robots/ai-chat.d.ts.map +1 -0
  65. package/dist/alphalib/types/robots/ai-chat.js +223 -0
  66. package/dist/alphalib/types/robots/ai-chat.js.map +1 -0
  67. package/dist/alphalib/types/robots/assembly-savejson.d.ts +52 -0
  68. package/dist/alphalib/types/robots/assembly-savejson.d.ts.map +1 -0
  69. package/dist/alphalib/types/robots/assembly-savejson.js +22 -0
  70. package/dist/alphalib/types/robots/assembly-savejson.js.map +1 -0
  71. package/dist/alphalib/types/robots/audio-artwork.d.ts +2867 -0
  72. package/dist/alphalib/types/robots/audio-artwork.d.ts.map +1 -0
  73. package/dist/alphalib/types/robots/audio-artwork.js +73 -0
  74. package/dist/alphalib/types/robots/audio-artwork.js.map +1 -0
  75. package/dist/alphalib/types/robots/audio-concat.d.ts +2916 -0
  76. package/dist/alphalib/types/robots/audio-concat.d.ts.map +1 -0
  77. package/dist/alphalib/types/robots/audio-concat.js +106 -0
  78. package/dist/alphalib/types/robots/audio-concat.js.map +1 -0
  79. package/dist/alphalib/types/robots/audio-encode.d.ts +2864 -0
  80. package/dist/alphalib/types/robots/audio-encode.d.ts.map +1 -0
  81. package/dist/alphalib/types/robots/audio-encode.js +67 -0
  82. package/dist/alphalib/types/robots/audio-encode.js.map +1 -0
  83. package/dist/alphalib/types/robots/audio-loop.d.ts +2879 -0
  84. package/dist/alphalib/types/robots/audio-loop.d.ts.map +1 -0
  85. package/dist/alphalib/types/robots/audio-loop.js +67 -0
  86. package/dist/alphalib/types/robots/audio-loop.js.map +1 -0
  87. package/dist/alphalib/types/robots/audio-merge.d.ts +2931 -0
  88. package/dist/alphalib/types/robots/audio-merge.d.ts.map +1 -0
  89. package/dist/alphalib/types/robots/audio-merge.js +101 -0
  90. package/dist/alphalib/types/robots/audio-merge.js.map +1 -0
  91. package/dist/alphalib/types/robots/audio-waveform.d.ts +3131 -0
  92. package/dist/alphalib/types/robots/audio-waveform.d.ts.map +1 -0
  93. package/dist/alphalib/types/robots/audio-waveform.js +238 -0
  94. package/dist/alphalib/types/robots/audio-waveform.js.map +1 -0
  95. package/dist/alphalib/types/robots/azure-import.d.ts +210 -0
  96. package/dist/alphalib/types/robots/azure-import.d.ts.map +1 -0
  97. package/dist/alphalib/types/robots/azure-import.js +73 -0
  98. package/dist/alphalib/types/robots/azure-import.js.map +1 -0
  99. package/dist/alphalib/types/robots/azure-store.d.ts +562 -0
  100. package/dist/alphalib/types/robots/azure-store.d.ts.map +1 -0
  101. package/dist/alphalib/types/robots/azure-store.js +115 -0
  102. package/dist/alphalib/types/robots/azure-store.js.map +1 -0
  103. package/dist/alphalib/types/robots/backblaze-import.d.ts +210 -0
  104. package/dist/alphalib/types/robots/backblaze-import.d.ts.map +1 -0
  105. package/dist/alphalib/types/robots/backblaze-import.js +81 -0
  106. package/dist/alphalib/types/robots/backblaze-import.js.map +1 -0
  107. package/dist/alphalib/types/robots/backblaze-store.d.ts +478 -0
  108. package/dist/alphalib/types/robots/backblaze-store.d.ts.map +1 -0
  109. package/dist/alphalib/types/robots/backblaze-store.js +76 -0
  110. package/dist/alphalib/types/robots/backblaze-store.js.map +1 -0
  111. package/dist/alphalib/types/robots/cloudfiles-import.d.ts +234 -0
  112. package/dist/alphalib/types/robots/cloudfiles-import.d.ts.map +1 -0
  113. package/dist/alphalib/types/robots/cloudfiles-import.js +80 -0
  114. package/dist/alphalib/types/robots/cloudfiles-import.js.map +1 -0
  115. package/dist/alphalib/types/robots/cloudfiles-store.d.ts +490 -0
  116. package/dist/alphalib/types/robots/cloudfiles-store.d.ts.map +1 -0
  117. package/dist/alphalib/types/robots/cloudfiles-store.js +70 -0
  118. package/dist/alphalib/types/robots/cloudfiles-store.js.map +1 -0
  119. package/dist/alphalib/types/robots/cloudflare-import.d.ts +234 -0
  120. package/dist/alphalib/types/robots/cloudflare-import.d.ts.map +1 -0
  121. package/dist/alphalib/types/robots/cloudflare-import.js +81 -0
  122. package/dist/alphalib/types/robots/cloudflare-import.js.map +1 -0
  123. package/dist/alphalib/types/robots/cloudflare-store.d.ts +514 -0
  124. package/dist/alphalib/types/robots/cloudflare-store.d.ts.map +1 -0
  125. package/dist/alphalib/types/robots/cloudflare-store.js +86 -0
  126. package/dist/alphalib/types/robots/cloudflare-store.js.map +1 -0
  127. package/dist/alphalib/types/robots/digitalocean-import.d.ts +234 -0
  128. package/dist/alphalib/types/robots/digitalocean-import.d.ts.map +1 -0
  129. package/dist/alphalib/types/robots/digitalocean-import.js +78 -0
  130. package/dist/alphalib/types/robots/digitalocean-import.js.map +1 -0
  131. package/dist/alphalib/types/robots/digitalocean-store.d.ts +526 -0
  132. package/dist/alphalib/types/robots/digitalocean-store.d.ts.map +1 -0
  133. package/dist/alphalib/types/robots/digitalocean-store.js +91 -0
  134. package/dist/alphalib/types/robots/digitalocean-store.js.map +1 -0
  135. package/dist/alphalib/types/robots/document-autorotate.d.ts +405 -0
  136. package/dist/alphalib/types/robots/document-autorotate.d.ts.map +1 -0
  137. package/dist/alphalib/types/robots/document-autorotate.js +44 -0
  138. package/dist/alphalib/types/robots/document-autorotate.js.map +1 -0
  139. package/dist/alphalib/types/robots/document-convert.d.ts +513 -0
  140. package/dist/alphalib/types/robots/document-convert.d.ts.map +1 -0
  141. package/dist/alphalib/types/robots/document-convert.js +273 -0
  142. package/dist/alphalib/types/robots/document-convert.js.map +1 -0
  143. package/dist/alphalib/types/robots/document-merge.d.ts +429 -0
  144. package/dist/alphalib/types/robots/document-merge.d.ts.map +1 -0
  145. package/dist/alphalib/types/robots/document-merge.js +86 -0
  146. package/dist/alphalib/types/robots/document-merge.js.map +1 -0
  147. package/dist/alphalib/types/robots/document-ocr.d.ts +441 -0
  148. package/dist/alphalib/types/robots/document-ocr.d.ts.map +1 -0
  149. package/dist/alphalib/types/robots/document-ocr.js +86 -0
  150. package/dist/alphalib/types/robots/document-ocr.js.map +1 -0
  151. package/dist/alphalib/types/robots/document-split.d.ts +417 -0
  152. package/dist/alphalib/types/robots/document-split.d.ts.map +1 -0
  153. package/dist/alphalib/types/robots/document-split.js +48 -0
  154. package/dist/alphalib/types/robots/document-split.js.map +1 -0
  155. package/dist/alphalib/types/robots/document-thumbs.d.ts +592 -0
  156. package/dist/alphalib/types/robots/document-thumbs.d.ts.map +1 -0
  157. package/dist/alphalib/types/robots/document-thumbs.js +196 -0
  158. package/dist/alphalib/types/robots/document-thumbs.js.map +1 -0
  159. package/dist/alphalib/types/robots/dropbox-import.d.ts +144 -0
  160. package/dist/alphalib/types/robots/dropbox-import.d.ts.map +1 -0
  161. package/dist/alphalib/types/robots/dropbox-import.js +65 -0
  162. package/dist/alphalib/types/robots/dropbox-import.js.map +1 -0
  163. package/dist/alphalib/types/robots/dropbox-store.d.ts +449 -0
  164. package/dist/alphalib/types/robots/dropbox-store.d.ts.map +1 -0
  165. package/dist/alphalib/types/robots/dropbox-store.js +68 -0
  166. package/dist/alphalib/types/robots/dropbox-store.js.map +1 -0
  167. package/dist/alphalib/types/robots/edgly-deliver.d.ts +100 -0
  168. package/dist/alphalib/types/robots/edgly-deliver.d.ts.map +1 -0
  169. package/dist/alphalib/types/robots/edgly-deliver.js +46 -0
  170. package/dist/alphalib/types/robots/edgly-deliver.js.map +1 -0
  171. package/dist/alphalib/types/robots/file-compress.d.ts +477 -0
  172. package/dist/alphalib/types/robots/file-compress.d.ts.map +1 -0
  173. package/dist/alphalib/types/robots/file-compress.js +139 -0
  174. package/dist/alphalib/types/robots/file-compress.js.map +1 -0
  175. package/dist/alphalib/types/robots/file-decompress.d.ts +404 -0
  176. package/dist/alphalib/types/robots/file-decompress.d.ts.map +1 -0
  177. package/dist/alphalib/types/robots/file-decompress.js +94 -0
  178. package/dist/alphalib/types/robots/file-decompress.js.map +1 -0
  179. package/dist/alphalib/types/robots/file-filter.d.ts +465 -0
  180. package/dist/alphalib/types/robots/file-filter.d.ts.map +1 -0
  181. package/dist/alphalib/types/robots/file-filter.js +136 -0
  182. package/dist/alphalib/types/robots/file-filter.js.map +1 -0
  183. package/dist/alphalib/types/robots/file-hash.d.ts +417 -0
  184. package/dist/alphalib/types/robots/file-hash.d.ts.map +1 -0
  185. package/dist/alphalib/types/robots/file-hash.js +59 -0
  186. package/dist/alphalib/types/robots/file-hash.js.map +1 -0
  187. package/dist/alphalib/types/robots/file-preview.d.ts +854 -0
  188. package/dist/alphalib/types/robots/file-preview.d.ts.map +1 -0
  189. package/dist/alphalib/types/robots/file-preview.js +221 -0
  190. package/dist/alphalib/types/robots/file-preview.js.map +1 -0
  191. package/dist/alphalib/types/robots/file-read.d.ts +405 -0
  192. package/dist/alphalib/types/robots/file-read.d.ts.map +1 -0
  193. package/dist/alphalib/types/robots/file-read.js +44 -0
  194. package/dist/alphalib/types/robots/file-read.js.map +1 -0
  195. package/dist/alphalib/types/robots/file-serve.d.ts +418 -0
  196. package/dist/alphalib/types/robots/file-serve.d.ts.map +1 -0
  197. package/dist/alphalib/types/robots/file-serve.js +99 -0
  198. package/dist/alphalib/types/robots/file-serve.js.map +1 -0
  199. package/dist/alphalib/types/robots/file-verify.d.ts +441 -0
  200. package/dist/alphalib/types/robots/file-verify.d.ts.map +1 -0
  201. package/dist/alphalib/types/robots/file-verify.js +73 -0
  202. package/dist/alphalib/types/robots/file-verify.js.map +1 -0
  203. package/dist/alphalib/types/robots/file-virusscan.d.ts +435 -0
  204. package/dist/alphalib/types/robots/file-virusscan.d.ts.map +1 -0
  205. package/dist/alphalib/types/robots/file-virusscan.js +82 -0
  206. package/dist/alphalib/types/robots/file-virusscan.js.map +1 -0
  207. package/dist/alphalib/types/robots/file-watermark.d.ts +417 -0
  208. package/dist/alphalib/types/robots/file-watermark.d.ts.map +1 -0
  209. package/dist/alphalib/types/robots/file-watermark.js +28 -0
  210. package/dist/alphalib/types/robots/file-watermark.js.map +1 -0
  211. package/dist/alphalib/types/robots/ftp-import.d.ts +198 -0
  212. package/dist/alphalib/types/robots/ftp-import.d.ts.map +1 -0
  213. package/dist/alphalib/types/robots/ftp-import.js +60 -0
  214. package/dist/alphalib/types/robots/ftp-import.js.map +1 -0
  215. package/dist/alphalib/types/robots/ftp-store.d.ts +532 -0
  216. package/dist/alphalib/types/robots/ftp-store.d.ts.map +1 -0
  217. package/dist/alphalib/types/robots/ftp-store.js +91 -0
  218. package/dist/alphalib/types/robots/ftp-store.js.map +1 -0
  219. package/dist/alphalib/types/robots/google-import.d.ts +174 -0
  220. package/dist/alphalib/types/robots/google-import.d.ts.map +1 -0
  221. package/dist/alphalib/types/robots/google-import.js +77 -0
  222. package/dist/alphalib/types/robots/google-import.js.map +1 -0
  223. package/dist/alphalib/types/robots/google-store.d.ts +476 -0
  224. package/dist/alphalib/types/robots/google-store.d.ts.map +1 -0
  225. package/dist/alphalib/types/robots/google-store.js +111 -0
  226. package/dist/alphalib/types/robots/google-store.js.map +1 -0
  227. package/dist/alphalib/types/robots/html-convert.d.ts +531 -0
  228. package/dist/alphalib/types/robots/html-convert.d.ts.map +1 -0
  229. package/dist/alphalib/types/robots/html-convert.js +137 -0
  230. package/dist/alphalib/types/robots/html-convert.js.map +1 -0
  231. package/dist/alphalib/types/robots/http-import.d.ts +215 -0
  232. package/dist/alphalib/types/robots/http-import.d.ts.map +1 -0
  233. package/dist/alphalib/types/robots/http-import.js +135 -0
  234. package/dist/alphalib/types/robots/http-import.js.map +1 -0
  235. package/dist/alphalib/types/robots/image-bgremove.d.ts +453 -0
  236. package/dist/alphalib/types/robots/image-bgremove.d.ts.map +1 -0
  237. package/dist/alphalib/types/robots/image-bgremove.js +65 -0
  238. package/dist/alphalib/types/robots/image-bgremove.js.map +1 -0
  239. package/dist/alphalib/types/robots/image-describe.d.ts +453 -0
  240. package/dist/alphalib/types/robots/image-describe.d.ts.map +1 -0
  241. package/dist/alphalib/types/robots/image-describe.js +86 -0
  242. package/dist/alphalib/types/robots/image-describe.js.map +1 -0
  243. package/dist/alphalib/types/robots/image-facedetect.d.ts +477 -0
  244. package/dist/alphalib/types/robots/image-facedetect.d.ts.map +1 -0
  245. package/dist/alphalib/types/robots/image-facedetect.js +151 -0
  246. package/dist/alphalib/types/robots/image-facedetect.js.map +1 -0
  247. package/dist/alphalib/types/robots/image-generate.d.ts +522 -0
  248. package/dist/alphalib/types/robots/image-generate.d.ts.map +1 -0
  249. package/dist/alphalib/types/robots/image-generate.js +64 -0
  250. package/dist/alphalib/types/robots/image-generate.js.map +1 -0
  251. package/dist/alphalib/types/robots/image-merge.d.ts +477 -0
  252. package/dist/alphalib/types/robots/image-merge.d.ts.map +1 -0
  253. package/dist/alphalib/types/robots/image-merge.js +92 -0
  254. package/dist/alphalib/types/robots/image-merge.js.map +1 -0
  255. package/dist/alphalib/types/robots/image-ocr.d.ts +441 -0
  256. package/dist/alphalib/types/robots/image-ocr.d.ts.map +1 -0
  257. package/dist/alphalib/types/robots/image-ocr.js +79 -0
  258. package/dist/alphalib/types/robots/image-ocr.js.map +1 -0
  259. package/dist/alphalib/types/robots/image-optimize.d.ts +453 -0
  260. package/dist/alphalib/types/robots/image-optimize.d.ts.map +1 -0
  261. package/dist/alphalib/types/robots/image-optimize.js +81 -0
  262. package/dist/alphalib/types/robots/image-optimize.js.map +1 -0
  263. package/dist/alphalib/types/robots/image-resize.d.ts +1758 -0
  264. package/dist/alphalib/types/robots/image-resize.d.ts.map +1 -0
  265. package/dist/alphalib/types/robots/image-resize.js +602 -0
  266. package/dist/alphalib/types/robots/image-resize.js.map +1 -0
  267. package/dist/alphalib/types/robots/meta-read.d.ts +98 -0
  268. package/dist/alphalib/types/robots/meta-read.d.ts.map +1 -0
  269. package/dist/alphalib/types/robots/meta-read.js +24 -0
  270. package/dist/alphalib/types/robots/meta-read.js.map +1 -0
  271. package/dist/alphalib/types/robots/meta-write.d.ts +2842 -0
  272. package/dist/alphalib/types/robots/meta-write.d.ts.map +1 -0
  273. package/dist/alphalib/types/robots/meta-write.js +66 -0
  274. package/dist/alphalib/types/robots/meta-write.js.map +1 -0
  275. package/dist/alphalib/types/robots/minio-import.d.ts +234 -0
  276. package/dist/alphalib/types/robots/minio-import.d.ts.map +1 -0
  277. package/dist/alphalib/types/robots/minio-import.js +81 -0
  278. package/dist/alphalib/types/robots/minio-import.js.map +1 -0
  279. package/dist/alphalib/types/robots/minio-store.d.ts +514 -0
  280. package/dist/alphalib/types/robots/minio-store.d.ts.map +1 -0
  281. package/dist/alphalib/types/robots/minio-store.js +87 -0
  282. package/dist/alphalib/types/robots/minio-store.js.map +1 -0
  283. package/dist/alphalib/types/robots/progress-simulate.d.ts +229 -0
  284. package/dist/alphalib/types/robots/progress-simulate.d.ts.map +1 -0
  285. package/dist/alphalib/types/robots/progress-simulate.js +25 -0
  286. package/dist/alphalib/types/robots/progress-simulate.js.map +1 -0
  287. package/dist/alphalib/types/robots/s3-import.d.ts +246 -0
  288. package/dist/alphalib/types/robots/s3-import.d.ts.map +1 -0
  289. package/dist/alphalib/types/robots/s3-import.js +137 -0
  290. package/dist/alphalib/types/robots/s3-import.js.map +1 -0
  291. package/dist/alphalib/types/robots/s3-store.d.ts +593 -0
  292. package/dist/alphalib/types/robots/s3-store.d.ts.map +1 -0
  293. package/dist/alphalib/types/robots/s3-store.js +169 -0
  294. package/dist/alphalib/types/robots/s3-store.js.map +1 -0
  295. package/dist/alphalib/types/robots/script-run.d.ts +423 -0
  296. package/dist/alphalib/types/robots/script-run.d.ts.map +1 -0
  297. package/dist/alphalib/types/robots/script-run.js +95 -0
  298. package/dist/alphalib/types/robots/script-run.js.map +1 -0
  299. package/dist/alphalib/types/robots/sftp-import.d.ts +192 -0
  300. package/dist/alphalib/types/robots/sftp-import.d.ts.map +1 -0
  301. package/dist/alphalib/types/robots/sftp-import.js +62 -0
  302. package/dist/alphalib/types/robots/sftp-import.js.map +1 -0
  303. package/dist/alphalib/types/robots/sftp-store.d.ts +520 -0
  304. package/dist/alphalib/types/robots/sftp-store.d.ts.map +1 -0
  305. package/dist/alphalib/types/robots/sftp-store.js +83 -0
  306. package/dist/alphalib/types/robots/sftp-store.js.map +1 -0
  307. package/dist/alphalib/types/robots/speech-transcribe.d.ts +465 -0
  308. package/dist/alphalib/types/robots/speech-transcribe.d.ts.map +1 -0
  309. package/dist/alphalib/types/robots/speech-transcribe.js +103 -0
  310. package/dist/alphalib/types/robots/speech-transcribe.js.map +1 -0
  311. package/dist/alphalib/types/robots/supabase-import.d.ts +246 -0
  312. package/dist/alphalib/types/robots/supabase-import.d.ts.map +1 -0
  313. package/dist/alphalib/types/robots/supabase-import.js +83 -0
  314. package/dist/alphalib/types/robots/supabase-import.js.map +1 -0
  315. package/dist/alphalib/types/robots/supabase-store.d.ts +514 -0
  316. package/dist/alphalib/types/robots/supabase-store.d.ts.map +1 -0
  317. package/dist/alphalib/types/robots/supabase-store.js +77 -0
  318. package/dist/alphalib/types/robots/supabase-store.js.map +1 -0
  319. package/dist/alphalib/types/robots/swift-import.d.ts +246 -0
  320. package/dist/alphalib/types/robots/swift-import.d.ts.map +1 -0
  321. package/dist/alphalib/types/robots/swift-import.js +81 -0
  322. package/dist/alphalib/types/robots/swift-import.js.map +1 -0
  323. package/dist/alphalib/types/robots/swift-store.d.ts +526 -0
  324. package/dist/alphalib/types/robots/swift-store.d.ts.map +1 -0
  325. package/dist/alphalib/types/robots/swift-store.js +84 -0
  326. package/dist/alphalib/types/robots/swift-store.js.map +1 -0
  327. package/dist/alphalib/types/robots/text-speak.d.ts +465 -0
  328. package/dist/alphalib/types/robots/text-speak.d.ts.map +1 -0
  329. package/dist/alphalib/types/robots/text-speak.js +119 -0
  330. package/dist/alphalib/types/robots/text-speak.js.map +1 -0
  331. package/dist/alphalib/types/robots/text-translate.d.ts +441 -0
  332. package/dist/alphalib/types/robots/text-translate.d.ts.map +1 -0
  333. package/dist/alphalib/types/robots/text-translate.js +211 -0
  334. package/dist/alphalib/types/robots/text-translate.js.map +1 -0
  335. package/dist/alphalib/types/robots/tigris-import.d.ts +244 -0
  336. package/dist/alphalib/types/robots/tigris-import.d.ts.map +1 -0
  337. package/dist/alphalib/types/robots/tigris-import.js +85 -0
  338. package/dist/alphalib/types/robots/tigris-import.js.map +1 -0
  339. package/dist/alphalib/types/robots/tigris-store.d.ts +524 -0
  340. package/dist/alphalib/types/robots/tigris-store.d.ts.map +1 -0
  341. package/dist/alphalib/types/robots/tigris-store.js +91 -0
  342. package/dist/alphalib/types/robots/tigris-store.js.map +1 -0
  343. package/dist/alphalib/types/robots/tlcdn-deliver.d.ts +100 -0
  344. package/dist/alphalib/types/robots/tlcdn-deliver.d.ts.map +1 -0
  345. package/dist/alphalib/types/robots/tlcdn-deliver.js +46 -0
  346. package/dist/alphalib/types/robots/tlcdn-deliver.js.map +1 -0
  347. package/dist/alphalib/types/robots/tus-store.d.ts +477 -0
  348. package/dist/alphalib/types/robots/tus-store.d.ts.map +1 -0
  349. package/dist/alphalib/types/robots/tus-store.js +102 -0
  350. package/dist/alphalib/types/robots/tus-store.js.map +1 -0
  351. package/dist/alphalib/types/robots/upload-handle.d.ts +100 -0
  352. package/dist/alphalib/types/robots/upload-handle.d.ts.map +1 -0
  353. package/dist/alphalib/types/robots/upload-handle.js +66 -0
  354. package/dist/alphalib/types/robots/upload-handle.js.map +1 -0
  355. package/dist/alphalib/types/robots/video-adaptive.d.ts +2915 -0
  356. package/dist/alphalib/types/robots/video-adaptive.d.ts.map +1 -0
  357. package/dist/alphalib/types/robots/video-adaptive.js +144 -0
  358. package/dist/alphalib/types/robots/video-adaptive.js.map +1 -0
  359. package/dist/alphalib/types/robots/video-concat.d.ts +2891 -0
  360. package/dist/alphalib/types/robots/video-concat.d.ts.map +1 -0
  361. package/dist/alphalib/types/robots/video-concat.js +96 -0
  362. package/dist/alphalib/types/robots/video-concat.js.map +1 -0
  363. package/dist/alphalib/types/robots/video-encode.d.ts +3280 -0
  364. package/dist/alphalib/types/robots/video-encode.d.ts.map +1 -0
  365. package/dist/alphalib/types/robots/video-encode.js +107 -0
  366. package/dist/alphalib/types/robots/video-encode.js.map +1 -0
  367. package/dist/alphalib/types/robots/video-merge.d.ts +2987 -0
  368. package/dist/alphalib/types/robots/video-merge.d.ts.map +1 -0
  369. package/dist/alphalib/types/robots/video-merge.js +102 -0
  370. package/dist/alphalib/types/robots/video-merge.js.map +1 -0
  371. package/dist/alphalib/types/robots/video-ondemand.d.ts +4553 -0
  372. package/dist/alphalib/types/robots/video-ondemand.d.ts.map +1 -0
  373. package/dist/alphalib/types/robots/video-ondemand.js +112 -0
  374. package/dist/alphalib/types/robots/video-ondemand.js.map +1 -0
  375. package/dist/alphalib/types/robots/video-subtitle.d.ts +2975 -0
  376. package/dist/alphalib/types/robots/video-subtitle.d.ts.map +1 -0
  377. package/dist/alphalib/types/robots/video-subtitle.js +122 -0
  378. package/dist/alphalib/types/robots/video-subtitle.js.map +1 -0
  379. package/dist/alphalib/types/robots/video-thumbs.d.ts +2938 -0
  380. package/dist/alphalib/types/robots/video-thumbs.d.ts.map +1 -0
  381. package/dist/alphalib/types/robots/video-thumbs.js +122 -0
  382. package/dist/alphalib/types/robots/video-thumbs.js.map +1 -0
  383. package/dist/alphalib/types/robots/vimeo-import.d.ts +189 -0
  384. package/dist/alphalib/types/robots/vimeo-import.d.ts.map +1 -0
  385. package/dist/alphalib/types/robots/vimeo-import.js +92 -0
  386. package/dist/alphalib/types/robots/vimeo-import.js.map +1 -0
  387. package/dist/alphalib/types/robots/vimeo-store.d.ts +520 -0
  388. package/dist/alphalib/types/robots/vimeo-store.d.ts.map +1 -0
  389. package/dist/alphalib/types/robots/vimeo-store.js +115 -0
  390. package/dist/alphalib/types/robots/vimeo-store.js.map +1 -0
  391. package/dist/alphalib/types/robots/wasabi-import.d.ts +244 -0
  392. package/dist/alphalib/types/robots/wasabi-import.d.ts.map +1 -0
  393. package/dist/alphalib/types/robots/wasabi-import.js +85 -0
  394. package/dist/alphalib/types/robots/wasabi-import.js.map +1 -0
  395. package/dist/alphalib/types/robots/wasabi-store.d.ts +526 -0
  396. package/dist/alphalib/types/robots/wasabi-store.d.ts.map +1 -0
  397. package/dist/alphalib/types/robots/wasabi-store.js +85 -0
  398. package/dist/alphalib/types/robots/wasabi-store.js.map +1 -0
  399. package/dist/alphalib/types/robots/youtube-store.d.ts +477 -0
  400. package/dist/alphalib/types/robots/youtube-store.d.ts.map +1 -0
  401. package/dist/alphalib/types/robots/youtube-store.js +122 -0
  402. package/dist/alphalib/types/robots/youtube-store.js.map +1 -0
  403. package/dist/alphalib/types/stackVersions.d.ts +13 -0
  404. package/dist/alphalib/types/stackVersions.d.ts.map +1 -0
  405. package/dist/alphalib/types/stackVersions.js +13 -0
  406. package/dist/alphalib/types/stackVersions.js.map +1 -0
  407. package/dist/alphalib/types/template.d.ts +131710 -0
  408. package/dist/alphalib/types/template.d.ts.map +1 -0
  409. package/dist/alphalib/types/template.js +218 -0
  410. package/dist/alphalib/types/template.js.map +1 -0
  411. package/dist/alphalib/types/templateCredential.d.ts +95 -0
  412. package/dist/alphalib/types/templateCredential.d.ts.map +1 -0
  413. package/dist/alphalib/types/templateCredential.js +57 -0
  414. package/dist/alphalib/types/templateCredential.js.map +1 -0
  415. package/dist/alphalib/zodParseWithContext.d.ts +17 -0
  416. package/dist/alphalib/zodParseWithContext.d.ts.map +1 -0
  417. package/dist/alphalib/zodParseWithContext.js +248 -0
  418. package/dist/alphalib/zodParseWithContext.js.map +1 -0
  419. package/dist/apiTypes.d.ts +112 -0
  420. package/dist/apiTypes.d.ts.map +1 -0
  421. package/dist/apiTypes.js +3 -0
  422. package/dist/apiTypes.js.map +1 -0
  423. package/dist/cli/OutputCtl.d.ts +47 -0
  424. package/dist/cli/OutputCtl.d.ts.map +1 -0
  425. package/dist/cli/OutputCtl.js +85 -0
  426. package/dist/cli/OutputCtl.js.map +1 -0
  427. package/dist/cli/commands/BaseCommand.d.ts +24 -0
  428. package/dist/cli/commands/BaseCommand.d.ts.map +1 -0
  429. package/dist/cli/commands/BaseCommand.js +52 -0
  430. package/dist/cli/commands/BaseCommand.js.map +1 -0
  431. package/dist/cli/commands/assemblies.d.ts +93 -0
  432. package/dist/cli/commands/assemblies.d.ts.map +1 -0
  433. package/dist/cli/commands/assemblies.js +1021 -0
  434. package/dist/cli/commands/assemblies.js.map +1 -0
  435. package/dist/cli/commands/auth.d.ts +28 -0
  436. package/dist/cli/commands/auth.d.ts.map +1 -0
  437. package/dist/cli/commands/auth.js +280 -0
  438. package/dist/cli/commands/auth.js.map +1 -0
  439. package/dist/cli/commands/bills.d.ts +14 -0
  440. package/dist/cli/commands/bills.d.ts.map +1 -0
  441. package/dist/cli/commands/bills.js +69 -0
  442. package/dist/cli/commands/bills.js.map +1 -0
  443. package/dist/cli/commands/index.d.ts +3 -0
  444. package/dist/cli/commands/index.d.ts.map +1 -0
  445. package/dist/cli/commands/index.js +39 -0
  446. package/dist/cli/commands/index.js.map +1 -0
  447. package/dist/cli/commands/notifications.d.ts +9 -0
  448. package/dist/cli/commands/notifications.d.ts.map +1 -0
  449. package/dist/cli/commands/notifications.js +44 -0
  450. package/dist/cli/commands/notifications.js.map +1 -0
  451. package/dist/cli/commands/templates.d.ts +73 -0
  452. package/dist/cli/commands/templates.d.ts.map +1 -0
  453. package/dist/cli/commands/templates.js +428 -0
  454. package/dist/cli/commands/templates.js.map +1 -0
  455. package/dist/cli/helpers.d.ts +13 -0
  456. package/dist/cli/helpers.d.ts.map +1 -0
  457. package/dist/cli/helpers.js +39 -0
  458. package/dist/cli/helpers.js.map +1 -0
  459. package/dist/cli/template-last-modified.d.ts +10 -0
  460. package/dist/cli/template-last-modified.d.ts.map +1 -0
  461. package/dist/cli/template-last-modified.js +134 -0
  462. package/dist/cli/template-last-modified.js.map +1 -0
  463. package/dist/cli/types.d.ts +78 -0
  464. package/dist/cli/types.d.ts.map +1 -0
  465. package/dist/cli/types.js +49 -0
  466. package/dist/cli/types.js.map +1 -0
  467. package/dist/cli.d.ts +6 -0
  468. package/dist/cli.d.ts.map +1 -0
  469. package/dist/cli.js +41 -0
  470. package/dist/cli.js.map +1 -0
  471. package/dist/tus.d.ts +18 -0
  472. package/dist/tus.d.ts.map +1 -0
  473. package/dist/tus.js +122 -0
  474. package/dist/tus.js.map +1 -0
  475. package/package.json +92 -0
  476. package/src/ApiError.ts +49 -0
  477. package/src/InconsistentResponseError.ts +3 -0
  478. package/src/PaginationStream.ts +54 -0
  479. package/src/PollingTimeoutError.ts +5 -0
  480. package/src/Transloadit.ts +980 -0
  481. package/src/alphalib/lib/nativeGlobby.ts +244 -0
  482. package/src/alphalib/mcache.ts +184 -0
  483. package/src/alphalib/tryCatch.ts +30 -0
  484. package/src/alphalib/types/assembliesGet.ts +42 -0
  485. package/src/alphalib/types/assemblyReplay.ts +24 -0
  486. package/src/alphalib/types/assemblyReplayNotification.ts +16 -0
  487. package/src/alphalib/types/assemblyStatus.ts +794 -0
  488. package/src/alphalib/types/bill.ts +9 -0
  489. package/src/alphalib/types/robots/_index.ts +1201 -0
  490. package/src/alphalib/types/robots/_instructions-primitives.ts +1770 -0
  491. package/src/alphalib/types/robots/ai-chat.ts +278 -0
  492. package/src/alphalib/types/robots/assembly-savejson.ts +37 -0
  493. package/src/alphalib/types/robots/audio-artwork.ts +107 -0
  494. package/src/alphalib/types/robots/audio-concat.ts +142 -0
  495. package/src/alphalib/types/robots/audio-encode.ts +103 -0
  496. package/src/alphalib/types/robots/audio-loop.ts +102 -0
  497. package/src/alphalib/types/robots/audio-merge.ts +137 -0
  498. package/src/alphalib/types/robots/audio-waveform.ts +280 -0
  499. package/src/alphalib/types/robots/azure-import.ts +111 -0
  500. package/src/alphalib/types/robots/azure-store.ts +143 -0
  501. package/src/alphalib/types/robots/backblaze-import.ts +119 -0
  502. package/src/alphalib/types/robots/backblaze-store.ts +104 -0
  503. package/src/alphalib/types/robots/cloudfiles-import.ts +118 -0
  504. package/src/alphalib/types/robots/cloudfiles-store.ts +104 -0
  505. package/src/alphalib/types/robots/cloudflare-import.ts +121 -0
  506. package/src/alphalib/types/robots/cloudflare-store.ts +120 -0
  507. package/src/alphalib/types/robots/digitalocean-import.ts +118 -0
  508. package/src/alphalib/types/robots/digitalocean-store.ts +125 -0
  509. package/src/alphalib/types/robots/document-autorotate.ts +74 -0
  510. package/src/alphalib/types/robots/document-convert.ts +302 -0
  511. package/src/alphalib/types/robots/document-merge.ts +114 -0
  512. package/src/alphalib/types/robots/document-ocr.ts +120 -0
  513. package/src/alphalib/types/robots/document-split.ts +78 -0
  514. package/src/alphalib/types/robots/document-thumbs.ts +231 -0
  515. package/src/alphalib/types/robots/dropbox-import.ts +100 -0
  516. package/src/alphalib/types/robots/dropbox-store.ts +97 -0
  517. package/src/alphalib/types/robots/edgly-deliver.ts +73 -0
  518. package/src/alphalib/types/robots/file-compress.ts +167 -0
  519. package/src/alphalib/types/robots/file-decompress.ts +125 -0
  520. package/src/alphalib/types/robots/file-filter.ts +173 -0
  521. package/src/alphalib/types/robots/file-hash.ts +86 -0
  522. package/src/alphalib/types/robots/file-preview.ts +260 -0
  523. package/src/alphalib/types/robots/file-read.ts +71 -0
  524. package/src/alphalib/types/robots/file-serve.ts +128 -0
  525. package/src/alphalib/types/robots/file-verify.ts +102 -0
  526. package/src/alphalib/types/robots/file-virusscan.ts +113 -0
  527. package/src/alphalib/types/robots/file-watermark.ts +56 -0
  528. package/src/alphalib/types/robots/ftp-import.ts +95 -0
  529. package/src/alphalib/types/robots/ftp-store.ts +119 -0
  530. package/src/alphalib/types/robots/google-import.ts +115 -0
  531. package/src/alphalib/types/robots/google-store.ts +139 -0
  532. package/src/alphalib/types/robots/html-convert.ts +165 -0
  533. package/src/alphalib/types/robots/http-import.ts +168 -0
  534. package/src/alphalib/types/robots/image-bgremove.ts +95 -0
  535. package/src/alphalib/types/robots/image-describe.ts +121 -0
  536. package/src/alphalib/types/robots/image-facedetect.ts +187 -0
  537. package/src/alphalib/types/robots/image-generate.ts +92 -0
  538. package/src/alphalib/types/robots/image-merge.ts +127 -0
  539. package/src/alphalib/types/robots/image-ocr.ts +112 -0
  540. package/src/alphalib/types/robots/image-optimize.ts +114 -0
  541. package/src/alphalib/types/robots/image-resize.ts +653 -0
  542. package/src/alphalib/types/robots/meta-read.ts +44 -0
  543. package/src/alphalib/types/robots/meta-write.ts +93 -0
  544. package/src/alphalib/types/robots/minio-import.ts +120 -0
  545. package/src/alphalib/types/robots/minio-store.ts +115 -0
  546. package/src/alphalib/types/robots/progress-simulate.ts +40 -0
  547. package/src/alphalib/types/robots/s3-import.ts +175 -0
  548. package/src/alphalib/types/robots/s3-store.ts +198 -0
  549. package/src/alphalib/types/robots/script-run.ts +122 -0
  550. package/src/alphalib/types/robots/sftp-import.ts +92 -0
  551. package/src/alphalib/types/robots/sftp-store.ts +110 -0
  552. package/src/alphalib/types/robots/speech-transcribe.ts +139 -0
  553. package/src/alphalib/types/robots/supabase-import.ts +122 -0
  554. package/src/alphalib/types/robots/supabase-store.ts +105 -0
  555. package/src/alphalib/types/robots/swift-import.ts +120 -0
  556. package/src/alphalib/types/robots/swift-store.ts +112 -0
  557. package/src/alphalib/types/robots/text-speak.ts +152 -0
  558. package/src/alphalib/types/robots/text-translate.ts +245 -0
  559. package/src/alphalib/types/robots/tigris-import.ts +124 -0
  560. package/src/alphalib/types/robots/tigris-store.ts +119 -0
  561. package/src/alphalib/types/robots/tlcdn-deliver.ts +73 -0
  562. package/src/alphalib/types/robots/tus-store.ts +129 -0
  563. package/src/alphalib/types/robots/upload-handle.ts +95 -0
  564. package/src/alphalib/types/robots/video-adaptive.ts +179 -0
  565. package/src/alphalib/types/robots/video-concat.ts +130 -0
  566. package/src/alphalib/types/robots/video-encode.ts +141 -0
  567. package/src/alphalib/types/robots/video-merge.ts +138 -0
  568. package/src/alphalib/types/robots/video-ondemand.ts +161 -0
  569. package/src/alphalib/types/robots/video-subtitle.ts +159 -0
  570. package/src/alphalib/types/robots/video-thumbs.ts +158 -0
  571. package/src/alphalib/types/robots/vimeo-import.ts +126 -0
  572. package/src/alphalib/types/robots/vimeo-store.ts +143 -0
  573. package/src/alphalib/types/robots/wasabi-import.ts +124 -0
  574. package/src/alphalib/types/robots/wasabi-store.ts +113 -0
  575. package/src/alphalib/types/robots/youtube-store.ts +153 -0
  576. package/src/alphalib/types/stackVersions.ts +12 -0
  577. package/src/alphalib/types/template.ts +277 -0
  578. package/src/alphalib/types/templateCredential.ts +61 -0
  579. package/src/alphalib/zodParseWithContext.ts +306 -0
  580. package/src/apiTypes.ts +154 -0
  581. package/src/cli/OutputCtl.ts +115 -0
  582. package/src/cli/commands/BaseCommand.ts +71 -0
  583. package/src/cli/commands/assemblies.ts +1373 -0
  584. package/src/cli/commands/auth.ts +354 -0
  585. package/src/cli/commands/bills.ts +91 -0
  586. package/src/cli/commands/index.ts +65 -0
  587. package/src/cli/commands/notifications.ts +63 -0
  588. package/src/cli/commands/templates.ts +556 -0
  589. package/src/cli/helpers.ts +50 -0
  590. package/src/cli/template-last-modified.ts +156 -0
  591. package/src/cli/types.ts +70 -0
  592. package/src/cli.ts +44 -0
  593. package/src/tus.ts +168 -0
@@ -0,0 +1,354 @@
1
+ import process from 'node:process'
2
+ import { Command, Option } from 'clipanion'
3
+ import type { ZodIssue } from 'zod'
4
+ import { z } from 'zod'
5
+ import {
6
+ assemblyAuthInstructionsSchema,
7
+ assemblyInstructionsSchema,
8
+ } from '../../alphalib/types/template.ts'
9
+ import type { OptionalAuthParams } from '../../apiTypes.ts'
10
+ import { Transloadit } from '../../Transloadit.ts'
11
+ import { getEnvCredentials } from '../helpers.ts'
12
+ import { UnauthenticatedCommand } from './BaseCommand.ts'
13
+
14
+ type UrlParamPrimitive = string | number | boolean
15
+ type UrlParamArray = UrlParamPrimitive[]
16
+ type NormalizedUrlParams = Record<string, UrlParamPrimitive | UrlParamArray>
17
+
18
+ const smartCdnParamsSchema = z
19
+ .object({
20
+ workspace: z.string().min(1, 'workspace is required'),
21
+ template: z.string().min(1, 'template is required'),
22
+ input: z.union([z.string(), z.number(), z.boolean()]),
23
+ url_params: z.record(z.unknown()).optional(),
24
+ expire_at_ms: z.union([z.number(), z.string()]).optional(),
25
+ })
26
+ .passthrough()
27
+
28
+ const cliSignatureParamsSchema = assemblyInstructionsSchema
29
+ .extend({ auth: assemblyAuthInstructionsSchema.partial().optional() })
30
+ .partial()
31
+ .passthrough()
32
+
33
+ type CliSignatureParams = z.infer<typeof cliSignatureParamsSchema>
34
+
35
+ function formatIssues(issues: ZodIssue[]): string {
36
+ return issues
37
+ .map((issue) => {
38
+ const path = issue.path.join('.') || '(root)'
39
+ return `${path}: ${issue.message}`
40
+ })
41
+ .join('; ')
42
+ }
43
+
44
+ function normalizeUrlParam(value: unknown): UrlParamPrimitive | UrlParamArray | undefined {
45
+ if (value == null) return undefined
46
+ if (Array.isArray(value)) {
47
+ const normalized = value.filter(
48
+ (item): item is UrlParamPrimitive =>
49
+ typeof item === 'string' || typeof item === 'number' || typeof item === 'boolean',
50
+ )
51
+ return normalized.length > 0 ? normalized : undefined
52
+ }
53
+ if (typeof value === 'string' || typeof value === 'number' || typeof value === 'boolean') {
54
+ return value
55
+ }
56
+ return undefined
57
+ }
58
+
59
+ function normalizeUrlParams(params?: Record<string, unknown>): NormalizedUrlParams | undefined {
60
+ if (params == null) return undefined
61
+ let normalized: NormalizedUrlParams | undefined
62
+ for (const [key, value] of Object.entries(params)) {
63
+ const normalizedValue = normalizeUrlParam(value)
64
+ if (normalizedValue === undefined) continue
65
+ if (normalized == null) normalized = {}
66
+ normalized[key] = normalizedValue
67
+ }
68
+ return normalized
69
+ }
70
+
71
+ async function readStdin(): Promise<string> {
72
+ if (process.stdin.isTTY) return ''
73
+
74
+ process.stdin.setEncoding('utf8')
75
+ let data = ''
76
+
77
+ for await (const chunk of process.stdin) {
78
+ data += chunk
79
+ }
80
+
81
+ return data
82
+ }
83
+
84
+ const getCredentials = getEnvCredentials
85
+
86
+ // Result type for signature operations
87
+ type SigResult = { ok: true; output: string } | { ok: false; error: string }
88
+
89
+ // Core logic for signature generation
90
+ function generateSignature(
91
+ input: string,
92
+ credentials: { authKey: string; authSecret: string },
93
+ algorithm?: string,
94
+ ): SigResult {
95
+ const { authKey, authSecret } = credentials
96
+ let params: CliSignatureParams
97
+
98
+ if (input === '') {
99
+ params = { auth: { key: authKey } }
100
+ } else {
101
+ let parsed: unknown
102
+ try {
103
+ parsed = JSON.parse(input)
104
+ } catch (error) {
105
+ return { ok: false, error: `Failed to parse JSON from stdin: ${(error as Error).message}` }
106
+ }
107
+
108
+ if (parsed == null || typeof parsed !== 'object' || Array.isArray(parsed)) {
109
+ return { ok: false, error: 'Invalid params provided via stdin. Expected a JSON object.' }
110
+ }
111
+
112
+ const parsedResult = cliSignatureParamsSchema.safeParse(parsed)
113
+ if (!parsedResult.success) {
114
+ return { ok: false, error: `Invalid params: ${formatIssues(parsedResult.error.issues)}` }
115
+ }
116
+
117
+ const parsedParams = parsedResult.data
118
+ const existingAuth = parsedParams.auth ?? {}
119
+
120
+ params = {
121
+ ...parsedParams,
122
+ auth: {
123
+ ...existingAuth,
124
+ key: authKey,
125
+ },
126
+ }
127
+ }
128
+
129
+ const client = new Transloadit({ authKey, authSecret })
130
+ try {
131
+ const signature = client.calcSignature(params as OptionalAuthParams, algorithm)
132
+ return { ok: true, output: JSON.stringify(signature) }
133
+ } catch (error) {
134
+ return { ok: false, error: `Failed to generate signature: ${(error as Error).message}` }
135
+ }
136
+ }
137
+
138
+ // Core logic for Smart CDN URL generation
139
+ function generateSmartCdnUrl(
140
+ input: string,
141
+ credentials: { authKey: string; authSecret: string },
142
+ ): SigResult {
143
+ const { authKey, authSecret } = credentials
144
+
145
+ if (input === '') {
146
+ return {
147
+ ok: false,
148
+ error:
149
+ 'Missing params provided via stdin. Expected a JSON object with workspace, template, input, and optional Smart CDN parameters.',
150
+ }
151
+ }
152
+
153
+ let parsed: unknown
154
+ try {
155
+ parsed = JSON.parse(input)
156
+ } catch (error) {
157
+ return { ok: false, error: `Failed to parse JSON from stdin: ${(error as Error).message}` }
158
+ }
159
+
160
+ if (parsed == null || typeof parsed !== 'object' || Array.isArray(parsed)) {
161
+ return { ok: false, error: 'Invalid params provided via stdin. Expected a JSON object.' }
162
+ }
163
+
164
+ const parsedResult = smartCdnParamsSchema.safeParse(parsed)
165
+ if (!parsedResult.success) {
166
+ return { ok: false, error: `Invalid params: ${formatIssues(parsedResult.error.issues)}` }
167
+ }
168
+
169
+ const { workspace, template, input: inputFieldRaw, url_params, expire_at_ms } = parsedResult.data
170
+ const urlParams = normalizeUrlParams(url_params)
171
+
172
+ let expiresAt: number | undefined
173
+ if (typeof expire_at_ms === 'string') {
174
+ const parsedNumber = Number.parseInt(expire_at_ms, 10)
175
+ if (Number.isNaN(parsedNumber)) {
176
+ return { ok: false, error: 'Invalid params: expire_at_ms must be a number.' }
177
+ }
178
+ expiresAt = parsedNumber
179
+ } else {
180
+ expiresAt = expire_at_ms
181
+ }
182
+
183
+ const inputField = typeof inputFieldRaw === 'string' ? inputFieldRaw : String(inputFieldRaw)
184
+
185
+ const client = new Transloadit({ authKey, authSecret })
186
+ try {
187
+ const signedUrl = client.getSignedSmartCDNUrl({
188
+ workspace,
189
+ template,
190
+ input: inputField,
191
+ urlParams,
192
+ expiresAt,
193
+ })
194
+ return { ok: true, output: signedUrl }
195
+ } catch (error) {
196
+ return { ok: false, error: `Failed to generate Smart CDN URL: ${(error as Error).message}` }
197
+ }
198
+ }
199
+
200
+ // Testable helper functions exported for unit tests
201
+ export interface RunSigOptions {
202
+ providedInput?: string
203
+ algorithm?: string
204
+ }
205
+
206
+ export interface RunSmartSigOptions {
207
+ providedInput?: string
208
+ }
209
+
210
+ export async function runSig(options: RunSigOptions = {}): Promise<void> {
211
+ const credentials = getCredentials()
212
+ if (credentials == null) {
213
+ console.error(
214
+ 'Missing credentials. Please set TRANSLOADIT_KEY and TRANSLOADIT_SECRET environment variables.',
215
+ )
216
+ process.exitCode = 1
217
+ return
218
+ }
219
+
220
+ const rawInput = options.providedInput ?? (await readStdin())
221
+ const result = generateSignature(rawInput.trim(), credentials, options.algorithm)
222
+
223
+ if (result.ok) {
224
+ process.stdout.write(`${result.output}\n`)
225
+ } else {
226
+ console.error(result.error)
227
+ process.exitCode = 1
228
+ }
229
+ }
230
+
231
+ export async function runSmartSig(options: RunSmartSigOptions = {}): Promise<void> {
232
+ const credentials = getCredentials()
233
+ if (credentials == null) {
234
+ console.error(
235
+ 'Missing credentials. Please set TRANSLOADIT_KEY and TRANSLOADIT_SECRET environment variables.',
236
+ )
237
+ process.exitCode = 1
238
+ return
239
+ }
240
+
241
+ const rawInput = options.providedInput ?? (await readStdin())
242
+ const result = generateSmartCdnUrl(rawInput.trim(), credentials)
243
+
244
+ if (result.ok) {
245
+ process.stdout.write(`${result.output}\n`)
246
+ } else {
247
+ console.error(result.error)
248
+ process.exitCode = 1
249
+ }
250
+ }
251
+
252
+ /**
253
+ * Generate a signature for assembly params
254
+ */
255
+ export class SignatureCommand extends UnauthenticatedCommand {
256
+ static override paths = [
257
+ ['auth', 'signature'],
258
+ ['auth', 'sig'],
259
+ ['signature'],
260
+ ['sig'], // BC alias
261
+ ]
262
+
263
+ static override usage = Command.Usage({
264
+ category: 'Auth',
265
+ description: 'Generate a signature for assembly params',
266
+ details: `
267
+ Read params JSON from stdin and output signed payload JSON.
268
+ If no input is provided, generates a signature with default params.
269
+ `,
270
+ examples: [
271
+ ['Generate signature', 'echo \'{"steps":{}}\' | transloadit signature'],
272
+ ['With algorithm', 'echo \'{"steps":{}}\' | transloadit signature --algorithm sha384'],
273
+ ['Using alias', 'echo \'{"steps":{}}\' | transloadit sig'],
274
+ ],
275
+ })
276
+
277
+ algorithm = Option.String('--algorithm,-a', {
278
+ description: 'Signature algorithm to use (sha1, sha256, sha384, sha512)',
279
+ })
280
+
281
+ protected async run(): Promise<number | undefined> {
282
+ const credentials = getCredentials()
283
+ if (credentials == null) {
284
+ this.output.error(
285
+ 'Missing credentials. Please set TRANSLOADIT_KEY and TRANSLOADIT_SECRET environment variables.',
286
+ )
287
+ return 1
288
+ }
289
+
290
+ const rawInput = await readStdin()
291
+ const result = generateSignature(rawInput.trim(), credentials, this.algorithm)
292
+
293
+ if (result.ok) {
294
+ process.stdout.write(`${result.output}\n`)
295
+ return undefined
296
+ }
297
+
298
+ this.output.error(result.error)
299
+ return 1
300
+ }
301
+ }
302
+
303
+ /**
304
+ * Generate a signed Smart CDN URL
305
+ */
306
+ export class SmartCdnSignatureCommand extends UnauthenticatedCommand {
307
+ static override paths = [
308
+ ['auth', 'smart-cdn'],
309
+ ['auth', 'smart_cdn'],
310
+ ['smart-cdn'],
311
+ ['smart_sig'], // BC alias
312
+ ]
313
+
314
+ static override usage = Command.Usage({
315
+ category: 'Auth',
316
+ description: 'Generate a signed Smart CDN URL',
317
+ details: `
318
+ Read Smart CDN params JSON from stdin and output a signed URL.
319
+ Required fields: workspace, template, input
320
+ Optional fields: expire_at_ms, url_params
321
+ `,
322
+ examples: [
323
+ [
324
+ 'Generate Smart CDN URL',
325
+ 'echo \'{"workspace":"w","template":"t","input":"i"}\' | transloadit smart-cdn',
326
+ ],
327
+ [
328
+ 'Using alias',
329
+ 'echo \'{"workspace":"w","template":"t","input":"i"}\' | transloadit smart_sig',
330
+ ],
331
+ ],
332
+ })
333
+
334
+ protected async run(): Promise<number | undefined> {
335
+ const credentials = getCredentials()
336
+ if (credentials == null) {
337
+ this.output.error(
338
+ 'Missing credentials. Please set TRANSLOADIT_KEY and TRANSLOADIT_SECRET environment variables.',
339
+ )
340
+ return 1
341
+ }
342
+
343
+ const rawInput = await readStdin()
344
+ const result = generateSmartCdnUrl(rawInput.trim(), credentials)
345
+
346
+ if (result.ok) {
347
+ process.stdout.write(`${result.output}\n`)
348
+ return undefined
349
+ }
350
+
351
+ this.output.error(result.error)
352
+ return 1
353
+ }
354
+ }
@@ -0,0 +1,91 @@
1
+ import { Command, Option } from 'clipanion'
2
+ import { z } from 'zod'
3
+ import { tryCatch } from '../../alphalib/tryCatch.ts'
4
+ import type { Transloadit } from '../../Transloadit.ts'
5
+ import { formatAPIError } from '../helpers.ts'
6
+ import type { IOutputCtl } from '../OutputCtl.ts'
7
+ import { AuthenticatedCommand } from './BaseCommand.ts'
8
+
9
+ // --- Types and business logic ---
10
+
11
+ export interface BillsGetOptions {
12
+ months: string[]
13
+ }
14
+
15
+ const BillResponseSchema = z.object({
16
+ total: z.number(),
17
+ })
18
+
19
+ export async function get(
20
+ output: IOutputCtl,
21
+ client: Transloadit,
22
+ { months }: BillsGetOptions,
23
+ ): Promise<void> {
24
+ const requests = months.map((month) => client.getBill(month))
25
+
26
+ const [err, results] = await tryCatch(Promise.all(requests))
27
+ if (err) {
28
+ output.error(formatAPIError(err))
29
+ return
30
+ }
31
+
32
+ for (const result of results) {
33
+ const parsed = BillResponseSchema.safeParse(result)
34
+ if (parsed.success) {
35
+ output.print(`$${parsed.data.total}`, result)
36
+ } else {
37
+ output.print('Unable to parse bill response', result)
38
+ }
39
+ }
40
+ }
41
+
42
+ // --- Command class ---
43
+
44
+ export class BillsGetCommand extends AuthenticatedCommand {
45
+ static override paths = [
46
+ ['bills', 'get'],
47
+ ['bill', 'get'],
48
+ ['b', 'get'],
49
+ ['b', 'g'],
50
+ ]
51
+
52
+ static override usage = Command.Usage({
53
+ category: 'Bills',
54
+ description: 'Fetch billing information',
55
+ details: `
56
+ Fetch billing information for the specified months.
57
+ Months should be specified in YYYY-MM format.
58
+ If no month is specified, returns the current month.
59
+ `,
60
+ examples: [
61
+ ['Get current month billing', 'transloadit bills get'],
62
+ ['Get specific month', 'transloadit bills get 2024-01'],
63
+ ['Get multiple months', 'transloadit bills get 2024-01 2024-02'],
64
+ ],
65
+ })
66
+
67
+ months = Option.Rest()
68
+
69
+ protected async run(): Promise<number | undefined> {
70
+ const monthList: string[] = []
71
+
72
+ for (const month of this.months) {
73
+ if (!/^\d{4}-\d{1,2}$/.test(month)) {
74
+ this.output.error(`invalid date format '${month}' (YYYY-MM)`)
75
+ return 1
76
+ }
77
+ monthList.push(month)
78
+ }
79
+
80
+ // Default to current month if none specified
81
+ if (monthList.length === 0) {
82
+ const d = new Date()
83
+ monthList.push(`${d.getUTCFullYear()}-${d.getUTCMonth() + 1}`)
84
+ }
85
+
86
+ await get(this.output, this.client, {
87
+ months: monthList,
88
+ })
89
+ return undefined
90
+ }
91
+ }
@@ -0,0 +1,65 @@
1
+ import { Builtins, Cli } from 'clipanion'
2
+
3
+ import packageJson from '../../../package.json' with { type: 'json' }
4
+
5
+ import {
6
+ AssembliesCreateCommand,
7
+ AssembliesDeleteCommand,
8
+ AssembliesGetCommand,
9
+ AssembliesListCommand,
10
+ AssembliesReplayCommand,
11
+ } from './assemblies.ts'
12
+
13
+ import { SignatureCommand, SmartCdnSignatureCommand } from './auth.ts'
14
+
15
+ import { BillsGetCommand } from './bills.ts'
16
+
17
+ import { NotificationsReplayCommand } from './notifications.ts'
18
+
19
+ import {
20
+ TemplatesCreateCommand,
21
+ TemplatesDeleteCommand,
22
+ TemplatesGetCommand,
23
+ TemplatesListCommand,
24
+ TemplatesModifyCommand,
25
+ TemplatesSyncCommand,
26
+ } from './templates.ts'
27
+
28
+ export function createCli(): Cli {
29
+ const cli = new Cli({
30
+ binaryLabel: 'Transloadit CLI',
31
+ binaryName: 'transloadit',
32
+ binaryVersion: packageJson.version,
33
+ })
34
+
35
+ // Built-in commands
36
+ cli.register(Builtins.HelpCommand)
37
+ cli.register(Builtins.VersionCommand)
38
+
39
+ // Auth commands (signature generation)
40
+ cli.register(SignatureCommand)
41
+ cli.register(SmartCdnSignatureCommand)
42
+
43
+ // Assemblies commands
44
+ cli.register(AssembliesCreateCommand)
45
+ cli.register(AssembliesListCommand)
46
+ cli.register(AssembliesGetCommand)
47
+ cli.register(AssembliesDeleteCommand)
48
+ cli.register(AssembliesReplayCommand)
49
+
50
+ // Templates commands
51
+ cli.register(TemplatesCreateCommand)
52
+ cli.register(TemplatesGetCommand)
53
+ cli.register(TemplatesModifyCommand)
54
+ cli.register(TemplatesDeleteCommand)
55
+ cli.register(TemplatesListCommand)
56
+ cli.register(TemplatesSyncCommand)
57
+
58
+ // Bills commands
59
+ cli.register(BillsGetCommand)
60
+
61
+ // Notifications commands
62
+ cli.register(NotificationsReplayCommand)
63
+
64
+ return cli
65
+ }
@@ -0,0 +1,63 @@
1
+ import { Command, Option } from 'clipanion'
2
+ import { tryCatch } from '../../alphalib/tryCatch.ts'
3
+ import type { Transloadit } from '../../Transloadit.ts'
4
+ import type { IOutputCtl } from '../OutputCtl.ts'
5
+ import { ensureError } from '../types.ts'
6
+ import { AuthenticatedCommand } from './BaseCommand.ts'
7
+
8
+ // --- Types and business logic ---
9
+
10
+ interface NotificationsReplayOptions {
11
+ notify_url?: string
12
+ assemblies: string[]
13
+ }
14
+
15
+ async function replay(
16
+ output: IOutputCtl,
17
+ client: Transloadit,
18
+ { notify_url, assemblies }: NotificationsReplayOptions,
19
+ ): Promise<void> {
20
+ const promises = assemblies.map((id) => client.replayAssemblyNotification(id, { notify_url }))
21
+ const [err] = await tryCatch(Promise.all(promises))
22
+ if (err) {
23
+ output.error(ensureError(err).message)
24
+ }
25
+ }
26
+
27
+ // --- Command class ---
28
+
29
+ export class NotificationsReplayCommand extends AuthenticatedCommand {
30
+ static override paths = [
31
+ ['assembly-notifications', 'replay'],
32
+ ['notifications', 'replay'],
33
+ ['notification', 'replay'],
34
+ ['n', 'replay'],
35
+ ['n', 'r'],
36
+ ]
37
+
38
+ static override usage = Command.Usage({
39
+ category: 'Notifications',
40
+ description: 'Replay notifications for assemblies',
41
+ examples: [
42
+ ['Replay notifications', 'transloadit assembly-notifications replay ASSEMBLY_ID'],
43
+ [
44
+ 'Replay to a new URL',
45
+ 'transloadit assembly-notifications replay --notify-url https://example.com/notify ASSEMBLY_ID',
46
+ ],
47
+ ],
48
+ })
49
+
50
+ notifyUrl = Option.String('--notify-url', {
51
+ description: 'Specify a new URL to send the notifications to',
52
+ })
53
+
54
+ assemblyIds = Option.Rest({ required: 1 })
55
+
56
+ protected async run(): Promise<number | undefined> {
57
+ await replay(this.output, this.client, {
58
+ notify_url: this.notifyUrl,
59
+ assemblies: this.assemblyIds,
60
+ })
61
+ return undefined
62
+ }
63
+ }