@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
File without changes
File without changes
File without changes
File without changes
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.quotasIncreaseCommand = exports.INCREASE_SUBCOMMAND = void 0;
4
4
  const client_service_quotas_1 = require("@aws-sdk/client-service-quotas");
5
- const log_1 = require("@remotion/cli/dist/log");
5
+ const cli_1 = require("@remotion/cli");
6
6
  const process_1 = require("process");
7
7
  const _1 = require(".");
8
8
  const defaults_1 = require("../../../defaults");
@@ -30,19 +30,19 @@ const quotasIncreaseCommand = async () => {
30
30
  ]);
31
31
  const openCase = (_a = changes.RequestedQuotas) === null || _a === void 0 ? void 0 : _a.find((r) => r.Status === 'CASE_OPENED');
32
32
  if (openCase) {
33
- log_1.Log.warn(`A request to increase it to ${openCase.DesiredValue} is already pending:`);
34
- log_1.Log.warn(`https://${region}.console.aws.amazon.com/support/home#/case/?displayId=${openCase.CaseId}`);
33
+ cli_1.CliInternals.Log.warn(`A request to increase it to ${openCase.DesiredValue} is already pending:`);
34
+ cli_1.CliInternals.Log.warn(`https://${region}.console.aws.amazon.com/support/home#/case/?displayId=${openCase.CaseId}`);
35
35
  (0, process_1.exit)(1);
36
36
  }
37
37
  const concurrencyCurrent = (_b = concurrencyLimit.Quota) === null || _b === void 0 ? void 0 : _b.Value;
38
38
  const defaultConcurrency = (_c = defaultConcurrencyLimit.Quota) === null || _c === void 0 ? void 0 : _c.Value;
39
39
  const increaseRecommended = concurrencyCurrent <= defaultConcurrency;
40
40
  if (!increaseRecommended) {
41
- log_1.Log.info(`Current limit of ${concurrencyCurrent} is already increased over the default (${defaultConcurrency}). Increase it further via the AWS console.`);
41
+ cli_1.CliInternals.Log.info(`Current limit of ${concurrencyCurrent} is already increased over the default (${defaultConcurrency}). Increase it further via the AWS console.`);
42
42
  (0, quit_1.quit)(1);
43
43
  }
44
44
  const newLimit = Math.floor(concurrencyCurrent / 5000) * 5000 + 5000;
45
- log_1.Log.info(`Sending request to AWS to increase concurrency limit from ${concurrencyCurrent} to ${newLimit}.`);
45
+ cli_1.CliInternals.Log.info(`Sending request to AWS to increase concurrency limit from ${concurrencyCurrent} to ${newLimit}.`);
46
46
  await (0, confirm_1.confirmCli)({
47
47
  allowForceFlag: true,
48
48
  delMessage: 'Send? (Y/n)',
@@ -52,6 +52,6 @@ const quotasIncreaseCommand = async () => {
52
52
  DesiredValue: newLimit,
53
53
  ServiceCode: 'lambda',
54
54
  }));
55
- log_1.Log.info(`Requested increase successfully. Run "${defaults_1.BINARY_NAME} ${_1.QUOTAS_COMMAND}" to check whether your request was approved.`);
55
+ cli_1.CliInternals.Log.info(`Requested increase successfully. Run "${defaults_1.BINARY_NAME} ${_1.QUOTAS_COMMAND}" to check whether your request was approved.`);
56
56
  };
57
57
  exports.quotasIncreaseCommand = quotasIncreaseCommand;
File without changes
@@ -2,19 +2,18 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.quotasCommand = exports.QUOTAS_COMMAND = void 0;
4
4
  const cli_1 = require("@remotion/cli");
5
- const log_1 = require("@remotion/cli/dist/log");
6
5
  const defaults_1 = require("../../../defaults");
7
6
  const increase_1 = require("./increase");
8
7
  const list_1 = require("./list");
9
8
  exports.QUOTAS_COMMAND = 'quotas';
10
9
  const printHelp = () => {
11
- log_1.Log.info('Available commands:');
12
- log_1.Log.info();
13
- log_1.Log.info(`npx ${defaults_1.BINARY_NAME} ${exports.QUOTAS_COMMAND}`);
14
- log_1.Log.info(cli_1.CliInternals.chalk.gray('List relevant AWS Lambda quotas.'));
15
- log_1.Log.info();
16
- log_1.Log.info(`npx ${defaults_1.BINARY_NAME} ${exports.QUOTAS_COMMAND} ${increase_1.INCREASE_SUBCOMMAND}`);
17
- log_1.Log.info(cli_1.CliInternals.chalk.gray('Increase Lambda quotas.'));
10
+ cli_1.CliInternals.Log.info('Available commands:');
11
+ cli_1.CliInternals.Log.info();
12
+ cli_1.CliInternals.Log.info(`npx ${defaults_1.BINARY_NAME} ${exports.QUOTAS_COMMAND}`);
13
+ cli_1.CliInternals.Log.info(cli_1.CliInternals.chalk.gray('List relevant AWS Lambda quotas.'));
14
+ cli_1.CliInternals.Log.info();
15
+ cli_1.CliInternals.Log.info(`npx ${defaults_1.BINARY_NAME} ${exports.QUOTAS_COMMAND} ${increase_1.INCREASE_SUBCOMMAND}`);
16
+ cli_1.CliInternals.Log.info(cli_1.CliInternals.chalk.gray('Increase Lambda quotas.'));
18
17
  };
