@remotion/lambda 4.0.0-defer.6 → 4.0.0-esm.17

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 (396) 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 +28 -6
  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 +2 -2
  15. package/dist/api/create-function.js +0 -0
  16. package/dist/api/delete-function.d.ts +1 -1
  17. package/dist/api/delete-function.js +0 -0
  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 +0 -5
  22. package/dist/api/deploy-function.d.ts +2 -2
  23. package/dist/api/deploy-function.js +7 -3
  24. package/dist/api/deploy-site.d.ts +10 -3
  25. package/dist/api/deploy-site.js +39 -20
  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 +2 -2
  29. package/dist/api/estimate-price.js +0 -0
  30. package/dist/api/get-aws-client.d.ts +7 -3
  31. package/dist/api/get-aws-client.js +9 -2
  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 +52 -0
  36. package/dist/api/get-function-info.d.ts +2 -3
  37. package/dist/api/get-function-info.js +0 -0
  38. package/dist/api/get-functions.d.ts +2 -2
  39. package/dist/api/get-functions.js +2 -1
  40. package/dist/api/get-or-create-bucket.d.ts +1 -1
  41. package/dist/api/get-or-create-bucket.js +2 -7
  42. package/dist/api/get-regions.d.ts +6 -2
  43. package/dist/api/get-regions.js +5 -2
  44. package/dist/api/get-render-progress.d.ts +6 -3
  45. package/dist/api/get-render-progress.js +5 -1
  46. package/dist/api/get-sites.d.ts +2 -2
  47. package/dist/api/get-sites.js +0 -0
  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 +2 -2
  53. package/dist/api/iam-validation/simulate.js +24 -5
  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 +0 -0
  57. package/dist/api/iam-validation/user-permissions.js +0 -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 +3 -2
  61. package/dist/api/presign-url.js +6 -1
  62. package/dist/api/render-media-on-lambda.d.ts +35 -16
  63. package/dist/api/render-media-on-lambda.js +82 -37
  64. package/dist/api/render-still-on-lambda.d.ts +12 -7
  65. package/dist/api/render-still-on-lambda.js +55 -31
  66. package/dist/api/upload-dir.d.ts +6 -5
  67. package/dist/api/upload-dir.js +39 -21
  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 +9 -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 +42 -0
  74. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  75. package/dist/cli/commands/functions/deploy.js +2 -1
  76. package/dist/cli/commands/functions/index.d.ts +0 -0
  77. package/dist/cli/commands/functions/index.js +0 -0
  78. package/dist/cli/commands/functions/ls.d.ts +0 -0
  79. package/dist/cli/commands/functions/ls.js +0 -0
  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 +0 -0
  94. package/dist/cli/commands/quotas/index.d.ts +0 -0
  95. package/dist/cli/commands/quotas/index.js +0 -0
  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 +5 -1
  100. package/dist/cli/commands/render/progress.d.ts +11 -7
  101. package/dist/cli/commands/render/progress.js +68 -43
  102. package/dist/cli/commands/render/render.d.ts +1 -1
  103. package/dist/cli/commands/render/render.js +72 -25
  104. package/dist/cli/commands/sites/create.d.ts +1 -1
  105. package/dist/cli/commands/sites/create.js +21 -9
  106. package/dist/cli/commands/sites/index.d.ts +1 -1
  107. package/dist/cli/commands/sites/index.js +2 -2
  108. package/dist/cli/commands/sites/ls.d.ts +0 -0
  109. package/dist/cli/commands/sites/ls.js +1 -2
  110. package/dist/cli/commands/sites/rm.d.ts +0 -0
  111. package/dist/cli/commands/sites/rm.js +2 -3
  112. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  113. package/dist/cli/commands/sites/rmall.js +2 -3
  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 +3 -2
  126. package/dist/cli/helpers/progress-bar.d.ts +9 -3
  127. package/dist/cli/helpers/progress-bar.js +20 -5
  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 +5 -2
  139. package/dist/client.js +5 -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 +2 -6
  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 +57 -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 +17 -7
  159. package/dist/functions/helpers/concat-videos.js +34 -32
  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 +1 -1
  172. package/dist/functions/helpers/get-chromium-executable-path.d.ts +0 -0
  173. package/dist/functions/helpers/get-chromium-executable-path.js +2 -1
  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 +5 -9
  183. package/dist/functions/helpers/get-encoding-metadata.js +4 -18
  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 +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 +63 -34
  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/min-max.d.ts +1 -1
  219. package/dist/functions/helpers/min-max.js +1 -1
  220. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -2
  221. package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
  222. package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
  223. package/dist/functions/helpers/print-concurrency-curve.js +0 -0
  224. package/dist/functions/helpers/read-with-progress.d.ts +6 -3
  225. package/dist/functions/helpers/read-with-progress.js +16 -4
  226. package/dist/functions/helpers/timer.d.ts +0 -0
  227. package/dist/functions/helpers/timer.js +0 -0
  228. package/dist/functions/helpers/validate-composition.d.ts +7 -4
  229. package/dist/functions/helpers/validate-composition.js +7 -2
  230. package/dist/functions/helpers/write-lambda-error.d.ts +2 -2
  231. package/dist/functions/helpers/write-lambda-error.js +2 -0
  232. package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
  233. package/dist/functions/helpers/write-post-render-data.js +2 -0
  234. package/dist/functions/index.d.ts +3 -2
  235. package/dist/functions/index.js +29 -10
  236. package/dist/functions/info.d.ts +2 -2
  237. package/dist/functions/info.js +2 -1
  238. package/dist/functions/launch.d.ts +2 -1
  239. package/dist/functions/launch.js +343 -123
  240. package/dist/functions/progress.d.ts +2 -2
  241. package/dist/functions/progress.js +10 -1
  242. package/dist/functions/renderer.d.ts +1 -1
  243. package/dist/functions/renderer.js +126 -77
  244. package/dist/functions/start.d.ts +6 -2
  245. package/dist/functions/start.js +40 -4
  246. package/dist/functions/still.d.ts +1 -1
  247. package/dist/functions/still.js +63 -17
  248. package/dist/index.d.ts +50 -20
  249. package/dist/index.js +17 -3
  250. package/dist/internals.d.ts +1 -1
  251. package/dist/internals.js +0 -0
  252. package/dist/pricing/aws-regions.d.ts +2 -1
  253. package/dist/pricing/aws-regions.js +31 -1
  254. package/dist/pricing/price-per-1-s.d.ts +1 -1
  255. package/dist/pricing/price-per-1-s.js +413 -39
  256. package/dist/regions.d.ts +0 -0
  257. package/dist/regions.js +0 -0
  258. package/dist/shared/await.d.ts +0 -0
  259. package/dist/shared/await.js +0 -0
  260. package/dist/shared/aws-clients.d.ts +17 -3
  261. package/dist/shared/aws-clients.js +118 -26
  262. package/dist/shared/bundle-site.d.ts +2 -6
  263. package/dist/shared/bundle-site.js +0 -0
  264. package/dist/shared/call-lambda.d.ts +3 -3
  265. package/dist/shared/call-lambda.js +0 -0
  266. package/dist/shared/check-credentials.d.ts +0 -0
  267. package/dist/shared/check-credentials.js +5 -2
  268. package/dist/shared/chunk-progress.d.ts +9 -0
  269. package/dist/shared/chunk-progress.js +2034 -0
  270. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  271. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  272. package/dist/shared/constants.d.ts +107 -37
  273. package/dist/shared/constants.js +20 -10
  274. package/dist/shared/content-disposition-header.d.ts +7 -0
  275. package/dist/shared/content-disposition-header.js +19 -0
  276. package/dist/shared/convert-to-serve-url.d.ts +6 -2
  277. package/dist/shared/convert-to-serve-url.js +1 -5
  278. package/dist/shared/deserialize-input-props.d.ts +8 -0
  279. package/dist/shared/deserialize-input-props.js +26 -0
  280. package/dist/shared/docs-url.d.ts +0 -0
  281. package/dist/shared/docs-url.js +0 -0
  282. package/dist/shared/function-zip-path.d.ts +2 -1
  283. package/dist/shared/function-zip-path.js +3 -2
  284. package/dist/shared/get-account-id.d.ts +1 -1
  285. package/dist/shared/get-account-id.js +4 -6
  286. package/dist/shared/get-aws-urls.d.ts +13 -0
  287. package/dist/{cli/helpers/get-cloudwatch-stream-url.js → shared/get-aws-urls.js} +5 -1
  288. package/dist/shared/get-etag.d.ts +1 -0
  289. package/dist/shared/get-etag.js +24 -0
  290. package/dist/shared/get-function-version.d.ts +2 -3
  291. package/dist/shared/get-function-version.js +0 -0
  292. package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
  293. package/dist/shared/get-most-expensive-chunks.js +25 -0
  294. package/dist/shared/get-s3-operations.d.ts +10 -0
  295. package/dist/shared/get-s3-operations.js +36 -0
  296. package/dist/shared/hosted-layers.d.ts +2 -2
  297. package/dist/shared/hosted-layers.js +368 -60
  298. package/dist/shared/invoke-webhook.d.ts +46 -0
  299. package/dist/shared/invoke-webhook.js +89 -0
  300. package/dist/shared/is-in-lambda.d.ts +0 -0
  301. package/dist/shared/is-in-lambda.js +5 -1
  302. package/dist/shared/lambda-version-string.d.ts +1 -0
  303. package/dist/shared/lambda-version-string.js +7 -0
  304. package/dist/shared/make-s3-key.d.ts +0 -0
  305. package/dist/shared/make-s3-key.js +0 -0
  306. package/dist/shared/make-s3-url.d.ts +1 -1
  307. package/dist/shared/make-s3-url.js +0 -0
  308. package/dist/shared/p-limit.d.ts +0 -0
  309. package/dist/shared/p-limit.js +0 -0
  310. package/dist/shared/parse-chunk-key.d.ts +4 -0
  311. package/dist/shared/parse-chunk-key.js +14 -0
  312. package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
  313. package/dist/shared/parse-lambda-initialized-key.js +0 -0
  314. package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
  315. package/dist/shared/parse-lambda-timings-key.js +0 -0
  316. package/dist/shared/random-hash.d.ts +0 -0
  317. package/dist/shared/random-hash.js +0 -0
  318. package/dist/shared/read-dir.d.ts +9 -0
  319. package/dist/shared/read-dir.js +57 -0
  320. package/dist/shared/return-values.d.ts +9 -7
  321. package/dist/shared/return-values.js +0 -1
  322. package/dist/shared/serialize-input-props.d.ts +7 -0
  323. package/dist/shared/serialize-input-props.js +42 -0
  324. package/dist/shared/sleep.d.ts +0 -0
  325. package/dist/shared/sleep.js +0 -0
  326. package/dist/shared/stream-to-string.d.ts +1 -1
  327. package/dist/shared/stream-to-string.js +0 -0
  328. package/dist/shared/truthy.d.ts +3 -0
  329. package/dist/shared/truthy.js +7 -0
  330. package/dist/shared/validate-architecture.d.ts +0 -0
  331. package/dist/shared/validate-architecture.js +0 -0
  332. package/dist/shared/validate-aws-region.d.ts +1 -1
  333. package/dist/shared/validate-aws-region.js +0 -0
  334. package/dist/shared/validate-bucketname.d.ts +5 -0
  335. package/dist/shared/validate-bucketname.js +19 -1
  336. package/dist/shared/validate-custom-role-arn.d.ts +0 -0
  337. package/dist/shared/validate-custom-role-arn.js +0 -0
  338. package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
  339. package/dist/shared/validate-disk-size-in-mb.js +0 -0
  340. package/dist/shared/validate-download-behavior.d.ts +1 -0
  341. package/dist/shared/validate-download-behavior.js +21 -0
  342. package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
  343. package/dist/shared/validate-frames-per-lambda.js +4 -3
  344. package/dist/shared/validate-lambda-codec.d.ts +4 -0
  345. package/dist/shared/validate-lambda-codec.js +29 -0
  346. package/dist/shared/validate-memory-size.d.ts +0 -0
  347. package/dist/shared/validate-memory-size.js +0 -0
  348. package/dist/shared/validate-outname.d.ts +3 -2
  349. package/dist/shared/validate-outname.js +5 -1
  350. package/dist/shared/validate-presign-expiration.d.ts +0 -2
  351. package/dist/shared/validate-presign-expiration.js +7 -7
  352. package/dist/shared/validate-privacy.d.ts +1 -1
  353. package/dist/shared/validate-privacy.js +2 -2
  354. package/dist/shared/validate-retention-period.d.ts +0 -0
  355. package/dist/shared/validate-retention-period.js +0 -0
  356. package/dist/shared/validate-retries.d.ts +0 -0
  357. package/dist/shared/validate-retries.js +0 -0
  358. package/dist/shared/validate-serveurl.d.ts +0 -0
  359. package/dist/shared/validate-serveurl.js +0 -0
  360. package/dist/shared/validate-site-name.d.ts +0 -0
  361. package/dist/shared/validate-site-name.js +0 -0
  362. package/dist/shared/validate-timeout.d.ts +0 -0
  363. package/dist/shared/validate-timeout.js +0 -0
  364. package/package.json +25 -26
  365. package/remotionlambda-arm64.zip +0 -0
  366. package/remotionlambda-x64.zip +0 -0
  367. package/remotionlambda.zip +0 -0
  368. package/.prettierrc.js +0 -14
  369. package/dist/api/enable-s3-website.d.ts +0 -5
  370. package/dist/api/enable-s3-website.js +0 -16
  371. package/dist/cli/helpers/format-bytes.d.ts +0 -6
  372. package/dist/cli/helpers/format-bytes.js +0 -103
  373. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
  374. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
  375. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
  376. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
  377. package/dist/functions/chunk-optimization/collect-data.js +0 -27
  378. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
  379. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
  380. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
  381. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
  382. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
  383. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
  384. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
  385. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
  386. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
  387. package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
  388. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
  389. package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -45
  390. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
  391. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
  392. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
  393. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
  394. package/dist/shared/chunk.d.ts +0 -1
  395. package/dist/shared/chunk.js +0 -11
  396. package/tsconfig.json +0 -16
