@coralogix/rum-cli 1.1.21 → 1.1.24

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 (206) hide show
  1. package/README.md +32 -9
  2. package/api/client/client-factory.ts +26 -0
  3. package/api/client/request-builder.ts +122 -0
  4. package/api/dsym.api.ts +61 -0
  5. package/api/react-native.api.ts +67 -0
  6. package/api/{rum-api.ts → source-maps.api.ts} +15 -23
  7. package/cli/commands/dsym/index.ts +5 -0
  8. package/cli/commands/dsym/upload-dsym-command.ts +36 -0
  9. package/cli/commands/react-native/index.ts +5 -0
  10. package/cli/commands/react-native/upload-react-native-source-maps-command.ts +42 -0
  11. package/cli/commands/{delete-source-maps-command.ts → source-maps/delete-source-maps-command.ts} +8 -10
  12. package/cli/commands/source-maps/index.ts +7 -0
  13. package/cli/commands/{update-source-maps-command.ts → source-maps/update-source-maps-command.ts} +8 -10
  14. package/cli/commands/{upload-source-maps-command.ts → source-maps/upload-source-maps-command.ts} +8 -10
  15. package/cli/rum-cli.ts +17 -7
  16. package/config/config.ts +10 -4
  17. package/consts/consts.ts +2 -0
  18. package/dist/api/client/client-factory.d.ts +355 -0
  19. package/dist/api/client/client-factory.js +31 -0
  20. package/dist/api/client/request-builder.d.ts +33 -0
  21. package/dist/api/client/request-builder.js +58 -0
  22. package/dist/api/dsym.api.d.ts +4 -0
  23. package/dist/api/dsym.api.js +50 -0
  24. package/dist/api/react-native.api.d.ts +4 -0
  25. package/dist/api/react-native.api.js +50 -0
  26. package/dist/api/{rum-api.d.ts → source-maps.api.d.ts} +2 -2
  27. package/dist/api/source-maps.api.js +97 -0
  28. package/dist/cli/commands/dsym/index.d.ts +4 -0
  29. package/dist/cli/commands/dsym/index.js +6 -0
  30. package/dist/cli/commands/dsym/upload-dsym-command.d.ts +2 -0
  31. package/dist/cli/commands/dsym/upload-dsym-command.js +45 -0
  32. package/dist/cli/commands/react-native/index.d.ts +4 -0
  33. package/dist/cli/commands/react-native/index.js +6 -0
  34. package/dist/cli/commands/react-native/upload-react-native-source-maps-command.d.ts +2 -0
  35. package/dist/cli/commands/react-native/upload-react-native-source-maps-command.js +51 -0
  36. package/dist/cli/commands/source-maps/delete-source-maps-command.d.ts +2 -0
  37. package/dist/cli/commands/source-maps/delete-source-maps-command.js +41 -0
  38. package/dist/cli/commands/source-maps/index.d.ts +6 -0
  39. package/dist/cli/commands/source-maps/index.js +8 -0
  40. package/dist/cli/commands/source-maps/update-source-maps-command.d.ts +2 -0
  41. package/dist/cli/commands/source-maps/update-source-maps-command.js +46 -0
  42. package/dist/cli/commands/source-maps/upload-source-maps-command.d.ts +2 -0
  43. package/dist/cli/commands/source-maps/upload-source-maps-command.js +45 -0
  44. package/dist/cli/rum-cli.js +14 -8
  45. package/dist/config/config.d.ts +5 -2
  46. package/dist/config/config.js +6 -3
  47. package/dist/consts/consts.d.ts +1 -0
  48. package/dist/consts/consts.js +3 -2
  49. package/dist/models/dsym-commands.model.d.ts +11 -0
  50. package/dist/models/dsym-commands.model.js +3 -0
  51. package/dist/models/react-native-commands.model.d.ts +11 -0
  52. package/dist/models/react-native-commands.model.js +3 -0
  53. package/dist/models/{commands.model.d.ts → source-maps-commands.model.d.ts} +3 -3
  54. package/dist/models/source-maps-commands.model.js +3 -0
  55. package/dist/proto-models/com/coralogix/blobset/v2/audit_log.d.ts +24 -0
  56. package/dist/proto-models/com/coralogix/blobset/v2/audit_log.js +64 -0
  57. package/dist/proto-models/com/coralogix/blobset/v2/blobset_query_service.d.ts +111 -0
  58. package/dist/proto-models/com/coralogix/blobset/v2/blobset_query_service.js +31 -0
  59. package/dist/proto-models/com/coralogix/blobset/v2/blobset_service.d.ts +67 -0
  60. package/dist/proto-models/com/coralogix/blobset/v2/blobset_service.js +174 -0
  61. package/dist/proto-models/com/coralogix/blobset/v2/dsym.d.ts +58 -0
  62. package/dist/proto-models/com/coralogix/blobset/v2/dsym.js +331 -0
  63. package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.d.ts +78 -0
  64. package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.js +459 -0
  65. package/dist/proto-models/com/coralogix/blobset/v2/entity_type.d.ts +9 -0
  66. package/dist/proto-models/com/coralogix/blobset/v2/entity_type.js +47 -0
  67. package/dist/proto-models/com/coralogix/blobset/v2/react_native.d.ts +54 -0
  68. package/dist/proto-models/com/coralogix/blobset/v2/react_native.js +313 -0
  69. package/dist/proto-models/com/coralogix/blobset/v2/s3_metadata.d.ts +30 -0
  70. package/dist/proto-models/com/coralogix/blobset/v2/s3_metadata.js +126 -0
  71. package/dist/proto-models/com/coralogix/rum/v2/analytics.d.ts +1 -1
  72. package/dist/proto-models/com/coralogix/rum/v2/analytics.js +115 -102
  73. package/dist/proto-models/com/coralogix/rum/v2/audit_log.d.ts +1 -1
  74. package/dist/proto-models/com/coralogix/rum/v2/audit_log.js +5 -3
  75. package/dist/proto-models/com/coralogix/rum/v2/chunk.d.ts +1 -1
  76. package/dist/proto-models/com/coralogix/rum/v2/chunk.js +54 -49
  77. package/dist/proto-models/com/coralogix/rum/v2/file.d.ts +1 -1
  78. package/dist/proto-models/com/coralogix/rum/v2/file.js +24 -34
  79. package/dist/proto-models/com/coralogix/rum/v2/hide_errors.d.ts +44 -0
  80. package/dist/proto-models/com/coralogix/rum/v2/hide_errors.js +195 -0
  81. package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.d.ts +78 -0
  82. package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.js +459 -0
  83. package/dist/proto-models/com/coralogix/rum/v2/release_entity_type.d.ts +9 -0
  84. package/dist/proto-models/com/coralogix/rum/v2/release_entity_type.js +47 -0
  85. package/dist/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.d.ts +198 -0
  86. package/dist/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.js +517 -0
  87. package/dist/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.d.ts +69 -0
  88. package/dist/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.js +189 -0
  89. package/dist/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.d.ts +480 -0
  90. package/dist/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.js +1420 -0
  91. package/dist/proto-models/com/coralogix/rum/v2/rum_sdk_versions.d.ts +41 -0
  92. package/dist/proto-models/com/coralogix/rum/v2/rum_sdk_versions.js +217 -0
  93. package/dist/proto-models/com/coralogix/rum/v2/rum_service.d.ts +143 -3
  94. package/dist/proto-models/com/coralogix/rum/v2/rum_service.js +595 -127
  95. package/dist/proto-models/com/coralogix/rum/v2/rum_session_recording_service.d.ts +1 -59
  96. package/dist/proto-models/com/coralogix/rum/v2/rum_session_recording_service.js +4 -175
  97. package/dist/proto-models/com/coralogix/rum/v2/rum_settings.d.ts +45 -0
  98. package/dist/proto-models/com/coralogix/rum/v2/rum_settings.js +193 -0
  99. package/dist/proto-models/com/coralogix/rum/v2/rum_settings_service.d.ts +107 -0
  100. package/dist/proto-models/com/coralogix/rum/v2/rum_settings_service.js +214 -0
  101. package/dist/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.d.ts +261 -0
  102. package/dist/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.js +698 -0
  103. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.d.ts +93 -1
  104. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +325 -42
  105. package/dist/proto-models/com/coralogix/rum/v2/saved_filter.d.ts +55 -0
  106. package/dist/proto-models/com/coralogix/rum/v2/saved_filter.js +267 -0
  107. package/dist/proto-models/com/coralogix/rum/v2/snooze_errors.d.ts +109 -0
  108. package/dist/proto-models/com/coralogix/rum/v2/snooze_errors.js +580 -0
  109. package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.d.ts +1 -1
  110. package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.js +47 -24
  111. package/dist/proto-models/com/coralogix/rum/v2/source_map_release.d.ts +1 -1
  112. package/dist/proto-models/com/coralogix/rum/v2/source_map_release.js +43 -38
  113. package/dist/proto-models/com/coralogix/rum/v2/template.d.ts +14 -1
  114. package/dist/proto-models/com/coralogix/rum/v2/template.js +148 -54
  115. package/dist/proto-models/google/protobuf/descriptor.d.ts +1 -1
  116. package/dist/proto-models/google/protobuf/descriptor.js +537 -427
  117. package/dist/services/dsym.service.d.ts +3 -0
  118. package/dist/services/dsym.service.js +36 -0
  119. package/dist/services/react-native.service.d.ts +3 -0
  120. package/dist/services/react-native.service.js +37 -0
  121. package/dist/services/source-maps.service.js +12 -14
  122. package/dist/utils/file-processor.utils.d.ts +12 -0
  123. package/dist/utils/file-processor.utils.js +196 -0
  124. package/dist/utils/shared.utils.d.ts +9 -0
  125. package/dist/utils/shared.utils.js +62 -0
  126. package/models/dsym-commands.model.ts +11 -0
  127. package/models/react-native-commands.model.ts +11 -0
  128. package/models/{commands.model.ts → source-maps-commands.model.ts} +3 -3
  129. package/package.json +4 -3
  130. package/proto-models/com/coralogix/blobset/v2/audit_log.ts +78 -0
  131. package/proto-models/com/coralogix/blobset/v2/blobset_query_service.ts +30 -0
  132. package/proto-models/com/coralogix/blobset/v2/blobset_service.ts +203 -0
  133. package/proto-models/com/coralogix/blobset/v2/dsym.ts +394 -0
  134. package/proto-models/com/coralogix/blobset/v2/entity_metadata.ts +537 -0
  135. package/proto-models/com/coralogix/blobset/v2/entity_type.ts +44 -0
  136. package/proto-models/com/coralogix/blobset/v2/react_native.ts +361 -0
  137. package/proto-models/com/coralogix/blobset/v2/s3_metadata.ts +148 -0
  138. package/proto-models/com/coralogix/rum/v2/analytics.ts +113 -108
  139. package/proto-models/com/coralogix/rum/v2/audit_log.ts +6 -4
  140. package/proto-models/com/coralogix/rum/v2/chunk.ts +55 -56
  141. package/proto-models/com/coralogix/rum/v2/file.ts +25 -39
  142. package/proto-models/com/coralogix/rum/v2/hide_errors.ts +225 -0
  143. package/proto-models/com/coralogix/rum/v2/release_entity_metadata.ts +537 -0
  144. package/proto-models/com/coralogix/rum/v2/release_entity_type.ts +44 -0
  145. package/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.ts +599 -0
  146. package/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.ts +223 -0
  147. package/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.ts +1673 -0
  148. package/proto-models/com/coralogix/rum/v2/rum_sdk_versions.ts +254 -0
  149. package/proto-models/com/coralogix/rum/v2/rum_service.ts +672 -146
  150. package/proto-models/com/coralogix/rum/v2/rum_session_recording_service.ts +1 -208
  151. package/proto-models/com/coralogix/rum/v2/rum_settings.ts +209 -0
  152. package/proto-models/com/coralogix/rum/v2/rum_settings_service.ts +260 -0
  153. package/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.ts +818 -0
  154. package/proto-models/com/coralogix/rum/v2/rum_source_map_service.ts +369 -46
  155. package/proto-models/com/coralogix/rum/v2/saved_filter.ts +301 -0
  156. package/proto-models/com/coralogix/rum/v2/snooze_errors.ts +656 -0
  157. package/proto-models/com/coralogix/rum/v2/source_code_file_mapping.ts +48 -27
  158. package/proto-models/com/coralogix/rum/v2/source_map_release.ts +44 -44
  159. package/proto-models/com/coralogix/rum/v2/template.ts +161 -59
  160. package/proto-models/google/protobuf/descriptor.ts +551 -464
  161. package/protofetch.lock +21 -2
  162. package/protofetch.toml +6 -1
  163. package/protos/com/coralogix/blobset/v2/audit_log.proto +13 -0
  164. package/protos/com/coralogix/blobset/v2/blobset_query_service.proto +12 -0
  165. package/protos/com/coralogix/blobset/v2/blobset_service.proto +18 -0
  166. package/protos/com/coralogix/blobset/v2/dsym.proto +19 -0
  167. package/protos/com/coralogix/blobset/v2/entity_metadata.proto +36 -0
  168. package/protos/com/coralogix/blobset/v2/entity_type.proto +10 -0
  169. package/protos/com/coralogix/blobset/v2/react_native.proto +23 -0
  170. package/protos/com/coralogix/blobset/v2/s3_metadata.proto +14 -0
  171. package/protos/com/coralogix/rum/v2/hide_errors.proto +19 -0
  172. package/protos/com/coralogix/rum/v2/release_entity_metadata.proto +35 -0
  173. package/protos/com/coralogix/rum/v2/release_entity_type.proto +10 -0
  174. package/protos/com/coralogix/rum/v2/rum_hide_errors_service.proto +42 -0
  175. package/protos/com/coralogix/rum/v2/rum_react_native_source_map_service.proto +19 -0
  176. package/protos/com/coralogix/rum/v2/rum_saved_filters_service.proto +117 -0
  177. package/protos/com/coralogix/rum/v2/rum_sdk_versions.proto +16 -0
  178. package/protos/com/coralogix/rum/v2/rum_service.proto +36 -0
  179. package/protos/com/coralogix/rum/v2/rum_session_recording_service.proto +1 -12
  180. package/protos/com/coralogix/rum/v2/rum_settings.proto +26 -0
  181. package/protos/com/coralogix/rum/v2/rum_settings_service.proto +21 -0
  182. package/protos/com/coralogix/rum/v2/rum_snooze_errors_service.proto +64 -0
  183. package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +20 -1
  184. package/protos/com/coralogix/rum/v2/saved_filter.proto +28 -0
  185. package/protos/com/coralogix/rum/v2/snooze_errors.proto +55 -0
  186. package/protos/com/coralogix/rum/v2/template.proto +6 -0
  187. package/protoset.bin +0 -0
  188. package/services/dsym.service.ts +33 -0
  189. package/services/react-native.service.ts +34 -0
  190. package/services/source-maps.service.ts +12 -14
  191. package/utils/file-processor.utils.ts +176 -0
  192. package/utils/shared.utils.ts +52 -0
  193. package/cli/commands/index.ts +0 -7
  194. package/dist/api/rum-api.js +0 -104
  195. package/dist/cli/commands/delete-source-maps-command.d.ts +0 -2
  196. package/dist/cli/commands/delete-source-maps-command.js +0 -43
  197. package/dist/cli/commands/index.d.ts +0 -6
  198. package/dist/cli/commands/index.js +0 -8
  199. package/dist/cli/commands/update-source-maps-command.d.ts +0 -2
  200. package/dist/cli/commands/update-source-maps-command.js +0 -48
  201. package/dist/cli/commands/upload-source-maps-command.d.ts +0 -2
  202. package/dist/cli/commands/upload-source-maps-command.js +0 -47
  203. package/dist/models/commands.model.js +0 -3
  204. package/dist/utils/index.d.ts +0 -6
  205. package/dist/utils/index.js +0 -115
  206. package/utils/index.ts +0 -93
