@remotion/lambda-client 4.0.314 → 4.0.316

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 (93) hide show
  1. package/.turbo/turbo-make.log +2 -2
  2. package/dist/aws-clients.d.ts +6 -5
  3. package/dist/aws-clients.js +10 -5
  4. package/dist/aws-provider.d.ts +2 -0
  5. package/dist/bucket-exists.js +2 -1
  6. package/dist/call-lambda-async.js +1 -1
  7. package/dist/call-lambda-streaming.js +1 -1
  8. package/dist/call-lambda-sync.js +1 -1
  9. package/dist/clean-items.d.ts +2 -1
  10. package/dist/clean-items.js +2 -1
  11. package/dist/create-bucket.js +25 -5
  12. package/dist/delete-file.js +7 -2
  13. package/dist/delete-function.d.ts +4 -1
  14. package/dist/delete-function.js +2 -2
  15. package/dist/delete-render.d.ts +2 -0
  16. package/dist/delete-render.js +7 -1
  17. package/dist/esm/index.mjs +858 -823
  18. package/dist/get-account-id.js +1 -1
  19. package/dist/get-aws-client.d.ts +3 -1
  20. package/dist/get-aws-client.js +2 -1
  21. package/dist/get-buckets.js +3 -1
  22. package/dist/get-compositions-on-lambda.d.ts +3 -1
  23. package/dist/get-compositions-on-lambda.js +3 -1
  24. package/dist/get-function-version.d.ts +3 -1
  25. package/dist/get-function-version.js +4 -1
  26. package/dist/get-functions.d.ts +2 -0
  27. package/dist/get-functions.js +5 -2
  28. package/dist/get-render-progress.d.ts +2 -0
  29. package/dist/get-render-progress.js +2 -0
  30. package/dist/get-s3-client.d.ts +3 -1
  31. package/dist/get-s3-client.js +2 -1
  32. package/dist/get-service-client.d.ts +3 -1
  33. package/dist/get-service-client.js +13 -5
  34. package/dist/get-sites.d.ts +4 -2
  35. package/dist/get-sites.js +6 -2
  36. package/dist/head-file.js +2 -1
  37. package/dist/index.d.ts +14 -10
  38. package/dist/is-flaky-error.js +2 -1
  39. package/dist/lifecycle-rules.d.ts +3 -1
  40. package/dist/lifecycle-rules.js +17 -5
  41. package/dist/list-objects.js +4 -1
  42. package/dist/make-lambda-payload.d.ts +4 -2
  43. package/dist/make-lambda-payload.js +4 -2
  44. package/dist/presign-url.d.ts +5 -2
  45. package/dist/presign-url.js +4 -2
  46. package/dist/read-file.d.ts +3 -1
  47. package/dist/read-file.js +2 -1
  48. package/dist/render-media-on-lambda.d.ts +2 -0
  49. package/dist/render-media-on-lambda.js +3 -1
  50. package/dist/render-still-on-lambda.d.ts +5 -1
  51. package/dist/render-still-on-lambda.js +3 -1
  52. package/dist/test/request-handler.test.d.ts +1 -0
  53. package/dist/test/request-handler.test.js +36 -0
  54. package/dist/types.d.ts +4 -0
  55. package/dist/types.js +2 -0
  56. package/dist/write-file.js +2 -1
  57. package/package.json +3 -3
  58. package/src/aws-clients.ts +18 -3
  59. package/src/aws-provider.ts +2 -0
  60. package/src/bucket-exists.ts +8 -1
  61. package/src/call-lambda-async.ts +5 -1
  62. package/src/call-lambda-streaming.ts +5 -1
  63. package/src/call-lambda-sync.ts +5 -1
  64. package/src/clean-items.ts +3 -0
  65. package/src/create-bucket.ts +25 -5
  66. package/src/delete-file.ts +9 -1
  67. package/src/delete-function.ts +6 -2
  68. package/src/delete-render.ts +8 -1
  69. package/src/get-account-id.ts +1 -1
  70. package/src/get-aws-client.ts +4 -0
  71. package/src/get-buckets.ts +3 -0
  72. package/src/get-compositions-on-lambda.ts +5 -0
  73. package/src/get-function-version.ts +6 -0
  74. package/src/get-functions.ts +12 -1
  75. package/src/get-render-progress.ts +4 -0
  76. package/src/get-s3-client.ts +4 -0
  77. package/src/get-service-client.ts +17 -3
  78. package/src/get-sites.ts +8 -0
  79. package/src/head-file.ts +2 -0
  80. package/src/index.ts +1 -0
  81. package/src/is-flaky-error.ts +4 -1
  82. package/src/lifecycle-rules.ts +21 -6
  83. package/src/list-objects.ts +4 -0
  84. package/src/make-lambda-payload.ts +6 -0
  85. package/src/presign-url.ts +13 -2
  86. package/src/read-file.ts +4 -0
  87. package/src/render-media-on-lambda.ts +4 -0
  88. package/src/render-still-on-lambda.ts +7 -1
  89. package/src/test/request-handler.test.ts +42 -0
  90. package/src/types.ts +7 -0
  91. package/src/write-file.ts +2 -0
  92. package/tsconfig.tsbuildinfo +1 -1
  93. package/.turbo/turbo-test.log +0 -23
