@remotion/lambda 4.0.0-imgloading.2 → 4.0.0-jshmr2.1

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 (401) 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 +21 -4
  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 +30 -8
  8. package/dist/api/bucket-exists.d.ts +1 -1
  9. package/dist/api/bucket-exists.js +1 -1
  10. package/dist/api/clean-items.d.ts +1 -1
  11. package/dist/api/clean-items.js +1 -1
  12. package/dist/api/create-bucket.d.ts +1 -1
  13. package/dist/api/create-bucket.js +1 -1
  14. package/dist/api/create-function.d.ts +4 -3
  15. package/dist/api/create-function.js +27 -4
  16. package/dist/api/delete-function.d.ts +2 -2
  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 +2 -2
  21. package/dist/api/delete-site.js +1 -6
  22. package/dist/api/deploy-function.d.ts +4 -3
  23. package/dist/api/deploy-function.js +11 -4
  24. package/dist/api/deploy-site.d.ts +13 -4
  25. package/dist/api/deploy-site.js +50 -22
  26. package/dist/api/download-media.d.ts +15 -2
  27. package/dist/api/download-media.js +15 -3
  28. package/dist/api/estimate-price.d.ts +3 -3
  29. package/dist/api/estimate-price.js +1 -1
  30. package/dist/api/get-aws-client.d.ts +8 -4
  31. package/dist/api/get-aws-client.js +15 -4
  32. package/dist/api/get-buckets.d.ts +1 -1
  33. package/dist/api/get-buckets.js +27 -10
  34. package/dist/api/get-compositions-on-lambda.d.ts +29 -0
  35. package/dist/api/get-compositions-on-lambda.js +54 -0
  36. package/dist/api/get-function-info.d.ts +3 -4
  37. package/dist/api/get-function-info.js +1 -1
  38. package/dist/api/get-functions.d.ts +3 -5
  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 +4 -9
  42. package/dist/api/get-regions.d.ts +7 -3
  43. package/dist/api/get-regions.js +6 -3
  44. package/dist/api/get-render-progress.d.ts +7 -4
  45. package/dist/api/get-render-progress.js +6 -2
  46. package/dist/api/get-sites.d.ts +4 -4
  47. package/dist/api/get-sites.js +1 -2
  48. package/dist/api/iam-validation/role-permissions.d.ts +2 -1
  49. package/dist/api/iam-validation/role-permissions.js +0 -0
  50. package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
  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 +25 -6
  54. package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
  55. package/dist/api/iam-validation/suggested-policy.js +0 -0
  56. package/dist/api/iam-validation/user-permissions.d.ts +1 -1
  57. package/dist/api/iam-validation/user-permissions.js +1 -8
  58. package/dist/api/mock-functions.d.ts +6 -7
  59. package/dist/api/mock-functions.js +0 -0
  60. package/dist/api/presign-url.d.ts +5 -5
  61. package/dist/api/presign-url.js +9 -4
  62. package/dist/api/render-media-on-lambda.d.ts +38 -17
  63. package/dist/api/render-media-on-lambda.js +88 -38
  64. package/dist/api/render-still-on-lambda.d.ts +12 -7
  65. package/dist/api/render-still-on-lambda.js +58 -31
  66. package/dist/api/upload-dir.d.ts +6 -5
  67. package/dist/api/upload-dir.js +58 -50
  68. package/dist/api/validate-webhook-signature.d.ts +13 -0
  69. package/dist/api/validate-webhook-signature.js +32 -0
  70. package/dist/cli/args.d.ts +13 -5
  71. package/dist/cli/args.js +1 -5
  72. package/dist/cli/commands/compositions/index.d.ts +2 -0
  73. package/dist/cli/commands/compositions/index.js +44 -0
  74. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  75. package/dist/cli/commands/functions/deploy.js +10 -6
  76. package/dist/cli/commands/functions/index.d.ts +0 -0
  77. package/dist/cli/commands/functions/index.js +16 -17
  78. package/dist/cli/commands/functions/ls.d.ts +0 -0
  79. package/dist/cli/commands/functions/ls.js +5 -6
  80. package/dist/cli/commands/functions/rm.d.ts +0 -0
  81. package/dist/cli/commands/functions/rm.js +0 -0
  82. package/dist/cli/commands/functions/rmall.d.ts +0 -0
  83. package/dist/cli/commands/functions/rmall.js +0 -0
  84. package/dist/cli/commands/policies/policies.d.ts +0 -0
  85. package/dist/cli/commands/policies/policies.js +0 -0
  86. package/dist/cli/commands/policies/role.d.ts +0 -0
  87. package/dist/cli/commands/policies/role.js +0 -0
  88. package/dist/cli/commands/policies/user.d.ts +0 -0
  89. package/dist/cli/commands/policies/user.js +0 -0
  90. package/dist/cli/commands/policies/validate.d.ts +0 -0
  91. package/dist/cli/commands/policies/validate.js +0 -0
  92. package/dist/cli/commands/quotas/increase.d.ts +0 -0
  93. package/dist/cli/commands/quotas/increase.js +6 -6
  94. package/dist/cli/commands/quotas/index.d.ts +0 -0
  95. package/dist/cli/commands/quotas/index.js +8 -9
  96. package/dist/cli/commands/quotas/list.d.ts +0 -0
  97. package/dist/cli/commands/quotas/list.js +0 -0
  98. package/dist/cli/commands/regions.d.ts +0 -0
  99. package/dist/cli/commands/regions.js +6 -2
  100. package/dist/cli/commands/render/progress.d.ts +11 -7
  101. package/dist/cli/commands/render/progress.js +66 -48
  102. package/dist/cli/commands/render/render.d.ts +1 -1
  103. package/dist/cli/commands/render/render.js +80 -25
  104. package/dist/cli/commands/sites/create.d.ts +1 -1
  105. package/dist/cli/commands/sites/create.js +25 -26
  106. package/dist/cli/commands/sites/index.d.ts +1 -1
  107. package/dist/cli/commands/sites/index.js +15 -16
  108. package/dist/cli/commands/sites/ls.d.ts +0 -0
  109. package/dist/cli/commands/sites/ls.js +10 -12
  110. package/dist/cli/commands/sites/rm.d.ts +0 -0
  111. package/dist/cli/commands/sites/rm.js +8 -19
  112. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  113. package/dist/cli/commands/sites/rmall.js +7 -19
  114. package/dist/cli/commands/still.d.ts +1 -1
  115. package/dist/cli/commands/still.js +34 -27
  116. package/dist/cli/get-aws-region.d.ts +1 -1
  117. package/dist/cli/get-aws-region.js +2 -1
  118. package/dist/cli/help.d.ts +0 -0
  119. package/dist/cli/help.js +0 -0
  120. package/dist/cli/helpers/confirm.d.ts +0 -0
  121. package/dist/cli/helpers/confirm.js +0 -0
  122. package/dist/cli/helpers/date-string.d.ts +0 -0
  123. package/dist/cli/helpers/date-string.js +0 -0
  124. package/dist/cli/helpers/find-function-name.d.ts +0 -0
  125. package/dist/cli/helpers/find-function-name.js +37 -7
  126. package/dist/cli/helpers/progress-bar.d.ts +9 -3
  127. package/dist/cli/helpers/progress-bar.js +20 -8
  128. package/dist/cli/helpers/quit.d.ts +0 -0
  129. package/dist/cli/helpers/quit.js +0 -0
  130. package/dist/cli/helpers/yes-or-no.d.ts +0 -0
  131. package/dist/cli/helpers/yes-or-no.js +0 -0
  132. package/dist/cli/index.d.ts +1 -1
  133. package/dist/cli/index.js +30 -9
  134. package/dist/cli/is-cli.d.ts +0 -0
  135. package/dist/cli/is-cli.js +0 -0
  136. package/dist/cli/log.d.ts +0 -0
  137. package/dist/cli/log.js +0 -0
  138. package/dist/client.d.ts +8 -2
  139. package/dist/client.js +9 -1
  140. package/dist/defaults.d.ts +0 -0
  141. package/dist/defaults.js +5 -1
  142. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +3 -10
  143. package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -19
  144. package/dist/functions/chunk-optimization/types.d.ts +0 -11
  145. package/dist/functions/chunk-optimization/types.js +0 -0
  146. package/dist/functions/compositions.d.ts +8 -0
  147. package/dist/functions/compositions.js +58 -0
  148. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  149. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  150. package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
  151. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  152. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
  153. package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
  154. package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
  155. package/dist/functions/helpers/check-if-render-exists.js +14 -0
  156. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  157. package/dist/functions/helpers/clean-tmpdir.js +1 -1
  158. package/dist/functions/helpers/concat-videos.d.ts +19 -7
  159. package/dist/functions/helpers/concat-videos.js +41 -33
  160. package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
  161. package/dist/functions/helpers/create-post-render-data.js +5 -12
  162. package/dist/functions/helpers/delete-chunks.d.ts +3 -3
  163. package/dist/functions/helpers/delete-chunks.js +0 -0
  164. package/dist/functions/helpers/expected-out-name.d.ts +4 -2
  165. package/dist/functions/helpers/expected-out-name.js +27 -6
  166. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +5 -3
  167. package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
  168. package/dist/functions/helpers/format-costs-info.d.ts +1 -1
  169. package/dist/functions/helpers/format-costs-info.js +0 -0
  170. package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
  171. package/dist/functions/helpers/get-browser-instance.js +2 -2
  172. package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
  173. package/dist/functions/helpers/get-chromium-executable-path.js +3 -2
  174. package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
  175. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  176. package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
  177. package/dist/functions/helpers/get-current-architecture.js +0 -0
  178. package/dist/functions/helpers/get-current-region.d.ts +1 -1
  179. package/dist/functions/helpers/get-current-region.js +0 -0
  180. package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
  181. package/dist/functions/helpers/get-custom-out-name.js +31 -0
  182. package/dist/functions/helpers/get-encoding-metadata.d.ts +6 -9
  183. package/dist/functions/helpers/get-encoding-metadata.js +7 -17
  184. package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
  185. package/dist/functions/helpers/get-files-in-folder.js +0 -0
  186. package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
  187. package/dist/functions/helpers/get-files-to-delete.js +3 -3
  188. package/dist/functions/helpers/get-final-encoding-status.d.ts +3 -5
  189. package/dist/functions/helpers/get-final-encoding-status.js +1 -4
  190. package/dist/functions/helpers/get-folder-size.d.ts +0 -0
  191. package/dist/functions/helpers/get-folder-size.js +0 -0
  192. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +5 -4
  193. package/dist/functions/helpers/get-lambdas-invoked-stats.js +2 -10
  194. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +3 -2
  195. package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
  196. package/dist/functions/helpers/get-overall-progress.d.ts +2 -1
  197. package/dist/functions/helpers/get-overall-progress.js +7 -5
  198. package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
  199. package/dist/functions/helpers/get-post-render-data.js +0 -0
  200. package/dist/functions/helpers/get-progress.d.ts +6 -4
  201. package/dist/functions/helpers/get-progress.js +65 -46
  202. package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
  203. package/dist/functions/helpers/get-render-metadata.js +0 -0
  204. package/dist/functions/helpers/get-rendered-frames-progress.d.ts +8 -0
  205. package/dist/functions/helpers/get-rendered-frames-progress.js +37 -0
  206. package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
  207. package/dist/functions/helpers/get-retry-stats.js +1 -1
  208. package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
  209. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  210. package/dist/functions/helpers/inspect-errors.d.ts +3 -3
  211. package/dist/functions/helpers/inspect-errors.js +0 -0
  212. package/dist/functions/helpers/io.d.ts +24 -6
  213. package/dist/functions/helpers/io.js +31 -8
  214. package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
  215. package/dist/functions/helpers/is-enosp-err.js +0 -0
  216. package/dist/functions/helpers/is-warm.d.ts +0 -0
  217. package/dist/functions/helpers/is-warm.js +0 -0
  218. package/dist/functions/helpers/make-timeout-error.d.ts +8 -0
  219. package/dist/functions/helpers/make-timeout-error.js +48 -0
  220. package/dist/functions/helpers/min-max.d.ts +1 -1
  221. package/dist/functions/helpers/min-max.js +1 -1
  222. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -2
  223. package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
  224. package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
  225. package/dist/functions/helpers/print-concurrency-curve.js +0 -0
  226. package/dist/functions/helpers/read-with-progress.d.ts +6 -3
  227. package/dist/functions/helpers/read-with-progress.js +16 -4
  228. package/dist/functions/helpers/timer.d.ts +0 -0
  229. package/dist/functions/helpers/timer.js +0 -0
  230. package/dist/functions/helpers/validate-composition.d.ts +12 -4
  231. package/dist/functions/helpers/validate-composition.js +14 -2
  232. package/dist/functions/helpers/write-lambda-error.d.ts +2 -2
  233. package/dist/functions/helpers/write-lambda-error.js +2 -0
  234. package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
  235. package/dist/functions/helpers/write-post-render-data.js +2 -0
  236. package/dist/functions/index.d.ts +3 -2
  237. package/dist/functions/index.js +29 -10
  238. package/dist/functions/info.d.ts +2 -2
  239. package/dist/functions/info.js +2 -1
  240. package/dist/functions/launch.d.ts +2 -1
  241. package/dist/functions/launch.js +360 -123
  242. package/dist/functions/progress.d.ts +2 -2
  243. package/dist/functions/progress.js +10 -1
  244. package/dist/functions/renderer.d.ts +1 -1
  245. package/dist/functions/renderer.js +144 -79
  246. package/dist/functions/start.d.ts +6 -2
  247. package/dist/functions/start.js +44 -6
  248. package/dist/functions/still.d.ts +1 -1
  249. package/dist/functions/still.js +78 -21
  250. package/dist/index.d.ts +57 -21
  251. package/dist/index.js +27 -5
  252. package/dist/internals.d.ts +1 -1
  253. package/dist/internals.js +0 -0
  254. package/dist/pricing/aws-regions.d.ts +2 -1
  255. package/dist/pricing/aws-regions.js +31 -1
  256. package/dist/pricing/price-per-1-s.d.ts +1 -1
  257. package/dist/pricing/price-per-1-s.js +413 -39
  258. package/dist/regions.d.ts +0 -0
  259. package/dist/regions.js +0 -0
  260. package/dist/shared/await.d.ts +0 -0
  261. package/dist/shared/await.js +0 -0
  262. package/dist/shared/aws-clients.d.ts +17 -3
  263. package/dist/shared/aws-clients.js +118 -26
  264. package/dist/shared/bundle-site.d.ts +2 -6
  265. package/dist/shared/bundle-site.js +0 -0
  266. package/dist/shared/call-lambda.d.ts +3 -3
  267. package/dist/shared/call-lambda.js +0 -0
  268. package/dist/shared/check-credentials.d.ts +0 -0
  269. package/dist/shared/check-credentials.js +5 -2
  270. package/dist/shared/chunk-progress.d.ts +9 -0
  271. package/dist/shared/chunk-progress.js +2034 -0
  272. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  273. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  274. package/dist/shared/constants.d.ts +119 -37
  275. package/dist/shared/constants.js +21 -10
  276. package/dist/shared/content-disposition-header.d.ts +7 -0
  277. package/dist/shared/content-disposition-header.js +19 -0
  278. package/dist/shared/convert-to-serve-url.d.ts +6 -2
  279. package/dist/shared/convert-to-serve-url.js +1 -5
  280. package/dist/shared/deserialize-input-props.d.ts +8 -0
  281. package/dist/shared/deserialize-input-props.js +26 -0
  282. package/dist/shared/docs-url.d.ts +0 -0
  283. package/dist/shared/docs-url.js +0 -0
  284. package/dist/shared/function-zip-path.d.ts +2 -1
  285. package/dist/shared/function-zip-path.js +3 -2
  286. package/dist/shared/get-account-id.d.ts +1 -1
  287. package/dist/shared/get-account-id.js +4 -6
  288. package/dist/shared/get-aws-urls.d.ts +14 -0
  289. package/dist/shared/get-aws-urls.js +12 -0
  290. package/dist/shared/get-etag.d.ts +1 -0
  291. package/dist/shared/get-etag.js +24 -0
  292. package/dist/shared/get-function-version.d.ts +2 -3
  293. package/dist/shared/get-function-version.js +0 -0
  294. package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
  295. package/dist/shared/get-most-expensive-chunks.js +26 -0
  296. package/dist/shared/get-s3-operations.d.ts +10 -0
  297. package/dist/shared/get-s3-operations.js +36 -0
  298. package/dist/shared/hosted-layers.d.ts +89 -3
  299. package/dist/shared/hosted-layers.js +434 -125
  300. package/dist/shared/invoke-webhook.d.ts +46 -0
  301. package/dist/shared/invoke-webhook.js +89 -0
  302. package/dist/shared/is-in-lambda.d.ts +0 -0
  303. package/dist/shared/is-in-lambda.js +5 -1
  304. package/dist/shared/lambda-version-string.d.ts +1 -0
  305. package/dist/shared/lambda-version-string.js +7 -0
  306. package/dist/shared/make-s3-key.d.ts +1 -0
  307. package/dist/shared/make-s3-key.js +11 -0
  308. package/dist/shared/make-s3-url.d.ts +1 -1
  309. package/dist/shared/make-s3-url.js +0 -0
  310. package/dist/shared/p-limit.d.ts +0 -0
  311. package/dist/shared/p-limit.js +0 -0
  312. package/dist/shared/parse-chunk-key.d.ts +4 -0
  313. package/dist/shared/parse-chunk-key.js +14 -0
  314. package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
  315. package/dist/shared/parse-lambda-initialized-key.js +0 -0
  316. package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
  317. package/dist/shared/parse-lambda-timings-key.js +0 -0
  318. package/dist/shared/random-hash.d.ts +2 -2
  319. package/dist/shared/random-hash.js +1 -1
  320. package/dist/shared/read-dir.d.ts +9 -0
  321. package/dist/shared/read-dir.js +57 -0
  322. package/dist/shared/return-values.d.ts +9 -7
  323. package/dist/shared/return-values.js +0 -1
  324. package/dist/shared/serialize-input-props.d.ts +8 -0
  325. package/dist/shared/serialize-input-props.js +42 -0
  326. package/dist/shared/sleep.d.ts +0 -0
  327. package/dist/shared/sleep.js +0 -0
  328. package/dist/shared/stream-to-string.d.ts +2 -1
  329. package/dist/shared/stream-to-string.js +0 -0
  330. package/dist/shared/truthy.d.ts +3 -0
  331. package/dist/shared/truthy.js +7 -0
  332. package/dist/shared/validate-architecture.d.ts +0 -0
  333. package/dist/shared/validate-architecture.js +0 -0
  334. package/dist/shared/validate-aws-region.d.ts +1 -1
  335. package/dist/shared/validate-aws-region.js +0 -0
  336. package/dist/shared/validate-bucketname.d.ts +5 -0
  337. package/dist/shared/validate-bucketname.js +19 -1
  338. package/dist/shared/validate-custom-role-arn.d.ts +1 -0
  339. package/dist/shared/validate-custom-role-arn.js +11 -0
  340. package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
  341. package/dist/shared/validate-disk-size-in-mb.js +0 -0
  342. package/dist/shared/validate-download-behavior.d.ts +1 -0
  343. package/dist/shared/validate-download-behavior.js +21 -0
  344. package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
  345. package/dist/shared/validate-frames-per-lambda.js +4 -3
  346. package/dist/shared/validate-lambda-codec.d.ts +4 -0
  347. package/dist/shared/validate-lambda-codec.js +30 -0
  348. package/dist/shared/validate-memory-size.d.ts +0 -0
  349. package/dist/shared/validate-memory-size.js +0 -0
  350. package/dist/shared/validate-outname.d.ts +3 -2
  351. package/dist/shared/validate-outname.js +10 -1
  352. package/dist/shared/validate-presign-expiration.d.ts +0 -2
  353. package/dist/shared/validate-presign-expiration.js +7 -7
  354. package/dist/shared/validate-privacy.d.ts +1 -1
  355. package/dist/shared/validate-privacy.js +2 -2
  356. package/dist/shared/validate-retention-period.d.ts +0 -0
  357. package/dist/shared/validate-retention-period.js +0 -0
  358. package/dist/shared/validate-retries.d.ts +0 -0
  359. package/dist/shared/validate-retries.js +0 -0
  360. package/dist/shared/validate-serveurl.d.ts +0 -0
  361. package/dist/shared/validate-serveurl.js +0 -0
  362. package/dist/shared/validate-site-name.d.ts +0 -0
  363. package/dist/shared/validate-site-name.js +0 -0
  364. package/dist/shared/validate-timeout.d.ts +0 -0
  365. package/dist/shared/validate-timeout.js +0 -0
  366. package/package.json +55 -32
  367. package/remotionlambda-arm64.zip +0 -0
  368. package/remotionlambda-x64.zip +0 -0
  369. package/remotionlambda.zip +0 -0
  370. package/.prettierrc.js +0 -14
  371. package/client.d.ts +0 -1
  372. package/client.js +0 -1
  373. package/dist/api/enable-s3-website.d.ts +0 -5
  374. package/dist/api/enable-s3-website.js +0 -16
  375. package/dist/cli/helpers/format-bytes.d.ts +0 -6
  376. package/dist/cli/helpers/format-bytes.js +0 -103
  377. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
  378. package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
  379. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
  380. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
  381. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
  382. package/dist/functions/chunk-optimization/collect-data.js +0 -27
  383. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -6
  384. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
  385. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
  386. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
  387. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
  388. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
  389. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
  390. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
  391. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -15
  392. package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
  393. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
  394. package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -45
  395. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -10
  396. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
  397. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
  398. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
  399. package/dist/shared/chunk.d.ts +0 -1
  400. package/dist/shared/chunk.js +0 -11
  401. package/tsconfig.json +0 -16