19
18
  const quotasCommand = (args) => {
20
19
  if (args.filter(Boolean).length === 0) {
@@ -23,7 +22,7 @@ const quotasCommand = (args) => {
23
22
  if (args[0] === increase_1.INCREASE_SUBCOMMAND) {
24
23
  return (0, increase_1.quotasIncreaseCommand)();
25
24
  }
26
- log_1.Log.error('Subcommand ' + args[0] + ' not found.');
25
+ cli_1.CliInternals.Log.error('Subcommand ' + args[0] + ' not found.');
27
26
  printHelp();
28
27
  };
29
28
  exports.quotasCommand = quotasCommand;
File without changes
File without changes
File without changes
@@ -1,10 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.regionsCommand = exports.REGIONS_COMMAND = void 0;
4
- const log_1 = require("@remotion/cli/dist/log");
4
+ const cli_1 = require("@remotion/cli");
5
5
  const get_regions_1 = require("../../api/get-regions");
6
+ const args_1 = require("../args");
6
7
  exports.REGIONS_COMMAND = 'regions';
7
8
  const regionsCommand = () => {
8
- log_1.Log.info((0, get_regions_1.getRegions)().join(' '));
9
+ var _a;
10
+ cli_1.CliInternals.Log.info((0, get_regions_1.getRegions)({
11
+ enabledByDefaultOnly: (_a = args_1.parsedLambdaCli['default-only']) !== null && _a !== void 0 ? _a : false,
12
+ }).join(' '));
9
13
  };
10
14
  exports.regionsCommand = regionsCommand;
@@ -1,16 +1,17 @@
1
- import { CleanupInfo, EncodingProgress, RenderProgress } from '../../../defaults';
2
- import { ChunkRetry } from '../../../functions/helpers/get-retry-stats';
1
+ import type { CleanupInfo, EncodingProgress, RenderProgress } from '../../../defaults';
2
+ import type { ChunkRetry } from '../../../functions/helpers/get-retry-stats';
3
3
  declare type LambdaInvokeProgress = {
4
4
  totalLambdas: number | null;
5
5
  lambdasInvoked: number;
6
- doneIn: number | null;
7
6
  };
8
7
  declare type ChunkProgress = {
8
+ doneIn: number | null;
9
+ framesRendered: number;
10
+ totalFrames: number | null;
9
11
  totalChunks: number | null;
10
12
  chunksInvoked: number;
11
- doneIn: number | null;
12
13
  };
13
- export declare type MultiRenderProgress = {
14
+ declare type MultiRenderProgress = {
14
15
  lambdaInvokeProgress: LambdaInvokeProgress;
15
16
  chunkProgress: ChunkProgress;
16
17
  encodingProgress: EncodingProgress;
@@ -18,14 +19,17 @@ export declare type MultiRenderProgress = {
18
19
  };
19
20
  export declare const makeMultiProgressFromStatus: (status: RenderProgress) => MultiRenderProgress;
20
21
  declare type DownloadedInfo = {
21
- totalSize: number;
22
+ totalSize: number | null;
22
23
  downloaded: number;
23
24
  doneIn: number | null;
24
25
  };
25
- export declare const makeProgressString: ({ progress, steps, downloadInfo, retriesInfo, }: {
26
+ export declare const makeProgressString: ({ progress, steps, downloadInfo, retriesInfo, verbose, timeToEncode, totalFrames, }: {
26
27
  progress: MultiRenderProgress;
27
28
  steps: number;
28
29
  downloadInfo: DownloadedInfo | null;
29
30
  retriesInfo: ChunkRetry[];
31
+ verbose: boolean;
32
+ timeToEncode: number | null;
33
+ totalFrames: number | null;
30
34
  }) => string;
31
35
  export {};
@@ -2,46 +2,51 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeProgressString = exports.makeMultiProgressFromStatus = void 0;
4
4
  const cli_1 = require("@remotion/cli");
5
+ const renderer_1 = require("@remotion/renderer");
5
6
  const remotion_1 = require("remotion");
6
- const format_bytes_1 = require("../../helpers/format-bytes");
7
+ const truthy_1 = require("../../../shared/truthy");
7
8
  const makeInvokeProgress = (invokeProgress, totalSteps, retriesInfo) => {
8
- const { lambdasInvoked, totalLambdas, doneIn } = invokeProgress;
9
- const progress = doneIn
10
- ? 1
11
- : totalLambdas === null
12
- ? 0
13
- : lambdasInvoked / totalLambdas;
9
+ const { lambdasInvoked, totalLambdas } = invokeProgress;
10
+ const progress = totalLambdas === null ? 0 : lambdasInvoked / totalLambdas;
14
11
  return [
15
- '⚡️',
16
12
  `(1/${totalSteps})`,
17
13
  cli_1.CliInternals.makeProgressBar(progress),
18
- `${doneIn === null ? 'Invoking' : 'Invoked'} lambdas`,
19
- doneIn === null
20
- ? `${Math.round(progress * 100)}%`
21
- : cli_1.CliInternals.chalk.gray(`${doneIn}ms`),
14
+ `${progress === 0 ? 'Invoked' : 'Invoking'} lambdas`,
15
+ progress === 1
16
+ ? cli_1.CliInternals.chalk.gray('100%')
17
+ : `${Math.round(progress * 100)}%`,
22
18
  retriesInfo.length > 0 ? `(+${retriesInfo.length} retries)` : [],
23
19
  ].join(' ');
24
20
  };
25
- const makeChunkProgress = ({ chunkProgress, invokeProgress, totalSteps, }) => {
26
- const lambdaIsDone = invokeProgress.doneIn !== null;
21
+ const makeRenderProgress = ({ chunkProgress, totalSteps, }) => {
27
22
  const { chunksInvoked, totalChunks, doneIn } = chunkProgress;
28
- const progress = totalChunks === null ? 0 : chunksInvoked / totalChunks;
29
- const shouldShow = lambdaIsDone || progress > 0;
30
- if (!shouldShow) {
31
- return '';
32
- }
33
- return [
34
- '🧩',
23
+ const renderProgress = chunkProgress.totalFrames === null
24
+ ? 0
25
+ : chunkProgress.framesRendered / chunkProgress.totalFrames;
26
+ const encodingProgress = totalChunks === null ? 0 : chunksInvoked / totalChunks;
27
+ const frames = chunkProgress.totalFrames === null
28
+ ? null
29
+ : `(${chunkProgress.framesRendered}/${chunkProgress.totalFrames})`;
30
+ const first = [
35
31
  `(2/${totalSteps})`,
36
- cli_1.CliInternals.makeProgressBar(progress),
37
- `${doneIn === null ? 'Rendering' : 'Rendered'} chunks`,
32
+ cli_1.CliInternals.makeProgressBar(renderProgress),
33
+ doneIn === null ? 'Rendering frames' : 'Rendered frames',
34
+ doneIn === null ? frames : cli_1.CliInternals.chalk.gray(`${doneIn}ms`),
35
+ ]
36
+ .filter(truthy_1.truthy)
37
+ .join(' ');
38
+ const second = [
39
+ `(3/${totalSteps})`,
40
+ cli_1.CliInternals.makeProgressBar(encodingProgress),
41
+ `${doneIn === null ? 'Encoding' : 'Encoded'} chunks`,
38
42
  doneIn === null
39
- ? `${Math.round(progress * 100)}%`
43
+ ? `${Math.round(encodingProgress * 100)}%`
40
44
  : cli_1.CliInternals.chalk.gray(`${doneIn}ms`),
41
45
  ].join(' ');
46
+ return [first, second];
42
47
  };
43
- const makeEncodingProgress = ({ encodingProgress, chunkProgress, totalSteps, }) => {
44
- const { framesEncoded, totalFrames, doneIn } = encodingProgress;
48
+ const makeEncodingProgress = ({ encodingProgress, chunkProgress, totalSteps, totalFrames, timeToEncode, }) => {
49
+ const { framesEncoded } = encodingProgress;
45
50
  const progress = totalFrames === null ? 0 : framesEncoded / totalFrames;
46
51
  const chunksDone = chunkProgress.doneIn !== null;
47
52
  const shouldShow = progress > 0 || chunksDone;
@@ -49,24 +54,28 @@ const makeEncodingProgress = ({ encodingProgress, chunkProgress, totalSteps, })
49
54
  return '';
50
55
  }
51
56
  return [
52
- '📽 ',
53
- `(3/${totalSteps})`,
57
+ `(4/${totalSteps})`,
54
58
  cli_1.CliInternals.makeProgressBar(progress),
55
- `${doneIn === null ? 'Combining' : 'Combined'} videos`,
56
- doneIn === null
59
+ `${timeToEncode === null ? 'Combining' : 'Combined'} videos`,
60
+ timeToEncode === null
57
61
  ? `${Math.round(progress * 100)}%`
58
- : cli_1.CliInternals.chalk.gray(`${doneIn}ms`),
62
+ : cli_1.CliInternals.chalk.gray(`${timeToEncode}ms`),
59
63
  ].join(' ');
60
64
  };
61
- const makeCleanupProgress = (cleanupInfo, totalSteps) => {
65
+ const makeCleanupProgress = (cleanupInfo, totalSteps, skipped) => {
62
66
  if (!cleanupInfo) {
63
67
  return '';
64
68
  }
69
+ if (skipped) {
70
+ return [
71
+ `(5/${totalSteps})`,
72
+ cli_1.CliInternals.chalk.blueBright(`Not cleaning up because --log=verbose was set`),
73
+ ].join(' ');
74
+ }
65
75
  const { doneIn, filesDeleted, minFilesToDelete } = cleanupInfo;
66
76
  const progress = filesDeleted / minFilesToDelete;
67
77
  return [
68
- '🪣 ',
69
- `(4/${totalSteps})`,
78
+ `(5/${totalSteps})`,
70
79
  cli_1.CliInternals.makeProgressBar(progress),
71
80
  `${doneIn === null ? 'Cleaning up' : 'Cleaned up'} artifacts`,
72
81
  doneIn === null
@@ -76,52 +85,61 @@ const makeCleanupProgress = (cleanupInfo, totalSteps) => {
76
85
  };
77
86
  const makeDownloadProgress = (downloadInfo, totalSteps) => {
78
87
  return [
79
- '💾',
80
- `(5/${totalSteps})`,
81
- cli_1.CliInternals.makeProgressBar(downloadInfo.downloaded / downloadInfo.totalSize),
88
+ `(6/${totalSteps})`,
89
+ downloadInfo.totalSize === null
90
+ ? cli_1.CliInternals.getFileSizeDownloadBar(downloadInfo.downloaded)
91
+ : cli_1.CliInternals.makeProgressBar(downloadInfo.downloaded / downloadInfo.totalSize),
82
92
  `${downloadInfo.doneIn === null ? 'Downloading' : 'Downloaded'} video`,
83
93
  downloadInfo.doneIn === null
84
- ? `${(0, format_bytes_1.formatBytes)(downloadInfo.downloaded)}/${(0, format_bytes_1.formatBytes)(downloadInfo.totalSize)}`
94
+ ? [
95
+ `${cli_1.CliInternals.formatBytes(downloadInfo.downloaded)}`,
96
+ downloadInfo.totalSize === null
97
+ ? null
98
+ : `${cli_1.CliInternals.formatBytes(downloadInfo.totalSize)}`,
99
+ ]
100
+ .filter(remotion_1.Internals.truthy)
101
+ .join('/')
85
102
  : cli_1.CliInternals.chalk.gray(`${downloadInfo.doneIn}ms`),
86
103
  ].join(' ');
87
104
  };
88
105
  const makeMultiProgressFromStatus = (status) => {
89
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
106
+ var _a, _b, _c, _d, _e, _f;
90
107
  return {
91
108
  chunkProgress: {
92
109
  chunksInvoked: status.chunks,
93
110
  totalChunks: (_b = (_a = status.renderMetadata) === null || _a === void 0 ? void 0 : _a.totalChunks) !== null && _b !== void 0 ? _b : null,
94
111
  doneIn: status.timeToFinishChunks,
112
+ framesRendered: status.framesRendered,
113
+ totalFrames: status.renderMetadata
114
+ ? renderer_1.RenderInternals.getFramesToRender(status.renderMetadata.frameRange, status.renderMetadata.everyNthFrame).length
115
+ : null,
95
116
  },
96
117
  encodingProgress: {
97
118
  framesEncoded: (_d = (_c = status.encodingStatus) === null || _c === void 0 ? void 0 : _c.framesEncoded) !== null && _d !== void 0 ? _d : 0,
98
- totalFrames: (_f = (_e = status.renderMetadata) === null || _e === void 0 ? void 0 : _e.videoConfig.durationInFrames) !== null && _f !== void 0 ? _f : 1,
99
- doneIn: (_h = (_g = status.encodingStatus) === null || _g === void 0 ? void 0 : _g.doneIn) !== null && _h !== void 0 ? _h : null,
100
- timeToInvoke: (_k = (_j = status.encodingStatus) === null || _j === void 0 ? void 0 : _j.timeToInvoke) !== null && _k !== void 0 ? _k : null,
101
119
  },
102
120
  lambdaInvokeProgress: {
103
- doneIn: status.timeToInvokeLambdas,
104
121
  lambdasInvoked: status.lambdasInvoked,
105
- totalLambdas: (_m = (_l = status.renderMetadata) === null || _l === void 0 ? void 0 : _l.estimatedRenderLambdaInvokations) !== null && _m !== void 0 ? _m : null,
122
+ totalLambdas: (_f = (_e = status.renderMetadata) === null || _e === void 0 ? void 0 : _e.estimatedRenderLambdaInvokations) !== null && _f !== void 0 ? _f : null,
106
123
  },
107
124
  cleanupInfo: status.cleanup,
108
125
  };
109
126
  };
110
127
  exports.makeMultiProgressFromStatus = makeMultiProgressFromStatus;
111
- const makeProgressString = ({ progress, steps, downloadInfo, retriesInfo, }) => {
128
+ const makeProgressString = ({ progress, steps, downloadInfo, retriesInfo, verbose, timeToEncode, totalFrames, }) => {
112
129
  return [
113
130
  makeInvokeProgress(progress.lambdaInvokeProgress, steps, retriesInfo),
114
- makeChunkProgress({
131
+ ...makeRenderProgress({
115
132
  chunkProgress: progress.chunkProgress,
116
- invokeProgress: progress.lambdaInvokeProgress,
117
133
  totalSteps: steps,
118
134
  }),
119
135
  makeEncodingProgress({
120
136
  encodingProgress: progress.encodingProgress,
121
137
  chunkProgress: progress.chunkProgress,
122
138
  totalSteps: steps,
139
+ timeToEncode,
140
+ totalFrames,
123
141
  }),
124
- makeCleanupProgress(progress.cleanupInfo, steps),
142
+ makeCleanupProgress(progress.cleanupInfo, steps, verbose),
125
143
  downloadInfo ? makeDownloadProgress(downloadInfo, steps) : null,
126
144
  ]
127
145
  .filter(remotion_1.Internals.truthy)
@@ -1,2 +1,2 @@
1
1
  export declare const RENDER_COMMAND = "render";
2
- export declare const renderCommand: (args: string[]) => Promise<never>;
2
+ export declare const renderCommand: (args: string[], remotionRoot: string) => Promise<never>;
@@ -11,17 +11,16 @@ const sleep_1 = require("../../../shared/sleep");
11
11
  const validate_frames_per_lambda_1 = require("../../../shared/validate-frames-per-lambda");
12
12
  const validate_privacy_1 = require("../../../shared/validate-privacy");
13
13
  const validate_retries_1 = require("../../../shared/validate-retries");
14
+ const validate_serveurl_1 = require("../../../shared/validate-serveurl");
14
15
  const args_1 = require("../../args");
15
16
  const get_aws_region_1 = require("../../get-aws-region");
16
17
  const find_function_name_1 = require("../../helpers/find-function-name");
17
- const format_bytes_1 = require("../../helpers/format-bytes");
18
- const get_cloudwatch_stream_url_1 = require("../../helpers/get-cloudwatch-stream-url");
19
18
  const quit_1 = require("../../helpers/quit");
20
19
  const log_1 = require("../../log");
21
20
  const progress_1 = require("./progress");
22
21
  exports.RENDER_COMMAND = 'render';
23
- const renderCommand = async (args) => {
24
- var _a, _b, _c, _d;
22
+ const renderCommand = async (args, remotionRoot) => {
23
+ var _a, _b, _c, _d, _e, _f;
25
24
  const serveUrl = args[0];
26
25
  if (!serveUrl) {
27
26
  log_1.Log.error('No serve URL passed.');
@@ -30,27 +29,34 @@ const renderCommand = async (args) => {
30
29
  log_1.Log.info(`${constants_1.BINARY_NAME} ${exports.RENDER_COMMAND} <serve-url> <composition-id> [output-location]`);
31
30
  (0, quit_1.quit)(1);
32
31
  }
33
- const composition = args[1];
32
+ const region = (0, get_aws_region_1.getAwsRegion)();
33
+ let composition = args[1];
34
34
  if (!composition) {
35
- log_1.Log.error('No composition ID passed.');
36
- log_1.Log.info('Pass an additional argument specifying the composition ID.');
37
- log_1.Log.info();
38
- log_1.Log.info(`${constants_1.BINARY_NAME} ${exports.RENDER_COMMAND} <serve-url> <composition-id> [output-location]`);
39
- (0, quit_1.quit)(1);
35
+ log_1.Log.info('No compositions passed. Fetching compositions...');
36
+ (0, validate_serveurl_1.validateServeUrl)(serveUrl);
37
+ const comps = await (0, renderer_1.getCompositions)(serveUrl);
38
+ const { compositionId } = await cli_1.CliInternals.selectComposition(comps);
39
+ composition = compositionId;
40
40
  }
41
- const outName = (_a = args[2]) !== null && _a !== void 0 ? _a : null;
42
- const { chromiumOptions, codec, crf, envVariables, frameRange, imageFormat, inputProps, logLevel, pixelFormat, proResProfile, puppeteerTimeout, quality, scale, } = await cli_1.CliInternals.getCliOptions({
41
+ const outName = args_1.parsedLambdaCli['out-name'];
42
+ const downloadName = (_a = args[2]) !== null && _a !== void 0 ? _a : null;
43
+ const { codec, reason } = cli_1.CliInternals.getFinalCodec({
44
+ downloadName,
45
+ outName: outName !== null && outName !== void 0 ? outName : null,
46
+ });
47
+ const { chromiumOptions, crf, envVariables, frameRange, inputProps, logLevel, pixelFormat, proResProfile, puppeteerTimeout, quality, scale, everyNthFrame, numberOfGifLoops, muted, overwrite, audioBitrate, videoBitrate, height, width, } = await cli_1.CliInternals.getCliOptions({
43
48
  type: 'series',
44
49
  isLambda: true,
50
+ remotionRoot,
45
51
  });
52
+ const imageFormat = cli_1.CliInternals.getImageFormat(codec);
46
53
  const functionName = await (0, find_function_name_1.findFunctionName)();
47
- const region = (0, get_aws_region_1.getAwsRegion)();
48
54
  const maxRetries = (_b = args_1.parsedLambdaCli['max-retries']) !== null && _b !== void 0 ? _b : constants_1.DEFAULT_MAX_RETRIES;
49
55
  (0, validate_retries_1.validateMaxRetries)(maxRetries);
50
56
  const privacy = (_c = args_1.parsedLambdaCli.privacy) !== null && _c !== void 0 ? _c : constants_1.DEFAULT_OUTPUT_PRIVACY;
51
57
  (0, validate_privacy_1.validatePrivacy)(privacy);
52
58
  const framesPerLambda = (_d = args_1.parsedLambdaCli['frames-per-lambda']) !== null && _d !== void 0 ? _d : undefined;
53
- (0, validate_frames_per_lambda_1.validateFramesPerLambda)(framesPerLambda);
59
+ (0, validate_frames_per_lambda_1.validateFramesPerLambda)({ framesPerLambda, durationInFrames: 1 });
54
60
  const res = await (0, render_media_on_lambda_1.renderMediaOnLambda)({
55
61
  functionName,
56
62
  serveUrl,
@@ -73,16 +79,32 @@ const renderCommand = async (args) => {
73
79
  timeoutInMilliseconds: puppeteerTimeout,
74
80
  chromiumOptions,
75
81
  scale,
82
+ numberOfGifLoops,
83
+ everyNthFrame,
84
+ concurrencyPerLambda: args_1.parsedLambdaCli['concurrency-per-lambda'],
85
+ muted,
86
+ overwrite,
87
+ audioBitrate,
88
+ videoBitrate,
89
+ forceHeight: height,
90
+ forceWidth: width,
91
+ webhook: args_1.parsedLambdaCli.webhook
92
+ ? {
93
+ url: args_1.parsedLambdaCli.webhook,
94
+ secret: (_e = args_1.parsedLambdaCli['webhook-secret']) !== null && _e !== void 0 ? _e : null,
95
+ }
96
+ : undefined,
97
+ rendererFunctionName: (_f = args_1.parsedLambdaCli['renderer-function-name']) !== null && _f !== void 0 ? _f : null,
98
+ forceBucketName: args_1.parsedLambdaCli['force-bucket-name'],
99
+ audioCodec: cli_1.CliInternals.parsedCli['audio-codec'],
76
100
  });
77
- const totalSteps = outName ? 5 : 4;
101
+ const totalSteps = downloadName ? 6 : 5;
78
102
  const progressBar = cli_1.CliInternals.createOverwriteableCliOutput(cli_1.CliInternals.quietFlagProvided());
79
- log_1.Log.info(cli_1.CliInternals.chalk.gray(`Bucket = ${res.bucketName}, renderId = ${res.renderId}, functionName = ${functionName}`));
80
- log_1.Log.verbose(`CloudWatch logs (if enabled): ${(0, get_cloudwatch_stream_url_1.getCloudwatchStreamUrl)({
81
- functionName,
82
- region,
83
- renderId: res.renderId,
84
- method: constants_1.LambdaRoutines.renderer,
85
- })}`);
103
+ log_1.Log.info(cli_1.CliInternals.chalk.gray(`bucket = ${res.bucketName}, function = ${functionName}`));
104
+ log_1.Log.info(cli_1.CliInternals.chalk.gray(`renderId = ${res.renderId}, codec = ${codec} (${reason})`));
105
+ const verbose = renderer_1.RenderInternals.isEqualOrBelowLogLevel(cli_1.ConfigInternals.Logging.getLogLevel(), 'verbose');
106
+ log_1.Log.verbose(`CloudWatch logs (if enabled): ${res.cloudWatchLogs}`);
107
+ log_1.Log.verbose(`Render folder: ${res.folderInS3Console}`);
86
108
  const status = await (0, get_render_progress_1.getRenderProgress)({
87
109
  functionName,
88
110
  bucketName: res.bucketName,
@@ -95,6 +117,9 @@ const renderCommand = async (args) => {
95
117
  steps: totalSteps,
96
118
  downloadInfo: null,
97
119
  retriesInfo: status.retriesInfo,
120
+ verbose,
121
+ totalFrames: getTotalFrames(status),
122
+ timeToEncode: status.timeToEncode,
98
123
  }));
99
124
  // eslint-disable-next-line no-constant-condition
100
125
  while (true) {
@@ -111,6 +136,9 @@ const renderCommand = async (args) => {
111
136
  steps: totalSteps,
112
137
  retriesInfo: newStatus.retriesInfo,
113
138
  downloadInfo: null,
139
+ verbose,
140
+ timeToEncode: newStatus.timeToEncode,
141
+ totalFrames: getTotalFrames(newStatus),
114
142
  }));
115
143
  if (newStatus.done) {
116
144
  progressBar.update((0, progress_1.makeProgressString)({
@@ -118,12 +146,15 @@ const renderCommand = async (args) => {
118
146
  steps: totalSteps,
119
147
  downloadInfo: null,
120
148
  retriesInfo: newStatus.retriesInfo,
149
+ verbose,
150
+ timeToEncode: newStatus.timeToEncode,
151
+ totalFrames: getTotalFrames(newStatus),
121
152
  }));
122
- if (outName) {
153
+ if (downloadName) {
123
154
  const downloadStart = Date.now();
124
155
  const { outputPath, sizeInBytes } = await (0, download_media_1.downloadMedia)({
125
156
  bucketName: res.bucketName,
126
- outPath: outName,
157
+ outPath: downloadName,
127
158
  region: (0, get_aws_region_1.getAwsRegion)(),
128
159
  renderId: res.renderId,
129
160
  onProgress: ({ downloaded, totalSize }) => {
@@ -136,6 +167,9 @@ const renderCommand = async (args) => {
136
167
  downloaded,
137
168
  totalSize,
138
169
  },
170
+ verbose,
171
+ timeToEncode: newStatus.timeToEncode,
172
+ totalFrames: getTotalFrames(newStatus),
139
173
  }));
140
174
  },
141
175
  });
@@ -148,10 +182,13 @@ const renderCommand = async (args) => {
148
182
  downloaded: sizeInBytes,
149
183
  totalSize: sizeInBytes,
150
184
  },
185
+ verbose,
186
+ timeToEncode: newStatus.timeToEncode,
187
+ totalFrames: getTotalFrames(newStatus),
151
188
  }));
152
189
  log_1.Log.info();
153
190
  log_1.Log.info();
154
- log_1.Log.info('Done!', outputPath, (0, format_bytes_1.formatBytes)(sizeInBytes));
191
+ log_1.Log.info('Done!', outputPath, cli_1.CliInternals.formatBytes(sizeInBytes));
155
192
  }
156
193
  else {
157
194
  log_1.Log.info();
@@ -169,11 +206,24 @@ const renderCommand = async (args) => {
169
206
  ]
170
207
  .filter(Boolean)
171
208
  .join(', '));
209
+ if (newStatus.mostExpensiveFrameRanges) {
210
+ log_1.Log.verbose('Most expensive frame ranges:');
211
+ log_1.Log.verbose(newStatus.mostExpensiveFrameRanges
212
+ .map((f) => {
213
+ return `${f.frameRange[0]}-${f.frameRange[1]} (${f.timeInMilliseconds}ms)`;
214
+ })
215
+ .join(', '));
216
+ }
172
217
  (0, quit_1.quit)(0);
173
218
  }
174
219
  if (newStatus.fatalErrorEncountered) {
175
220
  log_1.Log.error('\n');
221
+ const uniqueErrors = [];
176
222
  for (const err of newStatus.errors) {
223
+ if (uniqueErrors.find((e) => e.stack === err.stack)) {
224
+ continue;
225
+ }
226
+ uniqueErrors.push(err);
177
227
  if (err.explanation) {
178
228
  log_1.Log.error(err.explanation);
179
229
  }
@@ -192,3 +242,8 @@ const renderCommand = async (args) => {
192
242
  }
193
243
  };
194
244
  exports.renderCommand = renderCommand;
245
+ function getTotalFrames(status) {
246
+ return status.renderMetadata
247
+ ? renderer_1.RenderInternals.getFramesToRender(status.renderMetadata.frameRange, status.renderMetadata.everyNthFrame).length
248
+ : null;
249
+ }
@@ -1,2 +1,2 @@
1
1
  export declare const SITES_CREATE_SUBCOMMAND = "create";
2
- export declare const sitesCreateSubcommand: (args: string[]) => Promise<void>;
2
+ export declare const sitesCreateSubcommand: (args: string[], remotionRoot: string) => Promise<void>;