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: