yadnyeshkolte commited on
Commit
b79e8f8
·
1 Parent(s): 5af1f67

update with open ports

Browse files
Dockerfile CHANGED
@@ -26,22 +26,22 @@ RUN cd mcp-servers/doc-generator && npm run build
26
  FROM node:20-slim
27
  WORKDIR /app
28
 
29
- # Install PM2 to manage multiple processes
30
  RUN npm install -g pm2
31
 
32
  # Copy builds
33
  COPY --from=builder /app /app
34
 
35
- # Hugging Face Spaces default port is 7860
36
  ENV PORT=7860
37
- EXPOSE 7860 3002 3003 3004
38
 
39
- # Create start script using a safer method
40
  RUN echo '#!/bin/bash' > start.sh && \
41
- echo 'pm2 start /app/mcp-servers/repo-analyzer/dist/index.mjs --name "repo-analyzer"' >> start.sh && \
42
- echo 'pm2 start /app/mcp-servers/code-reader/dist/index.mjs --name "code-reader"' >> start.sh && \
43
- echo 'pm2 start /app/mcp-servers/doc-generator/dist/index.mjs --name "doc-generator"' >> start.sh && \
44
- echo 'pm2-runtime start /app/backend/dist/index.js --name "backend"' >> start.sh && \
45
  chmod +x start.sh
46
 
47
- CMD ["./start.sh"]
 
26
  FROM node:20-slim
27
  WORKDIR /app
28
 
29
+ # Install PM2 and HTTP-Proxy
30
  RUN npm install -g pm2
31
 
32
  # Copy builds
33
  COPY --from=builder /app /app
34
 
35
+ # Hugging Face default port
36
  ENV PORT=7860
37
+ EXPOSE 7860
38
 
39
+ # Create start script with DIFFERENT PORTS for each agent
40
  RUN echo '#!/bin/bash' > start.sh && \
41
+ echo 'PORT=3002 pm2 start /app/mcp-servers/repo-analyzer/dist/index.mjs --name "repo-analyzer"' >> start.sh && \
42
+ echo 'PORT=3003 pm2 start /app/mcp-servers/code-reader/dist/index.mjs --name "code-reader"' >> start.sh && \
43
+ echo 'PORT=3004 pm2 start /app/mcp-servers/doc-generator/dist/index.mjs --name "doc-generator"' >> start.sh && \
44
+ echo 'PORT=7860 pm2-runtime start /app/backend/dist/index.js --name "backend"' >> start.sh && \
45
  chmod +x start.sh
46
 
47
+ CMD ["./start.sh"]
backend/package-lock.json ADDED
@@ -0,0 +1,2534 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "name": "readmere-backend",
3
+ "version": "1.0.0",
4
+ "lockfileVersion": 3,
5
+ "requires": true,
6
+ "packages": {
7
+ "": {
8
+ "name": "readmere-backend",
9
+ "version": "1.0.0",
10
+ "dependencies": {
11
+ "@modelcontextprotocol/sdk": "^1.12.1",
12
+ "cors": "^2.8.5",
13
+ "dotenv": "^16.3.1",
14
+ "eventsource": "^2.0.2",
15
+ "express": "^4.18.2",
16
+ "http-proxy-middleware": "^3.0.5"
17
+ },
18
+ "devDependencies": {
19
+ "@types/cors": "^2.8.17",
20
+ "@types/eventsource": "^1.1.15",
21
+ "@types/express": "^4.17.21",
22
+ "@types/node": "^20.0.0",
23
+ "ts-node-dev": "^2.0.0",
24
+ "typescript": "^5.3.0"
25
+ }
26
+ },
27
+ "node_modules/@cspotcode/source-map-support": {
28
+ "version": "0.8.1",
29
+ "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz",
30
+ "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==",
31
+ "dev": true,
32
+ "license": "MIT",
33
+ "dependencies": {
34
+ "@jridgewell/trace-mapping": "0.3.9"
35
+ },
36
+ "engines": {
37
+ "node": ">=12"
38
+ }
39
+ },
40
+ "node_modules/@hono/node-server": {
41
+ "version": "1.19.9",
42
+ "resolved": "https://registry.npmjs.org/@hono/node-server/-/node-server-1.19.9.tgz",
43
+ "integrity": "sha512-vHL6w3ecZsky+8P5MD+eFfaGTyCeOHUIFYMGpQGbrBTSmNNoxv0if69rEZ5giu36weC5saFuznL411gRX7bJDw==",
44
+ "license": "MIT",
45
+ "engines": {
46
+ "node": ">=18.14.1"
47
+ },
48
+ "peerDependencies": {
49
+ "hono": "^4"
50
+ }
51
+ },
52
+ "node_modules/@jridgewell/resolve-uri": {
53
+ "version": "3.1.2",
54
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
55
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
56
+ "dev": true,
57
+ "license": "MIT",
58
+ "engines": {
59
+ "node": ">=6.0.0"
60
+ }
61
+ },
62
+ "node_modules/@jridgewell/sourcemap-codec": {
63
+ "version": "1.5.5",
64
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz",
65
+ "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==",
66
+ "dev": true,
67
+ "license": "MIT"
68
+ },
69
+ "node_modules/@jridgewell/trace-mapping": {
70
+ "version": "0.3.9",
71
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz",
72
+ "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==",
73
+ "dev": true,
74
+ "license": "MIT",
75
+ "dependencies": {
76
+ "@jridgewell/resolve-uri": "^3.0.3",
77
+ "@jridgewell/sourcemap-codec": "^1.4.10"
78
+ }
79
+ },
80
+ "node_modules/@modelcontextprotocol/sdk": {
81
+ "version": "1.26.0",
82
+ "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.26.0.tgz",
83
+ "integrity": "sha512-Y5RmPncpiDtTXDbLKswIJzTqu2hyBKxTNsgKqKclDbhIgg1wgtf1fRuvxgTnRfcnxtvvgbIEcqUOzZrJ6iSReg==",
84
+ "license": "MIT",
85
+ "dependencies": {
86
+ "@hono/node-server": "^1.19.9",
87
+ "ajv": "^8.17.1",
88
+ "ajv-formats": "^3.0.1",
89
+ "content-type": "^1.0.5",
90
+ "cors": "^2.8.5",
91
+ "cross-spawn": "^7.0.5",
92
+ "eventsource": "^3.0.2",
93
+ "eventsource-parser": "^3.0.0",
94
+ "express": "^5.2.1",
95
+ "express-rate-limit": "^8.2.1",
96
+ "hono": "^4.11.4",
97
+ "jose": "^6.1.3",
98
+ "json-schema-typed": "^8.0.2",
99
+ "pkce-challenge": "^5.0.0",
100
+ "raw-body": "^3.0.0",
101
+ "zod": "^3.25 || ^4.0",
102
+ "zod-to-json-schema": "^3.25.1"
103
+ },
104
+ "engines": {
105
+ "node": ">=18"
106
+ },
107
+ "peerDependencies": {
108
+ "@cfworker/json-schema": "^4.1.1",
109
+ "zod": "^3.25 || ^4.0"
110
+ },
111
+ "peerDependenciesMeta": {
112
+ "@cfworker/json-schema": {
113
+ "optional": true
114
+ },
115
+ "zod": {
116
+ "optional": false
117
+ }
118
+ }
119
+ },
120
+ "node_modules/@modelcontextprotocol/sdk/node_modules/accepts": {
121
+ "version": "2.0.0",
122
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz",
123
+ "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==",
124
+ "license": "MIT",
125
+ "dependencies": {
126
+ "mime-types": "^3.0.0",
127
+ "negotiator": "^1.0.0"
128
+ },
129
+ "engines": {
130
+ "node": ">= 0.6"
131
+ }
132
+ },
133
+ "node_modules/@modelcontextprotocol/sdk/node_modules/body-parser": {
134
+ "version": "2.2.2",
135
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.2.tgz",
136
+ "integrity": "sha512-oP5VkATKlNwcgvxi0vM0p/D3n2C3EReYVX+DNYs5TjZFn/oQt2j+4sVJtSMr18pdRr8wjTcBl6LoV+FUwzPmNA==",
137
+ "license": "MIT",
138
+ "dependencies": {
139
+ "bytes": "^3.1.2",
140
+ "content-type": "^1.0.5",
141
+ "debug": "^4.4.3",
142
+ "http-errors": "^2.0.0",
143
+ "iconv-lite": "^0.7.0",
144
+ "on-finished": "^2.4.1",
145
+ "qs": "^6.14.1",
146
+ "raw-body": "^3.0.1",
147
+ "type-is": "^2.0.1"
148
+ },
149
+ "engines": {
150
+ "node": ">=18"
151
+ },
152
+ "funding": {
153
+ "type": "opencollective",
154
+ "url": "https://opencollective.com/express"
155
+ }
156
+ },
157
+ "node_modules/@modelcontextprotocol/sdk/node_modules/content-disposition": {
158
+ "version": "1.0.1",
159
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.1.tgz",
160
+ "integrity": "sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==",
161
+ "license": "MIT",
162
+ "engines": {
163
+ "node": ">=18"
164
+ },
165
+ "funding": {
166
+ "type": "opencollective",
167
+ "url": "https://opencollective.com/express"
168
+ }
169
+ },
170
+ "node_modules/@modelcontextprotocol/sdk/node_modules/cookie-signature": {
171
+ "version": "1.2.2",
172
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz",
173
+ "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==",
174
+ "license": "MIT",
175
+ "engines": {
176
+ "node": ">=6.6.0"
177
+ }
178
+ },
179
+ "node_modules/@modelcontextprotocol/sdk/node_modules/debug": {
180
+ "version": "4.4.3",
181
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
182
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
183
+ "license": "MIT",
184
+ "dependencies": {
185
+ "ms": "^2.1.3"
186
+ },
187
+ "engines": {
188
+ "node": ">=6.0"
189
+ },
190
+ "peerDependenciesMeta": {
191
+ "supports-color": {
192
+ "optional": true
193
+ }
194
+ }
195
+ },
196
+ "node_modules/@modelcontextprotocol/sdk/node_modules/eventsource": {
197
+ "version": "3.0.7",
198
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz",
199
+ "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==",
200
+ "license": "MIT",
201
+ "dependencies": {
202
+ "eventsource-parser": "^3.0.1"
203
+ },
204
+ "engines": {
205
+ "node": ">=18.0.0"
206
+ }
207
+ },
208
+ "node_modules/@modelcontextprotocol/sdk/node_modules/express": {
209
+ "version": "5.2.1",
210
+ "resolved": "https://registry.npmjs.org/express/-/express-5.2.1.tgz",
211
+ "integrity": "sha512-hIS4idWWai69NezIdRt2xFVofaF4j+6INOpJlVOLDO8zXGpUVEVzIYk12UUi2JzjEzWL3IOAxcTubgz9Po0yXw==",
212
+ "license": "MIT",
213
+ "dependencies": {
214
+ "accepts": "^2.0.0",
215
+ "body-parser": "^2.2.1",
216
+ "content-disposition": "^1.0.0",
217
+ "content-type": "^1.0.5",
218
+ "cookie": "^0.7.1",
219
+ "cookie-signature": "^1.2.1",
220
+ "debug": "^4.4.0",
221
+ "depd": "^2.0.0",
222
+ "encodeurl": "^2.0.0",
223
+ "escape-html": "^1.0.3",
224
+ "etag": "^1.8.1",
225
+ "finalhandler": "^2.1.0",
226
+ "fresh": "^2.0.0",
227
+ "http-errors": "^2.0.0",
228
+ "merge-descriptors": "^2.0.0",
229
+ "mime-types": "^3.0.0",
230
+ "on-finished": "^2.4.1",
231
+ "once": "^1.4.0",
232
+ "parseurl": "^1.3.3",
233
+ "proxy-addr": "^2.0.7",
234
+ "qs": "^6.14.0",
235
+ "range-parser": "^1.2.1",
236
+ "router": "^2.2.0",
237
+ "send": "^1.1.0",
238
+ "serve-static": "^2.2.0",
239
+ "statuses": "^2.0.1",
240
+ "type-is": "^2.0.1",
241
+ "vary": "^1.1.2"
242
+ },
243
+ "engines": {
244
+ "node": ">= 18"
245
+ },
246
+ "funding": {
247
+ "type": "opencollective",
248
+ "url": "https://opencollective.com/express"
249
+ }
250
+ },
251
+ "node_modules/@modelcontextprotocol/sdk/node_modules/finalhandler": {
252
+ "version": "2.1.1",
253
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.1.tgz",
254
+ "integrity": "sha512-S8KoZgRZN+a5rNwqTxlZZePjT/4cnm0ROV70LedRHZ0p8u9fRID0hJUZQpkKLzro8LfmC8sx23bY6tVNxv8pQA==",
255
+ "license": "MIT",
256
+ "dependencies": {
257
+ "debug": "^4.4.0",
258
+ "encodeurl": "^2.0.0",
259
+ "escape-html": "^1.0.3",
260
+ "on-finished": "^2.4.1",
261
+ "parseurl": "^1.3.3",
262
+ "statuses": "^2.0.1"
263
+ },
264
+ "engines": {
265
+ "node": ">= 18.0.0"
266
+ },
267
+ "funding": {
268
+ "type": "opencollective",
269
+ "url": "https://opencollective.com/express"
270
+ }
271
+ },
272
+ "node_modules/@modelcontextprotocol/sdk/node_modules/fresh": {
273
+ "version": "2.0.0",
274
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz",
275
+ "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==",
276
+ "license": "MIT",
277
+ "engines": {
278
+ "node": ">= 0.8"
279
+ }
280
+ },
281
+ "node_modules/@modelcontextprotocol/sdk/node_modules/iconv-lite": {
282
+ "version": "0.7.2",
283
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz",
284
+ "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==",
285
+ "license": "MIT",
286
+ "dependencies": {
287
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
288
+ },
289
+ "engines": {
290
+ "node": ">=0.10.0"
291
+ },
292
+ "funding": {
293
+ "type": "opencollective",
294
+ "url": "https://opencollective.com/express"
295
+ }
296
+ },
297
+ "node_modules/@modelcontextprotocol/sdk/node_modules/media-typer": {
298
+ "version": "1.1.0",
299
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz",
300
+ "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==",
301
+ "license": "MIT",
302
+ "engines": {
303
+ "node": ">= 0.8"
304
+ }
305
+ },
306
+ "node_modules/@modelcontextprotocol/sdk/node_modules/merge-descriptors": {
307
+ "version": "2.0.0",
308
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz",
309
+ "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==",
310
+ "license": "MIT",
311
+ "engines": {
312
+ "node": ">=18"
313
+ },
314
+ "funding": {
315
+ "url": "https://github.com/sponsors/sindresorhus"
316
+ }
317
+ },
318
+ "node_modules/@modelcontextprotocol/sdk/node_modules/mime-db": {
319
+ "version": "1.54.0",
320
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz",
321
+ "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==",
322
+ "license": "MIT",
323
+ "engines": {
324
+ "node": ">= 0.6"
325
+ }
326
+ },
327
+ "node_modules/@modelcontextprotocol/sdk/node_modules/mime-types": {
328
+ "version": "3.0.2",
329
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.2.tgz",
330
+ "integrity": "sha512-Lbgzdk0h4juoQ9fCKXW4by0UJqj+nOOrI9MJ1sSj4nI8aI2eo1qmvQEie4VD1glsS250n15LsWsYtCugiStS5A==",
331
+ "license": "MIT",
332
+ "dependencies": {
333
+ "mime-db": "^1.54.0"
334
+ },
335
+ "engines": {
336
+ "node": ">=18"
337
+ },
338
+ "funding": {
339
+ "type": "opencollective",
340
+ "url": "https://opencollective.com/express"
341
+ }
342
+ },
343
+ "node_modules/@modelcontextprotocol/sdk/node_modules/ms": {
344
+ "version": "2.1.3",
345
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
346
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
347
+ "license": "MIT"
348
+ },
349
+ "node_modules/@modelcontextprotocol/sdk/node_modules/negotiator": {
350
+ "version": "1.0.0",
351
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz",
352
+ "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==",
353
+ "license": "MIT",
354
+ "engines": {
355
+ "node": ">= 0.6"
356
+ }
357
+ },
358
+ "node_modules/@modelcontextprotocol/sdk/node_modules/send": {
359
+ "version": "1.2.1",
360
+ "resolved": "https://registry.npmjs.org/send/-/send-1.2.1.tgz",
361
+ "integrity": "sha512-1gnZf7DFcoIcajTjTwjwuDjzuz4PPcY2StKPlsGAQ1+YH20IRVrBaXSWmdjowTJ6u8Rc01PoYOGHXfP1mYcZNQ==",
362
+ "license": "MIT",
363
+ "dependencies": {
364
+ "debug": "^4.4.3",
365
+ "encodeurl": "^2.0.0",
366
+ "escape-html": "^1.0.3",
367
+ "etag": "^1.8.1",
368
+ "fresh": "^2.0.0",
369
+ "http-errors": "^2.0.1",
370
+ "mime-types": "^3.0.2",
371
+ "ms": "^2.1.3",
372
+ "on-finished": "^2.4.1",
373
+ "range-parser": "^1.2.1",
374
+ "statuses": "^2.0.2"
375
+ },
376
+ "engines": {
377
+ "node": ">= 18"
378
+ },
379
+ "funding": {
380
+ "type": "opencollective",
381
+ "url": "https://opencollective.com/express"
382
+ }
383
+ },
384
+ "node_modules/@modelcontextprotocol/sdk/node_modules/serve-static": {
385
+ "version": "2.2.1",
386
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.1.tgz",
387
+ "integrity": "sha512-xRXBn0pPqQTVQiC8wyQrKs2MOlX24zQ0POGaj0kultvoOCstBQM5yvOhAVSUwOMjQtTvsPWoNCHfPGwaaQJhTw==",
388
+ "license": "MIT",
389
+ "dependencies": {
390
+ "encodeurl": "^2.0.0",
391
+ "escape-html": "^1.0.3",
392
+ "parseurl": "^1.3.3",
393
+ "send": "^1.2.0"
394
+ },
395
+ "engines": {
396
+ "node": ">= 18"
397
+ },
398
+ "funding": {
399
+ "type": "opencollective",
400
+ "url": "https://opencollective.com/express"
401
+ }
402
+ },
403
+ "node_modules/@modelcontextprotocol/sdk/node_modules/type-is": {
404
+ "version": "2.0.1",
405
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz",
406
+ "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==",
407
+ "license": "MIT",
408
+ "dependencies": {
409
+ "content-type": "^1.0.5",
410
+ "media-typer": "^1.1.0",
411
+ "mime-types": "^3.0.0"
412
+ },
413
+ "engines": {
414
+ "node": ">= 0.6"
415
+ }
416
+ },
417
+ "node_modules/@tsconfig/node10": {
418
+ "version": "1.0.12",
419
+ "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.12.tgz",
420
+ "integrity": "sha512-UCYBaeFvM11aU2y3YPZ//O5Rhj+xKyzy7mvcIoAjASbigy8mHMryP5cK7dgjlz2hWxh1g5pLw084E0a/wlUSFQ==",
421
+ "dev": true,
422
+ "license": "MIT"
423
+ },
424
+ "node_modules/@tsconfig/node12": {
425
+ "version": "1.0.11",
426
+ "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz",
427
+ "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==",
428
+ "dev": true,
429
+ "license": "MIT"
430
+ },
431
+ "node_modules/@tsconfig/node14": {
432
+ "version": "1.0.3",
433
+ "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz",
434
+ "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==",
435
+ "dev": true,
436
+ "license": "MIT"
437
+ },
438
+ "node_modules/@tsconfig/node16": {
439
+ "version": "1.0.4",
440
+ "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz",
441
+ "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==",
442
+ "dev": true,
443
+ "license": "MIT"
444
+ },
445
+ "node_modules/@types/body-parser": {
446
+ "version": "1.19.6",
447
+ "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.6.tgz",
448
+ "integrity": "sha512-HLFeCYgz89uk22N5Qg3dvGvsv46B8GLvKKo1zKG4NybA8U2DiEO3w9lqGg29t/tfLRJpJ6iQxnVw4OnB7MoM9g==",
449
+ "dev": true,
450
+ "license": "MIT",
451
+ "dependencies": {
452
+ "@types/connect": "*",
453
+ "@types/node": "*"
454
+ }
455
+ },
456
+ "node_modules/@types/connect": {
457
+ "version": "3.4.38",
458
+ "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz",
459
+ "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==",
460
+ "dev": true,
461
+ "license": "MIT",
462
+ "dependencies": {
463
+ "@types/node": "*"
464
+ }
465
+ },
466
+ "node_modules/@types/cors": {
467
+ "version": "2.8.19",
468
+ "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz",
469
+ "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==",
470
+ "dev": true,
471
+ "license": "MIT",
472
+ "dependencies": {
473
+ "@types/node": "*"
474
+ }
475
+ },
476
+ "node_modules/@types/eventsource": {
477
+ "version": "1.1.15",
478
+ "resolved": "https://registry.npmjs.org/@types/eventsource/-/eventsource-1.1.15.tgz",
479
+ "integrity": "sha512-XQmGcbnxUNa06HR3VBVkc9+A2Vpi9ZyLJcdS5dwaQQ/4ZMWFO+5c90FnMUpbtMZwB/FChoYHwuVg8TvkECacTA==",
480
+ "dev": true,
481
+ "license": "MIT"
482
+ },
483
+ "node_modules/@types/express": {
484
+ "version": "4.17.25",
485
+ "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.25.tgz",
486
+ "integrity": "sha512-dVd04UKsfpINUnK0yBoYHDF3xu7xVH4BuDotC/xGuycx4CgbP48X/KF/586bcObxT0HENHXEU8Nqtu6NR+eKhw==",
487
+ "dev": true,
488
+ "license": "MIT",
489
+ "dependencies": {
490
+ "@types/body-parser": "*",
491
+ "@types/express-serve-static-core": "^4.17.33",
492
+ "@types/qs": "*",
493
+ "@types/serve-static": "^1"
494
+ }
495
+ },
496
+ "node_modules/@types/express-serve-static-core": {
497
+ "version": "4.19.8",
498
+ "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.8.tgz",
499
+ "integrity": "sha512-02S5fmqeoKzVZCHPZid4b8JH2eM5HzQLZWN2FohQEy/0eXTq8VXZfSN6Pcr3F6N9R/vNrj7cpgbhjie6m/1tCA==",
500
+ "dev": true,
501
+ "license": "MIT",
502
+ "dependencies": {
503
+ "@types/node": "*",
504
+ "@types/qs": "*",
505
+ "@types/range-parser": "*",
506
+ "@types/send": "*"
507
+ }
508
+ },
509
+ "node_modules/@types/http-errors": {
510
+ "version": "2.0.5",
511
+ "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.5.tgz",
512
+ "integrity": "sha512-r8Tayk8HJnX0FztbZN7oVqGccWgw98T/0neJphO91KkmOzug1KkofZURD4UaD5uH8AqcFLfdPErnBod0u71/qg==",
513
+ "dev": true,
514
+ "license": "MIT"
515
+ },
516
+ "node_modules/@types/http-proxy": {
517
+ "version": "1.17.17",
518
+ "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.17.tgz",
519
+ "integrity": "sha512-ED6LB+Z1AVylNTu7hdzuBqOgMnvG/ld6wGCG8wFnAzKX5uyW2K3WD52v0gnLCTK/VLpXtKckgWuyScYK6cSPaw==",
520
+ "license": "MIT",
521
+ "dependencies": {
522
+ "@types/node": "*"
523
+ }
524
+ },
525
+ "node_modules/@types/mime": {
526
+ "version": "1.3.5",
527
+ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz",
528
+ "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==",
529
+ "dev": true,
530
+ "license": "MIT"
531
+ },
532
+ "node_modules/@types/node": {
533
+ "version": "20.19.33",
534
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.33.tgz",
535
+ "integrity": "sha512-Rs1bVAIdBs5gbTIKza/tgpMuG1k3U/UMJLWecIMxNdJFDMzcM5LOiLVRYh3PilWEYDIeUDv7bpiHPLPsbydGcw==",
536
+ "license": "MIT",
537
+ "dependencies": {
538
+ "undici-types": "~6.21.0"
539
+ }
540
+ },
541
+ "node_modules/@types/qs": {
542
+ "version": "6.14.0",
543
+ "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.14.0.tgz",
544
+ "integrity": "sha512-eOunJqu0K1923aExK6y8p6fsihYEn/BYuQ4g0CxAAgFc4b/ZLN4CrsRZ55srTdqoiLzU2B2evC+apEIxprEzkQ==",
545
+ "dev": true,
546
+ "license": "MIT"
547
+ },
548
+ "node_modules/@types/range-parser": {
549
+ "version": "1.2.7",
550
+ "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz",
551
+ "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==",
552
+ "dev": true,
553
+ "license": "MIT"
554
+ },
555
+ "node_modules/@types/send": {
556
+ "version": "1.2.1",
557
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-1.2.1.tgz",
558
+ "integrity": "sha512-arsCikDvlU99zl1g69TcAB3mzZPpxgw0UQnaHeC1Nwb015xp8bknZv5rIfri9xTOcMuaVgvabfIRA7PSZVuZIQ==",
559
+ "dev": true,
560
+ "license": "MIT",
561
+ "dependencies": {
562
+ "@types/node": "*"
563
+ }
564
+ },
565
+ "node_modules/@types/serve-static": {
566
+ "version": "1.15.10",
567
+ "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.10.tgz",
568
+ "integrity": "sha512-tRs1dB+g8Itk72rlSI2ZrW6vZg0YrLI81iQSTkMmOqnqCaNr/8Ek4VwWcN5vZgCYWbg/JJSGBlUaYGAOP73qBw==",
569
+ "dev": true,
570
+ "license": "MIT",
571
+ "dependencies": {
572
+ "@types/http-errors": "*",
573
+ "@types/node": "*",
574
+ "@types/send": "<1"
575
+ }
576
+ },
577
+ "node_modules/@types/serve-static/node_modules/@types/send": {
578
+ "version": "0.17.6",
579
+ "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.6.tgz",
580
+ "integrity": "sha512-Uqt8rPBE8SY0RK8JB1EzVOIZ32uqy8HwdxCnoCOsYrvnswqmFZ/k+9Ikidlk/ImhsdvBsloHbAlewb2IEBV/Og==",
581
+ "dev": true,
582
+ "license": "MIT",
583
+ "dependencies": {
584
+ "@types/mime": "^1",
585
+ "@types/node": "*"
586
+ }
587
+ },
588
+ "node_modules/@types/strip-bom": {
589
+ "version": "3.0.0",
590
+ "resolved": "https://registry.npmjs.org/@types/strip-bom/-/strip-bom-3.0.0.tgz",
591
+ "integrity": "sha512-xevGOReSYGM7g/kUBZzPqCrR/KYAo+F0yiPc85WFTJa0MSLtyFTVTU6cJu/aV4mid7IffDIWqo69THF2o4JiEQ==",
592
+ "dev": true,
593
+ "license": "MIT"
594
+ },
595
+ "node_modules/@types/strip-json-comments": {
596
+ "version": "0.0.30",
597
+ "resolved": "https://registry.npmjs.org/@types/strip-json-comments/-/strip-json-comments-0.0.30.tgz",
598
+ "integrity": "sha512-7NQmHra/JILCd1QqpSzl8+mJRc8ZHz3uDm8YV1Ks9IhK0epEiTw8aIErbvH9PI+6XbqhyIQy3462nEsn7UVzjQ==",
599
+ "dev": true,
600
+ "license": "MIT"
601
+ },
602
+ "node_modules/accepts": {
603
+ "version": "1.3.8",
604
+ "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
605
+ "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==",
606
+ "license": "MIT",
607
+ "dependencies": {
608
+ "mime-types": "~2.1.34",
609
+ "negotiator": "0.6.3"
610
+ },
611
+ "engines": {
612
+ "node": ">= 0.6"
613
+ }
614
+ },
615
+ "node_modules/acorn": {
616
+ "version": "8.15.0",
617
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz",
618
+ "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==",
619
+ "dev": true,
620
+ "license": "MIT",
621
+ "bin": {
622
+ "acorn": "bin/acorn"
623
+ },
624
+ "engines": {
625
+ "node": ">=0.4.0"
626
+ }
627
+ },
628
+ "node_modules/acorn-walk": {
629
+ "version": "8.3.4",
630
+ "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz",
631
+ "integrity": "sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g==",
632
+ "dev": true,
633
+ "license": "MIT",
634
+ "dependencies": {
635
+ "acorn": "^8.11.0"
636
+ },
637
+ "engines": {
638
+ "node": ">=0.4.0"
639
+ }
640
+ },
641
+ "node_modules/ajv": {
642
+ "version": "8.17.1",
643
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz",
644
+ "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==",
645
+ "license": "MIT",
646
+ "dependencies": {
647
+ "fast-deep-equal": "^3.1.3",
648
+ "fast-uri": "^3.0.1",
649
+ "json-schema-traverse": "^1.0.0",
650
+ "require-from-string": "^2.0.2"
651
+ },
652
+ "funding": {
653
+ "type": "github",
654
+ "url": "https://github.com/sponsors/epoberezkin"
655
+ }
656
+ },
657
+ "node_modules/ajv-formats": {
658
+ "version": "3.0.1",
659
+ "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz",
660
+ "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==",
661
+ "license": "MIT",
662
+ "dependencies": {
663
+ "ajv": "^8.0.0"
664
+ },
665
+ "peerDependencies": {
666
+ "ajv": "^8.0.0"
667
+ },
668
+ "peerDependenciesMeta": {
669
+ "ajv": {
670
+ "optional": true
671
+ }
672
+ }
673
+ },
674
+ "node_modules/anymatch": {
675
+ "version": "3.1.3",
676
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
677
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
678
+ "dev": true,
679
+ "license": "ISC",
680
+ "dependencies": {
681
+ "normalize-path": "^3.0.0",
682
+ "picomatch": "^2.0.4"
683
+ },
684
+ "engines": {
685
+ "node": ">= 8"
686
+ }
687
+ },
688
+ "node_modules/arg": {
689
+ "version": "4.1.3",
690
+ "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz",
691
+ "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==",
692
+ "dev": true,
693
+ "license": "MIT"
694
+ },
695
+ "node_modules/array-flatten": {
696
+ "version": "1.1.1",
697
+ "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz",
698
+ "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==",
699
+ "license": "MIT"
700
+ },
701
+ "node_modules/balanced-match": {
702
+ "version": "1.0.2",
703
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz",
704
+ "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==",
705
+ "dev": true,
706
+ "license": "MIT"
707
+ },
708
+ "node_modules/binary-extensions": {
709
+ "version": "2.3.0",
710
+ "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz",
711
+ "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==",
712
+ "dev": true,
713
+ "license": "MIT",
714
+ "engines": {
715
+ "node": ">=8"
716
+ },
717
+ "funding": {
718
+ "url": "https://github.com/sponsors/sindresorhus"
719
+ }
720
+ },
721
+ "node_modules/body-parser": {
722
+ "version": "1.20.4",
723
+ "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.4.tgz",
724
+ "integrity": "sha512-ZTgYYLMOXY9qKU/57FAo8F+HA2dGX7bqGc71txDRC1rS4frdFI5R7NhluHxH6M0YItAP0sHB4uqAOcYKxO6uGA==",
725
+ "license": "MIT",
726
+ "dependencies": {
727
+ "bytes": "~3.1.2",
728
+ "content-type": "~1.0.5",
729
+ "debug": "2.6.9",
730
+ "depd": "2.0.0",
731
+ "destroy": "~1.2.0",
732
+ "http-errors": "~2.0.1",
733
+ "iconv-lite": "~0.4.24",
734
+ "on-finished": "~2.4.1",
735
+ "qs": "~6.14.0",
736
+ "raw-body": "~2.5.3",
737
+ "type-is": "~1.6.18",
738
+ "unpipe": "~1.0.0"
739
+ },
740
+ "engines": {
741
+ "node": ">= 0.8",
742
+ "npm": "1.2.8000 || >= 1.4.16"
743
+ }
744
+ },
745
+ "node_modules/body-parser/node_modules/raw-body": {
746
+ "version": "2.5.3",
747
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz",
748
+ "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==",
749
+ "license": "MIT",
750
+ "dependencies": {
751
+ "bytes": "~3.1.2",
752
+ "http-errors": "~2.0.1",
753
+ "iconv-lite": "~0.4.24",
754
+ "unpipe": "~1.0.0"
755
+ },
756
+ "engines": {
757
+ "node": ">= 0.8"
758
+ }
759
+ },
760
+ "node_modules/brace-expansion": {
761
+ "version": "1.1.12",
762
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz",
763
+ "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==",
764
+ "dev": true,
765
+ "license": "MIT",
766
+ "dependencies": {
767
+ "balanced-match": "^1.0.0",
768
+ "concat-map": "0.0.1"
769
+ }
770
+ },
771
+ "node_modules/braces": {
772
+ "version": "3.0.3",
773
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
774
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
775
+ "license": "MIT",
776
+ "dependencies": {
777
+ "fill-range": "^7.1.1"
778
+ },
779
+ "engines": {
780
+ "node": ">=8"
781
+ }
782
+ },
783
+ "node_modules/buffer-from": {
784
+ "version": "1.1.2",
785
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
786
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
787
+ "dev": true,
788
+ "license": "MIT"
789
+ },
790
+ "node_modules/bytes": {
791
+ "version": "3.1.2",
792
+ "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz",
793
+ "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==",
794
+ "license": "MIT",
795
+ "engines": {
796
+ "node": ">= 0.8"
797
+ }
798
+ },
799
+ "node_modules/call-bind-apply-helpers": {
800
+ "version": "1.0.2",
801
+ "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz",
802
+ "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==",
803
+ "license": "MIT",
804
+ "dependencies": {
805
+ "es-errors": "^1.3.0",
806
+ "function-bind": "^1.1.2"
807
+ },
808
+ "engines": {
809
+ "node": ">= 0.4"
810
+ }
811
+ },
812
+ "node_modules/call-bound": {
813
+ "version": "1.0.4",
814
+ "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz",
815
+ "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==",
816
+ "license": "MIT",
817
+ "dependencies": {
818
+ "call-bind-apply-helpers": "^1.0.2",
819
+ "get-intrinsic": "^1.3.0"
820
+ },
821
+ "engines": {
822
+ "node": ">= 0.4"
823
+ },
824
+ "funding": {
825
+ "url": "https://github.com/sponsors/ljharb"
826
+ }
827
+ },
828
+ "node_modules/chokidar": {
829
+ "version": "3.6.0",
830
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
831
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
832
+ "dev": true,
833
+ "license": "MIT",
834
+ "dependencies": {
835
+ "anymatch": "~3.1.2",
836
+ "braces": "~3.0.2",
837
+ "glob-parent": "~5.1.2",
838
+ "is-binary-path": "~2.1.0",
839
+ "is-glob": "~4.0.1",
840
+ "normalize-path": "~3.0.0",
841
+ "readdirp": "~3.6.0"
842
+ },
843
+ "engines": {
844
+ "node": ">= 8.10.0"
845
+ },
846
+ "funding": {
847
+ "url": "https://paulmillr.com/funding/"
848
+ },
849
+ "optionalDependencies": {
850
+ "fsevents": "~2.3.2"
851
+ }
852
+ },
853
+ "node_modules/concat-map": {
854
+ "version": "0.0.1",
855
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
856
+ "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==",
857
+ "dev": true,
858
+ "license": "MIT"
859
+ },
860
+ "node_modules/content-disposition": {
861
+ "version": "0.5.4",
862
+ "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz",
863
+ "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==",
864
+ "license": "MIT",
865
+ "dependencies": {
866
+ "safe-buffer": "5.2.1"
867
+ },
868
+ "engines": {
869
+ "node": ">= 0.6"
870
+ }
871
+ },
872
+ "node_modules/content-type": {
873
+ "version": "1.0.5",
874
+ "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz",
875
+ "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==",
876
+ "license": "MIT",
877
+ "engines": {
878
+ "node": ">= 0.6"
879
+ }
880
+ },
881
+ "node_modules/cookie": {
882
+ "version": "0.7.2",
883
+ "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz",
884
+ "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==",
885
+ "license": "MIT",
886
+ "engines": {
887
+ "node": ">= 0.6"
888
+ }
889
+ },
890
+ "node_modules/cookie-signature": {
891
+ "version": "1.0.7",
892
+ "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz",
893
+ "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==",
894
+ "license": "MIT"
895
+ },
896
+ "node_modules/cors": {
897
+ "version": "2.8.6",
898
+ "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz",
899
+ "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==",
900
+ "license": "MIT",
901
+ "dependencies": {
902
+ "object-assign": "^4",
903
+ "vary": "^1"
904
+ },
905
+ "engines": {
906
+ "node": ">= 0.10"
907
+ },
908
+ "funding": {
909
+ "type": "opencollective",
910
+ "url": "https://opencollective.com/express"
911
+ }
912
+ },
913
+ "node_modules/create-require": {
914
+ "version": "1.1.1",
915
+ "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz",
916
+ "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==",
917
+ "dev": true,
918
+ "license": "MIT"
919
+ },
920
+ "node_modules/cross-spawn": {
921
+ "version": "7.0.6",
922
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz",
923
+ "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==",
924
+ "license": "MIT",
925
+ "dependencies": {
926
+ "path-key": "^3.1.0",
927
+ "shebang-command": "^2.0.0",
928
+ "which": "^2.0.1"
929
+ },
930
+ "engines": {
931
+ "node": ">= 8"
932
+ }
933
+ },
934
+ "node_modules/debug": {
935
+ "version": "2.6.9",
936
+ "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz",
937
+ "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==",
938
+ "license": "MIT",
939
+ "dependencies": {
940
+ "ms": "2.0.0"
941
+ }
942
+ },
943
+ "node_modules/depd": {
944
+ "version": "2.0.0",
945
+ "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz",
946
+ "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==",
947
+ "license": "MIT",
948
+ "engines": {
949
+ "node": ">= 0.8"
950
+ }
951
+ },
952
+ "node_modules/destroy": {
953
+ "version": "1.2.0",
954
+ "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz",
955
+ "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==",
956
+ "license": "MIT",
957
+ "engines": {
958
+ "node": ">= 0.8",
959
+ "npm": "1.2.8000 || >= 1.4.16"
960
+ }
961
+ },
962
+ "node_modules/diff": {
963
+ "version": "4.0.4",
964
+ "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.4.tgz",
965
+ "integrity": "sha512-X07nttJQkwkfKfvTPG/KSnE2OMdcUCao6+eXF3wmnIQRn2aPAHH3VxDbDOdegkd6JbPsXqShpvEOHfAT+nCNwQ==",
966
+ "dev": true,
967
+ "license": "BSD-3-Clause",
968
+ "engines": {
969
+ "node": ">=0.3.1"
970
+ }
971
+ },
972
+ "node_modules/dotenv": {
973
+ "version": "16.6.1",
974
+ "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.6.1.tgz",
975
+ "integrity": "sha512-uBq4egWHTcTt33a72vpSG0z3HnPuIl6NqYcTrKEg2azoEyl2hpW0zqlxysq2pK9HlDIHyHyakeYaYnSAwd8bow==",
976
+ "license": "BSD-2-Clause",
977
+ "engines": {
978
+ "node": ">=12"
979
+ },
980
+ "funding": {
981
+ "url": "https://dotenvx.com"
982
+ }
983
+ },
984
+ "node_modules/dunder-proto": {
985
+ "version": "1.0.1",
986
+ "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz",
987
+ "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==",
988
+ "license": "MIT",
989
+ "dependencies": {
990
+ "call-bind-apply-helpers": "^1.0.1",
991
+ "es-errors": "^1.3.0",
992
+ "gopd": "^1.2.0"
993
+ },
994
+ "engines": {
995
+ "node": ">= 0.4"
996
+ }
997
+ },
998
+ "node_modules/dynamic-dedupe": {
999
+ "version": "0.3.0",
1000
+ "resolved": "https://registry.npmjs.org/dynamic-dedupe/-/dynamic-dedupe-0.3.0.tgz",
1001
+ "integrity": "sha512-ssuANeD+z97meYOqd50e04Ze5qp4bPqo8cCkI4TRjZkzAUgIDTrXV1R8QCdINpiI+hw14+rYazvTRdQrz0/rFQ==",
1002
+ "dev": true,
1003
+ "license": "MIT",
1004
+ "dependencies": {
1005
+ "xtend": "^4.0.0"
1006
+ }
1007
+ },
1008
+ "node_modules/ee-first": {
1009
+ "version": "1.1.1",
1010
+ "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz",
1011
+ "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==",
1012
+ "license": "MIT"
1013
+ },
1014
+ "node_modules/encodeurl": {
1015
+ "version": "2.0.0",
1016
+ "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz",
1017
+ "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==",
1018
+ "license": "MIT",
1019
+ "engines": {
1020
+ "node": ">= 0.8"
1021
+ }
1022
+ },
1023
+ "node_modules/es-define-property": {
1024
+ "version": "1.0.1",
1025
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz",
1026
+ "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==",
1027
+ "license": "MIT",
1028
+ "engines": {
1029
+ "node": ">= 0.4"
1030
+ }
1031
+ },
1032
+ "node_modules/es-errors": {
1033
+ "version": "1.3.0",
1034
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
1035
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
1036
+ "license": "MIT",
1037
+ "engines": {
1038
+ "node": ">= 0.4"
1039
+ }
1040
+ },
1041
+ "node_modules/es-object-atoms": {
1042
+ "version": "1.1.1",
1043
+ "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz",
1044
+ "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==",
1045
+ "license": "MIT",
1046
+ "dependencies": {
1047
+ "es-errors": "^1.3.0"
1048
+ },
1049
+ "engines": {
1050
+ "node": ">= 0.4"
1051
+ }
1052
+ },
1053
+ "node_modules/escape-html": {
1054
+ "version": "1.0.3",
1055
+ "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz",
1056
+ "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==",
1057
+ "license": "MIT"
1058
+ },
1059
+ "node_modules/etag": {
1060
+ "version": "1.8.1",
1061
+ "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz",
1062
+ "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==",
1063
+ "license": "MIT",
1064
+ "engines": {
1065
+ "node": ">= 0.6"
1066
+ }
1067
+ },
1068
+ "node_modules/eventemitter3": {
1069
+ "version": "4.0.7",
1070
+ "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz",
1071
+ "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==",
1072
+ "license": "MIT"
1073
+ },
1074
+ "node_modules/eventsource": {
1075
+ "version": "2.0.2",
1076
+ "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-2.0.2.tgz",
1077
+ "integrity": "sha512-IzUmBGPR3+oUG9dUeXynyNmf91/3zUSJg1lCktzKw47OXuhco54U3r9B7O4XX+Rb1Itm9OZ2b0RkTs10bICOxA==",
1078
+ "license": "MIT",
1079
+ "engines": {
1080
+ "node": ">=12.0.0"
1081
+ }
1082
+ },
1083
+ "node_modules/eventsource-parser": {
1084
+ "version": "3.0.6",
1085
+ "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.6.tgz",
1086
+ "integrity": "sha512-Vo1ab+QXPzZ4tCa8SwIHJFaSzy4R6SHf7BY79rFBDf0idraZWAkYrDjDj8uWaSm3S2TK+hJ7/t1CEmZ7jXw+pg==",
1087
+ "license": "MIT",
1088
+ "engines": {
1089
+ "node": ">=18.0.0"
1090
+ }
1091
+ },
1092
+ "node_modules/express": {
1093
+ "version": "4.22.1",
1094
+ "resolved": "https://registry.npmjs.org/express/-/express-4.22.1.tgz",
1095
+ "integrity": "sha512-F2X8g9P1X7uCPZMA3MVf9wcTqlyNp7IhH5qPCI0izhaOIYXaW9L535tGA3qmjRzpH+bZczqq7hVKxTR4NWnu+g==",
1096
+ "license": "MIT",
1097
+ "dependencies": {
1098
+ "accepts": "~1.3.8",
1099
+ "array-flatten": "1.1.1",
1100
+ "body-parser": "~1.20.3",
1101
+ "content-disposition": "~0.5.4",
1102
+ "content-type": "~1.0.4",
1103
+ "cookie": "~0.7.1",
1104
+ "cookie-signature": "~1.0.6",
1105
+ "debug": "2.6.9",
1106
+ "depd": "2.0.0",
1107
+ "encodeurl": "~2.0.0",
1108
+ "escape-html": "~1.0.3",
1109
+ "etag": "~1.8.1",
1110
+ "finalhandler": "~1.3.1",
1111
+ "fresh": "~0.5.2",
1112
+ "http-errors": "~2.0.0",
1113
+ "merge-descriptors": "1.0.3",
1114
+ "methods": "~1.1.2",
1115
+ "on-finished": "~2.4.1",
1116
+ "parseurl": "~1.3.3",
1117
+ "path-to-regexp": "~0.1.12",
1118
+ "proxy-addr": "~2.0.7",
1119
+ "qs": "~6.14.0",
1120
+ "range-parser": "~1.2.1",
1121
+ "safe-buffer": "5.2.1",
1122
+ "send": "~0.19.0",
1123
+ "serve-static": "~1.16.2",
1124
+ "setprototypeof": "1.2.0",
1125
+ "statuses": "~2.0.1",
1126
+ "type-is": "~1.6.18",
1127
+ "utils-merge": "1.0.1",
1128
+ "vary": "~1.1.2"
1129
+ },
1130
+ "engines": {
1131
+ "node": ">= 0.10.0"
1132
+ },
1133
+ "funding": {
1134
+ "type": "opencollective",
1135
+ "url": "https://opencollective.com/express"
1136
+ }
1137
+ },
1138
+ "node_modules/express-rate-limit": {
1139
+ "version": "8.2.1",
1140
+ "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-8.2.1.tgz",
1141
+ "integrity": "sha512-PCZEIEIxqwhzw4KF0n7QF4QqruVTcF73O5kFKUnGOyjbCCgizBBiFaYpd/fnBLUMPw/BWw9OsiN7GgrNYr7j6g==",
1142
+ "license": "MIT",
1143
+ "dependencies": {
1144
+ "ip-address": "10.0.1"
1145
+ },
1146
+ "engines": {
1147
+ "node": ">= 16"
1148
+ },
1149
+ "funding": {
1150
+ "url": "https://github.com/sponsors/express-rate-limit"
1151
+ },
1152
+ "peerDependencies": {
1153
+ "express": ">= 4.11"
1154
+ }
1155
+ },
1156
+ "node_modules/fast-deep-equal": {
1157
+ "version": "3.1.3",
1158
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
1159
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
1160
+ "license": "MIT"
1161
+ },
1162
+ "node_modules/fast-uri": {
1163
+ "version": "3.1.0",
1164
+ "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz",
1165
+ "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==",
1166
+ "funding": [
1167
+ {
1168
+ "type": "github",
1169
+ "url": "https://github.com/sponsors/fastify"
1170
+ },
1171
+ {
1172
+ "type": "opencollective",
1173
+ "url": "https://opencollective.com/fastify"
1174
+ }
1175
+ ],
1176
+ "license": "BSD-3-Clause"
1177
+ },
1178
+ "node_modules/fill-range": {
1179
+ "version": "7.1.1",
1180
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
1181
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
1182
+ "license": "MIT",
1183
+ "dependencies": {
1184
+ "to-regex-range": "^5.0.1"
1185
+ },
1186
+ "engines": {
1187
+ "node": ">=8"
1188
+ }
1189
+ },
1190
+ "node_modules/finalhandler": {
1191
+ "version": "1.3.2",
1192
+ "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz",
1193
+ "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==",
1194
+ "license": "MIT",
1195
+ "dependencies": {
1196
+ "debug": "2.6.9",
1197
+ "encodeurl": "~2.0.0",
1198
+ "escape-html": "~1.0.3",
1199
+ "on-finished": "~2.4.1",
1200
+ "parseurl": "~1.3.3",
1201
+ "statuses": "~2.0.2",
1202
+ "unpipe": "~1.0.0"
1203
+ },
1204
+ "engines": {
1205
+ "node": ">= 0.8"
1206
+ }
1207
+ },
1208
+ "node_modules/follow-redirects": {
1209
+ "version": "1.15.11",
1210
+ "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz",
1211
+ "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==",
1212
+ "funding": [
1213
+ {
1214
+ "type": "individual",
1215
+ "url": "https://github.com/sponsors/RubenVerborgh"
1216
+ }
1217
+ ],
1218
+ "license": "MIT",
1219
+ "engines": {
1220
+ "node": ">=4.0"
1221
+ },
1222
+ "peerDependenciesMeta": {
1223
+ "debug": {
1224
+ "optional": true
1225
+ }
1226
+ }
1227
+ },
1228
+ "node_modules/forwarded": {
1229
+ "version": "0.2.0",
1230
+ "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
1231
+ "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
1232
+ "license": "MIT",
1233
+ "engines": {
1234
+ "node": ">= 0.6"
1235
+ }
1236
+ },
1237
+ "node_modules/fresh": {
1238
+ "version": "0.5.2",
1239
+ "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz",
1240
+ "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==",
1241
+ "license": "MIT",
1242
+ "engines": {
1243
+ "node": ">= 0.6"
1244
+ }
1245
+ },
1246
+ "node_modules/fs.realpath": {
1247
+ "version": "1.0.0",
1248
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
1249
+ "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==",
1250
+ "dev": true,
1251
+ "license": "ISC"
1252
+ },
1253
+ "node_modules/fsevents": {
1254
+ "version": "2.3.3",
1255
+ "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz",
1256
+ "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==",
1257
+ "dev": true,
1258
+ "hasInstallScript": true,
1259
+ "license": "MIT",
1260
+ "optional": true,
1261
+ "os": [
1262
+ "darwin"
1263
+ ],
1264
+ "engines": {
1265
+ "node": "^8.16.0 || ^10.6.0 || >=11.0.0"
1266
+ }
1267
+ },
1268
+ "node_modules/function-bind": {
1269
+ "version": "1.1.2",
1270
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
1271
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
1272
+ "license": "MIT",
1273
+ "funding": {
1274
+ "url": "https://github.com/sponsors/ljharb"
1275
+ }
1276
+ },
1277
+ "node_modules/get-intrinsic": {
1278
+ "version": "1.3.0",
1279
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz",
1280
+ "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==",
1281
+ "license": "MIT",
1282
+ "dependencies": {
1283
+ "call-bind-apply-helpers": "^1.0.2",
1284
+ "es-define-property": "^1.0.1",
1285
+ "es-errors": "^1.3.0",
1286
+ "es-object-atoms": "^1.1.1",
1287
+ "function-bind": "^1.1.2",
1288
+ "get-proto": "^1.0.1",
1289
+ "gopd": "^1.2.0",
1290
+ "has-symbols": "^1.1.0",
1291
+ "hasown": "^2.0.2",
1292
+ "math-intrinsics": "^1.1.0"
1293
+ },
1294
+ "engines": {
1295
+ "node": ">= 0.4"
1296
+ },
1297
+ "funding": {
1298
+ "url": "https://github.com/sponsors/ljharb"
1299
+ }
1300
+ },
1301
+ "node_modules/get-proto": {
1302
+ "version": "1.0.1",
1303
+ "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz",
1304
+ "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==",
1305
+ "license": "MIT",
1306
+ "dependencies": {
1307
+ "dunder-proto": "^1.0.1",
1308
+ "es-object-atoms": "^1.0.0"
1309
+ },
1310
+ "engines": {
1311
+ "node": ">= 0.4"
1312
+ }
1313
+ },
1314
+ "node_modules/glob": {
1315
+ "version": "7.2.3",
1316
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
1317
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
1318
+ "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me",
1319
+ "dev": true,
1320
+ "license": "ISC",
1321
+ "dependencies": {
1322
+ "fs.realpath": "^1.0.0",
1323
+ "inflight": "^1.0.4",
1324
+ "inherits": "2",
1325
+ "minimatch": "^3.1.1",
1326
+ "once": "^1.3.0",
1327
+ "path-is-absolute": "^1.0.0"
1328
+ },
1329
+ "engines": {
1330
+ "node": "*"
1331
+ },
1332
+ "funding": {
1333
+ "url": "https://github.com/sponsors/isaacs"
1334
+ }
1335
+ },
1336
+ "node_modules/glob-parent": {
1337
+ "version": "5.1.2",
1338
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
1339
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
1340
+ "dev": true,
1341
+ "license": "ISC",
1342
+ "dependencies": {
1343
+ "is-glob": "^4.0.1"
1344
+ },
1345
+ "engines": {
1346
+ "node": ">= 6"
1347
+ }
1348
+ },
1349
+ "node_modules/gopd": {
1350
+ "version": "1.2.0",
1351
+ "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz",
1352
+ "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==",
1353
+ "license": "MIT",
1354
+ "engines": {
1355
+ "node": ">= 0.4"
1356
+ },
1357
+ "funding": {
1358
+ "url": "https://github.com/sponsors/ljharb"
1359
+ }
1360
+ },
1361
+ "node_modules/has-symbols": {
1362
+ "version": "1.1.0",
1363
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz",
1364
+ "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==",
1365
+ "license": "MIT",
1366
+ "engines": {
1367
+ "node": ">= 0.4"
1368
+ },
1369
+ "funding": {
1370
+ "url": "https://github.com/sponsors/ljharb"
1371
+ }
1372
+ },
1373
+ "node_modules/hasown": {
1374
+ "version": "2.0.2",
1375
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
1376
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
1377
+ "license": "MIT",
1378
+ "dependencies": {
1379
+ "function-bind": "^1.1.2"
1380
+ },
1381
+ "engines": {
1382
+ "node": ">= 0.4"
1383
+ }
1384
+ },
1385
+ "node_modules/hono": {
1386
+ "version": "4.11.9",
1387
+ "resolved": "https://registry.npmjs.org/hono/-/hono-4.11.9.tgz",
1388
+ "integrity": "sha512-Eaw2YTGM6WOxA6CXbckaEvslr2Ne4NFsKrvc0v97JD5awbmeBLO5w9Ho9L9kmKonrwF9RJlW6BxT1PVv/agBHQ==",
1389
+ "license": "MIT",
1390
+ "engines": {
1391
+ "node": ">=16.9.0"
1392
+ }
1393
+ },
1394
+ "node_modules/http-errors": {
1395
+ "version": "2.0.1",
1396
+ "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz",
1397
+ "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==",
1398
+ "license": "MIT",
1399
+ "dependencies": {
1400
+ "depd": "~2.0.0",
1401
+ "inherits": "~2.0.4",
1402
+ "setprototypeof": "~1.2.0",
1403
+ "statuses": "~2.0.2",
1404
+ "toidentifier": "~1.0.1"
1405
+ },
1406
+ "engines": {
1407
+ "node": ">= 0.8"
1408
+ },
1409
+ "funding": {
1410
+ "type": "opencollective",
1411
+ "url": "https://opencollective.com/express"
1412
+ }
1413
+ },
1414
+ "node_modules/http-proxy": {
1415
+ "version": "1.18.1",
1416
+ "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz",
1417
+ "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==",
1418
+ "license": "MIT",
1419
+ "dependencies": {
1420
+ "eventemitter3": "^4.0.0",
1421
+ "follow-redirects": "^1.0.0",
1422
+ "requires-port": "^1.0.0"
1423
+ },
1424
+ "engines": {
1425
+ "node": ">=8.0.0"
1426
+ }
1427
+ },
1428
+ "node_modules/http-proxy-middleware": {
1429
+ "version": "3.0.5",
1430
+ "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-3.0.5.tgz",
1431
+ "integrity": "sha512-GLZZm1X38BPY4lkXA01jhwxvDoOkkXqjgVyUzVxiEK4iuRu03PZoYHhHRwxnfhQMDuaxi3vVri0YgSro/1oWqg==",
1432
+ "license": "MIT",
1433
+ "dependencies": {
1434
+ "@types/http-proxy": "^1.17.15",
1435
+ "debug": "^4.3.6",
1436
+ "http-proxy": "^1.18.1",
1437
+ "is-glob": "^4.0.3",
1438
+ "is-plain-object": "^5.0.0",
1439
+ "micromatch": "^4.0.8"
1440
+ },
1441
+ "engines": {
1442
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
1443
+ }
1444
+ },
1445
+ "node_modules/http-proxy-middleware/node_modules/debug": {
1446
+ "version": "4.4.3",
1447
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
1448
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
1449
+ "license": "MIT",
1450
+ "dependencies": {
1451
+ "ms": "^2.1.3"
1452
+ },
1453
+ "engines": {
1454
+ "node": ">=6.0"
1455
+ },
1456
+ "peerDependenciesMeta": {
1457
+ "supports-color": {
1458
+ "optional": true
1459
+ }
1460
+ }
1461
+ },
1462
+ "node_modules/http-proxy-middleware/node_modules/ms": {
1463
+ "version": "2.1.3",
1464
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
1465
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
1466
+ "license": "MIT"
1467
+ },
1468
+ "node_modules/iconv-lite": {
1469
+ "version": "0.4.24",
1470
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz",
1471
+ "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==",
1472
+ "license": "MIT",
1473
+ "dependencies": {
1474
+ "safer-buffer": ">= 2.1.2 < 3"
1475
+ },
1476
+ "engines": {
1477
+ "node": ">=0.10.0"
1478
+ }
1479
+ },
1480
+ "node_modules/inflight": {
1481
+ "version": "1.0.6",
1482
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
1483
+ "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
1484
+ "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
1485
+ "dev": true,
1486
+ "license": "ISC",
1487
+ "dependencies": {
1488
+ "once": "^1.3.0",
1489
+ "wrappy": "1"
1490
+ }
1491
+ },
1492
+ "node_modules/inherits": {
1493
+ "version": "2.0.4",
1494
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
1495
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
1496
+ "license": "ISC"
1497
+ },
1498
+ "node_modules/ip-address": {
1499
+ "version": "10.0.1",
1500
+ "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz",
1501
+ "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==",
1502
+ "license": "MIT",
1503
+ "engines": {
1504
+ "node": ">= 12"
1505
+ }
1506
+ },
1507
+ "node_modules/ipaddr.js": {
1508
+ "version": "1.9.1",
1509
+ "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
1510
+ "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
1511
+ "license": "MIT",
1512
+ "engines": {
1513
+ "node": ">= 0.10"
1514
+ }
1515
+ },
1516
+ "node_modules/is-binary-path": {
1517
+ "version": "2.1.0",
1518
+ "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz",
1519
+ "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==",
1520
+ "dev": true,
1521
+ "license": "MIT",
1522
+ "dependencies": {
1523
+ "binary-extensions": "^2.0.0"
1524
+ },
1525
+ "engines": {
1526
+ "node": ">=8"
1527
+ }
1528
+ },
1529
+ "node_modules/is-core-module": {
1530
+ "version": "2.16.1",
1531
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz",
1532
+ "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==",
1533
+ "dev": true,
1534
+ "license": "MIT",
1535
+ "dependencies": {
1536
+ "hasown": "^2.0.2"
1537
+ },
1538
+ "engines": {
1539
+ "node": ">= 0.4"
1540
+ },
1541
+ "funding": {
1542
+ "url": "https://github.com/sponsors/ljharb"
1543
+ }
1544
+ },
1545
+ "node_modules/is-extglob": {
1546
+ "version": "2.1.1",
1547
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
1548
+ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==",
1549
+ "license": "MIT",
1550
+ "engines": {
1551
+ "node": ">=0.10.0"
1552
+ }
1553
+ },
1554
+ "node_modules/is-glob": {
1555
+ "version": "4.0.3",
1556
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
1557
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
1558
+ "license": "MIT",
1559
+ "dependencies": {
1560
+ "is-extglob": "^2.1.1"
1561
+ },
1562
+ "engines": {
1563
+ "node": ">=0.10.0"
1564
+ }
1565
+ },
1566
+ "node_modules/is-number": {
1567
+ "version": "7.0.0",
1568
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
1569
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
1570
+ "license": "MIT",
1571
+ "engines": {
1572
+ "node": ">=0.12.0"
1573
+ }
1574
+ },
1575
+ "node_modules/is-plain-object": {
1576
+ "version": "5.0.0",
1577
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
1578
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
1579
+ "license": "MIT",
1580
+ "engines": {
1581
+ "node": ">=0.10.0"
1582
+ }
1583
+ },
1584
+ "node_modules/is-promise": {
1585
+ "version": "4.0.0",
1586
+ "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz",
1587
+ "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==",
1588
+ "license": "MIT"
1589
+ },
1590
+ "node_modules/isexe": {
1591
+ "version": "2.0.0",
1592
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
1593
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
1594
+ "license": "ISC"
1595
+ },
1596
+ "node_modules/jose": {
1597
+ "version": "6.1.3",
1598
+ "resolved": "https://registry.npmjs.org/jose/-/jose-6.1.3.tgz",
1599
+ "integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==",
1600
+ "license": "MIT",
1601
+ "funding": {
1602
+ "url": "https://github.com/sponsors/panva"
1603
+ }
1604
+ },
1605
+ "node_modules/json-schema-traverse": {
1606
+ "version": "1.0.0",
1607
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
1608
+ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==",
1609
+ "license": "MIT"
1610
+ },
1611
+ "node_modules/json-schema-typed": {
1612
+ "version": "8.0.2",
1613
+ "resolved": "https://registry.npmjs.org/json-schema-typed/-/json-schema-typed-8.0.2.tgz",
1614
+ "integrity": "sha512-fQhoXdcvc3V28x7C7BMs4P5+kNlgUURe2jmUT1T//oBRMDrqy1QPelJimwZGo7Hg9VPV3EQV5Bnq4hbFy2vetA==",
1615
+ "license": "BSD-2-Clause"
1616
+ },
1617
+ "node_modules/make-error": {
1618
+ "version": "1.3.6",
1619
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
1620
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
1621
+ "dev": true,
1622
+ "license": "ISC"
1623
+ },
1624
+ "node_modules/math-intrinsics": {
1625
+ "version": "1.1.0",
1626
+ "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz",
1627
+ "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==",
1628
+ "license": "MIT",
1629
+ "engines": {
1630
+ "node": ">= 0.4"
1631
+ }
1632
+ },
1633
+ "node_modules/media-typer": {
1634
+ "version": "0.3.0",
1635
+ "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz",
1636
+ "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==",
1637
+ "license": "MIT",
1638
+ "engines": {
1639
+ "node": ">= 0.6"
1640
+ }
1641
+ },
1642
+ "node_modules/merge-descriptors": {
1643
+ "version": "1.0.3",
1644
+ "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz",
1645
+ "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==",
1646
+ "license": "MIT",
1647
+ "funding": {
1648
+ "url": "https://github.com/sponsors/sindresorhus"
1649
+ }
1650
+ },
1651
+ "node_modules/methods": {
1652
+ "version": "1.1.2",
1653
+ "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz",
1654
+ "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==",
1655
+ "license": "MIT",
1656
+ "engines": {
1657
+ "node": ">= 0.6"
1658
+ }
1659
+ },
1660
+ "node_modules/micromatch": {
1661
+ "version": "4.0.8",
1662
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz",
1663
+ "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==",
1664
+ "license": "MIT",
1665
+ "dependencies": {
1666
+ "braces": "^3.0.3",
1667
+ "picomatch": "^2.3.1"
1668
+ },
1669
+ "engines": {
1670
+ "node": ">=8.6"
1671
+ }
1672
+ },
1673
+ "node_modules/mime": {
1674
+ "version": "1.6.0",
1675
+ "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz",
1676
+ "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==",
1677
+ "license": "MIT",
1678
+ "bin": {
1679
+ "mime": "cli.js"
1680
+ },
1681
+ "engines": {
1682
+ "node": ">=4"
1683
+ }
1684
+ },
1685
+ "node_modules/mime-db": {
1686
+ "version": "1.52.0",
1687
+ "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz",
1688
+ "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==",
1689
+ "license": "MIT",
1690
+ "engines": {
1691
+ "node": ">= 0.6"
1692
+ }
1693
+ },
1694
+ "node_modules/mime-types": {
1695
+ "version": "2.1.35",
1696
+ "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz",
1697
+ "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==",
1698
+ "license": "MIT",
1699
+ "dependencies": {
1700
+ "mime-db": "1.52.0"
1701
+ },
1702
+ "engines": {
1703
+ "node": ">= 0.6"
1704
+ }
1705
+ },
1706
+ "node_modules/minimatch": {
1707
+ "version": "3.1.2",
1708
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
1709
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
1710
+ "dev": true,
1711
+ "license": "ISC",
1712
+ "dependencies": {
1713
+ "brace-expansion": "^1.1.7"
1714
+ },
1715
+ "engines": {
1716
+ "node": "*"
1717
+ }
1718
+ },
1719
+ "node_modules/minimist": {
1720
+ "version": "1.2.8",
1721
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz",
1722
+ "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==",
1723
+ "dev": true,
1724
+ "license": "MIT",
1725
+ "funding": {
1726
+ "url": "https://github.com/sponsors/ljharb"
1727
+ }
1728
+ },
1729
+ "node_modules/mkdirp": {
1730
+ "version": "1.0.4",
1731
+ "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz",
1732
+ "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==",
1733
+ "dev": true,
1734
+ "license": "MIT",
1735
+ "bin": {
1736
+ "mkdirp": "bin/cmd.js"
1737
+ },
1738
+ "engines": {
1739
+ "node": ">=10"
1740
+ }
1741
+ },
1742
+ "node_modules/ms": {
1743
+ "version": "2.0.0",
1744
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz",
1745
+ "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==",
1746
+ "license": "MIT"
1747
+ },
1748
+ "node_modules/negotiator": {
1749
+ "version": "0.6.3",
1750
+ "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz",
1751
+ "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==",
1752
+ "license": "MIT",
1753
+ "engines": {
1754
+ "node": ">= 0.6"
1755
+ }
1756
+ },
1757
+ "node_modules/normalize-path": {
1758
+ "version": "3.0.0",
1759
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
1760
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
1761
+ "dev": true,
1762
+ "license": "MIT",
1763
+ "engines": {
1764
+ "node": ">=0.10.0"
1765
+ }
1766
+ },
1767
+ "node_modules/object-assign": {
1768
+ "version": "4.1.1",
1769
+ "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz",
1770
+ "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==",
1771
+ "license": "MIT",
1772
+ "engines": {
1773
+ "node": ">=0.10.0"
1774
+ }
1775
+ },
1776
+ "node_modules/object-inspect": {
1777
+ "version": "1.13.4",
1778
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz",
1779
+ "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==",
1780
+ "license": "MIT",
1781
+ "engines": {
1782
+ "node": ">= 0.4"
1783
+ },
1784
+ "funding": {
1785
+ "url": "https://github.com/sponsors/ljharb"
1786
+ }
1787
+ },
1788
+ "node_modules/on-finished": {
1789
+ "version": "2.4.1",
1790
+ "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz",
1791
+ "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==",
1792
+ "license": "MIT",
1793
+ "dependencies": {
1794
+ "ee-first": "1.1.1"
1795
+ },
1796
+ "engines": {
1797
+ "node": ">= 0.8"
1798
+ }
1799
+ },
1800
+ "node_modules/once": {
1801
+ "version": "1.4.0",
1802
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
1803
+ "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==",
1804
+ "license": "ISC",
1805
+ "dependencies": {
1806
+ "wrappy": "1"
1807
+ }
1808
+ },
1809
+ "node_modules/parseurl": {
1810
+ "version": "1.3.3",
1811
+ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz",
1812
+ "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==",
1813
+ "license": "MIT",
1814
+ "engines": {
1815
+ "node": ">= 0.8"
1816
+ }
1817
+ },
1818
+ "node_modules/path-is-absolute": {
1819
+ "version": "1.0.1",
1820
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
1821
+ "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==",
1822
+ "dev": true,
1823
+ "license": "MIT",
1824
+ "engines": {
1825
+ "node": ">=0.10.0"
1826
+ }
1827
+ },
1828
+ "node_modules/path-key": {
1829
+ "version": "3.1.1",
1830
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
1831
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
1832
+ "license": "MIT",
1833
+ "engines": {
1834
+ "node": ">=8"
1835
+ }
1836
+ },
1837
+ "node_modules/path-parse": {
1838
+ "version": "1.0.7",
1839
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
1840
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
1841
+ "dev": true,
1842
+ "license": "MIT"
1843
+ },
1844
+ "node_modules/path-to-regexp": {
1845
+ "version": "0.1.12",
1846
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.12.tgz",
1847
+ "integrity": "sha512-RA1GjUVMnvYFxuqovrEqZoxxW5NUZqbwKtYz/Tt7nXerk0LbLblQmrsgdeOxV5SFHf0UDggjS/bSeOZwt1pmEQ==",
1848
+ "license": "MIT"
1849
+ },
1850
+ "node_modules/picomatch": {
1851
+ "version": "2.3.1",
1852
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
1853
+ "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==",
1854
+ "license": "MIT",
1855
+ "engines": {
1856
+ "node": ">=8.6"
1857
+ },
1858
+ "funding": {
1859
+ "url": "https://github.com/sponsors/jonschlinkert"
1860
+ }
1861
+ },
1862
+ "node_modules/pkce-challenge": {
1863
+ "version": "5.0.1",
1864
+ "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.1.tgz",
1865
+ "integrity": "sha512-wQ0b/W4Fr01qtpHlqSqspcj3EhBvimsdh0KlHhH8HRZnMsEa0ea2fTULOXOS9ccQr3om+GcGRk4e+isrZWV8qQ==",
1866
+ "license": "MIT",
1867
+ "engines": {
1868
+ "node": ">=16.20.0"
1869
+ }
1870
+ },
1871
+ "node_modules/proxy-addr": {
1872
+ "version": "2.0.7",
1873
+ "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
1874
+ "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
1875
+ "license": "MIT",
1876
+ "dependencies": {
1877
+ "forwarded": "0.2.0",
1878
+ "ipaddr.js": "1.9.1"
1879
+ },
1880
+ "engines": {
1881
+ "node": ">= 0.10"
1882
+ }
1883
+ },
1884
+ "node_modules/qs": {
1885
+ "version": "6.14.1",
1886
+ "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.1.tgz",
1887
+ "integrity": "sha512-4EK3+xJl8Ts67nLYNwqw/dsFVnCf+qR7RgXSK9jEEm9unao3njwMDdmsdvoKBKHzxd7tCYz5e5M+SnMjdtXGQQ==",
1888
+ "license": "BSD-3-Clause",
1889
+ "dependencies": {
1890
+ "side-channel": "^1.1.0"
1891
+ },
1892
+ "engines": {
1893
+ "node": ">=0.6"
1894
+ },
1895
+ "funding": {
1896
+ "url": "https://github.com/sponsors/ljharb"
1897
+ }
1898
+ },
1899
+ "node_modules/range-parser": {
1900
+ "version": "1.2.1",
1901
+ "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz",
1902
+ "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==",
1903
+ "license": "MIT",
1904
+ "engines": {
1905
+ "node": ">= 0.6"
1906
+ }
1907
+ },
1908
+ "node_modules/raw-body": {
1909
+ "version": "3.0.2",
1910
+ "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.2.tgz",
1911
+ "integrity": "sha512-K5zQjDllxWkf7Z5xJdV0/B0WTNqx6vxG70zJE4N0kBs4LovmEYWJzQGxC9bS9RAKu3bgM40lrd5zoLJ12MQ5BA==",
1912
+ "license": "MIT",
1913
+ "dependencies": {
1914
+ "bytes": "~3.1.2",
1915
+ "http-errors": "~2.0.1",
1916
+ "iconv-lite": "~0.7.0",
1917
+ "unpipe": "~1.0.0"
1918
+ },
1919
+ "engines": {
1920
+ "node": ">= 0.10"
1921
+ }
1922
+ },
1923
+ "node_modules/raw-body/node_modules/iconv-lite": {
1924
+ "version": "0.7.2",
1925
+ "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz",
1926
+ "integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==",
1927
+ "license": "MIT",
1928
+ "dependencies": {
1929
+ "safer-buffer": ">= 2.1.2 < 3.0.0"
1930
+ },
1931
+ "engines": {
1932
+ "node": ">=0.10.0"
1933
+ },
1934
+ "funding": {
1935
+ "type": "opencollective",
1936
+ "url": "https://opencollective.com/express"
1937
+ }
1938
+ },
1939
+ "node_modules/readdirp": {
1940
+ "version": "3.6.0",
1941
+ "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz",
1942
+ "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==",
1943
+ "dev": true,
1944
+ "license": "MIT",
1945
+ "dependencies": {
1946
+ "picomatch": "^2.2.1"
1947
+ },
1948
+ "engines": {
1949
+ "node": ">=8.10.0"
1950
+ }
1951
+ },
1952
+ "node_modules/require-from-string": {
1953
+ "version": "2.0.2",
1954
+ "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
1955
+ "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
1956
+ "license": "MIT",
1957
+ "engines": {
1958
+ "node": ">=0.10.0"
1959
+ }
1960
+ },
1961
+ "node_modules/requires-port": {
1962
+ "version": "1.0.0",
1963
+ "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz",
1964
+ "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==",
1965
+ "license": "MIT"
1966
+ },
1967
+ "node_modules/resolve": {
1968
+ "version": "1.22.11",
1969
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz",
1970
+ "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==",
1971
+ "dev": true,
1972
+ "license": "MIT",
1973
+ "dependencies": {
1974
+ "is-core-module": "^2.16.1",
1975
+ "path-parse": "^1.0.7",
1976
+ "supports-preserve-symlinks-flag": "^1.0.0"
1977
+ },
1978
+ "bin": {
1979
+ "resolve": "bin/resolve"
1980
+ },
1981
+ "engines": {
1982
+ "node": ">= 0.4"
1983
+ },
1984
+ "funding": {
1985
+ "url": "https://github.com/sponsors/ljharb"
1986
+ }
1987
+ },
1988
+ "node_modules/rimraf": {
1989
+ "version": "2.7.1",
1990
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz",
1991
+ "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
1992
+ "deprecated": "Rimraf versions prior to v4 are no longer supported",
1993
+ "dev": true,
1994
+ "license": "ISC",
1995
+ "dependencies": {
1996
+ "glob": "^7.1.3"
1997
+ },
1998
+ "bin": {
1999
+ "rimraf": "bin.js"
2000
+ }
2001
+ },
2002
+ "node_modules/router": {
2003
+ "version": "2.2.0",
2004
+ "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz",
2005
+ "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==",
2006
+ "license": "MIT",
2007
+ "dependencies": {
2008
+ "debug": "^4.4.0",
2009
+ "depd": "^2.0.0",
2010
+ "is-promise": "^4.0.0",
2011
+ "parseurl": "^1.3.3",
2012
+ "path-to-regexp": "^8.0.0"
2013
+ },
2014
+ "engines": {
2015
+ "node": ">= 18"
2016
+ }
2017
+ },
2018
+ "node_modules/router/node_modules/debug": {
2019
+ "version": "4.4.3",
2020
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz",
2021
+ "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==",
2022
+ "license": "MIT",
2023
+ "dependencies": {
2024
+ "ms": "^2.1.3"
2025
+ },
2026
+ "engines": {
2027
+ "node": ">=6.0"
2028
+ },
2029
+ "peerDependenciesMeta": {
2030
+ "supports-color": {
2031
+ "optional": true
2032
+ }
2033
+ }
2034
+ },
2035
+ "node_modules/router/node_modules/ms": {
2036
+ "version": "2.1.3",
2037
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2038
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
2039
+ "license": "MIT"
2040
+ },
2041
+ "node_modules/router/node_modules/path-to-regexp": {
2042
+ "version": "8.3.0",
2043
+ "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.3.0.tgz",
2044
+ "integrity": "sha512-7jdwVIRtsP8MYpdXSwOS0YdD0Du+qOoF/AEPIt88PcCFrZCzx41oxku1jD88hZBwbNUIEfpqvuhjFaMAqMTWnA==",
2045
+ "license": "MIT",
2046
+ "funding": {
2047
+ "type": "opencollective",
2048
+ "url": "https://opencollective.com/express"
2049
+ }
2050
+ },
2051
+ "node_modules/safe-buffer": {
2052
+ "version": "5.2.1",
2053
+ "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz",
2054
+ "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==",
2055
+ "funding": [
2056
+ {
2057
+ "type": "github",
2058
+ "url": "https://github.com/sponsors/feross"
2059
+ },
2060
+ {
2061
+ "type": "patreon",
2062
+ "url": "https://www.patreon.com/feross"
2063
+ },
2064
+ {
2065
+ "type": "consulting",
2066
+ "url": "https://feross.org/support"
2067
+ }
2068
+ ],
2069
+ "license": "MIT"
2070
+ },
2071
+ "node_modules/safer-buffer": {
2072
+ "version": "2.1.2",
2073
+ "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
2074
+ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
2075
+ "license": "MIT"
2076
+ },
2077
+ "node_modules/send": {
2078
+ "version": "0.19.2",
2079
+ "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz",
2080
+ "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==",
2081
+ "license": "MIT",
2082
+ "dependencies": {
2083
+ "debug": "2.6.9",
2084
+ "depd": "2.0.0",
2085
+ "destroy": "1.2.0",
2086
+ "encodeurl": "~2.0.0",
2087
+ "escape-html": "~1.0.3",
2088
+ "etag": "~1.8.1",
2089
+ "fresh": "~0.5.2",
2090
+ "http-errors": "~2.0.1",
2091
+ "mime": "1.6.0",
2092
+ "ms": "2.1.3",
2093
+ "on-finished": "~2.4.1",
2094
+ "range-parser": "~1.2.1",
2095
+ "statuses": "~2.0.2"
2096
+ },
2097
+ "engines": {
2098
+ "node": ">= 0.8.0"
2099
+ }
2100
+ },
2101
+ "node_modules/send/node_modules/ms": {
2102
+ "version": "2.1.3",
2103
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz",
2104
+ "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==",
2105
+ "license": "MIT"
2106
+ },
2107
+ "node_modules/serve-static": {
2108
+ "version": "1.16.3",
2109
+ "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz",
2110
+ "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==",
2111
+ "license": "MIT",
2112
+ "dependencies": {
2113
+ "encodeurl": "~2.0.0",
2114
+ "escape-html": "~1.0.3",
2115
+ "parseurl": "~1.3.3",
2116
+ "send": "~0.19.1"
2117
+ },
2118
+ "engines": {
2119
+ "node": ">= 0.8.0"
2120
+ }
2121
+ },
2122
+ "node_modules/setprototypeof": {
2123
+ "version": "1.2.0",
2124
+ "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz",
2125
+ "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==",
2126
+ "license": "ISC"
2127
+ },
2128
+ "node_modules/shebang-command": {
2129
+ "version": "2.0.0",
2130
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
2131
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
2132
+ "license": "MIT",
2133
+ "dependencies": {
2134
+ "shebang-regex": "^3.0.0"
2135
+ },
2136
+ "engines": {
2137
+ "node": ">=8"
2138
+ }
2139
+ },
2140
+ "node_modules/shebang-regex": {
2141
+ "version": "3.0.0",
2142
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
2143
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
2144
+ "license": "MIT",
2145
+ "engines": {
2146
+ "node": ">=8"
2147
+ }
2148
+ },
2149
+ "node_modules/side-channel": {
2150
+ "version": "1.1.0",
2151
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz",
2152
+ "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==",
2153
+ "license": "MIT",
2154
+ "dependencies": {
2155
+ "es-errors": "^1.3.0",
2156
+ "object-inspect": "^1.13.3",
2157
+ "side-channel-list": "^1.0.0",
2158
+ "side-channel-map": "^1.0.1",
2159
+ "side-channel-weakmap": "^1.0.2"
2160
+ },
2161
+ "engines": {
2162
+ "node": ">= 0.4"
2163
+ },
2164
+ "funding": {
2165
+ "url": "https://github.com/sponsors/ljharb"
2166
+ }
2167
+ },
2168
+ "node_modules/side-channel-list": {
2169
+ "version": "1.0.0",
2170
+ "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz",
2171
+ "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==",
2172
+ "license": "MIT",
2173
+ "dependencies": {
2174
+ "es-errors": "^1.3.0",
2175
+ "object-inspect": "^1.13.3"
2176
+ },
2177
+ "engines": {
2178
+ "node": ">= 0.4"
2179
+ },
2180
+ "funding": {
2181
+ "url": "https://github.com/sponsors/ljharb"
2182
+ }
2183
+ },
2184
+ "node_modules/side-channel-map": {
2185
+ "version": "1.0.1",
2186
+ "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz",
2187
+ "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==",
2188
+ "license": "MIT",
2189
+ "dependencies": {
2190
+ "call-bound": "^1.0.2",
2191
+ "es-errors": "^1.3.0",
2192
+ "get-intrinsic": "^1.2.5",
2193
+ "object-inspect": "^1.13.3"
2194
+ },
2195
+ "engines": {
2196
+ "node": ">= 0.4"
2197
+ },
2198
+ "funding": {
2199
+ "url": "https://github.com/sponsors/ljharb"
2200
+ }
2201
+ },
2202
+ "node_modules/side-channel-weakmap": {
2203
+ "version": "1.0.2",
2204
+ "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz",
2205
+ "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==",
2206
+ "license": "MIT",
2207
+ "dependencies": {
2208
+ "call-bound": "^1.0.2",
2209
+ "es-errors": "^1.3.0",
2210
+ "get-intrinsic": "^1.2.5",
2211
+ "object-inspect": "^1.13.3",
2212
+ "side-channel-map": "^1.0.1"
2213
+ },
2214
+ "engines": {
2215
+ "node": ">= 0.4"
2216
+ },
2217
+ "funding": {
2218
+ "url": "https://github.com/sponsors/ljharb"
2219
+ }
2220
+ },
2221
+ "node_modules/source-map": {
2222
+ "version": "0.6.1",
2223
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
2224
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
2225
+ "dev": true,
2226
+ "license": "BSD-3-Clause",
2227
+ "engines": {
2228
+ "node": ">=0.10.0"
2229
+ }
2230
+ },
2231
+ "node_modules/source-map-support": {
2232
+ "version": "0.5.21",
2233
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz",
2234
+ "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==",
2235
+ "dev": true,
2236
+ "license": "MIT",
2237
+ "dependencies": {
2238
+ "buffer-from": "^1.0.0",
2239
+ "source-map": "^0.6.0"
2240
+ }
2241
+ },
2242
+ "node_modules/statuses": {
2243
+ "version": "2.0.2",
2244
+ "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz",
2245
+ "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==",
2246
+ "license": "MIT",
2247
+ "engines": {
2248
+ "node": ">= 0.8"
2249
+ }
2250
+ },
2251
+ "node_modules/strip-bom": {
2252
+ "version": "3.0.0",
2253
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz",
2254
+ "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==",
2255
+ "dev": true,
2256
+ "license": "MIT",
2257
+ "engines": {
2258
+ "node": ">=4"
2259
+ }
2260
+ },
2261
+ "node_modules/strip-json-comments": {
2262
+ "version": "2.0.1",
2263
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz",
2264
+ "integrity": "sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ==",
2265
+ "dev": true,
2266
+ "license": "MIT",
2267
+ "engines": {
2268
+ "node": ">=0.10.0"
2269
+ }
2270
+ },
2271
+ "node_modules/supports-preserve-symlinks-flag": {
2272
+ "version": "1.0.0",
2273
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
2274
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
2275
+ "dev": true,
2276
+ "license": "MIT",
2277
+ "engines": {
2278
+ "node": ">= 0.4"
2279
+ },
2280
+ "funding": {
2281
+ "url": "https://github.com/sponsors/ljharb"
2282
+ }
2283
+ },
2284
+ "node_modules/to-regex-range": {
2285
+ "version": "5.0.1",
2286
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
2287
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
2288
+ "license": "MIT",
2289
+ "dependencies": {
2290
+ "is-number": "^7.0.0"
2291
+ },
2292
+ "engines": {
2293
+ "node": ">=8.0"
2294
+ }
2295
+ },
2296
+ "node_modules/toidentifier": {
2297
+ "version": "1.0.1",
2298
+ "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz",
2299
+ "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==",
2300
+ "license": "MIT",
2301
+ "engines": {
2302
+ "node": ">=0.6"
2303
+ }
2304
+ },
2305
+ "node_modules/tree-kill": {
2306
+ "version": "1.2.2",
2307
+ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz",
2308
+ "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==",
2309
+ "dev": true,
2310
+ "license": "MIT",
2311
+ "bin": {
2312
+ "tree-kill": "cli.js"
2313
+ }
2314
+ },
2315
+ "node_modules/ts-node": {
2316
+ "version": "10.9.2",
2317
+ "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz",
2318
+ "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==",
2319
+ "dev": true,
2320
+ "license": "MIT",
2321
+ "dependencies": {
2322
+ "@cspotcode/source-map-support": "^0.8.0",
2323
+ "@tsconfig/node10": "^1.0.7",
2324
+ "@tsconfig/node12": "^1.0.7",
2325
+ "@tsconfig/node14": "^1.0.0",
2326
+ "@tsconfig/node16": "^1.0.2",
2327
+ "acorn": "^8.4.1",
2328
+ "acorn-walk": "^8.1.1",
2329
+ "arg": "^4.1.0",
2330
+ "create-require": "^1.1.0",
2331
+ "diff": "^4.0.1",
2332
+ "make-error": "^1.1.1",
2333
+ "v8-compile-cache-lib": "^3.0.1",
2334
+ "yn": "3.1.1"
2335
+ },
2336
+ "bin": {
2337
+ "ts-node": "dist/bin.js",
2338
+ "ts-node-cwd": "dist/bin-cwd.js",
2339
+ "ts-node-esm": "dist/bin-esm.js",
2340
+ "ts-node-script": "dist/bin-script.js",
2341
+ "ts-node-transpile-only": "dist/bin-transpile.js",
2342
+ "ts-script": "dist/bin-script-deprecated.js"
2343
+ },
2344
+ "peerDependencies": {
2345
+ "@swc/core": ">=1.2.50",
2346
+ "@swc/wasm": ">=1.2.50",
2347
+ "@types/node": "*",
2348
+ "typescript": ">=2.7"
2349
+ },
2350
+ "peerDependenciesMeta": {
2351
+ "@swc/core": {
2352
+ "optional": true
2353
+ },
2354
+ "@swc/wasm": {
2355
+ "optional": true
2356
+ }
2357
+ }
2358
+ },
2359
+ "node_modules/ts-node-dev": {
2360
+ "version": "2.0.0",
2361
+ "resolved": "https://registry.npmjs.org/ts-node-dev/-/ts-node-dev-2.0.0.tgz",
2362
+ "integrity": "sha512-ywMrhCfH6M75yftYvrvNarLEY+SUXtUvU8/0Z6llrHQVBx12GiFk5sStF8UdfE/yfzk9IAq7O5EEbTQsxlBI8w==",
2363
+ "dev": true,
2364
+ "license": "MIT",
2365
+ "dependencies": {
2366
+ "chokidar": "^3.5.1",
2367
+ "dynamic-dedupe": "^0.3.0",
2368
+ "minimist": "^1.2.6",
2369
+ "mkdirp": "^1.0.4",
2370
+ "resolve": "^1.0.0",
2371
+ "rimraf": "^2.6.1",
2372
+ "source-map-support": "^0.5.12",
2373
+ "tree-kill": "^1.2.2",
2374
+ "ts-node": "^10.4.0",
2375
+ "tsconfig": "^7.0.0"
2376
+ },
2377
+ "bin": {
2378
+ "ts-node-dev": "lib/bin.js",
2379
+ "tsnd": "lib/bin.js"
2380
+ },
2381
+ "engines": {
2382
+ "node": ">=0.8.0"
2383
+ },
2384
+ "peerDependencies": {
2385
+ "node-notifier": "*",
2386
+ "typescript": "*"
2387
+ },
2388
+ "peerDependenciesMeta": {
2389
+ "node-notifier": {
2390
+ "optional": true
2391
+ }
2392
+ }
2393
+ },
2394
+ "node_modules/tsconfig": {
2395
+ "version": "7.0.0",
2396
+ "resolved": "https://registry.npmjs.org/tsconfig/-/tsconfig-7.0.0.tgz",
2397
+ "integrity": "sha512-vZXmzPrL+EmC4T/4rVlT2jNVMWCi/O4DIiSj3UHg1OE5kCKbk4mfrXc6dZksLgRM/TZlKnousKH9bbTazUWRRw==",
2398
+ "dev": true,
2399
+ "license": "MIT",
2400
+ "dependencies": {
2401
+ "@types/strip-bom": "^3.0.0",
2402
+ "@types/strip-json-comments": "0.0.30",
2403
+ "strip-bom": "^3.0.0",
2404
+ "strip-json-comments": "^2.0.0"
2405
+ }
2406
+ },
2407
+ "node_modules/type-is": {
2408
+ "version": "1.6.18",
2409
+ "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz",
2410
+ "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==",
2411
+ "license": "MIT",
2412
+ "dependencies": {
2413
+ "media-typer": "0.3.0",
2414
+ "mime-types": "~2.1.24"
2415
+ },
2416
+ "engines": {
2417
+ "node": ">= 0.6"
2418
+ }
2419
+ },
2420
+ "node_modules/typescript": {
2421
+ "version": "5.9.3",
2422
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz",
2423
+ "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==",
2424
+ "dev": true,
2425
+ "license": "Apache-2.0",
2426
+ "bin": {
2427
+ "tsc": "bin/tsc",
2428
+ "tsserver": "bin/tsserver"
2429
+ },
2430
+ "engines": {
2431
+ "node": ">=14.17"
2432
+ }
2433
+ },
2434
+ "node_modules/undici-types": {
2435
+ "version": "6.21.0",
2436
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz",
2437
+ "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==",
2438
+ "license": "MIT"
2439
+ },
2440
+ "node_modules/unpipe": {
2441
+ "version": "1.0.0",
2442
+ "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz",
2443
+ "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==",
2444
+ "license": "MIT",
2445
+ "engines": {
2446
+ "node": ">= 0.8"
2447
+ }
2448
+ },
2449
+ "node_modules/utils-merge": {
2450
+ "version": "1.0.1",
2451
+ "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz",
2452
+ "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==",
2453
+ "license": "MIT",
2454
+ "engines": {
2455
+ "node": ">= 0.4.0"
2456
+ }
2457
+ },
2458
+ "node_modules/v8-compile-cache-lib": {
2459
+ "version": "3.0.1",
2460
+ "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz",
2461
+ "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==",
2462
+ "dev": true,
2463
+ "license": "MIT"
2464
+ },
2465
+ "node_modules/vary": {
2466
+ "version": "1.1.2",
2467
+ "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz",
2468
+ "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==",
2469
+ "license": "MIT",
2470
+ "engines": {
2471
+ "node": ">= 0.8"
2472
+ }
2473
+ },
2474
+ "node_modules/which": {
2475
+ "version": "2.0.2",
2476
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
2477
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
2478
+ "license": "ISC",
2479
+ "dependencies": {
2480
+ "isexe": "^2.0.0"
2481
+ },
2482
+ "bin": {
2483
+ "node-which": "bin/node-which"
2484
+ },
2485
+ "engines": {
2486
+ "node": ">= 8"
2487
+ }
2488
+ },
2489
+ "node_modules/wrappy": {
2490
+ "version": "1.0.2",
2491
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
2492
+ "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==",
2493
+ "license": "ISC"
2494
+ },
2495
+ "node_modules/xtend": {
2496
+ "version": "4.0.2",
2497
+ "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz",
2498
+ "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==",
2499
+ "dev": true,
2500
+ "license": "MIT",
2501
+ "engines": {
2502
+ "node": ">=0.4"
2503
+ }
2504
+ },
2505
+ "node_modules/yn": {
2506
+ "version": "3.1.1",
2507
+ "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz",
2508
+ "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==",
2509
+ "dev": true,
2510
+ "license": "MIT",
2511
+ "engines": {
2512
+ "node": ">=6"
2513
+ }
2514
+ },
2515
+ "node_modules/zod": {
2516
+ "version": "4.3.6",
2517
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.3.6.tgz",
2518
+ "integrity": "sha512-rftlrkhHZOcjDwkGlnUtZZkvaPHCsDATp4pGpuOOMDaTdDDXF91wuVDJoWoPsKX/3YPQ5fHuF3STjcYyKr+Qhg==",
2519
+ "license": "MIT",
2520
+ "funding": {
2521
+ "url": "https://github.com/sponsors/colinhacks"
2522
+ }
2523
+ },
2524
+ "node_modules/zod-to-json-schema": {
2525
+ "version": "3.25.1",
2526
+ "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz",
2527
+ "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==",
2528
+ "license": "ISC",
2529
+ "peerDependencies": {
2530
+ "zod": "^3.25 || ^4"
2531
+ }
2532
+ }
2533
+ }
2534
+ }
backend/package.json CHANGED
@@ -10,18 +10,19 @@
10
  "dev": "ts-node-dev src/index.ts"
11
  },
12
  "dependencies": {
13
- "express": "^4.18.2",
14
  "cors": "^2.8.5",
15
  "dotenv": "^16.3.1",
16
- "@modelcontextprotocol/sdk": "^1.12.1",
17
- "eventsource": "^2.0.2"
 
18
  },
19
  "devDependencies": {
20
- "@types/express": "^4.17.21",
21
  "@types/cors": "^2.8.17",
22
- "@types/node": "^20.0.0",
23
  "@types/eventsource": "^1.1.15",
24
- "typescript": "^5.3.0",
25
- "ts-node-dev": "^2.0.0"
 
 
26
  }
27
  }
 
10
  "dev": "ts-node-dev src/index.ts"
11
  },
12
  "dependencies": {
13
+ "@modelcontextprotocol/sdk": "^1.12.1",
14
  "cors": "^2.8.5",
15
  "dotenv": "^16.3.1",
16
+ "eventsource": "^2.0.2",
17
+ "express": "^4.18.2",
18
+ "http-proxy-middleware": "^3.0.5"
19
  },
20
  "devDependencies": {
 
21
  "@types/cors": "^2.8.17",
 
22
  "@types/eventsource": "^1.1.15",
23
+ "@types/express": "^4.17.21",
24
+ "@types/node": "^20.0.0",
25
+ "ts-node-dev": "^2.0.0",
26
+ "typescript": "^5.3.0"
27
  }
28
  }
backend/src/index.ts CHANGED
@@ -1,19 +1,27 @@
1
  import express from 'express';
2
  import cors from 'cors';
 
3
  import generateRouter from './routes/generate.js';
4
 
5
  const app = express();
6
  const PORT = process.env.PORT || 8080;
7
 
8
  app.use(cors());
9
- app.use(express.json());
10
-
11
- app.use('/api/generate', generateRouter);
12
 
 
13
  app.get('/api/health', (req, res) => {
14
  res.json({ status: 'ok', timestamp: new Date().toISOString() });
15
  });
16
 
 
 
 
 
 
 
 
 
 
17
  app.listen(PORT, () => {
18
  console.log(`Backend running on port ${PORT}`);
19
  });
 
1
  import express from 'express';
2
  import cors from 'cors';
3
+ import { createProxyMiddleware } from 'http-proxy-middleware';
4
  import generateRouter from './routes/generate.js';
5
 
6
  const app = express();
7
  const PORT = process.env.PORT || 8080;
8
 
9
  app.use(cors());
 
 
 
10
 
11
+ // Health check before other routes
12
  app.get('/api/health', (req, res) => {
13
  res.json({ status: 'ok', timestamp: new Date().toISOString() });
14
  });
15
 
16
+ // Proxy routes for MCP Agents
17
+ // These allow Archestra to talk to the agents through the single public port 7860
18
+ app.use('/mcp/analyzer', createProxyMiddleware({ target: 'http://localhost:3002', pathRewrite: { '^/mcp/analyzer': '' }, changeOrigin: true, sse: true }));
19
+ app.use('/mcp/reader', createProxyMiddleware({ target: 'http://localhost:3003', pathRewrite: { '^/mcp/reader': '' }, changeOrigin: true, sse: true }));
20
+ app.use('/mcp/generator', createProxyMiddleware({ target: 'http://localhost:3004', pathRewrite: { '^/mcp/generator': '' }, changeOrigin: true, sse: true }));
21
+
22
+ app.use(express.json());
23
+ app.use('/api/generate', generateRouter);
24
+
25
  app.listen(PORT, () => {
26
  console.log(`Backend running on port ${PORT}`);
27
  });