@structured-id/ui-core 1.2.0 → 1.3.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 (101) hide show
  1. package/README.md +9 -5
  2. package/dist/browser-vp/index.d.cts +0 -11
  3. package/dist/browser-vp/index.d.ts +0 -11
  4. package/dist/index.cjs +13721 -9514
  5. package/dist/index.d.cts +4362 -2375
  6. package/dist/index.d.ts +4362 -2375
  7. package/dist/index.js +13937 -9730
  8. package/package.json +3 -3
  9. package/src/browser-vp/crypto.ts +0 -1
  10. package/src/browser-vp/index.ts +0 -2
  11. package/src/browser-vp/prf.ts +0 -2
  12. package/src/browser-vp/storage.ts +0 -2
  13. package/src/browser-vp/types.ts +0 -2
  14. package/src/browser-vp/vp.ts +0 -2
  15. package/src/composables/index.ts +6 -1
  16. package/src/composables/useAccountTransport.test.ts +121 -0
  17. package/src/composables/useAccountTransport.ts +69 -0
  18. package/src/composables/useBffAuth.ts +44 -34
  19. package/src/generated/google/api/httpbody.ts +159 -0
  20. package/src/generated/google/protobuf/any.ts +326 -0
  21. package/src/generated/google/rpc/error_details.ts +1386 -0
  22. package/src/generated/google/rpc/status.ts +127 -0
  23. package/src/generated/sid/v1/account/account.ts +1 -1
  24. package/src/generated/sid/v1/admin/admin.client.ts +15 -12
  25. package/src/generated/sid/v1/admin/admin.ts +24 -89
  26. package/src/generated/sid/v1/admin/enrollment.client.ts +24 -12
  27. package/src/generated/sid/v1/admin/enrollment.ts +65 -3
  28. package/src/generated/sid/v1/admin/events.client.ts +8 -8
  29. package/src/generated/sid/v1/admin/flow.ts +1 -1
  30. package/src/generated/sid/v1/admin/keys.ts +1 -1
  31. package/src/generated/sid/v1/admin/notifications.client.ts +12 -6
  32. package/src/generated/sid/v1/admin/notifications.ts +11 -70
  33. package/src/generated/sid/v1/admin/operations.ts +20 -35
  34. package/src/generated/sid/v1/admin/organizations.client.ts +2 -2
  35. package/src/generated/sid/v1/admin/organizations.ts +15 -32
  36. package/src/generated/sid/v1/admin/provisioning.client.ts +232 -0
  37. package/src/generated/sid/v1/admin/provisioning.ts +1383 -0
  38. package/src/generated/sid/v1/admin/scopes.ts +1 -1
  39. package/src/generated/sid/v1/admin/security.client.ts +22 -24
  40. package/src/generated/sid/v1/admin/security.ts +13 -22
  41. package/src/generated/sid/v1/admin/settings.client.ts +29 -18
  42. package/src/generated/sid/v1/admin/settings.ts +2 -82
  43. package/src/generated/sid/v1/attestation/attestation.client.ts +6 -6
  44. package/src/generated/sid/v1/attestation/attestation.ts +8 -8
  45. package/src/generated/sid/v1/authn/auth.client.ts +101 -58
  46. package/src/generated/sid/v1/authn/auth.ts +842 -414
  47. package/src/generated/sid/v1/authn/flows.ts +0 -12
  48. package/src/generated/sid/v1/authn/issuer.client.ts +489 -0
  49. package/src/generated/sid/v1/authn/issuer.ts +1600 -0
  50. package/src/generated/sid/v1/authn/password_history.client.ts +57 -0
  51. package/src/generated/sid/v1/authn/password_history.ts +578 -0
  52. package/src/generated/sid/v1/authn/system_integration.client.ts +73 -0
  53. package/src/generated/sid/v1/authn/system_integration.ts +218 -0
  54. package/src/generated/sid/v1/authz/authz.ts +1498 -317
  55. package/src/generated/sid/v1/authz/forward_auth.client.ts +97 -0
  56. package/src/generated/sid/v1/authz/forward_auth.ts +79 -0
  57. package/src/generated/sid/v1/authz/governance.client.ts +2 -2
  58. package/src/generated/sid/v1/authz/governance.ts +61 -4
  59. package/src/generated/sid/v1/common/errors.ts +532 -6
  60. package/src/generated/sid/v1/events/event_stream.client.ts +2 -2
  61. package/src/generated/sid/v1/events/event_stream.ts +2 -1
  62. package/src/generated/sid/v1/identity/identity.ts +98 -58
  63. package/src/generated/sid/v1/ids/ids.ts +395 -0
  64. package/src/generated/sid/v1/machine/machine_user.ts +0 -36
  65. package/src/generated/sid/v1/machine/pat.client.ts +2 -19
  66. package/src/generated/sid/v1/machine/pat.ts +1 -186
  67. package/src/generated/sid/v1/projects/projects.client.ts +137 -19
  68. package/src/generated/sid/v1/projects/projects.ts +2105 -405
  69. package/src/generated/sid/v1/scim/scim.client.ts +248 -2
  70. package/src/generated/sid/v1/scim/scim.ts +153 -14
  71. package/src/generated/sid/v1/test/test.ts +1 -1
  72. package/src/i18n/index.ts +0 -11
  73. package/src/index.ts +36 -2
  74. package/src/package-exports.test.ts +18 -0
  75. package/src/profile/components/SidLoginForm.vue +5 -2
  76. package/src/profile/components/SidRegistrationForm.test.ts +58 -1
  77. package/src/profile/components/SidRegistrationForm.vue +110 -12
  78. package/src/profile/components/index.ts +4 -0
  79. package/src/profile/composables/index.ts +2 -1
  80. package/src/profile/composables/useAccountApi.ts +20 -7
  81. package/src/profile/composables/useAuth.test.ts +453 -0
  82. package/src/profile/composables/useAuth.ts +414 -0
  83. package/src/profile/composables/useAuthApi.opaque.test.ts +18 -0
  84. package/src/profile/composables/useAuthApi.ts +188 -20
  85. package/src/profile/composables/useEnrollmentApi.test.ts +33 -0
  86. package/src/profile/composables/useEnrollmentApi.ts +26 -0
  87. package/src/profile/composables/useIdentityApi.ts +17 -7
  88. package/src/profile/composables/useLoginSuccess.test.ts +97 -3
  89. package/src/profile/composables/useLoginSuccess.ts +80 -22
  90. package/src/profile/composables/useSecurityLevel.test.ts +10 -3
  91. package/src/profile/composables/useSecurityLevel.ts +12 -3
  92. package/src/quasar/SidPrincipalInput.vue +4 -7
  93. package/src/utils/normalizePrincipal.test.ts +19 -5
  94. package/src/utils/normalizePrincipal.ts +7 -9
  95. package/src/utils/rpcRefusal.test.ts +151 -0
  96. package/src/utils/rpcRefusal.ts +252 -0
  97. package/src/utils/validators.test.ts +9 -0
  98. package/src/utils/validators.ts +14 -2
  99. package/src/composables/useAuth.ts +0 -40
  100. package/src/profile/composables/useOpaqueAuth.test.ts +0 -290
  101. package/src/profile/composables/useOpaqueAuth.ts +0 -191
@@ -50,94 +50,312 @@ export interface Project {
50
50
  updatedAt?: Timestamp;
51
51
  }
52
52
  /**
53
- * Application represents an OIDC client within a project.
53
+ * A managed application: the registration of one product or integration in a
54
+ * project. It has an OAuth client role (software that obtains tokens), a
55
+ * protected-resource role (an API or application at which access is
56
+ * enforced), or both. The roles are independent: a resource needs no client,
57
+ * secret or callback of its own, and a client obtains tokens only for
58
+ * resources it has explicit access to.
54
59
  *
55
60
  * @generated from protobuf message sid.v1.projects.Application
56
61
  */
57
62
  export interface Application {
58
63
  /**
59
- * @generated from protobuf field: string client_id = 1
64
+ * Server-assigned application identifier (UUIDv7). Stable for the
65
+ * application's lifetime; not a credential and not a token audience.
66
+ *
67
+ * @generated from protobuf field: string id = 1
60
68
  */
61
- clientId: string;
69
+ id: string;
62
70
  /**
71
+ * Project (UUID) whose authorization vocabulary the application uses.
72
+ *
63
73
  * @generated from protobuf field: string project_id = 2
64
74
  */
65
75
  projectId: string;
66
76
  /**
77
+ * Name shown to administrators.
78
+ *
67
79
  * @generated from protobuf field: string name = 3
68
80
  */
69
81
  name: string;
70
82
  /**
71
- * @generated from protobuf field: sid.v1.projects.ApplicationType type = 4
83
+ * The OAuth client role, when the application has one.
84
+ *
85
+ * @generated from protobuf field: optional sid.v1.projects.OAuthClient client = 4
86
+ */
87
+ client?: OAuthClient;
88
+ /**
89
+ * The protected-resource role, when the application has one.
90
+ *
91
+ * @generated from protobuf field: optional sid.v1.projects.ProtectedResource resource = 5
72
92
  */
73
- type: ApplicationType;
93
+ resource?: ProtectedResource;
94
+ /**
95
+ * Stored revision of the application record; moves on with every change
96
+ * of its name.
97
+ *
98
+ * @generated from protobuf field: uint64 revision = 6
99
+ */
100
+ revision: bigint;
101
+ /**
102
+ * @generated from protobuf field: google.protobuf.Timestamp created_at = 7
103
+ */
104
+ createdAt?: Timestamp;
105
+ /**
106
+ * @generated from protobuf field: google.protobuf.Timestamp updated_at = 8
107
+ */
108
+ updatedAt?: Timestamp;
109
+ /**
110
+ * Set when the application is one of the installation's own integrations,
111
+ * which SID provisions and keeps; unset for an administrator's application.
112
+ * Its roles and access are shown like any other application's.
113
+ *
114
+ * @generated from protobuf field: sid.v1.projects.SystemIntegration system_integration = 9
115
+ */
116
+ systemIntegration: SystemIntegration;
117
+ }
118
+ /**
119
+ * The OAuth client role of an application: software that obtains tokens.
120
+ *
121
+ * @generated from protobuf message sid.v1.projects.OAuthClient
122
+ */
123
+ export interface OAuthClient {
124
+ /**
125
+ * OAuth `client_id`, assigned by the server; unique within the installation.
126
+ *
127
+ * @generated from protobuf field: string client_id = 1
128
+ */
129
+ clientId: string;
130
+ /**
131
+ * Application (UUIDv7) whose client role this is.
132
+ *
133
+ * @generated from protobuf field: string application_id = 2
134
+ */
135
+ applicationId: string;
136
+ /**
137
+ * Project (UUID) of the application.
138
+ *
139
+ * @generated from protobuf field: string project_id = 3
140
+ */
141
+ projectId: string;
74
142
  /**
75
- * OIDC configuration.
143
+ * Client name shown to users (RFC 7591 §2 `client_name`).
76
144
  *
77
- * @generated from protobuf field: repeated string redirect_uris = 5
145
+ * @generated from protobuf field: string name = 4
146
+ */
147
+ name: string;
148
+ /**
149
+ * Kind of client software; decides whether it can hold a secret.
150
+ *
151
+ * @generated from protobuf field: sid.v1.projects.ApplicationType type = 5
152
+ */
153
+ type: ApplicationType;
154
+ /**
155
+ * @generated from protobuf field: repeated string redirect_uris = 6
78
156
  */
79
157
  redirectUris: string[];
80
158
  /**
81
- * @generated from protobuf field: repeated string allowed_scopes = 6
159
+ * Scopes this client may request at all; access to a resource further
160
+ * limits them to what that access grants.
161
+ *
162
+ * @generated from protobuf field: repeated string allowed_scopes = 7
82
163
  */
83
164
  allowedScopes: string[];
84
165
  /**
85
- * @generated from protobuf field: repeated string grant_types = 7
166
+ * @generated from protobuf field: repeated string grant_types = 8
86
167
  */
87
168
  grantTypes: string[];
88
169
  /**
89
- * @generated from protobuf field: bool active = 8
170
+ * @generated from protobuf field: bool active = 9
90
171
  */
91
172
  active: boolean;
92
173
  /**
93
- * @generated from protobuf field: google.protobuf.Timestamp created_at = 9
174
+ * @generated from protobuf field: google.protobuf.Timestamp created_at = 10
94
175
  */
95
176
  createdAt?: Timestamp;
96
177
  /**
97
- * DCR fields (RFC 7591).
178
+ * How the client authenticates at the token endpoint (RFC 7591 §2).
98
179
  *
99
- * @generated from protobuf field: sid.v1.projects.TokenEndpointAuthMethod token_endpoint_auth_method = 10
180
+ * @generated from protobuf field: sid.v1.projects.TokenEndpointAuthMethod token_endpoint_auth_method = 11
100
181
  */
101
182
  tokenEndpointAuthMethod: TokenEndpointAuthMethod;
102
183
  /**
103
- * @generated from protobuf field: repeated string response_types = 11
184
+ * @generated from protobuf field: repeated string response_types = 12
104
185
  */
105
186
  responseTypes: string[];
106
187
  /**
107
- * @generated from protobuf field: sid.v1.projects.SubjectType subject_type = 12
188
+ * @generated from protobuf field: sid.v1.projects.SubjectType subject_type = 13
108
189
  */
109
190
  subjectType: SubjectType;
110
191
  /**
111
- * @generated from protobuf field: optional string sector_identifier_uri = 13
192
+ * @generated from protobuf field: optional string sector_identifier_uri = 14
112
193
  */
113
194
  sectorIdentifierUri?: string;
114
195
  /**
115
- * @generated from protobuf field: repeated string contacts = 14
196
+ * @generated from protobuf field: repeated string contacts = 15
116
197
  */
117
198
  contacts: string[];
118
199
  /**
119
- * @generated from protobuf field: google.protobuf.Timestamp client_id_issued_at = 15
200
+ * @generated from protobuf field: google.protobuf.Timestamp client_id_issued_at = 16
120
201
  */
121
202
  clientIdIssuedAt?: Timestamp;
122
203
  /**
123
- * @generated from protobuf field: optional google.protobuf.Timestamp client_secret_expires_at = 16
204
+ * @generated from protobuf field: optional google.protobuf.Timestamp client_secret_expires_at = 17
124
205
  */
125
206
  clientSecretExpiresAt?: Timestamp;
126
207
  /**
127
- * @generated from protobuf field: bool dynamically_registered = 17
208
+ * Registered through Dynamic Client Registration (RFC 7591).
209
+ *
210
+ * @generated from protobuf field: bool dynamically_registered = 18
128
211
  */
129
212
  dynamicallyRegistered: boolean;
130
213
  /**
131
- * Organization this client belongs to. Used as the binding grouping
132
- * key for pairwise sub derivation (org-model.md §Binding Grouping):
133
- * sub = HMAC(salt, profile_id || org_id || "sid-pairwise-sub-v1")
134
- * All clients within the same org produce the same BindingId for a
135
- * given profile — domain changes don't affect sub stability.
136
- * Empty = no org association (legacy CE clients before org model).
214
+ * Recipient organization of this client (UUIDv7). A pairwise recipient's
215
+ * subject is the stored BindingId of the (Profile, organization) pair, so
216
+ * every client of one organization sees the same subject for a user and
217
+ * redirect domains do not change it. Assigned at registration.
137
218
  *
138
- * @generated from protobuf field: optional string org_id = 18
219
+ * @generated from protobuf field: optional string org_id = 19
139
220
  */
140
221
  orgId?: string;
222
+ /**
223
+ * Exact OIDC issuer identifier this client is registered under, the
224
+ * canonical URL `https://<host>/i/<handle>`. Part of the connection details
225
+ * a relying party configures verbatim: it discovers endpoints at
226
+ * `<issuer>/.well-known/openid-configuration` and keys accounts by
227
+ * (issuer, sub). Assigned by the server at registration and never changed
228
+ * by an ordinary update; every client has one.
229
+ *
230
+ * @generated from protobuf field: string issuer = 20
231
+ */
232
+ issuer: string;
233
+ /**
234
+ * The protected resource (ProtectedResource.id, UUIDv7) a token is issued
235
+ * for when a token request names none (RFC 8707 §2). Effective only while
236
+ * the client has access to that resource. Without it, a request naming no
237
+ * resource is refused with `invalid_target`; no other audience is
238
+ * substituted.
239
+ *
240
+ * @generated from protobuf field: optional string default_resource_id = 21
241
+ */
242
+ defaultResourceId?: string;
243
+ /**
244
+ * Stored revision of the client role.
245
+ *
246
+ * @generated from protobuf field: uint64 revision = 22
247
+ */
248
+ revision: bigint;
249
+ /**
250
+ * The client's registered public signing keys (RFC 7591 §2 `jwks`), the
251
+ * JSON text of a JWK Set, when it has any. Public material only.
252
+ *
253
+ * @generated from protobuf field: optional string jwks = 23
254
+ */
255
+ jwks?: string;
256
+ /**
257
+ * Where the end-session endpoint may send the browser after logout (OIDC
258
+ * RP-Initiated Logout 1.0 §3.1): absolute URIs without a fragment, compared
259
+ * exactly. Empty means the endpoint never redirects for this client.
260
+ *
261
+ * @generated from protobuf field: repeated string post_logout_redirect_uris = 24
262
+ */
263
+ postLogoutRedirectUris: string[];
264
+ }
265
+ /**
266
+ * The protected-resource role of an application: an API or application at
267
+ * which access tokens are accepted and access is enforced.
268
+ *
269
+ * @generated from protobuf message sid.v1.projects.ProtectedResource
270
+ */
271
+ export interface ProtectedResource {
272
+ /**
273
+ * Server-assigned resource identifier (UUIDv7), used to manage the resource
274
+ * and its access. Not the token audience.
275
+ *
276
+ * @generated from protobuf field: string id = 1
277
+ */
278
+ id: string;
279
+ /**
280
+ * Application (UUIDv7) holding this role; absent once the resource is
281
+ * retired with its application.
282
+ *
283
+ * @generated from protobuf field: optional string application_id = 2
284
+ */
285
+ applicationId?: string;
286
+ /**
287
+ * The resource indicator (RFC 8707 §2): an absolute URI without a fragment,
288
+ * in canonical form, e.g. `https://api.example.com/orders`. It is the `aud`
289
+ * of every access token issued for this resource and the `resource` value
290
+ * clients send. An identifier, not a URL SID fetches. Unique within its
291
+ * issuer for ever: a retired indicator is never given to another resource.
292
+ *
293
+ * @generated from protobuf field: string indicator = 3
294
+ */
295
+ indicator: string;
296
+ /**
297
+ * Exact OIDC issuer identifier whose tokens this resource accepts, the
298
+ * canonical URL `https://<host>/i/<handle>`. Fixed at registration.
299
+ *
300
+ * @generated from protobuf field: string issuer = 4
301
+ */
302
+ issuer: string;
303
+ /**
304
+ * Scopes this resource understands; access to it grants no others.
305
+ *
306
+ * @generated from protobuf field: repeated string scopes = 5
307
+ */
308
+ scopes: string[];
309
+ /**
310
+ * @generated from protobuf field: sid.v1.projects.ResourceState state = 6
311
+ */
312
+ state: ResourceState;
313
+ /**
314
+ * Stored revision of the resource role.
315
+ *
316
+ * @generated from protobuf field: uint64 revision = 7
317
+ */
318
+ revision: bigint;
319
+ /**
320
+ * @generated from protobuf field: google.protobuf.Timestamp created_at = 8
321
+ */
322
+ createdAt?: Timestamp;
323
+ /**
324
+ * @generated from protobuf field: google.protobuf.Timestamp updated_at = 9
325
+ */
326
+ updatedAt?: Timestamp;
327
+ }
328
+ /**
329
+ * Explicit permission for one client to obtain access tokens for one
330
+ * resource, limited to `scopes`. Project membership, a shared issuer or an
331
+ * equal subject grant no access by themselves.
332
+ *
333
+ * @generated from protobuf message sid.v1.projects.ResourceAccess
334
+ */
335
+ export interface ResourceAccess {
336
+ /**
337
+ * Identifier (RFC 6749 §2.2) of the client given access: an OAuth client
338
+ * of an application, or a machine user requesting tokens for itself.
339
+ *
340
+ * @generated from protobuf field: string client_id = 1
341
+ */
342
+ clientId: string;
343
+ /**
344
+ * The resource (ProtectedResource.id, UUIDv7) it may obtain tokens for.
345
+ *
346
+ * @generated from protobuf field: string resource_id = 2
347
+ */
348
+ resourceId: string;
349
+ /**
350
+ * Scopes this access grants; always a subset of the resource's scopes.
351
+ *
352
+ * @generated from protobuf field: repeated string scopes = 3
353
+ */
354
+ scopes: string[];
355
+ /**
356
+ * @generated from protobuf field: google.protobuf.Timestamp created_at = 4
357
+ */
358
+ createdAt?: Timestamp;
141
359
  }
