@remotion/lambda 4.0.0-2x.1 → 4.0.0-alpha.111

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 (403) hide show
  1. package/LICENSE.md +8 -8
  2. package/dist/admin/bundle-lambda.d.ts +0 -0
  3. package/dist/admin/bundle-lambda.js +16 -3
  4. package/dist/admin/generate-etag-list.d.ts +1 -0
  5. package/dist/admin/generate-etag-list.js +14 -0
  6. package/dist/admin/make-layer-public.d.ts +0 -0
  7. package/dist/admin/make-layer-public.js +62 -67
  8. package/dist/api/bucket-exists.d.ts +0 -0
  9. package/dist/api/bucket-exists.js +1 -1
  10. package/dist/api/clean-items.d.ts +0 -0
  11. package/dist/api/clean-items.js +2 -2
  12. package/dist/api/create-bucket.d.ts +0 -0
  13. package/dist/api/create-bucket.js +1 -1
  14. package/dist/api/create-function.d.ts +1 -3
  15. package/dist/api/create-function.js +25 -4
  16. package/dist/api/delete-function.d.ts +1 -1
  17. package/dist/api/delete-function.js +1 -1
  18. package/dist/api/delete-render.d.ts +19 -0
  19. package/dist/api/delete-render.js +66 -0
  20. package/dist/api/delete-site.d.ts +1 -1
  21. package/dist/api/delete-site.js +1 -6
  22. package/dist/api/deploy-function.d.ts +1 -4
  23. package/dist/api/deploy-function.js +6 -8
  24. package/dist/api/deploy-site.d.ts +11 -2
  25. package/dist/api/deploy-site.js +60 -22
  26. package/dist/api/download-media.d.ts +12 -3
  27. package/dist/api/download-media.js +16 -8
  28. package/dist/api/estimate-price.d.ts +2 -4
  29. package/dist/api/estimate-price.js +4 -10
  30. package/dist/api/get-aws-client.d.ts +7 -3
  31. package/dist/api/get-aws-client.js +10 -3
  32. package/dist/api/get-buckets.d.ts +0 -0
  33. package/dist/api/get-buckets.js +27 -10
  34. package/dist/api/get-compositions-on-lambda.d.ts +29 -0
  35. package/dist/api/get-compositions-on-lambda.js +54 -0
  36. package/dist/api/get-function-info.d.ts +2 -3
  37. package/dist/api/get-function-info.js +1 -1
  38. package/dist/api/get-functions.d.ts +1 -3
  39. package/dist/api/get-functions.js +3 -4
  40. package/dist/api/get-or-create-bucket.d.ts +2 -1
  41. package/dist/api/get-or-create-bucket.js +6 -11
  42. package/dist/api/get-regions.d.ts +6 -2
  43. package/dist/api/get-regions.js +6 -3
  44. package/dist/api/get-render-progress.d.ts +5 -2
  45. package/dist/api/get-render-progress.js +6 -2
  46. package/dist/api/get-sites.d.ts +2 -2
  47. package/dist/api/get-sites.js +1 -2
  48. package/dist/api/iam-validation/role-permissions.d.ts +0 -0
  49. package/dist/api/iam-validation/role-permissions.js +0 -0
  50. package/dist/api/iam-validation/simulate-rule.d.ts +0 -0
  51. package/dist/api/iam-validation/simulate-rule.js +0 -22
  52. package/dist/api/iam-validation/simulate.d.ts +1 -1
  53. package/dist/api/iam-validation/simulate.js +27 -6
  54. package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
  55. package/dist/api/iam-validation/suggested-policy.js +0 -0
  56. package/dist/api/iam-validation/user-permissions.d.ts +1 -1
  57. package/dist/api/iam-validation/user-permissions.js +1 -8
  58. package/dist/api/mock-functions.d.ts +4 -5
  59. package/dist/api/mock-functions.js +0 -0
  60. package/dist/api/presign-url.d.ts +4 -4
  61. package/dist/api/presign-url.js +9 -4
  62. package/dist/api/render-media-on-lambda.d.ts +37 -16
  63. package/dist/api/render-media-on-lambda.js +88 -38
  64. package/dist/api/render-still-on-lambda.d.ts +11 -6
  65. package/dist/api/render-still-on-lambda.js +58 -31
  66. package/dist/api/speculate-function-name.d.ts +14 -0
  67. package/dist/api/speculate-function-name.js +22 -0
  68. package/dist/api/upload-dir.d.ts +4 -3
  69. package/dist/api/upload-dir.js +57 -50
  70. package/dist/api/validate-webhook-signature.d.ts +13 -0
  71. package/dist/api/validate-webhook-signature.js +32 -0
  72. package/dist/cli/args.d.ts +9 -4
  73. package/dist/cli/args.js +1 -5
  74. package/dist/cli/commands/compositions/index.d.ts +2 -0
  75. package/dist/cli/commands/compositions/index.js +44 -0
  76. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  77. package/dist/cli/commands/functions/deploy.js +11 -13
  78. package/dist/cli/commands/functions/index.d.ts +0 -0
  79. package/dist/cli/commands/functions/index.js +16 -17
  80. package/dist/cli/commands/functions/ls.d.ts +0 -0
  81. package/dist/cli/commands/functions/ls.js +9 -7
  82. package/dist/cli/commands/functions/rm.d.ts +0 -0
  83. package/dist/cli/commands/functions/rm.js +8 -2
  84. package/dist/cli/commands/functions/rmall.d.ts +0 -0
  85. package/dist/cli/commands/functions/rmall.js +8 -2
  86. package/dist/cli/commands/policies/policies.d.ts +0 -0
  87. package/dist/cli/commands/policies/policies.js +0 -0
  88. package/dist/cli/commands/policies/role.d.ts +0 -0
  89. package/dist/cli/commands/policies/role.js +0 -0
  90. package/dist/cli/commands/policies/user.d.ts +0 -0
  91. package/dist/cli/commands/policies/user.js +0 -0
  92. package/dist/cli/commands/policies/validate.d.ts +0 -0
  93. package/dist/cli/commands/policies/validate.js +0 -0
  94. package/dist/cli/commands/quotas/increase.d.ts +0 -0
  95. package/dist/cli/commands/quotas/increase.js +28 -8
  96. package/dist/cli/commands/quotas/index.d.ts +0 -0
  97. package/dist/cli/commands/quotas/index.js +8 -9
  98. package/dist/cli/commands/quotas/list.d.ts +0 -0
  99. package/dist/cli/commands/quotas/list.js +0 -0
  100. package/dist/cli/commands/regions.d.ts +0 -0
  101. package/dist/cli/commands/regions.js +6 -2
  102. package/dist/cli/commands/render/progress.d.ts +9 -5
  103. package/dist/cli/commands/render/progress.js +66 -48
  104. package/dist/cli/commands/render/render.d.ts +1 -1
  105. package/dist/cli/commands/render/render.js +86 -29
  106. package/dist/cli/commands/sites/create.d.ts +1 -1
  107. package/dist/cli/commands/sites/create.js +30 -27
  108. package/dist/cli/commands/sites/index.d.ts +1 -1
  109. package/dist/cli/commands/sites/index.js +15 -16
  110. package/dist/cli/commands/sites/ls.d.ts +0 -0
  111. package/dist/cli/commands/sites/ls.js +10 -12
  112. package/dist/cli/commands/sites/rm.d.ts +0 -0
  113. package/dist/cli/commands/sites/rm.js +8 -19
  114. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  115. package/dist/cli/commands/sites/rmall.js +7 -19
  116. package/dist/cli/commands/still.d.ts +1 -1
  117. package/dist/cli/commands/still.js +36 -27
  118. package/dist/cli/get-aws-region.d.ts +0 -0
  119. package/dist/cli/get-aws-region.js +2 -1
  120. package/dist/cli/help.d.ts +0 -0
  121. package/dist/cli/help.js +0 -0
  122. package/dist/cli/helpers/confirm.d.ts +0 -0
  123. package/dist/cli/helpers/confirm.js +0 -0
  124. package/dist/cli/helpers/date-string.d.ts +0 -0
  125. package/dist/cli/helpers/date-string.js +0 -0
  126. package/dist/cli/helpers/find-function-name.d.ts +0 -0
  127. package/dist/cli/helpers/find-function-name.js +37 -7
  128. package/dist/cli/helpers/progress-bar.d.ts +9 -3
  129. package/dist/cli/helpers/progress-bar.js +20 -8
  130. package/dist/cli/helpers/quit.d.ts +0 -0
  131. package/dist/cli/helpers/quit.js +0 -0
  132. package/dist/cli/helpers/yes-or-no.d.ts +0 -0
  133. package/dist/cli/helpers/yes-or-no.js +0 -0
  134. package/dist/cli/index.d.ts +1 -1
  135. package/dist/cli/index.js +20 -9
  136. package/dist/cli/is-cli.d.ts +0 -0
  137. package/dist/cli/is-cli.js +0 -0
  138. package/dist/cli/log.d.ts +12 -0
  139. package/dist/cli/log.js +0 -0
  140. package/dist/client.d.ts +10 -2
  141. package/dist/client.js +11 -1
  142. package/dist/defaults.d.ts +0 -0
  143. package/dist/defaults.js +0 -0
  144. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +2 -6
  145. package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -19
  146. package/dist/functions/chunk-optimization/types.d.ts +0 -11
  147. package/dist/functions/chunk-optimization/types.js +0 -0
  148. package/dist/functions/compositions.d.ts +8 -0
  149. package/dist/functions/compositions.js +56 -0
  150. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  151. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  152. package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
  153. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  154. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +1 -3
  155. package/dist/functions/helpers/calculate-price-from-bucket.js +1 -2
  156. package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
  157. package/dist/functions/helpers/check-if-render-exists.js +14 -0
  158. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  159. package/dist/functions/helpers/clean-tmpdir.js +1 -1
  160. package/dist/functions/helpers/concat-videos.d.ts +15 -6
  161. package/dist/functions/helpers/concat-videos.js +33 -32
  162. package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
  163. package/dist/functions/helpers/create-post-render-data.js +1 -10
  164. package/dist/functions/helpers/delete-chunks.d.ts +0 -0
  165. package/dist/functions/helpers/delete-chunks.js +0 -0
  166. package/dist/functions/helpers/expected-out-name.d.ts +4 -2
  167. package/dist/functions/helpers/expected-out-name.js +27 -6
  168. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +3 -1
  169. package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
  170. package/dist/functions/helpers/format-costs-info.d.ts +0 -0
  171. package/dist/functions/helpers/format-costs-info.js +0 -0
  172. package/dist/functions/helpers/get-browser-instance.d.ts +0 -0
  173. package/dist/functions/helpers/get-browser-instance.js +2 -2
  174. package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
  175. package/dist/functions/helpers/get-chromium-executable-path.js +3 -2
  176. package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
  177. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  178. package/dist/functions/helpers/get-current-region.d.ts +1 -1
  179. package/dist/functions/helpers/get-current-region.js +0 -0
  180. package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
  181. package/dist/functions/helpers/get-custom-out-name.js +31 -0
  182. package/dist/functions/helpers/get-encoding-metadata.d.ts +5 -8
  183. package/dist/functions/helpers/get-encoding-metadata.js +7 -17
  184. package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
  185. package/dist/functions/helpers/get-files-in-folder.js +0 -0
  186. package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
  187. package/dist/functions/helpers/get-files-to-delete.js +1 -1
  188. package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -4
  189. package/dist/functions/helpers/get-final-encoding-status.js +1 -4
  190. package/dist/functions/helpers/get-folder-size.d.ts +0 -0
  191. package/dist/functions/helpers/get-folder-size.js +0 -0
  192. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +4 -3
  193. package/dist/functions/helpers/get-lambdas-invoked-stats.js +2 -10
  194. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +2 -1
  195. package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
  196. package/dist/functions/helpers/get-overall-progress.d.ts +2 -1
  197. package/dist/functions/helpers/get-overall-progress.js +7 -5
  198. package/dist/functions/helpers/get-post-render-data.d.ts +0 -0
  199. package/dist/functions/helpers/get-post-render-data.js +0 -0
  200. package/dist/functions/helpers/get-progress.d.ts +4 -2
  201. package/dist/functions/helpers/get-progress.js +58 -44
  202. package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
  203. package/dist/functions/helpers/get-render-metadata.js +0 -0
  204. package/dist/functions/helpers/get-rendered-frames-progress.d.ts +8 -0
  205. package/dist/functions/helpers/get-rendered-frames-progress.js +37 -0
  206. package/dist/functions/helpers/get-retry-stats.d.ts +0 -0
  207. package/dist/functions/helpers/get-retry-stats.js +1 -1
  208. package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
  209. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  210. package/dist/functions/helpers/inspect-errors.d.ts +0 -0
  211. package/dist/functions/helpers/inspect-errors.js +0 -0
  212. package/dist/functions/helpers/io.d.ts +19 -1
  213. package/dist/functions/helpers/io.js +31 -8
  214. package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
  215. package/dist/functions/helpers/is-enosp-err.js +1 -1
  216. package/dist/functions/helpers/is-warm.d.ts +0 -0
  217. package/dist/functions/helpers/is-warm.js +0 -0
  218. package/dist/functions/helpers/make-timeout-error.d.ts +8 -0
  219. package/dist/functions/helpers/make-timeout-error.js +48 -0
  220. package/dist/functions/helpers/min-max.d.ts +1 -1
  221. package/dist/functions/helpers/min-max.js +1 -1
  222. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +1 -1
  223. package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
  224. package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
  225. package/dist/functions/helpers/print-concurrency-curve.js +0 -0
  226. package/dist/functions/helpers/read-with-progress.d.ts +5 -2
  227. package/dist/functions/helpers/read-with-progress.js +16 -4
  228. package/dist/functions/helpers/timer.d.ts +0 -0
  229. package/dist/functions/helpers/timer.js +0 -0
  230. package/dist/functions/helpers/validate-composition.d.ts +6 -5
  231. package/dist/functions/helpers/validate-composition.js +9 -4
  232. package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
  233. package/dist/functions/helpers/write-lambda-error.js +2 -0
  234. package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
  235. package/dist/functions/helpers/write-post-render-data.js +2 -0
  236. package/dist/functions/index.d.ts +15 -4
  237. package/dist/functions/index.js +30 -11
  238. package/dist/functions/info.d.ts +2 -2
  239. package/dist/functions/info.js +2 -1
  240. package/dist/functions/launch.d.ts +1 -0
  241. package/dist/functions/launch.js +359 -129
  242. package/dist/functions/progress.d.ts +1 -1
  243. package/dist/functions/progress.js +10 -1
  244. package/dist/functions/renderer.d.ts +0 -0
  245. package/dist/functions/renderer.js +144 -77
  246. package/dist/functions/start.d.ts +5 -1
  247. package/dist/functions/start.js +44 -6
  248. package/dist/functions/still.d.ts +0 -0
  249. package/dist/functions/still.js +72 -25
  250. package/dist/index.d.ts +28 -8
  251. package/dist/index.js +27 -6
  252. package/dist/internals.d.ts +1 -1
  253. package/dist/internals.js +0 -0
  254. package/dist/pricing/aws-regions.d.ts +2 -1
  255. package/dist/pricing/aws-regions.js +31 -1
  256. package/dist/pricing/price-per-1-s.d.ts +0 -0
  257. package/dist/pricing/price-per-1-s.js +413 -39
  258. package/dist/regions.d.ts +0 -0
  259. package/dist/regions.js +0 -0
  260. package/dist/shared/await.d.ts +0 -0
  261. package/dist/shared/await.js +0 -0
  262. package/dist/shared/aws-clients.d.ts +16 -2
  263. package/dist/shared/aws-clients.js +118 -26
  264. package/dist/shared/bundle-site.d.ts +2 -6
  265. package/dist/shared/bundle-site.js +0 -0
  266. package/dist/shared/call-lambda.d.ts +0 -0
  267. package/dist/shared/call-lambda.js +0 -0
  268. package/dist/shared/check-credentials.d.ts +0 -0
  269. package/dist/shared/check-credentials.js +5 -2
  270. package/dist/shared/chunk-progress.d.ts +9 -0
  271. package/dist/shared/chunk-progress.js +2034 -0
  272. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  273. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  274. package/dist/shared/constants.d.ts +126 -44
  275. package/dist/shared/constants.js +21 -11
  276. package/dist/shared/content-disposition-header.d.ts +7 -0
  277. package/dist/shared/content-disposition-header.js +19 -0
  278. package/dist/shared/convert-to-serve-url.d.ts +5 -1
  279. package/dist/shared/convert-to-serve-url.js +1 -5
  280. package/dist/shared/deserialize-input-props.d.ts +8 -0
  281. package/dist/shared/deserialize-input-props.js +26 -0
  282. package/dist/shared/docs-url.d.ts +0 -0
  283. package/dist/shared/docs-url.js +0 -0
  284. package/dist/shared/function-zip-path.d.ts +1 -1
  285. package/dist/shared/function-zip-path.js +2 -2
  286. package/dist/shared/get-account-id.d.ts +0 -0
  287. package/dist/shared/get-account-id.js +4 -6
  288. package/dist/shared/get-aws-urls.d.ts +14 -0
  289. package/dist/shared/get-aws-urls.js +12 -0
  290. package/dist/shared/get-etag.d.ts +1 -0
  291. package/dist/shared/get-etag.js +24 -0
  292. package/dist/shared/get-function-version.d.ts +1 -2
  293. package/dist/shared/get-function-version.js +0 -0
  294. package/dist/shared/get-most-expensive-chunks.d.ts +1 -1
  295. package/dist/shared/get-most-expensive-chunks.js +3 -2
  296. package/dist/shared/get-s3-operations.d.ts +10 -0
  297. package/dist/shared/get-s3-operations.js +36 -0
  298. package/dist/shared/hosted-layers.d.ts +4 -7
  299. package/dist/shared/hosted-layers.js +294 -284
  300. package/dist/shared/invoke-webhook.d.ts +46 -0
  301. package/dist/shared/invoke-webhook.js +89 -0
  302. package/dist/shared/is-in-lambda.d.ts +0 -0
  303. package/dist/shared/is-in-lambda.js +5 -1
  304. package/dist/shared/lambda-version-string.d.ts +1 -0
  305. package/dist/shared/lambda-version-string.js +7 -0
  306. package/dist/shared/make-s3-key.d.ts +0 -0
  307. package/dist/shared/make-s3-key.js +0 -0
  308. package/dist/shared/make-s3-url.d.ts +0 -0
  309. package/dist/shared/make-s3-url.js +0 -0
  310. package/dist/shared/p-limit.d.ts +0 -0
  311. package/dist/shared/p-limit.js +0 -0
  312. package/dist/shared/parse-chunk-key.d.ts +4 -0
  313. package/dist/shared/parse-chunk-key.js +14 -0
  314. package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
  315. package/dist/shared/parse-lambda-initialized-key.js +0 -0
  316. package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
  317. package/dist/shared/parse-lambda-timings-key.js +0 -0
  318. package/dist/shared/random-hash.d.ts +0 -0
  319. package/dist/shared/random-hash.js +0 -0
  320. package/dist/shared/read-dir.d.ts +9 -0
  321. package/dist/shared/read-dir.js +57 -0
  322. package/dist/shared/return-values.d.ts +2 -0
  323. package/dist/shared/return-values.js +0 -0
  324. package/dist/shared/serialize-input-props.d.ts +8 -0
  325. package/dist/shared/serialize-input-props.js +42 -0
  326. package/dist/shared/sleep.d.ts +0 -0
  327. package/dist/shared/sleep.js +0 -0
  328. package/dist/shared/stream-to-string.d.ts +0 -0
  329. package/dist/shared/stream-to-string.js +0 -0
  330. package/dist/shared/truthy.d.ts +3 -0
  331. package/dist/shared/truthy.js +7 -0
  332. package/dist/shared/validate-aws-region.d.ts +0 -0
  333. package/dist/shared/validate-aws-region.js +0 -0
  334. package/dist/shared/validate-bucketname.d.ts +5 -0
  335. package/dist/shared/validate-bucketname.js +19 -1
  336. package/dist/shared/validate-custom-role-arn.d.ts +0 -0
  337. package/dist/shared/validate-custom-role-arn.js +0 -0
  338. package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
  339. package/dist/shared/validate-disk-size-in-mb.js +0 -0
  340. package/dist/shared/validate-download-behavior.d.ts +1 -0
  341. package/dist/shared/validate-download-behavior.js +21 -0
  342. package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
  343. package/dist/shared/validate-frames-per-lambda.js +4 -3
  344. package/dist/shared/validate-lambda-codec.d.ts +4 -0
  345. package/dist/shared/validate-lambda-codec.js +30 -0
  346. package/dist/shared/validate-memory-size.d.ts +0 -0
  347. package/dist/shared/validate-memory-size.js +0 -0
  348. package/dist/shared/validate-outname.d.ts +3 -2
  349. package/dist/shared/validate-outname.js +13 -3
  350. package/dist/shared/validate-presign-expiration.d.ts +0 -2
  351. package/dist/shared/validate-presign-expiration.js +7 -7
  352. package/dist/shared/validate-privacy.d.ts +0 -0
  353. package/dist/shared/validate-privacy.js +2 -2
  354. package/dist/shared/validate-retention-period.d.ts +0 -0
  355. package/dist/shared/validate-retention-period.js +0 -0
  356. package/dist/shared/validate-retries.d.ts +0 -0
  357. package/dist/shared/validate-retries.js +0 -0
  358. package/dist/shared/validate-serveurl.d.ts +0 -0
  359. package/dist/shared/validate-serveurl.js +0 -0
  360. package/dist/shared/validate-site-name.d.ts +0 -0
  361. package/dist/shared/validate-site-name.js +0 -0
  362. package/dist/shared/validate-timeout.d.ts +0 -0
  363. package/dist/shared/validate-timeout.js +0 -0
  364. package/package.json +53 -27
  365. package/remotionlambda-arm64.zip +0 -0
  366. package/remotionlambda-x64.zip +0 -0
  367. package/remotionlambda.zip +0 -0
  368. package/.prettierrc.js +0 -14
  369. package/client.d.ts +0 -1
  370. package/client.js +0 -1
  371. package/dist/api/enable-s3-website.d.ts +0 -5
  372. package/dist/api/enable-s3-website.js +0 -16
  373. package/dist/cli/helpers/format-bytes.d.ts +0 -6
  374. package/dist/cli/helpers/format-bytes.js +0 -103
  375. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
  376. package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
  377. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
  378. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
  379. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
  380. package/dist/functions/chunk-optimization/collect-data.js +0 -27
  381. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
  382. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
  383. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
  384. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
  385. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
  386. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
  387. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
  388. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
  389. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
  390. package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
  391. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
  392. package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -45
  393. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
  394. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
  395. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
  396. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
  397. package/dist/functions/helpers/get-current-architecture.d.ts +0 -2
  398. package/dist/functions/helpers/get-current-architecture.js +0 -11
  399. package/dist/shared/chunk.d.ts +0 -1
  400. package/dist/shared/chunk.js +0 -11
  401. package/dist/shared/validate-architecture.d.ts +0 -4
  402. package/dist/shared/validate-architecture.js +0 -14
  403. package/tsconfig.json +0 -16
