@remotion/lambda-client 4.0.392 → 4.0.393

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 (141) hide show
  1. package/dist/cjs/index.js +33 -33
  2. package/dist/esm/index.mjs +20 -20
  3. package/package.json +3 -3
  4. package/dist/app-router-webhook.d.ts +0 -10
  5. package/dist/app-router-webhook.js +0 -43
  6. package/dist/apply-lifecycle.d.ts +0 -8
  7. package/dist/apply-lifecycle.js +0 -18
  8. package/dist/aws-clients.d.ts +0 -12
  9. package/dist/aws-clients.js +0 -56
  10. package/dist/aws-provider.d.ts +0 -27
  11. package/dist/aws-provider.js +0 -94
  12. package/dist/bucket-exists.d.ts +0 -3
  13. package/dist/bucket-exists.js +0 -27
  14. package/dist/call-lambda-async.d.ts +0 -2
  15. package/dist/call-lambda-async.js +0 -20
  16. package/dist/call-lambda-streaming.d.ts +0 -6
  17. package/dist/call-lambda-streaming.js +0 -126
  18. package/dist/call-lambda-sync.d.ts +0 -2
  19. package/dist/call-lambda-sync.js +0 -30
  20. package/dist/check-credentials.d.ts +0 -1
  21. package/dist/check-credentials.js +0 -39
  22. package/dist/clean-items.d.ts +0 -17
  23. package/dist/clean-items.js +0 -26
  24. package/dist/constants.d.ts +0 -25
  25. package/dist/constants.js +0 -26
  26. package/dist/content-disposition-header.d.ts +0 -2
  27. package/dist/content-disposition-header.js +0 -50
  28. package/dist/convert-to-serve-url.d.ts +0 -6
  29. package/dist/convert-to-serve-url.js +0 -14
  30. package/dist/create-bucket.d.ts +0 -3
  31. package/dist/create-bucket.js +0 -65
  32. package/dist/delete-file.d.ts +0 -3
  33. package/dist/delete-file.js +0 -17
  34. package/dist/delete-function.d.ts +0 -7
  35. package/dist/delete-function.js +0 -15
  36. package/dist/delete-render.d.ts +0 -22
  37. package/dist/delete-render.js +0 -90
  38. package/dist/encode-aws-url-params.d.ts +0 -1
  39. package/dist/encode-aws-url-params.js +0 -7
  40. package/dist/estimate-price.d.ts +0 -17
  41. package/dist/estimate-price.js +0 -45
  42. package/dist/express-webhook.d.ts +0 -3
  43. package/dist/express-webhook.js +0 -46
  44. package/dist/get-account-id.d.ts +0 -3
  45. package/dist/get-account-id.js +0 -15
  46. package/dist/get-aws-client.d.ts +0 -32
  47. package/dist/get-aws-client.js +0 -67
  48. package/dist/get-aws-urls.d.ts +0 -25
  49. package/dist/get-aws-urls.js +0 -31
  50. package/dist/get-buckets.d.ts +0 -9
  51. package/dist/get-buckets.js +0 -64
  52. package/dist/get-compositions-on-lambda.d.ts +0 -20
  53. package/dist/get-compositions-on-lambda.js +0 -62
  54. package/dist/get-credentials.d.ts +0 -9
  55. package/dist/get-credentials.js +0 -55
  56. package/dist/get-env-variable.d.ts +0 -1
  57. package/dist/get-env-variable.js +0 -15
  58. package/dist/get-function-name.d.ts +0 -8
  59. package/dist/get-function-name.js +0 -17
  60. package/dist/get-function-version.d.ts +0 -9
  61. package/dist/get-function-version.js +0 -35
  62. package/dist/get-functions.d.ts +0 -10
  63. package/dist/get-functions.js +0 -80
  64. package/dist/get-output-url-from-metadata.d.ts +0 -3
  65. package/dist/get-output-url-from-metadata.js +0 -18
  66. package/dist/get-render-progress.d.ts +0 -17
  67. package/dist/get-render-progress.js +0 -47
  68. package/dist/get-s3-client.d.ts +0 -11
  69. package/dist/get-s3-client.js +0 -15
  70. package/dist/get-service-client.d.ts +0 -25
  71. package/dist/get-service-client.js +0 -131
  72. package/dist/get-sites.d.ts +0 -31
  73. package/dist/get-sites.js +0 -83
  74. package/dist/head-file.d.ts +0 -3
  75. package/dist/head-file.js +0 -18
  76. package/dist/index.d.ts +0 -129
  77. package/dist/index.js +0 -108
  78. package/dist/is-cli.d.ts +0 -2
  79. package/dist/is-cli.js +0 -10
  80. package/dist/is-flaky-error.d.ts +0 -1
  81. package/dist/is-flaky-error.js +0 -78
  82. package/dist/is-in-lambda.d.ts +0 -1
  83. package/dist/is-in-lambda.js +0 -9
  84. package/dist/is-likely-to-have-aws-profile.d.ts +0 -1
  85. package/dist/is-likely-to-have-aws-profile.js +0 -50
  86. package/dist/lambda-version-string.d.ts +0 -1
  87. package/dist/lambda-version-string.js +0 -7
  88. package/dist/lifecycle-rules.d.ts +0 -12
  89. package/dist/lifecycle-rules.js +0 -73
  90. package/dist/lifecycle.d.ts +0 -7
  91. package/dist/lifecycle.js +0 -24
  92. package/dist/list-objects.d.ts +0 -3
  93. package/dist/list-objects.js +0 -70
  94. package/dist/make-lambda-payload.d.ts +0 -59
  95. package/dist/make-lambda-payload.js +0 -150
  96. package/dist/make-s3-url.d.ts +0 -6
  97. package/dist/make-s3-url.js +0 -7
  98. package/dist/p-limit.d.ts +0 -1
  99. package/dist/p-limit.js +0 -57
  100. package/dist/pages-router-webhook.d.ts +0 -5
  101. package/dist/pages-router-webhook.js +0 -48
  102. package/dist/parse-function-name.d.ts +0 -8
  103. package/dist/parse-function-name.js +0 -17
  104. package/dist/presign-url.d.ts +0 -17
  105. package/dist/presign-url.js +0 -66
  106. package/dist/price-per-1s.d.ts +0 -37
  107. package/dist/price-per-1s.js +0 -822
  108. package/dist/random-hash.d.ts +0 -1
  109. package/dist/random-hash.js +0 -13
  110. package/dist/read-file.d.ts +0 -11
  111. package/dist/read-file.js +0 -19
  112. package/dist/regions.d.ts +0 -3
  113. package/dist/regions.js +0 -48
  114. package/dist/render-media-on-lambda.d.ts +0 -66
  115. package/dist/render-media-on-lambda.js +0 -133
  116. package/dist/render-still-on-lambda.d.ts +0 -61
  117. package/dist/render-still-on-lambda.js +0 -121
  118. package/dist/runtime-preference.d.ts +0 -2
  119. package/dist/runtime-preference.js +0 -8
  120. package/dist/speculate-function-name.d.ts +0 -7
  121. package/dist/speculate-function-name.js +0 -39
  122. package/dist/types.d.ts +0 -4
  123. package/dist/types.js +0 -2
  124. package/dist/validate-aws-region.d.ts +0 -2
  125. package/dist/validate-aws-region.js +0 -9
  126. package/dist/validate-bucketname.d.ts +0 -4
  127. package/dist/validate-bucketname.js +0 -15
  128. package/dist/validate-disk-size-in-mb.d.ts +0 -1
  129. package/dist/validate-disk-size-in-mb.js +0 -23
  130. package/dist/validate-lambda-codec.d.ts +0 -2
  131. package/dist/validate-lambda-codec.js +0 -21
  132. package/dist/validate-memory-size.d.ts +0 -1
  133. package/dist/validate-memory-size.js +0 -22
  134. package/dist/validate-presign-expiration.d.ts +0 -1
  135. package/dist/validate-presign-expiration.js +0 -29
  136. package/dist/validate-serveurl.d.ts +0 -1
  137. package/dist/validate-serveurl.js +0 -9
  138. package/dist/validate-webhook-signature.d.ts +0 -5
  139. package/dist/validate-webhook-signature.js +0 -28
  140. package/dist/write-file.d.ts +0 -5
  141. package/dist/write-file.js +0 -83