@@ -6,7 +6,6 @@ const log_1 = require("@remotion/cli/dist/log");
6
6
  const get_sites_1 = require("../../../api/get-sites");
7
7
  const get_aws_region_1 = require("../../get-aws-region");
8
8
  const date_string_1 = require("../../helpers/date-string");
9
- const format_bytes_1 = require("../../helpers/format-bytes");
10
9
  exports.SITES_LS_SUBCOMMAND = 'ls';
11
10
  const COLS = [20, 30, 10, 15];
12
11
  const logRow = (data) => {
@@ -40,7 +39,7 @@ const sitesLsSubcommand = async () => {
40
39
  log_1.Log.info(logRow([
41
40
  site.id,
42
41
  site.bucketName,
43
- (0, format_bytes_1.formatBytes)(site.sizeInBytes),
42
+ cli_1.CliInternals.formatBytes(site.sizeInBytes),
44
43
  site.lastModified ? (0, date_string_1.dateString)(new Date(site.lastModified)) : 'n/a',
45
44
  ]));
46
45
  log_1.Log.info(site.serveUrl);
File without changes
@@ -7,7 +7,6 @@ const get_buckets_1 = require("../../../api/get-buckets");
7
7
  const get_sites_1 = require("../../../api/get-sites");
8
8
  const get_aws_region_1 = require("../../get-aws-region");
9
9
  const confirm_1 = require("../../helpers/confirm");
10
- const format_bytes_1 = require("../../helpers/format-bytes");
11
10
  const quit_1 = require("../../helpers/quit");
12
11
  const log_1 = require("../../log");
13
12
  exports.SITES_RM_COMMAND = 'rm';
@@ -44,7 +43,7 @@ const sitesRmSubcommand = async (args) => {
44
43
  return (0, quit_1.quit)(1);
45
44
  }
46
45
  await (0, confirm_1.confirmCli)({
47
- delMessage: `Site ${site.id} in bucket ${site.bucketName} (${(0, format_bytes_1.formatBytes)(site.sizeInBytes)}): Delete? (Y/n)`,
46
+ delMessage: `Site ${site.id} in bucket ${site.bucketName} (${cli_1.CliInternals.formatBytes(site.sizeInBytes)}): Delete? (Y/n)`,
48
47
  allowForceFlag: true,
49
48
  });
50
49
  const { totalSizeInBytes: totalSize } = await (0, delete_site_1.deleteSite)({
@@ -55,7 +54,7 @@ const sitesRmSubcommand = async (args) => {
55
54
  log_1.Log.info(cli_1.CliInternals.chalk.gray(`Deleted ${itemName}`));
56
55
  },
57
56
  });
58
- log_1.Log.info(`Deleted site ${siteName} and freed up ${(0, format_bytes_1.formatBytes)(totalSize)}.`);
57
+ log_1.Log.info(`Deleted site ${siteName} and freed up ${cli_1.CliInternals.formatBytes(totalSize)}.`);
59
58
  }
60
59
  };
