@remotion/lambda 4.0.0-forcepublish.7 → 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 (397) 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 +20 -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 +27 -5
  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 +1 -1
  12. package/dist/api/create-bucket.d.ts +0 -0
  13. package/dist/api/create-bucket.js +1 -1
  14. package/dist/api/create-function.d.ts +0 -0
  15. package/dist/api/create-function.js +24 -2
  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 -1
  23. package/dist/api/deploy-function.js +8 -4
  24. package/dist/api/deploy-site.d.ts +11 -2
  25. package/dist/api/deploy-site.js +50 -21
  26. package/dist/api/download-media.d.ts +13 -0
  27. package/dist/api/download-media.js +15 -3
  28. package/dist/api/estimate-price.d.ts +1 -1
  29. package/dist/api/estimate-price.js +1 -1
  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 +29 -0
  35. package/dist/api/get-compositions-on-lambda.js +54 -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 +1 -1
  41. package/dist/api/get-or-create-bucket.js +4 -9
  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 +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 +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 +4 -4
  62. package/dist/api/render-media-on-lambda.d.ts +27 -12
  63. package/dist/api/render-media-on-lambda.js +47 -14
  64. package/dist/api/render-still-on-lambda.d.ts +5 -1
  65. package/dist/api/render-still-on-lambda.js +23 -5
  66. package/dist/api/upload-dir.d.ts +4 -3
  67. package/dist/api/upload-dir.js +52 -49
  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 +8 -2
  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 +4 -4
  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 +7 -3
  101. package/dist/cli/commands/render/progress.js +55 -45
  102. package/dist/cli/commands/render/render.d.ts +1 -1
  103. package/dist/cli/commands/render/render.js +67 -23
  104. package/dist/cli/commands/sites/create.d.ts +1 -1
  105. package/dist/cli/commands/sites/create.js +25 -25
  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 +9 -10
  110. package/dist/cli/commands/sites/rm.d.ts +0 -0
  111. package/dist/cli/commands/sites/rm.js +6 -16
  112. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  113. package/dist/cli/commands/sites/rmall.js +5 -16
  114. package/dist/cli/commands/still.d.ts +1 -1
  115. package/dist/cli/commands/still.js +33 -25
  116. package/dist/cli/get-aws-region.d.ts +0 -0
  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 +19 -6
  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 +20 -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 +0 -0
  142. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +1 -5
  143. package/dist/functions/chunk-optimization/plan-frame-ranges.js +1 -14
  144. package/dist/functions/chunk-optimization/types.d.ts +0 -12
  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 +0 -0
  151. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  152. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +0 -0
  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 +15 -5
  159. package/dist/functions/helpers/concat-videos.js +34 -32
  160. package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
  161. package/dist/functions/helpers/create-post-render-data.js +1 -13
  162. package/dist/functions/helpers/delete-chunks.d.ts +0 -0
  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 +3 -1
  167. package/dist/functions/helpers/find-output-file-in-bucket.js +12 -10
  168. package/dist/functions/helpers/format-costs-info.d.ts +0 -0
  169. package/dist/functions/helpers/format-costs-info.js +0 -0
  170. package/dist/functions/helpers/get-browser-instance.d.ts +0 -0
  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 +0 -0
  175. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  176. package/dist/functions/helpers/get-current-architecture.d.ts +0 -0
  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 +5 -8
  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 +1 -1
  188. package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -4
  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 +1 -5
  193. package/dist/functions/helpers/get-lambdas-invoked-stats.js +2 -10
  194. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +2 -1
  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 +0 -0
  199. package/dist/functions/helpers/get-post-render-data.js +0 -0
  200. package/dist/functions/helpers/get-progress.d.ts +4 -2
  201. package/dist/functions/helpers/get-progress.js +54 -44
  202. package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
  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 +0 -0
  207. package/dist/functions/helpers/get-retry-stats.js +1 -1
  208. package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
  209. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  210. package/dist/functions/helpers/inspect-errors.d.ts +0 -0
  211. package/dist/functions/helpers/inspect-errors.js +0 -0
  212. package/dist/functions/helpers/io.d.ts +17 -1
  213. package/dist/functions/helpers/io.js +24 -7
  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 +0 -0
  221. package/dist/functions/helpers/min-max.js +0 -0
  222. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +0 -0
  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 +3 -1
  227. package/dist/functions/helpers/read-with-progress.js +3 -3
  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 +3 -1
  231. package/dist/functions/helpers/validate-composition.js +8 -2
  232. package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
  233. package/dist/functions/helpers/write-lambda-error.js +1 -0
  234. package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
  235. package/dist/functions/helpers/write-post-render-data.js +1 -0
  236. package/dist/functions/index.d.ts +0 -0
  237. package/dist/functions/index.js +17 -5
  238. package/dist/functions/info.d.ts +2 -2
  239. package/dist/functions/info.js +2 -1
  240. package/dist/functions/launch.d.ts +1 -0
  241. package/dist/functions/launch.js +315 -119
  242. package/dist/functions/progress.d.ts +1 -1
  243. package/dist/functions/progress.js +10 -1
  244. package/dist/functions/renderer.d.ts +0 -0
  245. package/dist/functions/renderer.js +83 -29
  246. package/dist/functions/start.d.ts +5 -1
  247. package/dist/functions/start.js +39 -5
  248. package/dist/functions/still.d.ts +0 -0
  249. package/dist/functions/still.js +66 -21
  250. package/dist/index.d.ts +27 -6
  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 +0 -0
  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 +16 -2
  263. package/dist/shared/aws-clients.js +118 -26
  264. package/dist/shared/bundle-site.d.ts +2 -1
  265. package/dist/shared/bundle-site.js +0 -0
  266. package/dist/shared/call-lambda.d.ts +0 -0
  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 +3 -0
  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 +90 -27
  275. package/dist/shared/constants.js +20 -9
  276. package/dist/shared/content-disposition-header.d.ts +0 -0
  277. package/dist/shared/content-disposition-header.js +0 -0
  278. package/dist/shared/convert-to-serve-url.d.ts +5 -1
  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 +0 -0
  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 +1 -2
  293. package/dist/shared/get-function-version.js +0 -0
  294. package/dist/shared/get-most-expensive-chunks.d.ts +1 -1
  295. package/dist/shared/get-most-expensive-chunks.js +3 -2
  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 +87 -1
  299. package/dist/shared/hosted-layers.js +443 -134
  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 +0 -0
  307. package/dist/shared/make-s3-key.js +0 -0
  308. package/dist/shared/make-s3-url.d.ts +0 -0
  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 +0 -0
  319. package/dist/shared/random-hash.js +0 -0
  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 +2 -0
  323. package/dist/shared/return-values.js +0 -0
  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 +0 -0
  329. package/dist/shared/stream-to-string.js +0 -0
  330. package/dist/shared/truthy.d.ts +0 -0
  331. package/dist/shared/truthy.js +0 -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 +0 -0
  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 +0 -0
  339. package/dist/shared/validate-custom-role-arn.js +0 -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 +0 -0
  343. package/dist/shared/validate-download-behavior.js +0 -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 +1 -1
  347. package/dist/shared/validate-lambda-codec.js +1 -1
  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 -0
  353. package/dist/shared/validate-presign-expiration.js +0 -0
  354. package/dist/shared/validate-privacy.d.ts +0 -0
  355. package/dist/shared/validate-privacy.js +0 -0
  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 +52 -27
  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/get-cloudwatch-stream-url.d.ts +0 -8
  376. package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
  377. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
  378. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
  379. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
  380. package/dist/functions/chunk-optimization/collect-data.js +0 -27
  381. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
  382. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
  383. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
  384. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
  385. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
  386. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
  387. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
  388. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
  389. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
  390. package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
  391. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
  392. package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -46
  393. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
  394. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
  395. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
  396. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
  397. package/tsconfig.json +0 -16
@@ -23,11 +23,12 @@ var __importStar = (this && this.__importStar) || function (mod) {
23
23
  return result;
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.concatVideosS3 = void 0;
26
+ exports.concatVideosS3 = exports.getAllFilesS3 = void 0;
27
27
  const renderer_1 = require("@remotion/renderer");
28
28
  const fs_1 = __importStar(require("fs"));
29
29
  const path_1 = __importStar(require("path"));
30
30
  const constants_1 = require("../../shared/constants");
31
+ const inspect_errors_1 = require("./inspect-errors");
31
32
  const io_1 = require("./io");
32
33
  const timer_1 = require("./timer");
33
34
  const getChunkDownloadOutputLocation = ({ outdir, file, }) => {
@@ -50,11 +51,11 @@ const downloadS3File = async ({ bucket, key, outdir, region, expectedBucketOwner
50
51
  .on('close', () => resolve());
51
52
  });
52
53
  };
53
- const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expectedBucketOwner, }) => {
54
+ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expectedBucketOwner, onErrors, }) => {
54
55
  const alreadyDownloading = {};
55
56
  const downloaded = {};
56
57
  const getFiles = async () => {
57
- const prefix = (0, constants_1.chunkKey)(renderId);
58
+ const prefix = (0, constants_1.rendersPrefix)(renderId);
58
59
  const lsTimer = (0, timer_1.timer)('Listing files');
59
60
  const contents = await (0, io_1.lambdaLs)({
60
61
  bucketName: bucket,
@@ -63,13 +64,16 @@ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expect
63
64
  expectedBucketOwner,
64
65
  });
65
66
  lsTimer.end();
66
- return contents
67
- .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.chunkKey)(renderId)); })
68
- .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
+ };
69
73
  };
70
74
  return new Promise((resolve, reject) => {
71
75
  const loop = async () => {
72
- const filesInBucket = await getFiles();
76
+ const { filesInBucket, errorContents } = await getFiles();
73
77
  const checkFinish = () => {
74
78
  const areAllFilesDownloaded = Object.keys(downloaded).length === expectedFiles;
75
79
  console.log('Checking for finish... ', Object.keys(downloaded), expectedFiles + ' files expected');
@@ -79,6 +83,17 @@ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expect
79
83
  }
80
84
  };
81
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
+ }
82
97
  filesInBucket.forEach(async (key) => {
83
98
  if (alreadyDownloading[key]) {
84
99
  return;
@@ -105,49 +120,36 @@ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expect
105
120
  const areAllFilesDownloading = Object.keys(alreadyDownloading).length === expectedFiles;
106
121
  if (!areAllFilesDownloading) {
107
122
  setTimeout(() => {
108
- loop();
123
+ loop().catch((err) => reject(err));
109
124
  }, 100);
110
125
  }
111
126
  };
112
- loop();
127
+ loop().catch((err) => reject(err));
113
128
  });
114
129
  };
115
- const concatVideosS3 = async ({ bucket, expectedFiles, onProgress, numberOfFrames, renderId, region, codec, expectedBucketOwner, fps, numberOfGifLoops, }) => {
130
+ exports.getAllFilesS3 = getAllFilesS3;
131
+ const concatVideosS3 = async ({ onProgress, numberOfFrames, codec, fps, numberOfGifLoops, ffmpegExecutable, remotionRoot, files, outdir, audioCodec, }) => {
116
132
  var _a;
117
- const outdir = (0, path_1.join)(renderer_1.RenderInternals.tmpDir(constants_1.CONCAT_FOLDER_TOKEN), 'bucket');
118
- if ((0, fs_1.existsSync)(outdir)) {
119
- (fs_1.rmSync !== null && fs_1.rmSync !== void 0 ? fs_1.rmSync : fs_1.rmdirSync)(outdir, {
120
- recursive: true,
121
- });
122
- }
123
- (0, fs_1.mkdirSync)(outdir);
124
- const files = await getAllFilesS3({
125
- bucket,
126
- expectedFiles,
127
- outdir,
128
- renderId,
129
- region,
130
- expectedBucketOwner,
131
- });
132
- 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));
133
134
  const combine = (0, timer_1.timer)('Combine videos');
134
135
  const filelistDir = renderer_1.RenderInternals.tmpDir(constants_1.REMOTION_FILELIST_TOKEN);
