claude-phone-local 2.0.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 (96) hide show
  1. package/.env.example +108 -0
  2. package/Dockerfile +84 -0
  3. package/LICENSE +22 -0
  4. package/README.md +231 -0
  5. package/claude-api-server/package-lock.json +832 -0
  6. package/claude-api-server/package.json +20 -0
  7. package/claude-api-server/server.js +540 -0
  8. package/claude-api-server/structured.js +208 -0
  9. package/cli/README.md +231 -0
  10. package/cli/bin/check-publish-safety.js +53 -0
  11. package/cli/bin/claude-phone.js +23 -0
  12. package/cli/bin/cli-main.js +284 -0
  13. package/cli/bin/postinstall.js +20 -0
  14. package/cli/lib/commands/api-server.js +77 -0
  15. package/cli/lib/commands/backup.js +69 -0
  16. package/cli/lib/commands/config/path.js +30 -0
  17. package/cli/lib/commands/config/reset.js +73 -0
  18. package/cli/lib/commands/config/show.js +86 -0
  19. package/cli/lib/commands/device/add.js +143 -0
  20. package/cli/lib/commands/device/list.js +55 -0
  21. package/cli/lib/commands/device/remove.js +83 -0
  22. package/cli/lib/commands/doctor.js +422 -0
  23. package/cli/lib/commands/logs.js +186 -0
  24. package/cli/lib/commands/restore.js +172 -0
  25. package/cli/lib/commands/setup.js +1246 -0
  26. package/cli/lib/commands/start.js +346 -0
  27. package/cli/lib/commands/status.js +139 -0
  28. package/cli/lib/commands/stop.js +101 -0
  29. package/cli/lib/commands/uninstall.js +183 -0
  30. package/cli/lib/commands/update.js +205 -0
  31. package/cli/lib/config.js +113 -0
  32. package/cli/lib/docker.js +384 -0
  33. package/cli/lib/mcp-register.js +108 -0
  34. package/cli/lib/network.js +109 -0
  35. package/cli/lib/platform.js +85 -0
  36. package/cli/lib/port-check.js +135 -0
  37. package/cli/lib/prereqs/checks/compose.js +147 -0
  38. package/cli/lib/prereqs/checks/disk.js +89 -0
  39. package/cli/lib/prereqs/checks/docker.js +155 -0
  40. package/cli/lib/prereqs/checks/network.js +78 -0
  41. package/cli/lib/prereqs/checks/node.js +95 -0
  42. package/cli/lib/prereqs/installers/docker-desktop.js +248 -0
  43. package/cli/lib/prereqs/installers/docker.js +229 -0
  44. package/cli/lib/prereqs/installers/node.js +254 -0
  45. package/cli/lib/prereqs/platform.js +175 -0
  46. package/cli/lib/prereqs/utils/execute.js +208 -0
  47. package/cli/lib/prereqs/utils/rollback.js +223 -0
  48. package/cli/lib/prereqs/utils/sudo.js +177 -0
  49. package/cli/lib/prereqs.js +228 -0
  50. package/cli/lib/prerequisites.js +115 -0
  51. package/cli/lib/process-manager.js +176 -0
  52. package/cli/lib/utils.js +78 -0
  53. package/cli/lib/validators.js +219 -0
  54. package/cli/lib/voice-downloader.js +79 -0
  55. package/docker/entrypoint.sh +110 -0
  56. package/docker/supervisord.conf +78 -0
  57. package/docker-compose.yml +40 -0
  58. package/docs/CLAUDE-CODE-SKILL.md +45 -0
  59. package/docs/LANGUAGES.md +113 -0
  60. package/docs/MCP-SERVER.md +111 -0
  61. package/docs/TROUBLESHOOTING.md +288 -0
  62. package/mcp-server/index.js +159 -0
  63. package/mcp-server/package-lock.json +1201 -0
  64. package/mcp-server/package.json +9 -0
  65. package/package.json +73 -0
  66. package/stt-local/Dockerfile +12 -0
  67. package/stt-local/server.py +45 -0
  68. package/tts-local/Dockerfile +9 -0
  69. package/tts-local/server.py +83 -0
  70. package/voice-app/API-QUERY-CONTRACT.md +238 -0
  71. package/voice-app/DEPLOYMENT.md +176 -0
  72. package/voice-app/Dockerfile +20 -0
  73. package/voice-app/README-OUTBOUND.md +316 -0
  74. package/voice-app/config/devices.json.example +18 -0
  75. package/voice-app/index.js +273 -0
  76. package/voice-app/lib/audio-fork.js +465 -0
  77. package/voice-app/lib/claude-bridge.js +113 -0
  78. package/voice-app/lib/connection-retry.js +58 -0
  79. package/voice-app/lib/conversation-loop.js +490 -0
  80. package/voice-app/lib/device-registry.js +171 -0
  81. package/voice-app/lib/http-server.js +242 -0
  82. package/voice-app/lib/logger.js +35 -0
  83. package/voice-app/lib/multi-registrar.js +133 -0
  84. package/voice-app/lib/outbound-handler.js +299 -0
  85. package/voice-app/lib/outbound-routes.js +417 -0
  86. package/voice-app/lib/outbound-session.js +324 -0
  87. package/voice-app/lib/query-routes.js +484 -0
  88. package/voice-app/lib/registrar.js +144 -0
  89. package/voice-app/lib/sip-handler.js +490 -0
  90. package/voice-app/lib/tts-service.js +205 -0
  91. package/voice-app/lib/whisper-client.js +140 -0
  92. package/voice-app/package.json +38 -0
  93. package/voice-app/static/gotit-beep.wav +0 -0
  94. package/voice-app/static/hold-music.wav +0 -0
  95. package/voice-app/static/ready-beep.wav +0 -0
  96. package/voice-app/test/freeswitch-retry.test.js +100 -0
@@ -0,0 +1,1201 @@
1
+ {
2
+ "name": "claude-phone-mcp",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "claude-phone-mcp",
9
+ "version": "1.0.0",
10
+ "dependencies": {
11
+ "@modelcontextprotocol/sdk": "^1.0.0"
12
+ },
13
+ "bin": {
14
+ "claude-phone-mcp": "index.js"
15
+ }
16
+ },
17
+ "node_modules/@hono/node-server": {
18
+ "version": "2.1.1",
19
+ "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-2.1.1.tgz",
20
+ "integrity": "sha512-ELuehkj5VCBdgEw9zs+ivkKwyzzUCSQuE96YmiPvn1ECBoZCczbFXJLeEGMTYjphP6gydh4pHMqEYPVMYUVgQg==",
21
+ "license": "MIT",
22
+ "engines": {
23
+ "node": ">=20"
24
+ },
25
+ "peerDependencies": {
26
+ "hono": "^4"
27
+ }
28
+ },
29
+ "node_modules/@modelcontextprotocol/sdk": {
30
+ "version": "1.30.0",
31
+ "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.30.0.tgz",
32
+ "integrity": "sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA==",
33
+ "license": "MIT",
34
+ "dependencies": {
35
+ "@hono/node-server": "^1.19.9 || ^2.0.5",
36
+ "ajv": "^8.17.1",
37
+ "ajv-formats": "^3.0.1",
38
+ "content-type": "^1.0.5",
39
+ "cors": "^2.8.5",
40
+ "cross-spawn": "^7.0.5",
41
+ "eventsource": "^3.0.2",
42
+ "eventsource-parser": "^3.0.0",
43
+ "express": "^5.2.1",
44
+ "express-rate-limit": "^8.2.1",
45
+ "hono": "^4.11.4",
46
+ "jose": "^6.1.3",
47
+ "json-schema-typed": "^8.0.2",
48
+ "pkce-challenge": "^5.0.0",
49
+ "raw-body": "^3.0.0",
50
+ "zod": "^3.25 || ^4.0",
51
+ "zod-to-json-schema": "^3.25.1"
52
+ },
53
+ "engines": {
54
+ "node": ">=18"
55
+ },
56
+ "peerDependencies": {
57
+ "@cfworker/json-schema": "^4.1.1",
58
+ "zod": "^3.25 || ^4.0"
59
+ },
60
+ "peerDependenciesMeta": {
61
+ "@cfworker/json-schema": {
62
+ "optional": true
63
+ },
64
+ "zod": {
65
+ "optional": false
66
+ }
67
+ }
68
+ },
69
+ "node_modules/accepts": {
70
+ "version": "2.0.0",
71
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
72
+ "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
73
+ "license": "MIT",
74
+ "dependencies": {
75
+ "mime-types": "^3.0.0",
76
+ "negotiator": "^1.0.0"
77
+ },
78
+ "engines": {
79
+ "node": ">= 0.6"
80
+ }
81
+ },
82
+ "node_modules/ajv": {
83
+ "version": "8.20.0",
84
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz",
85
+ "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==",
86
+ "license": "MIT",
87
+ "dependencies": {
88
+ "fast-deep-equal": "^3.1.3",
89
+ "fast-uri": "^3.0.1",
90
+ "json-schema-traverse": "^1.0.0",
91
+ "require-from-string": "^2.0.2"
92
+ },
93
+ "funding": {
94
+ "type": "github",
95
+ "url": "https://github.com/sponsors/epoberezkin"
96
+ }
97
+ },
98
+ "node_modules/ajv-formats": {
99
+ "version": "3.0.1",
100
+ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz",
101
+ "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==",
102
+ "license": "MIT",
103
+ "dependencies": {
104
+ "ajv": "^8.0.0"
105
+ },
106
+ "peerDependencies": {
107
+ "ajv": "^8.0.0"
108
+ },
109
+ "peerDependenciesMeta": {
110
+ "ajv": {
111
+ "optional": true
112
+ }
113
+ }
114
+ },
115
+ "node_modules/body-parser": {
116
+ "version": "2.3.0",
117
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.3.0.tgz",
118
+ "integrity": "sha512-2cGmJupaNgg+QUwVLAucDuWuoMZ6EX9iHDRswZ5lsNYEmwPaRknMPCLZz07yTzVq/83p4o/wzbDZbBrTvGGTIw==",
119
+ "license": "MIT",
120
+ "dependencies": {
121
+ "bytes": "^3.1.2",
122
+ "content-type": "^2.0.0",
123
+ "debug": "^4.4.3",
124
+ "http-errors": "^2.0.1",
125
+ "iconv-lite": "^0.7.2",
126
+ "on-finished": "^2.4.1",
127
+ "qs": "^6.15.2",
128
+ "raw-body": "^3.0.2",
129
+ "type-is": "^2.1.0"
130
+ },
131
+ "engines": {
132
+ "node": ">=18"
133
+ },
134
+ "funding": {
135
+ "type": "opencollective",
136
+ "url": "https://opencollective.com/express"
137
+ }
138
+ },
139
+ "node_modules/body-parser/node_modules/content-type": {
140
+ "version": "2.1.0",
141
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz",
142
+ "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
143
+ "license": "MIT",
144
+ "engines": {
145
+ "node": ">=18"
146
+ },
147
+ "funding": {
148
+ "type": "opencollective",
149
+ "url": "https://opencollective.com/express"
150
+ }
151
+ },
152
+ "node_modules/bytes": {
153
+ "version": "3.1.2",
154
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
155
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
156
+ "license": "MIT",
157
+ "engines": {
158
+ "node": ">= 0.8"
159
+ }
160
+ },
161
+ "node_modules/call-bind-apply-helpers": {
162
+ "version": "1.0.2",
163
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
164
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
165
+ "license": "MIT",
166
+ "dependencies": {
167
+ "es-errors": "^1.3.0",
168
+ "function-bind": "^1.1.2"
169
+ },
170
+ "engines": {
171
+ "node": ">= 0.4"
172
+ }
173
+ },
174
+ "node_modules/call-bound": {
175
+ "version": "1.0.4",
176
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
177
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
178
+ "license": "MIT",
179
+ "dependencies": {
180
+ "call-bind-apply-helpers": "^1.0.2",
181
+ "get-intrinsic": "^1.3.0"
182
+ },
183
+ "engines": {
184
+ "node": ">= 0.4"
185
+ },
186
+ "funding": {
187
+ "url": "https://github.com/sponsors/ljharb"
188
+ }
189
+ },
190
+ "node_modules/content-disposition": {
191
+ "version": "1.1.0",
192
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.1.0.tgz",
193
+ "integrity": "sha512-5jRCH9Z/+DRP7rkvY83B+yGIGX96OYdJmzngqnw2SBSxqCFPd0w2km3s5iawpGX8krnwSGmF0FW5Nhr0Hfai3g==",
194
+ "license": "MIT",
195
+ "engines": {
196
+ "node": ">=18"
197
+ },
198
+ "funding": {
199
+ "type": "opencollective",
200
+ "url": "https://opencollective.com/express"
201
+ }
202
+ },
203
+ "node_modules/content-type": {
204
+ "version": "1.0.5",
205
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
206
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
207
+ "license": "MIT",
208
+ "engines": {
209
+ "node": ">= 0.6"
210
+ }
211
+ },
212
+ "node_modules/cookie": {
213
+ "version": "0.7.2",
214
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
215
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
216
+ "license": "MIT",
217
+ "engines": {
218
+ "node": ">= 0.6"
219
+ }
220
+ },
221
+ "node_modules/cookie-signature": {
222
+ "version": "1.2.2",
223
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
224
+ "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
225
+ "license": "MIT",
226
+ "engines": {
227
+ "node": ">=6.6.0"
228
+ }
229
+ },
230
+ "node_modules/cors": {
231
+ "version": "2.8.6",
232
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz",
233
+ "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==",
234
+ "license": "MIT",
235
+ "dependencies": {
236
+ "object-assign": "^4",
237
+ "vary": "^1"
238
+ },
239
+ "engines": {
240
+ "node": ">= 0.10"
241
+ },
242
+ "funding": {
243
+ "type": "opencollective",
244
+ "url": "https://opencollective.com/express"
245
+ }
246
+ },
247
+ "node_modules/cross-spawn": {
248
+ "version": "7.0.6",
249
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
250
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
251
+ "license": "MIT",
252
+ "dependencies": {
253
+ "path-key": "^3.1.0",
254
+ "shebang-command": "^2.0.0",
255
+ "which": "^2.0.1"
256
+ },
257
+ "engines": {
258
+ "node": ">= 8"
259
+ }
260
+ },
261
+ "node_modules/debug": {
262
+ "version": "4.4.3",
263
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
264
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
265
+ "license": "MIT",
266
+ "dependencies": {
267
+ "ms": "^2.1.3"
268
+ },
269
+ "engines": {
270
+ "node": ">=6.0"
271
+ },
272
+ "peerDependenciesMeta": {
273
+ "supports-color": {
274
+ "optional": true
275
+ }
276
+ }
277
+ },
278
+ "node_modules/depd": {
279
+ "version": "2.0.0",
280
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
281
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
282
+ "license": "MIT",
283
+ "engines": {
284
+ "node": ">= 0.8"
285
+ }
286
+ },
287
+ "node_modules/dunder-proto": {
288
+ "version": "1.0.1",
289
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
290
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
291
+ "license": "MIT",
292
+ "dependencies": {
293
+ "call-bind-apply-helpers": "^1.0.1",
294
+ "es-errors": "^1.3.0",
295
+ "gopd": "^1.2.0"
296
+ },
297
+ "engines": {
298
+ "node": ">= 0.4"
299
+ }
300
+ },
301
+ "node_modules/ee-first": {
302
+ "version": "1.1.1",
303
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
304
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
305
+ "license": "MIT"
306
+ },
307
+ "node_modules/encodeurl": {
308
+ "version": "2.0.0",
309
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
310
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
311
+ "license": "MIT",
312
+ "engines": {
313
+ "node": ">= 0.8"
314
+ }
315
+ },
316
+ "node_modules/es-define-property": {
317
+ "version": "1.0.1",
318
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
319
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
320
+ "license": "MIT",
321
+ "engines": {
322
+ "node": ">= 0.4"
323
+ }
324
+ },
325
+ "node_modules/es-errors": {
326
+ "version": "1.3.0",
327
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
328
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
329
+ "license": "MIT",
330
+ "engines": {
331
+ "node": ">= 0.4"
332
+ }
333
+ },
334
+ "node_modules/es-object-atoms": {
335
+ "version": "1.1.2",
336
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz",
337
+ "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==",
338
+ "license": "MIT",
339
+ "dependencies": {
340
+ "es-errors": "^1.3.0"
341
+ },
342
+ "engines": {
343
+ "node": ">= 0.4"
344
+ }
345
+ },
346
+ "node_modules/escape-html": {
347
+ "version": "1.0.3",
348
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
349
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
350
+ "license": "MIT"
351
+ },
352
+ "node_modules/etag": {
353
+ "version": "1.8.1",
354
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
355
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
356
+ "license": "MIT",
357
+ "engines": {
358
+ "node": ">= 0.6"
359
+ }
360
+ },
361
+ "node_modules/eventsource": {
362
+ "version": "3.0.7",
363
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz",
364
+ "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==",
365
+ "license": "MIT",
366
+ "dependencies": {
367
+ "eventsource-parser": "^3.0.1"
368
+ },
369
+ "engines": {
370
+ "node": ">=18.0.0"
371
+ }
372
+ },
373
+ "node_modules/eventsource-parser": {
374
+ "version": "3.1.1",
375
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.1.1.tgz",
376
+ "integrity": "sha512-EKN1vKAMcZ8MlYMpaNuxN6R9yakzH6uajHcHVTqWJzvu5pWw9DyhbP35HH8MVBQ+dZjAfDxk+A8NiR9KWaXiyQ==",
377
+ "license": "MIT",
378
+ "engines": {
379
+ "node": ">=18.0.0"
380
+ }
381
+ },
382
+ "node_modules/express": {
383
+ "version": "5.2.1",
384
+ "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz",
385
+ "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==",
386
+ "license": "MIT",
387
+ "dependencies": {
388
+ "accepts": "^2.0.0",
389
+ "body-parser": "^2.2.1",
390
+ "content-disposition": "^1.0.0",
391
+ "content-type": "^1.0.5",
392
+ "cookie": "^0.7.1",
393
+ "cookie-signature": "^1.2.1",
394
+ "debug": "^4.4.0",
395
+ "depd": "^2.0.0",
396
+ "encodeurl": "^2.0.0",
397
+ "escape-html": "^1.0.3",
398
+ "etag": "^1.8.1",
399
+ "finalhandler": "^2.1.0",
400
+ "fresh": "^2.0.0",
401
+ "http-errors": "^2.0.0",
402
+ "merge-descriptors": "^2.0.0",
403
+ "mime-types": "^3.0.0",
404
+ "on-finished": "^2.4.1",
405
+ "once": "^1.4.0",
406
+ "parseurl": "^1.3.3",
407
+ "proxy-addr": "^2.0.7",
408
+ "qs": "^6.14.0",
409
+ "range-parser": "^1.2.1",
410
+ "router": "^2.2.0",
411
+ "send": "^1.1.0",
412
+ "serve-static": "^2.2.0",
413
+ "statuses": "^2.0.1",
414
+ "type-is": "^2.0.1",
415
+ "vary": "^1.1.2"
416
+ },
417
+ "engines": {
418
+ "node": ">= 18"
419
+ },
420
+ "funding": {
421
+ "type": "opencollective",
422
+ "url": "https://opencollective.com/express"
423
+ }
424
+ },
425
+ "node_modules/express-rate-limit": {
426
+ "version": "8.7.0",
427
+ "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.7.0.tgz",
428
+ "integrity": "sha512-hOwV7WOxXfjRpAM1DSJWZDXx3GhplwD8IfwuwvogD8i1Qnkgosw/H45s4ZnFAUHDAhPjlY9hLBvJhKmGMyY26g==",
429
+ "license": "MIT",
430
+ "dependencies": {
431
+ "debug": "^4.4.3",
432
+ "ip-address": "^10.2.0"
433
+ },
434
+ "engines": {
435
+ "node": ">= 16"
436
+ },
437
+ "funding": {
438
+ "url": "https://github.com/sponsors/express-rate-limit"
439
+ },
440
+ "peerDependencies": {
441
+ "express": ">= 4.11"
442
+ }
443
+ },
444
+ "node_modules/fast-deep-equal": {
445
+ "version": "3.1.3",
446
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
447
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
448
+ "license": "MIT"
449
+ },
450
+ "node_modules/fast-uri": {
451
+ "version": "3.1.6",
452
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.6.tgz",
453
+ "integrity": "sha512-7Ical1vFEMr0onbVzEDIreM22I4khW+fzyQPwvAFWBp1iwdshSZRsL4jjRvPG9JP1uiqMHRto+YU6R2/CzDz5Q==",
454
+ "funding": [
455
+ {
456
+ "type": "github",
457
+ "url": "https://github.com/sponsors/fastify"
458
+ },
459
+ {
460
+ "type": "opencollective",
461
+ "url": "https://opencollective.com/fastify"
462
+ }
463
+ ],
464
+ "license": "BSD-3-Clause"
465
+ },
466
+ "node_modules/finalhandler": {
467
+ "version": "2.1.1",
468
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz",
469
+ "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==",
470
+ "license": "MIT",
471
+ "dependencies": {
472
+ "debug": "^4.4.0",
473
+ "encodeurl": "^2.0.0",
474
+ "escape-html": "^1.0.3",
475
+ "on-finished": "^2.4.1",
476
+ "parseurl": "^1.3.3",
477
+ "statuses": "^2.0.1"
478
+ },
479
+ "engines": {
480
+ "node": ">= 18.0.0"
481
+ },
482
+ "funding": {
483
+ "type": "opencollective",
484
+ "url": "https://opencollective.com/express"
485
+ }
486
+ },
487
+ "node_modules/forwarded": {
488
+ "version": "0.2.0",
489
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
490
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
491
+ "license": "MIT",
492
+ "engines": {
493
+ "node": ">= 0.6"
494
+ }
495
+ },
496
+ "node_modules/fresh": {
497
+ "version": "2.0.0",
498
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
499
+ "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
500
+ "license": "MIT",
501
+ "engines": {
502
+ "node": ">= 0.8"
503
+ }
504
+ },
505
+ "node_modules/function-bind": {
506
+ "version": "1.1.2",
507
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
508
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
509
+ "license": "MIT",
510
+ "funding": {
511
+ "url": "https://github.com/sponsors/ljharb"
512
+ }
513
+ },
514
+ "node_modules/get-intrinsic": {
515
+ "version": "1.3.0",
516
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
517
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
518
+ "license": "MIT",
519
+ "dependencies": {
520
+ "call-bind-apply-helpers": "^1.0.2",
521
+ "es-define-property": "^1.0.1",
522
+ "es-errors": "^1.3.0",
523
+ "es-object-atoms": "^1.1.1",
524
+ "function-bind": "^1.1.2",
525
+ "get-proto": "^1.0.1",
526
+ "gopd": "^1.2.0",
527
+ "has-symbols": "^1.1.0",
528
+ "hasown": "^2.0.2",
529
+ "math-intrinsics": "^1.1.0"
530
+ },
531
+ "engines": {
532
+ "node": ">= 0.4"
533
+ },
534
+ "funding": {
535
+ "url": "https://github.com/sponsors/ljharb"
536
+ }
537
+ },
538
+ "node_modules/get-proto": {
539
+ "version": "1.0.1",
540
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
541
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
542
+ "license": "MIT",
543
+ "dependencies": {
544
+ "dunder-proto": "^1.0.1",
545
+ "es-object-atoms": "^1.0.0"
546
+ },
547
+ "engines": {
548
+ "node": ">= 0.4"
549
+ }
550
+ },
551
+ "node_modules/gopd": {
552
+ "version": "1.2.0",
553
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
554
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
555
+ "license": "MIT",
556
+ "engines": {
557
+ "node": ">= 0.4"
558
+ },
559
+ "funding": {
560
+ "url": "https://github.com/sponsors/ljharb"
561
+ }
562
+ },
563
+ "node_modules/has-symbols": {
564
+ "version": "1.1.0",
565
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
566
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
567
+ "license": "MIT",
568
+ "engines": {
569
+ "node": ">= 0.4"
570
+ },
571
+ "funding": {
572
+ "url": "https://github.com/sponsors/ljharb"
573
+ }
574
+ },
575
+ "node_modules/hasown": {
576
+ "version": "2.0.4",
577
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz",
578
+ "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==",
579
+ "license": "MIT",
580
+ "dependencies": {
581
+ "function-bind": "^1.1.2"
582
+ },
583
+ "engines": {
584
+ "node": ">= 0.4"
585
+ }
586
+ },
587
+ "node_modules/hono": {
588
+ "version": "4.13.5",
589
+ "resolved": "https://registry.npmjs.org/hono/-/hono-4.13.5.tgz",
590
+ "integrity": "sha512-O6+/eCYRkzzzy0rPWwKLiGBR1nFuUPZynnwjxN1MBA62NNqbT0wQEzQyK2gSO5yDIDB336sXQleAhOHrzlYyKw==",
591
+ "license": "MIT",
592
+ "engines": {
593
+ "node": ">=16.9.0"
594
+ }
595
+ },
596
+ "node_modules/http-errors": {
597
+ "version": "2.0.1",
598
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
599
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
600
+ "license": "MIT",
601
+ "dependencies": {
602
+ "depd": "~2.0.0",
603
+ "inherits": "~2.0.4",
604
+ "setprototypeof": "~1.2.0",
605
+ "statuses": "~2.0.2",
606
+ "toidentifier": "~1.0.1"
607
+ },
608
+ "engines": {
609
+ "node": ">= 0.8"
610
+ },
611
+ "funding": {
612
+ "type": "opencollective",
613
+ "url": "https://opencollective.com/express"
614
+ }
615
+ },
616
+ "node_modules/iconv-lite": {
617
+ "version": "0.7.3",
618
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.3.tgz",
619
+ "integrity": "sha512-IKXpvIzjnC9XTAUbVBcMfGS0EPaIXtW6v+zr+RRp+hqULEpo0owZax6wyRwPOJbWbzjYspQwusTsfVr0ifh4uQ==",
620
+ "license": "MIT",
621
+ "dependencies": {
622
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
623
+ },
624
+ "engines": {
625
+ "node": ">=0.10.0"
626
+ },
627
+ "funding": {
628
+ "type": "opencollective",
629
+ "url": "https://opencollective.com/express"
630
+ }
631
+ },
632
+ "node_modules/inherits": {
633
+ "version": "2.0.4",
634
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
635
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
636
+ "license": "ISC"
637
+ },
638
+ "node_modules/ip-address": {
639
+ "version": "10.7.0",
640
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.7.0.tgz",
641
+ "integrity": "sha512-BGFsyJd5mpXp3rK6jIdADLNgpJUK1jnjzvYF8lK+VyDab9JAmqN0YOKDdP17HlgKb2+ehPgDc8EtnRLbGCAMhA==",
642
+ "license": "MIT",
643
+ "engines": {
644
+ "node": ">= 12"
645
+ }
646
+ },
647
+ "node_modules/ipaddr.js": {
648
+ "version": "1.9.1",
649
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
650
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
651
+ "license": "MIT",
652
+ "engines": {
653
+ "node": ">= 0.10"
654
+ }
655
+ },
656
+ "node_modules/is-promise": {
657
+ "version": "4.0.0",
658
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
659
+ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
660
+ "license": "MIT"
661
+ },
662
+ "node_modules/isexe": {
663
+ "version": "2.0.0",
664
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
665
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
666
+ "license": "ISC"
667
+ },
668
+ "node_modules/jose": {
669
+ "version": "6.2.10",
670
+ "resolved": "https://registry.npmjs.org/jose/-/jose-6.2.10.tgz",
671
+ "integrity": "sha512-iiW7J9qRFlGxvCOIBDBDxFePQSn7ZMAnrYGhrrOo6siO/MIqwfyilLR27pkfDgUk+raLuzADS8A3S/KLBisc0g==",
672
+ "license": "MIT",
673
+ "funding": {
674
+ "url": "https://github.com/sponsors/panva"
675
+ }
676
+ },
677
+ "node_modules/json-schema-traverse": {
678
+ "version": "1.0.0",
679
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
680
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
681
+ "license": "MIT"
682
+ },
683
+ "node_modules/json-schema-typed": {
684
+ "version": "8.0.2",
685
+ "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz",
686
+ "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==",
687
+ "license": "BSD-2-Clause"
688
+ },
689
+ "node_modules/math-intrinsics": {
690
+ "version": "1.1.0",
691
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
692
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
693
+ "license": "MIT",
694
+ "engines": {
695
+ "node": ">= 0.4"
696
+ }
697
+ },
698
+ "node_modules/media-typer": {
699
+ "version": "1.1.1",
700
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.1.tgz",
701
+ "integrity": "sha512-yz3xRaG20c6/BOzvYoDaGtPmGscs7YivItZEEqe6GbwNfHuxu9YNmvnEkMzKldAGY4/80pRcQRZSEnhquk9XuQ==",
702
+ "license": "MIT",
703
+ "engines": {
704
+ "node": ">= 0.8"
705
+ },
706
+ "funding": {
707
+ "type": "opencollective",
708
+ "url": "https://opencollective.com/express"
709
+ }
710
+ },
711
+ "node_modules/merge-descriptors": {
712
+ "version": "2.0.0",
713
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
714
+ "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
715
+ "license": "MIT",
716
+ "engines": {
717
+ "node": ">=18"
718
+ },
719
+ "funding": {
720
+ "url": "https://github.com/sponsors/sindresorhus"
721
+ }
722
+ },
723
+ "node_modules/mime-db": {
724
+ "version": "1.54.0",
725
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
726
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
727
+ "license": "MIT",
728
+ "engines": {
729
+ "node": ">= 0.6"
730
+ }
731
+ },
732
+ "node_modules/mime-types": {
733
+ "version": "3.0.2",
734
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
735
+ "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
736
+ "license": "MIT",
737
+ "dependencies": {
738
+ "mime-db": "^1.54.0"
739
+ },
740
+ "engines": {
741
+ "node": ">=18"
742
+ },
743
+ "funding": {
744
+ "type": "opencollective",
745
+ "url": "https://opencollective.com/express"
746
+ }
747
+ },
748
+ "node_modules/ms": {
749
+ "version": "2.1.3",
750
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
751
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
752
+ "license": "MIT"
753
+ },
754
+ "node_modules/negotiator": {
755
+ "version": "1.1.0",
756
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.1.0.tgz",
757
+ "integrity": "sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==",
758
+ "license": "MIT",
759
+ "dependencies": {
760
+ "content-type": "^2.1.0"
761
+ },
762
+ "engines": {
763
+ "node": ">=18"
764
+ },
765
+ "funding": {
766
+ "type": "opencollective",
767
+ "url": "https://opencollective.com/express"
768
+ }
769
+ },
770
+ "node_modules/negotiator/node_modules/content-type": {
771
+ "version": "2.1.0",
772
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz",
773
+ "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
774
+ "license": "MIT",
775
+ "engines": {
776
+ "node": ">=18"
777
+ },
778
+ "funding": {
779
+ "type": "opencollective",
780
+ "url": "https://opencollective.com/express"
781
+ }
782
+ },
783
+ "node_modules/object-assign": {
784
+ "version": "4.1.1",
785
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
786
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
787
+ "license": "MIT",
788
+ "engines": {
789
+ "node": ">=0.10.0"
790
+ }
791
+ },
792
+ "node_modules/object-inspect": {
793
+ "version": "1.13.4",
794
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
795
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
796
+ "license": "MIT",
797
+ "engines": {
798
+ "node": ">= 0.4"
799
+ },
800
+ "funding": {
801
+ "url": "https://github.com/sponsors/ljharb"
802
+ }
803
+ },
804
+ "node_modules/on-finished": {
805
+ "version": "2.4.1",
806
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
807
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
808
+ "license": "MIT",
809
+ "dependencies": {
810
+ "ee-first": "1.1.1"
811
+ },
812
+ "engines": {
813
+ "node": ">= 0.8"
814
+ }
815
+ },
816
+ "node_modules/once": {
817
+ "version": "1.4.0",
818
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
819
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
820
+ "license": "ISC",
821
+ "dependencies": {
822
+ "wrappy": "1"
823
+ }
824
+ },
825
+ "node_modules/parseurl": {
826
+ "version": "1.3.3",
827
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
828
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
829
+ "license": "MIT",
830
+ "engines": {
831
+ "node": ">= 0.8"
832
+ }
833
+ },
834
+ "node_modules/path-key": {
835
+ "version": "3.1.1",
836
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
837
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
838
+ "license": "MIT",
839
+ "engines": {
840
+ "node": ">=8"
841
+ }
842
+ },
843
+ "node_modules/path-to-regexp": {
844
+ "version": "8.4.2",
845
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.4.2.tgz",
846
+ "integrity": "sha512-qRcuIdP69NPm4qbACK+aDogI5CBDMi1jKe0ry5rSQJz8JVLsC7jV8XpiJjGRLLol3N+R5ihGYcrPLTno6pAdBA==",
847
+ "license": "MIT",
848
+ "funding": {
849
+ "type": "opencollective",
850
+ "url": "https://opencollective.com/express"
851
+ }
852
+ },
853
+ "node_modules/pkce-challenge": {
854
+ "version": "5.0.1",
855
+ "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz",
856
+ "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==",
857
+ "license": "MIT",
858
+ "engines": {
859
+ "node": ">=16.20.0"
860
+ }
861
+ },
862
+ "node_modules/proxy-addr": {
863
+ "version": "2.0.7",
864
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
865
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
866
+ "license": "MIT",
867
+ "dependencies": {
868
+ "forwarded": "0.2.0",
869
+ "ipaddr.js": "1.9.1"
870
+ },
871
+ "engines": {
872
+ "node": ">= 0.10"
873
+ }
874
+ },
875
+ "node_modules/qs": {
876
+ "version": "6.16.0",
877
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.16.0.tgz",
878
+ "integrity": "sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==",
879
+ "license": "BSD-3-Clause",
880
+ "dependencies": {
881
+ "es-define-property": "^1.0.1",
882
+ "side-channel": "^1.1.1"
883
+ },
884
+ "engines": {
885
+ "node": ">=0.6"
886
+ },
887
+ "funding": {
888
+ "url": "https://github.com/sponsors/ljharb"
889
+ }
890
+ },
891
+ "node_modules/range-parser": {
892
+ "version": "1.3.0",
893
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.3.0.tgz",
894
+ "integrity": "sha512-hek2mFQpPuI4E1BBKrSto+BU3e3x4xuarsbiwr3+lf7p44juvFMV0XFWQAP3xUyqXA4RrXLIoaSUGbSt056ZMw==",
895
+ "license": "MIT",
896
+ "engines": {
897
+ "node": ">= 0.6"
898
+ },
899
+ "funding": {
900
+ "type": "opencollective",
901
+ "url": "https://opencollective.com/express"
902
+ }
903
+ },
904
+ "node_modules/raw-body": {
905
+ "version": "3.0.2",
906
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz",
907
+ "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==",
908
+ "license": "MIT",
909
+ "dependencies": {
910
+ "bytes": "~3.1.2",
911
+ "http-errors": "~2.0.1",
912
+ "iconv-lite": "~0.7.0",
913
+ "unpipe": "~1.0.0"
914
+ },
915
+ "engines": {
916
+ "node": ">= 0.10"
917
+ }
918
+ },
919
+ "node_modules/require-from-string": {
920
+ "version": "2.0.2",
921
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
922
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
923
+ "license": "MIT",
924
+ "engines": {
925
+ "node": ">=0.10.0"
926
+ }
927
+ },
928
+ "node_modules/router": {
929
+ "version": "2.2.0",
930
+ "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
931
+ "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==",
932
+ "license": "MIT",
933
+ "dependencies": {
934
+ "debug": "^4.4.0",
935
+ "depd": "^2.0.0",
936
+ "is-promise": "^4.0.0",
937
+ "parseurl": "^1.3.3",
938
+ "path-to-regexp": "^8.0.0"
939
+ },
940
+ "engines": {
941
+ "node": ">= 18"
942
+ }
943
+ },
944
+ "node_modules/safer-buffer": {
945
+ "version": "2.1.2",
946
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
947
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
948
+ "license": "MIT"
949
+ },
950
+ "node_modules/send": {
951
+ "version": "1.2.1",
952
+ "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz",
953
+ "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==",
954
+ "license": "MIT",
955
+ "dependencies": {
956
+ "debug": "^4.4.3",
957
+ "encodeurl": "^2.0.0",
958
+ "escape-html": "^1.0.3",
959
+ "etag": "^1.8.1",
960
+ "fresh": "^2.0.0",
961
+ "http-errors": "^2.0.1",
962
+ "mime-types": "^3.0.2",
963
+ "ms": "^2.1.3",
964
+ "on-finished": "^2.4.1",
965
+ "range-parser": "^1.2.1",
966
+ "statuses": "^2.0.2"
967
+ },
968
+ "engines": {
969
+ "node": ">= 18"
970
+ },
971
+ "funding": {
972
+ "type": "opencollective",
973
+ "url": "https://opencollective.com/express"
974
+ }
975
+ },
976
+ "node_modules/serve-static": {
977
+ "version": "2.2.1",
978
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz",
979
+ "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==",
980
+ "license": "MIT",
981
+ "dependencies": {
982
+ "encodeurl": "^2.0.0",
983
+ "escape-html": "^1.0.3",
984
+ "parseurl": "^1.3.3",
985
+ "send": "^1.2.0"
986
+ },
987
+ "engines": {
988
+ "node": ">= 18"
989
+ },
990
+ "funding": {
991
+ "type": "opencollective",
992
+ "url": "https://opencollective.com/express"
993
+ }
994
+ },
995
+ "node_modules/setprototypeof": {
996
+ "version": "1.2.0",
997
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
998
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
999
+ "license": "ISC"
1000
+ },
1001
+ "node_modules/shebang-command": {
1002
+ "version": "2.0.0",
1003
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
1004
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
1005
+ "license": "MIT",
1006
+ "dependencies": {
1007
+ "shebang-regex": "^3.0.0"
1008
+ },
1009
+ "engines": {
1010
+ "node": ">=8"
1011
+ }
1012
+ },
1013
+ "node_modules/shebang-regex": {
1014
+ "version": "3.0.0",
1015
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
1016
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
1017
+ "license": "MIT",
1018
+ "engines": {
1019
+ "node": ">=8"
1020
+ }
1021
+ },
1022
+ "node_modules/side-channel": {
1023
+ "version": "1.1.1",
1024
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.1.tgz",
1025
+ "integrity": "sha512-6x6dK6zJdpTzF4sQeNYxwtvBzf6Eg4GtlesS94HOvTudUeyK2WXAaIfmDgsyslYrRBeFIlsi54AYsFGUuhmvrQ==",
1026
+ "license": "MIT",
1027
+ "dependencies": {
1028
+ "es-errors": "^1.3.0",
1029
+ "object-inspect": "^1.13.4",
1030
+ "side-channel-list": "^1.0.1",
1031
+ "side-channel-map": "^1.0.1",
1032
+ "side-channel-weakmap": "^1.0.2"
1033
+ },
1034
+ "engines": {
1035
+ "node": ">= 0.4"
1036
+ },
1037
+ "funding": {
1038
+ "url": "https://github.com/sponsors/ljharb"
1039
+ }
1040
+ },
1041
+ "node_modules/side-channel-list": {
1042
+ "version": "1.0.1",
1043
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz",
1044
+ "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==",
1045
+ "license": "MIT",
1046
+ "dependencies": {
1047
+ "es-errors": "^1.3.0",
1048
+ "object-inspect": "^1.13.4"
1049
+ },
1050
+ "engines": {
1051
+ "node": ">= 0.4"
1052
+ },
1053
+ "funding": {
1054
+ "url": "https://github.com/sponsors/ljharb"
1055
+ }
1056
+ },
1057
+ "node_modules/side-channel-map": {
1058
+ "version": "1.0.1",
1059
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
1060
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
1061
+ "license": "MIT",
1062
+ "dependencies": {
1063
+ "call-bound": "^1.0.2",
1064
+ "es-errors": "^1.3.0",
1065
+ "get-intrinsic": "^1.2.5",
1066
+ "object-inspect": "^1.13.3"
1067
+ },
1068
+ "engines": {
1069
+ "node": ">= 0.4"
1070
+ },
1071
+ "funding": {
1072
+ "url": "https://github.com/sponsors/ljharb"
1073
+ }
1074
+ },
1075
+ "node_modules/side-channel-weakmap": {
1076
+ "version": "1.0.2",
1077
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
1078
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
1079
+ "license": "MIT",
1080
+ "dependencies": {
1081
+ "call-bound": "^1.0.2",
1082
+ "es-errors": "^1.3.0",
1083
+ "get-intrinsic": "^1.2.5",
1084
+ "object-inspect": "^1.13.3",
1085
+ "side-channel-map": "^1.0.1"
1086
+ },
1087
+ "engines": {
1088
+ "node": ">= 0.4"
1089
+ },
1090
+ "funding": {
1091
+ "url": "https://github.com/sponsors/ljharb"
1092
+ }
1093
+ },
1094
+ "node_modules/statuses": {
1095
+ "version": "2.0.2",
1096
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
1097
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
1098
+ "license": "MIT",
1099
+ "engines": {
1100
+ "node": ">= 0.8"
1101
+ }
1102
+ },
1103
+ "node_modules/toidentifier": {
1104
+ "version": "1.0.1",
1105
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
1106
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
1107
+ "license": "MIT",
1108
+ "engines": {
1109
+ "node": ">=0.6"
1110
+ }
1111
+ },
1112
+ "node_modules/type-is": {
1113
+ "version": "2.1.0",
1114
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.1.0.tgz",
1115
+ "integrity": "sha512-faYHw0anBbc/kWF3zFTEnxSFOAGUX9GFbOBthvDdLsIlEoWOFOtS0zgCiQYwIskL9iGXZL3kAXD8OoZ4GmMATA==",
1116
+ "license": "MIT",
1117
+ "dependencies": {
1118
+ "content-type": "^2.0.0",
1119
+ "media-typer": "^1.1.0",
1120
+ "mime-types": "^3.0.0"
1121
+ },
1122
+ "engines": {
1123
+ "node": ">= 18"
1124
+ },
1125
+ "funding": {
1126
+ "type": "opencollective",
1127
+ "url": "https://opencollective.com/express"
1128
+ }
1129
+ },
1130
+ "node_modules/type-is/node_modules/content-type": {
1131
+ "version": "2.1.0",
1132
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-2.1.0.tgz",
1133
+ "integrity": "sha512-mj7UPXE0jaqaOsukNZRUEfEi2AcL7C/vwmwcHV0O97eO1E1pxBZuyjlZrx5seTaNBg1U6+o35wpa35Qfcc+7ag==",
1134
+ "license": "MIT",
1135
+ "engines": {
1136
+ "node": ">=18"
1137
+ },
1138
+ "funding": {
1139
+ "type": "opencollective",
1140
+ "url": "https://opencollective.com/express"
1141
+ }
1142
+ },
1143
+ "node_modules/unpipe": {
1144
+ "version": "1.0.0",
1145
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
1146
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
1147
+ "license": "MIT",
1148
+ "engines": {
1149
+ "node": ">= 0.8"
1150
+ }
1151
+ },
1152
+ "node_modules/vary": {
1153
+ "version": "1.1.2",
1154
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
1155
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
1156
+ "license": "MIT",
1157
+ "engines": {
1158
+ "node": ">= 0.8"
1159
+ }
1160
+ },
1161
+ "node_modules/which": {
1162
+ "version": "2.0.2",
1163
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
1164
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
1165
+ "license": "ISC",
1166
+ "dependencies": {
1167
+ "isexe": "^2.0.0"
1168
+ },
1169
+ "bin": {
1170
+ "node-which": "bin/node-which"
1171
+ },
1172
+ "engines": {
1173
+ "node": ">= 8"
1174
+ }
1175
+ },
1176
+ "node_modules/wrappy": {
1177
+ "version": "1.0.2",
1178
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
1179
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
1180
+ "license": "ISC"
1181
+ },
1182
+ "node_modules/zod": {
1183
+ "version": "4.5.4",
1184
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.5.4.tgz",
1185
+ "integrity": "sha512-sC95tT5iHHH9gtpj6A81kh+NEaRAUFN+qlUPDUbRfOMvNf5QCBqsb3WgvnpVtK5Y+4UfA6KqufotuTvMGiTlsA==",
1186
+ "license": "MIT",
1187
+ "funding": {
1188
+ "url": "https://github.com/sponsors/colinhacks"
1189
+ }
1190
+ },
1191
+ "node_modules/zod-to-json-schema": {
1192
+ "version": "3.25.2",
1193
+ "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.2.tgz",
1194
+ "integrity": "sha512-O/PgfnpT1xKSDeQYSCfRI5Gy3hPf91mKVDuYLUHZJMiDFptvP41MSnWofm8dnCm0256ZNfZIM7DSzuSMAFnjHA==",
1195
+ "license": "ISC",
1196
+ "peerDependencies": {
1197
+ "zod": "^3.25.28 || ^4"
1198
+ }
1199
+ }
1200
+ }
1201
+ }