61
60
  exports.sitesRmSubcommand = sitesRmSubcommand;
File without changes
@@ -7,7 +7,6 @@ const get_buckets_1 = require("../../../api/get-buckets");
7
7
  const get_sites_1 = require("../../../api/get-sites");
8
8
  const get_aws_region_1 = require("../../get-aws-region");
9
9
  const confirm_1 = require("../../helpers/confirm");
10
- const format_bytes_1 = require("../../helpers/format-bytes");
11
10
  const quit_1 = require("../../helpers/quit");
12
11
  const log_1 = require("../../log");
13
12
  exports.SITES_RMALL_COMMAND = 'rmall';
@@ -31,7 +30,7 @@ const sitesRmallSubcommand = async () => {
31
30
  }
32
31
  for (const site of deployedSites.sites) {
33
32
  await (0, confirm_1.confirmCli)({
34
- delMessage: `Site ${site.id} in bucket ${site.bucketName} (${(0, format_bytes_1.formatBytes)(site.sizeInBytes)}): Delete? (Y/n)`,
33
+ delMessage: `Site ${site.id} in bucket ${site.bucketName} (${cli_1.CliInternals.formatBytes(site.sizeInBytes)}): Delete? (Y/n)`,
35
34
  allowForceFlag: true,
36
35
  });
37
36
  const { totalSizeInBytes: totalSize } = await (0, delete_site_1.deleteSite)({
@@ -42,7 +41,7 @@ const sitesRmallSubcommand = async () => {
42
41
  log_1.Log.info(cli_1.CliInternals.chalk.gray(`Deleted ${itemName}`));
43
42
  },
44
43
  });
45
- log_1.Log.info(`Deleted site ${site.id} and freed up ${(0, format_bytes_1.formatBytes)(totalSize)}.`);
44
+ log_1.Log.info(`Deleted site ${site.id} and freed up ${cli_1.CliInternals.formatBytes(totalSize)}.`);
46
45
  }
