diff --git a/.gitignore b/.gitignore
index 59c012eb57..b7020f70f5 100644
--- a/.gitignore
+++ b/.gitignore
@@ -24,3 +24,5 @@ dev/
foobar*.genai.mjs
azure-sdk-for-js/
trapi.md
+.env.local
+genaiscript.config.yaml
diff --git a/.vscode/settings.json b/.vscode/settings.json
index 658a7ff864..57ecd38b4d 100644
--- a/.vscode/settings.json
+++ b/.vscode/settings.json
@@ -100,25 +100,6 @@
},
"files.eol": "\n",
"terminal.integrated.defaultProfile.windows": "Git Bash",
- "workbench.colorCustomizations": {
- "activityBar.activeBackground": "#443c00",
- "activityBar.background": "#443c00",
- "activityBar.foreground": "#e7e7e7",
- "activityBar.inactiveForeground": "#e7e7e799",
- "activityBarBadge.background": "#008071",
- "activityBarBadge.foreground": "#e7e7e7",
- "commandCenter.border": "#e7e7e799",
- "sash.hoverBorder": "#443c00",
- "statusBar.background": "#110f00",
- "statusBar.foreground": "#e7e7e7",
- "statusBarItem.hoverBackground": "#443c00",
- "statusBarItem.remoteBackground": "#110f00",
- "statusBarItem.remoteForeground": "#e7e7e7",
- "titleBar.activeBackground": "#110f00",
- "titleBar.activeForeground": "#e7e7e7",
- "titleBar.inactiveBackground": "#110f0099",
- "titleBar.inactiveForeground": "#e7e7e799"
- },
"peacock.remoteColor": "#110f00",
"mdmath.delimiters": "brackets",
"spellright.language": [
diff --git a/THIRD_PARTY_LICENSES.md b/THIRD_PARTY_LICENSES.md
index 532bf3d4a9..66637f41ac 100644
--- a/THIRD_PARTY_LICENSES.md
+++ b/THIRD_PARTY_LICENSES.md
@@ -1464,7 +1464,7 @@ available under the Apache 2.0 license (https://github.com/puppeteer/puppeteer/b
The following npm package may be included in this product:
- - mathjs@13.2.1
+ - mathjs@13.2.2
This package contains the following license:
@@ -1702,7 +1702,7 @@ MIT License
The following npm package may be included in this product:
- - genaiscript-vscode@1.74.0
+ - genaiscript-vscode@1.74.1
This package contains the following license:
@@ -3820,16 +3820,6 @@ IN THE SOFTWARE.
-----------
-The following npm package may be included in this product:
-
- - buildcheck@0.0.6
-
-This package contains the following license:
-
-http://github.com/mscdex/buildcheck/raw/master/LICENSE
-
------------
-
The following npm package may be included in this product:
- ssh2@1.16.0
@@ -3840,16 +3830,6 @@ http://github.com/mscdex/ssh2/raw/master/LICENSE
-----------
-The following npm package may be included in this product:
-
- - cpu-features@0.0.10
-
-This package contains the following license:
-
-https://github.com/mscdex/cpu-features/raw/master/LICENSE
-
------------
-
The following npm packages may be included in this product:
- boolbase@1.0.0
@@ -4582,12 +4562,12 @@ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
The following npm packages may be included in this product:
- - @esbuild/linux-x64@0.23.1
+ - @esbuild/win32-x64@0.23.1
- @tokenizer/token@0.3.0
- canvas@3.0.0-rc2
- - genaiscript-core-internal@1.74.0
- - genaiscript-sample@1.74.0
- - genaiscript@1.74.0
+ - genaiscript-core-internal@1.74.1
+ - genaiscript-sample@1.74.1
+ - genaiscript@1.74.1
- isarray@1.0.0
- javascript-natural-sort@0.7.1
- keyv@4.5.4
@@ -5356,7 +5336,7 @@ SOFTWARE.
The following npm package may be included in this product:
- - gpt-tokenizer@2.6.1
+ - gpt-tokenizer@2.6.2
This package contains the following license:
@@ -5514,7 +5494,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
The following npm packages may be included in this product:
- undici-types@6.19.8
- - undici@6.20.1
+ - undici@6.21.0
These packages each contain the following license:
diff --git a/docs/src/content/docs/getting-started/configuration.mdx b/docs/src/content/docs/getting-started/configuration.mdx
index b48053ee5a..97407014e8 100644
--- a/docs/src/content/docs/getting-started/configuration.mdx
+++ b/docs/src/content/docs/getting-started/configuration.mdx
@@ -20,6 +20,7 @@ import lmSelectAlt from "../../../assets/vscode-language-models-select.png.txt?r
import oaiModelsSrc from "../../../assets/openai-model-names.png"
import oaiModelsAlt from "../../../assets/openai-model-names.png.txt?raw"
+
You will need to configure the LLM connection and authorization secrets.
:::tip
@@ -134,6 +135,12 @@ npx genaiscript ... --env .env.local
GENAISCRIPT_ENV_FILE=.env.local npx genaiscript ...
```
+- by specifying the `.env` file location in a [configuration file](/genaiscript/reference/configuration-files).
+
+```yaml file="~/genaiscript.config.yaml"
+envFile: ~/.env.genaiscript
+```
+
## OpenAI
This provider, `openai`, is the OpenAI chat model provider.
diff --git a/docs/src/content/docs/reference/configuration-files.mdx b/docs/src/content/docs/reference/configuration-files.mdx
new file mode 100644
index 0000000000..81c8014a87
--- /dev/null
+++ b/docs/src/content/docs/reference/configuration-files.mdx
@@ -0,0 +1,29 @@
+---
+title: Configuration Files
+description: Learn how to configure common configuration settings using configuration files
+sidebar:
+ order: 90
+---
+
+import { Code } from "@astrojs/starlight/components"
+import hostConfigurationSource from "../../../../../packages/core/src/hostconfiguration.ts?raw"
+
+GenAIScript supports local and global configuration files to allow reusing common configuration settings and secrets across multiple scripts.
+
+## File resolution
+
+GenAIScript will scan for the following configuration files
+and merge their content into the final configuration.
+
+- `~/genaiscript.config.yaml`
+- `~/genaiscript.config.json`
+- `./genaiscript.config.yaml`
+- `./genaiscript.config.json`
+
+## File format
+
+The configuration file format is the following:
+
+
+
+The final location of `envFile` will be used to load the secret in the environment variables.
diff --git a/docs/src/content/docs/reference/token.md b/docs/src/content/docs/reference/token.md
deleted file mode 100644
index d6ce5d1a82..0000000000
--- a/docs/src/content/docs/reference/token.md
+++ /dev/null
@@ -1,55 +0,0 @@
----
-title: Authorization
-sidebar:
- order: 20
-description: Learn how to configure API authorization tokens with .env files for secure API access in your development environment.
-keywords: API authorization, .env setup, secure API tokens, environment configuration, API access security
----
-
-GenAIScript will try to find the connection token from various sources:
-
-- a `.env` file in the root of your project (VSCode and CLI)
-- environment variables, typically within your CI/CD environment (CLI only)
-- Visual Studio Language Chat Models (VSCode only)
-
-## .env file or process environment
-
-The extension also supports the following set of variables:
-
-- The `OPENAI_API_TYPE`, `OPENAI_API_BASE`, `OPENAI_API_KEY`, `OPENAI_API_VERSION` variables.
-- Either `AZURE_OPENAI_API_ENDPOINT` or `AZURE_OPENAI_API_BASE`, and `AZURE_OPENAI_API_KEY` variables.
-- The `AZURE_API_BASE`, `AZURE_API_KEY`, `AZURE_API_VERSION` variables.
-
-```txt title=".env"
-OPENAI_API_KEY="oaip_SomethingSecret"
-```
-
-Additionally,
-
-- The `OPENAI_API_BASE` can point to a local server, for example, `http://localhost:1337/v1` as seen at [https://jan.ai/api-reference/](https://jan.ai/api-reference/).
-- The `OPENAI_API_TYPE` should be either `azure` or `local`. If not specified, the system will attempt to infer it based on the `OPENAI_API_BASE` value.
-
-:::caution[Don't commit your secrets]
-
-If you are using Git to manage your project, ensure that the `.env` file is added to your `.gitignore` to prevent committing your secrets to the repository.
-
-```txt title=".gitignore"
-...
-.env
-```
-
-:::
-
-### Multiple .env files
-
-You can override the default `.env` file name by adding the `--env myother.env` file.
-
-### Listing model configuration
-
-Run the `script model` command to list the available scripts and their model configuration. This can be useful to diagnose configuration issues in CI/CD environments.
-
-```sh
-npx genaiscript scripts model [script]
-```
-
-where [script] can be a script id or a file path.
diff --git a/docs/yarn.lock b/docs/yarn.lock
index 8041bafd9b..62c5d3d231 100644
--- a/docs/yarn.lock
+++ b/docs/yarn.lock
@@ -870,95 +870,95 @@
estree-walker "^2.0.2"
picomatch "^4.0.2"
-"@rollup/rollup-android-arm-eabi@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.25.0.tgz#3e7eda4c0c1de6d2415343002d742ff95e38dca7"
- integrity sha512-CC/ZqFZwlAIbU1wUPisHyV/XRc5RydFrNLtgl3dGYskdwPZdt4HERtKm50a/+DtTlKeCq9IXFEWR+P6blwjqBA==
-
-"@rollup/rollup-android-arm64@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.25.0.tgz#04f679231acf7284f1f8a1f7250d0e0944865ba8"
- integrity sha512-/Y76tmLGUJqVBXXCfVS8Q8FJqYGhgH4wl4qTA24E9v/IJM0XvJCGQVSW1QZ4J+VURO9h8YCa28sTFacZXwK7Rg==
-
-"@rollup/rollup-darwin-arm64@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.25.0.tgz#ecea723041621747d0772af93b54752edf26467a"
- integrity sha512-YVT6L3UrKTlC0FpCZd0MGA7NVdp7YNaEqkENbWQ7AOVOqd/7VzyHpgIpc1mIaxRAo1ZsJRH45fq8j4N63I/vvg==
-
-"@rollup/rollup-darwin-x64@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.25.0.tgz#28e6e0687092f31e20982fc104779d48c643fc21"
- integrity sha512-ZRL+gexs3+ZmmWmGKEU43Bdn67kWnMeWXLFhcVv5Un8FQcx38yulHBA7XR2+KQdYIOtD0yZDWBCudmfj6lQJoA==
-
-"@rollup/rollup-freebsd-arm64@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.25.0.tgz#99e9173b8aef3d1ef086983da70413988206e530"
- integrity sha512-xpEIXhiP27EAylEpreCozozsxWQ2TJbOLSivGfXhU4G1TBVEYtUPi2pOZBnvGXHyOdLAUUhPnJzH3ah5cqF01g==
-
-"@rollup/rollup-freebsd-x64@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.25.0.tgz#f3a1ef941f8d3c6b2b036484c69a7b2d3d9ebbd7"
- integrity sha512-sC5FsmZGlJv5dOcURrsnIK7ngc3Kirnx3as2XU9uER+zjfyqIjdcMVgzy4cOawhsssqzoAX19qmxgJ8a14Qrqw==
-
-"@rollup/rollup-linux-arm-gnueabihf@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.25.0.tgz#9ba6adcc33f26f2a0c6ee658f0bbda4de8da2f75"
- integrity sha512-uD/dbLSs1BEPzg564TpRAQ/YvTnCds2XxyOndAO8nJhaQcqQGFgv/DAVko/ZHap3boCvxnzYMa3mTkV/B/3SWA==
-
-"@rollup/rollup-linux-arm-musleabihf@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.25.0.tgz#62f2426fa9016ec884f4fa779d7b62d5ba02a41a"
- integrity sha512-ZVt/XkrDlQWegDWrwyC3l0OfAF7yeJUF4fq5RMS07YM72BlSfn2fQQ6lPyBNjt+YbczMguPiJoCfaQC2dnflpQ==
-
-"@rollup/rollup-linux-arm64-gnu@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.25.0.tgz#f98ec111a231d35e0c6d3404e3d80f67f9d5b9f8"
- integrity sha512-qboZ+T0gHAW2kkSDPHxu7quaFaaBlynODXpBVnPxUgvWYaE84xgCKAPEYE+fSMd3Zv5PyFZR+L0tCdYCMAtG0A==
-
-"@rollup/rollup-linux-arm64-musl@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.25.0.tgz#4b36ffb8359f959f2c29afd187603c53368b6723"
- integrity sha512-ndWTSEmAaKr88dBuogGH2NZaxe7u2rDoArsejNslugHZ+r44NfWiwjzizVS1nUOHo+n1Z6qV3X60rqE/HlISgw==
-
-"@rollup/rollup-linux-powerpc64le-gnu@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.25.0.tgz#52f4b39e6783505d168a745b79d86474fde71680"
- integrity sha512-BVSQvVa2v5hKwJSy6X7W1fjDex6yZnNKy3Kx1JGimccHft6HV0THTwNtC2zawtNXKUu+S5CjXslilYdKBAadzA==
-
-"@rollup/rollup-linux-riscv64-gnu@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.25.0.tgz#49195be7e6a7d68d482b12461e2ea914e31ff977"
- integrity sha512-G4hTREQrIdeV0PE2JruzI+vXdRnaK1pg64hemHq2v5fhv8C7WjVaeXc9P5i4Q5UC06d/L+zA0mszYIKl+wY8oA==
-
-"@rollup/rollup-linux-s390x-gnu@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.25.0.tgz#4b8d50a205eac7b46cdcb9c50d4a6ae5994c02e0"
- integrity sha512-9T/w0kQ+upxdkFL9zPVB6zy9vWW1deA3g8IauJxojN4bnz5FwSsUAD034KpXIVX5j5p/rn6XqumBMxfRkcHapQ==
-
-"@rollup/rollup-linux-x64-gnu@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.25.0.tgz#dfcceebc5ccac7fc2db19471996026258c81b55f"
- integrity sha512-ThcnU0EcMDn+J4B9LD++OgBYxZusuA7iemIIiz5yzEcFg04VZFzdFjuwPdlURmYPZw+fgVrFzj4CA64jSTG4Ig==
-
-"@rollup/rollup-linux-x64-musl@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.25.0.tgz#192f78bad8429711d63a31dc0a7d3312e2df850e"
- integrity sha512-zx71aY2oQxGxAT1JShfhNG79PnjYhMC6voAjzpu/xmMjDnKNf6Nl/xv7YaB/9SIa9jDYf8RBPWEnjcdlhlv1rQ==
-
-"@rollup/rollup-win32-arm64-msvc@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.25.0.tgz#f4ec076579634f780b4e5896ae7f59f3e38e0c60"
- integrity sha512-JT8tcjNocMs4CylWY/CxVLnv8e1lE7ff1fi6kbGocWwxDq9pj30IJ28Peb+Y8yiPNSF28oad42ApJB8oUkwGww==
-
-"@rollup/rollup-win32-ia32-msvc@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.25.0.tgz#5458eab1929827e4f805cefb90bd09ecf7eeed2b"
- integrity sha512-dRLjLsO3dNOfSN6tjyVlG+Msm4IiZnGkuZ7G5NmpzwF9oOc582FZG05+UdfTbz5Jd4buK/wMb6UeHFhG18+OEg==
-
-"@rollup/rollup-win32-x64-msvc@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.25.0.tgz#93415e7e707e4b156d77c5950b983b58f4bc33f3"
- integrity sha512-/RqrIFtLB926frMhZD0a5oDa4eFIbyNEwLLloMTEjmqfwZWXywwVVOVmwTsuyhC9HKkVEZcOOi+KV4U9wmOdlg==
+"@rollup/rollup-android-arm-eabi@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.26.0.tgz#f221c519a6efb5d3652bff32351522e0fb98e392"
+ integrity sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==
+
+"@rollup/rollup-android-arm64@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.26.0.tgz#196a2379d81011422fe1128e512a8811605ede16"
+ integrity sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==
+
+"@rollup/rollup-darwin-arm64@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.26.0.tgz#0c83e5f25adae7f0543ac29a0ebd485a0e7cd3e4"
+ integrity sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==
+
+"@rollup/rollup-darwin-x64@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.26.0.tgz#8131b174ca8cec04e2041e42eb8382afe31095c8"
+ integrity sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==
+
+"@rollup/rollup-freebsd-arm64@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.26.0.tgz#550a0ebf5bea6ceee79dc2f75a0bcef7d660de2c"
+ integrity sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==
+
+"@rollup/rollup-freebsd-x64@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.26.0.tgz#51ca2e6d9ce72e63d5201607651732e5300a6f81"
+ integrity sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.26.0.tgz#ae71d6aa81e702c4efb72c1a67a6a4e790267a1b"
+ integrity sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==
+
+"@rollup/rollup-linux-arm-musleabihf@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.26.0.tgz#6aa7baa5c39c095fa5f9804e283e126697e0342a"
+ integrity sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==
+
+"@rollup/rollup-linux-arm64-gnu@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.26.0.tgz#2b06e147ca68c7729ca38e5c7a514d1b00f4d151"
+ integrity sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==
+
+"@rollup/rollup-linux-arm64-musl@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.26.0.tgz#70f8cacb255800e4cad41bdbe447432354288909"
+ integrity sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==
+
+"@rollup/rollup-linux-powerpc64le-gnu@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.26.0.tgz#21aed3ef42518b7fe33f4037a14b0939a071cf75"
+ integrity sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==
+
+"@rollup/rollup-linux-riscv64-gnu@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.26.0.tgz#fe27eb8cbd3a6e0706459781c2463b624f785696"
+ integrity sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==
+
+"@rollup/rollup-linux-s390x-gnu@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.26.0.tgz#80289a528dd333b0e277efd93bfa8e2cdd27e5eb"
+ integrity sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==
+
+"@rollup/rollup-linux-x64-gnu@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.26.0.tgz#9909570be5cb738c23858c94308d37dde363eb7e"
+ integrity sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==
+
+"@rollup/rollup-linux-x64-musl@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.26.0.tgz#371315e032497f7a46f64b4ebcd207313b7f6669"
+ integrity sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==
+
+"@rollup/rollup-win32-arm64-msvc@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.26.0.tgz#f4b4e0747710ba287eb2e2a011538ee2ed7f74d3"
+ integrity sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==
+
+"@rollup/rollup-win32-ia32-msvc@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.26.0.tgz#2eeabbc99342dafe04613a76c441be4ebcca49c3"
+ integrity sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==
+
+"@rollup/rollup-win32-x64-msvc@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.26.0.tgz#a3ae3da434a4ba0785312e963ae4c1239470403a"
+ integrity sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==
"@shikijs/core@1.22.2":
version "1.22.2"
@@ -1546,9 +1546,9 @@ astro-remote@0.3.2:
ultrahtml "^1.5.3"
astro@^4.16.10:
- version "4.16.10"
- resolved "https://registry.yarnpkg.com/astro/-/astro-4.16.10.tgz#8495947d6e405104f312ee06643a44078c22fc0c"
- integrity sha512-a+nB4bZE50NXHLzVXUHtx/lYct2Aa8kbqZnWNrWqkU97RuhBuWJ5H5/LQbKRnBWGvqChKfJBiMWJe53TY9ieYQ==
+ version "4.16.12"
+ resolved "https://registry.yarnpkg.com/astro/-/astro-4.16.12.tgz#884177fd8a2bd6dac80ac55147534df7a6cb253b"
+ integrity sha512-NnFeIKhGW6MdXCQT2hRariUwfxqJUIRs6qKqaovaQkTojzxh2r1L8C49qanKc+huH9wK2C94VZB2T/tosyRl1A==
dependencies:
"@astrojs/compiler" "^2.10.3"
"@astrojs/internal-helpers" "0.4.1"
@@ -2253,9 +2253,9 @@ dset@^3.1.3, dset@^3.1.4:
integrity sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==
electron-to-chromium@^1.5.41:
- version "1.5.56"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.56.tgz#3213f369efc3a41091c3b2c05bc0f406108ac1df"
- integrity sha512-7lXb9dAvimCFdvUMTyucD4mnIndt/xhRKFAlky0CyFogdnNmdPQNoHI23msF/2V4mpTxMzgMdjK4+YRlFlRQZw==
+ version "1.5.57"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.57.tgz#cb43af8784166bca24565b3418bf5f775a6b1c86"
+ integrity sha512-xS65H/tqgOwUBa5UmOuNSLuslDo7zho0y/lgQw35pnrqiZh7UOWHCeL/Bt6noJATbA6tpQJGCifsFsIRZj1Fqg==
emmet@^2.4.3:
version "2.4.11"
@@ -4426,30 +4426,30 @@ robust-predicates@^3.0.2:
integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==
rollup@^4.20.0:
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.25.0.tgz#74dff4b5c2777dfc490f9711393925da50171787"
- integrity sha512-uVbClXmR6wvx5R1M3Od4utyLUxrmOcEm3pAtMphn73Apq19PDtHpgZoEvqH2YnnaNUuvKmg2DgRd2Sqv+odyqg==
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.26.0.tgz#a3e5fb29d50953633a2fd4506da6448d93268944"
+ integrity sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==
dependencies:
"@types/estree" "1.0.6"
optionalDependencies:
- "@rollup/rollup-android-arm-eabi" "4.25.0"
- "@rollup/rollup-android-arm64" "4.25.0"
- "@rollup/rollup-darwin-arm64" "4.25.0"
- "@rollup/rollup-darwin-x64" "4.25.0"
- "@rollup/rollup-freebsd-arm64" "4.25.0"
- "@rollup/rollup-freebsd-x64" "4.25.0"
- "@rollup/rollup-linux-arm-gnueabihf" "4.25.0"
- "@rollup/rollup-linux-arm-musleabihf" "4.25.0"
- "@rollup/rollup-linux-arm64-gnu" "4.25.0"
- "@rollup/rollup-linux-arm64-musl" "4.25.0"
- "@rollup/rollup-linux-powerpc64le-gnu" "4.25.0"
- "@rollup/rollup-linux-riscv64-gnu" "4.25.0"
- "@rollup/rollup-linux-s390x-gnu" "4.25.0"
- "@rollup/rollup-linux-x64-gnu" "4.25.0"
- "@rollup/rollup-linux-x64-musl" "4.25.0"
- "@rollup/rollup-win32-arm64-msvc" "4.25.0"
- "@rollup/rollup-win32-ia32-msvc" "4.25.0"
- "@rollup/rollup-win32-x64-msvc" "4.25.0"
+ "@rollup/rollup-android-arm-eabi" "4.26.0"
+ "@rollup/rollup-android-arm64" "4.26.0"
+ "@rollup/rollup-darwin-arm64" "4.26.0"
+ "@rollup/rollup-darwin-x64" "4.26.0"
+ "@rollup/rollup-freebsd-arm64" "4.26.0"
+ "@rollup/rollup-freebsd-x64" "4.26.0"
+ "@rollup/rollup-linux-arm-gnueabihf" "4.26.0"
+ "@rollup/rollup-linux-arm-musleabihf" "4.26.0"
+ "@rollup/rollup-linux-arm64-gnu" "4.26.0"
+ "@rollup/rollup-linux-arm64-musl" "4.26.0"
+ "@rollup/rollup-linux-powerpc64le-gnu" "4.26.0"
+ "@rollup/rollup-linux-riscv64-gnu" "4.26.0"
+ "@rollup/rollup-linux-s390x-gnu" "4.26.0"
+ "@rollup/rollup-linux-x64-gnu" "4.26.0"
+ "@rollup/rollup-linux-x64-musl" "4.26.0"
+ "@rollup/rollup-win32-arm64-msvc" "4.26.0"
+ "@rollup/rollup-win32-ia32-msvc" "4.26.0"
+ "@rollup/rollup-win32-x64-msvc" "4.26.0"
fsevents "~2.3.2"
roughjs@^4.6.6:
diff --git a/packages/cli/src/azuretoken.ts b/packages/cli/src/azuretoken.ts
index 30f330e40e..8df6cc8a85 100644
--- a/packages/cli/src/azuretoken.ts
+++ b/packages/cli/src/azuretoken.ts
@@ -4,6 +4,7 @@ import {
AzureCredentialsType,
AzureTokenResolver,
isAzureTokenExpired,
+ runtimeHost,
} from "../../core/src/host"
import { logVerbose } from "../../core/src/util"
import type { TokenCredential } from "@azure/identity"
@@ -104,7 +105,7 @@ class AzureTokenResolverImpl implements AzureTokenResolver {
if (isAzureTokenExpired(this._token)) this._token = undefined
if (this._token) return this._token
if (!this._resolver) {
- const scope = process.env[this.envName]
+ const scope = await runtimeHost.readSecret(this.envName)
const scopes = scope ? scope.split(",") : this.scopes
this._resolver = createAzureToken(
scopes,
diff --git a/packages/cli/src/info.ts b/packages/cli/src/info.ts
index 6c849ebae3..c9802ea9be 100644
--- a/packages/cli/src/info.ts
+++ b/packages/cli/src/info.ts
@@ -7,7 +7,7 @@
import { parseTokenFromEnv } from "../../core/src/connection"
import { MODEL_PROVIDERS } from "../../core/src/constants"
import { errorMessage } from "../../core/src/error"
-import { host } from "../../core/src/host"
+import { host, runtimeHost } from "../../core/src/host"
import {
ModelConnectionInfo,
resolveModelConnectionInfo,
@@ -38,7 +38,7 @@ export async function envInfo(
) {
const { token, error } = options || {}
const res: any = {}
- res[".env"] = host.dotEnvPath ?? ""
+ res[".env"] = runtimeHost.config.envFile ?? ""
res.providers = []
const env = process.env
diff --git a/packages/cli/src/nodehost.ts b/packages/cli/src/nodehost.ts
index 614b278c76..b86391c62a 100644
--- a/packages/cli/src/nodehost.ts
+++ b/packages/cli/src/nodehost.ts
@@ -21,7 +21,6 @@ import {
DEFAULT_TEMPERATURE,
MODEL_PROVIDER_AZURE_OPENAI,
SHELL_EXEC_TIMEOUT,
- DOT_ENV_FILENAME,
MODEL_PROVIDER_OLLAMA,
TOOL_ID,
DEFAULT_EMBEDDINGS_MODEL,
@@ -30,6 +29,7 @@ import {
MODEL_PROVIDER_AZURE_SERVERLESS_MODELS,
AZURE_AI_INFERENCE_TOKEN_SCOPES,
MODEL_PROVIDER_AZURE_SERVERLESS_OPENAI,
+ DOT_ENV_FILENAME,
} from "../../core/src/constants"
import { tryReadText } from "../../core/src/fs"
import {
@@ -64,6 +64,8 @@ import {
createAzureContentSafetyClient,
isAzureContentSafetyClientConfigured,
} from "../../core/src/azurecontentsafety"
+import { resolveGlobalConfiguration } from "../../core/src/config"
+import { HostConfiguration } from "../../core/src/hostconfiguration"
class NodeServerManager implements ServerManager {
async start(): Promise {
@@ -127,7 +129,7 @@ class ModelManager implements ModelService {
}
export class NodeHost implements RuntimeHost {
- readonly dotEnvPath: string
+ readonly config: HostConfiguration
project: Project
userState: any = {}
models: ModelService
@@ -148,9 +150,8 @@ export class NodeHost implements RuntimeHost {
readonly azureToken: AzureTokenResolver
readonly azureServerlessToken: AzureTokenResolver
- constructor(dotEnvPath: string) {
- this.dotEnvPath = dotEnvPath
- this.syncDotEnv()
+ constructor(config: HostConfiguration) {
+ this.config = config
this.models = new ModelManager(this)
this.azureToken = createAzureTokenResolver(
"Azure",
@@ -164,10 +165,13 @@ export class NodeHost implements RuntimeHost {
)
}
- private syncDotEnv() {
- if (existsSync(this.dotEnvPath)) {
+ private async syncDotEnv() {
+ const { envFile } = this.config
+ if (existsSync(envFile)) {
+ if (resolve(envFile) !== resolve(DOT_ENV_FILENAME))
+ logVerbose(`.env: loading ${envFile}`)
const res = dotenv.config({
- path: this.dotEnvPath,
+ path: envFile,
debug: !!process.env.DEBUG,
override: true,
})
@@ -176,27 +180,19 @@ export class NodeHost implements RuntimeHost {
}
static async install(dotEnvPath: string) {
- dotEnvPath = dotEnvPath || process.env.GENAISCRIPT_ENV_FILE
- if (dotEnvPath) {
- // if the user provided a path, check file existence
- if (!(await exists(dotEnvPath)))
- throw new Error(`.env file not found at ${dotEnvPath}`)
- } else {
- dotEnvPath = resolve(DOT_ENV_FILENAME)
- }
- const h = new NodeHost(dotEnvPath)
+ const config = await resolveGlobalConfiguration(dotEnvPath)
+ const h = new NodeHost(config)
setRuntimeHost(h)
await h.parseDefaults()
return h
}
async readSecret(name: string): Promise {
- this.syncDotEnv()
return process.env[name]
}
private async parseDefaults() {
- this.syncDotEnv()
+ await this.syncDotEnv()
await parseDefaultsFromEnv(process.env)
}
clientLanguageModel: LanguageModel
@@ -206,7 +202,6 @@ export class NodeHost implements RuntimeHost {
options?: { token?: boolean } & AbortSignalOptions & TraceOptions
): Promise {
const { signal, token: askToken } = options || {}
- await this.parseDefaults()
const tok = await parseTokenFromEnv(process.env, modelId)
if (!askToken && tok?.token) tok.token = "***"
if (askToken && tok && !tok.token) {
@@ -239,17 +234,11 @@ export class NodeHost implements RuntimeHost {
)
const { provider } = parseModelIdentifier(modelId)
if (provider === MODEL_PROVIDER_AZURE_OPENAI)
- throw new Error(
- "Azure OpenAI end point not configured (AZURE_OPENAI_ENDPOINT)"
- )
+ throw new Error("Azure OpenAI not configured")
else if (provider === MODEL_PROVIDER_AZURE_SERVERLESS_OPENAI)
- throw new Error(
- "Azure AI OpenAI Serverless end point not configured (AZURE_SERVERLESS_OPENAI_API_ENDPOINT)"
- )
+ throw new Error("Azure AI OpenAI Serverless not configured")
else if (provider === MODEL_PROVIDER_AZURE_SERVERLESS_MODELS)
- throw new Error(
- "Azure AI Models end point not configured (AZURE_SERVERLESS_MODELS_API_ENDPOINT)"
- )
+ throw new Error("Azure AI Models not configured")
}
if (!tok && this.clientLanguageModel) {
return {
diff --git a/packages/core/package.json b/packages/core/package.json
index 49786caac3..9523e894b4 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -60,6 +60,7 @@
"magic-string": "^0.30.12",
"mammoth": "^1.8.0",
"mathjs": "^13.2.1",
+ "merge-descriptors": "^2.0.0",
"mime-types": "^2.1.35",
"minimatch": "^10.0.1",
"minisearch": "^7.1.0",
diff --git a/packages/core/src/config.ts b/packages/core/src/config.ts
index a7ac18d815..fd6110e1de 100644
--- a/packages/core/src/config.ts
+++ b/packages/core/src/config.ts
@@ -1,16 +1,65 @@
-import { PromptScriptRunOptions } from "./server/messages"
+import { homedir } from "os"
+import { existsSync, readFileSync } from "fs"
+import { YAMLTryParse } from "./yaml"
+import { JSON5TryParse } from "./json5"
+import mergeDescriptors from "merge-descriptors"
+import { DOT_ENV_FILENAME, TOOL_ID } from "./constants"
+import { resolve } from "path"
+import { validateJSONWithSchema } from "./schema"
+import { HostConfiguration } from "./hostconfiguration"
-/**
- * Schema for a global configuration file
- */
-export interface GenAIScriptConfiguration {
- /**
- * Path to the .env file
- */
- env?: string
-
- /**
- * Common run options
- */
- run?: PromptScriptRunOptions
+export async function resolveGlobalConfiguration(
+ dotEnvPath?: string
+): Promise {
+ // ~/genaiscript.config.yml
+ // ~/genaiscript.config.json
+ const dirs = [homedir(), "."]
+ const exts = ["yml", "yaml", "json"]
+
+ // import and merge global local files
+ let config: HostConfiguration = {}
+ for (const dir of dirs) {
+ for (const ext of exts) {
+ const filename = resolve(`${dir}/${TOOL_ID}.config.${ext}`)
+ if (existsSync(filename)) {
+ const fileContent = readFileSync(filename, "utf8")
+ const parsed =
+ ext === "yml" || ext === "yaml"
+ ? YAMLTryParse(fileContent)
+ : JSON5TryParse(fileContent)
+ if (!parsed)
+ throw new Error(
+ `Configuration error: failed to parse ${filename}`
+ )
+ const validation = validateJSONWithSchema(parsed, {
+ type: "object",
+ properties: {
+ envFile: {
+ type: "string",
+ },
+ },
+ })
+ if (validation.schemaError)
+ throw new Error(validation.schemaError)
+ config = mergeDescriptors(config, parsed)
+ }
+ }
+ }
+
+ // import for env var
+ if (process.env.GENAISCRIPT_ENV_FILE)
+ config.envFile = process.env.GENAISCRIPT_ENV_FILE
+
+ // override with CLI command
+ if (dotEnvPath) config.envFile = dotEnvPath
+
+ if (config.envFile) {
+ // if the user provided a path, check file existence
+ if (!(await existsSync(config.envFile)))
+ throw new Error(`.env file not found at ${config.envFile}`)
+ } else {
+ config.envFile = DOT_ENV_FILENAME
+ }
+ config.envFile = resolve(config.envFile)
+ return config
}
diff --git a/packages/core/src/connection.ts b/packages/core/src/connection.ts
index 65e6063313..4dc607f924 100644
--- a/packages/core/src/connection.ts
+++ b/packages/core/src/connection.ts
@@ -2,7 +2,6 @@ import {
ANTHROPIC_API_BASE,
AZURE_AI_INFERENCE_VERSION,
AZURE_OPENAI_API_VERSION,
- DOT_ENV_FILENAME,
GITHUB_MODELS_BASE,
LITELLM_API_BASE,
LLAMAFILE_API_BASE,
@@ -411,17 +410,3 @@ export async function parseTokenFromEnv(
return b
}
}
-
-export async function updateConnectionConfiguration(
- provider?: string,
- apiType?: OpenAIAPIType
-): Promise {
- // update .gitignore file
- if (!(await fileExists(".gitignore")))
- await writeText(".gitignore", `${DOT_ENV_FILENAME}\n`)
- else {
- const content = await readText(".gitignore")
- if (!content.includes(DOT_ENV_FILENAME))
- await writeText(".gitignore", content + `\n${DOT_ENV_FILENAME}\n`)
- }
-}
diff --git a/packages/core/src/fence.ts b/packages/core/src/fence.ts
index d79803caf9..9c22ba8426 100644
--- a/packages/core/src/fence.ts
+++ b/packages/core/src/fence.ts
@@ -191,7 +191,7 @@ export function findFirstDataFence(fences: Fenced[]): any {
!f.label &&
(f.language === "yaml" || f.language === "json")
) || {}
- if (language === "yaml") return YAMLTryParse(content)
+ if (language === "yaml" || language === "yml") return YAMLTryParse(content)
else if (language === "json") return JSON5TryParse(content)
return undefined
}
diff --git a/packages/core/src/host.ts b/packages/core/src/host.ts
index b052b58dfe..e11cba0665 100644
--- a/packages/core/src/host.ts
+++ b/packages/core/src/host.ts
@@ -3,6 +3,7 @@ import { LanguageModel } from "./chat"
import { Progress } from "./progress"
import { AbortSignalOptions, MarkdownTrace, TraceOptions } from "./trace"
import { Project } from "./ast"
+import { HostConfiguration } from "./hostconfiguration"
// this is typically an instance of TextDecoder
export interface UTF8Decoder {
@@ -112,8 +113,6 @@ export interface AzureTokenResolver {
}
export interface Host {
- readonly dotEnvPath: string
-
userState: any
server: ServerManager
path: Path
@@ -156,6 +155,7 @@ export interface Host {
}
export interface RuntimeHost extends Host {
+ readonly config: HostConfiguration
project: Project
models: ModelService
workspace: Omit
diff --git a/packages/core/src/hostconfiguration.ts b/packages/core/src/hostconfiguration.ts
new file mode 100644
index 0000000000..afe8741c77
--- /dev/null
+++ b/packages/core/src/hostconfiguration.ts
@@ -0,0 +1,9 @@
+/**
+ * Schema for a global configuration file
+ */
+export interface HostConfiguration {
+ /**
+ * Path to the .env file
+ */
+ envFile?: string
+}
diff --git a/packages/core/src/models.ts b/packages/core/src/models.ts
index f1a423d9e9..0fa1b925f2 100644
--- a/packages/core/src/models.ts
+++ b/packages/core/src/models.ts
@@ -175,7 +175,9 @@ export async function resolveModelConnectionInfo(
return {
info: {
model: "?",
- error: `No model configured for ${hint}`,
+ error: hint
+ ? `No LLM provider configured for ${hint}`
+ : "No LLM provider configured",
},
}
}
diff --git a/packages/core/src/testhost.ts b/packages/core/src/testhost.ts
index 85200395e5..56c901d223 100644
--- a/packages/core/src/testhost.ts
+++ b/packages/core/src/testhost.ts
@@ -36,6 +36,7 @@ import {
import { LanguageModel } from "./chat"
import { Project } from "./ast"
import { NotSupportedError } from "./error"
+import { HostConfiguration } from "./hostconfiguration"
// Function to create a frozen object representing Node.js path methods
// This object provides utility methods for path manipulations
@@ -54,9 +55,8 @@ export function createNodePath(): Path {
// Class representing a test host for runtime, implementing the RuntimeHost interface
export class TestHost implements RuntimeHost {
+ config: HostConfiguration
project: Project
- // Path to the dotenv file (if used)
- dotEnvPath: string = undefined
// State object to store user-specific data
userState: any = {}
// Service to manage language models
diff --git a/packages/vscode/package.json b/packages/vscode/package.json
index f8754c27b8..b43d46e16d 100644
--- a/packages/vscode/package.json
+++ b/packages/vscode/package.json
@@ -398,11 +398,6 @@
"title": "Configuration information...",
"category": "GenAIScript"
},
- {
- "command": "genaiscript.connection.configure",
- "title": "Configure connection...",
- "category": "GenAIScript"
- },
{
"command": "genaiscript.samples.download",
"title": "Download sample...",
diff --git a/packages/vscode/src/connectioninfotree.ts b/packages/vscode/src/connectioninfotree.ts
index 59415c2407..92a71bc200 100644
--- a/packages/vscode/src/connectioninfotree.ts
+++ b/packages/vscode/src/connectioninfotree.ts
@@ -42,14 +42,7 @@ class ConnectionInfoTreeDataProvider
command: "vscode.open",
arguments: [this.state.host.toUri("./.env")],
}
- } else {
- item.description = "not configured"
- item.command = {
- command: "genaiscript.connection.configure",
- arguments: [element.provider, element.apiType],
- }
}
-
return item
}
getChildren(
diff --git a/packages/vscode/src/extension.ts b/packages/vscode/src/extension.ts
index a37be7f923..a4ad0f636d 100644
--- a/packages/vscode/src/extension.ts
+++ b/packages/vscode/src/extension.ts
@@ -20,8 +20,6 @@ import {
import type MarkdownIt from "markdown-it"
import MarkdownItGitHubAlerts from "markdown-it-github-alerts"
import { activateConnectionInfoTree } from "./connectioninfotree"
-import { updateConnectionConfiguration } from "../../core/src/connection"
-import { OpenAIAPIType } from "../../core/src/host"
import { activeTaskProvider } from "./taskprovider"
import { activateSamplesCommands } from "./samplescommands"
import { activateChatParticipant } from "./chatparticipant"
@@ -43,15 +41,6 @@ export async function activate(context: ExtensionContext) {
activateChatParticipant(state)
context.subscriptions.push(
- registerCommand(
- "genaiscript.connection.configure",
- async (provider?: string, apiType?: OpenAIAPIType) => {
- await updateConnectionConfiguration(provider, apiType)
- await vscode.env.openExternal(
- vscode.Uri.parse(DOCS_CONFIGURATION_URL)
- )
- }
- ),
registerCommand("genaiscript.request.abort", async () => {
await state.cancelAiRequest()
await vscode.window.showInformationMessage(
diff --git a/packages/vscode/src/lmaccess.ts b/packages/vscode/src/lmaccess.ts
index efc58a9daf..83bd67c922 100644
--- a/packages/vscode/src/lmaccess.ts
+++ b/packages/vscode/src/lmaccess.ts
@@ -13,6 +13,7 @@ import {
TOOL_NAME,
MODEL_PROVIDER_AZURE_SERVERLESS_MODELS,
MODEL_PROVIDER_AZURE_SERVERLESS_OPENAI,
+ DOCS_CONFIGURATION_URL,
} from "../../core/src/constants"
import { OpenAIAPIType } from "../../core/src/host"
import { parseModelIdentifier } from "../../core/src/models"
@@ -35,7 +36,7 @@ async function generateLanguageModelConfiguration(
provider === MODEL_PROVIDER_AZURE_OPENAI ||
provider === MODEL_PROVIDER_AZURE_SERVERLESS_OPENAI ||
provider === MODEL_PROVIDER_AZURE_SERVERLESS_MODELS ||
- provider === MODEL_PROVIDER_LITELLM
+ provider === MODEL_PROVIDER_LITELLM
) {
return { provider }
}
@@ -162,17 +163,12 @@ export async function pickLanguageModel(
if (res.model) return res.model
else {
const configure = "Configure..."
- vscode.window
- .showWarningMessage(
- `${TOOL_NAME} - model connection not configured.`,
- configure
- )
- .then((res) => {
- if (res === configure)
- vscode.commands.executeCommand(
- "genaiscript.connection.configure"
- )
- })
+ vscode.window.showWarningMessage(
+ `${TOOL_NAME} - model connection not configured.`,
+ configure
+ )
+ if (configure)
+ vscode.env.openExternal(vscode.Uri.parse(DOCS_CONFIGURATION_URL))
return undefined
}
}
diff --git a/packages/vscode/src/vshost.ts b/packages/vscode/src/vshost.ts
index 27930f7669..45c13f1929 100644
--- a/packages/vscode/src/vshost.ts
+++ b/packages/vscode/src/vshost.ts
@@ -12,7 +12,6 @@ import {
DEFAULT_MODEL,
DEFAULT_SMALL_MODEL,
DEFAULT_TEMPERATURE,
- DOT_ENV_FILENAME,
} from "../../core/src/constants"
import { dotEnvTryParse } from "../../core/src/dotenv"
import {
@@ -27,7 +26,6 @@ import { LanguageModel } from "../../core/src/chat"
import { uniq } from "es-toolkit"
export class VSCodeHost extends EventTarget implements Host {
- dotEnvPath: string = DOT_ENV_FILENAME
userState: any = {}
readonly path = createVSPath()
readonly server: TerminalServerManager
@@ -47,11 +45,7 @@ export class VSCodeHost extends EventTarget implements Host {
this.state.context.subscriptions.push(this)
}
- async activate() {
- const dotenv = await readFileText(this.projectUri, DOT_ENV_FILENAME)
- const env = dotEnvTryParse(dotenv) ?? {}
- await parseDefaultsFromEnv(env)
- }
+ async activate() {}
get context() {
return this.state.context
diff --git a/slides/yarn.lock b/slides/yarn.lock
index 54952c4372..a07e7b9527 100644
--- a/slides/yarn.lock
+++ b/slides/yarn.lock
@@ -758,95 +758,95 @@
estree-walker "^2.0.2"
picomatch "^4.0.2"
-"@rollup/rollup-android-arm-eabi@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.25.0.tgz#3e7eda4c0c1de6d2415343002d742ff95e38dca7"
- integrity sha512-CC/ZqFZwlAIbU1wUPisHyV/XRc5RydFrNLtgl3dGYskdwPZdt4HERtKm50a/+DtTlKeCq9IXFEWR+P6blwjqBA==
-
-"@rollup/rollup-android-arm64@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.25.0.tgz#04f679231acf7284f1f8a1f7250d0e0944865ba8"
- integrity sha512-/Y76tmLGUJqVBXXCfVS8Q8FJqYGhgH4wl4qTA24E9v/IJM0XvJCGQVSW1QZ4J+VURO9h8YCa28sTFacZXwK7Rg==
-
-"@rollup/rollup-darwin-arm64@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.25.0.tgz#ecea723041621747d0772af93b54752edf26467a"
- integrity sha512-YVT6L3UrKTlC0FpCZd0MGA7NVdp7YNaEqkENbWQ7AOVOqd/7VzyHpgIpc1mIaxRAo1ZsJRH45fq8j4N63I/vvg==
-
-"@rollup/rollup-darwin-x64@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.25.0.tgz#28e6e0687092f31e20982fc104779d48c643fc21"
- integrity sha512-ZRL+gexs3+ZmmWmGKEU43Bdn67kWnMeWXLFhcVv5Un8FQcx38yulHBA7XR2+KQdYIOtD0yZDWBCudmfj6lQJoA==
-
-"@rollup/rollup-freebsd-arm64@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.25.0.tgz#99e9173b8aef3d1ef086983da70413988206e530"
- integrity sha512-xpEIXhiP27EAylEpreCozozsxWQ2TJbOLSivGfXhU4G1TBVEYtUPi2pOZBnvGXHyOdLAUUhPnJzH3ah5cqF01g==
-
-"@rollup/rollup-freebsd-x64@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.25.0.tgz#f3a1ef941f8d3c6b2b036484c69a7b2d3d9ebbd7"
- integrity sha512-sC5FsmZGlJv5dOcURrsnIK7ngc3Kirnx3as2XU9uER+zjfyqIjdcMVgzy4cOawhsssqzoAX19qmxgJ8a14Qrqw==
-
-"@rollup/rollup-linux-arm-gnueabihf@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.25.0.tgz#9ba6adcc33f26f2a0c6ee658f0bbda4de8da2f75"
- integrity sha512-uD/dbLSs1BEPzg564TpRAQ/YvTnCds2XxyOndAO8nJhaQcqQGFgv/DAVko/ZHap3boCvxnzYMa3mTkV/B/3SWA==
-
-"@rollup/rollup-linux-arm-musleabihf@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.25.0.tgz#62f2426fa9016ec884f4fa779d7b62d5ba02a41a"
- integrity sha512-ZVt/XkrDlQWegDWrwyC3l0OfAF7yeJUF4fq5RMS07YM72BlSfn2fQQ6lPyBNjt+YbczMguPiJoCfaQC2dnflpQ==
-
-"@rollup/rollup-linux-arm64-gnu@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.25.0.tgz#f98ec111a231d35e0c6d3404e3d80f67f9d5b9f8"
- integrity sha512-qboZ+T0gHAW2kkSDPHxu7quaFaaBlynODXpBVnPxUgvWYaE84xgCKAPEYE+fSMd3Zv5PyFZR+L0tCdYCMAtG0A==
-
-"@rollup/rollup-linux-arm64-musl@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.25.0.tgz#4b36ffb8359f959f2c29afd187603c53368b6723"
- integrity sha512-ndWTSEmAaKr88dBuogGH2NZaxe7u2rDoArsejNslugHZ+r44NfWiwjzizVS1nUOHo+n1Z6qV3X60rqE/HlISgw==
-
-"@rollup/rollup-linux-powerpc64le-gnu@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.25.0.tgz#52f4b39e6783505d168a745b79d86474fde71680"
- integrity sha512-BVSQvVa2v5hKwJSy6X7W1fjDex6yZnNKy3Kx1JGimccHft6HV0THTwNtC2zawtNXKUu+S5CjXslilYdKBAadzA==
-
-"@rollup/rollup-linux-riscv64-gnu@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.25.0.tgz#49195be7e6a7d68d482b12461e2ea914e31ff977"
- integrity sha512-G4hTREQrIdeV0PE2JruzI+vXdRnaK1pg64hemHq2v5fhv8C7WjVaeXc9P5i4Q5UC06d/L+zA0mszYIKl+wY8oA==
-
-"@rollup/rollup-linux-s390x-gnu@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.25.0.tgz#4b8d50a205eac7b46cdcb9c50d4a6ae5994c02e0"
- integrity sha512-9T/w0kQ+upxdkFL9zPVB6zy9vWW1deA3g8IauJxojN4bnz5FwSsUAD034KpXIVX5j5p/rn6XqumBMxfRkcHapQ==
-
-"@rollup/rollup-linux-x64-gnu@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.25.0.tgz#dfcceebc5ccac7fc2db19471996026258c81b55f"
- integrity sha512-ThcnU0EcMDn+J4B9LD++OgBYxZusuA7iemIIiz5yzEcFg04VZFzdFjuwPdlURmYPZw+fgVrFzj4CA64jSTG4Ig==
-
-"@rollup/rollup-linux-x64-musl@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.25.0.tgz#192f78bad8429711d63a31dc0a7d3312e2df850e"
- integrity sha512-zx71aY2oQxGxAT1JShfhNG79PnjYhMC6voAjzpu/xmMjDnKNf6Nl/xv7YaB/9SIa9jDYf8RBPWEnjcdlhlv1rQ==
-
-"@rollup/rollup-win32-arm64-msvc@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.25.0.tgz#f4ec076579634f780b4e5896ae7f59f3e38e0c60"
- integrity sha512-JT8tcjNocMs4CylWY/CxVLnv8e1lE7ff1fi6kbGocWwxDq9pj30IJ28Peb+Y8yiPNSF28oad42ApJB8oUkwGww==
-
-"@rollup/rollup-win32-ia32-msvc@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.25.0.tgz#5458eab1929827e4f805cefb90bd09ecf7eeed2b"
- integrity sha512-dRLjLsO3dNOfSN6tjyVlG+Msm4IiZnGkuZ7G5NmpzwF9oOc582FZG05+UdfTbz5Jd4buK/wMb6UeHFhG18+OEg==
-
-"@rollup/rollup-win32-x64-msvc@4.25.0":
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.25.0.tgz#93415e7e707e4b156d77c5950b983b58f4bc33f3"
- integrity sha512-/RqrIFtLB926frMhZD0a5oDa4eFIbyNEwLLloMTEjmqfwZWXywwVVOVmwTsuyhC9HKkVEZcOOi+KV4U9wmOdlg==
+"@rollup/rollup-android-arm-eabi@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.26.0.tgz#f221c519a6efb5d3652bff32351522e0fb98e392"
+ integrity sha512-gJNwtPDGEaOEgejbaseY6xMFu+CPltsc8/T+diUTTbOQLqD+bnrJq9ulH6WD69TqwqWmrfRAtUv30cCFZlbGTQ==
+
+"@rollup/rollup-android-arm64@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.26.0.tgz#196a2379d81011422fe1128e512a8811605ede16"
+ integrity sha512-YJa5Gy8mEZgz5JquFruhJODMq3lTHWLm1fOy+HIANquLzfIOzE9RA5ie3JjCdVb9r46qfAQY/l947V0zfGJ0OQ==
+
+"@rollup/rollup-darwin-arm64@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.26.0.tgz#0c83e5f25adae7f0543ac29a0ebd485a0e7cd3e4"
+ integrity sha512-ErTASs8YKbqTBoPLp/kA1B1Um5YSom8QAc4rKhg7b9tyyVqDBlQxy7Bf2wW7yIlPGPg2UODDQcbkTlruPzDosw==
+
+"@rollup/rollup-darwin-x64@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.26.0.tgz#8131b174ca8cec04e2041e42eb8382afe31095c8"
+ integrity sha512-wbgkYDHcdWW+NqP2mnf2NOuEbOLzDblalrOWcPyY6+BRbVhliavon15UploG7PpBRQ2bZJnbmh8o3yLoBvDIHA==
+
+"@rollup/rollup-freebsd-arm64@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.26.0.tgz#550a0ebf5bea6ceee79dc2f75a0bcef7d660de2c"
+ integrity sha512-Y9vpjfp9CDkAG4q/uwuhZk96LP11fBz/bYdyg9oaHYhtGZp7NrbkQrj/66DYMMP2Yo/QPAsVHkV891KyO52fhg==
+
+"@rollup/rollup-freebsd-x64@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.26.0.tgz#51ca2e6d9ce72e63d5201607651732e5300a6f81"
+ integrity sha512-A/jvfCZ55EYPsqeaAt/yDAG4q5tt1ZboWMHEvKAH9Zl92DWvMIbnZe/f/eOXze65aJaaKbL+YeM0Hz4kLQvdwg==
+
+"@rollup/rollup-linux-arm-gnueabihf@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.26.0.tgz#ae71d6aa81e702c4efb72c1a67a6a4e790267a1b"
+ integrity sha512-paHF1bMXKDuizaMODm2bBTjRiHxESWiIyIdMugKeLnjuS1TCS54MF5+Y5Dx8Ui/1RBPVRE09i5OUlaLnv8OGnA==
+
+"@rollup/rollup-linux-arm-musleabihf@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.26.0.tgz#6aa7baa5c39c095fa5f9804e283e126697e0342a"
+ integrity sha512-cwxiHZU1GAs+TMxvgPfUDtVZjdBdTsQwVnNlzRXC5QzIJ6nhfB4I1ahKoe9yPmoaA/Vhf7m9dB1chGPpDRdGXg==
+
+"@rollup/rollup-linux-arm64-gnu@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.26.0.tgz#2b06e147ca68c7729ca38e5c7a514d1b00f4d151"
+ integrity sha512-4daeEUQutGRCW/9zEo8JtdAgtJ1q2g5oHaoQaZbMSKaIWKDQwQ3Yx0/3jJNmpzrsScIPtx/V+1AfibLisb3AMQ==
+
+"@rollup/rollup-linux-arm64-musl@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.26.0.tgz#70f8cacb255800e4cad41bdbe447432354288909"
+ integrity sha512-eGkX7zzkNxvvS05ROzJ/cO/AKqNvR/7t1jA3VZDi2vRniLKwAWxUr85fH3NsvtxU5vnUUKFHKh8flIBdlo2b3Q==
+
+"@rollup/rollup-linux-powerpc64le-gnu@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.26.0.tgz#21aed3ef42518b7fe33f4037a14b0939a071cf75"
+ integrity sha512-Odp/lgHbW/mAqw/pU21goo5ruWsytP7/HCC/liOt0zcGG0llYWKrd10k9Fj0pdj3prQ63N5yQLCLiE7HTX+MYw==
+
+"@rollup/rollup-linux-riscv64-gnu@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.26.0.tgz#fe27eb8cbd3a6e0706459781c2463b624f785696"
+ integrity sha512-MBR2ZhCTzUgVD0OJdTzNeF4+zsVogIR1U/FsyuFerwcqjZGvg2nYe24SAHp8O5sN8ZkRVbHwlYeHqcSQ8tcYew==
+
+"@rollup/rollup-linux-s390x-gnu@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.26.0.tgz#80289a528dd333b0e277efd93bfa8e2cdd27e5eb"
+ integrity sha512-YYcg8MkbN17fMbRMZuxwmxWqsmQufh3ZJFxFGoHjrE7bv0X+T6l3glcdzd7IKLiwhT+PZOJCblpnNlz1/C3kGQ==
+
+"@rollup/rollup-linux-x64-gnu@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.26.0.tgz#9909570be5cb738c23858c94308d37dde363eb7e"
+ integrity sha512-ZuwpfjCwjPkAOxpjAEjabg6LRSfL7cAJb6gSQGZYjGhadlzKKywDkCUnJ+KEfrNY1jH5EEoSIKLCb572jSiglA==
+
+"@rollup/rollup-linux-x64-musl@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.26.0.tgz#371315e032497f7a46f64b4ebcd207313b7f6669"
+ integrity sha512-+HJD2lFS86qkeF8kNu0kALtifMpPCZU80HvwztIKnYwym3KnA1os6nsX4BGSTLtS2QVAGG1P3guRgsYyMA0Yhg==
+
+"@rollup/rollup-win32-arm64-msvc@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.26.0.tgz#f4b4e0747710ba287eb2e2a011538ee2ed7f74d3"
+ integrity sha512-WUQzVFWPSw2uJzX4j6YEbMAiLbs0BUysgysh8s817doAYhR5ybqTI1wtKARQKo6cGop3pHnrUJPFCsXdoFaimQ==
+
+"@rollup/rollup-win32-ia32-msvc@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.26.0.tgz#2eeabbc99342dafe04613a76c441be4ebcca49c3"
+ integrity sha512-D4CxkazFKBfN1akAIY6ieyOqzoOoBV1OICxgUblWxff/pSjCA2khXlASUx7mK6W1oP4McqhgcCsu6QaLj3WMWg==
+
+"@rollup/rollup-win32-x64-msvc@4.26.0":
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.26.0.tgz#a3ae3da434a4ba0785312e963ae4c1239470403a"
+ integrity sha512-2x8MO1rm4PGEP0xWbubJW5RtbNLk3puzAMaLQd3B3JHVw4KcHlmXcO+Wewx9zCoo7EUFiMlu/aZbCJ7VjMzAag==
"@shikijs/core@1.22.2":
version "1.22.2"
@@ -1696,9 +1696,9 @@
"@vue/babel-plugin-jsx" "^1.2.5"
"@vitejs/plugin-vue@^5.1.2":
- version "5.1.5"
- resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.1.5.tgz#ef1d7e19f8cecb0d1301c987dc0bdf8b778e3c82"
- integrity sha512-dlnib73G05CDBAUR/YpuZcQQ47fpjihnnNouAAqN62z+oqSsWJ+kh52GRzIxpkgFG3q11eXK7Di7RMmoCwISZA==
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/@vitejs/plugin-vue/-/plugin-vue-5.2.0.tgz#994f3b4f12d3590c5a6895df4cbd270d9a6d5e17"
+ integrity sha512-7n7KdUEtx/7Yl7I/WVAMZ1bEb0eVvXF3ummWTeLcs/9gvo9pJhuLdouSXGjdZ/MKD1acf1I272+X0RMua4/R3g==
"@volar/language-core@~2.4.8":
version "2.4.10"
@@ -1923,9 +1923,9 @@ acorn@^8.12.1, acorn@^8.14.0, acorn@^8.8.2:
integrity sha512-cl669nCJTZBsL97OF4kUQm5g5hC2uihk0NxY3WENAC0TYdILVkAyHymAntgxGkl7K+t0cXIrH5siy5S4XkFycA==
alien-signals@^0.2.0:
- version "0.2.1"
- resolved "https://registry.yarnpkg.com/alien-signals/-/alien-signals-0.2.1.tgz#1460ca8f67b4e0aa1acf27c446c49de7a90e9273"
- integrity sha512-FlEQrDJe9r2RI4cDlnK2zYqJezvx1uJaWEuwxsnlFqnPwvJbgitNBRumWrLDv8lA+7cCikpMxfJD2TTHiaTklA==
+ version "0.2.2"
+ resolved "https://registry.yarnpkg.com/alien-signals/-/alien-signals-0.2.2.tgz#439d09b363dc4d609c0f6ce69362dce068d23197"
+ integrity sha512-cZIRkbERILsBOXTQmMrxc9hgpxglstn69zm+F1ARf4aPAzdAFYd6sBq87ErO0Fj3DV94tglcyHG5kQz9nDC/8A==
ansi-regex@^5.0.1:
version "5.0.1"
@@ -2763,9 +2763,9 @@ ee-first@1.1.1:
integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==
electron-to-chromium@^1.5.41:
- version "1.5.56"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.56.tgz#3213f369efc3a41091c3b2c05bc0f406108ac1df"
- integrity sha512-7lXb9dAvimCFdvUMTyucD4mnIndt/xhRKFAlky0CyFogdnNmdPQNoHI23msF/2V4mpTxMzgMdjK4+YRlFlRQZw==
+ version "1.5.57"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.57.tgz#cb43af8784166bca24565b3418bf5f775a6b1c86"
+ integrity sha512-xS65H/tqgOwUBa5UmOuNSLuslDo7zho0y/lgQw35pnrqiZh7UOWHCeL/Bt6noJATbA6tpQJGCifsFsIRZj1Fqg==
emoji-regex@^8.0.0:
version "8.0.0"
@@ -4517,30 +4517,30 @@ robust-predicates@^3.0.2:
integrity sha512-IXgzBWvWQwE6PrDI05OvmXUIruQTcoMDzRsOd5CDvHCVLcLHMTSYvOK5Cm46kWqlV3yAbuSpBZdJ5oP5OUoStg==
rollup@^4.20.0:
- version "4.25.0"
- resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.25.0.tgz#74dff4b5c2777dfc490f9711393925da50171787"
- integrity sha512-uVbClXmR6wvx5R1M3Od4utyLUxrmOcEm3pAtMphn73Apq19PDtHpgZoEvqH2YnnaNUuvKmg2DgRd2Sqv+odyqg==
+ version "4.26.0"
+ resolved "https://registry.yarnpkg.com/rollup/-/rollup-4.26.0.tgz#a3e5fb29d50953633a2fd4506da6448d93268944"
+ integrity sha512-ilcl12hnWonG8f+NxU6BlgysVA0gvY2l8N0R84S1HcINbW20bvwuCngJkkInV6LXhwRpucsW5k1ovDwEdBVrNg==
dependencies:
"@types/estree" "1.0.6"
optionalDependencies:
- "@rollup/rollup-android-arm-eabi" "4.25.0"
- "@rollup/rollup-android-arm64" "4.25.0"
- "@rollup/rollup-darwin-arm64" "4.25.0"
- "@rollup/rollup-darwin-x64" "4.25.0"
- "@rollup/rollup-freebsd-arm64" "4.25.0"
- "@rollup/rollup-freebsd-x64" "4.25.0"
- "@rollup/rollup-linux-arm-gnueabihf" "4.25.0"
- "@rollup/rollup-linux-arm-musleabihf" "4.25.0"
- "@rollup/rollup-linux-arm64-gnu" "4.25.0"
- "@rollup/rollup-linux-arm64-musl" "4.25.0"
- "@rollup/rollup-linux-powerpc64le-gnu" "4.25.0"
- "@rollup/rollup-linux-riscv64-gnu" "4.25.0"
- "@rollup/rollup-linux-s390x-gnu" "4.25.0"
- "@rollup/rollup-linux-x64-gnu" "4.25.0"
- "@rollup/rollup-linux-x64-musl" "4.25.0"
- "@rollup/rollup-win32-arm64-msvc" "4.25.0"
- "@rollup/rollup-win32-ia32-msvc" "4.25.0"
- "@rollup/rollup-win32-x64-msvc" "4.25.0"
+ "@rollup/rollup-android-arm-eabi" "4.26.0"
+ "@rollup/rollup-android-arm64" "4.26.0"
+ "@rollup/rollup-darwin-arm64" "4.26.0"
+ "@rollup/rollup-darwin-x64" "4.26.0"
+ "@rollup/rollup-freebsd-arm64" "4.26.0"
+ "@rollup/rollup-freebsd-x64" "4.26.0"
+ "@rollup/rollup-linux-arm-gnueabihf" "4.26.0"
+ "@rollup/rollup-linux-arm-musleabihf" "4.26.0"
+ "@rollup/rollup-linux-arm64-gnu" "4.26.0"
+ "@rollup/rollup-linux-arm64-musl" "4.26.0"
+ "@rollup/rollup-linux-powerpc64le-gnu" "4.26.0"
+ "@rollup/rollup-linux-riscv64-gnu" "4.26.0"
+ "@rollup/rollup-linux-s390x-gnu" "4.26.0"
+ "@rollup/rollup-linux-x64-gnu" "4.26.0"
+ "@rollup/rollup-linux-x64-musl" "4.26.0"
+ "@rollup/rollup-win32-arm64-msvc" "4.26.0"
+ "@rollup/rollup-win32-ia32-msvc" "4.26.0"
+ "@rollup/rollup-win32-x64-msvc" "4.26.0"
fsevents "~2.3.2"
roughjs@^4.6.6:
diff --git a/yarn.lock b/yarn.lock
index f3a71e4100..6d66631866 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2986,9 +2986,9 @@ gpt-3-encoder@1.1.4:
integrity sha512-fSQRePV+HUAhCn7+7HL7lNIXNm6eaFWFbNLOOGtmSJ0qJycyQvj60OvRlH7mee8xAMjBDNRdMXlMwjAbMTDjkg==
gpt-tokenizer@^2.6.1:
- version "2.6.1"
- resolved "https://registry.yarnpkg.com/gpt-tokenizer/-/gpt-tokenizer-2.6.1.tgz#7099ffd12f4a8499369b9c3361873915a788c068"
- integrity sha512-o/gLZb9EFV4ivihD1SfKip6+WjVQLPx14w6QDJJ8S1S6fEiGlgiAlVvpdWSL9keUwOexDwm7DdsfedsDJFQKmg==
+ version "2.6.2"
+ resolved "https://registry.yarnpkg.com/gpt-tokenizer/-/gpt-tokenizer-2.6.2.tgz#90e6932c7b5f73df7c13d360802edb43a2776586"
+ integrity sha512-OznIET3z069FiwbLtLFXJ9pVESYAa8EnX0BMogs6YJ4Fn2FIcyeZYEbxsp2grPiK0DVaqP1f+0JR/8t9R7/jlg==
graceful-fs@^4.1.6, graceful-fs@^4.2.0:
version "4.2.11"
@@ -3731,9 +3731,9 @@ markdown-it@^14.1.0:
uc.micro "^2.1.0"
mathjs@^13.0.3, mathjs@^13.2.1:
- version "13.2.1"
- resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-13.2.1.tgz#4c675de0d4a54095adad1075ac621ca323e3d009"
- integrity sha512-HEKNV0hckO5Y4uY/KHucmQMMiXgdNUXfJ+SkExRJHLlD3f7mt4DZMJzndQOoTp/dX8ROwk4zl2xO+iq49OEliQ==
+ version "13.2.2"
+ resolved "https://registry.yarnpkg.com/mathjs/-/mathjs-13.2.2.tgz#22b6e2a86217325e79baf052266f37aaf2a10a4d"
+ integrity sha512-tBNMmwNsLMjD7xGHSF9IEuuzNVG8xPDgshDBY1eQ5ZS1HQr5O+bY8eG2peZYSkIsw79y2QcPkGMcQL5ZqtLu5A==
dependencies:
"@babel/runtime" "^7.25.7"
complex.js "^2.2.5"
@@ -3773,6 +3773,11 @@ meow@^9.0.0:
type-fest "^0.18.0"
yargs-parser "^20.2.3"
+merge-descriptors@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-2.0.0.tgz#ea922f660635a2249ee565e0449f951e6b603808"
+ integrity sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==
+
merge2@^1.3.0, merge2@^1.4.1:
version "1.4.1"
resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
@@ -4937,9 +4942,9 @@ stoppable@^1.1.0:
integrity sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==
streamx@^2.15.0, streamx@^2.20.0:
- version "2.20.1"
- resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.20.1.tgz#471c4f8b860f7b696feb83d5b125caab2fdbb93c"
- integrity sha512-uTa0mU6WUC65iUvzKH4X9hEdvSW7rbPxPtwfWiLMSj3qTdQbAiUboZTxauKfpFuGIGa1C2BYijZ7wgdUXICJhA==
+ version "2.20.2"
+ resolved "https://registry.yarnpkg.com/streamx/-/streamx-2.20.2.tgz#6a8911959d6f307c19781a1d19ecd94b5f042d78"
+ integrity sha512-aDGDLU+j9tJcUdPGOaHmVF1u/hhI+CsGkT02V3OKlHDV7IukOI+nTWAGkiZEKCO35rWN1wIr4tS7YFr1f4qSvA==
dependencies:
fast-fifo "^1.3.2"
queue-tick "^1.0.1"
@@ -5407,9 +5412,9 @@ undici-types@~6.19.2, undici-types@~6.19.8:
integrity sha512-ve2KP6f/JnbPBFyobGHuerC9g1FYGn/F8n1LWTwNxCEzd6IfqTwUQcNXgEtmmQ6DlRrC1hrSrBnCZPokRrDHjw==
undici@^6.19.5:
- version "6.20.1"
- resolved "https://registry.yarnpkg.com/undici/-/undici-6.20.1.tgz#fbb87b1e2b69d963ff2d5410a40ffb4c9e81b621"
- integrity sha512-AjQF1QsmqfJys+LXfGTNum+qw4S88CojRInG/6t31W/1fk6G59s92bnAvGz5Cmur+kQv2SURXEvvudLmbrE8QA==
+ version "6.21.0"
+ resolved "https://registry.yarnpkg.com/undici/-/undici-6.21.0.tgz#4b3d3afaef984e07b48e7620c34ed8a285ed4cd4"
+ integrity sha512-BUgJXc752Kou3oOIuU1i+yZZypyZRqNPW0vqoMPl8VaoalSfeR0D8/t4iAS3yirs79SSMTxTag+ZC86uswv+Cw==
unicorn-magic@^0.3.0:
version "0.3.0"
@@ -5683,6 +5688,7 @@ xdg-basedir@^5.1.0:
"xlsx@https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz":
version "0.20.2"
+ uid "0f64eeed3f1a46e64724620c3553f2dbd3cd2d7d"
resolved "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz#0f64eeed3f1a46e64724620c3553f2dbd3cd2d7d"
xml-parse-from-string@^1.0.0: