@remotion/lambda 4.0.0-reorg.8 → 4.0.0-retry.10

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 (367) 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 +6 -6
  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 +4 -2
  22. package/dist/api/deploy-site.d.ts +2 -0
  23. package/dist/api/deploy-site.js +2 -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 +1 -2
  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 +2 -1
  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 +5 -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 +4 -5
  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 +6 -1
  60. package/dist/api/render-media-on-lambda.d.ts +22 -10
  61. package/dist/api/render-media-on-lambda.js +77 -40
  62. package/dist/api/render-still-on-lambda.d.ts +6 -3
  63. package/dist/api/render-still-on-lambda.js +55 -29
  64. package/dist/api/upload-dir.d.ts +0 -0
  65. package/dist/api/upload-dir.js +6 -2
  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 +2 -1
  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 +0 -0
  97. package/dist/cli/commands/render/progress.js +0 -0
  98. package/dist/cli/commands/render/render.d.ts +0 -0
  99. package/dist/cli/commands/render/render.js +38 -22
  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 +0 -0
  111. package/dist/cli/commands/still.js +35 -24
  112. package/dist/cli/get-aws-region.d.ts +0 -0
  113. package/dist/cli/get-aws-region.js +2 -1
  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 +3 -2
  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 +7 -6
  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/plan-frame-ranges.d.ts +2 -9
  139. package/dist/functions/chunk-optimization/plan-frame-ranges.js +1 -14
  140. package/dist/functions/chunk-optimization/types.d.ts +0 -12
  141. package/dist/functions/chunk-optimization/types.js +0 -0
  142. package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
  143. package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
  144. package/dist/functions/helpers/calculate-chunk-times.d.ts +0 -0
  145. package/dist/functions/helpers/calculate-chunk-times.js +0 -0
  146. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +0 -0
  147. package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
  148. package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
  149. package/dist/functions/helpers/check-if-render-exists.js +14 -0
  150. package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
  151. package/dist/functions/helpers/clean-tmpdir.js +1 -1
  152. package/dist/functions/helpers/concat-videos.d.ts +3 -1
  153. package/dist/functions/helpers/concat-videos.js +25 -9
  154. package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
  155. package/dist/functions/helpers/create-post-render-data.js +7 -2
  156. package/dist/functions/helpers/delete-chunks.d.ts +0 -0
  157. package/dist/functions/helpers/delete-chunks.js +0 -0
  158. package/dist/functions/helpers/expected-out-name.d.ts +4 -2
  159. package/dist/functions/helpers/expected-out-name.js +26 -5
  160. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +3 -1
  161. package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
  162. package/dist/functions/helpers/format-costs-info.d.ts +0 -0
  163. package/dist/functions/helpers/format-costs-info.js +0 -0
  164. package/dist/functions/helpers/get-browser-instance.d.ts +0 -0
  165. package/dist/functions/helpers/get-browser-instance.js +0 -0
  166. package/dist/functions/helpers/get-chromium-executable-path.d.ts +0 -0
  167. package/dist/functions/helpers/get-chromium-executable-path.js +0 -0
  168. package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
  169. package/dist/functions/helpers/get-cleanup-progress.js +0 -0
  170. package/dist/functions/helpers/get-current-architecture.d.ts +0 -0
  171. package/dist/functions/helpers/get-current-architecture.js +0 -0
  172. package/dist/functions/helpers/get-current-region.d.ts +0 -0
  173. package/dist/functions/helpers/get-current-region.js +0 -0
  174. package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
  175. package/dist/functions/helpers/get-custom-out-name.js +31 -0
  176. package/dist/functions/helpers/get-encoding-metadata.d.ts +0 -0
  177. package/dist/functions/helpers/get-encoding-metadata.js +0 -0
  178. package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
  179. package/dist/functions/helpers/get-files-in-folder.js +0 -0
  180. package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
  181. package/dist/functions/helpers/get-files-to-delete.js +1 -1
  182. package/dist/functions/helpers/get-final-encoding-status.d.ts +0 -0
  183. package/dist/functions/helpers/get-final-encoding-status.js +0 -0
  184. package/dist/functions/helpers/get-folder-size.d.ts +0 -0
  185. package/dist/functions/helpers/get-folder-size.js +0 -0
  186. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +7 -2
  187. package/dist/functions/helpers/get-lambdas-invoked-stats.js +8 -8
  188. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +2 -1
  189. package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
  190. package/dist/functions/helpers/get-overall-progress.d.ts +0 -0
  191. package/dist/functions/helpers/get-overall-progress.js +0 -0
  192. package/dist/functions/helpers/get-post-render-data.d.ts +0 -0
  193. package/dist/functions/helpers/get-post-render-data.js +0 -0
  194. package/dist/functions/helpers/get-progress.d.ts +4 -2
  195. package/dist/functions/helpers/get-progress.js +20 -7
  196. package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
  197. package/dist/functions/helpers/get-render-metadata.js +0 -0
  198. package/dist/functions/helpers/get-retry-stats.d.ts +0 -0
  199. package/dist/functions/helpers/get-retry-stats.js +1 -1
  200. package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
  201. package/dist/functions/helpers/get-time-to-finish.js +0 -0
  202. package/dist/functions/helpers/inspect-errors.d.ts +0 -0
  203. package/dist/functions/helpers/inspect-errors.js +0 -0
  204. package/dist/functions/helpers/io.d.ts +17 -1
  205. package/dist/functions/helpers/io.js +29 -8
  206. package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
  207. package/dist/functions/helpers/is-enosp-err.js +0 -0
  208. package/dist/functions/helpers/is-warm.d.ts +0 -0
  209. package/dist/functions/helpers/is-warm.js +0 -0
  210. package/dist/functions/helpers/min-max.d.ts +1 -1
  211. package/dist/functions/helpers/min-max.js +1 -1
  212. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +1 -1
  213. package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
  214. package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
  215. package/dist/functions/helpers/print-concurrency-curve.js +0 -0
  216. package/dist/functions/helpers/read-with-progress.d.ts +3 -1
  217. package/dist/functions/helpers/read-with-progress.js +3 -3
  218. package/dist/functions/helpers/timer.d.ts +0 -0
  219. package/dist/functions/helpers/timer.js +0 -0
  220. package/dist/functions/helpers/validate-composition.d.ts +5 -2
  221. package/dist/functions/helpers/validate-composition.js +7 -2
  222. package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
  223. package/dist/functions/helpers/write-lambda-error.js +1 -0
  224. package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
  225. package/dist/functions/helpers/write-post-render-data.js +1 -0
  226. package/dist/functions/index.d.ts +0 -0
  227. package/dist/functions/index.js +16 -6
  228. package/dist/functions/info.d.ts +2 -2
  229. package/dist/functions/info.js +2 -1
  230. package/dist/functions/launch.d.ts +1 -0
  231. package/dist/functions/launch.js +272 -79
  232. package/dist/functions/progress.d.ts +1 -1
  233. package/dist/functions/progress.js +10 -1
  234. package/dist/functions/renderer.d.ts +0 -0
  235. package/dist/functions/renderer.js +123 -73
  236. package/dist/functions/start.d.ts +5 -1
  237. package/dist/functions/start.js +27 -1
  238. package/dist/functions/still.d.ts +0 -0
  239. package/dist/functions/still.js +42 -8
  240. package/dist/index.d.ts +8 -2
  241. package/dist/index.js +5 -1
  242. package/dist/internals.d.ts +1 -1
  243. package/dist/internals.js +0 -0
  244. package/dist/pricing/aws-regions.d.ts +0 -0
  245. package/dist/pricing/aws-regions.js +0 -0
  246. package/dist/pricing/price-per-1-s.d.ts +0 -0
  247. package/dist/pricing/price-per-1-s.js +0 -0
  248. package/dist/regions.d.ts +0 -0
  249. package/dist/regions.js +0 -0
  250. package/dist/shared/await.d.ts +0 -0
  251. package/dist/shared/await.js +0 -0
  252. package/dist/shared/aws-clients.d.ts +13 -2
  253. package/dist/shared/aws-clients.js +56 -26
  254. package/dist/shared/bundle-site.d.ts +2 -1
  255. package/dist/shared/bundle-site.js +0 -0
  256. package/dist/shared/call-lambda.d.ts +0 -0
  257. package/dist/shared/call-lambda.js +0 -0
  258. package/dist/shared/check-credentials.d.ts +0 -0
  259. package/dist/shared/check-credentials.js +0 -0
  260. package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
  261. package/dist/shared/cleanup-serialized-input-props.js +19 -0
  262. package/dist/shared/constants.d.ts +57 -15
  263. package/dist/shared/constants.js +19 -10
  264. package/dist/shared/content-disposition-header.d.ts +0 -0
  265. package/dist/shared/content-disposition-header.js +0 -0
  266. package/dist/shared/convert-to-serve-url.d.ts +0 -0
  267. package/dist/shared/convert-to-serve-url.js +0 -0
  268. package/dist/shared/deserialize-input-props.d.ts +8 -0
  269. package/dist/shared/deserialize-input-props.js +26 -0
  270. package/dist/shared/docs-url.d.ts +0 -0
  271. package/dist/shared/docs-url.js +0 -0
  272. package/dist/shared/function-zip-path.d.ts +0 -0
  273. package/dist/shared/function-zip-path.js +0 -0
  274. package/dist/shared/get-account-id.d.ts +0 -0
  275. package/dist/shared/get-account-id.js +0 -0
  276. package/dist/{cli/helpers → shared}/get-cloudwatch-stream-url.d.ts +2 -2
  277. package/dist/{cli/helpers → shared}/get-cloudwatch-stream-url.js +0 -0
  278. package/dist/shared/get-function-version.d.ts +1 -2
  279. package/dist/shared/get-function-version.js +0 -0
  280. package/dist/shared/get-most-expensive-chunks.d.ts +0 -0
  281. package/dist/shared/get-most-expensive-chunks.js +0 -0
  282. package/dist/shared/hosted-layers.d.ts +0 -0
  283. package/dist/shared/hosted-layers.js +60 -60
  284. package/dist/shared/invoke-webhook.d.ts +44 -0
  285. package/dist/shared/invoke-webhook.js +89 -0
  286. package/dist/shared/is-in-lambda.d.ts +0 -0
  287. package/dist/shared/is-in-lambda.js +5 -1
  288. package/dist/shared/lambda-version-string.d.ts +1 -0
  289. package/dist/shared/lambda-version-string.js +7 -0
  290. package/dist/shared/make-s3-key.d.ts +0 -0
  291. package/dist/shared/make-s3-key.js +0 -0
  292. package/dist/shared/make-s3-url.d.ts +0 -0
  293. package/dist/shared/make-s3-url.js +0 -0
  294. package/dist/shared/p-limit.d.ts +0 -0
  295. package/dist/shared/p-limit.js +0 -0
  296. package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
  297. package/dist/shared/parse-lambda-initialized-key.js +0 -0
  298. package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
  299. package/dist/shared/parse-lambda-timings-key.js +0 -0
  300. package/dist/shared/random-hash.d.ts +0 -0
  301. package/dist/shared/random-hash.js +0 -0
  302. package/dist/shared/return-values.d.ts +0 -0
  303. package/dist/shared/return-values.js +0 -0
  304. package/dist/shared/serialize-input-props.d.ts +7 -0
  305. package/dist/shared/serialize-input-props.js +42 -0
  306. package/dist/shared/sleep.d.ts +0 -0
  307. package/dist/shared/sleep.js +0 -0
  308. package/dist/shared/stream-to-string.d.ts +0 -0
  309. package/dist/shared/stream-to-string.js +0 -0
  310. package/dist/shared/truthy.d.ts +0 -0
  311. package/dist/shared/truthy.js +0 -0
  312. package/dist/shared/validate-architecture.d.ts +0 -0
  313. package/dist/shared/validate-architecture.js +0 -0
  314. package/dist/shared/validate-aws-region.d.ts +0 -0
  315. package/dist/shared/validate-aws-region.js +0 -0
  316. package/dist/shared/validate-bucketname.d.ts +0 -0
  317. package/dist/shared/validate-bucketname.js +0 -0
  318. package/dist/shared/validate-custom-role-arn.d.ts +0 -0
  319. package/dist/shared/validate-custom-role-arn.js +0 -0
  320. package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
  321. package/dist/shared/validate-disk-size-in-mb.js +0 -0
  322. package/dist/shared/validate-download-behavior.d.ts +0 -0
  323. package/dist/shared/validate-download-behavior.js +0 -0
  324. package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
  325. package/dist/shared/validate-frames-per-lambda.js +4 -3
  326. package/dist/shared/validate-lambda-codec.d.ts +1 -1
  327. package/dist/shared/validate-lambda-codec.js +1 -0
  328. package/dist/shared/validate-memory-size.d.ts +0 -0
  329. package/dist/shared/validate-memory-size.js +0 -0
  330. package/dist/shared/validate-outname.d.ts +3 -2
  331. package/dist/shared/validate-outname.js +5 -1
  332. package/dist/shared/validate-presign-expiration.d.ts +0 -0
  333. package/dist/shared/validate-presign-expiration.js +0 -0
  334. package/dist/shared/validate-privacy.d.ts +0 -0
  335. package/dist/shared/validate-privacy.js +2 -2
  336. package/dist/shared/validate-retention-period.d.ts +0 -0
  337. package/dist/shared/validate-retention-period.js +0 -0
  338. package/dist/shared/validate-retries.d.ts +0 -0
  339. package/dist/shared/validate-retries.js +0 -0
  340. package/dist/shared/validate-serveurl.d.ts +0 -0
  341. package/dist/shared/validate-serveurl.js +0 -0
  342. package/dist/shared/validate-site-name.d.ts +0 -0
  343. package/dist/shared/validate-site-name.js +0 -0
  344. package/dist/shared/validate-timeout.d.ts +0 -0
  345. package/dist/shared/validate-timeout.js +0 -0
  346. package/package.json +20 -23
  347. package/remotionlambda.zip +0 -0
  348. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
  349. package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
  350. package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
  351. package/dist/functions/chunk-optimization/collect-data.js +0 -27
  352. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
  353. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
  354. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
  355. package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
  356. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
  357. package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
  358. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
  359. package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
  360. package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
  361. package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
  362. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
  363. package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -46
  364. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
  365. package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
  366. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
  367. package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
