@remotion/lambda 4.0.0-oops.3 → 4.0.0-prefetch.7

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 (184) hide show
  1. package/dist/admin/bundle-lambda.js +1 -0
  2. package/dist/admin/make-layer-public.js +8 -8
  3. package/dist/api/bucket-exists.d.ts +1 -1
  4. package/dist/api/clean-items.d.ts +1 -1
  5. package/dist/api/clean-items.js +2 -5
  6. package/dist/api/create-bucket.d.ts +1 -1
  7. package/dist/api/create-function.d.ts +4 -3
  8. package/dist/api/create-function.js +3 -2
  9. package/dist/api/delete-function.d.ts +1 -1
  10. package/dist/api/delete-site.d.ts +1 -1
  11. package/dist/api/deploy-function.d.ts +3 -2
  12. package/dist/api/deploy-function.js +7 -2
  13. package/dist/api/deploy-site.d.ts +3 -3
  14. package/dist/api/deploy-site.js +2 -3
  15. package/dist/api/download-media.d.ts +2 -2
  16. package/dist/api/enable-s3-website.d.ts +1 -1
  17. package/dist/api/estimate-price.d.ts +2 -2
  18. package/dist/api/get-aws-client.d.ts +2 -2
  19. package/dist/api/get-aws-client.js +5 -1
  20. package/dist/api/get-buckets.d.ts +1 -1
  21. package/dist/api/get-function-info.d.ts +2 -3
  22. package/dist/api/get-functions.d.ts +2 -2
  23. package/dist/api/get-functions.js +2 -1
  24. package/dist/api/get-or-create-bucket.d.ts +1 -1
  25. package/dist/api/get-regions.d.ts +1 -1
  26. package/dist/api/get-render-progress.d.ts +2 -2
  27. package/dist/api/get-render-progress.js +2 -0
  28. package/dist/api/get-sites.d.ts +2 -2
  29. package/dist/api/iam-validation/role-permissions.d.ts +2 -1
  30. package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
  31. package/dist/api/iam-validation/simulate.d.ts +2 -2
  32. package/dist/api/mock-functions.d.ts +6 -7
  33. package/dist/api/presign-url.d.ts +3 -2
  34. package/dist/api/presign-url.js +5 -0
  35. package/dist/api/render-media-on-lambda.d.ts +15 -8
  36. package/dist/api/render-media-on-lambda.js +58 -32
  37. package/dist/api/render-still-on-lambda.d.ts +9 -7
  38. package/dist/api/render-still-on-lambda.js +49 -31
  39. package/dist/api/upload-dir.d.ts +2 -2
  40. package/dist/api/upload-dir.js +9 -4
  41. package/dist/cli/args.d.ts +5 -3
  42. package/dist/cli/commands/functions/deploy.js +8 -3
  43. package/dist/cli/commands/render/progress.d.ts +4 -4
  44. package/dist/cli/commands/render/progress.js +11 -3
  45. package/dist/cli/commands/render/render.js +15 -10
  46. package/dist/cli/commands/sites/create.js +2 -3
  47. package/dist/cli/commands/sites/ls.js +1 -2
  48. package/dist/cli/commands/sites/rm.js +2 -3
  49. package/dist/cli/commands/sites/rmall.js +2 -3
  50. package/dist/cli/commands/still.js +2 -9
  51. package/dist/cli/get-aws-region.d.ts +1 -1
  52. package/dist/cli/get-aws-region.js +2 -1
  53. package/dist/cli/helpers/find-function-name.js +3 -2
  54. package/dist/cli/helpers/get-cloudwatch-stream-url.d.ts +2 -2
  55. package/dist/cli/helpers/progress-bar.js +1 -2
  56. package/dist/cli/index.js +11 -1
  57. package/dist/defaults.js +5 -1
  58. package/dist/functions/chunk-optimization/can-use-optimization.d.ts +1 -1
  59. package/dist/functions/chunk-optimization/can-use-optimization.js +2 -2
  60. package/dist/functions/chunk-optimization/collect-data.d.ts +1 -1
  61. package/dist/functions/chunk-optimization/get-frame-ranges-from-profile.d.ts +5 -2
  62. package/dist/functions/chunk-optimization/get-profile-duration.d.ts +1 -1
  63. package/dist/functions/chunk-optimization/is-valid-profile.d.ts +1 -1
  64. package/dist/functions/chunk-optimization/is-valid-profile.js +2 -2
  65. package/dist/functions/chunk-optimization/optimize-invocation-order.d.ts +1 -1
  66. package/dist/functions/chunk-optimization/optimize-profile.d.ts +9 -3
  67. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +7 -4
  68. package/dist/functions/chunk-optimization/plan-frame-ranges.js +7 -6
  69. package/dist/functions/chunk-optimization/s3-optimization-file.d.ts +2 -2
  70. package/dist/functions/chunk-optimization/s3-optimization-file.js +1 -0
  71. package/dist/functions/chunk-optimization/simulate-frame-ranges.d.ts +5 -2
  72. package/dist/functions/chunk-optimization/sort-by-duration.d.ts +1 -1
  73. package/dist/functions/chunk-optimization/types.d.ts +2 -2
  74. package/dist/functions/helpers/calculate-chunk-times.d.ts +1 -1
  75. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +4 -4
  76. package/dist/functions/helpers/check-if-render-exists.d.ts +3 -0
  77. package/dist/functions/helpers/check-if-render-exists.js +14 -0
  78. package/dist/functions/helpers/concat-videos.d.ts +6 -4
  79. package/dist/functions/helpers/concat-videos.js +8 -2
  80. package/dist/functions/helpers/create-post-render-data.d.ts +6 -6
  81. package/dist/functions/helpers/create-post-render-data.js +12 -7
  82. package/dist/functions/helpers/delete-chunks.d.ts +3 -3
  83. package/dist/functions/helpers/expected-out-name.d.ts +1 -1
  84. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +2 -2
  85. package/dist/functions/helpers/find-output-file-in-bucket.js +6 -0
  86. package/dist/functions/helpers/format-costs-info.d.ts +1 -1
  87. package/dist/functions/helpers/get-browser-instance.d.ts +2 -1
  88. package/dist/functions/helpers/get-browser-instance.js +3 -1
  89. package/dist/functions/helpers/get-cleanup-progress.d.ts +2 -2
  90. package/dist/functions/helpers/get-current-architecture.d.ts +1 -1
  91. package/dist/functions/helpers/get-encoding-metadata.d.ts +2 -2
  92. package/dist/functions/helpers/get-files-to-delete.js +3 -3
  93. package/dist/functions/helpers/get-final-encoding-status.d.ts +2 -2
  94. package/dist/functions/helpers/get-lambdas-invoked-stats.d.ts +8 -3
  95. package/dist/functions/helpers/get-lambdas-invoked-stats.js +8 -8
  96. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +1 -1
  97. package/dist/functions/helpers/get-post-render-data.d.ts +2 -2
  98. package/dist/functions/helpers/get-progress.d.ts +2 -2
  99. package/dist/functions/helpers/get-progress.js +22 -11
  100. package/dist/functions/helpers/get-render-metadata.d.ts +2 -2
  101. package/dist/functions/helpers/get-retry-stats.d.ts +1 -1
  102. package/dist/functions/helpers/get-retry-stats.js +1 -1
  103. package/dist/functions/helpers/get-time-to-finish.d.ts +1 -1
  104. package/dist/functions/helpers/inspect-errors.d.ts +3 -3
  105. package/dist/functions/helpers/io.d.ts +13 -6
  106. package/dist/functions/helpers/io.js +21 -3
  107. package/dist/functions/helpers/min-max.d.ts +1 -1
  108. package/dist/functions/helpers/min-max.js +1 -1
  109. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -2
  110. package/dist/functions/helpers/read-with-progress.d.ts +3 -2
  111. package/dist/functions/helpers/read-with-progress.js +13 -1
  112. package/dist/functions/helpers/validate-composition.d.ts +10 -4
  113. package/dist/functions/helpers/validate-composition.js +7 -1
  114. package/dist/functions/helpers/write-lambda-error.d.ts +1 -1
  115. package/dist/functions/helpers/write-lambda-error.js +1 -0
  116. package/dist/functions/helpers/write-post-render-data.d.ts +2 -2
  117. package/dist/functions/helpers/write-post-render-data.js +1 -0
  118. package/dist/functions/index.d.ts +3 -2
  119. package/dist/functions/index.js +14 -7
  120. package/dist/functions/info.d.ts +2 -2
  121. package/dist/functions/info.js +2 -1
  122. package/dist/functions/launch.d.ts +1 -1
  123. package/dist/functions/launch.js +73 -26
  124. package/dist/functions/progress.d.ts +1 -1
  125. package/dist/functions/progress.js +7 -0
  126. package/dist/functions/renderer.d.ts +1 -1
  127. package/dist/functions/renderer.js +105 -71
  128. package/dist/functions/start.d.ts +6 -2
  129. package/dist/functions/start.js +25 -3
  130. package/dist/functions/still.d.ts +1 -1
  131. package/dist/functions/still.js +26 -7
  132. package/dist/index.d.ts +33 -18
  133. package/dist/pricing/price-per-1-s.d.ts +1 -1
  134. package/dist/shared/aws-clients.d.ts +1 -1
  135. package/dist/shared/bundle-site.d.ts +1 -6
  136. package/dist/shared/call-lambda.d.ts +3 -3
  137. package/dist/shared/check-credentials.js +2 -2
  138. package/dist/shared/constants.d.ts +38 -17
  139. package/dist/shared/constants.js +8 -7
  140. package/dist/shared/content-disposition-header.d.ts +7 -0
  141. package/dist/shared/content-disposition-header.js +19 -0
  142. package/dist/shared/convert-to-serve-url.d.ts +1 -1
  143. package/dist/shared/get-account-id.d.ts +1 -1
  144. package/dist/shared/get-cloudwatch-stream-url.d.ts +8 -0
  145. package/dist/shared/get-cloudwatch-stream-url.js +7 -0
  146. package/dist/shared/get-function-version.d.ts +2 -3
  147. package/dist/shared/get-most-expensive-chunks.d.ts +8 -0
  148. package/dist/shared/get-most-expensive-chunks.js +25 -0
  149. package/dist/shared/hosted-layers.d.ts +2 -2
  150. package/dist/shared/hosted-layers.js +60 -60
  151. package/dist/shared/is-in-lambda.js +5 -1
  152. package/dist/shared/lambda-version-string.d.ts +1 -0
  153. package/dist/shared/lambda-version-string.js +7 -0
  154. package/dist/shared/make-s3-key.d.ts +1 -0
  155. package/dist/shared/make-s3-key.js +11 -0
  156. package/dist/shared/make-s3-url.d.ts +1 -1
  157. package/dist/shared/p-limit.d.ts +1 -0
  158. package/dist/shared/p-limit.js +57 -0
  159. package/dist/shared/random-hash.d.ts +2 -2
  160. package/dist/shared/random-hash.js +1 -1
  161. package/dist/shared/return-values.d.ts +7 -7
  162. package/dist/shared/return-values.js +0 -1
  163. package/dist/shared/stream-to-string.d.ts +2 -1
  164. package/dist/shared/truthy.d.ts +3 -0
  165. package/dist/shared/truthy.js +7 -0
  166. package/dist/shared/validate-aws-region.d.ts +1 -1
  167. package/dist/shared/validate-custom-role-arn.d.ts +1 -0
  168. package/dist/shared/validate-custom-role-arn.js +11 -0
  169. package/dist/shared/validate-download-behavior.d.ts +1 -0
  170. package/dist/shared/validate-download-behavior.js +21 -0
  171. package/dist/shared/validate-frames-per-lambda.js +1 -1
  172. package/dist/shared/validate-lambda-codec.d.ts +4 -0
  173. package/dist/shared/validate-lambda-codec.js +30 -0
  174. package/dist/shared/validate-outname.d.ts +1 -1
  175. package/dist/shared/validate-presign-expiration.d.ts +0 -2
  176. package/dist/shared/validate-presign-expiration.js +7 -7
  177. package/dist/shared/validate-privacy.d.ts +1 -1
  178. package/dist/shared/validate-privacy.js +2 -2
  179. package/package.json +13 -14
  180. package/remotionlambda.zip +0 -0
  181. package/dist/cli/helpers/format-bytes.d.ts +0 -6
  182. package/dist/cli/helpers/format-bytes.js +0 -103
  183. package/dist/shared/chunk.d.ts +0 -1
  184. package/dist/shared/chunk.js +0 -11
@@ -8,13 +8,14 @@ const client_lambda_1 = require("@aws-sdk/client-lambda");
8
8
  const renderer_1 = require("@remotion/renderer");
9
9
  const fs_1 = __importDefault(require("fs"));
10
10
  const path_1 = __importDefault(require("path"));
11
- const remotion_1 = require("remotion");
11
+ const version_1 = require("remotion/version");
12
12
  const estimate_price_1 = require("../api/estimate-price");
13
13
  const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
14
14
  const aws_clients_1 = require("../shared/aws-clients");
15
15
  const constants_1 = require("../shared/constants");
16
16
  const make_s3_url_1 = require("../shared/make-s3-url");
17
17
  const random_hash_1 = require("../shared/random-hash");
18
+ const validate_download_behavior_1 = require("../shared/validate-download-behavior");
18
19
  const validate_outname_1 = require("../shared/validate-outname");
19
20
  const validate_privacy_1 = require("../shared/validate-privacy");
20
21
  const expected_out_name_1 = require("./helpers/expected-out-name");
@@ -27,10 +28,17 @@ const io_1 = require("./helpers/io");
27
28
  const validate_composition_1 = require("./helpers/validate-composition");
28
29
  const write_lambda_error_1 = require("./helpers/write-lambda-error");
29
30
  const innerStillHandler = async (lambdaParams, renderId, options) => {
30
- var _a, _b, _c;
31
+ var _a, _b;
31
32
  if (lambdaParams.type !== constants_1.LambdaRoutines.still) {
32
33
  throw new TypeError('Expected still type');
33
34
  }
35
+ if (lambdaParams.version !== version_1.VERSION) {
36
+ if (!lambdaParams.version) {
37
+ throw new Error(`Version mismatch: When calling renderStillOnLambda(), the deployed Lambda function had version ${version_1.VERSION} but the @remotion/lambda package is an older version. Align the versions.`);
38
+ }
39
+ throw new Error(`Version mismatch: When calling renderStillOnLambda(), get deployed Lambda function had version ${version_1.VERSION} and the @remotion/lambda package has version ${lambdaParams.version}. Align the versions.`);
40
+ }
41
+ (0, validate_download_behavior_1.validateDownloadBehavior)(lambdaParams.downloadBehavior);
34
42
  (0, validate_privacy_1.validatePrivacy)(lambdaParams.privacy);
35
43
  (0, validate_outname_1.validateOutname)(lambdaParams.outName);
36
44
  const start = Date.now();
@@ -38,16 +46,23 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
38
46
  (0, get_or_create_bucket_1.getOrCreateBucket)({
39
47
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
40
48
  }),
41
- (0, get_browser_instance_1.getBrowserInstance)(remotion_1.Internals.Logging.isEqualOrBelowLogLevel((_a = lambdaParams.logLevel) !== null && _a !== void 0 ? _a : remotion_1.Internals.Logging.DEFAULT_LOG_LEVEL, 'verbose'), (_b = lambdaParams.chromiumOptions) !== null && _b !== void 0 ? _b : {}),
49
+ (0, get_browser_instance_1.getBrowserInstance)(renderer_1.RenderInternals.isEqualOrBelowLogLevel(lambdaParams.logLevel, 'verbose'), (_a = lambdaParams.chromiumOptions) !== null && _a !== void 0 ? _a : {}),
42
50
  ]);
