@remotion/lambda 4.0.0-webhook.27 → 4.1.0-alpha3

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 +2 -2
  33. package/dist/api/get-buckets.js +35 -12
  34. package/dist/api/get-compositions-on-lambda.d.ts +33 -0
  35. package/dist/api/get-compositions-on-lambda.js +57 -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 +6 -6
  47. package/dist/api/get-sites.js +5 -4
  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 +79 -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 +27 -11
  65. package/dist/api/render-media-on-lambda.js +15 -49
  66. package/dist/api/render-still-on-lambda.d.ts +17 -6
  67. package/dist/api/render-still-on-lambda.js +25 -10
  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 +37 -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 +7 -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 +14 -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 +59 -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 +2 -3
  175. package/dist/functions/helpers/get-browser-instance.js +9 -5
  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 +151 -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 -44
  252. package/dist/functions/start.d.ts +1 -1
  253. package/dist/functions/start.js +21 -8
  254. package/dist/functions/still.d.ts +1 -1
  255. package/dist/functions/still.js +78 -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 +135 -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 +4 -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
@@ -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,17 +1,15 @@
1
- import type { ChromiumOptions, Codec, FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile } from '@remotion/renderer';
2
- import type { 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
6
  import type { CustomCredentials, CustomCredentialsWithoutSensitiveData } from './aws-clients';
7
7
  import type { DownloadBehavior } from './content-disposition-header';
8
8
  import type { ExpensiveChunk } from './get-most-expensive-chunks';
9
- import type { LambdaArchitecture } from './validate-architecture';
10
9
  import type { LambdaCodec } from './validate-lambda-codec';
11
10
  export declare const MIN_MEMORY = 512;
12
11
  export declare const MAX_MEMORY = 10240;
13
12
  export declare const DEFAULT_MEMORY_SIZE = 2048;
14
- export declare const DEFAULT_ARCHITECTURE: LambdaArchitecture;
15
13
  export declare const DEFAULT_TIMEOUT = 120;
16
14
  export declare const MIN_TIMEOUT = 15;
17
15
  export declare const MAX_TIMEOUT = 900;
@@ -27,6 +25,7 @@ export declare const MIN_EPHEMERAL_STORAGE_IN_MB = 512;
27
25
  export declare const MAX_EPHEMERAL_STORAGE_IN_MB = 10240;
28
26
  export declare const DEFAULT_OUTPUT_PRIVACY: Privacy;
29
27
  export declare const DEFAULT_CLOUDWATCH_RETENTION_PERIOD = 14;
28
+ export declare const ENCODING_PROGRESS_STEP_SIZE = 100;
30
29
  export declare const REMOTION_BUCKET_PREFIX = "remotionlambda-";
31
30
  export declare const RENDER_FN_PREFIX = "remotion-render-";
32
31
  export declare const LOG_GROUP_PREFIX = "/aws/lambda/";
@@ -60,27 +59,27 @@ export declare const getErrorFileName: ({ renderId, chunk, attempt, }: {
60
59
  chunk: number | null;
61
60
  attempt: number;
62
61
  }) => string;
63
- export declare type OutNameInput = string | {
62
+ export type OutNameInput = string | {
64
63
  bucketName: string;
65
64
  key: string;
66
65
  s3OutputProvider?: CustomCredentials;
67
66
  };
68
- export declare type OutNameInputWithoutCredentials = string | {
67
+ export type OutNameInputWithoutCredentials = string | {
69
68
  bucketName: string;
70
69
  key: string;
71
70
  s3OutputProvider?: CustomCredentialsWithoutSensitiveData;
72
71
  };
73
- export declare type OutNameOutput = {
72
+ export type OutNameOutput = {
74
73
  renderBucketName: string;
75
74
  key: string;
76
75
  customCredentials: CustomCredentials | null;
77
76
  };
78
- export declare const optimizationProfile: (siteId: string, compositionId: string) => string;
79
77
  export declare const getSitesKey: (siteId: string) => string;
80
78
  export declare const outName: (renderId: string, extension: string) => string;
81
- export declare const outStillName: (renderId: string, imageFormat: ImageFormat) => string;
79
+ export declare const outStillName: (renderId: string, imageFormat: StillImageFormat) => string;
82
80
  export declare const customOutName: (renderId: string, bucketName: string, name: OutNameInput) => OutNameOutput;
83
81
  export declare const postRenderDataKey: (renderId: string) => string;
82
+ export declare const inputPropsKey: (hash: string) => string;
84
83
  export declare const RENDERER_PATH_TOKEN = "remotion-bucket";
85
84
  export declare const CONCAT_FOLDER_TOKEN = "remotion-concat";
86
85
  export declare const REMOTION_CONCATED_TOKEN = "remotion-concated-token";
@@ -91,60 +90,86 @@ export declare enum LambdaRoutines {
91
90
  launch = "launch",
92
91
  status = "status",
93
92
  renderer = "renderer",
94
- still = "still"
93
+ still = "still",
94
+ compositions = "compositions"
95
95
  }
96
- export declare type LambdaPayloads = {
96
+ type WebhookOption = null | {
97
+ url: string;
98
+ secret: string | null;
99
+ };
100
+ export type SerializedInputProps = {
101
+ type: 'bucket-url';
102
+ hash: string;
103
+ } | {
104
+ type: 'payload';
105
+ payload: unknown;
106
+ };
107
+ export type LambdaStartPayload = {
108
+ rendererFunctionName: string | null;
109
+ type: LambdaRoutines.start;
110
+ serveUrl: string;
111
+ composition: string;
112
+ framesPerLambda: number | null;
113
+ inputProps: SerializedInputProps;
114
+ codec: LambdaCodec;
115
+ audioCodec: AudioCodec | null;
116
+ imageFormat: VideoImageFormat;
117
+ crf: number | undefined;
118
+ envVariables: Record<string, string> | undefined;
119
+ pixelFormat: PixelFormat | undefined;
120
+ proResProfile: ProResProfile | undefined;
121
+ jpegQuality: number | undefined;
122
+ maxRetries: number;
123
+ privacy: Privacy;
124
+ logLevel: LogLevel;
125
+ frameRange: FrameRange | null;
126
+ outName: OutNameInput | null;
127
+ timeoutInMilliseconds: number;
128
+ chromiumOptions: ChromiumOptions;
129
+ scale: number;
130
+ everyNthFrame: number;
131
+ numberOfGifLoops: number | null;
132
+ concurrencyPerLambda: number;
133
+ downloadBehavior: DownloadBehavior;
134
+ muted: boolean;
135
+ version: string;
136
+ overwrite: boolean;
137
+ audioBitrate: string | null;
138
+ videoBitrate: string | null;
139
+ webhook: WebhookOption;
140
+ forceHeight: number | null;
141
+ forceWidth: number | null;
142
+ bucketName: string | null;
143
+ };
144
+ export type LambdaStatusPayload = {
145
+ type: LambdaRoutines.status;
146
+ bucketName: string;
147
+ renderId: string;
148
+ version: string;
149
+ s3OutputProvider?: CustomCredentials;
150
+ };
151
+ export type LambdaPayloads = {
97
152
  info: {
98
153
  type: LambdaRoutines.info;
99
154
  };
100
- start: {
101
- type: LambdaRoutines.start;
102
- serveUrl: string;
103
- composition: string;
104
- framesPerLambda: number | null;
105
- inputProps: unknown;
106
- codec: LambdaCodec;
107
- imageFormat: ImageFormat;
108
- crf: number | undefined;
109
- envVariables: Record<string, string> | undefined;
110
- pixelFormat: PixelFormat | undefined;
111
- proResProfile: ProResProfile | undefined;
112
- quality: number | undefined;
113
- maxRetries: number;
114
- privacy: Privacy;
115
- logLevel: LogLevel;
116
- frameRange: FrameRange | null;
117
- outName: OutNameInput | null;
118
- timeoutInMilliseconds: number;
119
- chromiumOptions: ChromiumOptions;
120
- scale: number;
121
- everyNthFrame: number;
122
- numberOfGifLoops: number | null;
123
- concurrencyPerLambda: number;
124
- downloadBehavior: DownloadBehavior;
125
- muted: boolean;
126
- version: string;
127
- overwrite: boolean;
128
- webhook: null | {
129
- url: string;
130
- secret: string | null;
131
- };
132
- };
155
+ start: LambdaStartPayload;
133
156
  launch: {
157
+ rendererFunctionName: string | null;
134
158
  type: LambdaRoutines.launch;
135
159
  serveUrl: string;
136
160
  composition: string;
137
161
  framesPerLambda: number | null;
138
162
  bucketName: string;
139
- inputProps: unknown;
163
+ inputProps: SerializedInputProps;
140
164
  renderId: string;
141
- imageFormat: ImageFormat;
165
+ imageFormat: VideoImageFormat;
142
166
  codec: LambdaCodec;
167
+ audioCodec: AudioCodec | null;
143
168
  crf: number | undefined;
144
169
  envVariables: Record<string, string> | undefined;
145
170
  pixelFormat: PixelFormat | undefined;
146
171
  proResProfile: ProResProfile | undefined;
147
- quality: number | undefined;
172
+ jpegQuality: number | undefined;
148
173
  maxRetries: number;
149
174
  privacy: Privacy;
150
175
  logLevel: LogLevel;
@@ -159,18 +184,13 @@ export declare type LambdaPayloads = {
159
184
  downloadBehavior: DownloadBehavior;
160
185
  muted: boolean;
161
186
  overwrite: boolean;
162
- webhook: null | {
163
- url: string;
164
- secret: string | null;
165
- };
166
- };
167
- status: {
168
- type: LambdaRoutines.status;
169
- bucketName: string;
170
- renderId: string;
171
- version: string;
172
- s3OutputProvider?: CustomCredentials;
187
+ audioBitrate: string | null;
188
+ videoBitrate: string | null;
189
+ webhook: WebhookOption;
190
+ forceHeight: number | null;
191
+ forceWidth: number | null;
173
192
  };
193
+ status: LambdaStatusPayload;
174
194
  renderer: {
175
195
  concurrencyPerLambda: number;
176
196
  type: LambdaRoutines.renderer;
@@ -184,14 +204,14 @@ export declare type LambdaPayloads = {
184
204
  width: number;
185
205
  durationInFrames: number;
186
206
  retriesLeft: number;
187
- inputProps: unknown;
207
+ inputProps: SerializedInputProps;
188
208
  renderId: string;
189
- imageFormat: ImageFormat;
190
- codec: Exclude<Codec, 'h264'>;
209
+ imageFormat: VideoImageFormat;
210
+ codec: LambdaCodec;
191
211
  crf: number | undefined;
192
212
  proResProfile: ProResProfile | undefined;
193
213
  pixelFormat: PixelFormat | undefined;
194
- quality: number | undefined;
214
+ jpegQuality: number | undefined;
195
215
  envVariables: Record<string, string> | undefined;
196
216
  privacy: Privacy;
197
217
  attempt: number;
@@ -201,16 +221,21 @@ export declare type LambdaPayloads = {
201
221
  scale: number;
202
222
  everyNthFrame: number;
203
223
  muted: boolean;
224
+ audioBitrate: string | null;
225
+ videoBitrate: string | null;
226
+ launchFunctionConfig: {
227
+ version: string;
228
+ };
204
229
  };
205
230
  still: {
206
231
  type: LambdaRoutines.still;
207
232
  serveUrl: string;
208
233
  composition: string;
209
- inputProps: unknown;
210
- imageFormat: ImageFormat;
234
+ inputProps: SerializedInputProps;
235
+ imageFormat: StillImageFormat;
211
236
  envVariables: Record<string, string> | undefined;
212
237
  attempt: number;
213
- quality: number | undefined;
238
+ jpegQuality: number | undefined;
214
239
  maxRetries: number;
215
240
  frame: number;
216
241
  privacy: Privacy;
@@ -221,28 +246,44 @@ export declare type LambdaPayloads = {
221
246
  scale: number;
222
247
  downloadBehavior: DownloadBehavior | null;
223
248
  version: string;
249
+ forceHeight: number | null;
250
+ forceWidth: number | null;
251
+ bucketName: string | null;
252
+ };
253
+ compositions: {
254
+ type: LambdaRoutines.compositions;
255
+ version: string;
256
+ chromiumOptions: ChromiumOptions;
257
+ logLevel: LogLevel;
258
+ inputProps: SerializedInputProps;
259
+ envVariables: Record<string, string> | undefined;
260
+ timeoutInMilliseconds: number;
261
+ serveUrl: string;
262
+ bucketName: string | null;
224
263
  };
225
264
  };
226
- export declare type LambdaPayload = LambdaPayloads[LambdaRoutines];
227
- export declare type EncodingProgress = {
265
+ export type LambdaPayload = LambdaPayloads[LambdaRoutines];
266
+ export type EncodingProgress = {
228
267
  framesEncoded: number;
229
- totalFrames: number | null;
230
- doneIn: number | null;
231
- timeToInvoke: number | null;
232
268
  };
233
- export declare type RenderMetadata = {
269
+ type Discriminated = {
270
+ type: 'still';
271
+ imageFormat: StillImageFormat;
272
+ } | {
273
+ type: 'video';
274
+ imageFormat: VideoImageFormat;
275
+ };
276
+ export type RenderMetadata = Discriminated & {
234
277
  siteId: string;
235
- videoConfig: VideoConfig;
278
+ videoConfig: AnyCompMetadata;
236
279
  startedDate: number;
237
280
  totalChunks: number;
238
281
  estimatedTotalLambdaInvokations: number;
239
282
  estimatedRenderLambdaInvokations: number;
240
283
  compositionId: string;
241
284
  codec: Codec | null;
242
- usesOptimizationProfile: boolean;
243
- type: 'still' | 'video';
244
- imageFormat: ImageFormat;
245
- inputProps: unknown;
285
+ audioCodec: AudioCodec | null;
286
+ inputProps: SerializedInputProps;
246
287
  framesPerLambda: number;
247
288
  memorySizeInMb: number;
248
289
  lambdaVersion: string;
@@ -250,14 +291,17 @@ export declare type RenderMetadata = {
250
291
  renderId: string;
251
292
  outName: OutNameInputWithoutCredentials | undefined;
252
293
  privacy: Privacy;
294
+ frameRange: [number, number];
295
+ everyNthFrame: number;
253
296
  };
254
- export declare type PostRenderData = {
255
- cost: {
256
- estimatedCost: number;
257
- estimatedDisplayCost: string;
258
- currency: string;
259
- disclaimer: string;
260
- };
297
+ export type AfterRenderCost = {
298
+ estimatedCost: number;
299
+ estimatedDisplayCost: string;
300
+ currency: string;
301
+ disclaimer: string;
302
+ };
303
+ export type PostRenderData = {
304
+ cost: AfterRenderCost;
261
305
  outputFile: string;
262
306
  outputSize: number;
263
307
  renderSize: number;
@@ -270,22 +314,21 @@ export declare type PostRenderData = {
270
314
  timeToEncode: number;
271
315
  timeToCleanUp: number;
272
316
  timeToRenderChunks: number;
273
- timeToInvokeLambdas: number;
274
317
  retriesInfo: ChunkRetry[];
275
318
  mostExpensiveFrameRanges: ExpensiveChunk[] | undefined;
276
319
  };
277
- export declare type CostsInfo = {
320
+ export type CostsInfo = {
278
321
  accruedSoFar: number;
279
322
  displayCost: string;
280
323
  currency: string;
281
324
  disclaimer: string;
282
325
  };
283
- export declare type CleanupInfo = {
326
+ export type CleanupInfo = {
284
327
  doneIn: number | null;
285
328
  minFilesToDelete: number;
286
329
  filesDeleted: number;
287
330
  };
288
- export declare type RenderProgress = {
331
+ export type RenderProgress = {
289
332
  chunks: number;
290
333
  done: boolean;
291
334
  encodingStatus: EncodingProgress | null;
@@ -304,11 +347,14 @@ export declare type RenderProgress = {
304
347
  lambdasInvoked: number;
305
348
  cleanup: CleanupInfo | null;
306
349
  timeToFinishChunks: number | null;
307
- timeToInvokeLambdas: number | null;
350
+ timeToEncode: number | null;
308
351
  overallProgress: number;
309
352
  retriesInfo: ChunkRetry[];
310
353
  mostExpensiveFrameRanges: ExpensiveChunk[] | null;
354
+ framesRendered: number;
355
+ outputSizeInBytes: number | null;
311
356
  };
312
- export declare type Privacy = 'public' | 'private' | 'no-acl';
357
+ export type Privacy = 'public' | 'private' | 'no-acl';
313
358
  export declare const LAMBDA_CONCURRENCY_LIMIT_QUOTA = "L-B99A9384";
314
359
  export declare const LAMBDA_BURST_LIMIT_QUOTA = "L-548AE339";
360
+ 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.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.lambdaChunkInitializedKey = exports.lambdaChunkInitializedPrefix = exports.initalizedMetadataKey = 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;
@@ -20,6 +19,7 @@ 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/';
@@ -51,8 +51,6 @@ const getErrorKeyPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}
51
51
  exports.getErrorKeyPrefix = getErrorKeyPrefix;
52
52
  const getErrorFileName = ({ renderId, chunk, attempt, }) => (0, exports.getErrorKeyPrefix)(renderId) + ':chunk-' + chunk + ':attempt-' + attempt;
53
53
  exports.getErrorFileName = getErrorFileName;
54
- const optimizationProfile = (siteId, compositionId) => `optimization-profiles/${siteId}/${compositionId}/optimization-profile`;
55
- exports.optimizationProfile = optimizationProfile;
56
54
  const getSitesKey = (siteId) => `sites/${siteId}`;
57
55
  exports.getSitesKey = getSitesKey;
58
56
  const outName = (renderId, extension) => `${(0, exports.rendersPrefix)(renderId)}/out.${extension}`;
@@ -79,6 +77,10 @@ const postRenderDataKey = (renderId) => {
79
77
  return `${(0, exports.rendersPrefix)(renderId)}/post-render-metadata.json`;
80
78
  };
81
79
  exports.postRenderDataKey = postRenderDataKey;
80
+ const inputPropsKey = (hash) => {
81
+ return `input-props/${hash}.json`;
82
+ };
83
+ exports.inputPropsKey = inputPropsKey;
82
84
  exports.RENDERER_PATH_TOKEN = 'remotion-bucket';
83
85
  exports.CONCAT_FOLDER_TOKEN = 'remotion-concat';
84
86
  exports.REMOTION_CONCATED_TOKEN = 'remotion-concated-token';
@@ -91,6 +93,7 @@ var LambdaRoutines;
91
93
  LambdaRoutines["status"] = "status";
92
94
  LambdaRoutines["renderer"] = "renderer";
93
95
  LambdaRoutines["still"] = "still";
96
+ LambdaRoutines["compositions"] = "compositions";
94
97
  })(LambdaRoutines = exports.LambdaRoutines || (exports.LambdaRoutines = {}));
95
98
  exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = 'L-B99A9384';
96
99
  exports.LAMBDA_BURST_LIMIT_QUOTA = 'L-548AE339';
@@ -1,4 +1,4 @@
1
- export declare type DownloadBehavior = {
1
+ export type DownloadBehavior = {
2
2
  type: 'play-in-browser';
3
3
  } | {
4
4
  type: 'download';
File without changes
@@ -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<Record<string, unknown>>;
@@ -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;
7
- const path_1 = __importDefault(require("path"));
8
- exports.FUNCTION_ZIP = path_1.default.join(path_1.default.resolve(__dirname, '..', '..'), `remotionlambda.zip`);
6
+ exports.FUNCTION_ZIP_ARM64 = void 0;
7
+ const node_path_1 = __importDefault(require("node:path"));
8
+ exports.FUNCTION_ZIP_ARM64 = node_path_1.default.join(node_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;
@@ -1,8 +1,14 @@
1
1
  import type { AwsRegion } from '../client';
2
2
  import type { LambdaRoutines } from './constants';
3
- export declare const getCloudwatchStreamUrl: ({ region, functionName, method, renderId, }: {
3
+ export declare const getCloudwatchStreamUrl: ({ region, functionName, method, renderId, rendererFunctionName, }: {
4
4
  region: AwsRegion;
5
5
  functionName: string;
6
+ rendererFunctionName: string | null;
6
7
  method: LambdaRoutines;
7
8
  renderId: string;
8
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 node_crypto_1 = __importDefault(require("node:crypto"));
8
+ const node_fs_1 = __importDefault(require("node:fs"));
9
+ const chunk = 1024 * 1024 * 5; // 5MB
10
+ const md5 = (data) => node_crypto_1.default.createHash('md5').update(data).digest('hex');
11
+ const getEtagOfFile = async (filePath) => {
12
+ const stream = await node_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;
File without changes
File without changes
@@ -1,8 +1,8 @@
1
1
  import type { ParsedTiming } from './parse-lambda-timings-key';
2
2
  export declare const OVERHEAD_TIME_PER_LAMBDA = 100;
3
- export declare type ExpensiveChunk = {
3
+ export type ExpensiveChunk = {
4
4
  chunk: number;
5
5
  frameRange: [number, number];
6
6
  timeInMilliseconds: number;
7
7
  };
8
- export declare const getMostExpensiveChunks: (parsedTimings: ParsedTiming[], framesPerLambda: number) => ExpensiveChunk[];
8
+ export declare const getMostExpensiveChunks: (parsedTimings: ParsedTiming[], framesPerLambda: number, lastFrame: number) => ExpensiveChunk[];