@remotion/lambda 4.0.0-2x.1 → 4.0.0-alpha.111
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 +16 -3
- 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 +62 -67
- package/dist/api/bucket-exists.d.ts +0 -0
- package/dist/api/bucket-exists.js +1 -1
- package/dist/api/clean-items.d.ts +0 -0
- package/dist/api/clean-items.js +2 -2
- package/dist/api/create-bucket.d.ts +0 -0
- package/dist/api/create-bucket.js +1 -1
- package/dist/api/create-function.d.ts +1 -3
- package/dist/api/create-function.js +25 -4
- package/dist/api/delete-function.d.ts +1 -1
- package/dist/api/delete-function.js +1 -1
- 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 +1 -6
- package/dist/api/deploy-function.d.ts +1 -4
- package/dist/api/deploy-function.js +6 -8
- package/dist/api/deploy-site.d.ts +11 -2
- package/dist/api/deploy-site.js +60 -22
- package/dist/api/download-media.d.ts +12 -3
- package/dist/api/download-media.js +16 -8
- package/dist/api/estimate-price.d.ts +2 -4
- package/dist/api/estimate-price.js +4 -10
- package/dist/api/get-aws-client.d.ts +7 -3
- package/dist/api/get-aws-client.js +10 -3
- package/dist/api/get-buckets.d.ts +0 -0
- 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 +54 -0
- package/dist/api/get-function-info.d.ts +2 -3
- package/dist/api/get-function-info.js +1 -1
- package/dist/api/get-functions.d.ts +1 -3
- package/dist/api/get-functions.js +3 -4
- package/dist/api/get-or-create-bucket.d.ts +2 -1
- package/dist/api/get-or-create-bucket.js +6 -11
- package/dist/api/get-regions.d.ts +6 -2
- package/dist/api/get-regions.js +6 -3
- package/dist/api/get-render-progress.d.ts +5 -2
- package/dist/api/get-render-progress.js +6 -2
- package/dist/api/get-sites.d.ts +2 -2
- package/dist/api/get-sites.js +1 -2
- package/dist/api/iam-validation/role-permissions.d.ts +0 -0
- package/dist/api/iam-validation/role-permissions.js +0 -0
- package/dist/api/iam-validation/simulate-rule.d.ts +0 -0
- package/dist/api/iam-validation/simulate-rule.js +0 -22
- package/dist/api/iam-validation/simulate.d.ts +1 -1
- package/dist/api/iam-validation/simulate.js +27 -6
- 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 +1 -1
- package/dist/api/iam-validation/user-permissions.js +1 -8
- package/dist/api/mock-functions.d.ts +4 -5
- package/dist/api/mock-functions.js +0 -0
- package/dist/api/presign-url.d.ts +4 -4
- package/dist/api/presign-url.js +9 -4
- package/dist/api/render-media-on-lambda.d.ts +37 -16
- package/dist/api/render-media-on-lambda.js +88 -38
- package/dist/api/render-still-on-lambda.d.ts +11 -6
- package/dist/api/render-still-on-lambda.js +58 -31
- package/dist/api/speculate-function-name.d.ts +14 -0
- package/dist/api/speculate-function-name.js +22 -0
- package/dist/api/upload-dir.d.ts +4 -3
- package/dist/api/upload-dir.js +57 -50
- 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 -4
- package/dist/cli/args.js +1 -5
- package/dist/cli/commands/compositions/index.d.ts +2 -0
- package/dist/cli/commands/compositions/index.js +44 -0
- package/dist/cli/commands/functions/deploy.d.ts +0 -0
- package/dist/cli/commands/functions/deploy.js +11 -13
- package/dist/cli/commands/functions/index.d.ts +0 -0
- package/dist/cli/commands/functions/index.js +16 -17
- package/dist/cli/commands/functions/ls.d.ts +0 -0
- package/dist/cli/commands/functions/ls.js +9 -7
- package/dist/cli/commands/functions/rm.d.ts +0 -0
- package/dist/cli/commands/functions/rm.js +8 -2
- package/dist/cli/commands/functions/rmall.d.ts +0 -0
- package/dist/cli/commands/functions/rmall.js +8 -2
- 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 +28 -8
- package/dist/cli/commands/quotas/index.d.ts +0 -0
- package/dist/cli/commands/quotas/index.js +8 -9
- 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 +6 -2
- package/dist/cli/commands/render/progress.d.ts +9 -5
- package/dist/cli/commands/render/progress.js +66 -48
- package/dist/cli/commands/render/render.d.ts +1 -1
- package/dist/cli/commands/render/render.js +86 -29
- package/dist/cli/commands/sites/create.d.ts +1 -1
- package/dist/cli/commands/sites/create.js +30 -27
- package/dist/cli/commands/sites/index.d.ts +1 -1
- package/dist/cli/commands/sites/index.js +15 -16
- package/dist/cli/commands/sites/ls.d.ts +0 -0
- package/dist/cli/commands/sites/ls.js +10 -12
- package/dist/cli/commands/sites/rm.d.ts +0 -0
- package/dist/cli/commands/sites/rm.js +8 -19
- package/dist/cli/commands/sites/rmall.d.ts +0 -0
- package/dist/cli/commands/sites/rmall.js +7 -19
- package/dist/cli/commands/still.d.ts +1 -1
- package/dist/cli/commands/still.js +36 -27
- package/dist/cli/get-aws-region.d.ts +0 -0
- 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 +37 -7
- package/dist/cli/helpers/progress-bar.d.ts +9 -3
- package/dist/cli/helpers/progress-bar.js +20 -8
- 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 +12 -0
- package/dist/cli/log.js +0 -0
- package/dist/client.d.ts +10 -2
- package/dist/client.js +11 -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 +56 -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 +0 -0
- package/dist/functions/helpers/calculate-chunk-times.js +0 -0
- package/dist/functions/helpers/calculate-price-from-bucket.d.ts +1 -3
- package/dist/functions/helpers/calculate-price-from-bucket.js +1 -2
- 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 +15 -6
- package/dist/functions/helpers/concat-videos.js +33 -32
- package/dist/functions/helpers/create-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/create-post-render-data.js +1 -10
- package/dist/functions/helpers/delete-chunks.d.ts +0 -0
- 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 +3 -1
- package/dist/functions/helpers/find-output-file-in-bucket.js +17 -9
- package/dist/functions/helpers/format-costs-info.d.ts +0 -0
- package/dist/functions/helpers/format-costs-info.js +0 -0
- package/dist/functions/helpers/get-browser-instance.d.ts +0 -0
- package/dist/functions/helpers/get-browser-instance.js +2 -2
- package/dist/functions/helpers/get-chromium-executable-path.d.ts +1 -1
- package/dist/functions/helpers/get-chromium-executable-path.js +3 -2
- package/dist/functions/helpers/get-cleanup-progress.d.ts +0 -0
- package/dist/functions/helpers/get-cleanup-progress.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 -8
- package/dist/functions/helpers/get-encoding-metadata.js +7 -17
- 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 +2 -4
- 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 +4 -3
- package/dist/functions/helpers/get-lambdas-invoked-stats.js +2 -10
- package/dist/functions/helpers/get-output-url-from-metadata.d.ts +2 -1
- 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 +0 -0
- package/dist/functions/helpers/get-post-render-data.js +0 -0
- package/dist/functions/helpers/get-progress.d.ts +4 -2
- package/dist/functions/helpers/get-progress.js +58 -44
- package/dist/functions/helpers/get-render-metadata.d.ts +0 -0
- 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 +0 -0
- package/dist/functions/helpers/get-retry-stats.js +1 -1
- package/dist/functions/helpers/get-time-to-finish.d.ts +0 -0
- package/dist/functions/helpers/get-time-to-finish.js +0 -0
- package/dist/functions/helpers/inspect-errors.d.ts +0 -0
- package/dist/functions/helpers/inspect-errors.js +0 -0
- package/dist/functions/helpers/io.d.ts +19 -1
- 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 +1 -1
- package/dist/functions/helpers/is-warm.d.ts +0 -0
- package/dist/functions/helpers/is-warm.js +0 -0
- package/dist/functions/helpers/make-timeout-error.d.ts +8 -0
- package/dist/functions/helpers/make-timeout-error.js +48 -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 +1 -1
- 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 +5 -2
- 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 +6 -5
- package/dist/functions/helpers/validate-composition.js +9 -4
- package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
- package/dist/functions/helpers/write-lambda-error.js +2 -0
- package/dist/functions/helpers/write-post-render-data.d.ts +0 -0
- package/dist/functions/helpers/write-post-render-data.js +2 -0
- package/dist/functions/index.d.ts +15 -4
- package/dist/functions/index.js +30 -11
- package/dist/functions/info.d.ts +2 -2
- package/dist/functions/info.js +2 -1
- package/dist/functions/launch.d.ts +1 -0
- package/dist/functions/launch.js +359 -129
- package/dist/functions/progress.d.ts +1 -1
- package/dist/functions/progress.js +10 -1
- package/dist/functions/renderer.d.ts +0 -0
- package/dist/functions/renderer.js +144 -77
- package/dist/functions/start.d.ts +5 -1
- package/dist/functions/start.js +44 -6
- package/dist/functions/still.d.ts +0 -0
- package/dist/functions/still.js +72 -25
- package/dist/index.d.ts +28 -8
- package/dist/index.js +27 -6
- 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 +0 -0
- 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 +16 -2
- 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 +0 -0
- 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 +126 -44
- package/dist/shared/constants.js +21 -11
- 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 +5 -1
- 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 +1 -1
- package/dist/shared/function-zip-path.js +2 -2
- package/dist/shared/get-account-id.d.ts +0 -0
- package/dist/shared/get-account-id.js +4 -6
- package/dist/shared/get-aws-urls.d.ts +14 -0
- package/dist/shared/get-aws-urls.js +12 -0
- 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 +1 -2
- package/dist/shared/get-function-version.js +0 -0
- package/dist/shared/get-most-expensive-chunks.d.ts +1 -1
- package/dist/shared/get-most-expensive-chunks.js +3 -2
- 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 +4 -7
- package/dist/shared/hosted-layers.js +294 -284
- 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 +0 -0
- 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 +2 -0
- package/dist/shared/return-values.js +0 -0
- package/dist/shared/serialize-input-props.d.ts +8 -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 +0 -0
- 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-aws-region.d.ts +0 -0
- 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 +30 -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 +13 -3
- 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 +0 -0
- 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 +53 -27
- package/remotionlambda-arm64.zip +0 -0
- package/remotionlambda-x64.zip +0 -0
- package/remotionlambda.zip +0 -0
- package/.prettierrc.js +0 -14
- package/client.d.ts +0 -1
- package/client.js +0 -1
- 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/cli/helpers/get-cloudwatch-stream-url.js +0 -7
- 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/functions/helpers/get-current-architecture.d.ts +0 -2
- package/dist/functions/helpers/get-current-architecture.js +0 -11
- package/dist/shared/chunk.d.ts +0 -1
- package/dist/shared/chunk.js +0 -11
- package/dist/shared/validate-architecture.d.ts +0 -4
- package/dist/shared/validate-architecture.js +0 -14
- package/tsconfig.json +0 -16
|
@@ -1,7 +1,8 @@
|
|
|
1
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
1
|
import type { RenderMetadata } from '../../defaults';
|
|
2
|
-
|
|
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;
|
|
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,
|
|
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,16 +1,17 @@
|
|
|
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
|
-
const docs_url_1 = require("../../shared/docs-url");
|
|
7
8
|
const calculate_chunk_times_1 = require("./calculate-chunk-times");
|
|
8
9
|
const calculate_price_from_bucket_1 = require("./calculate-price-from-bucket");
|
|
10
|
+
const check_if_render_exists_1 = require("./check-if-render-exists");
|
|
9
11
|
const expected_out_name_1 = require("./expected-out-name");
|
|
10
12
|
const find_output_file_in_bucket_1 = require("./find-output-file-in-bucket");
|
|
11
13
|
const format_costs_info_1 = require("./format-costs-info");
|
|
12
14
|
const get_cleanup_progress_1 = require("./get-cleanup-progress");
|
|
13
|
-
const get_current_architecture_1 = require("./get-current-architecture");
|
|
14
15
|
const get_current_region_1 = require("./get-current-region");
|
|
15
16
|
const get_encoding_metadata_1 = require("./get-encoding-metadata");
|
|
16
17
|
const get_final_encoding_status_1 = require("./get-final-encoding-status");
|
|
@@ -18,12 +19,14 @@ const get_lambdas_invoked_stats_1 = require("./get-lambdas-invoked-stats");
|
|
|
18
19
|
const get_overall_progress_1 = require("./get-overall-progress");
|
|
19
20
|
const get_post_render_data_1 = require("./get-post-render-data");
|
|
20
21
|
const get_render_metadata_1 = require("./get-render-metadata");
|
|
22
|
+
const get_rendered_frames_progress_1 = require("./get-rendered-frames-progress");
|
|
21
23
|
const get_retry_stats_1 = require("./get-retry-stats");
|
|
22
24
|
const get_time_to_finish_1 = require("./get-time-to-finish");
|
|
23
25
|
const inspect_errors_1 = require("./inspect-errors");
|
|
24
26
|
const io_1 = require("./io");
|
|
25
|
-
const
|
|
26
|
-
|
|
27
|
+
const make_timeout_error_1 = require("./make-timeout-error");
|
|
28
|
+
const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region, memorySizeInMb, timeoutInMilliseconds, customCredentials, }) => {
|
|
29
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
27
30
|
const postRenderData = await (0, get_post_render_data_1.getPostRenderData)({
|
|
28
31
|
bucketName,
|
|
29
32
|
region,
|
|
@@ -31,8 +34,10 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
31
34
|
expectedBucketOwner,
|
|
32
35
|
});
|
|
33
36
|
if (postRenderData) {
|
|
34
|
-
const outData = (0, expected_out_name_1.getExpectedOutName)(postRenderData.renderMetadata, bucketName);
|
|
37
|
+
const outData = (0, expected_out_name_1.getExpectedOutName)(postRenderData.renderMetadata, bucketName, customCredentials);
|
|
38
|
+
const totalFrameCount = renderer_1.RenderInternals.getFramesToRender(postRenderData.renderMetadata.frameRange, postRenderData.renderMetadata.everyNthFrame).length;
|
|
35
39
|
return {
|
|
40
|
+
framesRendered: totalFrameCount,
|
|
36
41
|
bucket: bucketName,
|
|
37
42
|
renderSize: postRenderData.renderSize,
|
|
38
43
|
chunks: postRenderData.renderMetadata.totalChunks,
|
|
@@ -50,10 +55,7 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
50
55
|
currentTime: Date.now(),
|
|
51
56
|
done: true,
|
|
52
57
|
encodingStatus: {
|
|
53
|
-
framesEncoded:
|
|
54
|
-
totalFrames: postRenderData.renderMetadata.videoConfig.durationInFrames,
|
|
55
|
-
doneIn: postRenderData.timeToEncode,
|
|
56
|
-
timeToInvoke: postRenderData.timeToInvokeLambdas,
|
|
58
|
+
framesEncoded: totalFrameCount,
|
|
57
59
|
},
|
|
58
60
|
errors: postRenderData.errors,
|
|
59
61
|
fatalErrorEncountered: false,
|
|
@@ -63,12 +65,13 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
63
65
|
renderMetadata: postRenderData.renderMetadata,
|
|
64
66
|
timeToFinish: postRenderData.timeToFinish,
|
|
65
67
|
timeToFinishChunks: postRenderData.timeToRenderChunks,
|
|
66
|
-
timeToInvokeLambdas: postRenderData.timeToInvokeLambdas,
|
|
67
68
|
overallProgress: 1,
|
|
68
69
|
retriesInfo: postRenderData.retriesInfo,
|
|
69
70
|
outKey: outData.key,
|
|
70
71
|
outBucket: outData.renderBucketName,
|
|
71
72
|
mostExpensiveFrameRanges: (_a = postRenderData.mostExpensiveFrameRanges) !== null && _a !== void 0 ? _a : null,
|
|
73
|
+
timeToEncode: postRenderData.timeToEncode,
|
|
74
|
+
outputSizeInBytes: postRenderData.outputSize,
|
|
72
75
|
};
|
|
73
76
|
}
|
|
74
77
|
const contents = await (0, io_1.lambdaLs)({
|
|
@@ -78,14 +81,7 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
78
81
|
expectedBucketOwner,
|
|
79
82
|
});
|
|
80
83
|
const renderMetadataExists = Boolean(contents.find((c) => c.Key === (0, constants_1.renderMetadataKey)(renderId)));
|
|
81
|
-
const [
|
|
82
|
-
(0, get_encoding_metadata_1.getEncodingMetadata)({
|
|
83
|
-
exists: Boolean(contents.find((c) => c.Key === (0, constants_1.encodingProgressKey)(renderId))),
|
|
84
|
-
bucketName,
|
|
85
|
-
renderId,
|
|
86
|
-
region: (0, get_current_region_1.getCurrentRegionInFunction)(),
|
|
87
|
-
expectedBucketOwner,
|
|
88
|
-
}),
|
|
84
|
+
const [renderMetadata, errorExplanations] = await Promise.all([
|
|
89
85
|
renderMetadataExists
|
|
90
86
|
? (0, get_render_metadata_1.getRenderMetadata)({
|
|
91
87
|
bucketName,
|
|
@@ -102,11 +98,16 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
102
98
|
expectedBucketOwner,
|
|
103
99
|
}),
|
|
104
100
|
]);
|
|
101
|
+
if ((renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.type) === 'still') {
|
|
102
|
+
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! 😉");
|
|
103
|
+
}
|
|
104
|
+
(0, check_if_render_exists_1.checkIfRenderExists)(contents, renderId, bucketName, (0, get_current_region_1.getCurrentRegionInFunction)());
|
|
105
105
|
const outputFile = renderMetadata
|
|
106
106
|
? await (0, find_output_file_in_bucket_1.findOutputFileInBucket)({
|
|
107
107
|
bucketName,
|
|
108
108
|
renderMetadata,
|
|
109
109
|
region,
|
|
110
|
+
customCredentials,
|
|
110
111
|
})
|
|
111
112
|
: null;
|
|
112
113
|
const accruedSoFar = Number((0, calculate_price_from_bucket_1.estimatePriceFromBucket)({
|
|
@@ -114,7 +115,6 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
114
115
|
renderMetadata,
|
|
115
116
|
memorySizeInMb,
|
|
116
117
|
outputFileMetadata: outputFile,
|
|
117
|
-
architecture: (0, get_current_architecture_1.getCurrentArchitecture)(),
|
|
118
118
|
lambdasInvoked: (_b = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.estimatedRenderLambdaInvokations) !== null && _b !== void 0 ? _b : 0,
|
|
119
119
|
// We cannot determine the ephemeral storage size, so we
|
|
120
120
|
// overestimate the price, but will only have a miniscule effect (~0.2%)
|
|
@@ -131,46 +131,58 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
131
131
|
renderMetadata,
|
|
132
132
|
});
|
|
133
133
|
const chunks = contents.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.chunkKey)(renderId)); });
|
|
134
|
+
const framesRendered = renderMetadata
|
|
135
|
+
? (0, get_rendered_frames_progress_1.getRenderedFramesProgress)({
|
|
136
|
+
contents,
|
|
137
|
+
everyNthFrame: renderMetadata.everyNthFrame,
|
|
138
|
+
frameRange: renderMetadata.frameRange,
|
|
139
|
+
framesPerLambda: renderMetadata.framesPerLambda,
|
|
140
|
+
renderId,
|
|
141
|
+
})
|
|
142
|
+
: 0;
|
|
143
|
+
console.log('etags', contents
|
|
144
|
+
.filter((c) => { var _a; return (_a = c.Key) === null || _a === void 0 ? void 0 : _a.startsWith((0, constants_1.lambdaChunkInitializedPrefix)(renderId)); })
|
|
145
|
+
.map((c) => {
|
|
146
|
+
return (0, chunk_progress_1.getProgressOfChunk)(c.ETag);
|
|
147
|
+
}));
|
|
134
148
|
const allChunks = chunks.length === ((_f = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.totalChunks) !== null && _f !== void 0 ? _f : Infinity);
|
|
135
149
|
const renderSize = contents
|
|
136
150
|
.map((c) => { var _a; return (_a = c.Size) !== null && _a !== void 0 ? _a : 0; })
|
|
137
151
|
.reduce((a, b) => a + b, 0);
|
|
138
|
-
const lambdasInvokedStats = (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)(
|
|
152
|
+
const lambdasInvokedStats = (0, get_lambdas_invoked_stats_1.getLambdasInvokedStats)({
|
|
153
|
+
contents,
|
|
154
|
+
renderId,
|
|
155
|
+
});
|
|
139
156
|
const retriesInfo = (0, get_retry_stats_1.getRetryStats)({
|
|
140
157
|
contents,
|
|
141
158
|
renderId,
|
|
142
159
|
});
|
|
160
|
+
const frameCount = renderMetadata
|
|
161
|
+
? renderer_1.RenderInternals.getFramesToRender(renderMetadata.frameRange, renderMetadata.everyNthFrame).length
|
|
162
|
+
: null;
|
|
163
|
+
const encodingStatus = (0, get_encoding_metadata_1.getEncodingMetadata)({
|
|
164
|
+
exists: contents.find((c) => c.Key === (0, constants_1.encodingProgressKey)(renderId)),
|
|
165
|
+
frameCount: frameCount === null ? 0 : frameCount,
|
|
166
|
+
});
|
|
143
167
|
const finalEncodingStatus = (0, get_final_encoding_status_1.getFinalEncodingStatus)({
|
|
144
|
-
encodingStatus,
|
|
168
|
+
encodingProgress: encodingStatus,
|
|
145
169
|
outputFileExists: Boolean(outputFile),
|
|
146
170
|
renderMetadata,
|
|
147
|
-
lambdaInvokeStatus: lambdasInvokedStats,
|
|
148
171
|
});
|
|
149
172
|
const chunkCount = outputFile
|
|
150
|
-
? (
|
|
173
|
+
? (_g = renderMetadata === null || renderMetadata === void 0 ? void 0 : renderMetadata.totalChunks) !== null && _g !== void 0 ? _g : 0
|
|
151
174
|
: chunks.length;
|
|
152
175
|
// 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
176
|
const isBeyondTimeout = renderMetadata &&
|
|
154
|
-
Date.now() > renderMetadata.startedDate +
|
|
177
|
+
Date.now() > renderMetadata.startedDate + timeoutInMilliseconds + 20000;
|
|
155
178
|
const allErrors = [
|
|
156
179
|
isBeyondTimeout
|
|
157
|
-
? {
|
|
158
|
-
attempt: 1,
|
|
159
|
-
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`,
|
|
161
|
-
frame: null,
|
|
162
|
-
isFatal: true,
|
|
163
|
-
s3Location: '',
|
|
164
|
-
stack: new Error().stack,
|
|
165
|
-
tmpDir: null,
|
|
166
|
-
totalAttempts: 1,
|
|
167
|
-
type: 'stitcher',
|
|
168
|
-
willRetry: false,
|
|
169
|
-
}
|
|
180
|
+
? (0, make_timeout_error_1.makeTimeoutError)({ timeoutInMilliseconds, renderMetadata, chunks })
|
|
170
181
|
: null,
|
|
171
182
|
...errorExplanations,
|
|
172
183
|
].filter(remotion_1.Internals.truthy);
|
|
173
184
|
return {
|
|
185
|
+
framesRendered,
|
|
174
186
|
chunks: chunkCount,
|
|
175
187
|
done: false,
|
|
176
188
|
encodingStatus,
|
|
@@ -178,7 +190,7 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
178
190
|
renderId,
|
|
179
191
|
renderMetadata,
|
|
180
192
|
bucket: bucketName,
|
|
181
|
-
outputFile: (
|
|
193
|
+
outputFile: (_h = outputFile === null || outputFile === void 0 ? void 0 : outputFile.url) !== null && _h !== void 0 ? _h : null,
|
|
182
194
|
timeToFinish,
|
|
183
195
|
errors: allErrors,
|
|
184
196
|
fatalErrorEncountered: allErrors.some((f) => f.isFatal && !f.willRetry),
|
|
@@ -193,27 +205,29 @@ const getProgress = async ({ bucketName, renderId, expectedBucketOwner, region,
|
|
|
193
205
|
type: 'absolute-time',
|
|
194
206
|
})
|
|
195
207
|
: null,
|
|
196
|
-
timeToInvokeLambdas: (_l = encodingStatus === null || encodingStatus === void 0 ? void 0 : encodingStatus.timeToInvoke) !== null && _l !== void 0 ? _l : lambdasInvokedStats.timeToInvokeLambdas,
|
|
197
208
|
overallProgress: (0, get_overall_progress_1.getOverallProgress)({
|
|
198
209
|
cleanup: cleanup ? cleanup.filesDeleted / cleanup.minFilesToDelete : 0,
|
|
199
|
-
encoding: finalEncodingStatus && renderMetadata
|
|
200
|
-
? finalEncodingStatus.framesEncoded /
|
|
201
|
-
renderMetadata.videoConfig.durationInFrames
|
|
210
|
+
encoding: finalEncodingStatus && renderMetadata && frameCount
|
|
211
|
+
? finalEncodingStatus.framesEncoded / frameCount
|
|
202
212
|
: 0,
|
|
203
213
|
invoking: renderMetadata
|
|
204
214
|
? lambdasInvokedStats.lambdasInvoked /
|
|
205
215
|
renderMetadata.estimatedRenderLambdaInvokations
|
|
206
216
|
: 0,
|
|
207
217
|
rendering: renderMetadata ? chunkCount / renderMetadata.totalChunks : 0,
|
|
218
|
+
frames: frameCount === null ? 0 : framesRendered / frameCount,
|
|
208
219
|
}),
|
|
209
220
|
retriesInfo,
|
|
210
221
|
outKey: outputFile && renderMetadata
|
|
211
|
-
? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName).key
|
|
222
|
+
? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials).key
|
|
212
223
|
: null,
|
|
213
224
|
outBucket: outputFile && renderMetadata
|
|
214
|
-
? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName)
|
|
225
|
+
? (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials)
|
|
226
|
+
.renderBucketName
|
|
215
227
|
: null,
|
|
216
228
|
mostExpensiveFrameRanges: null,
|
|
229
|
+
timeToEncode: null,
|
|
230
|
+
outputSizeInBytes: (_j = outputFile === null || outputFile === void 0 ? void 0 : outputFile.size) !== null && _j !== void 0 ? _j : null,
|
|
217
231
|
};
|
|
218
232
|
};
|
|
219
233
|
exports.getProgress = getProgress;
|
|
File without changes
|
|
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;
|
|
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.
|
|
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,7 +2,9 @@ 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';
|
|
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
|
|
@@ -11,6 +11,6 @@ const isErrInsufficientResourcesErr = (err) => {
|
|
|
11
11
|
};
|
|
12
12
|
exports.isErrInsufficientResourcesErr = isErrInsufficientResourcesErr;
|
|
13
13
|
const isBrowserCrashedError = (err) => {
|
|
14
|
-
return err.includes('Target closed.');
|
|
14
|
+
return err.includes('Target closed.') || err.includes('Session closed');
|
|
15
15
|
};
|
|
16
16
|
exports.isBrowserCrashedError = isBrowserCrashedError;
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { _Object } from '@aws-sdk/client-s3';
|
|
2
|
+
import type { RenderMetadata } from '../../defaults';
|
|
3
|
+
import type { EnhancedErrorInfo } from './write-lambda-error';
|
|
4
|
+
export declare const makeTimeoutError: ({ timeoutInMilliseconds, chunks, renderMetadata, }: {
|
|
5
|
+
timeoutInMilliseconds: number;
|
|
6
|
+
chunks: _Object[];
|
|
7
|
+
renderMetadata: RenderMetadata;
|
|
8
|
+
}) => EnhancedErrorInfo;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeTimeoutError = void 0;
|
|
4
|
+
const docs_url_1 = require("../../shared/docs-url");
|
|
5
|
+
const parse_chunk_key_1 = require("../../shared/parse-chunk-key");
|
|
6
|
+
const makeTimeoutError = ({ timeoutInMilliseconds, chunks, renderMetadata, }) => {
|
|
7
|
+
const availableChunks = chunks.map((c) => (0, parse_chunk_key_1.parseLambdaChunkKey)(c.Key));
|
|
8
|
+
const missingChunks = new Array(renderMetadata.totalChunks)
|
|
9
|
+
.fill(true)
|
|
10
|
+
.filter((_, i) => {
|
|
11
|
+
return !availableChunks.find((c) => c.chunk === i);
|
|
12
|
+
})
|
|
13
|
+
.map((_, i) => i);
|
|
14
|
+
const missingChunksMessageList = missingChunks
|
|
15
|
+
.map((ch) => {
|
|
16
|
+
const isLastChunk = ch === renderMetadata.totalChunks - 1;
|
|
17
|
+
const start = ch * renderMetadata.framesPerLambda;
|
|
18
|
+
const end = isLastChunk
|
|
19
|
+
? renderMetadata.frameRange[1]
|
|
20
|
+
: (ch + 1) * renderMetadata.framesPerLambda - 1;
|
|
21
|
+
return `Chunk ${ch} (Frames ${start} - ${end})`;
|
|
22
|
+
})
|
|
23
|
+
.slice(0, 5)
|
|
24
|
+
.join(', ');
|
|
25
|
+
const message = [
|
|
26
|
+
`The main function timed out after ${timeoutInMilliseconds}ms.`,
|
|
27
|
+
`Consider increasing the timeout of your function.`,
|
|
28
|
+
`The following chunks are missing (showing up to 5): ${missingChunksMessageList}.`,
|
|
29
|
+
`You can use the "--timeout" parameter when deploying a function via CLI, or the "timeoutInSeconds" parameter when using the deployFunction() API.`,
|
|
30
|
+
`${docs_url_1.DOCS_URL}/docs/lambda/cli/functions#deploy`,
|
|
31
|
+
].join('\n');
|
|
32
|
+
return {
|
|
33
|
+
attempt: 1,
|
|
34
|
+
chunk: null,
|
|
35
|
+
explanation: message,
|
|
36
|
+
frame: null,
|
|
37
|
+
isFatal: true,
|
|
38
|
+
s3Location: '',
|
|
39
|
+
stack: new Error().stack,
|
|
40
|
+
tmpDir: null,
|
|
41
|
+
totalAttempts: 1,
|
|
42
|
+
type: 'stitcher',
|
|
43
|
+
willRetry: false,
|
|
44
|
+
message,
|
|
45
|
+
name: 'TimeoutError',
|
|
46
|
+
};
|
|
47
|
+
};
|
|
48
|
+
exports.makeTimeoutError = makeTimeoutError;
|
|
@@ -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;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import type { LambdaRoutines } from '../../defaults';
|
|
2
|
-
export declare const printCloudwatchHelper: (type: LambdaRoutines, data: Record<string, string>) => void;
|
|
2
|
+
export declare const printCloudwatchHelper: (type: LambdaRoutines, data: Record<string, string | boolean>) => void;
|