@@ -1,11 +1,10 @@
1
1
  import { Command } from 'commander';
2
- import { validateEnvironment } from '../validators';
3
- import { RED_COLOR } from '../../consts/consts';
4
- import { SourceMapsService } from '../../services/source-maps.service';
5
- import { checkMissingArguments } from '../../utils';
6
- import { UploadCommandOptions } from '../../models/commands.model';
2
+ import { validateEnvironment } from '../../validators';
3
+ import { SourceMapsService } from '../../../services/source-maps.service';
4
+ import { checkMissingArguments, consoleError } from '../../../utils/shared.utils';
5
+ import { UploadSourceMapsCommandOptions } from '../../../models/source-maps-commands.model';
7
6
 
8
- export const uploadCommand = () => {
7
+ export const uploadSourceMapsCommand = () => {
9
8
  const uploadCommand = new Command('upload-source-maps')
10
9
  .option('-k, --private-key <privateKey>', 'Private key to authenticate with the API')
11
10
  .option('-a, --application <application>', 'Name of the application')
@@ -16,7 +15,7 @@ export const uploadCommand = () => {
16
15
  .option('-n, --repo-name <repoName>', 'GitHub Repository name (optional)')
17
16
  .option('-o, --org-name <orgName>', 'GitHub user name (optional)')
18
17
  .description('Update source maps')
19
- .action(async (options: UploadCommandOptions) => {
18
+ .action(async (options: UploadSourceMapsCommandOptions) => {
20
19
  try {
21
20
  if (options.help) {
22
21
  uploadCommand.outputHelp();
@@ -25,12 +24,11 @@ export const uploadCommand = () => {
25
24
 
26
25
  const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env } = options;
27
26
 
28
- checkMissingArguments<UploadCommandOptions>(options, ['privateKey', 'application', 'version', 'folderPath', 'env']);
27
+ checkMissingArguments<UploadSourceMapsCommandOptions>(options, ['privateKey', 'application', 'version', 'folderPath', 'env']);
29
28
 
30
29
  await SourceMapsService.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey);
31
30
  } catch (error) {
32
- console.error(RED_COLOR, '❌ An error occurred:');
33
- console.error(RED_COLOR, error);
31
+ consoleError(error);
34
32
  }
35
33
  });
36
34
 
package/cli/rum-cli.ts CHANGED
@@ -1,20 +1,30 @@
1
1
  #!/usr/bin/env node
2
2
  import { Command } from 'commander';
3
- import commands from './commands';
3
+ import sourceMapsCommands from './commands/source-maps';
4
+ import reactNativeCommands from './commands/react-native';
5
+ import dsymCommands from './commands/dsym';
4
6
 
5
7
  const program: Command = new Command();
6
8
 
7
9
  program.name('coralogix-rum-cli').description('CLI for upload, update, and delete source maps');
8
10
 
9
11
  // Create instances for each command
10
- const uploadCommand: Command = commands.uploadCommand();
11
- const updateCommand: Command = commands.updateCommand();
12
- const deleteCommand: Command = commands.deleteCommand();
12
+ const uploadSourceMapCommand: Command = sourceMapsCommands.uploadSourceMapsCommand();
13
+ const updateSourceMapCommand: Command = sourceMapsCommands.updateSourceMapsCommand();
14
+ const deleteSourceMapCommand: Command = sourceMapsCommands.deleteSourceMapsCommand();
15
+
16
+ const uploadReactNativeSourceMapsCommand: Command = reactNativeCommands.uploadReactNativeSourceMapsCommand();
17
+
18
+ const uploadDsymCommand: Command = dsymCommands.uploadDsymCommand();
13
19
 
14
20
  // Register commands
15
- program.addCommand(uploadCommand);
16
- program.addCommand(updateCommand);
17
- program.addCommand(deleteCommand);
21
+ program.addCommand(uploadSourceMapCommand);
22
+ program.addCommand(updateSourceMapCommand);
23
+ program.addCommand(deleteSourceMapCommand);
24
+
25
+ program.addCommand(uploadReactNativeSourceMapsCommand);
26
+
27
+ program.addCommand(uploadDsymCommand);
18
28
 
19
29
  // Parse command line arguments
20
30
  program.parse(process.argv);
package/config/config.ts CHANGED
@@ -6,11 +6,14 @@ export interface LoggerConfig {
6
6
  }
7
7
 
8
8
  export interface rumApiConfig {
9
- maxMessageSize: number;
9
+ sourceMapsMaxMessageSize: number;
10
+ dsymMaxMessageSize: number;
10
11
  keepaliveTimeMs: number;
11
12
  keepaliveTimeoutMs: number;
12
13
  chunkSize: number;
13
- maxCompressedFilesSize: number;
14
+ reactNativeMaxCompressedFilesSize: number;
15
+ sourceMapsMaxCompressedFilesSize: number;
16
+ dsymMaxCompressedFilesSize: number;
14
17
  }
15
18
 
16
19
  export interface Config {
@@ -26,8 +29,11 @@ const config: Config = {
26
29
  rumApi: {
27
30
  keepaliveTimeMs: 240000,
28
31
  keepaliveTimeoutMs: 240000,
29
- maxMessageSize: 200 * MB, // 200MB(in bytes)
30
- maxCompressedFilesSize: 200 * MB, // 200MB (in bytes)
32
+ sourceMapsMaxMessageSize: 200 * MB, // 200MB(in bytes)
33
+ dsymMaxMessageSize: 400 * MB, // 400MB(in bytes)
34
+ reactNativeMaxCompressedFilesSize: 200 * MB, // 200MB (in bytes)
35
+ sourceMapsMaxCompressedFilesSize: 200 * MB, // 200MB (in bytes)
36
+ dsymMaxCompressedFilesSize: 400 * MB, // 400MB (in bytes)
31
37
  chunkSize: MB, // 1MB (in bytes)
32
38
  },
33
39
  };
package/consts/consts.ts CHANGED
@@ -6,6 +6,8 @@ export const RED_COLOR = '\x1b[31m%s\x1b[0m';
6
6
 
7
7
  export const GRAY_COLOR = '\x1b[37m%s\x1b[0m';
8
8
 
9
+ export const STREAM_CHUNK_SIZE: number = 10 * 1024 * 1024; // 10 MB
10
+
9
11
  export const envToDomain: Record<string, string> = {
10
12
  EU1: 'https://ng-api-grpc.coralogix.com:443', // eu-west-1 (Ireland)
11
13
  EU2: 'https://ng-api-grpc.eu2.coralogix.com:443', // eu-north-1 (Stockholm)
@@ -0,0 +1,355 @@
1
+ export declare class ClientFactory {
2
+ private static getGrpcClient;
3
+ static getBlobSetGrpcClient(env: string): import("nice-grpc").RawClient<import("nice-grpc/lib/service-definitions/ts-proto").FromTsProtoServiceDefinition<{
4
+ readonly name: "BlobSetService";
5
+ readonly fullName: "com.coralogix.blobset.v2.BlobSetService";
6
+ readonly methods: {
7
+ readonly uploadBlob: {
8
+ readonly name: "UploadBlob";
9
+ readonly requestType: {
10
+ encode(message: import("../../proto-models/com/coralogix/blobset/v2/blobset_service").UploadBlobRequest, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
11
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../../proto-models/com/coralogix/blobset/v2/blobset_service").UploadBlobRequest;
12
+ fromJSON(object: any): import("../../proto-models/com/coralogix/blobset/v2/blobset_service").UploadBlobRequest;
13
+ toJSON(message: import("../../proto-models/com/coralogix/blobset/v2/blobset_service").UploadBlobRequest): unknown;
14
+ create(base?: {
15
+ data?: Uint8Array | undefined;
16
+ entityType?: import("../../proto-models/com/coralogix/blobset/v2/entity_type").EntityType | undefined;
17
+ entityMetadata?: {
18
+ metadata?: ({
19
+ dsymMetadata?: {
20
+ application?: string | undefined;
21
+ releaseId?: string | undefined;
22
+ commitHash?: string | undefined;
23
+ repoName?: string | undefined;
24
+ orgName?: string | undefined;
25
+ } | undefined;
26
+ } & {
27
+ $case: "dsymMetadata";
28
+ }) | ({
29
+ sourceMapMetadata?: {
30
+ application?: string | undefined;
31
+ releaseId?: string | undefined;
32
+ commitHash?: string | undefined;
33
+ repoName?: string | undefined;
34
+ orgName?: string | undefined;
35
+ } | undefined;
36
+ } & {
37
+ $case: "sourceMapMetadata";
38
+ }) | ({
39
+ reactNativeMetadata?: {
40
+ application?: string | undefined;
41
+ releaseId?: string | undefined;
42
+ commitHash?: string | undefined;
43
+ repoName?: string | undefined;
44
+ orgName?: string | undefined;
45
+ } | undefined;
46
+ } & {
47
+ $case: "reactNativeMetadata";
48
+ }) | undefined;
49
+ } | undefined;
50
+ } | undefined): import("../../proto-models/com/coralogix/blobset/v2/blobset_service").UploadBlobRequest;
51
+ fromPartial(object: {
52
+ data?: Uint8Array | undefined;
53
+ entityType?: import("../../proto-models/com/coralogix/blobset/v2/entity_type").EntityType | undefined;
54
+ entityMetadata?: {
55
+ metadata?: ({
56
+ dsymMetadata?: {
57
+ application?: string | undefined;
58
+ releaseId?: string | undefined;
59
+ commitHash?: string | undefined;
60
+ repoName?: string | undefined;
61
+ orgName?: string | undefined;
62
+ } | undefined;
63
+ } & {
64
+ $case: "dsymMetadata";
65
+ }) | ({
66
+ sourceMapMetadata?: {
67
+ application?: string | undefined;
68
+ releaseId?: string | undefined;
69
+ commitHash?: string | undefined;
70
+ repoName?: string | undefined;
71
+ orgName?: string | undefined;
72
+ } | undefined;
73
+ } & {
74
+ $case: "sourceMapMetadata";
75
+ }) | ({
76
+ reactNativeMetadata?: {
77
+ application?: string | undefined;
78
+ releaseId?: string | undefined;
79
+ commitHash?: string | undefined;
80
+ repoName?: string | undefined;
81
+ orgName?: string | undefined;
82
+ } | undefined;
83
+ } & {
84
+ $case: "reactNativeMetadata";
85
+ }) | undefined;
86
+ } | undefined;
87
+ }): import("../../proto-models/com/coralogix/blobset/v2/blobset_service").UploadBlobRequest;
88
+ };
89
+ readonly requestStream: true;
90
+ readonly responseType: {
91
+ encode(_: import("../../proto-models/com/coralogix/blobset/v2/blobset_service").UploadBlobResponse, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
92
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../../proto-models/com/coralogix/blobset/v2/blobset_service").UploadBlobResponse;
93
+ fromJSON(_: any): import("../../proto-models/com/coralogix/blobset/v2/blobset_service").UploadBlobResponse;
94
+ toJSON(_: import("../../proto-models/com/coralogix/blobset/v2/blobset_service").UploadBlobResponse): unknown;
95
+ create(base?: {} | undefined): import("../../proto-models/com/coralogix/blobset/v2/blobset_service").UploadBlobResponse;
96
+ fromPartial(_: {}): import("../../proto-models/com/coralogix/blobset/v2/blobset_service").UploadBlobResponse;
97
+ };
98
+ readonly responseStream: false;
99
+ readonly options: {};
100
+ };
101
+ };
102
+ }>, {}>;
103
+ static getRumSourceMapGrpcClient(env: string): import("nice-grpc").RawClient<import("nice-grpc/lib/service-definitions/ts-proto").FromTsProtoServiceDefinition<{
104
+ readonly name: "RumSourceMapService";
105
+ readonly fullName: "com.coralogix.rum.v2.RumSourceMapService";
106
+ readonly methods: {
107
+ readonly uploadSourceMaps: {
108
+ readonly name: "UploadSourceMaps";
109
+ readonly requestType: {
110
+ encode(message: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UploadSourceMapsRequest, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
111
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UploadSourceMapsRequest;
112
+ fromJSON(object: any): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UploadSourceMapsRequest;
113
+ toJSON(message: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UploadSourceMapsRequest): unknown;
114
+ create(base?: {
115
+ application?: string | undefined;
116
+ releaseId?: string | undefined;
117
+ commitHash?: string | undefined;
118
+ repoName?: string | undefined;
119
+ user?: string | undefined;
120
+ files?: {
121
+ chunkName?: string | undefined;
122
+ size?: number | undefined;
123
+ content?: Uint8Array | undefined;
124
+ }[] | undefined;
125
+ } | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UploadSourceMapsRequest;
126
+ fromPartial(object: {
127
+ application?: string | undefined;
128
+ releaseId?: string | undefined;
129
+ commitHash?: string | undefined;
130
+ repoName?: string | undefined;
131
+ user?: string | undefined;
132
+ files?: {
133
+ chunkName?: string | undefined;
134
+ size?: number | undefined;
135
+ content?: Uint8Array | undefined;
136
+ }[] | undefined;
137
+ }): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UploadSourceMapsRequest;
138
+ };
139
+ readonly requestStream: false;
140
+ readonly responseType: {
141
+ encode(_: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UploadSourceMapsResponse, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
142
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UploadSourceMapsResponse;
143
+ fromJSON(_: any): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UploadSourceMapsResponse;
144
+ toJSON(_: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UploadSourceMapsResponse): unknown;
145
+ create(base?: {} | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UploadSourceMapsResponse;
146
+ fromPartial(_: {}): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UploadSourceMapsResponse;
147
+ };
148
+ readonly responseStream: false;
149
+ readonly options: {};
150
+ };
151
+ readonly updateSourceMap: {
152
+ readonly name: "UpdateSourceMap";
153
+ readonly requestType: {
154
+ encode(message: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UpdateSourceMapRequest, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
155
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UpdateSourceMapRequest;
156
+ fromJSON(object: any): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UpdateSourceMapRequest;
157
+ toJSON(message: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UpdateSourceMapRequest): unknown;
158
+ create(base?: {
159
+ application?: string | undefined;
160
+ releaseId?: string | undefined;
161
+ commitHash?: string | undefined;
162
+ repoName?: string | undefined;
163
+ user?: string | undefined;
164
+ files?: {
165
+ chunkName?: string | undefined;
166
+ size?: number | undefined;
167
+ content?: Uint8Array | undefined;
168
+ }[] | undefined;
169
+ replace?: string | undefined;
170
+ generate?: string | undefined;
171
+ } | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UpdateSourceMapRequest;
172
+ fromPartial(object: {
173
+ application?: string | undefined;
174
+ releaseId?: string | undefined;
175
+ commitHash?: string | undefined;
176
+ repoName?: string | undefined;
177
+ user?: string | undefined;
178
+ files?: {
179
+ chunkName?: string | undefined;
180
+ size?: number | undefined;
181
+ content?: Uint8Array | undefined;
182
+ }[] | undefined;
183
+ replace?: string | undefined;
184
+ generate?: string | undefined;
185
+ }): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UpdateSourceMapRequest;
186
+ };
187
+ readonly requestStream: false;
188
+ readonly responseType: {
189
+ encode(_: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UpdateSourceMapResponse, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
190
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UpdateSourceMapResponse;
191
+ fromJSON(_: any): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UpdateSourceMapResponse;
192
+ toJSON(_: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UpdateSourceMapResponse): unknown;
193
+ create(base?: {} | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UpdateSourceMapResponse;
194
+ fromPartial(_: {}): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").UpdateSourceMapResponse;
195
+ };
196
+ readonly responseStream: false;
197
+ readonly options: {};
198
+ };
199
+ readonly deleteSourceMap: {
200
+ readonly name: "DeleteSourceMap";
201
+ readonly requestType: {
202
+ encode(message: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").DeleteSourceMapRequest, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
203
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").DeleteSourceMapRequest;
204
+ fromJSON(object: any): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").DeleteSourceMapRequest;
205
+ toJSON(message: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").DeleteSourceMapRequest): unknown;
206
+ create(base?: {
207
+ application?: string | undefined;
208
+ releaseId?: string | undefined;
209
+ } | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").DeleteSourceMapRequest;
210
+ fromPartial(object: {
211
+ application?: string | undefined;
212
+ releaseId?: string | undefined;
213
+ }): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").DeleteSourceMapRequest;
214
+ };
215
+ readonly requestStream: false;
216
+ readonly responseType: {
217
+ encode(_: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").DeleteSourceMapResponse, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
218
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").DeleteSourceMapResponse;
219
+ fromJSON(_: any): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").DeleteSourceMapResponse;
220
+ toJSON(_: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").DeleteSourceMapResponse): unknown;
221
+ create(base?: {} | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").DeleteSourceMapResponse;
222
+ fromPartial(_: {}): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").DeleteSourceMapResponse;
223
+ };
224
+ readonly responseStream: false;
225
+ readonly options: {};
226
+ };
227
+ readonly createEntityRelease: {
228
+ readonly name: "CreateEntityRelease";
229
+ readonly requestType: {
230
+ encode(message: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").CreateEntityReleaseRequest, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
231
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").CreateEntityReleaseRequest;
232
+ fromJSON(object: any): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").CreateEntityReleaseRequest;
233
+ toJSON(message: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").CreateEntityReleaseRequest): unknown;
234
+ create(base?: {
235
+ releaseEntityType?: import("../../proto-models/com/coralogix/rum/v2/release_entity_type").ReleaseEntityType | undefined;
236
+ releaseEntityMetadata?: {
237
+ metadata?: ({
238
+ dsymMetadata?: {
239
+ application?: string | undefined;
240
+ releaseId?: string | undefined;
241
+ commitHash?: string | undefined;
242
+ repoName?: string | undefined;
243
+ orgName?: string | undefined;
244
+ } | undefined;
245
+ } & {
246
+ $case: "dsymMetadata";
247
+ }) | ({
248
+ sourceMapMetadata?: {
249
+ application?: string | undefined;
250
+ releaseId?: string | undefined;
251
+ commitHash?: string | undefined;
252
+ repoName?: string | undefined;
253
+ orgName?: string | undefined;
254
+ } | undefined;
255
+ } & {
256
+ $case: "sourceMapMetadata";
257
+ }) | ({
258
+ reactNativeMetadata?: {
259
+ application?: string | undefined;
260
+ releaseId?: string | undefined;
261
+ commitHash?: string | undefined;
262
+ repoName?: string | undefined;
263
+ orgName?: string | undefined;
264
+ } | undefined;
265
+ } & {
266
+ $case: "reactNativeMetadata";
267
+ }) | undefined;
268
+ } | undefined;
269
+ } | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").CreateEntityReleaseRequest;
270
+ fromPartial(object: {
271
+ releaseEntityType?: import("../../proto-models/com/coralogix/rum/v2/release_entity_type").ReleaseEntityType | undefined;
272
+ releaseEntityMetadata?: {
273
+ metadata?: ({
274
+ dsymMetadata?: {
275
+ application?: string | undefined;
276
+ releaseId?: string | undefined;
277
+ commitHash?: string | undefined;
278
+ repoName?: string | undefined;
279
+ orgName?: string | undefined;
280
+ } | undefined;
281
+ } & {
282
+ $case: "dsymMetadata";
283
+ }) | ({
284
+ sourceMapMetadata?: {
285
+ application?: string | undefined;
286
+ releaseId?: string | undefined;
287
+ commitHash?: string | undefined;
288
+ repoName?: string | undefined;
289
+ orgName?: string | undefined;
290
+ } | undefined;
291
+ } & {
292
+ $case: "sourceMapMetadata";
293
+ }) | ({
294
+ reactNativeMetadata?: {
295
+ application?: string | undefined;
296
+ releaseId?: string | undefined;
297
+ commitHash?: string | undefined;
298
+ repoName?: string | undefined;
299
+ orgName?: string | undefined;
300
+ } | undefined;
301
+ } & {
302
+ $case: "reactNativeMetadata";
303
+ }) | undefined;
304
+ } | undefined;
305
+ }): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").CreateEntityReleaseRequest;
306
+ };
307
+ readonly requestStream: false;
308
+ readonly responseType: {
309
+ encode(_: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").CreateEntityReleaseResponse, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
310
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").CreateEntityReleaseResponse;
311
+ fromJSON(_: any): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").CreateEntityReleaseResponse;
312
+ toJSON(_: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").CreateEntityReleaseResponse): unknown;
313
+ create(base?: {} | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").CreateEntityReleaseResponse;
314
+ fromPartial(_: {}): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").CreateEntityReleaseResponse;
315
+ };
316
+ readonly responseStream: false;
317
+ readonly options: {};
318
+ };
319
+ readonly isEntityReleaseExists: {
320
+ readonly name: "IsEntityReleaseExists";
321
+ readonly requestType: {
322
+ encode(message: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").IsEntityReleaseExistsRequest, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
323
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").IsEntityReleaseExistsRequest;
324
+ fromJSON(object: any): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").IsEntityReleaseExistsRequest;
325
+ toJSON(message: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").IsEntityReleaseExistsRequest): unknown;
326
+ create(base?: {
327
+ application?: string | undefined;
328
+ releaseId?: string | undefined;
329
+ releaseEntityType?: import("../../proto-models/com/coralogix/rum/v2/release_entity_type").ReleaseEntityType | undefined;
330
+ } | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").IsEntityReleaseExistsRequest;
331
+ fromPartial(object: {
332
+ application?: string | undefined;
333
+ releaseId?: string | undefined;
334
+ releaseEntityType?: import("../../proto-models/com/coralogix/rum/v2/release_entity_type").ReleaseEntityType | undefined;
335
+ }): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").IsEntityReleaseExistsRequest;
336
+ };
337
+ readonly requestStream: false;
338
+ readonly responseType: {
339
+ encode(message: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").IsEntityReleaseExistsResponse, writer?: import("protobufjs").Writer): import("protobufjs").Writer;
340
+ decode(input: Uint8Array | import("protobufjs").Reader, length?: number | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").IsEntityReleaseExistsResponse;
341
+ fromJSON(object: any): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").IsEntityReleaseExistsResponse;
342
+ toJSON(message: import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").IsEntityReleaseExistsResponse): unknown;
343
+ create(base?: {
344
+ exists?: boolean | undefined;
345
+ } | undefined): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").IsEntityReleaseExistsResponse;
346
+ fromPartial(object: {
347
+ exists?: boolean | undefined;
348
+ }): import("../../proto-models/com/coralogix/rum/v2/rum_source_map_service").IsEntityReleaseExistsResponse;
349
+ };
350
+ readonly responseStream: false;
351
+ readonly options: {};
352
+ };
353
+ };
354
+ }>, {}>;
355
+ }
@@ -0,0 +1,31 @@
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.ClientFactory = void 0;
7
+ const nice_grpc_1 = require("nice-grpc");
8
+ const config_1 = __importDefault(require("../../config/config"));
9
+ const consts_1 = require("../../consts/consts");
10
+ const blobset_service_1 = require("../../proto-models/com/coralogix/blobset/v2/blobset_service");
11
+ const rum_source_map_service_1 = require("../../proto-models/com/coralogix/rum/v2/rum_source_map_service");
12
+ class ClientFactory {
13
+ static getGrpcClient(serviceDefinition, env) {
14
+ const { dsymMaxMessageSize, keepaliveTimeMs, keepaliveTimeoutMs } = config_1.default.rumApi;
15
+ const channel = (0, nice_grpc_1.createChannel)(consts_1.envToDomain[env], undefined, {
16
+ 'grpc.max_receive_message_length': dsymMaxMessageSize,
17
+ 'grpc.max_send_message_length': dsymMaxMessageSize,
18
+ 'grpc.keepalive_time_ms': keepaliveTimeMs,
19
+ 'grpc.keepalive_timeout_ms': keepaliveTimeoutMs,
20
+ });
21
+ return (0, nice_grpc_1.createClient)(serviceDefinition, channel);
22
+ }
23
+ static getBlobSetGrpcClient(env) {
24
+ return this.getGrpcClient(blobset_service_1.BlobSetServiceDefinition, env);
25
+ }
26
+ static getRumSourceMapGrpcClient(env) {
27
+ return this.getGrpcClient(rum_source_map_service_1.RumSourceMapServiceDefinition, env);
28
+ }
29
+ }
30
+ exports.ClientFactory = ClientFactory;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LWZhY3RvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvY2xpZW50L2NsaWVudC1mYWN0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLHlDQUF3RDtBQUN4RCxpRUFBeUM7QUFDekMsZ0RBQWtEO0FBQ2xELGlHQUF1RztBQUN2RywyR0FBK0c7QUFFL0csTUFBYSxhQUFhO0lBQ2hCLE1BQU0sQ0FBQyxhQUFhLENBQXFFLGlCQUFvQixFQUFFLEdBQVc7UUFDaEksTUFBTSxFQUFFLGtCQUFrQixFQUFFLGVBQWUsRUFBRSxrQkFBa0IsRUFBRSxHQUFHLGdCQUFNLENBQUMsTUFBTSxDQUFDO1FBQ2xGLE1BQU0sT0FBTyxHQUFHLElBQUEseUJBQWEsRUFBQyxvQkFBVyxDQUFDLEdBQUcsQ0FBQyxFQUFFLFNBQVMsRUFBRTtZQUN6RCxpQ0FBaUMsRUFBRSxrQkFBa0I7WUFDckQsOEJBQThCLEVBQUUsa0JBQWtCO1lBQ2xELHdCQUF3QixFQUFFLGVBQWU7WUFDekMsMkJBQTJCLEVBQUUsa0JBQWtCO1NBQ2hELENBQUMsQ0FBQztRQUNILE9BQU8sSUFBQSx3QkFBWSxFQUFDLGlCQUFpQixFQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ2xELENBQUM7SUFFRCxNQUFNLENBQUMsb0JBQW9CLENBQUMsR0FBVztRQUNyQyxPQUFPLElBQUksQ0FBQyxhQUFhLENBQUMsMENBQXdCLEVBQUUsR0FBRyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVELE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxHQUFXO1FBQzFDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxzREFBNkIsRUFBRSxHQUFHLENBQUMsQ0FBQztJQUNoRSxDQUFDO0NBQ0Y7QUFuQkQsc0NBbUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY3JlYXRlQ2hhbm5lbCwgY3JlYXRlQ2xpZW50IH0gZnJvbSAnbmljZS1ncnBjJztcbmltcG9ydCBjb25maWcgZnJvbSAnLi4vLi4vY29uZmlnL2NvbmZpZyc7XG5pbXBvcnQgeyBlbnZUb0RvbWFpbiB9IGZyb20gJy4uLy4uL2NvbnN0cy9jb25zdHMnO1xuaW1wb3J0IHsgQmxvYlNldFNlcnZpY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvYmxvYnNldC92Mi9ibG9ic2V0X3NlcnZpY2UnO1xuaW1wb3J0IHsgUnVtU291cmNlTWFwU2VydmljZURlZmluaXRpb24gfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvcnVtX3NvdXJjZV9tYXBfc2VydmljZSc7XG5cbmV4cG9ydCBjbGFzcyBDbGllbnRGYWN0b3J5IHtcbiAgcHJpdmF0ZSBzdGF0aWMgZ2V0R3JwY0NsaWVudDxUIGV4dGVuZHMgQmxvYlNldFNlcnZpY2VEZWZpbml0aW9uIHwgUnVtU291cmNlTWFwU2VydmljZURlZmluaXRpb24+KHNlcnZpY2VEZWZpbml0aW9uOiBULCBlbnY6IHN0cmluZykge1xuICAgIGNvbnN0IHsgZHN5bU1heE1lc3NhZ2VTaXplLCBrZWVwYWxpdmVUaW1lTXMsIGtlZXBhbGl2ZVRpbWVvdXRNcyB9ID0gY29uZmlnLnJ1bUFwaTtcbiAgICBjb25zdCBjaGFubmVsID0gY3JlYXRlQ2hhbm5lbChlbnZUb0RvbWFpbltlbnZdLCB1bmRlZmluZWQsIHtcbiAgICAgICdncnBjLm1heF9yZWNlaXZlX21lc3NhZ2VfbGVuZ3RoJzogZHN5bU1heE1lc3NhZ2VTaXplLFxuICAgICAgJ2dycGMubWF4X3NlbmRfbWVzc2FnZV9sZW5ndGgnOiBkc3ltTWF4TWVzc2FnZVNpemUsXG4gICAgICAnZ3JwYy5rZWVwYWxpdmVfdGltZV9tcyc6IGtlZXBhbGl2ZVRpbWVNcyxcbiAgICAgICdncnBjLmtlZXBhbGl2ZV90aW1lb3V0X21zJzoga2VlcGFsaXZlVGltZW91dE1zLFxuICAgIH0pO1xuICAgIHJldHVybiBjcmVhdGVDbGllbnQoc2VydmljZURlZmluaXRpb24sIGNoYW5uZWwpO1xuICB9XG5cbiAgc3RhdGljIGdldEJsb2JTZXRHcnBjQ2xpZW50KGVudjogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0R3JwY0NsaWVudChCbG9iU2V0U2VydmljZURlZmluaXRpb24sIGVudik7XG4gIH1cblxuICBzdGF0aWMgZ2V0UnVtU291cmNlTWFwR3JwY0NsaWVudChlbnY6IHN0cmluZykge1xuICAgIHJldHVybiB0aGlzLmdldEdycGNDbGllbnQoUnVtU291cmNlTWFwU2VydmljZURlZmluaXRpb24sIGVudik7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,33 @@
1
+ import { EntityType } from '../../proto-models/com/coralogix/blobset/v2/entity_type';
2
+ import { DsymMetadata, ReactNativeMetadata, SourceMapMetadata } from '../../proto-models/com/coralogix/blobset/v2/entity_metadata';
3
+ import { CreateEntityReleaseRequest } from '../../proto-models/com/coralogix/rum/v2/rum_source_map_service';
4
+ import { ReleaseEntityType } from '../../proto-models/com/coralogix/rum/v2/release_entity_type';
5
+ import { UploadBlobRequest } from '../../proto-models/com/coralogix/blobset/v2/blobset_service';
6
+ export declare class RequestBuilder {
7
+ private static createReactNativeMetadata;
8
+ private static createDsymMetadata;
9
+ static buildUploadBlobRequest(uploadBlobRequest: UploadBlobRequest, entityType: EntityType, metadata: {
10
+ $case: 'reactNativeMetadata';
11
+ reactNativeMetadata: ReactNativeMetadata;
12
+ } | {
13
+ $case: 'dsymMetadata';
14
+ dsymMetadata: DsymMetadata;
15
+ } | {
16
+ $case: 'sourceMapMetadata';
17
+ sourceMapMetadata: SourceMapMetadata;
18
+ }): UploadBlobRequest;
19
+ static buildCreateEntityReleaseRequest(releaseEntityType: ReleaseEntityType, metadata: {
20
+ $case: 'reactNativeMetadata';
21
+ reactNativeMetadata: ReactNativeMetadata;
22
+ } | {
23
+ $case: 'dsymMetadata';
24
+ dsymMetadata: DsymMetadata;
25
+ } | {
26
+ $case: 'sourceMapMetadata';
27
+ sourceMapMetadata: SourceMapMetadata;
28
+ }): CreateEntityReleaseRequest;
29
+ static createReactNativeUploadBlobRequest(uploadBlobRequest: UploadBlobRequest, application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined): UploadBlobRequest;
30
+ static createDsymUploadBlobRequest(uploadBlobRequest: UploadBlobRequest, application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined): UploadBlobRequest;
31
+ static createReactNativeReleaseRequest(application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined): CreateEntityReleaseRequest;
32
+ static createDsymReleaseRequest(application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined): CreateEntityReleaseRequest;
33
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RequestBuilder = void 0;
4
+ const entity_type_1 = require("../../proto-models/com/coralogix/blobset/v2/entity_type");
5
+ const rum_source_map_service_1 = require("../../proto-models/com/coralogix/rum/v2/rum_source_map_service");
6
+ const release_entity_type_1 = require("../../proto-models/com/coralogix/rum/v2/release_entity_type");
7
+ class RequestBuilder {
8
+ static createReactNativeMetadata(application, version, repoName, commitHash, orgName) {
9
+ return {
10
+ $case: 'reactNativeMetadata',
11
+ reactNativeMetadata: {
12
+ application,
13
+ releaseId: version,
14
+ repoName: repoName || '',
15
+ commitHash: commitHash || '',
16
+ orgName: orgName || '',
17
+ },
18
+ };
19
+ }
20
+ static createDsymMetadata(application, version, repoName, commitHash, orgName) {
21
+ return {
22
+ $case: 'dsymMetadata',
23
+ dsymMetadata: {
24
+ application,
25
+ releaseId: version,
26
+ repoName: repoName || '',
27
+ commitHash: commitHash || '',
28
+ orgName: orgName || '',
29
+ },
30
+ };
31
+ }
32
+ static buildUploadBlobRequest(uploadBlobRequest, entityType, metadata) {
33
+ const entityMetadata = { metadata };
34
+ return Object.assign(Object.assign({}, uploadBlobRequest), { entityType, entityMetadata });
35
+ }
36
+ static buildCreateEntityReleaseRequest(releaseEntityType, metadata) {
37
+ const releaseEntityMetadata = { metadata };
38
+ return rum_source_map_service_1.CreateEntityReleaseRequest.create({ releaseEntityType, releaseEntityMetadata });
39
+ }
40
+ static createReactNativeUploadBlobRequest(uploadBlobRequest, application, version, repoName, commitHash, orgName) {
41
+ const metadata = this.createReactNativeMetadata(application, version, repoName, commitHash, orgName);
42
+ return this.buildUploadBlobRequest(uploadBlobRequest, entity_type_1.EntityType.ENTITY_TYPE_REACT_NATIVE, metadata);
43
+ }
44
+ static createDsymUploadBlobRequest(uploadBlobRequest, application, version, repoName, commitHash, orgName) {
45
+ const metadata = this.createDsymMetadata(application, version, repoName, commitHash, orgName);
46
+ return this.buildUploadBlobRequest(uploadBlobRequest, entity_type_1.EntityType.ENTITY_TYPE_DSYM, metadata);
47
+ }
48
+ static createReactNativeReleaseRequest(application, version, repoName, commitHash, orgName) {
49
+ const metadata = this.createReactNativeMetadata(application, version, repoName, commitHash, orgName);
50
+ return this.buildCreateEntityReleaseRequest(release_entity_type_1.ReleaseEntityType.RELEASE_ENTITY_TYPE_REACT_NATIVE, metadata);
51
+ }
52
+ static createDsymReleaseRequest(application, version, repoName, commitHash, orgName) {
53
+ const metadata = this.createDsymMetadata(application, version, repoName, commitHash, orgName);
54
+ return this.buildCreateEntityReleaseRequest(release_entity_type_1.ReleaseEntityType.RELEASE_ENTITY_TYPE_DSYM, metadata);
55
+ }
56
+ }
57
+ exports.RequestBuilder = RequestBuilder;
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC1idWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vYXBpL2NsaWVudC9yZXF1ZXN0LWJ1aWxkZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEseUZBQXFGO0FBT3JGLDJHQUE0RztBQUU1RyxxR0FBZ0c7QUFHaEcsTUFBYSxjQUFjO0lBQ2pCLE1BQU0sQ0FBQyx5QkFBeUIsQ0FDdEMsV0FBbUIsRUFDbkIsT0FBZSxFQUNmLFFBQTRCLEVBQzVCLFVBQThCLEVBQzlCLE9BQTJCO1FBRTNCLE9BQU87WUFDTCxLQUFLLEVBQUUscUJBQXFCO1lBQzVCLG1CQUFtQixFQUFFO2dCQUNuQixXQUFXO2dCQUNYLFNBQVMsRUFBRSxPQUFPO2dCQUNsQixRQUFRLEVBQUUsUUFBUSxJQUFJLEVBQUU7Z0JBQ3hCLFVBQVUsRUFBRSxVQUFVLElBQUksRUFBRTtnQkFDNUIsT0FBTyxFQUFFLE9BQU8sSUFBSSxFQUFFO2FBQ3ZCO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyxNQUFNLENBQUMsa0JBQWtCLENBQy9CLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixRQUE0QixFQUM1QixVQUE4QixFQUM5QixPQUEyQjtRQUUzQixPQUFPO1lBQ0wsS0FBSyxFQUFFLGNBQWM7WUFDckIsWUFBWSxFQUFFO2dCQUNaLFdBQVc7Z0JBQ1gsU0FBUyxFQUFFLE9BQU87Z0JBQ2xCLFFBQVEsRUFBRSxRQUFRLElBQUksRUFBRTtnQkFDeEIsVUFBVSxFQUFFLFVBQVUsSUFBSSxFQUFFO2dCQUM1QixPQUFPLEVBQUUsT0FBTyxJQUFJLEVBQUU7YUFDdkI7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVELE1BQU0sQ0FBQyxzQkFBc0IsQ0FDM0IsaUJBQW9DLEVBQ3BDLFVBQXNCLEVBQ3RCLFFBR3dFO1FBRXhFLE1BQU0sY0FBYyxHQUFtQixFQUFFLFFBQVEsRUFBRSxDQUFDO1FBRXBELHVDQUFZLGlCQUFpQixLQUFFLFVBQVUsRUFBRSxjQUFjLElBQUc7SUFDOUQsQ0FBQztJQUVELE1BQU0sQ0FBQywrQkFBK0IsQ0FDcEMsaUJBQW9DLEVBQ3BDLFFBR3dFO1FBRXhFLE1BQU0scUJBQXFCLEdBQTBCLEVBQUUsUUFBUSxFQUFFLENBQUM7UUFFbEUsT0FBTyxtREFBMEIsQ0FBQyxNQUFNLENBQUMsRUFBRSxpQkFBaUIsRUFBRSxxQkFBcUIsRUFBRSxDQUFDLENBQUM7SUFDekYsQ0FBQztJQUVELE1BQU0sQ0FBQyxrQ0FBa0MsQ0FDdkMsaUJBQW9DLEVBQ3BDLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixRQUE0QixFQUM1QixVQUE4QixFQUM5QixPQUEyQjtRQUUzQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQ3JHLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixFQUFFLHdCQUFVLENBQUMsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkcsQ0FBQztJQUVELE1BQU0sQ0FBQywyQkFBMkIsQ0FDaEMsaUJBQW9DLEVBQ3BDLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixRQUE0QixFQUM1QixVQUE4QixFQUM5QixPQUEyQjtRQUUzQixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLE9BQU8sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQzlGLE9BQU8sSUFBSSxDQUFDLHNCQUFzQixDQUFDLGlCQUFpQixFQUFFLHdCQUFVLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELE1BQU0sQ0FBQywrQkFBK0IsQ0FDcEMsV0FBbUIsRUFDbkIsT0FBZSxFQUNmLFFBQTRCLEVBQzVCLFVBQThCLEVBQzlCLE9BQTJCO1FBRTNCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDckcsT0FBTyxJQUFJLENBQUMsK0JBQStCLENBQUMsdUNBQWlCLENBQUMsZ0NBQWdDLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDNUcsQ0FBQztJQUVELE1BQU0sQ0FBQyx3QkFBd0IsQ0FDN0IsV0FBbUIsRUFDbkIsT0FBZSxFQUNmLFFBQTRCLEVBQzVCLFVBQThCLEVBQzlCLE9BQTJCO1FBRTNCLE1BQU0sUUFBUSxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDOUYsT0FBTyxJQUFJLENBQUMsK0JBQStCLENBQUMsdUNBQWlCLENBQUMsd0JBQXdCLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDcEcsQ0FBQztDQUNGO0FBN0dELHdDQTZHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ibG9ic2V0L3YyL2VudGl0eV90eXBlJztcbmltcG9ydCB7XG4gIEVudGl0eU1ldGFkYXRhLFxuICBEc3ltTWV0YWRhdGEsXG4gIFJlYWN0TmF0aXZlTWV0YWRhdGEsXG4gIFNvdXJjZU1hcE1ldGFkYXRhLFxufSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ibG9ic2V0L3YyL2VudGl0eV9tZXRhZGF0YSc7XG5pbXBvcnQgeyBDcmVhdGVFbnRpdHlSZWxlYXNlUmVxdWVzdCB9IGZyb20gJy4uLy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L3J1bS92Mi9ydW1fc291cmNlX21hcF9zZXJ2aWNlJztcbmltcG9ydCB7IFJlbGVhc2VFbnRpdHlNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L3J1bS92Mi9yZWxlYXNlX2VudGl0eV9tZXRhZGF0YSc7XG5pbXBvcnQgeyBSZWxlYXNlRW50aXR5VHlwZSB9IGZyb20gJy4uLy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L3J1bS92Mi9yZWxlYXNlX2VudGl0eV90eXBlJztcbmltcG9ydCB7IFVwbG9hZEJsb2JSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvYmxvYnNldC92Mi9ibG9ic2V0X3NlcnZpY2UnO1xuXG5leHBvcnQgY2xhc3MgUmVxdWVzdEJ1aWxkZXIge1xuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVSZWFjdE5hdGl2ZU1ldGFkYXRhKFxuICAgIGFwcGxpY2F0aW9uOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIHJlcG9OYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgY29tbWl0SGFzaDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG9yZ05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgKTogeyAkY2FzZTogJ3JlYWN0TmF0aXZlTWV0YWRhdGEnOyByZWFjdE5hdGl2ZU1ldGFkYXRhOiBSZWFjdE5hdGl2ZU1ldGFkYXRhIH0ge1xuICAgIHJldHVybiB7XG4gICAgICAkY2FzZTogJ3JlYWN0TmF0aXZlTWV0YWRhdGEnLFxuICAgICAgcmVhY3ROYXRpdmVNZXRhZGF0YToge1xuICAgICAgICBhcHBsaWNhdGlvbixcbiAgICAgICAgcmVsZWFzZUlkOiB2ZXJzaW9uLFxuICAgICAgICByZXBvTmFtZTogcmVwb05hbWUgfHwgJycsXG4gICAgICAgIGNvbW1pdEhhc2g6IGNvbW1pdEhhc2ggfHwgJycsXG4gICAgICAgIG9yZ05hbWU6IG9yZ05hbWUgfHwgJycsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBwcml2YXRlIHN0YXRpYyBjcmVhdGVEc3ltTWV0YWRhdGEoXG4gICAgYXBwbGljYXRpb246IHN0cmluZyxcbiAgICB2ZXJzaW9uOiBzdHJpbmcsXG4gICAgcmVwb05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBjb21taXRIYXNoOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgb3JnTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICApOiB7ICRjYXNlOiAnZHN5bU1ldGFkYXRhJzsgZHN5bU1ldGFkYXRhOiBEc3ltTWV0YWRhdGEgfSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICRjYXNlOiAnZHN5bU1ldGFkYXRhJyxcbiAgICAgIGRzeW1NZXRhZGF0YToge1xuICAgICAgICBhcHBsaWNhdGlvbixcbiAgICAgICAgcmVsZWFzZUlkOiB2ZXJzaW9uLFxuICAgICAgICByZXBvTmFtZTogcmVwb05hbWUgfHwgJycsXG4gICAgICAgIGNvbW1pdEhhc2g6IGNvbW1pdEhhc2ggfHwgJycsXG4gICAgICAgIG9yZ05hbWU6IG9yZ05hbWUgfHwgJycsXG4gICAgICB9LFxuICAgIH07XG4gIH1cblxuICBzdGF0aWMgYnVpbGRVcGxvYWRCbG9iUmVxdWVzdChcbiAgICB1cGxvYWRCbG9iUmVxdWVzdDogVXBsb2FkQmxvYlJlcXVlc3QsXG4gICAgZW50aXR5VHlwZTogRW50aXR5VHlwZSxcbiAgICBtZXRhZGF0YTpcbiAgICAgIHwgeyAkY2FzZTogJ3JlYWN0TmF0aXZlTWV0YWRhdGEnOyByZWFjdE5hdGl2ZU1ldGFkYXRhOiBSZWFjdE5hdGl2ZU1ldGFkYXRhIH1cbiAgICAgIHwgeyAkY2FzZTogJ2RzeW1NZXRhZGF0YSc7IGRzeW1NZXRhZGF0YTogRHN5bU1ldGFkYXRhIH1cbiAgICAgIHwgeyAkY2FzZTogJ3NvdXJjZU1hcE1ldGFkYXRhJzsgc291cmNlTWFwTWV0YWRhdGE6IFNvdXJjZU1hcE1ldGFkYXRhIH0sXG4gICk6IFVwbG9hZEJsb2JSZXF1ZXN0IHtcbiAgICBjb25zdCBlbnRpdHlNZXRhZGF0YTogRW50aXR5TWV0YWRhdGEgPSB7IG1ldGFkYXRhIH07XG5cbiAgICByZXR1cm4geyAuLi51cGxvYWRCbG9iUmVxdWVzdCwgZW50aXR5VHlwZSwgZW50aXR5TWV0YWRhdGEgfTtcbiAgfVxuXG4gIHN0YXRpYyBidWlsZENyZWF0ZUVudGl0eVJlbGVhc2VSZXF1ZXN0KFxuICAgIHJlbGVhc2VFbnRpdHlUeXBlOiBSZWxlYXNlRW50aXR5VHlwZSxcbiAgICBtZXRhZGF0YTpcbiAgICAgIHwgeyAkY2FzZTogJ3JlYWN0TmF0aXZlTWV0YWRhdGEnOyByZWFjdE5hdGl2ZU1ldGFkYXRhOiBSZWFjdE5hdGl2ZU1ldGFkYXRhIH1cbiAgICAgIHwgeyAkY2FzZTogJ2RzeW1NZXRhZGF0YSc7IGRzeW1NZXRhZGF0YTogRHN5bU1ldGFkYXRhIH1cbiAgICAgIHwgeyAkY2FzZTogJ3NvdXJjZU1hcE1ldGFkYXRhJzsgc291cmNlTWFwTWV0YWRhdGE6IFNvdXJjZU1hcE1ldGFkYXRhIH0sXG4gICk6IENyZWF0ZUVudGl0eVJlbGVhc2VSZXF1ZXN0IHtcbiAgICBjb25zdCByZWxlYXNlRW50aXR5TWV0YWRhdGE6IFJlbGVhc2VFbnRpdHlNZXRhZGF0YSA9IHsgbWV0YWRhdGEgfTtcblxuICAgIHJldHVybiBDcmVhdGVFbnRpdHlSZWxlYXNlUmVxdWVzdC5jcmVhdGUoeyByZWxlYXNlRW50aXR5VHlwZSwgcmVsZWFzZUVudGl0eU1ldGFkYXRhIH0pO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZVJlYWN0TmF0aXZlVXBsb2FkQmxvYlJlcXVlc3QoXG4gICAgdXBsb2FkQmxvYlJlcXVlc3Q6IFVwbG9hZEJsb2JSZXF1ZXN0LFxuICAgIGFwcGxpY2F0aW9uOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIHJlcG9OYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgY29tbWl0SGFzaDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG9yZ05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgKTogVXBsb2FkQmxvYlJlcXVlc3Qge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jcmVhdGVSZWFjdE5hdGl2ZU1ldGFkYXRhKGFwcGxpY2F0aW9uLCB2ZXJzaW9uLCByZXBvTmFtZSwgY29tbWl0SGFzaCwgb3JnTmFtZSk7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRVcGxvYWRCbG9iUmVxdWVzdCh1cGxvYWRCbG9iUmVxdWVzdCwgRW50aXR5VHlwZS5FTlRJVFlfVFlQRV9SRUFDVF9OQVRJVkUsIG1ldGFkYXRhKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVEc3ltVXBsb2FkQmxvYlJlcXVlc3QoXG4gICAgdXBsb2FkQmxvYlJlcXVlc3Q6IFVwbG9hZEJsb2JSZXF1ZXN0LFxuICAgIGFwcGxpY2F0aW9uOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIHJlcG9OYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgY29tbWl0SGFzaDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG9yZ05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgKTogVXBsb2FkQmxvYlJlcXVlc3Qge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jcmVhdGVEc3ltTWV0YWRhdGEoYXBwbGljYXRpb24sIHZlcnNpb24sIHJlcG9OYW1lLCBjb21taXRIYXNoLCBvcmdOYW1lKTtcbiAgICByZXR1cm4gdGhpcy5idWlsZFVwbG9hZEJsb2JSZXF1ZXN0KHVwbG9hZEJsb2JSZXF1ZXN0LCBFbnRpdHlUeXBlLkVOVElUWV9UWVBFX0RTWU0sIG1ldGFkYXRhKTtcbiAgfVxuXG4gIHN0YXRpYyBjcmVhdGVSZWFjdE5hdGl2ZVJlbGVhc2VSZXF1ZXN0KFxuICAgIGFwcGxpY2F0aW9uOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIHJlcG9OYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgY29tbWl0SGFzaDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIG9yZ05hbWU6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgKTogQ3JlYXRlRW50aXR5UmVsZWFzZVJlcXVlc3Qge1xuICAgIGNvbnN0IG1ldGFkYXRhID0gdGhpcy5jcmVhdGVSZWFjdE5hdGl2ZU1ldGFkYXRhKGFwcGxpY2F0aW9uLCB2ZXJzaW9uLCByZXBvTmFtZSwgY29tbWl0SGFzaCwgb3JnTmFtZSk7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRDcmVhdGVFbnRpdHlSZWxlYXNlUmVxdWVzdChSZWxlYXNlRW50aXR5VHlwZS5SRUxFQVNFX0VOVElUWV9UWVBFX1JFQUNUX05BVElWRSwgbWV0YWRhdGEpO1xuICB9XG5cbiAgc3RhdGljIGNyZWF0ZURzeW1SZWxlYXNlUmVxdWVzdChcbiAgICBhcHBsaWNhdGlvbjogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICByZXBvTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNvbW1pdEhhc2g6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBvcmdOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICk6IENyZWF0ZUVudGl0eVJlbGVhc2VSZXF1ZXN0IHtcbiAgICBjb25zdCBtZXRhZGF0YSA9IHRoaXMuY3JlYXRlRHN5bU1ldGFkYXRhKGFwcGxpY2F0aW9uLCB2ZXJzaW9uLCByZXBvTmFtZSwgY29tbWl0SGFzaCwgb3JnTmFtZSk7XG4gICAgcmV0dXJuIHRoaXMuYnVpbGRDcmVhdGVFbnRpdHlSZWxlYXNlUmVxdWVzdChSZWxlYXNlRW50aXR5VHlwZS5SRUxFQVNFX0VOVElUWV9UWVBFX0RTWU0sIG1ldGFkYXRhKTtcbiAgfVxufVxuIl19