From e372ae571afe07f0af1c4271882580a18365063e Mon Sep 17 00:00:00 2001 From: Ajay Ghanwat Date: Mon, 24 Aug 2026 11:36:13 +0530 Subject: [PATCH] chore: harden release checks and package coverage --- .github/workflows/quality.yml | 2 +- bun.lock | 187 +++++++------ editors/vscode/src/compiler.cjs | 2 +- editors/vscode/src/extension.bundle.cjs | 264 +++++++++--------- editors/vscode/src/language-server.cjs | 59 ++-- package.json | 4 +- packages/captcha/package.json | 2 +- .../captcha/test/helper-boundaries.test.ts | 50 ++++ packages/dev-server/package.json | 3 +- packages/dev-server/src/pipeline.ts | 4 +- packages/dev-toolbar/package.json | 2 +- .../dev-toolbar/test/server/issues.test.ts | 25 ++ packages/store/package.json | 2 +- .../store/test/persistence-boundaries.test.ts | 32 +++ packages/syntax/package.json | 2 +- .../test/api-section-boundaries.test.ts | 28 ++ packages/typecheck/package.json | 2 +- packages/typecheck/src/index.ts | 46 ++- .../test/imports-and-components.test.ts | 19 +- packages/uploader/package.json | 2 +- .../uploader/test/security-policy.test.ts | 46 +++ scripts/build-editor-compiler.mjs | 10 +- scripts/check-public-api.mjs | 7 +- scripts/test-staged-consumers.mjs | 42 +-- 24 files changed, 563 insertions(+), 279 deletions(-) create mode 100644 packages/captcha/test/helper-boundaries.test.ts create mode 100644 packages/dev-toolbar/test/server/issues.test.ts create mode 100644 packages/store/test/persistence-boundaries.test.ts create mode 100644 packages/syntax/test/api-section-boundaries.test.ts create mode 100644 packages/uploader/test/security-policy.test.ts diff --git a/.github/workflows/quality.yml b/.github/workflows/quality.yml index 0b125dd2..90dc8996 100644 --- a/.github/workflows/quality.yml +++ b/.github/workflows/quality.yml @@ -19,7 +19,7 @@ jobs: - uses: actions/checkout@v4 - uses: oven-sh/setup-bun@v2 with: - bun-version: 1.3.14 + bun-version: 1.4.0 - uses: actions/setup-node@v4 with: node-version: 24 diff --git a/bun.lock b/bun.lock index aa753ade..7fc9cfb3 100644 --- a/bun.lock +++ b/bun.lock @@ -9,7 +9,7 @@ }, "devDependencies": { "@eslint/js": "^10.0.1", - "@types/bun": "^1.3.14", + "@types/bun": "^1.4.0", "@types/react": "^19.2.18", "@types/react-dom": "^19.2.4", "eslint": "^10.8.1", @@ -133,7 +133,7 @@ "devDependencies": { "@eslint/js": "^10.0.1", "@types/bun": "^1.3.14", - "@wrnexus/cli": "^0.8.35", + "@wrnexus/cli": "^0.8.36", "eslint": "^10.8.1", "prettier": "^3.9.6", "typescript": "^6.0.3", @@ -145,27 +145,27 @@ "version": "0.1.0", "dependencies": { "@wrnexus/ai": "^0.8.9", - "@wrnexus/auth": "^0.8.11", + "@wrnexus/auth": "^0.8.12", "@wrnexus/authz": "^0.8.9", - "@wrnexus/captcha": "^0.8.10", + "@wrnexus/captcha": "^0.8.11", "@wrnexus/core": "^0.8.9", "@wrnexus/csr": "^0.8.21", - "@wrnexus/db": "^0.8.14", - "@wrnexus/dev-server": "^0.8.32", - "@wrnexus/encryption": "^0.8.8", + "@wrnexus/db": "^0.8.15", + "@wrnexus/dev-server": "^0.8.33", + "@wrnexus/encryption": "^0.8.9", "@wrnexus/helpers": "^0.8.8", - "@wrnexus/i18n": "^0.8.10", - "@wrnexus/image": "^0.8.9", - "@wrnexus/jwt": "^0.8.8", + "@wrnexus/i18n": "^0.8.11", + "@wrnexus/image": "^0.8.10", + "@wrnexus/jwt": "^0.8.9", "@wrnexus/observability": "^0.8.8", - "@wrnexus/realtime": "^0.8.9", + "@wrnexus/realtime": "^0.8.10", "@wrnexus/security": "^0.8.8", "@wrnexus/store": "^0.8.8", "@wrnexus/styles": "^0.8.15", "@wrnexus/tracking": "^0.8.8", "@wrnexus/ui": "^0.8.19", - "@wrnexus/uploader": "^0.8.9", - "@wrnexus/validation": "^0.8.9", + "@wrnexus/uploader": "^0.8.10", + "@wrnexus/validation": "^0.8.10", }, "devDependencies": { "@eslint/js": "^10.0.1", @@ -173,7 +173,7 @@ "@iconify/tailwind4": "^1.2.3", "@tailwindcss/cli": "^4.3.3", "@types/bun": "^1.3.14", - "@wrnexus/cli": "^0.8.35", + "@wrnexus/cli": "^0.8.36", "eslint": "^10.8.1", "prettier": "^3.9.6", "tailwindcss": "^4.3.3", @@ -186,27 +186,27 @@ "version": "0.1.0", "dependencies": { "@wrnexus/ai": "^0.8.9", - "@wrnexus/auth": "^0.8.11", + "@wrnexus/auth": "^0.8.12", "@wrnexus/authz": "^0.8.9", - "@wrnexus/captcha": "^0.8.10", + "@wrnexus/captcha": "^0.8.11", "@wrnexus/core": "^0.8.9", "@wrnexus/csr": "^0.8.21", - "@wrnexus/db": "^0.8.14", - "@wrnexus/dev-server": "^0.8.32", - "@wrnexus/encryption": "^0.8.8", + "@wrnexus/db": "^0.8.15", + "@wrnexus/dev-server": "^0.8.33", + "@wrnexus/encryption": "^0.8.9", "@wrnexus/helpers": "^0.8.8", - "@wrnexus/i18n": "^0.8.10", - "@wrnexus/image": "^0.8.9", - "@wrnexus/jwt": "^0.8.8", + "@wrnexus/i18n": "^0.8.11", + "@wrnexus/image": "^0.8.10", + "@wrnexus/jwt": "^0.8.9", "@wrnexus/observability": "^0.8.8", - "@wrnexus/realtime": "^0.8.9", + "@wrnexus/realtime": "^0.8.10", "@wrnexus/security": "^0.8.8", "@wrnexus/store": "^0.8.8", "@wrnexus/styles": "^0.8.15", "@wrnexus/tracking": "^0.8.8", "@wrnexus/ui": "^0.8.19", - "@wrnexus/uploader": "^0.8.9", - "@wrnexus/validation": "^0.8.9", + "@wrnexus/uploader": "^0.8.10", + "@wrnexus/validation": "^0.8.10", }, "devDependencies": { "@eslint/js": "^10.0.1", @@ -214,7 +214,7 @@ "@iconify/tailwind4": "^1.2.3", "@tailwindcss/cli": "^4.3.3", "@types/bun": "^1.3.14", - "@wrnexus/cli": "^0.8.35", + "@wrnexus/cli": "^0.8.36", "eslint": "^10.8.1", "prettier": "^3.9.6", "tailwindcss": "^4.3.3", @@ -277,7 +277,7 @@ }, "packages/captcha": { "name": "@wrnexus/captcha", - "version": "0.8.11", + "version": "0.8.13", "dependencies": { "@wrnexus/core": "workspace:*", "@wrnexus/plugin": "workspace:*", @@ -292,7 +292,7 @@ }, "packages/cli": { "name": "@wrnexus/cli", - "version": "0.8.60", + "version": "0.8.62", "bin": { "wrnexus": "src/index.ts", }, @@ -357,7 +357,7 @@ }, "packages/dev-server": { "name": "@wrnexus/dev-server", - "version": "0.8.52", + "version": "0.8.56", "dependencies": { "@wrnexus/authz": "workspace:*", "@wrnexus/cache": "workspace:*", @@ -372,6 +372,7 @@ "@wrnexus/pubsub": "workspace:*", "@wrnexus/pwa": "workspace:*", "@wrnexus/queue": "workspace:*", + "@wrnexus/react": "workspace:*", "@wrnexus/router": "workspace:*", "@wrnexus/rpc": "workspace:*", "@wrnexus/security": "workspace:*", @@ -385,7 +386,7 @@ }, "packages/dev-toolbar": { "name": "@wrnexus/dev-toolbar", - "version": "0.8.13", + "version": "0.8.15", "devDependencies": { "@types/bun": "^1.3.14", "typescript": "^6.0.3", @@ -654,7 +655,7 @@ }, "packages/store": { "name": "@wrnexus/store", - "version": "0.8.9", + "version": "0.8.11", }, "packages/styles": { "name": "@wrnexus/styles", @@ -667,7 +668,7 @@ }, "packages/syntax": { "name": "@wrnexus/syntax", - "version": "0.8.13", + "version": "0.8.15", }, "packages/test": { "name": "@wrnexus/test", @@ -679,7 +680,7 @@ }, "packages/typecheck": { "name": "@wrnexus/typecheck", - "version": "0.8.13", + "version": "0.8.15", "dependencies": { "@wrnexus/syntax": "workspace:*", "typescript": "^6.0.3", @@ -694,7 +695,7 @@ }, "packages/uploader": { "name": "@wrnexus/uploader", - "version": "0.8.10", + "version": "0.8.12", "dependencies": { "@wrnexus/core": "workspace:*", "@wrnexus/plugin": "workspace:*", @@ -795,7 +796,7 @@ "@esbuild/win32-x64": ["@esbuild/win32-x64@0.28.1", "", { "os": "win32", "cpu": "x64" }, "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A=="], - "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.9.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ=="], + "@eslint-community/eslint-utils": ["@eslint-community/eslint-utils@4.10.1", "", { "dependencies": { "eslint-visitor-keys": "^3.4.3" }, "peerDependencies": { "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, "sha512-cuadcxVFE8sDK6iWJbs8Sn0av2Nrh2QSGQhVlBW9AaAHqHwjWsZHT8LJ4hFGPh7ASBV2deFdM7H/DPjulmh8rg=="], "@eslint-community/regexpp": ["@eslint-community/regexpp@4.12.2", "", {}, "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew=="], @@ -821,7 +822,7 @@ "@humanwhocodes/retry": ["@humanwhocodes/retry@0.4.3", "", {}, "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ=="], - "@iconify-json/lucide": ["@iconify-json/lucide@1.2.123", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-0CozmpKXEOEEhltrfT2zt+/t1hez67Y+hM2VJWoIcBKdBrb83VYuKf+b5A0QU9HfQm+RNn2GjFWlTOwi+Ss6IA=="], + "@iconify-json/lucide": ["@iconify-json/lucide@1.2.125", "", { "dependencies": { "@iconify/types": "*" } }, "sha512-tOCk1QKMtKnCfPAgZRHgjRkQTP7wF5IO+iPKvvp8vxGZYPkSLhx4HTV3Ng0pIZ3wNWrS6kVpHkunJ1dc19L1og=="], "@iconify/tailwind4": ["@iconify/tailwind4@1.2.3", "", { "dependencies": { "@iconify/tools": "^5.0.5", "@iconify/types": "^2.0.0", "@iconify/utils": "^3.1.0" }, "peerDependencies": { "tailwindcss": ">= 4.0.0" } }, "sha512-z8SKiMHRASJKF/IY//87MF88lcB7ulxh8vlhQXXLWsBkNtOh6ese9R41MyGpQeqXdRvQVt+/fX2glQtHFjQ+MA=="], @@ -841,6 +842,8 @@ "@jridgewell/trace-mapping": ["@jridgewell/trace-mapping@0.3.31", "", { "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw=="], + "@napi-rs/lzma-linux-x64-gnu": ["@napi-rs/lzma-linux-x64-gnu@1.5.1", "", { "os": "linux", "cpu": "x64" }, "sha512-oTXEIha4SsuXdTA4Iyskj0kpdx2yVXdhd75c2v3xGrHFfVMsbhTPZU/nMPL4sWKo4pBHm3aucLaqGlF696dTyQ=="], + "@noble/hashes": ["@noble/hashes@1.4.0", "", {}, "sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg=="], "@parcel/watcher": ["@parcel/watcher@2.5.1", "", { "dependencies": { "detect-libc": "^1.0.3", "is-glob": "^4.0.3", "micromatch": "^4.0.5", "node-addon-api": "^7.0.0" }, "optionalDependencies": { "@parcel/watcher-android-arm64": "2.5.1", "@parcel/watcher-darwin-arm64": "2.5.1", "@parcel/watcher-darwin-x64": "2.5.1", "@parcel/watcher-freebsd-x64": "2.5.1", "@parcel/watcher-linux-arm-glibc": "2.5.1", "@parcel/watcher-linux-arm-musl": "2.5.1", "@parcel/watcher-linux-arm64-glibc": "2.5.1", "@parcel/watcher-linux-arm64-musl": "2.5.1", "@parcel/watcher-linux-x64-glibc": "2.5.1", "@parcel/watcher-linux-x64-musl": "2.5.1", "@parcel/watcher-win32-arm64": "2.5.1", "@parcel/watcher-win32-ia32": "2.5.1", "@parcel/watcher-win32-x64": "2.5.1" } }, "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg=="], @@ -871,79 +874,79 @@ "@parcel/watcher-win32-x64": ["@parcel/watcher-win32-x64@2.5.1", "", { "os": "win32", "cpu": "x64" }, "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA=="], - "@peculiar/asn1-cms": ["@peculiar/asn1-cms@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "@peculiar/asn1-x509-attr": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-NgekZOrSJFSBFLFoLfwePguAWAx7z1+f2TEsWFUMyiqqfntZ4+S/S5hzqME3q4pCA0iOsFKdwiQ35dwY24eVqA=="], + "@peculiar/asn1-cms": ["@peculiar/asn1-cms@2.9.4", "", { "dependencies": { "@peculiar/asn1-schema": "^2.9.4", "@peculiar/asn1-x509": "^2.9.4", "@peculiar/asn1-x509-attr": "^2.9.4", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-cben7oxmQsUGZqotus7yt0srYdncOT6RNWcTQ77T2RFOXejYVYkXadrfePdRcrVpO9K95IRLKKglG2k38jKXuw=="], - "@peculiar/asn1-csr": ["@peculiar/asn1-csr@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-akbF8+uvleHs8sejNPQxwmVFuInAg6FMNHOwMILXfP518YfFJwdR3jr6oNUPOaEJfuEhn/vkNOCIT6ASUd4mbg=="], + "@peculiar/asn1-csr": ["@peculiar/asn1-csr@2.9.4", "", { "dependencies": { "@peculiar/asn1-schema": "^2.9.4", "@peculiar/asn1-x509": "^2.9.4", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-xd4YN4vpRjkDAQWVfZZkeu12IEND7DOpkqaHSIHxZl1uggUNa9Ju0QxY2jHvDAS9pP0zhRBytg8ifsnGo3V0jw=="], - "@peculiar/asn1-ecc": ["@peculiar/asn1-ecc@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-ohwlk+u9Rv2NOAY1c6MfHj45ATVF8R1DUN/WCgABiRtLi2ZftlZWZX7KvpAbU8v9xPcmoILfELeEABj/rn18AQ=="], + "@peculiar/asn1-ecc": ["@peculiar/asn1-ecc@2.9.4", "", { "dependencies": { "@peculiar/asn1-schema": "^2.9.4", "@peculiar/asn1-x509": "^2.9.4", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-JJXefFshRAuVAjWQo/39bkg1ywc1VaiO44S8RRC+Ykvf/u2KDmYffoDb0ZBPCR5uJy4AGKQhl8mX+Q8ShcWaXQ=="], - "@peculiar/asn1-pfx": ["@peculiar/asn1-pfx@2.8.0", "", { "dependencies": { "@peculiar/asn1-cms": "^2.8.0", "@peculiar/asn1-pkcs8": "^2.8.0", "@peculiar/asn1-rsa": "^2.8.0", "@peculiar/asn1-schema": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-5yof1ytoB++RQtaFbqSUJ8pxDJtZT6vbVqZ8XoJ61ph7UjNVvfFwAilnCodqkNsAodpy13gDhoxZXw00pghnyg=="], + "@peculiar/asn1-pfx": ["@peculiar/asn1-pfx@2.9.4", "", { "dependencies": { "@peculiar/asn1-cms": "^2.9.4", "@peculiar/asn1-pkcs8": "^2.9.4", "@peculiar/asn1-rsa": "^2.9.4", "@peculiar/asn1-schema": "^2.9.4", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-khuGzHTzNzk4GDlIBEILyIs6Lce0yn0ZBdoI9v93kmNncfZRhD+AQ5ODFqdhvoE8cMJF/JMTQ8yA+t1D14kqCw=="], - "@peculiar/asn1-pkcs8": ["@peculiar/asn1-pkcs8@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-qAKXtLpBEw9LqhKpjw3ajZSXlBur+ipW+y2ivVBQAG6F6qRx94yO+1ZR4mvw+YaCfKSaOzLeYEzsPaBp4SJELA=="], + "@peculiar/asn1-pkcs8": ["@peculiar/asn1-pkcs8@2.9.4", "", { "dependencies": { "@peculiar/asn1-schema": "^2.9.4", "@peculiar/asn1-x509": "^2.9.4", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-duRdotlUx9eDZe6QrQpQKl61RbWykCHBCkKayP8V8XdEFwlKHZ8qGGDMyS6Pye7OX7nLFttTTpRkJeet78ckwQ=="], - "@peculiar/asn1-pkcs9": ["@peculiar/asn1-pkcs9@2.8.0", "", { "dependencies": { "@peculiar/asn1-cms": "^2.8.0", "@peculiar/asn1-pfx": "^2.8.0", "@peculiar/asn1-pkcs8": "^2.8.0", "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "@peculiar/asn1-x509-attr": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-b5nDWCnkV60+cQ141D6sVVwK9nz64R5n3zSVnklGd+ECdkW2Ol3U1a6yYFlalpSOaD557yuJB64A+q42jG7lUQ=="], + "@peculiar/asn1-pkcs9": ["@peculiar/asn1-pkcs9@2.9.4", "", { "dependencies": { "@peculiar/asn1-cms": "^2.9.4", "@peculiar/asn1-pfx": "^2.9.4", "@peculiar/asn1-pkcs8": "^2.9.4", "@peculiar/asn1-schema": "^2.9.4", "@peculiar/asn1-x509": "^2.9.4", "@peculiar/asn1-x509-attr": "^2.9.4", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-kaL4cNxBpdQE2dKlyZBqz4ygCrwffO+8wfoxTEqM1Z8RadvCeELBRzcv0dzM8aY9azHMwODO5nxU65zXmhToOQ=="], - "@peculiar/asn1-rsa": ["@peculiar/asn1-rsa@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-zHEUlCqB2mk7x2lxDwHHJy7hWZOPdGHVlsmITWKB5/PbQo61atbu9PJ/0r9dQNMwFzbKPXZ8uK8/91eUhRznSg=="], + "@peculiar/asn1-rsa": ["@peculiar/asn1-rsa@2.9.4", "", { "dependencies": { "@peculiar/asn1-schema": "^2.9.4", "@peculiar/asn1-x509": "^2.9.4", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-pZ96eD1PptovcWQ/GSmuNFXd/7EQJNlKfDaNCyE2rx3W0v6QFelkzquVqRSRyyDXXCYD69ZXJDzZ8GhIiQzKoA=="], - "@peculiar/asn1-schema": ["@peculiar/asn1-schema@2.8.0", "", { "dependencies": { "@peculiar/utils": "^2.0.2", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-7YT0U/ze0tF2QOBbE15gKZwy5tvgGyLRiRHLzhlbOpf7BT032oBSd0haZqXn5W6l26WLlu3dyxzjM+2638/z2Q=="], + "@peculiar/asn1-schema": ["@peculiar/asn1-schema@2.9.4", "", { "dependencies": { "@peculiar/utils": "^2.0.2", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-GjzePcT9Iw8NzeOPf73iNS9xM+TBhd/FilAfP+RQGkTMQJTVWtytN3JHJACCjf/ABNau5S7mS3g+DcuxmRgYEg=="], - "@peculiar/asn1-x509": ["@peculiar/asn1-x509@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/utils": "^2.0.2", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-N0CMuhWUzsWEVq6F1q9X6+VKUnWzSW+cSVg+aPaGGwDdbFoFWTYgin5MHwXgpWd6y9COMBxnfy/Qc+Xc7F0Zwg=="], + "@peculiar/asn1-x509": ["@peculiar/asn1-x509@2.9.4", "", { "dependencies": { "@peculiar/asn1-schema": "^2.9.4", "@peculiar/utils": "^2.0.2", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-CxhBo/RdEbMMob7T31ZdQjGuoyRFLVwrDzTn25bihzBasRg9kRm/0IxIPvhgQtcK/9dNcO1XQL2fuPugwELL0Q=="], - "@peculiar/asn1-x509-attr": ["@peculiar/asn1-x509-attr@2.8.0", "", { "dependencies": { "@peculiar/asn1-schema": "^2.8.0", "@peculiar/asn1-x509": "^2.8.0", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-tHjkfS/qhMnmrlB2J9NhflQlQ7In3khO3CfmVrriOlpTeErY9ZIKOso1hQ5JQiyrJ7ShvqVPk7E5fQmbclkSKA=="], + "@peculiar/asn1-x509-attr": ["@peculiar/asn1-x509-attr@2.9.4", "", { "dependencies": { "@peculiar/asn1-schema": "^2.9.4", "@peculiar/asn1-x509": "^2.9.4", "asn1js": "^3.0.10", "tslib": "^2.8.1" } }, "sha512-ehQXbpQaQYycgu8OrvigwSPTFfVRcu0ECNYCWw+yzBp02Lw5paRqzzhUpfOgO2K38+WfFZuEz/0RPtam5g0OMg=="], "@peculiar/utils": ["@peculiar/utils@2.0.3", "", { "dependencies": { "tslib": "^2.8.1" } }, "sha512-+oL3HPFRIZ1St2K50lWCXiioIgSoxzz7R1J3uF6neO2yl1sgmpgY6XXJH4BdpoDkMWznQTeYF6oWNDZLCdQ4eQ=="], "@peculiar/x509": ["@peculiar/x509@1.14.3", "", { "dependencies": { "@peculiar/asn1-cms": "^2.6.0", "@peculiar/asn1-csr": "^2.6.0", "@peculiar/asn1-ecc": "^2.6.0", "@peculiar/asn1-pkcs9": "^2.6.0", "@peculiar/asn1-rsa": "^2.6.0", "@peculiar/asn1-schema": "^2.6.0", "@peculiar/asn1-x509": "^2.6.0", "pvtsutils": "^1.3.6", "reflect-metadata": "^0.2.2", "tslib": "^2.8.1", "tsyringe": "^4.10.0" } }, "sha512-C2Xj8FZ0uHWeCXXqX5B4/gVFQmtSkiuOolzAgutjTfseNOHT3pUjljDZsTSxXFGgio54bCzVFqmEOUrIVk8RDA=="], - "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.62.2", "", { "os": "android", "cpu": "arm" }, "sha512-6o7ZLZK+BeenkZCFNDXqpbjw9bD6nuWonvS/lwQJp7NoVVxm6p3qE7qQ5jGuBjiFsgvqjD8mZAU5oWxTmbOeOg=="], + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.62.5", "", { "os": "android", "cpu": "arm" }, "sha512-jfkGfTwhQpsiSckPF8r9bU3pn3vyd72NlWaO+TgEO6WPSDnUhXzrNYCHBMOYj0ACaUgjm6eERLF+XV9a6RstoA=="], - "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.62.2", "", { "os": "android", "cpu": "arm64" }, "sha512-BaH7BllCACHoH1LguOU56UItGfUWjujlO65kS9LAodViaN4bwIKd7oeW/ZHJ/4ljr/7MIiENnNy3HJ0zXv8Zkw=="], + "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.62.5", "", { "os": "android", "cpu": "arm64" }, "sha512-oGVqyQlxnrz9/ty89oHpU857VUHEl5/Xu4R2lS+aivCTrNnSsbiENzTnNaBsjxH0CNWGPhzHArOLFwo+oKXveA=="], - "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.62.2", "", { "os": "darwin", "cpu": "arm64" }, "sha512-v39RCCvj4He82I9sFmk+M1VZ0PLM9sfsLVikjfx2hYBNALhrrOR2D3JjQA6AhlaSOgcR+RzrKY7e1+bT6SUO/A=="], + "@rollup/rollup-darwin-arm64": ["@rollup/rollup-darwin-arm64@4.62.5", "", { "os": "darwin", "cpu": "arm64" }, "sha512-bW7B8xMEq8n99Q3ieEcPRGuphurdZAaFzQc9Efyyw3FL6DZO6pMy9xhdN+kBoD7Sy05xNXSr4OyPPnpkYriS/A=="], - "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.62.2", "", { "os": "darwin", "cpu": "x64" }, "sha512-yl0y2vq3S3lHeuXhEdss6TWfKW8vkujImO12tn4ZkG/4oghr09LvdYm2RElVjokTQiUvDUGXLGsYeLqUMCKpGA=="], + "@rollup/rollup-darwin-x64": ["@rollup/rollup-darwin-x64@4.62.5", "", { "os": "darwin", "cpu": "x64" }, "sha512-YSwBS86QeHOGlrxJ1PSOIZSkzRL/JmKeunhc+lV6M1a6En8QuVCD/T/qIA0J4Gd2Y86RIOBYrLcOUtqGh9+/1w=="], - "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.62.2", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-tT4pvt4qXD+vEoezupCWi+a1F0vvDiksiHc+PxRlYTOH1I6/X4id9jPxTP+Fg+545euaFT1jJVs4CEdHZAU1vw=="], + "@rollup/rollup-freebsd-arm64": ["@rollup/rollup-freebsd-arm64@4.62.5", "", { "os": "freebsd", "cpu": "arm64" }, "sha512-2fST8lILgl7cKbme/1KDdPCmbXbG+gqoV3bHp19L0ypX/3akYMBVdOunPleRCwonoLnXOZ/0F+Mt/v8POFmfcQ=="], - "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.62.2", "", { "os": "freebsd", "cpu": "x64" }, "sha512-6nU5F2wCW+qvCBhTn1pdIU3bzsIoF7EUwsCDRxilWGprQR6yd508YnH9+OKFCwpfS8pjZqDUmnCAr7exax0XCg=="], + "@rollup/rollup-freebsd-x64": ["@rollup/rollup-freebsd-x64@4.62.5", "", { "os": "freebsd", "cpu": "x64" }, "sha512-cpIxQCP9J+EVad0a6LO1kY3ZGODlk80VlI+2I96B8xMcdHZ4pLVhfQ49JFpYqjPF91FFkQWftf57YlDcTiw9yQ=="], - "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.62.2", "", { "os": "linux", "cpu": "arm" }, "sha512-n1GJHPOvpIfhi3TmrCeh6S6URt9BFCt0KQE3qvexyGCTAKpR4Lg+eWvNZEqu7epxwus/8ElT3hacYEucm49SZg=="], + "@rollup/rollup-linux-arm-gnueabihf": ["@rollup/rollup-linux-arm-gnueabihf@4.62.5", "", { "os": "linux", "cpu": "arm" }, "sha512-r9fGh3eFs3e/udWh5ZjXQtxiYK/xoFxQaYR/cELxac/Udkl5Th+IsFm0CX3Kl9hmUH/we7EoMpjJgeQNnE0+IA=="], - "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.62.2", "", { "os": "linux", "cpu": "arm" }, "sha512-JqgflS8wEB+UXV/vS1RpRbifGBeN4D5lz8D8oOFbFZw4vedvdOgCFAjfBmIMdW3yL10XpQQ0Ambepw6MXrhOnA=="], + "@rollup/rollup-linux-arm-musleabihf": ["@rollup/rollup-linux-arm-musleabihf@4.62.5", "", { "os": "linux", "cpu": "arm" }, "sha512-xdvFdp7OM6KLJviJT2g/YuRSUjnZgGHk4RNgwIbN7X6cPugOucV60DdHXWzsBVCUdrGb6qSXnJQrrAKMmQuj3Q=="], - "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.62.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-wnFJkogWvN4jm/hQRF2UBaeUmk20j5+DmHvoyWii2b8HJDyvz1MF2OU/6ynXt2KR63rbZLWkFpoytpdc/yBuSA=="], + "@rollup/rollup-linux-arm64-gnu": ["@rollup/rollup-linux-arm64-gnu@4.62.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-rRqILAndyzHzP7T9NFQrq+4HFWNhqkqkKur7eiBpfLmz01PO0JKx5Vchu3YllE4YXI/Ftgq/szrDWg5GJ0mI8g=="], - "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.62.2", "", { "os": "linux", "cpu": "arm64" }, "sha512-HVu2bp0zhvJ8xHEV9+UUs7S90VadmBSY3LcIMvozbPo4AuMGDWlz3ymHLHZPX4hR67TKTt8Qp5PJ5RBg/i+RMQ=="], + "@rollup/rollup-linux-arm64-musl": ["@rollup/rollup-linux-arm64-musl@4.62.5", "", { "os": "linux", "cpu": "arm64" }, "sha512-Gf4X3qVMucayUvux6aXXPgXovocSFUC0rrffDuPI/S2nHhNMhjcZxsrAFYCOF350PRreW1XwzFj3CT/3bKsWCw=="], - "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.62.2", "", { "os": "linux", "cpu": "none" }, "sha512-mQqqAV8QaoSgr9I2fKDLY2BAVvmKjWoGiu/cSYQonsLvtqwEn1E4QYfnCOcp5zoEqNhsDYin1s6jx/VJmrxlZg=="], + "@rollup/rollup-linux-loong64-gnu": ["@rollup/rollup-linux-loong64-gnu@4.62.5", "", { "os": "linux", "cpu": "none" }, "sha512-+s5qA0TNM0qm8PK/a5gt/1Hpx+NV08uSuCncvhziIlQzT6AEV2fnUQo7eBtFTFO0nA9scauvoR2HusfXmQnO4w=="], - "@rollup/rollup-linux-loong64-musl": ["@rollup/rollup-linux-loong64-musl@4.62.2", "", { "os": "linux", "cpu": "none" }, "sha512-IxKLoxCQ2IWi6bT2akyDUBGsOImDKB+sPp4EsTmwFQ/fMwpCKm8uLSSgP/Kx/QYUgKis6SEZ5/Nlhup0DIA0PQ=="], + "@rollup/rollup-linux-loong64-musl": ["@rollup/rollup-linux-loong64-musl@4.62.5", "", { "os": "linux", "cpu": "none" }, "sha512-ybb6QvWwWJCbBWqERpc8K3pYVGIrXlG8MEQ8IIuJY6Y9KdHQxoFoNyfkAOtKn1VHu3KuLidXvwrvGR1mEjeWCw=="], - "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.62.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-Mk5ha2RQSgyFfmYYLkBpPnUk8D8FriBxesO1u9O75X0mHgXL1UQcH5Itl2lurWL2tj0RxV9b9tJgipac0hRY9A=="], + "@rollup/rollup-linux-ppc64-gnu": ["@rollup/rollup-linux-ppc64-gnu@4.62.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-nZb1DtnOyhCmYvsC8A2CwOkopVg+IS1+fPUa7rMOAXtNw5+lLCLLPqd6XAiNrGtoQKsbvIBOwsHnBH/3wnb4HQ=="], - "@rollup/rollup-linux-ppc64-musl": ["@rollup/rollup-linux-ppc64-musl@4.62.2", "", { "os": "linux", "cpu": "ppc64" }, "sha512-CjvEnqJL/0/TQ3TXX3OPIJ/kmBellrWd4heXUmHeJlTnmwjKpSJzoehLaL6Xk0ZnMHBu9dZuFADNOrtjF4v+2w=="], + "@rollup/rollup-linux-ppc64-musl": ["@rollup/rollup-linux-ppc64-musl@4.62.5", "", { "os": "linux", "cpu": "ppc64" }, "sha512-yMbj63Sp89ryrXLWyz+sy+fYD2HpOnMCLGbe4Oa1smclFSUukdtD/BgdiHaAetJNb74URD8U4hM+qG5KVzMEkg=="], - "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.62.2", "", { "os": "linux", "cpu": "none" }, "sha512-1SiZbzwdkaDURsew/tSOrooKiYy7EQGT6m8ufavAi9NEyQb/6VuIxFXAL1fqa4iZe3g4NbNk4P7J32z2tw5Mgg=="], + "@rollup/rollup-linux-riscv64-gnu": ["@rollup/rollup-linux-riscv64-gnu@4.62.5", "", { "os": "linux", "cpu": "none" }, "sha512-mhoan3OJw2kYV/e1jtIdmvUZgyBFeA6zGWsOswmR0Tg19TQbowZuR+JMLID6spbbBN7Zee2ejrgmy3+FxGrIdA=="], - "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.62.2", "", { "os": "linux", "cpu": "none" }, "sha512-nQts12zJ3NQRoE6uYljOH89v7szzLDvG2JD/vsX+vGXU8w/At1GowTZ5/7qeFQ8m7L55rpR8Okugnuo5bgjy2Q=="], + "@rollup/rollup-linux-riscv64-musl": ["@rollup/rollup-linux-riscv64-musl@4.62.5", "", { "os": "linux", "cpu": "none" }, "sha512-5ZTLmjWbb1VZdjuyhe83K/8QO0/h11midQCBP+X5OYn32ra7eOBoM0ZqtaY4nkgNsYgmdVhMYPoyVPTjUpHf3w=="], - "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.62.2", "", { "os": "linux", "cpu": "s390x" }, "sha512-E9/ll019jhPIJgpzfZoIkBGhcz+kKNgVWYRY0zr9srBdPPFVpvOKW8VaJKUbeK+eZXyQF9ltME+Kk6affeaPgg=="], + "@rollup/rollup-linux-s390x-gnu": ["@rollup/rollup-linux-s390x-gnu@4.62.5", "", { "os": "linux", "cpu": "s390x" }, "sha512-m53kG+br6PGxOTmgBEM2DHSDs9RVjsyEbUwjJPJGTFm1grWOG8EKJggDCTb60unD4Tjby8fi7/m9XfkEWasVWg=="], - "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.62.2", "", { "os": "linux", "cpu": "x64" }, "sha512-5BqxR/pshjey51iliyzTD5Xi3EN0aLmQ2lZ3lvefVV9c82BvrLo2/6OT55iifpWBufs6kdwWbuOKS841DrmK9A=="], + "@rollup/rollup-linux-x64-gnu": ["@rollup/rollup-linux-x64-gnu@4.62.5", "", { "os": "linux", "cpu": "x64" }, "sha512-6RHPJR1g/uvdYU8uXBnfq3nlqyZCP82Fr6NHgfGoaIeSh0YEqnX/x6uA9MmJJbnSH7swqX4F+CkGdUF+6doiQA=="], - "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.62.2", "", { "os": "linux", "cpu": "x64" }, "sha512-uNN83XxQrRAh/w0/pmAfibcwyb6YWt4gP+dpnQKPVJshAloQ785ii8CT8ZCIxkGg9opVsvAlGhFitSm6D1Jjpg=="], + "@rollup/rollup-linux-x64-musl": ["@rollup/rollup-linux-x64-musl@4.62.5", "", { "os": "linux", "cpu": "x64" }, "sha512-xs+OXQtEXgpXT0DmA5+U3qnRZHdCST/5HRQxS8wSPZTUZN/EMWeHuSIod32LQklTBZBV9DyfncKBQ8n5V3eFdw=="], - "@rollup/rollup-openbsd-x64": ["@rollup/rollup-openbsd-x64@4.62.2", "", { "os": "openbsd", "cpu": "x64" }, "sha512-srjEIxSH3LRnJN6THczDHWQplqEMFiAJrTab0msUryh9kwNpkICf3Ea6q6MN/2cZwRFUNx5w+h6Hpi4QuHS6Zg=="], + "@rollup/rollup-openbsd-x64": ["@rollup/rollup-openbsd-x64@4.62.5", "", { "os": "openbsd", "cpu": "x64" }, "sha512-e7hD+sl3s+mcLQDZ8pbudBVsdG6r5yN4w3LqG2TJ8sQHDpblWj5lrJs/3m01Cvlxbt4x13zu5thLjgypgtkYzw=="], - "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.62.2", "", { "os": "none", "cpu": "arm64" }, "sha512-8hOJnxgbyObnCm5AlRA3A931xX19xq80RjVTKgJOvEKWqJruP/Uf12IbAOaDjjEXYRewwHLfmF0YRIdK3OwKWA=="], + "@rollup/rollup-openharmony-arm64": ["@rollup/rollup-openharmony-arm64@4.62.5", "", { "os": "none", "cpu": "arm64" }, "sha512-GiyJaCf+WpMub/17aPcKk27QMl5W6f+KhdPTjlFOn5akH5Wa/DCM9Stdx5cDfmasyKB08MqpVQ1uJE2RkkpbXg=="], - "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.62.2", "", { "os": "win32", "cpu": "arm64" }, "sha512-mmF4AY1i0hG/bLWUctUq59gtmgaSIRa3cu/A3JFRp/sCNEme2bgDEiDS22P9FbnJB8NJNF4jPJiSP5RHQpUTDg=="], + "@rollup/rollup-win32-arm64-msvc": ["@rollup/rollup-win32-arm64-msvc@4.62.5", "", { "os": "win32", "cpu": "arm64" }, "sha512-+OQ8U2DdoEfXl8T4Fb18AjmEwbXMerKDKCL8yCPAYhKCEEKoul7rkbeGCBFCbAlaGaa7pmtRTpkAJM2LE/i5FA=="], - "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.62.2", "", { "os": "win32", "cpu": "ia32" }, "sha512-DZgkknc6jhHrk46V25vbAM0zZkyP0nSDkJB8/dRkLTxv470dOmWDqGoEJl/9A0dFfS7yE3REOwNDxpHwSLSt0Q=="], + "@rollup/rollup-win32-ia32-msvc": ["@rollup/rollup-win32-ia32-msvc@4.62.5", "", { "os": "win32", "cpu": "ia32" }, "sha512-KanvAZrPKbDBFwrgiU9yEVpQoox9QPV1WZOXX7HudJQY+eSlu82CtWxDU8WtuRRvtN5EGkLczkd6Y6DTcvm9wA=="], - "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.62.2", "", { "os": "win32", "cpu": "x64" }, "sha512-T6xr6ucWSFto+VGajA8YH26LdpHRuP4YLHEKAtCWvJDOlnmWcDZVCI2Jmjr+IFHDlt2zRaTAKE4tfjTaWLgJBg=="], + "@rollup/rollup-win32-x64-gnu": ["@rollup/rollup-win32-x64-gnu@4.62.5", "", { "os": "win32", "cpu": "x64" }, "sha512-1aC3UEWTtRl3RK3VpDJ/Tqk1XI4SLTmXIthAq6wRWo8XiSXJNd+VprJM4/1P4+i6HIaFEFlVi9sTTziniD2tOQ=="], - "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.62.2", "", { "os": "win32", "cpu": "x64" }, "sha512-BfzEnDJOt9T8M989/lA37EcJgat01wLRnoi5dQf3QzOH7jzpqTAzdDbVfRljVr5r+jzKqpbHeyOfAaXxAd0PAA=="], + "@rollup/rollup-win32-x64-msvc": ["@rollup/rollup-win32-x64-msvc@4.62.5", "", { "os": "win32", "cpu": "x64" }, "sha512-/gDJaRs4gl0NPIwqCz+6PkpmhhjRAD2j6P4rSNHBzUkO3naEx2mIU0pRle1vUNRQ7mE/+8OOeXLTv/J56FKiQg=="], "@tailwindcss/cli": ["@tailwindcss/cli@4.3.3", "", { "dependencies": { "@parcel/watcher": "2.5.1", "@tailwindcss/node": "4.3.3", "@tailwindcss/oxide": "4.3.3", "enhanced-resolve": "^5.24.1", "mri": "^1.2.0", "picocolors": "^1.1.1", "tailwindcss": "4.3.3" }, "bin": { "tailwindcss": "./dist/index.mjs" } }, "sha512-ZvS/n1ZHOBKcVlhkt8l5NNr1EDXk1NboYO5CYDOs6NUmvT9z6bzkwsosaJftY57T/3gWNzWMJzIXLodZC8ssdw=="], @@ -975,7 +978,7 @@ "@tailwindcss/oxide-win32-x64-msvc": ["@tailwindcss/oxide-win32-x64-msvc@4.3.3", "", { "os": "win32", "cpu": "x64" }, "sha512-yJ0pwIVc/nYeGoV02WtsN8KYyLQv7kyI2wDnkezyJlGGjkd4QLwDGAwl47YpPJeuI0M0ObaXGSPjvWDPeTPggw=="], - "@types/bun": ["@types/bun@1.3.14", "", { "dependencies": { "bun-types": "1.3.14" } }, "sha512-h1hFqFVcvAvD9j9K7ZW7vd82aSA+rTdznZa+5bwvCwqSB1jmmfLcbIWhOLx1/+boy/xmjgCs/OMUL8hRJSmnPw=="], + "@types/bun": ["@types/bun@1.4.0", "", { "dependencies": { "bun-types": "1.4.0" } }, "sha512-K+lZULY23vRgK/CfTjFIV+tyifaNdSMlPh9j+6mQ/cLfpOznLyAuzgV/JQysyECpkBQLVMSyvjlr2fBUSA9wFQ=="], "@types/esrecurse": ["@types/esrecurse@4.3.1", "", {}, "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw=="], @@ -983,11 +986,11 @@ "@types/json-schema": ["@types/json-schema@7.0.15", "", {}, "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA=="], - "@types/node": ["@types/node@26.0.1", "", { "dependencies": { "undici-types": "~8.3.0" } }, "sha512-fc3KiUoBt6kie0N9bIW3E47vZsuaMf0PM2AaUpLCLT0s/LvX1nxAim6Fc049cNxODPpGm6qRAuUOB86SkRuPQw=="], + "@types/node": ["@types/node@26.2.0", "", { "dependencies": { "undici-types": "~8.3.0" } }, "sha512-5IviulTZeRNp2vAJ514cc/HUlY5nZ9fCbq9DMyC52BrhFZACo3nI0R7qBxhQmo/d27NFe96ur/b7Wwxklda+kg=="], "@types/react": ["@types/react@19.2.18", "", { "dependencies": { "csstype": "^3.2.2" } }, "sha512-AnzbBERsrLKtk2XSfTbYRLjQPdy116Sty4q+T+Bp3IC4l6jNBvreVPAHmpq9qhXQM7CXZPjLVmGMw9sy+hxQ3w=="], - "@types/react-dom": ["@types/react-dom@19.2.4", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-Bsc+QHgp+P/F02XDzNCY9jnZNCUuLki36KT7VKrTXXLdHf+vHMNZnW1rVu5DNW/rCK+fya3DATySbLM4yhtKUw=="], + "@types/react-dom": ["@types/react-dom@19.2.5", "", { "peerDependencies": { "@types/react": "^19.2.0" } }, "sha512-fMPwH9v7r/pp43yUd2/Mbiex5KouJwwR3dzHkhLREUC6764VyDsqxhAxv6OFEYR1RhjOyD1naqba8ECDBe7ZQg=="], "@types/whatwg-mimetype": ["@types/whatwg-mimetype@3.0.2", "", {}, "sha512-c2AKvDT8ToxLIOUlN51gTiHXflsfIFisS4pO7pDPoKouJCESkhZnEy623gwP9laCy5lnLDAw1vAzu2vM2YLOrA=="], @@ -1119,7 +1122,7 @@ "@wrnexus/validation": ["@wrnexus/validation@workspace:packages/validation"], - "acorn": ["acorn@8.17.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg=="], + "acorn": ["acorn@8.18.0", "", { "bin": { "acorn": "bin/acorn" } }, "sha512-lGq+9yr1/GuAWaVYIHRjvvySG5/4VfKIvC8EWxStPdcDh/Ka7FG3twP6v4d5BkravUilhIAsG4Qj83t02LWUPQ=="], "acorn-jsx": ["acorn-jsx@5.3.2", "", { "peerDependencies": { "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ=="], @@ -1145,7 +1148,7 @@ "buffer-image-size": ["buffer-image-size@0.6.4", "", { "dependencies": { "@types/node": "*" } }, "sha512-nEh+kZOPY1w+gcCMobZ6ETUp9WfibndnosbpwB1iJk/8Gt5ZF2bhS6+B6bPYz424KtwsR6Rflc3tCz1/ghX2dQ=="], - "bun-types": ["bun-types@1.3.14", "", { "dependencies": { "@types/node": "*" } }, "sha512-4N0ig0fEomHt5R0KCFWjovxow98rIoRwKolrYdCcknNwMekCXRnWEUvgu5soYV8QXtVsrUD8B95MBOZGPvr6KQ=="], + "bun-types": ["bun-types@1.4.0", "", { "dependencies": { "@types/node": "*" } }, "sha512-iIKw23BspnQQYd3prITOBxeUsxBHnwzX6YJfGMuNOZzeNcMmVqzIIVGRm1l69ogaPQmb4wB6BN8mA5bE9YuC5Q=="], "bundle-require": ["bundle-require@5.1.0", "", { "dependencies": { "load-tsconfig": "^0.2.3" }, "peerDependencies": { "esbuild": ">=0.18" } }, "sha512-3WrrOuZiyaaZPWiEt4G3+IffISVC9HYlWueJEBWED4ZH4aIAC2PnkdnuRrR94M+w6yGWn4AglWtJtBI8YqvgoA=="], @@ -1177,7 +1180,7 @@ "csstype": ["csstype@3.2.3", "", {}, "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ=="], - "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" } }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], + "debug": ["debug@4.4.3", "", { "dependencies": { "ms": "^2.1.3" }, "peerDependencies": { "supports-color": "*" }, "optionalPeers": ["supports-color"] }, "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA=="], "deep-is": ["deep-is@0.1.4", "", {}, "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ=="], @@ -1199,7 +1202,7 @@ "escape-string-regexp": ["escape-string-regexp@4.0.0", "", {}, "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA=="], - "eslint": ["eslint@10.8.1", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", "@eslint/config-array": "^0.23.5", "@eslint/config-helpers": "^0.7.0", "@eslint/core": "^1.2.1", "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^9.1.2", "eslint-visitor-keys": "^5.0.1", "espree": "^11.2.0", "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "minimatch": "^10.2.5", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-wqA7W2jbsC/BnV9Iv1UZpKVFkO1AdNoSmYW8NWG4HNOBbkAMvIqDZ27pI2f07dqn583NcIC44ckjAcOXDL1QbQ=="], + "eslint": ["eslint@10.9.0", "", { "dependencies": { "@eslint-community/eslint-utils": "^4.8.0", "@eslint-community/regexpp": "^4.12.2", "@eslint/config-array": "^0.23.5", "@eslint/config-helpers": "^0.7.0", "@eslint/core": "^1.2.1", "@eslint/plugin-kit": "^0.7.2", "@humanfs/node": "^0.16.6", "@humanwhocodes/module-importer": "^1.0.1", "@humanwhocodes/retry": "^0.4.2", "@types/estree": "^1.0.6", "ajv": "^6.14.0", "cross-spawn": "^7.0.6", "debug": "^4.3.2", "escape-string-regexp": "^4.0.0", "eslint-scope": "^9.1.2", "eslint-visitor-keys": "^5.0.1", "espree": "^11.2.0", "esquery": "^1.7.0", "esutils": "^2.0.2", "fast-deep-equal": "^3.1.3", "file-entry-cache": "^8.0.0", "find-up": "^5.0.0", "glob-parent": "^6.0.2", "ignore": "^5.2.0", "imurmurhash": "^0.1.4", "is-glob": "^4.0.0", "json-stable-stringify-without-jsonify": "^1.0.1", "minimatch": "^10.2.5", "natural-compare": "^1.4.0", "optionator": "^0.9.3" }, "peerDependencies": { "jiti": "*" }, "optionalPeers": ["jiti"], "bin": { "eslint": "bin/eslint.js" } }, "sha512-5KeEOJZBfEVA47boFiBsf+6MmmJpffM7qEBg4pLla2e4nlKgdKlqCW0oSLOGsT8Wl5uCGJptLV1bkaiShj90Gw=="], "eslint-scope": ["eslint-scope@9.1.2", "", { "dependencies": { "@types/esrecurse": "^4.3.1", "@types/estree": "^1.0.8", "esrecurse": "^4.3.0", "estraverse": "^5.2.0" } }, "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ=="], @@ -1235,7 +1238,7 @@ "flat-cache": ["flat-cache@4.0.1", "", { "dependencies": { "flatted": "^3.2.9", "keyv": "^4.5.4" } }, "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw=="], - "flatted": ["flatted@3.4.2", "", {}, "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA=="], + "flatted": ["flatted@3.4.4", "", {}, "sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q=="], "fsevents": ["fsevents@2.3.3", "", { "os": "darwin" }, "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw=="], @@ -1243,7 +1246,7 @@ "graceful-fs": ["graceful-fs@4.2.11", "", {}, "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ=="], - "happy-dom": ["happy-dom@20.11.2", "", { "dependencies": { "@types/node": ">=20.0.0", "@types/whatwg-mimetype": "^3.0.2", "@types/ws": "^8.18.1", "buffer-image-size": "^0.6.4", "entities": "^7.0.1", "whatwg-mimetype": "^3.0.0", "ws": "^8.21.0" } }, "sha512-7MB+bJLkxu3SowAfBJbjW+c55kNz5tkR45gu2qzrxznezhLeN5YIlJbwUgSzlGc+qWoZ8Ykg71H5ezz69xixrw=="], + "happy-dom": ["happy-dom@20.11.6", "", { "dependencies": { "@types/node": ">=20.0.0", "@types/whatwg-mimetype": "^3.0.2", "@types/ws": "^8.18.1", "buffer-image-size": "^0.6.4", "entities": "^7.0.1", "whatwg-mimetype": "^3.0.0", "ws": "^8.21.0" } }, "sha512-Hldbg8AdAa5a5oDcZpjqnGitp7JB0hqWmfv/8qr+kft4vzSD8BHsbdRfzYvL/0QcbKcURC/yyoygbeDQarPvYg=="], "i18n-showcase": ["i18n-showcase@workspace:examples/i18n-showcase"], @@ -1315,7 +1318,7 @@ "micromatch": ["micromatch@4.0.8", "", { "dependencies": { "braces": "^3.0.3", "picomatch": "^2.3.1" } }, "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA=="], - "minimatch": ["minimatch@10.2.5", "", { "dependencies": { "brace-expansion": "^5.0.5" } }, "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg=="], + "minimatch": ["minimatch@10.2.6", "", { "dependencies": { "brace-expansion": "^5.0.8" } }, "sha512-vpLQEs+VLCr1nU0BXS07maYoFwlDAH0gngQuuttxIwutDFEMHq2blX+8vpgxDdK3J1PwjCJiep77OitTZ4Ll1A=="], "mlly": ["mlly@1.8.2", "", { "dependencies": { "acorn": "^8.16.0", "pathe": "^2.0.3", "pkg-types": "^1.3.1", "ufo": "^1.6.3" } }, "sha512-d+ObxMQFmbt10sretNDytwt85VrbkhhUA/JBGm1MPaWJ65Cl4wOgLaB1NYvJSZ0Ef03MMEU/0xpPMXUIQ29UfA=="], @@ -1351,7 +1354,7 @@ "picocolors": ["picocolors@1.1.1", "", {}, "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA=="], - "picomatch": ["picomatch@4.0.4", "", {}, "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A=="], + "picomatch": ["picomatch@4.0.5", "", {}, "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A=="], "pirates": ["pirates@4.0.7", "", {}, "sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA=="], @@ -1369,7 +1372,7 @@ "pvtsutils": ["pvtsutils@1.3.6", "", { "dependencies": { "tslib": "^2.8.1" } }, "sha512-PLgQXQ6H2FWCaeRak8vvk1GW462lMxB5s3Jm673N82zI4vqtVUPuZdffdZbPDFRoU8kAhItWFtPCWiPpp4/EDg=="], - "pvutils": ["pvutils@1.1.5", "", {}, "sha512-KTqnxsgGiQ6ZAzZCVlJH5eOjSnvlyEgx1m8bkRJfOhmGRqfo5KLvmAlACQkrjEtOQ4B7wF9TdSLIs9O90MX9xA=="], + "pvutils": ["pvutils@1.2.0", "", {}, "sha512-BbubeCEyTuQjVMakvJQ/Sxbc93F2pwmbsxONT/ZRrwU7Ua38d8unYTwXpTVLAKJ4BDuH9IGztCjQcd/N/39Dvg=="], "react": ["react@19.2.8", "", {}, "sha512-PWaYA1L/q9u2u7xYQi+Y3L3Yfnie7XyLeaJICV1MGD6LprsBxcAqGjYyr0eY3p+QdsA+x/Irkt4Qif8D63+Sbw=="], @@ -1381,9 +1384,9 @@ "resolve-from": ["resolve-from@5.0.0", "", {}, "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw=="], - "rollup": ["rollup@4.62.2", "", { "dependencies": { "@types/estree": "1.0.9" }, "optionalDependencies": { "@rollup/rollup-android-arm-eabi": "4.62.2", "@rollup/rollup-android-arm64": "4.62.2", "@rollup/rollup-darwin-arm64": "4.62.2", "@rollup/rollup-darwin-x64": "4.62.2", "@rollup/rollup-freebsd-arm64": "4.62.2", "@rollup/rollup-freebsd-x64": "4.62.2", "@rollup/rollup-linux-arm-gnueabihf": "4.62.2", "@rollup/rollup-linux-arm-musleabihf": "4.62.2", "@rollup/rollup-linux-arm64-gnu": "4.62.2", "@rollup/rollup-linux-arm64-musl": "4.62.2", "@rollup/rollup-linux-loong64-gnu": "4.62.2", "@rollup/rollup-linux-loong64-musl": "4.62.2", "@rollup/rollup-linux-ppc64-gnu": "4.62.2", "@rollup/rollup-linux-ppc64-musl": "4.62.2", "@rollup/rollup-linux-riscv64-gnu": "4.62.2", "@rollup/rollup-linux-riscv64-musl": "4.62.2", "@rollup/rollup-linux-s390x-gnu": "4.62.2", "@rollup/rollup-linux-x64-gnu": "4.62.2", "@rollup/rollup-linux-x64-musl": "4.62.2", "@rollup/rollup-openbsd-x64": "4.62.2", "@rollup/rollup-openharmony-arm64": "4.62.2", "@rollup/rollup-win32-arm64-msvc": "4.62.2", "@rollup/rollup-win32-ia32-msvc": "4.62.2", "@rollup/rollup-win32-x64-gnu": "4.62.2", "@rollup/rollup-win32-x64-msvc": "4.62.2", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-RFnrW4lhXA3s3eqHDZvN654g8OTjzRfqpIRJYczCGB6HzphckVAi/Qh4tbPUbRuDi7s1Llv8g/NspLkttY3gTA=="], + "rollup": ["rollup@4.62.5", "", { "dependencies": { "@types/estree": "1.0.9" }, "optionalDependencies": { "@napi-rs/lzma-linux-x64-gnu": "1.5.1", "@rollup/rollup-android-arm-eabi": "4.62.5", "@rollup/rollup-android-arm64": "4.62.5", "@rollup/rollup-darwin-arm64": "4.62.5", "@rollup/rollup-darwin-x64": "4.62.5", "@rollup/rollup-freebsd-arm64": "4.62.5", "@rollup/rollup-freebsd-x64": "4.62.5", "@rollup/rollup-linux-arm-gnueabihf": "4.62.5", "@rollup/rollup-linux-arm-musleabihf": "4.62.5", "@rollup/rollup-linux-arm64-gnu": "4.62.5", "@rollup/rollup-linux-arm64-musl": "4.62.5", "@rollup/rollup-linux-loong64-gnu": "4.62.5", "@rollup/rollup-linux-loong64-musl": "4.62.5", "@rollup/rollup-linux-ppc64-gnu": "4.62.5", "@rollup/rollup-linux-ppc64-musl": "4.62.5", "@rollup/rollup-linux-riscv64-gnu": "4.62.5", "@rollup/rollup-linux-riscv64-musl": "4.62.5", "@rollup/rollup-linux-s390x-gnu": "4.62.5", "@rollup/rollup-linux-x64-gnu": "4.62.5", "@rollup/rollup-linux-x64-musl": "4.62.5", "@rollup/rollup-openbsd-x64": "4.62.5", "@rollup/rollup-openharmony-arm64": "4.62.5", "@rollup/rollup-win32-arm64-msvc": "4.62.5", "@rollup/rollup-win32-ia32-msvc": "4.62.5", "@rollup/rollup-win32-x64-gnu": "4.62.5", "@rollup/rollup-win32-x64-msvc": "4.62.5", "fsevents": "~2.3.2" }, "bin": { "rollup": "dist/bin/rollup" } }, "sha512-/tqMfgP7GPA3PHhCmuiS4vIjrSVhHLgY++i+dhbG462euyAj7FpM4D9uq1X3BgjlqRdpcOrYhcQtfiQLNc8tqw=="], - "sax": ["sax@1.6.0", "", {}, "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA=="], + "sax": ["sax@1.6.1", "", {}, "sha512-42tBVwLWnaQvW5zc4HbZrTuWccECCZfBi92FDuwtqxasH+JbPB3/FOKb1m222K42R4WxuxzzMsTswfzgtSu64Q=="], "scheduler": ["scheduler@0.27.0", "", {}, "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q=="], @@ -1459,27 +1462,27 @@ "wrnexus-crm-example": ["wrnexus-crm-example@workspace:examples/crm-app"], - "ws": ["ws@8.21.0", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-Vsp28b7DRcimFQvrqu2Wek3z1iYxDCWqHYB8Qsnk/S4RfaCQzPGPyBNuVjJV3cd6UiKtUtp6sNM77gWvzcCH+g=="], + "ws": ["ws@8.21.3", "", { "peerDependencies": { "bufferutil": "^4.0.1", "utf-8-validate": ">=5.0.2" }, "optionalPeers": ["bufferutil", "utf-8-validate"] }, "sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw=="], "yocto-queue": ["yocto-queue@0.1.0", "", {}, "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q=="], - "@antfu/install-pkg/tinyexec": ["tinyexec@1.2.4", "", {}, "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg=="], + "@antfu/install-pkg/tinyexec": ["tinyexec@1.3.0", "", {}, "sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ=="], "@eslint-community/eslint-utils/eslint-visitor-keys": ["eslint-visitor-keys@3.4.3", "", {}, "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag=="], - "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.1", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.2", "tslib": "^2.4.0" }, "bundled": true }, "sha512-RSvbQmHzdKzNsLYa/wHrbc3KN4sYLKAdPZxqiM2HATqv/SBk2/ENSHpvXGaLOMcsAyz0poEGqkmmKYG3OWiJEQ=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/core": ["@emnapi/core@1.11.3", "", { "dependencies": { "@emnapi/wasi-threads": "1.2.3", "tslib": "^2.4.0" }, "bundled": true }, "sha512-zLpS5asjEb7lq8jYLq37N6XKaE41DIexlY1rF/z4/tIl3wo13Sqm28fRyfIsKZD+NZ8mM5RoKkpW/rBcuoSZSg=="], - "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.1", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-vgj7R3y3Wgx24IQaGPA/R6YFXLHVMOZ0uVEyIQPaWs+rd1AzfEMXlAC22FYwO1XkKR6NPsq7mUandH8oIRdZFw=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/runtime": ["@emnapi/runtime@1.11.3", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-Xz4Tpyki7XyrpbUK1jR1AhdAdaXyhhY4lZ3neLodmhpuWfy2PAQN5B46sAiU4liOXGLkHypn/qU+jvfWSCYYLA=="], - "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.2", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-c95qOXkHdydNKhscBTebqEC1CVAZpyqOfVfBzQ1qgzyl3gfeldUjIggDbIZgDKsHLgnsM+igH7TJ/eAasaVuMA=="], + "@tailwindcss/oxide-wasm32-wasi/@emnapi/wasi-threads": ["@emnapi/wasi-threads@1.2.3", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-ELEBe8PsLvvJ6QMr0zLt8ffvOHW/dc1m3CEzNMg7aJUv3bMaoDtw2TXyDAwkYBuroxxuHEwhRTLJSe5sya547g=="], - "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.1.6", "", { "dependencies": { "@tybys/wasm-util": "^0.10.3" }, "peerDependencies": { "@emnapi/core": "^1.7.1", "@emnapi/runtime": "^1.7.1" }, "bundled": true }, "sha512-ZLv/JdUfkvOy9eCnnBaGfiO+XimbjebAeO+MRQqD/B+FR1tnRN0tpKSJHRbE8sFfS6aqsXZ67TQjfwfsxULVbg=="], + "@tailwindcss/oxide-wasm32-wasi/@napi-rs/wasm-runtime": ["@napi-rs/wasm-runtime@1.2.3", "", { "dependencies": { "@tybys/wasm-util": "^0.10.3" }, "peerDependencies": { "@emnapi/core": "^1.7.1 || ^2.0.0-alpha.4", "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.4" }, "bundled": true }, "sha512-UMduMbqO5s5zF2NkNacMT/yK5Y5QiKvWr2+50bzIIxFDwVJ2h49b+oyjaCGPhJxd2/gC2x39EHv/gHVuu36x2Q=="], "@tailwindcss/oxide-wasm32-wasi/@tybys/wasm-util": ["@tybys/wasm-util@0.10.3", "", { "dependencies": { "tslib": "^2.4.0" }, "bundled": true }, "sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg=="], "@tailwindcss/oxide-wasm32-wasi/tslib": ["tslib@2.8.1", "", { "bundled": true }, "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w=="], - "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.5", "", {}, "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg=="], + "@typescript-eslint/eslint-plugin/ignore": ["ignore@7.0.6", "", {}, "sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw=="], "csso/css-tree": ["css-tree@2.2.1", "", { "dependencies": { "mdn-data": "2.0.28", "source-map-js": "^1.0.1" } }, "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA=="], diff --git a/editors/vscode/src/compiler.cjs b/editors/vscode/src/compiler.cjs index 58923777..554acfb2 100644 --- a/editors/vscode/src/compiler.cjs +++ b/editors/vscode/src/compiler.cjs @@ -1,7 +1,7 @@ "use strict"; // Generated by scripts/build-editor-compiler.mjs. Do not edit directly. // WRN editor compiler source hash: 884c9faffb5517c907321484014e00562654ea0ba96e432bec319e0001934446 -// WRN editor compiler generator hash: a54ca847c758bc98d8e353ad6d70088df31de1820f6cf9d1c3462505f563e6b8 +// WRN editor compiler generator hash: f8c1094b47e695151205899de28cd63d574356d26ac49219c4a43db0f2391ef5 // Generated with TypeScript: 6.0.3 const __nodeRequire = require; const __path = __nodeRequire("node:path"); diff --git a/editors/vscode/src/extension.bundle.cjs b/editors/vscode/src/extension.bundle.cjs index bde3747d..6b625bf4 100644 --- a/editors/vscode/src/extension.bundle.cjs +++ b/editors/vscode/src/extension.bundle.cjs @@ -1,10 +1,10 @@ -// WRN editor extension source hash: 20e8ecae36b610b418104c3bfd7f25326dd7ad85a0822416b8245107819f7ed2 +// WRN editor extension source hash: 8e634610c27521e6ccbf4e7293eb4320ecaac29944bde5236bb286ff84422203 // WRN editor extension generator hash: 456d1d614e44e5fb1f19b784176c09cf2ade9b64ef73a17934c2698150b62728 "use strict"; var __commonJS = (cb, mod) => () => (mod || cb((mod = { exports: {} }).exports, mod), mod.exports); // editors/vscode/node_modules/vscode-languageclient/lib/common/utils/is.js -var require_is = __commonJS((exports2) => { +var require_is = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.boolean = boolean; exports2.string = string; @@ -57,7 +57,7 @@ var require_is = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/is.js -var require_is2 = __commonJS((exports2) => { +var require_is2 = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.boolean = boolean; exports2.string = string; @@ -90,7 +90,7 @@ var require_is2 = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/messages.js -var require_messages = __commonJS((exports2) => { +var require_messages = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -425,7 +425,7 @@ var require_messages = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/linkedMap.js -var require_linkedMap = __commonJS((exports2) => { +var require_linkedMap = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.LRUCache = exports2.LinkedMap = exports2.Touch = undefined; var Touch; @@ -808,7 +808,7 @@ var require_linkedMap = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/disposable.js -var require_disposable = __commonJS((exports2) => { +var require_disposable = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Disposable = undefined; var Disposable; @@ -823,7 +823,7 @@ var require_disposable = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/ral.js -var require_ral = __commonJS((exports2) => { +var require_ral = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); var _ral; function RAL() { @@ -845,7 +845,7 @@ var require_ral = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/events.js -var require_events = __commonJS((exports2) => { +var require_events = __commonJS(function(exports2) { var __importDefault = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { default: mod }; }; @@ -971,7 +971,7 @@ var require_events = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/cancellation.js -var require_cancellation = __commonJS((exports2) => { +var require_cancellation = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -1106,7 +1106,7 @@ var require_cancellation = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/sharedArrayCancellation.js -var require_sharedArrayCancellation = __commonJS((exports2) => { +var require_sharedArrayCancellation = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.SharedArrayReceiverStrategy = exports2.SharedArraySenderStrategy = undefined; var cancellation_1 = require_cancellation(); @@ -1184,7 +1184,7 @@ var require_sharedArrayCancellation = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/semaphore.js -var require_semaphore = __commonJS((exports2) => { +var require_semaphore = __commonJS(function(exports2) { var __importDefault = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { default: mod }; }; @@ -1256,7 +1256,7 @@ var require_semaphore = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/messageReader.js -var require_messageReader = __commonJS((exports2) => { +var require_messageReader = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -1504,7 +1504,7 @@ ${JSON.stringify(Object.fromEntries(headers))}`)); }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/messageWriter.js -var require_messageWriter = __commonJS((exports2) => { +var require_messageWriter = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -1669,7 +1669,7 @@ var require_messageWriter = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/messageBuffer.js -var require_messageBuffer = __commonJS((exports2) => { +var require_messageBuffer = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.AbstractMessageBuffer = undefined; var CR = 13; @@ -1820,7 +1820,7 @@ ${header}`); }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/connection.js -var require_connection = __commonJS((exports2) => { +var require_connection = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -2982,7 +2982,7 @@ ${JSON.stringify(message, null, 4)}`); }); // editors/vscode/node_modules/vscode-jsonrpc/lib/common/api.js -var require_api = __commonJS((exports2) => { +var require_api = __commonJS(function(exports2) { var __importDefault = exports2 && exports2.__importDefault || function(mod) { return mod && mod.__esModule ? mod : { default: mod }; }; @@ -3193,7 +3193,7 @@ var require_api = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-types/lib/umd/main.js -var require_main = __commonJS((exports2, module2) => { +var require_main = __commonJS(function(exports2, module2) { (function(factory) { if (typeof module2 === "object" && typeof module2.exports === "object") { var v = factory(require, exports2); @@ -4804,7 +4804,7 @@ var require_main = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/messages.js -var require_messages2 = __commonJS((exports2) => { +var require_messages2 = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.CM = exports2.ProtocolNotificationType = exports2.ProtocolNotificationType0 = exports2.ProtocolRequestType = exports2.ProtocolRequestType0 = exports2.RegistrationType = exports2.MessageDirection = undefined; var vscode_jsonrpc_1 = require_api(); @@ -4873,7 +4873,7 @@ var require_messages2 = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/utils/is.js -var require_is3 = __commonJS((exports2) => { +var require_is3 = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.boolean = boolean; exports2.string = string; @@ -4914,7 +4914,7 @@ var require_is3 = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.implementation.js -var require_protocol_implementation = __commonJS((exports2) => { +var require_protocol_implementation = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ImplementationRequest = undefined; var messages_1 = require_messages2(); @@ -4928,7 +4928,7 @@ var require_protocol_implementation = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeDefinition.js -var require_protocol_typeDefinition = __commonJS((exports2) => { +var require_protocol_typeDefinition = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.TypeDefinitionRequest = undefined; var messages_1 = require_messages2(); @@ -4942,7 +4942,7 @@ var require_protocol_typeDefinition = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.workspaceFolder.js -var require_protocol_workspaceFolder = __commonJS((exports2) => { +var require_protocol_workspaceFolder = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DidChangeWorkspaceFoldersNotification = exports2.WorkspaceFoldersRequest = undefined; var messages_1 = require_messages2(); @@ -4963,7 +4963,7 @@ var require_protocol_workspaceFolder = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.configuration.js -var require_protocol_configuration = __commonJS((exports2) => { +var require_protocol_configuration = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ConfigurationRequest = undefined; var messages_1 = require_messages2(); @@ -4977,7 +4977,7 @@ var require_protocol_configuration = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.colorProvider.js -var require_protocol_colorProvider = __commonJS((exports2) => { +var require_protocol_colorProvider = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ColorPresentationRequest = exports2.DocumentColorRequest = undefined; var messages_1 = require_messages2(); @@ -4998,7 +4998,7 @@ var require_protocol_colorProvider = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.foldingRange.js -var require_protocol_foldingRange = __commonJS((exports2) => { +var require_protocol_foldingRange = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.FoldingRangeRefreshRequest = exports2.FoldingRangeRequest = undefined; var messages_1 = require_messages2(); @@ -5019,7 +5019,7 @@ var require_protocol_foldingRange = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.declaration.js -var require_protocol_declaration = __commonJS((exports2) => { +var require_protocol_declaration = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DeclarationRequest = undefined; var messages_1 = require_messages2(); @@ -5033,7 +5033,7 @@ var require_protocol_declaration = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.selectionRange.js -var require_protocol_selectionRange = __commonJS((exports2) => { +var require_protocol_selectionRange = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.SelectionRangeRequest = undefined; var messages_1 = require_messages2(); @@ -5047,7 +5047,7 @@ var require_protocol_selectionRange = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.progress.js -var require_protocol_progress = __commonJS((exports2) => { +var require_protocol_progress = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.WorkDoneProgressCancelNotification = exports2.WorkDoneProgressCreateRequest = exports2.WorkDoneProgress = undefined; var vscode_jsonrpc_1 = require_api(); @@ -5076,7 +5076,7 @@ var require_protocol_progress = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.callHierarchy.js -var require_protocol_callHierarchy = __commonJS((exports2) => { +var require_protocol_callHierarchy = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.CallHierarchyOutgoingCallsRequest = exports2.CallHierarchyIncomingCallsRequest = exports2.CallHierarchyPrepareRequest = undefined; var messages_1 = require_messages2(); @@ -5104,7 +5104,7 @@ var require_protocol_callHierarchy = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.semanticTokens.js -var require_protocol_semanticTokens = __commonJS((exports2) => { +var require_protocol_semanticTokens = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.SemanticTokensRefreshRequest = exports2.SemanticTokensRangeRequest = exports2.SemanticTokensDeltaRequest = exports2.SemanticTokensRequest = exports2.SemanticTokensRegistrationType = exports2.TokenFormat = undefined; var messages_1 = require_messages2(); @@ -5151,7 +5151,7 @@ var require_protocol_semanticTokens = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.showDocument.js -var require_protocol_showDocument = __commonJS((exports2) => { +var require_protocol_showDocument = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ShowDocumentRequest = undefined; var messages_1 = require_messages2(); @@ -5165,7 +5165,7 @@ var require_protocol_showDocument = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.linkedEditingRange.js -var require_protocol_linkedEditingRange = __commonJS((exports2) => { +var require_protocol_linkedEditingRange = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.LinkedEditingRangeRequest = undefined; var messages_1 = require_messages2(); @@ -5179,7 +5179,7 @@ var require_protocol_linkedEditingRange = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.fileOperations.js -var require_protocol_fileOperations = __commonJS((exports2) => { +var require_protocol_fileOperations = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.WillDeleteFilesRequest = exports2.DidDeleteFilesNotification = exports2.DidRenameFilesNotification = exports2.WillRenameFilesRequest = exports2.DidCreateFilesNotification = exports2.WillCreateFilesRequest = exports2.FileOperationPatternKind = undefined; var messages_1 = require_messages2(); @@ -5233,7 +5233,7 @@ var require_protocol_fileOperations = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.moniker.js -var require_protocol_moniker = __commonJS((exports2) => { +var require_protocol_moniker = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.MonikerRequest = exports2.MonikerKind = exports2.UniquenessLevel = undefined; var messages_1 = require_messages2(); @@ -5261,7 +5261,7 @@ var require_protocol_moniker = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.typeHierarchy.js -var require_protocol_typeHierarchy = __commonJS((exports2) => { +var require_protocol_typeHierarchy = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.TypeHierarchySubtypesRequest = exports2.TypeHierarchySupertypesRequest = exports2.TypeHierarchyPrepareRequest = undefined; var messages_1 = require_messages2(); @@ -5287,7 +5287,7 @@ var require_protocol_typeHierarchy = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineValue.js -var require_protocol_inlineValue = __commonJS((exports2) => { +var require_protocol_inlineValue = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.InlineValueRefreshRequest = exports2.InlineValueRequest = undefined; var messages_1 = require_messages2(); @@ -5308,7 +5308,7 @@ var require_protocol_inlineValue = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlayHint.js -var require_protocol_inlayHint = __commonJS((exports2) => { +var require_protocol_inlayHint = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.InlayHintRefreshRequest = exports2.InlayHintResolveRequest = exports2.InlayHintRequest = undefined; var messages_1 = require_messages2(); @@ -5336,7 +5336,7 @@ var require_protocol_inlayHint = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.diagnostic.js -var require_protocol_diagnostic = __commonJS((exports2) => { +var require_protocol_diagnostic = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -5425,7 +5425,7 @@ var require_protocol_diagnostic = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.notebook.js -var require_protocol_notebook = __commonJS((exports2) => { +var require_protocol_notebook = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -5655,7 +5655,7 @@ var require_protocol_notebook = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.inlineCompletion.js -var require_protocol_inlineCompletion = __commonJS((exports2) => { +var require_protocol_inlineCompletion = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.InlineCompletionRequest = undefined; var messages_1 = require_messages2(); @@ -5669,7 +5669,7 @@ var require_protocol_inlineCompletion = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.textDocumentContent.js -var require_protocol_textDocumentContent = __commonJS((exports2) => { +var require_protocol_textDocumentContent = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.TextDocumentContentRefreshRequest = exports2.TextDocumentContentRequest = undefined; var messages_1 = require_messages2(); @@ -5689,7 +5689,7 @@ var require_protocol_textDocumentContent = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/protocol.js -var require_protocol = __commonJS((exports2) => { +var require_protocol = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -6421,7 +6421,7 @@ var require_protocol = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/connection.js -var require_connection2 = __commonJS((exports2) => { +var require_connection2 = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.createProtocolConnection = createProtocolConnection; var vscode_jsonrpc_1 = require_api(); @@ -6434,7 +6434,7 @@ var require_connection2 = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/common/api.js -var require_api2 = __commonJS((exports2) => { +var require_api2 = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -6477,7 +6477,7 @@ var require_api2 = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/utils/async.js -var require_async = __commonJS((exports2) => { +var require_async = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.Semaphore = exports2.Delayer = undefined; exports2.setTestMode = setTestMode; @@ -6765,7 +6765,7 @@ var require_async = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/protocolCompletionItem.js -var require_protocolCompletionItem = __commonJS((exports2) => { +var require_protocolCompletionItem = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -6828,7 +6828,7 @@ var require_protocolCompletionItem = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/protocolCodeLens.js -var require_protocolCodeLens = __commonJS((exports2) => { +var require_protocolCodeLens = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -6886,7 +6886,7 @@ var require_protocolCodeLens = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/protocolDocumentLink.js -var require_protocolDocumentLink = __commonJS((exports2) => { +var require_protocolDocumentLink = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -6944,7 +6944,7 @@ var require_protocolDocumentLink = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/protocolCodeAction.js -var require_protocolCodeAction = __commonJS((exports2) => { +var require_protocolCodeAction = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -7003,7 +7003,7 @@ var require_protocolCodeAction = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/protocolDiagnostic.js -var require_protocolDiagnostic = __commonJS((exports2) => { +var require_protocolDiagnostic = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -7074,7 +7074,7 @@ var require_protocolDiagnostic = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/protocolCallHierarchyItem.js -var require_protocolCallHierarchyItem = __commonJS((exports2) => { +var require_protocolCallHierarchyItem = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -7135,7 +7135,7 @@ var require_protocolCallHierarchyItem = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/protocolTypeHierarchyItem.js -var require_protocolTypeHierarchyItem = __commonJS((exports2) => { +var require_protocolTypeHierarchyItem = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -7196,7 +7196,7 @@ var require_protocolTypeHierarchyItem = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/protocolWorkspaceSymbol.js -var require_protocolWorkspaceSymbol = __commonJS((exports2) => { +var require_protocolWorkspaceSymbol = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -7260,7 +7260,7 @@ var require_protocolWorkspaceSymbol = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/protocolInlayHint.js -var require_protocolInlayHint = __commonJS((exports2) => { +var require_protocolInlayHint = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -7318,7 +7318,7 @@ var require_protocolInlayHint = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/codeConverter.js -var require_codeConverter = __commonJS((exports2) => { +var require_codeConverter = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -8250,7 +8250,7 @@ var require_codeConverter = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/protocolConverter.js -var require_protocolConverter = __commonJS((exports2) => { +var require_protocolConverter = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -9430,7 +9430,7 @@ ${JSON.stringify(change, undefined, 4)}`); }); // editors/vscode/node_modules/vscode-languageclient/lib/common/utils/uuid.js -var require_uuid = __commonJS((exports2) => { +var require_uuid = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.empty = undefined; exports2.v4 = v4; @@ -9521,7 +9521,7 @@ var require_uuid = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/progressPart.js -var require_progressPart = __commonJS((exports2) => { +var require_progressPart = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -9667,7 +9667,7 @@ var require_progressPart = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/features.js -var require_features = __commonJS((exports2) => { +var require_features = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -10028,7 +10028,7 @@ var require_features = __commonJS((exports2) => { }); // editors/vscode/node_modules/balanced-match/dist/commonjs/index.js -var require_commonjs = __commonJS((exports2) => { +var require_commonjs = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.range = exports2.balanced = undefined; var balanced = (a, b, str) => { @@ -10087,7 +10087,7 @@ var require_commonjs = __commonJS((exports2) => { }); // editors/vscode/node_modules/brace-expansion/dist/commonjs/index.js -var require_commonjs2 = __commonJS((exports2) => { +var require_commonjs2 = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.EXPANSION_MAX_LENGTH = exports2.EXPANSION_MAX = undefined; exports2.expand = expand; @@ -10306,7 +10306,7 @@ var require_commonjs2 = __commonJS((exports2) => { }); // editors/vscode/node_modules/minimatch/dist/commonjs/assert-valid-pattern.js -var require_assert_valid_pattern = __commonJS((exports2) => { +var require_assert_valid_pattern = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.assertValidPattern = undefined; var MAX_PATTERN_LENGTH = 1024 * 64; @@ -10322,7 +10322,7 @@ var require_assert_valid_pattern = __commonJS((exports2) => { }); // editors/vscode/node_modules/minimatch/dist/commonjs/brace-expressions.js -var require_brace_expressions = __commonJS((exports2) => { +var require_brace_expressions = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.parseClass = undefined; var posixClasses = { @@ -10437,7 +10437,7 @@ var require_brace_expressions = __commonJS((exports2) => { }); // editors/vscode/node_modules/minimatch/dist/commonjs/unescape.js -var require_unescape = __commonJS((exports2) => { +var require_unescape = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.unescape = undefined; var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => { @@ -10450,7 +10450,7 @@ var require_unescape = __commonJS((exports2) => { }); // editors/vscode/node_modules/minimatch/dist/commonjs/ast.js -var require_ast = __commonJS((exports2) => { +var require_ast = __commonJS(function(exports2) { var _a; Object.defineProperty(exports2, "__esModule", { value: true }); exports2.AST = undefined; @@ -11019,7 +11019,7 @@ var require_ast = __commonJS((exports2) => { }); // editors/vscode/node_modules/minimatch/dist/commonjs/escape.js -var require_escape = __commonJS((exports2) => { +var require_escape = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.escape = undefined; var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => { @@ -11032,7 +11032,7 @@ var require_escape = __commonJS((exports2) => { }); // editors/vscode/node_modules/minimatch/dist/commonjs/index.js -var require_commonjs3 = __commonJS((exports2) => { +var require_commonjs3 = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.unescape = exports2.escape = exports2.AST = exports2.Minimatch = exports2.match = exports2.makeRe = exports2.braceExpand = exports2.defaults = exports2.filter = exports2.GLOBSTAR = exports2.sep = exports2.minimatch = undefined; var brace_expansion_1 = require_commonjs2(); @@ -11828,7 +11828,7 @@ var require_commonjs3 = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/utils/globPattern.js -var require_globPattern = __commonJS((exports2) => { +var require_globPattern = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -11898,7 +11898,7 @@ var require_globPattern = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/diagnostic.js -var require_diagnostic = __commonJS((exports2) => { +var require_diagnostic = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DiagnosticFeature = exports2.DiagnosticPullMode = exports2.vsdiag = undefined; var vscode_1 = require("vscode"); @@ -12713,7 +12713,7 @@ var require_diagnostic = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/notebook.js -var require_notebook = __commonJS((exports2) => { +var require_notebook = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -13690,7 +13690,7 @@ var require_notebook = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/configuration.js -var require_configuration = __commonJS((exports2) => { +var require_configuration = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -13934,7 +13934,7 @@ var require_configuration = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-textdocument/lib/umd/main.js -var require_main2 = __commonJS((exports2, module2) => { +var require_main2 = __commonJS(function(exports2, module2) { var __spreadArray = exports2 && exports2.__spreadArray || function(to, from, pack) { if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar;i < l; i++) { @@ -14229,7 +14229,7 @@ var require_main2 = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/textSynchronization.js -var require_textSynchronization = __commonJS((exports2) => { +var require_textSynchronization = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -14905,7 +14905,7 @@ var require_textSynchronization = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/completion.js -var require_completion = __commonJS((exports2) => { +var require_completion = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -15075,7 +15075,7 @@ var require_completion = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/hover.js -var require_hover = __commonJS((exports2) => { +var require_hover = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -15175,7 +15175,7 @@ var require_hover = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/definition.js -var require_definition = __commonJS((exports2) => { +var require_definition = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -15272,7 +15272,7 @@ var require_definition = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/signatureHelp.js -var require_signatureHelp = __commonJS((exports2) => { +var require_signatureHelp = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -15385,7 +15385,7 @@ var require_signatureHelp = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/documentHighlight.js -var require_documentHighlight = __commonJS((exports2) => { +var require_documentHighlight = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -15477,7 +15477,7 @@ var require_documentHighlight = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/documentSymbol.js -var require_documentSymbol = __commonJS((exports2) => { +var require_documentSymbol = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -15620,7 +15620,7 @@ var require_documentSymbol = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/workspaceSymbol.js -var require_workspaceSymbol = __commonJS((exports2) => { +var require_workspaceSymbol = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -15737,7 +15737,7 @@ var require_workspaceSymbol = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/reference.js -var require_reference = __commonJS((exports2) => { +var require_reference = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -15832,7 +15832,7 @@ var require_reference = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/typeDefinition.js -var require_typeDefinition = __commonJS((exports2) => { +var require_typeDefinition = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.TypeDefinitionFeature = undefined; var vscode_1 = require("vscode"); @@ -15885,7 +15885,7 @@ var require_typeDefinition = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/implementation.js -var require_implementation = __commonJS((exports2) => { +var require_implementation = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ImplementationFeature = undefined; var vscode_1 = require("vscode"); @@ -15937,7 +15937,7 @@ var require_implementation = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/colorProvider.js -var require_colorProvider = __commonJS((exports2) => { +var require_colorProvider = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ColorProviderFeature = undefined; var vscode_1 = require("vscode"); @@ -16007,7 +16007,7 @@ var require_colorProvider = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/codeAction.js -var require_codeAction = __commonJS((exports2) => { +var require_codeAction = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -16156,7 +16156,7 @@ var require_codeAction = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/codeLens.js -var require_codeLens = __commonJS((exports2) => { +var require_codeLens = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -16274,7 +16274,7 @@ var require_codeLens = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/formatting.js -var require_formatting = __commonJS((exports2) => { +var require_formatting = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -16494,7 +16494,7 @@ var require_formatting = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/rename.js -var require_rename = __commonJS((exports2) => { +var require_rename = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -16648,7 +16648,7 @@ var require_rename = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/documentLink.js -var require_documentLink = __commonJS((exports2) => { +var require_documentLink = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -16757,7 +16757,7 @@ var require_documentLink = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/executeCommand.js -var require_executeCommand = __commonJS((exports2) => { +var require_executeCommand = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -16874,7 +16874,7 @@ var require_executeCommand = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/foldingRange.js -var require_foldingRange = __commonJS((exports2) => { +var require_foldingRange = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.FoldingRangeFeature = undefined; var vscode_1 = require("vscode"); @@ -16937,7 +16937,7 @@ var require_foldingRange = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/declaration.js -var require_declaration = __commonJS((exports2) => { +var require_declaration = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.DeclarationFeature = undefined; var vscode_1 = require("vscode"); @@ -16989,7 +16989,7 @@ var require_declaration = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/selectionRange.js -var require_selectionRange = __commonJS((exports2) => { +var require_selectionRange = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.SelectionRangeFeature = undefined; var vscode_1 = require("vscode"); @@ -17044,7 +17044,7 @@ var require_selectionRange = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/callHierarchy.js -var require_callHierarchy = __commonJS((exports2) => { +var require_callHierarchy = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.CallHierarchyFeature = undefined; var vscode_1 = require("vscode"); @@ -17138,7 +17138,7 @@ var require_callHierarchy = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/semanticTokens.js -var require_semanticTokens = __commonJS((exports2) => { +var require_semanticTokens = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -17349,7 +17349,7 @@ var require_semanticTokens = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/linkedEditingRange.js -var require_linkedEditingRange = __commonJS((exports2) => { +var require_linkedEditingRange = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -17444,7 +17444,7 @@ var require_linkedEditingRange = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/typeHierarchy.js -var require_typeHierarchy = __commonJS((exports2) => { +var require_typeHierarchy = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.TypeHierarchyFeature = undefined; var vscode_1 = require("vscode"); @@ -17537,7 +17537,7 @@ var require_typeHierarchy = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/inlineValue.js -var require_inlineValue = __commonJS((exports2) => { +var require_inlineValue = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.InlineValueFeature = undefined; var vscode_1 = require("vscode"); @@ -17600,7 +17600,7 @@ var require_inlineValue = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/inlayHint.js -var require_inlayHint = __commonJS((exports2) => { +var require_inlayHint = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.InlayHintsFeature = undefined; var vscode_1 = require("vscode"); @@ -17684,7 +17684,7 @@ var require_inlayHint = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/workspaceFolder.js -var require_workspaceFolder = __commonJS((exports2) => { +var require_workspaceFolder = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -17871,7 +17871,7 @@ var require_workspaceFolder = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/fileOperations.js -var require_fileOperations = __commonJS((exports2) => { +var require_fileOperations = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -18231,7 +18231,7 @@ var require_fileOperations = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/inlineCompletion.js -var require_inlineCompletion = __commonJS((exports2) => { +var require_inlineCompletion = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -18327,7 +18327,7 @@ var require_inlineCompletion = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/textDocumentContent.js -var require_textDocumentContent = __commonJS((exports2) => { +var require_textDocumentContent = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -18478,7 +18478,7 @@ var require_textDocumentContent = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/fileSystemWatcher.js -var require_fileSystemWatcher = __commonJS((exports2) => { +var require_fileSystemWatcher = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.FileSystemWatcherFeature = undefined; var vscode_1 = require("vscode"); @@ -18576,7 +18576,7 @@ var require_fileSystemWatcher = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/progress.js -var require_progress = __commonJS((exports2) => { +var require_progress = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); exports2.ProgressFeature = undefined; var vscode_languageserver_protocol_1 = require_api2(); @@ -18622,7 +18622,7 @@ var require_progress = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/client.js -var require_client = __commonJS((exports2) => { +var require_client = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -20386,7 +20386,7 @@ ${error.message}`, undefined, handlerResult.handled === true ? false : "force"); }); // editors/vscode/node_modules/vscode-languageclient/lib/node/processes.js -var require_processes = __commonJS((exports2) => { +var require_processes = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -20483,7 +20483,7 @@ terminateTree "${pid}" }); // editors/vscode/node_modules/vscode-jsonrpc/lib/node/ril.js -var require_ril = __commonJS((exports2) => { +var require_ril = __commonJS(function(exports2) { Object.defineProperty(exports2, "__esModule", { value: true }); var util_1 = require("util"); var api_1 = require_api(); @@ -20641,7 +20641,7 @@ var require_ril = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-jsonrpc/lib/node/main.js -var require_main3 = __commonJS((exports2) => { +var require_main3 = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -20948,7 +20948,7 @@ var require_main3 = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageserver-protocol/lib/node/main.js -var require_main4 = __commonJS((exports2) => { +var require_main4 = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -20980,13 +20980,13 @@ var require_main4 = __commonJS((exports2) => { }); // editors/vscode/node_modules/semver/internal/debug.js -var require_debug = __commonJS((exports2, module2) => { +var require_debug = __commonJS(function(exports2, module2) { var debug = typeof process === "object" && process.env && process.env.NODE_DEBUG && /\bsemver\b/i.test(process.env.NODE_DEBUG) ? (...args) => console.error("SEMVER", ...args) : () => {}; module2.exports = debug; }); // editors/vscode/node_modules/semver/internal/constants.js -var require_constants = __commonJS((exports2, module2) => { +var require_constants = __commonJS(function(exports2, module2) { var SEMVER_SPEC_VERSION = "2.0.0"; var MAX_LENGTH = 256; var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991; @@ -21014,7 +21014,7 @@ var require_constants = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/semver/internal/re.js -var require_re = __commonJS((exports2, module2) => { +var require_re = __commonJS(function(exports2, module2) { var { MAX_SAFE_COMPONENT_LENGTH, MAX_SAFE_BUILD_LENGTH, @@ -21099,7 +21099,7 @@ var require_re = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/semver/internal/parse-options.js -var require_parse_options = __commonJS((exports2, module2) => { +var require_parse_options = __commonJS(function(exports2, module2) { var looseOption = Object.freeze({ loose: true }); var emptyOpts = Object.freeze({}); var parseOptions = (options) => { @@ -21115,7 +21115,7 @@ var require_parse_options = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/semver/internal/identifiers.js -var require_identifiers = __commonJS((exports2, module2) => { +var require_identifiers = __commonJS(function(exports2, module2) { var numeric = /^[0-9]+$/; var compareIdentifiers = (a, b) => { if (typeof a === "number" && typeof b === "number") { @@ -21137,7 +21137,7 @@ var require_identifiers = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/semver/classes/semver.js -var require_semver = __commonJS((exports2, module2) => { +var require_semver = __commonJS(function(exports2, module2) { var debug = require_debug(); var { MAX_LENGTH, MAX_SAFE_INTEGER } = require_constants(); var { safeRe: re, t } = require_re(); @@ -21419,7 +21419,7 @@ var require_semver = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/semver/functions/parse.js -var require_parse = __commonJS((exports2, module2) => { +var require_parse = __commonJS(function(exports2, module2) { var SemVer = require_semver(); var parse = (version, options, throwErrors = false) => { if (version instanceof SemVer) { @@ -21438,7 +21438,7 @@ var require_parse = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/semver/internal/lrucache.js -var require_lrucache = __commonJS((exports2, module2) => { +var require_lrucache = __commonJS(function(exports2, module2) { class LRUCache { constructor() { this.max = 1000; @@ -21473,56 +21473,56 @@ var require_lrucache = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/semver/functions/compare.js -var require_compare = __commonJS((exports2, module2) => { +var require_compare = __commonJS(function(exports2, module2) { var SemVer = require_semver(); var compare = (a, b, loose) => new SemVer(a, loose).compare(new SemVer(b, loose)); module2.exports = compare; }); // editors/vscode/node_modules/semver/functions/eq.js -var require_eq = __commonJS((exports2, module2) => { +var require_eq = __commonJS(function(exports2, module2) { var compare = require_compare(); var eq = (a, b, loose) => compare(a, b, loose) === 0; module2.exports = eq; }); // editors/vscode/node_modules/semver/functions/neq.js -var require_neq = __commonJS((exports2, module2) => { +var require_neq = __commonJS(function(exports2, module2) { var compare = require_compare(); var neq = (a, b, loose) => compare(a, b, loose) !== 0; module2.exports = neq; }); // editors/vscode/node_modules/semver/functions/gt.js -var require_gt = __commonJS((exports2, module2) => { +var require_gt = __commonJS(function(exports2, module2) { var compare = require_compare(); var gt = (a, b, loose) => compare(a, b, loose) > 0; module2.exports = gt; }); // editors/vscode/node_modules/semver/functions/gte.js -var require_gte = __commonJS((exports2, module2) => { +var require_gte = __commonJS(function(exports2, module2) { var compare = require_compare(); var gte = (a, b, loose) => compare(a, b, loose) >= 0; module2.exports = gte; }); // editors/vscode/node_modules/semver/functions/lt.js -var require_lt = __commonJS((exports2, module2) => { +var require_lt = __commonJS(function(exports2, module2) { var compare = require_compare(); var lt = (a, b, loose) => compare(a, b, loose) < 0; module2.exports = lt; }); // editors/vscode/node_modules/semver/functions/lte.js -var require_lte = __commonJS((exports2, module2) => { +var require_lte = __commonJS(function(exports2, module2) { var compare = require_compare(); var lte = (a, b, loose) => compare(a, b, loose) <= 0; module2.exports = lte; }); // editors/vscode/node_modules/semver/functions/cmp.js -var require_cmp = __commonJS((exports2, module2) => { +var require_cmp = __commonJS(function(exports2, module2) { var eq = require_eq(); var neq = require_neq(); var gt = require_gt(); @@ -21569,7 +21569,7 @@ var require_cmp = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/semver/classes/comparator.js -var require_comparator = __commonJS((exports2, module2) => { +var require_comparator = __commonJS(function(exports2, module2) { var ANY = Symbol("SemVer ANY"); class Comparator { @@ -21680,7 +21680,7 @@ var require_comparator = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/semver/classes/range.js -var require_range = __commonJS((exports2, module2) => { +var require_range = __commonJS(function(exports2, module2) { var SPACE_CHARACTERS = /\s+/g; class Range { @@ -22062,7 +22062,7 @@ var require_range = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/semver/functions/satisfies.js -var require_satisfies = __commonJS((exports2, module2) => { +var require_satisfies = __commonJS(function(exports2, module2) { var Range = require_range(); var satisfies = (version, range, options) => { try { @@ -22076,7 +22076,7 @@ var require_satisfies = __commonJS((exports2, module2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/common/api.js -var require_api3 = __commonJS((exports2) => { +var require_api3 = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -22112,7 +22112,7 @@ var require_api3 = __commonJS((exports2) => { }); // editors/vscode/node_modules/vscode-languageclient/lib/node/main.js -var require_main5 = __commonJS((exports2) => { +var require_main5 = __commonJS(function(exports2) { var __createBinding = exports2 && exports2.__createBinding || (Object.create ? function(o, m, k, k2) { if (k2 === undefined) k2 = k; @@ -22702,7 +22702,7 @@ var require_main5 = __commonJS((exports2) => { }); // editors/vscode/src/auto-close-tags.js -var require_auto_close_tags = __commonJS((exports2, module2) => { +var require_auto_close_tags = __commonJS(function(exports2, module2) { var vscode = require("vscode"); function registerAutoCloseTags(context, client) { const listener = vscode.workspace.onDidChangeTextDocument(async (event) => { diff --git a/editors/vscode/src/language-server.cjs b/editors/vscode/src/language-server.cjs index 3436da61..ad39787c 100644 --- a/editors/vscode/src/language-server.cjs +++ b/editors/vscode/src/language-server.cjs @@ -1,5 +1,5 @@ #!/usr/bin/env node -// WRN editor language server source hash: 7d485053c38631885fd8d53d84d92f0ef02893d99d0f6c0553d6839971dd7ac5 +// WRN editor language server source hash: 8e23fe3a501243ea96b8620142ed0187bae8de43cb9eb4e2bee17cf24777b31b // WRN editor language server generator hash: f593a44aaf05495b789ce7a3086bee1eebb951b884d41c0e017bbcfe5f547e72 // @bun @bun-cjs (function(exports, require, module, __filename, __dirname) {var __create = Object.create; @@ -23,12 +23,14 @@ var __toESM = (mod, isNodeMode, target) => { } target = mod != null ? __create(__getProtoOf(mod)) : {}; const to = isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target; - for (let key of __getOwnPropNames(mod)) - if (!__hasOwnProp.call(to, key)) - __defProp(to, key, { - get: __accessProp.bind(mod, key), - enumerable: true - }); + if (mod && typeof mod === "object" || typeof mod === "function") { + for (let key of __getOwnPropNames(mod)) + if (!__hasOwnProp.call(to, key)) + __defProp(to, key, { + get: __accessProp.bind(mod, key), + enumerable: true + }); + } if (canCache) cache.set(mod, to); return to; @@ -66,7 +68,7 @@ var __export = (target, all) => { }; // node_modules/.bun/typescript@6.0.3/node_modules/typescript/lib/typescript.js -var require_typescript = __commonJS((exports2, module2) => { +var require_typescript = __commonJS(function(exports2, module2) { var __dirname = "E:\\WireJS\\node_modules\\.bun\\typescript@6.0.3\\node_modules\\typescript\\lib", __filename = "E:\\WireJS\\node_modules\\.bun\\typescript@6.0.3\\node_modules\\typescript\\lib\\typescript.js"; /*! ***************************************************************************** Copyright (c) Microsoft Corporation. All rights reserved. @@ -169514,7 +169516,7 @@ Additional information: BADCLIENT: Bad error code, ${badCode} not found in range }); // node_modules/.bun/@vscode+l10n@0.0.18/node_modules/@vscode/l10n/dist/main.js -var require_main = __commonJS((exports2, module2) => { +var require_main = __commonJS(function(exports2, module2) { var __defProp2 = Object.defineProperty; var __getOwnPropDesc2 = Object.getOwnPropertyDescriptor; var __getOwnPropNames2 = Object.getOwnPropertyNames; @@ -169658,9 +169660,9 @@ var require_main = __commonJS((exports2, module2) => { // packages/language-server/src/server.ts var exports_server = {}; __export(exports_server, { - isApiReferenceAt: () => isApiReferenceAt, + apiCallCompletions: () => apiCallCompletions, apiCallHover: () => apiCallHover, - apiCallCompletions: () => apiCallCompletions + isApiReferenceAt: () => isApiReferenceAt }); module.exports = __toCommonJS(exports_server); @@ -172988,7 +172990,7 @@ function runtimeNamespace(runtime) { return `__wrn_${runtime}`; } function functionDeclaration(fn) { - const params = fn.parameters.map((param) => `${param.name}${param.optional ? "?" : ""}${param.valueType ? `: ${param.valueType}` : param.name === "event" ? ": CustomEvent & { target: HTMLElement }" : ": any"}${param.default ? ` = ${param.default}` : ""}`).join(", "); + const params = fn.parameters.map((param) => `${param.name}${param.optional ? "?" : ""}${param.valueType ? `: ${param.valueType}` : param.name === "event" ? ": Event & { target: HTMLElement }" : ": any"}${param.default ? ` = ${param.default}` : ""}`).join(", "); return `export ${fn.async ? "async " : ""}function ${fn.name}(${params})${fn.returnType ? `: ${fn.returnType}` : ""} {${fn.body}}`; } function retainedImports(ast) { @@ -173048,6 +173050,27 @@ var RESERVED_BINDING_NAMES = new Set([ function safeBindingName(name) { return /^[A-Za-z_$][\w$]*$/.test(name) && !RESERVED_BINDING_NAMES.has(name); } +function safeViewExpression(expression, reservedProps) { + if (!reservedProps.size) + return expression; + const scanner = import_typescript.default.createScanner(import_typescript.default.ScriptTarget.Latest, false, import_typescript.default.LanguageVariant.Standard, expression); + let result = ""; + let copied = 0; + for (let token = scanner.scan();token !== import_typescript.default.SyntaxKind.EndOfFileToken; token = scanner.scan()) { + const start = scanner.getTokenPos(); + const end = scanner.getTextPos(); + const text = scanner.getTokenText(); + if (!reservedProps.has(text)) + continue; + const previous = expression.slice(0, start).trimEnd().at(-1); + const following = expression.slice(end).trimStart().at(0); + if (previous === "." || following === ":") + continue; + result += expression.slice(copied, start) + `props.${text}`; + copied = end; + } + return result + expression.slice(copied); +} function virtualTypeScriptModule(source, filePath = "component.wrn", appRoot = findAppRoot(filePath)) { const ast = parse(source); const chunks = []; @@ -173129,6 +173152,7 @@ ${sharedAliases}`); append(`declare const ${name}: typeof ${runtimeNamespace(runtime)}.${name};`); } let bindingIndex = 0; + const reservedProps = new Set(ast.props.map((prop) => prop.name).filter((name) => !safeBindingName(name))); const appendViewBindings = (nodes, locals) => { for (const node of nodes) { if (node.type === "element") { @@ -173139,20 +173163,23 @@ ${sharedAliases}`); continue; const declarations = [ ...[...locals].map((name) => `declare const ${name}: any;`), - ...attr.event ? ["declare const payload: any;", "declare const event: Event;"] : [] + ...attr.event ? [ + "declare const payload: any;", + "declare const event: Event & { target: HTMLElement };" + ] : [] ].join(" "); - append(`namespace __wrn_view_${bindingIndex++} { ${declarations} void (${expression}); }`, attr.value); + append(`namespace __wrn_view_${bindingIndex++} { ${declarations} void (${safeViewExpression(expression, reservedProps)}); }`, attr.value); } } appendViewBindings(node.children, locals); } else if (node.type === "if") { for (const branch of node.branches) { if (branch.cond) - append(`namespace __wrn_view_${bindingIndex++} { void (${branch.cond}); }`, branch.cond); + append(`namespace __wrn_view_${bindingIndex++} { void (${safeViewExpression(branch.cond, reservedProps)}); }`, branch.cond); appendViewBindings(branch.body, locals); } } else if (node.type === "each") { - append(`namespace __wrn_view_${bindingIndex++} { void (${node.list}); }`, node.list); + append(`namespace __wrn_view_${bindingIndex++} { void (${safeViewExpression(node.list, reservedProps)}); }`, node.list); const nested = new Set(locals); nested.add(node.item); if (node.index) diff --git a/package.json b/package.json index 48d8b3bd..b59a13dc 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,7 @@ "generate:ui-visual": "node scripts/check-ui-visual-contract.mjs --write", "sbom": "node scripts/generate-sbom.mjs", "benchmark:framework": "node --experimental-transform-types scripts/benchmark-framework.mjs --write", - "check:production": "bun run check:workspace && bun run check:generated-types && bun run check:public-api && bun run check:ui-visual && bun run validate:0.8 && bun run security:framework && bun run security:asvs && bun run check:editor-compiler && bun run check:editor-language-server && bun run check:editor-extension && bun run check && bun run test:examples", + "check:production": "bun run check:workspace && bun run check:generated-types && bun run check:public-api && bun run check:ui-visual && bun run validate:0.8 && bun run security:framework && bun run security:asvs && bun run check:editor-compiler && bun run check:editor-language-server && bun run check:editor-extension && bun run check && bun run test:examples && bun run test:services && bun run test:editor", "validate:staging": "node --experimental-transform-types scripts/test-package-integrity.mjs", "stage:packages": "bun run scripts/publish-packages.ts", "test:staged-consumers": "node scripts/test-staged-consumers.mjs", @@ -70,7 +70,7 @@ }, "devDependencies": { "@eslint/js": "^10.0.1", - "@types/bun": "^1.3.14", + "@types/bun": "^1.4.0", "@types/react": "^19.2.18", "@types/react-dom": "^19.2.4", "eslint": "^10.8.1", diff --git a/packages/captcha/package.json b/packages/captcha/package.json index b5d3c23a..3bd32aa5 100644 --- a/packages/captcha/package.json +++ b/packages/captcha/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/captcha", - "version": "0.8.11", + "version": "0.8.13", "description": "First-class CAPTCHA challenges, providers, verification guards, page gates, and WRNexusJS UI.", "type": "module", "sideEffects": false, diff --git a/packages/captcha/test/helper-boundaries.test.ts b/packages/captcha/test/helper-boundaries.test.ts new file mode 100644 index 00000000..280dfdcd --- /dev/null +++ b/packages/captcha/test/helper-boundaries.test.ts @@ -0,0 +1,50 @@ +import { describe, expect, test } from "bun:test"; +import { + captchaContext, + captchaResultResponse, + captchaTokenFrom, + verifyCaptchaOrThrow, +} from "../src/helpers.ts"; + +describe("CAPTCHA helper boundaries", () => { + test("extracts JSON request fallbacks without consuming the caller's request", async () => { + const request = new Request("https://example.test/verify", { + method: "POST", + headers: { "content-type": "application/json" }, + body: JSON.stringify({ captchaToken: 12345 }), + }); + expect(await captchaTokenFrom(request)).toBe("12345"); + expect(await request.json()).toEqual({ captchaToken: 12345 }); + }); + + test("turns verification failures into stable errors and no-store responses", async () => { + const provider = { + name: "custom" as const, + client: { responseField: "captchaToken" }, + verify: async () => ({ + success: false as const, + code: "expired", + message: "Try again", + provider: "custom" as const, + action: "login", + }), + }; + await expect( + verifyCaptchaOrThrow(provider, { providerToken: "x", action: "login" }), + ).rejects.toThrow("WRN-CAPTCHA-EXPIRED: Try again"); + const response = captchaResultResponse({ + success: false, + code: "invalid", + provider: "custom", + action: "login", + }); + expect(response.status).toBe(403); + expect(response.headers.get("cache-control")).toBe("no-store"); + expect( + captchaContext({ + locals: { captcha: { success: true, provider: "custom", action: "login" } }, + } as never), + ).toEqual({ success: true, provider: "custom", action: "login" }); + expect(captchaContext({ locals: { captcha: "forged" } } as never)).toBeNull(); + }); +}); diff --git a/packages/dev-server/package.json b/packages/dev-server/package.json index 4c3a94b4..261c74fb 100644 --- a/packages/dev-server/package.json +++ b/packages/dev-server/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/dev-server", - "version": "0.8.54", + "version": "0.8.56", "type": "module", "main": "src/index.ts", "exports": { @@ -25,6 +25,7 @@ "@wrnexus/uploader": "workspace:*", "@wrnexus/plugin": "workspace:*", "@wrnexus/queue": "workspace:*", + "@wrnexus/react": "workspace:*", "@wrnexus/store": "workspace:*", "@wrnexus/security": "workspace:*", "@wrnexus/observability": "workspace:*", diff --git a/packages/dev-server/src/pipeline.ts b/packages/dev-server/src/pipeline.ts index d5844997..e97637d4 100644 --- a/packages/dev-server/src/pipeline.ts +++ b/packages/dev-server/src/pipeline.ts @@ -508,9 +508,7 @@ function validateConfiguredImports(_source: string, ast: PageAst, file: string): ]); const missing = [...usedComponents].filter( (name) => - !compilerBuiltins.has(name) && - !options.globalComponents.has(name) && - !imported.has(name), + !compilerBuiltins.has(name) && !options.globalComponents.has(name) && !imported.has(name), ); if (ast.layoutIsSymbol && ast.layout && !imported.has(ast.layout)) missing.push(ast.layout); if (!missing.length) return; diff --git a/packages/dev-toolbar/package.json b/packages/dev-toolbar/package.json index 2ad53f13..c11bc978 100644 --- a/packages/dev-toolbar/package.json +++ b/packages/dev-toolbar/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/dev-toolbar", - "version": "0.8.13", + "version": "0.8.15", "private": true, "type": "module", "sideEffects": false, diff --git a/packages/dev-toolbar/test/server/issues.test.ts b/packages/dev-toolbar/test/server/issues.test.ts new file mode 100644 index 00000000..15e60ca1 --- /dev/null +++ b/packages/dev-toolbar/test/server/issues.test.ts @@ -0,0 +1,25 @@ +import { expect, test } from "bun:test"; +import { createServerIssue, issueFromError } from "../../src/server/issues.ts"; + +test("server issues have stable fingerprints and retain actionable error context", () => { + const input = { + ruleId: "server/query", + category: "server" as const, + severity: "warning" as const, + title: "Slow query", + message: "Query exceeded budget", + pathname: "/orders", + source: { file: "app/api/orders.ts", line: 12, column: 4 }, + }; + const first = createServerIssue(input); + const second = createServerIssue(input); + expect(first.id).not.toBe(second.id); + expect(first.fingerprint).toBe(second.fingerprint); + expect(first.metadata?.pathname).toBe("/orders"); + + const error = issueFromError(new Error("database offline"), { pathname: "/orders" }); + expect(error.severity).toBe("error"); + expect(error.message).toBe("database offline"); + expect(error.metadata?.stack).toContain("database offline"); + expect(error.recommendation).toContain("stack trace"); +}); diff --git a/packages/store/package.json b/packages/store/package.json index b0dd1268..955616ec 100644 --- a/packages/store/package.json +++ b/packages/store/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/store", - "version": "0.8.9", + "version": "0.8.11", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/store/test/persistence-boundaries.test.ts b/packages/store/test/persistence-boundaries.test.ts new file mode 100644 index 00000000..9269a220 --- /dev/null +++ b/packages/store/test/persistence-boundaries.test.ts @@ -0,0 +1,32 @@ +import { expect, test } from "bun:test"; +import { StoreContainer, defineStore } from "../src/index.ts"; + +test("memory persistence includes only approved fields and migrates old state", async () => { + const original = defineStore({ + name: "preferences-migration", + kind: "global" as const, + createSharedState: () => ({ theme: "dark", secret: "initial" }), + persist: { storage: "memory" as const, version: 1, include: ["theme"] }, + actions: { + setTheme: { + runtime: "client" as const, + handler: ({ state }: any, theme: string) => void (state.theme = theme), + }, + }, + }); + const first = await new StoreContainer({ runtime: "client" }).use(original); + await first.actions.setTheme("light"); + + const migrated = defineStore({ + ...original, + persist: { + storage: "memory" as const, + version: 2, + include: ["theme"], + migrate: (state: any) => ({ ...state, theme: `${state.theme}-v2` }), + }, + }); + const second = await new StoreContainer({ runtime: "client" }).use(migrated); + expect(second.state.theme).toBe("light-v2"); + expect(second.state.secret).toBe("initial"); +}); diff --git a/packages/syntax/package.json b/packages/syntax/package.json index bbbbef42..fd077fd0 100644 --- a/packages/syntax/package.json +++ b/packages/syntax/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/syntax", - "version": "0.8.13", + "version": "0.8.15", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/syntax/test/api-section-boundaries.test.ts b/packages/syntax/test/api-section-boundaries.test.ts new file mode 100644 index 00000000..dca8df43 --- /dev/null +++ b/packages/syntax/test/api-section-boundaries.test.ts @@ -0,0 +1,28 @@ +import { expect, test } from "bun:test"; +import { hasRequestSection, parseApiEntries, parseApiSections } from "../src/api-sections.ts"; + +test("api section scanning ignores keywords in literals, comments, and nested objects", () => { + const source = ` + // request { body { forged: string } } + response { + return { label: "request { not a section }", nested: { body: true } } + } + `; + expect(hasRequestSection(source)).toBe(false); + expect(parseApiSections(source)?.response).toContain("nested"); +}); + +test("api entries normalize methods and reject malformed request fields", () => { + expect( + parseApiEntries(`lookup get /users/:id { + response { return data } + }`)[0], + ).toMatchObject({ + name: "lookup", + method: "GET", + path: "/users/:id", + }); + expect(() => + parseApiSections("request { body { missingType } } response { return data }"), + ).toThrow('Expected "name: type"'); +}); diff --git a/packages/typecheck/package.json b/packages/typecheck/package.json index 5274d388..5387befe 100644 --- a/packages/typecheck/package.json +++ b/packages/typecheck/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/typecheck", - "version": "0.8.13", + "version": "0.8.15", "type": "module", "main": "src/index.ts", "exports": { diff --git a/packages/typecheck/src/index.ts b/packages/typecheck/src/index.ts index 2a12022a..d80a4d56 100644 --- a/packages/typecheck/src/index.ts +++ b/packages/typecheck/src/index.ts @@ -139,7 +139,7 @@ function functionDeclaration(fn: RuntimeFunctionDecl): string { const params = fn.parameters .map( (param) => - `${param.name}${param.optional ? "?" : ""}${param.valueType ? `: ${param.valueType}` : param.name === "event" ? ": CustomEvent & { target: HTMLElement }" : ": any"}${param.default ? ` = ${param.default}` : ""}`, + `${param.name}${param.optional ? "?" : ""}${param.valueType ? `: ${param.valueType}` : param.name === "event" ? ": Event & { target: HTMLElement }" : ": any"}${param.default ? ` = ${param.default}` : ""}`, ) .join(", "); // An omitted WRN parameter type follows JavaScript semantics. Emitting it as @@ -214,6 +214,31 @@ function safeBindingName(name: string): boolean { return /^[A-Za-z_$][\w$]*$/.test(name) && !RESERVED_BINDING_NAMES.has(name); } +function safeViewExpression(expression: string, reservedProps: ReadonlySet): string { + if (!reservedProps.size) return expression; + const scanner = ts.createScanner( + ts.ScriptTarget.Latest, + false, + ts.LanguageVariant.Standard, + expression, + ); + let result = ""; + let copied = 0; + for (let token = scanner.scan(); token !== ts.SyntaxKind.EndOfFileToken; token = scanner.scan()) { + const start = scanner.getTokenPos(); + const end = scanner.getTextPos(); + const text = scanner.getTokenText(); + if (!reservedProps.has(text)) continue; + const previous = expression.slice(0, start).trimEnd().at(-1); + const following = expression.slice(end).trimStart().at(0); + // Property access and object-literal keys are already valid TypeScript. + if (previous === "." || following === ":") continue; + result += expression.slice(copied, start) + `props.${text}`; + copied = end; + } + return result + expression.slice(copied); +} + export function virtualTypeScriptModule( source: string, filePath = "component.wrn", @@ -348,6 +373,9 @@ export function virtualTypeScriptModule( // misspelled state/function name cannot silently become `undefined` at // runtime. Each/handler locals mirror the browser evaluator's bindings. let bindingIndex = 0; + const reservedProps = new Set( + ast.props.map((prop) => prop.name).filter((name) => !safeBindingName(name)), + ); const appendViewBindings = (nodes: ViewNode[], locals: Set): void => { for (const node of nodes) { if (node.type === "element") { @@ -359,10 +387,15 @@ export function virtualTypeScriptModule( if (!expression.trim()) continue; const declarations = [ ...[...locals].map((name) => `declare const ${name}: any;`), - ...(attr.event ? ["declare const payload: any;", "declare const event: Event;"] : []), + ...(attr.event + ? [ + "declare const payload: any;", + "declare const event: Event & { target: HTMLElement };", + ] + : []), ].join(" "); append( - `namespace __wrn_view_${bindingIndex++} { ${declarations} void (${expression}); }`, + `namespace __wrn_view_${bindingIndex++} { ${declarations} void (${safeViewExpression(expression, reservedProps)}); }`, attr.value, ); } @@ -372,13 +405,16 @@ export function virtualTypeScriptModule( for (const branch of node.branches) { if (branch.cond) append( - `namespace __wrn_view_${bindingIndex++} { void (${branch.cond}); }`, + `namespace __wrn_view_${bindingIndex++} { void (${safeViewExpression(branch.cond, reservedProps)}); }`, branch.cond, ); appendViewBindings(branch.body, locals); } } else if (node.type === "each") { - append(`namespace __wrn_view_${bindingIndex++} { void (${node.list}); }`, node.list); + append( + `namespace __wrn_view_${bindingIndex++} { void (${safeViewExpression(node.list, reservedProps)}); }`, + node.list, + ); const nested = new Set(locals); nested.add(node.item); if (node.index) nested.add(node.index); diff --git a/packages/typecheck/test/imports-and-components.test.ts b/packages/typecheck/test/imports-and-components.test.ts index d0392255..9a239269 100644 --- a/packages/typecheck/test/imports-and-components.test.ts +++ b/packages/typecheck/test/imports-and-components.test.ts @@ -1,5 +1,5 @@ import { expect, test } from "bun:test"; -import { mkdirSync, mkdtempSync, writeFileSync } from "node:fs"; +import { mkdirSync, mkdtempSync, readFileSync, writeFileSync } from "node:fs"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { checkWrnSource } from "../src/index.ts"; @@ -82,6 +82,23 @@ page Home { expect(diagnostics.some((item) => item.code === "WRN-COMPONENT-PROP-TYPE")).toBe(false); expect(diagnostics.some((item) => item.code === "WRN-TYPE-1389")).toBe(false); expect(diagnostics.some((item) => item.code === "WRN-TYPE-1005")).toBe(false); + expect( + checkWrnSource(readFileSync(componentPath, "utf8"), { appRoot: root, filePath: componentPath }), + ).toEqual([]); +}, 15_000); + +test("implicit DOM events satisfy untyped event handler parameters", () => { + const root = fixture(); + const filePath = join(root, "app", "components", "Submit.wrn"); + const diagnostics = checkWrnSource( + `component Submit { + outputs { submit(payload: { event: Event }) } + functions { client function submitForm(event) { output.submit({ event }) } } + view {
} + }`, + { appRoot: root, filePath }, + ); + expect(diagnostics).toEqual([]); }, 15_000); test("does not treat UI component imports as JavaScript exports", () => { diff --git a/packages/uploader/package.json b/packages/uploader/package.json index 33d88066..de765319 100644 --- a/packages/uploader/package.json +++ b/packages/uploader/package.json @@ -1,6 +1,6 @@ { "name": "@wrnexus/uploader", - "version": "0.8.10", + "version": "0.8.12", "private": true, "type": "module", "main": "./src/index.ts", diff --git a/packages/uploader/test/security-policy.test.ts b/packages/uploader/test/security-policy.test.ts new file mode 100644 index 00000000..c4843504 --- /dev/null +++ b/packages/uploader/test/security-policy.test.ts @@ -0,0 +1,46 @@ +import { describe, expect, test } from "bun:test"; +import { + UploadPolicyError, + createSignedFileToken, + enforceUploadPolicy, + inspectUpload, + sniffContentType, + verifySignedFileToken, +} from "../src/security.ts"; + +describe("upload policy hardening", () => { + test("enforces size, type, filename, and checksum independently", async () => { + const inspection = await inspectUpload("report.pdf", new Uint8Array([0x25, 0x50, 0x44, 0x46])); + const cases: Array<[Parameters[1], string | undefined, string]> = [ + [{ maxBytes: 3 }, undefined, "UPLOAD_TOO_LARGE"], + [{ accept: ["image/png"] }, undefined, "UPLOAD_TYPE_REJECTED"], + [{ filenamePattern: /^invoice-/ }, undefined, "UPLOAD_FILENAME_REJECTED"], + [{ requireChecksum: true }, undefined, "UPLOAD_CHECKSUM_REQUIRED"], + [{}, "0".repeat(64), "UPLOAD_CHECKSUM_MISMATCH"], + ]; + for (const [policy, checksum, code] of cases) { + try { + enforceUploadPolicy(inspection, policy, checksum); + throw new Error("policy unexpectedly accepted upload"); + } catch (error) { + expect(error).toBeInstanceOf(UploadPolicyError); + expect((error as UploadPolicyError).code).toBe(code); + } + } + enforceUploadPolicy( + inspection, + { maxBytes: 4, accept: ["application/pdf"] }, + inspection.sha256, + ); + }); + + test("recognizes bounded signatures and rejects malformed signed-token inputs", async () => { + expect(sniffContentType(new Uint8Array([0xff, 0xd8, 0xff]))).toBe("image/jpeg"); + expect(sniffContentType(new Uint8Array([0x50, 0x4b, 0x03, 0x04]))).toBe("application/zip"); + expect(sniffContentType(new Uint8Array([1, 2, 3]))).toBeNull(); + await expect( + createSignedFileToken({ store: "", key: "x", expiresAt: 1 }, "long-enough-secret"), + ).rejects.toThrow("store"); + expect(await verifySignedFileToken("not-a-token", "long-enough-secret")).toBeNull(); + }); +}); diff --git a/scripts/build-editor-compiler.mjs b/scripts/build-editor-compiler.mjs index 93c7b23b..1df0c02d 100644 --- a/scripts/build-editor-compiler.mjs +++ b/scripts/build-editor-compiler.mjs @@ -19,7 +19,15 @@ function sha256(value) { } function loadTypeScript() { - const candidates = [process.env.TYPESCRIPT_PATH, "typescript"].filter(Boolean); + // TypeScript 7's root package is the native CLI and no longer exposes the + // legacy compiler API used by the embedded editor compiler. Keep that API + // isolated behind @wrnexus/typecheck's explicit TypeScript 6 dependency + // while the workspace itself type-checks with TypeScript 7. + const candidates = [ + process.env.TYPESCRIPT_PATH, + join(root, "packages", "typecheck", "node_modules", "typescript"), + "typescript", + ].filter(Boolean); for (const candidate of candidates) { try { return require(candidate); diff --git a/scripts/check-public-api.mjs b/scripts/check-public-api.mjs index 4d1e726a..a26d7d10 100644 --- a/scripts/check-public-api.mjs +++ b/scripts/check-public-api.mjs @@ -2,10 +2,15 @@ import { existsSync, readFileSync, readdirSync, writeFileSync } from "node:fs"; import console from "node:console"; import { dirname, join, relative, resolve } from "node:path"; import { fileURLToPath } from "node:url"; +import { createRequire } from "node:module"; import process from "node:process"; -import ts from "typescript"; const root = resolve(dirname(fileURLToPath(import.meta.url)), ".."); +const require = createRequire(import.meta.url); +// TypeScript 7's root package is the native CLI and no longer exposes the +// legacy compiler API. Public API extraction intentionally uses the compiler +// version embedded by @wrnexus/typecheck. +const ts = require(join(root, "packages", "typecheck", "node_modules", "typescript")); const baselinePath = join(root, "docs", "public-api-0.8.json"); function flattenTargets(value) { diff --git a/scripts/test-staged-consumers.mjs b/scripts/test-staged-consumers.mjs index 9cdc9492..207e0051 100644 --- a/scripts/test-staged-consumers.mjs +++ b/scripts/test-staged-consumers.mjs @@ -118,26 +118,34 @@ try { throw new Error(`Staged package import probe failed:\n${probe.stderr || probe.stdout}`); if (probe.stdout) process.stdout.write(probe.stdout); - writeFileSync( - join(consumer, "browser-probe.js"), - 'import "@wrnexus/csr";\nimport "@wrnexus/reactive";\n', + const browserPackages = ["@wrnexus/csr", "@wrnexus/reactive"].filter((name) => + existsSync(join(consumer, "node_modules", ...name.split("/"))), ); - const browser = spawnSync( - bun, - ["build", "browser-probe.js", "--target=browser", "--outfile=browser-probe.bundle.js"], - { cwd: consumer, encoding: "utf8", env: { ...process.env, NO_COLOR: "1" } }, - ); - if (browser.status !== 0 || !existsSync(join(consumer, "browser-probe.bundle.js"))) { - throw new Error(`Staged browser package build failed:\n${browser.stderr || browser.stdout}`); + if (browserPackages.length > 0) { + writeFileSync( + join(consumer, "browser-probe.js"), + browserPackages.map((name) => `import ${JSON.stringify(name)};`).join("\n") + "\n", + ); + const browser = spawnSync( + bun, + ["build", "browser-probe.js", "--target=browser", "--outfile=browser-probe.bundle.js"], + { cwd: consumer, encoding: "utf8", env: { ...process.env, NO_COLOR: "1" } }, + ); + if (browser.status !== 0 || !existsSync(join(consumer, "browser-probe.bundle.js"))) { + throw new Error(`Staged browser package build failed:\n${browser.stderr || browser.stdout}`); + } } - const cli = spawnSync( - bun, - [join(consumer, "node_modules", "@wrnexus", "cli", "dist", "index.js"), "--help"], - { cwd: consumer, encoding: "utf8", env: { ...process.env, NO_COLOR: "1" } }, - ); - if (cli.status !== 0 || !/wrnexus/i.test(`${cli.stdout}\n${cli.stderr}`)) { - throw new Error(`Staged CLI smoke test failed:\n${cli.stderr || cli.stdout}`); + const cliPath = join(consumer, "node_modules", "@wrnexus", "cli", "dist", "index.js"); + if (existsSync(cliPath)) { + const cli = spawnSync(bun, [cliPath, "--help"], { + cwd: consumer, + encoding: "utf8", + env: { ...process.env, NO_COLOR: "1" }, + }); + if (cli.status !== 0 || !/wrnexus/i.test(`${cli.stdout}\n${cli.stderr}`)) { + throw new Error(`Staged CLI smoke test failed:\n${cli.stderr || cli.stdout}`); + } } console.log( "Staged package tarballs, browser runtime bundle, and CLI passed their isolated consumer smoke tests.",