├── .env.example
├── .gitignore
├── .idea
├── .gitignore
├── chatgpt-io-api.iml
├── jsLibraryMappings.xml
├── modules.xml
└── vcs.xml
├── LICENSE
├── README.md
├── index.js
├── package-lock.json
└── package.json
/.env.example:
--------------------------------------------------------------------------------
1 | CHATGPT_SESSION_TOKEN=
2 | CHATGPT_SESSION_PORT=3000
3 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ### VisualStudioCode template
2 | .vscode/*
3 | !.vscode/settings.json
4 | !.vscode/tasks.json
5 | !.vscode/launch.json
6 | !.vscode/extensions.json
7 | *.code-workspace
8 |
9 | # Local History for Visual Studio Code
10 | .history/
11 |
12 | ### JetBrains template
13 | # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio, WebStorm and Rider
14 | # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
15 |
16 | # User-specific stuff
17 | .idea/**/workspace.xml
18 | .idea/**/tasks.xml
19 | .idea/**/usage.statistics.xml
20 | .idea/**/dictionaries
21 | .idea/**/shelf
22 |
23 | # Generated files
24 | .idea/**/contentModel.xml
25 |
26 | # Sensitive or high-churn files
27 | .idea/**/dataSources/
28 | .idea/**/dataSources.ids
29 | .idea/**/dataSources.local.xml
30 | .idea/**/sqlDataSources.xml
31 | .idea/**/dynamic.xml
32 | .idea/**/uiDesigner.xml
33 | .idea/**/dbnavigator.xml
34 |
35 | # Gradle
36 | .idea/**/gradle.xml
37 | .idea/**/libraries
38 |
39 | # Gradle and Maven with auto-import
40 | # When using Gradle or Maven with auto-import, you should exclude module files,
41 | # since they will be recreated, and may cause churn. Uncomment if using
42 | # auto-import.
43 | # .idea/artifacts
44 | # .idea/compiler.xml
45 | # .idea/jarRepositories.xml
46 | # .idea/modules.xml
47 | # .idea/*.iml
48 | # .idea/modules
49 | # *.iml
50 | # *.ipr
51 |
52 | # CMake
53 | cmake-build-*/
54 |
55 | # Mongo Explorer plugin
56 | .idea/**/mongoSettings.xml
57 |
58 | # File-based project format
59 | *.iws
60 |
61 | # IntelliJ
62 | out/
63 |
64 | # mpeltonen/sbt-idea plugin
65 | .idea_modules/
66 |
67 | # JIRA plugin
68 | atlassian-ide-plugin.xml
69 |
70 | # Cursive Clojure plugin
71 | .idea/replstate.xml
72 |
73 | # Crashlytics plugin (for Android Studio and IntelliJ)
74 | com_crashlytics_export_strings.xml
75 | crashlytics.properties
76 | crashlytics-build.properties
77 | fabric.properties
78 |
79 | # Editor-based Rest Client
80 | .idea/httpRequests
81 |
82 | # Android studio 3.1+ serialized cache file
83 | .idea/caches/build_file_checksums.ser
84 |
85 | ### Node template
86 | # Logs
87 | logs
88 | *.log
89 | npm-debug.log*
90 | yarn-debug.log*
91 | yarn-error.log*
92 | lerna-debug.log*
93 |
94 | # Diagnostic reports (https://nodejs.org/api/report.html)
95 | report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
96 |
97 | # Runtime data
98 | pids
99 | *.pid
100 | *.seed
101 | *.pid.lock
102 |
103 | # Directory for instrumented libs generated by jscoverage/JSCover
104 | lib-cov
105 |
106 | # Coverage directory used by tools like istanbul
107 | coverage
108 | *.lcov
109 |
110 | # nyc test coverage
111 | .nyc_output
112 |
113 | # Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
114 | .grunt
115 |
116 | # Bower dependency directory (https://bower.io/)
117 | bower_components
118 |
119 | # node-waf configuration
120 | .lock-wscript
121 |
122 | # Compiled binary addons (https://nodejs.org/api/addons.html)
123 | build/Release
124 |
125 | # Dependency directories
126 | node_modules/
127 | jspm_packages/
128 |
129 | # Snowpack dependency directory (https://snowpack.dev/)
130 | web_modules/
131 |
132 | # TypeScript cache
133 | *.tsbuildinfo
134 |
135 | # Optional npm cache directory
136 | .npm
137 |
138 | # Optional eslint cache
139 | .eslintcache
140 |
141 | # Microbundle cache
142 | .rpt2_cache/
143 | .rts2_cache_cjs/
144 | .rts2_cache_es/
145 | .rts2_cache_umd/
146 |
147 | # Optional REPL history
148 | .node_repl_history
149 |
150 | # Output of 'npm pack'
151 | *.tgz
152 |
153 | # Yarn Integrity file
154 | .yarn-integrity
155 |
156 | # dotenv environment variables file
157 | .env
158 | .env.test
159 |
160 | # parcel-bundler cache (https://parceljs.org/)
161 | .cache
162 | .parcel-cache
163 |
164 | # Next.js build output
165 | .next
166 | out
167 |
168 | # Nuxt.js build / generate output
169 | .nuxt
170 | dist
171 |
172 | # Gatsby files
173 | .cache/
174 | # Comment in the public line in if your project uses Gatsby and not Next.js
175 | # https://nextjs.org/blog/next-9-1#public-directory-support
176 | # public
177 |
178 | # vuepress build output
179 | .vuepress/dist
180 |
181 | # Serverless directories
182 | .serverless/
183 |
184 | # FuseBox cache
185 | .fusebox/
186 |
187 | # DynamoDB Local files
188 | .dynamodb/
189 |
190 | # TernJS port file
191 | .tern-port
192 |
193 | # Stores VSCode versions used for testing VSCode extensions
194 | .vscode-test
195 |
196 | # yarn v2
197 | .yarn/cache
198 | .yarn/unplugged
199 | .yarn/build-state.yml
200 | .yarn/install-state.gz
201 | .pnp.*
202 |
203 |
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Editor-based HTTP Client requests
5 | /httpRequests/
6 |
--------------------------------------------------------------------------------
/.idea/chatgpt-io-api.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/.idea/jsLibraryMappings.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2023 waylaidwanderer
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ## ChatGPT API
2 |
3 | This repository contains an API layer for [ChatGPT](https://chat.openai.com), powered by [chatgpt-io](https://github.com/PawanOsman/chatgpt-io). It allows users to send questions to a chatbot and receive responses in real-time.
4 |
5 | To use this API, you will need to have a session token from ChatGPT. Set this token in the `CHATGPT_SESSION_TOKEN` environment variable. You can do this by creating a `.env` file in the root of the project and adding the line `CHATGPT_SESSION_TOKEN=YOUR_TOKEN_HERE`.
6 |
7 | To start the API, run the following command:
8 |
9 | ```bash
10 | npm start
11 | ```
12 |
13 | The API will be listening on the `CHATGPT_PORT` environment variable (defaults to 3000). You can send a POST request to `/ask` with a `message` and optional `conversation_id` in the request body to ask the chatbot a question. The response will contain a `response` field with the chatbot's response.
14 |
15 | Example request:
16 |
17 | ```bash
18 | POST /ask
19 | Content-Type: application/json
20 |
21 | {
22 | "message": "What is your name?",
23 | "conversation_id": "abc123"
24 | }
25 | ```
26 |
27 | Example response:
28 |
29 | ```bash
30 | Status: 200 OK
31 | Content-Type: application/json
32 |
33 | {
34 | "response": "My name is ChatGPT."
35 | }
36 | ```
37 |
38 | If the chatbot is not yet ready, the API will return a 503 status code and an `error` field with the message "Chatbot is not ready yet".
39 |
--------------------------------------------------------------------------------
/index.js:
--------------------------------------------------------------------------------
1 | import fastify from 'fastify';
2 | import chatGPT from 'chatgpt-io';
3 | import * as dotenv from 'dotenv';
4 |
5 | dotenv.config();
6 |
7 | const app = fastify();
8 |
9 | // Initialize chatbot with a session token
10 | const bot = new chatGPT(process.env.CHATGPT_SESSION_TOKEN);
11 |
12 | // Wait for chatbot to be ready
13 | bot.waitForReady().then(() => {
14 | console.log("Chatbot is ready!");
15 | });
16 |
17 | // API route for asking the chatbot a question
18 | app.post("/ask", async (req, res) => {
19 | // Get question and conversation_id from body parameters
20 | const { message, conversation_id } = req.body;
21 |
22 | // Return an error if the chatbot is not yet ready
23 | if (!bot.ready) {
24 | res.status(503).send({
25 | error: "Chatbot is not ready yet"
26 | });
27 | return;
28 | }
29 |
30 | // Use conversation_id if provided, otherwise use default conversation
31 | let response;
32 | if (conversation_id) {
33 | response = await bot.ask(message, conversation_id);
34 | } else {
35 | response = await bot.ask(message);
36 | }
37 |
38 | // Send response as JSON
39 | res.send({
40 | response,
41 | });
42 | });
43 |
44 | const port = process.env.CHATGPT_PORT || 3000;
45 | app.listen({port}, (err) => {
46 | if (err) {
47 | console.error(err);
48 | process.exit(1);
49 | }
50 | console.log(`API listening on port ${port}`);
51 | });
52 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "chatgpt-io-api",
3 | "version": "1.0.1",
4 | "lockfileVersion": 2,
5 | "requires": true,
6 | "packages": {
7 | "": {
8 | "name": "chatgpt-io-api",
9 | "version": "1.0.1",
10 | "license": "MIT",
11 | "dependencies": {
12 | "chatgpt-io": "^1.0.4",
13 | "dotenv": "^16.0.3",
14 | "fastify": "^4.11.0"
15 | }
16 | },
17 | "node_modules/@fastify/ajv-compiler": {
18 | "version": "3.5.0",
19 | "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz",
20 | "integrity": "sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==",
21 | "dependencies": {
22 | "ajv": "^8.11.0",
23 | "ajv-formats": "^2.1.1",
24 | "fast-uri": "^2.0.0"
25 | }
26 | },
27 | "node_modules/@fastify/deepmerge": {
28 | "version": "1.3.0",
29 | "resolved": "https://registry.npmjs.org/@fastify/deepmerge/-/deepmerge-1.3.0.tgz",
30 | "integrity": "sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A=="
31 | },
32 | "node_modules/@fastify/error": {
33 | "version": "3.2.0",
34 | "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.2.0.tgz",
35 | "integrity": "sha512-KAfcLa+CnknwVi5fWogrLXgidLic+GXnLjijXdpl8pvkvbXU5BGa37iZO9FGvsh9ZL4y+oFi5cbHBm5UOG+dmQ=="
36 | },
37 | "node_modules/@fastify/fast-json-stringify-compiler": {
38 | "version": "4.2.0",
39 | "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.2.0.tgz",
40 | "integrity": "sha512-ypZynRvXA3dibfPykQN3RB5wBdEUgSGgny8Qc6k163wYPLD4mEGEDkACp+00YmqkGvIm8D/xYoHajwyEdWD/eg==",
41 | "dependencies": {
42 | "fast-json-stringify": "^5.0.0"
43 | }
44 | },
45 | "node_modules/@socket.io/component-emitter": {
46 | "version": "3.1.0",
47 | "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
48 | "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
49 | },
50 | "node_modules/abort-controller": {
51 | "version": "3.0.0",
52 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
53 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
54 | "dependencies": {
55 | "event-target-shim": "^5.0.0"
56 | },
57 | "engines": {
58 | "node": ">=6.5"
59 | }
60 | },
61 | "node_modules/abstract-logging": {
62 | "version": "2.0.1",
63 | "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz",
64 | "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA=="
65 | },
66 | "node_modules/ajv": {
67 | "version": "8.12.0",
68 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
69 | "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
70 | "dependencies": {
71 | "fast-deep-equal": "^3.1.1",
72 | "json-schema-traverse": "^1.0.0",
73 | "require-from-string": "^2.0.2",
74 | "uri-js": "^4.2.2"
75 | },
76 | "funding": {
77 | "type": "github",
78 | "url": "https://github.com/sponsors/epoberezkin"
79 | }
80 | },
81 | "node_modules/ajv-formats": {
82 | "version": "2.1.1",
83 | "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
84 | "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
85 | "dependencies": {
86 | "ajv": "^8.0.0"
87 | },
88 | "peerDependencies": {
89 | "ajv": "^8.0.0"
90 | },
91 | "peerDependenciesMeta": {
92 | "ajv": {
93 | "optional": true
94 | }
95 | }
96 | },
97 | "node_modules/archy": {
98 | "version": "1.0.0",
99 | "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
100 | "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw=="
101 | },
102 | "node_modules/atomic-sleep": {
103 | "version": "1.0.0",
104 | "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz",
105 | "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ==",
106 | "engines": {
107 | "node": ">=8.0.0"
108 | }
109 | },
110 | "node_modules/avvio": {
111 | "version": "8.2.0",
112 | "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.2.0.tgz",
113 | "integrity": "sha512-bbCQdg7bpEv6kGH41RO/3B2/GMMmJSo2iBK+X8AWN9mujtfUipMDfIjsgHCfpnKqoGEQrrmCDKSa5OQ19+fDmg==",
114 | "dependencies": {
115 | "archy": "^1.0.0",
116 | "debug": "^4.0.0",
117 | "fastq": "^1.6.1"
118 | }
119 | },
120 | "node_modules/base64-js": {
121 | "version": "1.5.1",
122 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
123 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==",
124 | "funding": [
125 | {
126 | "type": "github",
127 | "url": "https://github.com/sponsors/feross"
128 | },
129 | {
130 | "type": "patreon",
131 | "url": "https://www.patreon.com/feross"
132 | },
133 | {
134 | "type": "consulting",
135 | "url": "https://feross.org/support"
136 | }
137 | ]
138 | },
139 | "node_modules/buffer": {
140 | "version": "6.0.3",
141 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
142 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
143 | "funding": [
144 | {
145 | "type": "github",
146 | "url": "https://github.com/sponsors/feross"
147 | },
148 | {
149 | "type": "patreon",
150 | "url": "https://www.patreon.com/feross"
151 | },
152 | {
153 | "type": "consulting",
154 | "url": "https://feross.org/support"
155 | }
156 | ],
157 | "dependencies": {
158 | "base64-js": "^1.3.1",
159 | "ieee754": "^1.2.1"
160 | }
161 | },
162 | "node_modules/chatgpt-io": {
163 | "version": "1.0.6",
164 | "resolved": "https://registry.npmjs.org/chatgpt-io/-/chatgpt-io-1.0.6.tgz",
165 | "integrity": "sha512-OXoNAtx/fg788JoowCOANVD+O0lgXAjT+ze609WG3lSsfVqFlZjZUTCEtPb+G1z4OdfsPsazahsAbC0bHNAqZQ==",
166 | "dependencies": {
167 | "socket.io-client": "^4.5.4"
168 | }
169 | },
170 | "node_modules/content-type": {
171 | "version": "1.0.4",
172 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
173 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==",
174 | "engines": {
175 | "node": ">= 0.6"
176 | }
177 | },
178 | "node_modules/cookie": {
179 | "version": "0.5.0",
180 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
181 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==",
182 | "engines": {
183 | "node": ">= 0.6"
184 | }
185 | },
186 | "node_modules/debug": {
187 | "version": "4.3.4",
188 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
189 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
190 | "dependencies": {
191 | "ms": "2.1.2"
192 | },
193 | "engines": {
194 | "node": ">=6.0"
195 | },
196 | "peerDependenciesMeta": {
197 | "supports-color": {
198 | "optional": true
199 | }
200 | }
201 | },
202 | "node_modules/dotenv": {
203 | "version": "16.0.3",
204 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
205 | "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ==",
206 | "engines": {
207 | "node": ">=12"
208 | }
209 | },
210 | "node_modules/engine.io-client": {
211 | "version": "6.2.3",
212 | "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
213 | "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
214 | "dependencies": {
215 | "@socket.io/component-emitter": "~3.1.0",
216 | "debug": "~4.3.1",
217 | "engine.io-parser": "~5.0.3",
218 | "ws": "~8.2.3",
219 | "xmlhttprequest-ssl": "~2.0.0"
220 | }
221 | },
222 | "node_modules/engine.io-parser": {
223 | "version": "5.0.5",
224 | "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.5.tgz",
225 | "integrity": "sha512-mjEyaa4zhuuRhaSLOdjEb57X0XPP9JEsnXI4E+ivhwT0GgzUogARx4MqoY1jQyB+4Bkz3BUOmzL7t9RMKmlG3g==",
226 | "engines": {
227 | "node": ">=10.0.0"
228 | }
229 | },
230 | "node_modules/event-target-shim": {
231 | "version": "5.0.1",
232 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
233 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==",
234 | "engines": {
235 | "node": ">=6"
236 | }
237 | },
238 | "node_modules/events": {
239 | "version": "3.3.0",
240 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
241 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==",
242 | "engines": {
243 | "node": ">=0.8.x"
244 | }
245 | },
246 | "node_modules/fast-decode-uri-component": {
247 | "version": "1.0.1",
248 | "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz",
249 | "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg=="
250 | },
251 | "node_modules/fast-deep-equal": {
252 | "version": "3.1.3",
253 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
254 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
255 | },
256 | "node_modules/fast-json-stringify": {
257 | "version": "5.5.0",
258 | "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.5.0.tgz",
259 | "integrity": "sha512-rmw2Z8/mLkND8zI+3KTYIkNPEoF5v6GqDP/o+g7H3vjdWjBwuKpgAYFHIzL6ORRB+iqDjjtJnLIW9Mzxn5szOA==",
260 | "dependencies": {
261 | "@fastify/deepmerge": "^1.0.0",
262 | "ajv": "^8.10.0",
263 | "ajv-formats": "^2.1.1",
264 | "fast-deep-equal": "^3.1.3",
265 | "fast-uri": "^2.1.0",
266 | "rfdc": "^1.2.0"
267 | }
268 | },
269 | "node_modules/fast-querystring": {
270 | "version": "1.1.0",
271 | "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.0.tgz",
272 | "integrity": "sha512-LWkjBCZlxjnSanuPpZ6mHswjy8hQv3VcPJsQB3ltUF2zjvrycr0leP3TSTEEfvQ1WEMSRl5YNsGqaft9bjLqEw==",
273 | "dependencies": {
274 | "fast-decode-uri-component": "^1.0.1"
275 | }
276 | },
277 | "node_modules/fast-redact": {
278 | "version": "3.1.2",
279 | "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz",
280 | "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw==",
281 | "engines": {
282 | "node": ">=6"
283 | }
284 | },
285 | "node_modules/fast-uri": {
286 | "version": "2.2.0",
287 | "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.2.0.tgz",
288 | "integrity": "sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg=="
289 | },
290 | "node_modules/fastify": {
291 | "version": "4.11.0",
292 | "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.11.0.tgz",
293 | "integrity": "sha512-JteZ8pjEqd+6n+azQnQfSJV8MUMxAmxbvC2Dx/Mybj039Lf/u3kda9Kq84uy/huCpqCzZoyHIZS5JFGF3wLztw==",
294 | "dependencies": {
295 | "@fastify/ajv-compiler": "^3.3.1",
296 | "@fastify/error": "^3.0.0",
297 | "@fastify/fast-json-stringify-compiler": "^4.1.0",
298 | "abstract-logging": "^2.0.1",
299 | "avvio": "^8.2.0",
300 | "content-type": "^1.0.4",
301 | "find-my-way": "^7.3.0",
302 | "light-my-request": "^5.6.1",
303 | "pino": "^8.5.0",
304 | "process-warning": "^2.0.0",
305 | "proxy-addr": "^2.0.7",
306 | "rfdc": "^1.3.0",
307 | "secure-json-parse": "^2.5.0",
308 | "semver": "^7.3.7",
309 | "tiny-lru": "^10.0.0"
310 | }
311 | },
312 | "node_modules/fastq": {
313 | "version": "1.15.0",
314 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
315 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
316 | "dependencies": {
317 | "reusify": "^1.0.4"
318 | }
319 | },
320 | "node_modules/find-my-way": {
321 | "version": "7.4.0",
322 | "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-7.4.0.tgz",
323 | "integrity": "sha512-JFT7eURLU5FumlZ3VBGnveId82cZz7UR7OUu+THQJOwdQXxmS/g8v0KLoFhv97HreycOrmAbqjXD/4VG2j0uMQ==",
324 | "dependencies": {
325 | "fast-deep-equal": "^3.1.3",
326 | "fast-querystring": "^1.0.0",
327 | "safe-regex2": "^2.0.0"
328 | },
329 | "engines": {
330 | "node": ">=14"
331 | }
332 | },
333 | "node_modules/forwarded": {
334 | "version": "0.2.0",
335 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
336 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==",
337 | "engines": {
338 | "node": ">= 0.6"
339 | }
340 | },
341 | "node_modules/ieee754": {
342 | "version": "1.2.1",
343 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
344 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==",
345 | "funding": [
346 | {
347 | "type": "github",
348 | "url": "https://github.com/sponsors/feross"
349 | },
350 | {
351 | "type": "patreon",
352 | "url": "https://www.patreon.com/feross"
353 | },
354 | {
355 | "type": "consulting",
356 | "url": "https://feross.org/support"
357 | }
358 | ]
359 | },
360 | "node_modules/ipaddr.js": {
361 | "version": "1.9.1",
362 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
363 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==",
364 | "engines": {
365 | "node": ">= 0.10"
366 | }
367 | },
368 | "node_modules/json-schema-traverse": {
369 | "version": "1.0.0",
370 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
371 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
372 | },
373 | "node_modules/light-my-request": {
374 | "version": "5.8.0",
375 | "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.8.0.tgz",
376 | "integrity": "sha512-4BtD5C+VmyTpzlDPCZbsatZMJVgUIciSOwYhJDCbLffPZ35KoDkDj4zubLeHDEb35b4kkPeEv5imbh+RJxK/Pg==",
377 | "dependencies": {
378 | "cookie": "^0.5.0",
379 | "process-warning": "^2.0.0",
380 | "set-cookie-parser": "^2.4.1"
381 | }
382 | },
383 | "node_modules/lru-cache": {
384 | "version": "6.0.0",
385 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
386 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
387 | "dependencies": {
388 | "yallist": "^4.0.0"
389 | },
390 | "engines": {
391 | "node": ">=10"
392 | }
393 | },
394 | "node_modules/ms": {
395 | "version": "2.1.2",
396 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
397 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
398 | },
399 | "node_modules/on-exit-leak-free": {
400 | "version": "2.1.0",
401 | "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz",
402 | "integrity": "sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w=="
403 | },
404 | "node_modules/pino": {
405 | "version": "8.8.0",
406 | "resolved": "https://registry.npmjs.org/pino/-/pino-8.8.0.tgz",
407 | "integrity": "sha512-cF8iGYeu2ODg2gIwgAHcPrtR63ILJz3f7gkogaHC/TXVVXxZgInmNYiIpDYEwgEkxZti2Se6P2W2DxlBIZe6eQ==",
408 | "dependencies": {
409 | "atomic-sleep": "^1.0.0",
410 | "fast-redact": "^3.1.1",
411 | "on-exit-leak-free": "^2.1.0",
412 | "pino-abstract-transport": "v1.0.0",
413 | "pino-std-serializers": "^6.0.0",
414 | "process-warning": "^2.0.0",
415 | "quick-format-unescaped": "^4.0.3",
416 | "real-require": "^0.2.0",
417 | "safe-stable-stringify": "^2.3.1",
418 | "sonic-boom": "^3.1.0",
419 | "thread-stream": "^2.0.0"
420 | },
421 | "bin": {
422 | "pino": "bin.js"
423 | }
424 | },
425 | "node_modules/pino-abstract-transport": {
426 | "version": "1.0.0",
427 | "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz",
428 | "integrity": "sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==",
429 | "dependencies": {
430 | "readable-stream": "^4.0.0",
431 | "split2": "^4.0.0"
432 | }
433 | },
434 | "node_modules/pino-std-serializers": {
435 | "version": "6.1.0",
436 | "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.1.0.tgz",
437 | "integrity": "sha512-KO0m2f1HkrPe9S0ldjx7za9BJjeHqBku5Ch8JyxETxT8dEFGz1PwgrHaOQupVYitpzbFSYm7nnljxD8dik2c+g=="
438 | },
439 | "node_modules/process": {
440 | "version": "0.11.10",
441 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
442 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A==",
443 | "engines": {
444 | "node": ">= 0.6.0"
445 | }
446 | },
447 | "node_modules/process-warning": {
448 | "version": "2.1.0",
449 | "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.1.0.tgz",
450 | "integrity": "sha512-9C20RLxrZU/rFnxWncDkuF6O999NdIf3E1ws4B0ZeY3sRVPzWBMsYDE2lxjxhiXxg464cQTgKUGm8/i6y2YGXg=="
451 | },
452 | "node_modules/proxy-addr": {
453 | "version": "2.0.7",
454 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
455 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
456 | "dependencies": {
457 | "forwarded": "0.2.0",
458 | "ipaddr.js": "1.9.1"
459 | },
460 | "engines": {
461 | "node": ">= 0.10"
462 | }
463 | },
464 | "node_modules/punycode": {
465 | "version": "2.2.0",
466 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz",
467 | "integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw==",
468 | "engines": {
469 | "node": ">=6"
470 | }
471 | },
472 | "node_modules/quick-format-unescaped": {
473 | "version": "4.0.4",
474 | "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz",
475 | "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg=="
476 | },
477 | "node_modules/readable-stream": {
478 | "version": "4.3.0",
479 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz",
480 | "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==",
481 | "dependencies": {
482 | "abort-controller": "^3.0.0",
483 | "buffer": "^6.0.3",
484 | "events": "^3.3.0",
485 | "process": "^0.11.10"
486 | },
487 | "engines": {
488 | "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
489 | }
490 | },
491 | "node_modules/real-require": {
492 | "version": "0.2.0",
493 | "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz",
494 | "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg==",
495 | "engines": {
496 | "node": ">= 12.13.0"
497 | }
498 | },
499 | "node_modules/require-from-string": {
500 | "version": "2.0.2",
501 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
502 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==",
503 | "engines": {
504 | "node": ">=0.10.0"
505 | }
506 | },
507 | "node_modules/ret": {
508 | "version": "0.2.2",
509 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz",
510 | "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ==",
511 | "engines": {
512 | "node": ">=4"
513 | }
514 | },
515 | "node_modules/reusify": {
516 | "version": "1.0.4",
517 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
518 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
519 | "engines": {
520 | "iojs": ">=1.0.0",
521 | "node": ">=0.10.0"
522 | }
523 | },
524 | "node_modules/rfdc": {
525 | "version": "1.3.0",
526 | "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
527 | "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA=="
528 | },
529 | "node_modules/safe-regex2": {
530 | "version": "2.0.0",
531 | "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz",
532 | "integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==",
533 | "dependencies": {
534 | "ret": "~0.2.0"
535 | }
536 | },
537 | "node_modules/safe-stable-stringify": {
538 | "version": "2.4.2",
539 | "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz",
540 | "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA==",
541 | "engines": {
542 | "node": ">=10"
543 | }
544 | },
545 | "node_modules/secure-json-parse": {
546 | "version": "2.7.0",
547 | "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz",
548 | "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw=="
549 | },
550 | "node_modules/semver": {
551 | "version": "7.3.8",
552 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
553 | "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
554 | "dependencies": {
555 | "lru-cache": "^6.0.0"
556 | },
557 | "bin": {
558 | "semver": "bin/semver.js"
559 | },
560 | "engines": {
561 | "node": ">=10"
562 | }
563 | },
564 | "node_modules/set-cookie-parser": {
565 | "version": "2.5.1",
566 | "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz",
567 | "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ=="
568 | },
569 | "node_modules/socket.io-client": {
570 | "version": "4.5.4",
571 | "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.4.tgz",
572 | "integrity": "sha512-ZpKteoA06RzkD32IbqILZ+Cnst4xewU7ZYK12aS1mzHftFFjpoMz69IuhP/nL25pJfao/amoPI527KnuhFm01g==",
573 | "dependencies": {
574 | "@socket.io/component-emitter": "~3.1.0",
575 | "debug": "~4.3.2",
576 | "engine.io-client": "~6.2.3",
577 | "socket.io-parser": "~4.2.1"
578 | },
579 | "engines": {
580 | "node": ">=10.0.0"
581 | }
582 | },
583 | "node_modules/socket.io-parser": {
584 | "version": "4.2.1",
585 | "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
586 | "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
587 | "dependencies": {
588 | "@socket.io/component-emitter": "~3.1.0",
589 | "debug": "~4.3.1"
590 | },
591 | "engines": {
592 | "node": ">=10.0.0"
593 | }
594 | },
595 | "node_modules/sonic-boom": {
596 | "version": "3.2.1",
597 | "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.2.1.tgz",
598 | "integrity": "sha512-iITeTHxy3B9FGu8aVdiDXUVAcHMF9Ss0cCsAOo2HfCrmVGT3/DT5oYaeu0M/YKZDlKTvChEyPq0zI9Hf33EX6A==",
599 | "dependencies": {
600 | "atomic-sleep": "^1.0.0"
601 | }
602 | },
603 | "node_modules/split2": {
604 | "version": "4.1.0",
605 | "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz",
606 | "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==",
607 | "engines": {
608 | "node": ">= 10.x"
609 | }
610 | },
611 | "node_modules/thread-stream": {
612 | "version": "2.3.0",
613 | "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.3.0.tgz",
614 | "integrity": "sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==",
615 | "dependencies": {
616 | "real-require": "^0.2.0"
617 | }
618 | },
619 | "node_modules/tiny-lru": {
620 | "version": "10.0.1",
621 | "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-10.0.1.tgz",
622 | "integrity": "sha512-Vst+6kEsWvb17Zpz14sRJV/f8bUWKhqm6Dc+v08iShmIJ/WxqWytHzCTd6m88pS33rE2zpX34TRmOpAJPloNCA==",
623 | "engines": {
624 | "node": ">=6"
625 | }
626 | },
627 | "node_modules/uri-js": {
628 | "version": "4.4.1",
629 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
630 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
631 | "dependencies": {
632 | "punycode": "^2.1.0"
633 | }
634 | },
635 | "node_modules/ws": {
636 | "version": "8.2.3",
637 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
638 | "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
639 | "engines": {
640 | "node": ">=10.0.0"
641 | },
642 | "peerDependencies": {
643 | "bufferutil": "^4.0.1",
644 | "utf-8-validate": "^5.0.2"
645 | },
646 | "peerDependenciesMeta": {
647 | "bufferutil": {
648 | "optional": true
649 | },
650 | "utf-8-validate": {
651 | "optional": true
652 | }
653 | }
654 | },
655 | "node_modules/xmlhttprequest-ssl": {
656 | "version": "2.0.0",
657 | "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
658 | "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A==",
659 | "engines": {
660 | "node": ">=0.4.0"
661 | }
662 | },
663 | "node_modules/yallist": {
664 | "version": "4.0.0",
665 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
666 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
667 | }
668 | },
669 | "dependencies": {
670 | "@fastify/ajv-compiler": {
671 | "version": "3.5.0",
672 | "resolved": "https://registry.npmjs.org/@fastify/ajv-compiler/-/ajv-compiler-3.5.0.tgz",
673 | "integrity": "sha512-ebbEtlI7dxXF5ziNdr05mOY8NnDiPB1XvAlLHctRt/Rc+C3LCOVW5imUVX+mhvUhnNzmPBHewUkOFgGlCxgdAA==",
674 | "requires": {
675 | "ajv": "^8.11.0",
676 | "ajv-formats": "^2.1.1",
677 | "fast-uri": "^2.0.0"
678 | }
679 | },
680 | "@fastify/deepmerge": {
681 | "version": "1.3.0",
682 | "resolved": "https://registry.npmjs.org/@fastify/deepmerge/-/deepmerge-1.3.0.tgz",
683 | "integrity": "sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A=="
684 | },
685 | "@fastify/error": {
686 | "version": "3.2.0",
687 | "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.2.0.tgz",
688 | "integrity": "sha512-KAfcLa+CnknwVi5fWogrLXgidLic+GXnLjijXdpl8pvkvbXU5BGa37iZO9FGvsh9ZL4y+oFi5cbHBm5UOG+dmQ=="
689 | },
690 | "@fastify/fast-json-stringify-compiler": {
691 | "version": "4.2.0",
692 | "resolved": "https://registry.npmjs.org/@fastify/fast-json-stringify-compiler/-/fast-json-stringify-compiler-4.2.0.tgz",
693 | "integrity": "sha512-ypZynRvXA3dibfPykQN3RB5wBdEUgSGgny8Qc6k163wYPLD4mEGEDkACp+00YmqkGvIm8D/xYoHajwyEdWD/eg==",
694 | "requires": {
695 | "fast-json-stringify": "^5.0.0"
696 | }
697 | },
698 | "@socket.io/component-emitter": {
699 | "version": "3.1.0",
700 | "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz",
701 | "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg=="
702 | },
703 | "abort-controller": {
704 | "version": "3.0.0",
705 | "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz",
706 | "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==",
707 | "requires": {
708 | "event-target-shim": "^5.0.0"
709 | }
710 | },
711 | "abstract-logging": {
712 | "version": "2.0.1",
713 | "resolved": "https://registry.npmjs.org/abstract-logging/-/abstract-logging-2.0.1.tgz",
714 | "integrity": "sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA=="
715 | },
716 | "ajv": {
717 | "version": "8.12.0",
718 | "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz",
719 | "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==",
720 | "requires": {
721 | "fast-deep-equal": "^3.1.1",
722 | "json-schema-traverse": "^1.0.0",
723 | "require-from-string": "^2.0.2",
724 | "uri-js": "^4.2.2"
725 | }
726 | },
727 | "ajv-formats": {
728 | "version": "2.1.1",
729 | "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz",
730 | "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==",
731 | "requires": {
732 | "ajv": "^8.0.0"
733 | }
734 | },
735 | "archy": {
736 | "version": "1.0.0",
737 | "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz",
738 | "integrity": "sha512-Xg+9RwCg/0p32teKdGMPTPnVXKD0w3DfHnFTficozsAgsvq2XenPJq/MYpzzQ/v8zrOyJn6Ds39VA4JIDwFfqw=="
739 | },
740 | "atomic-sleep": {
741 | "version": "1.0.0",
742 | "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz",
743 | "integrity": "sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ=="
744 | },
745 | "avvio": {
746 | "version": "8.2.0",
747 | "resolved": "https://registry.npmjs.org/avvio/-/avvio-8.2.0.tgz",
748 | "integrity": "sha512-bbCQdg7bpEv6kGH41RO/3B2/GMMmJSo2iBK+X8AWN9mujtfUipMDfIjsgHCfpnKqoGEQrrmCDKSa5OQ19+fDmg==",
749 | "requires": {
750 | "archy": "^1.0.0",
751 | "debug": "^4.0.0",
752 | "fastq": "^1.6.1"
753 | }
754 | },
755 | "base64-js": {
756 | "version": "1.5.1",
757 | "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
758 | "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA=="
759 | },
760 | "buffer": {
761 | "version": "6.0.3",
762 | "resolved": "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz",
763 | "integrity": "sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA==",
764 | "requires": {
765 | "base64-js": "^1.3.1",
766 | "ieee754": "^1.2.1"
767 | }
768 | },
769 | "chatgpt-io": {
770 | "version": "1.0.6",
771 | "resolved": "https://registry.npmjs.org/chatgpt-io/-/chatgpt-io-1.0.6.tgz",
772 | "integrity": "sha512-OXoNAtx/fg788JoowCOANVD+O0lgXAjT+ze609WG3lSsfVqFlZjZUTCEtPb+G1z4OdfsPsazahsAbC0bHNAqZQ==",
773 | "requires": {
774 | "socket.io-client": "^4.5.4"
775 | }
776 | },
777 | "content-type": {
778 | "version": "1.0.4",
779 | "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz",
780 | "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA=="
781 | },
782 | "cookie": {
783 | "version": "0.5.0",
784 | "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz",
785 | "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw=="
786 | },
787 | "debug": {
788 | "version": "4.3.4",
789 | "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
790 | "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
791 | "requires": {
792 | "ms": "2.1.2"
793 | }
794 | },
795 | "dotenv": {
796 | "version": "16.0.3",
797 | "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.0.3.tgz",
798 | "integrity": "sha512-7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ=="
799 | },
800 | "engine.io-client": {
801 | "version": "6.2.3",
802 | "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-6.2.3.tgz",
803 | "integrity": "sha512-aXPtgF1JS3RuuKcpSrBtimSjYvrbhKW9froICH4s0F3XQWLxsKNxqzG39nnvQZQnva4CMvUK63T7shevxRyYHw==",
804 | "requires": {
805 | "@socket.io/component-emitter": "~3.1.0",
806 | "debug": "~4.3.1",
807 | "engine.io-parser": "~5.0.3",
808 | "ws": "~8.2.3",
809 | "xmlhttprequest-ssl": "~2.0.0"
810 | }
811 | },
812 | "engine.io-parser": {
813 | "version": "5.0.5",
814 | "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.5.tgz",
815 | "integrity": "sha512-mjEyaa4zhuuRhaSLOdjEb57X0XPP9JEsnXI4E+ivhwT0GgzUogARx4MqoY1jQyB+4Bkz3BUOmzL7t9RMKmlG3g=="
816 | },
817 | "event-target-shim": {
818 | "version": "5.0.1",
819 | "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz",
820 | "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ=="
821 | },
822 | "events": {
823 | "version": "3.3.0",
824 | "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz",
825 | "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q=="
826 | },
827 | "fast-decode-uri-component": {
828 | "version": "1.0.1",
829 | "resolved": "https://registry.npmjs.org/fast-decode-uri-component/-/fast-decode-uri-component-1.0.1.tgz",
830 | "integrity": "sha512-WKgKWg5eUxvRZGwW8FvfbaH7AXSh2cL+3j5fMGzUMCxWBJ3dV3a7Wz8y2f/uQ0e3B6WmodD3oS54jTQ9HVTIIg=="
831 | },
832 | "fast-deep-equal": {
833 | "version": "3.1.3",
834 | "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
835 | "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q=="
836 | },
837 | "fast-json-stringify": {
838 | "version": "5.5.0",
839 | "resolved": "https://registry.npmjs.org/fast-json-stringify/-/fast-json-stringify-5.5.0.tgz",
840 | "integrity": "sha512-rmw2Z8/mLkND8zI+3KTYIkNPEoF5v6GqDP/o+g7H3vjdWjBwuKpgAYFHIzL6ORRB+iqDjjtJnLIW9Mzxn5szOA==",
841 | "requires": {
842 | "@fastify/deepmerge": "^1.0.0",
843 | "ajv": "^8.10.0",
844 | "ajv-formats": "^2.1.1",
845 | "fast-deep-equal": "^3.1.3",
846 | "fast-uri": "^2.1.0",
847 | "rfdc": "^1.2.0"
848 | }
849 | },
850 | "fast-querystring": {
851 | "version": "1.1.0",
852 | "resolved": "https://registry.npmjs.org/fast-querystring/-/fast-querystring-1.1.0.tgz",
853 | "integrity": "sha512-LWkjBCZlxjnSanuPpZ6mHswjy8hQv3VcPJsQB3ltUF2zjvrycr0leP3TSTEEfvQ1WEMSRl5YNsGqaft9bjLqEw==",
854 | "requires": {
855 | "fast-decode-uri-component": "^1.0.1"
856 | }
857 | },
858 | "fast-redact": {
859 | "version": "3.1.2",
860 | "resolved": "https://registry.npmjs.org/fast-redact/-/fast-redact-3.1.2.tgz",
861 | "integrity": "sha512-+0em+Iya9fKGfEQGcd62Yv6onjBmmhV1uh86XVfOU8VwAe6kaFdQCWI9s0/Nnugx5Vd9tdbZ7e6gE2tR9dzXdw=="
862 | },
863 | "fast-uri": {
864 | "version": "2.2.0",
865 | "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-2.2.0.tgz",
866 | "integrity": "sha512-cIusKBIt/R/oI6z/1nyfe2FvGKVTohVRfvkOhvx0nCEW+xf5NoCXjAHcWp93uOUBchzYcsvPlrapAdX1uW+YGg=="
867 | },
868 | "fastify": {
869 | "version": "4.11.0",
870 | "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.11.0.tgz",
871 | "integrity": "sha512-JteZ8pjEqd+6n+azQnQfSJV8MUMxAmxbvC2Dx/Mybj039Lf/u3kda9Kq84uy/huCpqCzZoyHIZS5JFGF3wLztw==",
872 | "requires": {
873 | "@fastify/ajv-compiler": "^3.3.1",
874 | "@fastify/error": "^3.0.0",
875 | "@fastify/fast-json-stringify-compiler": "^4.1.0",
876 | "abstract-logging": "^2.0.1",
877 | "avvio": "^8.2.0",
878 | "content-type": "^1.0.4",
879 | "find-my-way": "^7.3.0",
880 | "light-my-request": "^5.6.1",
881 | "pino": "^8.5.0",
882 | "process-warning": "^2.0.0",
883 | "proxy-addr": "^2.0.7",
884 | "rfdc": "^1.3.0",
885 | "secure-json-parse": "^2.5.0",
886 | "semver": "^7.3.7",
887 | "tiny-lru": "^10.0.0"
888 | }
889 | },
890 | "fastq": {
891 | "version": "1.15.0",
892 | "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz",
893 | "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==",
894 | "requires": {
895 | "reusify": "^1.0.4"
896 | }
897 | },
898 | "find-my-way": {
899 | "version": "7.4.0",
900 | "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-7.4.0.tgz",
901 | "integrity": "sha512-JFT7eURLU5FumlZ3VBGnveId82cZz7UR7OUu+THQJOwdQXxmS/g8v0KLoFhv97HreycOrmAbqjXD/4VG2j0uMQ==",
902 | "requires": {
903 | "fast-deep-equal": "^3.1.3",
904 | "fast-querystring": "^1.0.0",
905 | "safe-regex2": "^2.0.0"
906 | }
907 | },
908 | "forwarded": {
909 | "version": "0.2.0",
910 | "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz",
911 | "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow=="
912 | },
913 | "ieee754": {
914 | "version": "1.2.1",
915 | "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz",
916 | "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
917 | },
918 | "ipaddr.js": {
919 | "version": "1.9.1",
920 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz",
921 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g=="
922 | },
923 | "json-schema-traverse": {
924 | "version": "1.0.0",
925 | "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
926 | "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug=="
927 | },
928 | "light-my-request": {
929 | "version": "5.8.0",
930 | "resolved": "https://registry.npmjs.org/light-my-request/-/light-my-request-5.8.0.tgz",
931 | "integrity": "sha512-4BtD5C+VmyTpzlDPCZbsatZMJVgUIciSOwYhJDCbLffPZ35KoDkDj4zubLeHDEb35b4kkPeEv5imbh+RJxK/Pg==",
932 | "requires": {
933 | "cookie": "^0.5.0",
934 | "process-warning": "^2.0.0",
935 | "set-cookie-parser": "^2.4.1"
936 | }
937 | },
938 | "lru-cache": {
939 | "version": "6.0.0",
940 | "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
941 | "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
942 | "requires": {
943 | "yallist": "^4.0.0"
944 | }
945 | },
946 | "ms": {
947 | "version": "2.1.2",
948 | "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
949 | "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
950 | },
951 | "on-exit-leak-free": {
952 | "version": "2.1.0",
953 | "resolved": "https://registry.npmjs.org/on-exit-leak-free/-/on-exit-leak-free-2.1.0.tgz",
954 | "integrity": "sha512-VuCaZZAjReZ3vUwgOB8LxAosIurDiAW0s13rI1YwmaP++jvcxP77AWoQvenZebpCA2m8WC1/EosPYPMjnRAp/w=="
955 | },
956 | "pino": {
957 | "version": "8.8.0",
958 | "resolved": "https://registry.npmjs.org/pino/-/pino-8.8.0.tgz",
959 | "integrity": "sha512-cF8iGYeu2ODg2gIwgAHcPrtR63ILJz3f7gkogaHC/TXVVXxZgInmNYiIpDYEwgEkxZti2Se6P2W2DxlBIZe6eQ==",
960 | "requires": {
961 | "atomic-sleep": "^1.0.0",
962 | "fast-redact": "^3.1.1",
963 | "on-exit-leak-free": "^2.1.0",
964 | "pino-abstract-transport": "v1.0.0",
965 | "pino-std-serializers": "^6.0.0",
966 | "process-warning": "^2.0.0",
967 | "quick-format-unescaped": "^4.0.3",
968 | "real-require": "^0.2.0",
969 | "safe-stable-stringify": "^2.3.1",
970 | "sonic-boom": "^3.1.0",
971 | "thread-stream": "^2.0.0"
972 | }
973 | },
974 | "pino-abstract-transport": {
975 | "version": "1.0.0",
976 | "resolved": "https://registry.npmjs.org/pino-abstract-transport/-/pino-abstract-transport-1.0.0.tgz",
977 | "integrity": "sha512-c7vo5OpW4wIS42hUVcT5REsL8ZljsUfBjqV/e2sFxmFEFZiq1XLUp5EYLtuDH6PEHq9W1egWqRbnLUP5FuZmOA==",
978 | "requires": {
979 | "readable-stream": "^4.0.0",
980 | "split2": "^4.0.0"
981 | }
982 | },
983 | "pino-std-serializers": {
984 | "version": "6.1.0",
985 | "resolved": "https://registry.npmjs.org/pino-std-serializers/-/pino-std-serializers-6.1.0.tgz",
986 | "integrity": "sha512-KO0m2f1HkrPe9S0ldjx7za9BJjeHqBku5Ch8JyxETxT8dEFGz1PwgrHaOQupVYitpzbFSYm7nnljxD8dik2c+g=="
987 | },
988 | "process": {
989 | "version": "0.11.10",
990 | "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz",
991 | "integrity": "sha512-cdGef/drWFoydD1JsMzuFf8100nZl+GT+yacc2bEced5f9Rjk4z+WtFUTBu9PhOi9j/jfmBPu0mMEY4wIdAF8A=="
992 | },
993 | "process-warning": {
994 | "version": "2.1.0",
995 | "resolved": "https://registry.npmjs.org/process-warning/-/process-warning-2.1.0.tgz",
996 | "integrity": "sha512-9C20RLxrZU/rFnxWncDkuF6O999NdIf3E1ws4B0ZeY3sRVPzWBMsYDE2lxjxhiXxg464cQTgKUGm8/i6y2YGXg=="
997 | },
998 | "proxy-addr": {
999 | "version": "2.0.7",
1000 | "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
1001 | "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==",
1002 | "requires": {
1003 | "forwarded": "0.2.0",
1004 | "ipaddr.js": "1.9.1"
1005 | }
1006 | },
1007 | "punycode": {
1008 | "version": "2.2.0",
1009 | "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.2.0.tgz",
1010 | "integrity": "sha512-LN6QV1IJ9ZhxWTNdktaPClrNfp8xdSAYS0Zk2ddX7XsXZAxckMHPCBcHRo0cTcEIgYPRiGEkmji3Idkh2yFtYw=="
1011 | },
1012 | "quick-format-unescaped": {
1013 | "version": "4.0.4",
1014 | "resolved": "https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz",
1015 | "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg=="
1016 | },
1017 | "readable-stream": {
1018 | "version": "4.3.0",
1019 | "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.3.0.tgz",
1020 | "integrity": "sha512-MuEnA0lbSi7JS8XM+WNJlWZkHAAdm7gETHdFK//Q/mChGyj2akEFtdLZh32jSdkWGbRwCW9pn6g3LWDdDeZnBQ==",
1021 | "requires": {
1022 | "abort-controller": "^3.0.0",
1023 | "buffer": "^6.0.3",
1024 | "events": "^3.3.0",
1025 | "process": "^0.11.10"
1026 | }
1027 | },
1028 | "real-require": {
1029 | "version": "0.2.0",
1030 | "resolved": "https://registry.npmjs.org/real-require/-/real-require-0.2.0.tgz",
1031 | "integrity": "sha512-57frrGM/OCTLqLOAh0mhVA9VBMHd+9U7Zb2THMGdBUoZVOtGbJzjxsYGDJ3A9AYYCP4hn6y1TVbaOfzWtm5GFg=="
1032 | },
1033 | "require-from-string": {
1034 | "version": "2.0.2",
1035 | "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz",
1036 | "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw=="
1037 | },
1038 | "ret": {
1039 | "version": "0.2.2",
1040 | "resolved": "https://registry.npmjs.org/ret/-/ret-0.2.2.tgz",
1041 | "integrity": "sha512-M0b3YWQs7R3Z917WRQy1HHA7Ba7D8hvZg6UE5mLykJxQVE2ju0IXbGlaHPPlkY+WN7wFP+wUMXmBFA0aV6vYGQ=="
1042 | },
1043 | "reusify": {
1044 | "version": "1.0.4",
1045 | "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
1046 | "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw=="
1047 | },
1048 | "rfdc": {
1049 | "version": "1.3.0",
1050 | "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz",
1051 | "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA=="
1052 | },
1053 | "safe-regex2": {
1054 | "version": "2.0.0",
1055 | "resolved": "https://registry.npmjs.org/safe-regex2/-/safe-regex2-2.0.0.tgz",
1056 | "integrity": "sha512-PaUSFsUaNNuKwkBijoAPHAK6/eM6VirvyPWlZ7BAQy4D+hCvh4B6lIG+nPdhbFfIbP+gTGBcrdsOaUs0F+ZBOQ==",
1057 | "requires": {
1058 | "ret": "~0.2.0"
1059 | }
1060 | },
1061 | "safe-stable-stringify": {
1062 | "version": "2.4.2",
1063 | "resolved": "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.4.2.tgz",
1064 | "integrity": "sha512-gMxvPJYhP0O9n2pvcfYfIuYgbledAOJFcqRThtPRmjscaipiwcwPPKLytpVzMkG2HAN87Qmo2d4PtGiri1dSLA=="
1065 | },
1066 | "secure-json-parse": {
1067 | "version": "2.7.0",
1068 | "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz",
1069 | "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw=="
1070 | },
1071 | "semver": {
1072 | "version": "7.3.8",
1073 | "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz",
1074 | "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==",
1075 | "requires": {
1076 | "lru-cache": "^6.0.0"
1077 | }
1078 | },
1079 | "set-cookie-parser": {
1080 | "version": "2.5.1",
1081 | "resolved": "https://registry.npmjs.org/set-cookie-parser/-/set-cookie-parser-2.5.1.tgz",
1082 | "integrity": "sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ=="
1083 | },
1084 | "socket.io-client": {
1085 | "version": "4.5.4",
1086 | "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-4.5.4.tgz",
1087 | "integrity": "sha512-ZpKteoA06RzkD32IbqILZ+Cnst4xewU7ZYK12aS1mzHftFFjpoMz69IuhP/nL25pJfao/amoPI527KnuhFm01g==",
1088 | "requires": {
1089 | "@socket.io/component-emitter": "~3.1.0",
1090 | "debug": "~4.3.2",
1091 | "engine.io-client": "~6.2.3",
1092 | "socket.io-parser": "~4.2.1"
1093 | }
1094 | },
1095 | "socket.io-parser": {
1096 | "version": "4.2.1",
1097 | "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.1.tgz",
1098 | "integrity": "sha512-V4GrkLy+HeF1F/en3SpUaM+7XxYXpuMUWLGde1kSSh5nQMN4hLrbPIkD+otwh6q9R6NOQBN4AMaOZ2zVjui82g==",
1099 | "requires": {
1100 | "@socket.io/component-emitter": "~3.1.0",
1101 | "debug": "~4.3.1"
1102 | }
1103 | },
1104 | "sonic-boom": {
1105 | "version": "3.2.1",
1106 | "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.2.1.tgz",
1107 | "integrity": "sha512-iITeTHxy3B9FGu8aVdiDXUVAcHMF9Ss0cCsAOo2HfCrmVGT3/DT5oYaeu0M/YKZDlKTvChEyPq0zI9Hf33EX6A==",
1108 | "requires": {
1109 | "atomic-sleep": "^1.0.0"
1110 | }
1111 | },
1112 | "split2": {
1113 | "version": "4.1.0",
1114 | "resolved": "https://registry.npmjs.org/split2/-/split2-4.1.0.tgz",
1115 | "integrity": "sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ=="
1116 | },
1117 | "thread-stream": {
1118 | "version": "2.3.0",
1119 | "resolved": "https://registry.npmjs.org/thread-stream/-/thread-stream-2.3.0.tgz",
1120 | "integrity": "sha512-kaDqm1DET9pp3NXwR8382WHbnpXnRkN9xGN9dQt3B2+dmXiW8X1SOwmFOxAErEQ47ObhZ96J6yhZNXuyCOL7KA==",
1121 | "requires": {
1122 | "real-require": "^0.2.0"
1123 | }
1124 | },
1125 | "tiny-lru": {
1126 | "version": "10.0.1",
1127 | "resolved": "https://registry.npmjs.org/tiny-lru/-/tiny-lru-10.0.1.tgz",
1128 | "integrity": "sha512-Vst+6kEsWvb17Zpz14sRJV/f8bUWKhqm6Dc+v08iShmIJ/WxqWytHzCTd6m88pS33rE2zpX34TRmOpAJPloNCA=="
1129 | },
1130 | "uri-js": {
1131 | "version": "4.4.1",
1132 | "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
1133 | "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
1134 | "requires": {
1135 | "punycode": "^2.1.0"
1136 | }
1137 | },
1138 | "ws": {
1139 | "version": "8.2.3",
1140 | "resolved": "https://registry.npmjs.org/ws/-/ws-8.2.3.tgz",
1141 | "integrity": "sha512-wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==",
1142 | "requires": {}
1143 | },
1144 | "xmlhttprequest-ssl": {
1145 | "version": "2.0.0",
1146 | "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-2.0.0.tgz",
1147 | "integrity": "sha512-QKxVRxiRACQcVuQEYFsI1hhkrMlrXHPegbbd1yn9UHOmRxY+si12nQYzri3vbzt8VdTTRviqcKxcyllFas5z2A=="
1148 | },
1149 | "yallist": {
1150 | "version": "4.0.0",
1151 | "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
1152 | "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
1153 | }
1154 | }
1155 | }
1156 |
--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "chatgpt-io-api",
3 | "version": "1.0.1",
4 | "description": "An API layer for ChatGPT, powered by chatgpt-io.",
5 | "main": "index.js",
6 | "scripts": {
7 | "test": "echo \"Error: no test specified\" && exit 1",
8 | "start": "node index.js"
9 | },
10 | "repository": {
11 | "type": "git",
12 | "url": "git+https://github.com/waylaidwanderer/chatgpt-io-api.git"
13 | },
14 | "keywords": [
15 | "chatgpt",
16 | "openai",
17 | "gpt3",
18 | "chatgpt-io",
19 | "api"
20 | ],
21 | "author": "waylaidwanderer",
22 | "license": "MIT",
23 | "bugs": {
24 | "url": "https://github.com/waylaidwanderer/chatgpt-io-api/issues"
25 | },
26 | "homepage": "https://github.com/waylaidwanderer/chatgpt-io-api#readme",
27 | "dependencies": {
28 | "chatgpt-io": "^1.0.4",
29 | "dotenv": "^16.0.3",
30 | "fastify": "^4.11.0"
31 | },
32 | "type": "module"
33 | }
34 |
--------------------------------------------------------------------------------