@remotion/lambda 4.0.0-webhook.26 → 4.1.0-alpha2

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 (409) 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 +24 -13
  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 +59 -65
  8. package/dist/api/bucket-exists.d.ts +0 -0
  9. package/dist/api/bucket-exists.js +0 -0
  10. package/dist/api/clean-items.d.ts +0 -0
  11. package/dist/api/clean-items.js +1 -1
  12. package/dist/api/create-bucket.d.ts +0 -0
  13. package/dist/api/create-bucket.js +34 -1
  14. package/dist/api/create-function.d.ts +1 -3
  15. package/dist/api/create-function.js +27 -6
  16. package/dist/api/delete-function.d.ts +4 -4
  17. package/dist/api/delete-function.js +3 -3
  18. package/dist/api/delete-render.d.ts +2 -2
  19. package/dist/api/delete-render.js +1 -1
  20. package/dist/api/delete-site.d.ts +7 -7
  21. package/dist/api/delete-site.js +9 -7
  22. package/dist/api/deploy-function.d.ts +11 -13
  23. package/dist/api/deploy-function.js +28 -31
  24. package/dist/api/deploy-site.d.ts +13 -5
  25. package/dist/api/deploy-site.js +61 -25
  26. package/dist/api/download-media.d.ts +4 -8
  27. package/dist/api/download-media.js +5 -9
  28. package/dist/api/estimate-price.d.ts +3 -5
  29. package/dist/api/estimate-price.js +4 -10
  30. package/dist/api/get-aws-client.d.ts +6 -4
  31. package/dist/api/get-aws-client.js +3 -1
  32. package/dist/api/get-buckets.d.ts +1 -1
  33. package/dist/api/get-buckets.js +26 -9
  34. package/dist/api/get-compositions-on-lambda.d.ts +31 -0
  35. package/dist/api/get-compositions-on-lambda.js +56 -0
  36. package/dist/api/get-function-info.d.ts +3 -3
  37. package/dist/api/get-function-info.js +1 -1
  38. package/dist/api/get-functions.d.ts +5 -7
  39. package/dist/api/get-functions.js +8 -10
  40. package/dist/api/get-or-create-bucket.d.ts +6 -6
  41. package/dist/api/get-or-create-bucket.js +10 -18
  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 +3 -3
  45. package/dist/api/get-render-progress.js +6 -11
  46. package/dist/api/get-sites.d.ts +4 -5
  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 +2 -2
  51. package/dist/api/iam-validation/simulate-rule.js +0 -22
  52. package/dist/api/iam-validation/simulate.d.ts +3 -3
  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 +3 -8
  58. package/dist/api/make-lambda-payload.d.ts +5 -0
  59. package/dist/api/make-lambda-payload.js +77 -0
  60. package/dist/api/mock-functions.d.ts +0 -0
  61. package/dist/api/mock-functions.js +0 -0
  62. package/dist/api/presign-url.d.ts +4 -5
  63. package/dist/api/presign-url.js +3 -3
  64. package/dist/api/render-media-on-lambda.d.ts +25 -11
  65. package/dist/api/render-media-on-lambda.js +16 -49
  66. package/dist/api/render-still-on-lambda.d.ts +15 -6
  67. package/dist/api/render-still-on-lambda.js +23 -9
  68. package/dist/api/speculate-function-name.d.ts +14 -0
  69. package/dist/api/speculate-function-name.js +22 -0
  70. package/dist/api/upload-dir.d.ts +6 -5
  71. package/dist/api/upload-dir.js +54 -51
  72. package/dist/api/validate-webhook-signature.d.ts +2 -2
  73. package/dist/api/validate-webhook-signature.js +1 -1
  74. package/dist/cli/args.d.ts +7 -5
  75. package/dist/cli/args.js +1 -5
  76. package/dist/cli/commands/compositions/index.d.ts +2 -0
  77. package/dist/cli/commands/compositions/index.js +44 -0
  78. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  79. package/dist/cli/commands/functions/deploy.js +15 -15
  80. package/dist/cli/commands/functions/index.d.ts +0 -0
  81. package/dist/cli/commands/functions/index.js +16 -17
  82. package/dist/cli/commands/functions/ls.d.ts +0 -0
  83. package/dist/cli/commands/functions/ls.js +17 -10
  84. package/dist/cli/commands/functions/rm.d.ts +0 -0
  85. package/dist/cli/commands/functions/rm.js +20 -7
  86. package/dist/cli/commands/functions/rmall.d.ts +0 -0
  87. package/dist/cli/commands/functions/rmall.js +20 -8
  88. package/dist/cli/commands/policies/policies.d.ts +0 -0
  89. package/dist/cli/commands/policies/policies.js +0 -0
  90. package/dist/cli/commands/policies/role.d.ts +0 -0
  91. package/dist/cli/commands/policies/role.js +0 -0
  92. package/dist/cli/commands/policies/user.d.ts +0 -0
  93. package/dist/cli/commands/policies/user.js +0 -0
  94. package/dist/cli/commands/policies/validate.d.ts +0 -0
  95. package/dist/cli/commands/policies/validate.js +0 -0
  96. package/dist/cli/commands/quotas/increase.d.ts +0 -0
  97. package/dist/cli/commands/quotas/increase.js +30 -10
  98. package/dist/cli/commands/quotas/index.d.ts +0 -0
  99. package/dist/cli/commands/quotas/index.js +8 -9
  100. package/dist/cli/commands/quotas/list.d.ts +0 -0
  101. package/dist/cli/commands/quotas/list.js +0 -0
  102. package/dist/cli/commands/regions.d.ts +0 -0
  103. package/dist/cli/commands/regions.js +6 -2
  104. package/dist/cli/commands/render/progress.d.ts +11 -7
  105. package/dist/cli/commands/render/progress.js +55 -45
  106. package/dist/cli/commands/render/render.d.ts +1 -1
  107. package/dist/cli/commands/render/render.js +99 -27
  108. package/dist/cli/commands/sites/create.d.ts +1 -1
  109. package/dist/cli/commands/sites/create.js +36 -33
  110. package/dist/cli/commands/sites/index.d.ts +1 -1
  111. package/dist/cli/commands/sites/index.js +18 -16
  112. package/dist/cli/commands/sites/ls.d.ts +0 -0
  113. package/dist/cli/commands/sites/ls.js +9 -10
  114. package/dist/cli/commands/sites/rm.d.ts +0 -0
  115. package/dist/cli/commands/sites/rm.js +6 -16
  116. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  117. package/dist/cli/commands/sites/rmall.js +5 -16
  118. package/dist/cli/commands/still.d.ts +1 -1
  119. package/dist/cli/commands/still.js +49 -20
  120. package/dist/cli/get-aws-region.d.ts +0 -0
  121. package/dist/cli/get-aws-region.js +0 -0
  122. package/dist/cli/help.d.ts +0 -0
  123. package/dist/cli/help.js +4 -0
  124. package/dist/cli/helpers/confirm.d.ts +0 -0
  125. package/dist/cli/helpers/confirm.js +0 -0
  126. package/dist/cli/helpers/date-string.d.ts +0 -0
  127. package/dist/cli/helpers/date-string.js +0 -0
  128. package/dist/cli/helpers/find-function-name.d.ts +0 -0
  129. package/dist/cli/helpers/find-function-name.js +35 -6
  130. package/dist/cli/helpers/progress-bar.d.ts +12 -7
  131. package/dist/cli/helpers/progress-bar.js +20 -11
  132. package/dist/cli/helpers/quit.d.ts +0 -0
  133. package/dist/cli/helpers/quit.js +0 -0
  134. package/dist/cli/helpers/yes-or-no.d.ts +0 -0
  135. package/dist/cli/helpers/yes-or-no.js +0 -0
  136. package/dist/cli/index.d.ts +1 -1
  137. package/dist/cli/index.js +23 -12
  138. package/dist/cli/is-cli.d.ts +0 -0
  139. package/dist/cli/is-cli.js +0 -0
  140. package/dist/cli/log.d.ts +15 -0
  141. package/dist/cli/log.js +0 -0
  142. package/dist/client.d.ts +8 -2
  143. package/dist/client.js +9 -1
  144. package/dist/defaults.d.ts +0 -0
  145. package/dist/defaults.js +0 -0
  146. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +1 -5
  147. package/dist/functions/chunk-optimization/plan-frame-ranges.js +2 -15
  148. package/dist/functions/chunk-optimization/types.d.ts +2 -13
  149. package/dist/functions/chunk-optimization/types.js +0 -0
  150. package/dist/functions/compositions.d.ts +8 -0
  151. package/dist/functions/compositions.js +60 -0
  152. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  153. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  154. package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
  155. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  156. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +1 -3
  157. package/dist/functions/helpers/calculate-price-from-bucket.js +1 -2
  158. package/dist/functions/helpers/check-if-render-exists.d.ts +0 -0
  159. package/dist/functions/helpers/check-if-render-exists.js +0 -0
  160. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  161. package/dist/functions/helpers/clean-tmpdir.js +8 -8
  162. package/dist/functions/helpers/concat-videos.d.ts +13 -5
  163. package/dist/functions/helpers/concat-videos.js +38 -39
  164. package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
  165. package/dist/functions/helpers/create-post-render-data.js +1 -15
  166. package/dist/functions/helpers/delete-chunks.d.ts +0 -0
  167. package/dist/functions/helpers/delete-chunks.js +0 -0
  168. package/dist/functions/helpers/expected-out-name.d.ts +0 -0
  169. package/dist/functions/helpers/expected-out-name.js +2 -2
  170. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +1 -1
  171. package/dist/functions/helpers/find-output-file-in-bucket.js +0 -0
  172. package/dist/functions/helpers/format-costs-info.d.ts +0 -0
  173. package/dist/functions/helpers/format-costs-info.js +0 -0
  174. package/dist/functions/helpers/get-browser-instance.d.ts +1 -2
  175. package/dist/functions/helpers/get-browser-instance.js +7 -3
  176. package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
  177. package/dist/functions/helpers/get-chromium-executable-path.js +8 -6
  178. package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
  179. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  180. package/dist/functions/helpers/get-current-region.d.ts +1 -1
  181. package/dist/functions/helpers/get-current-region.js +0 -0
  182. package/dist/functions/helpers/get-custom-out-name.d.ts +0 -0
  183. package/dist/functions/helpers/get-custom-out-name.js +1 -1
  184. package/dist/functions/helpers/get-encoding-metadata.d.ts +5 -8
  185. package/dist/functions/helpers/get-encoding-metadata.js +7 -17
  186. package/dist/functions/helpers/get-files-in-folder.d.ts +1 -1
  187. package/dist/functions/helpers/get-files-in-folder.js +5 -5
  188. package/dist/functions/helpers/get-files-to-delete.d.ts +1 -1
  189. package/dist/functions/helpers/get-files-to-delete.js +0 -0
  190. package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -4
  191. package/dist/functions/helpers/get-final-encoding-status.js +1 -4
  192. package/dist/functions/helpers/get-folder-size.d.ts +0 -0
  193. package/dist/functions/helpers/get-folder-size.js +0 -0
  194. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +2 -6
  195. package/dist/functions/helpers/get-lambdas-invoked-stats.js +1 -9
  196. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +0 -0
  197. package/dist/functions/helpers/get-output-url-from-metadata.js +0 -0
  198. package/dist/functions/helpers/get-overall-progress.d.ts +2 -1
  199. package/dist/functions/helpers/get-overall-progress.js +7 -5
  200. package/dist/functions/helpers/get-post-render-data.d.ts +0 -0
  201. package/dist/functions/helpers/get-post-render-data.js +0 -0
  202. package/dist/functions/helpers/get-progress.d.ts +0 -0
  203. package/dist/functions/helpers/get-progress.js +43 -42
  204. package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
  205. package/dist/functions/helpers/get-render-metadata.js +0 -0
  206. package/dist/functions/helpers/get-rendered-frames-progress.d.ts +8 -0
  207. package/dist/functions/helpers/get-rendered-frames-progress.js +37 -0
  208. package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
  209. package/dist/functions/helpers/get-retry-stats.js +0 -0
  210. package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
  211. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  212. package/dist/functions/helpers/inspect-errors.d.ts +0 -0
  213. package/dist/functions/helpers/inspect-errors.js +0 -0
  214. package/dist/functions/helpers/io.d.ts +10 -4
  215. package/dist/functions/helpers/io.js +25 -3
  216. package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
  217. package/dist/functions/helpers/is-enosp-err.js +1 -1
  218. package/dist/functions/helpers/is-warm.d.ts +0 -0
  219. package/dist/functions/helpers/is-warm.js +0 -0
  220. package/dist/functions/helpers/make-timeout-error.d.ts +8 -0
  221. package/dist/functions/helpers/make-timeout-error.js +35 -0
  222. package/dist/functions/helpers/make-timeout-message.d.ts +6 -0
  223. package/dist/functions/helpers/make-timeout-message.js +31 -0
  224. package/dist/functions/helpers/min-max.d.ts +0 -0
  225. package/dist/functions/helpers/min-max.js +0 -0
  226. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +0 -0
  227. package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
  228. package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
  229. package/dist/functions/helpers/print-concurrency-curve.js +0 -0
  230. package/dist/functions/helpers/read-with-progress.d.ts +1 -1
  231. package/dist/functions/helpers/read-with-progress.js +1 -1
  232. package/dist/functions/helpers/streamify-response.d.ts +16 -0
  233. package/dist/functions/helpers/streamify-response.js +67 -0
  234. package/dist/functions/helpers/timer.d.ts +0 -0
  235. package/dist/functions/helpers/timer.js +0 -0
  236. package/dist/functions/helpers/validate-composition.d.ts +10 -9
  237. package/dist/functions/helpers/validate-composition.js +16 -13
  238. package/dist/functions/helpers/write-lambda-error.d.ts +2 -2
  239. package/dist/functions/helpers/write-lambda-error.js +0 -0
  240. package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
  241. package/dist/functions/helpers/write-post-render-data.js +0 -0
  242. package/dist/functions/index.d.ts +1 -7
  243. package/dist/functions/index.js +43 -10
  244. package/dist/functions/info.d.ts +0 -0
  245. package/dist/functions/info.js +0 -0
  246. package/dist/functions/launch.d.ts +2 -1
  247. package/dist/functions/launch.js +152 -134
  248. package/dist/functions/progress.d.ts +1 -1
  249. package/dist/functions/progress.js +2 -2
  250. package/dist/functions/renderer.d.ts +1 -1
  251. package/dist/functions/renderer.js +73 -42
  252. package/dist/functions/start.d.ts +1 -1
  253. package/dist/functions/start.js +22 -8
  254. package/dist/functions/still.d.ts +1 -1
  255. package/dist/functions/still.js +80 -37
  256. package/dist/index.d.ts +24 -8
  257. package/dist/index.js +23 -6
  258. package/dist/internals.d.ts +3 -1
  259. package/dist/internals.js +3 -0
  260. package/dist/pricing/aws-regions.d.ts +3 -2
  261. package/dist/pricing/aws-regions.js +31 -1
  262. package/dist/pricing/price-per-1-s.d.ts +0 -0
  263. package/dist/pricing/price-per-1-s.js +413 -39
  264. package/dist/regions.d.ts +0 -0
  265. package/dist/regions.js +0 -0
  266. package/dist/shared/await.d.ts +1 -1
  267. package/dist/shared/await.js +0 -0
  268. package/dist/shared/aws-clients.d.ts +6 -3
  269. package/dist/shared/aws-clients.js +75 -13
  270. package/dist/shared/bundle-site.d.ts +0 -0
  271. package/dist/shared/bundle-site.js +0 -0
  272. package/dist/shared/call-lambda.d.ts +0 -0
  273. package/dist/shared/call-lambda.js +27 -2
  274. package/dist/shared/check-credentials.d.ts +0 -0
  275. package/dist/shared/check-credentials.js +3 -0
  276. package/dist/shared/chunk-progress.d.ts +9 -0
  277. package/dist/shared/chunk-progress.js +2034 -0
  278. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  279. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  280. package/dist/shared/constants.d.ts +140 -89
  281. package/dist/shared/constants.js +7 -4
  282. package/dist/shared/content-disposition-header.d.ts +1 -1
  283. package/dist/shared/content-disposition-header.js +0 -0
  284. package/dist/shared/convert-to-serve-url.d.ts +5 -1
  285. package/dist/shared/convert-to-serve-url.js +1 -5
  286. package/dist/shared/deserialize-input-props.d.ts +8 -0
  287. package/dist/shared/deserialize-input-props.js +26 -0
  288. package/dist/shared/docs-url.d.ts +0 -0
  289. package/dist/shared/docs-url.js +0 -0
  290. package/dist/shared/function-zip-path.d.ts +1 -1
  291. package/dist/shared/function-zip-path.js +3 -3
  292. package/dist/shared/get-account-id.d.ts +0 -0
  293. package/dist/shared/get-account-id.js +4 -6
  294. package/dist/shared/{get-cloudwatch-stream-url.d.ts → get-aws-urls.d.ts} +7 -1
  295. package/dist/shared/get-aws-urls.js +12 -0
  296. package/dist/shared/get-etag.d.ts +1 -0
  297. package/dist/shared/get-etag.js +24 -0
  298. package/dist/shared/get-function-version.d.ts +0 -0
  299. package/dist/shared/get-function-version.js +0 -0
  300. package/dist/shared/get-most-expensive-chunks.d.ts +2 -2
  301. package/dist/shared/get-most-expensive-chunks.js +3 -2
  302. package/dist/shared/get-s3-operations.d.ts +10 -0
  303. package/dist/shared/get-s3-operations.js +36 -0
  304. package/dist/shared/hosted-layers.d.ts +5 -8
  305. package/dist/shared/hosted-layers.js +210 -284
  306. package/dist/shared/invoke-webhook.d.ts +5 -18
  307. package/dist/shared/invoke-webhook.js +5 -19
  308. package/dist/shared/is-in-lambda.d.ts +0 -0
  309. package/dist/shared/is-in-lambda.js +0 -0
  310. package/dist/shared/lambda-version-string.d.ts +0 -0
  311. package/dist/shared/lambda-version-string.js +0 -0
  312. package/dist/shared/make-s3-key.d.ts +0 -0
  313. package/dist/shared/make-s3-key.js +2 -2
  314. package/dist/shared/make-s3-url.d.ts +0 -0
  315. package/dist/shared/make-s3-url.js +2 -2
  316. package/dist/shared/p-limit.d.ts +0 -0
  317. package/dist/shared/p-limit.js +0 -0
  318. package/dist/shared/parse-chunk-key.d.ts +4 -0
  319. package/dist/shared/parse-chunk-key.js +14 -0
  320. package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
  321. package/dist/shared/parse-lambda-initialized-key.js +0 -0
  322. package/dist/shared/parse-lambda-timings-key.d.ts +1 -1
  323. package/dist/shared/parse-lambda-timings-key.js +0 -0
  324. package/dist/shared/random-hash.d.ts +0 -0
  325. package/dist/shared/random-hash.js +0 -0
  326. package/dist/shared/read-dir.d.ts +9 -0
  327. package/dist/shared/read-dir.js +57 -0
  328. package/dist/shared/return-values.d.ts +7 -0
  329. package/dist/shared/return-values.js +0 -0
  330. package/dist/shared/serialize-input-props.d.ts +8 -0
  331. package/dist/shared/serialize-input-props.js +42 -0
  332. package/dist/shared/sleep.d.ts +0 -0
  333. package/dist/shared/sleep.js +0 -0
  334. package/dist/shared/stream-to-string.d.ts +0 -0
  335. package/dist/shared/stream-to-string.js +0 -0
  336. package/dist/shared/truthy.d.ts +1 -1
  337. package/dist/shared/truthy.js +0 -0
  338. package/dist/shared/validate-aws-region.d.ts +0 -0
  339. package/dist/shared/validate-aws-region.js +0 -0
  340. package/dist/shared/validate-bucketname.d.ts +5 -0
  341. package/dist/shared/validate-bucketname.js +19 -1
  342. package/dist/shared/validate-custom-role-arn.d.ts +0 -0
  343. package/dist/shared/validate-custom-role-arn.js +0 -0
  344. package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
  345. package/dist/shared/validate-disk-size-in-mb.js +0 -0
  346. package/dist/shared/validate-download-behavior.d.ts +0 -0
  347. package/dist/shared/validate-download-behavior.js +0 -0
  348. package/dist/shared/validate-frames-per-lambda.d.ts +0 -0
  349. package/dist/shared/validate-frames-per-lambda.js +0 -0
  350. package/dist/shared/validate-lambda-codec.d.ts +2 -2
  351. package/dist/shared/validate-lambda-codec.js +1 -1
  352. package/dist/shared/validate-memory-size.d.ts +0 -0
  353. package/dist/shared/validate-memory-size.js +0 -0
  354. package/dist/shared/validate-outname.d.ts +2 -2
  355. package/dist/shared/validate-outname.js +16 -10
  356. package/dist/shared/validate-presign-expiration.d.ts +0 -0
  357. package/dist/shared/validate-presign-expiration.js +0 -0
  358. package/dist/shared/validate-privacy.d.ts +1 -1
  359. package/dist/shared/validate-privacy.js +5 -2
  360. package/dist/shared/validate-retention-period.d.ts +0 -0
  361. package/dist/shared/validate-retention-period.js +0 -0
  362. package/dist/shared/validate-retries.d.ts +0 -0
  363. package/dist/shared/validate-retries.js +0 -0
  364. package/dist/shared/validate-serveurl.d.ts +0 -0
  365. package/dist/shared/validate-serveurl.js +0 -0
  366. package/dist/shared/validate-site-name.d.ts +0 -0
  367. package/dist/shared/validate-site-name.js +0 -0
  368. package/dist/shared/validate-timeout.d.ts +0 -0
  369. package/dist/shared/validate-timeout.js +0 -0
  370. package/package.json +89 -65
  371. package/remotionlambda-arm64.zip +0 -0
  372. package/.prettierrc.js +0 -14
  373. package/client.d.ts +0 -1
  374. package/client.js +0 -1
  375. package/dist/api/enable-s3-website.d.ts +0 -5
  376. package/dist/api/enable-s3-website.js +0 -16
  377. package/dist/cli/helpers/determine-image-format.d.ts +0 -10
  378. package/dist/cli/helpers/determine-image-format.js +0 -47
  379. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
  380. package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
  381. package/dist/cli/helpers/webhook-types.d.ts +0 -6
  382. package/dist/cli/helpers/webhook-types.js +0 -2
  383. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
  384. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
  385. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
  386. package/dist/functions/chunk-optimization/collect-data.js +0 -27
  387. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
  388. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
  389. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
  390. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
  391. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
  392. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
  393. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
  394. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
  395. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
  396. package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
  397. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
  398. package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -47
  399. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
  400. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
  401. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
  402. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
  403. package/dist/functions/helpers/get-current-architecture.d.ts +0 -2
  404. package/dist/functions/helpers/get-current-architecture.js +0 -11
  405. package/dist/shared/get-cloudwatch-stream-url.js +0 -7
  406. package/dist/shared/validate-architecture.d.ts +0 -4
  407. package/dist/shared/validate-architecture.js +0 -14
  408. package/remotionlambda.zip +0 -0
  409. package/tsconfig.json +0 -16
