@remotion/lambda 4.0.0-defer.6 → 4.0.0-esm.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE.md +8 -8
- package/dist/admin/bundle-lambda.d.ts +0 -0
- package/dist/admin/bundle-lambda.js +21 -4
- package/dist/admin/generate-etag-list.d.ts +1 -0
- package/dist/admin/generate-etag-list.js +14 -0
- package/dist/admin/make-layer-public.d.ts +0 -0
- package/dist/admin/make-layer-public.js +28 -6
- package/dist/api/bucket-exists.d.ts +1 -1
- package/dist/api/bucket-exists.js +1 -1
- package/dist/api/clean-items.d.ts +1 -1
- package/dist/api/clean-items.js +1 -1
- package/dist/api/create-bucket.d.ts +1 -1
- package/dist/api/create-bucket.js +1 -1
- package/dist/api/create-function.d.ts +2 -2
- package/dist/api/create-function.js +0 -0
- package/dist/api/delete-function.d.ts +1 -1
- package/dist/api/delete-function.js +0 -0
- package/dist/api/delete-render.d.ts +19 -0
- package/dist/api/delete-render.js +66 -0
- package/dist/api/delete-site.d.ts +1 -1
- package/dist/api/delete-site.js +0 -5
- package/dist/api/deploy-function.d.ts +2 -2
- package/dist/api/deploy-function.js +7 -3
- package/dist/api/deploy-site.d.ts +10 -3
- package/dist/api/deploy-site.js +39 -20
- package/dist/api/download-media.d.ts +15 -2
- package/dist/api/download-media.js +15 -3
- package/dist/api/estimate-price.d.ts +2 -2
- package/dist/api/estimate-price.js +0 -0
- package/dist/api/get-aws-client.d.ts +7 -3
- package/dist/api/get-aws-client.js +9 -2
- package/dist/api/get-buckets.d.ts +1 -1
- package/dist/api/get-buckets.js +27 -10
- package/dist/api/get-compositions-on-lambda.d.ts +29 -0
- package/dist/api/get-compositions-on-lambda.js +52 -0
- package/dist/api/get-function-info.d.ts +2 -3
- package/dist/api/get-function-info.js +0 -0
- package/dist/api/get-functions.d.ts +2 -2
- package/dist/api/get-functions.js +2 -1
- package/dist/api/get-or-create-bucket.d.ts +1 -1
- package/dist/api/get-or-create-bucket.js +2 -7
- package/dist/api/get-regions.d.ts +6 -2
- package/dist/api/get-regions.js +5 -2
- package/dist/api/get-render-progress.d.ts +6 -3
- package/dist/api/get-render-progress.js +5 -1
- package/dist/api/get-sites.d.ts +2 -2
- package/dist/api/get-sites.js +0 -0
- package/dist/api/iam-validation/role-permissions.d.ts +2 -1
- package/dist/api/iam-validation/role-permissions.js +0 -0
- package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
- package/dist/api/iam-validation/simulate-rule.js +0 -22
- package/dist/api/iam-validation/simulate.d.ts +2 -2
- package/dist/api/iam-validation/simulate.js +24 -5
- package/dist/api/iam-validation/suggested-policy.d.ts +0 -0
- package/dist/api/iam-validation/suggested-policy.js +0 -0
- package/dist/api/iam-validation/user-permissions.d.ts +0 -0
- package/dist/api/iam-validation/user-permissions.js +0 -8
- package/dist/api/mock-functions.d.ts +6 -7
- package/dist/api/mock-functions.js +0 -0
- package/dist/api/presign-url.d.ts +3 -2
- package/dist/api/presign-url.js +6 -1
- package/dist/api/render-media-on-lambda.d.ts +35 -16
- package/dist/api/render-media-on-lambda.js +82 -37
- package/dist/api/render-still-on-lambda.d.ts +12 -7
- package/dist/api/render-still-on-lambda.js +55 -31
- package/dist/api/upload-dir.d.ts +6 -5
- package/dist/api/upload-dir.js +39 -21
- package/dist/api/validate-webhook-signature.d.ts +13 -0
- package/dist/api/validate-webhook-signature.js +32 -0
- package/dist/cli/args.d.ts +9 -5
- package/dist/cli/args.js +1 -5
- package/dist/cli/commands/compositions/index.d.ts +2 -0
- package/dist/cli/commands/compositions/index.js +42 -0
- package/dist/cli/commands/functions/deploy.d.ts +0 -0
- package/dist/cli/commands/functions/deploy.js +2 -1
- package/dist/cli/commands/functions/index.d.ts +0 -0
- package/dist/cli/commands/functions/index.js +0 -0
- package/dist/cli/commands/functions/ls.d.ts +0 -0
- package/dist/cli/commands/functions/ls.js +0 -0
- package/dist/cli/commands/functions/rm.d.ts +0 -0
- package/dist/cli/commands/functions/rm.js +0 -0
- package/dist/cli/commands/functions/rmall.d.ts +0 -0
- package/dist/cli/commands/functions/rmall.js +0 -0
- package/dist/cli/commands/policies/policies.d.ts +0 -0
- package/dist/cli/commands/policies/policies.js +0 -0
- package/dist/cli/commands/policies/role.d.ts +0 -0
- package/dist/cli/commands/policies/role.js +0 -0
- package/dist/cli/commands/policies/user.d.ts +0 -0
- package/dist/cli/commands/policies/user.js +0 -0
- package/dist/cli/commands/policies/validate.d.ts +0 -0
- package/dist/cli/commands/policies/validate.js +0 -0
- package/dist/cli/commands/quotas/increase.d.ts +0 -0
- package/dist/cli/commands/quotas/increase.js +0 -0
- package/dist/cli/commands/quotas/index.d.ts +0 -0
- package/dist/cli/commands/quotas/index.js +0 -0
- package/dist/cli/commands/quotas/list.d.ts +0 -0
- package/dist/cli/commands/quotas/list.js +0 -0
- package/dist/cli/commands/regions.d.ts +0 -0
- package/dist/cli/commands/regions.js +5 -1
- package/dist/cli/commands/render/progress.d.ts +11 -7
- package/dist/cli/commands/render/progress.js +68 -43
- package/dist/cli/commands/render/render.d.ts +1 -1
- package/dist/cli/commands/render/render.js +72 -25
- package/dist/cli/commands/sites/create.d.ts +1 -1
- package/dist/cli/commands/sites/create.js +21 -9
- package/dist/cli/commands/sites/index.d.ts +1 -1
- package/dist/cli/commands/sites/index.js +2 -2
- package/dist/cli/commands/sites/ls.d.ts +0 -0
- package/dist/cli/commands/sites/ls.js +1 -2
- package/dist/cli/commands/sites/rm.d.ts +0 -0
- package/dist/cli/commands/sites/rm.js +2 -3
- package/dist/cli/commands/sites/rmall.d.ts +0 -0
- package/dist/cli/commands/sites/rmall.js +2 -3
- package/dist/cli/commands/still.d.ts +1 -1
- package/dist/cli/commands/still.js +34 -27
- package/dist/cli/get-aws-region.d.ts +1 -1
- package/dist/cli/get-aws-region.js +2 -1
- package/dist/cli/help.d.ts +0 -0
- package/dist/cli/help.js +0 -0
- package/dist/cli/helpers/confirm.d.ts +0 -0
- package/dist/cli/helpers/confirm.js +0 -0
- package/dist/cli/helpers/date-string.d.ts +0 -0
- package/dist/cli/helpers/date-string.js +0 -0
- package/dist/cli/helpers/find-function-name.d.ts +0 -0
- package/dist/cli/helpers/find-function-name.js +3 -2
- package/dist/cli/helpers/progress-bar.d.ts +9 -3
- package/dist/cli/helpers/progress-bar.js +20 -5
- package/dist/cli/helpers/quit.d.ts +0 -0
- package/dist/cli/helpers/quit.js +0 -0
- package/dist/cli/helpers/yes-or-no.d.ts +0 -0
- package/dist/cli/helpers/yes-or-no.js +0 -0
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.js +20 -9
- package/dist/cli/is-cli.d.ts +0 -0
- package/dist/cli/is-cli.js +0 -0
- package/dist/cli/log.d.ts +0 -0
- package/dist/cli/log.js +0 -0
- package/dist/client.d.ts +5 -2
- package/dist/client.js +5 -1
- package/dist/defaults.d.ts +0 -0
- package/dist/defaults.js +0 -0
- package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +2 -6
- package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -19
- package/dist/functions/chunk-optimization/types.d.ts +0 -11
- package/dist/functions/chunk-optimization/types.js +0 -0
- package/dist/functions/compositions.d.ts +8 -0
- package/dist/functions/compositions.js +57 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.d.ts +0 -0
- package/dist/functions/helpers/best-frames-per-lambda-param.js +0 -0
- package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
- package/dist/functions/helpers/calculate-chunk-times.js +0 -0
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
- package/dist/functions/helpers/calculate-price-from-bucket.js +0 -0
- package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
- package/dist/functions/helpers/check-if-render-exists.js +14 -0
- package/dist/functions/helpers/clean-tmpdir.d.ts +0 -0
- package/dist/functions/helpers/clean-tmpdir.js +1 -1
- package/dist/functions/helpers/concat-videos.d.ts +17 -7
- package/dist/functions/helpers/concat-videos.js +34 -32
- package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
- package/dist/functions/helpers/create-post-render-data.js +5 -12
- package/dist/functions/helpers/delete-chunks.d.ts +3 -3
- package/dist/functions/helpers/delete-chunks.js +0 -0
- package/dist/functions/helpers/expected-out-name.d.ts +4 -2
- package/dist/functions/helpers/expected-out-name.js +27 -6
- package/dist/functions/helpers/find-output-file-in-bucket.d.ts +5 -3
- package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
- package/dist/functions/helpers/format-costs-info.d.ts +1 -1
- package/dist/functions/helpers/format-costs-info.js +0 -0
- package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
- package/dist/functions/helpers/get-browser-instance.js +1 -1
- package/dist/functions/helpers/get-chromium-executable-path.d.ts +0 -0
- package/dist/functions/helpers/get-chromium-executable-path.js +2 -1
- package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
- package/dist/functions/helpers/get-cleanup-progress.js +0 -0
- package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
- package/dist/functions/helpers/get-current-architecture.js +0 -0
- package/dist/functions/helpers/get-current-region.d.ts +1 -1
- package/dist/functions/helpers/get-current-region.js +0 -0
- package/dist/functions/helpers/get-custom-out-name.d.ts +6 -0
- package/dist/functions/helpers/get-custom-out-name.js +31 -0
- package/dist/functions/helpers/get-encoding-metadata.d.ts +5 -9
- package/dist/functions/helpers/get-encoding-metadata.js +4 -18
- package/dist/functions/helpers/get-files-in-folder.d.ts +0 -0
- package/dist/functions/helpers/get-files-in-folder.js +0 -0
- package/dist/functions/helpers/get-files-to-delete.d.ts +0 -0
- package/dist/functions/helpers/get-files-to-delete.js +1 -1
- package/dist/functions/helpers/get-final-encoding-status.d.ts +3 -5
- package/dist/functions/helpers/get-final-encoding-status.js +1 -4
- package/dist/functions/helpers/get-folder-size.d.ts +0 -0
- package/dist/functions/helpers/get-folder-size.js +0 -0
- package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +5 -4
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +2 -10
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +3 -2
- package/dist/functions/helpers/get-output-url-from-metadata.js +2 -2
- package/dist/functions/helpers/get-overall-progress.d.ts +2 -1
- package/dist/functions/helpers/get-overall-progress.js +7 -5
- package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
- package/dist/functions/helpers/get-post-render-data.js +0 -0
- package/dist/functions/helpers/get-progress.d.ts +6 -4
- package/dist/functions/helpers/get-progress.js +63 -34
- package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
- package/dist/functions/helpers/get-render-metadata.js +0 -0
- package/dist/functions/helpers/get-rendered-frames-progress.d.ts +8 -0
- package/dist/functions/helpers/get-rendered-frames-progress.js +37 -0
- package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
- package/dist/functions/helpers/get-retry-stats.js +1 -1
- package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
- package/dist/functions/helpers/get-time-to-finish.js +0 -0
- package/dist/functions/helpers/inspect-errors.d.ts +3 -3
- package/dist/functions/helpers/inspect-errors.js +0 -0
- package/dist/functions/helpers/io.d.ts +24 -6
- package/dist/functions/helpers/io.js +31 -8
- package/dist/functions/helpers/is-enosp-err.d.ts +0 -0
- package/dist/functions/helpers/is-enosp-err.js +0 -0
- package/dist/functions/helpers/is-warm.d.ts +0 -0
- package/dist/functions/helpers/is-warm.js +0 -0
- package/dist/functions/helpers/min-max.d.ts +1 -1
- package/dist/functions/helpers/min-max.js +1 -1
- package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -2
- package/dist/functions/helpers/print-cloudwatch-helper.js +0 -0
- package/dist/functions/helpers/print-concurrency-curve.d.ts +0 -0
- package/dist/functions/helpers/print-concurrency-curve.js +0 -0
- package/dist/functions/helpers/read-with-progress.d.ts +6 -3
- package/dist/functions/helpers/read-with-progress.js +16 -4
- package/dist/functions/helpers/timer.d.ts +0 -0
- package/dist/functions/helpers/timer.js +0 -0
- package/dist/functions/helpers/validate-composition.d.ts +7 -4
- package/dist/functions/helpers/validate-composition.js +7 -2
- package/dist/functions/helpers/write-lambda-error.d.ts +2 -2
- package/dist/functions/helpers/write-lambda-error.js +2 -0
- package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
- package/dist/functions/helpers/write-post-render-data.js +2 -0
- package/dist/functions/index.d.ts +3 -2
- package/dist/functions/index.js +29 -10
- package/dist/functions/info.d.ts +2 -2
- package/dist/functions/info.js +2 -1
- package/dist/functions/launch.d.ts +2 -1
- package/dist/functions/launch.js +343 -123
- package/dist/functions/progress.d.ts +2 -2
- package/dist/functions/progress.js +10 -1
- package/dist/functions/renderer.d.ts +1 -1
- package/dist/functions/renderer.js +126 -77
- package/dist/functions/start.d.ts +6 -2
- package/dist/functions/start.js +40 -4
- package/dist/functions/still.d.ts +1 -1
- package/dist/functions/still.js +63 -17
- package/dist/index.d.ts +50 -20
- package/dist/index.js +17 -3
- package/dist/internals.d.ts +1 -1
- package/dist/internals.js +0 -0
- package/dist/pricing/aws-regions.d.ts +2 -1
- package/dist/pricing/aws-regions.js +31 -1
- package/dist/pricing/price-per-1-s.d.ts +1 -1
- package/dist/pricing/price-per-1-s.js +413 -39
- package/dist/regions.d.ts +0 -0
- package/dist/regions.js +0 -0
- package/dist/shared/await.d.ts +0 -0
- package/dist/shared/await.js +0 -0
- package/dist/shared/aws-clients.d.ts +17 -3
- package/dist/shared/aws-clients.js +118 -26
- package/dist/shared/bundle-site.d.ts +2 -6
- package/dist/shared/bundle-site.js +0 -0
- package/dist/shared/call-lambda.d.ts +3 -3
- package/dist/shared/call-lambda.js +0 -0
- package/dist/shared/check-credentials.d.ts +0 -0
- package/dist/shared/check-credentials.js +5 -2
- package/dist/shared/chunk-progress.d.ts +9 -0
- package/dist/shared/chunk-progress.js +2034 -0
- package/dist/shared/cleanup-serialized-input-props.d.ts +7 -0
- package/dist/shared/cleanup-serialized-input-props.js +19 -0
- package/dist/shared/constants.d.ts +107 -37
- package/dist/shared/constants.js +20 -10
- package/dist/shared/content-disposition-header.d.ts +7 -0
- package/dist/shared/content-disposition-header.js +19 -0
- package/dist/shared/convert-to-serve-url.d.ts +6 -2
- package/dist/shared/convert-to-serve-url.js +1 -5
- package/dist/shared/deserialize-input-props.d.ts +8 -0
- package/dist/shared/deserialize-input-props.js +26 -0
- package/dist/shared/docs-url.d.ts +0 -0
- package/dist/shared/docs-url.js +0 -0
- package/dist/shared/function-zip-path.d.ts +2 -1
- package/dist/shared/function-zip-path.js +3 -2
- package/dist/shared/get-account-id.d.ts +1 -1
- package/dist/shared/get-account-id.js +4 -6
- package/dist/shared/get-aws-urls.d.ts +13 -0
- package/dist/{cli/helpers/get-cloudwatch-stream-url.js → shared/get-aws-urls.js} +5 -1
- package/dist/shared/get-etag.d.ts +1 -0
- package/dist/shared/get-etag.js +24 -0
- package/dist/shared/get-function-version.d.ts +2 -3
- package/dist/shared/get-function-version.js +0 -0
- package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
- package/dist/shared/get-most-expensive-chunks.js +25 -0
- package/dist/shared/get-s3-operations.d.ts +10 -0
- package/dist/shared/get-s3-operations.js +36 -0
- package/dist/shared/hosted-layers.d.ts +2 -2
- package/dist/shared/hosted-layers.js +368 -60
- package/dist/shared/invoke-webhook.d.ts +46 -0
- package/dist/shared/invoke-webhook.js +89 -0
- package/dist/shared/is-in-lambda.d.ts +0 -0
- package/dist/shared/is-in-lambda.js +5 -1
- package/dist/shared/lambda-version-string.d.ts +1 -0
- package/dist/shared/lambda-version-string.js +7 -0
- package/dist/shared/make-s3-key.d.ts +0 -0
- package/dist/shared/make-s3-key.js +0 -0
- package/dist/shared/make-s3-url.d.ts +1 -1
- package/dist/shared/make-s3-url.js +0 -0
- package/dist/shared/p-limit.d.ts +0 -0
- package/dist/shared/p-limit.js +0 -0
- package/dist/shared/parse-chunk-key.d.ts +4 -0
- package/dist/shared/parse-chunk-key.js +14 -0
- package/dist/shared/parse-lambda-initialized-key.d.ts +0 -0
- package/dist/shared/parse-lambda-initialized-key.js +0 -0
- package/dist/shared/parse-lambda-timings-key.d.ts +0 -0
- package/dist/shared/parse-lambda-timings-key.js +0 -0
- package/dist/shared/random-hash.d.ts +0 -0
- package/dist/shared/random-hash.js +0 -0
- package/dist/shared/read-dir.d.ts +9 -0
- package/dist/shared/read-dir.js +57 -0
- package/dist/shared/return-values.d.ts +9 -7
- package/dist/shared/return-values.js +0 -1
- package/dist/shared/serialize-input-props.d.ts +7 -0
- package/dist/shared/serialize-input-props.js +42 -0
- package/dist/shared/sleep.d.ts +0 -0
- package/dist/shared/sleep.js +0 -0
- package/dist/shared/stream-to-string.d.ts +1 -1
- package/dist/shared/stream-to-string.js +0 -0
- package/dist/shared/truthy.d.ts +3 -0
- package/dist/shared/truthy.js +7 -0
- package/dist/shared/validate-architecture.d.ts +0 -0
- package/dist/shared/validate-architecture.js +0 -0
- package/dist/shared/validate-aws-region.d.ts +1 -1
- package/dist/shared/validate-aws-region.js +0 -0
- package/dist/shared/validate-bucketname.d.ts +5 -0
- package/dist/shared/validate-bucketname.js +19 -1
- package/dist/shared/validate-custom-role-arn.d.ts +0 -0
- package/dist/shared/validate-custom-role-arn.js +0 -0
- package/dist/shared/validate-disk-size-in-mb.d.ts +0 -0
- package/dist/shared/validate-disk-size-in-mb.js +0 -0
- package/dist/shared/validate-download-behavior.d.ts +1 -0
- package/dist/shared/validate-download-behavior.js +21 -0
- package/dist/shared/validate-frames-per-lambda.d.ts +4 -1
- package/dist/shared/validate-frames-per-lambda.js +4 -3
- package/dist/shared/validate-lambda-codec.d.ts +4 -0
- package/dist/shared/validate-lambda-codec.js +29 -0
- package/dist/shared/validate-memory-size.d.ts +0 -0
- package/dist/shared/validate-memory-size.js +0 -0
- package/dist/shared/validate-outname.d.ts +3 -2
- package/dist/shared/validate-outname.js +5 -1
- package/dist/shared/validate-presign-expiration.d.ts +0 -2
- package/dist/shared/validate-presign-expiration.js +7 -7
- package/dist/shared/validate-privacy.d.ts +1 -1
- package/dist/shared/validate-privacy.js +2 -2
- package/dist/shared/validate-retention-period.d.ts +0 -0
- package/dist/shared/validate-retention-period.js +0 -0
- package/dist/shared/validate-retries.d.ts +0 -0
- package/dist/shared/validate-retries.js +0 -0
- package/dist/shared/validate-serveurl.d.ts +0 -0
- package/dist/shared/validate-serveurl.js +0 -0
- package/dist/shared/validate-site-name.d.ts +0 -0
- package/dist/shared/validate-site-name.js +0 -0
- package/dist/shared/validate-timeout.d.ts +0 -0
- package/dist/shared/validate-timeout.js +0 -0
- package/package.json +25 -26
- package/remotionlambda-arm64.zip +0 -0
- package/remotionlambda-x64.zip +0 -0
- package/remotionlambda.zip +0 -0
- package/.prettierrc.js +0 -14
- package/dist/api/enable-s3-website.d.ts +0 -5
- package/dist/api/enable-s3-website.js +0 -16
- package/dist/cli/helpers/format-bytes.d.ts +0 -6
- package/dist/cli/helpers/format-bytes.js +0 -103
- package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +0 -8
- package/dist/functions/chunk-optimization/can-use-optimization.d.ts +0 -6
- package/dist/functions/chunk-optimization/can-use-optimization.js +0 -23
- package/dist/functions/chunk-optimization/collect-data.d.ts +0 -9
- package/dist/functions/chunk-optimization/collect-data.js +0 -27
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +0 -3
- package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.js +0 -11
- package/dist/functions/chunk-optimization/get-profile-duration.d.ts +0 -3
- package/dist/functions/chunk-optimization/get-profile-duration.js +0 -18
- package/dist/functions/chunk-optimization/is-valid-profile.d.ts +0 -2
- package/dist/functions/chunk-optimization/is-valid-profile.js +0 -12
- package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +0 -2
- package/dist/functions/chunk-optimization/optimize-invocation-order.js +0 -19
- package/dist/functions/chunk-optimization/optimize-profile.d.ts +0 -9
- package/dist/functions/chunk-optimization/optimize-profile.js +0 -74
- package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +0 -17
- package/dist/functions/chunk-optimization/s3-optimization-file.js +0 -45
- package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +0 -7
- package/dist/functions/chunk-optimization/simulate-frame-ranges.js +0 -47
- package/dist/functions/chunk-optimization/sort-by-duration.d.ts +0 -2
- package/dist/functions/chunk-optimization/sort-by-duration.js +0 -25
- package/dist/shared/chunk.d.ts +0 -1
- package/dist/shared/chunk.js +0 -11
- package/tsconfig.json +0 -16
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getFinalEncodingStatus = void 0;
|
|
4
|
-
const getFinalEncodingStatus = ({
|
|
4
|
+
const getFinalEncodingStatus = ({ encodingProgress, renderMetadata, outputFileExists, }) => {
|
|
5
5
|
if (!renderMetadata) {
|
|
6
6
|
return null;
|
|
7
7
|
}
|
|
@@ -11,9 +11,6 @@ const getFinalEncodingStatus = ({ encodingStatus: encodingProgress, renderMetada
|
|
|
11
11
|
if (outputFileExists) {
|
|
12
12
|
return {
|
|
13
13
|
framesEncoded: renderMetadata.videoConfig.durationInFrames,
|
|
14
|
-
totalFrames: renderMetadata.videoConfig.durationInFrames,
|
|
15
|
-
doneIn: null,
|
|
16
|
-
timeToInvoke: lambdaInvokeStatus.timeToInvokeLambdas,
|
|
17
14
|
};
|
|
18
15
|
}
|
|
19
16
|
return null;
|
|
File without changes
|
|
File without changes
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { _Object } from '@aws-sdk/client-s3';
|
|
1
|
+
import type { _Object } from '@aws-sdk/client-s3';
|
|
2
2
|
export declare type LambdaInvokeStats = {
|
|
3
|
-
timeToInvokeLambdas: number | null;
|
|
4
|
-
allLambdasInvoked: boolean;
|
|
5
3
|
lambdasInvoked: number;
|
|
6
4
|
};
|
|
7
|
-
export declare const getLambdasInvokedStats: (contents
|
|
5
|
+
export declare const getLambdasInvokedStats: ({ contents, renderId, }: {
|
|
6
|
+
contents: _Object[];
|
|
7
|
+
renderId: string;
|
|
8
|
+
}) => LambdaInvokeStats;
|
|
@@ -3,19 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
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
|
-
const
|
|
7
|
-
const getLambdasInvokedStats = (contents, renderId, estimatedRenderLambdaInvokations, startDate) => {
|
|
6
|
+
const getLambdasInvokedStats = ({ contents, renderId, }) => {
|
|
8
7
|
const lambdasInvoked = contents
|
|
9
|
-
.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.
|
|
8
|
+
.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaChunkInitializedPrefix)(renderId)); })
|
|
10
9
|
.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;
|
|
16
10
|
return {
|
|
17
|
-
timeToInvokeLambdas,
|
|
18
|
-
allLambdasInvoked,
|
|
19
11
|
lambdasInvoked: lambdasInvoked.length,
|
|
20
12
|
};
|
|
21
13
|
};
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import { RenderMetadata } from '../../defaults';
|
|
2
|
-
|
|
1
|
+
import type { RenderMetadata } from '../../defaults';
|
|
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;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
export declare const getOverallProgress: ({ cleanup, encoding, rendering, invoking, }: {
|
|
1
|
+
export declare const getOverallProgress: ({ cleanup, encoding, rendering, invoking, frames, }: {
|
|
2
2
|
cleanup: number;
|
|
3
3
|
encoding: number;
|
|
4
4
|
rendering: number;
|
|
5
5
|
invoking: number;
|
|
6
|
+
frames: number;
|
|
6
7
|
}) => number;
|
|
@@ -3,14 +3,16 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getOverallProgress = void 0;
|
|
4
4
|
const weights = {
|
|
5
5
|
cleanup: 0.1,
|
|
6
|
-
encoding: 0.
|
|
7
|
-
rendering: 0.
|
|
8
|
-
|
|
6
|
+
encoding: 0.225,
|
|
7
|
+
rendering: 0.225,
|
|
8
|
+
frames: 0.225,
|
|
9
|
+
invoking: 0.225,
|
|
9
10
|
};
|
|
10
|
-
const getOverallProgress = ({ cleanup, encoding, rendering, invoking, }) => {
|
|
11
|
+
const getOverallProgress = ({ cleanup, encoding, rendering, invoking, frames, }) => {
|
|
11
12
|
return (cleanup * weights.cleanup +
|
|
12
13
|
encoding * weights.encoding +
|
|
13
14
|
rendering * weights.rendering +
|
|
14
|
-
invoking * weights.invoking
|
|
15
|
+
invoking * weights.invoking +
|
|
16
|
+
frames * weights.frames);
|
|
15
17
|
};
|
|
16
18
|
exports.getOverallProgress = getOverallProgress;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
-
import { PostRenderData } from '../../shared/constants';
|
|
1
|
+
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
+
import type { PostRenderData } from '../../shared/constants';
|
|
3
3
|
export declare const getPostRenderData: ({ bucketName, renderId, region, expectedBucketOwner, }: {
|
|
4
4
|
bucketName: string;
|
|
5
5
|
renderId: string;
|
|
File without changes
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
import { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
+
import type { CustomCredentials } from '../../shared/aws-clients';
|
|
3
|
+
import type { RenderProgress } from '../../shared/constants';
|
|
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
|
-
|
|
10
|
+
timeoutInMilliseconds: number;
|
|
11
|
+
customCredentials: CustomCredentials | null;
|
|
10
12
|
}) => Promise<RenderProgress>;
|
|
@@ -1,11 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getProgress = void 0;
|
|
4
|
+
const renderer_1 = require("@remotion/renderer");
|
|
4
5
|
const remotion_1 = require("remotion");
|
|
6
|
+
const chunk_progress_1 = require("../../shared/chunk-progress");
|
|
5
7
|
const constants_1 = require("../../shared/constants");
|
|
6
8
|
const docs_url_1 = require("../../shared/docs-url");
|
|
7
9
|
const calculate_chunk_times_1 = require("./calculate-chunk-times");
|
|
8
10
|
const calculate_price_from_bucket_1 = require("./calculate-price-from-bucket");
|
|
11
|
+
const check_if_render_exists_1 = require("./check-if-render-exists");
|
|
9
12
|
const expected_out_name_1 = require("./expected-out-name");
|
|
10
13
|
const find_output_file_in_bucket_1 = require("./find-output-file-in-bucket");
|
|
11
14
|
const format_costs_info_1 = require("./format-costs-info");
|
|
@@ -18,12 +21,13 @@ const get_lambdas_invoked_stats_1 = require("./get-lambdas-invoked-stats");
|
|
|
18
21
|
const get_overall_progress_1 = require("./get-overall-progress");
|
|
19
22
|
const get_post_render_data_1 = require("./get-post-render-data");
|
|
20
23
|
const get_render_metadata_1 = require("./get-render-metadata");
|
|
24
|
+
const get_rendered_frames_progress_1 = require("./get-rendered-frames-progress");
|
|
21
25
|
const get_retry_stats_1 = require("./get-retry-stats");
|
|
22
26
|
const get_time_to_finish_1 = require("./get-time-to-finish");
|
|
23
27
|
const inspect_errors_1 = require("./inspect-errors");
|
|
24
28
|
const io_1 = require("./io");
|
|
25
|
-
const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb,
|
|
26
|
-
var _a, _b, _c, _d, _e, _f, _g, _h, _j
|
|
29
|
+
const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb, timeoutInMilliseconds, customCredentials, }) => {
|
|
30
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
27
31
|
const postRenderData = await (0, get_post_render_data_1.getPostRenderData)({
|
|
28
32
|
bucketName,
|
|
29
33
|
region,
|
|
@@ -31,8 +35,10 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
31
35
|
expectedBucketOwner,
|
|
32
36
|
});
|
|
33
37
|
if (postRenderData) {
|
|
34
|
-
const outData = (0, expected_out_name_1.getExpectedOutName)(postRenderData.renderMetadata, bucketName);
|
|
38
|
+
const outData = (0, expected_out_name_1.getExpectedOutName)(postRenderData.renderMetadata, bucketName, customCredentials);
|
|
39
|
+
const totalFrameCount = renderer_1.RenderInternals.getFramesToRender(postRenderData.renderMetadata.frameRange, postRenderData.renderMetadata.everyNthFrame).length;
|
|
35
40
|
return {
|
|
41
|
+
framesRendered: totalFrameCount,
|
|
36
42
|
bucket: bucketName,
|
|
37
43
|
renderSize: postRenderData.renderSize,
|
|
38
44
|
chunks: postRenderData.renderMetadata.totalChunks,
|
|
@@ -50,10 +56,7 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
50
56
|
currentTime: Date.now(),
|
|
51
57
|
done: true,
|
|
52
58
|
encodingStatus: {
|
|
53
|
-
framesEncoded:
|
|
54
|
-
totalFrames: postRenderData.renderMetadata.videoConfig.durationInFrames,
|
|
55
|
-
doneIn: postRenderData.timeToEncode,
|
|
56
|
-
timeToInvoke: postRenderData.timeToInvokeLambdas,
|
|
59
|
+
framesEncoded: totalFrameCount,
|
|
57
60
|
},
|
|
58
61
|
errors: postRenderData.errors,
|
|
59
62
|
fatalErrorEncountered: false,
|
|
@@ -63,11 +66,13 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
63
66
|
renderMetadata: postRenderData.renderMetadata,
|
|
64
67
|
timeToFinish: postRenderData.timeToFinish,
|
|
65
68
|
timeToFinishChunks: postRenderData.timeToRenderChunks,
|
|
66
|
-
timeToInvokeLambdas: postRenderData.timeToInvokeLambdas,
|
|
67
69
|
overallProgress: 1,
|
|
68
70
|
retriesInfo: postRenderData.retriesInfo,
|
|
69
71
|
outKey: outData.key,
|
|
70
72
|
outBucket: outData.renderBucketName,
|
|
73
|
+
mostExpensiveFrameRanges: (_a = postRenderData.mostExpensiveFrameRanges) !== null && _a !== void 0 ? _a : null,
|
|
74
|
+
timeToEncode: postRenderData.timeToEncode,
|
|
75
|
+
outputSizeInBytes: postRenderData.outputSize,
|
|
71
76
|
};
|
|
72
77
|
}
|
|
73
78
|
const contents = await (0, io_1.lambdaLs)({
|
|
@@ -77,14 +82,10 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
77
82
|
expectedBucketOwner,
|
|
78
83
|
});
|
|
79
84
|
const renderMetadataExists = Boolean(contents.find((c) => c.Key === (0, constants_1.renderMetadataKey)(renderId)));
|
|
80
|
-
const
|
|
81
|
-
(0,
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
renderId,
|
|
85
|
-
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
86
|
-
expectedBucketOwner,
|
|
87
|
-
}),
|
|
85
|
+
const encodingStatus = (0, get_encoding_metadata_1.getEncodingMetadata)({
|
|
86
|
+
exists: contents.find((c) => c.Key === (0, constants_1.encodingProgressKey)(renderId)),
|
|
87
|
+
});
|
|
88
|
+
const [renderMetadata, errorExplanations] = await Promise.all([
|
|
88
89
|
renderMetadataExists
|
|
89
90
|
? (0, get_render_metadata_1.getRenderMetadata)({
|
|
90
91
|
bucketName,
|
|
@@ -101,11 +102,16 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
101
102
|
expectedBucketOwner,
|
|
102
103
|
}),
|
|
103
104
|
]);
|
|
105
|
+
if ((renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.type) === 'still') {
|
|
106
|
+
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! 😉");
|
|
107
|
+
}
|
|
108
|
+
(0, check_if_render_exists_1.checkIfRenderExists)(contents, renderId, bucketName, (0, get_current_region_1.getCurrentRegionInFunction)());
|
|
104
109
|
const outputFile = renderMetadata
|
|
105
110
|
? await (0, find_output_file_in_bucket_1.findOutputFileInBucket)({
|
|
106
111
|
bucketName,
|
|
107
112
|
renderMetadata,
|
|
108
113
|
region,
|
|
114
|
+
customCredentials,
|
|
109
115
|
})
|
|
110
116
|
: null;
|
|
111
117
|
const accruedSoFar = Number((0, calculate_price_from_bucket_1.estimatePriceFromBucket)({
|
|
@@ -114,49 +120,65 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
114
120
|
memorySizeInMb,
|
|
115
121
|
outputFileMetadata: outputFile,
|
|
116
122
|
architecture: (0, get_current_architecture_1.getCurrentArchitecture)(),
|
|
117
|
-
lambdasInvoked: (
|
|
123
|
+
lambdasInvoked: (_b = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.estimatedRenderLambdaInvokations) !== null && _b !== void 0 ? _b : 0,
|
|
118
124
|
// We cannot determine the ephemeral storage size, so we
|
|
119
125
|
// overestimate the price, but will only have a miniscule effect (~0.2%)
|
|
120
126
|
diskSizeInMb: constants_1.MAX_EPHEMERAL_STORAGE_IN_MB,
|
|
121
127
|
}));
|
|
122
128
|
const cleanup = (0, get_cleanup_progress_1.getCleanupProgress)({
|
|
123
|
-
chunkCount: (
|
|
129
|
+
chunkCount: (_c = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.totalChunks) !== null && _c !== void 0 ? _c : 0,
|
|
124
130
|
contents,
|
|
125
|
-
output: (
|
|
131
|
+
output: (_d = outputFile === null || outputFile === void 0 ? void 0 : outputFile.url) !== null && _d !== void 0 ? _d : null,
|
|
126
132
|
renderId,
|
|
127
133
|
});
|
|
128
134
|
const timeToFinish = (0, get_time_to_finish_1.getTimeToFinish)({
|
|
129
|
-
lastModified: (
|
|
135
|
+
lastModified: (_e = outputFile === null || outputFile === void 0 ? void 0 : outputFile.lastModified) !== null && _e !== void 0 ? _e : null,
|
|
130
136
|
renderMetadata,
|
|
131
137
|
});
|
|
132
138
|
const chunks = contents.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.chunkKey)(renderId)); });
|
|
133
|
-
const
|
|
139
|
+
const framesRendered = renderMetadata
|
|
140
|
+
? (0, get_rendered_frames_progress_1.getRenderedFramesProgress)({
|
|
141
|
+
contents,
|
|
142
|
+
everyNthFrame: renderMetadata.everyNthFrame,
|
|
143
|
+
frameRange: renderMetadata.frameRange,
|
|
144
|
+
framesPerLambda: renderMetadata.framesPerLambda,
|
|
145
|
+
renderId,
|
|
146
|
+
})
|
|
147
|
+
: 0;
|
|
148
|
+
console.log('etags', contents
|
|
149
|
+
.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaChunkInitializedPrefix)(renderId)); })
|
|
150
|
+
.map((c) => {
|
|
151
|
+
return (0, chunk_progress_1.getProgressOfChunk)(c.ETag);
|
|
152
|
+
}));
|
|
153
|
+
const allChunks = chunks.length === ((_f = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.totalChunks) !== null && _f !== void 0 ? _f : Infinity);
|
|
134
154
|
const renderSize = contents
|
|
135
155
|
.map((c) => { var _a; return (_a = c.Size) !== null && _a !== void 0 ? _a : 0; })
|
|
136
156
|
.reduce((a, b) => a + b, 0);
|
|
137
|
-
const lambdasInvokedStats = (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)(
|
|
157
|
+
const lambdasInvokedStats = (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)({
|
|
158
|
+
contents,
|
|
159
|
+
renderId,
|
|
160
|
+
});
|
|
138
161
|
const retriesInfo = (0, get_retry_stats_1.getRetryStats)({
|
|
139
162
|
contents,
|
|
140
163
|
renderId,
|
|
141
164
|
});
|
|
142
165
|
const finalEncodingStatus = (0, get_final_encoding_status_1.getFinalEncodingStatus)({
|
|
143
|
-
encodingStatus,
|
|
166
|
+
encodingProgress: encodingStatus,
|
|
144
167
|
outputFileExists: Boolean(outputFile),
|
|
145
168
|
renderMetadata,
|
|
146
|
-
lambdaInvokeStatus: lambdasInvokedStats,
|
|
147
169
|
});
|
|
148
170
|
const chunkCount = outputFile
|
|
149
|
-
? (
|
|
171
|
+
? (_g = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.totalChunks) !== null && _g !== void 0 ? _g : 0
|
|
150
172
|
: chunks.length;
|
|
151
173
|
// 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
|
|
152
174
|
const isBeyondTimeout = renderMetadata &&
|
|
153
|
-
Date.now() > renderMetadata.startedDate +
|
|
175
|
+
Date.now() > renderMetadata.startedDate + timeoutInMilliseconds + 20000;
|
|
154
176
|
const allErrors = [
|
|
155
177
|
isBeyondTimeout
|
|
156
178
|
? {
|
|
157
179
|
attempt: 1,
|
|
158
180
|
chunk: null,
|
|
159
|
-
explanation: `The main function timed out after ${
|
|
181
|
+
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`,
|
|
160
182
|
frame: null,
|
|
161
183
|
isFatal: true,
|
|
162
184
|
s3Location: '',
|
|
@@ -169,7 +191,11 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
169
191
|
: null,
|
|
170
192
|
...errorExplanations,
|
|
171
193
|
].filter(remotion_1.Internals.truthy);
|
|
194
|
+
const frameCount = renderMetadata
|
|
195
|
+
? renderer_1.RenderInternals.getFramesToRender(renderMetadata.frameRange, renderMetadata.everyNthFrame).length
|
|
196
|
+
: null;
|
|
172
197
|
return {
|
|
198
|
+
framesRendered,
|
|
173
199
|
chunks: chunkCount,
|
|
174
200
|
done: false,
|
|
175
201
|
encodingStatus,
|
|
@@ -177,7 +203,7 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
177
203
|
renderId,
|
|
178
204
|
renderMetadata,
|
|
179
205
|
bucket: bucketName,
|
|
180
|
-
outputFile: (
|
|
206
|
+
outputFile: (_h = outputFile === null || outputFile === void 0 ? void 0 : outputFile.url) !== null && _h !== void 0 ? _h : null,
|
|
181
207
|
timeToFinish,
|
|
182
208
|
errors: allErrors,
|
|
183
209
|
fatalErrorEncountered: allErrors.some((f) => f.isFatal && !f.willRetry),
|
|
@@ -192,26 +218,29 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
192
218
|
type: 'absolute-time',
|
|
193
219
|
})
|
|
194
220
|
: null,
|
|
195
|
-
timeToInvokeLambdas: (_k = encodingStatus === null || encodingStatus === void 0 ? void 0 : encodingStatus.timeToInvoke) !== null && _k !== void 0 ? _k : lambdasInvokedStats.timeToInvokeLambdas,
|
|
196
221
|
overallProgress: (0, get_overall_progress_1.getOverallProgress)({
|
|
197
222
|
cleanup: cleanup ? cleanup.filesDeleted / cleanup.minFilesToDelete : 0,
|
|
198
|
-
encoding: finalEncodingStatus && renderMetadata
|
|
199
|
-
? finalEncodingStatus.framesEncoded /
|
|
200
|
-
renderMetadata.videoConfig.durationInFrames
|
|
223
|
+
encoding: finalEncodingStatus && renderMetadata && frameCount
|
|
224
|
+
? finalEncodingStatus.framesEncoded / frameCount
|
|
201
225
|
: 0,
|
|
202
226
|
invoking: renderMetadata
|
|
203
227
|
? lambdasInvokedStats.lambdasInvoked /
|
|
204
228
|
renderMetadata.estimatedRenderLambdaInvokations
|
|
205
229
|
: 0,
|
|
206
230
|
rendering: renderMetadata ? chunkCount / renderMetadata.totalChunks : 0,
|
|
231
|
+
frames: frameCount === null ? 0 : framesRendered / frameCount,
|
|
207
232
|
}),
|
|
208
233
|
retriesInfo,
|
|
209
234
|
outKey: outputFile && renderMetadata
|
|
210
|
-
? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName).key
|
|
235
|
+
? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials).key
|
|
211
236
|
: null,
|
|
212
237
|
outBucket: outputFile && renderMetadata
|
|
213
|
-
? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName)
|
|
238
|
+
? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials)
|
|
239
|
+
.renderBucketName
|
|
214
240
|
: null,
|
|
241
|
+
mostExpensiveFrameRanges: null,
|
|
242
|
+
timeToEncode: null,
|
|
243
|
+
outputSizeInBytes: (_j = outputFile === null || outputFile === void 0 ? void 0 : outputFile.size) !== null && _j !== void 0 ? _j : null,
|
|
215
244
|
};
|
|
216
245
|
};
|
|
217
246
|
exports.getProgress = getProgress;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
-
import { RenderMetadata } from '../../shared/constants';
|
|
1
|
+
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
2
|
+
import type { RenderMetadata } from '../../shared/constants';
|
|
3
3
|
export declare const getRenderMetadata: ({ bucketName, renderId, region, expectedBucketOwner, }: {
|
|
4
4
|
bucketName: string;
|
|
5
5
|
renderId: string;
|
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { _Object } from '@aws-sdk/client-s3';
|
|
2
|
+
export declare const getRenderedFramesProgress: ({ contents, renderId, framesPerLambda, everyNthFrame, frameRange, }: {
|
|
3
|
+
contents: _Object[];
|
|
4
|
+
renderId: string;
|
|
5
|
+
framesPerLambda: number;
|
|
6
|
+
frameRange: [number, number];
|
|
7
|
+
everyNthFrame: number;
|
|
8
|
+
}) => number;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRenderedFramesProgress = void 0;
|
|
4
|
+
const chunk_progress_1 = require("../../shared/chunk-progress");
|
|
5
|
+
const constants_1 = require("../../shared/constants");
|
|
6
|
+
const parse_chunk_key_1 = require("../../shared/parse-chunk-key");
|
|
7
|
+
const parse_lambda_initialized_key_1 = require("../../shared/parse-lambda-initialized-key");
|
|
8
|
+
const plan_frame_ranges_1 = require("../chunk-optimization/plan-frame-ranges");
|
|
9
|
+
const getRenderedFramesProgress = ({ contents, renderId, framesPerLambda, everyNthFrame, frameRange, }) => {
|
|
10
|
+
const chunkProgress = {};
|
|
11
|
+
const { chunks } = (0, plan_frame_ranges_1.planFrameRanges)({
|
|
12
|
+
everyNthFrame,
|
|
13
|
+
frameRange,
|
|
14
|
+
framesPerLambda,
|
|
15
|
+
});
|
|
16
|
+
// Sort, so only the latest attempt is used
|
|
17
|
+
const sortedChunks = contents
|
|
18
|
+
.filter((c) => {
|
|
19
|
+
return c.Key.startsWith((0, constants_1.lambdaChunkInitializedPrefix)(renderId));
|
|
20
|
+
})
|
|
21
|
+
.sort((a, b) => {
|
|
22
|
+
return a.Key.localeCompare(b.Key);
|
|
23
|
+
});
|
|
24
|
+
for (const chunk of sortedChunks) {
|
|
25
|
+
const key = (0, parse_lambda_initialized_key_1.parseLambdaInitializedKey)(chunk.Key);
|
|
26
|
+
chunkProgress[key.chunk] = (0, chunk_progress_1.getProgressOfChunk)(chunk.ETag);
|
|
27
|
+
}
|
|
28
|
+
for (const chunk of contents.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.chunkKey)(renderId)); })) {
|
|
29
|
+
const parsed = (0, parse_chunk_key_1.parseLambdaChunkKey)(chunk.Key);
|
|
30
|
+
const frameRangeInChunk = chunks[parsed.chunk];
|
|
31
|
+
chunkProgress[parsed.chunk] =
|
|
32
|
+
frameRangeInChunk[1] - frameRangeInChunk[0] + 1;
|
|
33
|
+
}
|
|
34
|
+
const framesRendered = Object.values(chunkProgress).reduce((a, b) => a + b, 0);
|
|
35
|
+
return framesRendered;
|
|
36
|
+
};
|
|
37
|
+
exports.getRenderedFramesProgress = getRenderedFramesProgress;
|
|
@@ -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.
|
|
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
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { _Object } from '@aws-sdk/client-s3';
|
|
2
|
-
import { AwsRegion } from '../../pricing/aws-regions';
|
|
3
|
-
import { EnhancedErrorInfo } from './write-lambda-error';
|
|
1
|
+
import type { _Object } from '@aws-sdk/client-s3';
|
|
2
|
+
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
3
|
+
import type { EnhancedErrorInfo } from './write-lambda-error';
|
|
4
4
|
export declare const inspectErrors: ({ contents, bucket, region, renderId, expectedBucketOwner, }: {
|
|
5
5
|
contents: _Object[];
|
|
6
6
|
bucket: string;
|
|
File without changes
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import { _Object } from '@aws-sdk/client-s3';
|
|
2
|
-
import { ReadStream } from 'fs';
|
|
3
|
-
import { Readable } from 'stream';
|
|
4
|
-
import { AwsRegion } from '../../pricing/aws-regions';
|
|
5
|
-
import {
|
|
1
|
+
import type { _Object } from '@aws-sdk/client-s3';
|
|
2
|
+
import type { ReadStream } from 'fs';
|
|
3
|
+
import type { Readable } from 'stream';
|
|
4
|
+
import type { AwsRegion } from '../../pricing/aws-regions';
|
|
5
|
+
import type { CustomCredentials } from '../../shared/aws-clients';
|
|
6
|
+
import type { Privacy } from '../../shared/constants';
|
|
7
|
+
import type { DownloadBehavior } from '../../shared/content-disposition-header';
|
|
6
8
|
export declare type LambdaLSInput = {
|
|
7
9
|
bucketName: string;
|
|
8
10
|
prefix: string;
|
|
@@ -12,13 +14,21 @@ export declare type LambdaLSInput = {
|
|
|
12
14
|
};
|
|
13
15
|
export declare type LambdaLsReturnType = Promise<_Object[]>;
|
|
14
16
|
export declare const lambdaLs: ({ bucketName, prefix, region, expectedBucketOwner, continuationToken, }: LambdaLSInput) => LambdaLsReturnType;
|
|
15
|
-
export declare const
|
|
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, }: {
|
|
16
24
|
bucketName: string;
|
|
17
25
|
key: string;
|
|
18
26
|
body: ReadStream | string;
|
|
19
27
|
region: AwsRegion;
|
|
20
28
|
privacy: Privacy;
|
|
21
29
|
expectedBucketOwner: string | null;
|
|
30
|
+
downloadBehavior: DownloadBehavior | null;
|
|
31
|
+
customCredentials: CustomCredentials | null;
|
|
22
32
|
}) => Promise<void>;
|
|
23
33
|
export declare const lambdaReadFile: ({ bucketName, key, region, expectedBucketOwner, }: {
|
|
24
34
|
bucketName: string;
|
|
@@ -26,3 +36,11 @@ export declare const lambdaReadFile: ({ bucketName, key, region, expectedBucketO
|
|
|
26
36
|
region: AwsRegion;
|
|
27
37
|
expectedBucketOwner: string;
|
|
28
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
|
+
}>;
|
|
@@ -3,14 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.lambdaReadFile = exports.lambdaWriteFile = exports.lambdaLs = void 0;
|
|
6
|
+
exports.lambdaHeadCommand = exports.lambdaReadFile = exports.lambdaWriteFile = exports.lambdaDeleteFile = exports.lambdaLs = void 0;
|
|
7
7
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
8
8
|
const mime_types_1 = __importDefault(require("mime-types"));
|
|
9
9
|
const aws_clients_1 = require("../../shared/aws-clients");
|
|
10
|
+
const content_disposition_header_1 = require("../../shared/content-disposition-header");
|
|
10
11
|
const lambdaLs = async ({ bucketName, prefix, region, expectedBucketOwner, continuationToken, }) => {
|
|
11
12
|
var _a, _b, _c;
|
|
12
13
|
try {
|
|
13
|
-
const list = await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.ListObjectsV2Command({
|
|
14
|
+
const list = await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.ListObjectsV2Command({
|
|
14
15
|
Bucket: bucketName,
|
|
15
16
|
Prefix: prefix,
|
|
16
17
|
ExpectedBucketOwner: expectedBucketOwner !== null && expectedBucketOwner !== void 0 ? expectedBucketOwner : undefined,
|
|
@@ -36,7 +37,7 @@ const lambdaLs = async ({ bucketName, prefix, region, expectedBucketOwner, conti
|
|
|
36
37
|
}
|
|
37
38
|
// Prevent from accessing a foreign bucket, retry without ExpectedBucketOwner and see if it works. If it works then it's an owner mismatch.
|
|
38
39
|
if ((_c = err.stack) === null || _c === void 0 ? void 0 : _c.includes('AccessDenied')) {
|
|
39
|
-
await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.ListObjectsV2Command({
|
|
40
|
+
await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.ListObjectsV2Command({
|
|
40
41
|
Bucket: bucketName,
|
|
41
42
|
Prefix: prefix,
|
|
42
43
|
}));
|
|
@@ -46,19 +47,33 @@ const lambdaLs = async ({ bucketName, prefix, region, expectedBucketOwner, conti
|
|
|
46
47
|
}
|
|
47
48
|
};
|
|
48
49
|
exports.lambdaLs = lambdaLs;
|
|
49
|
-
const
|
|
50
|
-
await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.
|
|
50
|
+
const lambdaDeleteFile = async ({ bucketName, key, region, customCredentials, }) => {
|
|
51
|
+
await (0, aws_clients_1.getS3Client)(region, customCredentials).send(new client_s3_1.DeleteObjectCommand({
|
|
52
|
+
Bucket: bucketName,
|
|
53
|
+
Key: key,
|
|
54
|
+
}));
|
|
55
|
+
};
|
|
56
|
+
exports.lambdaDeleteFile = lambdaDeleteFile;
|
|
57
|
+
const lambdaWriteFile = async ({ bucketName, key, body, region, privacy, expectedBucketOwner, downloadBehavior, customCredentials, }) => {
|
|
58
|
+
await (0, aws_clients_1.getS3Client)(region, customCredentials).send(new client_s3_1.PutObjectCommand({
|
|
51
59
|
Bucket: bucketName,
|
|
52
60
|
Key: key,
|
|
53
61
|
Body: body,
|
|
54
|
-
ACL: privacy === '
|
|
55
|
-
|
|
62
|
+
ACL: privacy === 'no-acl'
|
|
63
|
+
? undefined
|
|
64
|
+
: privacy === 'private'
|
|
65
|
+
? 'private'
|
|
66
|
+
: 'public-read',
|
|
67
|
+
ExpectedBucketOwner: customCredentials
|
|
68
|
+
? undefined
|
|
69
|
+
: expectedBucketOwner !== null && expectedBucketOwner !== void 0 ? expectedBucketOwner : undefined,
|
|
56
70
|
ContentType: mime_types_1.default.lookup(key) || 'application/octet-stream',
|
|
71
|
+
ContentDisposition: (0, content_disposition_header_1.getContentDispositionHeader)(downloadBehavior),
|
|
57
72
|
}));
|
|
58
73
|
};
|
|
59
74
|
exports.lambdaWriteFile = lambdaWriteFile;
|
|
60
75
|
const lambdaReadFile = async ({ bucketName, key, region, expectedBucketOwner, }) => {
|
|
61
|
-
const { Body } = await (0, aws_clients_1.getS3Client)(region).send(new client_s3_1.GetObjectCommand({
|
|
76
|
+
const { Body } = await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.GetObjectCommand({
|
|
62
77
|
Bucket: bucketName,
|
|
63
78
|
Key: key,
|
|
64
79
|
ExpectedBucketOwner: expectedBucketOwner,
|
|
@@ -66,3 +81,11 @@ const lambdaReadFile = async ({ bucketName, key, region, expectedBucketOwner, })
|
|
|
66
81
|
return Body;
|
|
67
82
|
};
|
|
68
83
|
exports.lambdaReadFile = lambdaReadFile;
|
|
84
|
+
const lambdaHeadCommand = async ({ bucketName, key, region, }) => {
|
|
85
|
+
const head = await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.HeadObjectCommand({
|
|
86
|
+
Bucket: bucketName,
|
|
87
|
+
Key: key,
|
|
88
|
+
}));
|
|
89
|
+
return head;
|
|
90
|
+
};
|
|
91
|
+
exports.lambdaHeadCommand = lambdaHeadCommand;
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export declare const min: (arr: number[]) => number;
|
|
2
|
-
export declare const max: (arr: number[]) => number;
|
|
2
|
+
export declare const max: (arr: number[]) => number | null;
|