diff --git a/THIRD_PARTY_LICENSES.md b/THIRD_PARTY_LICENSES.md index 5d6eb4696c..c5ce9b189c 100644 --- a/THIRD_PARTY_LICENSES.md +++ b/THIRD_PARTY_LICENSES.md @@ -3090,6 +3090,191 @@ Apache License ----------- +The following npm package may be included in this product: + + - mathjs@13.0.3 + +This package contains the following license and notice below: + +Apache License + Version 2.0, January 2004 + https://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + +----------- + The following npm packages may be included in this product: - @types/acorn@4.0.6 @@ -3153,7 +3338,7 @@ MIT License The following npm package may be included in this product: - - genaiscript-vscode@1.47.3 + - genaiscript-vscode@1.48.1 This package contains the following license and notice below: @@ -10189,7 +10374,7 @@ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND The following npm package may be included in this product: - - vite@5.3.5 + - vite@5.4.0 This package contains the following license and notice below: @@ -16932,7 +17117,7 @@ THE SOFTWARE. The following npm package may be included in this product: - - cytoscape@3.30.1 + - cytoscape@3.30.2 This package contains the following license and notice below: @@ -19772,31 +19957,6 @@ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI ----------- -The following npm package may be included in this product: - - - mathjs@13.0.3 - -This package contains the following license and notice below: - -math.js -https://github.com/josdejong/mathjs - -Copyright (C) 2013-2024 Jos de Jong - -Licensed under the Apache License, Version 2.0 (the "License"); -you may not use this file except in compliance with the License. -You may obtain a copy of the License at - - https://www.apache.org/licenses/LICENSE-2.0 - -Unless required by applicable law or agreed to in writing, software -distributed under the License is distributed on an "AS IS" BASIS, -WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -See the License for the specific language governing permissions and -limitations under the License. - ------------ - The following npm package may be included in this product: - minizlib@2.1.2 @@ -19834,15 +19994,14 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. The following npm packages may be included in this product: - - @esbuild/linux-x64@0.21.5 - - @esbuild/linux-x64@0.23.0 + - @esbuild/darwin-x64@0.21.5 + - @esbuild/darwin-x64@0.23.0 - @iconify-json/ph@1.1.14 - @iconify-json/svg-spinners@1.1.3 + - @pagefind/darwin-x64@1.1.0 - @pagefind/default-ui@1.1.0 - - @pagefind/linux-x64@1.1.0 - @polka/url@1.0.0-next.25 - - @rollup/rollup-linux-x64-gnu@4.20.0 - - @rollup/rollup-linux-x64-musl@4.20.0 + - @rollup/rollup-darwin-x64@4.20.0 - @vscode/l10n@0.0.18 - @vue/compiler-vue2@2.7.16 - @vue/devtools-api@6.6.3 @@ -19852,11 +20011,11 @@ The following npm packages may be included in this product: - dagre-d3-es@7.0.10 - de-indent@1.0.2 - dlv@1.1.3 - - docs@1.47.3 + - docs@1.48.1 - eastasianwidth@0.2.0 - - genaiscript-core-internal@1.47.3 - - genaiscript-sample@1.47.3 - - genaiscript@1.47.3 + - genaiscript-core-internal@1.48.1 + - genaiscript-sample@1.48.1 + - genaiscript@1.48.1 - hast-util-is-body-ok-link@3.0.0 - hast-util-to-string@3.0.0 - html-whitespace-sensitive-tag-names@3.0.0 @@ -22246,7 +22405,7 @@ SOFTWARE. The following npm package may be included in this product: - - unplugin@1.12.0 + - unplugin@1.12.1 This package contains the following license and notice below: @@ -24177,6 +24336,37 @@ SOFTWARE. ----------- +The following npm package may be included in this product: + + - fsevents@2.3.3 + +This package contains the following license and notice below: + +MIT License +----------- + +Copyright (C) 2010-2020 by Philipp Dunkel, Ben Noordhuis, Elan Shankar, Paul Miller + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. + +----------- + The following npm package may be included in this product: - vectra@0.7.6 @@ -24589,7 +24779,7 @@ ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. The following npm package may be included in this product: - - foreground-child@3.2.1 + - foreground-child@3.3.0 This package contains the following license and notice below: diff --git a/docs/src/content/docs/reference/cli/index.mdx b/docs/src/content/docs/reference/cli/index.mdx index e48782b692..fd2eb67751 100644 --- a/docs/src/content/docs/reference/cli/index.mdx +++ b/docs/src/content/docs/reference/cli/index.mdx @@ -52,22 +52,18 @@ yarn add -D genaiscript npm install -g genaiscript ``` -:::tip -Check that your node version is at least 20._ and npm 10._ by running this command. +- Check that your node version is at least 20._ and npm 10._ by running this command. ```sh -node -v -npm -v +node -v && npm -v ``` -```bash +```sh v20.11.1 v10.5.0 ``` -::: - ## No Installation (`npx`) > `npx` is installed with **Node.JS**. @@ -81,13 +77,13 @@ system issues where the tool is not found in the path. npx genaiscript ... ``` -Add `--yes` to skip the confirmation prompt, which is useful in a CI scenario. +- Add `--yes` to skip the confirmation prompt, which is useful in a CI scenario. ```sh "--yes" npx --yes genaiscript ... ``` -You can also lock this call to a particular version. +- Specify the version range to avoid unexpected behavior with cached installations of the CLI using npx. ```sh "@^1.16.0" npx --yes genaiscript@^1.16.0 ... diff --git a/packages/cli/package.json b/packages/cli/package.json index c31c719577..b5d29e0a3d 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -50,7 +50,6 @@ "@types/papaparse": "^5.3.14", "@types/prompts": "^2.4.9", "@types/replace-ext": "^2.0.2", - "@types/semver": "^7.5.8", "@types/ws": "^8.5.12", "commander": "^12.1.0", "dotenv": "^16.4.5", @@ -67,7 +66,6 @@ "promptfoo": "^0.75.2", "prompts": "^2.4.2", "replace-ext": "^2.0.0", - "semver": "^7.6.3", "zx": "^8.1.4" }, "scripts": { diff --git a/packages/cli/src/cli.ts b/packages/cli/src/cli.ts index 48e1721886..17270e5cfc 100644 --- a/packages/cli/src/cli.ts +++ b/packages/cli/src/cli.ts @@ -2,7 +2,6 @@ import { NodeHost } from "./nodehost" import { program } from "commander" import { error, isQuiet, setConsoleColors, setQuiet } from "./log" import { startServer } from "./server" -import { satisfies as semverSatisfies } from "semver" import { NODE_MIN_VERSION, PROMPTFOO_VERSION } from "./version" import { runScriptWithExitCode } from "./run" import { retrievalFuzz, retrievalSearch } from "./retrieval" @@ -37,6 +36,7 @@ import { import { CORE_VERSION, GITHUB_REPO } from "../../core/src/version" import { grep } from "./grep" import { logVerbose } from "../../core/src/util" +import { semverSatisfies } from "../../core/src/semver" export async function cli() { process.on("uncaughtException", (err) => { diff --git a/packages/cli/src/server.ts b/packages/cli/src/server.ts index 368331b859..c160447169 100644 --- a/packages/cli/src/server.ts +++ b/packages/cli/src/server.ts @@ -153,11 +153,11 @@ export async function startServer(options: { port: string }) { cancelAll() }) wss.on("connection", function connection(ws) { - console.log(`clients: connected (${wss.clients.size} clients)`) + logVerbose(`clients: connected (${wss.clients.size} clients)`) ws.on("error", console.error) ws.on("close", () => - console.log(`clients: closed (${wss.clients.size} clients)`) + logVerbose(`clients: closed (${wss.clients.size} clients)`) ) ws.on("message", async (msg) => { const data = JSON.parse(msg.toString()) as RequestMessages @@ -166,7 +166,7 @@ export async function startServer(options: { port: string }) { try { switch (type) { case "server.version": { - console.log(`server: version ${CORE_VERSION}`) + logVerbose(`server: version ${CORE_VERSION}`) response = { ok: true, version: CORE_VERSION, @@ -178,7 +178,7 @@ export async function startServer(options: { port: string }) { break } case "server.env": { - console.log(`server: env`) + logVerbose(`server: env`) envInfo(undefined) response = { ok: true, @@ -186,13 +186,13 @@ export async function startServer(options: { port: string }) { break } case "server.kill": { - console.log(`server: kill`) + logVerbose(`server: kill`) process.exit(0) break } case "model.configuration": { const { model, token } = data - console.log(`model: lookup configuration ${model}`) + logVerbose(`model: lookup configuration ${model}`) try { const info = await host.getLanguageModelConfiguration( @@ -211,7 +211,7 @@ export async function startServer(options: { port: string }) { break } case "tests.run": { - console.log( + logVerbose( `tests: run ${data.scripts?.join(", ") || "*"}` ) response = await runPromptScriptTests(data.scripts, { diff --git a/packages/core/package.json b/packages/core/package.json index 740adbf60d..b2b58dfca7 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -25,6 +25,7 @@ "@types/ini": "^4.1.1", "@types/mime-types": "^2.1.4", "@types/node": "^20.14.12", + "@types/semver": "^7.5.8", "ajv": "^8.17.1", "cross-fetch": "^4.0.0", "csv-parse": "^5.5.6", @@ -33,7 +34,7 @@ "fast-xml-parser": "^4.4.1", "fetch-retry": "^6.0.0", "fflate": "^0.8.2", - "file-type": "19.3.0", + "file-type": "19.1.1", "gpt-tokenizer": "^2.2.1", "html-escaper": "^3.0.3", "html-to-text": "^9.0.5", @@ -53,6 +54,7 @@ "parse-diff": "^0.11.1", "prettier": "^3.3.3", "pretty-bytes": "^6.1.1", + "semver": "^7.6.3", "serialize-error": "^11.0.3", "toml": "^3.0.0", "tree-sitter-wasms": "^0.1.11", diff --git a/packages/core/src/semver.ts b/packages/core/src/semver.ts new file mode 100644 index 0000000000..05a04e19ce --- /dev/null +++ b/packages/core/src/semver.ts @@ -0,0 +1,5 @@ +import { satisfies, parse } from "semver" + +export const semverSatisfies = satisfies + +export const semverParse = parse \ No newline at end of file diff --git a/packages/core/src/server/client.ts b/packages/core/src/server/client.ts index 25f3b3bb84..4fd6a4bd80 100644 --- a/packages/core/src/server/client.ts +++ b/packages/core/src/server/client.ts @@ -3,7 +3,12 @@ import { CLIENT_RECONNECT_DELAY, OPEN, RECONNECT } from "../constants" import { randomHex } from "../crypto" import { errorMessage } from "../error" import { GenerationResult } from "../generation" -import { LanguageModelConfiguration, ResponseStatus, host } from "../host" +import { + LanguageModelConfiguration, + ResponseStatus, + ServerResponse, + host, +} from "../host" import { MarkdownTrace } from "../trace" import { assert, logError } from "../util" import { @@ -244,9 +249,9 @@ export class WebSocketClient extends EventTarget { return res.response?.ok ? res.response.info : undefined } - async version(): Promise { + async version(): Promise { const res = await this.queue({ type: "server.version" }) - return res.version + return res.response as ServerResponse } async infoEnv(): Promise { diff --git a/packages/core/src/server/messages.ts b/packages/core/src/server/messages.ts index 0acf9c138e..22402bf9c4 100644 --- a/packages/core/src/server/messages.ts +++ b/packages/core/src/server/messages.ts @@ -166,7 +166,6 @@ export interface ChatChunk extends RequestMessage { export type RequestMessages = | ServerKill - | ServerVersion | ServerEnv | ServerVersion | PromptScriptTestRun diff --git a/packages/vscode/src/fragmentcommands.ts b/packages/vscode/src/fragmentcommands.ts index 6d37b4d11d..fb000ea1c0 100644 --- a/packages/vscode/src/fragmentcommands.ts +++ b/packages/vscode/src/fragmentcommands.ts @@ -15,6 +15,7 @@ import { promptParameterTypeToJSONSchema } from "../../core/src/parameters" import { Fragment } from "../../core/src/generation" import { assert, dotGenaiscriptPath, groupBy } from "../../core/src/util" import { CORE_VERSION } from "../../core/src/version" +import { semverParse, semverSatisfies } from "../../core/src/semver" type TemplateQuickPickItem = { template?: PromptScript @@ -198,6 +199,13 @@ export function activateFragmentCommands(state: ExtensionState) { ] const cliVersion = (config.get(VSCODE_CONFIG_CLI_VERSION) as string) || CORE_VERSION + const gv = semverParse(CORE_VERSION) + if (!semverSatisfies(cliVersion, ">=" + gv.major + "." + gv.minor)) + vscode.window.showWarningMessage( + TOOL_ID + + ` - genaiscript cli version (${cliVersion}) outdated, please update to ${CORE_VERSION}` + ) + const configuration = program ? { name: TOOL_NAME, diff --git a/packages/vscode/src/servermanager.ts b/packages/vscode/src/servermanager.ts index 8890b46178..d931e7973b 100644 --- a/packages/vscode/src/servermanager.ts +++ b/packages/vscode/src/servermanager.ts @@ -16,6 +16,7 @@ import { logError, logVerbose } from "../../core/src/util" import { WebSocketClient } from "../../core/src/server/client" import { CORE_VERSION } from "../../core/src/version" import { createChatModelRunner } from "./lmaccess" +import { semverParse, semverSatisfies } from "../../core/src/semver" export class TerminalServerManager implements ServerManager { private _terminal: vscode.Terminal @@ -45,11 +46,25 @@ export class TerminalServerManager implements ServerManager { this.client = new WebSocketClient(`http://localhost:${SERVER_PORT}`) this.client.chatRequest = createChatModelRunner(this.state) - this.client.addEventListener(OPEN, () => { + this.client.addEventListener(OPEN, async () => { // client connected to a rogue server if (!this._terminal) { logVerbose("found rogue server, closing...") this.client?.kill() + } else { + // check version + const v = await this.client.version() + const gv = semverParse(CORE_VERSION) + if ( + !semverSatisfies( + v.version, + ">=" + gv.major + "." + gv.minor + ) + ) + vscode.window.showWarningMessage( + TOOL_ID + + ` - genaiscript cli version (${v.version}) outdated, please update to ${CORE_VERSION}` + ) } }) this.client.addEventListener(RECONNECT, () => { diff --git a/yarn.lock b/yarn.lock index 1334bfaee2..e78e4d5d47 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4376,9 +4376,9 @@ cytoscape-cose-bilkent@^4.1.0: cose-base "^1.0.0" cytoscape@^3.28.1: - version "3.30.1" - resolved "https://registry.yarnpkg.com/cytoscape/-/cytoscape-3.30.1.tgz#9855a284aaefbaf2628fdc6cf956ba83c0ae511b" - integrity sha512-TRJc3HbBPkHd50u9YfJh2FxD1lDLZ+JXnJoyBn5LkncoeuT7fapO/Hq/Ed8TdFclaKshzInge2i30bg7VKeoPQ== + version "3.30.2" + resolved "https://registry.yarnpkg.com/cytoscape/-/cytoscape-3.30.2.tgz#94149707fb6547a55e3b44f03ffe232706212161" + integrity sha512-oICxQsjW8uSaRmn4UK/jkczKOqTrVqt5/1WL0POiJUT2EKNc9STM4hYFHv917yu55aTBMFNRzymlJhVAiWPCxw== "d3-array@1 - 2", d3-array@^2.9.1: version "2.12.1" @@ -5699,12 +5699,12 @@ file-saver@^2.0.5: resolved "https://registry.yarnpkg.com/file-saver/-/file-saver-2.0.5.tgz#d61cfe2ce059f414d899e9dd6d4107ee25670c38" integrity sha512-P9bmyZ3h/PRG+Nzga+rbdI4OEpNDzAVyy74uVO9ATgzLK6VtAsYybF/+TOCvrc0MO793d6+42lLyZTw7/ArVzA== -file-type@19.3.0: - version "19.3.0" - resolved "https://registry.yarnpkg.com/file-type/-/file-type-19.3.0.tgz#7b5989c4af05e4b02c553f29a6acca0508e9ea9b" - integrity sha512-mROwiKLZf/Kwa/2Rol+OOZQn1eyTkPB3ZTwC0ExY6OLFCbgxHYZvBm7xI77NvfZFMKBsmuXfmLJnD4eEftEhrA== +file-type@19.1.1: + version "19.1.1" + resolved "https://registry.yarnpkg.com/file-type/-/file-type-19.1.1.tgz#44ac8f2f1b0013266eb1cd800ca27da4e5c8ec0c" + integrity sha512-FF4rVPjylL7HkybFBpnBfcnpdi4MGNSFuk4s4VvTdt1wm9tVMdGmtBhvXyz+nh8565FJ5qDUMIPXR+WHLrfHew== dependencies: - strtok3 "^8.0.0" + strtok3 "^7.1.0" token-types "^6.0.0" uint8array-extras "^1.3.0" @@ -5824,9 +5824,9 @@ for-each@^0.3.3: is-callable "^1.1.3" foreground-child@^3.1.0: - version "3.2.1" - resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.2.1.tgz#767004ccf3a5b30df39bed90718bab43fe0a59f7" - integrity sha512-PXUUyLqrR2XCWICfv6ukppP96sdFwWbNEnfEMt7jNsISjMsvaLNinAHNDYyvkyU+SZG2BTSbT5NjG+vZslfGTA== + version "3.3.0" + resolved "https://registry.yarnpkg.com/foreground-child/-/foreground-child-3.3.0.tgz#0ac8644c06e431439f8561db8ecf29a7b5519c77" + integrity sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg== dependencies: cross-spawn "^7.0.0" signal-exit "^4.0.1" @@ -9188,9 +9188,9 @@ openai@^3.2.1: form-data "^4.0.0" openai@^4.54.0, openai@^4.55.0: - version "4.55.0" - resolved "https://registry.yarnpkg.com/openai/-/openai-4.55.0.tgz#d28b5a0b97214de4a2f018efd4665468e6c1fd94" - integrity sha512-BR3TUybzdqNeBMgEFvxgBrFks9FY2NoP2jyTf7LT4UxPv8chevRKSxKezsINVSeQ/QLA12CALR1oco6KVdVpVA== + version "4.55.1" + resolved "https://registry.yarnpkg.com/openai/-/openai-4.55.1.tgz#59fe4565ab117cf869137588f6da15ef330e405f" + integrity sha512-FziYJcWl+SAGbt5AcRIzVzNcnKohpEMQdtzVOmHFbBp/if7x2+ACqgxF2XUbyi2PcKONPcVpmtG5h9qoDAEXwQ== dependencies: "@types/node" "^18.11.18" "@types/node-fetch" "^2.6.4" @@ -9661,7 +9661,7 @@ postcss-selector-parser@^6.1.1: cssesc "^3.0.0" util-deprecate "^1.0.2" -postcss@^8.4.38, postcss@^8.4.39, postcss@^8.4.40: +postcss@^8.4.38, postcss@^8.4.40: version "8.4.41" resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.41.tgz#d6104d3ba272d882fe18fc07d15dc2da62fa2681" integrity sha512-TesUflQ0WKZqAvg52PWL6kHgLKP6xB6heTOdoYM0Wt2UHyxNa4K25EZZMgKns3BH1RLVbZCREPpLY0rhnNoHVQ== @@ -11016,10 +11016,10 @@ strnum@^1.0.5: resolved "https://registry.yarnpkg.com/strnum/-/strnum-1.0.5.tgz#5c4e829fe15ad4ff0d20c3db5ac97b73c9b072db" integrity sha512-J8bbNyKKXl5qYcR36TIO8W3mVGVHrmmxsd5PAItGkmyzwJvybiw2IVq5nqd0i4LSNSkB/sx9VHllbfFdr9k1JA== -strtok3@^8.0.0: - version "8.0.1" - resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-8.0.1.tgz#74088e62b2ba43b2f12256600c0225adbed90641" - integrity sha512-HNkTAnNWQj2YBzfTtoC5OQyu1QwPsMwiB7VyQmNvQKCrmEDSvFB857Vh97UY9InGLNRAB91sdS1ztifRo/3hdA== +strtok3@^7.1.0: + version "7.1.1" + resolved "https://registry.yarnpkg.com/strtok3/-/strtok3-7.1.1.tgz#f548fd9dc59d0a76d5567ff8c16be31221f29dfc" + integrity sha512-mKX8HA/cdBqMKUr0MMZAFssCkIGoZeSCMXgnt79yKxNFguMLVFgRe6wB+fsL0NmoHDbeyZXczy7vEPSoo3rkzg== dependencies: "@tokenizer/token" "^0.3.0" peek-readable "^5.1.3" @@ -11773,9 +11773,9 @@ unplugin-vue-markdown@^0.26.2: unplugin "^1.10.1" unplugin@^1.10.1, unplugin@^1.11.0, unplugin@^1.12.0, unplugin@^1.3.1: - version "1.12.0" - resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.12.0.tgz#a11d3eb565602190748b1f95ecc8590b0f7dcbb4" - integrity sha512-KeczzHl2sATPQUx1gzo+EnUkmN4VmGBYRRVOZSGvGITE9rGHRDGqft6ONceP3vgXcyJ2XjX5axG5jMWUwNCYLw== + version "1.12.1" + resolved "https://registry.yarnpkg.com/unplugin/-/unplugin-1.12.1.tgz#dc5834dc9337f47ddb7cf4cbbb9b8dac07e5bea4" + integrity sha512-aXEH9c5qi3uYZHo0niUtxDlT9ylG/luMW/dZslSCkbtC31wCyFkmM0kyoBBh+Grhn7CL+/kvKLfN61/EdxPxMQ== dependencies: acorn "^8.12.1" chokidar "^3.6.0" @@ -11996,12 +11996,12 @@ vite-plugin-vue-server-ref@^0.4.2: ufo "^1.3.2" vite@^5.3.4, vite@^5.3.5: - version "5.3.5" - resolved "https://registry.yarnpkg.com/vite/-/vite-5.3.5.tgz#b847f846fb2b6cb6f6f4ed50a830186138cb83d8" - integrity sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA== + version "5.4.0" + resolved "https://registry.yarnpkg.com/vite/-/vite-5.4.0.tgz#11dca8a961369ba8b5cae42d068c7ad684d5370f" + integrity sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg== dependencies: esbuild "^0.21.3" - postcss "^8.4.39" + postcss "^8.4.40" rollup "^4.13.0" optionalDependencies: fsevents "~2.3.3" @@ -12307,9 +12307,9 @@ winston-transport@^4.7.0: triple-beam "^1.3.0" winston@^3.13.1: - version "3.13.1" - resolved "https://registry.yarnpkg.com/winston/-/winston-3.13.1.tgz#53ddadb9c2332eb12cff8306413b3480dc82b6c3" - integrity sha512-SvZit7VFNvXRzbqGHsv5KSmgbEYR5EiQfDAL9gxYkRqa934Hnk++zze0wANKtMHcy/gI4W/3xmSDwlhf865WGw== + version "3.14.0" + resolved "https://registry.yarnpkg.com/winston/-/winston-3.14.0.tgz#589e5dd6b458ae4ef0a4dd0190a6c077488f1cee" + integrity sha512-XEJvmKJglhTW2TgfpKdkpj0119Yn5AClR7LJ0rBNUQFx20mNQj3s1ukTA1i77q+YBaHYbcKtXpxgPqfdUPCIYA== dependencies: "@colors/colors" "^1.6.0" "@dabh/diagnostics" "^2.0.2"