@remotion/lambda 4.0.0-alpha.4 → 4.0.0-alpha5

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 (739) hide show
  1. package/LICENSE.md +8 -8
  2. package/dist/admin/bundle-lambda.d.ts +0 -0
  3. package/dist/admin/bundle-lambda.js +16 -6
  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 +61 -67
  8. package/dist/api/bucket-exists.d.ts +0 -0
  9. package/dist/api/bucket-exists.js +1 -1
  10. package/dist/api/clean-items.d.ts +0 -0
  11. package/dist/api/clean-items.js +2 -2
  12. package/dist/api/create-bucket.d.ts +0 -0
  13. package/dist/api/create-bucket.js +35 -2
  14. package/dist/api/create-function.d.ts +1 -3
  15. package/dist/api/create-function.js +25 -4
  16. package/dist/api/delete-function.d.ts +1 -1
  17. package/dist/api/delete-function.js +1 -1
  18. package/dist/api/delete-render.d.ts +19 -0
  19. package/dist/api/delete-render.js +66 -0
  20. package/dist/api/delete-site.d.ts +1 -1
  21. package/dist/api/delete-site.js +1 -6
  22. package/dist/api/deploy-function.d.ts +1 -4
  23. package/dist/api/deploy-function.js +6 -8
  24. package/dist/api/deploy-site.d.ts +11 -2
  25. package/dist/api/deploy-site.js +55 -21
  26. package/dist/api/download-media.d.ts +12 -3
  27. package/dist/api/download-media.js +16 -8
  28. package/dist/api/estimate-price.d.ts +2 -4
  29. package/dist/api/estimate-price.js +4 -10
  30. package/dist/api/get-aws-client.d.ts +7 -3
  31. package/dist/api/get-aws-client.js +10 -3
  32. package/dist/api/get-buckets.d.ts +0 -0
  33. package/dist/api/get-buckets.js +27 -10
  34. package/dist/api/get-compositions-on-lambda.d.ts +31 -0
  35. package/dist/api/get-compositions-on-lambda.js +56 -0
  36. package/dist/api/get-function-info.d.ts +2 -3
  37. package/dist/api/get-function-info.js +1 -1
  38. package/dist/api/get-functions.d.ts +1 -3
  39. package/dist/api/get-functions.js +3 -4
  40. package/dist/api/get-or-create-bucket.d.ts +2 -2
  41. package/dist/api/get-or-create-bucket.js +6 -14
  42. package/dist/api/get-regions.d.ts +6 -2
  43. package/dist/api/get-regions.js +6 -3
  44. package/dist/api/get-render-progress.d.ts +5 -2
  45. package/dist/api/get-render-progress.js +6 -2
  46. package/dist/api/get-sites.d.ts +2 -2
  47. package/dist/api/get-sites.js +1 -2
  48. package/dist/api/iam-validation/role-permissions.d.ts +0 -0
  49. package/dist/api/iam-validation/role-permissions.js +0 -0
  50. package/dist/api/iam-validation/simulate-rule.d.ts +0 -0
  51. package/dist/api/iam-validation/simulate-rule.js +0 -22
  52. package/dist/api/iam-validation/simulate.d.ts +1 -1
  53. package/dist/api/iam-validation/simulate.js +27 -6
  54. package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
  55. package/dist/api/iam-validation/suggested-policy.js +0 -0
  56. package/dist/api/iam-validation/user-permissions.d.ts +1 -1
  57. package/dist/api/iam-validation/user-permissions.js +3 -8
  58. package/dist/api/mock-functions.d.ts +4 -5
  59. package/dist/api/mock-functions.js +0 -0
  60. package/dist/api/presign-url.d.ts +4 -5
  61. package/dist/api/presign-url.js +9 -4
  62. package/dist/api/render-media-on-lambda.d.ts +36 -14
  63. package/dist/api/render-media-on-lambda.js +90 -42
  64. package/dist/api/render-still-on-lambda.d.ts +13 -3
  65. package/dist/api/render-still-on-lambda.js +64 -32
  66. package/dist/api/speculate-function-name.d.ts +14 -0
  67. package/dist/api/speculate-function-name.js +22 -0
  68. package/dist/api/upload-dir.d.ts +4 -3
  69. package/dist/api/upload-dir.js +52 -49
  70. package/dist/api/validate-webhook-signature.d.ts +13 -0
  71. package/dist/api/validate-webhook-signature.js +32 -0
  72. package/dist/cli/args.d.ts +8 -4
  73. package/dist/cli/args.js +1 -5
  74. package/dist/cli/commands/compositions/index.d.ts +2 -0
  75. package/dist/cli/commands/compositions/index.js +44 -0
  76. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  77. package/dist/cli/commands/functions/deploy.js +11 -13
  78. package/dist/cli/commands/functions/index.d.ts +0 -0
  79. package/dist/cli/commands/functions/index.js +16 -17
  80. package/dist/cli/commands/functions/ls.d.ts +0 -0
  81. package/dist/cli/commands/functions/ls.js +9 -7
  82. package/dist/cli/commands/functions/rm.d.ts +0 -0
  83. package/dist/cli/commands/functions/rm.js +8 -2
  84. package/dist/cli/commands/functions/rmall.d.ts +0 -0
  85. package/dist/cli/commands/functions/rmall.js +8 -2
  86. package/dist/cli/commands/policies/policies.d.ts +0 -0
  87. package/dist/cli/commands/policies/policies.js +0 -0
  88. package/dist/cli/commands/policies/role.d.ts +0 -0
  89. package/dist/cli/commands/policies/role.js +0 -0
  90. package/dist/cli/commands/policies/user.d.ts +0 -0
  91. package/dist/cli/commands/policies/user.js +0 -0
  92. package/dist/cli/commands/policies/validate.d.ts +0 -0
  93. package/dist/cli/commands/policies/validate.js +0 -0
  94. package/dist/cli/commands/quotas/increase.d.ts +0 -0
  95. package/dist/cli/commands/quotas/increase.js +28 -8
  96. package/dist/cli/commands/quotas/index.d.ts +0 -0
  97. package/dist/cli/commands/quotas/index.js +8 -9
  98. package/dist/cli/commands/quotas/list.d.ts +0 -0
  99. package/dist/cli/commands/quotas/list.js +0 -0
  100. package/dist/cli/commands/regions.d.ts +0 -0
  101. package/dist/cli/commands/regions.js +6 -2
  102. package/dist/cli/commands/render/progress.d.ts +7 -3
  103. package/dist/cli/commands/render/progress.js +55 -45
  104. package/dist/cli/commands/render/render.d.ts +1 -1
  105. package/dist/cli/commands/render/render.js +83 -28
  106. package/dist/cli/commands/sites/create.d.ts +1 -1
  107. package/dist/cli/commands/sites/create.js +31 -32
  108. package/dist/cli/commands/sites/index.d.ts +1 -1
  109. package/dist/cli/commands/sites/index.js +18 -16
  110. package/dist/cli/commands/sites/ls.d.ts +0 -0
  111. package/dist/cli/commands/sites/ls.js +9 -10
  112. package/dist/cli/commands/sites/rm.d.ts +0 -0
  113. package/dist/cli/commands/sites/rm.js +6 -16
  114. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  115. package/dist/cli/commands/sites/rmall.js +5 -16
  116. package/dist/cli/commands/still.d.ts +1 -1
  117. package/dist/cli/commands/still.js +36 -26
  118. package/dist/cli/get-aws-region.d.ts +0 -0
  119. package/dist/cli/get-aws-region.js +2 -1
  120. package/dist/cli/help.d.ts +0 -0
  121. package/dist/cli/help.js +0 -0
  122. package/dist/cli/helpers/confirm.d.ts +0 -0
  123. package/dist/cli/helpers/confirm.js +0 -0
  124. package/dist/cli/helpers/date-string.d.ts +0 -0
  125. package/dist/cli/helpers/date-string.js +0 -0
  126. package/dist/cli/helpers/find-function-name.d.ts +0 -0
  127. package/dist/cli/helpers/find-function-name.js +37 -7
  128. package/dist/cli/helpers/progress-bar.d.ts +9 -4
  129. package/dist/cli/helpers/progress-bar.js +20 -11
  130. package/dist/cli/helpers/quit.d.ts +0 -0
  131. package/dist/cli/helpers/quit.js +0 -0
  132. package/dist/cli/helpers/yes-or-no.d.ts +0 -0
  133. package/dist/cli/helpers/yes-or-no.js +0 -0
  134. package/dist/cli/index.d.ts +1 -1
  135. package/dist/cli/index.js +20 -9
  136. package/dist/cli/is-cli.d.ts +0 -0
  137. package/dist/cli/is-cli.js +0 -0
  138. package/dist/cli/log.d.ts +12 -0
  139. package/dist/cli/log.js +0 -0
  140. package/dist/client.d.ts +10 -2
  141. package/dist/client.js +11 -1
  142. package/dist/defaults.d.ts +0 -0
  143. package/dist/defaults.js +0 -0
  144. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +5 -6
  145. package/dist/functions/chunk-optimization/plan-frame-ranges.js +2 -15
  146. package/dist/functions/chunk-optimization/types.d.ts +0 -12
  147. package/dist/functions/chunk-optimization/types.js +0 -0
  148. package/dist/functions/compositions.d.ts +8 -0
  149. package/dist/functions/compositions.js +56 -0
  150. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  151. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  152. package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
  153. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  154. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +1 -3
  155. package/dist/functions/helpers/calculate-price-from-bucket.js +1 -2
  156. package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
  157. package/dist/functions/helpers/check-if-render-exists.js +14 -0
  158. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  159. package/dist/functions/helpers/clean-tmpdir.js +1 -1
  160. package/dist/functions/helpers/concat-videos.d.ts +13 -5
  161. package/dist/functions/helpers/concat-videos.js +33 -34
  162. package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
  163. package/dist/functions/helpers/create-post-render-data.js +1 -15
  164. package/dist/functions/helpers/delete-chunks.d.ts +0 -0
  165. package/dist/functions/helpers/delete-chunks.js +0 -0
  166. package/dist/functions/helpers/expected-out-name.d.ts +4 -2
  167. package/dist/functions/helpers/expected-out-name.js +27 -6
  168. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +3 -1
  169. package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
  170. package/dist/functions/helpers/format-costs-info.d.ts +0 -0
  171. package/dist/functions/helpers/format-costs-info.js +0 -0
  172. package/dist/functions/helpers/get-browser-instance.d.ts +0 -0
  173. package/dist/functions/helpers/get-browser-instance.js +2 -2
  174. package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
  175. package/dist/functions/helpers/get-chromium-executable-path.js +8 -2
  176. package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
  177. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  178. package/dist/functions/helpers/get-current-architecture.d.ts +0 -0
  179. package/dist/functions/helpers/get-current-architecture.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 +6 -0
  183. package/dist/functions/helpers/get-custom-out-name.js +31 -0
  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 +0 -0
  187. package/dist/functions/helpers/get-files-in-folder.js +0 -0
  188. package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
  189. package/dist/functions/helpers/get-files-to-delete.js +1 -1
  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 +1 -5
  195. package/dist/functions/helpers/get-lambdas-invoked-stats.js +2 -10
  196. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +2 -1
  197. package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
  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 +4 -2
  203. package/dist/functions/helpers/get-progress.js +54 -46
  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 +0 -0
  209. package/dist/functions/helpers/get-retry-stats.js +1 -1
  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 +17 -1
  215. package/dist/functions/helpers/io.js +24 -7
  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 +3 -1
  231. package/dist/functions/helpers/read-with-progress.js +3 -3
  232. package/dist/functions/helpers/timer.d.ts +0 -0
  233. package/dist/functions/helpers/timer.js +0 -0
  234. package/dist/functions/helpers/validate-composition.d.ts +5 -5
  235. package/dist/functions/helpers/validate-composition.js +8 -4
  236. package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
  237. package/dist/functions/helpers/write-lambda-error.js +1 -0
  238. package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
  239. package/dist/functions/helpers/write-post-render-data.js +1 -0
  240. package/dist/functions/index.d.ts +15 -4
  241. package/dist/functions/index.js +18 -6
  242. package/dist/functions/info.d.ts +2 -2
  243. package/dist/functions/info.js +2 -1
  244. package/dist/functions/launch.d.ts +1 -0
  245. package/dist/functions/launch.js +342 -128
  246. package/dist/functions/progress.d.ts +1 -1
  247. package/dist/functions/progress.js +10 -1
  248. package/dist/functions/renderer.d.ts +0 -0
  249. package/dist/functions/renderer.js +138 -78
  250. package/dist/functions/start.d.ts +5 -1
  251. package/dist/functions/start.js +42 -6
  252. package/dist/functions/still.d.ts +0 -0
  253. package/dist/functions/still.js +68 -27
  254. package/dist/index.d.ts +28 -8
  255. package/dist/index.js +27 -6
  256. package/dist/internals.d.ts +1 -1
  257. package/dist/internals.js +0 -0
  258. package/dist/pricing/aws-regions.d.ts +2 -1
  259. package/dist/pricing/aws-regions.js +31 -1
  260. package/dist/pricing/price-per-1-s.d.ts +0 -0
  261. package/dist/pricing/price-per-1-s.js +413 -39
  262. package/dist/regions.d.ts +0 -0
  263. package/dist/regions.js +0 -0
  264. package/dist/shared/await.d.ts +0 -0
  265. package/dist/shared/await.js +0 -0
  266. package/dist/shared/aws-clients.d.ts +16 -2
  267. package/dist/shared/aws-clients.js +118 -26
  268. package/dist/shared/bundle-site.d.ts +2 -1
  269. package/dist/shared/bundle-site.js +0 -0
  270. package/dist/shared/call-lambda.d.ts +0 -0
  271. package/dist/shared/call-lambda.js +0 -0
  272. package/dist/shared/check-credentials.d.ts +0 -0
  273. package/dist/shared/check-credentials.js +3 -0
  274. package/dist/shared/chunk-progress.d.ts +9 -0
  275. package/dist/shared/chunk-progress.js +2034 -0
  276. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  277. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  278. package/dist/shared/constants.d.ts +117 -43
  279. package/dist/shared/constants.js +20 -10
  280. package/dist/shared/content-disposition-header.d.ts +0 -0
  281. package/dist/shared/content-disposition-header.js +0 -0
  282. package/dist/shared/convert-to-serve-url.d.ts +5 -1
  283. package/dist/shared/convert-to-serve-url.js +1 -5
  284. package/dist/shared/deserialize-input-props.d.ts +8 -0
  285. package/dist/shared/deserialize-input-props.js +26 -0
  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 +2 -2
  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-aws-urls.d.ts +14 -0
  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 +1 -2
  297. package/dist/shared/get-function-version.js +0 -0
  298. package/dist/shared/get-most-expensive-chunks.d.ts +1 -1
  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 +4 -7
  303. package/dist/shared/hosted-layers.js +294 -284
  304. package/dist/shared/invoke-webhook.d.ts +44 -0
  305. package/dist/shared/invoke-webhook.js +89 -0
  306. package/dist/shared/is-in-lambda.d.ts +0 -0
  307. package/dist/shared/is-in-lambda.js +5 -1
  308. package/dist/shared/lambda-version-string.d.ts +1 -0
  309. package/dist/shared/lambda-version-string.js +7 -0
  310. package/dist/shared/make-s3-key.d.ts +0 -0
  311. package/dist/shared/make-s3-key.js +0 -0
  312. package/dist/shared/make-s3-url.d.ts +0 -0
  313. package/dist/shared/make-s3-url.js +0 -0
  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 +0 -0
  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 +2 -0
  327. package/dist/shared/return-values.js +0 -0
  328. package/dist/shared/serialize-input-props.d.ts +8 -0
  329. package/dist/shared/serialize-input-props.js +42 -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 +0 -0
  335. package/dist/shared/truthy.js +0 -0
  336. package/dist/shared/validate-architecture.d.ts +0 -0
  337. package/dist/shared/validate-architecture.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 +4 -1
  349. package/dist/shared/validate-frames-per-lambda.js +4 -3
  350. package/dist/shared/validate-lambda-codec.d.ts +1 -1
  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 +3 -2
  355. package/dist/shared/validate-outname.js +13 -3
  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 +0 -0
  359. package/dist/shared/validate-privacy.js +0 -0
  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 +88 -65
  371. package/remotionlambda-arm64.zip +0 -0
  372. package/remotionlambda-x64.zip +0 -0
  373. package/.prettierrc.js +0 -14
  374. package/client.d.ts +0 -1
  375. package/client.js +0 -1
  376. package/dist/admin/bundle-lambda.d.ts.map +0 -1
  377. package/dist/admin/bundle-lambda.js.map +0 -1
  378. package/dist/admin/make-layer-public.d.ts.map +0 -1
  379. package/dist/admin/make-layer-public.js.map +0 -1
  380. package/dist/api/bucket-exists.d.ts.map +0 -1
  381. package/dist/api/bucket-exists.js.map +0 -1
  382. package/dist/api/clean-items.d.ts.map +0 -1
  383. package/dist/api/clean-items.js.map +0 -1
  384. package/dist/api/create-bucket.d.ts.map +0 -1
  385. package/dist/api/create-bucket.js.map +0 -1
  386. package/dist/api/create-function.d.ts.map +0 -1
  387. package/dist/api/create-function.js.map +0 -1
  388. package/dist/api/delete-function.d.ts.map +0 -1
  389. package/dist/api/delete-function.js.map +0 -1
  390. package/dist/api/delete-site.d.ts.map +0 -1
  391. package/dist/api/delete-site.js.map +0 -1
  392. package/dist/api/deploy-function.d.ts.map +0 -1
  393. package/dist/api/deploy-function.js.map +0 -1
  394. package/dist/api/deploy-site.d.ts.map +0 -1
  395. package/dist/api/deploy-site.js.map +0 -1
  396. package/dist/api/download-media.d.ts.map +0 -1
  397. package/dist/api/download-media.js.map +0 -1
  398. package/dist/api/enable-s3-website.d.ts +0 -5
  399. package/dist/api/enable-s3-website.d.ts.map +0 -1
  400. package/dist/api/enable-s3-website.js +0 -16
  401. package/dist/api/enable-s3-website.js.map +0 -1
  402. package/dist/api/estimate-price.d.ts.map +0 -1
  403. package/dist/api/estimate-price.js.map +0 -1
  404. package/dist/api/get-aws-client.d.ts.map +0 -1
  405. package/dist/api/get-aws-client.js.map +0 -1
  406. package/dist/api/get-buckets.d.ts.map +0 -1
  407. package/dist/api/get-buckets.js.map +0 -1
  408. package/dist/api/get-function-info.d.ts.map +0 -1
  409. package/dist/api/get-function-info.js.map +0 -1
  410. package/dist/api/get-functions.d.ts.map +0 -1
  411. package/dist/api/get-functions.js.map +0 -1
  412. package/dist/api/get-or-create-bucket.d.ts.map +0 -1
  413. package/dist/api/get-or-create-bucket.js.map +0 -1
  414. package/dist/api/get-regions.d.ts.map +0 -1
  415. package/dist/api/get-regions.js.map +0 -1
  416. package/dist/api/get-render-progress.d.ts.map +0 -1
  417. package/dist/api/get-render-progress.js.map +0 -1
  418. package/dist/api/get-sites.d.ts.map +0 -1
  419. package/dist/api/get-sites.js.map +0 -1
  420. package/dist/api/iam-validation/role-permissions.d.ts.map +0 -1
  421. package/dist/api/iam-validation/role-permissions.js.map +0 -1
  422. package/dist/api/iam-validation/simulate-rule.d.ts.map +0 -1
  423. package/dist/api/iam-validation/simulate-rule.js.map +0 -1
  424. package/dist/api/iam-validation/simulate.d.ts.map +0 -1
  425. package/dist/api/iam-validation/simulate.js.map +0 -1
  426. package/dist/api/iam-validation/suggested-policy.d.ts.map +0 -1
  427. package/dist/api/iam-validation/suggested-policy.js.map +0 -1
  428. package/dist/api/iam-validation/user-permissions.d.ts.map +0 -1
  429. package/dist/api/iam-validation/user-permissions.js.map +0 -1
  430. package/dist/api/mock-functions.d.ts.map +0 -1
  431. package/dist/api/mock-functions.js.map +0 -1
  432. package/dist/api/presign-url.d.ts.map +0 -1
  433. package/dist/api/presign-url.js.map +0 -1
  434. package/dist/api/render-media-on-lambda.d.ts.map +0 -1
  435. package/dist/api/render-media-on-lambda.js.map +0 -1
  436. package/dist/api/render-still-on-lambda.d.ts.map +0 -1
  437. package/dist/api/render-still-on-lambda.js.map +0 -1
  438. package/dist/api/upload-dir.d.ts.map +0 -1
  439. package/dist/api/upload-dir.js.map +0 -1
  440. package/dist/cli/args.d.ts.map +0 -1
  441. package/dist/cli/args.js.map +0 -1
  442. package/dist/cli/commands/functions/deploy.d.ts.map +0 -1
  443. package/dist/cli/commands/functions/deploy.js.map +0 -1
  444. package/dist/cli/commands/functions/index.d.ts.map +0 -1
  445. package/dist/cli/commands/functions/index.js.map +0 -1
  446. package/dist/cli/commands/functions/ls.d.ts.map +0 -1
  447. package/dist/cli/commands/functions/ls.js.map +0 -1
  448. package/dist/cli/commands/functions/rm.d.ts.map +0 -1
  449. package/dist/cli/commands/functions/rm.js.map +0 -1
  450. package/dist/cli/commands/functions/rmall.d.ts.map +0 -1
  451. package/dist/cli/commands/functions/rmall.js.map +0 -1
  452. package/dist/cli/commands/policies/policies.d.ts.map +0 -1
  453. package/dist/cli/commands/policies/policies.js.map +0 -1
  454. package/dist/cli/commands/policies/role.d.ts.map +0 -1
  455. package/dist/cli/commands/policies/role.js.map +0 -1
  456. package/dist/cli/commands/policies/user.d.ts.map +0 -1
  457. package/dist/cli/commands/policies/user.js.map +0 -1
  458. package/dist/cli/commands/policies/validate.d.ts.map +0 -1
  459. package/dist/cli/commands/policies/validate.js.map +0 -1
  460. package/dist/cli/commands/quotas/increase.d.ts.map +0 -1
  461. package/dist/cli/commands/quotas/increase.js.map +0 -1
  462. package/dist/cli/commands/quotas/index.d.ts.map +0 -1
  463. package/dist/cli/commands/quotas/index.js.map +0 -1
  464. package/dist/cli/commands/quotas/list.d.ts.map +0 -1
  465. package/dist/cli/commands/quotas/list.js.map +0 -1
  466. package/dist/cli/commands/regions.d.ts.map +0 -1
  467. package/dist/cli/commands/regions.js.map +0 -1
  468. package/dist/cli/commands/render/progress.d.ts.map +0 -1
  469. package/dist/cli/commands/render/progress.js.map +0 -1
  470. package/dist/cli/commands/render/render.d.ts.map +0 -1
  471. package/dist/cli/commands/render/render.js.map +0 -1
  472. package/dist/cli/commands/sites/create.d.ts.map +0 -1
  473. package/dist/cli/commands/sites/create.js.map +0 -1
  474. package/dist/cli/commands/sites/index.d.ts.map +0 -1
  475. package/dist/cli/commands/sites/index.js.map +0 -1
  476. package/dist/cli/commands/sites/ls.d.ts.map +0 -1
  477. package/dist/cli/commands/sites/ls.js.map +0 -1
  478. package/dist/cli/commands/sites/rm.d.ts.map +0 -1
  479. package/dist/cli/commands/sites/rm.js.map +0 -1
  480. package/dist/cli/commands/sites/rmall.d.ts.map +0 -1
  481. package/dist/cli/commands/sites/rmall.js.map +0 -1
  482. package/dist/cli/commands/still.d.ts.map +0 -1
  483. package/dist/cli/commands/still.js.map +0 -1
  484. package/dist/cli/get-aws-region.d.ts.map +0 -1
  485. package/dist/cli/get-aws-region.js.map +0 -1
  486. package/dist/cli/help.d.ts.map +0 -1
  487. package/dist/cli/help.js.map +0 -1
  488. package/dist/cli/helpers/confirm.d.ts.map +0 -1
  489. package/dist/cli/helpers/confirm.js.map +0 -1
  490. package/dist/cli/helpers/date-string.d.ts.map +0 -1
  491. package/dist/cli/helpers/date-string.js.map +0 -1
  492. package/dist/cli/helpers/find-function-name.d.ts.map +0 -1
  493. package/dist/cli/helpers/find-function-name.js.map +0 -1
  494. package/dist/cli/helpers/format-bytes.d.ts +0 -7
  495. package/dist/cli/helpers/format-bytes.d.ts.map +0 -1
  496. package/dist/cli/helpers/format-bytes.js +0 -104
  497. package/dist/cli/helpers/format-bytes.js.map +0 -1
  498. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
  499. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts.map +0 -1
  500. package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
  501. package/dist/cli/helpers/get-cloudwatch-stream-url.js.map +0 -1
  502. package/dist/cli/helpers/progress-bar.d.ts.map +0 -1
  503. package/dist/cli/helpers/progress-bar.js.map +0 -1
  504. package/dist/cli/helpers/quit.d.ts.map +0 -1
  505. package/dist/cli/helpers/quit.js.map +0 -1
  506. package/dist/cli/helpers/yes-or-no.d.ts.map +0 -1
  507. package/dist/cli/helpers/yes-or-no.js.map +0 -1
  508. package/dist/cli/index.d.ts.map +0 -1
  509. package/dist/cli/index.js.map +0 -1
  510. package/dist/cli/is-cli.d.ts.map +0 -1
  511. package/dist/cli/is-cli.js.map +0 -1
  512. package/dist/cli/log.d.ts.map +0 -1
  513. package/dist/cli/log.js.map +0 -1
  514. package/dist/client.d.ts.map +0 -1
  515. package/dist/client.js.map +0 -1
  516. package/dist/defaults.d.ts.map +0 -1
  517. package/dist/defaults.js.map +0 -1
  518. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
  519. package/dist/functions/chunk-optimization/can-use-optimization.d.ts.map +0 -1
  520. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
  521. package/dist/functions/chunk-optimization/can-use-optimization.js.map +0 -1
  522. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
  523. package/dist/functions/chunk-optimization/collect-data.d.ts.map +0 -1
  524. package/dist/functions/chunk-optimization/collect-data.js +0 -27
  525. package/dist/functions/chunk-optimization/collect-data.js.map +0 -1
  526. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
  527. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts.map +0 -1
  528. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
  529. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js.map +0 -1
  530. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
  531. package/dist/functions/chunk-optimization/get-profile-duration.d.ts.map +0 -1
  532. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
  533. package/dist/functions/chunk-optimization/get-profile-duration.js.map +0 -1
  534. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
  535. package/dist/functions/chunk-optimization/is-valid-profile.d.ts.map +0 -1
  536. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
  537. package/dist/functions/chunk-optimization/is-valid-profile.js.map +0 -1
  538. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
  539. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts.map +0 -1
  540. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
  541. package/dist/functions/chunk-optimization/optimize-invocation-order.js.map +0 -1
  542. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
  543. package/dist/functions/chunk-optimization/optimize-profile.d.ts.map +0 -1
  544. package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
  545. package/dist/functions/chunk-optimization/optimize-profile.js.map +0 -1
  546. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts.map +0 -1
  547. package/dist/functions/chunk-optimization/plan-frame-ranges.js.map +0 -1
  548. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
  549. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts.map +0 -1
  550. package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -46
  551. package/dist/functions/chunk-optimization/s3-optimization-file.js.map +0 -1
  552. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
  553. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts.map +0 -1
  554. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
  555. package/dist/functions/chunk-optimization/simulate-frame-ranges.js.map +0 -1
  556. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
  557. package/dist/functions/chunk-optimization/sort-by-duration.d.ts.map +0 -1
  558. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
  559. package/dist/functions/chunk-optimization/sort-by-duration.js.map +0 -1
  560. package/dist/functions/chunk-optimization/types.d.ts.map +0 -1
  561. package/dist/functions/chunk-optimization/types.js.map +0 -1
  562. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts.map +0 -1
  563. package/dist/functions/helpers/best-frames-per-lambda-param.js.map +0 -1
  564. package/dist/functions/helpers/calculate-chunk-times.d.ts.map +0 -1
  565. package/dist/functions/helpers/calculate-chunk-times.js.map +0 -1
  566. package/dist/functions/helpers/calculate-price-from-bucket.d.ts.map +0 -1
  567. package/dist/functions/helpers/calculate-price-from-bucket.js.map +0 -1
  568. package/dist/functions/helpers/clean-tmpdir.d.ts.map +0 -1
  569. package/dist/functions/helpers/clean-tmpdir.js.map +0 -1
  570. package/dist/functions/helpers/concat-videos.d.ts.map +0 -1
  571. package/dist/functions/helpers/concat-videos.js.map +0 -1
  572. package/dist/functions/helpers/create-post-render-data.d.ts.map +0 -1
  573. package/dist/functions/helpers/create-post-render-data.js.map +0 -1
  574. package/dist/functions/helpers/delete-chunks.d.ts.map +0 -1
  575. package/dist/functions/helpers/delete-chunks.js.map +0 -1
  576. package/dist/functions/helpers/expected-out-name.d.ts.map +0 -1
  577. package/dist/functions/helpers/expected-out-name.js.map +0 -1
  578. package/dist/functions/helpers/find-output-file-in-bucket.d.ts.map +0 -1
  579. package/dist/functions/helpers/find-output-file-in-bucket.js.map +0 -1
  580. package/dist/functions/helpers/format-costs-info.d.ts.map +0 -1
  581. package/dist/functions/helpers/format-costs-info.js.map +0 -1
  582. package/dist/functions/helpers/get-browser-instance.d.ts.map +0 -1
  583. package/dist/functions/helpers/get-browser-instance.js.map +0 -1
  584. package/dist/functions/helpers/get-chromium-executable-path.d.ts.map +0 -1
  585. package/dist/functions/helpers/get-chromium-executable-path.js.map +0 -1
  586. package/dist/functions/helpers/get-cleanup-progress.d.ts.map +0 -1
  587. package/dist/functions/helpers/get-cleanup-progress.js.map +0 -1
  588. package/dist/functions/helpers/get-current-architecture.d.ts.map +0 -1
  589. package/dist/functions/helpers/get-current-architecture.js.map +0 -1
  590. package/dist/functions/helpers/get-current-region.d.ts.map +0 -1
  591. package/dist/functions/helpers/get-current-region.js.map +0 -1
  592. package/dist/functions/helpers/get-encoding-metadata.d.ts.map +0 -1
  593. package/dist/functions/helpers/get-encoding-metadata.js.map +0 -1
  594. package/dist/functions/helpers/get-files-in-folder.d.ts.map +0 -1
  595. package/dist/functions/helpers/get-files-in-folder.js.map +0 -1
  596. package/dist/functions/helpers/get-files-to-delete.d.ts.map +0 -1
  597. package/dist/functions/helpers/get-files-to-delete.js.map +0 -1
  598. package/dist/functions/helpers/get-final-encoding-status.d.ts.map +0 -1
  599. package/dist/functions/helpers/get-final-encoding-status.js.map +0 -1
  600. package/dist/functions/helpers/get-folder-size.d.ts.map +0 -1
  601. package/dist/functions/helpers/get-folder-size.js.map +0 -1
  602. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts.map +0 -1
  603. package/dist/functions/helpers/get-lambdas-invoked-stats.js.map +0 -1
  604. package/dist/functions/helpers/get-output-url-from-metadata.d.ts.map +0 -1
  605. package/dist/functions/helpers/get-output-url-from-metadata.js.map +0 -1
  606. package/dist/functions/helpers/get-overall-progress.d.ts.map +0 -1
  607. package/dist/functions/helpers/get-overall-progress.js.map +0 -1
  608. package/dist/functions/helpers/get-post-render-data.d.ts.map +0 -1
  609. package/dist/functions/helpers/get-post-render-data.js.map +0 -1
  610. package/dist/functions/helpers/get-progress.d.ts.map +0 -1
  611. package/dist/functions/helpers/get-progress.js.map +0 -1
  612. package/dist/functions/helpers/get-render-metadata.d.ts.map +0 -1
  613. package/dist/functions/helpers/get-render-metadata.js.map +0 -1
  614. package/dist/functions/helpers/get-retry-stats.d.ts.map +0 -1
  615. package/dist/functions/helpers/get-retry-stats.js.map +0 -1
  616. package/dist/functions/helpers/get-time-to-finish.d.ts.map +0 -1
  617. package/dist/functions/helpers/get-time-to-finish.js.map +0 -1
  618. package/dist/functions/helpers/inspect-errors.d.ts.map +0 -1
  619. package/dist/functions/helpers/inspect-errors.js.map +0 -1
  620. package/dist/functions/helpers/io.d.ts.map +0 -1
  621. package/dist/functions/helpers/io.js.map +0 -1
  622. package/dist/functions/helpers/is-enosp-err.d.ts.map +0 -1
  623. package/dist/functions/helpers/is-enosp-err.js.map +0 -1
  624. package/dist/functions/helpers/is-warm.d.ts.map +0 -1
  625. package/dist/functions/helpers/is-warm.js.map +0 -1
  626. package/dist/functions/helpers/min-max.d.ts.map +0 -1
  627. package/dist/functions/helpers/min-max.js.map +0 -1
  628. package/dist/functions/helpers/print-cloudwatch-helper.d.ts.map +0 -1
  629. package/dist/functions/helpers/print-cloudwatch-helper.js.map +0 -1
  630. package/dist/functions/helpers/print-concurrency-curve.d.ts.map +0 -1
  631. package/dist/functions/helpers/print-concurrency-curve.js.map +0 -1
  632. package/dist/functions/helpers/read-with-progress.d.ts.map +0 -1
  633. package/dist/functions/helpers/read-with-progress.js.map +0 -1
  634. package/dist/functions/helpers/timer.d.ts.map +0 -1
  635. package/dist/functions/helpers/timer.js.map +0 -1
  636. package/dist/functions/helpers/validate-composition.d.ts.map +0 -1
  637. package/dist/functions/helpers/validate-composition.js.map +0 -1
  638. package/dist/functions/helpers/write-lambda-error.d.ts.map +0 -1
  639. package/dist/functions/helpers/write-lambda-error.js.map +0 -1
  640. package/dist/functions/helpers/write-post-render-data.d.ts.map +0 -1
  641. package/dist/functions/helpers/write-post-render-data.js.map +0 -1
  642. package/dist/functions/index.d.ts.map +0 -1
  643. package/dist/functions/index.js.map +0 -1
  644. package/dist/functions/info.d.ts.map +0 -1
  645. package/dist/functions/info.js.map +0 -1
  646. package/dist/functions/launch.d.ts.map +0 -1
  647. package/dist/functions/launch.js.map +0 -1
  648. package/dist/functions/progress.d.ts.map +0 -1
  649. package/dist/functions/progress.js.map +0 -1
  650. package/dist/functions/renderer.d.ts.map +0 -1
  651. package/dist/functions/renderer.js.map +0 -1
  652. package/dist/functions/start.d.ts.map +0 -1
  653. package/dist/functions/start.js.map +0 -1
  654. package/dist/functions/still.d.ts.map +0 -1
  655. package/dist/functions/still.js.map +0 -1
  656. package/dist/index.d.ts.map +0 -1
  657. package/dist/index.js.map +0 -1
  658. package/dist/internals.d.ts.map +0 -1
  659. package/dist/internals.js.map +0 -1
  660. package/dist/pricing/aws-regions.d.ts.map +0 -1
  661. package/dist/pricing/aws-regions.js.map +0 -1
  662. package/dist/pricing/price-per-1-s.d.ts.map +0 -1
  663. package/dist/pricing/price-per-1-s.js.map +0 -1
  664. package/dist/regions.d.ts.map +0 -1
  665. package/dist/regions.js.map +0 -1
  666. package/dist/shared/await.d.ts.map +0 -1
  667. package/dist/shared/await.js.map +0 -1
  668. package/dist/shared/aws-clients.d.ts.map +0 -1
  669. package/dist/shared/aws-clients.js.map +0 -1
  670. package/dist/shared/bundle-site.d.ts.map +0 -1
  671. package/dist/shared/bundle-site.js.map +0 -1
  672. package/dist/shared/call-lambda.d.ts.map +0 -1
  673. package/dist/shared/call-lambda.js.map +0 -1
  674. package/dist/shared/check-credentials.d.ts.map +0 -1
  675. package/dist/shared/check-credentials.js.map +0 -1
  676. package/dist/shared/chunk.d.ts +0 -2
  677. package/dist/shared/chunk.d.ts.map +0 -1
  678. package/dist/shared/chunk.js +0 -12
  679. package/dist/shared/chunk.js.map +0 -1
  680. package/dist/shared/constants.d.ts.map +0 -1
  681. package/dist/shared/constants.js.map +0 -1
  682. package/dist/shared/convert-to-serve-url.d.ts.map +0 -1
  683. package/dist/shared/convert-to-serve-url.js.map +0 -1
  684. package/dist/shared/docs-url.d.ts.map +0 -1
  685. package/dist/shared/docs-url.js.map +0 -1
  686. package/dist/shared/function-zip-path.d.ts.map +0 -1
  687. package/dist/shared/function-zip-path.js.map +0 -1
  688. package/dist/shared/get-account-id.d.ts.map +0 -1
  689. package/dist/shared/get-account-id.js.map +0 -1
  690. package/dist/shared/get-function-version.d.ts.map +0 -1
  691. package/dist/shared/get-function-version.js.map +0 -1
  692. package/dist/shared/hosted-layers.d.ts.map +0 -1
  693. package/dist/shared/hosted-layers.js.map +0 -1
  694. package/dist/shared/is-in-lambda.d.ts.map +0 -1
  695. package/dist/shared/is-in-lambda.js.map +0 -1
  696. package/dist/shared/make-s3-url.d.ts.map +0 -1
  697. package/dist/shared/make-s3-url.js.map +0 -1
  698. package/dist/shared/parse-lambda-initialized-key.d.ts.map +0 -1
  699. package/dist/shared/parse-lambda-initialized-key.js.map +0 -1
  700. package/dist/shared/parse-lambda-timings-key.d.ts.map +0 -1
  701. package/dist/shared/parse-lambda-timings-key.js.map +0 -1
  702. package/dist/shared/random-hash.d.ts.map +0 -1
  703. package/dist/shared/random-hash.js.map +0 -1
  704. package/dist/shared/return-values.d.ts.map +0 -1
  705. package/dist/shared/return-values.js.map +0 -1
  706. package/dist/shared/sleep.d.ts.map +0 -1
  707. package/dist/shared/sleep.js.map +0 -1
  708. package/dist/shared/stream-to-string.d.ts.map +0 -1
  709. package/dist/shared/stream-to-string.js.map +0 -1
  710. package/dist/shared/validate-architecture.d.ts.map +0 -1
  711. package/dist/shared/validate-architecture.js.map +0 -1
  712. package/dist/shared/validate-aws-region.d.ts.map +0 -1
  713. package/dist/shared/validate-aws-region.js.map +0 -1
  714. package/dist/shared/validate-bucketname.d.ts.map +0 -1
  715. package/dist/shared/validate-bucketname.js.map +0 -1
  716. package/dist/shared/validate-disk-size-in-mb.d.ts.map +0 -1
  717. package/dist/shared/validate-disk-size-in-mb.js.map +0 -1
  718. package/dist/shared/validate-frames-per-lambda.d.ts.map +0 -1
  719. package/dist/shared/validate-frames-per-lambda.js.map +0 -1
  720. package/dist/shared/validate-memory-size.d.ts.map +0 -1
  721. package/dist/shared/validate-memory-size.js.map +0 -1
  722. package/dist/shared/validate-outname.d.ts.map +0 -1
  723. package/dist/shared/validate-outname.js.map +0 -1
  724. package/dist/shared/validate-presign-expiration.d.ts.map +0 -1
  725. package/dist/shared/validate-presign-expiration.js.map +0 -1
  726. package/dist/shared/validate-privacy.d.ts.map +0 -1
  727. package/dist/shared/validate-privacy.js.map +0 -1
  728. package/dist/shared/validate-retention-period.d.ts.map +0 -1
  729. package/dist/shared/validate-retention-period.js.map +0 -1
  730. package/dist/shared/validate-retries.d.ts.map +0 -1
  731. package/dist/shared/validate-retries.js.map +0 -1
  732. package/dist/shared/validate-serveurl.d.ts.map +0 -1
  733. package/dist/shared/validate-serveurl.js.map +0 -1
  734. package/dist/shared/validate-site-name.d.ts.map +0 -1
  735. package/dist/shared/validate-site-name.js.map +0 -1
  736. package/dist/shared/validate-timeout.d.ts.map +0 -1
  737. package/dist/shared/validate-timeout.js.map +0 -1
  738. package/remotionlambda.zip +0 -0
  739. package/tsconfig.json +0 -16
