@remotion/lambda 4.0.0-webhook.27 → 4.1.0-alpha3

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 (409) 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 +24 -13
  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 +59 -65
  8. package/dist/api/bucket-exists.d.ts +0 -0
  9. package/dist/api/bucket-exists.js +0 -0
  10. package/dist/api/clean-items.d.ts +0 -0
  11. package/dist/api/clean-items.js +1 -1
  12. package/dist/api/create-bucket.d.ts +0 -0
  13. package/dist/api/create-bucket.js +34 -1
  14. package/dist/api/create-function.d.ts +1 -3
  15. package/dist/api/create-function.js +27 -6
  16. package/dist/api/delete-function.d.ts +4 -4
  17. package/dist/api/delete-function.js +3 -3
  18. package/dist/api/delete-render.d.ts +2 -2
  19. package/dist/api/delete-render.js +1 -1
  20. package/dist/api/delete-site.d.ts +7 -7
  21. package/dist/api/delete-site.js +9 -7
  22. package/dist/api/deploy-function.d.ts +11 -13
  23. package/dist/api/deploy-function.js +28 -31
  24. package/dist/api/deploy-site.d.ts +13 -5
  25. package/dist/api/deploy-site.js +61 -25
  26. package/dist/api/download-media.d.ts +4 -8
  27. package/dist/api/download-media.js +5 -9
  28. package/dist/api/estimate-price.d.ts +3 -5
  29. package/dist/api/estimate-price.js +4 -10
  30. package/dist/api/get-aws-client.d.ts +6 -4
  31. package/dist/api/get-aws-client.js +3 -1
  32. package/dist/api/get-buckets.d.ts +2 -2
  33. package/dist/api/get-buckets.js +35 -12
  34. package/dist/api/get-compositions-on-lambda.d.ts +33 -0
  35. package/dist/api/get-compositions-on-lambda.js +57 -0
  36. package/dist/api/get-function-info.d.ts +3 -3
  37. package/dist/api/get-function-info.js +1 -1
  38. package/dist/api/get-functions.d.ts +5 -7
  39. package/dist/api/get-functions.js +8 -10
  40. package/dist/api/get-or-create-bucket.d.ts +6 -6
  41. package/dist/api/get-or-create-bucket.js +10 -18
  42. package/dist/api/get-regions.d.ts +6 -2
  43. package/dist/api/get-regions.js +6 -3
  44. package/dist/api/get-render-progress.d.ts +3 -3
  45. package/dist/api/get-render-progress.js +6 -11
  46. package/dist/api/get-sites.d.ts +6 -6
  47. package/dist/api/get-sites.js +5 -4
  48. package/dist/api/iam-validation/role-permissions.d.ts +0 -0
  49. package/dist/api/iam-validation/role-permissions.js +0 -0
  50. package/dist/api/iam-validation/simulate-rule.d.ts +2 -2
  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 +27 -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 +3 -8
  58. package/dist/api/make-lambda-payload.d.ts +5 -0
  59. package/dist/api/make-lambda-payload.js +79 -0
  60. package/dist/api/mock-functions.d.ts +0 -0
  61. package/dist/api/mock-functions.js +0 -0
  62. package/dist/api/presign-url.d.ts +4 -5
  63. package/dist/api/presign-url.js +3 -3
  64. package/dist/api/render-media-on-lambda.d.ts +27 -11
  65. package/dist/api/render-media-on-lambda.js +15 -49
  66. package/dist/api/render-still-on-lambda.d.ts +17 -6
  67. package/dist/api/render-still-on-lambda.js +25 -10
  68. package/dist/api/speculate-function-name.d.ts +14 -0
  69. package/dist/api/speculate-function-name.js +22 -0
  70. package/dist/api/upload-dir.d.ts +6 -5
  71. package/dist/api/upload-dir.js +54 -51
  72. package/dist/api/validate-webhook-signature.d.ts +2 -2
  73. package/dist/api/validate-webhook-signature.js +1 -1
  74. package/dist/cli/args.d.ts +7 -5
  75. package/dist/cli/args.js +1 -5
  76. package/dist/cli/commands/compositions/index.d.ts +2 -0
  77. package/dist/cli/commands/compositions/index.js +44 -0
  78. package/dist/cli/commands/functions/deploy.d.ts +0 -0
  79. package/dist/cli/commands/functions/deploy.js +15 -15
  80. package/dist/cli/commands/functions/index.d.ts +0 -0
  81. package/dist/cli/commands/functions/index.js +16 -17
  82. package/dist/cli/commands/functions/ls.d.ts +0 -0
  83. package/dist/cli/commands/functions/ls.js +17 -10
  84. package/dist/cli/commands/functions/rm.d.ts +0 -0
  85. package/dist/cli/commands/functions/rm.js +20 -7
  86. package/dist/cli/commands/functions/rmall.d.ts +0 -0
  87. package/dist/cli/commands/functions/rmall.js +20 -8
  88. package/dist/cli/commands/policies/policies.d.ts +0 -0
  89. package/dist/cli/commands/policies/policies.js +0 -0
  90. package/dist/cli/commands/policies/role.d.ts +0 -0
  91. package/dist/cli/commands/policies/role.js +0 -0
  92. package/dist/cli/commands/policies/user.d.ts +0 -0
  93. package/dist/cli/commands/policies/user.js +0 -0
  94. package/dist/cli/commands/policies/validate.d.ts +0 -0
  95. package/dist/cli/commands/policies/validate.js +0 -0
  96. package/dist/cli/commands/quotas/increase.d.ts +0 -0
  97. package/dist/cli/commands/quotas/increase.js +30 -10
  98. package/dist/cli/commands/quotas/index.d.ts +0 -0
  99. package/dist/cli/commands/quotas/index.js +8 -9
  100. package/dist/cli/commands/quotas/list.d.ts +0 -0
  101. package/dist/cli/commands/quotas/list.js +0 -0
  102. package/dist/cli/commands/regions.d.ts +0 -0
  103. package/dist/cli/commands/regions.js +6 -2
  104. package/dist/cli/commands/render/progress.d.ts +11 -7
  105. package/dist/cli/commands/render/progress.js +55 -45
  106. package/dist/cli/commands/render/render.d.ts +1 -1
  107. package/dist/cli/commands/render/render.js +99 -27
  108. package/dist/cli/commands/sites/create.d.ts +1 -1
  109. package/dist/cli/commands/sites/create.js +37 -33
  110. package/dist/cli/commands/sites/index.d.ts +1 -1
  111. package/dist/cli/commands/sites/index.js +18 -16
  112. package/dist/cli/commands/sites/ls.d.ts +0 -0
  113. package/dist/cli/commands/sites/ls.js +9 -10
  114. package/dist/cli/commands/sites/rm.d.ts +0 -0
  115. package/dist/cli/commands/sites/rm.js +7 -16
  116. package/dist/cli/commands/sites/rmall.d.ts +0 -0
  117. package/dist/cli/commands/sites/rmall.js +5 -16
  118. package/dist/cli/commands/still.d.ts +1 -1
  119. package/dist/cli/commands/still.js +49 -20
  120. package/dist/cli/get-aws-region.d.ts +0 -0
  121. package/dist/cli/get-aws-region.js +0 -0
  122. package/dist/cli/help.d.ts +0 -0
  123. package/dist/cli/help.js +4 -0
  124. package/dist/cli/helpers/confirm.d.ts +0 -0
  125. package/dist/cli/helpers/confirm.js +0 -0
  126. package/dist/cli/helpers/date-string.d.ts +0 -0
  127. package/dist/cli/helpers/date-string.js +0 -0
  128. package/dist/cli/helpers/find-function-name.d.ts +0 -0
  129. package/dist/cli/helpers/find-function-name.js +35 -6
  130. package/dist/cli/helpers/progress-bar.d.ts +12 -7
  131. package/dist/cli/helpers/progress-bar.js +20 -11
  132. package/dist/cli/helpers/quit.d.ts +0 -0
  133. package/dist/cli/helpers/quit.js +0 -0
  134. package/dist/cli/helpers/yes-or-no.d.ts +0 -0
  135. package/dist/cli/helpers/yes-or-no.js +0 -0
  136. package/dist/cli/index.d.ts +1 -1
  137. package/dist/cli/index.js +23 -12
  138. package/dist/cli/is-cli.d.ts +0 -0
  139. package/dist/cli/is-cli.js +0 -0
  140. package/dist/cli/log.d.ts +14 -0
  141. package/dist/cli/log.js +0 -0
  142. package/dist/client.d.ts +8 -2
  143. package/dist/client.js +9 -1
  144. package/dist/defaults.d.ts +0 -0
  145. package/dist/defaults.js +0 -0
  146. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +1 -5
  147. package/dist/functions/chunk-optimization/plan-frame-ranges.js +2 -15
  148. package/dist/functions/chunk-optimization/types.d.ts +2 -13
  149. package/dist/functions/chunk-optimization/types.js +0 -0
  150. package/dist/functions/compositions.d.ts +8 -0
  151. package/dist/functions/compositions.js +59 -0
  152. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  153. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  154. package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
  155. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  156. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +1 -3
  157. package/dist/functions/helpers/calculate-price-from-bucket.js +1 -2
  158. package/dist/functions/helpers/check-if-render-exists.d.ts +0 -0
  159. package/dist/functions/helpers/check-if-render-exists.js +0 -0
  160. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  161. package/dist/functions/helpers/clean-tmpdir.js +8 -8
  162. package/dist/functions/helpers/concat-videos.d.ts +13 -5
  163. package/dist/functions/helpers/concat-videos.js +38 -39
  164. package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
  165. package/dist/functions/helpers/create-post-render-data.js +1 -15
  166. package/dist/functions/helpers/delete-chunks.d.ts +0 -0
  167. package/dist/functions/helpers/delete-chunks.js +0 -0
  168. package/dist/functions/helpers/expected-out-name.d.ts +0 -0
  169. package/dist/functions/helpers/expected-out-name.js +2 -2
  170. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +1 -1
  171. package/dist/functions/helpers/find-output-file-in-bucket.js +0 -0
  172. package/dist/functions/helpers/format-costs-info.d.ts +0 -0
  173. package/dist/functions/helpers/format-costs-info.js +0 -0
  174. package/dist/functions/helpers/get-browser-instance.d.ts +2 -3
  175. package/dist/functions/helpers/get-browser-instance.js +9 -5
  176. package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
  177. package/dist/functions/helpers/get-chromium-executable-path.js +8 -6
  178. package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
  179. package/dist/functions/helpers/get-cleanup-progress.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 +0 -0
  183. package/dist/functions/helpers/get-custom-out-name.js +1 -1
  184. package/dist/functions/helpers/get-encoding-metadata.d.ts +5 -8
  185. package/dist/functions/helpers/get-encoding-metadata.js +7 -17
  186. package/dist/functions/helpers/get-files-in-folder.d.ts +1 -1
  187. package/dist/functions/helpers/get-files-in-folder.js +5 -5
  188. package/dist/functions/helpers/get-files-to-delete.d.ts +1 -1
  189. package/dist/functions/helpers/get-files-to-delete.js +0 -0
  190. package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -4
  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 +2 -6
  195. package/dist/functions/helpers/get-lambdas-invoked-stats.js +1 -9
  196. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +0 -0
  197. package/dist/functions/helpers/get-output-url-from-metadata.js +0 -0
  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 +0 -0
  201. package/dist/functions/helpers/get-post-render-data.js +0 -0
  202. package/dist/functions/helpers/get-progress.d.ts +0 -0
  203. package/dist/functions/helpers/get-progress.js +43 -42
  204. package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
  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 +0 -0
  210. package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
  211. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  212. package/dist/functions/helpers/inspect-errors.d.ts +0 -0
  213. package/dist/functions/helpers/inspect-errors.js +0 -0
  214. package/dist/functions/helpers/io.d.ts +10 -4
  215. package/dist/functions/helpers/io.js +25 -3
  216. package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
  217. package/dist/functions/helpers/is-enosp-err.js +1 -1
  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 +0 -0
  225. package/dist/functions/helpers/min-max.js +0 -0
  226. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +0 -0
  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 +1 -1
  231. package/dist/functions/helpers/read-with-progress.js +1 -1
  232. package/dist/functions/helpers/streamify-response.d.ts +16 -0
  233. package/dist/functions/helpers/streamify-response.js +67 -0
  234. package/dist/functions/helpers/timer.d.ts +0 -0
  235. package/dist/functions/helpers/timer.js +0 -0
  236. package/dist/functions/helpers/validate-composition.d.ts +10 -9
  237. package/dist/functions/helpers/validate-composition.js +16 -13
  238. package/dist/functions/helpers/write-lambda-error.d.ts +2 -2
  239. package/dist/functions/helpers/write-lambda-error.js +0 -0
  240. package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
  241. package/dist/functions/helpers/write-post-render-data.js +0 -0
  242. package/dist/functions/index.d.ts +1 -7
  243. package/dist/functions/index.js +43 -10
  244. package/dist/functions/info.d.ts +0 -0
  245. package/dist/functions/info.js +0 -0
  246. package/dist/functions/launch.d.ts +2 -1
  247. package/dist/functions/launch.js +151 -134
  248. package/dist/functions/progress.d.ts +1 -1
  249. package/dist/functions/progress.js +2 -2
  250. package/dist/functions/renderer.d.ts +1 -1
  251. package/dist/functions/renderer.js +73 -44
  252. package/dist/functions/start.d.ts +1 -1
  253. package/dist/functions/start.js +21 -8
  254. package/dist/functions/still.d.ts +1 -1
  255. package/dist/functions/still.js +78 -37
  256. package/dist/index.d.ts +24 -8
  257. package/dist/index.js +23 -6
  258. package/dist/internals.d.ts +3 -1
  259. package/dist/internals.js +3 -0
  260. package/dist/pricing/aws-regions.d.ts +3 -2
  261. package/dist/pricing/aws-regions.js +31 -1
  262. package/dist/pricing/price-per-1-s.d.ts +0 -0
  263. package/dist/pricing/price-per-1-s.js +413 -39
  264. package/dist/regions.d.ts +0 -0
  265. package/dist/regions.js +0 -0
  266. package/dist/shared/await.d.ts +1 -1
  267. package/dist/shared/await.js +0 -0
  268. package/dist/shared/aws-clients.d.ts +6 -3
  269. package/dist/shared/aws-clients.js +75 -13
  270. package/dist/shared/bundle-site.d.ts +0 -0
  271. package/dist/shared/bundle-site.js +0 -0
  272. package/dist/shared/call-lambda.d.ts +0 -0
  273. package/dist/shared/call-lambda.js +27 -2
  274. package/dist/shared/check-credentials.d.ts +0 -0
  275. package/dist/shared/check-credentials.js +3 -0
  276. package/dist/shared/chunk-progress.d.ts +9 -0
  277. package/dist/shared/chunk-progress.js +2034 -0
  278. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  279. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  280. package/dist/shared/constants.d.ts +135 -89
  281. package/dist/shared/constants.js +7 -4
  282. package/dist/shared/content-disposition-header.d.ts +1 -1
  283. package/dist/shared/content-disposition-header.js +0 -0
  284. package/dist/shared/convert-to-serve-url.d.ts +5 -1
  285. package/dist/shared/convert-to-serve-url.js +1 -5
  286. package/dist/shared/deserialize-input-props.d.ts +8 -0
  287. package/dist/shared/deserialize-input-props.js +26 -0
  288. package/dist/shared/docs-url.d.ts +0 -0
  289. package/dist/shared/docs-url.js +0 -0
  290. package/dist/shared/function-zip-path.d.ts +1 -1
  291. package/dist/shared/function-zip-path.js +3 -3
  292. package/dist/shared/get-account-id.d.ts +0 -0
  293. package/dist/shared/get-account-id.js +4 -6
  294. package/dist/shared/{get-cloudwatch-stream-url.d.ts → get-aws-urls.d.ts} +7 -1
  295. package/dist/shared/get-aws-urls.js +12 -0
  296. package/dist/shared/get-etag.d.ts +1 -0
  297. package/dist/shared/get-etag.js +24 -0
  298. package/dist/shared/get-function-version.d.ts +0 -0
  299. package/dist/shared/get-function-version.js +0 -0
  300. package/dist/shared/get-most-expensive-chunks.d.ts +2 -2
  301. package/dist/shared/get-most-expensive-chunks.js +3 -2
  302. package/dist/shared/get-s3-operations.d.ts +10 -0
  303. package/dist/shared/get-s3-operations.js +36 -0
  304. package/dist/shared/hosted-layers.d.ts +5 -8
  305. package/dist/shared/hosted-layers.js +210 -284
  306. package/dist/shared/invoke-webhook.d.ts +5 -18
  307. package/dist/shared/invoke-webhook.js +4 -19
  308. package/dist/shared/is-in-lambda.d.ts +0 -0
  309. package/dist/shared/is-in-lambda.js +0 -0
  310. package/dist/shared/lambda-version-string.d.ts +0 -0
  311. package/dist/shared/lambda-version-string.js +0 -0
  312. package/dist/shared/make-s3-key.d.ts +0 -0
  313. package/dist/shared/make-s3-key.js +2 -2
  314. package/dist/shared/make-s3-url.d.ts +0 -0
  315. package/dist/shared/make-s3-url.js +2 -2
  316. package/dist/shared/p-limit.d.ts +0 -0
  317. package/dist/shared/p-limit.js +0 -0
  318. package/dist/shared/parse-chunk-key.d.ts +4 -0
  319. package/dist/shared/parse-chunk-key.js +14 -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 +1 -1
  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/read-dir.d.ts +9 -0
  327. package/dist/shared/read-dir.js +57 -0
  328. package/dist/shared/return-values.d.ts +7 -0
  329. package/dist/shared/return-values.js +0 -0
  330. package/dist/shared/serialize-input-props.d.ts +8 -0
  331. package/dist/shared/serialize-input-props.js +42 -0
  332. package/dist/shared/sleep.d.ts +0 -0
  333. package/dist/shared/sleep.js +0 -0
  334. package/dist/shared/stream-to-string.d.ts +0 -0
  335. package/dist/shared/stream-to-string.js +0 -0
  336. package/dist/shared/truthy.d.ts +1 -1
  337. package/dist/shared/truthy.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 +5 -0
  341. package/dist/shared/validate-bucketname.js +19 -1
  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 +2 -2
  351. package/dist/shared/validate-lambda-codec.js +1 -1
  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 +2 -2
  355. package/dist/shared/validate-outname.js +16 -10
  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 +1 -1
  359. package/dist/shared/validate-privacy.js +5 -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 +89 -65
  371. package/remotionlambda-arm64.zip +0 -0
  372. package/.prettierrc.js +0 -14
  373. package/client.d.ts +0 -1
  374. package/client.js +0 -1
  375. package/dist/api/enable-s3-website.d.ts +0 -5
  376. package/dist/api/enable-s3-website.js +0 -16
  377. package/dist/cli/helpers/determine-image-format.d.ts +0 -10
  378. package/dist/cli/helpers/determine-image-format.js +0 -47
  379. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
  380. package/dist/cli/helpers/get-cloudwatch-stream-url.js +0 -7
  381. package/dist/cli/helpers/webhook-types.d.ts +0 -6
  382. package/dist/cli/helpers/webhook-types.js +0 -2
  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 -47
  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/functions/helpers/get-current-architecture.d.ts +0 -2
  404. package/dist/functions/helpers/get-current-architecture.js +0 -11
  405. package/dist/shared/get-cloudwatch-stream-url.js +0 -7
  406. package/dist/shared/validate-architecture.d.ts +0 -4
  407. package/dist/shared/validate-architecture.js +0 -14
  408. package/remotionlambda.zip +0 -0
  409. package/tsconfig.json +0 -16