@@ -1,22 +1,26 @@
1
- import type { ChromiumOptions, FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile } from '@remotion/renderer';
1
+ import type { AudioCodec, ChromiumOptions, FrameRange, LogLevel, PixelFormat, ProResProfile, VideoImageFormat } from '@remotion/renderer';
2
2
  import type { AwsRegion } from '../pricing/aws-regions';
3
3
  import type { OutNameInput, Privacy } from '../shared/constants';
4
4
  import type { DownloadBehavior } from '../shared/content-disposition-header';
5
5
  import type { LambdaCodec } from '../shared/validate-lambda-codec';
6
- export declare type RenderMediaOnLambdaInput = {
6
+ export type RenderMediaOnLambdaInput = {
7
7
  region: AwsRegion;
8
8
  functionName: string;
9
9
  serveUrl: string;
10
10
  composition: string;
11
- inputProps?: unknown;
11
+ inputProps?: Record<string, unknown>;
12
12
  codec: LambdaCodec;
13
- imageFormat?: ImageFormat;
13
+ imageFormat?: VideoImageFormat;
14
14
  crf?: number | undefined;
15
15
  envVariables?: Record<string, string>;
16
16
  pixelFormat?: PixelFormat;
17
17
  proResProfile?: ProResProfile;
18
18
  privacy?: Privacy;
19
- quality?: number;
19
+ /**
20
+ * @deprecated Renamed to `jpegQuality`
21
+ */
22
+ quality?: never;
23
+ jpegQuality?: number;
20
24
  maxRetries?: number;
21
25
  framesPerLambda?: number;
22
26
  logLevel?: LogLevel;
@@ -31,19 +35,28 @@ export declare type RenderMediaOnLambdaInput = {
31
35
  downloadBehavior?: DownloadBehavior | null;
32
36
  muted?: boolean;
33
37
  overwrite?: boolean;
38
+ audioBitrate?: string | null;
39
+ videoBitrate?: string | null;
34
40
  webhook?: {
35
41
  url: string;
36
42
  secret: string | null;
37
43
  };
44
+ forceWidth?: number | null;
45
+ forceHeight?: number | null;
46
+ rendererFunctionName?: string | null;
47
+ forceBucketName?: string;
48
+ audioCodec?: AudioCodec | null;
49
+ dumpBrowserLogs?: boolean;
38
50
  };
39
- export declare type RenderMediaOnLambdaOutput = {
51
+ export type RenderMediaOnLambdaOutput = {
40
52
  renderId: string;
41
53
  bucketName: string;
42
54
  cloudWatchLogs: string;
55
+ folderInS3Console: string;
43
56
  };
44
57
  /**
45
58
  * @description Triggers a render on a lambda given a composition and a lambda function.
46
- * @link https://remotion.dev/docs/lambda/rendermediaonlambda
59
+ * @see [Documentation](https://remotion.dev/docs/lambda/rendermediaonlambda)
47
60
  * @param params.functionName The name of the Lambda function that should be used
48
61
  * @param params.serveUrl The URL of the deployed project
49
62
  * @param params.composition The ID of the composition which should be rendered.
@@ -53,15 +66,16 @@ export declare type RenderMediaOnLambdaOutput = {
53
66
  * @param params.crf The constant rate factor to be used during encoding.
54
67
  * @param params.envVariables Object containing environment variables to be inserted into the video environment
55
68
  * @param params.proResProfile The ProRes profile if rendering a ProRes video
56
- * @param params.quality JPEG quality if JPEG was selected as the image format.
69
+ * @param params.jpegQuality JPEG quality if JPEG was selected as the image format.
57
70
  * @param params.region The AWS region in which the media should be rendered.
58
71
  * @param params.maxRetries How often rendering a chunk may fail before the media render gets aborted. Default "1"
59
72
  * @param params.logLevel Level of logging that Lambda function should perform. Default "info".
60
- * @param params.webhook Webhook URL to be called upon completion or timeout of the rendering process.
73
+ * @param params.webhook Configuration for webhook called upon completion or timeout of the render.
74
+ * @param params.dumpBrowserLogs Whether to print browser logs to CloudWatch
61
75
  * @returns {Promise<RenderMediaOnLambdaOutput>} See documentation for detailed structure
62
76
  */
63
- 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, webhook, }: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
77
+ export declare const renderMediaOnLambda: (input: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
64
78
  /**
65
79
  * @deprecated Renamed to renderMediaOnLambda()
66
80
  */
67
- 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, webhook, }: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
81
+ export declare const renderVideoOnLambda: (input: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
@@ -1,18 +1,13 @@
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");
5
4
  const call_lambda_1 = require("../shared/call-lambda");
6
5
  const constants_1 = require("../shared/constants");
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 validate_download_behavior_1 = require("../shared/validate-download-behavior");
10
- const validate_frames_per_lambda_1 = require("../shared/validate-frames-per-lambda");
11
- const validate_lambda_codec_1 = require("../shared/validate-lambda-codec");
12
- const validate_serveurl_1 = require("../shared/validate-serveurl");
6
+ const get_aws_urls_1 = require("../shared/get-aws-urls");
7
+ const make_lambda_payload_1 = require("./make-lambda-payload");
13
8
  /**
14
9
  * @description Triggers a render on a lambda given a composition and a lambda function.
15
- * @link https://remotion.dev/docs/lambda/rendermediaonlambda
10
+ * @see [Documentation](https://remotion.dev/docs/lambda/rendermediaonlambda)
16
11
  * @param params.functionName The name of the Lambda function that should be used
17
12
  * @param params.serveUrl The URL of the deployed project
18
13
  * @param params.composition The ID of the composition which should be rendered.
@@ -22,66 +17,38 @@ const validate_serveurl_1 = require("../shared/validate-serveurl");
22
17
  * @param params.crf The constant rate factor to be used during encoding.
23
18
  * @param params.envVariables Object containing environment variables to be inserted into the video environment
24
19
  * @param params.proResProfile The ProRes profile if rendering a ProRes video
25
- * @param params.quality JPEG quality if JPEG was selected as the image format.
20
+ * @param params.jpegQuality JPEG quality if JPEG was selected as the image format.
26
21
  * @param params.region The AWS region in which the media should be rendered.
27
22
  * @param params.maxRetries How often rendering a chunk may fail before the media render gets aborted. Default "1"
28
23
  * @param params.logLevel Level of logging that Lambda function should perform. Default "info".
29
- * @param params.webhook Webhook URL to be called upon completion or timeout of the rendering process.
24
+ * @param params.webhook Configuration for webhook called upon completion or timeout of the render.
25
+ * @param params.dumpBrowserLogs Whether to print browser logs to CloudWatch
30
26
  * @returns {Promise<RenderMediaOnLambdaOutput>} See documentation for detailed structure
31
27
  */
32
- 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, webhook, }) => {
28
+ const renderMediaOnLambda = async (input) => {
33
29
  var _a;
34
- const actualCodec = (0, validate_lambda_codec_1.validateLambdaCodec)(codec);
35
- (0, validate_serveurl_1.validateServeUrl)(serveUrl);
36
- (0, validate_frames_per_lambda_1.validateFramesPerLambda)({
37
- framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
38
- durationInFrames: 1,
39
- });
40
- (0, validate_download_behavior_1.validateDownloadBehavior)(downloadBehavior);
41
- const realServeUrl = await (0, convert_to_serve_url_1.convertToServeUrl)(serveUrl, region);
30
+ const { functionName, region, rendererFunctionName } = input;
42
31
  try {
43
32
  const res = await (0, call_lambda_1.callLambda)({
44
33
  functionName,
45
34
  type: constants_1.LambdaRoutines.start,
46
- payload: {
47
- framesPerLambda: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
48
- composition,
49
- serveUrl: realServeUrl,
50
- inputProps: inputProps !== null && inputProps !== void 0 ? inputProps : {},
51
- codec: actualCodec,
52
- imageFormat: imageFormat !== null && imageFormat !== void 0 ? imageFormat : 'jpeg',
53
- crf,
54
- envVariables,
55
- pixelFormat,
56
- proResProfile,
57
- quality,
58
- maxRetries: maxRetries !== null && maxRetries !== void 0 ? maxRetries : 1,
59
- privacy: privacy !== null && privacy !== void 0 ? privacy : 'public',
60
- logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
61
- frameRange: frameRange !== null && frameRange !== void 0 ? frameRange : null,
62
- outName: outName !== null && outName !== void 0 ? outName : null,
63
- timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
64
- chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
65
- scale: scale !== null && scale !== void 0 ? scale : 1,
66
- everyNthFrame: everyNthFrame !== null && everyNthFrame !== void 0 ? everyNthFrame : 1,
67
- numberOfGifLoops: numberOfGifLoops !== null && numberOfGifLoops !== void 0 ? numberOfGifLoops : 0,
68
- concurrencyPerLambda: concurrencyPerLambda !== null && concurrencyPerLambda !== void 0 ? concurrencyPerLambda : 1,
69
- downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
70
- muted: muted !== null && muted !== void 0 ? muted : false,
71
- version: version_1.VERSION,
72
- overwrite: overwrite !== null && overwrite !== void 0 ? overwrite : false,
73
- webhook: webhook !== null && webhook !== void 0 ? webhook : null,
74
- },
35
+ payload: await (0, make_lambda_payload_1.makeLambdaRenderMediaPayload)(input),
75
36
  region,
76
37
  });
77
38
  return {
78
39
  renderId: res.renderId,
79
40
  bucketName: res.bucketName,
80
- cloudWatchLogs: (0, get_cloudwatch_stream_url_1.getCloudwatchStreamUrl)({
41
+ cloudWatchLogs: (0, get_aws_urls_1.getCloudwatchStreamUrl)({
81
42
  functionName,
82
43
  method: constants_1.LambdaRoutines.renderer,
83
44
  region,
84
45
  renderId: res.renderId,
46
+ rendererFunctionName: rendererFunctionName !== null && rendererFunctionName !== void 0 ? rendererFunctionName : null,
47
+ }),
48
+ folderInS3Console: (0, get_aws_urls_1.getS3RenderUrl)({
49
+ bucketName: res.bucketName,
50
+ renderId: res.renderId,
51
+ region,
85
52
  }),
86
53
  };
87
54
  }
@@ -2,17 +2,21 @@ import type { ChromiumOptions, LogLevel, StillImageFormat } from '@remotion/rend
2
2
  import type { AwsRegion } from '../pricing/aws-regions';
3
3
  import type { CostsInfo, OutNameInput, Privacy } from '../shared/constants';
4
4
  import type { DownloadBehavior } from '../shared/content-disposition-header';
5
- export declare type RenderStillOnLambdaInput = {
5
+ export type RenderStillOnLambdaInput = {
6
6
  region: AwsRegion;
7
7
  functionName: string;
8
8
  serveUrl: string;
9
9
  composition: string;
10
- inputProps: unknown;
10
+ inputProps: Record<string, unknown>;
11
11
  imageFormat: StillImageFormat;
12
12
  privacy: Privacy;
13
13
  maxRetries?: number;
14
14
  envVariables?: Record<string, string>;
15
- quality?: number;
15
+ /**
16
+ * @deprecated Renamed to `jpegQuality`
17
+ */
18
+ quality?: never;
19
+ jpegQuality?: number;
16
20
  frame?: number;
17
21
  logLevel?: LogLevel;
18
22
  outName?: OutNameInput;
@@ -20,8 +24,12 @@ export declare type RenderStillOnLambdaInput = {
20
24
  chromiumOptions?: ChromiumOptions;
21
25
  scale?: number;
22
26
  downloadBehavior?: DownloadBehavior;
27
+ forceWidth?: number | null;
28
+ forceHeight?: number | null;
29
+ forceBucketName?: string;
30
+ dumpBrowserLogs?: boolean;
23
31
  };
24
- export declare type RenderStillOnLambdaOutput = {
32
+ export type RenderStillOnLambdaOutput = {
25
33
  estimatedPrice: CostsInfo;
26
34
  url: string;
27
35
  sizeInBytes: number;
@@ -38,11 +46,12 @@ export declare type RenderStillOnLambdaOutput = {
38
46
  * @param params.inputProps The input props that should be passed to the composition.
39
47
  * @param params.imageFormat In which image format the frames should be rendered.
40
48
  * @param params.envVariables Object containing environment variables to be inserted into the video environment
41
- * @param params.quality JPEG quality if JPEG was selected as the image format.
49
+ * @param params.jpegQuality JPEG quality if JPEG was selected as the image format.
42
50
  * @param params.region The AWS region in which the video should be rendered.
43
51
  * @param params.maxRetries How often rendering a chunk may fail before the video render gets aborted.
44
52
  * @param params.frame Which frame should be used for the still image. Default 0.
45
53
  * @param params.privacy Whether the item in the S3 bucket should be public. Possible values: `"private"` and `"public"`
54
+ * @param params.dumpBrowserLogs Whether to print browser logs to CloudWatch.
46
55
  * @returns {Promise<RenderStillOnLambdaOutput>} See documentation for exact response structure.
47
56
  */
48
- export declare const renderStillOnLambda: ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, }: RenderStillOnLambdaInput) => Promise<RenderStillOnLambdaOutput>;
57
+ export declare const renderStillOnLambda: ({ functionName, serveUrl, inputProps, imageFormat, envVariables, quality, jpegQuality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, forceHeight, forceWidth, forceBucketName, dumpBrowserLogs, }: RenderStillOnLambdaInput) => Promise<RenderStillOnLambdaOutput>;
@@ -4,8 +4,8 @@ exports.renderStillOnLambda = void 0;
4
4
  const version_1 = require("remotion/version");
5
5
  const call_lambda_1 = require("../shared/call-lambda");
6
6
  const constants_1 = require("../shared/constants");
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");
7
+ const get_aws_urls_1 = require("../shared/get-aws-urls");
8
+ const serialize_input_props_1 = require("../shared/serialize-input-props");
9
9
  /**
10
10
  * @description Renders a still frame on Lambda
11
11
  * @link https://remotion.dev/docs/lambda/renderstillonlambda
@@ -15,27 +15,36 @@ const get_cloudwatch_stream_url_1 = require("../shared/get-cloudwatch-stream-url
15
15
  * @param params.inputProps The input props that should be passed to the composition.
16
16
  * @param params.imageFormat In which image format the frames should be rendered.
17
17
  * @param params.envVariables Object containing environment variables to be inserted into the video environment
18
- * @param params.quality JPEG quality if JPEG was selected as the image format.
18
+ * @param params.jpegQuality JPEG quality if JPEG was selected as the image format.
19
19
  * @param params.region The AWS region in which the video should be rendered.
20
20
  * @param params.maxRetries How often rendering a chunk may fail before the video render gets aborted.
21
21
  * @param params.frame Which frame should be used for the still image. Default 0.
22
22
  * @param params.privacy Whether the item in the S3 bucket should be public. Possible values: `"private"` and `"public"`
23
+ * @param params.dumpBrowserLogs Whether to print browser logs to CloudWatch.
23
24
  * @returns {Promise<RenderStillOnLambdaOutput>} See documentation for exact response structure.
24
25
  */
25
- 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, jpegQuality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, forceHeight, forceWidth, forceBucketName, dumpBrowserLogs, }) => {
26
27
  var _a;
27
- const realServeUrl = await (0, convert_to_serve_url_1.convertToServeUrl)(serveUrl, region);
28
+ if (quality) {
29
+ throw new Error('The `quality` option is deprecated. Use `jpegQuality` instead.');
30
+ }
31
+ const serializedInputProps = await (0, serialize_input_props_1.serializeInputProps)({
32
+ inputProps,
33
+ region,
34
+ type: 'still',
35
+ userSpecifiedBucketName: forceBucketName !== null && forceBucketName !== void 0 ? forceBucketName : null,
36
+ });
28
37
  try {
29
38
  const res = await (0, call_lambda_1.callLambda)({
30
39
  functionName,
31
40
  type: constants_1.LambdaRoutines.still,
32
41
  payload: {
33
42
  composition,
34
- serveUrl: realServeUrl,
35
- inputProps,
43
+ serveUrl,
44
+ inputProps: serializedInputProps,
36
45
  imageFormat,
37
46
  envVariables,
38
- quality,
47
+ jpegQuality,
39
48
  maxRetries: maxRetries !== null && maxRetries !== void 0 ? maxRetries : constants_1.DEFAULT_MAX_RETRIES,
40
49
  frame: frame !== null && frame !== void 0 ? frame : 0,
41
50
  privacy,
@@ -47,6 +56,10 @@ const renderStillOnLambda = async ({ functionName, serveUrl, inputProps, imageFo
47
56
  scale: scale !== null && scale !== void 0 ? scale : 1,
48
57
  downloadBehavior: downloadBehavior !== null && downloadBehavior !== void 0 ? downloadBehavior : { type: 'play-in-browser' },
49
58
  version: version_1.VERSION,
59
+ forceHeight: forceHeight !== null && forceHeight !== void 0 ? forceHeight : null,
60
+ forceWidth: forceWidth !== null && forceWidth !== void 0 ? forceWidth : null,
61
+ bucketName: forceBucketName !== null && forceBucketName !== void 0 ? forceBucketName : null,
62
+ dumpBrowserLogs: dumpBrowserLogs !== null && dumpBrowserLogs !== void 0 ? dumpBrowserLogs : false,
50
63
  },
51
64
  region,
52
65
  });
@@ -56,11 +69,12 @@ const renderStillOnLambda = async ({ functionName, serveUrl, inputProps, imageFo
56
69
  sizeInBytes: res.size,
57
70
  bucketName: res.bucketName,
58
71
  renderId: res.renderId,
59
- cloudWatchLogs: (0, get_cloudwatch_stream_url_1.getCloudwatchStreamUrl)({
72
+ cloudWatchLogs: (0, get_aws_urls_1.getCloudwatchStreamUrl)({
60
73
  functionName,
61
74
  method: constants_1.LambdaRoutines.still,
62
75
  region,
63
76
  renderId: res.renderId,
77
+ rendererFunctionName: null,
64
78
  }),
65
79
  };
66
80
  }
@@ -0,0 +1,14 @@
1
+ export type SpeculateFunctionNameInput = {
2
+ memorySizeInMb: string | number;
3
+ diskSizeInMb: string | number;
4
+ timeoutInSeconds: string | number;
5
+ };
6
+ /**
7
+ * @description Speculate the name of a lambda function that will be created when you call `deployFunction`, based on the function configuration.
8
+ * @see [Documentation](https://www.remotion.dev/docs/lambda/speculatefunctionname)
9
+ * @param params.memorySizeInMb How much memory is allocated to the Lambda function.
10
+ * @param params.diskSizeInMb The amount of storage the function is allocated.
11
+ * @param params.timeoutInSeconds Time in seconds until the function times out.
12
+ * @returns {string} The speculated lambda function name
13
+ */
14
+ export declare const speculateFunctionName: ({ memorySizeInMb, diskSizeInMb, timeoutInSeconds, }: SpeculateFunctionNameInput) => string;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.speculateFunctionName = void 0;
4
+ const defaults_1 = require("../defaults");
5
+ const lambda_version_string_1 = require("../shared/lambda-version-string");
6
+ /**
7
+ * @description Speculate the name of a lambda function that will be created when you call `deployFunction`, based on the function configuration.
8
+ * @see [Documentation](https://www.remotion.dev/docs/lambda/speculatefunctionname)
9
+ * @param params.memorySizeInMb How much memory is allocated to the Lambda function.
10
+ * @param params.diskSizeInMb The amount of storage the function is allocated.
11
+ * @param params.timeoutInSeconds Time in seconds until the function times out.
12
+ * @returns {string} The speculated lambda function name
13
+ */
14
+ const speculateFunctionName = ({ memorySizeInMb, diskSizeInMb, timeoutInSeconds, }) => {
15
+ return [
16
+ `${defaults_1.RENDER_FN_PREFIX}${lambda_version_string_1.LAMBDA_VERSION_STRING}`,
17
+ `mem${memorySizeInMb}mb`,
18
+ `disk${diskSizeInMb}mb`,
19
+ `${timeoutInSeconds}sec`,
20
+ ].join('-');
21
+ };
22
+ exports.speculateFunctionName = speculateFunctionName;
@@ -1,21 +1,22 @@
1
1
  import type { Privacy } from '../defaults';
2
2
  import type { AwsRegion } from '../pricing/aws-regions';
3
- export declare type UploadDirProgress = {
3
+ export type UploadDirProgress = {
4
4
  totalFiles: number;
5
5
  filesUploaded: number;
6
6
  totalSize: number;
7
7
  sizeUploaded: number;
8
8
  };
9
- export declare type MockFile = {
9
+ export type MockFile = {
10
10
  name: string;
11
11
  content: string;
12
12
  };
13
13
  export declare const getDirFiles: (entry: string) => MockFile[];
14
- export declare const uploadDir: ({ bucket, region, dir, onProgress, folder, privacy, }: {
14
+ export declare const uploadDir: ({ bucket, region, localDir, onProgress, keyPrefix, privacy, toUpload, }: {
15
15
  bucket: string;
16
16
  region: AwsRegion;
17
- dir: string;
18
- folder: string;
17
+ localDir: string;
18
+ keyPrefix: string;
19
19
  onProgress: (progress: UploadDirProgress) => void;
20
20
  privacy: Privacy;
21
+ toUpload: string[];
21
22
  }) => Promise<void>;
@@ -4,76 +4,79 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.uploadDir = exports.getDirFiles = void 0;
7
- const client_s3_1 = require("@aws-sdk/client-s3");
8
7
  const lib_storage_1 = require("@aws-sdk/lib-storage");
9
- const fs_1 = require("fs");
10
8
  const mime_types_1 = __importDefault(require("mime-types"));
11
- const path_1 = __importDefault(require("path"));
9
+ const node_fs_1 = require("node:fs");
10
+ const node_path_1 = __importDefault(require("node:path"));
12
11
  const aws_clients_1 = require("../shared/aws-clients");
13
12
  const make_s3_key_1 = require("../shared/make-s3-key");
14
13
  const getDirFiles = (entry) => {
15
14
  throw new TypeError('should only be executed in test ' + JSON.stringify(entry));
16
15
  };
17
16
  exports.getDirFiles = getDirFiles;
18
- const uploadDir = async ({ bucket, region, dir, onProgress, folder, privacy, }) => {
19
- async function getFiles(directory) {
20
- const dirents = await fs_1.promises.readdir(directory, { withFileTypes: true });
21
- const _files = await Promise.all(dirents.map(async (dirent) => {
22
- const res = path_1.default.resolve(directory, dirent.name);
23
- const { size } = await fs_1.promises.stat(res);
24
- return dirent.isDirectory()
25
- ? getFiles(res)
26
- : [
27
- {
28
- name: res,
29
- size,
30
- },
31
- ];
32
- }));
33
- return _files.flat(1);
34
- }
35
- const files = await getFiles(dir);
17
+ async function getFiles(directory, originalDirectory, toUpload) {
18
+ const dirents = await node_fs_1.promises.readdir(directory, { withFileTypes: true });
19
+ const _files = await Promise.all(dirents
20
+ .map((dirent) => {
21
+ const res = node_path_1.default.resolve(directory, dirent.name);
22
+ return [dirent, res];
23
+ })
24
+ .filter(([dirent, res]) => {
25
+ const relative = node_path_1.default.relative(originalDirectory, res);
26
+ if (dirent.isDirectory()) {
27
+ return true;
28
+ }
29
+ if (!toUpload.includes(relative)) {
30
+ return false;
31
+ }
32
+ return true;
33
+ })
34
+ .map(async ([dirent, res]) => {
35
+ const { size } = await node_fs_1.promises.stat(res);
36
+ return dirent.isDirectory()
37
+ ? getFiles(res, originalDirectory, toUpload)
38
+ : [
39
+ {
40
+ name: res,
41
+ size,
42
+ },
43
+ ];
44
+ }));
45
+ return _files.flat(1);
46
+ }
47
+ const uploadDir = async ({ bucket, region, localDir, onProgress, keyPrefix, privacy, toUpload, }) => {
48
+ const files = await getFiles(localDir, localDir, toUpload);
36
49
  const progresses = {};
37
50
  for (const file of files) {
38
51
  progresses[file.name] = 0;
39
52
  }
40
53
  const client = (0, aws_clients_1.getS3Client)(region, null);
41
- const uploads = files.map(async (filePath) => {
42
- const Key = (0, make_s3_key_1.makeS3Key)(folder, dir, filePath.name);
43
- const Body = (0, fs_1.createReadStream)(filePath.name);
54
+ const uploads = files.map((filePath) => {
55
+ const Key = (0, make_s3_key_1.makeS3Key)(keyPrefix, localDir, filePath.name);
56
+ const Body = (0, node_fs_1.createReadStream)(filePath.name);
44
57
  const ContentType = mime_types_1.default.lookup(Key) || 'application/octet-stream';
45
58
  const ACL = privacy === 'no-acl'
46
59
  ? undefined
47
60
  : privacy === 'private'
48
61
  ? 'private'
49
62
  : 'public-read';
50
- if (filePath.size > 5 * 1024 * 1024) {
51
- const paralellUploads3 = new lib_storage_1.Upload({
52
- client,
53
- queueSize: 4,
54
- partSize: 5 * 1024 * 1024,
55
- params: {
56
- Key,
57
- Bucket: bucket,
58
- Body,
59
- ACL,
60
- ContentType,
61
- },
62
- });
63
- paralellUploads3.on('httpUploadProgress', (progress) => {
64
- var _a;
65
- progresses[filePath.name] = (_a = progress.loaded) !== null && _a !== void 0 ? _a : 0;
66
- });
67
- return paralellUploads3.done();
68
- }
69
- await client.send(new client_s3_1.PutObjectCommand({
70
- Key,
71
- Bucket: bucket,
72
- Body,
73
- ACL,
74
- ContentType,
75
- }));
76
- progresses[filePath.name] = filePath.size;
63
+ const paralellUploads3 = new lib_storage_1.Upload({
64
+ client,
65
+ queueSize: 4,
66
+ partSize: 5 * 1024 * 1024,
67
+ params: {
68
+ Key,
69
+ Bucket: bucket,
70
+ Body,
71
+ ACL,
72
+ ContentType,
73
+ },
74
+ });
75
+ paralellUploads3.on('httpUploadProgress', (progress) => {
76
+ var _a;
77
+ progresses[filePath.name] = (_a = progress.loaded) !== null && _a !== void 0 ? _a : 0;
78
+ });
79
+ return paralellUploads3.done();
77
80
  });
78
81
  const promise = Promise.all(uploads);
79
82
  const interval = setInterval(() => {
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @description Throws if the signature of the finish webhook is missing or inauthentic
3
- * @link https://remotion.dev/docs/lambda/validate-webhook-signature
3
+ * @see [Documentation](https://remotion.dev/docs/lambda/validate-webhook-signature)
4
4
  * @param params.secret The secret used for signing the webhook
5
5
  * @param params.body The body that was received by the endpoint
6
6
  * @param params.signatureHeader The `X-Remotion-Signature` header
@@ -8,6 +8,6 @@
8
8
  */
9
9
  export declare const validateWebhookSignature: ({ secret, body, signatureHeader, }: {
10
10
  secret: string;
11
- body: string;
11
+ body: unknown;
12
12
  signatureHeader: string;
13
13
  }) => void;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateWebhookSignature = void 0;
4
4
  /**
5
5
  * @description Throws if the signature of the finish webhook is missing or inauthentic
6
- * @link https://remotion.dev/docs/lambda/validate-webhook-signature
6
+ * @see [Documentation](https://remotion.dev/docs/lambda/validate-webhook-signature)
7
7
  * @param params.secret The secret used for signing the webhook
8
8
  * @param params.body The body that was received by the endpoint
9
9
  * @param params.signatureHeader The `X-Remotion-Signature` header
@@ -1,8 +1,7 @@
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
- import type { LambdaArchitecture } from '../shared/validate-architecture';
5
- declare type LambdaCommandLineOptions = {
4
+ type LambdaCommandLineOptions = {
6
5
  help: boolean;
7
6
  region: AwsRegion;
8
7
  memory: number;
@@ -13,6 +12,7 @@ declare type LambdaCommandLineOptions = {
13
12
  yes: boolean;
14
13
  force: boolean;
15
14
  f: boolean;
15
+ ['default-only']: boolean;
16
16
  ['site-name']: string | undefined;
17
17
  ['disable-chunk-optimization']: boolean;
18
18
  ['save-browser-logs']: boolean;
@@ -21,12 +21,14 @@ declare type LambdaCommandLineOptions = {
21
21
  ['frames-per-lambda']: number;
22
22
  ['concurrency-per-lambda']: number;
23
23
  ['out-name']: string | undefined;
24
- ['architecture']: LambdaArchitecture;
25
24
  ['custom-role-arn']: string | undefined;
26
25
  privacy: Privacy;
27
26
  webhook: string | undefined;
28
27
  ['webhook-secret']: string | undefined;
28
+ ['renderer-function-name']: string | undefined;
29
+ ['function-name']: string | undefined;
30
+ ['force-bucket-name']: string | undefined;
29
31
  };
30
- export declare const parsedLambdaCli: LambdaCommandLineOptions & minimist.ParsedArgs;
32
+ export declare const parsedLambdaCli: LambdaCommandLineOptions & import("minimist").ParsedArgs;
31
33
  export declare const forceFlagProvided: boolean;
32
34
  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 ||
@@ -0,0 +1,2 @@
1
+ export declare const COMPOSITIONS_COMMAND = "compositions";
2
+ export declare const compositionsCommand: (args: string[], remotionRoot: string) => Promise<void>;