142
360
  /**
143
361
  * Initial Access Token constrains DCR registrations.
@@ -272,6 +490,90 @@ export interface DeleteProjectRequest {
272
490
  }
273
491
  // ── Application messages ──
274
492
 
493
+ /**
494
+ * Settings of a new OAuth client role.
495
+ *
496
+ * @generated from protobuf message sid.v1.projects.ClientRoleSettings
497
+ */
498
+ export interface ClientRoleSettings {
499
+ /**
500
+ * Kind of client software. Web and API clients get a secret; native and
501
+ * single-page clients are public and authenticate with PKCE alone.
502
+ * Unspecified is web.
503
+ *
504
+ * @generated from protobuf field: sid.v1.projects.ApplicationType type = 1
505
+ */
506
+ type: ApplicationType;
507
+ /**
508
+ * @generated from protobuf field: repeated string redirect_uris = 2
509
+ */
510
+ redirectUris: string[];
511
+ /**
512
+ * Scopes the client may request; empty is `openid profile email`.
513
+ *
514
+ * @generated from protobuf field: repeated string allowed_scopes = 3
515
+ */
516
+ allowedScopes: string[];
517
+ /**
518
+ * Grant types; empty is `authorization_code refresh_token`.
519
+ *
520
+ * @generated from protobuf field: repeated string grant_types = 4
521
+ */
522
+ grantTypes: string[];
523
+ /**
524
+ * The client's public signing keys, the JSON text of a JWK Set (RFC 7591 §2
525
+ * `jwks`; see RegisterClientRequest.jwks for the accepted keys). Given, a
526
+ * web or API client authenticates with `private_key_jwt` (RFC 7523 §2.2)
527
+ * and gets no secret: its private key never reaches SID. Refused for a
528
+ * native or single-page client, which is public.
529
+ *
530
+ * @generated from protobuf field: optional string jwks = 5
531
+ */
532
+ jwks?: string;
533
+ /**
534
+ * Post-logout redirect URIs (see OAuthClient.post_logout_redirect_uris),
535
+ * validated like redirect URIs for the client's type; an invalid one is
536
+ * INVALID_ARGUMENT, field `post_logout_redirect_uris`.
537
+ *
538
+ * @generated from protobuf field: repeated string post_logout_redirect_uris = 6
539
+ */
540
+ postLogoutRedirectUris: string[];
541
+ }
542
+ /**
543
+ * A list of URIs, set as a whole by an update.
544
+ *
545
+ * @generated from protobuf message sid.v1.projects.UriList
546
+ */
547
+ export interface UriList {
548
+ /**
549
+ * The URIs; empty clears the list.
550
+ *
551
+ * @generated from protobuf field: repeated string uris = 1
552
+ */
553
+ uris: string[];
554
+ }
555
+ /**
556
+ * Settings of a new protected-resource role.
557
+ *
558
+ * @generated from protobuf message sid.v1.projects.ResourceRoleSettings
559
+ */
560
+ export interface ResourceRoleSettings {
561
+ /**
562
+ * Resource indicator (RFC 8707 §2): an absolute URI without a fragment in
563
+ * canonical form. Refused (INVALID_ARGUMENT, field `indicator`) otherwise,
564
+ * with the canonical spelling in the message when that is the only fault;
565
+ * ALREADY_EXISTS when the issuer already has, or had, a resource with it.
566
+ *
567
+ * @generated from protobuf field: string indicator = 1
568
+ */
569
+ indicator: string;
570
+ /**
571
+ * Scopes the resource understands.
572
+ *
573
+ * @generated from protobuf field: repeated string scopes = 2
574
+ */
575
+ scopes: string[];
576
+ }
275
577
  /**
276
578
  * @generated from protobuf message sid.v1.projects.CreateApplicationRequest
277
579
  */
@@ -285,31 +587,27 @@ export interface CreateApplicationRequest {
285
587
  */
286
588
  name: string;
287
589
  /**
288
- * @generated from protobuf field: sid.v1.projects.ApplicationType type = 3
289
- */
290
- type: ApplicationType;
291
- /**
292
- * @generated from protobuf field: repeated string redirect_uris = 4
293
- */
294
- redirectUris: string[];
295
- /**
296
- * @generated from protobuf field: repeated string allowed_scopes = 5
590
+ * At least one role is required.
591
+ *
592
+ * @generated from protobuf field: optional sid.v1.projects.ClientRoleSettings client = 3
297
593
  */
298
- allowedScopes: string[];
594
+ client?: ClientRoleSettings;
299
595
  /**
300
- * @generated from protobuf field: repeated string grant_types = 6
596
+ * @generated from protobuf field: optional sid.v1.projects.ResourceRoleSettings resource = 4
301
597
  */
302
- grantTypes: string[];
598
+ resource?: ResourceRoleSettings;
303
599
  /**
304
- * Organization to associate this client with (for pairwise sub derivation).
305
- * Empty = inherit from project's org (if any).
600
+ * Recipient organization (UUIDv7). Empty means the installation's
601
+ * organization; naming any other organization is refused.
306
602
  *
307
- * @generated from protobuf field: optional string org_id = 7
603
+ * @generated from protobuf field: optional string org_id = 5
308
604
  */
309
605
  orgId?: string;
310
606
  }
311
607
  /**
312
- * Returns client_secret in plaintext (only on creation, never stored).
608
+ * The application, and the client secret when a client role that holds a
609
+ * secret was created. The secret is returned only here and never stored in
610
+ * plaintext.
313
611
  *
314
612
  * @generated from protobuf message sid.v1.projects.CreateApplicationResponse
315
613
  */
@@ -328,9 +626,9 @@ export interface CreateApplicationResponse {
328
626
  */
329
627
  export interface GetApplicationRequest {
330
628
  /**
331
- * @generated from protobuf field: string client_id = 1
629
+ * @generated from protobuf field: string id = 1
332
630
  */
333
- clientId: string;
631
+ id: string;
334
632
  }
335
633
  /**
336
634
  * @generated from protobuf message sid.v1.projects.ListApplicationsRequest
@@ -366,6 +664,43 @@ export interface ListApplicationsResponse {
366
664
  * @generated from protobuf message sid.v1.projects.UpdateApplicationRequest
367
665
  */
368
666
  export interface UpdateApplicationRequest {
667
+ /**
668
+ * @generated from protobuf field: string id = 1
669
+ */
670
+ id: string;
671
+ /**
672
+ * @generated from protobuf field: optional string name = 2
673
+ */
674
+ name?: string;
675
+ }
676
+ /**
677
+ * @generated from protobuf message sid.v1.projects.DeleteApplicationRequest
678
+ */
679
+ export interface DeleteApplicationRequest {
680
+ /**
681
+ * @generated from protobuf field: string id = 1
682
+ */
683
+ id: string;
684
+ }
685
+ /**
686
+ * @generated from protobuf message sid.v1.projects.AddClientRoleRequest
687
+ */
688
+ export interface AddClientRoleRequest {
689
+ /**
690
+ * Application (UUIDv7) without a client role yet; ALREADY_EXISTS otherwise.
691
+ *
692
+ * @generated from protobuf field: string application_id = 1
693
+ */
694
+ applicationId: string;
695
+ /**
696
+ * @generated from protobuf field: sid.v1.projects.ClientRoleSettings settings = 2
697
+ */
698
+ settings?: ClientRoleSettings;
699
+ }
700
+ /**
701
+ * @generated from protobuf message sid.v1.projects.UpdateClientRoleRequest
702
+ */
703
+ export interface UpdateClientRoleRequest {
369
704
  /**
370
705
  * @generated from protobuf field: string client_id = 1
371
706
  */
@@ -391,72 +726,213 @@ export interface UpdateApplicationRequest {
391
726
  */
392
727
  active?: boolean;
393
728
  /**
394
- * "public" or "pairwise". Changing from public→pairwise triggers
395
- * 90-day dual-sub transition (sid_legacy_sub in tokens).
729
+ * OIDC subject type metadata. Only "public" is accepted: each issuer
730
+ * advertises `subject_types_supported: ["public"]` and SID's pairwise
731
+ * privacy comes from the recipient's BindingId, not from this value. Any
732
+ * other value is INVALID_ARGUMENT (ErrorInfo metadata `oauth_error` =
733
+ * `invalid_client_metadata`) and nothing is changed. Moving an application's
734
+ * users to another identifier is an explicit account migration, never an
735
+ * update.
396
736
  *
397
737
  * @generated from protobuf field: optional string subject_type = 7
398
738
  */
399
739
  subjectType?: string;
400
- }
401
- /**
402
- * @generated from protobuf message sid.v1.projects.DeleteApplicationRequest
403
- */
404
- export interface DeleteApplicationRequest {
405
740
  /**
406
- * @generated from protobuf field: string client_id = 1
741
+ * The resource (ProtectedResource.id) tokens are for when a request names
742
+ * none. The client must already have access to it (INVALID_ARGUMENT,
743
+ * field `default_resource_id`, otherwise). An empty value removes the
744
+ * default.
745
+ *
746
+ * @generated from protobuf field: optional string default_resource_id = 8
407
747
  */
408
- clientId: string;
748
+ defaultResourceId?: string;
749
+ /**
750
+ * Replaces the post-logout redirect URIs (see ClientRoleSettings); left out,
751
+ * they are unchanged.
752
+ *
753
+ * @generated from protobuf field: optional sid.v1.projects.UriList post_logout_redirect_uris = 9
754
+ */
755
+ postLogoutRedirectUris?: UriList;
409
756
  }
410
- // ── Role messages (AddRole/RemoveRole specific to ProjectService) ──
411
-
412
757
  /**
413
- * @generated from protobuf message sid.v1.projects.AddRoleRequest
758
+ * @generated from protobuf message sid.v1.projects.AddResourceRoleRequest
414
759
  */
415
- export interface AddRoleRequest {
760
+ export interface AddResourceRoleRequest {
416
761
  /**
417
- * @generated from protobuf field: string project_id = 1
762
+ * Application (UUIDv7) without a resource role yet; ALREADY_EXISTS otherwise.
763
+ *
764
+ * @generated from protobuf field: string application_id = 1
418
765
  */
419
- projectId: string;
766
+ applicationId: string;
420
767
  /**
421
- * @generated from protobuf field: string key = 2
768
+ * @generated from protobuf field: sid.v1.projects.ResourceRoleSettings settings = 2
422
769
  */
423
- key: string;
770
+ settings?: ResourceRoleSettings;
771
+ }
772
+ /**
773
+ * A replacement list of scopes, set as a whole.
774
+ *
775
+ * @generated from protobuf message sid.v1.projects.ScopeList
776
+ */
777
+ export interface ScopeList {
424
778
  /**
425
- * @generated from protobuf field: string display_name = 3
779
+ * @generated from protobuf field: repeated string scopes = 1
426
780
  */
427
- displayName: string;
781
+ scopes: string[];
782
+ }
783
+ /**
784
+ * @generated from protobuf message sid.v1.projects.UpdateResourceRoleRequest
785
+ */
786
+ export interface UpdateResourceRoleRequest {
428
787
  /**
429
- * @generated from protobuf field: optional string description = 4
788
+ * @generated from protobuf field: string resource_id = 1
430
789
  */
431
- description?: string;
790
+ resourceId: string;
432
791
  /**
433
- * @generated from protobuf field: optional string group = 5
792
+ * Replaces the scopes the resource understands. Access already granted
793
+ * keeps its scopes but grants only those the resource still understands.
794
+ *
795
+ * @generated from protobuf field: optional sid.v1.projects.ScopeList scopes = 2
434
796
  */
435
- group?: string;
797
+ scopes?: ScopeList;
436
798
  /**
437
- * @generated from protobuf field: repeated string permissions = 6
799
+ * ACTIVE or INACTIVE. A resource is retired only by removing its
800
+ * application; RETIRED here, or any change of a retired resource, is
801
+ * FAILED_PRECONDITION.
802
+ *
803
+ * @generated from protobuf field: optional sid.v1.projects.ResourceState state = 3
438
804
  */
439
- permissions: string[];
805
+ state?: ResourceState;
440
806
  }
441
807
  /**
442
- * @generated from protobuf message sid.v1.projects.RemoveRoleRequest
808
+ * @generated from protobuf message sid.v1.projects.SetResourceAccessRequest
443
809
  */
444
- export interface RemoveRoleRequest {
810
+ export interface SetResourceAccessRequest {
445
811
  /**
446
- * @generated from protobuf field: string project_id = 1
812
+ * Identifier of the client to give access: an OAuth client, or a machine
813
+ * user (served by the installation organization's issuer). Unknown to both
814
+ * is NOT_FOUND.
815
+ *
816
+ * @generated from protobuf field: string client_id = 1
447
817
  */
448
- projectId: string;
818
+ clientId: string;
449
819
  /**
450
- * @generated from protobuf field: string role_id = 2
820
+ * The resource (ProtectedResource.id, UUIDv7).
821
+ *
822
+ * @generated from protobuf field: string resource_id = 2
451
823
  */
452
- roleId: string;
824
+ resourceId: string;
825
+ /**
826
+ * Replaces the scopes of this access. Each must be a scope of the resource
827
+ * (INVALID_ARGUMENT otherwise). The client and the resource must belong to
828
+ * the same issuer (FAILED_PRECONDITION, ISSUER_MISMATCH), and a retired
829
+ * resource accepts no access (FAILED_PRECONDITION, RESOURCE_RETIRED).
830
+ *
831
+ * @generated from protobuf field: repeated string scopes = 3
832
+ */
833
+ scopes: string[];
453
834
  }
454
- // ── Dynamic Client Registration messages (RFC 7591/7592) ──
455
-
456
835
  /**
457
- * @generated from protobuf message sid.v1.projects.RegisterClientRequest
836
+ * @generated from protobuf message sid.v1.projects.RemoveResourceAccessRequest
458
837
  */
459
- export interface RegisterClientRequest {
838
+ export interface RemoveResourceAccessRequest {
839
+ /**
840
+ * Identifier of the OAuth client or machine user losing access.
841
+ *
842
+ * @generated from protobuf field: string client_id = 1
843
+ */
844
+ clientId: string;
845
+ /**
846
+ * The resource (ProtectedResource.id, UUIDv7).
847
+ *
848
+ * @generated from protobuf field: string resource_id = 2
849
+ */
850
+ resourceId: string;
851
+ }
852
+ /**
853
+ * @generated from protobuf message sid.v1.projects.ListResourceAccessRequest
854
+ */
855
+ export interface ListResourceAccessRequest {
856
+ /**
857
+ * Every access of one client, or every access to one resource.
858
+ *
859
+ * @generated from protobuf oneof: subject
860
+ */
861
+ subject: {
862
+ oneofKind: "clientId";
863
+ /**
864
+ * @generated from protobuf field: string client_id = 1
865
+ */
866
+ clientId: string;
867
+ } | {
868
+ oneofKind: "resourceId";
869
+ /**
870
+ * @generated from protobuf field: string resource_id = 2
871
+ */
872
+ resourceId: string;
873
+ } | {
874
+ oneofKind: undefined;
875
+ };
876
+ }
877
+ /**
878
+ * @generated from protobuf message sid.v1.projects.ListResourceAccessResponse
879
+ */
880
+ export interface ListResourceAccessResponse {
881
+ /**
882
+ * @generated from protobuf field: repeated sid.v1.projects.ResourceAccess access = 1
883
+ */
884
+ access: ResourceAccess[];
885
+ }
886
+ // ── Role messages (AddRole/RemoveRole specific to ProjectService) ──
887
+
888
+ /**
889
+ * @generated from protobuf message sid.v1.projects.AddRoleRequest
890
+ */
891
+ export interface AddRoleRequest {
892
+ /**
893
+ * @generated from protobuf field: string project_id = 1
894
+ */
895
+ projectId: string;
896
+ /**
897
+ * @generated from protobuf field: string key = 2
898
+ */
899
+ key: string;
900
+ /**
901
+ * @generated from protobuf field: string display_name = 3
902
+ */
903
+ displayName: string;
904
+ /**
905
+ * @generated from protobuf field: optional string description = 4
906
+ */
907
+ description?: string;
908
+ /**
909
+ * @generated from protobuf field: optional string group = 5
910
+ */
911
+ group?: string;
912
+ /**
913
+ * @generated from protobuf field: repeated string permissions = 6
914
+ */
915
+ permissions: string[];
916
+ }
917
+ /**
918
+ * @generated from protobuf message sid.v1.projects.RemoveRoleRequest
919
+ */
920
+ export interface RemoveRoleRequest {
921
+ /**
922
+ * @generated from protobuf field: string project_id = 1
923
+ */
924
+ projectId: string;
925
+ /**
926
+ * @generated from protobuf field: string role_id = 2
927
+ */
928
+ roleId: string;
929
+ }
930
+ // ── Dynamic Client Registration messages (RFC 7591/7592) ──
931
+
932
+ /**
933
+ * @generated from protobuf message sid.v1.projects.RegisterClientRequest
934
+ */
935
+ export interface RegisterClientRequest {
460
936
  /**
461
937
  * Bearer initial_access_token in gRPC metadata (authorization header).
462
938
  *
@@ -499,17 +975,45 @@ export interface RegisterClientRequest {
499
975
  * @generated from protobuf field: repeated string scope = 10
500
976
  */
501
977
  scope: string[];
978
+ /**
979
+ * Handle of the OIDC issuer the client registers under, the `<handle>` of
980
+ * `https://<host>/i/<handle>`. The client belongs to the organization this
981
+ * issuer serves, and its registration access token manages it only under
982
+ * this issuer. An unknown handle is NOT_FOUND (OIDC_ISSUER_NOT_FOUND).
983
+ *
984
+ * @generated from protobuf field: string issuer_handle = 11
985
+ */
986
+ issuerHandle: string;
987
+ /**
988
+ * The client's public signing keys (RFC 7591 §2 `jwks`), the JSON text of a
989
+ * JWK Set (RFC 7517 §5): Ed25519, P-256/P-384 or RSA (at least 2048 bits)
990
+ * public keys, each with a distinct `kid`, no private members. Required for
991
+ * `private_key_jwt`, whose token endpoint assertions they verify.
992
+ *
993
+ * @generated from protobuf field: optional string jwks = 12
994
+ */
995
+ jwks?: string;
996
+ /**
997
+ * Post-logout redirect URIs (OIDC RP-Initiated Logout 1.0 §3.1), validated
998
+ * like `redirect_uris` and against the initial access token's redirect
999
+ * patterns; refused as `invalid_client_metadata`.
1000
+ *
1001
+ * @generated from protobuf field: repeated string post_logout_redirect_uris = 13
1002
+ */
1003
+ postLogoutRedirectUris: string[];
502
1004
  }
503
1005
  /**
504
1006
  * @generated from protobuf message sid.v1.projects.RegisterClientResponse
505
1007
  */
506
1008
  export interface RegisterClientResponse {
507
1009
  /**
508
- * @generated from protobuf field: sid.v1.projects.Application application = 1
1010
+ * The registered client, the client role of a new application.
1011
+ *
1012
+ * @generated from protobuf field: sid.v1.projects.OAuthClient client = 1
509
1013
  */
510
- application?: Application;
1014
+ client?: OAuthClient;
511
1015
  /**
512
- * Plaintext secret — only returned on registration. Never stored.
1016
+ * Plaintext secret, returned only on registration. Never stored.
513
1017
  *
514
1018
  * @generated from protobuf field: optional string client_secret = 2
515
1019
  */
@@ -531,9 +1035,21 @@ export interface GetRegisteredClientRequest {
531
1035
  * @generated from protobuf field: string client_id = 1
532
1036
  */
533
1037
  clientId: string;
1038
+ /**
1039
+ * Handle of the issuer the client is registered under. A client of another
1040
+ * issuer, or none, is refused exactly like an invalid registration access
1041
+ * token (RFC 7592 §2.1).
1042
+ *
1043
+ * @generated from protobuf field: string issuer_handle = 2
1044
+ */
1045
+ issuerHandle: string;
534
1046
  }
535
1047
  /**
536
1048
  * RFC 7592: client updates own registration. RAT in authorization header.
1049
+ * The request is the client's whole metadata and replaces its registration
1050
+ * (RFC 7592 §2.2): a field left out is removed, an absent authentication
1051
+ * method is `client_secret_basic` (RFC 7591 §2), and the result is validated
1052
+ * as a registration; a refused update changes nothing.
537
1053
  *
538
1054
  * @generated from protobuf message sid.v1.projects.UpdateRegisteredClientRequest
539
1055
  */
@@ -578,6 +1094,36 @@ export interface UpdateRegisteredClientRequest {
578
1094
  * @generated from protobuf field: repeated string scope = 10
579
1095
  */
580
1096
  scope: string[];
1097
+ /**
1098
+ * Handle of the issuer the client is registered under (see
1099
+ * GetRegisteredClientRequest).
1100
+ *
1101
+ * @generated from protobuf field: string issuer_handle = 11
1102
+ */
1103
+ issuerHandle: string;
1104
+ /**
1105
+ * The client's current secret, when the client sends it back with its
1106
+ * metadata. It must equal the issued secret (RFC 7592 §2.2); it never sets
1107
+ * a new one.
1108
+ *
1109
+ * @generated from protobuf field: optional string client_secret = 12
1110
+ */
1111
+ clientSecret?: string;
1112
+ /**
1113
+ * The client's public signing keys (see RegisterClientRequest.jwks); left
1114
+ * out, the client registers none. A rotation sends the next key beside the
1115
+ * current one, then the next key alone.
1116
+ *
1117
+ * @generated from protobuf field: optional string jwks = 13
1118
+ */
1119
+ jwks?: string;
1120
+ /**
1121
+ * Post-logout redirect URIs (see RegisterClientRequest); left out, the
1122
+ * client registers none.
1123
+ *
1124
+ * @generated from protobuf field: repeated string post_logout_redirect_uris = 14
1125
+ */
1126
+ postLogoutRedirectUris: string[];
581
1127
  }
582
1128
  /**
583
1129
  * RFC 7592: client deletes own registration. RAT in authorization header.
@@ -589,6 +1135,13 @@ export interface DeleteRegisteredClientRequest {
589
1135
  * @generated from protobuf field: string client_id = 1
590
1136
  */
591
1137
  clientId: string;
1138
+ /**
1139
+ * Handle of the issuer the client is registered under (see
1140
+ * GetRegisteredClientRequest).
1141
+ *
1142
+ * @generated from protobuf field: string issuer_handle = 2
1143
+ */
1144
+ issuerHandle: string;
592
1145
  }
593
1146
  // ── Initial Access Token messages ──
594
1147
 
@@ -624,7 +1177,7 @@ export interface CreateInitialAccessTokenRequest {
624
1177
  expiresInSeconds: bigint;
625
1178
  }
626
1179
  /**
627
- * Returns plaintext token — only on creation.
1180
+ * Returns the plaintext token, only on creation.
628
1181
  *
629
1182
  * @generated from protobuf message sid.v1.projects.CreateInitialAccessTokenResponse
630
1183
  */
@@ -634,7 +1187,7 @@ export interface CreateInitialAccessTokenResponse {
634
1187
  */
635
1188
  token?: InitialAccessToken;
636
1189
  /**
637
- * Plaintext bearer token — never stored, never returned again.
1190
+ * Plaintext bearer token: never stored, never returned again.
638
1191
  *
639
1192
  * @generated from protobuf field: string token_value = 2
640
1193
  */
@@ -667,6 +1220,56 @@ export interface RevokeInitialAccessTokenRequest {
667
1220
  */
668
1221
  id: string;
669
1222
  }
1223
+ /**
1224
+ * An integration of the installation with itself, provisioned by SID.
1225
+ *
1226
+ * @generated from protobuf enum sid.v1.projects.SystemIntegration
1227
+ */
1228
+ export enum SystemIntegration {
1229
+ /**
1230
+ * An administrator's application.
1231
+ *
1232
+ * @generated from protobuf enum value: SYSTEM_INTEGRATION_UNSPECIFIED = 0;
1233
+ */
1234
+ UNSPECIFIED = 0,
1235
+ /**
1236
+ * SID's own account UI: its confidential web client, the account API it
1237
+ * calls and the client's explicit access to that API.
1238
+ *
1239
+ * @generated from protobuf enum value: SYSTEM_INTEGRATION_ACCOUNT = 1;
1240
+ */
1241
+ ACCOUNT = 1
1242
+ }
1243
+ /**
1244
+ * Lifecycle of a protected resource.
1245
+ *
1246
+ * @generated from protobuf enum sid.v1.projects.ResourceState
1247
+ */
1248
+ export enum ResourceState {
1249
+ /**
1250
+ * @generated from protobuf enum value: RESOURCE_STATE_UNSPECIFIED = 0;
1251
+ */
1252
+ UNSPECIFIED = 0,
1253
+ /**
1254
+ * Tokens are issued for it and accepted by it.
1255
+ *
1256
+ * @generated from protobuf enum value: RESOURCE_STATE_ACTIVE = 1;
1257
+ */
1258
+ ACTIVE = 1,
1259
+ /**
1260
+ * Temporarily not a target; can be activated again.
1261
+ *
1262
+ * @generated from protobuf enum value: RESOURCE_STATE_INACTIVE = 2;
1263
+ */
1264
+ INACTIVE = 2,
1265
+ /**
1266
+ * Its application was removed. The indicator stays reserved; a retired
1267
+ * resource never becomes active again.
1268
+ *
1269
+ * @generated from protobuf enum value: RESOURCE_STATE_RETIRED = 3;
1270
+ */
1271
+ RETIRED = 3
1272
+ }
670
1273
  /**
671
1274
  * @generated from protobuf enum sid.v1.projects.TokenEndpointAuthMethod
672
1275
  */
@@ -710,6 +1313,8 @@ export enum SubjectType {
710
1313
  PUBLIC = 2
711
1314
  }
712
1315
  /**
1316
+ * Kind of client software.
1317
+ *
713
1318
  * @generated from protobuf enum sid.v1.projects.ApplicationType
714
1319
  */
715
1320
  export enum ApplicationType {
@@ -718,18 +1323,27 @@ export enum ApplicationType {
718
1323
  */
719
1324
  UNSPECIFIED = 0,
720
1325
  /**
1326
+ * Server-side web application; can hold a secret.
1327
+ *
721
1328
  * @generated from protobuf enum value: APPLICATION_TYPE_WEB = 1;
722
1329
  */
723
1330
  WEB = 1,
724
1331
  /**
1332
+ * Mobile or desktop application; public client.
1333
+ *
725
1334
  * @generated from protobuf enum value: APPLICATION_TYPE_NATIVE = 2;
726
1335
  */
727
1336
  NATIVE = 2,
728
1337
  /**
1338
+ * Machine client (client credentials); can hold a secret. An API that only
1339
+ * receives requests needs no client role at all.
1340
+ *
729
1341
  * @generated from protobuf enum value: APPLICATION_TYPE_API = 3;
730
1342
  */
731
1343
  API = 3,
732
1344
  /**
1345
+ * Single-page application; public client.
1346
+ *
733
1347
  * @generated from protobuf enum value: APPLICATION_TYPE_SPA = 4;
734
1348
  */
735
1349
  SPA = 4
@@ -831,29 +1445,143 @@ export const Project = new Project$Type();
831
1445
  class Application$Type extends MessageType<Application> {
832
1446
  constructor() {
833
1447
  super("sid.v1.projects.Application", [
834
- { no: 1, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1448
+ { no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
835
1449
  { no: 2, name: "project_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
836
1450
  { no: 3, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
837
- { no: 4, name: "type", kind: "enum", T: () => ["sid.v1.projects.ApplicationType", ApplicationType, "APPLICATION_TYPE_"] },
838
- { no: 5, name: "redirect_uris", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
839
- { no: 6, name: "allowed_scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
840
- { no: 7, name: "grant_types", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
841
- { no: 8, name: "active", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
842
- { no: 9, name: "created_at", kind: "message", T: () => Timestamp },
843
- { no: 10, name: "token_endpoint_auth_method", kind: "enum", T: () => ["sid.v1.projects.TokenEndpointAuthMethod", TokenEndpointAuthMethod, "TOKEN_ENDPOINT_AUTH_METHOD_"] },
844
- { no: 11, name: "response_types", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
845
- { no: 12, name: "subject_type", kind: "enum", T: () => ["sid.v1.projects.SubjectType", SubjectType, "SUBJECT_TYPE_"] },
846
- { no: 13, name: "sector_identifier_uri", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
847
- { no: 14, name: "contacts", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
848
- { no: 15, name: "client_id_issued_at", kind: "message", T: () => Timestamp },
849
- { no: 16, name: "client_secret_expires_at", kind: "message", T: () => Timestamp },
850
- { no: 17, name: "dynamically_registered", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
851
- { no: 18, name: "org_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
1451
+ { no: 4, name: "client", kind: "message", T: () => OAuthClient },
1452
+ { no: 5, name: "resource", kind: "message", T: () => ProtectedResource },
1453
+ { no: 6, name: "revision", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
1454
+ { no: 7, name: "created_at", kind: "message", T: () => Timestamp },
1455
+ { no: 8, name: "updated_at", kind: "message", T: () => Timestamp },
1456
+ { no: 9, name: "system_integration", kind: "enum", T: () => ["sid.v1.projects.SystemIntegration", SystemIntegration, "SYSTEM_INTEGRATION_"] }
852
1457
  ]);
853
1458
  }
854
1459
  create(value?: PartialMessage<Application>): Application {
1460
+ const message = globalThis.Object.create((this.messagePrototype!));
1461
+ message.id = "";
1462
+ message.projectId = "";
1463
+ message.name = "";
1464
+ message.revision = 0n;
1465
+ message.systemIntegration = 0;
1466
+ if (value !== undefined)
1467
+ reflectionMergePartial<Application>(this, message, value);
1468
+ return message;
1469
+ }
1470
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Application): Application {
1471
+ let message = target ?? this.create(), end = reader.pos + length;
1472
+ while (reader.pos < end) {
1473
+ let [fieldNo, wireType] = reader.tag();
1474
+ switch (fieldNo) {
1475
+ case /* string id */ 1:
1476
+ message.id = reader.string();
1477
+ break;
1478
+ case /* string project_id */ 2:
1479
+ message.projectId = reader.string();
1480
+ break;
1481
+ case /* string name */ 3:
1482
+ message.name = reader.string();
1483
+ break;
1484
+ case /* optional sid.v1.projects.OAuthClient client */ 4:
1485
+ message.client = OAuthClient.internalBinaryRead(reader, reader.uint32(), options, message.client);
1486
+ break;
1487
+ case /* optional sid.v1.projects.ProtectedResource resource */ 5:
1488
+ message.resource = ProtectedResource.internalBinaryRead(reader, reader.uint32(), options, message.resource);
1489
+ break;
1490
+ case /* uint64 revision */ 6:
1491
+ message.revision = reader.uint64().toBigInt();
1492
+ break;
1493
+ case /* google.protobuf.Timestamp created_at */ 7:
1494
+ message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
1495
+ break;
1496
+ case /* google.protobuf.Timestamp updated_at */ 8:
1497
+ message.updatedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.updatedAt);
1498
+ break;
1499
+ case /* sid.v1.projects.SystemIntegration system_integration */ 9:
1500
+ message.systemIntegration = reader.int32();
1501
+ break;
1502
+ default:
1503
+ let u = options.readUnknownField;
1504
+ if (u === "throw")
1505
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1506
+ let d = reader.skip(wireType);
1507
+ if (u !== false)
1508
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1509
+ }
1510
+ }
1511
+ return message;
1512
+ }
1513
+ internalBinaryWrite(message: Application, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1514
+ /* string id = 1; */
1515
+ if (message.id !== "")
1516
+ writer.tag(1, WireType.LengthDelimited).string(message.id);
1517
+ /* string project_id = 2; */
1518
+ if (message.projectId !== "")
1519
+ writer.tag(2, WireType.LengthDelimited).string(message.projectId);
1520
+ /* string name = 3; */
1521
+ if (message.name !== "")
1522
+ writer.tag(3, WireType.LengthDelimited).string(message.name);
1523
+ /* optional sid.v1.projects.OAuthClient client = 4; */
1524
+ if (message.client)
1525
+ OAuthClient.internalBinaryWrite(message.client, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
1526
+ /* optional sid.v1.projects.ProtectedResource resource = 5; */
1527
+ if (message.resource)
1528
+ ProtectedResource.internalBinaryWrite(message.resource, writer.tag(5, WireType.LengthDelimited).fork(), options).join();
1529
+ /* uint64 revision = 6; */
1530
+ if (message.revision !== 0n)
1531
+ writer.tag(6, WireType.Varint).uint64(message.revision);
1532
+ /* google.protobuf.Timestamp created_at = 7; */
1533
+ if (message.createdAt)
1534
+ Timestamp.internalBinaryWrite(message.createdAt, writer.tag(7, WireType.LengthDelimited).fork(), options).join();
1535
+ /* google.protobuf.Timestamp updated_at = 8; */
1536
+ if (message.updatedAt)
1537
+ Timestamp.internalBinaryWrite(message.updatedAt, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
1538
+ /* sid.v1.projects.SystemIntegration system_integration = 9; */
1539
+ if (message.systemIntegration !== 0)
1540
+ writer.tag(9, WireType.Varint).int32(message.systemIntegration);
1541
+ let u = options.writeUnknownFields;
1542
+ if (u !== false)
1543
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1544
+ return writer;
1545
+ }
1546
+ }
1547
+ /**
1548
+ * @generated MessageType for protobuf message sid.v1.projects.Application
1549
+ */
1550
+ export const Application = new Application$Type();
1551
+ // @generated message type with reflection information, may provide speed optimized methods
1552
+ class OAuthClient$Type extends MessageType<OAuthClient> {
1553
+ constructor() {
1554
+ super("sid.v1.projects.OAuthClient", [
1555
+ { no: 1, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1556
+ { no: 2, name: "application_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1557
+ { no: 3, name: "project_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1558
+ { no: 4, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1559
+ { no: 5, name: "type", kind: "enum", T: () => ["sid.v1.projects.ApplicationType", ApplicationType, "APPLICATION_TYPE_"] },
1560
+ { no: 6, name: "redirect_uris", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1561
+ { no: 7, name: "allowed_scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1562
+ { no: 8, name: "grant_types", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1563
+ { no: 9, name: "active", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1564
+ { no: 10, name: "created_at", kind: "message", T: () => Timestamp },
1565
+ { no: 11, name: "token_endpoint_auth_method", kind: "enum", T: () => ["sid.v1.projects.TokenEndpointAuthMethod", TokenEndpointAuthMethod, "TOKEN_ENDPOINT_AUTH_METHOD_"] },
1566
+ { no: 12, name: "response_types", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1567
+ { no: 13, name: "subject_type", kind: "enum", T: () => ["sid.v1.projects.SubjectType", SubjectType, "SUBJECT_TYPE_"] },
1568
+ { no: 14, name: "sector_identifier_uri", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
1569
+ { no: 15, name: "contacts", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1570
+ { no: 16, name: "client_id_issued_at", kind: "message", T: () => Timestamp },
1571
+ { no: 17, name: "client_secret_expires_at", kind: "message", T: () => Timestamp },
1572
+ { no: 18, name: "dynamically_registered", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
1573
+ { no: 19, name: "org_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
1574
+ { no: 20, name: "issuer", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1575
+ { no: 21, name: "default_resource_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
1576
+ { no: 22, name: "revision", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
1577
+ { no: 23, name: "jwks", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
1578
+ { no: 24, name: "post_logout_redirect_uris", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
1579
+ ]);
1580
+ }
1581
+ create(value?: PartialMessage<OAuthClient>): OAuthClient {
855
1582
  const message = globalThis.Object.create((this.messagePrototype!));
856
1583
  message.clientId = "";
1584
+ message.applicationId = "";
857
1585
  message.projectId = "";
858
1586
  message.name = "";
859
1587
  message.type = 0;
@@ -866,11 +1594,14 @@ class Application$Type extends MessageType<Application> {
866
1594
  message.subjectType = 0;
867
1595
  message.contacts = [];
868
1596
  message.dynamicallyRegistered = false;
1597
+ message.issuer = "";
1598
+ message.revision = 0n;
1599
+ message.postLogoutRedirectUris = [];
869
1600
  if (value !== undefined)
870
- reflectionMergePartial<Application>(this, message, value);
1601
+ reflectionMergePartial<OAuthClient>(this, message, value);
871
1602
  return message;
872
1603
  }
873
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Application): Application {
1604
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: OAuthClient): OAuthClient {
874
1605
  let message = target ?? this.create(), end = reader.pos + length;
875
1606
  while (reader.pos < end) {
876
1607
  let [fieldNo, wireType] = reader.tag();
@@ -878,57 +1609,75 @@ class Application$Type extends MessageType<Application> {
878
1609
  case /* string client_id */ 1:
879
1610
  message.clientId = reader.string();
880
1611
  break;
881
- case /* string project_id */ 2:
1612
+ case /* string application_id */ 2:
1613
+ message.applicationId = reader.string();
1614
+ break;
1615
+ case /* string project_id */ 3:
882
1616
  message.projectId = reader.string();
883
1617
  break;
884
- case /* string name */ 3:
1618
+ case /* string name */ 4:
885
1619
  message.name = reader.string();
886
1620
  break;
887
- case /* sid.v1.projects.ApplicationType type */ 4:
1621
+ case /* sid.v1.projects.ApplicationType type */ 5:
888
1622
  message.type = reader.int32();
889
1623
  break;
890
- case /* repeated string redirect_uris */ 5:
1624
+ case /* repeated string redirect_uris */ 6:
891
1625
  message.redirectUris.push(reader.string());
892
1626
  break;
893
- case /* repeated string allowed_scopes */ 6:
1627
+ case /* repeated string allowed_scopes */ 7:
894
1628
  message.allowedScopes.push(reader.string());
895
1629
  break;
896
- case /* repeated string grant_types */ 7:
1630
+ case /* repeated string grant_types */ 8:
897
1631
  message.grantTypes.push(reader.string());
898
1632
  break;
899
- case /* bool active */ 8:
1633
+ case /* bool active */ 9:
900
1634
  message.active = reader.bool();
901
1635
  break;
902
- case /* google.protobuf.Timestamp created_at */ 9:
1636
+ case /* google.protobuf.Timestamp created_at */ 10:
903
1637
  message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
904
1638
  break;
905
- case /* sid.v1.projects.TokenEndpointAuthMethod token_endpoint_auth_method */ 10:
1639
+ case /* sid.v1.projects.TokenEndpointAuthMethod token_endpoint_auth_method */ 11:
906
1640
  message.tokenEndpointAuthMethod = reader.int32();
907
1641
  break;
908
- case /* repeated string response_types */ 11:
1642
+ case /* repeated string response_types */ 12:
909
1643
  message.responseTypes.push(reader.string());
910
1644
  break;
911
- case /* sid.v1.projects.SubjectType subject_type */ 12:
1645
+ case /* sid.v1.projects.SubjectType subject_type */ 13:
912
1646
  message.subjectType = reader.int32();
913
1647
  break;
914
- case /* optional string sector_identifier_uri */ 13:
1648
+ case /* optional string sector_identifier_uri */ 14:
915
1649
  message.sectorIdentifierUri = reader.string();
916
1650
  break;
917
- case /* repeated string contacts */ 14:
1651
+ case /* repeated string contacts */ 15:
918
1652
  message.contacts.push(reader.string());
919
1653
  break;
920
- case /* google.protobuf.Timestamp client_id_issued_at */ 15:
1654
+ case /* google.protobuf.Timestamp client_id_issued_at */ 16:
921
1655
  message.clientIdIssuedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.clientIdIssuedAt);
922
1656
  break;
923
- case /* optional google.protobuf.Timestamp client_secret_expires_at */ 16:
1657
+ case /* optional google.protobuf.Timestamp client_secret_expires_at */ 17:
924
1658
  message.clientSecretExpiresAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.clientSecretExpiresAt);
925
1659
  break;
926
- case /* bool dynamically_registered */ 17:
1660
+ case /* bool dynamically_registered */ 18:
927
1661
  message.dynamicallyRegistered = reader.bool();
928
1662
  break;
929
- case /* optional string org_id */ 18:
1663
+ case /* optional string org_id */ 19:
930
1664
  message.orgId = reader.string();
931
1665
  break;
1666
+ case /* string issuer */ 20:
1667
+ message.issuer = reader.string();
1668
+ break;
1669
+ case /* optional string default_resource_id */ 21:
1670
+ message.defaultResourceId = reader.string();
1671
+ break;
1672
+ case /* uint64 revision */ 22:
1673
+ message.revision = reader.uint64().toBigInt();
1674
+ break;
1675
+ case /* optional string jwks */ 23:
1676
+ message.jwks = reader.string();
1677
+ break;
1678
+ case /* repeated string post_logout_redirect_uris */ 24:
1679
+ message.postLogoutRedirectUris.push(reader.string());
1680
+ break;
932
1681
  default:
933
1682
  let u = options.readUnknownField;
934
1683
  if (u === "throw")
@@ -940,61 +1689,79 @@ class Application$Type extends MessageType<Application> {
940
1689
  }
941
1690
  return message;
942
1691
  }
943
- internalBinaryWrite(message: Application, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1692
+ internalBinaryWrite(message: OAuthClient, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
944
1693
  /* string client_id = 1; */
945
1694
  if (message.clientId !== "")
946
1695
  writer.tag(1, WireType.LengthDelimited).string(message.clientId);
947
- /* string project_id = 2; */
1696
+ /* string application_id = 2; */
1697
+ if (message.applicationId !== "")
1698
+ writer.tag(2, WireType.LengthDelimited).string(message.applicationId);
1699
+ /* string project_id = 3; */
948
1700
  if (message.projectId !== "")
949
- writer.tag(2, WireType.LengthDelimited).string(message.projectId);
950
- /* string name = 3; */
1701
+ writer.tag(3, WireType.LengthDelimited).string(message.projectId);
1702
+ /* string name = 4; */
951
1703
  if (message.name !== "")
952
- writer.tag(3, WireType.LengthDelimited).string(message.name);
953
- /* sid.v1.projects.ApplicationType type = 4; */
1704
+ writer.tag(4, WireType.LengthDelimited).string(message.name);
1705
+ /* sid.v1.projects.ApplicationType type = 5; */
954
1706
  if (message.type !== 0)
955
- writer.tag(4, WireType.Varint).int32(message.type);
956
- /* repeated string redirect_uris = 5; */
1707
+ writer.tag(5, WireType.Varint).int32(message.type);
1708
+ /* repeated string redirect_uris = 6; */
957
1709
  for (let i = 0; i < message.redirectUris.length; i++)
958
- writer.tag(5, WireType.LengthDelimited).string(message.redirectUris[i]);
959
- /* repeated string allowed_scopes = 6; */
1710
+ writer.tag(6, WireType.LengthDelimited).string(message.redirectUris[i]);
1711
+ /* repeated string allowed_scopes = 7; */
960
1712
  for (let i = 0; i < message.allowedScopes.length; i++)
961
- writer.tag(6, WireType.LengthDelimited).string(message.allowedScopes[i]);
962
- /* repeated string grant_types = 7; */
1713
+ writer.tag(7, WireType.LengthDelimited).string(message.allowedScopes[i]);
1714
+ /* repeated string grant_types = 8; */
963
1715
  for (let i = 0; i < message.grantTypes.length; i++)
964
- writer.tag(7, WireType.LengthDelimited).string(message.grantTypes[i]);
965
- /* bool active = 8; */
1716
+ writer.tag(8, WireType.LengthDelimited).string(message.grantTypes[i]);
1717
+ /* bool active = 9; */
966
1718
  if (message.active !== false)
967
- writer.tag(8, WireType.Varint).bool(message.active);
968
- /* google.protobuf.Timestamp created_at = 9; */
1719
+ writer.tag(9, WireType.Varint).bool(message.active);
1720
+ /* google.protobuf.Timestamp created_at = 10; */
969
1721
  if (message.createdAt)
970
- Timestamp.internalBinaryWrite(message.createdAt, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
971
- /* sid.v1.projects.TokenEndpointAuthMethod token_endpoint_auth_method = 10; */
1722
+ Timestamp.internalBinaryWrite(message.createdAt, writer.tag(10, WireType.LengthDelimited).fork(), options).join();
1723
+ /* sid.v1.projects.TokenEndpointAuthMethod token_endpoint_auth_method = 11; */
972
1724
  if (message.tokenEndpointAuthMethod !== 0)
973
- writer.tag(10, WireType.Varint).int32(message.tokenEndpointAuthMethod);
974
- /* repeated string response_types = 11; */
1725
+ writer.tag(11, WireType.Varint).int32(message.tokenEndpointAuthMethod);
1726
+ /* repeated string response_types = 12; */
975
1727
  for (let i = 0; i < message.responseTypes.length; i++)
976
- writer.tag(11, WireType.LengthDelimited).string(message.responseTypes[i]);
977
- /* sid.v1.projects.SubjectType subject_type = 12; */
1728
+ writer.tag(12, WireType.LengthDelimited).string(message.responseTypes[i]);
1729
+ /* sid.v1.projects.SubjectType subject_type = 13; */
978
1730
  if (message.subjectType !== 0)
979
- writer.tag(12, WireType.Varint).int32(message.subjectType);
980
- /* optional string sector_identifier_uri = 13; */
1731
+ writer.tag(13, WireType.Varint).int32(message.subjectType);
1732
+ /* optional string sector_identifier_uri = 14; */
981
1733
  if (message.sectorIdentifierUri !== undefined)
982
- writer.tag(13, WireType.LengthDelimited).string(message.sectorIdentifierUri);
983
- /* repeated string contacts = 14; */
1734
+ writer.tag(14, WireType.LengthDelimited).string(message.sectorIdentifierUri);
1735
+ /* repeated string contacts = 15; */
984
1736
  for (let i = 0; i < message.contacts.length; i++)
985
- writer.tag(14, WireType.LengthDelimited).string(message.contacts[i]);
986
- /* google.protobuf.Timestamp client_id_issued_at = 15; */
1737
+ writer.tag(15, WireType.LengthDelimited).string(message.contacts[i]);
1738
+ /* google.protobuf.Timestamp client_id_issued_at = 16; */
987
1739
  if (message.clientIdIssuedAt)
988
- Timestamp.internalBinaryWrite(message.clientIdIssuedAt, writer.tag(15, WireType.LengthDelimited).fork(), options).join();
989
- /* optional google.protobuf.Timestamp client_secret_expires_at = 16; */
1740
+ Timestamp.internalBinaryWrite(message.clientIdIssuedAt, writer.tag(16, WireType.LengthDelimited).fork(), options).join();
1741
+ /* optional google.protobuf.Timestamp client_secret_expires_at = 17; */
990
1742
  if (message.clientSecretExpiresAt)
991
- Timestamp.internalBinaryWrite(message.clientSecretExpiresAt, writer.tag(16, WireType.LengthDelimited).fork(), options).join();
992
- /* bool dynamically_registered = 17; */
1743
+ Timestamp.internalBinaryWrite(message.clientSecretExpiresAt, writer.tag(17, WireType.LengthDelimited).fork(), options).join();
1744
+ /* bool dynamically_registered = 18; */
993
1745
  if (message.dynamicallyRegistered !== false)
994
- writer.tag(17, WireType.Varint).bool(message.dynamicallyRegistered);
995
- /* optional string org_id = 18; */
1746
+ writer.tag(18, WireType.Varint).bool(message.dynamicallyRegistered);
1747
+ /* optional string org_id = 19; */
996
1748
  if (message.orgId !== undefined)
997
- writer.tag(18, WireType.LengthDelimited).string(message.orgId);
1749
+ writer.tag(19, WireType.LengthDelimited).string(message.orgId);
1750
+ /* string issuer = 20; */
1751
+ if (message.issuer !== "")
1752
+ writer.tag(20, WireType.LengthDelimited).string(message.issuer);
1753
+ /* optional string default_resource_id = 21; */
1754
+ if (message.defaultResourceId !== undefined)
1755
+ writer.tag(21, WireType.LengthDelimited).string(message.defaultResourceId);
1756
+ /* uint64 revision = 22; */
1757
+ if (message.revision !== 0n)
1758
+ writer.tag(22, WireType.Varint).uint64(message.revision);
1759
+ /* optional string jwks = 23; */
1760
+ if (message.jwks !== undefined)
1761
+ writer.tag(23, WireType.LengthDelimited).string(message.jwks);
1762
+ /* repeated string post_logout_redirect_uris = 24; */
1763
+ for (let i = 0; i < message.postLogoutRedirectUris.length; i++)
1764
+ writer.tag(24, WireType.LengthDelimited).string(message.postLogoutRedirectUris[i]);
998
1765
  let u = options.writeUnknownFields;
999
1766
  if (u !== false)
1000
1767
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1002,42 +1769,37 @@ class Application$Type extends MessageType<Application> {
1002
1769
  }
1003
1770
  }
1004
1771
  /**
1005
- * @generated MessageType for protobuf message sid.v1.projects.Application
1772
+ * @generated MessageType for protobuf message sid.v1.projects.OAuthClient
1006
1773
  */
1007
- export const Application = new Application$Type();
1774
+ export const OAuthClient = new OAuthClient$Type();
1008
1775
  // @generated message type with reflection information, may provide speed optimized methods
1009
- class InitialAccessToken$Type extends MessageType<InitialAccessToken> {
1776
+ class ProtectedResource$Type extends MessageType<ProtectedResource> {
1010
1777
  constructor() {
1011
- super("sid.v1.projects.InitialAccessToken", [
1778
+ super("sid.v1.projects.ProtectedResource", [
1012
1779
  { no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1013
- { no: 2, name: "project_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1014
- { no: 3, name: "max_clients", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
1015
- { no: 4, name: "clients_registered", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
1016
- { no: 5, name: "allowed_scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1017
- { no: 6, name: "allowed_grant_types", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1018
- { no: 7, name: "allowed_redirect_patterns", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1019
- { no: 8, name: "expires_at", kind: "message", T: () => Timestamp },
1020
- { no: 9, name: "created_at", kind: "message", T: () => Timestamp },
1021
- { no: 10, name: "created_by", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1022
- { no: 11, name: "revoked", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
1780
+ { no: 2, name: "application_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
1781
+ { no: 3, name: "indicator", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1782
+ { no: 4, name: "issuer", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1783
+ { no: 5, name: "scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1784
+ { no: 6, name: "state", kind: "enum", T: () => ["sid.v1.projects.ResourceState", ResourceState, "RESOURCE_STATE_"] },
1785
+ { no: 7, name: "revision", kind: "scalar", T: 4 /*ScalarType.UINT64*/, L: 0 /*LongType.BIGINT*/ },
1786
+ { no: 8, name: "created_at", kind: "message", T: () => Timestamp },
1787
+ { no: 9, name: "updated_at", kind: "message", T: () => Timestamp }
1023
1788
  ]);
1024
1789
  }
1025
- create(value?: PartialMessage<InitialAccessToken>): InitialAccessToken {
1790
+ create(value?: PartialMessage<ProtectedResource>): ProtectedResource {
1026
1791
  const message = globalThis.Object.create((this.messagePrototype!));
1027
1792
  message.id = "";
1028
- message.projectId = "";
1029
- message.maxClients = 0;
1030
- message.clientsRegistered = 0;
1031
- message.allowedScopes = [];
1032
- message.allowedGrantTypes = [];
1033
- message.allowedRedirectPatterns = [];
1034
- message.createdBy = "";
1035
- message.revoked = false;
1793
+ message.indicator = "";
1794
+ message.issuer = "";
1795
+ message.scopes = [];
1796
+ message.state = 0;
1797
+ message.revision = 0n;
1036
1798
  if (value !== undefined)
1037
- reflectionMergePartial<InitialAccessToken>(this, message, value);
1799
+ reflectionMergePartial<ProtectedResource>(this, message, value);
1038
1800
  return message;
1039
1801
  }
1040
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: InitialAccessToken): InitialAccessToken {
1802
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ProtectedResource): ProtectedResource {
1041
1803
  let message = target ?? this.create(), end = reader.pos + length;
1042
1804
  while (reader.pos < end) {
1043
1805
  let [fieldNo, wireType] = reader.tag();
@@ -1045,20 +1807,203 @@ class InitialAccessToken$Type extends MessageType<InitialAccessToken> {
1045
1807
  case /* string id */ 1:
1046
1808
  message.id = reader.string();
1047
1809
  break;
1048
- case /* string project_id */ 2:
1049
- message.projectId = reader.string();
1810
+ case /* optional string application_id */ 2:
1811
+ message.applicationId = reader.string();
1050
1812
  break;
1051
- case /* uint32 max_clients */ 3:
1052
- message.maxClients = reader.uint32();
1813
+ case /* string indicator */ 3:
1814
+ message.indicator = reader.string();
1053
1815
  break;
1054
- case /* uint32 clients_registered */ 4:
1055
- message.clientsRegistered = reader.uint32();
1816
+ case /* string issuer */ 4:
1817
+ message.issuer = reader.string();
1056
1818
  break;
1057
- case /* repeated string allowed_scopes */ 5:
1058
- message.allowedScopes.push(reader.string());
1819
+ case /* repeated string scopes */ 5:
1820
+ message.scopes.push(reader.string());
1059
1821
  break;
1060
- case /* repeated string allowed_grant_types */ 6:
1061
- message.allowedGrantTypes.push(reader.string());
1822
+ case /* sid.v1.projects.ResourceState state */ 6:
1823
+ message.state = reader.int32();
1824
+ break;
1825
+ case /* uint64 revision */ 7:
1826
+ message.revision = reader.uint64().toBigInt();
1827
+ break;
1828
+ case /* google.protobuf.Timestamp created_at */ 8:
1829
+ message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
1830
+ break;
1831
+ case /* google.protobuf.Timestamp updated_at */ 9:
1832
+ message.updatedAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.updatedAt);
1833
+ break;
1834
+ default:
1835
+ let u = options.readUnknownField;
1836
+ if (u === "throw")
1837
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1838
+ let d = reader.skip(wireType);
1839
+ if (u !== false)
1840
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1841
+ }
1842
+ }
1843
+ return message;
1844
+ }
1845
+ internalBinaryWrite(message: ProtectedResource, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1846
+ /* string id = 1; */
1847
+ if (message.id !== "")
1848
+ writer.tag(1, WireType.LengthDelimited).string(message.id);
1849
+ /* optional string application_id = 2; */
1850
+ if (message.applicationId !== undefined)
1851
+ writer.tag(2, WireType.LengthDelimited).string(message.applicationId);
1852
+ /* string indicator = 3; */
1853
+ if (message.indicator !== "")
1854
+ writer.tag(3, WireType.LengthDelimited).string(message.indicator);
1855
+ /* string issuer = 4; */
1856
+ if (message.issuer !== "")
1857
+ writer.tag(4, WireType.LengthDelimited).string(message.issuer);
1858
+ /* repeated string scopes = 5; */
1859
+ for (let i = 0; i < message.scopes.length; i++)
1860
+ writer.tag(5, WireType.LengthDelimited).string(message.scopes[i]);
1861
+ /* sid.v1.projects.ResourceState state = 6; */
1862
+ if (message.state !== 0)
1863
+ writer.tag(6, WireType.Varint).int32(message.state);
1864
+ /* uint64 revision = 7; */
1865
+ if (message.revision !== 0n)
1866
+ writer.tag(7, WireType.Varint).uint64(message.revision);
1867
+ /* google.protobuf.Timestamp created_at = 8; */
1868
+ if (message.createdAt)
1869
+ Timestamp.internalBinaryWrite(message.createdAt, writer.tag(8, WireType.LengthDelimited).fork(), options).join();
1870
+ /* google.protobuf.Timestamp updated_at = 9; */
1871
+ if (message.updatedAt)
1872
+ Timestamp.internalBinaryWrite(message.updatedAt, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
1873
+ let u = options.writeUnknownFields;
1874
+ if (u !== false)
1875
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1876
+ return writer;
1877
+ }
1878
+ }
1879
+ /**
1880
+ * @generated MessageType for protobuf message sid.v1.projects.ProtectedResource
1881
+ */
1882
+ export const ProtectedResource = new ProtectedResource$Type();
1883
+ // @generated message type with reflection information, may provide speed optimized methods
1884
+ class ResourceAccess$Type extends MessageType<ResourceAccess> {
1885
+ constructor() {
1886
+ super("sid.v1.projects.ResourceAccess", [
1887
+ { no: 1, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1888
+ { no: 2, name: "resource_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1889
+ { no: 3, name: "scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1890
+ { no: 4, name: "created_at", kind: "message", T: () => Timestamp }
1891
+ ]);
1892
+ }
1893
+ create(value?: PartialMessage<ResourceAccess>): ResourceAccess {
1894
+ const message = globalThis.Object.create((this.messagePrototype!));
1895
+ message.clientId = "";
1896
+ message.resourceId = "";
1897
+ message.scopes = [];
1898
+ if (value !== undefined)
1899
+ reflectionMergePartial<ResourceAccess>(this, message, value);
1900
+ return message;
1901
+ }
1902
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ResourceAccess): ResourceAccess {
1903
+ let message = target ?? this.create(), end = reader.pos + length;
1904
+ while (reader.pos < end) {
1905
+ let [fieldNo, wireType] = reader.tag();
1906
+ switch (fieldNo) {
1907
+ case /* string client_id */ 1:
1908
+ message.clientId = reader.string();
1909
+ break;
1910
+ case /* string resource_id */ 2:
1911
+ message.resourceId = reader.string();
1912
+ break;
1913
+ case /* repeated string scopes */ 3:
1914
+ message.scopes.push(reader.string());
1915
+ break;
1916
+ case /* google.protobuf.Timestamp created_at */ 4:
1917
+ message.createdAt = Timestamp.internalBinaryRead(reader, reader.uint32(), options, message.createdAt);
1918
+ break;
1919
+ default:
1920
+ let u = options.readUnknownField;
1921
+ if (u === "throw")
1922
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
1923
+ let d = reader.skip(wireType);
1924
+ if (u !== false)
1925
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
1926
+ }
1927
+ }
1928
+ return message;
1929
+ }
1930
+ internalBinaryWrite(message: ResourceAccess, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1931
+ /* string client_id = 1; */
1932
+ if (message.clientId !== "")
1933
+ writer.tag(1, WireType.LengthDelimited).string(message.clientId);
1934
+ /* string resource_id = 2; */
1935
+ if (message.resourceId !== "")
1936
+ writer.tag(2, WireType.LengthDelimited).string(message.resourceId);
1937
+ /* repeated string scopes = 3; */
1938
+ for (let i = 0; i < message.scopes.length; i++)
1939
+ writer.tag(3, WireType.LengthDelimited).string(message.scopes[i]);
1940
+ /* google.protobuf.Timestamp created_at = 4; */
1941
+ if (message.createdAt)
1942
+ Timestamp.internalBinaryWrite(message.createdAt, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
1943
+ let u = options.writeUnknownFields;
1944
+ if (u !== false)
1945
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
1946
+ return writer;
1947
+ }
1948
+ }
1949
+ /**
1950
+ * @generated MessageType for protobuf message sid.v1.projects.ResourceAccess
1951
+ */
1952
+ export const ResourceAccess = new ResourceAccess$Type();
1953
+ // @generated message type with reflection information, may provide speed optimized methods
1954
+ class InitialAccessToken$Type extends MessageType<InitialAccessToken> {
1955
+ constructor() {
1956
+ super("sid.v1.projects.InitialAccessToken", [
1957
+ { no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1958
+ { no: 2, name: "project_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1959
+ { no: 3, name: "max_clients", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
1960
+ { no: 4, name: "clients_registered", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
1961
+ { no: 5, name: "allowed_scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1962
+ { no: 6, name: "allowed_grant_types", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1963
+ { no: 7, name: "allowed_redirect_patterns", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1964
+ { no: 8, name: "expires_at", kind: "message", T: () => Timestamp },
1965
+ { no: 9, name: "created_at", kind: "message", T: () => Timestamp },
1966
+ { no: 10, name: "created_by", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1967
+ { no: 11, name: "revoked", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
1968
+ ]);
1969
+ }
1970
+ create(value?: PartialMessage<InitialAccessToken>): InitialAccessToken {
1971
+ const message = globalThis.Object.create((this.messagePrototype!));
1972
+ message.id = "";
1973
+ message.projectId = "";
1974
+ message.maxClients = 0;
1975
+ message.clientsRegistered = 0;
1976
+ message.allowedScopes = [];
1977
+ message.allowedGrantTypes = [];
1978
+ message.allowedRedirectPatterns = [];
1979
+ message.createdBy = "";
1980
+ message.revoked = false;
1981
+ if (value !== undefined)
1982
+ reflectionMergePartial<InitialAccessToken>(this, message, value);
1983
+ return message;
1984
+ }
1985
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: InitialAccessToken): InitialAccessToken {
1986
+ let message = target ?? this.create(), end = reader.pos + length;
1987
+ while (reader.pos < end) {
1988
+ let [fieldNo, wireType] = reader.tag();
1989
+ switch (fieldNo) {
1990
+ case /* string id */ 1:
1991
+ message.id = reader.string();
1992
+ break;
1993
+ case /* string project_id */ 2:
1994
+ message.projectId = reader.string();
1995
+ break;
1996
+ case /* uint32 max_clients */ 3:
1997
+ message.maxClients = reader.uint32();
1998
+ break;
1999
+ case /* uint32 clients_registered */ 4:
2000
+ message.clientsRegistered = reader.uint32();
2001
+ break;
2002
+ case /* repeated string allowed_scopes */ 5:
2003
+ message.allowedScopes.push(reader.string());
2004
+ break;
2005
+ case /* repeated string allowed_grant_types */ 6:
2006
+ message.allowedGrantTypes.push(reader.string());
1062
2007
  break;
1063
2008
  case /* repeated string allowed_redirect_patterns */ 7:
1064
2009
  message.allowedRedirectPatterns.push(reader.string());
@@ -1459,55 +2404,699 @@ class DeleteProjectRequest$Type extends MessageType<DeleteProjectRequest> {
1459
2404
  */
1460
2405
  export const DeleteProjectRequest = new DeleteProjectRequest$Type();
1461
2406
  // @generated message type with reflection information, may provide speed optimized methods
1462
- class CreateApplicationRequest$Type extends MessageType<CreateApplicationRequest> {
2407
+ class ClientRoleSettings$Type extends MessageType<ClientRoleSettings> {
1463
2408
  constructor() {
1464
- super("sid.v1.projects.CreateApplicationRequest", [
1465
- { no: 1, name: "project_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1466
- { no: 2, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1467
- { no: 3, name: "type", kind: "enum", T: () => ["sid.v1.projects.ApplicationType", ApplicationType, "APPLICATION_TYPE_"] },
1468
- { no: 4, name: "redirect_uris", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1469
- { no: 5, name: "allowed_scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1470
- { no: 6, name: "grant_types", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1471
- { no: 7, name: "org_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
2409
+ super("sid.v1.projects.ClientRoleSettings", [
2410
+ { no: 1, name: "type", kind: "enum", T: () => ["sid.v1.projects.ApplicationType", ApplicationType, "APPLICATION_TYPE_"] },
2411
+ { no: 2, name: "redirect_uris", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
2412
+ { no: 3, name: "allowed_scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
2413
+ { no: 4, name: "grant_types", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
2414
+ { no: 5, name: "jwks", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
2415
+ { no: 6, name: "post_logout_redirect_uris", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
1472
2416
  ]);
1473
2417
  }
1474
- create(value?: PartialMessage<CreateApplicationRequest>): CreateApplicationRequest {
2418
+ create(value?: PartialMessage<ClientRoleSettings>): ClientRoleSettings {
1475
2419
  const message = globalThis.Object.create((this.messagePrototype!));
1476
- message.projectId = "";
1477
- message.name = "";
1478
2420
  message.type = 0;
1479
2421
  message.redirectUris = [];
1480
2422
  message.allowedScopes = [];
1481
2423
  message.grantTypes = [];
2424
+ message.postLogoutRedirectUris = [];
1482
2425
  if (value !== undefined)
1483
- reflectionMergePartial<CreateApplicationRequest>(this, message, value);
2426
+ reflectionMergePartial<ClientRoleSettings>(this, message, value);
1484
2427
  return message;
1485
2428
  }
1486
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateApplicationRequest): CreateApplicationRequest {
2429
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ClientRoleSettings): ClientRoleSettings {
1487
2430
  let message = target ?? this.create(), end = reader.pos + length;
1488
2431
  while (reader.pos < end) {
1489
2432
  let [fieldNo, wireType] = reader.tag();
1490
2433
  switch (fieldNo) {
1491
- case /* string project_id */ 1:
1492
- message.projectId = reader.string();
2434
+ case /* sid.v1.projects.ApplicationType type */ 1:
2435
+ message.type = reader.int32();
2436
+ break;
2437
+ case /* repeated string redirect_uris */ 2:
2438
+ message.redirectUris.push(reader.string());
2439
+ break;
2440
+ case /* repeated string allowed_scopes */ 3:
2441
+ message.allowedScopes.push(reader.string());
2442
+ break;
2443
+ case /* repeated string grant_types */ 4:
2444
+ message.grantTypes.push(reader.string());
2445
+ break;
2446
+ case /* optional string jwks */ 5:
2447
+ message.jwks = reader.string();
2448
+ break;
2449
+ case /* repeated string post_logout_redirect_uris */ 6:
2450
+ message.postLogoutRedirectUris.push(reader.string());
2451
+ break;
2452
+ default:
2453
+ let u = options.readUnknownField;
2454
+ if (u === "throw")
2455
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
2456
+ let d = reader.skip(wireType);
2457
+ if (u !== false)
2458
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
2459
+ }
2460
+ }
2461
+ return message;
2462
+ }
2463
+ internalBinaryWrite(message: ClientRoleSettings, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2464
+ /* sid.v1.projects.ApplicationType type = 1; */
2465
+ if (message.type !== 0)
2466
+ writer.tag(1, WireType.Varint).int32(message.type);
2467
+ /* repeated string redirect_uris = 2; */
2468
+ for (let i = 0; i < message.redirectUris.length; i++)
2469
+ writer.tag(2, WireType.LengthDelimited).string(message.redirectUris[i]);
2470
+ /* repeated string allowed_scopes = 3; */
2471
+ for (let i = 0; i < message.allowedScopes.length; i++)
2472
+ writer.tag(3, WireType.LengthDelimited).string(message.allowedScopes[i]);
2473
+ /* repeated string grant_types = 4; */
2474
+ for (let i = 0; i < message.grantTypes.length; i++)
2475
+ writer.tag(4, WireType.LengthDelimited).string(message.grantTypes[i]);
2476
+ /* optional string jwks = 5; */
2477
+ if (message.jwks !== undefined)
2478
+ writer.tag(5, WireType.LengthDelimited).string(message.jwks);
2479
+ /* repeated string post_logout_redirect_uris = 6; */
2480
+ for (let i = 0; i < message.postLogoutRedirectUris.length; i++)
2481
+ writer.tag(6, WireType.LengthDelimited).string(message.postLogoutRedirectUris[i]);
2482
+ let u = options.writeUnknownFields;
2483
+ if (u !== false)
2484
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
2485
+ return writer;
2486
+ }
2487
+ }
2488
+ /**
2489
+ * @generated MessageType for protobuf message sid.v1.projects.ClientRoleSettings
2490
+ */
2491
+ export const ClientRoleSettings = new ClientRoleSettings$Type();
2492
+ // @generated message type with reflection information, may provide speed optimized methods
2493
+ class UriList$Type extends MessageType<UriList> {
2494
+ constructor() {
2495
+ super("sid.v1.projects.UriList", [
2496
+ { no: 1, name: "uris", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
2497
+ ]);
2498
+ }
2499
+ create(value?: PartialMessage<UriList>): UriList {
2500
+ const message = globalThis.Object.create((this.messagePrototype!));
2501
+ message.uris = [];
2502
+ if (value !== undefined)
2503
+ reflectionMergePartial<UriList>(this, message, value);
2504
+ return message;
2505
+ }
2506
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UriList): UriList {
2507
+ let message = target ?? this.create(), end = reader.pos + length;
2508
+ while (reader.pos < end) {
2509
+ let [fieldNo, wireType] = reader.tag();
2510
+ switch (fieldNo) {
2511
+ case /* repeated string uris */ 1:
2512
+ message.uris.push(reader.string());
2513
+ break;
2514
+ default:
2515
+ let u = options.readUnknownField;
2516
+ if (u === "throw")
2517
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
2518
+ let d = reader.skip(wireType);
2519
+ if (u !== false)
2520
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
2521
+ }
2522
+ }
2523
+ return message;
2524
+ }
2525
+ internalBinaryWrite(message: UriList, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2526
+ /* repeated string uris = 1; */
2527
+ for (let i = 0; i < message.uris.length; i++)
2528
+ writer.tag(1, WireType.LengthDelimited).string(message.uris[i]);
2529
+ let u = options.writeUnknownFields;
2530
+ if (u !== false)
2531
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
2532
+ return writer;
2533
+ }
2534
+ }
2535
+ /**
2536
+ * @generated MessageType for protobuf message sid.v1.projects.UriList
2537
+ */
2538
+ export const UriList = new UriList$Type();
2539
+ // @generated message type with reflection information, may provide speed optimized methods
2540
+ class ResourceRoleSettings$Type extends MessageType<ResourceRoleSettings> {
2541
+ constructor() {
2542
+ super("sid.v1.projects.ResourceRoleSettings", [
2543
+ { no: 1, name: "indicator", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
2544
+ { no: 2, name: "scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
2545
+ ]);
2546
+ }
2547
+ create(value?: PartialMessage<ResourceRoleSettings>): ResourceRoleSettings {
2548
+ const message = globalThis.Object.create((this.messagePrototype!));
2549
+ message.indicator = "";
2550
+ message.scopes = [];
2551
+ if (value !== undefined)
2552
+ reflectionMergePartial<ResourceRoleSettings>(this, message, value);
2553
+ return message;
2554
+ }
2555
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ResourceRoleSettings): ResourceRoleSettings {
2556
+ let message = target ?? this.create(), end = reader.pos + length;
2557
+ while (reader.pos < end) {
2558
+ let [fieldNo, wireType] = reader.tag();
2559
+ switch (fieldNo) {
2560
+ case /* string indicator */ 1:
2561
+ message.indicator = reader.string();
2562
+ break;
2563
+ case /* repeated string scopes */ 2:
2564
+ message.scopes.push(reader.string());
2565
+ break;
2566
+ default:
2567
+ let u = options.readUnknownField;
2568
+ if (u === "throw")
2569
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
2570
+ let d = reader.skip(wireType);
2571
+ if (u !== false)
2572
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
2573
+ }
2574
+ }
2575
+ return message;
2576
+ }
2577
+ internalBinaryWrite(message: ResourceRoleSettings, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2578
+ /* string indicator = 1; */
2579
+ if (message.indicator !== "")
2580
+ writer.tag(1, WireType.LengthDelimited).string(message.indicator);
2581
+ /* repeated string scopes = 2; */
2582
+ for (let i = 0; i < message.scopes.length; i++)
2583
+ writer.tag(2, WireType.LengthDelimited).string(message.scopes[i]);
2584
+ let u = options.writeUnknownFields;
2585
+ if (u !== false)
2586
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
2587
+ return writer;
2588
+ }
2589
+ }
2590
+ /**
2591
+ * @generated MessageType for protobuf message sid.v1.projects.ResourceRoleSettings
2592
+ */
2593
+ export const ResourceRoleSettings = new ResourceRoleSettings$Type();
2594
+ // @generated message type with reflection information, may provide speed optimized methods
2595
+ class CreateApplicationRequest$Type extends MessageType<CreateApplicationRequest> {
2596
+ constructor() {
2597
+ super("sid.v1.projects.CreateApplicationRequest", [
2598
+ { no: 1, name: "project_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
2599
+ { no: 2, name: "name", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
2600
+ { no: 3, name: "client", kind: "message", T: () => ClientRoleSettings },
2601
+ { no: 4, name: "resource", kind: "message", T: () => ResourceRoleSettings },
2602
+ { no: 5, name: "org_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
2603
+ ]);
2604
+ }
2605
+ create(value?: PartialMessage<CreateApplicationRequest>): CreateApplicationRequest {
2606
+ const message = globalThis.Object.create((this.messagePrototype!));
2607
+ message.projectId = "";
2608
+ message.name = "";
2609
+ if (value !== undefined)
2610
+ reflectionMergePartial<CreateApplicationRequest>(this, message, value);
2611
+ return message;
2612
+ }
2613
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateApplicationRequest): CreateApplicationRequest {
2614
+ let message = target ?? this.create(), end = reader.pos + length;
2615
+ while (reader.pos < end) {
2616
+ let [fieldNo, wireType] = reader.tag();
2617
+ switch (fieldNo) {
2618
+ case /* string project_id */ 1:
2619
+ message.projectId = reader.string();
2620
+ break;
2621
+ case /* string name */ 2:
2622
+ message.name = reader.string();
2623
+ break;
2624
+ case /* optional sid.v1.projects.ClientRoleSettings client */ 3:
2625
+ message.client = ClientRoleSettings.internalBinaryRead(reader, reader.uint32(), options, message.client);
2626
+ break;
2627
+ case /* optional sid.v1.projects.ResourceRoleSettings resource */ 4:
2628
+ message.resource = ResourceRoleSettings.internalBinaryRead(reader, reader.uint32(), options, message.resource);
2629
+ break;
2630
+ case /* optional string org_id */ 5:
2631
+ message.orgId = reader.string();
2632
+ break;
2633
+ default:
2634
+ let u = options.readUnknownField;
2635
+ if (u === "throw")
2636
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
2637
+ let d = reader.skip(wireType);
2638
+ if (u !== false)
2639
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
2640
+ }
2641
+ }
2642
+ return message;
2643
+ }
2644
+ internalBinaryWrite(message: CreateApplicationRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2645
+ /* string project_id = 1; */
2646
+ if (message.projectId !== "")
2647
+ writer.tag(1, WireType.LengthDelimited).string(message.projectId);
2648
+ /* string name = 2; */
2649
+ if (message.name !== "")
2650
+ writer.tag(2, WireType.LengthDelimited).string(message.name);
2651
+ /* optional sid.v1.projects.ClientRoleSettings client = 3; */
2652
+ if (message.client)
2653
+ ClientRoleSettings.internalBinaryWrite(message.client, writer.tag(3, WireType.LengthDelimited).fork(), options).join();
2654
+ /* optional sid.v1.projects.ResourceRoleSettings resource = 4; */
2655
+ if (message.resource)
2656
+ ResourceRoleSettings.internalBinaryWrite(message.resource, writer.tag(4, WireType.LengthDelimited).fork(), options).join();
2657
+ /* optional string org_id = 5; */
2658
+ if (message.orgId !== undefined)
2659
+ writer.tag(5, WireType.LengthDelimited).string(message.orgId);
2660
+ let u = options.writeUnknownFields;
2661
+ if (u !== false)
2662
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
2663
+ return writer;
2664
+ }
2665
+ }
2666
+ /**
2667
+ * @generated MessageType for protobuf message sid.v1.projects.CreateApplicationRequest
2668
+ */
2669
+ export const CreateApplicationRequest = new CreateApplicationRequest$Type();
2670
+ // @generated message type with reflection information, may provide speed optimized methods
2671
+ class CreateApplicationResponse$Type extends MessageType<CreateApplicationResponse> {
2672
+ constructor() {
2673
+ super("sid.v1.projects.CreateApplicationResponse", [
2674
+ { no: 1, name: "application", kind: "message", T: () => Application },
2675
+ { no: 2, name: "client_secret", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
2676
+ ]);
2677
+ }
2678
+ create(value?: PartialMessage<CreateApplicationResponse>): CreateApplicationResponse {
2679
+ const message = globalThis.Object.create((this.messagePrototype!));
2680
+ message.clientSecret = "";
2681
+ if (value !== undefined)
2682
+ reflectionMergePartial<CreateApplicationResponse>(this, message, value);
2683
+ return message;
2684
+ }
2685
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateApplicationResponse): CreateApplicationResponse {
2686
+ let message = target ?? this.create(), end = reader.pos + length;
2687
+ while (reader.pos < end) {
2688
+ let [fieldNo, wireType] = reader.tag();
2689
+ switch (fieldNo) {
2690
+ case /* sid.v1.projects.Application application */ 1:
2691
+ message.application = Application.internalBinaryRead(reader, reader.uint32(), options, message.application);
2692
+ break;
2693
+ case /* string client_secret */ 2:
2694
+ message.clientSecret = reader.string();
2695
+ break;
2696
+ default:
2697
+ let u = options.readUnknownField;
2698
+ if (u === "throw")
2699
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
2700
+ let d = reader.skip(wireType);
2701
+ if (u !== false)
2702
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
2703
+ }
2704
+ }
2705
+ return message;
2706
+ }
2707
+ internalBinaryWrite(message: CreateApplicationResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2708
+ /* sid.v1.projects.Application application = 1; */
2709
+ if (message.application)
2710
+ Application.internalBinaryWrite(message.application, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
2711
+ /* string client_secret = 2; */
2712
+ if (message.clientSecret !== "")
2713
+ writer.tag(2, WireType.LengthDelimited).string(message.clientSecret);
2714
+ let u = options.writeUnknownFields;
2715
+ if (u !== false)
2716
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
2717
+ return writer;
2718
+ }
2719
+ }
2720
+ /**
2721
+ * @generated MessageType for protobuf message sid.v1.projects.CreateApplicationResponse
2722
+ */
2723
+ export const CreateApplicationResponse = new CreateApplicationResponse$Type();
2724
+ // @generated message type with reflection information, may provide speed optimized methods
2725
+ class GetApplicationRequest$Type extends MessageType<GetApplicationRequest> {
2726
+ constructor() {
2727
+ super("sid.v1.projects.GetApplicationRequest", [
2728
+ { no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
2729
+ ]);
2730
+ }
2731
+ create(value?: PartialMessage<GetApplicationRequest>): GetApplicationRequest {
2732
+ const message = globalThis.Object.create((this.messagePrototype!));
2733
+ message.id = "";
2734
+ if (value !== undefined)
2735
+ reflectionMergePartial<GetApplicationRequest>(this, message, value);
2736
+ return message;
2737
+ }
2738
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetApplicationRequest): GetApplicationRequest {
2739
+ let message = target ?? this.create(), end = reader.pos + length;
2740
+ while (reader.pos < end) {
2741
+ let [fieldNo, wireType] = reader.tag();
2742
+ switch (fieldNo) {
2743
+ case /* string id */ 1:
2744
+ message.id = reader.string();
2745
+ break;
2746
+ default:
2747
+ let u = options.readUnknownField;
2748
+ if (u === "throw")
2749
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
2750
+ let d = reader.skip(wireType);
2751
+ if (u !== false)
2752
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
2753
+ }
2754
+ }
2755
+ return message;
2756
+ }
2757
+ internalBinaryWrite(message: GetApplicationRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2758
+ /* string id = 1; */
2759
+ if (message.id !== "")
2760
+ writer.tag(1, WireType.LengthDelimited).string(message.id);
2761
+ let u = options.writeUnknownFields;
2762
+ if (u !== false)
2763
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
2764
+ return writer;
2765
+ }
2766
+ }
2767
+ /**
2768
+ * @generated MessageType for protobuf message sid.v1.projects.GetApplicationRequest
2769
+ */
2770
+ export const GetApplicationRequest = new GetApplicationRequest$Type();
2771
+ // @generated message type with reflection information, may provide speed optimized methods
2772
+ class ListApplicationsRequest$Type extends MessageType<ListApplicationsRequest> {
2773
+ constructor() {
2774
+ super("sid.v1.projects.ListApplicationsRequest", [
2775
+ { no: 1, name: "project_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
2776
+ { no: 2, name: "page_size", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
2777
+ { no: 3, name: "page_token", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
2778
+ ]);
2779
+ }
2780
+ create(value?: PartialMessage<ListApplicationsRequest>): ListApplicationsRequest {
2781
+ const message = globalThis.Object.create((this.messagePrototype!));
2782
+ message.projectId = "";
2783
+ message.pageSize = 0;
2784
+ message.pageToken = "";
2785
+ if (value !== undefined)
2786
+ reflectionMergePartial<ListApplicationsRequest>(this, message, value);
2787
+ return message;
2788
+ }
2789
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListApplicationsRequest): ListApplicationsRequest {
2790
+ let message = target ?? this.create(), end = reader.pos + length;
2791
+ while (reader.pos < end) {
2792
+ let [fieldNo, wireType] = reader.tag();
2793
+ switch (fieldNo) {
2794
+ case /* string project_id */ 1:
2795
+ message.projectId = reader.string();
2796
+ break;
2797
+ case /* int32 page_size */ 2:
2798
+ message.pageSize = reader.int32();
2799
+ break;
2800
+ case /* string page_token */ 3:
2801
+ message.pageToken = reader.string();
2802
+ break;
2803
+ default:
2804
+ let u = options.readUnknownField;
2805
+ if (u === "throw")
2806
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
2807
+ let d = reader.skip(wireType);
2808
+ if (u !== false)
2809
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
2810
+ }
2811
+ }
2812
+ return message;
2813
+ }
2814
+ internalBinaryWrite(message: ListApplicationsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2815
+ /* string project_id = 1; */
2816
+ if (message.projectId !== "")
2817
+ writer.tag(1, WireType.LengthDelimited).string(message.projectId);
2818
+ /* int32 page_size = 2; */
2819
+ if (message.pageSize !== 0)
2820
+ writer.tag(2, WireType.Varint).int32(message.pageSize);
2821
+ /* string page_token = 3; */
2822
+ if (message.pageToken !== "")
2823
+ writer.tag(3, WireType.LengthDelimited).string(message.pageToken);
2824
+ let u = options.writeUnknownFields;
2825
+ if (u !== false)
2826
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
2827
+ return writer;
2828
+ }
2829
+ }
2830
+ /**
2831
+ * @generated MessageType for protobuf message sid.v1.projects.ListApplicationsRequest
2832
+ */
2833
+ export const ListApplicationsRequest = new ListApplicationsRequest$Type();
2834
+ // @generated message type with reflection information, may provide speed optimized methods
2835
+ class ListApplicationsResponse$Type extends MessageType<ListApplicationsResponse> {
2836
+ constructor() {
2837
+ super("sid.v1.projects.ListApplicationsResponse", [
2838
+ { no: 1, name: "applications", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Application },
2839
+ { no: 2, name: "next_page_token", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
2840
+ ]);
2841
+ }
2842
+ create(value?: PartialMessage<ListApplicationsResponse>): ListApplicationsResponse {
2843
+ const message = globalThis.Object.create((this.messagePrototype!));
2844
+ message.applications = [];
2845
+ message.nextPageToken = "";
2846
+ if (value !== undefined)
2847
+ reflectionMergePartial<ListApplicationsResponse>(this, message, value);
2848
+ return message;
2849
+ }
2850
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListApplicationsResponse): ListApplicationsResponse {
2851
+ let message = target ?? this.create(), end = reader.pos + length;
2852
+ while (reader.pos < end) {
2853
+ let [fieldNo, wireType] = reader.tag();
2854
+ switch (fieldNo) {
2855
+ case /* repeated sid.v1.projects.Application applications */ 1:
2856
+ message.applications.push(Application.internalBinaryRead(reader, reader.uint32(), options));
2857
+ break;
2858
+ case /* string next_page_token */ 2:
2859
+ message.nextPageToken = reader.string();
2860
+ break;
2861
+ default:
2862
+ let u = options.readUnknownField;
2863
+ if (u === "throw")
2864
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
2865
+ let d = reader.skip(wireType);
2866
+ if (u !== false)
2867
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
2868
+ }
2869
+ }
2870
+ return message;
2871
+ }
2872
+ internalBinaryWrite(message: ListApplicationsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2873
+ /* repeated sid.v1.projects.Application applications = 1; */
2874
+ for (let i = 0; i < message.applications.length; i++)
2875
+ Application.internalBinaryWrite(message.applications[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
2876
+ /* string next_page_token = 2; */
2877
+ if (message.nextPageToken !== "")
2878
+ writer.tag(2, WireType.LengthDelimited).string(message.nextPageToken);
2879
+ let u = options.writeUnknownFields;
2880
+ if (u !== false)
2881
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
2882
+ return writer;
2883
+ }
2884
+ }
2885
+ /**
2886
+ * @generated MessageType for protobuf message sid.v1.projects.ListApplicationsResponse
2887
+ */
2888
+ export const ListApplicationsResponse = new ListApplicationsResponse$Type();
2889
+ // @generated message type with reflection information, may provide speed optimized methods
2890
+ class UpdateApplicationRequest$Type extends MessageType<UpdateApplicationRequest> {
2891
+ constructor() {
2892
+ super("sid.v1.projects.UpdateApplicationRequest", [
2893
+ { no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
2894
+ { no: 2, name: "name", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
2895
+ ]);
2896
+ }
2897
+ create(value?: PartialMessage<UpdateApplicationRequest>): UpdateApplicationRequest {
2898
+ const message = globalThis.Object.create((this.messagePrototype!));
2899
+ message.id = "";
2900
+ if (value !== undefined)
2901
+ reflectionMergePartial<UpdateApplicationRequest>(this, message, value);
2902
+ return message;
2903
+ }
2904
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateApplicationRequest): UpdateApplicationRequest {
2905
+ let message = target ?? this.create(), end = reader.pos + length;
2906
+ while (reader.pos < end) {
2907
+ let [fieldNo, wireType] = reader.tag();
2908
+ switch (fieldNo) {
2909
+ case /* string id */ 1:
2910
+ message.id = reader.string();
2911
+ break;
2912
+ case /* optional string name */ 2:
2913
+ message.name = reader.string();
2914
+ break;
2915
+ default:
2916
+ let u = options.readUnknownField;
2917
+ if (u === "throw")
2918
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
2919
+ let d = reader.skip(wireType);
2920
+ if (u !== false)
2921
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
2922
+ }
2923
+ }
2924
+ return message;
2925
+ }
2926
+ internalBinaryWrite(message: UpdateApplicationRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2927
+ /* string id = 1; */
2928
+ if (message.id !== "")
2929
+ writer.tag(1, WireType.LengthDelimited).string(message.id);
2930
+ /* optional string name = 2; */
2931
+ if (message.name !== undefined)
2932
+ writer.tag(2, WireType.LengthDelimited).string(message.name);
2933
+ let u = options.writeUnknownFields;
2934
+ if (u !== false)
2935
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
2936
+ return writer;
2937
+ }
2938
+ }
2939
+ /**
2940
+ * @generated MessageType for protobuf message sid.v1.projects.UpdateApplicationRequest
2941
+ */
2942
+ export const UpdateApplicationRequest = new UpdateApplicationRequest$Type();
2943
+ // @generated message type with reflection information, may provide speed optimized methods
2944
+ class DeleteApplicationRequest$Type extends MessageType<DeleteApplicationRequest> {
2945
+ constructor() {
2946
+ super("sid.v1.projects.DeleteApplicationRequest", [
2947
+ { no: 1, name: "id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
2948
+ ]);
2949
+ }
2950
+ create(value?: PartialMessage<DeleteApplicationRequest>): DeleteApplicationRequest {
2951
+ const message = globalThis.Object.create((this.messagePrototype!));
2952
+ message.id = "";
2953
+ if (value !== undefined)
2954
+ reflectionMergePartial<DeleteApplicationRequest>(this, message, value);
2955
+ return message;
2956
+ }
2957
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteApplicationRequest): DeleteApplicationRequest {
2958
+ let message = target ?? this.create(), end = reader.pos + length;
2959
+ while (reader.pos < end) {
2960
+ let [fieldNo, wireType] = reader.tag();
2961
+ switch (fieldNo) {
2962
+ case /* string id */ 1:
2963
+ message.id = reader.string();
2964
+ break;
2965
+ default:
2966
+ let u = options.readUnknownField;
2967
+ if (u === "throw")
2968
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
2969
+ let d = reader.skip(wireType);
2970
+ if (u !== false)
2971
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
2972
+ }
2973
+ }
2974
+ return message;
2975
+ }
2976
+ internalBinaryWrite(message: DeleteApplicationRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2977
+ /* string id = 1; */
2978
+ if (message.id !== "")
2979
+ writer.tag(1, WireType.LengthDelimited).string(message.id);
2980
+ let u = options.writeUnknownFields;
2981
+ if (u !== false)
2982
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
2983
+ return writer;
2984
+ }
2985
+ }
2986
+ /**
2987
+ * @generated MessageType for protobuf message sid.v1.projects.DeleteApplicationRequest
2988
+ */
2989
+ export const DeleteApplicationRequest = new DeleteApplicationRequest$Type();
2990
+ // @generated message type with reflection information, may provide speed optimized methods
2991
+ class AddClientRoleRequest$Type extends MessageType<AddClientRoleRequest> {
2992
+ constructor() {
2993
+ super("sid.v1.projects.AddClientRoleRequest", [
2994
+ { no: 1, name: "application_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
2995
+ { no: 2, name: "settings", kind: "message", T: () => ClientRoleSettings }
2996
+ ]);
2997
+ }
2998
+ create(value?: PartialMessage<AddClientRoleRequest>): AddClientRoleRequest {
2999
+ const message = globalThis.Object.create((this.messagePrototype!));
3000
+ message.applicationId = "";
3001
+ if (value !== undefined)
3002
+ reflectionMergePartial<AddClientRoleRequest>(this, message, value);
3003
+ return message;
3004
+ }
3005
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AddClientRoleRequest): AddClientRoleRequest {
3006
+ let message = target ?? this.create(), end = reader.pos + length;
3007
+ while (reader.pos < end) {
3008
+ let [fieldNo, wireType] = reader.tag();
3009
+ switch (fieldNo) {
3010
+ case /* string application_id */ 1:
3011
+ message.applicationId = reader.string();
3012
+ break;
3013
+ case /* sid.v1.projects.ClientRoleSettings settings */ 2:
3014
+ message.settings = ClientRoleSettings.internalBinaryRead(reader, reader.uint32(), options, message.settings);
3015
+ break;
3016
+ default:
3017
+ let u = options.readUnknownField;
3018
+ if (u === "throw")
3019
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
3020
+ let d = reader.skip(wireType);
3021
+ if (u !== false)
3022
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
3023
+ }
3024
+ }
3025
+ return message;
3026
+ }
3027
+ internalBinaryWrite(message: AddClientRoleRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
3028
+ /* string application_id = 1; */
3029
+ if (message.applicationId !== "")
3030
+ writer.tag(1, WireType.LengthDelimited).string(message.applicationId);
3031
+ /* sid.v1.projects.ClientRoleSettings settings = 2; */
3032
+ if (message.settings)
3033
+ ClientRoleSettings.internalBinaryWrite(message.settings, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
3034
+ let u = options.writeUnknownFields;
3035
+ if (u !== false)
3036
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
3037
+ return writer;
3038
+ }
3039
+ }
3040
+ /**
3041
+ * @generated MessageType for protobuf message sid.v1.projects.AddClientRoleRequest
3042
+ */
3043
+ export const AddClientRoleRequest = new AddClientRoleRequest$Type();
3044
+ // @generated message type with reflection information, may provide speed optimized methods
3045
+ class UpdateClientRoleRequest$Type extends MessageType<UpdateClientRoleRequest> {
3046
+ constructor() {
3047
+ super("sid.v1.projects.UpdateClientRoleRequest", [
3048
+ { no: 1, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
3049
+ { no: 2, name: "name", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
3050
+ { no: 3, name: "redirect_uris", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
3051
+ { no: 4, name: "allowed_scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
3052
+ { no: 5, name: "grant_types", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
3053
+ { no: 6, name: "active", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
3054
+ { no: 7, name: "subject_type", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
3055
+ { no: 8, name: "default_resource_id", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
3056
+ { no: 9, name: "post_logout_redirect_uris", kind: "message", T: () => UriList }
3057
+ ]);
3058
+ }
3059
+ create(value?: PartialMessage<UpdateClientRoleRequest>): UpdateClientRoleRequest {
3060
+ const message = globalThis.Object.create((this.messagePrototype!));
3061
+ message.clientId = "";
3062
+ message.redirectUris = [];
3063
+ message.allowedScopes = [];
3064
+ message.grantTypes = [];
3065
+ if (value !== undefined)
3066
+ reflectionMergePartial<UpdateClientRoleRequest>(this, message, value);
3067
+ return message;
3068
+ }
3069
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateClientRoleRequest): UpdateClientRoleRequest {
3070
+ let message = target ?? this.create(), end = reader.pos + length;
3071
+ while (reader.pos < end) {
3072
+ let [fieldNo, wireType] = reader.tag();
3073
+ switch (fieldNo) {
3074
+ case /* string client_id */ 1:
3075
+ message.clientId = reader.string();
1493
3076
  break;
1494
- case /* string name */ 2:
3077
+ case /* optional string name */ 2:
1495
3078
  message.name = reader.string();
1496
3079
  break;
1497
- case /* sid.v1.projects.ApplicationType type */ 3:
1498
- message.type = reader.int32();
1499
- break;
1500
- case /* repeated string redirect_uris */ 4:
3080
+ case /* repeated string redirect_uris */ 3:
1501
3081
  message.redirectUris.push(reader.string());
1502
3082
  break;
1503
- case /* repeated string allowed_scopes */ 5:
3083
+ case /* repeated string allowed_scopes */ 4:
1504
3084
  message.allowedScopes.push(reader.string());
1505
3085
  break;
1506
- case /* repeated string grant_types */ 6:
3086
+ case /* repeated string grant_types */ 5:
1507
3087
  message.grantTypes.push(reader.string());
1508
3088
  break;
1509
- case /* optional string org_id */ 7:
1510
- message.orgId = reader.string();
3089
+ case /* optional bool active */ 6:
3090
+ message.active = reader.bool();
3091
+ break;
3092
+ case /* optional string subject_type */ 7:
3093
+ message.subjectType = reader.string();
3094
+ break;
3095
+ case /* optional string default_resource_id */ 8:
3096
+ message.defaultResourceId = reader.string();
3097
+ break;
3098
+ case /* optional sid.v1.projects.UriList post_logout_redirect_uris */ 9:
3099
+ message.postLogoutRedirectUris = UriList.internalBinaryRead(reader, reader.uint32(), options, message.postLogoutRedirectUris);
1511
3100
  break;
1512
3101
  default:
1513
3102
  let u = options.readUnknownField;
@@ -1520,28 +3109,34 @@ class CreateApplicationRequest$Type extends MessageType<CreateApplicationRequest
1520
3109
  }
1521
3110
  return message;
1522
3111
  }
1523
- internalBinaryWrite(message: CreateApplicationRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1524
- /* string project_id = 1; */
1525
- if (message.projectId !== "")
1526
- writer.tag(1, WireType.LengthDelimited).string(message.projectId);
1527
- /* string name = 2; */
1528
- if (message.name !== "")
3112
+ internalBinaryWrite(message: UpdateClientRoleRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
3113
+ /* string client_id = 1; */
3114
+ if (message.clientId !== "")
3115
+ writer.tag(1, WireType.LengthDelimited).string(message.clientId);
3116
+ /* optional string name = 2; */
3117
+ if (message.name !== undefined)
1529
3118
  writer.tag(2, WireType.LengthDelimited).string(message.name);
1530
- /* sid.v1.projects.ApplicationType type = 3; */
1531
- if (message.type !== 0)
1532
- writer.tag(3, WireType.Varint).int32(message.type);
1533
- /* repeated string redirect_uris = 4; */
3119
+ /* repeated string redirect_uris = 3; */
1534
3120
  for (let i = 0; i < message.redirectUris.length; i++)
1535
- writer.tag(4, WireType.LengthDelimited).string(message.redirectUris[i]);
1536
- /* repeated string allowed_scopes = 5; */
3121
+ writer.tag(3, WireType.LengthDelimited).string(message.redirectUris[i]);
3122
+ /* repeated string allowed_scopes = 4; */
1537
3123
  for (let i = 0; i < message.allowedScopes.length; i++)
1538
- writer.tag(5, WireType.LengthDelimited).string(message.allowedScopes[i]);
1539
- /* repeated string grant_types = 6; */
3124
+ writer.tag(4, WireType.LengthDelimited).string(message.allowedScopes[i]);
3125
+ /* repeated string grant_types = 5; */
1540
3126
  for (let i = 0; i < message.grantTypes.length; i++)
1541
- writer.tag(6, WireType.LengthDelimited).string(message.grantTypes[i]);
1542
- /* optional string org_id = 7; */
1543
- if (message.orgId !== undefined)
1544
- writer.tag(7, WireType.LengthDelimited).string(message.orgId);
3127
+ writer.tag(5, WireType.LengthDelimited).string(message.grantTypes[i]);
3128
+ /* optional bool active = 6; */
3129
+ if (message.active !== undefined)
3130
+ writer.tag(6, WireType.Varint).bool(message.active);
3131
+ /* optional string subject_type = 7; */
3132
+ if (message.subjectType !== undefined)
3133
+ writer.tag(7, WireType.LengthDelimited).string(message.subjectType);
3134
+ /* optional string default_resource_id = 8; */
3135
+ if (message.defaultResourceId !== undefined)
3136
+ writer.tag(8, WireType.LengthDelimited).string(message.defaultResourceId);
3137
+ /* optional sid.v1.projects.UriList post_logout_redirect_uris = 9; */
3138
+ if (message.postLogoutRedirectUris)
3139
+ UriList.internalBinaryWrite(message.postLogoutRedirectUris, writer.tag(9, WireType.LengthDelimited).fork(), options).join();
1545
3140
  let u = options.writeUnknownFields;
1546
3141
  if (u !== false)
1547
3142
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1549,34 +3144,34 @@ class CreateApplicationRequest$Type extends MessageType<CreateApplicationRequest
1549
3144
  }
1550
3145
  }
1551
3146
  /**
1552
- * @generated MessageType for protobuf message sid.v1.projects.CreateApplicationRequest
3147
+ * @generated MessageType for protobuf message sid.v1.projects.UpdateClientRoleRequest
1553
3148
  */
1554
- export const CreateApplicationRequest = new CreateApplicationRequest$Type();
3149
+ export const UpdateClientRoleRequest = new UpdateClientRoleRequest$Type();
1555
3150
  // @generated message type with reflection information, may provide speed optimized methods
1556
- class CreateApplicationResponse$Type extends MessageType<CreateApplicationResponse> {
3151
+ class AddResourceRoleRequest$Type extends MessageType<AddResourceRoleRequest> {
1557
3152
  constructor() {
1558
- super("sid.v1.projects.CreateApplicationResponse", [
1559
- { no: 1, name: "application", kind: "message", T: () => Application },
1560
- { no: 2, name: "client_secret", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
3153
+ super("sid.v1.projects.AddResourceRoleRequest", [
3154
+ { no: 1, name: "application_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
3155
+ { no: 2, name: "settings", kind: "message", T: () => ResourceRoleSettings }
1561
3156
  ]);
1562
3157
  }
1563
- create(value?: PartialMessage<CreateApplicationResponse>): CreateApplicationResponse {
3158
+ create(value?: PartialMessage<AddResourceRoleRequest>): AddResourceRoleRequest {
1564
3159
  const message = globalThis.Object.create((this.messagePrototype!));
1565
- message.clientSecret = "";
3160
+ message.applicationId = "";
1566
3161
  if (value !== undefined)
1567
- reflectionMergePartial<CreateApplicationResponse>(this, message, value);
3162
+ reflectionMergePartial<AddResourceRoleRequest>(this, message, value);
1568
3163
  return message;
1569
3164
  }
1570
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CreateApplicationResponse): CreateApplicationResponse {
3165
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AddResourceRoleRequest): AddResourceRoleRequest {
1571
3166
  let message = target ?? this.create(), end = reader.pos + length;
1572
3167
  while (reader.pos < end) {
1573
3168
  let [fieldNo, wireType] = reader.tag();
1574
3169
  switch (fieldNo) {
1575
- case /* sid.v1.projects.Application application */ 1:
1576
- message.application = Application.internalBinaryRead(reader, reader.uint32(), options, message.application);
3170
+ case /* string application_id */ 1:
3171
+ message.applicationId = reader.string();
1577
3172
  break;
1578
- case /* string client_secret */ 2:
1579
- message.clientSecret = reader.string();
3173
+ case /* sid.v1.projects.ResourceRoleSettings settings */ 2:
3174
+ message.settings = ResourceRoleSettings.internalBinaryRead(reader, reader.uint32(), options, message.settings);
1580
3175
  break;
1581
3176
  default:
1582
3177
  let u = options.readUnknownField;
@@ -1589,13 +3184,13 @@ class CreateApplicationResponse$Type extends MessageType<CreateApplicationRespon
1589
3184
  }
1590
3185
  return message;
1591
3186
  }
1592
- internalBinaryWrite(message: CreateApplicationResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1593
- /* sid.v1.projects.Application application = 1; */
1594
- if (message.application)
1595
- Application.internalBinaryWrite(message.application, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1596
- /* string client_secret = 2; */
1597
- if (message.clientSecret !== "")
1598
- writer.tag(2, WireType.LengthDelimited).string(message.clientSecret);
3187
+ internalBinaryWrite(message: AddResourceRoleRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
3188
+ /* string application_id = 1; */
3189
+ if (message.applicationId !== "")
3190
+ writer.tag(1, WireType.LengthDelimited).string(message.applicationId);
3191
+ /* sid.v1.projects.ResourceRoleSettings settings = 2; */
3192
+ if (message.settings)
3193
+ ResourceRoleSettings.internalBinaryWrite(message.settings, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
1599
3194
  let u = options.writeUnknownFields;
1600
3195
  if (u !== false)
1601
3196
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1603,30 +3198,30 @@ class CreateApplicationResponse$Type extends MessageType<CreateApplicationRespon
1603
3198
  }
1604
3199
  }
1605
3200
  /**
1606
- * @generated MessageType for protobuf message sid.v1.projects.CreateApplicationResponse
3201
+ * @generated MessageType for protobuf message sid.v1.projects.AddResourceRoleRequest
1607
3202
  */
1608
- export const CreateApplicationResponse = new CreateApplicationResponse$Type();
3203
+ export const AddResourceRoleRequest = new AddResourceRoleRequest$Type();
1609
3204
  // @generated message type with reflection information, may provide speed optimized methods
1610
- class GetApplicationRequest$Type extends MessageType<GetApplicationRequest> {
3205
+ class ScopeList$Type extends MessageType<ScopeList> {
1611
3206
  constructor() {
1612
- super("sid.v1.projects.GetApplicationRequest", [
1613
- { no: 1, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
3207
+ super("sid.v1.projects.ScopeList", [
3208
+ { no: 1, name: "scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
1614
3209
  ]);
1615
3210
  }
1616
- create(value?: PartialMessage<GetApplicationRequest>): GetApplicationRequest {
3211
+ create(value?: PartialMessage<ScopeList>): ScopeList {
1617
3212
  const message = globalThis.Object.create((this.messagePrototype!));
1618
- message.clientId = "";
3213
+ message.scopes = [];
1619
3214
  if (value !== undefined)
1620
- reflectionMergePartial<GetApplicationRequest>(this, message, value);
3215
+ reflectionMergePartial<ScopeList>(this, message, value);
1621
3216
  return message;
1622
3217
  }
1623
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: GetApplicationRequest): GetApplicationRequest {
3218
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ScopeList): ScopeList {
1624
3219
  let message = target ?? this.create(), end = reader.pos + length;
1625
3220
  while (reader.pos < end) {
1626
3221
  let [fieldNo, wireType] = reader.tag();
1627
3222
  switch (fieldNo) {
1628
- case /* string client_id */ 1:
1629
- message.clientId = reader.string();
3223
+ case /* repeated string scopes */ 1:
3224
+ message.scopes.push(reader.string());
1630
3225
  break;
1631
3226
  default:
1632
3227
  let u = options.readUnknownField;
@@ -1639,10 +3234,10 @@ class GetApplicationRequest$Type extends MessageType<GetApplicationRequest> {
1639
3234
  }
1640
3235
  return message;
1641
3236
  }
1642
- internalBinaryWrite(message: GetApplicationRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1643
- /* string client_id = 1; */
1644
- if (message.clientId !== "")
1645
- writer.tag(1, WireType.LengthDelimited).string(message.clientId);
3237
+ internalBinaryWrite(message: ScopeList, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
3238
+ /* repeated string scopes = 1; */
3239
+ for (let i = 0; i < message.scopes.length; i++)
3240
+ writer.tag(1, WireType.LengthDelimited).string(message.scopes[i]);
1646
3241
  let u = options.writeUnknownFields;
1647
3242
  if (u !== false)
1648
3243
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1650,40 +3245,38 @@ class GetApplicationRequest$Type extends MessageType<GetApplicationRequest> {
1650
3245
  }
1651
3246
  }
1652
3247
  /**
1653
- * @generated MessageType for protobuf message sid.v1.projects.GetApplicationRequest
3248
+ * @generated MessageType for protobuf message sid.v1.projects.ScopeList
1654
3249
  */
1655
- export const GetApplicationRequest = new GetApplicationRequest$Type();
3250
+ export const ScopeList = new ScopeList$Type();
1656
3251
  // @generated message type with reflection information, may provide speed optimized methods
1657
- class ListApplicationsRequest$Type extends MessageType<ListApplicationsRequest> {
3252
+ class UpdateResourceRoleRequest$Type extends MessageType<UpdateResourceRoleRequest> {
1658
3253
  constructor() {
1659
- super("sid.v1.projects.ListApplicationsRequest", [
1660
- { no: 1, name: "project_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1661
- { no: 2, name: "page_size", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
1662
- { no: 3, name: "page_token", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
3254
+ super("sid.v1.projects.UpdateResourceRoleRequest", [
3255
+ { no: 1, name: "resource_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
3256
+ { no: 2, name: "scopes", kind: "message", T: () => ScopeList },
3257
+ { no: 3, name: "state", kind: "enum", opt: true, T: () => ["sid.v1.projects.ResourceState", ResourceState, "RESOURCE_STATE_"] }
1663
3258
  ]);
1664
3259
  }
1665
- create(value?: PartialMessage<ListApplicationsRequest>): ListApplicationsRequest {
3260
+ create(value?: PartialMessage<UpdateResourceRoleRequest>): UpdateResourceRoleRequest {
1666
3261
  const message = globalThis.Object.create((this.messagePrototype!));
1667
- message.projectId = "";
1668
- message.pageSize = 0;
1669
- message.pageToken = "";
3262
+ message.resourceId = "";
1670
3263
  if (value !== undefined)
1671
- reflectionMergePartial<ListApplicationsRequest>(this, message, value);
3264
+ reflectionMergePartial<UpdateResourceRoleRequest>(this, message, value);
1672
3265
  return message;
1673
3266
  }
1674
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListApplicationsRequest): ListApplicationsRequest {
3267
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateResourceRoleRequest): UpdateResourceRoleRequest {
1675
3268
  let message = target ?? this.create(), end = reader.pos + length;
1676
3269
  while (reader.pos < end) {
1677
3270
  let [fieldNo, wireType] = reader.tag();
1678
3271
  switch (fieldNo) {
1679
- case /* string project_id */ 1:
1680
- message.projectId = reader.string();
3272
+ case /* string resource_id */ 1:
3273
+ message.resourceId = reader.string();
1681
3274
  break;
1682
- case /* int32 page_size */ 2:
1683
- message.pageSize = reader.int32();
3275
+ case /* optional sid.v1.projects.ScopeList scopes */ 2:
3276
+ message.scopes = ScopeList.internalBinaryRead(reader, reader.uint32(), options, message.scopes);
1684
3277
  break;
1685
- case /* string page_token */ 3:
1686
- message.pageToken = reader.string();
3278
+ case /* optional sid.v1.projects.ResourceState state */ 3:
3279
+ message.state = reader.int32();
1687
3280
  break;
1688
3281
  default:
1689
3282
  let u = options.readUnknownField;
@@ -1696,16 +3289,16 @@ class ListApplicationsRequest$Type extends MessageType<ListApplicationsRequest>
1696
3289
  }
1697
3290
  return message;
1698
3291
  }
1699
- internalBinaryWrite(message: ListApplicationsRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1700
- /* string project_id = 1; */
1701
- if (message.projectId !== "")
1702
- writer.tag(1, WireType.LengthDelimited).string(message.projectId);
1703
- /* int32 page_size = 2; */
1704
- if (message.pageSize !== 0)
1705
- writer.tag(2, WireType.Varint).int32(message.pageSize);
1706
- /* string page_token = 3; */
1707
- if (message.pageToken !== "")
1708
- writer.tag(3, WireType.LengthDelimited).string(message.pageToken);
3292
+ internalBinaryWrite(message: UpdateResourceRoleRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
3293
+ /* string resource_id = 1; */
3294
+ if (message.resourceId !== "")
3295
+ writer.tag(1, WireType.LengthDelimited).string(message.resourceId);
3296
+ /* optional sid.v1.projects.ScopeList scopes = 2; */
3297
+ if (message.scopes)
3298
+ ScopeList.internalBinaryWrite(message.scopes, writer.tag(2, WireType.LengthDelimited).fork(), options).join();
3299
+ /* optional sid.v1.projects.ResourceState state = 3; */
3300
+ if (message.state !== undefined)
3301
+ writer.tag(3, WireType.Varint).int32(message.state);
1709
3302
  let u = options.writeUnknownFields;
1710
3303
  if (u !== false)
1711
3304
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1713,35 +3306,40 @@ class ListApplicationsRequest$Type extends MessageType<ListApplicationsRequest>
1713
3306
  }
1714
3307
  }
1715
3308
  /**
1716
- * @generated MessageType for protobuf message sid.v1.projects.ListApplicationsRequest
3309
+ * @generated MessageType for protobuf message sid.v1.projects.UpdateResourceRoleRequest
1717
3310
  */
1718
- export const ListApplicationsRequest = new ListApplicationsRequest$Type();
3311
+ export const UpdateResourceRoleRequest = new UpdateResourceRoleRequest$Type();
1719
3312
  // @generated message type with reflection information, may provide speed optimized methods
1720
- class ListApplicationsResponse$Type extends MessageType<ListApplicationsResponse> {
3313
+ class SetResourceAccessRequest$Type extends MessageType<SetResourceAccessRequest> {
1721
3314
  constructor() {
1722
- super("sid.v1.projects.ListApplicationsResponse", [
1723
- { no: 1, name: "applications", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Application },
1724
- { no: 2, name: "next_page_token", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
3315
+ super("sid.v1.projects.SetResourceAccessRequest", [
3316
+ { no: 1, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
3317
+ { no: 2, name: "resource_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
3318
+ { no: 3, name: "scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
1725
3319
  ]);
1726
3320
  }
1727
- create(value?: PartialMessage<ListApplicationsResponse>): ListApplicationsResponse {
3321
+ create(value?: PartialMessage<SetResourceAccessRequest>): SetResourceAccessRequest {
1728
3322
  const message = globalThis.Object.create((this.messagePrototype!));
1729
- message.applications = [];
1730
- message.nextPageToken = "";
3323
+ message.clientId = "";
3324
+ message.resourceId = "";
3325
+ message.scopes = [];
1731
3326
  if (value !== undefined)
1732
- reflectionMergePartial<ListApplicationsResponse>(this, message, value);
3327
+ reflectionMergePartial<SetResourceAccessRequest>(this, message, value);
1733
3328
  return message;
1734
3329
  }
1735
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListApplicationsResponse): ListApplicationsResponse {
3330
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: SetResourceAccessRequest): SetResourceAccessRequest {
1736
3331
  let message = target ?? this.create(), end = reader.pos + length;
1737
3332
  while (reader.pos < end) {
1738
3333
  let [fieldNo, wireType] = reader.tag();
1739
3334
  switch (fieldNo) {
1740
- case /* repeated sid.v1.projects.Application applications */ 1:
1741
- message.applications.push(Application.internalBinaryRead(reader, reader.uint32(), options));
3335
+ case /* string client_id */ 1:
3336
+ message.clientId = reader.string();
1742
3337
  break;
1743
- case /* string next_page_token */ 2:
1744
- message.nextPageToken = reader.string();
3338
+ case /* string resource_id */ 2:
3339
+ message.resourceId = reader.string();
3340
+ break;
3341
+ case /* repeated string scopes */ 3:
3342
+ message.scopes.push(reader.string());
1745
3343
  break;
1746
3344
  default:
1747
3345
  let u = options.readUnknownField;
@@ -1754,13 +3352,16 @@ class ListApplicationsResponse$Type extends MessageType<ListApplicationsResponse
1754
3352
  }
1755
3353
  return message;
1756
3354
  }
1757
- internalBinaryWrite(message: ListApplicationsResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1758
- /* repeated sid.v1.projects.Application applications = 1; */
1759
- for (let i = 0; i < message.applications.length; i++)
1760
- Application.internalBinaryWrite(message.applications[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
1761
- /* string next_page_token = 2; */
1762
- if (message.nextPageToken !== "")
1763
- writer.tag(2, WireType.LengthDelimited).string(message.nextPageToken);
3355
+ internalBinaryWrite(message: SetResourceAccessRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
3356
+ /* string client_id = 1; */
3357
+ if (message.clientId !== "")
3358
+ writer.tag(1, WireType.LengthDelimited).string(message.clientId);
3359
+ /* string resource_id = 2; */
3360
+ if (message.resourceId !== "")
3361
+ writer.tag(2, WireType.LengthDelimited).string(message.resourceId);
3362
+ /* repeated string scopes = 3; */
3363
+ for (let i = 0; i < message.scopes.length; i++)
3364
+ writer.tag(3, WireType.LengthDelimited).string(message.scopes[i]);
1764
3365
  let u = options.writeUnknownFields;
1765
3366
  if (u !== false)
1766
3367
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1768,33 +3369,26 @@ class ListApplicationsResponse$Type extends MessageType<ListApplicationsResponse
1768
3369
  }
1769
3370
  }
1770
3371
  /**
1771
- * @generated MessageType for protobuf message sid.v1.projects.ListApplicationsResponse
3372
+ * @generated MessageType for protobuf message sid.v1.projects.SetResourceAccessRequest
1772
3373
  */
1773
- export const ListApplicationsResponse = new ListApplicationsResponse$Type();
3374
+ export const SetResourceAccessRequest = new SetResourceAccessRequest$Type();
1774
3375
  // @generated message type with reflection information, may provide speed optimized methods
1775
- class UpdateApplicationRequest$Type extends MessageType<UpdateApplicationRequest> {
3376
+ class RemoveResourceAccessRequest$Type extends MessageType<RemoveResourceAccessRequest> {
1776
3377
  constructor() {
1777
- super("sid.v1.projects.UpdateApplicationRequest", [
3378
+ super("sid.v1.projects.RemoveResourceAccessRequest", [
1778
3379
  { no: 1, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
1779
- { no: 2, name: "name", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
1780
- { no: 3, name: "redirect_uris", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1781
- { no: 4, name: "allowed_scopes", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1782
- { no: 5, name: "grant_types", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
1783
- { no: 6, name: "active", kind: "scalar", opt: true, T: 8 /*ScalarType.BOOL*/ },
1784
- { no: 7, name: "subject_type", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ }
3380
+ { no: 2, name: "resource_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
1785
3381
  ]);
1786
3382
  }
1787
- create(value?: PartialMessage<UpdateApplicationRequest>): UpdateApplicationRequest {
3383
+ create(value?: PartialMessage<RemoveResourceAccessRequest>): RemoveResourceAccessRequest {
1788
3384
  const message = globalThis.Object.create((this.messagePrototype!));
1789
3385
  message.clientId = "";
1790
- message.redirectUris = [];
1791
- message.allowedScopes = [];
1792
- message.grantTypes = [];
3386
+ message.resourceId = "";
1793
3387
  if (value !== undefined)
1794
- reflectionMergePartial<UpdateApplicationRequest>(this, message, value);
3388
+ reflectionMergePartial<RemoveResourceAccessRequest>(this, message, value);
1795
3389
  return message;
1796
3390
  }
1797
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: UpdateApplicationRequest): UpdateApplicationRequest {
3391
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: RemoveResourceAccessRequest): RemoveResourceAccessRequest {
1798
3392
  let message = target ?? this.create(), end = reader.pos + length;
1799
3393
  while (reader.pos < end) {
1800
3394
  let [fieldNo, wireType] = reader.tag();
@@ -1802,23 +3396,8 @@ class UpdateApplicationRequest$Type extends MessageType<UpdateApplicationRequest
1802
3396
  case /* string client_id */ 1:
1803
3397
  message.clientId = reader.string();
1804
3398
  break;
1805
- case /* optional string name */ 2:
1806
- message.name = reader.string();
1807
- break;
1808
- case /* repeated string redirect_uris */ 3:
1809
- message.redirectUris.push(reader.string());
1810
- break;
1811
- case /* repeated string allowed_scopes */ 4:
1812
- message.allowedScopes.push(reader.string());
1813
- break;
1814
- case /* repeated string grant_types */ 5:
1815
- message.grantTypes.push(reader.string());
1816
- break;
1817
- case /* optional bool active */ 6:
1818
- message.active = reader.bool();
1819
- break;
1820
- case /* optional string subject_type */ 7:
1821
- message.subjectType = reader.string();
3399
+ case /* string resource_id */ 2:
3400
+ message.resourceId = reader.string();
1822
3401
  break;
1823
3402
  default:
1824
3403
  let u = options.readUnknownField;
@@ -1831,28 +3410,13 @@ class UpdateApplicationRequest$Type extends MessageType<UpdateApplicationRequest
1831
3410
  }
1832
3411
  return message;
1833
3412
  }
1834
- internalBinaryWrite(message: UpdateApplicationRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
3413
+ internalBinaryWrite(message: RemoveResourceAccessRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1835
3414
  /* string client_id = 1; */
1836
3415
  if (message.clientId !== "")
1837
3416
  writer.tag(1, WireType.LengthDelimited).string(message.clientId);
1838
- /* optional string name = 2; */
1839
- if (message.name !== undefined)
1840
- writer.tag(2, WireType.LengthDelimited).string(message.name);
1841
- /* repeated string redirect_uris = 3; */
1842
- for (let i = 0; i < message.redirectUris.length; i++)
1843
- writer.tag(3, WireType.LengthDelimited).string(message.redirectUris[i]);
1844
- /* repeated string allowed_scopes = 4; */
1845
- for (let i = 0; i < message.allowedScopes.length; i++)
1846
- writer.tag(4, WireType.LengthDelimited).string(message.allowedScopes[i]);
1847
- /* repeated string grant_types = 5; */
1848
- for (let i = 0; i < message.grantTypes.length; i++)
1849
- writer.tag(5, WireType.LengthDelimited).string(message.grantTypes[i]);
1850
- /* optional bool active = 6; */
1851
- if (message.active !== undefined)
1852
- writer.tag(6, WireType.Varint).bool(message.active);
1853
- /* optional string subject_type = 7; */
1854
- if (message.subjectType !== undefined)
1855
- writer.tag(7, WireType.LengthDelimited).string(message.subjectType);
3417
+ /* string resource_id = 2; */
3418
+ if (message.resourceId !== "")
3419
+ writer.tag(2, WireType.LengthDelimited).string(message.resourceId);
1856
3420
  let u = options.writeUnknownFields;
1857
3421
  if (u !== false)
1858
3422
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1860,30 +3424,40 @@ class UpdateApplicationRequest$Type extends MessageType<UpdateApplicationRequest
1860
3424
  }
1861
3425
  }
1862
3426
  /**
1863
- * @generated MessageType for protobuf message sid.v1.projects.UpdateApplicationRequest
3427
+ * @generated MessageType for protobuf message sid.v1.projects.RemoveResourceAccessRequest
1864
3428
  */
1865
- export const UpdateApplicationRequest = new UpdateApplicationRequest$Type();
3429
+ export const RemoveResourceAccessRequest = new RemoveResourceAccessRequest$Type();
1866
3430
  // @generated message type with reflection information, may provide speed optimized methods
1867
- class DeleteApplicationRequest$Type extends MessageType<DeleteApplicationRequest> {
3431
+ class ListResourceAccessRequest$Type extends MessageType<ListResourceAccessRequest> {
1868
3432
  constructor() {
1869
- super("sid.v1.projects.DeleteApplicationRequest", [
1870
- { no: 1, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
3433
+ super("sid.v1.projects.ListResourceAccessRequest", [
3434
+ { no: 1, name: "client_id", kind: "scalar", oneof: "subject", T: 9 /*ScalarType.STRING*/ },
3435
+ { no: 2, name: "resource_id", kind: "scalar", oneof: "subject", T: 9 /*ScalarType.STRING*/ }
1871
3436
  ]);
1872
3437
  }
1873
- create(value?: PartialMessage<DeleteApplicationRequest>): DeleteApplicationRequest {
3438
+ create(value?: PartialMessage<ListResourceAccessRequest>): ListResourceAccessRequest {
1874
3439
  const message = globalThis.Object.create((this.messagePrototype!));
1875
- message.clientId = "";
3440
+ message.subject = { oneofKind: undefined };
1876
3441
  if (value !== undefined)
1877
- reflectionMergePartial<DeleteApplicationRequest>(this, message, value);
3442
+ reflectionMergePartial<ListResourceAccessRequest>(this, message, value);
1878
3443
  return message;
1879
3444
  }
1880
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: DeleteApplicationRequest): DeleteApplicationRequest {
3445
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListResourceAccessRequest): ListResourceAccessRequest {
1881
3446
  let message = target ?? this.create(), end = reader.pos + length;
1882
3447
  while (reader.pos < end) {
1883
3448
  let [fieldNo, wireType] = reader.tag();
1884
3449
  switch (fieldNo) {
1885
3450
  case /* string client_id */ 1:
1886
- message.clientId = reader.string();
3451
+ message.subject = {
3452
+ oneofKind: "clientId",
3453
+ clientId: reader.string()
3454
+ };
3455
+ break;
3456
+ case /* string resource_id */ 2:
3457
+ message.subject = {
3458
+ oneofKind: "resourceId",
3459
+ resourceId: reader.string()
3460
+ };
1887
3461
  break;
1888
3462
  default:
1889
3463
  let u = options.readUnknownField;
@@ -1896,10 +3470,13 @@ class DeleteApplicationRequest$Type extends MessageType<DeleteApplicationRequest
1896
3470
  }
1897
3471
  return message;
1898
3472
  }
1899
- internalBinaryWrite(message: DeleteApplicationRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
3473
+ internalBinaryWrite(message: ListResourceAccessRequest, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
1900
3474
  /* string client_id = 1; */
1901
- if (message.clientId !== "")
1902
- writer.tag(1, WireType.LengthDelimited).string(message.clientId);
3475
+ if (message.subject.oneofKind === "clientId")
3476
+ writer.tag(1, WireType.LengthDelimited).string(message.subject.clientId);
3477
+ /* string resource_id = 2; */
3478
+ if (message.subject.oneofKind === "resourceId")
3479
+ writer.tag(2, WireType.LengthDelimited).string(message.subject.resourceId);
1903
3480
  let u = options.writeUnknownFields;
1904
3481
  if (u !== false)
1905
3482
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -1907,9 +3484,56 @@ class DeleteApplicationRequest$Type extends MessageType<DeleteApplicationRequest
1907
3484
  }
1908
3485
  }
1909
3486
  /**
1910
- * @generated MessageType for protobuf message sid.v1.projects.DeleteApplicationRequest
3487
+ * @generated MessageType for protobuf message sid.v1.projects.ListResourceAccessRequest
1911
3488
  */
1912
- export const DeleteApplicationRequest = new DeleteApplicationRequest$Type();
3489
+ export const ListResourceAccessRequest = new ListResourceAccessRequest$Type();
3490
+ // @generated message type with reflection information, may provide speed optimized methods
3491
+ class ListResourceAccessResponse$Type extends MessageType<ListResourceAccessResponse> {
3492
+ constructor() {
3493
+ super("sid.v1.projects.ListResourceAccessResponse", [
3494
+ { no: 1, name: "access", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => ResourceAccess }
3495
+ ]);
3496
+ }
3497
+ create(value?: PartialMessage<ListResourceAccessResponse>): ListResourceAccessResponse {
3498
+ const message = globalThis.Object.create((this.messagePrototype!));
3499
+ message.access = [];
3500
+ if (value !== undefined)
3501
+ reflectionMergePartial<ListResourceAccessResponse>(this, message, value);
3502
+ return message;
3503
+ }
3504
+ internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: ListResourceAccessResponse): ListResourceAccessResponse {
3505
+ let message = target ?? this.create(), end = reader.pos + length;
3506
+ while (reader.pos < end) {
3507
+ let [fieldNo, wireType] = reader.tag();
3508
+ switch (fieldNo) {
3509
+ case /* repeated sid.v1.projects.ResourceAccess access */ 1:
3510
+ message.access.push(ResourceAccess.internalBinaryRead(reader, reader.uint32(), options));
3511
+ break;
3512
+ default:
3513
+ let u = options.readUnknownField;
3514
+ if (u === "throw")
3515
+ throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
3516
+ let d = reader.skip(wireType);
3517
+ if (u !== false)
3518
+ (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
3519
+ }
3520
+ }
3521
+ return message;
3522
+ }
3523
+ internalBinaryWrite(message: ListResourceAccessResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
3524
+ /* repeated sid.v1.projects.ResourceAccess access = 1; */
3525
+ for (let i = 0; i < message.access.length; i++)
3526
+ ResourceAccess.internalBinaryWrite(message.access[i], writer.tag(1, WireType.LengthDelimited).fork(), options).join();
3527
+ let u = options.writeUnknownFields;
3528
+ if (u !== false)
3529
+ (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
3530
+ return writer;
3531
+ }
3532
+ }
3533
+ /**
3534
+ * @generated MessageType for protobuf message sid.v1.projects.ListResourceAccessResponse
3535
+ */
3536
+ export const ListResourceAccessResponse = new ListResourceAccessResponse$Type();
1913
3537
  // @generated message type with reflection information, may provide speed optimized methods
1914
3538
  class AddRoleRequest$Type extends MessageType<AddRoleRequest> {
1915
3539
  constructor() {
@@ -2063,7 +3687,10 @@ class RegisterClientRequest$Type extends MessageType<RegisterClientRequest> {
2063
3687
  { no: 7, name: "subject_type", kind: "enum", T: () => ["sid.v1.projects.SubjectType", SubjectType, "SUBJECT_TYPE_"] },
2064
3688
  { no: 8, name: "sector_identifier_uri", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
2065
3689
  { no: 9, name: "contacts", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
2066
- { no: 10, name: "scope", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
3690
+ { no: 10, name: "scope", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
3691
+ { no: 11, name: "issuer_handle", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
3692
+ { no: 12, name: "jwks", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
3693
+ { no: 13, name: "post_logout_redirect_uris", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
2067
3694
  ]);
2068
3695
  }
2069
3696
  create(value?: PartialMessage<RegisterClientRequest>): RegisterClientRequest {
@@ -2077,6 +3704,8 @@ class RegisterClientRequest$Type extends MessageType<RegisterClientRequest> {
2077
3704
  message.subjectType = 0;
2078
3705
  message.contacts = [];
2079
3706
  message.scope = [];
3707
+ message.issuerHandle = "";
3708
+ message.postLogoutRedirectUris = [];
2080
3709
  if (value !== undefined)
2081
3710
  reflectionMergePartial<RegisterClientRequest>(this, message, value);
2082
3711
  return message;
@@ -2116,6 +3745,15 @@ class RegisterClientRequest$Type extends MessageType<RegisterClientRequest> {
2116
3745
  case /* repeated string scope */ 10:
2117
3746
  message.scope.push(reader.string());
2118
3747
  break;
3748
+ case /* string issuer_handle */ 11:
3749
+ message.issuerHandle = reader.string();
3750
+ break;
3751
+ case /* optional string jwks */ 12:
3752
+ message.jwks = reader.string();
3753
+ break;
3754
+ case /* repeated string post_logout_redirect_uris */ 13:
3755
+ message.postLogoutRedirectUris.push(reader.string());
3756
+ break;
2119
3757
  default:
2120
3758
  let u = options.readUnknownField;
2121
3759
  if (u === "throw")
@@ -2158,6 +3796,15 @@ class RegisterClientRequest$Type extends MessageType<RegisterClientRequest> {
2158
3796
  /* repeated string scope = 10; */
2159
3797
  for (let i = 0; i < message.scope.length; i++)
2160
3798
  writer.tag(10, WireType.LengthDelimited).string(message.scope[i]);
3799
+ /* string issuer_handle = 11; */
3800
+ if (message.issuerHandle !== "")
3801
+ writer.tag(11, WireType.LengthDelimited).string(message.issuerHandle);
3802
+ /* optional string jwks = 12; */
3803
+ if (message.jwks !== undefined)
3804
+ writer.tag(12, WireType.LengthDelimited).string(message.jwks);
3805
+ /* repeated string post_logout_redirect_uris = 13; */
3806
+ for (let i = 0; i < message.postLogoutRedirectUris.length; i++)
3807
+ writer.tag(13, WireType.LengthDelimited).string(message.postLogoutRedirectUris[i]);
2161
3808
  let u = options.writeUnknownFields;
2162
3809
  if (u !== false)
2163
3810
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -2172,7 +3819,7 @@ export const RegisterClientRequest = new RegisterClientRequest$Type();
2172
3819
  class RegisterClientResponse$Type extends MessageType<RegisterClientResponse> {
2173
3820
  constructor() {
2174
3821
  super("sid.v1.projects.RegisterClientResponse", [
2175
- { no: 1, name: "application", kind: "message", T: () => Application },
3822
+ { no: 1, name: "client", kind: "message", T: () => OAuthClient },
2176
3823
  { no: 2, name: "client_secret", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
2177
3824
  { no: 3, name: "registration_access_token", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
2178
3825
  ]);
@@ -2189,8 +3836,8 @@ class RegisterClientResponse$Type extends MessageType<RegisterClientResponse> {
2189
3836
  while (reader.pos < end) {
2190
3837
  let [fieldNo, wireType] = reader.tag();
2191
3838
  switch (fieldNo) {
2192
- case /* sid.v1.projects.Application application */ 1:
2193
- message.application = Application.internalBinaryRead(reader, reader.uint32(), options, message.application);
3839
+ case /* sid.v1.projects.OAuthClient client */ 1:
3840
+ message.client = OAuthClient.internalBinaryRead(reader, reader.uint32(), options, message.client);
2194
3841
  break;
2195
3842
  case /* optional string client_secret */ 2:
2196
3843
  message.clientSecret = reader.string();
@@ -2210,9 +3857,9 @@ class RegisterClientResponse$Type extends MessageType<RegisterClientResponse> {
2210
3857
  return message;
2211
3858
  }
2212
3859
  internalBinaryWrite(message: RegisterClientResponse, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
2213
- /* sid.v1.projects.Application application = 1; */
2214
- if (message.application)
2215
- Application.internalBinaryWrite(message.application, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
3860
+ /* sid.v1.projects.OAuthClient client = 1; */
3861
+ if (message.client)
3862
+ OAuthClient.internalBinaryWrite(message.client, writer.tag(1, WireType.LengthDelimited).fork(), options).join();
2216
3863
  /* optional string client_secret = 2; */
2217
3864
  if (message.clientSecret !== undefined)
2218
3865
  writer.tag(2, WireType.LengthDelimited).string(message.clientSecret);
@@ -2233,12 +3880,14 @@ export const RegisterClientResponse = new RegisterClientResponse$Type();
2233
3880
  class GetRegisteredClientRequest$Type extends MessageType<GetRegisteredClientRequest> {
2234
3881
  constructor() {
2235
3882
  super("sid.v1.projects.GetRegisteredClientRequest", [
2236
- { no: 1, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
3883
+ { no: 1, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
3884
+ { no: 2, name: "issuer_handle", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
2237
3885
  ]);
2238
3886
  }
2239
3887
  create(value?: PartialMessage<GetRegisteredClientRequest>): GetRegisteredClientRequest {
2240
3888
  const message = globalThis.Object.create((this.messagePrototype!));
2241
3889
  message.clientId = "";
3890
+ message.issuerHandle = "";
2242
3891
  if (value !== undefined)
2243
3892
  reflectionMergePartial<GetRegisteredClientRequest>(this, message, value);
2244
3893
  return message;
@@ -2251,6 +3900,9 @@ class GetRegisteredClientRequest$Type extends MessageType<GetRegisteredClientReq
2251
3900
  case /* string client_id */ 1:
2252
3901
  message.clientId = reader.string();
2253
3902
  break;
3903
+ case /* string issuer_handle */ 2:
3904
+ message.issuerHandle = reader.string();
3905
+ break;
2254
3906
  default:
2255
3907
  let u = options.readUnknownField;
2256
3908
  if (u === "throw")
@@ -2266,6 +3918,9 @@ class GetRegisteredClientRequest$Type extends MessageType<GetRegisteredClientReq
2266
3918
  /* string client_id = 1; */
2267
3919
  if (message.clientId !== "")
2268
3920
  writer.tag(1, WireType.LengthDelimited).string(message.clientId);
3921
+ /* string issuer_handle = 2; */
3922
+ if (message.issuerHandle !== "")
3923
+ writer.tag(2, WireType.LengthDelimited).string(message.issuerHandle);
2269
3924
  let u = options.writeUnknownFields;
2270
3925
  if (u !== false)
2271
3926
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -2289,7 +3944,11 @@ class UpdateRegisteredClientRequest$Type extends MessageType<UpdateRegisteredCli
2289
3944
  { no: 7, name: "subject_type", kind: "enum", opt: true, T: () => ["sid.v1.projects.SubjectType", SubjectType, "SUBJECT_TYPE_"] },
2290
3945
  { no: 8, name: "sector_identifier_uri", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
2291
3946
  { no: 9, name: "contacts", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
2292
- { no: 10, name: "scope", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
3947
+ { no: 10, name: "scope", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ },
3948
+ { no: 11, name: "issuer_handle", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
3949
+ { no: 12, name: "client_secret", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
3950
+ { no: 13, name: "jwks", kind: "scalar", opt: true, T: 9 /*ScalarType.STRING*/ },
3951
+ { no: 14, name: "post_logout_redirect_uris", kind: "scalar", repeat: 2 /*RepeatType.UNPACKED*/, T: 9 /*ScalarType.STRING*/ }
2293
3952
  ]);
2294
3953
  }
2295
3954
  create(value?: PartialMessage<UpdateRegisteredClientRequest>): UpdateRegisteredClientRequest {
@@ -2300,6 +3959,8 @@ class UpdateRegisteredClientRequest$Type extends MessageType<UpdateRegisteredCli
2300
3959
  message.responseTypes = [];
2301
3960
  message.contacts = [];
2302
3961
  message.scope = [];
3962
+ message.issuerHandle = "";
3963
+ message.postLogoutRedirectUris = [];
2303
3964
  if (value !== undefined)
2304
3965
  reflectionMergePartial<UpdateRegisteredClientRequest>(this, message, value);
2305
3966
  return message;
@@ -2339,6 +4000,18 @@ class UpdateRegisteredClientRequest$Type extends MessageType<UpdateRegisteredCli
2339
4000
  case /* repeated string scope */ 10:
2340
4001
  message.scope.push(reader.string());
2341
4002
  break;
4003
+ case /* string issuer_handle */ 11:
4004
+ message.issuerHandle = reader.string();
4005
+ break;
4006
+ case /* optional string client_secret */ 12:
4007
+ message.clientSecret = reader.string();
4008
+ break;
4009
+ case /* optional string jwks */ 13:
4010
+ message.jwks = reader.string();
4011
+ break;
4012
+ case /* repeated string post_logout_redirect_uris */ 14:
4013
+ message.postLogoutRedirectUris.push(reader.string());
4014
+ break;
2342
4015
  default:
2343
4016
  let u = options.readUnknownField;
2344
4017
  if (u === "throw")
@@ -2381,6 +4054,18 @@ class UpdateRegisteredClientRequest$Type extends MessageType<UpdateRegisteredCli
2381
4054
  /* repeated string scope = 10; */
2382
4055
  for (let i = 0; i < message.scope.length; i++)
2383
4056
  writer.tag(10, WireType.LengthDelimited).string(message.scope[i]);
4057
+ /* string issuer_handle = 11; */
4058
+ if (message.issuerHandle !== "")
4059
+ writer.tag(11, WireType.LengthDelimited).string(message.issuerHandle);
4060
+ /* optional string client_secret = 12; */
4061
+ if (message.clientSecret !== undefined)
4062
+ writer.tag(12, WireType.LengthDelimited).string(message.clientSecret);
4063
+ /* optional string jwks = 13; */
4064
+ if (message.jwks !== undefined)
4065
+ writer.tag(13, WireType.LengthDelimited).string(message.jwks);
4066
+ /* repeated string post_logout_redirect_uris = 14; */
4067
+ for (let i = 0; i < message.postLogoutRedirectUris.length; i++)
4068
+ writer.tag(14, WireType.LengthDelimited).string(message.postLogoutRedirectUris[i]);
2384
4069
  let u = options.writeUnknownFields;
2385
4070
  if (u !== false)
2386
4071
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -2395,12 +4080,14 @@ export const UpdateRegisteredClientRequest = new UpdateRegisteredClientRequest$T
2395
4080
  class DeleteRegisteredClientRequest$Type extends MessageType<DeleteRegisteredClientRequest> {
2396
4081
  constructor() {
2397
4082
  super("sid.v1.projects.DeleteRegisteredClientRequest", [
2398
- { no: 1, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
4083
+ { no: 1, name: "client_id", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
4084
+ { no: 2, name: "issuer_handle", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
2399
4085
  ]);
2400
4086
  }
2401
4087
  create(value?: PartialMessage<DeleteRegisteredClientRequest>): DeleteRegisteredClientRequest {
2402
4088
  const message = globalThis.Object.create((this.messagePrototype!));
2403
4089
  message.clientId = "";
4090
+ message.issuerHandle = "";
2404
4091
  if (value !== undefined)
2405
4092
  reflectionMergePartial<DeleteRegisteredClientRequest>(this, message, value);
2406
4093
  return message;
@@ -2413,6 +4100,9 @@ class DeleteRegisteredClientRequest$Type extends MessageType<DeleteRegisteredCli
2413
4100
  case /* string client_id */ 1:
2414
4101
  message.clientId = reader.string();
2415
4102
  break;
4103
+ case /* string issuer_handle */ 2:
4104
+ message.issuerHandle = reader.string();
4105
+ break;
2416
4106
  default:
2417
4107
  let u = options.readUnknownField;
2418
4108
  if (u === "throw")
@@ -2428,6 +4118,9 @@ class DeleteRegisteredClientRequest$Type extends MessageType<DeleteRegisteredCli
2428
4118
  /* string client_id = 1; */
2429
4119
  if (message.clientId !== "")
2430
4120
  writer.tag(1, WireType.LengthDelimited).string(message.clientId);
4121
+ /* string issuer_handle = 2; */
4122
+ if (message.issuerHandle !== "")
4123
+ writer.tag(2, WireType.LengthDelimited).string(message.issuerHandle);
2431
4124
  let u = options.writeUnknownFields;
2432
4125
  if (u !== false)
2433
4126
  (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
@@ -2729,17 +4422,24 @@ export const ProjectService = new ServiceType("sid.v1.projects.ProjectService",
2729
4422
  { name: "ListProjects", idempotency: "NO_SIDE_EFFECTS", options: { "google.api.http": { get: "/v1/projects" } }, I: ListProjectsRequest, O: ListProjectsResponse },
2730
4423
  { name: "UpdateProject", idempotency: "IDEMPOTENT", options: { "google.api.http": { patch: "/v1/projects/{id}", body: "*" } }, I: UpdateProjectRequest, O: Project },
2731
4424
  { name: "DeleteProject", idempotency: "IDEMPOTENT", options: { "google.api.http": { delete: "/v1/projects/{id}" } }, I: DeleteProjectRequest, O: Empty },
2732
- { name: "CreateApplication", idempotency: "IDEMPOTENT", options: { "google.api.http": { post: "/v1/projects/{project_id}/applications", body: "*" } }, I: CreateApplicationRequest, O: CreateApplicationResponse },
2733
- { name: "GetApplication", idempotency: "NO_SIDE_EFFECTS", options: { "google.api.http": { get: "/v1/projects/applications/{client_id}" } }, I: GetApplicationRequest, O: Application },
4425
+ { name: "CreateApplication", options: { "google.api.http": { post: "/v1/projects/{project_id}/applications", body: "*" } }, I: CreateApplicationRequest, O: CreateApplicationResponse },
4426
+ { name: "GetApplication", idempotency: "NO_SIDE_EFFECTS", options: { "google.api.http": { get: "/v1/applications/{id}" } }, I: GetApplicationRequest, O: Application },
2734
4427
  { name: "ListApplications", idempotency: "NO_SIDE_EFFECTS", options: { "google.api.http": { get: "/v1/projects/{project_id}/applications" } }, I: ListApplicationsRequest, O: ListApplicationsResponse },
2735
- { name: "UpdateApplication", idempotency: "IDEMPOTENT", options: { "google.api.http": { patch: "/v1/projects/applications/{client_id}", body: "*" } }, I: UpdateApplicationRequest, O: Application },
2736
- { name: "DeleteApplication", idempotency: "IDEMPOTENT", options: { "google.api.http": { delete: "/v1/projects/applications/{client_id}" } }, I: DeleteApplicationRequest, O: Empty },
4428
+ { name: "UpdateApplication", idempotency: "IDEMPOTENT", options: { "google.api.http": { patch: "/v1/applications/{id}", body: "*" } }, I: UpdateApplicationRequest, O: Application },
4429
+ { name: "DeleteApplication", idempotency: "IDEMPOTENT", options: { "google.api.http": { delete: "/v1/applications/{id}" } }, I: DeleteApplicationRequest, O: Empty },
4430
+ { name: "AddClientRole", options: { "google.api.http": { post: "/v1/applications/{application_id}/client", body: "*" } }, I: AddClientRoleRequest, O: CreateApplicationResponse },
4431
+ { name: "UpdateClientRole", idempotency: "IDEMPOTENT", options: { "google.api.http": { patch: "/v1/clients/{client_id}", body: "*" } }, I: UpdateClientRoleRequest, O: Application },
4432
+ { name: "AddResourceRole", options: { "google.api.http": { post: "/v1/applications/{application_id}/resource", body: "*" } }, I: AddResourceRoleRequest, O: Application },
4433
+ { name: "UpdateResourceRole", idempotency: "IDEMPOTENT", options: { "google.api.http": { patch: "/v1/resources/{resource_id}", body: "*" } }, I: UpdateResourceRoleRequest, O: ProtectedResource },
4434
+ { name: "SetResourceAccess", idempotency: "IDEMPOTENT", options: { "google.api.http": { put: "/v1/clients/{client_id}/resources/{resource_id}", body: "*" } }, I: SetResourceAccessRequest, O: ResourceAccess },
4435
+ { name: "RemoveResourceAccess", idempotency: "IDEMPOTENT", options: { "google.api.http": { delete: "/v1/clients/{client_id}/resources/{resource_id}" } }, I: RemoveResourceAccessRequest, O: Empty },
4436
+ { name: "ListResourceAccess", idempotency: "NO_SIDE_EFFECTS", options: { "google.api.http": { get: "/v1/clients/{client_id}/resources", additionalBindings: [{ get: "/v1/resources/{resource_id}/clients" }] } }, I: ListResourceAccessRequest, O: ListResourceAccessResponse },
2737
4437
  { name: "AddRole", idempotency: "IDEMPOTENT", options: { "google.api.http": { post: "/v1/projects/{project_id}/roles", body: "*" } }, I: AddRoleRequest, O: Role },
2738
4438
  { name: "RemoveRole", idempotency: "IDEMPOTENT", options: { "google.api.http": { delete: "/v1/projects/{project_id}/roles/{role_id}" } }, I: RemoveRoleRequest, O: Empty },
2739
- { name: "RegisterClient", idempotency: "IDEMPOTENT", options: { "google.api.http": { post: "/v1/projects/dcr/register", body: "*" } }, I: RegisterClientRequest, O: RegisterClientResponse },
2740
- { name: "GetRegisteredClient", idempotency: "NO_SIDE_EFFECTS", options: { "google.api.http": { get: "/v1/projects/dcr/clients/{client_id}" } }, I: GetRegisteredClientRequest, O: Application },
2741
- { name: "UpdateRegisteredClient", idempotency: "IDEMPOTENT", options: { "google.api.http": { put: "/v1/projects/dcr/clients/{client_id}", body: "*" } }, I: UpdateRegisteredClientRequest, O: Application },
2742
- { name: "DeleteRegisteredClient", idempotency: "IDEMPOTENT", options: { "google.api.http": { delete: "/v1/projects/dcr/clients/{client_id}" } }, I: DeleteRegisteredClientRequest, O: Empty },
4439
+ { name: "RegisterClient", options: {}, I: RegisterClientRequest, O: RegisterClientResponse },
4440
+ { name: "GetRegisteredClient", idempotency: "NO_SIDE_EFFECTS", options: {}, I: GetRegisteredClientRequest, O: OAuthClient },
4441
+ { name: "UpdateRegisteredClient", idempotency: "IDEMPOTENT", options: {}, I: UpdateRegisteredClientRequest, O: OAuthClient },
4442
+ { name: "DeleteRegisteredClient", idempotency: "IDEMPOTENT", options: {}, I: DeleteRegisteredClientRequest, O: Empty },
2743
4443
  { name: "CreateInitialAccessToken", idempotency: "IDEMPOTENT", options: { "google.api.http": { post: "/v1/projects/{project_id}/iat", body: "*" } }, I: CreateInitialAccessTokenRequest, O: CreateInitialAccessTokenResponse },
2744
4444
  { name: "ListInitialAccessTokens", idempotency: "NO_SIDE_EFFECTS", options: { "google.api.http": { get: "/v1/projects/{project_id}/iat" } }, I: ListInitialAccessTokensRequest, O: ListInitialAccessTokensResponse },
2745
4445
  { name: "RevokeInitialAccessToken", idempotency: "IDEMPOTENT", options: { "google.api.http": { delete: "/v1/projects/iat/{id}" } }, I: RevokeInitialAccessTokenRequest, O: Empty }