diff --git a/.eslintignore b/.eslintignore index 0a0ef14..1654e0b 100644 --- a/.eslintignore +++ b/.eslintignore @@ -15,3 +15,4 @@ deployspec.yml cz-adapter.cjs LICENSE *.vue +*.html diff --git a/.eslintrc.json b/.eslintrc.json index 2607d13..b345abe 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,6 +1,6 @@ { "$schema": "https://json.schemastore.org/eslintrc", - "extends": ["airbnb-base", "prettier"], + "extends": ["airbnb", "prettier"], "plugins": ["json", "prettier"], "env": { "es2020": true @@ -35,13 +35,13 @@ }, "overrides": [ { - "files": ["**/*.ts", "**/*.mts"], + "files": ["**/*.ts", "**/*.mts", "**/*.tsx"], "parser": "@typescript-eslint/parser", "extends": [ "eslint:recommended", "plugin:@typescript-eslint/recommended", - "airbnb-base", - "airbnb-typescript/base", + "airbnb", + "airbnb-typescript", "prettier" ], "parserOptions": { @@ -92,7 +92,9 @@ "@typescript-eslint/naming-convention": "off", "no-alert": "off", "@typescript-eslint/ban-types": "off", - "import/no-extraneous-dependencies": "off" + "import/no-extraneous-dependencies": "off", + "react/jsx-no-bind": "off", + "react/react-in-jsx-scope": "off" } } ] diff --git a/.vscode/settings.json b/.vscode/settings.json index ed85f24..18a00b5 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -72,6 +72,7 @@ "pyproject", "qwen", "tailwindcss", + "tomjs", "treeshake", "tsup", "undici", diff --git a/index.html b/index.html new file mode 100644 index 0000000..a141232 --- /dev/null +++ b/index.html @@ -0,0 +1,13 @@ + + + + + + Aide + + + +
+ + + diff --git a/package.json b/package.json index 6bc5bed..22cf4fe 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "Formatters", "Education" ], - "main": "./dist/node/index.js", + "main": "./dist/extension/index.js", "icon": "res/icon.png", "engines": { "vscode": "^1.82.0" @@ -66,6 +66,24 @@ "onStartupFinished" ], "contributes": { + "viewsContainers": { + "activitybar": [ + { + "id": "aide", + "title": "Aide", + "icon": "res/icon-mask.png" + } + ] + }, + "views": { + "aide": [ + { + "type": "webview", + "id": "aide.webview", + "name": "Aide" + } + ] + }, "commands": [ { "command": "aide.copyAsPrompt", @@ -271,9 +289,9 @@ "scripts": { "copyFiles": "fse copy ./package.nls.en.json ./package.nls.json", "dev": "code --extensionDevelopmentPath=$PWD --disable-extensions &&pnpm run watch", - "build": "tsc --noEmit &&pnpm run copyFiles &&tsup", - "build:minify": "pnpm run build --minify", - "build:pack": "pnpm run build:minify &&vsce package -o dist/aide.vsix --no-dependencies", + "dev:ui": "vite serve dev", + "build": "tsc &&pnpm run copyFiles &&vite build", + "build:pack": "pnpm run build &&vsce package -o dist/aide.vsix --no-dependencies", "commit": "git add . && cz", "knip": "knip", "lint": "eslint .", @@ -281,35 +299,41 @@ "publish": "esno ./scripts/publish.ts", "prepare": "husky", "test": "tsc --noEmit &&vitest --run", - "watch": "pnpm run build --watch --sourcemap" + "watch": "vite" }, "devDependencies": { "@atao60/fse-cli": "^0.1.9", - "@commitlint/cli": "^19.3.0", + "@commitlint/cli": "^19.4.0", "@commitlint/config-conventional": "^19.2.2", - "@commitlint/cz-commitlint": "^19.2.0", + "@commitlint/cz-commitlint": "^19.4.0", "@ianvs/prettier-plugin-sort-imports": "^4.3.1", - "@langchain/anthropic": "^0.2.12", - "@langchain/core": "0.2.20", - "@langchain/openai": "^0.2.5", + "@langchain/anthropic": "^0.2.14", + "@langchain/core": "0.2.23", + "@langchain/openai": "^0.2.6", + "@tomjs/vite-plugin-vscode": "^2.5.5", "@types/fs-extra": "^11.0.4", "@types/global-agent": "^2.1.3", - "@types/node": "^22.1.0", + "@types/node": "^22.2.0", + "@types/react": "^18.3.3", + "@types/react-dom": "^18.3.0", "@types/shell-quote": "^1.7.5", "@types/vscode": "1.82.0", + "@types/vscode-webview": "^1.57.5", "@typescript-eslint/eslint-plugin": "^7.17.0", "@typescript-eslint/parser": "^7.17.0", + "@vitejs/plugin-react-swc": "^3.7.0", "@vscode/vsce": "^2.31.1", + "@vscode/webview-ui-toolkit": "^1.4.0", "commitizen": "^4.3.0", "dotenv": "^16.4.5", "eslint": "^8.57.0", - "eslint-config-airbnb-base": "^15.0.0", + "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^18.0.0", "eslint-config-prettier": "^9.1.0", "eslint-import-resolver-alias": "^1.1.2", "eslint-import-resolver-typescript": "^3.6.1", "eslint-plugin-import": "^2.29.1", - "eslint-plugin-json": "^4.0.0", + "eslint-plugin-json": "^4.0.1", "eslint-plugin-prettier": "^5.2.1", "eslint-plugin-simple-import-sort": "^12.1.1", "eslint-plugin-unused-imports": "^3.2.0", @@ -320,28 +344,31 @@ "glob": "^10.4.3", "global-agent": "^3.0.0", "husky": "^9.1.4", - "ignore": "^5.3.1", + "ignore": "^5.3.2", "inquirer": "^9.3.4", - "knip": "^5.27.0", - "langchain": "^0.2.12", + "knip": "^5.27.2", + "langchain": "^0.2.15", "lint-staged": "^15.2.8", "minimatch": "^9.0.5", "node-fetch": "^3.3.2", "p-limit": "^6.1.0", - "pnpm": "^9.6.0", + "pnpm": "^9.7.0", "prettier": "^3.3.3", + "react": "^18.3.1", + "react-dom": "^18.3.1", "rimraf": "^6.0.1", "shell-quote": "^1.8.1", "tsup": "^8.2.4", "typescript": "5.4.5", - "undici": "^6.19.5", - "vite": "^5.3.5", + "undici": "^6.19.7", + "vite": "^5.4.0", + "vite-tsconfig-paths": "^5.0.1", "vitest": "^2.0.5", "zod": "^3.23.8" }, "pnpm": { "overrides": { - "@langchain/core": "0.2.20" + "@langchain/core": "0.2.23" } }, "commitlint": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3732eb6..0667582 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ settings: excludeLinksFromLockfile: false overrides: - '@langchain/core': 0.2.20 + '@langchain/core': 0.2.23 importers: @@ -15,26 +15,29 @@ importers: specifier: ^0.1.9 version: 0.1.9 '@commitlint/cli': - specifier: ^19.3.0 - version: 19.3.0(@types/node@22.1.0)(typescript@5.4.5) + specifier: ^19.4.0 + version: 19.4.0(@types/node@22.2.0)(typescript@5.4.5) '@commitlint/config-conventional': specifier: ^19.2.2 version: 19.2.2 '@commitlint/cz-commitlint': - specifier: ^19.2.0 - version: 19.2.0(@types/node@22.1.0)(commitizen@4.3.0(@types/node@22.1.0)(typescript@5.4.5))(inquirer@9.3.4)(typescript@5.4.5) + specifier: ^19.4.0 + version: 19.4.0(@types/node@22.2.0)(commitizen@4.3.0(@types/node@22.2.0)(typescript@5.4.5))(inquirer@9.3.4)(typescript@5.4.5) '@ianvs/prettier-plugin-sort-imports': specifier: ^4.3.1 - version: 4.3.1(@vue/compiler-sfc@3.4.35)(prettier@3.3.3) + version: 4.3.1(@vue/compiler-sfc@3.4.36)(prettier@3.3.3) '@langchain/anthropic': - specifier: ^0.2.12 - version: 0.2.12(langchain@0.2.12)(openai@4.52.3) + specifier: ^0.2.14 + version: 0.2.14(langchain@0.2.15)(openai@4.55.4(zod@3.23.8)) '@langchain/core': - specifier: 0.2.20 - version: 0.2.20(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3) + specifier: 0.2.23 + version: 0.2.23(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)) '@langchain/openai': - specifier: ^0.2.5 - version: 0.2.5(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1)) + specifier: ^0.2.6 + version: 0.2.6(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1)) + '@tomjs/vite-plugin-vscode': + specifier: ^2.5.5 + version: 2.5.5(@swc/core@1.7.10)(postcss@8.4.40)(typescript@5.4.5)(vite@5.4.0(@types/node@22.2.0)(less@4.2.0)) '@types/fs-extra': specifier: ^11.0.4 version: 11.0.4 @@ -42,35 +45,50 @@ importers: specifier: ^2.1.3 version: 2.1.3 '@types/node': - specifier: ^22.1.0 - version: 22.1.0 + specifier: ^22.2.0 + version: 22.2.0 + '@types/react': + specifier: ^18.3.3 + version: 18.3.3 + '@types/react-dom': + specifier: ^18.3.0 + version: 18.3.0 '@types/shell-quote': specifier: ^1.7.5 version: 1.7.5 '@types/vscode': specifier: 1.82.0 version: 1.82.0 + '@types/vscode-webview': + specifier: ^1.57.5 + version: 1.57.5 '@typescript-eslint/eslint-plugin': specifier: ^7.17.0 version: 7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5) '@typescript-eslint/parser': specifier: ^7.17.0 version: 7.18.0(eslint@8.57.0)(typescript@5.4.5) + '@vitejs/plugin-react-swc': + specifier: ^3.7.0 + version: 3.7.0(vite@5.4.0(@types/node@22.2.0)(less@4.2.0)) '@vscode/vsce': specifier: ^2.31.1 version: 2.31.1 + '@vscode/webview-ui-toolkit': + specifier: ^1.4.0 + version: 1.4.0(react@18.3.1) commitizen: specifier: ^4.3.0 - version: 4.3.0(@types/node@22.1.0)(typescript@5.4.5) + version: 4.3.0(@types/node@22.2.0)(typescript@5.4.5) dotenv: specifier: ^16.4.5 version: 16.4.5 eslint: specifier: ^8.57.0 version: 8.57.0 - eslint-config-airbnb-base: - specifier: ^15.0.0 - version: 15.0.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-config-airbnb: + specifier: ^19.0.4 + version: 19.0.4(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0))(eslint-plugin-jsx-a11y@6.9.0(eslint@8.57.0))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.0))(eslint-plugin-react@7.35.0(eslint@8.57.0))(eslint@8.57.0) eslint-config-airbnb-typescript: specifier: ^18.0.0 version: 18.0.0(@typescript-eslint/eslint-plugin@7.18.0(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint@8.57.0)(typescript@5.4.5))(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0))(eslint@8.57.0) @@ -87,8 +105,8 @@ importers: specifier: ^2.29.1 version: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) eslint-plugin-json: - specifier: ^4.0.0 - version: 4.0.0 + specifier: ^4.0.1 + version: 4.0.1 eslint-plugin-prettier: specifier: ^5.2.1 version: 5.2.1(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3) @@ -120,17 +138,17 @@ importers: specifier: ^9.1.4 version: 9.1.4 ignore: - specifier: ^5.3.1 - version: 5.3.1 + specifier: ^5.3.2 + version: 5.3.2 inquirer: specifier: ^9.3.4 version: 9.3.4 knip: - specifier: ^5.27.0 - version: 5.27.0(@types/node@22.1.0)(typescript@5.4.5) + specifier: ^5.27.2 + version: 5.27.2(@types/node@22.2.0)(typescript@5.4.5) langchain: - specifier: ^0.2.12 - version: 0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1) + specifier: ^0.2.15 + version: 0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1) lint-staged: specifier: ^15.2.8 version: 15.2.8 @@ -144,11 +162,17 @@ importers: specifier: ^6.1.0 version: 6.1.0 pnpm: - specifier: ^9.6.0 - version: 9.6.0 + specifier: ^9.7.0 + version: 9.7.0 prettier: specifier: ^3.3.3 version: 3.3.3 + react: + specifier: ^18.3.1 + version: 18.3.1 + react-dom: + specifier: ^18.3.1 + version: 18.3.1(react@18.3.1) rimraf: specifier: ^6.0.1 version: 6.0.1 @@ -157,19 +181,22 @@ importers: version: 1.8.1 tsup: specifier: ^8.2.4 - version: 8.2.4(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.3)(typescript@5.4.5)(yaml@2.5.0) + version: 8.2.4(@swc/core@1.7.10)(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.3)(typescript@5.4.5)(yaml@2.5.0) typescript: specifier: 5.4.5 version: 5.4.5 undici: - specifier: ^6.19.5 - version: 6.19.5 + specifier: ^6.19.7 + version: 6.19.7 vite: - specifier: ^5.3.5 - version: 5.3.5(@types/node@22.1.0)(less@4.2.0) + specifier: ^5.4.0 + version: 5.4.0(@types/node@22.2.0)(less@4.2.0) + vite-tsconfig-paths: + specifier: ^5.0.1 + version: 5.0.1(typescript@5.4.5)(vite@5.4.0(@types/node@22.2.0)(less@4.2.0)) vitest: specifier: ^2.0.5 - version: 2.0.5(@types/node@22.1.0)(less@4.2.0) + version: 2.0.5(@types/node@22.2.0)(less@4.2.0) zod: specifier: ^3.23.8 version: 3.23.8 @@ -194,7 +221,7 @@ importers: version: 1.1.44 '@nolebase/vitepress-plugin-inline-link-preview': specifier: ^2.4.0 - version: 2.4.0(@algolia/client-search@4.24.0)(@types/node@22.1.0)(postcss@8.4.40)(search-insights@2.15.0)(typescript@5.4.5) + version: 2.4.0(@algolia/client-search@4.24.0)(@types/node@22.2.0)(@types/react@18.3.3)(postcss@8.4.40)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.4.5) '@unocss/preset-icons': specifier: ^0.61.9 version: 0.61.9 @@ -212,10 +239,10 @@ importers: version: 4.0.0 unocss: specifier: ^0.61.9 - version: 0.61.9(postcss@8.4.40)(rollup@4.19.0)(vite@5.3.5(@types/node@22.1.0)(less@4.2.0)) + version: 0.61.9(postcss@8.4.40)(rollup@4.19.0)(vite@5.3.5(@types/node@22.2.0)(less@4.2.0)) vitepress: specifier: 1.3.2 - version: 1.3.2(@algolia/client-search@4.24.0)(@types/node@22.1.0)(less@4.2.0)(postcss@8.4.40)(search-insights@2.15.0)(typescript@5.4.5) + version: 1.3.2(@algolia/client-search@4.24.0)(@types/node@22.2.0)(@types/react@18.3.3)(less@4.2.0)(postcss@8.4.40)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.4.5) zod: specifier: 3.23.8 version: 3.23.8 @@ -583,8 +610,8 @@ packages: resolution: {integrity: sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q==} engines: {node: '>=6.9.0'} - '@commitlint/cli@19.3.0': - resolution: {integrity: sha512-LgYWOwuDR7BSTQ9OLZ12m7F/qhNY+NpAyPBgo4YNMkACE7lGuUnuQq1yi9hz1KA4+3VqpOYl8H1rY/LYK43v7g==} + '@commitlint/cli@19.4.0': + resolution: {integrity: sha512-sJX4J9UioVwZHq7JWM9tjT5bgWYaIN3rC4FP7YwfEwBYiIO+wMyRttRvQLNkow0vCdM0D67r9NEWU0Ui03I4Eg==} engines: {node: '>=v18'} hasBin: true @@ -596,8 +623,8 @@ packages: resolution: {integrity: sha512-2D3r4PKjoo59zBc2auodrSCaUnCSALCx54yveOFwwP/i2kfEAQrygwOleFWswLqK0UL/F9r07MFi5ev2ohyM4Q==} engines: {node: '>=v18'} - '@commitlint/cz-commitlint@19.2.0': - resolution: {integrity: sha512-kudzHMY9/GxflGyAWMiisiBq2UkyQL1D1eWjGKoC66qQ+5jxRYeDaiVwTdPxYMnmehftNcpksZATDYKqdPP0Wg==} + '@commitlint/cz-commitlint@19.4.0': + resolution: {integrity: sha512-axgYquyTb9+HHFz8KX6xiXwsoX6HSlJOiaDQnnE8lHYxDv1nEtrEsasda8VI+EbH5sdfOT0FGtsiuGdL+09KmA==} engines: {node: '>=v18'} peerDependencies: commitizen: ^4.0.3 @@ -627,6 +654,10 @@ packages: resolution: {integrity: sha512-XvxxLJTKqZojCxaBQ7u92qQLFMMZc4+p9qrIq/9kJDy8DOrEa7P1yx7Tjdc2u2JxIalqT4KOGraVgCE7eCYJyQ==} engines: {node: '>=v18'} + '@commitlint/load@19.4.0': + resolution: {integrity: sha512-I4lCWaEZYQJ1y+Y+gdvbGAx9pYPavqZAZ3/7/8BpWh+QjscAn8AjsUpLV2PycBsEx7gupq5gM4BViV9xwTIJuw==} + engines: {node: '>=v18'} + '@commitlint/message@19.0.0': resolution: {integrity: sha512-c9czf6lU+9oF9gVVa2lmKaOARJvt4soRsVmbR7Njwp9FpbBgste5i7l/2l5o8MmbwGh4yE1snfnsy2qyA2r/Fw==} engines: {node: '>=v18'} @@ -635,8 +666,8 @@ packages: resolution: {integrity: sha512-Il+tNyOb8VDxN3P6XoBBwWJtKKGzHlitEuXA5BP6ir/3loWlsSqDr5aecl6hZcC/spjq4pHqNh0qPlfeWu38QA==} engines: {node: '>=v18'} - '@commitlint/read@19.2.1': - resolution: {integrity: sha512-qETc4+PL0EUv7Q36lJbPG+NJiBOGg7SSC7B5BsPWOmei+Dyif80ErfWQ0qXoW9oCh7GTpTNRoaVhiI8RbhuaNw==} + '@commitlint/read@19.4.0': + resolution: {integrity: sha512-r95jLOEZzKDakXtnQub+zR3xjdnrl2XzerPwm7ch1/cc5JGq04tyaNpa6ty0CRCWdVrk4CZHhqHozb8yZwy2+g==} engines: {node: '>=v18'} '@commitlint/resolve-extends@19.1.0': @@ -700,6 +731,12 @@ packages: cpu: [ppc64] os: [aix] + '@esbuild/android-arm64@0.18.20': + resolution: {integrity: sha512-Nz4rJcchGDtENV0eMKUNa6L12zz2zBDXuhj/Vjh18zGqB44Bi7MBMSXjgunJgjRhCmKOjnPuZp4Mb6OKqtMHLQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + '@esbuild/android-arm64@0.20.2': resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} engines: {node: '>=12'} @@ -718,6 +755,12 @@ packages: cpu: [arm64] os: [android] + '@esbuild/android-arm@0.18.20': + resolution: {integrity: sha512-fyi7TDI/ijKKNZTUJAQqiG5T7YjJXgnzkURqmGj13C6dCqckZBLdl4h7bkhHt/t0WP+zO9/zwroDvANaOqO5Sw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + '@esbuild/android-arm@0.20.2': resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} engines: {node: '>=12'} @@ -736,6 +779,12 @@ packages: cpu: [arm] os: [android] + '@esbuild/android-x64@0.18.20': + resolution: {integrity: sha512-8GDdlePJA8D6zlZYJV/jnrRAi6rOiNaCC/JclcXpB+KIuvfBN4owLtgzY2bsxnx666XjJx2kDPUmnTtR8qKQUg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + '@esbuild/android-x64@0.20.2': resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} engines: {node: '>=12'} @@ -754,6 +803,12 @@ packages: cpu: [x64] os: [android] + '@esbuild/darwin-arm64@0.18.20': + resolution: {integrity: sha512-bxRHW5kHU38zS2lPTPOyuyTm+S+eobPUnTNkdJEfAddYgEcll4xkT8DB9d2008DtTbl7uJag2HuE5NZAZgnNEA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + '@esbuild/darwin-arm64@0.20.2': resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} engines: {node: '>=12'} @@ -772,6 +827,12 @@ packages: cpu: [arm64] os: [darwin] + '@esbuild/darwin-x64@0.18.20': + resolution: {integrity: sha512-pc5gxlMDxzm513qPGbCbDukOdsGtKhfxD1zJKXjCCcU7ju50O7MeAZ8c4krSJcOIJGFR+qx21yMMVYwiQvyTyQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + '@esbuild/darwin-x64@0.20.2': resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} engines: {node: '>=12'} @@ -790,6 +851,12 @@ packages: cpu: [x64] os: [darwin] + '@esbuild/freebsd-arm64@0.18.20': + resolution: {integrity: sha512-yqDQHy4QHevpMAaxhhIwYPMv1NECwOvIpGCZkECn8w2WFHXjEwrBn3CeNIYsibZ/iZEUemj++M26W3cNR5h+Tw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + '@esbuild/freebsd-arm64@0.20.2': resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} engines: {node: '>=12'} @@ -808,6 +875,12 @@ packages: cpu: [arm64] os: [freebsd] + '@esbuild/freebsd-x64@0.18.20': + resolution: {integrity: sha512-tgWRPPuQsd3RmBZwarGVHZQvtzfEBOreNuxEMKFcd5DaDn2PbBxfwLcj4+aenoh7ctXcbXmOQIn8HI6mCSw5MQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + '@esbuild/freebsd-x64@0.20.2': resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} engines: {node: '>=12'} @@ -826,6 +899,12 @@ packages: cpu: [x64] os: [freebsd] + '@esbuild/linux-arm64@0.18.20': + resolution: {integrity: sha512-2YbscF+UL7SQAVIpnWvYwM+3LskyDmPhe31pE7/aoTMFKKzIc9lLbyGUpmmb8a8AixOL61sQ/mFh3jEjHYFvdA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + '@esbuild/linux-arm64@0.20.2': resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} engines: {node: '>=12'} @@ -844,6 +923,12 @@ packages: cpu: [arm64] os: [linux] + '@esbuild/linux-arm@0.18.20': + resolution: {integrity: sha512-/5bHkMWnq1EgKr1V+Ybz3s1hWXok7mDFUMQ4cG10AfW3wL02PSZi5kFpYKrptDsgb2WAJIvRcDm+qIvXf/apvg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + '@esbuild/linux-arm@0.20.2': resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} engines: {node: '>=12'} @@ -862,6 +947,12 @@ packages: cpu: [arm] os: [linux] + '@esbuild/linux-ia32@0.18.20': + resolution: {integrity: sha512-P4etWwq6IsReT0E1KHU40bOnzMHoH73aXp96Fs8TIT6z9Hu8G6+0SHSw9i2isWrD2nbx2qo5yUqACgdfVGx7TA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + '@esbuild/linux-ia32@0.20.2': resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} engines: {node: '>=12'} @@ -880,6 +971,12 @@ packages: cpu: [ia32] os: [linux] + '@esbuild/linux-loong64@0.18.20': + resolution: {integrity: sha512-nXW8nqBTrOpDLPgPY9uV+/1DjxoQ7DoB2N8eocyq8I9XuqJ7BiAMDMf9n1xZM9TgW0J8zrquIb/A7s3BJv7rjg==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + '@esbuild/linux-loong64@0.20.2': resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} engines: {node: '>=12'} @@ -898,6 +995,12 @@ packages: cpu: [loong64] os: [linux] + '@esbuild/linux-mips64el@0.18.20': + resolution: {integrity: sha512-d5NeaXZcHp8PzYy5VnXV3VSd2D328Zb+9dEq5HE6bw6+N86JVPExrA6O68OPwobntbNJ0pzCpUFZTo3w0GyetQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + '@esbuild/linux-mips64el@0.20.2': resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} engines: {node: '>=12'} @@ -916,6 +1019,12 @@ packages: cpu: [mips64el] os: [linux] + '@esbuild/linux-ppc64@0.18.20': + resolution: {integrity: sha512-WHPyeScRNcmANnLQkq6AfyXRFr5D6N2sKgkFo2FqguP44Nw2eyDlbTdZwd9GYk98DZG9QItIiTlFLHJHjxP3FA==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + '@esbuild/linux-ppc64@0.20.2': resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} engines: {node: '>=12'} @@ -934,6 +1043,12 @@ packages: cpu: [ppc64] os: [linux] + '@esbuild/linux-riscv64@0.18.20': + resolution: {integrity: sha512-WSxo6h5ecI5XH34KC7w5veNnKkju3zBRLEQNY7mv5mtBmrP/MjNBCAlsM2u5hDBlS3NGcTQpoBvRzqBcRtpq1A==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + '@esbuild/linux-riscv64@0.20.2': resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} engines: {node: '>=12'} @@ -952,6 +1067,12 @@ packages: cpu: [riscv64] os: [linux] + '@esbuild/linux-s390x@0.18.20': + resolution: {integrity: sha512-+8231GMs3mAEth6Ja1iK0a1sQ3ohfcpzpRLH8uuc5/KVDFneH6jtAJLFGafpzpMRO6DzJ6AvXKze9LfFMrIHVQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + '@esbuild/linux-s390x@0.20.2': resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} engines: {node: '>=12'} @@ -970,6 +1091,12 @@ packages: cpu: [s390x] os: [linux] + '@esbuild/linux-x64@0.18.20': + resolution: {integrity: sha512-UYqiqemphJcNsFEskc73jQ7B9jgwjWrSayxawS6UVFZGWrAAtkzjxSqnoclCXxWtfwLdzU+vTpcNYhpn43uP1w==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + '@esbuild/linux-x64@0.20.2': resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} engines: {node: '>=12'} @@ -988,6 +1115,12 @@ packages: cpu: [x64] os: [linux] + '@esbuild/netbsd-x64@0.18.20': + resolution: {integrity: sha512-iO1c++VP6xUBUmltHZoMtCUdPlnPGdBom6IrO4gyKPFFVBKioIImVooR5I83nTew5UOYrk3gIJhbZh8X44y06A==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + '@esbuild/netbsd-x64@0.20.2': resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} engines: {node: '>=12'} @@ -1012,6 +1145,12 @@ packages: cpu: [arm64] os: [openbsd] + '@esbuild/openbsd-x64@0.18.20': + resolution: {integrity: sha512-e5e4YSsuQfX4cxcygw/UCPIEP6wbIL+se3sxPdCiMbFLBWu0eiZOJ7WoD+ptCLrmjZBK1Wk7I6D/I3NglUGOxg==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + '@esbuild/openbsd-x64@0.20.2': resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} engines: {node: '>=12'} @@ -1030,6 +1169,12 @@ packages: cpu: [x64] os: [openbsd] + '@esbuild/sunos-x64@0.18.20': + resolution: {integrity: sha512-kDbFRFp0YpTQVVrqUd5FTYmWo45zGaXe0X8E1G/LKFC0v8x0vWrhOWSLITcCn63lmZIxfOMXtCfti/RxN/0wnQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + '@esbuild/sunos-x64@0.20.2': resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} engines: {node: '>=12'} @@ -1048,6 +1193,12 @@ packages: cpu: [x64] os: [sunos] + '@esbuild/win32-arm64@0.18.20': + resolution: {integrity: sha512-ddYFR6ItYgoaq4v4JmQQaAI5s7npztfV4Ag6NrhiaW0RrnOXqBkgwZLofVTlq1daVTQNhtI5oieTvkRPfZrePg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + '@esbuild/win32-arm64@0.20.2': resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} engines: {node: '>=12'} @@ -1066,6 +1217,12 @@ packages: cpu: [arm64] os: [win32] + '@esbuild/win32-ia32@0.18.20': + resolution: {integrity: sha512-Wv7QBi3ID/rROT08SABTS7eV4hX26sVduqDOTe1MvGMjNd3EjOz4b7zeexIR62GTIEKrfJXKL9LFxTYgkyeu7g==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + '@esbuild/win32-ia32@0.20.2': resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} engines: {node: '>=12'} @@ -1084,6 +1241,12 @@ packages: cpu: [ia32] os: [win32] + '@esbuild/win32-x64@0.18.20': + resolution: {integrity: sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + '@esbuild/win32-x64@0.20.2': resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} engines: {node: '>=12'} @@ -1195,22 +1358,36 @@ packages: '@jridgewell/trace-mapping@0.3.25': resolution: {integrity: sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==} - '@langchain/anthropic@0.2.12': - resolution: {integrity: sha512-F74kgQiHHLMSc1CYB3wAPh6ou+ql8ExOqeOMe/NPwK8MuMqC6By/44lAtuV/hOSE/pUmQCNfJmnYwuwteXCXRA==} + '@langchain/anthropic@0.2.14': + resolution: {integrity: sha512-qTFlsMej8SE0hz6IrqcQTkza/TGnlc7Tq/9W65TjQGLX51rGCYkprbLfpTi/LL9gahdB9VvB2Q5knUL0/N/xtQ==} engines: {node: '>=18'} - '@langchain/core@0.2.20': - resolution: {integrity: sha512-WPBjrzOj79/yqjloDUIw1GDhuRQfHis07TyyDj+qS81nHh0svSasetKcqAZ3L5JoPcBmEL7rRBtM+OcyC3mLVg==} + '@langchain/core@0.2.23': + resolution: {integrity: sha512-elPg6WpAkxWEIGC9u38F2anbzqfYYEy32lJdsd9dtChcHSFmFLlXqa+SnpO3R772gUuJmcu+Pd+fCvmRFy029w==} engines: {node: '>=18'} - '@langchain/openai@0.2.5': - resolution: {integrity: sha512-gQXS5VBFyAco0jgSnUVan6fYVSIxlffmDaeDGpXrAmz2nQPgiN/h24KYOt2NOZ1zRheRzRuO/CfRagMhyVUaFA==} + '@langchain/openai@0.2.6': + resolution: {integrity: sha512-LZgSzHOZPJGsZr2ZXJICqZo1GN0kUyP9/RN+T45g7HDdMRfS5Df7fJgY9w7EIfznT83Q0Ywhz+At/UvWMR3xhw==} engines: {node: '>=18'} '@langchain/textsplitters@0.0.3': resolution: {integrity: sha512-cXWgKE3sdWLSqAa8ykbCcUsUF1Kyr5J3HOWYGuobhPEycXW4WI++d5DhzdpL238mzoEXTi90VqfSCra37l5YqA==} engines: {node: '>=18'} + '@microsoft/fast-element@1.13.0': + resolution: {integrity: sha512-iFhzKbbD0cFRo9cEzLS3Tdo9BYuatdxmCEKCpZs1Cro/93zNMpZ/Y9/Z7SknmW6fhDZbpBvtO8lLh9TFEcNVAQ==} + + '@microsoft/fast-foundation@2.49.6': + resolution: {integrity: sha512-DZVr+J/NIoskFC1Y6xnAowrMkdbf2d5o7UyWK6gW5AiQ6S386Ql8dw4KcC4kHaeE1yL2CKvweE79cj6ZhJhTvA==} + + '@microsoft/fast-react-wrapper@0.3.24': + resolution: {integrity: sha512-sRnSBIKaO42p4mYoYR60spWVkg89wFxFAgQETIMazAm2TxtlsnsGszJnTwVhXq2Uz+XNiD8eKBkfzK5c/i6/Kw==} + peerDependencies: + react: '>=16.9.0' + + '@microsoft/fast-web-utilities@5.4.1': + resolution: {integrity: sha512-ReWYncndjV3c8D8iq9tp7NcFNc1vbVHvcBFPME2nNFKNbS1XCesYZGlIlf3ot5EmuOXPlrzUHOWzQ2vFpIkqDg==} + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1352,6 +1529,91 @@ packages: engines: {node: '>=8.10'} hasBin: true + '@swc/core-darwin-arm64@1.7.10': + resolution: {integrity: sha512-TYp4x/9w/C/yMU1olK5hTKq/Hi7BjG71UJ4V1U1WxI1JA3uokjQ/GoktDfmH5V5pX4dgGSOJwUe2RjoN8Z/XnA==} + engines: {node: '>=10'} + cpu: [arm64] + os: [darwin] + + '@swc/core-darwin-x64@1.7.10': + resolution: {integrity: sha512-P3LJjAWh5yLc6p5IUwV5LgRfA3R1oDCZDMabYyb2BVQuJTD4MfegW9DhBcUUF5dhBLwq3191KpLVzE+dLTbiXw==} + engines: {node: '>=10'} + cpu: [x64] + os: [darwin] + + '@swc/core-linux-arm-gnueabihf@1.7.10': + resolution: {integrity: sha512-yGOFjE7w/akRTmqGY3FvWYrqbxO7OB2N2FHj2LO5HtzXflfoABb5RyRvdEquX+17J6mEpu4EwjYNraTD/WHIEQ==} + engines: {node: '>=10'} + cpu: [arm] + os: [linux] + + '@swc/core-linux-arm64-gnu@1.7.10': + resolution: {integrity: sha512-SPWsgWHfdWKKjLrYlvhxcdBJ7Ruy6crJbPoE9NfD95eJEjMnS2yZTqj2ChFsY737WeyhWYlHzgYhYOVCp83YwQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-arm64-musl@1.7.10': + resolution: {integrity: sha512-PUi50bkNqnBL3Z/Zq6jSfwgN9A/taA6u2Zou0tjDJi7oVdpjdr7SxNgCGzMJ/nNg5D/IQn1opM1jktMvpsPAuQ==} + engines: {node: '>=10'} + cpu: [arm64] + os: [linux] + + '@swc/core-linux-x64-gnu@1.7.10': + resolution: {integrity: sha512-Sc+pY55gknCAmBQBR6DhlA7jZSxHaLSDb5Sevzi6DOFMXR79NpA6zWTNKwp1GK2AnRIkbAfvYLgOxS5uWTFVpg==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-linux-x64-musl@1.7.10': + resolution: {integrity: sha512-g5NKx2LXaGd0K26hmEts1Cvb7ptIvq3MHSgr6/D1tRPcDZw1Sp0dYsmyOv0ho4F5GOJyiCooG3oE9FXdb7jIpQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [linux] + + '@swc/core-win32-arm64-msvc@1.7.10': + resolution: {integrity: sha512-plRIsOcfy9t9Q/ivm5DA7I0HaIvfAWPbI+bvVRrr3C/1K2CSqnqZJjEWOAmx2LiyipijNnEaFYuLBp0IkGuJpg==} + engines: {node: '>=10'} + cpu: [arm64] + os: [win32] + + '@swc/core-win32-ia32-msvc@1.7.10': + resolution: {integrity: sha512-GntrVNT23viHtbfzmlK8lfBiKeajH24GzbDT7qXhnoO20suUPcyYZxyvCb4gWM2zu8ZBTPHNlqfrNsriQCZ+lQ==} + engines: {node: '>=10'} + cpu: [ia32] + os: [win32] + + '@swc/core-win32-x64-msvc@1.7.10': + resolution: {integrity: sha512-uXIF8GuSappe1imm6Lf7pHGepfCBjDQlS+qTqvEGE0wZAsL1IVATK9P/cH/OCLfJXeQDTLeSYmrpwjtXNt46tQ==} + engines: {node: '>=10'} + cpu: [x64] + os: [win32] + + '@swc/core@1.7.10': + resolution: {integrity: sha512-l0xrFwBQ9atizhmV94yC2nwcecTk/oftofwMNPiFMGe56dqdmi2ArHaTV3PCtMlgaUH6rGCehoRMt5OrCI1ktg==} + engines: {node: '>=10'} + peerDependencies: + '@swc/helpers': '*' + peerDependenciesMeta: + '@swc/helpers': + optional: true + + '@swc/counter@0.1.3': + resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + + '@swc/types@0.1.12': + resolution: {integrity: sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA==} + + '@tomjs/node@2.2.3': + resolution: {integrity: sha512-objFTMXbLKoHbN8WIPz25gy/H16VewH5qcdEu2wrbAYtNid4d3s3C/F1PfXUiSYpzd7YoKh2yRUkTFl03btgRw==} + engines: {node: '>=16'} + + '@tomjs/vite-plugin-vscode@2.5.5': + resolution: {integrity: sha512-GGQ9LQgxbSiqvA9WA6RefoN5yqNa8KEsLqsVHDnQIeNuxlMOJN+moFbcTz6fgt/a05QRCwSykc4AfozPFULfKg==} + engines: {node: '>=16'} + peerDependencies: + vite: '>=2' + '@types/conventional-commits-parser@5.0.0': resolution: {integrity: sha512-loB369iXNmAZglwWATL+WRe+CRMmmBPtpolYzIebFaX4YA3x+BEfLqhUAV9WanycKI3TG1IMr5bMJDajDKLlUQ==} @@ -1394,8 +1656,17 @@ packages: '@types/node@18.19.39': resolution: {integrity: sha512-nPwTRDKUctxw3di5b4TfT3I0sWDiWoPQCZjXhvdkINntwr8lcoVCKsTgnXeRubKIlfnV+eN/HYk6Jb40tbcEAQ==} - '@types/node@22.1.0': - resolution: {integrity: sha512-AOmuRF0R2/5j1knA3c6G3HOk523Ga+l+ZXltX8SF1+5oqcXijjfTd8fY3XRZqSihEu9XhtQnKYLmkFaoxgsJHw==} + '@types/node@22.2.0': + resolution: {integrity: sha512-bm6EG6/pCpkxDf/0gDNDdtDILMOHgaQBVOJGdwsqClnxA3xL6jtMv76rLBc006RVMWbmaf0xbmom4Z/5o2nRkQ==} + + '@types/prop-types@15.7.12': + resolution: {integrity: sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==} + + '@types/react-dom@18.3.0': + resolution: {integrity: sha512-EhwApuTmMBmXuFOikhQLIBUn6uFg81SwLMOAUgodJF14SOBOCMdU04gDoYi0WOJJHD144TL32z4yDqCW3dnkQg==} + + '@types/react@18.3.3': + resolution: {integrity: sha512-hti/R0pS0q1/xx+TsI73XIqk26eBsISZ2R0wUijXIngRK9R/e7Xw/cXVxQK7R5JjW+SV4zGcn5hXjudkN/pLIw==} '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -1409,6 +1680,9 @@ packages: '@types/uuid@9.0.8': resolution: {integrity: sha512-jg+97EGIcY9AGHJJRaaPVgetKDsrTgbRjQ5Msgjh/DQKEFl0DtyRr/VCOyD1T2R1MNeWPK/u7JoGhlDZnKBAfA==} + '@types/vscode-webview@1.57.5': + resolution: {integrity: sha512-iBAUYNYkz+uk1kdsq05fEcoh8gJmwT3lqqFPN7MGyjQ3HVloViMdo7ZJ8DFIP8WOK74PjOEilosqAyxV2iUFUw==} + '@types/vscode@1.82.0': resolution: {integrity: sha512-VSHV+VnpF8DEm8LNrn8OJ8VuUNcBzN3tMvKrNpbhhfuVjFm82+6v44AbDhLvVFgCzn6vs94EJNTp7w8S6+Q1Rw==} @@ -1562,6 +1836,11 @@ packages: peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 || ^5.0.0-0 + '@vitejs/plugin-react-swc@3.7.0': + resolution: {integrity: sha512-yrknSb3Dci6svCd/qhHqhFPDSw0QtjumcqdKMoNNzmOl5lMXTTiqzjWtG4Qask2HdvvzaNgSunbQGet8/GrKdA==} + peerDependencies: + vite: ^4 || ^5 + '@vitejs/plugin-vue@5.0.5': resolution: {integrity: sha512-LOjm7XeIimLBZyzinBQ6OSm3UBCNVCpLkxGC0oWmm2YPzVZoxMsdvNVimLTBzpAnR9hl/yn1SHGuRfe6/Td9rQ==} engines: {node: ^18.0.0 || >=20.0.0} @@ -1640,27 +1919,20 @@ packages: engines: {node: '>= 16'} hasBin: true - '@vue/compiler-core@3.4.35': - resolution: {integrity: sha512-gKp0zGoLnMYtw4uS/SJRRO7rsVggLjvot3mcctlMXunYNsX+aRJDqqw/lV5/gHK91nvaAAlWFgdVl020AW1Prg==} + '@vscode/webview-ui-toolkit@1.4.0': + resolution: {integrity: sha512-modXVHQkZLsxgmd5yoP3ptRC/G8NBDD+ob+ngPiWNQdlrH6H1xR/qgOBD85bfU3BhOB5sZzFWBwwhp9/SfoHww==} + peerDependencies: + react: '>=16.9.0' '@vue/compiler-core@3.4.36': resolution: {integrity: sha512-qBkndgpwFKdupmOPoiS10i7oFdN7a+4UNDlezD0GlQ1kuA1pNrscg9g12HnB5E8hrWSuEftRsbJhL1HI2zpJhg==} - '@vue/compiler-dom@3.4.35': - resolution: {integrity: sha512-pWIZRL76/oE/VMhdv/ovZfmuooEni6JPG1BFe7oLk5DZRo/ImydXijoZl/4kh2406boRQ7lxTYzbZEEXEhj9NQ==} - '@vue/compiler-dom@3.4.36': resolution: {integrity: sha512-eEIjy4GwwZTFon/Y+WO8tRRNGqylaRlA79T1RLhUpkOzJ7EtZkkb8MurNfkqY6x6Qiu0R7ESspEF7GkPR/4yYg==} - '@vue/compiler-sfc@3.4.35': - resolution: {integrity: sha512-xacnRS/h/FCsjsMfxBkzjoNxyxEyKyZfBch/P4vkLRvYJwe5ChXmZZrj8Dsed/752H2Q3JE8kYu9Uyha9J6PgA==} - '@vue/compiler-sfc@3.4.36': resolution: {integrity: sha512-rhuHu7qztt/rNH90dXPTzhB7hLQT2OC4s4GrPVqmzVgPY4XBlfWmcWzn4bIPEWNImt0CjO7kfHAf/1UXOtx3vw==} - '@vue/compiler-ssr@3.4.35': - resolution: {integrity: sha512-7iynB+0KB1AAJKk/biENTV5cRGHRdbdaD7Mx3nWcm1W8bVD6QmnH3B4AHhQQ1qZHhqFwzEzMwiytXm3PX1e60A==} - '@vue/compiler-ssr@3.4.36': resolution: {integrity: sha512-Wt1zyheF0zVvRJyhY74uxQbnkXV2Le/JPOrAxooR4rFYKC7cFr+cRqW6RU3cM/bsTy7sdZ83IDuy/gLPSfPGng==} @@ -1831,6 +2103,9 @@ packages: argparse@2.0.1: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} + aria-query@5.1.3: + resolution: {integrity: sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==} + array-buffer-byte-length@1.0.1: resolution: {integrity: sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==} engines: {node: '>= 0.4'} @@ -1846,6 +2121,10 @@ packages: resolution: {integrity: sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==} engines: {node: '>=8'} + array.prototype.findlast@1.2.5: + resolution: {integrity: sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==} + engines: {node: '>= 0.4'} + array.prototype.findlastindex@1.2.5: resolution: {integrity: sha512-zfETvRFA8o7EiNn++N5f/kaCw221hrpGsDmcpndVupkPzEc1Wuf3VgC0qby1BbHs7f5DVYjgtEU2LLh5bqeGfQ==} engines: {node: '>= 0.4'} @@ -1858,6 +2137,10 @@ packages: resolution: {integrity: sha512-Ewyx0c9PmpcsByhSW4r+9zDU7sGjFc86qf/kKtuSCRdhfbk0SNLLkaT5qvcHnRGgc5NP/ly/y+qkXkqONX54CQ==} engines: {node: '>= 0.4'} + array.prototype.tosorted@1.1.4: + resolution: {integrity: sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==} + engines: {node: '>= 0.4'} + arraybuffer.prototype.slice@1.0.3: resolution: {integrity: sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==} engines: {node: '>= 0.4'} @@ -1866,6 +2149,9 @@ packages: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} + ast-types-flow@0.0.8: + resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} + asynckit@0.4.0: resolution: {integrity: sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==} @@ -1877,6 +2163,13 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + axe-core@4.10.0: + resolution: {integrity: sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g==} + engines: {node: '>=4'} + + axobject-query@3.1.1: + resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} + azure-devops-node-api@12.5.0: resolution: {integrity: sha512-R5eFskGvOm3U/GzeAuxRkUsAl0hrAwGgWn6zAd2KrZmrEhWZVqLew4OOupbQlXUuojUzpGtq62SmdhJ06N88og==} @@ -1890,9 +2183,6 @@ packages: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - binary-search@1.3.6: - resolution: {integrity: sha512-nbE1WxOTTrUWIfsfZ4aHGYu5DOuNkbxGokjV6Z2kxfJK3uaAb8zNK1muzOeipoLHZjInT4Br88BHpzevc681xA==} - birpc@0.2.17: resolution: {integrity: sha512-+hkTxhot+dWsLpp3gia5AkVHIsKlZybNT5gIYiDlNzJrmYPcTM9k5/w2uaj3IPpd7LlEYpmCj4Jj1nC41VhDFg==} @@ -1941,6 +2231,12 @@ packages: buffer@5.7.1: resolution: {integrity: sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==} + bundle-require@4.2.1: + resolution: {integrity: sha512-7Q/6vkyYAwOmQNRw75x+4yRtZCZJXUDmHHlFdkiV0wgv/reNjtJwpu1jPJ0w2kbEpIM0uoKI3S4/f39dU7AjSA==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + peerDependencies: + esbuild: '>=0.17' + bundle-require@5.0.0: resolution: {integrity: sha512-GuziW3fSSmopcx4KRymQEJVbZUfqlCqcq7dvs6TYwKRZiegK/2buMxQTPs6MGlNv50wms1699qYO54R8XfRX4w==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2178,6 +2474,9 @@ packages: resolution: {integrity: sha512-U466fIzU5U22eES5lTNiNbZ+d8dfcHcssH4o7QsdWaCcRs/feIPCxKYSWkYBNs5mny7MvEfwpTLWjvbm94hecw==} engines: {node: '>= 10'} + damerau-levenshtein@1.0.8: + resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} + dargs@8.1.0: resolution: {integrity: sha512-wAV9QHOsNbwnWdNW2FYvE1P56wtgSbM+3SZcdGiWQILwVjACCXDCI3Ai8QlCjMDB8YK5zySiXZYBiwGmNY3lnw==} engines: {node: '>=12'} @@ -2198,6 +2497,9 @@ packages: resolution: {integrity: sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==} engines: {node: '>= 0.4'} + dayjs@1.11.12: + resolution: {integrity: sha512-Rt2g+nTbLlDWZTwwrIXjy9MeiZmSDI375FvZs72ngxx8PDC6YXOeR3q5LAuPzjZQxhiWdRKac7RKV+YyQYfYIg==} + debug@3.2.7: resolution: {integrity: sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==} peerDependencies: @@ -2248,6 +2550,10 @@ packages: resolution: {integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==} engines: {node: '>=6'} + deep-equal@2.2.3: + resolution: {integrity: sha512-ZIwpnevOurS8bpT4192sqAowWM76JDKSHYzMLty3BZGSswgq6pBaH3DhCSW5xVAZICZyKdOBPjwww5wfgT/6PA==} + engines: {node: '>= 0.4'} + deep-extend@0.6.0: resolution: {integrity: sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==} engines: {node: '>=4.0.0'} @@ -2366,6 +2672,10 @@ packages: resolution: {integrity: sha512-dwDPwZL0dmye8Txp2gzFmA6sxALaSvdRDjPH0viLcKrtlOL3tw62nWWweVD1SdILDTJrbrL6tdWVN58Wo6U3eA==} engines: {node: '>=10.13.0'} + enhanced-resolve@5.17.1: + resolution: {integrity: sha512-LMHl3dXhTcfv8gM4kEzIUeTQ+7fpdA0l2tUf34BddXPkz2A5xJ5L/Pchd5BL6rdccM9QGvu0sWZzK1Z1t4wwyg==} + engines: {node: '>=10.13.0'} + entities@2.1.0: resolution: {integrity: sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==} @@ -2404,6 +2714,13 @@ packages: resolution: {integrity: sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==} engines: {node: '>= 0.4'} + es-get-iterator@1.1.3: + resolution: {integrity: sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==} + + es-iterator-helpers@1.0.19: + resolution: {integrity: sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw==} + engines: {node: '>= 0.4'} + es-object-atoms@1.0.0: resolution: {integrity: sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==} engines: {node: '>= 0.4'} @@ -2422,6 +2739,11 @@ packages: es6-error@4.1.1: resolution: {integrity: sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==} + esbuild@0.18.20: + resolution: {integrity: sha512-ceqxoedUrcayh7Y7ZX6NdbbDzGROiyVBgC4PriJThBKSVPWnnFHZAkfI1lJT8QFkOwH4qOS2SJkS4wvpGl8BpA==} + engines: {node: '>=12'} + hasBin: true + esbuild@0.20.2: resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} engines: {node: '>=12'} @@ -2463,6 +2785,16 @@ packages: '@typescript-eslint/parser': ^7.0.0 eslint: ^8.56.0 + eslint-config-airbnb@19.0.4: + resolution: {integrity: sha512-T75QYQVQX57jiNgpF9r1KegMICE94VYwoFQyMGhrvc+lB8YF2E/M/PYDaQe1AJcWaEgqLE+ErXV1Og/+6Vyzew==} + engines: {node: ^10.12.0 || ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^7.32.0 || ^8.2.0 + eslint-plugin-import: ^2.25.3 + eslint-plugin-jsx-a11y: ^6.5.1 + eslint-plugin-react: ^7.28.0 + eslint-plugin-react-hooks: ^4.3.0 + eslint-config-prettier@9.1.0: resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true @@ -2516,10 +2848,16 @@ packages: '@typescript-eslint/parser': optional: true - eslint-plugin-json@4.0.0: - resolution: {integrity: sha512-l/P3WTzl2HI8PbwsbDIrZ+6jvwQI4TGuz20ReJkG3Y+gZS5ZurTgx+gBmuLpOgiqMyDJWyJ7+GCjevWtNYQcUg==} + eslint-plugin-json@4.0.1: + resolution: {integrity: sha512-3An5ISV5dq/kHfXdNyY5TUe2ONC3yXFSkLX2gu+W8xAhKhfvrRvkSAeKXCxZqZ0KJLX15ojBuLPyj+UikQMkOA==} engines: {node: '>=18.0'} + eslint-plugin-jsx-a11y@6.9.0: + resolution: {integrity: sha512-nOFOCaJG2pYqORjK19lqPqxMO/JpvdCZdPtNdxY3kvom3jTvkAbOvQvD8wuD0G8BYR0IGAGYDlzqWJOh/ybn2g==} + engines: {node: '>=4.0'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 + eslint-plugin-prettier@5.2.1: resolution: {integrity: sha512-gH3iR3g4JfF+yYPaJYkN7jEl9QbweL/YfkoRlNnuIEHEz1vHVlCmWOS+eGGiRuzHQXdJFCOTxRgvju9b8VUmrw==} engines: {node: ^14.18.0 || >=16.0.0} @@ -2534,6 +2872,18 @@ packages: eslint-config-prettier: optional: true + eslint-plugin-react-hooks@4.6.2: + resolution: {integrity: sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ==} + engines: {node: '>=10'} + peerDependencies: + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 + + eslint-plugin-react@7.35.0: + resolution: {integrity: sha512-v501SSMOWv8gerHkk+IIQBkcGRGrO2nfybfj5pLxuJNFTPxxA3PSryhXTK+9pNbtkggheDdsC0E9Q8CuPk6JKA==} + engines: {node: '>=4'} + peerDependencies: + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 + eslint-plugin-simple-import-sort@12.1.1: resolution: {integrity: sha512-6nuzu4xwQtE3332Uz0to+TxDQYRLTKRESSc2hefVT48Zc8JthmN23Gx9lnYhu0FtkRSL1oxny3kJ2aveVhmOVA==} peerDependencies: @@ -2622,6 +2972,9 @@ packages: resolution: {integrity: sha512-l6JFbqnHEadBoVAVpN5dl2yCyfX28WoBAGaoQcNmLLSedOxTxcn2Qa83s8I/PA5i56vWru2OHOtrwF7Om2vqlg==} engines: {node: ^18.19.0 || >=20.5.0} + exenv-es6@1.1.1: + resolution: {integrity: sha512-vlVu3N8d6yEMpMsEm+7sUBAI81aqYYuEvfK0jNqmdb/OPXzzH7QWDDnVjMvDSY47JdHEqx/dfC/q8WkfoTmpGQ==} + expand-template@2.0.3: resolution: {integrity: sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==} engines: {node: '>=6'} @@ -2650,8 +3003,8 @@ packages: fast-levenshtein@2.0.6: resolution: {integrity: sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==} - fast-xml-parser@4.4.0: - resolution: {integrity: sha512-kLY3jFlwIYwBNDojclKsNAC12sfD6NwW74QB2CoNGPvtVxjliYehVunB3HYyNi+n4Tt1dAcgwYvmKF/Z18flqg==} + fast-xml-parser@4.4.1: + resolution: {integrity: sha512-xkjOecfnKGkSsOwtZ5Pz7Us/T6mrbPQrq0nh+aCO5V9nk5NLWmasAHumTKjiPJPWANe+kAZ84Jc8ooJkzZ88Sw==} hasBin: true fastq@1.15.0: @@ -2871,6 +3224,9 @@ packages: resolution: {integrity: sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==} engines: {node: '>=10'} + globrex@0.1.2: + resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} + gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} @@ -2925,6 +3281,10 @@ packages: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} + he@1.2.0: + resolution: {integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==} + hasBin: true + homedir-polyfill@1.0.3: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} @@ -2978,8 +3338,8 @@ packages: ieee754@1.2.1: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} - ignore@5.3.1: - resolution: {integrity: sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==} + ignore@5.3.2: + resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} image-size@0.5.5: @@ -3031,8 +3391,9 @@ packages: resolution: {integrity: sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==} engines: {node: '>= 0.4'} - is-any-array@2.0.1: - resolution: {integrity: sha512-UtilS7hLRu++wb/WBAw9bNuP1Eg04Ivn1vERJck8zJthEvXCBEBpGR/33u/xLKWEQf95803oalHrVDptcAvFdQ==} + is-arguments@1.1.1: + resolution: {integrity: sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==} + engines: {node: '>= 0.4'} is-array-buffer@3.0.4: resolution: {integrity: sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==} @@ -3041,6 +3402,10 @@ packages: is-arrayish@0.2.1: resolution: {integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==} + is-async-function@2.0.0: + resolution: {integrity: sha512-Y1JXKrfykRJGdlDwdKlLpLyMIiWqWvuSd17TvZk68PLAOGOoF4Xyav1z0Xhoi+gCYjZVeC5SI+hYFOfvXmGRCA==} + engines: {node: '>= 0.4'} + is-bigint@1.0.4: resolution: {integrity: sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==} @@ -3076,6 +3441,9 @@ packages: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} + is-finalizationregistry@1.0.2: + resolution: {integrity: sha512-0by5vtUJs8iFQb5TYUHHPudOR+qXYIMKtiUzvLIZITZUjknFmziyBJuLhVRc+Ds0dREFlskDNJKYIdIzu/9pfw==} + is-fullwidth-code-point@3.0.0: resolution: {integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==} engines: {node: '>=8'} @@ -3088,6 +3456,10 @@ packages: resolution: {integrity: sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==} engines: {node: '>=18'} + is-generator-function@1.0.10: + resolution: {integrity: sha512-jsEjy9l3yiXEQ+PsXdmBwEPcOxaXWLspKdplFUVI9vq1iZgIekeC0L167qeu86czQaxed3q/Uzuw0swL0irL8A==} + engines: {node: '>= 0.4'} + is-glob@4.0.3: resolution: {integrity: sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==} engines: {node: '>=0.10.0'} @@ -3096,6 +3468,10 @@ packages: resolution: {integrity: sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==} engines: {node: '>=8'} + is-map@2.0.3: + resolution: {integrity: sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==} + engines: {node: '>= 0.4'} + is-negative-zero@2.0.3: resolution: {integrity: sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==} engines: {node: '>= 0.4'} @@ -3124,6 +3500,10 @@ packages: resolution: {integrity: sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==} engines: {node: '>= 0.4'} + is-set@2.0.3: + resolution: {integrity: sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==} + engines: {node: '>= 0.4'} + is-shared-array-buffer@1.0.3: resolution: {integrity: sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==} engines: {node: '>= 0.4'} @@ -3167,9 +3547,17 @@ packages: is-utf8@0.2.1: resolution: {integrity: sha512-rMYPYvCzsXywIsldgLaSoPlw5PfoB/ssr7hY4pLfcodrA5M/eArza1a9VmTiNIBNMjOGr1Ow9mTyU2o69U6U9Q==} + is-weakmap@2.0.2: + resolution: {integrity: sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==} + engines: {node: '>= 0.4'} + is-weakref@1.0.2: resolution: {integrity: sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==} + is-weakset@2.0.3: + resolution: {integrity: sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==} + engines: {node: '>= 0.4'} + is-what@3.14.1: resolution: {integrity: sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==} @@ -3191,6 +3579,9 @@ packages: isexe@2.0.0: resolution: {integrity: sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==} + iterator.prototype@1.1.2: + resolution: {integrity: sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w==} + jackspeak@3.4.0: resolution: {integrity: sha512-JVYhQnN59LVPFCEcVa2C3CrEKYacvjRfqIQl+h8oi91aLYQVWRYbxjPcv1bUiUy/kLmQaANrYfNMCO3kuEDHfw==} engines: {node: '>=14'} @@ -3271,6 +3662,10 @@ packages: resolution: {integrity: sha512-PRp66vJ865SSqOlgqS8hujT5U4AOgMfhrwYIuIhfKaoSCZcirrmASQr8CX7cUg+RMih+hgznrjp99o+W4pJLHQ==} engines: {node: '>=12', npm: '>=6'} + jsx-ast-utils@3.3.5: + resolution: {integrity: sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==} + engines: {node: '>=4.0'} + jwa@1.4.1: resolution: {integrity: sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==} @@ -3289,8 +3684,8 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - knip@5.27.0: - resolution: {integrity: sha512-W8+jhO7i5pXRUqOzhJGm2DT5/d9aQjyrYTCSojqJxFOvi7ku/nHKzpBO3WNf4eflJo0t3zitmUkM69g53qoZQw==} + knip@5.27.2: + resolution: {integrity: sha512-Mya1XEDq1oygibQf0uocQd02Fil8RtvNVhcFAcxypjcc6zakT7wsJtS0xvuwEitilfI0tiFC9PghmJQ3DMKuTg==} engines: {node: '>=18.6.0'} hasBin: true peerDependencies: @@ -3300,8 +3695,8 @@ packages: kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} - langchain@0.2.12: - resolution: {integrity: sha512-ZHtJrHUpridZ7IQu7N/wAQ6iMAAO7VLzkupHqKP79S6p+alrPbn1BjRnh+PeGm92YiY5DafTCuvchmujxx7bCQ==} + langchain@0.2.15: + resolution: {integrity: sha512-SW4YdRnNPNDRhu6vsxHhxwx+OhDcQsOuiQ/K5gzsUMXUkgbS+y8kG3Kjgs08MXgKAkT4IKW0f2/o1B+2n0Lubw==} engines: {node: '>=18'} peerDependencies: '@aws-sdk/client-s3': '*' @@ -3483,13 +3878,24 @@ packages: youtubei.js: optional: true - langchainhub@0.0.11: - resolution: {integrity: sha512-WnKI4g9kU2bHQP136orXr2bcRdgz9iiTBpTN0jWt9IlScUKnJBoD0aa2HOzHURQKeQDnt2JwqVmQ6Depf5uDLQ==} - langsmith@0.1.39: resolution: {integrity: sha512-K2/qbc96JhrZbSL74RbZ0DBOpTB9Mxicu8RQrZ88Xsp1bH2O3+y5EdcvC0g/1YzQWQhcQ4peknCA24c3VTNiNA==} peerDependencies: - '@langchain/core': 0.2.20 + '@langchain/core': 0.2.23 + langchain: '*' + openai: '*' + peerDependenciesMeta: + '@langchain/core': + optional: true + langchain: + optional: true + openai: + optional: true + + langsmith@0.1.41: + resolution: {integrity: sha512-8R7s/225Pxmv0ipMfd6sqmWVsfHLQivYlQZ0vx5K+ReoknummTenQlVK8gapk3kqRMnzkrouuRHMhWjMR6RgUA==} + peerDependencies: + '@langchain/core': 0.2.23 langchain: '*' openai: '*' peerDependenciesMeta: @@ -3500,6 +3906,13 @@ packages: openai: optional: true + language-subtag-registry@0.3.23: + resolution: {integrity: sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==} + + language-tags@1.0.9: + resolution: {integrity: sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==} + engines: {node: '>=0.10'} + less@4.2.0: resolution: {integrity: sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==} engines: {node: '>=6'} @@ -3554,6 +3967,9 @@ packages: lodash.camelcase@4.3.0: resolution: {integrity: sha512-TwuEnCnxbc3rAvhf/LbG7tJUDzhqXyFnv3dtzLOPgCG/hODL7WFnsbwktkD7yUV0RrreP/l1PALq/YSg6VvjlA==} + lodash.clonedeep@4.5.0: + resolution: {integrity: sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==} + lodash.includes@4.3.0: resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} @@ -3617,6 +4033,10 @@ packages: resolution: {integrity: sha512-Ajzxb8CM6WAnFjgiloPsI3bF+WCxcvhdIG3KNA2KN962+tdBsHcuQ4k4qX/EcS/2CRkcc0iAkR956Nib6aXU/Q==} engines: {node: '>=0.10.0'} + loose-envify@1.4.0: + resolution: {integrity: sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==} + hasBin: true + loupe@3.1.1: resolution: {integrity: sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw==} @@ -3762,21 +4182,6 @@ packages: mkdirp-classic@0.5.3: resolution: {integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==} - ml-array-mean@1.1.6: - resolution: {integrity: sha512-MIdf7Zc8HznwIisyiJGRH9tRigg3Yf4FldW8DxKxpCCv/g5CafTw0RRu51nojVEOXuCQC7DRVVu5c7XXO/5joQ==} - - ml-array-sum@1.1.6: - resolution: {integrity: sha512-29mAh2GwH7ZmiRnup4UyibQZB9+ZLyMShvt4cH4eTK+cL2oEMIZFnSyB3SS8MlsTh6q/w/yh48KmqLxmovN4Dw==} - - ml-distance-euclidean@2.0.0: - resolution: {integrity: sha512-yC9/2o8QF0A3m/0IXqCTXCzz2pNEzvmcE/9HFKOZGnTjatvBbsn4lWYJkxENkA4Ug2fnYl7PXQxnPi21sgMy/Q==} - - ml-distance@4.0.1: - resolution: {integrity: sha512-feZ5ziXs01zhyFUUUeZV5hwc0f5JW0Sh0ckU1koZe/wdVkJdGxcP06KNQuF0WBTj8FttQUzcvQcpcrOp/XrlEw==} - - ml-tree-similarity@1.0.0: - resolution: {integrity: sha512-XJUyYqjSuUQkNQHMscr6tcjldsOoAekxADTplt40QKfwW6nd++1wHWV9AArl0Zvw/TIHgNaZZNvr8QGvE8wLRg==} - mlly@1.7.1: resolution: {integrity: sha512-rrVRZRELyQzrIUAVMHxP97kv+G786pHmOKzuFII8zDYahFBS7qnHh2AlYSl1GAHhaMPCz6/oHjVMcfFYgFYHgA==} @@ -3847,6 +4252,9 @@ packages: resolution: {integrity: sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + node-html-parser@6.1.13: + resolution: {integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==} + node-releases@2.0.14: resolution: {integrity: sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==} @@ -3858,10 +4266,6 @@ packages: resolution: {integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==} engines: {node: '>=8'} - npm-run-path@5.1.0: - resolution: {integrity: sha512-sJOdmRGrY2sjNTRMbSvluQqg+8X7ZK61yvzBEIDhz4f8z1TZFYABsqjjCBd/0PUNE9M6QDgHJXQkGUEm7Q+l9Q==} - engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -3869,10 +4273,6 @@ packages: nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} - num-sort@2.1.0: - resolution: {integrity: sha512-1MQz1Ed8z2yckoBeSfkQHHO9K1yDRxxtotKSJ9yvcTUUxSvfvzEq5GwBrjjHEpMlq/k5gvXdmJ1SbYxWtpNoVg==} - engines: {node: '>=8'} - object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} @@ -3880,6 +4280,10 @@ packages: object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} + object-is@1.1.6: + resolution: {integrity: sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==} + engines: {node: '>= 0.4'} + object-keys@1.1.1: resolution: {integrity: sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==} engines: {node: '>= 0.4'} @@ -3926,9 +4330,14 @@ packages: resolution: {integrity: sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==} engines: {node: '>=12'} - openai@4.52.3: - resolution: {integrity: sha512-IyQLYKGYoEEkUCEm2frPzwHDJ3Ym663KtivnY6pWCzuoi6/HgSIMMxpcuTRS81GH6tiULPYGmTxIvzXdmPIWOw==} + openai@4.55.4: + resolution: {integrity: sha512-TEC75Y6U/OKIJp9fHao3zkTYfKLYGqXdD2TI+xN2Zd5W8KNKvv6E4/OBTOW7jg7fySfrBrhy5fYzBbyBcdHEtQ==} hasBin: true + peerDependencies: + zod: ^3.23.8 + peerDependenciesMeta: + zod: + optional: true openapi-types@12.1.3: resolution: {integrity: sha512-N4YtSYJqghVu4iek2ZUvcN/0aqH1kRDuNqzcycDxhOUpg7GdvLa2F3DgS6yBNhInhv2r/6I0Flkn7CqL8+nIcw==} @@ -4102,8 +4511,8 @@ packages: engines: {node: '>=18'} hasBin: true - pnpm@9.6.0: - resolution: {integrity: sha512-ONxvuo26NbOTQLlwARLC/h4S8QsXE0cVpKqYzPe7A152/Zgc8Ls4TfqY+NavVIHCvvL0Jmokv6IMNOtxR84LXg==} + pnpm@9.7.0: + resolution: {integrity: sha512-3AlDAVa0J/Xs/HmIiJnhw50taQ8AS+cOBSMLcssXPZaDlYdUXQlCm1WsPEKcgBtNw8DgAvZTgwpCD6LdTjz5zw==} engines: {node: '>=18.12'} hasBin: true @@ -4111,8 +4520,20 @@ packages: resolution: {integrity: sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==} engines: {node: '>= 0.4'} - postcss-load-config@6.0.1: - resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} + postcss-load-config@4.0.2: + resolution: {integrity: sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==} + engines: {node: '>= 14'} + peerDependencies: + postcss: '>=8.0.9' + ts-node: '>=9.0.0' + peerDependenciesMeta: + postcss: + optional: true + ts-node: + optional: true + + postcss-load-config@6.0.1: + resolution: {integrity: sha512-oPtTM4oerL+UXmx+93ytZVN82RrlY/wPUV8IeDxFrzIjXOLF1pN+EmKPLbubvKHT2HC20xXsCAH2Z+CKV6Oz/g==} engines: {node: '>= 18'} peerDependencies: jiti: '>=1.21.0' @@ -4162,6 +4583,9 @@ packages: resolution: {integrity: sha512-E9e9HJ9R9NasGOgPaPE8VMeiPKAyWR5jcFpNnwIejslIhWqdqOrb2wShBsncMPUb+BcCd2OPYfh7p2W6oemTng==} engines: {node: '>=18'} + prop-types@15.8.1: + resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==} + prr@1.0.1: resolution: {integrity: sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==} @@ -4187,6 +4611,18 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true + react-dom@18.3.1: + resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} + peerDependencies: + react: ^18.3.1 + + react-is@16.13.1: + resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + + react@18.3.1: + resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} + engines: {node: '>=0.10.0'} + read@1.0.7: resolution: {integrity: sha512-rSOKNYUmaxy0om1BNjMN4ezNT6VKK+2xF4GBhc81mkH7L60i6dp8qPYrkndNLT3QPphoII3maL9PVC9XmhHwVQ==} engines: {node: '>=0.8'} @@ -4199,6 +4635,10 @@ packages: resolution: {integrity: sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==} engines: {node: '>=8.10.0'} + reflect.getprototypeof@1.0.6: + resolution: {integrity: sha512-fmfw4XgoDke3kdI6h4xcUz1dG8uaiv5q9gcEwLS4Pnth2kxT+GZ7YehS1JTMGBQmtV7Y4GFGbs2re2NqhdozUg==} + engines: {node: '>= 0.4'} + regenerator-runtime@0.13.11: resolution: {integrity: sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==} @@ -4236,6 +4676,10 @@ packages: resolution: {integrity: sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==} hasBin: true + resolve@2.0.0-next.5: + resolution: {integrity: sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==} + hasBin: true + restore-cursor@3.1.0: resolution: {integrity: sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==} engines: {node: '>=8'} @@ -4269,6 +4713,11 @@ packages: resolution: {integrity: sha512-CHhPh+UNHD2GTXNYhPWLnU8ONHdI+5DI+4EYIAOaiD63rHeYlZvyh8P+in5999TTSFgUYuKUAjzRI4mdh/p+2A==} engines: {node: '>=8.0'} + rollup@3.29.4: + resolution: {integrity: sha512-oWzmBZwvYrU0iJHtDmhsm662rC15FRXmcjCk1xD771dFDx5jJ02ufAQQTn0etB2emNk4J9EZg/yWKpsn9BWGRw==} + engines: {node: '>=14.18.0', npm: '>=8.0.0'} + hasBin: true + rollup@4.19.0: resolution: {integrity: sha512-5r7EYSQIowHsK4eTZ0Y81qpZuJz+MUuYeqmmYmRMl1nwhdmbiYqt5jwzf6u7wyOzJgYqtCRMtVRKOtHANBz7rA==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -4305,6 +4754,9 @@ packages: sax@1.3.0: resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} + scheduler@0.23.2: + resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + search-insights@2.15.0: resolution: {integrity: sha512-ch2sPCUDD4sbPQdknVl9ALSi9H7VyoeVbsxznYz6QV55jJ8CI3EtwpO1i84keN4+hF5IeHWIeGvc08530JkVXQ==} @@ -4324,6 +4776,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.6.3: + resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} + engines: {node: '>=10'} + hasBin: true + serialize-error@7.0.1: resolution: {integrity: sha512-8I8TjW5KMOKsZQTvoxjuSIa7foAwPWGOts+6o7sgjz41/qMD9VQHEDxi6PBvK2l0MXUmqZyNpUK+T2tQaaElvw==} engines: {node: '>=10'} @@ -4357,6 +4814,10 @@ packages: side-channel@1.0.4: resolution: {integrity: sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==} + side-channel@1.0.6: + resolution: {integrity: sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==} + engines: {node: '>= 0.4'} + siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} @@ -4425,6 +4886,10 @@ packages: std-env@3.7.0: resolution: {integrity: sha512-JPbdCEQLj1w5GilpiHAx3qJvFndqybBysA3qUOnznweH4QbNYUsW/ea8QzSrnh0vNsezMMw5bcVool8lM0gwzg==} + stop-iteration-iterator@1.0.0: + resolution: {integrity: sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==} + engines: {node: '>= 0.4'} + stoppable@1.1.0: resolution: {integrity: sha512-KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==} engines: {node: '>=4', npm: '>=6'} @@ -4445,6 +4910,16 @@ packages: resolution: {integrity: sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==} engines: {node: '>=18'} + string.prototype.includes@2.0.0: + resolution: {integrity: sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg==} + + string.prototype.matchall@4.0.11: + resolution: {integrity: sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==} + engines: {node: '>= 0.4'} + + string.prototype.repeat@1.0.0: + resolution: {integrity: sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==} + string.prototype.trim@1.2.9: resolution: {integrity: sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==} engines: {node: '>= 0.4'} @@ -4534,6 +5009,9 @@ packages: resolution: {integrity: sha512-7gr8p9TQP6RAHusBOSLs46F4564ZrjV8xFmw5zCmgmhGUcw2hxsShhJ6CEiHQMgPDwAQ1fWHPM0ypc4RMAig4A==} engines: {node: ^14.18.0 || >=16.0.0} + tabbable@5.3.3: + resolution: {integrity: sha512-QD9qKY3StfbZqWOPLp0++pOrAVb/HbUi5xCc8cUo4XjP19808oaMiDzn0leBY5mCespIBM0CIZePzZjgzR83kA==} + tabbable@6.2.0: resolution: {integrity: sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==} @@ -4623,12 +5101,41 @@ packages: ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} + tsconfck@3.1.1: + resolution: {integrity: sha512-00eoI6WY57SvZEVjm13stEVE90VkEdJAFGgpFLTsZbJyW/LwFQ7uQxJHWpZ2hzSWgCPKc9AnBnNP+0X7o3hAmQ==} + engines: {node: ^18 || >=20} + hasBin: true + peerDependencies: + typescript: ^5.0.0 + peerDependenciesMeta: + typescript: + optional: true + tsconfig-paths@3.15.0: resolution: {integrity: sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==} + tslib@1.14.1: + resolution: {integrity: sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==} + tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tsup@7.2.0: + resolution: {integrity: sha512-vDHlczXbgUvY3rWvqFEbSqmC1L7woozbzngMqTtL2PGBODTtWlRwGDDawhvWzr5c1QjKe4OAKqJGfE1xeXUvtQ==} + engines: {node: '>=16.14'} + hasBin: true + peerDependencies: + '@swc/core': ^1 + postcss: ^8.4.12 + typescript: '>=4.1.0' + peerDependenciesMeta: + '@swc/core': + optional: true + postcss: + optional: true + typescript: + optional: true + tsup@8.2.4: resolution: {integrity: sha512-akpCPePnBnC/CXgRrcy72ZSntgIEUa1jN0oJbbvpALWKNOz1B7aM+UVDWGRGIO/T/PZugAESWDJUAb5FD48o8Q==} engines: {node: '>=18'} @@ -4733,8 +5240,8 @@ packages: undici-types@6.13.0: resolution: {integrity: sha512-xtFJHudx8S2DSoujjMd1WeWvn7KKWFRESZTMeL1RptAYERu29D6jphMjjY+vn96jvN3kVPDNxU/E13VTaXj6jg==} - undici@6.19.5: - resolution: {integrity: sha512-LryC15SWzqQsREHIOUybavaIHF5IoL0dJ9aWWxL/PgT1KfqAW5225FZpDUFlt9xiDMS2/S7DOKhFWA7RLksWdg==} + undici@6.19.7: + resolution: {integrity: sha512-HR3W/bMGPSr90i8AAp2C4DM3wChFdJPLrWYpIS++LxS8K+W535qftjt+4MyjNYHeWabMj1nvtmLIi7l++iq91A==} engines: {node: '>=18.17'} unicorn-magic@0.1.0: @@ -4795,6 +5302,14 @@ packages: engines: {node: ^18.0.0 || >=20.0.0} hasBin: true + vite-tsconfig-paths@5.0.1: + resolution: {integrity: sha512-yqwv+LstU7NwPeNqajZzLEBVpUFU6Dugtb2P84FXuvaoYA+/70l9MHE+GYfYAycVyPSDYZ7mjOFuYBRqlEpTig==} + peerDependencies: + vite: '*' + peerDependenciesMeta: + vite: + optional: true + vite@5.3.5: resolution: {integrity: sha512-MdjglKR6AQXQb9JGiS7Rc2wC6uMjcm7Go/NHNO63EwiJXfuk9PgqiP/n5IDJCziMkfw9n4Ubp7lttNwz+8ZVKA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -4823,6 +5338,37 @@ packages: terser: optional: true + vite@5.4.0: + resolution: {integrity: sha512-5xokfMX0PIiwCMCMb9ZJcMyh5wbBun0zUzKib+L65vAZ8GY9ePZMXxFrHbr/Kyll2+LSCY7xtERPpxkBDKngwg==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + sass-embedded: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + sass-embedded: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + vitepress@1.3.2: resolution: {integrity: sha512-6gvecsCuR6b1Cid4w19KQiQ02qkpgzFRqiG0v1ZBekGkrZCzsxdDD5y4WH82HRXAOhU4iZIpzA1CsWqs719rqA==} hasBin: true @@ -4920,6 +5466,14 @@ packages: which-boxed-primitive@1.0.2: resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==} + which-builtin-type@1.1.4: + resolution: {integrity: sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w==} + engines: {node: '>= 0.4'} + + which-collection@1.0.2: + resolution: {integrity: sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==} + engines: {node: '>= 0.4'} + which-typed-array@1.1.15: resolution: {integrity: sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==} engines: {node: '>= 0.4'} @@ -4979,11 +5533,6 @@ packages: yallist@4.0.0: resolution: {integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==} - yaml@2.4.5: - resolution: {integrity: sha512-aBx2bnqDzVOyNKfsysjA2ms5ZlnjSAW2eG3/L5G/CSujfjLJTJsEw1bGw8kCf04KodQWk1pxlGnZ56CRxiawmg==} - engines: {node: '>= 14'} - hasBin: true - yaml@2.5.0: resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} engines: {node: '>= 14'} @@ -5007,10 +5556,6 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.0.0: - resolution: {integrity: sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==} - engines: {node: '>=12.20'} - yocto-queue@1.1.1: resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} engines: {node: '>=12.20'} @@ -5617,12 +6162,12 @@ snapshots: '@babel/helper-validator-identifier': 7.24.7 to-fast-properties: 2.0.0 - '@commitlint/cli@19.3.0(@types/node@22.1.0)(typescript@5.4.5)': + '@commitlint/cli@19.4.0(@types/node@22.2.0)(typescript@5.4.5)': dependencies: '@commitlint/format': 19.3.0 '@commitlint/lint': 19.2.2 - '@commitlint/load': 19.2.0(@types/node@22.1.0)(typescript@5.4.5) - '@commitlint/read': 19.2.1 + '@commitlint/load': 19.4.0(@types/node@22.2.0)(typescript@5.4.5) + '@commitlint/read': 19.4.0 '@commitlint/types': 19.0.3 execa: 8.0.1 yargs: 17.7.2 @@ -5640,13 +6185,13 @@ snapshots: '@commitlint/types': 19.0.3 ajv: 8.16.0 - '@commitlint/cz-commitlint@19.2.0(@types/node@22.1.0)(commitizen@4.3.0(@types/node@22.1.0)(typescript@5.4.5))(inquirer@9.3.4)(typescript@5.4.5)': + '@commitlint/cz-commitlint@19.4.0(@types/node@22.2.0)(commitizen@4.3.0(@types/node@22.2.0)(typescript@5.4.5))(inquirer@9.3.4)(typescript@5.4.5)': dependencies: '@commitlint/ensure': 19.0.3 - '@commitlint/load': 19.2.0(@types/node@22.1.0)(typescript@5.4.5) + '@commitlint/load': 19.4.0(@types/node@22.2.0)(typescript@5.4.5) '@commitlint/types': 19.0.3 chalk: 5.3.0 - commitizen: 4.3.0(@types/node@22.1.0)(typescript@5.4.5) + commitizen: 4.3.0(@types/node@22.2.0)(typescript@5.4.5) inquirer: 9.3.4 lodash.isplainobject: 4.0.6 word-wrap: 1.2.5 @@ -5682,7 +6227,24 @@ snapshots: '@commitlint/rules': 19.0.3 '@commitlint/types': 19.0.3 - '@commitlint/load@19.2.0(@types/node@22.1.0)(typescript@5.4.5)': + '@commitlint/load@19.2.0(@types/node@22.2.0)(typescript@5.4.5)': + dependencies: + '@commitlint/config-validator': 19.0.3 + '@commitlint/execute-rule': 19.0.0 + '@commitlint/resolve-extends': 19.1.0 + '@commitlint/types': 19.0.3 + chalk: 5.3.0 + cosmiconfig: 9.0.0(typescript@5.4.5) + cosmiconfig-typescript-loader: 5.0.0(@types/node@22.2.0)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5) + lodash.isplainobject: 4.0.6 + lodash.merge: 4.6.2 + lodash.uniq: 4.5.0 + transitivePeerDependencies: + - '@types/node' + - typescript + optional: true + + '@commitlint/load@19.4.0(@types/node@22.2.0)(typescript@5.4.5)': dependencies: '@commitlint/config-validator': 19.0.3 '@commitlint/execute-rule': 19.0.0 @@ -5690,7 +6252,7 @@ snapshots: '@commitlint/types': 19.0.3 chalk: 5.3.0 cosmiconfig: 9.0.0(typescript@5.4.5) - cosmiconfig-typescript-loader: 5.0.0(@types/node@22.1.0)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5) + cosmiconfig-typescript-loader: 5.0.0(@types/node@22.2.0)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5) lodash.isplainobject: 4.0.6 lodash.merge: 4.6.2 lodash.uniq: 4.5.0 @@ -5706,7 +6268,7 @@ snapshots: conventional-changelog-angular: 7.0.0 conventional-commits-parser: 5.0.0 - '@commitlint/read@19.2.1': + '@commitlint/read@19.4.0': dependencies: '@commitlint/top-level': 19.0.0 '@commitlint/types': 19.0.3 @@ -5744,9 +6306,9 @@ snapshots: '@docsearch/css@3.6.1': {} - '@docsearch/js@3.6.1(@algolia/client-search@4.24.0)(search-insights@2.15.0)': + '@docsearch/js@3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)': dependencies: - '@docsearch/react': 3.6.1(@algolia/client-search@4.24.0)(search-insights@2.15.0) + '@docsearch/react': 3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0) preact: 10.22.1 transitivePeerDependencies: - '@algolia/client-search' @@ -5755,13 +6317,16 @@ snapshots: - react-dom - search-insights - '@docsearch/react@3.6.1(@algolia/client-search@4.24.0)(search-insights@2.15.0)': + '@docsearch/react@3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)': dependencies: '@algolia/autocomplete-core': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0)(search-insights@2.15.0) '@algolia/autocomplete-preset-algolia': 1.9.3(@algolia/client-search@4.24.0)(algoliasearch@4.24.0) '@docsearch/css': 3.6.1 algoliasearch: 4.24.0 optionalDependencies: + '@types/react': 18.3.3 + react: 18.3.1 + react-dom: 18.3.1(react@18.3.1) search-insights: 2.15.0 transitivePeerDependencies: - '@algolia/client-search' @@ -5775,6 +6340,9 @@ snapshots: '@esbuild/aix-ppc64@0.23.0': optional: true + '@esbuild/android-arm64@0.18.20': + optional: true + '@esbuild/android-arm64@0.20.2': optional: true @@ -5784,6 +6352,9 @@ snapshots: '@esbuild/android-arm64@0.23.0': optional: true + '@esbuild/android-arm@0.18.20': + optional: true + '@esbuild/android-arm@0.20.2': optional: true @@ -5793,6 +6364,9 @@ snapshots: '@esbuild/android-arm@0.23.0': optional: true + '@esbuild/android-x64@0.18.20': + optional: true + '@esbuild/android-x64@0.20.2': optional: true @@ -5802,6 +6376,9 @@ snapshots: '@esbuild/android-x64@0.23.0': optional: true + '@esbuild/darwin-arm64@0.18.20': + optional: true + '@esbuild/darwin-arm64@0.20.2': optional: true @@ -5811,6 +6388,9 @@ snapshots: '@esbuild/darwin-arm64@0.23.0': optional: true + '@esbuild/darwin-x64@0.18.20': + optional: true + '@esbuild/darwin-x64@0.20.2': optional: true @@ -5820,6 +6400,9 @@ snapshots: '@esbuild/darwin-x64@0.23.0': optional: true + '@esbuild/freebsd-arm64@0.18.20': + optional: true + '@esbuild/freebsd-arm64@0.20.2': optional: true @@ -5829,6 +6412,9 @@ snapshots: '@esbuild/freebsd-arm64@0.23.0': optional: true + '@esbuild/freebsd-x64@0.18.20': + optional: true + '@esbuild/freebsd-x64@0.20.2': optional: true @@ -5838,6 +6424,9 @@ snapshots: '@esbuild/freebsd-x64@0.23.0': optional: true + '@esbuild/linux-arm64@0.18.20': + optional: true + '@esbuild/linux-arm64@0.20.2': optional: true @@ -5847,6 +6436,9 @@ snapshots: '@esbuild/linux-arm64@0.23.0': optional: true + '@esbuild/linux-arm@0.18.20': + optional: true + '@esbuild/linux-arm@0.20.2': optional: true @@ -5856,6 +6448,9 @@ snapshots: '@esbuild/linux-arm@0.23.0': optional: true + '@esbuild/linux-ia32@0.18.20': + optional: true + '@esbuild/linux-ia32@0.20.2': optional: true @@ -5865,6 +6460,9 @@ snapshots: '@esbuild/linux-ia32@0.23.0': optional: true + '@esbuild/linux-loong64@0.18.20': + optional: true + '@esbuild/linux-loong64@0.20.2': optional: true @@ -5874,6 +6472,9 @@ snapshots: '@esbuild/linux-loong64@0.23.0': optional: true + '@esbuild/linux-mips64el@0.18.20': + optional: true + '@esbuild/linux-mips64el@0.20.2': optional: true @@ -5883,6 +6484,9 @@ snapshots: '@esbuild/linux-mips64el@0.23.0': optional: true + '@esbuild/linux-ppc64@0.18.20': + optional: true + '@esbuild/linux-ppc64@0.20.2': optional: true @@ -5892,6 +6496,9 @@ snapshots: '@esbuild/linux-ppc64@0.23.0': optional: true + '@esbuild/linux-riscv64@0.18.20': + optional: true + '@esbuild/linux-riscv64@0.20.2': optional: true @@ -5901,6 +6508,9 @@ snapshots: '@esbuild/linux-riscv64@0.23.0': optional: true + '@esbuild/linux-s390x@0.18.20': + optional: true + '@esbuild/linux-s390x@0.20.2': optional: true @@ -5910,6 +6520,9 @@ snapshots: '@esbuild/linux-s390x@0.23.0': optional: true + '@esbuild/linux-x64@0.18.20': + optional: true + '@esbuild/linux-x64@0.20.2': optional: true @@ -5919,6 +6532,9 @@ snapshots: '@esbuild/linux-x64@0.23.0': optional: true + '@esbuild/netbsd-x64@0.18.20': + optional: true + '@esbuild/netbsd-x64@0.20.2': optional: true @@ -5931,6 +6547,9 @@ snapshots: '@esbuild/openbsd-arm64@0.23.0': optional: true + '@esbuild/openbsd-x64@0.18.20': + optional: true + '@esbuild/openbsd-x64@0.20.2': optional: true @@ -5940,6 +6559,9 @@ snapshots: '@esbuild/openbsd-x64@0.23.0': optional: true + '@esbuild/sunos-x64@0.18.20': + optional: true + '@esbuild/sunos-x64@0.20.2': optional: true @@ -5949,6 +6571,9 @@ snapshots: '@esbuild/sunos-x64@0.23.0': optional: true + '@esbuild/win32-arm64@0.18.20': + optional: true + '@esbuild/win32-arm64@0.20.2': optional: true @@ -5958,6 +6583,9 @@ snapshots: '@esbuild/win32-arm64@0.23.0': optional: true + '@esbuild/win32-ia32@0.18.20': + optional: true + '@esbuild/win32-ia32@0.20.2': optional: true @@ -5967,6 +6595,9 @@ snapshots: '@esbuild/win32-ia32@0.23.0': optional: true + '@esbuild/win32-x64@0.18.20': + optional: true + '@esbuild/win32-x64@0.20.2': optional: true @@ -5989,7 +6620,7 @@ snapshots: debug: 4.3.5 espree: 9.6.1 globals: 13.24.0 - ignore: 5.3.1 + ignore: 5.3.2 import-fresh: 3.3.0 js-yaml: 4.1.0 minimatch: 3.1.2 @@ -6011,7 +6642,7 @@ snapshots: '@humanwhocodes/object-schema@2.0.3': {} - '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.35)(prettier@3.3.3)': + '@ianvs/prettier-plugin-sort-imports@4.3.1(@vue/compiler-sfc@3.4.36)(prettier@3.3.3)': dependencies: '@babel/core': 7.24.7 '@babel/generator': 7.24.7 @@ -6021,7 +6652,7 @@ snapshots: prettier: 3.3.3 semver: 7.6.2 optionalDependencies: - '@vue/compiler-sfc': 3.4.35 + '@vue/compiler-sfc': 3.4.36 transitivePeerDependencies: - supports-color @@ -6056,7 +6687,7 @@ snapshots: '@antfu/install-pkg': 0.1.1 '@antfu/utils': 0.7.10 '@iconify/types': 2.0.0 - debug: 4.3.5 + debug: 4.3.6 kolorist: 1.8.0 local-pkg: 0.5.0 mlly: 1.7.1 @@ -6093,11 +6724,11 @@ snapshots: '@jridgewell/resolve-uri': 3.1.1 '@jridgewell/sourcemap-codec': 1.4.15 - '@langchain/anthropic@0.2.12(langchain@0.2.12)(openai@4.52.3)': + '@langchain/anthropic@0.2.14(langchain@0.2.15)(openai@4.55.4(zod@3.23.8))': dependencies: '@anthropic-ai/sdk': 0.22.0 - '@langchain/core': 0.2.20(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3) - fast-xml-parser: 4.4.0 + '@langchain/core': 0.2.23(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)) + fast-xml-parser: 4.4.1 zod: 3.23.8 zod-to-json-schema: 3.22.5(zod@3.23.8) transitivePeerDependencies: @@ -6105,13 +6736,13 @@ snapshots: - langchain - openai - '@langchain/core@0.2.20(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3)': + '@langchain/core@0.2.23(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8))': dependencies: ansi-styles: 5.2.0 camelcase: 6.3.0 decamelize: 1.2.0 js-tiktoken: 1.0.12 - langsmith: 0.1.39(@langchain/core@0.2.20(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3))(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3) + langsmith: 0.1.39(@langchain/core@0.2.23(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)))(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)) mustache: 4.2.0 p-queue: 6.6.2 p-retry: 4.6.2 @@ -6122,25 +6753,44 @@ snapshots: - langchain - openai - '@langchain/openai@0.2.5(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))': + '@langchain/openai@0.2.6(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))': dependencies: - '@langchain/core': 0.2.20(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3) + '@langchain/core': 0.2.23(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)) js-tiktoken: 1.0.12 - openai: 4.52.3 + openai: 4.55.4(zod@3.23.8) zod: 3.23.8 zod-to-json-schema: 3.22.5(zod@3.23.8) transitivePeerDependencies: - encoding - langchain - '@langchain/textsplitters@0.0.3(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3)': + '@langchain/textsplitters@0.0.3(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8))': dependencies: - '@langchain/core': 0.2.20(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3) + '@langchain/core': 0.2.23(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)) js-tiktoken: 1.0.12 transitivePeerDependencies: - langchain - openai + '@microsoft/fast-element@1.13.0': {} + + '@microsoft/fast-foundation@2.49.6': + dependencies: + '@microsoft/fast-element': 1.13.0 + '@microsoft/fast-web-utilities': 5.4.1 + tabbable: 5.3.3 + tslib: 1.14.1 + + '@microsoft/fast-react-wrapper@0.3.24(react@18.3.1)': + dependencies: + '@microsoft/fast-element': 1.13.0 + '@microsoft/fast-foundation': 2.49.6 + react: 18.3.1 + + '@microsoft/fast-web-utilities@5.4.1': + dependencies: + exenv-es6: 1.1.1 + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -6157,11 +6807,11 @@ snapshots: dependencies: markdown-it: 14.1.0 - '@nolebase/ui@2.4.0(@algolia/client-search@4.24.0)(@types/node@22.1.0)(postcss@8.4.40)(search-insights@2.15.0)(typescript@5.4.5)': + '@nolebase/ui@2.4.0(@algolia/client-search@4.24.0)(@types/node@22.2.0)(@types/react@18.3.3)(postcss@8.4.40)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.4.5)': dependencies: '@iconify-json/octicon': 1.1.56 less: 4.2.0 - vitepress: 1.3.2(@algolia/client-search@4.24.0)(@types/node@22.1.0)(less@4.2.0)(postcss@8.4.40)(search-insights@2.15.0)(typescript@5.4.5) + vitepress: 1.3.2(@algolia/client-search@4.24.0)(@types/node@22.2.0)(@types/react@18.3.3)(less@4.2.0)(postcss@8.4.40)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.4.5) vue: 3.4.36(typescript@5.4.5) transitivePeerDependencies: - '@algolia/client-search' @@ -6191,17 +6841,17 @@ snapshots: - typescript - universal-cookie - '@nolebase/vitepress-plugin-inline-link-preview@2.4.0(@algolia/client-search@4.24.0)(@types/node@22.1.0)(postcss@8.4.40)(search-insights@2.15.0)(typescript@5.4.5)': + '@nolebase/vitepress-plugin-inline-link-preview@2.4.0(@algolia/client-search@4.24.0)(@types/node@22.2.0)(@types/react@18.3.3)(postcss@8.4.40)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.4.5)': dependencies: '@iconify-json/icon-park-outline': 1.1.15 '@iconify-json/octicon': 1.1.56 '@iconify-json/svg-spinners': 1.1.2 '@nolebase/markdown-it-element-transform': 2.4.0(markdown-it@14.1.0) - '@nolebase/ui': 2.4.0(@algolia/client-search@4.24.0)(@types/node@22.1.0)(postcss@8.4.40)(search-insights@2.15.0)(typescript@5.4.5) + '@nolebase/ui': 2.4.0(@algolia/client-search@4.24.0)(@types/node@22.2.0)(@types/react@18.3.3)(postcss@8.4.40)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.4.5) less: 4.2.0 markdown-it: 14.1.0 markdown-it-attrs: 4.1.6(markdown-it@14.1.0) - vitepress: 1.3.2(@algolia/client-search@4.24.0)(@types/node@22.1.0)(less@4.2.0)(postcss@8.4.40)(search-insights@2.15.0)(typescript@5.4.5) + vitepress: 1.3.2(@algolia/client-search@4.24.0)(@types/node@22.2.0)(@types/react@18.3.3)(less@4.2.0)(postcss@8.4.40)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.4.5) transitivePeerDependencies: - '@algolia/client-search' - '@types/node' @@ -6308,12 +6958,84 @@ snapshots: '@snyk/github-codeowners@1.1.0': dependencies: commander: 4.1.1 - ignore: 5.3.1 + ignore: 5.3.2 p-map: 4.0.0 + '@swc/core-darwin-arm64@1.7.10': + optional: true + + '@swc/core-darwin-x64@1.7.10': + optional: true + + '@swc/core-linux-arm-gnueabihf@1.7.10': + optional: true + + '@swc/core-linux-arm64-gnu@1.7.10': + optional: true + + '@swc/core-linux-arm64-musl@1.7.10': + optional: true + + '@swc/core-linux-x64-gnu@1.7.10': + optional: true + + '@swc/core-linux-x64-musl@1.7.10': + optional: true + + '@swc/core-win32-arm64-msvc@1.7.10': + optional: true + + '@swc/core-win32-ia32-msvc@1.7.10': + optional: true + + '@swc/core-win32-x64-msvc@1.7.10': + optional: true + + '@swc/core@1.7.10': + dependencies: + '@swc/counter': 0.1.3 + '@swc/types': 0.1.12 + optionalDependencies: + '@swc/core-darwin-arm64': 1.7.10 + '@swc/core-darwin-x64': 1.7.10 + '@swc/core-linux-arm-gnueabihf': 1.7.10 + '@swc/core-linux-arm64-gnu': 1.7.10 + '@swc/core-linux-arm64-musl': 1.7.10 + '@swc/core-linux-x64-gnu': 1.7.10 + '@swc/core-linux-x64-musl': 1.7.10 + '@swc/core-win32-arm64-msvc': 1.7.10 + '@swc/core-win32-ia32-msvc': 1.7.10 + '@swc/core-win32-x64-msvc': 1.7.10 + + '@swc/counter@0.1.3': {} + + '@swc/types@0.1.12': + dependencies: + '@swc/counter': 0.1.3 + + '@tomjs/node@2.2.3': {} + + '@tomjs/vite-plugin-vscode@2.5.5(@swc/core@1.7.10)(postcss@8.4.40)(typescript@5.4.5)(vite@5.4.0(@types/node@22.2.0)(less@4.2.0))': + dependencies: + '@tomjs/node': 2.2.3 + dayjs: 1.11.12 + execa: 5.1.1 + kolorist: 1.8.0 + lodash.clonedeep: 4.5.0 + lodash.merge: 4.6.2 + node-html-parser: 6.1.13 + tsup: 7.2.0(@swc/core@1.7.10)(postcss@8.4.40)(typescript@5.4.5) + vite: 5.4.0(@types/node@22.2.0)(less@4.2.0) + transitivePeerDependencies: + - '@swc/core' + - postcss + - supports-color + - ts-node + - typescript + '@types/conventional-commits-parser@5.0.0': dependencies: - '@types/node': 22.1.0 + '@types/node': 22.2.0 '@types/eslint@8.56.10': dependencies: @@ -6326,7 +7048,7 @@ snapshots: '@types/fs-extra@11.0.4': dependencies: '@types/jsonfile': 6.1.4 - '@types/node': 22.1.0 + '@types/node': 22.2.0 '@types/global-agent@2.1.3': {} @@ -6341,7 +7063,7 @@ snapshots: '@types/jsonfile@6.1.4': dependencies: - '@types/node': 22.1.0 + '@types/node': 22.2.0 '@types/linkify-it@5.0.0': {} @@ -6354,17 +7076,28 @@ snapshots: '@types/node-fetch@2.6.11': dependencies: - '@types/node': 22.1.0 + '@types/node': 22.2.0 form-data: 4.0.0 '@types/node@18.19.39': dependencies: undici-types: 5.26.5 - '@types/node@22.1.0': + '@types/node@22.2.0': dependencies: undici-types: 6.13.0 + '@types/prop-types@15.7.12': {} + + '@types/react-dom@18.3.0': + dependencies: + '@types/react': 18.3.3 + + '@types/react@18.3.3': + dependencies: + '@types/prop-types': 15.7.12 + csstype: 3.1.3 + '@types/retry@0.12.0': {} '@types/shell-quote@1.7.5': {} @@ -6373,6 +7106,8 @@ snapshots: '@types/uuid@9.0.8': {} + '@types/vscode-webview@1.57.5': {} + '@types/vscode@1.82.0': {} '@types/web-bluetooth@0.0.20': {} @@ -6387,7 +7122,7 @@ snapshots: '@typescript-eslint/visitor-keys': 7.18.0 eslint: 8.57.0 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 natural-compare: 1.4.0 ts-api-utils: 1.3.0(typescript@5.4.5) optionalDependencies: @@ -6460,13 +7195,13 @@ snapshots: '@ungap/structured-clone@1.2.0': {} - '@unocss/astro@0.61.9(rollup@4.19.0)(vite@5.3.5(@types/node@22.1.0)(less@4.2.0))': + '@unocss/astro@0.61.9(rollup@4.19.0)(vite@5.3.5(@types/node@22.2.0)(less@4.2.0))': dependencies: '@unocss/core': 0.61.9 '@unocss/reset': 0.61.9 - '@unocss/vite': 0.61.9(rollup@4.19.0)(vite@5.3.5(@types/node@22.1.0)(less@4.2.0)) + '@unocss/vite': 0.61.9(rollup@4.19.0)(vite@5.3.5(@types/node@22.2.0)(less@4.2.0)) optionalDependencies: - vite: 5.3.5(@types/node@22.1.0)(less@4.2.0) + vite: 5.3.5(@types/node@22.2.0)(less@4.2.0) transitivePeerDependencies: - rollup - supports-color @@ -6603,7 +7338,7 @@ snapshots: dependencies: '@unocss/core': 0.61.9 - '@unocss/vite@0.61.9(rollup@4.19.0)(vite@5.3.5(@types/node@22.1.0)(less@4.2.0))': + '@unocss/vite@0.61.9(rollup@4.19.0)(vite@5.3.5(@types/node@22.2.0)(less@4.2.0))': dependencies: '@ampproject/remapping': 2.3.0 '@rollup/pluginutils': 5.1.0(rollup@4.19.0) @@ -6615,14 +7350,21 @@ snapshots: chokidar: 3.6.0 fast-glob: 3.3.2 magic-string: 0.30.11 - vite: 5.3.5(@types/node@22.1.0)(less@4.2.0) + vite: 5.3.5(@types/node@22.2.0)(less@4.2.0) transitivePeerDependencies: - rollup - supports-color - '@vitejs/plugin-vue@5.0.5(vite@5.3.5(@types/node@22.1.0)(less@4.2.0))(vue@3.4.36(typescript@5.4.5))': + '@vitejs/plugin-react-swc@3.7.0(vite@5.4.0(@types/node@22.2.0)(less@4.2.0))': + dependencies: + '@swc/core': 1.7.10 + vite: 5.4.0(@types/node@22.2.0)(less@4.2.0) + transitivePeerDependencies: + - '@swc/helpers' + + '@vitejs/plugin-vue@5.0.5(vite@5.3.5(@types/node@22.2.0)(less@4.2.0))(vue@3.4.36(typescript@5.4.5))': dependencies: - vite: 5.3.5(@types/node@22.1.0)(less@4.2.0) + vite: 5.3.5(@types/node@22.2.0)(less@4.2.0) vue: 3.4.36(typescript@5.4.5) '@vitest/expect@2.0.5': @@ -6728,14 +7470,13 @@ snapshots: transitivePeerDependencies: - supports-color - '@vue/compiler-core@3.4.35': + '@vscode/webview-ui-toolkit@1.4.0(react@18.3.1)': dependencies: - '@babel/parser': 7.25.3 - '@vue/shared': 3.4.35 - entities: 4.5.0 - estree-walker: 2.0.2 - source-map-js: 1.2.0 - optional: true + '@microsoft/fast-element': 1.13.0 + '@microsoft/fast-foundation': 2.49.6 + '@microsoft/fast-react-wrapper': 0.3.24(react@18.3.1) + react: 18.3.1 + tslib: 2.6.2 '@vue/compiler-core@3.4.36': dependencies: @@ -6745,30 +7486,11 @@ snapshots: estree-walker: 2.0.2 source-map-js: 1.2.0 - '@vue/compiler-dom@3.4.35': - dependencies: - '@vue/compiler-core': 3.4.35 - '@vue/shared': 3.4.35 - optional: true - '@vue/compiler-dom@3.4.36': dependencies: '@vue/compiler-core': 3.4.36 '@vue/shared': 3.4.36 - '@vue/compiler-sfc@3.4.35': - dependencies: - '@babel/parser': 7.25.3 - '@vue/compiler-core': 3.4.35 - '@vue/compiler-dom': 3.4.35 - '@vue/compiler-ssr': 3.4.35 - '@vue/shared': 3.4.35 - estree-walker: 2.0.2 - magic-string: 0.30.11 - postcss: 8.4.40 - source-map-js: 1.2.0 - optional: true - '@vue/compiler-sfc@3.4.36': dependencies: '@babel/parser': 7.25.3 @@ -6781,12 +7503,6 @@ snapshots: postcss: 8.4.40 source-map-js: 1.2.0 - '@vue/compiler-ssr@3.4.35': - dependencies: - '@vue/compiler-dom': 3.4.35 - '@vue/shared': 3.4.35 - optional: true - '@vue/compiler-ssr@3.4.36': dependencies: '@vue/compiler-dom': 3.4.36 @@ -6967,6 +7683,10 @@ snapshots: argparse@2.0.1: {} + aria-query@5.1.3: + dependencies: + deep-equal: 2.2.3 + array-buffer-byte-length@1.0.1: dependencies: call-bind: 1.0.7 @@ -6985,6 +7705,15 @@ snapshots: array-union@2.1.0: {} + array.prototype.findlast@1.2.5: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + es-shim-unscopables: 1.0.2 + array.prototype.findlastindex@1.2.5: dependencies: call-bind: 1.0.7 @@ -7008,6 +7737,14 @@ snapshots: es-abstract: 1.23.3 es-shim-unscopables: 1.0.2 + array.prototype.tosorted@1.1.4: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-shim-unscopables: 1.0.2 + arraybuffer.prototype.slice@1.0.3: dependencies: array-buffer-byte-length: 1.0.1 @@ -7021,6 +7758,8 @@ snapshots: assertion-error@2.0.1: {} + ast-types-flow@0.0.8: {} + asynckit@0.4.0: {} at-least-node@1.0.0: {} @@ -7029,6 +7768,12 @@ snapshots: dependencies: possible-typed-array-names: 1.0.0 + axe-core@4.10.0: {} + + axobject-query@3.1.1: + dependencies: + deep-equal: 2.2.3 + azure-devops-node-api@12.5.0: dependencies: tunnel: 0.0.6 @@ -7040,8 +7785,6 @@ snapshots: binary-extensions@2.2.0: {} - binary-search@1.3.6: {} - birpc@0.2.17: {} bl@4.1.0: @@ -7096,6 +7839,11 @@ snapshots: base64-js: 1.5.1 ieee754: 1.2.1 + bundle-require@4.2.1(esbuild@0.18.20): + dependencies: + esbuild: 0.18.20 + load-tsconfig: 0.2.5 + bundle-require@5.0.0(esbuild@0.23.0): dependencies: esbuild: 0.23.0 @@ -7243,10 +7991,10 @@ snapshots: commander@6.2.1: {} - commitizen@4.3.0(@types/node@22.1.0)(typescript@5.4.5): + commitizen@4.3.0(@types/node@22.2.0)(typescript@5.4.5): dependencies: cachedir: 2.3.0 - cz-conventional-changelog: 3.3.0(@types/node@22.1.0)(typescript@5.4.5) + cz-conventional-changelog: 3.3.0(@types/node@22.2.0)(typescript@5.4.5) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 @@ -7305,9 +8053,9 @@ snapshots: core-js@3.37.1: {} - cosmiconfig-typescript-loader@5.0.0(@types/node@22.1.0)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5): + cosmiconfig-typescript-loader@5.0.0(@types/node@22.2.0)(cosmiconfig@9.0.0(typescript@5.4.5))(typescript@5.4.5): dependencies: - '@types/node': 22.1.0 + '@types/node': 22.2.0 cosmiconfig: 9.0.0(typescript@5.4.5) jiti: 1.21.6 typescript: 5.4.5 @@ -7344,20 +8092,22 @@ snapshots: csstype@3.1.3: {} - cz-conventional-changelog@3.3.0(@types/node@22.1.0)(typescript@5.4.5): + cz-conventional-changelog@3.3.0(@types/node@22.2.0)(typescript@5.4.5): dependencies: chalk: 2.4.2 - commitizen: 4.3.0(@types/node@22.1.0)(typescript@5.4.5) + commitizen: 4.3.0(@types/node@22.2.0)(typescript@5.4.5) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - '@commitlint/load': 19.2.0(@types/node@22.1.0)(typescript@5.4.5) + '@commitlint/load': 19.2.0(@types/node@22.2.0)(typescript@5.4.5) transitivePeerDependencies: - '@types/node' - typescript + damerau-levenshtein@1.0.8: {} + dargs@8.1.0: {} data-uri-to-buffer@4.0.1: {} @@ -7380,6 +8130,8 @@ snapshots: es-errors: 1.3.0 is-data-view: 1.0.1 + dayjs@1.11.12: {} + debug@3.2.7: dependencies: ms: 2.1.3 @@ -7407,6 +8159,27 @@ snapshots: deep-eql@5.0.2: {} + deep-equal@2.2.3: + dependencies: + array-buffer-byte-length: 1.0.1 + call-bind: 1.0.7 + es-get-iterator: 1.1.3 + get-intrinsic: 1.2.4 + is-arguments: 1.1.1 + is-array-buffer: 3.0.4 + is-date-object: 1.0.5 + is-regex: 1.1.4 + is-shared-array-buffer: 1.0.3 + isarray: 2.0.5 + object-is: 1.1.6 + object-keys: 1.1.1 + object.assign: 4.1.5 + regexp.prototype.flags: 1.5.2 + side-channel: 1.0.6 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.2 + which-typed-array: 1.1.15 + deep-extend@0.6.0: optional: true @@ -7521,6 +8294,11 @@ snapshots: graceful-fs: 4.2.11 tapable: 2.2.1 + enhanced-resolve@5.17.1: + dependencies: + graceful-fs: 4.2.11 + tapable: 2.2.1 + entities@2.1.0: {} entities@4.5.0: {} @@ -7595,6 +8373,35 @@ snapshots: es-errors@1.3.0: {} + es-get-iterator@1.1.3: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.3 + is-set: 2.0.3 + is-string: 1.0.7 + isarray: 2.0.5 + stop-iteration-iterator: 1.0.0 + + es-iterator-helpers@1.0.19: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-set-tostringtag: 2.0.3 + function-bind: 1.1.2 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + has-property-descriptors: 1.0.2 + has-proto: 1.0.3 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + iterator.prototype: 1.1.2 + safe-array-concat: 1.1.2 + es-object-atoms@1.0.0: dependencies: es-errors: 1.3.0 @@ -7617,6 +8424,31 @@ snapshots: es6-error@4.1.1: {} + esbuild@0.18.20: + optionalDependencies: + '@esbuild/android-arm': 0.18.20 + '@esbuild/android-arm64': 0.18.20 + '@esbuild/android-x64': 0.18.20 + '@esbuild/darwin-arm64': 0.18.20 + '@esbuild/darwin-x64': 0.18.20 + '@esbuild/freebsd-arm64': 0.18.20 + '@esbuild/freebsd-x64': 0.18.20 + '@esbuild/linux-arm': 0.18.20 + '@esbuild/linux-arm64': 0.18.20 + '@esbuild/linux-ia32': 0.18.20 + '@esbuild/linux-loong64': 0.18.20 + '@esbuild/linux-mips64el': 0.18.20 + '@esbuild/linux-ppc64': 0.18.20 + '@esbuild/linux-riscv64': 0.18.20 + '@esbuild/linux-s390x': 0.18.20 + '@esbuild/linux-x64': 0.18.20 + '@esbuild/netbsd-x64': 0.18.20 + '@esbuild/openbsd-x64': 0.18.20 + '@esbuild/sunos-x64': 0.18.20 + '@esbuild/win32-arm64': 0.18.20 + '@esbuild/win32-ia32': 0.18.20 + '@esbuild/win32-x64': 0.18.20 + esbuild@0.20.2: optionalDependencies: '@esbuild/aix-ppc64': 0.20.2 @@ -7720,6 +8552,17 @@ snapshots: transitivePeerDependencies: - eslint-plugin-import + eslint-config-airbnb@19.0.4(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0))(eslint-plugin-jsx-a11y@6.9.0(eslint@8.57.0))(eslint-plugin-react-hooks@4.6.2(eslint@8.57.0))(eslint-plugin-react@7.35.0(eslint@8.57.0))(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.18.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint@8.57.0) + eslint-plugin-jsx-a11y: 6.9.0(eslint@8.57.0) + eslint-plugin-react: 7.35.0(eslint@8.57.0) + eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) + object.assign: 4.1.5 + object.entries: 1.1.8 + eslint-config-prettier@9.1.0(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -7791,11 +8634,31 @@ snapshots: - eslint-import-resolver-webpack - supports-color - eslint-plugin-json@4.0.0: + eslint-plugin-json@4.0.1: dependencies: lodash: 4.17.21 vscode-json-languageservice: 4.2.1 + eslint-plugin-jsx-a11y@6.9.0(eslint@8.57.0): + dependencies: + aria-query: 5.1.3 + array-includes: 3.1.8 + array.prototype.flatmap: 1.3.2 + ast-types-flow: 0.0.8 + axe-core: 4.10.0 + axobject-query: 3.1.1 + damerau-levenshtein: 1.0.8 + emoji-regex: 9.2.2 + es-iterator-helpers: 1.0.19 + eslint: 8.57.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + language-tags: 1.0.9 + minimatch: 3.1.2 + object.fromentries: 2.0.8 + safe-regex-test: 1.0.3 + string.prototype.includes: 2.0.0 + eslint-plugin-prettier@5.2.1(@types/eslint@8.56.10)(eslint-config-prettier@9.1.0(eslint@8.57.0))(eslint@8.57.0)(prettier@3.3.3): dependencies: eslint: 8.57.0 @@ -7806,6 +8669,32 @@ snapshots: '@types/eslint': 8.56.10 eslint-config-prettier: 9.1.0(eslint@8.57.0) + eslint-plugin-react-hooks@4.6.2(eslint@8.57.0): + dependencies: + eslint: 8.57.0 + + eslint-plugin-react@7.35.0(eslint@8.57.0): + dependencies: + array-includes: 3.1.8 + array.prototype.findlast: 1.2.5 + array.prototype.flatmap: 1.3.2 + array.prototype.tosorted: 1.1.4 + doctrine: 2.1.0 + es-iterator-helpers: 1.0.19 + eslint: 8.57.0 + estraverse: 5.3.0 + hasown: 2.0.2 + jsx-ast-utils: 3.3.5 + minimatch: 3.1.2 + object.entries: 1.1.8 + object.fromentries: 2.0.8 + object.values: 1.2.0 + prop-types: 15.8.1 + resolve: 2.0.0-next.5 + semver: 6.3.1 + string.prototype.matchall: 4.0.11 + string.prototype.repeat: 1.0.0 + eslint-plugin-simple-import-sort@12.1.1(eslint@8.57.0): dependencies: eslint: 8.57.0 @@ -7853,7 +8742,7 @@ snapshots: glob-parent: 6.0.2 globals: 13.24.0 graphemer: 1.4.0 - ignore: 5.3.1 + ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 is-path-inside: 3.0.3 @@ -7924,7 +8813,7 @@ snapshots: human-signals: 5.0.0 is-stream: 3.0.0 merge-stream: 2.0.0 - npm-run-path: 5.1.0 + npm-run-path: 5.3.0 onetime: 6.0.0 signal-exit: 4.1.0 strip-final-newline: 3.0.0 @@ -7944,6 +8833,8 @@ snapshots: strip-final-newline: 4.0.0 yoctocolors: 2.1.0 + exenv-es6@1.1.1: {} + expand-template@2.0.3: optional: true @@ -7973,7 +8864,7 @@ snapshots: fast-levenshtein@2.0.6: {} - fast-xml-parser@4.4.0: + fast-xml-parser@4.4.1: dependencies: strnum: 1.0.5 @@ -8237,10 +9128,12 @@ snapshots: array-union: 2.1.0 dir-glob: 3.0.1 fast-glob: 3.3.2 - ignore: 5.3.1 + ignore: 5.3.2 merge2: 1.4.1 slash: 3.0.0 + globrex@0.1.2: {} + gopd@1.0.1: dependencies: get-intrinsic: 1.2.4 @@ -8285,6 +9178,8 @@ snapshots: dependencies: function-bind: 1.1.2 + he@1.2.0: {} + homedir-polyfill@1.0.3: dependencies: parse-passwd: 1.0.0 @@ -8339,7 +9234,7 @@ snapshots: ieee754@1.2.1: {} - ignore@5.3.1: {} + ignore@5.3.2: {} image-size@0.5.5: optional: true @@ -8418,7 +9313,10 @@ snapshots: hasown: 2.0.2 side-channel: 1.0.4 - is-any-array@2.0.1: {} + is-arguments@1.1.1: + dependencies: + call-bind: 1.0.7 + has-tostringtag: 1.0.2 is-array-buffer@3.0.4: dependencies: @@ -8427,6 +9325,10 @@ snapshots: is-arrayish@0.2.1: {} + is-async-function@2.0.0: + dependencies: + has-tostringtag: 1.0.2 + is-bigint@1.0.4: dependencies: has-bigints: 1.0.2 @@ -8458,6 +9360,10 @@ snapshots: is-extglob@2.1.1: {} + is-finalizationregistry@1.0.2: + dependencies: + call-bind: 1.0.7 + is-fullwidth-code-point@3.0.0: {} is-fullwidth-code-point@4.0.0: {} @@ -8466,12 +9372,18 @@ snapshots: dependencies: get-east-asian-width: 1.2.0 + is-generator-function@1.0.10: + dependencies: + has-tostringtag: 1.0.2 + is-glob@4.0.3: dependencies: is-extglob: 2.1.1 is-interactive@1.0.0: {} + is-map@2.0.3: {} + is-negative-zero@2.0.3: {} is-number-object@1.0.7: @@ -8491,6 +9403,8 @@ snapshots: call-bind: 1.0.7 has-tostringtag: 1.0.2 + is-set@2.0.3: {} + is-shared-array-buffer@1.0.3: dependencies: call-bind: 1.0.7 @@ -8523,10 +9437,17 @@ snapshots: is-utf8@0.2.1: {} + is-weakmap@2.0.2: {} + is-weakref@1.0.2: dependencies: call-bind: 1.0.7 + is-weakset@2.0.3: + dependencies: + call-bind: 1.0.7 + get-intrinsic: 1.2.4 + is-what@3.14.1: {} is-what@4.1.16: {} @@ -8541,6 +9462,14 @@ snapshots: isexe@2.0.0: {} + iterator.prototype@1.1.2: + dependencies: + define-properties: 1.2.1 + get-intrinsic: 1.2.4 + has-symbols: 1.0.3 + reflect.getprototypeof: 1.0.6 + set-function-name: 2.0.2 + jackspeak@3.4.0: dependencies: '@isaacs/cliui': 8.0.2 @@ -8614,6 +9543,13 @@ snapshots: ms: 2.1.3 semver: 7.6.2 + jsx-ast-utils@3.3.5: + dependencies: + array-includes: 3.1.8 + array.prototype.flat: 1.3.2 + object.assign: 4.1.5 + object.values: 1.2.0 + jwa@1.4.1: dependencies: buffer-equal-constant-time: 1.0.1 @@ -8646,12 +9582,13 @@ snapshots: dependencies: json-buffer: 3.0.1 - knip@5.27.0(@types/node@22.1.0)(typescript@5.4.5): + knip@5.27.2(@types/node@22.2.0)(typescript@5.4.5): dependencies: '@nodelib/fs.walk': 1.2.8 '@snyk/github-codeowners': 1.1.0 - '@types/node': 22.1.0 + '@types/node': 22.2.0 easy-table: 1.2.0 + enhanced-resolve: 5.17.1 fast-glob: 3.3.2 jiti: 1.21.6 js-yaml: 4.1.0 @@ -8659,7 +9596,6 @@ snapshots: picocolors: 1.0.1 picomatch: 4.0.2 pretty-ms: 9.0.0 - resolve: 1.22.8 smol-toml: 1.2.2 strip-json-comments: 5.0.1 summary: 2.1.0 @@ -8669,47 +9605,61 @@ snapshots: kolorist@1.8.0: {} - langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1): + langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1): dependencies: - '@langchain/core': 0.2.20(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3) - '@langchain/openai': 0.2.5(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1)) - '@langchain/textsplitters': 0.0.3(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3) + '@langchain/core': 0.2.23(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)) + '@langchain/openai': 0.2.6(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1)) + '@langchain/textsplitters': 0.0.3(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)) binary-extensions: 2.2.0 js-tiktoken: 1.0.12 js-yaml: 4.1.0 jsonpointer: 5.0.1 - langchainhub: 0.0.11 - langsmith: 0.1.39(@langchain/core@0.2.20(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3))(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3) - ml-distance: 4.0.1 + langsmith: 0.1.41(@langchain/core@0.2.23(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)))(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)) openapi-types: 12.1.3 p-retry: 4.6.2 uuid: 10.0.0 - yaml: 2.4.5 + yaml: 2.5.0 zod: 3.23.8 zod-to-json-schema: 3.22.5(zod@3.23.8) optionalDependencies: - '@langchain/anthropic': 0.2.12(langchain@0.2.12)(openai@4.52.3) - cheerio: 1.0.0-rc.12 - fast-xml-parser: 4.4.0 - ignore: 5.3.1 + '@langchain/anthropic': 0.2.14(langchain@0.2.15)(openai@4.55.4(zod@3.23.8)) + fast-xml-parser: 4.4.1 + ignore: 5.3.2 playwright: 1.45.1 transitivePeerDependencies: - encoding - openai - langchainhub@0.0.11: {} + langsmith@0.1.39(@langchain/core@0.2.23(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)))(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)): + dependencies: + '@types/uuid': 9.0.8 + commander: 10.0.1 + p-queue: 6.6.2 + p-retry: 4.6.2 + uuid: 9.0.1 + optionalDependencies: + '@langchain/core': 0.2.23(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)) + langchain: 0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1) + openai: 4.55.4(zod@3.23.8) - langsmith@0.1.39(@langchain/core@0.2.20(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3))(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3): + langsmith@0.1.41(@langchain/core@0.2.23(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)))(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)): dependencies: '@types/uuid': 9.0.8 commander: 10.0.1 p-queue: 6.6.2 p-retry: 4.6.2 + semver: 7.6.3 uuid: 9.0.1 optionalDependencies: - '@langchain/core': 0.2.20(langchain@0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1))(openai@4.52.3) - langchain: 0.2.12(@langchain/anthropic@0.2.12)(cheerio@1.0.0-rc.12)(fast-xml-parser@4.4.0)(ignore@5.3.1)(openai@4.52.3)(playwright@1.45.1) - openai: 4.52.3 + '@langchain/core': 0.2.23(langchain@0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1))(openai@4.55.4(zod@3.23.8)) + langchain: 0.2.15(@langchain/anthropic@0.2.14)(fast-xml-parser@4.4.1)(ignore@5.3.2)(openai@4.55.4(zod@3.23.8))(playwright@1.45.1) + openai: 4.55.4(zod@3.23.8) + + language-subtag-registry@0.3.23: {} + + language-tags@1.0.9: + dependencies: + language-subtag-registry: 0.3.23 less@4.2.0: dependencies: @@ -8785,6 +9735,8 @@ snapshots: lodash.camelcase@4.3.0: {} + lodash.clonedeep@4.5.0: {} + lodash.includes@4.3.0: {} lodash.isboolean@3.0.3: {} @@ -8834,6 +9786,10 @@ snapshots: longest@2.0.1: {} + loose-envify@1.4.0: + dependencies: + js-tokens: 4.0.0 + loupe@3.1.1: dependencies: get-func-name: 2.0.2 @@ -8961,27 +9917,6 @@ snapshots: mkdirp-classic@0.5.3: optional: true - ml-array-mean@1.1.6: - dependencies: - ml-array-sum: 1.1.6 - - ml-array-sum@1.1.6: - dependencies: - is-any-array: 2.0.1 - - ml-distance-euclidean@2.0.0: {} - - ml-distance@4.0.1: - dependencies: - ml-array-mean: 1.1.6 - ml-distance-euclidean: 2.0.0 - ml-tree-similarity: 1.0.0 - - ml-tree-similarity@1.0.0: - dependencies: - binary-search: 1.3.6 - num-sort: 2.1.0 - mlly@1.7.1: dependencies: acorn: 8.11.3 @@ -9042,6 +9977,11 @@ snapshots: fetch-blob: 3.2.0 formdata-polyfill: 4.0.10 + node-html-parser@6.1.13: + dependencies: + css-select: 5.1.0 + he: 1.2.0 + node-releases@2.0.14: {} normalize-path@3.0.0: {} @@ -9050,10 +9990,6 @@ snapshots: dependencies: path-key: 3.1.1 - npm-run-path@5.1.0: - dependencies: - path-key: 4.0.0 - npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -9062,12 +9998,15 @@ snapshots: dependencies: boolbase: 1.0.0 - num-sort@2.1.0: {} - object-assign@4.1.1: {} object-inspect@1.13.1: {} + object-is@1.1.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + object-keys@1.1.1: {} object.assign@4.1.5: @@ -9130,7 +10069,7 @@ snapshots: is-docker: 2.2.1 is-wsl: 2.2.0 - openai@4.52.3: + openai@4.55.4(zod@3.23.8): dependencies: '@types/node': 18.19.39 '@types/node-fetch': 2.6.11 @@ -9139,7 +10078,8 @@ snapshots: form-data-encoder: 1.7.2 formdata-node: 4.4.1 node-fetch: 2.7.0 - web-streams-polyfill: 3.3.3 + optionalDependencies: + zod: 3.23.8 transitivePeerDependencies: - encoding @@ -9176,7 +10116,7 @@ snapshots: p-limit@4.0.0: dependencies: - yocto-queue: 1.0.0 + yocto-queue: 1.1.1 p-limit@6.1.0: dependencies: @@ -9301,10 +10241,17 @@ snapshots: fsevents: 2.3.2 optional: true - pnpm@9.6.0: {} + pnpm@9.7.0: {} possible-typed-array-names@1.0.0: {} + postcss-load-config@4.0.2(postcss@8.4.40): + dependencies: + lilconfig: 3.1.2 + yaml: 2.5.0 + optionalDependencies: + postcss: 8.4.40 + postcss-load-config@6.0.1(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.3)(yaml@2.5.0): dependencies: lilconfig: 3.1.2 @@ -9356,6 +10303,12 @@ snapshots: dependencies: parse-ms: 4.0.0 + prop-types@15.8.1: + dependencies: + loose-envify: 1.4.0 + object-assign: 4.1.1 + react-is: 16.13.1 + prr@1.0.1: optional: true @@ -9383,6 +10336,18 @@ snapshots: strip-json-comments: 2.0.1 optional: true + react-dom@18.3.1(react@18.3.1): + dependencies: + loose-envify: 1.4.0 + react: 18.3.1 + scheduler: 0.23.2 + + react-is@16.13.1: {} + + react@18.3.1: + dependencies: + loose-envify: 1.4.0 + read@1.0.7: dependencies: mute-stream: 0.0.8 @@ -9397,6 +10362,16 @@ snapshots: dependencies: picomatch: 2.3.1 + reflect.getprototypeof@1.0.6: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + globalthis: 1.0.4 + which-builtin-type: 1.1.4 + regenerator-runtime@0.13.11: {} regenerator-runtime@0.14.1: {} @@ -9429,6 +10404,12 @@ snapshots: path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 + resolve@2.0.0-next.5: + dependencies: + is-core-module: 2.13.1 + path-parse: 1.0.7 + supports-preserve-symlinks-flag: 1.0.0 + restore-cursor@3.1.0: dependencies: onetime: 5.1.2 @@ -9463,6 +10444,10 @@ snapshots: semver-compare: 1.0.0 sprintf-js: 1.1.3 + rollup@3.29.4: + optionalDependencies: + fsevents: 2.3.3 + rollup@4.19.0: dependencies: '@types/estree': 1.0.5 @@ -9516,6 +10501,10 @@ snapshots: sax@1.3.0: {} + scheduler@0.23.2: + dependencies: + loose-envify: 1.4.0 + search-insights@2.15.0: {} semver-compare@1.0.0: {} @@ -9526,6 +10515,8 @@ snapshots: semver@7.6.2: {} + semver@7.6.3: {} + serialize-error@7.0.1: dependencies: type-fest: 0.13.1 @@ -9572,6 +10563,13 @@ snapshots: get-intrinsic: 1.2.4 object-inspect: 1.13.1 + side-channel@1.0.6: + dependencies: + call-bind: 1.0.7 + es-errors: 1.3.0 + get-intrinsic: 1.2.4 + object-inspect: 1.13.1 + siginfo@2.0.0: {} signal-exit@3.0.7: {} @@ -9631,6 +10629,10 @@ snapshots: std-env@3.7.0: {} + stop-iteration-iterator@1.0.0: + dependencies: + internal-slot: 1.0.7 + stoppable@1.1.0: {} string-argv@0.3.2: {} @@ -9653,6 +10655,31 @@ snapshots: get-east-asian-width: 1.2.0 strip-ansi: 7.1.0 + string.prototype.includes@2.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + + string.prototype.matchall@4.0.11: + dependencies: + call-bind: 1.0.7 + define-properties: 1.2.1 + es-abstract: 1.23.3 + es-errors: 1.3.0 + es-object-atoms: 1.0.0 + get-intrinsic: 1.2.4 + gopd: 1.0.1 + has-symbols: 1.0.3 + internal-slot: 1.0.7 + regexp.prototype.flags: 1.5.2 + set-function-name: 2.0.2 + side-channel: 1.0.6 + + string.prototype.repeat@1.0.0: + dependencies: + define-properties: 1.2.1 + es-abstract: 1.23.3 + string.prototype.trim@1.2.9: dependencies: call-bind: 1.0.7 @@ -9739,6 +10766,8 @@ snapshots: '@pkgr/core': 0.1.1 tslib: 2.6.2 + tabbable@5.3.3: {} + tabbable@6.2.0: {} tapable@2.2.1: {} @@ -9815,6 +10844,10 @@ snapshots: ts-interface-checker@0.1.13: {} + tsconfck@3.1.1(typescript@5.4.5): + optionalDependencies: + typescript: 5.4.5 + tsconfig-paths@3.15.0: dependencies: '@types/json5': 0.0.29 @@ -9822,9 +10855,35 @@ snapshots: minimist: 1.2.8 strip-bom: 3.0.0 + tslib@1.14.1: {} + tslib@2.6.2: {} - tsup@8.2.4(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.3)(typescript@5.4.5)(yaml@2.5.0): + tsup@7.2.0(@swc/core@1.7.10)(postcss@8.4.40)(typescript@5.4.5): + dependencies: + bundle-require: 4.2.1(esbuild@0.18.20) + cac: 6.7.14 + chokidar: 3.6.0 + debug: 4.3.6 + esbuild: 0.18.20 + execa: 5.1.1 + globby: 11.1.0 + joycon: 3.1.1 + postcss-load-config: 4.0.2(postcss@8.4.40) + resolve-from: 5.0.0 + rollup: 3.29.4 + source-map: 0.8.0-beta.0 + sucrase: 3.35.0 + tree-kill: 1.2.2 + optionalDependencies: + '@swc/core': 1.7.10 + postcss: 8.4.40 + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + - ts-node + + tsup@8.2.4(@swc/core@1.7.10)(jiti@1.21.6)(postcss@8.4.40)(tsx@4.16.3)(typescript@5.4.5)(yaml@2.5.0): dependencies: bundle-require: 5.0.0(esbuild@0.23.0) cac: 6.7.14 @@ -9843,6 +10902,7 @@ snapshots: sucrase: 3.35.0 tree-kill: 1.2.2 optionalDependencies: + '@swc/core': 1.7.10 postcss: 8.4.40 typescript: 5.4.5 transitivePeerDependencies: @@ -9951,15 +11011,15 @@ snapshots: undici-types@6.13.0: {} - undici@6.19.5: {} + undici@6.19.7: {} unicorn-magic@0.1.0: {} universalify@2.0.1: {} - unocss@0.61.9(postcss@8.4.40)(rollup@4.19.0)(vite@5.3.5(@types/node@22.1.0)(less@4.2.0)): + unocss@0.61.9(postcss@8.4.40)(rollup@4.19.0)(vite@5.3.5(@types/node@22.2.0)(less@4.2.0)): dependencies: - '@unocss/astro': 0.61.9(rollup@4.19.0)(vite@5.3.5(@types/node@22.1.0)(less@4.2.0)) + '@unocss/astro': 0.61.9(rollup@4.19.0)(vite@5.3.5(@types/node@22.2.0)(less@4.2.0)) '@unocss/cli': 0.61.9(rollup@4.19.0) '@unocss/core': 0.61.9 '@unocss/extractor-arbitrary-variants': 0.61.9 @@ -9978,9 +11038,9 @@ snapshots: '@unocss/transformer-compile-class': 0.61.9 '@unocss/transformer-directives': 0.61.9 '@unocss/transformer-variant-group': 0.61.9 - '@unocss/vite': 0.61.9(rollup@4.19.0)(vite@5.3.5(@types/node@22.1.0)(less@4.2.0)) + '@unocss/vite': 0.61.9(rollup@4.19.0)(vite@5.3.5(@types/node@22.2.0)(less@4.2.0)) optionalDependencies: - vite: 5.3.5(@types/node@22.1.0)(less@4.2.0) + vite: 5.3.5(@types/node@22.2.0)(less@4.2.0) transitivePeerDependencies: - postcss - rollup @@ -10012,41 +11072,63 @@ snapshots: uuid@9.0.1: {} - vite-node@2.0.5(@types/node@22.1.0)(less@4.2.0): + vite-node@2.0.5(@types/node@22.2.0)(less@4.2.0): dependencies: cac: 6.7.14 debug: 4.3.6 pathe: 1.1.2 tinyrainbow: 1.2.0 - vite: 5.3.5(@types/node@22.1.0)(less@4.2.0) + vite: 5.4.0(@types/node@22.2.0)(less@4.2.0) transitivePeerDependencies: - '@types/node' - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color - terser - vite@5.3.5(@types/node@22.1.0)(less@4.2.0): + vite-tsconfig-paths@5.0.1(typescript@5.4.5)(vite@5.4.0(@types/node@22.2.0)(less@4.2.0)): + dependencies: + debug: 4.3.6 + globrex: 0.1.2 + tsconfck: 3.1.1(typescript@5.4.5) + optionalDependencies: + vite: 5.4.0(@types/node@22.2.0)(less@4.2.0) + transitivePeerDependencies: + - supports-color + - typescript + + vite@5.3.5(@types/node@22.2.0)(less@4.2.0): dependencies: esbuild: 0.21.5 postcss: 8.4.39 rollup: 4.19.0 optionalDependencies: - '@types/node': 22.1.0 + '@types/node': 22.2.0 fsevents: 2.3.3 less: 4.2.0 - vitepress@1.3.2(@algolia/client-search@4.24.0)(@types/node@22.1.0)(less@4.2.0)(postcss@8.4.40)(search-insights@2.15.0)(typescript@5.4.5): + vite@5.4.0(@types/node@22.2.0)(less@4.2.0): + dependencies: + esbuild: 0.21.5 + postcss: 8.4.40 + rollup: 4.19.0 + optionalDependencies: + '@types/node': 22.2.0 + fsevents: 2.3.3 + less: 4.2.0 + + vitepress@1.3.2(@algolia/client-search@4.24.0)(@types/node@22.2.0)(@types/react@18.3.3)(less@4.2.0)(postcss@8.4.40)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0)(typescript@5.4.5): dependencies: '@docsearch/css': 3.6.1 - '@docsearch/js': 3.6.1(@algolia/client-search@4.24.0)(search-insights@2.15.0) + '@docsearch/js': 3.6.1(@algolia/client-search@4.24.0)(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(search-insights@2.15.0) '@shikijs/core': 1.10.3 '@shikijs/transformers': 1.10.3 '@types/markdown-it': 14.1.1 - '@vitejs/plugin-vue': 5.0.5(vite@5.3.5(@types/node@22.1.0)(less@4.2.0))(vue@3.4.36(typescript@5.4.5)) + '@vitejs/plugin-vue': 5.0.5(vite@5.3.5(@types/node@22.2.0)(less@4.2.0))(vue@3.4.36(typescript@5.4.5)) '@vue/devtools-api': 7.3.6 '@vue/shared': 3.4.35 '@vueuse/core': 10.11.0(vue@3.4.36(typescript@5.4.5)) @@ -10055,7 +11137,7 @@ snapshots: mark.js: 8.11.1 minisearch: 7.0.1 shiki: 1.10.3 - vite: 5.3.5(@types/node@22.1.0)(less@4.2.0) + vite: 5.3.5(@types/node@22.2.0)(less@4.2.0) vue: 3.4.36(typescript@5.4.5) optionalDependencies: postcss: 8.4.40 @@ -10086,7 +11168,7 @@ snapshots: - typescript - universal-cookie - vitest@2.0.5(@types/node@22.1.0)(less@4.2.0): + vitest@2.0.5(@types/node@22.2.0)(less@4.2.0): dependencies: '@ampproject/remapping': 2.3.0 '@vitest/expect': 2.0.5 @@ -10104,15 +11186,16 @@ snapshots: tinybench: 2.8.0 tinypool: 1.0.0 tinyrainbow: 1.2.0 - vite: 5.3.5(@types/node@22.1.0)(less@4.2.0) - vite-node: 2.0.5(@types/node@22.1.0)(less@4.2.0) + vite: 5.4.0(@types/node@22.2.0)(less@4.2.0) + vite-node: 2.0.5(@types/node@22.2.0)(less@4.2.0) why-is-node-running: 2.3.0 optionalDependencies: - '@types/node': 22.1.0 + '@types/node': 22.2.0 transitivePeerDependencies: - less - lightningcss - sass + - sass-embedded - stylus - sugarss - supports-color @@ -10179,6 +11262,28 @@ snapshots: is-string: 1.0.7 is-symbol: 1.0.4 + which-builtin-type@1.1.4: + dependencies: + function.prototype.name: 1.1.6 + has-tostringtag: 1.0.2 + is-async-function: 2.0.0 + is-date-object: 1.0.5 + is-finalizationregistry: 1.0.2 + is-generator-function: 1.0.10 + is-regex: 1.1.4 + is-weakref: 1.0.2 + isarray: 2.0.5 + which-boxed-primitive: 1.0.2 + which-collection: 1.0.2 + which-typed-array: 1.1.15 + + which-collection@1.0.2: + dependencies: + is-map: 2.0.3 + is-set: 2.0.3 + is-weakmap: 2.0.2 + is-weakset: 2.0.3 + which-typed-array@1.1.15: dependencies: available-typed-arrays: 1.0.7 @@ -10241,8 +11346,6 @@ snapshots: yallist@4.0.0: {} - yaml@2.4.5: {} - yaml@2.5.0: {} yargs-parser@21.1.1: {} @@ -10268,8 +11371,6 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.0.0: {} - yocto-queue@1.1.1: {} yoctocolors-cjs@2.1.2: {} diff --git a/res/icon-mask.png b/res/icon-mask.png new file mode 100644 index 0000000..00befbe Binary files /dev/null and b/res/icon-mask.png differ diff --git a/src/ai/aide-key-request.ts b/src/extension/ai/aide-key-request.ts similarity index 100% rename from src/ai/aide-key-request.ts rename to src/extension/ai/aide-key-request.ts diff --git a/src/ai/get-reference-file-paths.ts b/src/extension/ai/get-reference-file-paths.ts similarity index 93% rename from src/ai/get-reference-file-paths.ts rename to src/extension/ai/get-reference-file-paths.ts index b71c90c..c359165 100644 --- a/src/ai/get-reference-file-paths.ts +++ b/src/extension/ai/get-reference-file-paths.ts @@ -1,6 +1,9 @@ -import { AbortError } from '@/constants' -import { traverseFileOrFolders } from '@/file-utils/traverse-fs' -import { getCurrentWorkspaceFolderEditor, toPlatformPath } from '@/utils' +import { AbortError } from '@extension/constants' +import { traverseFileOrFolders } from '@extension/file-utils/traverse-fs' +import { + getCurrentWorkspaceFolderEditor, + toPlatformPath +} from '@extension/utils' import * as vscode from 'vscode' import { z } from 'zod' diff --git a/src/ai/helpers.ts b/src/extension/ai/helpers.ts similarity index 100% rename from src/ai/helpers.ts rename to src/extension/ai/helpers.ts diff --git a/src/ai/model-providers/azure-openai.ts b/src/extension/ai/model-providers/azure-openai.ts similarity index 94% rename from src/ai/model-providers/azure-openai.ts rename to src/extension/ai/model-providers/azure-openai.ts index 3dacc29..9d10c1d 100644 --- a/src/ai/model-providers/azure-openai.ts +++ b/src/extension/ai/model-providers/azure-openai.ts @@ -1,7 +1,7 @@ /* eslint-disable no-useless-escape */ -import { getConfigKey } from '@/config' -import { getContext } from '@/context' -import { t } from '@/i18n' +import { getConfigKey } from '@extension/config' +import { getContext } from '@extension/context' +import { t } from '@extension/i18n' import { AzureChatOpenAI, ChatOpenAI, diff --git a/src/ai/model-providers/base.ts b/src/extension/ai/model-providers/base.ts similarity index 97% rename from src/ai/model-providers/base.ts rename to src/extension/ai/model-providers/base.ts index 314f9be..afcfcf3 100644 --- a/src/ai/model-providers/base.ts +++ b/src/extension/ai/model-providers/base.ts @@ -1,5 +1,5 @@ -import type { MaybePromise } from '@/types' -import { normalizeLineEndings } from '@/utils' +import type { MaybePromise } from '@extension/types/common' +import { normalizeLineEndings } from '@extension/utils' import { InMemoryChatMessageHistory } from '@langchain/core/chat_history' import type { BaseChatModel } from '@langchain/core/language_models/chat_models' import { diff --git a/src/ai/model-providers/claude.ts b/src/extension/ai/model-providers/claude.ts similarity index 90% rename from src/ai/model-providers/claude.ts rename to src/extension/ai/model-providers/claude.ts index 0c218e2..79bad41 100644 --- a/src/ai/model-providers/claude.ts +++ b/src/extension/ai/model-providers/claude.ts @@ -1,5 +1,5 @@ -import { getConfigKey } from '@/config' -import { getContext } from '@/context' +import { getConfigKey } from '@extension/config' +import { getContext } from '@extension/context' import { ChatAnthropic } from '@langchain/anthropic' import * as vscode from 'vscode' diff --git a/src/ai/model-providers/openai.ts b/src/extension/ai/model-providers/openai.ts similarity index 93% rename from src/ai/model-providers/openai.ts rename to src/extension/ai/model-providers/openai.ts index a8d4c8b..b489b2b 100644 --- a/src/ai/model-providers/openai.ts +++ b/src/extension/ai/model-providers/openai.ts @@ -1,5 +1,5 @@ -import { getConfigKey } from '@/config' -import { getContext } from '@/context' +import { getConfigKey } from '@extension/config' +import { getContext } from '@extension/context' import { ChatOpenAI, type ChatOpenAICallOptions } from '@langchain/openai' import * as vscode from 'vscode' diff --git a/src/ai/parse-model-base-url.ts b/src/extension/ai/parse-model-base-url.ts similarity index 91% rename from src/ai/parse-model-base-url.ts rename to src/extension/ai/parse-model-base-url.ts index a8d9669..e8b3ad4 100644 --- a/src/ai/parse-model-base-url.ts +++ b/src/extension/ai/parse-model-base-url.ts @@ -1,6 +1,6 @@ /* eslint-disable prefer-destructuring */ -import { getConfigKey } from '@/config' -import { t } from '@/i18n' +import { getConfigKey } from '@extension/config' +import { t } from '@extension/i18n' export type ModelUrlType = 'openai' | 'azure-openai' | 'anthropic' export const parseModelBaseUrl = async (): Promise<{ diff --git a/src/auto-open-corresponding-files.ts b/src/extension/auto-open-corresponding-files.ts similarity index 100% rename from src/auto-open-corresponding-files.ts rename to src/extension/auto-open-corresponding-files.ts diff --git a/src/cleanup.ts b/src/extension/cleanup.ts similarity index 100% rename from src/cleanup.ts rename to src/extension/cleanup.ts diff --git a/src/clipboard.ts b/src/extension/clipboard.ts similarity index 100% rename from src/clipboard.ts rename to src/extension/clipboard.ts diff --git a/src/commands/ask-ai/index.ts b/src/extension/commands/ask-ai/index.ts similarity index 91% rename from src/commands/ask-ai/index.ts rename to src/extension/commands/ask-ai/index.ts index 970af55..bbab6c0 100644 --- a/src/commands/ask-ai/index.ts +++ b/src/extension/commands/ask-ai/index.ts @@ -1,9 +1,12 @@ /* eslint-disable @typescript-eslint/no-loop-func */ import path from 'node:path' -import { getConfigKey } from '@/config' -import { traverseFileOrFolders, type FileInfo } from '@/file-utils/traverse-fs' -import { t } from '@/i18n' -import { executeCommand } from '@/utils' +import { getConfigKey } from '@extension/config' +import { + traverseFileOrFolders, + type FileInfo +} from '@extension/file-utils/traverse-fs' +import { t } from '@extension/i18n' +import { executeCommand } from '@extension/utils' import { quote } from 'shell-quote' import * as vscode from 'vscode' diff --git a/src/commands/batch-processor/get-pre-process-info.ts b/src/extension/commands/batch-processor/get-pre-process-info.ts similarity index 96% rename from src/commands/batch-processor/get-pre-process-info.ts rename to src/extension/commands/batch-processor/get-pre-process-info.ts index 5db593a..b383898 100644 --- a/src/commands/batch-processor/get-pre-process-info.ts +++ b/src/extension/commands/batch-processor/get-pre-process-info.ts @@ -1,8 +1,11 @@ import path from 'path' -import { createModelProvider } from '@/ai/helpers' -import { AbortError } from '@/constants' -import { traverseFileOrFolders } from '@/file-utils/traverse-fs' -import { getCurrentWorkspaceFolderEditor, toPlatformPath } from '@/utils' +import { createModelProvider } from '@extension/ai/helpers' +import { AbortError } from '@extension/constants' +import { traverseFileOrFolders } from '@extension/file-utils/traverse-fs' +import { + getCurrentWorkspaceFolderEditor, + toPlatformPath +} from '@extension/utils' import { z } from 'zod' export interface PreProcessInfo { diff --git a/src/commands/batch-processor/index.ts b/src/extension/commands/batch-processor/index.ts similarity index 86% rename from src/commands/batch-processor/index.ts rename to src/extension/commands/batch-processor/index.ts index bd9b75f..437b857 100644 --- a/src/commands/batch-processor/index.ts +++ b/src/extension/commands/batch-processor/index.ts @@ -1,11 +1,11 @@ -import { getConfigKey } from '@/config' -import { AbortError } from '@/constants' -import { isTmpFileUri } from '@/file-utils/create-tmp-file' -import { traverseFileOrFolders } from '@/file-utils/traverse-fs' -import { t } from '@/i18n' -import { createLoading } from '@/loading' -import { logger } from '@/logger' -import { stateStorage } from '@/storage' +import { getConfigKey } from '@extension/config' +import { AbortError } from '@extension/constants' +import { isTmpFileUri } from '@extension/file-utils/create-tmp-file' +import { traverseFileOrFolders } from '@extension/file-utils/traverse-fs' +import { t } from '@extension/i18n' +import { createLoading } from '@extension/loading' +import { logger } from '@extension/logger' +import { stateStorage } from '@extension/storage' import pLimit from 'p-limit' import * as vscode from 'vscode' diff --git a/src/commands/batch-processor/write-and-save-tmp-file.ts b/src/extension/commands/batch-processor/write-and-save-tmp-file.ts similarity index 92% rename from src/commands/batch-processor/write-and-save-tmp-file.ts rename to src/extension/commands/batch-processor/write-and-save-tmp-file.ts index 35bce94..76571d0 100644 --- a/src/commands/batch-processor/write-and-save-tmp-file.ts +++ b/src/extension/commands/batch-processor/write-and-save-tmp-file.ts @@ -1,11 +1,11 @@ import path from 'path' -import { createModelProvider } from '@/ai/helpers' -import { AbortError } from '@/constants' -import { getTmpFileUri } from '@/file-utils/create-tmp-file' -import { tmpFileWriter } from '@/file-utils/tmp-file-writer' -import { VsCodeFS } from '@/file-utils/vscode-fs' -import { logger } from '@/logger' -import { getLanguageId } from '@/utils' +import { createModelProvider } from '@extension/ai/helpers' +import { AbortError } from '@extension/constants' +import { getTmpFileUri } from '@extension/file-utils/create-tmp-file' +import { tmpFileWriter } from '@extension/file-utils/tmp-file-writer' +import { VsCodeFS } from '@extension/file-utils/vscode-fs' +import { logger } from '@extension/logger' +import { getLanguageId } from '@extension/utils' import { HumanMessage } from '@langchain/core/messages' import * as vscode from 'vscode' diff --git a/src/commands/code-convert/build-convert-prompt.ts b/src/extension/commands/code-convert/build-convert-prompt.ts similarity index 100% rename from src/commands/code-convert/build-convert-prompt.ts rename to src/extension/commands/code-convert/build-convert-prompt.ts diff --git a/src/commands/code-convert/get-target-language-info.ts b/src/extension/commands/code-convert/get-target-language-info.ts similarity index 90% rename from src/commands/code-convert/get-target-language-info.ts rename to src/extension/commands/code-convert/get-target-language-info.ts index 7d6ee5d..d6135bc 100644 --- a/src/commands/code-convert/get-target-language-info.ts +++ b/src/extension/commands/code-convert/get-target-language-info.ts @@ -1,11 +1,11 @@ -import { getConfigKey, setConfigKey } from '@/config' -import { languageIdExts, languageIds } from '@/constants' -import { t } from '@/i18n' +import { getConfigKey, setConfigKey } from '@extension/config' +import { languageIdExts, languageIds } from '@extension/constants' +import { t } from '@extension/i18n' import { getLanguageId, getLanguageIdExt, showQuickPickWithCustomInput -} from '@/utils' +} from '@extension/utils' import * as vscode from 'vscode' /** diff --git a/src/commands/code-convert/index.ts b/src/extension/commands/code-convert/index.ts similarity index 90% rename from src/commands/code-convert/index.ts rename to src/extension/commands/code-convert/index.ts index cebebc8..aad8504 100644 --- a/src/commands/code-convert/index.ts +++ b/src/extension/commands/code-convert/index.ts @@ -1,11 +1,11 @@ import { createModelProvider, getCurrentSessionIdHistoriesMap -} from '@/ai/helpers' -import { createTmpFileInfo } from '@/file-utils/create-tmp-file' -import { showContinueMessage } from '@/file-utils/show-continue-message' -import { tmpFileWriter } from '@/file-utils/tmp-file-writer' -import { t } from '@/i18n' +} from '@extension/ai/helpers' +import { createTmpFileInfo } from '@extension/file-utils/create-tmp-file' +import { showContinueMessage } from '@extension/file-utils/show-continue-message' +import { tmpFileWriter } from '@extension/file-utils/tmp-file-writer' +import { t } from '@extension/i18n' import type { RunnableConfig } from '@langchain/core/runnables' import * as vscode from 'vscode' diff --git a/src/commands/code-viewer-helper/build-generate-prompt.ts b/src/extension/commands/code-viewer-helper/build-generate-prompt.ts similarity index 91% rename from src/commands/code-viewer-helper/build-generate-prompt.ts rename to src/extension/commands/code-viewer-helper/build-generate-prompt.ts index 0761e87..3ffa5db 100644 --- a/src/commands/code-viewer-helper/build-generate-prompt.ts +++ b/src/extension/commands/code-viewer-helper/build-generate-prompt.ts @@ -1,4 +1,4 @@ -import { getConfigKey } from '@/config' +import { getConfigKey } from '@extension/config' import type { BaseLanguageModelInput } from '@langchain/core/language_models/base' import * as vscode from 'vscode' diff --git a/src/commands/code-viewer-helper/index.ts b/src/extension/commands/code-viewer-helper/index.ts similarity index 90% rename from src/commands/code-viewer-helper/index.ts rename to src/extension/commands/code-viewer-helper/index.ts index 7d4cc12..81cdf71 100644 --- a/src/commands/code-viewer-helper/index.ts +++ b/src/extension/commands/code-viewer-helper/index.ts @@ -1,11 +1,11 @@ import { createModelProvider, getCurrentSessionIdHistoriesMap -} from '@/ai/helpers' -import { createTmpFileInfo } from '@/file-utils/create-tmp-file' -import { showContinueMessage } from '@/file-utils/show-continue-message' -import { tmpFileWriter } from '@/file-utils/tmp-file-writer' -import { t } from '@/i18n' +} from '@extension/ai/helpers' +import { createTmpFileInfo } from '@extension/file-utils/create-tmp-file' +import { showContinueMessage } from '@extension/file-utils/show-continue-message' +import { tmpFileWriter } from '@extension/file-utils/tmp-file-writer' +import { t } from '@extension/i18n' import type { RunnableConfig } from '@langchain/core/runnables' import * as vscode from 'vscode' diff --git a/src/commands/copy-as-prompt/index.ts b/src/extension/commands/copy-as-prompt/index.ts similarity index 83% rename from src/commands/copy-as-prompt/index.ts rename to src/extension/commands/copy-as-prompt/index.ts index 764e403..f0281d6 100644 --- a/src/commands/copy-as-prompt/index.ts +++ b/src/extension/commands/copy-as-prompt/index.ts @@ -1,6 +1,6 @@ -import { getConfigKey } from '@/config' -import { getFileOrFoldersPromptInfo } from '@/file-utils/get-fs-prompt-info' -import { t } from '@/i18n' +import { getConfigKey } from '@extension/config' +import { getFileOrFoldersPromptInfo } from '@extension/file-utils/get-fs-prompt-info' +import { t } from '@extension/i18n' import * as vscode from 'vscode' export const handleCopyAsPrompt = async ( diff --git a/src/commands/index.ts b/src/extension/commands/index.ts similarity index 98% rename from src/commands/index.ts rename to src/extension/commands/index.ts index 71ad723..cfb6c61 100644 --- a/src/commands/index.ts +++ b/src/extension/commands/index.ts @@ -1,4 +1,4 @@ -import { commandErrorCatcher } from '@/utils' +import { commandErrorCatcher } from '@extension/utils' import * as vscode from 'vscode' import { handleAskAI } from './ask-ai' diff --git a/src/commands/private/copy-file-text.ts b/src/extension/commands/private/copy-file-text.ts similarity index 92% rename from src/commands/private/copy-file-text.ts rename to src/extension/commands/private/copy-file-text.ts index e64762b..900f13d 100644 --- a/src/commands/private/copy-file-text.ts +++ b/src/extension/commands/private/copy-file-text.ts @@ -1,4 +1,4 @@ -import { t } from '@/i18n' +import { t } from '@extension/i18n' import * as vscode from 'vscode' export const handleCopyFileText = async (uri?: vscode.Uri) => { diff --git a/src/commands/private/quick-close-file-without-save.ts b/src/extension/commands/private/quick-close-file-without-save.ts similarity index 96% rename from src/commands/private/quick-close-file-without-save.ts rename to src/extension/commands/private/quick-close-file-without-save.ts index a1f5074..e073291 100644 --- a/src/commands/private/quick-close-file-without-save.ts +++ b/src/extension/commands/private/quick-close-file-without-save.ts @@ -1,4 +1,4 @@ -import { t } from '@/i18n' +import { t } from '@extension/i18n' import * as vscode from 'vscode' export const handleQuickCloseFileWithoutSave = async (uri?: vscode.Uri) => { diff --git a/src/commands/private/replace-file.ts b/src/extension/commands/private/replace-file.ts similarity index 95% rename from src/commands/private/replace-file.ts rename to src/extension/commands/private/replace-file.ts index e6258fe..cf76eea 100644 --- a/src/commands/private/replace-file.ts +++ b/src/extension/commands/private/replace-file.ts @@ -1,6 +1,6 @@ import path from 'path' -import { VsCodeFS } from '@/file-utils/vscode-fs' -import { t } from '@/i18n' +import { VsCodeFS } from '@extension/file-utils/vscode-fs' +import { t } from '@extension/i18n' import * as vscode from 'vscode' const replaceFileContent = async (uri: vscode.Uri, content: string) => { diff --git a/src/commands/private/show-aide-key-usage-info.ts b/src/extension/commands/private/show-aide-key-usage-info.ts similarity index 85% rename from src/commands/private/show-aide-key-usage-info.ts rename to src/extension/commands/private/show-aide-key-usage-info.ts index 103219c..082b92d 100644 --- a/src/commands/private/show-aide-key-usage-info.ts +++ b/src/extension/commands/private/show-aide-key-usage-info.ts @@ -1,8 +1,8 @@ -import { aideKeyUsageInfo } from '@/ai/aide-key-request' -import { getConfigKey } from '@/config' -import { t } from '@/i18n' -import { updateAideKeyUsageStatusBar } from '@/providers/aide-key-usage-statusbar' -import { formatNumber } from '@/utils' +import { aideKeyUsageInfo } from '@extension/ai/aide-key-request' +import { getConfigKey } from '@extension/config' +import { t } from '@extension/i18n' +import { updateAideKeyUsageStatusBar } from '@extension/providers/aide-key-usage-statusbar' +import { formatNumber } from '@extension/utils' import * as vscode from 'vscode' export const handleShowAideKeyUsageInfo = async () => { diff --git a/src/commands/private/show-diff.ts b/src/extension/commands/private/show-diff.ts similarity index 97% rename from src/commands/private/show-diff.ts rename to src/extension/commands/private/show-diff.ts index cd55fab..4c05da1 100644 --- a/src/commands/private/show-diff.ts +++ b/src/extension/commands/private/show-diff.ts @@ -1,5 +1,5 @@ import * as path from 'path' -import { t } from '@/i18n' +import { t } from '@extension/i18n' import * as vscode from 'vscode' /** diff --git a/src/commands/rename-variable/build-rename-suggestion-prompt.ts b/src/extension/commands/rename-variable/build-rename-suggestion-prompt.ts similarity index 100% rename from src/commands/rename-variable/build-rename-suggestion-prompt.ts rename to src/extension/commands/rename-variable/build-rename-suggestion-prompt.ts diff --git a/src/commands/rename-variable/index.ts b/src/extension/commands/rename-variable/index.ts similarity index 93% rename from src/commands/rename-variable/index.ts rename to src/extension/commands/rename-variable/index.ts index 57a9749..0e7394c 100644 --- a/src/commands/rename-variable/index.ts +++ b/src/extension/commands/rename-variable/index.ts @@ -2,11 +2,11 @@ import path from 'path' import { createModelProvider, getCurrentSessionIdHistoriesMap -} from '@/ai/helpers' -import { AbortError } from '@/constants' -import { t } from '@/i18n' -import { createLoading } from '@/loading' -import { getCurrentWorkspaceFolderEditor } from '@/utils' +} from '@extension/ai/helpers' +import { AbortError } from '@extension/constants' +import { t } from '@extension/i18n' +import { createLoading } from '@extension/loading' +import { getCurrentWorkspaceFolderEditor } from '@extension/utils' import type { RunnableConfig } from '@langchain/core/runnables' import * as vscode from 'vscode' import { z } from 'zod' diff --git a/src/commands/rename-variable/submit-rename-variable.ts b/src/extension/commands/rename-variable/submit-rename-variable.ts similarity index 96% rename from src/commands/rename-variable/submit-rename-variable.ts rename to src/extension/commands/rename-variable/submit-rename-variable.ts index e979ef4..6fa5ce3 100644 --- a/src/commands/rename-variable/submit-rename-variable.ts +++ b/src/extension/commands/rename-variable/submit-rename-variable.ts @@ -1,4 +1,4 @@ -import { t } from '@/i18n' +import { t } from '@extension/i18n' import * as vscode from 'vscode' export const submitRenameVariable = async ({ diff --git a/src/commands/smart-paste/build-convert-chat-messages.ts b/src/extension/commands/smart-paste/build-convert-chat-messages.ts similarity index 93% rename from src/commands/smart-paste/build-convert-chat-messages.ts rename to src/extension/commands/smart-paste/build-convert-chat-messages.ts index 76ded19..dbc6c24 100644 --- a/src/commands/smart-paste/build-convert-chat-messages.ts +++ b/src/extension/commands/smart-paste/build-convert-chat-messages.ts @@ -1,10 +1,10 @@ -import { getReferenceFilePaths } from '@/ai/get-reference-file-paths' -import { safeReadClipboard } from '@/clipboard' -import { getConfigKey } from '@/config' -import { getFileOrFoldersPromptInfo } from '@/file-utils/get-fs-prompt-info' -import { insertTextAtSelection } from '@/file-utils/insert-text-at-selection' -import { t } from '@/i18n' -import { cacheFn } from '@/storage' +import { getReferenceFilePaths } from '@extension/ai/get-reference-file-paths' +import { safeReadClipboard } from '@extension/clipboard' +import { getConfigKey } from '@extension/config' +import { getFileOrFoldersPromptInfo } from '@extension/file-utils/get-fs-prompt-info' +import { insertTextAtSelection } from '@extension/file-utils/insert-text-at-selection' +import { t } from '@extension/i18n' +import { cacheFn } from '@extension/storage' import { HumanMessage, type BaseMessage } from '@langchain/core/messages' import * as vscode from 'vscode' diff --git a/src/commands/smart-paste/index.ts b/src/extension/commands/smart-paste/index.ts similarity index 91% rename from src/commands/smart-paste/index.ts rename to src/extension/commands/smart-paste/index.ts index fdb0e54..dccfeb0 100644 --- a/src/commands/smart-paste/index.ts +++ b/src/extension/commands/smart-paste/index.ts @@ -1,9 +1,9 @@ import { createModelProvider, getCurrentSessionIdHistoriesMap -} from '@/ai/helpers' -import { streamingCompletionWriter } from '@/file-utils/stream-completion-writer' -import { getCurrentWorkspaceFolderEditor } from '@/utils' +} from '@extension/ai/helpers' +import { streamingCompletionWriter } from '@extension/file-utils/stream-completion-writer' +import { getCurrentWorkspaceFolderEditor } from '@extension/utils' import { type BaseMessage } from '@langchain/core/messages' import * as vscode from 'vscode' diff --git a/src/config.ts b/src/extension/config.ts similarity index 99% rename from src/config.ts rename to src/extension/config.ts index 12dec07..9c4323b 100644 --- a/src/config.ts +++ b/src/extension/config.ts @@ -1,6 +1,6 @@ import * as vscode from 'vscode' -import pkg from '../package.json' +import pkg from '../../package.json' import { t, translateVscodeJsonText } from './i18n' import { logger } from './logger' import { getCurrentWorkspaceFolderEditor, getErrorMsg } from './utils' diff --git a/src/constants.ts b/src/extension/constants.ts similarity index 100% rename from src/constants.ts rename to src/extension/constants.ts diff --git a/src/context.ts b/src/extension/context.ts similarity index 100% rename from src/context.ts rename to src/extension/context.ts diff --git a/src/enable-system-proxy.ts b/src/extension/enable-system-proxy.ts similarity index 100% rename from src/enable-system-proxy.ts rename to src/extension/enable-system-proxy.ts diff --git a/src/file-utils/create-tmp-file.ts b/src/extension/file-utils/create-tmp-file.ts similarity index 98% rename from src/file-utils/create-tmp-file.ts rename to src/extension/file-utils/create-tmp-file.ts index eb62859..bd3a7d0 100644 --- a/src/file-utils/create-tmp-file.ts +++ b/src/extension/file-utils/create-tmp-file.ts @@ -1,6 +1,6 @@ import path from 'path' -import { t } from '@/i18n' -import { getLanguageId, getLanguageIdExt } from '@/utils' +import { t } from '@extension/i18n' +import { getLanguageId, getLanguageIdExt } from '@extension/utils' import * as vscode from 'vscode' /** diff --git a/src/file-utils/get-fs-prompt-info.ts b/src/extension/file-utils/get-fs-prompt-info.ts similarity index 97% rename from src/file-utils/get-fs-prompt-info.ts rename to src/extension/file-utils/get-fs-prompt-info.ts index d396393..00cc626 100644 --- a/src/file-utils/get-fs-prompt-info.ts +++ b/src/extension/file-utils/get-fs-prompt-info.ts @@ -1,5 +1,5 @@ import path from 'path' -import { t } from '@/i18n' +import { t } from '@extension/i18n' import { traverseFileOrFolders, type FileInfo } from './traverse-fs' diff --git a/src/file-utils/ignore-patterns.ts b/src/extension/file-utils/ignore-patterns.ts similarity index 95% rename from src/file-utils/ignore-patterns.ts rename to src/extension/file-utils/ignore-patterns.ts index 182fe10..0d9f848 100644 --- a/src/file-utils/ignore-patterns.ts +++ b/src/extension/file-utils/ignore-patterns.ts @@ -1,7 +1,7 @@ import path from 'path' -import { getConfigKey } from '@/config' -import { t } from '@/i18n' -import { logger } from '@/logger' +import { getConfigKey } from '@extension/config' +import { t } from '@extension/i18n' +import { logger } from '@extension/logger' import { glob } from 'glob' import ignore from 'ignore' import { Minimatch } from 'minimatch' diff --git a/src/file-utils/insert-text-at-selection.ts b/src/extension/file-utils/insert-text-at-selection.ts similarity index 100% rename from src/file-utils/insert-text-at-selection.ts rename to src/extension/file-utils/insert-text-at-selection.ts diff --git a/src/file-utils/show-continue-message.ts b/src/extension/file-utils/show-continue-message.ts similarity index 95% rename from src/file-utils/show-continue-message.ts rename to src/extension/file-utils/show-continue-message.ts index 758d6bb..b8dad44 100644 --- a/src/file-utils/show-continue-message.ts +++ b/src/extension/file-utils/show-continue-message.ts @@ -1,5 +1,5 @@ -import { t } from '@/i18n' -import type { MaybePromise } from '@/types' +import { t } from '@extension/i18n' +import type { MaybePromise } from '@extension/types/common' import * as vscode from 'vscode' /** diff --git a/src/file-utils/stream-completion-writer.ts b/src/extension/file-utils/stream-completion-writer.ts similarity index 96% rename from src/file-utils/stream-completion-writer.ts rename to src/extension/file-utils/stream-completion-writer.ts index e621dac..a622a7c 100644 --- a/src/file-utils/stream-completion-writer.ts +++ b/src/extension/file-utils/stream-completion-writer.ts @@ -1,11 +1,11 @@ -import { getCurrentModelProvider } from '@/ai/helpers' -import { createLoading } from '@/loading' +import { getCurrentModelProvider } from '@extension/ai/helpers' +import { createLoading } from '@extension/loading' import { removeCodeBlockEndSyntax, removeCodeBlockStartSyntax, removeCodeBlockSyntax, sleep -} from '@/utils' +} from '@extension/utils' import type { IterableReadableStream } from '@langchain/core/dist/utils/stream' import type { AIMessageChunk } from '@langchain/core/messages' import * as vscode from 'vscode' diff --git a/src/file-utils/tmp-file-writer.ts b/src/extension/file-utils/tmp-file-writer.ts similarity index 95% rename from src/file-utils/tmp-file-writer.ts rename to src/extension/file-utils/tmp-file-writer.ts index 5f5606a..8c6640f 100644 --- a/src/file-utils/tmp-file-writer.ts +++ b/src/extension/file-utils/tmp-file-writer.ts @@ -1,10 +1,10 @@ -import { getCurrentModelProvider } from '@/ai/helpers' -import { createLoading } from '@/loading' +import { getCurrentModelProvider } from '@extension/ai/helpers' +import { createLoading } from '@extension/loading' import { removeCodeBlockEndSyntax, removeCodeBlockStartSyntax, removeCodeBlockSyntax -} from '@/utils' +} from '@extension/utils' import type { IterableReadableStream } from '@langchain/core/dist/utils/stream' import type { AIMessageChunk } from '@langchain/core/messages' diff --git a/src/file-utils/traverse-fs.ts b/src/extension/file-utils/traverse-fs.ts similarity index 97% rename from src/file-utils/traverse-fs.ts rename to src/extension/file-utils/traverse-fs.ts index 7dce46f..d3c973a 100644 --- a/src/file-utils/traverse-fs.ts +++ b/src/extension/file-utils/traverse-fs.ts @@ -1,5 +1,5 @@ import * as path from 'path' -import type { MaybePromise } from '@/types' +import type { MaybePromise } from '@extension/types/common' import * as vscode from 'vscode' import { getAllValidFiles } from './ignore-patterns' diff --git a/src/file-utils/vscode-fs.ts b/src/extension/file-utils/vscode-fs.ts similarity index 100% rename from src/file-utils/vscode-fs.ts rename to src/extension/file-utils/vscode-fs.ts diff --git a/src/i18n.ts b/src/extension/i18n.ts similarity index 84% rename from src/i18n.ts rename to src/extension/i18n.ts index 6e51671..33227b8 100644 --- a/src/i18n.ts +++ b/src/extension/i18n.ts @@ -1,9 +1,9 @@ import * as vscode from 'vscode' // locale files -import en from '../package.nls.en.json' -import zhCn from '../package.nls.zh-cn.json' -import { LocalizeFunction, Messages } from './types' +import en from '../../package.nls.en.json' +import zhCn from '../../package.nls.zh-cn.json' +import { LocalizeFunction, Messages } from './types/common' const localeFilesMap = { en, diff --git a/src/index.ts b/src/extension/index.ts similarity index 92% rename from src/index.ts rename to src/extension/index.ts index 22276b2..1df6450 100644 --- a/src/index.ts +++ b/src/extension/index.ts @@ -11,13 +11,14 @@ import { logger } from './logger' import { enablePolyfill } from './polyfill' import { registerProviders } from './providers' import { initAideKeyUsageStatusBar } from './providers/aide-key-usage-statusbar' +import { renderWebview } from './providers/webview' import { redisStorage, stateStorage } from './storage' export const activate = async (context: vscode.ExtensionContext) => { try { const isDev = context.extensionMode !== vscode.ExtensionMode.Production - logger.log('"aide" is now active!') + logger.log('"Aide" is now active!') await initializeLocalization() setContext(context) @@ -30,6 +31,7 @@ export const activate = async (context: vscode.ExtensionContext) => { await initAideKeyUsageStatusBar(context) await autoOpenCorrespondingFiles(context) await cleanup(context) + await renderWebview(context) } catch (err) { logger.warn('Failed to activate extension', err) } diff --git a/src/loading.ts b/src/extension/loading.ts similarity index 100% rename from src/loading.ts rename to src/extension/loading.ts diff --git a/src/logger.ts b/src/extension/logger.ts similarity index 100% rename from src/logger.ts rename to src/extension/logger.ts diff --git a/src/polyfill.ts b/src/extension/polyfill.ts similarity index 100% rename from src/polyfill.ts rename to src/extension/polyfill.ts diff --git a/src/providers/aide-key-usage-statusbar.ts b/src/extension/providers/aide-key-usage-statusbar.ts similarity index 94% rename from src/providers/aide-key-usage-statusbar.ts rename to src/extension/providers/aide-key-usage-statusbar.ts index 4024c1f..cb203b4 100644 --- a/src/providers/aide-key-usage-statusbar.ts +++ b/src/extension/providers/aide-key-usage-statusbar.ts @@ -1,4 +1,4 @@ -import { t } from '@/i18n' +import { t } from '@extension/i18n' import * as vscode from 'vscode' let aideKeyUsageStatusBar: vscode.StatusBarItem diff --git a/src/providers/index.ts b/src/extension/providers/index.ts similarity index 100% rename from src/providers/index.ts rename to src/extension/providers/index.ts diff --git a/src/providers/tmp-file-action.ts b/src/extension/providers/tmp-file-action.ts similarity index 93% rename from src/providers/tmp-file-action.ts rename to src/extension/providers/tmp-file-action.ts index 3bf4cd2..7156fd9 100644 --- a/src/providers/tmp-file-action.ts +++ b/src/extension/providers/tmp-file-action.ts @@ -1,5 +1,8 @@ -import { getOriginalFileUri, isTmpFileUri } from '@/file-utils/create-tmp-file' -import { t } from '@/i18n' +import { + getOriginalFileUri, + isTmpFileUri +} from '@extension/file-utils/create-tmp-file' +import { t } from '@extension/i18n' import * as vscode from 'vscode' export class TmpFileActionCodeLensProvider implements vscode.CodeLensProvider { diff --git a/src/extension/providers/webview.ts b/src/extension/providers/webview.ts new file mode 100644 index 0000000..587d9f7 --- /dev/null +++ b/src/extension/providers/webview.ts @@ -0,0 +1,90 @@ +import { saveImage, setupHtml } from '@extension/utils' +import type { WebviewToExtensionsMsg } from '@shared/types/msg' +import * as vscode from 'vscode' + +class AideWebViewProvider implements vscode.WebviewViewProvider { + public static readonly viewType = 'aide.webview' + + private _view?: vscode.WebviewView + + private disposables: vscode.Disposable[] = [] + + constructor( + private readonly _extensionUri: vscode.Uri, + private readonly _context: vscode.ExtensionContext + ) {} + + public resolveWebviewView( + webviewView: vscode.WebviewView + // context: vscode.WebviewViewResolveContext, + // _token: vscode.CancellationToken + ) { + this._view = webviewView + + webviewView.webview.options = { + enableScripts: true, + localResourceRoots: [this._extensionUri] + } + + webviewView.webview.html = this._getHtmlForWebview(webviewView.webview) + + this.disposables.push( + webviewView.webview.onDidReceiveMessage( + async (message: WebviewToExtensionsMsg) => { + switch (message.type) { + case 'save-img': + await saveImage(message.data) + break + case 'show-settings': + await vscode.commands.executeCommand( + 'workbench.action.openSettings', + `@ext:aide-pro` + ) + break + default: + break + } + }, + undefined, + this.disposables + ) + ) + + webviewView.onDidDispose(() => { + while (this.disposables.length) { + const disposable = this.disposables.pop() + if (disposable) { + disposable.dispose() + } + } + }) + } + + public reveal() { + if (this._view) { + this._view.show?.(true) + } + } + + private _getHtmlForWebview(webview: vscode.Webview) { + return setupHtml(webview, this._context) + } +} + +export async function renderWebview( + context: vscode.ExtensionContext +): Promise { + const provider = new AideWebViewProvider(context.extensionUri, context) + const disposable = vscode.window.registerWebviewViewProvider( + AideWebViewProvider.viewType, + provider + ) + + context.subscriptions.push(disposable) + + provider.reveal() + + return () => { + disposable.dispose() + } +} diff --git a/src/storage.ts b/src/extension/storage.ts similarity index 100% rename from src/storage.ts rename to src/extension/storage.ts diff --git a/src/types.ts b/src/extension/types/common.ts similarity index 100% rename from src/types.ts rename to src/extension/types/common.ts diff --git a/src/extension/types/global.d.ts b/src/extension/types/global.d.ts new file mode 100644 index 0000000..e8f8b66 --- /dev/null +++ b/src/extension/types/global.d.ts @@ -0,0 +1,44 @@ +import type { ExtensionContext, Webview } from 'vscode' + +export {} +declare global { + /** + * fix code hint + */ + type UnionType = T | (string & {}) + + namespace NodeJS { + interface ProcessEnv { + /** + * Node.js environment + */ + NODE_ENV: UnionType<'development' | 'production'> + /** + * `[vite serve]` The url of the vite dev server. + */ + VITE_DEV_SERVER_URL?: string + /** + * `[vite build]` All js files in the dist directory, excluding index.js. It's to be a json string. + */ + VITE_WEBVIEW_DIST?: string + } + } + + /** + * `[vite serve]` Gets the html of webview in development mode. + * @param options serverUrl: The url of the vite dev server. + */ + function __getWebviewHtml__(options?: string | { serverUrl: string }): string + + /** + * `[vite build]` Gets the html of webview in production mode. + * @param webview The Webview instance of the extension. + * @param context The ExtensionContext instance of the extension. + * @param inputName vite build.rollupOptions.input name. Default is `index`. + */ + function __getWebviewHtml__( + webview: Webview, + context: ExtensionContext, + inputName?: string + ): string +} diff --git a/src/utils.ts b/src/extension/utils.ts similarity index 85% rename from src/utils.ts rename to src/extension/utils.ts index ca09588..b81cb55 100644 --- a/src/utils.ts +++ b/src/extension/utils.ts @@ -1,3 +1,4 @@ +import type { SaveImgMsgData } from '@shared/types/msg' import * as vscode from 'vscode' import { @@ -218,3 +219,35 @@ export const showQuickPickWithCustomInput = async ( quickPick.show() }) } + +export const DEV_SERVER = process.env.VITE_DEV_SERVER_URL +export function setupHtml( + webview: vscode.Webview, + context: vscode.ExtensionContext +) { + return DEV_SERVER + ? __getWebviewHtml__(DEV_SERVER) + : __getWebviewHtml__(webview, context) +} + +let lastSaveImageDir: string | undefined +export async function saveImage(data: SaveImgMsgData) { + const { workspaceFolder } = await getCurrentWorkspaceFolderEditor() + + if (!lastSaveImageDir) { + lastSaveImageDir = workspaceFolder.uri.fsPath ?? '' + } + + const uri = await vscode.window.showSaveDialog({ + filters: { Images: [data.format] }, + defaultUri: vscode.Uri.file(`${lastSaveImageDir}/${data.fileName}`) + }) + + if (!uri) return + + await vscode.workspace.fs.writeFile( + uri, + Uint8Array.from(atob(data.base64), c => c.charCodeAt(0)) + ) + lastSaveImageDir = uri.fsPath.split('/').slice(0, -1).join('/') +} diff --git a/src/shared/types/msg.ts b/src/shared/types/msg.ts new file mode 100644 index 0000000..b976ec9 --- /dev/null +++ b/src/shared/types/msg.ts @@ -0,0 +1,25 @@ +export type SaveImgMsgData = { + fileName: string + format: string + base64: string +} + +export type ExtensionsToWebviewMsg = + | { + type: 'update-code' + data: string + } + | { + type: 'change-theme' + data: 'dark' | 'light' + } + +export type WebviewToExtensionsMsg = + | { + type: 'save-img' + data: SaveImgMsgData + } + | { + type: 'show-settings' + data?: undefined + } diff --git a/src/webview/App.css b/src/webview/App.css new file mode 100644 index 0000000..726ee21 --- /dev/null +++ b/src/webview/App.css @@ -0,0 +1,7 @@ +main { + display: flex; + flex-direction: column; + justify-content: center; + align-items: flex-start; + height: 100%; +} diff --git a/src/webview/App.tsx b/src/webview/App.tsx new file mode 100644 index 0000000..c638823 --- /dev/null +++ b/src/webview/App.tsx @@ -0,0 +1,59 @@ +import { useState } from 'react' +import { VSCodeButton, VSCodeTextField } from '@vscode/webview-ui-toolkit/react' + +import { vscode } from './helpers/vscode' + +import './App.css' + +function App() { + function onPostMessage() { + vscode.postMessage({ + command: 'hello', + text: 'Hey there partner! 🤠' + }) + } + + const [message, setMessage] = useState('') + const [state, setState] = useState('') + + const onSetState = () => { + vscode.setState(state) + } + const onGetState = async () => { + console.log('state', await vscode.getState()) + setState((await vscode.getState()) as string) + } + + return ( +
+

Hello React!

+ Test VSCode Message +
+ setMessage(e?.target?.value)} + > + Please enter a message + +
Message is: {message}
+
+
+ setState(e?.target?.value)} + > + Please enter a state + +
State is: {state}
+
+ setState + + getState + +
+
+
+ ) +} + +export default App diff --git a/src/webview/helpers/vscode.ts b/src/webview/helpers/vscode.ts new file mode 100644 index 0000000..69b99d4 --- /dev/null +++ b/src/webview/helpers/vscode.ts @@ -0,0 +1,79 @@ +import type { WebviewApi } from 'vscode-webview' + +/** + * A utility wrapper around the acquireVsCodeApi() function, which enables + * message passing and state management between the webview and extension + * contexts. + * + * This utility also enables webview code to be run in a web browser-based + * dev server by using native web browser features that mock the functionality + * enabled by acquireVsCodeApi. + */ +class VSCodeAPIWrapper { + private readonly vsCodeApi: WebviewApi | undefined + + constructor() { + // Check if the acquireVsCodeApi function exists in the current development + // context (i.e. VS Code development window or web browser) + if (typeof acquireVsCodeApi === 'function') { + this.vsCodeApi = acquireVsCodeApi() + } + } + + /** + * Post a message (i.e. send arbitrary data) to the owner of the webview. + * + * @remarks When running webview code inside a web browser, postMessage will instead + * log the given message to the console. + * + * @param message Abitrary data (must be JSON serializable) to send to the extension context. + */ + public postMessage(message: unknown) { + if (this.vsCodeApi) { + this.vsCodeApi.postMessage(message) + } else { + window.parent.postMessage({ type: 'page:message', data: message }, '*') + console.log(message) + } + } + + /** + * Get the persistent state stored for this webview. + * + * @remarks When running webview source code inside a web browser, getState will retrieve state + * from local storage (https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage). + * + * @return The current state or `undefined` if no state has been set. + */ + public async getState(): Promise { + if (this.vsCodeApi) { + return await this.vsCodeApi.getState() + } + const state = localStorage.getItem('vscodeState') + return state ? JSON.parse(state) : undefined + } + + /** + * Set the persistent state stored for this webview. + * + * @remarks When running webview source code inside a web browser, setState will set the given + * state using local storage (https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage). + * + * @param newState New persisted state. This must be a JSON serializable object. Can be retrieved + * using {@link getState}. + * + * @return The new state. + */ + public async setState( + newState: T + ): Promise { + if (this.vsCodeApi) { + return await this.vsCodeApi.setState(newState) + } + localStorage.setItem('vscodeState', JSON.stringify(newState)) + return newState + } +} + +// Exports class singleton to prevent multiple invocations of acquireVsCodeApi. +export const vscode = new VSCodeAPIWrapper() diff --git a/src/webview/main.tsx b/src/webview/main.tsx new file mode 100644 index 0000000..aa88c5c --- /dev/null +++ b/src/webview/main.tsx @@ -0,0 +1,10 @@ +import React from 'react' +import ReactDOM from 'react-dom/client' + +import App from './App' + +ReactDOM.createRoot(document.getElementById('app')!).render( + + + +) diff --git a/src/webview/types/vite-env.d.ts b/src/webview/types/vite-env.d.ts new file mode 100644 index 0000000..11f02fe --- /dev/null +++ b/src/webview/types/vite-env.d.ts @@ -0,0 +1 @@ +/// diff --git a/tsconfig.json b/tsconfig.json index 8ab546e..b1a1028 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,6 +1,6 @@ { "compilerOptions": { - "lib": ["esnext"], + "lib": ["DOM", "DOM.Iterable", "esnext"], "module": "esnext", "moduleResolution": "node", "resolveJsonModule": true, @@ -10,6 +10,7 @@ "alwaysStrict": true, "strictNullChecks": true, "noUncheckedIndexedAccess": true, + "jsx": "react-jsx", "noImplicitAny": true, "noImplicitReturns": true, @@ -37,18 +38,23 @@ "useDefineForClassFields": true, "baseUrl": ".", + "types": ["vite/client", "@types/vscode-webview"], "paths": { - "@/*": ["./src/*"] + "@extension/*": ["src/extension/*"], + "@webview/*": ["./src/webview/*"], + "@shared/*": ["./src/shared/*"] } }, "include": [ "**/*.ts", + "**/*.tsx", "src/**/*.json", "*.json", "*.ts", "*.js", "*.cjs", - "*.mjs" + "*.mjs", + "vite.config.mts" ], "exclude": ["**/dist/**", "**/node_modules/**", "cz-adapter.cjs"] } diff --git a/tsup.config.ts b/tsup.config.ts deleted file mode 100644 index 4e50787..0000000 --- a/tsup.config.ts +++ /dev/null @@ -1,24 +0,0 @@ -import { defineConfig } from 'tsup' - -export default defineConfig(async () => [ - { - name: 'node', - entry: ['src/index.ts'], - format: ['cjs'], - shims: false, - dts: false, - outDir: 'dist/node', - platform: 'node', - target: 'node18', - sourcemap: true, - clean: true, - define: { - 'process.env.IS_BROWSER': 'false' - }, - treeshake: { - preset: 'smallest', - moduleSideEffects: 'no-external' - }, - external: ['vscode'] - } -]) diff --git a/vite.config.mts b/vite.config.mts new file mode 100644 index 0000000..25966cc --- /dev/null +++ b/vite.config.mts @@ -0,0 +1,42 @@ +import path from 'node:path' +import { dirname } from 'path' +import { fileURLToPath } from 'url' +import vscode from '@tomjs/vite-plugin-vscode' +import react from '@vitejs/plugin-react-swc' +import { defineConfig } from 'vite' +import tsconfigPaths from 'vite-tsconfig-paths' + +import pkg from './package.json' + +const dir = + typeof __dirname === 'string' + ? __dirname + : dirname(fileURLToPath(import.meta.url)) + +const resolvePath = (...paths: string[]) => path.resolve(dir, ...paths) + +// https://vitejs.dev/config/ +export default defineConfig(() => { + process.env.APP_BUILD_TIME = `${Date.now()}` + process.env.APP_VERSION = pkg.version + + return { + plugins: [ + tsconfigPaths(), + react(), + vscode({ + extension: { + entry: resolvePath('./src/extension/index.ts'), + platform: 'node', + target: 'node18', + sourcemap: true, + skipNodeModulesBundle: false + // treeshake: { + // preset: 'smallest', + // moduleSideEffects: 'no-external' + // } + } + }) + ] + } +})