@@ -1,6 +1,6 @@
1
1
 
2
2
  
3
- > @remotion/lambda-client@4.0.314 make /Users/jonathanburger/remotion/packages/lambda-client
3
+ > @remotion/lambda-client@4.0.316 make /Users/jonathanburger/remotion/packages/lambda-client
4
4
  > tsc -d && bun --env-file=../.env.bundle bundle.ts
5
5
 
6
- [66.40ms] Generated.
6
+ [62.70ms] Generated.
@@ -4,8 +4,9 @@ import type { LambdaClient } from '@aws-sdk/client-lambda';
4
4
  import type { ServiceQuotasClient } from '@aws-sdk/client-service-quotas';
5
5
  import type { STSClient } from '@aws-sdk/client-sts';
6
6
  import type { AwsRegion } from './regions';
7
- export declare const getCloudWatchLogsClient: (region: AwsRegion) => CloudWatchLogsClient;
8
- export declare const getLambdaClient: (region: AwsRegion, _timeoutInTest?: number) => LambdaClient;
9
- export declare const getIamClient: (region: AwsRegion) => IAMClient;
10
- export declare const getServiceQuotasClient: (region: AwsRegion) => ServiceQuotasClient;
11
- export declare const getStsClient: (region: AwsRegion) => STSClient;
7
+ import type { RequestHandler } from './types';
8
+ export declare const getCloudWatchLogsClient: (region: AwsRegion, requestHandler: RequestHandler | null) => CloudWatchLogsClient;
9
+ export declare const getLambdaClient: (region: AwsRegion, _timeoutInTest: number | undefined, requestHandler: RequestHandler | null) => LambdaClient;
10
+ export declare const getIamClient: (region: AwsRegion, requestHandler: RequestHandler | null) => IAMClient;
11
+ export declare const getServiceQuotasClient: (region: AwsRegion, requestHandler: RequestHandler | null) => ServiceQuotasClient;
12
+ export declare const getStsClient: (region: AwsRegion, requestHandler: RequestHandler | null) => STSClient;
@@ -2,50 +2,55 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getStsClient = exports.getServiceQuotasClient = exports.getIamClient = exports.getLambdaClient = exports.getCloudWatchLogsClient = void 0;
4
4
  const get_service_client_1 = require("./get-service-client");