@@ -1,37 +1,55 @@
1
1
  "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
4
24
  };
5
25
  Object.defineProperty(exports, "__esModule", { value: true });
6
26
  exports.launchHandler = void 0;
7
27
  const client_lambda_1 = require("@aws-sdk/client-lambda");
8
28
  const renderer_1 = require("@remotion/renderer");
9
- const fs_1 = __importDefault(require("fs"));
29
+ const fs_1 = __importStar(require("fs"));
30
+ const path_1 = require("path");
10
31
  const remotion_1 = require("remotion");
32
+ const version_1 = require("remotion/version");
11
33
  const aws_clients_1 = require("../shared/aws-clients");
34
+ const cleanup_serialized_input_props_1 = require("../shared/cleanup-serialized-input-props");
12
35
  const constants_1 = require("../shared/constants");
36
+ const deserialize_input_props_1 = require("../shared/deserialize-input-props");
13
37
  const docs_url_1 = require("../shared/docs-url");
38
+ const invoke_webhook_1 = require("../shared/invoke-webhook");
14
39
  const make_s3_url_1 = require("../shared/make-s3-url");
15
40
  const validate_frames_per_lambda_1 = require("../shared/validate-frames-per-lambda");
16
41
  const validate_outname_1 = require("../shared/validate-outname");