@@ -1,90 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteRender = exports.internalDeleteRender = void 0;
4
- const serverless_client_1 = require("@remotion/serverless-client");
5
- const aws_provider_1 = require("./aws-provider");
6
- const clean_items_1 = require("./clean-items");
7
- const constants_1 = require("./constants");
8
- const internalDeleteRender = async (input) => {
9
- var _a;
10
- const expectedBucketOwner = await input.providerSpecifics.getAccountId({
11
- region: input.region,
12
- });
13
- const progress = await (0, serverless_client_1.getOverallProgressFromStorage)({
14
- bucketName: input.bucketName,
15
- expectedBucketOwner,
16
- region: input.region,
17
- renderId: input.renderId,
18
- providerSpecifics: input.providerSpecifics,
19
- forcePathStyle: input.forcePathStyle,
20
- requestHandler: input.requestHandler,
21
- });
22
- // Render did not start yet
23
- if (progress.renderMetadata === null) {
24
- return { freedBytes: 0 };
25
- }
26
- const { key, renderBucketName, customCredentials } = (0, serverless_client_1.getExpectedOutName)({
27
- renderMetadata: progress.renderMetadata,
28
- bucketName: input.bucketName,
29
- customCredentials: (_a = input.customCredentials) !== null && _a !== void 0 ? _a : null,
30
- bucketNamePrefix: constants_1.REMOTION_BUCKET_PREFIX,
31
- });
32
- await input.providerSpecifics.deleteFile({
33
- bucketName: renderBucketName,
34
- customCredentials,
35
- key,
36
- region: input.region,
37
- forcePathStyle: input.forcePathStyle,
38
- requestHandler: input.requestHandler,
39
- });
40
- let files = await input.providerSpecifics.listObjects({
41
- bucketName: input.bucketName,
42
- prefix: (0, serverless_client_1.rendersPrefix)(input.renderId),
43
- region: input.region,
44
- expectedBucketOwner,
45
- forcePathStyle: input.forcePathStyle,
46
- requestHandler: input.requestHandler,
47
- });
48
- let totalSize = 0;
49
- while (files.length > 0) {
50
- totalSize += files.reduce((a, b) => {
51
- var _a;
52
- return a + ((_a = b.Size) !== null && _a !== void 0 ? _a : 0);
53
- }, 0);
54
- await (0, clean_items_1.cleanItems)({
55
- list: files.map((f) => f.Key),
56
- bucket: input.bucketName,
57
- onAfterItemDeleted: () => undefined,
58
- onBeforeItemDeleted: () => undefined,
59
- region: input.region,
60
- providerSpecifics: input.providerSpecifics,
61
- forcePathStyle: input.forcePathStyle,
62
- requestHandler: input.requestHandler,
63
- });
64
- files = await input.providerSpecifics.listObjects({
65
- bucketName: input.bucketName,
66
- prefix: (0, serverless_client_1.rendersPrefix)(input.renderId),
67
- region: input.region,
68
- expectedBucketOwner,
69
- forcePathStyle: input.forcePathStyle,
70
- requestHandler: input.requestHandler,
71
- });
72
- }
73
- return {
74
- freedBytes: totalSize,
75
- };
76
- };
77
- exports.internalDeleteRender = internalDeleteRender;
78
- /*
79
- * @description Deletes a rendered video, audio or still and its associated metadata.
80
- * @see [Documentation](https://remotion.dev/docs/lambda/deleterender)
81
- */
82
- const deleteRender = (input) => {
83
- var _a;
84
- return (0, exports.internalDeleteRender)({
85
- ...input,
86
- providerSpecifics: aws_provider_1.awsImplementation,
87
- forcePathStyle: (_a = input.forcePathStyle) !== null && _a !== void 0 ? _a : false,
88
- });
89
- };
90
- exports.deleteRender = deleteRender;
@@ -1 +0,0 @@
1
- export declare const encodeAwsUrlParams: (input: string) => string;
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.encodeAwsUrlParams = void 0;
4
- const encodeAwsUrlParams = (input) => {
5
- return encodeURIComponent(input).replace(/%/g, '$25');
6
- };
7
- exports.encodeAwsUrlParams = encodeAwsUrlParams;
@@ -1,17 +0,0 @@
1
- import type { AwsRegion } from './regions';
2
- type Miliseconds = {
3
- /**
4
- * @deprecated Typo in property name. Use `durationInMilliseconds` instead.
5
- */
6
- durationInMiliseconds: number;
7
- } | {
8
- durationInMilliseconds: number;
9
- };
10
- export type EstimatePriceInput = {
11
- region: AwsRegion;
12
- memorySizeInMb: number;
13
- diskSizeInMb: number;
14
- lambdasInvoked: number;
15
- } & Miliseconds;
16
- export declare const estimatePrice: ({ region, memorySizeInMb, diskSizeInMb, lambdasInvoked, ...other }: EstimatePriceInput) => number;
17
- export {};
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.estimatePrice = void 0;
4
- const constants_1 = require("./constants");
5
- const price_per_1s_1 = require("./price-per-1s");
6
- const validate_aws_region_1 = require("./validate-aws-region");
7
- const validate_disk_size_in_mb_1 = require("./validate-disk-size-in-mb");
8
- const validate_memory_size_1 = require("./validate-memory-size");
9
- /*
10
- * @description Calculates the AWS costs incurred for AWS Lambda given the region, execution duration and memory size.
11
- * @see [Documentation](https://remotion.dev/docs/lambda/estimateprice)
12
- */
13
- const estimatePrice = ({ region, memorySizeInMb, diskSizeInMb, lambdasInvoked, ...other }) => {
14
- (0, validate_memory_size_1.validateMemorySize)(memorySizeInMb);
15
- (0, validate_aws_region_1.validateAwsRegion)(region);
16
- (0, validate_disk_size_in_mb_1.validateDiskSizeInMb)(diskSizeInMb);
17
- const durationInMilliseconds = 'durationInMiliseconds' in other
18
- ? other.durationInMiliseconds
19
- : other.durationInMilliseconds;
20
- if (typeof durationInMilliseconds !== 'number') {
21
- throw new TypeError(`Parameter 'durationInMilliseconds' must be a number but got ${typeof durationInMilliseconds}`);
22
- }
23
- if (Number.isNaN(durationInMilliseconds)) {
24
- throw new TypeError(`Parameter 'durationInMilliseconds' must not be NaN but it is.`);
25
- }
26
- if (!Number.isFinite(durationInMilliseconds)) {
27
- throw new TypeError(`Parameter 'durationInMilliseconds' must be finite but it is ${durationInMilliseconds}`);
28
- }
29
- if (durationInMilliseconds < 0) {
30
- throw new TypeError(`Parameter 'durationInMilliseconds' must be over 0 but it is ${durationInMilliseconds}.`);
31
- }
32
- const durationPrice = price_per_1s_1.pricing[region]['Lambda Duration-ARM'].price;
33
- // In GB-second
34
- const timeCostDollars = Number(durationPrice) *
35
- ((memorySizeInMb * durationInMilliseconds) / 1000 / 1024);
36
- const diskSizePrice = price_per_1s_1.pricing[region]['Lambda Storage-Duration-ARM'].price;
37
- const chargedDiskSize = Math.max(0, diskSizeInMb - constants_1.MIN_EPHEMERAL_STORAGE_IN_MB);
38
- // In GB-second
39
- const diskSizeDollars = chargedDiskSize *
40
- Number(diskSizePrice) *
41
- (durationInMilliseconds / 1000 / 1024);
42
- const invocationCost = Number(price_per_1s_1.pricing[region]['Lambda Requests'].price) * lambdasInvoked;
43
- return Number((timeCostDollars + diskSizeDollars + invocationCost).toFixed(5));
44
- };
45
- exports.estimatePrice = estimatePrice;
@@ -1,3 +0,0 @@
1
- import type { Request, Response } from 'express';
2
- import type { NextWebhookArgs } from './app-router-webhook';
3
- export declare const expressWebhook: (options: NextWebhookArgs) => (req: Request, res: Response) => void;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.expressWebhook = void 0;
4
- const pages_router_webhook_1 = require("./pages-router-webhook");
5
- const validate_webhook_signature_1 = require("./validate-webhook-signature");
6
- const expressWebhook = (options) => {
7
- const { testing, extraHeaders, secret, onSuccess, onTimeout, onError } = options;
8
- return (req, res) => {
9
- // add headers to enable testing
10
- if (testing) {
11
- const testingheaders = {
12
- 'Access-Control-Allow-Origin': 'https://www.remotion.dev',
13
- 'Access-Control-Allow-Headers': 'X-CSRF-Token, X-Requested-With, Accept, Accept-Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version, X-Remotion-Status, X-Remotion-Signature, X-Remotion-Mode',
14
- 'Access-Control-Allow-Methods': 'OPTIONS,POST',
15
- };
16
- (0, pages_router_webhook_1.addHeaders)(res, testingheaders);
17
- }
18
- // add extra headers
19
- (0, pages_router_webhook_1.addHeaders)(res, extraHeaders || {});
20
- // dont go forward if just testing
21
- if (req.method === 'OPTIONS') {
22
- res.status(200).end();
23
- return;
24
- }
25
- // validate the webhook signature
26
- (0, validate_webhook_signature_1.validateWebhookSignature)({
27
- signatureHeader: req.header('X-Remotion-Signature'),
28
- body: req.body,
29
- secret,
30
- });
31
- // custom logic
32
- const payload = req.body;
33
- if (payload.type === 'success' && onSuccess) {
34
- onSuccess(payload);
35
- }
36
- else if (payload.type === 'error' && onError) {
37
- onError(payload);
38
- }
39
- else if (payload.type === 'timeout' && onTimeout) {
40
- onTimeout(payload);
41
- }
42
- // send response
43
- res.status(200).json({ success: true });
44
- };
45
- };
46
- exports.expressWebhook = expressWebhook;
@@ -1,3 +0,0 @@
1
- import type { GetAccountId } from '@remotion/serverless-client';
2
- import type { AwsProvider } from './aws-provider';
3
- export declare const getAccountIdImplementation: GetAccountId<AwsProvider>;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getAccountIdImplementation = void 0;
4
- const client_sts_1 = require("@aws-sdk/client-sts");
5
- const aws_clients_1 = require("./aws-clients");
6
- const validate_aws_region_1 = require("./validate-aws-region");
7
- const getAccountIdImplementation = async (options) => {
8
- (0, validate_aws_region_1.validateAwsRegion)(options.region);
9
- const callerIdentity = await (0, aws_clients_1.getStsClient)(options.region, null).send(new client_sts_1.GetCallerIdentityCommand({}));
10
- if (!callerIdentity.Account) {
11
- throw new Error('Cannot get account ID');
12
- }
13
- return callerIdentity.Account;
14
- };
15
- exports.getAccountIdImplementation = getAccountIdImplementation;
@@ -1,32 +0,0 @@
1
- import * as CloudWatchSDK from '@aws-sdk/client-cloudwatch-logs';
2
- import * as IamSdk from '@aws-sdk/client-iam';
3
- import * as LambdaSDK from '@aws-sdk/client-lambda';
4
- import * as S3SDK from '@aws-sdk/client-s3';
5
- import * as ServiceQuotasSDK from '@aws-sdk/client-service-quotas';
6
- import * as StsSdk from '@aws-sdk/client-sts';
7
- import type { CustomCredentials } from '@remotion/serverless-client';
8
- import type { AwsProvider } from './aws-provider';
9
- import { type ServiceMapping } from './get-service-client';
10
- import type { AwsRegion } from './regions';
11
- import type { RequestHandler } from './types';
12
- export type GetAwsClientInput<T extends keyof ServiceMapping> = {
13
- region: AwsRegion;
14
- service: T;
15
- customCredentials?: CustomCredentials<AwsProvider> | null;
16
- forcePathStyle?: boolean;
17
- requestHandler?: RequestHandler;
18
- };
19
- type SdkMapping = {
20
- s3: typeof S3SDK;
21
- cloudwatch: typeof CloudWatchSDK;
22
- iam: typeof IamSdk;
23
- lambda: typeof LambdaSDK;
24
- servicequotas: typeof ServiceQuotasSDK;
25
- sts: typeof StsSdk;
26
- };
27
- export type GetAwsClientOutput<T extends keyof ServiceMapping> = {
28
- client: ServiceMapping[T];
29
- sdk: SdkMapping[T];
30
- };
31
- export declare const getAwsClient: <T extends keyof ServiceMapping>({ region, service, customCredentials, forcePathStyle, requestHandler, }: GetAwsClientInput<T>) => GetAwsClientOutput<T>;
32
- export {};
@@ -1,67 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.getAwsClient = void 0;
37
- const CloudWatchSDK = __importStar(require("@aws-sdk/client-cloudwatch-logs"));
38
- const IamSdk = __importStar(require("@aws-sdk/client-iam"));
39
- const LambdaSDK = __importStar(require("@aws-sdk/client-lambda"));
40
- const S3SDK = __importStar(require("@aws-sdk/client-s3"));
41
- const ServiceQuotasSDK = __importStar(require("@aws-sdk/client-service-quotas"));
42
- const StsSdk = __importStar(require("@aws-sdk/client-sts"));
43
- const get_service_client_1 = require("./get-service-client");
44
- /*
45
- * @description Exposes full access to the AWS SDK used by Remotion, allowing interaction with AWS infrastructure beyond provided functionalities.
46
- * @see [Documentation](https://remotion.dev/docs/lambda/getawsclient)
47
- */
48
- const getAwsClient = ({ region, service, customCredentials, forcePathStyle, requestHandler, }) => {
49
- return {
50
- client: (0, get_service_client_1.getServiceClient)({
51
- region,
52
- service,
53
- customCredentials: customCredentials !== null && customCredentials !== void 0 ? customCredentials : null,
54
- forcePathStyle: forcePathStyle !== null && forcePathStyle !== void 0 ? forcePathStyle : false,
55
- requestHandler,
56
- }),
57
- sdk: {
58
- lambda: LambdaSDK,
59
- cloudwatch: CloudWatchSDK,
60
- iam: IamSdk,
61
- s3: S3SDK,
62
- servicequotas: ServiceQuotasSDK,
63
- sts: StsSdk,
64
- }[service],
65
- };
66
- };
67
- exports.getAwsClient = getAwsClient;
@@ -1,25 +0,0 @@
1
- import type { GetLoggingUrlForRendererFunction, ServerlessRoutines } from '@remotion/serverless-client';
2
- import type { AwsProvider } from './aws-provider';
3
- import type { AwsRegion } from './regions';
4
- export declare const getCloudwatchMethodUrl: ({ region, functionName, renderId, rendererFunctionName, method, }: {
5
- region: AwsRegion;
6
- functionName: string;
7
- method: ServerlessRoutines;
8
- rendererFunctionName: string | null;
9
- renderId: string;
10
- }) => string;
11
- export declare const getLambdaInsightsUrl: ({ region, functionName, }: {
12
- region: AwsRegion;
13
- functionName: string;
14
- }) => string;
15
- export declare const getCloudwatchRendererUrl: GetLoggingUrlForRendererFunction<AwsProvider>;
16
- export declare const getS3RenderUrl: ({ renderId, region, bucketName, }: {
17
- renderId: string;
18
- region: AwsRegion;
19
- bucketName: string;
20
- }) => string;
21
- export declare const getProgressJsonUrl: ({ region, bucketName, renderId, }: {
22
- region: AwsRegion;
23
- bucketName: string;
24
- renderId: string;
25
- }) => string;
@@ -1,31 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getProgressJsonUrl = exports.getS3RenderUrl = exports.getCloudwatchRendererUrl = exports.getLambdaInsightsUrl = exports.getCloudwatchMethodUrl = void 0;
4
- const encode_aws_url_params_1 = require("./encode-aws-url-params");
5
- const cloudWatchUrlWithQuery = ({ region, functionNameToUse, query, }) => {
6
- return `https://${region}.console.aws.amazon.com/cloudwatch/home?region=${region}#logsV2:log-groups/log-group/$252Faws$252Flambda$252F${functionNameToUse}/log-events$3FfilterPattern$3D${(0, encode_aws_url_params_1.encodeAwsUrlParams)(query)}`;
7
- };
8
- const getCloudwatchMethodUrl = ({ region, functionName, renderId, rendererFunctionName, method, }) => {
9
- const functionNameToUse = rendererFunctionName !== null && rendererFunctionName !== void 0 ? rendererFunctionName : functionName;
10
- const query = `"method=${method},renderId=${renderId}"`;
11
- return cloudWatchUrlWithQuery({ region, functionNameToUse, query });
12
- };
13
- exports.getCloudwatchMethodUrl = getCloudwatchMethodUrl;
14
- const getLambdaInsightsUrl = ({ region, functionName, }) => {
15
- return `https://${region}.console.aws.amazon.com/cloudwatch/home?region=${region}#lambda-insights:functions/${functionName}`;
16
- };
17
- exports.getLambdaInsightsUrl = getLambdaInsightsUrl;
18
- const getCloudwatchRendererUrl = ({ region, functionName, renderId, rendererFunctionName, chunk }) => {
19
- const functionNameToUse = rendererFunctionName !== null && rendererFunctionName !== void 0 ? rendererFunctionName : functionName;
20
- const query = `"method=renderer,renderId=${renderId}${chunk === null ? '' : `,chunk=${chunk},`}"`;
21
- return cloudWatchUrlWithQuery({ region, functionNameToUse, query });
22
- };
23
- exports.getCloudwatchRendererUrl = getCloudwatchRendererUrl;
24
- const getS3RenderUrl = ({ renderId, region, bucketName, }) => {
25
- return `https://s3.console.aws.amazon.com/s3/buckets/${bucketName}?region=${region}&prefix=renders/${renderId}/`;
26
- };
27
- exports.getS3RenderUrl = getS3RenderUrl;
28
- const getProgressJsonUrl = ({ region, bucketName, renderId, }) => {
29
- return `https://${region}.console.aws.amazon.com/s3/object/${bucketName}?region=${region}&bucketType=general&prefix=renders/${renderId}/progress.json`;
30
- };
31
- exports.getProgressJsonUrl = getProgressJsonUrl;
@@ -1,9 +0,0 @@
1
- import type { ProviderSpecifics } from '@remotion/serverless-client';
2
- import type { AwsProvider } from './aws-provider';
3
- import type { AwsRegion } from './regions';
4
- export type BucketWithLocation = {
5
- name: string;
6
- creationDate: number;
7
- region: AwsRegion;
8
- };
9
- export declare const getRemotionBuckets: ProviderSpecifics<AwsProvider>['getBuckets'];
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRemotionBuckets = void 0;
4
- const client_s3_1 = require("@aws-sdk/client-s3");
5
- const constants_1 = require("./constants");
6
- const get_s3_client_1 = require("./get-s3-client");
7
- const validate_bucketname_1 = require("./validate-bucketname");
8
- const getRemotionBuckets = async ({ region, forceBucketName, forcePathStyle, requestHandler, }) => {
9
- const { Buckets } = await (0, get_s3_client_1.getS3Client)({
10
- region,
11
- customCredentials: null,
12
- forcePathStyle,
13
- requestHandler,
14
- }).send(new client_s3_1.ListBucketsCommand({}));
15
- if (!Buckets) {
16
- return [];
17
- }
18
- const remotionBuckets = Buckets.filter((b) => {
19
- var _a;
20
- if (forceBucketName) {
21
- return b.Name === forceBucketName;
22
- }
23
- return (_a = b.Name) === null || _a === void 0 ? void 0 : _a.startsWith(constants_1.REMOTION_BUCKET_PREFIX);
24
- });
25
- const locations = await Promise.all(remotionBuckets.map(async (bucket) => {
26
- var _a, _b;
27
- const { region: parsedRegion } = (0, validate_bucketname_1.parseBucketName)(bucket.Name);
28
- if (parsedRegion) {
29
- return parsedRegion;
30
- }
31
- try {
32
- const result = await (0, get_s3_client_1.getS3Client)({
33
- region,
34
- customCredentials: null,
35
- forcePathStyle,
36
- requestHandler,
37
- }).send(new client_s3_1.GetBucketLocationCommand({
38
- Bucket: bucket.Name,
39
- }));
40
- // AWS docs: Buckets in Region us-east-1 have a LocationConstraint of null!!
41
- return (_a = result.LocationConstraint) !== null && _a !== void 0 ? _a : 'us-east-1';
42
- }
43
- catch (err) {
44
- // Sometimes the API returns a bucket even if it was deleted before
45
- if ((_b = err.stack) === null || _b === void 0 ? void 0 : _b.includes('NoSuchBucket')) {
46
- return null;
47
- }
48
- throw err;
49
- }
50
- }));
51
- const bucketsWithLocation = remotionBuckets
52
- .map((bucket, i) => {
53
- return {
54
- creationDate: bucket.CreationDate.getTime(),
55
- name: bucket.Name,
56
- region: locations[i],
57
- };
58
- })
59
- .filter((b) => b.region);
60
- return bucketsWithLocation.filter((bucket) => {
61
- return bucket.region === region;
62
- });
63
- };
64
- exports.getRemotionBuckets = getRemotionBuckets;
@@ -1,20 +0,0 @@
1
- import type { BrowserSafeApis, ChromiumOptions, ToOptions, VideoConfig } from '@remotion/serverless-client';
2
- import type { AwsRegion } from './regions';
3
- import type { RequestHandler } from './types';
4
- export type GetCompositionsOnLambdaInput = {
5
- chromiumOptions?: ChromiumOptions;
6
- region: AwsRegion;
7
- inputProps: Record<string, unknown>;
8
- functionName: string;
9
- serveUrl: string;
10
- envVariables?: Record<string, string>;
11
- forceBucketName?: string;
12
- /**
13
- * @deprecated in favor of `logLevel`: true
14
- */
15
- dumpBrowserLogs?: boolean;
16
- forcePathStyle?: boolean;
17
- requestHandler?: RequestHandler | null;
18
- } & Partial<ToOptions<typeof BrowserSafeApis.optionsMap.getCompositionsOnLambda>>;
19
- export type GetCompositionsOnLambdaOutput = VideoConfig[];
20
- export declare const getCompositionsOnLambda: ({ chromiumOptions, serveUrl, region, inputProps, functionName, envVariables, logLevel, timeoutInMilliseconds, forceBucketName: bucketName, dumpBrowserLogs, offthreadVideoCacheSizeInBytes, forcePathStyle, requestHandler, mediaCacheSizeInBytes, }: GetCompositionsOnLambdaInput) => Promise<GetCompositionsOnLambdaOutput>;
@@ -1,62 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCompositionsOnLambda = void 0;
4
- const serverless_client_1 = require("@remotion/serverless-client");
5
- const aws_provider_1 = require("./aws-provider");
6
- /*
7
- * @description Gets the compositions inside a Lambda function.
8
- * @see [Documentation](https://remotion.dev/docs/lambda/getcompositionsonlambda)
9
- */
10
- const getCompositionsOnLambda = async ({ chromiumOptions, serveUrl, region, inputProps, functionName, envVariables, logLevel, timeoutInMilliseconds, forceBucketName: bucketName, dumpBrowserLogs, offthreadVideoCacheSizeInBytes, forcePathStyle, requestHandler, mediaCacheSizeInBytes, }) => {
11
- var _a;
12
- const stringifiedInputProps = (0, serverless_client_1.serializeOrThrow)(inputProps, 'input-props');
13
- const serializedInputProps = await (0, serverless_client_1.compressInputProps)({
14
- stringifiedInputProps,
15
- region,
16
- userSpecifiedBucketName: bucketName !== null && bucketName !== void 0 ? bucketName : null,
17
- propsType: 'input-props',
18
- needsToUpload: (0, serverless_client_1.getNeedsToUpload)({
19
- type: 'video-or-audio',
20
- sizes: [
21
- stringifiedInputProps.length,
22
- JSON.stringify(envVariables).length,
23
- ],
24
- providerSpecifics: aws_provider_1.awsImplementation,
25
- }),
26
- providerSpecifics: aws_provider_1.awsImplementation,
27
- forcePathStyle: forcePathStyle !== null && forcePathStyle !== void 0 ? forcePathStyle : false,
28
- skipPutAcl: false,
29
- requestHandler,
30
- });
31
- try {
32
- const res = await aws_provider_1.awsImplementation.callFunctionSync({
33
- functionName,
34
- type: serverless_client_1.ServerlessRoutines.compositions,
35
- payload: {
36
- type: serverless_client_1.ServerlessRoutines.compositions,
37
- chromiumOptions: chromiumOptions !== null && chromiumOptions !== void 0 ? chromiumOptions : {},
38
- serveUrl,
39
- envVariables,
40
- inputProps: serializedInputProps,
41
- logLevel: dumpBrowserLogs ? 'verbose' : (logLevel !== null && logLevel !== void 0 ? logLevel : 'info'),
42
- timeoutInMilliseconds: timeoutInMilliseconds !== null && timeoutInMilliseconds !== void 0 ? timeoutInMilliseconds : 30000,
43
- version: serverless_client_1.VERSION,
44
- bucketName: bucketName !== null && bucketName !== void 0 ? bucketName : null,
45
- offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytes !== null && offthreadVideoCacheSizeInBytes !== void 0 ? offthreadVideoCacheSizeInBytes : null,
46
- forcePathStyle: forcePathStyle !== null && forcePathStyle !== void 0 ? forcePathStyle : false,
47
- mediaCacheSizeInBytes: mediaCacheSizeInBytes !== null && mediaCacheSizeInBytes !== void 0 ? mediaCacheSizeInBytes : null,
48
- },
49
- region,
50
- timeoutInTest: 120000,
51
- requestHandler,
52
- });
53
- return res.compositions;
54
- }
55
- catch (err) {
56
- if ((_a = err.stack) === null || _a === void 0 ? void 0 : _a.includes('UnrecognizedClientException')) {
57
- throw new Error('UnrecognizedClientException: The AWS credentials provided were probably mixed up. Learn how to fix this issue here: https://remotion.dev/docs/lambda/troubleshooting/unrecognizedclientexception');
58
- }
59
- throw err;
60
- }
61
- };
62
- exports.getCompositionsOnLambda = getCompositionsOnLambda;
@@ -1,9 +0,0 @@
1
- import { fromIni } from '@aws-sdk/credential-provider-ini';
2
- type CredentialPair = {
3
- accessKeyId: string;
4
- secretAccessKey: string;
5
- sessionToken?: string;
6
- };
7
- type AwsCredentialIdentityProvider = ReturnType<typeof fromIni>;
8
- export declare const getCredentials: () => CredentialPair | AwsCredentialIdentityProvider | undefined;
9
- export {};
@@ -1,55 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCredentials = void 0;
4
- const credential_provider_ini_1 = require("@aws-sdk/credential-provider-ini");
5
- const get_env_variable_1 = require("./get-env-variable");
6
- const is_in_lambda_1 = require("./is-in-lambda");
7
- const getCredentials = () => {
8
- if ((0, is_in_lambda_1.isInsideLambda)()) {
9
- return undefined;
10
- }
11
- if ((0, get_env_variable_1.getEnvVariable)('REMOTION_AWS_PROFILE')) {
12
- return (0, credential_provider_ini_1.fromIni)({
13
- profile: (0, get_env_variable_1.getEnvVariable)('REMOTION_AWS_PROFILE'),
14
- });
15
- }
16
- if ((0, get_env_variable_1.getEnvVariable)('REMOTION_AWS_ACCESS_KEY_ID') &&
17
- (0, get_env_variable_1.getEnvVariable)('REMOTION_AWS_SECRET_ACCESS_KEY') &&
18
- (0, get_env_variable_1.getEnvVariable)('REMOTION_AWS_SESSION_TOKEN')) {
19
- return {
20
- accessKeyId: (0, get_env_variable_1.getEnvVariable)('REMOTION_AWS_ACCESS_KEY_ID'),
21
- secretAccessKey: (0, get_env_variable_1.getEnvVariable)('REMOTION_AWS_SECRET_ACCESS_KEY'),
22
- sessionToken: (0, get_env_variable_1.getEnvVariable)('REMOTION_AWS_SESSION_TOKEN'),
23
- };
24
- }
25
- if ((0, get_env_variable_1.getEnvVariable)('REMOTION_AWS_ACCESS_KEY_ID') &&
26
- (0, get_env_variable_1.getEnvVariable)('REMOTION_AWS_SECRET_ACCESS_KEY')) {
27
- return {
28
- accessKeyId: (0, get_env_variable_1.getEnvVariable)('REMOTION_AWS_ACCESS_KEY_ID'),
29
- secretAccessKey: (0, get_env_variable_1.getEnvVariable)('REMOTION_AWS_SECRET_ACCESS_KEY'),
30
- };
31
- }
32
- if ((0, get_env_variable_1.getEnvVariable)('AWS_PROFILE')) {
33
- return (0, credential_provider_ini_1.fromIni)({
34
- profile: (0, get_env_variable_1.getEnvVariable)('AWS_PROFILE'),
35
- });
36
- }
37
- if ((0, get_env_variable_1.getEnvVariable)('AWS_ACCESS_KEY_ID') &&
38
- (0, get_env_variable_1.getEnvVariable)('AWS_SECRET_ACCESS_KEY') &&
39
- (0, get_env_variable_1.getEnvVariable)('AWS_SESSION_TOKEN')) {
40
- return {
41
- accessKeyId: (0, get_env_variable_1.getEnvVariable)('AWS_ACCESS_KEY_ID'),
42
- secretAccessKey: (0, get_env_variable_1.getEnvVariable)('AWS_SECRET_ACCESS_KEY'),
43
- sessionToken: (0, get_env_variable_1.getEnvVariable)('AWS_SESSION_TOKEN'),
44
- };
45
- }
46
- if ((0, get_env_variable_1.getEnvVariable)('AWS_ACCESS_KEY_ID') &&
47
- (0, get_env_variable_1.getEnvVariable)('AWS_SECRET_ACCESS_KEY')) {
48
- return {
49
- accessKeyId: (0, get_env_variable_1.getEnvVariable)('AWS_ACCESS_KEY_ID'),
50
- secretAccessKey: (0, get_env_variable_1.getEnvVariable)('AWS_SECRET_ACCESS_KEY'),
51
- };
52
- }
53
- return undefined;
54
- };
55
- exports.getCredentials = getCredentials;
@@ -1 +0,0 @@
1
- export declare const getEnvVariable: (name: string) => string | undefined;
@@ -1,15 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getEnvVariable = void 0;
4
- const getEnvVariable = (name) => {
5
- if (typeof process !== 'undefined' &&
6
- typeof process.env !== 'undefined' &&
7
- process.env[name]) {
8
- return process.env[name];
9
- }
10
- if (typeof Deno !== 'undefined' && Deno.env.has(name)) {
11
- return Deno.env.get(name);
12
- }
13
- return undefined;
14
- };
15
- exports.getEnvVariable = getEnvVariable;
@@ -1,8 +0,0 @@
1
- type ReturnType = {
2
- version: string;
3
- memorySizeInMb: number;
4
- diskSizeInMb: number;
5
- timeoutInSeconds: number;
6
- };
7
- export declare const parseFunctionName: (functionName: string) => ReturnType | null;
8
- export {};