@stigmer/protos 0.0.72 → 0.0.74

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 (178) 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/agent/v1/spec_pb.d.ts +8 -6
  6. package/ai/stigmer/agentic/agent/v1/spec_pb.js.map +1 -1
  7. package/ai/stigmer/agentic/agentexecution/v1/command_pb.js +2 -2
  8. package/ai/stigmer/agentic/agentexecution/v1/command_pb.js.map +1 -1
  9. package/ai/stigmer/agentic/agentexecution/v1/message_pb.d.ts +4 -3
  10. package/ai/stigmer/agentic/agentexecution/v1/message_pb.js.map +1 -1
  11. package/ai/stigmer/agentic/agentexecution/v1/query_connect.d.ts +2 -8
  12. package/ai/stigmer/agentic/agentexecution/v1/query_connect.js +2 -8
  13. package/ai/stigmer/agentic/agentexecution/v1/query_connect.js.map +1 -1
  14. package/ai/stigmer/agentic/agentexecution/v1/query_pb.d.ts +2 -8
  15. package/ai/stigmer/agentic/agentexecution/v1/query_pb.js +2 -2
  16. package/ai/stigmer/agentic/agentexecution/v1/query_pb.js.map +1 -1
  17. package/ai/stigmer/agentic/agentexecution/v1/spec_pb.d.ts +1 -1
  18. package/ai/stigmer/agentic/agentinstance/v1/command_pb.js +2 -2
  19. package/ai/stigmer/agentic/agentinstance/v1/command_pb.js.map +1 -1
  20. package/ai/stigmer/agentic/agentinstance/v1/query_pb.js +2 -2
  21. package/ai/stigmer/agentic/agentinstance/v1/query_pb.js.map +1 -1
  22. package/ai/stigmer/agentic/environment/v1/command_pb.js +2 -2
  23. package/ai/stigmer/agentic/environment/v1/command_pb.js.map +1 -1
  24. package/ai/stigmer/agentic/environment/v1/query_pb.js +2 -2
  25. package/ai/stigmer/agentic/environment/v1/query_pb.js.map +1 -1
  26. package/ai/stigmer/agentic/executioncontext/v1/command_pb.js +2 -2
  27. package/ai/stigmer/agentic/executioncontext/v1/command_pb.js.map +1 -1
  28. package/ai/stigmer/agentic/executioncontext/v1/query_pb.js +2 -2
  29. package/ai/stigmer/agentic/executioncontext/v1/query_pb.js.map +1 -1
  30. package/ai/stigmer/agentic/mcpserver/v1/command_connect.d.ts +16 -36
  31. package/ai/stigmer/agentic/mcpserver/v1/command_connect.js +17 -37
  32. package/ai/stigmer/agentic/mcpserver/v1/command_connect.js.map +1 -1
  33. package/ai/stigmer/agentic/mcpserver/v1/command_pb.d.ts +17 -36
  34. package/ai/stigmer/agentic/mcpserver/v1/command_pb.js +2 -2
  35. package/ai/stigmer/agentic/mcpserver/v1/command_pb.js.map +1 -1
  36. package/ai/stigmer/agentic/mcpserver/v1/io_pb.d.ts +20 -48
  37. package/ai/stigmer/agentic/mcpserver/v1/io_pb.js +4 -10
  38. package/ai/stigmer/agentic/mcpserver/v1/io_pb.js.map +1 -1
  39. package/ai/stigmer/agentic/mcpserver/v1/query_pb.js +2 -2
  40. package/ai/stigmer/agentic/mcpserver/v1/query_pb.js.map +1 -1
  41. package/ai/stigmer/agentic/mcpserver/v1/spec_pb.d.ts +100 -15
  42. package/ai/stigmer/agentic/mcpserver/v1/spec_pb.js +7 -1
  43. package/ai/stigmer/agentic/mcpserver/v1/spec_pb.js.map +1 -1
  44. package/ai/stigmer/agentic/mcpserver/v1/status_pb.d.ts +26 -60
  45. package/ai/stigmer/agentic/mcpserver/v1/status_pb.js +2 -45
  46. package/ai/stigmer/agentic/mcpserver/v1/status_pb.js.map +1 -1
  47. package/ai/stigmer/agentic/session/v1/command_pb.js +2 -2
  48. package/ai/stigmer/agentic/session/v1/command_pb.js.map +1 -1
  49. package/ai/stigmer/agentic/session/v1/query_pb.js +2 -2
  50. package/ai/stigmer/agentic/session/v1/query_pb.js.map +1 -1
  51. package/ai/stigmer/agentic/skill/v1/command_pb.js +2 -2
  52. package/ai/stigmer/agentic/skill/v1/command_pb.js.map +1 -1
  53. package/ai/stigmer/agentic/skill/v1/query_pb.js +2 -2
  54. package/ai/stigmer/agentic/skill/v1/query_pb.js.map +1 -1
  55. package/ai/stigmer/agentic/workflow/v1/command_pb.js +2 -2
  56. package/ai/stigmer/agentic/workflow/v1/command_pb.js.map +1 -1
  57. package/ai/stigmer/agentic/workflow/v1/query_pb.js +2 -2
  58. package/ai/stigmer/agentic/workflow/v1/query_pb.js.map +1 -1
  59. package/ai/stigmer/agentic/workflowexecution/v1/command_pb.js +2 -2
  60. package/ai/stigmer/agentic/workflowexecution/v1/command_pb.js.map +1 -1
  61. package/ai/stigmer/agentic/workflowexecution/v1/query_pb.js +2 -2
  62. package/ai/stigmer/agentic/workflowexecution/v1/query_pb.js.map +1 -1
  63. package/ai/stigmer/agentic/workflowinstance/v1/command_pb.js +2 -2
  64. package/ai/stigmer/agentic/workflowinstance/v1/command_pb.js.map +1 -1
  65. package/ai/stigmer/agentic/workflowinstance/v1/query_pb.js +2 -2
  66. package/ai/stigmer/agentic/workflowinstance/v1/query_pb.js.map +1 -1
  67. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.d.ts +6 -0
  68. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js +7 -1
  69. package/ai/stigmer/commons/apiresource/apiresourcekind/api_resource_kind_pb.js.map +1 -1
  70. package/ai/stigmer/commons/apiresource/apiresourcekind/authorization_config_pb.d.ts +28 -0
  71. package/ai/stigmer/commons/apiresource/apiresourcekind/authorization_config_pb.js +2 -1
  72. package/ai/stigmer/commons/apiresource/apiresourcekind/authorization_config_pb.js.map +1 -1
  73. package/ai/stigmer/{iam/iampolicy/v1/rpcauthorization/io_pb.d.ts → commons/rpc/authorization_config_pb.d.ts} +9 -9
  74. package/ai/stigmer/commons/rpc/authorization_config_pb.js +16 -0
  75. package/ai/stigmer/commons/rpc/authorization_config_pb.js.map +1 -0
  76. package/ai/stigmer/{iam/iampolicy/v1/rpcauthorization → commons/rpc}/method_options_pb.d.ts +4 -4
  77. package/ai/stigmer/commons/rpc/method_options_pb.js +29 -0
  78. package/ai/stigmer/commons/rpc/method_options_pb.js.map +1 -0
  79. package/ai/stigmer/iam/apikey/v1/command_pb.js +2 -2
  80. package/ai/stigmer/iam/apikey/v1/command_pb.js.map +1 -1
  81. package/ai/stigmer/iam/apikey/v1/query_pb.js +2 -2
  82. package/ai/stigmer/iam/apikey/v1/query_pb.js.map +1 -1
  83. package/ai/stigmer/iam/iampolicy/v1/command_connect.d.ts +33 -0
  84. package/ai/stigmer/iam/iampolicy/v1/command_connect.js +33 -0
  85. package/ai/stigmer/iam/iampolicy/v1/command_connect.js.map +1 -1
  86. package/ai/stigmer/iam/iampolicy/v1/command_pb.d.ts +33 -0
  87. package/ai/stigmer/iam/iampolicy/v1/command_pb.js +3 -2
  88. package/ai/stigmer/iam/iampolicy/v1/command_pb.js.map +1 -1
  89. package/ai/stigmer/iam/iampolicy/v1/query_connect.d.ts +66 -0
  90. package/ai/stigmer/iam/iampolicy/v1/query_connect.js +66 -0
  91. package/ai/stigmer/iam/iampolicy/v1/query_connect.js.map +1 -1
  92. package/ai/stigmer/iam/iampolicy/v1/query_pb.d.ts +64 -1
  93. package/ai/stigmer/iam/iampolicy/v1/query_pb.js +2 -2
  94. package/ai/stigmer/iam/iampolicy/v1/query_pb.js.map +1 -1
  95. package/ai/stigmer/iam/iampolicy/v1/spec_pb.d.ts +1 -1
  96. package/ai/stigmer/iam/identityaccount/v1/command_connect.d.ts +61 -1
  97. package/ai/stigmer/iam/identityaccount/v1/command_connect.js +61 -1
  98. package/ai/stigmer/iam/identityaccount/v1/command_connect.js.map +1 -1
  99. package/ai/stigmer/iam/identityaccount/v1/command_pb.d.ts +59 -2
  100. package/ai/stigmer/iam/identityaccount/v1/command_pb.js +2 -2
  101. package/ai/stigmer/iam/identityaccount/v1/command_pb.js.map +1 -1
  102. package/ai/stigmer/iam/identityaccount/v1/enum_pb.d.ts +1 -1
  103. package/ai/stigmer/iam/identityaccount/v1/enum_pb.js +1 -1
  104. package/ai/stigmer/iam/identityaccount/v1/io_pb.d.ts +219 -0
  105. package/ai/stigmer/iam/identityaccount/v1/io_pb.js +22 -1
  106. package/ai/stigmer/iam/identityaccount/v1/io_pb.js.map +1 -1
  107. package/ai/stigmer/iam/identityaccount/v1/query_connect.d.ts +26 -2
  108. package/ai/stigmer/iam/identityaccount/v1/query_connect.js +26 -2
  109. package/ai/stigmer/iam/identityaccount/v1/query_connect.js.map +1 -1
  110. package/ai/stigmer/iam/identityaccount/v1/query_pb.d.ts +26 -3
  111. package/ai/stigmer/iam/identityaccount/v1/query_pb.js +2 -2
  112. package/ai/stigmer/iam/identityaccount/v1/query_pb.js.map +1 -1
  113. package/ai/stigmer/iam/identityaccount/v1/spec_pb.d.ts +9 -7
  114. package/ai/stigmer/iam/identityaccount/v1/spec_pb.js.map +1 -1
  115. package/ai/stigmer/iam/identityprovider/v1/command_pb.js +2 -2
  116. package/ai/stigmer/iam/identityprovider/v1/command_pb.js.map +1 -1
  117. package/ai/stigmer/iam/identityprovider/v1/io_pb.d.ts +88 -0
  118. package/ai/stigmer/iam/identityprovider/v1/io_pb.js +16 -1
  119. package/ai/stigmer/iam/identityprovider/v1/io_pb.js.map +1 -1
  120. package/ai/stigmer/iam/identityprovider/v1/query_connect.d.ts +39 -0
  121. package/ai/stigmer/iam/identityprovider/v1/query_connect.js +39 -0
  122. package/ai/stigmer/iam/identityprovider/v1/query_connect.js.map +1 -1
  123. package/ai/stigmer/iam/identityprovider/v1/query_pb.d.ts +38 -0
  124. package/ai/stigmer/iam/identityprovider/v1/query_pb.js +3 -2
  125. package/ai/stigmer/iam/identityprovider/v1/query_pb.js.map +1 -1
  126. package/ai/stigmer/iam/identityprovider/v1/spec_pb.d.ts +60 -7
  127. package/ai/stigmer/iam/identityprovider/v1/spec_pb.js +1 -1
  128. package/ai/stigmer/iam/identityprovider/v1/spec_pb.js.map +1 -1
  129. package/ai/stigmer/iam/invitation/v1/api_pb.d.ts +132 -0
  130. package/ai/stigmer/iam/invitation/v1/api_pb.js +30 -0
  131. package/ai/stigmer/iam/invitation/v1/api_pb.js.map +1 -0
  132. package/ai/stigmer/iam/invitation/v1/command_connect.d.ts +79 -0
  133. package/ai/stigmer/iam/invitation/v1/command_connect.js +85 -0
  134. package/ai/stigmer/iam/invitation/v1/command_connect.js.map +1 -0
  135. package/ai/stigmer/iam/invitation/v1/command_pb.d.ts +80 -0
  136. package/ai/stigmer/iam/invitation/v1/command_pb.js +19 -0
  137. package/ai/stigmer/iam/invitation/v1/command_pb.js.map +1 -0
  138. package/ai/stigmer/iam/invitation/v1/enum_pb.d.ts +49 -0
  139. package/ai/stigmer/iam/invitation/v1/enum_pb.js +54 -0
  140. package/ai/stigmer/iam/invitation/v1/enum_pb.js.map +1 -0
  141. package/ai/stigmer/iam/invitation/v1/io_pb.d.ts +173 -0
  142. package/ai/stigmer/iam/invitation/v1/io_pb.js +43 -0
  143. package/ai/stigmer/iam/invitation/v1/io_pb.js.map +1 -0
  144. package/ai/stigmer/iam/invitation/v1/query_connect.d.ts +68 -0
  145. package/ai/stigmer/iam/invitation/v1/query_connect.js +74 -0
  146. package/ai/stigmer/iam/invitation/v1/query_connect.js.map +1 -0
  147. package/ai/stigmer/iam/invitation/v1/query_pb.d.ts +69 -0
  148. package/ai/stigmer/iam/invitation/v1/query_pb.js +19 -0
  149. package/ai/stigmer/iam/invitation/v1/query_pb.js.map +1 -0
  150. package/ai/stigmer/iam/invitation/v1/spec_pb.d.ts +77 -0
  151. package/ai/stigmer/iam/invitation/v1/spec_pb.js +17 -0
  152. package/ai/stigmer/iam/invitation/v1/spec_pb.js.map +1 -0
  153. package/ai/stigmer/iam/v1/enum_pb.d.ts +183 -0
  154. package/ai/stigmer/iam/v1/enum_pb.js +189 -0
  155. package/ai/stigmer/iam/v1/enum_pb.js.map +1 -0
  156. package/ai/stigmer/platform/github/v1/service_pb.js +2 -2
  157. package/ai/stigmer/platform/github/v1/service_pb.js.map +1 -1
  158. package/ai/stigmer/search/v1/io_pb.d.ts +15 -0
  159. package/ai/stigmer/search/v1/io_pb.js +1 -1
  160. package/ai/stigmer/search/v1/io_pb.js.map +1 -1
  161. package/ai/stigmer/search/v1/query_pb.js +2 -2
  162. package/ai/stigmer/search/v1/query_pb.js.map +1 -1
  163. package/ai/stigmer/tenancy/organization/v1/command_pb.js +2 -2
  164. package/ai/stigmer/tenancy/organization/v1/command_pb.js.map +1 -1
  165. package/ai/stigmer/tenancy/organization/v1/query_pb.js +2 -2
  166. package/ai/stigmer/tenancy/organization/v1/query_pb.js.map +1 -1
  167. package/ai/stigmer/tenancy/project/v1/command_pb.js +2 -2
  168. package/ai/stigmer/tenancy/project/v1/command_pb.js.map +1 -1
  169. package/ai/stigmer/tenancy/project/v1/query_pb.js +2 -2
  170. package/ai/stigmer/tenancy/project/v1/query_pb.js.map +1 -1
  171. package/package.json +1 -1
  172. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/iam_permission_pb.d.ts +0 -198
  173. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/iam_permission_pb.js +0 -203
  174. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/iam_permission_pb.js.map +0 -1
  175. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/io_pb.js +0 -16
  176. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/io_pb.js.map +0 -1
  177. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/method_options_pb.js +0 -29
  178. package/ai/stigmer/iam/iampolicy/v1/rpcauthorization/method_options_pb.js.map +0 -1
