Skip to content
Toggle navigation
Toggle navigation
This project
Loading...
Sign in
Administrator
/
chatgpt.ai-pro.org
Go to a project
Toggle navigation
Toggle navigation pinning
Projects
Groups
Snippets
Help
Project
Activity
Repository
Pipelines
Graphs
Issues
0
Merge Requests
3
Wiki
Network
Create a new issue
Builds
Commits
Issue Boards
Files
Commits
Network
Compare
Branches
Tags
e4b070db
authored
2024-05-03 14:25:43 +0800
by
Leff Tubat
Browse Files
Options
Browse Files
Tag
Download
Email Patches
Plain Diff
Added authorization function for api endpoint
1 parent
2530d769
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
722 additions
and
71 deletions
client/src/App.js
index.js
package-lock.json
package.json
client/src/App.js
View file @
e4b070d
...
...
@@ -72,8 +72,6 @@ function App() {
}
// eslint-disable-next-line
btutil_getChatUsage
();
// eslint-disable-next-line
let
maxTokens
=
btutilCommon_getCookie
(
"mucnxwlyxt"
);
if
(
maxTokens
===
'1'
){
return
;
...
...
@@ -134,6 +132,19 @@ function App() {
});
const
data
=
await
response
.
json
();
const
parsedData
=
data
.
message
.
trim
();
if
(
data
.
status
===
'invalid'
){
if
(
data
.
limited
)
{
window
.
btutil_modalRegisterUpgrade
();
return
;
}
if
(
data
&&
data
.
status
===
'max-tokens'
)
{
window
.
btutil_maxUsage
();
return
;
}
window
.
btutil_modalRegisterUpgrade
(
true
);
return
;
}
// "gpt-3.5-turbo"
let
chatLogTurboNew
=
chatLogTurbo
;
let
chatLogOpenSourceNew
=
chatLogOpenSource
;
...
...
@@ -144,9 +155,7 @@ function App() {
});
userModifiedInput
=
""
;
}
if
(
data
.
usage
)
{
window
.
btutil_setChatUsage
(
'chatbot+'
,
data
.
usage
.
prompt_tokens
,
data
.
usage
.
total_tokens
);
}
chatLogTurboNew
.
push
({
role
:
"user"
,
content
:
userModifiedInput
});
chatLogTurboNew
.
push
({
role
:
"assistant"
,
content
:
parsedData
});
...
...
index.js
View file @
e4b070d
const
{
Configuration
,
OpenAIApi
}
=
require
(
"openai"
);
const
express
=
require
(
'express'
)
const
bodyParser
=
require
(
'body-parser'
)
const
cookieParser
=
require
(
"cookie-parser"
)
const
cors
=
require
(
'cors'
)
require
(
'dotenv'
).
config
()
const
rateLimit
=
require
(
'express-rate-limit'
)
const
fetch
=
require
(
'node-fetch'
);
const
anchorme
=
require
(
"anchorme"
).
default
;
const
axios
=
require
(
'axios'
);
const
{
encodingForModel
}
=
require
(
'js-tiktoken'
);
...
...
@@ -68,19 +70,26 @@ app.use(bodyParser.json())
app
.
use
(
cors
())
app
.
use
(
require
(
'morgan'
)(
'dev'
))
app
.
use
(
rateLimiter
)
app
.
use
(
cookieParser
());
const
max_tokens
=
process
.
env
.
MAX_TOKENS_chatbot_plus
?
parseInt
(
process
.
env
.
MAX_TOKENS_chatbot_plus
)
:
512
;
// Routing
const
hostapi
=
process
.
env
.
REACT_APP_HOST_API
||
"https://api.ai-pro.org"
;
const
user_secret_id
=
process
.
env
.
USER_SECRET_ID
||
"aiwp_logged_in"
;
const
aiwp_app_id
=
"chatbot+"
;
// Primary Open AI Route
app
.
post
(
'/api'
,
async
(
req
,
res
)
=>
{
if
(
!
req
.
get
(
'origin'
)
||
(
!
req
.
get
(
'origin'
).
includes
(
req
.
get
(
'host'
))))
{
res
.
status
(
401
);
res
.
send
(
'Method Not Allowed'
);
return
;
}
//
if(!req.get('origin') || (!req.get('origin').includes(req.get('host')))) {
//
res.status(401);
//
res.send('Method Not Allowed');
//
return;
//
}
const
{
message
,
currentModel
,
temperature
}
=
req
.
body
;
const
validate
=
await
validation
(
aiwp_app_id
,
req
,
res
);
if
(
!
validate
)
return
;
const
{
IS_FREE_USER
,
aiwp_logged_in
,
TRIED_USAGE
}
=
validate
;
if
(
currentModel
==
"gpt-3.5-turbo"
||
currentModel
==
"gpt-3.5-turbo-0301"
)
{
runGPTTurbo
(
req
,
res
);
return
;
...
...
@@ -136,10 +145,15 @@ app.post('/api', async (req, res) => {
usage
.
prompt_tokens
=
(
enc
.
encode
(
query_prompt
)).
length
;
usage
.
completion_tokens
=
(
enc
.
encode
(
input
)).
length
;
usage
.
total_tokens
=
usage
.
prompt_tokens
+
usage
.
completion_tokens
;
}
catch
(
e
)
{
console
.
log
(
'Error encoding prompt text'
,
e
);
}
if
(
IS_FREE_USER
)
{
await
setUsage
({
aiwp_logged_in
,
app
:
'chatbot+'
,
prompt_token
:
usage
.
prompt_tokens
,
total_token
:
usage
.
total_tokens
,
aiwp_app_id
,
usage_tries
:
TRIED_USAGE
});
}
res
.
json
({
usage
:
usage
,
message
:
anchorme
({
...
...
@@ -303,6 +317,114 @@ async function runOpensource(req, res) {
}
}
async
function
authenticate
(
params
)
{
let
data
=
await
fetch
(
`
${
hostapi
}
/e/authenticate/v2`
,
{
method
:
"POST"
,
headers
:
{
"Content-Type"
:
"application/json"
},
body
:
JSON
.
stringify
(
params
),
referrer
:
"https://api.ai-pro.org"
});
return
await
data
.
json
();
}
async
function
getLimitedUsage
(
params
)
{
let
data
=
await
fetch
(
`
${
hostapi
}
/e/get-usage`
,
{
method
:
"POST"
,
headers
:
{
"Content-Type"
:
"application/json"
},
body
:
JSON
.
stringify
(
params
),
referrer
:
"https://api.ai-pro.org"
});
return
await
data
.
json
();
}
async
function
getUsage
(
params
)
{
let
data
=
await
fetch
(
`
${
hostapi
}
/e/get-chat-usage`
,
{
method
:
"POST"
,
headers
:
{
"Content-Type"
:
"application/json"
},
body
:
JSON
.
stringify
(
params
),
referrer
:
"https://api.ai-pro.org"
});
return
await
data
.
json
();
}
async
function
setUsage
(
params
)
{
fetch
(
`
${
hostapi
}
/e/set-usage`
,
{
method
:
"POST"
,
headers
:
{
"Content-Type"
:
"application/json"
},
body
:
JSON
.
stringify
(
params
),
referrer
:
"https://api.ai-pro.org"
});
fetch
(
`
${
hostapi
}
/e/set-chat-usage`
,
{
method
:
"POST"
,
headers
:
{
"Content-Type"
:
"application/json"
},
body
:
JSON
.
stringify
(
params
),
referrer
:
"https://api.ai-pro.org"
});
}
async
function
validation
(
aiwp_app_id
,
req
,
res
)
{
const
aiwp_logged_in
=
req
.
cookies
[
user_secret_id
]
?
decodeURIComponent
(
req
.
cookies
[
user_secret_id
])
:
""
;
const
limit
=
req
.
cookies
[
"WcvYPABR"
]
?
parseInt
(
req
.
cookies
[
"WcvYPABR"
].
replace
(
/
\D
/g
,
''
))
:
3
;
let
IS_FREE_USER
=
false
;
let
TRIED_USAGE
=
0
;
if
(
aiwp_logged_in
)
{
let
auth
=
await
authenticate
({
aiwp_logged_in
,
user_event_data
:
{},
user_event
:
'endpoint'
});
if
(
!
auth
.
success
)
{
IS_FREE_USER
=
true
;
if
(
auth
.
is_restrict
)
{
res
.
json
({
status
:
"invalid"
,
restrict
:
true
,
redirect
:
auth
.
redirect
});
res
.
end
();
return
false
;
}
else
if
(
typeof
auth
.
has_pro_access
===
"undefined"
&&
!
auth
.
has_pro_access
)
{
res
.
json
({
status
:
"invalid"
,
restrict
:
true
});
res
.
end
();
return
false
;
}
}
if
(
!
auth
.
subscription_type
||
(
auth
.
auth_version
===
'v2'
&&
auth
.
subscription_type
.
toLowerCase
()
===
'basic'
))
{
res
.
json
({
status
:
"invalid"
});
res
.
status
(
200
);
return
false
;
}
let
data
=
await
getUsage
({
aiwp_logged_in
,
app
:
'chatbot+'
});
if
(
!
(
data
.
success
===
1
&&
data
.
status
===
'valid'
))
{
res
.
json
({
status
:
"invalid"
,
data
});
res
.
status
(
200
);
return
false
;
}
}
else
{
IS_FREE_USER
=
true
;
let
data
=
await
getLimitedUsage
({
aiwp_app_id
});
if
(
data
.
usage
!==
null
)
{
TRIED_USAGE
=
parseInt
(
data
.
usage
);
}
return
{
IS_FREE_USER
,
aiwp_logged_in
,
TRIED_USAGE
};
}
if
(
IS_FREE_USER
&&
TRIED_USAGE
>=
limit
)
{
res
.
json
({
status
:
"invalid"
,
limited
:
true
});
res
.
end
();
return
false
;
}
if
(
IS_FREE_USER
)
TRIED_USAGE
++
;
return
{
IS_FREE_USER
,
aiwp_logged_in
,
TRIED_USAGE
};
};
// Get Models Route
...
...
package-lock.json
View file @
e4b070d
...
...
@@ -13,16 +13,24 @@
"axios"
:
"^1.5.1"
,
"body-parser"
:
"^1.20.1"
,
"cookie"
:
"0.5.0"
,
"cookie-parser"
:
"1.4.6"
,
"cookie-parser"
:
"
^
1.4.6"
,
"cors"
:
"^2.8.5"
,
"dotenv"
:
"^16.0.3"
,
"express"
:
"^4.18.2"
,
"express-rate-limit"
:
"^6.7.0"
,
"js-cookie"
:
"^3.0.5"
,
"js-tiktoken"
:
"1.0.7"
,
"morgan"
:
"^1.10.0"
,
"node-fetch"
:
"^2.7.0"
,
"nodemon"
:
"^3.1.0"
,
"openai"
:
"^3.2.0"
}
},
"node_modules/abbrev"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz"
,
"integrity"
:
"sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q=="
},
"node_modules/accepts"
:
{
"version"
:
"1.3.8"
,
"resolved"
:
"https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz"
,
...
...
@@ -40,6 +48,18 @@
"resolved"
:
"https://registry.npmjs.org/anchorme/-/anchorme-2.1.2.tgz"
,
"integrity"
:
"sha512-2iPY3kxDDZvtRzauqKDb4v7a5sTF4GZ+esQTY8nGYvmhAtGTeFPMn4cRnvyWS1qmtPTP0Mv8hyLOp9l3ZzWMKg=="
},
"node_modules/anymatch"
:
{
"version"
:
"3.1.3"
,
"resolved"
:
"https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz"
,
"integrity"
:
"sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw=="
,
"dependencies"
:
{
"normalize-path"
:
"^3.0.0"
,
"picomatch"
:
"^2.0.4"
},
"engines"
:
{
"node"
:
">= 8"
}
},
"node_modules/array-flatten"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz"
,
...
...
@@ -51,15 +71,20 @@
"integrity"
:
"sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q=="
},
"node_modules/axios"
:
{
"version"
:
"1.6.
2
"
,
"resolved"
:
"https://registry.npmjs.org/axios/-/axios-1.6.
2
.tgz"
,
"integrity"
:
"sha512-
7i24Ri4pmDRfJTR7LDBhsOTtcm+9kjX5WiY1X3wIisx6G9So3pfMkEiU7emUBe46oceVImccTEM3k6C5dbVW8A
=="
,
"version"
:
"1.6.
8
"
,
"resolved"
:
"https://registry.npmjs.org/axios/-/axios-1.6.
8
.tgz"
,
"integrity"
:
"sha512-
v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ
=="
,
"dependencies"
:
{
"follow-redirects"
:
"^1.15.
0
"
,
"follow-redirects"
:
"^1.15.
6
"
,
"form-data"
:
"^4.0.0"
,
"proxy-from-env"
:
"^1.1.0"
}
},
"node_modules/balanced-match"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz"
,
"integrity"
:
"sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
},
"node_modules/base64-js"
:
{
"version"
:
"1.5.1"
,
"resolved"
:
"https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz"
,
...
...
@@ -95,13 +120,24 @@
"resolved"
:
"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz"
,
"integrity"
:
"sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g=="
},
"node_modules/binary-extensions"
:
{
"version"
:
"2.3.0"
,
"resolved"
:
"https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz"
,
"integrity"
:
"sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw=="
,
"engines"
:
{
"node"
:
">=8"
},
"funding"
:
{
"url"
:
"https://github.com/sponsors/sindresorhus"
}
},
"node_modules/body-parser"
:
{
"version"
:
"1.20.
1
"
,
"resolved"
:
"https://registry.npmjs.org/body-parser/-/body-parser-1.20.
1
.tgz"
,
"integrity"
:
"sha512-
jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw
=="
,
"version"
:
"1.20.
2
"
,
"resolved"
:
"https://registry.npmjs.org/body-parser/-/body-parser-1.20.
2
.tgz"
,
"integrity"
:
"sha512-
ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA
=="
,
"dependencies"
:
{
"bytes"
:
"3.1.2"
,
"content-type"
:
"~1.0.
4
"
,
"content-type"
:
"~1.0.
5
"
,
"debug"
:
"2.6.9"
,
"depd"
:
"2.0.0"
,
"destroy"
:
"1.2.0"
,
...
...
@@ -109,7 +145,7 @@
"iconv-lite"
:
"0.4.24"
,
"on-finished"
:
"2.4.1"
,
"qs"
:
"6.11.0"
,
"raw-body"
:
"2.5.
1
"
,
"raw-body"
:
"2.5.
2
"
,
"type-is"
:
"~1.6.18"
,
"unpipe"
:
"1.0.0"
},
...
...
@@ -118,6 +154,26 @@
"npm"
:
"1.2.8000 || >= 1.4.16"
}
},
"node_modules/brace-expansion"
:
{
"version"
:
"1.1.11"
,
"resolved"
:
"https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz"
,
"integrity"
:
"sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA=="
,
"dependencies"
:
{
"balanced-match"
:
"^1.0.0"
,
"concat-map"
:
"0.0.1"
}
},
"node_modules/braces"
:
{
"version"
:
"3.0.2"
,
"resolved"
:
"https://registry.npmjs.org/braces/-/braces-3.0.2.tgz"
,
"integrity"
:
"sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A=="
,
"dependencies"
:
{
"fill-range"
:
"^7.0.1"
},
"engines"
:
{
"node"
:
">=8"
}
},
"node_modules/bytes"
:
{
"version"
:
"3.1.2"
,
"resolved"
:
"https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz"
,
...
...
@@ -127,17 +183,46 @@
}
},
"node_modules/call-bind"
:
{
"version"
:
"1.0.
2
"
,
"resolved"
:
"https://registry.npmjs.org/call-bind/-/call-bind-1.0.
2
.tgz"
,
"integrity"
:
"sha512-
7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA
=="
,
"version"
:
"1.0.
7
"
,
"resolved"
:
"https://registry.npmjs.org/call-bind/-/call-bind-1.0.
7
.tgz"
,
"integrity"
:
"sha512-
GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w
=="
,
"dependencies"
:
{
"function-bind"
:
"^1.1.1"
,
"get-intrinsic"
:
"^1.0.2"
"es-define-property"
:
"^1.0.0"
,
"es-errors"
:
"^1.3.0"
,
"function-bind"
:
"^1.1.2"
,
"get-intrinsic"
:
"^1.2.4"
,
"set-function-length"
:
"^1.2.1"
},
"engines"
:
{
"node"
:
">= 0.4"
},
"funding"
:
{
"url"
:
"https://github.com/sponsors/ljharb"
}
},
"node_modules/chokidar"
:
{
"version"
:
"3.6.0"
,
"resolved"
:
"https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz"
,
"integrity"
:
"sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw=="
,
"dependencies"
:
{
"anymatch"
:
"~3.1.2"
,
"braces"
:
"~3.0.2"
,
"glob-parent"
:
"~5.1.2"
,
"is-binary-path"
:
"~2.1.0"
,
"is-glob"
:
"~4.0.1"
,
"normalize-path"
:
"~3.0.0"
,
"readdirp"
:
"~3.6.0"
},
"engines"
:
{
"node"
:
">= 8.10.0"
},
"funding"
:
{
"url"
:
"https://paulmillr.com/funding/"
},
"optionalDependencies"
:
{
"fsevents"
:
"~2.3.2"
}
},
"node_modules/combined-stream"
:
{
"version"
:
"1.0.8"
,
"resolved"
:
"https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz"
,
...
...
@@ -149,6 +234,11 @@
"node"
:
">= 0.8"
}
},
"node_modules/concat-map"
:
{
"version"
:
"0.0.1"
,
"resolved"
:
"https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz"
,
"integrity"
:
"sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg=="
},
"node_modules/content-disposition"
:
{
"version"
:
"0.5.4"
,
"resolved"
:
"https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz"
,
...
...
@@ -221,6 +311,22 @@
"ms"
:
"2.0.0"
}
},
"node_modules/define-data-property"
:
{
"version"
:
"1.1.4"
,
"resolved"
:
"https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz"
,
"integrity"
:
"sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A=="
,
"dependencies"
:
{
"es-define-property"
:
"^1.0.0"
,
"es-errors"
:
"^1.3.0"
,
"gopd"
:
"^1.0.1"
},
"engines"
:
{
"node"
:
">= 0.4"
},
"funding"
:
{
"url"
:
"https://github.com/sponsors/ljharb"
}
},
"node_modules/delayed-stream"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz"
,
...
...
@@ -247,11 +353,14 @@
}
},
"node_modules/dotenv"
:
{
"version"
:
"16.
0.3
"
,
"resolved"
:
"https://registry.npmjs.org/dotenv/-/dotenv-16.
0.3
.tgz"
,
"integrity"
:
"sha512-
7GO6HghkA5fYG9TYnNxi14/7K9f5occMlp3zXAuSxn7CKCxt9xbNWG7yF8hTCSUchlfWSe3uLmlPfigevRItzQ
=="
,
"version"
:
"16.
4.5
"
,
"resolved"
:
"https://registry.npmjs.org/dotenv/-/dotenv-16.
4.5
.tgz"
,
"integrity"
:
"sha512-
ZmdL2rui+eB2YwhsWzjInR8LldtZHGDoQ1ugH85ppHKwpUHL7j7rN0Ti9NCnGiQbhaZ11FpR+7ao1dNsmduNUg
=="
,
"engines"
:
{
"node"
:
">=12"
},
"funding"
:
{
"url"
:
"https://dotenvx.com"
}
},
"node_modules/ee-first"
:
{
...
...
@@ -267,6 +376,25 @@
"node"
:
">= 0.8"
}
},
"node_modules/es-define-property"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz"
,
"integrity"
:
"sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ=="
,
"dependencies"
:
{
"get-intrinsic"
:
"^1.2.4"
},
"engines"
:
{
"node"
:
">= 0.4"
}
},
"node_modules/es-errors"
:
{
"version"
:
"1.3.0"
,
"resolved"
:
"https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz"
,
"integrity"
:
"sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
,
"engines"
:
{
"node"
:
">= 0.4"
}
},
"node_modules/escape-html"
:
{
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz"
,
...
...
@@ -281,16 +409,16 @@
}
},
"node_modules/express"
:
{
"version"
:
"4.1
8
.2"
,
"resolved"
:
"https://registry.npmjs.org/express/-/express-4.1
8
.2.tgz"
,
"integrity"
:
"sha512-5
/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMq
Q=="
,
"version"
:
"4.1
9
.2"
,
"resolved"
:
"https://registry.npmjs.org/express/-/express-4.1
9
.2.tgz"
,
"integrity"
:
"sha512-5
T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9
Q=="
,
"dependencies"
:
{
"accepts"
:
"~1.3.8"
,
"array-flatten"
:
"1.1.1"
,
"body-parser"
:
"1.20.
1
"
,
"body-parser"
:
"1.20.
2
"
,
"content-disposition"
:
"0.5.4"
,
"content-type"
:
"~1.0.4"
,
"cookie"
:
"0.
5
.0"
,
"cookie"
:
"0.
6
.0"
,
"cookie-signature"
:
"1.0.6"
,
"debug"
:
"2.6.9"
,
"depd"
:
"2.0.0"
,
...
...
@@ -322,9 +450,9 @@
}
},
"node_modules/express-rate-limit"
:
{
"version"
:
"6.11.
1
"
,
"resolved"
:
"https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.11.
1
.tgz"
,
"integrity"
:
"sha512-
8+UpWtQY25lJaa4+3WxDBGDcAu4atcTruSs3QSL5VPEplYy6kmk84wutG9rUkkK5LmMQQ7TFHWLZYITwVNbbEg
=="
,
"version"
:
"6.11.
2
"
,
"resolved"
:
"https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-6.11.
2
.tgz"
,
"integrity"
:
"sha512-
a7uwwfNTh1U60ssiIkuLFWHt4hAC5yxlLGU2VP0X4YNlyEDZAqF4tK3GD3NSitVBrCQmQ0++0uOyFOgC2y4DDw
=="
,
"engines"
:
{
"node"
:
">= 14"
},
...
...
@@ -332,6 +460,25 @@
"express"
:
"^4 || ^5"
}
},
"node_modules/express/node_modules/cookie"
:
{
"version"
:
"0.6.0"
,
"resolved"
:
"https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz"
,
"integrity"
:
"sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw=="
,
"engines"
:
{
"node"
:
">= 0.6"
}
},
"node_modules/fill-range"
:
{
"version"
:
"7.0.1"
,
"resolved"
:
"https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz"
,
"integrity"
:
"sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ=="
,
"dependencies"
:
{
"to-regex-range"
:
"^5.0.1"
},
"engines"
:
{
"node"
:
">=8"
}
},
"node_modules/finalhandler"
:
{
"version"
:
"1.2.0"
,
"resolved"
:
"https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz"
,
...
...
@@ -350,9 +497,9 @@
}
},
"node_modules/follow-redirects"
:
{
"version"
:
"1.15.
2
"
,
"resolved"
:
"https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.
2
.tgz"
,
"integrity"
:
"sha512-
VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91Jw
A=="
,
"version"
:
"1.15.
6
"
,
"resolved"
:
"https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.
6
.tgz"
,
"integrity"
:
"sha512-
wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqF
A=="
,
"funding"
:
[
{
"type"
:
"individual"
,
...
...
@@ -397,33 +544,95 @@
"node"
:
">= 0.6"
}
},
"node_modules/fsevents"
:
{
"version"
:
"2.3.3"
,
"resolved"
:
"https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz"
,
"integrity"
:
"sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="
,
"hasInstallScript"
:
true
,
"optional"
:
true
,
"os"
:
[
"darwin"
],
"engines"
:
{
"node"
:
"^8.16.0 || ^10.6.0 || >=11.0.0"
}
},
"node_modules/function-bind"
:
{
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
,
"integrity"
:
"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz"
,
"integrity"
:
"sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA=="
,
"funding"
:
{
"url"
:
"https://github.com/sponsors/ljharb"
}
},
"node_modules/get-intrinsic"
:
{
"version"
:
"1.2.
0
"
,
"resolved"
:
"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.
0
.tgz"
,
"integrity"
:
"sha512-
L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0
Q=="
,
"version"
:
"1.2.
4
"
,
"resolved"
:
"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.
4
.tgz"
,
"integrity"
:
"sha512-
5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBR
Q=="
,
"dependencies"
:
{
"function-bind"
:
"^1.1.1"
,
"has"
:
"^1.0.3"
,
"has-symbols"
:
"^1.0.3"
"es-errors"
:
"^1.3.0"
,
"function-bind"
:
"^1.1.2"
,
"has-proto"
:
"^1.0.1"
,
"has-symbols"
:
"^1.0.3"
,
"hasown"
:
"^2.0.0"
},
"engines"
:
{
"node"
:
">= 0.4"
},
"funding"
:
{
"url"
:
"https://github.com/sponsors/ljharb"
}
},
"node_modules/
has
"
:
{
"version"
:
"
1.0.3
"
,
"resolved"
:
"https://registry.npmjs.org/
has/-/has-1.0.3
.tgz"
,
"integrity"
:
"sha512-
f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4z
w=="
,
"node_modules/
glob-parent
"
:
{
"version"
:
"
5.1.2
"
,
"resolved"
:
"https://registry.npmjs.org/
glob-parent/-/glob-parent-5.1.2
.tgz"
,
"integrity"
:
"sha512-
AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zo
w=="
,
"dependencies"
:
{
"
function-bind"
:
"^1.1
.1"
"
is-glob"
:
"^4.0
.1"
},
"engines"
:
{
"node"
:
">= 0.4.0"
"node"
:
">= 6"
}
},
"node_modules/gopd"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz"
,
"integrity"
:
"sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA=="
,
"dependencies"
:
{
"get-intrinsic"
:
"^1.1.3"
},
"funding"
:
{
"url"
:
"https://github.com/sponsors/ljharb"
}
},
"node_modules/has-flag"
:
{
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz"
,
"integrity"
:
"sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
,
"engines"
:
{
"node"
:
">=4"
}
},
"node_modules/has-property-descriptors"
:
{
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz"
,
"integrity"
:
"sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg=="
,
"dependencies"
:
{
"es-define-property"
:
"^1.0.0"
},
"funding"
:
{
"url"
:
"https://github.com/sponsors/ljharb"
}
},
"node_modules/has-proto"
:
{
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz"
,
"integrity"
:
"sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q=="
,
"engines"
:
{
"node"
:
">= 0.4"
},
"funding"
:
{
"url"
:
"https://github.com/sponsors/ljharb"
}
},
"node_modules/has-symbols"
:
{
...
...
@@ -437,6 +646,17 @@
"url"
:
"https://github.com/sponsors/ljharb"
}
},
"node_modules/hasown"
:
{
"version"
:
"2.0.2"
,
"resolved"
:
"https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz"
,
"integrity"
:
"sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ=="
,
"dependencies"
:
{
"function-bind"
:
"^1.1.2"
},
"engines"
:
{
"node"
:
">= 0.4"
}
},
"node_modules/http-errors"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz"
,
...
...
@@ -463,6 +683,11 @@
"node"
:
">=0.10.0"
}
},
"node_modules/ignore-by-default"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/ignore-by-default/-/ignore-by-default-1.0.1.tgz"
,
"integrity"
:
"sha512-Ius2VYcGNk7T90CppJqcIkS5ooHUZyIQK+ClZfMfMNFEF9VSE73Fq+906u/CWu92x4gzZMWOwfFYckPObzdEbA=="
},
"node_modules/inherits"
:
{
"version"
:
"2.0.4"
,
"resolved"
:
"https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz"
,
...
...
@@ -476,6 +701,52 @@
"node"
:
">= 0.10"
}
},
"node_modules/is-binary-path"
:
{
"version"
:
"2.1.0"
,
"resolved"
:
"https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz"
,
"integrity"
:
"sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw=="
,
"dependencies"
:
{
"binary-extensions"
:
"^2.0.0"
},
"engines"
:
{
"node"
:
">=8"
}
},
"node_modules/is-extglob"
:
{
"version"
:
"2.1.1"
,
"resolved"
:
"https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz"
,
"integrity"
:
"sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ=="
,
"engines"
:
{
"node"
:
">=0.10.0"
}
},
"node_modules/is-glob"
:
{
"version"
:
"4.0.3"
,
"resolved"
:
"https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz"
,
"integrity"
:
"sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg=="
,
"dependencies"
:
{
"is-extglob"
:
"^2.1.1"
},
"engines"
:
{
"node"
:
">=0.10.0"
}
},
"node_modules/is-number"
:
{
"version"
:
"7.0.0"
,
"resolved"
:
"https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz"
,
"integrity"
:
"sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng=="
,
"engines"
:
{
"node"
:
">=0.12.0"
}
},
"node_modules/js-cookie"
:
{
"version"
:
"3.0.5"
,
"resolved"
:
"https://registry.npmjs.org/js-cookie/-/js-cookie-3.0.5.tgz"
,
"integrity"
:
"sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw=="
,
"engines"
:
{
"node"
:
">=14"
}
},
"node_modules/js-tiktoken"
:
{
"version"
:
"1.0.7"
,
"resolved"
:
"https://registry.npmjs.org/js-tiktoken/-/js-tiktoken-1.0.7.tgz"
,
...
...
@@ -484,6 +755,17 @@
"base64-js"
:
"^1.5.1"
}
},
"node_modules/lru-cache"
:
{
"version"
:
"6.0.0"
,
"resolved"
:
"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz"
,
"integrity"
:
"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="
,
"dependencies"
:
{
"yallist"
:
"^4.0.0"
},
"engines"
:
{
"node"
:
">=10"
}
},
"node_modules/media-typer"
:
{
"version"
:
"0.3.0"
,
"resolved"
:
"https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
,
...
...
@@ -535,6 +817,17 @@
"node"
:
">= 0.6"
}
},
"node_modules/minimatch"
:
{
"version"
:
"3.1.2"
,
"resolved"
:
"https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz"
,
"integrity"
:
"sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw=="
,
"dependencies"
:
{
"brace-expansion"
:
"^1.1.7"
},
"engines"
:
{
"node"
:
"*"
}
},
"node_modules/morgan"
:
{
"version"
:
"1.10.0"
,
"resolved"
:
"https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz"
,
...
...
@@ -574,6 +867,95 @@
"node"
:
">= 0.6"
}
},
"node_modules/node-fetch"
:
{
"version"
:
"2.7.0"
,
"resolved"
:
"https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz"
,
"integrity"
:
"sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A=="
,
"dependencies"
:
{
"whatwg-url"
:
"^5.0.0"
},
"engines"
:
{
"node"
:
"4.x || >=6.0.0"
},
"peerDependencies"
:
{
"encoding"
:
"^0.1.0"
},
"peerDependenciesMeta"
:
{
"encoding"
:
{
"optional"
:
true
}
}
},
"node_modules/nodemon"
:
{
"version"
:
"3.1.0"
,
"resolved"
:
"https://registry.npmjs.org/nodemon/-/nodemon-3.1.0.tgz"
,
"integrity"
:
"sha512-xqlktYlDMCepBJd43ZQhjWwMw2obW/JRvkrLxq5RCNcuDDX1DbcPT+qT1IlIIdf+DhnWs90JpTMe+Y5KxOchvA=="
,
"dependencies"
:
{
"chokidar"
:
"^3.5.2"
,
"debug"
:
"^4"
,
"ignore-by-default"
:
"^1.0.1"
,
"minimatch"
:
"^3.1.2"
,
"pstree.remy"
:
"^1.1.8"
,
"semver"
:
"^7.5.3"
,
"simple-update-notifier"
:
"^2.0.0"
,
"supports-color"
:
"^5.5.0"
,
"touch"
:
"^3.1.0"
,
"undefsafe"
:
"^2.0.5"
},
"bin"
:
{
"nodemon"
:
"bin/nodemon.js"
},
"engines"
:
{
"node"
:
">=10"
},
"funding"
:
{
"type"
:
"opencollective"
,
"url"
:
"https://opencollective.com/nodemon"
}
},
"node_modules/nodemon/node_modules/debug"
:
{
"version"
:
"4.3.4"
,
"resolved"
:
"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
,
"integrity"
:
"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
,
"dependencies"
:
{
"ms"
:
"2.1.2"
},
"engines"
:
{
"node"
:
">=6.0"
},
"peerDependenciesMeta"
:
{
"supports-color"
:
{
"optional"
:
true
}
}
},
"node_modules/nodemon/node_modules/ms"
:
{
"version"
:
"2.1.2"
,
"resolved"
:
"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
,
"integrity"
:
"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
},
"node_modules/nopt"
:
{
"version"
:
"1.0.10"
,
"resolved"
:
"https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz"
,
"integrity"
:
"sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg=="
,
"dependencies"
:
{
"abbrev"
:
"1"
},
"bin"
:
{
"nopt"
:
"bin/nopt.js"
},
"engines"
:
{
"node"
:
"*"
}
},
"node_modules/normalize-path"
:
{
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz"
,
"integrity"
:
"sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA=="
,
"engines"
:
{
"node"
:
">=0.10.0"
}
},
"node_modules/object-assign"
:
{
"version"
:
"4.1.1"
,
"resolved"
:
"https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz"
,
...
...
@@ -583,9 +965,9 @@
}
},
"node_modules/object-inspect"
:
{
"version"
:
"1.1
2.3
"
,
"resolved"
:
"https://registry.npmjs.org/object-inspect/-/object-inspect-1.1
2.3
.tgz"
,
"integrity"
:
"sha512-
geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g
=="
,
"version"
:
"1.1
3.1
"
,
"resolved"
:
"https://registry.npmjs.org/object-inspect/-/object-inspect-1.1
3.1
.tgz"
,
"integrity"
:
"sha512-
5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ
=="
,
"funding"
:
{
"url"
:
"https://github.com/sponsors/ljharb"
}
...
...
@@ -639,6 +1021,17 @@
"resolved"
:
"https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz"
,
"integrity"
:
"sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ=="
},
"node_modules/picomatch"
:
{
"version"
:
"2.3.1"
,
"resolved"
:
"https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz"
,
"integrity"
:
"sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
,
"engines"
:
{
"node"
:
">=8.6"
},
"funding"
:
{
"url"
:
"https://github.com/sponsors/jonschlinkert"
}
},
"node_modules/proxy-addr"
:
{
"version"
:
"2.0.7"
,
"resolved"
:
"https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz"
,
...
...
@@ -656,6 +1049,11 @@
"resolved"
:
"https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz"
,
"integrity"
:
"sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg=="
},
"node_modules/pstree.remy"
:
{
"version"
:
"1.1.8"
,
"resolved"
:
"https://registry.npmjs.org/pstree.remy/-/pstree.remy-1.1.8.tgz"
,
"integrity"
:
"sha512-77DZwxQmxKnu3aR542U+X8FypNzbfJ+C5XQDk3uWjWxn6151aIMGthWYRXTqT1E5oJvg+ljaa2OJi+VfvCOQ8w=="
},
"node_modules/qs"
:
{
"version"
:
"6.11.0"
,
"resolved"
:
"https://registry.npmjs.org/qs/-/qs-6.11.0.tgz"
,
...
...
@@ -679,9 +1077,9 @@
}
},
"node_modules/raw-body"
:
{
"version"
:
"2.5.
1
"
,
"resolved"
:
"https://registry.npmjs.org/raw-body/-/raw-body-2.5.
1
.tgz"
,
"integrity"
:
"sha512-
qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig
=="
,
"version"
:
"2.5.
2
"
,
"resolved"
:
"https://registry.npmjs.org/raw-body/-/raw-body-2.5.
2
.tgz"
,
"integrity"
:
"sha512-
8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA
=="
,
"dependencies"
:
{
"bytes"
:
"3.1.2"
,
"http-errors"
:
"2.0.0"
,
...
...
@@ -692,6 +1090,17 @@
"node"
:
">= 0.8"
}
},
"node_modules/readdirp"
:
{
"version"
:
"3.6.0"
,
"resolved"
:
"https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz"
,
"integrity"
:
"sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA=="
,
"dependencies"
:
{
"picomatch"
:
"^2.2.1"
},
"engines"
:
{
"node"
:
">=8.10.0"
}
},
"node_modules/safe-buffer"
:
{
"version"
:
"5.2.1"
,
"resolved"
:
"https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz"
,
...
...
@@ -716,6 +1125,20 @@
"resolved"
:
"https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz"
,
"integrity"
:
"sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/semver"
:
{
"version"
:
"7.6.0"
,
"resolved"
:
"https://registry.npmjs.org/semver/-/semver-7.6.0.tgz"
,
"integrity"
:
"sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg=="
,
"dependencies"
:
{
"lru-cache"
:
"^6.0.0"
},
"bin"
:
{
"semver"
:
"bin/semver.js"
},
"engines"
:
{
"node"
:
">=10"
}
},
"node_modules/send"
:
{
"version"
:
"0.18.0"
,
"resolved"
:
"https://registry.npmjs.org/send/-/send-0.18.0.tgz"
,
...
...
@@ -758,24 +1181,55 @@
"node"
:
">= 0.8.0"
}
},
"node_modules/set-function-length"
:
{
"version"
:
"1.2.2"
,
"resolved"
:
"https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz"
,
"integrity"
:
"sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg=="
,
"dependencies"
:
{
"define-data-property"
:
"^1.1.4"
,
"es-errors"
:
"^1.3.0"
,
"function-bind"
:
"^1.1.2"
,
"get-intrinsic"
:
"^1.2.4"
,
"gopd"
:
"^1.0.1"
,
"has-property-descriptors"
:
"^1.0.2"
},
"engines"
:
{
"node"
:
">= 0.4"
}
},
"node_modules/setprototypeof"
:
{
"version"
:
"1.2.0"
,
"resolved"
:
"https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz"
,
"integrity"
:
"sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw=="
},
"node_modules/side-channel"
:
{
"version"
:
"1.0.
4
"
,
"resolved"
:
"https://registry.npmjs.org/side-channel/-/side-channel-1.0.
4
.tgz"
,
"integrity"
:
"sha512-
q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw
=="
,
"version"
:
"1.0.
6
"
,
"resolved"
:
"https://registry.npmjs.org/side-channel/-/side-channel-1.0.
6
.tgz"
,
"integrity"
:
"sha512-
fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA
=="
,
"dependencies"
:
{
"call-bind"
:
"^1.0.0"
,
"get-intrinsic"
:
"^1.0.2"
,
"object-inspect"
:
"^1.9.0"
"call-bind"
:
"^1.0.7"
,
"es-errors"
:
"^1.3.0"
,
"get-intrinsic"
:
"^1.2.4"
,
"object-inspect"
:
"^1.13.1"
},
"engines"
:
{
"node"
:
">= 0.4"
},
"funding"
:
{
"url"
:
"https://github.com/sponsors/ljharb"
}
},
"node_modules/simple-update-notifier"
:
{
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/simple-update-notifier/-/simple-update-notifier-2.0.0.tgz"
,
"integrity"
:
"sha512-a2B9Y0KlNXl9u/vsW6sTIu9vGEpfKu2wRV6l1H3XEas/0gUIzGzBoP/IouTcUQbm9JWZLH3COxyn03TYlFax6w=="
,
"dependencies"
:
{
"semver"
:
"^7.5.3"
},
"engines"
:
{
"node"
:
">=10"
}
},
"node_modules/statuses"
:
{
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz"
,
...
...
@@ -784,6 +1238,28 @@
"node"
:
">= 0.8"
}
},
"node_modules/supports-color"
:
{
"version"
:
"5.5.0"
,
"resolved"
:
"https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz"
,
"integrity"
:
"sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow=="
,
"dependencies"
:
{
"has-flag"
:
"^3.0.0"
},
"engines"
:
{
"node"
:
">=4"
}
},
"node_modules/to-regex-range"
:
{
"version"
:
"5.0.1"
,
"resolved"
:
"https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz"
,
"integrity"
:
"sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ=="
,
"dependencies"
:
{
"is-number"
:
"^7.0.0"
},
"engines"
:
{
"node"
:
">=8.0"
}
},
"node_modules/toidentifier"
:
{
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz"
,
...
...
@@ -792,6 +1268,22 @@
"node"
:
">=0.6"
}
},
"node_modules/touch"
:
{
"version"
:
"3.1.0"
,
"resolved"
:
"https://registry.npmjs.org/touch/-/touch-3.1.0.tgz"
,
"integrity"
:
"sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA=="
,
"dependencies"
:
{
"nopt"
:
"~1.0.10"
},
"bin"
:
{
"nodetouch"
:
"bin/nodetouch.js"
}
},
"node_modules/tr46"
:
{
"version"
:
"0.0.3"
,
"resolved"
:
"https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz"
,
"integrity"
:
"sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
},
"node_modules/type-is"
:
{
"version"
:
"1.6.18"
,
"resolved"
:
"https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz"
,
...
...
@@ -804,6 +1296,11 @@
"node"
:
">= 0.6"
}
},
"node_modules/undefsafe"
:
{
"version"
:
"2.0.5"
,
"resolved"
:
"https://registry.npmjs.org/undefsafe/-/undefsafe-2.0.5.tgz"
,
"integrity"
:
"sha512-WxONCrssBM8TSPRqN5EmsjVrsv4A8X12J4ArBiiayv3DyyG3ZlIg6yysuuSYdZsVz3TKcTg2fd//Ujd4CHV1iA=="
},
"node_modules/unpipe"
:
{
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz"
,
...
...
@@ -827,6 +1324,25 @@
"engines"
:
{
"node"
:
">= 0.8"
}
},
"node_modules/webidl-conversions"
:
{
"version"
:
"3.0.1"
,
"resolved"
:
"https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz"
,
"integrity"
:
"sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
},
"node_modules/whatwg-url"
:
{
"version"
:
"5.0.0"
,
"resolved"
:
"https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz"
,
"integrity"
:
"sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw=="
,
"dependencies"
:
{
"tr46"
:
"~0.0.3"
,
"webidl-conversions"
:
"^3.0.0"
}
},
"node_modules/yallist"
:
{
"version"
:
"4.0.0"
,
"resolved"
:
"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
,
"integrity"
:
"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
}
}
}
...
...
package.json
View file @
e4b070d
...
...
@@ -5,22 +5,26 @@
"main"
:
"index.js"
,
"scripts"
:
{
"test"
:
"echo
\"
Error: no test specified
\"
&& exit 1"
,
"start"
:
"node index.js"
"start"
:
"node index.js"
,
"dev"
:
"nodemon index.js"
},
"author"
:
""
,
"license"
:
"ISC"
,
"dependencies"
:
{
"js-tiktoken"
:
"1.0.7"
,
"anchorme"
:
"^2.1.2"
,
"axios"
:
"^1.5.1"
,
"body-parser"
:
"^1.20.1"
,
"cookie"
:
"0.5.0"
,
"cookie-parser"
:
"1.4.6"
,
"cookie-parser"
:
"
^
1.4.6"
,
"cors"
:
"^2.8.5"
,
"dotenv"
:
"^16.0.3"
,
"express"
:
"^4.18.2"
,
"express-rate-limit"
:
"^6.7.0"
,
"js-cookie"
:
"^3.0.5"
,
"js-tiktoken"
:
"1.0.7"
,
"morgan"
:
"^1.10.0"
,
"node-fetch"
:
"^2.7.0"
,
"nodemon"
:
"^3.1.0"
,
"openai"
:
"^3.2.0"
}
}
...
...
Write
Preview
Styling with
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment