@withwiz/toolkit 0.9.2 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/{chunk-LL3VWKY4.js → chunk-465MEI5K.js} +1 -1
  2. package/dist/{chunk-QMBNFCCK.js → chunk-5Z5CZAZP.js} +7 -7
  3. package/dist/{chunk-PRPMEHRE.js → chunk-6NEGFM32.js} +22 -4
  4. package/dist/chunk-BTNM5YSU.js +29 -0
  5. package/dist/chunk-CWS5RPRX.js +0 -0
  6. package/dist/{chunk-XKIBJJA3.js → chunk-HZN44RWL.js} +4 -4
  7. package/dist/{chunk-HGVPZSWW.js → chunk-KZ4PDS5K.js} +1 -1
  8. package/dist/chunk-L2A6NGW7.js +21 -0
  9. package/dist/chunk-MXWSG6ER.js +0 -0
  10. package/dist/chunk-NUHSUAXG.js +35 -0
  11. package/dist/{chunk-U2TGXJ3A.js → chunk-OII5BXCZ.js} +1 -1
  12. package/dist/chunk-OVOBSYR4.js +24 -0
  13. package/dist/chunk-P4MGYRJM.js +162 -0
  14. package/dist/{chunk-XTGS6JJB.js → chunk-SROPI74N.js} +1 -1
  15. package/dist/chunk-TN5ZNYR2.js +0 -0
  16. package/dist/{chunk-63EKUOJH.js → chunk-VHRBXD7U.js} +1 -1
  17. package/dist/{chunk-4XPXZNBX.js → chunk-W27FQNP6.js} +1 -1
  18. package/dist/chunk-XWHT53CZ.js +38 -0
  19. package/dist/chunk-Z4J452HD.js +24 -0
  20. package/dist/{chunk-WSHRBK6Y.js → chunk-Z64GNAB7.js} +2 -2
  21. package/dist/chunk-ZZTBIA57.js +18 -0
  22. package/dist/core/api-key/api-key.service.d.ts +28 -0
  23. package/dist/core/api-key/api-key.service.js +9 -0
  24. package/dist/core/api-key/index.d.ts +6 -0
  25. package/dist/core/api-key/index.js +28 -0
  26. package/dist/core/api-key/ip-whitelist.d.ts +4 -0
  27. package/dist/core/api-key/ip-whitelist.js +9 -0
  28. package/dist/core/api-key/key-generator.d.ts +6 -0
  29. package/dist/core/api-key/key-generator.js +11 -0
  30. package/dist/core/api-key/ports.d.ts +104 -0
  31. package/dist/core/api-key/ports.js +1 -0
  32. package/dist/core/api-key/types.d.ts +88 -0
  33. package/dist/core/api-key/types.js +1 -0
  34. package/dist/core/api-key/validate.d.ts +9 -0
  35. package/dist/core/api-key/validate.js +7 -0
  36. package/dist/core/auth/duration.d.ts +9 -0
  37. package/dist/core/auth/duration.js +7 -0
  38. package/dist/core/auth/index.js +23 -22
  39. package/dist/core/auth/jwt/cookie.d.ts +8 -0
  40. package/dist/core/auth/jwt/cookie.js +2 -1
  41. package/dist/core/auth/jwt/index.js +2 -1
  42. package/dist/core/auth/oauth/index.js +7 -7
  43. package/dist/core/auth/oauth/providers/index.js +6 -6
  44. package/dist/core/auth/services/index.js +2 -1
  45. package/dist/core/auth/services/login.service.js +2 -1
  46. package/dist/core/auth/services/oauth-callback.service.js +2 -1
  47. package/dist/core/auth/services/token-refresh.service.js +2 -1
  48. package/dist/core/auth/token-delivery.js +3 -2
  49. package/dist/core/cache/cache-factory.js +1 -1
  50. package/dist/core/cache/cache-invalidation.js +1 -1
  51. package/dist/core/cache/cache-redis.js +1 -1
  52. package/dist/core/cache/cache-wrapper.js +1 -1
  53. package/dist/core/cache/cache.js +1 -1
  54. package/dist/core/cache/hybrid-cache-manager.js +1 -1
  55. package/dist/core/cache/index.js +1 -1
  56. package/dist/core/cache/redis-cache-manager.js +1 -1
  57. package/dist/core/geolocation/index.js +8 -8
  58. package/dist/core/geolocation/providers/index.js +7 -7
  59. package/dist/core/system/environment.js +1 -1
  60. package/dist/core/system/health-check.js +2 -2
  61. package/dist/core/system/index.js +8 -8
  62. package/dist/next/auth-handlers/index.js +12 -11
  63. package/dist/next/auth-handlers/login.handler.js +4 -3
  64. package/dist/next/auth-handlers/logout.handler.js +3 -2
  65. package/dist/next/auth-handlers/me.handler.js +4 -3
  66. package/dist/next/auth-handlers/oauth-authorize.handler.js +4 -4
  67. package/dist/next/auth-handlers/oauth-callback.handler.js +6 -5
  68. package/dist/next/auth-handlers/refresh.handler.js +4 -3
  69. package/dist/next/auth-types/handler-types.js +3 -2
  70. package/dist/next/auth-types/index.js +3 -2
  71. package/dist/next/error/index.js +3 -3
  72. package/dist/next/middleware/auth.js +5 -4
  73. package/dist/next/middleware/cors.js +2 -2
  74. package/dist/next/middleware/index.js +15 -14
  75. package/dist/next/middleware/wrappers.js +10 -9
  76. package/dist/next/oapi/api-key-auth.d.ts +27 -0
  77. package/dist/next/oapi/api-key-auth.js +14 -0
  78. package/dist/next/oapi/helpers.d.ts +19 -0
  79. package/dist/next/oapi/helpers.js +13 -0
  80. package/dist/next/oapi/index.d.ts +3 -0
  81. package/dist/next/oapi/index.js +28 -0
  82. package/dist/next/oapi/openapi-spec.d.ts +18 -0
  83. package/dist/next/oapi/openapi-spec.js +7 -0
  84. package/dist/next/utils/index.js +15 -15
  85. package/package.json +13 -1
  86. package/dist/{chunk-UWOWKOOQ.js → chunk-37VGD4VX.js} +3 -3
  87. package/dist/{chunk-P7WHMKN5.js → chunk-ER6LSA4M.js} +6 -6
  88. package/dist/{chunk-JOYW3OZB.js → chunk-UIWR5MXM.js} +3 -3
  89. package/dist/{chunk-Q5RPNLET.js → chunk-VDRLJU6C.js} +6 -6
@@ -0,0 +1,104 @@
1
+ import type { ApiKeyEnvironment, ApiKeyPermission, ApiKeyFilters, ApiKeyValidationResult } from '@withwiz/toolkit/core/api-key/types';
2
+ export interface ApiKeyRecord {
3
+ id: string;
4
+ userId: string;
5
+ name: string;
6
+ description: string | null;
7
+ key: string;
8
+ permissions: ApiKeyPermission[];
9
+ rateLimit: number;
10
+ endpointLimits: Record<string, number> | null;
11
+ environment: ApiKeyEnvironment;
12
+ ipWhitelist: string[];
13
+ isActive: boolean;
14
+ usageCount: number;
15
+ lastUsedAt: Date | null;
16
+ lastUsedIp: string | null;
17
+ expiresAt: Date | null;
18
+ createdAt: Date;
19
+ updatedAt: Date;
20
+ }
21
+ export interface ApiKeyWithUser extends ApiKeyRecord {
22
+ user: {
23
+ id: string;
24
+ email: string;
25
+ isActive: boolean;
26
+ plan: string;
27
+ };
28
+ }
29
+ export interface ApiKeyCreateInput {
30
+ userId: string;
31
+ key: string;
32
+ name: string;
33
+ description?: string | null;
34
+ permissions: ApiKeyPermission[];
35
+ rateLimit: number;
36
+ endpointLimits?: Record<string, number> | null;
37
+ environment: ApiKeyEnvironment;
38
+ ipWhitelist: string[];
39
+ expiresAt: Date;
40
+ }
41
+ export interface ApiKeyUpdateInput {
42
+ name?: string;
43
+ description?: string | null;
44
+ isActive?: boolean;
45
+ permissions?: ApiKeyPermission[];
46
+ ipWhitelist?: string[];
47
+ rateLimit?: number;
48
+ endpointLimits?: Record<string, number> | null;
49
+ }
50
+ export interface IApiKeyRepository {
51
+ create(data: ApiKeyCreateInput): Promise<ApiKeyRecord>;
52
+ findByHash(keyHash: string): Promise<ApiKeyWithUser | null>;
53
+ findById(id: string): Promise<ApiKeyRecord | null>;
54
+ findMany(filters: ApiKeyFilters): Promise<{
55
+ items: ApiKeyRecord[];
56
+ total: number;
57
+ }>;
58
+ countActive(userId: string): Promise<number>;
59
+ update(id: string, data: ApiKeyUpdateInput): Promise<ApiKeyRecord>;
60
+ deactivate(id: string): Promise<void>;
61
+ delete(id: string): Promise<void>;
62
+ incrementUsage(id: string, ip?: string): Promise<void>;
63
+ }
64
+ export interface IApiKeyCacheStore {
65
+ getValidation(keyHash: string): Promise<ApiKeyValidationResult | null>;
66
+ setValidation(keyHash: string, result: ApiKeyValidationResult): Promise<void>;
67
+ invalidate(keyHash: string): Promise<void>;
68
+ invalidateUser?(userId: string): Promise<void>;
69
+ }
70
+ export interface IPlanConfigProvider {
71
+ getApiKeyLimit(plan: string): Promise<number>;
72
+ getRateLimit(plan: string): Promise<number>;
73
+ getEndpointLimit?(plan: string, action: string): Promise<number>;
74
+ }
75
+ export interface UsageCheckResult {
76
+ allowed: boolean;
77
+ reason?: 'DAILY_LIMIT' | 'MONTHLY_LIMIT';
78
+ current: {
79
+ daily: number;
80
+ monthly: number;
81
+ };
82
+ limit: {
83
+ daily: number;
84
+ monthly: number;
85
+ };
86
+ }
87
+ export interface UsageLogInput {
88
+ apiKeyId: string;
89
+ userId: string;
90
+ endpoint: string;
91
+ ip?: string;
92
+ }
93
+ export interface IUsageTracker {
94
+ canMakeApiCall(userId: string, plan: string): Promise<UsageCheckResult>;
95
+ /** 코어/미들웨어는 호출하지 않음 — 소비자 라우트 계층 선택 사용(optional). */
96
+ logUsage?(data: UsageLogInput): Promise<void>;
97
+ }
98
+ export interface ApiKeyServiceEnv {
99
+ prefixProd: string;
100
+ prefixDev: string;
101
+ defaultExpiryDays: number;
102
+ /** API키 발급/사용 불가 플랜명 목록. 예: ['FREEMIUM'] */
103
+ restrictedPlans: string[];
104
+ }
@@ -0,0 +1 @@
1
+ import "../../chunk-CWS5RPRX.js";
@@ -0,0 +1,88 @@
1
+ export type ApiKeyPermission = 'read' | 'write' | 'delete';
2
+ export type ApiKeyEnvironment = 'production' | 'development';
3
+ export interface CreateApiKeyOptions {
4
+ name: string;
5
+ description?: string;
6
+ permissions: ApiKeyPermission[];
7
+ environment: ApiKeyEnvironment;
8
+ expiresAt?: Date;
9
+ ipWhitelist?: string[];
10
+ customRateLimit?: number;
11
+ endpointLimits?: Record<string, number>;
12
+ }
13
+ export interface ApiKeyResult {
14
+ id: string;
15
+ key: string;
16
+ name: string;
17
+ description?: string;
18
+ permissions: ApiKeyPermission[];
19
+ environment: ApiKeyEnvironment;
20
+ rateLimit: number;
21
+ endpointLimits?: Record<string, number>;
22
+ expiresAt?: Date;
23
+ createdAt: Date;
24
+ }
25
+ export interface ApiKeyInfo {
26
+ id: string;
27
+ name: string;
28
+ description?: string;
29
+ keyPreview: string;
30
+ permissions: ApiKeyPermission[];
31
+ environment: ApiKeyEnvironment;
32
+ rateLimit: number;
33
+ endpointLimits?: Record<string, number>;
34
+ ipWhitelist: string[];
35
+ lastUsedAt?: Date;
36
+ lastUsedIp?: string;
37
+ usageCount: number;
38
+ isActive: boolean;
39
+ expiresAt?: Date;
40
+ createdAt: Date;
41
+ updatedAt: Date;
42
+ }
43
+ /** validate FSM이 반환하는 검증 실패 코드. */
44
+ export type ApiKeyValidationError = 'INVALID_API_KEY' | 'INACTIVE_API_KEY' | 'EXPIRED_API_KEY' | 'INACTIVE_USER' | 'PLAN_RESTRICTED';
45
+ export interface ApiKeyValidationResult {
46
+ valid: boolean;
47
+ error?: ApiKeyValidationError;
48
+ message?: string;
49
+ apiKey?: {
50
+ id: string;
51
+ userId: string;
52
+ permissions: ApiKeyPermission[];
53
+ rateLimit: number;
54
+ endpointLimits?: Record<string, number>;
55
+ ipWhitelist: string[];
56
+ environment: ApiKeyEnvironment;
57
+ expiresAt?: Date | null;
58
+ };
59
+ user?: {
60
+ id: string;
61
+ email: string;
62
+ plan: string;
63
+ };
64
+ }
65
+ export interface UpdateApiKeyData {
66
+ name?: string;
67
+ description?: string;
68
+ isActive?: boolean;
69
+ permissions?: ApiKeyPermission[];
70
+ ipWhitelist?: string[];
71
+ customRateLimit?: number;
72
+ endpointLimits?: Record<string, number>;
73
+ }
74
+ export interface ApiKeyFilters {
75
+ userId?: string;
76
+ environment?: ApiKeyEnvironment;
77
+ isActive?: boolean;
78
+ search?: string;
79
+ page?: number;
80
+ pageSize?: number;
81
+ }
82
+ export interface ApiKeyListResponse {
83
+ keys: ApiKeyInfo[];
84
+ total: number;
85
+ page: number;
86
+ pageSize: number;
87
+ hasMore: boolean;
88
+ }
@@ -0,0 +1 @@
1
+ import "../../chunk-TN5ZNYR2.js";
@@ -0,0 +1,9 @@
1
+ import type { ApiKeyWithUser } from '@withwiz/toolkit/core/api-key/ports';
2
+ import type { ApiKeyValidationResult } from '@withwiz/toolkit/core/api-key/types';
3
+ /**
4
+ * API 키 레코드 검증 FSM(순수). 우선순위:
5
+ * null → 비활성키 → 만료 → 비활성사용자 → 제한플랜 → 정상.
6
+ */
7
+ export declare function validateApiKeyRecord(record: ApiKeyWithUser | null, opts: {
8
+ freemiumPlans?: string[];
9
+ }): ApiKeyValidationResult;
@@ -0,0 +1,7 @@
1
+ import {
2
+ validateApiKeyRecord
3
+ } from "../../chunk-BTNM5YSU.js";
4
+ import "../../chunk-N3ETBM74.js";
5
+ export {
6
+ validateApiKeyRecord
7
+ };
@@ -0,0 +1,9 @@
1
+ /**
2
+ * 만료 기간 문자열을 초로 변환.
3
+ *
4
+ * JWT 만료(jose는 "7d" 형식 문자열을 직접 받음)와 쿠키 maxAge(초 단위 number)를
5
+ * 동일한 설정값에서 도출하기 위한 유틸. 단위 없는 숫자는 초로 간주.
6
+ *
7
+ * 지원 단위: s(초) / m(분) / h(시) / d(일).
8
+ */
9
+ export declare function durationToSeconds(expiry: string): number;
@@ -0,0 +1,7 @@
1
+ import {
2
+ durationToSeconds
3
+ } from "../../chunk-OVOBSYR4.js";
4
+ import "../../chunk-N3ETBM74.js";
5
+ export {
6
+ durationToSeconds
7
+ };
@@ -1,3 +1,19 @@
1
+ import {
2
+ JWTClientManager,
3
+ clearStoredTokens,
4
+ clearTokens,
5
+ createApiHeaders,
6
+ createAuthHeader,
7
+ decodeJWTPayload,
8
+ extractUserFromToken,
9
+ getStoredTokens,
10
+ getTokenExpirationString,
11
+ getTokenIssuedAtString,
12
+ getTokenRemainingTime,
13
+ isTokenExpired,
14
+ isTokenExpiringSoon,
15
+ storeTokens
16
+ } from "../../chunk-5I3EQHR4.js";
1
17
  import {
2
18
  DEFAULT_PASSWORD_CONFIG,
3
19
  createPasswordHasher,
@@ -18,26 +34,14 @@ import {
18
34
  BcryptPasswordHasher,
19
35
  MigratingPasswordHasher
20
36
  } from "../../chunk-ILMPKSWS.js";
21
- import {
22
- JWTClientManager,
23
- clearStoredTokens,
24
- clearTokens,
25
- createApiHeaders,
26
- createAuthHeader,
27
- decodeJWTPayload,
28
- extractUserFromToken,
29
- getStoredTokens,
30
- getTokenExpirationString,
31
- getTokenIssuedAtString,
32
- getTokenRemainingTime,
33
- isTokenExpired,
34
- isTokenExpiringSoon,
35
- storeTokens
36
- } from "../../chunk-5I3EQHR4.js";
37
37
  import {
38
38
  OAuthManager
39
- } from "../../chunk-P7WHMKN5.js";
39
+ } from "../../chunk-ER6LSA4M.js";
40
40
  import "../../chunk-CDALZTPN.js";
41
+ import "../../chunk-GSSHHVHF.js";
42
+ import {
43
+ GitHubOAuthProvider
44
+ } from "../../chunk-HIZ7USIF.js";
41
45
  import {
42
46
  GoogleOAuthProvider
43
47
  } from "../../chunk-GF3DKZIW.js";
@@ -45,10 +49,6 @@ import {
45
49
  KakaoOAuthProvider
46
50
  } from "../../chunk-65HVR74O.js";
47
51
  import "../../chunk-33RIHX7O.js";
48
- import "../../chunk-GSSHHVHF.js";
49
- import {
50
- GitHubOAuthProvider
51
- } from "../../chunk-HIZ7USIF.js";
52
52
  import "../../chunk-JLRMET4V.js";
53
53
  import {
54
54
  TokenGenerator
@@ -70,7 +70,8 @@ import {
70
70
  OAuthError,
71
71
  PasswordError
72
72
  } from "../../chunk-5GWGARXI.js";
73
- import "../../chunk-PRPMEHRE.js";
73
+ import "../../chunk-6NEGFM32.js";
74
+ import "../../chunk-OVOBSYR4.js";
74
75
  import "../../chunk-N3TCQ5BF.js";
75
76
  import "../../chunk-7YWUKMZD.js";
76
77
  import "../../chunk-6J2EJVND.js";
@@ -3,6 +3,10 @@
3
3
  *
4
4
  * NextResponse 타입을 제네릭으로 처리하여
5
5
  * symlink 환경에서의 next 패키지 경로 충돌을 방지합니다.
6
+ *
7
+ * 쿠키 maxAge는 하드코딩하지 않고 auth config(초기화 시 ENV 주입된
8
+ * accessTokenExpiry/refreshTokenExpiry)에서 도출하여 JWT 만료와 단일 소스로
9
+ * 일치시킨다. 미초기화 시 JWT_DEFAULTS, 명시 override는 CookieOptions로 가능.
6
10
  */
7
11
  import type { TokenPair } from '@withwiz/toolkit/core/auth/types';
8
12
  /** cookies.set()을 지원하는 Response 타입 */
@@ -16,6 +20,10 @@ export interface CookieOptions {
16
20
  sameSite?: 'lax' | 'strict' | 'none';
17
21
  domain?: string;
18
22
  refreshTokenPath?: string;
23
+ /** access_token 쿠키 maxAge(초) override. 미지정 시 auth config accessTokenExpiry에서 도출. */
24
+ accessTokenMaxAge?: number;
25
+ /** refresh_token 쿠키 maxAge(초) override. 미지정 시 auth config refreshTokenExpiry에서 도출. */
26
+ refreshTokenMaxAge?: number;
19
27
  }
20
28
  export declare function setTokenCookies<T extends CookieSettableResponse>(response: T, tokenPair: TokenPair, options?: CookieOptions): T;
21
29
  export declare function clearTokenCookies<T extends CookieSettableResponse>(response: T, options?: CookieOptions): T;
@@ -1,7 +1,8 @@
1
1
  import {
2
2
  clearTokenCookies,
3
3
  setTokenCookies
4
- } from "../../../chunk-PRPMEHRE.js";
4
+ } from "../../../chunk-6NEGFM32.js";
5
+ import "../../../chunk-OVOBSYR4.js";
5
6
  import "../../../chunk-N3TCQ5BF.js";
6
7
  import "../../../chunk-7YWUKMZD.js";
7
8
  import "../../../chunk-6J2EJVND.js";
@@ -6,7 +6,8 @@ import "../../../chunk-5GWGARXI.js";
6
6
  import {
7
7
  clearTokenCookies,
8
8
  setTokenCookies
9
- } from "../../../chunk-PRPMEHRE.js";
9
+ } from "../../../chunk-6NEGFM32.js";
10
+ import "../../../chunk-OVOBSYR4.js";
10
11
  import "../../../chunk-N3TCQ5BF.js";
11
12
  import "../../../chunk-7YWUKMZD.js";
12
13
  import "../../../chunk-6J2EJVND.js";
@@ -1,7 +1,13 @@
1
1
  import {
2
2
  OAuthManager
3
- } from "../../../chunk-P7WHMKN5.js";
3
+ } from "../../../chunk-ER6LSA4M.js";
4
4
  import "../../../chunk-CDALZTPN.js";
5
+ import {
6
+ MicrosoftOAuthProvider
7
+ } from "../../../chunk-GSSHHVHF.js";
8
+ import {
9
+ GitHubOAuthProvider
10
+ } from "../../../chunk-HIZ7USIF.js";
5
11
  import {
6
12
  GoogleOAuthProvider
7
13
  } from "../../../chunk-GF3DKZIW.js";
@@ -11,12 +17,6 @@ import {
11
17
  import {
12
18
  MetaOAuthProvider
13
19
  } from "../../../chunk-33RIHX7O.js";
14
- import {
15
- MicrosoftOAuthProvider
16
- } from "../../../chunk-GSSHHVHF.js";
17
- import {
18
- GitHubOAuthProvider
19
- } from "../../../chunk-HIZ7USIF.js";
20
20
  import {
21
21
  OAUTH_STATE_COOKIE,
22
22
  clearOAuthStateCookie,
@@ -1,4 +1,10 @@
1
1
  import "../../../../chunk-CDALZTPN.js";
2
+ import {
3
+ MicrosoftOAuthProvider
4
+ } from "../../../../chunk-GSSHHVHF.js";
5
+ import {
6
+ GitHubOAuthProvider
7
+ } from "../../../../chunk-HIZ7USIF.js";
2
8
  import {
3
9
  GoogleOAuthProvider
4
10
  } from "../../../../chunk-GF3DKZIW.js";
@@ -8,12 +14,6 @@ import {
8
14
  import {
9
15
  MetaOAuthProvider
10
16
  } from "../../../../chunk-33RIHX7O.js";
11
- import {
12
- MicrosoftOAuthProvider
13
- } from "../../../../chunk-GSSHHVHF.js";
14
- import {
15
- GitHubOAuthProvider
16
- } from "../../../../chunk-HIZ7USIF.js";
17
17
  import "../../../../chunk-5GWGARXI.js";
18
18
  import "../../../../chunk-N3ETBM74.js";
19
19
  export {
@@ -20,7 +20,8 @@ import "../../../chunk-ZZABL54F.js";
20
20
  import "../../../chunk-GH3U4WRE.js";
21
21
  import "../../../chunk-LWHLB2Y6.js";
22
22
  import "../../../chunk-5GWGARXI.js";
23
- import "../../../chunk-PRPMEHRE.js";
23
+ import "../../../chunk-6NEGFM32.js";
24
+ import "../../../chunk-OVOBSYR4.js";
24
25
  import "../../../chunk-N3TCQ5BF.js";
25
26
  import "../../../chunk-7YWUKMZD.js";
26
27
  import "../../../chunk-6J2EJVND.js";
@@ -3,7 +3,8 @@ import {
3
3
  } from "../../../chunk-TNDEYJEL.js";
4
4
  import "../../../chunk-LWHLB2Y6.js";
5
5
  import "../../../chunk-5GWGARXI.js";
6
- import "../../../chunk-PRPMEHRE.js";
6
+ import "../../../chunk-6NEGFM32.js";
7
+ import "../../../chunk-OVOBSYR4.js";
7
8
  import "../../../chunk-N3TCQ5BF.js";
8
9
  import "../../../chunk-7YWUKMZD.js";
9
10
  import "../../../chunk-6J2EJVND.js";
@@ -3,7 +3,8 @@ import {
3
3
  } from "../../../chunk-MTZXWVW3.js";
4
4
  import "../../../chunk-LWHLB2Y6.js";
5
5
  import "../../../chunk-5GWGARXI.js";
6
- import "../../../chunk-PRPMEHRE.js";
6
+ import "../../../chunk-6NEGFM32.js";
7
+ import "../../../chunk-OVOBSYR4.js";
7
8
  import "../../../chunk-N3TCQ5BF.js";
8
9
  import "../../../chunk-7YWUKMZD.js";
9
10
  import "../../../chunk-6J2EJVND.js";
@@ -3,7 +3,8 @@ import {
3
3
  } from "../../../chunk-XAGPZLRK.js";
4
4
  import "../../../chunk-LWHLB2Y6.js";
5
5
  import "../../../chunk-5GWGARXI.js";
6
- import "../../../chunk-PRPMEHRE.js";
6
+ import "../../../chunk-6NEGFM32.js";
7
+ import "../../../chunk-OVOBSYR4.js";
7
8
  import "../../../chunk-N3TCQ5BF.js";
8
9
  import "../../../chunk-7YWUKMZD.js";
9
10
  import "../../../chunk-6J2EJVND.js";
@@ -1,8 +1,9 @@
1
1
  import {
2
2
  getTokenDeliveryStrategy,
3
3
  resolveTokenDelivery
4
- } from "../../chunk-63EKUOJH.js";
5
- import "../../chunk-PRPMEHRE.js";
4
+ } from "../../chunk-VHRBXD7U.js";
5
+ import "../../chunk-6NEGFM32.js";
6
+ import "../../chunk-OVOBSYR4.js";
6
7
  import "../../chunk-N3TCQ5BF.js";
7
8
  import "../../chunk-7YWUKMZD.js";
8
9
  import "../../chunk-6J2EJVND.js";
@@ -14,9 +14,9 @@ import {
14
14
  } from "../../chunk-ZEHNCHIV.js";
15
15
  import "../../chunk-QAIN3WNN.js";
16
16
  import "../../chunk-O4L6RI5S.js";
17
- import "../../chunk-IKZB26SK.js";
18
17
  import "../../chunk-Y6CPPBJI.js";
19
18
  import "../../chunk-HV6A6Z5R.js";
19
+ import "../../chunk-IKZB26SK.js";
20
20
  import "../../chunk-PX535BHW.js";
21
21
  import "../../chunk-7KIM5MHV.js";
22
22
  import "../../chunk-6J2EJVND.js";
@@ -12,9 +12,9 @@ import "../../chunk-YYTA6ERS.js";
12
12
  import "../../chunk-ZEHNCHIV.js";
13
13
  import "../../chunk-QAIN3WNN.js";
14
14
  import "../../chunk-O4L6RI5S.js";
15
- import "../../chunk-IKZB26SK.js";
16
15
  import "../../chunk-Y6CPPBJI.js";
17
16
  import "../../chunk-HV6A6Z5R.js";
17
+ import "../../chunk-IKZB26SK.js";
18
18
  import "../../chunk-PX535BHW.js";
19
19
  import "../../chunk-7KIM5MHV.js";
20
20
  import "../../chunk-6J2EJVND.js";
@@ -9,8 +9,8 @@ import {
9
9
  resetRedisGlobalState
10
10
  } from "../../chunk-ZEHNCHIV.js";
11
11
  import "../../chunk-QAIN3WNN.js";
12
- import "../../chunk-IKZB26SK.js";
13
12
  import "../../chunk-HV6A6Z5R.js";
13
+ import "../../chunk-IKZB26SK.js";
14
14
  import "../../chunk-PX535BHW.js";
15
15
  import "../../chunk-7KIM5MHV.js";
16
16
  import "../../chunk-6J2EJVND.js";
@@ -11,9 +11,9 @@ import "../../chunk-YYTA6ERS.js";
11
11
  import "../../chunk-ZEHNCHIV.js";
12
12
  import "../../chunk-QAIN3WNN.js";
13
13
  import "../../chunk-O4L6RI5S.js";
14
- import "../../chunk-IKZB26SK.js";
15
14
  import "../../chunk-Y6CPPBJI.js";
16
15
  import "../../chunk-HV6A6Z5R.js";
16
+ import "../../chunk-IKZB26SK.js";
17
17
  import "../../chunk-PX535BHW.js";
18
18
  import "../../chunk-7KIM5MHV.js";
19
19
  import "../../chunk-6J2EJVND.js";
@@ -36,7 +36,6 @@ import {
36
36
  } from "../../chunk-ZEHNCHIV.js";
37
37
  import "../../chunk-QAIN3WNN.js";
38
38
  import "../../chunk-O4L6RI5S.js";
39
- import "../../chunk-IKZB26SK.js";
40
39
  import {
41
40
  getCacheConfig,
42
41
  getCacheTTL
@@ -48,6 +47,7 @@ import {
48
47
  isCacheEnabled,
49
48
  validateRedisEnvironment
50
49
  } from "../../chunk-HV6A6Z5R.js";
50
+ import "../../chunk-IKZB26SK.js";
51
51
  import "../../chunk-PX535BHW.js";
52
52
  import {
53
53
  getResolvedCacheConfig,
@@ -5,8 +5,8 @@ import "../../chunk-YYTA6ERS.js";
5
5
  import "../../chunk-ZEHNCHIV.js";
6
6
  import "../../chunk-QAIN3WNN.js";
7
7
  import "../../chunk-O4L6RI5S.js";
8
- import "../../chunk-IKZB26SK.js";
9
8
  import "../../chunk-HV6A6Z5R.js";
9
+ import "../../chunk-IKZB26SK.js";
10
10
  import "../../chunk-PX535BHW.js";
11
11
  import "../../chunk-7KIM5MHV.js";
12
12
  import "../../chunk-6J2EJVND.js";
@@ -36,7 +36,6 @@ import {
36
36
  } from "../../chunk-ZEHNCHIV.js";
37
37
  import "../../chunk-QAIN3WNN.js";
38
38
  import "../../chunk-O4L6RI5S.js";
39
- import "../../chunk-IKZB26SK.js";
40
39
  import {
41
40
  getCacheConfig,
42
41
  getCacheTTL
@@ -48,6 +47,7 @@ import {
48
47
  isCacheEnabled,
49
48
  validateRedisEnvironment
50
49
  } from "../../chunk-HV6A6Z5R.js";
50
+ import "../../chunk-IKZB26SK.js";
51
51
  import "../../chunk-PX535BHW.js";
52
52
  import {
53
53
  getResolvedCacheConfig,
@@ -3,8 +3,8 @@ import {
3
3
  } from "../../chunk-4TGPAUJV.js";
4
4
  import "../../chunk-ZEHNCHIV.js";
5
5
  import "../../chunk-QAIN3WNN.js";
6
- import "../../chunk-IKZB26SK.js";
7
6
  import "../../chunk-HV6A6Z5R.js";
7
+ import "../../chunk-IKZB26SK.js";
8
8
  import "../../chunk-PX535BHW.js";
9
9
  import "../../chunk-7KIM5MHV.js";
10
10
  import "../../chunk-6J2EJVND.js";
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  GeoIPProviderFactory
3
- } from "../../chunk-Q5RPNLET.js";
4
- import {
5
- IPGeolocationProvider
6
- } from "../../chunk-GJYHMHTU.js";
7
- import {
8
- MaxMindProvider
9
- } from "../../chunk-R463CTX4.js";
3
+ } from "../../chunk-VDRLJU6C.js";
10
4
  import {
11
5
  IPApiProvider
12
6
  } from "../../chunk-E27YZK7O.js";
13
7
  import {
14
8
  IPApiCoProvider
15
9
  } from "../../chunk-MRNRC45L.js";
10
+ import {
11
+ IPGeolocationProvider
12
+ } from "../../chunk-GJYHMHTU.js";
13
+ import {
14
+ MaxMindProvider
15
+ } from "../../chunk-R463CTX4.js";
16
16
  import {
17
17
  BaseGeoIPProvider,
18
18
  truncateString
@@ -21,8 +21,8 @@ import {
21
21
  BatchProcessor,
22
22
  createBatchProcessor
23
23
  } from "../../chunk-VZ2PQA4U.js";
24
- import "../../chunk-CRJUFA73.js";
25
24
  import "../../chunk-QAIN3WNN.js";
25
+ import "../../chunk-CRJUFA73.js";
26
26
  import "../../chunk-IKZB26SK.js";
27
27
  import "../../chunk-6J2EJVND.js";
28
28
  import "../../chunk-F3R3UYBF.js";
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  GeoIPProviderFactory
3
- } from "../../../chunk-Q5RPNLET.js";
4
- import {
5
- IPGeolocationProvider
6
- } from "../../../chunk-GJYHMHTU.js";
7
- import {
8
- MaxMindProvider
9
- } from "../../../chunk-R463CTX4.js";
3
+ } from "../../../chunk-VDRLJU6C.js";
10
4
  import {
11
5
  IPApiProvider
12
6
  } from "../../../chunk-E27YZK7O.js";
13
7
  import {
14
8
  IPApiCoProvider
15
9
  } from "../../../chunk-MRNRC45L.js";
10
+ import {
11
+ IPGeolocationProvider
12
+ } from "../../../chunk-GJYHMHTU.js";
13
+ import {
14
+ MaxMindProvider
15
+ } from "../../../chunk-R463CTX4.js";
16
16
  import {
17
17
  BaseGeoIPProvider,
18
18
  truncateString
@@ -2,10 +2,10 @@ import {
2
2
  checkEnvironmentVariables
3
3
  } from "../../chunk-7S2PCYNT.js";
4
4
  import "../../chunk-KWUOLKDO.js";
5
+ import "../../chunk-QAIN3WNN.js";
5
6
  import "../../chunk-CRJUFA73.js";
6
7
  import "../../chunk-N3TCQ5BF.js";
7
8
  import "../../chunk-7YWUKMZD.js";
8
- import "../../chunk-QAIN3WNN.js";
9
9
  import "../../chunk-IKZB26SK.js";
10
10
  import "../../chunk-PX535BHW.js";
11
11
  import "../../chunk-7KIM5MHV.js";
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  checkServiceHealth
3
- } from "../../chunk-JOYW3OZB.js";
4
- import "../../chunk-KWUOLKDO.js";
3
+ } from "../../chunk-UIWR5MXM.js";
5
4
  import "../../chunk-PBVP7CFZ.js";
5
+ import "../../chunk-KWUOLKDO.js";
6
6
  import "../../chunk-QAIN3WNN.js";
7
7
  import "../../chunk-IKZB26SK.js";
8
8
  import "../../chunk-7KIM5MHV.js";