woodsportal-client-sdk 4.0.8-dev.5 → 4.0.8-dev.6

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.
@@ -1,5 +1,5 @@
1
1
  import { F as FileState, M as MultiObjectTableState, U as UploaderState } from '../../use-file-BcO5l-Zf.js';
2
- import { E as EmailState, N as NoteState, S as SyncState, a as TableState, T as TableUiState, U as UserState } from '../../use-sync-DpazhM4d.js';
2
+ import { E as EmailState, N as NoteState, S as SyncState, T as TableState, a as TableUiState, U as UserState } from '../../use-sync-Bc3XBQBA.js';
3
3
 
4
4
  declare const useTable: () => TableState & {
5
5
  setObjectsQueryParams(params: any): void;
@@ -1,3 +1,3 @@
1
1
  export { useTable, useTableUi, useUser } from '../react/index.js';
2
2
  import '../../use-file-BcO5l-Zf.js';
3
- import '../../use-sync-DpazhM4d.js';
3
+ import '../../use-sync-Bc3XBQBA.js';
@@ -1,5 +1,5 @@
1
1
  import { F as FileState, M as MultiObjectTableState, U as UploaderState } from '../../use-file-BcO5l-Zf.js';
2
- import { a as TableState, T as TableUiState, U as UserState, E as EmailState, N as NoteState, S as SyncState } from '../../use-sync-DpazhM4d.js';
2
+ import { T as TableState, a as TableUiState, U as UserState, E as EmailState, N as NoteState, S as SyncState } from '../../use-sync-Bc3XBQBA.js';
3
3
 
4
4
  declare const useTable: () => TableState & {
5
5
  setObjectsQueryParams(params: any): void;
@@ -1,5 +1,5 @@
1
1
  import { F as FileState, M as MultiObjectTableState, U as UploaderState } from '../../use-file-BcO5l-Zf.js';
2
- import { E as EmailState, N as NoteState, S as SyncState, a as TableState, T as TableUiState, U as UserState } from '../../use-sync-DpazhM4d.js';
2
+ import { E as EmailState, N as NoteState, S as SyncState, T as TableState, a as TableUiState, U as UserState } from '../../use-sync-Bc3XBQBA.js';
3
3
 
4
4
  declare const useTable: () => TableState & {
5
5
  setObjectsQueryParams(params: any): void;
@@ -1,5 +1,5 @@
1
- import { p as preLogin, l as login, c as clientSession, h as handoff, a as logout, r as register, v as verifyEmail, b as registerExistingUser, f as forgetPassword, d as verifyForgotPasswordOtp, e as resetPassword, g as resetPasswordVerifyToken, i as verifyEmailResend, j as resendEmail, k as changePassword, m as me, n as profile, o as profileUpdate, q as verifyOtp, s as sendMfaOtp, t as pendingPasskeyOptions, u as pendingPasskeyVerify, w as getMfaStatus, x as setMfaPreferences, y as startPhoneVerify, z as confirmPhoneVerify, A as totpEnrollStart, B as totpEnrollVerify, C as totpDisable, D as phoneUnverify, E as backupCodesRegenerate, F as mfaOptOut, G as webauthnRegisterOptions, H as webauthnRegisterVerify, I as webauthnAuthOptions, J as webauthnAuthVerify, K as listWebauthnCredentials, L as deleteWebauthnCredential, M as passkeyLoginOptions, N as passkeyLoginVerify, O as getSecurityOverview, P as getSecurityLoginActivity, Q as getSecuritySessions, R as revokeSecuritySession, S as revokeOtherSecuritySessions, T as getLoginBootstrap, U as getSsoDetails, V as generateSsoUrl, W as ssoCallback, X as getRefreshToken, Y as refreshSession, Z as getAuthRefreshToken, _ as getAccessToken, $ as setAccessToken, a0 as clearAccessToken, a1 as isAuthenticated, a2 as isAuthenticateApp, a3 as isAccessTokenExpired, a4 as isExpiresAccessToken, a5 as hasRefreshSession, a6 as hasValidAccessToken, a7 as didLastRefreshFail, a8 as isSessionRefreshExhausted, a9 as isRefreshInFlight, aa as resetSessionAuthState, ab as clearSessionRefreshExhaustedState, ac as hydrateSessionRefreshState, ad as SessionContractInput } from '../build-error-description-CZ4lztT8.js';
2
- export { ae as API_ERROR_CATEGORY_FALLBACK, af as API_ERROR_DISPLAY_CONFIG, ag as ActiveSession, ah as ApiErrorDisplayConfig, ai as ApiErrorPayload, aj as ApiErrorVariant, ak as AuthErrorAction, al as AuthErrorCode, am as AuthErrorCodeValue, an as AuthFunnelState, ao as AuthInterceptorPolicyConfig, ap as AuthPolicyRoutes, aq as AuthRouteAction, ar as EditorPreviewMockHandler, as as EditorPreviewMockResult, at as HttpClientConfig, au as HttpErrorKind, av as HydrateMfaPendingAccessTokenInput, aw as LoginBootstrapMfaPolicy, ax as LoginBootstrapPortal, ay as LoginBootstrapResponse, az as LoginBootstrapSsoProvider, aA as LoginHistoryRow, aB as LoginResponseData, aC as MfaBootRecoveryResult, aD as MfaEnrollmentStatus, aE as MfaMethod, aF as MfaMethodOption, aG as MfaPendingAccessToken, aH as MfaPortalScopeContext, aI as MfaStorageLane, aJ as PaginationResponse, aK as ResolveApiErrorDisplayOptions, aL as ResolvedApiErrorDisplay, aM as SERVICE_UNAVAILABLE_MESSAGE, aN as SecurityOverview, aO as SessionRefreshDeferredError, aP as SessionRefreshFailedError, aQ as StoredAuthError, aR as TwoFaVerificationRequest, aS as UnauthorizedPageCopy, aT as WOODSPORTAL_API_ACTIVE_ERROR_CODES, aU as WoodsportalRequestConfig, aV as buildErrorDescription, aW as classifyHttpError, aX as clearMfaPendingAccessToken, aY as getApiErrorFromUnknown, aZ as getFieldErrors, a_ as getFormErrors, a$ as getHttpErrorMessage, b0 as getUnauthorizedPageCopy, b1 as hasAuthenticatedAccess, b2 as hasValidAccess, b3 as hydrateMfaPendingAccessToken, b4 as initializeHttpClient, b5 as isFullyAuthenticated, b6 as isMfaPendingAccessSession, b7 as isMfaPendingSession, b8 as isOptionalAuthFailureUrl, b9 as isServiceUnavailableError, ba as isSessionProbeUrl, bb as isSessionRefreshDeferredError, bc as isSessionRefreshFailedError, bd as parseApiErrorPayload, be as persistAuthError, bf as readMfaPendingAccessToken, bg as readPersistedAuthError, bh as recoverMfaGateOnBoot, bi as resolveApiErrorDisplay, bj as resolveAuthErrorAction, bk as resolveAuthRouteAction, bl as setEditorPreviewMockHandler, bm as setSessionLifecycleListener, bn as startVisibilityRefreshScheduler, bo as stopVisibilityRefreshScheduler, bp as storeMfaPendingAccessToken } from '../build-error-description-CZ4lztT8.js';
1
+ import { p as preLogin, l as login, c as clientSession, h as handoff, a as logout, r as register, v as verifyEmail, b as registerExistingUser, f as forgetPassword, d as verifyForgotPasswordOtp, e as resetPassword, g as resetPasswordVerifyToken, i as verifyEmailResend, j as resendEmail, k as changePassword, m as me, n as profile, o as profileUpdate, q as verifyOtp, s as sendMfaOtp, t as pendingPasskeyOptions, u as pendingPasskeyVerify, w as getMfaStatus, x as setMfaPreferences, y as startPhoneVerify, z as confirmPhoneVerify, A as totpEnrollStart, B as totpEnrollVerify, C as totpDisable, D as phoneUnverify, E as backupCodesRegenerate, F as mfaOptOut, G as webauthnRegisterOptions, H as webauthnRegisterVerify, I as webauthnAuthOptions, J as webauthnAuthVerify, K as listWebauthnCredentials, L as deleteWebauthnCredential, M as passkeyLoginOptions, N as passkeyLoginVerify, O as getSecurityOverview, P as getSecurityLoginActivity, Q as getSecuritySessions, R as revokeSecuritySession, S as revokeOtherSecuritySessions, T as getLoginBootstrap, U as getSsoDetails, V as generateSsoUrl, W as ssoCallback, X as getRefreshToken, Y as refreshSession, Z as getAuthRefreshToken, _ as getAccessToken, $ as setAccessToken, a0 as clearAccessToken, a1 as isAuthenticated, a2 as isAuthenticateApp, a3 as isAccessTokenExpired, a4 as isExpiresAccessToken, a5 as hasRefreshSession, a6 as hasValidAccessToken, a7 as didLastRefreshFail, a8 as isSessionRefreshExhausted, a9 as isRefreshInFlight, aa as resetSessionAuthState, ab as clearSessionRefreshExhaustedState, ac as hydrateSessionRefreshState, ad as SessionContractInput } from '../route-guard-contract-KaQaafb7.js';
2
+ export { ae as API_ERROR_CATEGORY_FALLBACK, af as API_ERROR_DISPLAY_CONFIG, ag as ActiveSession, ah as ApiErrorDisplayConfig, ai as ApiErrorPayload, aj as ApiErrorVariant, ak as AuthErrorAction, al as AuthErrorCode, am as AuthErrorCodeValue, an as AuthFunnelState, ao as AuthInterceptorPolicyConfig, ap as AuthPolicyRoutes, aq as AuthRouteAction, ar as EditorPreviewMockHandler, as as EditorPreviewMockResult, at as HttpClientConfig, au as HttpErrorKind, av as HydrateMfaPendingAccessTokenInput, aw as LoginBootstrapMfaPolicy, ax as LoginBootstrapPortal, ay as LoginBootstrapResponse, az as LoginBootstrapSsoProvider, aA as LoginHistoryRow, aB as LoginResponseData, aC as MfaBootRecoveryResult, aD as MfaEnrollmentStatus, aE as MfaMethod, aF as MfaMethodOption, aG as MfaPendingAccessToken, aH as MfaPortalScopeContext, aI as MfaStorageLane, aJ as PaginationResponse, aK as ResolveApiErrorDisplayOptions, aL as ResolvedApiErrorDisplay, aM as SERVICE_UNAVAILABLE_MESSAGE, aN as SecurityOverview, aO as SessionRefreshDeferredError, aP as SessionRefreshFailedError, aQ as StoredAuthError, aR as TwoFaVerificationRequest, aS as UnauthorizedPageCopy, aT as WOODSPORTAL_API_ACTIVE_ERROR_CODES, aU as WoodsportalRequestConfig, aV as buildErrorDescription, aW as classifyHttpError, aX as clearMfaPendingAccessToken, aY as getApiErrorFromUnknown, aZ as getFieldErrors, a_ as getFormErrors, a$ as getHttpErrorMessage, b0 as getUnauthorizedPageCopy, b1 as hasAuthenticatedAccess, b2 as hasValidAccess, b3 as hydrateMfaPendingAccessToken, b4 as initializeHttpClient, b5 as isFullyAuthenticated, b6 as isMfaPendingAccessSession, b7 as isMfaPendingSession, b8 as isOptionalAuthFailureUrl, b9 as isServiceUnavailableError, ba as isSessionProbeUrl, bb as isSessionRefreshDeferredError, bc as isSessionRefreshFailedError, bd as parseApiErrorPayload, be as persistAuthError, bf as readMfaPendingAccessToken, bg as readPersistedAuthError, bh as recoverMfaGateOnBoot, bi as resolveApiErrorDisplay, bj as resolveAuthErrorAction, bk as resolveAuthRouteAction, bl as setEditorPreviewMockHandler, bm as setSessionLifecycleListener, bn as startVisibilityRefreshScheduler, bo as stopVisibilityRefreshScheduler, bp as storeMfaPendingAccessToken } from '../route-guard-contract-KaQaafb7.js';
3
3
  export { C as ChangePasswordPayload, F as ForgetPasswordPayload, L as LoginPayload, P as PreLoginPayload, R as ResetPasswordPayload, a as ResetPasswordVerifyTokenPayload, V as VerifyEmailPayload } from '../index-B-IGDI9L.js';
4
4
  import 'axios';
5
5
 
@@ -1,6 +1,6 @@
1
- import { T as TableUiState, a as TableState, U as UserState, N as NoteState, E as EmailState, S as SyncState } from '../use-sync-DpazhM4d.js';
2
- import { l as list, a as list$1, b as list$2, s as sideBarList, f as form, o as objectFormOptions, d as details, u as update, c as create, e as createExisting, r as removeExisting, g as list$3, h as create$1, i as update$1, j as list$4, k as create$2, m as update$2, n as list$5, p as details$1, q as download, t as addFolder, v as addFile, w as imageUpload, x as attachmentUpload, y as purge, z as purgeStatus } from '../pipeline-ui-COO9b3x2.js';
3
- export { C as CachePurgeDomain, A as CachePurgeListQuery, B as CachePurgeMode, D as CachePurgeRequest, E as CachePurgeTarget, F as CachePurgeView, G as CreateCachePurgeJobOptions, H as CrmCachePurgeOptions, I as HUBSPOT_DEALS_OBJECT_TYPE_ID, J as HUBSPOT_TICKETS_OBJECT_TYPE_ID, P as PIPELINE_BOARD_OBJECT_TYPE_IDS, K as PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS, L as PurgeResult, M as isPipelineBoardObjectType, N as isPipelineBoardObjectTypeId, O as shouldShowPipelineSelector, Q as supportsBoardView } from '../pipeline-ui-COO9b3x2.js';
1
+ import { a as TableUiState, T as TableState, U as UserState, N as NoteState, E as EmailState, S as SyncState } from '../use-sync-Bc3XBQBA.js';
2
+ import { l as list, a as list$1, b as list$2, s as sideBarList, f as form, o as objectFormOptions, d as details, u as update, c as create, e as createExisting, r as removeExisting, g as list$3, h as create$1, i as update$1, j as list$4, k as create$2, m as update$2, n as list$5, p as details$1, q as download, t as addFolder, v as addFile, w as imageUpload, x as attachmentUpload, y as purge, z as purgeStatus } from '../cache-purge-rOALAcjJ.js';
3
+ export { C as CachePurgeDomain, A as CachePurgeListQuery, B as CachePurgeMode, D as CachePurgeRequest, E as CachePurgeTarget, F as CachePurgeView, G as CreateCachePurgeJobOptions, H as CrmCachePurgeOptions, I as HUBSPOT_DEALS_OBJECT_TYPE_ID, J as HUBSPOT_TICKETS_OBJECT_TYPE_ID, P as PIPELINE_BOARD_OBJECT_TYPE_IDS, K as PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS, L as PurgeResult, M as isPipelineBoardObjectType, N as isPipelineBoardObjectTypeId, O as shouldShowPipelineSelector, Q as supportsBoardView } from '../cache-purge-rOALAcjJ.js';
4
4
  import '../index-B-IGDI9L.js';
5
5
 
6
6
  declare const api: {
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { T as TableUiState, a as TableState, U as UserState, N as NoteState, E as EmailState, S as SyncState } from './use-sync-DpazhM4d.js';
2
- import { l as list, a as list$1, b as list$2, s as sideBarList, f as form, o as objectFormOptions, d as details, u as update, c as create, e as createExisting, r as removeExisting, g as list$3, h as create$1, i as update$1, j as list$4, k as create$2, m as update$2, n as list$5, p as details$1, q as download, t as addFolder, v as addFile, w as imageUpload, x as attachmentUpload, y as purge, z as purgeStatus, E as CachePurgeTarget, D as CachePurgeRequest, A as CachePurgeListQuery, F as CachePurgeView, G as CreateCachePurgeJobOptions, L as PurgeResult, H as CrmCachePurgeOptions } from './pipeline-ui-COO9b3x2.js';
3
- export { C as CachePurgeDomain, B as CachePurgeMode, I as HUBSPOT_DEALS_OBJECT_TYPE_ID, J as HUBSPOT_TICKETS_OBJECT_TYPE_ID, P as PIPELINE_BOARD_OBJECT_TYPE_IDS, K as PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS, M as isPipelineBoardObjectType, N as isPipelineBoardObjectTypeId, O as shouldShowPipelineSelector, Q as supportsBoardView } from './pipeline-ui-COO9b3x2.js';
4
- import { p as preLogin, l as login, c as clientSession, h as handoff, a as logout, r as register, v as verifyEmail, b as registerExistingUser, f as forgetPassword, d as verifyForgotPasswordOtp, e as resetPassword, g as resetPasswordVerifyToken, i as verifyEmailResend, j as resendEmail, k as changePassword, m as me, n as profile, o as profileUpdate, q as verifyOtp, s as sendMfaOtp, t as pendingPasskeyOptions, u as pendingPasskeyVerify, w as getMfaStatus, x as setMfaPreferences, y as startPhoneVerify, z as confirmPhoneVerify, A as totpEnrollStart, B as totpEnrollVerify, C as totpDisable, D as phoneUnverify, E as backupCodesRegenerate, F as mfaOptOut, G as webauthnRegisterOptions, H as webauthnRegisterVerify, I as webauthnAuthOptions, J as webauthnAuthVerify, K as listWebauthnCredentials, L as deleteWebauthnCredential, M as passkeyLoginOptions, N as passkeyLoginVerify, O as getSecurityOverview, P as getSecurityLoginActivity, Q as getSecuritySessions, R as revokeSecuritySession, S as revokeOtherSecuritySessions, T as getLoginBootstrap, U as getSsoDetails, V as generateSsoUrl, W as ssoCallback, X as getRefreshToken, Y as refreshSession, Z as getAuthRefreshToken, _ as getAccessToken, $ as setAccessToken, a0 as clearAccessToken, a1 as isAuthenticated, a2 as isAuthenticateApp, a3 as isAccessTokenExpired, a4 as isExpiresAccessToken, a5 as hasRefreshSession, a6 as hasValidAccessToken, a7 as didLastRefreshFail, a8 as isSessionRefreshExhausted, a9 as isRefreshInFlight, aa as resetSessionAuthState, ab as clearSessionRefreshExhaustedState, ac as hydrateSessionRefreshState, ad as SessionContractInput, at as HttpClientConfig, aL as ResolvedApiErrorDisplay, bq as ApiContentVariant, br as ApiErrorSeverity, aK as ResolveApiErrorDisplayOptions, bs as LoggerConfig, aR as TwoFaVerificationRequest, bt as MfaOtpSendRequest, bu as MfaPendingPasskeyOptionsRequest, bv as MfaPendingPasskeyVerifyRequest, bw as MfaStatusQuery, bx as MfaPreferenceRequest, by as PhoneVerifyStartRequest, bz as PhoneVerifyConfirmRequest, bA as TotpEnrollVerifyRequest, bB as TotpDisableRequest, bC as PhoneUnverifyRequest, bD as BackupCodesRegenerateRequest, bE as MfaBackupCodesResponse, bF as MfaOptOutRequest, bG as WebAuthnVerifyRequest, bH as PasskeyLoginOptionsRequest, bI as PasskeyLoginVerifyRequest, bJ as SecurityOverviewQuery, bK as SecurityLoginActivityQuery, bL as SecuritySessionsQuery, bM as RevokeSecuritySessionPayload } from './build-error-description-CZ4lztT8.js';
5
- export { ae as API_ERROR_CATEGORY_FALLBACK, af as API_ERROR_DISPLAY_CONFIG, ag as ActiveSession, ah as ApiErrorDisplayConfig, ai as ApiErrorPayload, aj as ApiErrorVariant, ak as AuthErrorAction, al as AuthErrorCode, am as AuthErrorCodeValue, an as AuthFunnelState, ao as AuthInterceptorPolicyConfig, ap as AuthPolicyRoutes, aq as AuthRouteAction, au as HttpErrorKind, av as HydrateMfaPendingAccessTokenInput, bN as LogLevel, bO as LogMeta, aA as LoginHistoryRow, aB as LoginResponseData, aC as MfaBootRecoveryResult, aD as MfaEnrollmentStatus, aE as MfaMethod, aF as MfaMethodOption, aG as MfaPendingAccessToken, aH as MfaPortalScopeContext, aI as MfaStorageLane, aJ as PaginationResponse, aM as SERVICE_UNAVAILABLE_MESSAGE, aN as SecurityOverview, aO as SessionRefreshDeferredError, aP as SessionRefreshFailedError, bP as StorageKeyConfig, aQ as StoredAuthError, aS as UnauthorizedPageCopy, aT as WOODSPORTAL_API_ACTIVE_ERROR_CODES, aU as WoodsportalRequestConfig, aV as buildErrorDescription, aW as classifyHttpError, aX as clearMfaPendingAccessToken, bQ as configureStorageKeys, aY as getApiErrorFromUnknown, aZ as getFieldErrors, a_ as getFormErrors, a$ as getHttpErrorMessage, bR as getStorageKeys, b0 as getUnauthorizedPageCopy, b1 as hasAuthenticatedAccess, b2 as hasValidAccess, b3 as hydrateMfaPendingAccessToken, b4 as initializeHttpClient, b5 as isFullyAuthenticated, b6 as isMfaPendingAccessSession, b7 as isMfaPendingSession, b8 as isOptionalAuthFailureUrl, b9 as isServiceUnavailableError, ba as isSessionProbeUrl, bb as isSessionRefreshDeferredError, bc as isSessionRefreshFailedError, bd as parseApiErrorPayload, be as persistAuthError, bf as readMfaPendingAccessToken, bg as readPersistedAuthError, bh as recoverMfaGateOnBoot, bS as resetStorageKeysForTests, bi as resolveApiErrorDisplay, bj as resolveAuthErrorAction, bk as resolveAuthRouteAction, bm as setSessionLifecycleListener, bn as startVisibilityRefreshScheduler, bo as stopVisibilityRefreshScheduler, bp as storeMfaPendingAccessToken } from './build-error-description-CZ4lztT8.js';
1
+ import { a as TableUiState, T as TableState, U as UserState, N as NoteState, E as EmailState, S as SyncState } from './use-sync-Bc3XBQBA.js';
2
+ import { l as list, a as list$1, b as list$2, s as sideBarList, f as form, o as objectFormOptions, d as details, u as update, c as create, e as createExisting, r as removeExisting, g as list$3, h as create$1, i as update$1, j as list$4, k as create$2, m as update$2, n as list$5, p as details$1, q as download, t as addFolder, v as addFile, w as imageUpload, x as attachmentUpload, y as purge, z as purgeStatus, E as CachePurgeTarget, D as CachePurgeRequest, A as CachePurgeListQuery, F as CachePurgeView, G as CreateCachePurgeJobOptions, L as PurgeResult, H as CrmCachePurgeOptions } from './cache-purge-rOALAcjJ.js';
3
+ export { C as CachePurgeDomain, B as CachePurgeMode, I as HUBSPOT_DEALS_OBJECT_TYPE_ID, J as HUBSPOT_TICKETS_OBJECT_TYPE_ID, P as PIPELINE_BOARD_OBJECT_TYPE_IDS, K as PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS, M as isPipelineBoardObjectType, N as isPipelineBoardObjectTypeId, O as shouldShowPipelineSelector, Q as supportsBoardView } from './cache-purge-rOALAcjJ.js';
4
+ import { aL as ResolvedApiErrorDisplay, bq as ApiContentVariant, br as ApiErrorSeverity, aK as ResolveApiErrorDisplayOptions, p as preLogin, l as login, c as clientSession, h as handoff, a as logout, r as register, v as verifyEmail, b as registerExistingUser, f as forgetPassword, d as verifyForgotPasswordOtp, e as resetPassword, g as resetPasswordVerifyToken, i as verifyEmailResend, j as resendEmail, k as changePassword, m as me, n as profile, o as profileUpdate, q as verifyOtp, s as sendMfaOtp, t as pendingPasskeyOptions, u as pendingPasskeyVerify, w as getMfaStatus, x as setMfaPreferences, y as startPhoneVerify, z as confirmPhoneVerify, A as totpEnrollStart, B as totpEnrollVerify, C as totpDisable, D as phoneUnverify, E as backupCodesRegenerate, F as mfaOptOut, G as webauthnRegisterOptions, H as webauthnRegisterVerify, I as webauthnAuthOptions, J as webauthnAuthVerify, K as listWebauthnCredentials, L as deleteWebauthnCredential, M as passkeyLoginOptions, N as passkeyLoginVerify, O as getSecurityOverview, P as getSecurityLoginActivity, Q as getSecuritySessions, R as revokeSecuritySession, S as revokeOtherSecuritySessions, T as getLoginBootstrap, U as getSsoDetails, V as generateSsoUrl, W as ssoCallback, X as getRefreshToken, Y as refreshSession, Z as getAuthRefreshToken, _ as getAccessToken, $ as setAccessToken, a0 as clearAccessToken, a1 as isAuthenticated, a2 as isAuthenticateApp, a3 as isAccessTokenExpired, a4 as isExpiresAccessToken, a5 as hasRefreshSession, a6 as hasValidAccessToken, a7 as didLastRefreshFail, a8 as isSessionRefreshExhausted, a9 as isRefreshInFlight, aa as resetSessionAuthState, ab as clearSessionRefreshExhaustedState, ac as hydrateSessionRefreshState, ad as SessionContractInput, at as HttpClientConfig, bs as LoggerConfig, aR as TwoFaVerificationRequest, bt as MfaOtpSendRequest, bu as MfaPendingPasskeyOptionsRequest, bv as MfaPendingPasskeyVerifyRequest, bw as MfaStatusQuery, bx as MfaPreferenceRequest, by as PhoneVerifyStartRequest, bz as PhoneVerifyConfirmRequest, bA as TotpEnrollVerifyRequest, bB as TotpDisableRequest, bC as PhoneUnverifyRequest, bD as BackupCodesRegenerateRequest, bE as MfaBackupCodesResponse, bF as MfaOptOutRequest, bG as WebAuthnVerifyRequest, bH as PasskeyLoginOptionsRequest, bI as PasskeyLoginVerifyRequest, bJ as SecurityOverviewQuery, bK as SecurityLoginActivityQuery, bL as SecuritySessionsQuery, bM as RevokeSecuritySessionPayload } from './route-guard-contract-KaQaafb7.js';
5
+ export { ae as API_ERROR_CATEGORY_FALLBACK, af as API_ERROR_DISPLAY_CONFIG, ag as ActiveSession, ah as ApiErrorDisplayConfig, ai as ApiErrorPayload, aj as ApiErrorVariant, ak as AuthErrorAction, al as AuthErrorCode, am as AuthErrorCodeValue, an as AuthFunnelState, ao as AuthInterceptorPolicyConfig, ap as AuthPolicyRoutes, aq as AuthRouteAction, au as HttpErrorKind, av as HydrateMfaPendingAccessTokenInput, bN as LogLevel, bO as LogMeta, aA as LoginHistoryRow, aB as LoginResponseData, aC as MfaBootRecoveryResult, aD as MfaEnrollmentStatus, aE as MfaMethod, aF as MfaMethodOption, aG as MfaPendingAccessToken, aH as MfaPortalScopeContext, aI as MfaStorageLane, aJ as PaginationResponse, aM as SERVICE_UNAVAILABLE_MESSAGE, aN as SecurityOverview, aO as SessionRefreshDeferredError, aP as SessionRefreshFailedError, bP as StorageKeyConfig, aQ as StoredAuthError, aS as UnauthorizedPageCopy, aT as WOODSPORTAL_API_ACTIVE_ERROR_CODES, aU as WoodsportalRequestConfig, aV as buildErrorDescription, aW as classifyHttpError, aX as clearMfaPendingAccessToken, bQ as configureStorageKeys, aY as getApiErrorFromUnknown, aZ as getFieldErrors, a_ as getFormErrors, a$ as getHttpErrorMessage, bR as getStorageKeys, b0 as getUnauthorizedPageCopy, b1 as hasAuthenticatedAccess, b2 as hasValidAccess, b3 as hydrateMfaPendingAccessToken, b4 as initializeHttpClient, b5 as isFullyAuthenticated, b6 as isMfaPendingAccessSession, b7 as isMfaPendingSession, b8 as isOptionalAuthFailureUrl, b9 as isServiceUnavailableError, ba as isSessionProbeUrl, bb as isSessionRefreshDeferredError, bc as isSessionRefreshFailedError, bd as parseApiErrorPayload, be as persistAuthError, bf as readMfaPendingAccessToken, bg as readPersistedAuthError, bh as recoverMfaGateOnBoot, bS as resetStorageKeysForTests, bi as resolveApiErrorDisplay, bj as resolveAuthErrorAction, bk as resolveAuthRouteAction, bm as setSessionLifecycleListener, bn as startVisibilityRefreshScheduler, bo as stopVisibilityRefreshScheduler, bp as storeMfaPendingAccessToken } from './route-guard-contract-KaQaafb7.js';
6
6
  import { P as PreLoginPayload, L as LoginPayload, V as VerifyEmailPayload, a as ResetPasswordVerifyTokenPayload, R as ResetPasswordPayload, F as ForgetPasswordPayload, b as ForgetPasswordOtpVerifyPayload, C as ChangePasswordPayload } from './index-B-IGDI9L.js';
7
7
  export { c as Config, M as MutationOptions } from './index-B-IGDI9L.js';
8
8
  import 'axios';
@@ -119,6 +119,14 @@ declare const WP_STORAGE_KEYS: {
119
119
  declare function wpClientIframeRefreshKey(hubId: string | number): string;
120
120
  declare function wpClientIframeRefreshExpKey(hubId: string | number): string;
121
121
 
122
+ type ResolvedApiContentState = ResolvedApiErrorDisplay & {
123
+ contentVariant: ApiContentVariant;
124
+ severity: ApiErrorSeverity;
125
+ isExpected: boolean;
126
+ };
127
+ declare function resolveApiContentState(error: unknown, options?: ResolveApiErrorDisplayOptions): ResolvedApiContentState;
128
+ declare function isExpectedApiError(error: unknown): boolean;
129
+
122
130
  declare const api: {
123
131
  auth: {
124
132
  preLogin: typeof preLogin;
@@ -387,14 +395,6 @@ declare function initializeMobileClient({ storage, ...httpConfig }: MobileClient
387
395
  type SdkClientType = 'web' | 'mobile';
388
396
  declare function getClientType(): SdkClientType;
389
397
 
390
- type ResolvedApiContentState = ResolvedApiErrorDisplay & {
391
- contentVariant: ApiContentVariant;
392
- severity: ApiErrorSeverity;
393
- isExpected: boolean;
394
- };
395
- declare function resolveApiContentState(error: unknown, options?: ResolveApiErrorDisplayOptions): ResolvedApiContentState;
396
- declare function isExpectedApiError(error: unknown): boolean;
397
-
398
398
  declare function configureLogger(config?: LoggerConfig): void;
399
399
 
400
400
  declare const Client: {
@@ -1,3 +1,14 @@
1
+ interface TableState {
2
+ queryParams: any;
3
+ multiObjectsQueryParams: Record<string, any>;
4
+ objectsData: any;
5
+ tableData: any;
6
+ tablePrependData: any[];
7
+ hubspotObjectTypeId: string;
8
+ selectedPipeline: string;
9
+ viewType: string;
10
+ }
11
+
1
12
  interface TableUiState {
2
13
  tableUniqueId: string | null;
3
14
  gridData: any[];
@@ -21,17 +32,6 @@ interface TableUiState {
21
32
  tableDefPermissions: Record<string, unknown>;
22
33
  }
23
34
 
24
- interface TableState {
25
- queryParams: any;
26
- multiObjectsQueryParams: Record<string, any>;
27
- objectsData: any;
28
- tableData: any;
29
- tablePrependData: any[];
30
- hubspotObjectTypeId: string;
31
- selectedPipeline: string;
32
- viewType: string;
33
- }
34
-
35
35
  interface NoteState {
36
36
  notes: any;
37
37
  prependNotes: any[];
@@ -57,4 +57,4 @@ interface SyncState {
57
57
  isSyncDisable: boolean;
58
58
  }
59
59
 
60
- export type { EmailState as E, NoteState as N, SyncState as S, TableUiState as T, UserState as U, TableState as a };
60
+ export type { EmailState as E, NoteState as N, SyncState as S, TableState as T, UserState as U, TableUiState as a };
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "woodsportal-client-sdk",
3
- "version": "4.0.8-dev.5",
3
+ "version": "4.0.8-dev.6",
4
+ "packageManager": "pnpm@10.12.1",
4
5
  "description": "Official TypeScript/JavaScript SDK for WoodsPortal API - Authentication, user management, pipelines, and more",
5
6
  "type": "module",
6
7
  "main": "./dist/index.js",
@@ -51,30 +52,30 @@
51
52
  },
52
53
  "scripts": {
53
54
  "local": "node scripts/dev-watch.mjs",
54
- "dev": "npm run local",
55
- "dev:watch": "npm run local",
55
+ "dev": "pnpm run local",
56
+ "dev:watch": "pnpm run local",
56
57
  "start": "nodemon --watch src/main --ext ts --exec tsx src/main/index.ts",
57
58
  "clean": "rimraf dist",
58
- "build": "npm run clean && tsup",
59
+ "build": "pnpm run clean && tsup",
59
60
  "size:check": "node scripts/check-bundle-size.mjs",
60
61
  "type-check": "tsc --noEmit",
61
62
  "lint": "eslint .",
62
63
  "format:check": "prettier --check \"src/**/*.ts\" \"examples/smoke-consumer/*.{ts,mjs}\" \"docs/**/*.md\"",
63
- "audit:prod": "npm audit --omit=dev --audit-level=high",
64
+ "audit:prod": "pnpm audit --omit=dev --audit-level=high",
64
65
  "test": "node scripts/run-unit-tests.mjs",
65
66
  "test:watch": "node --import tsx --import ./src/test/register-test-hooks.ts --watch --test src/test/**/*.test.ts",
66
67
  "test:coverage": "c8 node scripts/run-unit-tests.mjs",
67
- "test:consumer": "cd examples/smoke-consumer && (npm ci || npm install) && npm run smoke",
68
- "test:consumer:live": "npm run build && cd examples/smoke-consumer && npm ci && npm run smoke:live",
68
+ "test:consumer": "cd examples/smoke-consumer && (pnpm install --frozen-lockfile || pnpm install) && pnpm run smoke",
69
+ "test:consumer:live": "pnpm run build && cd examples/smoke-consumer && pnpm install --frozen-lockfile && pnpm run smoke:live",
69
70
  "check:publint": "publint run --pack npm",
70
71
  "check:types-pack": "node scripts/check-types-pack.mjs",
71
- "check:exports": "publint run --pack npm && npm run check:types-pack",
72
+ "check:exports": "publint run --pack npm && pnpm run check:types-pack",
72
73
  "check:deps": "depcruise src/main --config .dependency-cruiser.cjs",
73
74
  "check:knip": "knip",
74
- "verify": "npm run type-check && npm run lint && npm run format:check && npm test && npm run build && npm run size:check && npm run check:exports && npm run check:deps",
75
- "verify:full": "npm run verify && npm run test:consumer",
75
+ "verify": "pnpm run type-check && pnpm run lint && pnpm run format:check && pnpm test && pnpm run build && pnpm run size:check && pnpm run check:exports && pnpm run check:deps",
76
+ "verify:full": "pnpm run verify && pnpm run test:consumer",
76
77
  "prepare": "husky",
77
- "prepublishOnly": "npm run build && npm run type-check && npm run test:consumer"
78
+ "prepublishOnly": "pnpm run build && pnpm run type-check && pnpm run test:consumer"
78
79
  },
79
80
  "lint-staged": {
80
81
  "src/**/*.ts": [
@@ -161,6 +161,16 @@ declare function list(options?: MutationOptions<any, any>): {
161
161
  isLoading: () => boolean;
162
162
  };
163
163
 
164
+ declare const HUBSPOT_DEALS_OBJECT_TYPE_ID = "0-3";
165
+ declare const HUBSPOT_TICKETS_OBJECT_TYPE_ID = "0-5";
166
+ declare const PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS: readonly ["0-421", "0-162", "0-970", "0-420", "0-410"];
167
+ declare const PIPELINE_BOARD_OBJECT_TYPE_IDS: readonly ["0-3", "0-5", "0-421", "0-162", "0-970", "0-420", "0-410"];
168
+ declare function isPipelineBoardObjectTypeId(objectTypeId: string | undefined | null): boolean;
169
+
170
+ declare function isPipelineBoardObjectType(objectTypeId: string | undefined | null): boolean;
171
+ declare function supportsBoardView(objectTypeId: string | undefined | null): boolean;
172
+ declare function shouldShowPipelineSelector(objectTypeId: string | undefined | null, pipelineCount: number): boolean;
173
+
164
174
  type CachePurgeMode = 'soft' | 'hard';
165
175
  type CachePurgeDomain = 'crm_object_data' | 'portal_object_config' | 'user_session';
166
176
  type CachePurgeView = 'list' | 'single' | 'board' | 'notes' | 'emails' | 'files';
@@ -235,14 +245,4 @@ type CrmCachePurgeOptions = {
235
245
  idempotencyKey?: string;
236
246
  };
237
247
 
238
- declare const HUBSPOT_DEALS_OBJECT_TYPE_ID = "0-3";
239
- declare const HUBSPOT_TICKETS_OBJECT_TYPE_ID = "0-5";
240
- declare const PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS: readonly ["0-421", "0-162", "0-970", "0-420", "0-410"];
241
- declare const PIPELINE_BOARD_OBJECT_TYPE_IDS: readonly ["0-3", "0-5", "0-421", "0-162", "0-970", "0-420", "0-410"];
242
- declare function isPipelineBoardObjectTypeId(objectTypeId: string | undefined | null): boolean;
243
-
244
- declare function isPipelineBoardObjectType(objectTypeId: string | undefined | null): boolean;
245
- declare function supportsBoardView(objectTypeId: string | undefined | null): boolean;
246
- declare function shouldShowPipelineSelector(objectTypeId: string | undefined | null, pipelineCount: number): boolean;
247
-
248
248
  export { type CachePurgeListQuery as A, type CachePurgeMode as B, type CachePurgeDomain as C, type CachePurgeRequest as D, type CachePurgeTarget as E, type CachePurgeView as F, type CreateCachePurgeJobOptions as G, type CrmCachePurgeOptions as H, HUBSPOT_DEALS_OBJECT_TYPE_ID as I, HUBSPOT_TICKETS_OBJECT_TYPE_ID as J, PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS as K, type PurgeResult as L, isPipelineBoardObjectType as M, isPipelineBoardObjectTypeId as N, shouldShowPipelineSelector as O, PIPELINE_BOARD_OBJECT_TYPE_IDS as P, supportsBoardView as Q, list$1 as a, list$2 as b, create as c, details as d, createExisting as e, form as f, list$3 as g, create$1 as h, update$1 as i, list$4 as j, create$2 as k, list as l, update$2 as m, list$5 as n, objectFormOptions as o, details$1 as p, download as q, removeExisting as r, sideBarList as s, addFolder as t, update as u, addFile as v, imageUpload as w, attachmentUpload as x, purge as y, purgeStatus as z };
@@ -1,6 +1,205 @@
1
1
  import { InternalAxiosRequestConfig } from 'axios';
2
2
  import { M as MutationOptions, P as PreLoginPayload, C as ChangePasswordPayload, L as LoginPayload, V as VerifyEmailPayload, F as ForgetPasswordPayload, d as ForgetPasswordOtpVerifyResponse, b as ForgetPasswordOtpVerifyPayload, R as ResetPasswordPayload, a as ResetPasswordVerifyTokenPayload } from './index-B-IGDI9L.js';
3
3
 
4
+ type SessionContractInput = {
5
+ hasAccessToken: () => boolean;
6
+ isAccessTokenExpired: () => boolean;
7
+ hasRefreshSession: () => boolean;
8
+ isMfaPending?: () => boolean;
9
+ };
10
+ declare function hasValidAccess(input: SessionContractInput): boolean;
11
+ declare function isFullyAuthenticated(input: SessionContractInput): boolean;
12
+ declare function isMfaPendingSession(input: SessionContractInput): boolean;
13
+ declare function hasAuthenticatedAccess(input: SessionContractInput): boolean;
14
+
15
+ declare const AuthErrorCode: {
16
+ readonly AUTHENTICATION_FAILED: "AUTHENTICATION_FAILED";
17
+ readonly TOKEN_INVALID: "AUTH_TOKEN_INVALID";
18
+ readonly TOKEN_EXPIRED: "AUTH_TOKEN_EXPIRED";
19
+ readonly ACCOUNT_LOCKED: "AUTH_ACCOUNT_LOCKED";
20
+ readonly ACCOUNT_DISABLED: "AUTH_ACCOUNT_DISABLED";
21
+ readonly LOGIN_FAILED: "LOGIN_FAILED";
22
+ readonly INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS";
23
+ readonly TWO_FACTOR_REQUIRED: "AUTH_2FA_REQUIRED";
24
+ readonly EMAIL_NOT_VERIFIED: "AUTH_EMAIL_NOT_VERIFIED";
25
+ readonly ACCESS_DENIED: "ACCESS_DENIED";
26
+ readonly ACCESS_FORBIDDEN: "ACCESS_FORBIDDEN";
27
+ readonly ACCESS_UNAUTHORIZED: "ACCESS_UNAUTHORIZED";
28
+ readonly MISSING_REFRESH_TOKEN: "MISSING_REFRESH_TOKEN";
29
+ readonly MISSING_HEADERS: "MISSING_HEADERS";
30
+ readonly OAUTH_PROCESSING_ERROR: "OAUTH_PROCESSING_ERROR";
31
+ readonly HUBSPOT_REAUTH_REQUIRED: "HUBSPOT_REAUTH_REQUIRED";
32
+ readonly PORTAL_INACTIVE: "PORTAL_INACTIVE";
33
+ readonly AMBIGUOUS_HUB_ID: "AMBIGUOUS_HUB_ID";
34
+ readonly COMMERCIAL_ACCESS_EXPIRED: "COMMERCIAL_ACCESS_EXPIRED";
35
+ };
36
+ type AuthErrorCodeValue = (typeof AuthErrorCode)[keyof typeof AuthErrorCode];
37
+ type ApiErrorPayload = {
38
+ errorCode?: string;
39
+ errorMessage?: string;
40
+ detailedMessage?: string;
41
+ correlationId?: string;
42
+ statusCode?: number;
43
+ category?: string;
44
+ };
45
+ type StoredAuthError = ApiErrorPayload & {
46
+ ts?: number;
47
+ };
48
+ declare function parseApiErrorPayload(data: unknown): ApiErrorPayload;
49
+ type UnauthorizedPageCopy = {
50
+ title: string;
51
+ message: string;
52
+ buttonLabel: string;
53
+ clearSessionOnMount: boolean;
54
+ };
55
+ declare function getUnauthorizedPageCopy(errorCode?: string, fallbackMessage?: string): UnauthorizedPageCopy;
56
+
57
+ type WoodsportalRequestConfig = {
58
+ __isRetryRequest?: boolean;
59
+ skipGlobalAuthRedirect?: boolean;
60
+ url?: string;
61
+ };
62
+ type AuthErrorAction = {
63
+ kind: 'refresh_retry';
64
+ } | {
65
+ kind: 'reject';
66
+ } | {
67
+ kind: 'redirect';
68
+ route: string;
69
+ clearSession: boolean;
70
+ } | {
71
+ kind: 'logout';
72
+ route: string;
73
+ clearSession: boolean;
74
+ };
75
+ type AuthPolicyRoutes = {
76
+ unauthorized: string;
77
+ login: string;
78
+ twoFa: string;
79
+ resendEmail: string;
80
+ accountSelect: string;
81
+ };
82
+ type AuthInterceptorPolicyConfig = {
83
+ routes: AuthPolicyRoutes;
84
+ optionalAuthFailurePaths?: string[];
85
+ sessionProbePaths?: string[];
86
+ includeAdminMfaSecurityPrefixes?: boolean;
87
+ };
88
+ declare function isOptionalAuthFailureUrl(url: string | undefined, config: AuthInterceptorPolicyConfig): boolean;
89
+ declare function isSessionProbeUrl(url: string | undefined, config: AuthInterceptorPolicyConfig): boolean;
90
+ declare function persistAuthError(payload: ApiErrorPayload): ApiErrorPayload & {
91
+ ts: number;
92
+ };
93
+ declare function readPersistedAuthError(): (ApiErrorPayload & {
94
+ ts: number;
95
+ }) | null;
96
+ declare function resolveAuthErrorAction(input: {
97
+ status: number;
98
+ errorCode?: string;
99
+ url?: string;
100
+ skipGlobalAuthRedirect?: boolean;
101
+ isRetryRequest?: boolean;
102
+ policy: AuthInterceptorPolicyConfig;
103
+ }): AuthErrorAction;
104
+
105
+ type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent';
106
+ type LogMeta = Record<string, unknown>;
107
+ interface SdkLogger {
108
+ debug(context: string, message: string, meta?: LogMeta): void;
109
+ info(context: string, message: string, meta?: LogMeta): void;
110
+ warn(context: string, message: string, meta?: LogMeta): void;
111
+ error(context: string, error: unknown, meta?: LogMeta): void;
112
+ }
113
+ interface LoggerConfig {
114
+ level?: LogLevel;
115
+ namespace?: string;
116
+ enabled?: boolean;
117
+ sinks?: Partial<Pick<SdkLogger, 'debug' | 'info' | 'warn' | 'error'>>;
118
+ httpTracing?: boolean;
119
+ }
120
+
121
+ interface StorageKeyConfig {
122
+ loginDetails?: string;
123
+ refreshToken?: string;
124
+ portal?: string;
125
+ subscriptionType?: string;
126
+ authUser?: string;
127
+ pagination?: string;
128
+ routeMenu?: string;
129
+ associationView?: string;
130
+ emailVerified?: string;
131
+ }
132
+ declare function configureStorageKeys(overrides?: StorageKeyConfig): void;
133
+ declare function resetStorageKeysForTests(): void;
134
+ declare function getStorageKeys(): Readonly<Required<StorageKeyConfig>>;
135
+
136
+ type RefreshFailureKind = 'transient' | 'missing_context' | 'missing_refresh_token' | 'auth_invalid';
137
+ type RefreshCallbackResult = {
138
+ token: string | null;
139
+ success: boolean;
140
+ failureKind?: RefreshFailureKind;
141
+ };
142
+
143
+ type EditorPreviewMockResult = {
144
+ data: unknown;
145
+ status?: number;
146
+ };
147
+ type EditorPreviewMockHandler = (config: InternalAxiosRequestConfig) => EditorPreviewMockResult | null | Promise<EditorPreviewMockResult | null>;
148
+ declare function setEditorPreviewMockHandler(handler: EditorPreviewMockHandler | null): void;
149
+
150
+ interface HttpClientConfig {
151
+ baseURL?: string;
152
+ timeout?: number;
153
+ headers?: Record<string, string>;
154
+ skipCurrentPublicPath?: () => boolean;
155
+ shouldHandleUnauthorized?: () => boolean;
156
+ routes?: {
157
+ unauthorized?: string;
158
+ login?: string;
159
+ twoFa?: string;
160
+ resendEmail?: string;
161
+ accountSelect?: string;
162
+ };
163
+ refreshBufferSeconds?: number;
164
+ authPolicy?: Partial<AuthInterceptorPolicyConfig>;
165
+ useCookieRefresh?: boolean;
166
+ hubId?: string;
167
+ devPortalId?: string;
168
+ onLogout?: () => void | Promise<void>;
169
+ logger?: LoggerConfig;
170
+ storageKeys?: StorageKeyConfig;
171
+ storageMode?: 'cookie' | 'iframe';
172
+ onServiceUnavailable?: (error: unknown) => void;
173
+ editorPreviewMockHandler?: EditorPreviewMockHandler;
174
+ }
175
+ declare function initializeHttpClient(clientConfig: HttpClientConfig): void;
176
+ declare function getFormErrors(error: unknown): string | null;
177
+ declare function getFieldErrors(error: unknown): any;
178
+ declare function getAuthRefreshToken(refreshToken: string | null): Promise<RefreshCallbackResult>;
179
+
180
+ declare function getAccessToken(): string | null;
181
+ declare function setSessionLifecycleListener(listener: (() => void) | null): void;
182
+ declare function hydrateSessionRefreshState(): void;
183
+ declare function clearSessionRefreshExhaustedState(): void;
184
+ declare function clearAccessToken(): void;
185
+ declare function resetSessionAuthState(): void;
186
+ declare function didLastRefreshFail(): boolean;
187
+ declare function isSessionRefreshExhausted(): boolean;
188
+ declare function isExpiresAccessToken(): boolean;
189
+ declare function isRefreshInFlight(): boolean;
190
+ type RefreshSessionOptions = {
191
+ force?: boolean;
192
+ };
193
+ declare function refreshSession(options?: RefreshSessionOptions): Promise<void>;
194
+ declare function isAuthenticateApp(): boolean;
195
+ declare function isAuthenticated(): boolean;
196
+ declare function isAccessTokenExpired(): boolean;
197
+ declare function hasRefreshSession(): boolean;
198
+ declare function hasValidAccessToken(): boolean;
199
+
200
+ declare function setAccessToken(token: string, expiresIn?: number): Promise<unknown>;
201
+ declare function getRefreshToken(): string | null;
202
+
4
203
  type MfaMethod = 'EMAIL_OTP' | 'SMS_OTP' | 'TOTP' | 'BACKUP_CODE' | 'PASSKEY' | 'PASSKEY_PRIMARY';
5
204
  type MfaMethodStatus = 'READY' | 'NOT_ENROLLED';
6
205
  type MfaMethodNotReadyReason = 'PHONE_NOT_VERIFIED' | 'NOT_ENROLLED' | 'POLICY_BLOCKED' | 'SMS_DISABLED' | string;
@@ -221,194 +420,6 @@ interface RevokeSecuritySessionPayload {
221
420
  refreshToken?: string;
222
421
  }
223
422
 
224
- declare const AuthErrorCode: {
225
- readonly AUTHENTICATION_FAILED: "AUTHENTICATION_FAILED";
226
- readonly TOKEN_INVALID: "AUTH_TOKEN_INVALID";
227
- readonly TOKEN_EXPIRED: "AUTH_TOKEN_EXPIRED";
228
- readonly ACCOUNT_LOCKED: "AUTH_ACCOUNT_LOCKED";
229
- readonly ACCOUNT_DISABLED: "AUTH_ACCOUNT_DISABLED";
230
- readonly LOGIN_FAILED: "LOGIN_FAILED";
231
- readonly INVALID_CREDENTIALS: "AUTH_INVALID_CREDENTIALS";
232
- readonly TWO_FACTOR_REQUIRED: "AUTH_2FA_REQUIRED";
233
- readonly EMAIL_NOT_VERIFIED: "AUTH_EMAIL_NOT_VERIFIED";
234
- readonly ACCESS_DENIED: "ACCESS_DENIED";
235
- readonly ACCESS_FORBIDDEN: "ACCESS_FORBIDDEN";
236
- readonly ACCESS_UNAUTHORIZED: "ACCESS_UNAUTHORIZED";
237
- readonly MISSING_REFRESH_TOKEN: "MISSING_REFRESH_TOKEN";
238
- readonly MISSING_HEADERS: "MISSING_HEADERS";
239
- readonly OAUTH_PROCESSING_ERROR: "OAUTH_PROCESSING_ERROR";
240
- readonly HUBSPOT_REAUTH_REQUIRED: "HUBSPOT_REAUTH_REQUIRED";
241
- readonly PORTAL_INACTIVE: "PORTAL_INACTIVE";
242
- readonly AMBIGUOUS_HUB_ID: "AMBIGUOUS_HUB_ID";
243
- readonly COMMERCIAL_ACCESS_EXPIRED: "COMMERCIAL_ACCESS_EXPIRED";
244
- };
245
- type AuthErrorCodeValue = (typeof AuthErrorCode)[keyof typeof AuthErrorCode];
246
- type ApiErrorPayload = {
247
- errorCode?: string;
248
- errorMessage?: string;
249
- detailedMessage?: string;
250
- correlationId?: string;
251
- statusCode?: number;
252
- category?: string;
253
- };
254
- type StoredAuthError = ApiErrorPayload & {
255
- ts?: number;
256
- };
257
- declare function parseApiErrorPayload(data: unknown): ApiErrorPayload;
258
- type UnauthorizedPageCopy = {
259
- title: string;
260
- message: string;
261
- buttonLabel: string;
262
- clearSessionOnMount: boolean;
263
- };
264
- declare function getUnauthorizedPageCopy(errorCode?: string, fallbackMessage?: string): UnauthorizedPageCopy;
265
-
266
- type WoodsportalRequestConfig = {
267
- __isRetryRequest?: boolean;
268
- skipGlobalAuthRedirect?: boolean;
269
- url?: string;
270
- };
271
- type AuthErrorAction = {
272
- kind: 'refresh_retry';
273
- } | {
274
- kind: 'reject';
275
- } | {
276
- kind: 'redirect';
277
- route: string;
278
- clearSession: boolean;
279
- } | {
280
- kind: 'logout';
281
- route: string;
282
- clearSession: boolean;
283
- };
284
- type AuthPolicyRoutes = {
285
- unauthorized: string;
286
- login: string;
287
- twoFa: string;
288
- resendEmail: string;
289
- accountSelect: string;
290
- };
291
- type AuthInterceptorPolicyConfig = {
292
- routes: AuthPolicyRoutes;
293
- optionalAuthFailurePaths?: string[];
294
- sessionProbePaths?: string[];
295
- includeAdminMfaSecurityPrefixes?: boolean;
296
- };
297
- declare function isOptionalAuthFailureUrl(url: string | undefined, config: AuthInterceptorPolicyConfig): boolean;
298
- declare function isSessionProbeUrl(url: string | undefined, config: AuthInterceptorPolicyConfig): boolean;
299
- declare function persistAuthError(payload: ApiErrorPayload): ApiErrorPayload & {
300
- ts: number;
301
- };
302
- declare function readPersistedAuthError(): (ApiErrorPayload & {
303
- ts: number;
304
- }) | null;
305
- declare function resolveAuthErrorAction(input: {
306
- status: number;
307
- errorCode?: string;
308
- url?: string;
309
- skipGlobalAuthRedirect?: boolean;
310
- isRetryRequest?: boolean;
311
- policy: AuthInterceptorPolicyConfig;
312
- }): AuthErrorAction;
313
-
314
- type LogLevel = 'debug' | 'info' | 'warn' | 'error' | 'silent';
315
- type LogMeta = Record<string, unknown>;
316
- interface SdkLogger {
317
- debug(context: string, message: string, meta?: LogMeta): void;
318
- info(context: string, message: string, meta?: LogMeta): void;
319
- warn(context: string, message: string, meta?: LogMeta): void;
320
- error(context: string, error: unknown, meta?: LogMeta): void;
321
- }
322
- interface LoggerConfig {
323
- level?: LogLevel;
324
- namespace?: string;
325
- enabled?: boolean;
326
- sinks?: Partial<Pick<SdkLogger, 'debug' | 'info' | 'warn' | 'error'>>;
327
- httpTracing?: boolean;
328
- }
329
-
330
- interface StorageKeyConfig {
331
- loginDetails?: string;
332
- refreshToken?: string;
333
- portal?: string;
334
- subscriptionType?: string;
335
- authUser?: string;
336
- pagination?: string;
337
- routeMenu?: string;
338
- associationView?: string;
339
- emailVerified?: string;
340
- }
341
- declare function configureStorageKeys(overrides?: StorageKeyConfig): void;
342
- declare function resetStorageKeysForTests(): void;
343
- declare function getStorageKeys(): Readonly<Required<StorageKeyConfig>>;
344
-
345
- type RefreshFailureKind = 'transient' | 'missing_context' | 'missing_refresh_token' | 'auth_invalid';
346
- type RefreshCallbackResult = {
347
- token: string | null;
348
- success: boolean;
349
- failureKind?: RefreshFailureKind;
350
- };
351
-
352
- type EditorPreviewMockResult = {
353
- data: unknown;
354
- status?: number;
355
- };
356
- type EditorPreviewMockHandler = (config: InternalAxiosRequestConfig) => EditorPreviewMockResult | null | Promise<EditorPreviewMockResult | null>;
357
- declare function setEditorPreviewMockHandler(handler: EditorPreviewMockHandler | null): void;
358
-
359
- interface HttpClientConfig {
360
- baseURL?: string;
361
- timeout?: number;
362
- headers?: Record<string, string>;
363
- skipCurrentPublicPath?: () => boolean;
364
- shouldHandleUnauthorized?: () => boolean;
365
- routes?: {
366
- unauthorized?: string;
367
- login?: string;
368
- twoFa?: string;
369
- resendEmail?: string;
370
- accountSelect?: string;
371
- };
372
- refreshBufferSeconds?: number;
373
- authPolicy?: Partial<AuthInterceptorPolicyConfig>;
374
- useCookieRefresh?: boolean;
375
- hubId?: string;
376
- devPortalId?: string;
377
- onLogout?: () => void | Promise<void>;
378
- logger?: LoggerConfig;
379
- storageKeys?: StorageKeyConfig;
380
- storageMode?: 'cookie' | 'iframe';
381
- onServiceUnavailable?: (error: unknown) => void;
382
- editorPreviewMockHandler?: EditorPreviewMockHandler;
383
- }
384
- declare function initializeHttpClient(clientConfig: HttpClientConfig): void;
385
- declare function getFormErrors(error: unknown): string | null;
386
- declare function getFieldErrors(error: unknown): any;
387
- declare function getAuthRefreshToken(refreshToken: string | null): Promise<RefreshCallbackResult>;
388
-
389
- declare function getAccessToken(): string | null;
390
- declare function setSessionLifecycleListener(listener: (() => void) | null): void;
391
- declare function hydrateSessionRefreshState(): void;
392
- declare function clearSessionRefreshExhaustedState(): void;
393
- declare function clearAccessToken(): void;
394
- declare function resetSessionAuthState(): void;
395
- declare function didLastRefreshFail(): boolean;
396
- declare function isSessionRefreshExhausted(): boolean;
397
- declare function isExpiresAccessToken(): boolean;
398
- declare function isRefreshInFlight(): boolean;
399
- type RefreshSessionOptions = {
400
- force?: boolean;
401
- };
402
- declare function refreshSession(options?: RefreshSessionOptions): Promise<void>;
403
- declare function isAuthenticateApp(): boolean;
404
- declare function isAuthenticated(): boolean;
405
- declare function isAccessTokenExpired(): boolean;
406
- declare function hasRefreshSession(): boolean;
407
- declare function hasValidAccessToken(): boolean;
408
-
409
- declare function setAccessToken(token: string, expiresIn?: number): Promise<unknown>;
410
- declare function getRefreshToken(): string | null;
411
-
412
423
  declare function getSsoDetails(options?: MutationOptions<any, any>): {
413
424
  mutate: (payload?: unknown) => Promise<any>;
414
425
  getDetails: (payload?: unknown) => Promise<any>;
@@ -700,16 +711,64 @@ declare function resendEmail(options?: MutationOptions<any, any>): {
700
711
  isLoading: () => boolean;
701
712
  };
702
713
 
703
- type SessionContractInput = {
704
- hasAccessToken: () => boolean;
705
- isAccessTokenExpired: () => boolean;
706
- hasRefreshSession: () => boolean;
707
- isMfaPending?: () => boolean;
714
+ type HttpErrorKind = 'service_unavailable' | 'network' | 'timeout' | 'auth' | 'client' | 'server' | 'unknown';
715
+ declare const SERVICE_UNAVAILABLE_MESSAGE = "Service temporarily unavailable. Please try again in a few minutes.";
716
+ declare function classifyHttpError(error: unknown): HttpErrorKind;
717
+ declare function isServiceUnavailableError(error: unknown): boolean;
718
+ declare function getHttpErrorMessage(error: unknown): string;
719
+
720
+ declare class SessionRefreshDeferredError extends Error {
721
+ readonly failureKind: RefreshFailureKind | undefined;
722
+ constructor(failureKind?: RefreshFailureKind, cause?: unknown);
723
+ }
724
+ declare class SessionRefreshFailedError extends Error {
725
+ readonly failureKind: RefreshFailureKind | undefined;
726
+ constructor(failureKind?: RefreshFailureKind, cause?: unknown);
727
+ }
728
+ declare function isSessionRefreshDeferredError(error: unknown): error is SessionRefreshDeferredError;
729
+ declare function isSessionRefreshFailedError(error: unknown): error is SessionRefreshFailedError;
730
+
731
+ type ApiContentVariant = 'error' | 'empty' | 'association-not-found' | 'association-empty' | 'no-permission' | 'action-denied' | 'unsupported-file' | 'access' | 'actionDenied' | 'association' | 'validation' | 'auth' | 'rateLimit' | 'commercial' | 'file' | 'integration' | 'network';
732
+ type ApiErrorSeverity = 'informational' | 'recoverable' | 'auth' | 'fatal';
733
+
734
+ type ApiErrorVariant = 'error' | 'access' | 'actionDenied' | 'association' | 'validation' | 'auth' | 'rateLimit' | 'commercial' | 'file' | 'integration' | 'network';
735
+
736
+ type ApiErrorDisplayConfig = {
737
+ variant: ApiErrorVariant;
738
+ title: string;
739
+ fallbackDescription: string;
740
+ retry?: boolean;
741
+ support?: boolean;
742
+ contentVariant?: ApiContentVariant;
743
+ severity?: ApiErrorSeverity;
708
744
  };
709
- declare function hasValidAccess(input: SessionContractInput): boolean;
710
- declare function isFullyAuthenticated(input: SessionContractInput): boolean;
711
- declare function isMfaPendingSession(input: SessionContractInput): boolean;
712
- declare function hasAuthenticatedAccess(input: SessionContractInput): boolean;
745
+ declare const API_ERROR_DISPLAY_CONFIG: Record<string, ApiErrorDisplayConfig>;
746
+ declare const API_ERROR_CATEGORY_FALLBACK: Record<string, ApiErrorDisplayConfig>;
747
+
748
+ type ResolvedApiErrorDisplay = {
749
+ variant: ApiErrorVariant;
750
+ title: string;
751
+ description: string;
752
+ errorCode?: string;
753
+ correlationId?: string;
754
+ showRetry: boolean;
755
+ showSupport: boolean;
756
+ };
757
+ type ResolveApiErrorDisplayOptions = {
758
+ allowRetry?: boolean;
759
+ };
760
+ declare function getApiErrorFromUnknown(error: unknown): ReturnType<typeof parseApiErrorPayload>;
761
+ declare function resolveApiErrorDisplay(error: unknown, options?: ResolveApiErrorDisplayOptions): ResolvedApiErrorDisplay;
762
+
763
+ declare const WOODSPORTAL_API_ACTIVE_ERROR_CODES: readonly ["ACCESS_DENIED", "ACCESS_FORBIDDEN", "ACTION_NOT_ACCESSIBLE", "AMBIGUOUS_HUB_ID", "API_EXCEPTION", "ASSOCIATION_LABEL_NOT_FOUND", "AUTHENTICATION_FAILED", "AUTH_ACCOUNT_LOCKED", "AUTH_TOKEN_EXPIRED", "AUTH_TOKEN_INVALID", "BAD_REQUEST", "COMMERCIAL_ACCESS_EXPIRED", "DATA_CONFLICT", "DATA_FETCH_FAILED", "DATA_PROCESSING_FAILED", "DECRYPTION_FAILED", "EMAIL_SENDING_FAILED", "ENCRYPTION_FAILED", "ENTITLEMENT_USAGE_EXCEEDED", "EXTERNAL_API_CLIENT_ERROR", "FILE_UNSUPPORTED_TYPE", "FILE_UPLOAD_FAILED", "GRAPHQL_API_EXCEPTION", "HUBSPOT_OBJECT_NOT_FOUND", "HUBSPOT_REAUTH_REQUIRED", "HUBSPOT_SYNC_FAILED", "ILLEGAL_STATE", "INTERNAL_ERROR", "INVALID_ARGUMENT", "JSON_PARSE_FAILED", "JWT_SECRET_INVALID", "LAST_ACTIVE_PIPELINE_REQUIRED", "LOGIN_FAILED", "MALFORMED_JSON", "METHOD_NOT_ALLOWED", "MISSING_HEADERS", "MISSING_REFRESH_TOKEN", "MISSING_REQUIRED_DATA", "OAUTH_PROCESSING_ERROR", "OBJECT_ASSOCIATION_NOT_FOUND", "OBJECT_INACTIVE", "PORTAL_INACTIVE", "PRIMARY_COMPANY_NOT_FOUND", "PRODUCT_INSTALL_FAILED", "RATE_LIMIT_EXCEEDED", "RESOURCE_ALREADY_EXISTS", "RESOURCE_CREATION_FAILED", "RESOURCE_DELETION_FAILED", "RESOURCE_MISSING_ASSOCIATION", "RESOURCE_NOT_FOUND", "RESOURCE_UPDATE_FAILED", "RESOURCE_USER_NOT_FOUND", "SQS_PROCESSING_FAILED", "SUBSCRIPTION_ERROR", "SYSTEM_INTERNAL_ERROR", "TOO_MANY_REQUESTS", "USERNAME_NOT_FOUND", "VALIDATION_FAILED", "WARM_FAILED"];
764
+
765
+ declare function buildErrorDescription({ errorMessage, detailedMessage, fallbackDescription, preferDetailedMessage, errorCode }: {
766
+ errorMessage?: string;
767
+ detailedMessage?: string;
768
+ fallbackDescription?: string;
769
+ preferDetailedMessage?: boolean;
770
+ errorCode?: string;
771
+ }): string;
713
772
 
714
773
  type VisibilityRefreshOptions = {
715
774
  shouldRefresh: () => boolean;
@@ -775,63 +834,4 @@ type ResolveAuthRouteActionInput = {
775
834
  };
776
835
  declare function resolveAuthRouteAction(input: ResolveAuthRouteActionInput): AuthRouteAction;
777
836
 
778
- type HttpErrorKind = 'service_unavailable' | 'network' | 'timeout' | 'auth' | 'client' | 'server' | 'unknown';
779
- declare const SERVICE_UNAVAILABLE_MESSAGE = "Service temporarily unavailable. Please try again in a few minutes.";
780
- declare function classifyHttpError(error: unknown): HttpErrorKind;
781
- declare function isServiceUnavailableError(error: unknown): boolean;
782
- declare function getHttpErrorMessage(error: unknown): string;
783
-
784
- declare class SessionRefreshDeferredError extends Error {
785
- readonly failureKind: RefreshFailureKind | undefined;
786
- constructor(failureKind?: RefreshFailureKind, cause?: unknown);
787
- }
788
- declare class SessionRefreshFailedError extends Error {
789
- readonly failureKind: RefreshFailureKind | undefined;
790
- constructor(failureKind?: RefreshFailureKind, cause?: unknown);
791
- }
792
- declare function isSessionRefreshDeferredError(error: unknown): error is SessionRefreshDeferredError;
793
- declare function isSessionRefreshFailedError(error: unknown): error is SessionRefreshFailedError;
794
-
795
- type ApiContentVariant = 'error' | 'empty' | 'association-not-found' | 'association-empty' | 'no-permission' | 'action-denied' | 'unsupported-file' | 'access' | 'actionDenied' | 'association' | 'validation' | 'auth' | 'rateLimit' | 'commercial' | 'file' | 'integration' | 'network';
796
- type ApiErrorSeverity = 'informational' | 'recoverable' | 'auth' | 'fatal';
797
-
798
- type ApiErrorVariant = 'error' | 'access' | 'actionDenied' | 'association' | 'validation' | 'auth' | 'rateLimit' | 'commercial' | 'file' | 'integration' | 'network';
799
-
800
- type ApiErrorDisplayConfig = {
801
- variant: ApiErrorVariant;
802
- title: string;
803
- fallbackDescription: string;
804
- retry?: boolean;
805
- support?: boolean;
806
- contentVariant?: ApiContentVariant;
807
- severity?: ApiErrorSeverity;
808
- };
809
- declare const API_ERROR_DISPLAY_CONFIG: Record<string, ApiErrorDisplayConfig>;
810
- declare const API_ERROR_CATEGORY_FALLBACK: Record<string, ApiErrorDisplayConfig>;
811
-
812
- type ResolvedApiErrorDisplay = {
813
- variant: ApiErrorVariant;
814
- title: string;
815
- description: string;
816
- errorCode?: string;
817
- correlationId?: string;
818
- showRetry: boolean;
819
- showSupport: boolean;
820
- };
821
- type ResolveApiErrorDisplayOptions = {
822
- allowRetry?: boolean;
823
- };
824
- declare function getApiErrorFromUnknown(error: unknown): ReturnType<typeof parseApiErrorPayload>;
825
- declare function resolveApiErrorDisplay(error: unknown, options?: ResolveApiErrorDisplayOptions): ResolvedApiErrorDisplay;
826
-
827
- declare const WOODSPORTAL_API_ACTIVE_ERROR_CODES: readonly ["ACCESS_DENIED", "ACCESS_FORBIDDEN", "ACTION_NOT_ACCESSIBLE", "AMBIGUOUS_HUB_ID", "API_EXCEPTION", "ASSOCIATION_LABEL_NOT_FOUND", "AUTHENTICATION_FAILED", "AUTH_ACCOUNT_LOCKED", "AUTH_TOKEN_EXPIRED", "AUTH_TOKEN_INVALID", "BAD_REQUEST", "COMMERCIAL_ACCESS_EXPIRED", "DATA_CONFLICT", "DATA_FETCH_FAILED", "DATA_PROCESSING_FAILED", "DECRYPTION_FAILED", "EMAIL_SENDING_FAILED", "ENCRYPTION_FAILED", "ENTITLEMENT_USAGE_EXCEEDED", "EXTERNAL_API_CLIENT_ERROR", "FILE_UNSUPPORTED_TYPE", "FILE_UPLOAD_FAILED", "GRAPHQL_API_EXCEPTION", "HUBSPOT_OBJECT_NOT_FOUND", "HUBSPOT_REAUTH_REQUIRED", "HUBSPOT_SYNC_FAILED", "ILLEGAL_STATE", "INTERNAL_ERROR", "INVALID_ARGUMENT", "JSON_PARSE_FAILED", "JWT_SECRET_INVALID", "LAST_ACTIVE_PIPELINE_REQUIRED", "LOGIN_FAILED", "MALFORMED_JSON", "METHOD_NOT_ALLOWED", "MISSING_HEADERS", "MISSING_REFRESH_TOKEN", "MISSING_REQUIRED_DATA", "OAUTH_PROCESSING_ERROR", "OBJECT_ASSOCIATION_NOT_FOUND", "OBJECT_INACTIVE", "PORTAL_INACTIVE", "PRIMARY_COMPANY_NOT_FOUND", "PRODUCT_INSTALL_FAILED", "RATE_LIMIT_EXCEEDED", "RESOURCE_ALREADY_EXISTS", "RESOURCE_CREATION_FAILED", "RESOURCE_DELETION_FAILED", "RESOURCE_MISSING_ASSOCIATION", "RESOURCE_NOT_FOUND", "RESOURCE_UPDATE_FAILED", "RESOURCE_USER_NOT_FOUND", "SQS_PROCESSING_FAILED", "SUBSCRIPTION_ERROR", "SYSTEM_INTERNAL_ERROR", "TOO_MANY_REQUESTS", "USERNAME_NOT_FOUND", "VALIDATION_FAILED", "WARM_FAILED"];
828
-
829
- declare function buildErrorDescription({ errorMessage, detailedMessage, fallbackDescription, preferDetailedMessage, errorCode }: {
830
- errorMessage?: string;
831
- detailedMessage?: string;
832
- fallbackDescription?: string;
833
- preferDetailedMessage?: boolean;
834
- errorCode?: string;
835
- }): string;
836
-
837
837
  export { setAccessToken as $, totpEnrollStart as A, totpEnrollVerify as B, totpDisable as C, phoneUnverify as D, backupCodesRegenerate as E, mfaOptOut as F, webauthnRegisterOptions as G, webauthnRegisterVerify as H, webauthnAuthOptions as I, webauthnAuthVerify as J, listWebauthnCredentials as K, deleteWebauthnCredential as L, passkeyLoginOptions as M, passkeyLoginVerify as N, getSecurityOverview as O, getSecurityLoginActivity as P, getSecuritySessions as Q, revokeSecuritySession as R, revokeOtherSecuritySessions as S, getLoginBootstrap as T, getSsoDetails as U, generateSsoUrl as V, ssoCallback as W, getRefreshToken as X, refreshSession as Y, getAuthRefreshToken as Z, getAccessToken as _, logout as a, getHttpErrorMessage as a$, clearAccessToken as a0, isAuthenticated as a1, isAuthenticateApp as a2, isAccessTokenExpired as a3, isExpiresAccessToken as a4, hasRefreshSession as a5, hasValidAccessToken as a6, didLastRefreshFail as a7, isSessionRefreshExhausted as a8, isRefreshInFlight as a9, type LoginHistoryRow as aA, type LoginResponseData as aB, type MfaBootRecoveryResult as aC, type MfaEnrollmentStatus as aD, type MfaMethod as aE, type MfaMethodOption as aF, type MfaPendingAccessToken as aG, type MfaPortalScopeContext as aH, type MfaStorageLane as aI, type PaginationResponse as aJ, type ResolveApiErrorDisplayOptions as aK, type ResolvedApiErrorDisplay as aL, SERVICE_UNAVAILABLE_MESSAGE as aM, type SecurityOverview as aN, SessionRefreshDeferredError as aO, SessionRefreshFailedError as aP, type StoredAuthError as aQ, type TwoFaVerificationRequest as aR, type UnauthorizedPageCopy as aS, WOODSPORTAL_API_ACTIVE_ERROR_CODES as aT, type WoodsportalRequestConfig as aU, buildErrorDescription as aV, classifyHttpError as aW, clearMfaPendingAccessToken as aX, getApiErrorFromUnknown as aY, getFieldErrors as aZ, getFormErrors as a_, resetSessionAuthState as aa, clearSessionRefreshExhaustedState as ab, hydrateSessionRefreshState as ac, type SessionContractInput as ad, API_ERROR_CATEGORY_FALLBACK as ae, API_ERROR_DISPLAY_CONFIG as af, type ActiveSession as ag, type ApiErrorDisplayConfig as ah, type ApiErrorPayload as ai, type ApiErrorVariant as aj, type AuthErrorAction as ak, AuthErrorCode as al, type AuthErrorCodeValue as am, type AuthFunnelState as an, type AuthInterceptorPolicyConfig as ao, type AuthPolicyRoutes as ap, type AuthRouteAction as aq, type EditorPreviewMockHandler as ar, type EditorPreviewMockResult as as, type HttpClientConfig as at, type HttpErrorKind as au, type HydrateMfaPendingAccessTokenInput as av, type LoginBootstrapMfaPolicy as aw, type LoginBootstrapPortal as ax, type LoginBootstrapResponse as ay, type LoginBootstrapSsoProvider as az, registerExistingUser as b, getUnauthorizedPageCopy as b0, hasAuthenticatedAccess as b1, hasValidAccess as b2, hydrateMfaPendingAccessToken as b3, initializeHttpClient as b4, isFullyAuthenticated as b5, isMfaPendingAccessSession as b6, isMfaPendingSession as b7, isOptionalAuthFailureUrl as b8, isServiceUnavailableError as b9, type TotpEnrollVerifyRequest as bA, type TotpDisableRequest as bB, type PhoneUnverifyRequest as bC, type BackupCodesRegenerateRequest as bD, type MfaBackupCodesResponse as bE, type MfaOptOutRequest as bF, type WebAuthnVerifyRequest as bG, type PasskeyLoginOptionsRequest as bH, type PasskeyLoginVerifyRequest as bI, type SecurityOverviewQuery as bJ, type SecurityLoginActivityQuery as bK, type SecuritySessionsQuery as bL, type RevokeSecuritySessionPayload as bM, type LogLevel as bN, type LogMeta as bO, type StorageKeyConfig as bP, configureStorageKeys as bQ, getStorageKeys as bR, resetStorageKeysForTests as bS, isSessionProbeUrl as ba, isSessionRefreshDeferredError as bb, isSessionRefreshFailedError as bc, parseApiErrorPayload as bd, persistAuthError as be, readMfaPendingAccessToken as bf, readPersistedAuthError as bg, recoverMfaGateOnBoot as bh, resolveApiErrorDisplay as bi, resolveAuthErrorAction as bj, resolveAuthRouteAction as bk, setEditorPreviewMockHandler as bl, setSessionLifecycleListener as bm, startVisibilityRefreshScheduler as bn, stopVisibilityRefreshScheduler as bo, storeMfaPendingAccessToken as bp, type ApiContentVariant as bq, type ApiErrorSeverity as br, type LoggerConfig as bs, type MfaOtpSendRequest as bt, type MfaPendingPasskeyOptionsRequest as bu, type MfaPendingPasskeyVerifyRequest as bv, type MfaStatusQuery as bw, type MfaPreferenceRequest as bx, type PhoneVerifyStartRequest as by, type PhoneVerifyConfirmRequest as bz, clientSession as c, verifyForgotPasswordOtp as d, resetPassword as e, forgetPassword as f, resetPasswordVerifyToken as g, handoff as h, verifyEmailResend as i, resendEmail as j, changePassword as k, login as l, me as m, profile as n, profileUpdate as o, preLogin as p, verifyOtp as q, register as r, sendMfaOtp as s, pendingPasskeyOptions as t, pendingPasskeyVerify as u, verifyEmail as v, getMfaStatus as w, setMfaPreferences as x, startPhoneVerify as y, confirmPhoneVerify as z };