43
51
  const outputDir = renderer_1.RenderInternals.tmpDir('remotion-render-');
44
52
  const outputPath = path_1.default.join(outputDir, 'output');
53
+ const downloadMap = renderer_1.RenderInternals.makeDownloadMap();
45
54
  const composition = await (0, validate_composition_1.validateComposition)({
46
55
  serveUrl: lambdaParams.serveUrl,
47
56
  browserInstance,
48
57
  composition: lambdaParams.composition,
49
58
  inputProps: lambdaParams.inputProps,
50
59
  envVariables: lambdaParams.envVariables,
60
+ ffmpegExecutable: null,
61
+ ffprobeExecutable: null,
62
+ chromiumOptions: lambdaParams.chromiumOptions,
63
+ timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
64
+ port: null,
65
+ downloadMap,
51
66
  });
52
67
  const renderMetadata = {
53
68
  startedDate: Date.now(),
@@ -62,12 +77,12 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
62
77
  usesOptimizationProfile: false,
63
78
  imageFormat: lambdaParams.imageFormat,
64
79
  inputProps: lambdaParams.inputProps,
65
- lambdaVersion: constants_1.CURRENT_VERSION,
80
+ lambdaVersion: version_1.VERSION,
66
81
  framesPerLambda: 1,
67
82
  memorySizeInMb: Number(process.env.AWS_LAMBDA_FUNCTION_MEMORY_SIZE),
68
83
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
69
84
  renderId,
70
- outName: (_c = lambdaParams.outName) !== null && _c !== void 0 ? _c : undefined,
85
+ outName: (_b = lambdaParams.outName) !== null && _b !== void 0 ? _b : undefined,
71
86
  };
72
87
  await (0, io_1.lambdaWriteFile)({
73
88
  bucketName,
@@ -76,6 +91,7 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
76
91
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
77
92
  privacy: 'private',
78
93
  expectedBucketOwner: options.expectedBucketOwner,
94
+ downloadBehavior: null,
79
95
  });
80
96
  await (0, renderer_1.renderStill)({
81
97
  composition,
@@ -91,16 +107,19 @@ const innerStillHandler = async (lambdaParams, renderId, options) => {
91
107
  quality: lambdaParams.quality,
92
108
  chromiumOptions: lambdaParams.chromiumOptions,
93
109
  scale: lambdaParams.scale,
110
+ timeoutInMilliseconds: lambdaParams.timeoutInMilliseconds,
111
+ downloadMap,
94
112
  });
95
- const { key: outName, renderBucketName } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
113
+ const { key, renderBucketName } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName);
96
114
  const { size } = await fs_1.default.promises.stat(outputPath);