@@ -28,6 +28,7 @@ const renderer_1 = require("@remotion/renderer");
28
28
  const fs_1 = __importStar(require("fs"));
29
29
  const path_1 = __importStar(require("path"));
30
30
  const constants_1 = require("../../shared/constants");
31
+ const inspect_errors_1 = require("./inspect-errors");
31
32
  const io_1 = require("./io");
32
33
  const timer_1 = require("./timer");
33
34
  const getChunkDownloadOutputLocation = ({ outdir, file, }) => {
@@ -50,11 +51,11 @@ const downloadS3File = async ({ bucket, key, outdir, region, expectedBucketOwner
50
51
  .on('close', () => resolve());
51
52
  });
52
53
  };
53
- const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expectedBucketOwner, }) => {
54
+ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expectedBucketOwner, onErrors, }) => {
54
55
  const alreadyDownloading = {};
55
56
  const downloaded = {};
56
57
  const getFiles = async () => {
57
- const prefix = (0, constants_1.chunkKey)(renderId);
58
+ const prefix = (0, constants_1.rendersPrefix)(renderId);
58
59
  const lsTimer = (0, timer_1.timer)('Listing files');
59
60
  const contents = await (0, io_1.lambdaLs)({
60
61
  bucketName: bucket,
@@ -63,13 +64,16 @@ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expect
63
64
  expectedBucketOwner,
64
65
  });
65
66
  lsTimer.end();
66
- return contents
67
- .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.chunkKey)(renderId)); })
68
- .map((_) => _.Key);
67
+ return {
68
+ filesInBucket: contents
69
+ .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.chunkKey)(renderId)); })
70
+ .map((_) => _.Key),
71
+ errorContents: contents.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.getErrorKeyPrefix)(renderId)); }),
72
+ };
69
73
  };
