@remotion/lambda 4.0.0-audio.0 → 4.0.0-audio.11

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 (405) 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 +3 -6
  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 +26 -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 +60 -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 +31 -0
  35. package/dist/api/get-compositions-on-lambda.js +56 -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 +3 -2
  41. package/dist/api/get-or-create-bucket.js +6 -11
  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 +40 -17
  63. package/dist/api/render-media-on-lambda.js +90 -38
  64. package/dist/api/render-still-on-lambda.d.ts +14 -7
  65. package/dist/api/render-still-on-lambda.js +60 -31
  66. package/dist/api/speculate-function-name.d.ts +14 -0
  67. package/dist/api/speculate-function-name.js +22 -0
  68. package/dist/api/upload-dir.d.ts +6 -5
  69. package/dist/api/upload-dir.js +60 -52
  70. package/dist/api/validate-webhook-signature.d.ts +13 -0
  71. package/dist/api/validate-webhook-signature.js +32 -0
  72. package/dist/cli/args.d.ts +13 -5
  73. package/dist/cli/args.js +1 -5
  74. package/dist/cli/commands/compositions/index.d.ts +2 -0
  75. package/dist/cli/commands/compositions/index.js +44 -0
  76. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  77. package/dist/cli/commands/functions/deploy.js +10 -6
  78. package/dist/cli/commands/functions/index.d.ts +0 -0
  79. package/dist/cli/commands/functions/index.js +16 -17
  80. package/dist/cli/commands/functions/ls.d.ts +0 -0
  81. package/dist/cli/commands/functions/ls.js +6 -7
  82. package/dist/cli/commands/functions/rm.d.ts +0 -0
  83. package/dist/cli/commands/functions/rm.js +0 -0
  84. package/dist/cli/commands/functions/rmall.d.ts +0 -0
  85. package/dist/cli/commands/functions/rmall.js +0 -0
  86. package/dist/cli/commands/policies/policies.d.ts +0 -0
  87. package/dist/cli/commands/policies/policies.js +0 -0
  88. package/dist/cli/commands/policies/role.d.ts +0 -0
  89. package/dist/cli/commands/policies/role.js +0 -0
  90. package/dist/cli/commands/policies/user.d.ts +0 -0
  91. package/dist/cli/commands/policies/user.js +0 -0
  92. package/dist/cli/commands/policies/validate.d.ts +0 -0
  93. package/dist/cli/commands/policies/validate.js +0 -0
  94. package/dist/cli/commands/quotas/increase.d.ts +0 -0
  95. package/dist/cli/commands/quotas/increase.js +28 -8
  96. package/dist/cli/commands/quotas/index.d.ts +0 -0
  97. package/dist/cli/commands/quotas/index.js +8 -9
  98. package/dist/cli/commands/quotas/list.d.ts +0 -0
  99. package/dist/cli/commands/quotas/list.js +0 -0
  100. package/dist/cli/commands/regions.d.ts +0 -0
  101. package/dist/cli/commands/regions.js +6 -2
  102. package/dist/cli/commands/render/progress.d.ts +11 -7
  103. package/dist/cli/commands/render/progress.js +66 -48
  104. package/dist/cli/commands/render/render.d.ts +1 -1
  105. package/dist/cli/commands/render/render.js +80 -25
  106. package/dist/cli/commands/sites/create.d.ts +1 -1
  107. package/dist/cli/commands/sites/create.js +25 -26
  108. package/dist/cli/commands/sites/index.d.ts +1 -1
  109. package/dist/cli/commands/sites/index.js +15 -16
  110. package/dist/cli/commands/sites/ls.d.ts +0 -0
  111. package/dist/cli/commands/sites/ls.js +10 -12
  112. package/dist/cli/commands/sites/rm.d.ts +0 -0
  113. package/dist/cli/commands/sites/rm.js +8 -19
  114. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  115. package/dist/cli/commands/sites/rmall.js +7 -19
  116. package/dist/cli/commands/still.d.ts +1 -1
  117. package/dist/cli/commands/still.js +34 -27
  118. package/dist/cli/get-aws-region.d.ts +1 -1
  119. package/dist/cli/get-aws-region.js +2 -1
  120. package/dist/cli/help.d.ts +0 -0
  121. package/dist/cli/help.js +0 -0
  122. package/dist/cli/helpers/confirm.d.ts +0 -0
  123. package/dist/cli/helpers/confirm.js +0 -0
  124. package/dist/cli/helpers/date-string.d.ts +0 -0
  125. package/dist/cli/helpers/date-string.js +0 -0
  126. package/dist/cli/helpers/find-function-name.d.ts +0 -0
  127. package/dist/cli/helpers/find-function-name.js +37 -7
  128. package/dist/cli/helpers/progress-bar.d.ts +9 -3
  129. package/dist/cli/helpers/progress-bar.js +20 -8
  130. package/dist/cli/helpers/quit.d.ts +0 -0
  131. package/dist/cli/helpers/quit.js +0 -0
  132. package/dist/cli/helpers/yes-or-no.d.ts +0 -0
  133. package/dist/cli/helpers/yes-or-no.js +0 -0
  134. package/dist/cli/index.d.ts +1 -1
  135. package/dist/cli/index.js +30 -9
  136. package/dist/cli/is-cli.d.ts +0 -0
  137. package/dist/cli/is-cli.js +0 -0
  138. package/dist/cli/log.d.ts +0 -0
  139. package/dist/cli/log.js +0 -0
  140. package/dist/client.d.ts +10 -2
  141. package/dist/client.js +11 -1
  142. package/dist/defaults.d.ts +0 -0
  143. package/dist/defaults.js +5 -1
  144. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +2 -6
  145. package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -19
  146. package/dist/functions/chunk-optimization/types.d.ts +0 -11
  147. package/dist/functions/chunk-optimization/types.js +0 -0
  148. package/dist/functions/compositions.d.ts +8 -0
  149. package/dist/functions/compositions.js +58 -0
  150. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  151. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  152. package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
  153. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  154. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
  155. package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
  156. package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
  157. package/dist/functions/helpers/check-if-render-exists.js +14 -0
  158. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  159. package/dist/functions/helpers/clean-tmpdir.js +1 -1
  160. package/dist/functions/helpers/concat-videos.d.ts +19 -7
  161. package/dist/functions/helpers/concat-videos.js +41 -33
  162. package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
  163. package/dist/functions/helpers/create-post-render-data.js +5 -12
  164. package/dist/functions/helpers/delete-chunks.d.ts +3 -3
  165. package/dist/functions/helpers/delete-chunks.js +0 -0
  166. package/dist/functions/helpers/expected-out-name.d.ts +4 -2
  167. package/dist/functions/helpers/expected-out-name.js +27 -6
  168. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +5 -3
  169. package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
  170. package/dist/functions/helpers/format-costs-info.d.ts +1 -1
  171. package/dist/functions/helpers/format-costs-info.js +0 -0
  172. package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
  173. package/dist/functions/helpers/get-browser-instance.js +5 -3
  174. package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
  175. package/dist/functions/helpers/get-chromium-executable-path.js +3 -2
  176. package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
  177. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  178. package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
  179. package/dist/functions/helpers/get-current-architecture.js +0 -0
  180. package/dist/functions/helpers/get-current-region.d.ts +1 -1
  181. package/dist/functions/helpers/get-current-region.js +0 -0
  182. package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
  183. package/dist/functions/helpers/get-custom-out-name.js +31 -0
  184. package/dist/functions/helpers/get-encoding-metadata.d.ts +6 -9
  185. package/dist/functions/helpers/get-encoding-metadata.js +7 -17
  186. package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
  187. package/dist/functions/helpers/get-files-in-folder.js +0 -0
  188. package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
  189. package/dist/functions/helpers/get-files-to-delete.js +3 -3
  190. package/dist/functions/helpers/get-final-encoding-status.d.ts +3 -5
  191. package/dist/functions/helpers/get-final-encoding-status.js +1 -4
  192. package/dist/functions/helpers/get-folder-size.d.ts +0 -0
  193. package/dist/functions/helpers/get-folder-size.js +0 -0
  194. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +5 -4
  195. package/dist/functions/helpers/get-lambdas-invoked-stats.js +2 -10
  196. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +3 -2
  197. package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
  198. package/dist/functions/helpers/get-overall-progress.d.ts +2 -1
  199. package/dist/functions/helpers/get-overall-progress.js +7 -5
  200. package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
  201. package/dist/functions/helpers/get-post-render-data.js +0 -0
  202. package/dist/functions/helpers/get-progress.d.ts +6 -4
  203. package/dist/functions/helpers/get-progress.js +65 -46
  204. package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
  205. package/dist/functions/helpers/get-render-metadata.js +0 -0
  206. package/dist/functions/helpers/get-rendered-frames-progress.d.ts +8 -0
  207. package/dist/functions/helpers/get-rendered-frames-progress.js +37 -0
  208. package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
  209. package/dist/functions/helpers/get-retry-stats.js +1 -1
  210. package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
  211. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  212. package/dist/functions/helpers/inspect-errors.d.ts +3 -3
  213. package/dist/functions/helpers/inspect-errors.js +0 -0
  214. package/dist/functions/helpers/io.d.ts +24 -6
  215. package/dist/functions/helpers/io.js +36 -8
  216. package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
  217. package/dist/functions/helpers/is-enosp-err.js +0 -0
  218. package/dist/functions/helpers/is-warm.d.ts +0 -0
  219. package/dist/functions/helpers/is-warm.js +0 -0
  220. package/dist/functions/helpers/make-timeout-error.d.ts +8 -0
  221. package/dist/functions/helpers/make-timeout-error.js +35 -0
  222. package/dist/functions/helpers/make-timeout-message.d.ts +6 -0
  223. package/dist/functions/helpers/make-timeout-message.js +31 -0
  224. package/dist/functions/helpers/min-max.d.ts +1 -1
  225. package/dist/functions/helpers/min-max.js +1 -1
  226. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -2
  227. package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
  228. package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
  229. package/dist/functions/helpers/print-concurrency-curve.js +0 -0
  230. package/dist/functions/helpers/read-with-progress.d.ts +6 -3
  231. package/dist/functions/helpers/read-with-progress.js +16 -4
  232. package/dist/functions/helpers/timer.d.ts +0 -0
  233. package/dist/functions/helpers/timer.js +0 -0
  234. package/dist/functions/helpers/validate-composition.d.ts +13 -4
  235. package/dist/functions/helpers/validate-composition.js +15 -2
  236. package/dist/functions/helpers/write-lambda-error.d.ts +2 -2
  237. package/dist/functions/helpers/write-lambda-error.js +2 -0
  238. package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
  239. package/dist/functions/helpers/write-post-render-data.js +2 -0
  240. package/dist/functions/index.d.ts +3 -2
  241. package/dist/functions/index.js +29 -10
  242. package/dist/functions/info.d.ts +2 -2
  243. package/dist/functions/info.js +2 -1
  244. package/dist/functions/launch.d.ts +2 -1
  245. package/dist/functions/launch.js +369 -126
  246. package/dist/functions/progress.d.ts +2 -2
  247. package/dist/functions/progress.js +10 -1
  248. package/dist/functions/renderer.d.ts +1 -1
  249. package/dist/functions/renderer.js +144 -79
  250. package/dist/functions/start.d.ts +6 -2
  251. package/dist/functions/start.js +45 -6
  252. package/dist/functions/still.d.ts +1 -1
  253. package/dist/functions/still.js +81 -23
  254. package/dist/index.d.ts +57 -21
  255. package/dist/index.js +27 -5
  256. package/dist/internals.d.ts +1 -1
  257. package/dist/internals.js +0 -0
  258. package/dist/pricing/aws-regions.d.ts +2 -1
  259. package/dist/pricing/aws-regions.js +31 -1
  260. package/dist/pricing/price-per-1-s.d.ts +1 -1
  261. package/dist/pricing/price-per-1-s.js +413 -39
  262. package/dist/regions.d.ts +0 -0
  263. package/dist/regions.js +0 -0
  264. package/dist/shared/await.d.ts +0 -0
  265. package/dist/shared/await.js +0 -0
  266. package/dist/shared/aws-clients.d.ts +17 -3
  267. package/dist/shared/aws-clients.js +118 -26
  268. package/dist/shared/bundle-site.d.ts +2 -6
  269. package/dist/shared/bundle-site.js +0 -0
  270. package/dist/shared/call-lambda.d.ts +3 -3
  271. package/dist/shared/call-lambda.js +0 -0
  272. package/dist/shared/check-credentials.d.ts +0 -0
  273. package/dist/shared/check-credentials.js +5 -2
  274. package/dist/shared/chunk-progress.d.ts +9 -0
  275. package/dist/shared/chunk-progress.js +2034 -0
  276. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  277. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  278. package/dist/shared/constants.d.ts +124 -37
  279. package/dist/shared/constants.js +21 -10
  280. package/dist/shared/content-disposition-header.d.ts +7 -0
  281. package/dist/shared/content-disposition-header.js +19 -0
  282. package/dist/shared/convert-to-serve-url.d.ts +6 -2
  283. package/dist/shared/convert-to-serve-url.js +1 -5
  284. package/dist/shared/deserialize-input-props.d.ts +8 -0
  285. package/dist/shared/deserialize-input-props.js +26 -0
  286. package/dist/shared/docs-url.d.ts +0 -0
  287. package/dist/shared/docs-url.js +0 -0
  288. package/dist/shared/function-zip-path.d.ts +2 -1
  289. package/dist/shared/function-zip-path.js +3 -2
  290. package/dist/shared/get-account-id.d.ts +1 -1
  291. package/dist/shared/get-account-id.js +4 -6
  292. package/dist/shared/get-aws-urls.d.ts +14 -0
  293. package/dist/shared/get-aws-urls.js +12 -0
  294. package/dist/shared/get-etag.d.ts +1 -0
  295. package/dist/shared/get-etag.js +24 -0
  296. package/dist/shared/get-function-version.d.ts +2 -3
  297. package/dist/shared/get-function-version.js +0 -0
  298. package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
  299. package/dist/shared/get-most-expensive-chunks.js +26 -0
  300. package/dist/shared/get-s3-operations.d.ts +10 -0
  301. package/dist/shared/get-s3-operations.js +36 -0
  302. package/dist/shared/hosted-layers.d.ts +89 -3
  303. package/dist/shared/hosted-layers.js +443 -134
  304. package/dist/shared/invoke-webhook.d.ts +44 -0
  305. package/dist/shared/invoke-webhook.js +89 -0
  306. package/dist/shared/is-in-lambda.d.ts +0 -0
  307. package/dist/shared/is-in-lambda.js +5 -1
  308. package/dist/shared/lambda-version-string.d.ts +1 -0
  309. package/dist/shared/lambda-version-string.js +7 -0
  310. package/dist/shared/make-s3-key.d.ts +1 -0
  311. package/dist/shared/make-s3-key.js +11 -0
  312. package/dist/shared/make-s3-url.d.ts +1 -1
  313. package/dist/shared/make-s3-url.js +0 -0
  314. package/dist/shared/p-limit.d.ts +1 -0
  315. package/dist/shared/p-limit.js +57 -0
  316. package/dist/shared/parse-chunk-key.d.ts +4 -0
  317. package/dist/shared/parse-chunk-key.js +14 -0
  318. package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
  319. package/dist/shared/parse-lambda-initialized-key.js +0 -0
  320. package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
  321. package/dist/shared/parse-lambda-timings-key.js +0 -0
  322. package/dist/shared/random-hash.d.ts +2 -2
  323. package/dist/shared/random-hash.js +1 -1
  324. package/dist/shared/read-dir.d.ts +9 -0
  325. package/dist/shared/read-dir.js +57 -0
  326. package/dist/shared/return-values.d.ts +9 -7
  327. package/dist/shared/return-values.js +0 -1
  328. package/dist/shared/serialize-input-props.d.ts +8 -0
  329. package/dist/shared/serialize-input-props.js +42 -0
  330. package/dist/shared/sleep.d.ts +0 -0
  331. package/dist/shared/sleep.js +0 -0
  332. package/dist/shared/stream-to-string.d.ts +2 -1
  333. package/dist/shared/stream-to-string.js +0 -0
  334. package/dist/shared/truthy.d.ts +3 -0
  335. package/dist/shared/truthy.js +7 -0
  336. package/dist/shared/validate-architecture.d.ts +0 -0
  337. package/dist/shared/validate-architecture.js +0 -0
  338. package/dist/shared/validate-aws-region.d.ts +1 -1
  339. package/dist/shared/validate-aws-region.js +0 -0
  340. package/dist/shared/validate-bucketname.d.ts +5 -0
  341. package/dist/shared/validate-bucketname.js +19 -1
  342. package/dist/shared/validate-custom-role-arn.d.ts +1 -0
  343. package/dist/shared/validate-custom-role-arn.js +11 -0
  344. package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
  345. package/dist/shared/validate-disk-size-in-mb.js +0 -0
  346. package/dist/shared/validate-download-behavior.d.ts +1 -0
  347. package/dist/shared/validate-download-behavior.js +21 -0
  348. package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
  349. package/dist/shared/validate-frames-per-lambda.js +4 -3
  350. package/dist/shared/validate-lambda-codec.d.ts +4 -0
  351. package/dist/shared/validate-lambda-codec.js +30 -0
  352. package/dist/shared/validate-memory-size.d.ts +0 -0
  353. package/dist/shared/validate-memory-size.js +0 -0
  354. package/dist/shared/validate-outname.d.ts +3 -2
  355. package/dist/shared/validate-outname.js +13 -3
  356. package/dist/shared/validate-presign-expiration.d.ts +0 -2
  357. package/dist/shared/validate-presign-expiration.js +7 -7
  358. package/dist/shared/validate-privacy.d.ts +1 -1
  359. package/dist/shared/validate-privacy.js +2 -2
  360. package/dist/shared/validate-retention-period.d.ts +0 -0
  361. package/dist/shared/validate-retention-period.js +0 -0
  362. package/dist/shared/validate-retries.d.ts +0 -0
  363. package/dist/shared/validate-retries.js +0 -0
  364. package/dist/shared/validate-serveurl.d.ts +0 -0
  365. package/dist/shared/validate-serveurl.js +0 -0
  366. package/dist/shared/validate-site-name.d.ts +0 -0
  367. package/dist/shared/validate-site-name.js +0 -0
  368. package/dist/shared/validate-timeout.d.ts +0 -0
  369. package/dist/shared/validate-timeout.js +0 -0
  370. package/package.json +59 -34
  371. package/remotionlambda-arm64.zip +0 -0
  372. package/remotionlambda-x64.zip +0 -0
  373. package/remotionlambda.zip +0 -0
  374. package/.prettierrc.js +0 -14
  375. package/client.d.ts +0 -1
  376. package/client.js +0 -1
  377. package/dist/api/enable-s3-website.d.ts +0 -5
  378. package/dist/api/enable-s3-website.js +0 -16
  379. package/dist/cli/helpers/format-bytes.d.ts +0 -6
  380. package/dist/cli/helpers/format-bytes.js +0 -103
  381. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
  382. package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
  383. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
  384. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
  385. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
  386. package/dist/functions/chunk-optimization/collect-data.js +0 -27
  387. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
  388. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
  389. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
  390. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
  391. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
  392. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
  393. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
  394. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
  395. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
  396. package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
  397. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
  398. package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -45
  399. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
  400. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
  401. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
  402. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
  403. package/dist/shared/chunk.d.ts +0 -1
  404. package/dist/shared/chunk.js +0 -11
  405. package/tsconfig.json +0 -16
