@remotion/lambda 3.2.22 → 3.2.23-ensure-ffmpeg.123

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 (371) 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 +0 -0
  4. package/dist/admin/make-layer-public.d.ts +0 -0
  5. package/dist/admin/make-layer-public.js +0 -0
  6. package/dist/api/bucket-exists.d.ts +0 -0
  7. package/dist/api/bucket-exists.js +1 -1
  8. package/dist/api/clean-items.d.ts +0 -0
  9. package/dist/api/clean-items.js +1 -1
  10. package/dist/api/create-bucket.d.ts +0 -0
  11. package/dist/api/create-bucket.js +1 -1
  12. package/dist/api/create-function.d.ts +0 -0
  13. package/dist/api/create-function.js +0 -0
  14. package/dist/api/delete-function.d.ts +0 -0
  15. package/dist/api/delete-function.js +0 -0
  16. package/dist/api/delete-render.d.ts +19 -0
  17. package/dist/api/delete-render.js +66 -0
  18. package/dist/api/delete-site.d.ts +0 -0
  19. package/dist/api/delete-site.js +0 -5
  20. package/dist/api/deploy-function.d.ts +0 -0
  21. package/dist/api/deploy-function.js +0 -0
  22. package/dist/api/deploy-site.d.ts +0 -0
  23. package/dist/api/deploy-site.js +0 -0
  24. package/dist/api/download-media.d.ts +13 -0
  25. package/dist/api/download-media.js +15 -3
  26. package/dist/api/enable-s3-website.d.ts +0 -0
  27. package/dist/api/enable-s3-website.js +1 -1
  28. package/dist/api/estimate-price.d.ts +0 -0
  29. package/dist/api/estimate-price.js +0 -0
  30. package/dist/api/get-aws-client.d.ts +4 -2
  31. package/dist/api/get-aws-client.js +7 -2
  32. package/dist/api/get-buckets.d.ts +0 -0
  33. package/dist/api/get-buckets.js +2 -2
  34. package/dist/api/get-function-info.d.ts +0 -0
  35. package/dist/api/get-function-info.js +0 -0
  36. package/dist/api/get-functions.d.ts +0 -0
  37. package/dist/api/get-functions.js +0 -0
  38. package/dist/api/get-or-create-bucket.d.ts +0 -0
  39. package/dist/api/get-or-create-bucket.js +0 -0
  40. package/dist/api/get-regions.d.ts +0 -0
  41. package/dist/api/get-regions.js +0 -0
  42. package/dist/api/get-render-progress.d.ts +4 -1
  43. package/dist/api/get-render-progress.js +3 -1
  44. package/dist/api/get-sites.d.ts +0 -0
  45. package/dist/api/get-sites.js +0 -0
  46. package/dist/api/iam-validation/role-permissions.d.ts +0 -0
  47. package/dist/api/iam-validation/role-permissions.js +0 -0
  48. package/dist/api/iam-validation/simulate-rule.d.ts +0 -0
  49. package/dist/api/iam-validation/simulate-rule.js +0 -0
  50. package/dist/api/iam-validation/simulate.d.ts +0 -0
  51. package/dist/api/iam-validation/simulate.js +0 -0
  52. package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
  53. package/dist/api/iam-validation/suggested-policy.js +0 -0
  54. package/dist/api/iam-validation/user-permissions.d.ts +0 -0
  55. package/dist/api/iam-validation/user-permissions.js +0 -0
  56. package/dist/api/mock-functions.d.ts +0 -0
  57. package/dist/api/mock-functions.js +0 -0
  58. package/dist/api/presign-url.d.ts +0 -0
  59. package/dist/api/presign-url.js +1 -1
  60. package/dist/api/render-media-on-lambda.d.ts +21 -10
  61. package/dist/api/render-media-on-lambda.js +32 -12
  62. package/dist/api/render-still-on-lambda.d.ts +3 -1
  63. package/dist/api/render-still-on-lambda.js +12 -4
  64. package/dist/api/upload-dir.d.ts +0 -0
  65. package/dist/api/upload-dir.js +1 -1
  66. package/dist/api/validate-webhook-signature.d.ts +13 -0
  67. package/dist/api/validate-webhook-signature.js +32 -0
  68. package/dist/cli/args.d.ts +4 -2
  69. package/dist/cli/args.js +1 -5
  70. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  71. package/dist/cli/commands/functions/deploy.js +0 -0
  72. package/dist/cli/commands/functions/index.d.ts +0 -0
  73. package/dist/cli/commands/functions/index.js +0 -0
  74. package/dist/cli/commands/functions/ls.d.ts +0 -0
  75. package/dist/cli/commands/functions/ls.js +0 -0
  76. package/dist/cli/commands/functions/rm.d.ts +0 -0
  77. package/dist/cli/commands/functions/rm.js +0 -0
  78. package/dist/cli/commands/functions/rmall.d.ts +0 -0
  79. package/dist/cli/commands/functions/rmall.js +0 -0
  80. package/dist/cli/commands/policies/policies.d.ts +0 -0
  81. package/dist/cli/commands/policies/policies.js +0 -0
  82. package/dist/cli/commands/policies/role.d.ts +0 -0
  83. package/dist/cli/commands/policies/role.js +0 -0
  84. package/dist/cli/commands/policies/user.d.ts +0 -0
  85. package/dist/cli/commands/policies/user.js +0 -0
  86. package/dist/cli/commands/policies/validate.d.ts +0 -0
  87. package/dist/cli/commands/policies/validate.js +0 -0
  88. package/dist/cli/commands/quotas/increase.d.ts +0 -0
  89. package/dist/cli/commands/quotas/increase.js +0 -0
  90. package/dist/cli/commands/quotas/index.d.ts +0 -0
  91. package/dist/cli/commands/quotas/index.js +0 -0
  92. package/dist/cli/commands/quotas/list.d.ts +0 -0
  93. package/dist/cli/commands/quotas/list.js +0 -0
  94. package/dist/cli/commands/regions.d.ts +0 -0
  95. package/dist/cli/commands/regions.js +0 -0
  96. package/dist/cli/commands/render/progress.d.ts +2 -1
  97. package/dist/cli/commands/render/progress.js +10 -3
  98. package/dist/cli/commands/render/render.d.ts +1 -1
  99. package/dist/cli/commands/render/render.js +44 -15
  100. package/dist/cli/commands/sites/create.d.ts +1 -1
  101. package/dist/cli/commands/sites/create.js +6 -4
  102. package/dist/cli/commands/sites/index.d.ts +1 -1
  103. package/dist/cli/commands/sites/index.js +2 -2
  104. package/dist/cli/commands/sites/ls.d.ts +0 -0
  105. package/dist/cli/commands/sites/ls.js +0 -0
  106. package/dist/cli/commands/sites/rm.d.ts +0 -0
  107. package/dist/cli/commands/sites/rm.js +0 -0
  108. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  109. package/dist/cli/commands/sites/rmall.js +0 -0
  110. package/dist/cli/commands/still.d.ts +1 -1
  111. package/dist/cli/commands/still.js +36 -18
  112. package/dist/cli/get-aws-region.d.ts +0 -0
  113. package/dist/cli/get-aws-region.js +0 -0
  114. package/dist/cli/help.d.ts +0 -0
  115. package/dist/cli/help.js +0 -0
  116. package/dist/cli/helpers/confirm.d.ts +0 -0
  117. package/dist/cli/helpers/confirm.js +0 -0
  118. package/dist/cli/helpers/date-string.d.ts +0 -0
  119. package/dist/cli/helpers/date-string.js +0 -0
  120. package/dist/cli/helpers/find-function-name.d.ts +0 -0
  121. package/dist/cli/helpers/find-function-name.js +0 -0
  122. package/dist/cli/helpers/progress-bar.d.ts +0 -0
  123. package/dist/cli/helpers/progress-bar.js +0 -0
  124. package/dist/cli/helpers/quit.d.ts +0 -0
  125. package/dist/cli/helpers/quit.js +0 -0
  126. package/dist/cli/helpers/yes-or-no.d.ts +0 -0
  127. package/dist/cli/helpers/yes-or-no.js +0 -0
  128. package/dist/cli/index.d.ts +1 -1
  129. package/dist/cli/index.js +10 -8
  130. package/dist/cli/is-cli.d.ts +0 -0
  131. package/dist/cli/is-cli.js +0 -0
  132. package/dist/cli/log.d.ts +0 -0
  133. package/dist/cli/log.js +0 -0
  134. package/dist/client.d.ts +4 -2
  135. package/dist/client.js +3 -1
  136. package/dist/defaults.d.ts +0 -0
  137. package/dist/defaults.js +0 -0
  138. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -0
  139. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -0
  140. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -0
  141. package/dist/functions/chunk-optimization/collect-data.js +0 -0
  142. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -0
  143. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -0
  144. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -0
  145. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -0
  146. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -0
  147. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -0
  148. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -0
  149. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -0
  150. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -0
  151. package/dist/functions/chunk-optimization/optimize-profile.js +0 -0
  152. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +1 -5
  153. package/dist/functions/chunk-optimization/plan-frame-ranges.js +1 -14
  154. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -0
  155. package/dist/functions/chunk-optimization/s3-optimization-file.js +1 -0
  156. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -0
  157. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -0
  158. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -0
  159. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -0
  160. package/dist/functions/chunk-optimization/types.d.ts +0 -11
  161. package/dist/functions/chunk-optimization/types.js +0 -0
  162. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  163. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  164. package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
  165. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  166. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +0 -0
  167. package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
  168. package/dist/functions/helpers/check-if-render-exists.d.ts +0 -0
  169. package/dist/functions/helpers/check-if-render-exists.js +0 -0
  170. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  171. package/dist/functions/helpers/clean-tmpdir.js +1 -1
  172. package/dist/functions/helpers/concat-videos.d.ts +6 -1
  173. package/dist/functions/helpers/concat-videos.js +27 -9
  174. package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
  175. package/dist/functions/helpers/create-post-render-data.js +0 -0
  176. package/dist/functions/helpers/delete-chunks.d.ts +0 -0
  177. package/dist/functions/helpers/delete-chunks.js +0 -0
  178. package/dist/functions/helpers/expected-out-name.d.ts +4 -2
  179. package/dist/functions/helpers/expected-out-name.js +26 -5
  180. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +3 -1
  181. package/dist/functions/helpers/find-output-file-in-bucket.js +12 -10
  182. package/dist/functions/helpers/format-costs-info.d.ts +0 -0
  183. package/dist/functions/helpers/format-costs-info.js +0 -0
  184. package/dist/functions/helpers/get-browser-instance.d.ts +0 -0
  185. package/dist/functions/helpers/get-browser-instance.js +0 -0
  186. package/dist/functions/helpers/get-chromium-executable-path.d.ts +0 -0
  187. package/dist/functions/helpers/get-chromium-executable-path.js +0 -0
  188. package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
  189. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  190. package/dist/functions/helpers/get-current-architecture.d.ts +0 -0
  191. package/dist/functions/helpers/get-current-architecture.js +0 -0
  192. package/dist/functions/helpers/get-current-region.d.ts +0 -0
  193. package/dist/functions/helpers/get-current-region.js +0 -0
  194. package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
  195. package/dist/functions/helpers/get-custom-out-name.js +31 -0
  196. package/dist/functions/helpers/get-encoding-metadata.d.ts +0 -0
  197. package/dist/functions/helpers/get-encoding-metadata.js +0 -0
  198. package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
  199. package/dist/functions/helpers/get-files-in-folder.js +0 -0
  200. package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
  201. package/dist/functions/helpers/get-files-to-delete.js +0 -0
  202. package/dist/functions/helpers/get-final-encoding-status.d.ts +0 -0
  203. package/dist/functions/helpers/get-final-encoding-status.js +0 -0
  204. package/dist/functions/helpers/get-folder-size.d.ts +0 -0
  205. package/dist/functions/helpers/get-folder-size.js +0 -0
  206. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +0 -0
  207. package/dist/functions/helpers/get-lambdas-invoked-stats.js +0 -0
  208. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +2 -1
  209. package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
  210. package/dist/functions/helpers/get-overall-progress.d.ts +0 -0
  211. package/dist/functions/helpers/get-overall-progress.js +0 -0
  212. package/dist/functions/helpers/get-post-render-data.d.ts +0 -0
  213. package/dist/functions/helpers/get-post-render-data.js +0 -0
  214. package/dist/functions/helpers/get-progress.d.ts +4 -2
  215. package/dist/functions/helpers/get-progress.js +8 -6
  216. package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
  217. package/dist/functions/helpers/get-render-metadata.js +0 -0
  218. package/dist/functions/helpers/get-retry-stats.d.ts +0 -0
  219. package/dist/functions/helpers/get-retry-stats.js +0 -0
  220. package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
  221. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  222. package/dist/functions/helpers/inspect-errors.d.ts +0 -0
  223. package/dist/functions/helpers/inspect-errors.js +0 -0
  224. package/dist/functions/helpers/io.d.ts +13 -2
  225. package/dist/functions/helpers/io.js +19 -9
  226. package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
  227. package/dist/functions/helpers/is-enosp-err.js +0 -0
  228. package/dist/functions/helpers/is-warm.d.ts +0 -0
  229. package/dist/functions/helpers/is-warm.js +0 -0
  230. package/dist/functions/helpers/min-max.d.ts +0 -0
  231. package/dist/functions/helpers/min-max.js +0 -0
  232. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +0 -0
  233. package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
  234. package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
  235. package/dist/functions/helpers/print-concurrency-curve.js +0 -0
  236. package/dist/functions/helpers/read-with-progress.d.ts +3 -1
  237. package/dist/functions/helpers/read-with-progress.js +3 -3
  238. package/dist/functions/helpers/timer.d.ts +0 -0
  239. package/dist/functions/helpers/timer.js +0 -0
  240. package/dist/functions/helpers/validate-composition.d.ts +3 -1
  241. package/dist/functions/helpers/validate-composition.js +6 -2
  242. package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
  243. package/dist/functions/helpers/write-lambda-error.js +1 -0
  244. package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
  245. package/dist/functions/helpers/write-post-render-data.js +1 -0
  246. package/dist/functions/index.d.ts +0 -0
  247. package/dist/functions/index.js +6 -3
  248. package/dist/functions/info.d.ts +0 -0
  249. package/dist/functions/info.js +0 -0
  250. package/dist/functions/launch.d.ts +1 -0
  251. package/dist/functions/launch.js +237 -73
  252. package/dist/functions/progress.d.ts +1 -1
  253. package/dist/functions/progress.js +5 -3
  254. package/dist/functions/renderer.d.ts +0 -0
  255. package/dist/functions/renderer.js +25 -2
  256. package/dist/functions/start.d.ts +0 -0
  257. package/dist/functions/start.js +9 -2
  258. package/dist/functions/still.d.ts +0 -0
  259. package/dist/functions/still.js +34 -10
  260. package/dist/index.d.ts +8 -2
  261. package/dist/index.js +5 -1
  262. package/dist/internals.d.ts +1 -1
  263. package/dist/internals.js +0 -0
  264. package/dist/pricing/aws-regions.d.ts +0 -0
  265. package/dist/pricing/aws-regions.js +0 -0
  266. package/dist/pricing/price-per-1-s.d.ts +0 -0
  267. package/dist/pricing/price-per-1-s.js +0 -0
  268. package/dist/regions.d.ts +0 -0
  269. package/dist/regions.js +0 -0
  270. package/dist/shared/await.d.ts +0 -0
  271. package/dist/shared/await.js +0 -0
  272. package/dist/shared/aws-clients.d.ts +13 -2
  273. package/dist/shared/aws-clients.js +56 -26
  274. package/dist/shared/bundle-site.d.ts +0 -0
  275. package/dist/shared/bundle-site.js +0 -0
  276. package/dist/shared/call-lambda.d.ts +0 -0
  277. package/dist/shared/call-lambda.js +0 -0
  278. package/dist/shared/check-credentials.d.ts +0 -0
  279. package/dist/shared/check-credentials.js +0 -0
  280. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  281. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  282. package/dist/shared/constants.d.ts +45 -8
  283. package/dist/shared/constants.js +12 -4
  284. package/dist/shared/content-disposition-header.d.ts +0 -0
  285. package/dist/shared/content-disposition-header.js +0 -0
  286. package/dist/shared/convert-to-serve-url.d.ts +0 -0
  287. package/dist/shared/convert-to-serve-url.js +0 -0
  288. package/dist/shared/deserialize-input-props.d.ts +8 -0
  289. package/dist/shared/deserialize-input-props.js +26 -0
  290. package/dist/shared/docs-url.d.ts +0 -0
  291. package/dist/shared/docs-url.js +0 -0
  292. package/dist/shared/function-zip-path.d.ts +0 -0
  293. package/dist/shared/function-zip-path.js +0 -0
  294. package/dist/shared/get-account-id.d.ts +0 -0
  295. package/dist/shared/get-account-id.js +0 -0
  296. package/dist/{cli/helpers/get-cloudwatch-stream-url.d.ts → shared/get-aws-url.d.ts} +2 -2
  297. package/dist/{cli/helpers/get-cloudwatch-stream-url.js → shared/get-aws-url.js} +0 -0
  298. package/dist/shared/get-aws-urls.d.ts +13 -0
  299. package/dist/shared/get-aws-urls.js +11 -0
  300. package/dist/shared/get-cloudwatch-stream-url.d.ts +0 -0
  301. package/dist/shared/get-cloudwatch-stream-url.js +0 -0
  302. package/dist/shared/get-function-version.d.ts +0 -0
  303. package/dist/shared/get-function-version.js +0 -0
  304. package/dist/shared/get-most-expensive-chunks.d.ts +0 -0
  305. package/dist/shared/get-most-expensive-chunks.js +0 -0
  306. package/dist/shared/hosted-layers.d.ts +0 -0
  307. package/dist/shared/hosted-layers.js +0 -0
  308. package/dist/shared/invoke-webhook.d.ts +44 -0
  309. package/dist/shared/invoke-webhook.js +89 -0
  310. package/dist/shared/is-in-lambda.d.ts +0 -0
  311. package/dist/shared/is-in-lambda.js +0 -0
  312. package/dist/shared/lambda-version-string.d.ts +0 -0
  313. package/dist/shared/lambda-version-string.js +0 -0
  314. package/dist/shared/make-s3-key.d.ts +0 -0
  315. package/dist/shared/make-s3-key.js +0 -0
  316. package/dist/shared/make-s3-url.d.ts +0 -0
  317. package/dist/shared/make-s3-url.js +0 -0
  318. package/dist/shared/p-limit.d.ts +0 -0
  319. package/dist/shared/p-limit.js +0 -0
  320. package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
  321. package/dist/shared/parse-lambda-initialized-key.js +0 -0
  322. package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
  323. package/dist/shared/parse-lambda-timings-key.js +0 -0
  324. package/dist/shared/random-hash.d.ts +0 -0
  325. package/dist/shared/random-hash.js +0 -0
  326. package/dist/shared/return-values.d.ts +0 -0
  327. package/dist/shared/return-values.js +0 -0
  328. package/dist/shared/serialize-input-props.d.ts +7 -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 +0 -0
  333. package/dist/shared/stream-to-string.js +0 -0
  334. package/dist/shared/truthy.d.ts +0 -0
  335. package/dist/shared/truthy.js +0 -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 +0 -0
  339. package/dist/shared/validate-aws-region.js +0 -0
  340. package/dist/shared/validate-bucketname.d.ts +0 -0
  341. package/dist/shared/validate-bucketname.js +0 -0
  342. package/dist/shared/validate-custom-role-arn.d.ts +0 -0
  343. package/dist/shared/validate-custom-role-arn.js +0 -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 +0 -0
  347. package/dist/shared/validate-download-behavior.js +0 -0
  348. package/dist/shared/validate-frames-per-lambda.d.ts +0 -0
  349. package/dist/shared/validate-frames-per-lambda.js +0 -0
  350. package/dist/shared/validate-lambda-codec.d.ts +0 -0
  351. package/dist/shared/validate-lambda-codec.js +0 -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 +5 -1
  356. package/dist/shared/validate-presign-expiration.d.ts +0 -0
  357. package/dist/shared/validate-presign-expiration.js +0 -0
  358. package/dist/shared/validate-privacy.d.ts +0 -0
  359. package/dist/shared/validate-privacy.js +0 -0
  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 +19 -22
  371. package/remotionlambda.zip +0 -0
