@remotion/lambda 4.0.0-reorg.8 → 4.0.0-retry.12

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 (367) 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 +0 -0
  4. package/dist/admin/make-layer-public.d.ts +0 -0
  5. package/dist/admin/make-layer-public.js +6 -6
  6. package/dist/api/bucket-exists.d.ts +0 -0
  7. package/dist/api/bucket-exists.js +1 -1
  8. package/dist/api/clean-items.d.ts +0 -0
  9. package/dist/api/clean-items.js +1 -1
  10. package/dist/api/create-bucket.d.ts +0 -0
  11. package/dist/api/create-bucket.js +1 -1
  12. package/dist/api/create-function.d.ts +0 -0
  13. package/dist/api/create-function.js +0 -0
  14. package/dist/api/delete-function.d.ts +0 -0
  15. package/dist/api/delete-function.js +0 -0
  16. package/dist/api/delete-render.d.ts +19 -0
  17. package/dist/api/delete-render.js +66 -0
  18. package/dist/api/delete-site.d.ts +0 -0
  19. package/dist/api/delete-site.js +0 -5
  20. package/dist/api/deploy-function.d.ts +0 -0
  21. package/dist/api/deploy-function.js +4 -2
  22. package/dist/api/deploy-site.d.ts +2 -0
  23. package/dist/api/deploy-site.js +2 -0
  24. package/dist/api/download-media.d.ts +13 -0
  25. package/dist/api/download-media.js +15 -3
  26. package/dist/api/enable-s3-website.d.ts +0 -0
  27. package/dist/api/enable-s3-website.js +1 -1
  28. package/dist/api/estimate-price.d.ts +0 -0
  29. package/dist/api/estimate-price.js +0 -0
  30. package/dist/api/get-aws-client.d.ts +4 -2
  31. package/dist/api/get-aws-client.js +7 -2
  32. package/dist/api/get-buckets.d.ts +0 -0
  33. package/dist/api/get-buckets.js +2 -2
  34. package/dist/api/get-function-info.d.ts +1 -2
  35. package/dist/api/get-function-info.js +0 -0
  36. package/dist/api/get-functions.d.ts +0 -0
  37. package/dist/api/get-functions.js +2 -1
  38. package/dist/api/get-or-create-bucket.d.ts +0 -0
  39. package/dist/api/get-or-create-bucket.js +0 -0
  40. package/dist/api/get-regions.d.ts +0 -0
  41. package/dist/api/get-regions.js +0 -0
  42. package/dist/api/get-render-progress.d.ts +4 -1
  43. package/dist/api/get-render-progress.js +5 -1
  44. package/dist/api/get-sites.d.ts +0 -0
  45. package/dist/api/get-sites.js +0 -0
  46. package/dist/api/iam-validation/role-permissions.d.ts +0 -0
  47. package/dist/api/iam-validation/role-permissions.js +0 -0
  48. package/dist/api/iam-validation/simulate-rule.d.ts +0 -0
  49. package/dist/api/iam-validation/simulate-rule.js +0 -0
  50. package/dist/api/iam-validation/simulate.d.ts +0 -0
  51. package/dist/api/iam-validation/simulate.js +0 -0
  52. package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
  53. package/dist/api/iam-validation/suggested-policy.js +0 -0
  54. package/dist/api/iam-validation/user-permissions.d.ts +0 -0
  55. package/dist/api/iam-validation/user-permissions.js +0 -0
  56. package/dist/api/mock-functions.d.ts +4 -5
  57. package/dist/api/mock-functions.js +0 -0
  58. package/dist/api/presign-url.d.ts +0 -0
  59. package/dist/api/presign-url.js +6 -1
  60. package/dist/api/render-media-on-lambda.d.ts +22 -10
  61. package/dist/api/render-media-on-lambda.js +77 -40
  62. package/dist/api/render-still-on-lambda.d.ts +6 -3
  63. package/dist/api/render-still-on-lambda.js +55 -29
  64. package/dist/api/upload-dir.d.ts +0 -0
  65. package/dist/api/upload-dir.js +6 -2
  66. package/dist/api/validate-webhook-signature.d.ts +13 -0
  67. package/dist/api/validate-webhook-signature.js +32 -0
  68. package/dist/cli/args.d.ts +4 -2
  69. package/dist/cli/args.js +1 -5
  70. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  71. package/dist/cli/commands/functions/deploy.js +2 -1
  72. package/dist/cli/commands/functions/index.d.ts +0 -0
  73. package/dist/cli/commands/functions/index.js +0 -0
  74. package/dist/cli/commands/functions/ls.d.ts +0 -0
  75. package/dist/cli/commands/functions/ls.js +0 -0
  76. package/dist/cli/commands/functions/rm.d.ts +0 -0
  77. package/dist/cli/commands/functions/rm.js +0 -0
  78. package/dist/cli/commands/functions/rmall.d.ts +0 -0
  79. package/dist/cli/commands/functions/rmall.js +0 -0
  80. package/dist/cli/commands/policies/policies.d.ts +0 -0
  81. package/dist/cli/commands/policies/policies.js +0 -0
  82. package/dist/cli/commands/policies/role.d.ts +0 -0
  83. package/dist/cli/commands/policies/role.js +0 -0
  84. package/dist/cli/commands/policies/user.d.ts +0 -0
  85. package/dist/cli/commands/policies/user.js +0 -0
  86. package/dist/cli/commands/policies/validate.d.ts +0 -0
  87. package/dist/cli/commands/policies/validate.js +0 -0
  88. package/dist/cli/commands/quotas/increase.d.ts +0 -0
  89. package/dist/cli/commands/quotas/increase.js +0 -0
  90. package/dist/cli/commands/quotas/index.d.ts +0 -0
  91. package/dist/cli/commands/quotas/index.js +0 -0
  92. package/dist/cli/commands/quotas/list.d.ts +0 -0
  93. package/dist/cli/commands/quotas/list.js +0 -0
  94. package/dist/cli/commands/regions.d.ts +0 -0
  95. package/dist/cli/commands/regions.js +0 -0
  96. package/dist/cli/commands/render/progress.d.ts +0 -0
  97. package/dist/cli/commands/render/progress.js +0 -0
  98. package/dist/cli/commands/render/render.d.ts +0 -0
  99. package/dist/cli/commands/render/render.js +38 -22
  100. package/dist/cli/commands/sites/create.d.ts +1 -1
  101. package/dist/cli/commands/sites/create.js +6 -4
  102. package/dist/cli/commands/sites/index.d.ts +1 -1
  103. package/dist/cli/commands/sites/index.js +2 -2
  104. package/dist/cli/commands/sites/ls.d.ts +0 -0
  105. package/dist/cli/commands/sites/ls.js +0 -0
  106. package/dist/cli/commands/sites/rm.d.ts +0 -0
  107. package/dist/cli/commands/sites/rm.js +0 -0
  108. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  109. package/dist/cli/commands/sites/rmall.js +0 -0
  110. package/dist/cli/commands/still.d.ts +0 -0
  111. package/dist/cli/commands/still.js +35 -24
  112. package/dist/cli/get-aws-region.d.ts +0 -0
  113. package/dist/cli/get-aws-region.js +2 -1
  114. package/dist/cli/help.d.ts +0 -0
  115. package/dist/cli/help.js +0 -0
  116. package/dist/cli/helpers/confirm.d.ts +0 -0
  117. package/dist/cli/helpers/confirm.js +0 -0
  118. package/dist/cli/helpers/date-string.d.ts +0 -0
  119. package/dist/cli/helpers/date-string.js +0 -0
  120. package/dist/cli/helpers/find-function-name.d.ts +0 -0
  121. package/dist/cli/helpers/find-function-name.js +3 -2
  122. package/dist/cli/helpers/progress-bar.d.ts +0 -0
  123. package/dist/cli/helpers/progress-bar.js +0 -0
  124. package/dist/cli/helpers/quit.d.ts +0 -0
  125. package/dist/cli/helpers/quit.js +0 -0
  126. package/dist/cli/helpers/yes-or-no.d.ts +0 -0
  127. package/dist/cli/helpers/yes-or-no.js +0 -0
  128. package/dist/cli/index.d.ts +1 -1
  129. package/dist/cli/index.js +7 -6
  130. package/dist/cli/is-cli.d.ts +0 -0
  131. package/dist/cli/is-cli.js +0 -0
  132. package/dist/cli/log.d.ts +0 -0
  133. package/dist/cli/log.js +0 -0
  134. package/dist/client.d.ts +4 -2
  135. package/dist/client.js +3 -1
  136. package/dist/defaults.d.ts +0 -0
  137. package/dist/defaults.js +0 -0
  138. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +2 -9
  139. package/dist/functions/chunk-optimization/plan-frame-ranges.js +1 -14
  140. package/dist/functions/chunk-optimization/types.d.ts +0 -12
  141. package/dist/functions/chunk-optimization/types.js +0 -0
  142. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  143. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  144. package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
  145. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  146. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +0 -0
  147. package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
  148. package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
  149. package/dist/functions/helpers/check-if-render-exists.js +14 -0
  150. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  151. package/dist/functions/helpers/clean-tmpdir.js +1 -1
  152. package/dist/functions/helpers/concat-videos.d.ts +3 -1
  153. package/dist/functions/helpers/concat-videos.js +25 -9
  154. package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
  155. package/dist/functions/helpers/create-post-render-data.js +7 -2
  156. package/dist/functions/helpers/delete-chunks.d.ts +0 -0
  157. package/dist/functions/helpers/delete-chunks.js +0 -0
  158. package/dist/functions/helpers/expected-out-name.d.ts +4 -2
  159. package/dist/functions/helpers/expected-out-name.js +26 -5
  160. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +3 -1
  161. package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
  162. package/dist/functions/helpers/format-costs-info.d.ts +0 -0
  163. package/dist/functions/helpers/format-costs-info.js +0 -0
  164. package/dist/functions/helpers/get-browser-instance.d.ts +0 -0
  165. package/dist/functions/helpers/get-browser-instance.js +0 -0
  166. package/dist/functions/helpers/get-chromium-executable-path.d.ts +0 -0
  167. package/dist/functions/helpers/get-chromium-executable-path.js +0 -0
  168. package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
  169. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  170. package/dist/functions/helpers/get-current-architecture.d.ts +0 -0
  171. package/dist/functions/helpers/get-current-architecture.js +0 -0
  172. package/dist/functions/helpers/get-current-region.d.ts +0 -0
  173. package/dist/functions/helpers/get-current-region.js +0 -0
  174. package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
  175. package/dist/functions/helpers/get-custom-out-name.js +31 -0
  176. package/dist/functions/helpers/get-encoding-metadata.d.ts +0 -0
  177. package/dist/functions/helpers/get-encoding-metadata.js +0 -0
  178. package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
  179. package/dist/functions/helpers/get-files-in-folder.js +0 -0
  180. package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
  181. package/dist/functions/helpers/get-files-to-delete.js +1 -1
  182. package/dist/functions/helpers/get-final-encoding-status.d.ts +0 -0
  183. package/dist/functions/helpers/get-final-encoding-status.js +0 -0
  184. package/dist/functions/helpers/get-folder-size.d.ts +0 -0
  185. package/dist/functions/helpers/get-folder-size.js +0 -0
  186. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +7 -2
  187. package/dist/functions/helpers/get-lambdas-invoked-stats.js +8 -8
  188. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +2 -1
  189. package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
  190. package/dist/functions/helpers/get-overall-progress.d.ts +0 -0
  191. package/dist/functions/helpers/get-overall-progress.js +0 -0
  192. package/dist/functions/helpers/get-post-render-data.d.ts +0 -0
  193. package/dist/functions/helpers/get-post-render-data.js +0 -0
  194. package/dist/functions/helpers/get-progress.d.ts +4 -2
  195. package/dist/functions/helpers/get-progress.js +20 -7
  196. package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
  197. package/dist/functions/helpers/get-render-metadata.js +0 -0
  198. package/dist/functions/helpers/get-retry-stats.d.ts +0 -0
  199. package/dist/functions/helpers/get-retry-stats.js +1 -1
  200. package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
  201. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  202. package/dist/functions/helpers/inspect-errors.d.ts +0 -0
  203. package/dist/functions/helpers/inspect-errors.js +0 -0
  204. package/dist/functions/helpers/io.d.ts +17 -1
  205. package/dist/functions/helpers/io.js +29 -8
  206. package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
  207. package/dist/functions/helpers/is-enosp-err.js +0 -0
  208. package/dist/functions/helpers/is-warm.d.ts +0 -0
  209. package/dist/functions/helpers/is-warm.js +0 -0
  210. package/dist/functions/helpers/min-max.d.ts +1 -1
  211. package/dist/functions/helpers/min-max.js +1 -1
  212. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +1 -1
  213. package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
  214. package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
  215. package/dist/functions/helpers/print-concurrency-curve.js +0 -0
  216. package/dist/functions/helpers/read-with-progress.d.ts +3 -1
  217. package/dist/functions/helpers/read-with-progress.js +3 -3
  218. package/dist/functions/helpers/timer.d.ts +0 -0
  219. package/dist/functions/helpers/timer.js +0 -0
  220. package/dist/functions/helpers/validate-composition.d.ts +5 -2
  221. package/dist/functions/helpers/validate-composition.js +7 -2
  222. package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
  223. package/dist/functions/helpers/write-lambda-error.js +1 -0
  224. package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
  225. package/dist/functions/helpers/write-post-render-data.js +1 -0
  226. package/dist/functions/index.d.ts +0 -0
  227. package/dist/functions/index.js +16 -6
  228. package/dist/functions/info.d.ts +2 -2
  229. package/dist/functions/info.js +2 -1
  230. package/dist/functions/launch.d.ts +1 -0
  231. package/dist/functions/launch.js +272 -79
  232. package/dist/functions/progress.d.ts +1 -1
  233. package/dist/functions/progress.js +10 -1
  234. package/dist/functions/renderer.d.ts +0 -0
  235. package/dist/functions/renderer.js +123 -73
  236. package/dist/functions/start.d.ts +5 -1
  237. package/dist/functions/start.js +27 -1
  238. package/dist/functions/still.d.ts +0 -0
  239. package/dist/functions/still.js +42 -8
  240. package/dist/index.d.ts +8 -2
  241. package/dist/index.js +5 -1
  242. package/dist/internals.d.ts +1 -1
  243. package/dist/internals.js +0 -0
  244. package/dist/pricing/aws-regions.d.ts +0 -0
  245. package/dist/pricing/aws-regions.js +0 -0
  246. package/dist/pricing/price-per-1-s.d.ts +0 -0
  247. package/dist/pricing/price-per-1-s.js +0 -0
  248. package/dist/regions.d.ts +0 -0
  249. package/dist/regions.js +0 -0
  250. package/dist/shared/await.d.ts +0 -0
  251. package/dist/shared/await.js +0 -0
  252. package/dist/shared/aws-clients.d.ts +13 -2
  253. package/dist/shared/aws-clients.js +56 -26
  254. package/dist/shared/bundle-site.d.ts +2 -1
  255. package/dist/shared/bundle-site.js +0 -0
  256. package/dist/shared/call-lambda.d.ts +0 -0
  257. package/dist/shared/call-lambda.js +0 -0
  258. package/dist/shared/check-credentials.d.ts +0 -0
  259. package/dist/shared/check-credentials.js +0 -0
  260. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  261. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  262. package/dist/shared/constants.d.ts +57 -15
  263. package/dist/shared/constants.js +19 -10
  264. package/dist/shared/content-disposition-header.d.ts +0 -0
  265. package/dist/shared/content-disposition-header.js +0 -0
  266. package/dist/shared/convert-to-serve-url.d.ts +0 -0
  267. package/dist/shared/convert-to-serve-url.js +0 -0
  268. package/dist/shared/deserialize-input-props.d.ts +8 -0
  269. package/dist/shared/deserialize-input-props.js +26 -0
  270. package/dist/shared/docs-url.d.ts +0 -0
  271. package/dist/shared/docs-url.js +0 -0
  272. package/dist/shared/function-zip-path.d.ts +0 -0
  273. package/dist/shared/function-zip-path.js +0 -0
  274. package/dist/shared/get-account-id.d.ts +0 -0
  275. package/dist/shared/get-account-id.js +0 -0
  276. package/dist/{cli/helpers → shared}/get-cloudwatch-stream-url.d.ts +2 -2
  277. package/dist/{cli/helpers → shared}/get-cloudwatch-stream-url.js +0 -0
  278. package/dist/shared/get-function-version.d.ts +1 -2
  279. package/dist/shared/get-function-version.js +0 -0
  280. package/dist/shared/get-most-expensive-chunks.d.ts +0 -0
  281. package/dist/shared/get-most-expensive-chunks.js +0 -0
  282. package/dist/shared/hosted-layers.d.ts +0 -0
  283. package/dist/shared/hosted-layers.js +60 -60
  284. package/dist/shared/invoke-webhook.d.ts +44 -0
  285. package/dist/shared/invoke-webhook.js +89 -0
  286. package/dist/shared/is-in-lambda.d.ts +0 -0
  287. package/dist/shared/is-in-lambda.js +5 -1
  288. package/dist/shared/lambda-version-string.d.ts +1 -0
  289. package/dist/shared/lambda-version-string.js +7 -0
  290. package/dist/shared/make-s3-key.d.ts +0 -0
  291. package/dist/shared/make-s3-key.js +0 -0
  292. package/dist/shared/make-s3-url.d.ts +0 -0
  293. package/dist/shared/make-s3-url.js +0 -0
  294. package/dist/shared/p-limit.d.ts +0 -0
  295. package/dist/shared/p-limit.js +0 -0
  296. package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
  297. package/dist/shared/parse-lambda-initialized-key.js +0 -0
  298. package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
  299. package/dist/shared/parse-lambda-timings-key.js +0 -0
  300. package/dist/shared/random-hash.d.ts +0 -0
  301. package/dist/shared/random-hash.js +0 -0
  302. package/dist/shared/return-values.d.ts +0 -0
  303. package/dist/shared/return-values.js +0 -0
  304. package/dist/shared/serialize-input-props.d.ts +7 -0
  305. package/dist/shared/serialize-input-props.js +42 -0
  306. package/dist/shared/sleep.d.ts +0 -0
  307. package/dist/shared/sleep.js +0 -0
  308. package/dist/shared/stream-to-string.d.ts +0 -0
  309. package/dist/shared/stream-to-string.js +0 -0
  310. package/dist/shared/truthy.d.ts +0 -0
  311. package/dist/shared/truthy.js +0 -0
  312. package/dist/shared/validate-architecture.d.ts +0 -0
  313. package/dist/shared/validate-architecture.js +0 -0
  314. package/dist/shared/validate-aws-region.d.ts +0 -0
  315. package/dist/shared/validate-aws-region.js +0 -0
  316. package/dist/shared/validate-bucketname.d.ts +0 -0
  317. package/dist/shared/validate-bucketname.js +0 -0
  318. package/dist/shared/validate-custom-role-arn.d.ts +0 -0
  319. package/dist/shared/validate-custom-role-arn.js +0 -0
  320. package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
  321. package/dist/shared/validate-disk-size-in-mb.js +0 -0
  322. package/dist/shared/validate-download-behavior.d.ts +0 -0
  323. package/dist/shared/validate-download-behavior.js +0 -0
  324. package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
  325. package/dist/shared/validate-frames-per-lambda.js +4 -3
  326. package/dist/shared/validate-lambda-codec.d.ts +1 -1
  327. package/dist/shared/validate-lambda-codec.js +1 -0
  328. package/dist/shared/validate-memory-size.d.ts +0 -0
  329. package/dist/shared/validate-memory-size.js +0 -0
  330. package/dist/shared/validate-outname.d.ts +3 -2
  331. package/dist/shared/validate-outname.js +5 -1
  332. package/dist/shared/validate-presign-expiration.d.ts +0 -0
  333. package/dist/shared/validate-presign-expiration.js +0 -0
  334. package/dist/shared/validate-privacy.d.ts +0 -0
  335. package/dist/shared/validate-privacy.js +2 -2
  336. package/dist/shared/validate-retention-period.d.ts +0 -0
  337. package/dist/shared/validate-retention-period.js +0 -0
  338. package/dist/shared/validate-retries.d.ts +0 -0
  339. package/dist/shared/validate-retries.js +0 -0
  340. package/dist/shared/validate-serveurl.d.ts +0 -0
  341. package/dist/shared/validate-serveurl.js +0 -0
  342. package/dist/shared/validate-site-name.d.ts +0 -0
  343. package/dist/shared/validate-site-name.js +0 -0
  344. package/dist/shared/validate-timeout.d.ts +0 -0
  345. package/dist/shared/validate-timeout.js +0 -0
  346. package/package.json +20 -23
  347. package/remotionlambda.zip +0 -0
  348. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
  349. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
  350. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
  351. package/dist/functions/chunk-optimization/collect-data.js +0 -27
  352. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
  353. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
  354. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
  355. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
  356. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
  357. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
  358. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
  359. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
  360. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
  361. package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
  362. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
  363. package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -46
  364. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
  365. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
  366. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
  367. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
