diff --git a/.eslintignore b/.eslintignore deleted file mode 100644 index 73f4613b2..000000000 --- a/.eslintignore +++ /dev/null @@ -1,8 +0,0 @@ -node_modules -out -dist -scripts -src/vscode-dts -ext/agent-skills -playwright-report -test-results diff --git a/.eslintrc.js b/.eslintrc.js deleted file mode 100644 index 32e1d0d00..000000000 --- a/.eslintrc.js +++ /dev/null @@ -1,64 +0,0 @@ -const typescriptEslintEslintPlugin = require('@typescript-eslint/eslint-plugin'); - -// Overrides do not work with extends. -const ruleOverridesForJs = Object.keys( - typescriptEslintEslintPlugin.rules, -).reduce( - (overrides, rule) => ({ ...overrides, [`@typescript-eslint/${rule}`]: 0 }), - {}, -); - -const sharedRules = { - // TODO(VSCODE-724): Update our file naming and enable this rule. - // We have a lot of files that do not match the filename rules. - 'filename-rules/match': 0, - 'mocha/no-exclusive-tests': 2, - 'no-console': [1, { allow: ['warn', 'error', 'info'] }], -}; - -module.exports = { - plugins: ['mocha', '@typescript-eslint'], - extends: ['@mongodb-js/eslint-config-devtools'], - overrides: [ - { - files: ['*.ts', '*.tsx'], - rules: { - ...sharedRules, - '@typescript-eslint/no-explicit-any': 0, - '@typescript-eslint/no-floating-promises': 2, - // VV These rules we'd like to turn off one day so they error. - '@typescript-eslint/no-unsafe-assignment': 0, - '@typescript-eslint/no-unsafe-member-access': 0, - '@typescript-eslint/no-unsafe-call': 0, - '@typescript-eslint/no-unsafe-return': 0, - '@typescript-eslint/no-unsafe-argument': 0, - '@typescript-eslint/consistent-type-imports': [ - 'error', - { prefer: 'type-imports' }, - ], - '@typescript-eslint/explicit-function-return-type': [ - 'warn', - { - allowHigherOrderFunctions: true, - }, - ], - '@typescript-eslint/ban-ts-comment': [ - 'error', - { - 'ts-ignore': 'allow-with-description', - }, - ], - }, - parserOptions: { - project: ['./tsconfig.json'], // Specify it only for TypeScript files. - }, - }, - { - files: ['**/*.js'], - rules: { - ...ruleOverridesForJs, - ...sharedRules, - }, - }, - ], -}; diff --git a/.snyk b/.snyk index 01dd04264..b20d3410f 100644 --- a/.snyk +++ b/.snyk @@ -28,8 +28,17 @@ ignore: SNYK-JS-MODELCONTEXTPROTOCOLSDK-14871802: - '*': reason: >- - Not applicable: we don't use templated uris in a way this vulnerability - would be exploitable. + Not applicable: we don't use templated uris in a way this + vulnerability would be exploitable. expires: 2026-02-11T23:25:45.051Z created: 2026-01-12T23:25:45.058Z + SNYK-JS-DECOMPRESS-17874437: + - '*': + reason: >- + Not applicable: decompress is a dev-only transitive dep of + mongodb-runner used in tests to extract MongoDB's own release archives + from trusted URLs. We never extract untrusted archives, and it is not + in the shipped extension bundle. + expires: 2026-08-09T00:00:00.000Z + created: 2026-07-09T09:12:14.036Z patch: {} diff --git a/.vscodeignore b/.vscodeignore index 45fe32e4f..542a6eaa2 100644 --- a/.vscodeignore +++ b/.vscodeignore @@ -29,6 +29,17 @@ CHANGELOG.md babel.config.json pnpm-lock.yaml .pnpm-store + +# Codicon doc/build artifacts not loaded at runtime (only codicon.css + codicon.ttf are used) +dist/codicons/codicon.html +dist/codicons/codicon.svg +dist/codicons/codicon.csv +dist/codicons/metadata.json + +# Unused Monaco language workers. The data-browsing webview only uses the +# 'typescript' language, so the css/html workers are never requested at runtime. +dist/monaco-editor/vs/assets/css.worker-*.js +dist/monaco-editor/vs/assets/html.worker-*.js scripts/** playwright-report test-results diff --git a/eslint-devtools.js b/eslint-devtools.js new file mode 100644 index 000000000..d3625bfe9 --- /dev/null +++ b/eslint-devtools.js @@ -0,0 +1,75 @@ +import js from '@eslint/js'; +import tseslint from 'typescript-eslint'; +import mochaPlugin from 'eslint-plugin-mocha'; +import filenameRules from 'eslint-plugin-filename-rules'; +import devtoolsPlugin from '@mongodb-js/eslint-plugin-devtools'; +import sharedDevtools from '@mongodb-js/eslint-config-devtools'; + +/** + * Flat-config adapter for the shared `@mongodb-js/eslint-config-devtools`. + * + * Import the single exported `devtoolsConfig` array and spread it into + * `eslint.config.js`; it registers the devtools plugins and applies the shared + * per-language rule maps (js / ts / test). + * + * Why this adapter exists: + * - The shared devtools config is still authored in the legacy `.eslintrc` + * format: `plugins` is an array of strings and its per-language settings live + * under an `overrides` array whose entries use `env`, `parser` (as a string) + * and `extends: ['eslint:recommended', 'plugin:PLUGIN/recommended']`. None of + * that can be spread into flat config directly. + * - The usual bridge, `FlatCompat`, does not work here either: it resolves + * those legacy `plugin:PLUGIN/recommended` strings, but the major-bumped + * plugins (eslint-plugin-mocha, typescript-eslint, ...) have dropped their + * legacy eslintrc configs, so the strings no longer resolve. + * + * So we do the two things flat config needs by hand: register the plugins the + * rule maps reference, and reuse the shared config's rule maps. The rule maps + * are plain objects, read off the MAIN entry's `overrides` (no subpath, so no + * explicit `.js` extension is required under native ESM) matched by file glob. + * + * Note: `devtoolsRulesFor` only reads each override's `rules` object, which + * holds just a handful of explicit rules (eqeqeq, no-console, ...). The bulk of + * the shared config comes from `eslint:recommended`, listed in every override's + * `extends` array - which we do not read. `js.configs.recommended` below is the + * flat-config replacement for that `eslint:recommended` extend; without it we + * would silently lose every recommended rule. + * + * TODO(COMPASS-10812): once `@mongodb-js/eslint-config-devtools` ships a native flat + * config, delete this adapter and consume that flat config directly. + */ +const devtoolsOverrides = sharedDevtools.overrides ?? []; + +const devtoolsRulesFor = (glob) => + devtoolsOverrides.find((override) => override.files?.includes(glob))?.rules ?? + {}; + +export const devtoolsConfig = [ + js.configs.recommended, + { + name: 'devtools/plugins', + plugins: { + 'filename-rules': filenameRules, + '@mongodb-js/devtools': devtoolsPlugin, + }, + }, + { + name: 'devtools/js', + files: ['**/*.js'], + rules: devtoolsRulesFor('**/*.js'), + }, + { + name: 'devtools/ts', + files: ['**/*.{ts,tsx}'], + extends: [tseslint.configs.recommendedTypeChecked], + rules: devtoolsRulesFor('**/*.ts'), + }, + { + name: 'devtools/test', + files: ['src/test/**/*.{ts,tsx}'], + // The shared test rules turn some mocha/recommended rules back off, so they + // must be spread after extending mocha/recommended. + extends: [mochaPlugin.configs.recommended], + rules: devtoolsRulesFor('**/*.test.ts'), + }, +]; diff --git a/eslint.config.js b/eslint.config.js new file mode 100644 index 000000000..5c2bc2c44 --- /dev/null +++ b/eslint.config.js @@ -0,0 +1,84 @@ +import { defineConfig } from 'eslint/config'; +import { devtoolsConfig } from './eslint-devtools.js'; + +const extraTsRules = { + '@typescript-eslint/no-explicit-any': 0, + '@typescript-eslint/no-floating-promises': 2, + '@typescript-eslint/no-unsafe-assignment': 0, + '@typescript-eslint/no-unsafe-member-access': 0, + '@typescript-eslint/no-unsafe-call': 0, + '@typescript-eslint/no-unsafe-return': 0, + '@typescript-eslint/no-unsafe-argument': 0, + '@typescript-eslint/consistent-type-imports': [ + 'error', + { prefer: 'type-imports' }, + ], + '@typescript-eslint/explicit-function-return-type': [ + 'warn', + { allowHigherOrderFunctions: true }, + ], + '@typescript-eslint/ban-ts-comment': [ + 'error', + { 'ts-ignore': 'allow-with-description' }, + ], +}; + +export default defineConfig([ + { + ignores: [ + 'node_modules/**', + 'out/**', + 'dist/**', + 'scripts/**', + 'src/vscode-dts/**', + 'ext/agent-skills/**', + 'playwright-report/**', + 'test-results/**', + '.claude/**', + '.vscode-test/**', + ], + }, + // Base JS/TS config plus the devtools plugins and shared rule maps. + ...devtoolsConfig, + { + files: ['**/*.js'], + languageOptions: { + globals: { + module: 'readonly', + require: 'readonly', + exports: 'writable', + process: 'readonly', + __dirname: 'readonly', + __filename: 'readonly', + }, + }, + }, + { + rules: { + // TODO(VSCODE-724): Update our file naming and enable this rule. + // We have a lot of files that do not match the filename rules. + 'filename-rules/match': 0, + 'no-console': [1, { allow: ['warn', 'error', 'info'] }], + }, + }, + { + files: ['**/*.{ts,tsx}'], + languageOptions: { + parserOptions: { + project: './tsconfig.json', + tsconfigRootDir: import.meta.dirname, + }, + }, + rules: { + ...extraTsRules, + }, + }, + { + files: ['src/test/**/*.{ts,tsx}'], + rules: { + // Chai assertions such as `expect(x).to.be.true` are expressions. + '@typescript-eslint/no-unused-expressions': 0, + 'no-console': 0, + }, + }, +]); diff --git a/package.json b/package.json index bf2457ebb..e325167bd 100644 --- a/package.json +++ b/package.json @@ -1507,7 +1507,7 @@ "react-redux": "^9.2.0", "ts-log": "^2.2.7", "uuid": "^14.0.0", - "vscode-languageclient": "^9.0.1", + "vscode-languageclient": "^10.1.0", "vscode-languageserver": "^9.0.1", "vscode-languageserver-textdocument": "^1.0.12", "xss": "^1.0.15", @@ -1516,19 +1516,21 @@ "devDependencies": { "@babel/preset-typescript": "^7.28.5", "@babel/types": "^7.29.0", + "@eslint/js": "^10.0.1", "@modelcontextprotocol/sdk": "^1.29.0", "@mongodb-js/eslint-config-devtools": "^0.11.6", + "@mongodb-js/eslint-plugin-devtools": "0.3.4", "@mongodb-js/oidc-mock-provider": "^0.13.11", "@mongodb-js/oidc-plugin": "^2.0.8", "@mongodb-js/prettier-config-devtools": "^1.0.3", "@mongodb-js/sbom-tools": "^0.10.15", "@mongodb-js/signing-utils": "^0.5.10", - "@mongosh/service-provider-core": "^3.7.1", + "@mongosh/service-provider-core": "^5.0.6", "@playwright/test": "^1.59.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/babel__traverse": "^7.28.0", - "@types/chai": "^4.3.20", + "@types/chai": "^5.2.3", "@types/chai-as-promised": "^8.0.2", "@types/debug": "^4.1.13", "@types/lodash": "^4.17.24", @@ -1541,9 +1543,7 @@ "@types/sinon": "^9.0.11", "@types/sinon-chai": "^3.2.12", "@types/vscode": "^1.117.0", - "@typescript-eslint/eslint-plugin": "^5.62.0", - "@typescript-eslint/parser": "^5.62.0", - "@vscode/test-electron": "^2.5.2", + "@vscode/test-electron": "^3.0.0", "@vscode/vsce": "^3.9.2", "buffer": "^6.0.3", "chai": "^6.2.2", @@ -1552,12 +1552,13 @@ "cross-env": "^7.0.3", "depcheck": "^1.4.7", "duplicate-package-checker-webpack-plugin": "^3.0.0", - "eslint": "^8.57.1", - "eslint-plugin-mocha": "^10.5.0", + "eslint": "^10.6.0", + "eslint-plugin-filename-rules": "1.3.1", + "eslint-plugin-mocha": "^11.3.0", "fork-ts-checker-webpack-plugin": "^9.1.0", "glob": "^13.0.6", "husky": "^9.1.7", - "jsdom": "^23.2.0", + "jsdom": "^29.1.1", "mkdirp": "^1.0.4", "mocha": "^11.7.5", "mocha-junit-reporter": "^2.2.1", @@ -1582,6 +1583,7 @@ "ts-loader": "^9.5.7", "ts-node": "^10.9.2", "typescript": "^5.9.2", + "typescript-eslint": "^8.62.1", "webfont": "^11.2.26", "webpack": "^5.106.2", "webpack-bundle-analyzer": "^5.3.0", @@ -1592,7 +1594,6 @@ "pnpm": { "overrides": { "react": "^18.3.1", - "jsonwebtoken>jws": "3.2.3", "mongodb": "^7.2.0", "kerberos": "^7.0.0", "bson": "^7.2.0", @@ -1601,11 +1602,20 @@ "@mongosh/service-provider-node-driver": "^5.2.0", "@mongodb-js/oidc-plugin": "^2.0.8", "@mongodb-js/devtools-proxy-support": "^0.7.16", - "brace-expansion": "^5.0.7", "tar": "^7.5.11", - "serialize-javascript": "^7.0.4", - "underscore": "^1.13.8", - "fast-xml-parser": "^5.7.0" + "brace-expansion": "^5.0.7", + "serialize-javascript": "^7.0.5", + "basic-ftp": "^5.3.1", + "fast-uri": "^3.1.3", + "hono": "^4.12.25", + "tmp": "^0.2.7", + "trim": "^0.0.3", + "undici": "^7.28.0", + "ws": "^8.21.0", + "@xmldom/xmldom": "^0.9.10", + "linkify-it": "^5.0.2", + "js-yaml@3": "^3.15.0", + "js-yaml@4": "^4.3.0" } } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index d00202e70..62dfd05f6 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -6,7 +6,6 @@ settings: overrides: react: ^18.3.1 - jsonwebtoken>jws: 3.2.3 mongodb: ^7.2.0 kerberos: ^7.0.0 bson: ^7.2.0 @@ -15,11 +14,20 @@ overrides: '@mongosh/service-provider-node-driver': ^5.2.0 '@mongodb-js/oidc-plugin': ^2.0.8 '@mongodb-js/devtools-proxy-support': ^0.7.16 - brace-expansion: ^5.0.7 tar: ^7.5.11 - serialize-javascript: ^7.0.4 - underscore: ^1.13.8 - fast-xml-parser: ^5.7.0 + brace-expansion: ^5.0.7 + serialize-javascript: ^7.0.5 + basic-ftp: ^5.3.1 + fast-uri: ^3.1.3 + hono: ^4.12.25 + tmp: ^0.2.7 + trim: ^0.0.3 + undici: ^7.28.0 + ws: ^8.21.0 + '@xmldom/xmldom': ^0.9.10 + linkify-it: ^5.0.2 + js-yaml@3: ^3.15.0 + js-yaml@4: ^4.3.0 importers: @@ -158,8 +166,8 @@ importers: specifier: ^14.0.0 version: 14.0.0 vscode-languageclient: - specifier: ^9.0.1 - version: 9.0.1 + specifier: ^10.1.0 + version: 10.1.0 vscode-languageserver: specifier: ^9.0.1 version: 9.0.1 @@ -179,12 +187,18 @@ importers: '@babel/types': specifier: ^7.29.0 version: 7.29.0 + '@eslint/js': + specifier: ^10.0.1 + version: 10.0.1(eslint@10.6.0) '@modelcontextprotocol/sdk': specifier: ^1.29.0 version: 1.29.0(@cfworker/json-schema@4.1.1)(zod@4.4.3) '@mongodb-js/eslint-config-devtools': specifier: ^0.11.6 - version: 0.11.7(eslint@8.57.1)(typescript@5.9.3) + version: 0.11.7(eslint@10.6.0)(typescript@5.9.3) + '@mongodb-js/eslint-plugin-devtools': + specifier: 0.3.4 + version: 0.3.4 '@mongodb-js/oidc-mock-provider': specifier: ^0.13.11 version: 0.13.12 @@ -201,8 +215,8 @@ importers: specifier: ^0.5.10 version: 0.5.11 '@mongosh/service-provider-core': - specifier: ^3.7.1 - version: 3.7.1(@aws-sdk/credential-providers@3.1042.0)(gcp-metadata@7.0.1)(kerberos@7.0.0)(mongodb-client-encryption@7.0.0)(socks@2.8.7) + specifier: ^5.0.6 + version: 5.0.6(@aws-sdk/credential-providers@3.1042.0)(gcp-metadata@7.0.1)(kerberos@7.0.0)(mongodb-client-encryption@7.0.0)(socks@2.8.7) '@playwright/test': specifier: ^1.59.1 version: 1.59.1 @@ -216,8 +230,8 @@ importers: specifier: ^7.28.0 version: 7.28.0 '@types/chai': - specifier: ^4.3.20 - version: 4.3.20 + specifier: ^5.2.3 + version: 5.2.3 '@types/chai-as-promised': specifier: ^8.0.2 version: 8.0.2 @@ -254,15 +268,9 @@ importers: '@types/vscode': specifier: ^1.117.0 version: 1.118.0 - '@typescript-eslint/eslint-plugin': - specifier: ^5.62.0 - version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3) - '@typescript-eslint/parser': - specifier: ^5.62.0 - version: 5.62.0(eslint@8.57.1)(typescript@5.9.3) '@vscode/test-electron': - specifier: ^2.5.2 - version: 2.5.2 + specifier: ^3.0.0 + version: 3.0.0 '@vscode/vsce': specifier: ^3.9.2 version: 3.9.2 @@ -288,11 +296,14 @@ importers: specifier: ^3.0.0 version: 3.0.0 eslint: - specifier: ^8.57.1 - version: 8.57.1 + specifier: ^10.6.0 + version: 10.6.0 + eslint-plugin-filename-rules: + specifier: 1.3.1 + version: 1.3.1 eslint-plugin-mocha: - specifier: ^10.5.0 - version: 10.5.0(eslint@8.57.1) + specifier: ^11.3.0 + version: 11.3.0(eslint@10.6.0) fork-ts-checker-webpack-plugin: specifier: ^9.1.0 version: 9.1.0(typescript@5.9.3)(webpack@5.106.2) @@ -303,8 +314,8 @@ importers: specifier: ^9.1.7 version: 9.1.7 jsdom: - specifier: ^23.2.0 - version: 23.2.0(canvas@2.11.2) + specifier: ^29.1.1 + version: 29.1.1 mkdirp: specifier: ^1.0.4 version: 1.0.4 @@ -331,7 +342,7 @@ importers: version: 0.6.0 openai: specifier: ^4.104.0 - version: 4.104.0(ws@8.19.0)(zod@4.4.3) + version: 4.104.0(ws@8.21.0)(zod@4.4.3) ora: specifier: ^5.4.1 version: 5.4.1 @@ -377,6 +388,9 @@ importers: typescript: specifier: ^5.9.2 version: 5.9.3 + typescript-eslint: + specifier: ^8.62.1 + version: 8.62.1(eslint@10.6.0)(typescript@5.9.3) webfont: specifier: ^11.2.26 version: 11.2.26(chokidar@3.6.0) @@ -420,11 +434,20 @@ packages: resolution: {integrity: sha512-Q3BZ27qfpYqnCYGvE3vt+Qi6LGOF9R5Nmzn+9JoM1lCRsD9mYaIhfJLkSunN48nfGXJ6n+XNV0J/XVpqGQl7Dw==} engines: {node: '>=18'} - '@asamuzakjp/css-color@3.2.0': - resolution: {integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==} + '@asamuzakjp/css-color@5.1.11': + resolution: {integrity: sha512-KVw6qIiCTUQhByfTd78h2yD1/00waTmm9uy/R7Ck/ctUyAPj+AEDLkQIdJW0T8+qGgj3j5bpNKK7Q3G+LedJWg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + + '@asamuzakjp/dom-selector@7.1.1': + resolution: {integrity: sha512-67RZDnYRc8H/8MLDgQCDE//zoqVFwajkepHZgmXrbwybzXOEwOWGPYGmALYl9J2DOLfFPPs6kKCqmbzV895hTQ==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + + '@asamuzakjp/generational-cache@1.0.1': + resolution: {integrity: sha512-wajfB8KqzMCN2KGNFdLkReeHncd0AslUSrvHVvvYWuU8ghncRJoA50kT3zP9MVL0+9g4/67H+cdvBskj9THPzg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} - '@asamuzakjp/dom-selector@2.0.2': - resolution: {integrity: sha512-x1KXOatwofR6ZAYzXRBL5wrdV0vwNxlTCK9NCuLqAzQYARqGcvFwiJA6A1ERuh+dgeA4Dxm3JBYictIes+SqUQ==} + '@asamuzakjp/nwsapi@2.3.9': + resolution: {integrity: sha512-n8GuYSrI9bF7FFZ/SjhwevlHc8xaVlb/7HmHelnc/PZXBD2ZR49NnN9sMMuDdEGPeeRQ5d0hqlSlEpgCX3Wl0Q==} '@aws-crypto/sha256-browser@5.2.0': resolution: {integrity: sha512-AXfN/lGotSQwu6HNcEsIASo7kWXZ5HYWvfOmSNKDsEqC4OashTp8alTmaz+F7TC2L083SFv5RdB+qU3Vs1kZqw==} @@ -1211,6 +1234,10 @@ packages: resolution: {integrity: sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==} engines: {node: '>=6.9.0'} + '@bramus/specificity@2.4.2': + resolution: {integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==} + hasBin: true + '@cfworker/json-schema@4.1.1': resolution: {integrity: sha512-gAmrUZSGtKc3AiBL71iNWxDsyUC5uMaKKGdvzYsBoTW/xi42JQHl7eKV2OYzCUqvc+D2RCcf7EXY2iCyFIk6og==} @@ -1242,33 +1269,41 @@ packages: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} - '@csstools/color-helpers@5.1.0': - resolution: {integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==} - engines: {node: '>=18'} + '@csstools/color-helpers@6.1.0': + resolution: {integrity: sha512-064IFJdjTfUqnjpCVpMOdbr8FLQBhinbZj6yRv2An2E41O/pLEXqfFRWqGq/SxlE5PEUYTlvWsG2r8MswAVvkg==} + engines: {node: '>=20.19.0'} - '@csstools/css-calc@2.1.4': - resolution: {integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==} - engines: {node: '>=18'} + '@csstools/css-calc@3.2.1': + resolution: {integrity: sha512-DtdHlgXh5ZkA43cwBcAm+huzgJiwx3ZTWVjBs94kwz2xKqSimDA3lBgCjphYgwgVUMWatSM0pDd8TILB1yrVVg==} + engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-color-parser@3.1.0': - resolution: {integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==} - engines: {node: '>=18'} + '@csstools/css-color-parser@4.1.9': + resolution: {integrity: sha512-paQcIaOO53Rk5+YrBaBjm/SgrV4INImjo2BT1DtQRYr+XeTRbeAYlS+jxXp9drqvKmtFnWRJKIalDLhZZDu42A==} + engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-parser-algorithms': ^3.0.5 - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-parser-algorithms': ^4.0.0 + '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-parser-algorithms@3.0.5': - resolution: {integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==} - engines: {node: '>=18'} + '@csstools/css-parser-algorithms@4.0.0': + resolution: {integrity: sha512-+B87qS7fIG3L5h3qwJ/IFbjoVoOe/bpOdh9hAjXbvx0o8ImEmUsGXN0inFOnk2ChCFgqkkGFQ+TpM5rbhkKe4w==} + engines: {node: '>=20.19.0'} peerDependencies: - '@csstools/css-tokenizer': ^3.0.4 + '@csstools/css-tokenizer': ^4.0.0 - '@csstools/css-tokenizer@3.0.4': - resolution: {integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==} - engines: {node: '>=18'} + '@csstools/css-syntax-patches-for-csstree@1.1.6': + resolution: {integrity: sha512-TcJCWFbXLPpJYq6z7bfOyjWYJDiDg2/I4gyUC9pqPNqHFRIey0EB0q0L5cSnQDfWJg8Jd6VadakxdIez/3zkqQ==} + peerDependencies: + css-tree: ^3.2.1 + peerDependenciesMeta: + css-tree: + optional: true + + '@csstools/css-tokenizer@4.0.0': + resolution: {integrity: sha512-QxULHAm7cNu72w97JUNCBFODFaXpbDg+dP8b/oWFAZ2MTRppA3U00Y2L1HqaS4J6yBqxwa/Y3nMBaxVKbB/NsA==} + engines: {node: '>=20.19.0'} '@discoveryjs/json-ext@0.6.3': resolution: {integrity: sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==} @@ -1384,17 +1419,53 @@ packages: peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/eslint-utils@4.9.1': + resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + '@eslint-community/regexpp@4.12.2': resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - '@eslint/eslintrc@2.1.4': - resolution: {integrity: sha512-269Z39MS6wVJtsoUl10L60WdkhJVdPG24Q4eZTH3nnF6lpvSShEK3wQjDX9JRWAUPvPh7COouPpU9IrqaZFvtQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-array@0.23.5': + resolution: {integrity: sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} - '@eslint/js@8.57.1': - resolution: {integrity: sha512-d9zaMRSTIKDLhctzH12MtXvJKSSUhaHcjV+2Z+GK+EEY7XKpP5yR4x+N3TAcHTcu963nIr+TMcCb4DBCYX1z6Q==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@eslint/config-helpers@0.6.0': + resolution: {integrity: sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/core@1.2.1': + resolution: {integrity: sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/js@10.0.1': + resolution: {integrity: sha512-zeR9k5pd4gxjZ0abRoIaxdc7I3nDktoXZk2qOv9gCNWx3mVwEn32VRhyLaRsDiJjTs0xq/T8mfPtyuXu7GWBcA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + peerDependencies: + eslint: ^10.0.0 + peerDependenciesMeta: + eslint: + optional: true + + '@eslint/object-schema@3.0.5': + resolution: {integrity: sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@eslint/plugin-kit@0.7.2': + resolution: {integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + '@exodus/bytes@1.15.1': + resolution: {integrity: sha512-S6mL0yNB/Abt9Ei4tq8gDhcczc4S3+vQ4ra7vxnAf+YHC02srtqxKKZghx2Dq6p0e66THKwR6r8N6P95wEty7Q==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + peerDependencies: + '@noble/hashes': ^1.8.0 || ^2.0.0 + peerDependenciesMeta: + '@noble/hashes': + optional: true '@floating-ui/core@1.7.3': resolution: {integrity: sha512-sGnvb5dmrJaKEZ+LDIpguvdX3bDlEllmv4/ClQ9awcmCZrlx5jQyyMWFM5kBI+EyNOCDDiKk8il0zeuX3Zlg/w==} @@ -1421,20 +1492,27 @@ packages: resolution: {integrity: sha512-dr8/3zEaB+p0D2n/IUrlPF1HZm586qgJNXK1a9fhg/PzdtkK7Ksd5l312tJX2yBuALqDYBlG20QEbayqPyxn+g==} engines: {node: '>=18.14.1'} peerDependencies: - hono: ^4 + hono: ^4.12.25 + + '@humanfs/core@0.19.2': + resolution: {integrity: sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==} + engines: {node: '>=18.18.0'} - '@humanwhocodes/config-array@0.13.0': - resolution: {integrity: sha512-DZLEEqFWQFiyK6h5YIeynKx7JlvCYWL0cImfSRXZ9l4Sg2efkFGTuFf6vzXjK1cq6IYkU+Eg/JizXw+TD2vRNw==} - engines: {node: '>=10.10.0'} - deprecated: Use @eslint/config-array instead + '@humanfs/node@0.16.8': + resolution: {integrity: sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==} + engines: {node: '>=18.18.0'} + + '@humanfs/types@0.15.0': + resolution: {integrity: sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==} + engines: {node: '>=18.18.0'} '@humanwhocodes/module-importer@1.0.1': resolution: {integrity: sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==} engines: {node: '>=12.22'} - '@humanwhocodes/object-schema@2.0.3': - resolution: {integrity: sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA==} - deprecated: Use @eslint/object-schema instead + '@humanwhocodes/retry@0.4.3': + resolution: {integrity: sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==} + engines: {node: '>=18.18'} '@inquirer/ansi@2.0.5': resolution: {integrity: sha512-doc2sWgJpbFQ64UflSVd17ibMGDuxO1yKgOgLMwavzESnXjFWJqUeG8saYosqKpHp4kWiM5x1nXvEjbpx90gzw==} @@ -2249,10 +2327,6 @@ packages: resolution: {integrity: sha512-qC72D4+CDdjGqJvkFMMEAtancHUQ7/d/tAiHf64z8MopFDmcrtbcJuerDtFceuAfQJ2pDSfCKCtbqoGBNnwg0w==} engines: {node: '>=8'} - '@mapbox/node-pre-gyp@1.0.11': - resolution: {integrity: sha512-Yhlar6v9WQgUp/He7BdgzOz8lqMQ8sU+jkCq7Wx8Myc5YFJLbEe7lgui/V7G1qB1DJykHSGwreceSaD60Y0PUQ==} - hasBin: true - '@marijn/find-cluster-break@1.0.2': resolution: {integrity: sha512-l0h88YhZFyKdXIFNfSWpyjStDjGHwZ/U7iobcK1cQQD8sejsONdQtTVU+1wVN1PBw40PiiHB1vA5S7VTfQiP9g==} @@ -2484,10 +2558,6 @@ packages: resolution: {integrity: sha512-08eofS0NDoes/ZdUYTM5aVUXf974Ae6fwvFTjSzcqXqOrmTkzF4NrpUje4vtwE4X/w6DkEkiJq3khHvVkbk4qw==} engines: {node: '>=14.15.1'} - '@mongosh/errors@2.4.6': - resolution: {integrity: sha512-Z3CDoh+EbHTLad5g/qpd1ti+PoCeq3KcbtNLg1RnQkcwC+4AqoOZt3X2JXY+s616vDLPUxpfoHqZsZqToq6lIA==} - engines: {node: '>=14.15.1'} - '@mongosh/errors@2.4.7': resolution: {integrity: sha512-smhQpluDgU0UBvf3xT6FKDcowHIndr/fAH84wmiCpClYIvhZj0Hu4wpY0XnBCscFuCDelfvfWZPHTMUga3hgcw==} engines: {node: '>=14.15.1'} @@ -2500,10 +2570,6 @@ packages: resolution: {integrity: sha512-wsEnDZgpUouusJfNswfz15HG4bom585uKsO0M/nZJ/6OcHjCPHiW9YLrbJS73yk71Uel6fgHRlsVDjEQbttktA==} engines: {node: '>=14.15.1'} - '@mongosh/service-provider-core@3.7.1': - resolution: {integrity: sha512-6iTZ/oimBILvqU6rmm22I61wwLqHNDGi0B9eWBp5w5dPylJPrBd6JeuhmeY5SbQESRKFtj2A5F/OspbZTQwnVw==} - engines: {node: '>=14.15.1'} - '@mongosh/service-provider-core@5.0.4': resolution: {integrity: sha512-8XRPINIcqglsp4Am6RObMg09h1YZyrP8H+nppJQw/8KAZMZv1bn4PRKKOnuqWfJXqJx0E7PbowoZMJzld+jTuw==} engines: {node: '>=14.15.1'} @@ -2524,12 +2590,6 @@ packages: resolution: {integrity: sha512-M9hySz8koauJdsQvIbmBD8bHOk9GzyvJS2e/YNXRqAgH2jAEpbqm8kpmc+U8Z7rEUeCOfifQJbORo5vjUJy+ew==} engines: {node: '>=14.15.1'} - '@mongosh/shell-bson@1.1.1': - resolution: {integrity: sha512-eJEFtsaPlrL+EZW4adg9UA37KHGz9qc5XBiQBUWUKjEx0e4x6r7tX+zpdhhkYRqlctkGNaAeGsal3H+ShsoN3g==} - engines: {node: '>=14.15.1'} - peerDependencies: - bson: ^7.2.0 - '@mongosh/shell-bson@3.0.4': resolution: {integrity: sha512-GF7+5xBb33oTn2H+nPPmMDLiy552qS+r5b4DsLCR3Ea5D5dTcgC3Mg0J7DBlpmUPpC0hARe6KpKKbdzZQe/YSg==} engines: {node: '>=14.15.1'} @@ -3190,8 +3250,8 @@ packages: '@types/chai-as-promised@8.0.2': resolution: {integrity: sha512-meQ1wDr1K5KRCSvG2lX7n7/5wf70BeptTKst0axGvnN6zqaVpRqegoIbugiAPSqOW9K9aL8gDVrm7a2LXOtn2Q==} - '@types/chai@4.3.20': - resolution: {integrity: sha512-/pC9HAB5I/xMlc5FP77qjCnI16ChlJfW0tGa0IUcFn38VJrTV6DeZ60NU5KZBtaOZqjdpwTWohz5HU1RrhiYxQ==} + '@types/chai@5.2.3': + resolution: {integrity: sha512-Mw558oeA9fFbv65/y4mHtXDs9bPnFMZAL/jxdPFUpOHHIXX91mcgEHbS5Lahr+pwZFR8A7GQleRWeI6cGFC2UA==} '@types/connect@3.4.38': resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} @@ -3217,12 +3277,18 @@ packages: '@types/debug@4.1.13': resolution: {integrity: sha512-KSVgmQmzMwPlmtljOomayoR89W4FynCAi3E8PPs7vmDVPe84hT+vGPKkJfThkmXs0x0jAaa9U8uW8bbfyS2fWw==} + '@types/deep-eql@4.0.2': + resolution: {integrity: sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==} + '@types/eslint-scope@3.7.7': resolution: {integrity: sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==} '@types/eslint@9.6.1': resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + '@types/esrecurse@4.3.1': + resolution: {integrity: sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==} + '@types/estree@1.0.8': resolution: {integrity: sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==} @@ -3366,9 +3432,6 @@ packages: '@types/webidl-conversions@7.0.3': resolution: {integrity: sha512-CiJJvcRtIgzadHCYXw7dqEnMNRjhGZlYK05Mj9OyktqV8uVT8fD2BFOB7S1uwBE3Kj2Z+4UyPmFw/Ixgw/LAlA==} - '@types/whatwg-url@11.0.5': - resolution: {integrity: sha512-coYR071JRaHa+xoEvvYqvnIHaVqaYrLPbsufM9BF63HkwI5Lgmy2QR8Q5K/lYDYo5AK82wOvSOS0UsLTpTG7uQ==} - '@types/whatwg-url@13.0.0': resolution: {integrity: sha512-N8WXpbE6Wgri7KUSvrmQcqrMllKZ9uxkYWMt+mCSGwNc0Hsw9VQTW7ApqI4XNrx6/SaM2QQJCzMPDEXE058s+Q==} @@ -3383,6 +3446,14 @@ packages: typescript: optional: true + '@typescript-eslint/eslint-plugin@8.62.1': + resolution: {integrity: sha512-4EQM77WgVNxj7OkL/5b/D/xZsw00G577+UriYTC7JF5opcF3T2AuoeY7ueLaZgSVjSgCS6yOAJB5bRGLPSJUzA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.62.1 + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/parser@5.62.0': resolution: {integrity: sha512-VlJEV0fOQ7BExOsHYAGrgbEiZoi8D+Bl2+f6V2RrXerRSylnp+ZBHmPvaIa8cz0Ajx7WO7Z5RqfgYg7ED1nRhA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3393,10 +3464,33 @@ packages: typescript: optional: true + '@typescript-eslint/parser@8.62.1': + resolution: {integrity: sha512-sPhE4iHuJDSvoAiec+Ro8JyXw8f0ql13HFR82P99nCm9GwTEKG0KYLvDe6REk8BCXuit6vJAv/Yxg5ABaNS2rA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + + '@typescript-eslint/project-service@8.62.1': + resolution: {integrity: sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/scope-manager@5.62.0': resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/scope-manager@8.62.1': + resolution: {integrity: sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/tsconfig-utils@8.62.1': + resolution: {integrity: sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/type-utils@5.62.0': resolution: {integrity: sha512-xsSQreu+VnfbqQpW5vnCJdq1Z3Q0U31qiWmRhr98ONQmcp/yhiPJFPq8MXiJVLiksmOKSjIldZzkebzHuCGzew==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3407,10 +3501,21 @@ packages: typescript: optional: true + '@typescript-eslint/type-utils@8.62.1': + resolution: {integrity: sha512-aXM5xlqXiTxPibXB93cLAURfT3rlizf7uMXISCXy66Isr/9hISJx3yDsKl0L7lKa51b8JpFuNKby0/O0pEm9jg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/types@5.62.0': resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/types@8.62.1': + resolution: {integrity: sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@5.62.0': resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -3420,23 +3525,37 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.62.1': + resolution: {integrity: sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/utils@5.62.0': resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 + '@typescript-eslint/utils@8.62.1': + resolution: {integrity: sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + '@typescript-eslint/visitor-keys@5.62.0': resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + '@typescript-eslint/visitor-keys@8.62.1': + resolution: {integrity: sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typespec/ts-http-runtime@0.3.2': resolution: {integrity: sha512-IlqQ/Gv22xUC1r/WQm4StLkYQmaaTsXAhUVsNE0+xiyf0yRFiH5++q78U3bw6bLKDCTmh0uqKB9eG9+Bt75Dkg==} engines: {node: '>=20.0.0'} - '@ungap/structured-clone@1.3.0': - resolution: {integrity: sha512-WmoN8qaIAo7WTYWbAZuG8PYEhn5fkz7dZrqTBZ7dtt//lL2Gwms1IcnQ5yHqjDfX8Ft5j4YzDM23f87zBfDe9g==} - '@vercel/oidc@3.2.0': resolution: {integrity: sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==} engines: {node: '>= 20'} @@ -3458,9 +3577,9 @@ packages: '@vscode/l10n@0.0.18': resolution: {integrity: sha512-KYSIHVmslkaCDyw013pphY+d7x1qV8IZupYfeIfzNA+nsaWHbn5uPuQRvdRFsa9zFzGeudPuoGoZ1Op4jrJXIQ==} - '@vscode/test-electron@2.5.2': - resolution: {integrity: sha512-8ukpxv4wYe0iWMRQU18jhzJOHkeGKbnw7xWRX3Zw1WJA4cEKbHcmmLPdPrPtL6rhDcrlCZN+xKRpv09n4gRHYg==} - engines: {node: '>=16'} + '@vscode/test-electron@3.0.0': + resolution: {integrity: sha512-TY5mC7aAjxSLDXsyjhrG8cJHgc/HLdiE5lvtW7hABYQrY24Qwozzr5UoO3HiuAM4Hzz4b7K/eZlwrCILj94CcA==} + engines: {node: '>=22'} '@vscode/vsce-sign-alpine-arm64@2.0.6': resolution: {integrity: sha512-wKkJBsvKF+f0GfsUuGT0tSW0kZL87QggEiqNqK6/8hvqsXvpx8OsTEc3mnE1kejkh5r+qUyQ7PtF8jZYN0mo8Q==} @@ -3575,10 +3694,9 @@ packages: '@webassemblyjs/wast-printer@1.14.1': resolution: {integrity: sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==} - '@xmldom/xmldom@0.7.13': - resolution: {integrity: sha512-lm2GW5PkosIzccsaZIz7tp8cPADSIlIHWDFTR1N0SzfinhhYgeIQjFMz4rYzanCScr3DqQLeomUDArp6MWKm+g==} - engines: {node: '>=10.0.0'} - deprecated: this version is no longer supported, please update to at least 0.8.* + '@xmldom/xmldom@0.9.10': + resolution: {integrity: sha512-A9gOqLdi6cV4ibazAjcQufGj0B1y/vDqYrcuP6d/6x8P27gRS8643Dj9o1dEKtB6O7fwxb2FgBmJS2mX7gpvdw==} + engines: {node: '>=14.6'} '@xtuc/ieee754@1.2.0': resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} @@ -3598,9 +3716,6 @@ packages: a-sync-waterfall@1.0.1: resolution: {integrity: sha512-RYTOHHdWipFUliRFMCS4X2Yn2X8M87V/OpSqWzKKOGhzqyUxzyVmhHDH9sAvG+ZuQf/TAOFsLCpMw09I1ufUnA==} - abbrev@1.1.1: - resolution: {integrity: sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==} - abort-controller@3.0.0: resolution: {integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==} engines: {node: '>=6.5'} @@ -3634,10 +3749,6 @@ packages: engines: {node: '>=0.4.0'} hasBin: true - agent-base@6.0.2: - resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} - engines: {node: '>= 6.0.0'} - agent-base@7.1.4: resolution: {integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==} engines: {node: '>= 14'} @@ -3716,14 +3827,6 @@ packages: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} engines: {node: '>= 8'} - aproba@2.1.0: - resolution: {integrity: sha512-tLIEcj5GuR2RSTnxNKdkK0dJ/GrC7P38sUkiDmDuHfsHmbagTFAxDVIBltoklXEVIQ/f14IL8IMJ5pn9Hez1Ew==} - - are-we-there-yet@2.0.0: - resolution: {integrity: sha512-Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==} - engines: {node: '>=10'} - deprecated: This package is no longer supported. - arg@4.1.3: resolution: {integrity: sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==} @@ -3798,6 +3901,10 @@ packages: resolution: {integrity: sha512-uLvq6KJu04qoQM6gvBfKFjlh6Gl0vOKQuR5cJMDHQkmwfMOQeN3F3SHCv9SNYSL+CRoHvOGFfllDlVz03GQjvQ==} engines: {node: '>=12.0.0'} + assertion-error@2.0.1: + resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} + engines: {node: '>=12'} + ast-types-flow@0.0.8: resolution: {integrity: sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==} @@ -3875,10 +3982,9 @@ packages: resolution: {integrity: sha512-a28v2eWrrRWPpJSzxc+mKwm0ZtVx/G8SepdQZDArnXYU/XS+IF6mp8aB/4E+hH1tyGCoDo3KlUCdlSxGDsRkAw==} hasBin: true - basic-ftp@5.2.0: - resolution: {integrity: sha512-VoMINM2rqJwJgfdHq6RiUudKt2BV+FY5ZFezP/ypmwayk68+NzzAQy4XXLlqsGD4MCzq3DrmNFD/uUmBJuGoXw==} + basic-ftp@5.3.1: + resolution: {integrity: sha512-bopVNp6ugyA150DDuZfPFdt1KZ5a94ZDiwX4hMgZDzF+GttD80lEy8kj98kbyhLXnPvhtIo93mdnLIjpCAeeOw==} engines: {node: '>=10.0.0'} - deprecated: Security vulnerability fixed in 5.2.1, please upgrade bcrypt-pbkdf@1.0.2: resolution: {integrity: sha512-qeFIXtP4MSoi6NLqO12WfqARWWuCKi2Rn/9hJLEmtB5yTNr9DqFWkJRCf2qShWzPeAMRnOgCrq0sg/KLv5ES9w==} @@ -4054,10 +4160,6 @@ packages: caniuse-lite@1.0.30001791: resolution: {integrity: sha512-yk0l/YSrOnFZk3UROpDLQD9+kC1l4meK/wed583AXrzoarMGJcbRi2Q4RaUYbKxYAsZ8sWmaSa/DsLmdBeI1vQ==} - canvas@2.11.2: - resolution: {integrity: sha512-ItanGBMrmRV7Py2Z+Xhs7cT+FNt5K0vPL4p9EZ/UX/Mu7hFbkxSjKF2KVtPwX7UYWp7dRKnrTvReflgrItJbdw==} - engines: {node: '>=6'} - ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} @@ -4203,10 +4305,6 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} - color-support@1.1.3: - resolution: {integrity: sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==} - hasBin: true - colors@1.0.3: resolution: {integrity: sha512-pFGrxThWcWQ2MsAz6RtgeWe4NK2kUE1WfsrvvlctdII745EW9I0yflqhe7++M5LEc7bV2c/9/5zc8sFcpL0Drw==} engines: {node: '>=0.1.90'} @@ -4241,9 +4339,6 @@ packages: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} engines: {node: '>= 10'} - console-control-strings@1.1.0: - resolution: {integrity: sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==} - content-disposition@1.0.1: resolution: {integrity: sha512-oIXISMynqSqm241k6kcQ5UwttDILMK4BiurCfGEREw6+X9jkkpEe5T9FZaApyLGGOnFuyMWZpdolTXMtvEJ08Q==} engines: {node: '>=18'} @@ -4327,8 +4422,8 @@ packages: css-select@5.2.2: resolution: {integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==} - css-tree@2.3.1: - resolution: {integrity: sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==} + css-tree@3.2.1: + resolution: {integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==} engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} css-what@6.2.2: @@ -4338,10 +4433,6 @@ packages: cssfilter@0.0.10: resolution: {integrity: sha512-FAaLDaplstoRsDR8XGYH51znUN0UY7nMc6Z9/fvE8EXGwvJE9hu7W2vHwx1+bd6gCYnln9nLbzxFTrcO9YQDZw==} - cssstyle@4.6.0: - resolution: {integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==} - engines: {node: '>=18'} - csstype@3.2.3: resolution: {integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==} @@ -4401,9 +4492,9 @@ packages: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} - data-urls@5.0.0: - resolution: {integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==} - engines: {node: '>=18'} + data-urls@7.0.0: + resolution: {integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} data-view-buffer@1.0.2: resolution: {integrity: sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==} @@ -4456,10 +4547,6 @@ packages: resolution: {integrity: sha512-FqUYQ+8o158GyGTrMFJms9qh3CqTKvAqgqsTnkLI8sKu0028orqBhxNMFkFen0zGyg6epACD32pjVk58ngIErQ==} engines: {node: '>=0.10'} - decompress-response@4.2.1: - resolution: {integrity: sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==} - engines: {node: '>=8'} - decompress-response@6.0.0: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} @@ -4537,9 +4624,6 @@ packages: delegate@3.2.0: resolution: {integrity: sha512-IofjkYBZaZivn0V8nnsMJGBr4jVLxHDheKSW88PyxS5QC4Vo9ZbZVvhzlSxY87fVq3STR6r+4cGepyHkcWOQSw==} - delegates@1.0.0: - resolution: {integrity: sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==} - depcheck@1.4.7: resolution: {integrity: sha512-1lklS/bV5chOxwNKA/2XUUk/hPORp8zihZsXflr8x0kLwmcZ9Y9BsS6Hs3ssvA+2wUVbG0U2Ciqvm1SokNjPkA==} engines: {node: '>=10'} @@ -4594,10 +4678,6 @@ packages: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} engines: {node: '>=0.10.0'} - doctrine@3.0.0: - resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} - engines: {node: '>=6.0.0'} - dom-accessibility-api@0.5.16: resolution: {integrity: sha512-X7BJ2yElsnOJ30pZF4uIIDfBEVgF4XEBxL9Bxhy6dnrm5hkzqmsWHGTiHqRiITNhMyFLyAiWndIJP7Z1NTteDg==} @@ -4726,6 +4806,10 @@ packages: resolution: {integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==} engines: {node: '>=0.12'} + entities@8.0.0: + resolution: {integrity: sha512-zwfzJecQ/Uej6tusMqwAqU/6KL2XaB2VZ2Jg54Je6ahNBGNH6Ek6g3jjNCF0fG9EWQKGZNddNjU5F1ZQn/sBnA==} + engines: {node: '>=20.19.0'} + env-paths@3.0.0: resolution: {integrity: sha512-dtJUTepzMW3Lm/NPxRf3wP4642UWhjL2sQxc+ym2YMj1m/H2zDNQOlezafzkHwn6sMstjHTwG6iQQsctDW/b1A==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -4826,11 +4910,10 @@ packages: peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9 - eslint-plugin-mocha@10.5.0: - resolution: {integrity: sha512-F2ALmQVPT1GoP27O1JTZGrV9Pqg8k79OeIuvw63UxMtQKREZtmkK1NFgkZQ2TW7L2JSSFKHFPTtHu5z8R9QNRw==} - engines: {node: '>=14.0.0'} + eslint-plugin-mocha@11.3.0: + resolution: {integrity: sha512-anENwrIwmdvunmmssjMn5a4nTd+mYMkqBlwjksxOECcIThLNhefWJIiTWY7pY/arMQFjNwHQjVOZb6pQ9PrLjg==} peerDependencies: - eslint: '>=7.0.0' + eslint: '>=9.0.0' eslint-plugin-mocha@8.2.0: resolution: {integrity: sha512-8oOR47Ejt+YJPNQzedbiklDqS1zurEaNrxXpRs+Uk4DMDPVmKNagShFeUaYsfvWP55AhI+P1non5QZAHV6K78A==} @@ -4854,20 +4937,14 @@ packages: resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} engines: {node: '>=8.0.0'} - eslint-scope@7.2.2: - resolution: {integrity: sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + eslint-scope@9.1.2: + resolution: {integrity: sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} eslint-utils@2.1.0: resolution: {integrity: sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==} engines: {node: '>=6'} - eslint-utils@3.0.0: - resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} - engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} - peerDependencies: - eslint: '>=5' - eslint-visitor-keys@1.3.0: resolution: {integrity: sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==} engines: {node: '>=4'} @@ -4880,23 +4957,31 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint@8.57.1: - resolution: {integrity: sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. + eslint-visitor-keys@5.0.1: + resolution: {integrity: sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} + + eslint@10.6.0: + resolution: {integrity: sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} hasBin: true + peerDependencies: + jiti: '*' + peerDependenciesMeta: + jiti: + optional: true - espree@9.6.1: - resolution: {integrity: sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + espree@11.2.0: + resolution: {integrity: sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24} esprima@4.0.1: resolution: {integrity: sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==} engines: {node: '>=4'} hasBin: true - esquery@1.6.0: - resolution: {integrity: sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==} + esquery@1.7.0: + resolution: {integrity: sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==} engines: {node: '>=0.10'} esrecurse@4.3.0: @@ -4988,8 +5073,8 @@ packages: fast-string-width@3.0.2: resolution: {integrity: sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==} - fast-uri@3.1.0: - resolution: {integrity: sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==} + fast-uri@3.1.3: + resolution: {integrity: sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==} fast-wrap-ansi@0.2.0: resolution: {integrity: sha512-rLV8JHxTyhVmFYhBJuMujcrHqOT2cnO5Zxj37qROj23CP39GXubJRBUFF0z8KFK77Uc0SukZUf7JZhsVEQ6n8w==} @@ -4997,8 +5082,8 @@ packages: fast-xml-builder@1.1.8: resolution: {integrity: sha512-sDVBc2gg8pSKvcbE8rBmOyjSGQf0AdsbqvHeIOv3D/uYNoV4eCReQXyDF8Pdv8+m1FHazACypSz2hR7O2S1LLw==} - fast-xml-parser@5.7.3: - resolution: {integrity: sha512-C0AaNuC+mscy6vrAQKAc/rMq+zAPHodfHGZu4sGVehvAQt/JLG1O5zEcYcXSY5zSqr4YVgxsB+pHXTq0i7eDlg==} + fast-xml-parser@5.7.2: + resolution: {integrity: sha512-P7oW7tLbYnhOLQk/Gv7cZgzgMPP/XN03K02/Jy6Y/NHzyIAIpxuZIM/YqAkfiXFPxA2CTm7NtCijK9EDu09u2w==} hasBin: true fastest-levenshtein@1.0.16: @@ -5024,9 +5109,9 @@ packages: resolution: {integrity: sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==} engines: {node: ^12.20 || >= 14.13} - file-entry-cache@6.0.1: - resolution: {integrity: sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==} - engines: {node: ^10.12.0 || >=12.0.0} + file-entry-cache@8.0.0: + resolution: {integrity: sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==} + engines: {node: '>=16.0.0'} file-type@3.9.0: resolution: {integrity: sha512-RLoqTXE8/vPmMuTI88DAzhMYC99I8BWv7zYP4A1puo5HIjEJ5EX48ighy4ZyKMG9EDXxBgW6e++cn7d1xuFghA==} @@ -5070,9 +5155,9 @@ packages: resolution: {integrity: sha512-MzwXju70AuyflbgeOhzvQWAvvQdo1XL0A9bVvlXsYcFEBM87WR4OakL4OfZq+QRmr+duJubio+UtNQCPsVESzQ==} engines: {node: '>= 10.13.0'} - flat-cache@3.2.0: - resolution: {integrity: sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==} - engines: {node: ^10.12.0 || >=12.0.0} + flat-cache@4.0.1: + resolution: {integrity: sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==} + engines: {node: '>=16'} flat@5.0.2: resolution: {integrity: sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==} @@ -5166,11 +5251,6 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} - gauge@3.0.2: - resolution: {integrity: sha512-+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==} - engines: {node: '>=10'} - deprecated: This package is no longer supported. - gaxios@7.1.3: resolution: {integrity: sha512-YGGyuEdVIjqxkxVH1pUTMY/XtmmsApXrCVv5EU25iX6inEPbV+VakJfLealkBtJN69AQmh1eGOdCl9Sm1UP6XQ==} engines: {node: '>=18'} @@ -5261,9 +5341,9 @@ packages: resolution: {integrity: sha512-5lsx1NUDHtSjfg0eHlmYvZKv8/nVqX4ckFbM+FrGcQ+04KWcWFo9P5MxPZYSzUvyzmdTbI7Eix8Q4IbELDqzKg==} engines: {node: '>=0.10.0'} - globals@13.24.0: - resolution: {integrity: sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==} - engines: {node: '>=8'} + globals@15.15.0: + resolution: {integrity: sha512-7ACyT3wmyp3I61S4fG682L0VA2RGD9otkqGJIwNUMF1SWUombIIk+af1unuDYgMm082aHYwD+mzJvv9Iu8dsgg==} + engines: {node: '>=18'} globalthis@1.0.4: resolution: {integrity: sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==} @@ -5341,9 +5421,6 @@ packages: resolution: {integrity: sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==} engines: {node: '>= 0.4'} - has-unicode@2.0.1: - resolution: {integrity: sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==} - hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -5397,8 +5474,8 @@ packages: resolution: {integrity: sha512-eSmmWE5bZTK2Nou4g0AI3zZ9rswp7GRKoKXS1BLUkvPviOqs4YTN1djQIqrXy9k5gEtdLPy86JjRwsNM9tnDcA==} engines: {node: '>=0.10.0'} - hono@4.12.7: - resolution: {integrity: sha512-jq9l1DM0zVIvsm3lv9Nw9nlJnMNPOcAtsbsgiUhWcFzPE99Gvo6yRTlszSLLYacMeQ6quHD6hMfId8crVHvexw==} + hono@4.12.27: + resolution: {integrity: sha512-1yrb/+w6HWQJrUCLkJ2IF5jNIPvvFkblV5RNOYl6bV+OA6p9GLcMpHFFGTosSvHvcAUibuUukRqhlYI4z32C7Q==} engines: {node: '>=16.9.0'} hosted-git-info@2.8.9: @@ -5412,9 +5489,9 @@ packages: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} engines: {node: ^16.14.0 || >=18.0.0} - html-encoding-sniffer@4.0.0: - resolution: {integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==} - engines: {node: '>=18'} + html-encoding-sniffer@6.0.0: + resolution: {integrity: sha512-CV9TW3Y3f8/wT0BRFc1/KAVQ3TUHiXmaAb6VW9vtiMFf7SLoMd1PdAc4W3KFOFETBJUb90KatHqlsZMWV+R9Gg==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} html-escaper@3.0.3: resolution: {integrity: sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==} @@ -5447,10 +5524,6 @@ packages: resolution: {integrity: sha512-V+23sDMr12Wnz7iTcDeJr3O6AIxlnvT/bmaAAAP/Xda35C90p9599p0F1eHR/N1KILWSoWVAiOMFjBBXaXSMxg==} engines: {node: '>=10.19.0'} - https-proxy-agent@5.0.1: - resolution: {integrity: sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==} - engines: {node: '>= 6'} - https-proxy-agent@7.0.6: resolution: {integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==} engines: {node: '>= 14'} @@ -5803,22 +5876,22 @@ packages: js-tokens@4.0.0: resolution: {integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==} - js-yaml@3.14.2: - resolution: {integrity: sha512-PMSmkqxr106Xa156c2M265Z+FTrPl+oxd/rgOQy2tijQeK5TxQ43psO1ZCwhVOSdnn+RzkzlRz/eY4BgJBYVpg==} + js-yaml@3.15.0: + resolution: {integrity: sha512-ttBQIIQPDeLjpPOohtUdXuXUVoA2uIB6fEH9HyJ7234s5mBJ5wTx20njxplLZQgLaOfpmPQA7X2t5AX6tIPbog==} hasBin: true - js-yaml@4.1.1: - resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==} + js-yaml@4.3.0: + resolution: {integrity: sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==} hasBin: true jsbn@1.1.0: resolution: {integrity: sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==} - jsdom@23.2.0: - resolution: {integrity: sha512-L88oL7D/8ufIES+Zjz7v0aes+oBMh2Xnh3ygWvL0OaICOomKEPKuPnIfBJekiXr+BHbbMjrWn/xqrDQuxFTeyA==} - engines: {node: '>=18'} + jsdom@29.1.1: + resolution: {integrity: sha512-ECi4Fi2f7BdJtUKTflYRTiaMxIB0O6zfR1fX0GXpUrf6flp8QIYn1UT20YQqdSOfk2dfkCwS8LAFoJDEppNK5Q==} + engines: {node: ^20.19.0 || ^22.13.0 || >=24.0.0} peerDependencies: - canvas: ^2.11.2 + canvas: ^3.0.0 peerDependenciesMeta: canvas: optional: true @@ -5928,8 +6001,8 @@ packages: lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - linkify-it@5.0.0: - resolution: {integrity: sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==} + linkify-it@5.0.2: + resolution: {integrity: sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==} lit-element@4.2.2: resolution: {integrity: sha512-aFKhNToWxoyhkNDmWZwEva2SlQia+jfG0fjIWV//YeTaWrVnOxD89dPKfigCUspXFmjzOEUQpOkejH5Ly6sG0w==} @@ -6046,10 +6119,6 @@ packages: resolution: {integrity: sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ==} engines: {node: '>=4'} - make-dir@3.1.0: - resolution: {integrity: sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==} - engines: {node: '>=8'} - make-error@1.3.6: resolution: {integrity: sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==} @@ -6093,8 +6162,8 @@ packages: mdast-util-to-string@3.2.0: resolution: {integrity: sha512-V4Zn/ncyN1QNSqSBxTrMOLpjr+IKdHl2v3KVLoWmDPscP4r9GcCi71gjgvUV1SFSKh92AjAG4peFuBl2/YgCJg==} - mdn-data@2.0.30: - resolution: {integrity: sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==} + mdn-data@2.27.1: + resolution: {integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==} mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} @@ -6231,10 +6300,6 @@ packages: resolution: {integrity: sha512-j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==} engines: {node: '>=4'} - mimic-response@2.1.0: - resolution: {integrity: sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==} - engines: {node: '>=8'} - mimic-response@3.1.0: resolution: {integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==} engines: {node: '>=10'} @@ -6247,13 +6312,13 @@ packages: resolution: {integrity: sha512-oRjTw/97aTBN0RHbYCdtF1MQfvusSIBQM0IZEgzl6426+8jSC0nF1a/GmnVLpfB9yyr6g6FTqWqiZVbxrtaCIg==} engines: {node: 18 || 20 || >=22} + minimatch@10.2.5: + resolution: {integrity: sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==} + engines: {node: 18 || 20 || >=22} + minimatch@3.1.5: resolution: {integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==} - minimatch@5.1.9: - resolution: {integrity: sha512-7o1wEA2RyMP7Iu7GNba9vc0RWWGACJOCZBJX2GJWip0ikV+wcOsgVuY9uE8CPiyQhkGFSlhuSkZPavN7u1c2Fw==} - engines: {node: '>=10'} - minimatch@7.4.9: resolution: {integrity: sha512-Brg/fp/iAVDOQoHxkuN5bEYhyQlZhxddI78yWsCbeEwTHXQjlNLtiJDUsp1GIptVqMI7/gkJMz4vVAc01mpoBw==} engines: {node: '>=10'} @@ -6323,9 +6388,6 @@ packages: mongodb-cloud-info@2.3.14: resolution: {integrity: sha512-WymKi76lhMQmoP+msBYZyQrdCi6Ol6lek2T7k1RzgjVp34O3McOlNB7SvXeOCMYQoAUVO0vEpCzaWi0mq/juRQ==} - mongodb-connection-string-url@3.0.2: - resolution: {integrity: sha512-rMO7CGo/9BFwyZABcKAWL8UJwH/Kc2x0g72uhDWzG48URRax5TCIcJ7Rc3RZqffZzO/Gwff/jyKwCU9TN8gehA==} - mongodb-connection-string-url@7.0.1: resolution: {integrity: sha512-h0AZ9A7IDVwwHyMxmdMXKy+9oNlF0zFoahHiX3vQ8e3KFcSP3VmsmfvtRSuLPxmyv2vjIDxqty8smTgie/SNRQ==} engines: {node: '>=20.19.0'} @@ -6528,11 +6590,6 @@ packages: resolution: {integrity: sha512-8z5dAbhpxmk/WRQHXlv4V0h+9Y4Ugk+w08lyhV/7E/CQX9yDdBc3025/EG+RSMJU2aPFh/IQ7XDV7Ti5TLt/TA==} engines: {node: '>=20'} - nopt@5.0.0: - resolution: {integrity: sha512-Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==} - engines: {node: '>=6'} - hasBin: true - normalize-package-data@2.5.0: resolution: {integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==} @@ -6552,10 +6609,6 @@ packages: resolution: {integrity: sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==} engines: {node: '>=10'} - npmlog@5.0.1: - resolution: {integrity: sha512-AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==} - deprecated: This package is no longer supported. - nth-check@2.1.1: resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} @@ -6636,7 +6689,7 @@ packages: resolution: {integrity: sha512-p99EFNsA/yX6UhVO93f5kJsDRLAg+CTA2RBqdHK4RtK8u5IJw32Hyb2dTGKbnnFmnuoBv5r7Z2CURI9sGZpSuA==} hasBin: true peerDependencies: - ws: ^8.18.0 + ws: ^8.21.0 zod: ^3.23.8 peerDependenciesMeta: ws: @@ -6756,6 +6809,9 @@ packages: parse5@7.3.0: resolution: {integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==} + parse5@8.0.1: + resolution: {integrity: sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==} + parseurl@1.3.3: resolution: {integrity: sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==} engines: {node: '>= 0.8'} @@ -6930,9 +6986,6 @@ packages: resolution: {integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==} engines: {node: '>= 0.10'} - psl@1.15.0: - resolution: {integrity: sha512-JZd3gMVBAVQkSs6HdNZo9Sdo0LNcQeMNP3CozBJb3JYC/QUYZTnKxP+f8oWRX4rHP5EurWxqAHTSwUCjlNKa1w==} - pump@3.0.3: resolution: {integrity: sha512-todwxLMY7/heScKmntwQG8CXVkWUOdYxIvY2s0VWAAMh/nd8SoYiRaKjlr7+iCs984f2P8zvrfWcDDYVb73NfA==} @@ -6962,9 +7015,6 @@ packages: resolution: {integrity: sha512-hh2WYhq4fi8+b+/2Kg9CEge4fDPvHS534aOOvOZeQ3+Vf2mCFsaFBYj0i+iXcAq6I9Vzp5fjMFBlONvayDC1qg==} engines: {node: '>=6'} - querystringify@2.2.0: - resolution: {integrity: sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==} - queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} @@ -6976,9 +7026,6 @@ packages: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} - rambda@7.5.0: - resolution: {integrity: sha512-y/M9weqWAH4iopRd7EHDEQQvpFPHj1AA3oHozE9tfITHUtTR7Z9PSlIRRG2l1GuW7sefC1cXFfIcF+cgnShdBA==} - ramda@0.27.2: resolution: {integrity: sha512-SbiLPU40JuJniHexQSAgad32hfwd+DRUdwF2PlVuI5RZD0/vahUco7R8vD86J/tcEKKF9vZrUVwgtmGCqlCKyA==} @@ -7202,9 +7249,6 @@ packages: require-package-name@2.0.1: resolution: {integrity: sha512-uuoJ1hU/k6M0779t3VMVIYpb2VMJk05cehCaABFhXaibcbvfgR8wKiozLjVFSzJPmQMRqIcO0HMyTFqfV09V6Q==} - requires-port@1.0.0: - resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} - reselect@5.1.1: resolution: {integrity: sha512-K/BG6eIky/SBpzfHZv/dd+9JBFiS4SWV7FIujVyJRux6e45+73RaUHXLmIR1f7WOMaQ0U1km6qwklRQxpJJY0w==} @@ -7269,11 +7313,6 @@ packages: rfdc@1.4.1: resolution: {integrity: sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==} - rimraf@3.0.2: - resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} - deprecated: Rimraf versions prior to v4 are no longer supported - hasBin: true - rimraf@5.0.10: resolution: {integrity: sha512-l0OE8wL34P4nJH/H2ffoaniAokM2qSmrtXHmlpvYr5AVVX8msAyW0l8NVJFDxlSK4u3Uh/f41cQheDVdnYijwQ==} hasBin: true @@ -7291,12 +7330,6 @@ packages: resolution: {integrity: sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==} engines: {node: '>= 18'} - rrweb-cssom@0.6.0: - resolution: {integrity: sha512-APM0Gt1KoXBz0iIkkdB/kfvGOwC4UuJFeG/c+yV7wSc7q96cG/kJ0HiYCnzivD9SB53cLV1MlHFNfOuPaadYSw==} - - rrweb-cssom@0.8.0: - resolution: {integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==} - run-applescript@7.1.0: resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} engines: {node: '>=18'} @@ -7378,6 +7411,11 @@ packages: engines: {node: '>=10'} hasBin: true + semver@7.8.5: + resolution: {integrity: sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==} + engines: {node: '>=10'} + hasBin: true + send@1.2.0: resolution: {integrity: sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==} engines: {node: '>= 18'} @@ -7397,9 +7435,6 @@ packages: resolution: {integrity: sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==} engines: {node: '>= 18'} - set-blocking@2.0.0: - resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} - set-function-length@1.2.2: resolution: {integrity: sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==} engines: {node: '>= 0.4'} @@ -7456,9 +7491,6 @@ packages: simple-concat@1.0.1: resolution: {integrity: sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==} - simple-get@3.1.1: - resolution: {integrity: sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==} - simple-get@4.0.1: resolution: {integrity: sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==} @@ -7817,8 +7849,15 @@ packages: resolution: {integrity: sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==} engines: {node: '>=12.0.0'} - tmp@0.2.5: - resolution: {integrity: sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==} + tldts-core@7.4.6: + resolution: {integrity: sha512-TkQNGJIhlEphpHCjKodMTSe23egUZr/g+flI2qkLgiJ/maAzSgXypSLRTNH3nCmqgayEmtcJBiLcfODSAr1xoA==} + + tldts@7.4.6: + resolution: {integrity: sha512-rbP0Gyx8b3Ae9yO//CU2wbSnQNoQ66m1nJdSbSHmnwKwzkkz/u8mERYU8T2rmlmy+bJvRNn84yNCW8gYqox44Q==} + hasBin: true + + tmp@0.2.7: + resolution: {integrity: sha512-e0votIpp4Uo2AJYSzVHV6xCcawuiez3DzqDAbrTc3YxBkplN6e+dM13ZeIcZnDg/QpSuU2zfZ3rzwY8ukEnaXw==} engines: {node: '>=14.14'} to-buffer@1.2.2: @@ -7837,9 +7876,9 @@ packages: resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} engines: {node: '>=6'} - tough-cookie@4.1.4: - resolution: {integrity: sha512-Loo5UUvLD9ScZ6jh8beX1T6sO1w2/MpCRpEP7V280GKMVUQ0Jzar2U3UJPsrdbziLEMMhu3Ujnq//rhiFuIeag==} - engines: {node: '>=6'} + tough-cookie@6.0.1: + resolution: {integrity: sha512-LktZQb3IeoUWB9lqR5EWTHgW/VTITCXg4D21M+lvybRVdylLrRMnqaIONLVb5mav8vM19m44HIcGq4qASeu2Qw==} + engines: {node: '>=16'} tr46@0.0.3: resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==} @@ -7848,6 +7887,10 @@ packages: resolution: {integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==} engines: {node: '>=18'} + tr46@6.0.0: + resolution: {integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==} + engines: {node: '>=20'} + trim-lines@3.0.1: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} @@ -7855,13 +7898,19 @@ packages: resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} engines: {node: '>=8'} - trim@0.0.1: - resolution: {integrity: sha512-YzQV+TZg4AxpKxaTHK3c3D+kRDCGVEE7LemdlQZoQXn0iennk10RsIoY6ikzAqJTc9Xjl9C1/waHom/J86ziAQ==} + trim@0.0.3: + resolution: {integrity: sha512-h82ywcYhHK7veeelXrCScdH7HkWfbIT1D/CgYO+nmDarz3SGNssVBMws6jU16Ga60AJCRAvPV6w6RLuNerQqjg==} deprecated: Use String.prototype.trim() instead trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} + ts-api-utils@2.5.0: + resolution: {integrity: sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + ts-levenshtein@1.0.7: resolution: {integrity: sha512-wautEf7gl2ITJuRTTYxnlrLjzUUcwFSdg46bcu4RlzoE/zQM++TJjBFRf2Xhil49GiHqKCqmpjf1lBkWnAHj0A==} @@ -7943,10 +7992,6 @@ packages: resolution: {integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==} engines: {node: '>=10'} - type-fest@0.20.2: - resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} - engines: {node: '>=10'} - type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} @@ -7982,6 +8027,13 @@ packages: typed-rest-client@1.8.11: resolution: {integrity: sha512-5UvfMpd1oelmUPRbbaVnq+rHP7ng2cE4qoQkQeAqxRL6PklkxsM0g32/HL0yfvruK6ojQ5x8EE+HF4YV6DtuCA==} + typescript-eslint@8.62.1: + resolution: {integrity: sha512-vymnnM5g0AKQDSAyfP12nMIBvgwgA42syg74kkuZ4x1VuTzwQKwc5h9rGxeShCjny5o+zWAb6OEoz7XLgrIkIw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 + typescript: '>=4.8.4 <6.1.0' + typescript@5.9.3: resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} @@ -8009,10 +8061,6 @@ packages: undici-types@7.18.2: resolution: {integrity: sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==} - undici@7.24.0: - resolution: {integrity: sha512-jxytwMHhsbdpBXxLAcuu0fzlQeXCNnWdDyRHpvWsUl8vd98UwYdl9YTyn8/HcpcJPC3pwUveefsa3zTxyD/ERg==} - engines: {node: '>=20.18.1'} - undici@7.28.0: resolution: {integrity: sha512-cRZYrTDwWznlnRiPjggAGxZXanty6M8RV1ff8Wm4LWXBp7/IG8v5DnOm74DtUBp9OONpK75YlPnIjQqX0dBDtA==} engines: {node: '>=20.18.1'} @@ -8071,10 +8119,6 @@ packages: universal-user-agent@6.0.1: resolution: {integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==} - universalify@0.2.0: - resolution: {integrity: sha512-CJ1QgKmNg3CwvAv/kOFmtnEN05f0D/cn9QntgNOQlQF9dgvVTHj3t+8JPdjqawCHk7V/KA+fbUqzZ9XWhcqPUg==} - engines: {node: '>= 4.0.0'} - universalify@2.0.1: resolution: {integrity: sha512-gptHNQghINnc/vTGIk0SOFGFNXw7JVrlRUtConJRlvaw6DuX0wO5Jeko9sWrMBhh+PsYAZ7oXAiOnf/UKogyiw==} engines: {node: '>= 10.0.0'} @@ -8101,9 +8145,6 @@ packages: url-join@4.0.1: resolution: {integrity: sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==} - url-parse@1.5.10: - resolution: {integrity: sha512-WypcfiRhfeUP9vvF0j6rw0J3hrWrw6iZv3+22h6iRMJ/8z1Tj6XfLP4DsUix5MhMPnXpiHDoKyoZ/bdCkwBCiQ==} - use-composed-ref@1.4.0: resolution: {integrity: sha512-djviaxuOOh7wkj0paeO1Q/4wMZ8Zrnag5H6yBvzN7AKKe8beOaED9SF5/ByLqsku8NP4zQqsvM2u3ew/tJK8/w==} peerDependencies: @@ -8197,19 +8238,32 @@ packages: resolution: {integrity: sha512-C+r0eKJUIfiDIfwJhria30+TYWPtuHJXHtI7J0YlOmKAo7ogxP20T0zxB7HZQIFhIyvoBPwWskjxrvAtfjyZfA==} engines: {node: '>=14.0.0'} - vscode-languageclient@9.0.1: - resolution: {integrity: sha512-JZiimVdvimEuHh5olxhxkht09m3JzUGwggb5eRUkzzJhZ2KjCN0nh55VfiED9oez9DyF8/fz1g1iBV3h+0Z2EA==} - engines: {vscode: ^1.82.0} + vscode-jsonrpc@9.0.1: + resolution: {integrity: sha512-rfuA6T75H6m5EkbhtEPzre9pT0HPcDI2MMy4+nPFIBks5J8JBAUHD4tRYSgaBOijIEC7SRkC1kKyXTLqbmh9jw==} + engines: {node: '>=14.0.0'} + + vscode-languageclient@10.1.0: + resolution: {integrity: sha512-XXRx6lqVitQy/oOLr9MfNYRG+MbQkhXkDaxbQMiKxEm8zZNfheRFUKNb8UYNh2stn9btl2wQM5wZFJjJvoc+jA==} + engines: {vscode: ^1.91.0} vscode-languageserver-protocol@3.17.5: resolution: {integrity: sha512-mb1bvRJN8SVznADSGWM9u/b07H7Ecg0I3OgXDuLdn307rl/J3A9YD6/eYOssqhecL27hK1IPZAsaqh00i/Jljg==} + vscode-languageserver-protocol@3.18.2: + resolution: {integrity: sha512-XRyDbT0Pp3sSNti3JmxVEUMySWCSi1hhM+/KUlCy1hV1zmrqpM1OwO12EAki8blhmLuIMpaJrYbo0OzGVfK2Qg==} + vscode-languageserver-textdocument@1.0.12: resolution: {integrity: sha512-cxWNPesCnQCcMPeenjKKsOCKQZ/L6Tv19DTRIGuLWe32lyzWhihGVJ/rcckZXJxfdKCFvRLS3fpBIsV/ZGX4zA==} + vscode-languageserver-textdocument@1.0.13: + resolution: {integrity: sha512-nx0ZHwMGIsVkzFG3/VLeJYBLTaFBRuNdGDvevvjuoayU5EOS2fEYazOhtCM3PI9ClMMg5igc0uwXtAq4tJj+Dw==} + vscode-languageserver-types@3.17.5: resolution: {integrity: sha512-Ld1VelNuX9pdF39h2Hgaeb5hEZM2Z3jUrrMgWQAu82jMtZp7p3vJT3BzToKtZI7NgQssZje5o0zryOrhQvzQAg==} + vscode-languageserver-types@3.18.0: + resolution: {integrity: sha512-8TsGPNMIMiiBdkORgRSvLjuiEIiAFtO+KssmYWxQ+uSVvlf7RjK8YKCOjPzZ+YA04jXEV7+7LvkSmHkhpNS99g==} + vscode-languageserver@9.0.1: resolution: {integrity: sha512-woByF3PDpkHFUreUa7Hos7+pUWdeWMXRd26+ZX2A8cFx6v/JPTtd4/uN0/jB6XQHYaOlHbio03NTHCqrgG5n7g==} hasBin: true @@ -8261,6 +8315,10 @@ packages: resolution: {integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==} engines: {node: '>=12'} + webidl-conversions@8.0.1: + resolution: {integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==} + engines: {node: '>=20'} + webpack-bundle-analyzer@5.3.0: resolution: {integrity: sha512-PEhAoqiJ+47d0uLMx/+zo5XOvaU+Vk6N2ZLht7H3n09QLy/fhyvqGNwjdRUHJDgMN8crBR2ZwVHkIswT3Xuawg==} engines: {node: '>= 20.9.0'} @@ -8306,10 +8364,18 @@ packages: resolution: {integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==} engines: {node: '>=18'} + whatwg-mimetype@5.0.0: + resolution: {integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==} + engines: {node: '>=20'} + whatwg-url@14.2.0: resolution: {integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==} engines: {node: '>=18'} + whatwg-url@16.0.1: + resolution: {integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==} + engines: {node: ^20.19.0 || ^22.12.0 || >=24.0.0} + whatwg-url@5.0.0: resolution: {integrity: sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==} @@ -8338,9 +8404,6 @@ packages: engines: {node: '>= 8'} hasBin: true - wide-align@1.1.5: - resolution: {integrity: sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==} - wildcard@2.0.1: resolution: {integrity: sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==} @@ -8373,20 +8436,8 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} - ws@8.18.3: - resolution: {integrity: sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==} - engines: {node: '>=10.0.0'} - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: '>=5.0.2' - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - - ws@8.19.0: - resolution: {integrity: sha512-blAT2mjOEIi0ZzruJfIhb3nps74PRWTCz1IjglWEEpQl5XS/UNama6u2/rjFkDDouqr4L67ry+1aGIALViWjDg==} + ws@8.21.0: + resolution: {integrity: sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g==} engines: {node: '>=10.0.0'} peerDependencies: bufferutil: ^4.0.1 @@ -8561,20 +8612,26 @@ snapshots: dependencies: json-schema: 0.4.0 - '@asamuzakjp/css-color@3.2.0': + '@asamuzakjp/css-color@5.1.11': dependencies: - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-color-parser': 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 - lru-cache: 10.4.3 + '@asamuzakjp/generational-cache': 1.0.1 + '@csstools/css-calc': 3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-color-parser': 4.1.9(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 - '@asamuzakjp/dom-selector@2.0.2': + '@asamuzakjp/dom-selector@7.1.1': dependencies: + '@asamuzakjp/generational-cache': 1.0.1 + '@asamuzakjp/nwsapi': 2.3.9 bidi-js: 1.0.3 - css-tree: 2.3.1 + css-tree: 3.2.1 is-potential-custom-element-name: 1.0.1 + '@asamuzakjp/generational-cache@1.0.1': {} + + '@asamuzakjp/nwsapi@2.3.9': {} + '@aws-crypto/sha256-browser@5.2.0': dependencies: '@aws-crypto/sha256-js': 5.2.0 @@ -8964,7 +9021,7 @@ snapshots: dependencies: '@nodable/entities': 2.1.0 '@smithy/types': 4.14.1 - fast-xml-parser: 5.7.3 + fast-xml-parser: 5.7.2 tslib: 2.8.1 '@aws/lambda-invoke-store@0.2.3': {} @@ -9092,11 +9149,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/eslint-parser@7.28.6(@babel/core@7.29.0)(eslint@8.57.1)': + '@babel/eslint-parser@7.28.6(@babel/core@7.29.0)(eslint@10.6.0)': dependencies: '@babel/core': 7.29.0 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 8.57.1 + eslint: 10.6.0 eslint-visitor-keys: 2.1.0 semver: 6.3.1 @@ -9862,6 +9919,10 @@ snapshots: '@babel/helper-string-parser': 7.27.1 '@babel/helper-validator-identifier': 7.28.5 + '@bramus/specificity@2.4.2': + dependencies: + css-tree: 3.2.1 + '@cfworker/json-schema@4.1.1': optional: true @@ -9924,25 +9985,29 @@ snapshots: dependencies: '@jridgewell/trace-mapping': 0.3.9 - '@csstools/color-helpers@5.1.0': {} + '@csstools/color-helpers@6.1.0': {} - '@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-calc@3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-color-parser@4.1.9(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0)': dependencies: - '@csstools/color-helpers': 5.1.0 - '@csstools/css-calc': 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - '@csstools/css-parser-algorithms': 3.0.5(@csstools/css-tokenizer@3.0.4) - '@csstools/css-tokenizer': 3.0.4 + '@csstools/color-helpers': 6.1.0 + '@csstools/css-calc': 3.2.1(@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0))(@csstools/css-tokenizer@4.0.0) + '@csstools/css-parser-algorithms': 4.0.0(@csstools/css-tokenizer@4.0.0) + '@csstools/css-tokenizer': 4.0.0 - '@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)': + '@csstools/css-parser-algorithms@4.0.0(@csstools/css-tokenizer@4.0.0)': dependencies: - '@csstools/css-tokenizer': 3.0.4 + '@csstools/css-tokenizer': 4.0.0 + + '@csstools/css-syntax-patches-for-csstree@1.1.6(css-tree@3.2.1)': + optionalDependencies: + css-tree: 3.2.1 - '@csstools/css-tokenizer@3.0.4': {} + '@csstools/css-tokenizer@4.0.0': {} '@discoveryjs/json-ext@0.6.3': {} @@ -10102,28 +10167,46 @@ snapshots: '@emotion/weak-memoize@0.4.0': {} - '@eslint-community/eslint-utils@4.9.0(eslint@8.57.1)': + '@eslint-community/eslint-utils@4.9.0(eslint@10.6.0)': dependencies: - eslint: 8.57.1 + eslint: 10.6.0 + eslint-visitor-keys: 3.4.3 + + '@eslint-community/eslint-utils@4.9.1(eslint@10.6.0)': + dependencies: + eslint: 10.6.0 eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.2': {} - '@eslint/eslintrc@2.1.4': + '@eslint/config-array@0.23.5': dependencies: - ajv: 6.14.0 + '@eslint/object-schema': 3.0.5 debug: 4.4.3(supports-color@8.1.1) - espree: 9.6.1 - globals: 13.24.0 - ignore: 5.3.2 - import-fresh: 3.3.1 - js-yaml: 4.1.1 - minimatch: 3.1.5 - strip-json-comments: 3.1.1 + minimatch: 10.2.4 transitivePeerDependencies: - supports-color - '@eslint/js@8.57.1': {} + '@eslint/config-helpers@0.6.0': + dependencies: + '@eslint/core': 1.2.1 + + '@eslint/core@1.2.1': + dependencies: + '@types/json-schema': 7.0.15 + + '@eslint/js@10.0.1(eslint@10.6.0)': + optionalDependencies: + eslint: 10.6.0 + + '@eslint/object-schema@3.0.5': {} + + '@eslint/plugin-kit@0.7.2': + dependencies: + '@eslint/core': 1.2.1 + levn: 0.4.1 + + '@exodus/bytes@1.15.1': {} '@floating-ui/core@1.7.3': dependencies: @@ -10150,21 +10233,25 @@ snapshots: '@floating-ui/utils@0.2.10': {} - '@hono/node-server@1.19.11(hono@4.12.7)': + '@hono/node-server@1.19.11(hono@4.12.27)': dependencies: - hono: 4.12.7 + hono: 4.12.27 - '@humanwhocodes/config-array@0.13.0': + '@humanfs/core@0.19.2': dependencies: - '@humanwhocodes/object-schema': 2.0.3 - debug: 4.4.3(supports-color@8.1.1) - minimatch: 3.1.5 - transitivePeerDependencies: - - supports-color + '@humanfs/types': 0.15.0 + + '@humanfs/node@0.16.8': + dependencies: + '@humanfs/core': 0.19.2 + '@humanfs/types': 0.15.0 + '@humanwhocodes/retry': 0.4.3 + + '@humanfs/types@0.15.0': {} '@humanwhocodes/module-importer@1.0.1': {} - '@humanwhocodes/object-schema@2.0.3': {} + '@humanwhocodes/retry@0.4.3': {} '@inquirer/ansi@2.0.5': {} @@ -12425,22 +12512,6 @@ snapshots: dependencies: '@lukeed/csprng': 1.1.0 - '@mapbox/node-pre-gyp@1.0.11': - dependencies: - detect-libc: 2.1.2 - https-proxy-agent: 5.0.1 - make-dir: 3.1.0 - node-fetch: 2.7.0 - nopt: 5.0.0 - npmlog: 5.0.1 - rimraf: 3.0.2 - semver: 7.7.4 - tar: 7.5.13 - transitivePeerDependencies: - - encoding - - supports-color - optional: true - '@marijn/find-cluster-break@1.0.2': {} '@mcp-ui/server@6.1.0(@cfworker/json-schema@4.1.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(zod@4.4.3)': @@ -12481,7 +12552,7 @@ snapshots: '@modelcontextprotocol/sdk@1.29.0(@cfworker/json-schema@4.1.1)(zod@4.4.3)': dependencies: - '@hono/node-server': 1.19.11(hono@4.12.7) + '@hono/node-server': 1.19.11(hono@4.12.27) ajv: 8.18.0 ajv-formats: 3.0.1(ajv@8.18.0) content-type: 1.0.5 @@ -12491,7 +12562,7 @@ snapshots: eventsource-parser: 3.0.6 express: 5.2.1 express-rate-limit: 8.3.1(express@5.2.1) - hono: 4.12.7 + hono: 4.12.27 jose: 6.2.1 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 @@ -12928,22 +12999,22 @@ snapshots: - immer - supports-color - '@mongodb-js/eslint-config-devtools@0.11.7(eslint@8.57.1)(typescript@5.9.3)': + '@mongodb-js/eslint-config-devtools@0.11.7(eslint@10.6.0)(typescript@5.9.3)': dependencies: '@babel/core': 7.29.0 - '@babel/eslint-parser': 7.28.6(@babel/core@7.29.0)(eslint@8.57.1) + '@babel/eslint-parser': 7.28.6(@babel/core@7.29.0)(eslint@10.6.0) '@babel/preset-env': 7.29.3(@babel/core@7.29.0) '@babel/preset-react': 7.28.5(@babel/core@7.29.0) '@mongodb-js/eslint-plugin-devtools': 0.3.4 - '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3) - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.9.3) - eslint: 8.57.1 - eslint-config-prettier: 8.10.2(eslint@8.57.1) + '@typescript-eslint/eslint-plugin': 5.62.0(@typescript-eslint/parser@5.62.0(eslint@10.6.0)(typescript@5.9.3))(eslint@10.6.0)(typescript@5.9.3) + '@typescript-eslint/parser': 5.62.0(eslint@10.6.0)(typescript@5.9.3) + eslint: 10.6.0 + eslint-config-prettier: 8.10.2(eslint@10.6.0) eslint-plugin-filename-rules: 1.3.1 - eslint-plugin-jsx-a11y: 6.10.2(eslint@8.57.1) - eslint-plugin-mocha: 8.2.0(eslint@8.57.1) - eslint-plugin-react: 7.37.5(eslint@8.57.1) - eslint-plugin-react-hooks: 4.6.2(eslint@8.57.1) + eslint-plugin-jsx-a11y: 6.10.2(eslint@10.6.0) + eslint-plugin-mocha: 8.2.0(eslint@10.6.0) + eslint-plugin-react: 7.37.5(eslint@10.6.0) + eslint-plugin-react-hooks: 4.6.2(eslint@10.6.0) transitivePeerDependencies: - supports-color - typescript @@ -13159,8 +13230,6 @@ snapshots: - supports-color - zod - '@mongosh/errors@2.4.6': {} - '@mongosh/errors@2.4.7': {} '@mongosh/i18n@2.20.3': @@ -13171,24 +13240,6 @@ snapshots: dependencies: '@mongosh/errors': 2.4.7 - '@mongosh/service-provider-core@3.7.1(@aws-sdk/credential-providers@3.1042.0)(gcp-metadata@7.0.1)(kerberos@7.0.0)(mongodb-client-encryption@7.0.0)(socks@2.8.7)': - dependencies: - '@mongosh/errors': 2.4.6 - '@mongosh/shell-bson': 1.1.1(bson@7.2.0) - bson: 7.2.0 - mongodb: 7.2.0(@aws-sdk/credential-providers@3.1042.0)(gcp-metadata@7.0.1)(kerberos@7.0.0)(mongodb-client-encryption@7.0.0)(socks@2.8.7) - mongodb-build-info: 1.9.11 - mongodb-connection-string-url: 3.0.2 - transitivePeerDependencies: - - '@aws-sdk/credential-providers' - - '@mongodb-js/zstd' - - gcp-metadata - - kerberos - - mongodb-client-encryption - - snappy - - socks - - supports-color - '@mongosh/service-provider-core@5.0.4(@aws-sdk/credential-providers@3.1042.0)(gcp-metadata@7.0.1)(kerberos@7.0.0)(mongodb-client-encryption@7.0.0)(socks@2.8.7)': dependencies: '@mongosh/errors': 2.4.7 @@ -13313,11 +13364,6 @@ snapshots: - supports-color - zod - '@mongosh/shell-bson@1.1.1(bson@7.2.0)': - dependencies: - '@mongosh/errors': 2.4.6 - bson: 7.2.0 - '@mongosh/shell-bson@3.0.4(bson@7.2.0)': dependencies: '@mongosh/errors': 2.4.7 @@ -14155,7 +14201,7 @@ snapshots: '@textlint/types': 15.4.0 chalk: 4.1.2 debug: 4.4.3(supports-color@8.1.1) - js-yaml: 3.14.2 + js-yaml: 3.15.0 lodash: 4.18.1 pluralize: 2.0.0 string-width: 4.2.3 @@ -14205,9 +14251,12 @@ snapshots: '@types/chai-as-promised@8.0.2': dependencies: - '@types/chai': 4.3.20 + '@types/chai': 5.2.3 - '@types/chai@4.3.20': {} + '@types/chai@5.2.3': + dependencies: + '@types/deep-eql': 4.0.2 + assertion-error: 2.0.1 '@types/connect@3.4.38': dependencies: @@ -14238,6 +14287,8 @@ snapshots: dependencies: '@types/ms': 2.1.0 + '@types/deep-eql@4.0.2': {} + '@types/eslint-scope@3.7.7': dependencies: '@types/eslint': 9.6.1 @@ -14248,6 +14299,8 @@ snapshots: '@types/estree': 1.0.8 '@types/json-schema': 7.0.15 + '@types/esrecurse@4.3.1': {} + '@types/estree@1.0.8': {} '@types/express-serve-static-core@5.1.1': @@ -14368,7 +14421,7 @@ snapshots: '@types/sinon-chai@3.2.12': dependencies: - '@types/chai': 4.3.20 + '@types/chai': 5.2.3 '@types/sinon': 9.0.11 '@types/sinon@9.0.11': @@ -14391,23 +14444,19 @@ snapshots: '@types/webidl-conversions@7.0.3': {} - '@types/whatwg-url@11.0.5': - dependencies: - '@types/webidl-conversions': 7.0.3 - '@types/whatwg-url@13.0.0': dependencies: '@types/webidl-conversions': 7.0.3 - '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3))(eslint@8.57.1)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@5.62.0(@typescript-eslint/parser@5.62.0(eslint@10.6.0)(typescript@5.9.3))(eslint@10.6.0)(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.2 - '@typescript-eslint/parser': 5.62.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/parser': 5.62.0(eslint@10.6.0)(typescript@5.9.3) '@typescript-eslint/scope-manager': 5.62.0 - '@typescript-eslint/type-utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/type-utils': 5.62.0(eslint@10.6.0)(typescript@5.9.3) + '@typescript-eslint/utils': 5.62.0(eslint@10.6.0)(typescript@5.9.3) debug: 4.4.3(supports-color@8.1.1) - eslint: 8.57.1 + eslint: 10.6.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare-lite: 1.4.0 @@ -14418,37 +14467,97 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@5.62.0(eslint@8.57.1)(typescript@5.9.3)': + '@typescript-eslint/eslint-plugin@8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0)(typescript@5.9.3))(eslint@10.6.0)(typescript@5.9.3)': + dependencies: + '@eslint-community/regexpp': 4.12.2 + '@typescript-eslint/parser': 8.62.1(eslint@10.6.0)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.62.1 + '@typescript-eslint/type-utils': 8.62.1(eslint@10.6.0)(typescript@5.9.3) + '@typescript-eslint/utils': 8.62.1(eslint@10.6.0)(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.62.1 + eslint: 10.6.0 + ignore: 7.0.5 + natural-compare: 1.4.0 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/parser@5.62.0(eslint@10.6.0)(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3) debug: 4.4.3(supports-color@8.1.1) - eslint: 8.57.1 + eslint: 10.6.0 optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.62.1(eslint@10.6.0)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.62.1 + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/typescript-estree': 8.62.1(typescript@5.9.3) + '@typescript-eslint/visitor-keys': 8.62.1 + debug: 4.4.3(supports-color@8.1.1) + eslint: 10.6.0 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/project-service@8.62.1(typescript@5.9.3)': + dependencies: + '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@5.9.3) + '@typescript-eslint/types': 8.62.1 + debug: 4.4.3(supports-color@8.1.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 '@typescript-eslint/visitor-keys': 5.62.0 - '@typescript-eslint/type-utils@5.62.0(eslint@8.57.1)(typescript@5.9.3)': + '@typescript-eslint/scope-manager@8.62.1': + dependencies: + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/visitor-keys': 8.62.1 + + '@typescript-eslint/tsconfig-utils@8.62.1(typescript@5.9.3)': + dependencies: + typescript: 5.9.3 + + '@typescript-eslint/type-utils@5.62.0(eslint@10.6.0)(typescript@5.9.3)': dependencies: '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3) - '@typescript-eslint/utils': 5.62.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/utils': 5.62.0(eslint@10.6.0)(typescript@5.9.3) debug: 4.4.3(supports-color@8.1.1) - eslint: 8.57.1 + eslint: 10.6.0 tsutils: 3.21.0(typescript@5.9.3) optionalDependencies: typescript: 5.9.3 transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.62.1(eslint@10.6.0)(typescript@5.9.3)': + dependencies: + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/typescript-estree': 8.62.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.62.1(eslint@10.6.0)(typescript@5.9.3) + debug: 4.4.3(supports-color@8.1.1) + eslint: 10.6.0 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/types@5.62.0': {} + '@typescript-eslint/types@8.62.1': {} + '@typescript-eslint/typescript-estree@5.62.0(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 5.62.0 @@ -14463,26 +14572,57 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@5.62.0(eslint@8.57.1)(typescript@5.9.3)': + '@typescript-eslint/typescript-estree@8.62.1(typescript@5.9.3)': + dependencies: + '@typescript-eslint/project-service': 8.62.1(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.62.1(typescript@5.9.3) + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/visitor-keys': 8.62.1 + debug: 4.4.3(supports-color@8.1.1) + minimatch: 10.2.4 + semver: 7.7.4 + tinyglobby: 0.2.15 + ts-api-utils: 2.5.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@5.62.0(eslint@10.6.0)(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.9.0(eslint@10.6.0) '@types/json-schema': 7.0.15 '@types/semver': 7.7.1 '@typescript-eslint/scope-manager': 5.62.0 '@typescript-eslint/types': 5.62.0 '@typescript-eslint/typescript-estree': 5.62.0(typescript@5.9.3) - eslint: 8.57.1 + eslint: 10.6.0 eslint-scope: 5.1.1 semver: 7.7.4 transitivePeerDependencies: - supports-color - typescript + '@typescript-eslint/utils@8.62.1(eslint@10.6.0)(typescript@5.9.3)': + dependencies: + '@eslint-community/eslint-utils': 4.9.1(eslint@10.6.0) + '@typescript-eslint/scope-manager': 8.62.1 + '@typescript-eslint/types': 8.62.1 + '@typescript-eslint/typescript-estree': 8.62.1(typescript@5.9.3) + eslint: 10.6.0 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/visitor-keys@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 eslint-visitor-keys: 3.4.3 + '@typescript-eslint/visitor-keys@8.62.1': + dependencies: + '@typescript-eslint/types': 8.62.1 + eslint-visitor-keys: 5.0.1 + '@typespec/ts-http-runtime@0.3.2': dependencies: http-proxy-agent: 7.0.2 @@ -14491,8 +14631,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@ungap/structured-clone@1.3.0': {} - '@vercel/oidc@3.2.0': {} '@vscode-elements/elements@2.4.0(@vscode/codicons@0.0.45)': @@ -14515,7 +14653,7 @@ snapshots: '@vscode/l10n@0.0.18': {} - '@vscode/test-electron@2.5.2': + '@vscode/test-electron@3.0.0': dependencies: http-proxy-agent: 7.0.2 https-proxy-agent: 7.0.6 @@ -14589,7 +14727,7 @@ snapshots: read: 1.0.7 secretlint: 10.2.2 semver: 7.7.4 - tmp: 0.2.5 + tmp: 0.2.7 typed-rest-client: 1.8.11 url-join: 4.0.1 xml2js: 0.5.0 @@ -14708,7 +14846,7 @@ snapshots: '@webassemblyjs/ast': 1.14.1 '@xtuc/long': 4.2.2 - '@xmldom/xmldom@0.7.13': {} + '@xmldom/xmldom@0.9.10': {} '@xtuc/ieee754@1.2.0': {} @@ -14737,9 +14875,6 @@ snapshots: a-sync-waterfall@1.0.1: {} - abbrev@1.1.1: - optional: true - abort-controller@3.0.0: dependencies: event-target-shim: 5.0.1 @@ -14753,9 +14888,9 @@ snapshots: dependencies: acorn: 8.16.0 - acorn-jsx@5.3.2(acorn@8.15.0): + acorn-jsx@5.3.2(acorn@8.16.0): dependencies: - acorn: 8.15.0 + acorn: 8.16.0 acorn-walk@8.3.4: dependencies: @@ -14765,13 +14900,6 @@ snapshots: acorn@8.16.0: {} - agent-base@6.0.2: - dependencies: - debug: 4.4.3(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - optional: true - agent-base@7.1.4: {} agentkeepalive@4.6.0: @@ -14813,7 +14941,7 @@ snapshots: ajv@8.18.0: dependencies: fast-deep-equal: 3.1.3 - fast-uri: 3.1.0 + fast-uri: 3.1.3 json-schema-traverse: 1.0.0 require-from-string: 2.0.2 @@ -14843,15 +14971,6 @@ snapshots: picomatch: 2.3.2 optional: true - aproba@2.1.0: - optional: true - - are-we-there-yet@2.0.0: - dependencies: - delegates: 1.0.0 - readable-stream: 3.6.2 - optional: true - arg@4.1.3: {} argparse@1.0.10: @@ -14945,6 +15064,8 @@ snapshots: pvutils: 1.1.5 tslib: 2.8.1 + assertion-error@2.0.1: {} + ast-types-flow@0.0.8: {} ast-types@0.13.4: @@ -15016,7 +15137,7 @@ snapshots: baseline-browser-mapping@2.8.31: {} - basic-ftp@5.2.0: {} + basic-ftp@5.3.1: {} bcrypt-pbkdf@1.0.2: dependencies: @@ -15200,16 +15321,6 @@ snapshots: caniuse-lite@1.0.30001791: {} - canvas@2.11.2: - dependencies: - '@mapbox/node-pre-gyp': 1.0.11 - nan: 2.26.2 - simple-get: 3.1.1 - transitivePeerDependencies: - - encoding - - supports-color - optional: true - ccount@2.0.1: {} chai-as-promised@8.0.2(chai@6.2.2): @@ -15264,7 +15375,7 @@ snapshots: parse5: 7.3.0 parse5-htmlparser2-tree-adapter: 7.1.0 parse5-parser-stream: 7.1.2 - undici: 7.24.0 + undici: 7.28.0 whatwg-mimetype: 4.0.0 chokidar@3.6.0: @@ -15365,9 +15476,6 @@ snapshots: color-name@1.1.4: {} - color-support@1.1.3: - optional: true - colors@1.0.3: optional: true @@ -15389,9 +15497,6 @@ snapshots: commander@7.2.0: {} - console-control-strings@1.1.0: - optional: true - content-disposition@1.0.1: {} content-type@1.0.5: {} @@ -15428,7 +15533,7 @@ snapshots: dependencies: import-fresh: 2.0.0 is-directory: 0.3.1 - js-yaml: 3.14.2 + js-yaml: 3.15.0 parse-json: 4.0.0 cosmiconfig@7.1.0: @@ -15442,7 +15547,7 @@ snapshots: cosmiconfig@8.3.6(typescript@5.9.3): dependencies: import-fresh: 3.3.1 - js-yaml: 4.1.1 + js-yaml: 4.3.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: @@ -15484,20 +15589,15 @@ snapshots: domutils: 3.2.2 nth-check: 2.1.1 - css-tree@2.3.1: + css-tree@3.2.1: dependencies: - mdn-data: 2.0.30 + mdn-data: 2.27.1 source-map-js: 1.2.1 css-what@6.2.2: {} cssfilter@0.0.10: {} - cssstyle@4.6.0: - dependencies: - '@asamuzakjp/css-color': 3.2.0 - rrweb-cssom: 0.8.0 - csstype@3.2.3: {} cubic2quad@1.2.1: {} @@ -15546,10 +15646,12 @@ snapshots: data-uri-to-buffer@6.0.2: {} - data-urls@5.0.0: + data-urls@7.0.0: dependencies: - whatwg-mimetype: 4.0.0 - whatwg-url: 14.2.0 + whatwg-mimetype: 5.0.0 + whatwg-url: 16.0.1 + transitivePeerDependencies: + - '@noble/hashes' data-view-buffer@1.0.2: dependencies: @@ -15596,11 +15698,6 @@ snapshots: decode-uri-component@0.2.2: {} - decompress-response@4.2.1: - dependencies: - mimic-response: 2.1.0 - optional: true - decompress-response@6.0.0: dependencies: mimic-response: 3.1.0 @@ -15707,9 +15804,6 @@ snapshots: delegate@3.2.0: {} - delegates@1.0.0: - optional: true - depcheck@1.4.7: dependencies: '@babel/parser': 7.29.3 @@ -15723,7 +15817,7 @@ snapshots: findup-sync: 5.0.0 ignore: 5.3.2 is-core-module: 2.16.1 - js-yaml: 3.14.2 + js-yaml: 3.15.0 json5: 2.2.3 lodash: 4.18.1 minimatch: 7.4.9 @@ -15768,10 +15862,6 @@ snapshots: dependencies: esutils: 2.0.3 - doctrine@3.0.0: - dependencies: - esutils: 2.0.3 - dom-accessibility-api@0.5.16: {} dom-helpers@5.2.1: @@ -15908,6 +15998,8 @@ snapshots: entities@6.0.1: {} + entities@8.0.0: {} + env-paths@3.0.0: {} envinfo@7.20.0: {} @@ -16057,13 +16149,13 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-config-prettier@8.10.2(eslint@8.57.1): + eslint-config-prettier@8.10.2(eslint@10.6.0): dependencies: - eslint: 8.57.1 + eslint: 10.6.0 eslint-plugin-filename-rules@1.3.1: {} - eslint-plugin-jsx-a11y@6.10.2(eslint@8.57.1): + eslint-plugin-jsx-a11y@6.10.2(eslint@10.6.0): dependencies: aria-query: 5.3.2 array-includes: 3.1.9 @@ -16073,7 +16165,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 8.57.1 + eslint: 10.6.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -16082,24 +16174,23 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-mocha@10.5.0(eslint@8.57.1): + eslint-plugin-mocha@11.3.0(eslint@10.6.0): dependencies: - eslint: 8.57.1 - eslint-utils: 3.0.0(eslint@8.57.1) - globals: 13.24.0 - rambda: 7.5.0 + '@eslint-community/eslint-utils': 4.9.0(eslint@10.6.0) + eslint: 10.6.0 + globals: 15.15.0 - eslint-plugin-mocha@8.2.0(eslint@8.57.1): + eslint-plugin-mocha@8.2.0(eslint@10.6.0): dependencies: - eslint: 8.57.1 + eslint: 10.6.0 eslint-utils: 2.1.0 ramda: 0.27.2 - eslint-plugin-react-hooks@4.6.2(eslint@8.57.1): + eslint-plugin-react-hooks@4.6.2(eslint@10.6.0): dependencies: - eslint: 8.57.1 + eslint: 10.6.0 - eslint-plugin-react@7.37.5(eslint@8.57.1): + eslint-plugin-react@7.37.5(eslint@10.6.0): dependencies: array-includes: 3.1.9 array.prototype.findlast: 1.2.5 @@ -16107,7 +16198,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 8.57.1 + eslint: 10.6.0 estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -16126,8 +16217,10 @@ snapshots: esrecurse: 4.3.0 estraverse: 4.3.0 - eslint-scope@7.2.2: + eslint-scope@9.1.2: dependencies: + '@types/esrecurse': 4.3.1 + '@types/estree': 1.0.8 esrecurse: 4.3.0 estraverse: 5.3.0 @@ -16135,69 +16228,58 @@ snapshots: dependencies: eslint-visitor-keys: 1.3.0 - eslint-utils@3.0.0(eslint@8.57.1): - dependencies: - eslint: 8.57.1 - eslint-visitor-keys: 2.1.0 - eslint-visitor-keys@1.3.0: {} eslint-visitor-keys@2.1.0: {} eslint-visitor-keys@3.4.3: {} - eslint@8.57.1: + eslint-visitor-keys@5.0.1: {} + + eslint@10.6.0: dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) + '@eslint-community/eslint-utils': 4.9.0(eslint@10.6.0) '@eslint-community/regexpp': 4.12.2 - '@eslint/eslintrc': 2.1.4 - '@eslint/js': 8.57.1 - '@humanwhocodes/config-array': 0.13.0 + '@eslint/config-array': 0.23.5 + '@eslint/config-helpers': 0.6.0 + '@eslint/core': 1.2.1 + '@eslint/plugin-kit': 0.7.2 + '@humanfs/node': 0.16.8 '@humanwhocodes/module-importer': 1.0.1 - '@nodelib/fs.walk': 1.2.8 - '@ungap/structured-clone': 1.3.0 + '@humanwhocodes/retry': 0.4.3 + '@types/estree': 1.0.8 ajv: 6.14.0 - chalk: 4.1.2 cross-spawn: 7.0.6 debug: 4.4.3(supports-color@8.1.1) - doctrine: 3.0.0 escape-string-regexp: 4.0.0 - eslint-scope: 7.2.2 - eslint-visitor-keys: 3.4.3 - espree: 9.6.1 - esquery: 1.6.0 + eslint-scope: 9.1.2 + eslint-visitor-keys: 5.0.1 + espree: 11.2.0 + esquery: 1.7.0 esutils: 2.0.3 fast-deep-equal: 3.1.3 - file-entry-cache: 6.0.1 + file-entry-cache: 8.0.0 find-up: 5.0.0 glob-parent: 6.0.2 - globals: 13.24.0 - graphemer: 1.4.0 ignore: 5.3.2 imurmurhash: 0.1.4 is-glob: 4.0.3 - is-path-inside: 3.0.3 - js-yaml: 4.1.1 json-stable-stringify-without-jsonify: 1.0.1 - levn: 0.4.1 - lodash.merge: 4.6.2 - minimatch: 3.1.5 + minimatch: 10.2.4 natural-compare: 1.4.0 optionator: 0.9.4 - strip-ansi: 6.0.1 - text-table: 0.2.0 transitivePeerDependencies: - supports-color - espree@9.6.1: + espree@11.2.0: dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) - eslint-visitor-keys: 3.4.3 + acorn: 8.16.0 + acorn-jsx: 5.3.2(acorn@8.16.0) + eslint-visitor-keys: 5.0.1 esprima@4.0.1: {} - esquery@1.6.0: + esquery@1.7.0: dependencies: estraverse: 5.3.0 @@ -16297,7 +16379,7 @@ snapshots: dependencies: fast-string-truncated-width: 3.0.3 - fast-uri@3.1.0: {} + fast-uri@3.1.3: {} fast-wrap-ansi@0.2.0: dependencies: @@ -16307,7 +16389,7 @@ snapshots: dependencies: path-expression-matcher: 1.5.0 - fast-xml-parser@5.7.3: + fast-xml-parser@5.7.2: dependencies: '@nodable/entities': 2.1.0 fast-xml-builder: 1.1.8 @@ -16333,9 +16415,9 @@ snapshots: node-domexception: 1.0.0 web-streams-polyfill: 3.3.3 - file-entry-cache@6.0.1: + file-entry-cache@8.0.0: dependencies: - flat-cache: 3.2.0 + flat-cache: 4.0.1 file-type@3.9.0: {} @@ -16382,11 +16464,10 @@ snapshots: micromatch: 4.0.8 resolve-dir: 1.0.1 - flat-cache@3.2.0: + flat-cache@4.0.1: dependencies: flatted: 3.4.2 keyv: 4.5.4 - rimraf: 3.0.2 flat@5.0.2: {} @@ -16490,19 +16571,6 @@ snapshots: functions-have-names@1.2.3: {} - gauge@3.0.2: - dependencies: - aproba: 2.1.0 - color-support: 1.1.3 - console-control-strings: 1.1.0 - has-unicode: 2.0.1 - object-assign: 4.1.1 - signal-exit: 3.0.7 - string-width: 4.2.3 - strip-ansi: 6.0.1 - wide-align: 1.1.5 - optional: true - gaxios@7.1.3: dependencies: extend: 3.0.2 @@ -16565,7 +16633,7 @@ snapshots: get-uri@6.0.5: dependencies: - basic-ftp: 5.2.0 + basic-ftp: 5.3.1 data-uri-to-buffer: 6.0.2 debug: 4.4.3(supports-color@8.1.1) transitivePeerDependencies: @@ -16630,9 +16698,7 @@ snapshots: is-windows: 1.0.2 which: 1.3.1 - globals@13.24.0: - dependencies: - type-fest: 0.20.2 + globals@15.15.0: {} globalthis@1.0.4: dependencies: @@ -16747,9 +16813,6 @@ snapshots: dependencies: has-symbols: 1.1.0 - has-unicode@2.0.1: - optional: true - hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -16820,7 +16883,7 @@ snapshots: htmlparser2: 3.10.1 param-case: 1.1.2 property-information: 2.0.0 - trim: 0.0.1 + trim: 0.0.3 unified: 2.1.4 hastscript@7.2.0: @@ -16847,7 +16910,7 @@ snapshots: dependencies: parse-passwd: 1.0.0 - hono@4.12.7: {} + hono@4.12.27: {} hosted-git-info@2.8.9: {} @@ -16859,9 +16922,11 @@ snapshots: dependencies: lru-cache: 10.4.3 - html-encoding-sniffer@4.0.0: + html-encoding-sniffer@6.0.0: dependencies: - whatwg-encoding: 3.1.1 + '@exodus/bytes': 1.15.1 + transitivePeerDependencies: + - '@noble/hashes' html-escaper@3.0.3: {} @@ -16913,14 +16978,6 @@ snapshots: quick-lru: 5.1.1 resolve-alpn: 1.2.1 - https-proxy-agent@5.0.1: - dependencies: - agent-base: 6.0.2 - debug: 4.4.3(supports-color@8.1.1) - transitivePeerDependencies: - - supports-color - optional: true - https-proxy-agent@7.0.6: dependencies: agent-base: 7.1.4 @@ -17230,46 +17287,42 @@ snapshots: js-tokens@4.0.0: {} - js-yaml@3.14.2: + js-yaml@3.15.0: dependencies: argparse: 1.0.10 esprima: 4.0.1 - js-yaml@4.1.1: + js-yaml@4.3.0: dependencies: argparse: 2.0.1 jsbn@1.1.0: {} - jsdom@23.2.0(canvas@2.11.2): + jsdom@29.1.1: dependencies: - '@asamuzakjp/dom-selector': 2.0.2 - cssstyle: 4.6.0 - data-urls: 5.0.0 + '@asamuzakjp/css-color': 5.1.11 + '@asamuzakjp/dom-selector': 7.1.1 + '@bramus/specificity': 2.4.2 + '@csstools/css-syntax-patches-for-csstree': 1.1.6(css-tree@3.2.1) + '@exodus/bytes': 1.15.1 + css-tree: 3.2.1 + data-urls: 7.0.0 decimal.js: 10.6.0 - form-data: 4.0.5 - html-encoding-sniffer: 4.0.0 - http-proxy-agent: 7.0.2 - https-proxy-agent: 7.0.6 + html-encoding-sniffer: 6.0.0 is-potential-custom-element-name: 1.0.1 - parse5: 7.3.0 - rrweb-cssom: 0.6.0 + lru-cache: 11.3.6 + parse5: 8.0.1 saxes: 6.0.0 symbol-tree: 3.2.4 - tough-cookie: 4.1.4 + tough-cookie: 6.0.1 + undici: 7.28.0 w3c-xmlserializer: 5.0.0 - webidl-conversions: 7.0.0 - whatwg-encoding: 3.1.1 - whatwg-mimetype: 4.0.0 - whatwg-url: 14.2.0 - ws: 8.18.3 + webidl-conversions: 8.0.1 + whatwg-mimetype: 5.0.0 + whatwg-url: 16.0.1 xml-name-validator: 5.0.0 - optionalDependencies: - canvas: 2.11.2 transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate + - '@noble/hashes' jsesc@3.1.0: {} @@ -17386,7 +17439,7 @@ snapshots: lines-and-columns@1.2.4: {} - linkify-it@5.0.0: + linkify-it@5.0.2: dependencies: uc.micro: 2.1.0 @@ -17494,11 +17547,6 @@ snapshots: dependencies: pify: 3.0.0 - make-dir@3.1.0: - dependencies: - semver: 6.3.1 - optional: true - make-error@1.3.6: {} map-obj@1.0.1: {} @@ -17509,7 +17557,7 @@ snapshots: dependencies: argparse: 2.0.1 entities: 4.5.0 - linkify-it: 5.0.0 + linkify-it: 5.0.2 mdurl: 2.0.0 punycode.js: 2.3.1 uc.micro: 2.1.0 @@ -17566,7 +17614,7 @@ snapshots: dependencies: '@types/mdast': 3.0.15 - mdn-data@2.0.30: {} + mdn-data@2.27.1: {} mdurl@2.0.0: {} @@ -17761,9 +17809,6 @@ snapshots: mimic-response@1.0.1: {} - mimic-response@2.1.0: - optional: true - mimic-response@3.1.0: {} min-indent@1.0.1: {} @@ -17772,11 +17817,11 @@ snapshots: dependencies: brace-expansion: 5.0.7 - minimatch@3.1.5: + minimatch@10.2.5: dependencies: brace-expansion: 5.0.7 - minimatch@5.1.9: + minimatch@3.1.5: dependencies: brace-expansion: 5.0.7 @@ -17843,7 +17888,7 @@ snapshots: glob: 10.5.0 he: 1.2.0 is-path-inside: 3.0.3 - js-yaml: 4.1.1 + js-yaml: 4.3.0 log-symbols: 4.1.0 minimatch: 9.0.9 ms: 2.1.3 @@ -17880,11 +17925,6 @@ snapshots: transitivePeerDependencies: - encoding - mongodb-connection-string-url@3.0.2: - dependencies: - '@types/whatwg-url': 11.0.5 - whatwg-url: 14.2.0 - mongodb-connection-string-url@7.0.1: dependencies: '@types/whatwg-url': 13.0.0 @@ -18058,7 +18098,7 @@ snapshots: optionalDependencies: bson: 7.2.0 cli-table: 0.3.11 - js-yaml: 4.1.1 + js-yaml: 4.3.0 mongodb: 7.2.0(@aws-sdk/credential-providers@3.1042.0)(gcp-metadata@7.0.1)(kerberos@7.0.0)(mongodb-client-encryption@7.0.0)(socks@2.8.7) mongodb-ns: 3.0.3 numeral: 2.0.6 @@ -18172,11 +18212,6 @@ snapshots: '@types/sarif': 2.1.7 fs-extra: 11.3.2 - nopt@5.0.0: - dependencies: - abbrev: 1.1.1 - optional: true - normalize-package-data@2.5.0: dependencies: hosted-git-info: 2.8.9 @@ -18201,14 +18236,6 @@ snapshots: normalize-url@6.1.0: {} - npmlog@5.0.1: - dependencies: - are-we-there-yet: 2.0.0 - console-control-strings: 1.1.0 - gauge: 3.0.2 - set-blocking: 2.0.0 - optional: true - nth-check@2.1.1: dependencies: boolbase: 1.0.0 @@ -18293,7 +18320,7 @@ snapshots: is-inside-container: 1.0.0 wsl-utils: 0.1.0 - openai@4.104.0(ws@8.19.0)(zod@4.4.3): + openai@4.104.0(ws@8.21.0)(zod@4.4.3): dependencies: '@types/node': 18.19.130 '@types/node-fetch': 2.6.13 @@ -18303,7 +18330,7 @@ snapshots: formdata-node: 4.4.1 node-fetch: 2.7.0 optionalDependencies: - ws: 8.19.0 + ws: 8.21.0 zod: 4.4.3 transitivePeerDependencies: - encoding @@ -18461,6 +18488,10 @@ snapshots: dependencies: entities: 6.0.1 + parse5@8.0.1: + dependencies: + entities: 8.0.0 + parseurl@1.3.3: {} path-browserify@1.0.1: {} @@ -18606,10 +18637,6 @@ snapshots: forwarded: 0.2.0 ipaddr.js: 1.9.1 - psl@1.15.0: - dependencies: - punycode: 2.3.1 - pump@3.0.3: dependencies: end-of-stream: 1.4.5 @@ -18638,16 +18665,12 @@ snapshots: split-on-first: 1.1.0 strict-uri-encode: 2.0.0 - querystringify@2.2.0: {} - queue-microtask@1.2.3: {} quick-lru@4.0.1: {} quick-lru@5.1.1: {} - rambda@7.5.0: {} - ramda@0.27.2: {} range-parser@1.2.1: {} @@ -18662,7 +18685,7 @@ snapshots: rc-config-loader@4.1.3: dependencies: debug: 4.4.3(supports-color@8.1.1) - js-yaml: 4.1.1 + js-yaml: 4.3.0 json5: 2.2.3 require-from-string: 2.0.2 transitivePeerDependencies: @@ -18957,8 +18980,6 @@ snapshots: require-package-name@2.0.1: {} - requires-port@1.0.0: {} - reselect@5.1.1: {} reservoir@0.1.2: {} @@ -19017,10 +19038,6 @@ snapshots: rfdc@1.4.1: {} - rimraf@3.0.2: - dependencies: - glob: 7.2.3 - rimraf@5.0.10: dependencies: glob: 10.5.0 @@ -19049,10 +19066,6 @@ snapshots: transitivePeerDependencies: - supports-color - rrweb-cssom@0.6.0: {} - - rrweb-cssom@0.8.0: {} - run-applescript@7.1.0: {} run-parallel@1.2.0: @@ -19142,6 +19155,8 @@ snapshots: semver@7.7.4: {} + semver@7.8.5: {} + send@1.2.0: dependencies: debug: 4.4.3(supports-color@8.1.1) @@ -19177,9 +19192,6 @@ snapshots: transitivePeerDependencies: - supports-color - set-blocking@2.0.0: - optional: true - set-function-length@1.2.2: dependencies: define-data-property: 1.1.4 @@ -19250,13 +19262,6 @@ snapshots: simple-concat@1.0.1: {} - simple-get@3.1.1: - dependencies: - decompress-response: 4.2.1 - once: 1.4.0 - simple-concat: 1.0.1 - optional: true - simple-get@4.0.1: dependencies: decompress-response: 6.0.0 @@ -19304,7 +19309,7 @@ snapshots: dependencies: debug: 4.4.3(supports-color@8.1.1) email-validator: 2.0.4 - js-yaml: 3.14.2 + js-yaml: 3.15.0 lodash.clonedeep: 4.5.0 semver: 7.7.4 snyk-module: 3.3.0 @@ -19578,7 +19583,7 @@ snapshots: svg2ttf@6.0.3: dependencies: - '@xmldom/xmldom': 0.7.13 + '@xmldom/xmldom': 0.9.10 argparse: 2.0.1 cubic2quad: 1.2.1 lodash: 4.18.1 @@ -19697,7 +19702,13 @@ snapshots: fdir: 6.5.0(picomatch@4.0.4) picomatch: 4.0.4 - tmp@0.2.5: {} + tldts-core@7.4.6: {} + + tldts@7.4.6: + dependencies: + tldts-core: 7.4.6 + + tmp@0.2.7: {} to-buffer@1.2.2: dependencies: @@ -19713,12 +19724,9 @@ snapshots: totalist@3.0.1: {} - tough-cookie@4.1.4: + tough-cookie@6.0.1: dependencies: - psl: 1.15.0 - punycode: 2.3.1 - universalify: 0.2.0 - url-parse: 1.5.10 + tldts: 7.4.6 tr46@0.0.3: {} @@ -19726,14 +19734,22 @@ snapshots: dependencies: punycode: 2.3.1 + tr46@6.0.0: + dependencies: + punycode: 2.3.1 + trim-lines@3.0.1: {} trim-newlines@3.0.1: {} - trim@0.0.1: {} + trim@0.0.3: {} trough@2.2.0: {} + ts-api-utils@2.5.0(typescript@5.9.3): + dependencies: + typescript: 5.9.3 + ts-levenshtein@1.0.7: {} ts-loader@9.5.7(typescript@5.9.3)(webpack@5.106.2): @@ -19810,8 +19826,6 @@ snapshots: type-fest@0.18.1: {} - type-fest@0.20.2: {} - type-fest@0.6.0: {} type-fest@0.8.1: {} @@ -19863,6 +19877,17 @@ snapshots: tunnel: 0.0.6 underscore: 1.13.8 + typescript-eslint@8.62.1(eslint@10.6.0)(typescript@5.9.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.62.1(@typescript-eslint/parser@8.62.1(eslint@10.6.0)(typescript@5.9.3))(eslint@10.6.0)(typescript@5.9.3) + '@typescript-eslint/parser': 8.62.1(eslint@10.6.0)(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.62.1(typescript@5.9.3) + '@typescript-eslint/utils': 8.62.1(eslint@10.6.0)(typescript@5.9.3) + eslint: 10.6.0 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + typescript@5.9.3: {} uc.micro@2.1.0: {} @@ -19887,10 +19912,7 @@ snapshots: undici-types@7.18.2: {} - undici@7.24.0: {} - - undici@7.28.0: - optional: true + undici@7.28.0: {} unherit@1.1.3: dependencies: @@ -19959,8 +19981,6 @@ snapshots: universal-user-agent@6.0.1: {} - universalify@0.2.0: {} - universalify@2.0.1: {} unpipe@1.0.0: {} @@ -19983,11 +20003,6 @@ snapshots: url-join@4.0.1: {} - url-parse@1.5.10: - dependencies: - querystringify: 2.2.0 - requires-port: 1.0.0 - use-composed-ref@1.4.0(@types/react@18.3.28)(react@18.3.1): dependencies: react: 18.3.1 @@ -20074,21 +20089,33 @@ snapshots: vscode-jsonrpc@8.2.0: {} - vscode-languageclient@9.0.1: + vscode-jsonrpc@9.0.1: {} + + vscode-languageclient@10.1.0: dependencies: - minimatch: 5.1.9 - semver: 7.7.4 - vscode-languageserver-protocol: 3.17.5 + minimatch: 10.2.5 + semver: 7.8.5 + vscode-languageserver-protocol: 3.18.2 + vscode-languageserver-textdocument: 1.0.13 vscode-languageserver-protocol@3.17.5: dependencies: vscode-jsonrpc: 8.2.0 vscode-languageserver-types: 3.17.5 + vscode-languageserver-protocol@3.18.2: + dependencies: + vscode-jsonrpc: 9.0.1 + vscode-languageserver-types: 3.18.0 + vscode-languageserver-textdocument@1.0.12: {} + vscode-languageserver-textdocument@1.0.13: {} + vscode-languageserver-types@3.17.5: {} + vscode-languageserver-types@3.18.0: {} + vscode-languageserver@9.0.1: dependencies: vscode-languageserver-protocol: 3.17.5 @@ -20147,6 +20174,8 @@ snapshots: webidl-conversions@7.0.0: {} + webidl-conversions@8.0.1: {} + webpack-bundle-analyzer@5.3.0: dependencies: '@discoveryjs/json-ext': 0.6.3 @@ -20158,7 +20187,7 @@ snapshots: opener: 1.5.2 picocolors: 1.1.1 sirv: 3.0.2 - ws: 8.19.0 + ws: 8.21.0 transitivePeerDependencies: - bufferutil - utf-8-validate @@ -20225,11 +20254,21 @@ snapshots: whatwg-mimetype@4.0.0: {} + whatwg-mimetype@5.0.0: {} + whatwg-url@14.2.0: dependencies: tr46: 5.1.1 webidl-conversions: 7.0.0 + whatwg-url@16.0.1: + dependencies: + '@exodus/bytes': 1.15.1 + tr46: 6.0.0 + webidl-conversions: 8.0.1 + transitivePeerDependencies: + - '@noble/hashes' + whatwg-url@5.0.0: dependencies: tr46: 0.0.3 @@ -20284,11 +20323,6 @@ snapshots: dependencies: isexe: 2.0.0 - wide-align@1.1.5: - dependencies: - string-width: 4.2.3 - optional: true - wildcard@2.0.1: {} win-export-certificate-and-key@3.0.2: @@ -20325,9 +20359,7 @@ snapshots: wrappy@1.0.2: {} - ws@8.18.3: {} - - ws@8.19.0: {} + ws@8.21.0: {} wsl-utils@0.1.0: dependencies: diff --git a/scripts/precommit.ts b/scripts/precommit.ts index 7afcc5449..4f58a14b5 100644 --- a/scripts/precommit.ts +++ b/scripts/precommit.ts @@ -1,6 +1,4 @@ #! /usr/bin/env node -/* eslint-disable no-console */ - import path from 'path'; import { promisify } from 'util'; import { execFile } from 'child_process'; diff --git a/src/commands/launchMongoShell.ts b/src/commands/launchMongoShell.ts index b9a32ae11..b166ccab3 100644 --- a/src/commands/launchMongoShell.ts +++ b/src/commands/launchMongoShell.ts @@ -86,7 +86,7 @@ const openMongoDBShell = ( connectionController.getMongoClientConnectionOptions()?.options .parentHandle; - let envVariableString = ''; + let envVariableString: string; if (userShell.includes('powershell.exe')) { envVariableString = getPowershellEnvString(); diff --git a/src/connectionController.ts b/src/connectionController.ts index 24679f8a2..6ab6c05b4 100644 --- a/src/connectionController.ts +++ b/src/connectionController.ts @@ -35,7 +35,7 @@ import type { ConnectionTreeItem } from './explorer'; import { PresetConnectionEditedTelemetryEvent } from './telemetry'; import type { RequiredBy } from './utils/types'; -// eslint-disable-next-line @typescript-eslint/no-var-requires +// eslint-disable-next-line @typescript-eslint/no-require-imports const packageJSON = require('../package.json'); const log = createLogger('connection controller'); @@ -159,7 +159,7 @@ export default class ConnectionController { private _currentConnectionId: null | string = null; _connectionAttempt: null | ConnectionAttempt = null; - private _connectionStringInputCancellationToken: null | vscode.CancellationTokenSource = + private _connectionStringInputCancellationTokenSource: null | vscode.CancellationTokenSource = null; private _connectingConnectionId: null | string = null; private _disconnecting = false; @@ -267,8 +267,9 @@ export default class ConnectionController { }: NewConnectionParams = {}): Promise { log.info('connectWithURI command called'); - const cancellationToken = new vscode.CancellationTokenSource(); - this._connectionStringInputCancellationToken = cancellationToken; + const cancellationTokenSource = new vscode.CancellationTokenSource(); + this._connectionStringInputCancellationTokenSource = + cancellationTokenSource; try { if (connectionString) { @@ -302,7 +303,6 @@ export default class ConnectionController { } try { - // eslint-disable-next-line no-new new ConnectionString(uri); } catch (error) { return formatError(error).message; @@ -311,16 +311,19 @@ export default class ConnectionController { return null; }, }, - cancellationToken.token, + cancellationTokenSource.token, ); } } catch (error) { log.error('Failed to show the input box in connectWithURI', error); return false; } finally { - if (this._connectionStringInputCancellationToken === cancellationToken) { - this._connectionStringInputCancellationToken.dispose(); - this._connectionStringInputCancellationToken = null; + if ( + this._connectionStringInputCancellationTokenSource === + cancellationTokenSource + ) { + this._connectionStringInputCancellationTokenSource.dispose(); + this._connectionStringInputCancellationTokenSource = null; } } @@ -453,7 +456,6 @@ export default class ConnectionController { return false; } - // eslint-disable-next-line complexity async _connect( connectionId: string, connectionType: ConnectionTypes, @@ -540,6 +542,7 @@ export default class ConnectionController { try { await openLink(url); } catch (err) { + log.error('Failed to open the OIDC link in the browser', err); if (signal.aborted) return; // If opening the link fails we default to regular link opening. await vscode.commands.executeCommand( @@ -993,6 +996,7 @@ export default class ConnectionController { } catch (e) { throw new Error( `An error occurred parsing the connection name: ${(e as Error).message}`, + { cause: e }, ); } @@ -1031,7 +1035,7 @@ export default class ConnectionController { } closeConnectionStringInput(): void { - this._connectionStringInputCancellationToken?.cancel(); + this._connectionStringInputCancellationTokenSource?.cancel(); } isConnecting(): boolean { diff --git a/src/editors/activeConnectionCodeLensProvider.ts b/src/editors/activeConnectionCodeLensProvider.ts index 916e72e86..61a791dd3 100644 --- a/src/editors/activeConnectionCodeLensProvider.ts +++ b/src/editors/activeConnectionCodeLensProvider.ts @@ -38,7 +38,7 @@ export default class ActiveConnectionCodeLensProvider } const codeLens = new vscode.CodeLens(new vscode.Range(0, 0, 0, 0)); - let message = ''; + let message: string; if (this._connectionController.isConnecting()) { message = 'Connecting...'; diff --git a/src/editors/collectionDocumentsProvider.ts b/src/editors/collectionDocumentsProvider.ts index 5eb3426d6..f5f67c256 100644 --- a/src/editors/collectionDocumentsProvider.ts +++ b/src/editors/collectionDocumentsProvider.ts @@ -132,7 +132,7 @@ export default class CollectionViewProvider void vscode.window.showErrorMessage(errorMessage); - throw Error(errorMessage); + throw Error(errorMessage, { cause: error }); } } } diff --git a/src/editors/editDocumentCodeLensProvider.ts b/src/editors/editDocumentCodeLensProvider.ts index 7a8ea9a4b..5bb4df445 100644 --- a/src/editors/editDocumentCodeLensProvider.ts +++ b/src/editors/editDocumentCodeLensProvider.ts @@ -38,14 +38,12 @@ export default class EditDocumentCodeLensProvider namespace?: string; uri: vscode.Uri; }): void { - let resultCodeLensesInfo: EditDocumentInfo[] = []; - - resultCodeLensesInfo = this._updateCodeLensesForCursor({ - ...data, - source: DocumentSource.collectionview, - }); - - this._codeLensesInfo[data.uri.toString()] = resultCodeLensesInfo; + this._codeLensesInfo[data.uri.toString()] = this._updateCodeLensesForCursor( + { + ...data, + source: DocumentSource.collectionview, + }, + ); } updateCodeLensesForPlayground(playgroundResult: PlaygroundRunResult): void { diff --git a/src/editors/memoryFileSystemProvider.ts b/src/editors/memoryFileSystemProvider.ts index a143ca3c3..ed568a7f4 100644 --- a/src/editors/memoryFileSystemProvider.ts +++ b/src/editors/memoryFileSystemProvider.ts @@ -1,4 +1,3 @@ -/* eslint-disable new-cap */ import path from 'path'; import * as vscode from 'vscode'; diff --git a/src/explorer/collectionTreeItem.ts b/src/explorer/collectionTreeItem.ts index 2c4cf96a6..96ff2639e 100644 --- a/src/explorer/collectionTreeItem.ts +++ b/src/explorer/collectionTreeItem.ts @@ -9,6 +9,9 @@ import IndexListTreeItem from './indexListTreeItem'; import type TreeItemParent from './treeItemParentInterface'; import SchemaTreeItem from './schemaTreeItem'; import { CollectionType } from './documentUtils'; +import { createLogger } from '../logging'; + +const log = createLogger('collection tree item'); function getIconPath( type: string, @@ -328,6 +331,7 @@ export default class CollectionTreeItem return this.documentCount; } catch (err) { + log.error(`Failed to get document count for ${this.namespace}`, err); this.documentCount = null; return 0; } diff --git a/src/explorer/connectionTreeItem.ts b/src/explorer/connectionTreeItem.ts index fb8199539..c37d812a2 100644 --- a/src/explorer/connectionTreeItem.ts +++ b/src/explorer/connectionTreeItem.ts @@ -147,6 +147,7 @@ export default class ConnectionTreeItem } catch (error) { throw new Error( `Unable to list databases: ${formatError(error).message}`, + { cause: error }, ); } } @@ -164,6 +165,7 @@ export default class ConnectionTreeItem } catch (error) { throw new Error( `Unable to list stream processors: ${formatError(error).message}`, + { cause: error }, ); } } diff --git a/src/explorer/fieldTreeItem.ts b/src/explorer/fieldTreeItem.ts index 18f7fec71..a6fe20407 100644 --- a/src/explorer/fieldTreeItem.ts +++ b/src/explorer/fieldTreeItem.ts @@ -64,7 +64,6 @@ const getCollapsibleStateForField = ( : vscode.TreeItemCollapsibleState.Collapsed; }; -// eslint-disable-next-line complexity export const getIconFileNameForField = ( field: SchemaFieldType, ): null | string => { @@ -202,7 +201,6 @@ export default class FieldTreeItem return element; } - // eslint-disable-next-line complexity getChildren(): Thenable { if (!fieldIsExpandable(this.field)) { return Promise.resolve([]); diff --git a/src/explorer/helpTree.ts b/src/explorer/helpTree.ts index 71f257016..357730ab3 100644 --- a/src/explorer/helpTree.ts +++ b/src/explorer/helpTree.ts @@ -5,6 +5,9 @@ import type { TelemetryService } from '../telemetry'; import { openLink } from '../utils/linkHelper'; import LINKS from '../utils/links'; import { LinkClickedTelemetryEvent } from '../telemetry'; +import { createLogger } from '../logging'; + +const log = createLogger('help tree'); const HELP_LINK_CONTEXT_VALUE = 'HELP_LINK'; @@ -150,6 +153,7 @@ export default class HelpTree implements vscode.TreeDataProvider - (a.label?.toString() || '').localeCompare(b.label?.toString() || ''), + getLabelString(a.label).localeCompare(getLabelString(b.label)), ); } diff --git a/src/extension.ts b/src/extension.ts index a4c10e239..69822f919 100644 --- a/src/extension.ts +++ b/src/extension.ts @@ -4,7 +4,8 @@ import * as vscode from 'vscode'; import { ext } from './extensionConstants'; import { createLogger } from './logging'; -// eslint-disable-next-line @typescript-eslint/no-var-requires + +// eslint-disable-next-line @typescript-eslint/no-require-imports const { version } = require('../package.json'); const log = createLogger('extension'); diff --git a/src/language/visitor.ts b/src/language/visitor.ts index 8c98d1e49..26f06ff2c 100644 --- a/src/language/visitor.ts +++ b/src/language/visitor.ts @@ -154,6 +154,7 @@ export class Visitor { // Parse in strict mode and allow module declarations sourceType: 'module', }); + // eslint-disable-next-line @typescript-eslint/no-unused-vars } catch (error) { /* Silent fail. When a user hasn't finished typing it causes parsing JS errors */ } diff --git a/src/language/worker.ts b/src/language/worker.ts index 3f204c9a0..446cd0aff 100644 --- a/src/language/worker.ts +++ b/src/language/worker.ts @@ -196,7 +196,7 @@ export const handleMessageFromParentPort = async ( { executeFn = execute, isSafeQueryResultFn = isSafeQueryResult, - postMessageFn = (message) => parentPort?.postMessage(message), + postMessageFn = (message): void => parentPort?.postMessage(message), }: HandleMessageDeps = {}, ): Promise => { const data = deserializeBSON(_data); diff --git a/src/mcp/mcpConfig.ts b/src/mcp/mcpConfig.ts index 6a946b771..60a745dfc 100644 --- a/src/mcp/mcpConfig.ts +++ b/src/mcp/mcpConfig.ts @@ -1,7 +1,8 @@ import { type UserConfig, UserConfigSchema } from 'mongodb-mcp-server'; import * as vscode from 'vscode'; import { createLogger } from '../logging'; -// eslint-disable-next-line @typescript-eslint/no-var-requires + +// eslint-disable-next-line @typescript-eslint/no-require-imports const { contributes } = require('../../package.json'); const logger = createLogger('mcp-config'); @@ -46,7 +47,6 @@ export function getMCPConfigFromVSCodeSettings( const defaultUserConfig = UserConfigSchema.parse({}); -// eslint-disable-next-line complexity function mcpConfigValues( property: keyof UserConfig, configuredValue: unknown, diff --git a/src/mcp/mcpConnectionManager.ts b/src/mcp/mcpConnectionManager.ts index 136d016ba..1999c6f5d 100644 --- a/src/mcp/mcpConnectionManager.ts +++ b/src/mcp/mcpConnectionManager.ts @@ -46,7 +46,6 @@ export class MCPConnectionManager extends ConnectionManager { override connect(): Promise { return Promise.reject( new Error( - // eslint-disable-next-line no-multi-str "MongoDB MCP Server in MongoDB VSCode extension makes use of the connection that the MongoDB VSCode extension is connected to. \ To connect, choose a connection from MongoDB VSCode extensions's sidepanel - https://www.mongodb.com/docs/mongodb-vscode/connect/#connect-to-your-mongodb-deployment", ), diff --git a/src/mcp/mcpController.ts b/src/mcp/mcpController.ts index 15f1e272b..bf1a1440c 100644 --- a/src/mcp/mcpController.ts +++ b/src/mcp/mcpController.ts @@ -221,7 +221,7 @@ export class MCPController { const runner = new StreamableHttpRunner({ userConfig: mcpConfig, - createConnectionManager: (...params) => + createConnectionManager: (...params): Promise => MCPController.createConnectionManager(this, ...params), connectionErrorHandler: createMCPConnectionErrorHandler( this.connectionController, diff --git a/src/mdbExtensionController.ts b/src/mdbExtensionController.ts index 9e32f85db..f5a0b39bb 100644 --- a/src/mdbExtensionController.ts +++ b/src/mdbExtensionController.ts @@ -430,7 +430,7 @@ export default class MDBExtensionController implements vscode.Disposable { const paramError = validateDeepLinkParams( command as ExtensionCommand, - parameters as Record, + parameters, ); if (paramError) { throw new Error(paramError); diff --git a/src/participant/docsChatbotAIService.ts b/src/participant/docsChatbotAIService.ts index 5cc3ef16b..bc8e022a5 100644 --- a/src/participant/docsChatbotAIService.ts +++ b/src/participant/docsChatbotAIService.ts @@ -6,7 +6,7 @@ const MONGODB_DOCS_CHATBOT_BASE_URI = 'https://knowledge.mongodb.com'; const MONGODB_DOCS_CHATBOT_API_VERSION = 'v1'; const MONGODB_DOCS_CHATBOT_MODEL = 'mongodb-chat-latest'; -// eslint-disable-next-line @typescript-eslint/no-var-requires +// eslint-disable-next-line @typescript-eslint/no-require-imports const { version } = require('../../package.json'); export type Reference = { diff --git a/src/participant/model.ts b/src/participant/model.ts index adb6f3cea..a26d48af4 100644 --- a/src/participant/model.ts +++ b/src/participant/model.ts @@ -14,6 +14,7 @@ export async function getCopilotModel(): Promise< family: CHAT_PARTICIPANT_MODEL, }); selectedModel = model; + // eslint-disable-next-line @typescript-eslint/no-unused-vars } catch (err) { // Model is not ready yet. It is being initialised with the first user prompt. } diff --git a/src/participant/participant.ts b/src/participant/participant.ts index 13400d249..4542053b4 100644 --- a/src/participant/participant.ts +++ b/src/participant/participant.ts @@ -30,10 +30,7 @@ import { getSimplifiedSampleDocuments } from './sampleDocuments'; import { getCopilotModel } from './model'; import { createMarkdownLink } from './markdown'; import { ChatMetadataStore } from './chatMetadata'; -import { - DOCUMENTS_TO_SAMPLE_FOR_SCHEMA_PROMPT, - type OpenSchemaCommandArgs, -} from './prompts/schema'; +import { DOCUMENTS_TO_SAMPLE_FOR_SCHEMA_PROMPT } from './prompts/schema'; import { ExportToPlaygroundFailedTelemetryEvent, ParticipantChatOpenedFromActionTelemetryEvent, @@ -655,6 +652,7 @@ export default class ParticipantController { data: db.name, })); } catch (error) { + log.error('Error listing databases', error); return []; } } @@ -716,6 +714,7 @@ export default class ParticipantController { data: db.name, })); } catch (error) { + log.error('Error listing collections', error); return []; } } @@ -908,7 +907,6 @@ export default class ParticipantController { ) { messagesWithNamespace.messages[ messagesWithNamespace.messages.length - 1 - // eslint-disable-next-line new-cap ] = vscode.LanguageModelChatMessage.User('see previous messages'); } const responseContentWithNamespace = await this.getChatResponseContent({ @@ -972,6 +970,7 @@ export default class ParticipantController { vscode.l10n.t( `Unable to fetch database names: ${formatError(error).message}.`, ), + { cause: error }, ); } } @@ -1004,6 +1003,7 @@ export default class ParticipantController { formatError(error).message }.`, ), + { cause: error }, ); } } @@ -1330,7 +1330,6 @@ export default class ParticipantController { } // @MongoDB /schema - // eslint-disable-next-line complexity async handleSchemaRequest( request: vscode.ChatRequest, context: vscode.ChatContext, @@ -1439,11 +1438,7 @@ export default class ParticipantController { stream.button({ command: ExtensionCommand.participantOpenRawSchemaOutput, title: vscode.l10n.t('Open JSON Output'), - arguments: [ - { - schema, - } as OpenSchemaCommandArgs, - ], + arguments: [{ schema }], }); this._telemetryService.track( @@ -1532,6 +1527,7 @@ export default class ParticipantController { stream, })); } catch (e) { + log.error('Error fetching collection schema and sample documents', e); // When an error fetching the collection schema or sample docs occurs, // we still want to continue as it isn't critical, however, // we do want to notify the user. @@ -1724,7 +1720,7 @@ export default class ParticipantController { let docsResult: { responseReferences?: Reference[]; outputLength?: number; - } = {}; + }; try { docsResult = await this._handleDocsRequestWithChatbot({ @@ -1828,6 +1824,10 @@ export default class ParticipantController { request: { prompt: codeToExport }, }); } catch (error) { + log.error( + 'Failed to build model input for export to playground', + error, + ); return { error: 'modelInput' }; } diff --git a/src/participant/prompts/promptBase.ts b/src/participant/prompts/promptBase.ts index 0450c9c1c..54f93d577 100644 --- a/src/participant/prompts/promptBase.ts +++ b/src/participant/prompts/promptBase.ts @@ -136,7 +136,6 @@ export abstract class PromptBase { const model = await getCopilotModel(); - // eslint-disable-next-line new-cap const assistantPrompt = vscode.LanguageModelChatMessage.Assistant( this.getAssistantPrompt(args), ); @@ -191,9 +190,7 @@ export abstract class PromptBase { } const { prompt, hasSampleDocs } = await this.getUserPrompt(args); - // eslint-disable-next-line new-cap const userPrompt = vscode.LanguageModelChatMessage.User(prompt); - const messages = [assistantPrompt, ...historyMessages, userPrompt]; return { diff --git a/src/participant/prompts/promptHistory.ts b/src/participant/prompts/promptHistory.ts index 7dbcc2cd9..ce2c0557c 100644 --- a/src/participant/prompts/promptHistory.ts +++ b/src/participant/prompts/promptHistory.ts @@ -27,13 +27,11 @@ export class PromptHistory { const responseType = (currentTurn.result as ChatResult)?.metadata?.intent; if (responseTypesToSkip.includes(responseType)) { - // eslint-disable-next-line new-cap return undefined; } // If the namespace is already known, skip including prompts asking for it. if (responseType === 'askForNamespace' && namespaceIsKnown) { - // eslint-disable-next-line new-cap return undefined; } @@ -53,7 +51,6 @@ export class PromptHistory { } } - // eslint-disable-next-line new-cap return vscode.LanguageModelChatMessage.Assistant(message); } @@ -98,7 +95,6 @@ export class PromptHistory { return undefined; } - // eslint-disable-next-line new-cap return vscode.LanguageModelChatMessage.User(currentTurn.prompt); } diff --git a/src/participant/schema.ts b/src/participant/schema.ts index a43e0fcbb..fcea5d8c9 100644 --- a/src/participant/schema.ts +++ b/src/participant/schema.ts @@ -4,6 +4,9 @@ import type { SimplifiedSchemaDocumentType, SimplifiedSchemaType, } from 'mongodb-schema'; +import { createLogger } from '../logging'; + +const log = createLogger('participant schema'); const PROPERTY_REGEX = '^[a-zA-Z_$][0-9a-zA-Z_$]*$'; @@ -89,6 +92,7 @@ export class SchemaFormatter { try { return JSON.stringify(pProp); } catch (e) { + log.error('Error stringifying property name', e); return pProp; } } diff --git a/src/telemetry/connectionTelemetry.ts b/src/telemetry/connectionTelemetry.ts index 9a0cff217..0206f71ab 100644 --- a/src/telemetry/connectionTelemetry.ts +++ b/src/telemetry/connectionTelemetry.ts @@ -6,7 +6,8 @@ import type { TopologyType } from 'mongodb'; import { ConnectionType, type ConnectionTypes } from '../connectionController'; const log = createLogger('connection telemetry helper'); -// eslint-disable-next-line @typescript-eslint/no-var-requires + +// eslint-disable-next-line @typescript-eslint/no-require-imports const { version } = require('../../package.json'); export type NewConnectionTelemetryEventProperties = { @@ -74,6 +75,7 @@ async function getPublicCloudInfo(host: string): Promise<{ public_cloud_name: publicCloudName, }; } catch (err) { + log.error('Error getting public cloud info', err); // Cannot resolve dns used by mongodb-cloud-info in the browser environment. return {}; } diff --git a/src/telemetry/telemetryService.ts b/src/telemetry/telemetryService.ts index 4d87d4630..19670e4c3 100644 --- a/src/telemetry/telemetryService.ts +++ b/src/telemetry/telemetryService.ts @@ -21,7 +21,8 @@ import { import { getDeviceId } from './deviceId'; const log = createLogger('telemetry'); -// eslint-disable-next-line @typescript-eslint/no-var-requires + +// eslint-disable-next-line @typescript-eslint/no-require-imports const { version } = require('../../package.json'); export type SegmentProperties = { @@ -74,7 +75,7 @@ export class TelemetryService { this._context.extensionPath, './constants.json', ); - // eslint-disable-next-line no-sync + const constantsFile = await fs.readFile(segmentKeyFileLocation, { encoding: 'utf8', }); diff --git a/src/test/ai-accuracy-tests/ai-accuracy-tests.ts b/src/test/ai-accuracy-tests/ai-accuracy-tests.ts index 2250fe462..48c7394c3 100644 --- a/src/test/ai-accuracy-tests/ai-accuracy-tests.ts +++ b/src/test/ai-accuracy-tests/ai-accuracy-tests.ts @@ -1,4 +1,3 @@ -/* eslint-disable no-console */ import { expect } from 'chai'; import { MongoClient } from 'mongodb'; import { execFile as callbackExecFile } from 'child_process'; @@ -566,7 +565,9 @@ async function runTest({ ...message, content: message.content .map((c) => - c instanceof vscode.LanguageModelTextPart ? c.value : c.toString(), + c instanceof vscode.LanguageModelTextPart + ? c.value + : JSON.stringify(c), ) .join(''), role: @@ -658,7 +659,7 @@ describe('AI Accuracy Tests', function () { testFunction( `should pass for input: "${testCase.userInput}" if average accuracy is above threshold`, - // eslint-disable-next-line no-loop-func, complexity + async function () { console.log(`Starting test run of ${testCase.testCase}.`); @@ -682,9 +683,7 @@ describe('AI Accuracy Tests', function () { if (testCase.reloadFixtureOnEachRun) { await reloadFixture({ - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion db: testCase.databaseName!, - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion coll: testCase.collectionName!, mongoClient, fixtures, diff --git a/src/test/ai-accuracy-tests/test-setup.ts b/src/test/ai-accuracy-tests/test-setup.ts index b501ed2af..ae3e99758 100644 --- a/src/test/ai-accuracy-tests/test-setup.ts +++ b/src/test/ai-accuracy-tests/test-setup.ts @@ -38,6 +38,8 @@ const vscodeMock = { // Mock the 'vscode' module since we don't run the full vscode // integration test setup for the ai-accuracy-tests as it's a bit slow. +// The extracted method is re-invoked with an explicit receiver via +// `originalRequire.call(this, id)` below, so unbound usage is intentional. // eslint-disable-next-line @typescript-eslint/unbound-method const originalRequire = Module.prototype.require; Module.prototype.require = function (id: string): any { diff --git a/src/test/e2e/helpers.ts b/src/test/e2e/helpers.ts index 62439df60..505d99c50 100644 --- a/src/test/e2e/helpers.ts +++ b/src/test/e2e/helpers.ts @@ -1,4 +1,3 @@ -/* eslint-disable @typescript-eslint/no-empty-function */ import path from 'path'; import os from 'os'; import fs from 'fs'; diff --git a/src/test/e2e/playground.test.ts b/src/test/e2e/playground.test.ts index 5b92f172b..19994fbf6 100644 --- a/src/test/e2e/playground.test.ts +++ b/src/test/e2e/playground.test.ts @@ -1,5 +1,4 @@ /* eslint-disable no-empty-pattern */ -/* eslint-disable mocha/no-global-tests */ import type { TestInfo } from '@playwright/test'; import { test, @@ -38,7 +37,7 @@ async function screenshotOnFailure(testInfo: TestInfo): Promise { } } -test.beforeAll(async () => { +test.beforeAll(async function () { await startMongoDB(); await seedDatabase(); @@ -48,16 +47,16 @@ test.beforeAll(async () => { await connectToMongoDB(page); }); -test.beforeEach(async () => { +test.beforeEach(async function () { // Close any leftover editor tabs from previous runs. await closeAllEditors(page); }); -test.afterEach(async ({}, testInfo) => { +test.afterEach(async function ({}, testInfo) { await screenshotOnFailure(testInfo); }); -test.afterAll(async ({}, testInfo) => { +test.afterAll(async function ({}, testInfo) { await screenshotOnFailure(testInfo); copyExtensionLogs(); @@ -164,7 +163,7 @@ test('playground aggregation results appear in data browsing view', async () => // Verify each expected item appears in its own document card // and that the filtered-out item does not appear - const normalize = (text: string) => text.replace(/\s+/g, ' '); + const normalize = (text: string): string => text.replace(/\s+/g, ' '); await expect(async () => { const cardTexts = await cards.evaluateAll((els) => els.map((el) => el.textContent ?? ''), diff --git a/src/test/fixture/curl.js b/src/test/fixture/curl.js index d7108c327..06387a001 100644 --- a/src/test/fixture/curl.js +++ b/src/test/fixture/curl.js @@ -1,5 +1,4 @@ #!/usr/bin/env node -/* eslint-disable */ 'use strict'; const fetch = require('node-fetch'); diff --git a/src/test/runTest.ts b/src/test/runTest.ts index 3b07e0f0a..6bf8507a6 100644 --- a/src/test/runTest.ts +++ b/src/test/runTest.ts @@ -1,4 +1,3 @@ -/* eslint-disable no-console */ import path from 'path'; import { runTests } from '@vscode/test-electron'; import { MongoCluster } from 'mongodb-runner'; diff --git a/src/test/setup-webview.ts b/src/test/setup-webview.ts index 01f378ad0..f845d6c08 100644 --- a/src/test/setup-webview.ts +++ b/src/test/setup-webview.ts @@ -1,7 +1,8 @@ // Setup sinon-chai -import chai from 'chai'; +import { use } from 'chai'; import sinonChai from 'sinon-chai'; -chai.use(sinonChai); + +use(sinonChai); // JSDom import { JSDOM, VirtualConsole } from 'jsdom'; @@ -12,9 +13,9 @@ import { JSDOM, VirtualConsole } from 'jsdom'; * * @see {@link https://github.com/focus-trap/tabbable?tab=readme-ov-file#testing-in-jsdom} */ -// eslint-disable-next-line @typescript-eslint/no-var-requires -const tabbable = require('tabbable'); +// eslint-disable-next-line @typescript-eslint/no-require-imports +const tabbable = require('tabbable'); const origTabbable = { ...tabbable }; Object.assign(tabbable, { @@ -28,7 +29,7 @@ Object.assign(tabbable, { origTabbable.isTabbable(node, { ...options, displayCheck: 'none' }), }); -// eslint-disable-next-line @typescript-eslint/no-var-requires +// eslint-disable-next-line @typescript-eslint/no-require-imports const focusTrap = require('focus-trap'); Object.assign(focusTrap, { @@ -49,18 +50,27 @@ Object.assign(focusTrap, { }); const virtualConsole = new VirtualConsole(); -virtualConsole.sendTo(console, { omitJSDOMErrors: true }); +virtualConsole.forwardTo(console, { jsdomErrors: 'none' }); virtualConsole.on('jsdomError', (err) => { // Ignore navigation not implemented errors - if (err.message === 'Not implemented: navigation (except hash changes)') { + if (err.type === 'not-implemented') { + return; + } + + // @leafygreen-ui/ripple injects a