@@ -0,0 +1,7 @@
1
+ import type { AwsRegion } from '../client';
2
+ import type { SerializedInputProps } from './constants';
3
+ export declare const cleanupSerializedInputProps: ({ serialized, region, bucketName, }: {
4
+ serialized: SerializedInputProps;
5
+ region: AwsRegion;
6
+ bucketName: string;
7
+ }) => Promise<number>;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cleanupSerializedInputProps = void 0;
4
+ const io_1 = require("../functions/helpers/io");
5
+ const constants_1 = require("./constants");
6
+ const cleanupSerializedInputProps = async ({ serialized, region, bucketName, }) => {
7
+ if (serialized.type === 'payload') {
8
+ return 0;
9
+ }
10
+ const time = Date.now();
11
+ await (0, io_1.lambdaDeleteFile)({
12
+ bucketName,
13
+ key: (0, constants_1.inputPropsKey)(serialized.hash),
14
+ region,
15
+ customCredentials: null,
16
+ });
17
+ return Date.now() - time;
18
+ };
19
+ exports.cleanupSerializedInputProps = cleanupSerializedInputProps;
@@ -1,9 +1,13 @@
1
- import { ChromiumOptions } from '@remotion/renderer';
2
- import { Codec, FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile, VideoConfig } from 'remotion';
3
- import { ChunkRetry } from '../functions/helpers/get-retry-stats';
4
- import { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
5
- import { AwsRegion } from '../pricing/aws-regions';
6
- import { LambdaArchitecture } from './validate-architecture';
1
+ import type { AudioCodec, ChromiumOptions, Codec, FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile } from '@remotion/renderer';
2
+ import type { VideoConfig } from 'remotion';
3
+ import type { ChunkRetry } from '../functions/helpers/get-retry-stats';
4
+ import type { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
5
+ import type { AwsRegion } from '../pricing/aws-regions';
6
+ import type { CustomCredentials, CustomCredentialsWithoutSensitiveData } from './aws-clients';
7
+ import type { DownloadBehavior } from './content-disposition-header';
8
+ import type { ExpensiveChunk } from './get-most-expensive-chunks';
9
+ import type { LambdaArchitecture } from './validate-architecture';
10
+ import type { LambdaCodec } from './validate-lambda-codec';
7
11
  export declare const MIN_MEMORY = 512;
8
12
  export declare const MAX_MEMORY = 10240;
9
13
  export declare const DEFAULT_MEMORY_SIZE = 2048;
@@ -18,19 +22,21 @@ export declare const COMMAND_NOT_FOUND = "Command not found";
18
22
  export declare const DEFAULT_REGION: AwsRegion;
19
23
  export declare const DEFAULT_MAX_RETRIES = 1;
20
24
  export declare const MAX_FUNCTIONS_PER_RENDER = 200;
21
- export declare const DEFAULT_EPHEMERAL_STORAGE_IN_MB = 512;
25
+ export declare const DEFAULT_EPHEMERAL_STORAGE_IN_MB = 2048;
22
26
  export declare const MIN_EPHEMERAL_STORAGE_IN_MB = 512;
23
27
  export declare const MAX_EPHEMERAL_STORAGE_IN_MB = 10240;
24
28
  export declare const DEFAULT_OUTPUT_PRIVACY: Privacy;
25
29
  export declare const DEFAULT_CLOUDWATCH_RETENTION_PERIOD = 14;
30
+ export declare const ENCODING_PROGRESS_STEP_SIZE = 100;
26
31
  export declare const REMOTION_BUCKET_PREFIX = "remotionlambda-";
27
32
  export declare const RENDER_FN_PREFIX = "remotion-render-";
28
33
  export declare const LOG_GROUP_PREFIX = "/aws/lambda/";
29
34
  export declare const rendersPrefix: (renderId: string) => string;
30
35
  export declare const encodingProgressKey: (renderId: string) => string;
31
36
  export declare const renderMetadataKey: (renderId: string) => string;
32
- export declare const lambdaInitializedPrefix: (renderId: string) => string;
33
- export declare const lambdaInitializedKey: ({ renderId, chunk, attempt, }: {
37
+ export declare const initalizedMetadataKey: (renderId: string) => string;
38
+ export declare const lambdaChunkInitializedPrefix: (renderId: string) => string;
39
+ export declare const lambdaChunkInitializedKey: ({ renderId, chunk, attempt, }: {
34
40
  attempt: number;
35
41
  renderId: string;
36
42
  chunk: number;
@@ -58,17 +64,24 @@ export declare const getErrorFileName: ({ renderId, chunk, attempt, }: {
58
64
  export declare type OutNameInput = string | {
59
65
  bucketName: string;
60
66
  key: string;
67
+ s3OutputProvider?: CustomCredentials;
68
+ };
69
+ export declare type OutNameInputWithoutCredentials = string | {
70
+ bucketName: string;
71
+ key: string;
72
+ s3OutputProvider?: CustomCredentialsWithoutSensitiveData;
61
73
  };
62
74
  export declare type OutNameOutput = {
63
75
  renderBucketName: string;
64
76
  key: string;
77
+ customCredentials: CustomCredentials | null;
65
78
  };
66
- export declare const optimizationProfile: (siteId: string, compositionId: string) => string;
67
79
  export declare const getSitesKey: (siteId: string) => string;
68
80
  export declare const outName: (renderId: string, extension: string) => string;
69
81
  export declare const outStillName: (renderId: string, imageFormat: ImageFormat) => string;
70
82
  export declare const customOutName: (renderId: string, bucketName: string, name: OutNameInput) => OutNameOutput;
71
83
  export declare const postRenderDataKey: (renderId: string) => string;
84
+ export declare const inputPropsKey: (hash: string) => string;
72
85
  export declare const RENDERER_PATH_TOKEN = "remotion-bucket";
73
86
  export declare const CONCAT_FOLDER_TOKEN = "remotion-concat";
74
87
  export declare const REMOTION_CONCATED_TOKEN = "remotion-concated-token";
@@ -79,19 +92,33 @@ export declare enum LambdaRoutines {
79
92
  launch = "launch",
80
93
  status = "status",
81
94
  renderer = "renderer",
82
- still = "still"
95
+ still = "still",
96
+ compositions = "compositions"
83
97
  }
98
+ declare type WebhookOption = null | {
99
+ url: string;
100
+ secret: string | null;
101
+ };
102
+ export declare type SerializedInputProps = {
103
+ type: 'bucket-url';
104
+ hash: string;
105
+ } | {
106
+ type: 'payload';
107
+ payload: unknown;
108
+ };
84
109
  export declare type LambdaPayloads = {
85
110
  info: {
86
111
  type: LambdaRoutines.info;
87
112
  };
88
113
  start: {
114
+ rendererFunctionName: string | null;
89
115
  type: LambdaRoutines.start;
90
116
  serveUrl: string;
91
117
  composition: string;
92
118
  framesPerLambda: number | null;
93
- inputProps: unknown;
94
- codec: Codec;
119
+ inputProps: SerializedInputProps;
120
+ codec: LambdaCodec;
121
+ audioCodec: AudioCodec | null;
95
122
  imageFormat: ImageFormat;
96
123
  crf: number | undefined;
97
124
  envVariables: Record<string, string> | undefined;
@@ -106,17 +133,33 @@ export declare type LambdaPayloads = {
106
133
  timeoutInMilliseconds: number;
107
134
  chromiumOptions: ChromiumOptions;
108
135
  scale: number;
136
+ everyNthFrame: number;
137
+ numberOfGifLoops: number | null;
138
+ concurrencyPerLambda: number;
139
+ downloadBehavior: DownloadBehavior;
140
+ muted: boolean;
141
+ version: string;
142
+ overwrite: boolean;
143
+ audioBitrate: string | null;
144
+ videoBitrate: string | null;
145
+ webhook: WebhookOption;
146
+ forceHeight: number | null;
147
+ forceWidth: number | null;
148
+ bucketName: string | null;
149
+ dumpBrowserLogs: boolean;
109
150
  };
110
151
  launch: {
152
+ rendererFunctionName: string | null;
111
153
  type: LambdaRoutines.launch;
112
154
  serveUrl: string;
113
155
  composition: string;
114
156
  framesPerLambda: number | null;
115
157
  bucketName: string;
116
- inputProps: unknown;
158
+ inputProps: SerializedInputProps;
117
159
  renderId: string;
118
160
  imageFormat: ImageFormat;
119
- codec: Codec;
161
+ codec: LambdaCodec;
162
+ audioCodec: AudioCodec | null;
120
163
  crf: number | undefined;
121
164
  envVariables: Record<string, string> | undefined;
122
165
  pixelFormat: PixelFormat | undefined;
@@ -130,13 +173,28 @@ export declare type LambdaPayloads = {
130
173
  timeoutInMilliseconds: number;
131
174
  chromiumOptions: ChromiumOptions;
132
175
  scale: number;
176
+ everyNthFrame: number;
177
+ numberOfGifLoops: number | null;
178
+ concurrencyPerLambda: number;
179
+ downloadBehavior: DownloadBehavior;
180
+ muted: boolean;
181
+ overwrite: boolean;
182
+ audioBitrate: string | null;
183
+ videoBitrate: string | null;
184
+ webhook: WebhookOption;
185
+ forceHeight: number | null;
186
+ forceWidth: number | null;
187
+ dumpBrowserLogs: boolean;
133
188
  };
134
189
  status: {
135
190
  type: LambdaRoutines.status;
136
191
  bucketName: string;
137
192
  renderId: string;
193
+ version: string;
194
+ s3OutputProvider?: CustomCredentials;
138
195
  };
139
196
  renderer: {
197
+ concurrencyPerLambda: number;
140
198
  type: LambdaRoutines.renderer;
141
199
  serveUrl: string;
142
200
  frameRange: [number, number];
@@ -148,10 +206,10 @@ export declare type LambdaPayloads = {
148
206
  width: number;
149
207
  durationInFrames: number;
150
208
  retriesLeft: number;
151
- inputProps: unknown;
209
+ inputProps: SerializedInputProps;
152
210
  renderId: string;
153
211
  imageFormat: ImageFormat;
154
- codec: Codec;
212
+ codec: LambdaCodec;
155
213
  crf: number | undefined;
156
214
  proResProfile: ProResProfile | undefined;
157
215
  pixelFormat: PixelFormat | undefined;
@@ -163,12 +221,20 @@ export declare type LambdaPayloads = {
163
221
  timeoutInMilliseconds: number;
164
222
  chromiumOptions: ChromiumOptions;
165
223
  scale: number;
224
+ everyNthFrame: number;
225
+ muted: boolean;
226
+ audioBitrate: string | null;
227
+ videoBitrate: string | null;
228
+ launchFunctionConfig: {
229
+ version: string;
230
+ };
231
+ dumpBrowserLogs: boolean;
166
232
  };
167
233
  still: {
168
234
  type: LambdaRoutines.still;
169
235
  serveUrl: string;
170
236
  composition: string;
171
- inputProps: unknown;
237
+ inputProps: SerializedInputProps;
172
238
  imageFormat: ImageFormat;
173
239
  envVariables: Record<string, string> | undefined;
174
240
  attempt: number;
@@ -177,18 +243,33 @@ export declare type LambdaPayloads = {
177
243
  frame: number;
178
244
  privacy: Privacy;
179
245
  logLevel: LogLevel;
180
- outName: string | null;
246
+ outName: OutNameInput | null;
181
247
  timeoutInMilliseconds: number;
182
248
  chromiumOptions: ChromiumOptions;
183
249
  scale: number;
250
+ downloadBehavior: DownloadBehavior | null;
251
+ version: string;
252
+ forceHeight: number | null;
253
+ forceWidth: number | null;
254
+ bucketName: string | null;
255
+ dumpBrowserLogs: boolean;
256
+ };
257
+ compositions: {
258
+ type: LambdaRoutines.compositions;
259
+ version: string;
260
+ chromiumOptions: ChromiumOptions;
261
+ logLevel: LogLevel;
262
+ inputProps: SerializedInputProps;
263
+ envVariables: Record<string, string> | undefined;
264
+ timeoutInMilliseconds: number;
265
+ serveUrl: string;
266
+ bucketName: string | null;
267
+ dumpBrowserLogs: boolean;
184
268
  };
185
269
  };
186
270
  export declare type LambdaPayload = LambdaPayloads[LambdaRoutines];
187
271
  export declare type EncodingProgress = {
188
272
  framesEncoded: number;
189
- totalFrames: number | null;
190
- doneIn: number | null;
191
- timeToInvoke: number | null;
192
273
  };
193
274
  export declare type RenderMetadata = {
194
275
  siteId: string;
@@ -199,26 +280,28 @@ export declare type RenderMetadata = {
199
280
  estimatedRenderLambdaInvokations: number;
200
281
  compositionId: string;
201
282
  codec: Codec | null;
202
- usesOptimizationProfile: boolean;
283
+ audioCodec: AudioCodec | null;
203
284
  type: 'still' | 'video';
204
285
  imageFormat: ImageFormat;
205
- inputProps: unknown;
286
+ inputProps: SerializedInputProps;
206
287
  framesPerLambda: number;
207
288
  memorySizeInMb: number;
208
- lambdaVersion: LambdaVersions;
289
+ lambdaVersion: string;
209
290
  region: AwsRegion;
210
291
  renderId: string;
211
- outName: OutNameInput | undefined;
292
+ outName: OutNameInputWithoutCredentials | undefined;
293
+ privacy: Privacy;
294
+ frameRange: [number, number];
295
+ everyNthFrame: number;
296
+ };
297
+ export declare type AfterRenderCost = {
298
+ estimatedCost: number;
299
+ estimatedDisplayCost: string;
300
+ currency: string;
301
+ disclaimer: string;
212
302
  };
213
- export declare type LambdaVersions = '2022-05-11' | '2022-05-07' | '2022-05-06' | '2022-05-03' | '2022-04-20' | '2022-04-19' | '2022-04-18' | '2022-04-09' | '2022-04-08' | '2022-04-05' | '2022-04-02' | '2022-03-29' | '2022-03-17' | '2022-03-02' | '2022-03-01' | '2022-02-27' | '2022-02-14' | '2022-02-12' | '2022-02-09' | '2022-02-08' | '2022-02-07' | '2022-02-06' | '2022-02-05' | '2022-02-04' | '2022-02-03' | '2022-01-23' | '2022-01-19' | '2022-01-11' | '2022-01-10' | '2022-01-09' | '2022-01-06' | '2022-01-05' | '2021-12-22' | '2021-12-17' | '2021-12-16' | '2021-12-15' | '2021-12-14' | '2021-12-13' | '2021-12-11' | '2021-12-10' | '2021-12-04' | '2021-11-29' | '2021-11-27' | '2021-11-24' | '2021-11-22' | '2021-11-19' | '2021-11-18' | '2021-11-15' | '2021-11-12' | '2021-11-10' | '2021-11-01' | '2021-10-29' | '2021-10-27' | '2021-10-21' | '2021-10-19' | '2021-10-07' | '2021-10-03' | '2021-10-01' | '2021-09-15' | '2021-09-06' | '2021-08-06' | '2021-07-14' | '2021-07-05' | '2021-07-02' | '2021-06-23' | 'n/a';
214
- export declare const CURRENT_VERSION: LambdaVersions;
215
303
  export declare type PostRenderData = {
216
- cost: {
217
- estimatedCost: number;
218
- estimatedDisplayCost: string;
219
- currency: string;
220
- disclaimer: string;
221
- };
304
+ cost: AfterRenderCost;
222
305
  outputFile: string;
223
306
  outputSize: number;
224
307
  renderSize: number;
@@ -231,8 +314,8 @@ export declare type PostRenderData = {
231
314
  timeToEncode: number;
232
315
  timeToCleanUp: number;
233
316
  timeToRenderChunks: number;
234
- timeToInvokeLambdas: number;
235
317
  retriesInfo: ChunkRetry[];
318
+ mostExpensiveFrameRanges: ExpensiveChunk[] | undefined;
236
319
  };
237
320
  export declare type CostsInfo = {
238
321
  accruedSoFar: number;
@@ -264,10 +347,14 @@ export declare type RenderProgress = {
264
347
  lambdasInvoked: number;
265
348
  cleanup: CleanupInfo | null;
266
349
  timeToFinishChunks: number | null;
267
- timeToInvokeLambdas: number | null;
350
+ timeToEncode: number | null;
268
351
  overallProgress: number;
269
352
  retriesInfo: ChunkRetry[];
353
+ mostExpensiveFrameRanges: ExpensiveChunk[] | null;
354
+ framesRendered: number;
355
+ outputSizeInBytes: number | null;
270
356
  };
271
- export declare type Privacy = 'public' | 'private';
357
+ export declare type Privacy = 'public' | 'private' | 'no-acl';
272
358
  export declare const LAMBDA_CONCURRENCY_LIMIT_QUOTA = "L-B99A9384";
273
359
  export declare const LAMBDA_BURST_LIMIT_QUOTA = "L-548AE339";
360
+ export {};
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LAMBDA_BURST_LIMIT_QUOTA = exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = exports.CURRENT_VERSION = exports.LambdaRoutines = exports.REMOTION_FILELIST_TOKEN = exports.REMOTION_CONCATED_TOKEN = exports.CONCAT_FOLDER_TOKEN = exports.RENDERER_PATH_TOKEN = exports.postRenderDataKey = exports.customOutName = exports.outStillName = exports.outName = exports.getSitesKey = exports.optimizationProfile = exports.getErrorFileName = exports.getErrorKeyPrefix = exports.chunkKeyForIndex = exports.chunkKey = exports.lambdaTimingsKey = exports.lambdaLogsPrefix = exports.lambdaTimingsPrefixForChunk = exports.lambdaTimingsPrefix = exports.lambdaInitializedKey = exports.lambdaInitializedPrefix = exports.renderMetadataKey = exports.encodingProgressKey = exports.rendersPrefix = exports.LOG_GROUP_PREFIX = exports.RENDER_FN_PREFIX = exports.REMOTION_BUCKET_PREFIX = exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = exports.DEFAULT_OUTPUT_PRIVACY = exports.MAX_EPHEMERAL_STORAGE_IN_MB = exports.MIN_EPHEMERAL_STORAGE_IN_MB = exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = exports.MAX_FUNCTIONS_PER_RENDER = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_REGION = exports.COMMAND_NOT_FOUND = exports.BINARY_NAME = exports.DEFAULT_FRAMES_PER_LAMBDA = exports.MINIMUM_FRAMES_PER_LAMBDA = exports.MAX_TIMEOUT = exports.MIN_TIMEOUT = exports.DEFAULT_TIMEOUT = exports.DEFAULT_ARCHITECTURE = exports.DEFAULT_MEMORY_SIZE = exports.MAX_MEMORY = exports.MIN_MEMORY = void 0;
3
+ exports.LAMBDA_BURST_LIMIT_QUOTA = exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = exports.LambdaRoutines = exports.REMOTION_FILELIST_TOKEN = exports.REMOTION_CONCATED_TOKEN = exports.CONCAT_FOLDER_TOKEN = exports.RENDERER_PATH_TOKEN = exports.inputPropsKey = exports.postRenderDataKey = exports.customOutName = exports.outStillName = exports.outName = exports.getSitesKey = exports.getErrorFileName = exports.getErrorKeyPrefix = exports.chunkKeyForIndex = exports.chunkKey = exports.lambdaTimingsKey = exports.lambdaLogsPrefix = exports.lambdaTimingsPrefixForChunk = exports.lambdaTimingsPrefix = exports.lambdaChunkInitializedKey = exports.lambdaChunkInitializedPrefix = exports.initalizedMetadataKey = exports.renderMetadataKey = exports.encodingProgressKey = exports.rendersPrefix = exports.LOG_GROUP_PREFIX = exports.RENDER_FN_PREFIX = exports.REMOTION_BUCKET_PREFIX = exports.ENCODING_PROGRESS_STEP_SIZE = exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = exports.DEFAULT_OUTPUT_PRIVACY = exports.MAX_EPHEMERAL_STORAGE_IN_MB = exports.MIN_EPHEMERAL_STORAGE_IN_MB = exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = exports.MAX_FUNCTIONS_PER_RENDER = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_REGION = exports.COMMAND_NOT_FOUND = exports.BINARY_NAME = exports.DEFAULT_FRAMES_PER_LAMBDA = exports.MINIMUM_FRAMES_PER_LAMBDA = exports.MAX_TIMEOUT = exports.MIN_TIMEOUT = exports.DEFAULT_TIMEOUT = exports.DEFAULT_ARCHITECTURE = exports.DEFAULT_MEMORY_SIZE = exports.MAX_MEMORY = exports.MIN_MEMORY = void 0;
4
4
  exports.MIN_MEMORY = 512;
5
5
  exports.MAX_MEMORY = 10240;
6
6
  exports.DEFAULT_MEMORY_SIZE = 2048;
@@ -15,11 +15,12 @@ exports.COMMAND_NOT_FOUND = 'Command not found';
15
15
  exports.DEFAULT_REGION = 'us-east-1';
16
16
  exports.DEFAULT_MAX_RETRIES = 1;
17
17
  exports.MAX_FUNCTIONS_PER_RENDER = 200;
18
- exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = 512;
18
+ exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = 2048;
19
19
  exports.MIN_EPHEMERAL_STORAGE_IN_MB = 512;
20
20
  exports.MAX_EPHEMERAL_STORAGE_IN_MB = 10240;
21
21
  exports.DEFAULT_OUTPUT_PRIVACY = 'public';
22
22
  exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = 14;
23
+ exports.ENCODING_PROGRESS_STEP_SIZE = 100;
23
24
  exports.REMOTION_BUCKET_PREFIX = 'remotionlambda-';
24
25
  exports.RENDER_FN_PREFIX = 'remotion-render-';
25
26
  exports.LOG_GROUP_PREFIX = '/aws/lambda/';
@@ -29,10 +30,12 @@ const encodingProgressKey = (renderId) => `${(0, exports.rendersPrefix)(renderId
29
30
  exports.encodingProgressKey = encodingProgressKey;
30
31
  const renderMetadataKey = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/pre-render-metadata.json`;
31
32
  exports.renderMetadataKey = renderMetadataKey;
32
- const lambdaInitializedPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-initialized`;
33
- exports.lambdaInitializedPrefix = lambdaInitializedPrefix;
34
- const lambdaInitializedKey = ({ renderId, chunk, attempt, }) => `${(0, exports.lambdaInitializedPrefix)(renderId)}-chunk:${chunk}-attempt:${attempt}.txt`;
35
- exports.lambdaInitializedKey = lambdaInitializedKey;
33
+ const initalizedMetadataKey = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/initialized.txt`;
34
+ exports.initalizedMetadataKey = initalizedMetadataKey;
35
+ const lambdaChunkInitializedPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-initialized`;
36
+ exports.lambdaChunkInitializedPrefix = lambdaChunkInitializedPrefix;
37
+ const lambdaChunkInitializedKey = ({ renderId, chunk, attempt, }) => `${(0, exports.lambdaChunkInitializedPrefix)(renderId)}-chunk:${chunk}-attempt:${attempt}.txt`;
38
+ exports.lambdaChunkInitializedKey = lambdaChunkInitializedKey;
36
39
  const lambdaTimingsPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-timings/chunk:`;
37
40
  exports.lambdaTimingsPrefix = lambdaTimingsPrefix;
38
41
  const lambdaTimingsPrefixForChunk = (renderId, chunk) => (0, exports.lambdaTimingsPrefix)(renderId) + String(chunk).padStart(8, '0');
@@ -49,8 +52,6 @@ const getErrorKeyPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}
49
52
  exports.getErrorKeyPrefix = getErrorKeyPrefix;
50
53
  const getErrorFileName = ({ renderId, chunk, attempt, }) => (0, exports.getErrorKeyPrefix)(renderId) + ':chunk-' + chunk + ':attempt-' + attempt;
51
54
  exports.getErrorFileName = getErrorFileName;
52
- const optimizationProfile = (siteId, compositionId) => `optimization-profiles/${siteId}/${compositionId}/optimization-profile`;
53
- exports.optimizationProfile = optimizationProfile;
54
55
  const getSitesKey = (siteId) => `sites/${siteId}`;
55
56
  exports.getSitesKey = getSitesKey;
56
57
  const outName = (renderId, extension) => `${(0, exports.rendersPrefix)(renderId)}/out.${extension}`;
@@ -58,19 +59,29 @@ exports.outName = outName;
58
59
  const outStillName = (renderId, imageFormat) => `${(0, exports.rendersPrefix)(renderId)}/out.${imageFormat}`;
59
60
  exports.outStillName = outStillName;
60
61
  const customOutName = (renderId, bucketName, name) => {
62
+ var _a;
61
63
  if (typeof name === 'string') {
62
64
  return {
63
65
  renderBucketName: bucketName,
64
66
  key: `${(0, exports.rendersPrefix)(renderId)}/${name}`,
67
+ customCredentials: null,
65
68
  };
66
69
  }
67
- return { key: name.key, renderBucketName: name.bucketName };
70
+ return {
71
+ key: name.key,
72
+ renderBucketName: name.bucketName,
73
+ customCredentials: (_a = name.s3OutputProvider) !== null && _a !== void 0 ? _a : null,
74
+ };
68
75
  };
69
76
  exports.customOutName = customOutName;
70
77
  const postRenderDataKey = (renderId) => {
71
78
  return `${(0, exports.rendersPrefix)(renderId)}/post-render-metadata.json`;
72
79
  };
73
80
  exports.postRenderDataKey = postRenderDataKey;
81
+ const inputPropsKey = (hash) => {
82
+ return `input-props/${hash}.json`;
83
+ };
84
+ exports.inputPropsKey = inputPropsKey;
74
85
  exports.RENDERER_PATH_TOKEN = 'remotion-bucket';
75
86
  exports.CONCAT_FOLDER_TOKEN = 'remotion-concat';
76
87
  exports.REMOTION_CONCATED_TOKEN = 'remotion-concated-token';
@@ -83,7 +94,7 @@ var LambdaRoutines;
83
94
  LambdaRoutines["status"] = "status";
84
95
  LambdaRoutines["renderer"] = "renderer";
85
96
  LambdaRoutines["still"] = "still";
97
+ LambdaRoutines["compositions"] = "compositions";
86
98
  })(LambdaRoutines = exports.LambdaRoutines || (exports.LambdaRoutines = {}));
87
- exports.CURRENT_VERSION = '2022-05-11';
88
99
  exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = 'L-B99A9384';
89
100
  exports.LAMBDA_BURST_LIMIT_QUOTA = 'L-548AE339';
@@ -0,0 +1,7 @@
1
+ export declare type DownloadBehavior = {
2
+ type: 'play-in-browser';
3
+ } | {
4
+ type: 'download';
5
+ fileName: string | null;
6
+ };
7
+ export declare const getContentDispositionHeader: (behavior: DownloadBehavior | null) => string | undefined;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ // By setting the Content-Disposition header in an S3 object,
3
+ // you can control if the user downloads the item if you
4
+ // visit the link
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getContentDispositionHeader = void 0;
7
+ const getContentDispositionHeader = (behavior) => {
8
+ if (behavior === null) {
9
+ return undefined;
10
+ }
11
+ if (behavior.type === 'play-in-browser') {
12
+ return undefined;
13
+ }
14
+ if (behavior.fileName === null) {
15
+ return `attachment`;
16
+ }
17
+ return `attachment; filename="${behavior.fileName}"`;
18
+ };
19
+ exports.getContentDispositionHeader = getContentDispositionHeader;
@@ -1,2 +1,6 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- export declare const convertToServeUrl: (urlOrId: string, region: AwsRegion) => Promise<string>;
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ export declare const convertToServeUrl: ({ urlOrId, region, bucketName, }: {
3
+ urlOrId: string;
4
+ region: AwsRegion;
5
+ bucketName: string;
6
+ }) => string;
@@ -1,18 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.convertToServeUrl = void 0;
4
- const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
5
4
  const docs_url_1 = require("./docs-url");
6
- const convertToServeUrl = async (urlOrId, region) => {
5
+ const convertToServeUrl = ({ urlOrId, region, bucketName, }) => {
7
6
  if (urlOrId.startsWith('src/')) {
8
7
  throw new Error(`Remotion Lambda can only render based on a URL in the cloud. It seems like you passed a local file: ${urlOrId}. Read the setup guide for Remotion Lambda ${docs_url_1.DOCS_URL}/docs/lambda/setup`);
9
8
  }
10
9
  if (urlOrId.startsWith('http://') || urlOrId.startsWith('https://')) {
11
10
  return urlOrId;
12
11
  }
13
- const { bucketName } = await (0, get_or_create_bucket_1.getOrCreateBucket)({
14
- region,
15
- });
16
12
  return `https://${bucketName}.s3.${region}.amazonaws.com/sites/${urlOrId}/index.html`;
17
13
  };
18
14
  exports.convertToServeUrl = convertToServeUrl;
@@ -0,0 +1,8 @@
1
+ import type { AwsRegion } from '../client';
2
+ import type { SerializedInputProps } from './constants';
3
+ export declare const deserializeInputProps: ({ serialized, region, bucketName, expectedBucketOwner, }: {
4
+ serialized: SerializedInputProps;
5
+ region: AwsRegion;
6
+ bucketName: string;
7
+ expectedBucketOwner: string;
8
+ }) => Promise<object>;
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deserializeInputProps = void 0;
4
+ const io_1 = require("../functions/helpers/io");
5
+ const constants_1 = require("./constants");
6
+ const stream_to_string_1 = require("./stream-to-string");
7
+ const deserializeInputProps = async ({ serialized, region, bucketName, expectedBucketOwner, }) => {
8
+ if (serialized.type === 'payload') {
9
+ return JSON.parse(serialized.payload);
10
+ }
11
+ try {
12
+ const response = await (0, io_1.lambdaReadFile)({
13
+ bucketName,
14
+ expectedBucketOwner,
15
+ key: (0, constants_1.inputPropsKey)(serialized.hash),
16
+ region,
17
+ });
18
+ const body = await (0, stream_to_string_1.streamToString)(response);
19
+ const payload = JSON.parse(body);
20
+ return payload;
21
+ }
22
+ catch (err) {
23
+ throw new Error(`Failed to parse input props that were serialized: ${err.stack}`);
24
+ }
25
+ };
26
+ exports.deserializeInputProps = deserializeInputProps;
File without changes
File without changes
@@ -1 +1,2 @@
1
- export declare const FUNCTION_ZIP: string;
1
+ export declare const FUNCTION_ZIP_ARM64: string;
2
+ export declare const FUNCTION_ZIP_X86_64: string;
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.FUNCTION_ZIP = void 0;
6
+ exports.FUNCTION_ZIP_X86_64 = exports.FUNCTION_ZIP_ARM64 = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
- exports.FUNCTION_ZIP = path_1.default.join(path_1.default.resolve(__dirname, '..', '..'), `remotionlambda.zip`);
8
+ exports.FUNCTION_ZIP_ARM64 = path_1.default.join(path_1.default.resolve(__dirname, '..', '..'), `remotionlambda-arm64.zip`);
9
+ exports.FUNCTION_ZIP_X86_64 = path_1.default.join(path_1.default.resolve(__dirname, '..', '..'), `remotionlambda-x64.zip`);
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare const getAccountId: (options: {
3
3
  region: AwsRegion;
4
4
  }) => Promise<string>;
@@ -1,17 +1,15 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getAccountId = void 0;
4
- const client_iam_1 = require("@aws-sdk/client-iam");
4
+ const client_sts_1 = require("@aws-sdk/client-sts");
5
5
  const aws_clients_1 = require("./aws-clients");
6
6
  const validate_aws_region_1 = require("./validate-aws-region");
7
7
  const getAccountId = async (options) => {
8
- var _a, _b;
9
8
  (0, validate_aws_region_1.validateAwsRegion)(options.region);
10
- const user = await (0, aws_clients_1.getIamClient)(options.region).send(new client_iam_1.GetUserCommand({}));
11
- const accountId = (_b = (_a = user.User) === null || _a === void 0 ? void 0 : _a.Arn) === null || _b === void 0 ? void 0 : _b.match(/aws:iam::([0-9]+)/);
12
- if (!accountId) {
9
+ const callerIdentity = await (0, aws_clients_1.getStsClient)(options.region).send(new client_sts_1.GetCallerIdentityCommand({}));
10
+ if (!callerIdentity.Account) {
13
11
  throw new Error('Cannot get account ID');
14
12
  }
15
- return accountId[1];
13
+ return callerIdentity.Account;
16
14
  };
17
15
  exports.getAccountId = getAccountId;
@@ -0,0 +1,14 @@
1
+ import type { AwsRegion } from '../client';
2
+ import type { LambdaRoutines } from './constants';
3
+ export declare const getCloudwatchStreamUrl: ({ region, functionName, method, renderId, rendererFunctionName, }: {
4
+ region: AwsRegion;
5
+ functionName: string;
6
+ rendererFunctionName: string | null;
7
+ method: LambdaRoutines;
8
+ renderId: string;
9
+ }) => string;
10
+ export declare const getS3RenderUrl: ({ renderId, region, bucketName, }: {
11
+ renderId: string;
12
+ region: AwsRegion;
13
+ bucketName: string;
14
+ }) => string;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getS3RenderUrl = exports.getCloudwatchStreamUrl = void 0;
4
+ const getCloudwatchStreamUrl = ({ region, functionName, method, renderId, rendererFunctionName, }) => {
5
+ const functionNameToUse = rendererFunctionName !== null && rendererFunctionName !== void 0 ? rendererFunctionName : functionName;
6
+ return `https://${region}.console.aws.amazon.com/cloudwatch/home?region=${region}#logsV2:log-groups/log-group/$252Faws$252Flambda$252F${functionNameToUse}/log-events$3FfilterPattern$3D$2522method$253D${method}$252CrenderId$253D${renderId}$2522`;
7
+ };
8
+ exports.getCloudwatchStreamUrl = getCloudwatchStreamUrl;
9
+ const getS3RenderUrl = ({ renderId, region, bucketName, }) => {
10
+ return `https://s3.console.aws.amazon.com/s3/buckets/${bucketName}?region=${region}&prefix=renders/${renderId}/`;
11
+ };
12
+ exports.getS3RenderUrl = getS3RenderUrl;
@@ -0,0 +1 @@
1
+ export declare const getEtagOfFile: (filePath: string) => Promise<string>;
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getEtagOfFile = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const crypto_1 = __importDefault(require("crypto"));
9
+ const chunk = 1024 * 1024 * 5; // 5MB
10
+ const md5 = (data) => crypto_1.default.createHash('md5').update(data).digest('hex');
11
+ const getEtagOfFile = async (filePath) => {
12
+ const stream = await fs_1.default.promises.readFile(filePath);
13
+ if (stream.length <= chunk) {
14
+ return `"${md5(stream)}"`;
15
+ }
16
+ const md5Chunks = [];
17
+ const chunksNumber = Math.ceil(stream.length / chunk);
18
+ for (let i = 0; i < chunksNumber; i++) {
19
+ const chunkStream = stream.slice(i * chunk, (i + 1) * chunk);
20
+ md5Chunks.push(md5(chunkStream));
21
+ }
22
+ return `"${md5(Buffer.from(md5Chunks.join(''), 'hex'))}-${chunksNumber}"`;
23
+ };
24
+ exports.getEtagOfFile = getEtagOfFile;
@@ -1,6 +1,5 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { LambdaVersions } from './constants';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
3
2
  export declare const getFunctionVersion: ({ functionName, region, }: {
4
3
  functionName: string;
5
4
  region: AwsRegion;
6
- }) => Promise<LambdaVersions>;
5
+ }) => Promise<string>;
File without changes