@stigmer/protos 0.0.72 → 0.0.73

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 (160) hide show
  1. package/ai/stigmer/agentic/agent/v1/command_pb.js +2 -2
  2. package/ai/stigmer/agentic/agent/v1/command_pb.js.map +1 -1
  3. package/ai/stigmer/agentic/agent/v1/query_pb.js +2 -2
  4. package/ai/stigmer/agentic/agent/v1/query_pb.js.map +1 -1
  5. package/ai/stigmer/agentic/agentexecution/v1/command_pb.js +2 -2
  6. package/ai/stigmer/agentic/agentexecution/v1/command_pb.js.map +1 -1
  7. package/ai/stigmer/agentic/agentexecution/v1/query_connect.d.ts +2 -8
  8. package/ai/stigmer/agentic/agentexecution/v1/query_connect.js +2 -8
  9. package/ai/stigmer/agentic/agentexecution/v1/query_connect.js.map +1 -1
  10. package/ai/stigmer/agentic/agentexecution/v1/query_pb.d.ts +2 -8
  11. package/ai/stigmer/agentic/agentexecution/v1/query_pb.js +2 -2
  12. package/ai/stigmer/agentic/agentexecution/v1/query_pb.js.map +1 -1
  13. package/ai/stigmer/agentic/agentinstance/v1/command_pb.js +2 -2
  14. package/ai/stigmer/agentic/agentinstance/v1/command_pb.js.map +1 -1
  15. package/ai/stigmer/agentic/agentinstance/v1/query_pb.js +2 -2
  16. package/ai/stigmer/agentic/agentinstance/v1/query_pb.js.map +1 -1
  17. package/ai/stigmer/agentic/environment/v1/command_pb.js +2 -2
  18. package/ai/stigmer/agentic/environment/v1/command_pb.js.map +1 -1
  19. package/ai/stigmer/agentic/environment/v1/query_pb.js +2 -2
  20. package/ai/stigmer/agentic/environment/v1/query_pb.js.map +1 -1
  21. package/ai/stigmer/agentic/executioncontext/v1/command_pb.js +2 -2
  22. package/ai/stigmer/agentic/executioncontext/v1/command_pb.js.map +1 -1
  23. package/ai/stigmer/agentic/executioncontext/v1/query_pb.js +2 -2
  24. package/ai/stigmer/agentic/executioncontext/v1/query_pb.js.map +1 -1
  25. package/ai/stigmer/agentic/mcpserver/v1/command_pb.js +2 -2
  26. package/ai/stigmer/agentic/mcpserver/v1/command_pb.js.map +1 -1
  27. package/ai/stigmer/agentic/mcpserver/v1/query_pb.js +2 -2
  28. package/ai/stigmer/agentic/mcpserver/v1/query_pb.js.map +1 -1
  29. package/ai/stigmer/agentic/session/v1/command_pb.js +2 -2
  30. package/ai/stigmer/agentic/session/v1/command_pb.js.map +1 -1
  31. package/ai/stigmer/agentic/session/v1/query_pb.js +2 -2
  32. package/ai/stigmer/agentic/session/v1/query_pb.js.map +1 -1
  33. package/ai/stigmer/agentic/skill/v1/command_pb.js +2 -2
  34. package/ai/stigmer/agentic/skill/v1/command_pb.js.map +1 -1
  35. package/ai/stigmer/agentic/skill/v1/query_pb.js +2 -2
  36. package/ai/stigmer/agentic/skill/v1/query_pb.js.map +1 -1
  37. package/ai/stigmer/agentic/workflow/v1/command_pb.js +2 -2
  38. package/ai/stigmer/agentic/workflow/v1/command_pb.js.map +1 -1
  39. package/ai/stigmer/agentic/workflow/v1/query_pb.js +2 -2
  40. package/ai/stigmer/agentic/workflow/v1/query_pb.js.map +1 -1
  41. package/ai/stigmer/agentic/workflowexecution/v1/command_pb.js +2 -2
  42. package/ai/stigmer/agentic/workflowexecution/v1/command_pb.js.map +1 -1
  43. package/ai/stigmer/agentic/workflowexecution/v1/query_pb.js +2 -2
  44. package/ai/stigmer/agentic/workflowexecution/v1/query_pb.js.map +1 -1
  45. package/ai/stigmer/agentic/workflowinstance/v1/command_pb.js +2 -2
  46. package/ai/stigmer/agentic/workflowinstance/v1/command_pb.js.map +1 -1
  47. package/ai/stigmer/agentic/workflowinstance/v1/query_pb.js +2 -2
  48. package/ai/stigmer/agentic/workflowinstance/v1/query_pb.js.map +1 -1
  49. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.d.ts +6 -0
  50. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js +7 -1
  51. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js.map +1 -1
  52. package/ai/stigmer/commons/apiresource/apiresourcekind/authorization_config_pb.d.ts +28 -0
  53. package/ai/stigmer/commons/apiresource/apiresourcekind/authorization_config_pb.js +2 -1
  54. package/ai/stigmer/commons/apiresource/apiresourcekind/authorization_config_pb.js.map +1 -1
  55. package/ai/stigmer/{iam/iampolicy/v1/rpcauthorization/io_pb.d.ts → commons/rpc/authorization_config_pb.d.ts} +9 -9
  56. package/ai/stigmer/commons/rpc/authorization_config_pb.js +16 -0
  57. package/ai/stigmer/commons/rpc/authorization_config_pb.js.map +1 -0
  58. package/ai/stigmer/{iam/iampolicy/v1/rpcauthorization → commons/rpc}/method_options_pb.d.ts +4 -4
  59. package/ai/stigmer/commons/rpc/method_options_pb.js +29 -0
  60. package/ai/stigmer/commons/rpc/method_options_pb.js.map +1 -0
  61. package/ai/stigmer/iam/apikey/v1/command_pb.js +2 -2
  62. package/ai/stigmer/iam/apikey/v1/command_pb.js.map +1 -1
  63. package/ai/stigmer/iam/apikey/v1/query_pb.js +2 -2
  64. package/ai/stigmer/iam/apikey/v1/query_pb.js.map +1 -1
  65. package/ai/stigmer/iam/iampolicy/v1/command_connect.d.ts +33 -0
  66. package/ai/stigmer/iam/iampolicy/v1/command_connect.js +33 -0
  67. package/ai/stigmer/iam/iampolicy/v1/command_connect.js.map +1 -1
  68. package/ai/stigmer/iam/iampolicy/v1/command_pb.d.ts +33 -0
  69. package/ai/stigmer/iam/iampolicy/v1/command_pb.js +3 -2
  70. package/ai/stigmer/iam/iampolicy/v1/command_pb.js.map +1 -1
  71. package/ai/stigmer/iam/iampolicy/v1/query_connect.d.ts +66 -0
  72. package/ai/stigmer/iam/iampolicy/v1/query_connect.js +66 -0
  73. package/ai/stigmer/iam/iampolicy/v1/query_connect.js.map +1 -1
  74. package/ai/stigmer/iam/iampolicy/v1/query_pb.d.ts +64 -1
  75. package/ai/stigmer/iam/iampolicy/v1/query_pb.js +2 -2
  76. package/ai/stigmer/iam/iampolicy/v1/query_pb.js.map +1 -1
  77. package/ai/stigmer/iam/iampolicy/v1/spec_pb.d.ts +1 -1
  78. package/ai/stigmer/iam/identityaccount/v1/command_connect.d.ts +61 -1
  79. package/ai/stigmer/iam/identityaccount/v1/command_connect.js +61 -1
  80. package/ai/stigmer/iam/identityaccount/v1/command_connect.js.map +1 -1
  81. package/ai/stigmer/iam/identityaccount/v1/command_pb.d.ts +59 -2
  82. package/ai/stigmer/iam/identityaccount/v1/command_pb.js +2 -2
  83. package/ai/stigmer/iam/identityaccount/v1/command_pb.js.map +1 -1
  84. package/ai/stigmer/iam/identityaccount/v1/enum_pb.d.ts +1 -1
  85. package/ai/stigmer/iam/identityaccount/v1/enum_pb.js +1 -1
  86. package/ai/stigmer/iam/identityaccount/v1/io_pb.d.ts +219 -0
  87. package/ai/stigmer/iam/identityaccount/v1/io_pb.js +22 -1
  88. package/ai/stigmer/iam/identityaccount/v1/io_pb.js.map +1 -1
  89. package/ai/stigmer/iam/identityaccount/v1/query_connect.d.ts +26 -2
  90. package/ai/stigmer/iam/identityaccount/v1/query_connect.js +26 -2
  91. package/ai/stigmer/iam/identityaccount/v1/query_connect.js.map +1 -1
  92. package/ai/stigmer/iam/identityaccount/v1/query_pb.d.ts +26 -3
  93. package/ai/stigmer/iam/identityaccount/v1/query_pb.js +2 -2
  94. package/ai/stigmer/iam/identityaccount/v1/query_pb.js.map +1 -1
  95. package/ai/stigmer/iam/identityaccount/v1/spec_pb.d.ts +9 -7
  96. package/ai/stigmer/iam/identityaccount/v1/spec_pb.js.map +1 -1
  97. package/ai/stigmer/iam/identityprovider/v1/command_pb.js +2 -2
  98. package/ai/stigmer/iam/identityprovider/v1/command_pb.js.map +1 -1
  99. package/ai/stigmer/iam/identityprovider/v1/io_pb.d.ts +88 -0
  100. package/ai/stigmer/iam/identityprovider/v1/io_pb.js +16 -1
  101. package/ai/stigmer/iam/identityprovider/v1/io_pb.js.map +1 -1
  102. package/ai/stigmer/iam/identityprovider/v1/query_connect.d.ts +39 -0
  103. package/ai/stigmer/iam/identityprovider/v1/query_connect.js +39 -0
  104. package/ai/stigmer/iam/identityprovider/v1/query_connect.js.map +1 -1
  105. package/ai/stigmer/iam/identityprovider/v1/query_pb.d.ts +38 -0
  106. package/ai/stigmer/iam/identityprovider/v1/query_pb.js +3 -2
  107. package/ai/stigmer/iam/identityprovider/v1/query_pb.js.map +1 -1
  108. package/ai/stigmer/iam/identityprovider/v1/spec_pb.d.ts +60 -7
  109. package/ai/stigmer/iam/identityprovider/v1/spec_pb.js +1 -1
  110. package/ai/stigmer/iam/identityprovider/v1/spec_pb.js.map +1 -1
  111. package/ai/stigmer/iam/invitation/v1/api_pb.d.ts +132 -0
  112. package/ai/stigmer/iam/invitation/v1/api_pb.js +30 -0
  113. package/ai/stigmer/iam/invitation/v1/api_pb.js.map +1 -0
  114. package/ai/stigmer/iam/invitation/v1/command_connect.d.ts +79 -0
  115. package/ai/stigmer/iam/invitation/v1/command_connect.js +85 -0
  116. package/ai/stigmer/iam/invitation/v1/command_connect.js.map +1 -0
  117. package/ai/stigmer/iam/invitation/v1/command_pb.d.ts +80 -0
  118. package/ai/stigmer/iam/invitation/v1/command_pb.js +19 -0
  119. package/ai/stigmer/iam/invitation/v1/command_pb.js.map +1 -0
  120. package/ai/stigmer/iam/invitation/v1/enum_pb.d.ts +49 -0
  121. package/ai/stigmer/iam/invitation/v1/enum_pb.js +54 -0
  122. package/ai/stigmer/iam/invitation/v1/enum_pb.js.map +1 -0
  123. package/ai/stigmer/iam/invitation/v1/io_pb.d.ts +173 -0
  124. package/ai/stigmer/iam/invitation/v1/io_pb.js +43 -0
  125. package/ai/stigmer/iam/invitation/v1/io_pb.js.map +1 -0
  126. package/ai/stigmer/iam/invitation/v1/query_connect.d.ts +68 -0
  127. package/ai/stigmer/iam/invitation/v1/query_connect.js +74 -0
  128. package/ai/stigmer/iam/invitation/v1/query_connect.js.map +1 -0
  129. package/ai/stigmer/iam/invitation/v1/query_pb.d.ts +69 -0
  130. package/ai/stigmer/iam/invitation/v1/query_pb.js +19 -0
  131. package/ai/stigmer/iam/invitation/v1/query_pb.js.map +1 -0
  132. package/ai/stigmer/iam/invitation/v1/spec_pb.d.ts +77 -0
  133. package/ai/stigmer/iam/invitation/v1/spec_pb.js +17 -0
  134. package/ai/stigmer/iam/invitation/v1/spec_pb.js.map +1 -0
  135. package/ai/stigmer/iam/v1/enum_pb.d.ts +177 -0
  136. package/ai/stigmer/iam/v1/enum_pb.js +183 -0
  137. package/ai/stigmer/iam/v1/enum_pb.js.map +1 -0
  138. package/ai/stigmer/platform/github/v1/service_pb.js +2 -2
  139. package/ai/stigmer/platform/github/v1/service_pb.js.map +1 -1
  140. package/ai/stigmer/search/v1/io_pb.d.ts +15 -0
  141. package/ai/stigmer/search/v1/io_pb.js +1 -1
  142. package/ai/stigmer/search/v1/io_pb.js.map +1 -1
  143. package/ai/stigmer/search/v1/query_pb.js +2 -2
  144. package/ai/stigmer/search/v1/query_pb.js.map +1 -1
  145. package/ai/stigmer/tenancy/organization/v1/command_pb.js +2 -2
  146. package/ai/stigmer/tenancy/organization/v1/command_pb.js.map +1 -1
  147. package/ai/stigmer/tenancy/organization/v1/query_pb.js +2 -2
  148. package/ai/stigmer/tenancy/organization/v1/query_pb.js.map +1 -1
  149. package/ai/stigmer/tenancy/project/v1/command_pb.js +2 -2
  150. package/ai/stigmer/tenancy/project/v1/command_pb.js.map +1 -1
  151. package/ai/stigmer/tenancy/project/v1/query_pb.js +2 -2
  152. package/ai/stigmer/tenancy/project/v1/query_pb.js.map +1 -1
  153. package/package.json +1 -1
  154. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/iam_permission_pb.d.ts +0 -198
  155. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/iam_permission_pb.js +0 -203
  156. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/iam_permission_pb.js.map +0 -1
  157. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/io_pb.js +0 -16
  158. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/io_pb.js.map +0 -1
  159. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/method_options_pb.js +0 -29
  160. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/method_options_pb.js.map +0 -1