@@ -12,7 +12,9 @@ const version_1 = require("remotion/version");
12
12
  const estimate_price_1 = require("../api/estimate-price");
13
13
  const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
14
14
  const aws_clients_1 = require("../shared/aws-clients");
15
+ const cleanup_serialized_input_props_1 = require("../shared/cleanup-serialized-input-props");
15
16
  const constants_1 = require("../shared/constants");
17
+ const deserialize_input_props_1 = require("../shared/deserialize-input-props");
16
18
  const make_s3_url_1 = require("../shared/make-s3-url");
17
19
  const random_hash_1 = require("../shared/random-hash");
18
20
  const validate_download_behavior_1 = require("../shared/validate-download-behavior");
@@ -33,10 +35,12 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
33
35
  throw new TypeError('Expected still type');
34
36
  }
35
37
  if (lambdaParams.version !== version_1.VERSION) {
36
- if (!lambdaParams.version) {
37
- throw new Error(`Version mismatch: When calling renderStillOnLambda(), the deployed Lambda function had version ${version_1.VERSION} but the @remotion/lambda package is an older version. Align the versions.`);
38
+ if (lambdaParams.version !== version_1.VERSION) {
39
+ if (!lambdaParams.version) {
40
+ throw new Error(`Version mismatch: When calling renderMediaOnLambda(), 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 renderMediaOnLambda(). See: https://www.remotion.dev/docs/lambda/upgrading`);
41
+ }
42
+ throw new Error(`Version mismatch: When calling renderMediaOnLambda(), 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 renderMediaOnLambda(). See: https://www.remotion.dev/docs/lambda/upgrading`);
38
43
  }
39
- throw new Error(`Version mismatch: When calling renderStillOnLambda(), get deployed Lambda function had version ${version_1.VERSION} and the @remotion/lambda package has version ${lambdaParams.version}. Align the versions.`);
40
44
  }
41
45
  (0, validate_download_behavior_1.validateDownloadBehavior)(lambdaParams.downloadBehavior);
42
46
  (0, validate_privacy_1.validatePrivacy)(lambdaParams.privacy);
@@ -51,11 +55,17 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
51
55
  const outputDir = renderer_1.RenderInternals.tmpDir('remotion-render-');
52
56
  const outputPath = path_1.default.join(outputDir, 'output');
53
57
  const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
58
+ const inputProps = await (0, deserialize_input_props_1.deserializeInputProps)({
59
+ bucketName,
60
+ expectedBucketOwner: options.expectedBucketOwner,
61
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
62
+ serialized: lambdaParams.inputProps,
63
+ });
54
64
  const composition = await (0, validate_composition_1.validateComposition)({
55
65
  serveUrl: lambdaParams.serveUrl,
56
66
  browserInstance,
57
67
  composition: lambdaParams.composition,
58
- inputProps: lambdaParams.inputProps,
68
+ inputProps,
59
69
  envVariables: lambdaParams.envVariables,
60
70
  ffmpegExecutable: null,
61
71
  ffprobeExecutable: null,
@@ -63,6 +73,8 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
63
73
  timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
64
74
  port: null,
65
75
  downloadMap,
76
+ forceHeight: lambdaParams.forceHeight,
77
+ forceWidth: lambdaParams.forceWidth,
66
78
  });
67
79
  const renderMetadata = {
68
80
  startedDate: Date.now(),
@@ -74,7 +86,6 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
74
86
  siteId: (0, make_s3_url_1.getServeUrlHash)(lambdaParams.serveUrl),
75
87
  totalChunks: 1,
76
88
  type: 'still',
77
- usesOptimizationProfile: false,
78
89
  imageFormat: lambdaParams.imageFormat,
79
90
  inputProps: lambdaParams.inputProps,
80
91
  lambdaVersion: version_1.VERSION,
@@ -83,6 +94,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
83
94
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
84
95
  renderId,
85
96
  outName: (_b = lambdaParams.outName) !== null && _b !== void 0 ? _b : undefined,
97
+ privacy: lambdaParams.privacy,
86
98
  };
87
99
  await (0, io_1.lambdaWriteFile)({
88
100
  bucketName,
@@ -92,6 +104,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
92
104
  privacy: 'private',
93
105
  expectedBucketOwner: options.expectedBucketOwner,
94
106
  downloadBehavior: null,
107
+ customCredentials: null,
95
108
  });
96
109
  await (0, renderer_1.renderStill)({
97
110
  composition,
@@ -99,9 +112,12 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
99
112
  serveUrl: lambdaParams.serveUrl,
100
113
  dumpBrowserLogs: false,
101
114
  envVariables: lambdaParams.envVariables,
102
- frame: lambdaParams.frame,
115
+ frame: renderer_1.RenderInternals.convertToPositiveFrameIndex({
116
+ frame: lambdaParams.frame,
117
+ durationInFrames: composition.durationInFrames,
118
+ }),
103
119
  imageFormat: lambdaParams.imageFormat,
104
- inputProps: lambdaParams.inputProps,
120
+ inputProps,
105
121
  overwrite: false,
106
122
  puppeteerInstance: browserInstance,
107
123
  quality: lambdaParams.quality,
@@ -110,7 +126,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
110
126
  timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
111
127
  downloadMap,
112
128
  });
113
- const { key, renderBucketName } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
129
+ const { key, renderBucketName, customCredentials } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, (0, expected_out_name_1.getCredentialsFromOutName)(lambdaParams.outName));
114
130
  const { size } = await fs_1.default.promises.stat(outputPath);