47
46
  };
48
47
  exports.sitesRmallSubcommand = sitesRmallSubcommand;
@@ -1,2 +1,2 @@
1
1
  export declare const STILL_COMMAND = "still";
2
- export declare const stillCommand: (args: string[]) => Promise<void>;
2
+ export declare const stillCommand: (args: string[], remotionRoot: string) => Promise<void>;
@@ -8,16 +8,15 @@ const render_still_on_lambda_1 = require("../../api/render-still-on-lambda");
8
8
  const constants_1 = require("../../shared/constants");
9
9
  const validate_privacy_1 = require("../../shared/validate-privacy");
10
10
  const validate_retries_1 = require("../../shared/validate-retries");
11
+ const validate_serveurl_1 = require("../../shared/validate-serveurl");
11
12
  const args_1 = require("../args");
12
13
  const get_aws_region_1 = require("../get-aws-region");
13
14
  const find_function_name_1 = require("../helpers/find-function-name");
14
- const format_bytes_1 = require("../helpers/format-bytes");
15
- const get_cloudwatch_stream_url_1 = require("../helpers/get-cloudwatch-stream-url");
16
15
  const quit_1 = require("../helpers/quit");
17
16
  const log_1 = require("../log");
18
17
  exports.STILL_COMMAND = 'still';