@@ -0,0 +1,8 @@
1
+ import type { _Object } from '@aws-sdk/client-s3';
2
+ import type { RenderMetadata } from '../../defaults';
3
+ import type { EnhancedErrorInfo } from './write-lambda-error';
4
+ export declare const makeTimeoutError: ({ timeoutInMilliseconds, chunks, renderMetadata, }: {
5
+ timeoutInMilliseconds: number;
6
+ chunks: _Object[];
7
+ renderMetadata: RenderMetadata;
8
+ }) => EnhancedErrorInfo;
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeTimeoutError = void 0;
4
+ const parse_chunk_key_1 = require("../../shared/parse-chunk-key");
5
+ const make_timeout_message_1 = require("./make-timeout-message");
6
+ const makeTimeoutError = ({ timeoutInMilliseconds, chunks, renderMetadata, }) => {
7
+ const availableChunks = chunks.map((c) => (0, parse_chunk_key_1.parseLambdaChunkKey)(c.Key));
8
+ const missingChunks = new Array(renderMetadata.totalChunks)
9
+ .fill(true)
10
+ .filter((_, i) => {
11
+ return !availableChunks.find((c) => c.chunk === i);
12
+ })
13
+ .map((_, i) => i);
14
+ const message = (0, make_timeout_message_1.makeTimeoutMessage)({
15
+ missingChunks,
16
+ renderMetadata,
17
+ timeoutInMilliseconds,
18
+ });
19
+ return {
20
+ attempt: 1,
21
+ chunk: null,
22
+ explanation: message,
23
+ frame: null,
24
+ isFatal: true,
25
+ s3Location: '',
26
+ stack: new Error().stack,
27
+ tmpDir: null,
28
+ totalAttempts: 1,
29
+ type: 'stitcher',
30
+ willRetry: false,
31
+ message,
32
+ name: 'TimeoutError',
33
+ };
34
+ };
35
+ exports.makeTimeoutError = makeTimeoutError;
@@ -0,0 +1,6 @@
1
+ import type { RenderMetadata } from '../../defaults';
2
+ export declare const makeTimeoutMessage: ({ timeoutInMilliseconds, missingChunks, renderMetadata, }: {
3
+ timeoutInMilliseconds: number;
4
+ missingChunks: number[];
5
+ renderMetadata: RenderMetadata;
6
+ }) => string;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeTimeoutMessage = void 0;
4
+ const docs_url_1 = require("../../shared/docs-url");
5
+ const makeChunkMissingMessage = ({ missingChunks, renderMetadata, }) => {
6
+ const missingChunksMessageList = missingChunks
7
+ .map((ch) => {
8
+ const isLastChunk = ch === renderMetadata.totalChunks - 1;
9
+ const start = ch * renderMetadata.framesPerLambda;
10
+ const end = isLastChunk
11
+ ? renderMetadata.frameRange[1]
12
+ : (ch + 1) * renderMetadata.framesPerLambda - 1;
13
+ return `Chunk ${ch} (Frames ${start} - ${end})`;
14
+ })
15
+ .slice(0, 5);
16
+ if (missingChunksMessageList.length === 0) {
17
+ return 'All chunks have been successfully rendered, but the main function has timed out.';
18
+ }
19
+ return `The following chunks are missing (showing ${missingChunksMessageList.length} out of ${missingChunks.length}): ${missingChunksMessageList.join(', ')}.`;
20
+ };
21
+ const makeTimeoutMessage = ({ timeoutInMilliseconds, missingChunks, renderMetadata, }) => {
22
+ const message = [
23
+ `The main function timed out after ${timeoutInMilliseconds}ms.`,
24
+ `Consider increasing the timeout of your function.`,
25
+ makeChunkMissingMessage({ missingChunks, renderMetadata }),
26
+ `You can use the "--timeout" parameter when deploying a function via CLI, or the "timeoutInSeconds" parameter when using the deployFunction() API.`,
27
+ `${docs_url_1.DOCS_URL}/docs/lambda/cli/functions#deploy`,
28
+ ].join('\n');
29
+ return message;
30
+ };
31
+ exports.makeTimeoutMessage = makeTimeoutMessage;
File without changes
File without changes
File without changes
File without changes
@@ -1,6 +1,6 @@
1
1
  import type { AwsRegion } from '../../pricing/aws-regions';