135
- const encodingStart = Date.now();
136
- const codecForCombining = codec === 'h264-mkv' ? 'h264' : codec;
137
- await (0, renderer_1.combineVideos)({
136
+ await renderer_1.RenderInternals.combineVideos({
138
137
  files,
139
138
  filelistDir,
140
139
  output: outfile,
141
- onProgress: (p) => onProgress(p, encodingStart),
140
+ onProgress: (p) => onProgress(p),
142
141
  numberOfFrames,
143
- codec: codecForCombining,
142
+ codec,
144
143
  fps,
145
144
  numberOfGifLoops,
145
+ ffmpegExecutable,
146
+ remotionRoot,
147
+ audioCodec,
146
148
  });
147
149
  combine.end();
148
150
  const cleanupChunksProm = ((_a = fs_1.default.promises.rm) !== null && _a !== void 0 ? _a : fs_1.default.promises.rmdir)(outdir, {
149
151
  recursive: true,
150
152
  });
151
- return { outfile, cleanupChunksProm, encodingStart };
153
+ return { outfile, cleanupChunksProm };
152
154
  };
153
155
  exports.concatVideosS3 = concatVideosS3;
@@ -8,7 +8,6 @@ const parse_lambda_timings_key_1 = require("../../shared/parse-lambda-timings-ke
8
8
  const calculate_chunk_times_1 = require("./calculate-chunk-times");
9
9
  const get_current_architecture_1 = require("./get-current-architecture");
10
10
  const get_files_to_delete_1 = require("./get-files-to-delete");
11
- const get_lambdas_invoked_stats_1 = require("./get-lambdas-invoked-stats");
12
11
  const get_retry_stats_1 = require("./get-retry-stats");
13
12
  const get_time_to_finish_1 = require("./get-time-to-finish");
14
13
  const createPostRenderData = ({ renderId, region, memorySizeInMb, renderMetadata, contents, timeToEncode, errorExplanations, timeToDelete, outputFile, }) => {
@@ -41,17 +40,7 @@ const createPostRenderData = ({ renderId, region, memorySizeInMb, renderMetadata
41
40
  const renderSize = contents
42
41
  .map((c) => { var _a; return (_a = c.Size) !== null && _a !== void 0 ? _a : 0; })
43
42
  .reduce((a, b) => a + b, 0);
44
- const { timeToInvokeLambdas } = (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)({
45
- contents,
46
- renderId,
47
- estimatedRenderLambdaInvokations: renderMetadata.estimatedRenderLambdaInvokations,
48
- startDate: renderMetadata.startedDate,
49
- checkIfAllLambdasWereInvoked: false,
50
- });
51
43
  const retriesInfo = (0, get_retry_stats_1.getRetryStats)({ contents, renderId });
52
- if (timeToInvokeLambdas === null) {
53
- throw new Error('should have timing for all lambdas');
54
- }
55
44
  return {
56
45
  cost: {
57
46
  currency: 'USD',
@@ -81,9 +70,8 @@ const createPostRenderData = ({ renderId, region, memorySizeInMb, renderMetadata
81
70
  renderId,
82
71
  type: 'absolute-time',
83
72
  }),
84
- timeToInvokeLambdas,
85
73
  retriesInfo,
86
- mostExpensiveFrameRanges: (0, get_most_expensive_chunks_1.getMostExpensiveChunks)(parsedTimings, renderMetadata.framesPerLambda),
74
+ mostExpensiveFrameRanges: (0, get_most_expensive_chunks_1.getMostExpensiveChunks)(parsedTimings, renderMetadata.framesPerLambda, renderMetadata.frameRange[1]),
87
75
  };
88
76
  };
89
77
  exports.createPostRenderData = createPostRenderData;
File without changes
File without changes
@@ -1,2 +1,4 @@
1
- import type { OutNameOutput, RenderMetadata } from '../../defaults';
2
- export declare const getExpectedOutName: (renderMetadata: RenderMetadata, bucketName: string) => OutNameOutput;
1
+ import type { OutNameInput, OutNameOutput, RenderMetadata } from '../../defaults';
2
+ import type { CustomCredentials } from '../../shared/aws-clients';
3
+ export declare const getCredentialsFromOutName: (name: OutNameInput | null) => CustomCredentials | null;
4
+ export declare const getExpectedOutName: (renderMetadata: RenderMetadata, bucketName: string, customCredentials: CustomCredentials | null) => OutNameOutput;
@@ -1,24 +1,45 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getExpectedOutName = void 0;
3
+ exports.getExpectedOutName = exports.getCredentialsFromOutName = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
5
  const defaults_1 = require("../../defaults");
6
6
  const validate_outname_1 = require("../../shared/validate-outname");
7
- const getExpectedOutName = (renderMetadata, bucketName) => {
8
- if (renderMetadata.outName) {
9
- (0, validate_outname_1.validateOutname)(renderMetadata.outName);
10
- return (0, defaults_1.customOutName)(renderMetadata.renderId, bucketName, renderMetadata.outName);
7
+ const get_custom_out_name_1 = require("./get-custom-out-name");
8
+ const getCredentialsFromOutName = (name) => {
9
+ var _a;
10
+ if (typeof name === 'string') {
11
+ return null;
12
+ }
13
+ if (name === null) {
14
+ return null;
15
+ }
16
+ if (typeof name === 'undefined') {
17
+ return null;
18
+ }
19
+ return (_a = name.s3OutputProvider) !== null && _a !== void 0 ? _a : null;
20
+ };
21
+ exports.getCredentialsFromOutName = getCredentialsFromOutName;
22
+ const getExpectedOutName = (renderMetadata, bucketName, customCredentials) => {
23
+ const outNameValue = (0, get_custom_out_name_1.getCustomOutName)({
24
+ customCredentials,
25
+ renderMetadata,
26
+ });
27
+ if (outNameValue) {
28
+ (0, validate_outname_1.validateOutname)(outNameValue, renderMetadata.codec, renderMetadata.audioCodec);
29
+ return (0, defaults_1.customOutName)(renderMetadata.renderId, bucketName, outNameValue);
11
30
  }
12
31
  if (renderMetadata.type === 'still') {
13
32
  return {
14
33
  renderBucketName: bucketName,
15
34
  key: (0, defaults_1.outStillName)(renderMetadata.renderId, renderMetadata.imageFormat),
35
+ customCredentials: null,
16
36
  };
17
37
  }
18
38
  if (renderMetadata.type === 'video') {
19
39
  return {
20
40
  renderBucketName: bucketName,
21
- key: (0, defaults_1.outName)(renderMetadata.renderId, renderer_1.RenderInternals.getFileExtensionFromCodec(renderMetadata.codec, 'final')),
41
+ key: (0, defaults_1.outName)(renderMetadata.renderId, renderer_1.RenderInternals.getFileExtensionFromCodec(renderMetadata.codec, renderMetadata.audioCodec)),
42
+ customCredentials: null,
22
43
  };
23
44
  }
24
45
  throw new TypeError('no type passed');
@@ -1,12 +1,14 @@
1
1
  import type { AwsRegion } from '../..';
2
+ import type { CustomCredentials } from '../../shared/aws-clients';
2
3
  import type { RenderMetadata } from '../../shared/constants';
3
4
  export declare type OutputFileMetadata = {
4
5
  url: string;
5
6
  size: number;
6
7
  lastModified: number;
7
8
  };
8
- export declare const findOutputFileInBucket: ({ region, renderMetadata, bucketName, }: {
9
+ export declare const findOutputFileInBucket: ({ region, renderMetadata, bucketName, customCredentials, }: {
9
10
  region: AwsRegion;
10
11
  renderMetadata: RenderMetadata;
11
12
  bucketName: string;
13
+ customCredentials: CustomCredentials | null;
12
14
  }) => Promise<OutputFileMetadata | null>;
@@ -1,26 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.findOutputFileInBucket = void 0;
4
- const client_s3_1 = require("@aws-sdk/client-s3");
5
4
  const suggested_policy_1 = require("../../api/iam-validation/suggested-policy");
6
- const aws_clients_1 = require("../../shared/aws-clients");
7
5
  const expected_out_name_1 = require("./expected-out-name");
8
6
  const get_output_url_from_metadata_1 = require("./get-output-url-from-metadata");
9
- const findOutputFileInBucket = async ({ region, renderMetadata, bucketName, }) => {
7
+ const io_1 = require("./io");
8
+ const findOutputFileInBucket = async ({ region, renderMetadata, bucketName, customCredentials, }) => {
10
9
  var _a;
11
10
  if (!renderMetadata) {
12
11
  throw new Error('unexpectedly did not get renderMetadata');
13
12
  }
14
- const expectedOutData = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
13
+ const { renderBucketName, key } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, null);
15
14
  try {
16
- const head = await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.HeadObjectCommand({
17
- Bucket: expectedOutData.renderBucketName,
18
- Key: expectedOutData.key,
19
- }));
15
+ const head = await (0, io_1.lambdaHeadCommand)({
16
+ bucketName,
17
+ key,
18
+ region,
19
+ });
20
20
  return {
21
21
  lastModified: (_a = head.LastModified) === null || _a === void 0 ? void 0 : _a.getTime(),
22
22
  size: head.ContentLength,
23
- url: (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, bucketName),
23
+ url: (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, bucketName, customCredentials),
24
24
  };
25
25
  }
26
26
  catch (err) {
@@ -30,7 +30,9 @@ const findOutputFileInBucket = async ({ region, renderMetadata, bucketName, }) =
30
30
  if (err.message === 'UnknownError' ||
31
31
  err.$metadata
32
32
  .httpStatusCode === 403) {
33
- throw new Error(`Unable to access item "${expectedOutData.key}" from bucket "${expectedOutData.renderBucketName}". The "${suggested_policy_1.ROLE_NAME}" role must have permission for both "s3:GetObject" and "s3:ListBucket" actions.`);
33
+ throw new Error(`Unable to access item "${key}" from bucket "${renderBucketName}" ${(customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.endpoint)
34
+ ? `(S3 Endpoint = ${customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.endpoint})`
35
+ : ''}. The "${suggested_policy_1.ROLE_NAME}" role must have permission for both "s3:GetObject" and "s3:ListBucket" actions.`);
34
36
  }
35
37
  throw err;
36
38
  }
File without changes
File without changes
File without changes
@@ -32,7 +32,7 @@ const getBrowserInstance = async (shouldDumpIo, chromiumOptions) => {
32
32
  return _browserInstance;
33
33
  }
34
34
  launching = true;
35
- const execPath = await (0, get_chromium_executable_path_1.executablePath)();
35
+ const execPath = (0, get_chromium_executable_path_1.executablePath)();
36
36
  const actualChromiumOptions = {
37
37
  ...chromiumOptions,
38
38
  // Override the `null` value, which might come from CLI with swANGLE
@@ -45,7 +45,7 @@ const getBrowserInstance = async (shouldDumpIo, chromiumOptions) => {
45
45
  });
46
46
  _browserInstance.on('disconnected', () => {
47
47
  console.log('Browser disconnected / crashed');
48
- _browserInstance === null || _browserInstance === void 0 ? void 0 : _browserInstance.close().catch(() => undefined);
48
+ _browserInstance === null || _browserInstance === void 0 ? void 0 : _browserInstance.close(true).catch(() => undefined);
49
49
  _browserInstance = null;
50
50
  });
51
51
  launching = false;
@@ -1 +1 @@
1
- export declare const executablePath: () => Promise<string | undefined>;
1
+ export declare const executablePath: () => string;
@@ -2,13 +2,14 @@
2
2
  var _a;
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.executablePath = void 0;
5
- if (/^AWS_Lambda_nodejs(?:10|12|14)[.]x$/.test((_a = process.env.AWS_EXECUTION_ENV) !== null && _a !== void 0 ? _a : '') === true) {
5
+ if (/^AWS_Lambda_nodejs(?:10|12|14|16|18)[.]x$/.test((_a = process.env.AWS_EXECUTION_ENV) !== null && _a !== void 0 ? _a : '') === true) {
6
6
  if (process.env.FONTCONFIG_PATH === undefined) {
7
7
  process.env.FONTCONFIG_PATH = '/opt';
8
+ process.env.FONTCONFIG_FILE = '/opt/fonts.conf';
8
9
  }
9
10
  process.env.LD_LIBRARY_PATH = '/opt/lib:/opt/bin';
10
11
  }
11
- const executablePath = async () => {
12
+ const executablePath = () => {
12
13
  return '/opt/bin/chromium';
13
14
  };
14
15
  exports.executablePath = executablePath;
File without changes
File without changes
@@ -1 +1 @@
1
- export declare const getCurrentRegionInFunction: () => "eu-central-1" | "eu-west-1" | "eu-west-2" | "us-east-1" | "us-east-2" | "us-west-2" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-northeast-1";
1
+ export declare const getCurrentRegionInFunction: () => "eu-central-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "eu-north-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ca-central-1" | "sa-east-1" | "eu-south-1" | "af-south-1" | "ap-east-1" | "me-south-1";
File without changes
@@ -0,0 +1,6 @@
1
+ import type { OutNameInput, RenderMetadata } from '../../defaults';
2
+ import type { CustomCredentials } from '../../shared/aws-clients';
3
+ export declare const getCustomOutName: ({ renderMetadata, customCredentials, }: {
4
+ renderMetadata: RenderMetadata;
5
+ customCredentials: CustomCredentials | null;
6
+ }) => OutNameInput | null;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCustomOutName = void 0;
4
+ const getCustomOutName = ({ renderMetadata, customCredentials, }) => {
5
+ var _a, _b;
6
+ if (!renderMetadata.outName) {
7
+ return null;
8
+ }
9
+ if (typeof renderMetadata.outName === 'string') {
10
+ return renderMetadata.outName;
11
+ }
12
+ if (renderMetadata.outName.s3OutputProvider) {
13
+ if (!customCredentials && renderMetadata.privacy === 'private') {
14
+ throw new TypeError(`The file was rendered with a custom S3 implementation and is not public, but no custom credentials were passed to downloadMedia().`);
15
+ }
16
+ return {
17
+ bucketName: renderMetadata.outName.bucketName,
18
+ key: renderMetadata.outName.key,
19
+ s3OutputProvider: {
20
+ endpoint: renderMetadata.outName.s3OutputProvider.endpoint,
21
+ accessKeyId: (_a = customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.accessKeyId) !== null && _a !== void 0 ? _a : null,
22
+ secretAccessKey: (_b = customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.secretAccessKey) !== null && _b !== void 0 ? _b : null,
23
+ },
24
+ };
25
+ }
26
+ return {
27
+ bucketName: renderMetadata.outName.bucketName,
28
+ key: renderMetadata.outName.key,
29
+ };
30
+ };
31
+ exports.getCustomOutName = getCustomOutName;
@@ -1,9 +1,6 @@
1
+ import type { _Object } from '@aws-sdk/client-s3';
1
2
  import type { EncodingProgress } from '../../defaults';
2
- import type { AwsRegion } from '../../pricing/aws-regions';
3
- export declare const getEncodingMetadata: ({ exists, bucketName, renderId, region, expectedBucketOwner, }: {
4
- exists: boolean;
5
- bucketName: string;
6
- renderId: string;
7
- region: AwsRegion;
8
- expectedBucketOwner: string;
9
- }) => Promise<EncodingProgress | null>;
3
+ export declare const getEncodingMetadata: ({ exists, frameCount, }: {
4
+ exists: _Object | undefined;
5
+ frameCount: number;
6
+ }) => EncodingProgress | null;
@@ -2,25 +2,15 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getEncodingMetadata = void 0;
4
4
  const defaults_1 = require("../../defaults");
5
- const stream_to_string_1 = require("../../shared/stream-to-string");
6
- const io_1 = require("./io");
7
- const getEncodingMetadata = async ({ exists, bucketName, renderId, region, expectedBucketOwner, }) => {
5
+ const chunk_progress_1 = require("../../shared/chunk-progress");
6
+ const getEncodingMetadata = ({ exists, frameCount, }) => {
8
7
  if (!exists) {
9
8
  return null;
10
9
  }
11
- try {
12
- const Body = await (0, io_1.lambdaReadFile)({
13
- bucketName,
14
- key: (0, defaults_1.encodingProgressKey)(renderId),
15
- region,
16
- expectedBucketOwner,
17
- });
18
- const encodingProgress = JSON.parse(await (0, stream_to_string_1.streamToString)(Body));
19
- return encodingProgress;
20
- }
21
- catch (err) {
22
- // The file may not yet have been fully written or already have been cleaned up again
23
- return null;
24
- }
10
+ const framesEncoded = (0, chunk_progress_1.getProgressOfChunk)(exists.ETag);
11
+ // We only report every 100 frames encoded so that we are able to report up to 2000 * 100 ETags => 200000 frames
12
+ return {
13
+ framesEncoded: Math.min(frameCount, framesEncoded * defaults_1.ENCODING_PROGRESS_STEP_SIZE),
14
+ };
25
15
  };
26
16
  exports.getEncodingMetadata = getEncodingMetadata;
File without changes
File without changes
File without changes
@@ -12,7 +12,7 @@ const getFilesToDelete = ({ chunkCount, renderId, }) => {
12
12
  .map((_x, i) => (0, constants_1.lambdaTimingsPrefixForChunk)(renderId, i));
13
13
  return [
14
14
  {
15
- name: (0, constants_1.lambdaInitializedPrefix)(renderId),
15
+ name: (0, constants_1.lambdaChunkInitializedPrefix)(renderId),
16
16
  type: 'prefix',
17
17
  },
18
18
  ...chunks.map((i) => {
@@ -1,8 +1,6 @@
1
1
  import type { EncodingProgress, RenderMetadata } from '../../shared/constants';
2
- import type { LambdaInvokeStats } from './get-lambdas-invoked-stats';
3
- export declare const getFinalEncodingStatus: ({ encodingStatus: encodingProgress, renderMetadata, outputFileExists, lambdaInvokeStatus, }: {
4
- encodingStatus: EncodingProgress | null;
2
+ export declare const getFinalEncodingStatus: ({ encodingProgress, renderMetadata, outputFileExists, }: {
3
+ encodingProgress: EncodingProgress | null;
5
4
  renderMetadata: RenderMetadata | null;
6
5
  outputFileExists: boolean;
7
- lambdaInvokeStatus: LambdaInvokeStats;
8
6
  }) => EncodingProgress | null;
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getFinalEncodingStatus = void 0;
4
- const getFinalEncodingStatus = ({ encodingStatus: encodingProgress, renderMetadata, outputFileExists, lambdaInvokeStatus, }) => {
4
+ const getFinalEncodingStatus = ({ encodingProgress, renderMetadata, outputFileExists, }) => {
5
5
  if (!renderMetadata) {
6
6
  return null;
7
7
  }
@@ -11,9 +11,6 @@ const getFinalEncodingStatus = ({ encodingStatus: encodingProgress, renderMetada
11
11
  if (outputFileExists) {
12
12
  return {
13
13
  framesEncoded: renderMetadata.videoConfig.durationInFrames,
14
- totalFrames: renderMetadata.videoConfig.durationInFrames,
15
- doneIn: null,
16
- timeToInvoke: lambdaInvokeStatus.timeToInvokeLambdas,
17
14
  };
18
15
  }
19
16
  return null;
File without changes
File without changes
@@ -1,12 +1,8 @@
1
1
  import type { _Object } from '@aws-sdk/client-s3';
2
2
  export declare type LambdaInvokeStats = {
3
- timeToInvokeLambdas: number | null;
4
3
  lambdasInvoked: number;
5
4
  };
6
- export declare const getLambdasInvokedStats: ({ contents, renderId, estimatedRenderLambdaInvokations, startDate, checkIfAllLambdasWereInvoked, }: {
5
+ export declare const getLambdasInvokedStats: ({ contents, renderId, }: {
7
6
  contents: _Object[];
8
7
  renderId: string;
9
- estimatedRenderLambdaInvokations: number | null;
10
- startDate: number | null;
11
- checkIfAllLambdasWereInvoked: boolean;
12
8
  }) => LambdaInvokeStats;
@@ -3,19 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getLambdasInvokedStats = void 0;
4
4
  const constants_1 = require("../../shared/constants");
5
5
  const parse_lambda_initialized_key_1 = require("../../shared/parse-lambda-initialized-key");
6
- const min_max_1 = require("./min-max");
7
- const getLambdasInvokedStats = ({ contents, renderId, estimatedRenderLambdaInvokations, startDate, checkIfAllLambdasWereInvoked, }) => {
8
- var _a;
6
+ const getLambdasInvokedStats = ({ contents, renderId, }) => {
9
7
  const lambdasInvoked = contents
10
- .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaInitializedPrefix)(renderId)); })
8
+ .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaChunkInitializedPrefix)(renderId)); })
11
9
  .filter((c) => (0, parse_lambda_initialized_key_1.parseLambdaInitializedKey)(c.Key).attempt === 1);
12
- const allLambdasInvoked = !checkIfAllLambdasWereInvoked ||
13
- lambdasInvoked.length === estimatedRenderLambdaInvokations;
14
- const timeToInvokeLambdas = !allLambdasInvoked || startDate === null
15
- ? null
16
- : ((_a = (0, min_max_1.max)(lambdasInvoked.map((l) => { var _a; return (_a = l.LastModified) === null || _a === void 0 ? void 0 : _a.getTime(); }))) !== null && _a !== void 0 ? _a : 0) - startDate;
17
10
  return {
18
- timeToInvokeLambdas,
19
11
  lambdasInvoked: lambdasInvoked.length,
20
12
  };
21
13
  };
@@ -1,2 +1,3 @@
1
1
  import type { RenderMetadata } from '../../defaults';
2
- export declare const getOutputUrlFromMetadata: (renderMetadata: RenderMetadata, bucketName: string) => string;
2
+ import type { CustomCredentials } from '../../shared/aws-clients';
3
+ export declare const getOutputUrlFromMetadata: (renderMetadata: RenderMetadata, bucketName: string, customCredentials: CustomCredentials | null) => string;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getOutputUrlFromMetadata = void 0;
4
4
  const expected_out_name_1 = require("./expected-out-name");
5
5
  const get_current_region_1 = require("./get-current-region");
6
- const getOutputUrlFromMetadata = (renderMetadata, bucketName) => {
7
- const outname = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
6
+ const getOutputUrlFromMetadata = (renderMetadata, bucketName, customCredentials) => {
7
+ const outname = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials);
8
8
  return `https://s3.${(0, get_current_region_1.getCurrentRegionInFunction)()}.amazonaws.com/${outname.renderBucketName}/${outname.key}`;
9
9
  };
10
10
  exports.getOutputUrlFromMetadata = getOutputUrlFromMetadata;
@@ -1,6 +1,7 @@
1
- export declare const getOverallProgress: ({ cleanup, encoding, rendering, invoking, }: {
1
+ export declare const getOverallProgress: ({ cleanup, encoding, rendering, invoking, frames, }: {
2
2
  cleanup: number;
3
3
  encoding: number;
4
4
  rendering: number;
5
5
  invoking: number;
6
+ frames: number;
6
7
  }) => number;
@@ -3,14 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getOverallProgress = void 0;
4
4
  const weights = {
5
5
  cleanup: 0.1,
6
- encoding: 0.3,
7
- rendering: 0.3,
8
- invoking: 0.3,
6
+ encoding: 0.225,
7
+ rendering: 0.225,
8
+ frames: 0.225,
9
+ invoking: 0.225,
9
10
  };
10
- const getOverallProgress = ({ cleanup, encoding, rendering, invoking, }) => {
11
+ const getOverallProgress = ({ cleanup, encoding, rendering, invoking, frames, }) => {
11
12
  return (cleanup * weights.cleanup +
12
13
  encoding * weights.encoding +
13
14
  rendering * weights.rendering +
14
- invoking * weights.invoking);
15
+ invoking * weights.invoking +
16
+ frames * weights.frames);
15
17
  };
16
18
  exports.getOverallProgress = getOverallProgress;
File without changes
File without changes
@@ -1,10 +1,12 @@
1
1
  import type { AwsRegion } from '../../pricing/aws-regions';
2
+ import type { CustomCredentials } from '../../shared/aws-clients';
2
3
  import type { RenderProgress } from '../../shared/constants';
3
- export declare const getProgress: ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb, timeoutInMiliseconds, }: {
4
+ export declare const getProgress: ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb, timeoutInMilliseconds, customCredentials, }: {
4
5
  bucketName: string;
5
6
  renderId: string;
6
7
  expectedBucketOwner: string;
7
8
  region: AwsRegion;
8
9
  memorySizeInMb: number;
9
- timeoutInMiliseconds: number;
10
+ timeoutInMilliseconds: number;
11
+ customCredentials: CustomCredentials | null;
10
12
  }) => Promise<RenderProgress>;