@no-k/hermes 0.1.0 → 0.3.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 (38) hide show
  1. package/README.md +210 -13
  2. package/catalog.json +2640 -98
  3. package/dist/bin/hermes.js +87 -0
  4. package/dist/lib/catalog-query.js +63 -0
  5. package/dist/lib/catalog-selection.js +199 -0
  6. package/dist/lib/catalog.js +144 -0
  7. package/dist/lib/command.js +50 -0
  8. package/dist/lib/config-syntax.js +210 -0
  9. package/dist/lib/conflict-selection.js +89 -0
  10. package/dist/lib/contracts.js +4 -0
  11. package/dist/lib/files.js +94 -0
  12. package/dist/lib/install-prompts.js +106 -0
  13. package/dist/lib/install-view.js +61 -0
  14. package/dist/lib/install-wizard.js +105 -0
  15. package/dist/lib/install.js +184 -0
  16. package/dist/lib/installation-status.js +80 -0
  17. package/dist/lib/json.js +19 -0
  18. package/dist/lib/picker-view.js +81 -0
  19. package/dist/lib/picker.js +135 -0
  20. package/dist/lib/project-config.js +171 -0
  21. package/dist/lib/report.js +89 -0
  22. package/dist/lib/terminal-input.js +61 -0
  23. package/dist/lib/terminal-style.js +15 -0
  24. package/dist/lib/terminal-text.js +75 -0
  25. package/dist/lib/terminal.js +133 -0
  26. package/dist/lib/versions.js +251 -0
  27. package/docs/interactive-install.md +405 -0
  28. package/docs/module-versioning.md +105 -0
  29. package/package.json +25 -4
  30. package/templates/lint/fsd/fsd.ts +180 -0
  31. package/templates/lint/fsd/import-listener.ts +41 -0
  32. package/templates/lint/fsd/index.ts +32 -0
  33. package/templates/lint/fsd/options.ts +74 -0
  34. package/templates/lint/fsd/rules/fsd-layer-imports.ts +22 -0
  35. package/templates/lint/fsd/rules/fsd-public-api.ts +20 -0
  36. package/templates/lint/fsd/rules/fsd-slice-segments.ts +33 -0
  37. package/bin/hermes.mjs +0 -159
  38. package/lib/catalog.mjs +0 -51
package/catalog.json CHANGED
@@ -1,10 +1,27 @@
1
1
  {
2
- "schemaVersion": 1,
3
- "version": "0.1.0",
2
+ "schemaVersion": 3,
3
+ "version": "0.3.0",
4
4
  "items": [
5
5
  {
6
6
  "name": "algorithm-geometry-ccw",
7
- "description": "세 점 `a -> b -> c`가 어떤 방향으로 꺾이는지 판정한다. 선분 교차, 볼록 껍질,",
7
+ "packageName": "@hermes/algorithm-geometry-ccw",
8
+ "version": "1.0.0",
9
+ "modules": [
10
+ {
11
+ "name": "algorithm-geometry-ccw",
12
+ "packageName": "@hermes/algorithm-geometry-ccw",
13
+ "version": "1.0.0",
14
+ "scope": "core",
15
+ "files": {
16
+ "algorithm/geometry/ccw/ccw.ts": "ba3acc225a9ff79b22cec728500cbdc07fb7a67b4a7f6a5e735db1557c5e6461",
17
+ "algorithm/geometry/ccw/index.ts": "50c3b0e0c5904455ec5ab46e7de542835b389acaf7dbdfb2a345076444fef1b9"
18
+ },
19
+ "requires": []
20
+ }
21
+ ],
22
+ "scope": "core",
23
+ "category": "core/algorithm",
24
+ "description": "세 점 `a -> b -> c`가 어떤 방향으로 꺾이는지 판정한다. 선분 교차, 볼록 껍질, 다각형 방향 판정의 기본 연산이다.",
8
25
  "dependencies": [],
9
26
  "files": [
10
27
  "algorithm/geometry/ccw/ccw.ts",
@@ -13,7 +30,43 @@
13
30
  },
14
31
  {
15
32
  "name": "algorithm-geometry-convex-hull",
16
- "description": "점 집합을 모두 감싸는 가장 작은 볼록 다각형의 꼭짓점을 구한다. 울타리 치기,",
33
+ "packageName": "@hermes/algorithm-geometry-convex-hull",
34
+ "version": "1.0.0",
35
+ "modules": [
36
+ {
37
+ "name": "algorithm-geometry-ccw",
38
+ "packageName": "@hermes/algorithm-geometry-ccw",
39
+ "version": "1.0.0",
40
+ "scope": "core",
41
+ "files": {
42
+ "algorithm/geometry/ccw/ccw.ts": "ba3acc225a9ff79b22cec728500cbdc07fb7a67b4a7f6a5e735db1557c5e6461",
43
+ "algorithm/geometry/ccw/index.ts": "50c3b0e0c5904455ec5ab46e7de542835b389acaf7dbdfb2a345076444fef1b9"
44
+ },
45
+ "requires": []
46
+ },
47
+ {
48
+ "name": "algorithm-geometry-convex-hull",
49
+ "packageName": "@hermes/algorithm-geometry-convex-hull",
50
+ "version": "1.0.0",
51
+ "scope": "core",
52
+ "files": {
53
+ "algorithm/geometry/convex-hull/convex-hull.ts": "4f74d51257ae88a9b8406f032b847c51cb5239e5337aaa97818436a5fca65a0b",
54
+ "algorithm/geometry/convex-hull/index.ts": "66e6930ed8d9d243030e45c5e70fd1a15b9ae0e45fdce6bee4687b740afaf9e5"
55
+ },
56
+ "requires": [
57
+ {
58
+ "packageName": "@hermes/algorithm-geometry-ccw",
59
+ "range": "^1.0.0",
60
+ "kind": "dependency",
61
+ "internal": true,
62
+ "optional": false
63
+ }
64
+ ]
65
+ }
66
+ ],
67
+ "scope": "core",
68
+ "category": "core/algorithm",
69
+ "description": "점 집합을 모두 감싸는 가장 작은 볼록 다각형의 꼭짓점을 구한다. 울타리 치기, 최외곽 점 찾기, 평면 점 집합의 외곽선 계산 문제에서 사용한다.",
17
70
  "dependencies": [],
18
71
  "files": [
19
72
  "algorithm/geometry/ccw/ccw.ts",
@@ -24,7 +77,43 @@
24
77
  },
25
78
  {
26
79
  "name": "algorithm-geometry-polygon-area",
27
- "description": "다각형 꼭짓점이 순서대로 주어졌을 때 넓이를 계산한다. 꼭짓점 방향은 시계/반시계",
80
+ "packageName": "@hermes/algorithm-geometry-polygon-area",
81
+ "version": "1.0.0",
82
+ "modules": [
83
+ {
84
+ "name": "algorithm-geometry-ccw",
85
+ "packageName": "@hermes/algorithm-geometry-ccw",
86
+ "version": "1.0.0",
87
+ "scope": "core",
88
+ "files": {
89
+ "algorithm/geometry/ccw/ccw.ts": "ba3acc225a9ff79b22cec728500cbdc07fb7a67b4a7f6a5e735db1557c5e6461",
90
+ "algorithm/geometry/ccw/index.ts": "50c3b0e0c5904455ec5ab46e7de542835b389acaf7dbdfb2a345076444fef1b9"
91
+ },
92
+ "requires": []
93
+ },
94
+ {
95
+ "name": "algorithm-geometry-polygon-area",
96
+ "packageName": "@hermes/algorithm-geometry-polygon-area",
97
+ "version": "1.0.0",
98
+ "scope": "core",
99
+ "files": {
100
+ "algorithm/geometry/polygon-area/index.ts": "70f13dc50ff1fbd90939923378928c98a0514edeb3782ccec1e3889c6bfad825",
101
+ "algorithm/geometry/polygon-area/polygon-area.ts": "68e79d3a87298482d536e5018ce3d4351147ddc312b85f8551b196117cd1cc29"
102
+ },
103
+ "requires": [
104
+ {
105
+ "packageName": "@hermes/algorithm-geometry-ccw",
106
+ "range": "^1.0.0",
107
+ "kind": "dependency",
108
+ "internal": true,
109
+ "optional": false
110
+ }
111
+ ]
112
+ }
113
+ ],
114
+ "scope": "core",
115
+ "category": "core/algorithm",
116
+ "description": "다각형 꼭짓점이 순서대로 주어졌을 때 넓이를 계산한다. 꼭짓점 방향은 시계/반시계 어느 쪽이어도 되고, 내부에서 절댓값을 취해 양수 넓이를 반환한다.",
28
117
  "dependencies": [],
29
118
  "files": [
30
119
  "algorithm/geometry/ccw/ccw.ts",
@@ -35,7 +124,24 @@
35
124
  },
36
125
  {
37
126
  "name": "algorithm-graph-bellman-ford",
38
- "description": "Bellman-Ford는 시작점 하나에서 모든 정점까지의 최단 거리를 구한다. 다익스트라와",
127
+ "packageName": "@hermes/algorithm-graph-bellman-ford",
128
+ "version": "1.0.0",
129
+ "modules": [
130
+ {
131
+ "name": "algorithm-graph-bellman-ford",
132
+ "packageName": "@hermes/algorithm-graph-bellman-ford",
133
+ "version": "1.0.0",
134
+ "scope": "core",
135
+ "files": {
136
+ "algorithm/graph/bellman-ford/bellman-ford.ts": "f35b591cf9fc6c4a5beb6d141a3381ae2521e9767e908a6d0d99157cf0054b41",
137
+ "algorithm/graph/bellman-ford/index.ts": "1e5d6e8e636333de6f4755e79789a7a15066c9160e8dbfae3770c28b8034e41d"
138
+ },
139
+ "requires": []
140
+ }
141
+ ],
142
+ "scope": "core",
143
+ "category": "core/algorithm",
144
+ "description": "Bellman-Ford는 시작점 하나에서 모든 정점까지의 최단 거리를 구한다. 다익스트라와 달리 음수 간선을 허용하고, 시작점에서 도달 가능한 음수 사이클이 있는지도 감지한다.",
39
145
  "dependencies": [],
40
146
  "files": [
41
147
  "algorithm/graph/bellman-ford/bellman-ford.ts",
@@ -44,7 +150,24 @@
44
150
  },
45
151
  {
46
152
  "name": "algorithm-graph-bfs",
47
- "description": "너비 우선 탐색(BFS). 시작 노드에서 가까운 순서로 방문한 노드 배열을 반환한다.",
153
+ "packageName": "@hermes/algorithm-graph-bfs",
154
+ "version": "1.0.0",
155
+ "modules": [
156
+ {
157
+ "name": "algorithm-graph-bfs",
158
+ "packageName": "@hermes/algorithm-graph-bfs",
159
+ "version": "1.0.0",
160
+ "scope": "core",
161
+ "files": {
162
+ "algorithm/graph/bfs/bfs.ts": "a7a4b5db5c82914b4f3c18edc74628771299d0289e4f5548032a780ba01cc1da",
163
+ "algorithm/graph/bfs/index.ts": "4d19f9d1a1ff2af9cec0f54dc69c08e9fd2249ff86d2ad923ad20d325f7a4af4"
164
+ },
165
+ "requires": []
166
+ }
167
+ ],
168
+ "scope": "core",
169
+ "category": "core/algorithm",
170
+ "description": "너비 우선 탐색(BFS). 시작 노드에서 가까운 순서로 방문한 노드 배열을 반환한다. 가중치가 없는 그래프에서 최단 간선 수 레벨을 훑거나, 연결 영역을 거리순으로 확장할 때 사용한다.",
48
171
  "dependencies": [],
49
172
  "files": [
50
173
  "algorithm/graph/bfs/bfs.ts",
@@ -53,7 +176,24 @@
53
176
  },
54
177
  {
55
178
  "name": "algorithm-graph-dfs",
56
- "description": "깊이 우선 탐색(DFS). 명시적 스택으로 구현해, 방문한 노드 배열을 반환한다.",
179
+ "packageName": "@hermes/algorithm-graph-dfs",
180
+ "version": "1.0.0",
181
+ "modules": [
182
+ {
183
+ "name": "algorithm-graph-dfs",
184
+ "packageName": "@hermes/algorithm-graph-dfs",
185
+ "version": "1.0.0",
186
+ "scope": "core",
187
+ "files": {
188
+ "algorithm/graph/dfs/dfs.ts": "1bfaa8798375c0101119f7f1f71db4b4ab2e93317df627cb799292b285b32c79",
189
+ "algorithm/graph/dfs/index.ts": "6a642193680d7fab7cebfb1713cfb7fa6f1223cb2038e4176954e4922a8af161"
190
+ },
191
+ "requires": []
192
+ }
193
+ ],
194
+ "scope": "core",
195
+ "category": "core/algorithm",
196
+ "description": "깊이 우선 탐색(DFS). 명시적 스택으로 구현해, 방문한 노드 배열을 반환한다. 재귀 깊이 제한을 피하면서 연결 영역 탐색, 경로 존재 여부 확인, 그래프 순회 기초 작업에 사용할 수 있다.",
57
197
  "dependencies": [],
58
198
  "files": [
59
199
  "algorithm/graph/dfs/dfs.ts",
@@ -62,19 +202,96 @@
62
202
  },
63
203
  {
64
204
  "name": "algorithm-graph-dijkstra",
65
- "description": "다익스트라 최단 경로. 음수 가중치가 없는 그래프에서 시작 노드로부터의 최단",
205
+ "packageName": "@hermes/algorithm-graph-dijkstra",
206
+ "version": "1.0.0",
207
+ "modules": [
208
+ {
209
+ "name": "algorithm-graph-dijkstra",
210
+ "packageName": "@hermes/algorithm-graph-dijkstra",
211
+ "version": "1.0.0",
212
+ "scope": "core",
213
+ "files": {
214
+ "algorithm/graph/dijkstra/dijkstra.ts": "97af39f93a4ba414d182c0f5a13d0ceca64da7debe342f04abd2fce069222b7f",
215
+ "algorithm/graph/dijkstra/index.ts": "d2b30722f39e1e9141c27f8e500de7e4cbccfee41a9d271744c3c33a1118deae"
216
+ },
217
+ "requires": [
218
+ {
219
+ "packageName": "@hermes/data-structure-priority-queue",
220
+ "range": "^1.0.0",
221
+ "kind": "dependency",
222
+ "internal": true,
223
+ "optional": false
224
+ }
225
+ ]
226
+ },
227
+ {
228
+ "name": "data-structure-heap",
229
+ "packageName": "@hermes/data-structure-heap",
230
+ "version": "1.0.0",
231
+ "scope": "core",
232
+ "files": {
233
+ "data-structure/heap/heap.ts": "68fc95274e5a2234fc3992cd1cba59e523050d55ae3a842bfbac30943b24f6f6",
234
+ "data-structure/heap/index.ts": "d84ec9b2413aa9020e3c6ab99b9589328ae543c89257b099bddefacd4640865b",
235
+ "data-structure/heap/max-heap.ts": "e11fff5efd124e2d636f0f42c475ae593091a416a11dad840c67ed2fa55a986c",
236
+ "data-structure/heap/min-heap.ts": "e4271b7630458178c4dd8b76f6fce5fa8f00f86370043f6adf1ae51828f1efb8"
237
+ },
238
+ "requires": []
239
+ },
240
+ {
241
+ "name": "data-structure-priority-queue",
242
+ "packageName": "@hermes/data-structure-priority-queue",
243
+ "version": "1.0.0",
244
+ "scope": "core",
245
+ "files": {
246
+ "data-structure/priority-queue/index.ts": "70ea451cc731c2201a617be3e8a00f30b4c6c34d40cddf1d6cb65371082365e9",
247
+ "data-structure/priority-queue/priority-queue.ts": "0ce8a7bd626cb435af32b02d960d8fb56689ad7600bea549ba4170f98c8dea42"
248
+ },
249
+ "requires": [
250
+ {
251
+ "packageName": "@hermes/data-structure-heap",
252
+ "range": "^1.0.0",
253
+ "kind": "dependency",
254
+ "internal": true,
255
+ "optional": false
256
+ }
257
+ ]
258
+ }
259
+ ],
260
+ "scope": "core",
261
+ "category": "core/algorithm",
262
+ "description": "다익스트라 최단 경로. 음수 가중치가 없는 그래프에서 시작 노드로부터의 최단 거리 `Map<T, number>`를 반환한다.",
66
263
  "dependencies": [],
67
264
  "files": [
68
265
  "algorithm/graph/dijkstra/dijkstra.ts",
69
266
  "algorithm/graph/dijkstra/index.ts",
70
267
  "data-structure/heap/heap.ts",
268
+ "data-structure/heap/index.ts",
269
+ "data-structure/heap/max-heap.ts",
270
+ "data-structure/heap/min-heap.ts",
71
271
  "data-structure/priority-queue/index.ts",
72
272
  "data-structure/priority-queue/priority-queue.ts"
73
273
  ]
74
274
  },
75
275
  {
76
276
  "name": "algorithm-graph-floyd-warshall",
77
- "description": "Floyd-Warshall은 모든 정점 쌍 사이의 최단 거리를 한 번에 구한다. 정점 수가",
277
+ "packageName": "@hermes/algorithm-graph-floyd-warshall",
278
+ "version": "1.0.0",
279
+ "modules": [
280
+ {
281
+ "name": "algorithm-graph-floyd-warshall",
282
+ "packageName": "@hermes/algorithm-graph-floyd-warshall",
283
+ "version": "1.0.0",
284
+ "scope": "core",
285
+ "files": {
286
+ "algorithm/graph/floyd-warshall/floyd-warshall.ts": "04e5db49785ce74b840b0b9f38699400dada9a7303f0d2ead5c85ff2d639c536",
287
+ "algorithm/graph/floyd-warshall/index.ts": "ca8d90e5838889eaca80868d3eee2b36ae5b75e3c07f27b6976bb990ef4b68fb"
288
+ },
289
+ "requires": []
290
+ }
291
+ ],
292
+ "scope": "core",
293
+ "category": "core/algorithm",
294
+ "description": "Floyd-Warshall은 모든 정점 쌍 사이의 최단 거리를 한 번에 구한다. 정점 수가 작고, “어떤 출발점에서 어떤 도착점으로 물어봐도 바로 답해야 하는” 문제에 맞다.",
78
295
  "dependencies": [],
79
296
  "files": [
80
297
  "algorithm/graph/floyd-warshall/floyd-warshall.ts",
@@ -83,7 +300,43 @@
83
300
  },
84
301
  {
85
302
  "name": "algorithm-graph-kruskal",
86
- "description": "Kruskal은 무방향 가중 그래프에서 전체 노드를 연결하는 간선 집합 중 총 가중치가",
303
+ "packageName": "@hermes/algorithm-graph-kruskal",
304
+ "version": "1.0.0",
305
+ "modules": [
306
+ {
307
+ "name": "algorithm-graph-kruskal",
308
+ "packageName": "@hermes/algorithm-graph-kruskal",
309
+ "version": "1.0.0",
310
+ "scope": "core",
311
+ "files": {
312
+ "algorithm/graph/kruskal/index.ts": "81c382e837dc954fb539e565878e8fb64cf4dc4331624a9e8281c2ca1134bb36",
313
+ "algorithm/graph/kruskal/kruskal.ts": "6265fdbefad25bde2e146a143db99fe84da47e073bcc919ac0920ce3f2187ee8"
314
+ },
315
+ "requires": [
316
+ {
317
+ "packageName": "@hermes/data-structure-union-find",
318
+ "range": "^1.0.0",
319
+ "kind": "dependency",
320
+ "internal": true,
321
+ "optional": false
322
+ }
323
+ ]
324
+ },
325
+ {
326
+ "name": "data-structure-union-find",
327
+ "packageName": "@hermes/data-structure-union-find",
328
+ "version": "1.0.0",
329
+ "scope": "core",
330
+ "files": {
331
+ "data-structure/union-find/index.ts": "024399647096d798a1263b9e2e8ca16c512e69f55d0799831445236f9186d8fa",
332
+ "data-structure/union-find/union-find.ts": "9a23ce526b297a8b7d477c06d0f10be9000014208a61d44955edfe2671064f21"
333
+ },
334
+ "requires": []
335
+ }
336
+ ],
337
+ "scope": "core",
338
+ "category": "core/algorithm",
339
+ "description": "Kruskal은 무방향 가중 그래프에서 전체 노드를 연결하는 간선 집합 중 총 가중치가 가장 작은 최소신장트리(MST)를 만든다. 간선을 가중치 오름차순으로 보면서, 사이클이 생기지 않는 간선만 [union-find](../../../data-structure/union-find)로 고른다.",
87
340
  "dependencies": [],
88
341
  "files": [
89
342
  "algorithm/graph/kruskal/index.ts",
@@ -94,7 +347,90 @@
94
347
  },
95
348
  {
96
349
  "name": "algorithm-graph-prim",
97
- "description": "Prim은 시작점에서 출발해 현재까지 연결된 정점 집합 밖으로 나가는 가장 싼 간선을",
350
+ "packageName": "@hermes/algorithm-graph-prim",
351
+ "version": "1.0.0",
352
+ "modules": [
353
+ {
354
+ "name": "algorithm-graph-dijkstra",
355
+ "packageName": "@hermes/algorithm-graph-dijkstra",
356
+ "version": "1.0.0",
357
+ "scope": "core",
358
+ "files": {
359
+ "algorithm/graph/dijkstra/dijkstra.ts": "97af39f93a4ba414d182c0f5a13d0ceca64da7debe342f04abd2fce069222b7f",
360
+ "algorithm/graph/dijkstra/index.ts": "d2b30722f39e1e9141c27f8e500de7e4cbccfee41a9d271744c3c33a1118deae"
361
+ },
362
+ "requires": [
363
+ {
364
+ "packageName": "@hermes/data-structure-priority-queue",
365
+ "range": "^1.0.0",
366
+ "kind": "dependency",
367
+ "internal": true,
368
+ "optional": false
369
+ }
370
+ ]
371
+ },
372
+ {
373
+ "name": "algorithm-graph-prim",
374
+ "packageName": "@hermes/algorithm-graph-prim",
375
+ "version": "1.0.0",
376
+ "scope": "core",
377
+ "files": {
378
+ "algorithm/graph/prim/index.ts": "48bcb6e04d1e9aa94559af28298081e232f576d06b920435646066be6355568c",
379
+ "algorithm/graph/prim/prim.ts": "1c4753dd7e21dc7b75dba95abac8e239de3ebb6bf7f878ab7d12cc80a9703499"
380
+ },
381
+ "requires": [
382
+ {
383
+ "packageName": "@hermes/algorithm-graph-dijkstra",
384
+ "range": "^1.0.0",
385
+ "kind": "dependency",
386
+ "internal": true,
387
+ "optional": false
388
+ },
389
+ {
390
+ "packageName": "@hermes/data-structure-priority-queue",
391
+ "range": "^1.0.0",
392
+ "kind": "dependency",
393
+ "internal": true,
394
+ "optional": false
395
+ }
396
+ ]
397
+ },
398
+ {
399
+ "name": "data-structure-heap",
400
+ "packageName": "@hermes/data-structure-heap",
401
+ "version": "1.0.0",
402
+ "scope": "core",
403
+ "files": {
404
+ "data-structure/heap/heap.ts": "68fc95274e5a2234fc3992cd1cba59e523050d55ae3a842bfbac30943b24f6f6",
405
+ "data-structure/heap/index.ts": "d84ec9b2413aa9020e3c6ab99b9589328ae543c89257b099bddefacd4640865b",
406
+ "data-structure/heap/max-heap.ts": "e11fff5efd124e2d636f0f42c475ae593091a416a11dad840c67ed2fa55a986c",
407
+ "data-structure/heap/min-heap.ts": "e4271b7630458178c4dd8b76f6fce5fa8f00f86370043f6adf1ae51828f1efb8"
408
+ },
409
+ "requires": []
410
+ },
411
+ {
412
+ "name": "data-structure-priority-queue",
413
+ "packageName": "@hermes/data-structure-priority-queue",
414
+ "version": "1.0.0",
415
+ "scope": "core",
416
+ "files": {
417
+ "data-structure/priority-queue/index.ts": "70ea451cc731c2201a617be3e8a00f30b4c6c34d40cddf1d6cb65371082365e9",
418
+ "data-structure/priority-queue/priority-queue.ts": "0ce8a7bd626cb435af32b02d960d8fb56689ad7600bea549ba4170f98c8dea42"
419
+ },
420
+ "requires": [
421
+ {
422
+ "packageName": "@hermes/data-structure-heap",
423
+ "range": "^1.0.0",
424
+ "kind": "dependency",
425
+ "internal": true,
426
+ "optional": false
427
+ }
428
+ ]
429
+ }
430
+ ],
431
+ "scope": "core",
432
+ "category": "core/algorithm",
433
+ "description": "Prim은 시작점에서 출발해 현재까지 연결된 정점 집합 밖으로 나가는 가장 싼 간선을 계속 고르는 최소신장트리(MST) 알고리즘이다. 인접 간선을 `getEdges(node)`로 받으므로, 간선 목록 전체를 먼저 만들기보다 인접 리스트 기반 그래프에 붙이기 좋다.",
98
434
  "dependencies": [],
99
435
  "files": [
100
436
  "algorithm/graph/dijkstra/dijkstra.ts",
@@ -102,13 +438,33 @@
102
438
  "algorithm/graph/prim/index.ts",
103
439
  "algorithm/graph/prim/prim.ts",
104
440
  "data-structure/heap/heap.ts",
441
+ "data-structure/heap/index.ts",
442
+ "data-structure/heap/max-heap.ts",
443
+ "data-structure/heap/min-heap.ts",
105
444
  "data-structure/priority-queue/index.ts",
106
445
  "data-structure/priority-queue/priority-queue.ts"
107
446
  ]
108
447
  },
109
448
  {
110
449
  "name": "algorithm-graph-topology-sort",
111
- "description": "위상 정렬(topological sort). 방향 비순환 그래프(DAG)에서 선행 순서를 지키는",
450
+ "packageName": "@hermes/algorithm-graph-topology-sort",
451
+ "version": "1.0.0",
452
+ "modules": [
453
+ {
454
+ "name": "algorithm-graph-topology-sort",
455
+ "packageName": "@hermes/algorithm-graph-topology-sort",
456
+ "version": "1.0.0",
457
+ "scope": "core",
458
+ "files": {
459
+ "algorithm/graph/topology-sort/index.ts": "a186bbbcadcc95a17f797d110a2ea7719eaa8411f3cc1a4c2f9b9acae03c4658",
460
+ "algorithm/graph/topology-sort/topology-sort.ts": "6741243f15778938f47513a02b2fad490b984c2dc6a43db89e193ac215ee2e67"
461
+ },
462
+ "requires": []
463
+ }
464
+ ],
465
+ "scope": "core",
466
+ "category": "core/algorithm",
467
+ "description": "위상 정렬(topological sort). 방향 비순환 그래프(DAG)에서 선행 순서를 지키는 정렬을 반환한다. 사이클이 있으면 `\"cycle detected\"`로 throw한다.",
112
468
  "dependencies": [],
113
469
  "files": [
114
470
  "algorithm/graph/topology-sort/index.ts",
@@ -117,7 +473,24 @@
117
473
  },
118
474
  {
119
475
  "name": "algorithm-search-binary-search",
120
- "description": "정렬 배열에서 값의 위치를 찾거나, `false ... false, true ... true`처럼 단조로",
476
+ "packageName": "@hermes/algorithm-search-binary-search",
477
+ "version": "1.0.0",
478
+ "modules": [
479
+ {
480
+ "name": "algorithm-search-binary-search",
481
+ "packageName": "@hermes/algorithm-search-binary-search",
482
+ "version": "1.0.0",
483
+ "scope": "core",
484
+ "files": {
485
+ "algorithm/search/binary-search/binary-search.ts": "8a3741375b9651549c019eafb2cfe528a287d1137f60110f0a5c1461ef37f3e6",
486
+ "algorithm/search/binary-search/index.ts": "4926dbc60fea8d4236d9ae01bda0584c44555551d080dc2ee1d0b926314a00d9"
487
+ },
488
+ "requires": []
489
+ }
490
+ ],
491
+ "scope": "core",
492
+ "category": "core/algorithm",
493
+ "description": "정렬 배열에서 값의 위치를 찾거나, `false ... false, true ... true`처럼 단조로 바뀌는 답 공간에서 첫 번째 `true`를 찾는다. 알고리즘 문제에서 “최소로 가능한 값”, “처음 조건을 만족하는 인덱스”를 찾을 때 쓰는 기본 도구다.",
121
494
  "dependencies": [],
122
495
  "files": [
123
496
  "algorithm/search/binary-search/binary-search.ts",
@@ -126,7 +499,24 @@
126
499
  },
127
500
  {
128
501
  "name": "algorithm-string-kmp",
129
- "description": "KMP는 패턴 내부의 접두사/접미사 정보를 미리 계산해, 검색 중 mismatch가 나도",
502
+ "packageName": "@hermes/algorithm-string-kmp",
503
+ "version": "1.0.0",
504
+ "modules": [
505
+ {
506
+ "name": "algorithm-string-kmp",
507
+ "packageName": "@hermes/algorithm-string-kmp",
508
+ "version": "1.0.0",
509
+ "scope": "core",
510
+ "files": {
511
+ "algorithm/string/kmp/index.ts": "d3d3282ae72c35bd70fa7b36a0561c4598ce8bcc739cf54d6d4ac0d6638a252c",
512
+ "algorithm/string/kmp/kmp.ts": "845dd63dc211d0c40cd34a7486864ba6a5dc0f6080a65e39369ea84996dd9c2c"
513
+ },
514
+ "requires": []
515
+ }
516
+ ],
517
+ "scope": "core",
518
+ "category": "core/algorithm",
519
+ "description": "KMP는 패턴 내부의 접두사/접미사 정보를 미리 계산해, 검색 중 mismatch가 나도 이미 확인한 문자를 다시 비교하지 않는 문자열 검색 알고리즘이다. 같은 패턴을 긴 텍스트에서 찾거나, 겹치는 패턴 위치까지 모두 찾아야 할 때 쓴다.",
130
520
  "dependencies": [],
131
521
  "files": [
132
522
  "algorithm/string/kmp/index.ts",
@@ -135,7 +525,24 @@
135
525
  },
136
526
  {
137
527
  "name": "algorithm-string-z-algorithm",
138
- "description": "Z algorithm은 문자열의 각 위치에서 “문자열 전체의 접두사와 몇 글자나 같은지”를",
528
+ "packageName": "@hermes/algorithm-string-z-algorithm",
529
+ "version": "1.0.0",
530
+ "modules": [
531
+ {
532
+ "name": "algorithm-string-z-algorithm",
533
+ "packageName": "@hermes/algorithm-string-z-algorithm",
534
+ "version": "1.0.0",
535
+ "scope": "core",
536
+ "files": {
537
+ "algorithm/string/z-algorithm/index.ts": "b2921d712e8a6b977773b8b9266dce189d85b5a91b51613b9bd56a7a4325edb1",
538
+ "algorithm/string/z-algorithm/z-algorithm.ts": "d65d296a173abf32629c96b0b254c308a431d1661289f5024fba1bf03abe0e2f"
539
+ },
540
+ "requires": []
541
+ }
542
+ ],
543
+ "scope": "core",
544
+ "category": "core/algorithm",
545
+ "description": "Z algorithm은 문자열의 각 위치에서 “문자열 전체의 접두사와 몇 글자나 같은지”를 계산한다. 결과 배열 `z[i]`는 `value.slice(i)`가 `value`의 접두사와 연속으로 일치하는 길이다.",
139
546
  "dependencies": [],
140
547
  "files": [
141
548
  "algorithm/string/z-algorithm/index.ts",
@@ -144,7 +551,24 @@
144
551
  },
145
552
  {
146
553
  "name": "algorithm-tree-avl-tree",
147
- "description": "삽입 시 자동으로 균형을 맞추는 AVL 트리. 중복 값은 삽입하지 않는다.",
554
+ "packageName": "@hermes/algorithm-tree-avl-tree",
555
+ "version": "1.0.0",
556
+ "modules": [
557
+ {
558
+ "name": "algorithm-tree-avl-tree",
559
+ "packageName": "@hermes/algorithm-tree-avl-tree",
560
+ "version": "1.0.0",
561
+ "scope": "core",
562
+ "files": {
563
+ "algorithm/tree/avl-tree/avl-tree.ts": "da08847994e4d1c1ab10863ed381dc008876429f47c28136c79ac88c3d531325",
564
+ "algorithm/tree/avl-tree/index.ts": "ce816726b40a95dd9f0ca58fd91d3d94b721362a2c04439204c7fdad2859b42b"
565
+ },
566
+ "requires": []
567
+ }
568
+ ],
569
+ "scope": "core",
570
+ "category": "core/algorithm",
571
+ "description": "삽입 시 자동으로 균형을 맞추는 AVL 트리. 중복 값은 삽입하지 않는다. 기본 BST와 달리 좌우 서브트리 높이 차이를 제한해, 정렬된 입력이 들어와도 탐색 성능이 크게 무너지지 않게 한다.",
148
572
  "dependencies": [],
149
573
  "files": [
150
574
  "algorithm/tree/avl-tree/avl-tree.ts",
@@ -153,7 +577,24 @@
153
577
  },
154
578
  {
155
579
  "name": "algorithm-tree-binary-search-tree",
156
- "description": "기본 이진 탐색 트리. 중복 값은 삽입하지 않고 `false`를 반환한다.",
580
+ "packageName": "@hermes/algorithm-tree-binary-search-tree",
581
+ "version": "1.0.0",
582
+ "modules": [
583
+ {
584
+ "name": "algorithm-tree-binary-search-tree",
585
+ "packageName": "@hermes/algorithm-tree-binary-search-tree",
586
+ "version": "1.0.0",
587
+ "scope": "core",
588
+ "files": {
589
+ "algorithm/tree/binary-search-tree/binary-search-tree.ts": "aac15f79bb8942ff1cd0407967d8f1a2745c66d7f74d6d7f4be6d65155f1b094",
590
+ "algorithm/tree/binary-search-tree/index.ts": "4ef11fb567ab277830a448f0f7760c1ca4b9b4f15743ff6c44591e24e85be80b"
591
+ },
592
+ "requires": []
593
+ }
594
+ ],
595
+ "scope": "core",
596
+ "category": "core/algorithm",
597
+ "description": "기본 이진 탐색 트리. 중복 값은 삽입하지 않고 `false`를 반환한다. 값을 삽입한 뒤 정렬 순회, 포함 여부, 최솟값/최댓값 조회가 필요할 때 사용한다.",
157
598
  "dependencies": [],
158
599
  "files": [
159
600
  "algorithm/tree/binary-search-tree/binary-search-tree.ts",
@@ -162,7 +603,24 @@
162
603
  },
163
604
  {
164
605
  "name": "algorithm-tree-lca",
165
- "description": "인접 리스트로 표현된 트리에서 binary lifting으로 최소 공통 조상과 거리를 구한다.",
606
+ "packageName": "@hermes/algorithm-tree-lca",
607
+ "version": "1.0.0",
608
+ "modules": [
609
+ {
610
+ "name": "algorithm-tree-lca",
611
+ "packageName": "@hermes/algorithm-tree-lca",
612
+ "version": "1.0.0",
613
+ "scope": "core",
614
+ "files": {
615
+ "algorithm/tree/lca/index.ts": "5e0ba044f2add09886baa6f91f014fc282dfc37a952af58a63683fa3269f3ffc",
616
+ "algorithm/tree/lca/lca.ts": "d3b17e5c9ac52c7c6e278b9d0f5d4011078597c14771fadd9582eb9ddeffdb37"
617
+ },
618
+ "requires": []
619
+ }
620
+ ],
621
+ "scope": "core",
622
+ "category": "core/algorithm",
623
+ "description": "인접 리스트로 표현된 트리에서 binary lifting으로 최소 공통 조상과 거리를 구한다. 루트가 있는 트리에서 `u`와 `v`의 가장 가까운 공통 조상, 두 노드 사이 간선 수, 각 노드 깊이를 빠르게 물어볼 때 사용한다.",
166
624
  "dependencies": [],
167
625
  "files": [
168
626
  "algorithm/tree/lca/index.ts",
@@ -171,7 +629,24 @@
171
629
  },
172
630
  {
173
631
  "name": "array-chunk",
174
- "description": "배열을 `size` 길이의 작은 배열들로 분할한다. 마지막 조각은 원소가 모자라면",
632
+ "packageName": "@hermes/array-chunk",
633
+ "version": "1.0.0",
634
+ "modules": [
635
+ {
636
+ "name": "array-chunk",
637
+ "packageName": "@hermes/array-chunk",
638
+ "version": "1.0.0",
639
+ "scope": "core",
640
+ "files": {
641
+ "array/chunk/chunk.ts": "26272e73b3b9b9948a3986a178f34b5200174d6c0b7fd15f7d569c4d35e486e7",
642
+ "array/chunk/index.ts": "2eef28154d4d894b5daff8b778f9fe860806c29216cac1137a7a0cb405e9f3c2"
643
+ },
644
+ "requires": []
645
+ }
646
+ ],
647
+ "scope": "core",
648
+ "category": "core/array",
649
+ "description": "배열을 `size` 길이의 작은 배열들로 분할한다. 마지막 조각은 원소가 모자라면 더 짧을 수 있다. 페이지네이션이나 배치 처리로 입력을 나눌 때 사용한다.",
175
650
  "dependencies": [],
176
651
  "files": [
177
652
  "array/chunk/chunk.ts",
@@ -180,7 +655,24 @@
180
655
  },
181
656
  {
182
657
  "name": "array-compact",
183
- "description": "배열에서 falsy 값(`false`, `null`, `undefined`, `0`, `\"\"`, `NaN`)을 모두 제거한",
658
+ "packageName": "@hermes/array-compact",
659
+ "version": "1.0.0",
660
+ "modules": [
661
+ {
662
+ "name": "array-compact",
663
+ "packageName": "@hermes/array-compact",
664
+ "version": "1.0.0",
665
+ "scope": "core",
666
+ "files": {
667
+ "array/compact/compact.ts": "def2b827ea3927443c18510c904cb223b3359fb6d17415abeb24f55ed0d0c014",
668
+ "array/compact/index.ts": "fb1e8a939663a1f9066619895e9563420ef5ee21efd1af86383f303b5e8ba2db"
669
+ },
670
+ "requires": []
671
+ }
672
+ ],
673
+ "scope": "core",
674
+ "category": "core/array",
675
+ "description": "배열에서 falsy 값(`false`, `null`, `undefined`, `0`, `\"\"`, `NaN`)을 모두 제거한 새 배열을 반환한다. 비어 있을 수 있는 값들을 한 번에 정리할 때 사용한다.",
184
676
  "dependencies": [],
185
677
  "files": [
186
678
  "array/compact/compact.ts",
@@ -189,7 +681,24 @@
189
681
  },
190
682
  {
191
683
  "name": "array-count-by",
192
- "description": "배열 항목을 `keyFn`이 돌려주는 키로 묶어 키별 개수를 센 `{ 키: 개수 }` 객체를",
684
+ "packageName": "@hermes/array-count-by",
685
+ "version": "1.0.0",
686
+ "modules": [
687
+ {
688
+ "name": "array-count-by",
689
+ "packageName": "@hermes/array-count-by",
690
+ "version": "1.0.0",
691
+ "scope": "core",
692
+ "files": {
693
+ "array/count-by/count-by.ts": "1c3708c08b26bab74ce0c9e936ba36f6ae303cf2f7457a831c03bf54b7b1a8c3",
694
+ "array/count-by/index.ts": "9b3a189ac0b034843b2a6ed3ff81f66b8f71ea1f0ec150ee3283a12075af6c28"
695
+ },
696
+ "requires": []
697
+ }
698
+ ],
699
+ "scope": "core",
700
+ "category": "core/array",
701
+ "description": "배열 항목을 `keyFn`이 돌려주는 키로 묶어 키별 개수를 센 `{ 키: 개수 }` 객체를 반환한다. 입력 배열은 변형하지 않는다.",
193
702
  "dependencies": [],
194
703
  "files": [
195
704
  "array/count-by/count-by.ts",
@@ -198,7 +707,24 @@
198
707
  },
199
708
  {
200
709
  "name": "array-difference",
201
- "description": "`a`에서 `b`에 포함된 원소를 모두 제거한 차집합을 반환한다. `a`의 등장 순서와",
710
+ "packageName": "@hermes/array-difference",
711
+ "version": "1.0.0",
712
+ "modules": [
713
+ {
714
+ "name": "array-difference",
715
+ "packageName": "@hermes/array-difference",
716
+ "version": "1.0.0",
717
+ "scope": "core",
718
+ "files": {
719
+ "array/difference/difference.ts": "dcda33ad4c7f0a2fedb20ed34ff45def3b1dd67ac42fb14f3682ae7d14e78f53",
720
+ "array/difference/index.ts": "0568237020c94492037c281d943f0d5102c38ade5621de10825c2d4830ee491d"
721
+ },
722
+ "requires": []
723
+ }
724
+ ],
725
+ "scope": "core",
726
+ "category": "core/array",
727
+ "description": "`a`에서 `b`에 포함된 원소를 모두 제거한 차집합을 반환한다. `a`의 등장 순서와 중복은 그대로 유지된다.",
202
728
  "dependencies": [],
203
729
  "files": [
204
730
  "array/difference/difference.ts",
@@ -207,7 +733,24 @@
207
733
  },
208
734
  {
209
735
  "name": "array-drop",
210
- "description": "배열 앞에서 n개를 제외한 나머지를 새 배열로 반환한다. 입력 배열은 변형하지",
736
+ "packageName": "@hermes/array-drop",
737
+ "version": "1.0.0",
738
+ "modules": [
739
+ {
740
+ "name": "array-drop",
741
+ "packageName": "@hermes/array-drop",
742
+ "version": "1.0.0",
743
+ "scope": "core",
744
+ "files": {
745
+ "array/drop/drop.ts": "3105fe493c357f79458ecb3a9cd19f4b4c75ed6e58e68b022547b70bb0c2074e",
746
+ "array/drop/index.ts": "2db3e4cf5f3451b12d9e0e6476dd3fd1e3c8ac98603f841e804b2fc3ccc3ab68"
747
+ },
748
+ "requires": []
749
+ }
750
+ ],
751
+ "scope": "core",
752
+ "category": "core/array",
753
+ "description": "배열 앞에서 n개를 제외한 나머지를 새 배열로 반환한다. 입력 배열은 변형하지 않으며 `n <= 0`이면 전체 복사본, `n`이 길이 이상이면 빈 배열을 돌려준다.",
211
754
  "dependencies": [],
212
755
  "files": [
213
756
  "array/drop/drop.ts",
@@ -216,7 +759,24 @@
216
759
  },
217
760
  {
218
761
  "name": "array-group-by",
219
- "description": "배열 항목을 `keyFn`이 돌려주는 키로 묶어 `{ 키: 항목 배열 }` 객체를 반환한다.",
762
+ "packageName": "@hermes/array-group-by",
763
+ "version": "1.0.0",
764
+ "modules": [
765
+ {
766
+ "name": "array-group-by",
767
+ "packageName": "@hermes/array-group-by",
768
+ "version": "1.0.0",
769
+ "scope": "core",
770
+ "files": {
771
+ "array/group-by/group-by.ts": "e404cba33f936b28716d2e0ccffa3a562cb5b6a2fb8eb0619c7162f86981c05b",
772
+ "array/group-by/index.ts": "09d7546402fb2975526253619cd2bb8461d751744b8ebe4d704988750fb307c0"
773
+ },
774
+ "requires": []
775
+ }
776
+ ],
777
+ "scope": "core",
778
+ "category": "core/array",
779
+ "description": "배열 항목을 `keyFn`이 돌려주는 키로 묶어 `{ 키: 항목 배열 }` 객체를 반환한다. 같은 키의 항목은 등장 순서를 보존하며 입력 배열은 변형하지 않는다.",
220
780
  "dependencies": [],
221
781
  "files": [
222
782
  "array/group-by/group-by.ts",
@@ -225,7 +785,24 @@
225
785
  },
226
786
  {
227
787
  "name": "array-intersection",
228
- "description": "두 배열에 모두 들어 있는 원소만 모은 교집합을 반환한다. 순서는 `a` 기준이고",
788
+ "packageName": "@hermes/array-intersection",
789
+ "version": "1.0.0",
790
+ "modules": [
791
+ {
792
+ "name": "array-intersection",
793
+ "packageName": "@hermes/array-intersection",
794
+ "version": "1.0.0",
795
+ "scope": "core",
796
+ "files": {
797
+ "array/intersection/index.ts": "4f7f2876eb6e961e0ff3be3c977ebb47e0c88f86b5f48f5b3230377ff86bc0a0",
798
+ "array/intersection/intersection.ts": "77fabbb1684d0ca30d0d2e87935ae3cc867da1e794803d9cd1e07d79231b407c"
799
+ },
800
+ "requires": []
801
+ }
802
+ ],
803
+ "scope": "core",
804
+ "category": "core/array",
805
+ "description": "두 배열에 모두 들어 있는 원소만 모은 교집합을 반환한다. 순서는 `a` 기준이고 중복은 제거된다.",
229
806
  "dependencies": [],
230
807
  "files": [
231
808
  "array/intersection/index.ts",
@@ -234,7 +811,24 @@
234
811
  },
235
812
  {
236
813
  "name": "array-key-by",
237
- "description": "배열을 `keyFn`이 돌려주는 키로 인덱싱해 `{ 키: 항목 }` 객체를 반환한다.",
814
+ "packageName": "@hermes/array-key-by",
815
+ "version": "1.0.0",
816
+ "modules": [
817
+ {
818
+ "name": "array-key-by",
819
+ "packageName": "@hermes/array-key-by",
820
+ "version": "1.0.0",
821
+ "scope": "core",
822
+ "files": {
823
+ "array/key-by/index.ts": "76e0de494e2a0cf8940f4d6e071b42e98d70dd05fcf59a83db2feebf0b12291a",
824
+ "array/key-by/key-by.ts": "cd3469628cf16f11d38390e729a8444dd321dcac037940f08b6208d699a05975"
825
+ },
826
+ "requires": []
827
+ }
828
+ ],
829
+ "scope": "core",
830
+ "category": "core/array",
831
+ "description": "배열을 `keyFn`이 돌려주는 키로 인덱싱해 `{ 키: 항목 }` 객체를 반환한다. 같은 키가 여러 번 나오면 마지막 항목이 우선하며 입력 배열은 변형하지 않는다.",
238
832
  "dependencies": [],
239
833
  "files": [
240
834
  "array/key-by/index.ts",
@@ -243,7 +837,24 @@
243
837
  },
244
838
  {
245
839
  "name": "array-max-by",
246
- "description": "`valueFn`으로 매핑한 값이 가장 큰 원소를 반환한다. 입력 배열은 변형하지 않으며,",
840
+ "packageName": "@hermes/array-max-by",
841
+ "version": "1.0.0",
842
+ "modules": [
843
+ {
844
+ "name": "array-max-by",
845
+ "packageName": "@hermes/array-max-by",
846
+ "version": "1.0.0",
847
+ "scope": "core",
848
+ "files": {
849
+ "array/max-by/index.ts": "cf5fc393a1599800b5d5c48a5d2dc1b134dd3136e20876f0c136860c196b09d4",
850
+ "array/max-by/max-by.ts": "5d579181698ac951cefccf082d6f1e5210d5db0c7914222184f6d55017f15adc"
851
+ },
852
+ "requires": []
853
+ }
854
+ ],
855
+ "scope": "core",
856
+ "category": "core/array",
857
+ "description": "`valueFn`으로 매핑한 값이 가장 큰 원소를 반환한다. 입력 배열은 변형하지 않으며, 값이 같으면 먼저 나온 원소를 유지한다. 빈 배열은 `null`을 반환한다.",
247
858
  "dependencies": [],
248
859
  "files": [
249
860
  "array/max-by/index.ts",
@@ -252,7 +863,24 @@
252
863
  },
253
864
  {
254
865
  "name": "array-min-by",
255
- "description": "`valueFn`으로 매핑한 값이 가장 작은 원소를 반환한다. 입력 배열은 변형하지 않으며,",
866
+ "packageName": "@hermes/array-min-by",
867
+ "version": "1.0.0",
868
+ "modules": [
869
+ {
870
+ "name": "array-min-by",
871
+ "packageName": "@hermes/array-min-by",
872
+ "version": "1.0.0",
873
+ "scope": "core",
874
+ "files": {
875
+ "array/min-by/index.ts": "270254f3f313d99f4cf267cad1d2ed4bffe4144a643441b853adfdc62d1e5323",
876
+ "array/min-by/min-by.ts": "d64400ecfd8d57209f35dce9e3d73d72d77a75c04852f253516ab926f4af0747"
877
+ },
878
+ "requires": []
879
+ }
880
+ ],
881
+ "scope": "core",
882
+ "category": "core/array",
883
+ "description": "`valueFn`으로 매핑한 값이 가장 작은 원소를 반환한다. 입력 배열은 변형하지 않으며, 값이 같으면 먼저 나온 원소를 유지한다. 빈 배열은 `null`을 반환한다.",
256
884
  "dependencies": [],
257
885
  "files": [
258
886
  "array/min-by/index.ts",
@@ -261,7 +889,24 @@
261
889
  },
262
890
  {
263
891
  "name": "array-partition",
264
- "description": "배열을 `predicate` 통과 여부로 나눠 `[통과한 항목, 실패한 항목]` 튜플을 반환한다.",
892
+ "packageName": "@hermes/array-partition",
893
+ "version": "1.0.0",
894
+ "modules": [
895
+ {
896
+ "name": "array-partition",
897
+ "packageName": "@hermes/array-partition",
898
+ "version": "1.0.0",
899
+ "scope": "core",
900
+ "files": {
901
+ "array/partition/index.ts": "c84a6433afc3daf796374f35b7b291006f405b0d82d923710c3efd839792bde7",
902
+ "array/partition/partition.ts": "31c82ba44a0c49be00a475c2cdab5c55277f69374447bb819c913e8a76cc05b3"
903
+ },
904
+ "requires": []
905
+ }
906
+ ],
907
+ "scope": "core",
908
+ "category": "core/array",
909
+ "description": "배열을 `predicate` 통과 여부로 나눠 `[통과한 항목, 실패한 항목]` 튜플을 반환한다. 각 그룹은 등장 순서를 보존하며 입력 배열은 변형하지 않는다.",
265
910
  "dependencies": [],
266
911
  "files": [
267
912
  "array/partition/index.ts",
@@ -270,7 +915,24 @@
270
915
  },
271
916
  {
272
917
  "name": "array-range",
273
- "description": "`[start, end)` 구간을 `step` 간격으로 채운 숫자 배열을 반환한다. `step`",
918
+ "packageName": "@hermes/array-range",
919
+ "version": "1.0.0",
920
+ "modules": [
921
+ {
922
+ "name": "array-range",
923
+ "packageName": "@hermes/array-range",
924
+ "version": "1.0.0",
925
+ "scope": "core",
926
+ "files": {
927
+ "array/range/index.ts": "d6a9fef981e652e34c9d57b4e325c1aaf2811bd6a85327f7c884de8ea99e6531",
928
+ "array/range/range.ts": "52a3233e7f8200cf6ad9a349199edcc21fbe85672ec1a42ec3e336e9bc844615"
929
+ },
930
+ "requires": []
931
+ }
932
+ ],
933
+ "scope": "core",
934
+ "category": "core/array",
935
+ "description": "`[start, end)` 구간을 `step` 간격으로 채운 숫자 배열을 반환한다. `step` 기본값은 1이며 0이면 빈 배열, 음수면 감소 수열을 만든다.",
274
936
  "dependencies": [],
275
937
  "files": [
276
938
  "array/range/index.ts",
@@ -279,7 +941,24 @@
279
941
  },
280
942
  {
281
943
  "name": "array-sample",
282
- "description": "배열에서 무작위로 원소 하나를 골라 반환한다. 빈 배열이면 `null`을 반환하며,",
944
+ "packageName": "@hermes/array-sample",
945
+ "version": "1.0.0",
946
+ "modules": [
947
+ {
948
+ "name": "array-sample",
949
+ "packageName": "@hermes/array-sample",
950
+ "version": "1.0.0",
951
+ "scope": "core",
952
+ "files": {
953
+ "array/sample/index.ts": "92cd264ab1ef750b0214c52d5f47e441b36f9a135eb34f1d832d4a15bbc34378",
954
+ "array/sample/sample.ts": "30b2429787b2a85497ee444dbbb6c57f3bf68b6b3484a7535e1bddb806dfb978"
955
+ },
956
+ "requires": []
957
+ }
958
+ ],
959
+ "scope": "core",
960
+ "category": "core/array",
961
+ "description": "배열에서 무작위로 원소 하나를 골라 반환한다. 빈 배열이면 `null`을 반환하며, 난수는 런타임의 `Math.random`을 사용한다.",
283
962
  "dependencies": [],
284
963
  "files": [
285
964
  "array/sample/index.ts",
@@ -288,7 +967,24 @@
288
967
  },
289
968
  {
290
969
  "name": "array-shuffle",
291
- "description": "Fisher-Yates 셔플로 원소 순서를 무작위로 섞은 새 배열을 반환한다. 입력 배열은",
970
+ "packageName": "@hermes/array-shuffle",
971
+ "version": "1.0.0",
972
+ "modules": [
973
+ {
974
+ "name": "array-shuffle",
975
+ "packageName": "@hermes/array-shuffle",
976
+ "version": "1.0.0",
977
+ "scope": "core",
978
+ "files": {
979
+ "array/shuffle/index.ts": "d1281f8e789826db34566283774ab4c9d505c05e526a628a0231923ee8b5e738",
980
+ "array/shuffle/shuffle.ts": "86c562c5fb5be6a6bb316e171ba96c01fa3ccea247faaca59cc4712bbee0536f"
981
+ },
982
+ "requires": []
983
+ }
984
+ ],
985
+ "scope": "core",
986
+ "category": "core/array",
987
+ "description": "Fisher-Yates 셔플로 원소 순서를 무작위로 섞은 새 배열을 반환한다. 입력 배열은 변형하지 않으며, 난수는 런타임의 `Math.random`을 사용한다.",
292
988
  "dependencies": [],
293
989
  "files": [
294
990
  "array/shuffle/index.ts",
@@ -297,7 +993,24 @@
297
993
  },
298
994
  {
299
995
  "name": "array-sort-by",
300
- "description": "`keyFn`이 돌려준 키 기준으로 오름차순 안정 정렬한 새 배열을 반환한다. 키가 같은",
996
+ "packageName": "@hermes/array-sort-by",
997
+ "version": "1.0.0",
998
+ "modules": [
999
+ {
1000
+ "name": "array-sort-by",
1001
+ "packageName": "@hermes/array-sort-by",
1002
+ "version": "1.0.0",
1003
+ "scope": "core",
1004
+ "files": {
1005
+ "array/sort-by/index.ts": "ce17855354d44e29c824d97fb41e692d60881547c1ab64014f509d0dfbe0ba29",
1006
+ "array/sort-by/sort-by.ts": "2aecbf87058a43cadd3266e32c20d88e3494021f4c0fbb2141d8c0c91ffa581f"
1007
+ },
1008
+ "requires": []
1009
+ }
1010
+ ],
1011
+ "scope": "core",
1012
+ "category": "core/array",
1013
+ "description": "`keyFn`이 돌려준 키 기준으로 오름차순 안정 정렬한 새 배열을 반환한다. 키가 같은 항목들은 원래 순서를 유지하며, 입력 배열은 변형하지 않는다.",
301
1014
  "dependencies": [],
302
1015
  "files": [
303
1016
  "array/sort-by/index.ts",
@@ -306,7 +1019,24 @@
306
1019
  },
307
1020
  {
308
1021
  "name": "array-sum-by",
309
- "description": "배열의 각 원소를 `valueFn`으로 수치화해 모두 더한 합을 반환한다. 입력 배열은",
1022
+ "packageName": "@hermes/array-sum-by",
1023
+ "version": "1.0.0",
1024
+ "modules": [
1025
+ {
1026
+ "name": "array-sum-by",
1027
+ "packageName": "@hermes/array-sum-by",
1028
+ "version": "1.0.0",
1029
+ "scope": "core",
1030
+ "files": {
1031
+ "array/sum-by/index.ts": "33a8ad679df880d5fbee32811baf97262c849d6efee0daa73b93f92af21e9882",
1032
+ "array/sum-by/sum-by.ts": "439169b9fba19bf0a5a850e64833dab95aaa3823d2816212a422c84224dde619"
1033
+ },
1034
+ "requires": []
1035
+ }
1036
+ ],
1037
+ "scope": "core",
1038
+ "category": "core/array",
1039
+ "description": "배열의 각 원소를 `valueFn`으로 수치화해 모두 더한 합을 반환한다. 입력 배열은 변형하지 않는다. 빈 배열은 `0`을 반환한다.",
310
1040
  "dependencies": [],
311
1041
  "files": [
312
1042
  "array/sum-by/index.ts",
@@ -315,7 +1045,24 @@
315
1045
  },
316
1046
  {
317
1047
  "name": "array-take",
318
- "description": "배열 앞에서 n개를 잘라 새 배열을 반환한다. 입력 배열은 변형하지 않으며",
1048
+ "packageName": "@hermes/array-take",
1049
+ "version": "1.0.0",
1050
+ "modules": [
1051
+ {
1052
+ "name": "array-take",
1053
+ "packageName": "@hermes/array-take",
1054
+ "version": "1.0.0",
1055
+ "scope": "core",
1056
+ "files": {
1057
+ "array/take/index.ts": "294f4bb7d383fbd4d4e3ab898f068e21d3d6bfa1407b747d6441ed214fa814f8",
1058
+ "array/take/take.ts": "66ef5a8167992feb048efc9b096b8676859f2df776324ba425f738eeb75853da"
1059
+ },
1060
+ "requires": []
1061
+ }
1062
+ ],
1063
+ "scope": "core",
1064
+ "category": "core/array",
1065
+ "description": "배열 앞에서 n개를 잘라 새 배열을 반환한다. 입력 배열은 변형하지 않으며 `n <= 0`이면 빈 배열, `n`이 길이보다 크면 전체 복사본을 돌려준다.",
319
1066
  "dependencies": [],
320
1067
  "files": [
321
1068
  "array/take/index.ts",
@@ -324,7 +1071,24 @@
324
1071
  },
325
1072
  {
326
1073
  "name": "array-union",
327
- "description": "두 배열을 합친 합집합을 반환한다. 중복은 제거되고, 처음 등장한 순서(`a`를",
1074
+ "packageName": "@hermes/array-union",
1075
+ "version": "1.0.0",
1076
+ "modules": [
1077
+ {
1078
+ "name": "array-union",
1079
+ "packageName": "@hermes/array-union",
1080
+ "version": "1.0.0",
1081
+ "scope": "core",
1082
+ "files": {
1083
+ "array/union/index.ts": "f6ee75934da5e2272e3a2516fcc54793160b860470ab4d1f580bb39573469005",
1084
+ "array/union/union.ts": "7d88f8a650d3e5c6882e7c984532d0685d7db3c4e54ef795069aab98f88e626f"
1085
+ },
1086
+ "requires": []
1087
+ }
1088
+ ],
1089
+ "scope": "core",
1090
+ "category": "core/array",
1091
+ "description": "두 배열을 합친 합집합을 반환한다. 중복은 제거되고, 처음 등장한 순서(`a`를 먼저, `b`를 다음)가 유지된다.",
328
1092
  "dependencies": [],
329
1093
  "files": [
330
1094
  "array/union/index.ts",
@@ -333,7 +1097,24 @@
333
1097
  },
334
1098
  {
335
1099
  "name": "array-unique",
336
- "description": "배열의 중복을 제거한 새 배열을 반환한다. 각 값의 첫 등장 순서를 보존하며",
1100
+ "packageName": "@hermes/array-unique",
1101
+ "version": "1.0.0",
1102
+ "modules": [
1103
+ {
1104
+ "name": "array-unique",
1105
+ "packageName": "@hermes/array-unique",
1106
+ "version": "1.0.0",
1107
+ "scope": "core",
1108
+ "files": {
1109
+ "array/unique/index.ts": "cda3fbe070f81682a29fa5628f67d77313072f68a03917ca4af2ab89a0439fe0",
1110
+ "array/unique/unique.ts": "63dcf503d9e2d5422f0ee7d0f938b6e62e195127b3f9c2aabee8f42dbc7680ac"
1111
+ },
1112
+ "requires": []
1113
+ }
1114
+ ],
1115
+ "scope": "core",
1116
+ "category": "core/array",
1117
+ "description": "배열의 중복을 제거한 새 배열을 반환한다. 각 값의 첫 등장 순서를 보존하며 입력 배열은 변형하지 않는다.",
337
1118
  "dependencies": [],
338
1119
  "files": [
339
1120
  "array/unique/index.ts",
@@ -342,7 +1123,24 @@
342
1123
  },
343
1124
  {
344
1125
  "name": "array-unique-by",
345
- "description": "`keyFn`이 돌려준 키를 기준으로 배열의 중복을 제거한 새 배열을 반환한다.",
1126
+ "packageName": "@hermes/array-unique-by",
1127
+ "version": "1.0.0",
1128
+ "modules": [
1129
+ {
1130
+ "name": "array-unique-by",
1131
+ "packageName": "@hermes/array-unique-by",
1132
+ "version": "1.0.0",
1133
+ "scope": "core",
1134
+ "files": {
1135
+ "array/unique-by/index.ts": "016e9acb90587289f602d8d64f69aace913da48c656f6f87bcedde8264ceb05c",
1136
+ "array/unique-by/unique-by.ts": "4fe8a57ffc16ddffceb7f51e3112579f12290ae3610e97782bb62f8bd4b66fcb"
1137
+ },
1138
+ "requires": []
1139
+ }
1140
+ ],
1141
+ "scope": "core",
1142
+ "category": "core/array",
1143
+ "description": "`keyFn`이 돌려준 키를 기준으로 배열의 중복을 제거한 새 배열을 반환한다. 같은 키가 처음 나온 항목만 남기고 첫 등장 순서를 보존하며, 입력 배열은 변형하지 않는다.",
346
1144
  "dependencies": [],
347
1145
  "files": [
348
1146
  "array/unique-by/index.ts",
@@ -351,7 +1149,24 @@
351
1149
  },
352
1150
  {
353
1151
  "name": "array-windowed",
354
- "description": "배열 위를 `size` 길이의 창으로 훑으며, 각 위치의 부분 배열을 모아 반환한다.",
1152
+ "packageName": "@hermes/array-windowed",
1153
+ "version": "1.0.0",
1154
+ "modules": [
1155
+ {
1156
+ "name": "array-windowed",
1157
+ "packageName": "@hermes/array-windowed",
1158
+ "version": "1.0.0",
1159
+ "scope": "core",
1160
+ "files": {
1161
+ "array/windowed/index.ts": "ec312f4f56df2a6ca3352bd272b9ad7390c51a72d2c6330be83a88b054cde2ae",
1162
+ "array/windowed/windowed.ts": "847464bc642e3b38c838fcfd00838059b7f0fe1251a3a9ff8983eab7d42f0e9f"
1163
+ },
1164
+ "requires": []
1165
+ }
1166
+ ],
1167
+ "scope": "core",
1168
+ "category": "core/array",
1169
+ "description": "배열 위를 `size` 길이의 창으로 훑으며, 각 위치의 부분 배열을 모아 반환한다. `step`만큼 창을 옮긴다(기본 1). 이동 평균이나 인접 원소 비교에 사용한다.",
355
1170
  "dependencies": [],
356
1171
  "files": [
357
1172
  "array/windowed/index.ts",
@@ -360,7 +1175,24 @@
360
1175
  },
361
1176
  {
362
1177
  "name": "array-zip",
363
- "description": "두 배열을 같은 인덱스끼리 `[A, B]` 튜플로 묶는다. 더 짧은 배열 길이까지만",
1178
+ "packageName": "@hermes/array-zip",
1179
+ "version": "1.0.0",
1180
+ "modules": [
1181
+ {
1182
+ "name": "array-zip",
1183
+ "packageName": "@hermes/array-zip",
1184
+ "version": "1.0.0",
1185
+ "scope": "core",
1186
+ "files": {
1187
+ "array/zip/index.ts": "5ffaf0268d688cb294db900b9d984b469afb39eb3933994cc128e20cef40839e",
1188
+ "array/zip/zip.ts": "0a619e86c9785b070e05967c04973b772a65da7ac61fa7c53413e695fa36e31e"
1189
+ },
1190
+ "requires": []
1191
+ }
1192
+ ],
1193
+ "scope": "core",
1194
+ "category": "core/array",
1195
+ "description": "두 배열을 같은 인덱스끼리 `[A, B]` 튜플로 묶는다. 더 짧은 배열 길이까지만 묶고 남는 원소는 버린다.",
364
1196
  "dependencies": [],
365
1197
  "files": [
366
1198
  "array/zip/index.ts",
@@ -369,6 +1201,23 @@
369
1201
  },
370
1202
  {
371
1203
  "name": "boolean-parse-boolean",
1204
+ "packageName": "@hermes/boolean-parse-boolean",
1205
+ "version": "1.0.0",
1206
+ "modules": [
1207
+ {
1208
+ "name": "boolean-parse-boolean",
1209
+ "packageName": "@hermes/boolean-parse-boolean",
1210
+ "version": "1.0.0",
1211
+ "scope": "core",
1212
+ "files": {
1213
+ "boolean/parse-boolean/index.ts": "e5b4d76c3edea464b2e46cdfba6515fefb404d0327cc9b54e73f013b2e5513ac",
1214
+ "boolean/parse-boolean/parse-boolean.ts": "2f599f2c6b39c04296e787a873cb949b657cb0623693df7058ca7bf3969d65b6"
1215
+ },
1216
+ "requires": []
1217
+ }
1218
+ ],
1219
+ "scope": "core",
1220
+ "category": "core/boolean",
372
1221
  "description": "다양한 입력을 boolean으로 해석한다.",
373
1222
  "dependencies": [],
374
1223
  "files": [
@@ -378,6 +1227,23 @@
378
1227
  },
379
1228
  {
380
1229
  "name": "boolean-toggle",
1230
+ "packageName": "@hermes/boolean-toggle",
1231
+ "version": "1.0.0",
1232
+ "modules": [
1233
+ {
1234
+ "name": "boolean-toggle",
1235
+ "packageName": "@hermes/boolean-toggle",
1236
+ "version": "1.0.0",
1237
+ "scope": "core",
1238
+ "files": {
1239
+ "boolean/toggle/index.ts": "baa0f9fabde8d6eab426db28dbf34408a138bf52879c3fa01c3822381810bfda",
1240
+ "boolean/toggle/toggle.ts": "56ea40f2935e6603e14d9ed08f5c66875f25373906f6015718f7c039f7080ac8"
1241
+ },
1242
+ "requires": []
1243
+ }
1244
+ ],
1245
+ "scope": "core",
1246
+ "category": "core/boolean",
381
1247
  "description": "boolean 값을 반전한다.",
382
1248
  "dependencies": [],
383
1249
  "files": [
@@ -387,6 +1253,23 @@
387
1253
  },
388
1254
  {
389
1255
  "name": "boolean-xor",
1256
+ "packageName": "@hermes/boolean-xor",
1257
+ "version": "1.0.0",
1258
+ "modules": [
1259
+ {
1260
+ "name": "boolean-xor",
1261
+ "packageName": "@hermes/boolean-xor",
1262
+ "version": "1.0.0",
1263
+ "scope": "core",
1264
+ "files": {
1265
+ "boolean/xor/index.ts": "0687b81ffcd7d555e4b2579b8817264a408ba2aea167e45f8e8ee08c34ed2612",
1266
+ "boolean/xor/xor.ts": "9f0f35949e05fa823394ff2957307443ccbc5df3718e4468a6b5fd4151e579d9"
1267
+ },
1268
+ "requires": []
1269
+ }
1270
+ ],
1271
+ "scope": "core",
1272
+ "category": "core/boolean",
390
1273
  "description": "배타적 논리합. 두 boolean 중 정확히 하나만 `true`일 때 `true`.",
391
1274
  "dependencies": [],
392
1275
  "files": [
@@ -396,7 +1279,24 @@
396
1279
  },
397
1280
  {
398
1281
  "name": "data-structure-deque",
399
- "description": "양끝에서 삽입·삭제가 모두 O(1)인 덱(double-ended queue). `Map`과 head/tail",
1282
+ "packageName": "@hermes/data-structure-deque",
1283
+ "version": "1.0.0",
1284
+ "modules": [
1285
+ {
1286
+ "name": "data-structure-deque",
1287
+ "packageName": "@hermes/data-structure-deque",
1288
+ "version": "1.0.0",
1289
+ "scope": "core",
1290
+ "files": {
1291
+ "data-structure/deque/deque.ts": "1b9884ef801a2c204d4b5e249ef19a072ae52c37d99717374332886ae69d70a1",
1292
+ "data-structure/deque/index.ts": "581808b1065657e439d0e6257c7ba9c415bb3b82d202882430d2b6e5044042c8"
1293
+ },
1294
+ "requires": []
1295
+ }
1296
+ ],
1297
+ "scope": "core",
1298
+ "category": "core/data-structure",
1299
+ "description": "양끝에서 삽입·삭제가 모두 O(1)인 덱(double-ended queue). `Map`과 head/tail 인덱스로 구현했다.",
400
1300
  "dependencies": [],
401
1301
  "files": [
402
1302
  "data-structure/deque/deque.ts",
@@ -405,7 +1305,24 @@
405
1305
  },
406
1306
  {
407
1307
  "name": "data-structure-fenwick-tree",
408
- "description": "Fenwick Tree(Binary Indexed Tree). 점 갱신과 접두합·구간합을 모두 O(log n)에",
1308
+ "packageName": "@hermes/data-structure-fenwick-tree",
1309
+ "version": "1.0.0",
1310
+ "modules": [
1311
+ {
1312
+ "name": "data-structure-fenwick-tree",
1313
+ "packageName": "@hermes/data-structure-fenwick-tree",
1314
+ "version": "1.0.0",
1315
+ "scope": "core",
1316
+ "files": {
1317
+ "data-structure/fenwick-tree/fenwick-tree.ts": "67c88c2f39bc9fa94732eb6b24f4886ef65fd42029bd62d6e26cc5d6581ac1f9",
1318
+ "data-structure/fenwick-tree/index.ts": "1c2a996d4b9ab9deda5d0725244344befae5b65f19d162981662b68305de8084"
1319
+ },
1320
+ "requires": []
1321
+ }
1322
+ ],
1323
+ "scope": "core",
1324
+ "category": "core/data-structure",
1325
+ "description": "Fenwick Tree(Binary Indexed Tree). 점 갱신과 접두합·구간합을 모두 O(log n)에 처리하는 `number` 배열 누적합 구조.",
409
1326
  "dependencies": [],
410
1327
  "files": [
411
1328
  "data-structure/fenwick-tree/fenwick-tree.ts",
@@ -414,7 +1331,26 @@
414
1331
  },
415
1332
  {
416
1333
  "name": "data-structure-heap",
417
- "description": "비교 함수(`compareBy`)로 우선순위를 정하는 이진 힙. 추상 베이스 `Heap`에서",
1334
+ "packageName": "@hermes/data-structure-heap",
1335
+ "version": "1.0.0",
1336
+ "modules": [
1337
+ {
1338
+ "name": "data-structure-heap",
1339
+ "packageName": "@hermes/data-structure-heap",
1340
+ "version": "1.0.0",
1341
+ "scope": "core",
1342
+ "files": {
1343
+ "data-structure/heap/heap.ts": "68fc95274e5a2234fc3992cd1cba59e523050d55ae3a842bfbac30943b24f6f6",
1344
+ "data-structure/heap/index.ts": "d84ec9b2413aa9020e3c6ab99b9589328ae543c89257b099bddefacd4640865b",
1345
+ "data-structure/heap/max-heap.ts": "e11fff5efd124e2d636f0f42c475ae593091a416a11dad840c67ed2fa55a986c",
1346
+ "data-structure/heap/min-heap.ts": "e4271b7630458178c4dd8b76f6fce5fa8f00f86370043f6adf1ae51828f1efb8"
1347
+ },
1348
+ "requires": []
1349
+ }
1350
+ ],
1351
+ "scope": "core",
1352
+ "category": "core/data-structure",
1353
+ "description": "비교 함수(`compareBy`)로 우선순위를 정하는 이진 힙. 추상 베이스 `Heap`에서 `MinHeap`·`MaxHeap`이 파생된다.",
418
1354
  "dependencies": [],
419
1355
  "files": [
420
1356
  "data-structure/heap/heap.ts",
@@ -425,16 +1361,74 @@
425
1361
  },
426
1362
  {
427
1363
  "name": "data-structure-priority-queue",
1364
+ "packageName": "@hermes/data-structure-priority-queue",
1365
+ "version": "1.0.0",
1366
+ "modules": [
1367
+ {
1368
+ "name": "data-structure-heap",
1369
+ "packageName": "@hermes/data-structure-heap",
1370
+ "version": "1.0.0",
1371
+ "scope": "core",
1372
+ "files": {
1373
+ "data-structure/heap/heap.ts": "68fc95274e5a2234fc3992cd1cba59e523050d55ae3a842bfbac30943b24f6f6",
1374
+ "data-structure/heap/index.ts": "d84ec9b2413aa9020e3c6ab99b9589328ae543c89257b099bddefacd4640865b",
1375
+ "data-structure/heap/max-heap.ts": "e11fff5efd124e2d636f0f42c475ae593091a416a11dad840c67ed2fa55a986c",
1376
+ "data-structure/heap/min-heap.ts": "e4271b7630458178c4dd8b76f6fce5fa8f00f86370043f6adf1ae51828f1efb8"
1377
+ },
1378
+ "requires": []
1379
+ },
1380
+ {
1381
+ "name": "data-structure-priority-queue",
1382
+ "packageName": "@hermes/data-structure-priority-queue",
1383
+ "version": "1.0.0",
1384
+ "scope": "core",
1385
+ "files": {
1386
+ "data-structure/priority-queue/index.ts": "70ea451cc731c2201a617be3e8a00f30b4c6c34d40cddf1d6cb65371082365e9",
1387
+ "data-structure/priority-queue/priority-queue.ts": "0ce8a7bd626cb435af32b02d960d8fb56689ad7600bea549ba4170f98c8dea42"
1388
+ },
1389
+ "requires": [
1390
+ {
1391
+ "packageName": "@hermes/data-structure-heap",
1392
+ "range": "^1.0.0",
1393
+ "kind": "dependency",
1394
+ "internal": true,
1395
+ "optional": false
1396
+ }
1397
+ ]
1398
+ }
1399
+ ],
1400
+ "scope": "core",
1401
+ "category": "core/data-structure",
428
1402
  "description": "[heap](../../heap) 위에 큐 API를 얹은 우선순위 큐. 요소 비교 함수를 직접 주입한다.",
429
1403
  "dependencies": [],
430
1404
  "files": [
431
1405
  "data-structure/heap/heap.ts",
1406
+ "data-structure/heap/index.ts",
1407
+ "data-structure/heap/max-heap.ts",
1408
+ "data-structure/heap/min-heap.ts",
432
1409
  "data-structure/priority-queue/index.ts",
433
1410
  "data-structure/priority-queue/priority-queue.ts"
434
1411
  ]
435
1412
  },
436
1413
  {
437
1414
  "name": "data-structure-queue",
1415
+ "packageName": "@hermes/data-structure-queue",
1416
+ "version": "1.0.0",
1417
+ "modules": [
1418
+ {
1419
+ "name": "data-structure-queue",
1420
+ "packageName": "@hermes/data-structure-queue",
1421
+ "version": "1.0.0",
1422
+ "scope": "core",
1423
+ "files": {
1424
+ "data-structure/queue/index.ts": "5449262477397ff04d1248c5b2fd488b7f582aea4f75029544c99b3ff331796e",
1425
+ "data-structure/queue/queue.ts": "bdbe6a42bde34b0ddcd9a65c15fc562919eb0d68bff18e8c7162f76d3fcf9119"
1426
+ },
1427
+ "requires": []
1428
+ }
1429
+ ],
1430
+ "scope": "core",
1431
+ "category": "core/data-structure",
438
1432
  "description": "단일 연결 리스트 기반 FIFO 큐. 모든 핵심 연산이 O(1)이다.",
439
1433
  "dependencies": [],
440
1434
  "files": [
@@ -444,7 +1438,24 @@
444
1438
  },
445
1439
  {
446
1440
  "name": "data-structure-segment-tree",
447
- "description": "점 갱신과 임의 결합 연산의 구간 질의를 O(log n)에 처리하는 세그먼트 트리.",
1441
+ "packageName": "@hermes/data-structure-segment-tree",
1442
+ "version": "1.0.0",
1443
+ "modules": [
1444
+ {
1445
+ "name": "data-structure-segment-tree",
1446
+ "packageName": "@hermes/data-structure-segment-tree",
1447
+ "version": "1.0.0",
1448
+ "scope": "core",
1449
+ "files": {
1450
+ "data-structure/segment-tree/index.ts": "3b908606aceb4cc3b15bda6e2102b0e63e94cc3b9b2d87a2a170968ea9fd59c7",
1451
+ "data-structure/segment-tree/segment-tree.ts": "205bb812ccefa143ecaf72e863209d74231b5c4b1e065dd2c5ae64a1081daf68"
1452
+ },
1453
+ "requires": []
1454
+ }
1455
+ ],
1456
+ "scope": "core",
1457
+ "category": "core/data-structure",
1458
+ "description": "점 갱신과 임의 결합 연산의 구간 질의를 O(log n)에 처리하는 세그먼트 트리. `identity`/`combine`만 바꾸면 합·최소·최대 등 어떤 모노이드에도 쓴다.",
448
1459
  "dependencies": [],
449
1460
  "files": [
450
1461
  "data-structure/segment-tree/index.ts",
@@ -453,6 +1464,23 @@
453
1464
  },
454
1465
  {
455
1466
  "name": "data-structure-trie",
1467
+ "packageName": "@hermes/data-structure-trie",
1468
+ "version": "1.0.0",
1469
+ "modules": [
1470
+ {
1471
+ "name": "data-structure-trie",
1472
+ "packageName": "@hermes/data-structure-trie",
1473
+ "version": "1.0.0",
1474
+ "scope": "core",
1475
+ "files": {
1476
+ "data-structure/trie/index.ts": "fff54fa5b0b25225ff37d8627396902a67bd6949524c362068da2013cdd0af2e",
1477
+ "data-structure/trie/trie.ts": "e3befa9733eaef3cc6d72702f8c6b02f60935e2c82085f76fd65b097945412f9"
1478
+ },
1479
+ "requires": []
1480
+ }
1481
+ ],
1482
+ "scope": "core",
1483
+ "category": "core/data-structure",
456
1484
  "description": "접두사 트리(prefix tree). 문자열 집합 저장과 접두사 검색·자동완성에 쓴다.",
457
1485
  "dependencies": [],
458
1486
  "files": [
@@ -462,7 +1490,24 @@
462
1490
  },
463
1491
  {
464
1492
  "name": "data-structure-union-find",
465
- "description": "서로소 집합(Disjoint Set Union). 원소들을 그룹으로 합치고 같은 그룹인지",
1493
+ "packageName": "@hermes/data-structure-union-find",
1494
+ "version": "1.0.0",
1495
+ "modules": [
1496
+ {
1497
+ "name": "data-structure-union-find",
1498
+ "packageName": "@hermes/data-structure-union-find",
1499
+ "version": "1.0.0",
1500
+ "scope": "core",
1501
+ "files": {
1502
+ "data-structure/union-find/index.ts": "024399647096d798a1263b9e2e8ca16c512e69f55d0799831445236f9186d8fa",
1503
+ "data-structure/union-find/union-find.ts": "9a23ce526b297a8b7d477c06d0f10be9000014208a61d44955edfe2671064f21"
1504
+ },
1505
+ "requires": []
1506
+ }
1507
+ ],
1508
+ "scope": "core",
1509
+ "category": "core/data-structure",
1510
+ "description": "서로소 집합(Disjoint Set Union). 원소들을 그룹으로 합치고 같은 그룹인지 거의 상수 시간에 묻는다.",
466
1511
  "dependencies": [],
467
1512
  "files": [
468
1513
  "data-structure/union-find/index.ts",
@@ -471,7 +1516,24 @@
471
1516
  },
472
1517
  {
473
1518
  "name": "dom-attribute",
474
- "description": "DOM 요소의 attribute 값을 읽고 설정하는 유틸을 제공한다. `null`과 `undefined`는",
1519
+ "packageName": "@hermes/dom-attribute",
1520
+ "version": "1.0.0",
1521
+ "modules": [
1522
+ {
1523
+ "name": "dom-attribute",
1524
+ "packageName": "@hermes/dom-attribute",
1525
+ "version": "1.0.0",
1526
+ "scope": "core",
1527
+ "files": {
1528
+ "dom/attribute/attribute.ts": "0ffa49b8a742f14a05683304d12661d71d228f2a29cb0203e047f82ac3c66e36",
1529
+ "dom/attribute/index.ts": "b58ef7a3bf98ab8447c32980d5cd2d906231f7f772fa18ac802a97a47a658204"
1530
+ },
1531
+ "requires": []
1532
+ }
1533
+ ],
1534
+ "scope": "core",
1535
+ "category": "core/dom",
1536
+ "description": "DOM 요소의 attribute 값을 읽고 설정하는 유틸을 제공한다. `null`과 `undefined`는 attribute 제거로 처리하고, 그 외 값은 문자열로 변환해 설정한다.",
475
1537
  "dependencies": [],
476
1538
  "runtime": "dom",
477
1539
  "files": [
@@ -481,7 +1543,24 @@
481
1543
  },
482
1544
  {
483
1545
  "name": "dom-class-name",
484
- "description": "DOM 요소의 `classList`를 다루는 작은 유틸을 제공한다. 공백으로 이어진 문자열이나",
1546
+ "packageName": "@hermes/dom-class-name",
1547
+ "version": "1.0.0",
1548
+ "modules": [
1549
+ {
1550
+ "name": "dom-class-name",
1551
+ "packageName": "@hermes/dom-class-name",
1552
+ "version": "1.0.0",
1553
+ "scope": "core",
1554
+ "files": {
1555
+ "dom/class-name/class-name.ts": "895ce7b801e0ffc63d1346b6d420d6bc8a26a20e8f6917cf78ddf5c45a02120a",
1556
+ "dom/class-name/index.ts": "406840891f7e3defafe0b2536db55c6381e1a9b7bae876936358f75679351b08"
1557
+ },
1558
+ "requires": []
1559
+ }
1560
+ ],
1561
+ "scope": "core",
1562
+ "category": "core/dom",
1563
+ "description": "DOM 요소의 `classList`를 다루는 작은 유틸을 제공한다. 공백으로 이어진 문자열이나 문자열 배열을 받아 비어 있는 class token은 건너뛴다.",
485
1564
  "dependencies": [],
486
1565
  "runtime": "dom",
487
1566
  "files": [
@@ -491,7 +1570,24 @@
491
1570
  },
492
1571
  {
493
1572
  "name": "dom-is-element",
494
- "description": "값이 DOM `Element`처럼 보이는지 판별한다. 다른 window/iframe에서 온 요소도",
1573
+ "packageName": "@hermes/dom-is-element",
1574
+ "version": "1.0.0",
1575
+ "modules": [
1576
+ {
1577
+ "name": "dom-is-element",
1578
+ "packageName": "@hermes/dom-is-element",
1579
+ "version": "1.0.0",
1580
+ "scope": "core",
1581
+ "files": {
1582
+ "dom/is-element/index.ts": "aca97e18d76d39334305850065a580d6f6c67a770095476e04bea7c97fbd95ad",
1583
+ "dom/is-element/is-element.ts": "15a86226d933e3d1198547defc304c395223cd1caa1c02ae25ff3b6b1294da5e"
1584
+ },
1585
+ "requires": []
1586
+ }
1587
+ ],
1588
+ "scope": "core",
1589
+ "category": "core/dom",
1590
+ "description": "값이 DOM `Element`처럼 보이는지 판별한다. 다른 window/iframe에서 온 요소도 처리할 수 있도록 `instanceof Element` 대신 `nodeType`과 `nodeName`을 확인한다.",
495
1591
  "dependencies": [],
496
1592
  "runtime": "dom",
497
1593
  "files": [
@@ -501,6 +1597,23 @@
501
1597
  },
502
1598
  {
503
1599
  "name": "dom-query",
1600
+ "packageName": "@hermes/dom-query",
1601
+ "version": "1.0.0",
1602
+ "modules": [
1603
+ {
1604
+ "name": "dom-query",
1605
+ "packageName": "@hermes/dom-query",
1606
+ "version": "1.0.0",
1607
+ "scope": "core",
1608
+ "files": {
1609
+ "dom/query/index.ts": "4c39b9f6920a9b265b02974e4c349f9e778fc038198e04a6cedc9432fa256ff5",
1610
+ "dom/query/query.ts": "5c04b31518f33f14a1c5c366916d6602e930c0814d0d135c0ced3ed4837ffec2"
1611
+ },
1612
+ "requires": []
1613
+ }
1614
+ ],
1615
+ "scope": "core",
1616
+ "category": "core/dom",
504
1617
  "description": "DOM query 결과를 `null` 대신 `undefined`와 배열로 다루기 위한 작은 래퍼를 제공한다.",
505
1618
  "dependencies": [],
506
1619
  "runtime": "dom",
@@ -511,7 +1624,24 @@
511
1624
  },
512
1625
  {
513
1626
  "name": "http-content-type",
514
- "description": "`Content-Type` 헤더 값을 MIME 타입과 파라미터로 파싱하고 JSON 계열 MIME 타입을",
1627
+ "packageName": "@hermes/http-content-type",
1628
+ "version": "1.0.0",
1629
+ "modules": [
1630
+ {
1631
+ "name": "http-content-type",
1632
+ "packageName": "@hermes/http-content-type",
1633
+ "version": "1.0.0",
1634
+ "scope": "core",
1635
+ "files": {
1636
+ "http/content-type/content-type.ts": "e3e13194fa873ab134876d92274bdd0ddd83f3cf8e4746973186d50194327f91",
1637
+ "http/content-type/index.ts": "fb74c0d566bf7e3d44a4ba91a11ecd1c30f36466776930b2fba5e8d0b5c1c277"
1638
+ },
1639
+ "requires": []
1640
+ }
1641
+ ],
1642
+ "scope": "core",
1643
+ "category": "core/http",
1644
+ "description": "`Content-Type` 헤더 값을 MIME 타입과 파라미터로 파싱하고 JSON 계열 MIME 타입을 판별한다.",
515
1645
  "dependencies": [],
516
1646
  "files": [
517
1647
  "http/content-type/content-type.ts",
@@ -520,6 +1650,23 @@
520
1650
  },
521
1651
  {
522
1652
  "name": "http-header",
1653
+ "packageName": "@hermes/http-header",
1654
+ "version": "1.0.0",
1655
+ "modules": [
1656
+ {
1657
+ "name": "http-header",
1658
+ "packageName": "@hermes/http-header",
1659
+ "version": "1.0.0",
1660
+ "scope": "core",
1661
+ "files": {
1662
+ "http/header/header.ts": "a9234ae918fc017872ffac0b8e24c39da8ca88a9815a56acdb75aa2beb8906a7",
1663
+ "http/header/index.ts": "90037599f35339e06a966b75f6bc71394fcc11014d1fbf3d0851043975e610b1"
1664
+ },
1665
+ "requires": []
1666
+ }
1667
+ ],
1668
+ "scope": "core",
1669
+ "category": "core/http",
523
1670
  "description": "자주 쓰는 HTTP 헤더명 상수와 헤더명 판별/정규화 함수를 제공한다.",
524
1671
  "dependencies": [],
525
1672
  "files": [
@@ -529,6 +1676,23 @@
529
1676
  },
530
1677
  {
531
1678
  "name": "http-method",
1679
+ "packageName": "@hermes/http-method",
1680
+ "version": "1.0.0",
1681
+ "modules": [
1682
+ {
1683
+ "name": "http-method",
1684
+ "packageName": "@hermes/http-method",
1685
+ "version": "1.0.0",
1686
+ "scope": "core",
1687
+ "files": {
1688
+ "http/method/index.ts": "f204bf411474904f91e8ceaf66bbe62baeac55561c76e97cec009c83ef729eec",
1689
+ "http/method/method.ts": "5328a01b43db83e4de30129625e3ff34c4cda6fbb776a919c1563e9f9bfda32a"
1690
+ },
1691
+ "requires": []
1692
+ }
1693
+ ],
1694
+ "scope": "core",
1695
+ "category": "core/http",
532
1696
  "description": "HTTP 메서드 상수와 메서드 판별/정규화 함수를 제공한다.",
533
1697
  "dependencies": [],
534
1698
  "files": [
@@ -538,15 +1702,97 @@
538
1702
  },
539
1703
  {
540
1704
  "name": "http-status",
541
- "description": "HTTP 상태 코드 상수와 상태 코드 범위 판별 함수를 제공한다. 등록된 상태 코드인지와",
1705
+ "packageName": "@hermes/http-status",
1706
+ "version": "1.0.0",
1707
+ "modules": [
1708
+ {
1709
+ "name": "http-status",
1710
+ "packageName": "@hermes/http-status",
1711
+ "version": "1.0.0",
1712
+ "scope": "core",
1713
+ "files": {
1714
+ "http/status/index.ts": "8715413232bc8d2c753f38920706d1c1a354ce9c9fb3da94abfd8eb43313c083",
1715
+ "http/status/status.ts": "9123ab8816da2758aaf43bf92971d6bb1bc2b4a464de6d005cdcc86701f3710e"
1716
+ },
1717
+ "requires": []
1718
+ }
1719
+ ],
1720
+ "scope": "core",
1721
+ "category": "core/http",
1722
+ "description": "HTTP 상태 코드 상수와 상태 코드 범위 판별 함수를 제공한다. 등록된 상태 코드인지와 HTTP 상태 코드 범위(`100`-`599`)에 들어오는지는 분리해서 판단한다.",
542
1723
  "dependencies": [],
543
1724
  "files": [
544
1725
  "http/status/index.ts",
545
1726
  "http/status/status.ts"
546
1727
  ]
547
1728
  },
1729
+ {
1730
+ "name": "lint-fsd",
1731
+ "packageName": "@hermes/lint-fsd",
1732
+ "version": "0.1.0",
1733
+ "modules": [
1734
+ {
1735
+ "name": "lint-fsd",
1736
+ "packageName": "@hermes/lint-fsd",
1737
+ "version": "0.1.0",
1738
+ "scope": "lib",
1739
+ "files": {
1740
+ "lint/fsd/fsd.ts": "7bca7aae487a8d2bad71f2d152b8420a2cd7a8259c514224b6df764fe7642164",
1741
+ "lint/fsd/import-listener.ts": "b07c96183e23f6e8902b1451fc350cd0eb5e87c0ed77626376fffa870c6434bc",
1742
+ "lint/fsd/index.ts": "b5a08b38570e5094eacf089ecbe5bf0ac12692671bc266c923796172b8a436a8",
1743
+ "lint/fsd/options.ts": "e24e3fb0cf0ab12cda93614ae19fcd1762d2b23c746a087390f612113195193b",
1744
+ "lint/fsd/rules/fsd-layer-imports.ts": "23cee966cf7d230e2762c70d5c115fc49a26a9ccf8ba33a2d2bedb41f244ea0d",
1745
+ "lint/fsd/rules/fsd-public-api.ts": "474eb3d91081db8b31a678990c19ddda346125a54c1a10a7cf7d2ed07eb41b28",
1746
+ "lint/fsd/rules/fsd-slice-segments.ts": "57d72120b747d4d091ae09abc99e8f821c7ebca1ee4e992d1fc9fe1ab29ad275"
1747
+ },
1748
+ "requires": [
1749
+ {
1750
+ "packageName": "eslint",
1751
+ "range": "^9.0.0 || ^10.0.0",
1752
+ "kind": "peer",
1753
+ "internal": false,
1754
+ "optional": true
1755
+ }
1756
+ ]
1757
+ }
1758
+ ],
1759
+ "scope": "lib",
1760
+ "category": "lib/lint",
1761
+ "description": "Feature-Sliced Design의 레이어 의존 방향, slice 경계, public API와 디렉터리 구조를 검사합니다. Hermes CLI가 규칙의 TypeScript 소스를 프로젝트에 생성합니다. 생성된 파일은 자유롭게 수정할 수 있습니다.",
1762
+ "dependencies": [],
1763
+ "runtime": "node",
1764
+ "devDependencies": [
1765
+ "@types/node@^22"
1766
+ ],
1767
+ "files": [
1768
+ "lint/fsd/fsd.ts",
1769
+ "lint/fsd/import-listener.ts",
1770
+ "lint/fsd/index.ts",
1771
+ "lint/fsd/options.ts",
1772
+ "lint/fsd/rules/fsd-layer-imports.ts",
1773
+ "lint/fsd/rules/fsd-public-api.ts",
1774
+ "lint/fsd/rules/fsd-slice-segments.ts"
1775
+ ]
1776
+ },
548
1777
  {
549
1778
  "name": "number-clamp",
1779
+ "packageName": "@hermes/number-clamp",
1780
+ "version": "1.0.0",
1781
+ "modules": [
1782
+ {
1783
+ "name": "number-clamp",
1784
+ "packageName": "@hermes/number-clamp",
1785
+ "version": "1.0.0",
1786
+ "scope": "core",
1787
+ "files": {
1788
+ "number/clamp/clamp.ts": "000ac9ec190fb9f8b9a65e909b9e2fe50bde32f85f7b4c21de35e1780a7daffa",
1789
+ "number/clamp/index.ts": "0de3fa17ad88dca5cfc51f3666204872706e1fb7d781e56ca7689974c3b359bc"
1790
+ },
1791
+ "requires": []
1792
+ }
1793
+ ],
1794
+ "scope": "core",
1795
+ "category": "core/number",
550
1796
  "description": "값을 `[min, max]` 범위로 자른다. 범위를 벗어나면 가까운 경계값으로 고정한다.",
551
1797
  "dependencies": [],
552
1798
  "files": [
@@ -556,7 +1802,24 @@
556
1802
  },
557
1803
  {
558
1804
  "name": "number-factorial",
559
- "description": "음이 아닌 정수의 계승(`n!`)을 구한다. `0! = 1`이고, 음수 입력은 정의되지 않아",
1805
+ "packageName": "@hermes/number-factorial",
1806
+ "version": "1.0.0",
1807
+ "modules": [
1808
+ {
1809
+ "name": "number-factorial",
1810
+ "packageName": "@hermes/number-factorial",
1811
+ "version": "1.0.0",
1812
+ "scope": "core",
1813
+ "files": {
1814
+ "number/factorial/factorial.ts": "5bef26f5cc95b392d41b3dd9d90adb71abbaadbb937cc635e2363087d4fe3c6f",
1815
+ "number/factorial/index.ts": "22a334c45ff5c3c936bd4625ab14507bb03a81c663eb2ee28d8d7e3f31e11016"
1816
+ },
1817
+ "requires": []
1818
+ }
1819
+ ],
1820
+ "scope": "core",
1821
+ "category": "core/number",
1822
+ "description": "음이 아닌 정수의 계승(`n!`)을 구한다. `0! = 1`이고, 음수 입력은 정의되지 않아 `RangeError`를 던진다.",
560
1823
  "dependencies": [],
561
1824
  "files": [
562
1825
  "number/factorial/factorial.ts",
@@ -565,7 +1828,24 @@
565
1828
  },
566
1829
  {
567
1830
  "name": "number-format-thousands",
568
- "description": "정수부에 천 단위 콤마를 넣는다. 소수부와 음수 부호는 그대로 보존한다.",
1831
+ "packageName": "@hermes/number-format-thousands",
1832
+ "version": "1.0.0",
1833
+ "modules": [
1834
+ {
1835
+ "name": "number-format-thousands",
1836
+ "packageName": "@hermes/number-format-thousands",
1837
+ "version": "1.0.0",
1838
+ "scope": "core",
1839
+ "files": {
1840
+ "number/format-thousands/format-thousands.ts": "83b7d751965dc53f49f9ea586256121900e521bebbc3f5f7d531d1c6c75552c1",
1841
+ "number/format-thousands/index.ts": "db1caaa9da5c0521b8c142ab1ccde6e4cda73bce800d1e6d2172518e01501dd8"
1842
+ },
1843
+ "requires": []
1844
+ }
1845
+ ],
1846
+ "scope": "core",
1847
+ "category": "core/number",
1848
+ "description": "정수부에 천 단위 콤마를 넣는다. 소수부와 음수 부호는 그대로 보존한다. `Intl.NumberFormat`의 로케일 의존(구분자·소수부 절단)을 피하려 문자열을 직접 가공해 콤마 고정 + 소수부 완전 보존을 보장한다.",
569
1849
  "dependencies": [],
570
1850
  "files": [
571
1851
  "number/format-thousands/format-thousands.ts",
@@ -574,7 +1854,24 @@
574
1854
  },
575
1855
  {
576
1856
  "name": "number-gcd",
577
- "description": "두 정수의 최대공약수(GCD)를 유클리드 호제법으로 구한다. 부호는 결과에",
1857
+ "packageName": "@hermes/number-gcd",
1858
+ "version": "1.0.0",
1859
+ "modules": [
1860
+ {
1861
+ "name": "number-gcd",
1862
+ "packageName": "@hermes/number-gcd",
1863
+ "version": "1.0.0",
1864
+ "scope": "core",
1865
+ "files": {
1866
+ "number/gcd/gcd.ts": "579f7d54694397850732238739e15acc259bae77ea646a3ed7a26d1cdfc01213",
1867
+ "number/gcd/index.ts": "3aecb144406fca328275ad15ab1e7bfb2d63a643e977e5cdf5dc5c190412cfd4"
1868
+ },
1869
+ "requires": []
1870
+ }
1871
+ ],
1872
+ "scope": "core",
1873
+ "category": "core/number",
1874
+ "description": "두 정수의 최대공약수(GCD)를 유클리드 호제법으로 구한다. 부호는 결과에 영향을 주지 않으므로 입력을 절댓값 기준으로 계산한다.",
578
1875
  "dependencies": [],
579
1876
  "files": [
580
1877
  "number/gcd/gcd.ts",
@@ -583,6 +1880,23 @@
583
1880
  },
584
1881
  {
585
1882
  "name": "number-in-range",
1883
+ "packageName": "@hermes/number-in-range",
1884
+ "version": "1.0.0",
1885
+ "modules": [
1886
+ {
1887
+ "name": "number-in-range",
1888
+ "packageName": "@hermes/number-in-range",
1889
+ "version": "1.0.0",
1890
+ "scope": "core",
1891
+ "files": {
1892
+ "number/in-range/in-range.ts": "9f60a04ad7147f477009050e126c9670a62180002b532d34c49f59b446da1696",
1893
+ "number/in-range/index.ts": "1311311a22fe33372e50252624cf6802b4675e1cf6752ebbcf67c866e5951b5c"
1894
+ },
1895
+ "requires": []
1896
+ }
1897
+ ],
1898
+ "scope": "core",
1899
+ "category": "core/number",
586
1900
  "description": "값이 `[min, max)` 범위 안에 있는지 검사한다. 하한 `min`은 포함하고 상한 `max`는 제외한다.",
587
1901
  "dependencies": [],
588
1902
  "files": [
@@ -592,6 +1906,23 @@
592
1906
  },
593
1907
  {
594
1908
  "name": "number-is-even",
1909
+ "packageName": "@hermes/number-is-even",
1910
+ "version": "1.0.0",
1911
+ "modules": [
1912
+ {
1913
+ "name": "number-is-even",
1914
+ "packageName": "@hermes/number-is-even",
1915
+ "version": "1.0.0",
1916
+ "scope": "core",
1917
+ "files": {
1918
+ "number/is-even/index.ts": "dc73dba12fba3e24351e813fa6bcadc40f0f477c0c3a9eef7b49e31fa18156e8",
1919
+ "number/is-even/is-even.ts": "1f95d2931cfcbd6e8f78f82316306ddae1086d1ad21c607153f3e5fe8616fc99"
1920
+ },
1921
+ "requires": []
1922
+ }
1923
+ ],
1924
+ "scope": "core",
1925
+ "category": "core/number",
595
1926
  "description": "정수의 짝수 여부를 판정한다. 음수와 0도 동일한 규칙으로 처리한다(`0`은 짝수).",
596
1927
  "dependencies": [],
597
1928
  "files": [
@@ -601,6 +1932,42 @@
601
1932
  },
602
1933
  {
603
1934
  "name": "number-is-odd",
1935
+ "packageName": "@hermes/number-is-odd",
1936
+ "version": "1.0.0",
1937
+ "modules": [
1938
+ {
1939
+ "name": "number-is-even",
1940
+ "packageName": "@hermes/number-is-even",
1941
+ "version": "1.0.0",
1942
+ "scope": "core",
1943
+ "files": {
1944
+ "number/is-even/index.ts": "dc73dba12fba3e24351e813fa6bcadc40f0f477c0c3a9eef7b49e31fa18156e8",
1945
+ "number/is-even/is-even.ts": "1f95d2931cfcbd6e8f78f82316306ddae1086d1ad21c607153f3e5fe8616fc99"
1946
+ },
1947
+ "requires": []
1948
+ },
1949
+ {
1950
+ "name": "number-is-odd",
1951
+ "packageName": "@hermes/number-is-odd",
1952
+ "version": "1.0.0",
1953
+ "scope": "core",
1954
+ "files": {
1955
+ "number/is-odd/index.ts": "375994897f4b212ba122f8434bd0fdc896d0a1b6f7a2cff4acbb194b36b9fb33",
1956
+ "number/is-odd/is-odd.ts": "d65b50053bbf248b59812eb937fc14ccb83807241757c73ab53a1cc17ee4a960"
1957
+ },
1958
+ "requires": [
1959
+ {
1960
+ "packageName": "@hermes/number-is-even",
1961
+ "range": "^1.0.0",
1962
+ "kind": "dependency",
1963
+ "internal": true,
1964
+ "optional": false
1965
+ }
1966
+ ]
1967
+ }
1968
+ ],
1969
+ "scope": "core",
1970
+ "category": "core/number",
604
1971
  "description": "정수의 홀수 여부를 판정한다. 음수와 0도 동일한 규칙으로 처리한다(`0`은 홀수가 아님).",
605
1972
  "dependencies": [],
606
1973
  "files": [
@@ -612,7 +1979,43 @@
612
1979
  },
613
1980
  {
614
1981
  "name": "number-lcm",
615
- "description": "두 정수의 최소공배수(LCM)를 구한다. `|a * b| / gcd(a, b)` 로 계산하되,",
1982
+ "packageName": "@hermes/number-lcm",
1983
+ "version": "1.0.0",
1984
+ "modules": [
1985
+ {
1986
+ "name": "number-gcd",
1987
+ "packageName": "@hermes/number-gcd",
1988
+ "version": "1.0.0",
1989
+ "scope": "core",
1990
+ "files": {
1991
+ "number/gcd/gcd.ts": "579f7d54694397850732238739e15acc259bae77ea646a3ed7a26d1cdfc01213",
1992
+ "number/gcd/index.ts": "3aecb144406fca328275ad15ab1e7bfb2d63a643e977e5cdf5dc5c190412cfd4"
1993
+ },
1994
+ "requires": []
1995
+ },
1996
+ {
1997
+ "name": "number-lcm",
1998
+ "packageName": "@hermes/number-lcm",
1999
+ "version": "1.0.0",
2000
+ "scope": "core",
2001
+ "files": {
2002
+ "number/lcm/index.ts": "1c8a6ce3a0131513975fc8824dec32baca68d88c2d045eb41c2bc79a59cbb341",
2003
+ "number/lcm/lcm.ts": "5b9e702164941ae3d750758a1db52a3321e0912e7aa1d58d68fdbb546e5b8803"
2004
+ },
2005
+ "requires": [
2006
+ {
2007
+ "packageName": "@hermes/number-gcd",
2008
+ "range": "^1.0.0",
2009
+ "kind": "dependency",
2010
+ "internal": true,
2011
+ "optional": false
2012
+ }
2013
+ ]
2014
+ }
2015
+ ],
2016
+ "scope": "core",
2017
+ "category": "core/number",
2018
+ "description": "두 정수의 최소공배수(LCM)를 구한다. `|a * b| / gcd(a, b)` 로 계산하되, 오버플로를 줄이려 먼저 나누고 곱한다. 부호는 절댓값 기준으로 정규화한다.",
616
2019
  "dependencies": [],
617
2020
  "files": [
618
2021
  "number/gcd/gcd.ts",
@@ -623,6 +2026,23 @@
623
2026
  },
624
2027
  {
625
2028
  "name": "number-lerp",
2029
+ "packageName": "@hermes/number-lerp",
2030
+ "version": "1.0.0",
2031
+ "modules": [
2032
+ {
2033
+ "name": "number-lerp",
2034
+ "packageName": "@hermes/number-lerp",
2035
+ "version": "1.0.0",
2036
+ "scope": "core",
2037
+ "files": {
2038
+ "number/lerp/index.ts": "1151705220066be99c40d4ced01bb77afcc6d16220840a3363dda25b9ef9d12a",
2039
+ "number/lerp/lerp.ts": "b6fe38921b7e1e43185543f17d103ebb8aea0ce5f46767f9c3f0f21b4503cea8"
2040
+ },
2041
+ "requires": []
2042
+ }
2043
+ ],
2044
+ "scope": "core",
2045
+ "category": "core/number",
626
2046
  "description": "두 값 사이를 선형 보간(linear interpolation)한다. `t=0`이면 `start`, `t=1`이면 `end`를 돌려준다.",
627
2047
  "dependencies": [],
628
2048
  "files": [
@@ -632,7 +2052,24 @@
632
2052
  },
633
2053
  {
634
2054
  "name": "number-percentage",
635
- "description": "`value`가 `total`에서 차지하는 비율을 백분율(`value / total * 100`)로 계산한다.",
2055
+ "packageName": "@hermes/number-percentage",
2056
+ "version": "1.0.0",
2057
+ "modules": [
2058
+ {
2059
+ "name": "number-percentage",
2060
+ "packageName": "@hermes/number-percentage",
2061
+ "version": "1.0.0",
2062
+ "scope": "core",
2063
+ "files": {
2064
+ "number/percentage/index.ts": "67c16c541bafcb72247993dcb35407fda6a222ed926b547f0b5a24031e225ec6",
2065
+ "number/percentage/percentage.ts": "9517b5f15e862fc23b5a3599a9da06b6315ca45a0642cec1e7dd10baa7f198d2"
2066
+ },
2067
+ "requires": []
2068
+ }
2069
+ ],
2070
+ "scope": "core",
2071
+ "category": "core/number",
2072
+ "description": "`value`가 `total`에서 차지하는 비율을 백분율(`value / total * 100`)로 계산한다. `total`이 `0`이면 나눗셈 대신 `0`을 돌려준다.",
636
2073
  "dependencies": [],
637
2074
  "files": [
638
2075
  "number/percentage/index.ts",
@@ -641,7 +2078,24 @@
641
2078
  },
642
2079
  {
643
2080
  "name": "number-random",
644
- "description": "`[min, max)` 구간의 실수 난수를 반환한다. `min`은 포함하고 `max`는 제외한다.",
2081
+ "packageName": "@hermes/number-random",
2082
+ "version": "1.0.0",
2083
+ "modules": [
2084
+ {
2085
+ "name": "number-random",
2086
+ "packageName": "@hermes/number-random",
2087
+ "version": "1.0.0",
2088
+ "scope": "core",
2089
+ "files": {
2090
+ "number/random/index.ts": "4695c157714c4f0baf3647241c3d9f1d012d1203bb4b0184ad4590267a3952b8",
2091
+ "number/random/random.ts": "fcf432b2b85cb208c754426f3949362e12b1abcbe348347997927b47b3116b98"
2092
+ },
2093
+ "requires": []
2094
+ }
2095
+ ],
2096
+ "scope": "core",
2097
+ "category": "core/number",
2098
+ "description": "`[min, max)` 구간의 실수 난수를 반환한다. `min`은 포함하고 `max`는 제외한다. 난수원은 `Math.random`이라 암호학적으로 안전하지 않다.",
645
2099
  "dependencies": [],
646
2100
  "files": [
647
2101
  "number/random/index.ts",
@@ -650,7 +2104,24 @@
650
2104
  },
651
2105
  {
652
2106
  "name": "number-random-int",
653
- "description": "`[min, max]` 구간의 정수 난수를 반환한다. `min`과 `max` 양끝을 모두 포함한다.",
2107
+ "packageName": "@hermes/number-random-int",
2108
+ "version": "1.0.0",
2109
+ "modules": [
2110
+ {
2111
+ "name": "number-random-int",
2112
+ "packageName": "@hermes/number-random-int",
2113
+ "version": "1.0.0",
2114
+ "scope": "core",
2115
+ "files": {
2116
+ "number/random-int/index.ts": "0b652e1777dc7df6bd4112b063aa939ff71daf656fcde14363a3d6294837fe70",
2117
+ "number/random-int/random-int.ts": "befcfb7a411e9c403186c5191fd4c84d812ba089b4fa66b87a0ea1626fbb1c92"
2118
+ },
2119
+ "requires": []
2120
+ }
2121
+ ],
2122
+ "scope": "core",
2123
+ "category": "core/number",
2124
+ "description": "`[min, max]` 구간의 정수 난수를 반환한다. `min`과 `max` 양끝을 모두 포함한다. 난수원은 `Math.random`이라 암호학적으로 안전하지 않다.",
654
2125
  "dependencies": [],
655
2126
  "files": [
656
2127
  "number/random-int/index.ts",
@@ -659,7 +2130,24 @@
659
2130
  },
660
2131
  {
661
2132
  "name": "number-round",
662
- "description": "`value`를 `digits` 자리수로 반올림한다. 곱셈식 대신 지수 표기로 자리를 옮겨",
2133
+ "packageName": "@hermes/number-round",
2134
+ "version": "1.0.0",
2135
+ "modules": [
2136
+ {
2137
+ "name": "number-round",
2138
+ "packageName": "@hermes/number-round",
2139
+ "version": "1.0.0",
2140
+ "scope": "core",
2141
+ "files": {
2142
+ "number/round/index.ts": "9a823a5d74c726ea33e6a5f814996f38646230956e7a39363595e02878429c8d",
2143
+ "number/round/round.ts": "be4323d11408ee6a9bda444f786a3d2808a65289ce7febcb0e741ebddd3dc437"
2144
+ },
2145
+ "requires": []
2146
+ }
2147
+ ],
2148
+ "scope": "core",
2149
+ "category": "core/number",
2150
+ "description": "`value`를 `digits` 자리수로 반올림한다. 곱셈식 대신 지수 표기로 자리를 옮겨 `1.005` 같은 경계값이 부동소수점 오차 없이 기대대로 반올림되게 한다.",
663
2151
  "dependencies": [],
664
2152
  "files": [
665
2153
  "number/round/index.ts",
@@ -668,7 +2156,24 @@
668
2156
  },
669
2157
  {
670
2158
  "name": "number-safe-parse-number",
671
- "description": "임의의 입력을 숫자로 안전하게 파싱한다. 빈 문자열·`NaN`·`null`·boolean·배열",
2159
+ "packageName": "@hermes/number-safe-parse-number",
2160
+ "version": "1.0.0",
2161
+ "modules": [
2162
+ {
2163
+ "name": "number-safe-parse-number",
2164
+ "packageName": "@hermes/number-safe-parse-number",
2165
+ "version": "1.0.0",
2166
+ "scope": "core",
2167
+ "files": {
2168
+ "number/safe-parse-number/index.ts": "50e853837f309dc8afa46070598360823120e9ce5be7983da47e9f1e42f5fed5",
2169
+ "number/safe-parse-number/safe-parse-number.ts": "d7b0c3291ec2e35b4a4f90cdc19fc1fcb5c535794ddbdb5460d48bfe91f9af74"
2170
+ },
2171
+ "requires": []
2172
+ }
2173
+ ],
2174
+ "scope": "core",
2175
+ "category": "core/number",
2176
+ "description": "임의의 입력을 숫자로 안전하게 파싱한다. 빈 문자열·`NaN`·`null`·boolean·배열 처럼 숫자로 볼 수 없는 값은 `Number()`의 함정을 피해 `fallback`(기본 0)으로 돌려준다.",
672
2177
  "dependencies": [],
673
2178
  "files": [
674
2179
  "number/safe-parse-number/index.ts",
@@ -677,7 +2182,24 @@
677
2182
  },
678
2183
  {
679
2184
  "name": "number-to-ordinal",
680
- "description": "정수를 영어 서수 문자열로 바꾼다. `1 -> \"1st\"`, `2 -> \"2nd\"`, `3 -> \"3rd\"`,",
2185
+ "packageName": "@hermes/number-to-ordinal",
2186
+ "version": "1.0.0",
2187
+ "modules": [
2188
+ {
2189
+ "name": "number-to-ordinal",
2190
+ "packageName": "@hermes/number-to-ordinal",
2191
+ "version": "1.0.0",
2192
+ "scope": "core",
2193
+ "files": {
2194
+ "number/to-ordinal/index.ts": "9031d2ae96bc961c9e242fce4ec8dae50eb80d68e24afd959093fe2fcd879f86",
2195
+ "number/to-ordinal/to-ordinal.ts": "a58a8a368cd12c8e34534ef0f6f59f7788638be00636182f1fd09879ed1c6289"
2196
+ },
2197
+ "requires": []
2198
+ }
2199
+ ],
2200
+ "scope": "core",
2201
+ "category": "core/number",
2202
+ "description": "정수를 영어 서수 문자열로 바꾼다. `1 -> \"1st\"`, `2 -> \"2nd\"`, `3 -> \"3rd\"`, 그 외 `\"th\"`. 끝자리가 1·2·3이어도 11·12·13은 예외로 `\"th\"`다.",
681
2203
  "dependencies": [],
682
2204
  "files": [
683
2205
  "number/to-ordinal/index.ts",
@@ -686,7 +2208,24 @@
686
2208
  },
687
2209
  {
688
2210
  "name": "object-deep-clone",
689
- "description": "plain object와 array를 재귀 복제해 입력과 구조를 공유하지 않는 새 값을 만든다.",
2211
+ "packageName": "@hermes/object-deep-clone",
2212
+ "version": "1.0.0",
2213
+ "modules": [
2214
+ {
2215
+ "name": "object-deep-clone",
2216
+ "packageName": "@hermes/object-deep-clone",
2217
+ "version": "1.0.0",
2218
+ "scope": "core",
2219
+ "files": {
2220
+ "object/deep-clone/deep-clone.ts": "e6c017cff7cebd681730b7ca42f58849a029be87e7265078c0601a8885e70050",
2221
+ "object/deep-clone/index.ts": "3f404d12d062eeedc253a7ebca0db8e6b5586a390336b331f1aedfd4e4d38fd0"
2222
+ },
2223
+ "requires": []
2224
+ }
2225
+ ],
2226
+ "scope": "core",
2227
+ "category": "core/object",
2228
+ "description": "plain object와 array를 재귀 복제해 입력과 구조를 공유하지 않는 새 값을 만든다. `Date`는 같은 시각의 새 인스턴스로 복제하고, 원시·함수는 참조를 그대로 유지한다. 순환 참조는 고려하지 않는다.",
690
2229
  "dependencies": [],
691
2230
  "files": [
692
2231
  "object/deep-clone/deep-clone.ts",
@@ -695,7 +2234,24 @@
695
2234
  },
696
2235
  {
697
2236
  "name": "object-deep-equal",
698
- "description": "두 값의 깊은 동등성을 판정한다. plain object와 array는 구조를 재귀 비교하고,",
2237
+ "packageName": "@hermes/object-deep-equal",
2238
+ "version": "1.0.0",
2239
+ "modules": [
2240
+ {
2241
+ "name": "object-deep-equal",
2242
+ "packageName": "@hermes/object-deep-equal",
2243
+ "version": "1.0.0",
2244
+ "scope": "core",
2245
+ "files": {
2246
+ "object/deep-equal/deep-equal.ts": "cc5ae9f52a11194d8d1bcf1eea2970cc961df5b901a16aa72b3870246a078b02",
2247
+ "object/deep-equal/index.ts": "eea901126ad422f8b851168f681c79910da8916fe3ce46c5647883a073389cd6"
2248
+ },
2249
+ "requires": []
2250
+ }
2251
+ ],
2252
+ "scope": "core",
2253
+ "category": "core/object",
2254
+ "description": "두 값의 깊은 동등성을 판정한다. plain object와 array는 구조를 재귀 비교하고, 그 외(원시·Date)는 값으로 비교한다. 순환 참조는 고려하지 않는다.",
699
2255
  "dependencies": [],
700
2256
  "files": [
701
2257
  "object/deep-equal/deep-equal.ts",
@@ -704,7 +2260,24 @@
704
2260
  },
705
2261
  {
706
2262
  "name": "object-deep-merge",
707
- "description": "중첩 plain object를 재귀 병합한다. 양쪽이 모두 plain object인 키만 더 깊이 들어가고,",
2263
+ "packageName": "@hermes/object-deep-merge",
2264
+ "version": "1.0.0",
2265
+ "modules": [
2266
+ {
2267
+ "name": "object-deep-merge",
2268
+ "packageName": "@hermes/object-deep-merge",
2269
+ "version": "1.0.0",
2270
+ "scope": "core",
2271
+ "files": {
2272
+ "object/deep-merge/deep-merge.ts": "08158a4c9027d36ad1a5f7e479b041b383e104a737506fb247513ddd1d561ae8",
2273
+ "object/deep-merge/index.ts": "ae91da4157821ce34de00323e1e204b64305ae456e47e9f08f1981cbfcd58f1c"
2274
+ },
2275
+ "requires": []
2276
+ }
2277
+ ],
2278
+ "scope": "core",
2279
+ "category": "core/object",
2280
+ "description": "중첩 plain object를 재귀 병합한다. 양쪽이 모두 plain object인 키만 더 깊이 들어가고, 배열·원시·Date 등은 `source` 값으로 통째 교체한다. 입력을 변형하지 않고 새 객체를 반환한다.",
708
2281
  "dependencies": [],
709
2282
  "files": [
710
2283
  "object/deep-merge/deep-merge.ts",
@@ -713,7 +2286,24 @@
713
2286
  },
714
2287
  {
715
2288
  "name": "object-defaults",
716
- "description": "`obj`에서 값이 없는(undefined) 키를 `defaultValues`로 채운 새 객체를 반환한다.",
2289
+ "packageName": "@hermes/object-defaults",
2290
+ "version": "1.0.0",
2291
+ "modules": [
2292
+ {
2293
+ "name": "object-defaults",
2294
+ "packageName": "@hermes/object-defaults",
2295
+ "version": "1.0.0",
2296
+ "scope": "core",
2297
+ "files": {
2298
+ "object/defaults/defaults.ts": "7c5f9b72145fd0bcea248ee7d477162676078b4fb50bfc9fc4ce873a6d750df6",
2299
+ "object/defaults/index.ts": "daefdb58272ad9e4e44aedc046297adfc3b12f8d541c00a1e07d7f291c3b372b"
2300
+ },
2301
+ "requires": []
2302
+ }
2303
+ ],
2304
+ "scope": "core",
2305
+ "category": "core/object",
2306
+ "description": "`obj`에서 값이 없는(undefined) 키를 `defaultValues`로 채운 새 객체를 반환한다. `obj`에 이미 값이 있으면(undefined가 아니면) 그 값을 유지하며, 두 입력 객체는 변형하지 않는다. `0`, `\"\"`, `false` 같은 falsy 값은 존재하는 값으로 보고 덮어쓰지 않는다.",
717
2307
  "dependencies": [],
718
2308
  "files": [
719
2309
  "object/defaults/defaults.ts",
@@ -722,7 +2312,43 @@
722
2312
  },
723
2313
  {
724
2314
  "name": "object-filter-object",
725
- "description": "객체 값의 런타임 타입을 판별해, `filterTypes`에 든 타입의 엔트리를 제거한",
2315
+ "packageName": "@hermes/object-filter-object",
2316
+ "version": "1.0.0",
2317
+ "modules": [
2318
+ {
2319
+ "name": "object-filter-object",
2320
+ "packageName": "@hermes/object-filter-object",
2321
+ "version": "1.0.0",
2322
+ "scope": "core",
2323
+ "files": {
2324
+ "object/filter-object/filter-object.ts": "df08661785354560ec27f4c80bb0e056fa02a6886338469dc58790900f3b613a",
2325
+ "object/filter-object/index.ts": "701d75767700e46dc4c20be5d3fb4b78cae4df981fe24b42ff6b6918f8ce3b14"
2326
+ },
2327
+ "requires": [
2328
+ {
2329
+ "packageName": "@hermes/type-get-type",
2330
+ "range": "^1.0.0",
2331
+ "kind": "dependency",
2332
+ "internal": true,
2333
+ "optional": false
2334
+ }
2335
+ ]
2336
+ },
2337
+ {
2338
+ "name": "type-get-type",
2339
+ "packageName": "@hermes/type-get-type",
2340
+ "version": "1.0.0",
2341
+ "scope": "core",
2342
+ "files": {
2343
+ "type/get-type/get-type.ts": "a7b20a1fadb5d11a188075c1ce7b2cbb2f413a8e34c5a5d23f4de70d61d23067",
2344
+ "type/get-type/index.ts": "0fa1d66782d578c8395c77110000c62c1d14c156863eda96e3d8f5dd53bfa330"
2345
+ },
2346
+ "requires": []
2347
+ }
2348
+ ],
2349
+ "scope": "core",
2350
+ "category": "core/object",
2351
+ "description": "객체 값의 런타임 타입을 판별해, `filterTypes`에 든 타입의 엔트리를 제거한 새 객체를 반환한다.",
726
2352
  "dependencies": [],
727
2353
  "files": [
728
2354
  "object/filter-object/filter-object.ts",
@@ -733,7 +2359,24 @@
733
2359
  },
734
2360
  {
735
2361
  "name": "object-get",
736
- "description": "경로 문자열로 중첩 객체/배열 값에 안전하게 접근한다. 중간 경로가 끊겨도",
2362
+ "packageName": "@hermes/object-get",
2363
+ "version": "1.0.0",
2364
+ "modules": [
2365
+ {
2366
+ "name": "object-get",
2367
+ "packageName": "@hermes/object-get",
2368
+ "version": "1.0.0",
2369
+ "scope": "core",
2370
+ "files": {
2371
+ "object/get/get.ts": "db23b21c02892de3175e8fd97a249618f4cec536a95b88e0d026144bd4d8b811",
2372
+ "object/get/index.ts": "d98169ccb9128829f4234b7310e00eea377929b208137419c3e28e5f98bec011"
2373
+ },
2374
+ "requires": []
2375
+ }
2376
+ ],
2377
+ "scope": "core",
2378
+ "category": "core/object",
2379
+ "description": "경로 문자열로 중첩 객체/배열 값에 안전하게 접근한다. 중간 경로가 끊겨도 예외 없이 `defaultValue`(없으면 `undefined`)를 반환한다.",
737
2380
  "dependencies": [],
738
2381
  "files": [
739
2382
  "object/get/get.ts",
@@ -742,7 +2385,24 @@
742
2385
  },
743
2386
  {
744
2387
  "name": "object-has",
745
- "description": "경로 문자열로 중첩 객체/배열에 해당 키가 존재하는지 판정한다. 값이 아니라",
2388
+ "packageName": "@hermes/object-has",
2389
+ "version": "1.0.0",
2390
+ "modules": [
2391
+ {
2392
+ "name": "object-has",
2393
+ "packageName": "@hermes/object-has",
2394
+ "version": "1.0.0",
2395
+ "scope": "core",
2396
+ "files": {
2397
+ "object/has/has.ts": "377a2155e72327e40d55ce8e7a819708728bf1ba28732804f98b5e1b1d657428",
2398
+ "object/has/index.ts": "7c4648b49a5d8d2e101672d324d73116af3aed4a9ae3f88543cf8805f6ba3a2b"
2399
+ },
2400
+ "requires": []
2401
+ }
2402
+ ],
2403
+ "scope": "core",
2404
+ "category": "core/object",
2405
+ "description": "경로 문자열로 중첩 객체/배열에 해당 키가 존재하는지 판정한다. 값이 아니라 키 소유 여부만 보므로, 값이 `undefined`라도 키가 있으면 `true`다.",
746
2406
  "dependencies": [],
747
2407
  "files": [
748
2408
  "object/has/has.ts",
@@ -751,7 +2411,24 @@
751
2411
  },
752
2412
  {
753
2413
  "name": "object-invert",
754
- "description": "객체의 키와 값을 뒤집은 새 객체를 반환한다. 값이 새 키가 되고 키가 새 값이",
2414
+ "packageName": "@hermes/object-invert",
2415
+ "version": "1.0.0",
2416
+ "modules": [
2417
+ {
2418
+ "name": "object-invert",
2419
+ "packageName": "@hermes/object-invert",
2420
+ "version": "1.0.0",
2421
+ "scope": "core",
2422
+ "files": {
2423
+ "object/invert/index.ts": "3487587f421ea15e7d827e71157612619e7a3663342b90dbde36e4b4565a506e",
2424
+ "object/invert/invert.ts": "f25cbb3c832a9fa782171533788d464203683364803c8e6897df665ced9d1ae9"
2425
+ },
2426
+ "requires": []
2427
+ }
2428
+ ],
2429
+ "scope": "core",
2430
+ "category": "core/object",
2431
+ "description": "객체의 키와 값을 뒤집은 새 객체를 반환한다. 값이 새 키가 되고 키가 새 값이 된다. 객체 키는 문자열로 강제되므로 결과는 `Record<string, string>`이다. 서로 다른 키가 같은 값을 가리키면 마지막 키가 우선하며 입력 객체는 변형하지 않는다.",
755
2432
  "dependencies": [],
756
2433
  "files": [
757
2434
  "object/invert/index.ts",
@@ -760,7 +2437,24 @@
760
2437
  },
761
2438
  {
762
2439
  "name": "object-map-keys",
763
- "description": "객체의 각 키를 `keyFn`으로 변환한 새 객체를 반환한다. 값은 그대로 옮기며",
2440
+ "packageName": "@hermes/object-map-keys",
2441
+ "version": "1.0.0",
2442
+ "modules": [
2443
+ {
2444
+ "name": "object-map-keys",
2445
+ "packageName": "@hermes/object-map-keys",
2446
+ "version": "1.0.0",
2447
+ "scope": "core",
2448
+ "files": {
2449
+ "object/map-keys/index.ts": "84b2ea11e3c274edaf702157a23d2032a856fe9de580bdfa2a38000e918b5b33",
2450
+ "object/map-keys/map-keys.ts": "53259e6a74d1a8f1603eaa97d3c093b6ef443e339ea02ac08c29b7e5ea38caf6"
2451
+ },
2452
+ "requires": []
2453
+ }
2454
+ ],
2455
+ "scope": "core",
2456
+ "category": "core/object",
2457
+ "description": "객체의 각 키를 `keyFn`으로 변환한 새 객체를 반환한다. 값은 그대로 옮기며 입력 객체는 변형하지 않는다. 변환된 키가 겹치면 나중 항목이 우선한다.",
764
2458
  "dependencies": [],
765
2459
  "files": [
766
2460
  "object/map-keys/index.ts",
@@ -769,7 +2463,24 @@
769
2463
  },
770
2464
  {
771
2465
  "name": "object-map-values",
772
- "description": "객체의 각 값을 `valueFn`으로 변환한 새 객체를 반환한다. 키는 그대로 보존하며",
2466
+ "packageName": "@hermes/object-map-values",
2467
+ "version": "1.0.0",
2468
+ "modules": [
2469
+ {
2470
+ "name": "object-map-values",
2471
+ "packageName": "@hermes/object-map-values",
2472
+ "version": "1.0.0",
2473
+ "scope": "core",
2474
+ "files": {
2475
+ "object/map-values/index.ts": "0e043d168c485567574df59096842a9779b9e78dc0cddb6455f510a6fcc91f2b",
2476
+ "object/map-values/map-values.ts": "259e842e3750a7ee33d4d10bee74bbf36ffe41a131df433f139922b48aa76523"
2477
+ },
2478
+ "requires": []
2479
+ }
2480
+ ],
2481
+ "scope": "core",
2482
+ "category": "core/object",
2483
+ "description": "객체의 각 값을 `valueFn`으로 변환한 새 객체를 반환한다. 키는 그대로 보존하며 입력 객체는 변형하지 않는다.",
773
2484
  "dependencies": [],
774
2485
  "files": [
775
2486
  "object/map-values/index.ts",
@@ -778,7 +2489,24 @@
778
2489
  },
779
2490
  {
780
2491
  "name": "object-omit",
781
- "description": "객체에서 지정한 키를 제외한 새 객체를 반환한다. 원본은 변형하지 않으며 남은",
2492
+ "packageName": "@hermes/object-omit",
2493
+ "version": "1.0.0",
2494
+ "modules": [
2495
+ {
2496
+ "name": "object-omit",
2497
+ "packageName": "@hermes/object-omit",
2498
+ "version": "1.0.0",
2499
+ "scope": "core",
2500
+ "files": {
2501
+ "object/omit/index.ts": "efb74fd90271734d2b12bcb22fa7f36372fea78ee4828815ff309d5bdde8224a",
2502
+ "object/omit/omit.ts": "6d82d1eccead2b78eef3f13e27b8f52177a7be41c4ec71e6afeda2ce41c168c5"
2503
+ },
2504
+ "requires": []
2505
+ }
2506
+ ],
2507
+ "scope": "core",
2508
+ "category": "core/object",
2509
+ "description": "객체에서 지정한 키를 제외한 새 객체를 반환한다. 원본은 변형하지 않으며 남은 값은 얕게 복사한다. `pick`의 반대 동작이다.",
782
2510
  "dependencies": [],
783
2511
  "files": [
784
2512
  "object/omit/index.ts",
@@ -787,7 +2515,24 @@
787
2515
  },
788
2516
  {
789
2517
  "name": "object-omit-by",
790
- "description": "`predicate`가 참을 반환한 엔트리를 제외한 새 객체를 반환한다. `pickBy`의 반대",
2518
+ "packageName": "@hermes/object-omit-by",
2519
+ "version": "1.0.0",
2520
+ "modules": [
2521
+ {
2522
+ "name": "object-omit-by",
2523
+ "packageName": "@hermes/object-omit-by",
2524
+ "version": "1.0.0",
2525
+ "scope": "core",
2526
+ "files": {
2527
+ "object/omit-by/index.ts": "231c854737a066b50feb1e651c303d4712c9c86d8ca41d8602c42bdbb4f47739",
2528
+ "object/omit-by/omit-by.ts": "1e8118ef8835d4ce61cba36a933f1cd90b036e12a2466d9485ed6b81d241f3cd"
2529
+ },
2530
+ "requires": []
2531
+ }
2532
+ ],
2533
+ "scope": "core",
2534
+ "category": "core/object",
2535
+ "description": "`predicate`가 참을 반환한 엔트리를 제외한 새 객체를 반환한다. `pickBy`의 반대 동작으로, 값과 키 조건으로 버릴 엔트리를 고른다. 원본은 변형하지 않으며 반환 타입은 `Partial<T>`다.",
791
2536
  "dependencies": [],
792
2537
  "files": [
793
2538
  "object/omit-by/index.ts",
@@ -796,7 +2541,24 @@
796
2541
  },
797
2542
  {
798
2543
  "name": "object-pick",
799
- "description": "객체에서 지정한 키만 골라 새 객체를 반환한다. 원본은 변형하지 않으며 선택된",
2544
+ "packageName": "@hermes/object-pick",
2545
+ "version": "1.0.0",
2546
+ "modules": [
2547
+ {
2548
+ "name": "object-pick",
2549
+ "packageName": "@hermes/object-pick",
2550
+ "version": "1.0.0",
2551
+ "scope": "core",
2552
+ "files": {
2553
+ "object/pick/index.ts": "c71413ea3026d40b535c76095f7c0c6e567e720b701b95f21783c669aa27b2ef",
2554
+ "object/pick/pick.ts": "5afeb645fb83f44408cb8b04f21a1aa2b2681b94cb4cd8f489b007f9953259ca"
2555
+ },
2556
+ "requires": []
2557
+ }
2558
+ ],
2559
+ "scope": "core",
2560
+ "category": "core/object",
2561
+ "description": "객체에서 지정한 키만 골라 새 객체를 반환한다. 원본은 변형하지 않으며 선택된 값은 얕게 복사한다. keys에 있어도 객체에 없는 키는 결과에 담지 않는다.",
800
2562
  "dependencies": [],
801
2563
  "files": [
802
2564
  "object/pick/index.ts",
@@ -805,7 +2567,24 @@
805
2567
  },
806
2568
  {
807
2569
  "name": "object-pick-by",
808
- "description": "`predicate`가 참을 반환한 엔트리만 골라 새 객체를 반환한다. 키가 아니라 값과",
2570
+ "packageName": "@hermes/object-pick-by",
2571
+ "version": "1.0.0",
2572
+ "modules": [
2573
+ {
2574
+ "name": "object-pick-by",
2575
+ "packageName": "@hermes/object-pick-by",
2576
+ "version": "1.0.0",
2577
+ "scope": "core",
2578
+ "files": {
2579
+ "object/pick-by/index.ts": "9b95ed85686e43cb521f001965449ed5876f87023201b8ffded84e197fd1e9ba",
2580
+ "object/pick-by/pick-by.ts": "3818173dc5cd52266988d7d3f8b35f0395988180e3ab861ca7b93aee57d79a5e"
2581
+ },
2582
+ "requires": []
2583
+ }
2584
+ ],
2585
+ "scope": "core",
2586
+ "category": "core/object",
2587
+ "description": "`predicate`가 참을 반환한 엔트리만 골라 새 객체를 반환한다. 키가 아니라 값과 키 조건으로 거르며, 원본은 변형하지 않는다. 어떤 키가 남을지 정적으로 알 수 없어 반환 타입은 `Partial<T>`다.",
809
2588
  "dependencies": [],
810
2589
  "files": [
811
2590
  "object/pick-by/index.ts",
@@ -814,7 +2593,24 @@
814
2593
  },
815
2594
  {
816
2595
  "name": "object-set",
817
- "description": "경로 문자열 위치에 값을 설정한 **새** 객체를 반환하는 불변 유틸. 입력 객체는",
2596
+ "packageName": "@hermes/object-set",
2597
+ "version": "1.0.0",
2598
+ "modules": [
2599
+ {
2600
+ "name": "object-set",
2601
+ "packageName": "@hermes/object-set",
2602
+ "version": "1.0.0",
2603
+ "scope": "core",
2604
+ "files": {
2605
+ "object/set/index.ts": "93efd87d33d4e53399e635b8793d41e2e0487a75a9fbb9441253518f4a2176a0",
2606
+ "object/set/set.ts": "fcfe51592f66bf4a988295492afb4da00813b7b5cfa7b44a08523b96976d70b8"
2607
+ },
2608
+ "requires": []
2609
+ }
2610
+ ],
2611
+ "scope": "core",
2612
+ "category": "core/object",
2613
+ "description": "경로 문자열 위치에 값을 설정한 **새** 객체를 반환하는 불변 유틸. 입력 객체는 변형하지 않고, 경로상의 컨테이너만 얕은 복사로 교체한다(경로 밖 가지는 공유).",
818
2614
  "dependencies": [],
819
2615
  "files": [
820
2616
  "object/set/index.ts",
@@ -823,7 +2619,24 @@
823
2619
  },
824
2620
  {
825
2621
  "name": "string-capitalize",
826
- "description": "문자열의 첫 글자만 대문자로 만들고 나머지는 그대로 둔다. 빈 문자열은 빈",
2622
+ "packageName": "@hermes/string-capitalize",
2623
+ "version": "1.0.0",
2624
+ "modules": [
2625
+ {
2626
+ "name": "string-capitalize",
2627
+ "packageName": "@hermes/string-capitalize",
2628
+ "version": "1.0.0",
2629
+ "scope": "core",
2630
+ "files": {
2631
+ "string/capitalize/capitalize.ts": "5a0e0be0791fca90d9bff52caa6332aaba68b28b9c3a13a509edeb4eaacfdf42",
2632
+ "string/capitalize/index.ts": "b7459d66815642143de2052c5beae645838c5c209c7c284434d2e563ae48f592"
2633
+ },
2634
+ "requires": []
2635
+ }
2636
+ ],
2637
+ "scope": "core",
2638
+ "category": "core/string",
2639
+ "description": "문자열의 첫 글자만 대문자로 만들고 나머지는 그대로 둔다. 빈 문자열은 빈 문자열 그대로 반환한다.",
827
2640
  "dependencies": [],
828
2641
  "files": [
829
2642
  "string/capitalize/capitalize.ts",
@@ -832,7 +2645,61 @@
832
2645
  },
833
2646
  {
834
2647
  "name": "string-change-case",
835
- "description": "케이스 변환 유틸 모음. `splitWords`가 어떤 케이스든 소문자 단어 배열로 쪼개고,",
2648
+ "packageName": "@hermes/string-change-case",
2649
+ "version": "1.0.0",
2650
+ "modules": [
2651
+ {
2652
+ "name": "string-capitalize",
2653
+ "packageName": "@hermes/string-capitalize",
2654
+ "version": "1.0.0",
2655
+ "scope": "core",
2656
+ "files": {
2657
+ "string/capitalize/capitalize.ts": "5a0e0be0791fca90d9bff52caa6332aaba68b28b9c3a13a509edeb4eaacfdf42",
2658
+ "string/capitalize/index.ts": "b7459d66815642143de2052c5beae645838c5c209c7c284434d2e563ae48f592"
2659
+ },
2660
+ "requires": []
2661
+ },
2662
+ {
2663
+ "name": "string-change-case",
2664
+ "packageName": "@hermes/string-change-case",
2665
+ "version": "1.0.0",
2666
+ "scope": "core",
2667
+ "files": {
2668
+ "string/change-case/change-case.ts": "17226a9862e60a042053c95e95c4f7569b52dab204a202cc33e2873656fc612b",
2669
+ "string/change-case/index.ts": "38f2d282ebf908ff1bb47c4a05018fc4dc918364f4792c749aad43ddab2794ec"
2670
+ },
2671
+ "requires": [
2672
+ {
2673
+ "packageName": "@hermes/string-capitalize",
2674
+ "range": "^1.0.0",
2675
+ "kind": "dependency",
2676
+ "internal": true,
2677
+ "optional": false
2678
+ },
2679
+ {
2680
+ "packageName": "@hermes/string-char",
2681
+ "range": "^1.0.0",
2682
+ "kind": "dependency",
2683
+ "internal": true,
2684
+ "optional": false
2685
+ }
2686
+ ]
2687
+ },
2688
+ {
2689
+ "name": "string-char",
2690
+ "packageName": "@hermes/string-char",
2691
+ "version": "1.0.0",
2692
+ "scope": "core",
2693
+ "files": {
2694
+ "string/char/char.ts": "5df12fd4b8f6d39e2bcdee7f373775ee94a15bf8e49026d9354f59554267277b",
2695
+ "string/char/index.ts": "7c99a1bd333a3ca48e5f8fb6f1f631d5517d0cbc74cbafe249a7d46d4a396766"
2696
+ },
2697
+ "requires": []
2698
+ }
2699
+ ],
2700
+ "scope": "core",
2701
+ "category": "core/string",
2702
+ "description": "케이스 변환 유틸 모음. `splitWords`가 어떤 케이스든 소문자 단어 배열로 쪼개고, 각 `toXxxCase` 조립기가 타깃 케이스로 다시 합친다. 짝마다 함수를 두지 않아 모든 케이스 조합(kebab->Pascal, snake->camel, ...)이 자동으로 동작한다.",
836
2703
  "dependencies": [],
837
2704
  "files": [
838
2705
  "string/capitalize/capitalize.ts",
@@ -845,7 +2712,24 @@
845
2712
  },
846
2713
  {
847
2714
  "name": "string-char",
848
- "description": "ASCII 문자 분류 술어. 단일 문자를 받아 종류를 판별한다. 로캘/유니코드 영향",
2715
+ "packageName": "@hermes/string-char",
2716
+ "version": "1.0.0",
2717
+ "modules": [
2718
+ {
2719
+ "name": "string-char",
2720
+ "packageName": "@hermes/string-char",
2721
+ "version": "1.0.0",
2722
+ "scope": "core",
2723
+ "files": {
2724
+ "string/char/char.ts": "5df12fd4b8f6d39e2bcdee7f373775ee94a15bf8e49026d9354f59554267277b",
2725
+ "string/char/index.ts": "7c99a1bd333a3ca48e5f8fb6f1f631d5517d0cbc74cbafe249a7d46d4a396766"
2726
+ },
2727
+ "requires": []
2728
+ }
2729
+ ],
2730
+ "scope": "core",
2731
+ "category": "core/string",
2732
+ "description": "ASCII 문자 분류 술어. 단일 문자를 받아 종류를 판별한다. 로캘/유니코드 영향 없이 항상 같은 결과를 주는 결정론적 분류용이라, 파싱·토크나이즈 같은 곳에서 정규식보다 가볍게 재사용한다. 빈 자리나 범위 밖 문자에는 `false`를 돌려줘 경계에서 안전하다.",
849
2733
  "dependencies": [],
850
2734
  "files": [
851
2735
  "string/char/char.ts",
@@ -854,7 +2738,24 @@
854
2738
  },
855
2739
  {
856
2740
  "name": "string-count-occurrences",
857
- "description": "`str` 안에서 `search`가 **겹치지 않게** 등장하는 횟수를 센다. 매칭한 만큼",
2741
+ "packageName": "@hermes/string-count-occurrences",
2742
+ "version": "1.0.0",
2743
+ "modules": [
2744
+ {
2745
+ "name": "string-count-occurrences",
2746
+ "packageName": "@hermes/string-count-occurrences",
2747
+ "version": "1.0.0",
2748
+ "scope": "core",
2749
+ "files": {
2750
+ "string/count-occurrences/count-occurrences.ts": "42bbe6d6387e737f66c850426fcff5fa96c0d0b8ea03c80494f8f40a79034df6",
2751
+ "string/count-occurrences/index.ts": "1f180f215aa44599210ef13ef85f0424ae18cb295ccb201e4482bcf006782034"
2752
+ },
2753
+ "requires": []
2754
+ }
2755
+ ],
2756
+ "scope": "core",
2757
+ "category": "core/string",
2758
+ "description": "`str` 안에서 `search`가 **겹치지 않게** 등장하는 횟수를 센다. 매칭한 만큼 인덱스를 건너뛰므로 `\"aaaa\"`에서 `\"aa\"`는 2번이다. `search`가 `\"\"`이면 0.",
858
2759
  "dependencies": [],
859
2760
  "files": [
860
2761
  "string/count-occurrences/count-occurrences.ts",
@@ -863,7 +2764,24 @@
863
2764
  },
864
2765
  {
865
2766
  "name": "string-escape-html",
866
- "description": "HTML 특수문자를 엔티티로 치환한다. 사용자 입력 등 텍스트를 마크업에 안전하게",
2767
+ "packageName": "@hermes/string-escape-html",
2768
+ "version": "1.0.0",
2769
+ "modules": [
2770
+ {
2771
+ "name": "string-escape-html",
2772
+ "packageName": "@hermes/string-escape-html",
2773
+ "version": "1.0.0",
2774
+ "scope": "core",
2775
+ "files": {
2776
+ "string/escape-html/escape-html.ts": "06663d46950d408101e190344dede3eeb98808a96e0804dcfe2b73c5ae3f8f18",
2777
+ "string/escape-html/index.ts": "b3c2a104e2965c1d8a833c80346443ccb06e4d8edcb9bc48d61d1616fe2a0956"
2778
+ },
2779
+ "requires": []
2780
+ }
2781
+ ],
2782
+ "scope": "core",
2783
+ "category": "core/string",
2784
+ "description": "HTML 특수문자를 엔티티로 치환한다. 사용자 입력 등 텍스트를 마크업에 안전하게 끼워 넣을 때 사용한다.",
867
2785
  "dependencies": [],
868
2786
  "files": [
869
2787
  "string/escape-html/escape-html.ts",
@@ -872,7 +2790,24 @@
872
2790
  },
873
2791
  {
874
2792
  "name": "string-get-decorated-string",
875
- "description": "`___FORMAT___` 자리표시자를 `target` 값으로 치환한다. 포맷 문자열 안의 모든",
2793
+ "packageName": "@hermes/string-get-decorated-string",
2794
+ "version": "1.0.0",
2795
+ "modules": [
2796
+ {
2797
+ "name": "string-get-decorated-string",
2798
+ "packageName": "@hermes/string-get-decorated-string",
2799
+ "version": "1.0.0",
2800
+ "scope": "core",
2801
+ "files": {
2802
+ "string/get-decorated-string/get-decorated-string.ts": "c976bf8847bac53119f866519031e20b3e32b04a46f15d2b919877242a10cd1e",
2803
+ "string/get-decorated-string/index.ts": "58fe99926268097c5d719417482bf1cb80c807ffe9994c0e371c2f364299b456"
2804
+ },
2805
+ "requires": []
2806
+ }
2807
+ ],
2808
+ "scope": "core",
2809
+ "category": "core/string",
2810
+ "description": "`___FORMAT___` 자리표시자를 `target` 값으로 치환한다. 포맷 문자열 안의 모든 자리표시자가 한 번에 바뀐다. 자리표시자 토큰은 `getDecoratedString.selection` 으로 노출된다.",
876
2811
  "dependencies": [],
877
2812
  "files": [
878
2813
  "string/get-decorated-string/get-decorated-string.ts",
@@ -881,7 +2816,24 @@
881
2816
  },
882
2817
  {
883
2818
  "name": "string-is-blank",
884
- "description": "문자열이 비어 있거나 공백 문자만으로 이루어졌으면 `true`를 반환한다.",
2819
+ "packageName": "@hermes/string-is-blank",
2820
+ "version": "1.0.0",
2821
+ "modules": [
2822
+ {
2823
+ "name": "string-is-blank",
2824
+ "packageName": "@hermes/string-is-blank",
2825
+ "version": "1.0.0",
2826
+ "scope": "core",
2827
+ "files": {
2828
+ "string/is-blank/index.ts": "e719cb17185b5d628b6448761d943d749c91f39bb2a798f0b1cfd03aa7f1c901",
2829
+ "string/is-blank/is-blank.ts": "505db33613c3c26332fb7dacefd0b014b70150f16d96745a1ff9b741e6d6d866"
2830
+ },
2831
+ "requires": []
2832
+ }
2833
+ ],
2834
+ "scope": "core",
2835
+ "category": "core/string",
2836
+ "description": "문자열이 비어 있거나 공백 문자만으로 이루어졌으면 `true`를 반환한다. 보이는 글자가 하나라도 있으면 `false`.",
885
2837
  "dependencies": [],
886
2838
  "files": [
887
2839
  "string/is-blank/index.ts",
@@ -890,7 +2842,24 @@
890
2842
  },
891
2843
  {
892
2844
  "name": "string-mask",
893
- "description": "앞 `start`글자와 뒤 `end`글자만 남기고 가운데를 `char`로 가린다. 입력은",
2845
+ "packageName": "@hermes/string-mask",
2846
+ "version": "1.0.0",
2847
+ "modules": [
2848
+ {
2849
+ "name": "string-mask",
2850
+ "packageName": "@hermes/string-mask",
2851
+ "version": "1.0.0",
2852
+ "scope": "core",
2853
+ "files": {
2854
+ "string/mask/index.ts": "419092da22c4bf9bcf9df16ce918d9503b0eef97d1931ef7eecc187745b96d1f",
2855
+ "string/mask/mask.ts": "43edab9f34be4a5dd57bce2de88549f107b8b6b13c16955d44c56f5ad1c38846"
2856
+ },
2857
+ "requires": []
2858
+ }
2859
+ ],
2860
+ "scope": "core",
2861
+ "category": "core/string",
2862
+ "description": "앞 `start`글자와 뒤 `end`글자만 남기고 가운데를 `char`로 가린다. 입력은 변형하지 않는다. 비밀번호, 카드번호, 이메일 등 일부만 노출할 때 쓴다. `start + end`가 길이 이상이면 가릴 가운데가 없으므로 원문을 그대로 반환한다.",
894
2863
  "dependencies": [],
895
2864
  "files": [
896
2865
  "string/mask/index.ts",
@@ -899,7 +2868,24 @@
899
2868
  },
900
2869
  {
901
2870
  "name": "string-pad",
902
- "description": "문자열 양쪽을 `char`로 균등하게 채워 가운데 정렬한다. `length` 이하면 그대로",
2871
+ "packageName": "@hermes/string-pad",
2872
+ "version": "1.0.0",
2873
+ "modules": [
2874
+ {
2875
+ "name": "string-pad",
2876
+ "packageName": "@hermes/string-pad",
2877
+ "version": "1.0.0",
2878
+ "scope": "core",
2879
+ "files": {
2880
+ "string/pad/index.ts": "4400f7f65a5f3c3125174c2a9a28e7861c506e2c3cc45278fcca7010f806ebfc",
2881
+ "string/pad/pad.ts": "426118b827374f211a520646a400d2ca890fec2d844dad96e881132781813721"
2882
+ },
2883
+ "requires": []
2884
+ }
2885
+ ],
2886
+ "scope": "core",
2887
+ "category": "core/string",
2888
+ "description": "문자열 양쪽을 `char`로 균등하게 채워 가운데 정렬한다. `length` 이하면 그대로 둔다. 채울 총량을 좌우로 나누되 홀수 잔여는 오른쪽에 더한다.",
903
2889
  "dependencies": [],
904
2890
  "files": [
905
2891
  "string/pad/index.ts",
@@ -908,7 +2894,24 @@
908
2894
  },
909
2895
  {
910
2896
  "name": "string-random-string",
911
- "description": "`alphabet`에서 `length` 글자를 런타임 난수로 뽑아 무작위 문자열을 만든다.",
2897
+ "packageName": "@hermes/string-random-string",
2898
+ "version": "1.0.0",
2899
+ "modules": [
2900
+ {
2901
+ "name": "string-random-string",
2902
+ "packageName": "@hermes/string-random-string",
2903
+ "version": "1.0.0",
2904
+ "scope": "core",
2905
+ "files": {
2906
+ "string/random-string/index.ts": "dd9c104708b59d5a969688fa5b30b1b4f4fc0b47d5d79ad4938cbdad490b0a39",
2907
+ "string/random-string/random-string.ts": "d95810906421aca5454a2c33a367a4b0a3d09ef64b89285764e81d926c52e925"
2908
+ },
2909
+ "requires": []
2910
+ }
2911
+ ],
2912
+ "scope": "core",
2913
+ "category": "core/string",
2914
+ "description": "`alphabet`에서 `length` 글자를 런타임 난수로 뽑아 무작위 문자열을 만든다. `alphabet` 기본값은 영숫자(A-Z, a-z, 0-9). `length`가 0 이하면 빈 문자열을 반환한다. 호출마다 새 문자열을 반환한다.",
912
2915
  "dependencies": [],
913
2916
  "files": [
914
2917
  "string/random-string/index.ts",
@@ -917,7 +2920,24 @@
917
2920
  },
918
2921
  {
919
2922
  "name": "string-reverse",
920
- "description": "문자 순서를 뒤집어 새 문자열을 반환한다. 입력은 변형하지 않는다.",
2923
+ "packageName": "@hermes/string-reverse",
2924
+ "version": "1.0.0",
2925
+ "modules": [
2926
+ {
2927
+ "name": "string-reverse",
2928
+ "packageName": "@hermes/string-reverse",
2929
+ "version": "1.0.0",
2930
+ "scope": "core",
2931
+ "files": {
2932
+ "string/reverse/index.ts": "4c9e3729a9b99528e64fb565510bf9e70ba6ebc59ff20a726316fffd1a21a617",
2933
+ "string/reverse/reverse.ts": "eb05516d272bbf316b2d341a5b998440ca8fd2ed5dbc97c52f7146038c0dc56a"
2934
+ },
2935
+ "requires": []
2936
+ }
2937
+ ],
2938
+ "scope": "core",
2939
+ "category": "core/string",
2940
+ "description": "문자 순서를 뒤집어 새 문자열을 반환한다. 입력은 변형하지 않는다. 서로게이트 쌍(이모지 등)을 깨뜨리지 않도록 코드포인트 단위로 뒤집는다.",
921
2941
  "dependencies": [],
922
2942
  "files": [
923
2943
  "string/reverse/index.ts",
@@ -926,7 +2946,24 @@
926
2946
  },
927
2947
  {
928
2948
  "name": "string-slugify",
929
- "description": "문자열을 URL/식별자용 슬러그로 바꾼다. 소문자로 내린 뒤 ASCII 영숫자가 아닌",
2949
+ "packageName": "@hermes/string-slugify",
2950
+ "version": "1.0.0",
2951
+ "modules": [
2952
+ {
2953
+ "name": "string-slugify",
2954
+ "packageName": "@hermes/string-slugify",
2955
+ "version": "1.0.0",
2956
+ "scope": "core",
2957
+ "files": {
2958
+ "string/slugify/index.ts": "1eeede3438da1ea25bab282a82006ba183d9bb474bab7deae52cd838f3993075",
2959
+ "string/slugify/slugify.ts": "7a5e1a4a15fe890b243d9ba173b458c5827a0197f5186e1f4cc97b32c2ccb7cb"
2960
+ },
2961
+ "requires": []
2962
+ }
2963
+ ],
2964
+ "scope": "core",
2965
+ "category": "core/string",
2966
+ "description": "문자열을 URL/식별자용 슬러그로 바꾼다. 소문자로 내린 뒤 ASCII 영숫자가 아닌 연속 문자를 `-` 하나로 합치고 양끝의 `-`를 제거한다(ASCII 기준).",
930
2967
  "dependencies": [],
931
2968
  "files": [
932
2969
  "string/slugify/index.ts",
@@ -935,6 +2972,23 @@
935
2972
  },
936
2973
  {
937
2974
  "name": "string-strip-tags",
2975
+ "packageName": "@hermes/string-strip-tags",
2976
+ "version": "1.0.0",
2977
+ "modules": [
2978
+ {
2979
+ "name": "string-strip-tags",
2980
+ "packageName": "@hermes/string-strip-tags",
2981
+ "version": "1.0.0",
2982
+ "scope": "core",
2983
+ "files": {
2984
+ "string/strip-tags/index.ts": "d67517bc76e5372a67dd117b0e1506b0c5d4e5e8d4d4197f319137460054ad8e",
2985
+ "string/strip-tags/strip-tags.ts": "a6acd2474c1e31db5373b7f2aca9a5d67e3300b3caf0a27832171f5cef94d998"
2986
+ },
2987
+ "requires": []
2988
+ }
2989
+ ],
2990
+ "scope": "core",
2991
+ "category": "core/string",
938
2992
  "description": "`<...>` 형태의 HTML 태그를 제거하고 태그 사이의 텍스트만 남긴다.",
939
2993
  "dependencies": [],
940
2994
  "files": [
@@ -944,7 +2998,24 @@
944
2998
  },
945
2999
  {
946
3000
  "name": "string-template",
947
- "description": "문자열 안의 `{key}` 자리표시자를 `data[key]` 값으로 치환한다. `data`에 없는",
3001
+ "packageName": "@hermes/string-template",
3002
+ "version": "1.0.0",
3003
+ "modules": [
3004
+ {
3005
+ "name": "string-template",
3006
+ "packageName": "@hermes/string-template",
3007
+ "version": "1.0.0",
3008
+ "scope": "core",
3009
+ "files": {
3010
+ "string/template/index.ts": "9833d97b9d9b4011da60f02cd7ca29b102881a09f2d126852fa0cbe488391217",
3011
+ "string/template/template.ts": "8c90431f1f415f3119b70e0d3ee12cd971e91250664d0ee8fe7c0df2f03f9e37"
3012
+ },
3013
+ "requires": []
3014
+ }
3015
+ ],
3016
+ "scope": "core",
3017
+ "category": "core/string",
3018
+ "description": "문자열 안의 `{key}` 자리표시자를 `data[key]` 값으로 치환한다. `data`에 없는 `{key}`는 그대로 남긴다. 원본 문자열은 바꾸지 않고 새 문자열을 반환한다.",
948
3019
  "dependencies": [],
949
3020
  "files": [
950
3021
  "string/template/index.ts",
@@ -953,7 +3024,24 @@
953
3024
  },
954
3025
  {
955
3026
  "name": "string-truncate",
956
- "description": "문자열이 `length` 이하면 그대로 두고, 넘으면 뒤를 잘라 `suffix`를 붙인다.",
3027
+ "packageName": "@hermes/string-truncate",
3028
+ "version": "1.0.0",
3029
+ "modules": [
3030
+ {
3031
+ "name": "string-truncate",
3032
+ "packageName": "@hermes/string-truncate",
3033
+ "version": "1.0.0",
3034
+ "scope": "core",
3035
+ "files": {
3036
+ "string/truncate/index.ts": "e833d58d595a50861200693e0c89d150bd9581d1bedda19e9a51a651d0c1a603",
3037
+ "string/truncate/truncate.ts": "2d2612b386412f766a8dd4976bd288a93066412c156aa83e37c4d5682ce557bd"
3038
+ },
3039
+ "requires": []
3040
+ }
3041
+ ],
3042
+ "scope": "core",
3043
+ "category": "core/string",
3044
+ "description": "문자열이 `length` 이하면 그대로 두고, 넘으면 뒤를 잘라 `suffix`를 붙인다. 결과 전체 길이가 정확히 `length`가 되도록 본문에서 `suffix` 자리를 미리 비운다.",
957
3045
  "dependencies": [],
958
3046
  "files": [
959
3047
  "string/truncate/index.ts",
@@ -962,7 +3050,24 @@
962
3050
  },
963
3051
  {
964
3052
  "name": "string-truncate-middle",
965
- "description": "가운데를 잘라 양끝을 보존한다. 긴 파일명이나 경로를 `\"long….txt\"`처럼 줄일 때",
3053
+ "packageName": "@hermes/string-truncate-middle",
3054
+ "version": "1.0.0",
3055
+ "modules": [
3056
+ {
3057
+ "name": "string-truncate-middle",
3058
+ "packageName": "@hermes/string-truncate-middle",
3059
+ "version": "1.0.0",
3060
+ "scope": "core",
3061
+ "files": {
3062
+ "string/truncate-middle/index.ts": "005a3e1db5a9a1e7d85a5c507f902a8971a88d58f960e0ef5a9b72895369c8a5",
3063
+ "string/truncate-middle/truncate-middle.ts": "7303b2901c7c4175af83fc795b98453b99e014d520a232cf41784f490dc6ff9b"
3064
+ },
3065
+ "requires": []
3066
+ }
3067
+ ],
3068
+ "scope": "core",
3069
+ "category": "core/string",
3070
+ "description": "가운데를 잘라 양끝을 보존한다. 긴 파일명이나 경로를 `\"long….txt\"`처럼 줄일 때 쓴다. `length` 이하면 그대로 두고, 넘으면 결과 전체 길이가 `length`가 되도록 `suffix` 자리를 빼고 남은 길이를 앞뒤로 나눈다.",
966
3071
  "dependencies": [],
967
3072
  "files": [
968
3073
  "string/truncate-middle/index.ts",
@@ -971,7 +3076,24 @@
971
3076
  },
972
3077
  {
973
3078
  "name": "string-uuid",
974
- "description": "UUID 문자열을 생성한다. `globalThis.crypto.randomUUID`가 있으면 그것을 쓰고,",
3079
+ "packageName": "@hermes/string-uuid",
3080
+ "version": "1.0.0",
3081
+ "modules": [
3082
+ {
3083
+ "name": "string-uuid",
3084
+ "packageName": "@hermes/string-uuid",
3085
+ "version": "1.0.0",
3086
+ "scope": "core",
3087
+ "files": {
3088
+ "string/uuid/index.ts": "c763e01667ec6011d5dbec4544fc4e66cb5506497f4186a2b6d6c37bd306b5c3",
3089
+ "string/uuid/uuid.ts": "67760191f9abaf10c3128392ab62bc6528db9d79b3509de60d98b82b9baf2d20"
3090
+ },
3091
+ "requires": []
3092
+ }
3093
+ ],
3094
+ "scope": "core",
3095
+ "category": "core/string",
3096
+ "description": "UUID 문자열을 생성한다. `globalThis.crypto.randomUUID`가 있으면 그것을 쓰고, 없으면(Node 18 이하 등) `node:crypto`의 `randomUUID`로 폴백한다.",
975
3097
  "dependencies": [],
976
3098
  "runtime": "node",
977
3099
  "devDependencies": [
@@ -984,7 +3106,72 @@
984
3106
  },
985
3107
  {
986
3108
  "name": "tailwindcss-class-variant",
987
- "description": "`tailwind-variants`의 `tv`를 감싸 variant 기반 className 빌더를 만든다. `cn`과",
3109
+ "packageName": "@hermes/tailwindcss-class-variant",
3110
+ "version": "1.0.0",
3111
+ "modules": [
3112
+ {
3113
+ "name": "tailwindcss-class-variant",
3114
+ "packageName": "@hermes/tailwindcss-class-variant",
3115
+ "version": "1.0.0",
3116
+ "scope": "lib",
3117
+ "files": {
3118
+ "tailwindcss/class-variant/class-variant.ts": "81597cbd255de9e81ca2a7c9a9ce7bdb0784edc00e5d532f9365380f64167b3b",
3119
+ "tailwindcss/class-variant/index.ts": "d81d51825e3a1828a2eb035c601a0e086f75721cec25934f215a5bea24cf78b8"
3120
+ },
3121
+ "requires": [
3122
+ {
3123
+ "packageName": "@hermes/tailwindcss-tw-merge-config",
3124
+ "range": "^1.0.0",
3125
+ "kind": "dependency",
3126
+ "internal": true,
3127
+ "optional": false
3128
+ },
3129
+ {
3130
+ "packageName": "tailwind-variants",
3131
+ "range": "^3.2.2",
3132
+ "kind": "dependency",
3133
+ "internal": false,
3134
+ "optional": false
3135
+ },
3136
+ {
3137
+ "packageName": "tailwindcss",
3138
+ "range": "^4.0.0",
3139
+ "kind": "peer",
3140
+ "internal": false,
3141
+ "optional": true
3142
+ }
3143
+ ]
3144
+ },
3145
+ {
3146
+ "name": "tailwindcss-tw-merge-config",
3147
+ "packageName": "@hermes/tailwindcss-tw-merge-config",
3148
+ "version": "1.0.0",
3149
+ "scope": "lib",
3150
+ "files": {
3151
+ "tailwindcss/tw-merge-config/index.ts": "f46c44a9ae58123fb0f77ebba87264a958be681e5a6409c53553cf14bc541c8a",
3152
+ "tailwindcss/tw-merge-config/tw-merge-config.ts": "63f0b9488ee1ad67b0e18be74e3efd059e932b33be438c58149097566ea0c1bd"
3153
+ },
3154
+ "requires": [
3155
+ {
3156
+ "packageName": "tailwind-variants",
3157
+ "range": "^3.2.2",
3158
+ "kind": "dependency",
3159
+ "internal": false,
3160
+ "optional": false
3161
+ },
3162
+ {
3163
+ "packageName": "tailwindcss",
3164
+ "range": "^4.0.0",
3165
+ "kind": "peer",
3166
+ "internal": false,
3167
+ "optional": true
3168
+ }
3169
+ ]
3170
+ }
3171
+ ],
3172
+ "scope": "lib",
3173
+ "category": "lib/tailwindcss",
3174
+ "description": "`tailwind-variants`의 `tv`를 감싸 variant 기반 className 빌더를 만든다. `cn`과 같은 [`twMergeConfig`](../tw-merge-config/README.md)를 공유하므로 variant를 병합할 때도 동일한 Tailwind 충돌 규칙이 적용된다.",
988
3175
  "dependencies": [
989
3176
  "tailwind-variants@^3.2.2"
990
3177
  ],
@@ -997,7 +3184,79 @@
997
3184
  },
998
3185
  {
999
3186
  "name": "tailwindcss-cn",
1000
- "description": "`clsx`와 `tailwind-merge`를 합쳐 조건부 className을 만들고 충돌하는 Tailwind",
3187
+ "packageName": "@hermes/tailwindcss-cn",
3188
+ "version": "1.0.0",
3189
+ "modules": [
3190
+ {
3191
+ "name": "tailwindcss-cn",
3192
+ "packageName": "@hermes/tailwindcss-cn",
3193
+ "version": "1.0.0",
3194
+ "scope": "lib",
3195
+ "files": {
3196
+ "tailwindcss/cn/cn.ts": "9cadaedde5edafbc1a8614f22706a4935a7fd60a68511fefaa245b48fb736f6c",
3197
+ "tailwindcss/cn/index.ts": "5b26e10388463d639143e754687fe4faf2ffc7c61c9271d760eb22bcd8ddf26f"
3198
+ },
3199
+ "requires": [
3200
+ {
3201
+ "packageName": "@hermes/tailwindcss-tw-merge-config",
3202
+ "range": "^1.0.0",
3203
+ "kind": "dependency",
3204
+ "internal": true,
3205
+ "optional": false
3206
+ },
3207
+ {
3208
+ "packageName": "clsx",
3209
+ "range": "^2.1.1",
3210
+ "kind": "dependency",
3211
+ "internal": false,
3212
+ "optional": false
3213
+ },
3214
+ {
3215
+ "packageName": "tailwind-merge",
3216
+ "range": "^3.6.0",
3217
+ "kind": "dependency",
3218
+ "internal": false,
3219
+ "optional": false
3220
+ },
3221
+ {
3222
+ "packageName": "tailwindcss",
3223
+ "range": "^4.0.0",
3224
+ "kind": "peer",
3225
+ "internal": false,
3226
+ "optional": true
3227
+ }
3228
+ ]
3229
+ },
3230
+ {
3231
+ "name": "tailwindcss-tw-merge-config",
3232
+ "packageName": "@hermes/tailwindcss-tw-merge-config",
3233
+ "version": "1.0.0",
3234
+ "scope": "lib",
3235
+ "files": {
3236
+ "tailwindcss/tw-merge-config/index.ts": "f46c44a9ae58123fb0f77ebba87264a958be681e5a6409c53553cf14bc541c8a",
3237
+ "tailwindcss/tw-merge-config/tw-merge-config.ts": "63f0b9488ee1ad67b0e18be74e3efd059e932b33be438c58149097566ea0c1bd"
3238
+ },
3239
+ "requires": [
3240
+ {
3241
+ "packageName": "tailwind-variants",
3242
+ "range": "^3.2.2",
3243
+ "kind": "dependency",
3244
+ "internal": false,
3245
+ "optional": false
3246
+ },
3247
+ {
3248
+ "packageName": "tailwindcss",
3249
+ "range": "^4.0.0",
3250
+ "kind": "peer",
3251
+ "internal": false,
3252
+ "optional": true
3253
+ }
3254
+ ]
3255
+ }
3256
+ ],
3257
+ "scope": "lib",
3258
+ "category": "lib/tailwindcss",
3259
+ "description": "`clsx`와 `tailwind-merge`를 합쳐 조건부 className을 만들고 충돌하는 Tailwind 클래스를 자동으로 정리하는 함수를 제공한다. 병합 설정은 `classVariant`와 공유하는 [`twMergeConfig`](../tw-merge-config/README.md)를 따른다.",
1001
3260
  "dependencies": [
1002
3261
  "clsx@^2.1.1",
1003
3262
  "tailwind-merge@^3.6.0",
@@ -1012,7 +3271,152 @@
1012
3271
  },
1013
3272
  {
1014
3273
  "name": "tailwindcss-create-tailwind-css",
1015
- "description": "전달한 `twMergeConfig`를 공유하는 `cn`과 `classVariant` 세트를 만든다. 패키지의",
3274
+ "packageName": "@hermes/tailwindcss-create-tailwind-css",
3275
+ "version": "1.0.0",
3276
+ "modules": [
3277
+ {
3278
+ "name": "tailwindcss-class-variant",
3279
+ "packageName": "@hermes/tailwindcss-class-variant",
3280
+ "version": "1.0.0",
3281
+ "scope": "lib",
3282
+ "files": {
3283
+ "tailwindcss/class-variant/class-variant.ts": "81597cbd255de9e81ca2a7c9a9ce7bdb0784edc00e5d532f9365380f64167b3b",
3284
+ "tailwindcss/class-variant/index.ts": "d81d51825e3a1828a2eb035c601a0e086f75721cec25934f215a5bea24cf78b8"
3285
+ },
3286
+ "requires": [
3287
+ {
3288
+ "packageName": "@hermes/tailwindcss-tw-merge-config",
3289
+ "range": "^1.0.0",
3290
+ "kind": "dependency",
3291
+ "internal": true,
3292
+ "optional": false
3293
+ },
3294
+ {
3295
+ "packageName": "tailwind-variants",
3296
+ "range": "^3.2.2",
3297
+ "kind": "dependency",
3298
+ "internal": false,
3299
+ "optional": false
3300
+ },
3301
+ {
3302
+ "packageName": "tailwindcss",
3303
+ "range": "^4.0.0",
3304
+ "kind": "peer",
3305
+ "internal": false,
3306
+ "optional": true
3307
+ }
3308
+ ]
3309
+ },
3310
+ {
3311
+ "name": "tailwindcss-cn",
3312
+ "packageName": "@hermes/tailwindcss-cn",
3313
+ "version": "1.0.0",
3314
+ "scope": "lib",
3315
+ "files": {
3316
+ "tailwindcss/cn/cn.ts": "9cadaedde5edafbc1a8614f22706a4935a7fd60a68511fefaa245b48fb736f6c",
3317
+ "tailwindcss/cn/index.ts": "5b26e10388463d639143e754687fe4faf2ffc7c61c9271d760eb22bcd8ddf26f"
3318
+ },
3319
+ "requires": [
3320
+ {
3321
+ "packageName": "@hermes/tailwindcss-tw-merge-config",
3322
+ "range": "^1.0.0",
3323
+ "kind": "dependency",
3324
+ "internal": true,
3325
+ "optional": false
3326
+ },
3327
+ {
3328
+ "packageName": "clsx",
3329
+ "range": "^2.1.1",
3330
+ "kind": "dependency",
3331
+ "internal": false,
3332
+ "optional": false
3333
+ },
3334
+ {
3335
+ "packageName": "tailwind-merge",
3336
+ "range": "^3.6.0",
3337
+ "kind": "dependency",
3338
+ "internal": false,
3339
+ "optional": false
3340
+ },
3341
+ {
3342
+ "packageName": "tailwindcss",
3343
+ "range": "^4.0.0",
3344
+ "kind": "peer",
3345
+ "internal": false,
3346
+ "optional": true
3347
+ }
3348
+ ]
3349
+ },
3350
+ {
3351
+ "name": "tailwindcss-create-tailwind-css",
3352
+ "packageName": "@hermes/tailwindcss-create-tailwind-css",
3353
+ "version": "1.0.0",
3354
+ "scope": "lib",
3355
+ "files": {
3356
+ "tailwindcss/create-tailwind-css/create-tailwind-css.ts": "71bc860e4b2812016b460096b923d7898ba9d841e1f2c7a3f969b6dd6a875bd5",
3357
+ "tailwindcss/create-tailwind-css/index.ts": "26518a78f0665fe5f8dac13ff5b7467e1b4978d285141a5203ef63da2626a748"
3358
+ },
3359
+ "requires": [
3360
+ {
3361
+ "packageName": "@hermes/tailwindcss-class-variant",
3362
+ "range": "^1.0.0",
3363
+ "kind": "dependency",
3364
+ "internal": true,
3365
+ "optional": false
3366
+ },
3367
+ {
3368
+ "packageName": "@hermes/tailwindcss-cn",
3369
+ "range": "^1.0.0",
3370
+ "kind": "dependency",
3371
+ "internal": true,
3372
+ "optional": false
3373
+ },
3374
+ {
3375
+ "packageName": "@hermes/tailwindcss-tw-merge-config",
3376
+ "range": "^1.0.0",
3377
+ "kind": "dependency",
3378
+ "internal": true,
3379
+ "optional": false
3380
+ },
3381
+ {
3382
+ "packageName": "tailwindcss",
3383
+ "range": "^4.0.0",
3384
+ "kind": "peer",
3385
+ "internal": false,
3386
+ "optional": true
3387
+ }
3388
+ ]
3389
+ },
3390
+ {
3391
+ "name": "tailwindcss-tw-merge-config",
3392
+ "packageName": "@hermes/tailwindcss-tw-merge-config",
3393
+ "version": "1.0.0",
3394
+ "scope": "lib",
3395
+ "files": {
3396
+ "tailwindcss/tw-merge-config/index.ts": "f46c44a9ae58123fb0f77ebba87264a958be681e5a6409c53553cf14bc541c8a",
3397
+ "tailwindcss/tw-merge-config/tw-merge-config.ts": "63f0b9488ee1ad67b0e18be74e3efd059e932b33be438c58149097566ea0c1bd"
3398
+ },
3399
+ "requires": [
3400
+ {
3401
+ "packageName": "tailwind-variants",
3402
+ "range": "^3.2.2",
3403
+ "kind": "dependency",
3404
+ "internal": false,
3405
+ "optional": false
3406
+ },
3407
+ {
3408
+ "packageName": "tailwindcss",
3409
+ "range": "^4.0.0",
3410
+ "kind": "peer",
3411
+ "internal": false,
3412
+ "optional": true
3413
+ }
3414
+ ]
3415
+ }
3416
+ ],
3417
+ "scope": "lib",
3418
+ "category": "lib/tailwindcss",
3419
+ "description": "전달한 `twMergeConfig`를 공유하는 `cn`과 `classVariant` 세트를 만든다. 패키지의 기본 설정을 수정하지 않고 앱이나 제품별 Tailwind 충돌 규칙을 주입할 때 사용한다.",
1016
3420
  "dependencies": [
1017
3421
  "clsx@^2.1.1",
1018
3422
  "tailwind-merge@^3.6.0",
@@ -1031,7 +3435,39 @@
1031
3435
  },
1032
3436
  {
1033
3437
  "name": "tailwindcss-tw-merge-config",
1034
- "description": "`cn`과 `classVariant`가 공유하는 tailwind-merge 설정을 한곳에서 관리한다. 두 함수가",
3438
+ "packageName": "@hermes/tailwindcss-tw-merge-config",
3439
+ "version": "1.0.0",
3440
+ "modules": [
3441
+ {
3442
+ "name": "tailwindcss-tw-merge-config",
3443
+ "packageName": "@hermes/tailwindcss-tw-merge-config",
3444
+ "version": "1.0.0",
3445
+ "scope": "lib",
3446
+ "files": {
3447
+ "tailwindcss/tw-merge-config/index.ts": "f46c44a9ae58123fb0f77ebba87264a958be681e5a6409c53553cf14bc541c8a",
3448
+ "tailwindcss/tw-merge-config/tw-merge-config.ts": "63f0b9488ee1ad67b0e18be74e3efd059e932b33be438c58149097566ea0c1bd"
3449
+ },
3450
+ "requires": [
3451
+ {
3452
+ "packageName": "tailwind-variants",
3453
+ "range": "^3.2.2",
3454
+ "kind": "dependency",
3455
+ "internal": false,
3456
+ "optional": false
3457
+ },
3458
+ {
3459
+ "packageName": "tailwindcss",
3460
+ "range": "^4.0.0",
3461
+ "kind": "peer",
3462
+ "internal": false,
3463
+ "optional": true
3464
+ }
3465
+ ]
3466
+ }
3467
+ ],
3468
+ "scope": "lib",
3469
+ "category": "lib/tailwindcss",
3470
+ "description": "`cn`과 `classVariant`가 공유하는 tailwind-merge 설정을 한곳에서 관리한다. 두 함수가 같은 설정 객체를 참조하므로, 커스텀 Tailwind 토큰을 한 번만 정의하면 className 병합과 variant 병합이 일관되게 동작한다.",
1035
3471
  "dependencies": [
1036
3472
  "tailwind-variants@^3.2.2"
1037
3473
  ],
@@ -1042,6 +3478,23 @@
1042
3478
  },
1043
3479
  {
1044
3480
  "name": "type-get-type",
3481
+ "packageName": "@hermes/type-get-type",
3482
+ "version": "1.0.0",
3483
+ "modules": [
3484
+ {
3485
+ "name": "type-get-type",
3486
+ "packageName": "@hermes/type-get-type",
3487
+ "version": "1.0.0",
3488
+ "scope": "core",
3489
+ "files": {
3490
+ "type/get-type/get-type.ts": "a7b20a1fadb5d11a188075c1ce7b2cbb2f413a8e34c5a5d23f4de70d61d23067",
3491
+ "type/get-type/index.ts": "0fa1d66782d578c8395c77110000c62c1d14c156863eda96e3d8f5dd53bfa330"
3492
+ },
3493
+ "requires": []
3494
+ }
3495
+ ],
3496
+ "scope": "core",
3497
+ "category": "core/type",
1045
3498
  "description": "`typeof`가 못 가르는 `null`·`array`까지 구분해 정규화된 타입 문자열을 돌려준다.",
1046
3499
  "dependencies": [],
1047
3500
  "files": [
@@ -1051,7 +3504,43 @@
1051
3504
  },
1052
3505
  {
1053
3506
  "name": "type-is-type-of",
1054
- "description": "값이 기대한 타입과 일치하는지 판별한다. [get-type](../get-type)의 정규화된",
3507
+ "packageName": "@hermes/type-is-type-of",
3508
+ "version": "1.0.0",
3509
+ "modules": [
3510
+ {
3511
+ "name": "type-get-type",
3512
+ "packageName": "@hermes/type-get-type",
3513
+ "version": "1.0.0",
3514
+ "scope": "core",
3515
+ "files": {
3516
+ "type/get-type/get-type.ts": "a7b20a1fadb5d11a188075c1ce7b2cbb2f413a8e34c5a5d23f4de70d61d23067",
3517
+ "type/get-type/index.ts": "0fa1d66782d578c8395c77110000c62c1d14c156863eda96e3d8f5dd53bfa330"
3518
+ },
3519
+ "requires": []
3520
+ },
3521
+ {
3522
+ "name": "type-is-type-of",
3523
+ "packageName": "@hermes/type-is-type-of",
3524
+ "version": "1.0.0",
3525
+ "scope": "core",
3526
+ "files": {
3527
+ "type/is-type-of/index.ts": "7f61ae1bf13ca97d83b95f883028849196c1d6b51d4945adca9ecc48a5d24bc3",
3528
+ "type/is-type-of/is-type-of.ts": "7759f8033af3a4efe735cdab3a4396086df378117fe8f63ec3dafe66348ca59f"
3529
+ },
3530
+ "requires": [
3531
+ {
3532
+ "packageName": "@hermes/type-get-type",
3533
+ "range": "^1.0.0",
3534
+ "kind": "dependency",
3535
+ "internal": true,
3536
+ "optional": false
3537
+ }
3538
+ ]
3539
+ }
3540
+ ],
3541
+ "scope": "core",
3542
+ "category": "core/type",
3543
+ "description": "값이 기대한 타입과 일치하는지 판별한다. [get-type](../get-type)의 정규화된 타입 문자열을 기준으로 비교한다.",
1055
3544
  "dependencies": [],
1056
3545
  "files": [
1057
3546
  "type/get-type/get-type.ts",
@@ -1062,7 +3551,43 @@
1062
3551
  },
1063
3552
  {
1064
3553
  "name": "util-mutex",
1065
- "description": "비동기 상호 배제(mutual exclusion) 락. 임계 구역을 한 번에 하나의 작업만",
3554
+ "packageName": "@hermes/util-mutex",
3555
+ "version": "1.0.0",
3556
+ "modules": [
3557
+ {
3558
+ "name": "data-structure-queue",
3559
+ "packageName": "@hermes/data-structure-queue",
3560
+ "version": "1.0.0",
3561
+ "scope": "core",
3562
+ "files": {
3563
+ "data-structure/queue/index.ts": "5449262477397ff04d1248c5b2fd488b7f582aea4f75029544c99b3ff331796e",
3564
+ "data-structure/queue/queue.ts": "bdbe6a42bde34b0ddcd9a65c15fc562919eb0d68bff18e8c7162f76d3fcf9119"
3565
+ },
3566
+ "requires": []
3567
+ },
3568
+ {
3569
+ "name": "util-mutex",
3570
+ "packageName": "@hermes/util-mutex",
3571
+ "version": "1.0.0",
3572
+ "scope": "core",
3573
+ "files": {
3574
+ "util/mutex/index.ts": "feccec2ce1467fe3aff1351ac0fd353fcb3f7a3f429ee1d82957a4c4be5dad18",
3575
+ "util/mutex/mutex.ts": "939e603cfb3c5657f8f18b1c0e9d9d88d1cb25699d055e9b237a63945071133a"
3576
+ },
3577
+ "requires": [
3578
+ {
3579
+ "packageName": "@hermes/data-structure-queue",
3580
+ "range": "^1.0.0",
3581
+ "kind": "dependency",
3582
+ "internal": true,
3583
+ "optional": false
3584
+ }
3585
+ ]
3586
+ }
3587
+ ],
3588
+ "scope": "core",
3589
+ "category": "core/util",
3590
+ "description": "비동기 상호 배제(mutual exclusion) 락. 임계 구역을 한 번에 하나의 작업만 실행하도록 직렬화한다.",
1066
3591
  "dependencies": [],
1067
3592
  "files": [
1068
3593
  "data-structure/queue/index.ts",
@@ -1073,6 +3598,23 @@
1073
3598
  },
1074
3599
  {
1075
3600
  "name": "util-url-parser",
3601
+ "packageName": "@hermes/util-url-parser",
3602
+ "version": "1.0.0",
3603
+ "modules": [
3604
+ {
3605
+ "name": "util-url-parser",
3606
+ "packageName": "@hermes/util-url-parser",
3607
+ "version": "1.0.0",
3608
+ "scope": "core",
3609
+ "files": {
3610
+ "util/url-parser/index.ts": "212d7ca53bb77b78ba4e9999d7d667cfe6ff19f8d99ff5619bf409bf9799a111",
3611
+ "util/url-parser/url-parser.ts": "36920cad52f128516f07d4d2d6e504050e5faa315767d108e849363fdc97d6ed"
3612
+ },
3613
+ "requires": []
3614
+ }
3615
+ ],
3616
+ "scope": "core",
3617
+ "category": "core/util",
1076
3618
  "description": "표준 `URL` API 기반 URL 파서. 쿼리·프래그먼트·오리진을 안전하게 뽑는다.",
1077
3619
  "dependencies": [],
1078
3620
  "files": [