@@ -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"}
@@ -0,0 +1,79 @@
1
+ /**
2
+ * InvitationCommandController handles write operations for invitations.
3
+ *
4
+ * @generated from service ai.stigmer.iam.invitation.v1.InvitationCommandController
5
+ */
6
+ export declare const InvitationCommandController: {
7
+ readonly typeName: "ai.stigmer.iam.invitation.v1.InvitationCommandController";
8
+ readonly methods: {
9
+ /**
10
+ * Create an invitation link for an organization.
11
+ *
12
+ * Generates a cryptographically random token and returns the full
13
+ * invitation resource including the token. The invite URL is
14
+ * constructed as: https://<host>/invite/<token>
15
+ *
16
+ * The specified role must be in the organization's grantable_roles.
17
+ * Platform-managed organizations cannot create invitations.
18
+ *
19
+ * @internal
20
+ * Authorization: Requires can_grant_access permission on the organization.
21
+ *
22
+ * @generated from rpc ai.stigmer.iam.invitation.v1.InvitationCommandController.create
23
+ */
24
+ readonly create: {
25
+ readonly name: "create";
26
+ readonly I: any;
27
+ readonly O: any;
28
+ readonly kind: any;
29
+ };
30
+ /**
31
+ * Revoke an active invitation, preventing further redemptions.
32
+ *
33
+ * Sets the invitation state to revoked. Idempotent — revoking an
34
+ * already-revoked invitation is a no-op.
35
+ *
36
+ * @internal
37
+ * Authorization is handled in the handler: loads the invitation,
38
+ * resolves its organization, and checks can_grant_access on the org.
39
+ * Proto-level auth is skipped because the input (InvitationId) does
40
+ * not directly identify the org.
41
+ *
42
+ * @generated from rpc ai.stigmer.iam.invitation.v1.InvitationCommandController.revoke
43
+ */
44
+ readonly revoke: {
45
+ readonly name: "revoke";
46
+ readonly I: any;
47
+ readonly O: any;
48
+ readonly kind: any;
49
+ };
50
+ /**
51
+ * Redeem an invitation to join an organization.
52
+ *
53
+ * Creates an IAM policy granting the invitation's configured role to
54
+ * the authenticated user on the invitation's organization. The
55
+ * redemption is atomic: the IAM policy is created and the redemption
56
+ * count is incremented in a single operation.
57
+ *
58
+ * Validation:
59
+ * - Invitation must be in active state
60
+ * - Invitation must not be expired
61
+ * - Invitation must not have reached max_redemptions (if > 0)
62
+ * - Redeemer must not already be a member of the organization
63
+ *
64
+ * @internal
65
+ * Authorization: The token itself is the authorization mechanism.
66
+ * The redeemer's identity is resolved from the authentication header.
67
+ * FGA authorization is skipped — any authenticated user with a valid
68
+ * token can redeem.
69
+ *
70
+ * @generated from rpc ai.stigmer.iam.invitation.v1.InvitationCommandController.redeem
71
+ */
72
+ readonly redeem: {
73
+ readonly name: "redeem";
74
+ readonly I: any;
75
+ readonly O: any;
76
+ readonly kind: any;
77
+ };
78
+ };
79
+ };
@@ -0,0 +1,85 @@
1
+ // @generated by protoc-gen-connect-es v1.6.1 with parameter "target=ts"
2
+ // @generated from file ai/stigmer/iam/invitation/v1/command.proto (package ai.stigmer.iam.invitation.v1, syntax proto3)
3
+ /* eslint-disable */
4
+ // @ts-nocheck
5
+ import { MethodKind } from "@bufbuild/protobuf";
6
+ /**
7
+ * InvitationCommandController handles write operations for invitations.
8
+ *
9
+ * @generated from service ai.stigmer.iam.invitation.v1.InvitationCommandController
10
+ */
11
+ export const InvitationCommandController = {
12
+ typeName: "ai.stigmer.iam.invitation.v1.InvitationCommandController",
13
+ methods: {
14
+ /**
15
+ * Create an invitation link for an organization.
16
+ *
17
+ * Generates a cryptographically random token and returns the full
18
+ * invitation resource including the token. The invite URL is
19
+ * constructed as: https://<host>/invite/<token>
20
+ *
21
+ * The specified role must be in the organization's grantable_roles.
22
+ * Platform-managed organizations cannot create invitations.
23
+ *
24
+ * @internal
25
+ * Authorization: Requires can_grant_access permission on the organization.
26
+ *
27
+ * @generated from rpc ai.stigmer.iam.invitation.v1.InvitationCommandController.create
28
+ */
29
+ create: {
30
+ name: "create",
31
+ I: Invitation,
32
+ O: Invitation,
33
+ kind: MethodKind.Unary,
34
+ },
35
+ /**
36
+ * Revoke an active invitation, preventing further redemptions.
37
+ *
38
+ * Sets the invitation state to revoked. Idempotent — revoking an
39
+ * already-revoked invitation is a no-op.
40
+ *
41
+ * @internal
42
+ * Authorization is handled in the handler: loads the invitation,
43
+ * resolves its organization, and checks can_grant_access on the org.
44
+ * Proto-level auth is skipped because the input (InvitationId) does
45
+ * not directly identify the org.
46
+ *
47
+ * @generated from rpc ai.stigmer.iam.invitation.v1.InvitationCommandController.revoke
48
+ */
49
+ revoke: {
50
+ name: "revoke",
51
+ I: InvitationId,
52
+ O: Invitation,
53
+ kind: MethodKind.Unary,
54
+ },
55
+ /**
56
+ * Redeem an invitation to join an organization.
57
+ *
58
+ * Creates an IAM policy granting the invitation's configured role to
59
+ * the authenticated user on the invitation's organization. The
60
+ * redemption is atomic: the IAM policy is created and the redemption
61
+ * count is incremented in a single operation.
62
+ *
63
+ * Validation:
64
+ * - Invitation must be in active state
65
+ * - Invitation must not be expired
66
+ * - Invitation must not have reached max_redemptions (if > 0)
67
+ * - Redeemer must not already be a member of the organization
68
+ *
69
+ * @internal
70
+ * Authorization: The token itself is the authorization mechanism.
71
+ * The redeemer's identity is resolved from the authentication header.
72
+ * FGA authorization is skipped — any authenticated user with a valid
73
+ * token can redeem.
74
+ *
75
+ * @generated from rpc ai.stigmer.iam.invitation.v1.InvitationCommandController.redeem
76
+ */
77
+ redeem: {
78
+ name: "redeem",
79
+ I: RedeemInvitationInput,
80
+ O: Invitation,
81
+ kind: MethodKind.Unary,
82
+ },
83
+ }
84
+ };
85
+ //# sourceMappingURL=command_connect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command_connect.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/invitation/v1/command_connect.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,wHAAwH;AACxH,oBAAoB;AACpB,cAAc;AAGd,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,QAAQ,EAAE,0DAA0D;IACpE,OAAO,EAAE;QACP;;;;;;;;;;;;;;WAcG;QACH,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,UAAU;YACb,CAAC,EAAE,UAAU;YACb,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;WAaG;QACH,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,YAAY;YACf,CAAC,EAAE,UAAU;YACb,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;QACD;;;;;;;;;;;;;;;;;;;;;WAqBG;QACH,MAAM,EAAE;YACN,IAAI,EAAE,QAAQ;YACd,CAAC,EAAE,qBAAqB;YACxB,CAAC,EAAE,UAAU;YACb,IAAI,EAAE,UAAU,CAAC,KAAK;SACvB;KACF;CACO,CAAC"}
@@ -0,0 +1,80 @@
1
+ import type { GenFile, GenService } from "@bufbuild/protobuf/codegenv1";
2
+ import type { InvitationSchema } from "./api_pb";
3
+ import type { InvitationIdSchema, RedeemInvitationInputSchema } from "./io_pb";
4
+ /**
5
+ * Describes the file ai/stigmer/iam/invitation/v1/command.proto.
6
+ */
7
+ export declare const file_ai_stigmer_iam_invitation_v1_command: GenFile;
8
+ /**
9
+ * InvitationCommandController handles write operations for invitations.
10
+ *
11
+ * @generated from service ai.stigmer.iam.invitation.v1.InvitationCommandController
12
+ */
13
+ export declare const InvitationCommandController: GenService<{
14
+ /**
15
+ * Create an invitation link for an organization.
16
+ *
17
+ * Generates a cryptographically random token and returns the full
18
+ * invitation resource including the token. The invite URL is
19
+ * constructed as: https://<host>/invite/<token>
20
+ *
21
+ * The specified role must be in the organization's grantable_roles.
22
+ * Platform-managed organizations cannot create invitations.
23
+ *
24
+ * @internal
25
+ * Authorization: Requires can_grant_access permission on the organization.
26
+ *
27
+ * @generated from rpc ai.stigmer.iam.invitation.v1.InvitationCommandController.create
28
+ */
29
+ create: {
30
+ methodKind: "unary";
31
+ input: typeof InvitationSchema;
32
+ output: typeof InvitationSchema;
33
+ };
34
+ /**
35
+ * Revoke an active invitation, preventing further redemptions.
36
+ *
37
+ * Sets the invitation state to revoked. Idempotent — revoking an
38
+ * already-revoked invitation is a no-op.
39
+ *
40
+ * @internal
41
+ * Authorization is handled in the handler: loads the invitation,
42
+ * resolves its organization, and checks can_grant_access on the org.
43
+ * Proto-level auth is skipped because the input (InvitationId) does
44
+ * not directly identify the org.
45
+ *
46
+ * @generated from rpc ai.stigmer.iam.invitation.v1.InvitationCommandController.revoke
47
+ */
48
+ revoke: {
49
+ methodKind: "unary";
50
+ input: typeof InvitationIdSchema;
51
+ output: typeof InvitationSchema;
52
+ };
53
+ /**
54
+ * Redeem an invitation to join an organization.
55
+ *
56
+ * Creates an IAM policy granting the invitation's configured role to
57
+ * the authenticated user on the invitation's organization. The
58
+ * redemption is atomic: the IAM policy is created and the redemption
59
+ * count is incremented in a single operation.
60
+ *
61
+ * Validation:
62
+ * - Invitation must be in active state
63
+ * - Invitation must not be expired
64
+ * - Invitation must not have reached max_redemptions (if > 0)
65
+ * - Redeemer must not already be a member of the organization
66
+ *
67
+ * @internal
68
+ * Authorization: The token itself is the authorization mechanism.
69
+ * The redeemer's identity is resolved from the authentication header.
70
+ * FGA authorization is skipped — any authenticated user with a valid
71
+ * token can redeem.
72
+ *
73
+ * @generated from rpc ai.stigmer.iam.invitation.v1.InvitationCommandController.redeem
74
+ */
75
+ redeem: {
76
+ methodKind: "unary";
77
+ input: typeof RedeemInvitationInputSchema;
78
+ output: typeof InvitationSchema;
79
+ };
80
+ }>;
@@ -0,0 +1,19 @@
1
+ // @generated by protoc-gen-es v2.2.2 with parameter "target=ts"
2
+ // @generated from file ai/stigmer/iam/invitation/v1/command.proto (package ai.stigmer.iam.invitation.v1, syntax proto3)
3
+ /* eslint-disable */
4
+ import { fileDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
5
+ import { file_ai_stigmer_commons_apiresource_rpc_service_options } from "../../../commons/apiresource/rpc_service_options_pb";
6
+ import { file_ai_stigmer_commons_rpc_method_options } from "../../../commons/rpc/method_options_pb";
7
+ import { file_ai_stigmer_iam_invitation_v1_api } from "./api_pb";
8
+ import { file_ai_stigmer_iam_invitation_v1_io } from "./io_pb";
9
+ /**
10
+ * Describes the file ai/stigmer/iam/invitation/v1/command.proto.
11
+ */
12
+ export const file_ai_stigmer_iam_invitation_v1_command = /*@__PURE__*/ fileDesc("CiphaS9zdGlnbWVyL2lhbS9pbnZpdGF0aW9uL3YxL2NvbW1hbmQucHJvdG8SHGFpLnN0aWdtZXIuaWFtLmludml0YXRpb24udjEypwMKG0ludml0YXRpb25Db21tYW5kQ29udHJvbGxlchKsAQoGY3JlYXRlEiguYWkuc3RpZ21lci5pYW0uaW52aXRhdGlvbi52MS5JbnZpdGF0aW9uGiguYWkuc3RpZ21lci5pYW0uaW52aXRhdGlvbi52MS5JbnZpdGF0aW9uIk7CuBhKCAQQHiIMbWV0YWRhdGEub3JnKjZ1bmF1dGhvcml6ZWQgdG8gY3JlYXRlIGludml0YXRpb24gaW4gdGhpcyBvcmdhbml6YXRpb24SZAoGcmV2b2tlEiouYWkuc3RpZ21lci5pYW0uaW52aXRhdGlvbi52MS5JbnZpdGF0aW9uSWQaKC5haS5zdGlnbWVyLmlhbS5pbnZpdGF0aW9uLnYxLkludml0YXRpb24iBNC4GAESbQoGcmVkZWVtEjMuYWkuc3RpZ21lci5pYW0uaW52aXRhdGlvbi52MS5SZWRlZW1JbnZpdGF0aW9uSW5wdXQaKC5haS5zdGlnbWVyLmlhbS5pbnZpdGF0aW9uLnYxLkludml0YXRpb24iBNC4GAEaBKD/KxRiBnByb3RvMw", [file_ai_stigmer_commons_apiresource_rpc_service_options, file_ai_stigmer_commons_rpc_method_options, file_ai_stigmer_iam_invitation_v1_api, file_ai_stigmer_iam_invitation_v1_io]);
13
+ /**
14
+ * InvitationCommandController handles write operations for invitations.
15
+ *
16
+ * @generated from service ai.stigmer.iam.invitation.v1.InvitationCommandController
17
+ */
18
+ export const InvitationCommandController = /*@__PURE__*/ serviceDesc(file_ai_stigmer_iam_invitation_v1_command, 0);
19
+ //# sourceMappingURL=command_pb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command_pb.js","sourceRoot":"","sources":["../../../../../../ai/stigmer/iam/invitation/v1/command_pb.ts"],"names":[],"mappings":"AAAA,gEAAgE;AAChE,wHAAwH;AACxH,oBAAoB;AAGpB,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,uDAAuD,EAAE,MAAM,qDAAqD,CAAC;AAC9H,OAAO,EAAE,0CAA0C,EAAE,MAAM,wCAAwC,CAAC;AAEpG,OAAO,EAAE,qCAAqC,EAAE,MAAM,UAAU,CAAC;AAEjE,OAAO,EAAE,oCAAoC,EAAE,MAAM,SAAS,CAAC;AAE/D;;GAEG;AACH,MAAM,CAAC,MAAM,yCAAyC,GAAY,aAAa,CAC7E,QAAQ,CAAC,wqBAAwqB,EAAE,CAAC,uDAAuD,EAAE,0CAA0C,EAAE,qCAAqC,EAAE,oCAAoC,CAAC,CAAC,CAAC;AAEz2B;;;;GAIG;AACH,MAAM,CAAC,MAAM,2BAA2B,GAmEnC,aAAa,CAChB,WAAW,CAAC,yCAAyC,EAAE,CAAC,CAAC,CAAC"}
@@ -0,0 +1,49 @@
1
+ import type { GenEnum, GenFile } from "@bufbuild/protobuf/codegenv1";
2
+ /**
3
+ * Describes the file ai/stigmer/iam/invitation/v1/enum.proto.
4
+ */
5
+ export declare const file_ai_stigmer_iam_invitation_v1_enum: GenFile;
6
+ /**
7
+ * InvitationState tracks the lifecycle of an invitation link.
8
+ *
9
+ * State transitions:
10
+ * active -> expired (system: past expires_at)
11
+ * active -> revoked (admin: explicit revocation)
12
+ * active -> fully_redeemed (system: redemption_count >= max_redemptions)
13
+ *
14
+ * @generated from enum ai.stigmer.iam.invitation.v1.InvitationState
15
+ */
16
+ export declare enum InvitationState {
17
+ /**
18
+ * @generated from enum value: invitation_state_unspecified = 0;
19
+ */
20
+ invitation_state_unspecified = 0,
21
+ /**
22
+ * The invitation is valid and can be redeemed.
23
+ *
24
+ * @generated from enum value: active = 1;
25
+ */
26
+ active = 1,
27
+ /**
28
+ * The invitation has passed its expires_at timestamp.
29
+ *
30
+ * @generated from enum value: expired = 2;
31
+ */
32
+ expired = 2,
33
+ /**
34
+ * An org admin explicitly revoked the invitation.
35
+ *
36
+ * @generated from enum value: revoked = 3;
37
+ */
38
+ revoked = 3,
39
+ /**
40
+ * The invitation reached its max_redemptions limit.
41
+ *
42
+ * @generated from enum value: fully_redeemed = 4;
43
+ */
44
+ fully_redeemed = 4
45
+ }
46
+ /**
47
+ * Describes the enum ai.stigmer.iam.invitation.v1.InvitationState.
48
+ */
49
+ export declare const InvitationStateSchema: GenEnum<InvitationState>;