@coralogix/rum-cli 1.1.22 → 1.1.25
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.
- package/README.md +26 -7
- package/api/client/client-factory.ts +26 -0
- package/api/client/request-builder.ts +122 -0
- package/api/dsym.api.ts +61 -0
- package/api/react-native.api.ts +67 -0
- package/api/{rum-api.ts → source-maps.api.ts} +14 -22
- package/cli/commands/dsym/index.ts +5 -0
- package/cli/commands/dsym/upload-dsym-command.ts +36 -0
- package/cli/commands/react-native/index.ts +5 -0
- package/cli/commands/{upload-react-native-source-maps-command.ts → react-native/upload-react-native-source-maps-command.ts} +14 -11
- package/cli/commands/{delete-source-maps-command.ts → source-maps/delete-source-maps-command.ts} +7 -9
- package/cli/commands/source-maps/index.ts +7 -0
- package/cli/commands/{update-source-maps-command.ts → source-maps/update-source-maps-command.ts} +7 -9
- package/cli/commands/{upload-source-maps-command.ts → source-maps/upload-source-maps-command.ts} +7 -9
- package/cli/rum-cli.ts +15 -6
- package/config/config.ts +10 -4
- package/consts/consts.ts +2 -0
- package/dist/api/client/client-factory.d.ts +355 -0
- package/dist/api/client/client-factory.js +31 -0
- package/dist/api/client/request-builder.d.ts +33 -0
- package/dist/api/client/request-builder.js +58 -0
- package/dist/api/dsym.api.d.ts +4 -0
- package/dist/api/dsym.api.js +50 -0
- package/dist/api/react-native.api.d.ts +4 -0
- package/dist/api/react-native.api.js +50 -0
- package/dist/api/{rum-api.d.ts → source-maps.api.d.ts} +2 -2
- package/dist/api/source-maps.api.js +97 -0
- package/dist/cli/commands/dsym/index.d.ts +4 -0
- package/dist/cli/commands/dsym/index.js +6 -0
- package/dist/cli/commands/dsym/upload-dsym-command.d.ts +2 -0
- package/dist/cli/commands/dsym/upload-dsym-command.js +45 -0
- package/dist/cli/commands/react-native/index.d.ts +4 -0
- package/dist/cli/commands/react-native/index.js +6 -0
- package/dist/cli/commands/react-native/upload-react-native-source-maps-command.js +51 -0
- package/dist/cli/commands/source-maps/delete-source-maps-command.js +41 -0
- package/dist/cli/commands/{index.d.ts → source-maps/index.d.ts} +2 -3
- package/dist/cli/commands/source-maps/index.js +8 -0
- package/dist/cli/commands/source-maps/update-source-maps-command.js +46 -0
- package/dist/cli/commands/source-maps/upload-source-maps-command.js +45 -0
- package/dist/cli/rum-cli.js +11 -7
- package/dist/config/config.d.ts +5 -2
- package/dist/config/config.js +6 -3
- package/dist/consts/consts.d.ts +1 -0
- package/dist/consts/consts.js +3 -2
- package/dist/models/dsym-commands.model.d.ts +11 -0
- package/dist/models/dsym-commands.model.js +3 -0
- package/dist/models/react-native-commands.model.d.ts +11 -0
- package/dist/models/react-native-commands.model.js +3 -0
- package/dist/models/{commands.model.d.ts → source-maps-commands.model.d.ts} +3 -3
- package/dist/models/source-maps-commands.model.js +3 -0
- package/dist/proto-models/com/coralogix/blobset/v2/audit_log.d.ts +24 -0
- package/dist/proto-models/com/coralogix/blobset/v2/audit_log.js +69 -0
- package/dist/proto-models/com/coralogix/blobset/v2/blobset_query_service.d.ts +111 -0
- package/dist/proto-models/com/coralogix/blobset/v2/blobset_query_service.js +36 -0
- package/dist/proto-models/com/coralogix/blobset/v2/blobset_service.d.ts +67 -0
- package/dist/proto-models/com/coralogix/blobset/v2/blobset_service.js +179 -0
- package/dist/proto-models/com/coralogix/blobset/v2/dsym.d.ts +58 -0
- package/dist/proto-models/com/coralogix/blobset/v2/dsym.js +336 -0
- package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.d.ts +78 -0
- package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.js +464 -0
- package/dist/proto-models/com/coralogix/blobset/v2/entity_type.d.ts +9 -0
- package/dist/proto-models/com/coralogix/blobset/v2/entity_type.js +52 -0
- package/dist/proto-models/com/coralogix/blobset/v2/react_native.d.ts +54 -0
- package/dist/proto-models/com/coralogix/blobset/v2/react_native.js +318 -0
- package/dist/proto-models/com/coralogix/blobset/v2/s3_metadata.d.ts +30 -0
- package/dist/proto-models/com/coralogix/blobset/v2/s3_metadata.js +131 -0
- package/dist/proto-models/com/coralogix/rum/v2/analytics.js +9 -1
- package/dist/proto-models/com/coralogix/rum/v2/audit_log.js +6 -1
- package/dist/proto-models/com/coralogix/rum/v2/chunk.js +9 -1
- package/dist/proto-models/com/coralogix/rum/v2/file.js +9 -1
- package/dist/proto-models/com/coralogix/rum/v2/hide_errors.d.ts +44 -0
- package/dist/proto-models/com/coralogix/rum/v2/hide_errors.js +203 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.d.ts +78 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.js +464 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_type.d.ts +9 -0
- package/dist/proto-models/com/coralogix/rum/v2/release_entity_type.js +52 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.d.ts +198 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.js +522 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.js +6 -1
- package/dist/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.d.ts +1 -47
- package/dist/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.js +18 -153
- package/dist/proto-models/com/coralogix/rum/v2/rum_sdk_versions.d.ts +41 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_sdk_versions.js +225 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_service.d.ts +45 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_service.js +134 -6
- package/dist/proto-models/com/coralogix/rum/v2/rum_session_recording_service.js +7 -2
- package/dist/proto-models/com/coralogix/rum/v2/rum_settings.d.ts +45 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_settings.js +198 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_settings_service.d.ts +107 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_settings_service.js +219 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.js +6 -1
- package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.d.ts +92 -0
- package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +266 -2
- package/dist/proto-models/com/coralogix/rum/v2/saved_filter.js +8 -3
- package/dist/proto-models/com/coralogix/rum/v2/snooze_errors.js +9 -1
- package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.js +6 -1
- package/dist/proto-models/com/coralogix/rum/v2/source_map_release.js +9 -1
- package/dist/proto-models/com/coralogix/rum/v2/template.js +9 -1
- package/dist/proto-models/google/protobuf/descriptor.d.ts +95 -95
- package/dist/proto-models/google/protobuf/descriptor.js +184 -176
- package/dist/services/{react-native-source-maps.service.d.ts → dsym.service.d.ts} +1 -1
- package/dist/services/dsym.service.js +36 -0
- package/dist/services/react-native.service.d.ts +3 -0
- package/dist/services/react-native.service.js +37 -0
- package/dist/services/source-maps.service.js +12 -14
- package/dist/utils/file-processor.utils.d.ts +12 -0
- package/dist/utils/file-processor.utils.js +196 -0
- package/dist/utils/shared.utils.d.ts +9 -0
- package/dist/utils/shared.utils.js +62 -0
- package/models/dsym-commands.model.ts +11 -0
- package/models/react-native-commands.model.ts +11 -0
- package/models/{commands.model.ts → source-maps-commands.model.ts} +3 -3
- package/package.json +2 -2
- package/proto-models/com/coralogix/blobset/v2/audit_log.ts +84 -0
- package/proto-models/com/coralogix/blobset/v2/blobset_query_service.ts +36 -0
- package/proto-models/com/coralogix/blobset/v2/blobset_service.ts +209 -0
- package/proto-models/com/coralogix/blobset/v2/dsym.ts +400 -0
- package/proto-models/com/coralogix/blobset/v2/entity_metadata.ts +543 -0
- package/proto-models/com/coralogix/blobset/v2/entity_type.ts +50 -0
- package/proto-models/com/coralogix/blobset/v2/react_native.ts +367 -0
- package/proto-models/com/coralogix/blobset/v2/s3_metadata.ts +154 -0
- package/proto-models/com/coralogix/rum/v2/analytics.ts +9 -0
- package/proto-models/com/coralogix/rum/v2/audit_log.ts +6 -0
- package/proto-models/com/coralogix/rum/v2/chunk.ts +9 -0
- package/proto-models/com/coralogix/rum/v2/file.ts +11 -2
- package/proto-models/com/coralogix/rum/v2/hide_errors.ts +234 -0
- package/proto-models/com/coralogix/rum/v2/release_entity_metadata.ts +543 -0
- package/proto-models/com/coralogix/rum/v2/release_entity_type.ts +50 -0
- package/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.ts +605 -0
- package/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.ts +6 -0
- package/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.ts +18 -176
- package/proto-models/com/coralogix/rum/v2/rum_sdk_versions.ts +263 -0
- package/proto-models/com/coralogix/rum/v2/rum_service.ts +152 -4
- package/proto-models/com/coralogix/rum/v2/rum_session_recording_service.ts +6 -0
- package/proto-models/com/coralogix/rum/v2/rum_settings.ts +215 -0
- package/proto-models/com/coralogix/rum/v2/rum_settings_service.ts +266 -0
- package/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.ts +6 -0
- package/proto-models/com/coralogix/rum/v2/rum_source_map_service.ts +310 -0
- package/proto-models/com/coralogix/rum/v2/saved_filter.ts +8 -2
- package/proto-models/com/coralogix/rum/v2/snooze_errors.ts +9 -0
- package/proto-models/com/coralogix/rum/v2/source_code_file_mapping.ts +6 -0
- package/proto-models/com/coralogix/rum/v2/source_map_release.ts +9 -0
- package/proto-models/com/coralogix/rum/v2/template.ts +9 -0
- package/proto-models/google/protobuf/descriptor.ts +391 -272
- package/protofetch.lock +21 -2
- package/protofetch.toml +6 -1
- package/protos/com/coralogix/blobset/v2/audit_log.proto +13 -0
- package/protos/com/coralogix/blobset/v2/blobset_query_service.proto +12 -0
- package/protos/com/coralogix/blobset/v2/blobset_service.proto +18 -0
- package/protos/com/coralogix/blobset/v2/dsym.proto +19 -0
- package/protos/com/coralogix/blobset/v2/entity_metadata.proto +36 -0
- package/protos/com/coralogix/blobset/v2/entity_type.proto +10 -0
- package/protos/com/coralogix/blobset/v2/react_native.proto +23 -0
- package/protos/com/coralogix/blobset/v2/s3_metadata.proto +14 -0
- package/protos/com/coralogix/rum/v2/hide_errors.proto +19 -0
- package/protos/com/coralogix/rum/v2/release_entity_metadata.proto +35 -0
- package/protos/com/coralogix/rum/v2/release_entity_type.proto +10 -0
- package/protos/com/coralogix/rum/v2/rum_hide_errors_service.proto +42 -0
- package/protos/com/coralogix/rum/v2/rum_saved_filters_service.proto +1 -12
- package/protos/com/coralogix/rum/v2/rum_sdk_versions.proto +16 -0
- package/protos/com/coralogix/rum/v2/rum_service.proto +10 -0
- package/protos/com/coralogix/rum/v2/rum_settings.proto +26 -0
- package/protos/com/coralogix/rum/v2/rum_settings_service.proto +21 -0
- package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +19 -0
- package/protoset.bin +0 -0
- package/services/dsym.service.ts +33 -0
- package/services/react-native.service.ts +34 -0
- package/services/source-maps.service.ts +12 -14
- package/utils/file-processor.utils.ts +176 -0
- package/utils/shared.utils.ts +52 -0
- package/cli/commands/index.ts +0 -8
- package/dist/api/rum-api.js +0 -104
- package/dist/cli/commands/delete-source-maps-command.js +0 -43
- package/dist/cli/commands/index.js +0 -9
- package/dist/cli/commands/update-source-maps-command.js +0 -48
- package/dist/cli/commands/upload-react-native-source-maps-command.js +0 -47
- package/dist/cli/commands/upload-source-maps-command.js +0 -47
- package/dist/models/commands.model.js +0 -3
- package/dist/services/react-native-source-maps.service.js +0 -42
- package/dist/utils/index.d.ts +0 -6
- package/dist/utils/index.js +0 -115
- package/services/react-native-source-maps.service.ts +0 -40
- package/utils/index.ts +0 -93
- /package/dist/cli/commands/{upload-react-native-source-maps-command.d.ts → react-native/upload-react-native-source-maps-command.d.ts} +0 -0
- /package/dist/cli/commands/{delete-source-maps-command.d.ts → source-maps/delete-source-maps-command.d.ts} +0 -0
- /package/dist/cli/commands/{update-source-maps-command.d.ts → source-maps/update-source-maps-command.d.ts} +0 -0
- /package/dist/cli/commands/{upload-source-maps-command.d.ts → source-maps/upload-source-maps-command.d.ts} +0 -0
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Code generated by protoc-gen-ts_proto. DO NOT EDIT.
|
|
3
|
+
// versions:
|
|
4
|
+
// protoc-gen-ts_proto v1.181.1
|
|
5
|
+
// protoc v3.19.1
|
|
6
|
+
// source: com/coralogix/blobset/v2/blobset_service.proto
|
|
7
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
8
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
9
|
+
};
|
|
10
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
|
+
exports.BlobSetServiceDefinition = exports.UploadBlobResponse = exports.UploadBlobRequest = exports.protobufPackage = void 0;
|
|
12
|
+
/* eslint-disable */
|
|
13
|
+
const minimal_1 = __importDefault(require("protobufjs/minimal"));
|
|
14
|
+
const entity_metadata_1 = require("./entity_metadata");
|
|
15
|
+
const entity_type_1 = require("./entity_type");
|
|
16
|
+
exports.protobufPackage = "com.coralogix.blobset.v2";
|
|
17
|
+
function createBaseUploadBlobRequest() {
|
|
18
|
+
return { data: new Uint8Array(0), entityType: 0, entityMetadata: undefined };
|
|
19
|
+
}
|
|
20
|
+
exports.UploadBlobRequest = {
|
|
21
|
+
encode(message, writer = minimal_1.default.Writer.create()) {
|
|
22
|
+
if (message.data.length !== 0) {
|
|
23
|
+
writer.uint32(10).bytes(message.data);
|
|
24
|
+
}
|
|
25
|
+
if (message.entityType !== 0) {
|
|
26
|
+
writer.uint32(16).int32(message.entityType);
|
|
27
|
+
}
|
|
28
|
+
if (message.entityMetadata !== undefined) {
|
|
29
|
+
entity_metadata_1.EntityMetadata.encode(message.entityMetadata, writer.uint32(26).fork()).ldelim();
|
|
30
|
+
}
|
|
31
|
+
return writer;
|
|
32
|
+
},
|
|
33
|
+
decode(input, length) {
|
|
34
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
35
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
36
|
+
const message = createBaseUploadBlobRequest();
|
|
37
|
+
while (reader.pos < end) {
|
|
38
|
+
const tag = reader.uint32();
|
|
39
|
+
switch (tag >>> 3) {
|
|
40
|
+
case 1:
|
|
41
|
+
if (tag !== 10) {
|
|
42
|
+
break;
|
|
43
|
+
}
|
|
44
|
+
message.data = reader.bytes();
|
|
45
|
+
continue;
|
|
46
|
+
case 2:
|
|
47
|
+
if (tag !== 16) {
|
|
48
|
+
break;
|
|
49
|
+
}
|
|
50
|
+
message.entityType = reader.int32();
|
|
51
|
+
continue;
|
|
52
|
+
case 3:
|
|
53
|
+
if (tag !== 26) {
|
|
54
|
+
break;
|
|
55
|
+
}
|
|
56
|
+
message.entityMetadata = entity_metadata_1.EntityMetadata.decode(reader, reader.uint32());
|
|
57
|
+
continue;
|
|
58
|
+
}
|
|
59
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
60
|
+
break;
|
|
61
|
+
}
|
|
62
|
+
reader.skipType(tag & 7);
|
|
63
|
+
}
|
|
64
|
+
return message;
|
|
65
|
+
},
|
|
66
|
+
fromJSON(object) {
|
|
67
|
+
return {
|
|
68
|
+
data: isSet(object.data) ? bytesFromBase64(object.data) : new Uint8Array(0),
|
|
69
|
+
entityType: isSet(object.entityType) ? (0, entity_type_1.entityTypeFromJSON)(object.entityType) : 0,
|
|
70
|
+
entityMetadata: isSet(object.entityMetadata) ? entity_metadata_1.EntityMetadata.fromJSON(object.entityMetadata) : undefined,
|
|
71
|
+
};
|
|
72
|
+
},
|
|
73
|
+
toJSON(message) {
|
|
74
|
+
const obj = {};
|
|
75
|
+
if (message.data.length !== 0) {
|
|
76
|
+
obj.data = base64FromBytes(message.data);
|
|
77
|
+
}
|
|
78
|
+
if (message.entityType !== 0) {
|
|
79
|
+
obj.entityType = (0, entity_type_1.entityTypeToJSON)(message.entityType);
|
|
80
|
+
}
|
|
81
|
+
if (message.entityMetadata !== undefined) {
|
|
82
|
+
obj.entityMetadata = entity_metadata_1.EntityMetadata.toJSON(message.entityMetadata);
|
|
83
|
+
}
|
|
84
|
+
return obj;
|
|
85
|
+
},
|
|
86
|
+
create(base) {
|
|
87
|
+
return exports.UploadBlobRequest.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
88
|
+
},
|
|
89
|
+
fromPartial(object) {
|
|
90
|
+
var _a, _b;
|
|
91
|
+
const message = createBaseUploadBlobRequest();
|
|
92
|
+
message.data = (_a = object.data) !== null && _a !== void 0 ? _a : new Uint8Array(0);
|
|
93
|
+
message.entityType = (_b = object.entityType) !== null && _b !== void 0 ? _b : 0;
|
|
94
|
+
message.entityMetadata = (object.entityMetadata !== undefined && object.entityMetadata !== null)
|
|
95
|
+
? entity_metadata_1.EntityMetadata.fromPartial(object.entityMetadata)
|
|
96
|
+
: undefined;
|
|
97
|
+
return message;
|
|
98
|
+
},
|
|
99
|
+
};
|
|
100
|
+
function createBaseUploadBlobResponse() {
|
|
101
|
+
return {};
|
|
102
|
+
}
|
|
103
|
+
exports.UploadBlobResponse = {
|
|
104
|
+
encode(_, writer = minimal_1.default.Writer.create()) {
|
|
105
|
+
return writer;
|
|
106
|
+
},
|
|
107
|
+
decode(input, length) {
|
|
108
|
+
const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
|
|
109
|
+
let end = length === undefined ? reader.len : reader.pos + length;
|
|
110
|
+
const message = createBaseUploadBlobResponse();
|
|
111
|
+
while (reader.pos < end) {
|
|
112
|
+
const tag = reader.uint32();
|
|
113
|
+
switch (tag >>> 3) {
|
|
114
|
+
}
|
|
115
|
+
if ((tag & 7) === 4 || tag === 0) {
|
|
116
|
+
break;
|
|
117
|
+
}
|
|
118
|
+
reader.skipType(tag & 7);
|
|
119
|
+
}
|
|
120
|
+
return message;
|
|
121
|
+
},
|
|
122
|
+
fromJSON(_) {
|
|
123
|
+
return {};
|
|
124
|
+
},
|
|
125
|
+
toJSON(_) {
|
|
126
|
+
const obj = {};
|
|
127
|
+
return obj;
|
|
128
|
+
},
|
|
129
|
+
create(base) {
|
|
130
|
+
return exports.UploadBlobResponse.fromPartial(base !== null && base !== void 0 ? base : {});
|
|
131
|
+
},
|
|
132
|
+
fromPartial(_) {
|
|
133
|
+
const message = createBaseUploadBlobResponse();
|
|
134
|
+
return message;
|
|
135
|
+
},
|
|
136
|
+
};
|
|
137
|
+
exports.BlobSetServiceDefinition = {
|
|
138
|
+
name: "BlobSetService",
|
|
139
|
+
fullName: "com.coralogix.blobset.v2.BlobSetService",
|
|
140
|
+
methods: {
|
|
141
|
+
uploadBlob: {
|
|
142
|
+
name: "UploadBlob",
|
|
143
|
+
requestType: exports.UploadBlobRequest,
|
|
144
|
+
requestStream: true,
|
|
145
|
+
responseType: exports.UploadBlobResponse,
|
|
146
|
+
responseStream: false,
|
|
147
|
+
options: {},
|
|
148
|
+
},
|
|
149
|
+
},
|
|
150
|
+
};
|
|
151
|
+
function bytesFromBase64(b64) {
|
|
152
|
+
if (globalThis.Buffer) {
|
|
153
|
+
return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
|
|
154
|
+
}
|
|
155
|
+
else {
|
|
156
|
+
const bin = globalThis.atob(b64);
|
|
157
|
+
const arr = new Uint8Array(bin.length);
|
|
158
|
+
for (let i = 0; i < bin.length; ++i) {
|
|
159
|
+
arr[i] = bin.charCodeAt(i);
|
|
160
|
+
}
|
|
161
|
+
return arr;
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
function base64FromBytes(arr) {
|
|
165
|
+
if (globalThis.Buffer) {
|
|
166
|
+
return globalThis.Buffer.from(arr).toString("base64");
|
|
167
|
+
}
|
|
168
|
+
else {
|
|
169
|
+
const bin = [];
|
|
170
|
+
arr.forEach((byte) => {
|
|
171
|
+
bin.push(globalThis.String.fromCharCode(byte));
|
|
172
|
+
});
|
|
173
|
+
return globalThis.btoa(bin.join(""));
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function isSet(value) {
|
|
177
|
+
return value !== null && value !== undefined;
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvYnNldF9zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvdG8tbW9kZWxzL2NvbS9jb3JhbG9naXgvYmxvYnNldC92Mi9ibG9ic2V0X3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNEQUFzRDtBQUN0RCxZQUFZO0FBQ1osa0NBQWtDO0FBQ2xDLGlDQUFpQztBQUNqQyx5REFBeUQ7Ozs7OztBQUV6RCxvQkFBb0I7QUFDcEIsaUVBQXFDO0FBQ3JDLHVEQUFtRDtBQUNuRCwrQ0FBaUY7QUFFcEUsUUFBQSxlQUFlLEdBQUcsMEJBQTBCLENBQUM7QUFXMUQsU0FBUywyQkFBMkI7SUFDbEMsT0FBTyxFQUFFLElBQUksRUFBRSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxVQUFVLEVBQUUsQ0FBQyxFQUFFLGNBQWMsRUFBRSxTQUFTLEVBQUUsQ0FBQztBQUMvRSxDQUFDO0FBRVksUUFBQSxpQkFBaUIsR0FBRztJQUMvQixNQUFNLENBQUMsT0FBMEIsRUFBRSxTQUFxQixpQkFBRyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7UUFDekUsSUFBSSxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUU7WUFDN0IsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1NBQ3ZDO1FBQ0QsSUFBSSxPQUFPLENBQUMsVUFBVSxLQUFLLENBQUMsRUFBRTtZQUM1QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDN0M7UUFDRCxJQUFJLE9BQU8sQ0FBQyxjQUFjLEtBQUssU0FBUyxFQUFFO1lBQ3hDLGdDQUFjLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxF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Q3pCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNuQixHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7UUFDakQsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0tBQ3RDO0FBQ0gsQ0FBQztBQVdELFNBQVMsS0FBSyxDQUFDLEtBQVU7SUFDdkIsT0FBTyxLQUFLLEtBQUssSUFBSSxJQUFJLEtBQUssS0FBSyxTQUFTLENBQUM7QUFDL0MsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHByb3RvYy1nZW4tdHNfcHJvdG8uIERPIE5PVCBFRElULlxuLy8gdmVyc2lvbnM6XG4vLyAgIHByb3RvYy1nZW4tdHNfcHJvdG8gIHYxLjE4MS4xXG4vLyAgIHByb3RvYyAgICAgICAgICAgICAgIHYzLjE5LjFcbi8vIHNvdXJjZTogY29tL2NvcmFsb2dpeC9ibG9ic2V0L3YyL2Jsb2JzZXRfc2VydmljZS5wcm90b1xuXG4vKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IF9tMCBmcm9tIFwicHJvdG9idWZqcy9taW5pbWFsXCI7XG5pbXBvcnQgeyBFbnRpdHlNZXRhZGF0YSB9IGZyb20gXCIuL2VudGl0eV9tZXRhZGF0YVwiO1xuaW1wb3J0IHsgRW50aXR5VHlwZSwgZW50aXR5VHlwZUZyb21KU09OLCBlbnRpdHlUeXBlVG9KU09OIH0gZnJvbSBcIi4vZW50aXR5X3R5cGVcIjtcblxuZXhwb3J0IGNvbnN0IHByb3RvYnVmUGFja2FnZSA9IFwiY29tLmNvcmFsb2dpeC5ibG9ic2V0LnYyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkQmxvYlJlcXVlc3Qge1xuICBkYXRhOiBVaW50OEFycmF5O1xuICBlbnRpdHlUeXBlOiBFbnRpdHlUeXBlO1xuICBlbnRpdHlNZXRhZGF0YTogRW50aXR5TWV0YWRhdGEgfCB1bmRlZmluZWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkQmxvYlJlc3BvbnNlIHtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQmFzZVVwbG9hZEJsb2JSZXF1ZXN0KCk6IFVwbG9hZEJsb2JSZXF1ZXN0IHtcbiAgcmV0dXJuIHsgZGF0YTogbmV3IFVpbnQ4QXJyYXkoMCksIGVudGl0eVR5cGU6IDAsIGVudGl0eU1ldGFkYXRhOiB1bmRlZmluZWQgfTtcbn1cblxuZXhwb3J0IGNvbnN0IFVwbG9hZEJsb2JSZXF1ZXN0ID0ge1xuICBlbmNvZGUobWVzc2FnZTogVXBsb2FkQmxvYlJlcXVlc3QsIHdyaXRlcjogX20wLldyaXRlciA9IF9tMC5Xcml0ZXIuY3JlYXRlKCkpOiBfbTAuV3JpdGVyIHtcbiAgICBpZiAobWVzc2FnZS5kYXRhLmxlbmd0aCAhPT0gMCkge1xuICAgICAgd3JpdGVyLnVpbnQzMigxMCkuYnl0ZXMobWVzc2FnZS5kYXRhKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UuZW50aXR5VHlwZSAhPT0gMCkge1xuICAgICAgd3JpdGVyLnVpbnQzMigxNikuaW50MzIobWVzc2FnZS5lbnRpdHlUeXBlKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UuZW50aXR5TWV0YWRhdGEgIT09IHVuZGVmaW5lZCkge1xuICAgICAgRW50aXR5TWV0YWRhdGEuZW5jb2RlKG1lc3NhZ2UuZW50aXR5TWV0YWRhdGEsIHdyaXRlci51aW50MzIoMjYpLmZvcmsoKSkubGRlbGltKCk7XG4gICAgfVxuICAgIHJldHVybiB3cml0ZXI7XG4gIH0sXG5cbiAgZGVjb2RlKGlucHV0OiBfbTAuUmVhZGVyIHwgVWludDhBcnJheSwgbGVuZ3RoPzogbnVtYmVyKTogVXBsb2FkQmxvYlJlcXVlc3Qge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlVXBsb2FkQmxvYlJlcXVlc3QoKTtcbiAgICB3aGlsZSAocmVhZGVyLnBvcyA8IGVuZCkge1xuICAgICAgY29uc3QgdGFnID0gcmVhZGVyLnVpbnQzMigpO1xuICAgICAgc3dpdGNoICh0YWcgPj4+IDMpIHtcbiAgICAgICAgY2FzZSAxOlxuICAgICAgICAgIGlmICh0YWcgIT09IDEwKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLmRhdGEgPSByZWFkZXIuYnl0ZXMoKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgY2FzZSAyOlxuICAgICAgICAgIGlmICh0YWcgIT09IDE2KSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBtZXNzYWdlLmVudGl0eVR5cGUgPSByZWFkZXIuaW50MzIoKSBhcyBhbnk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICAgIGNhc2UgMzpcbiAgICAgICAgICBpZiAodGFnICE9PSAyNikge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5lbnRpdHlNZXRhZGF0YSA9IEVudGl0eU1ldGFkYXRhLmRlY29kZShyZWFkZXIsIHJlYWRlci51aW50MzIoKSk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBVcGxvYWRCbG9iUmVxdWVzdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIGRhdGE6IGlzU2V0KG9iamVjdC5kYXRhKSA/IGJ5dGVzRnJvbUJhc2U2NChvYmplY3QuZGF0YSkgOiBuZXcgVWludDhBcnJheSgwKSxcbiAgICAgIGVudGl0eVR5cGU6IGlzU2V0KG9iamVjdC5lbnRpdHlUeXBlKSA/IGVudGl0eVR5cGVGcm9tSlNPTihvYmplY3QuZW50aXR5VHlwZSkgOiAwLFxuICAgICAgZW50aXR5TWV0YWRhdGE6IGlzU2V0KG9iamVjdC5lbnRpdHlNZXRhZGF0YSkgPyBFbnRpdHlNZXRhZGF0YS5mcm9tSlNPTihvYmplY3QuZW50aXR5TWV0YWRhdGEpIDogdW5kZWZpbmVkLFxuICAgIH07XG4gIH0sXG5cbiAgdG9KU09OKG1lc3NhZ2U6IFVwbG9hZEJsb2JSZXF1ZXN0KTogdW5rbm93biB7XG4gICAgY29uc3Qgb2JqOiBhbnkgPSB7fTtcbiAgICBpZiAobWVzc2FnZS5kYXRhLmxlbmd0aCAhPT0gMCkge1xuICAgICAgb2JqLmRhdGEgPSBiYXNlNjRGcm9tQnl0ZXMobWVzc2FnZS5kYXRhKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UuZW50aXR5VHlwZSAhPT0gMCkge1xuICAgICAgb2JqLmVudGl0eVR5cGUgPSBlbnRpdHlUeXBlVG9KU09OKG1lc3NhZ2UuZW50aXR5VHlwZSk7XG4gICAgfVxuICAgIGlmIChtZXNzYWdlLmVudGl0eU1ldGFkYXRhICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIG9iai5lbnRpdHlNZXRhZGF0YSA9IEVudGl0eU1ldGFkYXRhLnRvSlNPTihtZXNzYWdlLmVudGl0eU1ldGFkYXRhKTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPFVwbG9hZEJsb2JSZXF1ZXN0Pik6IFVwbG9hZEJsb2JSZXF1ZXN0IHtcbiAgICByZXR1cm4gVXBsb2FkQmxvYlJlcXVlc3QuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG4gIGZyb21QYXJ0aWFsKG9iamVjdDogRGVlcFBhcnRpYWw8VXBsb2FkQmxvYlJlcXVlc3Q+KTogVXBsb2FkQmxvYlJlcXVlc3Qge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlVXBsb2FkQmxvYlJlcXVlc3QoKTtcbiAgICBtZXNzYWdlLmRhdGEgPSBvYmplY3QuZGF0YSA/PyBuZXcgVWludDhBcnJheSgwKTtcbiAgICBtZXNzYWdlLmVudGl0eVR5cGUgPSBvYmplY3QuZW50aXR5VHlwZSA/PyAwO1xuICAgIG1lc3NhZ2UuZW50aXR5TWV0YWRhdGEgPSAob2JqZWN0LmVudGl0eU1ldGFkYXRhICE9PSB1bmRlZmluZWQgJiYgb2JqZWN0LmVudGl0eU1ldGFkYXRhICE9PSBudWxsKVxuICAgICAgPyBFbnRpdHlNZXRhZGF0YS5mcm9tUGFydGlhbChvYmplY3QuZW50aXR5TWV0YWRhdGEpXG4gICAgICA6IHVuZGVmaW5lZDtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcbn07XG5cbmZ1bmN0aW9uIGNyZWF0ZUJhc2VVcGxvYWRCbG9iUmVzcG9uc2UoKTogVXBsb2FkQmxvYlJlc3BvbnNlIHtcbiAgcmV0dXJuIHt9O1xufVxuXG5leHBvcnQgY29uc3QgVXBsb2FkQmxvYlJlc3BvbnNlID0ge1xuICBlbmNvZGUoXzogVXBsb2FkQmxvYlJlc3BvbnNlLCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgcmV0dXJuIHdyaXRlcjtcbiAgfSxcblxuICBkZWNvZGUoaW5wdXQ6IF9tMC5SZWFkZXIgfCBVaW50OEFycmF5LCBsZW5ndGg/OiBudW1iZXIpOiBVcGxvYWRCbG9iUmVzcG9uc2Uge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlVXBsb2FkQmxvYlJlc3BvbnNlKCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04oXzogYW55KTogVXBsb2FkQmxvYlJlc3BvbnNlIHtcbiAgICByZXR1cm4ge307XG4gIH0sXG5cbiAgdG9KU09OKF86IFVwbG9hZEJsb2JSZXNwb25zZSk6IHVua25vd24ge1xuICAgIGNvbnN0IG9iajogYW55ID0ge307XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPFVwbG9hZEJsb2JSZXNwb25zZT4pOiBVcGxvYWRCbG9iUmVzcG9uc2Uge1xuICAgIHJldHVybiBVcGxvYWRCbG9iUmVzcG9uc2UuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG4gIGZyb21QYXJ0aWFsKF86IERlZXBQYXJ0aWFsPFVwbG9hZEJsb2JSZXNwb25zZT4pOiBVcGxvYWRCbG9iUmVzcG9uc2Uge1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlVXBsb2FkQmxvYlJlc3BvbnNlKCk7XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG59O1xuXG5leHBvcnQgdHlwZSBCbG9iU2V0U2VydmljZURlZmluaXRpb24gPSB0eXBlb2YgQmxvYlNldFNlcnZpY2VEZWZpbml0aW9uO1xuZXhwb3J0IGNvbnN0IEJsb2JTZXRTZXJ2aWNlRGVmaW5pdGlvbiA9IHtcbiAgbmFtZTogXCJCbG9iU2V0U2VydmljZVwiLFxuICBmdWxsTmFtZTogXCJjb20uY29yYWxvZ2l4LmJsb2JzZXQudjIuQmxvYlNldFNlcnZpY2VcIixcbiAgbWV0aG9kczoge1xuICAgIHVwbG9hZEJsb2I6IHtcbiAgICAgIG5hbWU6IFwiVXBsb2FkQmxvYlwiLFxuICAgICAgcmVxdWVzdFR5cGU6IFVwbG9hZEJsb2JSZXF1ZXN0LFxuICAgICAgcmVxdWVzdFN0cmVhbTogdHJ1ZSxcbiAgICAgIHJlc3BvbnNlVHlwZTogVXBsb2FkQmxvYlJlc3BvbnNlLFxuICAgICAgcmVzcG9uc2VTdHJlYW06IGZhbHNlLFxuICAgICAgb3B0aW9uczoge30sXG4gICAgfSxcbiAgfSxcbn0gYXMgY29uc3Q7XG5cbmZ1bmN0aW9uIGJ5dGVzRnJvbUJhc2U2NChiNjQ6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICBpZiAoKGdsb2JhbFRoaXMgYXMgYW55KS5CdWZmZXIpIHtcbiAgICByZXR1cm4gVWludDhBcnJheS5mcm9tKGdsb2JhbFRoaXMuQnVmZmVyLmZyb20oYjY0LCBcImJhc2U2NFwiKSk7XG4gIH0gZWxzZSB7XG4gICAgY29uc3QgYmluID0gZ2xvYmFsVGhpcy5hdG9iKGI2NCk7XG4gICAgY29uc3QgYXJyID0gbmV3IFVpbnQ4QXJyYXkoYmluLmxlbmd0aCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBiaW4ubGVuZ3RoOyArK2kpIHtcbiAgICAgIGFycltpXSA9IGJpbi5jaGFyQ29kZUF0KGkpO1xuICAgIH1cbiAgICByZXR1cm4gYXJyO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJhc2U2NEZyb21CeXRlcyhhcnI6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICBpZiAoKGdsb2JhbFRoaXMgYXMgYW55KS5CdWZmZXIpIHtcbiAgICByZXR1cm4gZ2xvYmFsVGhpcy5CdWZmZXIuZnJvbShhcnIpLnRvU3RyaW5nKFwiYmFzZTY0XCIpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGJpbjogc3RyaW5nW10gPSBbXTtcbiAgICBhcnIuZm9yRWFjaCgoYnl0ZSkgPT4ge1xuICAgICAgYmluLnB1c2goZ2xvYmFsVGhpcy5TdHJpbmcuZnJvbUNoYXJDb2RlKGJ5dGUpKTtcbiAgICB9KTtcbiAgICByZXR1cm4gZ2xvYmFsVGhpcy5idG9hKGJpbi5qb2luKFwiXCIpKTtcbiAgfVxufVxuXG50eXBlIEJ1aWx0aW4gPSBEYXRlIHwgRnVuY3Rpb24gfCBVaW50OEFycmF5IHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgRGVlcFBhcnRpYWw8VD4gPSBUIGV4dGVuZHMgQnVpbHRpbiA/IFRcbiAgOiBUIGV4dGVuZHMgZ2xvYmFsVGhpcy5BcnJheTxpbmZlciBVPiA/IGdsb2JhbFRoaXMuQXJyYXk8RGVlcFBhcnRpYWw8VT4+XG4gIDogVCBleHRlbmRzIFJlYWRvbmx5QXJyYXk8aW5mZXIgVT4gPyBSZWFkb25seUFycmF5PERlZXBQYXJ0aWFsPFU+PlxuICA6IFQgZXh0ZW5kcyB7ICRjYXNlOiBzdHJpbmcgfSA/IHsgW0sgaW4ga2V5b2YgT21pdDxULCBcIiRjYXNlXCI+XT86IERlZXBQYXJ0aWFsPFRbS10+IH0gJiB7ICRjYXNlOiBUW1wiJGNhc2VcIl0gfVxuICA6IFQgZXh0ZW5kcyB7fSA/IHsgW0sgaW4ga2V5b2YgVF0/OiBEZWVwUGFydGlhbDxUW0tdPiB9XG4gIDogUGFydGlhbDxUPjtcblxuZnVuY3Rpb24gaXNTZXQodmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZDtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import _m0 from "protobufjs/minimal";
|
|
2
|
+
export declare const protobufPackage = "com.coralogix.blobset.v2";
|
|
3
|
+
export interface GetMappedIosStackTraceRequest {
|
|
4
|
+
application: string;
|
|
5
|
+
releaseId: string;
|
|
6
|
+
baseAddress: string;
|
|
7
|
+
addresses: string[];
|
|
8
|
+
}
|
|
9
|
+
export interface GetMappedIosStackTraceResponse {
|
|
10
|
+
application: string;
|
|
11
|
+
releaseId: string;
|
|
12
|
+
/** function_address_called -> mapped_address */
|
|
13
|
+
mappedAddresses: {
|
|
14
|
+
[key: string]: string;
|
|
15
|
+
};
|
|
16
|
+
commitHash?: string | undefined;
|
|
17
|
+
repoName?: string | undefined;
|
|
18
|
+
user?: string | undefined;
|
|
19
|
+
}
|
|
20
|
+
export interface GetMappedIosStackTraceResponse_MappedAddressesEntry {
|
|
21
|
+
key: string;
|
|
22
|
+
value: string;
|
|
23
|
+
}
|
|
24
|
+
export declare const GetMappedIosStackTraceRequest: {
|
|
25
|
+
encode(message: GetMappedIosStackTraceRequest, writer?: _m0.Writer): _m0.Writer;
|
|
26
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): GetMappedIosStackTraceRequest;
|
|
27
|
+
fromJSON(object: any): GetMappedIosStackTraceRequest;
|
|
28
|
+
toJSON(message: GetMappedIosStackTraceRequest): unknown;
|
|
29
|
+
create(base?: DeepPartial<GetMappedIosStackTraceRequest>): GetMappedIosStackTraceRequest;
|
|
30
|
+
fromPartial(object: DeepPartial<GetMappedIosStackTraceRequest>): GetMappedIosStackTraceRequest;
|
|
31
|
+
};
|
|
32
|
+
export declare const GetMappedIosStackTraceResponse: {
|
|
33
|
+
encode(message: GetMappedIosStackTraceResponse, writer?: _m0.Writer): _m0.Writer;
|
|
34
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): GetMappedIosStackTraceResponse;
|
|
35
|
+
fromJSON(object: any): GetMappedIosStackTraceResponse;
|
|
36
|
+
toJSON(message: GetMappedIosStackTraceResponse): unknown;
|
|
37
|
+
create(base?: DeepPartial<GetMappedIosStackTraceResponse>): GetMappedIosStackTraceResponse;
|
|
38
|
+
fromPartial(object: DeepPartial<GetMappedIosStackTraceResponse>): GetMappedIosStackTraceResponse;
|
|
39
|
+
};
|
|
40
|
+
export declare const GetMappedIosStackTraceResponse_MappedAddressesEntry: {
|
|
41
|
+
encode(message: GetMappedIosStackTraceResponse_MappedAddressesEntry, writer?: _m0.Writer): _m0.Writer;
|
|
42
|
+
decode(input: _m0.Reader | Uint8Array, length?: number): GetMappedIosStackTraceResponse_MappedAddressesEntry;
|
|
43
|
+
fromJSON(object: any): GetMappedIosStackTraceResponse_MappedAddressesEntry;
|
|
44
|
+
toJSON(message: GetMappedIosStackTraceResponse_MappedAddressesEntry): unknown;
|
|
45
|
+
create(base?: DeepPartial<GetMappedIosStackTraceResponse_MappedAddressesEntry>): GetMappedIosStackTraceResponse_MappedAddressesEntry;
|
|
46
|
+
fromPartial(object: DeepPartial<GetMappedIosStackTraceResponse_MappedAddressesEntry>): GetMappedIosStackTraceResponse_MappedAddressesEntry;
|
|
47
|
+
};
|
|
48
|
+
type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
|
|
49
|
+
export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {
|
|
50
|
+
$case: string;
|
|
51
|
+
} ? {
|
|
52
|
+
[K in keyof Omit<T, "$case">]?: DeepPartial<T[K]>;
|
|
53
|
+
} & {
|
|
54
|
+
$case: T["$case"];
|
|
55
|
+
} : T extends {} ? {
|
|
56
|
+
[K in keyof T]?: DeepPartial<T[K]>;
|
|
57
|
+
} : Partial<T>;
|
|
58
|
+
export {};
|