@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.
Files changed (187) hide show
  1. package/README.md +26 -7
  2. package/api/client/client-factory.ts +26 -0
  3. package/api/client/request-builder.ts +122 -0
  4. package/api/dsym.api.ts +61 -0
  5. package/api/react-native.api.ts +67 -0
  6. package/api/{rum-api.ts → source-maps.api.ts} +14 -22
  7. package/cli/commands/dsym/index.ts +5 -0
  8. package/cli/commands/dsym/upload-dsym-command.ts +36 -0
  9. package/cli/commands/react-native/index.ts +5 -0
  10. package/cli/commands/{upload-react-native-source-maps-command.ts → react-native/upload-react-native-source-maps-command.ts} +14 -11
  11. package/cli/commands/{delete-source-maps-command.ts → source-maps/delete-source-maps-command.ts} +7 -9
  12. package/cli/commands/source-maps/index.ts +7 -0
  13. package/cli/commands/{update-source-maps-command.ts → source-maps/update-source-maps-command.ts} +7 -9
  14. package/cli/commands/{upload-source-maps-command.ts → source-maps/upload-source-maps-command.ts} +7 -9
  15. package/cli/rum-cli.ts +15 -6
  16. package/config/config.ts +10 -4
  17. package/consts/consts.ts +2 -0
  18. package/dist/api/client/client-factory.d.ts +355 -0
  19. package/dist/api/client/client-factory.js +31 -0
  20. package/dist/api/client/request-builder.d.ts +33 -0
  21. package/dist/api/client/request-builder.js +58 -0
  22. package/dist/api/dsym.api.d.ts +4 -0
  23. package/dist/api/dsym.api.js +50 -0
  24. package/dist/api/react-native.api.d.ts +4 -0
  25. package/dist/api/react-native.api.js +50 -0
  26. package/dist/api/{rum-api.d.ts → source-maps.api.d.ts} +2 -2
  27. package/dist/api/source-maps.api.js +97 -0
  28. package/dist/cli/commands/dsym/index.d.ts +4 -0
  29. package/dist/cli/commands/dsym/index.js +6 -0
  30. package/dist/cli/commands/dsym/upload-dsym-command.d.ts +2 -0
  31. package/dist/cli/commands/dsym/upload-dsym-command.js +45 -0
  32. package/dist/cli/commands/react-native/index.d.ts +4 -0
  33. package/dist/cli/commands/react-native/index.js +6 -0
  34. package/dist/cli/commands/react-native/upload-react-native-source-maps-command.js +51 -0
  35. package/dist/cli/commands/source-maps/delete-source-maps-command.js +41 -0
  36. package/dist/cli/commands/{index.d.ts → source-maps/index.d.ts} +2 -3
  37. package/dist/cli/commands/source-maps/index.js +8 -0
  38. package/dist/cli/commands/source-maps/update-source-maps-command.js +46 -0
  39. package/dist/cli/commands/source-maps/upload-source-maps-command.js +45 -0
  40. package/dist/cli/rum-cli.js +11 -7
  41. package/dist/config/config.d.ts +5 -2
  42. package/dist/config/config.js +6 -3
  43. package/dist/consts/consts.d.ts +1 -0
  44. package/dist/consts/consts.js +3 -2
  45. package/dist/models/dsym-commands.model.d.ts +11 -0
  46. package/dist/models/dsym-commands.model.js +3 -0
  47. package/dist/models/react-native-commands.model.d.ts +11 -0
  48. package/dist/models/react-native-commands.model.js +3 -0
  49. package/dist/models/{commands.model.d.ts → source-maps-commands.model.d.ts} +3 -3
  50. package/dist/models/source-maps-commands.model.js +3 -0
  51. package/dist/proto-models/com/coralogix/blobset/v2/audit_log.d.ts +24 -0
  52. package/dist/proto-models/com/coralogix/blobset/v2/audit_log.js +69 -0
  53. package/dist/proto-models/com/coralogix/blobset/v2/blobset_query_service.d.ts +111 -0
  54. package/dist/proto-models/com/coralogix/blobset/v2/blobset_query_service.js +36 -0
  55. package/dist/proto-models/com/coralogix/blobset/v2/blobset_service.d.ts +67 -0
  56. package/dist/proto-models/com/coralogix/blobset/v2/blobset_service.js +179 -0
  57. package/dist/proto-models/com/coralogix/blobset/v2/dsym.d.ts +58 -0
  58. package/dist/proto-models/com/coralogix/blobset/v2/dsym.js +336 -0
  59. package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.d.ts +78 -0
  60. package/dist/proto-models/com/coralogix/blobset/v2/entity_metadata.js +464 -0
  61. package/dist/proto-models/com/coralogix/blobset/v2/entity_type.d.ts +9 -0
  62. package/dist/proto-models/com/coralogix/blobset/v2/entity_type.js +52 -0
  63. package/dist/proto-models/com/coralogix/blobset/v2/react_native.d.ts +54 -0
  64. package/dist/proto-models/com/coralogix/blobset/v2/react_native.js +318 -0
  65. package/dist/proto-models/com/coralogix/blobset/v2/s3_metadata.d.ts +30 -0
  66. package/dist/proto-models/com/coralogix/blobset/v2/s3_metadata.js +131 -0
  67. package/dist/proto-models/com/coralogix/rum/v2/analytics.js +9 -1
  68. package/dist/proto-models/com/coralogix/rum/v2/audit_log.js +6 -1
  69. package/dist/proto-models/com/coralogix/rum/v2/chunk.js +9 -1
  70. package/dist/proto-models/com/coralogix/rum/v2/file.js +9 -1
  71. package/dist/proto-models/com/coralogix/rum/v2/hide_errors.d.ts +44 -0
  72. package/dist/proto-models/com/coralogix/rum/v2/hide_errors.js +203 -0
  73. package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.d.ts +78 -0
  74. package/dist/proto-models/com/coralogix/rum/v2/release_entity_metadata.js +464 -0
  75. package/dist/proto-models/com/coralogix/rum/v2/release_entity_type.d.ts +9 -0
  76. package/dist/proto-models/com/coralogix/rum/v2/release_entity_type.js +52 -0
  77. package/dist/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.d.ts +198 -0
  78. package/dist/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.js +522 -0
  79. package/dist/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.js +6 -1
  80. package/dist/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.d.ts +1 -47
  81. package/dist/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.js +18 -153
  82. package/dist/proto-models/com/coralogix/rum/v2/rum_sdk_versions.d.ts +41 -0
  83. package/dist/proto-models/com/coralogix/rum/v2/rum_sdk_versions.js +225 -0
  84. package/dist/proto-models/com/coralogix/rum/v2/rum_service.d.ts +45 -0
  85. package/dist/proto-models/com/coralogix/rum/v2/rum_service.js +134 -6
  86. package/dist/proto-models/com/coralogix/rum/v2/rum_session_recording_service.js +7 -2
  87. package/dist/proto-models/com/coralogix/rum/v2/rum_settings.d.ts +45 -0
  88. package/dist/proto-models/com/coralogix/rum/v2/rum_settings.js +198 -0
  89. package/dist/proto-models/com/coralogix/rum/v2/rum_settings_service.d.ts +107 -0
  90. package/dist/proto-models/com/coralogix/rum/v2/rum_settings_service.js +219 -0
  91. package/dist/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.js +6 -1
  92. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.d.ts +92 -0
  93. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +266 -2
  94. package/dist/proto-models/com/coralogix/rum/v2/saved_filter.js +8 -3
  95. package/dist/proto-models/com/coralogix/rum/v2/snooze_errors.js +9 -1
  96. package/dist/proto-models/com/coralogix/rum/v2/source_code_file_mapping.js +6 -1
  97. package/dist/proto-models/com/coralogix/rum/v2/source_map_release.js +9 -1
  98. package/dist/proto-models/com/coralogix/rum/v2/template.js +9 -1
  99. package/dist/proto-models/google/protobuf/descriptor.d.ts +95 -95
  100. package/dist/proto-models/google/protobuf/descriptor.js +184 -176
  101. package/dist/services/{react-native-source-maps.service.d.ts → dsym.service.d.ts} +1 -1
  102. package/dist/services/dsym.service.js +36 -0
  103. package/dist/services/react-native.service.d.ts +3 -0
  104. package/dist/services/react-native.service.js +37 -0
  105. package/dist/services/source-maps.service.js +12 -14
  106. package/dist/utils/file-processor.utils.d.ts +12 -0
  107. package/dist/utils/file-processor.utils.js +196 -0
  108. package/dist/utils/shared.utils.d.ts +9 -0
  109. package/dist/utils/shared.utils.js +62 -0
  110. package/models/dsym-commands.model.ts +11 -0
  111. package/models/react-native-commands.model.ts +11 -0
  112. package/models/{commands.model.ts → source-maps-commands.model.ts} +3 -3
  113. package/package.json +2 -2
  114. package/proto-models/com/coralogix/blobset/v2/audit_log.ts +84 -0
  115. package/proto-models/com/coralogix/blobset/v2/blobset_query_service.ts +36 -0
  116. package/proto-models/com/coralogix/blobset/v2/blobset_service.ts +209 -0
  117. package/proto-models/com/coralogix/blobset/v2/dsym.ts +400 -0
  118. package/proto-models/com/coralogix/blobset/v2/entity_metadata.ts +543 -0
  119. package/proto-models/com/coralogix/blobset/v2/entity_type.ts +50 -0
  120. package/proto-models/com/coralogix/blobset/v2/react_native.ts +367 -0
  121. package/proto-models/com/coralogix/blobset/v2/s3_metadata.ts +154 -0
  122. package/proto-models/com/coralogix/rum/v2/analytics.ts +9 -0
  123. package/proto-models/com/coralogix/rum/v2/audit_log.ts +6 -0
  124. package/proto-models/com/coralogix/rum/v2/chunk.ts +9 -0
  125. package/proto-models/com/coralogix/rum/v2/file.ts +11 -2
  126. package/proto-models/com/coralogix/rum/v2/hide_errors.ts +234 -0
  127. package/proto-models/com/coralogix/rum/v2/release_entity_metadata.ts +543 -0
  128. package/proto-models/com/coralogix/rum/v2/release_entity_type.ts +50 -0
  129. package/proto-models/com/coralogix/rum/v2/rum_hide_errors_service.ts +605 -0
  130. package/proto-models/com/coralogix/rum/v2/rum_react_native_source_map_service.ts +6 -0
  131. package/proto-models/com/coralogix/rum/v2/rum_saved_filters_service.ts +18 -176
  132. package/proto-models/com/coralogix/rum/v2/rum_sdk_versions.ts +263 -0
  133. package/proto-models/com/coralogix/rum/v2/rum_service.ts +152 -4
  134. package/proto-models/com/coralogix/rum/v2/rum_session_recording_service.ts +6 -0
  135. package/proto-models/com/coralogix/rum/v2/rum_settings.ts +215 -0
  136. package/proto-models/com/coralogix/rum/v2/rum_settings_service.ts +266 -0
  137. package/proto-models/com/coralogix/rum/v2/rum_snooze_errors_service.ts +6 -0
  138. package/proto-models/com/coralogix/rum/v2/rum_source_map_service.ts +310 -0
  139. package/proto-models/com/coralogix/rum/v2/saved_filter.ts +8 -2
  140. package/proto-models/com/coralogix/rum/v2/snooze_errors.ts +9 -0
  141. package/proto-models/com/coralogix/rum/v2/source_code_file_mapping.ts +6 -0
  142. package/proto-models/com/coralogix/rum/v2/source_map_release.ts +9 -0
  143. package/proto-models/com/coralogix/rum/v2/template.ts +9 -0
  144. package/proto-models/google/protobuf/descriptor.ts +391 -272
  145. package/protofetch.lock +21 -2
  146. package/protofetch.toml +6 -1
  147. package/protos/com/coralogix/blobset/v2/audit_log.proto +13 -0
  148. package/protos/com/coralogix/blobset/v2/blobset_query_service.proto +12 -0
  149. package/protos/com/coralogix/blobset/v2/blobset_service.proto +18 -0
  150. package/protos/com/coralogix/blobset/v2/dsym.proto +19 -0
  151. package/protos/com/coralogix/blobset/v2/entity_metadata.proto +36 -0
  152. package/protos/com/coralogix/blobset/v2/entity_type.proto +10 -0
  153. package/protos/com/coralogix/blobset/v2/react_native.proto +23 -0
  154. package/protos/com/coralogix/blobset/v2/s3_metadata.proto +14 -0
  155. package/protos/com/coralogix/rum/v2/hide_errors.proto +19 -0
  156. package/protos/com/coralogix/rum/v2/release_entity_metadata.proto +35 -0
  157. package/protos/com/coralogix/rum/v2/release_entity_type.proto +10 -0
  158. package/protos/com/coralogix/rum/v2/rum_hide_errors_service.proto +42 -0
  159. package/protos/com/coralogix/rum/v2/rum_saved_filters_service.proto +1 -12
  160. package/protos/com/coralogix/rum/v2/rum_sdk_versions.proto +16 -0
  161. package/protos/com/coralogix/rum/v2/rum_service.proto +10 -0
  162. package/protos/com/coralogix/rum/v2/rum_settings.proto +26 -0
  163. package/protos/com/coralogix/rum/v2/rum_settings_service.proto +21 -0
  164. package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +19 -0
  165. package/protoset.bin +0 -0
  166. package/services/dsym.service.ts +33 -0
  167. package/services/react-native.service.ts +34 -0
  168. package/services/source-maps.service.ts +12 -14
  169. package/utils/file-processor.utils.ts +176 -0
  170. package/utils/shared.utils.ts +52 -0
  171. package/cli/commands/index.ts +0 -8
  172. package/dist/api/rum-api.js +0 -104
  173. package/dist/cli/commands/delete-source-maps-command.js +0 -43
  174. package/dist/cli/commands/index.js +0 -9
  175. package/dist/cli/commands/update-source-maps-command.js +0 -48
  176. package/dist/cli/commands/upload-react-native-source-maps-command.js +0 -47
  177. package/dist/cli/commands/upload-source-maps-command.js +0 -47
  178. package/dist/models/commands.model.js +0 -3
  179. package/dist/services/react-native-source-maps.service.js +0 -42
  180. package/dist/utils/index.d.ts +0 -6
  181. package/dist/utils/index.js +0 -115
  182. package/services/react-native-source-maps.service.ts +0 -40
  183. package/utils/index.ts +0 -93
  184. /package/dist/cli/commands/{upload-react-native-source-maps-command.d.ts → react-native/upload-react-native-source-maps-command.d.ts} +0 -0
  185. /package/dist/cli/commands/{delete-source-maps-command.d.ts → source-maps/delete-source-maps-command.d.ts} +0 -0
  186. /package/dist/cli/commands/{update-source-maps-command.d.ts → source-maps/update-source-maps-command.d.ts} +0 -0
  187. /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 {};