@@ -1,4 +1,5 @@
1
1
  import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
2
+ import type { ApiResourceReference } from "../../../commons/apiresource/io_pb";
2
3
  import type { PageInfo } from "../../../commons/rpc/pagination_pb";
3
4
  import type { IdentityAccount } from "./api_pb";
4
5
  import type { Message } from "@bufbuild/protobuf";
@@ -150,3 +151,221 @@ export type ListWithIdentityOrg = Message<"ai.stigmer.iam.identityaccount.v1.Lis
150
151
  * Use `create(ListWithIdentityOrgSchema)` to create a new message.
151
152
  */
152
153
  export declare const ListWithIdentityOrgSchema: GenMessage<ListWithIdentityOrg>;
154
+ /**
155
+ * ExternalSubLookup identifies a federated identity account by its identity provider
156
+ * reference and external subject identifier (OIDC sub claim).
157
+ *
158
+ * Used by platform backends to check whether a federated account already exists
159
+ * before calling createFederatedAccount.
160
+ *
161
+ * @generated from message ai.stigmer.iam.identityaccount.v1.ExternalSubLookup
162
+ */
163
+ export type ExternalSubLookup = Message<"ai.stigmer.iam.identityaccount.v1.ExternalSubLookup"> & {
164
+ /**
165
+ * Organization that owns the identity provider.
166
+ * Used as the authorization scope: caller must have can_create_identity_account
167
+ * permission on this organization.
168
+ *
169
+ * @generated from field: string org = 1;
170
+ */
171
+ org: string;
172
+ /**
173
+ * Reference to the IdentityProvider that the federated account belongs to.
174
+ *
175
+ * @generated from field: ai.stigmer.commons.apiresource.ApiResourceReference identity_provider_ref = 2;
176
+ */
177
+ identityProviderRef?: ApiResourceReference;
178
+ /**
179
+ * External subject identifier from the platform's OIDC provider.
180
+ * The raw OIDC sub claim (e.g., "google-oauth2|109876543210").
181
+ *
182
+ * @generated from field: string external_sub = 3;
183
+ */
184
+ externalSub: string;
185
+ };
186
+ /**
187
+ * Describes the message ai.stigmer.iam.identityaccount.v1.ExternalSubLookup.
188
+ * Use `create(ExternalSubLookupSchema)` to create a new message.
189
+ */
190
+ export declare const ExternalSubLookupSchema: GenMessage<ExternalSubLookup>;
191
+ /**
192
+ * CreateFederatedAccountInput is the command for creating a federated identity account
193
+ * linked to an external platform's identity provider.
194
+ *
195
+ * Called by platform backends (via API key) when a new user signs up on their platform.
196
+ * The platform provides the user's OIDC subject identifier and profile data.
197
+ * The account must be created before the user can authenticate via the IdP.
198
+ *
199
+ * @generated from message ai.stigmer.iam.identityaccount.v1.CreateFederatedAccountInput
200
+ */
201
+ export type CreateFederatedAccountInput = Message<"ai.stigmer.iam.identityaccount.v1.CreateFederatedAccountInput"> & {
202
+ /**
203
+ * Organization that owns the identity provider.
204
+ * Used as the authorization scope: caller must have can_create_identity_account
205
+ * permission on this organization.
206
+ * Must match identity_provider_ref.org (when identity_provider_ref.org is non-empty).
207
+ *
208
+ * @generated from field: string org = 1;
209
+ */
210
+ org: string;
211
+ /**
212
+ * Reference to the IdentityProvider that this federated account belongs to.
213
+ * The IdP must exist and belong to the specified org.
214
+ *
215
+ * @generated from field: ai.stigmer.commons.apiresource.ApiResourceReference identity_provider_ref = 2;
216
+ */
217
+ identityProviderRef?: ApiResourceReference;
218
+ /**
219
+ * External subject identifier from the platform's OIDC provider.
220
+ * The raw OIDC sub claim (e.g., "google-oauth2|109876543210").
221
+ * Stored as-is without any prefix transformation.
222
+ * Must match the sub claim in JWTs issued by this IdP for authentication to work.
223
+ *
224
+ * @generated from field: string external_sub = 3;
225
+ */
226
+ externalSub: string;
227
+ /**
228
+ * Email address of the user.
229
+ *
230
+ * @generated from field: string email = 4;
231
+ */
232
+ email: string;
233
+ /**
234
+ * First name of the user.
235
+ *
236
+ * @generated from field: string first_name = 5;
237
+ */
238
+ firstName: string;
239
+ /**
240
+ * Last name of the user.
241
+ *
242
+ * @generated from field: string last_name = 6;
243
+ */
244
+ lastName: string;
245
+ /**
246
+ * URL of the user's profile picture.
247
+ *
248
+ * @generated from field: string picture_url = 7;
249
+ */
250
+ pictureUrl: string;
251
+ };
252
+ /**
253
+ * Describes the message ai.stigmer.iam.identityaccount.v1.CreateFederatedAccountInput.
254
+ * Use `create(CreateFederatedAccountInputSchema)` to create a new message.
255
+ */
256
+ export declare const CreateFederatedAccountInputSchema: GenMessage<CreateFederatedAccountInput>;
257
+ /**
258
+ * UpdateFederatedAccountInput is the command for updating profile fields on a
259
+ * federated identity account identified by its natural key (identity provider
260
+ * reference + external subject).
261
+ *
262
+ * Called by platform backends when a user's profile changes on their platform
263
+ * (e.g., name update, email change). Uses full-replace semantics: all profile
264
+ * fields must be provided. Identity keys (org, identity_provider_ref, external_sub)
265
+ * are immutable and used only for lookup.
266
+ *
267
+ * @generated from message ai.stigmer.iam.identityaccount.v1.UpdateFederatedAccountInput
268
+ */
269
+ export type UpdateFederatedAccountInput = Message<"ai.stigmer.iam.identityaccount.v1.UpdateFederatedAccountInput"> & {
270
+ /**
271
+ * Organization that owns the identity provider.
272
+ * Used as the authorization scope: caller must have can_create_identity_account
273
+ * permission on this organization.
274
+ *
275
+ * @generated from field: string org = 1;
276
+ */
277
+ org: string;
278
+ /**
279
+ * Reference to the IdentityProvider that the federated account belongs to.
280
+ *
281
+ * @generated from field: ai.stigmer.commons.apiresource.ApiResourceReference identity_provider_ref = 2;
282
+ */
283
+ identityProviderRef?: ApiResourceReference;
284
+ /**
285
+ * External subject identifier (OIDC sub claim) — lookup key, not updatable.
286
+ *
287
+ * @generated from field: string external_sub = 3;
288
+ */
289
+ externalSub: string;
290
+ /**
291
+ * Updated email address.
292
+ *
293
+ * @generated from field: string email = 4;
294
+ */
295
+ email: string;
296
+ /**
297
+ * Updated first name.
298
+ *
299
+ * @generated from field: string first_name = 5;
300
+ */
301
+ firstName: string;
302
+ /**
303
+ * Updated last name.
304
+ *
305
+ * @generated from field: string last_name = 6;
306
+ */
307
+ lastName: string;
308
+ /**
309
+ * Updated profile picture URL.
310
+ *
311
+ * @generated from field: string picture_url = 7;
312
+ */
313
+ pictureUrl: string;
314
+ };
315
+ /**
316
+ * Describes the message ai.stigmer.iam.identityaccount.v1.UpdateFederatedAccountInput.
317
+ * Use `create(UpdateFederatedAccountInputSchema)` to create a new message.
318
+ */
319
+ export declare const UpdateFederatedAccountInputSchema: GenMessage<UpdateFederatedAccountInput>;
320
+ /**
321
+ * DeprovisionFederatedAccountInput is the command for revoking a federated
322
+ * identity account's access, with an option to delete the account entirely.
323
+ *
324
+ * Called by platform backends when a user is removed from their platform
325
+ * (e.g., employee offboarding, account suspension). Uses the natural key
326
+ * (identity provider reference + external subject) for lookup.
327
+ *
328
+ * Two modes:
329
+ * - Revoke only (delete_account = false): removes all IAM policies for the
330
+ * account in the organization. The identity account is preserved for audit
331
+ * trail. The user loses access but the account record remains.
332
+ * - Revoke and delete (delete_account = true): revokes access AND deletes
333
+ * the identity account. All IAM policies across all organizations are
334
+ * cleaned up. Use this for permanent offboarding.
335
+ *
336
+ * @generated from message ai.stigmer.iam.identityaccount.v1.DeprovisionFederatedAccountInput
337
+ */
338
+ export type DeprovisionFederatedAccountInput = Message<"ai.stigmer.iam.identityaccount.v1.DeprovisionFederatedAccountInput"> & {
339
+ /**
340
+ * Organization that owns the identity provider.
341
+ * Used as the authorization scope: caller must have can_create_identity_account
342
+ * permission on this organization.
343
+ *
344
+ * @generated from field: string org = 1;
345
+ */
346
+ org: string;
347
+ /**
348
+ * Reference to the IdentityProvider that the federated account belongs to.
349
+ *
350
+ * @generated from field: ai.stigmer.commons.apiresource.ApiResourceReference identity_provider_ref = 2;
351
+ */
352
+ identityProviderRef?: ApiResourceReference;
353
+ /**
354
+ * External subject identifier (OIDC sub claim) — lookup key.
355
+ *
356
+ * @generated from field: string external_sub = 3;
357
+ */
358
+ externalSub: string;
359
+ /**
360
+ * When false (default): revoke the account's access in this organization only.
361
+ * When true: revoke access AND permanently delete the identity account.
362
+ *
363
+ * @generated from field: bool delete_account = 4;
364
+ */
365
+ deleteAccount: boolean;
366
+ };
367
+ /**
368
+ * Describes the message ai.stigmer.iam.identityaccount.v1.DeprovisionFederatedAccountInput.
369
+ * Use `create(DeprovisionFederatedAccountInputSchema)` to create a new message.
370
+ */
371
+ export declare const DeprovisionFederatedAccountInputSchema: GenMessage<DeprovisionFederatedAccountInput>;
@@ -2,13 +2,14 @@
2
2
  // @generated from file ai/stigmer/iam/identityaccount/v1/io.proto (package ai.stigmer.iam.identityaccount.v1, syntax proto3)
3
3
  /* eslint-disable */
4
4
  import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
5
+ import { file_ai_stigmer_commons_apiresource_io } from "../../../commons/apiresource/io_pb";
5
6
  import { file_ai_stigmer_commons_rpc_pagination } from "../../../commons/rpc/pagination_pb";
6
7
  import { file_ai_stigmer_iam_identityaccount_v1_api } from "./api_pb";
7
8
  import { file_buf_validate_validate } from "../../../../../buf/validate/validate_pb";
8
9
  /**
9
10
  * Describes the file ai/stigmer/iam/identityaccount/v1/io.proto.
10
11
  */
11
- export const file_ai_stigmer_iam_identityaccount_v1_io = /*@__PURE__*/ fileDesc("CiphaS9zdGlnbWVyL2lhbS9pZGVudGl0eWFjY291bnQvdjEvaW8ucHJvdG8SIWFpLnN0aWdtZXIuaWFtLmlkZW50aXR5YWNjb3VudC52MSJXChBJZGVudGl0eUFjY291bnRzEkMKB2VudHJpZXMYASADKAsyMi5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRlbnRpdHlBY2NvdW50IioKEUlkZW50aXR5QWNjb3VudElkEhUKBXZhbHVlGAEgASgJQga6SAPIAQEiLQoUSWRlbnRpdHlBY2NvdW50RW1haWwSFQoFdmFsdWUYASABKAlCBrpIA8gBASIeCgVJZHBJZBIVCgV2YWx1ZRgBIAEoCUIGukgDyAEBImsKHExpc3RXaXRoSWRlbnRpdHlBY2NvdW50SWRSZXESGwoTaWRlbnRpdHlfYWNjb3VudF9pZBgBIAEoCRIuCgRwYWdlGAIgASgLMiAuYWkuc3RpZ21lci5jb21tb25zLnJwYy5QYWdlSW5mbyJwChRJZGVudGl0eUFjY291bnRzTGlzdBITCgt0b3RhbF9wYWdlcxgBIAEoBRJDCgdlbnRyaWVzGAIgAygLMjIuYWkuc3RpZ21lci5pYW0uaWRlbnRpdHlhY2NvdW50LnYxLklkZW50aXR5QWNjb3VudCJSChNMaXN0V2l0aElkZW50aXR5T3JnEgsKA29yZxgBIAEoCRIuCgRwYWdlGAIgASgLMiAuYWkuc3RpZ21lci5jb21tb25zLnJwYy5QYWdlSW5mb2IGcHJvdG8z", [file_ai_stigmer_commons_rpc_pagination, file_ai_stigmer_iam_identityaccount_v1_api, file_buf_validate_validate]);
12
+ export const file_ai_stigmer_iam_identityaccount_v1_io = /*@__PURE__*/ fileDesc("CiphaS9zdGlnbWVyL2lhbS9pZGVudGl0eWFjY291bnQvdjEvaW8ucHJvdG8SIWFpLnN0aWdtZXIuaWFtLmlkZW50aXR5YWNjb3VudC52MSJXChBJZGVudGl0eUFjY291bnRzEkMKB2VudHJpZXMYASADKAsyMi5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRlbnRpdHlBY2NvdW50IioKEUlkZW50aXR5QWNjb3VudElkEhUKBXZhbHVlGAEgASgJQga6SAPIAQEiLQoUSWRlbnRpdHlBY2NvdW50RW1haWwSFQoFdmFsdWUYASABKAlCBrpIA8gBASIeCgVJZHBJZBIVCgV2YWx1ZRgBIAEoCUIGukgDyAEBImsKHExpc3RXaXRoSWRlbnRpdHlBY2NvdW50SWRSZXESGwoTaWRlbnRpdHlfYWNjb3VudF9pZBgBIAEoCRIuCgRwYWdlGAIgASgLMiAuYWkuc3RpZ21lci5jb21tb25zLnJwYy5QYWdlSW5mbyJwChRJZGVudGl0eUFjY291bnRzTGlzdBITCgt0b3RhbF9wYWdlcxgBIAEoBRJDCgdlbnRyaWVzGAIgAygLMjIuYWkuc3RpZ21lci5pYW0uaWRlbnRpdHlhY2NvdW50LnYxLklkZW50aXR5QWNjb3VudCJSChNMaXN0V2l0aElkZW50aXR5T3JnEgsKA29yZxgBIAEoCRIuCgRwYWdlGAIgASgLMiAuYWkuc3RpZ21lci5jb21tb25zLnJwYy5QYWdlSW5mbyKbAQoRRXh0ZXJuYWxTdWJMb29rdXASEwoDb3JnGAEgASgJQga6SAPIAQESUwoVaWRlbnRpdHlfcHJvdmlkZXJfcmVmGAIgASgLMjQuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlUmVmZXJlbmNlEhwKDGV4dGVybmFsX3N1YhgDIAEoCUIGukgDyAEBIvgBChtDcmVhdGVGZWRlcmF0ZWRBY2NvdW50SW5wdXQSEwoDb3JnGAEgASgJQga6SAPIAQESUwoVaWRlbnRpdHlfcHJvdmlkZXJfcmVmGAIgASgLMjQuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlUmVmZXJlbmNlEhwKDGV4dGVybmFsX3N1YhgDIAEoCUIGukgDyAEBEhUKBWVtYWlsGAQgASgJQga6SAPIAQESEgoKZmlyc3RfbmFtZRgFIAEoCRIRCglsYXN0X25hbWUYBiABKAkSEwoLcGljdHVyZV91cmwYByABKAki+AEKG1VwZGF0ZUZlZGVyYXRlZEFjY291bnRJbnB1dBITCgNvcmcYASABKAlCBrpIA8gBARJTChVpZGVudGl0eV9wcm92aWRlcl9yZWYYAiABKAsyNC5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VSZWZlcmVuY2USHAoMZXh0ZXJuYWxfc3ViGAMgASgJQga6SAPIAQESFQoFZW1haWwYBCABKAlCBrpIA8gBARISCgpmaXJzdF9uYW1lGAUgASgJEhEKCWxhc3RfbmFtZRgGIAEoCRITCgtwaWN0dXJlX3VybBgHIAEoCSLCAQogRGVwcm92aXNpb25GZWRlcmF0ZWRBY2NvdW50SW5wdXQSEwoDb3JnGAEgASgJQga6SAPIAQESUwoVaWRlbnRpdHlfcHJvdmlkZXJfcmVmGAIgASgLMjQuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlUmVmZXJlbmNlEhwKDGV4dGVybmFsX3N1YhgDIAEoCUIGukgDyAEBEhYKDmRlbGV0ZV9hY2NvdW50GAQgASgIYgZwcm90bzM", [file_ai_stigmer_commons_apiresource_io, file_ai_stigmer_commons_rpc_pagination, file_ai_stigmer_iam_identityaccount_v1_api, file_buf_validate_validate]);
12
13
  /**
13
14
  * Describes the message ai.stigmer.iam.identityaccount.v1.IdentityAccounts.
14
15
  * Use `create(IdentityAccountsSchema)` to create a new message.
@@ -44,4 +45,24 @@ export const IdentityAccountsListSchema = /*@__PURE__*/ messageDesc(file_ai_stig
44
45
  * Use `create(ListWithIdentityOrgSchema)` to create a new message.
45
46
  */
46
47
  export const ListWithIdentityOrgSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_identityaccount_v1_io, 6);
48
+ /**
49
+ * Describes the message ai.stigmer.iam.identityaccount.v1.ExternalSubLookup.
50
+ * Use `create(ExternalSubLookupSchema)` to create a new message.
51
+ */
52
+ export const ExternalSubLookupSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_identityaccount_v1_io, 7);
53
+ /**
54
+ * Describes the message ai.stigmer.iam.identityaccount.v1.CreateFederatedAccountInput.
55
+ * Use `create(CreateFederatedAccountInputSchema)` to create a new message.
56
+ */
57
+ export const CreateFederatedAccountInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_identityaccount_v1_io, 8);
58
+ /**
59
+ * Describes the message ai.stigmer.iam.identityaccount.v1.UpdateFederatedAccountInput.
60
+ * Use `create(UpdateFederatedAccountInputSchema)` to create a new message.
61
+ */
62
+ export const UpdateFederatedAccountInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_identityaccount_v1_io, 9);
63
+ /**
64
+ * Describes the message ai.stigmer.iam.identityaccount.v1.DeprovisionFederatedAccountInput.
65
+ * Use `create(DeprovisionFederatedAccountInputSchema)` to create a new message.
66
+ */
67
+ export const DeprovisionFederatedAccountInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_identityaccount_v1_io, 10);
47
68
  //# sourceMappingURL=io_pb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"io_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityaccount/v1/io_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,6HAA6H;AAC7H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oCAAoC,CAAC;AAE5F,OAAO,EAAE,0CAA0C,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAY,aAAa,CAC7E,QAAQ,CAAC,0yBAA0yB,EAAE,CAAC,sCAAsC,EAAE,0CAA0C,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAgBz6B;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAiC,aAAa,CAC/E,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAgB5D;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAgB5D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAgB5D;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsB,aAAa,CACzD,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAuB5D;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAA6C,aAAa,CACvG,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAuB5D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAuB5D;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAoC,aAAa,CACrF,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"io_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityaccount/v1/io_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,6HAA6H;AAC7H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oCAAoC,CAAC;AAE5F,OAAO,EAAE,sCAAsC,EAAE,MAAM,oCAAoC,CAAC;AAE5F,OAAO,EAAE,0CAA0C,EAAE,MAAM,UAAU,CAAC;AACtE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAY,aAAa,CAC7E,QAAQ,CAAC,i6DAAi6D,EAAE,CAAC,sCAAsC,EAAE,sCAAsC,EAAE,0CAA0C,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAgBxkE;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAiC,aAAa,CAC/E,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAgB5D;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAgB5D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAgB5D;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAsB,aAAa,CACzD,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAuB5D;;;GAGG;AACH,MAAM,CAAC,MAAM,kCAAkC,GAA6C,aAAa,CACvG,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAuB5D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAuB5D;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAoC,aAAa,CACrF,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAqC5D;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAsE5D;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAA4C,aAAa,CACrG,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAmE5D;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAA4C,aAAa,CACrG,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC;AAqD5D;;;GAGG;AACH,MAAM,CAAC,MAAM,sCAAsC,GAAiD,aAAa,CAC/G,WAAW,CAAC,yCAAyC,EAAE,EAAE,CAAC,CAAC"}
