@remotion/lambda 4.0.187 → 4.0.189

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 (230) hide show
  1. package/dist/api/__mocks__/clean-items.d.ts +2 -0
  2. package/dist/api/__mocks__/clean-items.js +24 -0
  3. package/dist/api/__mocks__/create-function.d.ts +2 -0
  4. package/dist/api/__mocks__/create-function.js +21 -0
  5. package/dist/api/__mocks__/delete-function.d.ts +2 -0
  6. package/dist/api/__mocks__/delete-function.js +9 -0
  7. package/dist/api/__mocks__/get-functions.d.ts +2 -0
  8. package/dist/api/__mocks__/get-functions.js +9 -0
  9. package/dist/api/__mocks__/upload-dir.d.ts +3 -0
  10. package/dist/api/__mocks__/upload-dir.js +47 -0
  11. package/dist/api/bucket-exists.d.ts +3 -6
  12. package/dist/api/bucket-exists.js +5 -5
  13. package/dist/api/clean-items.d.ts +4 -3
  14. package/dist/api/clean-items.js +7 -7
  15. package/dist/api/create-bucket.d.ts +3 -5
  16. package/dist/api/create-bucket.js +6 -6
  17. package/dist/api/create-function.d.ts +1 -1
  18. package/dist/api/delete-function.d.ts +1 -1
  19. package/dist/api/delete-render.d.ts +10 -3
  20. package/dist/api/delete-render.js +27 -19
  21. package/dist/api/delete-site.d.ts +7 -2
  22. package/dist/api/delete-site.js +23 -15
  23. package/dist/api/deploy-function.d.ts +1 -1
  24. package/dist/api/deploy-function.js +2 -2
  25. package/dist/api/deploy-site.d.ts +9 -5
  26. package/dist/api/deploy-site.js +11 -12
  27. package/dist/api/download-media.d.ts +8 -3
  28. package/dist/api/download-media.js +24 -15
  29. package/dist/api/estimate-price.d.ts +1 -1
  30. package/dist/api/get-aws-client.d.ts +4 -2
  31. package/dist/api/get-aws-client.js +2 -2
  32. package/dist/api/get-buckets.d.ts +4 -4
  33. package/dist/api/get-buckets.js +12 -14
  34. package/dist/api/get-compositions-on-lambda.js +7 -6
  35. package/dist/api/get-function-info.d.ts +1 -1
  36. package/dist/api/get-functions.d.ts +1 -1
  37. package/dist/api/get-or-create-bucket.d.ts +3 -19
  38. package/dist/api/get-or-create-bucket.js +5 -39
  39. package/dist/api/get-regions.d.ts +1 -1
  40. package/dist/api/get-regions.js +1 -2
  41. package/dist/api/get-render-progress.d.ts +4 -3
  42. package/dist/api/get-render-progress.js +2 -2
  43. package/dist/api/get-sites.d.ts +6 -1
  44. package/dist/api/get-sites.js +21 -14
  45. package/dist/api/iam-validation/role-permissions.js +2 -1
  46. package/dist/api/iam-validation/simulate-rule.d.ts +1 -1
  47. package/dist/api/iam-validation/simulate.d.ts +1 -1
  48. package/dist/api/iam-validation/user-permissions.js +2 -1
  49. package/dist/api/make-lambda-payload.d.ts +8 -9
  50. package/dist/api/make-lambda-payload.js +17 -14
  51. package/dist/api/mock-functions.d.ts +1 -1
  52. package/dist/api/presign-url.d.ts +1 -1
  53. package/dist/api/presign-url.js +4 -4
  54. package/dist/api/render-media-on-lambda.d.ts +5 -6
  55. package/dist/api/render-media-on-lambda.js +5 -5
  56. package/dist/api/render-still-on-lambda.d.ts +8 -6
  57. package/dist/api/render-still-on-lambda.js +6 -5
  58. package/dist/api/upload-dir.d.ts +2 -2
  59. package/dist/api/upload-dir.js +2 -2
  60. package/dist/cli/args.d.ts +2 -3
  61. package/dist/cli/commands/render/progress.d.ts +2 -2
  62. package/dist/cli/commands/render/progress.js +6 -5
  63. package/dist/cli/commands/render/render.d.ts +3 -1
  64. package/dist/cli/commands/render/render.js +3 -2
  65. package/dist/cli/commands/sites/create.d.ts +3 -1
  66. package/dist/cli/commands/sites/create.js +6 -5
  67. package/dist/cli/commands/sites/index.d.ts +3 -1
  68. package/dist/cli/commands/sites/index.js +4 -4
  69. package/dist/cli/commands/sites/rm.d.ts +3 -1
  70. package/dist/cli/commands/sites/rm.js +4 -3
  71. package/dist/cli/commands/sites/rmall.d.ts +3 -1
  72. package/dist/cli/commands/sites/rmall.js +4 -3
  73. package/dist/cli/commands/still.d.ts +3 -1
  74. package/dist/cli/commands/still.js +3 -2
  75. package/dist/cli/get-aws-region.d.ts +1 -1
  76. package/dist/cli/helpers/__mocks__/quit.d.ts +1 -0
  77. package/dist/cli/helpers/__mocks__/quit.js +7 -0
  78. package/dist/cli/index.d.ts +3 -1
  79. package/dist/cli/index.js +8 -7
  80. package/dist/client.d.ts +4 -5
  81. package/dist/functions/aws-implementation.d.ts +11 -0
  82. package/dist/functions/aws-implementation.js +49 -0
  83. package/dist/functions/chunk-optimization/plan-frame-ranges.d.ts +4 -1
  84. package/dist/functions/compositions.d.ts +3 -2
  85. package/dist/functions/compositions.js +18 -15
  86. package/dist/functions/helpers/__mocks__/get-browser-instance.d.ts +3 -0
  87. package/dist/functions/helpers/__mocks__/get-browser-instance.js +12 -0
  88. package/dist/functions/helpers/__mocks__/leak-detection.d.ts +4 -0
  89. package/dist/functions/helpers/__mocks__/leak-detection.js +9 -0
  90. package/dist/functions/helpers/__mocks__/timer.d.ts +2 -0
  91. package/dist/functions/helpers/__mocks__/timer.js +10 -0
  92. package/dist/functions/helpers/calculate-price-from-bucket.d.ts +5 -3
  93. package/dist/functions/helpers/calculate-price-from-bucket.js +2 -3
  94. package/dist/functions/helpers/cleanup-props.d.ts +4 -2
  95. package/dist/functions/helpers/cleanup-props.js +5 -4
  96. package/dist/functions/helpers/concat-videos.d.ts +2 -2
  97. package/dist/functions/helpers/create-post-render-data.d.ts +8 -8
  98. package/dist/functions/helpers/create-post-render-data.js +1 -1
  99. package/dist/functions/helpers/expected-out-name.d.ts +4 -4
  100. package/dist/functions/helpers/find-output-file-in-bucket.d.ts +8 -7
  101. package/dist/functions/helpers/find-output-file-in-bucket.js +5 -6
  102. package/dist/functions/helpers/get-browser-instance.d.ts +3 -2
  103. package/dist/functions/helpers/get-browser-instance.js +3 -4
  104. package/dist/functions/helpers/get-current-region.d.ts +1 -1
  105. package/dist/functions/helpers/get-current-region.js +3 -3
  106. package/dist/functions/helpers/get-custom-out-name.d.ts +5 -5
  107. package/dist/functions/helpers/get-folder-files.d.ts +2 -0
  108. package/dist/functions/helpers/get-folder-files.js +38 -0
  109. package/dist/functions/helpers/get-output-url-from-metadata.d.ts +4 -3
  110. package/dist/functions/helpers/get-output-url-from-metadata.js +4 -5
  111. package/dist/functions/helpers/get-overall-progress-s3.d.ts +5 -4
  112. package/dist/functions/helpers/get-overall-progress-s3.js +5 -7
  113. package/dist/functions/helpers/get-progress.d.ts +8 -7
  114. package/dist/functions/helpers/get-progress.js +7 -5
  115. package/dist/functions/helpers/inspect-errors.d.ts +1 -1
  116. package/dist/functions/helpers/inspect-errors.js +4 -4
  117. package/dist/functions/helpers/io.d.ts +3 -36
  118. package/dist/functions/helpers/io.js +3 -104
  119. package/dist/functions/helpers/lifecycle.d.ts +3 -9
  120. package/dist/functions/helpers/lifecycle.js +6 -16
  121. package/dist/functions/helpers/make-aws-artifact.d.ts +3 -0
  122. package/dist/functions/helpers/make-aws-artifact.js +12 -0
  123. package/dist/functions/helpers/make-timeout-error.d.ts +5 -4
  124. package/dist/functions/helpers/make-timeout-error.js +2 -1
  125. package/dist/functions/helpers/make-timeout-message.d.ts +5 -3
  126. package/dist/functions/helpers/make-timeout-message.js +8 -9
  127. package/dist/functions/helpers/merge-chunks.d.ts +10 -10
  128. package/dist/functions/helpers/merge-chunks.js +7 -8
  129. package/dist/functions/helpers/overall-render-progress.d.ts +18 -23
  130. package/dist/functions/helpers/overall-render-progress.js +5 -5
  131. package/dist/functions/helpers/print-cloudwatch-helper.d.ts +2 -2
  132. package/dist/functions/helpers/print-logging-helper.d.ts +4 -0
  133. package/dist/functions/helpers/print-logging-helper.js +12 -0
  134. package/dist/functions/helpers/read-with-progress.d.ts +4 -3
  135. package/dist/functions/helpers/read-with-progress.js +2 -2
  136. package/dist/functions/helpers/render-has-audio-video.d.ts +3 -2
  137. package/dist/functions/helpers/stream-renderer.d.ts +7 -4
  138. package/dist/functions/helpers/stream-renderer.js +11 -10
  139. package/dist/functions/helpers/streamify-response.d.ts +0 -20
  140. package/dist/functions/helpers/streamify-response.js +1 -62
  141. package/dist/functions/helpers/validate-composition.d.ts +5 -3
  142. package/dist/functions/helpers/validate-composition.js +2 -3
  143. package/dist/functions/index.d.ts +5 -3
  144. package/dist/functions/index.js +98 -72
  145. package/dist/functions/info.d.ts +1 -1
  146. package/dist/functions/info.js +2 -2
  147. package/dist/functions/launch.d.ts +3 -2
  148. package/dist/functions/launch.js +55 -41
  149. package/dist/functions/progress.d.ts +6 -3
  150. package/dist/functions/progress.js +5 -4
  151. package/dist/functions/provider-implementation.d.ts +0 -0
  152. package/dist/functions/provider-implementation.js +1 -0
  153. package/dist/functions/renderer.d.ts +9 -3
  154. package/dist/functions/renderer.js +41 -22
  155. package/dist/functions/start.d.ts +3 -2
  156. package/dist/functions/start.js +13 -16
  157. package/dist/functions/still.d.ts +8 -18
  158. package/dist/functions/still.js +48 -46
  159. package/dist/index.d.ts +6 -7
  160. package/dist/internals.d.ts +18 -14
  161. package/dist/io/delete-file.d.ts +3 -0
  162. package/dist/io/delete-file.js +12 -0
  163. package/dist/io/head-file.d.ts +3 -0
  164. package/dist/io/head-file.js +13 -0
  165. package/dist/io/list-objects.d.ts +3 -0
  166. package/dist/io/list-objects.js +58 -0
  167. package/dist/io/read-file.d.ts +9 -0
  168. package/dist/io/read-file.js +14 -0
  169. package/dist/io/write-file.d.ts +5 -0
  170. package/dist/io/write-file.js +51 -0
  171. package/dist/pricing/aws-regions.d.ts +0 -3
  172. package/dist/pricing/aws-regions.js +0 -44
  173. package/dist/pricing/price-per-1-s.d.ts +1 -1
  174. package/dist/regions.d.ts +3 -2
  175. package/dist/regions.js +43 -3
  176. package/dist/shared/__mocks__/aws-clients.d.ts +2 -0
  177. package/dist/shared/__mocks__/aws-clients.js +62 -0
  178. package/dist/shared/__mocks__/bundle-site.d.ts +2 -0
  179. package/dist/shared/__mocks__/bundle-site.js +32 -0
  180. package/dist/shared/__mocks__/check-credentials.d.ts +1 -0
  181. package/dist/shared/__mocks__/check-credentials.js +5 -0
  182. package/dist/shared/__mocks__/get-account-id.d.ts +2 -0
  183. package/dist/shared/__mocks__/get-account-id.js +11 -0
  184. package/dist/shared/__mocks__/read-dir.d.ts +2 -0
  185. package/dist/shared/__mocks__/read-dir.js +13 -0
  186. package/dist/shared/aws-clients.d.ts +6 -29
  187. package/dist/shared/aws-clients.js +7 -177
  188. package/dist/shared/call-lambda.d.ts +8 -9
  189. package/dist/shared/call-lambda.js +16 -3
  190. package/dist/shared/check-credentials.js +2 -2
  191. package/dist/shared/cleanup-serialized-input-props.d.ts +8 -6
  192. package/dist/shared/cleanup-serialized-input-props.js +7 -8
  193. package/dist/shared/compress-props.d.ts +8 -6
  194. package/dist/shared/compress-props.js +11 -14
  195. package/dist/shared/constants.d.ts +10 -288
  196. package/dist/shared/constants.js +1 -46
  197. package/dist/shared/content-disposition-header.d.ts +1 -6
  198. package/dist/shared/content-disposition-header.js +2 -2
  199. package/dist/shared/convert-to-serve-url.d.ts +2 -2
  200. package/dist/shared/convert-to-serve-url.js +3 -3
  201. package/dist/shared/get-account-id.d.ts +1 -1
  202. package/dist/shared/get-aws-urls.d.ts +2 -2
  203. package/dist/shared/get-credentials.d.ts +9 -0
  204. package/dist/shared/get-credentials.js +53 -0
  205. package/dist/shared/get-function-version.d.ts +1 -1
  206. package/dist/shared/get-function-version.js +2 -1
  207. package/dist/shared/get-s3-client.d.ts +5 -0
  208. package/dist/shared/get-s3-client.js +13 -0
  209. package/dist/shared/get-service-client.d.ts +22 -0
  210. package/dist/shared/get-service-client.js +117 -0
  211. package/dist/shared/hosted-layers.d.ts +1 -1
  212. package/dist/shared/invoke-webhook.d.ts +1 -1
  213. package/dist/shared/lambda-insights-extensions.d.ts +1 -1
  214. package/dist/shared/lifecycle-rules.d.ts +4 -3
  215. package/dist/shared/lifecycle-rules.js +3 -3
  216. package/dist/shared/make-s3-url.d.ts +1 -1
  217. package/dist/shared/random-hash.d.ts +1 -3
  218. package/dist/shared/random-hash.js +3 -4
  219. package/dist/shared/return-values.d.ts +10 -11
  220. package/dist/shared/validate-aws-region.d.ts +1 -1
  221. package/dist/shared/validate-aws-region.js +3 -3
  222. package/dist/shared/validate-bucketname.d.ts +0 -4
  223. package/dist/shared/validate-bucketname.js +3 -23
  224. package/dist/shared/validate-lambda-codec.d.ts +2 -4
  225. package/dist/shared/validate-lambda-codec.js +3 -13
  226. package/dist/shared/validate-outname.js +2 -2
  227. package/dist/shared/validate-privacy.d.ts +1 -1
  228. package/dist/shared/validate-webhook.d.ts +1 -1
  229. package/package.json +11 -9
  230. package/remotionlambda-arm64.zip +0 -0
@@ -0,0 +1 @@
1
+ export declare const quit: (exitCode: number) => never;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.quit = void 0;
4
+ const quit = (exitCode) => {
5
+ throw new Error(`Exited process with code ${exitCode}`);
6
+ };
7
+ exports.quit = quit;
@@ -1,3 +1,5 @@
1
1
  import type { LogLevel } from '@remotion/renderer';
2
- export declare const executeCommand: (args: string[], remotionRoot: string, logLevel: LogLevel) => Promise<void>;
2
+ import type { ProviderSpecifics } from '@remotion/serverless';
3
+ import type { AwsProvider } from '../functions/aws-implementation';
4
+ export declare const executeCommand: (args: string[], remotionRoot: string, logLevel: LogLevel, implementation: ProviderSpecifics<AwsProvider> | null) => Promise<void>;
3
5
  export declare const cli: (logLevel: LogLevel) => Promise<void>;
package/dist/cli/index.js CHANGED
@@ -5,6 +5,7 @@ const cli_1 = require("@remotion/cli");
5
5
  const renderer_1 = require("@remotion/renderer");
6
6
  const suggested_policy_1 = require("../api/iam-validation/suggested-policy");
7
7
  const defaults_1 = require("../defaults");
8
+ const aws_implementation_1 = require("../functions/aws-implementation");
8
9
  const check_credentials_1 = require("../shared/check-credentials");
9
10
  const docs_url_1 = require("../shared/docs-url");
10
11
  const args_1 = require("./args");
@@ -36,7 +37,7 @@ const requiresCredentials = (args) => {
36
37
  }
37
38
  return true;
38
39
  };
39
- const matchCommand = (args, remotionRoot, logLevel) => {
40
+ const matchCommand = (args, remotionRoot, logLevel, implementation) => {
40
41
  if (args_1.parsedLambdaCli.help || args.length === 0) {
41
42
  (0, help_1.printHelp)(logLevel);
42
43
  (0, quit_1.quit)(0);
@@ -45,10 +46,10 @@ const matchCommand = (args, remotionRoot, logLevel) => {
45
46
  (0, check_credentials_1.checkCredentials)();
46
47
  }
47
48
  if (args[0] === render_1.RENDER_COMMAND) {
48
- return (0, render_1.renderCommand)(args.slice(1), remotionRoot, logLevel);
49
+ return (0, render_1.renderCommand)(args.slice(1), remotionRoot, logLevel, implementation);
49
50
  }
50
51
  if (args[0] === still_1.STILL_COMMAND) {
51
- return (0, still_1.stillCommand)(args.slice(1), remotionRoot, logLevel);
52
+ return (0, still_1.stillCommand)(args.slice(1), remotionRoot, logLevel, implementation);
52
53
  }
53
54
  if (args[0] === compositions_1.COMPOSITIONS_COMMAND) {
54
55
  return (0, compositions_1.compositionsCommand)(args.slice(1), logLevel);
@@ -66,7 +67,7 @@ const matchCommand = (args, remotionRoot, logLevel) => {
66
67
  return (0, regions_1.regionsCommand)(logLevel);
67
68
  }
68
69
  if (args[0] === sites_1.SITES_COMMAND) {
69
- return (0, sites_1.sitesCommand)(args.slice(1), remotionRoot, logLevel);
70
+ return (0, sites_1.sitesCommand)(args.slice(1), remotionRoot, logLevel, implementation);
70
71
  }
71
72
  if (args[0] === 'upload') {
72
73
  log_1.Log.info({ indent: false, logLevel }, 'The command has been renamed.');
@@ -96,11 +97,11 @@ const matchCommand = (args, remotionRoot, logLevel) => {
96
97
  (0, help_1.printHelp)(logLevel);
97
98
  (0, quit_1.quit)(1);
98
99
  };
99
- const executeCommand = async (args, remotionRoot, logLevel) => {
100
+ const executeCommand = async (args, remotionRoot, logLevel, implementation) => {
100
101
  var _a, _b, _c, _d, _e;
101
102
  try {
102
103
  (0, is_cli_1.setIsCli)(true);
103
- await matchCommand(args, remotionRoot, logLevel);
104
+ await matchCommand(args, remotionRoot, logLevel, implementation !== null && implementation !== void 0 ? implementation : aws_implementation_1.awsImplementation);
104
105
  }
105
106
  catch (err) {
106
107
  const error = err;
@@ -169,6 +170,6 @@ exports.executeCommand = executeCommand;
169
170
  const cli = async (logLevel) => {
170
171
  const remotionRoot = renderer_1.RenderInternals.findRemotionRoot();
171
172
  await cli_1.CliInternals.initializeCli(remotionRoot);
172
- await (0, exports.executeCommand)(args_1.parsedLambdaCli._, remotionRoot, logLevel);
173
+ await (0, exports.executeCommand)(args_1.parsedLambdaCli._, remotionRoot, logLevel, aws_implementation_1.awsImplementation);
173
174
  };
174
175
  exports.cli = cli;
package/dist/client.d.ts CHANGED
@@ -14,11 +14,10 @@ import { renderStillOnLambda } from './api/render-still-on-lambda';
14
14
  import type { SpeculateFunctionNameInput } from './api/speculate-function-name';
15
15
  import { speculateFunctionName } from './api/speculate-function-name';
16
16
  import { validateWebhookSignature } from './api/validate-webhook-signature';
17
- import { DeleteAfter } from './functions/helpers/lifecycle';
18
- import type { AwsRegion } from './pricing/aws-regions';
19
17
  import type { RenderProgress } from './shared/constants';
20
18
  import type { WebhookPayload } from './shared/invoke-webhook';
19
+ export { CustomCredentials, DeleteAfter } from '@remotion/serverless/client';
21
20
  export { GetAwsClientInput, GetAwsClientOutput, getAwsClient, } from './api/get-aws-client';
22
- export { CustomCredentials } from './shared/aws-clients';
23
- export { DeleteAfter, deleteRender, getCompositionsOnLambda, getFunctions, getRenderProgress, getSites, presignUrl, renderMediaOnLambda, renderStillOnLambda, renderVideoOnLambda, speculateFunctionName, validateWebhookSignature, };
24
- export type { AwsRegion, DeleteRenderInput, GetRenderProgressInput, PresignUrlInput, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, RenderProgress, RenderStillOnLambdaInput, RenderStillOnLambdaOutput, SpeculateFunctionNameInput, WebhookPayload, };
21
+ export type { AwsRegion } from './regions';
22
+ export { deleteRender, getCompositionsOnLambda, getFunctions, getRenderProgress, getSites, presignUrl, renderMediaOnLambda, renderStillOnLambda, renderVideoOnLambda, speculateFunctionName, validateWebhookSignature, };
23
+ export type { DeleteRenderInput, GetRenderProgressInput, PresignUrlInput, RenderMediaOnLambdaInput, RenderMediaOnLambdaOutput, RenderProgress, RenderStillOnLambdaInput, RenderStillOnLambdaOutput, SpeculateFunctionNameInput, WebhookPayload, };
@@ -0,0 +1,11 @@
1
+ import { type ProviderSpecifics } from '@remotion/serverless';
2
+ import type { AwsRegion } from '../regions';
3
+ export type AwsProvider = {
4
+ type: 'aws';
5
+ region: AwsRegion;
6
+ receivedArtifactType: {
7
+ s3Key: string;
8
+ s3Url: string;
9
+ };
10
+ };
11
+ export declare const awsImplementation: ProviderSpecifics<AwsProvider>;
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var _a;
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.awsImplementation = void 0;
5
+ const node_stream_1 = require("node:stream");
6
+ const bucket_exists_1 = require("../api/bucket-exists");
7
+ const create_bucket_1 = require("../api/create-bucket");
8
+ const get_buckets_1 = require("../api/get-buckets");
9
+ const delete_file_1 = require("../io/delete-file");
10
+ const head_file_1 = require("../io/head-file");
11
+ const list_objects_1 = require("../io/list-objects");
12
+ const read_file_1 = require("../io/read-file");
13
+ const write_file_1 = require("../io/write-file");
14
+ const convert_to_serve_url_1 = require("../shared/convert-to-serve-url");
15
+ const lifecycle_rules_1 = require("../shared/lifecycle-rules");
16
+ const random_hash_1 = require("../shared/random-hash");
17
+ const get_current_region_1 = require("./helpers/get-current-region");
18
+ const get_folder_files_1 = require("./helpers/get-folder-files");
19
+ const make_aws_artifact_1 = require("./helpers/make-aws-artifact");
20
+ if (/^AWS_Lambda_nodejs(?:18|20)[.]x$/.test((_a = process.env.AWS_EXECUTION_ENV) !== null && _a !== void 0 ? _a : '') === true) {
21
+ process.env.FONTCONFIG_PATH = '/opt';
22
+ process.env.FONTCONFIG_FILE = '/opt/fonts.conf';
23
+ process.env.DISABLE_FROM_SURFACE = '1';
24
+ process.env.NO_COLOR = '1';
25
+ // @ts-expect-error
26
+ globalThis._dumpUnreleasedBuffers = new node_stream_1.EventEmitter();
27
+ // @ts-expect-error
28
+ globalThis._dumpUnreleasedBuffers.setMaxListeners(201);
29
+ }
30
+ exports.awsImplementation = {
31
+ getChromiumPath() {
32
+ return '/opt/bin/chromium';
33
+ },
34
+ getCurrentRegionInFunction: get_current_region_1.getCurrentRegionInFunctionImplementation,
35
+ getBuckets: get_buckets_1.getRemotionBuckets,
36
+ createBucket: create_bucket_1.createBucket,
37
+ applyLifeCycle: lifecycle_rules_1.applyLifeCyleOperation,
38
+ listObjects: list_objects_1.lambdaLsImplementation,
39
+ deleteFile: delete_file_1.lambdaDeleteFileImplementation,
40
+ bucketExists: bucket_exists_1.bucketExistsInRegionImplementation,
41
+ randomHash: random_hash_1.randomHashImplementation,
42
+ readFile: read_file_1.lambdaReadFileImplementation,
43
+ writeFile: write_file_1.lambdaWriteFileImplementation,
44
+ headFile: head_file_1.lambdaHeadFileImplementation,
45
+ convertToServeUrl: convert_to_serve_url_1.convertToServeUrlImplementation,
46
+ printLoggingHelper: true,
47
+ getFolderFiles: get_folder_files_1.getFolderFiles,
48
+ makeArtifactWithDetails: make_aws_artifact_1.makeAwsArtifact,
49
+ };
@@ -3,5 +3,8 @@ export declare const planFrameRanges: ({ framesPerLambda, frameRange, everyNthFr
3
3
  frameRange: [number, number];
4
4
  everyNthFrame: number;
5
5
  }) => {
6
- chunks: [number, number][];
6
+ chunks: [
7
+ number,
8
+ number
9
+ ][];
7
10
  };
@@ -1,8 +1,9 @@
1
- import type { LambdaPayload } from '../defaults';
1
+ import type { ProviderSpecifics } from '@remotion/serverless';
2
+ import type { ServerlessPayload } from '@remotion/serverless/client';
2
3
  type Options = {
3
4
  expectedBucketOwner: string;
4
5
  };
5
- export declare const compositionsHandler: (lambdaParams: LambdaPayload, options: Options) => Promise<{
6
+ export declare const compositionsHandler: <Region extends string>(lambdaParams: ServerlessPayload<Region>, options: Options, providerSpecifics: ProviderSpecifics<Region>) => Promise<{
6
7
  compositions: import("remotion").VideoConfig[];
7
8
  type: "success";
8
9
  }>;
@@ -2,16 +2,12 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.compositionsHandler = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
+ const serverless_1 = require("@remotion/serverless");
6
+ const client_1 = require("@remotion/serverless/client");
5
7
  const version_1 = require("remotion/version");
6
- const get_or_create_bucket_1 = require("../api/get-or-create-bucket");
7
- const defaults_1 = require("../defaults");
8
- const compress_props_1 = require("../shared/compress-props");
9
- const convert_to_serve_url_1 = require("../shared/convert-to-serve-url");
10
- const get_browser_instance_1 = require("./helpers/get-browser-instance");
11
- const get_current_region_1 = require("./helpers/get-current-region");
12
- const compositionsHandler = async (lambdaParams, options) => {
8
+ const compositionsHandler = async (lambdaParams, options, providerSpecifics) => {
13
9
  var _a;
14
- if (lambdaParams.type !== defaults_1.LambdaRoutines.compositions) {
10
+ if (lambdaParams.type !== client_1.ServerlessRoutines.compositions) {
15
11
  throw new TypeError('Expected info compositions');
16
12
  }
17
13
  if (lambdaParams.version !== version_1.VERSION) {
@@ -21,24 +17,31 @@ const compositionsHandler = async (lambdaParams, options) => {
21
17
  throw new Error(`Version mismatch: When calling getCompositionsOnLambda(), you passed ${process.env.AWS_LAMBDA_FUNCTION_NAME} as the function, which has the version ${version_1.VERSION}, but the @remotion/lambda package you used to invoke the function has version ${lambdaParams.version}. Deploy a new function and use it to call getCompositionsOnLambda(). See: https://www.remotion.dev/docs/lambda/upgrading`);
22
18
  }
23
19
  try {
24
- const region = (0, get_current_region_1.getCurrentRegionInFunction)();
25
- const browserInstancePromise = (0, get_browser_instance_1.getBrowserInstance)(lambdaParams.logLevel, false, lambdaParams.chromiumOptions);
20
+ const region = providerSpecifics.getCurrentRegionInFunction();
21
+ const browserInstancePromise = (0, serverless_1.getBrowserInstance)({
22
+ logLevel: lambdaParams.logLevel,
23
+ indent: false,
24
+ chromiumOptions: lambdaParams.chromiumOptions,
25
+ providerSpecifics,
26
+ });
26
27
  const bucketNamePromise = lambdaParams.bucketName
27
28
  ? Promise.resolve(lambdaParams.bucketName)
28
- : (0, get_or_create_bucket_1.internalGetOrCreateBucket)({
29
+ : (0, client_1.internalGetOrCreateBucket)({
29
30
  region,
30
31
  enableFolderExpiry: null,
31
32
  customCredentials: null,
33
+ providerSpecifics,
32
34
  }).then((b) => b.bucketName);
33
35
  const bucketName = await bucketNamePromise;
34
- const serializedInputPropsWithCustomSchema = await (0, compress_props_1.decompressInputProps)({
36
+ const serializedInputPropsWithCustomSchema = await (0, client_1.decompressInputProps)({
35
37
  bucketName: await bucketNamePromise,
36
38
  expectedBucketOwner: options.expectedBucketOwner,
37
- region: (0, get_current_region_1.getCurrentRegionInFunction)(),
39
+ region: providerSpecifics.getCurrentRegionInFunction(),
38
40
  serialized: lambdaParams.inputProps,
39
41
  propsType: 'input-props',
42
+ providerSpecifics,
40
43
  });
41
- const realServeUrl = (0, convert_to_serve_url_1.convertToServeUrl)({
44
+ const realServeUrl = providerSpecifics.convertToServeUrl({
42
45
  urlOrId: lambdaParams.serveUrl,
43
46
  region,
44
47
  bucketName,
@@ -68,7 +71,7 @@ const compositionsHandler = async (lambdaParams, options) => {
68
71
  });
69
72
  }
70
73
  finally {
71
- (0, get_browser_instance_1.forgetBrowserEventLoop)(lambdaParams.logLevel);
74
+ (0, serverless_1.forgetBrowserEventLoop)(lambdaParams.logLevel);
72
75
  }
73
76
  };
74
77
  exports.compositionsHandler = compositionsHandler;
@@ -0,0 +1,3 @@
1
+ import type { forgetBrowserEventLoop as originalForget, getBrowserInstance as originalGetBrowserInstance } from '@remotion/serverless';
2
+ export declare const getBrowserInstance: typeof originalGetBrowserInstance;
3
+ export declare const forgetBrowserEventLoop: typeof originalForget;
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.forgetBrowserEventLoop = exports.getBrowserInstance = void 0;
4
+ const renderer_1 = require("@remotion/renderer");
5
+ let _browserInstance;
6
+ const getBrowserInstance = async () => {
7
+ _browserInstance = await (0, renderer_1.openBrowser)('chrome');
8
+ return { instance: _browserInstance, configurationString: 'chrome' };
9
+ };
10
+ exports.getBrowserInstance = getBrowserInstance;
11
+ const forgetBrowserEventLoop = () => { };
12
+ exports.forgetBrowserEventLoop = forgetBrowserEventLoop;
@@ -0,0 +1,4 @@
1
+ import type { setCurrentRequestId as originalSetCurrentRequestId, startLeakDetection as originalStartLeakDetection, stopLeakDetection as originalStopLeakDetection } from '../leak-detection';
2
+ export declare const stopLeakDetection: typeof originalStopLeakDetection;
3
+ export declare const setCurrentRequestId: typeof originalSetCurrentRequestId;
4
+ export declare const startLeakDetection: typeof originalStartLeakDetection;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.startLeakDetection = exports.setCurrentRequestId = exports.stopLeakDetection = void 0;
4
+ const stopLeakDetection = () => { };
5
+ exports.stopLeakDetection = stopLeakDetection;
6
+ const setCurrentRequestId = () => { };
7
+ exports.setCurrentRequestId = setCurrentRequestId;
8
+ const startLeakDetection = () => { };
9
+ exports.startLeakDetection = startLeakDetection;
@@ -0,0 +1,2 @@
1
+ import type { timer as original } from '../../../functions/helpers/timer';
2
+ export declare const timer: typeof original;
@@ -0,0 +1,10 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.timer = void 0;
4
+ // Turn off timers while in testing. very noisy.
5
+ const timer = () => {
6
+ return {
7
+ end: () => undefined,
8
+ };
9
+ };
10
+ exports.timer = timer;
@@ -1,11 +1,13 @@
1
- import type { RenderMetadata } from '../../shared/constants';
1
+ import type { CloudProvider, ProviderSpecifics } from '@remotion/serverless';
2
+ import type { RenderMetadata } from '@remotion/serverless/client';
2
3
  import type { ParsedTiming } from '../../shared/parse-lambda-timings-key';
3
- export declare const estimatePriceFromBucket: ({ renderMetadata, memorySizeInMb, diskSizeInMb, lambdasInvoked, timings, }: {
4
- renderMetadata: RenderMetadata | null;
4
+ export declare const estimatePriceFromBucket: <Provider extends CloudProvider<string, Record<string, unknown>>>({ renderMetadata, memorySizeInMb, diskSizeInMb, lambdasInvoked, timings, providerSpecifics, }: {
5
+ renderMetadata: RenderMetadata<Provider> | null;
5
6
  memorySizeInMb: number;
6
7
  diskSizeInMb: number;
7
8
  lambdasInvoked: number;
8
9
  timings: ParsedTiming[];
10
+ providerSpecifics: ProviderSpecifics<Provider>;
9
11
  }) => {
10
12
  accruedSoFar: number;
11
13
  estimatedBillingDurationInMilliseconds: number;
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.estimatePriceFromBucket = void 0;
4
4
  const estimate_price_1 = require("../../api/estimate-price");
5
5
  const calculate_chunk_times_1 = require("./calculate-chunk-times");
6
- const get_current_region_1 = require("./get-current-region");
7
- const estimatePriceFromBucket = ({ renderMetadata, memorySizeInMb, diskSizeInMb, lambdasInvoked, timings, }) => {
6
+ const estimatePriceFromBucket = ({ renderMetadata, memorySizeInMb, diskSizeInMb, lambdasInvoked, timings, providerSpecifics, }) => {
8
7
  var _a, _b;
9
8
  if (!renderMetadata) {
10
9
  return null;
@@ -20,7 +19,7 @@ const estimatePriceFromBucket = ({ renderMetadata, memorySizeInMb, diskSizeInMb,
20
19
  timings,
21
20
  }) + timeElapsedOfUnfinished;
22
21
  const accruedSoFar = Number((0, estimate_price_1.estimatePrice)({
23
- region: (0, get_current_region_1.getCurrentRegionInFunction)(),
22
+ region: providerSpecifics.getCurrentRegionInFunction(),
24
23
  durationInMilliseconds: estimatedBillingDurationInMilliseconds,
25
24
  memorySizeInMb,
26
25
  diskSizeInMb,
@@ -1,5 +1,7 @@
1
- import type { SerializedInputProps } from '../../defaults';
2
- export declare const cleanupProps: ({ serializedResolvedProps, inputProps, }: {
1
+ import type { CloudProvider, ProviderSpecifics } from '@remotion/serverless';
2
+ import type { SerializedInputProps } from '@remotion/serverless/client';
3
+ export declare const cleanupProps: <Provider extends CloudProvider<string, Record<string, unknown>>>({ serializedResolvedProps, inputProps, providerSpecifics, }: {
3
4
  serializedResolvedProps: SerializedInputProps;
4
5
  inputProps: SerializedInputProps;
6
+ providerSpecifics: ProviderSpecifics<Provider>;
5
7
  }) => Promise<[number, number]>;
@@ -2,15 +2,16 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.cleanupProps = void 0;
4
4
  const cleanup_serialized_input_props_1 = require("../../shared/cleanup-serialized-input-props");
5
- const get_current_region_1 = require("./get-current-region");
6
- const cleanupProps = ({ serializedResolvedProps, inputProps, }) => {
5
+ const cleanupProps = ({ serializedResolvedProps, inputProps, providerSpecifics, }) => {
7
6
  const cleanupSerializedInputPropsProm = (0, cleanup_serialized_input_props_1.cleanupSerializedInputProps)({
8
- region: (0, get_current_region_1.getCurrentRegionInFunction)(),
7
+ region: providerSpecifics.getCurrentRegionInFunction(),
9
8
  serialized: inputProps,
9
+ providerSpecifics,
10
10
  });
11
11
  const cleanupResolvedInputPropsProm = (0, cleanup_serialized_input_props_1.cleanupSerializedResolvedProps)({
12
- region: (0, get_current_region_1.getCurrentRegionInFunction)(),
12
+ region: providerSpecifics.getCurrentRegionInFunction(),
13
13
  serialized: serializedResolvedProps,
14
+ providerSpecifics,
14
15
  });
15
16
  return Promise.all([
16
17
  cleanupSerializedInputPropsProm,
@@ -1,9 +1,9 @@
1
1
  import type { AudioCodec, CancelSignal, LogLevel } from '@remotion/renderer';
2
- import type { LambdaCodec } from '../../shared/validate-lambda-codec';
2
+ import type { ServerlessCodec } from '@remotion/serverless/client';
3
3
  export declare const concatVideos: ({ onProgress, numberOfFrames, codec, fps, numberOfGifLoops, files, outdir, audioCodec, audioBitrate, logLevel, framesPerLambda, binariesDirectory, cancelSignal, preferLossless, muted, }: {
4
4
  onProgress: (frames: number) => void;
5
5
  numberOfFrames: number;
6
- codec: LambdaCodec;
6
+ codec: ServerlessCodec;
7
7
  fps: number;
8
8
  numberOfGifLoops: number | null;
9
9
  files: string[];
@@ -1,17 +1,17 @@
1
- import type { AwsRegion } from '../../pricing/aws-regions';
2
- import type { PostRenderData, RenderMetadata } from '../../shared/constants';
1
+ import type { CloudProvider, EnhancedErrorInfo } from '@remotion/serverless';
2
+ import type { RenderMetadata } from '@remotion/serverless/client';
3
+ import type { PostRenderData } from '../../shared/constants';
3
4
  import type { OutputFileMetadata } from './find-output-file-in-bucket';
4
5
  import type { OverallRenderProgress } from './overall-render-progress';
5
- import type { EnhancedErrorInfo } from './write-lambda-error';
6
- export declare const createPostRenderData: ({ region, memorySizeInMb, renderMetadata, errorExplanations, timeToDelete, outputFile, timeToCombine, overallProgress, timeToFinish, outputSize, }: {
7
- region: AwsRegion;
6
+ export declare const createPostRenderData: <Provider extends CloudProvider<string, Record<string, unknown>>>({ region, memorySizeInMb, renderMetadata, errorExplanations, timeToDelete, outputFile, timeToCombine, overallProgress, timeToFinish, outputSize, }: {
7
+ region: Provider["region"];
8
8
  memorySizeInMb: number;
9
- renderMetadata: RenderMetadata;
9
+ renderMetadata: RenderMetadata<Provider>;
10
10
  timeToDelete: number;
11
11
  errorExplanations: EnhancedErrorInfo[];
12
12
  outputFile: OutputFileMetadata;
13
13
  timeToCombine: number | null;
14
- overallProgress: OverallRenderProgress;
14
+ overallProgress: OverallRenderProgress<Provider>;
15
15
  timeToFinish: number;
16
16
  outputSize: number;
17
- }) => PostRenderData;
17
+ }) => PostRenderData<Provider>;
@@ -13,7 +13,7 @@ const createPostRenderData = ({ region, memorySizeInMb, renderMetadata, errorExp
13
13
  const cost = (0, estimate_price_1.estimatePrice)({
14
14
  durationInMilliseconds: estimatedBillingDurationInMilliseconds,
15
15
  memorySizeInMb,
16
- region,
16
+ region: region,
17
17
  lambdasInvoked: renderMetadata.estimatedTotalLambdaInvokations,
18
18
  // We cannot determine the ephemeral storage size, so we
19
19
  // overestimate the price, but will only have a miniscule effect (~0.2%)
@@ -1,4 +1,4 @@
1
- import type { OutNameInput, OutNameOutput, RenderMetadata } from '../../defaults';
2
- import type { CustomCredentials } from '../../shared/aws-clients';
3
- export declare const getCredentialsFromOutName: (name: OutNameInput | null) => CustomCredentials | null;
4
- export declare const getExpectedOutName: (renderMetadata: RenderMetadata, bucketName: string, customCredentials: CustomCredentials | null) => OutNameOutput;
1
+ import type { CustomCredentials, OutNameInput } from '@remotion/serverless/client';
2
+ import type { OutNameOutput, RenderMetadata } from '../../defaults';
3
+ export declare const getCredentialsFromOutName: <Region extends string>(name: OutNameInput<Region> | null) => CustomCredentials<Region> | null;
4
+ export declare const getExpectedOutName: <Region extends string>(renderMetadata: RenderMetadata, bucketName: string, customCredentials: CustomCredentials<Region> | null) => OutNameOutput<Region>;
@@ -1,12 +1,13 @@
1
- import type { AwsRegion } from '../../client';
2
- import type { CustomCredentials } from '../../shared/aws-clients';
3
- import type { RenderMetadata } from '../../shared/constants';
1
+ import type { CloudProvider, ProviderSpecifics } from '@remotion/serverless';
2
+ import { type CustomCredentials, type RenderMetadata } from '@remotion/serverless/client';
4
3
  export type OutputFileMetadata = {
5
4
  url: string;
6
5
  };
7
- export declare const findOutputFileInBucket: ({ region, renderMetadata, bucketName, customCredentials, }: {
8
- region: AwsRegion;
9
- renderMetadata: RenderMetadata;
6
+ export declare const findOutputFileInBucket: <Provider extends CloudProvider<string, Record<string, unknown>>>({ region, renderMetadata, bucketName, customCredentials, currentRegion, providerSpecifics, }: {
7
+ region: Provider["region"];
8
+ renderMetadata: RenderMetadata<Provider>;
10
9
  bucketName: string;
11
- customCredentials: CustomCredentials | null;
10
+ customCredentials: CustomCredentials<Provider> | null;
11
+ currentRegion: Provider["region"];
12
+ providerSpecifics: ProviderSpecifics<Provider>;
12
13
  }) => Promise<OutputFileMetadata | null>;
@@ -1,24 +1,23 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.findOutputFileInBucket = void 0;
4
+ const client_1 = require("@remotion/serverless/client");
4
5
  const suggested_policy_1 = require("../../api/iam-validation/suggested-policy");
5
- const expected_out_name_1 = require("./expected-out-name");
6
6
  const get_output_url_from_metadata_1 = require("./get-output-url-from-metadata");
7
- const io_1 = require("./io");
8
- const findOutputFileInBucket = async ({ region, renderMetadata, bucketName, customCredentials, }) => {
7
+ const findOutputFileInBucket = async ({ region, renderMetadata, bucketName, customCredentials, currentRegion, providerSpecifics, }) => {
9
8
  if (!renderMetadata) {
10
9
  throw new Error('unexpectedly did not get renderMetadata');
11
10
  }
12
- const { renderBucketName, key } = (0, expected_out_name_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials);
11
+ const { renderBucketName, key } = (0, client_1.getExpectedOutName)(renderMetadata, bucketName, customCredentials);
13
12
  try {
14
- await (0, io_1.lambdaHeadCommand)({
13
+ await providerSpecifics.headFile({
15
14
  bucketName,
16
15
  key,
17
16
  region,
18
17
  customCredentials,
19
18
  });
20
19
  return {
21
- url: (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, bucketName, customCredentials).url,
20
+ url: (0, get_output_url_from_metadata_1.getOutputUrlFromMetadata)(renderMetadata, bucketName, customCredentials, currentRegion).url,
22
21
  };
23
22
  }
24
23
  catch (err) {
@@ -1,9 +1,10 @@
1
1
  import type { ChromiumOptions, LogLevel, openBrowser } from '@remotion/renderer';
2
- import type { Await } from '../../shared/await';
2
+ import type { ProviderSpecifics } from '@remotion/serverless';
3
+ import type { Await } from '@remotion/serverless/client';
3
4
  type LaunchedBrowser = {
4
5
  instance: Await<ReturnType<typeof openBrowser>>;
5
6
  configurationString: string;
6
7
  };
7
8
  export declare const forgetBrowserEventLoop: (logLevel: LogLevel) => void;
8
- export declare const getBrowserInstance: (logLevel: LogLevel, indent: boolean, chromiumOptions: ChromiumOptions) => Promise<LaunchedBrowser>;
9
+ export declare const getBrowserInstance: (logLevel: LogLevel, indent: boolean, chromiumOptions: ChromiumOptions, providerSpecifics: ProviderSpecifics) => Promise<LaunchedBrowser>;
9
10
  export {};
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getBrowserInstance = exports.forgetBrowserEventLoop = void 0;
4
4
  const renderer_1 = require("@remotion/renderer");
5
5
  const version_1 = require("remotion/version");
6
- const get_chromium_executable_path_1 = require("./get-chromium-executable-path");
7
6
  const makeConfigurationString = (options, logLevel) => {
8
7
  var _a, _b, _c;
9
8
  return [
@@ -37,7 +36,7 @@ const forgetBrowserEventLoop = (logLevel) => {
37
36
  _browserInstance === null || _browserInstance === void 0 ? void 0 : _browserInstance.instance.forgetEventLoop();
38
37
  };
39
38
  exports.forgetBrowserEventLoop = forgetBrowserEventLoop;
40
- const getBrowserInstance = async (logLevel, indent, chromiumOptions) => {
39
+ const getBrowserInstance = async (logLevel, indent, chromiumOptions, providerSpecifics) => {
41
40
  var _a;
42
41
  const actualChromiumOptions = {
43
42
  ...chromiumOptions,
@@ -57,7 +56,7 @@ const getBrowserInstance = async (logLevel, indent, chromiumOptions) => {
57
56
  if (!_browserInstance) {
58
57
  renderer_1.RenderInternals.Log.info({ indent: false, logLevel }, 'Cold Lambda function, launching new browser instance');
59
58
  launching = true;
60
- const execPath = (0, get_chromium_executable_path_1.executablePath)();
59
+ const execPath = providerSpecifics.getChromiumPath();
61
60
  const instance = await renderer_1.RenderInternals.internalOpenBrowser({
62
61
  browser: 'chrome',
63
62
  browserExecutable: execPath,
@@ -91,7 +90,7 @@ const getBrowserInstance = async (logLevel, indent, chromiumOptions) => {
91
90
  _browserInstance.instance.rememberEventLoop();
92
91
  await _browserInstance.instance.close(true, logLevel, indent);
93
92
  _browserInstance = null;
94
- return (0, exports.getBrowserInstance)(logLevel, indent, chromiumOptions);
93
+ return (0, exports.getBrowserInstance)(logLevel, indent, chromiumOptions, providerSpecifics);
95
94
  }
96
95
  renderer_1.RenderInternals.Log.info({ indent: false, logLevel }, 'Warm Lambda function, reusing browser instance');
97
96
  _browserInstance.instance.rememberEventLoop();
@@ -1 +1 @@
1
- export declare const getCurrentRegionInFunction: () => "eu-central-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "eu-north-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "ap-south-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ca-central-1" | "sa-east-1" | "eu-south-1" | "af-south-1" | "ap-east-1" | "me-south-1";
1
+ export declare const getCurrentRegionInFunctionImplementation: () => "eu-central-1" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "eu-south-1" | "eu-north-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2" | "af-south-1" | "ap-south-1" | "ap-east-1" | "ap-southeast-1" | "ap-southeast-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ca-central-1" | "me-south-1" | "sa-east-1";
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getCurrentRegionInFunction = void 0;
3
+ exports.getCurrentRegionInFunctionImplementation = void 0;
4
4
  const is_in_lambda_1 = require("../../shared/is-in-lambda");
5
- const getCurrentRegionInFunction = () => {
5
+ const getCurrentRegionInFunctionImplementation = () => {
6
6
  if (!(0, is_in_lambda_1.isInsideLambda)()) {
7
7
  throw new Error('Should not call getCurrentRegion() if not inside a lambda function');
8
8
  }
@@ -11,4 +11,4 @@ const getCurrentRegionInFunction = () => {
11
11
  }
12
12
  return process.env.AWS_REGION;
13
13
  };
14
- exports.getCurrentRegionInFunction = getCurrentRegionInFunction;
14
+ exports.getCurrentRegionInFunctionImplementation = getCurrentRegionInFunctionImplementation;
@@ -1,6 +1,6 @@
1
- import type { OutNameInput, RenderMetadata } from '../../defaults';
2
- import type { CustomCredentials } from '../../shared/aws-clients';
3
- export declare const getCustomOutName: ({ renderMetadata, customCredentials, }: {
1
+ import type { CustomCredentials, OutNameInput } from '@remotion/serverless/client';
2
+ import type { RenderMetadata } from '../../defaults';
3
+ export declare const getCustomOutName: <Region extends string>({ renderMetadata, customCredentials, }: {
4
4
  renderMetadata: RenderMetadata;
5
- customCredentials: CustomCredentials | null;
6
- }) => OutNameInput | null;
5
+ customCredentials: CustomCredentials<Region> | null;
6
+ }) => OutNameInput<Region> | null;
@@ -0,0 +1,2 @@
1
+ import type { GetFolderFiles } from '@remotion/serverless/client';
2
+ export declare const getFolderFiles: GetFolderFiles;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.getFolderFiles = void 0;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const getFolderFiles = (folder) => {
10
+ const files = fs_1.default.readdirSync(folder);
11
+ const paths = [];
12
+ files.forEach((file) => {
13
+ const full = path_1.default.join(folder, file);
14
+ try {
15
+ const stat = fs_1.default.statSync(full);
16
+ if (stat.isDirectory()) {
17
+ paths.push(...(0, exports.getFolderFiles)(full));
18
+ }
19
+ else {
20
+ paths.push({
21
+ filename: full,
22
+ size: stat.size,
23
+ });
24
+ }
25
+ }
26
+ catch (err) {
27
+ if (err.message.includes('ENOENT')) {
28
+ // Race condition: File was deleted in the meanwhile.
29
+ // Do nothing
30
+ }
31
+ else {
32
+ throw err;
33
+ }
34
+ }
35
+ });
36
+ return paths;
37
+ };
38
+ exports.getFolderFiles = getFolderFiles;