@stigmer/protos 0.0.71 → 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 (162) 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/skill/v1/status_pb.d.ts +1 -1
  38. package/ai/stigmer/agentic/skill/v1/synth_pb.d.ts +1 -1
  39. package/ai/stigmer/agentic/workflow/v1/command_pb.js +2 -2
  40. package/ai/stigmer/agentic/workflow/v1/command_pb.js.map +1 -1
  41. package/ai/stigmer/agentic/workflow/v1/query_pb.js +2 -2
  42. package/ai/stigmer/agentic/workflow/v1/query_pb.js.map +1 -1
  43. package/ai/stigmer/agentic/workflowexecution/v1/command_pb.js +2 -2
  44. package/ai/stigmer/agentic/workflowexecution/v1/command_pb.js.map +1 -1
  45. package/ai/stigmer/agentic/workflowexecution/v1/query_pb.js +2 -2
  46. package/ai/stigmer/agentic/workflowexecution/v1/query_pb.js.map +1 -1
  47. package/ai/stigmer/agentic/workflowinstance/v1/command_pb.js +2 -2
  48. package/ai/stigmer/agentic/workflowinstance/v1/command_pb.js.map +1 -1
  49. package/ai/stigmer/agentic/workflowinstance/v1/query_pb.js +2 -2
  50. package/ai/stigmer/agentic/workflowinstance/v1/query_pb.js.map +1 -1
  51. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.d.ts +6 -0
  52. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js +7 -1
  53. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js.map +1 -1
  54. package/ai/stigmer/commons/apiresource/apiresourcekind/authorization_config_pb.d.ts +28 -0
  55. package/ai/stigmer/commons/apiresource/apiresourcekind/authorization_config_pb.js +2 -1
  56. package/ai/stigmer/commons/apiresource/apiresourcekind/authorization_config_pb.js.map +1 -1
  57. package/ai/stigmer/{iam/iampolicy/v1/rpcauthorization/io_pb.d.ts → commons/rpc/authorization_config_pb.d.ts} +9 -9
  58. package/ai/stigmer/commons/rpc/authorization_config_pb.js +16 -0
  59. package/ai/stigmer/commons/rpc/authorization_config_pb.js.map +1 -0
  60. package/ai/stigmer/{iam/iampolicy/v1/rpcauthorization → commons/rpc}/method_options_pb.d.ts +4 -4
  61. package/ai/stigmer/commons/rpc/method_options_pb.js +29 -0
  62. package/ai/stigmer/commons/rpc/method_options_pb.js.map +1 -0
  63. package/ai/stigmer/iam/apikey/v1/command_pb.js +2 -2
  64. package/ai/stigmer/iam/apikey/v1/command_pb.js.map +1 -1
  65. package/ai/stigmer/iam/apikey/v1/query_pb.js +2 -2
  66. package/ai/stigmer/iam/apikey/v1/query_pb.js.map +1 -1
  67. package/ai/stigmer/iam/iampolicy/v1/command_connect.d.ts +33 -0
  68. package/ai/stigmer/iam/iampolicy/v1/command_connect.js +33 -0
  69. package/ai/stigmer/iam/iampolicy/v1/command_connect.js.map +1 -1
  70. package/ai/stigmer/iam/iampolicy/v1/command_pb.d.ts +33 -0
  71. package/ai/stigmer/iam/iampolicy/v1/command_pb.js +3 -2
  72. package/ai/stigmer/iam/iampolicy/v1/command_pb.js.map +1 -1
  73. package/ai/stigmer/iam/iampolicy/v1/query_connect.d.ts +66 -0
  74. package/ai/stigmer/iam/iampolicy/v1/query_connect.js +66 -0
  75. package/ai/stigmer/iam/iampolicy/v1/query_connect.js.map +1 -1
  76. package/ai/stigmer/iam/iampolicy/v1/query_pb.d.ts +64 -1
  77. package/ai/stigmer/iam/iampolicy/v1/query_pb.js +2 -2
  78. package/ai/stigmer/iam/iampolicy/v1/query_pb.js.map +1 -1
  79. package/ai/stigmer/iam/iampolicy/v1/spec_pb.d.ts +1 -1
  80. package/ai/stigmer/iam/identityaccount/v1/command_connect.d.ts +61 -1
  81. package/ai/stigmer/iam/identityaccount/v1/command_connect.js +61 -1
  82. package/ai/stigmer/iam/identityaccount/v1/command_connect.js.map +1 -1
  83. package/ai/stigmer/iam/identityaccount/v1/command_pb.d.ts +59 -2
  84. package/ai/stigmer/iam/identityaccount/v1/command_pb.js +2 -2
  85. package/ai/stigmer/iam/identityaccount/v1/command_pb.js.map +1 -1
  86. package/ai/stigmer/iam/identityaccount/v1/enum_pb.d.ts +1 -1
  87. package/ai/stigmer/iam/identityaccount/v1/enum_pb.js +1 -1
  88. package/ai/stigmer/iam/identityaccount/v1/io_pb.d.ts +219 -0
  89. package/ai/stigmer/iam/identityaccount/v1/io_pb.js +22 -1
  90. package/ai/stigmer/iam/identityaccount/v1/io_pb.js.map +1 -1
  91. package/ai/stigmer/iam/identityaccount/v1/query_connect.d.ts +26 -2
  92. package/ai/stigmer/iam/identityaccount/v1/query_connect.js +26 -2
  93. package/ai/stigmer/iam/identityaccount/v1/query_connect.js.map +1 -1
  94. package/ai/stigmer/iam/identityaccount/v1/query_pb.d.ts +26 -3
  95. package/ai/stigmer/iam/identityaccount/v1/query_pb.js +2 -2
  96. package/ai/stigmer/iam/identityaccount/v1/query_pb.js.map +1 -1
  97. package/ai/stigmer/iam/identityaccount/v1/spec_pb.d.ts +9 -7
  98. package/ai/stigmer/iam/identityaccount/v1/spec_pb.js.map +1 -1
  99. package/ai/stigmer/iam/identityprovider/v1/command_pb.js +2 -2
  100. package/ai/stigmer/iam/identityprovider/v1/command_pb.js.map +1 -1
  101. package/ai/stigmer/iam/identityprovider/v1/io_pb.d.ts +88 -0
  102. package/ai/stigmer/iam/identityprovider/v1/io_pb.js +16 -1
  103. package/ai/stigmer/iam/identityprovider/v1/io_pb.js.map +1 -1
  104. package/ai/stigmer/iam/identityprovider/v1/query_connect.d.ts +39 -0
  105. package/ai/stigmer/iam/identityprovider/v1/query_connect.js +39 -0
  106. package/ai/stigmer/iam/identityprovider/v1/query_connect.js.map +1 -1
  107. package/ai/stigmer/iam/identityprovider/v1/query_pb.d.ts +38 -0
  108. package/ai/stigmer/iam/identityprovider/v1/query_pb.js +3 -2
  109. package/ai/stigmer/iam/identityprovider/v1/query_pb.js.map +1 -1
  110. package/ai/stigmer/iam/identityprovider/v1/spec_pb.d.ts +60 -7
  111. package/ai/stigmer/iam/identityprovider/v1/spec_pb.js +1 -1
  112. package/ai/stigmer/iam/identityprovider/v1/spec_pb.js.map +1 -1
  113. package/ai/stigmer/iam/invitation/v1/api_pb.d.ts +132 -0
  114. package/ai/stigmer/iam/invitation/v1/api_pb.js +30 -0
  115. package/ai/stigmer/iam/invitation/v1/api_pb.js.map +1 -0
  116. package/ai/stigmer/iam/invitation/v1/command_connect.d.ts +79 -0
  117. package/ai/stigmer/iam/invitation/v1/command_connect.js +85 -0
  118. package/ai/stigmer/iam/invitation/v1/command_connect.js.map +1 -0
  119. package/ai/stigmer/iam/invitation/v1/command_pb.d.ts +80 -0
  120. package/ai/stigmer/iam/invitation/v1/command_pb.js +19 -0
  121. package/ai/stigmer/iam/invitation/v1/command_pb.js.map +1 -0
  122. package/ai/stigmer/iam/invitation/v1/enum_pb.d.ts +49 -0
  123. package/ai/stigmer/iam/invitation/v1/enum_pb.js +54 -0
  124. package/ai/stigmer/iam/invitation/v1/enum_pb.js.map +1 -0
  125. package/ai/stigmer/iam/invitation/v1/io_pb.d.ts +173 -0
  126. package/ai/stigmer/iam/invitation/v1/io_pb.js +43 -0
  127. package/ai/stigmer/iam/invitation/v1/io_pb.js.map +1 -0
  128. package/ai/stigmer/iam/invitation/v1/query_connect.d.ts +68 -0
  129. package/ai/stigmer/iam/invitation/v1/query_connect.js +74 -0
  130. package/ai/stigmer/iam/invitation/v1/query_connect.js.map +1 -0
  131. package/ai/stigmer/iam/invitation/v1/query_pb.d.ts +69 -0
  132. package/ai/stigmer/iam/invitation/v1/query_pb.js +19 -0
  133. package/ai/stigmer/iam/invitation/v1/query_pb.js.map +1 -0
  134. package/ai/stigmer/iam/invitation/v1/spec_pb.d.ts +77 -0
  135. package/ai/stigmer/iam/invitation/v1/spec_pb.js +17 -0
  136. package/ai/stigmer/iam/invitation/v1/spec_pb.js.map +1 -0
  137. package/ai/stigmer/iam/v1/enum_pb.d.ts +177 -0
  138. package/ai/stigmer/iam/v1/enum_pb.js +183 -0
  139. package/ai/stigmer/iam/v1/enum_pb.js.map +1 -0
  140. package/ai/stigmer/platform/github/v1/service_pb.js +2 -2
  141. package/ai/stigmer/platform/github/v1/service_pb.js.map +1 -1
  142. package/ai/stigmer/search/v1/io_pb.d.ts +15 -0
  143. package/ai/stigmer/search/v1/io_pb.js +1 -1
  144. package/ai/stigmer/search/v1/io_pb.js.map +1 -1
  145. package/ai/stigmer/search/v1/query_pb.js +2 -2
  146. package/ai/stigmer/search/v1/query_pb.js.map +1 -1
  147. package/ai/stigmer/tenancy/organization/v1/command_pb.js +2 -2
  148. package/ai/stigmer/tenancy/organization/v1/command_pb.js.map +1 -1
  149. package/ai/stigmer/tenancy/organization/v1/query_pb.js +2 -2
  150. package/ai/stigmer/tenancy/organization/v1/query_pb.js.map +1 -1
  151. package/ai/stigmer/tenancy/project/v1/command_pb.js +2 -2
  152. package/ai/stigmer/tenancy/project/v1/command_pb.js.map +1 -1
  153. package/ai/stigmer/tenancy/project/v1/query_pb.js +2 -2
  154. package/ai/stigmer/tenancy/project/v1/query_pb.js.map +1 -1
  155. package/package.json +1 -1
  156. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/iam_permission_pb.d.ts +0 -198
  157. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/iam_permission_pb.js +0 -203
  158. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/iam_permission_pb.js.map +0 -1
  159. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/io_pb.js +0 -16
  160. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/io_pb.js.map +0 -1
  161. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/method_options_pb.js +0 -29
  162. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/method_options_pb.js.map +0 -1
@@ -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>;
@@ -7,7 +7,7 @@ import { file_buf_validate_validate } from "../../../../../buf/validate/validate
7
7
  /**
8
8
  * Describes the file ai/stigmer/iam/identityprovider/v1/io.proto.
9
9
  */
10
- export const file_ai_stigmer_iam_identityprovider_v1_io = /*@__PURE__*/ fileDesc("CithaS9zdGlnbWVyL2lhbS9pZGVudGl0eXByb3ZpZGVyL3YxL2lvLnByb3RvEiJhaS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxIi4KEklkZW50aXR5UHJvdmlkZXJJZBIYCgV2YWx1ZRgBIAEoCUIJukgGcgQQARhAIloKEUlkZW50aXR5UHJvdmlkZXJzEkUKB2VudHJpZXMYASADKAsyNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxLklkZW50aXR5UHJvdmlkZXIicgoUSWRlbnRpdHlQcm92aWRlckxpc3QSEwoLdG90YWxfcGFnZXMYASABKAUSRQoHZW50cmllcxgCIAMoCzI0LmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEuSWRlbnRpdHlQcm92aWRlcmIGcHJvdG8z", [file_ai_stigmer_iam_identityprovider_v1_api, file_buf_validate_validate]);
10
+ export const file_ai_stigmer_iam_identityprovider_v1_io = /*@__PURE__*/ fileDesc("CithaS9zdGlnbWVyL2lhbS9pZGVudGl0eXByb3ZpZGVyL3YxL2lvLnByb3RvEiJhaS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxIi4KEklkZW50aXR5UHJvdmlkZXJJZBIYCgV2YWx1ZRgBIAEoCUIJukgGcgQQARhAIloKEUlkZW50aXR5UHJvdmlkZXJzEkUKB2VudHJpZXMYASADKAsyNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxLklkZW50aXR5UHJvdmlkZXIicgoUSWRlbnRpdHlQcm92aWRlckxpc3QSEwoLdG90YWxfcGFnZXMYASABKAUSRQoHZW50cmllcxgCIAMoCzI0LmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEuSWRlbnRpdHlQcm92aWRlciI3Ch9MaXN0SWRlbnRpdHlQcm92aWRlcnNCeU9yZ0lucHV0EhQKA29yZxgBIAEoCUIHukgEcgIQASItChVPcmdhbml6YXRpb25Tc29Mb29rdXASFAoDb3JnGAEgASgJQge6SARyAhABImoKD1Nzb1Byb3ZpZGVySW5mbxIUCgxkaXNwbGF5X25hbWUYASABKAkSFgoOb2lkY19jbGllbnRfaWQYAiABKAkSDgoGaXNzdWVyGAMgASgJEhkKEWV4cGVjdGVkX2F1ZGllbmNlGAQgASgJYgZwcm90bzM", [file_ai_stigmer_iam_identityprovider_v1_api, file_buf_validate_validate]);
11
11
  /**
12
12
  * Describes the message ai.stigmer.iam.identityprovider.v1.IdentityProviderId.
13
13
  * Use `create(IdentityProviderIdSchema)` to create a new message.
@@ -23,4 +23,19 @@ export const IdentityProvidersSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer
23
23
  * Use `create(IdentityProviderListSchema)` to create a new message.
24
24
  */
