@coralogix/rum-cli 1.1.41 → 1.1.43

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 (134) hide show
  1. package/README.md +1 -0
  2. package/api/base/base.api.ts +29 -34
  3. package/api/dsym/dsym.api.ts +8 -0
  4. package/api/proguard/proguard.api.ts +8 -0
  5. package/api/react-native/react-native.api.ts +8 -0
  6. package/api/source-maps/source-maps.api.ts +4 -74
  7. package/cli/commands/dsym/upload-dsym-command.ts +4 -2
  8. package/cli/commands/proguard/upload-proguard-command.ts +4 -2
  9. package/cli/commands/react-native/upload-react-native-source-maps-command.ts +4 -2
  10. package/cli/commands/source-maps/upload-source-maps-command.ts +3 -2
  11. package/dist/api/base/base.api.d.ts +4 -5
  12. package/dist/api/base/base.api.js +16 -25
  13. package/dist/api/dsym/dsym.api.d.ts +2 -2
  14. package/dist/api/dsym/dsym.api.js +7 -3
  15. package/dist/api/proguard/proguard.api.d.ts +2 -2
  16. package/dist/api/proguard/proguard.api.js +7 -3
  17. package/dist/api/react-native/react-native.api.d.ts +2 -2
  18. package/dist/api/react-native/react-native.api.js +7 -3
  19. package/dist/api/source-maps/source-maps.api.d.ts +2 -5
  20. package/dist/api/source-maps/source-maps.api.js +5 -55
  21. package/dist/cli/commands/dsym/upload-dsym-command.js +5 -3
  22. package/dist/cli/commands/proguard/upload-proguard-command.js +5 -3
  23. package/dist/cli/commands/react-native/upload-react-native-source-maps-command.js +5 -3
  24. package/dist/cli/commands/source-maps/upload-source-maps-command.js +4 -3
  25. package/dist/grpc-client/grpc-client-factory.d.ts +86 -0
  26. package/dist/models/dsym-commands.model.d.ts +2 -0
  27. package/dist/models/dsym-commands.model.js +1 -1
  28. package/dist/models/proguard-commands.model.d.ts +2 -0
  29. package/dist/models/proguard-commands.model.js +1 -1
  30. package/dist/models/react-native-commands.model.d.ts +2 -0
  31. package/dist/models/react-native-commands.model.js +1 -1
  32. package/dist/models/source-maps-commands.model.d.ts +1 -0
  33. package/dist/models/source-maps-commands.model.js +1 -1
  34. package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.d.ts +16 -0
  35. package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.js +162 -6
  36. package/dist/proto-models/com/coralogix/rum/v2/ai_assist.d.ts +89 -0
  37. package/dist/proto-models/com/coralogix/rum/v2/ai_assist.js +290 -0
  38. package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.d.ts +15 -0
  39. package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.js +133 -2
  40. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.d.ts +48 -1
  41. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +160 -2
  42. package/dist/proto-models/com/coralogix/rum/v2/saved_filter.d.ts +2 -1
  43. package/dist/proto-models/com/coralogix/rum/v2/saved_filter.js +7 -1
  44. package/dist/proto-models/google/protobuf/struct.d.ts +127 -0
  45. package/dist/proto-models/google/protobuf/struct.js +476 -0
  46. package/dist/services/base/base.service.d.ts +1 -1
  47. package/dist/services/base/base.service.js +7 -5
  48. package/dist/services/source-maps/source-maps.service.d.ts +0 -1
  49. package/dist/services/source-maps/source-maps.service.js +1 -23
  50. package/dist/utils/upload-mode.utils.d.ts +12 -0
  51. package/dist/utils/upload-mode.utils.js +26 -0
  52. package/dist/utils/version-context.utils.d.ts +20 -0
  53. package/dist/utils/version-context.utils.js +71 -0
  54. package/models/dsym-commands.model.ts +2 -0
  55. package/models/proguard-commands.model.ts +2 -0
  56. package/models/react-native-commands.model.ts +2 -0
  57. package/models/source-maps-commands.model.ts +1 -0
  58. package/package.json +2 -2
  59. package/protofetch.lock +4 -4
  60. package/protofetch.toml +2 -2
  61. package/services/base/base.service.ts +7 -3
  62. package/services/source-maps/source-maps.service.ts +0 -26
  63. package/utils/upload-mode.utils.ts +30 -0
  64. package/utils/version-context.utils.ts +95 -0
  65. package/proto-models/com/coralogix/blobset/v2/audit_log.ts +0 -84
  66. package/proto-models/com/coralogix/blobset/v2/blobset_query_service.ts +0 -64
  67. package/proto-models/com/coralogix/blobset/v2/blobset_service.ts +0 -209
  68. package/proto-models/com/coralogix/blobset/v2/case_file.ts +0 -188
  69. package/proto-models/com/coralogix/blobset/v2/dsym.ts +0 -434
  70. package/proto-models/com/coralogix/blobset/v2/entity_metadata.ts +0 -782
  71. package/proto-models/com/coralogix/blobset/v2/entity_type.ts +0 -68
  72. package/proto-models/com/coralogix/blobset/v2/investigation_file.ts +0 -188
  73. package/proto-models/com/coralogix/blobset/v2/proguard.ts +0 -466
  74. package/proto-models/com/coralogix/blobset/v2/s3_metadata.ts +0 -154
  75. package/proto-models/com/coralogix/blobset/v2/source_map.ts +0 -418
  76. package/proto-models/com/coralogix/rum/v2/analytics.ts +0 -924
  77. package/proto-models/com/coralogix/rum/v2/application_releases.ts +0 -213
  78. package/proto-models/com/coralogix/rum/v2/audit_log.ts +0 -84
  79. package/proto-models/com/coralogix/rum/v2/chunk.ts +0 -399
  80. package/proto-models/com/coralogix/rum/v2/file.ts +0 -159
  81. package/proto-models/com/coralogix/rum/v2/hide_errors.ts +0 -234
  82. package/proto-models/com/coralogix/rum/v2/merge_error.ts +0 -201
  83. package/proto-models/com/coralogix/rum/v2/release_entity_metadata.ts +0 -791
  84. package/proto-models/com/coralogix/rum/v2/release_entity_type.ts +0 -56
  85. package/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.ts +0 -605
  86. package/proto-models/com/coralogix/rum/v2/rum_merge_erros_service.ts +0 -566
  87. package/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.ts +0 -229
  88. package/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.ts +0 -1679
  89. package/proto-models/com/coralogix/rum/v2/rum_sdk_versions.ts +0 -279
  90. package/proto-models/com/coralogix/rum/v2/rum_service.ts +0 -2620
  91. package/proto-models/com/coralogix/rum/v2/rum_session_recording_service.ts +0 -16
  92. package/proto-models/com/coralogix/rum/v2/rum_settings.ts +0 -215
  93. package/proto-models/com/coralogix/rum/v2/rum_settings_service.ts +0 -283
  94. package/proto-models/com/coralogix/rum/v2/rum_source_map_service.ts +0 -1069
  95. package/proto-models/com/coralogix/rum/v2/saved_filter.ts +0 -325
  96. package/proto-models/com/coralogix/rum/v2/source_code_file_mapping.ts +0 -358
  97. package/proto-models/com/coralogix/rum/v2/source_map_release.ts +0 -301
  98. package/proto-models/com/coralogix/rum/v2/template.ts +0 -620
  99. package/proto-models/google/protobuf/descriptor.ts +0 -4921
  100. package/protos/com/coralogix/blobset/v2/audit_log.proto +0 -13
  101. package/protos/com/coralogix/blobset/v2/blobset_query_service.proto +0 -19
  102. package/protos/com/coralogix/blobset/v2/blobset_service.proto +0 -18
  103. package/protos/com/coralogix/blobset/v2/case_file.proto +0 -12
  104. package/protos/com/coralogix/blobset/v2/dsym.proto +0 -20
  105. package/protos/com/coralogix/blobset/v2/entity_metadata.proto +0 -48
  106. package/protos/com/coralogix/blobset/v2/entity_type.proto +0 -13
  107. package/protos/com/coralogix/blobset/v2/investigation_file.proto +0 -12
  108. package/protos/com/coralogix/blobset/v2/proguard.proto +0 -30
  109. package/protos/com/coralogix/blobset/v2/s3_metadata.proto +0 -14
  110. package/protos/com/coralogix/blobset/v2/source_map.proto +0 -30
  111. package/protos/com/coralogix/rum/v2/analytics.proto +0 -57
  112. package/protos/com/coralogix/rum/v2/application_releases.proto +0 -14
  113. package/protos/com/coralogix/rum/v2/audit_log.proto +0 -13
  114. package/protos/com/coralogix/rum/v2/chunk.proto +0 -24
  115. package/protos/com/coralogix/rum/v2/file.proto +0 -8
  116. package/protos/com/coralogix/rum/v2/hide_errors.proto +0 -19
  117. package/protos/com/coralogix/rum/v2/merge_error.proto +0 -13
  118. package/protos/com/coralogix/rum/v2/release_entity_metadata.proto +0 -51
  119. package/protos/com/coralogix/rum/v2/release_entity_type.proto +0 -11
  120. package/protos/com/coralogix/rum/v2/rum_hide_errors_service.proto +0 -42
  121. package/protos/com/coralogix/rum/v2/rum_merge_erros_service.proto +0 -42
  122. package/protos/com/coralogix/rum/v2/rum_react_native_source_map_service.proto +0 -19
  123. package/protos/com/coralogix/rum/v2/rum_saved_filters_service.proto +0 -117
  124. package/protos/com/coralogix/rum/v2/rum_sdk_versions.proto +0 -17
  125. package/protos/com/coralogix/rum/v2/rum_service.proto +0 -167
  126. package/protos/com/coralogix/rum/v2/rum_session_recording_service.proto +0 -4
  127. package/protos/com/coralogix/rum/v2/rum_settings.proto +0 -26
  128. package/protos/com/coralogix/rum/v2/rum_settings_service.proto +0 -23
  129. package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +0 -69
  130. package/protos/com/coralogix/rum/v2/saved_filter.proto +0 -31
  131. package/protos/com/coralogix/rum/v2/source_code_file_mapping.proto +0 -16
  132. package/protos/com/coralogix/rum/v2/source_map_release.proto +0 -18
  133. package/protos/com/coralogix/rum/v2/template.proto +0 -42
  134. package/protoset.bin +0 -0
package/README.md CHANGED
@@ -69,6 +69,7 @@ coralogix-rum-cli upload-proguard -k <privateKey> -a <application> -v <version>
69
69
  - `-n, --repo-name <repoName>`: GitHub repository name (optional).
70
70
  - `-o, --org-name <orgName>`: GitHub organization name (optional).
71
71
  - `--override`: Override existing source maps (optional).
72
+ - `--merge`: Merge with existing source maps, allowing multiple uploads to the same version (optional).
72
73
  - `-h, --help`: Display help.
73
74
 
74
75
  ## Environments
@@ -1,12 +1,13 @@
1
- import { Client, ClientError, Metadata, Status } from 'nice-grpc';
1
+ import { Client, Metadata } from 'nice-grpc';
2
2
  import { BlobSetServiceDefinition, UploadBlobRequest } from '../../proto-models/com/coralogix/blobset/v2/blobset_service';
3
3
  import { createUploadBlobRequestChunks, validateCompressedFilesSize } from '../../utils/shared.utils';
4
4
  import { GrpcClientFactory } from '../../grpc-client/grpc-client-factory';
5
5
  import { CreateEntityReleaseRequest, RumSourceMapServiceDefinition } from '../../proto-models/com/coralogix/rum/v2/rum_source_map_service';
6
6
  import { EntityType } from '../../proto-models/com/coralogix/blobset/v2/entity_type';
7
7
  import { ReleaseEntityType } from '../../proto-models/com/coralogix/rum/v2/release_entity_type';
8
- import { EntityMetadata } from '../../proto-models/com/coralogix/blobset/v2/entity_metadata';
9
8
  import { ReleaseEntityMetadata } from '../../proto-models/com/coralogix/rum/v2/release_entity_metadata';
9
+ import { EntityMetadata } from '../../proto-models/com/coralogix/blobset/v2/entity_metadata';
10
+ import { getVersionContext } from '../../utils/version-context.utils';
10
11
 
11
12
  export abstract class BaseApi {
12
13
  protected abstract getEntityType(): EntityType;
@@ -19,6 +20,7 @@ export abstract class BaseApi {
19
20
  commitHash?: string,
20
21
  orgName?: string,
21
22
  internalVersion?: number,
23
+ mergedVersions?: number[],
22
24
  ): ReleaseEntityMetadata;
23
25
  protected abstract buildEntityMetadata(
24
26
  application: string,
@@ -27,6 +29,7 @@ export abstract class BaseApi {
27
29
  commitHash?: string,
28
30
  orgName?: string,
29
31
  internalVersion?: number,
32
+ mergedVersions?: number[],
30
33
  ): EntityMetadata;
31
34
 
32
35
  protected async uploadBlob(
@@ -62,28 +65,6 @@ export abstract class BaseApi {
62
65
  return metadata;
63
66
  }
64
67
 
65
- protected async checkEntityReleaseExists(
66
- rumClient: Client<typeof RumSourceMapServiceDefinition>,
67
- application: string,
68
- version: string,
69
- metadata: Metadata,
70
- ): Promise<boolean> {
71
- try {
72
- const { exists } = await rumClient.isEntityReleaseExists(
73
- { releaseId: version, application, releaseEntityType: this.getReleaseEntityType() },
74
- { metadata },
75
- );
76
- return exists;
77
- } catch (error) {
78
- if (error instanceof ClientError && error.code === Status.PERMISSION_DENIED) {
79
- throw new Error(
80
- `Permission denied while checking entity release. Verify that your private key is correct. Details: ${error.message}`,
81
- );
82
- }
83
- throw error;
84
- }
85
- }
86
-
87
68
  public async upload(
88
69
  request: UploadBlobRequest,
89
70
  application: string,
@@ -93,30 +74,44 @@ export abstract class BaseApi {
93
74
  orgName: string | undefined,
94
75
  env: string,
95
76
  privateKey: string,
77
+ override = false,
78
+ merge = false,
96
79
  ): Promise<void> {
97
- const metadata: Metadata = this.createGrpcMetadata(privateKey);
80
+ const grpcMetadata: Metadata = this.createGrpcMetadata(privateKey);
98
81
  const blobSetClient = GrpcClientFactory.getBlobSetGrpcClient(env, this.getMaxCompressedFileSize());
99
82
  const rumClient = GrpcClientFactory.getRumSourceMapGrpcClient(env, this.getMaxCompressedFileSize());
100
83
 
101
84
  validateCompressedFilesSize(request.data.length, this.getMaxCompressedFileSize());
102
85
 
103
- const releaseExists = await this.checkEntityReleaseExists(rumClient, application, version, metadata);
104
-
105
- if (releaseExists) {
106
- throw new Error(`Entity release already exists for releaseId: ${version} and application: ${application}`);
107
- }
108
-
86
+ const { internalVersion, mergedVersions } = await getVersionContext({
87
+ client: rumClient,
88
+ application,
89
+ version,
90
+ releaseEntityType: this.getReleaseEntityType(),
91
+ metadata: grpcMetadata,
92
+ flags: { override, merge },
93
+ });
109
94
  const releaseEntityMetadata: ReleaseEntityMetadata = this.buildReleaseEntityMetadata(
110
95
  application,
111
96
  version,
112
97
  repoName,
113
98
  commitHash,
114
99
  orgName,
100
+ internalVersion,
101
+ mergedVersions,
115
102
  );
116
103
 
117
- const entityMetadata: EntityMetadata = this.buildEntityMetadata(application, version, repoName, commitHash, orgName);
104
+ const entityMetadata: EntityMetadata = this.buildEntityMetadata(
105
+ application,
106
+ version,
107
+ repoName,
108
+ commitHash,
109
+ orgName,
110
+ internalVersion,
111
+ mergedVersions,
112
+ );
118
113
 
119
- await this.uploadBlob(blobSetClient, request, entityMetadata, metadata);
120
- await this.createEntityRelease(rumClient, releaseEntityMetadata, metadata);
114
+ await this.uploadBlob(blobSetClient, request, entityMetadata, grpcMetadata);
115
+ await this.createEntityRelease(rumClient, releaseEntityMetadata, grpcMetadata);
121
116
  }
122
117
  }
@@ -24,6 +24,8 @@ export class DsymApi extends BaseApi {
24
24
  repoName?: string,
25
25
  commitHash?: string,
26
26
  orgName?: string,
27
+ internalVersion?: number,
28
+ mergedVersions?: number[],
27
29
  ): ReleaseEntityMetadata {
28
30
  return {
29
31
  metadata: {
@@ -34,6 +36,8 @@ export class DsymApi extends BaseApi {
34
36
  repoName: repoName || '',
35
37
  commitHash: commitHash || '',
36
38
  orgName: orgName || '',
39
+ internalVersion: internalVersion ?? 0,
40
+ mergedVersions: mergedVersions ? { versions: mergedVersions } : undefined,
37
41
  },
38
42
  },
39
43
  };
@@ -45,6 +49,8 @@ export class DsymApi extends BaseApi {
45
49
  repoName?: string,
46
50
  commitHash?: string,
47
51
  orgName?: string,
52
+ internalVersion?: number,
53
+ mergedVersions?: number[],
48
54
  ): EntityMetadata {
49
55
  return {
50
56
  metadata: {
@@ -55,6 +61,8 @@ export class DsymApi extends BaseApi {
55
61
  repoName: repoName || '',
56
62
  commitHash: commitHash || '',
57
63
  orgName: orgName || '',
64
+ internalVersion: internalVersion ?? 0,
65
+ mergedVersions: mergedVersions ? { versions: mergedVersions } : undefined,
58
66
  },
59
67
  },
60
68
  };
@@ -24,6 +24,8 @@ export class ProguardApi extends BaseApi {
24
24
  repoName?: string,
25
25
  commitHash?: string,
26
26
  orgName?: string,
27
+ internalVersion?: number,
28
+ mergedVersions?: number[],
27
29
  ): ReleaseEntityMetadata {
28
30
  return {
29
31
  metadata: {
@@ -34,6 +36,8 @@ export class ProguardApi extends BaseApi {
34
36
  repoName: repoName || '',
35
37
  commitHash: commitHash || '',
36
38
  orgName: orgName || '',
39
+ internalVersion: internalVersion ?? 0,
40
+ mergedVersions: mergedVersions ? { versions: mergedVersions } : undefined,
37
41
  },
38
42
  },
39
43
  };
@@ -45,6 +49,8 @@ export class ProguardApi extends BaseApi {
45
49
  repoName?: string,
46
50
  commitHash?: string,
47
51
  orgName?: string,
52
+ internalVersion?: number,
53
+ mergedVersions?: number[],
48
54
  ): EntityMetadata {
49
55
  return {
50
56
  metadata: {
@@ -55,6 +61,8 @@ export class ProguardApi extends BaseApi {
55
61
  repoName: repoName || '',
56
62
  commitHash: commitHash || '',
57
63
  orgName: orgName || '',
64
+ internalVersion: internalVersion ?? 0,
65
+ mergedVersions: mergedVersions ? { versions: mergedVersions } : undefined,
58
66
  },
59
67
  },
60
68
  };
@@ -24,6 +24,8 @@ export class ReactNativeApi extends BaseApi {
24
24
  repoName?: string,
25
25
  commitHash?: string,
26
26
  orgName?: string,
27
+ internalVersion?: number,
28
+ mergedVersions?: number[],
27
29
  ): ReleaseEntityMetadata {
28
30
  return {
29
31
  metadata: {
@@ -34,6 +36,8 @@ export class ReactNativeApi extends BaseApi {
34
36
  repoName: repoName || '',
35
37
  commitHash: commitHash || '',
36
38
  orgName: orgName || '',
39
+ internalVersion: internalVersion ?? 0,
40
+ mergedVersions: mergedVersions ? { versions: mergedVersions } : undefined,
37
41
  },
38
42
  },
39
43
  };
@@ -45,6 +49,8 @@ export class ReactNativeApi extends BaseApi {
45
49
  repoName?: string,
46
50
  commitHash?: string,
47
51
  orgName?: string,
52
+ internalVersion?: number,
53
+ mergedVersions?: number[],
48
54
  ): EntityMetadata {
49
55
  return {
50
56
  metadata: {
@@ -55,6 +61,8 @@ export class ReactNativeApi extends BaseApi {
55
61
  repoName: repoName || '',
56
62
  commitHash: commitHash || '',
57
63
  orgName: orgName || '',
64
+ internalVersion: internalVersion ?? 0,
65
+ mergedVersions: mergedVersions ? { versions: mergedVersions } : undefined,
58
66
  },
59
67
  },
60
68
  };
@@ -4,11 +4,6 @@ import config from '../../config/config';
4
4
  import { BaseApi } from '../base/base.api';
5
5
  import { ReleaseEntityMetadata } from '../../proto-models/com/coralogix/rum/v2/release_entity_metadata';
6
6
  import { EntityMetadata } from '../../proto-models/com/coralogix/blobset/v2/entity_metadata';
7
- import { UploadBlobRequest } from '../../proto-models/com/coralogix/blobset/v2/blobset_service';
8
- import { Client, ClientError, Metadata, Status } from 'nice-grpc';
9
- import { GrpcClientFactory } from '../../grpc-client/grpc-client-factory';
10
- import { validateCompressedFilesSize } from '../../utils/shared.utils';
11
- import { RumSourceMapServiceDefinition } from '../../proto-models/com/coralogix/rum/v2/rum_source_map_service';
12
7
 
13
8
  export class SourceMapsApi extends BaseApi {
14
9
  protected getEntityType(): EntityType {
@@ -30,6 +25,7 @@ export class SourceMapsApi extends BaseApi {
30
25
  commitHash?: string,
31
26
  orgName?: string,
32
27
  internalVersion?: number,
28
+ mergedVersions?: number[],
33
29
  ): ReleaseEntityMetadata {
34
30
  return {
35
31
  metadata: {
@@ -41,6 +37,7 @@ export class SourceMapsApi extends BaseApi {
41
37
  commitHash: commitHash || '',
42
38
  orgName: orgName || '',
43
39
  internalVersion: internalVersion ?? 0,
40
+ mergedVersions: mergedVersions ? { versions: mergedVersions } : undefined,
44
41
  },
45
42
  },
46
43
  };
@@ -53,6 +50,7 @@ export class SourceMapsApi extends BaseApi {
53
50
  commitHash?: string,
54
51
  orgName?: string,
55
52
  internalVersion?: number,
53
+ mergedVersions?: number[],
56
54
  ): EntityMetadata {
57
55
  return {
58
56
  metadata: {
@@ -64,77 +62,9 @@ export class SourceMapsApi extends BaseApi {
64
62
  commitHash: commitHash || '',
65
63
  orgName: orgName || '',
66
64
  internalVersion: internalVersion ?? 0,
65
+ mergedVersions: mergedVersions ? { versions: mergedVersions } : undefined,
67
66
  },
68
67
  },
69
68
  };
70
69
  }
71
-
72
- public async upload(
73
- request: UploadBlobRequest,
74
- application: string,
75
- version: string,
76
- repoName: string | undefined,
77
- commitHash: string | undefined,
78
- orgName: string | undefined,
79
- env: string,
80
- privateKey: string,
81
- override = false,
82
- ): Promise<void> {
83
- const metadata: Metadata = this.createGrpcMetadata(privateKey);
84
- const blobSetClient = GrpcClientFactory.getBlobSetGrpcClient(env, this.getMaxCompressedFileSize());
85
- const rumClient = GrpcClientFactory.getRumSourceMapGrpcClient(env, this.getMaxCompressedFileSize());
86
-
87
- validateCompressedFilesSize(request.data.length, this.getMaxCompressedFileSize());
88
-
89
- let internalVersion: number | undefined;
90
-
91
- if (override) {
92
- internalVersion = await this.updateInternalVersion(rumClient, application, version, metadata);
93
- } else {
94
- const releaseExists = await this.checkEntityReleaseExists(rumClient, application, version, metadata);
95
-
96
- if (releaseExists) {
97
- throw new Error(`Entity release already exists for releaseId: ${version} and application: ${application}`);
98
- }
99
- }
100
-
101
- const releaseEntityMetadata: ReleaseEntityMetadata = this.buildReleaseEntityMetadata(
102
- application,
103
- version,
104
- repoName,
105
- commitHash,
106
- orgName,
107
- internalVersion,
108
- );
109
-
110
- const entityMetadata: EntityMetadata = this.buildEntityMetadata(application, version, repoName, commitHash, orgName, internalVersion);
111
-
112
- await this.uploadBlob(blobSetClient, request, entityMetadata, metadata);
113
- await this.createEntityRelease(rumClient, releaseEntityMetadata, metadata);
114
- }
115
-
116
- private async updateInternalVersion(
117
- client: Client<typeof RumSourceMapServiceDefinition>,
118
- application: string,
119
- version: string,
120
- metadata: Metadata,
121
- ): Promise<number> {
122
- try {
123
- const { latestVersion } = await client.getLatestInternalVersion(
124
- {
125
- application,
126
- releaseId: version,
127
- releaseEntityType: this.getReleaseEntityType(),
128
- },
129
- { metadata },
130
- );
131
-
132
- return (latestVersion ?? -1) + 1;
133
- } catch (error) {
134
- if (error instanceof ClientError && error.code === Status.PERMISSION_DENIED) {
135
- throw new Error(`Permission denied: Verify private key. Details: ${error.message}`);
136
- }
137
- throw error;
138
- }
139
- }
140
70
  }
@@ -14,6 +14,8 @@ export const uploadDsymCommand = () => {
14
14
  .option('-c, --commit-hash <commitHash>', 'GitHub commit hash (optional)')
15
15
  .option('-n, --repo-name <repoName>', 'GitHub Repository name (optional)')
16
16
  .option('-o, --org-name <orgName>', 'GitHub user name (optional)')
17
+ .option('--override', 'Override existing dsym (optional)')
18
+ .option('--merge', 'Merge with existing dsym (optional)')
17
19
  .description('Upload Dsym')
18
20
  .action(async (options: UploadDsymCommandOptions) => {
19
21
  try {
@@ -22,13 +24,13 @@ export const uploadDsymCommand = () => {
22
24
  process.exit(0);
23
25
  }
24
26
 
25
- const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env } = options;
27
+ const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env, override, merge } = options;
26
28
 
27
29
  checkMissingArguments<UploadDsymCommandOptions>(options, ['privateKey', 'application', 'version', 'folderPath', 'env']);
28
30
 
29
31
  const service: DsymService = new DsymService();
30
32
 
31
- await service.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey);
33
+ await service.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey, override, merge);
32
34
  } catch (error) {
33
35
  consoleError(error);
34
36
  }
@@ -14,6 +14,8 @@ export const uploadProguardCommand = () => {
14
14
  .option('-c, --commit-hash <commitHash>', 'GitHub commit hash (optional)')
15
15
  .option('-n, --repo-name <repoName>', 'GitHub Repository name (optional)')
16
16
  .option('-o, --org-name <orgName>', 'GitHub user name (optional)')
17
+ .option('--override', 'Override existing proguard mapping (optional)')
18
+ .option('--merge', 'Merge with existing proguard mapping (optional)')
17
19
  .description('Upload Proguard mapping file')
18
20
  .action(async (options: UploadProguardCommandOptions) => {
19
21
  try {
@@ -22,13 +24,13 @@ export const uploadProguardCommand = () => {
22
24
  process.exit(0);
23
25
  }
24
26
 
25
- const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env } = options;
27
+ const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env, override, merge } = options;
26
28
 
27
29
  checkMissingArguments<UploadProguardCommandOptions>(options, ['privateKey', 'application', 'version', 'folderPath', 'env']);
28
30
 
29
31
  const service: ProguardService = new ProguardService();
30
32
 
31
- await service.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey);
33
+ await service.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey, override, merge);
32
34
  } catch (error) {
33
35
  consoleError(error);
34
36
  }
@@ -14,6 +14,8 @@ export const uploadReactNativeSourceMapsCommand = () => {
14
14
  .option('-c, --commit-hash <commitHash>', 'GitHub commit hash (optional)')
15
15
  .option('-n, --repo-name <repoName>', 'GitHub Repository name (optional)')
16
16
  .option('-o, --org-name <orgName>', 'GitHub user name (optional)')
17
+ .option('--override', 'Override existing source maps (optional)')
18
+ .option('--merge', 'Merge with existing source maps (optional)')
17
19
  .description('Upload react native source maps')
18
20
  .action(async (options: UploadReactNativeSourceMapsCommandOptions) => {
19
21
  try {
@@ -22,7 +24,7 @@ export const uploadReactNativeSourceMapsCommand = () => {
22
24
  process.exit(0);
23
25
  }
24
26
 
25
- const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env } = options;
27
+ const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env, override, merge } = options;
26
28
 
27
29
  checkMissingArguments<UploadReactNativeSourceMapsCommandOptions>(options, [
28
30
  'privateKey',
@@ -34,7 +36,7 @@ export const uploadReactNativeSourceMapsCommand = () => {
34
36
 
35
37
  const service: ReactNativeService = new ReactNativeService();
36
38
 
37
- await service.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey);
39
+ await service.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey, override, merge);
38
40
  } catch (error) {
39
41
  consoleError(error);
40
42
  }
@@ -15,6 +15,7 @@ export const uploadSourceMapsCommand = () => {
15
15
  .option('-n, --repo-name <repoName>', 'GitHub Repository name (optional)')
16
16
  .option('-o, --org-name <orgName>', 'GitHub user name (optional)')
17
17
  .option('--override', 'Override existing source maps (optional)')
18
+ .option('--merge', 'Merge with existing source maps (optional)')
18
19
  .description('Update source maps')
19
20
  .action(async (options: UploadSourceMapsCommandOptions) => {
20
21
  try {
@@ -23,13 +24,13 @@ export const uploadSourceMapsCommand = () => {
23
24
  process.exit(0);
24
25
  }
25
26
 
26
- const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env, override } = options;
27
+ const { privateKey, application, version, folderPath, commitHash, repoName, orgName, env, override, merge } = options;
27
28
 
28
29
  checkMissingArguments<UploadSourceMapsCommandOptions>(options, ['privateKey', 'application', 'version', 'folderPath', 'env']);
29
30
 
30
31
  const service: SourceMapsService = new SourceMapsService();
31
32
 
32
- await service.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey, override);
33
+ await service.upload(application, version, repoName, commitHash, orgName, folderPath, env, privateKey, override, merge);
33
34
  } catch (error) {
34
35
  consoleError(error);
35
36
  }
@@ -3,17 +3,16 @@ import { BlobSetServiceDefinition, UploadBlobRequest } from '../../proto-models/
3
3
  import { RumSourceMapServiceDefinition } from '../../proto-models/com/coralogix/rum/v2/rum_source_map_service';
4
4
  import { EntityType } from '../../proto-models/com/coralogix/blobset/v2/entity_type';
5
5
  import { ReleaseEntityType } from '../../proto-models/com/coralogix/rum/v2/release_entity_type';
6
- import { EntityMetadata } from '../../proto-models/com/coralogix/blobset/v2/entity_metadata';
7
6
  import { ReleaseEntityMetadata } from '../../proto-models/com/coralogix/rum/v2/release_entity_metadata';
7
+ import { EntityMetadata } from '../../proto-models/com/coralogix/blobset/v2/entity_metadata';
8
8
  export declare abstract class BaseApi {
9
9
  protected abstract getEntityType(): EntityType;
10
10
  protected abstract getReleaseEntityType(): ReleaseEntityType;
11
11
  protected abstract getMaxCompressedFileSize(): number;
12
- protected abstract buildReleaseEntityMetadata(application: string, version: string, repoName?: string, commitHash?: string, orgName?: string, internalVersion?: number): ReleaseEntityMetadata;
13
- protected abstract buildEntityMetadata(application: string, version: string, repoName?: string, commitHash?: string, orgName?: string, internalVersion?: number): EntityMetadata;
12
+ protected abstract buildReleaseEntityMetadata(application: string, version: string, repoName?: string, commitHash?: string, orgName?: string, internalVersion?: number, mergedVersions?: number[]): ReleaseEntityMetadata;
13
+ protected abstract buildEntityMetadata(application: string, version: string, repoName?: string, commitHash?: string, orgName?: string, internalVersion?: number, mergedVersions?: number[]): EntityMetadata;
14
14
  protected uploadBlob(blobSetClient: Client<typeof BlobSetServiceDefinition>, request: UploadBlobRequest, entityMetadata: EntityMetadata | undefined, metadata: Metadata): Promise<void>;
15
15
  protected createEntityRelease(rumClient: Client<typeof RumSourceMapServiceDefinition>, releaseEntityMetadata: ReleaseEntityMetadata | undefined, metadata: Metadata): Promise<void>;
16
16
  protected createGrpcMetadata(privateKey: string): Metadata;
17
- protected checkEntityReleaseExists(rumClient: Client<typeof RumSourceMapServiceDefinition>, application: string, version: string, metadata: Metadata): Promise<boolean>;
18
- upload(request: UploadBlobRequest, application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined, env: string, privateKey: string): Promise<void>;
17
+ upload(request: UploadBlobRequest, application: string, version: string, repoName: string | undefined, commitHash: string | undefined, orgName: string | undefined, env: string, privateKey: string, override?: boolean, merge?: boolean): Promise<void>;
19
18
  }
@@ -13,6 +13,7 @@ exports.BaseApi = void 0;
13
13
  const nice_grpc_1 = require("nice-grpc");
14
14
  const shared_utils_1 = require("../../utils/shared.utils");
15
15
  const grpc_client_factory_1 = require("../../grpc-client/grpc-client-factory");
16
+ const version_context_utils_1 = require("../../utils/version-context.utils");
16
17
  class BaseApi {
17
18
  uploadBlob(blobSetClient, request, entityMetadata, metadata) {
18
19
  return __awaiter(this, void 0, void 0, function* () {
@@ -36,36 +37,26 @@ class BaseApi {
36
37
  metadata.set('Authorization', `Bearer ${privateKey}`);
37
38
  return metadata;
38
39
  }
39
- checkEntityReleaseExists(rumClient, application, version, metadata) {
40
+ upload(request, application, version, repoName, commitHash, orgName, env, privateKey, override = false, merge = false) {
40
41
  return __awaiter(this, void 0, void 0, function* () {
41
- try {
42
- const { exists } = yield rumClient.isEntityReleaseExists({ releaseId: version, application, releaseEntityType: this.getReleaseEntityType() }, { metadata });
43
- return exists;
44
- }
45
- catch (error) {
46
- if (error instanceof nice_grpc_1.ClientError && error.code === nice_grpc_1.Status.PERMISSION_DENIED) {
47
- throw new Error(`Permission denied while checking entity release. Verify that your private key is correct. Details: ${error.message}`);
48
- }
49
- throw error;
50
- }
51
- });
52
- }
53
- upload(request, application, version, repoName, commitHash, orgName, env, privateKey) {
54
- return __awaiter(this, void 0, void 0, function* () {
55
- const metadata = this.createGrpcMetadata(privateKey);
42
+ const grpcMetadata = this.createGrpcMetadata(privateKey);
56
43
  const blobSetClient = grpc_client_factory_1.GrpcClientFactory.getBlobSetGrpcClient(env, this.getMaxCompressedFileSize());
57
44
  const rumClient = grpc_client_factory_1.GrpcClientFactory.getRumSourceMapGrpcClient(env, this.getMaxCompressedFileSize());
58
45
  (0, shared_utils_1.validateCompressedFilesSize)(request.data.length, this.getMaxCompressedFileSize());
59
- const releaseExists = yield this.checkEntityReleaseExists(rumClient, application, version, metadata);
60
- if (releaseExists) {
61
- throw new Error(`Entity release already exists for releaseId: ${version} and application: ${application}`);
62
- }
63
- const releaseEntityMetadata = this.buildReleaseEntityMetadata(application, version, repoName, commitHash, orgName);
64
- const entityMetadata = this.buildEntityMetadata(application, version, repoName, commitHash, orgName);
65
- yield this.uploadBlob(blobSetClient, request, entityMetadata, metadata);
66
- yield this.createEntityRelease(rumClient, releaseEntityMetadata, metadata);
46
+ const { internalVersion, mergedVersions } = yield (0, version_context_utils_1.getVersionContext)({
47
+ client: rumClient,
48
+ application,
49
+ version,
50
+ releaseEntityType: this.getReleaseEntityType(),
51
+ metadata: grpcMetadata,
52
+ flags: { override, merge },
53
+ });
54
+ const releaseEntityMetadata = this.buildReleaseEntityMetadata(application, version, repoName, commitHash, orgName, internalVersion, mergedVersions);
55
+ const entityMetadata = this.buildEntityMetadata(application, version, repoName, commitHash, orgName, internalVersion, mergedVersions);
56
+ yield this.uploadBlob(blobSetClient, request, entityMetadata, grpcMetadata);
57
+ yield this.createEntityRelease(rumClient, releaseEntityMetadata, grpcMetadata);
67
58
  });
68
59
  }
69
60
  }
70
61
  exports.BaseApi = BaseApi;
71
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvYmFzZS9iYXNlLmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBa0U7QUFFbEUsMkRBQXNHO0FBQ3RHLCtFQUEwRTtBQU8xRSxNQUFzQixPQUFPO0lBcUJYLFVBQVUsQ0FDeEIsYUFBc0QsRUFDdEQsT0FBMEIsRUFDMUIsY0FBMEMsRUFDMUMsUUFBa0I7O1lBRWxCLE9BQU8sQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFDO1lBQ3hDLE9BQU8sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBRTFDLE1BQU0sZUFBZSxHQUFHLElBQUEsNENBQTZCLEVBQUMsT0FBTyxDQUFDLENBQUM7WUFFL0QsTUFBTSxhQUFhLENBQUMsVUFBVSxDQUFDLGVBQWUsRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDaEUsQ0FBQztLQUFBO0lBRWUsbUJBQW1CLENBQ2pDLFNBQXVELEVBQ3ZELHFCQUF3RCxFQUN4RCxRQUFrQjs7WUFFbEIsTUFBTSxPQUFPLEdBQStCO2dCQUMxQyxpQkFBaUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQzlDLHFCQUFxQjthQUN0QixDQUFDO1lBRUYsTUFBTSxTQUFTLENBQUMsbUJBQW1CLENBQUMsT0FBTyxFQUFFLEVBQUUsUUFBUSxFQUFFLENBQUMsQ0FBQztRQUM3RCxDQUFDO0tBQUE7SUFFUyxrQkFBa0IsQ0FBQyxVQUFrQjtRQUM3QyxNQUFNLFFBQVEsR0FBYSxJQUFJLG9CQUFRLEVBQUUsQ0FBQztRQUMxQyxRQUFRLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxVQUFVLFVBQVUsRUFBRSxDQUFDLENBQUM7UUFDdEQsT0FBTyxRQUFRLENBQUM7SUFDbEIsQ0FBQztJQUVlLHdCQUF3QixDQUN0QyxTQUF1RCxFQUN2RCxXQUFtQixFQUNuQixPQUFlLEVBQ2YsUUFBa0I7O1lBRWxCLElBQUk7Z0JBQ0YsTUFBTSxFQUFFLE1BQU0sRUFBRSxHQUFHLE1BQU0sU0FBUyxDQUFDLHFCQUFxQixDQUN0RCxFQUFFLFNBQVMsRUFBRSxPQUFPLEVBQUUsV0FBVyxFQUFFLGlCQUFpQixFQUFFLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxFQUFFLEVBQ25GLEVBQUUsUUFBUSxFQUFFLENBQ2IsQ0FBQztnQkFDRixPQUFPLE1BQU0sQ0FBQzthQUNmO1lBQUMsT0FBTyxLQUFLLEVBQUU7Z0JBQ2QsSUFBSSxLQUFLLFlBQVksdUJBQVcsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLGtCQUFNLENBQUMsaUJBQWlCLEVBQUU7b0JBQzNFLE1BQU0sSUFBSSxLQUFLLENBQ2Isc0dBQXNHLEtBQUssQ0FBQyxPQUFPLEVBQUUsQ0FDdEgsQ0FBQztpQkFDSDtnQkFDRCxNQUFNLEtBQUssQ0FBQzthQUNiO1FBQ0gsQ0FBQztLQUFBO0lBRVksTUFBTSxDQUNqQixPQUEwQixFQUMxQixXQUFtQixFQUNuQixPQUFlLEVBQ2YsUUFBNEIsRUFDNUIsVUFBOEIsRUFDOUIsT0FBMkIsRUFDM0IsR0FBVyxFQUNYLFVBQWtCOztZQUVsQixNQUFNLFFBQVEsR0FBYSxJQUFJLENBQUMsa0JBQWtCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFDL0QsTUFBTSxhQUFhLEdBQUcsdUNBQWlCLENBQUMsb0JBQW9CLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUM7WUFDbkcsTUFBTSxTQUFTLEdBQUcsdUNBQWlCLENBQUMseUJBQXlCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxDQUFDLENBQUM7WUFFcEcsSUFBQSwwQ0FBMkIsRUFBQyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO1lBRWxGLE1BQU0sYUFBYSxHQUFHLE1BQU0sSUFBSSxDQUFDLHdCQUF3QixDQUFDLFNBQVMsRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBRXJHLElBQUksYUFBYSxFQUFFO2dCQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLGdEQUFnRCxPQUFPLHFCQUFxQixXQUFXLEVBQUUsQ0FBQyxDQUFDO2FBQzVHO1lBRUQsTUFBTSxxQkFBcUIsR0FBMEIsSUFBSSxDQUFDLDBCQUEwQixDQUNsRixXQUFXLEVBQ1gsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxDQUNSLENBQUM7WUFFRixNQUFNLGNBQWMsR0FBbUIsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUVySCxNQUFNLElBQUksQ0FBQyxVQUFVLENBQUMsYUFBYSxFQUFFLE9BQU8sRUFBRSxjQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDeEUsTUFBTSxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLHFCQUFxQixFQUFFLFFBQVEsQ0FBQyxDQUFDO1FBQzdFLENBQUM7S0FBQTtDQUNGO0FBL0dELDBCQStHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudCwgQ2xpZW50RXJyb3IsIE1ldGFkYXRhLCBTdGF0dXMgfSBmcm9tICduaWNlLWdycGMnO1xuaW1wb3J0IHsgQmxvYlNldFNlcnZpY2VEZWZpbml0aW9uLCBVcGxvYWRCbG9iUmVxdWVzdCB9IGZyb20gJy4uLy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L2Jsb2JzZXQvdjIvYmxvYnNldF9zZXJ2aWNlJztcbmltcG9ydCB7IGNyZWF0ZVVwbG9hZEJsb2JSZXF1ZXN0Q2h1bmtzLCB2YWxpZGF0ZUNvbXByZXNzZWRGaWxlc1NpemUgfSBmcm9tICcuLi8uLi91dGlscy9zaGFyZWQudXRpbHMnO1xuaW1wb3J0IHsgR3JwY0NsaWVudEZhY3RvcnkgfSBmcm9tICcuLi8uLi9ncnBjLWNsaWVudC9ncnBjLWNsaWVudC1mYWN0b3J5JztcbmltcG9ydCB7IENyZWF0ZUVudGl0eVJlbGVhc2VSZXF1ZXN0LCBSdW1Tb3VyY2VNYXBTZXJ2aWNlRGVmaW5pdGlvbiB9IGZyb20gJy4uLy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L3J1bS92Mi9ydW1fc291cmNlX21hcF9zZXJ2aWNlJztcbmltcG9ydCB7IEVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ibG9ic2V0L3YyL2VudGl0eV90eXBlJztcbmltcG9ydCB7IFJlbGVhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvcnVtL3YyL3JlbGVhc2VfZW50aXR5X3R5cGUnO1xuaW1wb3J0IHsgRW50aXR5TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ibG9ic2V0L3YyL2VudGl0eV9tZXRhZGF0YSc7XG5pbXBvcnQgeyBSZWxlYXNlRW50aXR5TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvcmVsZWFzZV9lbnRpdHlfbWV0YWRhdGEnO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQmFzZUFwaSB7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRFbnRpdHlUeXBlKCk6IEVudGl0eVR5cGU7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBnZXRSZWxlYXNlRW50aXR5VHlwZSgpOiBSZWxlYXNlRW50aXR5VHlwZTtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldE1heENvbXByZXNzZWRGaWxlU2l6ZSgpOiBudW1iZXI7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBidWlsZFJlbGVhc2VFbnRpdHlNZXRhZGF0YShcbiAgICBhcHBsaWNhdGlvbjogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICByZXBvTmFtZT86IHN0cmluZyxcbiAgICBjb21taXRIYXNoPzogc3RyaW5nLFxuICAgIG9yZ05hbWU/OiBzdHJpbmcsXG4gICAgaW50ZXJuYWxWZXJzaW9uPzogbnVtYmVyLFxuICApOiBSZWxlYXNlRW50aXR5TWV0YWRhdGE7XG4gIHByb3RlY3RlZCBhYnN0cmFjdCBidWlsZEVudGl0eU1ldGFkYXRhKFxuICAgIGFwcGxpY2F0aW9uOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIHJlcG9OYW1lPzogc3RyaW5nLFxuICAgIGNvbW1pdEhhc2g/OiBzdHJpbmcsXG4gICAgb3JnTmFtZT86IHN0cmluZyxcbiAgICBpbnRlcm5hbFZlcnNpb24/OiBudW1iZXIsXG4gICk6IEVudGl0eU1ldGFkYXRhO1xuXG4gIHByb3RlY3RlZCBhc3luYyB1cGxvYWRCbG9iKFxuICAgIGJsb2JTZXRDbGllbnQ6IENsaWVudDx0eXBlb2YgQmxvYlNldFNlcnZpY2VEZWZpbml0aW9uPixcbiAgICByZXF1ZXN0OiBVcGxvYWRCbG9iUmVxdWVzdCxcbiAgICBlbnRpdHlNZXRhZGF0YTogRW50aXR5TWV0YWRhdGEgfCB1bmRlZmluZWQsXG4gICAgbWV0YWRhdGE6IE1ldGFkYXRhLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXF1ZXN0LmVudGl0eU1ldGFkYXRhID0gZW50aXR5TWV0YWRhdGE7XG4gICAgcmVxdWVzdC5lbnRpdHlUeXBlID0gdGhpcy5nZXRFbnRpdHlUeXBlKCk7XG5cbiAgICBjb25zdCBpdGVyYWJsZVJlcXVlc3QgPSBjcmVhdGVVcGxvYWRCbG9iUmVxdWVzdENodW5rcyhyZXF1ZXN0KTtcblxuICAgIGF3YWl0IGJsb2JTZXRDbGllbnQudXBsb2FkQmxvYihpdGVyYWJsZVJlcXVlc3QsIHsgbWV0YWRhdGEgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlRW50aXR5UmVsZWFzZShcbiAgICBydW1DbGllbnQ6IENsaWVudDx0eXBlb2YgUnVtU291cmNlTWFwU2VydmljZURlZmluaXRpb24+LFxuICAgIHJlbGVhc2VFbnRpdHlNZXRhZGF0YTogUmVsZWFzZUVudGl0eU1ldGFkYXRhIHwgdW5kZWZpbmVkLFxuICAgIG1ldGFkYXRhOiBNZXRhZGF0YSxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVxdWVzdDogQ3JlYXRlRW50aXR5UmVsZWFzZVJlcXVlc3QgPSB7XG4gICAgICByZWxlYXNlRW50aXR5VHlwZTogdGhpcy5nZXRSZWxlYXNlRW50aXR5VHlwZSgpLFxuICAgICAgcmVsZWFzZUVudGl0eU1ldGFkYXRhLFxuICAgIH07XG5cbiAgICBhd2FpdCBydW1DbGllbnQuY3JlYXRlRW50aXR5UmVsZWFzZShyZXF1ZXN0LCB7IG1ldGFkYXRhIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUdycGNNZXRhZGF0YShwcml2YXRlS2V5OiBzdHJpbmcpOiBNZXRhZGF0YSB7XG4gICAgY29uc3QgbWV0YWRhdGE6IE1ldGFkYXRhID0gbmV3IE1ldGFkYXRhKCk7XG4gICAgbWV0YWRhdGEuc2V0KCdBdXRob3JpemF0aW9uJywgYEJlYXJlciAke3ByaXZhdGVLZXl9YCk7XG4gICAgcmV0dXJuIG1ldGFkYXRhO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFzeW5jIGNoZWNrRW50aXR5UmVsZWFzZUV4aXN0cyhcbiAgICBydW1DbGllbnQ6IENsaWVudDx0eXBlb2YgUnVtU291cmNlTWFwU2VydmljZURlZmluaXRpb24+LFxuICAgIGFwcGxpY2F0aW9uOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIG1ldGFkYXRhOiBNZXRhZGF0YSxcbiAgKTogUHJvbWlzZTxib29sZWFuPiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgZXhpc3RzIH0gPSBhd2FpdCBydW1DbGllbnQuaXNFbnRpdHlSZWxlYXNlRXhpc3RzKFxuICAgICAgICB7IHJlbGVhc2VJZDogdmVyc2lvbiwgYXBwbGljYXRpb24sIHJlbGVhc2VFbnRpdHlUeXBlOiB0aGlzLmdldFJlbGVhc2VFbnRpdHlUeXBlKCkgfSxcbiAgICAgICAgeyBtZXRhZGF0YSB9LFxuICAgICAgKTtcbiAgICAgIHJldHVybiBleGlzdHM7XG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChlcnJvciBpbnN0YW5jZW9mIENsaWVudEVycm9yICYmIGVycm9yLmNvZGUgPT09IFN0YXR1cy5QRVJNSVNTSU9OX0RFTklFRCkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgYFBlcm1pc3Npb24gZGVuaWVkIHdoaWxlIGNoZWNraW5nIGVudGl0eSByZWxlYXNlLiBWZXJpZnkgdGhhdCB5b3VyIHByaXZhdGUga2V5IGlzIGNvcnJlY3QuIERldGFpbHM6ICR7ZXJyb3IubWVzc2FnZX1gLFxuICAgICAgICApO1xuICAgICAgfVxuICAgICAgdGhyb3cgZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGFzeW5jIHVwbG9hZChcbiAgICByZXF1ZXN0OiBVcGxvYWRCbG9iUmVxdWVzdCxcbiAgICBhcHBsaWNhdGlvbjogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICByZXBvTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNvbW1pdEhhc2g6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBvcmdOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZW52OiBzdHJpbmcsXG4gICAgcHJpdmF0ZUtleTogc3RyaW5nLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBjb25zdCBtZXRhZGF0YTogTWV0YWRhdGEgPSB0aGlzLmNyZWF0ZUdycGNNZXRhZGF0YShwcml2YXRlS2V5KTtcbiAgICBjb25zdCBibG9iU2V0Q2xpZW50ID0gR3JwY0NsaWVudEZhY3RvcnkuZ2V0QmxvYlNldEdycGNDbGllbnQoZW52LCB0aGlzLmdldE1heENvbXByZXNzZWRGaWxlU2l6ZSgpKTtcbiAgICBjb25zdCBydW1DbGllbnQgPSBHcnBjQ2xpZW50RmFjdG9yeS5nZXRSdW1Tb3VyY2VNYXBHcnBjQ2xpZW50KGVudiwgdGhpcy5nZXRNYXhDb21wcmVzc2VkRmlsZVNpemUoKSk7XG5cbiAgICB2YWxpZGF0ZUNvbXByZXNzZWRGaWxlc1NpemUocmVxdWVzdC5kYXRhLmxlbmd0aCwgdGhpcy5nZXRNYXhDb21wcmVzc2VkRmlsZVNpemUoKSk7XG5cbiAgICBjb25zdCByZWxlYXNlRXhpc3RzID0gYXdhaXQgdGhpcy5jaGVja0VudGl0eVJlbGVhc2VFeGlzdHMocnVtQ2xpZW50LCBhcHBsaWNhdGlvbiwgdmVyc2lvbiwgbWV0YWRhdGEpO1xuXG4gICAgaWYgKHJlbGVhc2VFeGlzdHMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgRW50aXR5IHJlbGVhc2UgYWxyZWFkeSBleGlzdHMgZm9yIHJlbGVhc2VJZDogJHt2ZXJzaW9ufSBhbmQgYXBwbGljYXRpb246ICR7YXBwbGljYXRpb259YCk7XG4gICAgfVxuXG4gICAgY29uc3QgcmVsZWFzZUVudGl0eU1ldGFkYXRhOiBSZWxlYXNlRW50aXR5TWV0YWRhdGEgPSB0aGlzLmJ1aWxkUmVsZWFzZUVudGl0eU1ldGFkYXRhKFxuICAgICAgYXBwbGljYXRpb24sXG4gICAgICB2ZXJzaW9uLFxuICAgICAgcmVwb05hbWUsXG4gICAgICBjb21taXRIYXNoLFxuICAgICAgb3JnTmFtZSxcbiAgICApO1xuXG4gICAgY29uc3QgZW50aXR5TWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhID0gdGhpcy5idWlsZEVudGl0eU1ldGFkYXRhKGFwcGxpY2F0aW9uLCB2ZXJzaW9uLCByZXBvTmFtZSwgY29tbWl0SGFzaCwgb3JnTmFtZSk7XG5cbiAgICBhd2FpdCB0aGlzLnVwbG9hZEJsb2IoYmxvYlNldENsaWVudCwgcmVxdWVzdCwgZW50aXR5TWV0YWRhdGEsIG1ldGFkYXRhKTtcbiAgICBhd2FpdCB0aGlzLmNyZWF0ZUVudGl0eVJlbGVhc2UocnVtQ2xpZW50LCByZWxlYXNlRW50aXR5TWV0YWRhdGEsIG1ldGFkYXRhKTtcbiAgfVxufVxuIl19
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvYmFzZS9iYXNlLmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx5Q0FBNkM7QUFFN0MsMkRBQXNHO0FBQ3RHLCtFQUEwRTtBQU0xRSw2RUFBc0U7QUFFdEUsTUFBc0IsT0FBTztJQXVCWCxVQUFVLENBQ3hCLGFBQXNELEVBQ3RELE9BQTBCLEVBQzFCLGNBQTBDLEVBQzFDLFFBQWtCOztZQUVsQixPQUFPLENBQUMsY0FBYyxHQUFHLGNBQWMsQ0FBQztZQUN4QyxPQUFPLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUUxQyxNQUFNLGVBQWUsR0FBRyxJQUFBLDRDQUE2QixFQUFDLE9BQU8sQ0FBQyxDQUFDO1lBRS9ELE1BQU0sYUFBYSxDQUFDLFVBQVUsQ0FBQyxlQUFlLEVBQUUsRUFBRSxRQUFRLEVBQUUsQ0FBQyxDQUFDO1FBQ2hFLENBQUM7S0FBQTtJQUVlLG1CQUFtQixDQUNqQyxTQUF1RCxFQUN2RCxxQkFBd0QsRUFDeEQsUUFBa0I7O1lBRWxCLE1BQU0sT0FBTyxHQUErQjtnQkFDMUMsaUJBQWlCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixFQUFFO2dCQUM5QyxxQkFBcUI7YUFDdEIsQ0FBQztZQUVGLE1BQU0sU0FBUyxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBRSxFQUFFLFFBQVEsRUFBRSxDQUFDLENBQUM7UUFDN0QsQ0FBQztLQUFBO0lBRVMsa0JBQWtCLENBQUMsVUFBa0I7UUFDN0MsTUFBTSxRQUFRLEdBQWEsSUFBSSxvQkFBUSxFQUFFLENBQUM7UUFDMUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxlQUFlLEVBQUUsVUFBVSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3RELE9BQU8sUUFBUSxDQUFDO0lBQ2xCLENBQUM7SUFFWSxNQUFNLENBQ2pCLE9BQTBCLEVBQzFCLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixRQUE0QixFQUM1QixVQUE4QixFQUM5QixPQUEyQixFQUMzQixHQUFXLEVBQ1gsVUFBa0IsRUFDbEIsUUFBUSxHQUFHLEtBQUssRUFDaEIsS0FBSyxHQUFHLEtBQUs7O1lBRWIsTUFBTSxZQUFZLEdBQWEsSUFBSSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQ25FLE1BQU0sYUFBYSxHQUFHLHVDQUFpQixDQUFDLG9CQUFvQixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO1lBQ25HLE1BQU0sU0FBUyxHQUFHLHVDQUFpQixDQUFDLHlCQUF5QixDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQyxDQUFDO1lBRXBHLElBQUEsMENBQTJCLEVBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLHdCQUF3QixFQUFFLENBQUMsQ0FBQztZQUVsRixNQUFNLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxHQUFHLE1BQU0sSUFBQSx5Q0FBaUIsRUFBQztnQkFDbEUsTUFBTSxFQUFFLFNBQVM7Z0JBQ2pCLFdBQVc7Z0JBQ1gsT0FBTztnQkFDUCxpQkFBaUIsRUFBRSxJQUFJLENBQUMsb0JBQW9CLEVBQUU7Z0JBQzlDLFFBQVEsRUFBRSxZQUFZO2dCQUN0QixLQUFLLEVBQUUsRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFO2FBQzNCLENBQUMsQ0FBQztZQUNILE1BQU0scUJBQXFCLEdBQTBCLElBQUksQ0FBQywwQkFBMEIsQ0FDbEYsV0FBVyxFQUNYLE9BQU8sRUFDUCxRQUFRLEVBQ1IsVUFBVSxFQUNWLE9BQU8sRUFDUCxlQUFlLEVBQ2YsY0FBYyxDQUNmLENBQUM7WUFFRixNQUFNLGNBQWMsR0FBbUIsSUFBSSxDQUFDLG1CQUFtQixDQUM3RCxXQUFXLEVBQ1gsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsT0FBTyxFQUNQLGVBQWUsRUFDZixjQUFjLENBQ2YsQ0FBQztZQUVGLE1BQU0sSUFBSSxDQUFDLFVBQVUsQ0FBQyxhQUFhLEVBQUUsT0FBTyxFQUFFLGNBQWMsRUFBRSxZQUFZLENBQUMsQ0FBQztZQUM1RSxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLEVBQUUscUJBQXFCLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDakYsQ0FBQztLQUFBO0NBQ0Y7QUF6R0QsMEJBeUdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpZW50LCBNZXRhZGF0YSB9IGZyb20gJ25pY2UtZ3JwYyc7XG5pbXBvcnQgeyBCbG9iU2V0U2VydmljZURlZmluaXRpb24sIFVwbG9hZEJsb2JSZXF1ZXN0IH0gZnJvbSAnLi4vLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvYmxvYnNldC92Mi9ibG9ic2V0X3NlcnZpY2UnO1xuaW1wb3J0IHsgY3JlYXRlVXBsb2FkQmxvYlJlcXVlc3RDaHVua3MsIHZhbGlkYXRlQ29tcHJlc3NlZEZpbGVzU2l6ZSB9IGZyb20gJy4uLy4uL3V0aWxzL3NoYXJlZC51dGlscyc7XG5pbXBvcnQgeyBHcnBjQ2xpZW50RmFjdG9yeSB9IGZyb20gJy4uLy4uL2dycGMtY2xpZW50L2dycGMtY2xpZW50LWZhY3RvcnknO1xuaW1wb3J0IHsgQ3JlYXRlRW50aXR5UmVsZWFzZVJlcXVlc3QsIFJ1bVNvdXJjZU1hcFNlcnZpY2VEZWZpbml0aW9uIH0gZnJvbSAnLi4vLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvcnVtL3YyL3J1bV9zb3VyY2VfbWFwX3NlcnZpY2UnO1xuaW1wb3J0IHsgRW50aXR5VHlwZSB9IGZyb20gJy4uLy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L2Jsb2JzZXQvdjIvZW50aXR5X3R5cGUnO1xuaW1wb3J0IHsgUmVsZWFzZUVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvcmVsZWFzZV9lbnRpdHlfdHlwZSc7XG5pbXBvcnQgeyBSZWxlYXNlRW50aXR5TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvcmVsZWFzZV9lbnRpdHlfbWV0YWRhdGEnO1xuaW1wb3J0IHsgRW50aXR5TWV0YWRhdGEgfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ibG9ic2V0L3YyL2VudGl0eV9tZXRhZGF0YSc7XG5pbXBvcnQgeyBnZXRWZXJzaW9uQ29udGV4dCB9IGZyb20gJy4uLy4uL3V0aWxzL3ZlcnNpb24tY29udGV4dC51dGlscyc7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBCYXNlQXBpIHtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldEVudGl0eVR5cGUoKTogRW50aXR5VHlwZTtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGdldFJlbGVhc2VFbnRpdHlUeXBlKCk6IFJlbGVhc2VFbnRpdHlUeXBlO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgZ2V0TWF4Q29tcHJlc3NlZEZpbGVTaXplKCk6IG51bWJlcjtcbiAgcHJvdGVjdGVkIGFic3RyYWN0IGJ1aWxkUmVsZWFzZUVudGl0eU1ldGFkYXRhKFxuICAgIGFwcGxpY2F0aW9uOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIHJlcG9OYW1lPzogc3RyaW5nLFxuICAgIGNvbW1pdEhhc2g/OiBzdHJpbmcsXG4gICAgb3JnTmFtZT86IHN0cmluZyxcbiAgICBpbnRlcm5hbFZlcnNpb24/OiBudW1iZXIsXG4gICAgbWVyZ2VkVmVyc2lvbnM/OiBudW1iZXJbXSxcbiAgKTogUmVsZWFzZUVudGl0eU1ldGFkYXRhO1xuICBwcm90ZWN0ZWQgYWJzdHJhY3QgYnVpbGRFbnRpdHlNZXRhZGF0YShcbiAgICBhcHBsaWNhdGlvbjogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICByZXBvTmFtZT86IHN0cmluZyxcbiAgICBjb21taXRIYXNoPzogc3RyaW5nLFxuICAgIG9yZ05hbWU/OiBzdHJpbmcsXG4gICAgaW50ZXJuYWxWZXJzaW9uPzogbnVtYmVyLFxuICAgIG1lcmdlZFZlcnNpb25zPzogbnVtYmVyW10sXG4gICk6IEVudGl0eU1ldGFkYXRhO1xuXG4gIHByb3RlY3RlZCBhc3luYyB1cGxvYWRCbG9iKFxuICAgIGJsb2JTZXRDbGllbnQ6IENsaWVudDx0eXBlb2YgQmxvYlNldFNlcnZpY2VEZWZpbml0aW9uPixcbiAgICByZXF1ZXN0OiBVcGxvYWRCbG9iUmVxdWVzdCxcbiAgICBlbnRpdHlNZXRhZGF0YTogRW50aXR5TWV0YWRhdGEgfCB1bmRlZmluZWQsXG4gICAgbWV0YWRhdGE6IE1ldGFkYXRhLFxuICApOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXF1ZXN0LmVudGl0eU1ldGFkYXRhID0gZW50aXR5TWV0YWRhdGE7XG4gICAgcmVxdWVzdC5lbnRpdHlUeXBlID0gdGhpcy5nZXRFbnRpdHlUeXBlKCk7XG5cbiAgICBjb25zdCBpdGVyYWJsZVJlcXVlc3QgPSBjcmVhdGVVcGxvYWRCbG9iUmVxdWVzdENodW5rcyhyZXF1ZXN0KTtcblxuICAgIGF3YWl0IGJsb2JTZXRDbGllbnQudXBsb2FkQmxvYihpdGVyYWJsZVJlcXVlc3QsIHsgbWV0YWRhdGEgfSk7XG4gIH1cblxuICBwcm90ZWN0ZWQgYXN5bmMgY3JlYXRlRW50aXR5UmVsZWFzZShcbiAgICBydW1DbGllbnQ6IENsaWVudDx0eXBlb2YgUnVtU291cmNlTWFwU2VydmljZURlZmluaXRpb24+LFxuICAgIHJlbGVhc2VFbnRpdHlNZXRhZGF0YTogUmVsZWFzZUVudGl0eU1ldGFkYXRhIHwgdW5kZWZpbmVkLFxuICAgIG1ldGFkYXRhOiBNZXRhZGF0YSxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgcmVxdWVzdDogQ3JlYXRlRW50aXR5UmVsZWFzZVJlcXVlc3QgPSB7XG4gICAgICByZWxlYXNlRW50aXR5VHlwZTogdGhpcy5nZXRSZWxlYXNlRW50aXR5VHlwZSgpLFxuICAgICAgcmVsZWFzZUVudGl0eU1ldGFkYXRhLFxuICAgIH07XG5cbiAgICBhd2FpdCBydW1DbGllbnQuY3JlYXRlRW50aXR5UmVsZWFzZShyZXF1ZXN0LCB7IG1ldGFkYXRhIH0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGNyZWF0ZUdycGNNZXRhZGF0YShwcml2YXRlS2V5OiBzdHJpbmcpOiBNZXRhZGF0YSB7XG4gICAgY29uc3QgbWV0YWRhdGE6IE1ldGFkYXRhID0gbmV3IE1ldGFkYXRhKCk7XG4gICAgbWV0YWRhdGEuc2V0KCdBdXRob3JpemF0aW9uJywgYEJlYXJlciAke3ByaXZhdGVLZXl9YCk7XG4gICAgcmV0dXJuIG1ldGFkYXRhO1xuICB9XG5cbiAgcHVibGljIGFzeW5jIHVwbG9hZChcbiAgICByZXF1ZXN0OiBVcGxvYWRCbG9iUmVxdWVzdCxcbiAgICBhcHBsaWNhdGlvbjogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICByZXBvTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkLFxuICAgIGNvbW1pdEhhc2g6IHN0cmluZyB8IHVuZGVmaW5lZCxcbiAgICBvcmdOYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQsXG4gICAgZW52OiBzdHJpbmcsXG4gICAgcHJpdmF0ZUtleTogc3RyaW5nLFxuICAgIG92ZXJyaWRlID0gZmFsc2UsXG4gICAgbWVyZ2UgPSBmYWxzZSxcbiAgKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgY29uc3QgZ3JwY01ldGFkYXRhOiBNZXRhZGF0YSA9IHRoaXMuY3JlYXRlR3JwY01ldGFkYXRhKHByaXZhdGVLZXkpO1xuICAgIGNvbnN0IGJsb2JTZXRDbGllbnQgPSBHcnBjQ2xpZW50RmFjdG9yeS5nZXRCbG9iU2V0R3JwY0NsaWVudChlbnYsIHRoaXMuZ2V0TWF4Q29tcHJlc3NlZEZpbGVTaXplKCkpO1xuICAgIGNvbnN0IHJ1bUNsaWVudCA9IEdycGNDbGllbnRGYWN0b3J5LmdldFJ1bVNvdXJjZU1hcEdycGNDbGllbnQoZW52LCB0aGlzLmdldE1heENvbXByZXNzZWRGaWxlU2l6ZSgpKTtcblxuICAgIHZhbGlkYXRlQ29tcHJlc3NlZEZpbGVzU2l6ZShyZXF1ZXN0LmRhdGEubGVuZ3RoLCB0aGlzLmdldE1heENvbXByZXNzZWRGaWxlU2l6ZSgpKTtcblxuICAgIGNvbnN0IHsgaW50ZXJuYWxWZXJzaW9uLCBtZXJnZWRWZXJzaW9ucyB9ID0gYXdhaXQgZ2V0VmVyc2lvbkNvbnRleHQoe1xuICAgICAgY2xpZW50OiBydW1DbGllbnQsXG4gICAgICBhcHBsaWNhdGlvbixcbiAgICAgIHZlcnNpb24sXG4gICAgICByZWxlYXNlRW50aXR5VHlwZTogdGhpcy5nZXRSZWxlYXNlRW50aXR5VHlwZSgpLFxuICAgICAgbWV0YWRhdGE6IGdycGNNZXRhZGF0YSxcbiAgICAgIGZsYWdzOiB7IG92ZXJyaWRlLCBtZXJnZSB9LFxuICAgIH0pO1xuICAgIGNvbnN0IHJlbGVhc2VFbnRpdHlNZXRhZGF0YTogUmVsZWFzZUVudGl0eU1ldGFkYXRhID0gdGhpcy5idWlsZFJlbGVhc2VFbnRpdHlNZXRhZGF0YShcbiAgICAgIGFwcGxpY2F0aW9uLFxuICAgICAgdmVyc2lvbixcbiAgICAgIHJlcG9OYW1lLFxuICAgICAgY29tbWl0SGFzaCxcbiAgICAgIG9yZ05hbWUsXG4gICAgICBpbnRlcm5hbFZlcnNpb24sXG4gICAgICBtZXJnZWRWZXJzaW9ucyxcbiAgICApO1xuXG4gICAgY29uc3QgZW50aXR5TWV0YWRhdGE6IEVudGl0eU1ldGFkYXRhID0gdGhpcy5idWlsZEVudGl0eU1ldGFkYXRhKFxuICAgICAgYXBwbGljYXRpb24sXG4gICAgICB2ZXJzaW9uLFxuICAgICAgcmVwb05hbWUsXG4gICAgICBjb21taXRIYXNoLFxuICAgICAgb3JnTmFtZSxcbiAgICAgIGludGVybmFsVmVyc2lvbixcbiAgICAgIG1lcmdlZFZlcnNpb25zLFxuICAgICk7XG5cbiAgICBhd2FpdCB0aGlzLnVwbG9hZEJsb2IoYmxvYlNldENsaWVudCwgcmVxdWVzdCwgZW50aXR5TWV0YWRhdGEsIGdycGNNZXRhZGF0YSk7XG4gICAgYXdhaXQgdGhpcy5jcmVhdGVFbnRpdHlSZWxlYXNlKHJ1bUNsaWVudCwgcmVsZWFzZUVudGl0eU1ldGFkYXRhLCBncnBjTWV0YWRhdGEpO1xuICB9XG59XG4iXX0=
@@ -7,6 +7,6 @@ export declare class DsymApi extends BaseApi {
7
7
  protected getEntityType(): EntityType;
8
8
  protected getReleaseEntityType(): ReleaseEntityType;
9
9
  protected getMaxCompressedFileSize(): number;
10
- protected buildReleaseEntityMetadata(application: string, version: string, repoName?: string, commitHash?: string, orgName?: string): ReleaseEntityMetadata;
11
- protected buildEntityMetadata(application: string, version: string, repoName?: string, commitHash?: string, orgName?: string): EntityMetadata;
10
+ protected buildReleaseEntityMetadata(application: string, version: string, repoName?: string, commitHash?: string, orgName?: string, internalVersion?: number, mergedVersions?: number[]): ReleaseEntityMetadata;
11
+ protected buildEntityMetadata(application: string, version: string, repoName?: string, commitHash?: string, orgName?: string, internalVersion?: number, mergedVersions?: number[]): EntityMetadata;
12
12
  }
@@ -18,7 +18,7 @@ class DsymApi extends base_api_1.BaseApi {
18
18
  getMaxCompressedFileSize() {
19
19
  return config_1.default.rumApi.dsymMaxCompressedFilesSize;
20
20
  }
21
- buildReleaseEntityMetadata(application, version, repoName, commitHash, orgName) {
21
+ buildReleaseEntityMetadata(application, version, repoName, commitHash, orgName, internalVersion, mergedVersions) {
22
22
  return {
23
23
  metadata: {
24
24
  $case: 'dsymMetadata',
@@ -28,11 +28,13 @@ class DsymApi extends base_api_1.BaseApi {
28
28
  repoName: repoName || '',
29
29
  commitHash: commitHash || '',
30
30
  orgName: orgName || '',
31
+ internalVersion: internalVersion !== null && internalVersion !== void 0 ? internalVersion : 0,
32
+ mergedVersions: mergedVersions ? { versions: mergedVersions } : undefined,
31
33
  },
32
34
  },
33
35
  };
34
36
  }
35
- buildEntityMetadata(application, version, repoName, commitHash, orgName) {
37
+ buildEntityMetadata(application, version, repoName, commitHash, orgName, internalVersion, mergedVersions) {
36
38
  return {
37
39
  metadata: {
38
40
  $case: 'dsymMetadata',
@@ -42,10 +44,12 @@ class DsymApi extends base_api_1.BaseApi {
42
44
  repoName: repoName || '',
43
45
  commitHash: commitHash || '',
44
46
  orgName: orgName || '',
47
+ internalVersion: internalVersion !== null && internalVersion !== void 0 ? internalVersion : 0,
48
+ mergedVersions: mergedVersions ? { versions: mergedVersions } : undefined,
45
49
  },
46
50
  },
47
51
  };
48
52
  }
49
53
  }
50
54
  exports.DsymApi = DsymApi;
51
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHN5bS5hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvZHN5bS9kc3ltLmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx5RkFBcUY7QUFDckYscUdBQWdHO0FBQ2hHLGlFQUF5QztBQUN6QywrQ0FBMkM7QUFJM0MsTUFBYSxPQUFRLFNBQVEsa0JBQU87SUFDeEIsYUFBYTtRQUNyQixPQUFPLHdCQUFVLENBQUMsZ0JBQWdCLENBQUM7SUFDckMsQ0FBQztJQUVTLG9CQUFvQjtRQUM1QixPQUFPLHVDQUFpQixDQUFDLHdCQUF3QixDQUFDO0lBQ3BELENBQUM7SUFFUyx3QkFBd0I7UUFDaEMsT0FBTyxnQkFBTSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQztJQUNsRCxDQUFDO0lBRVMsMEJBQTBCLENBQ2xDLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixRQUFpQixFQUNqQixVQUFtQixFQUNuQixPQUFnQjtRQUVoQixPQUFPO1lBQ0wsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxjQUFjO2dCQUNyQixZQUFZLEVBQUU7b0JBQ1osV0FBVztvQkFDWCxTQUFTLEVBQUUsT0FBTztvQkFDbEIsUUFBUSxFQUFFLFFBQVEsSUFBSSxFQUFFO29CQUN4QixVQUFVLEVBQUUsVUFBVSxJQUFJLEVBQUU7b0JBQzVCLE9BQU8sRUFBRSxPQUFPLElBQUksRUFBRTtpQkFDdkI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0lBRVMsbUJBQW1CLENBQzNCLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixRQUFpQixFQUNqQixVQUFtQixFQUNuQixPQUFnQjtRQUVoQixPQUFPO1lBQ0wsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxjQUFjO2dCQUNyQixZQUFZLEVBQUU7b0JBQ1osV0FBVztvQkFDWCxTQUFTLEVBQUUsT0FBTztvQkFDbEIsUUFBUSxFQUFFLFFBQVEsSUFBSSxFQUFFO29CQUN4QixVQUFVLEVBQUUsVUFBVSxJQUFJLEVBQUU7b0JBQzVCLE9BQU8sRUFBRSxPQUFPLElBQUksRUFBRTtpQkFDdkI7YUFDRjtTQUNGLENBQUM7SUFDSixDQUFDO0NBQ0Y7QUF0REQsMEJBc0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRW50aXR5VHlwZSB9IGZyb20gJy4uLy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L2Jsb2JzZXQvdjIvZW50aXR5X3R5cGUnO1xuaW1wb3J0IHsgUmVsZWFzZUVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvcmVsZWFzZV9lbnRpdHlfdHlwZSc7XG5pbXBvcnQgY29uZmlnIGZyb20gJy4uLy4uL2NvbmZpZy9jb25maWcnO1xuaW1wb3J0IHsgQmFzZUFwaSB9IGZyb20gJy4uL2Jhc2UvYmFzZS5hcGknO1xuaW1wb3J0IHsgUmVsZWFzZUVudGl0eU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvcnVtL3YyL3JlbGVhc2VfZW50aXR5X21ldGFkYXRhJztcbmltcG9ydCB7IEVudGl0eU1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvYmxvYnNldC92Mi9lbnRpdHlfbWV0YWRhdGEnO1xuXG5leHBvcnQgY2xhc3MgRHN5bUFwaSBleHRlbmRzIEJhc2VBcGkge1xuICBwcm90ZWN0ZWQgZ2V0RW50aXR5VHlwZSgpOiBFbnRpdHlUeXBlIHtcbiAgICByZXR1cm4gRW50aXR5VHlwZS5FTlRJVFlfVFlQRV9EU1lNO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldFJlbGVhc2VFbnRpdHlUeXBlKCk6IFJlbGVhc2VFbnRpdHlUeXBlIHtcbiAgICByZXR1cm4gUmVsZWFzZUVudGl0eVR5cGUuUkVMRUFTRV9FTlRJVFlfVFlQRV9EU1lNO1xuICB9XG5cbiAgcHJvdGVjdGVkIGdldE1heENvbXByZXNzZWRGaWxlU2l6ZSgpOiBudW1iZXIge1xuICAgIHJldHVybiBjb25maWcucnVtQXBpLmRzeW1NYXhDb21wcmVzc2VkRmlsZXNTaXplO1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkUmVsZWFzZUVudGl0eU1ldGFkYXRhKFxuICAgIGFwcGxpY2F0aW9uOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIHJlcG9OYW1lPzogc3RyaW5nLFxuICAgIGNvbW1pdEhhc2g/OiBzdHJpbmcsXG4gICAgb3JnTmFtZT86IHN0cmluZyxcbiAgKTogUmVsZWFzZUVudGl0eU1ldGFkYXRhIHtcbiAgICByZXR1cm4ge1xuICAgICAgbWV0YWRhdGE6IHtcbiAgICAgICAgJGNhc2U6ICdkc3ltTWV0YWRhdGEnLFxuICAgICAgICBkc3ltTWV0YWRhdGE6IHtcbiAgICAgICAgICBhcHBsaWNhdGlvbixcbiAgICAgICAgICByZWxlYXNlSWQ6IHZlcnNpb24sXG4gICAgICAgICAgcmVwb05hbWU6IHJlcG9OYW1lIHx8ICcnLFxuICAgICAgICAgIGNvbW1pdEhhc2g6IGNvbW1pdEhhc2ggfHwgJycsXG4gICAgICAgICAgb3JnTmFtZTogb3JnTmFtZSB8fCAnJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZEVudGl0eU1ldGFkYXRhKFxuICAgIGFwcGxpY2F0aW9uOiBzdHJpbmcsXG4gICAgdmVyc2lvbjogc3RyaW5nLFxuICAgIHJlcG9OYW1lPzogc3RyaW5nLFxuICAgIGNvbW1pdEhhc2g/OiBzdHJpbmcsXG4gICAgb3JnTmFtZT86IHN0cmluZyxcbiAgKTogRW50aXR5TWV0YWRhdGEge1xuICAgIHJldHVybiB7XG4gICAgICBtZXRhZGF0YToge1xuICAgICAgICAkY2FzZTogJ2RzeW1NZXRhZGF0YScsXG4gICAgICAgIGRzeW1NZXRhZGF0YToge1xuICAgICAgICAgIGFwcGxpY2F0aW9uLFxuICAgICAgICAgIHJlbGVhc2VJZDogdmVyc2lvbixcbiAgICAgICAgICByZXBvTmFtZTogcmVwb05hbWUgfHwgJycsXG4gICAgICAgICAgY29tbWl0SGFzaDogY29tbWl0SGFzaCB8fCAnJyxcbiAgICAgICAgICBvcmdOYW1lOiBvcmdOYW1lIHx8ICcnLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
55
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZHN5bS5hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9hcGkvZHN5bS9kc3ltLmFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx5RkFBcUY7QUFDckYscUdBQWdHO0FBQ2hHLGlFQUF5QztBQUN6QywrQ0FBMkM7QUFJM0MsTUFBYSxPQUFRLFNBQVEsa0JBQU87SUFDeEIsYUFBYTtRQUNyQixPQUFPLHdCQUFVLENBQUMsZ0JBQWdCLENBQUM7SUFDckMsQ0FBQztJQUVTLG9CQUFvQjtRQUM1QixPQUFPLHVDQUFpQixDQUFDLHdCQUF3QixDQUFDO0lBQ3BELENBQUM7SUFFUyx3QkFBd0I7UUFDaEMsT0FBTyxnQkFBTSxDQUFDLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQztJQUNsRCxDQUFDO0lBRVMsMEJBQTBCLENBQ2xDLFdBQW1CLEVBQ25CLE9BQWUsRUFDZixRQUFpQixFQUNqQixVQUFtQixFQUNuQixPQUFnQixFQUNoQixlQUF3QixFQUN4QixjQUF5QjtRQUV6QixPQUFPO1lBQ0wsUUFBUSxFQUFFO2dCQUNSLEtBQUssRUFBRSxjQUFjO2dCQUNyQixZQUFZLEVBQUU7b0JBQ1osV0FBVztvQkFDWCxTQUFTLEVBQUUsT0FBTztvQkFDbEIsUUFBUSxFQUFFLFFBQVEsSUFBSSxFQUFFO29CQUN4QixVQUFVLEVBQUUsVUFBVSxJQUFJLEVBQUU7b0JBQzVCLE9BQU8sRUFBRSxPQUFPLElBQUksRUFBRTtvQkFDdEIsZUFBZSxFQUFFLGVBQWUsYUFBZixlQUFlLGNBQWYsZUFBZSxHQUFJLENBQUM7b0JBQ3JDLGNBQWMsRUFBRSxjQUFjLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTO2lCQUMxRTthQUNGO1NBQ0YsQ0FBQztJQUNKLENBQUM7SUFFUyxtQkFBbUIsQ0FDM0IsV0FBbUIsRUFDbkIsT0FBZSxFQUNmLFFBQWlCLEVBQ2pCLFVBQW1CLEVBQ25CLE9BQWdCLEVBQ2hCLGVBQXdCLEVBQ3hCLGNBQXlCO1FBRXpCLE9BQU87WUFDTCxRQUFRLEVBQUU7Z0JBQ1IsS0FBSyxFQUFFLGNBQWM7Z0JBQ3JCLFlBQVksRUFBRTtvQkFDWixXQUFXO29CQUNYLFNBQVMsRUFBRSxPQUFPO29CQUNsQixRQUFRLEVBQUUsUUFBUSxJQUFJLEVBQUU7b0JBQ3hCLFVBQVUsRUFBRSxVQUFVLElBQUksRUFBRTtvQkFDNUIsT0FBTyxFQUFFLE9BQU8sSUFBSSxFQUFFO29CQUN0QixlQUFlLEVBQUUsZUFBZSxhQUFmLGVBQWUsY0FBZixlQUFlLEdBQUksQ0FBQztvQkFDckMsY0FBYyxFQUFFLGNBQWMsQ0FBQyxDQUFDLENBQUMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7aUJBQzFFO2FBQ0Y7U0FDRixDQUFDO0lBQ0osQ0FBQztDQUNGO0FBOURELDBCQThEQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVudGl0eVR5cGUgfSBmcm9tICcuLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ibG9ic2V0L3YyL2VudGl0eV90eXBlJztcbmltcG9ydCB7IFJlbGVhc2VFbnRpdHlUeXBlIH0gZnJvbSAnLi4vLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvcnVtL3YyL3JlbGVhc2VfZW50aXR5X3R5cGUnO1xuaW1wb3J0IGNvbmZpZyBmcm9tICcuLi8uLi9jb25maWcvY29uZmlnJztcbmltcG9ydCB7IEJhc2VBcGkgfSBmcm9tICcuLi9iYXNlL2Jhc2UuYXBpJztcbmltcG9ydCB7IFJlbGVhc2VFbnRpdHlNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L3J1bS92Mi9yZWxlYXNlX2VudGl0eV9tZXRhZGF0YSc7XG5pbXBvcnQgeyBFbnRpdHlNZXRhZGF0YSB9IGZyb20gJy4uLy4uL3Byb3RvLW1vZGVscy9jb20vY29yYWxvZ2l4L2Jsb2JzZXQvdjIvZW50aXR5X21ldGFkYXRhJztcblxuZXhwb3J0IGNsYXNzIERzeW1BcGkgZXh0ZW5kcyBCYXNlQXBpIHtcbiAgcHJvdGVjdGVkIGdldEVudGl0eVR5cGUoKTogRW50aXR5VHlwZSB7XG4gICAgcmV0dXJuIEVudGl0eVR5cGUuRU5USVRZX1RZUEVfRFNZTTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRSZWxlYXNlRW50aXR5VHlwZSgpOiBSZWxlYXNlRW50aXR5VHlwZSB7XG4gICAgcmV0dXJuIFJlbGVhc2VFbnRpdHlUeXBlLlJFTEVBU0VfRU5USVRZX1RZUEVfRFNZTTtcbiAgfVxuXG4gIHByb3RlY3RlZCBnZXRNYXhDb21wcmVzc2VkRmlsZVNpemUoKTogbnVtYmVyIHtcbiAgICByZXR1cm4gY29uZmlnLnJ1bUFwaS5kc3ltTWF4Q29tcHJlc3NlZEZpbGVzU2l6ZTtcbiAgfVxuXG4gIHByb3RlY3RlZCBidWlsZFJlbGVhc2VFbnRpdHlNZXRhZGF0YShcbiAgICBhcHBsaWNhdGlvbjogc3RyaW5nLFxuICAgIHZlcnNpb246IHN0cmluZyxcbiAgICByZXBvTmFtZT86IHN0cmluZyxcbiAgICBjb21taXRIYXNoPzogc3RyaW5nLFxuICAgIG9yZ05hbWU/OiBzdHJpbmcsXG4gICAgaW50ZXJuYWxWZXJzaW9uPzogbnVtYmVyLFxuICAgIG1lcmdlZFZlcnNpb25zPzogbnVtYmVyW10sXG4gICk6IFJlbGVhc2VFbnRpdHlNZXRhZGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICRjYXNlOiAnZHN5bU1ldGFkYXRhJyxcbiAgICAgICAgZHN5bU1ldGFkYXRhOiB7XG4gICAgICAgICAgYXBwbGljYXRpb24sXG4gICAgICAgICAgcmVsZWFzZUlkOiB2ZXJzaW9uLFxuICAgICAgICAgIHJlcG9OYW1lOiByZXBvTmFtZSB8fCAnJyxcbiAgICAgICAgICBjb21taXRIYXNoOiBjb21taXRIYXNoIHx8ICcnLFxuICAgICAgICAgIG9yZ05hbWU6IG9yZ05hbWUgfHwgJycsXG4gICAgICAgICAgaW50ZXJuYWxWZXJzaW9uOiBpbnRlcm5hbFZlcnNpb24gPz8gMCxcbiAgICAgICAgICBtZXJnZWRWZXJzaW9uczogbWVyZ2VkVmVyc2lvbnMgPyB7IHZlcnNpb25zOiBtZXJnZWRWZXJzaW9ucyB9IDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG5cbiAgcHJvdGVjdGVkIGJ1aWxkRW50aXR5TWV0YWRhdGEoXG4gICAgYXBwbGljYXRpb246IHN0cmluZyxcbiAgICB2ZXJzaW9uOiBzdHJpbmcsXG4gICAgcmVwb05hbWU/OiBzdHJpbmcsXG4gICAgY29tbWl0SGFzaD86IHN0cmluZyxcbiAgICBvcmdOYW1lPzogc3RyaW5nLFxuICAgIGludGVybmFsVmVyc2lvbj86IG51bWJlcixcbiAgICBtZXJnZWRWZXJzaW9ucz86IG51bWJlcltdLFxuICApOiBFbnRpdHlNZXRhZGF0YSB7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1ldGFkYXRhOiB7XG4gICAgICAgICRjYXNlOiAnZHN5bU1ldGFkYXRhJyxcbiAgICAgICAgZHN5bU1ldGFkYXRhOiB7XG4gICAgICAgICAgYXBwbGljYXRpb24sXG4gICAgICAgICAgcmVsZWFzZUlkOiB2ZXJzaW9uLFxuICAgICAgICAgIHJlcG9OYW1lOiByZXBvTmFtZSB8fCAnJyxcbiAgICAgICAgICBjb21taXRIYXNoOiBjb21taXRIYXNoIHx8ICcnLFxuICAgICAgICAgIG9yZ05hbWU6IG9yZ05hbWUgfHwgJycsXG4gICAgICAgICAgaW50ZXJuYWxWZXJzaW9uOiBpbnRlcm5hbFZlcnNpb24gPz8gMCxcbiAgICAgICAgICBtZXJnZWRWZXJzaW9uczogbWVyZ2VkVmVyc2lvbnMgPyB7IHZlcnNpb25zOiBtZXJnZWRWZXJzaW9ucyB9IDogdW5kZWZpbmVkLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9O1xuICB9XG59XG4iXX0=
@@ -7,6 +7,6 @@ export declare class ProguardApi extends BaseApi {
7
7
  protected getEntityType(): EntityType;
8
8
  protected getReleaseEntityType(): ReleaseEntityType;
9
9
  protected getMaxCompressedFileSize(): number;
10
- protected buildReleaseEntityMetadata(application: string, version: string, repoName?: string, commitHash?: string, orgName?: string): ReleaseEntityMetadata;
11
- protected buildEntityMetadata(application: string, version: string, repoName?: string, commitHash?: string, orgName?: string): EntityMetadata;
10
+ protected buildReleaseEntityMetadata(application: string, version: string, repoName?: string, commitHash?: string, orgName?: string, internalVersion?: number, mergedVersions?: number[]): ReleaseEntityMetadata;
11
+ protected buildEntityMetadata(application: string, version: string, repoName?: string, commitHash?: string, orgName?: string, internalVersion?: number, mergedVersions?: number[]): EntityMetadata;
12
12
  }