70
74
  return new Promise((resolve, reject) => {
71
75
  const loop = async () => {
72
- const filesInBucket = await getFiles();
76
+ const { filesInBucket, errorContents } = await getFiles();
73
77
  const checkFinish = () => {
74
78
  const areAllFilesDownloaded = Object.keys(downloaded).length === expectedFiles;
75
79
  console.log('Checking for finish... ', Object.keys(downloaded), expectedFiles + ' files expected');
@@ -79,6 +83,17 @@ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expect
79
83
  }
80
84
  };
81
85
  console.log('Found ', filesInBucket);
86
+ const errors = (await (0, inspect_errors_1.inspectErrors)({
87
+ bucket,
88
+ contents: errorContents,
89
+ expectedBucketOwner,
90
+ region,
91
+ renderId,
92
+ })).filter((e) => e.isFatal);
93
+ if (errors.length > 0) {
94
+ await onErrors(errors);
95
+ // Will die here
96
+ }
82
97
  filesInBucket.forEach(async (key) => {
83
98
  if (alreadyDownloading[key]) {
84
99
  return;
@@ -105,14 +120,14 @@ const getAllFilesS3 = ({ bucket, expectedFiles, outdir, renderId, region, expect
105
120
  const areAllFilesDownloading = Object.keys(alreadyDownloading).length === expectedFiles;
106
121
  if (!areAllFilesDownloading) {
107
122
  setTimeout(() => {
108
- loop();
123
+ loop().catch((err) => reject(err));
109
124
  }, 100);
110
125
  }
111
126
  };
112
- loop();
127
+ loop().catch((err) => reject(err));
113
128
  });
114
129
  };
115
- const concatVideosS3 = async ({ bucket, expectedFiles, onProgress, numberOfFrames, renderId, region, codec, expectedBucketOwner, fps, numberOfGifLoops, }) => {
130
+ const concatVideosS3 = async ({ bucket, expectedFiles, onProgress, numberOfFrames, renderId, region, codec, expectedBucketOwner, fps, numberOfGifLoops, onErrors, }) => {
116
131
  var _a;
117
132
  const outdir = (0, path_1.join)(renderer_1.RenderInternals.tmpDir(constants_1.CONCAT_FOLDER_TOKEN), 'bucket');
118
133
  if ((0, fs_1.existsSync)(outdir)) {
@@ -128,6 +143,7 @@ const concatVideosS3 = async ({ bucket, expectedFiles, onProgress, numberOfFrame
128
143
  renderId,
129
144
  region,
130
145
  expectedBucketOwner,
146
+ onErrors,
131
147
  });
132
148
  const outfile = (0, path_1.join)(renderer_1.RenderInternals.tmpDir(constants_1.REMOTION_CONCATED_TOKEN), 'concat.' + renderer_1.RenderInternals.getFileExtensionFromCodec(codec, 'final'));
133
149
  const combine = (0, timer_1.timer)('Combine videos');
@@ -12,7 +12,6 @@ const get_lambdas_invoked_stats_1 = require("./get-lambdas-invoked-stats");
12
12
  const get_retry_stats_1 = require("./get-retry-stats");
13
13
  const get_time_to_finish_1 = require("./get-time-to-finish");
14
14
  const createPostRenderData = ({ renderId, region, memorySizeInMb, renderMetadata, contents, timeToEncode, errorExplanations, timeToDelete, outputFile, }) => {
15
- var _a;
16
15
  const initializedKeys = contents.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaTimingsPrefix)(renderId)); });
17
16
  const parsedTimings = initializedKeys.map(({ Key }) => (0, parse_lambda_timings_key_1.parseLambdaTimingsKey)(Key));
18
17
  const times = parsedTimings
@@ -42,7 +41,13 @@ const createPostRenderData = ({ renderId, region, memorySizeInMb, renderMetadata
42
41
  const renderSize = contents
43
42
  .map((c) => { var _a; return (_a = c.Size) !== null && _a !== void 0 ? _a : 0; })
44
43
  .reduce((a, b) => a + b, 0);
45
- const { timeToInvokeLambdas } = (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)(contents, renderId, (_a = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.estimatedRenderLambdaInvokations) !== null && _a !== void 0 ? _a : null, renderMetadata.startedDate);
44
+ const { timeToInvokeLambdas } = (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)({
45
+ contents,
46
+ renderId,
47
+ estimatedRenderLambdaInvokations: renderMetadata.estimatedRenderLambdaInvokations,
48
+ startDate: renderMetadata.startedDate,
49
+ checkIfAllLambdasWereInvoked: false,
50
+ });
46
51
  const retriesInfo = (0, get_retry_stats_1.getRetryStats)({ contents, renderId });
47
52
  if (timeToInvokeLambdas === null) {
48
53
  throw new Error('should have timing for all lambdas');
File without changes
File without changes
@@ -1,2 +1,4 @@
1
- import type { OutNameOutput, RenderMetadata } from '../../defaults';
2
- export declare const getExpectedOutName: (renderMetadata: RenderMetadata, bucketName: string) => OutNameOutput;
1
+ import type { OutNameInput, OutNameOutput, RenderMetadata } from '../../defaults';
2
+ import type { CustomCredentials } from '../../shared/aws-clients';
3
+ export declare const getCredentialsFromOutName: (name: OutNameInput | null) => CustomCredentials | null;
4
+ export declare const getExpectedOutName: (renderMetadata: RenderMetadata, bucketName: string, customCredentials: CustomCredentials | null) => OutNameOutput;
@@ -1,24 +1,45 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getExpectedOutName = void 0;
3
+ exports.getExpectedOutName = exports.getCredentialsFromOutName = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
5
  const defaults_1 = require("../../defaults");
6
6
  const validate_outname_1 = require("../../shared/validate-outname");
7
- const getExpectedOutName = (renderMetadata, bucketName) => {
8
- if (renderMetadata.outName) {
9
- (0, validate_outname_1.validateOutname)(renderMetadata.outName);
10
- return (0, defaults_1.customOutName)(renderMetadata.renderId, bucketName, renderMetadata.outName);
7
+ const get_custom_out_name_1 = require("./get-custom-out-name");
8
+ const getCredentialsFromOutName = (name) => {
9
+ var _a;
10
+ if (typeof name === 'string') {
11
+ return null;
12
+ }
13
+ if (name === null) {
14
+ return null;
15
+ }
16
+ if (typeof name === 'undefined') {
17
+ return null;
18
+ }
19
+ return (_a = name.s3OutputProvider) !== null && _a !== void 0 ? _a : null;
20
+ };
21
+ exports.getCredentialsFromOutName = getCredentialsFromOutName;
22
+ const getExpectedOutName = (renderMetadata, bucketName, customCredentials) => {
23
+ const outNameValue = (0, get_custom_out_name_1.getCustomOutName)({
24
+ customCredentials,
25
+ renderMetadata,
26
+ });
27
+ if (outNameValue) {
28
+ (0, validate_outname_1.validateOutname)(outNameValue);
29
+ return (0, defaults_1.customOutName)(renderMetadata.renderId, bucketName, outNameValue);
11
30
  }
12
31
  if (renderMetadata.type === 'still') {
13
32
  return {
14
33
  renderBucketName: bucketName,
15
34
  key: (0, defaults_1.outStillName)(renderMetadata.renderId, renderMetadata.imageFormat),
35
+ customCredentials: null,
16
36
  };
17
37
  }
18
38
  if (renderMetadata.type === 'video') {
19
39
  return {
20
40
  renderBucketName: bucketName,
21
41
  key: (0, defaults_1.outName)(renderMetadata.renderId, renderer_1.RenderInternals.getFileExtensionFromCodec(renderMetadata.codec, 'final')),
42
+ customCredentials: null,
22
43
  };
23
44
  }
24
45
  throw new TypeError('no type passed');
@@ -1,12 +1,14 @@
1
1
  import type { AwsRegion } from '../..';
2
+ import type { CustomCredentials } from '../../shared/aws-clients';
2
3
  import type { RenderMetadata } from '../../shared/constants';
3
4
  export declare type OutputFileMetadata = {
4
5
  url: string;
5
6
  size: number;
6
7
  lastModified: number;
7
8
  };
8
- export declare const findOutputFileInBucket: ({ region, renderMetadata, bucketName, }: {
9
+ export declare const findOutputFileInBucket: ({ region, renderMetadata, bucketName, customCredentials, }: {
9
10
  region: AwsRegion;
10
11
  renderMetadata: RenderMetadata;
11
12
  bucketName: string;
13
+ customCredentials: CustomCredentials | null;
12
14
  }) => Promise<OutputFileMetadata | null>;
@@ -1,31 +1,39 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.findOutputFileInBucket = void 0;
4
- const client_s3_1 = require("@aws-sdk/client-s3");
5
- const aws_clients_1 = require("../../shared/aws-clients");
4
+ const suggested_policy_1 = require("../../api/iam-validation/suggested-policy");
6
5
  const expected_out_name_1 = require("./expected-out-name");
7
6
  const get_output_url_from_metadata_1 = require("./get-output-url-from-metadata");
8
- const findOutputFileInBucket = async ({ region, renderMetadata, bucketName, }) => {
7
+ const io_1 = require("./io");
8
+ const findOutputFileInBucket = async ({ region, renderMetadata, bucketName, customCredentials, }) => {
9
9
  var _a;
10
10
  if (!renderMetadata) {
11
11
  throw new Error('unexpectedly did not get renderMetadata');
12
12
  }
13
- const expectedOutData = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
13
+ const { renderBucketName, key } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, null);
14
14
  try {
15
- const head = await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.HeadObjectCommand({
16
- Bucket: expectedOutData.renderBucketName,
17
- Key: expectedOutData.key,
18
- }));
15
+ const head = await (0, io_1.lambdaHeadCommand)({
16
+ bucketName,
17
+ key,
18
+ region,
19
+ });
19
20
  return {
20
21
  lastModified: (_a = head.LastModified) === null || _a === void 0 ? void 0 : _a.getTime(),
21
22
  size: head.ContentLength,
22
- url: (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, bucketName),
23
+ url: (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, bucketName, customCredentials),
23
24
  };
24
25
  }
25
26
  catch (err) {
26
27
  if (err.name === 'NotFound') {
27
28
  return null;
28
29
  }
30
+ if (err.message === 'UnknownError' ||
31
+ err.$metadata
32
+ .httpStatusCode === 403) {
33
+ throw new Error(`Unable to access item "${key}" from bucket "${renderBucketName}" ${(customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.endpoint)
34
+ ? `(S3 Endpoint = ${customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.endpoint})`
35
+ : ''}. The "${suggested_policy_1.ROLE_NAME}" role must have permission for both "s3:GetObject" and "s3:ListBucket" actions.`);
36
+ }
29
37
  throw err;
30
38
  }
31
39
  };
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -0,0 +1,6 @@
1
+ import type { OutNameInput, RenderMetadata } from '../../defaults';
2
+ import type { CustomCredentials } from '../../shared/aws-clients';
3
+ export declare const getCustomOutName: ({ renderMetadata, customCredentials, }: {
4
+ renderMetadata: RenderMetadata;
5
+ customCredentials: CustomCredentials | null;
6
+ }) => OutNameInput | null;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCustomOutName = void 0;
4
+ const getCustomOutName = ({ renderMetadata, customCredentials, }) => {
5
+ var _a, _b;
6
+ if (!renderMetadata.outName) {
7
+ return null;
8
+ }
9
+ if (typeof renderMetadata.outName === 'string') {
10
+ return renderMetadata.outName;
11
+ }
12
+ if (renderMetadata.outName.s3OutputProvider) {
13
+ if (!customCredentials && renderMetadata.privacy === 'private') {
14
+ throw new TypeError(`The file was rendered with a custom S3 implementation and is not public, but no custom credentials were passed to downloadMedia().`);
15
+ }
16
+ return {
17
+ bucketName: renderMetadata.outName.bucketName,
18
+ key: renderMetadata.outName.key,
19
+ s3OutputProvider: {
20
+ endpoint: renderMetadata.outName.s3OutputProvider.endpoint,
21
+ accessKeyId: (_a = customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.accessKeyId) !== null && _a !== void 0 ? _a : null,
22
+ secretAccessKey: (_b = customCredentials === null || customCredentials === void 0 ? void 0 : customCredentials.secretAccessKey) !== null && _b !== void 0 ? _b : null,
23
+ },
24
+ };
25
+ }
26
+ return {
27
+ bucketName: renderMetadata.outName.bucketName,
28
+ key: renderMetadata.outName.key,
29
+ };
30
+ };
31
+ exports.getCustomOutName = getCustomOutName;
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -12,7 +12,7 @@ const getFilesToDelete = ({ chunkCount, renderId, }) => {
12
12
  .map((_x, i) => (0, constants_1.lambdaTimingsPrefixForChunk)(renderId, i));
13
13
  return [
14
14
  {
15
- name: (0, constants_1.lambdaInitializedPrefix)(renderId),
15
+ name: (0, constants_1.lambdaChunkInitializedPrefix)(renderId),
16
16
  type: 'prefix',
17
17
  },
18
18
  ...chunks.map((i) => {
File without changes
File without changes
@@ -1,7 +1,12 @@
1
1
  import type { _Object } from '@aws-sdk/client-s3';
2
2
  export declare type LambdaInvokeStats = {
3
3
  timeToInvokeLambdas: number | null;
4
- allLambdasInvoked: boolean;
5
4
  lambdasInvoked: number;
6
5
  };
7
- export declare const getLambdasInvokedStats: (contents: _Object[], renderId: string, estimatedRenderLambdaInvokations: number | null, startDate: number | null) => LambdaInvokeStats;
6
+ export declare const getLambdasInvokedStats: ({ contents, renderId, estimatedRenderLambdaInvokations, startDate, checkIfAllLambdasWereInvoked, }: {
7
+ contents: _Object[];
8
+ renderId: string;
9
+ estimatedRenderLambdaInvokations: number | null;
10
+ startDate: number | null;
11
+ checkIfAllLambdasWereInvoked: boolean;
12
+ }) => LambdaInvokeStats;
@@ -4,18 +4,18 @@ exports.getLambdasInvokedStats = void 0;
4
4
  const constants_1 = require("../../shared/constants");
5
5
  const parse_lambda_initialized_key_1 = require("../../shared/parse-lambda-initialized-key");
6
6
  const min_max_1 = require("./min-max");
7
- const getLambdasInvokedStats = (contents, renderId, estimatedRenderLambdaInvokations, startDate) => {
7
+ const getLambdasInvokedStats = ({ contents, renderId, estimatedRenderLambdaInvokations, startDate, checkIfAllLambdasWereInvoked, }) => {
8
+ var _a;
8
9
  const lambdasInvoked = contents
9
- .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaInitializedPrefix)(renderId)); })
10
+ .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaChunkInitializedPrefix)(renderId)); })
10
11
  .filter((c) => (0, parse_lambda_initialized_key_1.parseLambdaInitializedKey)(c.Key).attempt === 1);
11
- const allLambdasInvoked = lambdasInvoked.length === estimatedRenderLambdaInvokations;
12
- const timeToInvokeLambdas = allLambdasInvoked && startDate
13
- ? (0, min_max_1.max)(lambdasInvoked.map((l) => { var _a; return (_a = l.LastModified) === null || _a === void 0 ? void 0 : _a.getTime(); })) -
14
- startDate
15
- : null;
12
+ const allLambdasInvoked = !checkIfAllLambdasWereInvoked ||
13
+ lambdasInvoked.length === estimatedRenderLambdaInvokations;
14
+ const timeToInvokeLambdas = !allLambdasInvoked || startDate === null
15
+ ? null
16
+ : ((_a = (0, min_max_1.max)(lambdasInvoked.map((l) => { var _a; return (_a = l.LastModified) === null || _a === void 0 ? void 0 : _a.getTime(); }))) !== null && _a !== void 0 ? _a : 0) - startDate;
16
17
  return {
17
18
  timeToInvokeLambdas,
18
- allLambdasInvoked,
19
19
  lambdasInvoked: lambdasInvoked.length,
20
20
  };
21
21
  };
@@ -1,2 +1,3 @@
1
1
  import type { RenderMetadata } from '../../defaults';
2
- export declare const getOutputUrlFromMetadata: (renderMetadata: RenderMetadata, bucketName: string) => string;
2
+ import type { CustomCredentials } from '../../shared/aws-clients';
3
+ export declare const getOutputUrlFromMetadata: (renderMetadata: RenderMetadata, bucketName: string, customCredentials: CustomCredentials | null) => string;
@@ -3,8 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getOutputUrlFromMetadata = void 0;
4
4
  const expected_out_name_1 = require("./expected-out-name");
5
5
  const get_current_region_1 = require("./get-current-region");
6
- const getOutputUrlFromMetadata = (renderMetadata, bucketName) => {
7
- const outname = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
6
+ const getOutputUrlFromMetadata = (renderMetadata, bucketName, customCredentials) => {
7
+ const outname = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials);
8
8
  return `https://s3.${(0, get_current_region_1.getCurrentRegionInFunction)()}.amazonaws.com/${outname.renderBucketName}/${outname.key}`;
9
9
  };
10
10
  exports.getOutputUrlFromMetadata = getOutputUrlFromMetadata;
File without changes
File without changes
File without changes
File without changes
@@ -1,10 +1,12 @@
1
1
  import type { AwsRegion } from '../../pricing/aws-regions';
2
+ import type { CustomCredentials } from '../../shared/aws-clients';
2
3
  import type { RenderProgress } from '../../shared/constants';
3
- export declare const getProgress: ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb, timeoutInMiliseconds, }: {
4
+ export declare const getProgress: ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb, timeoutInMilliseconds, customCredentials, }: {
4
5
  bucketName: string;
5
6
  renderId: string;
6
7
  expectedBucketOwner: string;
7
8
  region: AwsRegion;
8
9
  memorySizeInMb: number;
9
- timeoutInMiliseconds: number;
10
+ timeoutInMilliseconds: number;
11
+ customCredentials: CustomCredentials | null;
10
12
  }) => Promise<RenderProgress>;
@@ -6,6 +6,7 @@ const constants_1 = require("../../shared/constants");
6
6
  const docs_url_1 = require("../../shared/docs-url");
7
7
  const calculate_chunk_times_1 = require("./calculate-chunk-times");
8
8
  const calculate_price_from_bucket_1 = require("./calculate-price-from-bucket");
9
+ const check_if_render_exists_1 = require("./check-if-render-exists");
9
10
  const expected_out_name_1 = require("./expected-out-name");
10
11
  const find_output_file_in_bucket_1 = require("./find-output-file-in-bucket");
11
12
  const format_costs_info_1 = require("./format-costs-info");
@@ -22,7 +23,7 @@ const get_retry_stats_1 = require("./get-retry-stats");
22
23
  const get_time_to_finish_1 = require("./get-time-to-finish");
23
24
  const inspect_errors_1 = require("./inspect-errors");
24
25
  const io_1 = require("./io");
25
- const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb, timeoutInMiliseconds, }) => {
26
+ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb, timeoutInMilliseconds, customCredentials, }) => {
26
27
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
27
28
  const postRenderData = await (0, get_post_render_data_1.getPostRenderData)({
28
29
  bucketName,
@@ -31,7 +32,7 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
31
32
  expectedBucketOwner,
32
33
  });
33
34
  if (postRenderData) {
34
- const outData = (0, expected_out_name_1.getExpectedOutName)(postRenderData.renderMetadata, bucketName);
35
+ const outData = (0, expected_out_name_1.getExpectedOutName)(postRenderData.renderMetadata, bucketName, customCredentials);
35
36
  return {
36
37
  bucket: bucketName,
37
38
  renderSize: postRenderData.renderSize,
@@ -77,6 +78,7 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
77
78
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
78
79
  expectedBucketOwner,
79
80
  });
81
+ (0, check_if_render_exists_1.checkIfRenderExists)(contents, renderId, bucketName, (0, get_current_region_1.getCurrentRegionInFunction)());
80
82
  const renderMetadataExists = Boolean(contents.find((c) => c.Key === (0, constants_1.renderMetadataKey)(renderId)));
81
83
  const [encodingStatus, renderMetadata, errorExplanations] = await Promise.all([
82
84
  (0, get_encoding_metadata_1.getEncodingMetadata)({
@@ -102,11 +104,15 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
102
104
  expectedBucketOwner,
103
105
  }),
104
106
  ]);
107
+ if ((renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.type) === 'still') {
108
+ throw new Error("You don't need to call getRenderProgress() on a still render. Once you have obtained the `renderId`, the render is already done! 😉");
109
+ }
105
110
  const outputFile = renderMetadata
106
111
  ? await (0, find_output_file_in_bucket_1.findOutputFileInBucket)({
107
112
  bucketName,
108
113
  renderMetadata,
109
114
  region,
115
+ customCredentials,
110
116
  })
111
117
  : null;
112
118
  const accruedSoFar = Number((0, calculate_price_from_bucket_1.estimatePriceFromBucket)({
@@ -135,7 +141,13 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
135
141
  const renderSize = contents
136
142
  .map((c) => { var _a; return (_a = c.Size) !== null && _a !== void 0 ? _a : 0; })
137
143
  .reduce((a, b) => a + b, 0);
138
- const lambdasInvokedStats = (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)(contents, renderId, (_g = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.estimatedRenderLambdaInvokations) !== null && _g !== void 0 ? _g : null, (_h = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.startedDate) !== null && _h !== void 0 ? _h : null);
144
+ const lambdasInvokedStats = (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)({
145
+ contents,
146
+ renderId,
147
+ estimatedRenderLambdaInvokations: (_g = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.estimatedRenderLambdaInvokations) !== null && _g !== void 0 ? _g : null,
148
+ startDate: (_h = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.startedDate) !== null && _h !== void 0 ? _h : null,
149
+ checkIfAllLambdasWereInvoked: true,
150
+ });
139
151
  const retriesInfo = (0, get_retry_stats_1.getRetryStats)({
140
152
  contents,
141
153
  renderId,
@@ -151,13 +163,13 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
151
163
  : chunks.length;
152
164
  // We add a 20 second buffer for it, since AWS timeshifts can be quite a lot. Once it's 20sec over the limit, we consider it timed out
153
165
  const isBeyondTimeout = renderMetadata &&
154
- Date.now() > renderMetadata.startedDate + timeoutInMiliseconds + 20000;
166
+ Date.now() > renderMetadata.startedDate + timeoutInMilliseconds + 20000;
155
167
  const allErrors = [
156
168
  isBeyondTimeout
157
169
  ? {
158
170
  attempt: 1,
159
171
  chunk: null,
160
- explanation: `The main function timed out after ${timeoutInMiliseconds}ms. Consider increasing the timeout of your function. You can use the "--timeout" parameter when deploying a function via CLI, or the "timeoutInSeconds" parameter when using the deployFunction API. ${docs_url_1.DOCS_URL}/docs/lambda/cli/functions#deploy`,
172
+ explanation: `The main function timed out after ${timeoutInMilliseconds}ms. Consider increasing the timeout of your function. You can use the "--timeout" parameter when deploying a function via CLI, or the "timeoutInSeconds" parameter when using the deployFunction API. ${docs_url_1.DOCS_URL}/docs/lambda/cli/functions#deploy`,
161
173
  frame: null,
162
174
  isFatal: true,
163
175
  s3Location: '',
@@ -208,10 +220,11 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
208
220
  }),
209
221
  retriesInfo,
210
222
  outKey: outputFile && renderMetadata
211
- ? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName).key
223
+ ? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials).key
212
224
  : null,
213
225
  outBucket: outputFile && renderMetadata
214
- ? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName).renderBucketName
226
+ ? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials)
227
+ .renderBucketName
215
228
  : null,
216
229
  mostExpensiveFrameRanges: null,
217
230
  };
File without changes
File without changes
File without changes
@@ -5,7 +5,7 @@ const constants_1 = require("../../shared/constants");
5
5
  const parse_lambda_initialized_key_1 = require("../../shared/parse-lambda-initialized-key");
6
6
  const getRetryStats = ({ contents, renderId, }) => {
7
7
  const retries = contents
8
- .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaInitializedPrefix)(renderId)); })
8
+ .filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaChunkInitializedPrefix)(renderId)); })
9
9
  .filter((c) => (0, parse_lambda_initialized_key_1.parseLambdaInitializedKey)(c.Key).attempt !== 1);
10
10
  return retries.map((retry) => {
11
11
  var _a;
File without changes
File without changes
File without changes
File without changes
@@ -2,6 +2,7 @@ import type { _Object } from '@aws-sdk/client-s3';
2
2
  import type { ReadStream } from 'fs';
3
3
  import type { Readable } from 'stream';
4
4
  import type { AwsRegion } from '../../pricing/aws-regions';
5
+ import type { CustomCredentials } from '../../shared/aws-clients';
5
6
  import type { Privacy } from '../../shared/constants';
6
7
  import type { DownloadBehavior } from '../../shared/content-disposition-header';
7
8
  export declare type LambdaLSInput = {
@@ -13,7 +14,13 @@ export declare type LambdaLSInput = {
13
14
  };
14
15
  export declare type LambdaLsReturnType = Promise<_Object[]>;
15
16
  export declare const lambdaLs: ({ bucketName, prefix, region, expectedBucketOwner, continuationToken, }: LambdaLSInput) => LambdaLsReturnType;
16
- export declare const lambdaWriteFile: ({ bucketName, key, body, region, privacy, expectedBucketOwner, downloadBehavior, }: {
17
+ export declare const lambdaDeleteFile: ({ bucketName, key, region, customCredentials, }: {
18
+ region: AwsRegion;
19
+ bucketName: string;
20
+ key: string;
21
+ customCredentials: CustomCredentials | null;
22
+ }) => Promise<void>;
23
+ export declare const lambdaWriteFile: ({ bucketName, key, body, region, privacy, expectedBucketOwner, downloadBehavior, customCredentials, }: {
17
24
  bucketName: string;
18
25
  key: string;
19
26
  body: ReadStream | string;
@@ -21,6 +28,7 @@ export declare const lambdaWriteFile: ({ bucketName, key, body, region, privacy,
21
28
  privacy: Privacy;
22
29
  expectedBucketOwner: string | null;
23
30
  downloadBehavior: DownloadBehavior | null;
31
+ customCredentials: CustomCredentials | null;
24
32
  }) => Promise<void>;
25
33
  export declare const lambdaReadFile: ({ bucketName, key, region, expectedBucketOwner, }: {
26
34
  bucketName: string;
@@ -28,3 +36,11 @@ export declare const lambdaReadFile: ({ bucketName, key, region, expectedBucketO
28
36
  region: AwsRegion;
29
37
  expectedBucketOwner: string;
30
38
  }) => Promise<Readable>;
39
+ export declare const lambdaHeadCommand: ({ bucketName, key, region, }: {
40
+ bucketName: string;
41
+ key: string;
42
+ region: AwsRegion;
43
+ }) => Promise<{
44
+ LastModified?: Date | undefined;
45
+ ContentLength?: number | undefined;
46
+ }>;