@remotion/lambda 4.0.0-webhook.27 → 4.0.0

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 (408) 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 +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 +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 +78 -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 +24 -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 +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 +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 +33 -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 +2 -1
  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 +18 -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 +44 -11
  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 +172 -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 +92 -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 +79 -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 +137 -87
  281. package/dist/shared/constants.js +16 -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/docs-url.d.ts +0 -0
  287. package/dist/shared/docs-url.js +0 -0
  288. package/dist/shared/function-zip-path.d.ts +1 -1
  289. package/dist/shared/function-zip-path.js +3 -3
  290. package/dist/shared/get-account-id.d.ts +0 -0
  291. package/dist/shared/get-account-id.js +4 -6
  292. package/dist/shared/{get-cloudwatch-stream-url.d.ts → get-aws-urls.d.ts} +7 -1
  293. package/dist/shared/get-aws-urls.js +12 -0
  294. package/dist/shared/get-etag.d.ts +1 -0
  295. package/dist/shared/get-etag.js +24 -0
  296. package/dist/shared/get-function-version.d.ts +0 -0
  297. package/dist/shared/get-function-version.js +0 -0
  298. package/dist/shared/get-most-expensive-chunks.d.ts +2 -2
  299. package/dist/shared/get-most-expensive-chunks.js +3 -2
  300. package/dist/shared/get-s3-operations.d.ts +10 -0
  301. package/dist/shared/get-s3-operations.js +36 -0
  302. package/dist/shared/hosted-layers.d.ts +5 -8
  303. package/dist/shared/hosted-layers.js +210 -284
  304. package/dist/shared/invoke-webhook.d.ts +5 -18
  305. package/dist/shared/invoke-webhook.js +4 -19
  306. package/dist/shared/is-in-lambda.d.ts +0 -0
  307. package/dist/shared/is-in-lambda.js +0 -0
  308. package/dist/shared/lambda-version-string.d.ts +0 -0
  309. package/dist/shared/lambda-version-string.js +0 -0
  310. package/dist/shared/make-s3-key.d.ts +0 -0
  311. package/dist/shared/make-s3-key.js +2 -2
  312. package/dist/shared/make-s3-url.d.ts +0 -0
  313. package/dist/shared/make-s3-url.js +2 -2
  314. package/dist/shared/p-limit.d.ts +0 -0
  315. package/dist/shared/p-limit.js +0 -0
  316. package/dist/shared/parse-chunk-key.d.ts +4 -0
  317. package/dist/shared/parse-chunk-key.js +14 -0
  318. package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
  319. package/dist/shared/parse-lambda-initialized-key.js +0 -0
  320. package/dist/shared/parse-lambda-timings-key.d.ts +1 -1
  321. package/dist/shared/parse-lambda-timings-key.js +0 -0
  322. package/dist/shared/random-hash.d.ts +0 -0
  323. package/dist/shared/random-hash.js +0 -0
  324. package/dist/shared/read-dir.d.ts +9 -0
  325. package/dist/shared/read-dir.js +57 -0
  326. package/dist/shared/return-values.d.ts +7 -0
  327. package/dist/shared/return-values.js +0 -0
  328. package/dist/shared/serialize-props.d.ts +20 -0
  329. package/dist/shared/serialize-props.js +83 -0
  330. package/dist/shared/sleep.d.ts +0 -0
  331. package/dist/shared/sleep.js +0 -0
  332. package/dist/shared/stream-to-string.d.ts +0 -0
  333. package/dist/shared/stream-to-string.js +0 -0
  334. package/dist/shared/truthy.d.ts +1 -1
  335. package/dist/shared/truthy.js +0 -0
  336. package/dist/shared/validate-aws-region.d.ts +0 -0
  337. package/dist/shared/validate-aws-region.js +0 -0
  338. package/dist/shared/validate-bucketname.d.ts +5 -0
  339. package/dist/shared/validate-bucketname.js +19 -1
  340. package/dist/shared/validate-custom-role-arn.d.ts +0 -0
  341. package/dist/shared/validate-custom-role-arn.js +0 -0
  342. package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
  343. package/dist/shared/validate-disk-size-in-mb.js +0 -0
  344. package/dist/shared/validate-download-behavior.d.ts +0 -0
  345. package/dist/shared/validate-download-behavior.js +0 -0
  346. package/dist/shared/validate-frames-per-lambda.d.ts +0 -0
  347. package/dist/shared/validate-frames-per-lambda.js +0 -0
  348. package/dist/shared/validate-lambda-codec.d.ts +2 -2
  349. package/dist/shared/validate-lambda-codec.js +1 -1
  350. package/dist/shared/validate-memory-size.d.ts +0 -0
  351. package/dist/shared/validate-memory-size.js +0 -0
  352. package/dist/shared/validate-outname.d.ts +2 -2
  353. package/dist/shared/validate-outname.js +16 -10
  354. package/dist/shared/validate-presign-expiration.d.ts +0 -0
  355. package/dist/shared/validate-presign-expiration.js +0 -0
  356. package/dist/shared/validate-privacy.d.ts +1 -1
  357. package/dist/shared/validate-privacy.js +5 -2
  358. package/dist/shared/validate-retention-period.d.ts +0 -0
  359. package/dist/shared/validate-retention-period.js +0 -0
  360. package/dist/shared/validate-retries.d.ts +0 -0
  361. package/dist/shared/validate-retries.js +0 -0
  362. package/dist/shared/validate-serveurl.d.ts +0 -0
  363. package/dist/shared/validate-serveurl.js +0 -0
  364. package/dist/shared/validate-site-name.d.ts +0 -0
  365. package/dist/shared/validate-site-name.js +0 -0
  366. package/dist/shared/validate-timeout.d.ts +0 -0
  367. package/dist/shared/validate-timeout.js +0 -0
  368. package/package.json +89 -65
  369. package/remotionlambda-arm64.zip +0 -0
  370. package/remotionlambda-x64.zip +0 -0
  371. package/.prettierrc.js +0 -14
  372. package/client.d.ts +0 -1
  373. package/client.js +0 -1
  374. package/dist/api/enable-s3-website.d.ts +0 -5
  375. package/dist/api/enable-s3-website.js +0 -16
  376. package/dist/cli/helpers/determine-image-format.d.ts +0 -10
  377. package/dist/cli/helpers/determine-image-format.js +0 -47
  378. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
  379. package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
  380. package/dist/cli/helpers/webhook-types.d.ts +0 -6
  381. package/dist/cli/helpers/webhook-types.js +0 -2
  382. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
  383. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
  384. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
  385. package/dist/functions/chunk-optimization/collect-data.js +0 -27
  386. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
  387. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
  388. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
  389. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
  390. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
  391. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
  392. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
  393. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
  394. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
  395. package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
  396. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
  397. package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -47
  398. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
  399. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
  400. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
  401. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
  402. package/dist/functions/helpers/get-current-architecture.d.ts +0 -2
  403. package/dist/functions/helpers/get-current-architecture.js +0 -11
  404. package/dist/shared/get-cloudwatch-stream-url.js +0 -7
  405. package/dist/shared/validate-architecture.d.ts +0 -4
  406. package/dist/shared/validate-architecture.js +0 -14
  407. package/remotionlambda.zip +0 -0
  408. 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,4 +1,4 @@
