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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (409) hide show
  1. package/LICENSE.md +8 -8
  2. package/dist/admin/bundle-lambda.d.ts +0 -0
  3. package/dist/admin/bundle-lambda.js +24 -13
  4. package/dist/admin/generate-etag-list.d.ts +1 -0
  5. package/dist/admin/generate-etag-list.js +14 -0
  6. package/dist/admin/make-layer-public.d.ts +0 -0
  7. package/dist/admin/make-layer-public.js +59 -65
  8. package/dist/api/bucket-exists.d.ts +0 -0
  9. package/dist/api/bucket-exists.js +0 -0
  10. package/dist/api/clean-items.d.ts +0 -0
  11. package/dist/api/clean-items.js +1 -1
  12. package/dist/api/create-bucket.d.ts +0 -0
  13. package/dist/api/create-bucket.js +34 -1
  14. package/dist/api/create-function.d.ts +1 -3
  15. package/dist/api/create-function.js +27 -6
  16. package/dist/api/delete-function.d.ts +4 -4
  17. package/dist/api/delete-function.js +3 -3
  18. package/dist/api/delete-render.d.ts +2 -2
  19. package/dist/api/delete-render.js +1 -1
  20. package/dist/api/delete-site.d.ts +7 -7
  21. package/dist/api/delete-site.js +9 -7
  22. package/dist/api/deploy-function.d.ts +11 -13
  23. package/dist/api/deploy-function.js +28 -31
  24. package/dist/api/deploy-site.d.ts +13 -5
  25. package/dist/api/deploy-site.js +61 -25
  26. package/dist/api/download-media.d.ts +4 -8
  27. package/dist/api/download-media.js +5 -9
  28. package/dist/api/estimate-price.d.ts +3 -5
  29. package/dist/api/estimate-price.js +4 -10
  30. package/dist/api/get-aws-client.d.ts +6 -4
  31. package/dist/api/get-aws-client.js +3 -1
  32. package/dist/api/get-buckets.d.ts +1 -1
  33. package/dist/api/get-buckets.js +26 -9
  34. package/dist/api/get-compositions-on-lambda.d.ts +31 -0
  35. package/dist/api/get-compositions-on-lambda.js +56 -0
  36. package/dist/api/get-function-info.d.ts +3 -3
  37. package/dist/api/get-function-info.js +1 -1
  38. package/dist/api/get-functions.d.ts +5 -7
  39. package/dist/api/get-functions.js +8 -10
  40. package/dist/api/get-or-create-bucket.d.ts +6 -6
  41. package/dist/api/get-or-create-bucket.js +10 -18
  42. package/dist/api/get-regions.d.ts +6 -2
  43. package/dist/api/get-regions.js +6 -3
  44. package/dist/api/get-render-progress.d.ts +3 -3
  45. package/dist/api/get-render-progress.js +6 -11
  46. package/dist/api/get-sites.d.ts +4 -5
  47. package/dist/api/get-sites.js +1 -2
  48. package/dist/api/iam-validation/role-permissions.d.ts +0 -0
  49. package/dist/api/iam-validation/role-permissions.js +0 -0
  50. package/dist/api/iam-validation/simulate-rule.d.ts +2 -2
  51. package/dist/api/iam-validation/simulate-rule.js +0 -22
  52. package/dist/api/iam-validation/simulate.d.ts +3 -3
  53. package/dist/api/iam-validation/simulate.js +27 -6
  54. package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
  55. package/dist/api/iam-validation/suggested-policy.js +0 -0
  56. package/dist/api/iam-validation/user-permissions.d.ts +1 -1
  57. package/dist/api/iam-validation/user-permissions.js +3 -8
  58. package/dist/api/make-lambda-payload.d.ts +5 -0
  59. package/dist/api/make-lambda-payload.js +77 -0
  60. package/dist/api/mock-functions.d.ts +0 -0
  61. package/dist/api/mock-functions.js +0 -0
  62. package/dist/api/presign-url.d.ts +4 -5
  63. package/dist/api/presign-url.js +3 -3
  64. package/dist/api/render-media-on-lambda.d.ts +25 -11
  65. package/dist/api/render-media-on-lambda.js +16 -49
  66. package/dist/api/render-still-on-lambda.d.ts +15 -6
  67. package/dist/api/render-still-on-lambda.js +23 -9
  68. package/dist/api/speculate-function-name.d.ts +14 -0
  69. package/dist/api/speculate-function-name.js +22 -0
  70. package/dist/api/upload-dir.d.ts +6 -5
  71. package/dist/api/upload-dir.js +54 -51
  72. package/dist/api/validate-webhook-signature.d.ts +2 -2
  73. package/dist/api/validate-webhook-signature.js +1 -1
  74. package/dist/cli/args.d.ts +7 -5
  75. package/dist/cli/args.js +1 -5
  76. package/dist/cli/commands/compositions/index.d.ts +2 -0
  77. package/dist/cli/commands/compositions/index.js +44 -0
  78. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  79. package/dist/cli/commands/functions/deploy.js +15 -15
  80. package/dist/cli/commands/functions/index.d.ts +0 -0
  81. package/dist/cli/commands/functions/index.js +16 -17
  82. package/dist/cli/commands/functions/ls.d.ts +0 -0
  83. package/dist/cli/commands/functions/ls.js +17 -10
  84. package/dist/cli/commands/functions/rm.d.ts +0 -0
  85. package/dist/cli/commands/functions/rm.js +20 -7
  86. package/dist/cli/commands/functions/rmall.d.ts +0 -0
  87. package/dist/cli/commands/functions/rmall.js +20 -8
  88. package/dist/cli/commands/policies/policies.d.ts +0 -0
  89. package/dist/cli/commands/policies/policies.js +0 -0
  90. package/dist/cli/commands/policies/role.d.ts +0 -0
  91. package/dist/cli/commands/policies/role.js +0 -0
  92. package/dist/cli/commands/policies/user.d.ts +0 -0
  93. package/dist/cli/commands/policies/user.js +0 -0
  94. package/dist/cli/commands/policies/validate.d.ts +0 -0
  95. package/dist/cli/commands/policies/validate.js +0 -0
  96. package/dist/cli/commands/quotas/increase.d.ts +0 -0
  97. package/dist/cli/commands/quotas/increase.js +30 -10
  98. package/dist/cli/commands/quotas/index.d.ts +0 -0
  99. package/dist/cli/commands/quotas/index.js +8 -9
  100. package/dist/cli/commands/quotas/list.d.ts +0 -0
  101. package/dist/cli/commands/quotas/list.js +0 -0
  102. package/dist/cli/commands/regions.d.ts +0 -0
  103. package/dist/cli/commands/regions.js +6 -2
  104. package/dist/cli/commands/render/progress.d.ts +11 -7
  105. package/dist/cli/commands/render/progress.js +55 -45
  106. package/dist/cli/commands/render/render.d.ts +1 -1
  107. package/dist/cli/commands/render/render.js +99 -27
  108. package/dist/cli/commands/sites/create.d.ts +1 -1
  109. package/dist/cli/commands/sites/create.js +36 -33
  110. package/dist/cli/commands/sites/index.d.ts +1 -1
  111. package/dist/cli/commands/sites/index.js +18 -16
  112. package/dist/cli/commands/sites/ls.d.ts +0 -0
  113. package/dist/cli/commands/sites/ls.js +9 -10
  114. package/dist/cli/commands/sites/rm.d.ts +0 -0
  115. package/dist/cli/commands/sites/rm.js +6 -16
  116. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  117. package/dist/cli/commands/sites/rmall.js +5 -16
  118. package/dist/cli/commands/still.d.ts +1 -1
  119. package/dist/cli/commands/still.js +49 -20
  120. package/dist/cli/get-aws-region.d.ts +0 -0
  121. package/dist/cli/get-aws-region.js +0 -0
  122. package/dist/cli/help.d.ts +0 -0
  123. package/dist/cli/help.js +4 -0
  124. package/dist/cli/helpers/confirm.d.ts +0 -0
  125. package/dist/cli/helpers/confirm.js +0 -0
  126. package/dist/cli/helpers/date-string.d.ts +0 -0
  127. package/dist/cli/helpers/date-string.js +0 -0
  128. package/dist/cli/helpers/find-function-name.d.ts +0 -0
  129. package/dist/cli/helpers/find-function-name.js +35 -6
  130. package/dist/cli/helpers/progress-bar.d.ts +12 -7
  131. package/dist/cli/helpers/progress-bar.js +20 -11
  132. package/dist/cli/helpers/quit.d.ts +0 -0
  133. package/dist/cli/helpers/quit.js +0 -0
  134. package/dist/cli/helpers/yes-or-no.d.ts +0 -0
  135. package/dist/cli/helpers/yes-or-no.js +0 -0
  136. package/dist/cli/index.d.ts +1 -1
  137. package/dist/cli/index.js +23 -12
  138. package/dist/cli/is-cli.d.ts +0 -0
  139. package/dist/cli/is-cli.js +0 -0
  140. package/dist/cli/log.d.ts +15 -0
  141. package/dist/cli/log.js +0 -0
  142. package/dist/client.d.ts +8 -2
  143. package/dist/client.js +9 -1
  144. package/dist/defaults.d.ts +0 -0
  145. package/dist/defaults.js +0 -0
  146. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +1 -5
  147. package/dist/functions/chunk-optimization/plan-frame-ranges.js +2 -15
  148. package/dist/functions/chunk-optimization/types.d.ts +2 -13
  149. package/dist/functions/chunk-optimization/types.js +0 -0
  150. package/dist/functions/compositions.d.ts +8 -0
  151. package/dist/functions/compositions.js +60 -0
  152. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  153. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  154. package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
  155. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  156. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +1 -3
  157. package/dist/functions/helpers/calculate-price-from-bucket.js +1 -2
  158. package/dist/functions/helpers/check-if-render-exists.d.ts +0 -0
  159. package/dist/functions/helpers/check-if-render-exists.js +0 -0
  160. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  161. package/dist/functions/helpers/clean-tmpdir.js +8 -8
  162. package/dist/functions/helpers/concat-videos.d.ts +13 -5
  163. package/dist/functions/helpers/concat-videos.js +38 -39
  164. package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
  165. package/dist/functions/helpers/create-post-render-data.js +1 -15
  166. package/dist/functions/helpers/delete-chunks.d.ts +0 -0
  167. package/dist/functions/helpers/delete-chunks.js +0 -0
  168. package/dist/functions/helpers/expected-out-name.d.ts +0 -0
  169. package/dist/functions/helpers/expected-out-name.js +2 -2
  170. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +1 -1
  171. package/dist/functions/helpers/find-output-file-in-bucket.js +0 -0
  172. package/dist/functions/helpers/format-costs-info.d.ts +0 -0
  173. package/dist/functions/helpers/format-costs-info.js +0 -0
  174. package/dist/functions/helpers/get-browser-instance.d.ts +1 -2
  175. package/dist/functions/helpers/get-browser-instance.js +7 -3
  176. package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
  177. package/dist/functions/helpers/get-chromium-executable-path.js +8 -6
  178. package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
  179. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  180. package/dist/functions/helpers/get-current-region.d.ts +1 -1
  181. package/dist/functions/helpers/get-current-region.js +0 -0
  182. package/dist/functions/helpers/get-custom-out-name.d.ts +0 -0
  183. package/dist/functions/helpers/get-custom-out-name.js +1 -1
  184. package/dist/functions/helpers/get-encoding-metadata.d.ts +5 -8
  185. package/dist/functions/helpers/get-encoding-metadata.js +7 -17
  186. package/dist/functions/helpers/get-files-in-folder.d.ts +1 -1
  187. package/dist/functions/helpers/get-files-in-folder.js +5 -5
  188. package/dist/functions/helpers/get-files-to-delete.d.ts +1 -1
  189. package/dist/functions/helpers/get-files-to-delete.js +0 -0
  190. package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -4
  191. package/dist/functions/helpers/get-final-encoding-status.js +1 -4
  192. package/dist/functions/helpers/get-folder-size.d.ts +0 -0
  193. package/dist/functions/helpers/get-folder-size.js +0 -0
  194. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +2 -6
  195. package/dist/functions/helpers/get-lambdas-invoked-stats.js +1 -9
  196. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +0 -0
  197. package/dist/functions/helpers/get-output-url-from-metadata.js +0 -0
  198. package/dist/functions/helpers/get-overall-progress.d.ts +2 -1
  199. package/dist/functions/helpers/get-overall-progress.js +7 -5
  200. package/dist/functions/helpers/get-post-render-data.d.ts +0 -0
  201. package/dist/functions/helpers/get-post-render-data.js +0 -0
  202. package/dist/functions/helpers/get-progress.d.ts +0 -0
  203. package/dist/functions/helpers/get-progress.js +43 -42
  204. package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
  205. package/dist/functions/helpers/get-render-metadata.js +0 -0
  206. package/dist/functions/helpers/get-rendered-frames-progress.d.ts +8 -0
  207. package/dist/functions/helpers/get-rendered-frames-progress.js +37 -0
  208. package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
  209. package/dist/functions/helpers/get-retry-stats.js +0 -0
  210. package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
  211. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  212. package/dist/functions/helpers/inspect-errors.d.ts +0 -0
  213. package/dist/functions/helpers/inspect-errors.js +0 -0
  214. package/dist/functions/helpers/io.d.ts +10 -4
  215. package/dist/functions/helpers/io.js +25 -3
  216. package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
  217. package/dist/functions/helpers/is-enosp-err.js +1 -1
  218. package/dist/functions/helpers/is-warm.d.ts +0 -0
  219. package/dist/functions/helpers/is-warm.js +0 -0
  220. package/dist/functions/helpers/make-timeout-error.d.ts +8 -0
  221. package/dist/functions/helpers/make-timeout-error.js +35 -0
  222. package/dist/functions/helpers/make-timeout-message.d.ts +6 -0
  223. package/dist/functions/helpers/make-timeout-message.js +31 -0
  224. package/dist/functions/helpers/min-max.d.ts +0 -0
  225. package/dist/functions/helpers/min-max.js +0 -0
  226. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +0 -0
  227. package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
  228. package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
  229. package/dist/functions/helpers/print-concurrency-curve.js +0 -0
  230. package/dist/functions/helpers/read-with-progress.d.ts +1 -1
  231. package/dist/functions/helpers/read-with-progress.js +1 -1
  232. package/dist/functions/helpers/streamify-response.d.ts +16 -0
  233. package/dist/functions/helpers/streamify-response.js +67 -0
  234. package/dist/functions/helpers/timer.d.ts +0 -0
  235. package/dist/functions/helpers/timer.js +0 -0
  236. package/dist/functions/helpers/validate-composition.d.ts +10 -9
  237. package/dist/functions/helpers/validate-composition.js +16 -13
  238. package/dist/functions/helpers/write-lambda-error.d.ts +2 -2
  239. package/dist/functions/helpers/write-lambda-error.js +0 -0
  240. package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
  241. package/dist/functions/helpers/write-post-render-data.js +0 -0
  242. package/dist/functions/index.d.ts +1 -7
  243. package/dist/functions/index.js +43 -10
  244. package/dist/functions/info.d.ts +0 -0
  245. package/dist/functions/info.js +0 -0
  246. package/dist/functions/launch.d.ts +2 -1
  247. package/dist/functions/launch.js +152 -134
  248. package/dist/functions/progress.d.ts +1 -1
  249. package/dist/functions/progress.js +2 -2
  250. package/dist/functions/renderer.d.ts +1 -1
  251. package/dist/functions/renderer.js +73 -42
  252. package/dist/functions/start.d.ts +1 -1
  253. package/dist/functions/start.js +22 -8
  254. package/dist/functions/still.d.ts +1 -1
  255. package/dist/functions/still.js +80 -37
  256. package/dist/index.d.ts +24 -8
  257. package/dist/index.js +23 -6
  258. package/dist/internals.d.ts +3 -1
  259. package/dist/internals.js +3 -0
  260. package/dist/pricing/aws-regions.d.ts +3 -2
  261. package/dist/pricing/aws-regions.js +31 -1
  262. package/dist/pricing/price-per-1-s.d.ts +0 -0
  263. package/dist/pricing/price-per-1-s.js +413 -39
  264. package/dist/regions.d.ts +0 -0
  265. package/dist/regions.js +0 -0
  266. package/dist/shared/await.d.ts +1 -1
  267. package/dist/shared/await.js +0 -0
  268. package/dist/shared/aws-clients.d.ts +6 -3
  269. package/dist/shared/aws-clients.js +75 -13
  270. package/dist/shared/bundle-site.d.ts +0 -0
  271. package/dist/shared/bundle-site.js +0 -0
  272. package/dist/shared/call-lambda.d.ts +0 -0
  273. package/dist/shared/call-lambda.js +27 -2
  274. package/dist/shared/check-credentials.d.ts +0 -0
  275. package/dist/shared/check-credentials.js +3 -0
  276. package/dist/shared/chunk-progress.d.ts +9 -0
  277. package/dist/shared/chunk-progress.js +2034 -0
  278. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  279. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  280. package/dist/shared/constants.d.ts +140 -89
  281. package/dist/shared/constants.js +7 -4
  282. package/dist/shared/content-disposition-header.d.ts +1 -1
  283. package/dist/shared/content-disposition-header.js +0 -0
  284. package/dist/shared/convert-to-serve-url.d.ts +5 -1
  285. package/dist/shared/convert-to-serve-url.js +1 -5
  286. package/dist/shared/deserialize-input-props.d.ts +8 -0
  287. package/dist/shared/deserialize-input-props.js +26 -0
  288. package/dist/shared/docs-url.d.ts +0 -0
  289. package/dist/shared/docs-url.js +0 -0
  290. package/dist/shared/function-zip-path.d.ts +1 -1
  291. package/dist/shared/function-zip-path.js +3 -3
  292. package/dist/shared/get-account-id.d.ts +0 -0
  293. package/dist/shared/get-account-id.js +4 -6
  294. package/dist/shared/{get-cloudwatch-stream-url.d.ts → get-aws-urls.d.ts} +7 -1
  295. package/dist/shared/get-aws-urls.js +12 -0
  296. package/dist/shared/get-etag.d.ts +1 -0
  297. package/dist/shared/get-etag.js +24 -0
  298. package/dist/shared/get-function-version.d.ts +0 -0
  299. package/dist/shared/get-function-version.js +0 -0
  300. package/dist/shared/get-most-expensive-chunks.d.ts +2 -2
  301. package/dist/shared/get-most-expensive-chunks.js +3 -2
  302. package/dist/shared/get-s3-operations.d.ts +10 -0
  303. package/dist/shared/get-s3-operations.js +36 -0
  304. package/dist/shared/hosted-layers.d.ts +5 -8
  305. package/dist/shared/hosted-layers.js +210 -284
  306. package/dist/shared/invoke-webhook.d.ts +5 -18
  307. package/dist/shared/invoke-webhook.js +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,87 @@ 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
+ dumpBrowserLogs: boolean;
144
+ };
145
+ export type LambdaStatusPayload = {
146
+ type: LambdaRoutines.status;
147
+ bucketName: string;
148
+ renderId: string;
149
+ version: string;
150
+ s3OutputProvider?: CustomCredentials;
151
+ };
152
+ export type LambdaPayloads = {
97
153
  info: {
98
154
  type: LambdaRoutines.info;
99
155
  };
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
- };
156
+ start: LambdaStartPayload;
133
157
  launch: {
158
+ rendererFunctionName: string | null;
134
159
  type: LambdaRoutines.launch;
135
160
  serveUrl: string;
136
161
  composition: string;
137
162
  framesPerLambda: number | null;
138
163
  bucketName: string;
139
- inputProps: unknown;
164
+ inputProps: SerializedInputProps;
140
165
  renderId: string;
141
- imageFormat: ImageFormat;
166
+ imageFormat: VideoImageFormat;
142
167
  codec: LambdaCodec;
168
+ audioCodec: AudioCodec | null;
143
169
  crf: number | undefined;
144
170
  envVariables: Record<string, string> | undefined;
145
171
  pixelFormat: PixelFormat | undefined;
146
172
  proResProfile: ProResProfile | undefined;
147
- quality: number | undefined;
173
+ jpegQuality: number | undefined;
148
174
  maxRetries: number;
149
175
  privacy: Privacy;
150
176
  logLevel: LogLevel;
@@ -159,18 +185,14 @@ export declare type LambdaPayloads = {
159
185
  downloadBehavior: DownloadBehavior;
160
186
  muted: boolean;
161
187
  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;
188
+ audioBitrate: string | null;
189
+ videoBitrate: string | null;
190
+ webhook: WebhookOption;
191
+ forceHeight: number | null;
192
+ forceWidth: number | null;
193
+ dumpBrowserLogs: boolean;
173
194
  };
195
+ status: LambdaStatusPayload;
174
196
  renderer: {
175
197
  concurrencyPerLambda: number;
176
198
  type: LambdaRoutines.renderer;
@@ -184,14 +206,14 @@ export declare type LambdaPayloads = {
184
206
  width: number;
185
207
  durationInFrames: number;
186
208
  retriesLeft: number;
187
- inputProps: unknown;
209
+ inputProps: SerializedInputProps;
188
210
  renderId: string;
189
- imageFormat: ImageFormat;
190
- codec: Exclude<Codec, 'h264'>;
211
+ imageFormat: VideoImageFormat;
212
+ codec: LambdaCodec;
191
213
  crf: number | undefined;
192
214
  proResProfile: ProResProfile | undefined;
193
215
  pixelFormat: PixelFormat | undefined;
194
- quality: number | undefined;
216
+ jpegQuality: number | undefined;
195
217
  envVariables: Record<string, string> | undefined;
196
218
  privacy: Privacy;
197
219
  attempt: number;
@@ -201,16 +223,22 @@ export declare type LambdaPayloads = {
201
223
  scale: number;
202
224
  everyNthFrame: number;
203
225
  muted: boolean;
226
+ audioBitrate: string | null;
227
+ videoBitrate: string | null;
228
+ launchFunctionConfig: {
229
+ version: string;
230
+ };
231
+ dumpBrowserLogs: boolean;
204
232
  };
205
233
  still: {
206
234
  type: LambdaRoutines.still;
207
235
  serveUrl: string;
208
236
  composition: string;
209
- inputProps: unknown;
210
- imageFormat: ImageFormat;
237
+ inputProps: SerializedInputProps;
238
+ imageFormat: StillImageFormat;
211
239
  envVariables: Record<string, string> | undefined;
212
240
  attempt: number;
213
- quality: number | undefined;
241
+ jpegQuality: number | undefined;
214
242
  maxRetries: number;
215
243
  frame: number;
216
244
  privacy: Privacy;
@@ -221,28 +249,46 @@ export declare type LambdaPayloads = {
221
249
  scale: number;
222
250
  downloadBehavior: DownloadBehavior | null;
223
251
  version: string;
252
+ forceHeight: number | null;
253
+ forceWidth: number | null;
254
+ bucketName: string | null;
255
+ dumpBrowserLogs: boolean;
256
+ };
257
+ compositions: {
258
+ type: LambdaRoutines.compositions;
259
+ version: string;
260
+ chromiumOptions: ChromiumOptions;
261
+ logLevel: LogLevel;
262
+ inputProps: SerializedInputProps;
263
+ envVariables: Record<string, string> | undefined;
264
+ timeoutInMilliseconds: number;
265
+ serveUrl: string;
266
+ bucketName: string | null;
267
+ dumpBrowserLogs: boolean;
224
268
  };
225
269
  };
226
- export declare type LambdaPayload = LambdaPayloads[LambdaRoutines];
227
- export declare type EncodingProgress = {
270
+ export type LambdaPayload = LambdaPayloads[LambdaRoutines];
271
+ export type EncodingProgress = {
228
272
  framesEncoded: number;
229
- totalFrames: number | null;
230
- doneIn: number | null;
231
- timeToInvoke: number | null;
232
273
  };
233
- export declare type RenderMetadata = {
274
+ type Discriminated = {
275
+ type: 'still';
276
+ imageFormat: StillImageFormat;
277
+ } | {
278
+ type: 'video';
279
+ imageFormat: VideoImageFormat;
280
+ };
281
+ export type RenderMetadata = Discriminated & {
234
282
  siteId: string;
235
- videoConfig: VideoConfig;
283
+ videoConfig: AnyCompMetadata;
236
284
  startedDate: number;
237
285
  totalChunks: number;
238
286
  estimatedTotalLambdaInvokations: number;
239
287
  estimatedRenderLambdaInvokations: number;
240
288
  compositionId: string;
241
289
  codec: Codec | null;
242
- usesOptimizationProfile: boolean;
243
- type: 'still' | 'video';
244
- imageFormat: ImageFormat;
245
- inputProps: unknown;
290
+ audioCodec: AudioCodec | null;
291
+ inputProps: SerializedInputProps;
246
292
  framesPerLambda: number;
247
293
  memorySizeInMb: number;
248
294
  lambdaVersion: string;
@@ -250,14 +296,17 @@ export declare type RenderMetadata = {
250
296
  renderId: string;
251
297
  outName: OutNameInputWithoutCredentials | undefined;
252
298
  privacy: Privacy;
299
+ frameRange: [number, number];
300
+ everyNthFrame: number;
253
301
  };
254
- export declare type PostRenderData = {
255
- cost: {
256
- estimatedCost: number;
257
- estimatedDisplayCost: string;
258
- currency: string;
259
- disclaimer: string;
260
- };
302
+ export type AfterRenderCost = {
303
+ estimatedCost: number;
304
+ estimatedDisplayCost: string;
305
+ currency: string;
306
+ disclaimer: string;
307
+ };
308
+ export type PostRenderData = {
309
+ cost: AfterRenderCost;
261
310
  outputFile: string;
262
311
  outputSize: number;
263
312
  renderSize: number;
@@ -270,22 +319,21 @@ export declare type PostRenderData = {
270
319
  timeToEncode: number;
271
320
  timeToCleanUp: number;
272
321
  timeToRenderChunks: number;
273
- timeToInvokeLambdas: number;
274
322
  retriesInfo: ChunkRetry[];
275
323
  mostExpensiveFrameRanges: ExpensiveChunk[] | undefined;
276
324
  };
277
- export declare type CostsInfo = {
325
+ export type CostsInfo = {
278
326
  accruedSoFar: number;
279
327
  displayCost: string;
280
328
  currency: string;
281
329
  disclaimer: string;
282
330
  };
283
- export declare type CleanupInfo = {
331
+ export type CleanupInfo = {
284
332
  doneIn: number | null;
285
333
  minFilesToDelete: number;
286
334
  filesDeleted: number;
287
335
  };
288
- export declare type RenderProgress = {
336
+ export type RenderProgress = {
289
337
  chunks: number;
290
338
  done: boolean;
291
339
  encodingStatus: EncodingProgress | null;
@@ -304,11 +352,14 @@ export declare type RenderProgress = {
304
352
  lambdasInvoked: number;
305
353
  cleanup: CleanupInfo | null;
306
354
  timeToFinishChunks: number | null;
307
- timeToInvokeLambdas: number | null;
355
+ timeToEncode: number | null;
308
356
  overallProgress: number;
309
357
  retriesInfo: ChunkRetry[];
310
358
  mostExpensiveFrameRanges: ExpensiveChunk[] | null;
359
+ framesRendered: number;
360
+ outputSizeInBytes: number | null;
311
361
  };
312
- export declare type Privacy = 'public' | 'private' | 'no-acl';
362
+ export type Privacy = 'public' | 'private' | 'no-acl';
313
363
  export declare const LAMBDA_CONCURRENCY_LIMIT_QUOTA = "L-B99A9384";
314
364
  export declare const LAMBDA_BURST_LIMIT_QUOTA = "L-548AE339";
365
+ 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[];