2
2
  import type { CustomCredentials } from '../../shared/aws-clients';
3
- export declare type LambdaReadFileProgress = (progress: {
3
+ export type LambdaReadFileProgress = (progress: {
4
4
  totalSize: number;
5
5
  downloaded: number;
6
6
  percent: number;
@@ -9,7 +9,7 @@ const lambdaDownloadFileWithProgress = async ({ bucketName, key, region, expecte
9
9
  const client = (0, aws_clients_1.getS3Client)(region, customCredentials);
10
10
  const command = new client_s3_1.GetObjectCommand({
11
11
  Bucket: bucketName,
12
- ExpectedBucketOwner: expectedBucketOwner,
12
+ ExpectedBucketOwner: customCredentials ? undefined : expectedBucketOwner,
13
13
  Key: key,
14
14
  });
15
15
  const presigned = await (0, s3_request_presigner_1.getSignedUrl)(client, command);
@@ -0,0 +1,16 @@
1
+ /// <reference types="node" />
2
+ import { Stream } from 'stream';
3
+ export declare class ResponseStream extends Stream.Writable {
4
+ private response;
5
+ _contentType?: string;
6
+ _isBase64Encoded?: boolean;
7
+ constructor();
8
+ _write(chunk: string, encoding: BufferEncoding, callback: (error?: Error | null) => void): void;
9
+ getBufferedData(): Buffer;
10
+ setContentType(contentType: string): void;
11
+ setIsBase64Encoded(isBase64Encoded: boolean): void;
12
+ }
13
+ export declare const HANDLER_STREAMING: unique symbol;
14
+ export declare const STREAM_RESPONSE = "response";
15
+ export declare function isInAWS(handler: Function): boolean;
16
+ export declare function streamifyResponse(handler: Function): Function;
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.streamifyResponse = exports.isInAWS = exports.STREAM_RESPONSE = exports.HANDLER_STREAMING = exports.ResponseStream = void 0;
4
+ const stream_1 = require("stream");
5
+ class ResponseStream extends stream_1.Stream.Writable {
6
+ constructor() {
7
+ super();
8
+ this.response = [];
9
+ }
10
+ _write(chunk, encoding, callback) {
11
+ this.response.push(Buffer.from(chunk, encoding));
12
+ callback();
13
+ }
14
+ getBufferedData() {
15
+ return Buffer.concat(this.response);
16
+ }
17
+ setContentType(contentType) {
18
+ this._contentType = contentType;
19
+ }
20
+ setIsBase64Encoded(isBase64Encoded) {
21
+ this._isBase64Encoded = isBase64Encoded;
22
+ }
23
+ }
24
+ exports.ResponseStream = ResponseStream;
25
+ exports.HANDLER_STREAMING = Symbol.for('aws.lambda.runtime.handler.streaming');
26
+ exports.STREAM_RESPONSE = 'response';
27
+ function isInAWS(handler) {
28
+ return (
29
+ // @ts-expect-error
30
+ handler[exports.HANDLER_STREAMING] !== undefined &&
31
+ // @ts-expect-error
32
+ handler[exports.HANDLER_STREAMING] === exports.STREAM_RESPONSE);
33
+ }
34
+ exports.isInAWS = isInAWS;
35
+ function streamifyResponse(handler) {
36
+ // Check for global awslambda
37
+ if (isInAWS(handler)) {
38
+ // @ts-expect-error
39
+ return awslambda.streamifyResponse(handler);
40
+ }
41
+ return new Proxy(handler, {
42
+ async apply(target, _, argList) {
43
+ const responseStream = patchArgs(argList);
44
+ await target(...argList);
45
+ return {
46
+ statusCode: 200,
47
+ headers: {
48
+ 'content-type': responseStream._contentType || 'application/json',
49
+ },
50
+ ...(responseStream._isBase64Encoded
51
+ ? { isBase64Encoded: responseStream._isBase64Encoded }
52
+ : {}),
53
+ body: responseStream._isBase64Encoded
54
+ ? responseStream.getBufferedData().toString('base64')
55
+ : responseStream.getBufferedData().toString(),
56
+ };
57
+ },
58
+ });
59
+ }
60
+ exports.streamifyResponse = streamifyResponse;
61
+ function patchArgs(argList) {
62
+ if (!(argList[1] instanceof ResponseStream)) {
63
+ const responseStream = new ResponseStream();
64
+ argList.splice(1, 0, responseStream);
65
+ }
66
+ return argList[1];
67
+ }
File without changes
File without changes
@@ -1,18 +1,19 @@
1
- import type { ChromiumOptions, DownloadMap, FfmpegExecutable, openBrowser } from '@remotion/renderer';
2
- import type { TCompMetadata } from 'remotion';
1
+ import type { ChromiumOptions, LogLevel, openBrowser, RemotionServer } from '@remotion/renderer';
2
+ import type { AnyCompMetadata } from 'remotion';
3
3
  import type { Await } from '../../shared/await';
4
- declare type ValidateCompositionOptions = {
4
+ type ValidateCompositionOptions = {
5
5
  serveUrl: string;
6
6
  composition: string;
7
7
  browserInstance: Await<ReturnType<typeof openBrowser>>;
8
- inputProps: unknown;
9
- envVariables: Record<string, string> | undefined;
10
- ffmpegExecutable: FfmpegExecutable;
11
- ffprobeExecutable: FfmpegExecutable;
8
+ inputProps: Record<string, unknown>;
9
+ envVariables: Record<string, string>;
12
10
  timeoutInMilliseconds: number;
13
11
  chromiumOptions: ChromiumOptions;
14
12
  port: number | null;
15
- downloadMap: DownloadMap;
13
+ forceHeight: number | null;
14
+ forceWidth: number | null;
15
+ logLevel: LogLevel;
16
+ server: RemotionServer | undefined;
16
17
  };
17
- export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, ffprobeExecutable, chromiumOptions, port, downloadMap, }: ValidateCompositionOptions) => Promise<TCompMetadata>;
18
+ export declare const validateComposition: ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, chromiumOptions, port, forceHeight, forceWidth, logLevel, server, }: ValidateCompositionOptions) => Promise<AnyCompMetadata>;
18
19
  export {};
@@ -2,24 +2,27 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.validateComposition = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
- const validateComposition = async ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, ffmpegExecutable, ffprobeExecutable, chromiumOptions, port, downloadMap, }) => {
6
- const compositions = await (0, renderer_1.getCompositions)(serveUrl, {
5
+ const get_chromium_executable_path_1 = require("./get-chromium-executable-path");
6
+ const validateComposition = async ({ serveUrl, composition, browserInstance, inputProps, envVariables, timeoutInMilliseconds, chromiumOptions, port, forceHeight, forceWidth, logLevel, server, }) => {
7
+ const comp = await renderer_1.RenderInternals.internalSelectComposition({
8
+ id: composition,
7
9
  puppeteerInstance: browserInstance,
8
- inputProps: inputProps,
10
+ inputProps,
9
11
  envVariables,
10
- ffmpegExecutable,
11
- ffprobeExecutable,
12
12
  timeoutInMilliseconds,
13
13
  chromiumOptions,
14
14
  port,
15
- downloadMap,
15
+ browserExecutable: (0, get_chromium_executable_path_1.executablePath)(),
16
+ serveUrl,
17
+ logLevel,
18
+ indent: false,
19
+ onBrowserLog: null,
20
+ server,
16
21
  });
17
- const found = compositions.find((c) => c.id === composition);
18
- if (!found) {
19
- throw new Error(`No composition with ID ${composition} found. Available compositions: ${compositions
20
- .map((c) => c.id)
21
- .join(', ')}`);
22
- }
23
- return found;
22
+ return {
23
+ ...comp,
24
+ height: forceHeight !== null && forceHeight !== void 0 ? forceHeight : comp.height,
25
+ width: forceWidth !== null && forceWidth !== void 0 ? forceWidth : comp.width,
26
+ };
24
27
  };
25
28
  exports.validateComposition = validateComposition;
@@ -1,5 +1,5 @@
1
1
  import type { FileNameAndSize } from './get-files-in-folder';
2
- export declare type LambdaErrorInfo = {
2
+ export type LambdaErrorInfo = {
3
3
  type: 'renderer' | 'browser' | 'stitcher' | 'webhook';
4
4
  message: string;
5
5
  name: string;
@@ -16,7 +16,7 @@ export declare type LambdaErrorInfo = {
16
16
  } | null;
17
17
  };
18
18
  export declare const getTmpDirStateIfENoSp: (err: string) => LambdaErrorInfo['tmpDir'];
19
- export declare type EnhancedErrorInfo = LambdaErrorInfo & {
19
+ export type EnhancedErrorInfo = LambdaErrorInfo & {
20
20
  s3Location: string;
21
21
  explanation: string | null;
22
22
  };
File without changes
File without changes
@@ -1,7 +1 @@
1
- import type { LambdaPayload } from '../shared/constants';
2
- import { LambdaRoutines } from '../shared/constants';
3
- import type { LambdaReturnValues } from '../shared/return-values';
4
- export declare const handler: <T extends LambdaRoutines>(params: LambdaPayload, context: {
5
- invokedFunctionArn: string;
6
- getRemainingTimeInMillis: () => number;
7
- }) => Promise<LambdaReturnValues[T]>;
1
+ export declare const handler: Function;
@@ -3,19 +3,21 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.handler = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
5
  const constants_1 = require("../shared/constants");
6
+ const compositions_1 = require("./compositions");
6
7
  const clean_tmpdir_1 = require("./helpers/clean-tmpdir");
7
8
  const is_warm_1 = require("./helpers/is-warm");
8
9
  const print_cloudwatch_helper_1 = require("./helpers/print-cloudwatch-helper");
10
+ const streamify_response_1 = require("./helpers/streamify-response");
9
11
  const info_1 = require("./info");
10
12
  const launch_1 = require("./launch");
11
13
  const progress_1 = require("./progress");
12
14
  const renderer_2 = require("./renderer");
13
15
  const start_1 = require("./start");
14
16
  const still_1 = require("./still");
15
- const handler = async (params, context) => {
17
+ exports.handler = (0, streamify_response_1.streamifyResponse)(async (params, responseStream, context) => {
16
18
  process.env.__RESERVED_IS_INSIDE_REMOTION_LAMBDA = 'true';
17
19
  const timeoutInMilliseconds = context.getRemainingTimeInMillis();
18
- if (!context || !context.invokedFunctionArn) {
20
+ if (!(context === null || context === void 0 ? void 0 : context.invokedFunctionArn)) {
19
21
  throw new Error('Lambda function unexpectedly does not have context.invokedFunctionArn');
20
22
  }
21
23
  (0, clean_tmpdir_1.deleteTmpDir)();
@@ -27,16 +29,24 @@ const handler = async (params, context) => {
27
29
  inputProps: JSON.stringify(params.inputProps),
28
30
  isWarm,
29
31
  });
30
- return (0, still_1.stillHandler)(params, {
32
+ const response = await (0, still_1.stillHandler)(params, {
31
33
  expectedBucketOwner: currentUserId,
32
34
  });
35
+ responseStream.write(JSON.stringify(response));
36
+ responseStream.end();
37
+ return;
33
38
  }
34
39
  if (params.type === constants_1.LambdaRoutines.start) {
35
40
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.start, {
36
41
  inputProps: JSON.stringify(params.inputProps),
37
42
  isWarm,
38
43
  });
39
- return (0, start_1.startHandler)(params, { expectedBucketOwner: currentUserId });
44
+ const response = await (0, start_1.startHandler)(params, {
45
+ expectedBucketOwner: currentUserId,
46
+ });
47
+ responseStream.write(JSON.stringify(response));
48
+ responseStream.end();
49
+ return;
40
50
  }
41
51
  if (params.type === constants_1.LambdaRoutines.launch) {
42
52
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.launch, {
@@ -44,17 +54,25 @@ const handler = async (params, context) => {
44
54
  inputProps: JSON.stringify(params.inputProps),
45
55
  isWarm,
46
56
  });
47
- return (0, launch_1.launchHandler)(params, { expectedBucketOwner: currentUserId });
57
+ await (0, launch_1.launchHandler)(params, {
58
+ expectedBucketOwner: currentUserId,
59
+ getRemainingTimeInMillis: context.getRemainingTimeInMillis,
60
+ });
61
+ responseStream.end();
62
+ return;
48
63
  }
49
64
  if (params.type === constants_1.LambdaRoutines.status) {
50
65
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.status, {
51
66
  renderId: params.renderId,
52
67
  isWarm,
53
68
  });
54
- return (0, progress_1.progressHandler)(params, {
69
+ const response = await (0, progress_1.progressHandler)(params, {
55
70
  expectedBucketOwner: currentUserId,
56
71
  timeoutInMilliseconds,
57
72
  });
73
+ responseStream.write(JSON.stringify(response));
74
+ responseStream.end();
75
+ return;
58
76
  }
59
77
  if (params.type === constants_1.LambdaRoutines.renderer) {
60
78
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.renderer, {
@@ -64,17 +82,32 @@ const handler = async (params, context) => {
64
82
  inputProps: JSON.stringify(params.inputProps),
65
83
  isWarm,
66
84
  });
67
- return (0, renderer_2.rendererHandler)(params, {
85
+ await (0, renderer_2.rendererHandler)(params, {
68
86
  expectedBucketOwner: currentUserId,
69
87
  isWarm,
70
88
  });
89
+ responseStream.end();
90
+ return;
71
91
  }
72
92
  if (params.type === constants_1.LambdaRoutines.info) {
73
93
  (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.info, {
74
94
  isWarm,
75
95
  });
76
- return (0, info_1.infoHandler)(params);
96
+ const response = await (0, info_1.infoHandler)(params);
97
+ responseStream.write(JSON.stringify(response));
98
+ responseStream.end();
99
+ return;
100
+ }
101
+ if (params.type === constants_1.LambdaRoutines.compositions) {
102
+ (0, print_cloudwatch_helper_1.printCloudwatchHelper)(constants_1.LambdaRoutines.compositions, {
103
+ isWarm,
104
+ });
105
+ const response = await (0, compositions_1.compositionsHandler)(params, {
106
+ expectedBucketOwner: currentUserId,
107
+ });
108
+ responseStream.write(JSON.stringify(response));
109
+ responseStream.end();
110
+ return;
77
111
  }
78
112
  throw new Error(constants_1.COMMAND_NOT_FOUND);
79
- };
80
- exports.handler = handler;
113
+ });
File without changes
File without changes
@@ -1,6 +1,7 @@
1
1
  import type { LambdaPayload } from '../shared/constants';
2
- declare type Options = {
2
+ type Options = {
3
3
  expectedBucketOwner: string;
4
+ getRemainingTimeInMillis: () => number;
4
5
  };
5
6
  export declare const launchHandler: (params: LambdaPayload, options: Options) => Promise<void>;
6
7
  export {};