19
- const stillCommand = async (args) => {
20
- var _a, _b, _c, _d;
18
+ const stillCommand = async (args, remotionRoot) => {
19
+ var _a, _b, _c, _d, _e, _f;
21
20
  const serveUrl = args[0];
22
21
  if (!serveUrl) {
23
22
  log_1.Log.error('No serve URL passed.');
@@ -26,59 +25,67 @@ const stillCommand = async (args) => {
26
25
  log_1.Log.info(`${constants_1.BINARY_NAME} ${exports.STILL_COMMAND} <serve-url> <composition-id> [output-location]`);
27
26
  (0, quit_1.quit)(1);
28
27
  }
29
- const composition = args[1];
28
+ const region = (0, get_aws_region_1.getAwsRegion)();
29
+ let composition = args[1];
30
30
  if (!composition) {
31
- log_1.Log.error('No composition ID passed.');
32
- log_1.Log.info('Pass an additional argument specifying the composition ID.');
33
- log_1.Log.info();
34
- log_1.Log.info(`${constants_1.BINARY_NAME} ${exports.STILL_COMMAND} <serve-url> <composition-id> [output-location]`);
35
- (0, quit_1.quit)(1);
31
+ log_1.Log.info('No compositions passed. Fetching compositions...');
32
+ (0, validate_serveurl_1.validateServeUrl)(serveUrl);
33
+ const comps = await (0, renderer_1.getCompositions)(serveUrl);
34
+ const { compositionId } = await cli_1.CliInternals.selectComposition(comps);
35
+ composition = compositionId;
36
36
  }
37
- const outName = (_a = args[2]) !== null && _a !== void 0 ? _a : null;
38
- const { chromiumOptions, envVariables, imageFormat, inputProps, logLevel, puppeteerTimeout, quality, stillFrame, scale, } = await cli_1.CliInternals.getCliOptions({
37
+ const downloadName = (_a = args[2]) !== null && _a !== void 0 ? _a : null;
38
+ const outName = args_1.parsedLambdaCli['out-name'];
39
+ const { chromiumOptions, envVariables, inputProps, logLevel, puppeteerTimeout, quality, stillFrame, scale, height, width, } = await cli_1.CliInternals.getCliOptions({
39
40
  type: 'still',
40
41
  isLambda: true,
42
+ remotionRoot,
41
43
  });
42
44
  const functionName = await (0, find_function_name_1.findFunctionName)();
43
45
  const maxRetries = (_b = args_1.parsedLambdaCli['max-retries']) !== null && _b !== void 0 ? _b : constants_1.DEFAULT_MAX_RETRIES;
44
46
  (0, validate_retries_1.validateMaxRetries)(maxRetries);
45
47
  const privacy = (_c = args_1.parsedLambdaCli.privacy) !== null && _c !== void 0 ? _c : constants_1.DEFAULT_OUTPUT_PRIVACY;
46
48
  (0, validate_privacy_1.validatePrivacy)(privacy);
49
+ const { format: imageFormat, source: imageFormatReason } = cli_1.CliInternals.determineFinalImageFormat({
50
+ downloadName,
51
+ outName: outName !== null && outName !== void 0 ? outName : null,
52
+ configImageFormat: (_d = cli_1.ConfigInternals.getUserPreferredImageFormat()) !== null && _d !== void 0 ? _d : null,
53
+ cliFlag: (_e = cli_1.CliInternals.parsedCli['image-format']) !== null && _e !== void 0 ? _e : null,
54
+ isLambda: true,
55
+ });
47
56
  try {
57
+ log_1.Log.info(cli_1.CliInternals.chalk.gray(`functionName = ${functionName}, imageFormat = ${imageFormat} (${imageFormatReason})`));
48
58
  const res = await (0, render_still_on_lambda_1.renderStillOnLambda)({
49
59
  functionName,
50
60
  serveUrl,
51
61
  inputProps,
52
- imageFormat: imageFormat,
62
+ imageFormat,
53
63
  composition,
54
64
  privacy,
55
- region: (0, get_aws_region_1.getAwsRegion)(),
65
+ region,
56
66
  maxRetries,
57
67
  envVariables,
58
68
  frame: stillFrame,
59
69
  quality,
60
70
  logLevel,
61
- outName: args_1.parsedLambdaCli['out-name'],
71
+ outName,
62
72
  chromiumOptions,
63
73
  timeoutInMilliseconds: puppeteerTimeout,
64
74
  scale,
75
+ forceHeight: height,
76
+ forceWidth: width,
65
77
  });
66
- log_1.Log.verbose(cli_1.CliInternals.chalk.gray(`Bucket = ${res.bucketName}, renderId = ${res.renderId}, functionName = ${functionName}`));
67
- log_1.Log.verbose(`CloudWatch logs (if enabled): ${(0, get_cloudwatch_stream_url_1.getCloudwatchStreamUrl)({
68
- functionName,
69
- region: (0, get_aws_region_1.getAwsRegion)(),
70
- renderId: res.renderId,
71
- method: constants_1.LambdaRoutines.still,
72
- })}`);
73
- if (outName) {
78
+ log_1.Log.info(cli_1.CliInternals.chalk.gray(`Bucket = ${res.bucketName}, renderId = ${res.renderId}`));
79
+ log_1.Log.verbose(`CloudWatch logs (if enabled): ${res.cloudWatchLogs}`);
80
+ if (downloadName) {
74
81
  log_1.Log.info('Finished rendering. Downloading...');
75
82
  const { outputPath, sizeInBytes } = await (0, download_media_1.downloadMedia)({
76
83
  bucketName: res.bucketName,
77
- outPath: outName,
78
- region: (0, get_aws_region_1.getAwsRegion)(),
84
+ outPath: downloadName,
85
+ region,
79
86
  renderId: res.renderId,
80
87
  });
81
- log_1.Log.info('Done!', outputPath, (0, format_bytes_1.formatBytes)(sizeInBytes));
88
+ log_1.Log.info('Done!', outputPath, cli_1.CliInternals.formatBytes(sizeInBytes));
82
89
  }
83
90
  else {
84
91
  log_1.Log.info(`Finished still!`);
@@ -87,7 +94,7 @@ const stillCommand = async (args) => {
87
94
  }
88
95
  }
89
96
  catch (err) {
90
- const frames = renderer_1.RenderInternals.parseStack(((_d = err.stack) !== null && _d !== void 0 ? _d : '').split('\n'));
97
+ const frames = renderer_1.RenderInternals.parseStack(((_f = err.stack) !== null && _f !== void 0 ? _f : '').split('\n'));
91
98
  const errorWithStackFrame = new renderer_1.RenderInternals.SymbolicateableError({
92
99
  message: err.message,
93
100
  frame: null,
@@ -1,2 +1,2 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare const getAwsRegion: () => AwsRegion;
@@ -6,6 +6,7 @@ const is_in_lambda_1 = require("../shared/is-in-lambda");
6
6
  const validate_aws_region_1 = require("../shared/validate-aws-region");
7
7
  const args_1 = require("./args");
8
8
  const getAwsRegion = () => {
9
+ var _a;
9
10
  if ((0, is_in_lambda_1.isInsideLambda)()) {
10
11
  throw new Error('Should not call getAwsRegion() if in lambda');
11
12
  }
@@ -13,7 +14,7 @@ const getAwsRegion = () => {
13
14
  (0, validate_aws_region_1.validateAwsRegion)(args_1.parsedLambdaCli.region);
14
15
  return args_1.parsedLambdaCli.region;
15
16
  }
16
- const envVariable = process.env.AWS_REGION;
17
+ const envVariable = (_a = process.env.REMOTION_AWS_REGION) !== null && _a !== void 0 ? _a : process.env.AWS_REGION;
17
18
  if (envVariable) {
18
19
  (0, validate_aws_region_1.validateAwsRegion)(envVariable);
19
20
  return envVariable;
File without changes
package/dist/cli/help.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.findFunctionName = void 0;
4
+ const version_1 = require("remotion/version");
4
5
  const get_functions_1 = require("../../api/get-functions");
5
6
  const constants_1 = require("../../shared/constants");
6
7
  const functions_1 = require("../commands/functions");
@@ -15,9 +16,9 @@ const findFunctionName = async () => {
15
16
  region: (0, get_aws_region_1.getAwsRegion)(),
16
17
  compatibleOnly: false,
17
18
  });
18
- const lambdasWithMatchingVersion = remotionLambdas.filter((l) => l.version === constants_1.CURRENT_VERSION);
19
+ const lambdasWithMatchingVersion = remotionLambdas.filter((l) => l.version === version_1.VERSION);
19
20
  if (lambdasWithMatchingVersion.length === 0) {
20
- log_1.Log.error(`No lambda functions with version ${constants_1.CURRENT_VERSION} found in your account.`);
21
+ log_1.Log.error(`No lambda functions with version ${version_1.VERSION} found in your account.`);
21
22
  if (remotionLambdas.length > 0) {
22
23
  log_1.Log.error('Other functions were found, but are not compatible with this version of the CLI.');
23
24
  }
@@ -5,13 +5,19 @@ export declare type BundleProgress = {
5
5
  export declare const makeBundleProgress: ({ progress, doneIn }: BundleProgress) => string;
6
6
  export declare type BucketCreationProgress = {
7
7
  bucketCreated: boolean;
8
- websiteEnabled: boolean;
9
8
  doneIn: number | null;
10
9
  };
11
- export declare const makeBucketProgress: ({ bucketCreated, websiteEnabled, doneIn, }: BucketCreationProgress) => string;
10
+ export declare const makeBucketProgress: ({ bucketCreated, doneIn, }: BucketCreationProgress) => string;
11
+ declare type UploadStats = {
12
+ addedFiles: number;
13
+ removedFiles: number;
14
+ untouchedFiles: number;
15
+ };
12
16
  export declare type DeployToS3Progress = {
13
17
  sizeUploaded: number;
14
18
  totalSize: number | null;
15
19
  doneIn: number | null;
20
+ stats: UploadStats | null;
16
21
  };
17
- export declare const makeDeployProgressBar: ({ sizeUploaded, totalSize, doneIn, }: DeployToS3Progress) => string;
22
+ export declare const makeDeployProgressBar: ({ sizeUploaded, totalSize, doneIn, stats, }: DeployToS3Progress) => string;
23
+ export {};
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.makeDeployProgressBar = exports.makeBucketProgress = exports.makeBundleProgress = void 0;
4
4
  const cli_1 = require("@remotion/cli");
5
5
  const remotion_1 = require("remotion");
6
- const format_bytes_1 = require("./format-bytes");
7
6
  const makeBundleProgress = ({ progress, doneIn }) => {
8
7
  return [
9
8
  '📦',
@@ -16,8 +15,8 @@ const makeBundleProgress = ({ progress, doneIn }) => {
16
15
  ].join(' ');
17
16
  };
18
17
  exports.makeBundleProgress = makeBundleProgress;
19
- const makeBucketProgress = ({ bucketCreated, websiteEnabled, doneIn, }) => {
20
- const states = [bucketCreated, websiteEnabled];
18
+ const makeBucketProgress = ({ bucketCreated, doneIn, }) => {
19
+ const states = [bucketCreated];
21
20
  const statesFinished = states.filter(Boolean).map((p) => p).length;
22
21
  const progress = statesFinished / states.length;
23
22
  return [
@@ -31,7 +30,22 @@ const makeBucketProgress = ({ bucketCreated, websiteEnabled, doneIn, }) => {
31
30
  ].join(' ');
32
31
  };
33
32
  exports.makeBucketProgress = makeBucketProgress;
34
- const makeDeployProgressBar = ({ sizeUploaded, totalSize, doneIn, }) => {
33
+ const makeUploadDiff = ({ stats }) => {
34
+ if (!stats) {
35
+ return null;
36
+ }
37
+ if (stats.addedFiles === 0 && stats.removedFiles === 0) {
38
+ return cli_1.CliInternals.chalk.gray(`(Unchanged)`);
39
+ }
40
+ const total = stats.addedFiles + stats.removedFiles;
41
+ return cli_1.CliInternals.chalk.gray(`(${[
42
+ stats.addedFiles ? `+${stats.addedFiles}` : null,
43
+ stats.removedFiles ? `-${stats.removedFiles}` : null,
44
+ ]
45
+ .filter(remotion_1.Internals.truthy)
46
+ .join(',')} ${total === 1 ? 'file' : 'files'})`);
47
+ };
48
+ const makeDeployProgressBar = ({ sizeUploaded, totalSize, doneIn, stats, }) => {
35
49
  const progress = totalSize === null ? 0 : sizeUploaded / totalSize;
36
50
  return [
37
51
  '☁️ ',
@@ -40,9 +54,10 @@ const makeDeployProgressBar = ({ sizeUploaded, totalSize, doneIn, }) => {
40
54
  `${doneIn === null ? 'Uploading' : 'Uploaded'} to S3`,
41
55
  doneIn === null
42
56
  ? typeof totalSize === 'number'
43
- ? `${(0, format_bytes_1.formatBytes)(sizeUploaded)}/${(0, format_bytes_1.formatBytes)(totalSize)}`
57
+ ? `${cli_1.CliInternals.formatBytes(sizeUploaded)}/${cli_1.CliInternals.formatBytes(totalSize)}`
44
58
  : ''
45
59
  : cli_1.CliInternals.chalk.gray(`${doneIn}ms`),
60
+ makeUploadDiff({ stats }),
46
61
  ]
47
62
  .filter(remotion_1.Internals.truthy)
48
63
  .join(' ');
File without changes
File without changes
File without changes
File without changes
@@ -1,2 +1,2 @@
1
- export declare const executeCommand: (args: string[]) => Promise<void>;
1
+ export declare const executeCommand: (args: string[], remotionRoot: string) => Promise<void>;
2
2
  export declare const cli: () => Promise<void>;
package/dist/cli/index.js CHANGED
@@ -2,11 +2,13 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cli = exports.executeCommand = void 0;
4
4
  const cli_1 = require("@remotion/cli");
5
+ const renderer_1 = require("@remotion/renderer");
5
6
  const suggested_policy_1 = require("../api/iam-validation/suggested-policy");
6
7
  const defaults_1 = require("../defaults");
7
8
  const check_credentials_1 = require("../shared/check-credentials");
8
9
  const docs_url_1 = require("../shared/docs-url");
9
10
  const args_1 = require("./args");
11
+ const compositions_1 = require("./commands/compositions");
10
12
  const functions_1 = require("./commands/functions");
11
13
  const policies_1 = require("./commands/policies/policies");
12
14
  const role_1 = require("./commands/policies/role");
@@ -34,7 +36,7 @@ const requiresCredentials = (args) => {
34
36
  }
35
37
  return true;
36
38
  };
37
- const matchCommand = (args) => {
39
+ const matchCommand = (args, remotionRoot) => {
38
40
  if (args_1.parsedLambdaCli.help || args.length === 0) {
39
41
  (0, help_1.printHelp)();
40
42
  (0, quit_1.quit)(0);
@@ -43,10 +45,13 @@ const matchCommand = (args) => {
43
45
  (0, check_credentials_1.checkCredentials)();
44
46
  }
45
47
  if (args[0] === render_1.RENDER_COMMAND) {
46
- return (0, render_1.renderCommand)(args.slice(1));
48
+ return (0, render_1.renderCommand)(args.slice(1), remotionRoot);
47
49
  }
48
50
  if (args[0] === still_1.STILL_COMMAND) {
49
- return (0, still_1.stillCommand)(args.slice(1));
51
+ return (0, still_1.stillCommand)(args.slice(1), remotionRoot);
52
+ }
53
+ if (args[0] === compositions_1.COMPOSITIONS_COMMAND) {
54
+ return (0, compositions_1.compositionsCommand)(args.slice(1), remotionRoot);
50
55
  }
51
56
  if (args[0] === functions_1.FUNCTIONS_COMMAND) {
52
57
  return (0, functions_1.functionsCommand)(args.slice(1));
@@ -61,7 +66,7 @@ const matchCommand = (args) => {
61
66
  return (0, regions_1.regionsCommand)();
62
67
  }
63
68
  if (args[0] === sites_1.SITES_COMMAND) {
64
- return (0, sites_1.sitesCommand)(args.slice(1));
69
+ return (0, sites_1.sitesCommand)(args.slice(1), remotionRoot);
65
70
  }
66
71
  if (args[0] === 'upload') {
67
72
  log_1.Log.info('The command has been renamed.');
@@ -91,11 +96,11 @@ const matchCommand = (args) => {
91
96
  (0, help_1.printHelp)();
92
97
  (0, quit_1.quit)(1);
93
98
  };
94
- const executeCommand = async (args) => {
95
- var _a, _b;
99
+ const executeCommand = async (args, remotionRoot) => {
100
+ var _a, _b, _c;
96
101
  try {
97
102
  (0, is_cli_1.setIsCli)(true);
98
- await matchCommand(args);
103
+ await matchCommand(args, remotionRoot);
99
104
  }
100
105
  catch (err) {
101
106
  const error = err;
@@ -126,6 +131,11 @@ AWS returned an "AccessDenied" error message meaning a permission is missing. Re
126
131
  log_1.Log.error(`
127
132
  AWS returned an "TooManyRequestsException" error message which could mean you reached the concurrency limit of AWS Lambda. You can increase the limit - read this troubleshooting page: ${docs_url_1.DOCS_URL}/docs/lambda/troubleshooting/rate-limit. The original error message is:
128
133
  `.trim());
134
+ }
135
+ if ((_c = error.stack) === null || _c === void 0 ? void 0 : _c.includes('The security token included in the request is invalid')) {
136
+ log_1.Log.error(`
137
+ AWS returned an error message "The security token included in the request is invalid". A possible reason for this is that you did not enable the region in your AWS account under "Account". The original message is:
138
+ `);
129
139
  }
130
140
  log_1.Log.error(error.stack);
131
141
  (0, quit_1.quit)(1);
@@ -133,7 +143,8 @@ AWS returned an "TooManyRequestsException" error message which could mean you re
133
143
  };
134
144
  exports.executeCommand = executeCommand;
135
145
  const cli = async () => {
136
- await cli_1.CliInternals.initializeRenderCli('lambda');
137
- await (0, exports.executeCommand)(args_1.parsedLambdaCli._);
146
+ const remotionRoot = renderer_1.RenderInternals.findRemotionRoot();
147
+ await cli_1.CliInternals.initializeCli(remotionRoot);
148
+ await (0, exports.executeCommand)(args_1.parsedLambdaCli._, remotionRoot);
138
149
  };
139
150
  exports.cli = cli;
File without changes
File without changes
package/dist/cli/log.d.ts CHANGED
File without changes
package/dist/cli/log.js CHANGED
File without changes
package/dist/client.d.ts CHANGED
@@ -1,8 +1,11 @@
1
+ import { getCompositionsOnLambda } from './api/get-compositions-on-lambda';
1
2
  import { getFunctions } from './api/get-functions';
2
3
  import { getRenderProgress } from './api/get-render-progress';
3
4
  import { renderMediaOnLambda, renderVideoOnLambda } from './api/render-media-on-lambda';
4
5
  import { renderStillOnLambda } from './api/render-still-on-lambda';
6
+ import { validateWebhookSignature } from './api/validate-webhook-signature';
5
7
  import type { AwsRegion } from './pricing/aws-regions';
6
8
  import type { RenderProgress } from './shared/constants';
7
- export { renderVideoOnLambda, renderMediaOnLambda, renderStillOnLambda, getRenderProgress, getFunctions, };
8
- export type { AwsRegion, RenderProgress };
9
+ import type { WebhookPayload } from './shared/invoke-webhook';
10
+ export { renderVideoOnLambda, renderMediaOnLambda, renderStillOnLambda, getRenderProgress, getFunctions, validateWebhookSignature, getCompositionsOnLambda, };
11
+ export type { AwsRegion, RenderProgress, WebhookPayload };
package/dist/client.js CHANGED
@@ -1,6 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFunctions = exports.getRenderProgress = exports.renderStillOnLambda = exports.renderMediaOnLambda = exports.renderVideoOnLambda = void 0;
3
+ exports.getCompositionsOnLambda = exports.validateWebhookSignature = exports.getFunctions = exports.getRenderProgress = exports.renderStillOnLambda = exports.renderMediaOnLambda = exports.renderVideoOnLambda = void 0;
4
+ const get_compositions_on_lambda_1 = require("./api/get-compositions-on-lambda");
5
+ Object.defineProperty(exports, "getCompositionsOnLambda", { enumerable: true, get: function () { return get_compositions_on_lambda_1.getCompositionsOnLambda; } });
4
6
  const get_functions_1 = require("./api/get-functions");
5
7
  Object.defineProperty(exports, "getFunctions", { enumerable: true, get: function () { return get_functions_1.getFunctions; } });
6
8
  const get_render_progress_1 = require("./api/get-render-progress");
@@ -10,3 +12,5 @@ Object.defineProperty(exports, "renderMediaOnLambda", { enumerable: true, get: f
10
12
  Object.defineProperty(exports, "renderVideoOnLambda", { enumerable: true, get: function () { return render_media_on_lambda_1.renderVideoOnLambda; } });
11
13
  const render_still_on_lambda_1 = require("./api/render-still-on-lambda");
12
14
  Object.defineProperty(exports, "renderStillOnLambda", { enumerable: true, get: function () { return render_still_on_lambda_1.renderStillOnLambda; } });
15
+ const validate_webhook_signature_1 = require("./api/validate-webhook-signature");
16
+ Object.defineProperty(exports, "validateWebhookSignature", { enumerable: true, get: function () { return validate_webhook_signature_1.validateWebhookSignature; } });
File without changes
package/dist/defaults.js CHANGED
File without changes
@@ -1,11 +1,7 @@
1
- import { OptimizationProfile } from './types';
2
- export declare const planFrameRanges: ({ chunkCount, framesPerLambda, optimization, shouldUseOptimization, frameRange, }: {
3
- chunkCount: number;
1
+ export declare const planFrameRanges: ({ framesPerLambda, frameRange, everyNthFrame, }: {
4
2
  framesPerLambda: number;
5
- optimization: OptimizationProfile | null;
6
- shouldUseOptimization: boolean;
7
3
  frameRange: [number, number];
4
+ everyNthFrame: number;
8
5
  }) => {
9
6
  chunks: [number, number][];
10
- didUseOptimization: boolean;
11
7
  };
@@ -2,28 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.planFrameRanges = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
- const can_use_optimization_1 = require("./can-use-optimization");
6
- const planFrameRanges = ({ chunkCount, framesPerLambda, optimization, shouldUseOptimization, frameRange, }) => {
7
- if ((0, can_use_optimization_1.canUseOptimization)({
8
- optimization,
9
- framesPerLambda,
10
- frameRange,
11
- }) &&
12
- shouldUseOptimization) {
13
- return {
14
- chunks: optimization.ranges,
15
- didUseOptimization: true,
16
- };
17
- }
18
- const frameCount = renderer_1.RenderInternals.getDurationFromFrameRange(frameRange, 0);
5
+ const planFrameRanges = ({ framesPerLambda, frameRange, everyNthFrame, }) => {
6
+ const framesToRender = renderer_1.RenderInternals.getFramesToRender(frameRange, everyNthFrame);
7
+ const chunkCount = Math.ceil(framesToRender.length / framesPerLambda);
8
+ const firstFrame = frameRange[0];
19
9
  return {
20
10
  chunks: new Array(chunkCount).fill(1).map((_, i) => {
21
- return [
22
- i * framesPerLambda + frameRange[0],
23
- Math.min(frameCount, (i + 1) * framesPerLambda) - 1 + frameRange[0],
24
- ];
11
+ const start = i * framesPerLambda * everyNthFrame + firstFrame;
12
+ const end = Math.min(framesToRender[framesToRender.length - 1], (i + 1) * framesPerLambda * everyNthFrame - 1) + firstFrame;
13
+ return [start, end];
25
14
  }),
26
- didUseOptimization: false,
27
15
  };
28
16
  };
29
17
  exports.planFrameRanges = planFrameRanges;
@@ -1,4 +1,3 @@
1
- import { LambdaVersions } from '../../shared/constants';
2
1
  export declare type ObjectChunkTimingData = {
3
2
  chunk: number;
4
3
  frameRange: [number, number];
@@ -10,13 +9,3 @@ export declare type ObjectChunkTimingData = {
10
9
  export declare type ChunkTimingData = Omit<ObjectChunkTimingData, 'timings'> & {
11
10
  timings: number[];
12
11
  };
13
- export declare type TimingProfile = ChunkTimingData[];
14
- export declare type OptimizationProfile = {
15
- ranges: [number, number][];
16
- frameRange: [number, number];
17
- oldTiming: number;
18
- newTiming: number;
19
- createdFromRenderId: string;
20
- framesPerLambda: number;
21
- lambdaVersion: LambdaVersions;
22
- };
File without changes
@@ -0,0 +1,8 @@
1
+ import type { LambdaPayload } from '../defaults';
2
+ declare type Options = {
3
+ expectedBucketOwner: string;
4
+ };
5
+ export declare const compositionsHandler: (lambdaParams: LambdaPayload, options: Options) => Promise<{
6
+ compositions: import("remotion").TCompMetadata[];
7
+ }>;
8
+ export {};
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.compositionsHandler = void 0;
4
+ const renderer_1 = require("@remotion/renderer");
5
+ const version_1 = require("remotion/version");
6
+ const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
7
+ const defaults_1 = require("../defaults");
8
+ const convert_to_serve_url_1 = require("../shared/convert-to-serve-url");
9
+ const deserialize_input_props_1 = require("../shared/deserialize-input-props");
10
+ const get_browser_instance_1 = require("./helpers/get-browser-instance");
11
+ const get_current_region_1 = require("./helpers/get-current-region");
12
+ const compositionsHandler = async (lambdaParams, options) => {
13
+ var _a;
14
+ if (lambdaParams.type !== defaults_1.LambdaRoutines.compositions) {
15
+ throw new TypeError('Expected info compositions');
16
+ }
17
+ if (lambdaParams.version !== version_1.VERSION) {
18
+ if (!lambdaParams.version) {
19
+ throw new Error(`Version mismatch: When calling getCompositionsOnLambda(), you called the function ${process.env.AWS_LAMBDA_FUNCTION_NAME} which has the version ${version_1.VERSION} but the @remotion/lambda package is an older version. Deploy a new function and use it to call getCompositionsOnLambda(). See: https://www.remotion.dev/docs/lambda/upgrading`);
20
+ }
21
+ throw new Error(`Version mismatch: When calling getCompositionsOnLambda(), you passed ${process.env.AWS_LAMBDA_FUNCTION_NAME} as the function, which has the version ${version_1.VERSION}, but the @remotion/lambda package you used to invoke the function has version ${lambdaParams.version}. Deploy a new function and use it to call getCompositionsOnLambda(). See: https://www.remotion.dev/docs/lambda/upgrading`);
22
+ }
23
+ const region = (0, get_current_region_1.getCurrentRegionInFunction)();
24
+ const [{ bucketName }, browserInstance] = await Promise.all([
25
+ (0, get_or_create_bucket_1.getOrCreateBucket)({
26
+ region,
27
+ }),
28
+ (0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(lambdaParams.logLevel, 'verbose'), (_a = lambdaParams.chromiumOptions) !== null && _a !== void 0 ? _a : {}),
29
+ ]);
30
+ const inputProps = await (0, deserialize_input_props_1.deserializeInputProps)({
31
+ bucketName,
32
+ expectedBucketOwner: options.expectedBucketOwner,
33
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
34
+ serialized: lambdaParams.inputProps,
35
+ });
36
+ const realServeUrl = (0, convert_to_serve_url_1.convertToServeUrl)({
37
+ urlOrId: lambdaParams.serveUrl,
38
+ region,
39
+ bucketName,
40
+ });
41
+ const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
42
+ const compositions = await (0, renderer_1.getCompositions)(realServeUrl, {
43
+ puppeteerInstance: browserInstance,
44
+ inputProps,
45
+ envVariables: lambdaParams.envVariables,
46
+ ffmpegExecutable: null,
47
+ ffprobeExecutable: null,
48
+ timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
49
+ chromiumOptions: lambdaParams.chromiumOptions,
50
+ port: null,
51
+ downloadMap,
52
+ });
53
+ return Promise.resolve({
54
+ compositions,
55
+ });
56
+ };
57
+ exports.compositionsHandler = compositionsHandler;