1
- import type { ChromiumOptions, Codec, FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile } from '@remotion/renderer';
1
+ import type { AudioCodec, ChromiumOptions, Codec, FrameRange, LogLevel, PixelFormat, ProResProfile, StillImageFormat, VideoImageFormat } from '@remotion/renderer';
2
2
  import type { VideoConfig } from 'remotion';
3
3
  import type { ChunkRetry } from '../functions/helpers/get-retry-stats';
4
4
  import type { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
@@ -6,12 +6,10 @@ 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,29 @@ 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 defaultPropsKey: (hash: string) => string;
83
+ export declare const inputPropsKey: (hash: string) => string;
84
+ export declare const resolvedPropsKey: (hash: string) => string;
84
85
  export declare const RENDERER_PATH_TOKEN = "remotion-bucket";
85
86
  export declare const CONCAT_FOLDER_TOKEN = "remotion-concat";
86
87
  export declare const REMOTION_CONCATED_TOKEN = "remotion-concated-token";
@@ -91,60 +92,86 @@ export declare enum LambdaRoutines {
91
92
  launch = "launch",
92
93
  status = "status",
93
94
  renderer = "renderer",
94
- still = "still"
95
+ still = "still",
96
+ compositions = "compositions"
95
97
  }
96
- export declare type LambdaPayloads = {
98
+ type WebhookOption = null | {
99
+ url: string;
100
+ secret: string | null;
101
+ };
102
+ export type SerializedInputProps = {
103
+ type: 'bucket-url';
104
+ hash: string;
105
+ } | {
106
+ type: 'payload';
107
+ payload: string;
108
+ };
109
+ export type LambdaStartPayload = {
110
+ rendererFunctionName: string | null;
111
+ type: LambdaRoutines.start;
112
+ serveUrl: string;
113
+ composition: string;
114
+ framesPerLambda: number | null;
115
+ inputProps: SerializedInputProps;
116
+ codec: LambdaCodec;
117
+ audioCodec: AudioCodec | null;
118
+ imageFormat: VideoImageFormat;
119
+ crf: number | undefined;
120
+ envVariables: Record<string, string> | undefined;
121
+ pixelFormat: PixelFormat | undefined;
122
+ proResProfile: ProResProfile | undefined;
123
+ jpegQuality: number | undefined;
124
+ maxRetries: number;
125
+ privacy: Privacy;
126
+ logLevel: LogLevel;
127
+ frameRange: FrameRange | null;
128
+ outName: OutNameInput | null;
129
+ timeoutInMilliseconds: number;
130
+ chromiumOptions: ChromiumOptions;
131
+ scale: number;
132
+ everyNthFrame: number;
133
+ numberOfGifLoops: number | null;
134
+ concurrencyPerLambda: number;
135
+ downloadBehavior: DownloadBehavior;
136
+ muted: boolean;
137
+ version: string;
138
+ overwrite: boolean;
139
+ audioBitrate: string | null;
140
+ videoBitrate: string | null;
141
+ webhook: WebhookOption;
142
+ forceHeight: number | null;
143
+ forceWidth: number | null;
144
+ bucketName: string | null;
145
+ };
146
+ export type LambdaStatusPayload = {
147
+ type: LambdaRoutines.status;
148
+ bucketName: string;
149
+ renderId: string;
150
+ version: string;
151
+ s3OutputProvider?: CustomCredentials;
152
+ };
153
+ export type LambdaPayloads = {
97
154
  info: {
98
155
  type: LambdaRoutines.info;
99
156
  };
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
- };
157
+ start: LambdaStartPayload;
133
158
  launch: {
159
+ rendererFunctionName: string | null;
134
160
  type: LambdaRoutines.launch;
135
161
  serveUrl: string;
136
162
  composition: string;
137
163
  framesPerLambda: number | null;
138
164
  bucketName: string;
139
- inputProps: unknown;
165
+ inputProps: SerializedInputProps;
140
166
  renderId: string;
141
- imageFormat: ImageFormat;
167
+ imageFormat: VideoImageFormat;
142
168
  codec: LambdaCodec;
169
+ audioCodec: AudioCodec | null;
143
170
  crf: number | undefined;
144
171
  envVariables: Record<string, string> | undefined;
145
172
  pixelFormat: PixelFormat | undefined;
146
173
  proResProfile: ProResProfile | undefined;
147
- quality: number | undefined;
174
+ jpegQuality: number | undefined;
148
175
  maxRetries: number;
149
176
  privacy: Privacy;
150
177
  logLevel: LogLevel;
@@ -159,18 +186,13 @@ export declare type LambdaPayloads = {
159
186
  downloadBehavior: DownloadBehavior;
160
187
  muted: boolean;
161
188
  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;
189
+ audioBitrate: string | null;
190
+ videoBitrate: string | null;
191
+ webhook: WebhookOption;
192
+ forceHeight: number | null;
193
+ forceWidth: number | null;
173
194
  };
195
+ status: LambdaStatusPayload;
174
196
  renderer: {
175
197
  concurrencyPerLambda: number;
176
198
  type: LambdaRoutines.renderer;
@@ -184,33 +206,40 @@ 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;
198
220
  logLevel: LogLevel;
199
221
  timeoutInMilliseconds: number;
200
222
  chromiumOptions: ChromiumOptions;
223
+ resolvedProps: SerializedInputProps;
224
+ defaultProps: SerializedInputProps;
201
225
  scale: number;
202
226
  everyNthFrame: number;
203
227
  muted: boolean;
228
+ audioBitrate: string | null;
229
+ videoBitrate: string | null;
230
+ launchFunctionConfig: {
231
+ version: string;
232
+ };
204
233
  };
205
234
  still: {
206
235
  type: LambdaRoutines.still;
207
236
  serveUrl: string;
208
237
  composition: string;
209
- inputProps: unknown;
210
- imageFormat: ImageFormat;
238
+ inputProps: SerializedInputProps;
239
+ imageFormat: StillImageFormat;
211
240
  envVariables: Record<string, string> | undefined;
212
241
  attempt: number;
213
- quality: number | undefined;
242
+ jpegQuality: number | undefined;
214
243
  maxRetries: number;
215
244
  frame: number;
216
245
  privacy: Privacy;
@@ -221,16 +250,34 @@ export declare type LambdaPayloads = {
221
250
  scale: number;
222
251
  downloadBehavior: DownloadBehavior | null;
223
252
  version: string;
253
+ forceHeight: number | null;
254
+ forceWidth: number | null;
255
+ bucketName: string | null;
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;
224
267
  };
225
268
  };
226
- export declare type LambdaPayload = LambdaPayloads[LambdaRoutines];
227
- export declare type EncodingProgress = {
269
+ export type LambdaPayload = LambdaPayloads[LambdaRoutines];
270
+ export type EncodingProgress = {
228
271
  framesEncoded: number;
229
- totalFrames: number | null;
230
- doneIn: number | null;
231
- timeToInvoke: number | null;
232
272
  };
233
- export declare type RenderMetadata = {
273
+ type Discriminated = {
274
+ type: 'still';
275
+ imageFormat: StillImageFormat;
276
+ } | {
277
+ type: 'video';
278
+ imageFormat: VideoImageFormat;
279
+ };
280
+ export type RenderMetadata = Discriminated & {
234
281
  siteId: string;
235
282
  videoConfig: VideoConfig;
236
283
  startedDate: number;
@@ -239,10 +286,8 @@ export declare type RenderMetadata = {
239
286
  estimatedRenderLambdaInvokations: number;
240
287
  compositionId: string;
241
288
  codec: Codec | null;
242
- usesOptimizationProfile: boolean;
243
- type: 'still' | 'video';
244
- imageFormat: ImageFormat;
245
- inputProps: unknown;
289
+ audioCodec: AudioCodec | null;
290
+ inputProps: SerializedInputProps;
246
291
  framesPerLambda: number;
247
292
  memorySizeInMb: number;
248
293
  lambdaVersion: string;
@@ -250,14 +295,17 @@ export declare type RenderMetadata = {
250
295
  renderId: string;
251
296
  outName: OutNameInputWithoutCredentials | undefined;
252
297
  privacy: Privacy;
298
+ frameRange: [number, number];
299
+ everyNthFrame: number;
253
300
  };
254
- export declare type PostRenderData = {
255
- cost: {
256
- estimatedCost: number;
257
- estimatedDisplayCost: string;
258
- currency: string;
259
- disclaimer: string;
260
- };
301
+ export type AfterRenderCost = {
302
+ estimatedCost: number;
303
+ estimatedDisplayCost: string;
304
+ currency: string;
305
+ disclaimer: string;
306
+ };
307
+ export type PostRenderData = {
308
+ cost: AfterRenderCost;
261
309
  outputFile: string;
262
310
  outputSize: number;
263
311
  renderSize: number;
@@ -270,22 +318,21 @@ export declare type PostRenderData = {
270
318
  timeToEncode: number;
271
319
  timeToCleanUp: number;
272
320
  timeToRenderChunks: number;
273
- timeToInvokeLambdas: number;
274
321
  retriesInfo: ChunkRetry[];
275
322
  mostExpensiveFrameRanges: ExpensiveChunk[] | undefined;
276
323
  };
277
- export declare type CostsInfo = {
324
+ export type CostsInfo = {
278
325
  accruedSoFar: number;
279
326
  displayCost: string;
280
327
  currency: string;
281
328
  disclaimer: string;
282
329
  };
283
- export declare type CleanupInfo = {
330
+ export type CleanupInfo = {
284
331
  doneIn: number | null;
285
332
  minFilesToDelete: number;
286
333
  filesDeleted: number;
287
334
  };
288
- export declare type RenderProgress = {
335
+ export type RenderProgress = {
289
336
  chunks: number;
290
337
  done: boolean;
291
338
  encodingStatus: EncodingProgress | null;
@@ -304,11 +351,14 @@ export declare type RenderProgress = {
304
351
  lambdasInvoked: number;
305
352
  cleanup: CleanupInfo | null;
306
353
  timeToFinishChunks: number | null;
307
- timeToInvokeLambdas: number | null;
354
+ timeToEncode: number | null;
308
355
  overallProgress: number;
309
356
  retriesInfo: ChunkRetry[];
310
357
  mostExpensiveFrameRanges: ExpensiveChunk[] | null;
358
+ framesRendered: number;
359
+ outputSizeInBytes: number | null;
311
360
  };
312
- export declare type Privacy = 'public' | 'private' | 'no-acl';
361
+ export type Privacy = 'public' | 'private' | 'no-acl';
313
362
  export declare const LAMBDA_CONCURRENCY_LIMIT_QUOTA = "L-B99A9384";
314
363
  export declare const LAMBDA_BURST_LIMIT_QUOTA = "L-548AE339";
364
+ export {};
@@ -1,10 +1,10 @@
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_CONCURRENCY_LIMIT_QUOTA = exports.LambdaRoutines = exports.REMOTION_FILELIST_TOKEN = exports.REMOTION_CONCATED_TOKEN = exports.CONCAT_FOLDER_TOKEN = exports.RENDERER_PATH_TOKEN = exports.resolvedPropsKey = exports.inputPropsKey = exports.defaultPropsKey = 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
+ exports.LAMBDA_BURST_LIMIT_QUOTA = void 0;
4
5
  exports.MIN_MEMORY = 512;
5
6
  exports.MAX_MEMORY = 10240;
6
7
  exports.DEFAULT_MEMORY_SIZE = 2048;
7
- exports.DEFAULT_ARCHITECTURE = 'arm64';
8
8
  exports.DEFAULT_TIMEOUT = 120;
9
9
  exports.MIN_TIMEOUT = 15;
10
10
  exports.MAX_TIMEOUT = 900;
@@ -20,6 +20,7 @@ exports.MIN_EPHEMERAL_STORAGE_IN_MB = 512;
20
20
  exports.MAX_EPHEMERAL_STORAGE_IN_MB = 10240;
21
21
  exports.DEFAULT_OUTPUT_PRIVACY = 'public';
22
22
  exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = 14;
23
+ exports.ENCODING_PROGRESS_STEP_SIZE = 100;
23
24
  exports.REMOTION_BUCKET_PREFIX = 'remotionlambda-';
24
25
  exports.RENDER_FN_PREFIX = 'remotion-render-';
25
26
  exports.LOG_GROUP_PREFIX = '/aws/lambda/';
@@ -51,8 +52,6 @@ const getErrorKeyPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}
51
52
  exports.getErrorKeyPrefix = getErrorKeyPrefix;
52
53
  const getErrorFileName = ({ renderId, chunk, attempt, }) => (0, exports.getErrorKeyPrefix)(renderId) + ':chunk-' + chunk + ':attempt-' + attempt;
53
54
  exports.getErrorFileName = getErrorFileName;
54
- const optimizationProfile = (siteId, compositionId) => `optimization-profiles/${siteId}/${compositionId}/optimization-profile`;
55
- exports.optimizationProfile = optimizationProfile;
56
55
  const getSitesKey = (siteId) => `sites/${siteId}`;
57
56
  exports.getSitesKey = getSitesKey;
58
57
  const outName = (renderId, extension) => `${(0, exports.rendersPrefix)(renderId)}/out.${extension}`;
@@ -79,6 +78,18 @@ const postRenderDataKey = (renderId) => {
79
78
  return `${(0, exports.rendersPrefix)(renderId)}/post-render-metadata.json`;
80
79
  };
81
80
  exports.postRenderDataKey = postRenderDataKey;
81
+ const defaultPropsKey = (hash) => {
82
+ return `default-props/${hash}.json`;
83
+ };
84
+ exports.defaultPropsKey = defaultPropsKey;
85
+ const inputPropsKey = (hash) => {
86
+ return `input-props/${hash}.json`;
87
+ };
88
+ exports.inputPropsKey = inputPropsKey;
89
+ const resolvedPropsKey = (hash) => {
90
+ return `resolved-props/${hash}.json`;
91
+ };
92
+ exports.resolvedPropsKey = resolvedPropsKey;
82
93
  exports.RENDERER_PATH_TOKEN = 'remotion-bucket';
83
94
  exports.CONCAT_FOLDER_TOKEN = 'remotion-concat';
84
95
  exports.REMOTION_CONCATED_TOKEN = 'remotion-concated-token';
@@ -91,6 +102,7 @@ var LambdaRoutines;
91
102
  LambdaRoutines["status"] = "status";
92
103
  LambdaRoutines["renderer"] = "renderer";
93
104
  LambdaRoutines["still"] = "still";
105
+ LambdaRoutines["compositions"] = "compositions";
94
106
  })(LambdaRoutines = exports.LambdaRoutines || (exports.LambdaRoutines = {}));
95
107
  exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = 'L-B99A9384';
96
108
  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;
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[];
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getMostExpensiveChunks = exports.OVERHEAD_TIME_PER_LAMBDA = void 0;
4
4
  exports.OVERHEAD_TIME_PER_LAMBDA = 100;
5
- const getMostExpensiveChunks = (parsedTimings, framesPerLambda) => {
5
+ const getMostExpensiveChunks = (parsedTimings, framesPerLambda, lastFrame) => {
6
6
  const mostExpensiveChunks = parsedTimings
7
7
  .slice(0)
8
8
  .sort((a, b) => {
@@ -12,12 +12,13 @@ const getMostExpensiveChunks = (parsedTimings, framesPerLambda) => {
12
12
  })
13
13
  .slice(0, 5);
14
14
  return mostExpensiveChunks.map((c) => {
15
+ const isLastChunk = c.chunk === parsedTimings.length - 1;
15
16
  return {
16
17
  timeInMilliseconds: c.rendered - c.start,
17
18
  chunk: c.chunk,
18
19
  frameRange: [
19
20
  framesPerLambda * c.chunk,
20
- framesPerLambda * (c.chunk + 1) - 1,
21
+ isLastChunk ? lastFrame : framesPerLambda * (c.chunk + 1) - 1,
21
22
  ],
22
23
  };
23
24
  });
@@ -0,0 +1,10 @@
1
+ import type { _Object } from '@aws-sdk/client-s3';
2
+ export declare const getS3DiffOperations: ({ objects, bundle, prefix, }: {
3
+ objects: _Object[];
4
+ bundle: string;
5
+ prefix: string;
6
+ }) => Promise<{
7
+ toDelete: _Object[];
8
+ toUpload: string[];
9
+ existingCount: number;
10
+ }>;