@@ -3,10 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeDeployProgressBar = exports.makeBucketProgress = exports.makeBundleProgress = void 0;
4
4
  const cli_1 = require("@remotion/cli");
5
5
  const remotion_1 = require("remotion");
6
- const format_bytes_1 = require("./format-bytes");
7
6
  const makeBundleProgress = ({ progress, doneIn }) => {
8
7
  return [
9
- '📦',
10
8
  `(1/3)`,
11
9
  cli_1.CliInternals.makeProgressBar(progress / 100),
12
10
  `${doneIn === null ? 'Bundling' : 'Bundled'} video`,
@@ -16,12 +14,11 @@ const makeBundleProgress = ({ progress, doneIn }) => {
16
14
  ].join(' ');
17
15
  };
18
16
  exports.makeBundleProgress = makeBundleProgress;
19
- const makeBucketProgress = ({ bucketCreated, websiteEnabled, doneIn, }) => {
20
- const states = [bucketCreated, websiteEnabled];
17
+ const makeBucketProgress = ({ bucketCreated, doneIn, }) => {
18
+ const states = [bucketCreated];
21
19
  const statesFinished = states.filter(Boolean).map((p) => p).length;
22
20
  const progress = statesFinished / states.length;
23
21
  return [
24
- '🪣 ',
25
22
  `(2/3)`,
26
23
  cli_1.CliInternals.makeProgressBar(progress),
27
24
  `${doneIn === null ? 'Creating' : 'Created'} bucket`,
@@ -31,18 +28,33 @@ const makeBucketProgress = ({ bucketCreated, websiteEnabled, doneIn, }) => {
31
28
  ].join(' ');
32
29
  };
33
30
  exports.makeBucketProgress = makeBucketProgress;
34
- const makeDeployProgressBar = ({ sizeUploaded, totalSize, doneIn, }) => {
31
+ const makeUploadDiff = ({ stats }) => {
32
+ if (!stats) {
33
+ return null;
34
+ }
35
+ if (stats.addedFiles === 0 && stats.removedFiles === 0) {
36
+ return cli_1.CliInternals.chalk.gray(`(Unchanged)`);
37
+ }
38
+ const total = stats.addedFiles + stats.removedFiles;
39
+ return cli_1.CliInternals.chalk.gray(`(${[
40
+ stats.addedFiles ? `+${stats.addedFiles}` : null,
41
+ stats.removedFiles ? `-${stats.removedFiles}` : null,
42
+ ]
43
+ .filter(remotion_1.Internals.truthy)
44
+ .join(',')} ${total === 1 ? 'file' : 'files'})`);
45
+ };
46
+ const makeDeployProgressBar = ({ sizeUploaded, totalSize, doneIn, stats, }) => {
35
47
  const progress = totalSize === null ? 0 : sizeUploaded / totalSize;
36
48
  return [
37
- '☁️ ',
38
49
  `(3/3)`,
39
50
  cli_1.CliInternals.makeProgressBar(progress),
40
51
  `${doneIn === null ? 'Uploading' : 'Uploaded'} to S3`,
41
52
  doneIn === null
42
53
  ? typeof totalSize === 'number'
43
- ? `${(0, format_bytes_1.formatBytes)(sizeUploaded)}/${(0, format_bytes_1.formatBytes)(totalSize)}`
54
+ ? `${cli_1.CliInternals.formatBytes(sizeUploaded)}/${cli_1.CliInternals.formatBytes(totalSize)}`
44
55
  : ''
45
56
  : cli_1.CliInternals.chalk.gray(`${doneIn}ms`),
57
+ makeUploadDiff({ stats }),
46
58
  ]
47
59
  .filter(remotion_1.Internals.truthy)
48
60
  .join(' ');
File without changes
File without changes
File without changes
File without changes
@@ -1,2 +1,2 @@
1
- export declare const executeCommand: (args: string[]) => Promise<void>;
1
+ export declare const executeCommand: (args: string[], remotionRoot: string) => Promise<void>;
2
2
  export declare const cli: () => Promise<void>;
package/dist/cli/index.js CHANGED
@@ -2,10 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cli = exports.executeCommand = void 0;
4
4
  const cli_1 = require("@remotion/cli");
5
+ const renderer_1 = require("@remotion/renderer");
5
6
  const suggested_policy_1 = require("../api/iam-validation/suggested-policy");
7
+ const defaults_1 = require("../defaults");
6
8
  const check_credentials_1 = require("../shared/check-credentials");
7
9
  const docs_url_1 = require("../shared/docs-url");
8
10
  const args_1 = require("./args");
11
+ const compositions_1 = require("./commands/compositions");
9
12
  const functions_1 = require("./commands/functions");
10
13
  const policies_1 = require("./commands/policies/policies");
11
14
  const role_1 = require("./commands/policies/role");
@@ -33,7 +36,7 @@ const requiresCredentials = (args) => {
33
36
  }
34
37
  return true;
35
38
  };
36
- const matchCommand = (args) => {
39
+ const matchCommand = (args, remotionRoot) => {
37
40
  if (args_1.parsedLambdaCli.help || args.length === 0) {
38
41
  (0, help_1.printHelp)();
39
42
  (0, quit_1.quit)(0);
@@ -42,10 +45,13 @@ const matchCommand = (args) => {
42
45
  (0, check_credentials_1.checkCredentials)();
43
46
  }
44
47
  if (args[0] === render_1.RENDER_COMMAND) {
45
- return (0, render_1.renderCommand)(args.slice(1));
48
+ return (0, render_1.renderCommand)(args.slice(1), remotionRoot);
46
49
  }
47
50
  if (args[0] === still_1.STILL_COMMAND) {
48
- return (0, still_1.stillCommand)(args.slice(1));
51
+ return (0, still_1.stillCommand)(args.slice(1), remotionRoot);
52
+ }
53
+ if (args[0] === compositions_1.COMPOSITIONS_COMMAND) {
54
+ return (0, compositions_1.compositionsCommand)(args.slice(1), remotionRoot);
49
55
  }
50
56
  if (args[0] === functions_1.FUNCTIONS_COMMAND) {
51
57
  return (0, functions_1.functionsCommand)(args.slice(1));
@@ -60,7 +66,7 @@ const matchCommand = (args) => {
60
66
  return (0, regions_1.regionsCommand)();
61
67
  }
62
68
  if (args[0] === sites_1.SITES_COMMAND) {
63
- return (0, sites_1.sitesCommand)(args.slice(1));
69
+ return (0, sites_1.sitesCommand)(args.slice(1), remotionRoot);
64
70
  }
65
71
  if (args[0] === 'upload') {
66
72
  log_1.Log.info('The command has been renamed.');
@@ -90,15 +96,24 @@ const matchCommand = (args) => {
90
96
  (0, help_1.printHelp)();
91
97
  (0, quit_1.quit)(1);
92
98
  };
93
- const executeCommand = async (args) => {
94
- var _a, _b;
99
+ const executeCommand = async (args, remotionRoot) => {
100
+ var _a, _b, _c;
95
101
  try {
96
102
  (0, is_cli_1.setIsCli)(true);
97
- await matchCommand(args);
103
+ await matchCommand(args, remotionRoot);
98
104
  }
99
105
  catch (err) {
100
106
  const error = err;
101
107
  if (error.message.includes('The role defined for the function cannot be assumed by Lambda')) {
108
+ if (args_1.parsedLambdaCli['custom-role-arn']) {
109
+ log_1.Log.error(`
110
+ The role "${args_1.parsedLambdaCli['custom-role-arn']}" does not exist or has the wrong policy assigned to it. Do either:
111
+ - Remove the "--custom-role-arn" parameter and set up Remotion Lambda according to the setup guide
112
+ - Make sure the role has the same policy assigned as the one returned by "npx ${defaults_1.BINARY_NAME} ${policies_1.POLICIES_COMMAND} ${role_1.ROLE_SUBCOMMAND}"
113
+
114
+ Revisit ${docs_url_1.DOCS_URL}/docs/lambda/setup and make sure you set up the role and role policy correctly. Also see the troubleshooting page: ${docs_url_1.DOCS_URL}/docs/lambda/troubleshooting/permissions. The original error message is:
115
+ `.trim());
116
+ }
102
117
  log_1.Log.error(`
103
118
  The role "${suggested_policy_1.ROLE_NAME}" does not exist in your AWS account or has the wrong policy assigned to it. Common reasons:
104
119
  - The name of the role is not "${suggested_policy_1.ROLE_NAME}"
@@ -116,6 +131,11 @@ AWS returned an "AccessDenied" error message meaning a permission is missing. Re
116
131
  log_1.Log.error(`
117
132
  AWS returned an "TooManyRequestsException" error message which could mean you reached the concurrency limit of AWS Lambda. You can increase the limit - read this troubleshooting page: ${docs_url_1.DOCS_URL}/docs/lambda/troubleshooting/rate-limit. The original error message is:
118
133
  `.trim());
134
+ }
135
+ if ((_c = error.stack) === null || _c === void 0 ? void 0 : _c.includes('The security token included in the request is invalid')) {
136
+ log_1.Log.error(`
137
+ AWS returned an error message "The security token included in the request is invalid". A possible reason for this is that you did not enable the region in your AWS account under "Account". The original message is:
138
+ `);
119
139
  }
120
140
  log_1.Log.error(error.stack);
121
141
  (0, quit_1.quit)(1);
@@ -123,7 +143,8 @@ AWS returned an "TooManyRequestsException" error message which could mean you re
123
143
  };
124
144
  exports.executeCommand = executeCommand;
125
145
  const cli = async () => {
126
- await cli_1.CliInternals.initializeRenderCli('lambda');
127
- await (0, exports.executeCommand)(args_1.parsedLambdaCli._);
146
+ const remotionRoot = renderer_1.RenderInternals.findRemotionRoot();
147
+ await cli_1.CliInternals.initializeCli(remotionRoot);
148
+ await (0, exports.executeCommand)(args_1.parsedLambdaCli._, remotionRoot);
128
149
  };
129
150
  exports.cli = cli;
File without changes
File without changes
package/dist/cli/log.d.ts CHANGED
File without changes
package/dist/cli/log.js CHANGED
File without changes
package/dist/client.d.ts CHANGED
@@ -1,8 +1,14 @@
1
+ import { getCompositionsOnLambda } from './api/get-compositions-on-lambda';
1
2
  import { getFunctions } from './api/get-functions';
2
3
  import { getRenderProgress } from './api/get-render-progress';
4
+ import { getSites } from './api/get-sites';
5
+ import type { PresignUrlInput } from './api/presign-url';
6
+ import { presignUrl } from './api/presign-url';
3
7
  import { renderMediaOnLambda, renderVideoOnLambda } from './api/render-media-on-lambda';
4
8
  import { renderStillOnLambda } from './api/render-still-on-lambda';
9
+ import { validateWebhookSignature } from './api/validate-webhook-signature';
5
10
  import type { AwsRegion } from './pricing/aws-regions';
6
11
  import type { RenderProgress } from './shared/constants';
7
- export { renderVideoOnLambda, renderMediaOnLambda, renderStillOnLambda, getRenderProgress, getFunctions, };
8
- export type { AwsRegion, RenderProgress };
12
+ import type { WebhookPayload } from './shared/invoke-webhook';
13
+ export { renderVideoOnLambda, renderMediaOnLambda, renderStillOnLambda, getRenderProgress, getFunctions, validateWebhookSignature, getCompositionsOnLambda, presignUrl, getSites, };
14
+ export type { AwsRegion, RenderProgress, WebhookPayload, PresignUrlInput };
package/dist/client.js CHANGED
@@ -1,12 +1,20 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFunctions = exports.getRenderProgress = exports.renderStillOnLambda = exports.renderMediaOnLambda = exports.renderVideoOnLambda = void 0;
3
+ exports.getSites = exports.presignUrl = exports.getCompositionsOnLambda = exports.validateWebhookSignature = exports.getFunctions = exports.getRenderProgress = exports.renderStillOnLambda = exports.renderMediaOnLambda = exports.renderVideoOnLambda = void 0;
4
+ const get_compositions_on_lambda_1 = require("./api/get-compositions-on-lambda");
5
+ Object.defineProperty(exports, "getCompositionsOnLambda", { enumerable: true, get: function () { return get_compositions_on_lambda_1.getCompositionsOnLambda; } });
4
6
  const get_functions_1 = require("./api/get-functions");
5
7
  Object.defineProperty(exports, "getFunctions", { enumerable: true, get: function () { return get_functions_1.getFunctions; } });
6
8
  const get_render_progress_1 = require("./api/get-render-progress");
7
9
  Object.defineProperty(exports, "getRenderProgress", { enumerable: true, get: function () { return get_render_progress_1.getRenderProgress; } });
10
+ const get_sites_1 = require("./api/get-sites");
11
+ Object.defineProperty(exports, "getSites", { enumerable: true, get: function () { return get_sites_1.getSites; } });
12
+ const presign_url_1 = require("./api/presign-url");
13
+ Object.defineProperty(exports, "presignUrl", { enumerable: true, get: function () { return presign_url_1.presignUrl; } });
8
14
  const render_media_on_lambda_1 = require("./api/render-media-on-lambda");
9
15
  Object.defineProperty(exports, "renderMediaOnLambda", { enumerable: true, get: function () { return render_media_on_lambda_1.renderMediaOnLambda; } });
10
16
  Object.defineProperty(exports, "renderVideoOnLambda", { enumerable: true, get: function () { return render_media_on_lambda_1.renderVideoOnLambda; } });
11
17
  const render_still_on_lambda_1 = require("./api/render-still-on-lambda");
12
18
  Object.defineProperty(exports, "renderStillOnLambda", { enumerable: true, get: function () { return render_still_on_lambda_1.renderStillOnLambda; } });
19
+ const validate_webhook_signature_1 = require("./api/validate-webhook-signature");
20
+ Object.defineProperty(exports, "validateWebhookSignature", { enumerable: true, get: function () { return validate_webhook_signature_1.validateWebhookSignature; } });
File without changes
package/dist/defaults.js CHANGED
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -1,14 +1,7 @@
1
- import { OptimizationProfile } from './types';
2
- export declare const planFrameRanges: ({ chunkCount, framesPerLambda, optimization, shouldUseOptimization, frameRange, }: {
3
- chunkCount: number;
1
+ export declare const planFrameRanges: ({ framesPerLambda, frameRange, everyNthFrame, }: {
4
2
  framesPerLambda: number;
5
- optimization: OptimizationProfile | null;
6
- shouldUseOptimization: boolean;
7
3
  frameRange: [number, number];
4
+ everyNthFrame: number;
8
5
  }) => {
9
- chunks: [
10
- number,
11
- number
12
- ][];
13
- didUseOptimization: boolean;
6
+ chunks: [number, number][];
14
7
  };
@@ -2,28 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.planFrameRanges = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
- const can_use_optimization_1 = require("./can-use-optimization");
6
- const planFrameRanges = ({ chunkCount, framesPerLambda, optimization, shouldUseOptimization, frameRange, }) => {
7
- if ((0, can_use_optimization_1.canUseOptimization)({
8
- optimization,
9
- framesPerLambda,
10
- frameRange,
11
- }) &&
12
- shouldUseOptimization) {
13
- return {
14
- chunks: optimization.ranges,
15
- didUseOptimization: true,
16
- };
17
- }
18
- const frameCount = renderer_1.RenderInternals.getDurationFromFrameRange(frameRange, 0);
5
+ const planFrameRanges = ({ framesPerLambda, frameRange, everyNthFrame, }) => {
6
+ const framesToRender = renderer_1.RenderInternals.getFramesToRender(frameRange, everyNthFrame);
7
+ const chunkCount = Math.ceil(framesToRender.length / framesPerLambda);
8
+ const firstFrame = frameRange[0];
19
9
  return {
20
10
  chunks: new Array(chunkCount).fill(1).map((_, i) => {
21
- return [
22
- i * framesPerLambda + frameRange[0],
23
- Math.min(frameCount, (i + 1) * framesPerLambda) - 1 + frameRange[0],
24
- ];
11
+ const start = i * framesPerLambda * everyNthFrame + firstFrame;
12
+ const end = Math.min(framesToRender[framesToRender.length - 1], (i + 1) * framesPerLambda * everyNthFrame - 1) + firstFrame;
13
+ return [start, end];
25
14
  }),
26
- didUseOptimization: false,
27
15
  };
28
16
  };
29
17
  exports.planFrameRanges = planFrameRanges;
@@ -1,4 +1,3 @@
1
- import { LambdaVersions } from '../../shared/constants';
2
1
  export declare type ObjectChunkTimingData = {
3
2
  chunk: number;
4
3
  frameRange: [number, number];
@@ -10,13 +9,3 @@ export declare type ObjectChunkTimingData = {
10
9
  export declare type ChunkTimingData = Omit<ObjectChunkTimingData, 'timings'> & {
11
10
  timings: number[];
12
11
  };
13
- export declare type TimingProfile = ChunkTimingData[];
14
- export declare type OptimizationProfile = {
15
- ranges: [number, number][];
16
- frameRange: [number, number];
17
- oldTiming: number;
18
- newTiming: number;
19
- createdFromRenderId: string;
20
- framesPerLambda: number;
21
- lambdaVersion: LambdaVersions;
22
- };
File without changes
@@ -0,0 +1,8 @@
1
+ import type { LambdaPayload } from '../defaults';
2
+ declare type Options = {
3
+ expectedBucketOwner: string;
4
+ };
5
+ export declare const compositionsHandler: (lambdaParams: LambdaPayload, options: Options) => Promise<{
6
+ compositions: import("remotion").TCompMetadata[];
7
+ }>;
8
+ export {};
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compositionsHandler = void 0;
4
+ const renderer_1 = require("@remotion/renderer");
5
+ const version_1 = require("remotion/version");
6
+ const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
7
+ const defaults_1 = require("../defaults");
8
+ const convert_to_serve_url_1 = require("../shared/convert-to-serve-url");
9
+ const deserialize_input_props_1 = require("../shared/deserialize-input-props");
10
+ const get_browser_instance_1 = require("./helpers/get-browser-instance");
11
+ const get_current_region_1 = require("./helpers/get-current-region");
12
+ const compositionsHandler = async (lambdaParams, options) => {
13
+ var _a, _b;
14
+ if (lambdaParams.type !== defaults_1.LambdaRoutines.compositions) {
15
+ throw new TypeError('Expected info compositions');
16
+ }
17
+ if (lambdaParams.version !== version_1.VERSION) {
18
+ if (!lambdaParams.version) {
19
+ throw new Error(`Version mismatch: When calling getCompositionsOnLambda(), you called the function ${process.env.AWS_LAMBDA_FUNCTION_NAME} which has the version ${version_1.VERSION} but the @remotion/lambda package is an older version. Deploy a new function and use it to call getCompositionsOnLambda(). See: https://www.remotion.dev/docs/lambda/upgrading`);
20
+ }
21
+ throw new Error(`Version mismatch: When calling getCompositionsOnLambda(), you passed ${process.env.AWS_LAMBDA_FUNCTION_NAME} as the function, which has the version ${version_1.VERSION}, but the @remotion/lambda package you used to invoke the function has version ${lambdaParams.version}. Deploy a new function and use it to call getCompositionsOnLambda(). See: https://www.remotion.dev/docs/lambda/upgrading`);
22
+ }
23
+ const region = (0, get_current_region_1.getCurrentRegionInFunction)();
24
+ const [bucketName, browserInstance] = await Promise.all([
25
+ (_a = lambdaParams.bucketName) !== null && _a !== void 0 ? _a : (0, get_or_create_bucket_1.getOrCreateBucket)({
26
+ region,
27
+ }).then((b) => b.bucketName),
28
+ (0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(lambdaParams.logLevel, 'verbose'), (_b = lambdaParams.chromiumOptions) !== null && _b !== void 0 ? _b : {}),
29
+ ]);
30
+ const inputProps = await (0, deserialize_input_props_1.deserializeInputProps)({
31
+ bucketName,
32
+ expectedBucketOwner: options.expectedBucketOwner,
33
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
34
+ serialized: lambdaParams.inputProps,
35
+ });
36
+ const realServeUrl = (0, convert_to_serve_url_1.convertToServeUrl)({
37
+ urlOrId: lambdaParams.serveUrl,
38
+ region,
39
+ bucketName,
40
+ });
41
+ const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
42
+ const compositions = await (0, renderer_1.getCompositions)(realServeUrl, {
43
+ puppeteerInstance: browserInstance,
44
+ inputProps,
45
+ envVariables: lambdaParams.envVariables,
46
+ ffmpegExecutable: null,
47
+ ffprobeExecutable: null,
48
+ timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
49
+ chromiumOptions: lambdaParams.chromiumOptions,
50
+ port: null,
51
+ downloadMap,
52
+ });
53
+ renderer_1.RenderInternals.cleanDownloadMap(downloadMap);
54
+ return Promise.resolve({
55
+ compositions,
56
+ });
57
+ };
58
+ exports.compositionsHandler = compositionsHandler;
@@ -1,4 +1,4 @@
1
- import { _Object } from '@aws-sdk/client-s3';
1
+ import type { _Object } from '@aws-sdk/client-s3';
2
2
  export declare const calculateChunkTimes: ({ contents, renderId, type, }: {
3
3
  contents: _Object[];
4
4
  renderId: string;
File without changes
@@ -1,7 +1,7 @@
1
- import { _Object } from '@aws-sdk/client-s3';
2
- import { RenderMetadata } from '../../shared/constants';
3
- import { LambdaArchitecture } from '../../shared/validate-architecture';
4
- import { OutputFileMetadata } from './find-output-file-in-bucket';
1
+ import type { _Object } from '@aws-sdk/client-s3';
2
+ import type { RenderMetadata } from '../../shared/constants';
3
+ import type { LambdaArchitecture } from '../../shared/validate-architecture';
4
+ import type { OutputFileMetadata } from './find-output-file-in-bucket';
5
5
  export declare const estimatePriceFromBucket: ({ contents, renderMetadata, memorySizeInMb, outputFileMetadata, architecture, diskSizeInMb, lambdasInvoked, }: {
6
6
  contents: _Object[];
7
7
  renderMetadata: RenderMetadata | null;
@@ -0,0 +1,3 @@
1
+ import type { _Object } from '@aws-sdk/client-s3';
2
+ import type { AwsRegion } from '../../client';
3
+ export declare const checkIfRenderExists: (contents: _Object[], renderId: string, bucketName: string, region: AwsRegion) => void;
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkIfRenderExists = void 0;
4
+ const constants_1 = require("../../shared/constants");
5
+ const checkIfRenderExists = (contents, renderId, bucketName, region) => {
6
+ const initializedExists = Boolean(contents.find((c) => {
7
+ var _a;
8
+ return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.initalizedMetadataKey)(renderId));
9
+ }));
10
+ if (!initializedExists) {
11
+ throw new TypeError(`No render with ID "${renderId}" found in bucket ${bucketName} and region ${region}`);
12
+ }
13
+ };
14
+ exports.checkIfRenderExists = checkIfRenderExists;
File without changes
@@ -35,7 +35,7 @@ const deleteAllFilesInAFolderRecursively = (path) => {
35
35
  const deleteTmpDir = () => {
36
36
  exports.deletedFiles = [];
37
37
  exports.deletedFilesSize = 0;
38
- if (typeof jest === 'undefined') {
38
+ if (!process.env.VITEST) {
39
39
  deleteAllFilesInAFolderRecursively('/tmp');
40
40
  }
41
41
  };
@@ -1,16 +1,28 @@
1
- import { Codec } from 'remotion';
2
- import { AwsRegion } from '../../pricing/aws-regions';
3
- export declare const concatVideosS3: ({ bucket, expectedFiles, onProgress, numberOfFrames, renderId, region, codec, expectedBucketOwner, }: {
1
+ import type { AudioCodec, FfmpegExecutable } from '@remotion/renderer';
2
+ import type { AwsRegion } from '../../pricing/aws-regions';
3
+ import type { LambdaCodec } from '../../shared/validate-lambda-codec';
4
+ import type { EnhancedErrorInfo } from './write-lambda-error';
5
+ export declare const getAllFilesS3: ({ bucket, expectedFiles, outdir, renderId, region, expectedBucketOwner, onErrors, }: {
4
6
  bucket: string;
5
7
  expectedFiles: number;
6
- onProgress: (frames: number, encodingStart: number) => void;
7
- numberOfFrames: number;
8
+ outdir: string;
8
9
  renderId: string;
9
10
  region: AwsRegion;
10
- codec: Codec;
11
11
  expectedBucketOwner: string;
12
+ onErrors: (errors: EnhancedErrorInfo[]) => Promise<void>;
13
+ }) => Promise<string[]>;
14
+ export declare const concatVideosS3: ({ onProgress, numberOfFrames, codec, fps, numberOfGifLoops, ffmpegExecutable, remotionRoot, files, outdir, audioCodec, }: {
15
+ onProgress: (frames: number) => void;
16
+ numberOfFrames: number;
17
+ codec: LambdaCodec;
18
+ fps: number;
19
+ numberOfGifLoops: number | null;
20
+ ffmpegExecutable: FfmpegExecutable;
21
+ remotionRoot: string;
22
+ files: string[];
23
+ outdir: string;
24
+ audioCodec: AudioCodec | null;
12
25
  }) => Promise<{
13
26
  outfile: string;
14
27
  cleanupChunksProm: Promise<void>;
15
- encodingStart: number;
16
28
  }>;
@@ -1,7 +1,11 @@
1
1
  "use strict";
2
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
3
  if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[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);
5
9
  }) : (function(o, m, k, k2) {
6
10
  if (k2 === undefined) k2 = k;
7
11
  o[k2] = m[k];
@@ -19,11 +23,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
19
23
  return result;
20
24
  };
21
25
  Object.defineProperty(exports, "__esModule", { value: true });
22
- exports.concatVideosS3 = void 0;
26
+ exports.concatVideosS3 = exports.getAllFilesS3 = void 0;
23
27
  const renderer_1 = require("@remotion/renderer");
24
28
  const fs_1 = __importStar(require("fs"));
25
29
  const path_1 = __importStar(require("path"));
26
30
  const constants_1 = require("../../shared/constants");
31
+ const inspect_errors_1 = require("./inspect-errors");
27
32
  const io_1 = require("./io");
28
33
  const timer_1 = require("./timer");
29
34
  const getChunkDownloadOutputLocation = ({ outdir, file, }) => {
@@ -46,11 +51,11 @@ const downloadS3File = async ({ bucket, key, outdir, region, expectedBucketOwner
46
51
  .on('close', () => resolve());
47
52
  });
48
53
  };
49
- const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expectedBucketOwner, }) => {
54
+ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expectedBucketOwner, onErrors, }) => {
50
55
  const alreadyDownloading = {};
51
56
  const downloaded = {};
52
57
  const getFiles = async () => {
53
- const prefix = (0, constants_1.chunkKey)(renderId);
58
+ const prefix = (0, constants_1.rendersPrefix)(renderId);
54
59
  const lsTimer = (0, timer_1.timer)('Listing files');
55
60
  const contents = await (0, io_1.lambdaLs)({
56
61
  bucketName: bucket,
@@ -59,13 +64,16 @@ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expect
59
64
  expectedBucketOwner,
60
65
  });
61
66
  lsTimer.end();
62
- return contents
63
- .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.chunkKey)(renderId)); })
64
- .map((_) => _.Key);
67
+ return {
68
+ filesInBucket: contents
69
+ .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.chunkKey)(renderId)); })
70
+ .map((_) => _.Key),
71
+ errorContents: contents.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.getErrorKeyPrefix)(renderId)); }),
72
+ };
65
73
  };
66
74
  return new Promise((resolve, reject) => {
67
75
  const loop = async () => {
68
- const filesInBucket = await getFiles();
76
+ const { filesInBucket, errorContents } = await getFiles();
69
77
  const checkFinish = () => {
70
78
  const areAllFilesDownloaded = Object.keys(downloaded).length === expectedFiles;
71
79
  console.log('Checking for finish... ', Object.keys(downloaded), expectedFiles + ' files expected');
@@ -75,6 +83,17 @@ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expect
75
83
  }
76
84
  };
77
85
  console.log('Found ', filesInBucket);
86
+ const errors = (await (0, inspect_errors_1.inspectErrors)({
87
+ bucket,
88
+ contents: errorContents,
89
+ expectedBucketOwner,
90
+ region,
91
+ renderId,
92
+ })).filter((e) => e.isFatal);
93
+ if (errors.length > 0) {
94
+ await onErrors(errors);
95
+ // Will die here
96
+ }
78
97
  filesInBucket.forEach(async (key) => {
79
98
  if (alreadyDownloading[key]) {
80
99
  return;
@@ -101,47 +120,36 @@ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expect
101
120
  const areAllFilesDownloading = Object.keys(alreadyDownloading).length === expectedFiles;
102
121
  if (!areAllFilesDownloading) {
103
122
  setTimeout(() => {
104
- loop();
123
+ loop().catch((err) => reject(err));
105
124
  }, 100);
106
125
  }
107
126
  };
108
- loop();
127
+ loop().catch((err) => reject(err));
109
128
  });
110
129
  };
111
- const concatVideosS3 = async ({ bucket, expectedFiles, onProgress, numberOfFrames, renderId, region, codec, expectedBucketOwner, }) => {
130
+ exports.getAllFilesS3 = getAllFilesS3;
131
+ const concatVideosS3 = async ({ onProgress, numberOfFrames, codec, fps, numberOfGifLoops, ffmpegExecutable, remotionRoot, files, outdir, audioCodec, }) => {
112
132
  var _a;
113
- const outdir = (0, path_1.join)(renderer_1.RenderInternals.tmpDir(constants_1.CONCAT_FOLDER_TOKEN), 'bucket');
114
- if ((0, fs_1.existsSync)(outdir)) {
115
- (fs_1.rmSync !== null && fs_1.rmSync !== void 0 ? fs_1.rmSync : fs_1.rmdirSync)(outdir, {
116
- recursive: true,
117
- });
118
- }
119
- (0, fs_1.mkdirSync)(outdir);
120
- const files = await getAllFilesS3({
121
- bucket,
122
- expectedFiles,
123
- outdir,
124
- renderId,
125
- region,
126
- expectedBucketOwner,
127
- });
128
- const outfile = (0, path_1.join)(renderer_1.RenderInternals.tmpDir(constants_1.REMOTION_CONCATED_TOKEN), 'concat.' + renderer_1.RenderInternals.getFileExtensionFromCodec(codec, 'final'));
133
+ const outfile = (0, path_1.join)(renderer_1.RenderInternals.tmpDir(constants_1.REMOTION_CONCATED_TOKEN), 'concat.' + renderer_1.RenderInternals.getFileExtensionFromCodec(codec, audioCodec));
129
134
  const combine = (0, timer_1.timer)('Combine videos');
130
135
  const filelistDir = renderer_1.RenderInternals.tmpDir(constants_1.REMOTION_FILELIST_TOKEN);
131
- const encodingStart = Date.now();
132
- const codecForCombining = codec === 'h264-mkv' ? 'h264' : codec;
133
- await (0, renderer_1.combineVideos)({
136
+ await renderer_1.RenderInternals.combineVideos({
134
137
  files,
135
138
  filelistDir,
136
139
  output: outfile,
137
- onProgress: (p) => onProgress(p, encodingStart),
140
+ onProgress: (p) => onProgress(p),
138
141
  numberOfFrames,
139
- codec: codecForCombining,
142
+ codec,
143
+ fps,
144
+ numberOfGifLoops,
145
+ ffmpegExecutable,
146
+ remotionRoot,
147
+ audioCodec,
140
148
  });
141
149
  combine.end();
142
150
  const cleanupChunksProm = ((_a = fs_1.default.promises.rm) !== null && _a !== void 0 ? _a : fs_1.default.promises.rmdir)(outdir, {
143
151
  recursive: true,
144
152
  });
145
- return { outfile, cleanupChunksProm, encodingStart };
153
+ return { outfile, cleanupChunksProm };
146
154
  };
147
155
  exports.concatVideosS3 = concatVideosS3;