97
115
  await (0, io_1.lambdaWriteFile)({
98
116
  bucketName: renderBucketName,
99
- key: outName,
117
+ key,
100
118
  privacy: lambdaParams.privacy,
101
119
  body: fs_1.default.createReadStream(outputPath),
102
120
  expectedBucketOwner: options.expectedBucketOwner,
103
121
  region: (0, get_current_region_1.getCurrentRegionInFunction)(),
122
+ downloadBehavior: lambdaParams.downloadBehavior,
104
123
  });
105
124
  await fs_1.default.promises.rm(outputPath, { recursive: true });
106
125
  const estimatedPrice = (0, estimate_price_1.estimatePrice)({
package/dist/index.d.ts CHANGED
@@ -1,25 +1,40 @@
1
- import { deleteFunction, DeleteFunctionInput } from './api/delete-function';
2
- import { deleteSite, DeleteSiteInput, DeleteSiteOutput } from './api/delete-site';
3
- import { deployFunction, DeployFunctionInput, DeployFunctionOutput } from './api/deploy-function';
4
- import { deploySite, DeploySiteInput, DeploySiteOutput } from './api/deploy-site';
5
- import { downloadMedia, DownloadMediaInput, DownloadMediaOutput, downloadVideo } from './api/download-media';
6
- import { estimatePrice, EstimatePriceInput } from './api/estimate-price';
7
- import { getAwsClient, GetAwsClientInput, GetAwsClientOutput } from './api/get-aws-client';
8
- import { FunctionInfo, getFunctionInfo, GetFunctionInfoInput } from './api/get-function-info';
9
- import { getFunctions, GetFunctionsInput } from './api/get-functions';
10
- import { getOrCreateBucket, GetOrCreateBucketInput, GetOrCreateBucketOutput } from './api/get-or-create-bucket';
1
+ import type { DeleteFunctionInput } from './api/delete-function';
2
+ import { deleteFunction } from './api/delete-function';
3
+ import type { DeleteSiteInput, DeleteSiteOutput } from './api/delete-site';
4
+ import { deleteSite } from './api/delete-site';
5
+ import type { DeployFunctionInput, DeployFunctionOutput } from './api/deploy-function';
6
+ import { deployFunction } from './api/deploy-function';
7
+ import type { DeploySiteInput, DeploySiteOutput } from './api/deploy-site';
8
+ import { deploySite } from './api/deploy-site';
9
+ import type { DownloadMediaInput, DownloadMediaOutput } from './api/download-media';
10
+ import { downloadMedia, downloadVideo } from './api/download-media';
11
+ import type { EstimatePriceInput } from './api/estimate-price';
12
+ import { estimatePrice } from './api/estimate-price';
13
+ import type { GetAwsClientInput, GetAwsClientOutput } from './api/get-aws-client';
14
+ import { getAwsClient } from './api/get-aws-client';
15
+ import type { FunctionInfo, GetFunctionInfoInput } from './api/get-function-info';
16
+ import { getFunctionInfo } from './api/get-function-info';
17
+ import type { GetFunctionsInput } from './api/get-functions';
18
+ import { getFunctions } from './api/get-functions';
19
+ import type { GetOrCreateBucketInput, GetOrCreateBucketOutput } from './api/get-or-create-bucket';
20
+ import { getOrCreateBucket } from './api/get-or-create-bucket';
11
21
  import { getRegions } from './api/get-regions';
12
- import { GetRenderInput, getRenderProgress } from './api/get-render-progress';
13
- import { getSites, GetSitesInput, GetSitesOutput } from './api/get-sites';
14
- import { simulatePermissions, SimulatePermissionsInput, SimulatePermissionsOutput } from './api/iam-validation/simulate';
22
+ import type { GetRenderInput } from './api/get-render-progress';
23
+ import { getRenderProgress } from './api/get-render-progress';
24
+ import type { GetSitesInput, GetSitesOutput } from './api/get-sites';
25
+ import { getSites } from './api/get-sites';
26
+ import type { SimulatePermissionsInput, SimulatePermissionsOutput } from './api/iam-validation/simulate';
27
+ import { simulatePermissions } from './api/iam-validation/simulate';
15
28
  import { getRolePolicy, getUserPolicy } from './api/iam-validation/suggested-policy';
16
29
  import { presignUrl } from './api/presign-url';
17
- import { renderMediaOnLambda, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, renderVideoOnLambda } from './api/render-media-on-lambda';
18
- import { renderStillOnLambda, RenderStillOnLambdaInput, RenderStillOnLambdaOutput } from './api/render-still-on-lambda';
19
- import { LambdaLSInput, LambdaLsReturnType } from './functions/helpers/io';
30
+ import type { RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput } from './api/render-media-on-lambda';
31
+ import { renderMediaOnLambda, renderVideoOnLambda } from './api/render-media-on-lambda';
32
+ import type { RenderStillOnLambdaInput, RenderStillOnLambdaOutput } from './api/render-still-on-lambda';
33
+ import { renderStillOnLambda } from './api/render-still-on-lambda';
34
+ import type { LambdaLSInput, LambdaLsReturnType } from './functions/helpers/io';
20
35
  import { LambdaInternals } from './internals';
21
- import { AwsRegion } from './pricing/aws-regions';
36
+ import type { AwsRegion } from './pricing/aws-regions';
22
37
  import type { RenderProgress } from './shared/constants';
23
- import { LambdaArchitecture } from './shared/validate-architecture';
38
+ import type { LambdaArchitecture } from './shared/validate-architecture';
24
39
  export { deleteSite, deployFunction, deploySite, downloadMedia, downloadVideo, getFunctions, getUserPolicy, getRolePolicy, getSites, getOrCreateBucket, getRenderProgress, renderVideoOnLambda, renderMediaOnLambda, simulatePermissions, deleteFunction, getFunctionInfo, estimatePrice, LambdaInternals, renderStillOnLambda, getRegions, getAwsClient, presignUrl, };
25
40
  export type { AwsRegion, RenderProgress, DeploySiteInput, DeploySiteOutput, LambdaLsReturnType, LambdaLSInput, DeleteSiteInput, DeleteSiteOutput, EstimatePriceInput, DeployFunctionInput, DeployFunctionOutput, DeleteFunctionInput, GetFunctionInfoInput, FunctionInfo, GetFunctionsInput, GetSitesInput, GetSitesOutput, DownloadMediaInput, DownloadMediaOutput, GetOrCreateBucketInput, GetOrCreateBucketOutput, GetRenderInput, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, RenderStillOnLambdaInput, RenderStillOnLambdaOutput, SimulatePermissionsInput, SimulatePermissionsOutput, GetAwsClientInput, GetAwsClientOutput, LambdaArchitecture, };
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from './aws-regions';
1
+ import type { AwsRegion } from './aws-regions';
2
2
  export declare const pricing: {
3
3
  [key in AwsRegion]: {
4
4
  'Lambda Duration': {
@@ -3,7 +3,7 @@ import { IAMClient } from '@aws-sdk/client-iam';
3
3
  import { LambdaClient } from '@aws-sdk/client-lambda';
4
4
  import { S3Client } from '@aws-sdk/client-s3';
5
5
  import { ServiceQuotasClient } from '@aws-sdk/client-service-quotas';
6
- import { AwsRegion } from '../pricing/aws-regions';
6
+ import type { AwsRegion } from '../pricing/aws-regions';
7
7
  export declare type ServiceMapping = {
8
8
  s3: S3Client;
9
9
  cloudwatch: CloudWatchLogsClient;
@@ -1,6 +1 @@
1
- export declare const bundleSite: (entryPoint: string, onProgressUpdate?: ((progress: number) => void) | undefined, options?: {
2
- webpackOverride?: import("remotion").WebpackOverrideFn | undefined;
3
- outDir?: string | undefined;
4
- enableCaching?: boolean | undefined;
5
- publicPath?: string | undefined;
6
- } | undefined) => Promise<string>;
1
+ export declare const bundleSite: (entryPoint: string, onProgressUpdate?: ((progress: number) => void) | undefined, options?: import("@remotion/bundler").BundleOptions | undefined) => Promise<string>;
@@ -1,6 +1,6 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { LambdaPayloads, LambdaRoutines } from './constants';
3
- import { LambdaReturnValues } from './return-values';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ import type { LambdaPayloads, LambdaRoutines } from './constants';
3
+ import type { LambdaReturnValues } from './return-values';
4
4
  export declare const callLambda: <T extends LambdaRoutines>({ functionName, type, payload, region, }: {
5
5
  functionName: string;
6
6
  type: T;
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkCredentials = void 0;
4
- const remotion_1 = require("remotion");
5
4
  const is_cli_1 = require("../cli/is-cli");
6
5
  const docs_url_1 = require("./docs-url");
6
+ const truthy_1 = require("./truthy");
7
7
  const messageForVariable = (variable) => {
8
8
  return [
9
9
  `You have tried to call a Remotion Lambda function, but have not set the environment variable ${variable}.`,
@@ -13,7 +13,7 @@ const messageForVariable = (variable) => {
13
13
  `- Please refer to the Remotion Lambda docs (${docs_url_1.DOCS_URL}/docs/lambda/setup) to see how to generate the credentials for your AWS account and then set the environment variables.`,
14
14
  `- For more reasons see the troubleshooting page: ${docs_url_1.DOCS_URL}/docs/lambda/troubleshooting/permissions`,
15
15
  ]
16
- .filter(remotion_1.Internals.truthy)
16
+ .filter(truthy_1.truthy)
17
17
  .join('\n');
18
18
  };
19
19
  const checkCredentials = () => {
@@ -1,9 +1,12 @@
1
- import { ChromiumOptions } from '@remotion/renderer';
2
- import { Codec, FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile, VideoConfig } from 'remotion';
3
- import { ChunkRetry } from '../functions/helpers/get-retry-stats';
4
- import { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
5
- import { AwsRegion } from '../pricing/aws-regions';
6
- import { LambdaArchitecture } from './validate-architecture';
1
+ import type { ChromiumOptions, Codec, FrameRange, ImageFormat, LogLevel, PixelFormat, ProResProfile } from '@remotion/renderer';
2
+ import type { VideoConfig } from 'remotion';
3
+ import type { ChunkRetry } from '../functions/helpers/get-retry-stats';
4
+ import type { EnhancedErrorInfo } from '../functions/helpers/write-lambda-error';
5
+ import type { AwsRegion } from '../pricing/aws-regions';
6
+ import type { DownloadBehavior } from './content-disposition-header';
7
+ import type { ExpensiveChunk } from './get-most-expensive-chunks';
8
+ import type { LambdaArchitecture } from './validate-architecture';
9
+ import type { LambdaCodec } from './validate-lambda-codec';
7
10
  export declare const MIN_MEMORY = 512;
8
11
  export declare const MAX_MEMORY = 10240;
9
12
  export declare const DEFAULT_MEMORY_SIZE = 2048;
@@ -18,7 +21,7 @@ export declare const COMMAND_NOT_FOUND = "Command not found";
18
21
  export declare const DEFAULT_REGION: AwsRegion;
19
22
  export declare const DEFAULT_MAX_RETRIES = 1;
20
23
  export declare const MAX_FUNCTIONS_PER_RENDER = 200;
21
- export declare const DEFAULT_EPHEMERAL_STORAGE_IN_MB = 512;
24
+ export declare const DEFAULT_EPHEMERAL_STORAGE_IN_MB = 2048;
22
25
  export declare const MIN_EPHEMERAL_STORAGE_IN_MB = 512;
23
26
  export declare const MAX_EPHEMERAL_STORAGE_IN_MB = 10240;
24
27
  export declare const DEFAULT_OUTPUT_PRIVACY: Privacy;
@@ -29,8 +32,9 @@ export declare const LOG_GROUP_PREFIX = "/aws/lambda/";
29
32
  export declare const rendersPrefix: (renderId: string) => string;
30
33
  export declare const encodingProgressKey: (renderId: string) => string;
31
34
  export declare const renderMetadataKey: (renderId: string) => string;
32
- export declare const lambdaInitializedPrefix: (renderId: string) => string;
33
- export declare const lambdaInitializedKey: ({ renderId, chunk, attempt, }: {
35
+ export declare const initalizedMetadataKey: (renderId: string) => string;
36
+ export declare const lambdaChunkInitializedPrefix: (renderId: string) => string;
37
+ export declare const lambdaChunkInitializedKey: ({ renderId, chunk, attempt, }: {
34
38
  attempt: number;
35
39
  renderId: string;
36
40
  chunk: number;
@@ -91,7 +95,7 @@ export declare type LambdaPayloads = {
91
95
  composition: string;
92
96
  framesPerLambda: number | null;
93
97
  inputProps: unknown;
94
- codec: Codec;
98
+ codec: LambdaCodec;
95
99
  imageFormat: ImageFormat;
96
100
  crf: number | undefined;
97
101
  envVariables: Record<string, string> | undefined;
@@ -106,6 +110,12 @@ export declare type LambdaPayloads = {
106
110
  timeoutInMilliseconds: number;
107
111
  chromiumOptions: ChromiumOptions;
108
112
  scale: number;
113
+ everyNthFrame: number;
114
+ numberOfGifLoops: number | null;
115
+ concurrencyPerLambda: number;
116
+ downloadBehavior: DownloadBehavior;
117
+ muted: boolean;
118
+ version: string;
109
119
  };
110
120
  launch: {
111
121
  type: LambdaRoutines.launch;
@@ -116,7 +126,7 @@ export declare type LambdaPayloads = {
116
126
  inputProps: unknown;
117
127
  renderId: string;
118
128
  imageFormat: ImageFormat;
119
- codec: Codec;
129
+ codec: LambdaCodec;
120
130
  crf: number | undefined;
121
131
  envVariables: Record<string, string> | undefined;
122
132
  pixelFormat: PixelFormat | undefined;
@@ -130,13 +140,20 @@ export declare type LambdaPayloads = {
130
140
  timeoutInMilliseconds: number;
131
141
  chromiumOptions: ChromiumOptions;
132
142
  scale: number;
143
+ everyNthFrame: number;
144
+ numberOfGifLoops: number | null;
145
+ concurrencyPerLambda: number;
146
+ downloadBehavior: DownloadBehavior;
147
+ muted: boolean;
133
148
  };
134
149
  status: {
135
150
  type: LambdaRoutines.status;
136
151
  bucketName: string;
137
152
  renderId: string;
153
+ version: string;
138
154
  };
139
155
  renderer: {
156
+ concurrencyPerLambda: number;
140
157
  type: LambdaRoutines.renderer;
141
158
  serveUrl: string;
142
159
  frameRange: [number, number];
@@ -151,7 +168,7 @@ export declare type LambdaPayloads = {
151
168
  inputProps: unknown;
152
169
  renderId: string;
153
170
  imageFormat: ImageFormat;
154
- codec: Codec;
171
+ codec: Exclude<Codec, 'h264'>;
155
172
  crf: number | undefined;
156
173
  proResProfile: ProResProfile | undefined;
157
174
  pixelFormat: PixelFormat | undefined;
@@ -163,6 +180,8 @@ export declare type LambdaPayloads = {
163
180
  timeoutInMilliseconds: number;
164
181
  chromiumOptions: ChromiumOptions;
165
182
  scale: number;
183
+ everyNthFrame: number;
184
+ muted: boolean;
166
185
  };
167
186
  still: {
168
187
  type: LambdaRoutines.still;
@@ -177,10 +196,12 @@ export declare type LambdaPayloads = {
177
196
  frame: number;
178
197
  privacy: Privacy;
179
198
  logLevel: LogLevel;
180
- outName: string | null;
199
+ outName: OutNameInput | null;
181
200
  timeoutInMilliseconds: number;
182
201
  chromiumOptions: ChromiumOptions;
183
202
  scale: number;
203
+ downloadBehavior: DownloadBehavior | null;
204
+ version: string;
184
205
  };
185
206
  };
186
207
  export declare type LambdaPayload = LambdaPayloads[LambdaRoutines];
@@ -205,13 +226,11 @@ export declare type RenderMetadata = {
205
226
  inputProps: unknown;
206
227
  framesPerLambda: number;
207
228
  memorySizeInMb: number;
208
- lambdaVersion: LambdaVersions;
229
+ lambdaVersion: string;
209
230
  region: AwsRegion;
210
231
  renderId: string;
211
232
  outName: OutNameInput | undefined;
212
233
  };
213
- export declare type LambdaVersions = '2022-05-16' | '2022-05-11' | '2022-05-07' | '2022-05-06' | '2022-05-03' | '2022-04-20' | '2022-04-19' | '2022-04-18' | '2022-04-09' | '2022-04-08' | '2022-04-05' | '2022-04-02' | '2022-03-29' | '2022-03-17' | '2022-03-02' | '2022-03-01' | '2022-02-27' | '2022-02-14' | '2022-02-12' | '2022-02-09' | '2022-02-08' | '2022-02-07' | '2022-02-06' | '2022-02-05' | '2022-02-04' | '2022-02-03' | '2022-01-23' | '2022-01-19' | '2022-01-11' | '2022-01-10' | '2022-01-09' | '2022-01-06' | '2022-01-05' | '2021-12-22' | '2021-12-17' | '2021-12-16' | '2021-12-15' | '2021-12-14' | '2021-12-13' | '2021-12-11' | '2021-12-10' | '2021-12-04' | '2021-11-29' | '2021-11-27' | '2021-11-24' | '2021-11-22' | '2021-11-19' | '2021-11-18' | '2021-11-15' | '2021-11-12' | '2021-11-10' | '2021-11-01' | '2021-10-29' | '2021-10-27' | '2021-10-21' | '2021-10-19' | '2021-10-07' | '2021-10-03' | '2021-10-01' | '2021-09-15' | '2021-09-06' | '2021-08-06' | '2021-07-14' | '2021-07-05' | '2021-07-02' | '2021-06-23' | 'n/a';
214
- export declare const CURRENT_VERSION: LambdaVersions;
215
234
  export declare type PostRenderData = {
216
235
  cost: {
217
236
  estimatedCost: number;
@@ -233,6 +252,7 @@ export declare type PostRenderData = {
233
252
  timeToRenderChunks: number;
234
253
  timeToInvokeLambdas: number;
235
254
  retriesInfo: ChunkRetry[];
255
+ mostExpensiveFrameRanges: ExpensiveChunk[] | undefined;
236
256
  };
237
257
  export declare type CostsInfo = {
238
258
  accruedSoFar: number;
@@ -267,7 +287,8 @@ export declare type RenderProgress = {
267
287
  timeToInvokeLambdas: number | null;
268
288
  overallProgress: number;
269
289
  retriesInfo: ChunkRetry[];
290
+ mostExpensiveFrameRanges: ExpensiveChunk[] | null;
270
291
  };
271
- export declare type Privacy = 'public' | 'private';
292
+ export declare type Privacy = 'public' | 'private' | 'no-acl';
272
293
  export declare const LAMBDA_CONCURRENCY_LIMIT_QUOTA = "L-B99A9384";
273
294
  export declare const LAMBDA_BURST_LIMIT_QUOTA = "L-548AE339";
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.LAMBDA_BURST_LIMIT_QUOTA = exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = exports.CURRENT_VERSION = exports.LambdaRoutines = exports.REMOTION_FILELIST_TOKEN = exports.REMOTION_CONCATED_TOKEN = exports.CONCAT_FOLDER_TOKEN = exports.RENDERER_PATH_TOKEN = exports.postRenderDataKey = exports.customOutName = exports.outStillName = exports.outName = exports.getSitesKey = exports.optimizationProfile = exports.getErrorFileName = exports.getErrorKeyPrefix = exports.chunkKeyForIndex = exports.chunkKey = exports.lambdaTimingsKey = exports.lambdaLogsPrefix = exports.lambdaTimingsPrefixForChunk = exports.lambdaTimingsPrefix = exports.lambdaInitializedKey = exports.lambdaInitializedPrefix = exports.renderMetadataKey = exports.encodingProgressKey = exports.rendersPrefix = exports.LOG_GROUP_PREFIX = exports.RENDER_FN_PREFIX = exports.REMOTION_BUCKET_PREFIX = exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = exports.DEFAULT_OUTPUT_PRIVACY = exports.MAX_EPHEMERAL_STORAGE_IN_MB = exports.MIN_EPHEMERAL_STORAGE_IN_MB = exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = exports.MAX_FUNCTIONS_PER_RENDER = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_REGION = exports.COMMAND_NOT_FOUND = exports.BINARY_NAME = exports.DEFAULT_FRAMES_PER_LAMBDA = exports.MINIMUM_FRAMES_PER_LAMBDA = exports.MAX_TIMEOUT = exports.MIN_TIMEOUT = exports.DEFAULT_TIMEOUT = exports.DEFAULT_ARCHITECTURE = exports.DEFAULT_MEMORY_SIZE = exports.MAX_MEMORY = exports.MIN_MEMORY = void 0;
3
+ exports.LAMBDA_BURST_LIMIT_QUOTA = exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = exports.LambdaRoutines = exports.REMOTION_FILELIST_TOKEN = exports.REMOTION_CONCATED_TOKEN = exports.CONCAT_FOLDER_TOKEN = exports.RENDERER_PATH_TOKEN = exports.postRenderDataKey = exports.customOutName = exports.outStillName = exports.outName = exports.getSitesKey = exports.optimizationProfile = exports.getErrorFileName = exports.getErrorKeyPrefix = exports.chunkKeyForIndex = exports.chunkKey = exports.lambdaTimingsKey = exports.lambdaLogsPrefix = exports.lambdaTimingsPrefixForChunk = exports.lambdaTimingsPrefix = exports.lambdaChunkInitializedKey = exports.lambdaChunkInitializedPrefix = exports.initalizedMetadataKey = exports.renderMetadataKey = exports.encodingProgressKey = exports.rendersPrefix = exports.LOG_GROUP_PREFIX = exports.RENDER_FN_PREFIX = exports.REMOTION_BUCKET_PREFIX = exports.DEFAULT_CLOUDWATCH_RETENTION_PERIOD = exports.DEFAULT_OUTPUT_PRIVACY = exports.MAX_EPHEMERAL_STORAGE_IN_MB = exports.MIN_EPHEMERAL_STORAGE_IN_MB = exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = exports.MAX_FUNCTIONS_PER_RENDER = exports.DEFAULT_MAX_RETRIES = exports.DEFAULT_REGION = exports.COMMAND_NOT_FOUND = exports.BINARY_NAME = exports.DEFAULT_FRAMES_PER_LAMBDA = exports.MINIMUM_FRAMES_PER_LAMBDA = exports.MAX_TIMEOUT = exports.MIN_TIMEOUT = exports.DEFAULT_TIMEOUT = exports.DEFAULT_ARCHITECTURE = exports.DEFAULT_MEMORY_SIZE = exports.MAX_MEMORY = exports.MIN_MEMORY = void 0;
4
4
  exports.MIN_MEMORY = 512;
5
5
  exports.MAX_MEMORY = 10240;
6
6
  exports.DEFAULT_MEMORY_SIZE = 2048;
@@ -15,7 +15,7 @@ exports.COMMAND_NOT_FOUND = 'Command not found';
15
15
  exports.DEFAULT_REGION = 'us-east-1';
16
16
  exports.DEFAULT_MAX_RETRIES = 1;
17
17
  exports.MAX_FUNCTIONS_PER_RENDER = 200;
18
- exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = 512;
18
+ exports.DEFAULT_EPHEMERAL_STORAGE_IN_MB = 2048;
19
19
  exports.MIN_EPHEMERAL_STORAGE_IN_MB = 512;
20
20
  exports.MAX_EPHEMERAL_STORAGE_IN_MB = 10240;
21
21
  exports.DEFAULT_OUTPUT_PRIVACY = 'public';
@@ -29,10 +29,12 @@ const encodingProgressKey = (renderId) => `${(0, exports.rendersPrefix)(renderId
29
29
  exports.encodingProgressKey = encodingProgressKey;
30
30
  const renderMetadataKey = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/pre-render-metadata.json`;
31
31
  exports.renderMetadataKey = renderMetadataKey;
32
- const lambdaInitializedPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-initialized`;
33
- exports.lambdaInitializedPrefix = lambdaInitializedPrefix;
34
- const lambdaInitializedKey = ({ renderId, chunk, attempt, }) => `${(0, exports.lambdaInitializedPrefix)(renderId)}-chunk:${chunk}-attempt:${attempt}.txt`;
35
- exports.lambdaInitializedKey = lambdaInitializedKey;
32
+ const initalizedMetadataKey = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/initialized.txt`;
33
+ exports.initalizedMetadataKey = initalizedMetadataKey;
34
+ const lambdaChunkInitializedPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-initialized`;
35
+ exports.lambdaChunkInitializedPrefix = lambdaChunkInitializedPrefix;
36
+ const lambdaChunkInitializedKey = ({ renderId, chunk, attempt, }) => `${(0, exports.lambdaChunkInitializedPrefix)(renderId)}-chunk:${chunk}-attempt:${attempt}.txt`;
37
+ exports.lambdaChunkInitializedKey = lambdaChunkInitializedKey;
36
38
  const lambdaTimingsPrefix = (renderId) => `${(0, exports.rendersPrefix)(renderId)}/lambda-timings/chunk:`;
37
39
  exports.lambdaTimingsPrefix = lambdaTimingsPrefix;
38
40
  const lambdaTimingsPrefixForChunk = (renderId, chunk) => (0, exports.lambdaTimingsPrefix)(renderId) + String(chunk).padStart(8, '0');
@@ -84,6 +86,5 @@ var LambdaRoutines;
84
86
  LambdaRoutines["renderer"] = "renderer";
85
87
  LambdaRoutines["still"] = "still";
86
88
  })(LambdaRoutines = exports.LambdaRoutines || (exports.LambdaRoutines = {}));
87
- exports.CURRENT_VERSION = '2022-05-16';
88
89
  exports.LAMBDA_CONCURRENCY_LIMIT_QUOTA = 'L-B99A9384';
89
90
  exports.LAMBDA_BURST_LIMIT_QUOTA = 'L-548AE339';
@@ -0,0 +1,7 @@
1
+ export declare type DownloadBehavior = {
2
+ type: 'play-in-browser';
3
+ } | {
4
+ type: 'download';
5
+ fileName: string | null;
6
+ };
7
+ export declare const getContentDispositionHeader: (behavior: DownloadBehavior | null) => string | undefined;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ // By setting the Content-Disposition header in an S3 object,
3
+ // you can control if the user downloads the item if you
4
+ // visit the link
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getContentDispositionHeader = void 0;
7
+ const getContentDispositionHeader = (behavior) => {
8
+ if (behavior === null) {
9
+ return undefined;
10
+ }
11
+ if (behavior.type === 'play-in-browser') {
12
+ return undefined;
13
+ }
14
+ if (behavior.fileName === null) {
15
+ return `attachment`;
16
+ }
17
+ return `attachment; filename="${behavior.fileName}"`;
18
+ };
19
+ exports.getContentDispositionHeader = getContentDispositionHeader;
@@ -1,2 +1,2 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare const convertToServeUrl: (urlOrId: string, region: AwsRegion) => Promise<string>;
@@ -1,4 +1,4 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
2
  export declare const getAccountId: (options: {
3
3
  region: AwsRegion;
4
4
  }) => Promise<string>;
@@ -0,0 +1,8 @@
1
+ import type { AwsRegion } from '../client';
2
+ import type { LambdaRoutines } from './constants';
3
+ export declare const getCloudwatchStreamUrl: ({ region, functionName, method, renderId, }: {
4
+ region: AwsRegion;
5
+ functionName: string;
6
+ method: LambdaRoutines;
7
+ renderId: string;
8
+ }) => string;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCloudwatchStreamUrl = void 0;
4
+ const getCloudwatchStreamUrl = ({ region, functionName, method, renderId, }) => {
5
+ return `https://${region}.console.aws.amazon.com/cloudwatch/home?region=${region}#logsV2:log-groups/log-group/$252Faws$252Flambda$252F${functionName}/log-events$3FfilterPattern$3D$2522method$253D${method}$252CrenderId$253D${renderId}$2522`;
6
+ };
7
+ exports.getCloudwatchStreamUrl = getCloudwatchStreamUrl;
@@ -1,6 +1,5 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { LambdaVersions } from './constants';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
3
2
  export declare const getFunctionVersion: ({ functionName, region, }: {
4
3
  functionName: string;
5
4
  region: AwsRegion;
6
- }) => Promise<LambdaVersions>;
5
+ }) => Promise<string>;
@@ -0,0 +1,8 @@
1
+ import type { ParsedTiming } from './parse-lambda-timings-key';
2
+ export declare const OVERHEAD_TIME_PER_LAMBDA = 100;
3
+ export declare type ExpensiveChunk = {
4
+ chunk: number;
5
+ frameRange: [number, number];
6
+ timeInMilliseconds: number;
7
+ };
8
+ export declare const getMostExpensiveChunks: (parsedTimings: ParsedTiming[], framesPerLambda: number) => ExpensiveChunk[];
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getMostExpensiveChunks = exports.OVERHEAD_TIME_PER_LAMBDA = void 0;
4
+ exports.OVERHEAD_TIME_PER_LAMBDA = 100;
5
+ const getMostExpensiveChunks = (parsedTimings, framesPerLambda) => {
6
+ const mostExpensiveChunks = parsedTimings
7
+ .slice(0)
8
+ .sort((a, b) => {
9
+ const durA = a.rendered - a.start;
10
+ const durB = b.rendered - b.start;
11
+ return durB - durA;
12
+ })
13
+ .slice(0, 5);
14
+ return mostExpensiveChunks.map((c) => {
15
+ return {
16
+ timeInMilliseconds: c.rendered - c.start,
17
+ chunk: c.chunk,
18
+ frameRange: [
19
+ framesPerLambda * c.chunk,
20
+ framesPerLambda * (c.chunk + 1) - 1,
21
+ ],
22
+ };
23
+ });
24
+ };
25
+ exports.getMostExpensiveChunks = getMostExpensiveChunks;
@@ -1,5 +1,5 @@
1
- import { AwsRegion } from '../pricing/aws-regions';
2
- import { LambdaArchitecture } from './validate-architecture';
1
+ import type { AwsRegion } from '../pricing/aws-regions';
2
+ import type { LambdaArchitecture } from './validate-architecture';
3
3
  export declare const REMOTION_HOSTED_LAYER_ARN = "arn:aws:lambda:*:678892195805:layer:remotion-binaries-*";
4
4
  export declare type HostedLayers = {
5
5
  [architecture in LambdaArchitecture]: {