@remotion/lambda 4.0.189 → 4.0.192

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/dist/api/deploy-site.d.ts +3 -3
  2. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +1 -4
  3. package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
  4. package/dist/functions/helpers/check-if-render-exists.js +15 -0
  5. package/dist/functions/helpers/delete-chunks.d.ts +9 -0
  6. package/dist/functions/helpers/delete-chunks.js +25 -0
  7. package/dist/functions/helpers/expected-out-name.d.ts +1 -1
  8. package/dist/functions/helpers/get-browser-instance.d.ts +2 -3
  9. package/dist/functions/helpers/get-browser-instance.js +4 -3
  10. package/dist/functions/helpers/get-cleanup-progress.d.ts +10 -0
  11. package/dist/functions/helpers/get-cleanup-progress.js +35 -0
  12. package/dist/functions/helpers/get-current-region.d.ts +1 -1
  13. package/dist/functions/helpers/get-custom-out-name.d.ts +1 -1
  14. package/dist/functions/helpers/get-encoding-metadata.d.ts +7 -0
  15. package/dist/functions/helpers/get-encoding-metadata.js +15 -0
  16. package/dist/functions/helpers/get-encoding-progress-step-size.d.ts +1 -0
  17. package/dist/functions/helpers/get-encoding-progress-step-size.js +7 -0
  18. package/dist/functions/helpers/get-files-to-delete.d.ts +10 -0
  19. package/dist/functions/helpers/get-files-to-delete.js +52 -0
  20. package/dist/functions/helpers/get-final-encoding-status.d.ts +6 -0
  21. package/dist/functions/helpers/get-final-encoding-status.js +18 -0
  22. package/dist/functions/helpers/get-folder-size.d.ts +1 -0
  23. package/dist/functions/helpers/get-folder-size.js +8 -0
  24. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +8 -0
  25. package/dist/functions/helpers/get-lambdas-invoked-stats.js +14 -0
  26. package/dist/functions/helpers/get-post-render-data.d.ts +8 -0
  27. package/dist/functions/helpers/get-post-render-data.js +22 -0
  28. package/dist/functions/helpers/get-render-metadata.d.ts +8 -0
  29. package/dist/functions/helpers/get-render-metadata.js +17 -0
  30. package/dist/functions/helpers/get-rendered-frames-progress.d.ts +8 -0
  31. package/dist/functions/helpers/get-rendered-frames-progress.js +37 -0
  32. package/dist/functions/helpers/get-time-to-finish.d.ts +5 -0
  33. package/dist/functions/helpers/get-time-to-finish.js +13 -0
  34. package/dist/functions/helpers/io.d.ts +33 -3
  35. package/dist/functions/helpers/io.js +104 -3
  36. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +1 -1
  37. package/dist/functions/helpers/print-cloudwatch-helper.js +3 -3
  38. package/dist/functions/helpers/streaming-payloads.d.ts +19 -0
  39. package/dist/functions/helpers/streaming-payloads.js +25 -0
  40. package/dist/functions/helpers/write-lambda-error.d.ts +3 -2
  41. package/dist/functions/helpers/write-lambda-error.js +2 -3
  42. package/dist/functions/helpers/write-post-render-data.d.ts +9 -0
  43. package/dist/functions/helpers/write-post-render-data.js +18 -0
  44. package/dist/functions/merge.d.ts +9 -0
  45. package/dist/functions/merge.js +61 -0
  46. package/dist/internals.d.ts +6 -6
  47. package/dist/shared/chunk-progress.d.ts +9 -0
  48. package/dist/shared/chunk-progress.js +2034 -0
  49. package/dist/shared/compress-props.d.ts +6 -8
  50. package/dist/shared/compress-props.js +14 -11
  51. package/dist/shared/parse-chunk-key.d.ts +5 -0
  52. package/dist/shared/parse-chunk-key.js +15 -0
  53. package/dist/shared/parse-lambda-initialized-key.d.ts +5 -0
  54. package/dist/shared/parse-lambda-initialized-key.js +15 -0
  55. package/dist/shared/serialize-props.d.ts +14 -0
  56. package/dist/shared/serialize-props.js +36 -0
  57. package/package.json +11 -11
  58. package/remotionlambda-arm64.zip +0 -0
  59. package/dist/functions/provider-implementation.d.ts +0 -0
  60. package/dist/functions/provider-implementation.js +0 -1
@@ -1,10 +1,111 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.lambdaHeadCommand = void 0;
6
+ exports.lambdaHeadCommand = exports.lambdaReadFile = exports.lambdaWriteFile = exports.lambdaDeleteFile = exports.lambdaLs = void 0;
4
7
  const client_s3_1 = require("@aws-sdk/client-s3");
5
- const get_s3_client_1 = require("../../shared/get-s3-client");
8
+ const mime_types_1 = __importDefault(require("mime-types"));
9
+ const aws_clients_1 = require("../../shared/aws-clients");
10
+ const content_disposition_header_1 = require("../../shared/content-disposition-header");
11
+ const lambdaLs = async ({ bucketName, prefix, region, expectedBucketOwner, continuationToken, }) => {
12
+ var _a, _b, _c;
13
+ try {
14
+ const list = await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.ListObjectsV2Command({
15
+ Bucket: bucketName,
16
+ Prefix: prefix,
17
+ ExpectedBucketOwner: expectedBucketOwner !== null && expectedBucketOwner !== void 0 ? expectedBucketOwner : undefined,
18
+ ContinuationToken: continuationToken,
19
+ }));
20
+ if (list.NextContinuationToken) {
21
+ return [
22
+ ...((_a = list.Contents) !== null && _a !== void 0 ? _a : []),
23
+ ...(await (0, exports.lambdaLs)({
24
+ bucketName,
25
+ prefix,
26
+ expectedBucketOwner,
27
+ region,
28
+ continuationToken: list.NextContinuationToken,
29
+ })),
30
+ ];
31
+ }
32
+ return (_b = list.Contents) !== null && _b !== void 0 ? _b : [];
33
+ }
34
+ catch (err) {
35
+ if (!expectedBucketOwner) {
36
+ throw err;
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.
39
+ if ((_c = err.stack) === null || _c === void 0 ? void 0 : _c.includes('AccessDenied')) {
40
+ await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.ListObjectsV2Command({
41
+ Bucket: bucketName,
42
+ Prefix: prefix,
43
+ }));
44
+ throw new Error(`Bucket owner mismatch: Expected the bucket ${bucketName} to be owned by you (AWS Account ID: ${expectedBucketOwner}) but it's not the case. Did you accidentially specify the wrong bucket?`);
45
+ }
46
+ throw err;
47
+ }
48
+ };
49
+ exports.lambdaLs = lambdaLs;
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 tryLambdaWriteFile = async ({ bucketName, key, body, region, privacy, expectedBucketOwner, downloadBehavior, customCredentials, }) => {
58
+ await (0, aws_clients_1.getS3Client)(region, customCredentials).send(new client_s3_1.PutObjectCommand({
59
+ Bucket: bucketName,
60
+ Key: key,
61
+ Body: body,
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,
70
+ ContentType: mime_types_1.default.lookup(key) || 'application/octet-stream',
71
+ ContentDisposition: (0, content_disposition_header_1.getContentDispositionHeader)(downloadBehavior),
72
+ }));
73
+ };
74
+ const lambdaWriteFile = async (params) => {
75
+ var _a;
76
+ const remainingRetries = (_a = params.retries) !== null && _a !== void 0 ? _a : 2;
77
+ try {
78
+ await tryLambdaWriteFile(params);
79
+ }
80
+ catch (err) {
81
+ if (remainingRetries === 0) {
82
+ throw err;
83
+ }
84
+ const backoff = 2 ** (2 - remainingRetries) * 2000;
85
+ await new Promise((resolve) => {
86
+ setTimeout(resolve, backoff);
87
+ });
88
+ console.warn('Failed to write file to Lambda:');
89
+ console.warn(err);
90
+ console.warn(`Retrying (${remainingRetries} retries remaining)...`);
91
+ return (0, exports.lambdaWriteFile)({
92
+ ...params,
93
+ retries: remainingRetries - 1,
94
+ });
95
+ }
96
+ };
97
+ exports.lambdaWriteFile = lambdaWriteFile;
98
+ const lambdaReadFile = async ({ bucketName, key, region, expectedBucketOwner, }) => {
99
+ const { Body } = await (0, aws_clients_1.getS3Client)(region, null).send(new client_s3_1.GetObjectCommand({
100
+ Bucket: bucketName,
101
+ Key: key,
102
+ ExpectedBucketOwner: expectedBucketOwner,
103
+ }));
104
+ return Body;
105
+ };
106
+ exports.lambdaReadFile = lambdaReadFile;
6
107
  const lambdaHeadCommand = async ({ bucketName, key, region, customCredentials, }) => {
7
- const head = await (0, get_s3_client_1.getS3Client)(region, customCredentials).send(new client_s3_1.HeadObjectCommand({
108
+ const head = await (0, aws_clients_1.getS3Client)(region, customCredentials).send(new client_s3_1.HeadObjectCommand({
8
109
  Bucket: bucketName,
9
110
  Key: key,
10
111
  }));
@@ -1,3 +1,3 @@
1
1
  import type { LogLevel } from '@remotion/renderer';
2
2
  import type { ServerlessRoutines } from '@remotion/serverless/client';
3
- export declare const printCloudwatchHelper: (type: ServerlessRoutines, data: Record<string, string | boolean>, logLevel: LogLevel) => void;
3
+ export declare const printLoggingGrepHelper: (type: ServerlessRoutines, data: Record<string, string | boolean>, logLevel: LogLevel) => void;
@@ -1,12 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.printCloudwatchHelper = void 0;
3
+ exports.printLoggingGrepHelper = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
- const printCloudwatchHelper = (type, data, logLevel) => {
5
+ const printLoggingGrepHelper = (type, data, logLevel) => {
6
6
  const d = Object.keys(data).reduce((a, b) => {
7
7
  return [...a, `${b}=${data[b]}`];
8
8
  }, []);
9
9
  const msg = [`method=${type}`, ...d].join(',');
10
10
  renderer_1.RenderInternals.Log.info({ indent: false, logLevel }, msg);
11
11
  };
12
- exports.printCloudwatchHelper = printCloudwatchHelper;
12
+ exports.printLoggingGrepHelper = printLoggingGrepHelper;
@@ -0,0 +1,19 @@
1
+ import { z } from 'zod';
2
+ import type { ResponseStream } from './streamify-response';
3
+ declare const streamingPayloadSchema: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
4
+ type: z.ZodLiteral<"render-id-determined">;
5
+ renderId: z.ZodString;
6
+ }, "strip", z.ZodTypeAny, {
7
+ type: "render-id-determined";
8
+ renderId: string;
9
+ }, {
10
+ type: "render-id-determined";
11
+ renderId: string;
12
+ }>]>;
13
+ export type StreamingPayloads = z.infer<typeof streamingPayloadSchema>;
14
+ export declare const isStreamingPayload: (str: string) => false | {
15
+ type: "render-id-determined";
16
+ renderId: string;
17
+ };
18
+ export declare const sendProgressEvent: (responseStream: ResponseStream, payload: StreamingPayloads) => void;
19
+ export {};
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sendProgressEvent = exports.isStreamingPayload = void 0;
4
+ const zod_1 = require("zod");
5
+ const streamingPayloadSchema = zod_1.z.discriminatedUnion('type', [
6
+ zod_1.z.object({
7
+ type: zod_1.z.literal('render-id-determined'),
8
+ renderId: zod_1.z.string(),
9
+ }),
10
+ ]);
11
+ const isStreamingPayload = (str) => {
12
+ try {
13
+ const parsed = JSON.parse(str);
14
+ return streamingPayloadSchema.parse(parsed);
15
+ }
16
+ catch (_a) {
17
+ return false;
18
+ }
19
+ };
20
+ exports.isStreamingPayload = isStreamingPayload;
21
+ const sendProgressEvent = (responseStream, payload) => {
22
+ const stringified = JSON.stringify(payload);
23
+ responseStream.write(stringified);
24
+ };
25
+ exports.sendProgressEvent = sendProgressEvent;
@@ -1,4 +1,5 @@
1
- import type { FileNameAndSize } from './get-files-in-folder';
1
+ import type { ProviderSpecifics } from '@remotion/serverless';
2
+ import type { FileNameAndSize } from '@remotion/serverless/client';
2
3
  export type LambdaErrorInfo = {
3
4
  type: 'renderer' | 'browser' | 'stitcher' | 'webhook' | 'artifact';
4
5
  message: string;
@@ -15,7 +16,7 @@ export type LambdaErrorInfo = {
15
16
  total: number;
16
17
  } | null;
17
18
  };
18
- export declare const getTmpDirStateIfENoSp: (err: string) => LambdaErrorInfo['tmpDir'];
19
+ export declare const getTmpDirStateIfENoSp: <Region extends string>(err: string, providerSpecifics: ProviderSpecifics<Region>) => LambdaErrorInfo['tmpDir'];
19
20
  export type EnhancedErrorInfo = LambdaErrorInfo & {
20
21
  /**
21
22
  * @deprecated Will always be an empty string.
@@ -1,13 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getTmpDirStateIfENoSp = void 0;
4
- const get_files_in_folder_1 = require("./get-files-in-folder");
5
4
  const is_enosp_err_1 = require("./is-enosp-err");
6
- const getTmpDirStateIfENoSp = (err) => {
5
+ const getTmpDirStateIfENoSp = (err, providerSpecifics) => {
7
6
  if (!(0, is_enosp_err_1.errorIsOutOfSpaceError)(err)) {
8
7
  return null;
9
8
  }
10
- const files = (0, get_files_in_folder_1.getFolderFiles)('/tmp');
9
+ const files = providerSpecifics.getFolderFiles('/tmp');
11
10
  return {
12
11
  files: files
13
12
  .slice(0)
@@ -0,0 +1,9 @@
1
+ import type { AwsRegion } from '../../pricing/aws-regions';
2
+ import type { PostRenderData } from '../../shared/constants';
3
+ export declare const writePostRenderData: ({ bucketName, renderId, postRenderData, expectedBucketOwner, region, }: {
4
+ bucketName: string;
5
+ renderId: string;
6
+ postRenderData: PostRenderData;
7
+ expectedBucketOwner: string;
8
+ region: AwsRegion;
9
+ }) => Promise<void>;
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.writePostRenderData = void 0;
4
+ const constants_1 = require("../../shared/constants");
5
+ const io_1 = require("./io");
6
+ const writePostRenderData = async ({ bucketName, renderId, postRenderData, expectedBucketOwner, region, }) => {
7
+ await (0, io_1.lambdaWriteFile)({
8
+ bucketName,
9
+ key: (0, constants_1.postRenderDataKey)(renderId),
10
+ privacy: 'private',
11
+ body: JSON.stringify(postRenderData),
12
+ expectedBucketOwner,
13
+ region,
14
+ downloadBehavior: null,
15
+ customCredentials: null,
16
+ });
17
+ };
18
+ exports.writePostRenderData = writePostRenderData;
@@ -0,0 +1,9 @@
1
+ import type { LambdaPayload, PostRenderData } from '../defaults';
2
+ type Options = {
3
+ expectedBucketOwner: string;
4
+ };
5
+ export declare const mergeHandler: (params: LambdaPayload, options: Options) => Promise<{
6
+ type: 'success';
7
+ postRenderData: PostRenderData;
8
+ }>;
9
+ export {};
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.mergeHandler = void 0;
4
+ const renderer_1 = require("@remotion/renderer");
5
+ const defaults_1 = require("../defaults");
6
+ const expected_out_name_1 = require("./helpers/expected-out-name");
7
+ const get_current_region_1 = require("./helpers/get-current-region");
8
+ const get_render_metadata_1 = require("./helpers/get-render-metadata");
9
+ const merge_chunks_1 = require("./helpers/merge-chunks");
10
+ const mergeHandler = async (params, options) => {
11
+ var _a, _b;
12
+ if (params.type !== defaults_1.LambdaRoutines.merge) {
13
+ throw new Error('Expected launch type');
14
+ }
15
+ renderer_1.RenderInternals.Log.info({ indent: false, logLevel: params.logLevel }, 'This function has been started because the previous main function has timed out while merging together the chunks.');
16
+ renderer_1.RenderInternals.Log.info({ indent: false, logLevel: params.logLevel }, 'The merging of chunks will now restart.');
17
+ const renderMetadata = await (0, get_render_metadata_1.getRenderMetadata)({
18
+ bucketName: params.bucketName,
19
+ expectedBucketOwner: options.expectedBucketOwner,
20
+ region: (0, get_current_region_1.getCurrentRegionInFunction)(),
21
+ renderId: params.renderId,
22
+ });
23
+ if (!renderMetadata.codec) {
24
+ throw new Error('expected codec');
25
+ }
26
+ const { key, renderBucketName, customCredentials } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, params.bucketName, typeof params.outName === 'string' || typeof params.outName === 'undefined'
27
+ ? null
28
+ : (_b = (_a = params.outName) === null || _a === void 0 ? void 0 : _a.s3OutputProvider) !== null && _b !== void 0 ? _b : null);
29
+ const frameCount = renderer_1.RenderInternals.getFramesToRender(renderMetadata.frameRange, renderMetadata.everyNthFrame);
30
+ const fps = renderMetadata.videoConfig.fps / renderMetadata.everyNthFrame;
31
+ const postRenderData = await (0, merge_chunks_1.mergeChunksAndFinishRender)({
32
+ audioCodec: renderMetadata.audioCodec,
33
+ bucketName: params.bucketName,
34
+ chunkCount: renderMetadata.totalChunks,
35
+ codec: renderMetadata.codec,
36
+ customCredentials,
37
+ downloadBehavior: renderMetadata.downloadBehavior,
38
+ expectedBucketOwner: options.expectedBucketOwner,
39
+ fps,
40
+ numberOfFrames: frameCount.length,
41
+ inputProps: params.inputProps,
42
+ key,
43
+ numberOfGifLoops: renderMetadata.numberOfGifLoops,
44
+ privacy: renderMetadata.privacy,
45
+ renderBucketName,
46
+ renderId: params.renderId,
47
+ renderMetadata,
48
+ serializedResolvedProps: params.serializedResolvedProps,
49
+ onAllChunks: () => {
50
+ renderer_1.RenderInternals.Log.info({ indent: false, logLevel: params.logLevel }, 'All chunks have been downloaded now.');
51
+ },
52
+ audioBitrate: renderMetadata.audioBitrate,
53
+ logLevel: params.logLevel,
54
+ framesPerLambda: params.framesPerLambda,
55
+ binariesDirectory: null,
56
+ preferLossless: params.preferLossless,
57
+ compositionStart: params.compositionStart,
58
+ });
59
+ return { type: 'success', postRenderData };
60
+ };
61
+ exports.mergeHandler = mergeHandler;
@@ -1,5 +1,5 @@
1
1
  export declare const LambdaInternals: {
2
- executeCommand: (args: string[], remotionRoot: string, logLevel: "verbose" | "info" | "warn" | "error", implementation: import("@remotion/serverless").ProviderSpecifics<import("./functions/aws-implementation").AwsProvider> | null) => Promise<void>;
2
+ executeCommand: (args: string[], remotionRoot: string, logLevel: "error" | "verbose" | "info" | "warn", implementation: import("@remotion/serverless").ProviderSpecifics<import("./functions/aws-implementation").AwsProvider> | null) => Promise<void>;
3
3
  makeLambdaRenderMediaPayload: ({ rendererFunctionName, frameRange, framesPerLambda, forceBucketName: bucketName, codec, composition, serveUrl, imageFormat, inputProps, region, crf, envVariables, pixelFormat, proResProfile, x264Preset, maxRetries, privacy, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, everyNthFrame, numberOfGifLoops, audioBitrate, concurrencyPerLambda, audioCodec, forceHeight, forceWidth, webhook, videoBitrate, encodingMaxRate, encodingBufferSize, downloadBehavior, muted, overwrite, jpegQuality, offthreadVideoCacheSizeInBytes, deleteAfter, colorSpace, preferLossless, }: import("./api/make-lambda-payload").InnerRenderMediaOnLambdaInput) => Promise<import("@remotion/serverless/client").ServerlessStartPayload<import("./functions/aws-implementation").AwsProvider>>;
4
4
  getRenderProgressPayload: ({ bucketName, renderId, s3OutputProvider, logLevel, }: import("./client").GetRenderProgressInput) => import("@remotion/serverless/client").ServerlessStatusPayload<import("./functions/aws-implementation").AwsProvider>;
5
5
  makeLambdaRenderStillPayload: ({ serveUrl, inputProps, imageFormat, envVariables, quality, jpegQuality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, forceHeight, forceWidth, forceBucketName, offthreadVideoCacheSizeInBytes, deleteAfter, }: import("./api/render-still-on-lambda").RenderStillOnLambdaNonNullInput) => Promise<{
@@ -14,7 +14,7 @@ export declare const LambdaInternals: {
14
14
  maxRetries: number;
15
15
  frame: number;
16
16
  privacy: import("@remotion/serverless/client").Privacy;
17
- logLevel: "verbose" | "info" | "warn" | "error";
17
+ logLevel: "error" | "verbose" | "info" | "warn";
18
18
  outName: import("@remotion/serverless/client").OutNameInput<import("./functions/aws-implementation").AwsProvider> | null;
19
19
  timeoutInMilliseconds: number;
20
20
  chromiumOptions: import("@remotion/renderer").ChromiumOptions;
@@ -31,7 +31,7 @@ export declare const LambdaInternals: {
31
31
  internalDeploySite: (args_0: {
32
32
  entryPoint: string;
33
33
  bucketName: string;
34
- region: "eu-central-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "eu-south-1" | "eu-north-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "af-south-1" | "ap-south-1" | "ap-east-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ca-central-1" | "me-south-1" | "sa-east-1";
34
+ region: "us-east-1" | "eu-central-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "eu-south-1" | "eu-north-1" | "us-east-2" | "us-west-1" | "us-west-2" | "af-south-1" | "ap-south-1" | "ap-east-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ca-central-1" | "me-south-1" | "sa-east-1";
35
35
  } & {
36
36
  siteName: string;
37
37
  options: {
@@ -57,11 +57,11 @@ export declare const LambdaInternals: {
57
57
  getValue: ({ commandLine }: {
58
58
  commandLine: Record<string, unknown>;
59
59
  }) => {
60
- value: "verbose" | "info" | "warn" | "error";
60
+ value: "error" | "verbose" | "info" | "warn";
61
61
  source: string;
62
62
  };
63
- setConfig: (newLogLevel: "verbose" | "info" | "warn" | "error") => void;
64
- type: "verbose" | "info" | "warn" | "error";
63
+ setConfig: (newLogLevel: "error" | "verbose" | "info" | "warn") => void;
64
+ type: "error" | "verbose" | "info" | "warn";
65
65
  };
66
66
  readonly throwIfSiteExists: {
67
67
  cliFlag: string;
@@ -0,0 +1,9 @@
1
+ export declare const writeLambdaInitializedFile: ({ bucketName, expectedBucketOwner, attempt, chunk, renderId, framesRendered, }: {
2
+ bucketName: string;
3
+ expectedBucketOwner: string;
4
+ renderId: string;
5
+ chunk: number;
6
+ attempt: number;
7
+ framesRendered: number;
8
+ }) => Promise<void>;
9
+ export declare const getProgressOfChunk: (etag: string) => number;