Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
OpenDAS
ollama
Commits
ad4ffdf7
Commit
ad4ffdf7
authored
Jun 27, 2023
by
Jeffrey Morgan
Browse files
desktop: load model from file
parent
a12df7fa
Changes
8
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
273 additions
and
153 deletions
+273
-153
desktop/README.md
desktop/README.md
+16
-0
desktop/forge.config.ts
desktop/forge.config.ts
+2
-1
desktop/package-lock.json
desktop/package-lock.json
+127
-85
desktop/package.json
desktop/package.json
+6
-3
desktop/src/app.css
desktop/src/app.css
+18
-0
desktop/src/app.tsx
desktop/src/app.tsx
+92
-59
desktop/src/index.ts
desktop/src/index.ts
+12
-3
desktop/src/preload.ts
desktop/src/preload.ts
+0
-2
No files found.
desktop/README.md
0 → 100644
View file @
ad4ffdf7
# Desktop
The Ollama desktop experience
## Running
```
npm install
npm start
```
## Packaging
```
npm run package
```
desktop/forge.config.ts
View file @
ad4ffdf7
...
@@ -13,7 +13,7 @@ const config: ForgeConfig = {
...
@@ -13,7 +13,7 @@ const config: ForgeConfig = {
packagerConfig
:
{
packagerConfig
:
{
asar
:
true
,
asar
:
true
,
icon
:
'
./images/icon
'
,
icon
:
'
./images/icon
'
,
extraResource
:
[
'
../
server/dist/server
'
],
extraResource
:
[
'
../
dist/ollama
'
],
},
},
rebuildConfig
:
{},
rebuildConfig
:
{},
makers
:
[
new
MakerSquirrel
({}),
new
MakerZIP
({},
[
'
darwin
'
]),
new
MakerRpm
({}),
new
MakerDeb
({})],
makers
:
[
new
MakerSquirrel
({}),
new
MakerZIP
({},
[
'
darwin
'
]),
new
MakerRpm
({}),
new
MakerDeb
({})],
...
@@ -24,6 +24,7 @@ const config: ForgeConfig = {
...
@@ -24,6 +24,7 @@ const config: ForgeConfig = {
devContentSecurityPolicy
:
`default-src * 'unsafe-eval' 'unsafe-inline'`
,
devContentSecurityPolicy
:
`default-src * 'unsafe-eval' 'unsafe-inline'`
,
renderer
:
{
renderer
:
{
config
:
rendererConfig
,
config
:
rendererConfig
,
nodeIntegration
:
true
,
entryPoints
:
[
entryPoints
:
[
{
{
html
:
'
./src/index.html
'
,
html
:
'
./src/index.html
'
,
...
...
desktop/package-lock.json
View file @
ad4ffdf7
{
{
"name"
:
"
client
"
,
"name"
:
"
ollama
"
,
"version"
:
"
1
.0.
0
"
,
"version"
:
"
0
.0.
1
"
,
"lockfileVersion"
:
3
,
"lockfileVersion"
:
3
,
"requires"
:
true
,
"requires"
:
true
,
"packages"
:
{
"packages"
:
{
""
:
{
""
:
{
"name"
:
"
client
"
,
"name"
:
"
ollama
"
,
"version"
:
"
1
.0.
0
"
,
"version"
:
"
0
.0.
1
"
,
"license"
:
"MIT"
,
"license"
:
"MIT"
,
"dependencies"
:
{
"dependencies"
:
{
"@electron/remote"
:
"^2.0.10"
,
"@types/node"
:
"^20.3.1"
,
"@types/node"
:
"^20.3.1"
,
"electron-squirrel-startup"
:
"^1.0.0"
,
"electron-squirrel-startup"
:
"^1.0.0"
,
"react"
:
"^18.2.0"
,
"react"
:
"^18.2.0"
,
...
@@ -43,6 +44,8 @@
...
@@ -43,6 +44,8 @@
"postcss-import"
:
"^15.1.0"
,
"postcss-import"
:
"^15.1.0"
,
"postcss-loader"
:
"^7.3.3"
,
"postcss-loader"
:
"^7.3.3"
,
"postcss-preset-env"
:
"^8.5.1"
,
"postcss-preset-env"
:
"^8.5.1"
,
"prettier"
:
"^2.8.8"
,
"prettier-plugin-tailwindcss"
:
"^0.3.0"
,
"style-loader"
:
"^3.3.3"
,
"style-loader"
:
"^3.3.3"
,
"tailwindcss"
:
"^3.3.2"
,
"tailwindcss"
:
"^3.3.2"
,
"ts-loader"
:
"^9.4.3"
,
"ts-loader"
:
"^9.4.3"
,
...
@@ -1687,7 +1690,6 @@
...
@@ -1687,7 +1690,6 @@
"version"
:
"2.0.2"
,
"version"
:
"2.0.2"
,
"resolved"
:
"https://registry.npmjs.org/@electron/get/-/get-2.0.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@electron/get/-/get-2.0.2.tgz"
,
"integrity"
:
"sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g=="
,
"integrity"
:
"sha512-eFZVFoRXb3GFGd7Ak7W4+6jBl9wBtiZ4AaYOse97ej6mKj5tkyO0dUnUChs1IhJZtx1BENo4/p4WUTXpi6vT+g=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"debug"
:
"^4.1.1"
,
"debug"
:
"^4.1.1"
,
"env-paths"
:
"^2.2.0"
,
"env-paths"
:
"^2.2.0"
,
...
@@ -1708,7 +1710,6 @@
...
@@ -1708,7 +1710,6 @@
"version"
:
"8.1.0"
,
"version"
:
"8.1.0"
,
"resolved"
:
"https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz"
,
"integrity"
:
"sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="
,
"integrity"
:
"sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"graceful-fs"
:
"^4.2.0"
,
"graceful-fs"
:
"^4.2.0"
,
"jsonfile"
:
"^4.0.0"
,
"jsonfile"
:
"^4.0.0"
,
...
@@ -1722,7 +1723,6 @@
...
@@ -1722,7 +1723,6 @@
"version"
:
"4.0.0"
,
"version"
:
"4.0.0"
,
"resolved"
:
"https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz"
,
"integrity"
:
"sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="
,
"integrity"
:
"sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg=="
,
"dev"
:
true
,
"optionalDependencies"
:
{
"optionalDependencies"
:
{
"graceful-fs"
:
"^4.1.6"
"graceful-fs"
:
"^4.1.6"
}
}
...
@@ -1731,7 +1731,6 @@
...
@@ -1731,7 +1731,6 @@
"version"
:
"6.3.0"
,
"version"
:
"6.3.0"
,
"resolved"
:
"https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/semver/-/semver-6.3.0.tgz"
,
"integrity"
:
"sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
,
"integrity"
:
"sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw=="
,
"dev"
:
true
,
"bin"
:
{
"bin"
:
{
"semver"
:
"bin/semver.js"
"semver"
:
"bin/semver.js"
}
}
...
@@ -1740,7 +1739,6 @@
...
@@ -1740,7 +1739,6 @@
"version"
:
"0.1.2"
,
"version"
:
"0.1.2"
,
"resolved"
:
"https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz"
,
"integrity"
:
"sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
,
"integrity"
:
"sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">= 4.0.0"
"node"
:
">= 4.0.0"
}
}
...
@@ -1821,6 +1819,14 @@
...
@@ -1821,6 +1819,14 @@
"node"
:
">=12.13.0"
"node"
:
">=12.13.0"
}
}
},
},
"node_modules/@electron/remote"
:
{
"version"
:
"2.0.10"
,
"resolved"
:
"https://registry.npmjs.org/@electron/remote/-/remote-2.0.10.tgz"
,
"integrity"
:
"sha512-3SFKKaQXcyWgwmibud+UqJl/XlHOgLcI3fwtB9pNelPSJAcTxocOJrF6FaxBIQaj1+R05Di6xuAswZpXAW7xhA=="
,
"peerDependencies"
:
{
"electron"
:
">= 13.0.0"
}
},
"node_modules/@electron/universal"
:
{
"node_modules/@electron/universal"
:
{
"version"
:
"1.3.4"
,
"version"
:
"1.3.4"
,
"resolved"
:
"https://registry.npmjs.org/@electron/universal/-/universal-1.3.4.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@electron/universal/-/universal-1.3.4.tgz"
,
...
@@ -2214,7 +2220,6 @@
...
@@ -2214,7 +2220,6 @@
"version"
:
"4.6.0"
,
"version"
:
"4.6.0"
,
"resolved"
:
"https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@sindresorhus/is/-/is-4.6.0.tgz"
,
"integrity"
:
"sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw=="
,
"integrity"
:
"sha512-t09vSN3MdfsyCHoFcTRCH/iUtG7OJ0CsjzB8cjAmKc/va/kIgeDI/TxsigdncE/4be734m0cvIYwNaV4i2XqAw=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=10"
"node"
:
">=10"
},
},
...
@@ -2226,7 +2231,6 @@
...
@@ -2226,7 +2231,6 @@
"version"
:
"4.0.6"
,
"version"
:
"4.0.6"
,
"resolved"
:
"https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-4.0.6.tgz"
,
"integrity"
:
"sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w=="
,
"integrity"
:
"sha512-4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"defer-to-connect"
:
"^2.0.0"
"defer-to-connect"
:
"^2.0.0"
},
},
...
@@ -2290,7 +2294,6 @@
...
@@ -2290,7 +2294,6 @@
"version"
:
"6.0.3"
,
"version"
:
"6.0.3"
,
"resolved"
:
"https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@types/cacheable-request/-/cacheable-request-6.0.3.tgz"
,
"integrity"
:
"sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw=="
,
"integrity"
:
"sha512-IQ3EbTzGxIigb1I3qPZc1rWJnH0BmSKv5QYTalEwweFvyBDLSAe24zP0le/hyi7ecGfZVlIVAg4BZqb8WBwKqw=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"@types/http-cache-semantics"
:
"*"
,
"@types/http-cache-semantics"
:
"*"
,
"@types/keyv"
:
"^3.1.4"
,
"@types/keyv"
:
"^3.1.4"
,
...
@@ -2406,8 +2409,7 @@
...
@@ -2406,8 +2409,7 @@
"node_modules/@types/http-cache-semantics"
:
{
"node_modules/@types/http-cache-semantics"
:
{
"version"
:
"4.0.1"
,
"version"
:
"4.0.1"
,
"resolved"
:
"https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@types/http-cache-semantics/-/http-cache-semantics-4.0.1.tgz"
,
"integrity"
:
"sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ=="
,
"integrity"
:
"sha512-SZs7ekbP8CN0txVG2xVRH6EgKmEm31BOxA07vkFaETzZz1xh+cbt8BcI0slpymvwhx5dlFnQG2rTlPVQn+iRPQ=="
"dev"
:
true
},
},
"node_modules/@types/http-errors"
:
{
"node_modules/@types/http-errors"
:
{
"version"
:
"2.0.1"
,
"version"
:
"2.0.1"
,
...
@@ -2440,7 +2442,6 @@
...
@@ -2440,7 +2442,6 @@
"version"
:
"3.1.4"
,
"version"
:
"3.1.4"
,
"resolved"
:
"https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@types/keyv/-/keyv-3.1.4.tgz"
,
"integrity"
:
"sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg=="
,
"integrity"
:
"sha512-BQ5aZNSCpj7D6K2ksrRCTmKRLEpnPvWDiLPfoGyhZ++8YtiK9d/3DBKPJgry359X/P1PfruyYwvnvwFjuEiEIg=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"@types/node"
:
"*"
"@types/node"
:
"*"
}
}
...
@@ -2511,7 +2512,6 @@
...
@@ -2511,7 +2512,6 @@
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@types/responselike/-/responselike-1.0.0.tgz"
,
"integrity"
:
"sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA=="
,
"integrity"
:
"sha512-85Y2BjiufFzaMIlvJDvTTB8Fxl2xfLo4HgmHzVBz08w4wDePCTjYw66PdrolO0kzli3yam/YCgRufyo1DdQVTA=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"@types/node"
:
"*"
"@types/node"
:
"*"
}
}
...
@@ -2586,7 +2586,6 @@
...
@@ -2586,7 +2586,6 @@
"version"
:
"2.10.0"
,
"version"
:
"2.10.0"
,
"resolved"
:
"https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@types/yauzl/-/yauzl-2.10.0.tgz"
,
"integrity"
:
"sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw=="
,
"integrity"
:
"sha512-Cn6WYCm0tXv8p6k+A8PvbDG763EDpBoTzHdA+Q/MF6H3sapGjCm9NzoaJncJS9tUKSuCoDs9XHxYYsQDgxR6kw=="
,
"dev"
:
true
,
"optional"
:
true
,
"optional"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"@types/node"
:
"*"
"@types/node"
:
"*"
...
@@ -3647,7 +3646,6 @@
...
@@ -3647,7 +3646,6 @@
"version"
:
"3.2.0"
,
"version"
:
"3.2.0"
,
"resolved"
:
"https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz"
,
"integrity"
:
"sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw=="
,
"integrity"
:
"sha512-d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw=="
,
"dev"
:
true
,
"optional"
:
true
"optional"
:
true
},
},
"node_modules/brace-expansion"
:
{
"node_modules/brace-expansion"
:
{
...
@@ -3732,7 +3730,6 @@
...
@@ -3732,7 +3730,6 @@
"version"
:
"0.2.13"
,
"version"
:
"0.2.13"
,
"resolved"
:
"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz"
,
"resolved"
:
"https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz"
,
"integrity"
:
"sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="
,
"integrity"
:
"sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
"*"
"node"
:
"*"
}
}
...
@@ -3837,7 +3834,6 @@
...
@@ -3837,7 +3834,6 @@
"version"
:
"5.0.4"
,
"version"
:
"5.0.4"
,
"resolved"
:
"https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz"
,
"resolved"
:
"https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-5.0.4.tgz"
,
"integrity"
:
"sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA=="
,
"integrity"
:
"sha512-2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=10.6.0"
"node"
:
">=10.6.0"
}
}
...
@@ -3846,7 +3842,6 @@
...
@@ -3846,7 +3842,6 @@
"version"
:
"7.0.4"
,
"version"
:
"7.0.4"
,
"resolved"
:
"https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz"
,
"resolved"
:
"https://registry.npmjs.org/cacheable-request/-/cacheable-request-7.0.4.tgz"
,
"integrity"
:
"sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg=="
,
"integrity"
:
"sha512-v+p6ongsrp0yTGbJXjgxPow2+DL93DASP4kXCDKb8/bwRtt9OEF3whggkkDkGNzgcWy2XaF4a8nZglC7uElscg=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"clone-response"
:
"^1.0.2"
,
"clone-response"
:
"^1.0.2"
,
"get-stream"
:
"^5.1.0"
,
"get-stream"
:
"^5.1.0"
,
...
@@ -4118,7 +4113,6 @@
...
@@ -4118,7 +4113,6 @@
"version"
:
"1.0.3"
,
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/clone-response/-/clone-response-1.0.3.tgz"
,
"integrity"
:
"sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA=="
,
"integrity"
:
"sha512-ROoL94jJH2dUVML2Y/5PEDNaSHgeOdSDicUyS7izcF63G6sTc/FTjLub4b8Il9S8S0beOfYt0TaA5qvFK+w0wA=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"mimic-response"
:
"^1.0.0"
"mimic-response"
:
"^1.0.0"
},
},
...
@@ -4673,7 +4667,6 @@
...
@@ -4673,7 +4667,6 @@
"version"
:
"4.3.4"
,
"version"
:
"4.3.4"
,
"resolved"
:
"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
,
"resolved"
:
"https://registry.npmjs.org/debug/-/debug-4.3.4.tgz"
,
"integrity"
:
"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
,
"integrity"
:
"sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"ms"
:
"2.1.2"
"ms"
:
"2.1.2"
},
},
...
@@ -4700,7 +4693,6 @@
...
@@ -4700,7 +4693,6 @@
"version"
:
"6.0.0"
,
"version"
:
"6.0.0"
,
"resolved"
:
"https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz"
,
"integrity"
:
"sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="
,
"integrity"
:
"sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"mimic-response"
:
"^3.1.0"
"mimic-response"
:
"^3.1.0"
},
},
...
@@ -4715,7 +4707,6 @@
...
@@ -4715,7 +4707,6 @@
"version"
:
"3.1.0"
,
"version"
:
"3.1.0"
,
"resolved"
:
"https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz"
,
"integrity"
:
"sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="
,
"integrity"
:
"sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=10"
"node"
:
">=10"
},
},
...
@@ -4766,7 +4757,6 @@
...
@@ -4766,7 +4757,6 @@
"version"
:
"2.0.1"
,
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-2.0.1.tgz"
,
"integrity"
:
"sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="
,
"integrity"
:
"sha512-4tvttepXG1VaYGrRibk5EwJd1t4udunSOVMdLSAL6mId1ix438oPwPZMALY41FCijukO1L0twNcGsdzS7dHgDg=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=10"
"node"
:
">=10"
}
}
...
@@ -4784,7 +4774,7 @@
...
@@ -4784,7 +4774,7 @@
"version"
:
"1.2.0"
,
"version"
:
"1.2.0"
,
"resolved"
:
"https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz"
,
"integrity"
:
"sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA=="
,
"integrity"
:
"sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA=="
,
"dev"
:
true
,
"dev
Optional
"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"has-property-descriptors"
:
"^1.0.0"
,
"has-property-descriptors"
:
"^1.0.0"
,
"object-keys"
:
"^1.1.1"
"object-keys"
:
"^1.1.1"
...
@@ -4834,7 +4824,7 @@
...
@@ -4834,7 +4824,7 @@
"version"
:
"2.1.0"
,
"version"
:
"2.1.0"
,
"resolved"
:
"https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz"
,
"integrity"
:
"sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
,
"integrity"
:
"sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g=="
,
"dev"
:
true
"dev
Optional
"
:
true
},
},
"node_modules/didyoumean"
:
{
"node_modules/didyoumean"
:
{
"version"
:
"1.2.2"
,
"version"
:
"1.2.2"
,
...
@@ -4999,7 +4989,6 @@
...
@@ -4999,7 +4989,6 @@
"version"
:
"25.2.0"
,
"version"
:
"25.2.0"
,
"resolved"
:
"https://registry.npmjs.org/electron/-/electron-25.2.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/electron/-/electron-25.2.0.tgz"
,
"integrity"
:
"sha512-I/rhcW2sV2fyiveVSBr2N7v5ZiCtdGY0UiNCDZgk2fpSC+irQjbeh7JT2b4vWmJ2ogOXBjqesrN9XszTIG6DHg=="
,
"integrity"
:
"sha512-I/rhcW2sV2fyiveVSBr2N7v5ZiCtdGY0UiNCDZgk2fpSC+irQjbeh7JT2b4vWmJ2ogOXBjqesrN9XszTIG6DHg=="
,
"dev"
:
true
,
"hasInstallScript"
:
true
,
"hasInstallScript"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"@electron/get"
:
"^2.0.0"
,
"@electron/get"
:
"^2.0.0"
,
...
@@ -5497,8 +5486,7 @@
...
@@ -5497,8 +5486,7 @@
"node_modules/electron/node_modules/@types/node"
:
{
"node_modules/electron/node_modules/@types/node"
:
{
"version"
:
"18.16.18"
,
"version"
:
"18.16.18"
,
"resolved"
:
"https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz"
,
"resolved"
:
"https://registry.npmjs.org/@types/node/-/node-18.16.18.tgz"
,
"integrity"
:
"sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw=="
,
"integrity"
:
"sha512-/aNaQZD0+iSBAGnvvN2Cx92HqE5sZCPZtx2TsK+4nvV23fFe09jVDvpArXr2j9DnYlzuU9WuoykDDc6wqvpNcw=="
"dev"
:
true
},
},
"node_modules/emoji-regex"
:
{
"node_modules/emoji-regex"
:
{
"version"
:
"8.0.0"
,
"version"
:
"8.0.0"
,
...
@@ -5551,7 +5539,6 @@
...
@@ -5551,7 +5539,6 @@
"version"
:
"1.4.4"
,
"version"
:
"1.4.4"
,
"resolved"
:
"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz"
,
"resolved"
:
"https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz"
,
"integrity"
:
"sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q=="
,
"integrity"
:
"sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"once"
:
"^1.4.0"
"once"
:
"^1.4.0"
}
}
...
@@ -5582,7 +5569,6 @@
...
@@ -5582,7 +5569,6 @@
"version"
:
"2.2.1"
,
"version"
:
"2.2.1"
,
"resolved"
:
"https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz"
,
"integrity"
:
"sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="
,
"integrity"
:
"sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=6"
"node"
:
">=6"
}
}
...
@@ -5712,7 +5698,6 @@
...
@@ -5712,7 +5698,6 @@
"version"
:
"4.1.1"
,
"version"
:
"4.1.1"
,
"resolved"
:
"https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz"
,
"integrity"
:
"sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="
,
"integrity"
:
"sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg=="
,
"dev"
:
true
,
"optional"
:
true
"optional"
:
true
},
},
"node_modules/escalade"
:
{
"node_modules/escalade"
:
{
...
@@ -5734,7 +5719,7 @@
...
@@ -5734,7 +5719,7 @@
"version"
:
"4.0.0"
,
"version"
:
"4.0.0"
,
"resolved"
:
"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz"
,
"integrity"
:
"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
,
"integrity"
:
"sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="
,
"dev"
:
true
,
"dev
Optional
"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=10"
"node"
:
">=10"
},
},
...
@@ -6183,7 +6168,6 @@
...
@@ -6183,7 +6168,6 @@
"version"
:
"2.0.1"
,
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/extract-zip/-/extract-zip-2.0.1.tgz"
,
"integrity"
:
"sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="
,
"integrity"
:
"sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"debug"
:
"^4.1.1"
,
"debug"
:
"^4.1.1"
,
"get-stream"
:
"^5.1.0"
,
"get-stream"
:
"^5.1.0"
,
...
@@ -6279,7 +6263,6 @@
...
@@ -6279,7 +6263,6 @@
"version"
:
"1.1.0"
,
"version"
:
"1.1.0"
,
"resolved"
:
"https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/fd-slicer/-/fd-slicer-1.1.0.tgz"
,
"integrity"
:
"sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="
,
"integrity"
:
"sha512-cE1qsB/VwyQozZ+q1dGxR8LBYNZeofhEdUNGSMbQD3Gw2lAzX9Zb3uIU6Ebc/Fmyjo9AWWfnn0AUCHqtevs/8g=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"pend"
:
"~1.2.0"
"pend"
:
"~1.2.0"
}
}
...
@@ -6642,7 +6625,7 @@
...
@@ -6642,7 +6625,7 @@
"version"
:
"1.1.1"
,
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz"
,
"integrity"
:
"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
,
"integrity"
:
"sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A=="
,
"dev"
:
true
"dev
Optional
"
:
true
},
},
"node_modules/function.prototype.name"
:
{
"node_modules/function.prototype.name"
:
{
"version"
:
"1.1.5"
,
"version"
:
"1.1.5"
,
...
@@ -6791,7 +6774,7 @@
...
@@ -6791,7 +6774,7 @@
"version"
:
"1.2.1"
,
"version"
:
"1.2.1"
,
"resolved"
:
"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.1.tgz"
,
"integrity"
:
"sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw=="
,
"integrity"
:
"sha512-2DcsyfABl+gVHEfCOaTrWgyt+tb6MSEGmKq+kI5HwLbIYgjgmMcV8KQ41uaKz1xxUcn9tJtgFbQUEVcEbd0FYw=="
,
"dev"
:
true
,
"dev
Optional
"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"function-bind"
:
"^1.1.1"
,
"function-bind"
:
"^1.1.1"
,
"has"
:
"^1.0.3"
,
"has"
:
"^1.0.3"
,
...
@@ -6836,7 +6819,6 @@
...
@@ -6836,7 +6819,6 @@
"version"
:
"5.2.0"
,
"version"
:
"5.2.0"
,
"resolved"
:
"https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz"
,
"integrity"
:
"sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="
,
"integrity"
:
"sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"pump"
:
"^3.0.0"
"pump"
:
"^3.0.0"
},
},
...
@@ -6905,7 +6887,6 @@
...
@@ -6905,7 +6887,6 @@
"version"
:
"3.0.0"
,
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/global-agent/-/global-agent-3.0.0.tgz"
,
"integrity"
:
"sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q=="
,
"integrity"
:
"sha512-PT6XReJ+D07JvGoxQMkT6qji/jVNfX/h364XHZOWeRzy64sSFr+xJ5OX7LI3b4MPQzdL4H8Y8M0xzPpsVMwA8Q=="
,
"dev"
:
true
,
"optional"
:
true
,
"optional"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"boolean"
:
"^3.0.1"
,
"boolean"
:
"^3.0.1"
,
...
@@ -6980,7 +6961,7 @@
...
@@ -6980,7 +6961,7 @@
"version"
:
"1.0.3"
,
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/globalthis/-/globalthis-1.0.3.tgz"
,
"integrity"
:
"sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA=="
,
"integrity"
:
"sha512-sFdI5LyBiNTHjRd7cGPWapiHWMOXKyuBNX/cWJ3NfzrZQVa8GI/8cofCl74AOVqq9W5kNmguTIzJ/1s2gyI9wA=="
,
"dev"
:
true
,
"dev
Optional
"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"define-properties"
:
"^1.1.3"
"define-properties"
:
"^1.1.3"
},
},
...
@@ -7027,7 +7008,6 @@
...
@@ -7027,7 +7008,6 @@
"version"
:
"11.8.6"
,
"version"
:
"11.8.6"
,
"resolved"
:
"https://registry.npmjs.org/got/-/got-11.8.6.tgz"
,
"resolved"
:
"https://registry.npmjs.org/got/-/got-11.8.6.tgz"
,
"integrity"
:
"sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g=="
,
"integrity"
:
"sha512-6tfZ91bOr7bOXnK7PRDCGBLa1H4U080YHNaAQ2KsMGlLEzRbk44nsZF2E1IeRc3vtJHPVbKCYgdFbaGO2ljd8g=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"@sindresorhus/is"
:
"^4.0.0"
,
"@sindresorhus/is"
:
"^4.0.0"
,
"@szmarczak/http-timer"
:
"^4.0.5"
,
"@szmarczak/http-timer"
:
"^4.0.5"
,
...
@@ -7051,8 +7031,7 @@
...
@@ -7051,8 +7031,7 @@
"node_modules/graceful-fs"
:
{
"node_modules/graceful-fs"
:
{
"version"
:
"4.2.11"
,
"version"
:
"4.2.11"
,
"resolved"
:
"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz"
,
"resolved"
:
"https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz"
,
"integrity"
:
"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
,
"integrity"
:
"sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="
"dev"
:
true
},
},
"node_modules/grapheme-splitter"
:
{
"node_modules/grapheme-splitter"
:
{
"version"
:
"1.0.4"
,
"version"
:
"1.0.4"
,
...
@@ -7076,7 +7055,7 @@
...
@@ -7076,7 +7055,7 @@
"version"
:
"1.0.3"
,
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/has/-/has-1.0.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/has/-/has-1.0.3.tgz"
,
"integrity"
:
"sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="
,
"integrity"
:
"sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw=="
,
"dev"
:
true
,
"dev
Optional
"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"function-bind"
:
"^1.1.1"
"function-bind"
:
"^1.1.1"
},
},
...
@@ -7106,7 +7085,7 @@
...
@@ -7106,7 +7085,7 @@
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz"
,
"integrity"
:
"sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ=="
,
"integrity"
:
"sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ=="
,
"dev"
:
true
,
"dev
Optional
"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"get-intrinsic"
:
"^1.1.1"
"get-intrinsic"
:
"^1.1.1"
},
},
...
@@ -7118,7 +7097,7 @@
...
@@ -7118,7 +7097,7 @@
"version"
:
"1.0.1"
,
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz"
,
"integrity"
:
"sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg=="
,
"integrity"
:
"sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg=="
,
"dev"
:
true
,
"dev
Optional
"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">= 0.4"
"node"
:
">= 0.4"
},
},
...
@@ -7130,7 +7109,7 @@
...
@@ -7130,7 +7109,7 @@
"version"
:
"1.0.3"
,
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz"
,
"integrity"
:
"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
,
"integrity"
:
"sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
,
"dev"
:
true
,
"dev
Optional
"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">= 0.4"
"node"
:
">= 0.4"
},
},
...
@@ -7319,8 +7298,7 @@
...
@@ -7319,8 +7298,7 @@
"node_modules/http-cache-semantics"
:
{
"node_modules/http-cache-semantics"
:
{
"version"
:
"4.1.1"
,
"version"
:
"4.1.1"
,
"resolved"
:
"https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz"
,
"integrity"
:
"sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
,
"integrity"
:
"sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ=="
"dev"
:
true
},
},
"node_modules/http-deceiver"
:
{
"node_modules/http-deceiver"
:
{
"version"
:
"1.2.7"
,
"version"
:
"1.2.7"
,
...
@@ -7406,7 +7384,6 @@
...
@@ -7406,7 +7384,6 @@
"version"
:
"1.0.3"
,
"version"
:
"1.0.3"
,
"resolved"
:
"https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/http2-wrapper/-/http2-wrapper-1.0.3.tgz"
,
"integrity"
:
"sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg=="
,
"integrity"
:
"sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"quick-lru"
:
"^5.1.1"
,
"quick-lru"
:
"^5.1.1"
,
"resolve-alpn"
:
"^1.0.0"
"resolve-alpn"
:
"^1.0.0"
...
@@ -8095,8 +8072,7 @@
...
@@ -8095,8 +8072,7 @@
"node_modules/json-buffer"
:
{
"node_modules/json-buffer"
:
{
"version"
:
"3.0.1"
,
"version"
:
"3.0.1"
,
"resolved"
:
"https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz"
,
"integrity"
:
"sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
,
"integrity"
:
"sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ=="
"dev"
:
true
},
},
"node_modules/json-parse-even-better-errors"
:
{
"node_modules/json-parse-even-better-errors"
:
{
"version"
:
"2.3.1"
,
"version"
:
"2.3.1"
,
...
@@ -8120,7 +8096,6 @@
...
@@ -8120,7 +8096,6 @@
"version"
:
"5.0.1"
,
"version"
:
"5.0.1"
,
"resolved"
:
"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz"
,
"integrity"
:
"sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
,
"integrity"
:
"sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA=="
,
"dev"
:
true
,
"optional"
:
true
"optional"
:
true
},
},
"node_modules/json5"
:
{
"node_modules/json5"
:
{
...
@@ -8160,7 +8135,6 @@
...
@@ -8160,7 +8135,6 @@
"version"
:
"4.5.2"
,
"version"
:
"4.5.2"
,
"resolved"
:
"https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/keyv/-/keyv-4.5.2.tgz"
,
"integrity"
:
"sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g=="
,
"integrity"
:
"sha512-5MHbFaKn8cNSmVW7BYnijeAVlE4cYA/SVkifVgrh7yotnfhKmjuXpDKjrABLnT0SfHWV21P8ow07OGfRrNDg8g=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"json-buffer"
:
"3.0.1"
"json-buffer"
:
"3.0.1"
}
}
...
@@ -8439,7 +8413,6 @@
...
@@ -8439,7 +8413,6 @@
"version"
:
"2.0.0"
,
"version"
:
"2.0.0"
,
"resolved"
:
"https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz"
,
"integrity"
:
"sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
,
"integrity"
:
"sha512-tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=8"
"node"
:
">=8"
}
}
...
@@ -8525,7 +8498,6 @@
...
@@ -8525,7 +8498,6 @@
"version"
:
"3.0.0"
,
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/matcher/-/matcher-3.0.0.tgz"
,
"integrity"
:
"sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng=="
,
"integrity"
:
"sha512-OkeDaAZ/bQCxeFAozM55PKcKU0yJMPGifLwV4Qgjitu+5MoAfSQN4lsLJeXZ1b8w0x+/Emda6MZgXS1jvsapng=="
,
"dev"
:
true
,
"optional"
:
true
,
"optional"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"escape-string-regexp"
:
"^4.0.0"
"escape-string-regexp"
:
"^4.0.0"
...
@@ -8658,7 +8630,6 @@
...
@@ -8658,7 +8630,6 @@
"version"
:
"1.0.1"
,
"version"
:
"1.0.1"
,
"resolved"
:
"https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz"
,
"integrity"
:
"sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
,
"integrity"
:
"sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=4"
"node"
:
">=4"
}
}
...
@@ -8852,8 +8823,7 @@
...
@@ -8852,8 +8823,7 @@
"node_modules/ms"
:
{
"node_modules/ms"
:
{
"version"
:
"2.1.2"
,
"version"
:
"2.1.2"
,
"resolved"
:
"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/ms/-/ms-2.1.2.tgz"
,
"integrity"
:
"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
,
"integrity"
:
"sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
"dev"
:
true
},
},
"node_modules/multicast-dns"
:
{
"node_modules/multicast-dns"
:
{
"version"
:
"7.2.5"
,
"version"
:
"7.2.5"
,
...
@@ -9104,7 +9074,6 @@
...
@@ -9104,7 +9074,6 @@
"version"
:
"6.1.0"
,
"version"
:
"6.1.0"
,
"resolved"
:
"https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz"
,
"integrity"
:
"sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="
,
"integrity"
:
"sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=10"
"node"
:
">=10"
},
},
...
@@ -9182,7 +9151,7 @@
...
@@ -9182,7 +9151,7 @@
"version"
:
"1.1.1"
,
"version"
:
"1.1.1"
,
"resolved"
:
"https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz"
,
"integrity"
:
"sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
,
"integrity"
:
"sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA=="
,
"dev"
:
true
,
"dev
Optional
"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">= 0.4"
"node"
:
">= 0.4"
}
}
...
@@ -9253,7 +9222,6 @@
...
@@ -9253,7 +9222,6 @@
"version"
:
"1.4.0"
,
"version"
:
"1.4.0"
,
"resolved"
:
"https://registry.npmjs.org/once/-/once-1.4.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/once/-/once-1.4.0.tgz"
,
"integrity"
:
"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="
,
"integrity"
:
"sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"wrappy"
:
"1"
"wrappy"
:
"1"
}
}
...
@@ -9334,7 +9302,6 @@
...
@@ -9334,7 +9302,6 @@
"version"
:
"2.1.1"
,
"version"
:
"2.1.1"
,
"resolved"
:
"https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.1.1.tgz"
,
"integrity"
:
"sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg=="
,
"integrity"
:
"sha512-BZOr3nRQHOntUjTrH8+Lh54smKHoHyur8We1V8DSMVrl5A2malOOwuJRnKRDjSnkoeBh4at6BwEnb5I7Jl31wg=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=8"
"node"
:
">=8"
}
}
...
@@ -9598,8 +9565,7 @@
...
@@ -9598,8 +9565,7 @@
"node_modules/pend"
:
{
"node_modules/pend"
:
{
"version"
:
"1.2.0"
,
"version"
:
"1.2.0"
,
"resolved"
:
"https://registry.npmjs.org/pend/-/pend-1.2.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/pend/-/pend-1.2.0.tgz"
,
"integrity"
:
"sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
,
"integrity"
:
"sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
"dev"
:
true
},
},
"node_modules/picocolors"
:
{
"node_modules/picocolors"
:
{
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
...
@@ -10549,6 +10515,95 @@
...
@@ -10549,6 +10515,95 @@
"node"
:
">= 0.8.0"
"node"
:
">= 0.8.0"
}
}
},
},
"node_modules/prettier"
:
{
"version"
:
"2.8.8"
,
"resolved"
:
"https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz"
,
"integrity"
:
"sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q=="
,
"dev"
:
true
,
"bin"
:
{
"prettier"
:
"bin-prettier.js"
},
"engines"
:
{
"node"
:
">=10.13.0"
},
"funding"
:
{
"url"
:
"https://github.com/prettier/prettier?sponsor=1"
}
},
"node_modules/prettier-plugin-tailwindcss"
:
{
"version"
:
"0.3.0"
,
"resolved"
:
"https://registry.npmjs.org/prettier-plugin-tailwindcss/-/prettier-plugin-tailwindcss-0.3.0.tgz"
,
"integrity"
:
"sha512-009/Xqdy7UmkcTBpwlq7jsViDqXAYSOMLDrHAdTMlVZOrKfM2o9Ci7EMWTMZ7SkKBFTG04UM9F9iM2+4i6boDA=="
,
"dev"
:
true
,
"engines"
:
{
"node"
:
">=12.17.0"
},
"peerDependencies"
:
{
"@ianvs/prettier-plugin-sort-imports"
:
"*"
,
"@prettier/plugin-pug"
:
"*"
,
"@shopify/prettier-plugin-liquid"
:
"*"
,
"@shufo/prettier-plugin-blade"
:
"*"
,
"@trivago/prettier-plugin-sort-imports"
:
"*"
,
"prettier"
:
">=2.2.0"
,
"prettier-plugin-astro"
:
"*"
,
"prettier-plugin-css-order"
:
"*"
,
"prettier-plugin-import-sort"
:
"*"
,
"prettier-plugin-jsdoc"
:
"*"
,
"prettier-plugin-marko"
:
"*"
,
"prettier-plugin-organize-attributes"
:
"*"
,
"prettier-plugin-organize-imports"
:
"*"
,
"prettier-plugin-style-order"
:
"*"
,
"prettier-plugin-svelte"
:
"*"
,
"prettier-plugin-twig-melody"
:
"*"
},
"peerDependenciesMeta"
:
{
"@ianvs/prettier-plugin-sort-imports"
:
{
"optional"
:
true
},
"@prettier/plugin-pug"
:
{
"optional"
:
true
},
"@shopify/prettier-plugin-liquid"
:
{
"optional"
:
true
},
"@shufo/prettier-plugin-blade"
:
{
"optional"
:
true
},
"@trivago/prettier-plugin-sort-imports"
:
{
"optional"
:
true
},
"prettier-plugin-astro"
:
{
"optional"
:
true
},
"prettier-plugin-css-order"
:
{
"optional"
:
true
},
"prettier-plugin-import-sort"
:
{
"optional"
:
true
},
"prettier-plugin-jsdoc"
:
{
"optional"
:
true
},
"prettier-plugin-marko"
:
{
"optional"
:
true
},
"prettier-plugin-organize-attributes"
:
{
"optional"
:
true
},
"prettier-plugin-organize-imports"
:
{
"optional"
:
true
},
"prettier-plugin-style-order"
:
{
"optional"
:
true
},
"prettier-plugin-svelte"
:
{
"optional"
:
true
},
"prettier-plugin-twig-melody"
:
{
"optional"
:
true
}
}
},
"node_modules/pretty-error"
:
{
"node_modules/pretty-error"
:
{
"version"
:
"4.0.0"
,
"version"
:
"4.0.0"
,
"resolved"
:
"https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/pretty-error/-/pretty-error-4.0.0.tgz"
,
...
@@ -10569,7 +10624,6 @@
...
@@ -10569,7 +10624,6 @@
"version"
:
"2.0.3"
,
"version"
:
"2.0.3"
,
"resolved"
:
"https://registry.npmjs.org/progress/-/progress-2.0.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/progress/-/progress-2.0.3.tgz"
,
"integrity"
:
"sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
,
"integrity"
:
"sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=0.4.0"
"node"
:
">=0.4.0"
}
}
...
@@ -10604,7 +10658,6 @@
...
@@ -10604,7 +10658,6 @@
"version"
:
"3.0.0"
,
"version"
:
"3.0.0"
,
"resolved"
:
"https://registry.npmjs.org/pump/-/pump-3.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/pump/-/pump-3.0.0.tgz"
,
"integrity"
:
"sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww=="
,
"integrity"
:
"sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"end-of-stream"
:
"^1.1.0"
,
"end-of-stream"
:
"^1.1.0"
,
"once"
:
"^1.3.1"
"once"
:
"^1.3.1"
...
@@ -10658,7 +10711,6 @@
...
@@ -10658,7 +10711,6 @@
"version"
:
"5.1.1"
,
"version"
:
"5.1.1"
,
"resolved"
:
"https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/quick-lru/-/quick-lru-5.1.1.tgz"
,
"integrity"
:
"sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="
,
"integrity"
:
"sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA=="
,
"dev"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=10"
"node"
:
">=10"
},
},
...
@@ -10977,8 +11029,7 @@
...
@@ -10977,8 +11029,7 @@
"node_modules/resolve-alpn"
:
{
"node_modules/resolve-alpn"
:
{
"version"
:
"1.2.1"
,
"version"
:
"1.2.1"
,
"resolved"
:
"https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/resolve-alpn/-/resolve-alpn-1.2.1.tgz"
,
"integrity"
:
"sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="
,
"integrity"
:
"sha512-0a1F4l73/ZFZOakJnQ3FvkJ2+gSTQWz/r2KE5OdDY0TxPm5h4GkqkWWfM47T7HsbnOtcJVEF4epCVy6u7Q3K+g=="
"dev"
:
true
},
},
"node_modules/resolve-cwd"
:
{
"node_modules/resolve-cwd"
:
{
"version"
:
"3.0.0"
,
"version"
:
"3.0.0"
,
...
@@ -11040,7 +11091,6 @@
...
@@ -11040,7 +11091,6 @@
"version"
:
"2.0.1"
,
"version"
:
"2.0.1"
,
"resolved"
:
"https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/responselike/-/responselike-2.0.1.tgz"
,
"integrity"
:
"sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw=="
,
"integrity"
:
"sha512-4gl03wn3hj1HP3yzgdI7d3lCkF95F21Pz4BPGvKHinyQzALR5CapwC8yIi0Rh58DEMQ/SguC03wFj2k0M/mHhw=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"lowercase-keys"
:
"^2.0.0"
"lowercase-keys"
:
"^2.0.0"
},
},
...
@@ -11105,7 +11155,6 @@
...
@@ -11105,7 +11155,6 @@
"version"
:
"2.15.4"
,
"version"
:
"2.15.4"
,
"resolved"
:
"https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz"
,
"resolved"
:
"https://registry.npmjs.org/roarr/-/roarr-2.15.4.tgz"
,
"integrity"
:
"sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A=="
,
"integrity"
:
"sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A=="
,
"dev"
:
true
,
"optional"
:
true
,
"optional"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"boolean"
:
"^3.0.1"
,
"boolean"
:
"^3.0.1"
,
...
@@ -11239,7 +11288,7 @@
...
@@ -11239,7 +11288,7 @@
"version"
:
"7.5.3"
,
"version"
:
"7.5.3"
,
"resolved"
:
"https://registry.npmjs.org/semver/-/semver-7.5.3.tgz"
,
"resolved"
:
"https://registry.npmjs.org/semver/-/semver-7.5.3.tgz"
,
"integrity"
:
"sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ=="
,
"integrity"
:
"sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ=="
,
"dev"
:
true
,
"dev
Optional
"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"lru-cache"
:
"^6.0.0"
"lru-cache"
:
"^6.0.0"
},
},
...
@@ -11254,14 +11303,13 @@
...
@@ -11254,14 +11303,13 @@
"version"
:
"1.0.0"
,
"version"
:
"1.0.0"
,
"resolved"
:
"https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/semver-compare/-/semver-compare-1.0.0.tgz"
,
"integrity"
:
"sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow=="
,
"integrity"
:
"sha512-YM3/ITh2MJ5MtzaM429anh+x2jiLVjqILF4m4oyQB18W7Ggea7BfqdH/wGMK7dDiMghv/6WG7znWMwUDzJiXow=="
,
"dev"
:
true
,
"optional"
:
true
"optional"
:
true
},
},
"node_modules/semver/node_modules/lru-cache"
:
{
"node_modules/semver/node_modules/lru-cache"
:
{
"version"
:
"6.0.0"
,
"version"
:
"6.0.0"
,
"resolved"
:
"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz"
,
"integrity"
:
"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="
,
"integrity"
:
"sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA=="
,
"dev"
:
true
,
"dev
Optional
"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"yallist"
:
"^4.0.0"
"yallist"
:
"^4.0.0"
},
},
...
@@ -11318,7 +11366,6 @@
...
@@ -11318,7 +11366,6 @@
"version"
:
"7.0.1"
,
"version"
:
"7.0.1"
,
"resolved"
:
"https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/serialize-error/-/serialize-error-7.0.1.tgz"
,
"integrity"
:
"sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw=="
,
"integrity"
:
"sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw=="
,
"dev"
:
true
,
"optional"
:
true
,
"optional"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"type-fest"
:
"^0.13.1"
"type-fest"
:
"^0.13.1"
...
@@ -11334,7 +11381,6 @@
...
@@ -11334,7 +11381,6 @@
"version"
:
"0.13.1"
,
"version"
:
"0.13.1"
,
"resolved"
:
"https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/type-fest/-/type-fest-0.13.1.tgz"
,
"integrity"
:
"sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="
,
"integrity"
:
"sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg=="
,
"dev"
:
true
,
"optional"
:
true
,
"optional"
:
true
,
"engines"
:
{
"engines"
:
{
"node"
:
">=10"
"node"
:
">=10"
...
@@ -11685,7 +11731,6 @@
...
@@ -11685,7 +11731,6 @@
"version"
:
"1.1.2"
,
"version"
:
"1.1.2"
,
"resolved"
:
"https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz"
,
"integrity"
:
"sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug=="
,
"integrity"
:
"sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug=="
,
"dev"
:
true
,
"optional"
:
true
"optional"
:
true
},
},
"node_modules/ssri"
:
{
"node_modules/ssri"
:
{
...
@@ -11954,7 +11999,6 @@
...
@@ -11954,7 +11999,6 @@
"version"
:
"3.0.1"
,
"version"
:
"3.0.1"
,
"resolved"
:
"https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz"
,
"resolved"
:
"https://registry.npmjs.org/sumchecker/-/sumchecker-3.0.1.tgz"
,
"integrity"
:
"sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg=="
,
"integrity"
:
"sha512-MvjXzkz/BOfyVDkG0oFOtBxHX2u3gKbMHIF/dXblZsgD3BWOFLmHovIpZY7BykJdAjcqRCBi1WYBNdEC9yI7vg=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"debug"
:
"^4.1.0"
"debug"
:
"^4.1.0"
},
},
...
@@ -13300,8 +13344,7 @@
...
@@ -13300,8 +13344,7 @@
"node_modules/wrappy"
:
{
"node_modules/wrappy"
:
{
"version"
:
"1.0.2"
,
"version"
:
"1.0.2"
,
"resolved"
:
"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
,
"resolved"
:
"https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz"
,
"integrity"
:
"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
,
"integrity"
:
"sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
"dev"
:
true
},
},
"node_modules/ws"
:
{
"node_modules/ws"
:
{
"version"
:
"7.5.9"
,
"version"
:
"7.5.9"
,
...
@@ -13370,7 +13413,7 @@
...
@@ -13370,7 +13413,7 @@
"version"
:
"4.0.0"
,
"version"
:
"4.0.0"
,
"resolved"
:
"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz"
,
"integrity"
:
"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
,
"integrity"
:
"sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A=="
,
"dev"
:
true
"dev
Optional
"
:
true
},
},
"node_modules/yaml"
:
{
"node_modules/yaml"
:
{
"version"
:
"1.10.2"
,
"version"
:
"1.10.2"
,
...
@@ -13496,7 +13539,6 @@
...
@@ -13496,7 +13539,6 @@
"version"
:
"2.10.0"
,
"version"
:
"2.10.0"
,
"resolved"
:
"https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz"
,
"resolved"
:
"https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz"
,
"integrity"
:
"sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="
,
"integrity"
:
"sha512-p4a9I6X6nu6IhoGmBqAcbJy1mlC4j27vEPZX9F4L4/vZT3Lyq1VkFHw/V/PUcB9Buo+DG3iHkT0x3Qya58zc3g=="
,
"dev"
:
true
,
"dependencies"
:
{
"dependencies"
:
{
"buffer-crc32"
:
"~0.2.3"
,
"buffer-crc32"
:
"~0.2.3"
,
"fd-slicer"
:
"~1.1.0"
"fd-slicer"
:
"~1.1.0"
...
...
desktop/package.json
View file @
ad4ffdf7
{
{
"name"
:
"olama"
,
"name"
:
"ol
l
ama"
,
"productName"
:
"
o
llama"
,
"productName"
:
"
O
llama"
,
"version"
:
"0.0.1"
,
"version"
:
"0.0.1"
,
"description"
:
"
O
llama"
,
"description"
:
"
o
llama"
,
"main"
:
".webpack/main"
,
"main"
:
".webpack/main"
,
"scripts"
:
{
"scripts"
:
{
"start"
:
"electron-forge start"
,
"start"
:
"electron-forge start"
,
...
@@ -46,6 +46,8 @@
...
@@ -46,6 +46,8 @@
"postcss-import"
:
"^15.1.0"
,
"postcss-import"
:
"^15.1.0"
,
"postcss-loader"
:
"^7.3.3"
,
"postcss-loader"
:
"^7.3.3"
,
"postcss-preset-env"
:
"^8.5.1"
,
"postcss-preset-env"
:
"^8.5.1"
,
"prettier"
:
"^2.8.8"
,
"prettier-plugin-tailwindcss"
:
"^0.3.0"
,
"style-loader"
:
"^3.3.3"
,
"style-loader"
:
"^3.3.3"
,
"tailwindcss"
:
"^3.3.2"
,
"tailwindcss"
:
"^3.3.2"
,
"ts-loader"
:
"^9.4.3"
,
"ts-loader"
:
"^9.4.3"
,
...
@@ -56,6 +58,7 @@
...
@@ -56,6 +58,7 @@
"webpack-dev-server"
:
"^4.15.1"
"webpack-dev-server"
:
"^4.15.1"
},
},
"dependencies"
:
{
"dependencies"
:
{
"@electron/remote"
:
"^2.0.10"
,
"@types/node"
:
"^20.3.1"
,
"@types/node"
:
"^20.3.1"
,
"electron-squirrel-startup"
:
"^1.0.0"
,
"electron-squirrel-startup"
:
"^1.0.0"
,
"react"
:
"^18.2.0"
,
"react"
:
"^18.2.0"
,
...
...
desktop/src/app.css
View file @
ad4ffdf7
...
@@ -10,3 +10,21 @@ body {
...
@@ -10,3 +10,21 @@ body {
.drag
{
.drag
{
-webkit-app-region
:
drag
;
-webkit-app-region
:
drag
;
}
}
.blink
{
-webkit-animation
:
1s
blink
step-end
infinite
;
-moz-animation
:
1s
blink
step-end
infinite
;
-ms-animation
:
1s
blink
step-end
infinite
;
-o-animation
:
1s
blink
step-end
infinite
;
animation
:
1s
blink
step-end
infinite
;
}
@keyframes
blink
{
from
,
to
{
color
:
transparent
;
}
50
%
{
color
:
black
;
}
}
desktop/src/app.tsx
View file @
ad4ffdf7
import
{
useState
}
from
'
react
'
import
{
useState
}
from
'
react
'
import
path
from
'
path
'
import
os
from
'
os
'
import
{
dialog
,
getCurrentWindow
}
from
'
@electron/remote
'
const
API_URL
=
'
http://127.0.0.1:5001
'
const
API_URL
=
'
http://127.0.0.1:5001
'
type
Message
=
{
type
Message
=
{
sender
:
string
sender
:
'
bot
'
|
'
human
'
content
:
string
content
:
string
}
}
async
function
completion
(
prompt
:
string
,
callback
:
(
res
:
string
)
=>
void
)
{
const
userInfo
=
os
.
userInfo
()
async
function
generate
(
prompt
:
string
,
model
:
string
,
callback
:
(
res
:
string
)
=>
void
)
{
const
result
=
await
fetch
(
`
${
API_URL
}
/generate`
,
{
const
result
=
await
fetch
(
`
${
API_URL
}
/generate`
,
{
method
:
'
POST
'
,
method
:
'
POST
'
,
headers
:
{
headers
:
{
'
Content-Type
'
:
'
application/json
'
,
'
Content-Type
'
:
'
application/json
'
,
},
},
body
:
JSON
.
stringify
({
body
:
JSON
.
stringify
({
prompt
:
prompt
,
prompt
,
model
:
'
ggml-model-q4_0
'
,
model
,
}),
}),
})
})
if
(
!
result
.
ok
||
!
result
.
body
)
{
if
(
!
result
.
ok
)
{
return
return
}
}
...
@@ -54,37 +59,62 @@ async function completion(prompt: string, callback: (res: string) => void) {
...
@@ -54,37 +59,62 @@ async function completion(prompt: string, callback: (res: string) => void) {
export
default
function
()
{
export
default
function
()
{
const
[
prompt
,
setPrompt
]
=
useState
(
''
)
const
[
prompt
,
setPrompt
]
=
useState
(
''
)
const
[
messages
,
setMessages
]
=
useState
<
Message
[]
>
([])
const
[
messages
,
setMessages
]
=
useState
<
Message
[]
>
([])
const
[
model
,
setModel
]
=
useState
(
''
)
const
[
generating
,
setGenerating
]
=
useState
(
false
)
return
(
return
(
<
div
className
=
'flex min-h-screen flex-1 flex-col justify-between bg-white'
>
<
div
className
=
'flex min-h-screen flex-1 flex-col justify-between bg-white'
>
<
header
className
=
'drag sticky top-0 z-50 flex w-full flex-row items-center border-b border-black/
5
bg-
gray-50/75 p-3
backdrop-blur-md'
>
<
header
className
=
'drag sticky top-0 z-50 flex
h-14
w-full flex-row items-center border-b border-black/
10
bg-
white/75
backdrop-blur-md'
>
<
div
className
=
'mx-auto w-full max-w-xl leading-none'
>
<
div
className
=
'mx-auto w-full max-w-xl leading-none'
>
<
h1
className
=
'text-sm font-medium'
>
LLaMa
</
h1
>
<
h1
className
=
'text-sm font-medium'
>
{
path
.
basename
(
model
).
replace
(
'
.bin
'
,
''
)
}
</
h1
>
<
h2
className
=
'text-xs text-black/50'
>
Meta Platforms, Inc.
</
h2
>
</
div
>
</
div
>
</
header
>
</
header
>
{
model
?
(
<
section
className
=
'mx-auto mb-10 w-full max-w-xl flex-1 break-words'
>
<
section
className
=
'mx-auto mb-10 w-full max-w-xl flex-1 break-words'
>
{
messages
.
map
((
m
,
i
)
=>
(
{
messages
.
map
((
m
,
i
)
=>
(
<
div
className
=
'my-4 flex gap-4'
key
=
{
i
}
>
<
div
className
=
'my-4 flex gap-4'
key
=
{
i
}
>
<
div
className
=
'flex-none pr-1 text-lg'
>
<
div
className
=
'flex-none pr-1 text-lg'
>
{
m
.
sender
===
'
human
'
?
(
{
m
.
sender
===
'
human
'
?
(
<
div
className
=
'
bg-neutral-200 text-neutral-700 text-sm h-6 w-6 rounded-md flex items-center justify-center mt-px
'
>
<
div
className
=
'
mt-px flex h-6 w-6 items-center justify-center rounded-md bg-neutral-200 text-sm text-neutral-700
'
>
H
{
userInfo
.
username
[
0
].
toUpperCase
()
}
</
div
>
</
div
>
)
:
(
)
:
(
<
div
className
=
'
bg-blue-600 text-white text-sm h-6 w-6 rounded-md flex items-center justify-center mt-0.5
'
>
<
div
className
=
'
mt-0.5 flex h-6 w-6 items-center justify-center rounded-md bg-blue-600 text-sm text-white
'
>
L
{
path
.
basename
(
model
)[
0
].
toUpperCase
()
}
</
div
>
</
div
>
)
}
)
}
</
div
>
</
div
>
<
div
className
=
'flex-1 text-gray-800'
>
<
div
className
=
'flex-1 text-gray-800'
>
{
m
.
content
}
{
m
.
content
}
{
m
.
sender
===
'
bot
'
&&
<
span
className
=
'relative -top-[3px] left-1 text-[10px]'
>
⬤
</
span
>
}
{
m
.
sender
===
'
bot
'
&&
generating
&&
(
<
span
className
=
'blink relative -top-[3px] left-1 text-[10px]'
>
█
</
span
>
)
}
</
div
>
</
div
>
</
div
>
</
div
>
))
}
))
}
</
section
>
</
section
>
)
:
(
<
section
className
=
'flex flex-1 select-none flex-col items-center justify-center pb-20'
>
<
h2
className
=
'text-3xl font-light text-neutral-400'
>
No model selected
</
h2
>
<
button
onClick
=
{
async
()
=>
{
const
res
=
await
dialog
.
showOpenDialog
(
getCurrentWindow
(),
{
properties
:
[
'
openFile
'
,
'
multiSelections
'
],
})
if
(
res
.
canceled
)
{
return
}
setModel
(
res
.
filePaths
[
0
])
}
}
className
=
'rounded-dm my-8 rounded-md bg-blue-600 px-4 py-2 text-sm text-white hover:brightness-110'
>
Open file...
</
button
>
</
section
>
)
}
<
div
className
=
'sticky bottom-0 bg-gradient-to-b from-transparent to-white'
>
<
div
className
=
'sticky bottom-0 bg-gradient-to-b from-transparent to-white'
>
{
model
&&
(
<
textarea
<
textarea
autoFocus
autoFocus
rows
=
{
1
}
rows
=
{
1
}
...
@@ -94,31 +124,34 @@ export default function () {
...
@@ -94,31 +124,34 @@ export default function () {
className
=
'mx-auto my-4 block w-full max-w-xl resize-none rounded-xl border border-gray-200 px-5 py-3.5 text-[15px] shadow-lg shadow-black/5 focus:outline-none'
className
=
'mx-auto my-4 block w-full max-w-xl resize-none rounded-xl border border-gray-200 px-5 py-3.5 text-[15px] shadow-lg shadow-black/5 focus:outline-none'
onKeyDownCapture
=
{
async
e
=>
{
onKeyDownCapture
=
{
async
e
=>
{
if
(
e
.
key
===
'
Enter
'
&&
!
e
.
shiftKey
)
{
if
(
e
.
key
===
'
Enter
'
&&
!
e
.
shiftKey
)
{
e
.
preventDefault
()
// Prevents the newline character from being inserted
e
.
preventDefault
()
// Perform your desired action here, such as submitting the form or handling the entered text
await
setMessages
(
messages
=>
{
return
[...
messages
,
{
sender
:
'
human
'
,
content
:
prompt
}]
})
const
index
=
messages
.
length
+
1
if
(
generating
)
{
completion
(
prompt
,
res
=>
{
return
setMessages
(
messages
=>
{
let
message
=
messages
[
index
]
if
(
!
message
)
{
message
=
{
sender
:
'
bot
'
,
content
:
''
}
}
}
message
.
content
=
message
.
content
+
res
if
(
!
prompt
)
{
return
}
return
[...
messages
.
slice
(
0
,
index
),
message
]
await
setMessages
(
message
s
=>
{
})
return
[...
messages
,
{
sender
:
'
human
'
,
content
:
prompt
},
{
sender
:
'
bot
'
,
content
:
''
}]
})
})
setPrompt
(
''
)
setPrompt
(
''
)
setGenerating
(
true
)
await
generate
(
prompt
,
model
,
res
=>
{
setMessages
(
messages
=>
{
let
last
=
messages
[
messages
.
length
-
1
]
return
[...
messages
.
slice
(
0
,
messages
.
length
-
1
),
{
...
last
,
content
:
last
.
content
+
res
}]
})
})
setGenerating
(
false
)
}
}
}
}
}
}
></
textarea
>
></
textarea
>
)
}
</
div
>
</
div
>
</
div
>
</
div
>
)
)
...
...
desktop/src/index.ts
View file @
ad4ffdf7
import
{
app
,
BrowserWindow
}
from
'
electron
'
import
{
app
,
BrowserWindow
,
ipcMain
,
dialog
}
from
'
electron
'
import
{
spawn
}
from
'
child_process
'
import
{
spawn
}
from
'
child_process
'
import
*
as
path
from
'
path
'
import
*
as
path
from
'
path
'
require
(
'
@electron/remote/main
'
).
initialize
()
// This allows TypeScript to pick up the magic constants that's auto-generated by Forge's Webpack
// This allows TypeScript to pick up the magic constants that's auto-generated by Forge's Webpack
// plugin that tells the Electron app where to look for the Webpack-bundled app code (depending on
// plugin that tells the Electron app where to look for the Webpack-bundled app code (depending on
// whether you're running in development or production).
// whether you're running in development or production).
...
@@ -21,9 +24,15 @@ const createWindow = (): void => {
...
@@ -21,9 +24,15 @@ const createWindow = (): void => {
minWidth
:
400
,
minWidth
:
400
,
minHeight
:
300
,
minHeight
:
300
,
titleBarStyle
:
'
hiddenInset
'
,
titleBarStyle
:
'
hiddenInset
'
,
transparent
:
true
,
webPreferences
:
{
preload
:
MAIN_WINDOW_PRELOAD_WEBPACK_ENTRY
,
nodeIntegration
:
true
,
contextIsolation
:
false
,
},
})
})
require
(
'
@electron/remote/main
'
).
enable
(
mainWindow
.
webContents
)
// and load the index.html of the app.
// and load the index.html of the app.
mainWindow
.
loadURL
(
MAIN_WINDOW_WEBPACK_ENTRY
)
mainWindow
.
loadURL
(
MAIN_WINDOW_WEBPACK_ENTRY
)
}
}
...
@@ -34,7 +43,7 @@ if (app.isPackaged) {
...
@@ -34,7 +43,7 @@ if (app.isPackaged) {
console
.
log
(
resources
)
console
.
log
(
resources
)
// Start the executable
// Start the executable
const
exec
=
path
.
join
(
resources
,
'
serve
r
'
)
const
exec
=
path
.
join
(
resources
,
'
serve
'
,
'
--port
'
,
'
5001
'
)
console
.
log
(
`Starting
${
exec
}
`
)
console
.
log
(
`Starting
${
exec
}
`
)
const
proc
=
spawn
(
exec
)
const
proc
=
spawn
(
exec
)
proc
.
stdout
.
on
(
'
data
'
,
data
=>
{
proc
.
stdout
.
on
(
'
data
'
,
data
=>
{
...
...
desktop/src/preload.ts
View file @
ad4ffdf7
// See the Electron documentation for details on how to use preload scripts:
// https://www.electronjs.org/docs/latest/tutorial/process-model#preload-scripts
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
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 comment