25
25
  export const IdentityProviderListSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_identityprovider_v1_io, 2);
26
+ /**
27
+ * Describes the message ai.stigmer.iam.identityprovider.v1.ListIdentityProvidersByOrgInput.
28
+ * Use `create(ListIdentityProvidersByOrgInputSchema)` to create a new message.
29
+ */
30
+ export const ListIdentityProvidersByOrgInputSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_identityprovider_v1_io, 3);
31
+ /**
32
+ * Describes the message ai.stigmer.iam.identityprovider.v1.OrganizationSsoLookup.
33
+ * Use `create(OrganizationSsoLookupSchema)` to create a new message.
34
+ */
35
+ export const OrganizationSsoLookupSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_identityprovider_v1_io, 4);
36
+ /**
37
+ * Describes the message ai.stigmer.iam.identityprovider.v1.SsoProviderInfo.
38
+ * Use `create(SsoProviderInfoSchema)` to create a new message.
39
+ */
40
+ export const SsoProviderInfoSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_identityprovider_v1_io, 5);
26
41
  //# sourceMappingURL=io_pb.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"io_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityprovider/v1/io_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,2CAA2C,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAY,aAAa,CAC9E,QAAQ,CAAC,8cAA8c,EAAE,CAAC,2CAA2C,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAgBtiB;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmC,aAAa,CACnF,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAgB7D;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAuB7D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"io_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityprovider/v1/io_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,2CAA2C,EAAE,MAAM,UAAU,CAAC;AACvE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,0CAA0C,GAAY,aAAa,CAC9E,QAAQ,CAAC,yuBAAyuB,EAAE,CAAC,2CAA2C,EAAE,0BAA0B,CAAC,CAAC,CAAC;AAgBj0B;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAmC,aAAa,CACnF,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAgB7D;;;GAGG;AACH,MAAM,CAAC,MAAM,uBAAuB,GAAkC,aAAa,CACjF,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAuB7D;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAiB7D;;;GAGG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAgD,aAAa,CAC7G,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAkB7D;;;GAGG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAsC,aAAa,CACzF,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC;AAkD7D;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAgC,aAAa,CAC7E,WAAW,CAAC,0CAA0C,EAAE,CAAC,CAAC,CAAC"}
@@ -38,5 +38,44 @@ export declare const IdentityProviderQueryController: {
38
38
  readonly O: any;
39
39
  readonly kind: any;
40
40
  };
41
+ /**
42
+ * List all identity providers belonging to an organization.
43
+ *
44
+ * Returns every IdentityProvider whose metadata.org matches the input org.
45
+ * Typically a small set (1-3 per org), so results are not paginated.
46
+ *
47
+ * @internal
48
+ * Authorization: Requires can_view permission on the organization resource.
49
+ *
50
+ * @generated from rpc ai.stigmer.iam.identityprovider.v1.IdentityProviderQueryController.listByOrg
51
+ */
52
+ readonly listByOrg: {
53
+ readonly name: "listByOrg";
54
+ readonly I: any;
55
+ readonly O: any;
56
+ readonly kind: any;
57
+ };
58
+ /**
59
+ * Look up the SSO identity provider for an organization.
60
+ *
61
+ * Returns the SSO-relevant projection (display name, OIDC client ID, issuer)
62
+ * of the IdentityProvider where is_sso_provider is true for the given org.
63
+ * Returns NOT_FOUND if the organization has no SSO provider configured.
64
+ *
65
+ * This endpoint is called by the web app's login page before the user has
66
+ * authenticated, so it requires no authorization. The response intentionally
67
+ * omits internal IdP configuration (JWKS URI, rate limits, userinfo endpoint).
68
+ *
69
+ * @internal
70
+ * Authorization: none — unauthenticated, public endpoint for login page rendering.
71
+ *
72
+ * @generated from rpc ai.stigmer.iam.identityprovider.v1.IdentityProviderQueryController.getSsoProvider
73
+ */
74
+ readonly getSsoProvider: {
75
+ readonly name: "getSsoProvider";
76
+ readonly I: any;
77
+ readonly O: any;
78
+ readonly kind: any;
79
+ };
41
80
  };
