@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,232 @@
1
+ // @generated by protobuf-ts 2.11.1 with parameter client_generic,generate_dependencies
2
+ // @generated from protobuf file "sid/v1/test/test.proto" (package "sid.v1.test", 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 { TestService } from "./test";
7
+ import type { AuthTestGetPolicyResponse } from "./test";
8
+ import type { AuthTestGetPolicyRequest } from "./test";
9
+ import type { AuthTestSetPolicyResponse } from "./test";
10
+ import type { AuthTestSetPolicyRequest } from "./test";
11
+ import type { AuthTestResetResponse } from "./test";
12
+ import type { AuthTestResetRequest } from "./test";
13
+ import type { AuthTestCheckPolicyResponse } from "./test";
14
+ import type { AuthTestCheckPolicyRequest } from "./test";
15
+ import type { AuthTestChangePasswordRequest } from "./test";
16
+ import type { AuthTestResponse } from "./test";
17
+ import type { AuthTestRequest } from "./test";
18
+ import type { PerfTestFinishRequest } from "./test";
19
+ import { stackIntercept } from "@protobuf-ts/runtime-rpc";
20
+ import type { PerfTestResponse } from "./test";
21
+ import type { PerfTestRequest } from "./test";
22
+ import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
23
+ import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
24
+ /**
25
+ * TestService provides performance and functional testing endpoints.
26
+ * Gated behind `dev-perf-test` feature flag in sid-server.
27
+ *
28
+ * ── Performance benchmarks ──
29
+ *
30
+ * @generated from protobuf service sid.v1.test.TestService
31
+ */
32
+ export interface ITestServiceClient {
33
+ /**
34
+ * Simulates OPAQUE registration start (server-side state creation).
35
+ *
36
+ * @generated from protobuf rpc: PerfRegistrationStart
37
+ */
38
+ perfRegistrationStart(input: PerfTestRequest, options?: RpcOptions): UnaryCall<PerfTestRequest, PerfTestResponse>;
39
+ /**
40
+ * Simulates OPAQUE registration finish (consume ephemeral state).
41
+ *
42
+ * @generated from protobuf rpc: PerfRegistrationFinish
43
+ */
44
+ perfRegistrationFinish(input: PerfTestFinishRequest, options?: RpcOptions): UnaryCall<PerfTestFinishRequest, PerfTestResponse>;
45
+ /**
46
+ * Simulates OPAQUE login start (credential lookup + state creation).
47
+ *
48
+ * @generated from protobuf rpc: PerfLoginStart
49
+ */
50
+ perfLoginStart(input: PerfTestRequest, options?: RpcOptions): UnaryCall<PerfTestRequest, PerfTestResponse>;
51
+ /**
52
+ * Simulates OPAQUE login finish (consume ephemeral state, session creation).
53
+ *
54
+ * @generated from protobuf rpc: PerfLoginFinish
55
+ */
56
+ perfLoginFinish(input: PerfTestFinishRequest, options?: RpcOptions): UnaryCall<PerfTestFinishRequest, PerfTestResponse>;
57
+ /**
58
+ * Simulates envelope verification (CPU-bound crypto check).
59
+ *
60
+ * @generated from protobuf rpc: PerfVerifyEnvelope
61
+ */
62
+ perfVerifyEnvelope(input: PerfTestRequest, options?: RpcOptions): UnaryCall<PerfTestRequest, PerfTestResponse>;
63
+ // ── Functional auth tests ──
64
+
65
+ /**
66
+ * Register a test user with username + password. Enforces password policy.
67
+ *
68
+ * @generated from protobuf rpc: AuthTestRegister
69
+ */
70
+ authTestRegister(input: AuthTestRequest, options?: RpcOptions): UnaryCall<AuthTestRequest, AuthTestResponse>;
71
+ /**
72
+ * Login with username + password. Returns error if wrong password or user not found.
73
+ *
74
+ * @generated from protobuf rpc: AuthTestLogin
75
+ */
76
+ authTestLogin(input: AuthTestRequest, options?: RpcOptions): UnaryCall<AuthTestRequest, AuthTestResponse>;
77
+ /**
78
+ * Change password for an existing user. Verifies old password, enforces policy on new.
79
+ *
80
+ * @generated from protobuf rpc: AuthTestChangePassword
81
+ */
82
+ authTestChangePassword(input: AuthTestChangePasswordRequest, options?: RpcOptions): UnaryCall<AuthTestChangePasswordRequest, AuthTestResponse>;
83
+ /**
84
+ * Check if a password satisfies the policy without registration.
85
+ *
86
+ * @generated from protobuf rpc: AuthTestCheckPolicy
87
+ */
88
+ authTestCheckPolicy(input: AuthTestCheckPolicyRequest, options?: RpcOptions): UnaryCall<AuthTestCheckPolicyRequest, AuthTestCheckPolicyResponse>;
89
+ /**
90
+ * Reset all test user state (clean slate for new test run).
91
+ *
92
+ * @generated from protobuf rpc: AuthTestReset
93
+ */
94
+ authTestReset(input: AuthTestResetRequest, options?: RpcOptions): UnaryCall<AuthTestResetRequest, AuthTestResetResponse>;
95
+ /**
96
+ * Set the active password policy. Affects all subsequent register/change operations.
97
+ *
98
+ * @generated from protobuf rpc: AuthTestSetPolicy
99
+ */
100
+ authTestSetPolicy(input: AuthTestSetPolicyRequest, options?: RpcOptions): UnaryCall<AuthTestSetPolicyRequest, AuthTestSetPolicyResponse>;
101
+ /**
102
+ * Get the current active password policy.
103
+ *
104
+ * @generated from protobuf rpc: AuthTestGetPolicy
105
+ */
106
+ authTestGetPolicy(input: AuthTestGetPolicyRequest, options?: RpcOptions): UnaryCall<AuthTestGetPolicyRequest, AuthTestGetPolicyResponse>;
107
+ }
108
+ /**
109
+ * TestService provides performance and functional testing endpoints.
110
+ * Gated behind `dev-perf-test` feature flag in sid-server.
111
+ *
112
+ * ── Performance benchmarks ──
113
+ *
114
+ * @generated from protobuf service sid.v1.test.TestService
115
+ */
116
+ export class TestServiceClient implements ITestServiceClient, ServiceInfo {
117
+ typeName = TestService.typeName;
118
+ methods = TestService.methods;
119
+ options = TestService.options;
120
+ constructor(private readonly _transport: RpcTransport) {
121
+ }
122
+ /**
123
+ * Simulates OPAQUE registration start (server-side state creation).
124
+ *
125
+ * @generated from protobuf rpc: PerfRegistrationStart
126
+ */
127
+ perfRegistrationStart(input: PerfTestRequest, options?: RpcOptions): UnaryCall<PerfTestRequest, PerfTestResponse> {
128
+ const method = this.methods[0], opt = this._transport.mergeOptions(options);
129
+ return stackIntercept<PerfTestRequest, PerfTestResponse>("unary", this._transport, method, opt, input);
130
+ }
131
+ /**
132
+ * Simulates OPAQUE registration finish (consume ephemeral state).
133
+ *
134
+ * @generated from protobuf rpc: PerfRegistrationFinish
135
+ */
136
+ perfRegistrationFinish(input: PerfTestFinishRequest, options?: RpcOptions): UnaryCall<PerfTestFinishRequest, PerfTestResponse> {
137
+ const method = this.methods[1], opt = this._transport.mergeOptions(options);
138
+ return stackIntercept<PerfTestFinishRequest, PerfTestResponse>("unary", this._transport, method, opt, input);
139
+ }
140
+ /**
141
+ * Simulates OPAQUE login start (credential lookup + state creation).
142
+ *
143
+ * @generated from protobuf rpc: PerfLoginStart
144
+ */
145
+ perfLoginStart(input: PerfTestRequest, options?: RpcOptions): UnaryCall<PerfTestRequest, PerfTestResponse> {
146
+ const method = this.methods[2], opt = this._transport.mergeOptions(options);
147
+ return stackIntercept<PerfTestRequest, PerfTestResponse>("unary", this._transport, method, opt, input);
148
+ }
149
+ /**
150
+ * Simulates OPAQUE login finish (consume ephemeral state, session creation).
151
+ *
152
+ * @generated from protobuf rpc: PerfLoginFinish
153
+ */
154
+ perfLoginFinish(input: PerfTestFinishRequest, options?: RpcOptions): UnaryCall<PerfTestFinishRequest, PerfTestResponse> {
155
+ const method = this.methods[3], opt = this._transport.mergeOptions(options);
156
+ return stackIntercept<PerfTestFinishRequest, PerfTestResponse>("unary", this._transport, method, opt, input);
157
+ }
158
+ /**
159
+ * Simulates envelope verification (CPU-bound crypto check).
160
+ *
161
+ * @generated from protobuf rpc: PerfVerifyEnvelope
162
+ */
163
+ perfVerifyEnvelope(input: PerfTestRequest, options?: RpcOptions): UnaryCall<PerfTestRequest, PerfTestResponse> {
164
+ const method = this.methods[4], opt = this._transport.mergeOptions(options);
165
+ return stackIntercept<PerfTestRequest, PerfTestResponse>("unary", this._transport, method, opt, input);
166
+ }
167
+ // ── Functional auth tests ──
168
+
169
+ /**
170
+ * Register a test user with username + password. Enforces password policy.
171
+ *
172
+ * @generated from protobuf rpc: AuthTestRegister
173
+ */
174
+ authTestRegister(input: AuthTestRequest, options?: RpcOptions): UnaryCall<AuthTestRequest, AuthTestResponse> {
175
+ const method = this.methods[5], opt = this._transport.mergeOptions(options);
176
+ return stackIntercept<AuthTestRequest, AuthTestResponse>("unary", this._transport, method, opt, input);
177
+ }
178
+ /**
179
+ * Login with username + password. Returns error if wrong password or user not found.
180
+ *
181
+ * @generated from protobuf rpc: AuthTestLogin
182
+ */
183
+ authTestLogin(input: AuthTestRequest, options?: RpcOptions): UnaryCall<AuthTestRequest, AuthTestResponse> {
184
+ const method = this.methods[6], opt = this._transport.mergeOptions(options);
185
+ return stackIntercept<AuthTestRequest, AuthTestResponse>("unary", this._transport, method, opt, input);
186
+ }
187
+ /**
188
+ * Change password for an existing user. Verifies old password, enforces policy on new.
189
+ *
190
+ * @generated from protobuf rpc: AuthTestChangePassword
191
+ */
192
+ authTestChangePassword(input: AuthTestChangePasswordRequest, options?: RpcOptions): UnaryCall<AuthTestChangePasswordRequest, AuthTestResponse> {
193
+ const method = this.methods[7], opt = this._transport.mergeOptions(options);
194
+ return stackIntercept<AuthTestChangePasswordRequest, AuthTestResponse>("unary", this._transport, method, opt, input);
195
+ }
196
+ /**
197
+ * Check if a password satisfies the policy without registration.
198
+ *
199
+ * @generated from protobuf rpc: AuthTestCheckPolicy
200
+ */
201
+ authTestCheckPolicy(input: AuthTestCheckPolicyRequest, options?: RpcOptions): UnaryCall<AuthTestCheckPolicyRequest, AuthTestCheckPolicyResponse> {
202
+ const method = this.methods[8], opt = this._transport.mergeOptions(options);
203
+ return stackIntercept<AuthTestCheckPolicyRequest, AuthTestCheckPolicyResponse>("unary", this._transport, method, opt, input);
204
+ }
205
+ /**
206
+ * Reset all test user state (clean slate for new test run).
207
+ *
208
+ * @generated from protobuf rpc: AuthTestReset
209
+ */
210
+ authTestReset(input: AuthTestResetRequest, options?: RpcOptions): UnaryCall<AuthTestResetRequest, AuthTestResetResponse> {
211
+ const method = this.methods[9], opt = this._transport.mergeOptions(options);
212
+ return stackIntercept<AuthTestResetRequest, AuthTestResetResponse>("unary", this._transport, method, opt, input);
213
+ }
214
+ /**
215
+ * Set the active password policy. Affects all subsequent register/change operations.
216
+ *
217
+ * @generated from protobuf rpc: AuthTestSetPolicy
218
+ */
219
+ authTestSetPolicy(input: AuthTestSetPolicyRequest, options?: RpcOptions): UnaryCall<AuthTestSetPolicyRequest, AuthTestSetPolicyResponse> {
220
+ const method = this.methods[10], opt = this._transport.mergeOptions(options);
221
+ return stackIntercept<AuthTestSetPolicyRequest, AuthTestSetPolicyResponse>("unary", this._transport, method, opt, input);
222
+ }
223
+ /**
224
+ * Get the current active password policy.
225
+ *
226
+ * @generated from protobuf rpc: AuthTestGetPolicy
227
+ */
228
+ authTestGetPolicy(input: AuthTestGetPolicyRequest, options?: RpcOptions): UnaryCall<AuthTestGetPolicyRequest, AuthTestGetPolicyResponse> {
229
+ const method = this.methods[11], opt = this._transport.mergeOptions(options);
230
+ return stackIntercept<AuthTestGetPolicyRequest, AuthTestGetPolicyResponse>("unary", this._transport, method, opt, input);
231
+ }
232
+ }