woodsportal-client-sdk 4.0.8-dev.1 → 4.0.8-dev.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/dist/adapters/angular/index.d.ts +6 -1
  2. package/dist/adapters/angular/index.js +4 -4
  3. package/dist/adapters/native/index.d.ts +1 -1
  4. package/dist/adapters/native/index.js +5 -5
  5. package/dist/adapters/react/index.d.ts +6 -1
  6. package/dist/adapters/react/index.js +5 -5
  7. package/dist/adapters/vue/index.d.ts +6 -1
  8. package/dist/adapters/vue/index.js +4 -4
  9. package/dist/{auth-utils-T4FIBK3O.js → auth-utils-4HFJPASF.js} +3 -3
  10. package/dist/{auth-utils-T4FIBK3O.js.map → auth-utils-4HFJPASF.js.map} +1 -1
  11. package/dist/{chunk-VN6VPM5C.js → chunk-F2DP2LL3.js} +4 -4
  12. package/dist/{chunk-VN6VPM5C.js.map → chunk-F2DP2LL3.js.map} +1 -1
  13. package/dist/{chunk-NDDE6ZZ3.js → chunk-HOUVOL2U.js} +49 -7
  14. package/dist/chunk-HOUVOL2U.js.map +1 -0
  15. package/dist/{chunk-S3CVZTU4.js → chunk-JQX3TEIH.js} +103 -53
  16. package/dist/chunk-JQX3TEIH.js.map +1 -0
  17. package/dist/{chunk-BXKFJ5NQ.js → chunk-KLAUURL2.js} +5 -5
  18. package/dist/{chunk-BXKFJ5NQ.js.map → chunk-KLAUURL2.js.map} +1 -1
  19. package/dist/{chunk-ETYE73AH.js → chunk-QXUKMUJI.js} +141 -4
  20. package/dist/chunk-QXUKMUJI.js.map +1 -0
  21. package/dist/{chunk-PVX6FWCW.js → chunk-RWQ7KPUG.js} +73 -85
  22. package/dist/chunk-RWQ7KPUG.js.map +1 -0
  23. package/dist/{chunk-ZEGKRQA4.js → chunk-U2SG3RVX.js} +3 -3
  24. package/dist/{chunk-ZEGKRQA4.js.map → chunk-U2SG3RVX.js.map} +1 -1
  25. package/dist/{chunk-5LISZE2R.js → chunk-Y5NPCET5.js} +5 -5
  26. package/dist/{chunk-5LISZE2R.js.map → chunk-Y5NPCET5.js.map} +1 -1
  27. package/dist/{chunk-AVMMEQLO.js → chunk-ZLEHRJEM.js} +21 -6
  28. package/dist/chunk-ZLEHRJEM.js.map +1 -0
  29. package/dist/{cross-tab-session-B34BLQU4.js → cross-tab-session-6VREJNSI.js} +6 -6
  30. package/dist/{cross-tab-session-B34BLQU4.js.map → cross-tab-session-6VREJNSI.js.map} +1 -1
  31. package/dist/entries/auth.d.ts +2 -2
  32. package/dist/entries/auth.js +5 -5
  33. package/dist/entries/auth.js.map +1 -1
  34. package/dist/entries/crm.d.ts +6 -3
  35. package/dist/entries/crm.js +7 -7
  36. package/dist/index.d.ts +19 -16
  37. package/dist/index.js +12 -12
  38. package/dist/index.js.map +1 -1
  39. package/dist/{build-error-description-XKI8vhGv.d.ts → route-guard-contract-KaQaafb7.d.ts} +257 -246
  40. package/dist/{use-sync-DpazhM4d.d.ts → use-sync-Bc3XBQBA.d.ts} +12 -12
  41. package/package.json +15 -23
  42. package/dist/chunk-AVMMEQLO.js.map +0 -1
  43. package/dist/chunk-ETYE73AH.js.map +0 -1
  44. package/dist/chunk-NDDE6ZZ3.js.map +0 -1
  45. package/dist/chunk-PVX6FWCW.js.map +0 -1
  46. package/dist/chunk-S3CVZTU4.js.map +0 -1
  47. package/dist/{pipeline-ui-COO9b3x2.d.ts → cache-purge-rOALAcjJ.d.ts} +10 -10
@@ -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,52 +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
- 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';
785
- type ApiErrorSeverity = 'informational' | 'recoverable' | 'auth' | 'fatal';
786
-
787
- type ApiErrorVariant = 'error' | 'access' | 'actionDenied' | 'association' | 'validation' | 'auth' | 'rateLimit' | 'commercial' | 'file' | 'integration' | 'network';
788
-
789
- type ApiErrorDisplayConfig = {
790
- variant: ApiErrorVariant;
791
- title: string;
792
- fallbackDescription: string;
793
- retry?: boolean;
794
- support?: boolean;
795
- contentVariant?: ApiContentVariant;
796
- severity?: ApiErrorSeverity;
797
- };
798
- declare const API_ERROR_DISPLAY_CONFIG: Record<string, ApiErrorDisplayConfig>;
799
- declare const API_ERROR_CATEGORY_FALLBACK: Record<string, ApiErrorDisplayConfig>;
800
-
801
- type ResolvedApiErrorDisplay = {
802
- variant: ApiErrorVariant;
803
- title: string;
804
- description: string;
805
- errorCode?: string;
806
- correlationId?: string;
807
- showRetry: boolean;
808
- showSupport: boolean;
809
- };
810
- type ResolveApiErrorDisplayOptions = {
811
- allowRetry?: boolean;
812
- };
813
- declare function getApiErrorFromUnknown(error: unknown): ReturnType<typeof parseApiErrorPayload>;
814
- declare function resolveApiErrorDisplay(error: unknown, options?: ResolveApiErrorDisplayOptions): ResolvedApiErrorDisplay;
815
-
816
- 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"];
817
-
818
- declare function buildErrorDescription({ errorMessage, detailedMessage, fallbackDescription, preferDetailedMessage, errorCode }: {
819
- errorMessage?: string;
820
- detailedMessage?: string;
821
- fallbackDescription?: string;
822
- preferDetailedMessage?: boolean;
823
- errorCode?: string;
824
- }): string;
825
-
826
- 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, hasAuthenticatedAccess 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, type StoredAuthError as aO, type TwoFaVerificationRequest as aP, type UnauthorizedPageCopy as aQ, WOODSPORTAL_API_ACTIVE_ERROR_CODES as aR, type WoodsportalRequestConfig as aS, buildErrorDescription as aT, classifyHttpError as aU, clearMfaPendingAccessToken as aV, getApiErrorFromUnknown as aW, getFieldErrors as aX, getFormErrors as aY, getHttpErrorMessage as aZ, getUnauthorizedPageCopy 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, hasValidAccess as b0, hydrateMfaPendingAccessToken as b1, initializeHttpClient as b2, isFullyAuthenticated as b3, isMfaPendingAccessSession as b4, isMfaPendingSession as b5, isOptionalAuthFailureUrl as b6, isServiceUnavailableError as b7, isSessionProbeUrl as b8, parseApiErrorPayload as b9, type MfaBackupCodesResponse as bA, type MfaOptOutRequest as bB, type WebAuthnVerifyRequest as bC, type PasskeyLoginOptionsRequest as bD, type PasskeyLoginVerifyRequest as bE, type SecurityOverviewQuery as bF, type SecurityLoginActivityQuery as bG, type SecuritySessionsQuery as bH, type RevokeSecuritySessionPayload as bI, type LogLevel as bJ, type StorageKeyConfig as bK, configureStorageKeys as bL, getStorageKeys as bM, resetStorageKeysForTests as bN, persistAuthError as ba, readMfaPendingAccessToken as bb, readPersistedAuthError as bc, recoverMfaGateOnBoot as bd, resolveApiErrorDisplay as be, resolveAuthErrorAction as bf, resolveAuthRouteAction as bg, setEditorPreviewMockHandler as bh, setSessionLifecycleListener as bi, startVisibilityRefreshScheduler as bj, stopVisibilityRefreshScheduler as bk, storeMfaPendingAccessToken as bl, type ApiContentVariant as bm, type ApiErrorSeverity as bn, type LoggerConfig as bo, type MfaOtpSendRequest as bp, type MfaPendingPasskeyOptionsRequest as bq, type MfaPendingPasskeyVerifyRequest as br, type MfaStatusQuery as bs, type MfaPreferenceRequest as bt, type PhoneVerifyStartRequest as bu, type PhoneVerifyConfirmRequest as bv, type TotpEnrollVerifyRequest as bw, type TotpDisableRequest as bx, type PhoneUnverifyRequest as by, type BackupCodesRegenerateRequest 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 };
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 };
@@ -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.1",
3
+ "version": "4.0.8-dev.11",
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,36 +52,29 @@
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
- "test": "node --import tsx --import ./src/test/register-test-hooks.ts --test 'src/test/**/*.test.ts'",
65
- "test:watch": "node --import tsx --import ./src/test/register-test-hooks.ts --watch --test 'src/test/**/*.test.ts'",
66
- "test:coverage": "c8 node --import tsx --test 'src/test/**/*.test.ts'",
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",
64
+ "audit:prod": "pnpm audit --omit=dev --audit-level=high",
65
+ "test": "node scripts/run-unit-tests.mjs",
66
+ "test:watch": "node --import tsx --import ./src/test/register-test-hooks.ts --watch --test src/test/**/*.test.ts",
67
+ "test:coverage": "c8 node scripts/run-unit-tests.mjs",
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",
76
- "prepare": "husky",
77
- "prepublishOnly": "npm run build && npm run type-check && npm run test:consumer"
78
- },
79
- "lint-staged": {
80
- "src/**/*.ts": [
81
- "prettier --write",
82
- "eslint --fix"
83
- ]
75
+ "verify": "pnpm run type-check && pnpm run lint && 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",
77
+ "prepublishOnly": "pnpm run build && pnpm run type-check && pnpm run test:consumer"
84
78
  },
85
79
  "files": [
86
80
  "dist",
@@ -133,10 +127,8 @@
133
127
  "dependency-cruiser": "^16.10.0",
134
128
  "eslint": "^9.18.0",
135
129
  "eslint-config-prettier": "^10.0.1",
136
- "husky": "^9.1.7",
137
130
  "jsdom": "^26.0.0",
138
131
  "knip": "^5.46.0",
139
- "lint-staged": "^15.4.3",
140
132
  "nodemon": "^3.1.11",
141
133
  "prettier": "^3.7.4",
142
134
  "publint": "^0.3.0",