From 241bc68d0f7a2f883e02f64a96c5796ad1da1b95 Mon Sep 17 00:00:00 2001 From: Danny Avila <110412045+danny-avila@users.noreply.github.com> Date: Sat, 14 Oct 2023 13:06:50 -0400 Subject: [PATCH] chore: switch from @waylaidwanderer/chatgpt-api to nodejs-gpt for latest fixes (#1050) --- api/app/bingai.js | 2 +- api/app/chatgpt-browser.js | 2 +- api/app/titleConvoBing.js | 2 +- api/package.json | 2 +- package-lock.json | 226 ++++++++++++++++++------------------- 5 files changed, 113 insertions(+), 121 deletions(-) diff --git a/api/app/bingai.js b/api/app/bingai.js index e178241c17..c3c9c44fa9 100644 --- a/api/app/bingai.js +++ b/api/app/bingai.js @@ -29,7 +29,7 @@ const askBing = async ({ key = await getUserKey({ userId, name: 'bingAI' }); } - const { BingAIClient } = await import('@waylaidwanderer/chatgpt-api'); + const { BingAIClient } = await import('nodejs-gpt'); const store = { store: new KeyvFile({ filename: './data/cache.json' }), }; diff --git a/api/app/chatgpt-browser.js b/api/app/chatgpt-browser.js index 514bb22c22..467e67785d 100644 --- a/api/app/chatgpt-browser.js +++ b/api/app/chatgpt-browser.js @@ -24,7 +24,7 @@ const browserClient = async ({ key = await getUserKey({ userId, name: 'chatGPTBrowser' }); } - const { ChatGPTBrowserClient } = await import('@waylaidwanderer/chatgpt-api'); + const { ChatGPTBrowserClient } = await import('nodejs-gpt'); const store = { store: new KeyvFile({ filename: './data/cache.json' }), }; diff --git a/api/app/titleConvoBing.js b/api/app/titleConvoBing.js index 8f95bd9f20..8dd32160d7 100644 --- a/api/app/titleConvoBing.js +++ b/api/app/titleConvoBing.js @@ -8,7 +8,7 @@ const titleConvo = async ({ text, response }) => { return title; } - const { BingAIClient } = await import('@waylaidwanderer/chatgpt-api'); + const { BingAIClient } = await import('nodejs-gpt'); const titleGenerator = new BingAIClient({ userToken: process.env.BINGAI_TOKEN, debug: false, diff --git a/api/package.json b/api/package.json index 4453c9c269..d757580663 100644 --- a/api/package.json +++ b/api/package.json @@ -25,7 +25,6 @@ "@azure/search-documents": "^11.3.2", "@keyv/mongo": "^2.1.8", "@keyv/redis": "^2.8.0", - "@waylaidwanderer/chatgpt-api": "^1.37.2", "axios": "^1.3.4", "bcryptjs": "^2.4.3", "cheerio": "^1.0.0-rc.12", @@ -51,6 +50,7 @@ "lodash": "^4.17.21", "meilisearch": "^0.33.0", "mongoose": "^7.1.1", + "nodejs-gpt": "^1.37.4", "nodemailer": "^6.9.4", "openai": "^4.11.1", "openai-chat-tokens": "^0.2.8", diff --git a/package-lock.json b/package-lock.json index a676c063e6..139d66dcc1 100644 --- a/package-lock.json +++ b/package-lock.json @@ -46,7 +46,6 @@ "@azure/search-documents": "^11.3.2", "@keyv/mongo": "^2.1.8", "@keyv/redis": "^2.8.0", - "@waylaidwanderer/chatgpt-api": "^1.37.2", "axios": "^1.3.4", "bcryptjs": "^2.4.3", "cheerio": "^1.0.0-rc.12", @@ -72,6 +71,7 @@ "lodash": "^4.17.21", "meilisearch": "^0.33.0", "mongoose": "^7.1.1", + "nodejs-gpt": "^1.37.4", "nodemailer": "^6.9.4", "openai": "^4.11.1", "openai-chat-tokens": "^0.2.8", @@ -4744,10 +4744,18 @@ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==" }, + "node_modules/@fastify/busboy": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.0.0.tgz", + "integrity": "sha512-JUFJad5lv7jxj926GPgymrWQxxjPYuJNiNjNMzqT+HiuP6Vl3dk5xzG+8sTX96np0ZAluvaMzPsjhHZ5rNuNQQ==", + "engines": { + "node": ">=14" + } + }, "node_modules/@fastify/cors": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/@fastify/cors/-/cors-8.3.0.tgz", - "integrity": "sha512-oj9xkka2Tg0MrwuKhsSUumcAkfp2YCnKxmFEusi01pjk1YrdDsuSYTHXEelWNW+ilSy/ApZq0c2SvhKrLX0H1g==", + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/@fastify/cors/-/cors-8.4.0.tgz", + "integrity": "sha512-MlVvMTenltToByTpLwlWtO+7dQ3l2J+1OpmGrx9JpSNWo1d+dhfNCOi23zHhxdFhtpDzfwGwCsKu9DTeG7k7nQ==", "dependencies": { "fastify-plugin": "^4.0.0", "mnemonist": "0.39.5" @@ -4759,9 +4767,9 @@ "integrity": "sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==" }, "node_modules/@fastify/error": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.3.0.tgz", - "integrity": "sha512-dj7vjIn1Ar8sVXj2yAXiMNCJDmS9MQ9XMlIecX2dIzzhjSHCyKo4DdXjXMs7wKW2kj6yvVRSpuQjOZ3YLrh56w==" + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/@fastify/error/-/error-3.4.0.tgz", + "integrity": "sha512-e/mafFwbK3MNqxUcFBLgHhgxsF8UT1m8aj0dAlqEa2nJEgPsRtpHTZ3ObgrgkZ2M1eJHPTwgyUl/tXkvabsZdQ==" }, "node_modules/@fastify/fast-json-stringify-compiler": { "version": "4.3.0", @@ -5447,9 +5455,12 @@ "link": true }, "node_modules/@ljharb/through": { - "version": "2.3.9", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.9.tgz", - "integrity": "sha512-yN599ZBuMPPK4tdoToLlvgJB4CLK8fGl7ntfy0Wn7U6ttNvHYurd81bfUiK/6sMkiIwm65R6ck4L6+Y3DfVbNQ==", + "version": "2.3.11", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.11.tgz", + "integrity": "sha512-ccfcIDlogiXNq5KcbAwbaO7lMh3Tm1i3khMPYpxlK8hH/W53zN81KM9coerRLOnTGu3nfXIniAmQbRI9OxbC0w==", + "dependencies": { + "call-bind": "^1.0.2" + }, "engines": { "node": ">= 0.4" } @@ -7932,58 +7943,6 @@ "vite": "^4.2.0" } }, - "node_modules/@waylaidwanderer/chatgpt-api": { - "version": "1.37.3", - "resolved": "https://registry.npmjs.org/@waylaidwanderer/chatgpt-api/-/chatgpt-api-1.37.3.tgz", - "integrity": "sha512-ODonzVgIl9ZAliknnDr1r/yyHePlc9HIcUgLattuTfuNFYJ7IFcuVov3DWdQICa2jzxbtdp977biQA6SYEPM2A==", - "dependencies": { - "@dqbd/tiktoken": "^1.0.2", - "@fastify/cors": "^8.2.0", - "@timefox/bic-sydney": "^1.1.2", - "@waylaidwanderer/fastify-sse-v2": "^3.1.0", - "@waylaidwanderer/fetch-event-source": "^3.0.1", - "boxen": "^7.0.1", - "clipboardy": "^3.0.0", - "dotenv": "^16.0.3", - "fastify": "^4.11.0", - "fetch-undici": "^3.0.1", - "https-proxy-agent": "^7.0.0", - "inquirer": "^9.1.4", - "inquirer-autocomplete-prompt": "^3.0.0", - "keyv": "^4.5.2", - "keyv-file": "^0.2.0", - "ora": "^7.0.1", - "undici": "^5.20.0", - "ws": "^8.12.0" - }, - "bin": { - "chatgpt-api": "bin/server.js", - "chatgpt-cli": "bin/cli.js" - } - }, - "node_modules/@waylaidwanderer/chatgpt-api/node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/@waylaidwanderer/chatgpt-api/node_modules/https-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", - "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, "node_modules/@waylaidwanderer/fastify-sse-v2": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@waylaidwanderer/fastify-sse-v2/-/fastify-sse-v2-3.1.0.tgz", @@ -9294,17 +9253,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, "node_modules/bytes": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", @@ -11789,9 +11737,9 @@ } }, "node_modules/fast-content-type-parse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.0.0.tgz", - "integrity": "sha512-Xbc4XcysUXcsP5aHUU7Nq3OwvHq97C+WnbkeIefpeYLX+ryzFJlU6OStFJhs6Ol0LkUGpcK+wL0JwfM+FCU5IA==" + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/fast-content-type-parse/-/fast-content-type-parse-1.1.0.tgz", + "integrity": "sha512-fBHHqSTFLVnR61C+gltJuE5GkVQMV0S2nqUO8TJ+5Z3qAKG8vAx4FKai1s5jq/inV1+sREynIWSuQ6HgoSXpDQ==" }, "node_modules/fast-decode-uri-component": { "version": "1.0.1", @@ -11940,26 +11888,26 @@ } }, "node_modules/fastify": { - "version": "4.23.1", - "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.23.1.tgz", - "integrity": "sha512-JhZWyz2PgjzkDTrTX/PQ6+03s+/r2hC3RiOoF9WQUUHbPGiDJtQch1mg5IyJjUjwhug+/z1XHt5yweZNW4kbMg==", + "version": "4.24.1", + "resolved": "https://registry.npmjs.org/fastify/-/fastify-4.24.1.tgz", + "integrity": "sha512-uMthXpH0DjWWxb3/ERmBsVkFm5cllozjbOFkhsD4Xlw+OUg5wGASRBjVRcp2XeYZa91W2BbwgIWJrnGGPWY2dQ==", "dependencies": { "@fastify/ajv-compiler": "^3.5.0", - "@fastify/error": "^3.2.0", + "@fastify/error": "^3.4.0", "@fastify/fast-json-stringify-compiler": "^4.3.0", "abstract-logging": "^2.0.1", "avvio": "^8.2.1", - "fast-content-type-parse": "^1.0.0", - "fast-json-stringify": "^5.7.0", - "find-my-way": "^7.6.0", - "light-my-request": "^5.9.1", - "pino": "^8.12.0", + "fast-content-type-parse": "^1.1.0", + "fast-json-stringify": "^5.8.0", + "find-my-way": "^7.7.0", + "light-my-request": "^5.11.0", + "pino": "^8.16.0", "process-warning": "^2.2.0", "proxy-addr": "^2.0.7", "rfdc": "^1.3.0", - "secure-json-parse": "^2.5.0", - "semver": "^7.5.0", - "toad-cache": "^3.2.0" + "secure-json-parse": "^2.7.0", + "semver": "^7.5.4", + "toad-cache": "^3.3.0" } }, "node_modules/fastify-plugin": { @@ -12192,9 +12140,9 @@ } }, "node_modules/find-my-way": { - "version": "7.6.2", - "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-7.6.2.tgz", - "integrity": "sha512-0OjHn1b1nCX3eVbm9ByeEHiscPYiHLfhei1wOUU9qffQkk98wE0Lo8VrVYfSGMgnSnDh86DxedduAnBf4nwUEw==", + "version": "7.7.0", + "resolved": "https://registry.npmjs.org/find-my-way/-/find-my-way-7.7.0.tgz", + "integrity": "sha512-+SrHpvQ52Q6W9f3wJoJBbAQULJuNEEQwBvlvYwACDhBTLOTMiQ0HYWh4+vC3OivGP2ENcTI1oKlFA2OepJNjhQ==", "dependencies": { "fast-deep-equal": "^3.1.3", "fast-querystring": "^1.0.0", @@ -13487,9 +13435,9 @@ } }, "node_modules/inquirer-autocomplete-prompt": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-3.0.0.tgz", - "integrity": "sha512-nsPWllBQB3qhvpVgV1UIJN4xo3yz7Qv8y1+zrNVpJUNPxtUZ7btCum/4UCAs5apPCe/FVhKH1V6Wx0cAwkreyg==", + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-3.0.1.tgz", + "integrity": "sha512-DQBXwX2fVQPVUzu4v4lGgtNgyjcX2+rTyphb2MeSOQh3xUayKAfHAF4y0KgsMi06m6ZiR3xIOdzMZMfQgX2m9w==", "dependencies": { "ansi-escapes": "^6.0.0", "figures": "^5.0.0", @@ -13498,7 +13446,7 @@ "rxjs": "^7.5.6" }, "engines": { - "node": ">=12" + "node": ">=16" }, "peerDependencies": { "inquirer": "^9.1.0" @@ -17502,6 +17450,58 @@ "integrity": "sha512-uYr7J37ae/ORWdZeQ1xxMJe3NtdmqMC/JZK+geofDrkLUApKRHPd18/TxtBOJ4A0/+uUIliorNrfYV6s1b02eQ==", "dev": true }, + "node_modules/nodejs-gpt": { + "version": "1.37.4", + "resolved": "https://registry.npmjs.org/nodejs-gpt/-/nodejs-gpt-1.37.4.tgz", + "integrity": "sha512-Bw7kldqmeF4x3/Dti3WJdUe755rlV5MypRgj5Ywu9gF9tMeaflTCznJDIfrZyY7y+6GyaJN9i26ixTh/jqPHqA==", + "dependencies": { + "@dqbd/tiktoken": "^1.0.2", + "@fastify/cors": "^8.2.0", + "@timefox/bic-sydney": "^1.1.2", + "@waylaidwanderer/fastify-sse-v2": "^3.1.0", + "@waylaidwanderer/fetch-event-source": "^3.0.1", + "boxen": "^7.0.1", + "clipboardy": "^3.0.0", + "dotenv": "^16.0.3", + "fastify": "^4.11.0", + "fetch-undici": "^3.0.1", + "https-proxy-agent": "^7.0.0", + "inquirer": "^9.1.4", + "inquirer-autocomplete-prompt": "^3.0.0", + "keyv": "^4.5.2", + "keyv-file": "^0.2.0", + "ora": "^7.0.1", + "undici": "^5.20.0", + "ws": "^8.12.0" + }, + "bin": { + "chatgpt-api": "bin/server.js", + "chatgpt-cli": "bin/cli.js" + } + }, + "node_modules/nodejs-gpt/node_modules/agent-base": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", + "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", + "dependencies": { + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/nodejs-gpt/node_modules/https-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", + "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", + "dependencies": { + "agent-base": "^7.0.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/nodemailer": { "version": "6.9.5", "resolved": "https://registry.npmjs.org/nodemailer/-/nodemailer-6.9.5.tgz", @@ -18453,9 +18453,9 @@ } }, "node_modules/pino": { - "version": "8.15.1", - "resolved": "https://registry.npmjs.org/pino/-/pino-8.15.1.tgz", - "integrity": "sha512-Cp4QzUQrvWCRJaQ8Lzv0mJzXVk4z2jlq8JNKMGaixC2Pz5L4l2p95TkuRvYbrEbe85NQsDKrAd4zalf7Ml6WiA==", + "version": "8.16.0", + "resolved": "https://registry.npmjs.org/pino/-/pino-8.16.0.tgz", + "integrity": "sha512-UUmvQ/7KTZt/vHjhRrnyS7h+J7qPBQnpG80V56xmIC+o9IqYmQOw/UIny9S9zYDfRBR0ClouCr464EkBMIT7Fw==", "dependencies": { "atomic-sleep": "^1.0.0", "fast-redact": "^3.1.1", @@ -18466,7 +18466,7 @@ "quick-format-unescaped": "^4.0.3", "real-require": "^0.2.0", "safe-stable-stringify": "^2.3.1", - "sonic-boom": "^3.1.0", + "sonic-boom": "^3.7.0", "thread-stream": "^2.0.0" }, "bin": { @@ -21498,9 +21498,9 @@ } }, "node_modules/sonic-boom": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.3.0.tgz", - "integrity": "sha512-LYxp34KlZ1a2Jb8ZQgFCK3niIHzibdwtwNUWKg0qQRzsDoJ3Gfgkf8KdBTFU3SkejDEIlWwnSnpVdOZIhFMl/g==", + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/sonic-boom/-/sonic-boom-3.7.0.tgz", + "integrity": "sha512-IudtNvSqA/ObjN97tfgNmOKyDOs4dNcg4cUUsHDebqsgb8wGBBwb31LIgShNO8fye0dFI52X1+tFoKKI6Rq1Gg==", "dependencies": { "atomic-sleep": "^1.0.0" } @@ -21631,14 +21631,6 @@ "node": ">= 0.4" } }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, "node_modules/streamx": { "version": "2.15.1", "resolved": "https://registry.npmjs.org/streamx/-/streamx-2.15.1.tgz", @@ -22334,9 +22326,9 @@ } }, "node_modules/toad-cache": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.2.0.tgz", - "integrity": "sha512-Hj5zSqBS6OHbZoQk9IU8VqIr+0JUpwzunnwSlFJhG8aJSInYUMEuzItl3kJsGteTPd1qtflafdRHlRtUazYeqg==", + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/toad-cache/-/toad-cache-3.3.0.tgz", + "integrity": "sha512-3oDzcogWGHZdkwrHyvJVpPjA7oNzY6ENOV3PsWJY9XYPZ6INo94Yd47s5may1U+nleBPwDhrRiTPMIvKaa3MQg==", "engines": { "node": ">=12" } @@ -22745,11 +22737,11 @@ "dev": true }, "node_modules/undici": { - "version": "5.24.0", - "resolved": "https://registry.npmjs.org/undici/-/undici-5.24.0.tgz", - "integrity": "sha512-OKlckxBjFl0oXxcj9FU6oB8fDAaiRUq+D8jrFWGmOfI/gIyjk/IeS75LMzgYKUaeHzLUcYvf9bbJGSrUwTfwwQ==", + "version": "5.26.3", + "resolved": "https://registry.npmjs.org/undici/-/undici-5.26.3.tgz", + "integrity": "sha512-H7n2zmKEWgOllKkIUkLvFmsJQj062lSm3uA4EYApG8gLuiOM0/go9bIoC3HVaSnfg4xunowDE2i9p8drkXuvDw==", "dependencies": { - "busboy": "^1.6.0" + "@fastify/busboy": "^2.0.0" }, "engines": { "node": ">=14.0"