17
42
  const validate_privacy_1 = require("../shared/validate-privacy");
18
- const collect_data_1 = require("./chunk-optimization/collect-data");
19
- const get_frame_ranges_from_profile_1 = require("./chunk-optimization/get-frame-ranges-from-profile");
20
- const get_profile_duration_1 = require("./chunk-optimization/get-profile-duration");
21
- const is_valid_profile_1 = require("./chunk-optimization/is-valid-profile");
22
- const optimize_invocation_order_1 = require("./chunk-optimization/optimize-invocation-order");
23
- const optimize_profile_1 = require("./chunk-optimization/optimize-profile");
24
43
  const plan_frame_ranges_1 = require("./chunk-optimization/plan-frame-ranges");
25
- const s3_optimization_file_1 = require("./chunk-optimization/s3-optimization-file");
26
44
  const best_frames_per_lambda_param_1 = require("./helpers/best-frames-per-lambda-param");
27
45
  const concat_videos_1 = require("./helpers/concat-videos");
28
46
  const create_post_render_data_1 = require("./helpers/create-post-render-data");
29
47
  const delete_chunks_1 = require("./helpers/delete-chunks");
30
48
  const expected_out_name_1 = require("./helpers/expected-out-name");
49
+ const find_output_file_in_bucket_1 = require("./helpers/find-output-file-in-bucket");
31
50
  const get_browser_instance_1 = require("./helpers/get-browser-instance");