5
- const getCloudWatchLogsClient = (region) => {
5
+ const getCloudWatchLogsClient = (region, requestHandler) => {
6
6
  return (0, get_service_client_1.getServiceClient)({
7
7
  region,
8
8
  service: 'cloudwatch',
9
9
  customCredentials: null,
10
10
  forcePathStyle: false,
11
+ requestHandler,
11
12
  });
12
13
  };
13
14
  exports.getCloudWatchLogsClient = getCloudWatchLogsClient;
14
15
  const getLambdaClient = (region,
15
16
  // eslint-disable-next-line @typescript-eslint/no-unused-vars
16
- _timeoutInTest) => {
17
+ _timeoutInTest, requestHandler) => {
17
18
  return (0, get_service_client_1.getServiceClient)({
18
19
  region,
19
20
  service: 'lambda',
20
21
  customCredentials: null,
21
22
  forcePathStyle: false,
23
+ requestHandler,
22
24
  });
23
25
  };
24
26
  exports.getLambdaClient = getLambdaClient;
25
- const getIamClient = (region) => {
27
+ const getIamClient = (region, requestHandler) => {
26
28
  return (0, get_service_client_1.getServiceClient)({
27
29
  region,
28
30
  service: 'iam',
29
31
  customCredentials: null,
30
32
  forcePathStyle: false,
33
+ requestHandler,
31
34
  });
32
35
  };
33
36
  exports.getIamClient = getIamClient;
34
- const getServiceQuotasClient = (region) => {
37
+ const getServiceQuotasClient = (region, requestHandler) => {
35
38
  return (0, get_service_client_1.getServiceClient)({
36
39
  region,
37
40
  service: 'servicequotas',
38
41
  customCredentials: null,
39
42
  forcePathStyle: false,
43
+ requestHandler,
40
44
  });
41
45
  };
42
46
  exports.getServiceQuotasClient = getServiceQuotasClient;
43
- const getStsClient = (region) => {
47
+ const getStsClient = (region, requestHandler) => {
44
48
  return (0, get_service_client_1.getServiceClient)({
45
49
  region,
46
50
  service: 'sts',
47
51
  customCredentials: null,
48
52
  forcePathStyle: false,
53
+ requestHandler,
49
54
  });
50
55
  };
51
56
  exports.getStsClient = getStsClient;
@@ -18,8 +18,10 @@ export type AwsProvider = {
18
18
  runtimePreference: RuntimePreference;
19
19
  };
20
20
  storageClass: StorageClass;
21
+ requestHandler: RequestHandler | null | undefined;
21
22
  };
22
23
  import type { StorageClass } from '@aws-sdk/client-s3';
23
24
  import type { ProviderSpecifics } from '@remotion/serverless-client';
24
25
  import type { RuntimePreference } from './runtime-preference';
26
+ import type { RequestHandler } from './types';
25
27
  export declare const awsImplementation: ProviderSpecifics<AwsProvider>;
@@ -3,13 +3,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.bucketExistsInRegionImplementation = void 0;
4
4
  const client_s3_1 = require("@aws-sdk/client-s3");
5
5
  const get_s3_client_1 = require("./get-s3-client");
6
- const bucketExistsInRegionImplementation = async ({ bucketName, region, expectedBucketOwner, forcePathStyle }) => {
6
+ const bucketExistsInRegionImplementation = async ({ bucketName, region, expectedBucketOwner, forcePathStyle, requestHandler, }) => {
7
7
  var _a;
8
8
  try {
9
9
  const bucket = await (0, get_s3_client_1.getS3Client)({
10
10
  region,
11
11
  customCredentials: null,
12
12
  forcePathStyle,
13
+ requestHandler,
13
14
  }).send(new client_s3_1.GetBucketLocationCommand({
14
15
  Bucket: bucketName,
15
16
  ExpectedBucketOwner: expectedBucketOwner !== null && expectedBucketOwner !== void 0 ? expectedBucketOwner : undefined,
@@ -8,7 +8,7 @@ const callFunctionAsyncImplementation = async ({ functionName, payload, region,
8
8
  if (stringifiedPayload.length > 256 * 1024) {
9
9
  throw new Error(`Payload is too big: ${stringifiedPayload.length} bytes. Maximum size is 256 KB. This should not happen, please report this to the Remotion team. Payload: ${stringifiedPayload}`);
10
10
  }
11
- const result = await (0, aws_clients_1.getLambdaClient)(region, timeoutInTest).send(new client_lambda_1.InvokeCommand({
11
+ const result = await (0, aws_clients_1.getLambdaClient)(region, timeoutInTest, null).send(new client_lambda_1.InvokeCommand({
12
12
  FunctionName: functionName,
13
13
  Payload: stringifiedPayload,
14
14
  InvocationType: 'Event',
@@ -17,7 +17,7 @@ const parseJsonOrThrowSource = (data, type) => {
17
17
  };
18
18
  exports.parseJsonOrThrowSource = parseJsonOrThrowSource;
19
19
  const invokeStreamOrTimeout = async ({ region, timeoutInTest, functionName, type, payload, }) => {
20
- const resProm = (0, aws_clients_1.getLambdaClient)(region, timeoutInTest).send(new client_lambda_1.InvokeWithResponseStreamCommand({
20
+ const resProm = (0, aws_clients_1.getLambdaClient)(region, timeoutInTest, null).send(new client_lambda_1.InvokeWithResponseStreamCommand({
21
21
  FunctionName: functionName,
22
22
  Payload: JSON.stringify({ type, ...payload }),
23
23
  }));
@@ -5,7 +5,7 @@ const client_lambda_1 = require("@aws-sdk/client-lambda");
5
5
  const aws_clients_1 = require("./aws-clients");
6
6
  const callLambdaSyncWithoutRetry = async ({ functionName, payload, region, timeoutInTest, }) => {
7
7
  const Payload = JSON.stringify(payload);
8
- const res = await (0, aws_clients_1.getLambdaClient)(region, timeoutInTest).send(new client_lambda_1.InvokeCommand({
8
+ const res = await (0, aws_clients_1.getLambdaClient)(region, timeoutInTest, null).send(new client_lambda_1.InvokeCommand({
9
9
  FunctionName: functionName,
10
10
  Payload,
11
11
  InvocationType: 'RequestResponse',
@@ -1,5 +1,5 @@
1
1
  import type { CloudProvider, ProviderSpecifics } from '@remotion/serverless-client';
2
- export declare const cleanItems: <Provider extends CloudProvider>({ bucket, onAfterItemDeleted, onBeforeItemDeleted, region, list, providerSpecifics, forcePathStyle, }: {
2
+ export declare const cleanItems: <Provider extends CloudProvider>({ bucket, onAfterItemDeleted, onBeforeItemDeleted, region, list, providerSpecifics, forcePathStyle, requestHandler, }: {
3
3
  bucket: string;
4
4
  region: Provider["region"];
5
5
  list: string[];
@@ -13,4 +13,5 @@ export declare const cleanItems: <Provider extends CloudProvider>({ bucket, onAf
13
13
  }) => void;
14
14
  providerSpecifics: ProviderSpecifics<Provider>;
15
15
  forcePathStyle: boolean;
16
+ requestHandler: Provider["requestHandler"] | null;
16
17
  }) => Promise<void[]>;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cleanItems = void 0;
4
4
  const p_limit_1 = require("./p-limit");
5
5
  const limit = (0, p_limit_1.pLimit)(10);
6
- const cleanItems = ({ bucket, onAfterItemDeleted, onBeforeItemDeleted, region, list, providerSpecifics, forcePathStyle, }) => {
6
+ const cleanItems = ({ bucket, onAfterItemDeleted, onBeforeItemDeleted, region, list, providerSpecifics, forcePathStyle, requestHandler, }) => {
7
7
  return Promise.all(list.map((object) => limit(async () => {
8
8
  onBeforeItemDeleted({
9
9
  bucketName: bucket,
@@ -15,6 +15,7 @@ const cleanItems = ({ bucket, onAfterItemDeleted, onBeforeItemDeleted, region, l
15
15
  region,
16
16
  customCredentials: null,
17
17
  forcePathStyle,
18
+ requestHandler,
18
19
  });
19
20
  onAfterItemDeleted({
20
21
  bucketName: bucket,
@@ -3,12 +3,22 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.createBucket = void 0;
4
4
  const client_s3_1 = require("@aws-sdk/client-s3");
5
5
  const get_s3_client_1 = require("./get-s3-client");
6
- const createBucket = async ({ region, bucketName, forcePathStyle }) => {
7
- await (0, get_s3_client_1.getS3Client)({ region, customCredentials: null, forcePathStyle }).send(new client_s3_1.CreateBucketCommand({
6
+ const createBucket = async ({ region, bucketName, forcePathStyle, requestHandler }) => {
7
+ await (0, get_s3_client_1.getS3Client)({
8
+ region,
9
+ customCredentials: null,
10
+ forcePathStyle,
11
+ requestHandler,
12
+ }).send(new client_s3_1.CreateBucketCommand({
8
13
  Bucket: bucketName,
9
14
  }));
10
15
  try {
11
- await (0, get_s3_client_1.getS3Client)({ region, customCredentials: null, forcePathStyle }).send(new client_s3_1.DeleteBucketOwnershipControlsCommand({
16
+ await (0, get_s3_client_1.getS3Client)({
17
+ region,
18
+ customCredentials: null,
19
+ forcePathStyle,
20
+ requestHandler,
21
+ }).send(new client_s3_1.DeleteBucketOwnershipControlsCommand({
12
22
  Bucket: bucketName,
13
23
  }));
14
24
  }
@@ -19,7 +29,12 @@ const createBucket = async ({ region, bucketName, forcePathStyle }) => {
19
29
  throw err;
20
30
  }
21
31
  try {
22
- await (0, get_s3_client_1.getS3Client)({ region, customCredentials: null, forcePathStyle }).send(new client_s3_1.DeletePublicAccessBlockCommand({
32
+ await (0, get_s3_client_1.getS3Client)({
33
+ region,
34
+ customCredentials: null,
35
+ forcePathStyle,
36
+ requestHandler,
37
+ }).send(new client_s3_1.DeletePublicAccessBlockCommand({
23
38
  Bucket: bucketName,
24
39
  }));
25
40
  }
@@ -30,7 +45,12 @@ const createBucket = async ({ region, bucketName, forcePathStyle }) => {
30
45
  throw err;
31
46
  }
32
47
  try {
33
- await (0, get_s3_client_1.getS3Client)({ region, customCredentials: null, forcePathStyle }).send(new client_s3_1.PutBucketAclCommand({
48
+ await (0, get_s3_client_1.getS3Client)({
49
+ region,
50
+ customCredentials: null,
51
+ forcePathStyle,
52
+ requestHandler,
53
+ }).send(new client_s3_1.PutBucketAclCommand({
34
54
  Bucket: bucketName,
35
55
  ACL: 'public-read',
36
56
  }));
@@ -3,8 +3,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.lambdaDeleteFileImplementation = void 0;
4
4
  const client_s3_1 = require("@aws-sdk/client-s3");
5
5
  const get_s3_client_1 = require("./get-s3-client");
6
- const lambdaDeleteFileImplementation = async ({ bucketName, key, region, customCredentials, forcePathStyle, }) => {
7
- await (0, get_s3_client_1.getS3Client)({ region, customCredentials, forcePathStyle }).send(new client_s3_1.DeleteObjectCommand({
6
+ const lambdaDeleteFileImplementation = async ({ bucketName, key, region, customCredentials, forcePathStyle, requestHandler, }) => {
7
+ await (0, get_s3_client_1.getS3Client)({
8
+ region,
9
+ customCredentials,
10
+ forcePathStyle,
11
+ requestHandler,
12
+ }).send(new client_s3_1.DeleteObjectCommand({
8
13
  Bucket: bucketName,
9
14
  Key: key,
10
15
  }));
@@ -1,4 +1,7 @@
1
1
  import type { DeleteFunction, DeleteFunctionInput as GenericDeleteFunctionInput } from '@remotion/serverless-client';
2
2
  import type { AwsProvider } from './aws-provider';
3
- export type DeleteFunctionInput = GenericDeleteFunctionInput<AwsProvider>;
3
+ import type { RequestHandler } from './types';
4
+ export type DeleteFunctionInput = GenericDeleteFunctionInput<AwsProvider> & {
5
+ requestHandler?: RequestHandler;
6
+ };
4
7
  export declare const deleteFunction: DeleteFunction<AwsProvider>;
@@ -7,8 +7,8 @@ const aws_clients_1 = require("./aws-clients");
7
7
  * @description Deletes a deployed Lambda function based on its name.
8
8
  * @see [Documentation](https://remotion.dev/docs/lambda/deletefunction)
9
9
  */
10
- const deleteFunction = async ({ region, functionName, }) => {
11
- await (0, aws_clients_1.getLambdaClient)(region).send(new client_lambda_1.DeleteFunctionCommand({
10
+ const deleteFunction = async ({ region, functionName, requestHandler, }) => {
11
+ await (0, aws_clients_1.getLambdaClient)(region, undefined, requestHandler !== null && requestHandler !== void 0 ? requestHandler : null).send(new client_lambda_1.DeleteFunctionCommand({
12
12
  FunctionName: functionName,
13
13
  }));
14
14
  };
@@ -2,12 +2,14 @@ import type { ProviderSpecifics } from '@remotion/serverless-client';
2
2
  import { type CustomCredentials } from '@remotion/serverless-client';
3
3
  import type { AwsProvider } from './aws-provider';
4
4
  import type { AwsRegion } from './regions';
5
+ import type { RequestHandler } from './types';
5
6
  export type DeleteRenderInput = {
6
7
  region: AwsRegion;
7
8
  bucketName: string;
8
9
  renderId: string;
9
10
  customCredentials?: CustomCredentials<AwsProvider>;
10
11
  forcePathStyle?: boolean;
12
+ requestHandler?: RequestHandler;
11
13
  };
12
14
  export declare const internalDeleteRender: (input: DeleteRenderInput & {
13
15
  providerSpecifics: ProviderSpecifics<AwsProvider>;
@@ -17,6 +17,7 @@ const internalDeleteRender = async (input) => {
17
17
  renderId: input.renderId,
18
18
  providerSpecifics: input.providerSpecifics,
19
19
  forcePathStyle: input.forcePathStyle,
20
+ requestHandler: input.requestHandler,
20
21
  });
21
22
  // Render did not start yet
22
23
  if (progress.renderMetadata === null) {
@@ -34,6 +35,7 @@ const internalDeleteRender = async (input) => {
34
35
  key,
35
36
  region: input.region,
36
37
  forcePathStyle: input.forcePathStyle,
38
+ requestHandler: input.requestHandler,
37
39
  });
38
40
  let files = await input.providerSpecifics.listObjects({
39
41
  bucketName: input.bucketName,
@@ -41,6 +43,7 @@ const internalDeleteRender = async (input) => {
41
43
  region: input.region,
42
44
  expectedBucketOwner,
43
45
  forcePathStyle: input.forcePathStyle,
46
+ requestHandler: input.requestHandler,
44
47
  });
45
48
  let totalSize = 0;
46
49
  while (files.length > 0) {
@@ -56,6 +59,7 @@ const internalDeleteRender = async (input) => {
56
59
  region: input.region,
57
60
  providerSpecifics: input.providerSpecifics,
58
61
  forcePathStyle: input.forcePathStyle,
62
+ requestHandler: input.requestHandler,
59
63
  });
60
64
  files = await input.providerSpecifics.listObjects({
61
65
  bucketName: input.bucketName,
@@ -63,6 +67,7 @@ const internalDeleteRender = async (input) => {
63
67
  region: input.region,
64
68
  expectedBucketOwner,
65
69
  forcePathStyle: input.forcePathStyle,
70
+ requestHandler: input.requestHandler,
66
71
  });
67
72
  }
68
73
  return {
@@ -75,10 +80,11 @@ exports.internalDeleteRender = internalDeleteRender;
75
80
  * @see [Documentation](https://remotion.dev/docs/lambda/deleterender)
76
81
  */
77
82
  const deleteRender = (input) => {
83
+ var _a;
78
84
  return (0, exports.internalDeleteRender)({
79
85
  ...input,
80
86
  providerSpecifics: aws_provider_1.awsImplementation,
81
- forcePathStyle: false,
87
+ forcePathStyle: (_a = input.forcePathStyle) !== null && _a !== void 0 ? _a : false,
82
88
  });
83
89
  };
84
90
  exports.deleteRender = deleteRender;