@remotion/cloudrun 4.1.0-alpha10

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 (189) hide show
  1. package/.turbo/turbo-build.log +13 -0
  2. package/LICENSE.md +41 -0
  3. package/dist/admin/bundle-installer.d.ts +1 -0
  4. package/dist/admin/bundle-installer.js +32 -0
  5. package/dist/admin/bundle-renderLogic.d.ts +1 -0
  6. package/dist/admin/bundle-renderLogic.js +39 -0
  7. package/dist/api/check-if-service-exists.d.ts +18 -0
  8. package/dist/api/check-if-service-exists.js +49 -0
  9. package/dist/api/create-bucket.d.ts +13 -0
  10. package/dist/api/create-bucket.js +18 -0
  11. package/dist/api/delete-service.d.ts +12 -0
  12. package/dist/api/delete-service.js +19 -0
  13. package/dist/api/delete-site.d.ts +13 -0
  14. package/dist/api/delete-site.js +30 -0
  15. package/dist/api/deploy-service.d.ts +28 -0
  16. package/dist/api/deploy-service.js +90 -0
  17. package/dist/api/deploy-site.d.ts +35 -0
  18. package/dist/api/deploy-site.js +78 -0
  19. package/dist/api/download-file.d.ts +13 -0
  20. package/dist/api/download-file.js +30 -0
  21. package/dist/api/get-buckets.d.ts +10 -0
  22. package/dist/api/get-buckets.js +23 -0
  23. package/dist/api/get-or-create-bucket.d.ts +17 -0
  24. package/dist/api/get-or-create-bucket.js +42 -0
  25. package/dist/api/get-regions.d.ts +7 -0
  26. package/dist/api/get-regions.js +13 -0
  27. package/dist/api/get-service-info.d.ts +23 -0
  28. package/dist/api/get-service-info.js +34 -0
  29. package/dist/api/get-services.d.ts +14 -0
  30. package/dist/api/get-services.js +49 -0
  31. package/dist/api/get-sites.d.ts +23 -0
  32. package/dist/api/get-sites.js +49 -0
  33. package/dist/api/helpers/IService.d.ts +2 -0
  34. package/dist/api/helpers/IService.js +2 -0
  35. package/dist/api/helpers/construct-service-deploy-request.d.ts +32 -0
  36. package/dist/api/helpers/construct-service-deploy-request.js +36 -0
  37. package/dist/api/helpers/extract-mem-from-url.d.ts +1 -0
  38. package/dist/api/helpers/extract-mem-from-url.js +9 -0
  39. package/dist/api/helpers/extract-time-from-url.d.ts +1 -0
  40. package/dist/api/helpers/extract-time-from-url.js +13 -0
  41. package/dist/api/helpers/get-auth-client-for-url.d.ts +1 -0
  42. package/dist/api/helpers/get-auth-client-for-url.js +15 -0
  43. package/dist/api/helpers/get-cloud-logging-client.d.ts +1 -0
  44. package/dist/api/helpers/get-cloud-logging-client.js +15 -0
  45. package/dist/api/helpers/get-cloud-run-client.d.ts +2 -0
  46. package/dist/api/helpers/get-cloud-run-client.js +15 -0
  47. package/dist/api/helpers/get-cloud-storage-client.d.ts +2 -0
  48. package/dist/api/helpers/get-cloud-storage-client.js +14 -0
  49. package/dist/api/helpers/get-cloudrun-endpoint.d.ts +14 -0
  50. package/dist/api/helpers/get-cloudrun-endpoint.js +36 -0
  51. package/dist/api/helpers/get-resource-manager-client.d.ts +2 -0
  52. package/dist/api/helpers/get-resource-manager-client.js +15 -0
  53. package/dist/api/helpers/parse-service-name.d.ts +8 -0
  54. package/dist/api/helpers/parse-service-name.js +24 -0
  55. package/dist/api/iam-validation/testPermissions.d.ts +20 -0
  56. package/dist/api/iam-validation/testPermissions.js +48 -0
  57. package/dist/api/render-media-on-cloudrun.d.ts +78 -0
  58. package/dist/api/render-media-on-cloudrun.js +144 -0
  59. package/dist/api/render-still-on-cloudrun.d.ts +49 -0
  60. package/dist/api/render-still-on-cloudrun.js +76 -0
  61. package/dist/api/speculate-service-name.d.ts +13 -0
  62. package/dist/api/speculate-service-name.js +20 -0
  63. package/dist/api/test/service-names.test.d.ts +1 -0
  64. package/dist/api/test/service-names.test.js +28 -0
  65. package/dist/api/upload-dir.d.ts +18 -0
  66. package/dist/api/upload-dir.js +81 -0
  67. package/dist/cli/args.d.ts +19 -0
  68. package/dist/cli/args.js +11 -0
  69. package/dist/cli/commands/permissions.d.ts +2 -0
  70. package/dist/cli/commands/permissions.js +23 -0
  71. package/dist/cli/commands/regions.d.ts +2 -0
  72. package/dist/cli/commands/regions.js +10 -0
  73. package/dist/cli/commands/render/helpers/renderArgsCheck.d.ts +9 -0
  74. package/dist/cli/commands/render/helpers/renderArgsCheck.js +75 -0
  75. package/dist/cli/commands/render/index.d.ts +2 -0
  76. package/dist/cli/commands/render/index.js +228 -0
  77. package/dist/cli/commands/services/deploy.d.ts +2 -0
  78. package/dist/cli/commands/services/deploy.js +129 -0
  79. package/dist/cli/commands/services/index.d.ts +5 -0
  80. package/dist/cli/commands/services/index.js +64 -0
  81. package/dist/cli/commands/services/ls.d.ts +2 -0
  82. package/dist/cli/commands/services/ls.js +40 -0
  83. package/dist/cli/commands/services/rm.d.ts +2 -0
  84. package/dist/cli/commands/services/rm.js +63 -0
  85. package/dist/cli/commands/services/rmall.d.ts +2 -0
  86. package/dist/cli/commands/services/rmall.js +52 -0
  87. package/dist/cli/commands/sites/create.d.ts +2 -0
  88. package/dist/cli/commands/sites/create.js +138 -0
  89. package/dist/cli/commands/sites/index.d.ts +4 -0
  90. package/dist/cli/commands/sites/index.js +60 -0
  91. package/dist/cli/commands/sites/ls.d.ts +2 -0
  92. package/dist/cli/commands/sites/ls.js +40 -0
  93. package/dist/cli/commands/sites/rm.d.ts +2 -0
  94. package/dist/cli/commands/sites/rm.js +59 -0
  95. package/dist/cli/commands/sites/rmall.d.ts +2 -0
  96. package/dist/cli/commands/sites/rmall.js +38 -0
  97. package/dist/cli/commands/still.d.ts +2 -0
  98. package/dist/cli/commands/still.js +129 -0
  99. package/dist/cli/get-gcp-region.d.ts +2 -0
  100. package/dist/cli/get-gcp-region.js +19 -0
  101. package/dist/cli/help.d.ts +1 -0
  102. package/dist/cli/help.js +38 -0
  103. package/dist/cli/helpers/confirm.d.ts +4 -0
  104. package/dist/cli/helpers/confirm.js +12 -0
  105. package/dist/cli/helpers/date-string.d.ts +1 -0
  106. package/dist/cli/helpers/date-string.js +9 -0
  107. package/dist/cli/helpers/progress-bar.d.ts +23 -0
  108. package/dist/cli/helpers/progress-bar.js +81 -0
  109. package/dist/cli/helpers/quit.d.ts +1 -0
  110. package/dist/cli/helpers/quit.js +7 -0
  111. package/dist/cli/helpers/yes-or-no.d.ts +4 -0
  112. package/dist/cli/helpers/yes-or-no.js +44 -0
  113. package/dist/cli/index.d.ts +1 -0
  114. package/dist/cli/index.js +56 -0
  115. package/dist/cli/log.d.ts +26 -0
  116. package/dist/cli/log.js +5 -0
  117. package/dist/defaults.d.ts +1 -0
  118. package/dist/defaults.js +17 -0
  119. package/dist/functions/helpers/get-composition-from-body.d.ts +2 -0
  120. package/dist/functions/helpers/get-composition-from-body.js +27 -0
  121. package/dist/functions/helpers/io.d.ts +11 -0
  122. package/dist/functions/helpers/io.js +17 -0
  123. package/dist/functions/helpers/payloads.d.ts +300 -0
  124. package/dist/functions/helpers/payloads.js +104 -0
  125. package/dist/functions/index.d.ts +3 -0
  126. package/dist/functions/index.js +39 -0
  127. package/dist/functions/render-media-single-thread.d.ts +3 -0
  128. package/dist/functions/render-media-single-thread.js +103 -0
  129. package/dist/functions/render-still-single-thread.d.ts +3 -0
  130. package/dist/functions/render-still-single-thread.js +82 -0
  131. package/dist/index.d.ts +20 -0
  132. package/dist/index.js +31 -0
  133. package/dist/internals.d.ts +3 -0
  134. package/dist/internals.js +7 -0
  135. package/dist/pricing/gcp-regions.d.ts +5 -0
  136. package/dist/pricing/gcp-regions.js +77 -0
  137. package/dist/regions.d.ts +2 -0
  138. package/dist/regions.js +5 -0
  139. package/dist/shared/bundle-site.d.ts +2 -0
  140. package/dist/shared/bundle-site.js +5 -0
  141. package/dist/shared/constants.d.ts +13 -0
  142. package/dist/shared/constants.js +18 -0
  143. package/dist/shared/convert-to-serve-url.d.ts +4 -0
  144. package/dist/shared/convert-to-serve-url.js +14 -0
  145. package/dist/shared/docs-url.d.ts +1 -0
  146. package/dist/shared/docs-url.js +4 -0
  147. package/dist/shared/generate-service-name.d.ts +5 -0
  148. package/dist/shared/generate-service-name.js +20 -0
  149. package/dist/shared/get-etag.d.ts +1 -0
  150. package/dist/shared/get-etag.js +24 -0
  151. package/dist/shared/get-storage-operations.d.ts +10 -0
  152. package/dist/shared/get-storage-operations.js +36 -0
  153. package/dist/shared/make-storage-key.d.ts +1 -0
  154. package/dist/shared/make-storage-key.js +11 -0
  155. package/dist/shared/make-storage-url.d.ts +4 -0
  156. package/dist/shared/make-storage-url.js +7 -0
  157. package/dist/shared/random-hash.d.ts +3 -0
  158. package/dist/shared/random-hash.js +14 -0
  159. package/dist/shared/read-dir.d.ts +9 -0
  160. package/dist/shared/read-dir.js +57 -0
  161. package/dist/shared/sa-permissions.json +64 -0
  162. package/dist/shared/service-version-string.d.ts +1 -0
  163. package/dist/shared/service-version-string.js +8 -0
  164. package/dist/shared/validate-bucketname.d.ts +8 -0
  165. package/dist/shared/validate-bucketname.js +35 -0
  166. package/dist/shared/validate-cloudrun-url.d.ts +1 -0
  167. package/dist/shared/validate-cloudrun-url.js +10 -0
  168. package/dist/shared/validate-gcp-codec.d.ts +4 -0
  169. package/dist/shared/validate-gcp-codec.js +29 -0
  170. package/dist/shared/validate-gcp-region.d.ts +2 -0
  171. package/dist/shared/validate-gcp-region.js +10 -0
  172. package/dist/shared/validate-image-remotion-version.d.ts +1 -0
  173. package/dist/shared/validate-image-remotion-version.js +26 -0
  174. package/dist/shared/validate-privacy.d.ts +2 -0
  175. package/dist/shared/validate-privacy.js +12 -0
  176. package/dist/shared/validate-project-id.d.ts +1 -0
  177. package/dist/shared/validate-project-id.js +17 -0
  178. package/dist/shared/validate-region.d.ts +1 -0
  179. package/dist/shared/validate-region.js +15 -0
  180. package/dist/shared/validate-retries.d.ts +1 -0
  181. package/dist/shared/validate-retries.js +21 -0
  182. package/dist/shared/validate-serveurl.d.ts +1 -0
  183. package/dist/shared/validate-serveurl.js +30 -0
  184. package/dist/shared/validate-service-name.d.ts +1 -0
  185. package/dist/shared/validate-service-name.js +9 -0
  186. package/dist/shared/validate-site-name.d.ts +1 -0
  187. package/dist/shared/validate-site-name.js +17 -0
  188. package/package.json +57 -0
  189. package/readme.md +3 -0
@@ -0,0 +1,23 @@
1
+ export declare type BundleProgress = {
2
+ progress: number;
3
+ doneIn: number | null;
4
+ };
5
+ export declare const makeBundleProgress: ({ progress, doneIn }: BundleProgress) => string;
6
+ export declare type BucketCreationProgress = {
7
+ creationState: 'Checking for existing bucket' | 'Creating new bucket' | 'Created bucket' | 'Using existing bucket';
8
+ doneIn: number | null;
9
+ };
10
+ export declare const makeBucketProgress: ({ creationState, doneIn, }: BucketCreationProgress) => string;
11
+ declare type UploadStats = {
12
+ addedFiles: number;
13
+ removedFiles: number;
14
+ untouchedFiles: number;
15
+ };
16
+ export declare type DeployToStorageProgress = {
17
+ sizeUploaded: number;
18
+ totalSize: number | null;
19
+ doneIn: number | null;
20
+ stats: UploadStats | null;
21
+ };
22
+ export declare const makeDeployProgressBar: ({ sizeUploaded, totalSize, doneIn, stats, }: DeployToStorageProgress) => string;
23
+ export {};
@@ -0,0 +1,81 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.makeDeployProgressBar = exports.makeBucketProgress = exports.makeBundleProgress = void 0;
4
+ const cli_1 = require("@remotion/cli");
5
+ const remotion_1 = require("remotion");
6
+ const makeBundleProgress = ({ progress, doneIn }) => {
7
+ return [
8
+ `(1/3)`,
9
+ cli_1.CliInternals.makeProgressBar(progress / 100),
10
+ `${doneIn === null ? 'Bundling' : 'Bundled'} video`,
11
+ doneIn === null
12
+ ? `${Math.round(progress)}%`
13
+ : cli_1.CliInternals.chalk.gray(`${doneIn}ms`),
14
+ ].join(' ');
15
+ };
16
+ exports.makeBundleProgress = makeBundleProgress;
17
+ const makeBucketProgress = ({ creationState, doneIn, }) => {
18
+ let progress = 0;
19
+ let statesFinished = 0;
20
+ switch (creationState) {
21
+ case 'Checking for existing bucket':
22
+ progress = 1;
23
+ break;
24
+ case 'Creating new bucket':
25
+ progress = 2 / 3;
26
+ statesFinished = 2;
27
+ break;
28
+ case 'Created bucket':
29
+ progress = 3 / 3;
30
+ statesFinished = 3;
31
+ break;
32
+ case 'Using existing bucket':
33
+ progress = 3 / 3;
34
+ statesFinished = 3;
35
+ break;
36
+ default:
37
+ progress = 0;
38
+ break;
39
+ }
40
+ return [
41
+ `(2/3)`,
42
+ cli_1.CliInternals.makeProgressBar(progress),
43
+ creationState,
44
+ doneIn === null
45
+ ? `${statesFinished} / ${3}`
46
+ : cli_1.CliInternals.chalk.gray(`${doneIn}ms`),
47
+ ].join(' ');
48
+ };
49
+ exports.makeBucketProgress = makeBucketProgress;
50
+ const makeUploadDiff = ({ stats }) => {
51
+ if (!stats) {
52
+ return null;
53
+ }
54
+ if (stats.addedFiles === 0 && stats.removedFiles === 0) {
55
+ return cli_1.CliInternals.chalk.gray(`(Unchanged)`);
56
+ }
57
+ const total = stats.addedFiles + stats.removedFiles;
58
+ return cli_1.CliInternals.chalk.gray(`(${[
59
+ stats.addedFiles ? `+${stats.addedFiles}` : null,
60
+ stats.removedFiles ? `-${stats.removedFiles}` : null,
61
+ ]
62
+ .filter(remotion_1.Internals.truthy)
63
+ .join(',')} ${total === 1 ? 'file' : 'files'})`);
64
+ };
65
+ const makeDeployProgressBar = ({ sizeUploaded, totalSize, doneIn, stats, }) => {
66
+ const progress = totalSize === null ? 0 : sizeUploaded / totalSize;
67
+ return [
68
+ `(3/3)`,
69
+ cli_1.CliInternals.makeProgressBar(progress),
70
+ `${doneIn === null ? 'Uploading' : 'Uploaded'} to GCP Storage Bucket`,
71
+ doneIn === null
72
+ ? typeof totalSize === 'number'
73
+ ? `${cli_1.CliInternals.formatBytes(sizeUploaded)}/${cli_1.CliInternals.formatBytes(totalSize)}`
74
+ : ''
75
+ : cli_1.CliInternals.chalk.gray(`${doneIn}ms`),
76
+ makeUploadDiff({ stats }),
77
+ ]
78
+ .filter(remotion_1.Internals.truthy)
79
+ .join(' ');
80
+ };
81
+ exports.makeDeployProgressBar = makeDeployProgressBar;
@@ -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
+ process.exit(exitCode);
6
+ };
7
+ exports.quit = quit;
@@ -0,0 +1,4 @@
1
+ export declare const yesOrNo: ({ question, defaultValue, }: {
2
+ question: string;
3
+ defaultValue: boolean;
4
+ }) => Promise<boolean>;
@@ -0,0 +1,44 @@
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.yesOrNo = void 0;
7
+ const readline_1 = __importDefault(require("readline"));
8
+ const options = {
9
+ yes: ['yes', 'y'],
10
+ no: ['no', 'n'],
11
+ };
12
+ function defaultInvalidHandler({ yesValues, noValues, }) {
13
+ process.stdout.write('\nInvalid Response.\n');
14
+ process.stdout.write('Answer either yes : (' + yesValues.join(', ') + ') \n');
15
+ process.stdout.write('Or no: (' + noValues.join(', ') + ') \n\n');
16
+ }
17
+ const yesOrNo = ({ question, defaultValue, }) => {
18
+ const invalid = defaultInvalidHandler;
19
+ const yesValues = options.yes.map((v) => v.toLowerCase());
20
+ const noValues = options.no.map((v) => v.toLowerCase());
21
+ const rl = readline_1.default.createInterface({
22
+ input: process.stdin,
23
+ output: process.stdout,
24
+ });
25
+ return new Promise((resolve) => {
26
+ rl.question(question + ' ', async (answer) => {
27
+ rl.close();
28
+ const cleaned = answer.trim().toLowerCase();
29
+ if (cleaned === '' && defaultValue !== null)
30
+ return resolve(defaultValue);
31
+ if (yesValues.indexOf(cleaned) >= 0)
32
+ return resolve(true);
33
+ if (noValues.indexOf(cleaned) >= 0)
34
+ return resolve(false);
35
+ invalid({ question, yesValues, noValues });
36
+ const result = await (0, exports.yesOrNo)({
37
+ question,
38
+ defaultValue,
39
+ });
40
+ resolve(result);
41
+ });
42
+ });
43
+ };
44
+ exports.yesOrNo = yesOrNo;
@@ -0,0 +1 @@
1
+ export declare const executeCommand: (args: string[], remotionRoot: string) => Promise<void>;
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.executeCommand = void 0;
4
+ const args_1 = require("./args");
5
+ const permissions_1 = require("./commands/permissions");
6
+ const regions_1 = require("./commands/regions");
7
+ const render_1 = require("./commands/render");
8
+ const still_1 = require("./commands/still");
9
+ const services_1 = require("./commands/services");
10
+ const sites_1 = require("./commands/sites");
11
+ const help_1 = require("./help");
12
+ const quit_1 = require("./helpers/quit");
13
+ const log_1 = require("./log");
14
+ const matchCommand = (args, remotionRoot) => {
15
+ if (args_1.parsedCloudrunCli.help || args.length === 0 || args[0] === 'help') {
16
+ (0, help_1.printHelp)();
17
+ (0, quit_1.quit)(0);
18
+ }
19
+ if (args[0] === render_1.RENDER_COMMAND) {
20
+ return (0, render_1.renderCommand)(args.slice(1), remotionRoot);
21
+ }
22
+ if (args[0] === still_1.STILL_COMMAND) {
23
+ return (0, still_1.stillCommand)(args.slice(1), remotionRoot);
24
+ }
25
+ if (args[0] === services_1.SERVICES_COMMAND) {
26
+ return (0, services_1.servicesCommand)(args.slice(1));
27
+ }
28
+ if (args[0] === sites_1.SITES_COMMAND) {
29
+ return (0, sites_1.sitesCommand)(args.slice(1), remotionRoot);
30
+ }
31
+ if (args[0] === regions_1.REGIONS_COMMAND) {
32
+ return (0, regions_1.regionsCommand)();
33
+ }
34
+ if (args[0] === permissions_1.PERMISSIONS_COMMAND) {
35
+ return (0, permissions_1.permissionsCommand)();
36
+ }
37
+ if (args[0] === 'deploy') {
38
+ log_1.Log.info(`The "deploy" command does not exist.`);
39
+ log_1.Log.info(`Did you mean "service deploy"?`);
40
+ }
41
+ log_1.Log.error(`Command ${args[0]} not found.`);
42
+ (0, help_1.printHelp)();
43
+ (0, quit_1.quit)(1);
44
+ };
45
+ const executeCommand = async (args, remotionRoot) => {
46
+ try {
47
+ await matchCommand(args, remotionRoot);
48
+ }
49
+ catch (err) {
50
+ const error = err;
51
+ // todo: catch errors and print a message. Check lambda cli for example
52
+ log_1.Log.error(error.stack);
53
+ (0, quit_1.quit)(1);
54
+ }
55
+ };
56
+ exports.executeCommand = executeCommand;
@@ -0,0 +1,26 @@
1
+ export declare const Log: {
2
+ verbose: (message?: any, ...optionalParams: any[]) => void;
3
+ verboseAdvanced: (options: {
4
+ indent: boolean;
5
+ logLevel: "error" | "verbose" | "info" | "warn";
6
+ } & {
7
+ tag?: string | undefined;
8
+ }, message?: any, ...optionalParams: any[]) => void;
9
+ info: (message?: any, ...optionalParams: any[]) => void;
10
+ infoAdvanced: (options: {
11
+ indent: boolean;
12
+ logLevel: "error" | "verbose" | "info" | "warn";
13
+ }, message?: any, ...optionalParams: any[]) => void;
14
+ warn: (message?: any, ...optionalParams: any[]) => void;
15
+ warnAdvanced: (options: {
16
+ indent: boolean;
17
+ logLevel: "error" | "verbose" | "info" | "warn";
18
+ }, message?: any, ...optionalParams: any[]) => void;
19
+ error: (message?: any, ...optionalParams: any[]) => void;
20
+ errorAdvanced: (options: {
21
+ indent: boolean;
22
+ logLevel: "error" | "verbose" | "info" | "warn";
23
+ } & {
24
+ tag?: string | undefined;
25
+ }, message?: any, ...optionalParams: any[]) => void;
26
+ };
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Log = void 0;
4
+ const renderer_1 = require("@remotion/renderer");
5
+ exports.Log = renderer_1.RenderInternals.Log;
@@ -0,0 +1 @@
1
+ export * from './shared/constants';
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./shared/constants"), exports);
@@ -0,0 +1,2 @@
1
+ import type { CloudRunPayloadType } from './payloads';
2
+ export declare const getCompositionFromBody: (body: CloudRunPayloadType) => Promise<import("remotion").VideoConfig>;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getCompositionFromBody = void 0;
4
+ const renderer_1 = require("@remotion/renderer");
5
+ const getCompositionFromBody = async (body) => {
6
+ var _a, _b;
7
+ const { metadata, propsSize } = await renderer_1.RenderInternals.internalSelectComposition({
8
+ serveUrl: body.serveUrl,
9
+ browserExecutable: null,
10
+ chromiumOptions: (_a = body.chromiumOptions) !== null && _a !== void 0 ? _a : {},
11
+ envVariables: (_b = body.envVariables) !== null && _b !== void 0 ? _b : {},
12
+ id: body.composition,
13
+ indent: false,
14
+ serializedInputPropsWithCustomSchema: body.serializedInputPropsWithCustomSchema,
15
+ logLevel: body.logLevel,
16
+ onBrowserLog: () => null,
17
+ port: null,
18
+ puppeteerInstance: undefined,
19
+ server: undefined,
20
+ timeoutInMilliseconds: body.delayRenderTimeoutInMilliseconds,
21
+ });
22
+ if (propsSize > 10000000) {
23
+ renderer_1.RenderInternals.Log.warn(`The props of your composition are large (${propsSize} bytes). This may cause slowdown.`);
24
+ }
25
+ return metadata;
26
+ };
27
+ exports.getCompositionFromBody = getCompositionFromBody;
@@ -0,0 +1,11 @@
1
+ import type { File } from '@google-cloud/storage';
2
+ export declare type CloudrunLSInput = {
3
+ bucketName: string;
4
+ prefix: string;
5
+ };
6
+ export declare type CloudrunLsReturnType = Promise<File[]>;
7
+ export declare const cloudrunLs: ({ bucketName, prefix, }: CloudrunLSInput) => CloudrunLsReturnType;
8
+ export declare const cloudrunDeleteFile: ({ bucketName, key, }: {
9
+ bucketName: string;
10
+ key: string;
11
+ }) => Promise<void>;
@@ -0,0 +1,17 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.cloudrunDeleteFile = exports.cloudrunLs = void 0;
4
+ const get_cloud_storage_client_1 = require("../../api/helpers/get-cloud-storage-client");
5
+ const cloudrunLs = async ({ bucketName, prefix, }) => {
6
+ const cloudStorageClient = (0, get_cloud_storage_client_1.getCloudStorageClient)();
7
+ const [files] = await cloudStorageClient
8
+ .bucket(bucketName)
9
+ .getFiles({ prefix, autoPaginate: true });
10
+ return files;
11
+ };
12
+ exports.cloudrunLs = cloudrunLs;
13
+ const cloudrunDeleteFile = async ({ bucketName, key, }) => {
14
+ const cloudStorageClient = (0, get_cloud_storage_client_1.getCloudStorageClient)();
15
+ await cloudStorageClient.bucket(bucketName).file(key).delete();
16
+ };
17
+ exports.cloudrunDeleteFile = cloudrunDeleteFile;
@@ -0,0 +1,300 @@
1
+ import { z } from 'zod';
2
+ export declare const CloudRunPayload: z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
3
+ type: z.ZodLiteral<"media">;
4
+ serveUrl: z.ZodString;
5
+ composition: z.ZodString;
6
+ forceHeight: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
7
+ forceWidth: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
8
+ codec: z.ZodEnum<["h264", "h265", "vp8", "vp9", "mp3", "aac", "wav", "prores", "h264-mkv", "gif"]>;
9
+ serializedInputPropsWithCustomSchema: z.ZodString;
10
+ jpegQuality: z.ZodNumber;
11
+ audioCodec: z.ZodNullable<z.ZodEnum<["pcm-16", "aac", "mp3", "opus"]>>;
12
+ audioBitrate: z.ZodNullable<z.ZodString>;
13
+ videoBitrate: z.ZodNullable<z.ZodString>;
14
+ crf: z.ZodNullable<z.ZodNumber>;
15
+ pixelFormat: z.ZodEnum<["yuv420p", "yuva420p", "yuv422p", "yuv444p", "yuv420p10le", "yuv422p10le", "yuv444p10le", "yuva444p10le"]>;
16
+ imageFormat: z.ZodEnum<["png", "jpeg", "none"]>;
17
+ scale: z.ZodNumber;
18
+ proResProfile: z.ZodNullable<z.ZodEnum<["4444-xq", "4444", "hq", "standard", "light", "proxy"]>>;
19
+ everyNthFrame: z.ZodNumber;
20
+ numberOfGifLoops: z.ZodNullable<z.ZodNumber>;
21
+ frameRange: z.ZodNullable<z.ZodUnion<[z.ZodTuple<[z.ZodNumber, z.ZodNumber], null>, z.ZodNumber]>>;
22
+ envVariables: z.ZodRecord<z.ZodString, z.ZodString>;
23
+ chromiumOptions: z.ZodOptional<z.ZodObject<{
24
+ ignoreCertificateErrors: z.ZodOptional<z.ZodBoolean>;
25
+ disableWebSecurity: z.ZodOptional<z.ZodBoolean>;
26
+ gl: z.ZodNullable<z.ZodOptional<z.ZodEnum<["swangle", "angle", "egl", "swiftshader"]>>>;
27
+ headless: z.ZodOptional<z.ZodBoolean>;
28
+ userAgent: z.ZodNullable<z.ZodOptional<z.ZodString>>;
29
+ }, "strip", z.ZodTypeAny, {
30
+ ignoreCertificateErrors?: boolean | undefined;
31
+ disableWebSecurity?: boolean | undefined;
32
+ gl?: "swangle" | "angle" | "egl" | "swiftshader" | null | undefined;
33
+ headless?: boolean | undefined;
34
+ userAgent?: string | null | undefined;
35
+ }, {
36
+ ignoreCertificateErrors?: boolean | undefined;
37
+ disableWebSecurity?: boolean | undefined;
38
+ gl?: "swangle" | "angle" | "egl" | "swiftshader" | null | undefined;
39
+ headless?: boolean | undefined;
40
+ userAgent?: string | null | undefined;
41
+ }>>;
42
+ muted: z.ZodBoolean;
43
+ outputBucket: z.ZodString;
44
+ outName: z.ZodOptional<z.ZodString>;
45
+ privacy: z.ZodOptional<z.ZodEnum<["public", "private"]>>;
46
+ logLevel: z.ZodEnum<["verbose", "info", "warn", "error"]>;
47
+ delayRenderTimeoutInMilliseconds: z.ZodNumber;
48
+ concurrency: z.ZodNullable<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
49
+ enforceAudioTrack: z.ZodBoolean;
50
+ preferLossless: z.ZodBoolean;
51
+ }, "strip", z.ZodTypeAny, {
52
+ type: "media";
53
+ serveUrl: string;
54
+ composition: string;
55
+ codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
56
+ serializedInputPropsWithCustomSchema: string;
57
+ jpegQuality: number;
58
+ audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
59
+ audioBitrate: string | null;
60
+ videoBitrate: string | null;
61
+ crf: number | null;
62
+ pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
63
+ imageFormat: "png" | "jpeg" | "none";
64
+ scale: number;
65
+ proResProfile: "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | null;
66
+ everyNthFrame: number;
67
+ numberOfGifLoops: number | null;
68
+ frameRange: ((number | [number, number]) & (number | [number, number] | undefined)) | null;
69
+ envVariables: Record<string, string>;
70
+ muted: boolean;
71
+ outputBucket: string;
72
+ logLevel: "error" | "verbose" | "info" | "warn";
73
+ delayRenderTimeoutInMilliseconds: number;
74
+ concurrency: string | number | null;
75
+ enforceAudioTrack: boolean;
76
+ preferLossless: boolean;
77
+ forceHeight?: number | null | undefined;
78
+ forceWidth?: number | null | undefined;
79
+ chromiumOptions?: {
80
+ ignoreCertificateErrors?: boolean | undefined;
81
+ disableWebSecurity?: boolean | undefined;
82
+ gl?: "swangle" | "angle" | "egl" | "swiftshader" | null | undefined;
83
+ headless?: boolean | undefined;
84
+ userAgent?: string | null | undefined;
85
+ } | undefined;
86
+ outName?: string | undefined;
87
+ privacy?: "public" | "private" | undefined;
88
+ }, {
89
+ type: "media";
90
+ serveUrl: string;
91
+ composition: string;
92
+ codec: "h264" | "h265" | "vp8" | "vp9" | "mp3" | "aac" | "wav" | "prores" | "h264-mkv" | "gif";
93
+ serializedInputPropsWithCustomSchema: string;
94
+ jpegQuality: number;
95
+ audioCodec: "mp3" | "aac" | "pcm-16" | "opus" | null;
96
+ audioBitrate: string | null;
97
+ videoBitrate: string | null;
98
+ crf: number | null;
99
+ pixelFormat: "yuv420p" | "yuva420p" | "yuv422p" | "yuv444p" | "yuv420p10le" | "yuv422p10le" | "yuv444p10le" | "yuva444p10le";
100
+ imageFormat: "png" | "jpeg" | "none";
101
+ scale: number;
102
+ proResProfile: "4444-xq" | "4444" | "hq" | "standard" | "light" | "proxy" | null;
103
+ everyNthFrame: number;
104
+ numberOfGifLoops: number | null;
105
+ frameRange: ((number | [number, number]) & (number | [number, number] | undefined)) | null;
106
+ envVariables: Record<string, string>;
107
+ muted: boolean;
108
+ outputBucket: string;
109
+ logLevel: "error" | "verbose" | "info" | "warn";
110
+ delayRenderTimeoutInMilliseconds: number;
111
+ concurrency: string | number | null;
112
+ enforceAudioTrack: boolean;
113
+ preferLossless: boolean;
114
+ forceHeight?: number | null | undefined;
115
+ forceWidth?: number | null | undefined;
116
+ chromiumOptions?: {
117
+ ignoreCertificateErrors?: boolean | undefined;
118
+ disableWebSecurity?: boolean | undefined;
119
+ gl?: "swangle" | "angle" | "egl" | "swiftshader" | null | undefined;
120
+ headless?: boolean | undefined;
121
+ userAgent?: string | null | undefined;
122
+ } | undefined;
123
+ outName?: string | undefined;
124
+ privacy?: "public" | "private" | undefined;
125
+ }>, z.ZodObject<{
126
+ type: z.ZodLiteral<"still">;
127
+ serveUrl: z.ZodString;
128
+ composition: z.ZodString;
129
+ forceHeight: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
130
+ forceWidth: z.ZodNullable<z.ZodOptional<z.ZodNumber>>;
131
+ serializedInputPropsWithCustomSchema: z.ZodString;
132
+ jpegQuality: z.ZodOptional<z.ZodNumber>;
133
+ imageFormat: z.ZodEnum<["png", "jpeg", "pdf", "webp"]>;
134
+ scale: z.ZodNumber;
135
+ privacy: z.ZodEnum<["public", "private"]>;
136
+ envVariables: z.ZodRecord<z.ZodString, z.ZodString>;
137
+ chromiumOptions: z.ZodOptional<z.ZodObject<{
138
+ ignoreCertificateErrors: z.ZodOptional<z.ZodBoolean>;
139
+ disableWebSecurity: z.ZodOptional<z.ZodBoolean>;
140
+ gl: z.ZodNullable<z.ZodOptional<z.ZodEnum<["swangle", "angle", "egl", "swiftshader"]>>>;
141
+ headless: z.ZodOptional<z.ZodBoolean>;
142
+ userAgent: z.ZodNullable<z.ZodOptional<z.ZodString>>;
143
+ }, "strip", z.ZodTypeAny, {
144
+ ignoreCertificateErrors?: boolean | undefined;
145
+ disableWebSecurity?: boolean | undefined;
146
+ gl?: "swangle" | "angle" | "egl" | "swiftshader" | null | undefined;
147
+ headless?: boolean | undefined;
148
+ userAgent?: string | null | undefined;
149
+ }, {
150
+ ignoreCertificateErrors?: boolean | undefined;
151
+ disableWebSecurity?: boolean | undefined;
152
+ gl?: "swangle" | "angle" | "egl" | "swiftshader" | null | undefined;
153
+ headless?: boolean | undefined;
154
+ userAgent?: string | null | undefined;
155
+ }>>;
156
+ outputBucket: z.ZodString;
157
+ outName: z.ZodOptional<z.ZodString>;
158
+ frame: z.ZodNumber;
159
+ delayRenderTimeoutInMilliseconds: z.ZodNumber;
160
+ logLevel: z.ZodEnum<["verbose", "info", "warn", "error"]>;
161
+ }, "strip", z.ZodTypeAny, {
162
+ type: "still";
163
+ serveUrl: string;
164
+ composition: string;
165
+ serializedInputPropsWithCustomSchema: string;
166
+ imageFormat: "png" | "jpeg" | "pdf" | "webp";
167
+ scale: number;
168
+ envVariables: Record<string, string>;
169
+ outputBucket: string;
170
+ privacy: "public" | "private";
171
+ logLevel: "error" | "verbose" | "info" | "warn";
172
+ delayRenderTimeoutInMilliseconds: number;
173
+ frame: number;
174
+ forceHeight?: number | null | undefined;
175
+ forceWidth?: number | null | undefined;
176
+ jpegQuality?: number | undefined;
177
+ chromiumOptions?: {
178
+ ignoreCertificateErrors?: boolean | undefined;
179
+ disableWebSecurity?: boolean | undefined;
180
+ gl?: "swangle" | "angle" | "egl" | "swiftshader" | null | undefined;
181
+ headless?: boolean | undefined;
182
+ userAgent?: string | null | undefined;
183
+ } | undefined;
184
+ outName?: string | undefined;
185
+ }, {
186
+ type: "still";
187
+ serveUrl: string;
188
+ composition: string;
189
+ serializedInputPropsWithCustomSchema: string;
190
+ imageFormat: "png" | "jpeg" | "pdf" | "webp";
191
+ scale: number;
192
+ envVariables: Record<string, string>;
193
+ outputBucket: string;
194
+ privacy: "public" | "private";
195
+ logLevel: "error" | "verbose" | "info" | "warn";
196
+ delayRenderTimeoutInMilliseconds: number;
197
+ frame: number;
198
+ forceHeight?: number | null | undefined;
199
+ forceWidth?: number | null | undefined;
200
+ jpegQuality?: number | undefined;
201
+ chromiumOptions?: {
202
+ ignoreCertificateErrors?: boolean | undefined;
203
+ disableWebSecurity?: boolean | undefined;
204
+ gl?: "swangle" | "angle" | "egl" | "swiftshader" | null | undefined;
205
+ headless?: boolean | undefined;
206
+ userAgent?: string | null | undefined;
207
+ } | undefined;
208
+ outName?: string | undefined;
209
+ }>]>;
210
+ declare const renderFailResponsePayload: z.ZodObject<{
211
+ status: z.ZodLiteral<"error">;
212
+ error: z.ZodString;
213
+ stack: z.ZodString;
214
+ }, "strip", z.ZodTypeAny, {
215
+ status: "error";
216
+ error: string;
217
+ stack: string;
218
+ }, {
219
+ status: "error";
220
+ error: string;
221
+ stack: string;
222
+ }>;
223
+ declare const renderStillOnCloudrunResponsePayload: z.ZodObject<{
224
+ status: z.ZodLiteral<"success">;
225
+ publicUrl: z.ZodNullable<z.ZodOptional<z.ZodString>>;
226
+ cloudStorageUri: z.ZodString;
227
+ size: z.ZodNumber;
228
+ bucketName: z.ZodString;
229
+ renderId: z.ZodString;
230
+ privacy: z.ZodEnum<["public-read", "project-private"]>;
231
+ }, "strip", z.ZodTypeAny, {
232
+ status: "success";
233
+ privacy: "public-read" | "project-private";
234
+ cloudStorageUri: string;
235
+ size: number;
236
+ bucketName: string;
237
+ renderId: string;
238
+ publicUrl?: string | null | undefined;
239
+ }, {
240
+ status: "success";
241
+ privacy: "public-read" | "project-private";
242
+ cloudStorageUri: string;
243
+ size: number;
244
+ bucketName: string;
245
+ renderId: string;
246
+ publicUrl?: string | null | undefined;
247
+ }>;
248
+ declare const renderMediaOnCloudrunResponsePayload: z.ZodObject<{
249
+ status: z.ZodLiteral<"success">;
250
+ publicUrl: z.ZodNullable<z.ZodOptional<z.ZodString>>;
251
+ cloudStorageUri: z.ZodString;
252
+ size: z.ZodNumber;
253
+ bucketName: z.ZodString;
254
+ renderId: z.ZodString;
255
+ privacy: z.ZodEnum<["public-read", "project-private"]>;
256
+ }, "strip", z.ZodTypeAny, {
257
+ status: "success";
258
+ privacy: "public-read" | "project-private";
259
+ cloudStorageUri: string;
260
+ size: number;
261
+ bucketName: string;
262
+ renderId: string;
263
+ publicUrl?: string | null | undefined;
264
+ }, {
265
+ status: "success";
266
+ privacy: "public-read" | "project-private";
267
+ cloudStorageUri: string;
268
+ size: number;
269
+ bucketName: string;
270
+ renderId: string;
271
+ publicUrl?: string | null | undefined;
272
+ }>;
273
+ declare const cloudRunCrashResponse: z.ZodObject<{
274
+ status: z.ZodLiteral<"crash">;
275
+ cloudRunEndpoint: z.ZodString;
276
+ message: z.ZodLiteral<"Service crashed without sending a response. Check the logs in GCP console.">;
277
+ requestStartTime: z.ZodString;
278
+ requestCrashTime: z.ZodString;
279
+ requestElapsedTimeInSeconds: z.ZodNumber;
280
+ }, "strip", z.ZodTypeAny, {
281
+ message: "Service crashed without sending a response. Check the logs in GCP console.";
282
+ status: "crash";
283
+ cloudRunEndpoint: string;
284
+ requestStartTime: string;
285
+ requestCrashTime: string;
286
+ requestElapsedTimeInSeconds: number;
287
+ }, {
288
+ message: "Service crashed without sending a response. Check the logs in GCP console.";
289
+ status: "crash";
290
+ cloudRunEndpoint: string;
291
+ requestStartTime: string;
292
+ requestCrashTime: string;
293
+ requestElapsedTimeInSeconds: number;
294
+ }>;
295
+ export declare type CloudRunPayloadType = z.infer<typeof CloudRunPayload>;
296
+ export declare type RenderStillOnCloudrunOutput = z.infer<typeof renderStillOnCloudrunResponsePayload>;
297
+ export declare type RenderMediaOnCloudrunOutput = z.infer<typeof renderMediaOnCloudrunResponsePayload>;
298
+ export declare type ErrorResponsePayload = z.infer<typeof renderFailResponsePayload>;
299
+ export declare type CloudRunCrashResponse = z.infer<typeof cloudRunCrashResponse>;
300
+ export {};