@@ -19,7 +19,7 @@ const validate_presign_expiration_1 = require("../shared/validate-presign-expira
19
19
  const presignUrl = async ({ region, bucketName, objectKey, checkIfObjectExists = false, expiresInSeconds, }) => {
20
20
  (0, validate_bucketname_1.validateBucketName)(bucketName, { mustStartWithRemotion: false });
21
21
  (0, validate_presign_expiration_1.validatePresignExpiration)(expiresInSeconds);
22
- const s3Client = (0, aws_clients_1.getS3Client)(region);
22
+ const s3Client = (0, aws_clients_1.getS3Client)(region, null);
23
23
  if (checkIfObjectExists) {
24
24
  try {
25
25
  await s3Client.send(new client_s3_1.HeadObjectCommand({
@@ -31,6 +31,11 @@ const presignUrl = async ({ region, bucketName, objectKey, checkIfObjectExists =
31
31
  if (err.name === 'NotFound') {
32
32
  return null;
33
33
  }
34
+ if (err.message === 'UnknownError' ||
35
+ err.$metadata
36
+ .httpStatusCode === 403) {
37
+ throw new Error(`Unable to access item "${objectKey}" from bucket "${bucketName}". You must have permission for both "s3:GetObject" and "s3:ListBucket" actions.`);
38
+ }
34
39
  throw err;
35
40
  }
36
41
  }
@@ -8,16 +8,16 @@ export declare type RenderMediaOnLambdaInput = {
8
8
  functionName: string;
9
9
  serveUrl: string;
10
10
  composition: string;
11
- inputProps: unknown;
11
+ inputProps?: unknown;
12
12
  codec: LambdaCodec;
13
- imageFormat: ImageFormat;
13
+ imageFormat?: ImageFormat;
14
14
  crf?: number | undefined;
15
15
  envVariables?: Record<string, string>;
16
16
  pixelFormat?: PixelFormat;
17
17
  proResProfile?: ProResProfile;
18
- privacy: Privacy;
18
+ privacy?: Privacy;
19
19
  quality?: number;
20
- maxRetries: number;
20
+ maxRetries?: number;
21
21
  framesPerLambda?: number;
22
22
  logLevel?: LogLevel;
23
23
  frameRange?: FrameRange;
@@ -29,10 +29,21 @@ export declare type RenderMediaOnLambdaInput = {
29
29
  numberOfGifLoops?: number | null;
30
30
  concurrencyPerLambda?: number;
31
31
  downloadBehavior?: DownloadBehavior | null;
32
+ muted?: boolean;
33
+ overwrite?: boolean;
34
+ audioBitrate?: string | null;
35
+ videoBitrate?: string | null;
36
+ webhook?: {
37
+ url: string;
38
+ secret: string | null;
39
+ };
40
+ forceWidth?: number | null;
41
+ forceHeight?: number | null;
32
42
  };
33
43
  export declare type RenderMediaOnLambdaOutput = {
34
44
  renderId: string;
35
45
  bucketName: string;
46
+ cloudWatchLogs: string;
36
47
  };
37
48
  /**
38
49
  * @description Triggers a render on a lambda given a composition and a lambda function.
@@ -41,19 +52,20 @@ export declare type RenderMediaOnLambdaOutput = {
41
52
  * @param params.serveUrl The URL of the deployed project
42
53
  * @param params.composition The ID of the composition which should be rendered.
43
54
  * @param params.inputProps The input props that should be passed to the composition.
44
- * @param params.codec The video codec which should be used for encoding.
45
- * @param params.imageFormat In which image format the frames should be rendered.
55
+ * @param params.codec The media codec which should be used for encoding.
56
+ * @param params.imageFormat In which image format the frames should be rendered. Default "jpeg"
46
57
  * @param params.crf The constant rate factor to be used during encoding.
47
58
  * @param params.envVariables Object containing environment variables to be inserted into the video environment
48
59
  * @param params.proResProfile The ProRes profile if rendering a ProRes video
49
60
  * @param params.quality JPEG quality if JPEG was selected as the image format.
50
- * @param params.region The AWS region in which the video should be rendered.
51
- * @param params.maxRetries How often rendering a chunk may fail before the video render gets aborted.
61
+ * @param params.region The AWS region in which the media should be rendered.
62
+ * @param params.maxRetries How often rendering a chunk may fail before the media render gets aborted. Default "1"
52
63
  * @param params.logLevel Level of logging that Lambda function should perform. Default "info".
64
+ * @param params.webhook Configuration for webhook called upon completion or timeout of the render.
53
65
  * @returns {Promise<RenderMediaOnLambdaOutput>} See documentation for detailed structure
54
66
  */
55
- export declare const renderMediaOnLambda: ({ functionName, serveUrl, inputProps, codec, imageFormat, crf, envVariables, pixelFormat, proResProfile, quality, region, maxRetries, composition, framesPerLambda, privacy, logLevel, frameRange, outName, timeoutInMilliseconds, chromiumOptions, scale, numberOfGifLoops, everyNthFrame, concurrencyPerLambda, downloadBehavior, }: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
67
+ export declare const renderMediaOnLambda: ({ functionName, serveUrl, inputProps, codec, imageFormat, crf, envVariables, pixelFormat, proResProfile, quality, region, maxRetries, composition, framesPerLambda, privacy, logLevel, frameRange, outName, timeoutInMilliseconds, chromiumOptions, scale, numberOfGifLoops, everyNthFrame, concurrencyPerLambda, downloadBehavior, muted, overwrite, audioBitrate, videoBitrate, webhook, forceHeight, forceWidth, }: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
56
68
  /**
57
69
  * @deprecated Renamed to renderMediaOnLambda()
58
70
  */
59
- export declare const renderVideoOnLambda: ({ functionName, serveUrl, inputProps, codec, imageFormat, crf, envVariables, pixelFormat, proResProfile, quality, region, maxRetries, composition, framesPerLambda, privacy, logLevel, frameRange, outName, timeoutInMilliseconds, chromiumOptions, scale, numberOfGifLoops, everyNthFrame, concurrencyPerLambda, downloadBehavior, }: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
71
+ export declare const renderVideoOnLambda: ({ functionName, serveUrl, inputProps, codec, imageFormat, crf, envVariables, pixelFormat, proResProfile, quality, region, maxRetries, composition, framesPerLambda, privacy, logLevel, frameRange, outName, timeoutInMilliseconds, chromiumOptions, scale, numberOfGifLoops, everyNthFrame, concurrencyPerLambda, downloadBehavior, muted, overwrite, audioBitrate, videoBitrate, webhook, forceHeight, forceWidth, }: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderVideoOnLambda = exports.renderMediaOnLambda = void 0;
4
+ const version_1 = require("remotion/version");
4
5
  const call_lambda_1 = require("../shared/call-lambda");
5
6
  const constants_1 = require("../shared/constants");
6
7
  const convert_to_serve_url_1 = require("../shared/convert-to-serve-url");
8
+ const get_cloudwatch_stream_url_1 = require("../shared/get-cloudwatch-stream-url");
9
+ const serialize_input_props_1 = require("../shared/serialize-input-props");
7
10
  const validate_download_behavior_1 = require("../shared/validate-download-behavior");
8
11
  const validate_frames_per_lambda_1 = require("../shared/validate-frames-per-lambda");
9
12
  const validate_lambda_codec_1 = require("../shared/validate-lambda-codec");
@@ -15,57 +18,91 @@ const validate_serveurl_1 = require("../shared/validate-serveurl");
15
18
  * @param params.serveUrl The URL of the deployed project
16
19
  * @param params.composition The ID of the composition which should be rendered.
17
20
  * @param params.inputProps The input props that should be passed to the composition.
18
- * @param params.codec The video codec which should be used for encoding.
19
- * @param params.imageFormat In which image format the frames should be rendered.
21
+ * @param params.codec The media codec which should be used for encoding.
22
+ * @param params.imageFormat In which image format the frames should be rendered. Default "jpeg"
20
23
  * @param params.crf The constant rate factor to be used during encoding.
21
24
  * @param params.envVariables Object containing environment variables to be inserted into the video environment
22
25
  * @param params.proResProfile The ProRes profile if rendering a ProRes video
23
26
  * @param params.quality JPEG quality if JPEG was selected as the image format.
24
- * @param params.region The AWS region in which the video should be rendered.
25
- * @param params.maxRetries How often rendering a chunk may fail before the video render gets aborted.
27
+ * @param params.region The AWS region in which the media should be rendered.
28
+ * @param params.maxRetries How often rendering a chunk may fail before the media render gets aborted. Default "1"
26
29
  * @param params.logLevel Level of logging that Lambda function should perform. Default "info".
30
+ * @param params.webhook Configuration for webhook called upon completion or timeout of the render.
27
31
  * @returns {Promise<RenderMediaOnLambdaOutput>} See documentation for detailed structure
28
32
  */
29
- const renderMediaOnLambda = async ({ functionName, serveUrl, inputProps, codec, imageFormat, crf, envVariables, pixelFormat, proResProfile, quality, region, maxRetries, composition, framesPerLambda, privacy, logLevel, frameRange, outName, timeoutInMilliseconds, chromiumOptions, scale, numberOfGifLoops, everyNthFrame, concurrencyPerLambda, downloadBehavior, }) => {
33
+ const renderMediaOnLambda = async ({ functionName, serveUrl, inputProps, codec, imageFormat, crf, envVariables, pixelFormat, proResProfile, quality, region, maxRetries, composition, framesPerLambda, privacy, logLevel, frameRange, outName, timeoutInMilliseconds, chromiumOptions, scale, numberOfGifLoops, everyNthFrame, concurrencyPerLambda, downloadBehavior, muted, overwrite, audioBitrate, videoBitrate, webhook, forceHeight, forceWidth, }) => {
34
+ var _a;
30
35
  const actualCodec = (0, validate_lambda_codec_1.validateLambdaCodec)(codec);
31
36
  (0, validate_serveurl_1.validateServeUrl)(serveUrl);
32
- (0, validate_frames_per_lambda_1.validateFramesPerLambda)(framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null);
37
+ (0, validate_frames_per_lambda_1.validateFramesPerLambda)({
38
+ framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
39
+ durationInFrames: 1,
40
+ });
33
41
  (0, validate_download_behavior_1.validateDownloadBehavior)(downloadBehavior);
34
- const realServeUrl = await (0, convert_to_serve_url_1.convertToServeUrl)(serveUrl, region);
35
- const res = await (0, call_lambda_1.callLambda)({
36
- functionName,
37
- type: constants_1.LambdaRoutines.start,
38
- payload: {
39
- framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
40
- composition,
41
- serveUrl: realServeUrl,
42
+ const [realServeUrl, serializedInputProps] = await Promise.all([
43
+ (0, convert_to_serve_url_1.convertToServeUrl)(serveUrl, region),
44
+ (0, serialize_input_props_1.serializeInputProps)({
42
45
  inputProps,
43
- codec: actualCodec,
44
- imageFormat,
45
- crf,
46
- envVariables,
47
- pixelFormat,
48
- proResProfile,
49
- quality,
50
- maxRetries,
51
- privacy,
52
- logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
53
- frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
54
- outName: outName !== null && outName !== void 0 ? outName : null,
55
- timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
56
- chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
57
- scale: scale !== null && scale !== void 0 ? scale : 1,
58
- everyNthFrame: everyNthFrame !== null && everyNthFrame !== void 0 ? everyNthFrame : 1,
59
- numberOfGifLoops: numberOfGifLoops !== null && numberOfGifLoops !== void 0 ? numberOfGifLoops : 0,
60
- concurrencyPerLambda: concurrencyPerLambda !== null && concurrencyPerLambda !== void 0 ? concurrencyPerLambda : 1,
61
- downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
62
- },
63
- region,
64
- });
65
- return {
66
- renderId: res.renderId,
67
- bucketName: res.bucketName,
68
- };
46
+ region,
47
+ type: 'video-or-audio',
48
+ }),
49
+ ]);
50
+ try {
51
+ const res = await (0, call_lambda_1.callLambda)({
52
+ functionName,
53
+ type: constants_1.LambdaRoutines.start,
54
+ payload: {
55
+ framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
56
+ composition,
57
+ serveUrl: realServeUrl,
58
+ inputProps: serializedInputProps,
59
+ codec: actualCodec,
60
+ imageFormat: imageFormat !== null && imageFormat !== void 0 ? imageFormat : 'jpeg',
61
+ crf,
62
+ envVariables,
63
+ pixelFormat,
64
+ proResProfile,
65
+ quality,
66
+ maxRetries: maxRetries !== null && maxRetries !== void 0 ? maxRetries : 1,
67
+ privacy: privacy !== null && privacy !== void 0 ? privacy : 'public',
68
+ logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
69
+ frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
70
+ outName: outName !== null && outName !== void 0 ? outName : null,
71
+ timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
72
+ chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
73
+ scale: scale !== null && scale !== void 0 ? scale : 1,
74
+ everyNthFrame: everyNthFrame !== null && everyNthFrame !== void 0 ? everyNthFrame : 1,
75
+ numberOfGifLoops: numberOfGifLoops !== null && numberOfGifLoops !== void 0 ? numberOfGifLoops : 0,
76
+ concurrencyPerLambda: concurrencyPerLambda !== null && concurrencyPerLambda !== void 0 ? concurrencyPerLambda : 1,
77
+ downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
78
+ muted: muted !== null && muted !== void 0 ? muted : false,
79
+ version: version_1.VERSION,
80
+ overwrite: overwrite !== null && overwrite !== void 0 ? overwrite : false,
81
+ audioBitrate: audioBitrate !== null && audioBitrate !== void 0 ? audioBitrate : null,
82
+ videoBitrate: videoBitrate !== null && videoBitrate !== void 0 ? videoBitrate : null,
83
+ webhook: webhook !== null && webhook !== void 0 ? webhook : null,
84
+ forceHeight: forceHeight !== null && forceHeight !== void 0 ? forceHeight : null,
85
+ forceWidth: forceWidth !== null && forceWidth !== void 0 ? forceWidth : null,
86
+ },
87
+ region,
88
+ });
89
+ return {
90
+ renderId: res.renderId,
91
+ bucketName: res.bucketName,
92
+ cloudWatchLogs: (0, get_cloudwatch_stream_url_1.getCloudwatchStreamUrl)({
93
+ functionName,
94
+ method: constants_1.LambdaRoutines.renderer,
95
+ region,
96
+ renderId: res.renderId,
97
+ }),
98
+ };
99
+ }
100
+ catch (err) {
101
+ if ((_a = err.stack) === null || _a === void 0 ? void 0 : _a.includes('UnrecognizedClientException')) {
102
+ throw new Error('UnrecognizedClientException: The AWS credentials provided were probably mixed up. Learn how to fix this issue here: https://remotion.dev/docs/lambda/troubleshooting/unrecognizedclientexception');
103
+ }
104
+ throw err;
105
+ }
69
106
  };
70
107
  exports.renderMediaOnLambda = renderMediaOnLambda;
71
108
  /**
@@ -1,6 +1,6 @@
1
1
  import type { ChromiumOptions, LogLevel, StillImageFormat } from '@remotion/renderer';
2
2
  import type { AwsRegion } from '../pricing/aws-regions';
3
- import type { CostsInfo, OutNameInput } from '../shared/constants';
3
+ import type { CostsInfo, OutNameInput, Privacy } from '../shared/constants';
4
4
  import type { DownloadBehavior } from '../shared/content-disposition-header';
5
5
  export declare type RenderStillOnLambdaInput = {
6
6
  region: AwsRegion;
@@ -9,7 +9,7 @@ export declare type RenderStillOnLambdaInput = {
9
9
  composition: string;
10
10
  inputProps: unknown;
11
11
  imageFormat: StillImageFormat;
12
- privacy: 'private' | 'public';
12
+ privacy: Privacy;
13
13
  maxRetries?: number;
14
14
  envVariables?: Record<string, string>;
15
15
  quality?: number;
@@ -20,6 +20,8 @@ export declare type RenderStillOnLambdaInput = {
20
20
  chromiumOptions?: ChromiumOptions;
21
21
  scale?: number;
22
22
  downloadBehavior?: DownloadBehavior;
23
+ forceWidth?: number | null;
24
+ forceHeight?: number | null;
23
25
  };
24
26
  export declare type RenderStillOnLambdaOutput = {
25
27
  estimatedPrice: CostsInfo;
@@ -27,6 +29,7 @@ export declare type RenderStillOnLambdaOutput = {
27
29
  sizeInBytes: number;
28
30
  bucketName: string;
29
31
  renderId: string;
32
+ cloudWatchLogs: string;
30
33
  };
31
34
  /**
32
35
  * @description Renders a still frame on Lambda
@@ -44,4 +47,4 @@ export declare type RenderStillOnLambdaOutput = {
44
47
  * @param params.privacy Whether the item in the S3 bucket should be public. Possible values: `"private"` and `"public"`
45
48
  * @returns {Promise<RenderStillOnLambdaOutput>} See documentation for exact response structure.
46
49
  */
47
- export declare const renderStillOnLambda: ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, }: RenderStillOnLambdaInput) => Promise<RenderStillOnLambdaOutput>;
50
+ export declare const renderStillOnLambda: ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, forceHeight, forceWidth, }: RenderStillOnLambdaInput) => Promise<RenderStillOnLambdaOutput>;
@@ -1,9 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.renderStillOnLambda = void 0;
4
+ const version_1 = require("remotion/version");
4
5
  const call_lambda_1 = require("../shared/call-lambda");
5
6
  const constants_1 = require("../shared/constants");
6
7
  const convert_to_serve_url_1 = require("../shared/convert-to-serve-url");
8
+ const get_cloudwatch_stream_url_1 = require("../shared/get-cloudwatch-stream-url");
9
+ const serialize_input_props_1 = require("../shared/serialize-input-props");
7
10
  /**
8
11
  * @description Renders a still frame on Lambda
9
12
  * @link https://remotion.dev/docs/lambda/renderstillonlambda
@@ -20,37 +23,60 @@ const convert_to_serve_url_1 = require("../shared/convert-to-serve-url");
20
23
  * @param params.privacy Whether the item in the S3 bucket should be public. Possible values: `"private"` and `"public"`
21
24
  * @returns {Promise<RenderStillOnLambdaOutput>} See documentation for exact response structure.
22
25
  */
23
- const renderStillOnLambda = async ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, }) => {
26
+ const renderStillOnLambda = async ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, forceHeight, forceWidth, }) => {
27
+ var _a;
24
28
  const realServeUrl = await (0, convert_to_serve_url_1.convertToServeUrl)(serveUrl, region);
25
- const res = await (0, call_lambda_1.callLambda)({
26
- functionName,
27
- type: constants_1.LambdaRoutines.still,
28
- payload: {
29
- composition,
30
- serveUrl: realServeUrl,
31
- inputProps,
32
- imageFormat,
33
- envVariables,
34
- quality,
35
- maxRetries: maxRetries !== null && maxRetries !== void 0 ? maxRetries : constants_1.DEFAULT_MAX_RETRIES,
36
- frame: frame !== null && frame !== void 0 ? frame : 0,
37
- privacy,
38
- attempt: 1,
39
- logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
40
- outName: outName !== null && outName !== void 0 ? outName : null,
41
- timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
42
- chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
43
- scale: scale !== null && scale !== void 0 ? scale : 1,
44
- downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
45
- },
29
+ const serializedInputProps = await (0, serialize_input_props_1.serializeInputProps)({
30
+ inputProps,
46
31
  region,
32
+ type: 'still',
47
33
  });
48
- return {
49
- estimatedPrice: res.estimatedPrice,
50
- url: res.output,
51
- sizeInBytes: res.size,
52
- bucketName: res.bucketName,
53
- renderId: res.renderId,
54
- };
34
+ try {
35
+ const res = await (0, call_lambda_1.callLambda)({
36
+ functionName,
37
+ type: constants_1.LambdaRoutines.still,
38
+ payload: {
39
+ composition,
40
+ serveUrl: realServeUrl,
41
+ inputProps: serializedInputProps,
42
+ imageFormat,
43
+ envVariables,
44
+ quality,
45
+ maxRetries: maxRetries !== null && maxRetries !== void 0 ? maxRetries : constants_1.DEFAULT_MAX_RETRIES,
46
+ frame: frame !== null && frame !== void 0 ? frame : 0,
47
+ privacy,
48
+ attempt: 1,
49
+ logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
50
+ outName: outName !== null && outName !== void 0 ? outName : null,
51
+ timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
52
+ chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
53
+ scale: scale !== null && scale !== void 0 ? scale : 1,
54
+ downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
55
+ version: version_1.VERSION,
56
+ forceHeight: forceHeight !== null && forceHeight !== void 0 ? forceHeight : null,
57
+ forceWidth: forceWidth !== null && forceWidth !== void 0 ? forceWidth : null,
58
+ },
59
+ region,
60
+ });
61
+ return {
62
+ estimatedPrice: res.estimatedPrice,
63
+ url: res.output,
64
+ sizeInBytes: res.size,
65
+ bucketName: res.bucketName,
66
+ renderId: res.renderId,
67
+ cloudWatchLogs: (0, get_cloudwatch_stream_url_1.getCloudwatchStreamUrl)({
68
+ functionName,
69
+ method: constants_1.LambdaRoutines.still,
70
+ region,
71
+ renderId: res.renderId,
72
+ }),
73
+ };
74
+ }
75
+ catch (err) {
76
+ if ((_a = err.stack) === null || _a === void 0 ? void 0 : _a.includes('UnrecognizedClientException')) {
77
+ throw new Error('UnrecognizedClientException: The AWS credentials provided were probably mixed up. Learn how to fix this issue here: https://remotion.dev/docs/lambda/troubleshooting/unrecognizedclientexception');
78
+ }
79
+ throw err;
80
+ }
55
81
  };
56
82
  exports.renderStillOnLambda = renderStillOnLambda;
File without changes
@@ -37,12 +37,16 @@ const uploadDir = async ({ bucket, region, dir, onProgress, folder, privacy, })
37
37
  for (const file of files) {
38
38
  progresses[file.name] = 0;
39
39
  }
40
- const client = (0, aws_clients_1.getS3Client)(region);
40
+ const client = (0, aws_clients_1.getS3Client)(region, null);
41
41
  const uploads = files.map(async (filePath) => {
42
42
  const Key = (0, make_s3_key_1.makeS3Key)(folder, dir, filePath.name);
43
43
  const Body = (0, fs_1.createReadStream)(filePath.name);
44
44
  const ContentType = mime_types_1.default.lookup(Key) || 'application/octet-stream';
45
- const ACL = privacy === 'private' ? 'private' : 'public-read';
45
+ const ACL = privacy === 'no-acl'
46
+ ? undefined
47
+ : privacy === 'private'
48
+ ? 'private'
49
+ : 'public-read';
46
50
  if (filePath.size > 5 * 1024 * 1024) {
47
51
  const paralellUploads3 = new lib_storage_1.Upload({
48
52
  client,
@@ -0,0 +1,13 @@
1
+ /**
2
+ * @description Throws if the signature of the finish webhook is missing or inauthentic
3
+ * @link https://remotion.dev/docs/lambda/validate-webhook-signature
4
+ * @param params.secret The secret used for signing the webhook
5
+ * @param params.body The body that was received by the endpoint
6
+ * @param params.signatureHeader The `X-Remotion-Signature` header
7
+ * @returns {void}
8
+ */
9
+ export declare const validateWebhookSignature: ({ secret, body, signatureHeader, }: {
10
+ secret: string;
11
+ body: string;
12
+ signatureHeader: string;
13
+ }) => void;
@@ -0,0 +1,32 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateWebhookSignature = void 0;
4
+ /**
5
+ * @description Throws if the signature of the finish webhook is missing or inauthentic
6
+ * @link https://remotion.dev/docs/lambda/validate-webhook-signature
7
+ * @param params.secret The secret used for signing the webhook
8
+ * @param params.body The body that was received by the endpoint
9
+ * @param params.signatureHeader The `X-Remotion-Signature` header
10
+ * @returns {void}
11
+ */
12
+ const validateWebhookSignature = ({ secret, body, signatureHeader, }) => {
13
+ if (!secret) {
14
+ throw new TypeError("No 'secret' was provided to validateWebhookSignature().");
15
+ }
16
+ if (!body) {
17
+ throw new TypeError("No 'body' was provided to validateWebhookSignature().");
18
+ }
19
+ if (typeof require === 'undefined') {
20
+ throw new Error('validateWebhookSignature can only be called from Node.JS');
21
+ }
22
+ const Crypto = require('crypto');
23
+ const hmac = Crypto.createHmac('sha512', secret);
24
+ const signature = `sha512=${hmac.update(JSON.stringify(body)).digest('hex')}`;
25
+ if (!signatureHeader || signatureHeader === 'NO_SECRET_PROVIDED') {
26
+ throw new Error('No webhook signature was provided');
27
+ }
28
+ if (signatureHeader !== signature) {
29
+ throw new Error('Signatures do not match');
30
+ }
31
+ };
32
+ exports.validateWebhookSignature = validateWebhookSignature;
@@ -1,4 +1,4 @@
1
- import minimist from 'minimist';
1
+ /// <reference types="minimist" />
2
2
  import type { AwsRegion } from '../pricing/aws-regions';
3
3
  import type { Privacy } from '../shared/constants';
4
4
  import type { LambdaArchitecture } from '../shared/validate-architecture';
@@ -24,7 +24,9 @@ declare type LambdaCommandLineOptions = {
24
24
  ['architecture']: LambdaArchitecture;
25
25
  ['custom-role-arn']: string | undefined;
26
26
  privacy: Privacy;
27
+ webhook: string | undefined;
28
+ ['webhook-secret']: string | undefined;
27
29
  };
28
- export declare const parsedLambdaCli: LambdaCommandLineOptions & minimist.ParsedArgs;
30
+ export declare const parsedLambdaCli: LambdaCommandLineOptions & import("minimist").ParsedArgs;
29
31
  export declare const forceFlagProvided: boolean;
30
32
  export {};
package/dist/cli/args.js CHANGED
@@ -1,12 +1,8 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
2
  Object.defineProperty(exports, "__esModule", { value: true });
6
3
  exports.forceFlagProvided = exports.parsedLambdaCli = void 0;
7
4
  const cli_1 = require("@remotion/cli");
8
- const minimist_1 = __importDefault(require("minimist"));
9
- exports.parsedLambdaCli = (0, minimist_1.default)(process.argv.slice(2), {
5
+ exports.parsedLambdaCli = cli_1.CliInternals.minimist(process.argv.slice(2), {
10
6
  boolean: cli_1.CliInternals.BooleanFlags,
11
7
  });
12
8
  exports.forceFlagProvided = exports.parsedLambdaCli.f ||
File without changes
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.functionsDeploySubcommand = exports.FUNCTIONS_DEPLOY_SUBCOMMAND = void 0;
4
4
  const cli_1 = require("@remotion/cli");
5
5
  const log_1 = require("@remotion/cli/dist/log");
6
+ const version_1 = require("remotion/version");
6
7
  const deploy_function_1 = require("../../../api/deploy-function");
7
8
  const constants_1 = require("../../../shared/constants");
8
9
  const validate_architecture_1 = require("../../../shared/validate-architecture");
@@ -34,7 +35,7 @@ Region = ${region}
34
35
  Memory = ${memorySizeInMb}MB
35
36
  Disk size = ${diskSizeInMb}MB
36
37
  Timeout = ${timeoutInSeconds}sec
37
- Version = ${constants_1.CURRENT_VERSION}
38
+ Version = ${version_1.VERSION}
38
39
  Architecture = ${architecture}
39
40
  CloudWatch Logging Enabled = ${createCloudWatchLogGroup}
40
41
  CloudWatch Retention Period = ${cloudWatchLogRetentionPeriodInDays} days
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
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
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes