@withwiz/toolkit 0.2.3 → 0.2.5

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 (102) hide show
  1. package/dist/auth/core/jwt/index.d.ts +1 -1
  2. package/dist/auth/core/jwt/index.js +1 -1
  3. package/dist/auth/index.js +19 -19
  4. package/dist/cache/cache-config.js +3 -3
  5. package/dist/cache/cache-env.js +2 -2
  6. package/dist/cache/cache-factory.js +9 -9
  7. package/dist/cache/cache-invalidation.js +10 -10
  8. package/dist/cache/cache-redis.js +3 -3
  9. package/dist/cache/cache-wrapper.js +10 -10
  10. package/dist/cache/cache.js +11 -11
  11. package/dist/cache/hybrid-cache-manager.js +5 -5
  12. package/dist/cache/index.js +11 -11
  13. package/dist/cache/inmemory-cache-manager.js +2 -2
  14. package/dist/cache/noop-cache-manager.js +4 -4
  15. package/dist/cache/redis-cache-manager.js +4 -4
  16. package/dist/{chunk-T3LJYAMO.js → chunk-2ATBAIRL.js} +5 -9
  17. package/dist/{chunk-XPASCCUA.js → chunk-45PS6FPL.js} +3 -3
  18. package/dist/{chunk-4KJXENRM.js → chunk-56BKKJOG.js} +1 -1
  19. package/dist/{chunk-HV3DGSSH.js → chunk-6FDDVTJY.js} +4 -4
  20. package/dist/{chunk-2KAPUVIS.js → chunk-7JWIX5BS.js} +1 -1
  21. package/dist/{chunk-TMVS4F7E.js → chunk-7T6EAU4I.js} +33 -8
  22. package/dist/{chunk-26Y7VEYG.js → chunk-BCCXV7VY.js} +1 -1
  23. package/dist/{chunk-6LTZCXNC.js → chunk-BYQ6VG44.js} +2 -2
  24. package/dist/{chunk-Q7IP4JMW.js → chunk-DM6ANZVI.js} +2 -2
  25. package/dist/chunk-ELD6UH57.js +68 -0
  26. package/dist/{chunk-KAWVMIRJ.js → chunk-GJGLG2MN.js} +1 -1
  27. package/dist/{chunk-4DPSCTX4.js → chunk-HC7574TB.js} +2 -2
  28. package/dist/{chunk-N4YGR5WH.js → chunk-HCF3C3AQ.js} +11 -10
  29. package/dist/{chunk-EZR55KV2.js → chunk-HJIKCR6I.js} +1 -1
  30. package/dist/{chunk-I47QEDTX.js → chunk-HJL63P7P.js} +1 -1
  31. package/dist/{chunk-YBSHN67U.js → chunk-HWIINS3Q.js} +4 -4
  32. package/dist/{chunk-3DZA6AGS.js → chunk-IJCVFLEY.js} +11 -4
  33. package/dist/{chunk-AIHQBQ3E.js → chunk-IVL62PFY.js} +8 -8
  34. package/dist/{chunk-KXAWBFJN.js → chunk-IYXMGIEP.js} +11 -10
  35. package/dist/{chunk-GPBOMJSZ.js → chunk-JVDJKMEF.js} +75 -17
  36. package/dist/{chunk-MLGO3HLS.js → chunk-KXXROUA5.js} +20 -5
  37. package/dist/{chunk-TXGNSECL.js → chunk-L26D4FDX.js} +1 -1
  38. package/dist/{chunk-G4NI37NN.js → chunk-L7AJJ3LC.js} +2 -2
  39. package/dist/{chunk-UXQRU3EM.js → chunk-MNORDAW2.js} +4 -4
  40. package/dist/{chunk-BKGVSC6S.js → chunk-MP66AGW5.js} +1 -1
  41. package/dist/{chunk-KWTBD4CM.js → chunk-P62T7AWY.js} +1 -1
  42. package/dist/{chunk-SLG26KHZ.js → chunk-PDQCJR4E.js} +10 -10
  43. package/dist/{chunk-WHR7HPWF.js → chunk-PJMXRAHZ.js} +2 -2
  44. package/dist/{chunk-Z4D4CMDA.js → chunk-PQ6GH2RP.js} +1 -1
  45. package/dist/{chunk-POKGHK3L.js → chunk-S54PFAEU.js} +2 -2
  46. package/dist/{chunk-WSQMXMTL.js → chunk-SKCYXBDR.js} +6 -2
  47. package/dist/{chunk-Y3OTJH2S.js → chunk-SNVGJPPX.js} +36 -13
  48. package/dist/{chunk-TZAP5T4N.js → chunk-T7J2OS63.js} +1 -1
  49. package/dist/{chunk-H5I5GWAA.js → chunk-UZDNS7TE.js} +3 -3
  50. package/dist/{chunk-GL2NANFH.js → chunk-VK23K5W7.js} +3 -3
  51. package/dist/{chunk-65LHDFU3.js → chunk-VQCW6FKJ.js} +2 -2
  52. package/dist/{chunk-L76O3X3D.js → chunk-WVPCER6E.js} +2 -2
  53. package/dist/{chunk-EEUBKZV4.js → chunk-Y2JYA2AR.js} +2 -2
  54. package/dist/{chunk-4ODT3Q4A.js → chunk-YGZBEEW2.js} +1 -1
  55. package/dist/constants/error-codes.d.ts +19 -12
  56. package/dist/constants/error-codes.js +3 -1
  57. package/dist/constants/index.js +3 -1
  58. package/dist/error/app-error.d.ts +1 -0
  59. package/dist/error/app-error.js +2 -2
  60. package/dist/error/error-display.d.ts +1 -1
  61. package/dist/error/error-display.js +7 -3
  62. package/dist/error/error-handler.d.ts +51 -12
  63. package/dist/error/error-handler.js +7 -4
  64. package/dist/error/friendly-messages-v2.js +5 -5
  65. package/dist/error/friendly-messages.d.ts +3 -0
  66. package/dist/error/friendly-messages.js +113 -5
  67. package/dist/error/index.js +23 -21
  68. package/dist/error/messages/en.js +1 -1
  69. package/dist/error/messages/index.js +3 -3
  70. package/dist/error/messages/ko.js +1 -1
  71. package/dist/geolocation/batch-processor.js +2 -2
  72. package/dist/geolocation/index.js +2 -2
  73. package/dist/logger/logger.js +1 -1
  74. package/dist/middleware/auth.js +5 -5
  75. package/dist/middleware/cors.d.ts +39 -6
  76. package/dist/middleware/cors.js +4 -2
  77. package/dist/middleware/error-handler.js +9 -7
  78. package/dist/middleware/index.js +19 -18
  79. package/dist/middleware/middleware-chain.js +2 -2
  80. package/dist/middleware/rate-limit.js +4 -4
  81. package/dist/middleware/response-logger.js +2 -2
  82. package/dist/middleware/security.js +2 -1
  83. package/dist/middleware/wrappers.js +16 -15
  84. package/dist/storage/r2-storage.js +7 -3
  85. package/dist/system/cpu.js +3 -3
  86. package/dist/system/disk.js +3 -3
  87. package/dist/system/environment.js +3 -3
  88. package/dist/system/health-check.js +3 -3
  89. package/dist/system/index.js +10 -10
  90. package/dist/system/memory.js +3 -3
  91. package/dist/system/network.js +3 -3
  92. package/dist/system/utils.js +2 -2
  93. package/dist/utils/api-helpers.js +2 -2
  94. package/dist/utils/csv-export.js +2 -2
  95. package/dist/utils/error-processor.js +4 -4
  96. package/dist/utils/index.js +19 -19
  97. package/dist/utils/input-validation.d.ts +2 -0
  98. package/dist/utils/input-validation.js +4 -5
  99. package/dist/utils/optimistic-lock.js +2 -2
  100. package/package.json +2 -1
  101. package/dist/chunk-2DVWSDST.js +0 -119
  102. package/dist/chunk-FOKAATUQ.js +0 -62
@@ -65,7 +65,7 @@ export declare class JWTManager {
65
65
  */
66
66
  export declare class JWTService {
67
67
  private manager;
68
- constructor(config: JWTConfig);
68
+ constructor(config: JWTConfig, logger?: Logger);
69
69
  /**
70
70
  * Access 토큰 생성 (sign으로 alias)
71
71
  */
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  JWTManager,
3
3
  JWTService
4
- } from "../../../chunk-T3LJYAMO.js";
4
+ } from "../../../chunk-2ATBAIRL.js";
5
5
  import "../../../chunk-AIH3F7JV.js";
6
6
  import "../../../chunk-ORMEWXMH.js";
7
7
  export {
@@ -1,24 +1,6 @@
1
1
  import {
2
2
  OAuthManager
3
3
  } from "../chunk-V5K5FYU7.js";
4
- import {
5
- DEFAULT_PASSWORD_CONFIG,
6
- createPasswordHasher,
7
- createPasswordSchema,
8
- createPasswordValidator,
9
- getPasswordStrength,
10
- passwordValidator,
11
- validatePassword
12
- } from "../chunk-G26T2PRQ.js";
13
- import {
14
- PasswordHasher,
15
- PasswordValidator,
16
- defaultPasswordSchema,
17
- strongPasswordSchema
18
- } from "../chunk-IHXRF3BH.js";
19
- import {
20
- TokenGenerator
21
- } from "../chunk-GDWEDUHO.js";
22
4
  import {
23
5
  JWTClientManager,
24
6
  clearStoredTokens,
@@ -35,6 +17,24 @@ import {
35
17
  isTokenExpiringSoon,
36
18
  storeTokens
37
19
  } from "../chunk-XRRPEBKB.js";
20
+ import {
21
+ TokenGenerator
22
+ } from "../chunk-GDWEDUHO.js";
23
+ import {
24
+ DEFAULT_PASSWORD_CONFIG,
25
+ createPasswordHasher,
26
+ createPasswordSchema,
27
+ createPasswordValidator,
28
+ getPasswordStrength,
29
+ passwordValidator,
30
+ validatePassword
31
+ } from "../chunk-G26T2PRQ.js";
32
+ import {
33
+ PasswordHasher,
34
+ PasswordValidator,
35
+ defaultPasswordSchema,
36
+ strongPasswordSchema
37
+ } from "../chunk-IHXRF3BH.js";
38
38
  import {
39
39
  OAuthProvider,
40
40
  PasswordStrength,
@@ -44,7 +44,7 @@ import {
44
44
  import {
45
45
  JWTManager,
46
46
  JWTService
47
- } from "../chunk-T3LJYAMO.js";
47
+ } from "../chunk-2ATBAIRL.js";
48
48
  import {
49
49
  AUTH_ERROR_CODES,
50
50
  AuthError,
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  getCacheConfig,
3
3
  getCacheTTL
4
- } from "../chunk-TXGNSECL.js";
5
- import "../chunk-I47QEDTX.js";
6
- import "../chunk-EZR55KV2.js";
4
+ } from "../chunk-L26D4FDX.js";
5
+ import "../chunk-HJL63P7P.js";
6
+ import "../chunk-HJIKCR6I.js";
7
7
  import "../chunk-IQQKKUAV.js";
8
8
  import "../chunk-ORMEWXMH.js";
9
9
  export {
@@ -8,8 +8,8 @@ import {
8
8
  initializeCache,
9
9
  isCacheEnabled,
10
10
  validateRedisEnvironment
11
- } from "../chunk-I47QEDTX.js";
12
- import "../chunk-EZR55KV2.js";
11
+ } from "../chunk-HJL63P7P.js";
12
+ import "../chunk-HJIKCR6I.js";
13
13
  import "../chunk-IQQKKUAV.js";
14
14
  import "../chunk-ORMEWXMH.js";
15
15
  export {
@@ -3,19 +3,19 @@ import {
3
3
  geoCache,
4
4
  getCacheManager,
5
5
  getEffectiveCacheBackend
6
- } from "../chunk-AIHQBQ3E.js";
7
- import "../chunk-HV3DGSSH.js";
8
- import "../chunk-Z4D4CMDA.js";
6
+ } from "../chunk-IVL62PFY.js";
7
+ import "../chunk-6FDDVTJY.js";
8
+ import "../chunk-PQ6GH2RP.js";
9
9
  import "../chunk-SS56XFLI.js";
10
- import "../chunk-Q7IP4JMW.js";
11
- import "../chunk-GL2NANFH.js";
12
- import "../chunk-TXGNSECL.js";
10
+ import "../chunk-DM6ANZVI.js";
11
+ import "../chunk-VK23K5W7.js";
12
+ import "../chunk-L26D4FDX.js";
13
13
  import {
14
14
  getRedisGlobalStatus,
15
15
  isRedisGloballyDisabled
16
- } from "../chunk-6LTZCXNC.js";
17
- import "../chunk-I47QEDTX.js";
18
- import "../chunk-EZR55KV2.js";
16
+ } from "../chunk-BYQ6VG44.js";
17
+ import "../chunk-HJL63P7P.js";
18
+ import "../chunk-HJIKCR6I.js";
19
19
  import "../chunk-IQQKKUAV.js";
20
20
  import "../chunk-ORMEWXMH.js";
21
21
  export {
@@ -3,17 +3,17 @@ import {
3
3
  deletePatternFromCache,
4
4
  deletePatternFromMultipleCaches,
5
5
  invalidateCache
6
- } from "../chunk-4KJXENRM.js";
7
- import "../chunk-AIHQBQ3E.js";
8
- import "../chunk-HV3DGSSH.js";
9
- import "../chunk-Z4D4CMDA.js";
6
+ } from "../chunk-56BKKJOG.js";
7
+ import "../chunk-IVL62PFY.js";
8
+ import "../chunk-6FDDVTJY.js";
9
+ import "../chunk-PQ6GH2RP.js";
10
10
  import "../chunk-SS56XFLI.js";
11
- import "../chunk-Q7IP4JMW.js";
12
- import "../chunk-GL2NANFH.js";
13
- import "../chunk-TXGNSECL.js";
14
- import "../chunk-6LTZCXNC.js";
15
- import "../chunk-I47QEDTX.js";
16
- import "../chunk-EZR55KV2.js";
11
+ import "../chunk-DM6ANZVI.js";
12
+ import "../chunk-VK23K5W7.js";
13
+ import "../chunk-L26D4FDX.js";
14
+ import "../chunk-BYQ6VG44.js";
15
+ import "../chunk-HJL63P7P.js";
16
+ import "../chunk-HJIKCR6I.js";
17
17
  import "../chunk-IQQKKUAV.js";
18
18
  import "../chunk-ORMEWXMH.js";
19
19
  export {
@@ -7,9 +7,9 @@ import {
7
7
  logRedisInitialization,
8
8
  notifyRedisError,
9
9
  resetRedisGlobalState
10
- } from "../chunk-6LTZCXNC.js";
11
- import "../chunk-I47QEDTX.js";
12
- import "../chunk-EZR55KV2.js";
10
+ } from "../chunk-BYQ6VG44.js";
11
+ import "../chunk-HJL63P7P.js";
12
+ import "../chunk-HJIKCR6I.js";
13
13
  import "../chunk-IQQKKUAV.js";
14
14
  import "../chunk-ORMEWXMH.js";
15
15
  export {
@@ -2,17 +2,17 @@ import {
2
2
  cacheMetrics,
3
3
  getCacheBackendLabel,
4
4
  withCache
5
- } from "../chunk-YBSHN67U.js";
6
- import "../chunk-AIHQBQ3E.js";
7
- import "../chunk-HV3DGSSH.js";
8
- import "../chunk-Z4D4CMDA.js";
5
+ } from "../chunk-HWIINS3Q.js";
6
+ import "../chunk-IVL62PFY.js";
7
+ import "../chunk-6FDDVTJY.js";
8
+ import "../chunk-PQ6GH2RP.js";
9
9
  import "../chunk-SS56XFLI.js";
10
- import "../chunk-Q7IP4JMW.js";
11
- import "../chunk-GL2NANFH.js";
12
- import "../chunk-TXGNSECL.js";
13
- import "../chunk-6LTZCXNC.js";
14
- import "../chunk-I47QEDTX.js";
15
- import "../chunk-EZR55KV2.js";
10
+ import "../chunk-DM6ANZVI.js";
11
+ import "../chunk-VK23K5W7.js";
12
+ import "../chunk-L26D4FDX.js";
13
+ import "../chunk-BYQ6VG44.js";
14
+ import "../chunk-HJL63P7P.js";
15
+ import "../chunk-HJIKCR6I.js";
16
16
  import "../chunk-IQQKKUAV.js";
17
17
  import "../chunk-ORMEWXMH.js";
18
18
  export {
@@ -2,33 +2,33 @@ import "../chunk-EBUEBEJX.js";
2
2
  import {
3
3
  cacheMetrics,
4
4
  withCache
5
- } from "../chunk-YBSHN67U.js";
5
+ } from "../chunk-HWIINS3Q.js";
6
6
  import {
7
7
  invalidateCache
8
- } from "../chunk-4KJXENRM.js";
8
+ } from "../chunk-56BKKJOG.js";
9
9
  import {
10
10
  cache,
11
11
  geoCache,
12
12
  getCacheManager,
13
13
  getEffectiveCacheBackend
14
- } from "../chunk-AIHQBQ3E.js";
14
+ } from "../chunk-IVL62PFY.js";
15
15
  import {
16
16
  HybridCacheManager
17
- } from "../chunk-HV3DGSSH.js";
17
+ } from "../chunk-6FDDVTJY.js";
18
18
  import {
19
19
  InMemoryCacheManager
20
- } from "../chunk-Z4D4CMDA.js";
20
+ } from "../chunk-PQ6GH2RP.js";
21
21
  import "../chunk-SS56XFLI.js";
22
22
  import {
23
23
  NoopCacheManager
24
- } from "../chunk-Q7IP4JMW.js";
24
+ } from "../chunk-DM6ANZVI.js";
25
25
  import {
26
26
  RedisCacheManager
27
- } from "../chunk-GL2NANFH.js";
27
+ } from "../chunk-VK23K5W7.js";
28
28
  import {
29
29
  getCacheConfig,
30
30
  getCacheTTL
31
- } from "../chunk-TXGNSECL.js";
31
+ } from "../chunk-L26D4FDX.js";
32
32
  import {
33
33
  cacheKeys
34
34
  } from "../chunk-JBCDEAMW.js";
@@ -41,7 +41,7 @@ import {
41
41
  logRedisInitialization,
42
42
  notifyRedisError,
43
43
  resetRedisGlobalState
44
- } from "../chunk-6LTZCXNC.js";
44
+ } from "../chunk-BYQ6VG44.js";
45
45
  import {
46
46
  getConfig,
47
47
  getDefaultConfig,
@@ -50,8 +50,8 @@ import {
50
50
  initializeCache,
51
51
  isCacheEnabled,
52
52
  validateRedisEnvironment
53
- } from "../chunk-I47QEDTX.js";
54
- import "../chunk-EZR55KV2.js";
53
+ } from "../chunk-HJL63P7P.js";
54
+ import "../chunk-HJIKCR6I.js";
55
55
  import {
56
56
  CACHE_DURATION_DEFAULTS,
57
57
  CACHE_ENV_VARS,
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  HybridCacheManager
3
- } from "../chunk-HV3DGSSH.js";
4
- import "../chunk-Z4D4CMDA.js";
3
+ } from "../chunk-6FDDVTJY.js";
4
+ import "../chunk-PQ6GH2RP.js";
5
5
  import "../chunk-SS56XFLI.js";
6
- import "../chunk-6LTZCXNC.js";
7
- import "../chunk-I47QEDTX.js";
8
- import "../chunk-EZR55KV2.js";
6
+ import "../chunk-BYQ6VG44.js";
7
+ import "../chunk-HJL63P7P.js";
8
+ import "../chunk-HJIKCR6I.js";
9
9
  import "../chunk-IQQKKUAV.js";
10
10
  import "../chunk-ORMEWXMH.js";
11
11
  export {
@@ -2,33 +2,33 @@ import "../chunk-EBUEBEJX.js";
2
2
  import {
3
3
  cacheMetrics,
4
4
  withCache
5
- } from "../chunk-YBSHN67U.js";
5
+ } from "../chunk-HWIINS3Q.js";
6
6
  import {
7
7
  invalidateCache
8
- } from "../chunk-4KJXENRM.js";
8
+ } from "../chunk-56BKKJOG.js";
9
9
  import {
10
10
  cache,
11
11
  geoCache,
12
12
  getCacheManager,
13
13
  getEffectiveCacheBackend
14
- } from "../chunk-AIHQBQ3E.js";
14
+ } from "../chunk-IVL62PFY.js";
15
15
  import {
16
16
  HybridCacheManager
17
- } from "../chunk-HV3DGSSH.js";
17
+ } from "../chunk-6FDDVTJY.js";
18
18
  import {
19
19
  InMemoryCacheManager
20
- } from "../chunk-Z4D4CMDA.js";
20
+ } from "../chunk-PQ6GH2RP.js";
21
21
  import "../chunk-SS56XFLI.js";
22
22
  import {
23
23
  NoopCacheManager
24
- } from "../chunk-Q7IP4JMW.js";
24
+ } from "../chunk-DM6ANZVI.js";
25
25
  import {
26
26
  RedisCacheManager
27
- } from "../chunk-GL2NANFH.js";
27
+ } from "../chunk-VK23K5W7.js";
28
28
  import {
29
29
  getCacheConfig,
30
30
  getCacheTTL
31
- } from "../chunk-TXGNSECL.js";
31
+ } from "../chunk-L26D4FDX.js";
32
32
  import {
33
33
  cacheKeys
34
34
  } from "../chunk-JBCDEAMW.js";
@@ -41,7 +41,7 @@ import {
41
41
  logRedisInitialization,
42
42
  notifyRedisError,
43
43
  resetRedisGlobalState
44
- } from "../chunk-6LTZCXNC.js";
44
+ } from "../chunk-BYQ6VG44.js";
45
45
  import {
46
46
  getConfig,
47
47
  getDefaultConfig,
@@ -50,8 +50,8 @@ import {
50
50
  initializeCache,
51
51
  isCacheEnabled,
52
52
  validateRedisEnvironment
53
- } from "../chunk-I47QEDTX.js";
54
- import "../chunk-EZR55KV2.js";
53
+ } from "../chunk-HJL63P7P.js";
54
+ import "../chunk-HJIKCR6I.js";
55
55
  import {
56
56
  CACHE_DURATION_DEFAULTS,
57
57
  CACHE_ENV_VARS,
@@ -1,8 +1,8 @@
1
1
  import {
2
2
  InMemoryCacheManager
3
- } from "../chunk-Z4D4CMDA.js";
3
+ } from "../chunk-PQ6GH2RP.js";
4
4
  import "../chunk-SS56XFLI.js";
5
- import "../chunk-EZR55KV2.js";
5
+ import "../chunk-HJIKCR6I.js";
6
6
  import "../chunk-ORMEWXMH.js";
7
7
  export {
8
8
  InMemoryCacheManager
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  NoopCacheManager
3
- } from "../chunk-Q7IP4JMW.js";
4
- import "../chunk-TXGNSECL.js";
5
- import "../chunk-I47QEDTX.js";
6
- import "../chunk-EZR55KV2.js";
3
+ } from "../chunk-DM6ANZVI.js";
4
+ import "../chunk-L26D4FDX.js";
5
+ import "../chunk-HJL63P7P.js";
6
+ import "../chunk-HJIKCR6I.js";
7
7
  import "../chunk-IQQKKUAV.js";
8
8
  import "../chunk-ORMEWXMH.js";
9
9
  export {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  RedisCacheManager
3
- } from "../chunk-GL2NANFH.js";
4
- import "../chunk-6LTZCXNC.js";
5
- import "../chunk-I47QEDTX.js";
6
- import "../chunk-EZR55KV2.js";
3
+ } from "../chunk-VK23K5W7.js";
4
+ import "../chunk-BYQ6VG44.js";
5
+ import "../chunk-HJL63P7P.js";
6
+ import "../chunk-HJIKCR6I.js";
7
7
  import "../chunk-IQQKKUAV.js";
8
8
  import "../chunk-ORMEWXMH.js";
9
9
  export {
@@ -10,7 +10,7 @@ var JWTManager = class {
10
10
  this.logger = logger;
11
11
  this.secretKey = new TextEncoder().encode(config.secret);
12
12
  if (config.secret.length < 32) {
13
- throw new Error("JWT secret must be at least 32 characters long");
13
+ throw new JWTError("JWT secret must be at least 32 characters long", "TOKEN_CREATION_FAILED");
14
14
  }
15
15
  }
16
16
  /**
@@ -204,22 +204,18 @@ var JWTManager = class {
204
204
  }
205
205
  };
206
206
  var JWTService = class {
207
- constructor(config) {
208
- const logger = {
207
+ constructor(config, logger) {
208
+ const resolvedLogger = logger != null ? logger : {
209
209
  debug: () => {
210
210
  },
211
- // 테스트에서는 로그 출력 안 함
212
211
  info: () => {
213
212
  },
214
213
  warn: () => {
215
214
  },
216
- error: (message, meta) => {
217
- if (process.env.NODE_ENV === "test") {
218
- console.error("[JWTService Error]", message, meta);
219
- }
215
+ error: () => {
220
216
  }
221
217
  };
222
- this.manager = new JWTManager(config, logger);
218
+ this.manager = new JWTManager(config, resolvedLogger);
223
219
  }
224
220
  /**
225
221
  * Access 토큰 생성 (sign으로 alias)
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  AppError
3
- } from "./chunk-MLGO3HLS.js";
3
+ } from "./chunk-KXXROUA5.js";
4
4
  import {
5
5
  ERROR_CODES,
6
6
  formatErrorMessage
7
- } from "./chunk-Y3OTJH2S.js";
7
+ } from "./chunk-SNVGJPPX.js";
8
8
  import {
9
9
  logApiRequest,
10
10
  logApiResponse,
11
11
  logger
12
- } from "./chunk-EZR55KV2.js";
12
+ } from "./chunk-HJIKCR6I.js";
13
13
 
14
14
  // src/utils/error-processor.ts
15
15
  import { NextResponse } from "next/server";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  cache,
3
3
  geoCache
4
- } from "./chunk-AIHQBQ3E.js";
4
+ } from "./chunk-IVL62PFY.js";
5
5
 
6
6
  // src/cache/cache-invalidation.ts
7
7
  var invalidateCache = {
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  InMemoryCacheManager
3
- } from "./chunk-Z4D4CMDA.js";
3
+ } from "./chunk-PQ6GH2RP.js";
4
4
  import {
5
5
  isRedisGloballyDisabled,
6
6
  notifyRedisError
7
- } from "./chunk-6LTZCXNC.js";
7
+ } from "./chunk-BYQ6VG44.js";
8
8
  import {
9
9
  getCacheFallbackConfig
10
- } from "./chunk-I47QEDTX.js";
10
+ } from "./chunk-HJL63P7P.js";
11
11
  import {
12
12
  logger
13
- } from "./chunk-EZR55KV2.js";
13
+ } from "./chunk-HJIKCR6I.js";
14
14
  import {
15
15
  __spreadValues
16
16
  } from "./chunk-ORMEWXMH.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ERROR_CODES,
3
3
  formatErrorMessage
4
- } from "./chunk-Y3OTJH2S.js";
4
+ } from "./chunk-SNVGJPPX.js";
5
5
 
6
6
  // src/utils/api-helpers.ts
7
7
  import { NextResponse } from "next/server";
@@ -1,15 +1,22 @@
1
+ import {
2
+ AUTH_ERROR_CODE_MAP
3
+ } from "./chunk-JVDJKMEF.js";
1
4
  import {
2
5
  getErrorMessage
3
- } from "./chunk-EEUBKZV4.js";
6
+ } from "./chunk-Y2JYA2AR.js";
4
7
  import {
5
8
  AppError
6
- } from "./chunk-MLGO3HLS.js";
9
+ } from "./chunk-KXXROUA5.js";
10
+ import {
11
+ ERROR_CODES,
12
+ classifyError
13
+ } from "./chunk-SNVGJPPX.js";
7
14
  import {
8
- ERROR_CODES
9
- } from "./chunk-Y3OTJH2S.js";
15
+ AuthError
16
+ } from "./chunk-AIH3F7JV.js";
10
17
  import {
11
18
  logger
12
- } from "./chunk-EZR55KV2.js";
19
+ } from "./chunk-HJIKCR6I.js";
13
20
  import {
14
21
  __spreadValues
15
22
  } from "./chunk-ORMEWXMH.js";
@@ -46,15 +53,33 @@ var errorHandlerMiddleware = async (context, next) => {
46
53
  { issues }
47
54
  );
48
55
  }
56
+ if (error instanceof AuthError) {
57
+ const mappedCode = AUTH_ERROR_CODE_MAP[error.code];
58
+ if (mappedCode) {
59
+ return createErrorResponse(
60
+ mappedCode,
61
+ error.message,
62
+ context.locale,
63
+ context.requestId
64
+ );
65
+ }
66
+ const fallbackCode = error.statusCode === 401 ? ERROR_CODES.UNAUTHORIZED.code : ERROR_CODES.BAD_REQUEST.code;
67
+ return createErrorResponse(
68
+ fallbackCode,
69
+ error.message,
70
+ context.locale,
71
+ context.requestId
72
+ );
73
+ }
74
+ const classified = error instanceof Error ? classifyError(error) : ERROR_CODES.INTERNAL_SERVER_ERROR;
49
75
  logger.error("[ErrorHandler] Unexpected error:", error);
50
76
  const isProduction = process.env.NODE_ENV === "production";
51
- const safeMessage = isProduction ? "Internal server error" : error instanceof Error ? error.message : "Unknown error";
77
+ const safeMessage = isProduction ? classified.message : error instanceof Error ? error.message : "Unknown error";
52
78
  return createErrorResponse(
53
- ERROR_CODES.INTERNAL_SERVER_ERROR.code,
79
+ classified.code,
54
80
  safeMessage,
55
81
  context.locale,
56
82
  context.requestId,
57
- // 개발 환경에서만 스택 트레이스 포함
58
83
  !isProduction && error instanceof Error ? { stack: (_b = error.stack) == null ? void 0 : _b.split("\n").slice(0, 5) } : void 0
59
84
  );
60
85
  }
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getPlatform
3
- } from "./chunk-KWTBD4CM.js";
3
+ } from "./chunk-P62T7AWY.js";
4
4
 
5
5
  // src/system/environment.ts
6
6
  import os from "os";
@@ -4,10 +4,10 @@ import {
4
4
  getEnv,
5
5
  isCacheEnabled,
6
6
  validateRedisEnvironment
7
- } from "./chunk-I47QEDTX.js";
7
+ } from "./chunk-HJL63P7P.js";
8
8
  import {
9
9
  logger
10
- } from "./chunk-EZR55KV2.js";
10
+ } from "./chunk-HJIKCR6I.js";
11
11
 
12
12
  // src/cache/cache-redis.ts
13
13
  import { Redis } from "@upstash/redis";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  getCacheConfig
3
- } from "./chunk-TXGNSECL.js";
3
+ } from "./chunk-L26D4FDX.js";
4
4
  import {
5
5
  getENV
6
- } from "./chunk-I47QEDTX.js";
6
+ } from "./chunk-HJL63P7P.js";
7
7
 
8
8
  // src/cache/noop-cache-manager.ts
9
9
  var NoopCacheManager = class {
@@ -0,0 +1,68 @@
1
+ import {
2
+ logger
3
+ } from "./chunk-HJIKCR6I.js";
4
+
5
+ // src/middleware/cors.ts
6
+ import { NextResponse } from "next/server";
7
+ var DEFAULT_METHODS = "GET, POST, PUT, DELETE, PATCH, OPTIONS";
8
+ var DEFAULT_HEADERS = "Content-Type, Authorization, X-Requested-With, X-API-Key";
9
+ var DEFAULT_MAX_AGE = "86400";
10
+ function createCorsMiddleware(config) {
11
+ const {
12
+ allowedOrigins,
13
+ allowCredentials = true,
14
+ allowedMethods = DEFAULT_METHODS,
15
+ allowedHeaders = DEFAULT_HEADERS,
16
+ maxAge = DEFAULT_MAX_AGE
17
+ } = config;
18
+ return async (context, next) => {
19
+ const { request } = context;
20
+ const origin = request.headers.get("origin");
21
+ if (request.method === "OPTIONS") {
22
+ const response2 = new NextResponse(null, { status: 204 });
23
+ if (origin && allowedOrigins.includes(origin)) {
24
+ response2.headers.set("Access-Control-Allow-Origin", origin);
25
+ } else if (allowedOrigins.includes("*")) {
26
+ response2.headers.set("Access-Control-Allow-Origin", "*");
27
+ }
28
+ response2.headers.set("Access-Control-Allow-Methods", allowedMethods);
29
+ response2.headers.set("Access-Control-Allow-Headers", allowedHeaders);
30
+ response2.headers.set("Access-Control-Max-Age", String(maxAge));
31
+ if (allowCredentials) {
32
+ response2.headers.set("Access-Control-Allow-Credentials", "true");
33
+ }
34
+ return response2;
35
+ }
36
+ const response = await next();
37
+ if (origin && allowedOrigins.includes(origin)) {
38
+ response.headers.set("Access-Control-Allow-Origin", origin);
39
+ if (allowCredentials) {
40
+ response.headers.set("Access-Control-Allow-Credentials", "true");
41
+ }
42
+ } else if (allowedOrigins.includes("*")) {
43
+ response.headers.set("Access-Control-Allow-Origin", "*");
44
+ if (allowCredentials) {
45
+ response.headers.set("Access-Control-Allow-Credentials", "true");
46
+ }
47
+ }
48
+ response.headers.set("Access-Control-Allow-Methods", allowedMethods);
49
+ response.headers.set("Access-Control-Allow-Headers", allowedHeaders);
50
+ return response;
51
+ };
52
+ }
53
+ var corsMiddleware = createCorsMiddleware({
54
+ allowedOrigins: process.env.ALLOWED_ORIGINS ? process.env.ALLOWED_ORIGINS.split(",").map((s) => s.trim()) : []
55
+ });
56
+ function validateCorsConfiguration(config) {
57
+ var _a;
58
+ const allowedOrigins = (_a = config == null ? void 0 : config.allowedOrigins) != null ? _a : process.env.ALLOWED_ORIGINS ? process.env.ALLOWED_ORIGINS.split(",").map((s) => s.trim()) : [];
59
+ logger.info(
60
+ `[CORS Middleware] Initialized - Allowed Origins: [${allowedOrigins.join(", ")}]`
61
+ );
62
+ }
63
+
64
+ export {
65
+ createCorsMiddleware,
66
+ corsMiddleware,
67
+ validateCorsConfiguration
68
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  logger
3
- } from "./chunk-EZR55KV2.js";
3
+ } from "./chunk-HJIKCR6I.js";
4
4
 
5
5
  // src/middleware/response-logger.ts
6
6
  var responseLoggerMiddleware = async (context, next) => {