From b5dbd2ef68c9d7ced9faf8954b544d0da89a5f99 Mon Sep 17 00:00:00 2001 From: Raphael Mobis Tacla Date: Mon, 6 Jul 2026 14:35:59 -0300 Subject: [PATCH 1/6] update packages, tooling and pin node version using volta --- package-lock.json | 3165 +++++++++++++++++++++++---------------------- package.json | 29 +- tsconfig.json | 16 +- 3 files changed, 1681 insertions(+), 1529 deletions(-) diff --git a/package-lock.json b/package-lock.json index e212ab5..ca148e2 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5,21 +5,21 @@ "packages": { "": { "devDependencies": { - "@biomejs/biome": "2.0.6", - "@tsconfig/node-ts": "^23.6.1", - "@tsconfig/node22": "^22.0.2", + "@biomejs/biome": "^2.0.6", + "@tsconfig/node-ts": "^23.6.4", + "@tsconfig/node26": "^26.0.0", "@types/ajv": "^0.0.5", - "@types/node": "^24.0.13", - "ajv": "^8.17.1", + "@types/node": "^26.1.0", + "ajv": "^8.20.0", "ajv-formats": "^3.0.1", - "fracturedjsonjs": "^4.1.0", - "glob": "^11.0.3", + "fracturedjsonjs": "^4.1.1", + "glob": "^11.1.0", "json-schema-to-typescript": "^15.0.4", - "lefthook": "^1.12.1", + "lefthook": "^1.13.6", "radash": "^12.1.1", - "tsx": "^4.20.3", - "typescript": "^5.8.3", - "ultracite": "5.0.32" + "tsx": "^4.23.0", + "typescript": "^6.0.3", + "ultracite": "^7.9.2" } }, "node_modules/@apidevtools/json-schema-ref-parser": { @@ -204,1277 +204,934 @@ } }, "node_modules/@clack/core": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@clack/core/-/core-0.5.0.tgz", - "integrity": "sha512-p3y0FIOwaYRUPRcMO7+dlmLh8PSRcrjuTndsiA0WAFbWES0mLZlrjVoBRZ9DzkPFJZG6KGkJmoEAY0ZcVWTkow==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/@clack/core/-/core-1.4.3.tgz", + "integrity": "sha512-/kr3UWNtdJfxZtPgDqUOmG2pvwlmcLGheex5yiZKdwbzZJxhV+HMNR9QNmyY5cGwTNV6LrR7Jtp+KjhUAP1qBQ==", "dev": true, "license": "MIT", "dependencies": { - "picocolors": "^1.0.0", + "fast-wrap-ansi": "^0.2.0", "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" } }, "node_modules/@clack/prompts": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.11.0.tgz", - "integrity": "sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==", + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-1.7.0.tgz", + "integrity": "sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A==", "dev": true, "license": "MIT", "dependencies": { - "@clack/core": "0.5.0", - "picocolors": "^1.0.0", + "@clack/core": "1.4.3", + "fast-string-width": "^3.0.2", + "fast-wrap-ansi": "^0.2.0", "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 20.12.0" } }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.6.tgz", - "integrity": "sha512-ShbM/3XxwuxjFiuVBHA+d3j5dyac0aEVVq1oluIDf71hUw0aRF59dV/efUsIwFnR6m8JNM2FjZOzmaZ8yG61kw==", - "cpu": [ - "ppc64" - ], + "node_modules/@eslint-community/eslint-utils": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", + "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "aix" - ], + "dependencies": { + "eslint-visitor-keys": "^3.4.3" + }, "engines": { - "node": ">=18" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" } }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.6.tgz", - "integrity": "sha512-S8ToEOVfg++AU/bHwdksHNnyLyVM+eMVAOf6yRKFitnwnbwwPNqKr3srzFRe7nzV69RQKb5DgchIX5pt3L53xg==", - "cpu": [ - "arm" - ], + "node_modules/@eslint-community/regexpp": { + "version": "4.12.2", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", + "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "peer": true, "engines": { - "node": ">=18" + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" } }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.6.tgz", - "integrity": "sha512-hd5zdUarsK6strW+3Wxi5qWws+rJhCCbMiC9QZyzoxfk5uHRIE8T287giQxzVpEvCwuJ9Qjg6bEjcRJcgfLqoA==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/config-array": { + "version": "0.23.5", + "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", + "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@eslint/object-schema": "^3.0.5", + "debug": "^4.3.1", + "minimatch": "^10.2.4" + }, "engines": { - "node": ">=18" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.6.tgz", - "integrity": "sha512-0Z7KpHSr3VBIO9A/1wcT3NTy7EB4oNC4upJ5ye3R7taCc2GUdeynSLArnon5G8scPwaU866d3H4BCrE5xLW25A==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/config-helpers": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", + "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@eslint/core": "^1.2.1" + }, "engines": { - "node": ">=18" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.6.tgz", - "integrity": "sha512-FFCssz3XBavjxcFxKsGy2DYK5VSvJqa6y5HXljKzhRZ87LvEi13brPrf/wdyl/BbpbMKJNOr1Sd0jtW4Ge1pAA==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/core": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", + "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@types/json-schema": "^7.0.15" + }, "engines": { - "node": ">=18" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.6.tgz", - "integrity": "sha512-GfXs5kry/TkGM2vKqK2oyiLFygJRqKVhawu3+DOCk7OxLy/6jYkWXhlHwOoTb0WqGnWGAS7sooxbZowy+pK9Yg==", - "cpu": [ - "x64" - ], + "node_modules/@eslint/object-schema": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", + "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], + "license": "Apache-2.0", + "peer": true, "engines": { - "node": ">=18" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.6.tgz", - "integrity": "sha512-aoLF2c3OvDn2XDTRvn8hN6DRzVVpDlj2B/F66clWd/FHLiHaG3aVZjxQX2DYphA5y/evbdGvC6Us13tvyt4pWg==", - "cpu": [ - "arm64" - ], + "node_modules/@eslint/plugin-kit": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz", + "integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@eslint/core": "^1.2.1", + "levn": "^0.4.1" + }, "engines": { - "node": ">=18" + "node": "^20.19.0 || ^22.13.0 || >=24" } }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.6.tgz", - "integrity": "sha512-2SkqTjTSo2dYi/jzFbU9Plt1vk0+nNg8YC8rOXXea+iA3hfNJWebKYPs3xnOUf9+ZWhKAaxnQNUf2X9LOpeiMQ==", - "cpu": [ - "x64" - ], + "node_modules/@humanfs/core": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", + "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@humanfs/types": "^0.15.0" + }, "engines": { - "node": ">=18" + "node": ">=18.18.0" } }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.6.tgz", - "integrity": "sha512-SZHQlzvqv4Du5PrKE2faN0qlbsaW/3QQfUUc6yO2EjFcA83xnwm91UbEEVx4ApZ9Z5oG8Bxz4qPE+HFwtVcfyw==", - "cpu": [ - "arm" - ], + "node_modules/@humanfs/node": { + "version": "0.16.8", + "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", + "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", + "peer": true, + "dependencies": { + "@humanfs/core": "^0.19.2", + "@humanfs/types": "^0.15.0", + "@humanwhocodes/retry": "^0.4.0" + }, "engines": { - "node": ">=18" + "node": ">=18.18.0" } }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.6.tgz", - "integrity": "sha512-b967hU0gqKd9Drsh/UuAm21Khpoh6mPBSgz8mKRq4P5mVK8bpA+hQzmm/ZwGVULSNBzKdZPQBRT3+WuVavcWsQ==", - "cpu": [ - "arm64" - ], + "node_modules/@humanfs/types": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", + "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", + "peer": true, "engines": { - "node": ">=18" + "node": ">=18.18.0" } }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.6.tgz", - "integrity": "sha512-aHWdQ2AAltRkLPOsKdi3xv0mZ8fUGPdlKEjIEhxCPm5yKEThcUjHpWB1idN74lfXGnZ5SULQSgtr5Qos5B0bPw==", - "cpu": [ - "ia32" - ], + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", + "peer": true, "engines": { - "node": ">=18" + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.6.tgz", - "integrity": "sha512-VgKCsHdXRSQ7E1+QXGdRPlQ/e08bN6WMQb27/TMfV+vPjjTImuT9PmLXupRlC90S1JeNNW5lzkAEO/McKeJ2yg==", - "cpu": [ - "loong64" - ], + "node_modules/@humanwhocodes/retry": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", + "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "Apache-2.0", + "peer": true, "engines": { - "node": ">=18" + "node": ">=18.18" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" } }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.6.tgz", - "integrity": "sha512-WViNlpivRKT9/py3kCmkHnn44GkGXVdXfdc4drNmRl15zVQ2+D2uFwdlGh6IuK5AAnGTo2qPB1Djppj+t78rzw==", - "cpu": [ - "mips64el" - ], + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, "engines": { - "node": ">=18" + "node": ">=12" } }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.6.tgz", - "integrity": "sha512-wyYKZ9NTdmAMb5730I38lBqVu6cKl4ZfYXIs31Baf8aoOtB4xSGi3THmDYt4BTFHk7/EcVixkOV2uZfwU3Q2Jw==", - "cpu": [ - "ppc64" - ], + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node-ts": { + "version": "23.6.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node-ts/-/node-ts-23.6.4.tgz", + "integrity": "sha512-37BMJvNQZ+vTgd1xG2TGBkJ6ENeT4eO4Wh2CHrnn0IwH7ybLFCzh4Uc//kc7UIvqiRac4uGdIc1meKOjMSlKzw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node26": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/@tsconfig/node26/-/node26-26.0.0.tgz", + "integrity": "sha512-AlW882moMu/JzvTVjdGqJEsrqD5nSWHiFD7Aeuw6Rb58S4Aig+09mDUFFlXJx/y6/y77NwGYLlqhWxvolcC0sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ajv": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/ajv/-/ajv-0.0.5.tgz", + "integrity": "sha512-0UD98SZLwPk6cTMZoLs8W4XSAWgqT9nyoZiBw+uXEPf1u5h+Dn2ztMG4Is9pDA+9D7GKbCTfIkQK/hNgoWVQcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/esrecurse": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", + "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } + "peer": true }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.6.tgz", - "integrity": "sha512-KZh7bAGGcrinEj4qzilJ4hqTY3Dg2U82c8bv+e1xqNqZCrCyc+TL9AUEn5WGKDzm3CfC5RODE/qc96OcbIe33w==", - "cpu": [ - "riscv64" - ], + "node_modules/@types/estree": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", + "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } + "peer": true }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.6.tgz", - "integrity": "sha512-9N1LsTwAuE9oj6lHMyyAM+ucxGiVnEqUdp4v7IaMmrwb06ZTEVCIs3oPPplVsnjPfyjmxwHxHMF8b6vzUVAUGw==", - "cpu": [ - "s390x" - ], + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.20", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", + "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.0.tgz", + "integrity": "sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" + "dependencies": { + "undici-types": "~8.3.0" } }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.6.tgz", - "integrity": "sha512-A6bJB41b4lKFWRKNrWoP2LHsjVzNiaurf7wyj/XtFNTsnPuxwEBWHLty+ZE0dWBKuSK1fvKgrKaNjBS7qbFKig==", - "cpu": [ - "x64" - ], + "node_modules/@typescript-eslint/project-service": { + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.62.1.tgz", + "integrity": "sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "dependencies": { + "@typescript-eslint/tsconfig-utils": "^8.62.1", + "@typescript-eslint/types": "^8.62.1", + "debug": "^4.4.3" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.6.tgz", - "integrity": "sha512-IjA+DcwoVpjEvyxZddDqBY+uJ2Snc6duLpjmkXm/v4xuS3H+3FkLZlDm9ZsAbF9rsfP3zeA0/ArNDORZgrxR/Q==", - "cpu": [ - "arm64" - ], + "node_modules/@typescript-eslint/scope-manager": { + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.62.1.tgz", + "integrity": "sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], + "dependencies": { + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.6.tgz", - "integrity": "sha512-dUXuZr5WenIDlMHdMkvDc1FAu4xdWixTCRgP7RQLBOkkGgwuuzaGSYcOpW4jFxzpzL1ejb8yF620UxAqnBrR9g==", - "cpu": [ - "x64" - ], + "node_modules/@typescript-eslint/tsconfig-utils": { + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.62.1.tgz", + "integrity": "sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.6.tgz", - "integrity": "sha512-l8ZCvXP0tbTJ3iaqdNf3pjaOSd5ex/e6/omLIQCVBLmHTlfXW3zAxQ4fnDmPLOB1x9xrcSi/xtCWFwCZRIaEwg==", - "cpu": [ - "arm64" - ], + "node_modules/@typescript-eslint/types": { + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.62.1.tgz", + "integrity": "sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.6.tgz", - "integrity": "sha512-hKrmDa0aOFOr71KQ/19JC7az1P0GWtCN1t2ahYAf4O007DHZt/dW8ym5+CUdJhQ/qkZmI1HAF8KkJbEFtCL7gw==", - "cpu": [ - "x64" - ], + "node_modules/@typescript-eslint/typescript-estree": { + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.62.1.tgz", + "integrity": "sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], + "dependencies": { + "@typescript-eslint/project-service": "8.62.1", + "@typescript-eslint/tsconfig-utils": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/visitor-keys": "8.62.1", + "debug": "^4.4.3", + "minimatch": "^10.2.2", + "semver": "^7.7.3", + "tinyglobby": "^0.2.15", + "ts-api-utils": "^2.5.0" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.6.tgz", - "integrity": "sha512-+SqBcAWoB1fYKmpWoQP4pGtx+pUUC//RNYhFdbcSA16617cchuryuhOCRpPsjCblKukAckWsV+aQ3UKT/RMPcA==", - "cpu": [ - "arm64" - ], + "node_modules/@typescript-eslint/utils": { + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.62.1.tgz", + "integrity": "sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], + "dependencies": { + "@eslint-community/eslint-utils": "^4.9.1", + "@typescript-eslint/scope-manager": "8.62.1", + "@typescript-eslint/types": "8.62.1", + "@typescript-eslint/typescript-estree": "8.62.1" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", + "typescript": ">=4.8.4 <6.1.0" } }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.6.tgz", - "integrity": "sha512-dyCGxv1/Br7MiSC42qinGL8KkG4kX0pEsdb0+TKhmJZgCUDBGmyo1/ArCjNGiOLiIAgdbWgmWgib4HoCi5t7kA==", - "cpu": [ - "x64" - ], + "node_modules/@typescript-eslint/visitor-keys": { + "version": "8.62.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.62.1.tgz", + "integrity": "sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], + "dependencies": { + "@typescript-eslint/types": "8.62.1", + "eslint-visitor-keys": "^5.0.0" + }, "engines": { - "node": ">=18" + "node": "^18.18.0 || ^20.9.0 || >=21.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.6.tgz", - "integrity": "sha512-42QOgcZeZOvXfsCBJF5Afw73t4veOId//XD3i+/9gSkhSV6Gk3VPlWncctI+JcOyERv85FUo7RxuxGy+z8A43Q==", - "cpu": [ - "arm64" - ], + "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "license": "Apache-2.0", "engines": { - "node": ">=18" + "node": "^20.19.0 || ^22.13.0 || >=24" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.6.tgz", - "integrity": "sha512-4AWhgXmDuYN7rJI6ORB+uU9DHLq/erBbuMoAuB4VWJTu5KtCgcKYPynF0YI1VkBNuEfjNlLrFr9KZPJzrtLkrQ==", - "cpu": [ - "ia32" - ], + "node_modules/acorn": { + "version": "8.17.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", + "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "peer": true, + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": ">=18" + "node": ">=0.4.0" } }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.6.tgz", - "integrity": "sha512-NgJPHHbEpLQgDH2MjQu90pzW/5vvXIZ7KOnPyNBm92A6WgZ/7b6fJyUBjoumLqeOQQGqY2QjQxRo97ah4Sj0cA==", - "cpu": [ - "x64" - ], + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" + "peer": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@isaacs/balanced-match": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", - "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "node_modules/ajv": { + "version": "8.20.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", + "integrity": "sha512-Thbli+OlOj+iMPYFBVBfJ3OmCAnaSyNn4M1vz9T6Gka5Jt9ba/HIR56joy65tY6kx/FCF5VXNB819Y7/GUrBGA==", "dev": true, "license": "MIT", - "engines": { - "node": "20 || >=22" + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@isaacs/brace-expansion": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", - "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "dev": true, "license": "MIT", "dependencies": { - "@isaacs/balanced-match": "^4.0.1" + "ajv": "^8.0.0" }, - "engines": { - "node": "20 || >=22" + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, + "license": "MIT", "engines": { "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.4.tgz", - "integrity": "sha512-VT2+G1VQs/9oz078bLrYbecdZKs912zQlkelYpuf+SXF+QvZDYJlbx/LSx+meSAwdDFnF8FVXW92AVjjkVmgFw==", + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "license": "MIT" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } }, - "node_modules/@jsdevtools/ono": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", - "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, - "license": "MIT" + "license": "Python-2.0" }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.44.2.tgz", - "integrity": "sha512-g0dF8P1e2QYPOj1gu7s/3LVP6kze9A7m6x0BZ9iTdXK8N5c2V7cpBKHV3/9A4Zd8xxavdhK0t4PnqjkqVmUc9Q==", - "cpu": [ - "arm" - ], + "node_modules/balanced-match": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-4.0.4.tgz", + "integrity": "sha512-BLrgEcRTwX2o6gGxGOCNyMvGSp35YofuYzw9h1IMTRmKqttAZZVU67bdb9Pr2vUHA8+j3i2tJfjO6C6+4myGTA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "engines": { + "node": "18 || 20 || >=22" + } }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.44.2.tgz", - "integrity": "sha512-Yt5MKrOosSbSaAK5Y4J+vSiID57sOvpBNBR6K7xAaQvk3MkcNVV0f9fE20T+41WYN8hDn6SGFlFrKudtx4EoxA==", - "cpu": [ - "arm64" - ], + "node_modules/brace-expansion": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.7.tgz", + "integrity": "sha512-7oFy703dxfY3/NLxC1fh2SUCQ0H9rmAY+5EpDVfXjUTTs+HEwR2nYaqLv+GWcTsumwxPfiz6CzCNkwXwBUwqCA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "android" - ] + "dependencies": { + "balanced-match": "^4.0.2" + }, + "engines": { + "node": "18 || 20 || >=22" + } }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.44.2.tgz", - "integrity": "sha512-EsnFot9ZieM35YNA26nhbLTJBHD0jTwWpPwmRVDzjylQT6gkar+zenfb8mHxWpRrbn+WytRRjE0WKsfaxBkVUA==", - "cpu": [ - "arm64" - ], + "node_modules/citty": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/citty/-/citty-0.2.2.tgz", + "integrity": "sha512-+6vJA3L98yv+IdfKGZHBNiGW5KHn22e/JwID0Strsz8h4S/csAu/OuICwxrg44k5MRiZHWIo8XXuJgQTriRP4w==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "license": "MIT" }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.44.2.tgz", - "integrity": "sha512-dv/t1t1RkCvJdWWxQ2lWOO+b7cMsVw5YFaS04oHpZRWehI1h0fV1gF4wgGCTyQHHjJDfbNpwOi6PXEafRBBezw==", - "cpu": [ - "x64" - ], + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.44.2.tgz", - "integrity": "sha512-W4tt4BLorKND4qeHElxDoim0+BsprFTwb+vriVQnFFtT/P6v/xO5I99xvYnVzKWrK6j7Hb0yp3x7V5LUbaeOMg==", - "cpu": [ - "arm64" - ], + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "license": "MIT" }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.44.2.tgz", - "integrity": "sha512-tdT1PHopokkuBVyHjvYehnIe20fxibxFCEhQP/96MDSOcyjM/shlTkZZLOufV3qO6/FQOSiJTBebhVc12JyPTA==", - "cpu": [ - "x64" - ], + "node_modules/commander": { + "version": "15.0.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-15.0.0.tgz", + "integrity": "sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] + "engines": { + "node": ">=22.12.0" + } }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.44.2.tgz", - "integrity": "sha512-+xmiDGGaSfIIOXMzkhJ++Oa0Gwvl9oXUeIiwarsdRXSe27HUIvjbSIpPxvnNsRebsNdUo7uAiQVgBD1hVriwSQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.44.2.tgz", - "integrity": "sha512-bDHvhzOfORk3wt8yxIra8N4k/N0MnKInCW5OGZaeDYa/hMrdPaJzo7CSkjKZqX4JFUWjUGm88lI6QJLCM7lDrA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.44.2.tgz", - "integrity": "sha512-NMsDEsDiYghTbeZWEGnNi4F0hSbGnsuOG+VnNvxkKg0IGDvFh7UVpM/14mnMwxRxUf9AdAVJgHPvKXf6FpMB7A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.44.2.tgz", - "integrity": "sha512-lb5bxXnxXglVq+7imxykIp5xMq+idehfl+wOgiiix0191av84OqbjUED+PRC5OA8eFJYj5xAGcpAZ0pF2MnW+A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.44.2.tgz", - "integrity": "sha512-Yl5Rdpf9pIc4GW1PmkUGHdMtbx0fBLE1//SxDmuf3X0dUC57+zMepow2LK0V21661cjXdTn8hO2tXDdAWAqE5g==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.44.2.tgz", - "integrity": "sha512-03vUDH+w55s680YYryyr78jsO1RWU9ocRMaeV2vMniJJW/6HhoTBwyyiiTPVHNWLnhsnwcQ0oH3S9JSBEKuyqw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.44.2.tgz", - "integrity": "sha512-iYtAqBg5eEMG4dEfVlkqo05xMOk6y/JXIToRca2bAWuqjrJYJlx/I7+Z+4hSrsWU8GdJDFPL4ktV3dy4yBSrzg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.44.2.tgz", - "integrity": "sha512-e6vEbgaaqz2yEHqtkPXa28fFuBGmUJ0N2dOJK8YUfijejInt9gfCSA7YDdJ4nYlv67JfP3+PSWFX4IVw/xRIPg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.44.2.tgz", - "integrity": "sha512-evFOtkmVdY3udE+0QKrV5wBx7bKI0iHz5yEVx5WqDJkxp9YQefy4Mpx3RajIVcM6o7jxTvVd/qpC1IXUhGc1Mw==", - "cpu": [ - "s390x" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.44.2.tgz", - "integrity": "sha512-/bXb0bEsWMyEkIsUL2Yt5nFB5naLAwyOWMEviQfQY1x3l5WsLKgvZf66TM7UTfED6erckUVUJQ/jJ1FSpm3pRQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.44.2.tgz", - "integrity": "sha512-3D3OB1vSSBXmkGEZR27uiMRNiwN08/RVAcBKwhUYPaiZ8bcvdeEwWPvbnXvvXHY+A/7xluzcN+kaiOFNiOZwWg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.44.2.tgz", - "integrity": "sha512-VfU0fsMK+rwdK8mwODqYeM2hDrF2WiHaSmCBrS7gColkQft95/8tphyzv2EupVxn3iE0FI78wzffoULH1G+dkw==", - "cpu": [ - "arm64" - ], + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.44.2.tgz", - "integrity": "sha512-+qMUrkbUurpE6DVRjiJCNGZBGo9xM4Y0FXU5cjgudWqIBWbcLkjE3XprJUsOFgC6xjBClwVa9k6O3A7K3vxb5Q==", - "cpu": [ - "ia32" - ], + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.44.2.tgz", - "integrity": "sha512-3+QZROYfJ25PDcxFF66UEk8jGWigHJeecZILvkPkyQN7oc5BvFo4YEXFkOs154j3FTMp9mn9Ky8RCOwastduEA==", - "cpu": [ - "x64" - ], + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true, "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@tsconfig/node-ts": { - "version": "23.6.1", - "resolved": "https://registry.npmjs.org/@tsconfig/node-ts/-/node-ts-23.6.1.tgz", - "integrity": "sha512-1E5cUp+S65pLKKI9VrGMQPWDHxOEq3dAGM2onG3fLeSRwWbylYFwhIjnzJikjSN7w2nCgwxmv8ifvUKDFkK38Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node22": { - "version": "22.0.2", - "resolved": "https://registry.npmjs.org/@tsconfig/node22/-/node22-22.0.2.tgz", - "integrity": "sha512-Kmwj4u8sDRDrMYRoN9FDEcXD8UpBSaPQQ24Gz+Gamqfm7xxn+GBR7ge/Z7pK8OXNGyUzbSwJj+TH6B+DS/epyA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/ajv": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@types/ajv/-/ajv-0.0.5.tgz", - "integrity": "sha512-0UD98SZLwPk6cTMZoLs8W4XSAWgqT9nyoZiBw+uXEPf1u5h+Dn2ztMG4Is9pDA+9D7GKbCTfIkQK/hNgoWVQcQ==", - "dev": true, - "license": "MIT" + "peer": true }, - "node_modules/@types/chai": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/@types/chai/-/chai-5.2.2.tgz", - "integrity": "sha512-8kB30R7Hwqf40JPiKhVzodJs2Qc1ZJ5zuT3uzw5Hq/dhNCl3G3l83jfpdI1e20BP348+fV7VIL/+FxaXkqBmWg==", + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, "license": "MIT", - "dependencies": { - "@types/deep-eql": "*" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/@types/deep-eql": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/@types/deep-eql/-/deep-eql-4.0.2.tgz", - "integrity": "sha512-c9h9dVVMigMPc4bwTvC5dxqtqJZwQPePsWjPlpSOnojbor6pGqdk541lfA7AqFQr5pB1BRdq0juY9db81BwyFw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", "dev": true, "license": "MIT" }, - "node_modules/@types/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==", + "node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, "license": "MIT" }, - "node_modules/@types/node": { - "version": "24.0.13", - "resolved": "https://registry.npmjs.org/@types/node/-/node-24.0.13.tgz", - "integrity": "sha512-Qm9OYVOFHFYg3wJoTSrz80hoec5Lia/dPp84do3X7dZvLikQvM1YpmvTBEdIr/e+U8HTkFjLHLnl78K/qjf+jQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "undici-types": "~7.8.0" - } - }, - "node_modules/@vitest/expect": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/expect/-/expect-3.2.4.tgz", - "integrity": "sha512-Io0yyORnB6sikFlt8QW5K7slY4OjqNX9jmJQ02QDda8lyM6B5oNgVWoSoKPac8/kgnCUzuHQKrSLtu/uOqqrig==", + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "license": "MIT", - "dependencies": { - "@types/chai": "^5.2.2", - "@vitest/spy": "3.2.4", - "@vitest/utils": "3.2.4", - "chai": "^5.2.0", - "tinyrainbow": "^2.0.0" + "peer": true, + "engines": { + "node": ">=10" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@vitest/mocker": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/mocker/-/mocker-3.2.4.tgz", - "integrity": "sha512-46ryTE9RZO/rfDd7pEqFl7etuyzekzEhUbTW3BvmeO/BcCMEgq59BKhek3dXDWgAj4oMK6OZi+vRr1wPW6qjEQ==", + "node_modules/eslint": { + "version": "10.6.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.6.0.tgz", + "integrity": "sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==", "dev": true, "license": "MIT", + "peer": true, + "workspaces": [ + "packages/*" + ], "dependencies": { - "@vitest/spy": "3.2.4", - "estree-walker": "^3.0.3", - "magic-string": "^0.30.17" + "@eslint-community/eslint-utils": "^4.8.0", + "@eslint-community/regexpp": "^4.12.2", + "@eslint/config-array": "^0.23.5", + "@eslint/config-helpers": "^0.6.0", + "@eslint/core": "^1.2.1", + "@eslint/plugin-kit": "^0.7.2", + "@humanfs/node": "^0.16.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.4", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3" + }, + "bin": { + "eslint": "bin/eslint.js" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://eslint.org/donate" }, "peerDependencies": { - "msw": "^2.4.9", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" + "jiti": "*" }, "peerDependenciesMeta": { - "msw": { - "optional": true - }, - "vite": { + "jiti": { "optional": true } } }, - "node_modules/@vitest/pretty-format": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-3.2.4.tgz", - "integrity": "sha512-IVNZik8IVRJRTr9fxlitMKeJeXFFFN0JaB9PHPGQ8NKQbGpfjlTx9zO4RefN8gp7eqjNy8nyK3NZmBzOPeIxtA==", + "node_modules/eslint-scope": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", + "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "tinyrainbow": "^2.0.0" + "@types/esrecurse": "^4.3.1", + "@types/estree": "^1.0.8", + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://opencollective.com/eslint" } }, - "node_modules/@vitest/runner": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/runner/-/runner-3.2.4.tgz", - "integrity": "sha512-oukfKT9Mk41LreEW09vt45f8wx7DordoWUZMYdY/cyAk7w5TWkTRCNZYF7sX7n2wB7jyGAl74OxgwhPgKaqDMQ==", + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", "dev": true, - "license": "MIT", - "dependencies": { - "@vitest/utils": "3.2.4", - "pathe": "^2.0.3", - "strip-literal": "^3.0.0" + "license": "Apache-2.0", + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://opencollective.com/eslint" } }, - "node_modules/@vitest/snapshot": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/snapshot/-/snapshot-3.2.4.tgz", - "integrity": "sha512-dEYtS7qQP2CjU27QBC5oUOxLE/v5eLkGqPE0ZKEIDGMs4vKWe7IjgLOeauHsR0D5YuuycGRO5oSRXnwnmA78fQ==", + "node_modules/eslint/node_modules/ajv": { + "version": "6.15.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", + "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { - "@vitest/pretty-format": "3.2.4", - "magic-string": "^0.30.17", - "pathe": "^2.0.3" + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" }, "funding": { - "url": "https://opencollective.com/vitest" + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "node_modules/@vitest/spy": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/spy/-/spy-3.2.4.tgz", - "integrity": "sha512-vAfasCOe6AIK70iP5UD11Ac4siNUNJ9i/9PZ3NKx07sG6sUxeag1LWdNrMWeKKYBLlzuK+Gn65Yd5nyL6ds+nw==", + "node_modules/eslint/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", "dev": true, - "license": "MIT", - "dependencies": { - "tinyspy": "^4.0.3" + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://opencollective.com/eslint" } }, - "node_modules/@vitest/utils": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/@vitest/utils/-/utils-3.2.4.tgz", - "integrity": "sha512-fB2V0JFrQSMsCo9HiSq3Ezpdv4iYaXRG1Sx8edX3MwxfyNn83mKiGzOcH+Fkxt4MHxr3y42fQi1oeAInqgX2QA==", + "node_modules/eslint/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, "license": "MIT", + "peer": true + }, + "node_modules/espree": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", + "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "@vitest/pretty-format": "3.2.4", - "loupe": "^3.1.4", - "tinyrainbow": "^2.0.0" + "acorn": "^8.16.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^5.0.1" + }, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://opencollective.com/eslint" } }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "node_modules/espree/node_modules/eslint-visitor-keys": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", + "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", "dev": true, - "license": "MIT", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" + "license": "Apache-2.0", + "peer": true, + "engines": { + "node": "^20.19.0 || ^22.13.0 || >=24" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" + "url": "https://opencollective.com/eslint" } }, - "node_modules/ajv-formats": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", - "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "node_modules/esquery": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", + "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", "dev": true, - "license": "MIT", + "license": "BSD-3-Clause", + "peer": true, "dependencies": { - "ajv": "^8.0.0" + "estraverse": "^5.1.0" }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true, - "license": "Python-2.0" - }, - "node_modules/assertion-error": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", - "integrity": "sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - } - }, - "node_modules/cac": { - "version": "6.7.14", - "resolved": "https://registry.npmjs.org/cac/-/cac-6.7.14.tgz", - "integrity": "sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==", - "dev": true, - "license": "MIT", "engines": { - "node": ">=8" + "node": ">=0.10" } }, - "node_modules/chai": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/chai/-/chai-5.2.1.tgz", - "integrity": "sha512-5nFxhUrX0PqtyogoYOA8IPswy5sZFTOsBFl/9bNsmDLgsxYTzSZQJDPppDnZPTQbzSEm0hqGjWPzRemQCYbD6A==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "assertion-error": "^2.0.1", - "check-error": "^2.1.1", - "deep-eql": "^5.0.1", - "loupe": "^3.1.0", - "pathval": "^2.0.0" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=18" + "node": ">=4.0" } }, - "node_modules/check-error": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz", - "integrity": "sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "license": "MIT", + "license": "BSD-2-Clause", + "peer": true, "engines": { - "node": ">= 16" + "node": ">=4.0" } }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, + "license": "BSD-2-Clause", + "peer": true, "engines": { - "node": ">=7.0.0" + "node": ">=0.10.0" } }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true, "license": "MIT" }, - "node_modules/commander": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.0.tgz", - "integrity": "sha512-2uM9rYjPvyq39NwLRqaiLtWHyDC1FvryJDa2ATTVims5YAS4PupsEQsDvP14FqhFr0P49CYDugi59xaxJlTXRA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=20" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "license": "MIT", - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/debug": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", - "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-eql": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/deep-eql/-/deep-eql-5.0.2.tgz", - "integrity": "sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==", + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", "dev": true, "license": "MIT", - "engines": { - "node": ">=6" - } + "peer": true }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", "dev": true, "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" + "peer": true }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/es-module-lexer": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", - "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "node_modules/fast-string-truncated-width": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", + "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", "dev": true, "license": "MIT" }, - "node_modules/esbuild": { - "version": "0.25.6", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.6.tgz", - "integrity": "sha512-GVuzuUwtdsghE3ocJ9Bs8PNoF13HNQ5TXbEi2AhvVb8xU1Iwt9Fos9FEamfoee+u/TOsn7GUWc04lz46n2bbTg==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.6", - "@esbuild/android-arm": "0.25.6", - "@esbuild/android-arm64": "0.25.6", - "@esbuild/android-x64": "0.25.6", - "@esbuild/darwin-arm64": "0.25.6", - "@esbuild/darwin-x64": "0.25.6", - "@esbuild/freebsd-arm64": "0.25.6", - "@esbuild/freebsd-x64": "0.25.6", - "@esbuild/linux-arm": "0.25.6", - "@esbuild/linux-arm64": "0.25.6", - "@esbuild/linux-ia32": "0.25.6", - "@esbuild/linux-loong64": "0.25.6", - "@esbuild/linux-mips64el": "0.25.6", - "@esbuild/linux-ppc64": "0.25.6", - "@esbuild/linux-riscv64": "0.25.6", - "@esbuild/linux-s390x": "0.25.6", - "@esbuild/linux-x64": "0.25.6", - "@esbuild/netbsd-arm64": "0.25.6", - "@esbuild/netbsd-x64": "0.25.6", - "@esbuild/openbsd-arm64": "0.25.6", - "@esbuild/openbsd-x64": "0.25.6", - "@esbuild/openharmony-arm64": "0.25.6", - "@esbuild/sunos-x64": "0.25.6", - "@esbuild/win32-arm64": "0.25.6", - "@esbuild/win32-ia32": "0.25.6", - "@esbuild/win32-x64": "0.25.6" - } - }, - "node_modules/estree-walker": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", - "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "node_modules/fast-string-width": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", + "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", "dev": true, "license": "MIT", "dependencies": { - "@types/estree": "^1.0.0" - } - }, - "node_modules/expect-type": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/expect-type/-/expect-type-1.2.2.tgz", - "integrity": "sha512-JhFGDVJ7tmDJItKhYgJCGLOWjuK9vPxiXoUFLwLDc99NlmklilbiQJwoctZtt13+xMw91MCk/REan6MWHqDjyA==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": ">=12.0.0" + "fast-string-truncated-width": "^3.0.2" } }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true, - "license": "MIT" - }, "node_modules/fast-uri": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", @@ -1492,12 +1149,25 @@ ], "license": "BSD-3-Clause" }, + "node_modules/fast-wrap-ansi": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", + "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-string-width": "^3.0.2" + } + }, "node_modules/fdir": { - "version": "6.4.6", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.6.tgz", - "integrity": "sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==", + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, "peerDependencies": { "picomatch": "^3 || ^4" }, @@ -1507,6 +1177,61 @@ } } }, + "node_modules/file-entry-cache": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", + "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "flat-cache": "^4.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/flat-cache": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", + "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "flatted": "^3.2.9", + "keyv": "^4.5.4" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/flatted": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", + "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", + "dev": true, + "license": "ISC", + "peer": true + }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -1525,9 +1250,9 @@ } }, "node_modules/fracturedjsonjs": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/fracturedjsonjs/-/fracturedjsonjs-4.1.0.tgz", - "integrity": "sha512-qy6LPA8OOiiyRHt5/sNKDayD7h5r3uHmHxSOLbBsgtU/hkt5vOVWOR51MdfDbeCNfj7k/dKCRbXYm8FBAJcgWQ==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/fracturedjsonjs/-/fracturedjsonjs-4.1.1.tgz", + "integrity": "sha512-zpxgrF586btwidqdDRggOviFnihJh2uqompWfV8EkSd0zPROgQKToY2QCPkG+2uzHvt1fmRkqZIWklAnsKuRsA==", "dev": true, "license": "MIT" }, @@ -1546,29 +1271,17 @@ "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/get-tsconfig": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.10.1.tgz", - "integrity": "sha512-auHyJ4AgMz7vgS8Hp3N6HXSmlMdUyhSUrfBF16w153rxtLIEOE+HGqaBppczZvnHLqQJfiHotCYpNhl0lUROFQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, "node_modules/glob": { - "version": "11.0.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-11.0.3.tgz", - "integrity": "sha512-2Nim7dha1KVkaiF4q6Dj+ngPPMdfvLJEOpZk/jKiUAkqKebpGAWQXAq9z1xu9HKu5lWfqw/FASuccEjyznjPaA==", + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-11.1.0.tgz", + "integrity": "sha512-vuNwKSaKiqm7g0THUBu2x7ckSs3XJLXE+2ssL7/MfTGPLLcrJQ/4Uq1CjPTtO5cCIiRxqvN6Twy1qOwhL0Xjcw==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { "foreground-child": "^3.3.1", "jackspeak": "^4.1.1", - "minimatch": "^10.0.3", + "minimatch": "^10.1.1", "minipass": "^7.1.2", "package-json-from-dist": "^1.0.0", "path-scurry": "^2.0.0" @@ -1583,6 +1296,42 @@ "url": "https://github.com/sponsors/isaacs" } }, + "node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "license": "ISC", + "peer": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/ignore": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", + "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=0.8.19" + } + }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -1639,13 +1388,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/js-tokens": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-9.0.1.tgz", - "integrity": "sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==", - "dev": true, - "license": "MIT" - }, "node_modules/js-yaml": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", @@ -1659,6 +1401,14 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/json-schema-to-typescript": { "version": "15.0.4", "resolved": "https://registry.npmjs.org/json-schema-to-typescript/-/json-schema-to-typescript-15.0.4.tgz", @@ -1690,6 +1440,14 @@ "dev": true, "license": "MIT" }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true, + "license": "MIT", + "peer": true + }, "node_modules/jsonc-parser": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", @@ -1697,10 +1455,21 @@ "dev": true, "license": "MIT" }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/lefthook": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.12.1.tgz", - "integrity": "sha512-r+po/Y+P3kGU1RA5grotgLi+sDpdTnV9KVDczIeqj1F8we7cD3ZHH4YKyIcrkORZpqDckipWxq4sKvITKvBzYw==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.13.6.tgz", + "integrity": "sha512-ojj4/4IJ29Xn4drd5emqVgilegAPN3Kf0FQM2p/9+lwSTpU+SZ1v4Ig++NF+9MOa99UKY8bElmVrLhnUUNFh5g==", "dev": true, "hasInstallScript": true, "license": "MIT", @@ -1708,22 +1477,22 @@ "lefthook": "bin/index.js" }, "optionalDependencies": { - "lefthook-darwin-arm64": "1.12.1", - "lefthook-darwin-x64": "1.12.1", - "lefthook-freebsd-arm64": "1.12.1", - "lefthook-freebsd-x64": "1.12.1", - "lefthook-linux-arm64": "1.12.1", - "lefthook-linux-x64": "1.12.1", - "lefthook-openbsd-arm64": "1.12.1", - "lefthook-openbsd-x64": "1.12.1", - "lefthook-windows-arm64": "1.12.1", - "lefthook-windows-x64": "1.12.1" + "lefthook-darwin-arm64": "1.13.6", + "lefthook-darwin-x64": "1.13.6", + "lefthook-freebsd-arm64": "1.13.6", + "lefthook-freebsd-x64": "1.13.6", + "lefthook-linux-arm64": "1.13.6", + "lefthook-linux-x64": "1.13.6", + "lefthook-openbsd-arm64": "1.13.6", + "lefthook-openbsd-x64": "1.13.6", + "lefthook-windows-arm64": "1.13.6", + "lefthook-windows-x64": "1.13.6" } }, "node_modules/lefthook-darwin-arm64": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.12.1.tgz", - "integrity": "sha512-BMGqDU1JtXc5S7ObHE6l9QaUZXO4GQyMcrqeqz1C+4DbmRqB/e0YP9kKiBnFZ86Rb9IQ85k2bzgV7HG5etjfUQ==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.13.6.tgz", + "integrity": "sha512-m6Lb77VGc84/Qo21Lhq576pEvcgFCnvloEiP02HbAHcIXD0RTLy9u2yAInrixqZeaz13HYtdDaI7OBYAAdVt8A==", "cpu": [ "arm64" ], @@ -1735,9 +1504,9 @@ ] }, "node_modules/lefthook-darwin-x64": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.12.1.tgz", - "integrity": "sha512-mUuLK+TumNaSWvuK0R1rUJ5QsGvSv4IZLsDNhc67EwRe31qhgfumeblfENoXdk2xSaM8pakByF73NzrMjAfQpg==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.13.6.tgz", + "integrity": "sha512-CoRpdzanu9RK3oXR1vbEJA5LN7iB+c7hP+sONeQJzoOXuq4PNKVtEaN84Gl1BrVtCNLHWFAvCQaZPPiiXSy8qg==", "cpu": [ "x64" ], @@ -1749,9 +1518,9 @@ ] }, "node_modules/lefthook-freebsd-arm64": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.12.1.tgz", - "integrity": "sha512-Gm2kTp8w6JCTXAitvf9omvVr5/6d6TKhancmIIJyTvDFXu5pA969jY5BCsrYsMcz9XQYBhIda4UBnJLMtSkKrw==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.13.6.tgz", + "integrity": "sha512-X4A7yfvAJ68CoHTqP+XvQzdKbyd935sYy0bQT6Ajz7FL1g7hFiro8dqHSdPdkwei9hs8hXeV7feyTXbYmfjKQQ==", "cpu": [ "arm64" ], @@ -1763,9 +1532,9 @@ ] }, "node_modules/lefthook-freebsd-x64": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.12.1.tgz", - "integrity": "sha512-a0t5KSFKA2gIZIKa2zBiCkoCObgKxkDXTPrEmhFSDkTgNtlF+9+BTWMXJn0Y9hx+abAZNapf917B+Fo1qrYr7A==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.13.6.tgz", + "integrity": "sha512-ai2m+Sj2kGdY46USfBrCqLKe9GYhzeq01nuyDYCrdGISePeZ6udOlD1k3lQKJGQCHb0bRz4St0r5nKDSh1x/2A==", "cpu": [ "x64" ], @@ -1777,9 +1546,9 @@ ] }, "node_modules/lefthook-linux-arm64": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.12.1.tgz", - "integrity": "sha512-uzC8BDcACzcYI9hsD2/HAdqUSbAZSdLEGuCg+l3r7BEtPXkucEPz3E+dW7MjTIM+2nbz+Oh2VASTx3jUE68/Rg==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.13.6.tgz", + "integrity": "sha512-cbo4Wtdq81GTABvikLORJsAWPKAJXE8Q5RXsICFUVznh5PHigS9dFW/4NXywo0+jfFPCT6SYds2zz4tCx6DA0Q==", "cpu": [ "arm64" ], @@ -1791,9 +1560,9 @@ ] }, "node_modules/lefthook-linux-x64": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.12.1.tgz", - "integrity": "sha512-1hJRZg5kMAtNw+6nJJoguFnXjM/SavNzaEicrbqDM2QA6dzD2DtO0zZ6GDjWpNmUqlix7VEVGDZqdKR6L3ZdRw==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.13.6.tgz", + "integrity": "sha512-uJl9vjCIIBTBvMZkemxCE+3zrZHlRO7Oc+nZJ+o9Oea3fu+W82jwX7a7clw8jqNfaeBS+8+ZEQgiMHWCloTsGw==", "cpu": [ "x64" ], @@ -1805,9 +1574,9 @@ ] }, "node_modules/lefthook-openbsd-arm64": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.12.1.tgz", - "integrity": "sha512-SWuHbIgrDimL4lUXdpXp0EfwTXnz0ESJf3w2cCJ4zhPwhIUn8jnEnYLXDaeOA21YIWK1hR3G991Ma1DQyap2gw==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.13.6.tgz", + "integrity": "sha512-7r153dxrNRQ9ytRs2PmGKKkYdvZYFPre7My7XToSTiRu5jNCq++++eAKVkoyWPduk97dGIA+YWiEr5Noe0TK2A==", "cpu": [ "arm64" ], @@ -1819,9 +1588,9 @@ ] }, "node_modules/lefthook-openbsd-x64": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.12.1.tgz", - "integrity": "sha512-DuIpSBOI/qBDqsei9vvO8O/D+sz7YJtGOapmN0FqPf5rjkyCOwTVEmyDKlpp4g2aN3qNUpct/zQJbWQGRs5tLg==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.13.6.tgz", + "integrity": "sha512-Z+UhLlcg1xrXOidK3aLLpgH7KrwNyWYE3yb7ITYnzJSEV8qXnePtVu8lvMBHs/myzemjBzeIr/U/+ipjclR06g==", "cpu": [ "x64" ], @@ -1833,9 +1602,9 @@ ] }, "node_modules/lefthook-windows-arm64": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.12.1.tgz", - "integrity": "sha512-So6jozPLISV6f4lY35aHzkEweFzGZPSD2+vuNEiGnIg+Im9HGaiwp8U/GhhMef4mU4SFCedn+6gHCpA6yd0LAQ==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.13.6.tgz", + "integrity": "sha512-Uxef6qoDxCmUNQwk8eBvddYJKSBFglfwAY9Y9+NnnmiHpWTjjYiObE9gT2mvGVpEgZRJVAatBXc+Ha5oDD/OgQ==", "cpu": [ "arm64" ], @@ -1847,9 +1616,9 @@ ] }, "node_modules/lefthook-windows-x64": { - "version": "1.12.1", - "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.12.1.tgz", - "integrity": "sha512-9bnDuzWHcK1iHsgOBO2eOjVJsVSYbNfoVgimU3w6DLoiWUR9hJu5FflJgHWveOb0Ptznzxe5TE0JPClVf3kMFQ==", + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.13.6.tgz", + "integrity": "sha512-mOZoM3FQh3o08M8PQ/b3IYuL5oo36D9ehczIw1dAgp1Ly+Tr4fJ96A+4SEJrQuYeRD4mex9bR7Ps56I73sBSZA==", "cpu": [ "x64" ], @@ -1860,17 +1629,42 @@ "win32" ] }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "license": "MIT" + "license": "MIT", + "peer": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } }, - "node_modules/loupe": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/loupe/-/loupe-3.1.4.tgz", - "integrity": "sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==", + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true, "license": "MIT" }, @@ -1884,27 +1678,17 @@ "node": "20 || >=22" } }, - "node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, "node_modules/minimatch": { - "version": "10.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", - "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/brace-expansion": "^5.0.0" + "brace-expansion": "^5.0.5" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -1921,11 +1705,11 @@ } }, "node_modules/minipass": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", - "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", "dev": true, - "license": "ISC", + "license": "BlueOak-1.0.0", "engines": { "node": ">=16 || 14 >=14.17" } @@ -1937,23 +1721,83 @@ "dev": true, "license": "MIT" }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true, + "license": "MIT", + "peer": true + }, + "node_modules/nypm": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.8.tgz", + "integrity": "sha512-Q9K4Diu6l5u6xJQogeFSs/zKtyMSgFKFtRQV+tHP4kL7KPm2grpBU0dFIwFaXwNxN0MtfKWc43VpCugAa+LPsw==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", + "dependencies": { + "citty": "^0.2.2", + "pathe": "^2.0.3", + "tinyexec": "^1.2.4" + }, "bin": { - "nanoid": "bin/nanoid.cjs" + "nypm": "dist/cli.mjs" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/optionator": { + "version": "0.9.4", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", + "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.5" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "p-limit": "^3.0.2" }, "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/package-json-from-dist": { @@ -1963,6 +1807,17 @@ "dev": true, "license": "BlueOak-1.0.0" }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=8" + } + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -1974,9 +1829,9 @@ } }, "node_modules/path-scurry": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.0.tgz", - "integrity": "sha512-ypGJsmGtdXUOeM5u93TyeIEfEhM6s+ljAhrk5vAvSx8uyY/02OvrZnA0YNGUrPXfpJMgI1ODd3nwz8Npx4O4cg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { @@ -1984,7 +1839,7 @@ "minipass": "^7.1.2" }, "engines": { - "node": "20 || >=22" + "node": "18 || 20 || >=22" }, "funding": { "url": "https://github.com/sponsors/isaacs" @@ -1997,27 +1852,10 @@ "dev": true, "license": "MIT" }, - "node_modules/pathval": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pathval/-/pathval-2.0.1.tgz", - "integrity": "sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 14.16" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true, - "license": "ISC" - }, "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", "dev": true, "license": "MIT", "engines": { @@ -2027,33 +1865,15 @@ "url": "https://github.com/sponsors/jonschlinkert" } }, - "node_modules/postcss": { - "version": "8.5.6", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", - "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], "license": "MIT", - "dependencies": { - "nanoid": "^3.3.11", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, + "peer": true, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">= 0.8.0" } }, "node_modules/prettier": { @@ -2072,6 +1892,17 @@ "url": "https://github.com/prettier/prettier?sponsor=1" } }, + "node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=6" + } + }, "node_modules/radash": { "version": "12.1.1", "resolved": "https://registry.npmjs.org/radash/-/radash-12.1.1.tgz", @@ -2092,54 +1923,17 @@ "node": ">=0.10.0" } }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", + "node_modules/semver": { + "version": "7.8.5", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", + "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/rollup": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.44.2.tgz", - "integrity": "sha512-PVoapzTwSEcelaWGth3uR66u7ZRo6qhPHc0f2uRO9fX6XDVNrIiGYS0Pj9+R8yIIYSD/mCx2b16Ws9itljKSPg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, + "license": "ISC", "bin": { - "rollup": "dist/bin/rollup" + "semver": "bin/semver.js" }, "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.44.2", - "@rollup/rollup-android-arm64": "4.44.2", - "@rollup/rollup-darwin-arm64": "4.44.2", - "@rollup/rollup-darwin-x64": "4.44.2", - "@rollup/rollup-freebsd-arm64": "4.44.2", - "@rollup/rollup-freebsd-x64": "4.44.2", - "@rollup/rollup-linux-arm-gnueabihf": "4.44.2", - "@rollup/rollup-linux-arm-musleabihf": "4.44.2", - "@rollup/rollup-linux-arm64-gnu": "4.44.2", - "@rollup/rollup-linux-arm64-musl": "4.44.2", - "@rollup/rollup-linux-loongarch64-gnu": "4.44.2", - "@rollup/rollup-linux-powerpc64le-gnu": "4.44.2", - "@rollup/rollup-linux-riscv64-gnu": "4.44.2", - "@rollup/rollup-linux-riscv64-musl": "4.44.2", - "@rollup/rollup-linux-s390x-gnu": "4.44.2", - "@rollup/rollup-linux-x64-gnu": "4.44.2", - "@rollup/rollup-linux-x64-musl": "4.44.2", - "@rollup/rollup-win32-arm64-msvc": "4.44.2", - "@rollup/rollup-win32-ia32-msvc": "4.44.2", - "@rollup/rollup-win32-x64-msvc": "4.44.2", - "fsevents": "~2.3.2" + "node": ">=10" } }, "node_modules/shebang-command": { @@ -2165,13 +1959,6 @@ "node": ">=8" } }, - "node_modules/siginfo": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/siginfo/-/siginfo-2.0.0.tgz", - "integrity": "sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==", - "dev": true, - "license": "ISC" - }, "node_modules/signal-exit": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", @@ -2192,30 +1979,6 @@ "dev": true, "license": "MIT" }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "dev": true, - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/stackback": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/stackback/-/stackback-0.0.2.tgz", - "integrity": "sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==", - "dev": true, - "license": "MIT" - }, - "node_modules/std-env": { - "version": "3.9.0", - "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.9.0.tgz", - "integrity": "sha512-UGvjygr6F6tpH7o2qyqR6QYpwraIjKSdtzyBdyytFOHmPZY917kwdwLG0RbOjWOnKmnm3PeHjaoLLMie7kPLQw==", - "dev": true, - "license": "MIT" - }, "node_modules/string-width": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", @@ -2273,151 +2036,614 @@ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/tinyexec": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/ts-api-utils": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", + "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18.12" + }, + "peerDependencies": { + "typescript": ">=4.8.4" + } + }, + "node_modules/tsx": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.0.tgz", + "integrity": "sha512-eUdUIaCr963q2h5u3+QwvYp0+eqPvn+egeqZUm0hwERCqqx1E3kK5ehbGCvqSE5MQAULr67ww0cA3jKc3YkM1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "~0.28.0" + }, + "bin": { + "tsx": "dist/cli.mjs" + }, + "engines": { + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + } + }, + "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/android-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/darwin-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-loong64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/tsx/node_modules/@esbuild/linux-s390x": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "node_modules/tsx/node_modules/@esbuild/linux-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" + "node": ">=18" } }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/tsx/node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/strip-literal": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-literal/-/strip-literal-3.0.0.tgz", - "integrity": "sha512-TcccoMhJOM3OebGhSBEmp3UZ2SfDMZUEBdRA/9ynfLi8yYajyWX3JiXArcJt4Umh4vISpspkQIY8ZZoCqjbviA==", + "node_modules/tsx/node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "js-tokens": "^9.0.1" - }, - "funding": { - "url": "https://github.com/sponsors/antfu" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" } }, - "node_modules/tinybench": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-2.9.0.tgz", - "integrity": "sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==", + "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", + "cpu": [ + "x64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/tinyexec": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-0.3.2.tgz", - "integrity": "sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==", + "node_modules/tsx/node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/tinyglobby": { - "version": "0.2.14", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", - "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "node_modules/tsx/node_modules/@esbuild/sunos-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, + "optional": true, + "os": [ + "sunos" + ], "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" + "node": ">=18" } }, - "node_modules/tinypool": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/tinypool/-/tinypool-1.1.1.tgz", - "integrity": "sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==", + "node_modules/tsx/node_modules/@esbuild/win32-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^18.0.0 || >=20.0.0" + "node": ">=18" } }, - "node_modules/tinyrainbow": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/tinyrainbow/-/tinyrainbow-2.0.0.tgz", - "integrity": "sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==", + "node_modules/tsx/node_modules/@esbuild/win32-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14.0.0" + "node": ">=18" } }, - "node_modules/tinyspy": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/tinyspy/-/tinyspy-4.0.3.tgz", - "integrity": "sha512-t2T/WLB2WRgZ9EpE4jgPJ9w+i66UZfDc8wHh0xrwiRNN+UwH98GIJkTeZqX9rg0i0ptwzqW+uYeIF0T4F8LR7A==", + "node_modules/tsx/node_modules/@esbuild/win32-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": ">=14.0.0" + "node": ">=18" } }, - "node_modules/tsx": { - "version": "4.20.3", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.20.3.tgz", - "integrity": "sha512-qjbnuR9Tr+FJOMBqJCW5ehvIo/buZq7vH7qD7JziU98h6l3qGy0a/yPFjwO+y0/T7GFpNgNAvEcPPVfyT8rrPQ==", + "node_modules/tsx/node_modules/esbuild": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", "dev": true, + "hasInstallScript": true, "license": "MIT", - "dependencies": { - "esbuild": "~0.25.0", - "get-tsconfig": "^4.7.5" - }, "bin": { - "tsx": "dist/cli.mjs" + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=18.0.0" + "node": ">=18" }, "optionalDependencies": { - "fsevents": "~2.3.3" + "@esbuild/aix-ppc64": "0.28.1", + "@esbuild/android-arm": "0.28.1", + "@esbuild/android-arm64": "0.28.1", + "@esbuild/android-x64": "0.28.1", + "@esbuild/darwin-arm64": "0.28.1", + "@esbuild/darwin-x64": "0.28.1", + "@esbuild/freebsd-arm64": "0.28.1", + "@esbuild/freebsd-x64": "0.28.1", + "@esbuild/linux-arm": "0.28.1", + "@esbuild/linux-arm64": "0.28.1", + "@esbuild/linux-ia32": "0.28.1", + "@esbuild/linux-loong64": "0.28.1", + "@esbuild/linux-mips64el": "0.28.1", + "@esbuild/linux-ppc64": "0.28.1", + "@esbuild/linux-riscv64": "0.28.1", + "@esbuild/linux-s390x": "0.28.1", + "@esbuild/linux-x64": "0.28.1", + "@esbuild/netbsd-arm64": "0.28.1", + "@esbuild/netbsd-x64": "0.28.1", + "@esbuild/openbsd-arm64": "0.28.1", + "@esbuild/openbsd-x64": "0.28.1", + "@esbuild/openharmony-arm64": "0.28.1", + "@esbuild/sunos-x64": "0.28.1", + "@esbuild/win32-arm64": "0.28.1", + "@esbuild/win32-ia32": "0.28.1", + "@esbuild/win32-x64": "0.28.1" + } + }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "license": "MIT", + "peer": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" } }, "node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, "license": "Apache-2.0", "bin": { @@ -2429,198 +2655,73 @@ } }, "node_modules/ultracite": { - "version": "5.0.32", - "resolved": "https://registry.npmjs.org/ultracite/-/ultracite-5.0.32.tgz", - "integrity": "sha512-JjVNswL1mkIaOkPVh1nuEGnbEaCa94+ftqJ9hpRX2Y+jt72pcv32JeWg3Dqhkz/e3l449f7KAzMHO4x6IbxFZQ==", + "version": "7.9.2", + "resolved": "https://registry.npmjs.org/ultracite/-/ultracite-7.9.2.tgz", + "integrity": "sha512-NIMZCputZguuj09RcfTD6S9hsYbl8NNF5jplMs7au0R2xsLEnTIkyt+evg7Bd/reBzO+zBl/GbmmykUPbPJEEw==", "dev": true, "license": "MIT", "dependencies": { - "@clack/prompts": "^0.11.0", - "commander": "^14.0.0", + "@clack/prompts": "^1.5.1", + "@typescript-eslint/utils": "^8.62.1", + "commander": "^15.0.0", + "cross-spawn": "^7.0.6", "deepmerge": "^4.3.1", + "glob": "^13.0.6", "jsonc-parser": "^3.3.1", - "vitest": "^3.2.4" + "nypm": "^0.6.6", + "yaml": "^2.9.0", + "zod": "^4.4.3" }, "bin": { "ultracite": "dist/index.js" - } - }, - "node_modules/undici-types": { - "version": "7.8.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.8.0.tgz", - "integrity": "sha512-9UJ2xGDvQ43tYyVMpuHlsgApydB8ZKfVYTsLDhXkFL/6gfkp+U8xTGdh8pMJv1SpZna0zxG1DwsKZsreLbXBxw==", - "dev": true, - "license": "MIT" - }, - "node_modules/vite": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-7.0.4.tgz", - "integrity": "sha512-SkaSguuS7nnmV7mfJ8l81JGBFV7Gvzp8IzgE8A8t23+AxuNX61Q5H1Tpz5efduSN7NHC8nQXD3sKQKZAu5mNEA==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.6", - "picomatch": "^4.0.2", - "postcss": "^8.5.6", - "rollup": "^4.40.0", - "tinyglobby": "^0.2.14" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^20.19.0 || >=22.12.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" }, "peerDependencies": { - "@types/node": "^20.19.0 || >=22.12.0", - "jiti": ">=1.21.0", - "less": "^4.0.0", - "lightningcss": "^1.21.0", - "sass": "^1.70.0", - "sass-embedded": "^1.70.0", - "stylus": ">=0.54.8", - "sugarss": "^5.0.0", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" + "oxfmt": ">=0.1.0", + "oxlint": "^1.0.0" }, "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { + "oxfmt": { "optional": true }, - "yaml": { + "oxlint": { "optional": true } } }, - "node_modules/vite-node": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vite-node/-/vite-node-3.2.4.tgz", - "integrity": "sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==", + "node_modules/ultracite/node_modules/glob": { + "version": "13.0.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", + "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", "dev": true, - "license": "MIT", + "license": "BlueOak-1.0.0", "dependencies": { - "cac": "^6.7.14", - "debug": "^4.4.1", - "es-module-lexer": "^1.7.0", - "pathe": "^2.0.3", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0" - }, - "bin": { - "vite-node": "vite-node.mjs" + "minimatch": "^10.2.2", + "minipass": "^7.1.3", + "path-scurry": "^2.0.2" }, "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + "node": "18 || 20 || >=22" }, "funding": { - "url": "https://opencollective.com/vitest" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/vitest": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/vitest/-/vitest-3.2.4.tgz", - "integrity": "sha512-LUCP5ev3GURDysTWiP47wRRUpLKMOfPh+yKTx3kVIEiu5KOMeqzpnYNsKyOoVrULivR8tLcks4+lga33Whn90A==", + "node_modules/undici-types": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz", + "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==", "dev": true, - "license": "MIT", + "license": "MIT" + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "license": "BSD-2-Clause", + "peer": true, "dependencies": { - "@types/chai": "^5.2.2", - "@vitest/expect": "3.2.4", - "@vitest/mocker": "3.2.4", - "@vitest/pretty-format": "^3.2.4", - "@vitest/runner": "3.2.4", - "@vitest/snapshot": "3.2.4", - "@vitest/spy": "3.2.4", - "@vitest/utils": "3.2.4", - "chai": "^5.2.0", - "debug": "^4.4.1", - "expect-type": "^1.2.1", - "magic-string": "^0.30.17", - "pathe": "^2.0.3", - "picomatch": "^4.0.2", - "std-env": "^3.9.0", - "tinybench": "^2.9.0", - "tinyexec": "^0.3.2", - "tinyglobby": "^0.2.14", - "tinypool": "^1.1.1", - "tinyrainbow": "^2.0.0", - "vite": "^5.0.0 || ^6.0.0 || ^7.0.0-0", - "vite-node": "3.2.4", - "why-is-node-running": "^2.3.0" - }, - "bin": { - "vitest": "vitest.mjs" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://opencollective.com/vitest" - }, - "peerDependencies": { - "@edge-runtime/vm": "*", - "@types/debug": "^4.1.12", - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "@vitest/browser": "3.2.4", - "@vitest/ui": "3.2.4", - "happy-dom": "*", - "jsdom": "*" - }, - "peerDependenciesMeta": { - "@edge-runtime/vm": { - "optional": true - }, - "@types/debug": { - "optional": true - }, - "@types/node": { - "optional": true - }, - "@vitest/browser": { - "optional": true - }, - "@vitest/ui": { - "optional": true - }, - "happy-dom": { - "optional": true - }, - "jsdom": { - "optional": true - } + "punycode": "^2.1.0" } }, "node_modules/which": { @@ -2639,21 +2740,15 @@ "node": ">= 8" } }, - "node_modules/why-is-node-running": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-2.3.0.tgz", - "integrity": "sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==", + "node_modules/word-wrap": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", + "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", "dev": true, "license": "MIT", - "dependencies": { - "siginfo": "^2.0.0", - "stackback": "0.0.2" - }, - "bin": { - "why-is-node-running": "cli.js" - }, + "peer": true, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, "node_modules/wrap-ansi": { @@ -2753,6 +2848,46 @@ "engines": { "node": ">=8" } + }, + "node_modules/yaml": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", + "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "dev": true, + "license": "ISC", + "bin": { + "yaml": "bin.mjs" + }, + "engines": { + "node": ">= 14.6" + }, + "funding": { + "url": "https://github.com/sponsors/eemeli" + } + }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "license": "MIT", + "peer": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/zod/-/zod-4.4.3.tgz", + "integrity": "sha512-ytENFjIJFl2UwYglde2jchW2Hwm4GJFLDiSXWdTrJQBIN9Fcyp7n4DhxJEiWNAJMV1/BqWfW/kkg71UDcHJyTQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } } } } diff --git a/package.json b/package.json index fbd2f4a..e67ed36 100644 --- a/package.json +++ b/package.json @@ -15,20 +15,27 @@ "all": "npm run format && npm run lint && npm run gen" }, "devDependencies": { - "@biomejs/biome": "2.0.6", - "@tsconfig/node-ts": "^23.6.1", - "@tsconfig/node22": "^22.0.2", + "@biomejs/biome": "^2.0.6", + "@tsconfig/node-ts": "^23.6.4", + "@tsconfig/node26": "^26.0.0", "@types/ajv": "^0.0.5", - "@types/node": "^24.0.13", - "ajv": "^8.17.1", + "@types/node": "^26.1.0", + "ajv": "^8.20.0", "ajv-formats": "^3.0.1", - "fracturedjsonjs": "^4.1.0", - "glob": "^11.0.3", + "fracturedjsonjs": "^4.1.1", + "glob": "^11.1.0", "json-schema-to-typescript": "^15.0.4", - "lefthook": "^1.12.1", + "lefthook": "^1.13.6", "radash": "^12.1.1", - "tsx": "^4.20.3", - "typescript": "^5.8.3", - "ultracite": "5.0.32" + "tsx": "^4.23.0", + "typescript": "^6.0.3", + "ultracite": "^7.9.2" + }, + "volta": { + "node": "26.4.0" + }, + "allowScripts": { + "esbuild": true, + "lefthook": true } } diff --git a/tsconfig.json b/tsconfig.json index 1b1acf5..29f7e95 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,11 +1,21 @@ { - "extends": ["@tsconfig/node22/tsconfig.json", "@tsconfig/node-ts/tsconfig.json"], + "extends": [ + "@tsconfig/node26/tsconfig.json", + "@tsconfig/node-ts/tsconfig.json" + ], "compilerOptions": { "strictNullChecks": true, - "lib": ["es2024", "ESNext.Array", "ESNext.Collection", "ESNext.Iterator", "DOM"], + "lib": [ + "es2024", + "ESNext.Array", + "ESNext.Collection", + "ESNext.Iterator", + "DOM" + ], "paths": { "@/*": ["./*"] }, - "resolveJsonModule": true + "resolveJsonModule": true, + "types": ["node"] } } From e51b0a08cb40bb7d6480139f097280ba91f1e723 Mon Sep 17 00:00:00 2001 From: Raphael Mobis Tacla Date: Mon, 6 Jul 2026 14:38:24 -0300 Subject: [PATCH 2/6] modify uuid script to check for empty/duplicates with optional --generate flag --- .github/workflows/lint-and-check-gen.yml | 3 ++ bin/gen-uuids.mts | 19 -------- bin/validate-uuids.mts | 59 ++++++++++++++++++++++++ package.json | 5 +- 4 files changed, 65 insertions(+), 21 deletions(-) delete mode 100644 bin/gen-uuids.mts create mode 100644 bin/validate-uuids.mts diff --git a/.github/workflows/lint-and-check-gen.yml b/.github/workflows/lint-and-check-gen.yml index b2c39c2..0dc0b1a 100644 --- a/.github/workflows/lint-and-check-gen.yml +++ b/.github/workflows/lint-and-check-gen.yml @@ -25,6 +25,9 @@ jobs: - name: Lint schema run: npm run lint:schema + - name: Lint UUIDs + run: npm run lint:uuids + lint-links: runs-on: ubuntu-latest diff --git a/bin/gen-uuids.mts b/bin/gen-uuids.mts deleted file mode 100644 index b63849e..0000000 --- a/bin/gen-uuids.mts +++ /dev/null @@ -1,19 +0,0 @@ -import { randomUUID } from 'node:crypto'; -import { readFile, writeFile } from 'node:fs/promises'; -import { Glob } from 'glob'; -import type { TaskTier } from '@/types.js'; -import fmt from '@/util/formatter.mjs'; - -const tierWalker = new Glob('./tiers/*.json', {}); -for await (const tierFile of tierWalker) { - const tierData: TaskTier = JSON.parse((await readFile(tierFile)).toString()); - for (const task of tierData.tasks) { - if (task.id === '' || task.id == null) { - task.id = randomUUID(); - console.log(`Generated UUID ${task.id} for task ${task.name}`); - } - } - - // biome-ignore lint/style/noNonNullAssertion: trust me bro - await writeFile(tierFile, fmt.Serialize(tierData)!); -} diff --git a/bin/validate-uuids.mts b/bin/validate-uuids.mts new file mode 100644 index 0000000..6eee26b --- /dev/null +++ b/bin/validate-uuids.mts @@ -0,0 +1,59 @@ +import { randomUUID } from 'node:crypto'; +import { readFile, writeFile } from 'node:fs/promises'; +import { exit } from 'node:process'; +import { Glob } from 'glob'; +import type { Task, TaskTier } from '@/types.js'; +import fmt from '@/util/formatter.mjs'; + +const flags = process.argv.slice(2); +const shouldGenerate = flags.includes('--generate'); + +const uuidMap = new Map(); + +const tierWalker = new Glob('./tiers/*.json', {}); +for await (const tierFile of tierWalker) { + const tierData: TaskTier = JSON.parse((await readFile(tierFile)).toString()); + for (const task of tierData.tasks) { + if (shouldGenerate && (task.id === '' || task.id == null)) { + task.id = randomUUID(); + console.log(`Generated UUID ${task.id} for task ${task.name}`); + } + + const uuidTasks = uuidMap.getOrInsert(task.id ?? '', []); + uuidTasks.push([tierFile, task]); + } + + if (shouldGenerate) { + // biome-ignore lint/style/noNonNullAssertion: trust me bro + await writeFile(tierFile, fmt.Serialize(tierData)!); + } +} + +let hasErrors = false; + +const emptyIdTasks = uuidMap.get('') ?? []; +if (emptyIdTasks.length > 0) { + hasErrors = true; + + console.error('Tasks without an ID found:'); + for (const [file, task] of emptyIdTasks) { + console.error(`- ${file}: ${task.name}`); + } + console.error(); +} + +uuidMap.delete(''); +for (const [uuid, tasks] of uuidMap.entries()) { + if (tasks.length <= 1) { + continue; + } + + console.error(`Duplicate tasks with ID ${uuid}:`); + for (const [file, task] of tasks) { + console.error(`- ${file}: ${task.name}`); + } +} + +if (hasErrors) { + exit(1); +} diff --git a/package.json b/package.json index e67ed36..81b87f7 100644 --- a/package.json +++ b/package.json @@ -6,10 +6,11 @@ "lint:ultracite": "ultracite lint", "lint:tasks": "tsx bin/frac.mts --lint tiers/*.json", "lint:schema": "tsx bin/validate-schema.mts", + "lint:uuids": "tsx bin/validate-uuids.mts", "lint:links": "tsx bin/validate-links.mts", - "lint": "npm run lint:ultracite && npm run lint:tasks && npm run lint:schema && npm run lint:links", + "lint": "npm run lint:ultracite && npm run lint:tasks && npm run lint:schema && npm run lint:uuids && npm run lint:links", "gen:types": "tsx bin/gen-types.mts", - "gen:uuids": "npx tsx bin/gen-uuids.mts", + "gen:uuids": "tsx bin/validate-uuids.mts --generate", "gen:list:official": "tsx bin/gen-list.mts official easy,medium,hard,elite,master", "gen:list:tedious": "tsx bin/gen-list.mts tedious easy,medium,hard,elite,master-tedious", "all": "npm run format && npm run lint && npm run gen" From 6d3d368414a51f5b85031718eb374c56d82625f9 Mon Sep 17 00:00:00 2001 From: Raphael Mobis Tacla Date: Mon, 6 Jul 2026 14:38:49 -0300 Subject: [PATCH 3/6] remove tedious master tier/list commands --- .github/workflows/push-task-list-changes.yml | 4 +- package.json | 1 - tiers/master-tedious.json | 2498 ------------------ 3 files changed, 2 insertions(+), 2501 deletions(-) delete mode 100644 tiers/master-tedious.json diff --git a/.github/workflows/push-task-list-changes.yml b/.github/workflows/push-task-list-changes.yml index 8419194..4bca8d7 100644 --- a/.github/workflows/push-task-list-changes.yml +++ b/.github/workflows/push-task-list-changes.yml @@ -17,7 +17,7 @@ jobs: - uses: ./.github/actions/setup - name: Generate list - run: npm run gen:list:tedious + run: npm run gen:list:official - name: Checkout plugin repository uses: actions/checkout@v6 @@ -28,7 +28,7 @@ jobs: - name: Copy task tiers to plugin repository run: | - cp lists/tedious.json collection-log-master/src/main/resources/com/collectionlogmaster/task-list.json + cp lists/official.json collection-log-master/src/main/resources/com/collectionlogmaster/task-list.json - name: Create PR uses: ./.github/actions/create-pr diff --git a/package.json b/package.json index 81b87f7..c81aee7 100644 --- a/package.json +++ b/package.json @@ -12,7 +12,6 @@ "gen:types": "tsx bin/gen-types.mts", "gen:uuids": "tsx bin/validate-uuids.mts --generate", "gen:list:official": "tsx bin/gen-list.mts official easy,medium,hard,elite,master", - "gen:list:tedious": "tsx bin/gen-list.mts tedious easy,medium,hard,elite,master-tedious", "all": "npm run format && npm run lint && npm run gen" }, "devDependencies": { diff --git a/tiers/master-tedious.json b/tiers/master-tedious.json deleted file mode 100644 index 9f7077e..0000000 --- a/tiers/master-tedious.json +++ /dev/null @@ -1,2498 +0,0 @@ -{ - "name": "master", - "tasks": [ - { - "id": "ef05cf24-406c-4235-9cdc-c029bc9a8259", - "name": "Infernal cape", - "tip": "Infernal cape", - "wikiLink": "https://oldschool.runescape.wiki/w/Infernal_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Infernal_cape_detail_animated.gif/320px-Infernal_cape_detail_animated.gif", - "displayItemId": 21295, - "verification": { - "method": "collection-log", - "itemIds": [ 21295 ], - "count": 1 - } - }, - { - "id": "173c4945-a37a-48a5-a86a-0cf02c898d71", - "name": "Get 3 new uniques from easy clues", - "tip": "Get 3 new uniques from easy clues", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(easy)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(easy)_detail.png/320px-Reward_casket_(easy)_detail.png", - "displayItemId": 20546, - "verification": { - "method": "collection-log", - "itemIds": [ - 20166, 10366, 10280, 12297, 2587, 2583, 2585, 3472, 2589, 2595, 2591, - 2593, 3473, 2597, 7332, 7338, 7344, 7350, 7356, 10306, 10308, 10310, - 10312, 10314, 23366, 23369, 23372, 23375, 23378, 20193, 20184, 20187, 20190, - 20196, 20178, 20169, 20172, 20175, 20181, 12231, 12225, 12227, 12229, 12233, - 12241, 12235, 12237, 12239, 12243, 12221, 12215, 12217, 12219, 12223, 12211, - 12205, 12207, 12209, 12213, 7362, 7366, 7364, 7368, 23381, 23384, 7394, - 7390, 7386, 7396, 7392, 7388, 12453, 12449, 12445, 12455, 12451, 12447, - 10458, 10464, 10462, 10466, 10460, 10468, 12193, 12195, 12253, 12255, 12265, - 12267, 10316, 10320, 10318, 10322, 10324, 2631, 2633, 2635, 12247, 2637, - 10392, 12245, 12249, 12251, 10398, 10394, 10396, 12375, 23363, 23354, 23360, - 23357, 20205, 20208, 10404, 10424, 10406, 10426, 10412, 10432, 10414, 10434, - 10408, 10428, 10410, 10430, 20211, 20217, 20214, 23351, 20199, 20202 - ], - "count": 113 - } - }, - { - "id": "58daee85-1d97-4752-932c-5a73595366bb", - "name": "Get 3 new uniques from easy clues", - "tip": "Get 3 new uniques from easy clues", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(easy)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(easy)_detail.png/320px-Reward_casket_(easy)_detail.png", - "displayItemId": 20546, - "verification": { - "method": "collection-log", - "itemIds": [ - 20166, 10366, 10280, 12297, 2587, 2583, 2585, 3472, 2589, 2595, 2591, - 2593, 3473, 2597, 7332, 7338, 7344, 7350, 7356, 10306, 10308, 10310, - 10312, 10314, 23366, 23369, 23372, 23375, 23378, 20193, 20184, 20187, 20190, - 20196, 20178, 20169, 20172, 20175, 20181, 12231, 12225, 12227, 12229, 12233, - 12241, 12235, 12237, 12239, 12243, 12221, 12215, 12217, 12219, 12223, 12211, - 12205, 12207, 12209, 12213, 7362, 7366, 7364, 7368, 23381, 23384, 7394, - 7390, 7386, 7396, 7392, 7388, 12453, 12449, 12445, 12455, 12451, 12447, - 10458, 10464, 10462, 10466, 10460, 10468, 12193, 12195, 12253, 12255, 12265, - 12267, 10316, 10320, 10318, 10322, 10324, 2631, 2633, 2635, 12247, 2637, - 10392, 12245, 12249, 12251, 10398, 10394, 10396, 12375, 23363, 23354, 23360, - 23357, 20205, 20208, 10404, 10424, 10406, 10426, 10412, 10432, 10414, 10434, - 10408, 10428, 10410, 10430, 20211, 20217, 20214, 23351, 20199, 20202 - ], - "count": 116 - } - }, - { - "id": "6193be06-c77d-4226-ad3d-260fbfedf91a", - "name": "Get 3 new uniques from easy clues", - "tip": "Get 3 new uniques from easy clues", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(easy)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(easy)_detail.png/320px-Reward_casket_(easy)_detail.png", - "displayItemId": 20546, - "verification": { - "method": "collection-log", - "itemIds": [ - 20166, 10366, 10280, 12297, 2587, 2583, 2585, 3472, 2589, 2595, 2591, - 2593, 3473, 2597, 7332, 7338, 7344, 7350, 7356, 10306, 10308, 10310, - 10312, 10314, 23366, 23369, 23372, 23375, 23378, 20193, 20184, 20187, 20190, - 20196, 20178, 20169, 20172, 20175, 20181, 12231, 12225, 12227, 12229, 12233, - 12241, 12235, 12237, 12239, 12243, 12221, 12215, 12217, 12219, 12223, 12211, - 12205, 12207, 12209, 12213, 7362, 7366, 7364, 7368, 23381, 23384, 7394, - 7390, 7386, 7396, 7392, 7388, 12453, 12449, 12445, 12455, 12451, 12447, - 10458, 10464, 10462, 10466, 10460, 10468, 12193, 12195, 12253, 12255, 12265, - 12267, 10316, 10320, 10318, 10322, 10324, 2631, 2633, 2635, 12247, 2637, - 10392, 12245, 12249, 12251, 10398, 10394, 10396, 12375, 23363, 23354, 23360, - 23357, 20205, 20208, 10404, 10424, 10406, 10426, 10412, 10432, 10414, 10434, - 10408, 10428, 10410, 10430, 20211, 20217, 20214, 23351, 20199, 20202 - ], - "count": 119 - } - }, - { - "id": "6df86a60-45f7-46be-aeae-73e1e3852cc1", - "name": "Get 3 new uniques from easy clues", - "tip": "Get 3 new uniques from easy clues", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(easy)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(easy)_detail.png/320px-Reward_casket_(easy)_detail.png", - "displayItemId": 20546, - "verification": { - "method": "collection-log", - "itemIds": [ - 20166, 10366, 10280, 12297, 2587, 2583, 2585, 3472, 2589, 2595, 2591, - 2593, 3473, 2597, 7332, 7338, 7344, 7350, 7356, 10306, 10308, 10310, - 10312, 10314, 23366, 23369, 23372, 23375, 23378, 20193, 20184, 20187, 20190, - 20196, 20178, 20169, 20172, 20175, 20181, 12231, 12225, 12227, 12229, 12233, - 12241, 12235, 12237, 12239, 12243, 12221, 12215, 12217, 12219, 12223, 12211, - 12205, 12207, 12209, 12213, 7362, 7366, 7364, 7368, 23381, 23384, 7394, - 7390, 7386, 7396, 7392, 7388, 12453, 12449, 12445, 12455, 12451, 12447, - 10458, 10464, 10462, 10466, 10460, 10468, 12193, 12195, 12253, 12255, 12265, - 12267, 10316, 10320, 10318, 10322, 10324, 2631, 2633, 2635, 12247, 2637, - 10392, 12245, 12249, 12251, 10398, 10394, 10396, 12375, 23363, 23354, 23360, - 23357, 20205, 20208, 10404, 10424, 10406, 10426, 10412, 10432, 10414, 10434, - 10408, 10428, 10410, 10430, 20211, 20217, 20214, 23351, 20199, 20202 - ], - "count": 122 - } - }, - { - "id": "8edb672a-0ad9-4d8c-a040-d9ff04acd6cd", - "name": "Get 3 new uniques from easy clues", - "tip": "Get 3 new uniques from easy clues", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(easy)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(easy)_detail.png/320px-Reward_casket_(easy)_detail.png", - "displayItemId": 20546, - "verification": { - "method": "collection-log", - "itemIds": [ - 20166, 10366, 10280, 12297, 2587, 2583, 2585, 3472, 2589, 2595, 2591, - 2593, 3473, 2597, 7332, 7338, 7344, 7350, 7356, 10306, 10308, 10310, - 10312, 10314, 23366, 23369, 23372, 23375, 23378, 20193, 20184, 20187, 20190, - 20196, 20178, 20169, 20172, 20175, 20181, 12231, 12225, 12227, 12229, 12233, - 12241, 12235, 12237, 12239, 12243, 12221, 12215, 12217, 12219, 12223, 12211, - 12205, 12207, 12209, 12213, 7362, 7366, 7364, 7368, 23381, 23384, 7394, - 7390, 7386, 7396, 7392, 7388, 12453, 12449, 12445, 12455, 12451, 12447, - 10458, 10464, 10462, 10466, 10460, 10468, 12193, 12195, 12253, 12255, 12265, - 12267, 10316, 10320, 10318, 10322, 10324, 2631, 2633, 2635, 12247, 2637, - 10392, 12245, 12249, 12251, 10398, 10394, 10396, 12375, 23363, 23354, 23360, - 23357, 20205, 20208, 10404, 10424, 10406, 10426, 10412, 10432, 10414, 10434, - 10408, 10428, 10410, 10430, 20211, 20217, 20214, 23351, 20199, 20202 - ], - "count": 125 - } - }, - { - "id": "9aee901d-580a-435c-ad3c-8d603be1324f", - "name": "Get 3 new uniques from medium clues", - "tip": "Killing guards is a decent way of getting the clues. Once you have 50 hunter, Eclectic implings are also a fantastic source.", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(medium)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(medium)_detail.png/320px-Reward_casket_(medium)_detail.png", - "displayItemId": 20545, - "verification": { - "method": "collection-log", - "itemIds": [ - 20275, 10282, 2577, 10364, 2579, 12598, 23389, 23413, 2605, 2599, 2601, - 3474, 2603, 2613, 2607, 2609, 3475, 2611, 7334, 7340, 7346, 7352, - 7358, 10296, 10298, 10300, 10302, 10304, 23392, 23395, 23398, 23401, 23404, - 12283, 12277, 12279, 12285, 12281, 12293, 12287, 12289, 12295, 12291, 7370, - 7372, 7378, 7380, 10452, 10446, 10454, 10448, 10456, 10450, 12203, 12197, - 12201, 12199, 12259, 12261, 12257, 12263, 12271, 12273, 12269, 12275, 7319, - 7323, 7321, 7327, 7325, 12309, 12311, 12313, 2645, 2647, 2649, 12299, - 12301, 12303, 12305, 12307, 12319, 20240, 20243, 12377, 20251, 20260, 20254, - 20263, 20257, 20272, 12361, 12428, 12359, 20246, 23407, 23410, 20266, 20269, - 10416, 10436, 10418, 10438, 10400, 10420, 10402, 10422, 12315, 12339, 12317, - 12341, 12347, 12343, 12349, 12345 - ], - "count": 93 - } - }, - { - "id": "526119e9-f647-4623-af14-cd6eabc165f7", - "name": "Get 3 new uniques from medium clues", - "tip": "Killing guards is a decent way of getting the clues. Once you have 50 hunter, Eclectic implings are also a fantastic source.", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(medium)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(medium)_detail.png/320px-Reward_casket_(medium)_detail.png", - "displayItemId": 20545, - "verification": { - "method": "collection-log", - "itemIds": [ - 20275, 10282, 2577, 10364, 2579, 12598, 23389, 23413, 2605, 2599, 2601, - 3474, 2603, 2613, 2607, 2609, 3475, 2611, 7334, 7340, 7346, 7352, - 7358, 10296, 10298, 10300, 10302, 10304, 23392, 23395, 23398, 23401, 23404, - 12283, 12277, 12279, 12285, 12281, 12293, 12287, 12289, 12295, 12291, 7370, - 7372, 7378, 7380, 10452, 10446, 10454, 10448, 10456, 10450, 12203, 12197, - 12201, 12199, 12259, 12261, 12257, 12263, 12271, 12273, 12269, 12275, 7319, - 7323, 7321, 7327, 7325, 12309, 12311, 12313, 2645, 2647, 2649, 12299, - 12301, 12303, 12305, 12307, 12319, 20240, 20243, 12377, 20251, 20260, 20254, - 20263, 20257, 20272, 12361, 12428, 12359, 20246, 23407, 23410, 20266, 20269, - 10416, 10436, 10418, 10438, 10400, 10420, 10402, 10422, 12315, 12339, 12317, - 12341, 12347, 12343, 12349, 12345 - ], - "count": 96 - } - }, - { - "id": "ee6fdd29-0c0f-45a7-bd6d-3646d58061e1", - "name": "Get 3 new uniques from medium clues", - "tip": "Killing guards is a decent way of getting the clues. Once you have 50 hunter, Eclectic implings are also a fantastic source.", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(medium)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(medium)_detail.png/320px-Reward_casket_(medium)_detail.png", - "displayItemId": 20545, - "verification": { - "method": "collection-log", - "itemIds": [ - 20275, 10282, 2577, 10364, 2579, 12598, 23389, 23413, 2605, 2599, 2601, - 3474, 2603, 2613, 2607, 2609, 3475, 2611, 7334, 7340, 7346, 7352, - 7358, 10296, 10298, 10300, 10302, 10304, 23392, 23395, 23398, 23401, 23404, - 12283, 12277, 12279, 12285, 12281, 12293, 12287, 12289, 12295, 12291, 7370, - 7372, 7378, 7380, 10452, 10446, 10454, 10448, 10456, 10450, 12203, 12197, - 12201, 12199, 12259, 12261, 12257, 12263, 12271, 12273, 12269, 12275, 7319, - 7323, 7321, 7327, 7325, 12309, 12311, 12313, 2645, 2647, 2649, 12299, - 12301, 12303, 12305, 12307, 12319, 20240, 20243, 12377, 20251, 20260, 20254, - 20263, 20257, 20272, 12361, 12428, 12359, 20246, 23407, 23410, 20266, 20269, - 10416, 10436, 10418, 10438, 10400, 10420, 10402, 10422, 12315, 12339, 12317, - 12341, 12347, 12343, 12349, 12345 - ], - "count": 99 - } - }, - { - "id": "4a95793a-08c3-40c2-836f-afa9c30ae104", - "name": "Get 3 new uniques from medium clues", - "tip": "Killing guards is a decent way of getting the clues. Once you have 50 hunter, Eclectic implings are also a fantastic source.", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(medium)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(medium)_detail.png/320px-Reward_casket_(medium)_detail.png", - "displayItemId": 20545, - "verification": { - "method": "collection-log", - "itemIds": [ - 20275, 10282, 2577, 10364, 2579, 12598, 23389, 23413, 2605, 2599, 2601, - 3474, 2603, 2613, 2607, 2609, 3475, 2611, 7334, 7340, 7346, 7352, - 7358, 10296, 10298, 10300, 10302, 10304, 23392, 23395, 23398, 23401, 23404, - 12283, 12277, 12279, 12285, 12281, 12293, 12287, 12289, 12295, 12291, 7370, - 7372, 7378, 7380, 10452, 10446, 10454, 10448, 10456, 10450, 12203, 12197, - 12201, 12199, 12259, 12261, 12257, 12263, 12271, 12273, 12269, 12275, 7319, - 7323, 7321, 7327, 7325, 12309, 12311, 12313, 2645, 2647, 2649, 12299, - 12301, 12303, 12305, 12307, 12319, 20240, 20243, 12377, 20251, 20260, 20254, - 20263, 20257, 20272, 12361, 12428, 12359, 20246, 23407, 23410, 20266, 20269, - 10416, 10436, 10418, 10438, 10400, 10420, 10402, 10422, 12315, 12339, 12317, - 12341, 12347, 12343, 12349, 12345 - ], - "count": 102 - } - }, - { - "id": "cf66008a-0b9e-4e7a-945c-875e3aa1fe82", - "name": "Get 3 new uniques from medium clues", - "tip": "Killing guards is a decent way of getting the clues. Once you have 50 hunter, Eclectic implings are also a fantastic source.", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(medium)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(medium)_detail.png/320px-Reward_casket_(medium)_detail.png", - "displayItemId": 20545, - "verification": { - "method": "collection-log", - "itemIds": [ - 20275, 10282, 2577, 10364, 2579, 12598, 23389, 23413, 2605, 2599, 2601, - 3474, 2603, 2613, 2607, 2609, 3475, 2611, 7334, 7340, 7346, 7352, - 7358, 10296, 10298, 10300, 10302, 10304, 23392, 23395, 23398, 23401, 23404, - 12283, 12277, 12279, 12285, 12281, 12293, 12287, 12289, 12295, 12291, 7370, - 7372, 7378, 7380, 10452, 10446, 10454, 10448, 10456, 10450, 12203, 12197, - 12201, 12199, 12259, 12261, 12257, 12263, 12271, 12273, 12269, 12275, 7319, - 7323, 7321, 7327, 7325, 12309, 12311, 12313, 2645, 2647, 2649, 12299, - 12301, 12303, 12305, 12307, 12319, 20240, 20243, 12377, 20251, 20260, 20254, - 20263, 20257, 20272, 12361, 12428, 12359, 20246, 23407, 23410, 20266, 20269, - 10416, 10436, 10418, 10438, 10400, 10420, 10402, 10422, 12315, 12339, 12317, - 12341, 12347, 12343, 12349, 12345 - ], - "count": 105 - } - }, - { - "id": "d4b18c65-10f8-483b-bcb4-43b96c130088", - "name": "Get 3 new uniques from medium clues", - "tip": "Killing guards is a decent way of getting the clues. Once you have 50 hunter, Eclectic implings are also a fantastic source.", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(medium)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(medium)_detail.png/320px-Reward_casket_(medium)_detail.png", - "displayItemId": 20545, - "verification": { - "method": "collection-log", - "itemIds": [ - 20275, 10282, 2577, 10364, 2579, 12598, 23389, 23413, 2605, 2599, 2601, - 3474, 2603, 2613, 2607, 2609, 3475, 2611, 7334, 7340, 7346, 7352, - 7358, 10296, 10298, 10300, 10302, 10304, 23392, 23395, 23398, 23401, 23404, - 12283, 12277, 12279, 12285, 12281, 12293, 12287, 12289, 12295, 12291, 7370, - 7372, 7378, 7380, 10452, 10446, 10454, 10448, 10456, 10450, 12203, 12197, - 12201, 12199, 12259, 12261, 12257, 12263, 12271, 12273, 12269, 12275, 7319, - 7323, 7321, 7327, 7325, 12309, 12311, 12313, 2645, 2647, 2649, 12299, - 12301, 12303, 12305, 12307, 12319, 20240, 20243, 12377, 20251, 20260, 20254, - 20263, 20257, 20272, 12361, 12428, 12359, 20246, 23407, 23410, 20266, 20269, - 10416, 10436, 10418, 10438, 10400, 10420, 10402, 10422, 12315, 12339, 12317, - 12341, 12347, 12343, 12349, 12345 - ], - "count": 108 - } - }, - { - "id": "08a85781-7b02-4aa7-aef2-5d87eda0ef04", - "name": "Get 3 new uniques from hard clues", - "tip": "Get 3 new uniques from hard clues", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(hard)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(hard)_detail.png/320px-Reward_casket_(hard)_detail.png", - "displayItemId": 20544, - "verification": { - "method": "collection-log", - "itemIds": [ - 10354, 10284, 2581, 7400, 7399, 7398, 22231, 2627, 2623, 2625, 3477, - 2629, 2619, 2615, 2617, 3476, 2621, 7336, 7342, 7348, 7354, 7360, - 10286, 10288, 10290, 10292, 10294, 2657, 2653, 2655, 3478, 2659, 2673, - 2669, 2671, 3480, 2675, 2665, 2661, 2663, 3479, 2667, 12466, 12460, - 12462, 12464, 12468, 12476, 12470, 12472, 12474, 12478, 12486, 12480, 12482, - 12484, 12488, 12327, 12331, 12329, 12333, 7374, 7376, 7382, 7384, 10390, - 10386, 10388, 10384, 19933, 10382, 10378, 10380, 10376, 19927, 10374, 10370, - 10372, 10368, 19936, 12504, 12500, 12502, 12498, 19924, 12512, 12508, 12510, - 12506, 19930, 12496, 12492, 12494, 12490, 19921, 10470, 10440, 10472, 10442, - 10474, 10444, 19912, 19915, 2651, 12323, 12321, 12325, 2639, 2641, 2643, - 12516, 12514, 12518, 12520, 12522, 12524, 19918, 12379, 23206, 23224, 23227, - 23237, 23232, 23209, 23212, 23215, 23218, 23221, 23191, 23188, 23194, 23203, - 23200, 23197 - ], - "count": 108 - } - }, - { - "id": "15d925a8-0a1a-43cc-a050-6df6294d1cab", - "name": "Get 3 new uniques from hard clues", - "tip": "Get 3 new uniques from hard clues", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(hard)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(hard)_detail.png/320px-Reward_casket_(hard)_detail.png", - "displayItemId": 20544, - "verification": { - "method": "collection-log", - "itemIds": [ - 10354, 10284, 2581, 7400, 7399, 7398, 22231, 2627, 2623, 2625, 3477, - 2629, 2619, 2615, 2617, 3476, 2621, 7336, 7342, 7348, 7354, 7360, - 10286, 10288, 10290, 10292, 10294, 2657, 2653, 2655, 3478, 2659, 2673, - 2669, 2671, 3480, 2675, 2665, 2661, 2663, 3479, 2667, 12466, 12460, - 12462, 12464, 12468, 12476, 12470, 12472, 12474, 12478, 12486, 12480, 12482, - 12484, 12488, 12327, 12331, 12329, 12333, 7374, 7376, 7382, 7384, 10390, - 10386, 10388, 10384, 19933, 10382, 10378, 10380, 10376, 19927, 10374, 10370, - 10372, 10368, 19936, 12504, 12500, 12502, 12498, 19924, 12512, 12508, 12510, - 12506, 19930, 12496, 12492, 12494, 12490, 19921, 10470, 10440, 10472, 10442, - 10474, 10444, 19912, 19915, 2651, 12323, 12321, 12325, 2639, 2641, 2643, - 12516, 12514, 12518, 12520, 12522, 12524, 19918, 12379, 23206, 23224, 23227, - 23237, 23232, 23209, 23212, 23215, 23218, 23221, 23191, 23188, 23194, 23203, - 23200, 23197 - ], - "count": 111 - } - }, - { - "id": "00f98db6-e429-4d90-a5b4-e143bdeacedd", - "name": "Get 3 new uniques from hard clues", - "tip": "Get 3 new uniques from hard clues", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(hard)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(hard)_detail.png/320px-Reward_casket_(hard)_detail.png", - "displayItemId": 20544, - "verification": { - "method": "collection-log", - "itemIds": [ - 10354, 10284, 2581, 7400, 7399, 7398, 22231, 2627, 2623, 2625, 3477, - 2629, 2619, 2615, 2617, 3476, 2621, 7336, 7342, 7348, 7354, 7360, - 10286, 10288, 10290, 10292, 10294, 2657, 2653, 2655, 3478, 2659, 2673, - 2669, 2671, 3480, 2675, 2665, 2661, 2663, 3479, 2667, 12466, 12460, - 12462, 12464, 12468, 12476, 12470, 12472, 12474, 12478, 12486, 12480, 12482, - 12484, 12488, 12327, 12331, 12329, 12333, 7374, 7376, 7382, 7384, 10390, - 10386, 10388, 10384, 19933, 10382, 10378, 10380, 10376, 19927, 10374, 10370, - 10372, 10368, 19936, 12504, 12500, 12502, 12498, 19924, 12512, 12508, 12510, - 12506, 19930, 12496, 12492, 12494, 12490, 19921, 10470, 10440, 10472, 10442, - 10474, 10444, 19912, 19915, 2651, 12323, 12321, 12325, 2639, 2641, 2643, - 12516, 12514, 12518, 12520, 12522, 12524, 19918, 12379, 23206, 23224, 23227, - 23237, 23232, 23209, 23212, 23215, 23218, 23221, 23191, 23188, 23194, 23203, - 23200, 23197 - ], - "count": 114 - } - }, - { - "id": "36fe5b13-68a8-43a8-8ac1-b34512240704", - "name": "Get 3 new uniques from hard clues", - "tip": "Get 3 new uniques from hard clues", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(hard)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(hard)_detail.png/320px-Reward_casket_(hard)_detail.png", - "displayItemId": 20544, - "verification": { - "method": "collection-log", - "itemIds": [ - 10354, 10284, 2581, 7400, 7399, 7398, 22231, 2627, 2623, 2625, 3477, - 2629, 2619, 2615, 2617, 3476, 2621, 7336, 7342, 7348, 7354, 7360, - 10286, 10288, 10290, 10292, 10294, 2657, 2653, 2655, 3478, 2659, 2673, - 2669, 2671, 3480, 2675, 2665, 2661, 2663, 3479, 2667, 12466, 12460, - 12462, 12464, 12468, 12476, 12470, 12472, 12474, 12478, 12486, 12480, 12482, - 12484, 12488, 12327, 12331, 12329, 12333, 7374, 7376, 7382, 7384, 10390, - 10386, 10388, 10384, 19933, 10382, 10378, 10380, 10376, 19927, 10374, 10370, - 10372, 10368, 19936, 12504, 12500, 12502, 12498, 19924, 12512, 12508, 12510, - 12506, 19930, 12496, 12492, 12494, 12490, 19921, 10470, 10440, 10472, 10442, - 10474, 10444, 19912, 19915, 2651, 12323, 12321, 12325, 2639, 2641, 2643, - 12516, 12514, 12518, 12520, 12522, 12524, 19918, 12379, 23206, 23224, 23227, - 23237, 23232, 23209, 23212, 23215, 23218, 23221, 23191, 23188, 23194, 23203, - 23200, 23197 - ], - "count": 117 - } - }, - { - "id": "43b7342b-c562-4def-ada0-5ebd16e5e1f9", - "name": "Get 3 new uniques from hard clues", - "tip": "Get 3 new uniques from hard clues", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(hard)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(hard)_detail.png/320px-Reward_casket_(hard)_detail.png", - "displayItemId": 20544, - "verification": { - "method": "collection-log", - "itemIds": [ - 10354, 10284, 2581, 7400, 7399, 7398, 22231, 2627, 2623, 2625, 3477, - 2629, 2619, 2615, 2617, 3476, 2621, 7336, 7342, 7348, 7354, 7360, - 10286, 10288, 10290, 10292, 10294, 2657, 2653, 2655, 3478, 2659, 2673, - 2669, 2671, 3480, 2675, 2665, 2661, 2663, 3479, 2667, 12466, 12460, - 12462, 12464, 12468, 12476, 12470, 12472, 12474, 12478, 12486, 12480, 12482, - 12484, 12488, 12327, 12331, 12329, 12333, 7374, 7376, 7382, 7384, 10390, - 10386, 10388, 10384, 19933, 10382, 10378, 10380, 10376, 19927, 10374, 10370, - 10372, 10368, 19936, 12504, 12500, 12502, 12498, 19924, 12512, 12508, 12510, - 12506, 19930, 12496, 12492, 12494, 12490, 19921, 10470, 10440, 10472, 10442, - 10474, 10444, 19912, 19915, 2651, 12323, 12321, 12325, 2639, 2641, 2643, - 12516, 12514, 12518, 12520, 12522, 12524, 19918, 12379, 23206, 23224, 23227, - 23237, 23232, 23209, 23212, 23215, 23218, 23221, 23191, 23188, 23194, 23203, - 23200, 23197 - ], - "count": 120 - } - }, - { - "id": "f521f22e-1689-4044-94ad-08e798f28be6", - "name": "Get 3 new uniques from hard clues", - "tip": "Get 3 new uniques from hard clues", - "wikiLink": "https://oldschool.runescape.wiki/w/Reward_casket_(hard)", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Reward_casket_(hard)_detail.png/320px-Reward_casket_(hard)_detail.png", - "displayItemId": 20544, - "verification": { - "method": "collection-log", - "itemIds": [ - 10354, 10284, 2581, 7400, 7399, 7398, 22231, 2627, 2623, 2625, 3477, - 2629, 2619, 2615, 2617, 3476, 2621, 7336, 7342, 7348, 7354, 7360, - 10286, 10288, 10290, 10292, 10294, 2657, 2653, 2655, 3478, 2659, 2673, - 2669, 2671, 3480, 2675, 2665, 2661, 2663, 3479, 2667, 12466, 12460, - 12462, 12464, 12468, 12476, 12470, 12472, 12474, 12478, 12486, 12480, 12482, - 12484, 12488, 12327, 12331, 12329, 12333, 7374, 7376, 7382, 7384, 10390, - 10386, 10388, 10384, 19933, 10382, 10378, 10380, 10376, 19927, 10374, 10370, - 10372, 10368, 19936, 12504, 12500, 12502, 12498, 19924, 12512, 12508, 12510, - 12506, 19930, 12496, 12492, 12494, 12490, 19921, 10470, 10440, 10472, 10442, - 10474, 10444, 19912, 19915, 2651, 12323, 12321, 12325, 2639, 2641, 2643, - 12516, 12514, 12518, 12520, 12522, 12524, 19918, 12379, 23206, 23224, 23227, - 23237, 23232, 23209, 23212, 23215, 23218, 23221, 23191, 23188, 23194, 23203, - 23200, 23197 - ], - "count": 123 - } - }, - { - "id": "668ed54d-57b5-47b4-abfb-8c17cf224e86", - "name": "1 Minigame log slot", - "tip": "1 Minigame log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Collection_log", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Collection_log_detail.png/320px-Collection_log_detail.png", - "displayItemId": 24844, - "verification": { - "method": "collection-log", - "itemIds": [ 26901, 25348, 12703, 4508, 4509, 4510, 4512, 11895, 25174 ], - "count": 1 - } - }, - { - "id": "8967c7e3-cbfb-4afc-a475-13dbd26b2e9d", - "name": "1 Minigame log slot", - "tip": "1 Minigame log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Collection_log", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Collection_log_detail.png/320px-Collection_log_detail.png", - "displayItemId": 24844, - "verification": { - "method": "collection-log", - "itemIds": [ 26901, 25348, 12703, 4508, 4509, 4510, 4512, 11895, 25174 ], - "count": 2 - } - }, - { - "id": "cdeda86b-4a5b-482a-ac5a-7b5c351a9446", - "name": "1 Minigame log slot", - "tip": "1 Minigame log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Collection_log", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Collection_log_detail.png/320px-Collection_log_detail.png", - "displayItemId": 24844, - "verification": { - "method": "collection-log", - "itemIds": [ 26901, 25348, 12703, 4508, 4509, 4510, 4512, 11895, 25174 ], - "count": 3 - } - }, - { - "id": "4c31421a-edda-4658-8800-0dddf673c292", - "name": "1 Minigame log slot", - "tip": "1 Minigame log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Collection_log", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Collection_log_detail.png/320px-Collection_log_detail.png", - "displayItemId": 24844, - "verification": { - "method": "collection-log", - "itemIds": [ 26901, 25348, 12703, 4508, 4509, 4510, 4512, 11895, 25174 ], - "count": 4 - } - }, - { - "id": "1eef324f-5560-4c3a-aa0a-71c2c432aa32", - "name": "Get 2 LMS slots", - "tip": "Can be purchased as a reward from the Last Man Standing PVP Minigame.", - "wikiLink": "https://oldschool.runescape.wiki/w/Last_Man_Standing", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Victor's_cape_(1000)_detail.png/320px-Victor's_cape_(1000)_detail.png", - "displayItemId": 24520, - "tags": [ "lms" ], - "verification": { - "method": "collection-log", - "itemIds": [ - 24219, 24201, 24192, 24195, 24204, 24198, 24189, 24190, 24191, 24217, 24207, - 24209, 24211, 24213, 24215, 24520 - ], - "count": 2 - } - }, - { - "id": "68ed059b-388d-43db-a9fa-eea35f59d5ee", - "name": "Get 2 LMS slots", - "tip": "Can be purchased as a reward from the Last Man Standing PVP Minigame.", - "wikiLink": "https://oldschool.runescape.wiki/w/Last_Man_Standing", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Victor's_cape_(1000)_detail.png/320px-Victor's_cape_(1000)_detail.png", - "displayItemId": 24520, - "tags": [ "lms" ], - "verification": { - "method": "collection-log", - "itemIds": [ - 24219, 24201, 24192, 24195, 24204, 24198, 24189, 24190, 24191, 24217, 24207, - 24209, 24211, 24213, 24215, 24520 - ], - "count": 4 - } - }, - { - "id": "4bf1f387-c5e2-425e-abcf-e7671fca5ef4", - "name": "Get 2 LMS slots", - "tip": "Can be purchased as a reward from the Last Man Standing PVP Minigame.", - "wikiLink": "https://oldschool.runescape.wiki/w/Last_Man_Standing", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Victor's_cape_(1000)_detail.png/320px-Victor's_cape_(1000)_detail.png", - "displayItemId": 24520, - "tags": [ "lms" ], - "verification": { - "method": "collection-log", - "itemIds": [ - 24219, 24201, 24192, 24195, 24204, 24198, 24189, 24190, 24191, 24217, 24207, - 24209, 24211, 24213, 24215, 24520 - ], - "count": 6 - } - }, - { - "id": "af908bd1-7f6c-4ff4-aa14-290a0538588c", - "name": "Get 2 LMS slots", - "tip": "Can be purchased as a reward from the Last Man Standing PVP Minigame.", - "wikiLink": "https://oldschool.runescape.wiki/w/Last_Man_Standing", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Victor's_cape_(1000)_detail.png/320px-Victor's_cape_(1000)_detail.png", - "displayItemId": 24520, - "tags": [ "lms" ], - "verification": { - "method": "collection-log", - "itemIds": [ - 24219, 24201, 24192, 24195, 24204, 24198, 24189, 24190, 24191, 24217, 24207, - 24209, 24211, 24213, 24215, 24520 - ], - "count": 8 - } - }, - { - "id": "4fc8f459-8f3b-4612-ada4-cd4bd140bbcc", - "name": "Get 2 LMS slots", - "tip": "Can be purchased as a reward from the Last Man Standing PVP Minigame.", - "wikiLink": "https://oldschool.runescape.wiki/w/Last_Man_Standing", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Victor's_cape_(1000)_detail.png/320px-Victor's_cape_(1000)_detail.png", - "displayItemId": 24520, - "tags": [ "lms" ], - "verification": { - "method": "collection-log", - "itemIds": [ - 24219, 24201, 24192, 24195, 24204, 24198, 24189, 24190, 24191, 24217, 24207, - 24209, 24211, 24213, 24215, 24520 - ], - "count": 10 - } - }, - { - "id": "84e4f620-d62e-46bc-8ff1-aea9b17cc216", - "name": "Get 2 LMS slots", - "tip": "Can be purchased as a reward from the Last Man Standing PVP Minigame.", - "wikiLink": "https://oldschool.runescape.wiki/w/Last_Man_Standing", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Victor's_cape_(1000)_detail.png/320px-Victor's_cape_(1000)_detail.png", - "displayItemId": 24520, - "tags": [ "lms" ], - "verification": { - "method": "collection-log", - "itemIds": [ - 24219, 24201, 24192, 24195, 24204, 24198, 24189, 24190, 24191, 24217, 24207, - 24209, 24211, 24213, 24215, 24520 - ], - "count": 12 - } - }, - { - "id": "b5e5139f-42fd-463b-ad6e-97ebdb842b13", - "name": "1 CoX log slot", - "tip": "1 CoX log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Chambers_of_Xeric", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Chambers_of_Xeric_logo.png/320px-Chambers_of_Xeric_logo.png", - "displayItemId": 22396 - }, - { - "id": "ede854a1-b9d1-4856-8d89-02182195807c", - "name": "1 CoX log slot", - "tip": "1 CoX log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Chambers_of_Xeric", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Chambers_of_Xeric_logo.png/320px-Chambers_of_Xeric_logo.png", - "displayItemId": 22396 - }, - { - "id": "6324e37d-9529-4b6b-9f5e-f83c5eee12f4", - "name": "1 CoX log slot", - "tip": "1 CoX log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Chambers_of_Xeric", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Chambers_of_Xeric_logo.png/320px-Chambers_of_Xeric_logo.png", - "displayItemId": 22396 - }, - { - "id": "87e14907-f8ac-4325-b59d-98c184b7d00e", - "name": "1 CoX log slot", - "tip": "1 CoX log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Chambers_of_Xeric", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Chambers_of_Xeric_logo.png/320px-Chambers_of_Xeric_logo.png", - "displayItemId": 22396 - }, - { - "id": "9fc1da48-ae77-4b08-9f7f-a3104a8e8efe", - "name": "1 CoX log slot", - "tip": "1 CoX log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Chambers_of_Xeric", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Chambers_of_Xeric_logo.png/320px-Chambers_of_Xeric_logo.png", - "displayItemId": 22396 - }, - { - "id": "ea086b39-dacf-4cc0-9ec1-9eaaa54df8db", - "name": "1 CoX log slot", - "tip": "1 CoX log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Chambers_of_Xeric", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Chambers_of_Xeric_logo.png/320px-Chambers_of_Xeric_logo.png", - "displayItemId": 22396 - }, - { - "id": "2856578b-5437-4c98-a90c-0a3fb3ce62d1", - "name": "1 CoX log slot", - "tip": "1 CoX log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Chambers_of_Xeric", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Chambers_of_Xeric_logo.png/320px-Chambers_of_Xeric_logo.png", - "displayItemId": 22396 - }, - { - "id": "dc70209e-5a20-47cf-8d49-0d80ae05b039", - "name": "1 CoX log slot", - "tip": "1 CoX log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Chambers_of_Xeric", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Chambers_of_Xeric_logo.png/320px-Chambers_of_Xeric_logo.png", - "displayItemId": 22396 - }, - { - "id": "95ba1e36-cdc5-4e46-b7d9-899c93c7551b", - "name": "1 ToB log slot", - "tip": "1 ToB log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Theatre_of_Blood", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Theatre_of_Blood_logo.png/320px-Theatre_of_Blood_logo.png", - "displayItemId": 22502 - }, - { - "id": "6231259c-1305-4740-912d-2b1fb22512df", - "name": "1 ToB log slot", - "tip": "1 ToB log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Theatre_of_Blood", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Theatre_of_Blood_logo.png/320px-Theatre_of_Blood_logo.png", - "displayItemId": 22502 - }, - { - "id": "6e895910-e193-4d53-9204-02c8f108acff", - "name": "1 ToB log slot", - "tip": "1 ToB log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Theatre_of_Blood", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Theatre_of_Blood_logo.png/320px-Theatre_of_Blood_logo.png", - "displayItemId": 22502 - }, - { - "id": "7ea16ed2-042f-4378-9c3e-fdc064afbf38", - "name": "1 ToB log slot", - "tip": "1 ToB log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Theatre_of_Blood", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Theatre_of_Blood_logo.png/320px-Theatre_of_Blood_logo.png", - "displayItemId": 22502 - }, - { - "id": "9e5090b5-d62b-4047-919d-6eab9f658dba", - "name": "1 ToB log slot", - "tip": "1 ToB log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Theatre_of_Blood", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Theatre_of_Blood_logo.png/320px-Theatre_of_Blood_logo.png", - "displayItemId": 22502 - }, - { - "id": "1334b859-deb5-4d3f-a35f-686ee84a9418", - "name": "1 ToB log slot", - "tip": "1 ToB log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Theatre_of_Blood", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Theatre_of_Blood_logo.png/320px-Theatre_of_Blood_logo.png", - "displayItemId": 22502 - }, - { - "id": "a8fab6b7-b7b9-4779-bbc5-ff300a8d4ac2", - "name": "1 ToB log slot", - "tip": "1 ToB log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Theatre_of_Blood", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Theatre_of_Blood_logo.png/320px-Theatre_of_Blood_logo.png", - "displayItemId": 22502 - }, - { - "id": "c88096af-566f-4070-802c-b324e8e73bed", - "name": "1 ToA log slot", - "tip": "1 ToA log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Tombs_of_Amascut", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Tombs_of_Amascut.png/320px-Tombs_of_Amascut.png", - "displayItemId": 27265 - }, - { - "id": "26e24f26-7d80-4f36-8c9d-10cc854d7a81", - "name": "1 ToA log slot", - "tip": "1 ToA log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Tombs_of_Amascut", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Tombs_of_Amascut.png/320px-Tombs_of_Amascut.png", - "displayItemId": 27265 - }, - { - "id": "5231a9b6-46e8-4548-b091-1303425160e9", - "name": "1 ToA log slot", - "tip": "1 ToA log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Tombs_of_Amascut", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Tombs_of_Amascut.png/320px-Tombs_of_Amascut.png", - "displayItemId": 27265 - }, - { - "id": "5d2c95c6-1afc-4b39-b76f-51bc7a43f864", - "name": "1 ToA log slot", - "tip": "1 ToA log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Tombs_of_Amascut", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Tombs_of_Amascut.png/320px-Tombs_of_Amascut.png", - "displayItemId": 27265 - }, - { - "id": "ee5b2a60-ebc9-4901-a09c-bd4720da4d86", - "name": "1 ToA log slot", - "tip": "1 ToA log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Tombs_of_Amascut", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Tombs_of_Amascut.png/320px-Tombs_of_Amascut.png", - "displayItemId": 27265 - }, - { - "id": "653963f2-d6d9-4a6f-aecc-b2f25fcc3325", - "name": "1 ToA log slot", - "tip": "1 ToA log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Tombs_of_Amascut", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Tombs_of_Amascut.png/320px-Tombs_of_Amascut.png", - "displayItemId": 27265 - }, - { - "id": "0ca2eaf8-b91f-4cc2-a04a-fefa9bda4082", - "name": "1 ToA log slot", - "tip": "1 ToA log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Tombs_of_Amascut", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Tombs_of_Amascut.png/320px-Tombs_of_Amascut.png", - "displayItemId": 27265 - }, - { - "id": "4be568d3-6ce9-42c7-bce8-db1e07345601", - "name": "1 ToA log slot", - "tip": "1 ToA log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Tombs_of_Amascut", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Tombs_of_Amascut.png/320px-Tombs_of_Amascut.png", - "displayItemId": 27265 - }, - { - "id": "08d567f5-9518-44ac-b157-1d043254ed2f", - "name": "1 ToA log slot", - "tip": "1 ToA log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Tombs_of_Amascut", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Tombs_of_Amascut.png/320px-Tombs_of_Amascut.png", - "displayItemId": 27265 - }, - { - "id": "80491c4e-049d-4fff-9759-56772ca267f8", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 6 - } - }, - { - "id": "372d9c03-ea8a-4087-8424-d00f6be40f8d", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 7 - } - }, - { - "id": "8a14b417-6781-4e76-be3d-2dd6aa27da9e", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 8 - } - }, - { - "id": "bdf8e113-b7ac-49b2-a4c5-be2d88bdf9f7", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 9 - } - }, - { - "id": "979d674f-91aa-439d-922e-fc63c78ca53e", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 10 - } - }, - { - "id": "33301114-0029-49de-9079-f6c3bcb8b83a", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 11 - } - }, - { - "id": "7febe2c8-84e4-4c33-92e1-07fd48bccdca", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 12 - } - }, - { - "id": "bcaeacbb-990b-4050-9b74-e194f8153a4c", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 13 - } - }, - { - "id": "7a30054c-c4e5-4302-9e1a-3a281c750d5e", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 14 - } - }, - { - "id": "692e0843-f520-488f-a421-17cada5e566f", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 15 - } - }, - { - "id": "d6d10f16-2747-4909-9577-66d6e84b1ced", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 16 - } - }, - { - "id": "5eb02e23-6f64-4a14-9a33-bb72951df118", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 17 - } - }, - { - "id": "01c8b5f1-9f43-499c-a08f-f2a29760292c", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 18 - } - }, - { - "id": "62872665-5890-49c2-af0e-4b38a8b04f95", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 19 - } - }, - { - "id": "6f8abd57-deff-4dba-8a06-80906badaffc", - "name": "1 Boss pet or jar", - "tip": "1 Boss pet or jar", - "wikiLink": "https://oldschool.runescape.wiki/w/Boss_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pet_general_graardor_detail.png/320px-Pet_general_graardor_detail.png", - "displayItemId": 13262, - "verification": { - "method": "collection-log", - "itemIds": [ - 13262, 12646, 20693, 25602, 13178, 13247, 30152, 22746, 21291, 12647, 22473, - 24491, 30154, 27590, 26348, 29836, 21748, 20851, 11995, 12643, 12644, 12645, - 12816, 12650, 12652, 12655, 12649, 12648, 12921, 12651, 12653, 13181, 28801, - 21273, 23495, 13225, 27352, 13177, 13179, 21992, 28960, 30622, 28250, 28252, - 28246, 28248, 30888, 23760, 23757, 31130, 31285, 33124, 12007, 12885, 12936, - 13245, 13277, 19701, 21745, 22106, 23064, 23525, 24495, 25521, 25524, 29786, - 32921 - ], - "count": 20 - } - }, - { - "id": "c203f664-29a9-4215-9fd0-aa71f58754d0", - "name": "1 Skilling pet", - "tip": "1 Skilling pet", - "wikiLink": "https://oldschool.runescape.wiki/w/Skilling_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Giant_squirrel_detail.png/320px-Giant_squirrel_detail.png", - "displayItemId": 20663, - "verification": { - "method": "collection-log", - "itemIds": [ 13320, 13321, 13322, 13324, 20659, 20661, 20663, 20665, 31283 ], - "count": 1 - } - }, - { - "id": "859d4d15-1d11-401a-8b78-c83908d1840b", - "name": "1 Skilling pet", - "tip": "1 Skilling pet", - "wikiLink": "https://oldschool.runescape.wiki/w/Skilling_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Giant_squirrel_detail.png/320px-Giant_squirrel_detail.png", - "displayItemId": 20663, - "verification": { - "method": "collection-log", - "itemIds": [ 13320, 13321, 13322, 13324, 20659, 20661, 20663, 20665, 31283 ], - "count": 2 - } - }, - { - "id": "00ad0e57-43ef-4e22-b796-109b3e08b7fd", - "name": "1 Skilling pet", - "tip": "1 Skilling pet", - "wikiLink": "https://oldschool.runescape.wiki/w/Skilling_pets", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Giant_squirrel_detail.png/320px-Giant_squirrel_detail.png", - "displayItemId": 20663, - "verification": { - "method": "collection-log", - "itemIds": [ 13320, 13321, 13322, 13324, 20659, 20661, 20663, 20665, 31283 ], - "count": 3 - } - }, - { - "id": "3f21cd81-d205-4b4d-8adb-c0624790e1a7", - "name": "1 Wildy unique", - "tip": "1 Wildy unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Wilderness", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pkskull_(Steam_Emoticon).png/320px-Pkskull_(Steam_Emoticon).png", - "displayItemId": 22547 - }, - { - "id": "2b89cb04-9ecc-48b7-a1ff-42b544222a63", - "name": "1 Wildy unique", - "tip": "1 Wildy unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Wilderness", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pkskull_(Steam_Emoticon).png/320px-Pkskull_(Steam_Emoticon).png", - "displayItemId": 22547 - }, - { - "id": "0ca979bb-74fe-4d09-912c-82484f2f1a7a", - "name": "1 Wildy unique", - "tip": "1 Wildy unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Wilderness", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pkskull_(Steam_Emoticon).png/320px-Pkskull_(Steam_Emoticon).png", - "displayItemId": 22547 - }, - { - "id": "314d6310-5de8-46f6-8bf3-109dbe1b835d", - "name": "1 Wildy unique", - "tip": "1 Wildy unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Wilderness", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pkskull_(Steam_Emoticon).png/320px-Pkskull_(Steam_Emoticon).png", - "displayItemId": 22547 - }, - { - "id": "a0675b50-c7db-4a86-911b-0d28840dd0d3", - "name": "1 Wildy unique", - "tip": "1 Wildy unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Wilderness", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pkskull_(Steam_Emoticon).png/320px-Pkskull_(Steam_Emoticon).png", - "displayItemId": 22547 - }, - { - "id": "76535b96-a1ce-4cef-b40b-fb5c3ceaf54e", - "name": "1 Wildy unique", - "tip": "1 Wildy unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Wilderness", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pkskull_(Steam_Emoticon).png/320px-Pkskull_(Steam_Emoticon).png", - "displayItemId": 22547 - }, - { - "id": "6ed02b78-5056-4be6-834f-4945cef6386f", - "name": "1 Wildy unique", - "tip": "1 Wildy unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Wilderness", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pkskull_(Steam_Emoticon).png/320px-Pkskull_(Steam_Emoticon).png", - "displayItemId": 22547 - }, - { - "id": "6fc4f70a-d5b7-4979-bc27-c7bff470c309", - "name": "1 Wildy unique", - "tip": "1 Wildy unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Wilderness", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pkskull_(Steam_Emoticon).png/320px-Pkskull_(Steam_Emoticon).png", - "displayItemId": 22547 - }, - { - "id": "68524c6d-dba1-4f47-a417-4cabc558088a", - "name": "1 Wildy unique", - "tip": "1 Wildy unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Wilderness", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pkskull_(Steam_Emoticon).png/320px-Pkskull_(Steam_Emoticon).png", - "displayItemId": 22547 - }, - { - "id": "208d73d5-b84d-420c-9024-f5ed6634a4e3", - "name": "1 Wildy unique", - "tip": "1 Wildy unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Wilderness", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Pkskull_(Steam_Emoticon).png/320px-Pkskull_(Steam_Emoticon).png", - "displayItemId": 22547 - }, - { - "id": "4817bd39-5f12-43fa-a99f-83cff074c4f3", - "name": "Get 1 slayer log slot", - "tip": "Good Luck on Imbued Heart!", - "wikiLink": "https://oldschool.runescape.wiki/w/Slayer", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Slayer_icon_(detail).png/320px-Slayer_icon_(detail).png", - "displayItemId": 20724, - "verification": { - "method": "collection-log", - "itemIds": [ - 20724, 21270, 23047, 23050, 23053, 23056, 23059, 22963, 11286, 21637 - ], - "count": 1 - } - }, - { - "id": "59c59736-7679-463a-baf6-c11912fcbf25", - "name": "Get 1 slayer log slot", - "tip": "Good Luck on Imbued Heart!", - "wikiLink": "https://oldschool.runescape.wiki/w/Slayer", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Slayer_icon_(detail).png/320px-Slayer_icon_(detail).png", - "displayItemId": 20724, - "verification": { - "method": "collection-log", - "itemIds": [ - 20724, 21270, 23047, 23050, 23053, 23056, 23059, 22963, 11286, 21637 - ], - "count": 2 - } - }, - { - "id": "8fb553c8-d0ef-410d-b73c-ecac4329e512", - "name": "Get 1 slayer log slot", - "tip": "Good Luck on Imbued Heart!", - "wikiLink": "https://oldschool.runescape.wiki/w/Slayer", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Slayer_icon_(detail).png/320px-Slayer_icon_(detail).png", - "displayItemId": 20724, - "verification": { - "method": "collection-log", - "itemIds": [ - 20724, 21270, 23047, 23050, 23053, 23056, 23059, 22963, 11286, 21637 - ], - "count": 3 - } - }, - { - "id": "a312f33a-f44e-45d2-ba87-67ab32400529", - "name": "Get 1 slayer log slot", - "tip": "Good Luck on Imbued Heart!", - "wikiLink": "https://oldschool.runescape.wiki/w/Slayer", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Slayer_icon_(detail).png/320px-Slayer_icon_(detail).png", - "displayItemId": 20724, - "verification": { - "method": "collection-log", - "itemIds": [ - 20724, 21270, 23047, 23050, 23053, 23056, 23059, 22963, 11286, 21637 - ], - "count": 4 - } - }, - { - "id": "42d0c365-5910-49c4-bacd-d950585d5c8a", - "name": "Get 1 slayer log slot", - "tip": "Good Luck on Imbued Heart!", - "wikiLink": "https://oldschool.runescape.wiki/w/Slayer", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Slayer_icon_(detail).png/320px-Slayer_icon_(detail).png", - "displayItemId": 20724, - "verification": { - "method": "collection-log", - "itemIds": [ - 20724, 21270, 23047, 23050, 23053, 23056, 23059, 22963, 11286, 21637 - ], - "count": 5 - } - }, - { - "id": "7066afad-e3ca-427d-b482-f2fc09576f06", - "name": "1 Miscellaneous log slot", - "tip": "1 Miscellaneous log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Collection_log", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Collection_log_detail.png/320px-Collection_log_detail.png", - "displayItemId": 11335, - "verification": { - "method": "collection-log", - "itemIds": [ - 21509, 19707, 11335, 22103, 22100, 20439, 20436, 20442, 20433, 24034, 24037, - 24040, 24043, 24046 - ], - "count": 1 - } - }, - { - "id": "7a109368-c716-4b5e-8683-888a01298b16", - "name": "1 Miscellaneous log slot", - "tip": "1 Miscellaneous log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Collection_log", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Collection_log_detail.png/320px-Collection_log_detail.png", - "displayItemId": 11335, - "verification": { - "method": "collection-log", - "itemIds": [ - 21509, 19707, 11335, 22103, 22100, 20439, 20436, 20442, 20433, 24034, 24037, - 24040, 24043, 24046 - ], - "count": 2 - } - }, - { - "id": "68d04c37-b686-429e-b72b-6efb54738b10", - "name": "1 Miscellaneous log slot", - "tip": "1 Miscellaneous log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Collection_log", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Collection_log_detail.png/320px-Collection_log_detail.png", - "displayItemId": 11335, - "verification": { - "method": "collection-log", - "itemIds": [ - 21509, 19707, 11335, 22103, 22100, 20439, 20436, 20442, 20433, 24034, 24037, - 24040, 24043, 24046 - ], - "count": 3 - } - }, - { - "id": "1ccafb95-d36e-436c-ab65-c73aad344557", - "name": "1 Miscellaneous log slot", - "tip": "1 Miscellaneous log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Collection_log", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Collection_log_detail.png/320px-Collection_log_detail.png", - "displayItemId": 11335, - "verification": { - "method": "collection-log", - "itemIds": [ - 21509, 19707, 11335, 22103, 22100, 20439, 20436, 20442, 20433, 24034, 24037, - 24040, 24043, 24046 - ], - "count": 4 - } - }, - { - "id": "52b75bae-5757-4fde-89c1-0d54fad11790", - "name": "1 Miscellaneous log slot", - "tip": "1 Miscellaneous log slot", - "wikiLink": "https://oldschool.runescape.wiki/w/Collection_log", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Collection_log_detail.png/320px-Collection_log_detail.png", - "displayItemId": 11335, - "verification": { - "method": "collection-log", - "itemIds": [ - 21509, 19707, 11335, 22103, 22100, 20439, 20436, 20442, 20433, 24034, 24037, - 24040, 24043, 24046 - ], - "count": 5 - } - }, - { - "id": "fd0e4fce-e558-426e-81f2-82895462332b", - "name": "1 Sigil from Corp", - "tip": "1 Sigil from Corp", - "wikiLink": "https://oldschool.runescape.wiki/w/Arcane_sigil", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Arcane_sigil_detail.png/320px-Arcane_sigil_detail.png", - "displayItemId": 12819, - "verification": { - "method": "collection-log", - "itemIds": [ 12827, 12823, 12819 ], - "count": 1 - } - }, - { - "id": "c59b687d-44f7-4815-8dd0-1d72ea725fa7", - "name": "1 Mutagen from Zulrah", - "tip": "1 Mutagen from Zulrah", - "wikiLink": "https://oldschool.runescape.wiki/w/Magma_mutagen", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Magma_mutagen_detail.png/320px-Magma_mutagen_detail.png", - "displayItemId": 13201, - "verification": { - "method": "collection-log", - "itemIds": [ 13200, 13201 ], - "count": 1 - } - }, - { - "id": "0484a44f-0991-43a9-bb30-808d6437f707", - "name": "1 Zalcano unique", - "tip": "1 Zalcano unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Zalcano", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Zalcano_shard_detail.png/320px-Zalcano_shard_detail.png", - "displayItemId": 23908, - "verification": { - "method": "collection-log", - "itemIds": [ 23953, 23908 ], - "count": 1 - } - }, - { - "id": "dfcb3155-0e12-444e-bab7-c8e3c5aa52cf", - "name": "1 Vorkath unique", - "tip": "A rare drop from Vorkath", - "wikiLink": "https://oldschool.runescape.wiki/w/Vorkath", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Dragonbone_necklace_detail.png/320px-Dragonbone_necklace_detail.png", - "displayItemId": 22111, - "verification": { - "method": "collection-log", - "itemIds": [ 22111, 22006 ], - "count": 1 - } - }, - { - "id": "e2036f41-dbce-4f48-9834-210371ae0c5c", - "name": "1 Nightmare unique", - "tip": "1 Nightmare unique", - "wikiLink": "https://oldschool.runescape.wiki/w/The_Nightmare", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Inquisitor's_mace_detail.png/320px-Inquisitor's_mace_detail.png", - "displayItemId": 24417, - "verification": { - "method": "collection-log", - "itemIds": [ - 24422, 24517, 24511, 24514, 24419, 24420, 24421, 24417, 25837, 25838 - ], - "count": 1 - } - }, - { - "id": "3cafb876-c10f-4396-8e3e-12e9fecf2adb", - "name": "1 Nightmare unique", - "tip": "1 Nightmare unique", - "wikiLink": "https://oldschool.runescape.wiki/w/The_Nightmare", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Inquisitor's_mace_detail.png/320px-Inquisitor's_mace_detail.png", - "displayItemId": 24417, - "verification": { - "method": "collection-log", - "itemIds": [ - 24422, 24517, 24511, 24514, 24419, 24420, 24421, 24417, 25837, 25838 - ], - "count": 2 - } - }, - { - "id": "3df7f914-6bce-4f3c-a6c3-581e9c4eebce", - "name": "1 Nightmare unique", - "tip": "1 Nightmare unique", - "wikiLink": "https://oldschool.runescape.wiki/w/The_Nightmare", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Inquisitor's_mace_detail.png/320px-Inquisitor's_mace_detail.png", - "displayItemId": 24417, - "verification": { - "method": "collection-log", - "itemIds": [ - 24422, 24517, 24511, 24514, 24419, 24420, 24421, 24417, 25837, 25838 - ], - "count": 3 - } - }, - { - "id": "7af50f50-1d4a-4567-b205-2f35c30eb1b5", - "name": "1 Nightmare unique", - "tip": "1 Nightmare unique", - "wikiLink": "https://oldschool.runescape.wiki/w/The_Nightmare", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Inquisitor's_mace_detail.png/320px-Inquisitor's_mace_detail.png", - "displayItemId": 24417, - "verification": { - "method": "collection-log", - "itemIds": [ - 24422, 24517, 24511, 24514, 24419, 24420, 24421, 24417, 25837, 25838 - ], - "count": 4 - } - }, - { - "id": "ac401402-3e8d-4785-86de-1708ce73da65", - "name": "1 Nightmare unique", - "tip": "1 Nightmare unique", - "wikiLink": "https://oldschool.runescape.wiki/w/The_Nightmare", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Inquisitor's_mace_detail.png/320px-Inquisitor's_mace_detail.png", - "displayItemId": 24417, - "verification": { - "method": "collection-log", - "itemIds": [ - 24422, 24517, 24511, 24514, 24419, 24420, 24421, 24417, 25837, 25838 - ], - "count": 5 - } - }, - { - "id": "3288456d-a278-414f-9280-3e0dea65cdda", - "name": "1 Nex unique", - "tip": "1 Nex unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Nex", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Nex.png/320px-Nex.png", - "displayItemId": 26372, - "verification": { - "method": "collection-log", - "itemIds": [ 26370, 26372, 26376, 26378, 26380, 26235 ], - "count": 3 - } - }, - { - "id": "9de4d9dd-f68d-4b6c-b1f4-f19d05ea5607", - "name": "1 Nex unique", - "tip": "1 Nex unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Nex", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Nex.png/320px-Nex.png", - "displayItemId": 26372, - "verification": { - "method": "collection-log", - "itemIds": [ 26370, 26372, 26376, 26378, 26380, 26235 ], - "count": 4 - } - }, - { - "id": "a045bcb9-3f13-4ee5-b4e7-f24945dc4b6a", - "name": "1 Nex unique", - "tip": "1 Nex unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Nex", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Nex.png/320px-Nex.png", - "displayItemId": 26372, - "verification": { - "method": "collection-log", - "itemIds": [ 26370, 26372, 26376, 26378, 26380, 26235 ], - "count": 5 - } - }, - { - "id": "655aa891-b6ad-4d08-abde-7f9b2d5f2c24", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 1 - } - }, - { - "id": "51d7ff46-c976-43c3-af0b-0ce8ec9e524e", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 2 - } - }, - { - "id": "c5b3205c-45c6-4885-906e-2e0844df0054", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 3 - } - }, - { - "id": "85f1b299-4567-4e80-a5a2-2c8bc145646b", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 4 - } - }, - { - "id": "34679f6d-d400-45d5-b5ab-b49b259c4866", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 5 - } - }, - { - "id": "42928f64-1ade-4f7c-b163-41fe08cac0e4", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 6 - } - }, - { - "id": "fe293785-101e-4331-918c-5ebdae8cef99", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 7 - } - }, - { - "id": "c9d0af3c-b034-41c7-8afe-71040c9ff35f", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 8 - } - }, - { - "id": "b9a8a76e-d833-4575-ad8e-746ffb9fe0c1", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 9 - } - }, - { - "id": "1695718e-f588-49dc-8d8c-91ff9a9ec2ab", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 10 - } - }, - { - "id": "263e5f41-9456-454e-9b9f-482480623dc6", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 11 - } - }, - { - "id": "389c4820-08c4-4328-9532-6d6c395ce6ab", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 12 - } - }, - { - "id": "a9f466ec-5710-4106-af96-a9a694107e9e", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 13 - } - }, - { - "id": "959f5efe-b825-4e71-b2c2-5606f621cdc8", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 14 - } - }, - { - "id": "6c7df241-9838-4acf-94d1-7f99ea9bac4b", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 15 - } - }, - { - "id": "fb551b3f-ebfe-4c8b-9d25-edf85087e506", - "name": "A new level 99", - "tip": "A new level 99", - "wikiLink": "https://oldschool.runescape.wiki/w/Skill_cape", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 16 - } - }, - { - "id": "744cd2a7-5ecd-4298-9ee3-0f72b3fceb4d", - "name": "Get a level 99", - "tip": "Ok it's grind time!", - "wikiLink": "https://oldschool.runescape.wiki/w/Skills", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Max_cape_detail.png/320px-Max_cape_detail.png", - "displayItemId": 13280, - "verification": { - "method": "skill", - "experience": { - "attack" : 13034431, - "strength" : 13034431, - "defence" : 13034431, - "ranged" : 13034431, - "prayer" : 13034431, - "magic" : 13034431, - "runecraft" : 13034431, - "hitpoints" : 13034431, - "crafting" : 13034431, - "mining" : 13034431, - "smithing" : 13034431, - "fishing" : 13034431, - "cooking" : 13034431, - "firemaking" : 13034431, - "woodcutting" : 13034431, - "agility" : 13034431, - "herblore" : 13034431, - "thieving" : 13034431, - "fletching" : 13034431, - "slayer" : 13034431, - "farming" : 13034431, - "construction": 13034431, - "hunter" : 13034431, - "sailing" : 13034431 - }, - "count": 17 - } - }, - { - "id": "ef6ad784-9b0f-490d-813c-6256089e3653", - "name": "Master tier Combat Achievements", - "tip": "Master tier Combat Achievements", - "wikiLink": "https://oldschool.runescape.wiki/w/Combat_achievements", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Combat_achievements_detail.png/320px-Combat_achievements_detail.png", - "displayItemId": 25934 - }, - { - "id": "7eb00acb-984b-465b-8ed4-eb00ae654df8", - "name": "Get 1 unique from the DT2 bosses", - "tip": "Get 1 unique from the DT2 bosses", - "wikiLink": "https://oldschool.runescape.wiki/w/Desert_Treasure_II", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Soulreaper_axe_detail.png/320px-Soulreaper_axe_detail.png", - "displayItemId": 28338, - "verification": { - "method": "collection-log", - "itemIds": [ - 26241, 26243, 26245, 28319, 28321, 28323, 28325, 28330, 28331, 28332, 28333, - 28334, 28268, 28270, 28272, 28274, 28276, 28279, 28281, 28283, 28285 - ], - "count": 12 - } - }, - { - "id": "c27813c4-bf33-4e83-a8ce-13fa5e5e949d", - "name": "Get 1 unique from the DT2 bosses", - "tip": "Get 1 unique from the DT2 bosses", - "wikiLink": "https://oldschool.runescape.wiki/w/Desert_Treasure_II", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Soulreaper_axe_detail.png/320px-Soulreaper_axe_detail.png", - "displayItemId": 28338, - "verification": { - "method": "collection-log", - "itemIds": [ - 26241, 26243, 26245, 28319, 28321, 28323, 28325, 28330, 28331, 28332, 28333, - 28334, 28268, 28270, 28272, 28274, 28276, 28279, 28281, 28283, 28285 - ], - "count": 13 - } - }, - { - "id": "589d89f6-9853-440e-a0e4-4f6d981ffe23", - "name": "Get 1 unique from the DT2 bosses", - "tip": "Get 1 unique from the DT2 bosses", - "wikiLink": "https://oldschool.runescape.wiki/w/Desert_Treasure_II", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Soulreaper_axe_detail.png/320px-Soulreaper_axe_detail.png", - "displayItemId": 28338, - "verification": { - "method": "collection-log", - "itemIds": [ - 26241, 26243, 26245, 28319, 28321, 28323, 28325, 28330, 28331, 28332, 28333, - 28334, 28268, 28270, 28272, 28274, 28276, 28279, 28281, 28283, 28285 - ], - "count": 14 - } - }, - { - "id": "4e610977-8cfa-47a0-96a3-d89f8aa90596", - "name": "Get 1 unique from the DT2 bosses", - "tip": "Get 1 unique from the DT2 bosses", - "wikiLink": "https://oldschool.runescape.wiki/w/Desert_Treasure_II", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Soulreaper_axe_detail.png/320px-Soulreaper_axe_detail.png", - "displayItemId": 28338, - "verification": { - "method": "collection-log", - "itemIds": [ - 26241, 26243, 26245, 28319, 28321, 28323, 28325, 28330, 28331, 28332, 28333, - 28334, 28268, 28270, 28272, 28274, 28276, 28279, 28281, 28283, 28285 - ], - "count": 15 - } - }, - { - "id": "ff65b543-a201-4ef1-a8c3-09b73675bbf9", - "name": "Get 1 unique from the DT2 bosses", - "tip": "Get 1 unique from the DT2 bosses", - "wikiLink": "https://oldschool.runescape.wiki/w/Desert_Treasure_II", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Soulreaper_axe_detail.png/320px-Soulreaper_axe_detail.png", - "displayItemId": 28338, - "verification": { - "method": "collection-log", - "itemIds": [ - 26241, 26243, 26245, 28319, 28321, 28323, 28325, 28330, 28331, 28332, 28333, - 28334, 28268, 28270, 28272, 28274, 28276, 28279, 28281, 28283, 28285 - ], - "count": 16 - } - }, - { - "id": "5a1268cd-0d17-4be2-bedd-34cb89793eec", - "name": "Get 1 unique from the DT2 bosses", - "tip": "Get 1 unique from the DT2 bosses", - "wikiLink": "https://oldschool.runescape.wiki/w/Desert_Treasure_II", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Soulreaper_axe_detail.png/320px-Soulreaper_axe_detail.png", - "displayItemId": 28338, - "verification": { - "method": "collection-log", - "itemIds": [ - 26241, 26243, 26245, 28319, 28321, 28323, 28325, 28330, 28331, 28332, 28333, - 28334, 28268, 28270, 28272, 28274, 28276, 28279, 28281, 28283, 28285 - ], - "count": 17 - } - }, - { - "id": "8bc8c7ca-51a5-43b6-8481-f60ac284abb3", - "name": "Get 1 unique from the DT2 bosses", - "tip": "Get 1 unique from the DT2 bosses", - "wikiLink": "https://oldschool.runescape.wiki/w/Desert_Treasure_II", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Soulreaper_axe_detail.png/320px-Soulreaper_axe_detail.png", - "displayItemId": 28338, - "verification": { - "method": "collection-log", - "itemIds": [ - 26241, 26243, 26245, 28319, 28321, 28323, 28325, 28330, 28331, 28332, 28333, - 28334, 28268, 28270, 28272, 28274, 28276, 28279, 28281, 28283, 28285 - ], - "count": 18 - } - }, - { - "id": "c4d4b7fb-5216-4f50-827d-4e683a73f1ff", - "name": "Get 1 unique from the DT2 bosses", - "tip": "Get 1 unique from the DT2 bosses", - "wikiLink": "https://oldschool.runescape.wiki/w/Desert_Treasure_II", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Soulreaper_axe_detail.png/320px-Soulreaper_axe_detail.png", - "displayItemId": 28338, - "verification": { - "method": "collection-log", - "itemIds": [ - 26241, 26243, 26245, 28319, 28321, 28323, 28325, 28330, 28331, 28332, 28333, - 28334, 28268, 28270, 28272, 28274, 28276, 28279, 28281, 28283, 28285 - ], - "count": 19 - } - }, - { - "id": "6c700957-e0c6-4d13-954e-9dcf785f3b57", - "name": "Get 1 unique from the DT2 bosses", - "tip": "Get 1 unique from the DT2 bosses", - "wikiLink": "https://oldschool.runescape.wiki/w/Desert_Treasure_II", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Soulreaper_axe_detail.png/320px-Soulreaper_axe_detail.png", - "displayItemId": 28338, - "verification": { - "method": "collection-log", - "itemIds": [ - 26241, 26243, 26245, 28319, 28321, 28323, 28325, 28330, 28331, 28332, 28333, - 28334, 28268, 28270, 28272, 28274, 28276, 28279, 28281, 28283, 28285 - ], - "count": 20 - } - }, - { - "id": "055b248c-6349-4357-bd2e-30c7018519d9", - "name": "Get 1 unique from the DT2 bosses", - "tip": "Get 1 unique from the DT2 bosses", - "wikiLink": "https://oldschool.runescape.wiki/w/Desert_Treasure_II", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Soulreaper_axe_detail.png/320px-Soulreaper_axe_detail.png", - "displayItemId": 28338, - "verification": { - "method": "collection-log", - "itemIds": [ - 26241, 26243, 26245, 28319, 28321, 28323, 28325, 28330, 28331, 28332, 28333, - 28334, 28268, 28270, 28272, 28274, 28276, 28279, 28281, 28283, 28285 - ], - "count": 21 - } - }, - { - "id": "ba596dd8-4112-45a0-97fd-ecbb300b53b9", - "name": "1 Fortis Colosseum unique", - "tip": "1 Fortis Colosseum unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Fortis_Colosseum", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Dizana's_quiver_detail.png/320px-Dizana's_quiver_detail.png", - "displayItemId": 28951, - "verification": { - "method": "collection-log", - "itemIds": [ 28947, 28933, 28936, 28939, 28942, 28919 ], - "count": 4 - } - }, - { - "id": "db816180-3cf0-4cda-841c-ff230fd64544", - "name": "1 Fortis Colosseum unique", - "tip": "1 Fortis Colosseum unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Fortis_Colosseum", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Dizana's_quiver_detail.png/320px-Dizana's_quiver_detail.png", - "displayItemId": 28951, - "verification": { - "method": "collection-log", - "itemIds": [ 28947, 28933, 28936, 28939, 28942, 28919 ], - "count": 5 - } - }, - { - "id": "a26a29d5-a775-4ab2-8a68-774f3bfc6040", - "name": "1 Fortis Colosseum unique", - "tip": "1 Fortis Colosseum unique", - "wikiLink": "https://oldschool.runescape.wiki/w/Fortis_Colosseum", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Dizana's_quiver_detail.png/320px-Dizana's_quiver_detail.png", - "displayItemId": 28951, - "verification": { - "method": "collection-log", - "itemIds": [ 28947, 28933, 28936, 28939, 28942, 28919 ], - "count": 6 - } - }, - { - "id": "00a37be2-ca6a-41ef-9c4b-178540faa31e", - "name": "Obtain the Quetzin", - "tip": "Obtain the Quetzin", - "wikiLink": "https://oldschool.runescape.wiki/w/Quetzin", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Quetzin_detail.png/320px-Quetzin_detail.png", - "displayItemId": 28962, - "verification": { - "method": "collection-log", - "itemIds": [ 28962 ], - "count": 1 - } - }, - { - "id": "ca7978f7-634f-417e-8a6f-149e63ba5629", - "name": "Get 1 unique from Yama", - "tip": "Get 1 unique from Yama", - "wikiLink": "https://oldschool.runescape.wiki/w/Yama", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Yama.png/320px-Yama.png", - "displayItemId": 30753, - "verification": { - "method": "collection-log", - "itemIds": [ - 30775, 30750, 30753, 30756, 30759, 30806, 30763, 30805, 30795, 30765 - ], - "count": 8 - } - }, - { - "id": "bb345874-c397-40d2-a71b-395c1c0f317e", - "name": "Get 1 unique from Yama", - "tip": "Get 1 unique from Yama", - "wikiLink": "https://oldschool.runescape.wiki/w/Yama", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Yama.png/320px-Yama.png", - "displayItemId": 30753, - "verification": { - "method": "collection-log", - "itemIds": [ - 30775, 30750, 30753, 30756, 30759, 30806, 30763, 30805, 30795, 30765 - ], - "count": 9 - } - }, - { - "id": "1b7ab1e3-bd97-4405-8b68-3a0d4ace88c0", - "name": "Get 1 unique from Yama", - "tip": "Get 1 unique from Yama", - "wikiLink": "https://oldschool.runescape.wiki/w/Yama", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Yama.png/320px-Yama.png", - "displayItemId": 30753, - "verification": { - "method": "collection-log", - "itemIds": [ - 30775, 30750, 30753, 30756, 30759, 30806, 30763, 30805, 30795, 30765 - ], - "count": 10 - } - }, - { - "id": "122f61f7-80e7-4d79-bd4f-543a2868e06a", - "name": "Get 1 unique from Doom of Mokhaiotl", - "tip": "Giant, insect-like, demonic boss found in the Tonali Cavern after completion of The Final Dawn quest.", - "wikiLink": "https://oldschool.runescape.wiki/w/Doom_of_Mokhaiotl", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Eye_of_ayak_detail.png/320px-Eye_of_ayak_detail.png", - "displayItemId": 31115, - "verification": { - "method": "collection-log", - "itemIds": [ 31111, 31099, 31109, 31115, 31088 ], - "count": 5 - } - }, - { - "id": "5d089860-d548-4305-9f46-aeb8a0292bb4", - "name": "Get the Salvor's paint", - "tip": "Can be very rarely obtained while salvaging mercenary shipwrecks.", - "wikiLink": "https://oldschool.runescape.wiki/w/Salvor's_paint", - "imageLink": "https://oldschool.runescape.wiki/images/thumb/Salvor's_paint_detail.png/320px-Salvor's_paint_detail.png", - "displayItemId": 32099, - "verification": { - "method": "collection-log", - "itemIds": [ 32099 ], - "count": 1 - } - } - ] -} From 6659d0204a5de40c014c031753d581dde7578c94 Mon Sep 17 00:00:00 2001 From: Raphael Mobis Tacla Date: Mon, 6 Jul 2026 14:50:05 -0300 Subject: [PATCH 4/6] use ultracite check instead of lint --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c81aee7..afad512 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "format:ultracite": "ultracite format", "format:tasks": "tsx bin/frac.mts tiers/*.json", "format": "npm run format:ultracite && npm run format:tasks", - "lint:ultracite": "ultracite lint", + "lint:ultracite": "ultracite check", "lint:tasks": "tsx bin/frac.mts --lint tiers/*.json", "lint:schema": "tsx bin/validate-schema.mts", "lint:uuids": "tsx bin/validate-uuids.mts", From 8410ec9238998ed4c60677394505d01cb32a6d69 Mon Sep 17 00:00:00 2001 From: Raphael Mobis Tacla Date: Mon, 6 Jul 2026 16:23:30 -0300 Subject: [PATCH 5/6] downgrade back to ultracite 5 --- .vscode/settings.json | 2 +- bin/validate-links.mts | 3 +- biome.jsonc | 15 +- package-lock.json | 2991 ++++++++++++---------------------------- package.json | 6 +- tsconfig.json | 13 +- 6 files changed, 895 insertions(+), 2135 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 3de4090..ed87089 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -13,7 +13,7 @@ "[jsonc]": { "editor.defaultFormatter": "biomejs.biome" }, - "typescript.tsdk": "node_modules/typescript/lib", + "js/ts.tsdk.path": "node_modules/typescript/lib", "editor.formatOnSave": true, "editor.formatOnPaste": true, "emmet.showExpandedAbbreviation": "never", diff --git a/bin/validate-links.mts b/bin/validate-links.mts index 60171da..15e899a 100644 --- a/bin/validate-links.mts +++ b/bin/validate-links.mts @@ -10,6 +10,7 @@ import ajv from '@/util/ajv.mjs'; const CACHE_DIR = './.cache/links'; const IMAGE_CONTENT_TYPE_REGEX = /^image\/(png|gif)/; const HTML_CONTENT_TYPE_REGEX = /^text\/html/; +const HTTP_STATUS_OK = 200; function cacheKey(link: string): string { return hash('sha1', link); @@ -23,7 +24,7 @@ async function validateLink(link: string, contentTypeRegex: RegExp): Promise= 20.12.0" } }, "node_modules/@clack/prompts": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-1.7.0.tgz", - "integrity": "sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A==", + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@clack/prompts/-/prompts-0.11.0.tgz", + "integrity": "sha512-pMN5FcrEw9hUkZA4f+zLlzivQSeQf5dRGJjSUbvVYDLvpKCdQx5OaknvKzgbtXOizhP+SJJJjqEbOe55uKKfAw==", "dev": true, "license": "MIT", "dependencies": { - "@clack/core": "1.4.3", - "fast-string-width": "^3.0.2", - "fast-wrap-ansi": "^0.2.0", + "@clack/core": "0.5.0", + "picocolors": "^1.0.0", "sisteransi": "^1.0.5" - }, - "engines": { - "node": ">= 20.12.0" } }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.1", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.1.tgz", - "integrity": "sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", + "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, + "optional": true, + "os": [ + "aix" + ], "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + "node": ">=18" } }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", + "node_modules/@esbuild/android-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", + "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", + "cpu": [ + "arm" + ], "dev": true, "license": "MIT", - "peer": true, + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + "node": ">=18" } }, - "node_modules/@eslint/config-array": { - "version": "0.23.5", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.23.5.tgz", - "integrity": "sha512-Y3kKLvC1dvTOT+oGlqNQ1XLqK6D1HU2YXPc52NmAlJZbMMWDzGYXMiPRJ8TYD39muD/OTjlZmNJ4ib7dvSrMBA==", + "node_modules/@esbuild/android-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", + "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@eslint/object-schema": "^3.0.5", - "debug": "^4.3.1", - "minimatch": "^10.2.4" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": ">=18" } }, - "node_modules/@eslint/config-helpers": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.6.0.tgz", - "integrity": "sha512-ii6Bw9jJ2zi2cWA2Z+9/QZ/+3DX6kwaV5Q986D/CdP3Lap3w/pgQZ373FV7byY/i7L4IRH/G43I5dz1ClsCbpA==", + "node_modules/@esbuild/android-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", + "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@eslint/core": "^1.2.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": ">=18" } }, - "node_modules/@eslint/core": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-1.2.1.tgz", - "integrity": "sha512-MwcE1P+AZ4C6DWlpin/OmOA54mmIZ/+xZuJiQd4SyB29oAJjN30UW9wkKNptW2ctp4cEsvhlLY/CsQ1uoHDloQ==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", + "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@types/json-schema": "^7.0.15" - }, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": ">=18" } }, - "node_modules/@eslint/object-schema": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-3.0.5.tgz", - "integrity": "sha512-vqTaUEgxzm+YDSdElad6PiRoX4t8VGDjCtt05zn4nU810UIx/uNEV7/lZJ6KwFThKZOzOxzXy48da+No7HZaMw==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", + "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", - "peer": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": ">=18" } }, - "node_modules/@eslint/plugin-kit": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.7.2.tgz", - "integrity": "sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", + "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@eslint/core": "^1.2.1", - "levn": "^0.4.1" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" + "node": ">=18" } }, - "node_modules/@humanfs/core": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.2.tgz", - "integrity": "sha512-UhXNm+CFMWcbChXywFwkmhqjs3PRCmcSa/hfBgLIb7oQ5HNb1wS0icWsGtSAUNgefHeI+eBrA8I1fxmbHsGdvA==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", + "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@humanfs/types": "^0.15.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], "engines": { - "node": ">=18.18.0" + "node": ">=18" } }, - "node_modules/@humanfs/node": { - "version": "0.16.8", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.8.tgz", - "integrity": "sha512-gE1eQNZ3R++kTzFUpdGlpmy8kDZD/MLyHqDwqjkVQI0JMdI1D51sy1H958PNXYkM2rAac7e5/CnIKZrHtPh3BQ==", + "node_modules/@esbuild/linux-arm": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", + "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", + "cpu": [ + "arm" + ], "dev": true, - "license": "Apache-2.0", - "peer": true, - "dependencies": { - "@humanfs/core": "^0.19.2", - "@humanfs/types": "^0.15.0", - "@humanwhocodes/retry": "^0.4.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=18.18.0" + "node": ">=18" } }, - "node_modules/@humanfs/types": { - "version": "0.15.0", - "resolved": "https://registry.npmjs.org/@humanfs/types/-/types-0.15.0.tgz", - "integrity": "sha512-ZZ1w0aoQkwuUuC7Yf+7sdeaNfqQiiLcSRbfI08oAxqLtpXQr9AIVX7Ay7HLDuiLYAaFPu8oBYNq/QIi9URHJ3Q==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", + "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", + "cpu": [ + "arm64" + ], "dev": true, - "license": "Apache-2.0", - "peer": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=18.18.0" + "node": ">=18" } }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", + "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", + "cpu": [ + "ia32" + ], "dev": true, - "license": "Apache-2.0", - "peer": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node": ">=18" } }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", + "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", + "cpu": [ + "loong64" + ], "dev": true, - "license": "Apache-2.0", - "peer": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" + "node": ">=18" } }, - "node_modules/@isaacs/cliui": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", - "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", + "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", + "cpu": [ + "mips64el" + ], "dev": true, - "license": "ISC", - "dependencies": { - "string-width": "^5.1.2", - "string-width-cjs": "npm:string-width@^4.2.0", - "strip-ansi": "^7.0.1", - "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", - "wrap-ansi": "^8.1.0", - "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" - }, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], "engines": { - "node": ">=12" + "node": ">=18" } }, - "node_modules/@jsdevtools/ono": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", - "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node-ts": { - "version": "23.6.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node-ts/-/node-ts-23.6.4.tgz", - "integrity": "sha512-37BMJvNQZ+vTgd1xG2TGBkJ6ENeT4eO4Wh2CHrnn0IwH7ybLFCzh4Uc//kc7UIvqiRac4uGdIc1meKOjMSlKzw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@tsconfig/node26": { - "version": "26.0.0", - "resolved": "https://registry.npmjs.org/@tsconfig/node26/-/node26-26.0.0.tgz", - "integrity": "sha512-AlW882moMu/JzvTVjdGqJEsrqD5nSWHiFD7Aeuw6Rb58S4Aig+09mDUFFlXJx/y6/y77NwGYLlqhWxvolcC0sw==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/ajv": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/@types/ajv/-/ajv-0.0.5.tgz", - "integrity": "sha512-0UD98SZLwPk6cTMZoLs8W4XSAWgqT9nyoZiBw+uXEPf1u5h+Dn2ztMG4Is9pDA+9D7GKbCTfIkQK/hNgoWVQcQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/@types/esrecurse": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@types/esrecurse/-/esrecurse-4.3.1.tgz", - "integrity": "sha512-xJBAbDifo5hpffDBuHl0Y8ywswbiAp/Wi7Y/GtAgSlZyIABppyurxVueOPE8LUQOxdlgi6Zqce7uoEpqNTeiUw==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", + "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", + "cpu": [ + "ppc64" + ], "dev": true, "license": "MIT", - "peer": true + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@types/estree": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.9.tgz", - "integrity": "sha512-GhdPgy1el4/ImP05X05Uw4cw2/M93BCUmnEvWZNStlCzEKME4Fkk+YpoA5OiHNQmoS7Cafb8Xa3Pya8m1Qrzeg==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", + "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", + "cpu": [ + "riscv64" + ], "dev": true, "license": "MIT", - "peer": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true, - "license": "MIT" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@types/lodash": { - "version": "4.17.20", - "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.20.tgz", - "integrity": "sha512-H3MHACvFUEiujabxhaI/ImO6gUrd8oOurg7LQtS7mbwIXA/cUqWrvBsaeJ23aZEPk1TAYkurjfMbSELfoCXlGA==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", + "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", + "cpu": [ + "s390x" + ], "dev": true, - "license": "MIT" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } }, - "node_modules/@types/node": { - "version": "26.1.0", - "resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.0.tgz", - "integrity": "sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==", + "node_modules/@esbuild/linux-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", + "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "undici-types": "~8.3.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.62.1.tgz", - "integrity": "sha512-yQ3RgY5RkSBpsNS1Bx/JQEcA24FOSdfGktoyprAr5u18390UQdtVcfnEv4nIrIshNnavlVyZBKxQwT1fIAE6cg==", + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", + "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.62.1", - "@typescript-eslint/types": "^8.62.1", - "debug": "^4.4.3" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" + "node": ">=18" } }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.62.1.tgz", - "integrity": "sha512-r4d249KbQ1SFdpeStvob8Ih6aPPIzfqllPVOtvhve6ZcpuVcYo5/7zUWckKpHE7StASX4kTKZTLf0WQm/wPkcg==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", + "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.62.1", - "@typescript-eslint/visitor-keys": "8.62.1" - }, + "optional": true, + "os": [ + "netbsd" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=18" } }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.62.1.tgz", - "integrity": "sha512-xadytJqX9vJVQ2fdQjkcIVigwaOJNWkpjdLt6cEQ+xPnrI1fkp+/jZE/I97k9KUjqtpd25i0HeyZf3T6dutv2g==", + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", + "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" + "node": ">=18" } }, - "node_modules/@typescript-eslint/types": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.62.1.tgz", - "integrity": "sha512-ooCzJFaf+Hg+uG6fA3NRFGuFjlfNlDhBthbv4ZPU/0elCAFUfnyXUvf/WOpHz/jYwSmvU2GkR2LtyUfy1AxZ1Q==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", + "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", + "cpu": [ + "x64" + ], "dev": true, "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=18" } }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.62.1.tgz", - "integrity": "sha512-xMcW9oP9u7fAMXYs9A65CVmtLQe2r//oXINHfi8HV+oiqhih17sbLdhXr4540YWlgpDKQdY854OL5ZrdCiQsAA==", + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", + "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/project-service": "8.62.1", - "@typescript-eslint/tsconfig-utils": "8.62.1", - "@typescript-eslint/types": "8.62.1", - "@typescript-eslint/visitor-keys": "8.62.1", - "debug": "^4.4.3", - "minimatch": "^10.2.2", - "semver": "^7.7.3", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.5.0" - }, + "optional": true, + "os": [ + "openharmony" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.1.0" + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", + "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" } }, - "node_modules/@typescript-eslint/utils": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.62.1.tgz", - "integrity": "sha512-sHtbPfuKNZCG+ih8SyjjucqRntSVmp8XgL5u6o9mAhiSn8ds5o/M/XdM0abweme2Tln3szOstOrZ9OXitvPh0g==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", + "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", + "cpu": [ + "arm64" + ], "dev": true, "license": "MIT", - "dependencies": { - "@eslint-community/eslint-utils": "^4.9.1", - "@typescript-eslint/scope-manager": "8.62.1", - "@typescript-eslint/types": "8.62.1", - "@typescript-eslint/typescript-estree": "8.62.1" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0 || ^10.0.0", - "typescript": ">=4.8.4 <6.1.0" + "node": ">=18" } }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.62.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.62.1.tgz", - "integrity": "sha512-4g3BLxfdTMy8iZG0MaBkadnlRrCJ74cQiFbyEVMrkwIoqdyaXXQM22cotDvrl4x28wgIZ9rEJRoM+mmhSJpJ1g==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", + "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", + "cpu": [ + "ia32" + ], "dev": true, "license": "MIT", - "dependencies": { - "@typescript-eslint/types": "8.62.1", - "eslint-visitor-keys": "^5.0.0" - }, + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" + "node": ">=18" } }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", + "node_modules/@esbuild/win32-x64": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", + "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", + "cpu": [ + "x64" + ], "dev": true, - "license": "Apache-2.0", + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" + "node": ">=18" + } + }, + "node_modules/@isaacs/cliui": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-9.0.0.tgz", + "integrity": "sha512-AokJm4tuBHillT+FpMtxQ60n8ObyXBatq7jD2/JA9dxbDDokKQm8KMht5ibGzLVU9IJDIKK4TPKgMHEYMn3lMg==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, - "node_modules/acorn": { - "version": "8.17.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.17.0.tgz", - "integrity": "sha512-xRQbDb9BnwDafYNn6Vwl839DYVjqXYb1XVGtWAZ1kcDc6iwAL4hg3B1dZlRiuENFeO2H53gFG3in621AdERVAg==", + "node_modules/@jsdevtools/ono": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/@jsdevtools/ono/-/ono-7.1.3.tgz", + "integrity": "sha512-4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@trpc/server": { + "version": "11.18.0", + "resolved": "https://registry.npmjs.org/@trpc/server/-/server-11.18.0.tgz", + "integrity": "sha512-JAvXOuNTxgXjIDfQaOvDq1j66LMNfDJUH1IU7Slfn8EvRv2EkH6ehu3A7zpYhjO0syHHiYg77v2lG2JFJgvw7Q==", "dev": true, + "funding": [ + "https://trpc.io/sponsor" + ], "license": "MIT", - "peer": true, "bin": { - "acorn": "bin/acorn" + "intent": "bin/intent.js" }, - "engines": { - "node": ">=0.4.0" + "peerDependencies": { + "typescript": ">=5.7.2" } }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "node_modules/@tsconfig/node-ts": { + "version": "23.6.4", + "resolved": "https://registry.npmjs.org/@tsconfig/node-ts/-/node-ts-23.6.4.tgz", + "integrity": "sha512-37BMJvNQZ+vTgd1xG2TGBkJ6ENeT4eO4Wh2CHrnn0IwH7ybLFCzh4Uc//kc7UIvqiRac4uGdIc1meKOjMSlKzw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tsconfig/node26": { + "version": "26.0.0", + "resolved": "https://registry.npmjs.org/@tsconfig/node26/-/node26-26.0.0.tgz", + "integrity": "sha512-AlW882moMu/JzvTVjdGqJEsrqD5nSWHiFD7Aeuw6Rb58S4Aig+09mDUFFlXJx/y6/y77NwGYLlqhWxvolcC0sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/ajv": { + "version": "0.0.5", + "resolved": "https://registry.npmjs.org/@types/ajv/-/ajv-0.0.5.tgz", + "integrity": "sha512-0UD98SZLwPk6cTMZoLs8W4XSAWgqT9nyoZiBw+uXEPf1u5h+Dn2ztMG4Is9pDA+9D7GKbCTfIkQK/hNgoWVQcQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/json-schema": { + "version": "7.0.15", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", + "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.24", + "resolved": "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.24.tgz", + "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "26.1.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-26.1.0.tgz", + "integrity": "sha512-O0A1G3xPGy4w7AgQdAQYUlQ+BKk2Oovw8eRpofyp5KdBZULnbe+WqaOVNrm705SHphCiG4XHsACrSmPu1f+Kgw==", "dev": true, "license": "MIT", - "peer": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + "dependencies": { + "undici-types": "~8.3.0" } }, "node_modules/ajv": { @@ -704,36 +793,10 @@ } } }, - "node_modules/ansi-regex": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", - "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/ansi-styles": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", - "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true, "license": "Python-2.0" }, @@ -767,34 +830,14 @@ "dev": true, "license": "MIT" }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true, - "license": "MIT" - }, "node_modules/commander": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-15.0.0.tgz", - "integrity": "sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==", + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-14.0.3.tgz", + "integrity": "sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==", "dev": true, "license": "MIT", "engines": { - "node": ">=22.12.0" + "node": ">=20" } }, "node_modules/cross-spawn": { @@ -812,32 +855,6 @@ "node": ">= 8" } }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true, - "license": "MIT", - "peer": true - }, "node_modules/deepmerge": { "version": "4.3.1", "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", @@ -848,248 +865,46 @@ "node": ">=0.10.0" } }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true, - "license": "MIT" - }, - "node_modules/emoji-regex": { - "version": "9.2.2", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", - "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", - "dev": true, - "license": "MIT" - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "10.6.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-10.6.0.tgz", - "integrity": "sha512-6lVbcqSodALYo+4ELD0heG6lFiFxnLMuLkiMi2qV8LMp54N8tE8FT1GMH+ev4Ti00nFjNze2+Su6DsV5OQW3Dg==", + "node_modules/esbuild": { + "version": "0.28.1", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", + "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", "dev": true, + "hasInstallScript": true, "license": "MIT", - "peer": true, - "workspaces": [ - "packages/*" - ], - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.2", - "@eslint/config-array": "^0.23.5", - "@eslint/config-helpers": "^0.6.0", - "@eslint/core": "^1.2.1", - "@eslint/plugin-kit": "^0.7.2", - "@humanfs/node": "^0.16.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.4", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-scope": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-9.1.2.tgz", - "integrity": "sha512-xS90H51cKw0jltxmvmHy2Iai1LIqrfbw57b79w/J7MfvDfkIkFZ+kj6zC3BjtUwh150HsSSdxXZcsuv72miDFQ==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "@types/esrecurse": "^4.3.1", - "@types/estree": "^1.0.8", - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "license": "Apache-2.0", - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/ajv": { - "version": "6.15.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.15.0.tgz", - "integrity": "sha512-fgFx7Hfoq60ytK2c7DhnF8jIvzYgOMxfugjLOSMHjLIPgenqa7S7oaagATUq99mV6IYvN2tRmC0wnTYX6iPbMw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/espree": { - "version": "11.2.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-11.2.0.tgz", - "integrity": "sha512-7p3DrVEIopW1B1avAGLuCSh1jubc01H2JHc8B4qqGblmg5gI9yumBgACjWo4JlIc04ufug4xJ3SQI8HkS/Rgzw==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "acorn": "^8.16.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^5.0.1" - }, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-5.0.1.tgz", - "integrity": "sha512-tD40eHxA35h0PEIZNeIjkHoDR4YjjJp34biM0mDvplBe//mB+IHCqHDGV7pxF+7MklTvighcCPPZC7ynWyjdTA==", - "dev": true, - "license": "Apache-2.0", - "peer": true, - "engines": { - "node": "^20.19.0 || ^22.13.0 || >=24" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.7.0.tgz", - "integrity": "sha512-Ap6G0WQwcU/LHsvLwON1fAQX9Zp0A2Y6Y/cJBl9r/JbW90Zyg4/zbG6zzKa2OTALELarYHmKu0GhpM5EO+7T0g==", - "dev": true, - "license": "BSD-3-Clause", - "peer": true, - "dependencies": { - "estraverse": "^5.1.0" + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "estraverse": "^5.2.0" + "node": ">=18" }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "engines": { - "node": ">=0.10.0" + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.28.1", + "@esbuild/android-arm": "0.28.1", + "@esbuild/android-arm64": "0.28.1", + "@esbuild/android-x64": "0.28.1", + "@esbuild/darwin-arm64": "0.28.1", + "@esbuild/darwin-x64": "0.28.1", + "@esbuild/freebsd-arm64": "0.28.1", + "@esbuild/freebsd-x64": "0.28.1", + "@esbuild/linux-arm": "0.28.1", + "@esbuild/linux-arm64": "0.28.1", + "@esbuild/linux-ia32": "0.28.1", + "@esbuild/linux-loong64": "0.28.1", + "@esbuild/linux-mips64el": "0.28.1", + "@esbuild/linux-ppc64": "0.28.1", + "@esbuild/linux-riscv64": "0.28.1", + "@esbuild/linux-s390x": "0.28.1", + "@esbuild/linux-x64": "0.28.1", + "@esbuild/netbsd-arm64": "0.28.1", + "@esbuild/netbsd-x64": "0.28.1", + "@esbuild/openbsd-arm64": "0.28.1", + "@esbuild/openbsd-x64": "0.28.1", + "@esbuild/openharmony-arm64": "0.28.1", + "@esbuild/sunos-x64": "0.28.1", + "@esbuild/win32-arm64": "0.28.1", + "@esbuild/win32-ia32": "0.28.1", + "@esbuild/win32-x64": "0.28.1" } }, "node_modules/fast-deep-equal": { @@ -1099,43 +914,10 @@ "dev": true, "license": "MIT" }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/fast-string-truncated-width": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fast-string-truncated-width/-/fast-string-truncated-width-3.0.3.tgz", - "integrity": "sha512-0jjjIEL6+0jag3l2XWWizO64/aZVtpiGE3t0Zgqxv0DPuxiMjvB3M24fCyhZUO4KomJQPj3LTSUnDP3GpdwC0g==", - "dev": true, - "license": "MIT" - }, - "node_modules/fast-string-width": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/fast-string-width/-/fast-string-width-3.0.2.tgz", - "integrity": "sha512-gX8LrtNEI5hq8DVUfRQMbr5lpaS4nMIWV+7XEbXk2b8kiQIizgnlr12B4dA3ZEx3308ze0O4Q1R+cHts8kyUJg==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-string-truncated-width": "^3.0.2" - } - }, "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.3.tgz", + "integrity": "sha512-i70LwGWUduXqzicKXWshooq+sWL1K3WUU5rKZNG/0i3a1OSoX3HqhH5WbWwTmqWfor4urUakGPiRQcleRZTwOg==", "dev": true, "funding": [ { @@ -1149,16 +931,6 @@ ], "license": "BSD-3-Clause" }, - "node_modules/fast-wrap-ansi": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/fast-wrap-ansi/-/fast-wrap-ansi-0.2.2.tgz", - "integrity": "sha512-7F2Fl+TjRSenLqlU3UjSH0iyqopqoZIu7eZVpEirP2g1GtWa2G/ecEmBdgz31+Mxr+ELclgg6sokpSFIQiZ02Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "fast-string-width": "^3.0.2" - } - }, "node_modules/fdir": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", @@ -1177,61 +949,6 @@ } } }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.4.2.tgz", - "integrity": "sha512-PjDse7RzhcPkIJwy5t7KPWQSZ9cAbzQXcafsetQoD7sOJRQlGikNbx7yZp2OotDnJyrDcbyRq3Ttb18iYOqkxA==", - "dev": true, - "license": "ISC", - "peer": true - }, "node_modules/foreground-child": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", @@ -1296,42 +1013,6 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "license": "ISC", - "peer": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=0.8.19" - } - }, "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", @@ -1342,16 +1023,6 @@ "node": ">=0.10.0" } }, - "node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -1373,13 +1044,13 @@ "license": "ISC" }, "node_modules/jackspeak": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.1.1.tgz", - "integrity": "sha512-zptv57P3GpL+O0I7VdMJNBZCu+BPHVQUk55Ft8/QCJjTVxrnJHuVuX/0Bl2A6/+2oyR/ZMEuFKwmzqqZ/U5nPQ==", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-4.2.3.tgz", + "integrity": "sha512-ykkVRwrYvFm1nb2AJfKKYPr0emF6IiXDYUaFx4Zn9ZuIH7MrzEZ3sD5RlqGXNRpHtvUHJyOnCEFxOlNDtGo7wg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "@isaacs/cliui": "^8.0.2" + "@isaacs/cliui": "^9.0.0" }, "engines": { "node": "20 || >=22" @@ -1389,10 +1060,20 @@ } }, "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.0.tgz", + "integrity": "sha512-1td788aAnnZ5qs7V2QIRl1owjtYpbKt749Y3xauqQgwIIGF/xXWz1wMTEBx5O3LK3lXLVuqXPdPxj2BoFHaW9Q==", "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], "license": "MIT", "dependencies": { "argparse": "^2.0.1" @@ -1401,14 +1082,6 @@ "js-yaml": "bin/js-yaml.js" } }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true, - "license": "MIT", - "peer": true - }, "node_modules/json-schema-to-typescript": { "version": "15.0.4", "resolved": "https://registry.npmjs.org/json-schema-to-typescript/-/json-schema-to-typescript-15.0.4.tgz", @@ -1422,1002 +1095,72 @@ "is-glob": "^4.0.3", "js-yaml": "^4.1.0", "lodash": "^4.17.21", - "minimist": "^1.2.8", - "prettier": "^3.2.5", - "tinyglobby": "^0.2.9" - }, - "bin": { - "json2ts": "dist/src/cli.js" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true, - "license": "MIT" - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/jsonc-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", - "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/lefthook": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.13.6.tgz", - "integrity": "sha512-ojj4/4IJ29Xn4drd5emqVgilegAPN3Kf0FQM2p/9+lwSTpU+SZ1v4Ig++NF+9MOa99UKY8bElmVrLhnUUNFh5g==", - "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "lefthook": "bin/index.js" - }, - "optionalDependencies": { - "lefthook-darwin-arm64": "1.13.6", - "lefthook-darwin-x64": "1.13.6", - "lefthook-freebsd-arm64": "1.13.6", - "lefthook-freebsd-x64": "1.13.6", - "lefthook-linux-arm64": "1.13.6", - "lefthook-linux-x64": "1.13.6", - "lefthook-openbsd-arm64": "1.13.6", - "lefthook-openbsd-x64": "1.13.6", - "lefthook-windows-arm64": "1.13.6", - "lefthook-windows-x64": "1.13.6" - } - }, - "node_modules/lefthook-darwin-arm64": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.13.6.tgz", - "integrity": "sha512-m6Lb77VGc84/Qo21Lhq576pEvcgFCnvloEiP02HbAHcIXD0RTLy9u2yAInrixqZeaz13HYtdDaI7OBYAAdVt8A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/lefthook-darwin-x64": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.13.6.tgz", - "integrity": "sha512-CoRpdzanu9RK3oXR1vbEJA5LN7iB+c7hP+sONeQJzoOXuq4PNKVtEaN84Gl1BrVtCNLHWFAvCQaZPPiiXSy8qg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/lefthook-freebsd-arm64": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.13.6.tgz", - "integrity": "sha512-X4A7yfvAJ68CoHTqP+XvQzdKbyd935sYy0bQT6Ajz7FL1g7hFiro8dqHSdPdkwei9hs8hXeV7feyTXbYmfjKQQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/lefthook-freebsd-x64": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.13.6.tgz", - "integrity": "sha512-ai2m+Sj2kGdY46USfBrCqLKe9GYhzeq01nuyDYCrdGISePeZ6udOlD1k3lQKJGQCHb0bRz4St0r5nKDSh1x/2A==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/lefthook-linux-arm64": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.13.6.tgz", - "integrity": "sha512-cbo4Wtdq81GTABvikLORJsAWPKAJXE8Q5RXsICFUVznh5PHigS9dFW/4NXywo0+jfFPCT6SYds2zz4tCx6DA0Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/lefthook-linux-x64": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.13.6.tgz", - "integrity": "sha512-uJl9vjCIIBTBvMZkemxCE+3zrZHlRO7Oc+nZJ+o9Oea3fu+W82jwX7a7clw8jqNfaeBS+8+ZEQgiMHWCloTsGw==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/lefthook-openbsd-arm64": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.13.6.tgz", - "integrity": "sha512-7r153dxrNRQ9ytRs2PmGKKkYdvZYFPre7My7XToSTiRu5jNCq++++eAKVkoyWPduk97dGIA+YWiEr5Noe0TK2A==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/lefthook-openbsd-x64": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.13.6.tgz", - "integrity": "sha512-Z+UhLlcg1xrXOidK3aLLpgH7KrwNyWYE3yb7ITYnzJSEV8qXnePtVu8lvMBHs/myzemjBzeIr/U/+ipjclR06g==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/lefthook-windows-arm64": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.13.6.tgz", - "integrity": "sha512-Uxef6qoDxCmUNQwk8eBvddYJKSBFglfwAY9Y9+NnnmiHpWTjjYiObE9gT2mvGVpEgZRJVAatBXc+Ha5oDD/OgQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/lefthook-windows-x64": { - "version": "1.13.6", - "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.13.6.tgz", - "integrity": "sha512-mOZoM3FQh3o08M8PQ/b3IYuL5oo36D9ehczIw1dAgp1Ly+Tr4fJ96A+4SEJrQuYeRD4mex9bR7Ps56I73sBSZA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true, - "license": "MIT" - }, - "node_modules/lru-cache": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz", - "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==", - "dev": true, - "license": "ISC", - "engines": { - "node": "20 || >=22" - } - }, - "node_modules/minimatch": { - "version": "10.2.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", - "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "brace-expansion": "^5.0.5" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "license": "MIT", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", - "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", - "dev": true, - "license": "BlueOak-1.0.0", - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true, - "license": "MIT", - "peer": true - }, - "node_modules/nypm": { - "version": "0.6.8", - "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.8.tgz", - "integrity": "sha512-Q9K4Diu6l5u6xJQogeFSs/zKtyMSgFKFtRQV+tHP4kL7KPm2grpBU0dFIwFaXwNxN0MtfKWc43VpCugAa+LPsw==", - "dev": true, - "license": "MIT", - "dependencies": { - "citty": "^0.2.2", - "pathe": "^2.0.3", - "tinyexec": "^1.2.4" - }, - "bin": { - "nypm": "dist/cli.mjs" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "license": "MIT", - "peer": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/package-json-from-dist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", - "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", - "dev": true, - "license": "BlueOak-1.0.0" - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/path-scurry": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", - "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", - "dev": true, - "license": "BlueOak-1.0.0", - "dependencies": { - "lru-cache": "^11.0.0", - "minipass": "^7.1.2" - }, - "engines": { - "node": "18 || 20 || >=22" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/pathe": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", - "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", - "dev": true, - "license": "MIT" - }, - "node_modules/picomatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", - "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prettier": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.6.2.tgz", - "integrity": "sha512-I7AIg5boAr5R0FFtJ6rCfD+LFsWHp81dolrFD8S79U9tb8Az2nGrJncnMSnys+bpQJfRUzqs9hnA81OAA3hCuQ==", - "dev": true, - "license": "MIT", - "bin": { - "prettier": "bin/prettier.cjs" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/prettier/prettier?sponsor=1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "license": "MIT", - "peer": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/radash": { - "version": "12.1.1", - "resolved": "https://registry.npmjs.org/radash/-/radash-12.1.1.tgz", - "integrity": "sha512-h36JMxKRqrAxVD8201FrCpyeNuUY9Y5zZwujr20fFO77tpUtGa6EZzfKw/3WaiBX95fq7+MpsuMLNdSnORAwSA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=14.18.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/semver": { - "version": "7.8.5", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.5.tgz", - "integrity": "sha512-Y7/KDsb8LjooZpwaqGyulO6DQlksgCncchHGk+sZIY4SBvUocMBEFH5Ur1fI4dV+Jvl0w6cjvucaIi40puRioA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "license": "MIT", - "dependencies": { - "shebang-regex": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", - "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/signal-exit": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", - "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", - "dev": true, - "license": "ISC", - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/sisteransi": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", - "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", - "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "eastasianwidth": "^0.2.0", - "emoji-regex": "^9.2.2", - "strip-ansi": "^7.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/string-width-cjs": { - "name": "string-width", - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dev": true, - "license": "MIT", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/string-width-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/string-width-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "node_modules/strip-ansi-cjs": { - "name": "strip-ansi", - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "license": "MIT", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=8" - } - }, - "node_modules/tinyexec": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", - "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.17", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", - "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", - "dev": true, - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/ts-api-utils": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.5.0.tgz", - "integrity": "sha512-OJ/ibxhPlqrMM0UiNHJ/0CKQkoKF243/AEmplt3qpRgkW8VG7IfOS41h7V8TjITqdByHzrjcS/2si+y4lIh8NA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/tsx": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.0.tgz", - "integrity": "sha512-eUdUIaCr963q2h5u3+QwvYp0+eqPvn+egeqZUm0hwERCqqx1E3kK5ehbGCvqSE5MQAULr67ww0cA3jKc3YkM1w==", - "dev": true, - "license": "MIT", - "dependencies": { - "esbuild": "~0.28.0" - }, - "bin": { - "tsx": "dist/cli.mjs" - }, - "engines": { - "node": ">=18.0.0" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - } - }, - "node_modules/tsx/node_modules/@esbuild/aix-ppc64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.28.1.tgz", - "integrity": "sha512-Svl7tq8k/08+p6CXPpRjQ1fKX+1odH/BQbb48fV6fj3CWHhsoIOoY87w1oHXm0qEpkIK3ZfVgp0hed3XBXzXMQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/android-arm": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.28.1.tgz", - "integrity": "sha512-0k2F129Xdio1TdJfzJ8sy1Q47vUD2NnwdhiAf7drUN1EBTfPf4hsFCtmMgu/6m8JSzsBrlmVjudMBQqOfG8usQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/android-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.28.1.tgz", - "integrity": "sha512-34EGEbCIAgosYz6goLcopX6Mo7NyGv9tfwEM2/7Ce2VcVRk568iSvniGWcUXIy7wEDR1wzolcxcriFVrWYcwBg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/android-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.28.1.tgz", - "integrity": "sha512-dbwY7ltSMDWsRatcRpCnES4F+im88OCUgGZjy52shC7GqHRE/cYlxNbB4Z4UpJswpcc4Qxd2oE/ufM0p61IKng==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/darwin-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.28.1.tgz", - "integrity": "sha512-TZbWkQY7kvTAXbXUT7uVACR5cMHsDiSz9z7ZKAX/RTq/WJEk3QyRr0wZpNhBDX+/0CtdqUIJlOiodQcta6tY3Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/darwin-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.28.1.tgz", - "integrity": "sha512-zfdzgK9ACBNZLI/CyHTOx81SyNbM6YXn7rxSgX97VjyiPl9W1i4Ka4fgKECEoFCKGpvBj5qArWIGgQjOwkgskQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/freebsd-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.28.1.tgz", - "integrity": "sha512-wG2EA8ENdEI0qhkSZMjfqrdY+ziCYCPMmtZjjIwOmXFjmyzEHn+UUxk5of+SYsjtfs3VpnlC7QLzSI5hY/rOAw==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/freebsd-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.28.1.tgz", - "integrity": "sha512-i7dZ9vQgnvSCzi/rYCXNgtF/U+eKZNJBzu3eTQbRgHnM7tNSizLOkRFAl3qzVc/Op/u5YkHHa4pf/3DOYHthLQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-arm": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.28.1.tgz", - "integrity": "sha512-qVXBOHQS+d5Y722GwJzJUtOLlX7km3CraOaGormF1pDtPd2C/l1SHRPgjLunLGe51Sh5YYWKMFDyV4SxgMQYTQ==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.28.1.tgz", - "integrity": "sha512-yHs+0uc8+nvEAfAfxrWQKK5peSNzBc4PegcMO0EJ2hT71uA7vB8Ihg2e77R2P7SG5uYjPbHlLLmve4LLLRCf0g==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-ia32": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.28.1.tgz", - "integrity": "sha512-d1z4ZuP0ajrfz/FhGT4vv278rX8KnPPJx8i5+AtK7TYbx9Le9F1hyzurZpkEyjkGa9dUGhQow4C1NmeGvqxN2w==", - "cpu": [ - "ia32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-loong64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.28.1.tgz", - "integrity": "sha512-M5sRjUVZrkm1OAPR3dlOYzNmN+loZKGVi1VUQGrwuqLcbR6qeAz+famMhjASeH3YVKvZz+zT1jlh/keC3Rj/lg==", - "cpu": [ - "loong64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-mips64el": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.28.1.tgz", - "integrity": "sha512-mRObBZeHh2OxcBFPWE/FjylkRgZdYuiTR3vaTozquCGOH14iP9oN4x4Ge81CoIDYQrXmIxpFumJBu5MtZpnQJQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/tsx/node_modules/@esbuild/linux-ppc64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.28.1.tgz", - "integrity": "sha512-slScBsMAb3GFDcdrCgLwZtPYRoH2H/youv10QiZyRjmsP48fznoveWytSgCI/R0ZcUgpc0ZhIUEx6LHts8yrfQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], + "minimist": "^1.2.8", + "prettier": "^3.2.5", + "tinyglobby": "^0.2.9" + }, + "bin": { + "json2ts": "dist/src/cli.js" + }, "engines": { - "node": ">=18" + "node": ">=16.0.0" } }, - "node_modules/tsx/node_modules/@esbuild/linux-riscv64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.28.1.tgz", - "integrity": "sha512-kw0owk1o0GFETUJyW0jc0G4Yzs0BHZn0JDZ8JRT088vjJYX777BAs1fDGxAC+q831qOs2DTC96mNsG2opdfyyQ==", - "cpu": [ - "riscv64" - ], + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/lefthook": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook/-/lefthook-1.13.6.tgz", + "integrity": "sha512-ojj4/4IJ29Xn4drd5emqVgilegAPN3Kf0FQM2p/9+lwSTpU+SZ1v4Ig++NF+9MOa99UKY8bElmVrLhnUUNFh5g==", "dev": true, + "hasInstallScript": true, "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" + "bin": { + "lefthook": "bin/index.js" + }, + "optionalDependencies": { + "lefthook-darwin-arm64": "1.13.6", + "lefthook-darwin-x64": "1.13.6", + "lefthook-freebsd-arm64": "1.13.6", + "lefthook-freebsd-x64": "1.13.6", + "lefthook-linux-arm64": "1.13.6", + "lefthook-linux-x64": "1.13.6", + "lefthook-openbsd-arm64": "1.13.6", + "lefthook-openbsd-x64": "1.13.6", + "lefthook-windows-arm64": "1.13.6", + "lefthook-windows-x64": "1.13.6" } }, - "node_modules/tsx/node_modules/@esbuild/linux-s390x": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.28.1.tgz", - "integrity": "sha512-/lAIjX8aYFRByhh6L5rYtPEDRqa9de/4V/juOXcta5frjvzXO4/sqEtyytse0g3zZFuWu5cDN0MkLz2qRDD2Ag==", + "node_modules/lefthook-darwin-arm64": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-darwin-arm64/-/lefthook-darwin-arm64-1.13.6.tgz", + "integrity": "sha512-m6Lb77VGc84/Qo21Lhq576pEvcgFCnvloEiP02HbAHcIXD0RTLy9u2yAInrixqZeaz13HYtdDaI7OBYAAdVt8A==", "cpu": [ - "s390x" + "arm64" ], "dev": true, "license": "MIT", "optional": true, "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } + "darwin" + ] }, - "node_modules/tsx/node_modules/@esbuild/linux-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.28.1.tgz", - "integrity": "sha512-u/anNYF2mmVOEDwLtnQ1wOr3EZ9sTNGLWrsYGYwHWzGA3Si84IOkHXlbWTD1NB+9/1lcnweYKO54uhxZydNzfA==", + "node_modules/lefthook-darwin-x64": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-darwin-x64/-/lefthook-darwin-x64-1.13.6.tgz", + "integrity": "sha512-CoRpdzanu9RK3oXR1vbEJA5LN7iB+c7hP+sONeQJzoOXuq4PNKVtEaN84Gl1BrVtCNLHWFAvCQaZPPiiXSy8qg==", "cpu": [ "x64" ], @@ -2425,16 +1168,13 @@ "license": "MIT", "optional": true, "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } + "darwin" + ] }, - "node_modules/tsx/node_modules/@esbuild/netbsd-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.28.1.tgz", - "integrity": "sha512-oks0DYbLwWMmaakTsCb+zL4E+aHRVLom9IJZOAthMQEPiQmydXHkziYEsGYRx0uNV/IjEKGAV941JzH02pflqw==", + "node_modules/lefthook-freebsd-arm64": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-freebsd-arm64/-/lefthook-freebsd-arm64-1.13.6.tgz", + "integrity": "sha512-X4A7yfvAJ68CoHTqP+XvQzdKbyd935sYy0bQT6Ajz7FL1g7hFiro8dqHSdPdkwei9hs8hXeV7feyTXbYmfjKQQ==", "cpu": [ "arm64" ], @@ -2442,16 +1182,13 @@ "license": "MIT", "optional": true, "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } + "freebsd" + ] }, - "node_modules/tsx/node_modules/@esbuild/netbsd-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.28.1.tgz", - "integrity": "sha512-aeL6lAnN89Hz43Mlh1G8ARasbuoYvSITDEx0tHh5b7jJnHcssqgjy9Yx430GDpmCa6OyrKoS0aNRjKundRizGg==", + "node_modules/lefthook-freebsd-x64": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-freebsd-x64/-/lefthook-freebsd-x64-1.13.6.tgz", + "integrity": "sha512-ai2m+Sj2kGdY46USfBrCqLKe9GYhzeq01nuyDYCrdGISePeZ6udOlD1k3lQKJGQCHb0bRz4St0r5nKDSh1x/2A==", "cpu": [ "x64" ], @@ -2459,16 +1196,13 @@ "license": "MIT", "optional": true, "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } + "freebsd" + ] }, - "node_modules/tsx/node_modules/@esbuild/openbsd-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.28.1.tgz", - "integrity": "sha512-MEFJe5C3R8pwXdZ5Y21oo6m7ePiS0d9pWucn99O/wvyJZChoIQKrQDxKrGeW8F5+T0okTHesAmDeiHDTIq0V/Q==", + "node_modules/lefthook-linux-arm64": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-linux-arm64/-/lefthook-linux-arm64-1.13.6.tgz", + "integrity": "sha512-cbo4Wtdq81GTABvikLORJsAWPKAJXE8Q5RXsICFUVznh5PHigS9dFW/4NXywo0+jfFPCT6SYds2zz4tCx6DA0Q==", "cpu": [ "arm64" ], @@ -2476,16 +1210,13 @@ "license": "MIT", "optional": true, "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } + "linux" + ] }, - "node_modules/tsx/node_modules/@esbuild/openbsd-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.28.1.tgz", - "integrity": "sha512-i/ZLIOafE0Z8cI/XANJAixoJL/uRAoS2xOA3rb0xN+KK0K177cMAsQYkzHtBrtMXAKuAc7HGgcWiZ/sRC1Nxgw==", + "node_modules/lefthook-linux-x64": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-linux-x64/-/lefthook-linux-x64-1.13.6.tgz", + "integrity": "sha512-uJl9vjCIIBTBvMZkemxCE+3zrZHlRO7Oc+nZJ+o9Oea3fu+W82jwX7a7clw8jqNfaeBS+8+ZEQgiMHWCloTsGw==", "cpu": [ "x64" ], @@ -2493,16 +1224,13 @@ "license": "MIT", "optional": true, "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } + "linux" + ] }, - "node_modules/tsx/node_modules/@esbuild/openharmony-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.28.1.tgz", - "integrity": "sha512-ge+Z7EXFNt2BO1oAMsVpiQ8EwndV9i1xXerAeTIK7AtPs3bKFXQM7nlRxDSIUIMeueR1CNXxqztLzdNeReKBJg==", + "node_modules/lefthook-openbsd-arm64": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-openbsd-arm64/-/lefthook-openbsd-arm64-1.13.6.tgz", + "integrity": "sha512-7r153dxrNRQ9ytRs2PmGKKkYdvZYFPre7My7XToSTiRu5jNCq++++eAKVkoyWPduk97dGIA+YWiEr5Noe0TK2A==", "cpu": [ "arm64" ], @@ -2510,16 +1238,13 @@ "license": "MIT", "optional": true, "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } + "openbsd" + ] }, - "node_modules/tsx/node_modules/@esbuild/sunos-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.28.1.tgz", - "integrity": "sha512-BEjgtECkL3vY+SaSQ6nzVfiALUeFxpawyp8Jmf5PtYhf1Ug40N1h/hxlhts+f1FvSvarEigdxS3BlSMI2PJLcQ==", + "node_modules/lefthook-openbsd-x64": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-openbsd-x64/-/lefthook-openbsd-x64-1.13.6.tgz", + "integrity": "sha512-Z+UhLlcg1xrXOidK3aLLpgH7KrwNyWYE3yb7ITYnzJSEV8qXnePtVu8lvMBHs/myzemjBzeIr/U/+ipjclR06g==", "cpu": [ "x64" ], @@ -2527,16 +1252,13 @@ "license": "MIT", "optional": true, "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } + "openbsd" + ] }, - "node_modules/tsx/node_modules/@esbuild/win32-arm64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.28.1.tgz", - "integrity": "sha512-lCv9eK/H6ZJWbE7bh2nw54CZ9M2nupBxJcTsdk/QQnWkdSjKGuxmmH8/GWrlT1eMmZfn4dGcCjRte397WqfQXA==", + "node_modules/lefthook-windows-arm64": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-windows-arm64/-/lefthook-windows-arm64-1.13.6.tgz", + "integrity": "sha512-Uxef6qoDxCmUNQwk8eBvddYJKSBFglfwAY9Y9+NnnmiHpWTjjYiObE9gT2mvGVpEgZRJVAatBXc+Ha5oDD/OgQ==", "cpu": [ "arm64" ], @@ -2545,159 +1267,119 @@ "optional": true, "os": [ "win32" - ], - "engines": { - "node": ">=18" - } + ] }, - "node_modules/tsx/node_modules/@esbuild/win32-ia32": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.28.1.tgz", - "integrity": "sha512-zvb/mB2bSCoJOpoCBgYKKpX6YM6mJBlBUVUtVj41DlZJVEB6/0CKlRYxP5wWl1C1ILiCoAU5wZZ4q1P3qeS6Eg==", + "node_modules/lefthook-windows-x64": { + "version": "1.13.6", + "resolved": "https://registry.npmjs.org/lefthook-windows-x64/-/lefthook-windows-x64-1.13.6.tgz", + "integrity": "sha512-mOZoM3FQh3o08M8PQ/b3IYuL5oo36D9ehczIw1dAgp1Ly+Tr4fJ96A+4SEJrQuYeRD4mex9bR7Ps56I73sBSZA==", "cpu": [ - "ia32" + "x64" ], "dev": true, "license": "MIT", "optional": true, "os": [ "win32" - ], - "engines": { - "node": ">=18" - } + ] }, - "node_modules/tsx/node_modules/@esbuild/win32-x64": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.28.1.tgz", - "integrity": "sha512-bm4Mowrv+GXMlpWX++EcXw/iLyd1o3+bJkC2DkWXYVvgZCqD/bSj9ctZeAMC3cIxgjRVR2Dufaiu4YPxr5gW1A==", - "cpu": [ - "x64" - ], + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], + "license": "MIT" + }, + "node_modules/lru-cache": { + "version": "11.5.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.5.1.tgz", + "integrity": "sha512-RPimw/7aMdv2oqRrxKwvZXcPfwBrn/JZ2xYcY9Hus/6LaS3VOAKVWKWgNLCFSiOm1ESXinjsDlidVU7JlnCN2A==", + "dev": true, + "license": "BlueOak-1.0.0", "engines": { - "node": ">=18" + "node": "20 || >=22" } }, - "node_modules/tsx/node_modules/esbuild": { - "version": "0.28.1", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.28.1.tgz", - "integrity": "sha512-HrJrvZv5ayxBzPfwphOoNzkzOIIlifzk0KJrGK2c8R4+LKpMtpYLQeUdjnwjWv/LZlkH2laZk+4w78pi99D4Vw==", + "node_modules/minimatch": { + "version": "10.2.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.2.5.tgz", + "integrity": "sha512-MULkVLfKGYDFYejP07QOurDLLQpcjk7Fw+7jXS2R2czRQzR56yHRveU5NDJEOviH+hETZKSkIk5c+T23GjFUMg==", "dev": true, - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" + "license": "BlueOak-1.0.0", + "dependencies": { + "brace-expansion": "^5.0.5" }, "engines": { - "node": ">=18" + "node": "18 || 20 || >=22" }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.28.1", - "@esbuild/android-arm": "0.28.1", - "@esbuild/android-arm64": "0.28.1", - "@esbuild/android-x64": "0.28.1", - "@esbuild/darwin-arm64": "0.28.1", - "@esbuild/darwin-x64": "0.28.1", - "@esbuild/freebsd-arm64": "0.28.1", - "@esbuild/freebsd-x64": "0.28.1", - "@esbuild/linux-arm": "0.28.1", - "@esbuild/linux-arm64": "0.28.1", - "@esbuild/linux-ia32": "0.28.1", - "@esbuild/linux-loong64": "0.28.1", - "@esbuild/linux-mips64el": "0.28.1", - "@esbuild/linux-ppc64": "0.28.1", - "@esbuild/linux-riscv64": "0.28.1", - "@esbuild/linux-s390x": "0.28.1", - "@esbuild/linux-x64": "0.28.1", - "@esbuild/netbsd-arm64": "0.28.1", - "@esbuild/netbsd-x64": "0.28.1", - "@esbuild/openbsd-arm64": "0.28.1", - "@esbuild/openbsd-x64": "0.28.1", - "@esbuild/openharmony-arm64": "0.28.1", - "@esbuild/sunos-x64": "0.28.1", - "@esbuild/win32-arm64": "0.28.1", - "@esbuild/win32-ia32": "0.28.1", - "@esbuild/win32-x64": "0.28.1" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, "license": "MIT", - "peer": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/typescript": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", - "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", + "node_modules/minipass": { + "version": "7.1.3", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.3.tgz", + "integrity": "sha512-tEBHqDnIoM/1rXME1zgka9g6Q2lcoCkxHLuc7ODJ5BxbP5d4c2Z5cGgtXAku59200Cx7diuHTOYfSBD8n6mm8A==", "dev": true, - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, + "license": "BlueOak-1.0.0", "engines": { - "node": ">=14.17" + "node": ">=16 || 14 >=14.17" } }, - "node_modules/ultracite": { - "version": "7.9.2", - "resolved": "https://registry.npmjs.org/ultracite/-/ultracite-7.9.2.tgz", - "integrity": "sha512-NIMZCputZguuj09RcfTD6S9hsYbl8NNF5jplMs7au0R2xsLEnTIkyt+evg7Bd/reBzO+zBl/GbmmykUPbPJEEw==", + "node_modules/nypm": { + "version": "0.6.8", + "resolved": "https://registry.npmjs.org/nypm/-/nypm-0.6.8.tgz", + "integrity": "sha512-Q9K4Diu6l5u6xJQogeFSs/zKtyMSgFKFtRQV+tHP4kL7KPm2grpBU0dFIwFaXwNxN0MtfKWc43VpCugAa+LPsw==", "dev": true, "license": "MIT", "dependencies": { - "@clack/prompts": "^1.5.1", - "@typescript-eslint/utils": "^8.62.1", - "commander": "^15.0.0", - "cross-spawn": "^7.0.6", - "deepmerge": "^4.3.1", - "glob": "^13.0.6", - "jsonc-parser": "^3.3.1", - "nypm": "^0.6.6", - "yaml": "^2.9.0", - "zod": "^4.4.3" + "citty": "^0.2.2", + "pathe": "^2.0.3", + "tinyexec": "^1.2.4" }, "bin": { - "ultracite": "dist/index.js" - }, - "peerDependencies": { - "oxfmt": ">=0.1.0", - "oxlint": "^1.0.0" + "nypm": "dist/cli.mjs" }, - "peerDependenciesMeta": { - "oxfmt": { - "optional": true - }, - "oxlint": { - "optional": true - } + "engines": { + "node": ">=18" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "node_modules/ultracite/node_modules/glob": { - "version": "13.0.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-13.0.6.tgz", - "integrity": "sha512-Wjlyrolmm8uDpm/ogGyXZXb1Z+Ca2B8NbJwqBVg0axK9GbBeoS7yGV6vjXnYdGm6X53iehEuxxbyiKp8QmN4Vw==", + "node_modules/path-scurry": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", + "integrity": "sha512-3O/iVVsJAPsOnpwWIeD+d6z/7PmqApyQePUtCndjatj/9I5LylHvt5qluFaBT3I5h3r1ejfR056c+FCv+NnNXg==", "dev": true, "license": "BlueOak-1.0.0", "dependencies": { - "minimatch": "^10.2.2", - "minipass": "^7.1.3", - "path-scurry": "^2.0.2" + "lru-cache": "^11.0.0", + "minipass": "^7.1.2" }, "engines": { "node": "18 || 20 || >=22" @@ -2706,177 +1388,256 @@ "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/undici-types": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz", - "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==", + "node_modules/pathe": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/pathe/-/pathe-2.0.3.tgz", + "integrity": "sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==", "dev": true, "license": "MIT" }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", "dev": true, - "license": "BSD-2-Clause", - "peer": true, - "dependencies": { - "punycode": "^2.1.0" - } + "license": "ISC" }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/picomatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.5.tgz", + "integrity": "sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==", "dev": true, - "license": "ISC", - "dependencies": { - "isexe": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/prettier": { + "version": "3.9.4", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.9.4.tgz", + "integrity": "sha512-yWG/o/4oJfo036EKAfK6ACAoDOfHeRHx4tuxkfBZiauURiaSmYwlpOr5LQqKtIkRD2z1PLteme2WoxEnj4tHTg==", + "dev": true, + "license": "MIT", "bin": { - "node-which": "bin/node-which" + "prettier": "bin/prettier.cjs" }, "engines": { - "node": ">= 8" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/radash": { + "version": "12.1.1", + "resolved": "https://registry.npmjs.org/radash/-/radash-12.1.1.tgz", + "integrity": "sha512-h36JMxKRqrAxVD8201FrCpyeNuUY9Y5zZwujr20fFO77tpUtGa6EZzfKw/3WaiBX95fq7+MpsuMLNdSnORAwSA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.18.0" } }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", "dev": true, "license": "MIT", - "peer": true, "engines": { "node": ">=0.10.0" } }, - "node_modules/wrap-ansi": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", - "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, "license": "MIT", "dependencies": { - "ansi-styles": "^6.1.0", - "string-width": "^5.0.1", - "strip-ansi": "^7.0.1" + "shebang-regex": "^3.0.0" }, "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "node": ">=8" } }, - "node_modules/wrap-ansi-cjs": { - "name": "wrap-ansi", - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", - "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, "license": "MIT", - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, "engines": { - "node": ">=10" + "node": ">=8" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" }, "funding": { - "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true, + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.2.4.tgz", + "integrity": "sha512-SHf/r48b7vOrjve9PxJo3MN5v5yuyjHvdUcrQffT3WXMUfnGmHDVbC4k3sHJaJTgZCwpUplIaAo5ANtMyp3YHg==", "dev": true, "license": "MIT", "engines": { - "node": ">=8" + "node": ">=18" } }, - "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/tinyglobby": { + "version": "0.2.17", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.17.tgz", + "integrity": "sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==", "dev": true, "license": "MIT", "dependencies": { - "color-convert": "^2.0.1" + "fdir": "^6.5.0", + "picomatch": "^4.0.4" }, "engines": { - "node": ">=8" + "node": ">=12.0.0" }, "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", - "dev": true, - "license": "MIT" - }, - "node_modules/wrap-ansi-cjs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "node_modules/trpc-cli": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/trpc-cli/-/trpc-cli-0.11.0.tgz", + "integrity": "sha512-cFt5LVl1EzwmhZtWa6xPBWr6rgLXGgEOqmcTMIYcI6fLQE1REgu6tS55LmqUJs5kVSXrOd1z5/aufJS71xUUyA==", "dev": true, - "license": "MIT", + "license": "Apache-2.0", "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" + "commander": "^14.0.0" + }, + "bin": { + "trpc-cli": "dist/bin.js" }, "engines": { - "node": ">=8" + "node": ">=18" + }, + "peerDependencies": { + "@orpc/server": "^1.0.0", + "@trpc/server": "^10.45.2 || ^11.0.1", + "@valibot/to-json-schema": "^1.1.0", + "effect": "^3.14.2 || ^4.0.0", + "valibot": "^1.1.0", + "zod": "^3.24.0 || ^4.0.0" + }, + "peerDependenciesMeta": { + "@orpc/server": { + "optional": true + }, + "@trpc/server": { + "optional": true + }, + "@valibot/to-json-schema": { + "optional": true + }, + "effect": { + "optional": true + }, + "valibot": { + "optional": true + }, + "zod": { + "optional": true + } } }, - "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "node_modules/tsx": { + "version": "4.23.0", + "resolved": "https://registry.npmjs.org/tsx/-/tsx-4.23.0.tgz", + "integrity": "sha512-eUdUIaCr963q2h5u3+QwvYp0+eqPvn+egeqZUm0hwERCqqx1E3kK5ehbGCvqSE5MQAULr67ww0cA3jKc3YkM1w==", "dev": true, "license": "MIT", "dependencies": { - "ansi-regex": "^5.0.1" + "esbuild": "~0.28.0" + }, + "bin": { + "tsx": "dist/cli.mjs" }, "engines": { - "node": ">=8" + "node": ">=18.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" } }, - "node_modules/yaml": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", - "integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==", + "node_modules/typescript": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz", + "integrity": "sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw==", "dev": true, - "license": "ISC", + "license": "Apache-2.0", "bin": { - "yaml": "bin.mjs" + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" }, "engines": { - "node": ">= 14.6" - }, - "funding": { - "url": "https://github.com/sponsors/eemeli" + "node": ">=14.17" } }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "node_modules/ultracite": { + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/ultracite/-/ultracite-5.6.4.tgz", + "integrity": "sha512-Ejgh8uYhqgV1QzKAE1vwRHHu24mTCg43DLOJG+gXi7hHSAPAWdDEs9fgBiuYZxH2bsQiWSsEF6hMv5aLJuM6/w==", "dev": true, "license": "MIT", - "peer": true, - "engines": { - "node": ">=10" + "dependencies": { + "@clack/prompts": "^0.11.0", + "@trpc/server": "^11.6.0", + "deepmerge": "^4.3.1", + "jsonc-parser": "^3.3.1", + "nypm": "^0.6.2", + "trpc-cli": "^0.11.0", + "zod": "^4.1.12" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "bin": { + "ultracite": "dist/index.js" + } + }, + "node_modules/undici-types": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-8.3.0.tgz", + "integrity": "sha512-j375ScV60dom+YkPFIfTLcOiPxkN/buHz5GobjLhixFuANaNs3C9l4GmrWqejgXWJ7BbJcFYpTEUkS1Ge8bpZQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, "node_modules/zod": { diff --git a/package.json b/package.json index afad512..2dcbe38 100644 --- a/package.json +++ b/package.json @@ -3,7 +3,7 @@ "format:ultracite": "ultracite format", "format:tasks": "tsx bin/frac.mts tiers/*.json", "format": "npm run format:ultracite && npm run format:tasks", - "lint:ultracite": "ultracite check", + "lint:ultracite": "ultracite lint", "lint:tasks": "tsx bin/frac.mts --lint tiers/*.json", "lint:schema": "tsx bin/validate-schema.mts", "lint:uuids": "tsx bin/validate-uuids.mts", @@ -15,7 +15,7 @@ "all": "npm run format && npm run lint && npm run gen" }, "devDependencies": { - "@biomejs/biome": "^2.0.6", + "@biomejs/biome": "2.2.6", "@tsconfig/node-ts": "^23.6.4", "@tsconfig/node26": "^26.0.0", "@types/ajv": "^0.0.5", @@ -29,7 +29,7 @@ "radash": "^12.1.1", "tsx": "^4.23.0", "typescript": "^6.0.3", - "ultracite": "^7.9.2" + "ultracite": "^5.6.4" }, "volta": { "node": "26.4.0" diff --git a/tsconfig.json b/tsconfig.json index 29f7e95..3cedb60 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,17 +1,8 @@ { - "extends": [ - "@tsconfig/node26/tsconfig.json", - "@tsconfig/node-ts/tsconfig.json" - ], + "extends": ["@tsconfig/node26/tsconfig.json", "@tsconfig/node-ts/tsconfig.json"], "compilerOptions": { "strictNullChecks": true, - "lib": [ - "es2024", - "ESNext.Array", - "ESNext.Collection", - "ESNext.Iterator", - "DOM" - ], + "lib": ["es2024", "ESNext.Array", "ESNext.Collection", "ESNext.Iterator", "DOM"], "paths": { "@/*": ["./*"] }, From a7cf7d72ea50862b7647b351bcaf39402b729d10 Mon Sep 17 00:00:00 2001 From: Raphael Mobis Tacla Date: Mon, 6 Jul 2026 16:28:16 -0300 Subject: [PATCH 6/6] update CI node --- .github/actions/setup/action.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/actions/setup/action.yml b/.github/actions/setup/action.yml index fb173ed..dc80f13 100644 --- a/.github/actions/setup/action.yml +++ b/.github/actions/setup/action.yml @@ -6,7 +6,7 @@ runs: - name: Setup Node.js uses: actions/setup-node@v6 with: - node-version: 22 + node-version: 26 cache: npm - name: Install dependencies