115
131
  await (0, io_1.lambdaWriteFile)({
116
132
  bucketName: renderBucketName,
@@ -120,8 +136,16 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
120
136
  expectedBucketOwner: options.expectedBucketOwner,
121
137
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
122
138
  downloadBehavior: lambdaParams.downloadBehavior,
139
+ customCredentials,
123
140
  });
124
- await fs_1.default.promises.rm(outputPath, { recursive: true });
141
+ await Promise.all([
142
+ fs_1.default.promises.rm(outputPath, { recursive: true }),
143
+ (0, cleanup_serialized_input_props_1.cleanupSerializedInputProps)({
144
+ bucketName,
145
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
146
+ serialized: lambdaParams.inputProps,
147
+ }),
148
+ ]);
125
149
  const estimatedPrice = (0, estimate_price_1.estimatePrice)({
126
150
  durationInMiliseconds: Date.now() - start + 100,
127
151
  memorySizeInMb: Number(process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE),
@@ -133,7 +157,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
133
157
  diskSizeInMb: constants_1.MAX_EPHEMERAL_STORAGE_IN_MB,
134
158
  });
135
159
  return {
136
- output: (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, bucketName),
160
+ output: (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, bucketName, customCredentials),
137
161
  size,
138
162
  bucketName,
139
163
  estimatedPrice: (0, format_costs_info_1.formatCostsInfo)(estimatedPrice),
package/dist/index.d.ts CHANGED
@@ -1,5 +1,7 @@
1
1
  import type { DeleteFunctionInput } from './api/delete-function';
2
2
  import { deleteFunction } from './api/delete-function';
3
+ import type { DeleteRenderInput } from './api/delete-render';
4
+ import { deleteRender } from './api/delete-render';
3
5
  import type { DeleteSiteInput, DeleteSiteOutput } from './api/delete-site';
4
6
  import { deleteSite } from './api/delete-site';
5
7
  import type { DeployFunctionInput, DeployFunctionOutput } from './api/deploy-function';
@@ -31,10 +33,14 @@ import type { RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput } from './api/
31
33
  import { renderMediaOnLambda, renderVideoOnLambda } from './api/render-media-on-lambda';
32
34
  import type { RenderStillOnLambdaInput, RenderStillOnLambdaOutput } from './api/render-still-on-lambda';
33
35
  import { renderStillOnLambda } from './api/render-still-on-lambda';
36
+ import { validateWebhookSignature } from './api/validate-webhook-signature';
34
37
  import type { LambdaLSInput, LambdaLsReturnType } from './functions/helpers/io';
38
+ import type { EnhancedErrorInfo, LambdaErrorInfo } from './functions/helpers/write-lambda-error';
35
39
  import { LambdaInternals } from './internals';
36
40
  import type { AwsRegion } from './pricing/aws-regions';
41
+ import type { CustomCredentials } from './shared/aws-clients';
37
42
  import type { RenderProgress } from './shared/constants';
43
+ import type { WebhookPayload } from './shared/invoke-webhook';
38
44
  import type { LambdaArchitecture } from './shared/validate-architecture';
39
- export { deleteSite, deployFunction, deploySite, downloadMedia, downloadVideo, getFunctions, getUserPolicy, getRolePolicy, getSites, getOrCreateBucket, getRenderProgress, renderVideoOnLambda, renderMediaOnLambda, simulatePermissions, deleteFunction, getFunctionInfo, estimatePrice, LambdaInternals, renderStillOnLambda, getRegions, getAwsClient, presignUrl, };
40
- export type { AwsRegion, RenderProgress, DeploySiteInput, DeploySiteOutput, LambdaLsReturnType, LambdaLSInput, DeleteSiteInput, DeleteSiteOutput, EstimatePriceInput, DeployFunctionInput, DeployFunctionOutput, DeleteFunctionInput, GetFunctionInfoInput, FunctionInfo, GetFunctionsInput, GetSitesInput, GetSitesOutput, DownloadMediaInput, DownloadMediaOutput, GetOrCreateBucketInput, GetOrCreateBucketOutput, GetRenderInput, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, RenderStillOnLambdaInput, RenderStillOnLambdaOutput, SimulatePermissionsInput, SimulatePermissionsOutput, GetAwsClientInput, GetAwsClientOutput, LambdaArchitecture, };
45
+ export { deleteSite, deployFunction, deploySite, downloadMedia, downloadVideo, getFunctions, getUserPolicy, getRolePolicy, getSites, getOrCreateBucket, getRenderProgress, renderVideoOnLambda, renderMediaOnLambda, simulatePermissions, deleteFunction, getFunctionInfo, estimatePrice, LambdaInternals, renderStillOnLambda, getRegions, getAwsClient, presignUrl, deleteRender, validateWebhookSignature, };
46
+ export type { AwsRegion, RenderProgress, DeploySiteInput, DeploySiteOutput, LambdaLsReturnType, LambdaLSInput, DeleteSiteInput, DeleteSiteOutput, EstimatePriceInput, DeployFunctionInput, DeployFunctionOutput, DeleteFunctionInput, GetFunctionInfoInput, FunctionInfo, GetFunctionsInput, GetSitesInput, GetSitesOutput, DownloadMediaInput, DownloadMediaOutput, GetOrCreateBucketInput, GetOrCreateBucketOutput, GetRenderInput, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, RenderStillOnLambdaInput, RenderStillOnLambdaOutput, SimulatePermissionsInput, SimulatePermissionsOutput, GetAwsClientInput, GetAwsClientOutput, LambdaArchitecture, CustomCredentials, WebhookPayload, LambdaErrorInfo, EnhancedErrorInfo, DeleteRenderInput, };
package/dist/index.js CHANGED
@@ -1,8 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.presignUrl = exports.getAwsClient = exports.getRegions = exports.renderStillOnLambda = exports.LambdaInternals = exports.estimatePrice = exports.getFunctionInfo = exports.deleteFunction = exports.simulatePermissions = exports.renderMediaOnLambda = exports.renderVideoOnLambda = exports.getRenderProgress = exports.getOrCreateBucket = exports.getSites = exports.getRolePolicy = exports.getUserPolicy = exports.getFunctions = exports.downloadVideo = exports.downloadMedia = exports.deploySite = exports.deployFunction = exports.deleteSite = void 0;
3
+ exports.validateWebhookSignature = exports.deleteRender = exports.presignUrl = exports.getAwsClient = exports.getRegions = exports.renderStillOnLambda = exports.LambdaInternals = exports.estimatePrice = exports.getFunctionInfo = exports.deleteFunction = exports.simulatePermissions = exports.renderMediaOnLambda = exports.renderVideoOnLambda = exports.getRenderProgress = exports.getOrCreateBucket = exports.getSites = exports.getRolePolicy = exports.getUserPolicy = exports.getFunctions = exports.downloadVideo = exports.downloadMedia = exports.deploySite = exports.deployFunction = exports.deleteSite = void 0;
4
4
  const delete_function_1 = require("./api/delete-function");
5
5
  Object.defineProperty(exports, "deleteFunction", { enumerable: true, get: function () { return delete_function_1.deleteFunction; } });
6
+ const delete_render_1 = require("./api/delete-render");
7
+ Object.defineProperty(exports, "deleteRender", { enumerable: true, get: function () { return delete_render_1.deleteRender; } });
6
8
  const delete_site_1 = require("./api/delete-site");
7
9
  Object.defineProperty(exports, "deleteSite", { enumerable: true, get: function () { return delete_site_1.deleteSite; } });
8
10
  const deploy_function_1 = require("./api/deploy-function");
@@ -40,5 +42,7 @@ Object.defineProperty(exports, "renderMediaOnLambda", { enumerable: true, get: f
40
42
  Object.defineProperty(exports, "renderVideoOnLambda", { enumerable: true, get: function () { return render_media_on_lambda_1.renderVideoOnLambda; } });
41
43
  const render_still_on_lambda_1 = require("./api/render-still-on-lambda");
42
44
  Object.defineProperty(exports, "renderStillOnLambda", { enumerable: true, get: function () { return render_still_on_lambda_1.renderStillOnLambda; } });
45
+ const validate_webhook_signature_1 = require("./api/validate-webhook-signature");
46
+ Object.defineProperty(exports, "validateWebhookSignature", { enumerable: true, get: function () { return validate_webhook_signature_1.validateWebhookSignature; } });
43
47
  const internals_1 = require("./internals");
44
48
  Object.defineProperty(exports, "LambdaInternals", { enumerable: true, get: function () { return internals_1.LambdaInternals; } });
@@ -1,3 +1,3 @@
1
1
  export declare const LambdaInternals: {
2
- executeCommand: (args: string[]) => Promise<void>;
2
+ executeCommand: (args: string[], remotionRoot: string) => Promise<void>;
3
3
  };
package/dist/internals.js CHANGED
File without changes
File without changes
File without changes
File without changes
File without changes
package/dist/regions.d.ts CHANGED
File without changes
package/dist/regions.js CHANGED
File without changes
File without changes
File without changes
@@ -11,9 +11,20 @@ export declare type ServiceMapping = {
11
11
  lambda: LambdaClient;
12
12
  servicequotas: ServiceQuotasClient;
13
13
  };
14
- export declare const getServiceClient: <T extends keyof ServiceMapping>(region: AwsRegion, service: T) => ServiceMapping[T];
14
+ export declare type CustomCredentialsWithoutSensitiveData = {
15
+ endpoint: string;
16
+ };
17
+ export declare type CustomCredentials = CustomCredentialsWithoutSensitiveData & {
18
+ accessKeyId: string | null;
19
+ secretAccessKey: string | null;
20
+ };
21
+ export declare const getServiceClient: <T extends keyof ServiceMapping>({ region, service, customCredentials, }: {
22
+ region: AwsRegion;
23
+ service: T;
24
+ customCredentials: CustomCredentials | null;
25
+ }) => ServiceMapping[T];
15
26
  export declare const getCloudWatchLogsClient: (region: AwsRegion) => CloudWatchLogsClient;
16
- export declare const getS3Client: (region: AwsRegion) => S3Client;
27
+ export declare const getS3Client: (region: AwsRegion, customCredentials: CustomCredentials | null) => S3Client;
17
28
  export declare const getLambdaClient: (region: AwsRegion) => LambdaClient;
18
29
  export declare const getIamClient: (region: AwsRegion) => IAMClient;
19
30
  export declare const getServiceQuotasClient: (region: AwsRegion) => ServiceQuotasClient;
@@ -28,11 +28,17 @@ const getCredentials = () => {
28
28
  }
29
29
  return undefined;
30
30
  };
31
- const getCredentialsKey = () => JSON.stringify(getCredentials());
32
- const getServiceClient = (region, service) => {
33
- if (!_clients[region]) {
34
- _clients[region] = {};
35
- }
31
+ const getKey = ({ credentials, customCredentials, region, service, }) => [
32
+ credentials === null || credentials === void 0 ? void 0 : credentials.accessKeyId,
33
+ credentials === null || credentials === void 0 ? void 0 : credentials.secretAccessKey,
34
+ customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.accessKeyId,
35
+ customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.endpoint,
36
+ customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.secretAccessKey,
37
+ region,
38
+ service,
39
+ ].join('-');
40
+ const getServiceClient = ({ region, service, customCredentials, }) => {
41
+ var _a;
36
42
  const Client = (() => {
37
43
  if (service === 'cloudwatch') {
38
44
  return client_cloudwatch_logs_1.CloudWatchLogsClient;
@@ -49,43 +55,67 @@ const getServiceClient = (region, service) => {
49
55
  if (service === 'servicequotas') {
50
56
  return client_service_quotas_1.ServiceQuotasClient;
51
57
  }
58
+ throw new TypeError('unknown client ' + service);
52
59
  })();
53
- const key = getCredentialsKey();
54
- // @ts-expect-error
55
- if (!_clients[region][key]) {
56
- // @ts-expect-error
57
- _clients[region][key] = {};
58
- }
59
- // @ts-expect-error
60
- if (!_clients[region][key][service]) {
60
+ const key = getKey({
61
+ credentials: (_a = getCredentials()) !== null && _a !== void 0 ? _a : null,
62
+ region,
63
+ customCredentials,
64
+ service,
65
+ });
66
+ if (!_clients[key]) {
61
67
  (0, check_credentials_1.checkCredentials)();
62
- // @ts-expect-error
63
- _clients[region][key][service] = new Client({
64
- region,
65
- credentials: getCredentials(),
66
- });
68
+ if (customCredentials) {
69
+ _clients[key] = new Client({
70
+ region: 'us-east-1',
71
+ credentials: customCredentials.accessKeyId && customCredentials.secretAccessKey
72
+ ? {
73
+ accessKeyId: customCredentials.accessKeyId,
74
+ secretAccessKey: customCredentials.secretAccessKey,
75
+ }
76
+ : undefined,
77
+ endpoint: customCredentials.endpoint,
78
+ });
79
+ }
80
+ else {
81
+ _clients[key] = new Client({
82
+ region,
83
+ credentials: getCredentials(),
84
+ });
85
+ }
67
86
  }
68
- // @ts-expect-error
69
- return _clients[region][key][service];
87
+ return _clients[key];
70
88
  };
71
89
  exports.getServiceClient = getServiceClient;
72
90
  const getCloudWatchLogsClient = (region) => {
73
- return (0, exports.getServiceClient)(region, 'cloudwatch');
91
+ return (0, exports.getServiceClient)({
92
+ region,
93
+ service: 'cloudwatch',
94
+ customCredentials: null,
95
+ });
74
96
  };
75
97
  exports.getCloudWatchLogsClient = getCloudWatchLogsClient;
76
- const getS3Client = (region) => {
77
- return (0, exports.getServiceClient)(region, 's3');
98
+ const getS3Client = (region, customCredentials) => {
99
+ return (0, exports.getServiceClient)({ region, service: 's3', customCredentials });
78
100
  };
79
101
  exports.getS3Client = getS3Client;
80
102
  const getLambdaClient = (region) => {
81
- return (0, exports.getServiceClient)(region, 'lambda');
103
+ return (0, exports.getServiceClient)({
104
+ region,
105
+ service: 'lambda',
106
+ customCredentials: null,
107
+ });
82
108
  };
83
109
  exports.getLambdaClient = getLambdaClient;
84
110
  const getIamClient = (region) => {
85
- return (0, exports.getServiceClient)(region, 'iam');
111
+ return (0, exports.getServiceClient)({ region, service: 'iam', customCredentials: null });
86
112
  };
87
113
  exports.getIamClient = getIamClient;
88
114
  const getServiceQuotasClient = (region) => {
89
- return (0, exports.getServiceClient)(region, 'servicequotas');
115
+ return (0, exports.getServiceClient)({
116
+ region,
117
+ service: 'servicequotas',
118
+ customCredentials: null,
119
+ });
90
120
  };
91
121
  exports.getServiceQuotasClient = getServiceQuotasClient;
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -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;
@@ -3,6 +3,7 @@ import type { VideoConfig } from 'remotion';
3
3
  import type { ChunkRetry } from '../functions/helpers/get-retry-stats';
4
4
  import type { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
5
5
  import type { AwsRegion } from '../pricing/aws-regions';
6
+ import type { CustomCredentials, CustomCredentialsWithoutSensitiveData } from './aws-clients';
6
7
  import type { DownloadBehavior } from './content-disposition-header';
7
8
  import type { ExpensiveChunk } from './get-most-expensive-chunks';
8
9
  import type { LambdaArchitecture } from './validate-architecture';
@@ -62,17 +63,24 @@ export declare const getErrorFileName: ({ renderId, chunk, attempt, }: {
62
63
  export declare type OutNameInput = string | {
63
64
  bucketName: string;
64
65
  key: string;
66
+ s3OutputProvider?: CustomCredentials;
67
+ };
68
+ export declare type OutNameInputWithoutCredentials = string | {
69
+ bucketName: string;
70
+ key: string;
71
+ s3OutputProvider?: CustomCredentialsWithoutSensitiveData;
65
72
  };
66
73
  export declare type OutNameOutput = {
67
74
  renderBucketName: string;
68
75
  key: string;
76
+ customCredentials: CustomCredentials | null;
69
77
  };
70
- export declare const optimizationProfile: (siteId: string, compositionId: string) => string;
71
78
  export declare const getSitesKey: (siteId: string) => string;
72
79
  export declare const outName: (renderId: string, extension: string) => string;
73
80
  export declare const outStillName: (renderId: string, imageFormat: ImageFormat) => string;
74
81
  export declare const customOutName: (renderId: string, bucketName: string, name: OutNameInput) => OutNameOutput;
75
82
  export declare const postRenderDataKey: (renderId: string) => string;
83
+ export declare const inputPropsKey: (hash: string) => string;
76
84
  export declare const RENDERER_PATH_TOKEN = "remotion-bucket";
77
85
  export declare const CONCAT_FOLDER_TOKEN = "remotion-concat";
78
86
  export declare const REMOTION_CONCATED_TOKEN = "remotion-concated-token";
@@ -85,6 +93,17 @@ export declare enum LambdaRoutines {
85
93
  renderer = "renderer",
86
94
  still = "still"
87
95
  }
96
+ declare type WebhookOption = null | {
97
+ url: string;
98
+ secret: string | null;
99
+ };
100
+ export declare type SerializedInputProps = {
101
+ type: 'bucket-url';
102
+ hash: string;
103
+ } | {
104
+ type: 'payload';
105
+ payload: unknown;
106
+ };
88
107
  export declare type LambdaPayloads = {
89
108
  info: {
90
109
  type: LambdaRoutines.info;
@@ -94,7 +113,7 @@ export declare type LambdaPayloads = {
94
113
  serveUrl: string;
95
114
  composition: string;
96
115
  framesPerLambda: number | null;
97
- inputProps: unknown;
116
+ inputProps: SerializedInputProps;
98
117
  codec: LambdaCodec;
99
118
  imageFormat: ImageFormat;
100
119
  crf: number | undefined;
@@ -116,6 +135,12 @@ export declare type LambdaPayloads = {
116
135
  downloadBehavior: DownloadBehavior;
117
136
  muted: boolean;
118
137
  version: string;
138
+ overwrite: boolean;
139
+ audioBitrate: string | null;
140
+ videoBitrate: string | null;
141
+ webhook: WebhookOption;
142
+ forceHeight: number | null;
143
+ forceWidth: number | null;
119
144
  };
120
145
  launch: {
121
146
  type: LambdaRoutines.launch;
@@ -123,7 +148,7 @@ export declare type LambdaPayloads = {
123
148
  composition: string;
124
149
  framesPerLambda: number | null;
125
150
  bucketName: string;
126
- inputProps: unknown;
151
+ inputProps: SerializedInputProps;
127
152
  renderId: string;
128
153
  imageFormat: ImageFormat;
129
154
  codec: LambdaCodec;
@@ -145,12 +170,19 @@ export declare type LambdaPayloads = {
145
170
  concurrencyPerLambda: number;
146
171
  downloadBehavior: DownloadBehavior;
147
172
  muted: boolean;
173
+ overwrite: boolean;
174
+ audioBitrate: string | null;
175
+ videoBitrate: string | null;
176
+ webhook: WebhookOption;
177
+ forceHeight: number | null;
178
+ forceWidth: number | null;
148
179
  };
149
180
  status: {
150
181
  type: LambdaRoutines.status;
151
182
  bucketName: string;
152
183
  renderId: string;
153
184
  version: string;
185
+ s3OutputProvider?: CustomCredentials;
154
186
  };
155
187
  renderer: {
156
188
  concurrencyPerLambda: number;
@@ -165,7 +197,7 @@ export declare type LambdaPayloads = {
165
197
  width: number;
166
198
  durationInFrames: number;
167
199
  retriesLeft: number;
168
- inputProps: unknown;
200
+ inputProps: SerializedInputProps;
169
201
  renderId: string;
170
202
  imageFormat: ImageFormat;
171
203
  codec: Exclude<Codec, 'h264'>;
@@ -182,12 +214,14 @@ export declare type LambdaPayloads = {
182
214
  scale: number;
183
215
  everyNthFrame: number;
184
216
  muted: boolean;
217
+ audioBitrate: string | null;
218
+ videoBitrate: string | null;
185
219
  };
186
220
  still: {
187
221
  type: LambdaRoutines.still;
188
222
  serveUrl: string;
189
223
  composition: string;
190
- inputProps: unknown;
224
+ inputProps: SerializedInputProps;
191
225
  imageFormat: ImageFormat;
192
226
  envVariables: Record<string, string> | undefined;
193
227
  attempt: number;
@@ -202,6 +236,8 @@ export declare type LambdaPayloads = {
202
236
  scale: number;
203
237
  downloadBehavior: DownloadBehavior | null;
204
238
  version: string;
239
+ forceHeight: number | null;
240
+ forceWidth: number | null;
205
241
  };
206
242
  };
207
243
  export declare type LambdaPayload = LambdaPayloads[LambdaRoutines];
@@ -220,16 +256,16 @@ export declare type RenderMetadata = {
220
256
  estimatedRenderLambdaInvokations: number;
221
257
  compositionId: string;
222
258
  codec: Codec | null;
223
- usesOptimizationProfile: boolean;
224
259
  type: 'still' | 'video';
225
260
  imageFormat: ImageFormat;
226
- inputProps: unknown;
261
+ inputProps: SerializedInputProps;
227
262
  framesPerLambda: number;
228
263
  memorySizeInMb: number;
229
264
  lambdaVersion: string;
230
265
  region: AwsRegion;
231
266
  renderId: string;
232
- outName: OutNameInput | undefined;
267
+ outName: OutNameInputWithoutCredentials | undefined;
268
+ privacy: Privacy;
233
269
  };
234
270
  export declare type PostRenderData = {
235
271
  cost: {
@@ -292,3 +328,4 @@ export declare type RenderProgress = {
292
328
  export declare type Privacy = 'public' | 'private' | 'no-acl';
293
329
  export declare const LAMBDA_CONCURRENCY_LIMIT_QUOTA = "L-B99A9384";
294
330
  export declare const LAMBDA_BURST_LIMIT_QUOTA = "L-548AE339";
331
+ 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.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.lambdaChunkInitializedKey = exports.lambdaChunkInitializedPrefix = exports.initalizedMetadataKey = 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.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;
@@ -51,8 +51,6 @@ const getErrorKeyPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}
51
51
  exports.getErrorKeyPrefix = getErrorKeyPrefix;
52
52
  const getErrorFileName = ({ renderId, chunk, attempt, }) => (0, exports.getErrorKeyPrefix)(renderId) + ':chunk-' + chunk + ':attempt-' + attempt;
53
53
  exports.getErrorFileName = getErrorFileName;
54
- const optimizationProfile = (siteId, compositionId) => `optimization-profiles/${siteId}/${compositionId}/optimization-profile`;
55
- exports.optimizationProfile = optimizationProfile;
56
54
  const getSitesKey = (siteId) => `sites/${siteId}`;
57
55
  exports.getSitesKey = getSitesKey;
58
56
  const outName = (renderId, extension) => `${(0, exports.rendersPrefix)(renderId)}/out.${extension}`;
@@ -60,19 +58,29 @@ exports.outName = outName;
60
58
  const outStillName = (renderId, imageFormat) => `${(0, exports.rendersPrefix)(renderId)}/out.${imageFormat}`;
61
59
  exports.outStillName = outStillName;
62
60
  const customOutName = (renderId, bucketName, name) => {
61
+ var _a;
63
62
  if (typeof name === 'string') {
64
63
  return {
65
64
  renderBucketName: bucketName,
66
65
  key: `${(0, exports.rendersPrefix)(renderId)}/${name}`,
66
+ customCredentials: null,
67
67
  };
68
68
  }
69
- return { key: name.key, renderBucketName: name.bucketName };
69
+ return {
70
+ key: name.key,
71
+ renderBucketName: name.bucketName,
72
+ customCredentials: (_a = name.s3OutputProvider) !== null && _a !== void 0 ? _a : null,
73
+ };
70
74
  };
71
75
  exports.customOutName = customOutName;
72
76
  const postRenderDataKey = (renderId) => {
73
77
  return `${(0, exports.rendersPrefix)(renderId)}/post-render-metadata.json`;
74
78
  };
75
79
  exports.postRenderDataKey = postRenderDataKey;
80
+ const inputPropsKey = (hash) => {
81
+ return `input-props/${hash}.json`;
82
+ };
83
+ exports.inputPropsKey = inputPropsKey;
76
84
  exports.RENDERER_PATH_TOKEN = 'remotion-bucket';
77
85
  exports.CONCAT_FOLDER_TOKEN = 'remotion-concat';
78
86
  exports.REMOTION_CONCATED_TOKEN = 'remotion-concated-token';
File without changes
File without changes
File without changes
File without changes
@@ -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<unknown>;
@@ -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');
24
+ }
25
+ };
26
+ exports.deserializeInputProps = deserializeInputProps;
File without changes
File without changes