@structured-id/ui-core 0.1.5

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 (156) hide show
  1. package/LICENSE +661 -0
  2. package/README.md +47 -0
  3. package/dist/browser-vp/index.cjs +349 -0
  4. package/dist/browser-vp/index.d.cts +287 -0
  5. package/dist/browser-vp/index.d.ts +287 -0
  6. package/dist/browser-vp/index.js +349 -0
  7. package/dist/chunk-C3Q766CY.cjs +125 -0
  8. package/dist/chunk-J5YXRXB5.js +125 -0
  9. package/dist/index.cjs +19360 -0
  10. package/dist/index.d.cts +9536 -0
  11. package/dist/index.d.ts +9536 -0
  12. package/dist/index.js +19360 -0
  13. package/dist/storage-4CB2JTLW.cjs +22 -0
  14. package/dist/storage-THRWREZP.js +22 -0
  15. package/package.json +93 -0
  16. package/src/browser-vp/crypto.ts +254 -0
  17. package/src/browser-vp/index.test.ts +10 -0
  18. package/src/browser-vp/index.ts +118 -0
  19. package/src/browser-vp/prf.ts +181 -0
  20. package/src/browser-vp/storage.test.ts +9 -0
  21. package/src/browser-vp/storage.ts +165 -0
  22. package/src/browser-vp/types.ts +97 -0
  23. package/src/browser-vp/vp.test.ts +43 -0
  24. package/src/browser-vp/vp.ts +113 -0
  25. package/src/components/SidAvatar.vue +106 -0
  26. package/src/components/SidConfirmDialog.vue +125 -0
  27. package/src/components/SidStatusBadge.vue +71 -0
  28. package/src/components/index.ts +5 -0
  29. package/src/composables/index.ts +10 -0
  30. package/src/composables/useAuth.ts +40 -0
  31. package/src/composables/useBffAuth.ts +147 -0
  32. package/src/composables/useGrpc.test.ts +196 -0
  33. package/src/composables/useGrpc.ts +120 -0
  34. package/src/composables/useSession.ts +80 -0
  35. package/src/generated/google/api/http.ts +687 -0
  36. package/src/generated/google/protobuf/descriptor.ts +4865 -0
  37. package/src/generated/google/protobuf/duration.ts +230 -0
  38. package/src/generated/google/protobuf/empty.ts +94 -0
  39. package/src/generated/google/protobuf/struct.ts +484 -0
  40. package/src/generated/google/protobuf/timestamp.ts +287 -0
  41. package/src/generated/sid/v1/account/account.client.ts +527 -0
  42. package/src/generated/sid/v1/account/account.ts +3261 -0
  43. package/src/generated/sid/v1/admin/admin.client.ts +136 -0
  44. package/src/generated/sid/v1/admin/admin.ts +846 -0
  45. package/src/generated/sid/v1/admin/admin_roles.client.ts +181 -0
  46. package/src/generated/sid/v1/admin/admin_roles.ts +1606 -0
  47. package/src/generated/sid/v1/admin/analytics.client.ts +106 -0
  48. package/src/generated/sid/v1/admin/analytics.ts +1017 -0
  49. package/src/generated/sid/v1/admin/branding.client.ts +166 -0
  50. package/src/generated/sid/v1/admin/branding.ts +1906 -0
  51. package/src/generated/sid/v1/admin/enrollment.client.ts +165 -0
  52. package/src/generated/sid/v1/admin/enrollment.ts +1704 -0
  53. package/src/generated/sid/v1/admin/events.client.ts +195 -0
  54. package/src/generated/sid/v1/admin/events.ts +1900 -0
  55. package/src/generated/sid/v1/admin/flow.client.ts +183 -0
  56. package/src/generated/sid/v1/admin/flow.ts +1552 -0
  57. package/src/generated/sid/v1/admin/keys.client.ts +107 -0
  58. package/src/generated/sid/v1/admin/keys.ts +931 -0
  59. package/src/generated/sid/v1/admin/login_experience.client.ts +160 -0
  60. package/src/generated/sid/v1/admin/login_experience.ts +1061 -0
  61. package/src/generated/sid/v1/admin/migration.client.ts +127 -0
  62. package/src/generated/sid/v1/admin/migration.ts +1948 -0
  63. package/src/generated/sid/v1/admin/notifications.client.ts +128 -0
  64. package/src/generated/sid/v1/admin/notifications.ts +1332 -0
  65. package/src/generated/sid/v1/admin/operations.client.ts +241 -0
  66. package/src/generated/sid/v1/admin/operations.ts +2648 -0
  67. package/src/generated/sid/v1/admin/organizations.client.ts +57 -0
  68. package/src/generated/sid/v1/admin/organizations.ts +349 -0
  69. package/src/generated/sid/v1/admin/scopes.client.ts +171 -0
  70. package/src/generated/sid/v1/admin/scopes.ts +1324 -0
  71. package/src/generated/sid/v1/admin/security.client.ts +412 -0
  72. package/src/generated/sid/v1/admin/security.ts +4086 -0
  73. package/src/generated/sid/v1/admin/sessions.client.ts +114 -0
  74. package/src/generated/sid/v1/admin/sessions.ts +923 -0
  75. package/src/generated/sid/v1/admin/settings.client.ts +340 -0
  76. package/src/generated/sid/v1/admin/settings.ts +2395 -0
  77. package/src/generated/sid/v1/admin/user_profile.client.ts +57 -0
  78. package/src/generated/sid/v1/admin/user_profile.ts +730 -0
  79. package/src/generated/sid/v1/admin/webhooks.client.ts +269 -0
  80. package/src/generated/sid/v1/admin/webhooks.ts +2804 -0
  81. package/src/generated/sid/v1/attestation/attestation.client.ts +115 -0
  82. package/src/generated/sid/v1/attestation/attestation.ts +813 -0
  83. package/src/generated/sid/v1/authn/auth.client.ts +900 -0
  84. package/src/generated/sid/v1/authn/auth.ts +9287 -0
  85. package/src/generated/sid/v1/authn/flows.client.ts +413 -0
  86. package/src/generated/sid/v1/authn/flows.ts +3217 -0
  87. package/src/generated/sid/v1/authz/authz.client.ts +459 -0
  88. package/src/generated/sid/v1/authz/authz.ts +5343 -0
  89. package/src/generated/sid/v1/authz/governance.client.ts +102 -0
  90. package/src/generated/sid/v1/authz/governance.ts +818 -0
  91. package/src/generated/sid/v1/common/errors.ts +184 -0
  92. package/src/generated/sid/v1/common/pagination.ts +152 -0
  93. package/src/generated/sid/v1/common/transport.ts +227 -0
  94. package/src/generated/sid/v1/common/types.ts +151 -0
  95. package/src/generated/sid/v1/events/event_stream.client.ts +67 -0
  96. package/src/generated/sid/v1/events/event_stream.ts +374 -0
  97. package/src/generated/sid/v1/federation/upstream.client.ts +142 -0
  98. package/src/generated/sid/v1/federation/upstream.ts +1736 -0
  99. package/src/generated/sid/v1/identity/identity.client.ts +467 -0
  100. package/src/generated/sid/v1/identity/identity.ts +5613 -0
  101. package/src/generated/sid/v1/machine/machine_user.client.ts +219 -0
  102. package/src/generated/sid/v1/machine/machine_user.ts +2400 -0
  103. package/src/generated/sid/v1/machine/pat.client.ts +147 -0
  104. package/src/generated/sid/v1/machine/pat.ts +1268 -0
  105. package/src/generated/sid/v1/projects/projects.client.ts +286 -0
  106. package/src/generated/sid/v1/projects/projects.ts +2714 -0
  107. package/src/generated/sid/v1/scim/scim.client.ts +274 -0
  108. package/src/generated/sid/v1/scim/scim.ts +3043 -0
  109. package/src/generated/sid/v1/test/test.client.ts +232 -0
  110. package/src/generated/sid/v1/test/test.ts +1136 -0
  111. package/src/i18n/index.ts +40 -0
  112. package/src/index.ts +157 -0
  113. package/src/profile/auth.ts +15 -0
  114. package/src/profile/components/ConsentManager.vue +88 -0
  115. package/src/profile/components/ProfileEditor.vue +146 -0
  116. package/src/profile/components/SecuritySettings.vue +170 -0
  117. package/src/profile/components/SessionList.vue +100 -0
  118. package/src/profile/components/SidLoginForm.test.ts +80 -0
  119. package/src/profile/components/SidLoginForm.vue +230 -0
  120. package/src/profile/components/SidMfaChallenge.test.ts +127 -0
  121. package/src/profile/components/SidMfaChallenge.vue +243 -0
  122. package/src/profile/components/SidRegistrationForm.test.ts +79 -0
  123. package/src/profile/components/SidRegistrationForm.vue +317 -0
  124. package/src/profile/components/index.ts +11 -0
  125. package/src/profile/composables/index.ts +6 -0
  126. package/src/profile/composables/useAccountApi.ts +203 -0
  127. package/src/profile/composables/useAuthApi.opaque.test.ts +140 -0
  128. package/src/profile/composables/useAuthApi.ts +617 -0
  129. package/src/profile/composables/useIdentityApi.ts +123 -0
  130. package/src/profile/composables/useLoginSuccess.test.ts +112 -0
  131. package/src/profile/composables/useLoginSuccess.ts +65 -0
  132. package/src/profile/composables/useOpaqueAuth.test.ts +290 -0
  133. package/src/profile/composables/useOpaqueAuth.ts +191 -0
  134. package/src/profile/composables/useSecurityLevel.test.ts +198 -0
  135. package/src/profile/composables/useSecurityLevel.ts +324 -0
  136. package/src/profile/index.ts +18 -0
  137. package/src/quasar/SidPrincipalInput.vue +209 -0
  138. package/src/quasar/index.ts +8 -0
  139. package/src/stores/auth.test.ts +83 -0
  140. package/src/stores/auth.ts +92 -0
  141. package/src/stores/index.ts +1 -0
  142. package/src/transport/adaptive.test.ts +728 -0
  143. package/src/transport/adaptive.ts +308 -0
  144. package/src/transport/framing.test.ts +227 -0
  145. package/src/transport/framing.ts +98 -0
  146. package/src/transport/webtransport.test.ts +728 -0
  147. package/src/transport/webtransport.ts +323 -0
  148. package/src/types/auth.ts +58 -0
  149. package/src/types/index.ts +1 -0
  150. package/src/utils/formatters.test.ts +26 -0
  151. package/src/utils/formatters.ts +69 -0
  152. package/src/utils/index.ts +16 -0
  153. package/src/utils/normalizePrincipal.test.ts +188 -0
  154. package/src/utils/normalizePrincipal.ts +159 -0
  155. package/src/utils/validators.test.ts +75 -0
  156. package/src/utils/validators.ts +36 -0
@@ -0,0 +1,459 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter client_generic,generate_dependencies
2
+ // @generated from protobuf file "sid/v1/authz/authz.proto" (package "sid.v1.authz", syntax proto3)
3
+ // tslint:disable
4
+ import type { RpcTransport } from "@protobuf-ts/runtime-rpc";
5
+ import type { ServiceInfo } from "@protobuf-ts/runtime-rpc";
6
+ import { AuthzService } from "./authz";
7
+ import type { SimulatePolicyResponse } from "./authz";
8
+ import type { SimulatePolicyRequest } from "./authz";
9
+ import type { CheckSodConflictsResponse } from "./authz";
10
+ import type { CheckSodConflictsRequest } from "./authz";
11
+ import type { ValidatePolicyResponse } from "./authz";
12
+ import type { ValidatePolicyRequest } from "./authz";
13
+ import type { EvaluatePolicyResponse } from "./authz";
14
+ import type { EvaluatePolicyRequest } from "./authz";
15
+ import type { ListPoliciesResponse } from "./authz";
16
+ import type { ListPoliciesRequest } from "./authz";
17
+ import type { DeletePolicyResponse } from "./authz";
18
+ import type { DeletePolicyRequest } from "./authz";
19
+ import type { UpdatePolicyResponse } from "./authz";
20
+ import type { UpdatePolicyRequest } from "./authz";
21
+ import type { GetPolicyResponse } from "./authz";
22
+ import type { GetPolicyRequest } from "./authz";
23
+ import type { CreatePolicyResponse } from "./authz";
24
+ import type { CreatePolicyRequest } from "./authz";
25
+ import type { ListGroupMembersResponse } from "./authz";
26
+ import type { ListGroupMembersRequest } from "./authz";
27
+ import type { RemoveFromGroupResponse } from "./authz";
28
+ import type { RemoveFromGroupRequest } from "./authz";
29
+ import type { AddToGroupResponse } from "./authz";
30
+ import type { AddToGroupRequest } from "./authz";
31
+ import type { ListGroupsResponse } from "./authz";
32
+ import type { ListGroupsRequest } from "./authz";
33
+ import type { DeleteGroupResponse } from "./authz";
34
+ import type { DeleteGroupRequest } from "./authz";
35
+ import type { UpdateGroupResponse } from "./authz";
36
+ import type { UpdateGroupRequest } from "./authz";
37
+ import type { GetGroupResponse } from "./authz";
38
+ import type { GetGroupRequest } from "./authz";
39
+ import type { CreateGroupResponse } from "./authz";
40
+ import type { CreateGroupRequest } from "./authz";
41
+ import type { ListRoleAssignmentsResponse } from "./authz";
42
+ import type { ListRoleAssignmentsRequest } from "./authz";
43
+ import type { RevokeRoleResponse } from "./authz";
44
+ import type { RevokeRoleRequest } from "./authz";
45
+ import type { AssignRoleResponse } from "./authz";
46
+ import type { AssignRoleRequest } from "./authz";
47
+ import type { ListRolesResponse } from "./authz";
48
+ import type { ListRolesRequest } from "./authz";
49
+ import type { DeleteRoleResponse } from "./authz";
50
+ import type { DeleteRoleRequest } from "./authz";
51
+ import type { UpdateRoleResponse } from "./authz";
52
+ import type { UpdateRoleRequest } from "./authz";
53
+ import type { GetRoleResponse } from "./authz";
54
+ import type { GetRoleRequest } from "./authz";
55
+ import type { CreateRoleResponse } from "./authz";
56
+ import type { CreateRoleRequest } from "./authz";
57
+ import type { ListSubjectsResponse } from "./authz";
58
+ import type { ListSubjectsRequest } from "./authz";
59
+ import type { ListObjectsResponse } from "./authz";
60
+ import type { ListObjectsRequest } from "./authz";
61
+ import type { BatchCheckPermissionResponse } from "./authz";
62
+ import type { BatchCheckPermissionRequest } from "./authz";
63
+ import { stackIntercept } from "@protobuf-ts/runtime-rpc";
64
+ import type { CheckPermissionResponse } from "./authz";
65
+ import type { CheckPermissionRequest } from "./authz";
66
+ import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
67
+ import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
68
+ // ── Service ──────────────────────────────────────────────────────────
69
+
70
+ /**
71
+ * AuthzService handles authorization, RBAC, and policy evaluation.
72
+ *
73
+ * @generated from protobuf service sid.v1.authz.AuthzService
74
+ */
75
+ export interface IAuthzServiceClient {
76
+ /**
77
+ * Permission check (primary authorization API).
78
+ *
79
+ * @generated from protobuf rpc: CheckPermission
80
+ */
81
+ checkPermission(input: CheckPermissionRequest, options?: RpcOptions): UnaryCall<CheckPermissionRequest, CheckPermissionResponse>;
82
+ /**
83
+ * @generated from protobuf rpc: BatchCheckPermission
84
+ */
85
+ batchCheckPermission(input: BatchCheckPermissionRequest, options?: RpcOptions): UnaryCall<BatchCheckPermissionRequest, BatchCheckPermissionResponse>;
86
+ /**
87
+ * List objects accessible by subject.
88
+ *
89
+ * @generated from protobuf rpc: ListObjects
90
+ */
91
+ listObjects(input: ListObjectsRequest, options?: RpcOptions): UnaryCall<ListObjectsRequest, ListObjectsResponse>;
92
+ /**
93
+ * List subjects that can access an object.
94
+ *
95
+ * @generated from protobuf rpc: ListSubjects
96
+ */
97
+ listSubjects(input: ListSubjectsRequest, options?: RpcOptions): UnaryCall<ListSubjectsRequest, ListSubjectsResponse>;
98
+ /**
99
+ * Role management.
100
+ *
101
+ * @generated from protobuf rpc: CreateRole
102
+ */
103
+ createRole(input: CreateRoleRequest, options?: RpcOptions): UnaryCall<CreateRoleRequest, CreateRoleResponse>;
104
+ /**
105
+ * @generated from protobuf rpc: GetRole
106
+ */
107
+ getRole(input: GetRoleRequest, options?: RpcOptions): UnaryCall<GetRoleRequest, GetRoleResponse>;
108
+ /**
109
+ * @generated from protobuf rpc: UpdateRole
110
+ */
111
+ updateRole(input: UpdateRoleRequest, options?: RpcOptions): UnaryCall<UpdateRoleRequest, UpdateRoleResponse>;
112
+ /**
113
+ * @generated from protobuf rpc: DeleteRole
114
+ */
115
+ deleteRole(input: DeleteRoleRequest, options?: RpcOptions): UnaryCall<DeleteRoleRequest, DeleteRoleResponse>;
116
+ /**
117
+ * @generated from protobuf rpc: ListRoles
118
+ */
119
+ listRoles(input: ListRolesRequest, options?: RpcOptions): UnaryCall<ListRolesRequest, ListRolesResponse>;
120
+ /**
121
+ * Role assignment.
122
+ *
123
+ * @generated from protobuf rpc: AssignRole
124
+ */
125
+ assignRole(input: AssignRoleRequest, options?: RpcOptions): UnaryCall<AssignRoleRequest, AssignRoleResponse>;
126
+ /**
127
+ * @generated from protobuf rpc: RevokeRole
128
+ */
129
+ revokeRole(input: RevokeRoleRequest, options?: RpcOptions): UnaryCall<RevokeRoleRequest, RevokeRoleResponse>;
130
+ /**
131
+ * @generated from protobuf rpc: ListRoleAssignments
132
+ */
133
+ listRoleAssignments(input: ListRoleAssignmentsRequest, options?: RpcOptions): UnaryCall<ListRoleAssignmentsRequest, ListRoleAssignmentsResponse>;
134
+ /**
135
+ * Group management.
136
+ *
137
+ * @generated from protobuf rpc: CreateGroup
138
+ */
139
+ createGroup(input: CreateGroupRequest, options?: RpcOptions): UnaryCall<CreateGroupRequest, CreateGroupResponse>;
140
+ /**
141
+ * @generated from protobuf rpc: GetGroup
142
+ */
143
+ getGroup(input: GetGroupRequest, options?: RpcOptions): UnaryCall<GetGroupRequest, GetGroupResponse>;
144
+ /**
145
+ * @generated from protobuf rpc: UpdateGroup
146
+ */
147
+ updateGroup(input: UpdateGroupRequest, options?: RpcOptions): UnaryCall<UpdateGroupRequest, UpdateGroupResponse>;
148
+ /**
149
+ * @generated from protobuf rpc: DeleteGroup
150
+ */
151
+ deleteGroup(input: DeleteGroupRequest, options?: RpcOptions): UnaryCall<DeleteGroupRequest, DeleteGroupResponse>;
152
+ /**
153
+ * @generated from protobuf rpc: ListGroups
154
+ */
155
+ listGroups(input: ListGroupsRequest, options?: RpcOptions): UnaryCall<ListGroupsRequest, ListGroupsResponse>;
156
+ /**
157
+ * Group membership.
158
+ *
159
+ * @generated from protobuf rpc: AddToGroup
160
+ */
161
+ addToGroup(input: AddToGroupRequest, options?: RpcOptions): UnaryCall<AddToGroupRequest, AddToGroupResponse>;
162
+ /**
163
+ * @generated from protobuf rpc: RemoveFromGroup
164
+ */
165
+ removeFromGroup(input: RemoveFromGroupRequest, options?: RpcOptions): UnaryCall<RemoveFromGroupRequest, RemoveFromGroupResponse>;
166
+ /**
167
+ * @generated from protobuf rpc: ListGroupMembers
168
+ */
169
+ listGroupMembers(input: ListGroupMembersRequest, options?: RpcOptions): UnaryCall<ListGroupMembersRequest, ListGroupMembersResponse>;
170
+ /**
171
+ * Policy management (Cedar ABAC).
172
+ *
173
+ * @generated from protobuf rpc: CreatePolicy
174
+ */
175
+ createPolicy(input: CreatePolicyRequest, options?: RpcOptions): UnaryCall<CreatePolicyRequest, CreatePolicyResponse>;
176
+ /**
177
+ * @generated from protobuf rpc: GetPolicy
178
+ */
179
+ getPolicy(input: GetPolicyRequest, options?: RpcOptions): UnaryCall<GetPolicyRequest, GetPolicyResponse>;
180
+ /**
181
+ * @generated from protobuf rpc: UpdatePolicy
182
+ */
183
+ updatePolicy(input: UpdatePolicyRequest, options?: RpcOptions): UnaryCall<UpdatePolicyRequest, UpdatePolicyResponse>;
184
+ /**
185
+ * @generated from protobuf rpc: DeletePolicy
186
+ */
187
+ deletePolicy(input: DeletePolicyRequest, options?: RpcOptions): UnaryCall<DeletePolicyRequest, DeletePolicyResponse>;
188
+ /**
189
+ * @generated from protobuf rpc: ListPolicies
190
+ */
191
+ listPolicies(input: ListPoliciesRequest, options?: RpcOptions): UnaryCall<ListPoliciesRequest, ListPoliciesResponse>;
192
+ /**
193
+ * Policy evaluation.
194
+ *
195
+ * @generated from protobuf rpc: EvaluatePolicy
196
+ */
197
+ evaluatePolicy(input: EvaluatePolicyRequest, options?: RpcOptions): UnaryCall<EvaluatePolicyRequest, EvaluatePolicyResponse>;
198
+ /**
199
+ * @generated from protobuf rpc: ValidatePolicy
200
+ */
201
+ validatePolicy(input: ValidatePolicyRequest, options?: RpcOptions): UnaryCall<ValidatePolicyRequest, ValidatePolicyResponse>;
202
+ /**
203
+ * SoD (Separation of Duties) conflict check.
204
+ *
205
+ * @generated from protobuf rpc: CheckSodConflicts
206
+ */
207
+ checkSodConflicts(input: CheckSodConflictsRequest, options?: RpcOptions): UnaryCall<CheckSodConflictsRequest, CheckSodConflictsResponse>;
208
+ // ── Policy Simulation ──
209
+
210
+ /**
211
+ * Simulate proposed policy changes without persisting.
212
+ * What-if analysis: compares current vs proposed state for affected principals.
213
+ *
214
+ * @generated from protobuf rpc: SimulatePolicy
215
+ */
216
+ simulatePolicy(input: SimulatePolicyRequest, options?: RpcOptions): UnaryCall<SimulatePolicyRequest, SimulatePolicyResponse>;
217
+ }
218
+ // ── Service ──────────────────────────────────────────────────────────
219
+
220
+ /**
221
+ * AuthzService handles authorization, RBAC, and policy evaluation.
222
+ *
223
+ * @generated from protobuf service sid.v1.authz.AuthzService
224
+ */
225
+ export class AuthzServiceClient implements IAuthzServiceClient, ServiceInfo {
226
+ typeName = AuthzService.typeName;
227
+ methods = AuthzService.methods;
228
+ options = AuthzService.options;
229
+ constructor(private readonly _transport: RpcTransport) {
230
+ }
231
+ /**
232
+ * Permission check (primary authorization API).
233
+ *
234
+ * @generated from protobuf rpc: CheckPermission
235
+ */
236
+ checkPermission(input: CheckPermissionRequest, options?: RpcOptions): UnaryCall<CheckPermissionRequest, CheckPermissionResponse> {
237
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
238
+ return stackIntercept<CheckPermissionRequest, CheckPermissionResponse>("unary", this._transport, method, opt, input);
239
+ }
240
+ /**
241
+ * @generated from protobuf rpc: BatchCheckPermission
242
+ */
243
+ batchCheckPermission(input: BatchCheckPermissionRequest, options?: RpcOptions): UnaryCall<BatchCheckPermissionRequest, BatchCheckPermissionResponse> {
244
+ const method = this.methods[1], opt = this._transport.mergeOptions(options);
245
+ return stackIntercept<BatchCheckPermissionRequest, BatchCheckPermissionResponse>("unary", this._transport, method, opt, input);
246
+ }
247
+ /**
248
+ * List objects accessible by subject.
249
+ *
250
+ * @generated from protobuf rpc: ListObjects
251
+ */
252
+ listObjects(input: ListObjectsRequest, options?: RpcOptions): UnaryCall<ListObjectsRequest, ListObjectsResponse> {
253
+ const method = this.methods[2], opt = this._transport.mergeOptions(options);
254
+ return stackIntercept<ListObjectsRequest, ListObjectsResponse>("unary", this._transport, method, opt, input);
255
+ }
256
+ /**
257
+ * List subjects that can access an object.
258
+ *
259
+ * @generated from protobuf rpc: ListSubjects
260
+ */
261
+ listSubjects(input: ListSubjectsRequest, options?: RpcOptions): UnaryCall<ListSubjectsRequest, ListSubjectsResponse> {
262
+ const method = this.methods[3], opt = this._transport.mergeOptions(options);
263
+ return stackIntercept<ListSubjectsRequest, ListSubjectsResponse>("unary", this._transport, method, opt, input);
264
+ }
265
+ /**
266
+ * Role management.
267
+ *
268
+ * @generated from protobuf rpc: CreateRole
269
+ */
270
+ createRole(input: CreateRoleRequest, options?: RpcOptions): UnaryCall<CreateRoleRequest, CreateRoleResponse> {
271
+ const method = this.methods[4], opt = this._transport.mergeOptions(options);
272
+ return stackIntercept<CreateRoleRequest, CreateRoleResponse>("unary", this._transport, method, opt, input);
273
+ }
274
+ /**
275
+ * @generated from protobuf rpc: GetRole
276
+ */
277
+ getRole(input: GetRoleRequest, options?: RpcOptions): UnaryCall<GetRoleRequest, GetRoleResponse> {
278
+ const method = this.methods[5], opt = this._transport.mergeOptions(options);
279
+ return stackIntercept<GetRoleRequest, GetRoleResponse>("unary", this._transport, method, opt, input);
280
+ }
281
+ /**
282
+ * @generated from protobuf rpc: UpdateRole
283
+ */
284
+ updateRole(input: UpdateRoleRequest, options?: RpcOptions): UnaryCall<UpdateRoleRequest, UpdateRoleResponse> {
285
+ const method = this.methods[6], opt = this._transport.mergeOptions(options);
286
+ return stackIntercept<UpdateRoleRequest, UpdateRoleResponse>("unary", this._transport, method, opt, input);
287
+ }
288
+ /**
289
+ * @generated from protobuf rpc: DeleteRole
290
+ */
291
+ deleteRole(input: DeleteRoleRequest, options?: RpcOptions): UnaryCall<DeleteRoleRequest, DeleteRoleResponse> {
292
+ const method = this.methods[7], opt = this._transport.mergeOptions(options);
293
+ return stackIntercept<DeleteRoleRequest, DeleteRoleResponse>("unary", this._transport, method, opt, input);
294
+ }
295
+ /**
296
+ * @generated from protobuf rpc: ListRoles
297
+ */
298
+ listRoles(input: ListRolesRequest, options?: RpcOptions): UnaryCall<ListRolesRequest, ListRolesResponse> {
299
+ const method = this.methods[8], opt = this._transport.mergeOptions(options);
300
+ return stackIntercept<ListRolesRequest, ListRolesResponse>("unary", this._transport, method, opt, input);
301
+ }
302
+ /**
303
+ * Role assignment.
304
+ *
305
+ * @generated from protobuf rpc: AssignRole
306
+ */
307
+ assignRole(input: AssignRoleRequest, options?: RpcOptions): UnaryCall<AssignRoleRequest, AssignRoleResponse> {
308
+ const method = this.methods[9], opt = this._transport.mergeOptions(options);
309
+ return stackIntercept<AssignRoleRequest, AssignRoleResponse>("unary", this._transport, method, opt, input);
310
+ }
311
+ /**
312
+ * @generated from protobuf rpc: RevokeRole
313
+ */
314
+ revokeRole(input: RevokeRoleRequest, options?: RpcOptions): UnaryCall<RevokeRoleRequest, RevokeRoleResponse> {
315
+ const method = this.methods[10], opt = this._transport.mergeOptions(options);
316
+ return stackIntercept<RevokeRoleRequest, RevokeRoleResponse>("unary", this._transport, method, opt, input);
317
+ }
318
+ /**
319
+ * @generated from protobuf rpc: ListRoleAssignments
320
+ */
321
+ listRoleAssignments(input: ListRoleAssignmentsRequest, options?: RpcOptions): UnaryCall<ListRoleAssignmentsRequest, ListRoleAssignmentsResponse> {
322
+ const method = this.methods[11], opt = this._transport.mergeOptions(options);
323
+ return stackIntercept<ListRoleAssignmentsRequest, ListRoleAssignmentsResponse>("unary", this._transport, method, opt, input);
324
+ }
325
+ /**
326
+ * Group management.
327
+ *
328
+ * @generated from protobuf rpc: CreateGroup
329
+ */
330
+ createGroup(input: CreateGroupRequest, options?: RpcOptions): UnaryCall<CreateGroupRequest, CreateGroupResponse> {
331
+ const method = this.methods[12], opt = this._transport.mergeOptions(options);
332
+ return stackIntercept<CreateGroupRequest, CreateGroupResponse>("unary", this._transport, method, opt, input);
333
+ }
334
+ /**
335
+ * @generated from protobuf rpc: GetGroup
336
+ */
337
+ getGroup(input: GetGroupRequest, options?: RpcOptions): UnaryCall<GetGroupRequest, GetGroupResponse> {
338
+ const method = this.methods[13], opt = this._transport.mergeOptions(options);
339
+ return stackIntercept<GetGroupRequest, GetGroupResponse>("unary", this._transport, method, opt, input);
340
+ }
341
+ /**
342
+ * @generated from protobuf rpc: UpdateGroup
343
+ */
344
+ updateGroup(input: UpdateGroupRequest, options?: RpcOptions): UnaryCall<UpdateGroupRequest, UpdateGroupResponse> {
345
+ const method = this.methods[14], opt = this._transport.mergeOptions(options);
346
+ return stackIntercept<UpdateGroupRequest, UpdateGroupResponse>("unary", this._transport, method, opt, input);
347
+ }
348
+ /**
349
+ * @generated from protobuf rpc: DeleteGroup
350
+ */
351
+ deleteGroup(input: DeleteGroupRequest, options?: RpcOptions): UnaryCall<DeleteGroupRequest, DeleteGroupResponse> {
352
+ const method = this.methods[15], opt = this._transport.mergeOptions(options);
353
+ return stackIntercept<DeleteGroupRequest, DeleteGroupResponse>("unary", this._transport, method, opt, input);
354
+ }
355
+ /**
356
+ * @generated from protobuf rpc: ListGroups
357
+ */
358
+ listGroups(input: ListGroupsRequest, options?: RpcOptions): UnaryCall<ListGroupsRequest, ListGroupsResponse> {
359
+ const method = this.methods[16], opt = this._transport.mergeOptions(options);
360
+ return stackIntercept<ListGroupsRequest, ListGroupsResponse>("unary", this._transport, method, opt, input);
361
+ }
362
+ /**
363
+ * Group membership.
364
+ *
365
+ * @generated from protobuf rpc: AddToGroup
366
+ */
367
+ addToGroup(input: AddToGroupRequest, options?: RpcOptions): UnaryCall<AddToGroupRequest, AddToGroupResponse> {
368
+ const method = this.methods[17], opt = this._transport.mergeOptions(options);
369
+ return stackIntercept<AddToGroupRequest, AddToGroupResponse>("unary", this._transport, method, opt, input);
370
+ }
371
+ /**
372
+ * @generated from protobuf rpc: RemoveFromGroup
373
+ */
374
+ removeFromGroup(input: RemoveFromGroupRequest, options?: RpcOptions): UnaryCall<RemoveFromGroupRequest, RemoveFromGroupResponse> {
375
+ const method = this.methods[18], opt = this._transport.mergeOptions(options);
376
+ return stackIntercept<RemoveFromGroupRequest, RemoveFromGroupResponse>("unary", this._transport, method, opt, input);
377
+ }
378
+ /**
379
+ * @generated from protobuf rpc: ListGroupMembers
380
+ */
381
+ listGroupMembers(input: ListGroupMembersRequest, options?: RpcOptions): UnaryCall<ListGroupMembersRequest, ListGroupMembersResponse> {
382
+ const method = this.methods[19], opt = this._transport.mergeOptions(options);
383
+ return stackIntercept<ListGroupMembersRequest, ListGroupMembersResponse>("unary", this._transport, method, opt, input);
384
+ }
385
+ /**
386
+ * Policy management (Cedar ABAC).
387
+ *
388
+ * @generated from protobuf rpc: CreatePolicy
389
+ */
390
+ createPolicy(input: CreatePolicyRequest, options?: RpcOptions): UnaryCall<CreatePolicyRequest, CreatePolicyResponse> {
391
+ const method = this.methods[20], opt = this._transport.mergeOptions(options);
392
+ return stackIntercept<CreatePolicyRequest, CreatePolicyResponse>("unary", this._transport, method, opt, input);
393
+ }
394
+ /**
395
+ * @generated from protobuf rpc: GetPolicy
396
+ */
397
+ getPolicy(input: GetPolicyRequest, options?: RpcOptions): UnaryCall<GetPolicyRequest, GetPolicyResponse> {
398
+ const method = this.methods[21], opt = this._transport.mergeOptions(options);
399
+ return stackIntercept<GetPolicyRequest, GetPolicyResponse>("unary", this._transport, method, opt, input);
400
+ }
401
+ /**
402
+ * @generated from protobuf rpc: UpdatePolicy
403
+ */
404
+ updatePolicy(input: UpdatePolicyRequest, options?: RpcOptions): UnaryCall<UpdatePolicyRequest, UpdatePolicyResponse> {
405
+ const method = this.methods[22], opt = this._transport.mergeOptions(options);
406
+ return stackIntercept<UpdatePolicyRequest, UpdatePolicyResponse>("unary", this._transport, method, opt, input);
407
+ }
408
+ /**
409
+ * @generated from protobuf rpc: DeletePolicy
410
+ */
411
+ deletePolicy(input: DeletePolicyRequest, options?: RpcOptions): UnaryCall<DeletePolicyRequest, DeletePolicyResponse> {
412
+ const method = this.methods[23], opt = this._transport.mergeOptions(options);
413
+ return stackIntercept<DeletePolicyRequest, DeletePolicyResponse>("unary", this._transport, method, opt, input);
414
+ }
415
+ /**
416
+ * @generated from protobuf rpc: ListPolicies
417
+ */
418
+ listPolicies(input: ListPoliciesRequest, options?: RpcOptions): UnaryCall<ListPoliciesRequest, ListPoliciesResponse> {
419
+ const method = this.methods[24], opt = this._transport.mergeOptions(options);
420
+ return stackIntercept<ListPoliciesRequest, ListPoliciesResponse>("unary", this._transport, method, opt, input);
421
+ }
422
+ /**
423
+ * Policy evaluation.
424
+ *
425
+ * @generated from protobuf rpc: EvaluatePolicy
426
+ */
427
+ evaluatePolicy(input: EvaluatePolicyRequest, options?: RpcOptions): UnaryCall<EvaluatePolicyRequest, EvaluatePolicyResponse> {
428
+ const method = this.methods[25], opt = this._transport.mergeOptions(options);
429
+ return stackIntercept<EvaluatePolicyRequest, EvaluatePolicyResponse>("unary", this._transport, method, opt, input);
430
+ }
431
+ /**
432
+ * @generated from protobuf rpc: ValidatePolicy
433
+ */
434
+ validatePolicy(input: ValidatePolicyRequest, options?: RpcOptions): UnaryCall<ValidatePolicyRequest, ValidatePolicyResponse> {
435
+ const method = this.methods[26], opt = this._transport.mergeOptions(options);
436
+ return stackIntercept<ValidatePolicyRequest, ValidatePolicyResponse>("unary", this._transport, method, opt, input);
437
+ }
438
+ /**
439
+ * SoD (Separation of Duties) conflict check.
440
+ *
441
+ * @generated from protobuf rpc: CheckSodConflicts
442
+ */
443
+ checkSodConflicts(input: CheckSodConflictsRequest, options?: RpcOptions): UnaryCall<CheckSodConflictsRequest, CheckSodConflictsResponse> {
444
+ const method = this.methods[27], opt = this._transport.mergeOptions(options);
445
+ return stackIntercept<CheckSodConflictsRequest, CheckSodConflictsResponse>("unary", this._transport, method, opt, input);
446
+ }
447
+ // ── Policy Simulation ──
448
+
449
+ /**
450
+ * Simulate proposed policy changes without persisting.
451
+ * What-if analysis: compares current vs proposed state for affected principals.
452
+ *
453
+ * @generated from protobuf rpc: SimulatePolicy
454
+ */
455
+ simulatePolicy(input: SimulatePolicyRequest, options?: RpcOptions): UnaryCall<SimulatePolicyRequest, SimulatePolicyResponse> {
456
+ const method = this.methods[28], opt = this._transport.mergeOptions(options);
457
+ return stackIntercept<SimulatePolicyRequest, SimulatePolicyResponse>("unary", this._transport, method, opt, input);
458
+ }
459
+ }