feat: AI-generated summary
This commit is contained in:
parent
5b2bf56aee
commit
db7574f99b
|
|
@ -60,6 +60,7 @@
|
|||
"ioredis": "5.3.1",
|
||||
"js-yaml": "4.1.0",
|
||||
"jsonfeed-to-rss": "^3.0.6",
|
||||
"langchain": "^0.0.20",
|
||||
"lottie-react": "^2.4.0",
|
||||
"mdast-util-to-string": "3.1.1",
|
||||
"mdast-util-toc": "6.1.1",
|
||||
|
|
|
|||
506
pnpm-lock.yaml
506
pnpm-lock.yaml
|
|
@ -77,6 +77,7 @@ specifiers:
|
|||
ioredis: 5.3.1
|
||||
js-yaml: 4.1.0
|
||||
jsonfeed-to-rss: ^3.0.6
|
||||
langchain: ^0.0.20
|
||||
lint-staged: 13.1.2
|
||||
lottie-react: ^2.4.0
|
||||
mdast-util-to-string: 3.1.1
|
||||
|
|
@ -177,6 +178,7 @@ dependencies:
|
|||
ioredis: 5.3.1
|
||||
js-yaml: 4.1.0
|
||||
jsonfeed-to-rss: 3.0.6
|
||||
langchain: 0.0.20
|
||||
lottie-react: 2.4.0_biqbaboplfbrettd7655fr4n2y
|
||||
mdast-util-to-string: 3.1.1
|
||||
mdast-util-toc: 6.1.1
|
||||
|
|
@ -2721,6 +2723,11 @@ packages:
|
|||
- '@types/react'
|
||||
dev: false
|
||||
|
||||
/@gar/promisify/1.1.3:
|
||||
resolution: {integrity: sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@headlessui/react/1.7.12_biqbaboplfbrettd7655fr4n2y:
|
||||
resolution: {integrity: sha512-FhSx5V+Qp0GvbTpaxyS+ymGDDNntCacClWsk/d8Upbr19g3AsPbjfPk4+m2CgJGcuCB5Dz7LpUIOAbvQTyjL2g==}
|
||||
engines: {node: '>=10'}
|
||||
|
|
@ -3462,6 +3469,24 @@ packages:
|
|||
'@nodelib/fs.scandir': 2.1.5
|
||||
fastq: 1.15.0
|
||||
|
||||
/@npmcli/fs/1.1.1:
|
||||
resolution: {integrity: sha512-8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==}
|
||||
dependencies:
|
||||
'@gar/promisify': 1.1.3
|
||||
semver: 7.3.8
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@npmcli/move-file/1.1.2:
|
||||
resolution: {integrity: sha512-1SUf/Cg2GzGDyaf15aR9St9TWlb+XvbZXWpDx8YKs7MLzMH/BCeopv+y9vzrzgkfykCGuWOlSu3mZhj2+FQcrg==}
|
||||
engines: {node: '>=10'}
|
||||
deprecated: This functionality has been moved to @npmcli/fs
|
||||
dependencies:
|
||||
mkdirp: 1.0.4
|
||||
rimraf: 3.0.2
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@pedrouid/environment/1.0.1:
|
||||
resolution: {integrity: sha512-HaW78NszGzRZd9SeoI3JD11JqY+lubnaOx7Pewj5pfjqWXOEATpeKIFb9Z4t2WBUK2iryiXX3lzWwmYWgUL0Ug==}
|
||||
dev: false
|
||||
|
|
@ -3958,6 +3983,12 @@ packages:
|
|||
resolution: {integrity: sha512-qi2jjgO6Tn3KNPGnm6B7p6QTEPvY95NFsIAaJuwbulur8iJUEenp1OnoUfiDaC/g2WPPEFkcfXpmnu8XEMFo2A==}
|
||||
dev: false
|
||||
|
||||
/@tootallnate/once/1.1.2:
|
||||
resolution: {integrity: sha512-RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==}
|
||||
engines: {node: '>= 6'}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/@tsconfig/node10/1.0.9:
|
||||
resolution: {integrity: sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==}
|
||||
dev: false
|
||||
|
|
@ -5161,7 +5192,6 @@ packages:
|
|||
dependencies:
|
||||
clean-stack: 2.2.0
|
||||
indent-string: 4.0.0
|
||||
dev: true
|
||||
|
||||
/ajv-formats/2.1.1:
|
||||
resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==}
|
||||
|
|
@ -5278,6 +5308,15 @@ packages:
|
|||
readable-stream: 3.6.0
|
||||
dev: false
|
||||
|
||||
/are-we-there-yet/3.0.1:
|
||||
resolution: {integrity: sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==}
|
||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
||||
dependencies:
|
||||
delegates: 1.0.0
|
||||
readable-stream: 3.6.1
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/arg/4.1.3:
|
||||
resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==}
|
||||
dev: false
|
||||
|
|
@ -5453,6 +5492,14 @@ packages:
|
|||
- debug
|
||||
dev: false
|
||||
|
||||
/axios/0.26.1:
|
||||
resolution: {integrity: sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==}
|
||||
dependencies:
|
||||
follow-redirects: 1.15.2
|
||||
transitivePeerDependencies:
|
||||
- debug
|
||||
dev: false
|
||||
|
||||
/axios/1.2.3:
|
||||
resolution: {integrity: sha512-pdDkMYJeuXLZ6Xj/Q5J3Phpe+jbGdsSzlQaFVkMQzRUL05+6+tetX8TV3p4HrU4kzuO9bt+io/yGQxuyxA/xcw==}
|
||||
dependencies:
|
||||
|
|
@ -5656,7 +5703,7 @@ packages:
|
|||
dependencies:
|
||||
buffer: 5.7.1
|
||||
inherits: 2.0.4
|
||||
readable-stream: 3.6.0
|
||||
readable-stream: 3.6.1
|
||||
dev: false
|
||||
|
||||
/blakejs/1.2.1:
|
||||
|
|
@ -5827,6 +5874,33 @@ packages:
|
|||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/cacache/15.3.0:
|
||||
resolution: {integrity: sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ==}
|
||||
engines: {node: '>= 10'}
|
||||
dependencies:
|
||||
'@npmcli/fs': 1.1.1
|
||||
'@npmcli/move-file': 1.1.2
|
||||
chownr: 2.0.0
|
||||
fs-minipass: 2.1.0
|
||||
glob: 7.2.3
|
||||
infer-owner: 1.0.4
|
||||
lru-cache: 6.0.0
|
||||
minipass: 3.3.6
|
||||
minipass-collect: 1.0.2
|
||||
minipass-flush: 1.0.5
|
||||
minipass-pipeline: 1.2.4
|
||||
mkdirp: 1.0.4
|
||||
p-map: 4.0.0
|
||||
promise-inflight: 1.0.1
|
||||
rimraf: 3.0.2
|
||||
ssri: 8.0.1
|
||||
tar: 6.1.13
|
||||
unique-filename: 1.1.1
|
||||
transitivePeerDependencies:
|
||||
- bluebird
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/call-bind/1.0.2:
|
||||
resolution: {integrity: sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==}
|
||||
dependencies:
|
||||
|
|
@ -5969,7 +6043,6 @@ packages:
|
|||
/clean-stack/2.2.0:
|
||||
resolution: {integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==}
|
||||
engines: {node: '>=6'}
|
||||
dev: true
|
||||
|
||||
/clean-webpack-plugin/4.0.0:
|
||||
resolution: {integrity: sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==}
|
||||
|
|
@ -6122,7 +6195,6 @@ packages:
|
|||
/commander/7.2.0:
|
||||
resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==}
|
||||
engines: {node: '>= 10'}
|
||||
dev: true
|
||||
|
||||
/commander/8.3.0:
|
||||
resolution: {integrity: sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==}
|
||||
|
|
@ -6329,6 +6401,16 @@ packages:
|
|||
type: 1.2.0
|
||||
dev: false
|
||||
|
||||
/d3-dsv/3.0.1:
|
||||
resolution: {integrity: sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==}
|
||||
engines: {node: '>=12'}
|
||||
hasBin: true
|
||||
dependencies:
|
||||
commander: 7.2.0
|
||||
iconv-lite: 0.6.3
|
||||
rw: 1.3.3
|
||||
dev: false
|
||||
|
||||
/damerau-levenshtein/1.0.8:
|
||||
resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==}
|
||||
dev: true
|
||||
|
|
@ -6357,7 +6439,6 @@ packages:
|
|||
optional: true
|
||||
dependencies:
|
||||
ms: 2.1.3
|
||||
dev: true
|
||||
|
||||
/debug/4.3.4:
|
||||
resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==}
|
||||
|
|
@ -6448,6 +6529,12 @@ packages:
|
|||
resolution: {integrity: sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==}
|
||||
dev: true
|
||||
|
||||
/deepcopy/2.1.0:
|
||||
resolution: {integrity: sha512-8cZeTb1ZKC3bdSCP6XOM1IsTczIO73fdqtwa2B0N15eAz7gmyhQo+mc5gnFuulsgN3vIQYmTgbmQVKalH1dKvQ==}
|
||||
dependencies:
|
||||
type-detect: 4.0.8
|
||||
dev: false
|
||||
|
||||
/deepmerge/4.2.2:
|
||||
resolution: {integrity: sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
|
|
@ -6713,6 +6800,14 @@ packages:
|
|||
resolution: {integrity: sha512-ucAnuBEhUK4boH2HjVYG5Q2mQyPorvv0u/ocS+zhdw0S8AlHYY+GOFhP1Gio5z4icpP2ivFSvhtFjQi8+T9ppw==}
|
||||
dev: false
|
||||
|
||||
/encoding/0.1.13:
|
||||
resolution: {integrity: sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==}
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
iconv-lite: 0.6.3
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/end-of-stream/1.4.4:
|
||||
resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==}
|
||||
dependencies:
|
||||
|
|
@ -6727,6 +6822,17 @@ packages:
|
|||
tapable: 2.2.1
|
||||
dev: true
|
||||
|
||||
/env-paths/2.2.1:
|
||||
resolution: {integrity: sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==}
|
||||
engines: {node: '>=6'}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/err-code/2.0.3:
|
||||
resolution: {integrity: sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/err-code/3.0.1:
|
||||
resolution: {integrity: sha512-GiaH0KJUewYok+eeY05IIgjtAe4Yltygk9Wqp1V5yVWLdhf0hYZchRjNIT9bb0mSwRcIusT3cx7PJUf3zEIfUA==}
|
||||
dev: false
|
||||
|
|
@ -7365,6 +7471,11 @@ packages:
|
|||
engines: {node: '>=0.8.x'}
|
||||
dev: false
|
||||
|
||||
/eventsource-parser/0.1.0:
|
||||
resolution: {integrity: sha512-M9QjFtEIkwytUarnx113HGmgtk52LSn3jNAtnWKi3V+b9rqSfQeVdLsaD5AG/O4IrGQwmAAHBIsqbmURPTd2rA==}
|
||||
engines: {node: '>=14.18'}
|
||||
dev: false
|
||||
|
||||
/evp_bytestokey/1.0.3:
|
||||
resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==}
|
||||
dependencies:
|
||||
|
|
@ -7411,6 +7522,14 @@ packages:
|
|||
engines: {node: '>=6'}
|
||||
dev: false
|
||||
|
||||
/exponential-backoff/3.1.1:
|
||||
resolution: {integrity: sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==}
|
||||
dev: false
|
||||
|
||||
/expr-eval/2.0.2:
|
||||
resolution: {integrity: sha512-4EMSHGOPSwAfBiibw3ndnP0AvjDWLsMvGOvWEZ2F96IGk0bIVdjQisOHxReSkE13mHcfbuCiXw+G4y0zv6N8Eg==}
|
||||
dev: false
|
||||
|
||||
/ext/1.7.0:
|
||||
resolution: {integrity: sha512-6hxeJYaL110a9b5TEJSj0gojyHQAmA2ch5Os+ySCiA1QGdS697XWY1pzsrSjqA9LDEEgdB/KypIlR59RcLuHYw==}
|
||||
dependencies:
|
||||
|
|
@ -7669,6 +7788,21 @@ packages:
|
|||
wide-align: 1.1.5
|
||||
dev: false
|
||||
|
||||
/gauge/4.0.4:
|
||||
resolution: {integrity: sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==}
|
||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
||||
dependencies:
|
||||
aproba: 2.0.0
|
||||
color-support: 1.1.3
|
||||
console-control-strings: 1.1.0
|
||||
has-unicode: 2.0.1
|
||||
signal-exit: 3.0.7
|
||||
string-width: 4.2.3
|
||||
strip-ansi: 6.0.1
|
||||
wide-align: 1.1.5
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/gensync/1.0.0-beta.2:
|
||||
resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==}
|
||||
engines: {node: '>=6.9.0'}
|
||||
|
|
@ -7839,9 +7973,12 @@ packages:
|
|||
dependencies:
|
||||
get-intrinsic: 1.2.0
|
||||
|
||||
/gpt-3-encoder/1.1.4:
|
||||
resolution: {integrity: sha512-fSQRePV+HUAhCn7+7HL7lNIXNm6eaFWFbNLOOGtmSJ0qJycyQvj60OvRlH7mee8xAMjBDNRdMXlMwjAbMTDjkg==}
|
||||
dev: false
|
||||
|
||||
/graceful-fs/4.2.10:
|
||||
resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==}
|
||||
dev: true
|
||||
|
||||
/grapheme-splitter/1.0.4:
|
||||
resolution: {integrity: sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==}
|
||||
|
|
@ -7907,7 +8044,7 @@ packages:
|
|||
engines: {node: '>=4'}
|
||||
dependencies:
|
||||
inherits: 2.0.4
|
||||
readable-stream: 3.6.0
|
||||
readable-stream: 3.6.1
|
||||
safe-buffer: 5.2.1
|
||||
dev: false
|
||||
|
||||
|
|
@ -8109,6 +8246,23 @@ packages:
|
|||
resolution: {integrity: sha512-0quDb7s97CfemeJAnW9wC0hw78MtW7NU3hqtCD75g2vFlDLt36llsYD7uB7SUzojLMP24N5IatXf7ylGXiGG9A==}
|
||||
dev: false
|
||||
|
||||
/http-cache-semantics/4.1.1:
|
||||
resolution: {integrity: sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/http-proxy-agent/4.0.1:
|
||||
resolution: {integrity: sha512-k0zdNgqWTGA6aeIRVpvfVob4fL52dTfaehylg0Y4UvSySvOq/Y+BOyPrgpUrA7HylqvU8vIZGsRuXmspskV0Tg==}
|
||||
engines: {node: '>= 6'}
|
||||
dependencies:
|
||||
'@tootallnate/once': 1.1.2
|
||||
agent-base: 6.0.2
|
||||
debug: 4.3.4
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/https-proxy-agent/5.0.1:
|
||||
resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==}
|
||||
engines: {node: '>= 6'}
|
||||
|
|
@ -8151,6 +8305,13 @@ packages:
|
|||
'@babel/runtime': 7.20.13
|
||||
dev: false
|
||||
|
||||
/iconv-lite/0.6.3:
|
||||
resolution: {integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dependencies:
|
||||
safer-buffer: 2.1.2
|
||||
dev: false
|
||||
|
||||
/idb-keyval/6.2.0:
|
||||
resolution: {integrity: sha512-uw+MIyQn2jl3+hroD7hF8J7PUviBU7BPKWw4f/ISf32D4LoGu98yHjrzWWJDASu9QNrX10tCJqk9YY0ClWm8Ng==}
|
||||
dependencies:
|
||||
|
|
@ -8184,12 +8345,15 @@ packages:
|
|||
/imurmurhash/0.1.4:
|
||||
resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==}
|
||||
engines: {node: '>=0.8.19'}
|
||||
dev: true
|
||||
|
||||
/indent-string/4.0.0:
|
||||
resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==}
|
||||
engines: {node: '>=8'}
|
||||
dev: true
|
||||
|
||||
/infer-owner/1.0.4:
|
||||
resolution: {integrity: sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/inflight/1.0.6:
|
||||
resolution: {integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==}
|
||||
|
|
@ -8254,6 +8418,11 @@ packages:
|
|||
engines: {node: '>=8'}
|
||||
dev: false
|
||||
|
||||
/ip/2.0.0:
|
||||
resolution: {integrity: sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/is-alphabetical/2.0.1:
|
||||
resolution: {integrity: sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==}
|
||||
dev: false
|
||||
|
|
@ -8408,6 +8577,11 @@ packages:
|
|||
- supports-color
|
||||
dev: false
|
||||
|
||||
/is-lambda/1.0.1:
|
||||
resolution: {integrity: sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/is-map/2.0.2:
|
||||
resolution: {integrity: sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==}
|
||||
dev: true
|
||||
|
|
@ -8576,7 +8750,6 @@ packages:
|
|||
|
||||
/isexe/2.0.0:
|
||||
resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==}
|
||||
dev: true
|
||||
|
||||
/iso-url/1.2.1:
|
||||
resolution: {integrity: sha512-9JPDgCN4B7QPkLtYAAOrEuAWvP9rWvR5offAr0/SeF046wIkglqH3VXgYYP6NcsKslH80UIVgmPqNe3j7tG2ng==}
|
||||
|
|
@ -8762,7 +8935,6 @@ packages:
|
|||
/jsonpointer/5.0.1:
|
||||
resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==}
|
||||
engines: {node: '>=0.10.0'}
|
||||
dev: true
|
||||
|
||||
/jsx-ast-utils/3.3.3:
|
||||
resolution: {integrity: sha512-fYQHZTZ8jSfmWZ0iyzfwiU4WDX4HpHbMCZ3gPlWYiCl3BoeOTsqKBqnTVfH2rYT7eP5c3sVbeSPHnnJOaTrWiw==}
|
||||
|
|
@ -8793,7 +8965,7 @@ packages:
|
|||
dependencies:
|
||||
node-addon-api: 2.0.2
|
||||
node-gyp-build: 4.6.0
|
||||
readable-stream: 3.6.0
|
||||
readable-stream: 3.6.1
|
||||
dev: false
|
||||
|
||||
/keypress/0.1.0:
|
||||
|
|
@ -8813,6 +8985,58 @@ packages:
|
|||
resolution: {integrity: sha512-ymToLHqL02udwVdbkowNpzjFd6UzozMtshPQKVi5k1EjKRqKqBrOnE9QbLEb0/pV76SAiIT13hdL8R6suc+f3g==}
|
||||
dev: true
|
||||
|
||||
/langchain/0.0.20:
|
||||
resolution: {integrity: sha512-ADh1pRy8gWyHin3pAnsc57wO/HF9g2e/c+pQNk73qvEN5chtQjUR8/E8ZANxaMHaZOk24vXZ3Jfw40QU/faEPg==}
|
||||
peerDependencies:
|
||||
'@dqbd/tiktoken': ^0.4.0
|
||||
'@pinecone-database/pinecone': ^0.0.8
|
||||
cheerio: ^1.0.0-rc.12
|
||||
chromadb: ^1.3.0
|
||||
cohere-ai: ^5.0.2
|
||||
hnswlib-node: ^1.3.0
|
||||
huggingface: ^1.4.0
|
||||
serpapi: ^1.1.1
|
||||
srt-parser-2: ^1.2.2
|
||||
peerDependenciesMeta:
|
||||
'@dqbd/tiktoken':
|
||||
optional: true
|
||||
'@pinecone-database/pinecone':
|
||||
optional: true
|
||||
cheerio:
|
||||
optional: true
|
||||
chromadb:
|
||||
optional: true
|
||||
cohere-ai:
|
||||
optional: true
|
||||
hnswlib-node:
|
||||
optional: true
|
||||
serpapi:
|
||||
optional: true
|
||||
srt-parser-2:
|
||||
optional: true
|
||||
dependencies:
|
||||
browser-or-node: 2.1.1
|
||||
d3-dsv: 3.0.1
|
||||
deepcopy: 2.1.0
|
||||
eventsource-parser: 0.1.0
|
||||
exponential-backoff: 3.1.1
|
||||
expr-eval: 2.0.2
|
||||
gpt-3-encoder: 1.1.4
|
||||
jsonpointer: 5.0.1
|
||||
openai: 3.2.1
|
||||
p-queue: 7.3.4
|
||||
pdf-parse: 1.1.1
|
||||
sqlite3: 5.1.4
|
||||
unfetch: 5.0.0
|
||||
uuid: 9.0.0
|
||||
yaml: 2.2.1
|
||||
transitivePeerDependencies:
|
||||
- bluebird
|
||||
- debug
|
||||
- encoding
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/language-subtag-registry/0.3.22:
|
||||
resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==}
|
||||
dev: true
|
||||
|
|
@ -9090,6 +9314,32 @@ packages:
|
|||
resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==}
|
||||
dev: false
|
||||
|
||||
/make-fetch-happen/9.1.0:
|
||||
resolution: {integrity: sha512-+zopwDy7DNknmwPQplem5lAZX/eCOzSvSNNcSKm5eVwTkOBzoktEfXsa9L23J/GIRhxRsaxzkPEhrJEpE2F4Gg==}
|
||||
engines: {node: '>= 10'}
|
||||
dependencies:
|
||||
agentkeepalive: 4.2.1
|
||||
cacache: 15.3.0
|
||||
http-cache-semantics: 4.1.1
|
||||
http-proxy-agent: 4.0.1
|
||||
https-proxy-agent: 5.0.1
|
||||
is-lambda: 1.0.1
|
||||
lru-cache: 6.0.0
|
||||
minipass: 3.3.6
|
||||
minipass-collect: 1.0.2
|
||||
minipass-fetch: 1.4.1
|
||||
minipass-flush: 1.0.5
|
||||
minipass-pipeline: 1.2.4
|
||||
negotiator: 0.6.3
|
||||
promise-retry: 2.0.1
|
||||
socks-proxy-agent: 6.2.1
|
||||
ssri: 8.0.1
|
||||
transitivePeerDependencies:
|
||||
- bluebird
|
||||
- supports-color
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/markdown-table/3.0.3:
|
||||
resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==}
|
||||
dev: false
|
||||
|
|
@ -9637,6 +9887,50 @@ packages:
|
|||
/minimist/1.2.8:
|
||||
resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==}
|
||||
|
||||
/minipass-collect/1.0.2:
|
||||
resolution: {integrity: sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==}
|
||||
engines: {node: '>= 8'}
|
||||
dependencies:
|
||||
minipass: 3.3.6
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/minipass-fetch/1.4.1:
|
||||
resolution: {integrity: sha512-CGH1eblLq26Y15+Azk7ey4xh0J/XfJfrCox5LDJiKqI2Q2iwOLOKrlmIaODiSQS8d18jalF6y2K2ePUm0CmShw==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
minipass: 3.3.6
|
||||
minipass-sized: 1.0.3
|
||||
minizlib: 2.1.2
|
||||
optionalDependencies:
|
||||
encoding: 0.1.13
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/minipass-flush/1.0.5:
|
||||
resolution: {integrity: sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==}
|
||||
engines: {node: '>= 8'}
|
||||
dependencies:
|
||||
minipass: 3.3.6
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/minipass-pipeline/1.2.4:
|
||||
resolution: {integrity: sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
minipass: 3.3.6
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/minipass-sized/1.0.3:
|
||||
resolution: {integrity: sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==}
|
||||
engines: {node: '>=8'}
|
||||
dependencies:
|
||||
minipass: 3.3.6
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/minipass/3.3.6:
|
||||
resolution: {integrity: sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==}
|
||||
engines: {node: '>=8'}
|
||||
|
|
@ -9787,6 +10081,12 @@ packages:
|
|||
resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==}
|
||||
dev: true
|
||||
|
||||
/negotiator/0.6.3:
|
||||
resolution: {integrity: sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==}
|
||||
engines: {node: '>= 0.6'}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/next-i18next/13.2.1_3hsgjxhlfhabtu3n4ai6yx6ufq:
|
||||
resolution: {integrity: sha512-5JYAWHedbbgIZbGBtxjTMC4M1scvkJq6Wif5kiijXzs4L0CRMpnXtAG9mWOp2N0z2znhr/RtsK3nwVgPt54PNw==}
|
||||
engines: {node: '>=14'}
|
||||
|
|
@ -9907,10 +10207,18 @@ packages:
|
|||
resolution: {integrity: sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==}
|
||||
dev: false
|
||||
|
||||
/node-addon-api/4.3.0:
|
||||
resolution: {integrity: sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==}
|
||||
dev: false
|
||||
|
||||
/node-addon-api/5.1.0:
|
||||
resolution: {integrity: sha512-eh0GgfEkpnoWDq+VY8OyvYhFEzBk6jIYbRKdIlyTiAXIVJ8PyBaKb0rp7oDtoddbdoHWhq8wwr+XZ81F1rpNdA==}
|
||||
dev: false
|
||||
|
||||
/node-ensure/0.0.0:
|
||||
resolution: {integrity: sha512-DRI60hzo2oKN1ma0ckc6nQWlHU69RH6xN0sjQTjMpChPfTYvKZdcQFfdYK2RWbJcKyUizSIy/l8OTGxMAM1QDw==}
|
||||
dev: false
|
||||
|
||||
/node-fetch-native/1.0.2:
|
||||
resolution: {integrity: sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ==}
|
||||
dev: true
|
||||
|
|
@ -9956,6 +10264,28 @@ packages:
|
|||
hasBin: true
|
||||
dev: false
|
||||
|
||||
/node-gyp/8.4.1:
|
||||
resolution: {integrity: sha512-olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==}
|
||||
engines: {node: '>= 10.12.0'}
|
||||
hasBin: true
|
||||
requiresBuild: true
|
||||
dependencies:
|
||||
env-paths: 2.2.1
|
||||
glob: 7.2.3
|
||||
graceful-fs: 4.2.10
|
||||
make-fetch-happen: 9.1.0
|
||||
nopt: 5.0.0
|
||||
npmlog: 6.0.2
|
||||
rimraf: 3.0.2
|
||||
semver: 7.3.8
|
||||
tar: 6.1.13
|
||||
which: 2.0.2
|
||||
transitivePeerDependencies:
|
||||
- bluebird
|
||||
- supports-color
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/node-releases/2.0.8:
|
||||
resolution: {integrity: sha512-dFSmB8fFHEH/s81Xi+Y/15DQY6VHW81nXRj86EMSL3lmuTmK1e+aT4wrFCkTbm+gSwkw4KpX+rT/pMM2c1mF+A==}
|
||||
|
||||
|
|
@ -10028,6 +10358,17 @@ packages:
|
|||
set-blocking: 2.0.0
|
||||
dev: false
|
||||
|
||||
/npmlog/6.0.2:
|
||||
resolution: {integrity: sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==}
|
||||
engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0}
|
||||
dependencies:
|
||||
are-we-there-yet: 3.0.1
|
||||
console-control-strings: 1.1.0
|
||||
gauge: 4.0.4
|
||||
set-blocking: 2.0.0
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/nprogress/0.2.0:
|
||||
resolution: {integrity: sha512-I19aIingLgR1fmhftnbWWO3dXc0hSxqHQHQb3H8m+K3TnEn/iSeTZZOyvKXWqQESMwuUVnatlCnZdLBZZt2VSA==}
|
||||
dev: false
|
||||
|
|
@ -10158,6 +10499,15 @@ packages:
|
|||
is-wsl: 2.2.0
|
||||
dev: true
|
||||
|
||||
/openai/3.2.1:
|
||||
resolution: {integrity: sha512-762C9BNlJPbjjlWZi4WYK9iM2tAVAv0uUp1UmI34vb0CN5T2mjB/qM6RYBmNKMh/dN9fC+bxqPwWJZUTWW052A==}
|
||||
dependencies:
|
||||
axios: 0.26.1
|
||||
form-data: 4.0.0
|
||||
transitivePeerDependencies:
|
||||
- debug
|
||||
dev: false
|
||||
|
||||
/opener/1.5.2:
|
||||
resolution: {integrity: sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==}
|
||||
hasBin: true
|
||||
|
|
@ -10223,7 +10573,19 @@ packages:
|
|||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
aggregate-error: 3.1.0
|
||||
dev: true
|
||||
|
||||
/p-queue/7.3.4:
|
||||
resolution: {integrity: sha512-esox8CWt0j9EZECFvkFl2WNPat8LN4t7WWeXq73D9ha0V96qPRufApZi4ZhPwXAln1uVVal429HVVKPa2X0yQg==}
|
||||
engines: {node: '>=12'}
|
||||
dependencies:
|
||||
eventemitter3: 4.0.7
|
||||
p-timeout: 5.1.0
|
||||
dev: false
|
||||
|
||||
/p-timeout/5.1.0:
|
||||
resolution: {integrity: sha512-auFDyzzzGZZZdHz3BtET9VEz0SE/uMEAx7uWfGPucfzEwwe/xH0iVeZibQmANYE/hp9T2+UUZT5m+BKyrDp3Ew==}
|
||||
engines: {node: '>=12'}
|
||||
dev: false
|
||||
|
||||
/p-try/2.2.0:
|
||||
resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==}
|
||||
|
|
@ -10331,6 +10693,16 @@ packages:
|
|||
sha.js: 2.4.11
|
||||
dev: false
|
||||
|
||||
/pdf-parse/1.1.1:
|
||||
resolution: {integrity: sha512-v6ZJ/efsBpGrGGknjtq9J/oC8tZWq0KWL5vQrk2GlzLEQPUDB1ex+13Rmidl1neNN358Jn9EHZw5y07FFtaC7A==}
|
||||
engines: {node: '>=6.8.1'}
|
||||
dependencies:
|
||||
debug: 3.2.7
|
||||
node-ensure: 0.0.0
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/perfect-debounce/0.1.3:
|
||||
resolution: {integrity: sha512-NOT9AcKiDGpnV/HBhI22Str++XWcErO/bALvHCuhv33owZW/CjH8KAFLZDCmu3727sihe0wTxpDhyGc6M8qacQ==}
|
||||
dev: true
|
||||
|
|
@ -10606,6 +10978,25 @@ packages:
|
|||
resolution: {integrity: sha512-du4wfLyj4yCZq1VupnVSZmRsPJsNuxoDQFdCFHLaYiEbFBD7QE0a+I4D7hOxrVnh78QE/YipFAj9lXHiXocV+Q==}
|
||||
dev: false
|
||||
|
||||
/promise-inflight/1.0.1:
|
||||
resolution: {integrity: sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==}
|
||||
peerDependencies:
|
||||
bluebird: '*'
|
||||
peerDependenciesMeta:
|
||||
bluebird:
|
||||
optional: true
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/promise-retry/2.0.1:
|
||||
resolution: {integrity: sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==}
|
||||
engines: {node: '>=10'}
|
||||
dependencies:
|
||||
err-code: 2.0.3
|
||||
retry: 0.12.0
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/prop-types/15.8.1:
|
||||
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
|
||||
dependencies:
|
||||
|
|
@ -11301,6 +11692,12 @@ packages:
|
|||
signal-exit: 3.0.7
|
||||
dev: true
|
||||
|
||||
/retry/0.12.0:
|
||||
resolution: {integrity: sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==}
|
||||
engines: {node: '>= 4'}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/retry/0.13.1:
|
||||
resolution: {integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==}
|
||||
engines: {node: '>= 4'}
|
||||
|
|
@ -11387,6 +11784,10 @@ packages:
|
|||
dependencies:
|
||||
queue-microtask: 1.2.3
|
||||
|
||||
/rw/1.3.3:
|
||||
resolution: {integrity: sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==}
|
||||
dev: false
|
||||
|
||||
/rxjs/6.6.7:
|
||||
resolution: {integrity: sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==}
|
||||
engines: {npm: '>=2.0.0'}
|
||||
|
|
@ -11438,6 +11839,10 @@ packages:
|
|||
engines: {node: '>=10'}
|
||||
dev: false
|
||||
|
||||
/safer-buffer/2.1.2:
|
||||
resolution: {integrity: sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==}
|
||||
dev: false
|
||||
|
||||
/scheduler/0.23.0:
|
||||
resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==}
|
||||
dependencies:
|
||||
|
|
@ -11654,6 +12059,33 @@ packages:
|
|||
is-fullwidth-code-point: 4.0.0
|
||||
dev: true
|
||||
|
||||
/smart-buffer/4.2.0:
|
||||
resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==}
|
||||
engines: {node: '>= 6.0.0', npm: '>= 3.0.0'}
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/socks-proxy-agent/6.2.1:
|
||||
resolution: {integrity: sha512-a6KW9G+6B3nWZ1yB8G7pJwL3ggLy1uTzKAgCb7ttblwqdz9fMGJUuTy3uFzEP48FAs9FLILlmzDlE2JJhVQaXQ==}
|
||||
engines: {node: '>= 10'}
|
||||
dependencies:
|
||||
agent-base: 6.0.2
|
||||
debug: 4.3.4
|
||||
socks: 2.7.1
|
||||
transitivePeerDependencies:
|
||||
- supports-color
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/socks/2.7.1:
|
||||
resolution: {integrity: sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==}
|
||||
engines: {node: '>= 10.13.0', npm: '>= 3.0.0'}
|
||||
dependencies:
|
||||
ip: 2.0.0
|
||||
smart-buffer: 4.2.0
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/sonic-boom/2.8.0:
|
||||
resolution: {integrity: sha512-kuonw1YOYYNOve5iHdSahXPOK49GqwA+LZhI6Wz/l0rP57iKyXXIHaRagOBHAPmGwJC6od2Z9zgvZ5loSgMlVg==}
|
||||
dependencies:
|
||||
|
|
@ -11715,6 +12147,32 @@ packages:
|
|||
engines: {node: '>= 10.x'}
|
||||
dev: false
|
||||
|
||||
/sqlite3/5.1.4:
|
||||
resolution: {integrity: sha512-i0UlWAzPlzX3B5XP2cYuhWQJsTtlMD6obOa1PgeEQ4DHEXUuyJkgv50I3isqZAP5oFc2T8OFvakmDh2W6I+YpA==}
|
||||
requiresBuild: true
|
||||
peerDependenciesMeta:
|
||||
node-gyp:
|
||||
optional: true
|
||||
dependencies:
|
||||
'@mapbox/node-pre-gyp': 1.0.10
|
||||
node-addon-api: 4.3.0
|
||||
tar: 6.1.13
|
||||
optionalDependencies:
|
||||
node-gyp: 8.4.1
|
||||
transitivePeerDependencies:
|
||||
- bluebird
|
||||
- encoding
|
||||
- supports-color
|
||||
dev: false
|
||||
|
||||
/ssri/8.0.1:
|
||||
resolution: {integrity: sha512-97qShzy1AiyxvPNIkLWoGua7xoQzzPjQ0HAH4B0rWKo7SZ6USuPcrUiAFrws0UH8RrbWmgq3LMTObhPIHbbBeQ==}
|
||||
engines: {node: '>= 8'}
|
||||
dependencies:
|
||||
minipass: 3.3.6
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/stackback/0.0.2:
|
||||
resolution: {integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==}
|
||||
dev: true
|
||||
|
|
@ -12053,7 +12511,7 @@ packages:
|
|||
end-of-stream: 1.4.4
|
||||
fs-constants: 1.0.0
|
||||
inherits: 2.0.4
|
||||
readable-stream: 3.6.0
|
||||
readable-stream: 3.6.1
|
||||
dev: false
|
||||
|
||||
/tar/6.1.13:
|
||||
|
|
@ -12387,6 +12845,10 @@ packages:
|
|||
busboy: 1.6.0
|
||||
dev: false
|
||||
|
||||
/unfetch/5.0.0:
|
||||
resolution: {integrity: sha512-3xM2c89siXg0nHvlmYsQ2zkLASvVMBisZm5lF3gFDqfF2xonNStDJyMpvaOBe0a1Edxmqrf2E0HBdmy9QyZaeg==}
|
||||
dev: false
|
||||
|
||||
/unicode-canonical-property-names-ecmascript/2.0.0:
|
||||
resolution: {integrity: sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==}
|
||||
engines: {node: '>=4'}
|
||||
|
|
@ -12443,6 +12905,20 @@ packages:
|
|||
vfile: 5.3.6
|
||||
dev: false
|
||||
|
||||
/unique-filename/1.1.1:
|
||||
resolution: {integrity: sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==}
|
||||
dependencies:
|
||||
unique-slug: 2.0.2
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/unique-slug/2.0.2:
|
||||
resolution: {integrity: sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==}
|
||||
dependencies:
|
||||
imurmurhash: 0.1.4
|
||||
dev: false
|
||||
optional: true
|
||||
|
||||
/unique-string/2.0.0:
|
||||
resolution: {integrity: sha512-uNaeirEPvpZWSgzwsPGtU2zVSTrn/8L5q/IexZmH0eH6SA73CmAA5U4GwORTxQAZs95TAXLNqeLoPPNO5gZfWg==}
|
||||
engines: {node: '>=8'}
|
||||
|
|
@ -13084,7 +13560,6 @@ packages:
|
|||
hasBin: true
|
||||
dependencies:
|
||||
isexe: 2.0.0
|
||||
dev: true
|
||||
|
||||
/why-is-node-running/2.2.2:
|
||||
resolution: {integrity: sha512-6tSwToZxTOcotxHeA+qGCq1mVzKR3CwcJGmVcY+QE8SHy6TnpFnh8PAvPNHYr7EcuVeG0QSMxtYCuO1ta/G/oA==}
|
||||
|
|
@ -13394,7 +13869,6 @@ packages:
|
|||
/yaml/2.2.1:
|
||||
resolution: {integrity: sha512-e0WHiYql7+9wr4cWMx3TVQrNwejKaEe7/rHNmQmqRjazfOP5W8PB6Jpebb5o6fIapbz9o9+2ipcaTM2ZwDI6lw==}
|
||||
engines: {node: '>= 14'}
|
||||
dev: true
|
||||
|
||||
/yargs-parser/13.1.2:
|
||||
resolution: {integrity: sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==}
|
||||
|
|
|
|||
|
|
@ -47,5 +47,7 @@
|
|||
"Upgrade to Wallet": "升级为钱包",
|
||||
"Disconnect": "断开连接",
|
||||
"Loading": "加载中",
|
||||
"Showcase": "展示柜"
|
||||
"Showcase": "展示柜",
|
||||
"AI-generated summary": "AI 生成的摘要",
|
||||
"Generating": "生成中"
|
||||
}
|
||||
|
|
@ -6,10 +6,16 @@ import { useEffect, useState } from "react"
|
|||
import { CharacterFloatCard } from "~/components/common/CharacterFloatCard"
|
||||
import { getSiteLink } from "~/lib/helpers"
|
||||
import { Avatar } from "~/components/ui/Avatar"
|
||||
import { EyeIcon, PencilSquareIcon } from "@heroicons/react/24/outline"
|
||||
import {
|
||||
EyeIcon,
|
||||
PencilSquareIcon,
|
||||
LightBulbIcon,
|
||||
} from "@heroicons/react/24/outline"
|
||||
import { useUserRole } from "~/hooks/useUserRole"
|
||||
import { useTranslation } from "next-i18next"
|
||||
import { useDate } from "~/hooks/useDate"
|
||||
import { useGetSummary } from "~/queries/page"
|
||||
import { toCid } from "~/lib/ipfs-parser"
|
||||
|
||||
export const PostMeta: React.FC<{
|
||||
page: Note
|
||||
|
|
@ -19,6 +25,11 @@ export const PostMeta: React.FC<{
|
|||
const { t } = useTranslation("common")
|
||||
const date = useDate()
|
||||
const [isMounted, setIsMounted] = useState(false)
|
||||
const { i18n } = useTranslation()
|
||||
const summary = useGetSummary({
|
||||
cid: toCid(page.related_urls?.[0] || ""),
|
||||
lang: i18n.resolvedLanguage,
|
||||
})
|
||||
|
||||
useEffect(() => {
|
||||
setIsMounted(true)
|
||||
|
|
@ -33,77 +44,90 @@ export const PostMeta: React.FC<{
|
|||
}, [userRole.isSuccess, userRole.data])
|
||||
|
||||
return (
|
||||
<div className="text-zinc-400 mt-4 xlog-post-meta space-x-5 flex items-center">
|
||||
<time
|
||||
dateTime={date.formatToISO(page.date_published)}
|
||||
className="xlog-post-date whitespace-nowrap"
|
||||
>
|
||||
{date.formatDate(
|
||||
page.date_published,
|
||||
undefined,
|
||||
isMounted ? undefined : "America/Los_Angeles",
|
||||
)}
|
||||
</time>
|
||||
{page.tags?.filter((tag) => tag !== "post" && tag !== "page").length ? (
|
||||
<>
|
||||
<span className="xlog-post-tags space-x-1 truncate min-w-0">
|
||||
{page.tags
|
||||
?.filter((tag) => tag !== "post" && tag !== "page")
|
||||
.map((tag) => (
|
||||
<UniLink
|
||||
className="hover:text-zinc-600"
|
||||
key={tag}
|
||||
href={`/tag/${tag}`}
|
||||
>
|
||||
<>#{tag}</>
|
||||
</UniLink>
|
||||
))}
|
||||
</span>
|
||||
</>
|
||||
) : null}
|
||||
<span className="xlog-post-views inline-flex items-center">
|
||||
<EyeIcon className="w-4 h-4 inline-block mr-[2px]" />
|
||||
<span>{page.views}</span>
|
||||
</span>
|
||||
{author?.username && site?.username !== author?.username && (
|
||||
<>
|
||||
<span className="inline-flex items-center">
|
||||
<CharacterFloatCard siteId={author?.username}>
|
||||
<UniLink
|
||||
href={getSiteLink({
|
||||
subdomain: author?.username,
|
||||
})}
|
||||
className="cursor-pointer hover:text-zinc-600 inline-flex items-center"
|
||||
>
|
||||
<Avatar
|
||||
className="mr-1"
|
||||
images={author?.avatars || []}
|
||||
size={19}
|
||||
name={author?.name}
|
||||
/>
|
||||
<span>{author?.name}</span>
|
||||
</UniLink>
|
||||
</CharacterFloatCard>
|
||||
</span>
|
||||
</>
|
||||
)}
|
||||
<UniLink
|
||||
className="xlog-post-blockchain inline-block"
|
||||
href={
|
||||
page.related_urls?.filter((url) =>
|
||||
url.startsWith(CSB_SCAN + "/tx/"),
|
||||
)?.[0]
|
||||
}
|
||||
>
|
||||
<BlockchainIcon className="fill-zinc-500 ml-1" />
|
||||
</UniLink>
|
||||
{showEdit && (
|
||||
<UniLink
|
||||
className="xlog-post-editor inline-flex items-center"
|
||||
href={`${SITE_URL}/dashboard/${site?.username}/editor?id=${page.id}`}
|
||||
<div className="xlog-post-meta">
|
||||
<div className="text-zinc-400 mt-4 space-x-5 flex items-center">
|
||||
<time
|
||||
dateTime={date.formatToISO(page.date_published)}
|
||||
className="xlog-post-date whitespace-nowrap"
|
||||
>
|
||||
<PencilSquareIcon className="w-4 h-4 mx-1 inline-block" /> Edit
|
||||
{date.formatDate(
|
||||
page.date_published,
|
||||
undefined,
|
||||
isMounted ? undefined : "America/Los_Angeles",
|
||||
)}
|
||||
</time>
|
||||
{page.tags?.filter((tag) => tag !== "post" && tag !== "page").length ? (
|
||||
<>
|
||||
<span className="xlog-post-tags space-x-1 truncate min-w-0">
|
||||
{page.tags
|
||||
?.filter((tag) => tag !== "post" && tag !== "page")
|
||||
.map((tag) => (
|
||||
<UniLink
|
||||
className="hover:text-zinc-600"
|
||||
key={tag}
|
||||
href={`/tag/${tag}`}
|
||||
>
|
||||
<>#{tag}</>
|
||||
</UniLink>
|
||||
))}
|
||||
</span>
|
||||
</>
|
||||
) : null}
|
||||
<span className="xlog-post-views inline-flex items-center">
|
||||
<EyeIcon className="w-4 h-4 inline-block mr-[2px]" />
|
||||
<span>{page.views}</span>
|
||||
</span>
|
||||
{author?.username && site?.username !== author?.username && (
|
||||
<>
|
||||
<span className="inline-flex items-center">
|
||||
<CharacterFloatCard siteId={author?.username}>
|
||||
<UniLink
|
||||
href={getSiteLink({
|
||||
subdomain: author?.username,
|
||||
})}
|
||||
className="cursor-pointer hover:text-zinc-600 inline-flex items-center"
|
||||
>
|
||||
<Avatar
|
||||
className="mr-1"
|
||||
images={author?.avatars || []}
|
||||
size={19}
|
||||
name={author?.name}
|
||||
/>
|
||||
<span>{author?.name}</span>
|
||||
</UniLink>
|
||||
</CharacterFloatCard>
|
||||
</span>
|
||||
</>
|
||||
)}
|
||||
<UniLink
|
||||
className="xlog-post-blockchain inline-block"
|
||||
href={
|
||||
page.related_urls?.filter((url) =>
|
||||
url.startsWith(CSB_SCAN + "/tx/"),
|
||||
)?.[0]
|
||||
}
|
||||
>
|
||||
<BlockchainIcon className="fill-zinc-500 ml-1" />
|
||||
</UniLink>
|
||||
{showEdit && (
|
||||
<UniLink
|
||||
className="xlog-post-editor inline-flex items-center"
|
||||
href={`${SITE_URL}/dashboard/${site?.username}/editor?id=${page.id}`}
|
||||
>
|
||||
<PencilSquareIcon className="w-4 h-4 mx-1 inline-block" /> Edit
|
||||
</UniLink>
|
||||
)}
|
||||
</div>
|
||||
{!(summary.isSuccess && !summary.data) && (
|
||||
<div className="border rounded-xl mt-4 p-4 space-y-2">
|
||||
<div className="font-bold text-zinc-700 flex items-center">
|
||||
<LightBulbIcon className="inline w-4 h-4 mr-2 stroke-[2]" />
|
||||
{t("AI-generated summary")}
|
||||
</div>
|
||||
<div className="text-zinc-500 leading-loose text-sm">
|
||||
{summary.data || `${t("Generating")}...`}
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
</div>
|
||||
)
|
||||
|
|
|
|||
|
|
@ -22,3 +22,13 @@ export const toIPFS = (url: string) => {
|
|||
.replaceAll("https://ipfs.4everland.xyz/ipfs/", IPFS_PREFIX)
|
||||
.replaceAll("https://rss3.mypinata.cloud/ipfs/", IPFS_PREFIX)
|
||||
}
|
||||
|
||||
export const toCid = (url: string) => {
|
||||
return url
|
||||
?.replaceAll(IPFS_GATEWAY, "")
|
||||
.replaceAll("https://gateway.ipfs.io/ipfs/", "")
|
||||
.replaceAll("https://ipfs.io/ipfs/", "")
|
||||
.replaceAll("https://cf-ipfs.com/ipfs/", "")
|
||||
.replaceAll("https://ipfs.4everland.xyz/ipfs/", "")
|
||||
.replaceAll("https://rss3.mypinata.cloud/ipfs/", "")
|
||||
}
|
||||
|
|
|
|||
|
|
@ -603,3 +603,15 @@ export function toPageId({
|
|||
}: ReturnType<typeof parsePageId>) {
|
||||
return `${characterId}-${noteId}`
|
||||
}
|
||||
|
||||
export async function getSummary({
|
||||
cid,
|
||||
lang,
|
||||
}: {
|
||||
cid: string
|
||||
lang?: string
|
||||
}) {
|
||||
return await (
|
||||
await fetch(`/api/summary?cid=${cid}&lang=${lang || "en"}`)
|
||||
).text()
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,96 @@
|
|||
import { NextApiRequest, NextApiResponse } from "next"
|
||||
import { RecursiveCharacterTextSplitter } from "langchain/text_splitter"
|
||||
|
||||
import { cacheGet } from "~/lib/redis.server"
|
||||
import { toGateway } from "~/lib/ipfs-parser"
|
||||
|
||||
const returnLimit = 400
|
||||
const chunkSize = 4000
|
||||
|
||||
const splitter = new RecursiveCharacterTextSplitter({
|
||||
chunkSize,
|
||||
chunkOverlap: 1,
|
||||
})
|
||||
|
||||
async function segmentedSummary(
|
||||
content: string,
|
||||
lang: string,
|
||||
): Promise<string> {
|
||||
const segments = await splitter.createDocuments([content])
|
||||
|
||||
const results: string[] = await Promise.all(
|
||||
segments.map(async (segment) => {
|
||||
const prompt = `Summarize this in ${lang} language in less than ${returnLimit} characters: ${segment.pageContent}`
|
||||
|
||||
const response = await (
|
||||
await fetch("https://api.openai.com/v1/chat/completions", {
|
||||
method: "POST",
|
||||
headers: {
|
||||
"Content-Type": "application/json",
|
||||
Authorization: `Bearer ${process.env.OPENAI_API_KEY}`,
|
||||
},
|
||||
body: JSON.stringify({
|
||||
model: "gpt-3.5-turbo-0301",
|
||||
temperature: 0,
|
||||
top_p: 1,
|
||||
frequency_penalty: 1,
|
||||
presence_penalty: 1,
|
||||
messages: [
|
||||
{
|
||||
role: "user",
|
||||
content: prompt,
|
||||
},
|
||||
],
|
||||
}),
|
||||
})
|
||||
).json()
|
||||
|
||||
return response.choices?.[0]?.message?.content?.trim()
|
||||
}),
|
||||
)
|
||||
|
||||
if (results.length > 1) {
|
||||
return segmentedSummary(results.join("\n"), lang)
|
||||
} else {
|
||||
return results[0]
|
||||
}
|
||||
}
|
||||
|
||||
export async function getSummary(cid: string, lang: string = "en") {
|
||||
const summary = await cacheGet({
|
||||
key: ["summary", cid, lang],
|
||||
getValueFun: async () => {
|
||||
try {
|
||||
console.log("fetching summary", cid, lang)
|
||||
|
||||
const { content } = await (
|
||||
await fetch(toGateway(`ipfs://${cid}`))
|
||||
).json()
|
||||
|
||||
const result = await segmentedSummary(content, lang)
|
||||
|
||||
return result
|
||||
} catch (error) {
|
||||
console.error(error)
|
||||
return undefined
|
||||
}
|
||||
},
|
||||
noUpdate: true,
|
||||
})
|
||||
|
||||
return summary
|
||||
}
|
||||
|
||||
export default async function handler(
|
||||
req: NextApiRequest,
|
||||
res: NextApiResponse,
|
||||
) {
|
||||
let { cid, lang } = req.query
|
||||
|
||||
if (!cid) {
|
||||
res.status(400).send("Bad Request")
|
||||
return
|
||||
}
|
||||
|
||||
res.status(200).send(await getSummary(cid as string, lang as string))
|
||||
}
|
||||
|
|
@ -2,6 +2,7 @@ import * as pageModel from "~/models/page.model"
|
|||
import { QueryClient } from "@tanstack/react-query"
|
||||
import { cacheGet } from "~/lib/redis.server"
|
||||
import { getIdBySlug } from "~/pages/api/slug2id"
|
||||
import { getSummary } from "~/pages/api/summary"
|
||||
|
||||
export const fetchGetPage = async (
|
||||
input: Parameters<typeof pageModel.getPage>[0],
|
||||
|
|
@ -60,3 +61,16 @@ export const fetchGetPagesBySite = async (
|
|||
})
|
||||
})
|
||||
}
|
||||
|
||||
export const prefetchGetSummary = async (
|
||||
input: { cid?: string; lang?: string },
|
||||
queryClient: QueryClient,
|
||||
) => {
|
||||
const key = ["getSummary", input.cid, input.lang]
|
||||
await queryClient.fetchQuery(key, async () => {
|
||||
if (!input.cid || !input.lang) {
|
||||
return
|
||||
}
|
||||
return getSummary(input.cid, input.lang)
|
||||
})
|
||||
}
|
||||
|
|
|
|||
|
|
@ -221,3 +221,15 @@ export function useGetComments(input: { pageId?: string }) {
|
|||
})
|
||||
})
|
||||
}
|
||||
|
||||
export function useGetSummary(input: { cid?: string; lang?: string }) {
|
||||
return useQuery(["getSummary", input.cid, input.lang], async () => {
|
||||
if (!input.cid || !input.lang) {
|
||||
return
|
||||
}
|
||||
return pageModel.getSummary({
|
||||
cid: input.cid,
|
||||
lang: input.lang,
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue