@conduitplatform/grpc-sdk 0.17.0-alpha.8 → 0.17.0-alpha.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -129,6 +129,7 @@ __export(index_exports, {
129
129
  GetMessageStatusResponse: () => GetMessageStatusResponse,
130
130
  GetNotificationTokensRequest: () => GetNotificationTokensRequest,
131
131
  GetNotificationTokensResponse: () => GetNotificationTokensResponse,
132
+ GetRealmSettingsRequest: () => GetRealmSettingsRequest,
132
133
  GetRedisDetailsResponse: () => GetRedisDetailsResponse,
133
134
  GetRoomResponse: () => GetRoomResponse,
134
135
  GetSchemaRequest: () => GetSchemaRequest,
@@ -137,6 +138,8 @@ __export(index_exports, {
137
138
  GetStatusRequest: () => GetStatusRequest,
138
139
  GetStatusResponse: () => GetStatusResponse,
139
140
  GetTeamRequest: () => GetTeamRequest,
141
+ GetUserRequest: () => GetUserRequest,
142
+ GetUserResponse: () => GetUserResponse,
140
143
  GrpcError: () => GrpcError,
141
144
  HealthCheckRequest: () => HealthCheckRequest,
142
145
  HealthCheckResponse: () => HealthCheckResponse,
@@ -177,6 +180,8 @@ __export(index_exports, {
177
180
  RawQueryRequest_RawQuery: () => RawQueryRequest_RawQuery,
178
181
  RawQueryRequest_RawQuery_MongoQuery: () => RawQueryRequest_RawQuery_MongoQuery,
179
182
  RawQueryRequest_RawQuery_SQLQuery: () => RawQueryRequest_RawQuery_SQLQuery,
183
+ RealmMembershipRequest: () => RealmMembershipRequest,
184
+ RealmResponse: () => RealmResponse,
180
185
  RegisterAdminRouteRequest: () => RegisterAdminRouteRequest,
181
186
  RegisterAdminRouteRequest_ConduitRouteOptions: () => RegisterAdminRouteRequest_ConduitRouteOptions,
182
187
  RegisterAdminRouteRequest_ConduitRouteReturnDefinition: () => RegisterAdminRouteRequest_ConduitRouteReturnDefinition,
@@ -214,6 +219,7 @@ __export(index_exports, {
214
219
  Room: () => Room,
215
220
  Router: () => Router,
216
221
  RouterDefinition: () => RouterDefinition,
222
+ SESSION_REGISTRY_PREFIX: () => SESSION_REGISTRY_PREFIX,
217
223
  SMS: () => SMS,
218
224
  SQLDataType: () => SQLDataType,
219
225
  Schema: () => Schema,
@@ -245,10 +251,12 @@ __export(index_exports, {
245
251
  SendWithFallbackRequest_SendCommunicationParams: () => SendWithFallbackRequest_SendCommunicationParams,
246
252
  SendWithFallbackResponse: () => SendWithFallbackResponse,
247
253
  SendWithFallbackResponse_ChannelResult: () => SendWithFallbackResponse_ChannelResult,
254
+ SessionRegistry: () => SessionRegistry,
248
255
  SetConfigRequest: () => SetConfigRequest,
249
256
  SetConfigResponse: () => SetConfigResponse,
250
257
  SetNotificationTokenRequest: () => SetNotificationTokenRequest,
251
258
  SetNotificationTokenResponse: () => SetNotificationTokenResponse,
259
+ SetTeamRealmRequest: () => SetTeamRealmRequest,
252
260
  SocketData: () => SocketData,
253
261
  SocketPushRequest: () => SocketPushRequest,
254
262
  SocketRequest: () => SocketRequest,
@@ -257,10 +265,17 @@ __export(index_exports, {
257
265
  StartBackfillResponse: () => StartBackfillResponse,
258
266
  Storage: () => Storage,
259
267
  StorageDefinition: () => StorageDefinition,
268
+ SubjectPermission: () => SubjectPermission,
269
+ SubjectPermissionsRequest: () => SubjectPermissionsRequest,
270
+ SubjectPermissionsResponse: () => SubjectPermissionsResponse,
260
271
  TYPE: () => TYPE,
261
272
  Team: () => Team,
262
273
  TeamDeleteRequest: () => TeamDeleteRequest,
263
274
  TeamDeleteResponse: () => TeamDeleteResponse,
275
+ USER_CACHE_PREFIX: () => USER_CACHE_PREFIX,
276
+ USER_CACHE_TTL_MS: () => USER_CACHE_TTL_MS,
277
+ UnsetTeamRealmRequest: () => UnsetTeamRealmRequest,
278
+ UnsetTeamRealmResponse: () => UnsetTeamRealmResponse,
264
279
  UpdateCommunicationTemplateRequest: () => UpdateCommunicationTemplateRequest,
265
280
  UpdateConfigRequest: () => UpdateConfigRequest,
266
281
  UpdateConfigResponse: () => UpdateConfigResponse,
@@ -272,6 +287,7 @@ __export(index_exports, {
272
287
  UpdateTemplateRequest: () => UpdateTemplateRequest,
273
288
  UpsertConfigRequest: () => UpsertConfigRequest,
274
289
  UpsertConfigResponse: () => UpsertConfigResponse,
290
+ UserCache: () => UserCache,
275
291
  UserChangeEmail: () => UserChangeEmail,
276
292
  UserChangeEmailResponse: () => UserChangeEmailResponse,
277
293
  UserChangePass: () => UserChangePass,
@@ -316,11 +332,11 @@ var ConduitError = class _ConduitError extends Error {
316
332
  message;
317
333
  name;
318
334
  status;
319
- constructor(name, status2, message) {
335
+ constructor(name, status3, message) {
320
336
  super(message);
321
337
  this.name = name;
322
338
  this.message = message;
323
- this.status = status2;
339
+ this.status = status3;
324
340
  }
325
341
  static unauthorized(message = "Unauthorized") {
326
342
  return new _ConduitError("UNAUTHORIZED", 401, message);
@@ -464,7 +480,7 @@ function validateAccessTokenResponse_StatusToJSON(object) {
464
480
  }
465
481
  }
466
482
  function createBaseUserLoginRequest() {
467
- return { userId: "", clientId: "" };
483
+ return { userId: "", clientId: "", realm: void 0 };
468
484
  }
469
485
  var UserLoginRequest = {
470
486
  encode(message, writer = new import_wire2.BinaryWriter()) {
@@ -474,6 +490,9 @@ var UserLoginRequest = {
474
490
  if (message.clientId !== "") {
475
491
  writer.uint32(18).string(message.clientId);
476
492
  }
493
+ if (message.realm !== void 0) {
494
+ writer.uint32(26).string(message.realm);
495
+ }
477
496
  return writer;
478
497
  },
479
498
  decode(input, length) {
@@ -503,6 +522,13 @@ var UserLoginRequest = {
503
522
  message.clientId = reader.string();
504
523
  continue;
505
524
  }
525
+ case 3: {
526
+ if (tag !== 26) {
527
+ break;
528
+ }
529
+ message.realm = reader.string();
530
+ continue;
531
+ }
506
532
  }
507
533
  if ((tag & 7) === 4 || tag === 0) {
508
534
  break;
@@ -517,7 +543,8 @@ var UserLoginRequest = {
517
543
  fromJSON(object) {
518
544
  return {
519
545
  userId: isSet(object.userId) ? globalThis.String(object.userId) : "",
520
- clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : ""
546
+ clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
547
+ realm: isSet(object.realm) ? globalThis.String(object.realm) : void 0
521
548
  };
522
549
  },
523
550
  toJSON(message) {
@@ -528,6 +555,9 @@ var UserLoginRequest = {
528
555
  if (message.clientId !== "") {
529
556
  obj.clientId = message.clientId;
530
557
  }
558
+ if (message.realm !== void 0) {
559
+ obj.realm = message.realm;
560
+ }
531
561
  return obj;
532
562
  },
533
563
  create(base) {
@@ -537,11 +567,19 @@ var UserLoginRequest = {
537
567
  const message = createBaseUserLoginRequest();
538
568
  message.userId = object.userId ?? "";
539
569
  message.clientId = object.clientId ?? "";
570
+ message.realm = object.realm ?? void 0;
540
571
  return message;
541
572
  }
542
573
  };
543
574
  function createBaseUserCreateRequest() {
544
- return { email: "", password: void 0, verify: false, anonymousId: void 0, userData: void 0 };
575
+ return {
576
+ email: "",
577
+ password: void 0,
578
+ verify: false,
579
+ anonymousId: void 0,
580
+ userData: void 0,
581
+ realm: void 0
582
+ };
545
583
  }
546
584
  var UserCreateRequest = {
547
585
  encode(message, writer = new import_wire2.BinaryWriter()) {
@@ -560,6 +598,9 @@ var UserCreateRequest = {
560
598
  if (message.userData !== void 0) {
561
599
  writer.uint32(42).string(message.userData);
562
600
  }
601
+ if (message.realm !== void 0) {
602
+ writer.uint32(50).string(message.realm);
603
+ }
563
604
  return writer;
564
605
  },
565
606
  decode(input, length) {
@@ -610,6 +651,13 @@ var UserCreateRequest = {
610
651
  message.userData = reader.string();
611
652
  continue;
612
653
  }
654
+ case 6: {
655
+ if (tag !== 50) {
656
+ break;
657
+ }
658
+ message.realm = reader.string();
659
+ continue;
660
+ }
613
661
  }
614
662
  if ((tag & 7) === 4 || tag === 0) {
615
663
  break;
@@ -627,7 +675,8 @@ var UserCreateRequest = {
627
675
  password: isSet(object.password) ? globalThis.String(object.password) : void 0,
628
676
  verify: isSet(object.verify) ? globalThis.Boolean(object.verify) : false,
629
677
  anonymousId: isSet(object.anonymousId) ? globalThis.String(object.anonymousId) : void 0,
630
- userData: isSet(object.userData) ? globalThis.String(object.userData) : void 0
678
+ userData: isSet(object.userData) ? globalThis.String(object.userData) : void 0,
679
+ realm: isSet(object.realm) ? globalThis.String(object.realm) : void 0
631
680
  };
632
681
  },
633
682
  toJSON(message) {
@@ -647,6 +696,9 @@ var UserCreateRequest = {
647
696
  if (message.userData !== void 0) {
648
697
  obj.userData = message.userData;
649
698
  }
699
+ if (message.realm !== void 0) {
700
+ obj.realm = message.realm;
701
+ }
650
702
  return obj;
651
703
  },
652
704
  create(base) {
@@ -659,11 +711,12 @@ var UserCreateRequest = {
659
711
  message.verify = object.verify ?? false;
660
712
  message.anonymousId = object.anonymousId ?? void 0;
661
713
  message.userData = object.userData ?? void 0;
714
+ message.realm = object.realm ?? void 0;
662
715
  return message;
663
716
  }
664
717
  };
665
718
  function createBaseUserCreateByUsernameRequest() {
666
- return { username: "", password: void 0, anonymousId: void 0 };
719
+ return { username: "", password: void 0, anonymousId: void 0, realm: void 0 };
667
720
  }
668
721
  var UserCreateByUsernameRequest = {
669
722
  encode(message, writer = new import_wire2.BinaryWriter()) {
@@ -676,6 +729,9 @@ var UserCreateByUsernameRequest = {
676
729
  if (message.anonymousId !== void 0) {
677
730
  writer.uint32(26).string(message.anonymousId);
678
731
  }
732
+ if (message.realm !== void 0) {
733
+ writer.uint32(34).string(message.realm);
734
+ }
679
735
  return writer;
680
736
  },
681
737
  decode(input, length) {
@@ -712,6 +768,13 @@ var UserCreateByUsernameRequest = {
712
768
  message.anonymousId = reader.string();
713
769
  continue;
714
770
  }
771
+ case 4: {
772
+ if (tag !== 34) {
773
+ break;
774
+ }
775
+ message.realm = reader.string();
776
+ continue;
777
+ }
715
778
  }
716
779
  if ((tag & 7) === 4 || tag === 0) {
717
780
  break;
@@ -727,7 +790,8 @@ var UserCreateByUsernameRequest = {
727
790
  return {
728
791
  username: isSet(object.username) ? globalThis.String(object.username) : "",
729
792
  password: isSet(object.password) ? globalThis.String(object.password) : void 0,
730
- anonymousId: isSet(object.anonymousId) ? globalThis.String(object.anonymousId) : void 0
793
+ anonymousId: isSet(object.anonymousId) ? globalThis.String(object.anonymousId) : void 0,
794
+ realm: isSet(object.realm) ? globalThis.String(object.realm) : void 0
731
795
  };
732
796
  },
733
797
  toJSON(message) {
@@ -741,6 +805,9 @@ var UserCreateByUsernameRequest = {
741
805
  if (message.anonymousId !== void 0) {
742
806
  obj.anonymousId = message.anonymousId;
743
807
  }
808
+ if (message.realm !== void 0) {
809
+ obj.realm = message.realm;
810
+ }
744
811
  return obj;
745
812
  },
746
813
  create(base) {
@@ -751,11 +818,12 @@ var UserCreateByUsernameRequest = {
751
818
  message.username = object.username ?? "";
752
819
  message.password = object.password ?? void 0;
753
820
  message.anonymousId = object.anonymousId ?? void 0;
821
+ message.realm = object.realm ?? void 0;
754
822
  return message;
755
823
  }
756
824
  };
757
825
  function createBaseUserChangePass() {
758
- return { email: "", password: void 0 };
826
+ return { email: "", password: void 0, realm: void 0 };
759
827
  }
760
828
  var UserChangePass = {
761
829
  encode(message, writer = new import_wire2.BinaryWriter()) {
@@ -765,6 +833,9 @@ var UserChangePass = {
765
833
  if (message.password !== void 0) {
766
834
  writer.uint32(18).string(message.password);
767
835
  }
836
+ if (message.realm !== void 0) {
837
+ writer.uint32(26).string(message.realm);
838
+ }
768
839
  return writer;
769
840
  },
770
841
  decode(input, length) {
@@ -794,6 +865,13 @@ var UserChangePass = {
794
865
  message.password = reader.string();
795
866
  continue;
796
867
  }
868
+ case 3: {
869
+ if (tag !== 26) {
870
+ break;
871
+ }
872
+ message.realm = reader.string();
873
+ continue;
874
+ }
797
875
  }
798
876
  if ((tag & 7) === 4 || tag === 0) {
799
877
  break;
@@ -808,7 +886,8 @@ var UserChangePass = {
808
886
  fromJSON(object) {
809
887
  return {
810
888
  email: isSet(object.email) ? globalThis.String(object.email) : "",
811
- password: isSet(object.password) ? globalThis.String(object.password) : void 0
889
+ password: isSet(object.password) ? globalThis.String(object.password) : void 0,
890
+ realm: isSet(object.realm) ? globalThis.String(object.realm) : void 0
812
891
  };
813
892
  },
814
893
  toJSON(message) {
@@ -819,6 +898,9 @@ var UserChangePass = {
819
898
  if (message.password !== void 0) {
820
899
  obj.password = message.password;
821
900
  }
901
+ if (message.realm !== void 0) {
902
+ obj.realm = message.realm;
903
+ }
822
904
  return obj;
823
905
  },
824
906
  create(base) {
@@ -828,6 +910,7 @@ var UserChangePass = {
828
910
  const message = createBaseUserChangePass();
829
911
  message.email = object.email ?? "";
830
912
  message.password = object.password ?? void 0;
913
+ message.realm = object.realm ?? void 0;
831
914
  return message;
832
915
  }
833
916
  };
@@ -1438,7 +1521,7 @@ var UserCreateResponse = {
1438
1521
  }
1439
1522
  };
1440
1523
  function createBaseTeam() {
1441
- return { id: "", name: "", parentTeam: "", isDefault: false };
1524
+ return { id: "", name: "", parentTeam: "", isDefault: false, realmEnabled: false, realmSlug: void 0 };
1442
1525
  }
1443
1526
  var Team = {
1444
1527
  encode(message, writer = new import_wire2.BinaryWriter()) {
@@ -1454,6 +1537,12 @@ var Team = {
1454
1537
  if (message.isDefault !== false) {
1455
1538
  writer.uint32(32).bool(message.isDefault);
1456
1539
  }
1540
+ if (message.realmEnabled !== false) {
1541
+ writer.uint32(40).bool(message.realmEnabled);
1542
+ }
1543
+ if (message.realmSlug !== void 0) {
1544
+ writer.uint32(50).string(message.realmSlug);
1545
+ }
1457
1546
  return writer;
1458
1547
  },
1459
1548
  decode(input, length) {
@@ -1497,6 +1586,20 @@ var Team = {
1497
1586
  message.isDefault = reader.bool();
1498
1587
  continue;
1499
1588
  }
1589
+ case 5: {
1590
+ if (tag !== 40) {
1591
+ break;
1592
+ }
1593
+ message.realmEnabled = reader.bool();
1594
+ continue;
1595
+ }
1596
+ case 6: {
1597
+ if (tag !== 50) {
1598
+ break;
1599
+ }
1600
+ message.realmSlug = reader.string();
1601
+ continue;
1602
+ }
1500
1603
  }
1501
1604
  if ((tag & 7) === 4 || tag === 0) {
1502
1605
  break;
@@ -1513,7 +1616,9 @@ var Team = {
1513
1616
  id: isSet(object.id) ? globalThis.String(object.id) : "",
1514
1617
  name: isSet(object.name) ? globalThis.String(object.name) : "",
1515
1618
  parentTeam: isSet(object.parentTeam) ? globalThis.String(object.parentTeam) : "",
1516
- isDefault: isSet(object.isDefault) ? globalThis.Boolean(object.isDefault) : false
1619
+ isDefault: isSet(object.isDefault) ? globalThis.Boolean(object.isDefault) : false,
1620
+ realmEnabled: isSet(object.realmEnabled) ? globalThis.Boolean(object.realmEnabled) : false,
1621
+ realmSlug: isSet(object.realmSlug) ? globalThis.String(object.realmSlug) : void 0
1517
1622
  };
1518
1623
  },
1519
1624
  toJSON(message) {
@@ -1530,6 +1635,12 @@ var Team = {
1530
1635
  if (message.isDefault !== false) {
1531
1636
  obj.isDefault = message.isDefault;
1532
1637
  }
1638
+ if (message.realmEnabled !== false) {
1639
+ obj.realmEnabled = message.realmEnabled;
1640
+ }
1641
+ if (message.realmSlug !== void 0) {
1642
+ obj.realmSlug = message.realmSlug;
1643
+ }
1533
1644
  return obj;
1534
1645
  },
1535
1646
  create(base) {
@@ -1541,6 +1652,8 @@ var Team = {
1541
1652
  message.name = object.name ?? "";
1542
1653
  message.parentTeam = object.parentTeam ?? "";
1543
1654
  message.isDefault = object.isDefault ?? false;
1655
+ message.realmEnabled = object.realmEnabled ?? false;
1656
+ message.realmSlug = object.realmSlug ?? void 0;
1544
1657
  return message;
1545
1658
  }
1546
1659
  };
@@ -1681,6 +1794,126 @@ var ModifyTeamMembersRequest = {
1681
1794
  return message;
1682
1795
  }
1683
1796
  };
1797
+ function createBaseGetUserRequest() {
1798
+ return { userId: "" };
1799
+ }
1800
+ var GetUserRequest = {
1801
+ encode(message, writer = new import_wire2.BinaryWriter()) {
1802
+ if (message.userId !== "") {
1803
+ writer.uint32(10).string(message.userId);
1804
+ }
1805
+ return writer;
1806
+ },
1807
+ decode(input, length) {
1808
+ const reader = input instanceof import_wire2.BinaryReader ? input : new import_wire2.BinaryReader(input);
1809
+ const previousRecursionDepth = reader.__tsProtoDecodeDepth ?? 0;
1810
+ if (previousRecursionDepth >= 100) {
1811
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
1812
+ }
1813
+ reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
1814
+ try {
1815
+ const end = length === void 0 ? reader.len : reader.pos + length;
1816
+ const message = createBaseGetUserRequest();
1817
+ while (reader.pos < end) {
1818
+ const tag = reader.uint32();
1819
+ switch (tag >>> 3) {
1820
+ case 1: {
1821
+ if (tag !== 10) {
1822
+ break;
1823
+ }
1824
+ message.userId = reader.string();
1825
+ continue;
1826
+ }
1827
+ }
1828
+ if ((tag & 7) === 4 || tag === 0) {
1829
+ break;
1830
+ }
1831
+ reader.skip(tag & 7);
1832
+ }
1833
+ return message;
1834
+ } finally {
1835
+ reader.__tsProtoDecodeDepth = previousRecursionDepth;
1836
+ }
1837
+ },
1838
+ fromJSON(object) {
1839
+ return { userId: isSet(object.userId) ? globalThis.String(object.userId) : "" };
1840
+ },
1841
+ toJSON(message) {
1842
+ const obj = {};
1843
+ if (message.userId !== "") {
1844
+ obj.userId = message.userId;
1845
+ }
1846
+ return obj;
1847
+ },
1848
+ create(base) {
1849
+ return GetUserRequest.fromPartial(base ?? {});
1850
+ },
1851
+ fromPartial(object) {
1852
+ const message = createBaseGetUserRequest();
1853
+ message.userId = object.userId ?? "";
1854
+ return message;
1855
+ }
1856
+ };
1857
+ function createBaseGetUserResponse() {
1858
+ return { user: "" };
1859
+ }
1860
+ var GetUserResponse = {
1861
+ encode(message, writer = new import_wire2.BinaryWriter()) {
1862
+ if (message.user !== "") {
1863
+ writer.uint32(10).string(message.user);
1864
+ }
1865
+ return writer;
1866
+ },
1867
+ decode(input, length) {
1868
+ const reader = input instanceof import_wire2.BinaryReader ? input : new import_wire2.BinaryReader(input);
1869
+ const previousRecursionDepth = reader.__tsProtoDecodeDepth ?? 0;
1870
+ if (previousRecursionDepth >= 100) {
1871
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
1872
+ }
1873
+ reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
1874
+ try {
1875
+ const end = length === void 0 ? reader.len : reader.pos + length;
1876
+ const message = createBaseGetUserResponse();
1877
+ while (reader.pos < end) {
1878
+ const tag = reader.uint32();
1879
+ switch (tag >>> 3) {
1880
+ case 1: {
1881
+ if (tag !== 10) {
1882
+ break;
1883
+ }
1884
+ message.user = reader.string();
1885
+ continue;
1886
+ }
1887
+ }
1888
+ if ((tag & 7) === 4 || tag === 0) {
1889
+ break;
1890
+ }
1891
+ reader.skip(tag & 7);
1892
+ }
1893
+ return message;
1894
+ } finally {
1895
+ reader.__tsProtoDecodeDepth = previousRecursionDepth;
1896
+ }
1897
+ },
1898
+ fromJSON(object) {
1899
+ return { user: isSet(object.user) ? globalThis.String(object.user) : "" };
1900
+ },
1901
+ toJSON(message) {
1902
+ const obj = {};
1903
+ if (message.user !== "") {
1904
+ obj.user = message.user;
1905
+ }
1906
+ return obj;
1907
+ },
1908
+ create(base) {
1909
+ return GetUserResponse.fromPartial(base ?? {});
1910
+ },
1911
+ fromPartial(object) {
1912
+ const message = createBaseGetUserResponse();
1913
+ message.user = object.user ?? "";
1914
+ return message;
1915
+ }
1916
+ };
1684
1917
  function createBaseValidateAccessTokenRequest() {
1685
1918
  return { accessToken: "", path: void 0 };
1686
1919
  }
@@ -1759,7 +1992,7 @@ var ValidateAccessTokenRequest = {
1759
1992
  }
1760
1993
  };
1761
1994
  function createBaseValidateAccessTokenResponse() {
1762
- return { status: 0, userId: void 0 };
1995
+ return { status: 0, userId: void 0, realm: void 0, homeRealm: void 0 };
1763
1996
  }
1764
1997
  var ValidateAccessTokenResponse = {
1765
1998
  encode(message, writer = new import_wire2.BinaryWriter()) {
@@ -1769,6 +2002,12 @@ var ValidateAccessTokenResponse = {
1769
2002
  if (message.userId !== void 0) {
1770
2003
  writer.uint32(18).string(message.userId);
1771
2004
  }
2005
+ if (message.realm !== void 0) {
2006
+ writer.uint32(26).string(message.realm);
2007
+ }
2008
+ if (message.homeRealm !== void 0) {
2009
+ writer.uint32(34).string(message.homeRealm);
2010
+ }
1772
2011
  return writer;
1773
2012
  },
1774
2013
  decode(input, length) {
@@ -1798,6 +2037,20 @@ var ValidateAccessTokenResponse = {
1798
2037
  message.userId = reader.string();
1799
2038
  continue;
1800
2039
  }
2040
+ case 3: {
2041
+ if (tag !== 26) {
2042
+ break;
2043
+ }
2044
+ message.realm = reader.string();
2045
+ continue;
2046
+ }
2047
+ case 4: {
2048
+ if (tag !== 34) {
2049
+ break;
2050
+ }
2051
+ message.homeRealm = reader.string();
2052
+ continue;
2053
+ }
1801
2054
  }
1802
2055
  if ((tag & 7) === 4 || tag === 0) {
1803
2056
  break;
@@ -1812,7 +2065,9 @@ var ValidateAccessTokenResponse = {
1812
2065
  fromJSON(object) {
1813
2066
  return {
1814
2067
  status: isSet(object.status) ? validateAccessTokenResponse_StatusFromJSON(object.status) : 0,
1815
- userId: isSet(object.userId) ? globalThis.String(object.userId) : void 0
2068
+ userId: isSet(object.userId) ? globalThis.String(object.userId) : void 0,
2069
+ realm: isSet(object.realm) ? globalThis.String(object.realm) : void 0,
2070
+ homeRealm: isSet(object.homeRealm) ? globalThis.String(object.homeRealm) : void 0
1816
2071
  };
1817
2072
  },
1818
2073
  toJSON(message) {
@@ -1823,6 +2078,12 @@ var ValidateAccessTokenResponse = {
1823
2078
  if (message.userId !== void 0) {
1824
2079
  obj.userId = message.userId;
1825
2080
  }
2081
+ if (message.realm !== void 0) {
2082
+ obj.realm = message.realm;
2083
+ }
2084
+ if (message.homeRealm !== void 0) {
2085
+ obj.homeRealm = message.homeRealm;
2086
+ }
1826
2087
  return obj;
1827
2088
  },
1828
2089
  create(base) {
@@ -1832,17 +2093,22 @@ var ValidateAccessTokenResponse = {
1832
2093
  const message = createBaseValidateAccessTokenResponse();
1833
2094
  message.status = object.status ?? 0;
1834
2095
  message.userId = object.userId ?? void 0;
2096
+ message.realm = object.realm ?? void 0;
2097
+ message.homeRealm = object.homeRealm ?? void 0;
1835
2098
  return message;
1836
2099
  }
1837
2100
  };
1838
2101
  function createBaseAnonymousUserCreateRequest() {
1839
- return { clientId: "" };
2102
+ return { clientId: "", realm: void 0 };
1840
2103
  }
1841
2104
  var AnonymousUserCreateRequest = {
1842
2105
  encode(message, writer = new import_wire2.BinaryWriter()) {
1843
2106
  if (message.clientId !== "") {
1844
2107
  writer.uint32(10).string(message.clientId);
1845
2108
  }
2109
+ if (message.realm !== void 0) {
2110
+ writer.uint32(18).string(message.realm);
2111
+ }
1846
2112
  return writer;
1847
2113
  },
1848
2114
  decode(input, length) {
@@ -1865,6 +2131,13 @@ var AnonymousUserCreateRequest = {
1865
2131
  message.clientId = reader.string();
1866
2132
  continue;
1867
2133
  }
2134
+ case 2: {
2135
+ if (tag !== 18) {
2136
+ break;
2137
+ }
2138
+ message.realm = reader.string();
2139
+ continue;
2140
+ }
1868
2141
  }
1869
2142
  if ((tag & 7) === 4 || tag === 0) {
1870
2143
  break;
@@ -1877,13 +2150,19 @@ var AnonymousUserCreateRequest = {
1877
2150
  }
1878
2151
  },
1879
2152
  fromJSON(object) {
1880
- return { clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "" };
2153
+ return {
2154
+ clientId: isSet(object.clientId) ? globalThis.String(object.clientId) : "",
2155
+ realm: isSet(object.realm) ? globalThis.String(object.realm) : void 0
2156
+ };
1881
2157
  },
1882
2158
  toJSON(message) {
1883
2159
  const obj = {};
1884
2160
  if (message.clientId !== "") {
1885
2161
  obj.clientId = message.clientId;
1886
2162
  }
2163
+ if (message.realm !== void 0) {
2164
+ obj.realm = message.realm;
2165
+ }
1887
2166
  return obj;
1888
2167
  },
1889
2168
  create(base) {
@@ -1892,6 +2171,7 @@ var AnonymousUserCreateRequest = {
1892
2171
  fromPartial(object) {
1893
2172
  const message = createBaseAnonymousUserCreateRequest();
1894
2173
  message.clientId = object.clientId ?? "";
2174
+ message.realm = object.realm ?? void 0;
1895
2175
  return message;
1896
2176
  }
1897
2177
  };
@@ -2458,80 +2738,615 @@ var UpdateTeamRequest = {
2458
2738
  return message;
2459
2739
  }
2460
2740
  };
2461
- var AuthenticationDefinition = {
2462
- name: "Authentication",
2463
- fullName: "authentication.Authentication",
2464
- methods: {
2465
- userLogin: {
2466
- name: "UserLogin",
2467
- requestType: UserLoginRequest,
2468
- requestStream: false,
2469
- responseType: UserLoginResponse,
2470
- responseStream: false,
2471
- options: {}
2472
- },
2473
- userCreate: {
2474
- name: "UserCreate",
2475
- requestType: UserCreateRequest,
2476
- requestStream: false,
2477
- responseType: UserCreateResponse,
2478
- responseStream: false,
2479
- options: {}
2480
- },
2481
- userCreateByUsername: {
2482
- name: "UserCreateByUsername",
2483
- requestType: UserCreateByUsernameRequest,
2484
- requestStream: false,
2485
- responseType: UserCreateResponse,
2486
- responseStream: false,
2487
- options: {}
2488
- },
2489
- userModifyStatus: {
2490
- name: "UserModifyStatus",
2491
- requestType: UserModifyStatusRequest,
2492
- requestStream: false,
2493
- responseType: UserModifyStatusResponse,
2494
- responseStream: false,
2495
- options: {}
2496
- },
2497
- anonymousUserCreate: {
2498
- name: "AnonymousUserCreate",
2499
- requestType: AnonymousUserCreateRequest,
2500
- requestStream: false,
2501
- responseType: UserLoginResponse,
2502
- responseStream: false,
2503
- options: {}
2504
- },
2505
- changePass: {
2506
- name: "ChangePass",
2507
- requestType: UserChangePass,
2508
- requestStream: false,
2509
- responseType: UserCreateResponse,
2510
- responseStream: false,
2511
- options: {}
2512
- },
2513
- changeEmail: {
2514
- name: "ChangeEmail",
2515
- requestType: UserChangeEmail,
2516
- requestStream: false,
2517
- responseType: UserChangeEmailResponse,
2518
- responseStream: false,
2519
- options: {}
2520
- },
2521
- userDelete: {
2522
- name: "UserDelete",
2523
- requestType: UserDeleteRequest,
2524
- requestStream: false,
2525
- responseType: UserDeleteResponse,
2526
- responseStream: false,
2527
- options: {}
2528
- },
2529
- getTeam: {
2530
- name: "GetTeam",
2531
- requestType: GetTeamRequest,
2532
- requestStream: false,
2533
- responseType: Team,
2534
- responseStream: false,
2741
+ function createBaseSetTeamRealmRequest() {
2742
+ return { teamId: "", slug: "", settingsJson: void 0, force: false };
2743
+ }
2744
+ var SetTeamRealmRequest = {
2745
+ encode(message, writer = new import_wire2.BinaryWriter()) {
2746
+ if (message.teamId !== "") {
2747
+ writer.uint32(10).string(message.teamId);
2748
+ }
2749
+ if (message.slug !== "") {
2750
+ writer.uint32(18).string(message.slug);
2751
+ }
2752
+ if (message.settingsJson !== void 0) {
2753
+ writer.uint32(26).string(message.settingsJson);
2754
+ }
2755
+ if (message.force !== false) {
2756
+ writer.uint32(32).bool(message.force);
2757
+ }
2758
+ return writer;
2759
+ },
2760
+ decode(input, length) {
2761
+ const reader = input instanceof import_wire2.BinaryReader ? input : new import_wire2.BinaryReader(input);
2762
+ const previousRecursionDepth = reader.__tsProtoDecodeDepth ?? 0;
2763
+ if (previousRecursionDepth >= 100) {
2764
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
2765
+ }
2766
+ reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
2767
+ try {
2768
+ const end = length === void 0 ? reader.len : reader.pos + length;
2769
+ const message = createBaseSetTeamRealmRequest();
2770
+ while (reader.pos < end) {
2771
+ const tag = reader.uint32();
2772
+ switch (tag >>> 3) {
2773
+ case 1: {
2774
+ if (tag !== 10) {
2775
+ break;
2776
+ }
2777
+ message.teamId = reader.string();
2778
+ continue;
2779
+ }
2780
+ case 2: {
2781
+ if (tag !== 18) {
2782
+ break;
2783
+ }
2784
+ message.slug = reader.string();
2785
+ continue;
2786
+ }
2787
+ case 3: {
2788
+ if (tag !== 26) {
2789
+ break;
2790
+ }
2791
+ message.settingsJson = reader.string();
2792
+ continue;
2793
+ }
2794
+ case 4: {
2795
+ if (tag !== 32) {
2796
+ break;
2797
+ }
2798
+ message.force = reader.bool();
2799
+ continue;
2800
+ }
2801
+ }
2802
+ if ((tag & 7) === 4 || tag === 0) {
2803
+ break;
2804
+ }
2805
+ reader.skip(tag & 7);
2806
+ }
2807
+ return message;
2808
+ } finally {
2809
+ reader.__tsProtoDecodeDepth = previousRecursionDepth;
2810
+ }
2811
+ },
2812
+ fromJSON(object) {
2813
+ return {
2814
+ teamId: isSet(object.teamId) ? globalThis.String(object.teamId) : "",
2815
+ slug: isSet(object.slug) ? globalThis.String(object.slug) : "",
2816
+ settingsJson: isSet(object.settingsJson) ? globalThis.String(object.settingsJson) : void 0,
2817
+ force: isSet(object.force) ? globalThis.Boolean(object.force) : false
2818
+ };
2819
+ },
2820
+ toJSON(message) {
2821
+ const obj = {};
2822
+ if (message.teamId !== "") {
2823
+ obj.teamId = message.teamId;
2824
+ }
2825
+ if (message.slug !== "") {
2826
+ obj.slug = message.slug;
2827
+ }
2828
+ if (message.settingsJson !== void 0) {
2829
+ obj.settingsJson = message.settingsJson;
2830
+ }
2831
+ if (message.force !== false) {
2832
+ obj.force = message.force;
2833
+ }
2834
+ return obj;
2835
+ },
2836
+ create(base) {
2837
+ return SetTeamRealmRequest.fromPartial(base ?? {});
2838
+ },
2839
+ fromPartial(object) {
2840
+ const message = createBaseSetTeamRealmRequest();
2841
+ message.teamId = object.teamId ?? "";
2842
+ message.slug = object.slug ?? "";
2843
+ message.settingsJson = object.settingsJson ?? void 0;
2844
+ message.force = object.force ?? false;
2845
+ return message;
2846
+ }
2847
+ };
2848
+ function createBaseGetRealmSettingsRequest() {
2849
+ return { teamId: "" };
2850
+ }
2851
+ var GetRealmSettingsRequest = {
2852
+ encode(message, writer = new import_wire2.BinaryWriter()) {
2853
+ if (message.teamId !== "") {
2854
+ writer.uint32(10).string(message.teamId);
2855
+ }
2856
+ return writer;
2857
+ },
2858
+ decode(input, length) {
2859
+ const reader = input instanceof import_wire2.BinaryReader ? input : new import_wire2.BinaryReader(input);
2860
+ const previousRecursionDepth = reader.__tsProtoDecodeDepth ?? 0;
2861
+ if (previousRecursionDepth >= 100) {
2862
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
2863
+ }
2864
+ reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
2865
+ try {
2866
+ const end = length === void 0 ? reader.len : reader.pos + length;
2867
+ const message = createBaseGetRealmSettingsRequest();
2868
+ while (reader.pos < end) {
2869
+ const tag = reader.uint32();
2870
+ switch (tag >>> 3) {
2871
+ case 1: {
2872
+ if (tag !== 10) {
2873
+ break;
2874
+ }
2875
+ message.teamId = reader.string();
2876
+ continue;
2877
+ }
2878
+ }
2879
+ if ((tag & 7) === 4 || tag === 0) {
2880
+ break;
2881
+ }
2882
+ reader.skip(tag & 7);
2883
+ }
2884
+ return message;
2885
+ } finally {
2886
+ reader.__tsProtoDecodeDepth = previousRecursionDepth;
2887
+ }
2888
+ },
2889
+ fromJSON(object) {
2890
+ return { teamId: isSet(object.teamId) ? globalThis.String(object.teamId) : "" };
2891
+ },
2892
+ toJSON(message) {
2893
+ const obj = {};
2894
+ if (message.teamId !== "") {
2895
+ obj.teamId = message.teamId;
2896
+ }
2897
+ return obj;
2898
+ },
2899
+ create(base) {
2900
+ return GetRealmSettingsRequest.fromPartial(base ?? {});
2901
+ },
2902
+ fromPartial(object) {
2903
+ const message = createBaseGetRealmSettingsRequest();
2904
+ message.teamId = object.teamId ?? "";
2905
+ return message;
2906
+ }
2907
+ };
2908
+ function createBaseRealmResponse() {
2909
+ return { team: void 0, settingsJson: "", homeCount: 0, guestCount: 0 };
2910
+ }
2911
+ var RealmResponse = {
2912
+ encode(message, writer = new import_wire2.BinaryWriter()) {
2913
+ if (message.team !== void 0) {
2914
+ Team.encode(message.team, writer.uint32(10).fork()).join();
2915
+ }
2916
+ if (message.settingsJson !== "") {
2917
+ writer.uint32(18).string(message.settingsJson);
2918
+ }
2919
+ if (message.homeCount !== 0) {
2920
+ writer.uint32(24).int32(message.homeCount);
2921
+ }
2922
+ if (message.guestCount !== 0) {
2923
+ writer.uint32(32).int32(message.guestCount);
2924
+ }
2925
+ return writer;
2926
+ },
2927
+ decode(input, length) {
2928
+ const reader = input instanceof import_wire2.BinaryReader ? input : new import_wire2.BinaryReader(input);
2929
+ const previousRecursionDepth = reader.__tsProtoDecodeDepth ?? 0;
2930
+ if (previousRecursionDepth >= 100) {
2931
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
2932
+ }
2933
+ reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
2934
+ try {
2935
+ const end = length === void 0 ? reader.len : reader.pos + length;
2936
+ const message = createBaseRealmResponse();
2937
+ while (reader.pos < end) {
2938
+ const tag = reader.uint32();
2939
+ switch (tag >>> 3) {
2940
+ case 1: {
2941
+ if (tag !== 10) {
2942
+ break;
2943
+ }
2944
+ message.team = Team.decode(reader, reader.uint32());
2945
+ continue;
2946
+ }
2947
+ case 2: {
2948
+ if (tag !== 18) {
2949
+ break;
2950
+ }
2951
+ message.settingsJson = reader.string();
2952
+ continue;
2953
+ }
2954
+ case 3: {
2955
+ if (tag !== 24) {
2956
+ break;
2957
+ }
2958
+ message.homeCount = reader.int32();
2959
+ continue;
2960
+ }
2961
+ case 4: {
2962
+ if (tag !== 32) {
2963
+ break;
2964
+ }
2965
+ message.guestCount = reader.int32();
2966
+ continue;
2967
+ }
2968
+ }
2969
+ if ((tag & 7) === 4 || tag === 0) {
2970
+ break;
2971
+ }
2972
+ reader.skip(tag & 7);
2973
+ }
2974
+ return message;
2975
+ } finally {
2976
+ reader.__tsProtoDecodeDepth = previousRecursionDepth;
2977
+ }
2978
+ },
2979
+ fromJSON(object) {
2980
+ return {
2981
+ team: isSet(object.team) ? Team.fromJSON(object.team) : void 0,
2982
+ settingsJson: isSet(object.settingsJson) ? globalThis.String(object.settingsJson) : "",
2983
+ homeCount: isSet(object.homeCount) ? globalThis.Number(object.homeCount) : 0,
2984
+ guestCount: isSet(object.guestCount) ? globalThis.Number(object.guestCount) : 0
2985
+ };
2986
+ },
2987
+ toJSON(message) {
2988
+ const obj = {};
2989
+ if (message.team !== void 0) {
2990
+ obj.team = Team.toJSON(message.team);
2991
+ }
2992
+ if (message.settingsJson !== "") {
2993
+ obj.settingsJson = message.settingsJson;
2994
+ }
2995
+ if (message.homeCount !== 0) {
2996
+ obj.homeCount = Math.round(message.homeCount);
2997
+ }
2998
+ if (message.guestCount !== 0) {
2999
+ obj.guestCount = Math.round(message.guestCount);
3000
+ }
3001
+ return obj;
3002
+ },
3003
+ create(base) {
3004
+ return RealmResponse.fromPartial(base ?? {});
3005
+ },
3006
+ fromPartial(object) {
3007
+ const message = createBaseRealmResponse();
3008
+ message.team = object.team !== void 0 && object.team !== null ? Team.fromPartial(object.team) : void 0;
3009
+ message.settingsJson = object.settingsJson ?? "";
3010
+ message.homeCount = object.homeCount ?? 0;
3011
+ message.guestCount = object.guestCount ?? 0;
3012
+ return message;
3013
+ }
3014
+ };
3015
+ function createBaseUnsetTeamRealmRequest() {
3016
+ return { teamId: "", force: false };
3017
+ }
3018
+ var UnsetTeamRealmRequest = {
3019
+ encode(message, writer = new import_wire2.BinaryWriter()) {
3020
+ if (message.teamId !== "") {
3021
+ writer.uint32(10).string(message.teamId);
3022
+ }
3023
+ if (message.force !== false) {
3024
+ writer.uint32(16).bool(message.force);
3025
+ }
3026
+ return writer;
3027
+ },
3028
+ decode(input, length) {
3029
+ const reader = input instanceof import_wire2.BinaryReader ? input : new import_wire2.BinaryReader(input);
3030
+ const previousRecursionDepth = reader.__tsProtoDecodeDepth ?? 0;
3031
+ if (previousRecursionDepth >= 100) {
3032
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
3033
+ }
3034
+ reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
3035
+ try {
3036
+ const end = length === void 0 ? reader.len : reader.pos + length;
3037
+ const message = createBaseUnsetTeamRealmRequest();
3038
+ while (reader.pos < end) {
3039
+ const tag = reader.uint32();
3040
+ switch (tag >>> 3) {
3041
+ case 1: {
3042
+ if (tag !== 10) {
3043
+ break;
3044
+ }
3045
+ message.teamId = reader.string();
3046
+ continue;
3047
+ }
3048
+ case 2: {
3049
+ if (tag !== 16) {
3050
+ break;
3051
+ }
3052
+ message.force = reader.bool();
3053
+ continue;
3054
+ }
3055
+ }
3056
+ if ((tag & 7) === 4 || tag === 0) {
3057
+ break;
3058
+ }
3059
+ reader.skip(tag & 7);
3060
+ }
3061
+ return message;
3062
+ } finally {
3063
+ reader.__tsProtoDecodeDepth = previousRecursionDepth;
3064
+ }
3065
+ },
3066
+ fromJSON(object) {
3067
+ return {
3068
+ teamId: isSet(object.teamId) ? globalThis.String(object.teamId) : "",
3069
+ force: isSet(object.force) ? globalThis.Boolean(object.force) : false
3070
+ };
3071
+ },
3072
+ toJSON(message) {
3073
+ const obj = {};
3074
+ if (message.teamId !== "") {
3075
+ obj.teamId = message.teamId;
3076
+ }
3077
+ if (message.force !== false) {
3078
+ obj.force = message.force;
3079
+ }
3080
+ return obj;
3081
+ },
3082
+ create(base) {
3083
+ return UnsetTeamRealmRequest.fromPartial(base ?? {});
3084
+ },
3085
+ fromPartial(object) {
3086
+ const message = createBaseUnsetTeamRealmRequest();
3087
+ message.teamId = object.teamId ?? "";
3088
+ message.force = object.force ?? false;
3089
+ return message;
3090
+ }
3091
+ };
3092
+ function createBaseUnsetTeamRealmResponse() {
3093
+ return { message: "", blockedUsers: 0 };
3094
+ }
3095
+ var UnsetTeamRealmResponse = {
3096
+ encode(message, writer = new import_wire2.BinaryWriter()) {
3097
+ if (message.message !== "") {
3098
+ writer.uint32(10).string(message.message);
3099
+ }
3100
+ if (message.blockedUsers !== 0) {
3101
+ writer.uint32(16).int32(message.blockedUsers);
3102
+ }
3103
+ return writer;
3104
+ },
3105
+ decode(input, length) {
3106
+ const reader = input instanceof import_wire2.BinaryReader ? input : new import_wire2.BinaryReader(input);
3107
+ const previousRecursionDepth = reader.__tsProtoDecodeDepth ?? 0;
3108
+ if (previousRecursionDepth >= 100) {
3109
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
3110
+ }
3111
+ reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
3112
+ try {
3113
+ const end = length === void 0 ? reader.len : reader.pos + length;
3114
+ const message = createBaseUnsetTeamRealmResponse();
3115
+ while (reader.pos < end) {
3116
+ const tag = reader.uint32();
3117
+ switch (tag >>> 3) {
3118
+ case 1: {
3119
+ if (tag !== 10) {
3120
+ break;
3121
+ }
3122
+ message.message = reader.string();
3123
+ continue;
3124
+ }
3125
+ case 2: {
3126
+ if (tag !== 16) {
3127
+ break;
3128
+ }
3129
+ message.blockedUsers = reader.int32();
3130
+ continue;
3131
+ }
3132
+ }
3133
+ if ((tag & 7) === 4 || tag === 0) {
3134
+ break;
3135
+ }
3136
+ reader.skip(tag & 7);
3137
+ }
3138
+ return message;
3139
+ } finally {
3140
+ reader.__tsProtoDecodeDepth = previousRecursionDepth;
3141
+ }
3142
+ },
3143
+ fromJSON(object) {
3144
+ return {
3145
+ message: isSet(object.message) ? globalThis.String(object.message) : "",
3146
+ blockedUsers: isSet(object.blockedUsers) ? globalThis.Number(object.blockedUsers) : 0
3147
+ };
3148
+ },
3149
+ toJSON(message) {
3150
+ const obj = {};
3151
+ if (message.message !== "") {
3152
+ obj.message = message.message;
3153
+ }
3154
+ if (message.blockedUsers !== 0) {
3155
+ obj.blockedUsers = Math.round(message.blockedUsers);
3156
+ }
3157
+ return obj;
3158
+ },
3159
+ create(base) {
3160
+ return UnsetTeamRealmResponse.fromPartial(base ?? {});
3161
+ },
3162
+ fromPartial(object) {
3163
+ const message = createBaseUnsetTeamRealmResponse();
3164
+ message.message = object.message ?? "";
3165
+ message.blockedUsers = object.blockedUsers ?? 0;
3166
+ return message;
3167
+ }
3168
+ };
3169
+ function createBaseRealmMembershipRequest() {
3170
+ return { teamId: "", userId: "", type: "", force: false };
3171
+ }
3172
+ var RealmMembershipRequest = {
3173
+ encode(message, writer = new import_wire2.BinaryWriter()) {
3174
+ if (message.teamId !== "") {
3175
+ writer.uint32(10).string(message.teamId);
3176
+ }
3177
+ if (message.userId !== "") {
3178
+ writer.uint32(18).string(message.userId);
3179
+ }
3180
+ if (message.type !== "") {
3181
+ writer.uint32(26).string(message.type);
3182
+ }
3183
+ if (message.force !== false) {
3184
+ writer.uint32(32).bool(message.force);
3185
+ }
3186
+ return writer;
3187
+ },
3188
+ decode(input, length) {
3189
+ const reader = input instanceof import_wire2.BinaryReader ? input : new import_wire2.BinaryReader(input);
3190
+ const previousRecursionDepth = reader.__tsProtoDecodeDepth ?? 0;
3191
+ if (previousRecursionDepth >= 100) {
3192
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
3193
+ }
3194
+ reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
3195
+ try {
3196
+ const end = length === void 0 ? reader.len : reader.pos + length;
3197
+ const message = createBaseRealmMembershipRequest();
3198
+ while (reader.pos < end) {
3199
+ const tag = reader.uint32();
3200
+ switch (tag >>> 3) {
3201
+ case 1: {
3202
+ if (tag !== 10) {
3203
+ break;
3204
+ }
3205
+ message.teamId = reader.string();
3206
+ continue;
3207
+ }
3208
+ case 2: {
3209
+ if (tag !== 18) {
3210
+ break;
3211
+ }
3212
+ message.userId = reader.string();
3213
+ continue;
3214
+ }
3215
+ case 3: {
3216
+ if (tag !== 26) {
3217
+ break;
3218
+ }
3219
+ message.type = reader.string();
3220
+ continue;
3221
+ }
3222
+ case 4: {
3223
+ if (tag !== 32) {
3224
+ break;
3225
+ }
3226
+ message.force = reader.bool();
3227
+ continue;
3228
+ }
3229
+ }
3230
+ if ((tag & 7) === 4 || tag === 0) {
3231
+ break;
3232
+ }
3233
+ reader.skip(tag & 7);
3234
+ }
3235
+ return message;
3236
+ } finally {
3237
+ reader.__tsProtoDecodeDepth = previousRecursionDepth;
3238
+ }
3239
+ },
3240
+ fromJSON(object) {
3241
+ return {
3242
+ teamId: isSet(object.teamId) ? globalThis.String(object.teamId) : "",
3243
+ userId: isSet(object.userId) ? globalThis.String(object.userId) : "",
3244
+ type: isSet(object.type) ? globalThis.String(object.type) : "",
3245
+ force: isSet(object.force) ? globalThis.Boolean(object.force) : false
3246
+ };
3247
+ },
3248
+ toJSON(message) {
3249
+ const obj = {};
3250
+ if (message.teamId !== "") {
3251
+ obj.teamId = message.teamId;
3252
+ }
3253
+ if (message.userId !== "") {
3254
+ obj.userId = message.userId;
3255
+ }
3256
+ if (message.type !== "") {
3257
+ obj.type = message.type;
3258
+ }
3259
+ if (message.force !== false) {
3260
+ obj.force = message.force;
3261
+ }
3262
+ return obj;
3263
+ },
3264
+ create(base) {
3265
+ return RealmMembershipRequest.fromPartial(base ?? {});
3266
+ },
3267
+ fromPartial(object) {
3268
+ const message = createBaseRealmMembershipRequest();
3269
+ message.teamId = object.teamId ?? "";
3270
+ message.userId = object.userId ?? "";
3271
+ message.type = object.type ?? "";
3272
+ message.force = object.force ?? false;
3273
+ return message;
3274
+ }
3275
+ };
3276
+ var AuthenticationDefinition = {
3277
+ name: "Authentication",
3278
+ fullName: "authentication.Authentication",
3279
+ methods: {
3280
+ userLogin: {
3281
+ name: "UserLogin",
3282
+ requestType: UserLoginRequest,
3283
+ requestStream: false,
3284
+ responseType: UserLoginResponse,
3285
+ responseStream: false,
3286
+ options: {}
3287
+ },
3288
+ userCreate: {
3289
+ name: "UserCreate",
3290
+ requestType: UserCreateRequest,
3291
+ requestStream: false,
3292
+ responseType: UserCreateResponse,
3293
+ responseStream: false,
3294
+ options: {}
3295
+ },
3296
+ userCreateByUsername: {
3297
+ name: "UserCreateByUsername",
3298
+ requestType: UserCreateByUsernameRequest,
3299
+ requestStream: false,
3300
+ responseType: UserCreateResponse,
3301
+ responseStream: false,
3302
+ options: {}
3303
+ },
3304
+ userModifyStatus: {
3305
+ name: "UserModifyStatus",
3306
+ requestType: UserModifyStatusRequest,
3307
+ requestStream: false,
3308
+ responseType: UserModifyStatusResponse,
3309
+ responseStream: false,
3310
+ options: {}
3311
+ },
3312
+ anonymousUserCreate: {
3313
+ name: "AnonymousUserCreate",
3314
+ requestType: AnonymousUserCreateRequest,
3315
+ requestStream: false,
3316
+ responseType: UserLoginResponse,
3317
+ responseStream: false,
3318
+ options: {}
3319
+ },
3320
+ changePass: {
3321
+ name: "ChangePass",
3322
+ requestType: UserChangePass,
3323
+ requestStream: false,
3324
+ responseType: UserCreateResponse,
3325
+ responseStream: false,
3326
+ options: {}
3327
+ },
3328
+ changeEmail: {
3329
+ name: "ChangeEmail",
3330
+ requestType: UserChangeEmail,
3331
+ requestStream: false,
3332
+ responseType: UserChangeEmailResponse,
3333
+ responseStream: false,
3334
+ options: {}
3335
+ },
3336
+ userDelete: {
3337
+ name: "UserDelete",
3338
+ requestType: UserDeleteRequest,
3339
+ requestStream: false,
3340
+ responseType: UserDeleteResponse,
3341
+ responseStream: false,
3342
+ options: {}
3343
+ },
3344
+ getTeam: {
3345
+ name: "GetTeam",
3346
+ requestType: GetTeamRequest,
3347
+ requestStream: false,
3348
+ responseType: Team,
3349
+ responseStream: false,
2535
3350
  options: {}
2536
3351
  },
2537
3352
  createTeam: {
@@ -2566,6 +3381,14 @@ var AuthenticationDefinition = {
2566
3381
  responseStream: false,
2567
3382
  options: {}
2568
3383
  },
3384
+ getUser: {
3385
+ name: "GetUser",
3386
+ requestType: GetUserRequest,
3387
+ requestStream: false,
3388
+ responseType: GetUserResponse,
3389
+ responseStream: false,
3390
+ options: {}
3391
+ },
2569
3392
  validateAccessToken: {
2570
3393
  name: "ValidateAccessToken",
2571
3394
  requestType: ValidateAccessTokenRequest,
@@ -2597,6 +3420,46 @@ var AuthenticationDefinition = {
2597
3420
  responseType: Team,
2598
3421
  responseStream: false,
2599
3422
  options: {}
3423
+ },
3424
+ setTeamRealm: {
3425
+ name: "SetTeamRealm",
3426
+ requestType: SetTeamRealmRequest,
3427
+ requestStream: false,
3428
+ responseType: RealmResponse,
3429
+ responseStream: false,
3430
+ options: {}
3431
+ },
3432
+ getRealmSettings: {
3433
+ name: "GetRealmSettings",
3434
+ requestType: GetRealmSettingsRequest,
3435
+ requestStream: false,
3436
+ responseType: RealmResponse,
3437
+ responseStream: false,
3438
+ options: {}
3439
+ },
3440
+ unsetTeamRealm: {
3441
+ name: "UnsetTeamRealm",
3442
+ requestType: UnsetTeamRealmRequest,
3443
+ requestStream: false,
3444
+ responseType: UnsetTeamRealmResponse,
3445
+ responseStream: false,
3446
+ options: {}
3447
+ },
3448
+ grantRealmMembership: {
3449
+ name: "GrantRealmMembership",
3450
+ requestType: RealmMembershipRequest,
3451
+ requestStream: false,
3452
+ responseType: Empty,
3453
+ responseStream: false,
3454
+ options: {}
3455
+ },
3456
+ revokeRealmMembership: {
3457
+ name: "RevokeRealmMembership",
3458
+ requestType: RealmMembershipRequest,
3459
+ requestStream: false,
3460
+ responseType: Empty,
3461
+ responseStream: false,
3462
+ options: {}
2600
3463
  }
2601
3464
  }
2602
3465
  };
@@ -3345,21 +4208,230 @@ var FindRelationRequest = {
3345
4208
  if (tag !== 18) {
3346
4209
  break;
3347
4210
  }
3348
- message.relation = reader.string();
3349
- continue;
3350
- }
3351
- case 3: {
3352
- if (tag !== 26) {
3353
- break;
3354
- }
3355
- message.resource = reader.string();
3356
- continue;
3357
- }
3358
- case 4: {
3359
- if (tag !== 34) {
3360
- break;
3361
- }
3362
- message.subjectType = reader.string();
4211
+ message.relation = reader.string();
4212
+ continue;
4213
+ }
4214
+ case 3: {
4215
+ if (tag !== 26) {
4216
+ break;
4217
+ }
4218
+ message.resource = reader.string();
4219
+ continue;
4220
+ }
4221
+ case 4: {
4222
+ if (tag !== 34) {
4223
+ break;
4224
+ }
4225
+ message.subjectType = reader.string();
4226
+ continue;
4227
+ }
4228
+ case 5: {
4229
+ if (tag !== 42) {
4230
+ break;
4231
+ }
4232
+ message.resourceType = reader.string();
4233
+ continue;
4234
+ }
4235
+ case 6: {
4236
+ if (tag !== 48) {
4237
+ break;
4238
+ }
4239
+ message.skip = reader.int32();
4240
+ continue;
4241
+ }
4242
+ case 7: {
4243
+ if (tag !== 56) {
4244
+ break;
4245
+ }
4246
+ message.limit = reader.int32();
4247
+ continue;
4248
+ }
4249
+ }
4250
+ if ((tag & 7) === 4 || tag === 0) {
4251
+ break;
4252
+ }
4253
+ reader.skip(tag & 7);
4254
+ }
4255
+ return message;
4256
+ } finally {
4257
+ reader.__tsProtoDecodeDepth = previousRecursionDepth;
4258
+ }
4259
+ },
4260
+ fromJSON(object) {
4261
+ return {
4262
+ subject: isSet2(object.subject) ? globalThis.String(object.subject) : void 0,
4263
+ relation: isSet2(object.relation) ? globalThis.String(object.relation) : void 0,
4264
+ resource: isSet2(object.resource) ? globalThis.String(object.resource) : void 0,
4265
+ subjectType: isSet2(object.subjectType) ? globalThis.String(object.subjectType) : void 0,
4266
+ resourceType: isSet2(object.resourceType) ? globalThis.String(object.resourceType) : void 0,
4267
+ skip: isSet2(object.skip) ? globalThis.Number(object.skip) : void 0,
4268
+ limit: isSet2(object.limit) ? globalThis.Number(object.limit) : void 0
4269
+ };
4270
+ },
4271
+ toJSON(message) {
4272
+ const obj = {};
4273
+ if (message.subject !== void 0) {
4274
+ obj.subject = message.subject;
4275
+ }
4276
+ if (message.relation !== void 0) {
4277
+ obj.relation = message.relation;
4278
+ }
4279
+ if (message.resource !== void 0) {
4280
+ obj.resource = message.resource;
4281
+ }
4282
+ if (message.subjectType !== void 0) {
4283
+ obj.subjectType = message.subjectType;
4284
+ }
4285
+ if (message.resourceType !== void 0) {
4286
+ obj.resourceType = message.resourceType;
4287
+ }
4288
+ if (message.skip !== void 0) {
4289
+ obj.skip = Math.round(message.skip);
4290
+ }
4291
+ if (message.limit !== void 0) {
4292
+ obj.limit = Math.round(message.limit);
4293
+ }
4294
+ return obj;
4295
+ },
4296
+ create(base) {
4297
+ return FindRelationRequest.fromPartial(base ?? {});
4298
+ },
4299
+ fromPartial(object) {
4300
+ const message = createBaseFindRelationRequest();
4301
+ message.subject = object.subject ?? void 0;
4302
+ message.relation = object.relation ?? void 0;
4303
+ message.resource = object.resource ?? void 0;
4304
+ message.subjectType = object.subjectType ?? void 0;
4305
+ message.resourceType = object.resourceType ?? void 0;
4306
+ message.skip = object.skip ?? void 0;
4307
+ message.limit = object.limit ?? void 0;
4308
+ return message;
4309
+ }
4310
+ };
4311
+ function createBaseFindRelationResponse() {
4312
+ return { relations: [], count: 0 };
4313
+ }
4314
+ var FindRelationResponse = {
4315
+ encode(message, writer = new import_wire3.BinaryWriter()) {
4316
+ for (const v of message.relations) {
4317
+ Relation.encode(v, writer.uint32(10).fork()).join();
4318
+ }
4319
+ if (message.count !== 0) {
4320
+ writer.uint32(16).int32(message.count);
4321
+ }
4322
+ return writer;
4323
+ },
4324
+ decode(input, length) {
4325
+ const reader = input instanceof import_wire3.BinaryReader ? input : new import_wire3.BinaryReader(input);
4326
+ const previousRecursionDepth = reader.__tsProtoDecodeDepth ?? 0;
4327
+ if (previousRecursionDepth >= 100) {
4328
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
4329
+ }
4330
+ reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
4331
+ try {
4332
+ const end = length === void 0 ? reader.len : reader.pos + length;
4333
+ const message = createBaseFindRelationResponse();
4334
+ while (reader.pos < end) {
4335
+ const tag = reader.uint32();
4336
+ switch (tag >>> 3) {
4337
+ case 1: {
4338
+ if (tag !== 10) {
4339
+ break;
4340
+ }
4341
+ message.relations.push(Relation.decode(reader, reader.uint32()));
4342
+ continue;
4343
+ }
4344
+ case 2: {
4345
+ if (tag !== 16) {
4346
+ break;
4347
+ }
4348
+ message.count = reader.int32();
4349
+ continue;
4350
+ }
4351
+ }
4352
+ if ((tag & 7) === 4 || tag === 0) {
4353
+ break;
4354
+ }
4355
+ reader.skip(tag & 7);
4356
+ }
4357
+ return message;
4358
+ } finally {
4359
+ reader.__tsProtoDecodeDepth = previousRecursionDepth;
4360
+ }
4361
+ },
4362
+ fromJSON(object) {
4363
+ return {
4364
+ relations: globalThis.Array.isArray(object?.relations) ? object.relations.map((e) => Relation.fromJSON(e)) : [],
4365
+ count: isSet2(object.count) ? globalThis.Number(object.count) : 0
4366
+ };
4367
+ },
4368
+ toJSON(message) {
4369
+ const obj = {};
4370
+ if (message.relations?.length) {
4371
+ obj.relations = message.relations.map((e) => Relation.toJSON(e));
4372
+ }
4373
+ if (message.count !== 0) {
4374
+ obj.count = Math.round(message.count);
4375
+ }
4376
+ return obj;
4377
+ },
4378
+ create(base) {
4379
+ return FindRelationResponse.fromPartial(base ?? {});
4380
+ },
4381
+ fromPartial(object) {
4382
+ const message = createBaseFindRelationResponse();
4383
+ message.relations = object.relations?.map((e) => Relation.fromPartial(e)) || [];
4384
+ message.count = object.count ?? 0;
4385
+ return message;
4386
+ }
4387
+ };
4388
+ function createBaseAllowedResourcesRequest() {
4389
+ return { subject: "", action: "", resourceType: "", skip: 0, limit: 0 };
4390
+ }
4391
+ var AllowedResourcesRequest = {
4392
+ encode(message, writer = new import_wire3.BinaryWriter()) {
4393
+ if (message.subject !== "") {
4394
+ writer.uint32(10).string(message.subject);
4395
+ }
4396
+ if (message.action !== "") {
4397
+ writer.uint32(18).string(message.action);
4398
+ }
4399
+ if (message.resourceType !== "") {
4400
+ writer.uint32(42).string(message.resourceType);
4401
+ }
4402
+ if (message.skip !== 0) {
4403
+ writer.uint32(48).int32(message.skip);
4404
+ }
4405
+ if (message.limit !== 0) {
4406
+ writer.uint32(56).int32(message.limit);
4407
+ }
4408
+ return writer;
4409
+ },
4410
+ decode(input, length) {
4411
+ const reader = input instanceof import_wire3.BinaryReader ? input : new import_wire3.BinaryReader(input);
4412
+ const previousRecursionDepth = reader.__tsProtoDecodeDepth ?? 0;
4413
+ if (previousRecursionDepth >= 100) {
4414
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
4415
+ }
4416
+ reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
4417
+ try {
4418
+ const end = length === void 0 ? reader.len : reader.pos + length;
4419
+ const message = createBaseAllowedResourcesRequest();
4420
+ while (reader.pos < end) {
4421
+ const tag = reader.uint32();
4422
+ switch (tag >>> 3) {
4423
+ case 1: {
4424
+ if (tag !== 10) {
4425
+ break;
4426
+ }
4427
+ message.subject = reader.string();
4428
+ continue;
4429
+ }
4430
+ case 2: {
4431
+ if (tag !== 18) {
4432
+ break;
4433
+ }
4434
+ message.action = reader.string();
3363
4435
  continue;
3364
4436
  }
3365
4437
  case 5: {
@@ -3396,62 +4468,52 @@ var FindRelationRequest = {
3396
4468
  },
3397
4469
  fromJSON(object) {
3398
4470
  return {
3399
- subject: isSet2(object.subject) ? globalThis.String(object.subject) : void 0,
3400
- relation: isSet2(object.relation) ? globalThis.String(object.relation) : void 0,
3401
- resource: isSet2(object.resource) ? globalThis.String(object.resource) : void 0,
3402
- subjectType: isSet2(object.subjectType) ? globalThis.String(object.subjectType) : void 0,
3403
- resourceType: isSet2(object.resourceType) ? globalThis.String(object.resourceType) : void 0,
3404
- skip: isSet2(object.skip) ? globalThis.Number(object.skip) : void 0,
3405
- limit: isSet2(object.limit) ? globalThis.Number(object.limit) : void 0
4471
+ subject: isSet2(object.subject) ? globalThis.String(object.subject) : "",
4472
+ action: isSet2(object.action) ? globalThis.String(object.action) : "",
4473
+ resourceType: isSet2(object.resourceType) ? globalThis.String(object.resourceType) : "",
4474
+ skip: isSet2(object.skip) ? globalThis.Number(object.skip) : 0,
4475
+ limit: isSet2(object.limit) ? globalThis.Number(object.limit) : 0
3406
4476
  };
3407
4477
  },
3408
4478
  toJSON(message) {
3409
4479
  const obj = {};
3410
- if (message.subject !== void 0) {
4480
+ if (message.subject !== "") {
3411
4481
  obj.subject = message.subject;
3412
4482
  }
3413
- if (message.relation !== void 0) {
3414
- obj.relation = message.relation;
3415
- }
3416
- if (message.resource !== void 0) {
3417
- obj.resource = message.resource;
3418
- }
3419
- if (message.subjectType !== void 0) {
3420
- obj.subjectType = message.subjectType;
4483
+ if (message.action !== "") {
4484
+ obj.action = message.action;
3421
4485
  }
3422
- if (message.resourceType !== void 0) {
4486
+ if (message.resourceType !== "") {
3423
4487
  obj.resourceType = message.resourceType;
3424
4488
  }
3425
- if (message.skip !== void 0) {
4489
+ if (message.skip !== 0) {
3426
4490
  obj.skip = Math.round(message.skip);
3427
4491
  }
3428
- if (message.limit !== void 0) {
4492
+ if (message.limit !== 0) {
3429
4493
  obj.limit = Math.round(message.limit);
3430
4494
  }
3431
4495
  return obj;
3432
4496
  },
3433
4497
  create(base) {
3434
- return FindRelationRequest.fromPartial(base ?? {});
4498
+ return AllowedResourcesRequest.fromPartial(base ?? {});
3435
4499
  },
3436
4500
  fromPartial(object) {
3437
- const message = createBaseFindRelationRequest();
3438
- message.subject = object.subject ?? void 0;
3439
- message.relation = object.relation ?? void 0;
3440
- message.resource = object.resource ?? void 0;
3441
- message.subjectType = object.subjectType ?? void 0;
3442
- message.resourceType = object.resourceType ?? void 0;
3443
- message.skip = object.skip ?? void 0;
3444
- message.limit = object.limit ?? void 0;
4501
+ const message = createBaseAllowedResourcesRequest();
4502
+ message.subject = object.subject ?? "";
4503
+ message.action = object.action ?? "";
4504
+ message.resourceType = object.resourceType ?? "";
4505
+ message.skip = object.skip ?? 0;
4506
+ message.limit = object.limit ?? 0;
3445
4507
  return message;
3446
4508
  }
3447
4509
  };
3448
- function createBaseFindRelationResponse() {
3449
- return { relations: [], count: 0 };
4510
+ function createBaseAllowedResourcesResponse() {
4511
+ return { resources: [], count: 0 };
3450
4512
  }
3451
- var FindRelationResponse = {
4513
+ var AllowedResourcesResponse = {
3452
4514
  encode(message, writer = new import_wire3.BinaryWriter()) {
3453
- for (const v of message.relations) {
3454
- Relation.encode(v, writer.uint32(10).fork()).join();
4515
+ for (const v of message.resources) {
4516
+ writer.uint32(10).string(v);
3455
4517
  }
3456
4518
  if (message.count !== 0) {
3457
4519
  writer.uint32(16).int32(message.count);
@@ -3467,7 +4529,7 @@ var FindRelationResponse = {
3467
4529
  reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
3468
4530
  try {
3469
4531
  const end = length === void 0 ? reader.len : reader.pos + length;
3470
- const message = createBaseFindRelationResponse();
4532
+ const message = createBaseAllowedResourcesResponse();
3471
4533
  while (reader.pos < end) {
3472
4534
  const tag = reader.uint32();
3473
4535
  switch (tag >>> 3) {
@@ -3475,7 +4537,7 @@ var FindRelationResponse = {
3475
4537
  if (tag !== 10) {
3476
4538
  break;
3477
4539
  }
3478
- message.relations.push(Relation.decode(reader, reader.uint32()));
4540
+ message.resources.push(reader.string());
3479
4541
  continue;
3480
4542
  }
3481
4543
  case 2: {
@@ -3498,14 +4560,14 @@ var FindRelationResponse = {
3498
4560
  },
3499
4561
  fromJSON(object) {
3500
4562
  return {
3501
- relations: globalThis.Array.isArray(object?.relations) ? object.relations.map((e) => Relation.fromJSON(e)) : [],
4563
+ resources: globalThis.Array.isArray(object?.resources) ? object.resources.map((e) => globalThis.String(e)) : [],
3502
4564
  count: isSet2(object.count) ? globalThis.Number(object.count) : 0
3503
4565
  };
3504
4566
  },
3505
4567
  toJSON(message) {
3506
4568
  const obj = {};
3507
- if (message.relations?.length) {
3508
- obj.relations = message.relations.map((e) => Relation.toJSON(e));
4569
+ if (message.resources?.length) {
4570
+ obj.resources = message.resources;
3509
4571
  }
3510
4572
  if (message.count !== 0) {
3511
4573
  obj.count = Math.round(message.count);
@@ -3513,19 +4575,19 @@ var FindRelationResponse = {
3513
4575
  return obj;
3514
4576
  },
3515
4577
  create(base) {
3516
- return FindRelationResponse.fromPartial(base ?? {});
4578
+ return AllowedResourcesResponse.fromPartial(base ?? {});
3517
4579
  },
3518
4580
  fromPartial(object) {
3519
- const message = createBaseFindRelationResponse();
3520
- message.relations = object.relations?.map((e) => Relation.fromPartial(e)) || [];
4581
+ const message = createBaseAllowedResourcesResponse();
4582
+ message.resources = object.resources?.map((e) => e) || [];
3521
4583
  message.count = object.count ?? 0;
3522
4584
  return message;
3523
4585
  }
3524
4586
  };
3525
- function createBaseAllowedResourcesRequest() {
3526
- return { subject: "", action: "", resourceType: "", skip: 0, limit: 0 };
4587
+ function createBaseResourceAccessListRequest() {
4588
+ return { subject: "", action: "", viewName: void 0, resourceType: "" };
3527
4589
  }
3528
- var AllowedResourcesRequest = {
4590
+ var ResourceAccessListRequest = {
3529
4591
  encode(message, writer = new import_wire3.BinaryWriter()) {
3530
4592
  if (message.subject !== "") {
3531
4593
  writer.uint32(10).string(message.subject);
@@ -3533,15 +4595,12 @@ var AllowedResourcesRequest = {
3533
4595
  if (message.action !== "") {
3534
4596
  writer.uint32(18).string(message.action);
3535
4597
  }
4598
+ if (message.viewName !== void 0) {
4599
+ writer.uint32(26).string(message.viewName);
4600
+ }
3536
4601
  if (message.resourceType !== "") {
3537
4602
  writer.uint32(42).string(message.resourceType);
3538
4603
  }
3539
- if (message.skip !== 0) {
3540
- writer.uint32(48).int32(message.skip);
3541
- }
3542
- if (message.limit !== 0) {
3543
- writer.uint32(56).int32(message.limit);
3544
- }
3545
4604
  return writer;
3546
4605
  },
3547
4606
  decode(input, length) {
@@ -3553,7 +4612,7 @@ var AllowedResourcesRequest = {
3553
4612
  reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
3554
4613
  try {
3555
4614
  const end = length === void 0 ? reader.len : reader.pos + length;
3556
- const message = createBaseAllowedResourcesRequest();
4615
+ const message = createBaseResourceAccessListRequest();
3557
4616
  while (reader.pos < end) {
3558
4617
  const tag = reader.uint32();
3559
4618
  switch (tag >>> 3) {
@@ -3571,25 +4630,18 @@ var AllowedResourcesRequest = {
3571
4630
  message.action = reader.string();
3572
4631
  continue;
3573
4632
  }
3574
- case 5: {
3575
- if (tag !== 42) {
3576
- break;
3577
- }
3578
- message.resourceType = reader.string();
3579
- continue;
3580
- }
3581
- case 6: {
3582
- if (tag !== 48) {
4633
+ case 3: {
4634
+ if (tag !== 26) {
3583
4635
  break;
3584
4636
  }
3585
- message.skip = reader.int32();
4637
+ message.viewName = reader.string();
3586
4638
  continue;
3587
4639
  }
3588
- case 7: {
3589
- if (tag !== 56) {
4640
+ case 5: {
4641
+ if (tag !== 42) {
3590
4642
  break;
3591
4643
  }
3592
- message.limit = reader.int32();
4644
+ message.resourceType = reader.string();
3593
4645
  continue;
3594
4646
  }
3595
4647
  }
@@ -3607,9 +4659,8 @@ var AllowedResourcesRequest = {
3607
4659
  return {
3608
4660
  subject: isSet2(object.subject) ? globalThis.String(object.subject) : "",
3609
4661
  action: isSet2(object.action) ? globalThis.String(object.action) : "",
3610
- resourceType: isSet2(object.resourceType) ? globalThis.String(object.resourceType) : "",
3611
- skip: isSet2(object.skip) ? globalThis.Number(object.skip) : 0,
3612
- limit: isSet2(object.limit) ? globalThis.Number(object.limit) : 0
4662
+ viewName: isSet2(object.viewName) ? globalThis.String(object.viewName) : void 0,
4663
+ resourceType: isSet2(object.resourceType) ? globalThis.String(object.resourceType) : ""
3613
4664
  };
3614
4665
  },
3615
4666
  toJSON(message) {
@@ -3620,40 +4671,99 @@ var AllowedResourcesRequest = {
3620
4671
  if (message.action !== "") {
3621
4672
  obj.action = message.action;
3622
4673
  }
4674
+ if (message.viewName !== void 0) {
4675
+ obj.viewName = message.viewName;
4676
+ }
3623
4677
  if (message.resourceType !== "") {
3624
4678
  obj.resourceType = message.resourceType;
3625
4679
  }
3626
- if (message.skip !== 0) {
3627
- obj.skip = Math.round(message.skip);
3628
- }
3629
- if (message.limit !== 0) {
3630
- obj.limit = Math.round(message.limit);
3631
- }
3632
4680
  return obj;
3633
4681
  },
3634
4682
  create(base) {
3635
- return AllowedResourcesRequest.fromPartial(base ?? {});
4683
+ return ResourceAccessListRequest.fromPartial(base ?? {});
3636
4684
  },
3637
4685
  fromPartial(object) {
3638
- const message = createBaseAllowedResourcesRequest();
4686
+ const message = createBaseResourceAccessListRequest();
3639
4687
  message.subject = object.subject ?? "";
3640
4688
  message.action = object.action ?? "";
4689
+ message.viewName = object.viewName ?? void 0;
3641
4690
  message.resourceType = object.resourceType ?? "";
3642
- message.skip = object.skip ?? 0;
3643
- message.limit = object.limit ?? 0;
3644
4691
  return message;
3645
4692
  }
3646
4693
  };
3647
- function createBaseAllowedResourcesResponse() {
3648
- return { resources: [], count: 0 };
4694
+ function createBaseResourceAccessListResponse() {
4695
+ return { viewName: "" };
3649
4696
  }
3650
- var AllowedResourcesResponse = {
4697
+ var ResourceAccessListResponse = {
3651
4698
  encode(message, writer = new import_wire3.BinaryWriter()) {
3652
- for (const v of message.resources) {
3653
- writer.uint32(10).string(v);
4699
+ if (message.viewName !== "") {
4700
+ writer.uint32(10).string(message.viewName);
3654
4701
  }
3655
- if (message.count !== 0) {
3656
- writer.uint32(16).int32(message.count);
4702
+ return writer;
4703
+ },
4704
+ decode(input, length) {
4705
+ const reader = input instanceof import_wire3.BinaryReader ? input : new import_wire3.BinaryReader(input);
4706
+ const previousRecursionDepth = reader.__tsProtoDecodeDepth ?? 0;
4707
+ if (previousRecursionDepth >= 100) {
4708
+ throw new globalThis.Error("protobuf decode recursion limit exceeded");
4709
+ }
4710
+ reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
4711
+ try {
4712
+ const end = length === void 0 ? reader.len : reader.pos + length;
4713
+ const message = createBaseResourceAccessListResponse();
4714
+ while (reader.pos < end) {
4715
+ const tag = reader.uint32();
4716
+ switch (tag >>> 3) {
4717
+ case 1: {
4718
+ if (tag !== 10) {
4719
+ break;
4720
+ }
4721
+ message.viewName = reader.string();
4722
+ continue;
4723
+ }
4724
+ }
4725
+ if ((tag & 7) === 4 || tag === 0) {
4726
+ break;
4727
+ }
4728
+ reader.skip(tag & 7);
4729
+ }
4730
+ return message;
4731
+ } finally {
4732
+ reader.__tsProtoDecodeDepth = previousRecursionDepth;
4733
+ }
4734
+ },
4735
+ fromJSON(object) {
4736
+ return { viewName: isSet2(object.viewName) ? globalThis.String(object.viewName) : "" };
4737
+ },
4738
+ toJSON(message) {
4739
+ const obj = {};
4740
+ if (message.viewName !== "") {
4741
+ obj.viewName = message.viewName;
4742
+ }
4743
+ return obj;
4744
+ },
4745
+ create(base) {
4746
+ return ResourceAccessListResponse.fromPartial(base ?? {});
4747
+ },
4748
+ fromPartial(object) {
4749
+ const message = createBaseResourceAccessListResponse();
4750
+ message.viewName = object.viewName ?? "";
4751
+ return message;
4752
+ }
4753
+ };
4754
+ function createBasePermissionCheck() {
4755
+ return { subject: "", actions: [], resource: "" };
4756
+ }
4757
+ var PermissionCheck = {
4758
+ encode(message, writer = new import_wire3.BinaryWriter()) {
4759
+ if (message.subject !== "") {
4760
+ writer.uint32(10).string(message.subject);
4761
+ }
4762
+ for (const v of message.actions) {
4763
+ writer.uint32(18).string(v);
4764
+ }
4765
+ if (message.resource !== "") {
4766
+ writer.uint32(26).string(message.resource);
3657
4767
  }
3658
4768
  return writer;
3659
4769
  },
@@ -3666,7 +4776,7 @@ var AllowedResourcesResponse = {
3666
4776
  reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
3667
4777
  try {
3668
4778
  const end = length === void 0 ? reader.len : reader.pos + length;
3669
- const message = createBaseAllowedResourcesResponse();
4779
+ const message = createBasePermissionCheck();
3670
4780
  while (reader.pos < end) {
3671
4781
  const tag = reader.uint32();
3672
4782
  switch (tag >>> 3) {
@@ -3674,14 +4784,21 @@ var AllowedResourcesResponse = {
3674
4784
  if (tag !== 10) {
3675
4785
  break;
3676
4786
  }
3677
- message.resources.push(reader.string());
4787
+ message.subject = reader.string();
3678
4788
  continue;
3679
4789
  }
3680
4790
  case 2: {
3681
- if (tag !== 16) {
4791
+ if (tag !== 18) {
3682
4792
  break;
3683
4793
  }
3684
- message.count = reader.int32();
4794
+ message.actions.push(reader.string());
4795
+ continue;
4796
+ }
4797
+ case 3: {
4798
+ if (tag !== 26) {
4799
+ break;
4800
+ }
4801
+ message.resource = reader.string();
3685
4802
  continue;
3686
4803
  }
3687
4804
  }
@@ -3697,34 +4814,39 @@ var AllowedResourcesResponse = {
3697
4814
  },
3698
4815
  fromJSON(object) {
3699
4816
  return {
3700
- resources: globalThis.Array.isArray(object?.resources) ? object.resources.map((e) => globalThis.String(e)) : [],
3701
- count: isSet2(object.count) ? globalThis.Number(object.count) : 0
4817
+ subject: isSet2(object.subject) ? globalThis.String(object.subject) : "",
4818
+ actions: globalThis.Array.isArray(object?.actions) ? object.actions.map((e) => globalThis.String(e)) : [],
4819
+ resource: isSet2(object.resource) ? globalThis.String(object.resource) : ""
3702
4820
  };
3703
4821
  },
3704
4822
  toJSON(message) {
3705
4823
  const obj = {};
3706
- if (message.resources?.length) {
3707
- obj.resources = message.resources;
4824
+ if (message.subject !== "") {
4825
+ obj.subject = message.subject;
3708
4826
  }
3709
- if (message.count !== 0) {
3710
- obj.count = Math.round(message.count);
4827
+ if (message.actions?.length) {
4828
+ obj.actions = message.actions;
4829
+ }
4830
+ if (message.resource !== "") {
4831
+ obj.resource = message.resource;
3711
4832
  }
3712
4833
  return obj;
3713
4834
  },
3714
4835
  create(base) {
3715
- return AllowedResourcesResponse.fromPartial(base ?? {});
4836
+ return PermissionCheck.fromPartial(base ?? {});
3716
4837
  },
3717
4838
  fromPartial(object) {
3718
- const message = createBaseAllowedResourcesResponse();
3719
- message.resources = object.resources?.map((e) => e) || [];
3720
- message.count = object.count ?? 0;
4839
+ const message = createBasePermissionCheck();
4840
+ message.subject = object.subject ?? "";
4841
+ message.actions = object.actions?.map((e) => e) || [];
4842
+ message.resource = object.resource ?? "";
3721
4843
  return message;
3722
4844
  }
3723
4845
  };
3724
- function createBaseResourceAccessListRequest() {
3725
- return { subject: "", action: "", viewName: void 0, resourceType: "" };
4846
+ function createBasePermissionRequest() {
4847
+ return { subject: "", action: "", resource: "" };
3726
4848
  }
3727
- var ResourceAccessListRequest = {
4849
+ var PermissionRequest = {
3728
4850
  encode(message, writer = new import_wire3.BinaryWriter()) {
3729
4851
  if (message.subject !== "") {
3730
4852
  writer.uint32(10).string(message.subject);
@@ -3732,11 +4854,8 @@ var ResourceAccessListRequest = {
3732
4854
  if (message.action !== "") {
3733
4855
  writer.uint32(18).string(message.action);
3734
4856
  }
3735
- if (message.viewName !== void 0) {
3736
- writer.uint32(26).string(message.viewName);
3737
- }
3738
- if (message.resourceType !== "") {
3739
- writer.uint32(42).string(message.resourceType);
4857
+ if (message.resource !== "") {
4858
+ writer.uint32(26).string(message.resource);
3740
4859
  }
3741
4860
  return writer;
3742
4861
  },
@@ -3749,7 +4868,7 @@ var ResourceAccessListRequest = {
3749
4868
  reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
3750
4869
  try {
3751
4870
  const end = length === void 0 ? reader.len : reader.pos + length;
3752
- const message = createBaseResourceAccessListRequest();
4871
+ const message = createBasePermissionRequest();
3753
4872
  while (reader.pos < end) {
3754
4873
  const tag = reader.uint32();
3755
4874
  switch (tag >>> 3) {
@@ -3771,14 +4890,7 @@ var ResourceAccessListRequest = {
3771
4890
  if (tag !== 26) {
3772
4891
  break;
3773
4892
  }
3774
- message.viewName = reader.string();
3775
- continue;
3776
- }
3777
- case 5: {
3778
- if (tag !== 42) {
3779
- break;
3780
- }
3781
- message.resourceType = reader.string();
4893
+ message.resource = reader.string();
3782
4894
  continue;
3783
4895
  }
3784
4896
  }
@@ -3796,8 +4908,7 @@ var ResourceAccessListRequest = {
3796
4908
  return {
3797
4909
  subject: isSet2(object.subject) ? globalThis.String(object.subject) : "",
3798
4910
  action: isSet2(object.action) ? globalThis.String(object.action) : "",
3799
- viewName: isSet2(object.viewName) ? globalThis.String(object.viewName) : void 0,
3800
- resourceType: isSet2(object.resourceType) ? globalThis.String(object.resourceType) : ""
4911
+ resource: isSet2(object.resource) ? globalThis.String(object.resource) : ""
3801
4912
  };
3802
4913
  },
3803
4914
  toJSON(message) {
@@ -3808,33 +4919,29 @@ var ResourceAccessListRequest = {
3808
4919
  if (message.action !== "") {
3809
4920
  obj.action = message.action;
3810
4921
  }
3811
- if (message.viewName !== void 0) {
3812
- obj.viewName = message.viewName;
3813
- }
3814
- if (message.resourceType !== "") {
3815
- obj.resourceType = message.resourceType;
4922
+ if (message.resource !== "") {
4923
+ obj.resource = message.resource;
3816
4924
  }
3817
4925
  return obj;
3818
4926
  },
3819
4927
  create(base) {
3820
- return ResourceAccessListRequest.fromPartial(base ?? {});
4928
+ return PermissionRequest.fromPartial(base ?? {});
3821
4929
  },
3822
4930
  fromPartial(object) {
3823
- const message = createBaseResourceAccessListRequest();
4931
+ const message = createBasePermissionRequest();
3824
4932
  message.subject = object.subject ?? "";
3825
4933
  message.action = object.action ?? "";
3826
- message.viewName = object.viewName ?? void 0;
3827
- message.resourceType = object.resourceType ?? "";
4934
+ message.resource = object.resource ?? "";
3828
4935
  return message;
3829
4936
  }
3830
4937
  };
3831
- function createBaseResourceAccessListResponse() {
3832
- return { viewName: "" };
4938
+ function createBaseDecision() {
4939
+ return { allow: false };
3833
4940
  }
3834
- var ResourceAccessListResponse = {
4941
+ var Decision = {
3835
4942
  encode(message, writer = new import_wire3.BinaryWriter()) {
3836
- if (message.viewName !== "") {
3837
- writer.uint32(10).string(message.viewName);
4943
+ if (message.allow !== false) {
4944
+ writer.uint32(8).bool(message.allow);
3838
4945
  }
3839
4946
  return writer;
3840
4947
  },
@@ -3847,15 +4954,15 @@ var ResourceAccessListResponse = {
3847
4954
  reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
3848
4955
  try {
3849
4956
  const end = length === void 0 ? reader.len : reader.pos + length;
3850
- const message = createBaseResourceAccessListResponse();
4957
+ const message = createBaseDecision();
3851
4958
  while (reader.pos < end) {
3852
4959
  const tag = reader.uint32();
3853
4960
  switch (tag >>> 3) {
3854
4961
  case 1: {
3855
- if (tag !== 10) {
4962
+ if (tag !== 8) {
3856
4963
  break;
3857
4964
  }
3858
- message.viewName = reader.string();
4965
+ message.allow = reader.bool();
3859
4966
  continue;
3860
4967
  }
3861
4968
  }
@@ -3870,37 +4977,37 @@ var ResourceAccessListResponse = {
3870
4977
  }
3871
4978
  },
3872
4979
  fromJSON(object) {
3873
- return { viewName: isSet2(object.viewName) ? globalThis.String(object.viewName) : "" };
4980
+ return { allow: isSet2(object.allow) ? globalThis.Boolean(object.allow) : false };
3874
4981
  },
3875
4982
  toJSON(message) {
3876
4983
  const obj = {};
3877
- if (message.viewName !== "") {
3878
- obj.viewName = message.viewName;
4984
+ if (message.allow !== false) {
4985
+ obj.allow = message.allow;
3879
4986
  }
3880
4987
  return obj;
3881
4988
  },
3882
4989
  create(base) {
3883
- return ResourceAccessListResponse.fromPartial(base ?? {});
4990
+ return Decision.fromPartial(base ?? {});
3884
4991
  },
3885
4992
  fromPartial(object) {
3886
- const message = createBaseResourceAccessListResponse();
3887
- message.viewName = object.viewName ?? "";
4993
+ const message = createBaseDecision();
4994
+ message.allow = object.allow ?? false;
3888
4995
  return message;
3889
4996
  }
3890
4997
  };
3891
- function createBasePermissionCheck() {
3892
- return { subject: "", actions: [], resource: "" };
4998
+ function createBaseSubjectPermissionsRequest() {
4999
+ return { subject: "", resource: "", actionPrefix: void 0 };
3893
5000
  }
3894
- var PermissionCheck = {
5001
+ var SubjectPermissionsRequest = {
3895
5002
  encode(message, writer = new import_wire3.BinaryWriter()) {
3896
5003
  if (message.subject !== "") {
3897
5004
  writer.uint32(10).string(message.subject);
3898
5005
  }
3899
- for (const v of message.actions) {
3900
- writer.uint32(18).string(v);
3901
- }
3902
5006
  if (message.resource !== "") {
3903
- writer.uint32(26).string(message.resource);
5007
+ writer.uint32(18).string(message.resource);
5008
+ }
5009
+ if (message.actionPrefix !== void 0) {
5010
+ writer.uint32(26).string(message.actionPrefix);
3904
5011
  }
3905
5012
  return writer;
3906
5013
  },
@@ -3913,7 +5020,7 @@ var PermissionCheck = {
3913
5020
  reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
3914
5021
  try {
3915
5022
  const end = length === void 0 ? reader.len : reader.pos + length;
3916
- const message = createBasePermissionCheck();
5023
+ const message = createBaseSubjectPermissionsRequest();
3917
5024
  while (reader.pos < end) {
3918
5025
  const tag = reader.uint32();
3919
5026
  switch (tag >>> 3) {
@@ -3928,14 +5035,14 @@ var PermissionCheck = {
3928
5035
  if (tag !== 18) {
3929
5036
  break;
3930
5037
  }
3931
- message.actions.push(reader.string());
5038
+ message.resource = reader.string();
3932
5039
  continue;
3933
5040
  }
3934
5041
  case 3: {
3935
5042
  if (tag !== 26) {
3936
5043
  break;
3937
5044
  }
3938
- message.resource = reader.string();
5045
+ message.actionPrefix = reader.string();
3939
5046
  continue;
3940
5047
  }
3941
5048
  }
@@ -3952,8 +5059,8 @@ var PermissionCheck = {
3952
5059
  fromJSON(object) {
3953
5060
  return {
3954
5061
  subject: isSet2(object.subject) ? globalThis.String(object.subject) : "",
3955
- actions: globalThis.Array.isArray(object?.actions) ? object.actions.map((e) => globalThis.String(e)) : [],
3956
- resource: isSet2(object.resource) ? globalThis.String(object.resource) : ""
5062
+ resource: isSet2(object.resource) ? globalThis.String(object.resource) : "",
5063
+ actionPrefix: isSet2(object.actionPrefix) ? globalThis.String(object.actionPrefix) : void 0
3957
5064
  };
3958
5065
  },
3959
5066
  toJSON(message) {
@@ -3961,38 +5068,44 @@ var PermissionCheck = {
3961
5068
  if (message.subject !== "") {
3962
5069
  obj.subject = message.subject;
3963
5070
  }
3964
- if (message.actions?.length) {
3965
- obj.actions = message.actions;
3966
- }
3967
5071
  if (message.resource !== "") {
3968
5072
  obj.resource = message.resource;
3969
5073
  }
5074
+ if (message.actionPrefix !== void 0) {
5075
+ obj.actionPrefix = message.actionPrefix;
5076
+ }
3970
5077
  return obj;
3971
5078
  },
3972
5079
  create(base) {
3973
- return PermissionCheck.fromPartial(base ?? {});
5080
+ return SubjectPermissionsRequest.fromPartial(base ?? {});
3974
5081
  },
3975
5082
  fromPartial(object) {
3976
- const message = createBasePermissionCheck();
5083
+ const message = createBaseSubjectPermissionsRequest();
3977
5084
  message.subject = object.subject ?? "";
3978
- message.actions = object.actions?.map((e) => e) || [];
3979
5085
  message.resource = object.resource ?? "";
5086
+ message.actionPrefix = object.actionPrefix ?? void 0;
3980
5087
  return message;
3981
5088
  }
3982
5089
  };
3983
- function createBasePermissionRequest() {
3984
- return { subject: "", action: "", resource: "" };
5090
+ function createBaseSubjectPermission() {
5091
+ return { action: "", direct: false, inherited: false, implicit: false, allowed: false };
3985
5092
  }
3986
- var PermissionRequest = {
5093
+ var SubjectPermission = {
3987
5094
  encode(message, writer = new import_wire3.BinaryWriter()) {
3988
- if (message.subject !== "") {
3989
- writer.uint32(10).string(message.subject);
3990
- }
3991
5095
  if (message.action !== "") {
3992
- writer.uint32(18).string(message.action);
5096
+ writer.uint32(10).string(message.action);
3993
5097
  }
3994
- if (message.resource !== "") {
3995
- writer.uint32(26).string(message.resource);
5098
+ if (message.direct !== false) {
5099
+ writer.uint32(16).bool(message.direct);
5100
+ }
5101
+ if (message.inherited !== false) {
5102
+ writer.uint32(24).bool(message.inherited);
5103
+ }
5104
+ if (message.implicit !== false) {
5105
+ writer.uint32(32).bool(message.implicit);
5106
+ }
5107
+ if (message.allowed !== false) {
5108
+ writer.uint32(40).bool(message.allowed);
3996
5109
  }
3997
5110
  return writer;
3998
5111
  },
@@ -4005,7 +5118,7 @@ var PermissionRequest = {
4005
5118
  reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
4006
5119
  try {
4007
5120
  const end = length === void 0 ? reader.len : reader.pos + length;
4008
- const message = createBasePermissionRequest();
5121
+ const message = createBaseSubjectPermission();
4009
5122
  while (reader.pos < end) {
4010
5123
  const tag = reader.uint32();
4011
5124
  switch (tag >>> 3) {
@@ -4013,21 +5126,35 @@ var PermissionRequest = {
4013
5126
  if (tag !== 10) {
4014
5127
  break;
4015
5128
  }
4016
- message.subject = reader.string();
5129
+ message.action = reader.string();
4017
5130
  continue;
4018
5131
  }
4019
5132
  case 2: {
4020
- if (tag !== 18) {
5133
+ if (tag !== 16) {
4021
5134
  break;
4022
5135
  }
4023
- message.action = reader.string();
5136
+ message.direct = reader.bool();
4024
5137
  continue;
4025
5138
  }
4026
5139
  case 3: {
4027
- if (tag !== 26) {
5140
+ if (tag !== 24) {
4028
5141
  break;
4029
5142
  }
4030
- message.resource = reader.string();
5143
+ message.inherited = reader.bool();
5144
+ continue;
5145
+ }
5146
+ case 4: {
5147
+ if (tag !== 32) {
5148
+ break;
5149
+ }
5150
+ message.implicit = reader.bool();
5151
+ continue;
5152
+ }
5153
+ case 5: {
5154
+ if (tag !== 40) {
5155
+ break;
5156
+ }
5157
+ message.allowed = reader.bool();
4031
5158
  continue;
4032
5159
  }
4033
5160
  }
@@ -4043,42 +5170,52 @@ var PermissionRequest = {
4043
5170
  },
4044
5171
  fromJSON(object) {
4045
5172
  return {
4046
- subject: isSet2(object.subject) ? globalThis.String(object.subject) : "",
4047
5173
  action: isSet2(object.action) ? globalThis.String(object.action) : "",
4048
- resource: isSet2(object.resource) ? globalThis.String(object.resource) : ""
5174
+ direct: isSet2(object.direct) ? globalThis.Boolean(object.direct) : false,
5175
+ inherited: isSet2(object.inherited) ? globalThis.Boolean(object.inherited) : false,
5176
+ implicit: isSet2(object.implicit) ? globalThis.Boolean(object.implicit) : false,
5177
+ allowed: isSet2(object.allowed) ? globalThis.Boolean(object.allowed) : false
4049
5178
  };
4050
5179
  },
4051
5180
  toJSON(message) {
4052
5181
  const obj = {};
4053
- if (message.subject !== "") {
4054
- obj.subject = message.subject;
4055
- }
4056
5182
  if (message.action !== "") {
4057
5183
  obj.action = message.action;
4058
5184
  }
4059
- if (message.resource !== "") {
4060
- obj.resource = message.resource;
5185
+ if (message.direct !== false) {
5186
+ obj.direct = message.direct;
5187
+ }
5188
+ if (message.inherited !== false) {
5189
+ obj.inherited = message.inherited;
5190
+ }
5191
+ if (message.implicit !== false) {
5192
+ obj.implicit = message.implicit;
5193
+ }
5194
+ if (message.allowed !== false) {
5195
+ obj.allowed = message.allowed;
4061
5196
  }
4062
5197
  return obj;
4063
5198
  },
4064
5199
  create(base) {
4065
- return PermissionRequest.fromPartial(base ?? {});
5200
+ return SubjectPermission.fromPartial(base ?? {});
4066
5201
  },
4067
5202
  fromPartial(object) {
4068
- const message = createBasePermissionRequest();
4069
- message.subject = object.subject ?? "";
5203
+ const message = createBaseSubjectPermission();
4070
5204
  message.action = object.action ?? "";
4071
- message.resource = object.resource ?? "";
5205
+ message.direct = object.direct ?? false;
5206
+ message.inherited = object.inherited ?? false;
5207
+ message.implicit = object.implicit ?? false;
5208
+ message.allowed = object.allowed ?? false;
4072
5209
  return message;
4073
5210
  }
4074
5211
  };
4075
- function createBaseDecision() {
4076
- return { allow: false };
5212
+ function createBaseSubjectPermissionsResponse() {
5213
+ return { permissions: [] };
4077
5214
  }
4078
- var Decision = {
5215
+ var SubjectPermissionsResponse = {
4079
5216
  encode(message, writer = new import_wire3.BinaryWriter()) {
4080
- if (message.allow !== false) {
4081
- writer.uint32(8).bool(message.allow);
5217
+ for (const v of message.permissions) {
5218
+ SubjectPermission.encode(v, writer.uint32(10).fork()).join();
4082
5219
  }
4083
5220
  return writer;
4084
5221
  },
@@ -4091,15 +5228,15 @@ var Decision = {
4091
5228
  reader.__tsProtoDecodeDepth = previousRecursionDepth + 1;
4092
5229
  try {
4093
5230
  const end = length === void 0 ? reader.len : reader.pos + length;
4094
- const message = createBaseDecision();
5231
+ const message = createBaseSubjectPermissionsResponse();
4095
5232
  while (reader.pos < end) {
4096
5233
  const tag = reader.uint32();
4097
5234
  switch (tag >>> 3) {
4098
5235
  case 1: {
4099
- if (tag !== 8) {
5236
+ if (tag !== 10) {
4100
5237
  break;
4101
5238
  }
4102
- message.allow = reader.bool();
5239
+ message.permissions.push(SubjectPermission.decode(reader, reader.uint32()));
4103
5240
  continue;
4104
5241
  }
4105
5242
  }
@@ -4114,21 +5251,23 @@ var Decision = {
4114
5251
  }
4115
5252
  },
4116
5253
  fromJSON(object) {
4117
- return { allow: isSet2(object.allow) ? globalThis.Boolean(object.allow) : false };
5254
+ return {
5255
+ permissions: globalThis.Array.isArray(object?.permissions) ? object.permissions.map((e) => SubjectPermission.fromJSON(e)) : []
5256
+ };
4118
5257
  },
4119
5258
  toJSON(message) {
4120
5259
  const obj = {};
4121
- if (message.allow !== false) {
4122
- obj.allow = message.allow;
5260
+ if (message.permissions?.length) {
5261
+ obj.permissions = message.permissions.map((e) => SubjectPermission.toJSON(e));
4123
5262
  }
4124
5263
  return obj;
4125
5264
  },
4126
5265
  create(base) {
4127
- return Decision.fromPartial(base ?? {});
5266
+ return SubjectPermissionsResponse.fromPartial(base ?? {});
4128
5267
  },
4129
5268
  fromPartial(object) {
4130
- const message = createBaseDecision();
4131
- message.allow = object.allow ?? false;
5269
+ const message = createBaseSubjectPermissionsResponse();
5270
+ message.permissions = object.permissions?.map((e) => SubjectPermission.fromPartial(e)) || [];
4132
5271
  return message;
4133
5272
  }
4134
5273
  };
@@ -4224,6 +5363,14 @@ var AuthorizationDefinition = {
4224
5363
  responseStream: false,
4225
5364
  options: {}
4226
5365
  },
5366
+ getSubjectPermissions: {
5367
+ name: "GetSubjectPermissions",
5368
+ requestType: SubjectPermissionsRequest,
5369
+ requestStream: false,
5370
+ responseType: SubjectPermissionsResponse,
5371
+ responseStream: false,
5372
+ options: {}
5373
+ },
4227
5374
  getAllowedResources: {
4228
5375
  name: "GetAllowedResources",
4229
5376
  requestType: AllowedResourcesRequest,
@@ -22911,12 +24058,12 @@ async function checkModuleHealth(clientName, serviceUrl, service = "", grpcToken
22911
24058
  }
22912
24059
  const _healthClient = clientFactory.create(HealthDefinition, channel);
22913
24060
  let error;
22914
- const status2 = await _healthClient.check({ service }).then((res) => {
24061
+ const status3 = await _healthClient.check({ service }).then((res) => {
22915
24062
  return res.status;
22916
24063
  }).catch((err) => error = err);
22917
24064
  channel.close();
22918
24065
  if (!error) {
22919
- return status2;
24066
+ return status3;
22920
24067
  }
22921
24068
  throw error;
22922
24069
  }
@@ -24027,6 +25174,16 @@ var Authorization = class extends ConduitModule {
24027
25174
  can(data) {
24028
25175
  return this.client.can(data);
24029
25176
  }
25177
+ /**
25178
+ * Lists actions declared on the resource definition.
25179
+ * A direct grant for an undeclared action can still pass `can()` and is omitted.
25180
+ * `actionPrefix` is literal (`overview` also matches `overviewer`; prefer `overview_`).
25181
+ * Subject and resource-definition changes drop the ~60s cache immediately.
25182
+ * Inherited access through an intermediate subject can lag until the TTL, as with `can()`.
25183
+ */
25184
+ getSubjectPermissions(data) {
25185
+ return this.client.getSubjectPermissions(data);
25186
+ }
24030
25187
  grantPermission(data) {
24031
25188
  return this.client.grantPermission(data);
24032
25189
  }
@@ -24042,6 +25199,7 @@ var Authorization = class extends ConduitModule {
24042
25199
  };
24043
25200
 
24044
25201
  // src/modules/authentication/index.ts
25202
+ var import_grpc_js = require("@grpc/grpc-js");
24045
25203
  var Authentication = class extends ConduitModule {
24046
25204
  constructor(moduleName, url, grpcToken) {
24047
25205
  super(moduleName, "authentication", url, grpcToken);
@@ -24049,29 +25207,76 @@ var Authentication = class extends ConduitModule {
24049
25207
  this.initializeClient(AuthenticationDefinition);
24050
25208
  }
24051
25209
  moduleName;
24052
- userLogin(userId, clientId) {
24053
- return this.client.userLogin({ userId, clientId });
25210
+ userCacheProvider;
25211
+ /**
25212
+ * Attaches a cache (or a lazy provider of one, resolved on every `getUser` call so that
25213
+ * no Redis connection is opened until it is needed) that `getUser` reads through.
25214
+ */
25215
+ attachUserCache(cache) {
25216
+ this.userCacheProvider = typeof cache === "function" ? cache : cache ? () => cache : void 0;
25217
+ }
25218
+ hasUserCache() {
25219
+ return this.userCacheProvider !== void 0;
25220
+ }
25221
+ /**
25222
+ * Fetches a user document (never includes `hashedPassword`), reading through the
25223
+ * attached user cache (5 s TTL, see UserCache) when there is one. Cache problems never
25224
+ * fail or delay the call beyond the cache's own timeout; the cache write is fire-and-forget.
25225
+ *
25226
+ * The server answers gRPC NOT_FOUND for an unknown id and this method rejects with that
25227
+ * error (an empty response is also turned into a `GrpcError` NOT_FOUND).
25228
+ */
25229
+ async getUser(userId) {
25230
+ let cache;
25231
+ try {
25232
+ cache = this.userCacheProvider?.();
25233
+ } catch {
25234
+ cache = void 0;
25235
+ }
25236
+ const cached = await cache?.get(userId);
25237
+ if (cached) return cached;
25238
+ const res = await this.client.getUser({ userId });
25239
+ if (!res?.user) {
25240
+ throw new GrpcError(import_grpc_js.status.NOT_FOUND, "User not found");
25241
+ }
25242
+ const user = JSON.parse(res.user);
25243
+ void cache?.set(userId, user);
25244
+ return user;
25245
+ }
25246
+ /**
25247
+ * Issues tokens for a user without a login. Trusted path: it runs no login strategy
25248
+ * and satisfies a realm's `requireTwoFa` policy without a 2FA step. `realm` (slug)
25249
+ * defaults to the user's home realm.
25250
+ */
25251
+ userLogin(userId, clientId, realm) {
25252
+ return this.client.userLogin({ userId, clientId, realm });
24054
25253
  }
24055
25254
  userDelete(userId) {
24056
25255
  return this.client.userDelete({ userId });
24057
25256
  }
24058
- userCreate(email, verify = false, password, anonymousId, userData) {
25257
+ userCreate(email, verify = false, password, anonymousId, userData, realm) {
24059
25258
  return this.client.userCreate({
24060
25259
  email,
24061
25260
  verify,
24062
25261
  password,
24063
25262
  anonymousId,
24064
- userData: JSON.stringify(userData)
25263
+ userData: JSON.stringify(userData),
25264
+ realm
24065
25265
  });
24066
25266
  }
24067
- userCreateByUsername(username, password, anonymousId) {
24068
- return this.client.userCreateByUsername({ username, password, anonymousId });
25267
+ userCreateByUsername(username, password, anonymousId, realm) {
25268
+ return this.client.userCreateByUsername({ username, password, anonymousId, realm });
24069
25269
  }
24070
- anonymousUserCreate(clientId) {
24071
- return this.client.anonymousUserCreate({ clientId });
25270
+ anonymousUserCreate(clientId, realm) {
25271
+ return this.client.anonymousUserCreate({ clientId, realm });
24072
25272
  }
24073
- changePass(email, password) {
24074
- return this.client.changePass({ email, password });
25273
+ /**
25274
+ * Sets a new password. `realm` picks the account when the email is held by several accounts
25275
+ * (isolated identity mode): a realm slug picks that realm's account, `'global'` picks the
25276
+ * account without a home realm. Without it such an email is refused with FAILED_PRECONDITION.
25277
+ */
25278
+ changePass(email, password, realm) {
25279
+ return this.client.changePass({ email, password, realm });
24075
25280
  }
24076
25281
  changeEmail(userId, newEmail) {
24077
25282
  return this.client.changeEmail({ userId, newEmail });
@@ -24113,6 +25318,46 @@ var Authentication = class extends ConduitModule {
24113
25318
  updateTeam(teamId, name, newParentTeamId) {
24114
25319
  return this.client.updateTeam({ teamId, name, newParentTeamId });
24115
25320
  }
25321
+ /**
25322
+ * Turns a top-level team into a realm, or updates the settings of an existing realm.
25323
+ * `settings` is the realm settings body (strategies, policies, registration, active);
25324
+ * it may carry OAuth secrets (write-only). Changing the slug of an existing realm
25325
+ * needs `force`.
25326
+ * Errors keep their gRPC code; module errors (REALM_SLUG_TAKEN, REALM_NESTED,
25327
+ * GUESTS_NOT_ALLOWED...) carry a JSON string message (`{"conduitCode", "message"}`),
25328
+ * so key on `conduitCode`.
25329
+ */
25330
+ setTeamRealm(teamId, slug, settings, force = false) {
25331
+ return this.client.setTeamRealm({
25332
+ teamId,
25333
+ slug,
25334
+ settingsJson: settings === void 0 ? void 0 : JSON.stringify(settings),
25335
+ force
25336
+ });
25337
+ }
25338
+ /** The team, its masked realm settings (`settingsJson`, no secrets) and user counts. */
25339
+ getRealmSettings(teamId) {
25340
+ return this.client.getRealmSettings({ teamId });
25341
+ }
25342
+ /** Demotes a realm. Refused while home users exist unless `force`, which blocks them. */
25343
+ unsetTeamRealm(teamId, force = false) {
25344
+ return this.client.unsetTeamRealm({ teamId, force });
25345
+ }
25346
+ /**
25347
+ * `home` makes the realm the user's home realm, `guest` adds a guest membership.
25348
+ * Fails with FAILED_PRECONDITION when `home` would replace a different home realm
25349
+ * (unless `force`, which moves the user and revokes all their tokens) and when `guest`
25350
+ * is requested for a user whose home realm is this realm.
25351
+ * Errors keep their gRPC code; module errors carry a JSON string message
25352
+ * (`{"conduitCode", "message"}`), so key on `conduitCode`.
25353
+ */
25354
+ grantRealmMembership(teamId, userId, type, force = false) {
25355
+ return this.client.grantRealmMembership({ teamId, userId, type, force });
25356
+ }
25357
+ /** Removes a guest membership (home users are moved, not removed). */
25358
+ revokeRealmMembership(teamId, userId) {
25359
+ return this.client.revokeRealmMembership({ teamId, userId, type: "", force: false });
25360
+ }
24116
25361
  };
24117
25362
 
24118
25363
  // src/modules/communications/index.ts
@@ -24568,6 +25813,22 @@ async function isLockContention(error) {
24568
25813
  );
24569
25814
  return voteErrors.length > 0 && voteErrors.every((voteError) => voteError instanceof import_redlock.ResourceLockedError);
24570
25815
  }
25816
+ var CONSUME_KEY_IF_MATCHES_SCRIPT = `
25817
+ local stored = redis.call('GET', KEYS[1])
25818
+ if not stored then return 0 end
25819
+ if stored == ARGV[1] then
25820
+ redis.call('DEL', KEYS[1], KEYS[2])
25821
+ return 1
25822
+ end
25823
+ local attempts = redis.call('INCR', KEYS[2])
25824
+ if attempts >= tonumber(ARGV[2]) then
25825
+ redis.call('DEL', KEYS[1], KEYS[2])
25826
+ elseif attempts == 1 then
25827
+ local ttl = redis.call('PTTL', KEYS[1])
25828
+ if ttl > 0 then redis.call('PEXPIRE', KEYS[2], ttl) end
25829
+ end
25830
+ return 0
25831
+ `;
24571
25832
  var StateManager = class {
24572
25833
  redisClient;
24573
25834
  redLock;
@@ -24663,13 +25924,175 @@ var StateManager = class {
24663
25924
  getKey(keyName) {
24664
25925
  return this.redisClient.get(keyName);
24665
25926
  }
25927
+ /**
25928
+ * Deletes keyName and resolves true when it holds value. A mismatch is counted in
25929
+ * attemptsKey (expiring with keyName), and the maxAttempts-th mismatch deletes keyName.
25930
+ * Both keys must share a hash tag for Redis Cluster.
25931
+ */
25932
+ async consumeKeyIfMatches(keyName, attemptsKey, value, maxAttempts) {
25933
+ const result = await this.redisClient.eval(
25934
+ CONSUME_KEY_IF_MATCHES_SCRIPT,
25935
+ 2,
25936
+ keyName,
25937
+ attemptsKey,
25938
+ value,
25939
+ maxAttempts
25940
+ );
25941
+ return result === 1;
25942
+ }
24666
25943
  incr(keyName) {
24667
25944
  return this.redisClient.incr(keyName);
24668
25945
  }
24669
25946
  };
24670
25947
 
25948
+ // src/utilities/redisHelpers.ts
25949
+ var RedisTimeoutError = class extends Error {
25950
+ constructor(ms) {
25951
+ super(`Redis operation timed out after ${ms}ms`);
25952
+ }
25953
+ };
25954
+ function withTimeout(op, ms) {
25955
+ let timer;
25956
+ const timeout = new Promise((_, reject) => {
25957
+ timer = setTimeout(() => reject(new RedisTimeoutError(ms)), ms);
25958
+ });
25959
+ let pending;
25960
+ try {
25961
+ pending = op();
25962
+ } catch (e) {
25963
+ clearTimeout(timer);
25964
+ return Promise.reject(e);
25965
+ }
25966
+ return Promise.race([pending, timeout]).finally(() => clearTimeout(timer));
25967
+ }
25968
+ function silenceClientErrors(client, label) {
25969
+ const emitter = client;
25970
+ emitter.on?.("error", (e) => {
25971
+ const logger = getLogger();
25972
+ logger.debug?.(`${label} redis error: ${e?.message}`);
25973
+ });
25974
+ }
25975
+ async function inChunks(items, size, fn) {
25976
+ const failed = [];
25977
+ for (let i = 0; i < items.length; i += size) {
25978
+ const chunk = items.slice(i, i + size);
25979
+ try {
25980
+ await fn(chunk);
25981
+ } catch {
25982
+ failed.push(...chunk);
25983
+ }
25984
+ }
25985
+ return failed;
25986
+ }
25987
+
25988
+ // src/utilities/UserCache.ts
25989
+ var USER_CACHE_PREFIX = "auth_user_";
25990
+ var USER_CACHE_TTL_MS = 5e3;
25991
+ var OP_TIMEOUT_MS = 200;
25992
+ var CHUNK_SIZE = 100;
25993
+ var UserCache = class {
25994
+ client;
25995
+ constructor(redisManager) {
25996
+ const client = redisManager.getClient();
25997
+ silenceClientErrors(client, "UserCache");
25998
+ this.client = client;
25999
+ }
26000
+ key(id) {
26001
+ return USER_CACHE_PREFIX + id;
26002
+ }
26003
+ async get(id) {
26004
+ try {
26005
+ const raw = await withTimeout(() => this.client.get(this.key(id)), OP_TIMEOUT_MS);
26006
+ return raw ? JSON.parse(raw) : null;
26007
+ } catch {
26008
+ return null;
26009
+ }
26010
+ }
26011
+ async set(id, user) {
26012
+ try {
26013
+ await withTimeout(
26014
+ () => this.client.set(this.key(id), JSON.stringify(user), "PX", USER_CACHE_TTL_MS),
26015
+ OP_TIMEOUT_MS
26016
+ );
26017
+ } catch {
26018
+ }
26019
+ }
26020
+ async invalidate(id) {
26021
+ try {
26022
+ await withTimeout(() => this.client.del(this.key(id)), OP_TIMEOUT_MS);
26023
+ } catch {
26024
+ }
26025
+ }
26026
+ async invalidateMany(ids) {
26027
+ await inChunks(
26028
+ ids,
26029
+ CHUNK_SIZE,
26030
+ (chunk) => Promise.all(chunk.map((id) => this.invalidate(id))).then(() => void 0)
26031
+ );
26032
+ }
26033
+ };
26034
+
26035
+ // src/utilities/SessionRegistry.ts
26036
+ var SESSION_REGISTRY_PREFIX = "auth_session_";
26037
+ var OP_TIMEOUT_MS2 = 500;
26038
+ var CHUNK_SIZE2 = 100;
26039
+ var SessionRegistry = class _SessionRegistry {
26040
+ client;
26041
+ constructor(redisManager) {
26042
+ const client = redisManager.getClient();
26043
+ silenceClientErrors(client, "SessionRegistry");
26044
+ this.client = client;
26045
+ }
26046
+ key(sid) {
26047
+ return SESSION_REGISTRY_PREFIX + sid;
26048
+ }
26049
+ async run(op) {
26050
+ try {
26051
+ return await withTimeout(op, OP_TIMEOUT_MS2);
26052
+ } catch {
26053
+ throw new Error("Session registry unavailable");
26054
+ }
26055
+ }
26056
+ static ttl(ttlMs) {
26057
+ return Math.max(1, Math.ceil(ttlMs));
26058
+ }
26059
+ async register(sid, data, ttlMs) {
26060
+ const value = JSON.stringify({
26061
+ user: data.user,
26062
+ clientId: data.clientId,
26063
+ realm: data.realm ?? null
26064
+ });
26065
+ await this.run(
26066
+ () => this.client.set(this.key(sid), value, "PX", _SessionRegistry.ttl(ttlMs))
26067
+ );
26068
+ }
26069
+ /** Extends the session's lifetime. Does nothing for an unknown session. */
26070
+ async touch(sid, ttlMs) {
26071
+ await this.run(() => this.client.pexpire(this.key(sid), _SessionRegistry.ttl(ttlMs)));
26072
+ }
26073
+ async exists(sid) {
26074
+ return await this.run(() => this.client.exists(this.key(sid))) === 1;
26075
+ }
26076
+ async revoke(sid) {
26077
+ await this.run(() => this.client.del(this.key(sid)));
26078
+ }
26079
+ /** Attempts every sid; throws an Error listing the sids that could not be revoked. */
26080
+ async revokeMany(sids) {
26081
+ const failed = [];
26082
+ await inChunks(sids, CHUNK_SIZE2, async (chunk) => {
26083
+ const results = await Promise.allSettled(chunk.map((sid) => this.revoke(sid)));
26084
+ results.forEach((r, i) => {
26085
+ if (r.status === "rejected") failed.push(chunk[i]);
26086
+ });
26087
+ });
26088
+ if (failed.length > 0) {
26089
+ throw new Error(`Failed to revoke sessions: ${failed.join(", ")}`);
26090
+ }
26091
+ }
26092
+ };
26093
+
24671
26094
  // src/index.ts
24672
- var import_grpc_js = require("@grpc/grpc-js");
26095
+ var import_grpc_js2 = require("@grpc/grpc-js");
24673
26096
  var import_fast_jwt = require("fast-jwt");
24674
26097
 
24675
26098
  // src/interfaces/Route.ts
@@ -24744,6 +26167,8 @@ var ConduitGrpcSdk = class _ConduitGrpcSdk {
24744
26167
  _dynamicModules = {};
24745
26168
  _eventBus;
24746
26169
  _stateManager;
26170
+ _userCache;
26171
+ _sessionRegistry;
24747
26172
  lastSearch = Date.now();
24748
26173
  urlRemap;
24749
26174
  _serviceHealthStatusGetter;
@@ -24827,6 +26252,20 @@ var ConduitGrpcSdk = class _ConduitGrpcSdk {
24827
26252
  return null;
24828
26253
  }
24829
26254
  }
26255
+ /** Redis-backed user cache. Throws when Redis is not initialized. */
26256
+ get userCache() {
26257
+ if (!this._userCache) {
26258
+ this._userCache = new UserCache(this.redisManager);
26259
+ }
26260
+ return this._userCache;
26261
+ }
26262
+ /** Redis-backed session registry. Throws when Redis is not initialized. */
26263
+ get sessionRegistry() {
26264
+ if (!this._sessionRegistry) {
26265
+ this._sessionRegistry = new SessionRegistry(this.redisManager);
26266
+ }
26267
+ return this._sessionRegistry;
26268
+ }
24830
26269
  get core() {
24831
26270
  return this._core;
24832
26271
  }
@@ -24944,7 +26383,7 @@ var ConduitGrpcSdk = class _ConduitGrpcSdk {
24944
26383
  return;
24945
26384
  }
24946
26385
  } catch (err) {
24947
- if (err.code === import_grpc_js.status.PERMISSION_DENIED) {
26386
+ if (err.code === import_grpc_js2.status.PERMISSION_DENIED) {
24948
26387
  _ConduitGrpcSdk.Logger.error(err);
24949
26388
  throw err;
24950
26389
  }
@@ -25033,7 +26472,7 @@ var ConduitGrpcSdk = class _ConduitGrpcSdk {
25033
26472
  this.waitForExistence(moduleName, onlyIfServing),
25034
26473
  sleep(options.timeoutMs).then(() => {
25035
26474
  throw new GrpcError(
25036
- import_grpc_js.status.DEADLINE_EXCEEDED,
26475
+ import_grpc_js2.status.DEADLINE_EXCEEDED,
25037
26476
  `awaitPeer(${moduleName}) timed out after ${options.timeoutMs}ms`
25038
26477
  );
25039
26478
  })
@@ -25222,6 +26661,11 @@ var ConduitGrpcSdk = class _ConduitGrpcSdk {
25222
26661
  moduleUrl,
25223
26662
  this._grpcToken
25224
26663
  );
26664
+ if (moduleName === "authentication") {
26665
+ this._modules[moduleName].attachUserCache(
26666
+ () => this._redisManager ? this.userCache : void 0
26667
+ );
26668
+ }
25225
26669
  } else if (this._dynamicModules[moduleName]) {
25226
26670
  _ConduitGrpcSdk.Logger.info(`Creating gRPC client for ${moduleName}`);
25227
26671
  this._modules[moduleName] = new ConduitModule(
@@ -25457,6 +26901,7 @@ var ConduitGrpcSdk = class _ConduitGrpcSdk {
25457
26901
  GetMessageStatusResponse,
25458
26902
  GetNotificationTokensRequest,
25459
26903
  GetNotificationTokensResponse,
26904
+ GetRealmSettingsRequest,
25460
26905
  GetRedisDetailsResponse,
25461
26906
  GetRoomResponse,
25462
26907
  GetSchemaRequest,
@@ -25465,6 +26910,8 @@ var ConduitGrpcSdk = class _ConduitGrpcSdk {
25465
26910
  GetStatusRequest,
25466
26911
  GetStatusResponse,
25467
26912
  GetTeamRequest,
26913
+ GetUserRequest,
26914
+ GetUserResponse,
25468
26915
  GrpcError,
25469
26916
  HealthCheckRequest,
25470
26917
  HealthCheckResponse,
@@ -25505,6 +26952,8 @@ var ConduitGrpcSdk = class _ConduitGrpcSdk {
25505
26952
  RawQueryRequest_RawQuery,
25506
26953
  RawQueryRequest_RawQuery_MongoQuery,
25507
26954
  RawQueryRequest_RawQuery_SQLQuery,
26955
+ RealmMembershipRequest,
26956
+ RealmResponse,
25508
26957
  RegisterAdminRouteRequest,
25509
26958
  RegisterAdminRouteRequest_ConduitRouteOptions,
25510
26959
  RegisterAdminRouteRequest_ConduitRouteReturnDefinition,
@@ -25542,6 +26991,7 @@ var ConduitGrpcSdk = class _ConduitGrpcSdk {
25542
26991
  Room,
25543
26992
  Router,
25544
26993
  RouterDefinition,
26994
+ SESSION_REGISTRY_PREFIX,
25545
26995
  SMS,
25546
26996
  SQLDataType,
25547
26997
  Schema,
@@ -25573,10 +27023,12 @@ var ConduitGrpcSdk = class _ConduitGrpcSdk {
25573
27023
  SendWithFallbackRequest_SendCommunicationParams,
25574
27024
  SendWithFallbackResponse,
25575
27025
  SendWithFallbackResponse_ChannelResult,
27026
+ SessionRegistry,
25576
27027
  SetConfigRequest,
25577
27028
  SetConfigResponse,
25578
27029
  SetNotificationTokenRequest,
25579
27030
  SetNotificationTokenResponse,
27031
+ SetTeamRealmRequest,
25580
27032
  SocketData,
25581
27033
  SocketPushRequest,
25582
27034
  SocketRequest,
@@ -25585,10 +27037,17 @@ var ConduitGrpcSdk = class _ConduitGrpcSdk {
25585
27037
  StartBackfillResponse,
25586
27038
  Storage,
25587
27039
  StorageDefinition,
27040
+ SubjectPermission,
27041
+ SubjectPermissionsRequest,
27042
+ SubjectPermissionsResponse,
25588
27043
  TYPE,
25589
27044
  Team,
25590
27045
  TeamDeleteRequest,
25591
27046
  TeamDeleteResponse,
27047
+ USER_CACHE_PREFIX,
27048
+ USER_CACHE_TTL_MS,
27049
+ UnsetTeamRealmRequest,
27050
+ UnsetTeamRealmResponse,
25592
27051
  UpdateCommunicationTemplateRequest,
25593
27052
  UpdateConfigRequest,
25594
27053
  UpdateConfigResponse,
@@ -25600,6 +27059,7 @@ var ConduitGrpcSdk = class _ConduitGrpcSdk {
25600
27059
  UpdateTemplateRequest,
25601
27060
  UpsertConfigRequest,
25602
27061
  UpsertConfigResponse,
27062
+ UserCache,
25603
27063
  UserChangeEmail,
25604
27064
  UserChangeEmailResponse,
25605
27065
  UserChangePass,