42
81
  };
@@ -43,6 +43,45 @@ export const IdentityProviderQueryController = {
43
43
  O: IdentityProvider,
44
44
  kind: MethodKind.Unary,
45
45
  },
46
+ /**
47
+ * List all identity providers belonging to an organization.
48
+ *
49
+ * Returns every IdentityProvider whose metadata.org matches the input org.
50
+ * Typically a small set (1-3 per org), so results are not paginated.
51
+ *
52
+ * @internal
53
+ * Authorization: Requires can_view permission on the organization resource.
54
+ *
55
+ * @generated from rpc ai.stigmer.iam.identityprovider.v1.IdentityProviderQueryController.listByOrg
56
+ */
57
+ listByOrg: {
58
+ name: "listByOrg",
59
+ I: ListIdentityProvidersByOrgInput,
60
+ O: IdentityProviders,
61
+ kind: MethodKind.Unary,
62
+ },
63
+ /**
64
+ * Look up the SSO identity provider for an organization.
65
+ *
66
+ * Returns the SSO-relevant projection (display name, OIDC client ID, issuer)
67
+ * of the IdentityProvider where is_sso_provider is true for the given org.
68
+ * Returns NOT_FOUND if the organization has no SSO provider configured.
69
+ *
70
+ * This endpoint is called by the web app's login page before the user has
71
+ * authenticated, so it requires no authorization. The response intentionally
72
+ * omits internal IdP configuration (JWKS URI, rate limits, userinfo endpoint).
73
+ *
74
+ * @internal
75
+ * Authorization: none — unauthenticated, public endpoint for login page rendering.
76
+ *
77
+ * @generated from rpc ai.stigmer.iam.identityprovider.v1.IdentityProviderQueryController.getSsoProvider
78
+ */
79
+ getSsoProvider: {
80
+ name: "getSsoProvider",
81
+ I: OrganizationSsoLookup,
82
+ O: SsoProviderInfo,
83
+ kind: MethodKind.Unary,
84
+ },
46
85
  }
47
86
  };
48
87
  //# sourceMappingURL=query_connect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"query_connect.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityprovider/v1/query_connect.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,kIAAkI;AAClI,oBAAoB;AACpB,cAAc;AAId,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAEhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,QAAQ,EAAE,oEAAoE;IAC9E,OAAO,EAAE;QACP;;;;;;;WAOG;QACH,GAAG,EAAE;YACH,IAAI,EAAE,KAAK;YACX,CAAC,EAAE,aAAa;YAChB,CAAC,EAAE,gBAAgB;YACnB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;WAWG;QACH,cAAc,EAAE;YACd,IAAI,EAAE,gBAAgB;YACtB,CAAC,EAAE,oBAAoB;YACvB,CAAC,EAAE,gBAAgB;YACnB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;KACF;CACO,CAAC"}
1
+ {"version":3,"file":"query_connect.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityprovider/v1/query_connect.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,kIAAkI;AAClI,oBAAoB;AACpB,cAAc;AAId,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,QAAQ,EAAE,oEAAoE;IAC9E,OAAO,EAAE;QACP;;;;;;;WAOG;QACH,GAAG,EAAE;YACH,IAAI,EAAE,KAAK;YACX,CAAC,EAAE,aAAa;YAChB,CAAC,EAAE,gBAAgB;YACnB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;WAWG;QACH,cAAc,EAAE;YACd,IAAI,EAAE,gBAAgB;YACtB,CAAC,EAAE,oBAAoB;YACvB,CAAC,EAAE,gBAAgB;YACnB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;WAUG;QACH,SAAS,EAAE;YACT,IAAI,EAAE,WAAW;YACjB,CAAC,EAAE,+BAA+B;YAClC,CAAC,EAAE,iBAAiB;YACpB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;WAeG;QACH,cAAc,EAAE;YACd,IAAI,EAAE,gBAAgB;YACtB,CAAC,EAAE,qBAAqB;YACxB,CAAC,EAAE,eAAe;YAClB,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;KACF;CACO,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import type { GenFile, GenService } from "@bufbuild/protobuf/codegenv1";
2
2
  import type { ApiResourceIdSchema, ApiResourceReferenceSchema } from "../../../commons/apiresource/io_pb";
3
3
  import type { IdentityProviderSchema } from "./api_pb";
4
+ import type { IdentityProvidersSchema, ListIdentityProvidersByOrgInputSchema, OrganizationSsoLookupSchema, SsoProviderInfoSchema } from "./io_pb";
4
5
  /**
5
6
  * Describes the file ai/stigmer/iam/identityprovider/v1/query.proto.
6
7
  */
@@ -41,4 +42,41 @@ export declare const IdentityProviderQueryController: GenService<{
41
42
  input: typeof ApiResourceReferenceSchema;
42
43
  output: typeof IdentityProviderSchema;
43
44
  };
45
+ /**
46
+ * List all identity providers belonging to an organization.
47
+ *
48
+ * Returns every IdentityProvider whose metadata.org matches the input org.
49
+ * Typically a small set (1-3 per org), so results are not paginated.
50
+ *
51
+ * @internal
52
+ * Authorization: Requires can_view permission on the organization resource.
53
+ *
54
+ * @generated from rpc ai.stigmer.iam.identityprovider.v1.IdentityProviderQueryController.listByOrg
55
+ */
56
+ listByOrg: {
57
+ methodKind: "unary";
58
+ input: typeof ListIdentityProvidersByOrgInputSchema;
59
+ output: typeof IdentityProvidersSchema;
60
+ };
61
+ /**
62
+ * Look up the SSO identity provider for an organization.
63
+ *
64
+ * Returns the SSO-relevant projection (display name, OIDC client ID, issuer)
65
+ * of the IdentityProvider where is_sso_provider is true for the given org.
66
+ * Returns NOT_FOUND if the organization has no SSO provider configured.
67
+ *
68
+ * This endpoint is called by the web app's login page before the user has
69
+ * authenticated, so it requires no authorization. The response intentionally
70
+ * omits internal IdP configuration (JWKS URI, rate limits, userinfo endpoint).
71
+ *
72
+ * @internal
73
+ * Authorization: none — unauthenticated, public endpoint for login page rendering.
74
+ *
75
+ * @generated from rpc ai.stigmer.iam.identityprovider.v1.IdentityProviderQueryController.getSsoProvider
76
+ */
77
+ getSsoProvider: {
78
+ methodKind: "unary";
79
+ input: typeof OrganizationSsoLookupSchema;
80
+ output: typeof SsoProviderInfoSchema;
81
+ };
44
82
  }>;
@@ -4,12 +4,13 @@
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
+ import { file_ai_stigmer_iam_identityprovider_v1_io } from "./io_pb";
9
10
  /**
10
11
  * Describes the file ai/stigmer/iam/identityprovider/v1/query.proto.
11
12
  */
12
- export const file_ai_stigmer_iam_identityprovider_v1_query = /*@__PURE__*/ fileDesc("Ci5haS9zdGlnbWVyL2lhbS9pZGVudGl0eXByb3ZpZGVyL3YxL3F1ZXJ5LnByb3RvEiJhaS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxMtICCh9JZGVudGl0eVByb3ZpZGVyUXVlcnlDb250cm9sbGVyEqMBCgNnZXQSLS5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VJZBo0LmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEuSWRlbnRpdHlQcm92aWRlciI3wrgYMwgDEBUiBXZhbHVlKiZ1bmF1dGhvcml6ZWQgdG8gdmlldyBpZGVudGl0eSBwcm92aWRlchKCAQoOZ2V0QnlSZWZlcmVuY2USNC5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VSZWZlcmVuY2UaNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxLklkZW50aXR5UHJvdmlkZXIiBNC4GAEaBKD/KxViBnByb3RvMw", [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]);
13
+ export const file_ai_stigmer_iam_identityprovider_v1_query = /*@__PURE__*/ fileDesc("Ci5haS9zdGlnbWVyL2lhbS9pZGVudGl0eXByb3ZpZGVyL3YxL3F1ZXJ5LnByb3RvEiJhaS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxMrIFCh9JZGVudGl0eVByb3ZpZGVyUXVlcnlDb250cm9sbGVyEqMBCgNnZXQSLS5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VJZBo0LmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEuSWRlbnRpdHlQcm92aWRlciI3wrgYMwgBEBUiBXZhbHVlKiZ1bmF1dGhvcml6ZWQgdG8gdmlldyBpZGVudGl0eSBwcm92aWRlchKCAQoOZ2V0QnlSZWZlcmVuY2USNC5haS5zdGlnbWVyLmNvbW1vbnMuYXBpcmVzb3VyY2UuQXBpUmVzb3VyY2VSZWZlcmVuY2UaNC5haS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxLklkZW50aXR5UHJvdmlkZXIiBNC4GAES1AEKCWxpc3RCeU9yZxJDLmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEuTGlzdElkZW50aXR5UHJvdmlkZXJzQnlPcmdJbnB1dBo1LmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEuSWRlbnRpdHlQcm92aWRlcnMiS8K4GEcIARAeIgNvcmcqPHVuYXV0aG9yaXplZCB0byBsaXN0IGlkZW50aXR5IHByb3ZpZGVycyBpbiB0aGlzIG9yZ2FuaXphdGlvbhKGAQoOZ2V0U3NvUHJvdmlkZXISOS5haS5zdGlnbWVyLmlhbS5pZGVudGl0eXByb3ZpZGVyLnYxLk9yZ2FuaXphdGlvblNzb0xvb2t1cBozLmFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEuU3NvUHJvdmlkZXJJbmZvIgTQuBgBGgSg/ysVYgZwcm90bzM", [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, file_ai_stigmer_iam_identityprovider_v1_io]);
13
14
  /**
14
15
  * IdentityProviderQueryController provides read operations for identity providers.
15
16
  *
@@ -1 +1 @@
1
- {"version":3,"file":"query_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityprovider/v1/query_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,kIAAkI;AAClI,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,6CAA6C,GAAY,aAAa,CACjF,QAAQ,CAAC,okBAAokB,EAAE,CAAC,sCAAsC,EAAE,uDAAuD,EAAE,gEAAgE,EAAE,2CAA2C,CAAC,CAAC,CAAC;AAEnyB;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GA+BvC,aAAa,CAChB,WAAW,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"query_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityprovider/v1/query_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,kIAAkI;AAClI,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,OAAO,EAAE,0CAA0C,EAAE,MAAM,SAAS,CAAC;AAErE;;GAEG;AACH,MAAM,CAAC,MAAM,6CAA6C,GAAY,aAAa,CACjF,QAAQ,CAAC,yhCAAyhC,EAAE,CAAC,sCAAsC,EAAE,uDAAuD,EAAE,0CAA0C,EAAE,2CAA2C,EAAE,0CAA0C,CAAC,CAAC,CAAC;AAE9wC;;;;GAIG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAoEvC,aAAa,CAChB,WAAW,CAAC,6CAA6C,EAAE,CAAC,CAAC,CAAC"}
@@ -9,18 +9,19 @@ export declare const file_ai_stigmer_iam_identityprovider_v1_spec: GenFile;
9
9
  *
10
10
  * An IdentityProvider represents an external platform's trust relationship with Stigmer.
11
11
  * It is owned by an organization (e.g., "planton") and configures how Stigmer validates
12
- * tokens from that platform during token exchange. The platform forwards its OIDC
13
- * provider's access tokens to Stigmer's token exchange endpoint, which:
14
- * - Validates the token signature against the configured JWKS
15
- * - Fetches user profile data from the OIDC UserInfo endpoint
16
- * - JIT-provisions a federated identity account with email, name, and picture
17
- * - Issues a Stigmer-native token for subsequent API access
12
+ * tokens from that platform. When a user authenticates with a JWT issued by this provider,
13
+ * Stigmer validates the token signature against the configured JWKS and resolves the
14
+ * user's federated identity account by the JWT's sub claim and this provider's reference.
15
+ *
16
+ * For platform-managed IdPs, the platform is responsible for explicitly creating
17
+ * federated identity accounts before users can authenticate. For SSO providers
18
+ * (is_sso_provider = true), Stigmer auto-provisions accounts on first login.
18
19
  *
19
20
  * The spec contains only public validation configuration — no secrets are stored.
20
21
  * For OIDC-based integrators (e.g., Auth0), the jwks_uri and userinfo_endpoint
21
22
  * point to the OIDC provider's standard endpoints.
22
23
  *
23
- * Example YAML:
24
+ * Example YAML (platform delegation):
24
25
  * apiVersion: iam.stigmer.ai/v1
25
26
  * kind: IdentityProvider
26
27
  * metadata:
@@ -34,6 +35,21 @@ export declare const file_ai_stigmer_iam_identityprovider_v1_spec: GenFile;
34
35
  * expected_audience: "https://api.planton.ai/"
35
36
  * userinfo_endpoint: "https://planton-prod.us.auth0.com/userinfo"
36
37
  *
38
+ * Example YAML (self-managed SSO):
39
+ * apiVersion: iam.stigmer.ai/v1
40
+ * kind: IdentityProvider
41
+ * metadata:
42
+ * name: Acme Corp Okta
43
+ * slug: acme-okta
44
+ * org: acme
45
+ * spec:
46
+ * display_name: "Acme Corp Okta"
47
+ * jwks_uri: "https://acme.okta.com/oauth2/default/v1/keys"
48
+ * allowed_issuers: ["https://acme.okta.com/oauth2/default"]
49
+ * expected_audience: "stigmer-api"
50
+ * is_sso_provider: true
51
+ * oidc_client_id: "0oa1bcdef2ghijk3lmno"
52
+ *
37
53
  * @generated from message ai.stigmer.iam.identityprovider.v1.IdentityProviderSpec
38
54
  */
39
55
  export type IdentityProviderSpec = Message<"ai.stigmer.iam.identityprovider.v1.IdentityProviderSpec"> & {
@@ -98,6 +114,43 @@ export type IdentityProviderSpec = Message<"ai.stigmer.iam.identityprovider.v1.I
98
114
  * @generated from field: string userinfo_endpoint = 6;
99
115
  */
100
116
  userinfoEndpoint: string;
117
+ /**
118
+ * Whether this identity provider serves as the SSO login provider for its
119
+ * owning organization.
120
+ *
121
+ * When true, the Stigmer web app offers a "Sign in with [display_name]"
122
+ * option on the organization's login page and initiates the OIDC
123
+ * Authorization Code flow with PKCE using the configured oidc_client_id.
124
+ *
125
+ * On first login, SSO users are auto-provisioned: Stigmer creates a
126
+ * federated identity account from the JWT's OIDC claims and grants the
127
+ * viewer role on the organization. Org admins can upgrade viewers to
128
+ * members when ready.
129
+ *
130
+ * Constraints:
131
+ * - At most one IdentityProvider per organization can be the SSO provider.
132
+ * - An IdP used for platform-managed organization delegation cannot also
133
+ * serve as an SSO provider (different trust models).
134
+ *
135
+ * @generated from field: bool is_sso_provider = 7;
136
+ */
137
+ isSsoProvider: boolean;
138
+ /**
139
+ * OIDC client identifier for browser-based SSO login.
140
+ *
141
+ * This is the client_id registered with the external IdP (e.g., Okta,
142
+ * Azure AD) for Stigmer's web application. The web app uses this to
143
+ * build the OIDC Authorization Code request with PKCE.
144
+ *
145
+ * No client_secret is stored — the web app is a public client using PKCE
146
+ * (Proof Key for Code Exchange), which is the recommended approach for
147
+ * SPAs per OAuth 2.0 for Browser-Based Apps (RFC draft).
148
+ *
149
+ * Required when is_sso_provider is true; must be empty otherwise.
150
+ *
151
+ * @generated from field: string oidc_client_id = 8;
152
+ */
153
+ oidcClientId: string;
101
154
  };
102
155
  /**
103
156
  * Describes the message ai.stigmer.iam.identityprovider.v1.IdentityProviderSpec.
@@ -6,7 +6,7 @@ import { file_buf_validate_validate } from "../../../../../buf/validate/validate
6
6
  /**
7
7
  * Describes the file ai/stigmer/iam/identityprovider/v1/spec.proto.
8
8
  */
9
- export const file_ai_stigmer_iam_identityprovider_v1_spec = /*@__PURE__*/ fileDesc("Ci1haS9zdGlnbWVyL2lhbS9pZGVudGl0eXByb3ZpZGVyL3YxL3NwZWMucHJvdG8SImFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEi0AEKFElkZW50aXR5UHJvdmlkZXJTcGVjEh4KDGRpc3BsYXlfbmFtZRgBIAEoCUIIukgFcgMYyAESGgoIandrc191cmkYAiABKAlCCLpIBXIDGIAQEhcKD2FsbG93ZWRfaXNzdWVycxgDIAMoCRIjChFleHBlY3RlZF9hdWRpZW5jZRgEIAEoCUIIukgFcgMYyAESGQoRcmF0ZV9saW1pdF9idWRnZXQYBSABKAUSIwoRdXNlcmluZm9fZW5kcG9pbnQYBiABKAlCCLpIBXIDGIAQYgZwcm90bzM", [file_buf_validate_validate]);
9
+ export const file_ai_stigmer_iam_identityprovider_v1_spec = /*@__PURE__*/ fileDesc("Ci1haS9zdGlnbWVyL2lhbS9pZGVudGl0eXByb3ZpZGVyL3YxL3NwZWMucHJvdG8SImFpLnN0aWdtZXIuaWFtLmlkZW50aXR5cHJvdmlkZXIudjEiiwIKFElkZW50aXR5UHJvdmlkZXJTcGVjEh4KDGRpc3BsYXlfbmFtZRgBIAEoCUIIukgFcgMYyAESGgoIandrc191cmkYAiABKAlCCLpIBXIDGIAQEhcKD2FsbG93ZWRfaXNzdWVycxgDIAMoCRIjChFleHBlY3RlZF9hdWRpZW5jZRgEIAEoCUIIukgFcgMYyAESGQoRcmF0ZV9saW1pdF9idWRnZXQYBSABKAUSIwoRdXNlcmluZm9fZW5kcG9pbnQYBiABKAlCCLpIBXIDGIAQEhcKD2lzX3Nzb19wcm92aWRlchgHIAEoCBIgCg5vaWRjX2NsaWVudF9pZBgIIAEoCUIIukgFcgMYgAJiBnByb3RvMw", [file_buf_validate_validate]);
10
10
  /**
11
11
  * Describes the message ai.stigmer.iam.identityprovider.v1.IdentityProviderSpec.
12
12
  * Use `create(IdentityProviderSpecSchema)` to create a new message.
@@ -1 +1 @@
1
- {"version":3,"file":"spec_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityprovider/v1/spec_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,iIAAiI;AACjI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAY,aAAa,CAChF,QAAQ,CAAC,qZAAqZ,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC;AAuGhc;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"spec_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/identityprovider/v1/spec_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,iIAAiI;AACjI,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAGrF;;GAEG;AACH,MAAM,CAAC,MAAM,4CAA4C,GAAY,aAAa,CAChF,QAAQ,CAAC,oeAAoe,EAAE,CAAC,0BAA0B,CAAC,CAAC,CAAC;AA8J/gB;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,4CAA4C,EAAE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,132 @@
1
+ import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
2
+ import type { ApiResourceMetadata } from "../../../commons/apiresource/metadata_pb";
3
+ import type { ApiResourceAudit } from "../../../commons/apiresource/status_pb";
4
+ import type { InvitationState } from "./enum_pb";
5
+ import type { InvitationSpec } from "./spec_pb";
6
+ import type { Timestamp } from "@bufbuild/protobuf/wkt";
7
+ import type { Message } from "@bufbuild/protobuf";
8
+ /**
9
+ * Describes the file ai/stigmer/iam/invitation/v1/api.proto.
10
+ */
11
+ export declare const file_ai_stigmer_iam_invitation_v1_api: GenFile;
12
+ /**
13
+ * Invitation is a shareable link that grants org membership with a configurable role.
14
+ *
15
+ * Invitations support two patterns:
16
+ * - Multi-use (max_redemptions = 0): persistent org invite link, suitable for
17
+ * public sharing. Best paired with the viewer role to avoid cost exposure.
18
+ * - Single-use (max_redemptions = 1): targeted invitation for a specific person.
19
+ *
20
+ * The invite URL format is: https://<host>/invite/<token>
21
+ * where token is a server-generated cryptographically random value.
22
+ *
23
+ * Creating an invitation requires can_grant_access on the organization.
24
+ * Redeeming an invitation requires only a valid token and authentication.
25
+ *
26
+ * @generated from message ai.stigmer.iam.invitation.v1.Invitation
27
+ */
28
+ export type Invitation = Message<"ai.stigmer.iam.invitation.v1.Invitation"> & {
29
+ /**
30
+ * API version for this resource type.
31
+ *
32
+ * @generated from field: string api_version = 1;
33
+ */
34
+ apiVersion: string;
35
+ /**
36
+ * Resource kind identifier.
37
+ *
38
+ * @generated from field: string kind = 2;
39
+ */
40
+ kind: string;
41
+ /**
42
+ * Resource metadata including name, organization, and labels.
43
+ *
44
+ * @generated from field: ai.stigmer.commons.apiresource.ApiResourceMetadata metadata = 3;
45
+ */
46
+ metadata?: ApiResourceMetadata;
47
+ /**
48
+ * User-provided invitation configuration: role, expiry, and redemption limits.
49
+ *
50
+ * @generated from field: ai.stigmer.iam.invitation.v1.InvitationSpec spec = 4;
51
+ */
52
+ spec?: InvitationSpec;
53
+ /**
54
+ * System-managed state: token, lifecycle state, and redemption history.
55
+ *
56
+ * @generated from field: ai.stigmer.iam.invitation.v1.InvitationStatus status = 5;
57
+ */
58
+ status?: InvitationStatus;
59
+ };
60
+ /**
61
+ * Describes the message ai.stigmer.iam.invitation.v1.Invitation.
62
+ * Use `create(InvitationSchema)` to create a new message.
63
+ */
64
+ export declare const InvitationSchema: GenMessage<Invitation>;
65
+ /**
66
+ * InvitationStatus contains system-managed state for an invitation.
67
+ *
68
+ * @generated from message ai.stigmer.iam.invitation.v1.InvitationStatus
69
+ */
70
+ export type InvitationStatus = Message<"ai.stigmer.iam.invitation.v1.InvitationStatus"> & {
71
+ /**
72
+ * Server-generated cryptographically random token.
73
+ * Included in the invite URL: /invite/<token>
74
+ * Generated once at creation; immutable thereafter.
75
+ *
76
+ * @generated from field: string token = 1;
77
+ */
78
+ token: string;
79
+ /**
80
+ * Current lifecycle state of the invitation.
81
+ *
82
+ * @generated from field: ai.stigmer.iam.invitation.v1.InvitationState state = 2;
83
+ */
84
+ state: InvitationState;
85
+ /**
86
+ * Number of times this invitation has been successfully redeemed.
87
+ *
88
+ * @generated from field: int32 redemption_count = 3;
89
+ */
90
+ redemptionCount: number;
91
+ /**
92
+ * Audit trail of each successful redemption.
93
+ *
94
+ * @generated from field: repeated ai.stigmer.iam.invitation.v1.InvitationRedemption redemptions = 4;
95
+ */
96
+ redemptions: InvitationRedemption[];
97
+ /**
98
+ * Standard audit information (created_at, updated_at, created_by, etc.).
99
+ *
100
+ * @generated from field: ai.stigmer.commons.apiresource.ApiResourceAudit audit = 99;
101
+ */
102
+ audit?: ApiResourceAudit;
103
+ };
104
+ /**
105
+ * Describes the message ai.stigmer.iam.invitation.v1.InvitationStatus.
106
+ * Use `create(InvitationStatusSchema)` to create a new message.
107
+ */
108
+ export declare const InvitationStatusSchema: GenMessage<InvitationStatus>;
109
+ /**
110
+ * InvitationRedemption records a single successful redemption event.
111
+ *
112
+ * @generated from message ai.stigmer.iam.invitation.v1.InvitationRedemption
113
+ */
114
+ export type InvitationRedemption = Message<"ai.stigmer.iam.invitation.v1.InvitationRedemption"> & {
115
+ /**
116
+ * The identity account that redeemed the invitation.
117
+ *
118
+ * @generated from field: string identity_account_id = 1;
119
+ */
120
+ identityAccountId: string;
121
+ /**
122
+ * When the redemption occurred.
123
+ *
124
+ * @generated from field: google.protobuf.Timestamp redeemed_at = 2;
125
+ */
126
+ redeemedAt?: Timestamp;
127
+ };
128
+ /**
129
+ * Describes the message ai.stigmer.iam.invitation.v1.InvitationRedemption.
130
+ * Use `create(InvitationRedemptionSchema)` to create a new message.
131
+ */
132
+ export declare const InvitationRedemptionSchema: GenMessage<InvitationRedemption>;
@@ -0,0 +1,30 @@
1
+ // @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
2
+ // @generated from file ai/stigmer/iam/invitation/v1/api.proto (package ai.stigmer.iam.invitation.v1, syntax proto3)
3
+ /* eslint-disable */
4
+ import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
5
+ import { file_ai_stigmer_commons_apiresource_metadata } from "../../../commons/apiresource/metadata_pb";
6
+ import { file_ai_stigmer_commons_apiresource_status } from "../../../commons/apiresource/status_pb";
7
+ import { file_ai_stigmer_iam_invitation_v1_enum } from "./enum_pb";
8
+ import { file_ai_stigmer_iam_invitation_v1_spec } from "./spec_pb";
9
+ import { file_buf_validate_validate } from "../../../../../buf/validate/validate_pb";
10
+ import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
11
+ /**
12
+ * Describes the file ai/stigmer/iam/invitation/v1/api.proto.
13
+ */
14
+ export const file_ai_stigmer_iam_invitation_v1_api = /*@__PURE__*/ fileDesc("CiZhaS9zdGlnbWVyL2lhbS9pbnZpdGF0aW9uL3YxL2FwaS5wcm90bxIcYWkuc3RpZ21lci5pYW0uaW52aXRhdGlvbi52MSKnAgoKSW52aXRhdGlvbhItCgthcGlfdmVyc2lvbhgBIAEoCUIYukgVchMKEWlhbS5zdGlnbWVyLmFpL3YxEh8KBGtpbmQYAiABKAlCEbpIDnIMCgpJbnZpdGF0aW9uEk0KCG1ldGFkYXRhGAMgASgLMjMuYWkuc3RpZ21lci5jb21tb25zLmFwaXJlc291cmNlLkFwaVJlc291cmNlTWV0YWRhdGFCBrpIA8gBARI6CgRzcGVjGAQgASgLMiwuYWkuc3RpZ21lci5pYW0uaW52aXRhdGlvbi52MS5JbnZpdGF0aW9uU3BlYxI+CgZzdGF0dXMYBSABKAsyLi5haS5zdGlnbWVyLmlhbS5pbnZpdGF0aW9uLnYxLkludml0YXRpb25TdGF0dXMigwIKEEludml0YXRpb25TdGF0dXMSDQoFdG9rZW4YASABKAkSPAoFc3RhdGUYAiABKA4yLS5haS5zdGlnbWVyLmlhbS5pbnZpdGF0aW9uLnYxLkludml0YXRpb25TdGF0ZRIYChByZWRlbXB0aW9uX2NvdW50GAMgASgFEkcKC3JlZGVtcHRpb25zGAQgAygLMjIuYWkuc3RpZ21lci5pYW0uaW52aXRhdGlvbi52MS5JbnZpdGF0aW9uUmVkZW1wdGlvbhI/CgVhdWRpdBhjIAEoCzIwLmFpLnN0aWdtZXIuY29tbW9ucy5hcGlyZXNvdXJjZS5BcGlSZXNvdXJjZUF1ZGl0ImQKFEludml0YXRpb25SZWRlbXB0aW9uEhsKE2lkZW50aXR5X2FjY291bnRfaWQYASABKAkSLwoLcmVkZWVtZWRfYXQYAiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wYgZwcm90bzM", [file_ai_stigmer_commons_apiresource_metadata, file_ai_stigmer_commons_apiresource_status, file_ai_stigmer_iam_invitation_v1_enum, file_ai_stigmer_iam_invitation_v1_spec, file_buf_validate_validate, file_google_protobuf_timestamp]);
15
+ /**
16
+ * Describes the message ai.stigmer.iam.invitation.v1.Invitation.
17
+ * Use `create(InvitationSchema)` to create a new message.
18
+ */
19
+ export const InvitationSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_invitation_v1_api, 0);
20
+ /**
21
+ * Describes the message ai.stigmer.iam.invitation.v1.InvitationStatus.
22
+ * Use `create(InvitationStatusSchema)` to create a new message.
23
+ */
24
+ export const InvitationStatusSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_invitation_v1_api, 1);
25
+ /**
26
+ * Describes the message ai.stigmer.iam.invitation.v1.InvitationRedemption.
27
+ * Use `create(InvitationRedemptionSchema)` to create a new message.
28
+ */
29
+ export const InvitationRedemptionSchema = /*@__PURE__*/ messageDesc(file_ai_stigmer_iam_invitation_v1_api, 2);
30
+ //# sourceMappingURL=api_pb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"api_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/invitation/v1/api_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,oHAAoH;AACpH,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AAErE,OAAO,EAAE,4CAA4C,EAAE,MAAM,0CAA0C,CAAC;AAExG,OAAO,EAAE,0CAA0C,EAAE,MAAM,wCAAwC,CAAC;AAEpG,OAAO,EAAE,sCAAsC,EAAE,MAAM,WAAW,CAAC;AAEnE,OAAO,EAAE,sCAAsC,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,yCAAyC,CAAC;AAErF,OAAO,EAAE,8BAA8B,EAAE,MAAM,wBAAwB,CAAC;AAGxE;;GAEG;AACH,MAAM,CAAC,MAAM,qCAAqC,GAAY,aAAa,CACzE,QAAQ,CAAC,69BAA69B,EAAE,CAAC,4CAA4C,EAAE,0CAA0C,EAAE,sCAAsC,EAAE,sCAAsC,EAAE,0BAA0B,EAAE,8BAA8B,CAAC,CAAC,CAAC;AAuDltC;;;GAGG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAA2B,aAAa,CACnE,WAAW,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;AA8CxD;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAiC,aAAa,CAC/E,WAAW,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC;AAuBxD;;;GAGG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAqC,aAAa,CACvF,WAAW,CAAC,qCAAqC,EAAE,CAAC,CAAC,CAAC"}