@remotion/lambda 4.0.259 → 4.0.261

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 (221) hide show
  1. package/build.ts +1 -1
  2. package/dist/admin/make-layer-public.js +3 -3
  3. package/dist/api/create-function.d.ts +1 -2
  4. package/dist/api/create-function.js +8 -8
  5. package/dist/api/delete-site.d.ts +2 -2
  6. package/dist/api/delete-site.js +3 -4
  7. package/dist/api/deploy-function.d.ts +2 -2
  8. package/dist/api/deploy-function.js +9 -13
  9. package/dist/api/deploy-site.d.ts +2 -2
  10. package/dist/api/deploy-site.js +19 -13
  11. package/dist/api/download-media.d.ts +3 -3
  12. package/dist/api/download-media.js +11 -5
  13. package/dist/api/get-function-info.d.ts +1 -1
  14. package/dist/api/get-function-info.js +6 -8
  15. package/dist/api/get-or-create-bucket.d.ts +3 -3
  16. package/dist/api/get-or-create-bucket.js +4 -4
  17. package/dist/api/get-regions.d.ts +1 -1
  18. package/dist/api/get-regions.js +1 -1
  19. package/dist/api/iam-validation/role-permissions.js +6 -7
  20. package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
  21. package/dist/api/iam-validation/simulate-rule.js +2 -2
  22. package/dist/api/iam-validation/simulate.d.ts +1 -1
  23. package/dist/api/iam-validation/simulate.js +2 -2
  24. package/dist/api/iam-validation/user-permissions.js +4 -5
  25. package/dist/api/upload-dir.d.ts +2 -3
  26. package/dist/api/upload-dir.js +7 -4
  27. package/dist/cli/args.d.ts +2 -4
  28. package/dist/cli/commands/compositions/index.d.ts +1 -1
  29. package/dist/cli/commands/compositions/index.js +5 -6
  30. package/dist/cli/commands/functions/deploy.d.ts +1 -1
  31. package/dist/cli/commands/functions/deploy.js +8 -9
  32. package/dist/cli/commands/functions/index.d.ts +1 -1
  33. package/dist/cli/commands/functions/index.js +6 -6
  34. package/dist/cli/commands/functions/ls.d.ts +1 -1
  35. package/dist/cli/commands/functions/rm.js +4 -4
  36. package/dist/cli/commands/functions/rmall.d.ts +1 -1
  37. package/dist/cli/commands/functions/rmall.js +2 -2
  38. package/dist/cli/commands/policies/policies.js +5 -5
  39. package/dist/cli/commands/quotas/increase.js +5 -5
  40. package/dist/cli/commands/quotas/list.js +4 -4
  41. package/dist/cli/commands/render/progress.js +4 -4
  42. package/dist/cli/commands/render/render.d.ts +1 -1
  43. package/dist/cli/commands/render/render.js +13 -16
  44. package/dist/cli/commands/sites/create.d.ts +1 -1
  45. package/dist/cli/commands/sites/create.js +9 -5
  46. package/dist/cli/commands/sites/index.d.ts +1 -1
  47. package/dist/cli/commands/sites/index.js +6 -6
  48. package/dist/cli/commands/sites/ls.js +2 -2
  49. package/dist/cli/commands/sites/rm.d.ts +1 -1
  50. package/dist/cli/commands/sites/rm.js +4 -4
  51. package/dist/cli/commands/sites/rmall.d.ts +1 -1
  52. package/dist/cli/commands/sites/rmall.js +4 -4
  53. package/dist/cli/commands/still.d.ts +1 -1
  54. package/dist/cli/commands/still.js +10 -12
  55. package/dist/cli/get-aws-region.d.ts +1 -1
  56. package/dist/cli/get-aws-region.js +6 -7
  57. package/dist/cli/help.js +10 -10
  58. package/dist/cli/helpers/find-function-name.d.ts +1 -1
  59. package/dist/cli/helpers/find-function-name.js +5 -5
  60. package/dist/cli/index.d.ts +2 -2
  61. package/dist/cli/index.js +15 -17
  62. package/dist/cli/log.d.ts +5 -5
  63. package/dist/client.d.ts +1 -19
  64. package/dist/client.js +15 -30
  65. package/dist/defaults.d.ts +1 -1
  66. package/dist/defaults.js +1 -1
  67. package/dist/functions/aws-server-implementation.d.ts +2 -1
  68. package/dist/functions/aws-server-implementation.js +11 -2
  69. package/dist/functions/full-client-implementation.d.ts +1 -1
  70. package/dist/functions/full-client-implementation.js +0 -2
  71. package/dist/functions/helpers/get-current-region.d.ts +1 -1
  72. package/dist/functions/helpers/get-folder-files.d.ts +1 -1
  73. package/dist/functions/helpers/make-aws-artifact.d.ts +1 -1
  74. package/dist/functions/helpers/read-with-progress.d.ts +2 -3
  75. package/dist/functions/helpers/read-with-progress.js +6 -2
  76. package/dist/functions/index.d.ts +2 -3
  77. package/dist/functions/index.js +2 -4
  78. package/dist/index.d.ts +13 -32
  79. package/dist/index.js +24 -35
  80. package/dist/internals.d.ts +8 -12
  81. package/dist/internals.js +0 -4
  82. package/dist/shared/get-layers.d.ts +1 -4
  83. package/dist/shared/get-layers.js +3 -3
  84. package/dist/shared/get-s3-operations.d.ts +1 -1
  85. package/dist/shared/hosted-layers.d.ts +1 -1
  86. package/dist/shared/lambda-insights-extensions.d.ts +1 -1
  87. package/dist/shared/validate-timeout.js +3 -3
  88. package/package.json +22 -30
  89. package/remotionlambda-arm64.zip +0 -0
  90. package/dist/api/app-router-webhook.d.ts +0 -10
  91. package/dist/api/app-router-webhook.js +0 -43
  92. package/dist/api/bucket-exists.d.ts +0 -3
  93. package/dist/api/bucket-exists.js +0 -26
  94. package/dist/api/clean-items.d.ts +0 -16
  95. package/dist/api/clean-items.js +0 -25
  96. package/dist/api/create-bucket.d.ts +0 -3
  97. package/dist/api/create-bucket.js +0 -45
  98. package/dist/api/delete-function.d.ts +0 -4
  99. package/dist/api/delete-function.js +0 -15
  100. package/dist/api/delete-render.d.ts +0 -20
  101. package/dist/api/delete-render.js +0 -78
  102. package/dist/api/estimate-price.d.ts +0 -17
  103. package/dist/api/estimate-price.js +0 -45
  104. package/dist/api/express-webhook.d.ts +0 -3
  105. package/dist/api/express-webhook.js +0 -46
  106. package/dist/api/get-aws-client.d.ts +0 -30
  107. package/dist/api/get-aws-client.js +0 -56
  108. package/dist/api/get-buckets.d.ts +0 -9
  109. package/dist/api/get-buckets.js +0 -62
  110. package/dist/api/get-compositions-on-lambda.d.ts +0 -20
  111. package/dist/api/get-compositions-on-lambda.js +0 -60
  112. package/dist/api/get-functions.d.ts +0 -9
  113. package/dist/api/get-functions.js +0 -77
  114. package/dist/api/get-render-progress.d.ts +0 -16
  115. package/dist/api/get-render-progress.js +0 -45
  116. package/dist/api/get-sites.d.ts +0 -29
  117. package/dist/api/get-sites.js +0 -79
  118. package/dist/api/make-lambda-payload.d.ts +0 -57
  119. package/dist/api/make-lambda-payload.js +0 -150
  120. package/dist/api/pages-router-webhook.d.ts +0 -5
  121. package/dist/api/pages-router-webhook.js +0 -48
  122. package/dist/api/presign-url.d.ts +0 -14
  123. package/dist/api/presign-url.js +0 -59
  124. package/dist/api/render-media-on-lambda.d.ts +0 -63
  125. package/dist/api/render-media-on-lambda.js +0 -128
  126. package/dist/api/render-still-on-lambda.d.ts +0 -56
  127. package/dist/api/render-still-on-lambda.js +0 -118
  128. package/dist/api/speculate-function-name.d.ts +0 -6
  129. package/dist/api/speculate-function-name.js +0 -20
  130. package/dist/api/validate-webhook-signature.d.ts +0 -5
  131. package/dist/api/validate-webhook-signature.js +0 -28
  132. package/dist/cli/is-cli.d.ts +0 -2
  133. package/dist/cli/is-cli.js +0 -10
  134. package/dist/functions/aws-implementation.d.ts +0 -23
  135. package/dist/functions/aws-implementation.js +0 -97
  136. package/dist/functions/helpers/apply-lifecyle.d.ts +0 -8
  137. package/dist/functions/helpers/apply-lifecyle.js +0 -18
  138. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +0 -3
  139. package/dist/functions/helpers/get-output-url-from-metadata.js +0 -12
  140. package/dist/functions/helpers/lifecycle.d.ts +0 -8
  141. package/dist/functions/helpers/lifecycle.js +0 -24
  142. package/dist/functions/helpers/parse-function-name.d.ts +0 -8
  143. package/dist/functions/helpers/parse-function-name.js +0 -17
  144. package/dist/functions/http-client.d.ts +0 -2
  145. package/dist/functions/http-client.js +0 -18
  146. package/dist/io/delete-file.d.ts +0 -3
  147. package/dist/io/delete-file.js +0 -12
  148. package/dist/io/head-file.d.ts +0 -3
  149. package/dist/io/head-file.js +0 -17
  150. package/dist/io/list-objects.d.ts +0 -3
  151. package/dist/io/list-objects.js +0 -67
  152. package/dist/io/read-file.d.ts +0 -9
  153. package/dist/io/read-file.js +0 -18
  154. package/dist/io/write-file.d.ts +0 -5
  155. package/dist/io/write-file.js +0 -55
  156. package/dist/pricing/price-per-1-s.d.ts +0 -37
  157. package/dist/pricing/price-per-1-s.js +0 -822
  158. package/dist/regions.d.ts +0 -3
  159. package/dist/regions.js +0 -48
  160. package/dist/shared/aws-clients.d.ts +0 -11
  161. package/dist/shared/aws-clients.js +0 -51
  162. package/dist/shared/call-lambda-async.d.ts +0 -3
  163. package/dist/shared/call-lambda-async.js +0 -20
  164. package/dist/shared/call-lambda-streaming.d.ts +0 -7
  165. package/dist/shared/call-lambda-streaming.js +0 -126
  166. package/dist/shared/call-lambda-sync.d.ts +0 -3
  167. package/dist/shared/call-lambda-sync.js +0 -30
  168. package/dist/shared/check-credentials.d.ts +0 -1
  169. package/dist/shared/check-credentials.js +0 -39
  170. package/dist/shared/constants.d.ts +0 -26
  171. package/dist/shared/constants.js +0 -29
  172. package/dist/shared/content-disposition-header.d.ts +0 -2
  173. package/dist/shared/content-disposition-header.js +0 -50
  174. package/dist/shared/convert-to-serve-url.d.ts +0 -6
  175. package/dist/shared/convert-to-serve-url.js +0 -14
  176. package/dist/shared/encode-aws-url-params.d.ts +0 -1
  177. package/dist/shared/encode-aws-url-params.js +0 -7
  178. package/dist/shared/get-account-id.d.ts +0 -3
  179. package/dist/shared/get-account-id.js +0 -15
  180. package/dist/shared/get-aws-urls.d.ts +0 -26
  181. package/dist/shared/get-aws-urls.js +0 -31
  182. package/dist/shared/get-credentials.d.ts +0 -9
  183. package/dist/shared/get-credentials.js +0 -55
  184. package/dist/shared/get-env-variable.d.ts +0 -1
  185. package/dist/shared/get-env-variable.js +0 -15
  186. package/dist/shared/get-function-version.d.ts +0 -7
  187. package/dist/shared/get-function-version.js +0 -32
  188. package/dist/shared/get-s3-client.d.ts +0 -9
  189. package/dist/shared/get-s3-client.js +0 -14
  190. package/dist/shared/get-service-client.d.ts +0 -23
  191. package/dist/shared/get-service-client.js +0 -121
  192. package/dist/shared/is-flaky-error.d.ts +0 -1
  193. package/dist/shared/is-flaky-error.js +0 -77
  194. package/dist/shared/is-in-lambda.d.ts +0 -1
  195. package/dist/shared/is-in-lambda.js +0 -9
  196. package/dist/shared/is-likely-to-have-aws-profile.d.ts +0 -1
  197. package/dist/shared/is-likely-to-have-aws-profile.js +0 -50
  198. package/dist/shared/lambda-version-string.d.ts +0 -1
  199. package/dist/shared/lambda-version-string.js +0 -7
  200. package/dist/shared/lifecycle-rules.d.ts +0 -10
  201. package/dist/shared/lifecycle-rules.js +0 -61
  202. package/dist/shared/make-s3-url.d.ts +0 -6
  203. package/dist/shared/make-s3-url.js +0 -7
  204. package/dist/shared/p-limit.d.ts +0 -1
  205. package/dist/shared/p-limit.js +0 -57
  206. package/dist/shared/random-hash.d.ts +0 -1
  207. package/dist/shared/random-hash.js +0 -13
  208. package/dist/shared/validate-aws-region.d.ts +0 -2
  209. package/dist/shared/validate-aws-region.js +0 -9
  210. package/dist/shared/validate-bucketname.d.ts +0 -4
  211. package/dist/shared/validate-bucketname.js +0 -15
  212. package/dist/shared/validate-disk-size-in-mb.d.ts +0 -1
  213. package/dist/shared/validate-disk-size-in-mb.js +0 -23
  214. package/dist/shared/validate-lambda-codec.d.ts +0 -2
  215. package/dist/shared/validate-lambda-codec.js +0 -21
  216. package/dist/shared/validate-memory-size.d.ts +0 -1
  217. package/dist/shared/validate-memory-size.js +0 -22
  218. package/dist/shared/validate-presign-expiration.d.ts +0 -1
  219. package/dist/shared/validate-presign-expiration.js +0 -29
  220. package/dist/shared/validate-serveurl.d.ts +0 -1
  221. package/dist/shared/validate-serveurl.js +0 -9
@@ -1,45 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getRenderProgress = void 0;
4
- const client_1 = require("@remotion/serverless/client");
5
- const aws_implementation_1 = require("../functions/aws-implementation");
6
- const parse_function_name_1 = require("../functions/helpers/parse-function-name");
7
- const make_lambda_payload_1 = require("./make-lambda-payload");
8
- /*
9
- * @description Gets the current status of a render originally triggered via renderMediaOnLambda().
10
- * @see [Documentation](https://remotion.dev/docs/lambda/getrenderprogress)
11
- */
12
- const getRenderProgress = async (input) => {
13
- var _a, _b;
14
- if (input.skipLambdaInvocation) {
15
- const parsed = (0, parse_function_name_1.parseFunctionName)(input.functionName);
16
- if (!parsed) {
17
- throw new Error([
18
- `The function name ${input.functionName} does not adhere to the function name convention (https://www.remotion.dev/docs/lambda/naming-convention).`,
19
- 'Cannot determine memory and disk size from the function name.',
20
- 'You must call getRenderProgress with `skipLambdaInvocation` set to false.',
21
- ].join('\n'));
22
- }
23
- return (0, client_1.getProgress)({
24
- bucketName: input.bucketName,
25
- renderId: input.renderId,
26
- region: input.region,
27
- forcePathStyle: (_a = input.forcePathStyle) !== null && _a !== void 0 ? _a : false,
28
- customCredentials: (_b = input.s3OutputProvider) !== null && _b !== void 0 ? _b : null,
29
- expectedBucketOwner: null,
30
- providerSpecifics: aws_implementation_1.awsImplementation,
31
- memorySizeInMb: parsed.memorySizeInMb,
32
- timeoutInMilliseconds: parsed.timeoutInSeconds * 1000,
33
- functionName: input.functionName,
34
- });
35
- }
36
- const result = await aws_implementation_1.awsImplementation.callFunctionSync({
37
- functionName: input.functionName,
38
- type: client_1.ServerlessRoutines.status,
39
- payload: (0, make_lambda_payload_1.getRenderProgressPayload)(input),
40
- region: input.region,
41
- timeoutInTest: 120000,
42
- });
43
- return result;
44
- };
45
- exports.getRenderProgress = getRenderProgress;
@@ -1,29 +0,0 @@
1
- import type { ProviderSpecifics } from '@remotion/serverless';
2
- import type { AwsProvider } from '../functions/aws-implementation';
3
- import type { AwsRegion } from '../regions';
4
- import type { BucketWithLocation } from './get-buckets';
5
- type Site = {
6
- sizeInBytes: number;
7
- lastModified: number | null;
8
- bucketName: string;
9
- id: string;
10
- serveUrl: string;
11
- };
12
- type MandatoryParameters = {
13
- region: AwsRegion;
14
- };
15
- type OptionalParameters = {
16
- forceBucketName: string | null;
17
- forcePathStyle: boolean;
18
- };
19
- type GetSitesInternalInput = MandatoryParameters & OptionalParameters;
20
- export type GetSitesInput = MandatoryParameters & Partial<OptionalParameters>;
21
- export type GetSitesOutput = {
22
- sites: Site[];
23
- buckets: BucketWithLocation[];
24
- };
25
- export declare const internalGetSites: ({ region, forceBucketName, providerSpecifics, forcePathStyle, }: GetSitesInternalInput & {
26
- providerSpecifics: ProviderSpecifics<AwsProvider>;
27
- }) => Promise<GetSitesOutput>;
28
- export declare const getSites: ({ region, forceBucketName, forcePathStyle, }: GetSitesInput) => Promise<GetSitesOutput>;
29
- export {};
@@ -1,79 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getSites = exports.internalGetSites = void 0;
4
- const aws_implementation_1 = require("../functions/aws-implementation");
5
- const constants_1 = require("../shared/constants");
6
- const make_s3_url_1 = require("../shared/make-s3-url");
7
- const internalGetSites = async ({ region, forceBucketName, providerSpecifics, forcePathStyle, }) => {
8
- var _a;
9
- const remotionBuckets = forceBucketName
10
- ? await providerSpecifics.getBuckets({
11
- region,
12
- forceBucketName,
13
- forcePathStyle,
14
- })
15
- : await providerSpecifics.getBuckets({
16
- region,
17
- forceBucketName: null,
18
- forcePathStyle,
19
- });
20
- const accountId = await providerSpecifics.getAccountId({ region });
21
- const sites = {};
22
- for (const bucket of remotionBuckets) {
23
- const ls = await providerSpecifics.listObjects({
24
- bucketName: bucket.name,
25
- prefix: (0, constants_1.getSitesKey)(''),
26
- region,
27
- expectedBucketOwner: accountId,
28
- forcePathStyle,
29
- });
30
- for (const file of ls) {
31
- const siteKeyMatch = (_a = file.Key) === null || _a === void 0 ? void 0 : _a.match(/sites\/([0-9a-zA-Z-!_.*'()]+)\/(.*)$/);
32
- if (!siteKeyMatch) {
33
- throw new Error(`A file was found in the bucket "${bucket.name}" with the key ${file.Key} which is an unexpected folder structure. Delete this file.`);
34
- }
35
- const [, siteId] = siteKeyMatch;
36
- if (!sites[siteId]) {
37
- sites[siteId] = {
38
- sizeInBytes: 0,
39
- bucketName: bucket.name,
40
- lastModified: null,
41
- id: siteId,
42
- serveUrl: (0, make_s3_url_1.makeS3ServeUrl)({
43
- bucketName: bucket.name,
44
- region,
45
- subFolder: (0, constants_1.getSitesKey)(siteId),
46
- }),
47
- };
48
- }
49
- if (file.LastModified) {
50
- const currentLastModified = sites[siteId].lastModified;
51
- if (currentLastModified === null ||
52
- file.LastModified.getTime() > currentLastModified) {
53
- sites[siteId].lastModified = file.LastModified.getTime();
54
- }
55
- }
56
- if (file.Size) {
57
- sites[siteId].sizeInBytes += file.Size;
58
- }
59
- }
60
- }
61
- const sitesArray = Object.keys(sites).map((siteId) => {
62
- return sites[siteId];
63
- });
64
- return { sites: sitesArray, buckets: remotionBuckets };
65
- };
66
- exports.internalGetSites = internalGetSites;
67
- /*
68
- * @description Gets an array of Remotion projects in Cloud Storage, in your GCP project.
69
- * @see [Documentation](https://remotion.dev/docs/cloudrun/getsites)
70
- */
71
- const getSites = ({ region, forceBucketName, forcePathStyle, }) => {
72
- return (0, exports.internalGetSites)({
73
- region,
74
- forceBucketName: forceBucketName !== null && forceBucketName !== void 0 ? forceBucketName : null,
75
- forcePathStyle: forcePathStyle !== null && forcePathStyle !== void 0 ? forcePathStyle : false,
76
- providerSpecifics: aws_implementation_1.awsImplementation,
77
- });
78
- };
79
- exports.getSites = getSites;
@@ -1,57 +0,0 @@
1
- import type { AudioCodec, ChromiumOptions, ColorSpace, FrameRange, LogLevel, PixelFormat, ProResProfile, ToOptions, VideoImageFormat, X264Preset } from '@remotion/renderer';
2
- import type { BrowserSafeApis } from '@remotion/renderer/client';
3
- import type { DownloadBehavior, OutNameInput, Privacy, ServerlessCodec, ServerlessPayloads, ServerlessStartPayload, ServerlessStatusPayload, WebhookOption } from '@remotion/serverless/client';
4
- import { ServerlessRoutines } from '@remotion/serverless/client';
5
- import type { DeleteAfter } from '../client';
6
- import type { AwsProvider } from '../functions/aws-implementation';
7
- import type { AwsRegion } from '../regions';
8
- import type { GetRenderProgressInput } from './get-render-progress';
9
- import type { RenderStillOnLambdaNonNullInput } from './render-still-on-lambda';
10
- export type InnerRenderMediaOnLambdaInput = {
11
- region: AwsRegion;
12
- functionName: string;
13
- serveUrl: string;
14
- composition: string;
15
- inputProps: Record<string, unknown>;
16
- codec: ServerlessCodec;
17
- imageFormat: VideoImageFormat;
18
- crf: number | undefined;
19
- envVariables: Record<string, string>;
20
- pixelFormat: PixelFormat | undefined;
21
- proResProfile: ProResProfile | undefined;
22
- x264Preset: X264Preset | null;
23
- privacy: Privacy;
24
- jpegQuality: number;
25
- maxRetries: number;
26
- framesPerLambda: number | null;
27
- logLevel: LogLevel;
28
- frameRange: FrameRange | null;
29
- outName: OutNameInput<AwsProvider> | null;
30
- timeoutInMilliseconds: number;
31
- chromiumOptions: ChromiumOptions;
32
- scale: number;
33
- everyNthFrame: number;
34
- numberOfGifLoops: number | null;
35
- concurrencyPerLambda: number;
36
- downloadBehavior: DownloadBehavior;
37
- muted: boolean;
38
- overwrite: boolean;
39
- audioBitrate: string | null;
40
- videoBitrate: string | null;
41
- encodingMaxRate: string | null;
42
- encodingBufferSize: string | null;
43
- webhook: WebhookOption | null;
44
- forceWidth: number | null;
45
- forceHeight: number | null;
46
- rendererFunctionName: string | null;
47
- forceBucketName: string | null;
48
- audioCodec: AudioCodec | null;
49
- colorSpace: ColorSpace | null;
50
- deleteAfter: DeleteAfter | null;
51
- indent: boolean;
52
- forcePathStyle: boolean;
53
- metadata: Record<string, string> | null;
54
- } & ToOptions<typeof BrowserSafeApis.optionsMap.renderMediaOnLambda>;
55
- export declare const 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, forcePathStyle, metadata, apiKey, }: InnerRenderMediaOnLambdaInput) => Promise<ServerlessStartPayload<AwsProvider>>;
56
- export declare const getRenderProgressPayload: ({ bucketName, renderId, s3OutputProvider, logLevel, forcePathStyle, }: GetRenderProgressInput) => ServerlessStatusPayload<AwsProvider>;
57
- export declare const makeLambdaRenderStillPayload: ({ serveUrl, inputProps, imageFormat, envVariables, quality, jpegQuality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, forceHeight, forceWidth, forceBucketName, offthreadVideoCacheSizeInBytes, deleteAfter, forcePathStyle, apiKey, }: RenderStillOnLambdaNonNullInput) => Promise<ServerlessPayloads<AwsProvider>[ServerlessRoutines.still]>;
@@ -1,150 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.makeLambdaRenderStillPayload = exports.getRenderProgressPayload = exports.makeLambdaRenderMediaPayload = void 0;
4
- const client_1 = require("@remotion/serverless/client");
5
- const version_1 = require("remotion/version");
6
- const aws_implementation_1 = require("../functions/aws-implementation");
7
- const client_2 = require("@remotion/serverless/client");
8
- const no_react_1 = require("remotion/no-react");
9
- const validate_lambda_codec_1 = require("../shared/validate-lambda-codec");
10
- const validate_serveurl_1 = require("../shared/validate-serveurl");
11
- const makeLambdaRenderMediaPayload = async ({ 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, forcePathStyle, metadata, apiKey, }) => {
12
- const actualCodec = (0, validate_lambda_codec_1.validateLambdaCodec)(codec);
13
- (0, validate_serveurl_1.validateServeUrl)(serveUrl);
14
- (0, client_1.validateFramesPerFunction)({
15
- framesPerFunction: framesPerLambda !== null && framesPerLambda !== void 0 ? framesPerLambda : null,
16
- durationInFrames: 1,
17
- });
18
- (0, client_1.validateDownloadBehavior)(downloadBehavior);
19
- (0, client_2.validateWebhook)(webhook);
20
- const stringifiedInputProps = (0, client_1.serializeOrThrow)(inputProps !== null && inputProps !== void 0 ? inputProps : {}, 'input-props');
21
- const serialized = await (0, client_1.compressInputProps)({
22
- stringifiedInputProps,
23
- region,
24
- needsToUpload: (0, client_1.getNeedsToUpload)({
25
- type: 'video-or-audio',
26
- sizes: [
27
- stringifiedInputProps.length,
28
- JSON.stringify(envVariables).length,
29
- ],
30
- providerSpecifics: aws_implementation_1.awsImplementation,
31
- }),
32
- userSpecifiedBucketName: bucketName !== null && bucketName !== void 0 ? bucketName : null,
33
- propsType: 'input-props',
34
- providerSpecifics: aws_implementation_1.awsImplementation,
35
- forcePathStyle: forcePathStyle !== null && forcePathStyle !== void 0 ? forcePathStyle : false,
36
- skipPutAcl: privacy === 'no-acl',
37
- });
38
- return {
39
- rendererFunctionName,
40
- framesPerLambda,
41
- composition,
42
- serveUrl,
43
- inputProps: serialized,
44
- codec: actualCodec,
45
- imageFormat,
46
- crf: crf !== null && crf !== void 0 ? crf : null,
47
- envVariables,
48
- pixelFormat: pixelFormat !== null && pixelFormat !== void 0 ? pixelFormat : null,
49
- proResProfile: proResProfile !== null && proResProfile !== void 0 ? proResProfile : null,
50
- x264Preset,
51
- jpegQuality,
52
- maxRetries,
53
- privacy,
54
- logLevel,
55
- frameRange,
56
- outName,
57
- timeoutInMilliseconds,
58
- chromiumOptions,
59
- scale,
60
- everyNthFrame,
61
- numberOfGifLoops,
62
- concurrencyPerLambda,
63
- downloadBehavior,
64
- muted,
65
- version: version_1.VERSION,
66
- overwrite: overwrite !== null && overwrite !== void 0 ? overwrite : no_react_1.NoReactInternals.ENABLE_V5_BREAKING_CHANGES,
67
- audioBitrate: audioBitrate !== null && audioBitrate !== void 0 ? audioBitrate : null,
68
- videoBitrate: videoBitrate !== null && videoBitrate !== void 0 ? videoBitrate : null,
69
- encodingBufferSize: encodingBufferSize !== null && encodingBufferSize !== void 0 ? encodingBufferSize : null,
70
- encodingMaxRate: encodingMaxRate !== null && encodingMaxRate !== void 0 ? encodingMaxRate : null,
71
- webhook: webhook !== null && webhook !== void 0 ? webhook : null,
72
- forceHeight: forceHeight !== null && forceHeight !== void 0 ? forceHeight : null,
73
- forceWidth: forceWidth !== null && forceWidth !== void 0 ? forceWidth : null,
74
- bucketName: bucketName !== null && bucketName !== void 0 ? bucketName : null,
75
- audioCodec: audioCodec !== null && audioCodec !== void 0 ? audioCodec : null,
76
- type: client_1.ServerlessRoutines.start,
77
- offthreadVideoCacheSizeInBytes: offthreadVideoCacheSizeInBytes !== null && offthreadVideoCacheSizeInBytes !== void 0 ? offthreadVideoCacheSizeInBytes : null,
78
- deleteAfter: deleteAfter !== null && deleteAfter !== void 0 ? deleteAfter : null,
79
- colorSpace: colorSpace !== null && colorSpace !== void 0 ? colorSpace : null,
80
- preferLossless: preferLossless !== null && preferLossless !== void 0 ? preferLossless : false,
81
- forcePathStyle: forcePathStyle !== null && forcePathStyle !== void 0 ? forcePathStyle : false,
82
- metadata: metadata !== null && metadata !== void 0 ? metadata : null,
83
- apiKey: apiKey !== null && apiKey !== void 0 ? apiKey : null,
84
- };
85
- };
86
- exports.makeLambdaRenderMediaPayload = makeLambdaRenderMediaPayload;
87
- const getRenderProgressPayload = ({ bucketName, renderId, s3OutputProvider, logLevel, forcePathStyle, }) => {
88
- return {
89
- type: client_1.ServerlessRoutines.status,
90
- bucketName,
91
- renderId,
92
- version: version_1.VERSION,
93
- s3OutputProvider: s3OutputProvider !== null && s3OutputProvider !== void 0 ? s3OutputProvider : null,
94
- logLevel: logLevel !== null && logLevel !== void 0 ? logLevel : 'info',
95
- forcePathStyle: forcePathStyle !== null && forcePathStyle !== void 0 ? forcePathStyle : false,
96
- };
97
- };
98
- exports.getRenderProgressPayload = getRenderProgressPayload;
99
- const makeLambdaRenderStillPayload = async ({ serveUrl, inputProps, imageFormat, envVariables, quality, jpegQuality, region, maxRetries, composition, privacy, frame, logLevel, outName, timeoutInMilliseconds, chromiumOptions, scale, downloadBehavior, forceHeight, forceWidth, forceBucketName, offthreadVideoCacheSizeInBytes, deleteAfter, forcePathStyle, apiKey, }) => {
100
- if (quality) {
101
- throw new Error('The `quality` option is deprecated. Use `jpegQuality` instead.');
102
- }
103
- const stringifiedInputProps = (0, client_1.serializeOrThrow)(inputProps, 'input-props');
104
- const serializedInputProps = await (0, client_1.compressInputProps)({
105
- stringifiedInputProps,
106
- region,
107
- needsToUpload: (0, client_1.getNeedsToUpload)({
108
- type: 'still',
109
- sizes: [
110
- stringifiedInputProps.length,
111
- JSON.stringify(envVariables).length,
112
- ],
113
- providerSpecifics: aws_implementation_1.awsImplementation,
114
- }),
115
- userSpecifiedBucketName: forceBucketName !== null && forceBucketName !== void 0 ? forceBucketName : null,
116
- propsType: 'input-props',
117
- providerSpecifics: aws_implementation_1.awsImplementation,
118
- forcePathStyle,
119
- skipPutAcl: privacy === 'no-acl',
120
- });
121
- return {
122
- composition,
123
- serveUrl,
124
- inputProps: serializedInputProps,
125
- imageFormat,
126
- envVariables,
127
- jpegQuality,
128
- maxRetries,
129
- frame,
130
- privacy,
131
- attempt: 1,
132
- logLevel,
133
- outName,
134
- timeoutInMilliseconds,
135
- chromiumOptions,
136
- scale,
137
- downloadBehavior,
138
- version: version_1.VERSION,
139
- forceHeight,
140
- forceWidth,
141
- bucketName: forceBucketName,
142
- offthreadVideoCacheSizeInBytes,
143
- deleteAfter,
144
- type: client_1.ServerlessRoutines.still,
145
- streamed: true,
146
- forcePathStyle,
147
- apiKey: apiKey !== null && apiKey !== void 0 ? apiKey : null,
148
- };
149
- };
150
- exports.makeLambdaRenderStillPayload = makeLambdaRenderStillPayload;
@@ -1,5 +0,0 @@
1
- import type { Response } from 'express';
2
- import type { NextApiRequest, NextApiResponse } from 'next';
3
- import type { NextWebhookArgs } from './app-router-webhook';
4
- export declare const addHeaders: (res: NextApiResponse | Response, headers: Record<string, string>) => void;
5
- export declare const pagesRouterWebhook: (options: NextWebhookArgs) => (req: NextApiRequest, res: NextApiResponse) => void;
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pagesRouterWebhook = exports.addHeaders = void 0;
4
- const validate_webhook_signature_1 = require("./validate-webhook-signature");
5
- const addHeaders = (res, headers) => {
6
- Object.entries(headers).forEach(([key, value]) => {
7
- res.setHeader(key, value);
8
- });
9
- };
10
- exports.addHeaders = addHeaders;
11
- const pagesRouterWebhook = (options) => {
12
- const { testing, extraHeaders, secret, onSuccess, onTimeout, onError } = options;
13
- return function (req, res) {
14
- (0, exports.addHeaders)(res, extraHeaders || {});
15
- if (testing) {
16
- const testingheaders = {
17
- 'Access-Control-Allow-Origin': 'https://www.remotion.dev',
18
- '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',
19
- 'Access-Control-Allow-Methods': 'OPTIONS,POST',
20
- };
21
- (0, exports.addHeaders)(res, testingheaders);
22
- }
23
- if (req.method === 'OPTIONS') {
24
- res.status(200).end();
25
- return;
26
- }
27
- (0, validate_webhook_signature_1.validateWebhookSignature)({
28
- secret,
29
- body: req.body,
30
- signatureHeader: req.headers['x-remotion-signature'],
31
- });
32
- // If code reaches this path, the webhook is authentic.
33
- const payload = req.body;
34
- if (payload.type === 'success' && onSuccess) {
35
- onSuccess(payload);
36
- }
37
- else if (payload.type === 'timeout' && onTimeout) {
38
- onTimeout(payload);
39
- }
40
- else if (payload.type === 'error' && onError) {
41
- onError(payload);
42
- }
43
- res.status(200).json({
44
- success: true,
45
- });
46
- };
47
- };
48
- exports.pagesRouterWebhook = pagesRouterWebhook;
@@ -1,14 +0,0 @@
1
- import type { AwsRegion } from '../regions';
2
- type MandatoryParameters = {
3
- region: AwsRegion;
4
- bucketName: string;
5
- objectKey: string;
6
- expiresInSeconds: number;
7
- };
8
- type OptionalParameters<CheckIfObjectExists extends boolean> = {
9
- checkIfObjectExists: CheckIfObjectExists;
10
- forcePathStyle: boolean;
11
- };
12
- export type PresignUrlInput<CheckIfObjectExists extends boolean = boolean> = MandatoryParameters & Partial<OptionalParameters<CheckIfObjectExists>>;
13
- export declare const presignUrl: <CheckIfObjectExists extends boolean = false>({ region, bucketName, objectKey, checkIfObjectExists, expiresInSeconds, forcePathStyle, }: PresignUrlInput<CheckIfObjectExists>) => Promise<CheckIfObjectExists extends true ? string | null : string>;
14
- export {};
@@ -1,59 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.presignUrl = void 0;
4
- const client_s3_1 = require("@aws-sdk/client-s3");
5
- const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
6
- const client_1 = require("@remotion/serverless/client");
7
- const get_s3_client_1 = require("../shared/get-s3-client");
8
- const validate_presign_expiration_1 = require("../shared/validate-presign-expiration");
9
- const internalPresignUrl = async ({ region, bucketName, objectKey, checkIfObjectExists, expiresInSeconds, forcePathStyle, }) => {
10
- (0, client_1.validateBucketName)(bucketName, { mustStartWithRemotion: false });
11
- (0, validate_presign_expiration_1.validatePresignExpiration)(expiresInSeconds);
12
- const s3Client = (0, get_s3_client_1.getS3Client)({
13
- region,
14
- customCredentials: null,
15
- forcePathStyle,
16
- });
17
- if (checkIfObjectExists === true) {
18
- try {
19
- await s3Client.send(new client_s3_1.HeadObjectCommand({
20
- Bucket: bucketName,
21
- Key: objectKey,
22
- }));
23
- }
24
- catch (err) {
25
- if (err.name === 'NotFound') {
26
- return null;
27
- }
28
- if (err.message === 'UnknownError' ||
29
- err.$metadata
30
- .httpStatusCode === 403) {
31
- throw new Error(`Unable to access item "${objectKey}" from bucket "${bucketName}". You must have permission for both "s3:GetObject" and "s3:ListBucket" actions.`);
32
- }
33
- throw err;
34
- }
35
- }
36
- const objCommand = new client_s3_1.GetObjectCommand({
37
- Bucket: bucketName,
38
- Key: objectKey,
39
- });
40
- const publicUrl = await (0, s3_request_presigner_1.getSignedUrl)(s3Client, objCommand, {
41
- expiresIn: expiresInSeconds,
42
- });
43
- return publicUrl;
44
- };
45
- /*
46
- * @description Takes a private S3 object and turns it into a public URL by signing it with your AWS credentials.
47
- * @see [Documentation](https://remotion.dev/docs/lambda/presignurl)
48
- */
49
- const presignUrl = ({ region, bucketName, objectKey, checkIfObjectExists, expiresInSeconds, forcePathStyle, }) => {
50
- return internalPresignUrl({
51
- region,
52
- bucketName,
53
- objectKey,
54
- checkIfObjectExists: checkIfObjectExists !== null && checkIfObjectExists !== void 0 ? checkIfObjectExists : false,
55
- expiresInSeconds,
56
- forcePathStyle: forcePathStyle !== null && forcePathStyle !== void 0 ? forcePathStyle : false,
57
- });
58
- };
59
- exports.presignUrl = presignUrl;
@@ -1,63 +0,0 @@
1
- import type { AudioCodec, ChromiumOptions, FrameRange, PixelFormat, ProResProfile, ToOptions, VideoImageFormat } from '@remotion/renderer';
2
- import type { BrowserSafeApis } from '@remotion/renderer/client';
3
- import type { DownloadBehavior, OutNameInput, Privacy, ServerlessCodec, WebhookOption } from '@remotion/serverless/client';
4
- import { type AwsProvider } from '../functions/aws-implementation';
5
- import type { AwsRegion } from '../regions';
6
- import type { InnerRenderMediaOnLambdaInput } from './make-lambda-payload';
7
- export type RenderMediaOnLambdaInput = {
8
- region: AwsRegion;
9
- functionName: string;
10
- serveUrl: string;
11
- composition: string;
12
- inputProps?: Record<string, unknown>;
13
- codec: ServerlessCodec;
14
- imageFormat?: VideoImageFormat;
15
- crf?: number | undefined;
16
- envVariables?: Record<string, string>;
17
- pixelFormat?: PixelFormat;
18
- proResProfile?: ProResProfile;
19
- privacy?: Privacy;
20
- /**
21
- * @deprecated Renamed to `jpegQuality`
22
- */
23
- quality?: never;
24
- jpegQuality?: number;
25
- maxRetries?: number;
26
- framesPerLambda?: number;
27
- frameRange?: FrameRange;
28
- outName?: OutNameInput<AwsProvider>;
29
- chromiumOptions?: Omit<ChromiumOptions, 'enableMultiProcessOnLinux'>;
30
- scale?: number;
31
- everyNthFrame?: number;
32
- concurrencyPerLambda?: number;
33
- downloadBehavior?: DownloadBehavior | null;
34
- overwrite?: boolean;
35
- webhook?: WebhookOption | null;
36
- forceWidth?: number | null;
37
- forceHeight?: number | null;
38
- rendererFunctionName?: string | null;
39
- forceBucketName?: string;
40
- audioCodec?: AudioCodec | null;
41
- /**
42
- * @deprecated in favor of `logLevel`: true
43
- */
44
- dumpBrowserLogs?: boolean;
45
- forcePathStyle?: boolean;
46
- metadata?: Record<string, string> | null;
47
- } & Partial<ToOptions<typeof BrowserSafeApis.optionsMap.renderMediaOnLambda>>;
48
- export type RenderMediaOnLambdaOutput = {
49
- renderId: string;
50
- bucketName: string;
51
- cloudWatchLogs: string;
52
- cloudWatchMainLogs: string;
53
- lambdaInsightsLogs: string;
54
- folderInS3Console: string;
55
- progressJsonInConsole: string;
56
- };
57
- export declare const internalRenderMediaOnLambdaRaw: (input: InnerRenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
58
- export declare const renderMediaOnLambdaOptionalToRequired: (options: RenderMediaOnLambdaInput) => InnerRenderMediaOnLambdaInput;
59
- export declare const renderMediaOnLambda: (options: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;
60
- /**
61
- * @deprecated Renamed to renderMediaOnLambda()
62
- */
63
- export declare const renderVideoOnLambda: (options: RenderMediaOnLambdaInput) => Promise<RenderMediaOnLambdaOutput>;