@@ -0,0 +1,89 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.invokeWebhook = exports.mockableHttpClients = exports.calculateSignature = void 0;
30
+ const Crypto = __importStar(require("crypto"));
31
+ const http_1 = __importDefault(require("http"));
32
+ const https_1 = __importDefault(require("https"));
33
+ /**
34
+ * @description Calculates cryptographically secure signature for webhooks using Hmac.
35
+ * @link https://remotion.dev/docs/lambda/webhooks#validate-webhooks
36
+ * @param payload Stringified request body to encode in the signature.
37
+ * @param secret User-provided webhook secret used to sign the request.
38
+ * @returns {string} Calculated signature
39
+ */
40
+ function calculateSignature(payload, secret) {
41
+ if (!secret) {
42
+ return 'NO_SECRET_PROVIDED';
43
+ }
44
+ const hmac = Crypto.createHmac('sha512', secret);
45
+ const signature = 'sha512=' + hmac.update(payload).digest('hex');
46
+ return signature;
47
+ }
48
+ exports.calculateSignature = calculateSignature;
49
+ const getWebhookClient = (url) => {
50
+ if (url.startsWith('https://')) {
51
+ return exports.mockableHttpClients.https;
52
+ }
53
+ if (url.startsWith('http://')) {
54
+ return exports.mockableHttpClients.http;
55
+ }
56
+ throw new Error('Can only request URLs starting with http:// or https://');
57
+ };
58
+ exports.mockableHttpClients = {
59
+ http: http_1.default.request,
60
+ https: https_1.default.request,
61
+ };
62
+ function invokeWebhook({ payload, secret, url, }) {
63
+ const jsonPayload = JSON.stringify(payload);
64
+ return new Promise((resolve, reject) => {
65
+ const req = getWebhookClient(url)(url, {
66
+ method: 'POST',
67
+ headers: {
68
+ 'Content-Type': 'application/json',
69
+ 'Content-Length': jsonPayload.length,
70
+ 'X-Remotion-Mode': 'production',
71
+ 'X-Remotion-Signature': calculateSignature(jsonPayload, secret),
72
+ 'X-Remotion-Status': payload.type,
73
+ },
74
+ timeout: 5000,
75
+ }, (res) => {
76
+ if (res.statusCode && res.statusCode > 299) {
77
+ reject(new Error(`Sent a webhook but got a status code of ${res.statusCode} with message '${res.statusMessage}'`));
78
+ return;
79
+ }
80
+ resolve();
81
+ });
82
+ req.write(jsonPayload);
83
+ req.on('error', (err) => {
84
+ reject(err);
85
+ });
86
+ req.end();
87
+ });
88
+ }
89
+ exports.invokeWebhook = invokeWebhook;
File without changes
@@ -1,5 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isInsideLambda = void 0;
4
- const isInsideLambda = () => { var _a; return Boolean(typeof process !== 'undefined' && ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.REMOTION_LAMBDA)); };
4
+ const isInsideLambda = () => {
5
+ var _a;
6
+ return Boolean(typeof process !== 'undefined' &&
7
+ ((_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.__RESERVED_IS_INSIDE_REMOTION_LAMBDA));
8
+ };
5
9
  exports.isInsideLambda = isInsideLambda;
@@ -0,0 +1 @@
1
+ export declare const LAMBDA_VERSION_STRING: string;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LAMBDA_VERSION_STRING = void 0;
4
+ const version_1 = require("remotion/version");
5
+ exports.LAMBDA_VERSION_STRING = version_1.VERSION.replace(/\./g, '-')
6
+ .replace(/\+/g, '-')
7
+ .substring(0, 10);
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,4 @@
1
+ export declare const parseLambdaChunkKey: (key: string) => {
2
+ renderId: string;
3
+ chunk: number;
4
+ };
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseLambdaChunkKey = void 0;
4
+ const parseLambdaChunkKey = (key) => {
5
+ const match = key.match(/^renders\/(.*)\/chunks\/chunk:([0-9]+)$/);
6
+ if (!match) {
7
+ throw new Error(`Cannot parse filename ${key} into timing information. Malformed data.`);
8
+ }
9
+ return {
10
+ renderId: match[1],
11
+ chunk: Number(match[2]),
12
+ };
13
+ };
14
+ exports.parseLambdaChunkKey = parseLambdaChunkKey;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,9 @@
1
+ export declare function readDirectory({ dir, etags, originalDir, }: {
2
+ dir: string;
3
+ etags: {
4
+ [key: string]: string;
5
+ };
6
+ originalDir: string;
7
+ }): Promise<{
8
+ [key: string]: string;
9
+ }>;
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.readDirectory = void 0;
27
+ const fs = __importStar(require("fs"));
28
+ const path = __importStar(require("path"));
29
+ const get_etag_1 = require("./get-etag");
30
+ // Function to recursively read a directory and return a list of files
31
+ // with their etags and file names
32
+ async function readDirectory({ dir, etags, originalDir, }) {
33
+ const files = fs.readdirSync(dir);
34
+ for (const file of files) {
35
+ if (file.startsWith('.DS_Store'))
36
+ continue;
37
+ const filePath = path.join(dir, file);
38
+ if (fs.lstatSync(filePath).isDirectory()) {
39
+ etags = {
40
+ ...etags,
41
+ ...(await readDirectory({ dir: filePath, etags, originalDir })),
42
+ };
43
+ continue;
44
+ }
45
+ // eslint-disable-next-line no-lonely-if
46
+ if (fs.lstatSync(filePath).isSymbolicLink()) {
47
+ const realPath = fs.realpathSync(filePath);
48
+ etags[path.relative(originalDir, filePath)] = await (0, get_etag_1.getEtagOfFile)(realPath);
49
+ }
50
+ else {
51
+ etags[path.relative(originalDir, filePath)] = await (0, get_etag_1.getEtagOfFile)(filePath);
52
+ }
53
+ }
54
+ // Return the list of files with their etags and file names
55
+ return etags;
56
+ }
57
+ exports.readDirectory = readDirectory;
@@ -1,3 +1,4 @@
1
+ import type { compositionsHandler } from '../functions/compositions';
1
2
  import type { infoHandler } from '../functions/info';
2
3
  import type { launchHandler } from '../functions/launch';
3
4
  import type { progressHandler } from '../functions/progress';
@@ -12,4 +13,5 @@ export interface LambdaReturnValues {
12
13
  [LambdaRoutines.status]: ReturnType<typeof progressHandler>;
13
14
  [LambdaRoutines.info]: ReturnType<typeof infoHandler>;
14
15
  [LambdaRoutines.still]: ReturnType<typeof stillHandler>;
16
+ [LambdaRoutines.compositions]: ReturnType<typeof compositionsHandler>;
15
17
  }
File without changes
@@ -0,0 +1,8 @@
1
+ import type { AwsRegion } from '../client';
2
+ import type { SerializedInputProps } from './constants';
3
+ export declare const serializeInputProps: ({ inputProps, region, type, userSpecifiedBucketName, }: {
4
+ inputProps: unknown;
5
+ region: AwsRegion;
6
+ type: 'still' | 'video-or-audio';
7
+ userSpecifiedBucketName: string | null;
8
+ }) => Promise<SerializedInputProps>;
@@ -0,0 +1,42 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.serializeInputProps = void 0;
4
+ const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
5
+ const io_1 = require("../functions/helpers/io");
6
+ const constants_1 = require("./constants");
7
+ const random_hash_1 = require("./random-hash");
8
+ const serializeInputProps = async ({ inputProps, region, type, userSpecifiedBucketName, }) => {
9
+ try {
10
+ const payload = JSON.stringify(inputProps);
11
+ const hash = (0, random_hash_1.randomHash)();
12
+ const MAX_INLINE_PAYLOAD_SIZE = type === 'still' ? 5000000 : 200000;
13
+ if (payload.length > MAX_INLINE_PAYLOAD_SIZE) {
14
+ console.warn(`Warning: inputProps are over ${Math.round(MAX_INLINE_PAYLOAD_SIZE / 1000)}KB (${Math.ceil(payload.length / 1024)}KB) in size. Uploading them to S3 to circumvent AWS Lambda payload size.`);
15
+ const bucketName = userSpecifiedBucketName !== null && userSpecifiedBucketName !== void 0 ? userSpecifiedBucketName : (await (0, get_or_create_bucket_1.getOrCreateBucket)({
16
+ region,
17
+ })).bucketName;
18
+ await (0, io_1.lambdaWriteFile)({
19
+ body: payload,
20
+ bucketName,
21
+ region,
22
+ customCredentials: null,
23
+ downloadBehavior: null,
24
+ expectedBucketOwner: null,
25
+ key: (0, constants_1.inputPropsKey)(hash),
26
+ privacy: 'public',
27
+ });
28
+ return {
29
+ type: 'bucket-url',
30
+ hash,
31
+ };
32
+ }
33
+ return {
34
+ type: 'payload',
35
+ payload,
36
+ };
37
+ }
38
+ catch (err) {
39
+ throw new Error('Error serializing inputProps. Check it has no circular references or reduce the size if the object is big.');
40
+ }
41
+ };
42
+ exports.serializeInputProps = serializeInputProps;
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,3 @@
1
+ declare type Truthy<T> = T extends false | '' | 0 | null | undefined ? never : T;
2
+ export declare function truthy<T>(value: T): value is Truthy<T>;
3
+ export {};
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.truthy = void 0;
4
+ function truthy(value) {
5
+ return Boolean(value);
6
+ }
7
+ exports.truthy = truthy;
File without changes
File without changes
@@ -1,3 +1,8 @@
1
+ import type { AwsRegion } from '../client';
1
2
  export declare const validateBucketName: (bucketName: unknown, options: {
2
3
  mustStartWithRemotion: boolean;
3
4
  }) => void;
5
+ export declare const parseBucketName: (name: string) => {
6
+ region: AwsRegion | null;
7
+ };
8
+ export declare const makeBucketName: (region: AwsRegion) => string;
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateBucketName = void 0;
3
+ exports.makeBucketName = exports.parseBucketName = exports.validateBucketName = void 0;
4
+ const regions_1 = require("../regions");
4
5
  const constants_1 = require("./constants");
6
+ const random_hash_1 = require("./random-hash");
5
7
  const validateBucketName = (bucketName, options) => {
6
8
  if (typeof bucketName !== 'string') {
7
9
  throw new TypeError(`'bucketName' must be a string, but is ${JSON.stringify(bucketName)}`);
@@ -15,3 +17,19 @@ const validateBucketName = (bucketName, options) => {
15
17
  }
16
18
  };
17
19
  exports.validateBucketName = validateBucketName;
20
+ const parseBucketName = (name) => {
21
+ const parsed = name.match(new RegExp(`^${constants_1.REMOTION_BUCKET_PREFIX}(.*)-([a-z0-9A-Z]+)$`));
22
+ const region = parsed === null || parsed === void 0 ? void 0 : parsed[1];
23
+ if (!region) {
24
+ return { region: null };
25
+ }
26
+ const realRegionFound = regions_1.AWS_REGIONS.find((r) => r.replace(/-/g, '') === region);
27
+ return { region: realRegionFound !== null && realRegionFound !== void 0 ? realRegionFound : null };
28
+ };
29
+ exports.parseBucketName = parseBucketName;
30
+ const makeBucketName = (region) => {
31
+ return `${constants_1.REMOTION_BUCKET_PREFIX}${region.replace(/-/g, '')}-${(0, random_hash_1.randomHash)({
32
+ randomInTests: false,
33
+ })}`;
34
+ };
35
+ exports.makeBucketName = makeBucketName;
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1 @@
1
+ export declare const validateDownloadBehavior: (downloadBehavior: unknown) => null | undefined;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateDownloadBehavior = void 0;
4
+ const validateDownloadBehavior = (downloadBehavior) => {
5
+ if (downloadBehavior === null || downloadBehavior === undefined) {
6
+ return null;
7
+ }
8
+ if (typeof downloadBehavior !== 'object') {
9
+ throw new Error('downloadBehavior must be null or an object');
10
+ }
11
+ const behavior = downloadBehavior;
12
+ if (behavior.type !== 'download' && behavior.type !== 'play-in-browser') {
13
+ throw new Error('Download behavior must be either "download" or "play-in-browser"');
14
+ }
15
+ if (behavior.type === 'download') {
16
+ if (typeof behavior.fileName !== 'string' && behavior.fileName !== null) {
17
+ throw new Error('If "downloadBehavior.type" is "download", then fileName must be "null" or a string');
18
+ }
19
+ }
20
+ };
21
+ exports.validateDownloadBehavior = validateDownloadBehavior;
@@ -1 +1,4 @@
1
- export declare const validateFramesPerLambda: (framesPerLambda: unknown) => void;
1
+ export declare const validateFramesPerLambda: ({ framesPerLambda, durationInFrames, }: {
2
+ framesPerLambda: unknown;
3
+ durationInFrames: number;
4
+ }) => void;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateFramesPerLambda = void 0;
4
4
  const constants_1 = require("./constants");
5
- const validateFramesPerLambda = (framesPerLambda) => {
5
+ const validateFramesPerLambda = ({ framesPerLambda, durationInFrames, }) => {
6
6
  if (framesPerLambda === null) {
7
7
  return;
8
8
  }
@@ -21,8 +21,9 @@ const validateFramesPerLambda = (framesPerLambda) => {
21
21
  if (framesPerLambda % 1 !== 0) {
22
22
  throw new TypeError(`'framesPerLambda' needs to be an integer, passed ${framesPerLambda}`);
23
23
  }
24
- if (framesPerLambda < constants_1.MINIMUM_FRAMES_PER_LAMBDA) {
25
- throw new TypeError(`The framesPerLambda needs to be at least 4, but is ${framesPerLambda}`);
24
+ const effectiveMinimum = Math.min(constants_1.MINIMUM_FRAMES_PER_LAMBDA, durationInFrames);
25
+ if (framesPerLambda < effectiveMinimum) {
26
+ throw new TypeError(`The framesPerLambda needs to be at least ${effectiveMinimum}, but is ${framesPerLambda}`);
26
27
  }
27
28
  };
28
29
  exports.validateFramesPerLambda = validateFramesPerLambda;
@@ -0,0 +1,4 @@
1
+ declare const lambdaCodecs: readonly ["h264", "vp8", "vp9", "mp3", "aac", "wav", "gif", "prores"];
2
+ export declare type LambdaCodec = typeof lambdaCodecs[number];
3
+ export declare const validateLambdaCodec: (codec: unknown) => LambdaCodec;
4
+ export {};
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateLambdaCodec = void 0;
4
+ const lambdaCodecs = [
5
+ 'h264',
6
+ 'vp8',
7
+ 'vp9',
8
+ 'mp3',
9
+ 'aac',
10
+ 'wav',
11
+ 'gif',
12
+ 'prores',
13
+ ];
14
+ const validateLambdaCodec = (codec) => {
15
+ if (typeof codec !== 'string') {
16
+ throw new TypeError('"codec" must be a string ');
17
+ }
18
+ if (!lambdaCodecs.includes(codec)) {
19
+ throw new TypeError("'" +
20
+ codec +
21
+ "' is not a valid codec for Lambda. The following values are supported: " +
22
+ lambdaCodecs.join(', '));
23
+ }
24
+ if (codec === 'h264-mkv') {
25
+ console.warn('The "h264-mkv" codec for renderMediaOnLambda() is deprecated - it\'s now just "h264".');
26
+ return 'h264';
27
+ }
28
+ return codec;
29
+ };
30
+ exports.validateLambdaCodec = validateLambdaCodec;
File without changes
File without changes
@@ -1,2 +1,3 @@
1
- import type { OutNameInput } from './constants';
2
- export declare const validateOutname: (outName: OutNameInput | undefined | null) => void;
1
+ import type { AudioCodec, Codec } from '@remotion/renderer';
2
+ import type { OutNameInputWithoutCredentials } from './constants';
3
+ export declare const validateOutname: (outName: OutNameInputWithoutCredentials | undefined | null, codec: Codec | null, audioCodec: AudioCodec | null) => void;
@@ -1,22 +1,32 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateOutname = void 0;
4
+ const renderer_1 = require("@remotion/renderer");
4
5
  const validate_bucketname_1 = require("./validate-bucketname");
5
6
  const validateS3Key = (s3Key) => {
6
7
  if (typeof s3Key !== 'string') {
7
8
  throw new TypeError('The S3 key must be a string. Passed an object of type ' + typeof s3Key);
8
9
  }
9
- if (!s3Key.match(/^([0-9a-zA-Z-!_.*'()/]+)$/g)) {
10
- throw new Error("The S3 Key must match the RegExp `/([0-9a-zA-Z-!_.*'()/]+)/g`. You passed: " +
10
+ // https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-keys.html
11
+ if (!s3Key.match(/^([0-9a-zA-Z-!_.*'()/:&$@=;+,?]+)/g)) {
12
+ throw new Error("The S3 Key must match the RegExp `/^([0-9a-zA-Z-!_.*'()/:&$@=;+,?]+)/g`. You passed: " +
11
13
  s3Key +
12
14
  '. Check for invalid characters.');
13
15
  }
14
16
  };
15
- const validateOutname = (outName) => {
17
+ const validateOutname = (outName, codec, audioCodec) => {
16
18
  if (typeof outName === 'undefined' || outName === null) {
17
19
  return;
18
20
  }
19
21
  if (typeof outName === 'string') {
22
+ if (codec) {
23
+ (0, renderer_1.validateOutputFilename)({
24
+ codec,
25
+ audioCodec,
26
+ extension: renderer_1.RenderInternals.getExtensionOfFilename(outName),
27
+ preferLossless: false,
28
+ });
29
+ }
20
30
  validateS3Key(outName);
21
31
  return;
22
32
  }
@@ -1,3 +1 @@
1
- export declare const MAX_PRESIGN_EXPIRATION = 604800;
2
- export declare const MIN_PRESIGN_EXPIRATION = 1;
3
1
  export declare const validatePresignExpiration: (presignExpiration: unknown) => void;
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validatePresignExpiration = exports.MIN_PRESIGN_EXPIRATION = exports.MAX_PRESIGN_EXPIRATION = void 0;
4
- exports.MAX_PRESIGN_EXPIRATION = 604800;
5
- exports.MIN_PRESIGN_EXPIRATION = 1;
3
+ exports.validatePresignExpiration = void 0;
4
+ const MAX_PRESIGN_EXPIRATION = 604800;
5
+ const MIN_PRESIGN_EXPIRATION = 1;
6
6
  const validatePresignExpiration = (presignExpiration) => {
7
7
  if (typeof presignExpiration === 'undefined' || presignExpiration === null) {
8
8
  return;
@@ -19,11 +19,11 @@ const validatePresignExpiration = (presignExpiration) => {
19
19
  if (presignExpiration % 1 !== 0) {
20
20
  throw new TypeError(`'expiresIn' should be an integer but is ${JSON.stringify(presignExpiration)}`);
21
21
  }
22
- if (presignExpiration > exports.MAX_PRESIGN_EXPIRATION) {
23
- throw new TypeError(`The 'expiresIn' parameter must be less or equal than ${exports.MAX_PRESIGN_EXPIRATION} (7 days) as enforced by AWS`);
22
+ if (presignExpiration > MAX_PRESIGN_EXPIRATION) {
23
+ throw new TypeError(`The 'expiresIn' parameter must be less or equal than ${MAX_PRESIGN_EXPIRATION} (7 days) as enforced by AWS`);
24
24
  }
25
- if (presignExpiration < exports.MIN_PRESIGN_EXPIRATION) {
26
- throw new TypeError(`The 'expiresIn' parameter must be greater or equal than ${exports.MIN_PRESIGN_EXPIRATION}`);
25
+ if (presignExpiration < MIN_PRESIGN_EXPIRATION) {
26
+ throw new TypeError(`The 'expiresIn' parameter must be greater or equal than ${MIN_PRESIGN_EXPIRATION}`);
27
27
  }
28
28
  };
29
29
  exports.validatePresignExpiration = validatePresignExpiration;
File without changes
@@ -5,8 +5,8 @@ function validatePrivacy(privacy) {
5
5
  if (typeof privacy !== 'string') {
6
6
  throw new TypeError('Privacy must be a string');
7
7
  }
8
- if (privacy !== 'private' && privacy !== 'public') {
9
- throw new TypeError('Privacy must be either "private" or "public-read"');
8
+ if (privacy !== 'private' && privacy !== 'public' && privacy !== 'no-acl') {
9
+ throw new TypeError('Privacy must be either "private", "public-read" or "no-acl"');
10
10
  }
11
11
  }
12
12
  exports.validatePrivacy = validatePrivacy;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes