@coralogix/rum-cli 1.1.8 → 1.1.11

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 (67) hide show
  1. package/.eslintignore +1 -0
  2. package/.eslintrc.js +31 -0
  3. package/.github/workflows/npm-publish.yml +41 -0
  4. package/README.md +8 -8
  5. package/api/rum-api.ts +79 -0
  6. package/cli/rum-cli.ts +54 -0
  7. package/cli/theme/index.ts +5 -0
  8. package/cli/validators/index.ts +14 -0
  9. package/config/config.ts +31 -0
  10. package/config/index.js +7 -0
  11. package/config/index.ts +3 -0
  12. package/dist/api/rum-api.d.ts +5 -0
  13. package/dist/api/rum-api.js +98 -0
  14. package/dist/cli/rum-cli.d.ts +2 -0
  15. package/dist/cli/rum-cli.js +6 -6
  16. package/dist/cli/theme/index.d.ts +3 -0
  17. package/dist/cli/theme/index.js +7 -0
  18. package/dist/cli/validators/index.d.ts +1 -0
  19. package/dist/cli/validators/index.js +16 -0
  20. package/dist/config/config.d.ts +16 -0
  21. package/dist/config/config.js +16 -0
  22. package/dist/config/index.d.ts +2 -0
  23. package/dist/config/index.js +8 -0
  24. package/dist/model/cli.model.d.ts +1 -0
  25. package/dist/model/cli.model.js +11 -0
  26. package/dist/proto-models/com/coralogix/rum/v2/audit_log.d.ts +24 -0
  27. package/dist/proto-models/com/coralogix/rum/v2/audit_log.js +62 -0
  28. package/dist/proto-models/com/coralogix/rum/v2/chunk.d.ts +56 -0
  29. package/dist/proto-models/com/coralogix/rum/v2/chunk.js +330 -0
  30. package/dist/proto-models/com/coralogix/rum/v2/file.d.ts +26 -0
  31. package/dist/proto-models/com/coralogix/rum/v2/file.js +140 -0
  32. package/dist/proto-models/com/coralogix/rum/v2/rum_service.d.ts +72 -0
  33. package/dist/proto-models/com/coralogix/rum/v2/rum_service.js +233 -0
  34. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.d.ts +69 -0
  35. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +181 -0
  36. package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.d.ts +55 -0
  37. package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.js +277 -0
  38. package/dist/proto-models/google/protobuf/descriptor.d.ts +1140 -0
  39. package/dist/proto-models/google/protobuf/descriptor.js +3612 -0
  40. package/dist/services/source-maps/source-maps.service.d.ts +3 -0
  41. package/dist/services/source-maps/source-maps.service.js +42 -0
  42. package/dist/services/source-maps/utils/traverse-folder.util.d.ts +2 -0
  43. package/dist/services/source-maps/utils/traverse-folder.util.js +42 -0
  44. package/generate-protos.sh +14 -0
  45. package/meta.yaml +4 -0
  46. package/model/cli.model.ts +7 -0
  47. package/package.json +2 -5
  48. package/proto-models/com/coralogix/rum/v2/audit_log.ts +76 -0
  49. package/proto-models/com/coralogix/rum/v2/chunk.ts +391 -0
  50. package/proto-models/com/coralogix/rum/v2/file.ts +164 -0
  51. package/proto-models/com/coralogix/rum/v2/rum_service.ts +272 -0
  52. package/proto-models/com/coralogix/rum/v2/rum_source_map_service.ts +216 -0
  53. package/proto-models/com/coralogix/rum/v2/source_code_file_mapping.ts +331 -0
  54. package/proto-models/google/protobuf/descriptor.ts +4715 -0
  55. package/protofetch.lock +18 -0
  56. package/protofetch.toml +7 -0
  57. package/protos/com/coralogix/rum/v2/audit_log.proto +13 -0
  58. package/protos/com/coralogix/rum/v2/chunk.proto +24 -0
  59. package/protos/com/coralogix/rum/v2/file.proto +8 -0
  60. package/protos/com/coralogix/rum/v2/rum_service.proto +23 -0
  61. package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +19 -0
  62. package/protos/com/coralogix/rum/v2/source_code_file_mapping.proto +16 -0
  63. package/protoset.bin +0 -0
  64. package/services/source-maps/source-maps.service.ts +31 -0
  65. package/services/source-maps/utils/traverse-folder.util.ts +33 -0
  66. package/tsconfig.build.json +6 -0
  67. package/tsconfig.json +25 -0
package/.eslintignore ADDED
@@ -0,0 +1 @@
1
+ dist
package/.eslintrc.js ADDED
@@ -0,0 +1,31 @@
1
+ module.exports = {
2
+ "root": true,
3
+ "parser": "@typescript-eslint/parser",
4
+ "parserOptions": {
5
+ "project": `./tsconfig.json`
6
+ },
7
+ "plugins": [
8
+ "@typescript-eslint"
9
+ ],
10
+ "extends": [
11
+ "eslint:recommended",
12
+ "plugin:@typescript-eslint/eslint-recommended"
13
+ ],
14
+ "rules": {
15
+ "@typescript-eslint/naming-convention": "error",
16
+ "@typescript-eslint/explicit-module-boundary-types": "error",
17
+ "@typescript-eslint/no-require-imports": "error",
18
+ "@typescript-eslint/prefer-nullish-coalescing": "error",
19
+ "@typescript-eslint/prefer-optional-chain": "error",
20
+ "@typescript-eslint/prefer-string-starts-ends-with": "error",
21
+ "@typescript-eslint/promise-function-async": "error",
22
+ "@typescript-eslint/switch-exhaustiveness-check": "error",
23
+ "@typescript-eslint/type-annotation-spacing": "error",
24
+ "semi": [2, "always"],
25
+ "key-spacing": "error",
26
+ "comma-spacing":["error", {
27
+ "before": false,
28
+ "after": true,
29
+ }]
30
+ }
31
+ };
@@ -0,0 +1,41 @@
1
+ # This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
2
+ # For more information see: https://docs.github.com/en/actions/publishing-packages/publishing-nodejs-packages
3
+
4
+ name: Node.js Package
5
+
6
+ on:
7
+ release:
8
+ types: [created]
9
+
10
+ jobs:
11
+ build:
12
+ runs-on: ubuntu-latest
13
+ steps:
14
+ - uses: actions/checkout@v3
15
+ - uses: actions/setup-node@v3
16
+ with:
17
+ node-version: 18
18
+ - uses: webfactory/ssh-agent@v0.8.0
19
+ with:
20
+ ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
21
+ - run: npm ci
22
+ - run: npm run proto
23
+ - run: npm run build
24
+ publish-npm:
25
+ needs: build
26
+ runs-on: ubuntu-latest
27
+ steps:
28
+ - uses: actions/checkout@v3
29
+ - uses: actions/setup-node@v3
30
+ with:
31
+ node-version: 18
32
+ registry-url: https://registry.npmjs.org/
33
+ - uses: webfactory/ssh-agent@v0.8.0
34
+ with:
35
+ ssh-private-key: ${{ secrets.SSH_PRIVATE_KEY }}
36
+ - run: npm ci
37
+ - run: npm run proto
38
+ - run: npm run build
39
+ - run: npm publish --access public
40
+ env:
41
+ NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}}
package/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Official Coralogix RUM CLI
2
2
 
3
- The Coralogix RUM CLI is a command-line interface tool that simplifies the process of uploading source maps for your applications to the Coralogix RUM service. This CLI tool provides an easy and efficient way to authenticate with the Coralogix API, specify the application and release information, and traverse a folder to upload the relevant source map files.
3
+ The Coralogix RUM CLI is a command-line interface tool that simplifies the process of uploading source maps for your applications to the Coralogix RUM service. This CLI tool provides an easy and efficient way to authenticate with the Coralogix API, specify the application and application version information, and traverse a folder to upload the relevant source map files.
4
4
 
5
5
  [![npm version](https://img.shields.io/npm/v/@coralogix/browser.svg)](https://www.npmjs.com/package/@coralogix/browser)
6
6
 
@@ -23,7 +23,7 @@ Here are some examples of how to use the Coralogix RUM CLI:
23
23
 
24
24
  1. Upload source maps:
25
25
 
26
- - `coralogix-rum-cli upload-source-maps -k <privateKey> -a <application> -r <releaseId> -f <folderPath> -e <env> -c <commitHash> -n <repoName> -o <orgName>`
26
+ - `coralogix-rum-cli upload-source-maps -k <privateKey> -a <application> -v <version> -f <folderPath> -e <env> -c <commitHash> -n <repoName> -o <orgName>`
27
27
 
28
28
  2. Display help:
29
29
 
@@ -35,7 +35,7 @@ Here are some examples of how to use the Coralogix RUM CLI:
35
35
 
36
36
  - `-k, --private-key <privateKey>`: Private key to authenticate with the Coralogix API.
37
37
  - `-a, --application <application>`: Name of the application.
38
- - `-r, --release-id <releaseId>`: ID of the release.
38
+ - `-v, --version <version>`: The application version - must match the version used by RUM sdk.
39
39
  - `-f, --folder-path <folderPath>`: Path to the folder containing the source maps.
40
40
  - `-e, --env <env>`: Your environment.
41
41
  - `-c, --commit-hash <commitHash>`: GitHub commit hash (optional).
@@ -61,25 +61,25 @@ APPLICATION="your-application-name"
61
61
  ENV="your-environment"
62
62
  SOURCE_MAPS_PATH="your-source-maps-path"
63
63
  PRIVATE_KEY="your-coralogix-private-key"
64
- RELEASE_ID="your-release-id"
64
+ VERSION="your-application-version"
65
65
 
66
66
  # Get the commit hash using git rev-parse
67
67
  COMMIT_HASH=$(git rev-parse HEAD)
68
68
 
69
69
  # Run Coralogix RUM CLI to upload source maps
70
- coralogix-rum-cli upload-source-maps -k "$PRIVATE_KEY" -a "$APPLICATION" -r "$RELEASE_NAME" -f "$SOURCE_MAPS_PATH" -e "$ENV" -c "$COMMIT_HASH" -n "$REPO_NAME" -o "$ORG_NAME"
70
+ coralogix-rum-cli upload-source-maps -k "$PRIVATE_KEY" -a "$APPLICATION" -v "$VERSION" -f "$SOURCE_MAPS_PATH" -e "$ENV" -c "$COMMIT_HASH" -n "$REPO_NAME" -o "$ORG_NAME"
71
71
  ```
72
72
 
73
73
  ### For Non-CI Integration:
74
74
  1. Open a terminal window,and run the following command:
75
75
  ```bash
76
- coralogix-rum-cli upload-source-maps -k "$PRIVATE_KEY" -a "$APPLICATION" -r "$RELEASE_NAME" -f "$SOURCE_MAPS_PATH" -e "$ENV" -c "$COMMIT_HASH" -n "$REPO_NAME" -o "$ORG_NAME"
76
+ coralogix-rum-cli upload-source-maps -k "$PRIVATE_KEY" -a "$APPLICATION" -v "$VERSION" -f "$SOURCE_MAPS_PATH" -e "$ENV" -c "$COMMIT_HASH" -n "$REPO_NAME" -o "$ORG_NAME"
77
77
  ```
78
78
 
79
79
  <br>
80
80
 
81
- | IMPORTANT: The $RELEASE_ID must align with the content of the version field in your CoralogixRum.init() configuration in [Coralogix SDK for Browsers](https://www.npmjs.com/package/@coralogix/browser) |
82
- | --- |
81
+ | IMPORTANT: The $VERSION param must align with the content of the version field in your CoralogixRum.init() configuration in [Coralogix SDK for Browsers](https://www.npmjs.com/package/@coralogix/browser) |
82
+ |------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
83
83
 
84
84
  <br>
85
85
 
package/api/rum-api.ts ADDED
@@ -0,0 +1,79 @@
1
+ import {Client, createChannel, createClient, Metadata} from 'nice-grpc';
2
+ import {envToDomain} from "../model/cli.model";
3
+ import * as pako from 'pako';
4
+ import config from "../config/config";
5
+ import {RED_COLOR} from "../cli/theme";
6
+ import {FileMetadata} from "../proto-models/com/coralogix/rum/v2/file";
7
+ import {
8
+ RumSourceMapServiceDefinition,
9
+ UploadSourceMapsRequest
10
+ } from "../proto-models/com/coralogix/rum/v2/rum_source_map_service";
11
+
12
+ export class RumApi {
13
+ static async uploadSourceMaps(request: UploadSourceMapsRequest, env: string, privateKey: string) {
14
+
15
+ const {maxMessageSize, keepaliveTimeMs, keepaliveTimeoutMs} = config.rumApi;
16
+
17
+ try {
18
+ const channel = createChannel(envToDomain[env], undefined, {
19
+ "grpc.max_receive_message_length": maxMessageSize,
20
+ "grpc.max_send_message_length": maxMessageSize,
21
+ 'grpc.keepalive_time_ms': keepaliveTimeMs,
22
+ 'grpc.keepalive_timeout_ms': keepaliveTimeoutMs,
23
+ });
24
+
25
+ const client: Client<typeof RumSourceMapServiceDefinition> = createClient(RumSourceMapServiceDefinition, channel);
26
+
27
+ const {files, releaseId, application, repoName, commitHash, user} = request;
28
+
29
+ const compressedFiles: FileMetadata[] = await Promise.all(
30
+ files.map(async (file: FileMetadata) => {
31
+ const compressedChunks = this.compressFileContentChunks(file.content);
32
+
33
+ const size = compressedChunks.length;
34
+
35
+ return {chunkName: file.chunkName, size, content: compressedChunks};
36
+ })
37
+ );
38
+
39
+ const metadata = new Metadata();
40
+
41
+ metadata.set('Authorization', `Bearer ${privateKey}`);
42
+
43
+ await client.uploadSourceMaps({
44
+ files: compressedFiles,
45
+ releaseId,
46
+ application,
47
+ repoName,
48
+ commitHash,
49
+ user
50
+ }, {metadata});
51
+
52
+ } catch (error) {
53
+ throw error;
54
+ }
55
+ };
56
+
57
+ private static compressFileContentChunks = (fileContent: Uint8Array): Uint8Array => {
58
+ const {chunkSize} = config.rumApi; // 512 KB chunk size
59
+ const deflate = new pako.Deflate();
60
+ const totalChunks = Math.ceil(fileContent.length / chunkSize);
61
+
62
+ for (let i = 0; i < totalChunks; i++) {
63
+ const start = i * chunkSize;
64
+ const end = start + chunkSize;
65
+ const chunk = fileContent.subarray(start, end);
66
+
67
+ const isLastChunk = i === totalChunks - 1;
68
+
69
+ deflate.push(chunk, isLastChunk);
70
+ }
71
+
72
+ const {err, msg, result} = deflate;
73
+
74
+ if (err) console.error(RED_COLOR, msg);
75
+
76
+ return result;
77
+ }
78
+ }
79
+
package/cli/rum-cli.ts ADDED
@@ -0,0 +1,54 @@
1
+ #!/usr/bin/env node
2
+ import {Command} from 'commander';
3
+ import {SourceMapsService} from "../services/source-maps/source-maps.service";
4
+ import {validateEnvironment} from "./validators";
5
+ import {RED_COLOR} from "./theme";
6
+
7
+ const program = new Command();
8
+
9
+ program.name('coralogix-rum-cli').description('cli for upload source maps')
10
+
11
+ const uploadCommand = program.command('upload-source-maps');
12
+
13
+ uploadCommand
14
+ .option('-k, --private-key <privateKey>', 'Private key to authenticate with the API')
15
+ .option('-a, --application <application>', 'Name of the application')
16
+ .option('-v, --version <version>', 'The application version - must match the version used by RUM sdk')
17
+ .option('-f, --folder-path <folderPath>', 'Path to the folder containing the source maps')
18
+ .option('-e, --env <env>', 'Your environment', validateEnvironment)
19
+ .option('-c, --commit-hash <commitHash>', 'GitHub commit hash (optional)')
20
+ .option('-n, --repo-name <repoName>', 'GitHub Repository name (optional)')
21
+ .option('-o, --org-name <orgName>', 'GitHub user name (optional)')
22
+ .description('Upload source maps')
23
+ .action(async (options) => {
24
+ try {
25
+ if (options.help) {
26
+ program.outputHelp();
27
+ process.exit(0);
28
+ }
29
+
30
+ const {privateKey, application, version, folderPath, commitHash, repoName, orgName, env} = options;
31
+
32
+ const missingArgs = [];
33
+
34
+ if (!privateKey) missingArgs.push('private-key');
35
+ if (!application) missingArgs.push('application');
36
+ if (!version) missingArgs.push('version');
37
+ if (!folderPath) missingArgs.push('folder-path');
38
+ if (!env) missingArgs.push('env');
39
+
40
+ if (missingArgs.length > 0) {
41
+ const missingArgsList = missingArgs.map(arg => `- ${arg}`).join('\n');
42
+ const errorMessage = `❌ Missing required arguments:\n${missingArgsList}\nPlease provide the necessary options`;
43
+ console.error(RED_COLOR, errorMessage);
44
+ process.exit(1);
45
+ }
46
+
47
+ await SourceMapsService.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey)
48
+ } catch (error) {
49
+ console.error(RED_COLOR, '❌ An error occurred:');
50
+ console.error(RED_COLOR, error);
51
+ }
52
+ });
53
+
54
+ program.parse(process.argv);
@@ -0,0 +1,5 @@
1
+ export const GREEN_COLOR = '\x1b[32m%s\x1b[0m';
2
+
3
+ export const RED_COLOR = '\x1b[31m%s\x1b[0m';
4
+
5
+ export const GRAY_COLOR = '\x1b[37m%s\x1b[0m';
@@ -0,0 +1,14 @@
1
+ import {envToDomain} from "../../model/cli.model";
2
+ import {RED_COLOR} from "../theme";
3
+
4
+ export const validateEnvironment = (env: string): string => {
5
+ const validEnvironments = Object.keys(envToDomain).join(', ');
6
+
7
+ if (!(env in envToDomain)) {
8
+ const errorMessage = `❌ Invalid environment: ${env}. Possible values are: ${validEnvironments}`;
9
+ console.error(RED_COLOR, errorMessage);
10
+ process.exit(1);
11
+ }
12
+
13
+ return env;
14
+ }
@@ -0,0 +1,31 @@
1
+ export interface LoggerConfig {
2
+ maxLogSize: number;
3
+ logLevel: string;
4
+ }
5
+
6
+ export interface rumApiConfig {
7
+ maxMessageSize: number,
8
+ keepaliveTimeMs: number
9
+ keepaliveTimeoutMs: number
10
+ chunkSize: number,
11
+ }
12
+
13
+ export interface Config {
14
+ logger: LoggerConfig;
15
+ rumApi: rumApiConfig;
16
+ }
17
+
18
+ const config: Config = {
19
+ logger: {
20
+ maxLogSize: 10000,
21
+ logLevel: 'debug',
22
+ },
23
+ rumApi: {
24
+ maxMessageSize: 400000 * 1024,
25
+ keepaliveTimeMs: 120000,
26
+ keepaliveTimeoutMs: 120000,
27
+ chunkSize: 512 * 1024 // 512 KB chunk size
28
+ }
29
+ };
30
+
31
+ export default config;
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ exports.__esModule = true;
6
+ var config_1 = __importDefault(require("./config"));
7
+ exports["default"] = config_1["default"];
@@ -0,0 +1,3 @@
1
+ import config from './config';
2
+
3
+ export default config;
@@ -0,0 +1,5 @@
1
+ import { UploadSourceMapsRequest } from "../proto-models/com/coralogix/rum/v2/rum_source_map_service";
2
+ export declare class RumApi {
3
+ static uploadSourceMaps(request: UploadSourceMapsRequest, env: string, privateKey: string): Promise<void>;
4
+ private static compressFileContentChunks;
5
+ }
@@ -0,0 +1,98 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.RumApi = void 0;
39
+ const nice_grpc_1 = require("nice-grpc");
40
+ const cli_model_1 = require("../model/cli.model");
41
+ const pako = __importStar(require("pako"));
42
+ const config_1 = __importDefault(require("../config/config"));
43
+ const theme_1 = require("../cli/theme");
44
+ const rum_source_map_service_1 = require("../proto-models/com/coralogix/rum/v2/rum_source_map_service");
45
+ class RumApi {
46
+ static uploadSourceMaps(request, env, privateKey) {
47
+ return __awaiter(this, void 0, void 0, function* () {
48
+ const { maxMessageSize, keepaliveTimeMs, keepaliveTimeoutMs } = config_1.default.rumApi;
49
+ try {
50
+ const channel = (0, nice_grpc_1.createChannel)(cli_model_1.envToDomain[env], undefined, {
51
+ "grpc.max_receive_message_length": maxMessageSize,
52
+ "grpc.max_send_message_length": maxMessageSize,
53
+ 'grpc.keepalive_time_ms': keepaliveTimeMs,
54
+ 'grpc.keepalive_timeout_ms': keepaliveTimeoutMs,
55
+ });
56
+ const client = (0, nice_grpc_1.createClient)(rum_source_map_service_1.RumSourceMapServiceDefinition, channel);
57
+ const { files, releaseId, application, repoName, commitHash, user } = request;
58
+ const compressedFiles = yield Promise.all(files.map((file) => __awaiter(this, void 0, void 0, function* () {
59
+ const compressedChunks = this.compressFileContentChunks(file.content);
60
+ const size = compressedChunks.length;
61
+ return { chunkName: file.chunkName, size, content: compressedChunks };
62
+ })));
63
+ const metadata = new nice_grpc_1.Metadata();
64
+ metadata.set('Authorization', `Bearer ${privateKey}`);
65
+ yield client.uploadSourceMaps({
66
+ files: compressedFiles,
67
+ releaseId,
68
+ application,
69
+ repoName,
70
+ commitHash,
71
+ user
72
+ }, { metadata });
73
+ }
74
+ catch (error) {
75
+ throw error;
76
+ }
77
+ });
78
+ }
79
+ ;
80
+ }
81
+ exports.RumApi = RumApi;
82
+ RumApi.compressFileContentChunks = (fileContent) => {
83
+ const { chunkSize } = config_1.default.rumApi; // 512 KB chunk size
84
+ const deflate = new pako.Deflate();
85
+ const totalChunks = Math.ceil(fileContent.length / chunkSize);
86
+ for (let i = 0; i < totalChunks; i++) {
87
+ const start = i * chunkSize;
88
+ const end = start + chunkSize;
89
+ const chunk = fileContent.subarray(start, end);
90
+ const isLastChunk = i === totalChunks - 1;
91
+ deflate.push(chunk, isLastChunk);
92
+ }
93
+ const { err, msg, result } = deflate;
94
+ if (err)
95
+ console.error(theme_1.RED_COLOR, msg);
96
+ return result;
97
+ };
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2FwaS9ydW0tYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUEseUNBQXdFO0FBQ3hFLGtEQUErQztBQUMvQywyQ0FBNkI7QUFDN0IsOERBQXNDO0FBQ3RDLHdDQUF1QztBQUV2Qyx3R0FHcUU7QUFFckUsTUFBYSxNQUFNO0lBQ2YsTUFBTSxDQUFPLGdCQUFnQixDQUFDLE9BQWdDLEVBQUUsR0FBVyxFQUFFLFVBQWtCOztZQUUzRixNQUFNLEVBQUMsY0FBYyxFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBQyxHQUFHLGdCQUFNLENBQUMsTUFBTSxDQUFDO1lBRTVFLElBQUk7Z0JBQ0EsTUFBTSxPQUFPLEdBQUcsSUFBQSx5QkFBYSxFQUFDLHVCQUFXLENBQUMsR0FBRyxDQUFDLEVBQUUsU0FBUyxFQUFFO29CQUN2RCxpQ0FBaUMsRUFBRSxjQUFjO29CQUNqRCw4QkFBOEIsRUFBRSxjQUFjO29CQUM5Qyx3QkFBd0IsRUFBRSxlQUFlO29CQUN6QywyQkFBMkIsRUFBRSxrQkFBa0I7aUJBQ2xELENBQUMsQ0FBQztnQkFFSCxNQUFNLE1BQU0sR0FBaUQsSUFBQSx3QkFBWSxFQUFDLHNEQUE2QixFQUFFLE9BQU8sQ0FBQyxDQUFDO2dCQUVsSCxNQUFNLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxXQUFXLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUMsR0FBRyxPQUFPLENBQUM7Z0JBRTVFLE1BQU0sZUFBZSxHQUFtQixNQUFNLE9BQU8sQ0FBQyxHQUFHLENBQ3JELEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBTyxJQUFrQixFQUFFLEVBQUU7b0JBQ25DLE1BQU0sZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFFdEUsTUFBTSxJQUFJLEdBQUcsZ0JBQWdCLENBQUMsTUFBTSxDQUFDO29CQUVyQyxPQUFPLEVBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxTQUFTLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBQyxDQUFDO2dCQUN4RSxDQUFDLENBQUEsQ0FBQyxDQUNMLENBQUM7Z0JBRUYsTUFBTSxRQUFRLEdBQUcsSUFBSSxvQkFBUSxFQUFFLENBQUM7Z0JBRWhDLFFBQVEsQ0FBQyxHQUFHLENBQUMsZUFBZSxFQUFFLFVBQVUsVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFFdEQsTUFBTSxNQUFNLENBQUMsZ0JBQWdCLENBQUM7b0JBQzFCLEtBQUssRUFBRSxlQUFlO29CQUN0QixTQUFTO29CQUNULFdBQVc7b0JBQ1gsUUFBUTtvQkFDUixVQUFVO29CQUNWLElBQUk7aUJBQ1AsRUFBRSxFQUFDLFFBQVEsRUFBQyxDQUFDLENBQUM7YUFFbEI7WUFBQyxPQUFPLEtBQUssRUFBRTtnQkFDWixNQUFNLEtBQUssQ0FBQzthQUNmO1FBQ0wsQ0FBQztLQUFBO0lBQUEsQ0FBQzs7QUEzQ04sd0JBa0VDO0FBckJrQixnQ0FBeUIsR0FBRyxDQUFDLFdBQXVCLEVBQWMsRUFBRTtJQUMvRSxNQUFNLEVBQUMsU0FBUyxFQUFDLEdBQUcsZ0JBQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxvQkFBb0I7SUFDdkQsTUFBTSxPQUFPLEdBQUcsSUFBSSxJQUFJLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDbkMsTUFBTSxXQUFXLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsTUFBTSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0lBRTlELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxXQUFXLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDbEMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxHQUFHLFNBQVMsQ0FBQztRQUM1QixNQUFNLEdBQUcsR0FBRyxLQUFLLEdBQUcsU0FBUyxDQUFDO1FBQzlCLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDO1FBRS9DLE1BQU0sV0FBVyxHQUFHLENBQUMsS0FBSyxXQUFXLEdBQUcsQ0FBQyxDQUFDO1FBRTFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFdBQVcsQ0FBQyxDQUFDO0tBQ3BDO0lBRUQsTUFBTSxFQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsTUFBTSxFQUFDLEdBQUcsT0FBTyxDQUFDO0lBRW5DLElBQUksR0FBRztRQUFFLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQVMsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUV2QyxPQUFPLE1BQU0sQ0FBQztBQUNsQixDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NsaWVudCwgY3JlYXRlQ2hhbm5lbCwgY3JlYXRlQ2xpZW50LCBNZXRhZGF0YX0gZnJvbSAnbmljZS1ncnBjJztcbmltcG9ydCB7ZW52VG9Eb21haW59IGZyb20gXCIuLi9tb2RlbC9jbGkubW9kZWxcIjtcbmltcG9ydCAqIGFzIHBha28gZnJvbSAncGFrbyc7XG5pbXBvcnQgY29uZmlnIGZyb20gXCIuLi9jb25maWcvY29uZmlnXCI7XG5pbXBvcnQge1JFRF9DT0xPUn0gZnJvbSBcIi4uL2NsaS90aGVtZVwiO1xuaW1wb3J0IHtGaWxlTWV0YWRhdGF9IGZyb20gXCIuLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvZmlsZVwiO1xuaW1wb3J0IHtcbiAgICBSdW1Tb3VyY2VNYXBTZXJ2aWNlRGVmaW5pdGlvbixcbiAgICBVcGxvYWRTb3VyY2VNYXBzUmVxdWVzdFxufSBmcm9tIFwiLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvcnVtL3YyL3J1bV9zb3VyY2VfbWFwX3NlcnZpY2VcIjtcblxuZXhwb3J0IGNsYXNzIFJ1bUFwaSB7XG4gICAgc3RhdGljIGFzeW5jIHVwbG9hZFNvdXJjZU1hcHMocmVxdWVzdDogVXBsb2FkU291cmNlTWFwc1JlcXVlc3QsIGVudjogc3RyaW5nLCBwcml2YXRlS2V5OiBzdHJpbmcpIHtcblxuICAgICAgICBjb25zdCB7bWF4TWVzc2FnZVNpemUsIGtlZXBhbGl2ZVRpbWVNcywga2VlcGFsaXZlVGltZW91dE1zfSA9IGNvbmZpZy5ydW1BcGk7XG5cbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGNoYW5uZWwgPSBjcmVhdGVDaGFubmVsKGVudlRvRG9tYWluW2Vudl0sIHVuZGVmaW5lZCwge1xuICAgICAgICAgICAgICAgIFwiZ3JwYy5tYXhfcmVjZWl2ZV9tZXNzYWdlX2xlbmd0aFwiOiBtYXhNZXNzYWdlU2l6ZSxcbiAgICAgICAgICAgICAgICBcImdycGMubWF4X3NlbmRfbWVzc2FnZV9sZW5ndGhcIjogbWF4TWVzc2FnZVNpemUsXG4gICAgICAgICAgICAgICAgJ2dycGMua2VlcGFsaXZlX3RpbWVfbXMnOiBrZWVwYWxpdmVUaW1lTXMsXG4gICAgICAgICAgICAgICAgJ2dycGMua2VlcGFsaXZlX3RpbWVvdXRfbXMnOiBrZWVwYWxpdmVUaW1lb3V0TXMsXG4gICAgICAgICAgICB9KTtcblxuICAgICAgICAgICAgY29uc3QgY2xpZW50OiBDbGllbnQ8dHlwZW9mIFJ1bVNvdXJjZU1hcFNlcnZpY2VEZWZpbml0aW9uPiA9IGNyZWF0ZUNsaWVudChSdW1Tb3VyY2VNYXBTZXJ2aWNlRGVmaW5pdGlvbiwgY2hhbm5lbCk7XG5cbiAgICAgICAgICAgIGNvbnN0IHtmaWxlcywgcmVsZWFzZUlkLCBhcHBsaWNhdGlvbiwgcmVwb05hbWUsIGNvbW1pdEhhc2gsIHVzZXJ9ID0gcmVxdWVzdDtcblxuICAgICAgICAgICAgY29uc3QgY29tcHJlc3NlZEZpbGVzOiBGaWxlTWV0YWRhdGFbXSA9IGF3YWl0IFByb21pc2UuYWxsKFxuICAgICAgICAgICAgICAgIGZpbGVzLm1hcChhc3luYyAoZmlsZTogRmlsZU1ldGFkYXRhKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGNvbXByZXNzZWRDaHVua3MgPSB0aGlzLmNvbXByZXNzRmlsZUNvbnRlbnRDaHVua3MoZmlsZS5jb250ZW50KTtcblxuICAgICAgICAgICAgICAgICAgICBjb25zdCBzaXplID0gY29tcHJlc3NlZENodW5rcy5sZW5ndGg7XG5cbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHtjaHVua05hbWU6IGZpbGUuY2h1bmtOYW1lLCBzaXplLCBjb250ZW50OiBjb21wcmVzc2VkQ2h1bmtzfTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgY29uc3QgbWV0YWRhdGEgPSBuZXcgTWV0YWRhdGEoKTtcblxuICAgICAgICAgICAgbWV0YWRhdGEuc2V0KCdBdXRob3JpemF0aW9uJywgYEJlYXJlciAke3ByaXZhdGVLZXl9YCk7XG5cbiAgICAgICAgICAgIGF3YWl0IGNsaWVudC51cGxvYWRTb3VyY2VNYXBzKHtcbiAgICAgICAgICAgICAgICBmaWxlczogY29tcHJlc3NlZEZpbGVzLFxuICAgICAgICAgICAgICAgIHJlbGVhc2VJZCxcbiAgICAgICAgICAgICAgICBhcHBsaWNhdGlvbixcbiAgICAgICAgICAgICAgICByZXBvTmFtZSxcbiAgICAgICAgICAgICAgICBjb21taXRIYXNoLFxuICAgICAgICAgICAgICAgIHVzZXJcbiAgICAgICAgICAgIH0sIHttZXRhZGF0YX0pO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH07XG5cbiAgICBwcml2YXRlIHN0YXRpYyBjb21wcmVzc0ZpbGVDb250ZW50Q2h1bmtzID0gKGZpbGVDb250ZW50OiBVaW50OEFycmF5KTogVWludDhBcnJheSA9PiB7XG4gICAgICAgIGNvbnN0IHtjaHVua1NpemV9ID0gY29uZmlnLnJ1bUFwaTsgLy8gNTEyIEtCIGNodW5rIHNpemVcbiAgICAgICAgY29uc3QgZGVmbGF0ZSA9IG5ldyBwYWtvLkRlZmxhdGUoKTtcbiAgICAgICAgY29uc3QgdG90YWxDaHVua3MgPSBNYXRoLmNlaWwoZmlsZUNvbnRlbnQubGVuZ3RoIC8gY2h1bmtTaXplKTtcblxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRvdGFsQ2h1bmtzOyBpKyspIHtcbiAgICAgICAgICAgIGNvbnN0IHN0YXJ0ID0gaSAqIGNodW5rU2l6ZTtcbiAgICAgICAgICAgIGNvbnN0IGVuZCA9IHN0YXJ0ICsgY2h1bmtTaXplO1xuICAgICAgICAgICAgY29uc3QgY2h1bmsgPSBmaWxlQ29udGVudC5zdWJhcnJheShzdGFydCwgZW5kKTtcblxuICAgICAgICAgICAgY29uc3QgaXNMYXN0Q2h1bmsgPSBpID09PSB0b3RhbENodW5rcyAtIDE7XG5cbiAgICAgICAgICAgIGRlZmxhdGUucHVzaChjaHVuaywgaXNMYXN0Q2h1bmspO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge2VyciwgbXNnLCByZXN1bHR9ID0gZGVmbGF0ZTtcblxuICAgICAgICBpZiAoZXJyKSBjb25zb2xlLmVycm9yKFJFRF9DT0xPUiwgbXNnKTtcblxuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cbn1cblxuIl19
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ export {};
@@ -20,7 +20,7 @@ const uploadCommand = program.command('upload-source-maps');
20
20
  uploadCommand
21
21
  .option('-k, --private-key <privateKey>', 'Private key to authenticate with the API')
22
22
  .option('-a, --application <application>', 'Name of the application')
23
- .option('-r, --release-id <releaseId>', 'ID of the release')
23
+ .option('-v, --version <version>', 'The application version - must match the version used by RUM sdk')
24
24
  .option('-f, --folder-path <folderPath>', 'Path to the folder containing the source maps')
25
25
  .option('-e, --env <env>', 'Your environment', validators_1.validateEnvironment)
26
26
  .option('-c, --commit-hash <commitHash>', 'GitHub commit hash (optional)')
@@ -33,14 +33,14 @@ uploadCommand
33
33
  program.outputHelp();
34
34
  process.exit(0);
35
35
  }
36
- const { privateKey, application, releaseId, folderPath, commitHash, repoName, orgName, env } = options;
36
+ const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env } = options;
37
37
  const missingArgs = [];
38
38
  if (!privateKey)
39
39
  missingArgs.push('private-key');
40
40
  if (!application)
41
41
  missingArgs.push('application');
42
- if (!releaseId)
43
- missingArgs.push('release-id');
42
+ if (!version)
43
+ missingArgs.push('version');
44
44
  if (!folderPath)
45
45
  missingArgs.push('folder-path');
46
46
  if (!env)
@@ -51,7 +51,7 @@ uploadCommand
51
51
  console.error(theme_1.RED_COLOR, errorMessage);
52
52
  process.exit(1);
53
53
  }
54
- yield source_maps_service_1.SourceMapsService.upload(application, releaseId, repoName, commitHash, orgName, folderPath, env, privateKey);
54
+ yield source_maps_service_1.SourceMapsService.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey);
55
55
  }
56
56
  catch (error) {
57
57
  console.error(theme_1.RED_COLOR, '❌ An error occurred:');
@@ -59,4 +59,4 @@ uploadCommand
59
59
  }
60
60
  }));
61
61
  program.parse(process.argv);
62
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLWNsaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2NsaS9ydW0tY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLHlDQUFrQztBQUNsQyxxRkFBOEU7QUFDOUUsNkNBQWlEO0FBQ2pELG1DQUFrQztBQUVsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLG1CQUFPLEVBQUUsQ0FBQztBQUU5QixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsV0FBVyxDQUFDLDRCQUE0QixDQUFDLENBQUE7QUFFM0UsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBRTVELGFBQWE7S0FDUixNQUFNLENBQUMsZ0NBQWdDLEVBQUUsMENBQTBDLENBQUM7S0FDcEYsTUFBTSxDQUFDLGlDQUFpQyxFQUFFLHlCQUF5QixDQUFDO0tBQ3BFLE1BQU0sQ0FBQyw4QkFBOEIsRUFBRSxtQkFBbUIsQ0FBQztLQUMzRCxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsK0NBQStDLENBQUM7S0FDekYsTUFBTSxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGdDQUFtQixDQUFDO0tBQ2xFLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSwrQkFBK0IsQ0FBQztLQUN6RSxNQUFNLENBQUMsNEJBQTRCLEVBQUUsbUNBQW1DLENBQUM7S0FDekUsTUFBTSxDQUFDLDBCQUEwQixFQUFFLDZCQUE2QixDQUFDO0tBQ2pFLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztLQUNqQyxNQUFNLENBQUMsQ0FBTyxPQUFPLEVBQUUsRUFBRTtJQUN0QixJQUFJO1FBQ0EsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2QsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkI7UUFFRCxNQUFNLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBQyxHQUFHLE9BQU8sQ0FBQztRQUVyRyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLFVBQVU7WUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxXQUFXO1lBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsU0FBUztZQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDL0MsSUFBSSxDQUFDLFVBQVU7WUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxHQUFHO1lBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sWUFBWSxHQUFHLGtDQUFrQyxlQUFlLHdDQUF3QyxDQUFDO1lBQy9HLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25CO1FBRUQsTUFBTSx1Q0FBaUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0tBQ3JIO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDWixPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFTLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUNqRCxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDbkM7QUFDTCxDQUFDLENBQUEsQ0FBQyxDQUFDO0FBRVAsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQge0NvbW1hbmR9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQge1NvdXJjZU1hcHNTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvc291cmNlLW1hcHMvc291cmNlLW1hcHMuc2VydmljZVwiO1xuaW1wb3J0IHt2YWxpZGF0ZUVudmlyb25tZW50fSBmcm9tIFwiLi92YWxpZGF0b3JzXCI7XG5pbXBvcnQge1JFRF9DT0xPUn0gZnJvbSBcIi4vdGhlbWVcIjtcblxuY29uc3QgcHJvZ3JhbSA9IG5ldyBDb21tYW5kKCk7XG5cbnByb2dyYW0ubmFtZSgnY29yYWxvZ2l4LXJ1bS1jbGknKS5kZXNjcmlwdGlvbignY2xpIGZvciB1cGxvYWQgc291cmNlIG1hcHMnKVxuXG5jb25zdCB1cGxvYWRDb21tYW5kID0gcHJvZ3JhbS5jb21tYW5kKCd1cGxvYWQtc291cmNlLW1hcHMnKTtcblxudXBsb2FkQ29tbWFuZFxuICAgIC5vcHRpb24oJy1rLCAtLXByaXZhdGUta2V5IDxwcml2YXRlS2V5PicsICdQcml2YXRlIGtleSB0byBhdXRoZW50aWNhdGUgd2l0aCB0aGUgQVBJJylcbiAgICAub3B0aW9uKCctYSwgLS1hcHBsaWNhdGlvbiA8YXBwbGljYXRpb24+JywgJ05hbWUgb2YgdGhlIGFwcGxpY2F0aW9uJylcbiAgICAub3B0aW9uKCctciwgLS1yZWxlYXNlLWlkIDxyZWxlYXNlSWQ+JywgJ0lEIG9mIHRoZSByZWxlYXNlJylcbiAgICAub3B0aW9uKCctZiwgLS1mb2xkZXItcGF0aCA8Zm9sZGVyUGF0aD4nLCAnUGF0aCB0byB0aGUgZm9sZGVyIGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBtYXBzJylcbiAgICAub3B0aW9uKCctZSwgLS1lbnYgPGVudj4nLCAnWW91ciBlbnZpcm9ubWVudCcsIHZhbGlkYXRlRW52aXJvbm1lbnQpXG4gICAgLm9wdGlvbignLWMsIC0tY29tbWl0LWhhc2ggPGNvbW1pdEhhc2g+JywgJ0dpdEh1YiBjb21taXQgaGFzaCAob3B0aW9uYWwpJylcbiAgICAub3B0aW9uKCctbiwgLS1yZXBvLW5hbWUgPHJlcG9OYW1lPicsICdHaXRIdWIgUmVwb3NpdG9yeSBuYW1lIChvcHRpb25hbCknKVxuICAgIC5vcHRpb24oJy1vLCAtLW9yZy1uYW1lIDxvcmdOYW1lPicsICdHaXRIdWIgdXNlciBuYW1lIChvcHRpb25hbCknKVxuICAgIC5kZXNjcmlwdGlvbignVXBsb2FkIHNvdXJjZSBtYXBzJylcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5oZWxwKSB7XG4gICAgICAgICAgICAgICAgcHJvZ3JhbS5vdXRwdXRIZWxwKCk7XG4gICAgICAgICAgICAgICAgcHJvY2Vzcy5leGl0KDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7cHJpdmF0ZUtleSwgYXBwbGljYXRpb24sIHJlbGVhc2VJZCwgZm9sZGVyUGF0aCwgY29tbWl0SGFzaCwgcmVwb05hbWUsIG9yZ05hbWUsIGVudn0gPSBvcHRpb25zO1xuXG4gICAgICAgICAgICBjb25zdCBtaXNzaW5nQXJncyA9IFtdO1xuXG4gICAgICAgICAgICBpZiAoIXByaXZhdGVLZXkpIG1pc3NpbmdBcmdzLnB1c2goJ3ByaXZhdGUta2V5Jyk7XG4gICAgICAgICAgICBpZiAoIWFwcGxpY2F0aW9uKSBtaXNzaW5nQXJncy5wdXNoKCdhcHBsaWNhdGlvbicpO1xuICAgICAgICAgICAgaWYgKCFyZWxlYXNlSWQpIG1pc3NpbmdBcmdzLnB1c2goJ3JlbGVhc2UtaWQnKTtcbiAgICAgICAgICAgIGlmICghZm9sZGVyUGF0aCkgbWlzc2luZ0FyZ3MucHVzaCgnZm9sZGVyLXBhdGgnKTtcbiAgICAgICAgICAgIGlmICghZW52KSBtaXNzaW5nQXJncy5wdXNoKCdlbnYnKTtcblxuICAgICAgICAgICAgaWYgKG1pc3NpbmdBcmdzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtaXNzaW5nQXJnc0xpc3QgPSBtaXNzaW5nQXJncy5tYXAoYXJnID0+IGAtICR7YXJnfWApLmpvaW4oJ1xcbicpO1xuICAgICAgICAgICAgICAgIGNvbnN0IGVycm9yTWVzc2FnZSA9IGDinYwgTWlzc2luZyByZXF1aXJlZCBhcmd1bWVudHM6XFxuJHttaXNzaW5nQXJnc0xpc3R9XFxuUGxlYXNlIHByb3ZpZGUgdGhlIG5lY2Vzc2FyeSBvcHRpb25zYDtcbiAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKFJFRF9DT0xPUiwgZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgICAgICAgICBwcm9jZXNzLmV4aXQoMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGF3YWl0IFNvdXJjZU1hcHNTZXJ2aWNlLnVwbG9hZChhcHBsaWNhdGlvbiwgcmVsZWFzZUlkLCByZXBvTmFtZSwgY29tbWl0SGFzaCwgb3JnTmFtZSwgZm9sZGVyUGF0aCwgZW52LCBwcml2YXRlS2V5KVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihSRURfQ09MT1IsICfinYwgQW4gZXJyb3Igb2NjdXJyZWQ6Jyk7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFJFRF9DT0xPUiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbnByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbiJdfQ==
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtLWNsaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL2NsaS9ydW0tY2xpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUNBLHlDQUFrQztBQUNsQyxxRkFBOEU7QUFDOUUsNkNBQWlEO0FBQ2pELG1DQUFrQztBQUVsQyxNQUFNLE9BQU8sR0FBRyxJQUFJLG1CQUFPLEVBQUUsQ0FBQztBQUU5QixPQUFPLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsV0FBVyxDQUFDLDRCQUE0QixDQUFDLENBQUE7QUFFM0UsTUFBTSxhQUFhLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO0FBRTVELGFBQWE7S0FDUixNQUFNLENBQUMsZ0NBQWdDLEVBQUUsMENBQTBDLENBQUM7S0FDcEYsTUFBTSxDQUFDLGlDQUFpQyxFQUFFLHlCQUF5QixDQUFDO0tBQ3BFLE1BQU0sQ0FBQyx5QkFBeUIsRUFBRSxrRUFBa0UsQ0FBQztLQUNyRyxNQUFNLENBQUMsZ0NBQWdDLEVBQUUsK0NBQStDLENBQUM7S0FDekYsTUFBTSxDQUFDLGlCQUFpQixFQUFFLGtCQUFrQixFQUFFLGdDQUFtQixDQUFDO0tBQ2xFLE1BQU0sQ0FBQyxnQ0FBZ0MsRUFBRSwrQkFBK0IsQ0FBQztLQUN6RSxNQUFNLENBQUMsNEJBQTRCLEVBQUUsbUNBQW1DLENBQUM7S0FDekUsTUFBTSxDQUFDLDBCQUEwQixFQUFFLDZCQUE2QixDQUFDO0tBQ2pFLFdBQVcsQ0FBQyxvQkFBb0IsQ0FBQztLQUNqQyxNQUFNLENBQUMsQ0FBTyxPQUFPLEVBQUUsRUFBRTtJQUN0QixJQUFJO1FBQ0EsSUFBSSxPQUFPLENBQUMsSUFBSSxFQUFFO1lBQ2QsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbkI7UUFFRCxNQUFNLEVBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBQyxHQUFHLE9BQU8sQ0FBQztRQUVuRyxNQUFNLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLFVBQVU7WUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxXQUFXO1lBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUNsRCxJQUFJLENBQUMsT0FBTztZQUFFLFdBQVcsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDMUMsSUFBSSxDQUFDLFVBQVU7WUFBRSxXQUFXLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pELElBQUksQ0FBQyxHQUFHO1lBQUUsV0FBVyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUVsQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO1lBQ3hCLE1BQU0sZUFBZSxHQUFHLFdBQVcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RFLE1BQU0sWUFBWSxHQUFHLGtDQUFrQyxlQUFlLHdDQUF3QyxDQUFDO1lBQy9HLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO1NBQ25CO1FBRUQsTUFBTSx1Q0FBaUIsQ0FBQyxNQUFNLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsR0FBRyxFQUFFLFVBQVUsQ0FBQyxDQUFBO0tBQ25IO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDWixPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFTLEVBQUUsc0JBQXNCLENBQUMsQ0FBQztRQUNqRCxPQUFPLENBQUMsS0FBSyxDQUFDLGlCQUFTLEVBQUUsS0FBSyxDQUFDLENBQUM7S0FDbkM7QUFDTCxDQUFDLENBQUEsQ0FBQyxDQUFDO0FBRVAsT0FBTyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIjIS91c3IvYmluL2VudiBub2RlXG5pbXBvcnQge0NvbW1hbmR9IGZyb20gJ2NvbW1hbmRlcic7XG5pbXBvcnQge1NvdXJjZU1hcHNTZXJ2aWNlfSBmcm9tIFwiLi4vc2VydmljZXMvc291cmNlLW1hcHMvc291cmNlLW1hcHMuc2VydmljZVwiO1xuaW1wb3J0IHt2YWxpZGF0ZUVudmlyb25tZW50fSBmcm9tIFwiLi92YWxpZGF0b3JzXCI7XG5pbXBvcnQge1JFRF9DT0xPUn0gZnJvbSBcIi4vdGhlbWVcIjtcblxuY29uc3QgcHJvZ3JhbSA9IG5ldyBDb21tYW5kKCk7XG5cbnByb2dyYW0ubmFtZSgnY29yYWxvZ2l4LXJ1bS1jbGknKS5kZXNjcmlwdGlvbignY2xpIGZvciB1cGxvYWQgc291cmNlIG1hcHMnKVxuXG5jb25zdCB1cGxvYWRDb21tYW5kID0gcHJvZ3JhbS5jb21tYW5kKCd1cGxvYWQtc291cmNlLW1hcHMnKTtcblxudXBsb2FkQ29tbWFuZFxuICAgIC5vcHRpb24oJy1rLCAtLXByaXZhdGUta2V5IDxwcml2YXRlS2V5PicsICdQcml2YXRlIGtleSB0byBhdXRoZW50aWNhdGUgd2l0aCB0aGUgQVBJJylcbiAgICAub3B0aW9uKCctYSwgLS1hcHBsaWNhdGlvbiA8YXBwbGljYXRpb24+JywgJ05hbWUgb2YgdGhlIGFwcGxpY2F0aW9uJylcbiAgICAub3B0aW9uKCctdiwgLS12ZXJzaW9uIDx2ZXJzaW9uPicsICdUaGUgYXBwbGljYXRpb24gdmVyc2lvbiAtIG11c3QgbWF0Y2ggdGhlIHZlcnNpb24gdXNlZCBieSBSVU0gc2RrJylcbiAgICAub3B0aW9uKCctZiwgLS1mb2xkZXItcGF0aCA8Zm9sZGVyUGF0aD4nLCAnUGF0aCB0byB0aGUgZm9sZGVyIGNvbnRhaW5pbmcgdGhlIHNvdXJjZSBtYXBzJylcbiAgICAub3B0aW9uKCctZSwgLS1lbnYgPGVudj4nLCAnWW91ciBlbnZpcm9ubWVudCcsIHZhbGlkYXRlRW52aXJvbm1lbnQpXG4gICAgLm9wdGlvbignLWMsIC0tY29tbWl0LWhhc2ggPGNvbW1pdEhhc2g+JywgJ0dpdEh1YiBjb21taXQgaGFzaCAob3B0aW9uYWwpJylcbiAgICAub3B0aW9uKCctbiwgLS1yZXBvLW5hbWUgPHJlcG9OYW1lPicsICdHaXRIdWIgUmVwb3NpdG9yeSBuYW1lIChvcHRpb25hbCknKVxuICAgIC5vcHRpb24oJy1vLCAtLW9yZy1uYW1lIDxvcmdOYW1lPicsICdHaXRIdWIgdXNlciBuYW1lIChvcHRpb25hbCknKVxuICAgIC5kZXNjcmlwdGlvbignVXBsb2FkIHNvdXJjZSBtYXBzJylcbiAgICAuYWN0aW9uKGFzeW5jIChvcHRpb25zKSA9PiB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAob3B0aW9ucy5oZWxwKSB7XG4gICAgICAgICAgICAgICAgcHJvZ3JhbS5vdXRwdXRIZWxwKCk7XG4gICAgICAgICAgICAgICAgcHJvY2Vzcy5leGl0KDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCB7cHJpdmF0ZUtleSwgYXBwbGljYXRpb24sIHZlcnNpb24sIGZvbGRlclBhdGgsIGNvbW1pdEhhc2gsIHJlcG9OYW1lLCBvcmdOYW1lLCBlbnZ9ID0gb3B0aW9ucztcblxuICAgICAgICAgICAgY29uc3QgbWlzc2luZ0FyZ3MgPSBbXTtcblxuICAgICAgICAgICAgaWYgKCFwcml2YXRlS2V5KSBtaXNzaW5nQXJncy5wdXNoKCdwcml2YXRlLWtleScpO1xuICAgICAgICAgICAgaWYgKCFhcHBsaWNhdGlvbikgbWlzc2luZ0FyZ3MucHVzaCgnYXBwbGljYXRpb24nKTtcbiAgICAgICAgICAgIGlmICghdmVyc2lvbikgbWlzc2luZ0FyZ3MucHVzaCgndmVyc2lvbicpO1xuICAgICAgICAgICAgaWYgKCFmb2xkZXJQYXRoKSBtaXNzaW5nQXJncy5wdXNoKCdmb2xkZXItcGF0aCcpO1xuICAgICAgICAgICAgaWYgKCFlbnYpIG1pc3NpbmdBcmdzLnB1c2goJ2VudicpO1xuXG4gICAgICAgICAgICBpZiAobWlzc2luZ0FyZ3MubGVuZ3RoID4gMCkge1xuICAgICAgICAgICAgICAgIGNvbnN0IG1pc3NpbmdBcmdzTGlzdCA9IG1pc3NpbmdBcmdzLm1hcChhcmcgPT4gYC0gJHthcmd9YCkuam9pbignXFxuJyk7XG4gICAgICAgICAgICAgICAgY29uc3QgZXJyb3JNZXNzYWdlID0gYOKdjCBNaXNzaW5nIHJlcXVpcmVkIGFyZ3VtZW50czpcXG4ke21pc3NpbmdBcmdzTGlzdH1cXG5QbGVhc2UgcHJvdmlkZSB0aGUgbmVjZXNzYXJ5IG9wdGlvbnNgO1xuICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoUkVEX0NPTE9SLCBlcnJvck1lc3NhZ2UpO1xuICAgICAgICAgICAgICAgIHByb2Nlc3MuZXhpdCgxKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYXdhaXQgU291cmNlTWFwc1NlcnZpY2UudXBsb2FkKGFwcGxpY2F0aW9uLCB2ZXJzaW9uLCByZXBvTmFtZSwgY29tbWl0SGFzaCwgb3JnTmFtZSwgZm9sZGVyUGF0aCwgZW52LCBwcml2YXRlS2V5KVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihSRURfQ09MT1IsICfinYwgQW4gZXJyb3Igb2NjdXJyZWQ6Jyk7XG4gICAgICAgICAgICBjb25zb2xlLmVycm9yKFJFRF9DT0xPUiwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfSk7XG5cbnByb2dyYW0ucGFyc2UocHJvY2Vzcy5hcmd2KTtcbiJdfQ==
@@ -0,0 +1,3 @@
1
+ export declare const GREEN_COLOR = "\u001B[32m%s\u001B[0m";
2
+ export declare const RED_COLOR = "\u001B[31m%s\u001B[0m";
3
+ export declare const GRAY_COLOR = "\u001B[37m%s\u001B[0m";
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GRAY_COLOR = exports.RED_COLOR = exports.GREEN_COLOR = void 0;
4
+ exports.GREEN_COLOR = '\x1b[32m%s\x1b[0m';
5
+ exports.RED_COLOR = '\x1b[31m%s\x1b[0m';
6
+ exports.GRAY_COLOR = '\x1b[37m%s\x1b[0m';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jbGkvdGhlbWUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxXQUFXLEdBQUcsbUJBQW1CLENBQUM7QUFFbEMsUUFBQSxTQUFTLEdBQUcsbUJBQW1CLENBQUM7QUFFaEMsUUFBQSxVQUFVLEdBQUcsbUJBQW1CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgR1JFRU5fQ09MT1IgPSAnXFx4MWJbMzJtJXNcXHgxYlswbSc7XG5cbmV4cG9ydCBjb25zdCBSRURfQ09MT1IgPSAnXFx4MWJbMzFtJXNcXHgxYlswbSc7XG5cbmV4cG9ydCBjb25zdCBHUkFZX0NPTE9SID0gJ1xceDFiWzM3bSVzXFx4MWJbMG0nOyJdfQ==
@@ -0,0 +1 @@
1
+ export declare const validateEnvironment: (env: string) => string;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateEnvironment = void 0;
4
+ const cli_model_1 = require("../../model/cli.model");
5
+ const theme_1 = require("../theme");
6
+ const validateEnvironment = (env) => {
7
+ const validEnvironments = Object.keys(cli_model_1.envToDomain).join(', ');
8
+ if (!(env in cli_model_1.envToDomain)) {
9
+ const errorMessage = `❌ Invalid environment: ${env}. Possible values are: ${validEnvironments}`;
10
+ console.error(theme_1.RED_COLOR, errorMessage);
11
+ process.exit(1);
12
+ }
13
+ return env;
14
+ };
15
+ exports.validateEnvironment = validateEnvironment;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9jbGkvdmFsaWRhdG9ycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxxREFBa0Q7QUFDbEQsb0NBQW1DO0FBRTVCLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxHQUFXLEVBQVUsRUFBRTtJQUN2RCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsdUJBQVcsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUU5RCxJQUFJLENBQUMsQ0FBQyxHQUFHLElBQUksdUJBQVcsQ0FBQyxFQUFFO1FBQ3ZCLE1BQU0sWUFBWSxHQUFHLDBCQUEwQixHQUFHLDBCQUEwQixpQkFBaUIsRUFBRSxDQUFDO1FBQ2hHLE9BQU8sQ0FBQyxLQUFLLENBQUMsaUJBQVMsRUFBRSxZQUFZLENBQUMsQ0FBQztRQUN2QyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ25CO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDZixDQUFDLENBQUE7QUFWWSxRQUFBLG1CQUFtQix1QkFVL0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2VudlRvRG9tYWlufSBmcm9tIFwiLi4vLi4vbW9kZWwvY2xpLm1vZGVsXCI7XG5pbXBvcnQge1JFRF9DT0xPUn0gZnJvbSBcIi4uL3RoZW1lXCI7XG5cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUVudmlyb25tZW50ID0gKGVudjogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgICBjb25zdCB2YWxpZEVudmlyb25tZW50cyA9IE9iamVjdC5rZXlzKGVudlRvRG9tYWluKS5qb2luKCcsICcpO1xuXG4gICAgaWYgKCEoZW52IGluIGVudlRvRG9tYWluKSkge1xuICAgICAgICBjb25zdCBlcnJvck1lc3NhZ2UgPSBg4p2MIEludmFsaWQgZW52aXJvbm1lbnQ6ICR7ZW52fS4gUG9zc2libGUgdmFsdWVzIGFyZTogJHt2YWxpZEVudmlyb25tZW50c31gO1xuICAgICAgICBjb25zb2xlLmVycm9yKFJFRF9DT0xPUiwgZXJyb3JNZXNzYWdlKTtcbiAgICAgICAgcHJvY2Vzcy5leGl0KDEpO1xuICAgIH1cblxuICAgIHJldHVybiBlbnY7XG59Il19
@@ -0,0 +1,16 @@
1
+ export interface LoggerConfig {
2
+ maxLogSize: number;
3
+ logLevel: string;
4
+ }
5
+ export interface rumApiConfig {
6
+ maxMessageSize: number;
7
+ keepaliveTimeMs: number;
8
+ keepaliveTimeoutMs: number;
9
+ chunkSize: number;
10
+ }
11
+ export interface Config {
12
+ logger: LoggerConfig;
13
+ rumApi: rumApiConfig;
14
+ }
15
+ declare const config: Config;
16
+ export default config;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const config = {
4
+ logger: {
5
+ maxLogSize: 10000,
6
+ logLevel: 'debug',
7
+ },
8
+ rumApi: {
9
+ maxMessageSize: 400000 * 1024,
10
+ keepaliveTimeMs: 120000,
11
+ keepaliveTimeoutMs: 120000,
12
+ chunkSize: 512 * 1024 // 512 KB chunk size
13
+ }
14
+ };
15
+ exports.default = config;
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vY29uZmlnL2NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQWlCQSxNQUFNLE1BQU0sR0FBVztJQUNuQixNQUFNLEVBQUU7UUFDSixVQUFVLEVBQUUsS0FBSztRQUNqQixRQUFRLEVBQUUsT0FBTztLQUNwQjtJQUNELE1BQU0sRUFBRTtRQUNKLGNBQWMsRUFBRSxNQUFNLEdBQUcsSUFBSTtRQUM3QixlQUFlLEVBQUUsTUFBTTtRQUN2QixrQkFBa0IsRUFBRSxNQUFNO1FBQzFCLFNBQVMsRUFBRSxHQUFHLEdBQUcsSUFBSSxDQUFDLG9CQUFvQjtLQUM3QztDQUNKLENBQUM7QUFFRixrQkFBZSxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgaW50ZXJmYWNlIExvZ2dlckNvbmZpZyB7XG4gICAgbWF4TG9nU2l6ZTogbnVtYmVyO1xuICAgIGxvZ0xldmVsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgcnVtQXBpQ29uZmlnIHtcbiAgICBtYXhNZXNzYWdlU2l6ZTogbnVtYmVyLFxuICAgIGtlZXBhbGl2ZVRpbWVNczogbnVtYmVyXG4gICAga2VlcGFsaXZlVGltZW91dE1zOiBudW1iZXJcbiAgICBjaHVua1NpemU6IG51bWJlcixcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maWcge1xuICAgIGxvZ2dlcjogTG9nZ2VyQ29uZmlnO1xuICAgIHJ1bUFwaTogcnVtQXBpQ29uZmlnO1xufVxuXG5jb25zdCBjb25maWc6IENvbmZpZyA9IHtcbiAgICBsb2dnZXI6IHtcbiAgICAgICAgbWF4TG9nU2l6ZTogMTAwMDAsXG4gICAgICAgIGxvZ0xldmVsOiAnZGVidWcnLFxuICAgIH0sXG4gICAgcnVtQXBpOiB7XG4gICAgICAgIG1heE1lc3NhZ2VTaXplOiA0MDAwMDAgKiAxMDI0LFxuICAgICAgICBrZWVwYWxpdmVUaW1lTXM6IDEyMDAwMCxcbiAgICAgICAga2VlcGFsaXZlVGltZW91dE1zOiAxMjAwMDAsXG4gICAgICAgIGNodW5rU2l6ZTogNTEyICogMTAyNCAvLyA1MTIgS0IgY2h1bmsgc2l6ZVxuICAgIH1cbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbmZpZztcbiJdfQ==
@@ -0,0 +1,2 @@
1
+ import config from './config';
2
+ export default config;
@@ -0,0 +1,8 @@
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
+ const config_1 = __importDefault(require("./config"));
7
+ exports.default = config_1.default;
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9jb25maWcvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxzREFBOEI7QUFFOUIsa0JBQWUsZ0JBQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBjb25maWcgZnJvbSAnLi9jb25maWcnO1xuXG5leHBvcnQgZGVmYXVsdCBjb25maWc7XG4iXX0=
@@ -0,0 +1 @@
1
+ export declare const envToDomain: Record<string, string>;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.envToDomain = void 0;
4
+ exports.envToDomain = {
5
+ US1: 'https://ng-api-grpc.coralogix.us:443',
6
+ EU1: 'https://ng-api-grpc.coralogix.com:443',
7
+ EU2: 'https://ng-api-grpc.eu2.coralogix.com:443',
8
+ AP1: 'https://ng-api-grpc.app.coralogix.in:443',
9
+ AP2: 'https://ng-api-grpc.coralogix.com:443',
10
+ };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbW9kZWwvY2xpLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsV0FBVyxHQUEyQjtJQUMvQyxHQUFHLEVBQUUsc0NBQXNDO0lBQzNDLEdBQUcsRUFBRSx1Q0FBdUM7SUFDNUMsR0FBRyxFQUFFLDJDQUEyQztJQUNoRCxHQUFHLEVBQUUsMENBQTBDO0lBQy9DLEdBQUcsRUFBRSx1Q0FBdUM7Q0FDL0MsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBlbnZUb0RvbWFpbjogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICBVUzE6ICdodHRwczovL25nLWFwaS1ncnBjLmNvcmFsb2dpeC51czo0NDMnLFxuICAgIEVVMTogJ2h0dHBzOi8vbmctYXBpLWdycGMuY29yYWxvZ2l4LmNvbTo0NDMnLFxuICAgIEVVMjogJ2h0dHBzOi8vbmctYXBpLWdycGMuZXUyLmNvcmFsb2dpeC5jb206NDQzJyxcbiAgICBBUDE6ICdodHRwczovL25nLWFwaS1ncnBjLmFwcC5jb3JhbG9naXguaW46NDQzJyxcbiAgICBBUDI6ICdodHRwczovL25nLWFwaS1ncnBjLmNvcmFsb2dpeC5jb206NDQzJyxcbn0iXX0=