woodsportal-client-sdk 4.0.8-dev.1 → 4.0.8-dev.10
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/adapters/angular/index.d.ts +6 -1
- package/dist/adapters/angular/index.js +4 -4
- package/dist/adapters/native/index.d.ts +1 -1
- package/dist/adapters/native/index.js +5 -5
- package/dist/adapters/react/index.d.ts +6 -1
- package/dist/adapters/react/index.js +5 -5
- package/dist/adapters/vue/index.d.ts +6 -1
- package/dist/adapters/vue/index.js +4 -4
- package/dist/{auth-utils-T4FIBK3O.js → auth-utils-4HFJPASF.js} +3 -3
- package/dist/{auth-utils-T4FIBK3O.js.map → auth-utils-4HFJPASF.js.map} +1 -1
- package/dist/{chunk-VN6VPM5C.js → chunk-F2DP2LL3.js} +4 -4
- package/dist/{chunk-VN6VPM5C.js.map → chunk-F2DP2LL3.js.map} +1 -1
- package/dist/{chunk-NDDE6ZZ3.js → chunk-HOUVOL2U.js} +49 -7
- package/dist/chunk-HOUVOL2U.js.map +1 -0
- package/dist/{chunk-ETYE73AH.js → chunk-QXUKMUJI.js} +141 -4
- package/dist/chunk-QXUKMUJI.js.map +1 -0
- package/dist/{chunk-S3CVZTU4.js → chunk-STJ4SURD.js} +103 -53
- package/dist/chunk-STJ4SURD.js.map +1 -0
- package/dist/{chunk-ZEGKRQA4.js → chunk-U2SG3RVX.js} +3 -3
- package/dist/{chunk-ZEGKRQA4.js.map → chunk-U2SG3RVX.js.map} +1 -1
- package/dist/{chunk-BXKFJ5NQ.js → chunk-WGSXRZMJ.js} +5 -5
- package/dist/{chunk-BXKFJ5NQ.js.map → chunk-WGSXRZMJ.js.map} +1 -1
- package/dist/{chunk-5LISZE2R.js → chunk-Y5NPCET5.js} +5 -5
- package/dist/{chunk-5LISZE2R.js.map → chunk-Y5NPCET5.js.map} +1 -1
- package/dist/{chunk-PVX6FWCW.js → chunk-ZDXZ7NHL.js} +72 -60
- package/dist/chunk-ZDXZ7NHL.js.map +1 -0
- package/dist/{chunk-AVMMEQLO.js → chunk-ZLEHRJEM.js} +21 -6
- package/dist/chunk-ZLEHRJEM.js.map +1 -0
- package/dist/{cross-tab-session-B34BLQU4.js → cross-tab-session-6VREJNSI.js} +6 -6
- package/dist/{cross-tab-session-B34BLQU4.js.map → cross-tab-session-6VREJNSI.js.map} +1 -1
- package/dist/entries/auth.d.ts +2 -2
- package/dist/entries/auth.js +5 -5
- package/dist/entries/auth.js.map +1 -1
- package/dist/entries/crm.d.ts +6 -3
- package/dist/entries/crm.js +7 -7
- package/dist/index.d.ts +19 -16
- package/dist/index.js +12 -12
- package/dist/index.js.map +1 -1
- package/dist/{build-error-description-XKI8vhGv.d.ts → route-guard-contract-KaQaafb7.d.ts} +257 -246
- package/dist/{use-sync-DpazhM4d.d.ts → use-sync-Bc3XBQBA.d.ts} +12 -12
- package/package.json +15 -23
- package/dist/chunk-AVMMEQLO.js.map +0 -1
- package/dist/chunk-ETYE73AH.js.map +0 -1
- package/dist/chunk-NDDE6ZZ3.js.map +0 -1
- package/dist/chunk-PVX6FWCW.js.map +0 -1
- package/dist/chunk-S3CVZTU4.js.map +0 -1
- package/dist/{pipeline-ui-COO9b3x2.d.ts → cache-purge-rOALAcjJ.d.ts} +10 -10
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { createStore } from './chunk-
|
|
1
|
+
import { createStore, isLoadingPrependRow } from './chunk-QXUKMUJI.js';
|
|
2
2
|
|
|
3
3
|
// src/main/state/crm/use-multi-object.ts
|
|
4
4
|
var multiObjectStore = createStore({
|
|
@@ -7,7 +7,7 @@ var multiObjectStore = createStore({
|
|
|
7
7
|
meta: {}
|
|
8
8
|
});
|
|
9
9
|
function getObjectKey(payload) {
|
|
10
|
-
return String(payload?.hubspotObjectTypeId ?? "");
|
|
10
|
+
return String(payload?.params?.hubspotObjectTypeId ?? "");
|
|
11
11
|
}
|
|
12
12
|
var actions = {
|
|
13
13
|
setMultiObjectData(response, payload) {
|
|
@@ -22,10 +22,10 @@ var actions = {
|
|
|
22
22
|
if (itemId == null || itemId === "") return true;
|
|
23
23
|
return !rowIds.has(String(itemId));
|
|
24
24
|
});
|
|
25
|
-
const selectedPipeline = payload?.selectedPipeline ?? "";
|
|
25
|
+
const selectedPipeline = payload?.queryParams?.selectedPipeline ?? "";
|
|
26
26
|
const viewType = response?.info?.viewType ?? "";
|
|
27
27
|
const prevMeta = state.meta[key];
|
|
28
|
-
if (response?.data?.total < 1 || payload?.componentName) {
|
|
28
|
+
if (response?.data?.total < 1 || payload?.queryParams?.componentName) {
|
|
29
29
|
newPrependForKey = [];
|
|
30
30
|
}
|
|
31
31
|
if (prevMeta?.viewType && prevMeta.viewType !== viewType) {
|
|
@@ -53,6 +53,21 @@ var actions = {
|
|
|
53
53
|
const { [key]: _, ...rest } = state.objectsPrependData;
|
|
54
54
|
multiObjectStore.setState({ objectsPrependData: rest });
|
|
55
55
|
},
|
|
56
|
+
clearLatestMultiObjectPrependData(hubspotObjectTypeId) {
|
|
57
|
+
if (!hubspotObjectTypeId) {
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
const key = String(hubspotObjectTypeId);
|
|
61
|
+
const state = multiObjectStore.getState();
|
|
62
|
+
const prependRows = state.objectsPrependData[key] ?? [];
|
|
63
|
+
const latest = prependRows[0];
|
|
64
|
+
if (!latest || !isLoadingPrependRow(latest)) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
multiObjectStore.setState({
|
|
68
|
+
objectsPrependData: { ...state.objectsPrependData, [key]: prependRows.slice(1) }
|
|
69
|
+
});
|
|
70
|
+
},
|
|
56
71
|
async setMultiObjectPrependData(response, props) {
|
|
57
72
|
const key = getObjectKey(props);
|
|
58
73
|
const state = multiObjectStore.getState();
|
|
@@ -91,5 +106,5 @@ var actions = {
|
|
|
91
106
|
};
|
|
92
107
|
|
|
93
108
|
export { actions, multiObjectStore };
|
|
94
|
-
//# sourceMappingURL=chunk-
|
|
95
|
-
//# sourceMappingURL=chunk-
|
|
109
|
+
//# sourceMappingURL=chunk-ZLEHRJEM.js.map
|
|
110
|
+
//# sourceMappingURL=chunk-ZLEHRJEM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/main/state/crm/use-multi-object.ts"],"names":[],"mappings":"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","file":"chunk-ZLEHRJEM.js","sourcesContent":["import { createStore } from './store'\nimport { isLoadingPrependRow } from './prepend-row'\n\nexport interface MultiObjectTableState {\n objects: Record<string, any>\n objectsPrependData: Record<string, any[]>\n meta: Record<string, { selectedPipeline: string; viewType: string }>\n}\n\nexport const multiObjectStore = createStore<MultiObjectTableState>({\n objects: {},\n objectsPrependData: {},\n meta: {}\n})\n\nfunction getObjectKey(payload: any): string {\n return String(payload?.params?.hubspotObjectTypeId ?? '')\n}\n\nexport const actions = {\n setMultiObjectData(response: any, payload: any) {\n const key = getObjectKey(payload)\n const state = multiObjectStore.getState()\n\n const rows = response?.data?.results?.rows ?? []\n const rowIds = new Set(\n rows\n .map((row: any) => row.id ?? row.hs_object_id)\n .filter((id: unknown) => id != null && id !== '')\n .map((id: unknown) => String(id))\n )\n\n let newPrependForKey = (state.objectsPrependData[key] ?? []).filter((item: any) => {\n const itemId = item.id ?? item.hs_object_id\n if (itemId == null || itemId === '') return true\n return !rowIds.has(String(itemId))\n })\n\n const selectedPipeline = payload?.queryParams?.selectedPipeline ?? ''\n const viewType = response?.info?.viewType ?? ''\n const prevMeta = state.meta[key]\n\n if (response?.data?.total < 1 || payload?.queryParams?.componentName) {\n newPrependForKey = []\n }\n\n if (prevMeta?.viewType && prevMeta.viewType !== viewType) {\n newPrependForKey = []\n }\n\n if (prevMeta?.selectedPipeline && prevMeta.selectedPipeline !== selectedPipeline) {\n newPrependForKey = []\n }\n\n multiObjectStore.setState({\n objects: { ...state.objects, [key]: response },\n objectsPrependData: { ...state.objectsPrependData, [key]: newPrependForKey },\n meta: {\n ...state.meta,\n [key]: { selectedPipeline, viewType }\n }\n })\n },\n\n clearMultiObjectPrependData(hubspotObjectTypeId?: string) {\n const state = multiObjectStore.getState()\n\n if (!hubspotObjectTypeId) {\n multiObjectStore.setState({ objectsPrependData: {} })\n return\n }\n\n const key = String(hubspotObjectTypeId)\n const { [key]: _, ...rest } = state.objectsPrependData\n multiObjectStore.setState({ objectsPrependData: rest })\n },\n\n clearLatestMultiObjectPrependData(hubspotObjectTypeId?: string) {\n if (!hubspotObjectTypeId) {\n return\n }\n\n const key = String(hubspotObjectTypeId)\n const state = multiObjectStore.getState()\n const prependRows = state.objectsPrependData[key] ?? []\n const latest = prependRows[0]\n\n if (!latest || !isLoadingPrependRow(latest)) {\n return\n }\n\n multiObjectStore.setState({\n objectsPrependData: { ...state.objectsPrependData, [key]: prependRows.slice(1) }\n })\n },\n\n async setMultiObjectPrependData(response: any, props?: any) {\n const key = getObjectKey(props)\n const state = multiObjectStore.getState()\n const tableResponse = state.objects[key]\n let rows: any[] = state.objectsPrependData[key] ?? []\n\n if (tableResponse?.data?.total > 1) {\n if (response === 'loading') {\n const row = tableResponse?.data?.results?.columns.reduce((acc: any, item: any) => {\n if (!item.hidden) {\n acc[item.key] = 'loading'\n }\n return acc\n }, {})\n rows = [row, ...rows]\n } else if (response?.data) {\n const data = response?.data\n if (!data) {\n multiObjectStore.setState({\n objectsPrependData: { ...state.objectsPrependData, [key]: [] }\n })\n return\n }\n\n const row = Object.fromEntries(Object.entries(data).map(([k, value]: any) => [k, value?.value ?? value]))\n\n rows = [...rows]\n if (rows.length > 0) {\n rows[0] = row\n } else {\n rows.push(row)\n }\n }\n }\n\n multiObjectStore.setState({\n objectsPrependData: { ...state.objectsPrependData, [key]: rows }\n })\n }\n}\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export { applyCrossTabSessionRevocation, installCrossTabSessionListener, resetCrossTabSessionSyncForTests, signalSessionChanged } from './chunk-
|
|
1
|
+
export { applyCrossTabSessionRevocation, installCrossTabSessionListener, resetCrossTabSessionSyncForTests, signalSessionChanged } from './chunk-Y5NPCET5.js';
|
|
2
2
|
import './chunk-55MIERLJ.js';
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
3
|
+
import './chunk-ZLEHRJEM.js';
|
|
4
|
+
import './chunk-QXUKMUJI.js';
|
|
5
|
+
import './chunk-HOUVOL2U.js';
|
|
6
6
|
import './chunk-KPHAQNS2.js';
|
|
7
7
|
import './chunk-DB6W3CJT.js';
|
|
8
8
|
import './chunk-UDAPRD7Z.js';
|
|
9
9
|
import './chunk-COHBSTHF.js';
|
|
10
|
-
//# sourceMappingURL=cross-tab-session-
|
|
11
|
-
//# sourceMappingURL=cross-tab-session-
|
|
10
|
+
//# sourceMappingURL=cross-tab-session-6VREJNSI.js.map
|
|
11
|
+
//# sourceMappingURL=cross-tab-session-6VREJNSI.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"cross-tab-session-
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"cross-tab-session-6VREJNSI.js"}
|
package/dist/entries/auth.d.ts
CHANGED
|
@@ -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 '../
|
|
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
|
|
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
|
|
package/dist/entries/auth.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { authApi } from '../chunk-
|
|
2
|
-
export { API_ERROR_CATEGORY_FALLBACK, API_ERROR_DISPLAY_CONFIG, WOODSPORTAL_API_ACTIVE_ERROR_CODES, buildErrorDescription, getApiErrorFromUnknown, hasAuthenticatedAccess, hasValidAccess, isFullyAuthenticated, isMfaPendingSession, recoverMfaGateOnBoot, resolveApiErrorDisplay, resolveAuthRouteAction } from '../chunk-
|
|
1
|
+
import { authApi } from '../chunk-WGSXRZMJ.js';
|
|
2
|
+
export { API_ERROR_CATEGORY_FALLBACK, API_ERROR_DISPLAY_CONFIG, WOODSPORTAL_API_ACTIVE_ERROR_CODES, buildErrorDescription, getApiErrorFromUnknown, hasAuthenticatedAccess, hasValidAccess, isFullyAuthenticated, isMfaPendingSession, recoverMfaGateOnBoot, resolveApiErrorDisplay, resolveAuthRouteAction } from '../chunk-WGSXRZMJ.js';
|
|
3
3
|
export { isOptionalAuthFailureUrl, isSessionProbeUrl, persistAuthError, readPersistedAuthError, resolveAuthErrorAction } from '../chunk-JG3TEXWP.js';
|
|
4
|
-
export { getFieldErrors, getFormErrors, initializeHttpClient, setEditorPreviewMockHandler, startVisibilityRefreshScheduler, stopVisibilityRefreshScheduler } from '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
export { SERVICE_UNAVAILABLE_MESSAGE, classifyHttpError, clearMfaPendingAccessToken, getHttpErrorMessage, hydrateMfaPendingAccessToken, isMfaPendingAccessSession, isServiceUnavailableError, readMfaPendingAccessToken, setSessionLifecycleListener, storeMfaPendingAccessToken } from '../chunk-
|
|
4
|
+
export { getFieldErrors, getFormErrors, initializeHttpClient, setEditorPreviewMockHandler, startVisibilityRefreshScheduler, stopVisibilityRefreshScheduler } from '../chunk-ZDXZ7NHL.js';
|
|
5
|
+
import '../chunk-QXUKMUJI.js';
|
|
6
|
+
export { SERVICE_UNAVAILABLE_MESSAGE, SessionRefreshDeferredError, SessionRefreshFailedError, classifyHttpError, clearMfaPendingAccessToken, getHttpErrorMessage, hydrateMfaPendingAccessToken, isMfaPendingAccessSession, isServiceUnavailableError, isSessionRefreshDeferredError, isSessionRefreshFailedError, readMfaPendingAccessToken, setSessionLifecycleListener, storeMfaPendingAccessToken } from '../chunk-HOUVOL2U.js';
|
|
7
7
|
import '../chunk-KPHAQNS2.js';
|
|
8
8
|
import '../chunk-DB6W3CJT.js';
|
|
9
9
|
import '../chunk-UDAPRD7Z.js';
|
package/dist/entries/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../src/main/entries/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;
|
|
1
|
+
{"version":3,"sources":["../../src/main/entries/auth.ts"],"names":[],"mappings":";;;;;;;;;;;;AA8FO,IAAM,GAAA,GAAM;AAAA,EACf,IAAA,EAAM;AACV","file":"auth.js","sourcesContent":["/**\n * Auth-only subpath export — login, MFA, security, SSO, token helpers.\n * Does not import CRM feature modules.\n */\nimport { authApi } from '../api/nested-auth-api'\n\nexport { initializeHttpClient, getFormErrors, getFieldErrors, setEditorPreviewMockHandler } from '../core/http/http-client'\nexport { setSessionLifecycleListener } from '../core/http/token-store'\nexport type { HttpClientConfig, EditorPreviewMockHandler, EditorPreviewMockResult } from '../core/http/http-client'\n\nexport { classifyHttpError, getHttpErrorMessage, isServiceUnavailableError, SERVICE_UNAVAILABLE_MESSAGE } from '../core/http/http-errors'\nexport type { HttpErrorKind } from '../core/http/http-errors'\nexport {\n SessionRefreshDeferredError,\n SessionRefreshFailedError,\n isSessionRefreshDeferredError,\n isSessionRefreshFailedError\n} from '../core/http/session-refresh-errors'\n\nexport {\n API_ERROR_DISPLAY_CONFIG,\n API_ERROR_CATEGORY_FALLBACK,\n WOODSPORTAL_API_ACTIVE_ERROR_CODES,\n buildErrorDescription,\n getApiErrorFromUnknown,\n resolveApiErrorDisplay\n} from '../core/errors/index.js'\nexport type { ApiErrorVariant, ApiErrorDisplayConfig, ResolvedApiErrorDisplay, ResolveApiErrorDisplayOptions } from '../core/errors/index.js'\n\nexport {\n AuthErrorCode,\n parseApiErrorPayload,\n getUnauthorizedPageCopy,\n resolveAuthErrorAction,\n isOptionalAuthFailureUrl,\n isSessionProbeUrl,\n persistAuthError,\n readPersistedAuthError,\n hasValidAccess,\n isFullyAuthenticated,\n isMfaPendingSession,\n hasAuthenticatedAccess,\n recoverMfaGateOnBoot,\n startVisibilityRefreshScheduler,\n stopVisibilityRefreshScheduler,\n resolveAuthRouteAction,\n storeMfaPendingAccessToken,\n readMfaPendingAccessToken,\n clearMfaPendingAccessToken,\n hydrateMfaPendingAccessToken,\n isMfaPendingAccessSession\n} from '../core/auth/index.js'\nexport type {\n ApiErrorPayload,\n StoredAuthError,\n AuthErrorCodeValue,\n UnauthorizedPageCopy,\n AuthErrorAction,\n AuthPolicyRoutes,\n AuthInterceptorPolicyConfig,\n WoodsportalRequestConfig,\n SessionContractInput,\n MfaBootRecoveryResult,\n AuthRouteAction,\n AuthFunnelState,\n MfaStorageLane,\n MfaPendingAccessToken,\n HydrateMfaPendingAccessTokenInput\n} from '../core/auth/index.js'\n\nexport type {\n PreLoginPayload,\n LoginPayload,\n VerifyEmailPayload,\n ResetPasswordVerifyTokenPayload,\n ResetPasswordPayload,\n ForgetPasswordPayload,\n ChangePasswordPayload,\n MfaMethod,\n MfaMethodOption,\n MfaPortalScopeContext,\n LoginBootstrapResponse,\n LoginBootstrapMfaPolicy,\n LoginBootstrapPortal,\n LoginBootstrapSsoProvider,\n LoginResponseData,\n TwoFaVerificationRequest,\n MfaEnrollmentStatus,\n SecurityOverview,\n LoginHistoryRow,\n ActiveSession,\n PaginationResponse\n} from '../core/types'\n\nexport const api = {\n auth: authApi\n}\n"]}
|
package/dist/entries/crm.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
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 '../
|
|
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 '../
|
|
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: {
|
|
@@ -159,6 +159,7 @@ declare const store: {
|
|
|
159
159
|
setTableData(response: any, payload: any): void;
|
|
160
160
|
modifiedObjectsData(results: any): void;
|
|
161
161
|
clearTablePrependData(): void;
|
|
162
|
+
clearLatestTablePrependData(): void;
|
|
162
163
|
setTablePrependData(response: any, props?: any): Promise<void>;
|
|
163
164
|
updateTablePrependData(response: any, payload?: any): any;
|
|
164
165
|
};
|
|
@@ -183,6 +184,7 @@ declare const store: {
|
|
|
183
184
|
setListQueryParams(params: any): void;
|
|
184
185
|
setNotes(response: any, payload: any): void;
|
|
185
186
|
setPrependNote(response: any): Promise<void>;
|
|
187
|
+
clearLatestPrependNote(): void;
|
|
186
188
|
clearPrependNotes(): void;
|
|
187
189
|
updatePrependNote(response: any): Promise<any>;
|
|
188
190
|
};
|
|
@@ -197,6 +199,7 @@ declare const store: {
|
|
|
197
199
|
setListQueryParams(params: any): void;
|
|
198
200
|
setEmails(response: any, payload: any): void;
|
|
199
201
|
setPrependEmail(response: any): Promise<void>;
|
|
202
|
+
clearLatestPrependEmail(): void;
|
|
200
203
|
clearPrependEmails(): void;
|
|
201
204
|
updatePrependEmail(response: any): Promise<any>;
|
|
202
205
|
};
|
package/dist/entries/crm.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { crmApi } from '../chunk-
|
|
2
|
-
export { isPipelineBoardObjectType, shouldShowPipelineSelector, supportsBoardView } from '../chunk-
|
|
1
|
+
import { crmApi } from '../chunk-STJ4SURD.js';
|
|
2
|
+
export { isPipelineBoardObjectType, shouldShowPipelineSelector, supportsBoardView } from '../chunk-STJ4SURD.js';
|
|
3
3
|
import '../chunk-55MIERLJ.js';
|
|
4
|
-
import { navigationApi } from '../chunk-
|
|
5
|
-
import '../chunk-
|
|
6
|
-
import { actions8, syncStore, actions5, emailStore, actions4, noteStore, actions6, userStore, actions2, tableStore, tableUiActions, tableUiStore } from '../chunk-
|
|
7
|
-
export { HUBSPOT_DEALS_OBJECT_TYPE_ID, HUBSPOT_TICKETS_OBJECT_TYPE_ID, PIPELINE_BOARD_OBJECT_TYPE_IDS, PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS, isPipelineBoardObjectTypeId } from '../chunk-
|
|
8
|
-
import { storage } from '../chunk-
|
|
4
|
+
import { navigationApi } from '../chunk-ZDXZ7NHL.js';
|
|
5
|
+
import '../chunk-ZLEHRJEM.js';
|
|
6
|
+
import { actions8, syncStore, actions5, emailStore, actions4, noteStore, actions6, userStore, actions2, tableStore, tableUiActions, tableUiStore } from '../chunk-QXUKMUJI.js';
|
|
7
|
+
export { HUBSPOT_DEALS_OBJECT_TYPE_ID, HUBSPOT_TICKETS_OBJECT_TYPE_ID, PIPELINE_BOARD_OBJECT_TYPE_IDS, PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS, isPipelineBoardObjectTypeId } from '../chunk-QXUKMUJI.js';
|
|
8
|
+
import { storage } from '../chunk-HOUVOL2U.js';
|
|
9
9
|
import '../chunk-KPHAQNS2.js';
|
|
10
10
|
import '../chunk-DB6W3CJT.js';
|
|
11
11
|
import '../chunk-UDAPRD7Z.js';
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
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 './
|
|
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 './
|
|
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,
|
|
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,
|
|
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: {
|
|
@@ -455,13 +455,13 @@ declare const Client: {
|
|
|
455
455
|
addFile: (props?: any) => Promise<unknown>;
|
|
456
456
|
};
|
|
457
457
|
pipeline: {
|
|
458
|
-
list: (payload?: any,
|
|
458
|
+
list: (payload?: any, listTableParams?: any) => Promise<unknown>;
|
|
459
459
|
};
|
|
460
460
|
stage: {
|
|
461
|
-
list: (
|
|
461
|
+
list: (payload?: any) => Promise<unknown>;
|
|
462
462
|
};
|
|
463
463
|
object: {
|
|
464
|
-
list: (payload?: any,
|
|
464
|
+
list: (payload?: any, listTableParams?: any) => Promise<unknown>;
|
|
465
465
|
sideBarList: (payload?: any) => Promise<unknown>;
|
|
466
466
|
form: (payload?: any) => Promise<unknown>;
|
|
467
467
|
objectFormOptions: (payload?: any) => Promise<unknown>;
|
|
@@ -611,6 +611,7 @@ declare const store: {
|
|
|
611
611
|
setTableData(response: any, payload: any): void;
|
|
612
612
|
modifiedObjectsData(results: any): void;
|
|
613
613
|
clearTablePrependData(): void;
|
|
614
|
+
clearLatestTablePrependData(): void;
|
|
614
615
|
setTablePrependData(response: any, props?: any): Promise<void>;
|
|
615
616
|
updateTablePrependData(response: any, payload?: any): any;
|
|
616
617
|
};
|
|
@@ -635,6 +636,7 @@ declare const store: {
|
|
|
635
636
|
setListQueryParams(params: any): void;
|
|
636
637
|
setNotes(response: any, payload: any): void;
|
|
637
638
|
setPrependNote(response: any): Promise<void>;
|
|
639
|
+
clearLatestPrependNote(): void;
|
|
638
640
|
clearPrependNotes(): void;
|
|
639
641
|
updatePrependNote(response: any): Promise<any>;
|
|
640
642
|
};
|
|
@@ -649,6 +651,7 @@ declare const store: {
|
|
|
649
651
|
setListQueryParams(params: any): void;
|
|
650
652
|
setEmails(response: any, payload: any): void;
|
|
651
653
|
setPrependEmail(response: any): Promise<void>;
|
|
654
|
+
clearLatestPrependEmail(): void;
|
|
652
655
|
clearPrependEmails(): void;
|
|
653
656
|
updatePrependEmail(response: any): Promise<any>;
|
|
654
657
|
};
|
package/dist/index.js
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
export { applyCrossTabSessionRevocation, clearClientSdkSession, installCrossTabSessionListener, resetSessionStores, signalSessionChanged } from './chunk-
|
|
2
|
-
import { authApi } from './chunk-
|
|
3
|
-
export { API_ERROR_CATEGORY_FALLBACK, API_ERROR_DISPLAY_CONFIG, WOODSPORTAL_API_ACTIVE_ERROR_CODES, buildErrorDescription, getApiErrorFromUnknown, hasAuthenticatedAccess, hasValidAccess, isExpectedApiError, isFullyAuthenticated, isMfaPendingSession, recoverMfaGateOnBoot, resolveApiContentState, resolveApiErrorDisplay, resolveAuthRouteAction } from './chunk-
|
|
1
|
+
export { applyCrossTabSessionRevocation, clearClientSdkSession, installCrossTabSessionListener, resetSessionStores, signalSessionChanged } from './chunk-Y5NPCET5.js';
|
|
2
|
+
import { authApi } from './chunk-WGSXRZMJ.js';
|
|
3
|
+
export { API_ERROR_CATEGORY_FALLBACK, API_ERROR_DISPLAY_CONFIG, WOODSPORTAL_API_ACTIVE_ERROR_CODES, buildErrorDescription, getApiErrorFromUnknown, hasAuthenticatedAccess, hasValidAccess, isExpectedApiError, isFullyAuthenticated, isMfaPendingSession, recoverMfaGateOnBoot, resolveApiContentState, resolveApiErrorDisplay, resolveAuthRouteAction } from './chunk-WGSXRZMJ.js';
|
|
4
4
|
export { isOptionalAuthFailureUrl, isSessionProbeUrl, persistAuthError, readPersistedAuthError, resolveAuthErrorAction } from './chunk-JG3TEXWP.js';
|
|
5
|
-
import { crmApi } from './chunk-
|
|
6
|
-
export { isPipelineBoardObjectType, shouldShowPipelineSelector, supportsBoardView } from './chunk-
|
|
5
|
+
import { crmApi } from './chunk-STJ4SURD.js';
|
|
6
|
+
export { isPipelineBoardObjectType, shouldShowPipelineSelector, supportsBoardView } from './chunk-STJ4SURD.js';
|
|
7
7
|
import './chunk-55MIERLJ.js';
|
|
8
|
-
import { navigationApi, HttpClient, API_ENDPOINTS, generateApiUrl, initializeHttpClient } from './chunk-
|
|
9
|
-
export { Client, buildCachePurgeRequest, buildCrmListPurgeTarget, buildCrmSinglePurgeTarget, buildEngagementPurgeTarget, buildPortalConfigPurgeTarget, buildUserSessionPurgeTarget, createCachePurgeJob, extractEngagementItemIdFromWriteResponse, extractHubspotRecordIdFromWriteResponse, getFieldErrors, getFormErrors, initializeHttpClient, mergePurgeTargets, purgeCrmCombined, purgeCrmDetailAndListAfterCrmWrite, purgeCrmListCache, purgeCrmListCacheAfterCrmWrite, purgeCrmObjectDataCache, purgeCrmRecordCache, purgeEngagementCaches, purgeEngagementCachesAfterCrmWrite, resolveCrmListPurgeQuery, startVisibilityRefreshScheduler, stopVisibilityRefreshScheduler, toCachePurgeListQuery } from './chunk-
|
|
10
|
-
import './chunk-
|
|
11
|
-
import { actions8, syncStore, actions5, emailStore, actions4, noteStore, actions6, userStore, actions2, tableStore, tableUiActions, tableUiStore, hydrateUserStoreFromSession } from './chunk-
|
|
12
|
-
export { HUBSPOT_DEALS_OBJECT_TYPE_ID, HUBSPOT_TICKETS_OBJECT_TYPE_ID, PIPELINE_BOARD_OBJECT_TYPE_IDS, PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS, isPipelineBoardObjectTypeId } from './chunk-
|
|
13
|
-
import { storage, hydrateSessionRefreshState, hydrateMfaPendingAccessToken, storAccessToken } from './chunk-
|
|
14
|
-
export { SERVICE_UNAVAILABLE_MESSAGE, classifyHttpError, clearMfaPendingAccessToken, configureLogger, getHttpErrorMessage, config as hubContext, hydrateMfaPendingAccessToken, isMfaPendingAccessSession, isServiceUnavailableError, readMfaPendingAccessToken, setConfig as setHubContext, setSessionLifecycleListener, storeMfaPendingAccessToken } from './chunk-
|
|
8
|
+
import { navigationApi, HttpClient, API_ENDPOINTS, generateApiUrl, initializeHttpClient } from './chunk-ZDXZ7NHL.js';
|
|
9
|
+
export { Client, buildCachePurgeRequest, buildCrmListPurgeTarget, buildCrmSinglePurgeTarget, buildEngagementPurgeTarget, buildPortalConfigPurgeTarget, buildUserSessionPurgeTarget, createCachePurgeJob, extractEngagementItemIdFromWriteResponse, extractHubspotRecordIdFromWriteResponse, getFieldErrors, getFormErrors, initializeHttpClient, mergePurgeTargets, purgeCrmCombined, purgeCrmDetailAndListAfterCrmWrite, purgeCrmListCache, purgeCrmListCacheAfterCrmWrite, purgeCrmObjectDataCache, purgeCrmRecordCache, purgeEngagementCaches, purgeEngagementCachesAfterCrmWrite, resolveCrmListPurgeQuery, startVisibilityRefreshScheduler, stopVisibilityRefreshScheduler, toCachePurgeListQuery } from './chunk-ZDXZ7NHL.js';
|
|
10
|
+
import './chunk-ZLEHRJEM.js';
|
|
11
|
+
import { actions8, syncStore, actions5, emailStore, actions4, noteStore, actions6, userStore, actions2, tableStore, tableUiActions, tableUiStore, hydrateUserStoreFromSession } from './chunk-QXUKMUJI.js';
|
|
12
|
+
export { HUBSPOT_DEALS_OBJECT_TYPE_ID, HUBSPOT_TICKETS_OBJECT_TYPE_ID, PIPELINE_BOARD_OBJECT_TYPE_IDS, PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS, isPipelineBoardObjectTypeId } from './chunk-QXUKMUJI.js';
|
|
13
|
+
import { storage, hydrateSessionRefreshState, hydrateMfaPendingAccessToken, storAccessToken } from './chunk-HOUVOL2U.js';
|
|
14
|
+
export { SERVICE_UNAVAILABLE_MESSAGE, SessionRefreshDeferredError, SessionRefreshFailedError, classifyHttpError, clearMfaPendingAccessToken, configureLogger, getHttpErrorMessage, config as hubContext, hydrateMfaPendingAccessToken, isMfaPendingAccessSession, isServiceUnavailableError, isSessionRefreshDeferredError, isSessionRefreshFailedError, readMfaPendingAccessToken, setConfig as setHubContext, setSessionLifecycleListener, storeMfaPendingAccessToken } from './chunk-HOUVOL2U.js';
|
|
15
15
|
import { setClientType } from './chunk-KPHAQNS2.js';
|
|
16
16
|
export { clearClientAuthCookies, clearClientIframeRefreshLocalKeys, clearClientSessionStorageKeys, clearStaleIframeRefreshForOtherHubs, configureStorageKeys, getClientAuthCookieNamesToClear, getClientType, getStorageKeys, migrateLegacyStorageKeys, resetStorageKeysForTests } from './chunk-KPHAQNS2.js';
|
|
17
17
|
import { registerSessionStorageAdapter } from './chunk-DB6W3CJT.js';
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/main/features/accounts/client/accounts-client.ts","../src/main/api/nested-accounts-api.ts","../src/main/features/mobile/client/mobile-navigation-client.ts","../src/main/api/nested-mobile-api.ts","../src/main/api/compose-api.ts","../src/main/core/utils/datetime.ts","../src/main/core/http/mobile-client-config.ts","../src/main/index.ts"],"names":["storage","actions"],"mappings":"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","file":"index.js","sourcesContent":["import { API_ENDPOINTS, HttpClient } from '../../../core/http/client-context'\n\nexport const accountsClient = {\n listHubspots: () => HttpClient.get(API_ENDPOINTS.HUBSPOTS),\n listPortals: (hubId: number) => HttpClient.get(API_ENDPOINTS.PORTALS, { hubId })\n}\n","import { accountsClient } from '../features/accounts/client/accounts-client'\n\n/** Client account listing (hubspots / portals) for mobile and multi-account flows. */\nexport const accountsApi = {\n listHubspots: accountsClient.listHubspots,\n listPortals: accountsClient.listPortals\n}\n","import { generateApiUrl, API_ENDPOINTS, HttpClient } from '../../../core/http/client-context'\n\nexport const mobileNavigationClient = {\n getNavigation: () => HttpClient.get(generateApiUrl({ route: API_ENDPOINTS.MOBILE_NAVIGATION })),\n getAppConfig: () => HttpClient.get(generateApiUrl({ route: API_ENDPOINTS.MOBILE_APP_CONFIG })),\n putNavigation: (payload: unknown) => HttpClient.put(generateApiUrl({ route: API_ENDPOINTS.MOBILE_NAVIGATION }), payload),\n importFromWebMenu: (payload: unknown) => HttpClient.post(generateApiUrl({ route: API_ENDPOINTS.MOBILE_NAVIGATION_IMPORT_WEB_MENU }), payload)\n}\n","import { mobileNavigationClient } from '../features/mobile/client/mobile-navigation-client'\n\n/** Mobile-specific API surface (navigation config, etc.). */\nexport const mobileApi = {\n getNavigation: mobileNavigationClient.getNavigation,\n getAppConfig: mobileNavigationClient.getAppConfig,\n putNavigation: mobileNavigationClient.putNavigation,\n importFromWebMenu: mobileNavigationClient.importFromWebMenu\n}\n","import { authApi } from './nested-auth-api'\nimport { crmApi } from './nested-crm-api'\nimport { navigationApi } from './navigation-api'\nimport { accountsApi } from './nested-accounts-api'\nimport { mobileApi } from './nested-mobile-api'\n\n/** Public API — nested domains only (SDK 4.0). */\nexport const api = {\n auth: authApi,\n crm: crmApi,\n navigation: navigationApi,\n accounts: accountsApi,\n mobile: mobileApi\n}\n","/** HubSpot portal default; override when portal timezone is available from config. */\nexport const DEFAULT_HUBSPOT_TIMEZONE = 'Asia/Kolkata'\n\n/**\n * Detect the runtime/browser IANA timezone (e.g. `Asia/Kolkata`).\n * Falls back to the WoodsPortal default timezone when unavailable.\n */\nexport function getCurrentTimeZone(): string {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone || DEFAULT_HUBSPOT_TIMEZONE\n } catch {\n return DEFAULT_HUBSPOT_TIMEZONE\n }\n}\n\n/**\n * Coerce HubSpot-style timestamps (ms string/number) to epoch milliseconds.\n */\nexport function normalizeToTimestamp(value: unknown): number | null {\n if (value == null || value === '') return null\n\n if (typeof value === 'number') {\n return value > 100_000_000_000 ? value : null\n }\n\n if (typeof value === 'string' && /^\\d+$/.test(value)) {\n const n = Number(value)\n return n > 100_000_000_000 ? n : null\n }\n\n if (typeof value === 'string' || value instanceof Date) {\n const date = new Date(value)\n return Number.isNaN(date.getTime()) ? null : date.getTime()\n }\n\n return null\n}\n\n/**\n * GMT offset label aligned with HubSpot activity timeline (e.g. `GMT+5:30`).\n */\nexport function formatGmtOffset(timeZone: string = getCurrentTimeZone(), date: Date = new Date()): string {\n const raw = new Intl.DateTimeFormat('en-US', {\n timeZone,\n timeZoneName: 'longOffset'\n })\n .formatToParts(date)\n .find((part) => part.type === 'timeZoneName')?.value\n\n if (!raw) return ''\n\n // Intl may emit GMT+05:30; HubSpot uses GMT+5:30.\n return raw.replace(/GMT([+-])0(\\d)(?=:)/, 'GMT$1$2')\n}\n\nexport type HubSpotActivityDateTimeParts = {\n date: string\n time: string\n gmtOffset: string\n /** Full HubSpot-style label, e.g. `May 27, 2026 at 11:31 PM GMT+5:30`. */\n formatted: string\n}\n\n/**\n * Format a HubSpot epoch-ms timestamp like the CRM activity timeline.\n */\nexport function formatHubSpotActivityDateTimeParts(timestamp: unknown, timeZone: string = getCurrentTimeZone()): HubSpotActivityDateTimeParts | null {\n const ms = normalizeToTimestamp(timestamp)\n if (ms == null) return null\n\n const date = new Date(ms)\n const datePart = new Intl.DateTimeFormat('en-US', {\n timeZone,\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n }).format(date)\n const timePart = new Intl.DateTimeFormat('en-US', {\n timeZone,\n hour: 'numeric',\n minute: '2-digit',\n hour12: true\n }).format(date)\n const gmtOffset = formatGmtOffset(timeZone, date)\n\n return {\n date: datePart,\n time: timePart,\n gmtOffset,\n formatted: `${datePart} at ${timePart} ${gmtOffset}`.trim()\n }\n}\n\n/**\n * @returns HubSpot activity string, e.g. `May 27, 2026 at 11:31 PM GMT+5:30`, or empty string.\n */\nexport function formatHubSpotActivityDateTime(timestamp: unknown, timeZone: string = getCurrentTimeZone()): string {\n return formatHubSpotActivityDateTimeParts(timestamp, timeZone)?.formatted ?? ''\n}\n","import type { SessionStorageAdapter } from '../storage/session-storage-adapter'\nimport { registerSessionStorageAdapter } from '../storage/session-storage-registry'\nimport { setClientType } from './client-type'\nimport { initializeHttpClient, type HttpClientConfig } from './http-client'\nimport { hydrateSessionRefreshState } from './token-store'\nimport { hydrateMfaPendingAccessToken } from '../auth/mfa-pending-token-storage'\nimport { storAccessToken } from './token-store'\nimport { hydrateUserStoreFromSession } from '../../state/crm/use-user'\n\nexport type MobileClientConfig = HttpClientConfig & {\n storage: SessionStorageAdapter\n}\n\n/**\n * Configure the SDK for native/mobile hosts: pluggable storage, client type `mobile`,\n * and `X-Client-Type: mobile` on all HTTP requests.\n */\nexport function initializeMobileClient({ storage, ...httpConfig }: MobileClientConfig): void {\n registerSessionStorageAdapter(storage)\n setClientType('mobile')\n hydrateSessionRefreshState()\n void hydrateMfaPendingAccessToken({\n lane: 'c',\n setAccessToken: (token, expiresIn) => {\n storAccessToken(token, expiresIn)\n }\n })\n hydrateUserStoreFromSession()\n initializeHttpClient({\n ...httpConfig,\n headers: {\n 'X-Client-Type': 'mobile',\n ...httpConfig.headers\n }\n })\n}\n","/**\n * WoodsPortal client SDK — public entry module.\n *\n * Configure HTTP once with {@link initializeHttpClient} in production, then use\n * {@link api}, {@link store}, and {@link api.navigation}.\n */\nimport { api } from './api/compose-api'\nimport {\n tableStore,\n tableActions,\n tableUiStore,\n tableUiActions,\n userStore,\n userActions,\n noteStore,\n noteActions,\n emailStore,\n emailActions,\n syncStore,\n syncActions\n} from './state'\nimport { storage } from './core/utils/localStorage'\n\nexport {\n DEFAULT_HUBSPOT_TIMEZONE,\n getCurrentTimeZone,\n formatGmtOffset,\n formatHubSpotActivityDateTime,\n formatHubSpotActivityDateTimeParts,\n normalizeToTimestamp\n} from './core/utils/datetime'\nexport type { HubSpotActivityDateTimeParts } from './core/utils/datetime'\nexport {\n purgeCrmObjectDataCache,\n purgeCrmListCache,\n purgeCrmListCacheAfterCrmWrite,\n purgeCrmDetailAndListAfterCrmWrite,\n purgeCrmRecordCache,\n purgeEngagementCaches,\n purgeEngagementCachesAfterCrmWrite,\n purgeCrmCombined,\n buildCachePurgeRequest,\n buildCrmListPurgeTarget,\n buildCrmSinglePurgeTarget,\n buildEngagementPurgeTarget,\n buildPortalConfigPurgeTarget,\n buildUserSessionPurgeTarget,\n mergePurgeTargets,\n createCachePurgeJob,\n extractHubspotRecordIdFromWriteResponse,\n extractEngagementItemIdFromWriteResponse,\n resolveCrmListPurgeQuery,\n toCachePurgeListQuery\n} from './core/utils/cache'\nexport type { CrmCachePurgeOptions } from './core/types/cache-purge'\nexport type {\n CachePurgeRequest,\n CachePurgeTarget,\n CachePurgeListQuery,\n CachePurgeView,\n CachePurgeDomain,\n CachePurgeMode,\n PurgeResult,\n CreateCachePurgeJobOptions\n} from './core/types/cache-purge'\n\n/** Axios setup, error helpers, and {@link HttpClientConfig}. */\nexport { initializeHttpClient, getFormErrors, getFieldErrors } from './core/http/http-client'\nexport type { HttpClientConfig, StorageKeyConfig } from './core/http/http-client'\nexport { initializeMobileClient } from './core/http/mobile-client-config'\nexport type { MobileClientConfig } from './core/http/mobile-client-config'\nexport type { SessionStorageAdapter } from './core/storage/session-storage-adapter'\nexport { getClientType } from './core/http/client-type'\n\n/** Shared auth contract (client + admin consistency). */\nexport {\n AuthErrorCode,\n parseApiErrorPayload,\n getUnauthorizedPageCopy,\n resolveAuthErrorAction,\n isOptionalAuthFailureUrl,\n isSessionProbeUrl,\n persistAuthError,\n readPersistedAuthError,\n hasValidAccess,\n isFullyAuthenticated,\n isMfaPendingSession,\n hasAuthenticatedAccess,\n recoverMfaGateOnBoot,\n startVisibilityRefreshScheduler,\n stopVisibilityRefreshScheduler,\n resolveAuthRouteAction,\n storeMfaPendingAccessToken,\n readMfaPendingAccessToken,\n clearMfaPendingAccessToken,\n hydrateMfaPendingAccessToken,\n isMfaPendingAccessSession\n} from './core/auth/index.js'\nexport type {\n ApiErrorPayload,\n StoredAuthError,\n AuthErrorCodeValue,\n UnauthorizedPageCopy,\n AuthErrorAction,\n AuthPolicyRoutes,\n AuthInterceptorPolicyConfig,\n WoodsportalRequestConfig,\n SessionContractInput,\n MfaBootRecoveryResult,\n AuthRouteAction,\n AuthFunnelState,\n MfaStorageLane,\n MfaPendingAccessToken,\n HydrateMfaPendingAccessTokenInput\n} from './core/auth/index.js'\nexport { classifyHttpError, getHttpErrorMessage, isServiceUnavailableError, SERVICE_UNAVAILABLE_MESSAGE } from './core/http/http-errors'\nexport type { HttpErrorKind } from './core/http/http-errors'\n\nexport {\n API_ERROR_DISPLAY_CONFIG,\n API_ERROR_CATEGORY_FALLBACK,\n WOODSPORTAL_API_ACTIVE_ERROR_CODES,\n buildErrorDescription,\n getApiErrorFromUnknown,\n resolveApiErrorDisplay,\n resolveApiContentState,\n isExpectedApiError\n} from './core/errors/index.js'\nexport type {\n ApiErrorVariant,\n ApiContentVariant,\n ApiErrorSeverity,\n ApiErrorDisplayConfig,\n ResolvedApiErrorDisplay,\n ResolvedApiContentState,\n ResolveApiErrorDisplayOptions\n} from './core/errors/index.js'\n\nexport { configureLogger } from './core/logging/logger'\nexport type { LogLevel, LoggerConfig } from './core/logging/logger-types'\n\nexport { Client } from './core/http/client-assembler'\nexport { config as hubContext, setConfig as setHubContext } from './core/utils/hub-context'\n\nexport { WP_STORAGE_KEYS, WP_UI_THEME, wpClientIframeRefreshKey, wpClientIframeRefreshExpKey } from './core/utils/wp-storage-keys'\nexport {\n migrateLegacyStorageKeys,\n getClientAuthCookieNamesToClear,\n clearClientSessionStorageKeys,\n clearClientIframeRefreshLocalKeys,\n clearStaleIframeRefreshForOtherHubs\n} from './core/utils/storage-migration'\nexport { clearClientAuthCookies } from './core/utils/cookie'\nexport { clearClientSdkSession, resetSessionStores } from './core/http/session-teardown'\nexport { setSessionLifecycleListener } from './core/http/token-store'\nexport { signalSessionChanged, installCrossTabSessionListener, applyCrossTabSessionRevocation } from './core/http/cross-tab-session'\nexport { configureStorageKeys, getStorageKeys, resetStorageKeysForTests } from './core/utils/storage-keys'\n\nexport {\n HUBSPOT_DEALS_OBJECT_TYPE_ID,\n HUBSPOT_TICKETS_OBJECT_TYPE_ID,\n PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS,\n PIPELINE_BOARD_OBJECT_TYPE_IDS,\n isPipelineBoardObjectTypeId\n} from './core/constants/hubspot-object-type-ids'\nexport { isPipelineBoardObjectType, supportsBoardView, shouldShowPipelineSelector } from './core/constants/pipeline-ui'\n\nexport type {\n Config,\n MutationOptions,\n PreLoginPayload,\n LoginPayload,\n VerifyEmailPayload,\n ResetPasswordVerifyTokenPayload,\n ResetPasswordPayload,\n ForgetPasswordPayload,\n ChangePasswordPayload,\n MfaMethod,\n MfaMethodOption,\n MfaPortalScopeContext,\n LoginResponseData,\n TwoFaVerificationRequest,\n MfaEnrollmentStatus,\n SecurityOverview,\n LoginHistoryRow,\n ActiveSession,\n PaginationResponse\n} from './core/types'\n\nexport { api }\n\n/** Storage helpers and CRM stores. */\nexport const store = {\n storage,\n tableUi: { store: tableUiStore, actions: tableUiActions },\n table: { store: tableStore, actions: tableActions },\n user: { store: userStore, actions: userActions },\n note: { store: noteStore, actions: noteActions },\n email: { store: emailStore, actions: emailActions },\n sync: { store: syncStore, actions: syncActions }\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/main/features/accounts/client/accounts-client.ts","../src/main/api/nested-accounts-api.ts","../src/main/features/mobile/client/mobile-navigation-client.ts","../src/main/api/nested-mobile-api.ts","../src/main/api/compose-api.ts","../src/main/core/utils/datetime.ts","../src/main/core/http/mobile-client-config.ts","../src/main/index.ts"],"names":["storage","actions"],"mappings":"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","file":"index.js","sourcesContent":["import { API_ENDPOINTS, HttpClient } from '../../../core/http/client-context'\n\nexport const accountsClient = {\n listHubspots: () => HttpClient.get(API_ENDPOINTS.HUBSPOTS),\n listPortals: (hubId: number) => HttpClient.get(API_ENDPOINTS.PORTALS, { hubId })\n}\n","import { accountsClient } from '../features/accounts/client/accounts-client'\n\n/** Client account listing (hubspots / portals) for mobile and multi-account flows. */\nexport const accountsApi = {\n listHubspots: accountsClient.listHubspots,\n listPortals: accountsClient.listPortals\n}\n","import { generateApiUrl, API_ENDPOINTS, HttpClient } from '../../../core/http/client-context'\n\nexport const mobileNavigationClient = {\n getNavigation: () => HttpClient.get(generateApiUrl({ route: API_ENDPOINTS.MOBILE_NAVIGATION })),\n getAppConfig: () => HttpClient.get(generateApiUrl({ route: API_ENDPOINTS.MOBILE_APP_CONFIG })),\n putNavigation: (payload: unknown) => HttpClient.put(generateApiUrl({ route: API_ENDPOINTS.MOBILE_NAVIGATION }), payload),\n importFromWebMenu: (payload: unknown) => HttpClient.post(generateApiUrl({ route: API_ENDPOINTS.MOBILE_NAVIGATION_IMPORT_WEB_MENU }), payload)\n}\n","import { mobileNavigationClient } from '../features/mobile/client/mobile-navigation-client'\n\n/** Mobile-specific API surface (navigation config, etc.). */\nexport const mobileApi = {\n getNavigation: mobileNavigationClient.getNavigation,\n getAppConfig: mobileNavigationClient.getAppConfig,\n putNavigation: mobileNavigationClient.putNavigation,\n importFromWebMenu: mobileNavigationClient.importFromWebMenu\n}\n","import { authApi } from './nested-auth-api'\nimport { crmApi } from './nested-crm-api'\nimport { navigationApi } from './navigation-api'\nimport { accountsApi } from './nested-accounts-api'\nimport { mobileApi } from './nested-mobile-api'\n\n/** Public API — nested domains only (SDK 4.0). */\nexport const api = {\n auth: authApi,\n crm: crmApi,\n navigation: navigationApi,\n accounts: accountsApi,\n mobile: mobileApi\n}\n","/** HubSpot portal default; override when portal timezone is available from config. */\nexport const DEFAULT_HUBSPOT_TIMEZONE = 'Asia/Kolkata'\n\n/**\n * Detect the runtime/browser IANA timezone (e.g. `Asia/Kolkata`).\n * Falls back to the WoodsPortal default timezone when unavailable.\n */\nexport function getCurrentTimeZone(): string {\n try {\n return Intl.DateTimeFormat().resolvedOptions().timeZone || DEFAULT_HUBSPOT_TIMEZONE\n } catch {\n return DEFAULT_HUBSPOT_TIMEZONE\n }\n}\n\n/**\n * Coerce HubSpot-style timestamps (ms string/number) to epoch milliseconds.\n */\nexport function normalizeToTimestamp(value: unknown): number | null {\n if (value == null || value === '') return null\n\n if (typeof value === 'number') {\n return value > 100_000_000_000 ? value : null\n }\n\n if (typeof value === 'string' && /^\\d+$/.test(value)) {\n const n = Number(value)\n return n > 100_000_000_000 ? n : null\n }\n\n if (typeof value === 'string' || value instanceof Date) {\n const date = new Date(value)\n return Number.isNaN(date.getTime()) ? null : date.getTime()\n }\n\n return null\n}\n\n/**\n * GMT offset label aligned with HubSpot activity timeline (e.g. `GMT+5:30`).\n */\nexport function formatGmtOffset(timeZone: string = getCurrentTimeZone(), date: Date = new Date()): string {\n const raw = new Intl.DateTimeFormat('en-US', {\n timeZone,\n timeZoneName: 'longOffset'\n })\n .formatToParts(date)\n .find((part) => part.type === 'timeZoneName')?.value\n\n if (!raw) return ''\n\n // Intl may emit GMT+05:30; HubSpot uses GMT+5:30.\n return raw.replace(/GMT([+-])0(\\d)(?=:)/, 'GMT$1$2')\n}\n\nexport type HubSpotActivityDateTimeParts = {\n date: string\n time: string\n gmtOffset: string\n /** Full HubSpot-style label, e.g. `May 27, 2026 at 11:31 PM GMT+5:30`. */\n formatted: string\n}\n\n/**\n * Format a HubSpot epoch-ms timestamp like the CRM activity timeline.\n */\nexport function formatHubSpotActivityDateTimeParts(timestamp: unknown, timeZone: string = getCurrentTimeZone()): HubSpotActivityDateTimeParts | null {\n const ms = normalizeToTimestamp(timestamp)\n if (ms == null) return null\n\n const date = new Date(ms)\n const datePart = new Intl.DateTimeFormat('en-US', {\n timeZone,\n month: 'long',\n day: 'numeric',\n year: 'numeric'\n }).format(date)\n const timePart = new Intl.DateTimeFormat('en-US', {\n timeZone,\n hour: 'numeric',\n minute: '2-digit',\n hour12: true\n }).format(date)\n const gmtOffset = formatGmtOffset(timeZone, date)\n\n return {\n date: datePart,\n time: timePart,\n gmtOffset,\n formatted: `${datePart} at ${timePart} ${gmtOffset}`.trim()\n }\n}\n\n/**\n * @returns HubSpot activity string, e.g. `May 27, 2026 at 11:31 PM GMT+5:30`, or empty string.\n */\nexport function formatHubSpotActivityDateTime(timestamp: unknown, timeZone: string = getCurrentTimeZone()): string {\n return formatHubSpotActivityDateTimeParts(timestamp, timeZone)?.formatted ?? ''\n}\n","import type { SessionStorageAdapter } from '../storage/session-storage-adapter'\nimport { registerSessionStorageAdapter } from '../storage/session-storage-registry'\nimport { setClientType } from './client-type'\nimport { initializeHttpClient, type HttpClientConfig } from './http-client'\nimport { hydrateSessionRefreshState } from './token-store'\nimport { hydrateMfaPendingAccessToken } from '../auth/mfa-pending-token-storage'\nimport { storAccessToken } from './token-store'\nimport { hydrateUserStoreFromSession } from '../../state/crm/use-user'\n\nexport type MobileClientConfig = HttpClientConfig & {\n storage: SessionStorageAdapter\n}\n\n/**\n * Configure the SDK for native/mobile hosts: pluggable storage, client type `mobile`,\n * and `X-Client-Type: mobile` on all HTTP requests.\n */\nexport function initializeMobileClient({ storage, ...httpConfig }: MobileClientConfig): void {\n registerSessionStorageAdapter(storage)\n setClientType('mobile')\n hydrateSessionRefreshState()\n void hydrateMfaPendingAccessToken({\n lane: 'c',\n setAccessToken: (token, expiresIn) => {\n storAccessToken(token, expiresIn)\n }\n })\n hydrateUserStoreFromSession()\n initializeHttpClient({\n ...httpConfig,\n headers: {\n 'X-Client-Type': 'mobile',\n ...httpConfig.headers\n }\n })\n}\n","/**\n * WoodsPortal client SDK — public entry module.\n *\n * Configure HTTP once with {@link initializeHttpClient} in production, then use\n * {@link api}, {@link store}, and {@link api.navigation}.\n */\nimport { api } from './api/compose-api'\nimport {\n tableStore,\n tableActions,\n tableUiStore,\n tableUiActions,\n userStore,\n userActions,\n noteStore,\n noteActions,\n emailStore,\n emailActions,\n syncStore,\n syncActions\n} from './state'\nimport { storage } from './core/utils/localStorage'\n\nexport {\n DEFAULT_HUBSPOT_TIMEZONE,\n getCurrentTimeZone,\n formatGmtOffset,\n formatHubSpotActivityDateTime,\n formatHubSpotActivityDateTimeParts,\n normalizeToTimestamp\n} from './core/utils/datetime'\nexport type { HubSpotActivityDateTimeParts } from './core/utils/datetime'\nexport {\n purgeCrmObjectDataCache,\n purgeCrmListCache,\n purgeCrmListCacheAfterCrmWrite,\n purgeCrmDetailAndListAfterCrmWrite,\n purgeCrmRecordCache,\n purgeEngagementCaches,\n purgeEngagementCachesAfterCrmWrite,\n purgeCrmCombined,\n buildCachePurgeRequest,\n buildCrmListPurgeTarget,\n buildCrmSinglePurgeTarget,\n buildEngagementPurgeTarget,\n buildPortalConfigPurgeTarget,\n buildUserSessionPurgeTarget,\n mergePurgeTargets,\n createCachePurgeJob,\n extractHubspotRecordIdFromWriteResponse,\n extractEngagementItemIdFromWriteResponse,\n resolveCrmListPurgeQuery,\n toCachePurgeListQuery\n} from './core/utils/cache'\nexport type { CrmCachePurgeOptions } from './core/types/cache-purge'\nexport type {\n CachePurgeRequest,\n CachePurgeTarget,\n CachePurgeListQuery,\n CachePurgeView,\n CachePurgeDomain,\n CachePurgeMode,\n PurgeResult,\n CreateCachePurgeJobOptions\n} from './core/types/cache-purge'\n\n/** Axios setup, error helpers, and {@link HttpClientConfig}. */\nexport { initializeHttpClient, getFormErrors, getFieldErrors } from './core/http/http-client'\nexport type { HttpClientConfig, StorageKeyConfig } from './core/http/http-client'\nexport { initializeMobileClient } from './core/http/mobile-client-config'\nexport type { MobileClientConfig } from './core/http/mobile-client-config'\nexport type { SessionStorageAdapter } from './core/storage/session-storage-adapter'\nexport { getClientType } from './core/http/client-type'\n\n/** Shared auth contract (client + admin consistency). */\nexport {\n AuthErrorCode,\n parseApiErrorPayload,\n getUnauthorizedPageCopy,\n resolveAuthErrorAction,\n isOptionalAuthFailureUrl,\n isSessionProbeUrl,\n persistAuthError,\n readPersistedAuthError,\n hasValidAccess,\n isFullyAuthenticated,\n isMfaPendingSession,\n hasAuthenticatedAccess,\n recoverMfaGateOnBoot,\n startVisibilityRefreshScheduler,\n stopVisibilityRefreshScheduler,\n resolveAuthRouteAction,\n storeMfaPendingAccessToken,\n readMfaPendingAccessToken,\n clearMfaPendingAccessToken,\n hydrateMfaPendingAccessToken,\n isMfaPendingAccessSession\n} from './core/auth/index.js'\nexport type {\n ApiErrorPayload,\n StoredAuthError,\n AuthErrorCodeValue,\n UnauthorizedPageCopy,\n AuthErrorAction,\n AuthPolicyRoutes,\n AuthInterceptorPolicyConfig,\n WoodsportalRequestConfig,\n SessionContractInput,\n MfaBootRecoveryResult,\n AuthRouteAction,\n AuthFunnelState,\n MfaStorageLane,\n MfaPendingAccessToken,\n HydrateMfaPendingAccessTokenInput\n} from './core/auth/index.js'\nexport { classifyHttpError, getHttpErrorMessage, isServiceUnavailableError, SERVICE_UNAVAILABLE_MESSAGE } from './core/http/http-errors'\nexport type { HttpErrorKind } from './core/http/http-errors'\nexport {\n SessionRefreshDeferredError,\n SessionRefreshFailedError,\n isSessionRefreshDeferredError,\n isSessionRefreshFailedError\n} from './core/http/session-refresh-errors'\n\nexport {\n API_ERROR_DISPLAY_CONFIG,\n API_ERROR_CATEGORY_FALLBACK,\n WOODSPORTAL_API_ACTIVE_ERROR_CODES,\n buildErrorDescription,\n getApiErrorFromUnknown,\n resolveApiErrorDisplay,\n resolveApiContentState,\n isExpectedApiError\n} from './core/errors/index.js'\nexport type {\n ApiErrorVariant,\n ApiContentVariant,\n ApiErrorSeverity,\n ApiErrorDisplayConfig,\n ResolvedApiErrorDisplay,\n ResolvedApiContentState,\n ResolveApiErrorDisplayOptions\n} from './core/errors/index.js'\n\nexport { configureLogger } from './core/logging/logger'\nexport type { LogLevel, LogMeta, LoggerConfig } from './core/logging/logger-types'\n\nexport { Client } from './core/http/client-assembler'\nexport { config as hubContext, setConfig as setHubContext } from './core/utils/hub-context'\n\nexport { WP_STORAGE_KEYS, WP_UI_THEME, wpClientIframeRefreshKey, wpClientIframeRefreshExpKey } from './core/utils/wp-storage-keys'\nexport {\n migrateLegacyStorageKeys,\n getClientAuthCookieNamesToClear,\n clearClientSessionStorageKeys,\n clearClientIframeRefreshLocalKeys,\n clearStaleIframeRefreshForOtherHubs\n} from './core/utils/storage-migration'\nexport { clearClientAuthCookies } from './core/utils/cookie'\nexport { clearClientSdkSession, resetSessionStores } from './core/http/session-teardown'\nexport { setSessionLifecycleListener } from './core/http/token-store'\nexport { signalSessionChanged, installCrossTabSessionListener, applyCrossTabSessionRevocation } from './core/http/cross-tab-session'\nexport { configureStorageKeys, getStorageKeys, resetStorageKeysForTests } from './core/utils/storage-keys'\n\nexport {\n HUBSPOT_DEALS_OBJECT_TYPE_ID,\n HUBSPOT_TICKETS_OBJECT_TYPE_ID,\n PIPELINE_REQUIRED_MANAGED_OBJECT_TYPE_IDS,\n PIPELINE_BOARD_OBJECT_TYPE_IDS,\n isPipelineBoardObjectTypeId\n} from './core/constants/hubspot-object-type-ids'\nexport { isPipelineBoardObjectType, supportsBoardView, shouldShowPipelineSelector } from './core/constants/pipeline-ui'\n\nexport type {\n Config,\n MutationOptions,\n PreLoginPayload,\n LoginPayload,\n VerifyEmailPayload,\n ResetPasswordVerifyTokenPayload,\n ResetPasswordPayload,\n ForgetPasswordPayload,\n ChangePasswordPayload,\n MfaMethod,\n MfaMethodOption,\n MfaPortalScopeContext,\n LoginResponseData,\n TwoFaVerificationRequest,\n MfaEnrollmentStatus,\n SecurityOverview,\n LoginHistoryRow,\n ActiveSession,\n PaginationResponse\n} from './core/types'\n\nexport { api }\n\n/** Storage helpers and CRM stores. */\nexport const store = {\n storage,\n tableUi: { store: tableUiStore, actions: tableUiActions },\n table: { store: tableStore, actions: tableActions },\n user: { store: userStore, actions: userActions },\n note: { store: noteStore, actions: noteActions },\n email: { store: emailStore, actions: emailActions },\n sync: { store: syncStore, actions: syncActions }\n}\n"]}
|