32
51
  const get_current_region_1 = require("./helpers/get-current-region");
33
52
  const get_files_to_delete_1 = require("./helpers/get-files-to-delete");
34
- const get_lambdas_invoked_stats_1 = require("./helpers/get-lambdas-invoked-stats");
35
53
  const get_output_url_from_metadata_1 = require("./helpers/get-output-url-from-metadata");
36
54
  const inspect_errors_1 = require("./helpers/inspect-errors");
37
55
  const io_1 = require("./helpers/io");
@@ -39,57 +57,132 @@ const timer_1 = require("./helpers/timer");
39
57
  const validate_composition_1 = require("./helpers/validate-composition");
40
58
  const write_lambda_error_1 = require("./helpers/write-lambda-error");
41
59
  const write_post_render_data_1 = require("./helpers/write-post-render-data");
60
+ const callFunctionWithRetry = async ({ payload, retries, functionName, }) => {
61
+ try {
62
+ await (0, aws_clients_1.getLambdaClient)((0, get_current_region_1.getCurrentRegionInFunction)()).send(new client_lambda_1.InvokeCommand({
63
+ FunctionName: functionName,
64
+ // @ts-expect-error
65
+ Payload: JSON.stringify(payload),
66
+ InvocationType: 'Event',
67
+ }), {});
68
+ }
69
+ catch (err) {
70
+ if (err.name === 'ResourceConflictException') {
71
+ if (retries > 10) {
72
+ throw err;
73
+ }
74
+ await new Promise((resolve) => {
75
+ setTimeout(resolve, 1000);
76
+ });
77
+ return callFunctionWithRetry({
78
+ payload,
79
+ retries: retries + 1,
80
+ functionName,
81
+ });
82
+ }
83
+ throw err;
84
+ }
85
+ };
42
86
  const innerLaunchHandler = async (params, options) => {
43
- var _a, _b;
87
+ var _a, _b, _c, _d, _e;
44
88
  if (params.type !== constants_1.LambdaRoutines.launch) {
45
89
  throw new Error('Expected launch type');
46
90
  }
91
+ const functionName = (_a = params.rendererFunctionName) !== null && _a !== void 0 ? _a : process.env.AWS_LAMBDA_FUNCTION_NAME;
47
92
  const startedDate = Date.now();
48
- const [browserInstance, optimization] = await Promise.all([
49
- (0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose'), params.chromiumOptions),
50
- (0, s3_optimization_file_1.getOptimization)({
51
- bucketName: params.bucketName,
52
- siteId: (0, make_s3_url_1.getServeUrlHash)(params.serveUrl),
53
- compositionId: params.composition,
54
- region: (0, get_current_region_1.getCurrentRegionInFunction)(),
55
- expectedBucketOwner: options.expectedBucketOwner,
56
- }),
57
- ]);
93
+ let webhookInvoked = false;
94
+ console.log(`Function has ${Math.max(options.getRemainingTimeInMillis() - 1000, 1000)} before it times out`);
95
+ const verbose = renderer_1.RenderInternals.isEqualOrBelowLogLevel(params.logLevel, 'verbose');
96
+ const webhookDueToTimeout = setTimeout(async () => {
97
+ if (params.webhook && !webhookInvoked) {
98
+ try {
99
+ await (0, invoke_webhook_1.invokeWebhook)({
100
+ url: params.webhook.url,
101
+ secret: params.webhook.secret,
102
+ payload: {
103
+ type: 'timeout',
104
+ renderId: params.renderId,
105
+ expectedBucketOwner: options.expectedBucketOwner,
106
+ bucketName: params.bucketName,
107
+ },
108
+ });
109
+ webhookInvoked = true;
110
+ }
111
+ catch (err) {
112
+ if (process.env.NODE_ENV === 'test') {
113
+ throw err;
114
+ }
115
+ await (0, write_lambda_error_1.writeLambdaError)({
116
+ bucketName: params.bucketName,
117
+ errorInfo: {
118
+ type: 'webhook',
119
+ message: err.message,
120
+ name: err.name,
121
+ stack: err.stack,
122
+ tmpDir: null,
123
+ frame: 0,
124
+ chunk: 0,
125
+ isFatal: false,
126
+ attempt: 1,
127
+ willRetry: false,
128
+ totalAttempts: 1,
129
+ },
130
+ renderId: params.renderId,
131
+ expectedBucketOwner: options.expectedBucketOwner,
132
+ });
133
+ console.log('Failed to invoke webhook:');
134
+ console.log(err);
135
+ }
136
+ }
137
+ }, Math.max(options.getRemainingTimeInMillis() - 1000, 1000));
138
+ const browserInstance = await (0, get_browser_instance_1.getBrowserInstance)(verbose, params.chromiumOptions);
58
139
  const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
140
+ const inputPropsPromise = (0, deserialize_input_props_1.deserializeInputProps)({
141
+ bucketName: params.bucketName,
142
+ expectedBucketOwner: options.expectedBucketOwner,
143
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
144
+ serialized: params.inputProps,
145
+ });
59
146
  const comp = await (0, validate_composition_1.validateComposition)({
60
147
  serveUrl: params.serveUrl,
61
148
  composition: params.composition,
62
149
  browserInstance,
63
- inputProps: params.inputProps,
150
+ inputProps: await inputPropsPromise,
64
151
  envVariables: params.envVariables,
65
- ffmpegExecutable: null,
66
- ffprobeExecutable: null,
67
152
  timeoutInMilliseconds: params.timeoutInMilliseconds,
68
153
  chromiumOptions: params.chromiumOptions,
69
154
  port: null,
70
155
  downloadMap,
156
+ forceHeight: params.forceHeight,
157
+ forceWidth: params.forceWidth,
158
+ });
159
+ remotion_1.Internals.validateDurationInFrames({
160
+ durationInFrames: comp.durationInFrames,
161
+ component: 'passed to a Lambda render',
162
+ allowFloats: false,
71
163
  });
72
- remotion_1.Internals.validateDurationInFrames(comp.durationInFrames, 'passed to a Lambda render');
73
164
  remotion_1.Internals.validateFps(comp.fps, 'passed to a Lambda render', false);
74
165
  remotion_1.Internals.validateDimension(comp.height, 'height', 'passed to a Lambda render');
75
166
  remotion_1.Internals.validateDimension(comp.width, 'width', 'passed to a Lambda render');
167
+ renderer_1.RenderInternals.validateBitrate(params.audioBitrate, 'audioBitrate');
168
+ renderer_1.RenderInternals.validateBitrate(params.videoBitrate, 'videoBitrate');
76
169
  renderer_1.RenderInternals.validateConcurrency(params.concurrencyPerLambda, 'concurrencyPerLambda');
77
170
  const realFrameRange = renderer_1.RenderInternals.getRealFrameRange(comp.durationInFrames, params.frameRange);
78
171
  const frameCount = renderer_1.RenderInternals.getFramesToRender(realFrameRange, params.everyNthFrame);
79
- const framesPerLambda = (_a = params.framesPerLambda) !== null && _a !== void 0 ? _a : (0, best_frames_per_lambda_param_1.bestFramesPerLambdaParam)(frameCount.length);
80
- (0, validate_frames_per_lambda_1.validateFramesPerLambda)(framesPerLambda);
172
+ const framesPerLambda = (_b = params.framesPerLambda) !== null && _b !== void 0 ? _b : (0, best_frames_per_lambda_param_1.bestFramesPerLambdaParam)(frameCount.length);
173
+ (0, validate_frames_per_lambda_1.validateFramesPerLambda)({
174
+ framesPerLambda,
175
+ durationInFrames: frameCount.length,
176
+ });
81
177
  const chunkCount = Math.ceil(frameCount.length / framesPerLambda);
82
178
  if (chunkCount > constants_1.MAX_FUNCTIONS_PER_RENDER) {
83
- throw new Error(`Too many functions: This render would cause ${chunkCount} functions to spawn. We limit this amount to ${constants_1.MAX_FUNCTIONS_PER_RENDER} functions as more would result in diminishing returns. Values set: frameCount = ${frameCount}, framesPerLambda=${framesPerLambda}. See ${docs_url_1.DOCS_URL}/docs/lambda/concurrency for how this parameter is calculated.`);
179
+ throw new Error(`Too many functions: This render would cause ${chunkCount} functions to spawn. We limit this amount to ${constants_1.MAX_FUNCTIONS_PER_RENDER} functions as more would result in diminishing returns. Values set: frameCount = ${frameCount}, framesPerLambda=${framesPerLambda}. See ${docs_url_1.DOCS_URL}/docs/lambda/concurrency#too-many-functions for help.`);
84
180
  }
85
- (0, validate_outname_1.validateOutname)(params.outName);
181
+ (0, validate_outname_1.validateOutname)(params.outName, params.codec, params.audioCodec);
86
182
  (0, validate_privacy_1.validatePrivacy)(params.privacy);
87
183
  renderer_1.RenderInternals.validatePuppeteerTimeout(params.timeoutInMilliseconds);
88
- const { chunks, didUseOptimization } = (0, plan_frame_ranges_1.planFrameRanges)({
184
+ const { chunks } = (0, plan_frame_ranges_1.planFrameRanges)({
89
185
  framesPerLambda,
90
- optimization,
91
- // TODO: Re-enable chunk optimization later
92
- shouldUseOptimization: false,
93
186
  frameRange: realFrameRange,
94
187
  everyNthFrame: params.everyNthFrame,
95
188
  });
@@ -113,12 +206,12 @@ const innerLaunchHandler = async (params, options) => {
113
206
  inputProps: params.inputProps,
114
207
  renderId: params.renderId,
115
208
  imageFormat: params.imageFormat,
116
- codec: params.codec === 'h264' ? 'h264-mkv' : params.codec,
209
+ codec: params.codec,
117
210
  crf: params.crf,
118
211
  envVariables: params.envVariables,
119
212
  pixelFormat: params.pixelFormat,
120
213
  proResProfile: params.proResProfile,
121
- quality: params.quality,
214
+ jpegQuality: params.jpegQuality,
122
215
  privacy: params.privacy,
123
216
  logLevel: (_a = params.logLevel) !== null && _a !== void 0 ? _a : 'info',
124
217
  attempt: 1,
@@ -127,9 +220,17 @@ const innerLaunchHandler = async (params, options) => {
127
220
  scale: params.scale,
128
221
  everyNthFrame: params.everyNthFrame,
129
222
  concurrencyPerLambda: params.concurrencyPerLambda,
223
+ muted: params.muted,
224
+ audioBitrate: params.audioBitrate,
225
+ videoBitrate: params.videoBitrate,
226
+ launchFunctionConfig: {
227
+ version: version_1.VERSION,
228
+ },
229
+ dumpBrowserLogs: params.dumpBrowserLogs,
130
230
  };
131
231
  return payload;
132
232
  });
233
+ console.log('Render plan: ', chunks.map((c, i) => `Chunk ${i} (Frames ${c[0]} - ${c[1]})`).join(', '));
133
234
  const renderMetadata = {
134
235
  startedDate,
135
236
  videoConfig: comp,
@@ -145,17 +246,43 @@ const innerLaunchHandler = async (params, options) => {
145
246
  compositionId: comp.id,
146
247
  siteId: (0, make_s3_url_1.getServeUrlHash)(params.serveUrl),
147
248
  codec: params.codec,
148
- usesOptimizationProfile: didUseOptimization,
149
249
  type: 'video',
150
250
  imageFormat: params.imageFormat,
151
251
  inputProps: params.inputProps,
152
- lambdaVersion: constants_1.CURRENT_VERSION,
252
+ lambdaVersion: version_1.VERSION,
153
253
  framesPerLambda,
154
254
  memorySizeInMb: Number(process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE),
155
255
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
156
256
  renderId: params.renderId,
157
- outName: (_b = params.outName) !== null && _b !== void 0 ? _b : undefined,
257
+ outName: (_c = params.outName) !== null && _c !== void 0 ? _c : undefined,
258
+ privacy: params.privacy,
259
+ everyNthFrame: params.everyNthFrame,
260
+ frameRange: realFrameRange,
261
+ audioCodec: params.audioCodec,
158
262
  };
263
+ const { key, renderBucketName, customCredentials } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, params.bucketName, typeof params.outName === 'string' || typeof params.outName === 'undefined'
264
+ ? null
265
+ : (_e = (_d = params.outName) === null || _d === void 0 ? void 0 : _d.s3OutputProvider) !== null && _e !== void 0 ? _e : null);
266
+ const output = await (0, find_output_file_in_bucket_1.findOutputFileInBucket)({
267
+ bucketName: params.bucketName,
268
+ customCredentials,
269
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
270
+ renderMetadata,
271
+ });
272
+ if (output) {
273
+ if (params.overwrite) {
274
+ console.info('Deleting', { bucketName: renderBucketName, key }, 'because it already existed and will be overwritten');
275
+ await (0, io_1.lambdaDeleteFile)({
276
+ bucketName: renderBucketName,
277
+ customCredentials,
278
+ key,
279
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
280
+ });
281
+ }
282
+ else {
283
+ throw new TypeError(`Output file "${key}" in bucket "${renderBucketName}" in region "${(0, get_current_region_1.getCurrentRegionInFunction)()}" already exists. Delete it before re-rendering, or use the overwrite option to delete it before render."`);
284
+ }
285
+ }
159
286
  await (0, io_1.lambdaWriteFile)({
160
287
  bucketName: params.bucketName,
161
288
  key: (0, constants_1.renderMetadataKey)(params.renderId),
@@ -164,44 +291,29 @@ const innerLaunchHandler = async (params, options) => {
164
291
  privacy: 'private',
165
292
  expectedBucketOwner: options.expectedBucketOwner,
166
293
  downloadBehavior: null,
294
+ customCredentials: null,
167
295
  });
168
- await Promise.all(lambdaPayloads.map(async (payload, index) => {
169
- const callingLambdaTimer = (0, timer_1.timer)('Calling chunk ' + index);
170
- await (0, aws_clients_1.getLambdaClient)((0, get_current_region_1.getCurrentRegionInFunction)()).send(new client_lambda_1.InvokeCommand({
171
- FunctionName: process.env.AWS_LAMBDA_FUNCTION_NAME,
172
- // @ts-expect-error
173
- Payload: JSON.stringify(payload),
174
- InvocationType: 'Event',
175
- }), {});
176
- callingLambdaTimer.end();
296
+ await Promise.all(lambdaPayloads.map(async (payload) => {
297
+ await callFunctionWithRetry({ payload, retries: 0, functionName });
177
298
  }));
178
299
  reqSend.end();
179
300
  let lastProgressUploaded = 0;
180
- let encodingStop = null;
181
- const onProgress = (framesEncoded, start) => {
301
+ const onProgress = (framesEncoded) => {
182
302
  const relativeProgress = framesEncoded / frameCount.length;
183
303
  const deltaSinceLastProgressUploaded = relativeProgress - lastProgressUploaded;
184
- if (relativeProgress === 1) {
185
- encodingStop = Date.now();
186
- }
187
304
  if (deltaSinceLastProgressUploaded < 0.1) {
188
305
  return;
189
306
  }
190
307
  lastProgressUploaded = relativeProgress;
191
- const encodingProgress = {
192
- framesEncoded,
193
- totalFrames: frameCount.length,
194
- doneIn: encodingStop ? encodingStop - start : null,
195
- timeToInvoke: null,
196
- };
197
308
  (0, io_1.lambdaWriteFile)({
198
309
  bucketName: params.bucketName,
199
310
  key: (0, constants_1.encodingProgressKey)(params.renderId),
200
- body: JSON.stringify(encodingProgress),
311
+ body: String(Math.round(framesEncoded / constants_1.ENCODING_PROGRESS_STEP_SIZE)),
201
312
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
202
313
  privacy: 'private',
203
314
  expectedBucketOwner: options.expectedBucketOwner,
204
315
  downloadBehavior: null,
316
+ customCredentials: null,
205
317
  }).catch((err) => {
206
318
  (0, write_lambda_error_1.writeLambdaError)({
207
319
  bucketName: params.bucketName,
@@ -223,23 +335,61 @@ const innerLaunchHandler = async (params, options) => {
223
335
  });
224
336
  });
225
337
  };
338
+ const onErrors = async (errors) => {
339
+ var _a;
340
+ console.log('Found Errors', errors);
341
+ if (params.webhook) {
342
+ console.log('Sending webhook with errors');
343
+ await (0, invoke_webhook_1.invokeWebhook)({
344
+ url: params.webhook.url,
345
+ secret: (_a = params.webhook.secret) !== null && _a !== void 0 ? _a : null,
346
+ payload: {
347
+ type: 'error',
348
+ renderId: params.renderId,
349
+ expectedBucketOwner: options.expectedBucketOwner,
350
+ bucketName: params.bucketName,
351
+ errors: errors.slice(0, 5).map((e) => ({
352
+ message: e.message,
353
+ name: e.name,
354
+ stack: e.stack,
355
+ })),
356
+ },
357
+ });
358
+ }
359
+ else {
360
+ console.log('No webhook specified');
361
+ }
362
+ throw new Error('Stopping Lambda function because error occurred: ' + errors[0].stack);
363
+ };
226
364
  const fps = comp.fps / params.everyNthFrame;
227
- const { outfile, cleanupChunksProm, encodingStart } = await (0, concat_videos_1.concatVideosS3)({
365
+ const outdir = (0, path_1.join)(renderer_1.RenderInternals.tmpDir(constants_1.CONCAT_FOLDER_TOKEN), 'bucket');
366
+ if ((0, fs_1.existsSync)(outdir)) {
367
+ (0, fs_1.rmSync)(outdir, {
368
+ recursive: true,
369
+ });
370
+ }
371
+ (0, fs_1.mkdirSync)(outdir);
372
+ const files = await (0, concat_videos_1.getAllFilesS3)({
228
373
  bucket: params.bucketName,
229
374
  expectedFiles: chunkCount,
230
- onProgress,
231
- numberOfFrames: frameCount.length,
375
+ outdir,
232
376
  renderId: params.renderId,
233
377
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
234
- codec: params.codec,
235
378
  expectedBucketOwner: options.expectedBucketOwner,
379
+ onErrors,
380
+ });
381
+ const encodingStart = Date.now();
382
+ const { outfile, cleanupChunksProm } = await (0, concat_videos_1.concatVideosS3)({
383
+ onProgress,
384
+ numberOfFrames: frameCount.length,
385
+ codec: params.codec,
236
386
  fps,
237
387
  numberOfGifLoops: params.numberOfGifLoops,
388
+ files,
389
+ outdir,
390
+ audioCodec: params.audioCodec,
238
391
  });
239
- if (!encodingStop) {
240
- encodingStop = Date.now();
241
- }
242
- const { key, renderBucketName } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, params.bucketName);
392
+ const encodingStop = Date.now();
243
393
  const outputSize = fs_1.default.statSync(outfile);
244
394
  await (0, io_1.lambdaWriteFile)({
245
395
  bucketName: renderBucketName,
@@ -249,68 +399,23 @@ const innerLaunchHandler = async (params, options) => {
249
399
  privacy: params.privacy,
250
400
  expectedBucketOwner: options.expectedBucketOwner,
251
401
  downloadBehavior: params.downloadBehavior,
402
+ customCredentials,
403
+ });
404
+ const contents = await (0, io_1.lambdaLs)({
405
+ bucketName: params.bucketName,
406
+ prefix: (0, constants_1.rendersPrefix)(params.renderId),
407
+ expectedBucketOwner: options.expectedBucketOwner,
408
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
252
409
  });
253
- let chunkProm = Promise.resolve();
254
- // TODO: Enable in a later release
255
- const enableChunkOptimization = false;
256
- if (enableChunkOptimization) {
257
- const chunkData = await (0, collect_data_1.collectChunkInformation)({
258
- bucketName: params.bucketName,
259
- renderId: params.renderId,
260
- region: (0, get_current_region_1.getCurrentRegionInFunction)(),
261
- expectedBucketOwner: options.expectedBucketOwner,
262
- });
263
- const optimizedProfile = (0, optimize_invocation_order_1.optimizeInvocationOrder)((0, optimize_profile_1.optimizeProfileRecursively)(chunkData, 400));
264
- const optimizedFrameRange = (0, get_frame_ranges_from_profile_1.getFrameRangesFromProfile)(optimizedProfile);
265
- chunkProm = (0, is_valid_profile_1.isValidOptimizationProfile)(optimizedProfile)
266
- ? (0, s3_optimization_file_1.writeOptimization)({
267
- bucketName: params.bucketName,
268
- optimization: {
269
- ranges: optimizedFrameRange,
270
- oldTiming: (0, get_profile_duration_1.getProfileDuration)(chunkData),
271
- newTiming: (0, get_profile_duration_1.getProfileDuration)(optimizedProfile),
272
- createdFromRenderId: params.renderId,
273
- framesPerLambda,
274
- lambdaVersion: constants_1.CURRENT_VERSION,
275
- frameRange: realFrameRange,
276
- everyNthFrame: params.everyNthFrame,
277
- },
278
- expectedBucketOwner: options.expectedBucketOwner,
279
- compositionId: params.composition,
280
- siteId: (0, make_s3_url_1.getServeUrlHash)(params.serveUrl),
281
- region: (0, get_current_region_1.getCurrentRegionInFunction)(),
282
- })
283
- : Promise.resolve();
284
- }
285
- const [, contents] = await Promise.all([
286
- chunkProm,
287
- (0, io_1.lambdaLs)({
288
- bucketName: params.bucketName,
289
- prefix: (0, constants_1.rendersPrefix)(params.renderId),
290
- expectedBucketOwner: options.expectedBucketOwner,
291
- region: (0, get_current_region_1.getCurrentRegionInFunction)(),
292
- }),
293
- ]);
294
- const finalEncodingProgress = {
295
- framesEncoded: frameCount.length,
296
- totalFrames: frameCount.length,
297
- doneIn: encodingStop ? encodingStop - encodingStart : null,
298
- timeToInvoke: (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)({
299
- contents,
300
- renderId: params.renderId,
301
- estimatedRenderLambdaInvokations: renderMetadata.estimatedRenderLambdaInvokations,
302
- checkIfAllLambdasWereInvoked: false,
303
- startDate: renderMetadata.startedDate,
304
- }).timeToInvokeLambdas,
305
- };
306
410
  const finalEncodingProgressProm = (0, io_1.lambdaWriteFile)({
307
411
  bucketName: params.bucketName,
308
412
  key: (0, constants_1.encodingProgressKey)(params.renderId),
309
- body: JSON.stringify(finalEncodingProgress),
413
+ body: String(Math.ceil(frameCount.length / constants_1.ENCODING_PROGRESS_STEP_SIZE)),
310
414
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
311
415
  privacy: 'private',
312
416
  expectedBucketOwner: options.expectedBucketOwner,
313
417
  downloadBehavior: null,
418
+ customCredentials: null,
314
419
  });
315
420
  const errorExplanationsProm = (0, inspect_errors_1.inspectErrors)({
316
421
  contents,
@@ -323,12 +428,20 @@ const innerLaunchHandler = async (params, options) => {
323
428
  chunkCount,
324
429
  renderId: params.renderId,
325
430
  });
326
- const deletProm = (0, delete_chunks_1.cleanupFiles)({
431
+ const deletProm = verbose
432
+ ? Promise.resolve(0)
433
+ : (0, delete_chunks_1.cleanupFiles)({
434
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
435
+ bucket: params.bucketName,
436
+ contents,
437
+ jobs,
438
+ });
439
+ const cleanupSerializedInputPropsProm = (0, cleanup_serialized_input_props_1.cleanupSerializedInputProps)({
440
+ bucketName: params.bucketName,
327
441
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
328
- bucket: params.bucketName,
329
- contents,
330
- jobs,
442
+ serialized: params.inputProps,
331
443
  });
444
+ const outputUrl = (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, params.bucketName, customCredentials);
332
445
  const postRenderData = (0, create_post_render_data_1.createPostRenderData)({
333
446
  expectedBucketOwner: options.expectedBucketOwner,
334
447
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
@@ -338,11 +451,11 @@ const innerLaunchHandler = async (params, options) => {
338
451
  contents,
339
452
  errorExplanations: await errorExplanationsProm,
340
453
  timeToEncode: encodingStop - encodingStart,
341
- timeToDelete: await deletProm,
454
+ timeToDelete: (await Promise.all([deletProm, cleanupSerializedInputPropsProm])).reduce((a, b) => a + b, 0),
342
455
  outputFile: {
343
456
  lastModified: Date.now(),
344
457
  size: outputSize.size,
345
- url: (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, params.bucketName),
458
+ url: outputUrl,
346
459
  },
347
460
  });
348
461
  await finalEncodingProgressProm;
@@ -353,9 +466,63 @@ const innerLaunchHandler = async (params, options) => {
353
466
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
354
467
  renderId: params.renderId,
355
468
  });
469
+ await (0, io_1.lambdaDeleteFile)({
470
+ bucketName: params.bucketName,
471
+ key: (0, constants_1.initalizedMetadataKey)(params.renderId),
472
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
473
+ customCredentials: null,
474
+ });
475
+ renderer_1.RenderInternals.cleanDownloadMap(downloadMap);
356
476
  await Promise.all([cleanupChunksProm, fs_1.default.promises.rm(outfile)]);
477
+ clearTimeout(webhookDueToTimeout);
478
+ if (params.webhook && !webhookInvoked) {
479
+ try {
480
+ await (0, invoke_webhook_1.invokeWebhook)({
481
+ url: params.webhook.url,
482
+ secret: params.webhook.secret,
483
+ payload: {
484
+ type: 'success',
485
+ renderId: params.renderId,
486
+ expectedBucketOwner: options.expectedBucketOwner,
487
+ bucketName: params.bucketName,
488
+ outputUrl,
489
+ lambdaErrors: postRenderData.errors,
490
+ outputFile: postRenderData.outputFile,
491
+ timeToFinish: postRenderData.timeToFinish,
492
+ costs: postRenderData.cost,
493
+ },
494
+ });
495
+ webhookInvoked = true;
496
+ }
497
+ catch (err) {
498
+ if (process.env.NODE_ENV === 'test') {
499
+ throw err;
500
+ }
501
+ await (0, write_lambda_error_1.writeLambdaError)({
502
+ bucketName: params.bucketName,
503
+ errorInfo: {
504
+ type: 'webhook',
505
+ message: err.message,
506
+ name: err.name,
507
+ stack: err.stack,
508
+ tmpDir: null,
509
+ frame: 0,
510
+ chunk: 0,
511
+ isFatal: false,
512
+ attempt: 1,
513
+ willRetry: false,
514
+ totalAttempts: 1,
515
+ },
516
+ renderId: params.renderId,
517
+ expectedBucketOwner: options.expectedBucketOwner,
518
+ });
519
+ console.log('Failed to invoke webhook:');
520
+ console.log(err);
521
+ }
522
+ }
357
523
  };
358
524
  const launchHandler = async (params, options) => {
525
+ var _a, _b;
359
526
  if (params.type !== constants_1.LambdaRoutines.launch) {
360
527
  throw new Error('Expected launch type');
361
528
  }
@@ -363,6 +530,9 @@ const launchHandler = async (params, options) => {
363
530
  await innerLaunchHandler(params, options);
364
531
  }
365
532
  catch (err) {
533
+ if (process.env.NODE_ENV === 'test') {
534
+ throw err;
535
+ }
366
536
  console.log('Error occurred', err);
367
537
  await (0, write_lambda_error_1.writeLambdaError)({
368
538
  bucketName: params.bucketName,
@@ -382,6 +552,50 @@ const launchHandler = async (params, options) => {
382
552
  expectedBucketOwner: options.expectedBucketOwner,
383
553
  renderId: params.renderId,
384
554
  });
555
+ if ((_a = params.webhook) === null || _a === void 0 ? void 0 : _a.url) {
556
+ try {
557
+ await (0, invoke_webhook_1.invokeWebhook)({
558
+ url: params.webhook.url,
559
+ secret: (_b = params.webhook.secret) !== null && _b !== void 0 ? _b : null,
560
+ payload: {
561
+ type: 'error',
562
+ renderId: params.renderId,
563
+ expectedBucketOwner: options.expectedBucketOwner,
564
+ bucketName: params.bucketName,
565
+ errors: [err].map((e) => ({
566
+ message: e.message,
567
+ name: e.name,
568
+ stack: e.stack,
569
+ })),
570
+ },
571
+ });
572
+ }
573
+ catch (error) {
574
+ if (process.env.NODE_ENV === 'test') {
575
+ throw error;
576
+ }
577
+ await (0, write_lambda_error_1.writeLambdaError)({
578
+ bucketName: params.bucketName,
579
+ errorInfo: {
580
+ type: 'webhook',
581
+ message: err.message,
582
+ name: err.name,
583
+ stack: err.stack,
584
+ tmpDir: null,
585
+ frame: 0,
586
+ chunk: 0,
587
+ isFatal: false,
588
+ attempt: 1,
589
+ willRetry: false,
590
+ totalAttempts: 1,
591
+ },
592
+ renderId: params.renderId,
593
+ expectedBucketOwner: options.expectedBucketOwner,
594
+ });
595
+ console.log('Failed to invoke webhook:');
596
+ console.log(error);
597
+ }
598
+ }
385
599
  }
386
600
  };
387
601
  exports.launchHandler = launchHandler;
@@ -1,7 +1,7 @@
1
1
  import type { LambdaPayload, RenderProgress } from '../shared/constants';
2
2
  declare type Options = {
3
3
  expectedBucketOwner: string;
4
- timeoutInMiliseconds: number;
4
+ timeoutInMilliseconds: number;
5
5
  };
6
6
  export declare const progressHandler: (lambdaParams: LambdaPayload, options: Options) => Promise<RenderProgress>;
7
7
  export {};