@remnawave/xtls-sdk 0.1.0 → 0.1.2

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 (44) hide show
  1. package/LICENCE +661 -0
  2. package/build/index.d.ts +2 -0
  3. package/build/index.d.ts.map +1 -1
  4. package/build/index.js +2 -0
  5. package/build/src/common/errors/router/index.d.ts +2 -0
  6. package/build/src/common/errors/router/index.d.ts.map +1 -0
  7. package/build/src/common/errors/router/index.js +17 -0
  8. package/build/src/common/errors/router/router.errors.d.ts +15 -0
  9. package/build/src/common/errors/router/router.errors.d.ts.map +1 -0
  10. package/build/src/common/errors/router/router.errors.js +14 -0
  11. package/build/src/router/interfaces/add-source-ip-rule.interface.d.ts +8 -0
  12. package/build/src/router/interfaces/add-source-ip-rule.interface.d.ts.map +1 -0
  13. package/build/src/router/interfaces/add-source-ip-rule.interface.js +2 -0
  14. package/build/src/router/interfaces/index.d.ts +3 -0
  15. package/build/src/router/interfaces/index.d.ts.map +1 -0
  16. package/build/src/router/interfaces/index.js +18 -0
  17. package/build/src/router/interfaces/remove-rule-by-rule-tag.interface.d.ts +4 -0
  18. package/build/src/router/interfaces/remove-rule-by-rule-tag.interface.d.ts.map +1 -0
  19. package/build/src/router/interfaces/remove-rule-by-rule-tag.interface.js +2 -0
  20. package/build/src/router/models/add-source-ip-rule/add-source-ip-rule.response.model.d.ts +5 -0
  21. package/build/src/router/models/add-source-ip-rule/add-source-ip-rule.response.model.d.ts.map +1 -0
  22. package/build/src/router/models/add-source-ip-rule/add-source-ip-rule.response.model.js +9 -0
  23. package/build/src/router/models/add-source-ip-rule/index.d.ts +2 -0
  24. package/build/src/router/models/add-source-ip-rule/index.d.ts.map +1 -0
  25. package/build/src/router/models/add-source-ip-rule/index.js +17 -0
  26. package/build/src/router/models/index.d.ts +2 -0
  27. package/build/src/router/models/index.d.ts.map +1 -0
  28. package/build/src/router/models/index.js +17 -0
  29. package/build/src/router/models/remove-rule-by-rule-tag/index.d.ts +2 -0
  30. package/build/src/router/models/remove-rule-by-rule-tag/index.d.ts.map +1 -0
  31. package/build/src/router/models/remove-rule-by-rule-tag/index.js +17 -0
  32. package/build/src/router/models/remove-rule-by-rule-tag/remove-rule-by-rule-tag.response.model.d.ts +5 -0
  33. package/build/src/router/models/remove-rule-by-rule-tag/remove-rule-by-rule-tag.response.model.d.ts.map +1 -0
  34. package/build/src/router/models/remove-rule-by-rule-tag/remove-rule-by-rule-tag.response.model.js +9 -0
  35. package/build/src/router/router.service.d.ts +37 -0
  36. package/build/src/router/router.service.d.ts.map +1 -0
  37. package/build/src/router/router.service.js +96 -0
  38. package/build/src/xray-protos/app/router/command/command.d.ts +222 -0
  39. package/build/src/xray-protos/app/router/command/command.d.ts.map +1 -0
  40. package/build/src/xray-protos/app/router/command/command.js +1235 -0
  41. package/build/src/xray-protos/app/router/config.d.ts +176 -0
  42. package/build/src/xray-protos/app/router/config.d.ts.map +1 -0
  43. package/build/src/xray-protos/app/router/config.js +1484 -0
  44. package/package.json +4 -6
@@ -0,0 +1,1235 @@
1
+ "use strict";
2
+ // Code generated by protoc-gen-ts_proto. DO NOT EDIT.
3
+ // versions:
4
+ // protoc-gen-ts_proto v2.2.7
5
+ // protoc v5.28.3
6
+ // source: app/router/command/command.proto
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.RoutingServiceDefinition = exports.Config = exports.RemoveRuleResponse = exports.RemoveRuleRequest = exports.AddRuleResponse = exports.AddRuleRequest = exports.OverrideBalancerTargetResponse = exports.OverrideBalancerTargetRequest = exports.GetBalancerInfoResponse = exports.GetBalancerInfoRequest = exports.BalancerMsg = exports.OverrideInfo = exports.PrincipleTargetInfo = exports.TestRouteRequest = exports.SubscribeRoutingStatsRequest = exports.RoutingContext_AttributesEntry = exports.RoutingContext = exports.protobufPackage = void 0;
9
+ /* eslint-disable */
10
+ const wire_1 = require("@bufbuild/protobuf/wire");
11
+ const network_1 = require("../../../common/net/network");
12
+ const typed_message_1 = require("../../../common/serial/typed_message");
13
+ const typeRegistry_1 = require("../../../typeRegistry");
14
+ exports.protobufPackage = "xray.app.router.command";
15
+ function createBaseRoutingContext() {
16
+ return {
17
+ $type: "xray.app.router.command.RoutingContext",
18
+ InboundTag: "",
19
+ Network: 0,
20
+ SourceIPs: [],
21
+ TargetIPs: [],
22
+ SourcePort: 0,
23
+ TargetPort: 0,
24
+ TargetDomain: "",
25
+ Protocol: "",
26
+ User: "",
27
+ Attributes: {},
28
+ OutboundGroupTags: [],
29
+ OutboundTag: "",
30
+ };
31
+ }
32
+ exports.RoutingContext = {
33
+ $type: "xray.app.router.command.RoutingContext",
34
+ encode(message, writer = new wire_1.BinaryWriter()) {
35
+ if (message.InboundTag !== "") {
36
+ writer.uint32(10).string(message.InboundTag);
37
+ }
38
+ if (message.Network !== 0) {
39
+ writer.uint32(16).int32(message.Network);
40
+ }
41
+ for (const v of message.SourceIPs) {
42
+ writer.uint32(26).bytes(v);
43
+ }
44
+ for (const v of message.TargetIPs) {
45
+ writer.uint32(34).bytes(v);
46
+ }
47
+ if (message.SourcePort !== 0) {
48
+ writer.uint32(40).uint32(message.SourcePort);
49
+ }
50
+ if (message.TargetPort !== 0) {
51
+ writer.uint32(48).uint32(message.TargetPort);
52
+ }
53
+ if (message.TargetDomain !== "") {
54
+ writer.uint32(58).string(message.TargetDomain);
55
+ }
56
+ if (message.Protocol !== "") {
57
+ writer.uint32(66).string(message.Protocol);
58
+ }
59
+ if (message.User !== "") {
60
+ writer.uint32(74).string(message.User);
61
+ }
62
+ Object.entries(message.Attributes).forEach(([key, value]) => {
63
+ exports.RoutingContext_AttributesEntry.encode({
64
+ $type: "xray.app.router.command.RoutingContext.AttributesEntry",
65
+ key: key,
66
+ value,
67
+ }, writer.uint32(82).fork()).join();
68
+ });
69
+ for (const v of message.OutboundGroupTags) {
70
+ writer.uint32(90).string(v);
71
+ }
72
+ if (message.OutboundTag !== "") {
73
+ writer.uint32(98).string(message.OutboundTag);
74
+ }
75
+ return writer;
76
+ },
77
+ decode(input, length) {
78
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
79
+ let end = length === undefined ? reader.len : reader.pos + length;
80
+ const message = createBaseRoutingContext();
81
+ while (reader.pos < end) {
82
+ const tag = reader.uint32();
83
+ switch (tag >>> 3) {
84
+ case 1: {
85
+ if (tag !== 10) {
86
+ break;
87
+ }
88
+ message.InboundTag = reader.string();
89
+ continue;
90
+ }
91
+ case 2: {
92
+ if (tag !== 16) {
93
+ break;
94
+ }
95
+ message.Network = reader.int32();
96
+ continue;
97
+ }
98
+ case 3: {
99
+ if (tag !== 26) {
100
+ break;
101
+ }
102
+ message.SourceIPs.push(reader.bytes());
103
+ continue;
104
+ }
105
+ case 4: {
106
+ if (tag !== 34) {
107
+ break;
108
+ }
109
+ message.TargetIPs.push(reader.bytes());
110
+ continue;
111
+ }
112
+ case 5: {
113
+ if (tag !== 40) {
114
+ break;
115
+ }
116
+ message.SourcePort = reader.uint32();
117
+ continue;
118
+ }
119
+ case 6: {
120
+ if (tag !== 48) {
121
+ break;
122
+ }
123
+ message.TargetPort = reader.uint32();
124
+ continue;
125
+ }
126
+ case 7: {
127
+ if (tag !== 58) {
128
+ break;
129
+ }
130
+ message.TargetDomain = reader.string();
131
+ continue;
132
+ }
133
+ case 8: {
134
+ if (tag !== 66) {
135
+ break;
136
+ }
137
+ message.Protocol = reader.string();
138
+ continue;
139
+ }
140
+ case 9: {
141
+ if (tag !== 74) {
142
+ break;
143
+ }
144
+ message.User = reader.string();
145
+ continue;
146
+ }
147
+ case 10: {
148
+ if (tag !== 82) {
149
+ break;
150
+ }
151
+ const entry10 = exports.RoutingContext_AttributesEntry.decode(reader, reader.uint32());
152
+ if (entry10.value !== undefined) {
153
+ message.Attributes[entry10.key] = entry10.value;
154
+ }
155
+ continue;
156
+ }
157
+ case 11: {
158
+ if (tag !== 90) {
159
+ break;
160
+ }
161
+ message.OutboundGroupTags.push(reader.string());
162
+ continue;
163
+ }
164
+ case 12: {
165
+ if (tag !== 98) {
166
+ break;
167
+ }
168
+ message.OutboundTag = reader.string();
169
+ continue;
170
+ }
171
+ }
172
+ if ((tag & 7) === 4 || tag === 0) {
173
+ break;
174
+ }
175
+ reader.skip(tag & 7);
176
+ }
177
+ return message;
178
+ },
179
+ fromJSON(object) {
180
+ return {
181
+ $type: exports.RoutingContext.$type,
182
+ InboundTag: isSet(object.InboundTag) ? globalThis.String(object.InboundTag) : "",
183
+ Network: isSet(object.Network) ? (0, network_1.networkFromJSON)(object.Network) : 0,
184
+ SourceIPs: globalThis.Array.isArray(object?.SourceIPs)
185
+ ? object.SourceIPs.map((e) => bytesFromBase64(e))
186
+ : [],
187
+ TargetIPs: globalThis.Array.isArray(object?.TargetIPs)
188
+ ? object.TargetIPs.map((e) => bytesFromBase64(e))
189
+ : [],
190
+ SourcePort: isSet(object.SourcePort) ? globalThis.Number(object.SourcePort) : 0,
191
+ TargetPort: isSet(object.TargetPort) ? globalThis.Number(object.TargetPort) : 0,
192
+ TargetDomain: isSet(object.TargetDomain) ? globalThis.String(object.TargetDomain) : "",
193
+ Protocol: isSet(object.Protocol) ? globalThis.String(object.Protocol) : "",
194
+ User: isSet(object.User) ? globalThis.String(object.User) : "",
195
+ Attributes: isObject(object.Attributes)
196
+ ? Object.entries(object.Attributes).reduce((acc, [key, value]) => {
197
+ acc[key] = String(value);
198
+ return acc;
199
+ }, {})
200
+ : {},
201
+ OutboundGroupTags: globalThis.Array.isArray(object?.OutboundGroupTags)
202
+ ? object.OutboundGroupTags.map((e) => globalThis.String(e))
203
+ : [],
204
+ OutboundTag: isSet(object.OutboundTag) ? globalThis.String(object.OutboundTag) : "",
205
+ };
206
+ },
207
+ toJSON(message) {
208
+ const obj = {};
209
+ if (message.InboundTag !== "") {
210
+ obj.InboundTag = message.InboundTag;
211
+ }
212
+ if (message.Network !== 0) {
213
+ obj.Network = (0, network_1.networkToJSON)(message.Network);
214
+ }
215
+ if (message.SourceIPs?.length) {
216
+ obj.SourceIPs = message.SourceIPs.map((e) => base64FromBytes(e));
217
+ }
218
+ if (message.TargetIPs?.length) {
219
+ obj.TargetIPs = message.TargetIPs.map((e) => base64FromBytes(e));
220
+ }
221
+ if (message.SourcePort !== 0) {
222
+ obj.SourcePort = Math.round(message.SourcePort);
223
+ }
224
+ if (message.TargetPort !== 0) {
225
+ obj.TargetPort = Math.round(message.TargetPort);
226
+ }
227
+ if (message.TargetDomain !== "") {
228
+ obj.TargetDomain = message.TargetDomain;
229
+ }
230
+ if (message.Protocol !== "") {
231
+ obj.Protocol = message.Protocol;
232
+ }
233
+ if (message.User !== "") {
234
+ obj.User = message.User;
235
+ }
236
+ if (message.Attributes) {
237
+ const entries = Object.entries(message.Attributes);
238
+ if (entries.length > 0) {
239
+ obj.Attributes = {};
240
+ entries.forEach(([k, v]) => {
241
+ obj.Attributes[k] = v;
242
+ });
243
+ }
244
+ }
245
+ if (message.OutboundGroupTags?.length) {
246
+ obj.OutboundGroupTags = message.OutboundGroupTags;
247
+ }
248
+ if (message.OutboundTag !== "") {
249
+ obj.OutboundTag = message.OutboundTag;
250
+ }
251
+ return obj;
252
+ },
253
+ create(base) {
254
+ return exports.RoutingContext.fromPartial(base ?? {});
255
+ },
256
+ fromPartial(object) {
257
+ const message = createBaseRoutingContext();
258
+ message.InboundTag = object.InboundTag ?? "";
259
+ message.Network = object.Network ?? 0;
260
+ message.SourceIPs = object.SourceIPs?.map((e) => e) || [];
261
+ message.TargetIPs = object.TargetIPs?.map((e) => e) || [];
262
+ message.SourcePort = object.SourcePort ?? 0;
263
+ message.TargetPort = object.TargetPort ?? 0;
264
+ message.TargetDomain = object.TargetDomain ?? "";
265
+ message.Protocol = object.Protocol ?? "";
266
+ message.User = object.User ?? "";
267
+ message.Attributes = Object.entries(object.Attributes ?? {}).reduce((acc, [key, value]) => {
268
+ if (value !== undefined) {
269
+ acc[key] = globalThis.String(value);
270
+ }
271
+ return acc;
272
+ }, {});
273
+ message.OutboundGroupTags = object.OutboundGroupTags?.map((e) => e) || [];
274
+ message.OutboundTag = object.OutboundTag ?? "";
275
+ return message;
276
+ },
277
+ };
278
+ typeRegistry_1.messageTypeRegistry.set(exports.RoutingContext.$type, exports.RoutingContext);
279
+ function createBaseRoutingContext_AttributesEntry() {
280
+ return { $type: "xray.app.router.command.RoutingContext.AttributesEntry", key: "", value: "" };
281
+ }
282
+ exports.RoutingContext_AttributesEntry = {
283
+ $type: "xray.app.router.command.RoutingContext.AttributesEntry",
284
+ encode(message, writer = new wire_1.BinaryWriter()) {
285
+ if (message.key !== "") {
286
+ writer.uint32(10).string(message.key);
287
+ }
288
+ if (message.value !== "") {
289
+ writer.uint32(18).string(message.value);
290
+ }
291
+ return writer;
292
+ },
293
+ decode(input, length) {
294
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
295
+ let end = length === undefined ? reader.len : reader.pos + length;
296
+ const message = createBaseRoutingContext_AttributesEntry();
297
+ while (reader.pos < end) {
298
+ const tag = reader.uint32();
299
+ switch (tag >>> 3) {
300
+ case 1: {
301
+ if (tag !== 10) {
302
+ break;
303
+ }
304
+ message.key = reader.string();
305
+ continue;
306
+ }
307
+ case 2: {
308
+ if (tag !== 18) {
309
+ break;
310
+ }
311
+ message.value = reader.string();
312
+ continue;
313
+ }
314
+ }
315
+ if ((tag & 7) === 4 || tag === 0) {
316
+ break;
317
+ }
318
+ reader.skip(tag & 7);
319
+ }
320
+ return message;
321
+ },
322
+ fromJSON(object) {
323
+ return {
324
+ $type: exports.RoutingContext_AttributesEntry.$type,
325
+ key: isSet(object.key) ? globalThis.String(object.key) : "",
326
+ value: isSet(object.value) ? globalThis.String(object.value) : "",
327
+ };
328
+ },
329
+ toJSON(message) {
330
+ const obj = {};
331
+ if (message.key !== "") {
332
+ obj.key = message.key;
333
+ }
334
+ if (message.value !== "") {
335
+ obj.value = message.value;
336
+ }
337
+ return obj;
338
+ },
339
+ create(base) {
340
+ return exports.RoutingContext_AttributesEntry.fromPartial(base ?? {});
341
+ },
342
+ fromPartial(object) {
343
+ const message = createBaseRoutingContext_AttributesEntry();
344
+ message.key = object.key ?? "";
345
+ message.value = object.value ?? "";
346
+ return message;
347
+ },
348
+ };
349
+ typeRegistry_1.messageTypeRegistry.set(exports.RoutingContext_AttributesEntry.$type, exports.RoutingContext_AttributesEntry);
350
+ function createBaseSubscribeRoutingStatsRequest() {
351
+ return { $type: "xray.app.router.command.SubscribeRoutingStatsRequest", FieldSelectors: [] };
352
+ }
353
+ exports.SubscribeRoutingStatsRequest = {
354
+ $type: "xray.app.router.command.SubscribeRoutingStatsRequest",
355
+ encode(message, writer = new wire_1.BinaryWriter()) {
356
+ for (const v of message.FieldSelectors) {
357
+ writer.uint32(10).string(v);
358
+ }
359
+ return writer;
360
+ },
361
+ decode(input, length) {
362
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
363
+ let end = length === undefined ? reader.len : reader.pos + length;
364
+ const message = createBaseSubscribeRoutingStatsRequest();
365
+ while (reader.pos < end) {
366
+ const tag = reader.uint32();
367
+ switch (tag >>> 3) {
368
+ case 1: {
369
+ if (tag !== 10) {
370
+ break;
371
+ }
372
+ message.FieldSelectors.push(reader.string());
373
+ continue;
374
+ }
375
+ }
376
+ if ((tag & 7) === 4 || tag === 0) {
377
+ break;
378
+ }
379
+ reader.skip(tag & 7);
380
+ }
381
+ return message;
382
+ },
383
+ fromJSON(object) {
384
+ return {
385
+ $type: exports.SubscribeRoutingStatsRequest.$type,
386
+ FieldSelectors: globalThis.Array.isArray(object?.FieldSelectors)
387
+ ? object.FieldSelectors.map((e) => globalThis.String(e))
388
+ : [],
389
+ };
390
+ },
391
+ toJSON(message) {
392
+ const obj = {};
393
+ if (message.FieldSelectors?.length) {
394
+ obj.FieldSelectors = message.FieldSelectors;
395
+ }
396
+ return obj;
397
+ },
398
+ create(base) {
399
+ return exports.SubscribeRoutingStatsRequest.fromPartial(base ?? {});
400
+ },
401
+ fromPartial(object) {
402
+ const message = createBaseSubscribeRoutingStatsRequest();
403
+ message.FieldSelectors = object.FieldSelectors?.map((e) => e) || [];
404
+ return message;
405
+ },
406
+ };
407
+ typeRegistry_1.messageTypeRegistry.set(exports.SubscribeRoutingStatsRequest.$type, exports.SubscribeRoutingStatsRequest);
408
+ function createBaseTestRouteRequest() {
409
+ return {
410
+ $type: "xray.app.router.command.TestRouteRequest",
411
+ RoutingContext: undefined,
412
+ FieldSelectors: [],
413
+ PublishResult: false,
414
+ };
415
+ }
416
+ exports.TestRouteRequest = {
417
+ $type: "xray.app.router.command.TestRouteRequest",
418
+ encode(message, writer = new wire_1.BinaryWriter()) {
419
+ if (message.RoutingContext !== undefined) {
420
+ exports.RoutingContext.encode(message.RoutingContext, writer.uint32(10).fork()).join();
421
+ }
422
+ for (const v of message.FieldSelectors) {
423
+ writer.uint32(18).string(v);
424
+ }
425
+ if (message.PublishResult !== false) {
426
+ writer.uint32(24).bool(message.PublishResult);
427
+ }
428
+ return writer;
429
+ },
430
+ decode(input, length) {
431
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
432
+ let end = length === undefined ? reader.len : reader.pos + length;
433
+ const message = createBaseTestRouteRequest();
434
+ while (reader.pos < end) {
435
+ const tag = reader.uint32();
436
+ switch (tag >>> 3) {
437
+ case 1: {
438
+ if (tag !== 10) {
439
+ break;
440
+ }
441
+ message.RoutingContext = exports.RoutingContext.decode(reader, reader.uint32());
442
+ continue;
443
+ }
444
+ case 2: {
445
+ if (tag !== 18) {
446
+ break;
447
+ }
448
+ message.FieldSelectors.push(reader.string());
449
+ continue;
450
+ }
451
+ case 3: {
452
+ if (tag !== 24) {
453
+ break;
454
+ }
455
+ message.PublishResult = reader.bool();
456
+ continue;
457
+ }
458
+ }
459
+ if ((tag & 7) === 4 || tag === 0) {
460
+ break;
461
+ }
462
+ reader.skip(tag & 7);
463
+ }
464
+ return message;
465
+ },
466
+ fromJSON(object) {
467
+ return {
468
+ $type: exports.TestRouteRequest.$type,
469
+ RoutingContext: isSet(object.RoutingContext) ? exports.RoutingContext.fromJSON(object.RoutingContext) : undefined,
470
+ FieldSelectors: globalThis.Array.isArray(object?.FieldSelectors)
471
+ ? object.FieldSelectors.map((e) => globalThis.String(e))
472
+ : [],
473
+ PublishResult: isSet(object.PublishResult) ? globalThis.Boolean(object.PublishResult) : false,
474
+ };
475
+ },
476
+ toJSON(message) {
477
+ const obj = {};
478
+ if (message.RoutingContext !== undefined) {
479
+ obj.RoutingContext = exports.RoutingContext.toJSON(message.RoutingContext);
480
+ }
481
+ if (message.FieldSelectors?.length) {
482
+ obj.FieldSelectors = message.FieldSelectors;
483
+ }
484
+ if (message.PublishResult !== false) {
485
+ obj.PublishResult = message.PublishResult;
486
+ }
487
+ return obj;
488
+ },
489
+ create(base) {
490
+ return exports.TestRouteRequest.fromPartial(base ?? {});
491
+ },
492
+ fromPartial(object) {
493
+ const message = createBaseTestRouteRequest();
494
+ message.RoutingContext = (object.RoutingContext !== undefined && object.RoutingContext !== null)
495
+ ? exports.RoutingContext.fromPartial(object.RoutingContext)
496
+ : undefined;
497
+ message.FieldSelectors = object.FieldSelectors?.map((e) => e) || [];
498
+ message.PublishResult = object.PublishResult ?? false;
499
+ return message;
500
+ },
501
+ };
502
+ typeRegistry_1.messageTypeRegistry.set(exports.TestRouteRequest.$type, exports.TestRouteRequest);
503
+ function createBasePrincipleTargetInfo() {
504
+ return { $type: "xray.app.router.command.PrincipleTargetInfo", tag: [] };
505
+ }
506
+ exports.PrincipleTargetInfo = {
507
+ $type: "xray.app.router.command.PrincipleTargetInfo",
508
+ encode(message, writer = new wire_1.BinaryWriter()) {
509
+ for (const v of message.tag) {
510
+ writer.uint32(10).string(v);
511
+ }
512
+ return writer;
513
+ },
514
+ decode(input, length) {
515
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
516
+ let end = length === undefined ? reader.len : reader.pos + length;
517
+ const message = createBasePrincipleTargetInfo();
518
+ while (reader.pos < end) {
519
+ const tag = reader.uint32();
520
+ switch (tag >>> 3) {
521
+ case 1: {
522
+ if (tag !== 10) {
523
+ break;
524
+ }
525
+ message.tag.push(reader.string());
526
+ continue;
527
+ }
528
+ }
529
+ if ((tag & 7) === 4 || tag === 0) {
530
+ break;
531
+ }
532
+ reader.skip(tag & 7);
533
+ }
534
+ return message;
535
+ },
536
+ fromJSON(object) {
537
+ return {
538
+ $type: exports.PrincipleTargetInfo.$type,
539
+ tag: globalThis.Array.isArray(object?.tag) ? object.tag.map((e) => globalThis.String(e)) : [],
540
+ };
541
+ },
542
+ toJSON(message) {
543
+ const obj = {};
544
+ if (message.tag?.length) {
545
+ obj.tag = message.tag;
546
+ }
547
+ return obj;
548
+ },
549
+ create(base) {
550
+ return exports.PrincipleTargetInfo.fromPartial(base ?? {});
551
+ },
552
+ fromPartial(object) {
553
+ const message = createBasePrincipleTargetInfo();
554
+ message.tag = object.tag?.map((e) => e) || [];
555
+ return message;
556
+ },
557
+ };
558
+ typeRegistry_1.messageTypeRegistry.set(exports.PrincipleTargetInfo.$type, exports.PrincipleTargetInfo);
559
+ function createBaseOverrideInfo() {
560
+ return { $type: "xray.app.router.command.OverrideInfo", target: "" };
561
+ }
562
+ exports.OverrideInfo = {
563
+ $type: "xray.app.router.command.OverrideInfo",
564
+ encode(message, writer = new wire_1.BinaryWriter()) {
565
+ if (message.target !== "") {
566
+ writer.uint32(18).string(message.target);
567
+ }
568
+ return writer;
569
+ },
570
+ decode(input, length) {
571
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
572
+ let end = length === undefined ? reader.len : reader.pos + length;
573
+ const message = createBaseOverrideInfo();
574
+ while (reader.pos < end) {
575
+ const tag = reader.uint32();
576
+ switch (tag >>> 3) {
577
+ case 2: {
578
+ if (tag !== 18) {
579
+ break;
580
+ }
581
+ message.target = reader.string();
582
+ continue;
583
+ }
584
+ }
585
+ if ((tag & 7) === 4 || tag === 0) {
586
+ break;
587
+ }
588
+ reader.skip(tag & 7);
589
+ }
590
+ return message;
591
+ },
592
+ fromJSON(object) {
593
+ return { $type: exports.OverrideInfo.$type, target: isSet(object.target) ? globalThis.String(object.target) : "" };
594
+ },
595
+ toJSON(message) {
596
+ const obj = {};
597
+ if (message.target !== "") {
598
+ obj.target = message.target;
599
+ }
600
+ return obj;
601
+ },
602
+ create(base) {
603
+ return exports.OverrideInfo.fromPartial(base ?? {});
604
+ },
605
+ fromPartial(object) {
606
+ const message = createBaseOverrideInfo();
607
+ message.target = object.target ?? "";
608
+ return message;
609
+ },
610
+ };
611
+ typeRegistry_1.messageTypeRegistry.set(exports.OverrideInfo.$type, exports.OverrideInfo);
612
+ function createBaseBalancerMsg() {
613
+ return { $type: "xray.app.router.command.BalancerMsg", override: undefined, principleTarget: undefined };
614
+ }
615
+ exports.BalancerMsg = {
616
+ $type: "xray.app.router.command.BalancerMsg",
617
+ encode(message, writer = new wire_1.BinaryWriter()) {
618
+ if (message.override !== undefined) {
619
+ exports.OverrideInfo.encode(message.override, writer.uint32(42).fork()).join();
620
+ }
621
+ if (message.principleTarget !== undefined) {
622
+ exports.PrincipleTargetInfo.encode(message.principleTarget, writer.uint32(50).fork()).join();
623
+ }
624
+ return writer;
625
+ },
626
+ decode(input, length) {
627
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
628
+ let end = length === undefined ? reader.len : reader.pos + length;
629
+ const message = createBaseBalancerMsg();
630
+ while (reader.pos < end) {
631
+ const tag = reader.uint32();
632
+ switch (tag >>> 3) {
633
+ case 5: {
634
+ if (tag !== 42) {
635
+ break;
636
+ }
637
+ message.override = exports.OverrideInfo.decode(reader, reader.uint32());
638
+ continue;
639
+ }
640
+ case 6: {
641
+ if (tag !== 50) {
642
+ break;
643
+ }
644
+ message.principleTarget = exports.PrincipleTargetInfo.decode(reader, reader.uint32());
645
+ continue;
646
+ }
647
+ }
648
+ if ((tag & 7) === 4 || tag === 0) {
649
+ break;
650
+ }
651
+ reader.skip(tag & 7);
652
+ }
653
+ return message;
654
+ },
655
+ fromJSON(object) {
656
+ return {
657
+ $type: exports.BalancerMsg.$type,
658
+ override: isSet(object.override) ? exports.OverrideInfo.fromJSON(object.override) : undefined,
659
+ principleTarget: isSet(object.principleTarget) ? exports.PrincipleTargetInfo.fromJSON(object.principleTarget) : undefined,
660
+ };
661
+ },
662
+ toJSON(message) {
663
+ const obj = {};
664
+ if (message.override !== undefined) {
665
+ obj.override = exports.OverrideInfo.toJSON(message.override);
666
+ }
667
+ if (message.principleTarget !== undefined) {
668
+ obj.principleTarget = exports.PrincipleTargetInfo.toJSON(message.principleTarget);
669
+ }
670
+ return obj;
671
+ },
672
+ create(base) {
673
+ return exports.BalancerMsg.fromPartial(base ?? {});
674
+ },
675
+ fromPartial(object) {
676
+ const message = createBaseBalancerMsg();
677
+ message.override = (object.override !== undefined && object.override !== null)
678
+ ? exports.OverrideInfo.fromPartial(object.override)
679
+ : undefined;
680
+ message.principleTarget = (object.principleTarget !== undefined && object.principleTarget !== null)
681
+ ? exports.PrincipleTargetInfo.fromPartial(object.principleTarget)
682
+ : undefined;
683
+ return message;
684
+ },
685
+ };
686
+ typeRegistry_1.messageTypeRegistry.set(exports.BalancerMsg.$type, exports.BalancerMsg);
687
+ function createBaseGetBalancerInfoRequest() {
688
+ return { $type: "xray.app.router.command.GetBalancerInfoRequest", tag: "" };
689
+ }
690
+ exports.GetBalancerInfoRequest = {
691
+ $type: "xray.app.router.command.GetBalancerInfoRequest",
692
+ encode(message, writer = new wire_1.BinaryWriter()) {
693
+ if (message.tag !== "") {
694
+ writer.uint32(10).string(message.tag);
695
+ }
696
+ return writer;
697
+ },
698
+ decode(input, length) {
699
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
700
+ let end = length === undefined ? reader.len : reader.pos + length;
701
+ const message = createBaseGetBalancerInfoRequest();
702
+ while (reader.pos < end) {
703
+ const tag = reader.uint32();
704
+ switch (tag >>> 3) {
705
+ case 1: {
706
+ if (tag !== 10) {
707
+ break;
708
+ }
709
+ message.tag = reader.string();
710
+ continue;
711
+ }
712
+ }
713
+ if ((tag & 7) === 4 || tag === 0) {
714
+ break;
715
+ }
716
+ reader.skip(tag & 7);
717
+ }
718
+ return message;
719
+ },
720
+ fromJSON(object) {
721
+ return { $type: exports.GetBalancerInfoRequest.$type, tag: isSet(object.tag) ? globalThis.String(object.tag) : "" };
722
+ },
723
+ toJSON(message) {
724
+ const obj = {};
725
+ if (message.tag !== "") {
726
+ obj.tag = message.tag;
727
+ }
728
+ return obj;
729
+ },
730
+ create(base) {
731
+ return exports.GetBalancerInfoRequest.fromPartial(base ?? {});
732
+ },
733
+ fromPartial(object) {
734
+ const message = createBaseGetBalancerInfoRequest();
735
+ message.tag = object.tag ?? "";
736
+ return message;
737
+ },
738
+ };
739
+ typeRegistry_1.messageTypeRegistry.set(exports.GetBalancerInfoRequest.$type, exports.GetBalancerInfoRequest);
740
+ function createBaseGetBalancerInfoResponse() {
741
+ return { $type: "xray.app.router.command.GetBalancerInfoResponse", balancer: undefined };
742
+ }
743
+ exports.GetBalancerInfoResponse = {
744
+ $type: "xray.app.router.command.GetBalancerInfoResponse",
745
+ encode(message, writer = new wire_1.BinaryWriter()) {
746
+ if (message.balancer !== undefined) {
747
+ exports.BalancerMsg.encode(message.balancer, writer.uint32(10).fork()).join();
748
+ }
749
+ return writer;
750
+ },
751
+ decode(input, length) {
752
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
753
+ let end = length === undefined ? reader.len : reader.pos + length;
754
+ const message = createBaseGetBalancerInfoResponse();
755
+ while (reader.pos < end) {
756
+ const tag = reader.uint32();
757
+ switch (tag >>> 3) {
758
+ case 1: {
759
+ if (tag !== 10) {
760
+ break;
761
+ }
762
+ message.balancer = exports.BalancerMsg.decode(reader, reader.uint32());
763
+ continue;
764
+ }
765
+ }
766
+ if ((tag & 7) === 4 || tag === 0) {
767
+ break;
768
+ }
769
+ reader.skip(tag & 7);
770
+ }
771
+ return message;
772
+ },
773
+ fromJSON(object) {
774
+ return {
775
+ $type: exports.GetBalancerInfoResponse.$type,
776
+ balancer: isSet(object.balancer) ? exports.BalancerMsg.fromJSON(object.balancer) : undefined,
777
+ };
778
+ },
779
+ toJSON(message) {
780
+ const obj = {};
781
+ if (message.balancer !== undefined) {
782
+ obj.balancer = exports.BalancerMsg.toJSON(message.balancer);
783
+ }
784
+ return obj;
785
+ },
786
+ create(base) {
787
+ return exports.GetBalancerInfoResponse.fromPartial(base ?? {});
788
+ },
789
+ fromPartial(object) {
790
+ const message = createBaseGetBalancerInfoResponse();
791
+ message.balancer = (object.balancer !== undefined && object.balancer !== null)
792
+ ? exports.BalancerMsg.fromPartial(object.balancer)
793
+ : undefined;
794
+ return message;
795
+ },
796
+ };
797
+ typeRegistry_1.messageTypeRegistry.set(exports.GetBalancerInfoResponse.$type, exports.GetBalancerInfoResponse);
798
+ function createBaseOverrideBalancerTargetRequest() {
799
+ return { $type: "xray.app.router.command.OverrideBalancerTargetRequest", balancerTag: "", target: "" };
800
+ }
801
+ exports.OverrideBalancerTargetRequest = {
802
+ $type: "xray.app.router.command.OverrideBalancerTargetRequest",
803
+ encode(message, writer = new wire_1.BinaryWriter()) {
804
+ if (message.balancerTag !== "") {
805
+ writer.uint32(10).string(message.balancerTag);
806
+ }
807
+ if (message.target !== "") {
808
+ writer.uint32(18).string(message.target);
809
+ }
810
+ return writer;
811
+ },
812
+ decode(input, length) {
813
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
814
+ let end = length === undefined ? reader.len : reader.pos + length;
815
+ const message = createBaseOverrideBalancerTargetRequest();
816
+ while (reader.pos < end) {
817
+ const tag = reader.uint32();
818
+ switch (tag >>> 3) {
819
+ case 1: {
820
+ if (tag !== 10) {
821
+ break;
822
+ }
823
+ message.balancerTag = reader.string();
824
+ continue;
825
+ }
826
+ case 2: {
827
+ if (tag !== 18) {
828
+ break;
829
+ }
830
+ message.target = reader.string();
831
+ continue;
832
+ }
833
+ }
834
+ if ((tag & 7) === 4 || tag === 0) {
835
+ break;
836
+ }
837
+ reader.skip(tag & 7);
838
+ }
839
+ return message;
840
+ },
841
+ fromJSON(object) {
842
+ return {
843
+ $type: exports.OverrideBalancerTargetRequest.$type,
844
+ balancerTag: isSet(object.balancerTag) ? globalThis.String(object.balancerTag) : "",
845
+ target: isSet(object.target) ? globalThis.String(object.target) : "",
846
+ };
847
+ },
848
+ toJSON(message) {
849
+ const obj = {};
850
+ if (message.balancerTag !== "") {
851
+ obj.balancerTag = message.balancerTag;
852
+ }
853
+ if (message.target !== "") {
854
+ obj.target = message.target;
855
+ }
856
+ return obj;
857
+ },
858
+ create(base) {
859
+ return exports.OverrideBalancerTargetRequest.fromPartial(base ?? {});
860
+ },
861
+ fromPartial(object) {
862
+ const message = createBaseOverrideBalancerTargetRequest();
863
+ message.balancerTag = object.balancerTag ?? "";
864
+ message.target = object.target ?? "";
865
+ return message;
866
+ },
867
+ };
868
+ typeRegistry_1.messageTypeRegistry.set(exports.OverrideBalancerTargetRequest.$type, exports.OverrideBalancerTargetRequest);
869
+ function createBaseOverrideBalancerTargetResponse() {
870
+ return { $type: "xray.app.router.command.OverrideBalancerTargetResponse" };
871
+ }
872
+ exports.OverrideBalancerTargetResponse = {
873
+ $type: "xray.app.router.command.OverrideBalancerTargetResponse",
874
+ encode(_, writer = new wire_1.BinaryWriter()) {
875
+ return writer;
876
+ },
877
+ decode(input, length) {
878
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
879
+ let end = length === undefined ? reader.len : reader.pos + length;
880
+ const message = createBaseOverrideBalancerTargetResponse();
881
+ while (reader.pos < end) {
882
+ const tag = reader.uint32();
883
+ switch (tag >>> 3) {
884
+ }
885
+ if ((tag & 7) === 4 || tag === 0) {
886
+ break;
887
+ }
888
+ reader.skip(tag & 7);
889
+ }
890
+ return message;
891
+ },
892
+ fromJSON(_) {
893
+ return { $type: exports.OverrideBalancerTargetResponse.$type };
894
+ },
895
+ toJSON(_) {
896
+ const obj = {};
897
+ return obj;
898
+ },
899
+ create(base) {
900
+ return exports.OverrideBalancerTargetResponse.fromPartial(base ?? {});
901
+ },
902
+ fromPartial(_) {
903
+ const message = createBaseOverrideBalancerTargetResponse();
904
+ return message;
905
+ },
906
+ };
907
+ typeRegistry_1.messageTypeRegistry.set(exports.OverrideBalancerTargetResponse.$type, exports.OverrideBalancerTargetResponse);
908
+ function createBaseAddRuleRequest() {
909
+ return { $type: "xray.app.router.command.AddRuleRequest", config: undefined, shouldAppend: false };
910
+ }
911
+ exports.AddRuleRequest = {
912
+ $type: "xray.app.router.command.AddRuleRequest",
913
+ encode(message, writer = new wire_1.BinaryWriter()) {
914
+ if (message.config !== undefined) {
915
+ typed_message_1.TypedMessage.encode(message.config, writer.uint32(10).fork()).join();
916
+ }
917
+ if (message.shouldAppend !== false) {
918
+ writer.uint32(16).bool(message.shouldAppend);
919
+ }
920
+ return writer;
921
+ },
922
+ decode(input, length) {
923
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
924
+ let end = length === undefined ? reader.len : reader.pos + length;
925
+ const message = createBaseAddRuleRequest();
926
+ while (reader.pos < end) {
927
+ const tag = reader.uint32();
928
+ switch (tag >>> 3) {
929
+ case 1: {
930
+ if (tag !== 10) {
931
+ break;
932
+ }
933
+ message.config = typed_message_1.TypedMessage.decode(reader, reader.uint32());
934
+ continue;
935
+ }
936
+ case 2: {
937
+ if (tag !== 16) {
938
+ break;
939
+ }
940
+ message.shouldAppend = reader.bool();
941
+ continue;
942
+ }
943
+ }
944
+ if ((tag & 7) === 4 || tag === 0) {
945
+ break;
946
+ }
947
+ reader.skip(tag & 7);
948
+ }
949
+ return message;
950
+ },
951
+ fromJSON(object) {
952
+ return {
953
+ $type: exports.AddRuleRequest.$type,
954
+ config: isSet(object.config) ? typed_message_1.TypedMessage.fromJSON(object.config) : undefined,
955
+ shouldAppend: isSet(object.shouldAppend) ? globalThis.Boolean(object.shouldAppend) : false,
956
+ };
957
+ },
958
+ toJSON(message) {
959
+ const obj = {};
960
+ if (message.config !== undefined) {
961
+ obj.config = typed_message_1.TypedMessage.toJSON(message.config);
962
+ }
963
+ if (message.shouldAppend !== false) {
964
+ obj.shouldAppend = message.shouldAppend;
965
+ }
966
+ return obj;
967
+ },
968
+ create(base) {
969
+ return exports.AddRuleRequest.fromPartial(base ?? {});
970
+ },
971
+ fromPartial(object) {
972
+ const message = createBaseAddRuleRequest();
973
+ message.config = (object.config !== undefined && object.config !== null)
974
+ ? typed_message_1.TypedMessage.fromPartial(object.config)
975
+ : undefined;
976
+ message.shouldAppend = object.shouldAppend ?? false;
977
+ return message;
978
+ },
979
+ };
980
+ typeRegistry_1.messageTypeRegistry.set(exports.AddRuleRequest.$type, exports.AddRuleRequest);
981
+ function createBaseAddRuleResponse() {
982
+ return { $type: "xray.app.router.command.AddRuleResponse" };
983
+ }
984
+ exports.AddRuleResponse = {
985
+ $type: "xray.app.router.command.AddRuleResponse",
986
+ encode(_, writer = new wire_1.BinaryWriter()) {
987
+ return writer;
988
+ },
989
+ decode(input, length) {
990
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
991
+ let end = length === undefined ? reader.len : reader.pos + length;
992
+ const message = createBaseAddRuleResponse();
993
+ while (reader.pos < end) {
994
+ const tag = reader.uint32();
995
+ switch (tag >>> 3) {
996
+ }
997
+ if ((tag & 7) === 4 || tag === 0) {
998
+ break;
999
+ }
1000
+ reader.skip(tag & 7);
1001
+ }
1002
+ return message;
1003
+ },
1004
+ fromJSON(_) {
1005
+ return { $type: exports.AddRuleResponse.$type };
1006
+ },
1007
+ toJSON(_) {
1008
+ const obj = {};
1009
+ return obj;
1010
+ },
1011
+ create(base) {
1012
+ return exports.AddRuleResponse.fromPartial(base ?? {});
1013
+ },
1014
+ fromPartial(_) {
1015
+ const message = createBaseAddRuleResponse();
1016
+ return message;
1017
+ },
1018
+ };
1019
+ typeRegistry_1.messageTypeRegistry.set(exports.AddRuleResponse.$type, exports.AddRuleResponse);
1020
+ function createBaseRemoveRuleRequest() {
1021
+ return { $type: "xray.app.router.command.RemoveRuleRequest", ruleTag: "" };
1022
+ }
1023
+ exports.RemoveRuleRequest = {
1024
+ $type: "xray.app.router.command.RemoveRuleRequest",
1025
+ encode(message, writer = new wire_1.BinaryWriter()) {
1026
+ if (message.ruleTag !== "") {
1027
+ writer.uint32(10).string(message.ruleTag);
1028
+ }
1029
+ return writer;
1030
+ },
1031
+ decode(input, length) {
1032
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1033
+ let end = length === undefined ? reader.len : reader.pos + length;
1034
+ const message = createBaseRemoveRuleRequest();
1035
+ while (reader.pos < end) {
1036
+ const tag = reader.uint32();
1037
+ switch (tag >>> 3) {
1038
+ case 1: {
1039
+ if (tag !== 10) {
1040
+ break;
1041
+ }
1042
+ message.ruleTag = reader.string();
1043
+ continue;
1044
+ }
1045
+ }
1046
+ if ((tag & 7) === 4 || tag === 0) {
1047
+ break;
1048
+ }
1049
+ reader.skip(tag & 7);
1050
+ }
1051
+ return message;
1052
+ },
1053
+ fromJSON(object) {
1054
+ return { $type: exports.RemoveRuleRequest.$type, ruleTag: isSet(object.ruleTag) ? globalThis.String(object.ruleTag) : "" };
1055
+ },
1056
+ toJSON(message) {
1057
+ const obj = {};
1058
+ if (message.ruleTag !== "") {
1059
+ obj.ruleTag = message.ruleTag;
1060
+ }
1061
+ return obj;
1062
+ },
1063
+ create(base) {
1064
+ return exports.RemoveRuleRequest.fromPartial(base ?? {});
1065
+ },
1066
+ fromPartial(object) {
1067
+ const message = createBaseRemoveRuleRequest();
1068
+ message.ruleTag = object.ruleTag ?? "";
1069
+ return message;
1070
+ },
1071
+ };
1072
+ typeRegistry_1.messageTypeRegistry.set(exports.RemoveRuleRequest.$type, exports.RemoveRuleRequest);
1073
+ function createBaseRemoveRuleResponse() {
1074
+ return { $type: "xray.app.router.command.RemoveRuleResponse" };
1075
+ }
1076
+ exports.RemoveRuleResponse = {
1077
+ $type: "xray.app.router.command.RemoveRuleResponse",
1078
+ encode(_, writer = new wire_1.BinaryWriter()) {
1079
+ return writer;
1080
+ },
1081
+ decode(input, length) {
1082
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1083
+ let end = length === undefined ? reader.len : reader.pos + length;
1084
+ const message = createBaseRemoveRuleResponse();
1085
+ while (reader.pos < end) {
1086
+ const tag = reader.uint32();
1087
+ switch (tag >>> 3) {
1088
+ }
1089
+ if ((tag & 7) === 4 || tag === 0) {
1090
+ break;
1091
+ }
1092
+ reader.skip(tag & 7);
1093
+ }
1094
+ return message;
1095
+ },
1096
+ fromJSON(_) {
1097
+ return { $type: exports.RemoveRuleResponse.$type };
1098
+ },
1099
+ toJSON(_) {
1100
+ const obj = {};
1101
+ return obj;
1102
+ },
1103
+ create(base) {
1104
+ return exports.RemoveRuleResponse.fromPartial(base ?? {});
1105
+ },
1106
+ fromPartial(_) {
1107
+ const message = createBaseRemoveRuleResponse();
1108
+ return message;
1109
+ },
1110
+ };
1111
+ typeRegistry_1.messageTypeRegistry.set(exports.RemoveRuleResponse.$type, exports.RemoveRuleResponse);
1112
+ function createBaseConfig() {
1113
+ return { $type: "xray.app.router.command.Config" };
1114
+ }
1115
+ exports.Config = {
1116
+ $type: "xray.app.router.command.Config",
1117
+ encode(_, writer = new wire_1.BinaryWriter()) {
1118
+ return writer;
1119
+ },
1120
+ decode(input, length) {
1121
+ const reader = input instanceof wire_1.BinaryReader ? input : new wire_1.BinaryReader(input);
1122
+ let end = length === undefined ? reader.len : reader.pos + length;
1123
+ const message = createBaseConfig();
1124
+ while (reader.pos < end) {
1125
+ const tag = reader.uint32();
1126
+ switch (tag >>> 3) {
1127
+ }
1128
+ if ((tag & 7) === 4 || tag === 0) {
1129
+ break;
1130
+ }
1131
+ reader.skip(tag & 7);
1132
+ }
1133
+ return message;
1134
+ },
1135
+ fromJSON(_) {
1136
+ return { $type: exports.Config.$type };
1137
+ },
1138
+ toJSON(_) {
1139
+ const obj = {};
1140
+ return obj;
1141
+ },
1142
+ create(base) {
1143
+ return exports.Config.fromPartial(base ?? {});
1144
+ },
1145
+ fromPartial(_) {
1146
+ const message = createBaseConfig();
1147
+ return message;
1148
+ },
1149
+ };
1150
+ typeRegistry_1.messageTypeRegistry.set(exports.Config.$type, exports.Config);
1151
+ exports.RoutingServiceDefinition = {
1152
+ name: "RoutingService",
1153
+ fullName: "xray.app.router.command.RoutingService",
1154
+ methods: {
1155
+ subscribeRoutingStats: {
1156
+ name: "SubscribeRoutingStats",
1157
+ requestType: exports.SubscribeRoutingStatsRequest,
1158
+ requestStream: false,
1159
+ responseType: exports.RoutingContext,
1160
+ responseStream: true,
1161
+ options: {},
1162
+ },
1163
+ testRoute: {
1164
+ name: "TestRoute",
1165
+ requestType: exports.TestRouteRequest,
1166
+ requestStream: false,
1167
+ responseType: exports.RoutingContext,
1168
+ responseStream: false,
1169
+ options: {},
1170
+ },
1171
+ getBalancerInfo: {
1172
+ name: "GetBalancerInfo",
1173
+ requestType: exports.GetBalancerInfoRequest,
1174
+ requestStream: false,
1175
+ responseType: exports.GetBalancerInfoResponse,
1176
+ responseStream: false,
1177
+ options: {},
1178
+ },
1179
+ overrideBalancerTarget: {
1180
+ name: "OverrideBalancerTarget",
1181
+ requestType: exports.OverrideBalancerTargetRequest,
1182
+ requestStream: false,
1183
+ responseType: exports.OverrideBalancerTargetResponse,
1184
+ responseStream: false,
1185
+ options: {},
1186
+ },
1187
+ addRule: {
1188
+ name: "AddRule",
1189
+ requestType: exports.AddRuleRequest,
1190
+ requestStream: false,
1191
+ responseType: exports.AddRuleResponse,
1192
+ responseStream: false,
1193
+ options: {},
1194
+ },
1195
+ removeRule: {
1196
+ name: "RemoveRule",
1197
+ requestType: exports.RemoveRuleRequest,
1198
+ requestStream: false,
1199
+ responseType: exports.RemoveRuleResponse,
1200
+ responseStream: false,
1201
+ options: {},
1202
+ },
1203
+ },
1204
+ };
1205
+ function bytesFromBase64(b64) {
1206
+ if (globalThis.Buffer) {
1207
+ return Uint8Array.from(globalThis.Buffer.from(b64, "base64"));
1208
+ }
1209
+ else {
1210
+ const bin = globalThis.atob(b64);
1211
+ const arr = new Uint8Array(bin.length);
1212
+ for (let i = 0; i < bin.length; ++i) {
1213
+ arr[i] = bin.charCodeAt(i);
1214
+ }
1215
+ return arr;
1216
+ }
1217
+ }
1218
+ function base64FromBytes(arr) {
1219
+ if (globalThis.Buffer) {
1220
+ return globalThis.Buffer.from(arr).toString("base64");
1221
+ }
1222
+ else {
1223
+ const bin = [];
1224
+ arr.forEach((byte) => {
1225
+ bin.push(globalThis.String.fromCharCode(byte));
1226
+ });
1227
+ return globalThis.btoa(bin.join(""));
1228
+ }
1229
+ }
1230
+ function isObject(value) {
1231
+ return typeof value === "object" && value !== null;
1232
+ }
1233
+ function isSet(value) {
1234
+ return value !== null && value !== undefined;
1235
+ }