@milaboratories/pl-client 3.14.7 → 3.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/core/PromiseTracker.d.ts +1 -2
  2. package/dist/core/PromiseTracker.d.ts.map +1 -1
  3. package/dist/core/abstract_stream.d.ts +2 -3
  4. package/dist/core/abstract_stream.d.ts.map +1 -1
  5. package/dist/core/auth.d.ts +2 -4
  6. package/dist/core/auth.d.ts.map +1 -1
  7. package/dist/core/cache.d.ts +1 -3
  8. package/dist/core/cache.d.ts.map +1 -1
  9. package/dist/core/capabilities.d.ts +2 -3
  10. package/dist/core/capabilities.d.ts.map +1 -1
  11. package/dist/core/client.cjs +7 -0
  12. package/dist/core/client.cjs.map +1 -1
  13. package/dist/core/client.d.ts +8 -5
  14. package/dist/core/client.d.ts.map +1 -1
  15. package/dist/core/client.js +7 -0
  16. package/dist/core/client.js.map +1 -1
  17. package/dist/core/config.d.ts +29 -31
  18. package/dist/core/config.d.ts.map +1 -1
  19. package/dist/core/default_client.d.ts +2 -4
  20. package/dist/core/default_client.d.ts.map +1 -1
  21. package/dist/core/driver.d.ts +4 -6
  22. package/dist/core/driver.d.ts.map +1 -1
  23. package/dist/core/errors.d.ts +20 -22
  24. package/dist/core/errors.d.ts.map +1 -1
  25. package/dist/core/final.d.ts +4 -5
  26. package/dist/core/final.d.ts.map +1 -1
  27. package/dist/core/ll_client.cjs +45 -18
  28. package/dist/core/ll_client.cjs.map +1 -1
  29. package/dist/core/ll_client.d.ts +21 -10
  30. package/dist/core/ll_client.d.ts.map +1 -1
  31. package/dist/core/ll_client.js +45 -18
  32. package/dist/core/ll_client.js.map +1 -1
  33. package/dist/core/ll_transaction.d.ts +4 -6
  34. package/dist/core/ll_transaction.d.ts.map +1 -1
  35. package/dist/core/stat.d.ts +2 -3
  36. package/dist/core/stat.d.ts.map +1 -1
  37. package/dist/core/transaction.cjs +2 -1
  38. package/dist/core/transaction.cjs.map +1 -1
  39. package/dist/core/transaction.d.ts +30 -32
  40. package/dist/core/transaction.d.ts.map +1 -1
  41. package/dist/core/transaction.js +2 -1
  42. package/dist/core/transaction.js.map +1 -1
  43. package/dist/core/tree_filter.d.ts +14 -10
  44. package/dist/core/tree_filter.d.ts.map +1 -1
  45. package/dist/core/types.d.ts +54 -55
  46. package/dist/core/types.d.ts.map +1 -1
  47. package/dist/core/unauth_client.cjs +79 -32
  48. package/dist/core/unauth_client.cjs.map +1 -1
  49. package/dist/core/unauth_client.d.ts +53 -20
  50. package/dist/core/unauth_client.d.ts.map +1 -1
  51. package/dist/core/unauth_client.js +79 -32
  52. package/dist/core/unauth_client.js.map +1 -1
  53. package/dist/core/user_resources.cjs +23 -0
  54. package/dist/core/user_resources.cjs.map +1 -1
  55. package/dist/core/user_resources.d.ts +33 -7
  56. package/dist/core/user_resources.d.ts.map +1 -1
  57. package/dist/core/user_resources.js +23 -0
  58. package/dist/core/user_resources.js.map +1 -1
  59. package/dist/core/wire.d.ts +5 -7
  60. package/dist/core/wire.d.ts.map +1 -1
  61. package/dist/helpers/pl.d.ts +32 -34
  62. package/dist/helpers/pl.d.ts.map +1 -1
  63. package/dist/helpers/poll.d.ts +8 -9
  64. package/dist/helpers/poll.d.ts.map +1 -1
  65. package/dist/helpers/tx_helpers.d.ts +2 -4
  66. package/dist/helpers/tx_helpers.d.ts.map +1 -1
  67. package/dist/index.d.ts +3 -3
  68. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.d.ts +2 -4
  69. package/dist/proto-grpc/github.com/googleapis/googleapis/google/rpc/status.d.ts.map +1 -1
  70. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.cjs +310 -15
  71. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.cjs.map +1 -1
  72. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.cjs +19 -3
  73. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.cjs.map +1 -1
  74. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts +29 -5
  75. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.d.ts.map +1 -1
  76. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.js +19 -3
  77. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.js.map +1 -1
  78. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts +2336 -429
  79. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.d.ts.map +1 -1
  80. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.js +309 -16
  81. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.js.map +1 -1
  82. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.d.ts +51 -30
  83. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api_types.d.ts.map +1 -1
  84. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.d.ts +7 -9
  85. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/base_types.d.ts.map +1 -1
  86. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.d.ts +6 -8
  87. package/dist/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/resource_types.d.ts.map +1 -1
  88. package/dist/proto-grpc/google/protobuf/any.d.ts +2 -4
  89. package/dist/proto-grpc/google/protobuf/any.d.ts.map +1 -1
  90. package/dist/proto-grpc/google/protobuf/duration.d.ts +2 -4
  91. package/dist/proto-grpc/google/protobuf/duration.d.ts.map +1 -1
  92. package/dist/proto-grpc/google/protobuf/timestamp.d.ts +2 -4
  93. package/dist/proto-grpc/google/protobuf/timestamp.d.ts.map +1 -1
  94. package/dist/proto-grpc/google/rpc/code.d.ts +1 -2
  95. package/dist/proto-grpc/google/rpc/code.d.ts.map +1 -1
  96. package/dist/proto-rest/index.d.ts +6 -8
  97. package/dist/proto-rest/index.d.ts.map +1 -1
  98. package/dist/proto-rest/plapi.d.ts +248 -123
  99. package/dist/proto-rest/plapi.d.ts.map +1 -1
  100. package/dist/test/tcp-proxy.d.ts +3 -5
  101. package/dist/test/tcp-proxy.d.ts.map +1 -1
  102. package/dist/test/test_config.d.ts +13 -14
  103. package/dist/test/test_config.d.ts.map +1 -1
  104. package/package.json +6 -6
  105. package/src/core/client.ts +9 -0
  106. package/src/core/ll_client.ts +40 -13
  107. package/src/core/transaction.ts +2 -0
  108. package/src/core/unauth_client.test.ts +69 -1
  109. package/src/core/unauth_client.ts +108 -34
  110. package/src/core/unauth_client_branch.test.ts +416 -5
  111. package/src/core/user_resources.ts +39 -0
  112. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.client.ts +34 -3
  113. package/src/proto-grpc/github.com/milaboratory/pl/plapi/plapiproto/api.ts +431 -15
  114. package/src/proto-rest/plapi.ts +8 -2
@@ -1025,6 +1025,26 @@ export interface TxAPI_Open_Response {
1025
1025
  * @generated from protobuf field: MiLaboratories.PL.API.Tx tx = 1
1026
1026
  */
1027
1027
  tx?: Tx;
1028
+ /**
1029
+ * The token to store and send back as changed_since_token on any later Tree
1030
+ * request. Everything the token denotes has finished committing, and it is
1031
+ * sampled as this transaction opens, so a write that had not committed by
1032
+ * then sits above it while one that had is visible to this transaction's
1033
+ * reads. One token per transaction, however many tree reads it issues.
1034
+ *
1035
+ * Absent on a WRITABLE open, which is issued no token: the walk would see
1036
+ * that transaction's own uncommitted writes (see changed_since_token).
1037
+ *
1038
+ * Store it only after a whole tree response has been applied successfully. A
1039
+ * client that keeps it after a partial apply will never be sent the
1040
+ * resources it dropped. Clear it on tree rebuild, on a root-set change, and
1041
+ * whenever the seed array is invalidated - the server no longer refuses a
1042
+ * token presented against a differently shaped request, so that is the
1043
+ * client's to enforce.
1044
+ *
1045
+ * @generated from protobuf field: bytes next_since_token = 2
1046
+ */
1047
+ nextSinceToken: Uint8Array;
1028
1048
  }
1029
1049
  /**
1030
1050
  * @generated from protobuf message MiLaboratories.PL.API.TxAPI.Commit
@@ -1826,6 +1846,37 @@ export interface ResourceAPI_Tree_Request {
1826
1846
  * @generated from protobuf field: bool show_soft_deletes = 9
1827
1847
  */
1828
1848
  showSoftDeletes: boolean;
1849
+ /**
1850
+ * An opaque continuation token, taken verbatim from a previous response's
1851
+ * next_since_token. The server returns bodies only for resources that
1852
+ * changed after the point this token denotes; every other visited resource
1853
+ * gets a body-less frame with resource_unchanged set. Empty or absent (the
1854
+ * default) requests the full tree.
1855
+ *
1856
+ * Clients must not parse, construct or compare this value: its encoding is
1857
+ * server-private and may change without a wire version bump. Store the
1858
+ * token only after applying a whole response successfully.
1859
+ *
1860
+ * A token the server cannot use is answered with the full tree, never with
1861
+ * an error, so it is always safe to send back whatever was last received.
1862
+ * The server detects and ignores a token that does not fit the request it
1863
+ * arrives on - the token is bound to the traversal-shaping parameters
1864
+ * (resource_id, seeds, max_depth, include_kv, show_soft_deletes,
1865
+ * field_filter, traverse_stop_rules), so changing any of them costs one
1866
+ * full tree instead of silently reporting never-sent resources as held.
1867
+ *
1868
+ * Ignored on a WRITABLE transaction, which also receives no
1869
+ * next_since_token: the walk sees that transaction's uncommitted writes, so
1870
+ * delta skipping there could pin a body describing state that never
1871
+ * committed. Poll from a read-only transaction.
1872
+ *
1873
+ * Servers advertise support via "treeChangedSince:v1" in
1874
+ * MaintenanceAPI.Ping.Response.capabilities; old servers ignore this field
1875
+ * and always send the full tree.
1876
+ *
1877
+ * @generated from protobuf field: bytes changed_since_token = 10
1878
+ */
1879
+ changedSinceToken: Uint8Array;
1829
1880
  }
1830
1881
  /**
1831
1882
  * A single entry point for multi-root tree traversal.
@@ -2021,8 +2072,9 @@ export interface ResourceAPI_Tree_KV {
2021
2072
  export interface ResourceAPI_Tree_Response {
2022
2073
  /**
2023
2074
  * Full resource payload. Absent on stop-marker frames (when the server
2024
- * advertises `treeStopMarker:v1` and traverse_was_stopped is true).
2025
- * Always populated on normal frames.
2075
+ * advertises `treeStopMarker:v1` and traverse_was_stopped is true) and on
2076
+ * unchanged frames (when resource_unchanged is true). Populated on every
2077
+ * other frame.
2026
2078
  *
2027
2079
  * @generated from protobuf field: optional MiLaboratories.PL.API.Resource resource = 1
2028
2080
  */
@@ -2048,8 +2100,9 @@ export interface ResourceAPI_Tree_Response {
2048
2100
  */
2049
2101
  traverseWasStopped: boolean;
2050
2102
  /**
2051
- * Populated only on stop-marker frames (resource is unset).
2052
- * Zero / empty on normal frames; use resource.resource_id instead.
2103
+ * Populated on frames where resource is unset - stop-marker and unchanged
2104
+ * frames. Zero / empty on frames carrying a resource; use
2105
+ * resource.resource_id instead.
2053
2106
  *
2054
2107
  * @generated from protobuf field: uint64 resource_id = 4
2055
2108
  */
@@ -2058,6 +2111,23 @@ export interface ResourceAPI_Tree_Response {
2058
2111
  * @generated from protobuf field: bytes resource_signature = 5
2059
2112
  */
2060
2113
  resourceSignature: Uint8Array;
2114
+ /**
2115
+ * True on a body-less frame emitted for a resource the client already holds:
2116
+ * resource is unset, and resource_id and resource_signature carry the
2117
+ * identity instead. The client keeps everything it holds for that resource,
2118
+ * fields and kv alike, and the traversal still descends into it - an
2119
+ * unchanged parent routinely has changed children.
2120
+ *
2121
+ * Orthogonal to traverse_was_stopped; a frame may set both.
2122
+ *
2123
+ * A resource may appear twice in one response: an unchanged frame, then a
2124
+ * body frame later in the same response. The later frame supersedes the
2125
+ * earlier one, so apply frames in arrival order and treat an unchanged
2126
+ * frame for an unknown resource as benign rather than fatal.
2127
+ *
2128
+ * @generated from protobuf field: bool resource_unchanged = 6
2129
+ */
2130
+ resourceUnchanged: boolean;
2061
2131
  }
2062
2132
  /**
2063
2133
  * @generated from protobuf message MiLaboratories.PL.API.ResourceAPI.TreeSize
@@ -3631,11 +3701,19 @@ export interface AuthAPI_ListMethods_MethodInfo {
3631
3701
  */
3632
3702
  id: string;
3633
3703
  /**
3634
- * description is the human-readable label in case we'd like to render it in UI.
3704
+ * description is the long-form human-readable text a client may render
3705
+ * alongside the title, for example in a tooltip or under the button.
3635
3706
  *
3636
3707
  * @generated from protobuf field: string description = 7
3637
3708
  */
3638
3709
  description: string;
3710
+ /**
3711
+ * title is the short human-readable label a client renders for this
3712
+ * method, for example on the sign-in button. Always set.
3713
+ *
3714
+ * @generated from protobuf field: string title = 9
3715
+ */
3716
+ title: string;
3639
3717
  /**
3640
3718
  * @generated from protobuf oneof: method
3641
3719
  */
@@ -3675,6 +3753,10 @@ export interface AuthAPI_BeginSSOLogin {
3675
3753
  * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.BeginSSOLogin.Request
3676
3754
  */
3677
3755
  export interface AuthAPI_BeginSSOLogin_Request {
3756
+ /**
3757
+ * @generated from protobuf field: optional string idp = 1
3758
+ */
3759
+ idp?: string;
3678
3760
  }
3679
3761
  /**
3680
3762
  * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.BeginSSOLogin.PublicPKCE
@@ -3773,6 +3855,10 @@ export interface AuthAPI_Login_BasicCredentials {
3773
3855
  * @generated from protobuf field: string password = 2
3774
3856
  */
3775
3857
  password: string;
3858
+ /**
3859
+ * @generated from protobuf field: optional string idp = 3
3860
+ */
3861
+ idp?: string;
3776
3862
  }
3777
3863
  /**
3778
3864
  * TokenCredentials accepts any opaque bearer-style string: a controller
@@ -3797,6 +3883,10 @@ export interface AuthAPI_Login_SSOCredentials {
3797
3883
  * @generated from protobuf field: bytes token_response = 1
3798
3884
  */
3799
3885
  tokenResponse: Uint8Array;
3886
+ /**
3887
+ * @generated from protobuf field: optional string idp = 2
3888
+ */
3889
+ idp?: string;
3800
3890
  }
3801
3891
  /**
3802
3892
  * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.Login.Request
@@ -4229,14 +4319,89 @@ export interface AuthAPI_ListUserResources_SharedResource {
4229
4319
  */
4230
4320
  export interface AuthAPI_User {
4231
4321
  /**
4232
- * login is the stable identifier of the user — the grant target and the
4233
- * GetUserRoot key. Further fields (e.g. first name, last name, email) may
4234
- * be added later without breaking compatibility.
4322
+ * login is the user's provider-facing login identifier and the value clients
4323
+ * pass as a grant target / impersonation subject. It is the only identity a
4324
+ * client needs: the backend resolves it to an internal id that is never
4325
+ * exposed over the API.
4326
+ *
4327
+ * @generated from protobuf field: string login = 1
4328
+ */
4329
+ login: string;
4330
+ /**
4331
+ * display_name is the user's human-readable name, mapped from the provider on
4332
+ * login. May be empty for migrated users who have not logged in since upgrade.
4333
+ *
4334
+ * @generated from protobuf field: string display_name = 2
4335
+ */
4336
+ displayName: string;
4337
+ /**
4338
+ * email is the user's email, mapped from the provider on login. May be empty
4339
+ * when the provider does not supply it or the mapping is disabled.
4340
+ *
4341
+ * @generated from protobuf field: string email = 3
4342
+ */
4343
+ email: string;
4344
+ /**
4345
+ * attributes carries the remaining provider-mapped attributes the client
4346
+ * configured (e.g. full_name, external_id, custom fields), keyed by attribute
4347
+ * name. The default attributes (login, display_name, email) are promoted to
4348
+ * their own fields above and are not repeated here.
4349
+ *
4350
+ * @generated from protobuf field: map<string, string> attributes = 4
4351
+ */
4352
+ attributes: {
4353
+ [key: string]: string;
4354
+ };
4355
+ }
4356
+ /**
4357
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.DeleteUser
4358
+ */
4359
+ export interface AuthAPI_DeleteUser {
4360
+ }
4361
+ /**
4362
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.DeleteUser.Request
4363
+ */
4364
+ export interface AuthAPI_DeleteUser_Request {
4365
+ /**
4366
+ * login of the user to delete. Resolved the way an admin-supplied grant target is:
4367
+ * a point lookup on the identity index, which carries no provider id - so an account
4368
+ * left behind by a provider that has since been removed from the configuration is
4369
+ * reachable too.
4235
4370
  *
4236
4371
  * @generated from protobuf field: string login = 1
4237
4372
  */
4238
4373
  login: string;
4239
4374
  }
4375
+ /**
4376
+ * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.DeleteUser.Response
4377
+ */
4378
+ export interface AuthAPI_DeleteUser_Response {
4379
+ /**
4380
+ * root resource the user owned; 0 when the user had none.
4381
+ *
4382
+ * @generated from protobuf field: uint64 user_root_id = 1
4383
+ */
4384
+ userRootId: bigint;
4385
+ /**
4386
+ * whether that root resource was deleted.
4387
+ *
4388
+ * @generated from protobuf field: bool user_root_deleted = 2
4389
+ */
4390
+ userRootDeleted: boolean;
4391
+ /**
4392
+ * grants revoked, the user-root self-grant included.
4393
+ *
4394
+ * @generated from protobuf field: uint32 revoked_grants = 3
4395
+ */
4396
+ revokedGrants: number;
4397
+ /**
4398
+ * identity-index entries removed: the login, the email and any alternative of either
4399
+ * that resolved to this account.
4400
+ *
4401
+ * @generated from protobuf field: uint32 removed_identity_index_entries = 4
4402
+ */
4403
+ removedIdentityIndexEntries: number;
4404
+ }
4240
4405
  /**
4241
4406
  * @generated from protobuf message MiLaboratories.PL.API.AuthAPI.ListUsers
4242
4407
  */
@@ -5998,11 +6163,13 @@ export const TxAPI_Open_Request = new TxAPI_Open_Request$Type();
5998
6163
  class TxAPI_Open_Response$Type extends MessageType<TxAPI_Open_Response> {
5999
6164
  constructor() {
6000
6165
  super("MiLaboratories.PL.API.TxAPI.Open.Response", [
6001
- { no: 1, name: "tx", kind: "message", T: () => Tx }
6166
+ { no: 1, name: "tx", kind: "message", T: () => Tx },
6167
+ { no: 2, name: "next_since_token", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
6002
6168
  ]);
6003
6169
  }
6004
6170
  create(value?: PartialMessage<TxAPI_Open_Response>): TxAPI_Open_Response {
6005
6171
  const message = globalThis.Object.create((this.messagePrototype!));
6172
+ message.nextSinceToken = new Uint8Array(0);
6006
6173
  if (value !== undefined)
6007
6174
  reflectionMergePartial<TxAPI_Open_Response>(this, message, value);
6008
6175
  return message;
@@ -6015,6 +6182,9 @@ class TxAPI_Open_Response$Type extends MessageType<TxAPI_Open_Response> {
6015
6182
  case /* MiLaboratories.PL.API.Tx tx */ 1:
6016
6183
  message.tx = Tx.internalBinaryRead(reader, reader.uint32(), options, message.tx);
6017
6184
  break;
6185
+ case /* bytes next_since_token */ 2:
6186
+ message.nextSinceToken = reader.bytes();
6187
+ break;
6018
6188
  default:
6019
6189
  let u = options.readUnknownField;
6020
6190
  if (u === "throw")
@@ -6030,6 +6200,9 @@ class TxAPI_Open_Response$Type extends MessageType<TxAPI_Open_Response> {
6030
6200
  /* MiLaboratories.PL.API.Tx tx = 1; */
6031
6201
  if (message.tx)
6032
6202
  Tx.internalBinaryWrite(message.tx, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
6203
+ /* bytes next_since_token = 2; */
6204
+ if (message.nextSinceToken.length)
6205
+ writer.tag(2, WireType.LengthDelimited).bytes(message.nextSinceToken);
6033
6206
  let u = options.writeUnknownFields;
6034
6207
  if (u !== false)
6035
6208
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -9591,7 +9764,8 @@ class ResourceAPI_Tree_Request$Type extends MessageType<ResourceAPI_Tree_Request
9591
9764
  { no: 6, name: "include_kv", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
9592
9765
  { no: 7, name: "traverse_stop_rules", kind: "message", T: () => ResourceAPI_Tree_Filter },
9593
9766
  { no: 8, name: "seeds", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ResourceAPI_Tree_SeedResource },
9594
- { no: 9, name: "show_soft_deletes", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
9767
+ { no: 9, name: "show_soft_deletes", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
9768
+ { no: 10, name: "changed_since_token", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
9595
9769
  ]);
9596
9770
  }
9597
9771
  create(value?: PartialMessage<ResourceAPI_Tree_Request>): ResourceAPI_Tree_Request {
@@ -9601,6 +9775,7 @@ class ResourceAPI_Tree_Request$Type extends MessageType<ResourceAPI_Tree_Request
9601
9775
  message.includeKv = false;
9602
9776
  message.seeds = [];
9603
9777
  message.showSoftDeletes = false;
9778
+ message.changedSinceToken = new Uint8Array(0);
9604
9779
  if (value !== undefined)
9605
9780
  reflectionMergePartial<ResourceAPI_Tree_Request>(this, message, value);
9606
9781
  return message;
@@ -9634,6 +9809,9 @@ class ResourceAPI_Tree_Request$Type extends MessageType<ResourceAPI_Tree_Request
9634
9809
  case /* bool show_soft_deletes */ 9:
9635
9810
  message.showSoftDeletes = reader.bool();
9636
9811
  break;
9812
+ case /* bytes changed_since_token */ 10:
9813
+ message.changedSinceToken = reader.bytes();
9814
+ break;
9637
9815
  default:
9638
9816
  let u = options.readUnknownField;
9639
9817
  if (u === "throw")
@@ -9670,6 +9848,9 @@ class ResourceAPI_Tree_Request$Type extends MessageType<ResourceAPI_Tree_Request
9670
9848
  /* bool show_soft_deletes = 9; */
9671
9849
  if (message.showSoftDeletes !== false)
9672
9850
  writer.tag(9, WireType.Varint).bool(message.showSoftDeletes);
9851
+ /* bytes changed_since_token = 10; */
9852
+ if (message.changedSinceToken.length)
9853
+ writer.tag(10, WireType.LengthDelimited).bytes(message.changedSinceToken);
9673
9854
  let u = options.writeUnknownFields;
9674
9855
  if (u !== false)
9675
9856
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -9930,7 +10111,8 @@ class ResourceAPI_Tree_Response$Type extends MessageType<ResourceAPI_Tree_Respon
9930
10111
  { no: 2, name: "kv", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ResourceAPI_Tree_KV },
9931
10112
  { no: 3, name: "traverse_was_stopped", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
9932
10113
  { no: 4, name: "resource_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
9933
- { no: 5, name: "resource_signature", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
10114
+ { no: 5, name: "resource_signature", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
10115
+ { no: 6, name: "resource_unchanged", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
9934
10116
  ]);
9935
10117
  }
9936
10118
  create(value?: PartialMessage<ResourceAPI_Tree_Response>): ResourceAPI_Tree_Response {
@@ -9939,6 +10121,7 @@ class ResourceAPI_Tree_Response$Type extends MessageType<ResourceAPI_Tree_Respon
9939
10121
  message.traverseWasStopped = false;
9940
10122
  message.resourceId = 0n;
9941
10123
  message.resourceSignature = new Uint8Array(0);
10124
+ message.resourceUnchanged = false;
9942
10125
  if (value !== undefined)
9943
10126
  reflectionMergePartial<ResourceAPI_Tree_Response>(this, message, value);
9944
10127
  return message;
@@ -9963,6 +10146,9 @@ class ResourceAPI_Tree_Response$Type extends MessageType<ResourceAPI_Tree_Respon
9963
10146
  case /* bytes resource_signature */ 5:
9964
10147
  message.resourceSignature = reader.bytes();
9965
10148
  break;
10149
+ case /* bool resource_unchanged */ 6:
10150
+ message.resourceUnchanged = reader.bool();
10151
+ break;
9966
10152
  default:
9967
10153
  let u = options.readUnknownField;
9968
10154
  if (u === "throw")
@@ -9990,6 +10176,9 @@ class ResourceAPI_Tree_Response$Type extends MessageType<ResourceAPI_Tree_Respon
9990
10176
  /* bytes resource_signature = 5; */
9991
10177
  if (message.resourceSignature.length)
9992
10178
  writer.tag(5, WireType.LengthDelimited).bytes(message.resourceSignature);
10179
+ /* bool resource_unchanged = 6; */
10180
+ if (message.resourceUnchanged !== false)
10181
+ writer.tag(6, WireType.Varint).bool(message.resourceUnchanged);
9993
10182
  let u = options.writeUnknownFields;
9994
10183
  if (u !== false)
9995
10184
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -17694,6 +17883,7 @@ class AuthAPI_ListMethods_MethodInfo$Type extends MessageType<AuthAPI_ListMethod
17694
17883
  super("MiLaboratories.PL.API.AuthAPI.ListMethods.MethodInfo", [
17695
17884
  { no: 6, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
17696
17885
  { no: 7, name: "description", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
17886
+ { no: 9, name: "title", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
17697
17887
  { no: 4, name: "basic", kind: "message", oneof: "method", T: () => AuthAPI_ListMethods_BasicAuthMethod },
17698
17888
  { no: 5, name: "token", kind: "message", oneof: "method", T: () => AuthAPI_ListMethods_TokenAuthMethod },
17699
17889
  { no: 8, name: "sso", kind: "message", oneof: "method", T: () => AuthAPI_ListMethods_SSOAuthMethod }
@@ -17703,6 +17893,7 @@ class AuthAPI_ListMethods_MethodInfo$Type extends MessageType<AuthAPI_ListMethod
17703
17893
  const message = globalThis.Object.create((this.messagePrototype!));
17704
17894
  message.id = "";
17705
17895
  message.description = "";
17896
+ message.title = "";
17706
17897
  message.method = { oneofKind: undefined };
17707
17898
  if (value !== undefined)
17708
17899
  reflectionMergePartial<AuthAPI_ListMethods_MethodInfo>(this, message, value);
@@ -17719,6 +17910,9 @@ class AuthAPI_ListMethods_MethodInfo$Type extends MessageType<AuthAPI_ListMethod
17719
17910
  case /* string description */ 7:
17720
17911
  message.description = reader.string();
17721
17912
  break;
17913
+ case /* string title */ 9:
17914
+ message.title = reader.string();
17915
+ break;
17722
17916
  case /* MiLaboratories.PL.API.AuthAPI.ListMethods.BasicAuthMethod basic */ 4:
17723
17917
  message.method = {
17724
17918
  oneofKind: "basic",
@@ -17764,6 +17958,9 @@ class AuthAPI_ListMethods_MethodInfo$Type extends MessageType<AuthAPI_ListMethod
17764
17958
  /* MiLaboratories.PL.API.AuthAPI.ListMethods.SSOAuthMethod sso = 8; */
17765
17959
  if (message.method.oneofKind === "sso")
17766
17960
  AuthAPI_ListMethods_SSOAuthMethod.internalBinaryWrite(message.method.sso, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
17961
+ /* string title = 9; */
17962
+ if (message.title !== "")
17963
+ writer.tag(9, WireType.LengthDelimited).string(message.title);
17767
17964
  let u = options.writeUnknownFields;
17768
17965
  if (u !== false)
17769
17966
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -17815,7 +18012,9 @@ export const AuthAPI_BeginSSOLogin = new AuthAPI_BeginSSOLogin$Type();
17815
18012
  // @generated message type with reflection information, may provide speed optimized methods
17816
18013
  class AuthAPI_BeginSSOLogin_Request$Type extends MessageType<AuthAPI_BeginSSOLogin_Request> {
17817
18014
  constructor() {
17818
- super("MiLaboratories.PL.API.AuthAPI.BeginSSOLogin.Request", []);
18015
+ super("MiLaboratories.PL.API.AuthAPI.BeginSSOLogin.Request", [
18016
+ { no: 1, name: "idp", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
18017
+ ]);
17819
18018
  }
17820
18019
  create(value?: PartialMessage<AuthAPI_BeginSSOLogin_Request>): AuthAPI_BeginSSOLogin_Request {
17821
18020
  const message = globalThis.Object.create((this.messagePrototype!));
@@ -17828,6 +18027,9 @@ class AuthAPI_BeginSSOLogin_Request$Type extends MessageType<AuthAPI_BeginSSOLog
17828
18027
  while (reader.pos < end) {
17829
18028
  let [fieldNo, wireType] = reader.tag();
17830
18029
  switch (fieldNo) {
18030
+ case /* optional string idp */ 1:
18031
+ message.idp = reader.string();
18032
+ break;
17831
18033
  default:
17832
18034
  let u = options.readUnknownField;
17833
18035
  if (u === "throw")
@@ -17840,6 +18042,9 @@ class AuthAPI_BeginSSOLogin_Request$Type extends MessageType<AuthAPI_BeginSSOLog
17840
18042
  return message;
17841
18043
  }
17842
18044
  internalBinaryWrite(message: AuthAPI_BeginSSOLogin_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
18045
+ /* optional string idp = 1; */
18046
+ if (message.idp !== undefined)
18047
+ writer.tag(1, WireType.LengthDelimited).string(message.idp);
17843
18048
  let u = options.writeUnknownFields;
17844
18049
  if (u !== false)
17845
18050
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -18158,7 +18363,8 @@ class AuthAPI_Login_BasicCredentials$Type extends MessageType<AuthAPI_Login_Basi
18158
18363
  constructor() {
18159
18364
  super("MiLaboratories.PL.API.AuthAPI.Login.BasicCredentials", [
18160
18365
  { no: 1, name: "login", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
18161
- { no: 2, name: "password", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
18366
+ { no: 2, name: "password", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
18367
+ { no: 3, name: "idp", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
18162
18368
  ]);
18163
18369
  }
18164
18370
  create(value?: PartialMessage<AuthAPI_Login_BasicCredentials>): AuthAPI_Login_BasicCredentials {
@@ -18180,6 +18386,9 @@ class AuthAPI_Login_BasicCredentials$Type extends MessageType<AuthAPI_Login_Basi
18180
18386
  case /* string password */ 2:
18181
18387
  message.password = reader.string();
18182
18388
  break;
18389
+ case /* optional string idp */ 3:
18390
+ message.idp = reader.string();
18391
+ break;
18183
18392
  default:
18184
18393
  let u = options.readUnknownField;
18185
18394
  if (u === "throw")
@@ -18198,6 +18407,9 @@ class AuthAPI_Login_BasicCredentials$Type extends MessageType<AuthAPI_Login_Basi
18198
18407
  /* string password = 2; */
18199
18408
  if (message.password !== "")
18200
18409
  writer.tag(2, WireType.LengthDelimited).string(message.password);
18410
+ /* optional string idp = 3; */
18411
+ if (message.idp !== undefined)
18412
+ writer.tag(3, WireType.LengthDelimited).string(message.idp);
18201
18413
  let u = options.writeUnknownFields;
18202
18414
  if (u !== false)
18203
18415
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -18259,7 +18471,8 @@ export const AuthAPI_Login_TokenCredentials = new AuthAPI_Login_TokenCredentials
18259
18471
  class AuthAPI_Login_SSOCredentials$Type extends MessageType<AuthAPI_Login_SSOCredentials> {
18260
18472
  constructor() {
18261
18473
  super("MiLaboratories.PL.API.AuthAPI.Login.SSOCredentials", [
18262
- { no: 1, name: "token_response", kind: "scalar", T: 12 /*ScalarType.BYTES*/ }
18474
+ { no: 1, name: "token_response", kind: "scalar", T: 12 /*ScalarType.BYTES*/ },
18475
+ { no: 2, name: "idp", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
18263
18476
  ]);
18264
18477
  }
18265
18478
  create(value?: PartialMessage<AuthAPI_Login_SSOCredentials>): AuthAPI_Login_SSOCredentials {
@@ -18277,6 +18490,9 @@ class AuthAPI_Login_SSOCredentials$Type extends MessageType<AuthAPI_Login_SSOCre
18277
18490
  case /* bytes token_response */ 1:
18278
18491
  message.tokenResponse = reader.bytes();
18279
18492
  break;
18493
+ case /* optional string idp */ 2:
18494
+ message.idp = reader.string();
18495
+ break;
18280
18496
  default:
18281
18497
  let u = options.readUnknownField;
18282
18498
  if (u === "throw")
@@ -18292,6 +18508,9 @@ class AuthAPI_Login_SSOCredentials$Type extends MessageType<AuthAPI_Login_SSOCre
18292
18508
  /* bytes token_response = 1; */
18293
18509
  if (message.tokenResponse.length)
18294
18510
  writer.tag(1, WireType.LengthDelimited).bytes(message.tokenResponse);
18511
+ /* optional string idp = 2; */
18512
+ if (message.idp !== undefined)
18513
+ writer.tag(2, WireType.LengthDelimited).string(message.idp);
18295
18514
  let u = options.writeUnknownFields;
18296
18515
  if (u !== false)
18297
18516
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -19930,12 +20149,18 @@ export const AuthAPI_ListUserResources_SharedResource = new AuthAPI_ListUserReso
19930
20149
  class AuthAPI_User$Type extends MessageType<AuthAPI_User> {
19931
20150
  constructor() {
19932
20151
  super("MiLaboratories.PL.API.AuthAPI.User", [
19933
- { no: 1, name: "login", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
20152
+ { no: 1, name: "login", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
20153
+ { no: 2, name: "display_name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
20154
+ { no: 3, name: "email", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
20155
+ { no: 4, name: "attributes", kind: "map", K: 9 /*ScalarType.STRING*/, V: { kind: "scalar", T: 9 /*ScalarType.STRING*/ } }
19934
20156
  ]);
19935
20157
  }
19936
20158
  create(value?: PartialMessage<AuthAPI_User>): AuthAPI_User {
19937
20159
  const message = globalThis.Object.create((this.messagePrototype!));
19938
20160
  message.login = "";
20161
+ message.displayName = "";
20162
+ message.email = "";
20163
+ message.attributes = {};
19939
20164
  if (value !== undefined)
19940
20165
  reflectionMergePartial<AuthAPI_User>(this, message, value);
19941
20166
  return message;
@@ -19948,6 +20173,15 @@ class AuthAPI_User$Type extends MessageType<AuthAPI_User> {
19948
20173
  case /* string login */ 1:
19949
20174
  message.login = reader.string();
19950
20175
  break;
20176
+ case /* string display_name */ 2:
20177
+ message.displayName = reader.string();
20178
+ break;
20179
+ case /* string email */ 3:
20180
+ message.email = reader.string();
20181
+ break;
20182
+ case /* map<string, string> attributes */ 4:
20183
+ this.binaryReadMap4(message.attributes, reader, options);
20184
+ break;
19951
20185
  default:
19952
20186
  let u = options.readUnknownField;
19953
20187
  if (u === "throw")
@@ -19959,10 +20193,35 @@ class AuthAPI_User$Type extends MessageType<AuthAPI_User> {
19959
20193
  }
19960
20194
  return message;
19961
20195
  }
20196
+ private binaryReadMap4(map: AuthAPI_User["attributes"], reader: IBinaryReader, options: BinaryReadOptions): void {
20197
+ let len = reader.uint32(), end = reader.pos + len, key: keyof AuthAPI_User["attributes"] | undefined, val: AuthAPI_User["attributes"][any] | undefined;
20198
+ while (reader.pos < end) {
20199
+ let [fieldNo, wireType] = reader.tag();
20200
+ switch (fieldNo) {
20201
+ case 1:
20202
+ key = reader.string();
20203
+ break;
20204
+ case 2:
20205
+ val = reader.string();
20206
+ break;
20207
+ default: throw new globalThis.Error("unknown map entry field for MiLaboratories.PL.API.AuthAPI.User.attributes");
20208
+ }
20209
+ }
20210
+ map[key ?? ""] = val ?? "";
20211
+ }
19962
20212
  internalBinaryWrite(message: AuthAPI_User, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
19963
20213
  /* string login = 1; */
19964
20214
  if (message.login !== "")
19965
20215
  writer.tag(1, WireType.LengthDelimited).string(message.login);
20216
+ /* string display_name = 2; */
20217
+ if (message.displayName !== "")
20218
+ writer.tag(2, WireType.LengthDelimited).string(message.displayName);
20219
+ /* string email = 3; */
20220
+ if (message.email !== "")
20221
+ writer.tag(3, WireType.LengthDelimited).string(message.email);
20222
+ /* map<string, string> attributes = 4; */
20223
+ for (let k of globalThis.Object.keys(message.attributes))
20224
+ writer.tag(4, WireType.LengthDelimited).fork().tag(1, WireType.LengthDelimited).string(k).tag(2, WireType.LengthDelimited).string(message.attributes[k]).join();
19966
20225
  let u = options.writeUnknownFields;
19967
20226
  if (u !== false)
19968
20227
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -19974,6 +20233,162 @@ class AuthAPI_User$Type extends MessageType<AuthAPI_User> {
19974
20233
  */
19975
20234
  export const AuthAPI_User = new AuthAPI_User$Type();
19976
20235
  // @generated message type with reflection information, may provide speed optimized methods
20236
+ class AuthAPI_DeleteUser$Type extends MessageType<AuthAPI_DeleteUser> {
20237
+ constructor() {
20238
+ super("MiLaboratories.PL.API.AuthAPI.DeleteUser", []);
20239
+ }
20240
+ create(value?: PartialMessage<AuthAPI_DeleteUser>): AuthAPI_DeleteUser {
20241
+ const message = globalThis.Object.create((this.messagePrototype!));
20242
+ if (value !== undefined)
20243
+ reflectionMergePartial<AuthAPI_DeleteUser>(this, message, value);
20244
+ return message;
20245
+ }
20246
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_DeleteUser): AuthAPI_DeleteUser {
20247
+ let message = target ?? this.create(), end = reader.pos + length;
20248
+ while (reader.pos < end) {
20249
+ let [fieldNo, wireType] = reader.tag();
20250
+ switch (fieldNo) {
20251
+ default:
20252
+ let u = options.readUnknownField;
20253
+ if (u === "throw")
20254
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
20255
+ let d = reader.skip(wireType);
20256
+ if (u !== false)
20257
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
20258
+ }
20259
+ }
20260
+ return message;
20261
+ }
20262
+ internalBinaryWrite(message: AuthAPI_DeleteUser, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
20263
+ let u = options.writeUnknownFields;
20264
+ if (u !== false)
20265
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
20266
+ return writer;
20267
+ }
20268
+ }
20269
+ /**
20270
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.DeleteUser
20271
+ */
20272
+ export const AuthAPI_DeleteUser = new AuthAPI_DeleteUser$Type();
20273
+ // @generated message type with reflection information, may provide speed optimized methods
20274
+ class AuthAPI_DeleteUser_Request$Type extends MessageType<AuthAPI_DeleteUser_Request> {
20275
+ constructor() {
20276
+ super("MiLaboratories.PL.API.AuthAPI.DeleteUser.Request", [
20277
+ { no: 1, name: "login", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
20278
+ ]);
20279
+ }
20280
+ create(value?: PartialMessage<AuthAPI_DeleteUser_Request>): AuthAPI_DeleteUser_Request {
20281
+ const message = globalThis.Object.create((this.messagePrototype!));
20282
+ message.login = "";
20283
+ if (value !== undefined)
20284
+ reflectionMergePartial<AuthAPI_DeleteUser_Request>(this, message, value);
20285
+ return message;
20286
+ }
20287
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_DeleteUser_Request): AuthAPI_DeleteUser_Request {
20288
+ let message = target ?? this.create(), end = reader.pos + length;
20289
+ while (reader.pos < end) {
20290
+ let [fieldNo, wireType] = reader.tag();
20291
+ switch (fieldNo) {
20292
+ case /* string login */ 1:
20293
+ message.login = reader.string();
20294
+ break;
20295
+ default:
20296
+ let u = options.readUnknownField;
20297
+ if (u === "throw")
20298
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
20299
+ let d = reader.skip(wireType);
20300
+ if (u !== false)
20301
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
20302
+ }
20303
+ }
20304
+ return message;
20305
+ }
20306
+ internalBinaryWrite(message: AuthAPI_DeleteUser_Request, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
20307
+ /* string login = 1; */
20308
+ if (message.login !== "")
20309
+ writer.tag(1, WireType.LengthDelimited).string(message.login);
20310
+ let u = options.writeUnknownFields;
20311
+ if (u !== false)
20312
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
20313
+ return writer;
20314
+ }
20315
+ }
20316
+ /**
20317
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.DeleteUser.Request
20318
+ */
20319
+ export const AuthAPI_DeleteUser_Request = new AuthAPI_DeleteUser_Request$Type();
20320
+ // @generated message type with reflection information, may provide speed optimized methods
20321
+ class AuthAPI_DeleteUser_Response$Type extends MessageType<AuthAPI_DeleteUser_Response> {
20322
+ constructor() {
20323
+ super("MiLaboratories.PL.API.AuthAPI.DeleteUser.Response", [
20324
+ { no: 1, name: "user_root_id", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
20325
+ { no: 2, name: "user_root_deleted", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
20326
+ { no: 3, name: "revoked_grants", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
20327
+ { no: 4, name: "removed_identity_index_entries", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }
20328
+ ]);
20329
+ }
20330
+ create(value?: PartialMessage<AuthAPI_DeleteUser_Response>): AuthAPI_DeleteUser_Response {
20331
+ const message = globalThis.Object.create((this.messagePrototype!));
20332
+ message.userRootId = 0n;
20333
+ message.userRootDeleted = false;
20334
+ message.revokedGrants = 0;
20335
+ message.removedIdentityIndexEntries = 0;
20336
+ if (value !== undefined)
20337
+ reflectionMergePartial<AuthAPI_DeleteUser_Response>(this, message, value);
20338
+ return message;
20339
+ }
20340
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AuthAPI_DeleteUser_Response): AuthAPI_DeleteUser_Response {
20341
+ let message = target ?? this.create(), end = reader.pos + length;
20342
+ while (reader.pos < end) {
20343
+ let [fieldNo, wireType] = reader.tag();
20344
+ switch (fieldNo) {
20345
+ case /* uint64 user_root_id */ 1:
20346
+ message.userRootId = reader.uint64().toBigInt();
20347
+ break;
20348
+ case /* bool user_root_deleted */ 2:
20349
+ message.userRootDeleted = reader.bool();
20350
+ break;
20351
+ case /* uint32 revoked_grants */ 3:
20352
+ message.revokedGrants = reader.uint32();
20353
+ break;
20354
+ case /* uint32 removed_identity_index_entries */ 4:
20355
+ message.removedIdentityIndexEntries = reader.uint32();
20356
+ break;
20357
+ default:
20358
+ let u = options.readUnknownField;
20359
+ if (u === "throw")
20360
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
20361
+ let d = reader.skip(wireType);
20362
+ if (u !== false)
20363
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
20364
+ }
20365
+ }
20366
+ return message;
20367
+ }
20368
+ internalBinaryWrite(message: AuthAPI_DeleteUser_Response, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
20369
+ /* uint64 user_root_id = 1; */
20370
+ if (message.userRootId !== 0n)
20371
+ writer.tag(1, WireType.Varint).uint64(message.userRootId);
20372
+ /* bool user_root_deleted = 2; */
20373
+ if (message.userRootDeleted !== false)
20374
+ writer.tag(2, WireType.Varint).bool(message.userRootDeleted);
20375
+ /* uint32 revoked_grants = 3; */
20376
+ if (message.revokedGrants !== 0)
20377
+ writer.tag(3, WireType.Varint).uint32(message.revokedGrants);
20378
+ /* uint32 removed_identity_index_entries = 4; */
20379
+ if (message.removedIdentityIndexEntries !== 0)
20380
+ writer.tag(4, WireType.Varint).uint32(message.removedIdentityIndexEntries);
20381
+ let u = options.writeUnknownFields;
20382
+ if (u !== false)
20383
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
20384
+ return writer;
20385
+ }
20386
+ }
20387
+ /**
20388
+ * @generated MessageType for protobuf message MiLaboratories.PL.API.AuthAPI.DeleteUser.Response
20389
+ */
20390
+ export const AuthAPI_DeleteUser_Response = new AuthAPI_DeleteUser_Response$Type();
20391
+ // @generated message type with reflection information, may provide speed optimized methods
19977
20392
  class AuthAPI_ListUsers$Type extends MessageType<AuthAPI_ListUsers> {
19978
20393
  constructor() {
19979
20394
  super("MiLaboratories.PL.API.AuthAPI.ListUsers", []);
@@ -20728,6 +21143,7 @@ export const Platform = new ServiceType("MiLaboratories.PL.API.Platform", [
20728
21143
  { name: "GetUserRoot", options: { "google.api.http": { post: "/v1/auth/user-root", body: "*" } }, I: AuthAPI_GetUserRoot_Request, O: AuthAPI_GetUserRoot_Response },
20729
21144
  { name: "ListUserResources", serverStreaming: true, options: {}, I: AuthAPI_ListUserResources_Request, O: AuthAPI_ListUserResources_Response },
20730
21145
  { name: "ListUsers", options: {}, I: AuthAPI_ListUsers_Request, O: AuthAPI_ListUsers_Response },
21146
+ { name: "DeleteUser", options: { "google.api.http": { post: "/v1/auth/delete-user", body: "*" } }, I: AuthAPI_DeleteUser_Request, O: AuthAPI_DeleteUser_Response },
20731
21147
  { name: "ListResourceTypes", options: { "google.api.http": { get: "/v1/resource-types" } }, I: MiscAPI_ListResourceTypes_Request, O: MiscAPI_ListResourceTypes_Response },
20732
21148
  { name: "Ping", options: { "google.api.http": { get: "/v1/ping" } }, I: MaintenanceAPI_Ping_Request, O: MaintenanceAPI_Ping_Response },
20733
21149
  { name: "License", options: { "google.api.http": { get: "/v1/license" } }, I: MaintenanceAPI_License_Request, O: MaintenanceAPI_License_Response }