@finueva/auth 0.23.0 → 0.25.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.
- package/dist/device.d.ts +3 -3
- package/dist/device.js +37 -9
- package/dist/index.d.ts +2 -2
- package/dist/index.js +59 -16
- package/dist/server.d.ts +79 -3
- package/dist/server.js +2389 -2098
- package/dist/{types-CgtPkDeO.d.ts → types-rx4YxsoH.d.ts} +19 -3
- package/package.json +1 -1
package/dist/device.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { B as OrganizationDisplay, C as CreatedOrganizationTeam, Ct as SocialIdTokenProvider, Ft as AuthError, G as OrganizationMemberPage, H as OrganizationInvitationPage, It as AuthErrorCode, J as OrganizationPageInput, K as OrganizationMemberPageInput, Lt as AuthErrorStatus, Mt as UpdateOrganizationTeamDisplayInput, Nt as UpdateProfileInput, O as DriveCredential, Ot as TwoFactorStatus, Q as OrganizationTeamPage, Rt as UserApiCredential, S as CreatedOrganizationMemberInvitation, St as SocialIdTokenInput, U as OrganizationMember, V as OrganizationInvitation, W as OrganizationMemberAuthority, X as OrganizationTeamDisplay, Y as OrganizationTeam, Z as OrganizationTeamMemberPage, b as CreateOrganizationMemberInvitationInput, c as AuthSessionInventory, dt as ReceivedOrganizationInvitationPage, et as PasskeyInventory, i as AuthOrganization, jt as UpdateOrganizationDisplayInput, k as DriveCredentialInput, m as CeremonyHandoffInput, p as CeremonyHandoff, q as OrganizationPage, s as AuthSession, ut as ReceivedOrganizationInvitation, x as CreatedOrganization, zt as UserApiCredentialInput } from "./types-rx4YxsoH.js";
|
|
2
2
|
//#region src/device.d.ts
|
|
3
3
|
type DeviceAuthorizationErrorCode = "device_access_denied" | "device_authorization_cancelled" | "device_code_expired" | "invalid_device_authorization" | "identity_authority_unavailable";
|
|
4
4
|
declare class DeviceAuthorizationError extends Error {
|
|
@@ -51,7 +51,7 @@ interface DeviceAuthClient {
|
|
|
51
51
|
createOrganizationMemberInvitation(organizationId: string, input: CreateOrganizationMemberInvitationInput): Promise<CreatedOrganizationMemberInvitation>;
|
|
52
52
|
updateOrganizationDisplay(organizationId: string, input: UpdateOrganizationDisplayInput): Promise<OrganizationDisplay>;
|
|
53
53
|
updateOrganizationTeamDisplay(organizationId: string, teamId: string, input: UpdateOrganizationTeamDisplayInput): Promise<OrganizationTeamDisplay>;
|
|
54
|
-
listOrganizationMembers(organizationId: string, input?:
|
|
54
|
+
listOrganizationMembers(organizationId: string, input?: OrganizationMemberPageInput): Promise<OrganizationMemberPage>;
|
|
55
55
|
listOrganizationTeams(organizationId: string, input?: OrganizationPageInput): Promise<OrganizationTeamPage>;
|
|
56
56
|
listOrganizationTeamMembers(organizationId: string, teamId: string, input?: OrganizationPageInput): Promise<OrganizationTeamMemberPage>;
|
|
57
57
|
listOrganizationInvitations(organizationId: string, input?: OrganizationPageInput): Promise<OrganizationInvitationPage>;
|
|
@@ -91,4 +91,4 @@ interface DeviceAuthClient {
|
|
|
91
91
|
}
|
|
92
92
|
declare function createDeviceAuth(options: DeviceAuthOptions): DeviceAuthClient;
|
|
93
93
|
//#endregion
|
|
94
|
-
export { AuthError, type AuthErrorCode, type AuthErrorStatus, type AuthOrganization, type CreateOrganizationMemberInvitationInput, type CreatedOrganization, type CreatedOrganizationMemberInvitation, type CreatedOrganizationTeam, DeviceAuthClient, DeviceAuthOptions, DeviceAuthorization, DeviceAuthorizationError, DeviceAuthorizationErrorCode, DeviceToken, DeviceTokenPersistence, type OrganizationDisplay, type OrganizationInvitation, type OrganizationInvitationPage, type OrganizationMember, type OrganizationMemberAuthority, type OrganizationMemberPage, type OrganizationPage, type OrganizationPageInput, type OrganizationTeam, type OrganizationTeamDisplay, type OrganizationTeamMemberPage, type OrganizationTeamPage, PollDeviceOptions, type ReceivedOrganizationInvitation, type ReceivedOrganizationInvitationPage, type SocialIdTokenInput, type SocialIdTokenProvider, type TwoFactorStatus, type UpdateOrganizationDisplayInput, type UpdateOrganizationTeamDisplayInput, type UserApiCredential, type UserApiCredentialInput, createDeviceAuth };
|
|
94
|
+
export { AuthError, type AuthErrorCode, type AuthErrorStatus, type AuthOrganization, type CreateOrganizationMemberInvitationInput, type CreatedOrganization, type CreatedOrganizationMemberInvitation, type CreatedOrganizationTeam, DeviceAuthClient, DeviceAuthOptions, DeviceAuthorization, DeviceAuthorizationError, DeviceAuthorizationErrorCode, DeviceToken, DeviceTokenPersistence, type OrganizationDisplay, type OrganizationInvitation, type OrganizationInvitationPage, type OrganizationMember, type OrganizationMemberAuthority, type OrganizationMemberPage, type OrganizationMemberPageInput, type OrganizationPage, type OrganizationPageInput, type OrganizationTeam, type OrganizationTeamDisplay, type OrganizationTeamMemberPage, type OrganizationTeamPage, PollDeviceOptions, type ReceivedOrganizationInvitation, type ReceivedOrganizationInvitationPage, type SocialIdTokenInput, type SocialIdTokenProvider, type TwoFactorStatus, type UpdateOrganizationDisplayInput, type UpdateOrganizationTeamDisplayInput, type UserApiCredential, type UserApiCredentialInput, createDeviceAuth };
|
package/dist/device.js
CHANGED
|
@@ -340,6 +340,23 @@ function normalizeOrganizationPageInput(value) {
|
|
|
340
340
|
}
|
|
341
341
|
return query;
|
|
342
342
|
}
|
|
343
|
+
function normalizeOrganizationMemberPageInput(value) {
|
|
344
|
+
if (value === void 0) return new URLSearchParams();
|
|
345
|
+
if (!isObject(value) || Object.keys(value).some((key) => ![
|
|
346
|
+
"limit",
|
|
347
|
+
"cursor",
|
|
348
|
+
"search"
|
|
349
|
+
].includes(key))) throw new AuthError("invalid_request", 400);
|
|
350
|
+
const { search, ...page } = value;
|
|
351
|
+
const query = normalizeOrganizationPageInput(page);
|
|
352
|
+
if (search !== void 0) {
|
|
353
|
+
if (typeof search !== "string") throw new AuthError("invalid_request", 400);
|
|
354
|
+
const prefix = search.trim().replace(/[A-Z]/g, (character) => character.toLowerCase());
|
|
355
|
+
if (!prefix || prefix.length > 128 || Array.from(prefix).some((character) => character.charCodeAt(0) < 32 || character.charCodeAt(0) === 127)) throw new AuthError("invalid_request", 400);
|
|
356
|
+
query.set("search", prefix);
|
|
357
|
+
}
|
|
358
|
+
return query;
|
|
359
|
+
}
|
|
343
360
|
function normalizeIdInput(value) {
|
|
344
361
|
if (!isId(value)) throw new AuthError("invalid_request", 400);
|
|
345
362
|
return value;
|
|
@@ -1231,6 +1248,7 @@ async function requestJsonResponse(url, options) {
|
|
|
1231
1248
|
headers: options.headers,
|
|
1232
1249
|
body: options.body,
|
|
1233
1250
|
credentials: options.credentials ?? "include",
|
|
1251
|
+
cache: options.cache,
|
|
1234
1252
|
retry: 0,
|
|
1235
1253
|
timeout: options.timeoutMs,
|
|
1236
1254
|
redirect: "manual",
|
|
@@ -1243,37 +1261,47 @@ async function requestJsonResponse(url, options) {
|
|
|
1243
1261
|
}
|
|
1244
1262
|
const contentType = response.headers.get("content-type")?.split(";", 1)[0]?.trim().toLowerCase();
|
|
1245
1263
|
if (response.status >= 300 || response.status < 200 || contentType !== "application/json") {
|
|
1246
|
-
const body = contentType === "application/json" ? await readJson(response, options.maxResponseBytes) : void 0;
|
|
1247
|
-
|
|
1264
|
+
const body = contentType === "application/json" ? await readJson(response, options.maxResponseBytes, options.signal) : void 0;
|
|
1265
|
+
response.body?.cancel().catch(() => void 0);
|
|
1248
1266
|
throw (options.mapError ?? fromAuthorityError)(body, response.status, response.headers.get("retry-after"));
|
|
1249
1267
|
}
|
|
1250
1268
|
return {
|
|
1251
|
-
value: await readJson(response, options.maxResponseBytes),
|
|
1269
|
+
value: await readJson(response, options.maxResponseBytes, options.signal),
|
|
1252
1270
|
headers: response.headers
|
|
1253
1271
|
};
|
|
1254
1272
|
}
|
|
1255
|
-
async function readJson(response, maximum = MAX_RESPONSE_BYTES) {
|
|
1273
|
+
async function readJson(response, maximum = MAX_RESPONSE_BYTES, signal) {
|
|
1256
1274
|
const length = response.headers.get("content-length");
|
|
1257
1275
|
if (length && (!/^\d+$/.test(length) || Number(length) > maximum)) {
|
|
1258
|
-
|
|
1276
|
+
response.body?.cancel().catch(() => void 0);
|
|
1259
1277
|
throw authorityUnavailable();
|
|
1260
1278
|
}
|
|
1261
1279
|
if (!response.body) throw authorityUnavailable();
|
|
1280
|
+
if (signal?.aborted) {
|
|
1281
|
+
response.body.cancel().catch(() => void 0);
|
|
1282
|
+
throw authorityUnavailable();
|
|
1283
|
+
}
|
|
1262
1284
|
const reader = response.body.getReader();
|
|
1285
|
+
const cancel = () => {
|
|
1286
|
+
reader.cancel().catch(() => void 0);
|
|
1287
|
+
};
|
|
1288
|
+
signal?.addEventListener("abort", cancel, { once: true });
|
|
1263
1289
|
const chunks = [];
|
|
1264
1290
|
let size = 0;
|
|
1265
1291
|
try {
|
|
1266
1292
|
while (true) {
|
|
1267
1293
|
const { done, value } = await reader.read();
|
|
1294
|
+
if (signal?.aborted) throw authorityUnavailable();
|
|
1268
1295
|
if (done) break;
|
|
1269
1296
|
size += value.byteLength;
|
|
1270
1297
|
if (size > maximum) throw authorityUnavailable();
|
|
1271
1298
|
chunks.push(value);
|
|
1272
1299
|
}
|
|
1273
1300
|
} catch (error) {
|
|
1274
|
-
|
|
1301
|
+
reader.cancel().catch(() => void 0);
|
|
1275
1302
|
throw error;
|
|
1276
1303
|
} finally {
|
|
1304
|
+
signal?.removeEventListener("abort", cancel);
|
|
1277
1305
|
reader.releaseLock();
|
|
1278
1306
|
}
|
|
1279
1307
|
const bytes = new Uint8Array(size);
|
|
@@ -1905,8 +1933,8 @@ function createDeviceAuth(options) {
|
|
|
1905
1933
|
}
|
|
1906
1934
|
return session;
|
|
1907
1935
|
}
|
|
1908
|
-
async function organizationRead(path, input, normalize) {
|
|
1909
|
-
const query =
|
|
1936
|
+
async function organizationRead(path, input, normalize, queryInput = normalizeOrganizationPageInput) {
|
|
1937
|
+
const query = queryInput(input);
|
|
1910
1938
|
const current = await readToken();
|
|
1911
1939
|
if (!current) throw new AuthError("authentication_required", 401);
|
|
1912
1940
|
return normalize((await requestJsonResponse(`${joinURL(authOrigin, "api/v1/auth/organizations", path)}${query.size ? `?${query}` : ""}`, {
|
|
@@ -2089,7 +2117,7 @@ function createDeviceAuth(options) {
|
|
|
2089
2117
|
},
|
|
2090
2118
|
listOrganizationMembers(organizationId, input) {
|
|
2091
2119
|
try {
|
|
2092
|
-
return serializeAuthority(() => organizationRead(`${normalizeIdInput(organizationId)}/members`, input, normalizeOrganizationMembers));
|
|
2120
|
+
return serializeAuthority(() => organizationRead(`${normalizeIdInput(organizationId)}/members`, input, normalizeOrganizationMembers, normalizeOrganizationMemberPageInput));
|
|
2093
2121
|
} catch (error) {
|
|
2094
2122
|
return Promise.reject(error);
|
|
2095
2123
|
}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { $ as
|
|
1
|
+
import { $ as OrganizationWorkspaceSelection, A as EnterpriseConnection, At as UpdateEnterpriseConnectionInput, B as OrganizationDisplay, C as CreatedOrganizationTeam, Ct as SocialIdTokenProvider, D as DepartedOrganizationMemberPage, Dt as TwoFactorEnrollment, E as DepartedOrganizationMember, Et as SuspendedOrganizationMemberStatus, F as InvitationDecline, Ft as AuthError, G as OrganizationMemberPage, H as OrganizationInvitationPage, I as OrganizationClosure, It as AuthErrorCode, J as OrganizationPageInput, K as OrganizationMemberPageInput, L as OrganizationClosureCancelInput, Lt as AuthErrorStatus, M as EnterpriseConnectionSetup, Mt as UpdateOrganizationTeamDisplayInput, N as FinuevaAuthClient, Nt as UpdateProfileInput, O as DriveCredential, Ot as TwoFactorStatus, P as InvitationAcceptance, Pt as WorkspaceSelection, Q as OrganizationTeamPage, R as OrganizationClosureStartInput, Rt as UserApiCredential, S as CreatedOrganizationMemberInvitation, St as SocialIdTokenInput, T as DeletedOrganizationTeam, Tt as SuspendedOrganizationMemberPage, U as OrganizationMember, V as OrganizationInvitation, W as OrganizationMemberAuthority, X as OrganizationTeamDisplay, Y as OrganizationTeam, Z as OrganizationTeamMemberPage, _ as ClosingOrganization, _t as RotateScimCredentialInput, a as AuthPersistence, at as PlatformRoleApplied, b as CreateOrganizationMemberInvitationInput, bt as SendVerificationEmailInput, c as AuthSessionInventory, ct as PlatformRoleFirstApproval, d as AuthUser, dt as ReceivedOrganizationInvitationPage, et as PasskeyInventory, f as CanceledOrganizationInvitation, ft as RecentAuthenticationStatus, g as CeremonyReturnInput, gt as RestoredOrganizationMember, h as CeremonyRecentAuthenticationRequest, ht as ResentOrganizationInvitation, i as AuthOrganization, it as PlatformRole, j as EnterpriseConnectionAction, jt as UpdateOrganizationDisplayInput, k as DriveCredentialInput, kt as TwoFactorStepUpInput, l as AuthSessionSummary, lt as PlatformStatus, m as CeremonyHandoffInput, mt as RemovedOrganizationTeamMember, n as AddedOrganizationTeamMember, nt as PersonalWorkspaceSelection, o as AuthPersistenceDriver, ot as PlatformRoleApproval, p as CeremonyHandoff, pt as RemovedOrganizationMember, q as OrganizationPage, r as AuthClientOptions, rt as PlatformBootstrapRoleChangeInput, s as AuthSession, st as PlatformRoleChangeRecentAuthenticationInput, t as AcceptInvitationInput, tt as PasskeySummary, u as AuthState, ut as ReceivedOrganizationInvitation, v as ClosingOrganizationList, vt as ScimCredentialIssuance, w as DeclineInvitationInput, wt as SuspendedOrganizationMember, x as CreatedOrganization, xt as SignInInput, y as CreateEnterpriseConnectionInput, yt as ScimCredentialState, z as OrganizationDeparture, zt as UserApiCredentialInput } from "./types-rx4YxsoH.js";
|
|
2
2
|
//#region src/client.d.ts
|
|
3
3
|
declare function createAuthClient(options: AuthClientOptions): FinuevaAuthClient;
|
|
4
4
|
//#endregion
|
|
5
|
-
export { type AcceptInvitationInput, type AddedOrganizationTeamMember, type AuthClientOptions, AuthError, type AuthErrorCode, type AuthErrorStatus, type AuthOrganization, type AuthPersistence, type AuthPersistenceDriver, type AuthSession, type AuthSessionInventory, type AuthSessionSummary, type AuthState, type AuthUser, type CanceledOrganizationInvitation, type CeremonyHandoff, type CeremonyHandoffInput, type CeremonyRecentAuthenticationRequest, type CeremonyReturnInput, type ClosingOrganization, type ClosingOrganizationList, type CreateEnterpriseConnectionInput, type CreateOrganizationMemberInvitationInput, type CreatedOrganization, type CreatedOrganizationMemberInvitation, type CreatedOrganizationTeam, type DeclineInvitationInput, type DeletedOrganizationTeam, type DepartedOrganizationMember, type DepartedOrganizationMemberPage, type DriveCredential, type DriveCredentialInput, type EnterpriseConnection, type EnterpriseConnectionAction, type EnterpriseConnectionSetup, type FinuevaAuthClient, type InvitationAcceptance, type InvitationDecline, type OrganizationClosure, type OrganizationClosureCancelInput, type OrganizationClosureStartInput, type OrganizationDeparture, type OrganizationDisplay, type OrganizationInvitation, type OrganizationInvitationPage, type OrganizationMember, type OrganizationMemberAuthority, type OrganizationMemberPage, type OrganizationPage, type OrganizationPageInput, type OrganizationTeam, type OrganizationTeamDisplay, type OrganizationTeamMemberPage, type OrganizationTeamPage, type OrganizationWorkspaceSelection, type PasskeyInventory, type PasskeySummary, type PersonalWorkspaceSelection, type PlatformBootstrapRoleChangeInput, type PlatformRole, type PlatformRoleApplied, type PlatformRoleApproval, type PlatformRoleChangeRecentAuthenticationInput, type PlatformRoleFirstApproval, type PlatformStatus, type ReceivedOrganizationInvitation, type ReceivedOrganizationInvitationPage, type RecentAuthenticationStatus, type RemovedOrganizationMember, type RemovedOrganizationTeamMember, type ResentOrganizationInvitation, type RestoredOrganizationMember, type RotateScimCredentialInput, type ScimCredentialIssuance, type ScimCredentialState, type SendVerificationEmailInput, type SignInInput, type SocialIdTokenInput, type SocialIdTokenProvider, type SuspendedOrganizationMember, type SuspendedOrganizationMemberPage, type SuspendedOrganizationMemberStatus, type TwoFactorEnrollment, type TwoFactorStatus, type TwoFactorStepUpInput, type UpdateEnterpriseConnectionInput, type UpdateOrganizationDisplayInput, type UpdateOrganizationTeamDisplayInput, type UpdateProfileInput, type UserApiCredential, type UserApiCredentialInput, type WorkspaceSelection, createAuthClient };
|
|
5
|
+
export { type AcceptInvitationInput, type AddedOrganizationTeamMember, type AuthClientOptions, AuthError, type AuthErrorCode, type AuthErrorStatus, type AuthOrganization, type AuthPersistence, type AuthPersistenceDriver, type AuthSession, type AuthSessionInventory, type AuthSessionSummary, type AuthState, type AuthUser, type CanceledOrganizationInvitation, type CeremonyHandoff, type CeremonyHandoffInput, type CeremonyRecentAuthenticationRequest, type CeremonyReturnInput, type ClosingOrganization, type ClosingOrganizationList, type CreateEnterpriseConnectionInput, type CreateOrganizationMemberInvitationInput, type CreatedOrganization, type CreatedOrganizationMemberInvitation, type CreatedOrganizationTeam, type DeclineInvitationInput, type DeletedOrganizationTeam, type DepartedOrganizationMember, type DepartedOrganizationMemberPage, type DriveCredential, type DriveCredentialInput, type EnterpriseConnection, type EnterpriseConnectionAction, type EnterpriseConnectionSetup, type FinuevaAuthClient, type InvitationAcceptance, type InvitationDecline, type OrganizationClosure, type OrganizationClosureCancelInput, type OrganizationClosureStartInput, type OrganizationDeparture, type OrganizationDisplay, type OrganizationInvitation, type OrganizationInvitationPage, type OrganizationMember, type OrganizationMemberAuthority, type OrganizationMemberPage, type OrganizationMemberPageInput, type OrganizationPage, type OrganizationPageInput, type OrganizationTeam, type OrganizationTeamDisplay, type OrganizationTeamMemberPage, type OrganizationTeamPage, type OrganizationWorkspaceSelection, type PasskeyInventory, type PasskeySummary, type PersonalWorkspaceSelection, type PlatformBootstrapRoleChangeInput, type PlatformRole, type PlatformRoleApplied, type PlatformRoleApproval, type PlatformRoleChangeRecentAuthenticationInput, type PlatformRoleFirstApproval, type PlatformStatus, type ReceivedOrganizationInvitation, type ReceivedOrganizationInvitationPage, type RecentAuthenticationStatus, type RemovedOrganizationMember, type RemovedOrganizationTeamMember, type ResentOrganizationInvitation, type RestoredOrganizationMember, type RotateScimCredentialInput, type ScimCredentialIssuance, type ScimCredentialState, type SendVerificationEmailInput, type SignInInput, type SocialIdTokenInput, type SocialIdTokenProvider, type SuspendedOrganizationMember, type SuspendedOrganizationMemberPage, type SuspendedOrganizationMemberStatus, type TwoFactorEnrollment, type TwoFactorStatus, type TwoFactorStepUpInput, type UpdateEnterpriseConnectionInput, type UpdateOrganizationDisplayInput, type UpdateOrganizationTeamDisplayInput, type UpdateProfileInput, type UserApiCredential, type UserApiCredentialInput, type WorkspaceSelection, createAuthClient };
|
package/dist/index.js
CHANGED
|
@@ -2978,6 +2978,23 @@ function normalizeOrganizationPageInput(value) {
|
|
|
2978
2978
|
}
|
|
2979
2979
|
return query;
|
|
2980
2980
|
}
|
|
2981
|
+
function normalizeOrganizationMemberPageInput(value) {
|
|
2982
|
+
if (value === void 0) return new URLSearchParams();
|
|
2983
|
+
if (!isObject(value) || Object.keys(value).some((key) => ![
|
|
2984
|
+
"limit",
|
|
2985
|
+
"cursor",
|
|
2986
|
+
"search"
|
|
2987
|
+
].includes(key))) throw new AuthError("invalid_request", 400);
|
|
2988
|
+
const { search, ...page } = value;
|
|
2989
|
+
const query = normalizeOrganizationPageInput(page);
|
|
2990
|
+
if (search !== void 0) {
|
|
2991
|
+
if (typeof search !== "string") throw new AuthError("invalid_request", 400);
|
|
2992
|
+
const prefix = search.trim().replace(/[A-Z]/g, (character) => character.toLowerCase());
|
|
2993
|
+
if (!prefix || prefix.length > 128 || Array.from(prefix).some((character) => character.charCodeAt(0) < 32 || character.charCodeAt(0) === 127)) throw new AuthError("invalid_request", 400);
|
|
2994
|
+
query.set("search", prefix);
|
|
2995
|
+
}
|
|
2996
|
+
return query;
|
|
2997
|
+
}
|
|
2981
2998
|
function normalizeIdInput(value) {
|
|
2982
2999
|
if (!isId(value)) throw new AuthError("invalid_request", 400);
|
|
2983
3000
|
return value;
|
|
@@ -3896,6 +3913,7 @@ async function requestJsonResponse(url, options) {
|
|
|
3896
3913
|
headers: options.headers,
|
|
3897
3914
|
body: options.body,
|
|
3898
3915
|
credentials: options.credentials ?? "include",
|
|
3916
|
+
cache: options.cache,
|
|
3899
3917
|
retry: 0,
|
|
3900
3918
|
timeout: options.timeoutMs,
|
|
3901
3919
|
redirect: "manual",
|
|
@@ -3908,37 +3926,47 @@ async function requestJsonResponse(url, options) {
|
|
|
3908
3926
|
}
|
|
3909
3927
|
const contentType = response.headers.get("content-type")?.split(";", 1)[0]?.trim().toLowerCase();
|
|
3910
3928
|
if (response.status >= 300 || response.status < 200 || contentType !== "application/json") {
|
|
3911
|
-
const body = contentType === "application/json" ? await readJson(response, options.maxResponseBytes) : void 0;
|
|
3912
|
-
|
|
3929
|
+
const body = contentType === "application/json" ? await readJson(response, options.maxResponseBytes, options.signal) : void 0;
|
|
3930
|
+
response.body?.cancel().catch(() => void 0);
|
|
3913
3931
|
throw (options.mapError ?? fromAuthorityError)(body, response.status, response.headers.get("retry-after"));
|
|
3914
3932
|
}
|
|
3915
3933
|
return {
|
|
3916
|
-
value: await readJson(response, options.maxResponseBytes),
|
|
3934
|
+
value: await readJson(response, options.maxResponseBytes, options.signal),
|
|
3917
3935
|
headers: response.headers
|
|
3918
3936
|
};
|
|
3919
3937
|
}
|
|
3920
|
-
async function readJson(response, maximum = MAX_RESPONSE_BYTES) {
|
|
3938
|
+
async function readJson(response, maximum = MAX_RESPONSE_BYTES, signal) {
|
|
3921
3939
|
const length = response.headers.get("content-length");
|
|
3922
3940
|
if (length && (!/^\d+$/.test(length) || Number(length) > maximum)) {
|
|
3923
|
-
|
|
3941
|
+
response.body?.cancel().catch(() => void 0);
|
|
3924
3942
|
throw authorityUnavailable();
|
|
3925
3943
|
}
|
|
3926
3944
|
if (!response.body) throw authorityUnavailable();
|
|
3945
|
+
if (signal?.aborted) {
|
|
3946
|
+
response.body.cancel().catch(() => void 0);
|
|
3947
|
+
throw authorityUnavailable();
|
|
3948
|
+
}
|
|
3927
3949
|
const reader = response.body.getReader();
|
|
3950
|
+
const cancel = () => {
|
|
3951
|
+
reader.cancel().catch(() => void 0);
|
|
3952
|
+
};
|
|
3953
|
+
signal?.addEventListener("abort", cancel, { once: true });
|
|
3928
3954
|
const chunks = [];
|
|
3929
3955
|
let size = 0;
|
|
3930
3956
|
try {
|
|
3931
3957
|
while (true) {
|
|
3932
3958
|
const { done, value } = await reader.read();
|
|
3959
|
+
if (signal?.aborted) throw authorityUnavailable();
|
|
3933
3960
|
if (done) break;
|
|
3934
3961
|
size += value.byteLength;
|
|
3935
3962
|
if (size > maximum) throw authorityUnavailable();
|
|
3936
3963
|
chunks.push(value);
|
|
3937
3964
|
}
|
|
3938
3965
|
} catch (error) {
|
|
3939
|
-
|
|
3966
|
+
reader.cancel().catch(() => void 0);
|
|
3940
3967
|
throw error;
|
|
3941
3968
|
} finally {
|
|
3969
|
+
signal?.removeEventListener("abort", cancel);
|
|
3942
3970
|
reader.releaseLock();
|
|
3943
3971
|
}
|
|
3944
3972
|
const bytes = new Uint8Array(size);
|
|
@@ -5098,6 +5126,9 @@ const setupKeys = [
|
|
|
5098
5126
|
"clientId",
|
|
5099
5127
|
"enabled",
|
|
5100
5128
|
"memberJit",
|
|
5129
|
+
"requireVerifiedEmail",
|
|
5130
|
+
"capability",
|
|
5131
|
+
"groupsSync",
|
|
5101
5132
|
"domain",
|
|
5102
5133
|
"domainVerified",
|
|
5103
5134
|
"validatedAt",
|
|
@@ -5108,7 +5139,7 @@ const setupKeys = [
|
|
|
5108
5139
|
"redirectUri"
|
|
5109
5140
|
];
|
|
5110
5141
|
function normalizeEnterpriseConnectionSetup(value) {
|
|
5111
|
-
if (!exact(value, setupKeys) || typeof value.id !== "string" || !idPattern.test(value.id) || typeof value.issuer !== "string" || value.issuer.length > 2048 || !value.issuer.startsWith("https://") || typeof value.clientId !== "string" || value.clientId.length < 1 || value.clientId.length > 256 || typeof value.domain !== "string" || !/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$/.test(value.domain) || value.domain.length > 253 || value.dnsRecordName !== `_finueva-sso.${value.domain}` || typeof value.dnsRecordValue !== "string" || !/^finueva-sso=[A-Za-z0-9_-]{43}$/.test(value.dnsRecordValue) || typeof value.redirectUri !== "string" || value.redirectUri.length > 2048 || !Number.isSafeInteger(value.revision) || value.revision < 0) throw authorityUnavailable();
|
|
5142
|
+
if (!exact(value, setupKeys) || value.capability !== "federated_sign_in" && value.capability !== "managed_lifecycle" || typeof value.id !== "string" || !idPattern.test(value.id) || typeof value.issuer !== "string" || value.issuer.length > 2048 || !value.issuer.startsWith("https://") || typeof value.clientId !== "string" || value.clientId.length < 1 || value.clientId.length > 256 || typeof value.domain !== "string" || !/^(?:[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z]{2,63}$/.test(value.domain) || value.domain.length > 253 || value.dnsRecordName !== `_finueva-sso.${value.domain}` || typeof value.dnsRecordValue !== "string" || !/^finueva-sso=[A-Za-z0-9_-]{43}$/.test(value.dnsRecordValue) || typeof value.redirectUri !== "string" || value.redirectUri.length > 2048 || !Number.isSafeInteger(value.revision) || value.revision < 0) throw authorityUnavailable();
|
|
5112
5143
|
let redirect;
|
|
5113
5144
|
try {
|
|
5114
5145
|
redirect = new URL(value.redirectUri);
|
|
@@ -5123,6 +5154,9 @@ function normalizeEnterpriseConnectionSetup(value) {
|
|
|
5123
5154
|
clientId: value.clientId,
|
|
5124
5155
|
enabled: bool(value.enabled),
|
|
5125
5156
|
memberJit: bool(value.memberJit),
|
|
5157
|
+
requireVerifiedEmail: bool(value.requireVerifiedEmail),
|
|
5158
|
+
capability: value.capability,
|
|
5159
|
+
groupsSync: bool(value.groupsSync),
|
|
5126
5160
|
domain: value.domain,
|
|
5127
5161
|
domainVerified: bool(value.domainVerified),
|
|
5128
5162
|
validatedAt: date(value.validatedAt, true),
|
|
@@ -5595,10 +5629,10 @@ function createAuthClient(options) {
|
|
|
5595
5629
|
if (generation !== authorityGeneration) throw new AuthError("state_conflict", 409);
|
|
5596
5630
|
return value;
|
|
5597
5631
|
}
|
|
5598
|
-
async function organizationRead(path, input, normalize) {
|
|
5632
|
+
async function organizationRead(path, input, normalize, queryInput = normalizeOrganizationPageInput) {
|
|
5599
5633
|
if (signOutRequest || activeAccountMutationGeneration !== void 0 || invitationRequest) throw new AuthError("state_conflict", 409);
|
|
5600
5634
|
const generation = authorityGeneration;
|
|
5601
|
-
const query =
|
|
5635
|
+
const query = queryInput(input);
|
|
5602
5636
|
const value = await requestJson(`${joinURL(authOrigin, "api/v1/auth/organizations", path)}${query.size ? `?${query}` : ""}`, {
|
|
5603
5637
|
fetch: fetchImpl,
|
|
5604
5638
|
timeoutMs,
|
|
@@ -5656,10 +5690,11 @@ function createAuthClient(options) {
|
|
|
5656
5690
|
fetch: fetchImpl,
|
|
5657
5691
|
timeoutMs,
|
|
5658
5692
|
method,
|
|
5659
|
-
|
|
5660
|
-
|
|
5661
|
-
|
|
5662
|
-
}
|
|
5693
|
+
headers: {
|
|
5694
|
+
...body ? { "content-type": "application/json" } : {},
|
|
5695
|
+
...path.includes("/connection-setup") ? { "x-finueva-connection-setup": "policy" } : {}
|
|
5696
|
+
},
|
|
5697
|
+
...body ? { body } : {},
|
|
5663
5698
|
mapError: fromEnterpriseAdministrationError
|
|
5664
5699
|
});
|
|
5665
5700
|
if (generation !== authorityGeneration) throw new AuthError("state_conflict", 409);
|
|
@@ -6138,7 +6173,7 @@ function createAuthClient(options) {
|
|
|
6138
6173
|
return organizationRead("closing", void 0, normalizeClosingOrganizations);
|
|
6139
6174
|
},
|
|
6140
6175
|
async listOrganizationMembers(organizationId, input) {
|
|
6141
|
-
return organizationRead(`${normalizeIdInput(organizationId)}/members`, input, normalizeOrganizationMembers);
|
|
6176
|
+
return organizationRead(`${normalizeIdInput(organizationId)}/members`, input, normalizeOrganizationMembers, normalizeOrganizationMemberPageInput);
|
|
6142
6177
|
},
|
|
6143
6178
|
async listOrganizationTeams(organizationId, input) {
|
|
6144
6179
|
return organizationRead(`${normalizeIdInput(organizationId)}/teams`, input, normalizeOrganizationTeams);
|
|
@@ -6191,7 +6226,10 @@ function createAuthClient(options) {
|
|
|
6191
6226
|
clientId: enterpriseInputString(input?.clientId, 256),
|
|
6192
6227
|
clientSecret: enterpriseInputString(input?.clientSecret, 512),
|
|
6193
6228
|
domain: enterpriseInputString(input?.domain, 253),
|
|
6194
|
-
memberJit: enterpriseInputBoolean(input?.memberJit)
|
|
6229
|
+
memberJit: enterpriseInputBoolean(input?.memberJit),
|
|
6230
|
+
...input?.requireVerifiedEmail === void 0 ? {} : { requireVerifiedEmail: enterpriseInputBoolean(input.requireVerifiedEmail) },
|
|
6231
|
+
...input?.provisioning === void 0 ? {} : { provisioning: enterpriseInputBoolean(input.provisioning) },
|
|
6232
|
+
...input?.groupsSync === void 0 ? {} : { groupsSync: enterpriseInputBoolean(input.groupsSync) }
|
|
6195
6233
|
};
|
|
6196
6234
|
return enterpriseRequest("POST", `${normalizeIdInput(organizationId)}/connection-setup`, body, normalizeEnterpriseConnectionSetup);
|
|
6197
6235
|
},
|
|
@@ -6201,6 +6239,9 @@ function createAuthClient(options) {
|
|
|
6201
6239
|
issuer: enterpriseInputString(input?.issuer, 2048),
|
|
6202
6240
|
clientId: enterpriseInputString(input?.clientId, 256),
|
|
6203
6241
|
memberJit: enterpriseInputBoolean(input?.memberJit),
|
|
6242
|
+
...input?.requireVerifiedEmail === void 0 ? {} : { requireVerifiedEmail: enterpriseInputBoolean(input.requireVerifiedEmail) },
|
|
6243
|
+
...input?.provisioning === void 0 ? {} : { provisioning: enterpriseInputBoolean(input.provisioning) },
|
|
6244
|
+
...input?.groupsSync === void 0 ? {} : { groupsSync: enterpriseInputBoolean(input.groupsSync) },
|
|
6204
6245
|
...input?.clientSecret === void 0 ? {} : { clientSecret: enterpriseInputString(input.clientSecret, 512) }
|
|
6205
6246
|
};
|
|
6206
6247
|
return enterpriseRequest("POST", `${normalizeIdInput(organizationId)}/connection-setup/${normalizeIdInput(connectionId)}`, body, normalizeEnterpriseConnectionSetup);
|
|
@@ -6212,7 +6253,9 @@ function createAuthClient(options) {
|
|
|
6212
6253
|
"validate",
|
|
6213
6254
|
"enable",
|
|
6214
6255
|
"disable",
|
|
6215
|
-
"archive"
|
|
6256
|
+
"archive",
|
|
6257
|
+
"enable-groups",
|
|
6258
|
+
"disable-groups"
|
|
6216
6259
|
].includes(input?.action)) throw new TypeError("Enterprise action is invalid");
|
|
6217
6260
|
const body = {
|
|
6218
6261
|
expectedRevision: normalizeRevision(input?.expectedRevision),
|
package/dist/server.d.ts
CHANGED
|
@@ -1,4 +1,77 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { $ as OrganizationWorkspaceSelection, B as OrganizationDisplay, C as CreatedOrganizationTeam, Ct as SocialIdTokenProvider, F as InvitationDecline, Ft as AuthError, G as OrganizationMemberPage, H as OrganizationInvitationPage, It as AuthErrorCode, J as OrganizationPageInput, K as OrganizationMemberPageInput, Lt as AuthErrorStatus, Mt as UpdateOrganizationTeamDisplayInput, O as DriveCredential, P as InvitationAcceptance, Pt as WorkspaceSelection, Q as OrganizationTeamPage, Rt as UserApiCredential, S as CreatedOrganizationMemberInvitation, St as SocialIdTokenInput, T as DeletedOrganizationTeam, U as OrganizationMember, V as OrganizationInvitation, W as OrganizationMemberAuthority, X as OrganizationTeamDisplay, Y as OrganizationTeam, Z as OrganizationTeamMemberPage, b as CreateOrganizationMemberInvitationInput, d as AuthUser, dt as ReceivedOrganizationInvitationPage, f as CanceledOrganizationInvitation, ht as ResentOrganizationInvitation, i as AuthOrganization, jt as UpdateOrganizationDisplayInput, k as DriveCredentialInput, mt as RemovedOrganizationTeamMember, n as AddedOrganizationTeamMember, nt as PersonalWorkspaceSelection, pt as RemovedOrganizationMember, q as OrganizationPage, s as AuthSession, t as AcceptInvitationInput, ut as ReceivedOrganizationInvitation, w as DeclineInvitationInput, x as CreatedOrganization, z as OrganizationDeparture, zt as UserApiCredentialInput } from "./types-rx4YxsoH.js";
|
|
2
|
+
//#region src/product-operations/types.d.ts
|
|
3
|
+
type AccountProductOperationPhase = "snapshot" | "consume" | "receipt";
|
|
4
|
+
interface AccountProductOperationProof {
|
|
5
|
+
applicationCredential: string;
|
|
6
|
+
serviceAssertion: string;
|
|
7
|
+
/** Expected verified product identity and registered service; these fields are never sent as authority. */
|
|
8
|
+
actorUserId: string;
|
|
9
|
+
actorSessionId: string;
|
|
10
|
+
serviceId: string;
|
|
11
|
+
environment: "local" | "development" | "staging" | "production";
|
|
12
|
+
}
|
|
13
|
+
interface AccountProductOperationSnapshotInput {
|
|
14
|
+
applicationId: string;
|
|
15
|
+
participantUserUids: string[];
|
|
16
|
+
}
|
|
17
|
+
interface AccountProductOperationInput {
|
|
18
|
+
applicationId: string;
|
|
19
|
+
snapshotId: string;
|
|
20
|
+
operationHash: string;
|
|
21
|
+
nonce: string;
|
|
22
|
+
}
|
|
23
|
+
interface AccountProductOperationSnapshot {
|
|
24
|
+
snapshotId: string;
|
|
25
|
+
actorUserId: string;
|
|
26
|
+
actorSessionId: string;
|
|
27
|
+
issuedAt: number;
|
|
28
|
+
expiresAt: number;
|
|
29
|
+
}
|
|
30
|
+
/** Immutable historical decision. Its original expiry never grants permission for a new commit. */
|
|
31
|
+
interface AccountProductOperationReceipt extends AccountProductOperationSnapshot {
|
|
32
|
+
serviceId: string;
|
|
33
|
+
applicationId: string;
|
|
34
|
+
actorAccountCreatedAt: number;
|
|
35
|
+
environment: "local" | "development" | "staging" | "production";
|
|
36
|
+
scopeKind: "account";
|
|
37
|
+
organizationId: null;
|
|
38
|
+
nonce: string;
|
|
39
|
+
operationHash: string;
|
|
40
|
+
consumedAt: number;
|
|
41
|
+
}
|
|
42
|
+
interface AccountProductOperationConsumer {
|
|
43
|
+
captureAccountOperation(input: AccountProductOperationSnapshotInput, proof: AccountProductOperationProof): Promise<AccountProductOperationSnapshot>;
|
|
44
|
+
consumeAccountOperation(input: AccountProductOperationInput, proof: AccountProductOperationProof): Promise<{
|
|
45
|
+
receipt: AccountProductOperationReceipt;
|
|
46
|
+
replayed: boolean;
|
|
47
|
+
}>;
|
|
48
|
+
retrieveAccountOperationReceipt(input: AccountProductOperationInput, proof: AccountProductOperationProof): Promise<AccountProductOperationReceipt>;
|
|
49
|
+
}
|
|
50
|
+
//#endregion
|
|
51
|
+
//#region src/product-operations/index.d.ts
|
|
52
|
+
interface AccountProductOperationAuthOptions {
|
|
53
|
+
authOrigin: string;
|
|
54
|
+
fetch?: typeof globalThis.fetch;
|
|
55
|
+
timeoutMs?: number;
|
|
56
|
+
}
|
|
57
|
+
/** Server-only. Every call needs a fresh assertion for its exact phase audience. No call retries automatically. */
|
|
58
|
+
declare function createAccountProductOperationAuth(options: AccountProductOperationAuthOptions): AccountProductOperationConsumer & {
|
|
59
|
+
audience(phase: AccountProductOperationPhase): string;
|
|
60
|
+
};
|
|
61
|
+
//#endregion
|
|
62
|
+
//#region src/application-access.d.ts
|
|
63
|
+
interface OrganizationMemberApplicationAccessInput {
|
|
64
|
+
applicationId: string;
|
|
65
|
+
userIds: string[];
|
|
66
|
+
}
|
|
67
|
+
interface OrganizationMemberApplicationAccess {
|
|
68
|
+
members: Array<{
|
|
69
|
+
userId: string;
|
|
70
|
+
latestAppSessionAdmittedAt: string | null;
|
|
71
|
+
activeAppSessionCount: number;
|
|
72
|
+
}>;
|
|
73
|
+
}
|
|
74
|
+
//#endregion
|
|
2
75
|
//#region src/google-recovery.d.ts
|
|
3
76
|
interface GoogleAccountRecoveryInput {
|
|
4
77
|
idToken: {
|
|
@@ -159,6 +232,9 @@ interface FinuevaServerAuth {
|
|
|
159
232
|
getSession(): Promise<AuthSession | null>;
|
|
160
233
|
listOrganizations(input?: OrganizationPageInput): Promise<OrganizationPage>;
|
|
161
234
|
getOrganization(organizationId: string): Promise<AuthOrganization>;
|
|
235
|
+
getOrganizationMemberApplicationAccess(organizationId: string, input: OrganizationMemberApplicationAccessInput, serviceAssertion: string, options?: {
|
|
236
|
+
applicationCredential: string;
|
|
237
|
+
}): Promise<OrganizationMemberApplicationAccess>;
|
|
162
238
|
getOrganizationMemberAuthority(organizationId: string, memberId: string): Promise<OrganizationMemberAuthority>;
|
|
163
239
|
createOrganization(name: string, slug: string, idempotencyKey: string): Promise<CreatedOrganization>;
|
|
164
240
|
createOrganizationTeam(organizationId: string, name: string, idempotencyKey: string): Promise<CreatedOrganizationTeam>;
|
|
@@ -172,7 +248,7 @@ interface FinuevaServerAuth {
|
|
|
172
248
|
deleteOrganizationTeam(organizationId: string, teamId: string, idempotencyKey: string): Promise<DeletedOrganizationTeam>;
|
|
173
249
|
updateOrganizationDisplay(organizationId: string, input: UpdateOrganizationDisplayInput): Promise<OrganizationDisplay>;
|
|
174
250
|
updateOrganizationTeamDisplay(organizationId: string, teamId: string, input: UpdateOrganizationTeamDisplayInput): Promise<OrganizationTeamDisplay>;
|
|
175
|
-
listOrganizationMembers(organizationId: string, input?:
|
|
251
|
+
listOrganizationMembers(organizationId: string, input?: OrganizationMemberPageInput): Promise<OrganizationMemberPage>;
|
|
176
252
|
listOrganizationTeams(organizationId: string, input?: OrganizationPageInput): Promise<OrganizationTeamPage>;
|
|
177
253
|
listOrganizationTeamMembers(organizationId: string, teamId: string, input?: OrganizationPageInput): Promise<OrganizationTeamMemberPage>;
|
|
178
254
|
listOrganizationInvitations(organizationId: string, input?: OrganizationPageInput): Promise<OrganizationInvitationPage>;
|
|
@@ -190,4 +266,4 @@ interface FinuevaServerAuth {
|
|
|
190
266
|
}
|
|
191
267
|
declare function createServerAuth(options: ServerAuthOptions): FinuevaServerAuth;
|
|
192
268
|
//#endregion
|
|
193
|
-
export { type AcceptInvitationInput, type AddedOrganizationTeamMember, AuthError, type AuthErrorCode, type AuthErrorStatus, type AuthOrganization, type AuthSession, type AuthUser, type CanceledOrganizationInvitation, type CompleteGoogleAccountRecoveryInput, type CreateOrganizationMemberInvitationInput, type CreatedOrganization, type CreatedOrganizationMemberInvitation, type CreatedOrganizationTeam, type DeclineInvitationInput, type DeletedOrganizationTeam, type DriveCredential, type DriveCredentialInput, type DriveProvisioningAuthOptions, type DriveProvisioningCredential, type DriveRecipient, type DriveRecipientAuthOptions, type FinuevaDriveProvisioningAuth, type FinuevaDriveRecipientAuth, type FinuevaIdentityResolverAuth, type FinuevaMembershipResolverAuth, FinuevaServerAuth, type GoogleAccountRecovery, type GoogleAccountRecoveryInput, type IdentityResolverAuthOptions, type InvitationAcceptance, type InvitationDecline, type MembershipResolverAuthOptions, type OrganizationDeparture, type OrganizationDisplay, type OrganizationInvitation, type OrganizationInvitationPage, type OrganizationMember, type OrganizationMemberAuthority, type OrganizationMemberPage, type OrganizationPage, type OrganizationPageInput, type OrganizationTeam, type OrganizationTeamDisplay, type OrganizationTeamMemberPage, type OrganizationTeamPage, type OrganizationWorkspaceSelection, type PersonalWorkspaceSelection, type ReceivedOrganizationInvitation, type ReceivedOrganizationInvitationPage, type RemovedOrganizationMember, type RemovedOrganizationTeamMember, type ResentOrganizationInvitation, type ResolveDriveRecipientInput, type ResolveIdentityInput, type ResolveMembershipBatchInput, type ResolveMembershipInput, type ResolvedIdentity, type ResolvedMembership, type ResolvedMembershipBatch, type ResolvedMembershipRole, ServerAuthOptions, ServerInvitationAcceptance, ServerSignOutResult, ServerSocialIdTokenSession, type SocialIdTokenInput, type SocialIdTokenProvider, type UpdateOrganizationDisplayInput, type UpdateOrganizationTeamDisplayInput, type UserApiCredential, type UserApiCredentialInput, type UserApiIdentity, type UserApiVerifierOptions, type WorkspaceSelection, createDriveProvisioningAuth, createDriveRecipientAuth, createIdentityResolverAuth, createMembershipResolverAuth, createServerAuth, createUserApiVerifier };
|
|
269
|
+
export { type AcceptInvitationInput, type AccountProductOperationAuthOptions, type AccountProductOperationConsumer, type AccountProductOperationInput, type AccountProductOperationPhase, type AccountProductOperationProof, type AccountProductOperationReceipt, type AccountProductOperationSnapshot, type AccountProductOperationSnapshotInput, type AddedOrganizationTeamMember, AuthError, type AuthErrorCode, type AuthErrorStatus, type AuthOrganization, type AuthSession, type AuthUser, type CanceledOrganizationInvitation, type CompleteGoogleAccountRecoveryInput, type CreateOrganizationMemberInvitationInput, type CreatedOrganization, type CreatedOrganizationMemberInvitation, type CreatedOrganizationTeam, type DeclineInvitationInput, type DeletedOrganizationTeam, type DriveCredential, type DriveCredentialInput, type DriveProvisioningAuthOptions, type DriveProvisioningCredential, type DriveRecipient, type DriveRecipientAuthOptions, type FinuevaDriveProvisioningAuth, type FinuevaDriveRecipientAuth, type FinuevaIdentityResolverAuth, type FinuevaMembershipResolverAuth, FinuevaServerAuth, type GoogleAccountRecovery, type GoogleAccountRecoveryInput, type IdentityResolverAuthOptions, type InvitationAcceptance, type InvitationDecline, type MembershipResolverAuthOptions, type OrganizationDeparture, type OrganizationDisplay, type OrganizationInvitation, type OrganizationInvitationPage, type OrganizationMember, type OrganizationMemberApplicationAccess, type OrganizationMemberApplicationAccessInput, type OrganizationMemberAuthority, type OrganizationMemberPage, type OrganizationMemberPageInput, type OrganizationPage, type OrganizationPageInput, type OrganizationTeam, type OrganizationTeamDisplay, type OrganizationTeamMemberPage, type OrganizationTeamPage, type OrganizationWorkspaceSelection, type PersonalWorkspaceSelection, type ReceivedOrganizationInvitation, type ReceivedOrganizationInvitationPage, type RemovedOrganizationMember, type RemovedOrganizationTeamMember, type ResentOrganizationInvitation, type ResolveDriveRecipientInput, type ResolveIdentityInput, type ResolveMembershipBatchInput, type ResolveMembershipInput, type ResolvedIdentity, type ResolvedMembership, type ResolvedMembershipBatch, type ResolvedMembershipRole, ServerAuthOptions, ServerInvitationAcceptance, ServerSignOutResult, ServerSocialIdTokenSession, type SocialIdTokenInput, type SocialIdTokenProvider, type UpdateOrganizationDisplayInput, type UpdateOrganizationTeamDisplayInput, type UserApiCredential, type UserApiCredentialInput, type UserApiIdentity, type UserApiVerifierOptions, type WorkspaceSelection, createAccountProductOperationAuth, createDriveProvisioningAuth, createDriveRecipientAuth, createIdentityResolverAuth, createMembershipResolverAuth, createServerAuth, createUserApiVerifier };
|