@@ -34,7 +34,10 @@ export declare const IdentityAccountQueryController: {
34
34
  readonly kind: any;
35
35
  };
36
36
  /**
37
- * Get an identity account by email address.
37
+ * Get a direct identity account by email address.
38
+ *
39
+ * Only returns direct (non-federated) accounts. Federated accounts are not
40
+ * returned by this RPC — use getByExternalSub for IdP-scoped federated lookups.
38
41
  *
39
42
  * @generated from rpc ai.stigmer.iam.identityaccount.v1.IdentityAccountQueryController.getByEmail
40
43
  */
@@ -45,7 +48,11 @@ export declare const IdentityAccountQueryController: {
45
48
  readonly kind: any;
46
49
  };
47
50
  /**
48
- * Get an identity account by identity provider ID.
51
+ * Get an identity account by identity provider ID (Auth0 subject).
52
+ *
53
+ * Primarily used for direct and machine accounts where the IDP ID is
54
+ * the Auth0 user_id or client_id. For federated account lookups,
55
+ * use getByExternalSub which is scoped to a specific identity provider.
49
56
  *
50
57
  * @generated from rpc ai.stigmer.iam.identityaccount.v1.IdentityAccountQueryController.getByIdpId
51
58
  */
@@ -55,6 +62,23 @@ export declare const IdentityAccountQueryController: {
55
62
  readonly O: any;
56
63
  readonly kind: any;
57
64
  };
65
+ /**
66
+ * Get a federated identity account by identity provider reference and external subject.
67
+ *
68
+ * Used by platform backends to check whether a federated account already exists
69
+ * for a given OIDC subject before calling createFederatedAccount.
70
+ *
71
+ * Authorization: Requires can_create_identity_account on the organization
72
+ * that owns the identity provider.
73
+ *
74
+ * @generated from rpc ai.stigmer.iam.identityaccount.v1.IdentityAccountQueryController.getByExternalSub
75
+ */
76
+ readonly getByExternalSub: {
77
+ readonly name: "getByExternalSub";
78
+ readonly I: any;
79
+ readonly O: any;
80
+ readonly kind: any;
81
+ };
58
82
  /**
59
83
  * Get lightweight actor information for an identity account.
60
84
  *
@@ -39,7 +39,10 @@ export const IdentityAccountQueryController = {
39
39
  kind: MethodKind.Unary,
40
40
  },
41
41
  /**
42
- * Get an identity account by email address.
42
+ * Get a direct identity account by email address.
43
+ *
44
+ * Only returns direct (non-federated) accounts. Federated accounts are not
45
+ * returned by this RPC — use getByExternalSub for IdP-scoped federated lookups.
43
46
  *
44
47
  * @generated from rpc ai.stigmer.iam.identityaccount.v1.IdentityAccountQueryController.getByEmail
45
48
  */
@@ -50,7 +53,11 @@ export const IdentityAccountQueryController = {
50
53
  kind: MethodKind.Unary,
51
54
  },
52
55
  /**
53
- * Get an identity account by identity provider ID.
56
+ * Get an identity account by identity provider ID (Auth0 subject).
57
+ *
58
+ * Primarily used for direct and machine accounts where the IDP ID is
59
+ * the Auth0 user_id or client_id. For federated account lookups,
60
+ * use getByExternalSub which is scoped to a specific identity provider.
54
61
  *
55
62
  * @generated from rpc ai.stigmer.iam.identityaccount.v1.IdentityAccountQueryController.getByIdpId
56
63
  */
@@ -60,6 +67,23 @@ export const IdentityAccountQueryController = {
60
67
  O: IdentityAccount,
61
68
  kind: MethodKind.Unary,
62
69
  },
70
+ /**
71
+ * Get a federated identity account by identity provider reference and external subject.
72
+ *
73
+ * Used by platform backends to check whether a federated account already exists
74
+ * for a given OIDC subject before calling createFederatedAccount.
75
+ *
76
+ * Authorization: Requires can_create_identity_account on the organization
77
+ * that owns the identity provider.
78
+ *
79
+ * @generated from rpc ai.stigmer.iam.identityaccount.v1.IdentityAccountQueryController.getByExternalSub
80
+ */
81
+ getByExternalSub: {
82
+ name: "getByExternalSub",
83
+ I: ExternalSubLookup,
84
+ O: IdentityAccount,
85
+ kind: MethodKind.Unary,
86
+ },
63
87
  /**
64
88
  * Get lightweight actor information for an identity account.
65
89
  *
@@ -1 +1 @@
1
- {"version":3,"file":"query_connect.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityaccount/v1/query_connect.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,gIAAgI;AAChI,oBAAoB;AACpB,cAAc;AAId,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,QAAQ,EAAE,kEAAkE;IAC5E,OAAO,EAAE;QACP;;;;WAIG;QACH,GAAG,EAAE;YACH,IAAI,EAAE,KAAK;YACX,CAAC,EAAE,iBAAiB;YACpB,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;WASG;QACH,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;WAIG;QACH,UAAU,EAAE;YACV,IAAI,EAAE,YAAY;YAClB,CAAC,EAAE,oBAAoB;YACvB,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;WAIG;QACH,UAAU,EAAE;YACV,IAAI,EAAE,YAAY;YAClB,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;;;;WAmBG;QACH,YAAY,EAAE;YACZ,IAAI,EAAE,cAAc;YACpB,CAAC,EAAE,iBAAiB;YACpB,CAAC,EAAE,qBAAqB;YACxB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;KACF;CACO,CAAC"}
1
+ {"version":3,"file":"query_connect.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityaccount/v1/query_connect.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,gIAAgI;AAChI,oBAAoB;AACpB,cAAc;AAId,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGvD;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC5C,QAAQ,EAAE,kEAAkE;IAC5E,OAAO,EAAE;QACP;;;;WAIG;QACH,GAAG,EAAE;YACH,IAAI,EAAE,KAAK;YACX,CAAC,EAAE,iBAAiB;YACpB,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;WASG;QACH,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;WAOG;QACH,UAAU,EAAE;YACV,IAAI,EAAE,YAAY;YAClB,CAAC,EAAE,oBAAoB;YACvB,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;WAQG;QACH,UAAU,EAAE;YACV,IAAI,EAAE,YAAY;YAClB,CAAC,EAAE,KAAK;YACR,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;WAUG;QACH,gBAAgB,EAAE;YAChB,IAAI,EAAE,kBAAkB;YACxB,CAAC,EAAE,iBAAiB;YACpB,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;;;;WAmBG;QACH,YAAY,EAAE;YACZ,IAAI,EAAE,cAAc;YACpB,CAAC,EAAE,iBAAiB;YACpB,CAAC,EAAE,qBAAqB;YACxB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;KACF;CACO,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { GenFile, GenService } from "@bufbuild/protobuf/codegenv1";
2
2
  import type { ApiResourceAuditActorSchema } from "../../../commons/apiresource/status_pb";
3
3
  import type { IdentityAccountSchema } from "./api_pb";
4
- import type { IdentityAccountEmailSchema, IdentityAccountIdSchema, IdpIdSchema } from "./io_pb";
4
+ import type { ExternalSubLookupSchema, IdentityAccountEmailSchema, IdentityAccountIdSchema, IdpIdSchema } from "./io_pb";
5
5
  import type { EmptySchema } from "@bufbuild/protobuf/wkt";
6
6
  /**
7
7
  * Describes the file ai/stigmer/iam/identityaccount/v1/query.proto.
@@ -39,7 +39,10 @@ export declare const IdentityAccountQueryController: GenService<{
39
39
  output: typeof IdentityAccountSchema;
40
40
  };
41
41
  /**
42
- * Get an identity account by email address.
42
+ * Get a direct identity account by email address.
43
+ *
44
+ * Only returns direct (non-federated) accounts. Federated accounts are not
45
+ * returned by this RPC — use getByExternalSub for IdP-scoped federated lookups.
43
46
  *
44
47
  * @generated from rpc ai.stigmer.iam.identityaccount.v1.IdentityAccountQueryController.getByEmail
45
48
  */
@@ -49,7 +52,11 @@ export declare const IdentityAccountQueryController: GenService<{
49
52
  output: typeof IdentityAccountSchema;
50
53
  };
51
54
  /**
52
- * Get an identity account by identity provider ID.
55
+ * Get an identity account by identity provider ID (Auth0 subject).
56
+ *
57
+ * Primarily used for direct and machine accounts where the IDP ID is
58
+ * the Auth0 user_id or client_id. For federated account lookups,
59
+ * use getByExternalSub which is scoped to a specific identity provider.
53
60
  *
54
61
  * @generated from rpc ai.stigmer.iam.identityaccount.v1.IdentityAccountQueryController.getByIdpId
55
62
  */
@@ -58,6 +65,22 @@ export declare const IdentityAccountQueryController: GenService<{
58
65
  input: typeof IdpIdSchema;
59
66
  output: typeof IdentityAccountSchema;
60
67
  };
68
+ /**
69
+ * Get a federated identity account by identity provider reference and external subject.
70
+ *
71
+ * Used by platform backends to check whether a federated account already exists
72
+ * for a given OIDC subject before calling createFederatedAccount.
73
+ *
74
+ * Authorization: Requires can_create_identity_account on the organization
75
+ * that owns the identity provider.
76
+ *
77
+ * @generated from rpc ai.stigmer.iam.identityaccount.v1.IdentityAccountQueryController.getByExternalSub
78
+ */
79
+ getByExternalSub: {
80
+ methodKind: "unary";
81
+ input: typeof ExternalSubLookupSchema;
82
+ output: typeof IdentityAccountSchema;
83
+ };
61
84
  /**
62
85
  * Get lightweight actor information for an identity account.
63
86
  *
@@ -4,14 +4,14 @@
4
4
  import { fileDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
5
5
  import { file_ai_stigmer_commons_apiresource_rpc_service_options } from "../../../commons/apiresource/rpc_service_options_pb";
6
6
  import { file_ai_stigmer_commons_apiresource_status } from "../../../commons/apiresource/status_pb";
7
- import { file_ai_stigmer_iam_iampolicy_v1_rpcauthorization_method_options } from "../../iampolicy/v1/rpcauthorization/method_options_pb";
7
+ import { file_ai_stigmer_commons_rpc_method_options } from "../../../commons/rpc/method_options_pb";
8
8
  import { file_ai_stigmer_iam_identityaccount_v1_api } from "./api_pb";
9
9
  import { file_ai_stigmer_iam_identityaccount_v1_io } from "./io_pb";
10
10
  import { file_google_protobuf_empty } from "@bufbuild/protobuf/wkt";
11
11
  /**
12
12
  * Describes the file ai/stigmer/iam/identityaccount/v1/query.proto.
13
13
  */
14
- export const file_ai_stigmer_iam_identityaccount_v1_query = /*@__PURE__*/ fileDesc("Ci1haS9zdGlnbWVyL2lhbS9pZGVudGl0eWFjY291bnQvdjEvcXVlcnkucHJvdG8SIWFpLnN0aWdtZXIuaWFtLmlkZW50aXR5YWNjb3VudC52MTKuBgoeSWRlbnRpdHlBY2NvdW50UXVlcnlDb250cm9sbGVyEqYBCgNnZXQSNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRlbnRpdHlBY2NvdW50SWQaMi5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRlbnRpdHlBY2NvdW50IjXCuBgxCAMQCyIFdmFsdWUqJHVuYXV0aG9yaXplZCB0byBnZXQgaWRlbnRpdHkgYWNjb3VudBJaCgZ3aG9BbUkSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaMi5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRlbnRpdHlBY2NvdW50IgTQuBgBErABCgpnZXRCeUVtYWlsEjcuYWkuc3RpZ21lci5pYW0uaWRlbnRpdHlhY2NvdW50LnYxLklkZW50aXR5QWNjb3VudEVtYWlsGjIuYWkuc3RpZ21lci5pYW0uaWRlbnRpdHlhY2NvdW50LnYxLklkZW50aXR5QWNjb3VudCI1wrgYMQgDEAsiBXZhbHVlKiR1bmF1dGhvcml6ZWQgdG8gZ2V0IGlkZW50aXR5IGFjY291bnQSoQEKCmdldEJ5SWRwSWQSKC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRwSWQaMi5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRlbnRpdHlBY2NvdW50IjXCuBgxCAMQCyIFdmFsdWUqJHVuYXV0aG9yaXplZCB0byBnZXQgaWRlbnRpdHkgYWNjb3VudBKpAQoMZ2V0QWN0b3JJbmZvEjQuYWkuc3RpZ21lci5pYW0uaWRlbnRpdHlhY2NvdW50LnYxLklkZW50aXR5QWNjb3VudElkGjUuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlQXVkaXRBY3RvciIswrgYKAgDEAsqInVuYXV0aG9yaXplZCB0byBsb29rIHVwIGFjdG9yIGluZm8aBKD/KwtiBnByb3RvMw", [file_ai_stigmer_commons_apiresource_rpc_service_options, file_ai_stigmer_commons_apiresource_status, file_ai_stigmer_iam_iampolicy_v1_rpcauthorization_method_options, file_ai_stigmer_iam_identityaccount_v1_api, file_ai_stigmer_iam_identityaccount_v1_io, file_google_protobuf_empty]);
14
+ export const file_ai_stigmer_iam_identityaccount_v1_query = /*@__PURE__*/ fileDesc("Ci1haS9zdGlnbWVyL2lhbS9pZGVudGl0eWFjY291bnQvdjEvcXVlcnkucHJvdG8SIWFpLnN0aWdtZXIuaWFtLmlkZW50aXR5YWNjb3VudC52MTL8BwoeSWRlbnRpdHlBY2NvdW50UXVlcnlDb250cm9sbGVyEqYBCgNnZXQSNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRlbnRpdHlBY2NvdW50SWQaMi5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRlbnRpdHlBY2NvdW50IjXCuBgxCAEQCyIFdmFsdWUqJHVuYXV0aG9yaXplZCB0byBnZXQgaWRlbnRpdHkgYWNjb3VudBJaCgZ3aG9BbUkSFi5nb29nbGUucHJvdG9idWYuRW1wdHkaMi5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRlbnRpdHlBY2NvdW50IgTQuBgBErABCgpnZXRCeUVtYWlsEjcuYWkuc3RpZ21lci5pYW0uaWRlbnRpdHlhY2NvdW50LnYxLklkZW50aXR5QWNjb3VudEVtYWlsGjIuYWkuc3RpZ21lci5pYW0uaWRlbnRpdHlhY2NvdW50LnYxLklkZW50aXR5QWNjb3VudCI1wrgYMQgBEAsiBXZhbHVlKiR1bmF1dGhvcml6ZWQgdG8gZ2V0IGlkZW50aXR5IGFjY291bnQSoQEKCmdldEJ5SWRwSWQSKC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRwSWQaMi5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRlbnRpdHlBY2NvdW50IjXCuBgxCAEQCyIFdmFsdWUqJHVuYXV0aG9yaXplZCB0byBnZXQgaWRlbnRpdHkgYWNjb3VudBLLAQoQZ2V0QnlFeHRlcm5hbFN1YhI0LmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5YWNjb3VudC52MS5FeHRlcm5hbFN1Ykxvb2t1cBoyLmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5YWNjb3VudC52MS5JZGVudGl0eUFjY291bnQiTcK4GEkIFRAeIgNvcmcqPnVuYXV0aG9yaXplZCB0byBsb29rIHVwIGlkZW50aXR5IGFjY291bnRzIGluIHRoaXMgb3JnYW5pemF0aW9uEqkBCgxnZXRBY3RvckluZm8SNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eWFjY291bnQudjEuSWRlbnRpdHlBY2NvdW50SWQaNS5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VBdWRpdEFjdG9yIizCuBgoCAEQCyoidW5hdXRob3JpemVkIHRvIGxvb2sgdXAgYWN0b3IgaW5mbxoEoP8rC2IGcHJvdG8z", [file_ai_stigmer_commons_apiresource_rpc_service_options, file_ai_stigmer_commons_apiresource_status, file_ai_stigmer_commons_rpc_method_options, file_ai_stigmer_iam_identityaccount_v1_api, file_ai_stigmer_iam_identityaccount_v1_io, file_google_protobuf_empty]);
15
15
  /**
16
16
  * IdentityAccountQueryController handles read operations for identity accounts.
17
17
  *
@@ -1 +1 @@
1
- {"version":3,"file":"query_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityaccount/v1/query_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,gIAAgI;AAChI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uDAAuD,EAAE,MAAM,qDAAqD,CAAC;AAE9H,OAAO,EAAE,0CAA0C,EAAE,MAAM,wCAAwC,CAAC;AACpG,OAAO,EAAE,gEAAgE,EAAE,MAAM,uDAAuD,CAAC;AAEzI,OAAO,EAAE,0CAA0C,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,EAAE,yCAAyC,EAAE,MAAM,SAAS,CAAC;AAEpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAY,aAAa,CAChF,QAAQ,CAAC,4rCAA4rC,EAAE,CAAC,uDAAuD,EAAE,0CAA0C,EAAE,gEAAgE,EAAE,0CAA0C,EAAE,yCAAyC,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAEr+C;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GAuEtC,aAAa,CAChB,WAAW,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"query_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityaccount/v1/query_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,gIAAgI;AAChI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uDAAuD,EAAE,MAAM,qDAAqD,CAAC;AAE9H,OAAO,EAAE,0CAA0C,EAAE,MAAM,wCAAwC,CAAC;AACpG,OAAO,EAAE,0CAA0C,EAAE,MAAM,wCAAwC,CAAC;AAEpG,OAAO,EAAE,0CAA0C,EAAE,MAAM,UAAU,CAAC;AAEtE,OAAO,EAAE,yCAAyC,EAAE,MAAM,SAAS,CAAC;AAEpE,OAAO,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEpE;;GAEG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAY,aAAa,CAChF,QAAQ,CAAC,88CAA88C,EAAE,CAAC,uDAAuD,EAAE,0CAA0C,EAAE,0CAA0C,EAAE,0CAA0C,EAAE,yCAAyC,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAEjuD;;;;GAIG;AACH,MAAM,CAAC,MAAM,8BAA8B,GA8FtC,aAAa,CAChB,WAAW,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC"}
@@ -18,7 +18,8 @@ export declare const file_ai_stigmer_iam_identityaccount_v1_spec: GenFile;
18
18
  * All FGA tuples use identity_account as the principal type.
19
19
  * Provisioning details:
20
20
  * - direct: Auth0 subject ID (e.g., "auth0|abc123")
21
- * - federated: compound key "federated:{provider_id}:{external_sub}"
21
+ * - federated: raw OIDC sub claim (e.g., "google-oauth2|109876543210"),
22
+ * scoped by identity_provider_ref
22
23
  * - machine: Auth0 client ID with "@clients" suffix
23
24
  *
24
25
  * @generated from message ai.stigmer.iam.identityaccount.v1.IdentityAccountSpec
@@ -28,8 +29,9 @@ export type IdentityAccountSpec = Message<"ai.stigmer.iam.identityaccount.v1.Ide
28
29
  * IDP ID of the identity account.
29
30
  *
30
31
  * For direct accounts: the Auth0 subject ID (e.g., "auth0|abc123").
31
- * For federated accounts: a compound key ensuring global uniqueness across
32
- * identity providers (e.g., "federated:idp_01JXY:auth0|user-456").
32
+ * For federated accounts: the raw OIDC sub claim from the external identity
33
+ * provider (e.g., "google-oauth2|109876543210"). Uniqueness is scoped by
34
+ * identity_provider_ref — the pair (identity_provider_ref, idp_id) is unique.
33
35
  * For machine accounts: the Auth0 client ID with "@clients" suffix.
34
36
  *
35
37
  * @generated from field: string idp_id = 1;
@@ -38,8 +40,7 @@ export type IdentityAccountSpec = Message<"ai.stigmer.iam.identityaccount.v1.Ide
38
40
  /**
39
41
  * Email of the identity account.
40
42
  * For direct accounts: based on the email used to sign up.
41
- * For federated accounts: fetched from the IdentityProvider's UserInfo endpoint
42
- * during JIT provisioning.
43
+ * For federated accounts: provided by the platform when creating the account.
43
44
  * (ignored for create) this value is assigned by backend.
44
45
  *
45
46
  * @generated from field: string email = 2;
@@ -82,9 +83,10 @@ export type IdentityAccountSpec = Message<"ai.stigmer.iam.identityaccount.v1.Ide
82
83
  */
83
84
  provisioningMode: IdentityAccountProvisioningMode;
84
85
  /**
85
- * Reference to the IdentityProvider that provisioned this account.
86
+ * Reference to the IdentityProvider that owns this federated account.
86
87
  * Set only when provisioning_mode is FEDERATED. Identifies which external
87
- * platform's trust relationship created this account during federated auth.
88
+ * platform's identity provider scopes this account. Together with idp_id,
89
+ * forms the unique identity for federated accounts.
88
90
  * (ignored for create) this value is assigned by backend.
89
91
  *
90
92
  * @generated from field: ai.stigmer.commons.apiresource.ApiResourceReference identity_provider_ref = 8;
@@ -1 +1 @@
1
- {"version":3,"file":"spec_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityaccount/v1/spec_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,+HAA+H;AAC/H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oCAAoC,CAAC;AAE5F,OAAO,EAAE,2CAA2C,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAY,aAAa,CAC/E,QAAQ,CAAC,kjBAAkjB,EAAE,CAAC,sCAAsC,EAAE,2CAA2C,EAAE,0BAA0B,CAAC,CAAC,CAAC;AA+FlrB;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAoC,aAAa,CACrF,WAAW,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"spec_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityaccount/v1/spec_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,+HAA+H;AAC/H,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oCAAoC,CAAC;AAE5F,OAAO,EAAE,2CAA2C,EAAE,MAAM,WAAW,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,2CAA2C,GAAY,aAAa,CAC/E,QAAQ,CAAC,kjBAAkjB,EAAE,CAAC,sCAAsC,EAAE,2CAA2C,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAiGlrB;;;GAGG;AACH,MAAM,CAAC,MAAM,yBAAyB,GAAoC,aAAa,CACrF,WAAW,CAAC,2CAA2C,EAAE,CAAC,CAAC,CAAC"}
@@ -4,12 +4,12 @@
4
4
  import { fileDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
5
5
  import { file_ai_stigmer_commons_apiresource_io } from "../../../commons/apiresource/io_pb";
6
6
  import { file_ai_stigmer_commons_apiresource_rpc_service_options } from "../../../commons/apiresource/rpc_service_options_pb";
7
- import { file_ai_stigmer_iam_iampolicy_v1_rpcauthorization_method_options } from "../../iampolicy/v1/rpcauthorization/method_options_pb";
7
+ import { file_ai_stigmer_commons_rpc_method_options } from "../../../commons/rpc/method_options_pb";
8
8
  import { file_ai_stigmer_iam_identityprovider_v1_api } from "./api_pb";
9
9
  /**
10
10
  * Describes the file ai/stigmer/iam/identityprovider/v1/command.proto.
11
11
  */
12
- export const file_ai_stigmer_iam_identityprovider_v1_command = /*@__PURE__*/ fileDesc("CjBhaS9zdGlnbWVyL2lhbS9pZGVudGl0eXByb3ZpZGVyL3YxL2NvbW1hbmQucHJvdG8SImFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEy3gUKIUlkZW50aXR5UHJvdmlkZXJDb21tYW5kQ29udHJvbGxlchJzCgVhcHBseRI0LmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEuSWRlbnRpdHlQcm92aWRlcho0LmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEuSWRlbnRpdHlQcm92aWRlchLLAQoGY3JlYXRlEjQuYWkuc3RpZ21lci5pYW0uaWRlbnRpdHlwcm92aWRlci52MS5JZGVudGl0eVByb3ZpZGVyGjQuYWkuc3RpZ21lci5pYW0uaWRlbnRpdHlwcm92aWRlci52MS5JZGVudGl0eVByb3ZpZGVyIlXCuBhRCBgQHiIMbWV0YWRhdGEub3JnKj11bmF1dGhvcml6ZWQgdG8gY3JlYXRlIGlkZW50aXR5IHByb3ZpZGVyIGluIHRoaXMgb3JnYW5pemF0aW9uErUBCgZ1cGRhdGUSNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxLklkZW50aXR5UHJvdmlkZXIaNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxLklkZW50aXR5UHJvdmlkZXIiP8K4GDsIBBAVIgttZXRhZGF0YS5pZCoodW5hdXRob3JpemVkIHRvIHVwZGF0ZSBpZGVudGl0eSBwcm92aWRlchK3AQoGZGVsZXRlEjYuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlRGVsZXRlSW5wdXQaNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxLklkZW50aXR5UHJvdmlkZXIiP8K4GDsIAhAVIgtyZXNvdXJjZV9pZCoodW5hdXRob3JpemVkIHRvIGRlbGV0ZSBpZGVudGl0eSBwcm92aWRlchoEoP8rFWIGcHJvdG8z", [file_ai_stigmer_commons_apiresource_io, file_ai_stigmer_commons_apiresource_rpc_service_options, file_ai_stigmer_iam_iampolicy_v1_rpcauthorization_method_options, file_ai_stigmer_iam_identityprovider_v1_api]);
12
+ export const file_ai_stigmer_iam_identityprovider_v1_command = /*@__PURE__*/ fileDesc("CjBhaS9zdGlnbWVyL2lhbS9pZGVudGl0eXByb3ZpZGVyL3YxL2NvbW1hbmQucHJvdG8SImFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEy3gUKIUlkZW50aXR5UHJvdmlkZXJDb21tYW5kQ29udHJvbGxlchJzCgVhcHBseRI0LmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEuSWRlbnRpdHlQcm92aWRlcho0LmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEuSWRlbnRpdHlQcm92aWRlchLLAQoGY3JlYXRlEjQuYWkuc3RpZ21lci5pYW0uaWRlbnRpdHlwcm92aWRlci52MS5JZGVudGl0eVByb3ZpZGVyGjQuYWkuc3RpZ21lci5pYW0uaWRlbnRpdHlwcm92aWRlci52MS5JZGVudGl0eVByb3ZpZGVyIlXCuBhRCAsQHiIMbWV0YWRhdGEub3JnKj11bmF1dGhvcml6ZWQgdG8gY3JlYXRlIGlkZW50aXR5IHByb3ZpZGVyIGluIHRoaXMgb3JnYW5pemF0aW9uErUBCgZ1cGRhdGUSNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxLklkZW50aXR5UHJvdmlkZXIaNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxLklkZW50aXR5UHJvdmlkZXIiP8K4GDsIAhAVIgttZXRhZGF0YS5pZCoodW5hdXRob3JpemVkIHRvIHVwZGF0ZSBpZGVudGl0eSBwcm92aWRlchK3AQoGZGVsZXRlEjYuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlRGVsZXRlSW5wdXQaNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxLklkZW50aXR5UHJvdmlkZXIiP8K4GDsIAxAVIgtyZXNvdXJjZV9pZCoodW5hdXRob3JpemVkIHRvIGRlbGV0ZSBpZGVudGl0eSBwcm92aWRlchoEoP8rFWIGcHJvdG8z", [file_ai_stigmer_commons_apiresource_io, file_ai_stigmer_commons_apiresource_rpc_service_options, file_ai_stigmer_commons_rpc_method_options, file_ai_stigmer_iam_identityprovider_v1_api]);
13
13
  /**
14
14
  * IdentityProviderCommandController provides write operations for identity providers.
15
15
  *
@@ -1 +1 @@
1
- {"version":3,"file":"command_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityprovider/v1/command_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,oIAAoI;AACpI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAE,uDAAuD,EAAE,MAAM,qDAAqD,CAAC;AAC9H,OAAO,EAAE,gEAAgE,EAAE,MAAM,uDAAuD,CAAC;AAEzI,OAAO,EAAE,2CAA2C,EAAE,MAAM,UAAU,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAAY,aAAa,CACnF,QAAQ,CAAC,slCAAslC,EAAE,CAAC,sCAAsC,EAAE,uDAAuD,EAAE,gEAAgE,EAAE,2CAA2C,CAAC,CAAC,CAAC;AAErzC;;;;GAIG;AACH,MAAM,CAAC,MAAM,iCAAiC,GA+DzC,aAAa,CAChB,WAAW,CAAC,+CAA+C,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"command_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityprovider/v1/command_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,oIAAoI;AACpI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,sCAAsC,EAAE,MAAM,oCAAoC,CAAC;AAC5F,OAAO,EAAE,uDAAuD,EAAE,MAAM,qDAAqD,CAAC;AAC9H,OAAO,EAAE,0CAA0C,EAAE,MAAM,wCAAwC,CAAC;AAEpG,OAAO,EAAE,2CAA2C,EAAE,MAAM,UAAU,CAAC;AAEvE;;GAEG;AACH,MAAM,CAAC,MAAM,+CAA+C,GAAY,aAAa,CACnF,QAAQ,CAAC,slCAAslC,EAAE,CAAC,sCAAsC,EAAE,uDAAuD,EAAE,0CAA0C,EAAE,2CAA2C,CAAC,CAAC,CAAC;AAE/xC;;;;GAIG;AACH,MAAM,CAAC,MAAM,iCAAiC,GA+DzC,aAAa,CAChB,WAAW,CAAC,+CAA+C,EAAE,CAAC,CAAC,CAAC"}
@@ -65,3 +65,91 @@ export type IdentityProviderList = Message<"ai.stigmer.iam.identityprovider.v1.I
65
65
  * Use `create(IdentityProviderListSchema)` to create a new message.
66
66
  */
67
67
  export declare const IdentityProviderListSchema: GenMessage<IdentityProviderList>;
68
+ /**
69
+ * ListIdentityProvidersByOrgInput specifies the organization whose identity
70
+ * providers should be returned.
71
+ *
72
+ * @generated from message ai.stigmer.iam.identityprovider.v1.ListIdentityProvidersByOrgInput
73
+ */
74
+ export type ListIdentityProvidersByOrgInput = Message<"ai.stigmer.iam.identityprovider.v1.ListIdentityProvidersByOrgInput"> & {
75
+ /**
76
+ * Organization slug to list identity providers for.
77
+ *
78
+ * @generated from field: string org = 1;
79
+ */
80
+ org: string;
81
+ };
82
+ /**
83
+ * Describes the message ai.stigmer.iam.identityprovider.v1.ListIdentityProvidersByOrgInput.
84
+ * Use `create(ListIdentityProvidersByOrgInputSchema)` to create a new message.
85
+ */
86
+ export declare const ListIdentityProvidersByOrgInputSchema: GenMessage<ListIdentityProvidersByOrgInput>;
87
+ /**
88
+ * OrganizationSsoLookup identifies an organization for SSO provider discovery.
89
+ * Used by the web app's login page to determine whether an organization has
90
+ * SSO enabled and to retrieve the OIDC configuration needed to initiate login.
91
+ *
92
+ * @generated from message ai.stigmer.iam.identityprovider.v1.OrganizationSsoLookup
93
+ */
94
+ export type OrganizationSsoLookup = Message<"ai.stigmer.iam.identityprovider.v1.OrganizationSsoLookup"> & {
95
+ /**
96
+ * Organization slug to look up SSO configuration for.
97
+ *
98
+ * @generated from field: string org = 1;
99
+ */
100
+ org: string;
101
+ };
102
+ /**
103
+ * Describes the message ai.stigmer.iam.identityprovider.v1.OrganizationSsoLookup.
104
+ * Use `create(OrganizationSsoLookupSchema)` to create a new message.
105
+ */
106
+ export declare const OrganizationSsoLookupSchema: GenMessage<OrganizationSsoLookup>;
107
+ /**
108
+ * SsoProviderInfo contains the minimal OIDC configuration the web app needs
109
+ * to render an SSO login button and initiate the Authorization Code flow.
110
+ *
111
+ * This is a projection of the full IdentityProvider resource, exposing only
112
+ * the fields safe for unauthenticated access. Internal configuration such as
113
+ * JWKS URI, rate limits, and userinfo endpoint is intentionally excluded.
114
+ *
115
+ * @generated from message ai.stigmer.iam.identityprovider.v1.SsoProviderInfo
116
+ */
117
+ export type SsoProviderInfo = Message<"ai.stigmer.iam.identityprovider.v1.SsoProviderInfo"> & {
118
+ /**
119
+ * Display name of the SSO provider (e.g., "Acme Corp Okta").
120
+ * Shown on the login button: "Sign in with [display_name]".
121
+ *
122
+ * @generated from field: string display_name = 1;
123
+ */
124
+ displayName: string;
125
+ /**
126
+ * OIDC client ID for initiating the Authorization Code flow with PKCE.
127
+ *
128
+ * @generated from field: string oidc_client_id = 2;
129
+ */
130
+ oidcClientId: string;
131
+ /**
132
+ * OIDC issuer URL. The web app appends /.well-known/openid-configuration
133
+ * to discover the authorization_endpoint, token_endpoint, and other
134
+ * OIDC metadata required for the login flow.
135
+ *
136
+ * @generated from field: string issuer = 3;
137
+ */
138
+ issuer: string;
139
+ /**
140
+ * Expected JWT audience value for the OIDC token request.
141
+ * The web app passes this as the audience parameter when initiating the
142
+ * Authorization Code flow. Some IdPs (e.g., Auth0) require it to issue
143
+ * a JWT access token with the correct aud claim; others determine the
144
+ * audience from server-side configuration and ignore this parameter.
145
+ * Empty means the web app should omit the audience parameter.
146
+ *
147
+ * @generated from field: string expected_audience = 4;
148
+ */
149
+ expectedAudience: string;
150
+ };
151
+ /**
152
+ * Describes the message ai.stigmer.iam.identityprovider.v1.SsoProviderInfo.
153
+ * Use `create(SsoProviderInfoSchema)` to create a new message.
154
+ */
155
+ export declare const SsoProviderInfoSchema: GenMessage<SsoProviderInfo>;