@coralogix/rum-cli 1.1.17 → 1.1.18

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 (69) hide show
  1. package/.prettierrc +15 -0
  2. package/README.md +26 -19
  3. package/api/rum-api.ts +104 -91
  4. package/cli/commands/delete-source-maps-command.ts +34 -0
  5. package/cli/commands/index.ts +7 -0
  6. package/cli/commands/update-source-maps-command.ts +38 -0
  7. package/cli/commands/upload-source-maps-command.ts +38 -0
  8. package/cli/rum-cli.ts +13 -47
  9. package/cli/validators/index.ts +9 -10
  10. package/config/config.ts +21 -21
  11. package/consts/consts.ts +16 -0
  12. package/dist/api/rum-api.d.ts +4 -3
  13. package/dist/api/rum-api.js +60 -72
  14. package/dist/cli/commands/delete-source-maps-command.d.ts +2 -0
  15. package/dist/cli/commands/delete-source-maps-command.js +43 -0
  16. package/dist/cli/commands/index.d.ts +6 -0
  17. package/dist/cli/commands/index.js +8 -0
  18. package/dist/cli/commands/update-source-maps-command.d.ts +2 -0
  19. package/dist/cli/commands/update-source-maps-command.js +47 -0
  20. package/dist/cli/commands/upload-source-maps-command.d.ts +2 -0
  21. package/dist/cli/commands/upload-source-maps-command.js +47 -0
  22. package/dist/cli/rum-cli.js +14 -55
  23. package/dist/cli/validators/index.js +5 -6
  24. package/dist/config/config.js +6 -5
  25. package/dist/{cli/theme/index.d.ts → consts/consts.d.ts} +2 -0
  26. package/dist/consts/consts.js +16 -0
  27. package/dist/models/commands.model.d.ts +29 -0
  28. package/dist/models/commands.model.js +3 -0
  29. package/dist/proto-models/com/coralogix/rum/v2/rum_service.d.ts +88 -1
  30. package/dist/proto-models/com/coralogix/rum/v2/rum_service.js +228 -4
  31. package/dist/proto-models/com/coralogix/rum/v2/rum_session_recording_service.d.ts +65 -0
  32. package/dist/proto-models/com/coralogix/rum/v2/rum_session_recording_service.js +182 -0
  33. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.d.ts +92 -0
  34. package/dist/proto-models/com/coralogix/rum/v2/rum_source_map_service.js +271 -2
  35. package/dist/proto-models/com/coralogix/rum/v2/source_map_release.d.ts +13 -0
  36. package/dist/proto-models/com/coralogix/rum/v2/source_map_release.js +77 -2
  37. package/dist/services/source-maps.service.d.ts +5 -0
  38. package/dist/services/source-maps.service.js +80 -0
  39. package/dist/utils/index.d.ts +6 -0
  40. package/dist/utils/index.js +115 -0
  41. package/models/commands.model.ts +31 -0
  42. package/package.json +5 -3
  43. package/proto-models/com/coralogix/rum/v2/rum_service.ts +268 -2
  44. package/proto-models/com/coralogix/rum/v2/rum_session_recording_service.ts +217 -0
  45. package/proto-models/com/coralogix/rum/v2/rum_source_map_service.ts +322 -0
  46. package/proto-models/com/coralogix/rum/v2/source_map_release.ts +90 -0
  47. package/protofetch.lock +2 -2
  48. package/protofetch.toml +1 -1
  49. package/protos/com/coralogix/rum/v2/rum_service.proto +16 -1
  50. package/protos/com/coralogix/rum/v2/rum_session_recording_service.proto +15 -0
  51. package/protos/com/coralogix/rum/v2/rum_source_map_service.proto +18 -0
  52. package/protos/com/coralogix/rum/v2/source_map_release.proto +6 -0
  53. package/protoset.bin +0 -0
  54. package/services/source-maps.service.ts +96 -0
  55. package/utils/index.ts +93 -0
  56. package/cli/consts/consts.ts +0 -2
  57. package/cli/theme/index.ts +0 -5
  58. package/dist/cli/consts/consts.d.ts +0 -2
  59. package/dist/cli/consts/consts.js +0 -6
  60. package/dist/cli/theme/index.js +0 -7
  61. package/dist/model/cli.model.d.ts +0 -1
  62. package/dist/model/cli.model.js +0 -12
  63. package/dist/services/source-maps/source-maps.service.d.ts +0 -3
  64. package/dist/services/source-maps/source-maps.service.js +0 -42
  65. package/dist/services/source-maps/utils/traverse-folder.util.d.ts +0 -2
  66. package/dist/services/source-maps/utils/traverse-folder.util.js +0 -42
  67. package/model/cli.model.ts +0 -8
  68. package/services/source-maps/source-maps.service.ts +0 -31
  69. package/services/source-maps/utils/traverse-folder.util.ts +0 -33
@@ -0,0 +1,65 @@
1
+ import _m0 from "protobufjs/minimal";
2
+ export declare const protobufPackage = "com.coralogix.rum.v2";
3
+ export interface GetSessionRecordingRequest {
4
+ sessionId: string;
5
+ application: string;
6
+ }
7
+ export interface GetSessionRecordingResponse {
8
+ sessionRecordings: Uint8Array;
9
+ }
10
+ export declare const GetSessionRecordingRequest: {
11
+ encode(message: GetSessionRecordingRequest, writer?: _m0.Writer): _m0.Writer;
12
+ decode(input: _m0.Reader | Uint8Array, length?: number): GetSessionRecordingRequest;
13
+ fromJSON(object: any): GetSessionRecordingRequest;
14
+ toJSON(message: GetSessionRecordingRequest): unknown;
15
+ create(base?: DeepPartial<GetSessionRecordingRequest>): GetSessionRecordingRequest;
16
+ fromPartial(object: DeepPartial<GetSessionRecordingRequest>): GetSessionRecordingRequest;
17
+ };
18
+ export declare const GetSessionRecordingResponse: {
19
+ encode(message: GetSessionRecordingResponse, writer?: _m0.Writer): _m0.Writer;
20
+ decode(input: _m0.Reader | Uint8Array, length?: number): GetSessionRecordingResponse;
21
+ fromJSON(object: any): GetSessionRecordingResponse;
22
+ toJSON(message: GetSessionRecordingResponse): unknown;
23
+ create(base?: DeepPartial<GetSessionRecordingResponse>): GetSessionRecordingResponse;
24
+ fromPartial(object: DeepPartial<GetSessionRecordingResponse>): GetSessionRecordingResponse;
25
+ };
26
+ export type RumSessionRecordingServiceDefinition = typeof RumSessionRecordingServiceDefinition;
27
+ export declare const RumSessionRecordingServiceDefinition: {
28
+ readonly name: "RumSessionRecordingService";
29
+ readonly fullName: "com.coralogix.rum.v2.RumSessionRecordingService";
30
+ readonly methods: {
31
+ readonly getSessionRecording: {
32
+ readonly name: "GetSessionRecording";
33
+ readonly requestType: {
34
+ encode(message: GetSessionRecordingRequest, writer?: _m0.Writer): _m0.Writer;
35
+ decode(input: _m0.Reader | Uint8Array, length?: number): GetSessionRecordingRequest;
36
+ fromJSON(object: any): GetSessionRecordingRequest;
37
+ toJSON(message: GetSessionRecordingRequest): unknown;
38
+ create(base?: DeepPartial<GetSessionRecordingRequest>): GetSessionRecordingRequest;
39
+ fromPartial(object: DeepPartial<GetSessionRecordingRequest>): GetSessionRecordingRequest;
40
+ };
41
+ readonly requestStream: false;
42
+ readonly responseType: {
43
+ encode(message: GetSessionRecordingResponse, writer?: _m0.Writer): _m0.Writer;
44
+ decode(input: _m0.Reader | Uint8Array, length?: number): GetSessionRecordingResponse;
45
+ fromJSON(object: any): GetSessionRecordingResponse;
46
+ toJSON(message: GetSessionRecordingResponse): unknown;
47
+ create(base?: DeepPartial<GetSessionRecordingResponse>): GetSessionRecordingResponse;
48
+ fromPartial(object: DeepPartial<GetSessionRecordingResponse>): GetSessionRecordingResponse;
49
+ };
50
+ readonly responseStream: false;
51
+ readonly options: {};
52
+ };
53
+ };
54
+ };
55
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
56
+ export type DeepPartial<T> = T extends Builtin ? T : T extends Array<infer U> ? Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {
57
+ $case: string;
58
+ } ? {
59
+ [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]>;
60
+ } & {
61
+ $case: T["$case"];
62
+ } : T extends {} ? {
63
+ [K in keyof T]?: DeepPartial<T[K]>;
64
+ } : Partial<T>;
65
+ export {};
@@ -0,0 +1,182 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.RumSessionRecordingServiceDefinition = exports.GetSessionRecordingResponse = exports.GetSessionRecordingRequest = exports.protobufPackage = void 0;
7
+ /* eslint-disable */
8
+ const minimal_1 = __importDefault(require("protobufjs/minimal"));
9
+ exports.protobufPackage = "com.coralogix.rum.v2";
10
+ function createBaseGetSessionRecordingRequest() {
11
+ return { sessionId: "", application: "" };
12
+ }
13
+ exports.GetSessionRecordingRequest = {
14
+ encode(message, writer = minimal_1.default.Writer.create()) {
15
+ if (message.sessionId !== "") {
16
+ writer.uint32(10).string(message.sessionId);
17
+ }
18
+ if (message.application !== "") {
19
+ writer.uint32(18).string(message.application);
20
+ }
21
+ return writer;
22
+ },
23
+ decode(input, length) {
24
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
25
+ let end = length === undefined ? reader.len : reader.pos + length;
26
+ const message = createBaseGetSessionRecordingRequest();
27
+ while (reader.pos < end) {
28
+ const tag = reader.uint32();
29
+ switch (tag >>> 3) {
30
+ case 1:
31
+ if (tag !== 10) {
32
+ break;
33
+ }
34
+ message.sessionId = reader.string();
35
+ continue;
36
+ case 2:
37
+ if (tag !== 18) {
38
+ break;
39
+ }
40
+ message.application = reader.string();
41
+ continue;
42
+ }
43
+ if ((tag & 7) === 4 || tag === 0) {
44
+ break;
45
+ }
46
+ reader.skipType(tag & 7);
47
+ }
48
+ return message;
49
+ },
50
+ fromJSON(object) {
51
+ return {
52
+ sessionId: isSet(object.sessionId) ? String(object.sessionId) : "",
53
+ application: isSet(object.application) ? String(object.application) : "",
54
+ };
55
+ },
56
+ toJSON(message) {
57
+ const obj = {};
58
+ message.sessionId !== undefined && (obj.sessionId = message.sessionId);
59
+ message.application !== undefined && (obj.application = message.application);
60
+ return obj;
61
+ },
62
+ create(base) {
63
+ return exports.GetSessionRecordingRequest.fromPartial(base !== null && base !== void 0 ? base : {});
64
+ },
65
+ fromPartial(object) {
66
+ var _a, _b;
67
+ const message = createBaseGetSessionRecordingRequest();
68
+ message.sessionId = (_a = object.sessionId) !== null && _a !== void 0 ? _a : "";
69
+ message.application = (_b = object.application) !== null && _b !== void 0 ? _b : "";
70
+ return message;
71
+ },
72
+ };
73
+ function createBaseGetSessionRecordingResponse() {
74
+ return { sessionRecordings: new Uint8Array() };
75
+ }
76
+ exports.GetSessionRecordingResponse = {
77
+ encode(message, writer = minimal_1.default.Writer.create()) {
78
+ if (message.sessionRecordings.length !== 0) {
79
+ writer.uint32(10).bytes(message.sessionRecordings);
80
+ }
81
+ return writer;
82
+ },
83
+ decode(input, length) {
84
+ const reader = input instanceof minimal_1.default.Reader ? input : minimal_1.default.Reader.create(input);
85
+ let end = length === undefined ? reader.len : reader.pos + length;
86
+ const message = createBaseGetSessionRecordingResponse();
87
+ while (reader.pos < end) {
88
+ const tag = reader.uint32();
89
+ switch (tag >>> 3) {
90
+ case 1:
91
+ if (tag !== 10) {
92
+ break;
93
+ }
94
+ message.sessionRecordings = reader.bytes();
95
+ continue;
96
+ }
97
+ if ((tag & 7) === 4 || tag === 0) {
98
+ break;
99
+ }
100
+ reader.skipType(tag & 7);
101
+ }
102
+ return message;
103
+ },
104
+ fromJSON(object) {
105
+ return {
106
+ sessionRecordings: isSet(object.sessionRecordings) ? bytesFromBase64(object.sessionRecordings) : new Uint8Array(),
107
+ };
108
+ },
109
+ toJSON(message) {
110
+ const obj = {};
111
+ message.sessionRecordings !== undefined &&
112
+ (obj.sessionRecordings = base64FromBytes(message.sessionRecordings !== undefined ? message.sessionRecordings : new Uint8Array()));
113
+ return obj;
114
+ },
115
+ create(base) {
116
+ return exports.GetSessionRecordingResponse.fromPartial(base !== null && base !== void 0 ? base : {});
117
+ },
118
+ fromPartial(object) {
119
+ var _a;
120
+ const message = createBaseGetSessionRecordingResponse();
121
+ message.sessionRecordings = (_a = object.sessionRecordings) !== null && _a !== void 0 ? _a : new Uint8Array();
122
+ return message;
123
+ },
124
+ };
125
+ exports.RumSessionRecordingServiceDefinition = {
126
+ name: "RumSessionRecordingService",
127
+ fullName: "com.coralogix.rum.v2.RumSessionRecordingService",
128
+ methods: {
129
+ getSessionRecording: {
130
+ name: "GetSessionRecording",
131
+ requestType: exports.GetSessionRecordingRequest,
132
+ requestStream: false,
133
+ responseType: exports.GetSessionRecordingResponse,
134
+ responseStream: false,
135
+ options: {},
136
+ },
137
+ },
138
+ };
139
+ var tsProtoGlobalThis = (() => {
140
+ if (typeof globalThis !== "undefined") {
141
+ return globalThis;
142
+ }
143
+ if (typeof self !== "undefined") {
144
+ return self;
145
+ }
146
+ if (typeof window !== "undefined") {
147
+ return window;
148
+ }
149
+ if (typeof global !== "undefined") {
150
+ return global;
151
+ }
152
+ throw "Unable to locate global object";
153
+ })();
154
+ function bytesFromBase64(b64) {
155
+ if (tsProtoGlobalThis.Buffer) {
156
+ return Uint8Array.from(tsProtoGlobalThis.Buffer.from(b64, "base64"));
157
+ }
158
+ else {
159
+ const bin = tsProtoGlobalThis.atob(b64);
160
+ const arr = new Uint8Array(bin.length);
161
+ for (let i = 0; i < bin.length; ++i) {
162
+ arr[i] = bin.charCodeAt(i);
163
+ }
164
+ return arr;
165
+ }
166
+ }
167
+ function base64FromBytes(arr) {
168
+ if (tsProtoGlobalThis.Buffer) {
169
+ return tsProtoGlobalThis.Buffer.from(arr).toString("base64");
170
+ }
171
+ else {
172
+ const bin = [];
173
+ arr.forEach((byte) => {
174
+ bin.push(String.fromCharCode(byte));
175
+ });
176
+ return tsProtoGlobalThis.btoa(bin.join(""));
177
+ }
178
+ }
179
+ function isSet(value) {
180
+ return value !== null && value !== undefined;
181
+ }
182
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVtX3Nlc3Npb25fcmVjb3JkaW5nX3NlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm90by1tb2RlbHMvY29tL2NvcmFsb2dpeC9ydW0vdjIvcnVtX3Nlc3Npb25fcmVjb3JkaW5nX3NlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUEsb0JBQW9CO0FBQ3BCLGlFQUFxQztBQUV4QixRQUFBLGVBQWUsR0FBRyxzQkFBc0IsQ0FBQztBQVd0RCxTQUFTLG9DQUFvQztJQUMzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFFLENBQUM7QUFDNUMsQ0FBQztBQUVZLFFBQUEsMEJBQTBCLEdBQUc7SUFDeEMsTUFBTSxDQUFDLE9BQW1DLEVBQUUsU0FBcUIsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO1FBQ2xGLElBQUksT0FBTyxDQUFDLFNBQVMsS0FBSyxFQUFFLEVBQUU7WUFDNUIsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDO1NBQzdDO1FBQ0QsSUFBSSxPQUFPLENBQUMsV0FBVyxLQUFLLEVBQUUsRUFBRTtZQUM5QixNQUFNLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUM7U0FDL0M7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBRUQsTUFBTSxDQUFDLEtBQThCLEVBQUUsTUFBZTtRQUNwRCxNQUFNLE1BQU0sR0FBRyxLQUFLLFlBQVksaUJBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsaUJBQUcsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlFLElBQUksR0FBRyxHQUFHLE1BQU0sS0FBSyxT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LFFBQVEsQ0FBQyxRQUFRLENBQUMsQ0FBQztLQUM5RDtTQUFNO1FBQ0wsTUFBTSxHQUFHLEdBQWEsRUFBRSxDQUFDO1FBQ3pCLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNuQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUN0QyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8saUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztLQUM3QztBQUNILENBQUM7QUFVRCxTQUFTLEtBQUssQ0FBQyxLQUFVO0lBQ3ZCLE9BQU8sS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUyxDQUFDO0FBQy9DLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSAqL1xuaW1wb3J0IF9tMCBmcm9tIFwicHJvdG9idWZqcy9taW5pbWFsXCI7XG5cbmV4cG9ydCBjb25zdCBwcm90b2J1ZlBhY2thZ2UgPSBcImNvbS5jb3JhbG9naXgucnVtLnYyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgR2V0U2Vzc2lvblJlY29yZGluZ1JlcXVlc3Qge1xuICBzZXNzaW9uSWQ6IHN0cmluZztcbiAgYXBwbGljYXRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBHZXRTZXNzaW9uUmVjb3JkaW5nUmVzcG9uc2Uge1xuICBzZXNzaW9uUmVjb3JkaW5nczogVWludDhBcnJheTtcbn1cblxuZnVuY3Rpb24gY3JlYXRlQmFzZUdldFNlc3Npb25SZWNvcmRpbmdSZXF1ZXN0KCk6IEdldFNlc3Npb25SZWNvcmRpbmdSZXF1ZXN0IHtcbiAgcmV0dXJuIHsgc2Vzc2lvbklkOiBcIlwiLCBhcHBsaWNhdGlvbjogXCJcIiB9O1xufVxuXG5leHBvcnQgY29uc3QgR2V0U2Vzc2lvblJlY29yZGluZ1JlcXVlc3QgPSB7XG4gIGVuY29kZShtZXNzYWdlOiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVxdWVzdCwgd3JpdGVyOiBfbTAuV3JpdGVyID0gX20wLldyaXRlci5jcmVhdGUoKSk6IF9tMC5Xcml0ZXIge1xuICAgIGlmIChtZXNzYWdlLnNlc3Npb25JZCAhPT0gXCJcIikge1xuICAgICAgd3JpdGVyLnVpbnQzMigxMCkuc3RyaW5nKG1lc3NhZ2Uuc2Vzc2lvbklkKTtcbiAgICB9XG4gICAgaWYgKG1lc3NhZ2UuYXBwbGljYXRpb24gIT09IFwiXCIpIHtcbiAgICAgIHdyaXRlci51aW50MzIoMTgpLnN0cmluZyhtZXNzYWdlLmFwcGxpY2F0aW9uKTtcbiAgICB9XG4gICAgcmV0dXJuIHdyaXRlcjtcbiAgfSxcblxuICBkZWNvZGUoaW5wdXQ6IF9tMC5SZWFkZXIgfCBVaW50OEFycmF5LCBsZW5ndGg/OiBudW1iZXIpOiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVxdWVzdCB7XG4gICAgY29uc3QgcmVhZGVyID0gaW5wdXQgaW5zdGFuY2VvZiBfbTAuUmVhZGVyID8gaW5wdXQgOiBfbTAuUmVhZGVyLmNyZWF0ZShpbnB1dCk7XG4gICAgbGV0IGVuZCA9IGxlbmd0aCA9PT0gdW5kZWZpbmVkID8gcmVhZGVyLmxlbiA6IHJlYWRlci5wb3MgKyBsZW5ndGg7XG4gICAgY29uc3QgbWVzc2FnZSA9IGNyZWF0ZUJhc2VHZXRTZXNzaW9uUmVjb3JkaW5nUmVxdWVzdCgpO1xuICAgIHdoaWxlIChyZWFkZXIucG9zIDwgZW5kKSB7XG4gICAgICBjb25zdCB0YWcgPSByZWFkZXIudWludDMyKCk7XG4gICAgICBzd2l0Y2ggKHRhZyA+Pj4gMykge1xuICAgICAgICBjYXNlIDE6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMTApIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2Uuc2Vzc2lvbklkID0gcmVhZGVyLnN0cmluZygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICBjYXNlIDI6XG4gICAgICAgICAgaWYgKHRhZyAhPT0gMTgpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIG1lc3NhZ2UuYXBwbGljYXRpb24gPSByZWFkZXIuc3RyaW5nKCk7XG4gICAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgICBpZiAoKHRhZyAmIDcpID09PSA0IHx8IHRhZyA9PT0gMCkge1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICAgIHJlYWRlci5za2lwVHlwZSh0YWcgJiA3KTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2U7XG4gIH0sXG5cbiAgZnJvbUpTT04ob2JqZWN0OiBhbnkpOiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVxdWVzdCB7XG4gICAgcmV0dXJuIHtcbiAgICAgIHNlc3Npb25JZDogaXNTZXQob2JqZWN0LnNlc3Npb25JZCkgPyBTdHJpbmcob2JqZWN0LnNlc3Npb25JZCkgOiBcIlwiLFxuICAgICAgYXBwbGljYXRpb246IGlzU2V0KG9iamVjdC5hcHBsaWNhdGlvbikgPyBTdHJpbmcob2JqZWN0LmFwcGxpY2F0aW9uKSA6IFwiXCIsXG4gICAgfTtcbiAgfSxcblxuICB0b0pTT04obWVzc2FnZTogR2V0U2Vzc2lvblJlY29yZGluZ1JlcXVlc3QpOiB1bmtub3duIHtcbiAgICBjb25zdCBvYmo6IGFueSA9IHt9O1xuICAgIG1lc3NhZ2Uuc2Vzc2lvbklkICE9PSB1bmRlZmluZWQgJiYgKG9iai5zZXNzaW9uSWQgPSBtZXNzYWdlLnNlc3Npb25JZCk7XG4gICAgbWVzc2FnZS5hcHBsaWNhdGlvbiAhPT0gdW5kZWZpbmVkICYmIChvYmouYXBwbGljYXRpb24gPSBtZXNzYWdlLmFwcGxpY2F0aW9uKTtcbiAgICByZXR1cm4gb2JqO1xuICB9LFxuXG4gIGNyZWF0ZShiYXNlPzogRGVlcFBhcnRpYWw8R2V0U2Vzc2lvblJlY29yZGluZ1JlcXVlc3Q+KTogR2V0U2Vzc2lvblJlY29yZGluZ1JlcXVlc3Qge1xuICAgIHJldHVybiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVxdWVzdC5mcm9tUGFydGlhbChiYXNlID8/IHt9KTtcbiAgfSxcblxuICBmcm9tUGFydGlhbChvYmplY3Q6IERlZXBQYXJ0aWFsPEdldFNlc3Npb25SZWNvcmRpbmdSZXF1ZXN0Pik6IEdldFNlc3Npb25SZWNvcmRpbmdSZXF1ZXN0IHtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZUdldFNlc3Npb25SZWNvcmRpbmdSZXF1ZXN0KCk7XG4gICAgbWVzc2FnZS5zZXNzaW9uSWQgPSBvYmplY3Quc2Vzc2lvbklkID8/IFwiXCI7XG4gICAgbWVzc2FnZS5hcHBsaWNhdGlvbiA9IG9iamVjdC5hcHBsaWNhdGlvbiA/PyBcIlwiO1xuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxufTtcblxuZnVuY3Rpb24gY3JlYXRlQmFzZUdldFNlc3Npb25SZWNvcmRpbmdSZXNwb25zZSgpOiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVzcG9uc2Uge1xuICByZXR1cm4geyBzZXNzaW9uUmVjb3JkaW5nczogbmV3IFVpbnQ4QXJyYXkoKSB9O1xufVxuXG5leHBvcnQgY29uc3QgR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlID0ge1xuICBlbmNvZGUobWVzc2FnZTogR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlLCB3cml0ZXI6IF9tMC5Xcml0ZXIgPSBfbTAuV3JpdGVyLmNyZWF0ZSgpKTogX20wLldyaXRlciB7XG4gICAgaWYgKG1lc3NhZ2Uuc2Vzc2lvblJlY29yZGluZ3MubGVuZ3RoICE9PSAwKSB7XG4gICAgICB3cml0ZXIudWludDMyKDEwKS5ieXRlcyhtZXNzYWdlLnNlc3Npb25SZWNvcmRpbmdzKTtcbiAgICB9XG4gICAgcmV0dXJuIHdyaXRlcjtcbiAgfSxcblxuICBkZWNvZGUoaW5wdXQ6IF9tMC5SZWFkZXIgfCBVaW50OEFycmF5LCBsZW5ndGg/OiBudW1iZXIpOiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVzcG9uc2Uge1xuICAgIGNvbnN0IHJlYWRlciA9IGlucHV0IGluc3RhbmNlb2YgX20wLlJlYWRlciA/IGlucHV0IDogX20wLlJlYWRlci5jcmVhdGUoaW5wdXQpO1xuICAgIGxldCBlbmQgPSBsZW5ndGggPT09IHVuZGVmaW5lZCA/IHJlYWRlci5sZW4gOiByZWFkZXIucG9zICsgbGVuZ3RoO1xuICAgIGNvbnN0IG1lc3NhZ2UgPSBjcmVhdGVCYXNlR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlKCk7XG4gICAgd2hpbGUgKHJlYWRlci5wb3MgPCBlbmQpIHtcbiAgICAgIGNvbnN0IHRhZyA9IHJlYWRlci51aW50MzIoKTtcbiAgICAgIHN3aXRjaCAodGFnID4+PiAzKSB7XG4gICAgICAgIGNhc2UgMTpcbiAgICAgICAgICBpZiAodGFnICE9PSAxMCkge1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbWVzc2FnZS5zZXNzaW9uUmVjb3JkaW5ncyA9IHJlYWRlci5ieXRlcygpO1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuICAgICAgaWYgKCh0YWcgJiA3KSA9PT0gNCB8fCB0YWcgPT09IDApIHtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgICByZWFkZXIuc2tpcFR5cGUodGFnICYgNyk7XG4gICAgfVxuICAgIHJldHVybiBtZXNzYWdlO1xuICB9LFxuXG4gIGZyb21KU09OKG9iamVjdDogYW55KTogR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlIHtcbiAgICByZXR1cm4ge1xuICAgICAgc2Vzc2lvblJlY29yZGluZ3M6IGlzU2V0KG9iamVjdC5zZXNzaW9uUmVjb3JkaW5ncykgPyBieXRlc0Zyb21CYXNlNjQob2JqZWN0LnNlc3Npb25SZWNvcmRpbmdzKSA6IG5ldyBVaW50OEFycmF5KCksXG4gICAgfTtcbiAgfSxcblxuICB0b0pTT04obWVzc2FnZTogR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlKTogdW5rbm93biB7XG4gICAgY29uc3Qgb2JqOiBhbnkgPSB7fTtcbiAgICBtZXNzYWdlLnNlc3Npb25SZWNvcmRpbmdzICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIChvYmouc2Vzc2lvblJlY29yZGluZ3MgPSBiYXNlNjRGcm9tQnl0ZXMoXG4gICAgICAgIG1lc3NhZ2Uuc2Vzc2lvblJlY29yZGluZ3MgIT09IHVuZGVmaW5lZCA/IG1lc3NhZ2Uuc2Vzc2lvblJlY29yZGluZ3MgOiBuZXcgVWludDhBcnJheSgpLFxuICAgICAgKSk7XG4gICAgcmV0dXJuIG9iajtcbiAgfSxcblxuICBjcmVhdGUoYmFzZT86IERlZXBQYXJ0aWFsPEdldFNlc3Npb25SZWNvcmRpbmdSZXNwb25zZT4pOiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVzcG9uc2Uge1xuICAgIHJldHVybiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVzcG9uc2UuZnJvbVBhcnRpYWwoYmFzZSA/PyB7fSk7XG4gIH0sXG5cbiAgZnJvbVBhcnRpYWwob2JqZWN0OiBEZWVwUGFydGlhbDxHZXRTZXNzaW9uUmVjb3JkaW5nUmVzcG9uc2U+KTogR2V0U2Vzc2lvblJlY29yZGluZ1Jlc3BvbnNlIHtcbiAgICBjb25zdCBtZXNzYWdlID0gY3JlYXRlQmFzZUdldFNlc3Npb25SZWNvcmRpbmdSZXNwb25zZSgpO1xuICAgIG1lc3NhZ2Uuc2Vzc2lvblJlY29yZGluZ3MgPSBvYmplY3Quc2Vzc2lvblJlY29yZGluZ3MgPz8gbmV3IFVpbnQ4QXJyYXkoKTtcbiAgICByZXR1cm4gbWVzc2FnZTtcbiAgfSxcbn07XG5cbmV4cG9ydCB0eXBlIFJ1bVNlc3Npb25SZWNvcmRpbmdTZXJ2aWNlRGVmaW5pdGlvbiA9IHR5cGVvZiBSdW1TZXNzaW9uUmVjb3JkaW5nU2VydmljZURlZmluaXRpb247XG5leHBvcnQgY29uc3QgUnVtU2Vzc2lvblJlY29yZGluZ1NlcnZpY2VEZWZpbml0aW9uID0ge1xuICBuYW1lOiBcIlJ1bVNlc3Npb25SZWNvcmRpbmdTZXJ2aWNlXCIsXG4gIGZ1bGxOYW1lOiBcImNvbS5jb3JhbG9naXgucnVtLnYyLlJ1bVNlc3Npb25SZWNvcmRpbmdTZXJ2aWNlXCIsXG4gIG1ldGhvZHM6IHtcbiAgICBnZXRTZXNzaW9uUmVjb3JkaW5nOiB7XG4gICAgICBuYW1lOiBcIkdldFNlc3Npb25SZWNvcmRpbmdcIixcbiAgICAgIHJlcXVlc3RUeXBlOiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVxdWVzdCxcbiAgICAgIHJlcXVlc3RTdHJlYW06IGZhbHNlLFxuICAgICAgcmVzcG9uc2VUeXBlOiBHZXRTZXNzaW9uUmVjb3JkaW5nUmVzcG9uc2UsXG4gICAgICByZXNwb25zZVN0cmVhbTogZmFsc2UsXG4gICAgICBvcHRpb25zOiB7fSxcbiAgICB9LFxuICB9LFxufSBhcyBjb25zdDtcblxuZGVjbGFyZSB2YXIgc2VsZjogYW55IHwgdW5kZWZpbmVkO1xuZGVjbGFyZSB2YXIgd2luZG93OiBhbnkgfCB1bmRlZmluZWQ7XG5kZWNsYXJlIHZhciBnbG9iYWw6IGFueSB8IHVuZGVmaW5lZDtcbnZhciB0c1Byb3RvR2xvYmFsVGhpczogYW55ID0gKCgpID0+IHtcbiAgaWYgKHR5cGVvZiBnbG9iYWxUaGlzICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgcmV0dXJuIGdsb2JhbFRoaXM7XG4gIH1cbiAgaWYgKHR5cGVvZiBzZWxmICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgcmV0dXJuIHNlbGY7XG4gIH1cbiAgaWYgKHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICByZXR1cm4gd2luZG93O1xuICB9XG4gIGlmICh0eXBlb2YgZ2xvYmFsICE9PSBcInVuZGVmaW5lZFwiKSB7XG4gICAgcmV0dXJuIGdsb2JhbDtcbiAgfVxuICB0aHJvdyBcIlVuYWJsZSB0byBsb2NhdGUgZ2xvYmFsIG9iamVjdFwiO1xufSkoKTtcblxuZnVuY3Rpb24gYnl0ZXNGcm9tQmFzZTY0KGI2NDogc3RyaW5nKTogVWludDhBcnJheSB7XG4gIGlmICh0c1Byb3RvR2xvYmFsVGhpcy5CdWZmZXIpIHtcbiAgICByZXR1cm4gVWludDhBcnJheS5mcm9tKHRzUHJvdG9HbG9iYWxUaGlzLkJ1ZmZlci5mcm9tKGI2NCwgXCJiYXNlNjRcIikpO1xuICB9IGVsc2Uge1xuICAgIGNvbnN0IGJpbiA9IHRzUHJvdG9HbG9iYWxUaGlzLmF0b2IoYjY0KTtcbiAgICBjb25zdCBhcnIgPSBuZXcgVWludDhBcnJheShiaW4ubGVuZ3RoKTtcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IGJpbi5sZW5ndGg7ICsraSkge1xuICAgICAgYXJyW2ldID0gYmluLmNoYXJDb2RlQXQoaSk7XG4gICAgfVxuICAgIHJldHVybiBhcnI7XG4gIH1cbn1cblxuZnVuY3Rpb24gYmFzZTY0RnJvbUJ5dGVzKGFycjogVWludDhBcnJheSk6IHN0cmluZyB7XG4gIGlmICh0c1Byb3RvR2xvYmFsVGhpcy5CdWZmZXIpIHtcbiAgICByZXR1cm4gdHNQcm90b0dsb2JhbFRoaXMuQnVmZmVyLmZyb20oYXJyKS50b1N0cmluZyhcImJhc2U2NFwiKTtcbiAgfSBlbHNlIHtcbiAgICBjb25zdCBiaW46IHN0cmluZ1tdID0gW107XG4gICAgYXJyLmZvckVhY2goKGJ5dGUpID0+IHtcbiAgICAgIGJpbi5wdXNoKFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZSkpO1xuICAgIH0pO1xuICAgIHJldHVybiB0c1Byb3RvR2xvYmFsVGhpcy5idG9hKGJpbi5qb2luKFwiXCIpKTtcbiAgfVxufVxuXG50eXBlIEJ1aWx0aW4gPSBEYXRlIHwgRnVuY3Rpb24gfCBVaW50OEFycmF5IHwgc3RyaW5nIHwgbnVtYmVyIHwgYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuZXhwb3J0IHR5cGUgRGVlcFBhcnRpYWw8VD4gPSBUIGV4dGVuZHMgQnVpbHRpbiA/IFRcbiAgOiBUIGV4dGVuZHMgQXJyYXk8aW5mZXIgVT4gPyBBcnJheTxEZWVwUGFydGlhbDxVPj4gOiBUIGV4dGVuZHMgUmVhZG9ubHlBcnJheTxpbmZlciBVPiA/IFJlYWRvbmx5QXJyYXk8RGVlcFBhcnRpYWw8VT4+XG4gIDogVCBleHRlbmRzIHsgJGNhc2U6IHN0cmluZyB9ID8geyBbSyBpbiBrZXlvZiBPbWl0PFQsIFwiJGNhc2VcIj5dPzogRGVlcFBhcnRpYWw8VFtLXT4gfSAmIHsgJGNhc2U6IFRbXCIkY2FzZVwiXSB9XG4gIDogVCBleHRlbmRzIHt9ID8geyBbSyBpbiBrZXlvZiBUXT86IERlZXBQYXJ0aWFsPFRbS10+IH1cbiAgOiBQYXJ0aWFsPFQ+O1xuXG5mdW5jdGlvbiBpc1NldCh2YWx1ZTogYW55KTogYm9vbGVhbiB7XG4gIHJldHVybiB2YWx1ZSAhPT0gbnVsbCAmJiB2YWx1ZSAhPT0gdW5kZWZpbmVkO1xufVxuIl19
@@ -9,8 +9,24 @@ export interface UploadSourceMapsRequest {
9
9
  user?: string | undefined;
10
10
  files: FileMetadata[];
11
11
  }
12
+ export interface UpdateSourceMapRequest {
13
+ application: string;
14
+ releaseId: string;
15
+ commitHash?: string | undefined;
16
+ repoName?: string | undefined;
17
+ user?: string | undefined;
18
+ files: FileMetadata[];
19
+ }
20
+ export interface DeleteSourceMapRequest {
21
+ application: string;
22
+ releaseId: string;
23
+ }
12
24
  export interface UploadSourceMapsResponse {
13
25
  }
26
+ export interface UpdateSourceMapResponse {
27
+ }
28
+ export interface DeleteSourceMapResponse {
29
+ }
14
30
  export declare const UploadSourceMapsRequest: {
15
31
  encode(message: UploadSourceMapsRequest, writer?: _m0.Writer): _m0.Writer;
16
32
  decode(input: _m0.Reader | Uint8Array, length?: number): UploadSourceMapsRequest;
@@ -19,6 +35,22 @@ export declare const UploadSourceMapsRequest: {
19
35
  create(base?: DeepPartial<UploadSourceMapsRequest>): UploadSourceMapsRequest;
20
36
  fromPartial(object: DeepPartial<UploadSourceMapsRequest>): UploadSourceMapsRequest;
21
37
  };
38
+ export declare const UpdateSourceMapRequest: {
39
+ encode(message: UpdateSourceMapRequest, writer?: _m0.Writer): _m0.Writer;
40
+ decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSourceMapRequest;
41
+ fromJSON(object: any): UpdateSourceMapRequest;
42
+ toJSON(message: UpdateSourceMapRequest): unknown;
43
+ create(base?: DeepPartial<UpdateSourceMapRequest>): UpdateSourceMapRequest;
44
+ fromPartial(object: DeepPartial<UpdateSourceMapRequest>): UpdateSourceMapRequest;
45
+ };
46
+ export declare const DeleteSourceMapRequest: {
47
+ encode(message: DeleteSourceMapRequest, writer?: _m0.Writer): _m0.Writer;
48
+ decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSourceMapRequest;
49
+ fromJSON(object: any): DeleteSourceMapRequest;
50
+ toJSON(message: DeleteSourceMapRequest): unknown;
51
+ create(base?: DeepPartial<DeleteSourceMapRequest>): DeleteSourceMapRequest;
52
+ fromPartial(object: DeepPartial<DeleteSourceMapRequest>): DeleteSourceMapRequest;
53
+ };
22
54
  export declare const UploadSourceMapsResponse: {
23
55
  encode(_: UploadSourceMapsResponse, writer?: _m0.Writer): _m0.Writer;
24
56
  decode(input: _m0.Reader | Uint8Array, length?: number): UploadSourceMapsResponse;
@@ -27,6 +59,22 @@ export declare const UploadSourceMapsResponse: {
27
59
  create(base?: DeepPartial<UploadSourceMapsResponse>): UploadSourceMapsResponse;
28
60
  fromPartial(_: DeepPartial<UploadSourceMapsResponse>): UploadSourceMapsResponse;
29
61
  };
62
+ export declare const UpdateSourceMapResponse: {
63
+ encode(_: UpdateSourceMapResponse, writer?: _m0.Writer): _m0.Writer;
64
+ decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSourceMapResponse;
65
+ fromJSON(_: any): UpdateSourceMapResponse;
66
+ toJSON(_: UpdateSourceMapResponse): unknown;
67
+ create(base?: DeepPartial<UpdateSourceMapResponse>): UpdateSourceMapResponse;
68
+ fromPartial(_: DeepPartial<UpdateSourceMapResponse>): UpdateSourceMapResponse;
69
+ };
70
+ export declare const DeleteSourceMapResponse: {
71
+ encode(_: DeleteSourceMapResponse, writer?: _m0.Writer): _m0.Writer;
72
+ decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSourceMapResponse;
73
+ fromJSON(_: any): DeleteSourceMapResponse;
74
+ toJSON(_: DeleteSourceMapResponse): unknown;
75
+ create(base?: DeepPartial<DeleteSourceMapResponse>): DeleteSourceMapResponse;
76
+ fromPartial(_: DeepPartial<DeleteSourceMapResponse>): DeleteSourceMapResponse;
77
+ };
30
78
  export type RumSourceMapServiceDefinition = typeof RumSourceMapServiceDefinition;
31
79
  export declare const RumSourceMapServiceDefinition: {
32
80
  readonly name: "RumSourceMapService";
@@ -54,6 +102,50 @@ export declare const RumSourceMapServiceDefinition: {
54
102
  readonly responseStream: false;
55
103
  readonly options: {};
56
104
  };
105
+ readonly updateSourceMap: {
106
+ readonly name: "UpdateSourceMap";
107
+ readonly requestType: {
108
+ encode(message: UpdateSourceMapRequest, writer?: _m0.Writer): _m0.Writer;
109
+ decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSourceMapRequest;
110
+ fromJSON(object: any): UpdateSourceMapRequest;
111
+ toJSON(message: UpdateSourceMapRequest): unknown;
112
+ create(base?: DeepPartial<UpdateSourceMapRequest>): UpdateSourceMapRequest;
113
+ fromPartial(object: DeepPartial<UpdateSourceMapRequest>): UpdateSourceMapRequest;
114
+ };
115
+ readonly requestStream: false;
116
+ readonly responseType: {
117
+ encode(_: UpdateSourceMapResponse, writer?: _m0.Writer): _m0.Writer;
118
+ decode(input: _m0.Reader | Uint8Array, length?: number): UpdateSourceMapResponse;
119
+ fromJSON(_: any): UpdateSourceMapResponse;
120
+ toJSON(_: UpdateSourceMapResponse): unknown;
121
+ create(base?: DeepPartial<UpdateSourceMapResponse>): UpdateSourceMapResponse;
122
+ fromPartial(_: DeepPartial<UpdateSourceMapResponse>): UpdateSourceMapResponse;
123
+ };
124
+ readonly responseStream: false;
125
+ readonly options: {};
126
+ };
127
+ readonly deleteSourceMap: {
128
+ readonly name: "DeleteSourceMap";
129
+ readonly requestType: {
130
+ encode(message: DeleteSourceMapRequest, writer?: _m0.Writer): _m0.Writer;
131
+ decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSourceMapRequest;
132
+ fromJSON(object: any): DeleteSourceMapRequest;
133
+ toJSON(message: DeleteSourceMapRequest): unknown;
134
+ create(base?: DeepPartial<DeleteSourceMapRequest>): DeleteSourceMapRequest;
135
+ fromPartial(object: DeepPartial<DeleteSourceMapRequest>): DeleteSourceMapRequest;
136
+ };
137
+ readonly requestStream: false;
138
+ readonly responseType: {
139
+ encode(_: DeleteSourceMapResponse, writer?: _m0.Writer): _m0.Writer;
140
+ decode(input: _m0.Reader | Uint8Array, length?: number): DeleteSourceMapResponse;
141
+ fromJSON(_: any): DeleteSourceMapResponse;
142
+ toJSON(_: DeleteSourceMapResponse): unknown;
143
+ create(base?: DeepPartial<DeleteSourceMapResponse>): DeleteSourceMapResponse;
144
+ fromPartial(_: DeepPartial<DeleteSourceMapResponse>): DeleteSourceMapResponse;
145
+ };
146
+ readonly responseStream: false;
147
+ readonly options: {};
148
+ };
57
149
  };
58
150
  };
59
151
  type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;