@structured-id/ui-core 1.3.0 → 3.0.0

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 (152) hide show
  1. package/README.md +22 -10
  2. package/package.json +25 -43
  3. package/src/components/SidStatusBadge.vue +1 -5
  4. package/src/composables/useAccountTransport.test.ts +2 -1
  5. package/src/composables/useGrpc.test.ts +17 -14
  6. package/src/composables/useGrpc.ts +4 -2
  7. package/src/index.ts +2 -120
  8. package/src/profile/components/ConsentManager.vue +5 -1
  9. package/src/profile/components/ProfileEditor.vue +1 -1
  10. package/src/profile/components/SecuritySettings.vue +5 -1
  11. package/src/profile/components/SessionList.vue +2 -1
  12. package/src/profile/components/SidRegistrationForm.test.ts +173 -1
  13. package/src/profile/components/SidRegistrationForm.vue +88 -32
  14. package/src/profile/components/index.ts +1 -4
  15. package/src/profile/composables/index.ts +1 -0
  16. package/src/profile/composables/operationPlan.test.ts +155 -0
  17. package/src/profile/composables/operationPlan.ts +218 -0
  18. package/src/profile/composables/useAccountApi.ts +4 -4
  19. package/src/profile/composables/useAuth.test.ts +312 -31
  20. package/src/profile/composables/useAuth.ts +176 -30
  21. package/src/profile/composables/useAuthApi.opaque.test.ts +13 -6
  22. package/src/profile/composables/useAuthApi.ts +40 -18
  23. package/src/profile/composables/useCurrentPasswordRequirement.test.ts +196 -0
  24. package/src/profile/composables/useCurrentPasswordRequirement.ts +95 -0
  25. package/src/profile/composables/useEnrollmentApi.test.ts +7 -3
  26. package/src/profile/composables/useEnrollmentApi.ts +3 -5
  27. package/src/profile/composables/useIdentityApi.ts +4 -4
  28. package/src/profile/composables/useSecurityLevel.test.ts +1 -1
  29. package/src/profile/composables/useSecurityLevel.ts +1 -1
  30. package/src/quasar/SidPasswordCeremony.test.ts +253 -0
  31. package/src/quasar/SidPasswordCeremony.vue +456 -0
  32. package/src/quasar/index.ts +2 -0
  33. package/src/utils/rpcRefusal.test.ts +4 -4
  34. package/src/utils/rpcRefusal.ts +8 -4
  35. package/dist/browser-vp/index.cjs +0 -349
  36. package/dist/browser-vp/index.d.cts +0 -276
  37. package/dist/browser-vp/index.d.ts +0 -276
  38. package/dist/browser-vp/index.js +0 -349
  39. package/dist/chunk-C3Q766CY.cjs +0 -125
  40. package/dist/chunk-J5YXRXB5.js +0 -125
  41. package/dist/index.cjs +0 -23581
  42. package/dist/index.d.cts +0 -11539
  43. package/dist/index.d.ts +0 -11539
  44. package/dist/index.js +0 -23581
  45. package/dist/storage-4CB2JTLW.cjs +0 -22
  46. package/dist/storage-THRWREZP.js +0 -22
  47. package/src/browser-vp/crypto.ts +0 -253
  48. package/src/browser-vp/index.test.ts +0 -10
  49. package/src/browser-vp/index.ts +0 -116
  50. package/src/browser-vp/prf.ts +0 -179
  51. package/src/browser-vp/storage.test.ts +0 -9
  52. package/src/browser-vp/storage.ts +0 -163
  53. package/src/browser-vp/types.ts +0 -95
  54. package/src/browser-vp/vp.test.ts +0 -43
  55. package/src/browser-vp/vp.ts +0 -111
  56. package/src/generated/google/api/http.ts +0 -687
  57. package/src/generated/google/api/httpbody.ts +0 -159
  58. package/src/generated/google/protobuf/any.ts +0 -326
  59. package/src/generated/google/protobuf/descriptor.ts +0 -4865
  60. package/src/generated/google/protobuf/duration.ts +0 -230
  61. package/src/generated/google/protobuf/empty.ts +0 -94
  62. package/src/generated/google/protobuf/struct.ts +0 -484
  63. package/src/generated/google/protobuf/timestamp.ts +0 -287
  64. package/src/generated/google/rpc/error_details.ts +0 -1386
  65. package/src/generated/google/rpc/status.ts +0 -127
  66. package/src/generated/sid/v1/account/account.client.ts +0 -527
  67. package/src/generated/sid/v1/account/account.ts +0 -3261
  68. package/src/generated/sid/v1/admin/admin.client.ts +0 -139
  69. package/src/generated/sid/v1/admin/admin.ts +0 -781
  70. package/src/generated/sid/v1/admin/admin_roles.client.ts +0 -181
  71. package/src/generated/sid/v1/admin/admin_roles.ts +0 -1606
  72. package/src/generated/sid/v1/admin/analytics.client.ts +0 -106
  73. package/src/generated/sid/v1/admin/analytics.ts +0 -1017
  74. package/src/generated/sid/v1/admin/branding.client.ts +0 -166
  75. package/src/generated/sid/v1/admin/branding.ts +0 -1906
  76. package/src/generated/sid/v1/admin/enrollment.client.ts +0 -177
  77. package/src/generated/sid/v1/admin/enrollment.ts +0 -1766
  78. package/src/generated/sid/v1/admin/events.client.ts +0 -195
  79. package/src/generated/sid/v1/admin/events.ts +0 -1900
  80. package/src/generated/sid/v1/admin/flow.client.ts +0 -183
  81. package/src/generated/sid/v1/admin/flow.ts +0 -1552
  82. package/src/generated/sid/v1/admin/keys.client.ts +0 -107
  83. package/src/generated/sid/v1/admin/keys.ts +0 -931
  84. package/src/generated/sid/v1/admin/login_experience.client.ts +0 -160
  85. package/src/generated/sid/v1/admin/login_experience.ts +0 -1061
  86. package/src/generated/sid/v1/admin/migration.client.ts +0 -127
  87. package/src/generated/sid/v1/admin/migration.ts +0 -1948
  88. package/src/generated/sid/v1/admin/notifications.client.ts +0 -134
  89. package/src/generated/sid/v1/admin/notifications.ts +0 -1273
  90. package/src/generated/sid/v1/admin/operations.client.ts +0 -241
  91. package/src/generated/sid/v1/admin/operations.ts +0 -2633
  92. package/src/generated/sid/v1/admin/organizations.client.ts +0 -57
  93. package/src/generated/sid/v1/admin/organizations.ts +0 -332
  94. package/src/generated/sid/v1/admin/provisioning.client.ts +0 -232
  95. package/src/generated/sid/v1/admin/provisioning.ts +0 -1383
  96. package/src/generated/sid/v1/admin/scopes.client.ts +0 -171
  97. package/src/generated/sid/v1/admin/scopes.ts +0 -1324
  98. package/src/generated/sid/v1/admin/security.client.ts +0 -410
  99. package/src/generated/sid/v1/admin/security.ts +0 -4077
  100. package/src/generated/sid/v1/admin/sessions.client.ts +0 -114
  101. package/src/generated/sid/v1/admin/sessions.ts +0 -923
  102. package/src/generated/sid/v1/admin/settings.client.ts +0 -351
  103. package/src/generated/sid/v1/admin/settings.ts +0 -2458
  104. package/src/generated/sid/v1/admin/user_profile.client.ts +0 -57
  105. package/src/generated/sid/v1/admin/user_profile.ts +0 -730
  106. package/src/generated/sid/v1/admin/webhooks.client.ts +0 -269
  107. package/src/generated/sid/v1/admin/webhooks.ts +0 -2804
  108. package/src/generated/sid/v1/attestation/attestation.client.ts +0 -115
  109. package/src/generated/sid/v1/attestation/attestation.ts +0 -813
  110. package/src/generated/sid/v1/authn/auth.client.ts +0 -943
  111. package/src/generated/sid/v1/authn/auth.ts +0 -9719
  112. package/src/generated/sid/v1/authn/flows.client.ts +0 -413
  113. package/src/generated/sid/v1/authn/flows.ts +0 -3205
  114. package/src/generated/sid/v1/authn/issuer.client.ts +0 -489
  115. package/src/generated/sid/v1/authn/issuer.ts +0 -1600
  116. package/src/generated/sid/v1/authn/password_history.client.ts +0 -57
  117. package/src/generated/sid/v1/authn/password_history.ts +0 -578
  118. package/src/generated/sid/v1/authn/system_integration.client.ts +0 -73
  119. package/src/generated/sid/v1/authn/system_integration.ts +0 -218
  120. package/src/generated/sid/v1/authz/authz.client.ts +0 -459
  121. package/src/generated/sid/v1/authz/authz.ts +0 -6524
  122. package/src/generated/sid/v1/authz/forward_auth.client.ts +0 -97
  123. package/src/generated/sid/v1/authz/forward_auth.ts +0 -79
  124. package/src/generated/sid/v1/authz/governance.client.ts +0 -102
  125. package/src/generated/sid/v1/authz/governance.ts +0 -875
  126. package/src/generated/sid/v1/common/errors.ts +0 -710
  127. package/src/generated/sid/v1/common/pagination.ts +0 -152
  128. package/src/generated/sid/v1/common/transport.ts +0 -227
  129. package/src/generated/sid/v1/common/types.ts +0 -151
  130. package/src/generated/sid/v1/events/event_stream.client.ts +0 -67
  131. package/src/generated/sid/v1/events/event_stream.ts +0 -375
  132. package/src/generated/sid/v1/federation/upstream.client.ts +0 -142
  133. package/src/generated/sid/v1/federation/upstream.ts +0 -1736
  134. package/src/generated/sid/v1/identity/identity.client.ts +0 -467
  135. package/src/generated/sid/v1/identity/identity.ts +0 -5676
  136. package/src/generated/sid/v1/ids/ids.ts +0 -395
  137. package/src/generated/sid/v1/machine/machine_user.client.ts +0 -219
  138. package/src/generated/sid/v1/machine/machine_user.ts +0 -2364
  139. package/src/generated/sid/v1/machine/pat.client.ts +0 -130
  140. package/src/generated/sid/v1/machine/pat.ts +0 -1083
  141. package/src/generated/sid/v1/projects/projects.client.ts +0 -404
  142. package/src/generated/sid/v1/projects/projects.ts +0 -4446
  143. package/src/generated/sid/v1/scim/scim.client.ts +0 -520
  144. package/src/generated/sid/v1/scim/scim.ts +0 -3182
  145. package/src/generated/sid/v1/test/test.client.ts +0 -232
  146. package/src/generated/sid/v1/test/test.ts +0 -1136
  147. package/src/transport/adaptive.test.ts +0 -728
  148. package/src/transport/adaptive.ts +0 -308
  149. package/src/transport/framing.test.ts +0 -227
  150. package/src/transport/framing.ts +0 -98
  151. package/src/transport/webtransport.test.ts +0 -728
  152. package/src/transport/webtransport.ts +0 -323
@@ -1,127 +0,0 @@
1
- // @generated by protobuf-ts 2.11.1 with parameter client_generic,generate_dependencies
2
- // @generated from protobuf file "google/rpc/status.proto" (package "google.rpc", syntax proto3)
3
- // tslint:disable
4
- //
5
- // Copyright 2025 Google LLC
6
- //
7
- // Licensed under the Apache License, Version 2.0 (the "License");
8
- // you may not use this file except in compliance with the License.
9
- // You may obtain a copy of the License at
10
- //
11
- // http://www.apache.org/licenses/LICENSE-2.0
12
- //
13
- // Unless required by applicable law or agreed to in writing, software
14
- // distributed under the License is distributed on an "AS IS" BASIS,
15
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
- // See the License for the specific language governing permissions and
17
- // limitations under the License.
18
- //
19
- import type { BinaryWriteOptions } from "@protobuf-ts/runtime";
20
- import type { IBinaryWriter } from "@protobuf-ts/runtime";
21
- import { WireType } from "@protobuf-ts/runtime";
22
- import type { BinaryReadOptions } from "@protobuf-ts/runtime";
23
- import type { IBinaryReader } from "@protobuf-ts/runtime";
24
- import { UnknownFieldHandler } from "@protobuf-ts/runtime";
25
- import type { PartialMessage } from "@protobuf-ts/runtime";
26
- import { reflectionMergePartial } from "@protobuf-ts/runtime";
27
- import { MessageType } from "@protobuf-ts/runtime";
28
- import { Any } from "../protobuf/any";
29
- /**
30
- * The `Status` type defines a logical error model that is suitable for
31
- * different programming environments, including REST APIs and RPC APIs. It is
32
- * used by [gRPC](https://github.com/grpc). Each `Status` message contains
33
- * three pieces of data: error code, error message, and error details.
34
- *
35
- * You can find out more about this error model and how to work with it in the
36
- * [API Design Guide](https://cloud.google.com/apis/design/errors).
37
- *
38
- * @generated from protobuf message google.rpc.Status
39
- */
40
- export interface Status {
41
- /**
42
- * The status code, which should be an enum value of
43
- * [google.rpc.Code][google.rpc.Code].
44
- *
45
- * @generated from protobuf field: int32 code = 1
46
- */
47
- code: number;
48
- /**
49
- * A developer-facing error message, which should be in English. Any
50
- * user-facing error message should be localized and sent in the
51
- * [google.rpc.Status.details][google.rpc.Status.details] field, or localized
52
- * by the client.
53
- *
54
- * @generated from protobuf field: string message = 2
55
- */
56
- message: string;
57
- /**
58
- * A list of messages that carry the error details. There is a common set of
59
- * message types for APIs to use.
60
- *
61
- * @generated from protobuf field: repeated google.protobuf.Any details = 3
62
- */
63
- details: Any[];
64
- }
65
- // @generated message type with reflection information, may provide speed optimized methods
66
- class Status$Type extends MessageType<Status> {
67
- constructor() {
68
- super("google.rpc.Status", [
69
- { no: 1, name: "code", kind: "scalar", T: 5 /*ScalarType.INT32*/ },
70
- { no: 2, name: "message", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
71
- { no: 3, name: "details", kind: "message", repeat: 2 /*RepeatType.UNPACKED*/, T: () => Any }
72
- ]);
73
- }
74
- create(value?: PartialMessage<Status>): Status {
75
- const message = globalThis.Object.create((this.messagePrototype!));
76
- message.code = 0;
77
- message.message = "";
78
- message.details = [];
79
- if (value !== undefined)
80
- reflectionMergePartial<Status>(this, message, value);
81
- return message;
82
- }
83
- internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Status): Status {
84
- let message = target ?? this.create(), end = reader.pos + length;
85
- while (reader.pos < end) {
86
- let [fieldNo, wireType] = reader.tag();
87
- switch (fieldNo) {
88
- case /* int32 code */ 1:
89
- message.code = reader.int32();
90
- break;
91
- case /* string message */ 2:
92
- message.message = reader.string();
93
- break;
94
- case /* repeated google.protobuf.Any details */ 3:
95
- message.details.push(Any.internalBinaryRead(reader, reader.uint32(), options));
96
- break;
97
- default:
98
- let u = options.readUnknownField;
99
- if (u === "throw")
100
- throw new globalThis.Error(`Unknown field ${fieldNo} (wire type ${wireType}) for ${this.typeName}`);
101
- let d = reader.skip(wireType);
102
- if (u !== false)
103
- (u === true ? UnknownFieldHandler.onRead : u)(this.typeName, message, fieldNo, wireType, d);
104
- }
105
- }
106
- return message;
107
- }
108
- internalBinaryWrite(message: Status, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter {
109
- /* int32 code = 1; */
110
- if (message.code !== 0)
111
- writer.tag(1, WireType.Varint).int32(message.code);
112
- /* string message = 2; */
113
- if (message.message !== "")
114
- writer.tag(2, WireType.LengthDelimited).string(message.message);
115
- /* repeated google.protobuf.Any details = 3; */
116
- for (let i = 0; i < message.details.length; i++)
117
- Any.internalBinaryWrite(message.details[i], writer.tag(3, WireType.LengthDelimited).fork(), options).join();
118
- let u = options.writeUnknownFields;
119
- if (u !== false)
120
- (u == true ? UnknownFieldHandler.onWrite : u)(this.typeName, message, writer);
121
- return writer;
122
- }
123
- }
124
- /**
125
- * @generated MessageType for protobuf message google.rpc.Status
126
- */
127
- export const Status = new Status$Type();
@@ -1,527 +0,0 @@
1
- // @generated by protobuf-ts 2.11.1 with parameter client_generic,generate_dependencies
2
- // @generated from protobuf file "sid/v1/account/account.proto" (package "sid.v1.account", 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 { AccountService } from "./account";
7
- import type { ListEmailsResponse } from "./account";
8
- import type { SetPrimaryEmailRequest } from "./account";
9
- import type { UpdateEmailRequest } from "./account";
10
- import type { RemoveEmailRequest } from "./account";
11
- import type { ProfileEmail } from "../identity/identity";
12
- import type { AddEmailRequest } from "./account";
13
- import type { ListPhonesResponse } from "./account";
14
- import type { SetPrimaryPhoneRequest } from "./account";
15
- import type { UpdatePhoneRequest } from "./account";
16
- import type { RemovePhoneRequest } from "./account";
17
- import type { ProfilePhone } from "../identity/identity";
18
- import type { AddPhoneRequest } from "./account";
19
- import type { DisablePasswordlessResponse } from "./account";
20
- import type { PasswordlessStatus } from "./account";
21
- import type { UpdateNotificationPreferencesRequest } from "./account";
22
- import type { NotificationPreferences } from "./account";
23
- import type { LaunchAppResponse } from "./account";
24
- import type { LaunchAppRequest } from "./account";
25
- import type { ListAvailableAppsResponse } from "./account";
26
- import type { ReauthenticateLinkResponse } from "./account";
27
- import type { ReauthenticateLinkRequest } from "./account";
28
- import type { UnlinkAccountRequest } from "./account";
29
- import type { LinkAccountResponse } from "./account";
30
- import type { LinkAccountRequest } from "./account";
31
- import type { ListLinkedAccountsResponse } from "./account";
32
- import type { ReportSuspiciousEventRequest } from "./account";
33
- import type { ActivityEvent } from "./account";
34
- import type { GetActivityEventDetailRequest } from "./account";
35
- import type { ListActivityEventsResponse } from "./account";
36
- import type { ListActivityEventsRequest } from "./account";
37
- import type { DisconnectSiteRequest } from "./account";
38
- import type { Empty } from "../../../google/protobuf/empty";
39
- import type { UpdateClaimConsentRequest } from "./account";
40
- import type { GetConsentDetailResponse } from "./account";
41
- import type { GetConsentDetailRequest } from "./account";
42
- import { stackIntercept } from "@protobuf-ts/runtime-rpc";
43
- import type { ListConsentsResponse } from "./account";
44
- import type { ListConsentsRequest } from "./account";
45
- import type { UnaryCall } from "@protobuf-ts/runtime-rpc";
46
- import type { RpcOptions } from "@protobuf-ts/runtime-rpc";
47
- // ══════════════════════════════════════════════════════════════════════════
48
- // Service definition
49
- // ══════════════════════════════════════════════════════════════════════════
50
-
51
- /**
52
- * ── Consents ──
53
- *
54
- * @generated from protobuf service sid.v1.account.AccountService
55
- */
56
- export interface IAccountServiceClient {
57
- /**
58
- * List all active consents for the current profile.
59
- *
60
- * @generated from protobuf rpc: ListConsents
61
- */
62
- listConsents(input: ListConsentsRequest, options?: RpcOptions): UnaryCall<ListConsentsRequest, ListConsentsResponse>;
63
- /**
64
- * Get claim-level detail for a specific consent.
65
- *
66
- * @generated from protobuf rpc: GetConsentDetail
67
- */
68
- getConsentDetail(input: GetConsentDetailRequest, options?: RpcOptions): UnaryCall<GetConsentDetailRequest, GetConsentDetailResponse>;
69
- /**
70
- * Update consent for a single claim (grant or deny).
71
- *
72
- * @generated from protobuf rpc: UpdateClaimConsent
73
- */
74
- updateClaimConsent(input: UpdateClaimConsentRequest, options?: RpcOptions): UnaryCall<UpdateClaimConsentRequest, Empty>;
75
- /**
76
- * Disconnect site: revoke all claims + sessions + delete consent.
77
- *
78
- * @generated from protobuf rpc: DisconnectSite
79
- */
80
- disconnectSite(input: DisconnectSiteRequest, options?: RpcOptions): UnaryCall<DisconnectSiteRequest, Empty>;
81
- // ── Activity History ──
82
-
83
- /**
84
- * List activity events with optional filters.
85
- *
86
- * @generated from protobuf rpc: ListActivityEvents
87
- */
88
- listActivityEvents(input: ListActivityEventsRequest, options?: RpcOptions): UnaryCall<ListActivityEventsRequest, ListActivityEventsResponse>;
89
- /**
90
- * Get full details for a single event.
91
- *
92
- * @generated from protobuf rpc: GetActivityEventDetail
93
- */
94
- getActivityEventDetail(input: GetActivityEventDetailRequest, options?: RpcOptions): UnaryCall<GetActivityEventDetailRequest, ActivityEvent>;
95
- /**
96
- * Report suspicious activity ("This wasn't me").
97
- * Side effects: revoke associated session, mark as disputed.
98
- *
99
- * @generated from protobuf rpc: ReportSuspiciousEvent
100
- */
101
- reportSuspiciousEvent(input: ReportSuspiciousEventRequest, options?: RpcOptions): UnaryCall<ReportSuspiciousEventRequest, Empty>;
102
- // ── Linked Accounts ──
103
-
104
- /**
105
- * List all linked upstream identity provider accounts.
106
- *
107
- * @generated from protobuf rpc: ListLinkedAccounts
108
- */
109
- listLinkedAccounts(input: Empty, options?: RpcOptions): UnaryCall<Empty, ListLinkedAccountsResponse>;
110
- /**
111
- * Initiate linking to an upstream IdP. Returns a redirect URL.
112
- *
113
- * @generated from protobuf rpc: LinkAccount
114
- */
115
- linkAccount(input: LinkAccountRequest, options?: RpcOptions): UnaryCall<LinkAccountRequest, LinkAccountResponse>;
116
- /**
117
- * Unlink an upstream IdP account. Blocked if this is the only login method.
118
- *
119
- * @generated from protobuf rpc: UnlinkAccount
120
- */
121
- unlinkAccount(input: UnlinkAccountRequest, options?: RpcOptions): UnaryCall<UnlinkAccountRequest, Empty>;
122
- /**
123
- * Force re-authentication with the upstream IdP to refresh tokens/claims.
124
- *
125
- * @generated from protobuf rpc: ReauthenticateLink
126
- */
127
- reauthenticateLink(input: ReauthenticateLinkRequest, options?: RpcOptions): UnaryCall<ReauthenticateLinkRequest, ReauthenticateLinkResponse>;
128
- // ── App Launcher ──
129
-
130
- /**
131
- * List applications available for SSO quick-launch.
132
- *
133
- * @generated from protobuf rpc: ListAvailableApps
134
- */
135
- listAvailableApps(input: Empty, options?: RpcOptions): UnaryCall<Empty, ListAvailableAppsResponse>;
136
- /**
137
- * Launch SSO redirect to an application.
138
- *
139
- * @generated from protobuf rpc: LaunchApp
140
- */
141
- launchApp(input: LaunchAppRequest, options?: RpcOptions): UnaryCall<LaunchAppRequest, LaunchAppResponse>;
142
- // ── Notification Preferences ──
143
-
144
- /**
145
- * Get notification delivery preferences for the current profile.
146
- *
147
- * @generated from protobuf rpc: GetNotificationPreferences
148
- */
149
- getNotificationPreferences(input: Empty, options?: RpcOptions): UnaryCall<Empty, NotificationPreferences>;
150
- /**
151
- * Update notification delivery preferences.
152
- * Security-critical categories cannot be disabled (server enforces).
153
- *
154
- * @generated from protobuf rpc: UpdateNotificationPreferences
155
- */
156
- updateNotificationPreferences(input: UpdateNotificationPreferencesRequest, options?: RpcOptions): UnaryCall<UpdateNotificationPreferencesRequest, NotificationPreferences>;
157
- // ── Passwordless ──
158
-
159
- /**
160
- * Get current passwordless status and requirement checks.
161
- *
162
- * @generated from protobuf rpc: GetPasswordlessStatus
163
- */
164
- getPasswordlessStatus(input: Empty, options?: RpcOptions): UnaryCall<Empty, PasswordlessStatus>;
165
- /**
166
- * Enable passwordless mode: removes OPAQUE credential (password hash).
167
- * Requires step-up authentication. Blocked unless all requirements are met.
168
- *
169
- * @generated from protobuf rpc: EnablePasswordless
170
- */
171
- enablePasswordless(input: Empty, options?: RpcOptions): UnaryCall<Empty, Empty>;
172
- /**
173
- * Disable passwordless mode: triggers password enrollment flow.
174
- *
175
- * @generated from protobuf rpc: DisablePasswordless
176
- */
177
- disablePasswordless(input: Empty, options?: RpcOptions): UnaryCall<Empty, DisablePasswordlessResponse>;
178
- // ── Phone Management ──
179
-
180
- /**
181
- * Add a phone number to the current profile.
182
- *
183
- * @generated from protobuf rpc: AddPhone
184
- */
185
- addPhone(input: AddPhoneRequest, options?: RpcOptions): UnaryCall<AddPhoneRequest, ProfilePhone>;
186
- /**
187
- * Remove a phone number from the current profile.
188
- *
189
- * @generated from protobuf rpc: RemovePhone
190
- */
191
- removePhone(input: RemovePhoneRequest, options?: RpcOptions): UnaryCall<RemovePhoneRequest, Empty>;
192
- /**
193
- * Update a phone number's label or capabilities.
194
- *
195
- * @generated from protobuf rpc: UpdatePhone
196
- */
197
- updatePhone(input: UpdatePhoneRequest, options?: RpcOptions): UnaryCall<UpdatePhoneRequest, ProfilePhone>;
198
- /**
199
- * Set a phone as the primary phone for this profile.
200
- *
201
- * @generated from protobuf rpc: SetPrimaryPhone
202
- */
203
- setPrimaryPhone(input: SetPrimaryPhoneRequest, options?: RpcOptions): UnaryCall<SetPrimaryPhoneRequest, ProfilePhone>;
204
- /**
205
- * List all phone numbers for the current profile.
206
- *
207
- * @generated from protobuf rpc: ListPhones
208
- */
209
- listPhones(input: Empty, options?: RpcOptions): UnaryCall<Empty, ListPhonesResponse>;
210
- // ── Email Management ──
211
-
212
- /**
213
- * Add an email address to the current profile.
214
- *
215
- * @generated from protobuf rpc: AddEmail
216
- */
217
- addEmail(input: AddEmailRequest, options?: RpcOptions): UnaryCall<AddEmailRequest, ProfileEmail>;
218
- /**
219
- * Remove an email address from the current profile.
220
- *
221
- * @generated from protobuf rpc: RemoveEmail
222
- */
223
- removeEmail(input: RemoveEmailRequest, options?: RpcOptions): UnaryCall<RemoveEmailRequest, Empty>;
224
- /**
225
- * Update an email address's label.
226
- *
227
- * @generated from protobuf rpc: UpdateEmail
228
- */
229
- updateEmail(input: UpdateEmailRequest, options?: RpcOptions): UnaryCall<UpdateEmailRequest, ProfileEmail>;
230
- /**
231
- * Set an email as the primary email for this profile.
232
- *
233
- * @generated from protobuf rpc: SetPrimaryEmail
234
- */
235
- setPrimaryEmail(input: SetPrimaryEmailRequest, options?: RpcOptions): UnaryCall<SetPrimaryEmailRequest, ProfileEmail>;
236
- /**
237
- * List all email addresses for the current profile.
238
- *
239
- * @generated from protobuf rpc: ListEmails
240
- */
241
- listEmails(input: Empty, options?: RpcOptions): UnaryCall<Empty, ListEmailsResponse>;
242
- }
243
- // ══════════════════════════════════════════════════════════════════════════
244
- // Service definition
245
- // ══════════════════════════════════════════════════════════════════════════
246
-
247
- /**
248
- * ── Consents ──
249
- *
250
- * @generated from protobuf service sid.v1.account.AccountService
251
- */
252
- export class AccountServiceClient implements IAccountServiceClient, ServiceInfo {
253
- typeName = AccountService.typeName;
254
- methods = AccountService.methods;
255
- options = AccountService.options;
256
- constructor(private readonly _transport: RpcTransport) {
257
- }
258
- /**
259
- * List all active consents for the current profile.
260
- *
261
- * @generated from protobuf rpc: ListConsents
262
- */
263
- listConsents(input: ListConsentsRequest, options?: RpcOptions): UnaryCall<ListConsentsRequest, ListConsentsResponse> {
264
- const method = this.methods[0], opt = this._transport.mergeOptions(options);
265
- return stackIntercept<ListConsentsRequest, ListConsentsResponse>("unary", this._transport, method, opt, input);
266
- }
267
- /**
268
- * Get claim-level detail for a specific consent.
269
- *
270
- * @generated from protobuf rpc: GetConsentDetail
271
- */
272
- getConsentDetail(input: GetConsentDetailRequest, options?: RpcOptions): UnaryCall<GetConsentDetailRequest, GetConsentDetailResponse> {
273
- const method = this.methods[1], opt = this._transport.mergeOptions(options);
274
- return stackIntercept<GetConsentDetailRequest, GetConsentDetailResponse>("unary", this._transport, method, opt, input);
275
- }
276
- /**
277
- * Update consent for a single claim (grant or deny).
278
- *
279
- * @generated from protobuf rpc: UpdateClaimConsent
280
- */
281
- updateClaimConsent(input: UpdateClaimConsentRequest, options?: RpcOptions): UnaryCall<UpdateClaimConsentRequest, Empty> {
282
- const method = this.methods[2], opt = this._transport.mergeOptions(options);
283
- return stackIntercept<UpdateClaimConsentRequest, Empty>("unary", this._transport, method, opt, input);
284
- }
285
- /**
286
- * Disconnect site: revoke all claims + sessions + delete consent.
287
- *
288
- * @generated from protobuf rpc: DisconnectSite
289
- */
290
- disconnectSite(input: DisconnectSiteRequest, options?: RpcOptions): UnaryCall<DisconnectSiteRequest, Empty> {
291
- const method = this.methods[3], opt = this._transport.mergeOptions(options);
292
- return stackIntercept<DisconnectSiteRequest, Empty>("unary", this._transport, method, opt, input);
293
- }
294
- // ── Activity History ──
295
-
296
- /**
297
- * List activity events with optional filters.
298
- *
299
- * @generated from protobuf rpc: ListActivityEvents
300
- */
301
- listActivityEvents(input: ListActivityEventsRequest, options?: RpcOptions): UnaryCall<ListActivityEventsRequest, ListActivityEventsResponse> {
302
- const method = this.methods[4], opt = this._transport.mergeOptions(options);
303
- return stackIntercept<ListActivityEventsRequest, ListActivityEventsResponse>("unary", this._transport, method, opt, input);
304
- }
305
- /**
306
- * Get full details for a single event.
307
- *
308
- * @generated from protobuf rpc: GetActivityEventDetail
309
- */
310
- getActivityEventDetail(input: GetActivityEventDetailRequest, options?: RpcOptions): UnaryCall<GetActivityEventDetailRequest, ActivityEvent> {
311
- const method = this.methods[5], opt = this._transport.mergeOptions(options);
312
- return stackIntercept<GetActivityEventDetailRequest, ActivityEvent>("unary", this._transport, method, opt, input);
313
- }
314
- /**
315
- * Report suspicious activity ("This wasn't me").
316
- * Side effects: revoke associated session, mark as disputed.
317
- *
318
- * @generated from protobuf rpc: ReportSuspiciousEvent
319
- */
320
- reportSuspiciousEvent(input: ReportSuspiciousEventRequest, options?: RpcOptions): UnaryCall<ReportSuspiciousEventRequest, Empty> {
321
- const method = this.methods[6], opt = this._transport.mergeOptions(options);
322
- return stackIntercept<ReportSuspiciousEventRequest, Empty>("unary", this._transport, method, opt, input);
323
- }
324
- // ── Linked Accounts ──
325
-
326
- /**
327
- * List all linked upstream identity provider accounts.
328
- *
329
- * @generated from protobuf rpc: ListLinkedAccounts
330
- */
331
- listLinkedAccounts(input: Empty, options?: RpcOptions): UnaryCall<Empty, ListLinkedAccountsResponse> {
332
- const method = this.methods[7], opt = this._transport.mergeOptions(options);
333
- return stackIntercept<Empty, ListLinkedAccountsResponse>("unary", this._transport, method, opt, input);
334
- }
335
- /**
336
- * Initiate linking to an upstream IdP. Returns a redirect URL.
337
- *
338
- * @generated from protobuf rpc: LinkAccount
339
- */
340
- linkAccount(input: LinkAccountRequest, options?: RpcOptions): UnaryCall<LinkAccountRequest, LinkAccountResponse> {
341
- const method = this.methods[8], opt = this._transport.mergeOptions(options);
342
- return stackIntercept<LinkAccountRequest, LinkAccountResponse>("unary", this._transport, method, opt, input);
343
- }
344
- /**
345
- * Unlink an upstream IdP account. Blocked if this is the only login method.
346
- *
347
- * @generated from protobuf rpc: UnlinkAccount
348
- */
349
- unlinkAccount(input: UnlinkAccountRequest, options?: RpcOptions): UnaryCall<UnlinkAccountRequest, Empty> {
350
- const method = this.methods[9], opt = this._transport.mergeOptions(options);
351
- return stackIntercept<UnlinkAccountRequest, Empty>("unary", this._transport, method, opt, input);
352
- }
353
- /**
354
- * Force re-authentication with the upstream IdP to refresh tokens/claims.
355
- *
356
- * @generated from protobuf rpc: ReauthenticateLink
357
- */
358
- reauthenticateLink(input: ReauthenticateLinkRequest, options?: RpcOptions): UnaryCall<ReauthenticateLinkRequest, ReauthenticateLinkResponse> {
359
- const method = this.methods[10], opt = this._transport.mergeOptions(options);
360
- return stackIntercept<ReauthenticateLinkRequest, ReauthenticateLinkResponse>("unary", this._transport, method, opt, input);
361
- }
362
- // ── App Launcher ──
363
-
364
- /**
365
- * List applications available for SSO quick-launch.
366
- *
367
- * @generated from protobuf rpc: ListAvailableApps
368
- */
369
- listAvailableApps(input: Empty, options?: RpcOptions): UnaryCall<Empty, ListAvailableAppsResponse> {
370
- const method = this.methods[11], opt = this._transport.mergeOptions(options);
371
- return stackIntercept<Empty, ListAvailableAppsResponse>("unary", this._transport, method, opt, input);
372
- }
373
- /**
374
- * Launch SSO redirect to an application.
375
- *
376
- * @generated from protobuf rpc: LaunchApp
377
- */
378
- launchApp(input: LaunchAppRequest, options?: RpcOptions): UnaryCall<LaunchAppRequest, LaunchAppResponse> {
379
- const method = this.methods[12], opt = this._transport.mergeOptions(options);
380
- return stackIntercept<LaunchAppRequest, LaunchAppResponse>("unary", this._transport, method, opt, input);
381
- }
382
- // ── Notification Preferences ──
383
-
384
- /**
385
- * Get notification delivery preferences for the current profile.
386
- *
387
- * @generated from protobuf rpc: GetNotificationPreferences
388
- */
389
- getNotificationPreferences(input: Empty, options?: RpcOptions): UnaryCall<Empty, NotificationPreferences> {
390
- const method = this.methods[13], opt = this._transport.mergeOptions(options);
391
- return stackIntercept<Empty, NotificationPreferences>("unary", this._transport, method, opt, input);
392
- }
393
- /**
394
- * Update notification delivery preferences.
395
- * Security-critical categories cannot be disabled (server enforces).
396
- *
397
- * @generated from protobuf rpc: UpdateNotificationPreferences
398
- */
399
- updateNotificationPreferences(input: UpdateNotificationPreferencesRequest, options?: RpcOptions): UnaryCall<UpdateNotificationPreferencesRequest, NotificationPreferences> {
400
- const method = this.methods[14], opt = this._transport.mergeOptions(options);
401
- return stackIntercept<UpdateNotificationPreferencesRequest, NotificationPreferences>("unary", this._transport, method, opt, input);
402
- }
403
- // ── Passwordless ──
404
-
405
- /**
406
- * Get current passwordless status and requirement checks.
407
- *
408
- * @generated from protobuf rpc: GetPasswordlessStatus
409
- */
410
- getPasswordlessStatus(input: Empty, options?: RpcOptions): UnaryCall<Empty, PasswordlessStatus> {
411
- const method = this.methods[15], opt = this._transport.mergeOptions(options);
412
- return stackIntercept<Empty, PasswordlessStatus>("unary", this._transport, method, opt, input);
413
- }
414
- /**
415
- * Enable passwordless mode: removes OPAQUE credential (password hash).
416
- * Requires step-up authentication. Blocked unless all requirements are met.
417
- *
418
- * @generated from protobuf rpc: EnablePasswordless
419
- */
420
- enablePasswordless(input: Empty, options?: RpcOptions): UnaryCall<Empty, Empty> {
421
- const method = this.methods[16], opt = this._transport.mergeOptions(options);
422
- return stackIntercept<Empty, Empty>("unary", this._transport, method, opt, input);
423
- }
424
- /**
425
- * Disable passwordless mode: triggers password enrollment flow.
426
- *
427
- * @generated from protobuf rpc: DisablePasswordless
428
- */
429
- disablePasswordless(input: Empty, options?: RpcOptions): UnaryCall<Empty, DisablePasswordlessResponse> {
430
- const method = this.methods[17], opt = this._transport.mergeOptions(options);
431
- return stackIntercept<Empty, DisablePasswordlessResponse>("unary", this._transport, method, opt, input);
432
- }
433
- // ── Phone Management ──
434
-
435
- /**
436
- * Add a phone number to the current profile.
437
- *
438
- * @generated from protobuf rpc: AddPhone
439
- */
440
- addPhone(input: AddPhoneRequest, options?: RpcOptions): UnaryCall<AddPhoneRequest, ProfilePhone> {
441
- const method = this.methods[18], opt = this._transport.mergeOptions(options);
442
- return stackIntercept<AddPhoneRequest, ProfilePhone>("unary", this._transport, method, opt, input);
443
- }
444
- /**
445
- * Remove a phone number from the current profile.
446
- *
447
- * @generated from protobuf rpc: RemovePhone
448
- */
449
- removePhone(input: RemovePhoneRequest, options?: RpcOptions): UnaryCall<RemovePhoneRequest, Empty> {
450
- const method = this.methods[19], opt = this._transport.mergeOptions(options);
451
- return stackIntercept<RemovePhoneRequest, Empty>("unary", this._transport, method, opt, input);
452
- }
453
- /**
454
- * Update a phone number's label or capabilities.
455
- *
456
- * @generated from protobuf rpc: UpdatePhone
457
- */
458
- updatePhone(input: UpdatePhoneRequest, options?: RpcOptions): UnaryCall<UpdatePhoneRequest, ProfilePhone> {
459
- const method = this.methods[20], opt = this._transport.mergeOptions(options);
460
- return stackIntercept<UpdatePhoneRequest, ProfilePhone>("unary", this._transport, method, opt, input);
461
- }
462
- /**
463
- * Set a phone as the primary phone for this profile.
464
- *
465
- * @generated from protobuf rpc: SetPrimaryPhone
466
- */
467
- setPrimaryPhone(input: SetPrimaryPhoneRequest, options?: RpcOptions): UnaryCall<SetPrimaryPhoneRequest, ProfilePhone> {
468
- const method = this.methods[21], opt = this._transport.mergeOptions(options);
469
- return stackIntercept<SetPrimaryPhoneRequest, ProfilePhone>("unary", this._transport, method, opt, input);
470
- }
471
- /**
472
- * List all phone numbers for the current profile.
473
- *
474
- * @generated from protobuf rpc: ListPhones
475
- */
476
- listPhones(input: Empty, options?: RpcOptions): UnaryCall<Empty, ListPhonesResponse> {
477
- const method = this.methods[22], opt = this._transport.mergeOptions(options);
478
- return stackIntercept<Empty, ListPhonesResponse>("unary", this._transport, method, opt, input);
479
- }
480
- // ── Email Management ──
481
-
482
- /**
483
- * Add an email address to the current profile.
484
- *
485
- * @generated from protobuf rpc: AddEmail
486
- */
487
- addEmail(input: AddEmailRequest, options?: RpcOptions): UnaryCall<AddEmailRequest, ProfileEmail> {
488
- const method = this.methods[23], opt = this._transport.mergeOptions(options);
489
- return stackIntercept<AddEmailRequest, ProfileEmail>("unary", this._transport, method, opt, input);
490
- }
491
- /**
492
- * Remove an email address from the current profile.
493
- *
494
- * @generated from protobuf rpc: RemoveEmail
495
- */
496
- removeEmail(input: RemoveEmailRequest, options?: RpcOptions): UnaryCall<RemoveEmailRequest, Empty> {
497
- const method = this.methods[24], opt = this._transport.mergeOptions(options);
498
- return stackIntercept<RemoveEmailRequest, Empty>("unary", this._transport, method, opt, input);
499
- }
500
- /**
501
- * Update an email address's label.
502
- *
503
- * @generated from protobuf rpc: UpdateEmail
504
- */
505
- updateEmail(input: UpdateEmailRequest, options?: RpcOptions): UnaryCall<UpdateEmailRequest, ProfileEmail> {
506
- const method = this.methods[25], opt = this._transport.mergeOptions(options);
507
- return stackIntercept<UpdateEmailRequest, ProfileEmail>("unary", this._transport, method, opt, input);
508
- }
509
- /**
510
- * Set an email as the primary email for this profile.
511
- *
512
- * @generated from protobuf rpc: SetPrimaryEmail
513
- */
514
- setPrimaryEmail(input: SetPrimaryEmailRequest, options?: RpcOptions): UnaryCall<SetPrimaryEmailRequest, ProfileEmail> {
515
- const method = this.methods[26], opt = this._transport.mergeOptions(options);
516
- return stackIntercept<SetPrimaryEmailRequest, ProfileEmail>("unary", this._transport, method, opt, input);
517
- }
518
- /**
519
- * List all email addresses for the current profile.
520
- *
521
- * @generated from protobuf rpc: ListEmails
522
- */
523
- listEmails(input: Empty, options?: RpcOptions): UnaryCall<Empty, ListEmailsResponse> {
524
- const method = this.methods[27], opt = this._transport.mergeOptions(options);
525
- return stackIntercept<Empty, ListEmailsResponse>("unary", this._transport, method, opt, input);
526
- }
527
- }