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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/LICENSE.md +8 -8
  2. package/dist/admin/bundle-lambda.d.ts +0 -0
  3. package/dist/admin/bundle-lambda.js +16 -3
  4. package/dist/admin/generate-etag-list.d.ts +1 -0
  5. package/dist/admin/generate-etag-list.js +14 -0
  6. package/dist/admin/make-layer-public.d.ts +0 -0
  7. package/dist/admin/make-layer-public.js +62 -67
  8. package/dist/api/bucket-exists.d.ts +0 -0
  9. package/dist/api/bucket-exists.js +1 -1
  10. package/dist/api/clean-items.d.ts +0 -0
  11. package/dist/api/clean-items.js +2 -2
  12. package/dist/api/create-bucket.d.ts +0 -0
  13. package/dist/api/create-bucket.js +1 -1
  14. package/dist/api/create-function.d.ts +1 -3
  15. package/dist/api/create-function.js +25 -4
  16. package/dist/api/delete-function.d.ts +1 -1
  17. package/dist/api/delete-function.js +1 -1
  18. package/dist/api/delete-render.d.ts +19 -0
  19. package/dist/api/delete-render.js +66 -0
  20. package/dist/api/delete-site.d.ts +1 -1
  21. package/dist/api/delete-site.js +1 -6
  22. package/dist/api/deploy-function.d.ts +1 -4
  23. package/dist/api/deploy-function.js +6 -8
  24. package/dist/api/deploy-site.d.ts +11 -2
  25. package/dist/api/deploy-site.js +60 -22
  26. package/dist/api/download-media.d.ts +12 -3
  27. package/dist/api/download-media.js +16 -8
  28. package/dist/api/estimate-price.d.ts +2 -4
  29. package/dist/api/estimate-price.js +4 -10
  30. package/dist/api/get-aws-client.d.ts +7 -3
  31. package/dist/api/get-aws-client.js +10 -3
  32. package/dist/api/get-buckets.d.ts +0 -0
  33. package/dist/api/get-buckets.js +27 -10
  34. package/dist/api/get-compositions-on-lambda.d.ts +29 -0
  35. package/dist/api/get-compositions-on-lambda.js +54 -0
  36. package/dist/api/get-function-info.d.ts +2 -3
  37. package/dist/api/get-function-info.js +1 -1
  38. package/dist/api/get-functions.d.ts +1 -3
  39. package/dist/api/get-functions.js +3 -4
  40. package/dist/api/get-or-create-bucket.d.ts +2 -1
  41. package/dist/api/get-or-create-bucket.js +6 -11
  42. package/dist/api/get-regions.d.ts +6 -2
  43. package/dist/api/get-regions.js +6 -3
  44. package/dist/api/get-render-progress.d.ts +5 -2
  45. package/dist/api/get-render-progress.js +6 -2
  46. package/dist/api/get-sites.d.ts +2 -2
  47. package/dist/api/get-sites.js +1 -2
  48. package/dist/api/iam-validation/role-permissions.d.ts +0 -0
  49. package/dist/api/iam-validation/role-permissions.js +0 -0
  50. package/dist/api/iam-validation/simulate-rule.d.ts +0 -0
  51. package/dist/api/iam-validation/simulate-rule.js +0 -22
  52. package/dist/api/iam-validation/simulate.d.ts +1 -1
  53. package/dist/api/iam-validation/simulate.js +27 -6
  54. package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
  55. package/dist/api/iam-validation/suggested-policy.js +0 -0
  56. package/dist/api/iam-validation/user-permissions.d.ts +1 -1
  57. package/dist/api/iam-validation/user-permissions.js +1 -8
  58. package/dist/api/mock-functions.d.ts +4 -5
  59. package/dist/api/mock-functions.js +0 -0
  60. package/dist/api/presign-url.d.ts +4 -4
  61. package/dist/api/presign-url.js +9 -4
  62. package/dist/api/render-media-on-lambda.d.ts +37 -16
  63. package/dist/api/render-media-on-lambda.js +88 -38
  64. package/dist/api/render-still-on-lambda.d.ts +11 -6
  65. package/dist/api/render-still-on-lambda.js +58 -31
  66. package/dist/api/speculate-function-name.d.ts +14 -0
  67. package/dist/api/speculate-function-name.js +22 -0
  68. package/dist/api/upload-dir.d.ts +4 -3
  69. package/dist/api/upload-dir.js +57 -50
  70. package/dist/api/validate-webhook-signature.d.ts +13 -0
  71. package/dist/api/validate-webhook-signature.js +32 -0
  72. package/dist/cli/args.d.ts +9 -4
  73. package/dist/cli/args.js +1 -5
  74. package/dist/cli/commands/compositions/index.d.ts +2 -0
  75. package/dist/cli/commands/compositions/index.js +44 -0
  76. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  77. package/dist/cli/commands/functions/deploy.js +11 -13
  78. package/dist/cli/commands/functions/index.d.ts +0 -0
  79. package/dist/cli/commands/functions/index.js +16 -17
  80. package/dist/cli/commands/functions/ls.d.ts +0 -0
  81. package/dist/cli/commands/functions/ls.js +9 -7
  82. package/dist/cli/commands/functions/rm.d.ts +0 -0
  83. package/dist/cli/commands/functions/rm.js +8 -2
  84. package/dist/cli/commands/functions/rmall.d.ts +0 -0
  85. package/dist/cli/commands/functions/rmall.js +8 -2
  86. package/dist/cli/commands/policies/policies.d.ts +0 -0
  87. package/dist/cli/commands/policies/policies.js +0 -0
  88. package/dist/cli/commands/policies/role.d.ts +0 -0
  89. package/dist/cli/commands/policies/role.js +0 -0
  90. package/dist/cli/commands/policies/user.d.ts +0 -0
  91. package/dist/cli/commands/policies/user.js +0 -0
  92. package/dist/cli/commands/policies/validate.d.ts +0 -0
  93. package/dist/cli/commands/policies/validate.js +0 -0
  94. package/dist/cli/commands/quotas/increase.d.ts +0 -0
  95. package/dist/cli/commands/quotas/increase.js +28 -8
  96. package/dist/cli/commands/quotas/index.d.ts +0 -0
  97. package/dist/cli/commands/quotas/index.js +8 -9
  98. package/dist/cli/commands/quotas/list.d.ts +0 -0
  99. package/dist/cli/commands/quotas/list.js +0 -0
  100. package/dist/cli/commands/regions.d.ts +0 -0
  101. package/dist/cli/commands/regions.js +6 -2
  102. package/dist/cli/commands/render/progress.d.ts +9 -5
  103. package/dist/cli/commands/render/progress.js +66 -48
  104. package/dist/cli/commands/render/render.d.ts +1 -1
  105. package/dist/cli/commands/render/render.js +86 -29
  106. package/dist/cli/commands/sites/create.d.ts +1 -1
  107. package/dist/cli/commands/sites/create.js +30 -27
  108. package/dist/cli/commands/sites/index.d.ts +1 -1
  109. package/dist/cli/commands/sites/index.js +15 -16
  110. package/dist/cli/commands/sites/ls.d.ts +0 -0
  111. package/dist/cli/commands/sites/ls.js +10 -12
  112. package/dist/cli/commands/sites/rm.d.ts +0 -0
  113. package/dist/cli/commands/sites/rm.js +8 -19
  114. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  115. package/dist/cli/commands/sites/rmall.js +7 -19
  116. package/dist/cli/commands/still.d.ts +1 -1
  117. package/dist/cli/commands/still.js +36 -27
  118. package/dist/cli/get-aws-region.d.ts +0 -0
  119. package/dist/cli/get-aws-region.js +2 -1
  120. package/dist/cli/help.d.ts +0 -0
  121. package/dist/cli/help.js +0 -0
  122. package/dist/cli/helpers/confirm.d.ts +0 -0
  123. package/dist/cli/helpers/confirm.js +0 -0
  124. package/dist/cli/helpers/date-string.d.ts +0 -0
  125. package/dist/cli/helpers/date-string.js +0 -0
  126. package/dist/cli/helpers/find-function-name.d.ts +0 -0
  127. package/dist/cli/helpers/find-function-name.js +37 -7
  128. package/dist/cli/helpers/progress-bar.d.ts +9 -3
  129. package/dist/cli/helpers/progress-bar.js +20 -8
  130. package/dist/cli/helpers/quit.d.ts +0 -0
  131. package/dist/cli/helpers/quit.js +0 -0
  132. package/dist/cli/helpers/yes-or-no.d.ts +0 -0
  133. package/dist/cli/helpers/yes-or-no.js +0 -0
  134. package/dist/cli/index.d.ts +1 -1
  135. package/dist/cli/index.js +20 -9
  136. package/dist/cli/is-cli.d.ts +0 -0
  137. package/dist/cli/is-cli.js +0 -0
  138. package/dist/cli/log.d.ts +12 -0
  139. package/dist/cli/log.js +0 -0
  140. package/dist/client.d.ts +10 -2
  141. package/dist/client.js +11 -1
  142. package/dist/defaults.d.ts +0 -0
  143. package/dist/defaults.js +0 -0
  144. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +2 -6
  145. package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -19
  146. package/dist/functions/chunk-optimization/types.d.ts +0 -11
  147. package/dist/functions/chunk-optimization/types.js +0 -0
  148. package/dist/functions/compositions.d.ts +8 -0
  149. package/dist/functions/compositions.js +56 -0
  150. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  151. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  152. package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
  153. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  154. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +1 -3
  155. package/dist/functions/helpers/calculate-price-from-bucket.js +1 -2
  156. package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
  157. package/dist/functions/helpers/check-if-render-exists.js +14 -0
  158. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  159. package/dist/functions/helpers/clean-tmpdir.js +1 -1
  160. package/dist/functions/helpers/concat-videos.d.ts +15 -6
  161. package/dist/functions/helpers/concat-videos.js +33 -32
  162. package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
  163. package/dist/functions/helpers/create-post-render-data.js +1 -10
  164. package/dist/functions/helpers/delete-chunks.d.ts +0 -0
  165. package/dist/functions/helpers/delete-chunks.js +0 -0
  166. package/dist/functions/helpers/expected-out-name.d.ts +4 -2
  167. package/dist/functions/helpers/expected-out-name.js +27 -6
  168. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +3 -1
  169. package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
  170. package/dist/functions/helpers/format-costs-info.d.ts +0 -0
  171. package/dist/functions/helpers/format-costs-info.js +0 -0
  172. package/dist/functions/helpers/get-browser-instance.d.ts +0 -0
  173. package/dist/functions/helpers/get-browser-instance.js +2 -2
  174. package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
  175. package/dist/functions/helpers/get-chromium-executable-path.js +3 -2
  176. package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
  177. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  178. package/dist/functions/helpers/get-current-region.d.ts +1 -1
  179. package/dist/functions/helpers/get-current-region.js +0 -0
  180. package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
  181. package/dist/functions/helpers/get-custom-out-name.js +31 -0
  182. package/dist/functions/helpers/get-encoding-metadata.d.ts +5 -8
  183. package/dist/functions/helpers/get-encoding-metadata.js +7 -17
  184. package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
  185. package/dist/functions/helpers/get-files-in-folder.js +0 -0
  186. package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
  187. package/dist/functions/helpers/get-files-to-delete.js +1 -1
  188. package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -4
  189. package/dist/functions/helpers/get-final-encoding-status.js +1 -4
  190. package/dist/functions/helpers/get-folder-size.d.ts +0 -0
  191. package/dist/functions/helpers/get-folder-size.js +0 -0
  192. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +4 -3
  193. package/dist/functions/helpers/get-lambdas-invoked-stats.js +2 -10
  194. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +2 -1
  195. package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
  196. package/dist/functions/helpers/get-overall-progress.d.ts +2 -1
  197. package/dist/functions/helpers/get-overall-progress.js +7 -5
  198. package/dist/functions/helpers/get-post-render-data.d.ts +0 -0
  199. package/dist/functions/helpers/get-post-render-data.js +0 -0
  200. package/dist/functions/helpers/get-progress.d.ts +4 -2
  201. package/dist/functions/helpers/get-progress.js +58 -44
  202. package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
  203. package/dist/functions/helpers/get-render-metadata.js +0 -0
  204. package/dist/functions/helpers/get-rendered-frames-progress.d.ts +8 -0
  205. package/dist/functions/helpers/get-rendered-frames-progress.js +37 -0
  206. package/dist/functions/helpers/get-retry-stats.d.ts +0 -0
  207. package/dist/functions/helpers/get-retry-stats.js +1 -1
  208. package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
  209. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  210. package/dist/functions/helpers/inspect-errors.d.ts +0 -0
  211. package/dist/functions/helpers/inspect-errors.js +0 -0
  212. package/dist/functions/helpers/io.d.ts +19 -1
  213. package/dist/functions/helpers/io.js +31 -8
  214. package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
  215. package/dist/functions/helpers/is-enosp-err.js +1 -1
  216. package/dist/functions/helpers/is-warm.d.ts +0 -0
  217. package/dist/functions/helpers/is-warm.js +0 -0
  218. package/dist/functions/helpers/make-timeout-error.d.ts +8 -0
  219. package/dist/functions/helpers/make-timeout-error.js +48 -0
  220. package/dist/functions/helpers/min-max.d.ts +1 -1
  221. package/dist/functions/helpers/min-max.js +1 -1
  222. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +1 -1
  223. package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
  224. package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
  225. package/dist/functions/helpers/print-concurrency-curve.js +0 -0
  226. package/dist/functions/helpers/read-with-progress.d.ts +5 -2
  227. package/dist/functions/helpers/read-with-progress.js +16 -4
  228. package/dist/functions/helpers/timer.d.ts +0 -0
  229. package/dist/functions/helpers/timer.js +0 -0
  230. package/dist/functions/helpers/validate-composition.d.ts +6 -5
  231. package/dist/functions/helpers/validate-composition.js +9 -4
  232. package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
  233. package/dist/functions/helpers/write-lambda-error.js +2 -0
  234. package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
  235. package/dist/functions/helpers/write-post-render-data.js +2 -0
  236. package/dist/functions/index.d.ts +15 -4
  237. package/dist/functions/index.js +30 -11
  238. package/dist/functions/info.d.ts +2 -2
  239. package/dist/functions/info.js +2 -1
  240. package/dist/functions/launch.d.ts +1 -0
  241. package/dist/functions/launch.js +359 -129
  242. package/dist/functions/progress.d.ts +1 -1
  243. package/dist/functions/progress.js +10 -1
  244. package/dist/functions/renderer.d.ts +0 -0
  245. package/dist/functions/renderer.js +144 -77
  246. package/dist/functions/start.d.ts +5 -1
  247. package/dist/functions/start.js +44 -6
  248. package/dist/functions/still.d.ts +0 -0
  249. package/dist/functions/still.js +72 -25
  250. package/dist/index.d.ts +28 -8
  251. package/dist/index.js +27 -6
  252. package/dist/internals.d.ts +1 -1
  253. package/dist/internals.js +0 -0
  254. package/dist/pricing/aws-regions.d.ts +2 -1
  255. package/dist/pricing/aws-regions.js +31 -1
  256. package/dist/pricing/price-per-1-s.d.ts +0 -0
  257. package/dist/pricing/price-per-1-s.js +413 -39
  258. package/dist/regions.d.ts +0 -0
  259. package/dist/regions.js +0 -0
  260. package/dist/shared/await.d.ts +0 -0
  261. package/dist/shared/await.js +0 -0
  262. package/dist/shared/aws-clients.d.ts +16 -2
  263. package/dist/shared/aws-clients.js +118 -26
  264. package/dist/shared/bundle-site.d.ts +2 -6
  265. package/dist/shared/bundle-site.js +0 -0
  266. package/dist/shared/call-lambda.d.ts +0 -0
  267. package/dist/shared/call-lambda.js +0 -0
  268. package/dist/shared/check-credentials.d.ts +0 -0
  269. package/dist/shared/check-credentials.js +5 -2
  270. package/dist/shared/chunk-progress.d.ts +9 -0
  271. package/dist/shared/chunk-progress.js +2034 -0
  272. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  273. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  274. package/dist/shared/constants.d.ts +126 -44
  275. package/dist/shared/constants.js +21 -11
  276. package/dist/shared/content-disposition-header.d.ts +7 -0
  277. package/dist/shared/content-disposition-header.js +19 -0
  278. package/dist/shared/convert-to-serve-url.d.ts +5 -1
  279. package/dist/shared/convert-to-serve-url.js +1 -5
  280. package/dist/shared/deserialize-input-props.d.ts +8 -0
  281. package/dist/shared/deserialize-input-props.js +26 -0
  282. package/dist/shared/docs-url.d.ts +0 -0
  283. package/dist/shared/docs-url.js +0 -0
  284. package/dist/shared/function-zip-path.d.ts +1 -1
  285. package/dist/shared/function-zip-path.js +2 -2
  286. package/dist/shared/get-account-id.d.ts +0 -0
  287. package/dist/shared/get-account-id.js +4 -6
  288. package/dist/shared/get-aws-urls.d.ts +14 -0
  289. package/dist/shared/get-aws-urls.js +12 -0
  290. package/dist/shared/get-etag.d.ts +1 -0
  291. package/dist/shared/get-etag.js +24 -0
  292. package/dist/shared/get-function-version.d.ts +1 -2
  293. package/dist/shared/get-function-version.js +0 -0
  294. package/dist/shared/get-most-expensive-chunks.d.ts +1 -1
  295. package/dist/shared/get-most-expensive-chunks.js +3 -2
  296. package/dist/shared/get-s3-operations.d.ts +10 -0
  297. package/dist/shared/get-s3-operations.js +36 -0
  298. package/dist/shared/hosted-layers.d.ts +4 -7
  299. package/dist/shared/hosted-layers.js +294 -284
  300. package/dist/shared/invoke-webhook.d.ts +46 -0
  301. package/dist/shared/invoke-webhook.js +89 -0
  302. package/dist/shared/is-in-lambda.d.ts +0 -0
  303. package/dist/shared/is-in-lambda.js +5 -1
  304. package/dist/shared/lambda-version-string.d.ts +1 -0
  305. package/dist/shared/lambda-version-string.js +7 -0
  306. package/dist/shared/make-s3-key.d.ts +0 -0
  307. package/dist/shared/make-s3-key.js +0 -0
  308. package/dist/shared/make-s3-url.d.ts +0 -0
  309. package/dist/shared/make-s3-url.js +0 -0
  310. package/dist/shared/p-limit.d.ts +0 -0
  311. package/dist/shared/p-limit.js +0 -0
  312. package/dist/shared/parse-chunk-key.d.ts +4 -0
  313. package/dist/shared/parse-chunk-key.js +14 -0
  314. package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
  315. package/dist/shared/parse-lambda-initialized-key.js +0 -0
  316. package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
  317. package/dist/shared/parse-lambda-timings-key.js +0 -0
  318. package/dist/shared/random-hash.d.ts +0 -0
  319. package/dist/shared/random-hash.js +0 -0
  320. package/dist/shared/read-dir.d.ts +9 -0
  321. package/dist/shared/read-dir.js +57 -0
  322. package/dist/shared/return-values.d.ts +2 -0
  323. package/dist/shared/return-values.js +0 -0
  324. package/dist/shared/serialize-input-props.d.ts +8 -0
  325. package/dist/shared/serialize-input-props.js +42 -0
  326. package/dist/shared/sleep.d.ts +0 -0
  327. package/dist/shared/sleep.js +0 -0
  328. package/dist/shared/stream-to-string.d.ts +0 -0
  329. package/dist/shared/stream-to-string.js +0 -0
  330. package/dist/shared/truthy.d.ts +3 -0
  331. package/dist/shared/truthy.js +7 -0
  332. package/dist/shared/validate-aws-region.d.ts +0 -0
  333. package/dist/shared/validate-aws-region.js +0 -0
  334. package/dist/shared/validate-bucketname.d.ts +5 -0
  335. package/dist/shared/validate-bucketname.js +19 -1
  336. package/dist/shared/validate-custom-role-arn.d.ts +0 -0
  337. package/dist/shared/validate-custom-role-arn.js +0 -0
  338. package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
  339. package/dist/shared/validate-disk-size-in-mb.js +0 -0
  340. package/dist/shared/validate-download-behavior.d.ts +1 -0
  341. package/dist/shared/validate-download-behavior.js +21 -0
  342. package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
  343. package/dist/shared/validate-frames-per-lambda.js +4 -3
  344. package/dist/shared/validate-lambda-codec.d.ts +4 -0
  345. package/dist/shared/validate-lambda-codec.js +30 -0
  346. package/dist/shared/validate-memory-size.d.ts +0 -0
  347. package/dist/shared/validate-memory-size.js +0 -0
  348. package/dist/shared/validate-outname.d.ts +3 -2
  349. package/dist/shared/validate-outname.js +13 -3
  350. package/dist/shared/validate-presign-expiration.d.ts +0 -2
  351. package/dist/shared/validate-presign-expiration.js +7 -7
  352. package/dist/shared/validate-privacy.d.ts +0 -0
  353. package/dist/shared/validate-privacy.js +2 -2
  354. package/dist/shared/validate-retention-period.d.ts +0 -0
  355. package/dist/shared/validate-retention-period.js +0 -0
  356. package/dist/shared/validate-retries.d.ts +0 -0
  357. package/dist/shared/validate-retries.js +0 -0
  358. package/dist/shared/validate-serveurl.d.ts +0 -0
  359. package/dist/shared/validate-serveurl.js +0 -0
  360. package/dist/shared/validate-site-name.d.ts +0 -0
  361. package/dist/shared/validate-site-name.js +0 -0
  362. package/dist/shared/validate-timeout.d.ts +0 -0
  363. package/dist/shared/validate-timeout.js +0 -0
  364. package/package.json +53 -27
  365. package/remotionlambda-arm64.zip +0 -0
  366. package/remotionlambda-x64.zip +0 -0
  367. package/remotionlambda.zip +0 -0
  368. package/.prettierrc.js +0 -14
  369. package/client.d.ts +0 -1
  370. package/client.js +0 -1
  371. package/dist/api/enable-s3-website.d.ts +0 -5
  372. package/dist/api/enable-s3-website.js +0 -16
  373. package/dist/cli/helpers/format-bytes.d.ts +0 -6
  374. package/dist/cli/helpers/format-bytes.js +0 -103
  375. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
  376. package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
  377. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
  378. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
  379. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
  380. package/dist/functions/chunk-optimization/collect-data.js +0 -27
  381. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
  382. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
  383. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
  384. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
  385. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
  386. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
  387. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
  388. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
  389. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
  390. package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
  391. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
  392. package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -45
  393. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
  394. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
  395. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
  396. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
  397. package/dist/functions/helpers/get-current-architecture.d.ts +0 -2
  398. package/dist/functions/helpers/get-current-architecture.js +0 -11
  399. package/dist/shared/chunk.d.ts +0 -1
  400. package/dist/shared/chunk.js +0 -11
  401. package/dist/shared/validate-architecture.d.ts +0 -4
  402. package/dist/shared/validate-architecture.js +0 -14
  403. package/tsconfig.json +0 -16
@@ -0,0 +1,7 @@
1
+ import type { AwsRegion } from '../client';
2
+ import type { SerializedInputProps } from './constants';
3
+ export declare const cleanupSerializedInputProps: ({ serialized, region, bucketName, }: {
4
+ serialized: SerializedInputProps;
5
+ region: AwsRegion;
6
+ bucketName: string;
7
+ }) => Promise<number>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanupSerializedInputProps = void 0;
4
+ const io_1 = require("../functions/helpers/io");
5
+ const constants_1 = require("./constants");
6
+ const cleanupSerializedInputProps = async ({ serialized, region, bucketName, }) => {
7
+ if (serialized.type === 'payload') {
8
+ return 0;
9
+ }
10
+ const time = Date.now();
11
+ await (0, io_1.lambdaDeleteFile)({
12
+ bucketName,
13
+ key: (0, constants_1.inputPropsKey)(serialized.hash),
14
+ region,
15
+ customCredentials: null,
16
+ });
17
+ return Date.now() - time;
18
+ };
19
+ exports.cleanupSerializedInputProps = cleanupSerializedInputProps;
@@ -1,14 +1,15 @@
1
- import type { ChromiumOptions } from '@remotion/renderer';
2
- import type { Codec, FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile, VideoConfig } from 'remotion';
1
+ import type { AudioCodec, ChromiumOptions, Codec, FrameRange, LogLevel, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat } from '@remotion/renderer';
2
+ import type { AnyCompMetadata } from 'remotion';
3
3
  import type { ChunkRetry } from '../functions/helpers/get-retry-stats';
4
4
  import type { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
5
5
  import type { AwsRegion } from '../pricing/aws-regions';
6
+ import type { CustomCredentials, CustomCredentialsWithoutSensitiveData } from './aws-clients';
7
+ import type { DownloadBehavior } from './content-disposition-header';
6
8
  import type { ExpensiveChunk } from './get-most-expensive-chunks';
7
- import type { LambdaArchitecture } from './validate-architecture';
9
+ import type { LambdaCodec } from './validate-lambda-codec';
8
10
  export declare const MIN_MEMORY = 512;
9
11
  export declare const MAX_MEMORY = 10240;
10
12
  export declare const DEFAULT_MEMORY_SIZE = 2048;
11
- export declare const DEFAULT_ARCHITECTURE: LambdaArchitecture;
12
13
  export declare const DEFAULT_TIMEOUT = 120;
13
14
  export declare const MIN_TIMEOUT = 15;
14
15
  export declare const MAX_TIMEOUT = 900;
@@ -19,19 +20,21 @@ export declare const COMMAND_NOT_FOUND = "Command not found";
19
20
  export declare const DEFAULT_REGION: AwsRegion;
20
21
  export declare const DEFAULT_MAX_RETRIES = 1;
21
22
  export declare const MAX_FUNCTIONS_PER_RENDER = 200;
22
- export declare const DEFAULT_EPHEMERAL_STORAGE_IN_MB = 512;
23
+ export declare const DEFAULT_EPHEMERAL_STORAGE_IN_MB = 2048;
23
24
  export declare const MIN_EPHEMERAL_STORAGE_IN_MB = 512;
24
25
  export declare const MAX_EPHEMERAL_STORAGE_IN_MB = 10240;
25
26
  export declare const DEFAULT_OUTPUT_PRIVACY: Privacy;
26
27
  export declare const DEFAULT_CLOUDWATCH_RETENTION_PERIOD = 14;
28
+ export declare const ENCODING_PROGRESS_STEP_SIZE = 100;
27
29
  export declare const REMOTION_BUCKET_PREFIX = "remotionlambda-";
28
30
  export declare const RENDER_FN_PREFIX = "remotion-render-";
29
31
  export declare const LOG_GROUP_PREFIX = "/aws/lambda/";
30
32
  export declare const rendersPrefix: (renderId: string) => string;
31
33
  export declare const encodingProgressKey: (renderId: string) => string;
32
34
  export declare const renderMetadataKey: (renderId: string) => string;
33
- export declare const lambdaInitializedPrefix: (renderId: string) => string;
34
- export declare const lambdaInitializedKey: ({ renderId, chunk, attempt, }: {
35
+ export declare const initalizedMetadataKey: (renderId: string) => string;
36
+ export declare const lambdaChunkInitializedPrefix: (renderId: string) => string;
37
+ export declare const lambdaChunkInitializedKey: ({ renderId, chunk, attempt, }: {
35
38
  attempt: number;
36
39
  renderId: string;
37
40
  chunk: number;
@@ -59,17 +62,24 @@ export declare const getErrorFileName: ({ renderId, chunk, attempt, }: {
59
62
  export declare type OutNameInput = string | {
60
63
  bucketName: string;
61
64
  key: string;
65
+ s3OutputProvider?: CustomCredentials;
66
+ };
67
+ export declare type OutNameInputWithoutCredentials = string | {
68
+ bucketName: string;
69
+ key: string;
70
+ s3OutputProvider?: CustomCredentialsWithoutSensitiveData;
62
71
  };
63
72
  export declare type OutNameOutput = {
64
73
  renderBucketName: string;
65
74
  key: string;
75
+ customCredentials: CustomCredentials | null;
66
76
  };
67
- export declare const optimizationProfile: (siteId: string, compositionId: string) => string;
68
77
  export declare const getSitesKey: (siteId: string) => string;
69
78
  export declare const outName: (renderId: string, extension: string) => string;
70
- export declare const outStillName: (renderId: string, imageFormat: ImageFormat) => string;
79
+ export declare const outStillName: (renderId: string, imageFormat: StillImageFormat) => string;
71
80
  export declare const customOutName: (renderId: string, bucketName: string, name: OutNameInput) => OutNameOutput;
72
81
  export declare const postRenderDataKey: (renderId: string) => string;
82
+ export declare const inputPropsKey: (hash: string) => string;
73
83
  export declare const RENDERER_PATH_TOKEN = "remotion-bucket";
74
84
  export declare const CONCAT_FOLDER_TOKEN = "remotion-concat";
75
85
  export declare const REMOTION_CONCATED_TOKEN = "remotion-concated-token";
@@ -80,20 +90,34 @@ export declare enum LambdaRoutines {
80
90
  launch = "launch",
81
91
  status = "status",
82
92
  renderer = "renderer",
83
- still = "still"
93
+ still = "still",
94
+ compositions = "compositions"
84
95
  }
96
+ declare type WebhookOption = null | {
97
+ url: string;
98
+ secret: string | null;
99
+ };
100
+ export declare type SerializedInputProps = {
101
+ type: 'bucket-url';
102
+ hash: string;
103
+ } | {
104
+ type: 'payload';
105
+ payload: unknown;
106
+ };
85
107
  export declare type LambdaPayloads = {
86
108
  info: {
87
109
  type: LambdaRoutines.info;
88
110
  };
89
111
  start: {
112
+ rendererFunctionName: string | null;
90
113
  type: LambdaRoutines.start;
91
114
  serveUrl: string;
92
115
  composition: string;
93
116
  framesPerLambda: number | null;
94
- inputProps: unknown;
95
- codec: Codec;
96
- imageFormat: ImageFormat;
117
+ inputProps: SerializedInputProps;
118
+ codec: LambdaCodec;
119
+ audioCodec: AudioCodec | null;
120
+ imageFormat: VideoImageFormat;
97
121
  crf: number | undefined;
98
122
  envVariables: Record<string, string> | undefined;
99
123
  pixelFormat: PixelFormat | undefined;
@@ -107,17 +131,32 @@ export declare type LambdaPayloads = {
107
131
  timeoutInMilliseconds: number;
108
132
  chromiumOptions: ChromiumOptions;
109
133
  scale: number;
134
+ everyNthFrame: number;
135
+ numberOfGifLoops: number | null;
136
+ concurrencyPerLambda: number;
137
+ downloadBehavior: DownloadBehavior;
138
+ muted: boolean;
139
+ version: string;
140
+ overwrite: boolean;
141
+ audioBitrate: string | null;
142
+ videoBitrate: string | null;
143
+ webhook: WebhookOption;
144
+ forceHeight: number | null;
145
+ forceWidth: number | null;
146
+ bucketName: string | null;
110
147
  };
111
148
  launch: {
149
+ rendererFunctionName: string | null;
112
150
  type: LambdaRoutines.launch;
113
151
  serveUrl: string;
114
152
  composition: string;
115
153
  framesPerLambda: number | null;
116
154
  bucketName: string;
117
- inputProps: unknown;
155
+ inputProps: SerializedInputProps;
118
156
  renderId: string;
119
- imageFormat: ImageFormat;
120
- codec: Codec;
157
+ imageFormat: VideoImageFormat;
158
+ codec: LambdaCodec;
159
+ audioCodec: AudioCodec | null;
121
160
  crf: number | undefined;
122
161
  envVariables: Record<string, string> | undefined;
123
162
  pixelFormat: PixelFormat | undefined;
@@ -131,13 +170,27 @@ export declare type LambdaPayloads = {
131
170
  timeoutInMilliseconds: number;
132
171
  chromiumOptions: ChromiumOptions;
133
172
  scale: number;
173
+ everyNthFrame: number;
174
+ numberOfGifLoops: number | null;
175
+ concurrencyPerLambda: number;
176
+ downloadBehavior: DownloadBehavior;
177
+ muted: boolean;
178
+ overwrite: boolean;
179
+ audioBitrate: string | null;
180
+ videoBitrate: string | null;
181
+ webhook: WebhookOption;
182
+ forceHeight: number | null;
183
+ forceWidth: number | null;
134
184
  };
135
185
  status: {
136
186
  type: LambdaRoutines.status;
137
187
  bucketName: string;
138
188
  renderId: string;
189
+ version: string;
190
+ s3OutputProvider?: CustomCredentials;
139
191
  };
140
192
  renderer: {
193
+ concurrencyPerLambda: number;
141
194
  type: LambdaRoutines.renderer;
142
195
  serveUrl: string;
143
196
  frameRange: [number, number];
@@ -149,10 +202,10 @@ export declare type LambdaPayloads = {
149
202
  width: number;
150
203
  durationInFrames: number;
151
204
  retriesLeft: number;
152
- inputProps: unknown;
205
+ inputProps: SerializedInputProps;
153
206
  renderId: string;
154
- imageFormat: ImageFormat;
155
- codec: Codec;
207
+ imageFormat: VideoImageFormat;
208
+ codec: LambdaCodec;
156
209
  crf: number | undefined;
157
210
  proResProfile: ProResProfile | undefined;
158
211
  pixelFormat: PixelFormat | undefined;
@@ -164,13 +217,20 @@ export declare type LambdaPayloads = {
164
217
  timeoutInMilliseconds: number;
165
218
  chromiumOptions: ChromiumOptions;
166
219
  scale: number;
220
+ everyNthFrame: number;
221
+ muted: boolean;
222
+ audioBitrate: string | null;
223
+ videoBitrate: string | null;
224
+ launchFunctionConfig: {
225
+ version: string;
226
+ };
167
227
  };
168
228
  still: {
169
229
  type: LambdaRoutines.still;
170
230
  serveUrl: string;
171
231
  composition: string;
172
- inputProps: unknown;
173
- imageFormat: ImageFormat;
232
+ inputProps: SerializedInputProps;
233
+ imageFormat: StillImageFormat;
174
234
  envVariables: Record<string, string> | undefined;
175
235
  attempt: number;
176
236
  quality: number | undefined;
@@ -178,48 +238,68 @@ export declare type LambdaPayloads = {
178
238
  frame: number;
179
239
  privacy: Privacy;
180
240
  logLevel: LogLevel;
181
- outName: string | null;
241
+ outName: OutNameInput | null;
182
242
  timeoutInMilliseconds: number;
183
243
  chromiumOptions: ChromiumOptions;
184
244
  scale: number;
245
+ downloadBehavior: DownloadBehavior | null;
246
+ version: string;
247
+ forceHeight: number | null;
248
+ forceWidth: number | null;
249
+ bucketName: string | null;
250
+ };
251
+ compositions: {
252
+ type: LambdaRoutines.compositions;
253
+ version: string;
254
+ chromiumOptions: ChromiumOptions;
255
+ logLevel: LogLevel;
256
+ inputProps: SerializedInputProps;
257
+ envVariables: Record<string, string> | undefined;
258
+ timeoutInMilliseconds: number;
259
+ serveUrl: string;
260
+ bucketName: string | null;
185
261
  };
186
262
  };
187
263
  export declare type LambdaPayload = LambdaPayloads[LambdaRoutines];
188
264
  export declare type EncodingProgress = {
189
265
  framesEncoded: number;
190
- totalFrames: number | null;
191
- doneIn: number | null;
192
- timeToInvoke: number | null;
193
266
  };
194
- export declare type RenderMetadata = {
267
+ declare type Discriminated = {
268
+ type: 'still';
269
+ imageFormat: StillImageFormat;
270
+ } | {
271
+ type: 'video';
272
+ imageFormat: VideoImageFormat;
273
+ };
274
+ export declare type RenderMetadata = Discriminated & {
195
275
  siteId: string;
196
- videoConfig: VideoConfig;
276
+ videoConfig: AnyCompMetadata;
197
277
  startedDate: number;
198
278
  totalChunks: number;
199
279
  estimatedTotalLambdaInvokations: number;
200
280
  estimatedRenderLambdaInvokations: number;
201
281
  compositionId: string;
202
282
  codec: Codec | null;
203
- usesOptimizationProfile: boolean;
204
- type: 'still' | 'video';
205
- imageFormat: ImageFormat;
206
- inputProps: unknown;
283
+ audioCodec: AudioCodec | null;
284
+ inputProps: SerializedInputProps;
207
285
  framesPerLambda: number;
208
286
  memorySizeInMb: number;
209
- lambdaVersion: LambdaVersions;
287
+ lambdaVersion: string;
210
288
  region: AwsRegion;
211
289
  renderId: string;
212
- outName: OutNameInput | undefined;
290
+ outName: OutNameInputWithoutCredentials | undefined;
291
+ privacy: Privacy;
292
+ frameRange: [number, number];
293
+ everyNthFrame: number;
294
+ };
295
+ export declare type AfterRenderCost = {
296
+ estimatedCost: number;
297
+ estimatedDisplayCost: string;
298
+ currency: string;
299
+ disclaimer: string;
213
300
  };
214
- export declare type LambdaVersions = '2022-06-29-2x' | '2022-06-29' | '2022-06-25' | '2022-06-22' | '2022-06-21' | '2022-06-14' | '2022-06-08' | '2022-06-07' | '2022-06-02' | '2022-05-31' | '2022-05-28' | '2022-05-27' | '2022-05-19' | '2022-05-16' | '2022-05-11' | '2022-05-07' | '2022-05-06' | '2022-05-03' | '2022-04-20' | '2022-04-19' | '2022-04-18' | '2022-04-09' | '2022-04-08' | '2022-04-05' | '2022-04-02' | '2022-03-29' | '2022-03-17' | '2022-03-02' | '2022-03-01' | '2022-02-27' | '2022-02-14' | '2022-02-12' | '2022-02-09' | '2022-02-08' | '2022-02-07' | '2022-02-06' | '2022-02-05' | '2022-02-04' | '2022-02-03' | '2022-01-23' | '2022-01-19' | '2022-01-11' | '2022-01-10' | '2022-01-09' | '2022-01-06' | '2022-01-05' | '2021-12-22' | '2021-12-17' | '2021-12-16' | '2021-12-15' | '2021-12-14' | '2021-12-13' | '2021-12-11' | '2021-12-10' | '2021-12-04' | '2021-11-29' | '2021-11-27' | '2021-11-24' | '2021-11-22' | '2021-11-19' | '2021-11-18' | '2021-11-15' | '2021-11-12' | '2021-11-10' | '2021-11-01' | '2021-10-29' | '2021-10-27' | '2021-10-21' | '2021-10-19' | '2021-10-07' | '2021-10-03' | '2021-10-01' | '2021-09-15' | '2021-09-06' | '2021-08-06' | '2021-07-14' | '2021-07-05' | '2021-07-02' | '2021-06-23' | 'n/a';
215
- export declare const CURRENT_VERSION: LambdaVersions;
216
301
  export declare type PostRenderData = {
217
- cost: {
218
- estimatedCost: number;
219
- estimatedDisplayCost: string;
220
- currency: string;
221
- disclaimer: string;
222
- };
302
+ cost: AfterRenderCost;
223
303
  outputFile: string;
224
304
  outputSize: number;
225
305
  renderSize: number;
@@ -232,7 +312,6 @@ export declare type PostRenderData = {
232
312
  timeToEncode: number;
233
313
  timeToCleanUp: number;
234
314
  timeToRenderChunks: number;
235
- timeToInvokeLambdas: number;
236
315
  retriesInfo: ChunkRetry[];
237
316
  mostExpensiveFrameRanges: ExpensiveChunk[] | undefined;
238
317
  };
@@ -266,11 +345,14 @@ export declare type RenderProgress = {
266
345
  lambdasInvoked: number;
267
346
  cleanup: CleanupInfo | null;
268
347
  timeToFinishChunks: number | null;
269
- timeToInvokeLambdas: number | null;
348
+ timeToEncode: number | null;
270
349
  overallProgress: number;
271
350
  retriesInfo: ChunkRetry[];
272
351
  mostExpensiveFrameRanges: ExpensiveChunk[] | null;
352
+ framesRendered: number;
353
+ outputSizeInBytes: number | null;
273
354
  };
274
- export declare type Privacy = 'public' | 'private';
355
+ export declare type Privacy = 'public' | 'private' | 'no-acl';
275
356
  export declare const LAMBDA_CONCURRENCY_LIMIT_QUOTA = "L-B99A9384";
276
357
  export declare const LAMBDA_BURST_LIMIT_QUOTA = "L-548AE339";
358
+ export {};
@@ -1,10 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LAMBDA_BURST_LIMIT_QUOTA = exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = exports.CURRENT_VERSION = exports.LambdaRoutines = exports.REMOTION_FILELIST_TOKEN = exports.REMOTION_CONCATED_TOKEN = exports.CONCAT_FOLDER_TOKEN = exports.RENDERER_PATH_TOKEN = exports.postRenderDataKey = exports.customOutName = exports.outStillName = exports.outName = exports.getSitesKey = exports.optimizationProfile = exports.getErrorFileName = exports.getErrorKeyPrefix = exports.chunkKeyForIndex = exports.chunkKey = exports.lambdaTimingsKey = exports.lambdaLogsPrefix = exports.lambdaTimingsPrefixForChunk = exports.lambdaTimingsPrefix = exports.lambdaInitializedKey = exports.lambdaInitializedPrefix = exports.renderMetadataKey = exports.encodingProgressKey = exports.rendersPrefix = exports.LOG_GROUP_PREFIX = exports.RENDER_FN_PREFIX = exports.REMOTION_BUCKET_PREFIX = exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = exports.DEFAULT_OUTPUT_PRIVACY = exports.MAX_EPHEMERAL_STORAGE_IN_MB = exports.MIN_EPHEMERAL_STORAGE_IN_MB = exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = exports.MAX_FUNCTIONS_PER_RENDER = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_REGION = exports.COMMAND_NOT_FOUND = exports.BINARY_NAME = exports.DEFAULT_FRAMES_PER_LAMBDA = exports.MINIMUM_FRAMES_PER_LAMBDA = exports.MAX_TIMEOUT = exports.MIN_TIMEOUT = exports.DEFAULT_TIMEOUT = exports.DEFAULT_ARCHITECTURE = exports.DEFAULT_MEMORY_SIZE = exports.MAX_MEMORY = exports.MIN_MEMORY = void 0;
3
+ exports.LAMBDA_BURST_LIMIT_QUOTA = exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = exports.LambdaRoutines = exports.REMOTION_FILELIST_TOKEN = exports.REMOTION_CONCATED_TOKEN = exports.CONCAT_FOLDER_TOKEN = exports.RENDERER_PATH_TOKEN = exports.inputPropsKey = exports.postRenderDataKey = exports.customOutName = exports.outStillName = exports.outName = exports.getSitesKey = exports.getErrorFileName = exports.getErrorKeyPrefix = exports.chunkKeyForIndex = exports.chunkKey = exports.lambdaTimingsKey = exports.lambdaLogsPrefix = exports.lambdaTimingsPrefixForChunk = exports.lambdaTimingsPrefix = exports.lambdaChunkInitializedKey = exports.lambdaChunkInitializedPrefix = exports.initalizedMetadataKey = exports.renderMetadataKey = exports.encodingProgressKey = exports.rendersPrefix = exports.LOG_GROUP_PREFIX = exports.RENDER_FN_PREFIX = exports.REMOTION_BUCKET_PREFIX = exports.ENCODING_PROGRESS_STEP_SIZE = exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = exports.DEFAULT_OUTPUT_PRIVACY = exports.MAX_EPHEMERAL_STORAGE_IN_MB = exports.MIN_EPHEMERAL_STORAGE_IN_MB = exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = exports.MAX_FUNCTIONS_PER_RENDER = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_REGION = exports.COMMAND_NOT_FOUND = exports.BINARY_NAME = exports.DEFAULT_FRAMES_PER_LAMBDA = exports.MINIMUM_FRAMES_PER_LAMBDA = exports.MAX_TIMEOUT = exports.MIN_TIMEOUT = exports.DEFAULT_TIMEOUT = exports.DEFAULT_MEMORY_SIZE = exports.MAX_MEMORY = exports.MIN_MEMORY = void 0;
4
4
  exports.MIN_MEMORY = 512;
5
5
  exports.MAX_MEMORY = 10240;
6
6
  exports.DEFAULT_MEMORY_SIZE = 2048;
7
- exports.DEFAULT_ARCHITECTURE = 'arm64';
8
7
  exports.DEFAULT_TIMEOUT = 120;
9
8
  exports.MIN_TIMEOUT = 15;
10
9
  exports.MAX_TIMEOUT = 900;
@@ -15,11 +14,12 @@ exports.COMMAND_NOT_FOUND = 'Command not found';
15
14
  exports.DEFAULT_REGION = 'us-east-1';
16
15
  exports.DEFAULT_MAX_RETRIES = 1;
17
16
  exports.MAX_FUNCTIONS_PER_RENDER = 200;
18
- exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = 512;
17
+ exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = 2048;
19
18
  exports.MIN_EPHEMERAL_STORAGE_IN_MB = 512;
20
19
  exports.MAX_EPHEMERAL_STORAGE_IN_MB = 10240;
21
20
  exports.DEFAULT_OUTPUT_PRIVACY = 'public';
22
21
  exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = 14;
22
+ exports.ENCODING_PROGRESS_STEP_SIZE = 100;
23
23
  exports.REMOTION_BUCKET_PREFIX = 'remotionlambda-';
24
24
  exports.RENDER_FN_PREFIX = 'remotion-render-';
25
25
  exports.LOG_GROUP_PREFIX = '/aws/lambda/';
@@ -29,10 +29,12 @@ const encodingProgressKey = (renderId) => `${(0, exports.rendersPrefix)(renderId
29
29
  exports.encodingProgressKey = encodingProgressKey;
30
30
  const renderMetadataKey = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/pre-render-metadata.json`;
31
31
  exports.renderMetadataKey = renderMetadataKey;
32
- const lambdaInitializedPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-initialized`;
33
- exports.lambdaInitializedPrefix = lambdaInitializedPrefix;
34
- const lambdaInitializedKey = ({ renderId, chunk, attempt, }) => `${(0, exports.lambdaInitializedPrefix)(renderId)}-chunk:${chunk}-attempt:${attempt}.txt`;
35
- exports.lambdaInitializedKey = lambdaInitializedKey;
32
+ const initalizedMetadataKey = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/initialized.txt`;
33
+ exports.initalizedMetadataKey = initalizedMetadataKey;
34
+ const lambdaChunkInitializedPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-initialized`;
35
+ exports.lambdaChunkInitializedPrefix = lambdaChunkInitializedPrefix;
36
+ const lambdaChunkInitializedKey = ({ renderId, chunk, attempt, }) => `${(0, exports.lambdaChunkInitializedPrefix)(renderId)}-chunk:${chunk}-attempt:${attempt}.txt`;
37
+ exports.lambdaChunkInitializedKey = lambdaChunkInitializedKey;
36
38
  const lambdaTimingsPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-timings/chunk:`;
37
39
  exports.lambdaTimingsPrefix = lambdaTimingsPrefix;
38
40
  const lambdaTimingsPrefixForChunk = (renderId, chunk) => (0, exports.lambdaTimingsPrefix)(renderId) + String(chunk).padStart(8, '0');
@@ -49,8 +51,6 @@ const getErrorKeyPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}
49
51
  exports.getErrorKeyPrefix = getErrorKeyPrefix;
50
52
  const getErrorFileName = ({ renderId, chunk, attempt, }) => (0, exports.getErrorKeyPrefix)(renderId) + ':chunk-' + chunk + ':attempt-' + attempt;
51
53
  exports.getErrorFileName = getErrorFileName;
52
- const optimizationProfile = (siteId, compositionId) => `optimization-profiles/${siteId}/${compositionId}/optimization-profile`;
53
- exports.optimizationProfile = optimizationProfile;
54
54
  const getSitesKey = (siteId) => `sites/${siteId}`;
55
55
  exports.getSitesKey = getSitesKey;
56
56
  const outName = (renderId, extension) => `${(0, exports.rendersPrefix)(renderId)}/out.${extension}`;
@@ -58,19 +58,29 @@ exports.outName = outName;
58
58
  const outStillName = (renderId, imageFormat) => `${(0, exports.rendersPrefix)(renderId)}/out.${imageFormat}`;
59
59
  exports.outStillName = outStillName;
60
60
  const customOutName = (renderId, bucketName, name) => {
61
+ var _a;
61
62
  if (typeof name === 'string') {
62
63
  return {
63
64
  renderBucketName: bucketName,
64
65
  key: `${(0, exports.rendersPrefix)(renderId)}/${name}`,
66
+ customCredentials: null,
65
67
  };
66
68
  }
67
- return { key: name.key, renderBucketName: name.bucketName };
69
+ return {
70
+ key: name.key,
71
+ renderBucketName: name.bucketName,
72
+ customCredentials: (_a = name.s3OutputProvider) !== null && _a !== void 0 ? _a : null,
73
+ };
68
74
  };
69
75
  exports.customOutName = customOutName;
70
76
  const postRenderDataKey = (renderId) => {
71
77
  return `${(0, exports.rendersPrefix)(renderId)}/post-render-metadata.json`;
72
78
  };
73
79
  exports.postRenderDataKey = postRenderDataKey;
80
+ const inputPropsKey = (hash) => {
81
+ return `input-props/${hash}.json`;
82
+ };
83
+ exports.inputPropsKey = inputPropsKey;
74
84
  exports.RENDERER_PATH_TOKEN = 'remotion-bucket';
75
85
  exports.CONCAT_FOLDER_TOKEN = 'remotion-concat';
76
86
  exports.REMOTION_CONCATED_TOKEN = 'remotion-concated-token';
@@ -83,7 +93,7 @@ var LambdaRoutines;
83
93
  LambdaRoutines["status"] = "status";
84
94
  LambdaRoutines["renderer"] = "renderer";
85
95
  LambdaRoutines["still"] = "still";
96
+ LambdaRoutines["compositions"] = "compositions";
86
97
  })(LambdaRoutines = exports.LambdaRoutines || (exports.LambdaRoutines = {}));
87
- exports.CURRENT_VERSION = '2022-06-29-2x';
88
98
  exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = 'L-B99A9384';
89
99
  exports.LAMBDA_BURST_LIMIT_QUOTA = 'L-548AE339';
@@ -0,0 +1,7 @@
1
+ export declare type DownloadBehavior = {
2
+ type: 'play-in-browser';
3
+ } | {
4
+ type: 'download';
5
+ fileName: string | null;
6
+ };
7
+ export declare const getContentDispositionHeader: (behavior: DownloadBehavior | null) => string | undefined;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ // By setting the Content-Disposition header in an S3 object,
3
+ // you can control if the user downloads the item if you
4
+ // visit the link
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getContentDispositionHeader = void 0;
7
+ const getContentDispositionHeader = (behavior) => {
8
+ if (behavior === null) {
9
+ return undefined;
10
+ }
11
+ if (behavior.type === 'play-in-browser') {
12
+ return undefined;
13
+ }
14
+ if (behavior.fileName === null) {
15
+ return `attachment`;
16
+ }
17
+ return `attachment; filename="${behavior.fileName}"`;
18
+ };
19
+ exports.getContentDispositionHeader = getContentDispositionHeader;
@@ -1,2 +1,6 @@
1
1
  import type { AwsRegion } from '../pricing/aws-regions';
2
- export declare const convertToServeUrl: (urlOrId: string, region: AwsRegion) => Promise<string>;
2
+ export declare const convertToServeUrl: ({ urlOrId, region, bucketName, }: {
3
+ urlOrId: string;
4
+ region: AwsRegion;
5
+ bucketName: string;
6
+ }) => string;
@@ -1,18 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.convertToServeUrl = void 0;
4
- const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
5
4
  const docs_url_1 = require("./docs-url");
6
- const convertToServeUrl = async (urlOrId, region) => {
5
+ const convertToServeUrl = ({ urlOrId, region, bucketName, }) => {
7
6
  if (urlOrId.startsWith('src/')) {
8
7
  throw new Error(`Remotion Lambda can only render based on a URL in the cloud. It seems like you passed a local file: ${urlOrId}. Read the setup guide for Remotion Lambda ${docs_url_1.DOCS_URL}/docs/lambda/setup`);
9
8
  }
10
9
  if (urlOrId.startsWith('http://') || urlOrId.startsWith('https://')) {
11
10
  return urlOrId;
12
11
  }
13
- const { bucketName } = await (0, get_or_create_bucket_1.getOrCreateBucket)({
14
- region,
15
- });
16
12
  return `https://${bucketName}.s3.${region}.amazonaws.com/sites/${urlOrId}/index.html`;
17
13
  };
18
14
  exports.convertToServeUrl = convertToServeUrl;
@@ -0,0 +1,8 @@
1
+ import type { AwsRegion } from '../client';
2
+ import type { SerializedInputProps } from './constants';
3
+ export declare const deserializeInputProps: ({ serialized, region, bucketName, expectedBucketOwner, }: {
4
+ serialized: SerializedInputProps;
5
+ region: AwsRegion;
6
+ bucketName: string;
7
+ expectedBucketOwner: string;
8
+ }) => Promise<object>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deserializeInputProps = void 0;
4
+ const io_1 = require("../functions/helpers/io");
5
+ const constants_1 = require("./constants");
6
+ const stream_to_string_1 = require("./stream-to-string");
7
+ const deserializeInputProps = async ({ serialized, region, bucketName, expectedBucketOwner, }) => {
8
+ if (serialized.type === 'payload') {
9
+ return JSON.parse(serialized.payload);
10
+ }
11
+ try {
12
+ const response = await (0, io_1.lambdaReadFile)({
13
+ bucketName,
14
+ expectedBucketOwner,
15
+ key: (0, constants_1.inputPropsKey)(serialized.hash),
16
+ region,
17
+ });
18
+ const body = await (0, stream_to_string_1.streamToString)(response);
19
+ const payload = JSON.parse(body);
20
+ return payload;
21
+ }
22
+ catch (err) {
23
+ throw new Error(`Failed to parse input props that were serialized: ${err.stack}`);
24
+ }
25
+ };
26
+ exports.deserializeInputProps = deserializeInputProps;
File without changes
File without changes
@@ -1 +1 @@
1
- export declare const FUNCTION_ZIP: string;
1
+ export declare const FUNCTION_ZIP_ARM64: string;
@@ -3,6 +3,6 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FUNCTION_ZIP = void 0;
6
+ exports.FUNCTION_ZIP_ARM64 = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
- exports.FUNCTION_ZIP = path_1.default.join(path_1.default.resolve(__dirname, '..', '..'), `remotionlambda.zip`);
8
+ exports.FUNCTION_ZIP_ARM64 = path_1.default.join(path_1.default.resolve(__dirname, '..', '..'), `remotionlambda-arm64.zip`);
File without changes
@@ -1,17 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAccountId = void 0;
4
- const client_iam_1 = require("@aws-sdk/client-iam");
4
+ const client_sts_1 = require("@aws-sdk/client-sts");
5
5
  const aws_clients_1 = require("./aws-clients");
6
6
  const validate_aws_region_1 = require("./validate-aws-region");
7
7
  const getAccountId = async (options) => {
8
- var _a, _b;
9
8
  (0, validate_aws_region_1.validateAwsRegion)(options.region);
10
- const user = await (0, aws_clients_1.getIamClient)(options.region).send(new client_iam_1.GetUserCommand({}));
11
- const accountId = (_b = (_a = user.User) === null || _a === void 0 ? void 0 : _a.Arn) === null || _b === void 0 ? void 0 : _b.match(/aws:iam::([0-9]+)/);
12
- if (!accountId) {
9
+ const callerIdentity = await (0, aws_clients_1.getStsClient)(options.region).send(new client_sts_1.GetCallerIdentityCommand({}));
10
+ if (!callerIdentity.Account) {
13
11
  throw new Error('Cannot get account ID');
14
12
  }
15
- return accountId[1];
13
+ return callerIdentity.Account;
16
14
  };
17
15
  exports.getAccountId = getAccountId;
@@ -0,0 +1,14 @@
1
+ import type { AwsRegion } from '../client';
2
+ import type { LambdaRoutines } from './constants';
3
+ export declare const getCloudwatchStreamUrl: ({ region, functionName, method, renderId, rendererFunctionName, }: {
4
+ region: AwsRegion;
5
+ functionName: string;
6
+ rendererFunctionName: string | null;
7
+ method: LambdaRoutines;
8
+ renderId: string;
9
+ }) => string;
10
+ export declare const getS3RenderUrl: ({ renderId, region, bucketName, }: {
11
+ renderId: string;
12
+ region: AwsRegion;
13
+ bucketName: string;
14
+ }) => string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getS3RenderUrl = exports.getCloudwatchStreamUrl = void 0;
4
+ const getCloudwatchStreamUrl = ({ region, functionName, method, renderId, rendererFunctionName, }) => {
5
+ const functionNameToUse = rendererFunctionName !== null && rendererFunctionName !== void 0 ? rendererFunctionName : functionName;
6
+ return `https://${region}.console.aws.amazon.com/cloudwatch/home?region=${region}#logsV2:log-groups/log-group/$252Faws$252Flambda$252F${functionNameToUse}/log-events$3FfilterPattern$3D$2522method$253D${method}$252CrenderId$253D${renderId}$2522`;
7
+ };
8
+ exports.getCloudwatchStreamUrl = getCloudwatchStreamUrl;
9
+ const getS3RenderUrl = ({ renderId, region, bucketName, }) => {
10
+ return `https://s3.console.aws.amazon.com/s3/buckets/${bucketName}?region=${region}&prefix=renders/${renderId}/`;
11
+ };
12
+ exports.getS3RenderUrl = getS3RenderUrl;
@@ -0,0 +1 @@
1
+ export declare const getEtagOfFile: (filePath: string) => Promise<string>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getEtagOfFile = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const crypto_1 = __importDefault(require("crypto"));
9
+ const chunk = 1024 * 1024 * 5; // 5MB
10
+ const md5 = (data) => crypto_1.default.createHash('md5').update(data).digest('hex');
11
+ const getEtagOfFile = async (filePath) => {
12
+ const stream = await fs_1.default.promises.readFile(filePath);
13
+ if (stream.length <= chunk) {
14
+ return `"${md5(stream)}"`;
15
+ }
16
+ const md5Chunks = [];
17
+ const chunksNumber = Math.ceil(stream.length / chunk);
18
+ for (let i = 0; i < chunksNumber; i++) {
19
+ const chunkStream = stream.slice(i * chunk, (i + 1) * chunk);
20
+ md5Chunks.push(md5(chunkStream));
21
+ }
22
+ return `"${md5(Buffer.from(md5Chunks.join(''), 'hex'))}-${chunksNumber}"`;
23
+ };
24
+ exports.getEtagOfFile = getEtagOfFile;
@@ -1,6 +1,5 @@
1
1
  import type { AwsRegion } from '../pricing/aws-regions';
2
- import type { LambdaVersions } from './constants';
3
2
  export declare const getFunctionVersion: ({ functionName, region, }: {
4
3
  functionName: string;
5
4
  region: AwsRegion;
6
- }) => Promise<LambdaVersions>;
5
+ }) => Promise<string>;