Merge branch 'stewardship/verified-pr-batch-3602-3621-owned' into stewardship/verified-pr-batch-3569-3578-owned

This commit is contained in:
haelyra committed 2026-10-20 18:42:12 -04:00
commit 3ffb0d90af
18 files changed
+124 -683

No files matched your search

+1 -1
View File
@@ -62,7 +62,7 @@ exit 2
**What helps:** **What helps:**
- Reduce tool-definition pressure with `ENABLE_TOOL_SEARCH=auto:5` if your setup supports it. - Reduce tool-definition pressure with `ENABLE_TOOL_SEARCH=auto:5` if your setup supports it.
- Lower the supported effort level (for example, `/effort low`) for routine work on adaptive-reasoning models; `MAX_THINKING_TOKENS` only caps fixed-budget thinking. - Lower the supported effort level (for example, `/effort low`) for routine work on adaptive-reasoning models. `MAX_THINKING_TOKENS=0` disables thinking; nonzero values cap fixed-budget thinking only when adaptive thinking is disabled.
- Route subagent work to a cheaper model such as `CLAUDE_CODE_SUBAGENT_MODEL=haiku` if your setup exposes that knob. - Route subagent work to a cheaper model such as `CLAUDE_CODE_SUBAGENT_MODEL=haiku` if your setup exposes that knob.
- Disable unused MCP servers per project. - Disable unused MCP servers per project.
- Compact manually at natural breakpoints instead of waiting for auto-compaction. - Compact manually at natural breakpoints instead of waiting for auto-compaction.
+1 -1
View File
@@ -61,7 +61,7 @@ What helps:
What helps: What helps:
- Reduce tool-definition pressure with `ENABLE_TOOL_SEARCH=auto:5` if your setup supports it. - Reduce tool-definition pressure with `ENABLE_TOOL_SEARCH=auto:5` if your setup supports it.
- Lower the supported effort level (for example, `/effort low`) for routine work on adaptive-reasoning models; `MAX_THINKING_TOKENS` only caps fixed-budget thinking. - Lower the supported effort level (for example, `/effort low`) for routine work on adaptive-reasoning models. `MAX_THINKING_TOKENS=0` disables thinking; nonzero values cap fixed-budget thinking only when adaptive thinking is disabled.
- Route subagent work to a cheaper model such as `CLAUDE_CODE_SUBAGENT_MODEL=haiku` if your setup exposes that knob. - Route subagent work to a cheaper model such as `CLAUDE_CODE_SUBAGENT_MODEL=haiku` if your setup exposes that knob.
- Disable unused MCP servers per project. - Disable unused MCP servers per project.
- Compact manually at natural breakpoints instead of waiting for auto-compaction. - Compact manually at natural breakpoints instead of waiting for auto-compaction.
@@ -10,7 +10,7 @@
"id": "hand-seeded", "id": "hand-seeded",
"source": "manual-curation-pending-regeneration" "source": "manual-curation-pending-regeneration"
}, },
"registryDigest": "048d14863299b0bf320c413b6359dc918fca2dda8d5db86cd677611cb28e2958", "registryDigest": "4fc25981407c964d970cb203db86c094524ee0da4abd3dafe6cf13c6e386b92a",
"schemaVersion": 1, "schemaVersion": 1,
"triggers": { "triggers": {
"skill:agent-runtime-gateway-smoke-test": [ "skill:agent-runtime-gateway-smoke-test": [
+11 -285
View File
@@ -10,7 +10,7 @@
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@iarna/toml": "2.2.5", "@iarna/toml": "2.2.5",
"@opencode-ai/plugin": "1.18.34", "@opencode-ai/plugin": "1.4.3",
"ajv": "8.20.0", "ajv": "8.20.0",
"js-yaml": "4.3.2", "js-yaml": "4.3.2",
"sql.js": "1.14.2" "sql.js": "1.14.2"
@@ -36,18 +36,6 @@
"node": ">=18" "node": ">=18"
} }
}, },
"node_modules/@ai-sdk/provider": {
"version": "3.0.8",
"resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-3.0.8.tgz",
"integrity": "sha512-oGMAgGoQdBXbZqNG0Ze56CHjDZ1IDYOwGYxYjO5KLSlz5HiNQ9udIXsPZ61VWaHGZ5XW/jyjmr6t2xz2jGVwbQ==",
"license": "Apache-2.0",
"dependencies": {
"json-schema": "^0.4.0"
},
"engines": {
"node": ">=18"
}
},
"node_modules/@bcoe/v8-coverage": { "node_modules/@bcoe/v8-coverage": {
"version": "1.0.2", "version": "1.0.2",
"resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz", "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-1.0.2.tgz",
@@ -336,127 +324,37 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.4.tgz",
"integrity": "sha512-LCkGo6JDfaBhgST7UpPWgNgLINpcpabaHfyz5OBx75nUYxBsaEPxjnyNjWpeb/xBup/682QnBfRBy2/LvPutZQ==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.4.tgz",
"integrity": "sha512-zExlW9zUJKZH/tOtVMttwjKa4Xm/3KcNjnE3dPN92uCktwavMxpgCA3MoJK/DOnTWsQgo224OaST27/mPNAf+w==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"darwin"
]
},
"node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.4.tgz",
"integrity": "sha512-Tg3yX65f5GbtXLkrYEHE5oibZG9epyYWas7FogTTEJeDEF9JlXJzKgXaNhT3UXlTOeA+AfZpYZYZ0uPj7Cfquw==",
"cpu": [
"arm"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.4.tgz",
"integrity": "sha512-dgX0P/9wGPJeHFBG+ZmhgE6bmtMt7NP5CRBGyyktpopdk/mW4POnrpQsSLtKI1dwpc+pPLuXHDh6vvskyQE/sw==",
"cpu": [
"arm64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.4.tgz",
"integrity": "sha512-8TNXMEjJc3QEy7R/x1INhgiU+XakDAFUzBhaz7+Rbrs8NH5UQeHQxxmzsSBJGyV6I1jW79undiQm8tOI+D+8FQ==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"linux"
]
},
"node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.4.tgz",
"integrity": "sha512-CmCXPQrkbwExx3j946/PtHWHbYJiCRBRDl4BlkRQcJB/YOwQxJRTpoo7aTsortjgoJ1x7opzTSxn7C+ASSLVjQ==",
"cpu": [
"x64"
],
"license": "MIT",
"optional": true,
"os": [
"win32"
]
},
"node_modules/@opencode-ai/plugin": { "node_modules/@opencode-ai/plugin": {
"version": "1.18.34", "version": "1.4.3",
"resolved": "https://registry.npmjs.org/@opencode-ai/plugin/-/plugin-1.18.34.tgz", "resolved": "https://registry.npmjs.org/@opencode-ai/plugin/-/plugin-1.4.3.tgz",
"integrity": "sha512-bC1EBL/QJ6LpC7liKZXr5JA+oa9qDAwTzpEgPxPsx1pbIUdhKOqg3/yoPEQgoa4YdO3hsgCWNFmbDE/DeOl/Ug==", "integrity": "sha512-Ob/3tVSIeuMRJBr2O23RtrnC5djRe01Lglx+TwGEmjrH9yDBJ2tftegYLnNEjRoMuzITgq9LD8168p4pzv+U/A==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@ai-sdk/provider": "3.0.8", "@opencode-ai/sdk": "1.4.3",
"@opencode-ai/sdk": "1.18.34",
"effect": "4.0.0-beta.83",
"zod": "4.1.8" "zod": "4.1.8"
}, },
"peerDependencies": { "peerDependencies": {
"@opentui/core": ">=0.4.5", "@opentui/core": ">=0.1.97",
"@opentui/keymap": ">=0.4.5", "@opentui/solid": ">=0.1.97"
"@opentui/solid": ">=0.4.5"
}, },
"peerDependenciesMeta": { "peerDependenciesMeta": {
"@opentui/core": { "@opentui/core": {
"optional": true "optional": true
}, },
"@opentui/keymap": {
"optional": true
},
"@opentui/solid": { "@opentui/solid": {
"optional": true "optional": true
} }
} }
}, },
"node_modules/@opencode-ai/sdk": { "node_modules/@opencode-ai/sdk": {
"version": "1.18.34", "version": "1.4.3",
"resolved": "https://registry.npmjs.org/@opencode-ai/sdk/-/sdk-1.18.34.tgz", "resolved": "https://registry.npmjs.org/@opencode-ai/sdk/-/sdk-1.4.3.tgz",
"integrity": "sha512-R9QWUpcngtdQ6FCixz7NC6n1WsSho6CEuRUzYHz/CzZcp3miSklDzXkm0oDwXVCnuEu+ANoeM0f6RDp51kOMzQ==", "integrity": "sha512-X0CAVbwoGAjTY2iecpWkx2B+GAa2jSaQKYpJ+xILopeF/OGKZUN15mjqci+L7cEuwLHV5wk3x2TStUOVCa5p0A==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"cross-spawn": "7.0.6" "cross-spawn": "7.0.6"
} }
}, },
"node_modules/@standard-schema/spec": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@standard-schema/spec/-/spec-1.1.0.tgz",
"integrity": "sha512-l2aFy5jALhniG5HgqrD6jXLi/rUWrKvqN/qJx6yoJsgKhblVd+iqqU4RCXavm/jPityDo5TCvKMnpjKnOriy0w==",
"license": "MIT"
},
"node_modules/@types/debug": { "node_modules/@types/debug": {
"version": "4.1.13", "version": "4.1.13",
"resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.13.tgz",
@@ -885,16 +783,6 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/detect-libc": {
"version": "2.1.2",
"resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz",
"integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==",
"license": "Apache-2.0",
"optional": true,
"engines": {
"node": ">=8"
}
},
"node_modules/devlop": { "node_modules/devlop": {
"version": "1.1.0", "version": "1.1.0",
"resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz",
@@ -909,24 +797,6 @@
"url": "https://github.com/sponsors/wooorm" "url": "https://github.com/sponsors/wooorm"
} }
}, },
"node_modules/effect": {
"version": "4.0.0-beta.83",
"resolved": "https://registry.npmjs.org/effect/-/effect-4.0.0-beta.83.tgz",
"integrity": "sha512-0wsak8RtgGAr9UWSbVDgJHZcUqMSvicHcvaZv1MbMM7MCGgW4Rn/137J1MHQbwYPcwYGxT/IqehFd+UbYuj78w==",
"license": "MIT",
"dependencies": {
"@standard-schema/spec": "^1.1.0",
"fast-check": "^4.8.0",
"find-my-way-ts": "^0.1.6",
"ini": "^7.0.0",
"kubernetes-types": "^1.30.0",
"msgpackr": "^2.0.1",
"multipasta": "^0.2.7",
"toml": "^4.1.1",
"uuid": "^14.0.0",
"yaml": "^2.9.0"
}
},
"node_modules/emoji-regex": { "node_modules/emoji-regex": {
"version": "8.0.0", "version": "8.0.0",
"resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
@@ -1148,28 +1018,6 @@
"node": ">=0.10.0" "node": ">=0.10.0"
} }
}, },
"node_modules/fast-check": {
"version": "4.9.0",
"resolved": "https://registry.npmjs.org/fast-check/-/fast-check-4.9.0.tgz",
"integrity": "sha512-7ms6T7SybUev/PQITciI0yLM2pOSFy5zpG8Ty7tQofcVaQUvrMXp6CBwqF6fThLCLOrfBtuHAtwq6Yu4XPCllg==",
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/dubzzz"
},
{
"type": "opencollective",
"url": "https://opencollective.com/fast-check"
}
],
"license": "MIT",
"dependencies": {
"pure-rand": "^8.0.0"
},
"engines": {
"node": ">=12.17.0"
}
},
"node_modules/fast-deep-equal": { "node_modules/fast-deep-equal": {
"version": "3.1.3", "version": "3.1.3",
"resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
@@ -1234,12 +1082,6 @@
"flat-cache": "^6.1.23" "flat-cache": "^6.1.23"
} }
}, },
"node_modules/find-my-way-ts": {
"version": "0.1.6",
"resolved": "https://registry.npmjs.org/find-my-way-ts/-/find-my-way-ts-0.1.6.tgz",
"integrity": "sha512-a85L9ZoXtNAey3Y6Z+eBWW658kO/MwR7zIafkIUPUMf3isZG0NCs2pjW2wtjxAKuJPxMAsHUIP4ZPGv0o5gyTA==",
"license": "MIT"
},
"node_modules/find-up": { "node_modules/find-up": {
"version": "5.0.0", "version": "5.0.0",
"resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz",
@@ -1421,6 +1263,7 @@
"version": "7.0.0", "version": "7.0.0",
"resolved": "https://registry.npmjs.org/ini/-/ini-7.0.0.tgz", "resolved": "https://registry.npmjs.org/ini/-/ini-7.0.0.tgz",
"integrity": "sha512-ifK0CgjALofS5bkrcTy4RaQ9Vx2Knf/eLeIO+NaswQEpH1UblrtTSCIvN71qQDMq0PeQ/SSPojvEJp9vvvfr+w==", "integrity": "sha512-ifK0CgjALofS5bkrcTy4RaQ9Vx2Knf/eLeIO+NaswQEpH1UblrtTSCIvN71qQDMq0PeQ/SSPojvEJp9vvvfr+w==",
"dev": true,
"license": "ISC", "license": "ISC",
"engines": { "engines": {
"node": "^22.22.2 || ^24.15.0 || >=26.0.0" "node": "^22.22.2 || ^24.15.0 || >=26.0.0"
@@ -1574,12 +1417,6 @@
"js-yaml": "bin/js-yaml.js" "js-yaml": "bin/js-yaml.js"
} }
}, },
"node_modules/json-schema": {
"version": "0.4.0",
"resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
"integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
"license": "(AFL-2.1 OR BSD-3-Clause)"
},
"node_modules/json-schema-traverse": { "node_modules/json-schema-traverse": {
"version": "1.0.0", "version": "1.0.0",
"resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz",
@@ -1647,12 +1484,6 @@
"@keyv/serialize": "^1.1.1" "@keyv/serialize": "^1.1.1"
} }
}, },
"node_modules/kubernetes-types": {
"version": "1.30.0",
"resolved": "https://registry.npmjs.org/kubernetes-types/-/kubernetes-types-1.30.0.tgz",
"integrity": "sha512-Dew1okvhM/SQcIa2rcgujNndZwU8VnSapDgdxlYoB84ZlpAD43U6KLAFqYo17ykSFGHNPrg0qry0bP+GJd9v7Q==",
"license": "Apache-2.0"
},
"node_modules/levn": { "node_modules/levn": {
"version": "0.4.1", "version": "0.4.1",
"resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
@@ -2403,43 +2234,6 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/msgpackr": {
"version": "2.1.0",
"resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-2.1.0.tgz",
"integrity": "sha512-p/pBCVO63CsvvpkomUnNNag6+n38rULuDA6HHe70o2gtC8ODI52foF/4ko2qQcp6OiErJXTmrZeXmsGGHsIQNQ==",
"license": "MIT",
"optionalDependencies": {
"msgpackr-extract": "^3.0.4"
}
},
"node_modules/msgpackr-extract": {
"version": "3.0.4",
"resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.4.tgz",
"integrity": "sha512-4kmO/MdyUIkLIvTPr8VHLil4AtoKIoniWPIEk5+CDy0xnWC84azhSFmuJ7PxZdsYtiP5kEeQsORAVIeMgxT+Hw==",
"hasInstallScript": true,
"license": "MIT",
"optional": true,
"dependencies": {
"node-gyp-build-optional-packages": "5.2.2"
},
"bin": {
"download-msgpackr-prebuilds": "bin/download-prebuilds.js"
},
"optionalDependencies": {
"@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.4",
"@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.4",
"@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.4",
"@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.4",
"@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.4",
"@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.4"
}
},
"node_modules/multipasta": {
"version": "0.2.8",
"resolved": "https://registry.npmjs.org/multipasta/-/multipasta-0.2.8.tgz",
"integrity": "sha512-ZPWuMKyv0cSO29f7hozp+k6+crZbQijV8ipMvxNxRf2SwtYGTX1ZX89Kd20VV4H9Znonx+EQn+iy1wGQsJ+b+Q==",
"license": "MIT"
},
"node_modules/natural-compare": { "node_modules/natural-compare": {
"version": "1.4.0", "version": "1.4.0",
"resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
@@ -2447,21 +2241,6 @@
"dev": true, "dev": true,
"license": "MIT" "license": "MIT"
}, },
"node_modules/node-gyp-build-optional-packages": {
"version": "5.2.2",
"resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz",
"integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==",
"license": "MIT",
"optional": true,
"dependencies": {
"detect-libc": "^2.0.1"
},
"bin": {
"node-gyp-build-optional-packages": "bin.js",
"node-gyp-build-optional-packages-optional": "optional.js",
"node-gyp-build-optional-packages-test": "build-test.js"
}
},
"node_modules/optionator": { "node_modules/optionator": {
"version": "0.9.4", "version": "0.9.4",
"resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz",
@@ -2610,22 +2389,6 @@
"node": ">=6" "node": ">=6"
} }
}, },
"node_modules/pure-rand": {
"version": "8.4.2",
"resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-8.4.2.tgz",
"integrity": "sha512-vvuOGgcuPJAirlHvuQw1TrOiw7ptaIXXmIbNuiNOY6lNGJJH49PQ1Kj4nd783nPdQhQdicgOjVI2yI/9BD6/Ng==",
"funding": [
{
"type": "individual",
"url": "https://github.com/sponsors/dubzzz"
},
{
"type": "opencollective",
"url": "https://opencollective.com/fast-check"
}
],
"license": "MIT"
},
"node_modules/qified": { "node_modules/qified": {
"version": "0.10.1", "version": "0.10.1",
"resolved": "https://registry.npmjs.org/qified/-/qified-0.10.1.tgz", "resolved": "https://registry.npmjs.org/qified/-/qified-0.10.1.tgz",
@@ -2838,15 +2601,6 @@
"url": "https://github.com/sponsors/SuperchupuDev" "url": "https://github.com/sponsors/SuperchupuDev"
} }
}, },
"node_modules/toml": {
"version": "4.3.0",
"resolved": "https://registry.npmjs.org/toml/-/toml-4.3.0.tgz",
"integrity": "sha512-lVb8X9BsPVuH0M4BKeS91tXAmJvCjQ5UIyAbQFaxkKGyUFK2RPkhwaFSQH8vbpl1d23eu/IBH+dwVMHWaq9A5A==",
"license": "MIT",
"engines": {
"node": ">=20"
}
},
"node_modules/type-check": { "node_modules/type-check": {
"version": "0.4.0", "version": "0.4.0",
"resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
@@ -2898,19 +2652,6 @@
"punycode": "^2.1.0" "punycode": "^2.1.0"
} }
}, },
"node_modules/uuid": {
"version": "14.0.2",
"resolved": "https://registry.npmjs.org/uuid/-/uuid-14.0.2.tgz",
"integrity": "sha512-xZe/16rV4aa+HGSOCiY2YeLT1OybRLrrkL/Rqaq7p7GMVXjFh+6wN4oMYgjFmnSnhY8t6Xpdl2l9qmnHYuMHwQ==",
"funding": [
"https://github.com/sponsors/broofa",
"https://github.com/sponsors/ctavan"
],
"license": "MIT",
"bin": {
"uuid": "dist-node/bin/uuid"
}
},
"node_modules/v8-to-istanbul": { "node_modules/v8-to-istanbul": {
"version": "9.3.0", "version": "9.3.0",
"resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz", "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.3.0.tgz",
@@ -2961,21 +2702,6 @@
"node": ">=10" "node": ">=10"
} }
}, },
"node_modules/yaml": {
"version": "2.9.0",
"resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz",
"integrity": "sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA==",
"license": "ISC",
"bin": {
"yaml": "bin.mjs"
},
"engines": {
"node": ">= 14.6"
},
"funding": {
"url": "https://github.com/sponsors/eemeli"
}
},
"node_modules/yargs": { "node_modules/yargs": {
"version": "17.7.2", "version": "17.7.2",
"resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+1 -1
View File
@@ -543,7 +543,7 @@
}, },
"dependencies": { "dependencies": {
"@iarna/toml": "2.2.5", "@iarna/toml": "2.2.5",
"@opencode-ai/plugin": "1.18.34", "@opencode-ai/plugin": "1.4.3",
"ajv": "8.20.0", "ajv": "8.20.0",
"js-yaml": "4.3.2", "js-yaml": "4.3.2",
"sql.js": "1.14.2" "sql.js": "1.14.2"
+6 -5
View File
@@ -486,20 +486,21 @@ async def test_async_with_fixture(async_client):
### Async Fixture (FastAPI) ### Async Fixture (FastAPI)
`ASGITransport` does not run lifespan events. If the app needs startup/shutdown, wrap the client block in `async with LifespanManager(app) as manager:` (from `asgi_lifespan`) `ASGITransport` does not run lifespan events. Install `asgi-lifespan` and wrap the client in `LifespanManager` when the app uses startup or shutdown handlers. See [FastAPI's async testing guidance](https://github.com/fastapi/fastapi/blob/master/docs/en/docs/advanced/async-tests.md).
and use `ASGITransport(app=manager.app)`. See [FastAPI's async testing guidance](https://github.com/fastapi/fastapi/blob/master/docs/en/docs/advanced/async-tests.md).
```python ```python
import pytest import pytest
import pytest_asyncio import pytest_asyncio
from asgi_lifespan import LifespanManager
from httpx import ASGITransport, AsyncClient from httpx import ASGITransport, AsyncClient
@pytest_asyncio.fixture @pytest_asyncio.fixture
async def async_client(): async def async_client():
"""Async fixture providing async test client.""" """Async fixture providing async test client with lifespan events."""
app = create_app() # Returns a FastAPI application app = create_app() # Returns a FastAPI application
async with AsyncClient(transport=ASGITransport(app=app), base_url="http://test") as client: async with LifespanManager(app) as manager:
yield client async with AsyncClient(transport=ASGITransport(app=manager.app), base_url="http://test") as client:
yield client
@pytest.mark.asyncio @pytest.mark.asyncio
async def test_api_endpoint(async_client): async def test_api_endpoint(async_client):
+3 -2
View File
@@ -25,8 +25,9 @@ function normalizeFailureReason(reason) {
// A closing quote must be followed by a delimiter, not another name character. // A closing quote must be followed by a delimiter, not another name character.
.replace(/(["'])(?:[a-z]:[\\/]|\\\\)[^\r\n]*?\1(?=[:\s),;.!?]|$)/gu, '$1<path>$1') .replace(/(["'])(?:[a-z]:[\\/]|\\\\)[^\r\n]*?\1(?=[:\s),;.!?]|$)/gu, '$1<path>$1')
// Directories may contain spaces, but trailing whitespace separates diagnostic prose. // Directories may contain spaces, but trailing whitespace separates diagnostic prose.
// Spaced leaves need an extension before a colon, or quotes; preserve extensionless diagnostics. // Unquoted spaced leaves allow one final dotted token; longer prose stays diagnostic.
.replace(/(?:\b[a-z]:|\\)[\\/](?:[^\\/:*?"<>|\r\n]*[^\s\\/:*?"<>|][\\/])*[^\s\\/:*?"<>|(),;]+(?: [^\\/:*?"<>|\r\n]*\.[^\s\\/:*?"<>|]+(?=:))?[\\/]*/gu, '<path>') // Quote paths with multiple spaces in the final filename to remove ambiguity.
.replace(/(?:\b[a-z]:|\\)[\\/](?:[^\\/:*?"<>|\r\n]*[^\s\\/:*?"<>|][\\/])*[^\s\\/:*?"<>|(),;]+(?: [^\s\\/:*?"<>|]+\.[^\s\\/:*?"<>|]+(?=:))?[\\/]*/gu, '<path>')
// Strip remaining file paths // Strip remaining file paths
.replace(/(?:\b[a-z]:)?[\\/][\w./\\-]+/g, '<path>') .replace(/(?:\b[a-z]:)?[\\/][\w./\\-]+/g, '<path>')
// Collapse whitespace // Collapse whitespace
@@ -281,6 +281,7 @@ def test_parse_confidence_preserves_valid_range(confidence):
assert parse_instinct_file(content)[0]["confidence"] == confidence assert parse_instinct_file(content)[0]["confidence"] == confidence
@pytest.mark.unit
@pytest.mark.parametrize("value", [ @pytest.mark.parametrize("value", [
"line one\nline two", "tab\tvalue", "carriage\rreturn", "line one\nline two", "tab\tvalue", "carriage\rreturn",
'when writing "quoted" text', r"C:\Users\name", "caf\u00e9", 'when writing "quoted" text', r"C:\Users\name", "caf\u00e9",
@@ -294,11 +295,13 @@ def test_quoted_instinct_strings_roundtrip(value: str) -> None:
assert instincts[0]["trigger"] == value assert instincts[0]["trigger"] == value
@pytest.mark.unit
def test_parse_quoted_instinct_decodes_newline_escape() -> None: def test_parse_quoted_instinct_decodes_newline_escape() -> None:
content = '---\nid: newline\ntrigger: "line one\\nline two"\n---\nBody' content = '---\nid: newline\ntrigger: "line one\\nline two"\n---\nBody'
assert parse_instinct_file(content)[0]["trigger"] == "line one\nline two" assert parse_instinct_file(content)[0]["trigger"] == "line one\nline two"
@pytest.mark.unit
@pytest.mark.parametrize("value", ["line\u0085value", "line\u0090value"]) @pytest.mark.parametrize("value", ["line\u0085value", "line\u0090value"])
def test_unicode_controls_are_escaped_for_yaml(value: str) -> None: def test_unicode_controls_are_escaped_for_yaml(value: str) -> None:
quoted = _mod._yaml_quote(value) quoted = _mod._yaml_quote(value)
@@ -306,6 +309,7 @@ def test_unicode_controls_are_escaped_for_yaml(value: str) -> None:
assert json.loads(quoted) == value assert json.loads(quoted) == value
@pytest.mark.unit
def test_parse_quoted_instinct_preserves_legacy_escape() -> None: def test_parse_quoted_instinct_preserves_legacy_escape() -> None:
content = '---\nid: legacy\ntrigger: "C:\\projects"\n---\nBody' content = '---\nid: legacy\ntrigger: "C:\\projects"\n---\nBody'
assert parse_instinct_file(content)[0]["trigger"] == r"C:\projects" assert parse_instinct_file(content)[0]["trigger"] == r"C:\projects"
+6 -5
View File
@@ -486,20 +486,21 @@ async def test_async_with_fixture(async_client):
### Async Fixture (FastAPI) ### Async Fixture (FastAPI)
`ASGITransport` does not run lifespan events. If the app needs startup/shutdown, wrap the client block in `async with LifespanManager(app) as manager:` (from `asgi_lifespan`) `ASGITransport` does not run lifespan events. Install `asgi-lifespan` and wrap the client in `LifespanManager` when the app uses startup or shutdown handlers. See [FastAPI's async testing guidance](https://github.com/fastapi/fastapi/blob/master/docs/en/docs/advanced/async-tests.md).
and use `ASGITransport(app=manager.app)`. See [FastAPI's async testing guidance](https://github.com/fastapi/fastapi/blob/master/docs/en/docs/advanced/async-tests.md).
```python ```python
import pytest import pytest
import pytest_asyncio import pytest_asyncio
from asgi_lifespan import LifespanManager
from httpx import ASGITransport, AsyncClient from httpx import ASGITransport, AsyncClient
@pytest_asyncio.fixture @pytest_asyncio.fixture
async def async_client(): async def async_client():
"""Async fixture providing async test client.""" """Async fixture providing async test client with lifespan events."""
app = create_app() # Returns a FastAPI application app = create_app() # Returns a FastAPI application
async with AsyncClient(transport=ASGITransport(app=app), base_url="http://test") as client: async with LifespanManager(app) as manager:
yield client async with AsyncClient(transport=ASGITransport(app=manager.app), base_url="http://test") as client:
yield client
@pytest.mark.asyncio @pytest.mark.asyncio
async def test_api_endpoint(async_client): async def test_api_endpoint(async_client):
+2 -1
View File
@@ -48,7 +48,8 @@ def classify_events(
) )
result = subprocess.run( result = subprocess.run(
["claude", "-p", prompt, "--model", model, "--output-format", "text"], ["claude", "-p", "--model", model, "--output-format", "text"],
input=prompt,
capture_output=True, capture_output=True,
encoding="utf-8", encoding="utf-8",
timeout=60, timeout=60,
+2 -1
View File
@@ -50,7 +50,7 @@ def run_scenario(
result = subprocess.run( result = subprocess.run(
[ [
"claude", "-p", scenario.prompt, "claude", "-p",
"--model", model, "--model", model,
"--max-turns", str(max_turns), "--max-turns", str(max_turns),
"--add-dir", str(sandbox_dir), "--add-dir", str(sandbox_dir),
@@ -58,6 +58,7 @@ def run_scenario(
"--output-format", "stream-json", "--output-format", "stream-json",
"--verbose", "--verbose",
], ],
input=scenario.prompt,
capture_output=True, capture_output=True,
encoding="utf-8", encoding="utf-8",
timeout=timeout, timeout=timeout,
@@ -41,7 +41,8 @@ def generate_scenarios(
) )
result = subprocess.run( result = subprocess.run(
["claude", "-p", prompt, "--model", model, "--output-format", "text"], ["claude", "-p", "--model", model, "--output-format", "text"],
input=prompt,
capture_output=True, capture_output=True,
encoding="utf-8", encoding="utf-8",
timeout=120, timeout=120,
@@ -41,7 +41,8 @@ def generate_spec(
) )
result = subprocess.run( result = subprocess.run(
["claude", "-p", prompt, "--model", model, "--output-format", "text"], ["claude", "-p", "--model", model, "--output-format", "text"],
input=prompt,
capture_output=True, capture_output=True,
encoding="utf-8", encoding="utf-8",
timeout=120, timeout=120,
+33 -4
View File
@@ -27,7 +27,8 @@ SPEC = {"id": "unicode", "name": TEXT, "source_rule": TEXT, "version": "1",
def mock_cli(payload: str) -> Callable[..., subprocess.CompletedProcess[str]]: def mock_cli(payload: str) -> Callable[..., subprocess.CompletedProcess[str]]:
"""Emulate decoding UTF-8 CLI bytes using the caller's selected encoding.""" """Emulate decoding UTF-8 CLI bytes using the caller's selected encoding."""
def execute(command: list[str], **kwargs: Any) -> subprocess.CompletedProcess[str]: def execute(command: list[str], **kwargs: Any) -> subprocess.CompletedProcess[str]:
assert TEXT in command[2] assert command[:2] == ["claude", "-p"]
assert TEXT in kwargs["input"]
encoding = kwargs.get("encoding") or locale.getpreferredencoding(False) encoding = kwargs.get("encoding") or locale.getpreferredencoding(False)
return subprocess.CompletedProcess(command, 0, stdout=payload.encode("utf-8").decode(encoding), stderr="") return subprocess.CompletedProcess(command, 0, stdout=payload.encode("utf-8").decode(encoding), stderr="")
return execute return execute
@@ -67,7 +68,7 @@ def test_generators_preserve_utf8(tmp_path: Path, monkeypatch: pytest.MonkeyPatc
]} ]}
execute = mock_cli(yaml.safe_dump(response, allow_unicode=True)) execute = mock_cli(yaml.safe_dump(response, allow_unicode=True))
def checked_execute(command: list[str], **kwargs: Any) -> subprocess.CompletedProcess[str]: def checked_execute(command: list[str], **kwargs: Any) -> subprocess.CompletedProcess[str]:
assert PROMPT_TEXT in command[2] assert PROMPT_TEXT in kwargs["input"]
return execute(command, **kwargs) return execute(command, **kwargs)
monkeypatch.setattr(module.subprocess, "run", checked_execute) monkeypatch.setattr(module.subprocess, "run", checked_execute)
if kind == "spec": if kind == "spec":
@@ -82,7 +83,7 @@ def test_spec_retry_preserves_utf8(tmp_path: Path, monkeypatch: pytest.MonkeyPat
responses = iter(["steps: [invalid", yaml.safe_dump(SPEC, allow_unicode=True)]) responses = iter(["steps: [invalid", yaml.safe_dump(SPEC, allow_unicode=True)])
prompts: list[str] = [] prompts: list[str] = []
def execute(command: list[str], **kwargs: Any) -> subprocess.CompletedProcess[str]: def execute(command: list[str], **kwargs: Any) -> subprocess.CompletedProcess[str]:
prompts.append(command[2]) prompts.append(kwargs["input"])
return mock_cli(next(responses))(command, **kwargs) return mock_cli(next(responses))(command, **kwargs)
monkeypatch.setattr(spec_generator.subprocess, "run", execute) monkeypatch.setattr(spec_generator.subprocess, "run", execute)
assert spec_generator.generate_spec(skill, max_retries=1).name == TEXT assert spec_generator.generate_spec(skill, max_retries=1).name == TEXT
@@ -95,7 +96,7 @@ def test_classifier_preserves_utf8(tmp_path: Path, monkeypatch: pytest.MonkeyPat
monkeypatch.setattr(classifier, "PROMPTS_DIR", tmp_path) monkeypatch.setattr(classifier, "PROMPTS_DIR", tmp_path)
execute = mock_cli(json.dumps({TEXT: [0]}, ensure_ascii=False)) execute = mock_cli(json.dumps({TEXT: [0]}, ensure_ascii=False))
def checked_execute(command: list[str], **kwargs: Any) -> subprocess.CompletedProcess[str]: def checked_execute(command: list[str], **kwargs: Any) -> subprocess.CompletedProcess[str]:
assert PROMPT_TEXT in command[2] assert PROMPT_TEXT in kwargs["input"]
return execute(command, **kwargs) return execute(command, **kwargs)
monkeypatch.setattr(classifier.subprocess, "run", checked_execute) monkeypatch.setattr(classifier.subprocess, "run", checked_execute)
spec = ComplianceSpec("unicode", TEXT, TEXT, "1", (Step(TEXT, TEXT, True, Detector(TEXT)),), 0.6) spec = ComplianceSpec("unicode", TEXT, TEXT, "1", (Step(TEXT, TEXT, True, Detector(TEXT)),), 0.6)
@@ -116,6 +117,34 @@ def test_runner_preserves_utf8_capture(tmp_path: Path, monkeypatch: pytest.Monke
assert runner.run_scenario(scenario).observations[0].output == TEXT assert runner.run_scenario(scenario).observations[0].output == TEXT
@pytest.mark.skipif(os.name == "nt", reason="Windows does not use the POSIX locale for argv encoding")
def test_real_cli_receives_utf8_prompt_on_stdin(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
"""A real child process catches Unicode argv failures that mocked run calls miss."""
fake_cli = tmp_path / "claude"
fake_cli.write_text(
"#!/usr/bin/env python3\n"
"import os, sys\n"
"data = sys.stdin.buffer.read()\n"
"with open(os.environ['ECC_FAKE_CLAUDE_STDIN'], 'wb') as stream:\n"
" stream.write(data)\n"
"with open(os.environ['ECC_FAKE_CLAUDE_RESPONSE'], 'rb') as stream:\n"
" sys.stdout.buffer.write(stream.read())\n",
encoding="ascii",
)
fake_cli.chmod(0o755)
captured = tmp_path / "stdin.bin"
response = tmp_path / "response.yaml"
response.write_text(yaml.safe_dump(SPEC, allow_unicode=True), encoding="utf-8")
monkeypatch.setenv("ECC_FAKE_CLAUDE_STDIN", str(captured))
monkeypatch.setenv("ECC_FAKE_CLAUDE_RESPONSE", str(response))
monkeypatch.setenv("PATH", str(tmp_path) + os.pathsep + os.environ["PATH"])
skill = tmp_path / "SKILL.md"
skill.write_text(TEXT, encoding="utf-8")
assert spec_generator.generate_spec(skill, max_retries=0).name == TEXT
assert TEXT.encode("utf-8") in captured.read_bytes()
def test_report_is_written_as_utf8(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None: def test_report_is_written_as_utf8(tmp_path: Path, monkeypatch: pytest.MonkeyPatch) -> None:
skill = tmp_path / "SKILL.md" skill = tmp_path / "SKILL.md"
skill.write_text(TEXT, encoding="utf-8") skill.write_text(TEXT, encoding="utf-8")
+2
View File
@@ -15,6 +15,8 @@ const commands = [
if (process.platform === 'win32') { if (process.platform === 'win32') {
console.log('Skipped: Santa Loop examples require Bash'); console.log('Skipped: Santa Loop examples require Bash');
console.log('Passed: 0');
console.log('Failed: 0');
process.exit(0); process.exit(0);
} }
+31
View File
@@ -172,6 +172,37 @@ async function runTests() {
assert.strictEqual(groupFailures(runs).size, 3); assert.strictEqual(groupFailures(runs).size, 3);
})) passed += 1; else failed += 1; })) passed += 1; else failed += 1;
if (await test('keeps dotted diagnostic prose after extensionless Windows paths separate', async () => {
const reasons = [
String.raw`Command C:\tools\node failed to open config.json: EACCES`,
String.raw`Command D:\tools\node timed out opening config.json: EACCES`,
];
assert.deepStrictEqual(reasons.map(normalizeFailureReason), [
'command <path> failed to open config.json: eacces',
'command <path> timed out opening config.json: eacces',
]);
const runs = reasons.map((failureReason, index) => makeSkillRun({ id: `dotted-${index}`, failureReason }));
assert.strictEqual(groupFailures(runs).size, 2);
})) passed += 1; else failed += 1;
if (await test('groups Windows filenames with diagnostic-looking words', async () => {
const reasons = [
String.raw`Command C:\work\app error.log: permission denied`,
String.raw`Command D:\work\app output.log: permission denied`,
String.raw`Command E:\work\my failed-test.js: permission denied`,
];
assert.deepStrictEqual(reasons.map(normalizeFailureReason), [
'command <path>: permission denied',
'command <path>: permission denied',
'command <path>: permission denied',
]);
const runs = reasons.map((failureReason, index) => makeSkillRun({ id: `filename-${index}`, failureReason }));
assert.strictEqual(groupFailures(runs).size, 1);
const patterns = detectPatterns(runs);
assert.strictEqual(patterns.length, 1);
assert.strictEqual(patterns[0].count, 3);
})) passed += 1; else failed += 1;
if (await test('groupFailures handles mixed outcome casing', async () => { if (await test('groupFailures handles mixed outcome casing', async () => {
const runs = [ const runs = [
makeSkillRun({ id: 'r1', outcome: 'FAILURE', failureReason: 'timeout' }), makeSkillRun({ id: 'r1', outcome: 'FAILURE', failureReason: 'timeout' }),
+1 -1
View File
@@ -548,7 +548,7 @@ module.exports = { resolveEccRoot() { assert.strictEqual(process.env.HOME, ${JSO
}); });
// On WSL, 'C:\\Users\\test\\.claude' is converted to '/mnt/c/Users/test/.claude'. // On WSL, 'C:\\Users\\test\\.claude' is converted to '/mnt/c/Users/test/.claude'.
// No install exists at the converted path, so resolveEccRoot falls back to it. // No install exists at the converted path, so resolveEccRoot falls back to it.
assert.strictEqual(result, '/mnt/c/Users/test/.claude'); assert.strictEqual(result, path.resolve('/mnt/c/Users/test/.claude'));
} finally { } finally {
fs.rmSync(homeDir, { recursive: true, force: true }); fs.rmSync(homeDir, { recursive: true, force: true });
} }
+15 -373
View File
@@ -5,15 +5,6 @@ __metadata:
version: 8 version: 8
cacheKey: 10c0 cacheKey: 10c0
"@ai-sdk/provider@npm:3.0.8":
version: 3.0.8
resolution: "@ai-sdk/provider@npm:3.0.8"
dependencies:
json-schema: "npm:^0.4.0"
checksum: 10c0/c68637c0139a6ce8af17bac1d7d539f531860026237c5c971dcecda2daa8b1e42d8c05e1e664ece60c15edb325c0253fd5b091ee54d32f870a750a493acbb0b7
languageName: node
linkType: hard
"@bcoe/v8-coverage@npm:^1.0.1": "@bcoe/v8-coverage@npm:^1.0.1":
version: 1.0.2 version: 1.0.2
resolution: "@bcoe/v8-coverage@npm:1.0.2" resolution: "@bcoe/v8-coverage@npm:1.0.2"
@@ -162,15 +153,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@isaacs/fs-minipass@npm:^4.0.0":
version: 4.0.1
resolution: "@isaacs/fs-minipass@npm:4.0.1"
dependencies:
minipass: "npm:^7.0.4"
checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2
languageName: node
linkType: hard
"@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3": "@istanbuljs/schema@npm:^0.1.2, @istanbuljs/schema@npm:^0.1.3":
version: 0.1.3 version: 0.1.3
resolution: "@istanbuljs/schema@npm:0.1.3" resolution: "@istanbuljs/schema@npm:0.1.3"
@@ -221,84 +203,30 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:3.0.4": "@opencode-ai/plugin@npm:1.4.3":
version: 3.0.4 version: 1.4.3
resolution: "@msgpackr-extract/msgpackr-extract-darwin-arm64@npm:3.0.4" resolution: "@opencode-ai/plugin@npm:1.4.3"
conditions: os=darwin & cpu=arm64
languageName: node
linkType: hard
"@msgpackr-extract/msgpackr-extract-darwin-x64@npm:3.0.4":
version: 3.0.4
resolution: "@msgpackr-extract/msgpackr-extract-darwin-x64@npm:3.0.4"
conditions: os=darwin & cpu=x64
languageName: node
linkType: hard
"@msgpackr-extract/msgpackr-extract-linux-arm64@npm:3.0.4":
version: 3.0.4
resolution: "@msgpackr-extract/msgpackr-extract-linux-arm64@npm:3.0.4"
conditions: os=linux & cpu=arm64
languageName: node
linkType: hard
"@msgpackr-extract/msgpackr-extract-linux-arm@npm:3.0.4":
version: 3.0.4
resolution: "@msgpackr-extract/msgpackr-extract-linux-arm@npm:3.0.4"
conditions: os=linux & cpu=arm
languageName: node
linkType: hard
"@msgpackr-extract/msgpackr-extract-linux-x64@npm:3.0.4":
version: 3.0.4
resolution: "@msgpackr-extract/msgpackr-extract-linux-x64@npm:3.0.4"
conditions: os=linux & cpu=x64
languageName: node
linkType: hard
"@msgpackr-extract/msgpackr-extract-win32-x64@npm:3.0.4":
version: 3.0.4
resolution: "@msgpackr-extract/msgpackr-extract-win32-x64@npm:3.0.4"
conditions: os=win32 & cpu=x64
languageName: node
linkType: hard
"@opencode-ai/plugin@npm:1.18.34":
version: 1.18.34
resolution: "@opencode-ai/plugin@npm:1.18.34"
dependencies: dependencies:
"@ai-sdk/provider": "npm:3.0.8" "@opencode-ai/sdk": "npm:1.4.3"
"@opencode-ai/sdk": "npm:1.18.34"
effect: "npm:4.0.0-beta.83"
zod: "npm:4.1.8" zod: "npm:4.1.8"
peerDependencies: peerDependencies:
"@opentui/core": ">=0.4.5" "@opentui/core": ">=0.1.97"
"@opentui/keymap": ">=0.4.5" "@opentui/solid": ">=0.1.97"
"@opentui/solid": ">=0.4.5"
peerDependenciesMeta: peerDependenciesMeta:
"@opentui/core": "@opentui/core":
optional: true optional: true
"@opentui/keymap":
optional: true
"@opentui/solid": "@opentui/solid":
optional: true optional: true
checksum: 10c0/09929c3a34d73aba35287d559256489570af82c25494b0d6d8ebf887b9aaf5a2e9a7ff0d449ca9a9e864e223ebdb0d2da378ccd4e4c4daba8dcf98820042b47d checksum: 10c0/a20328a691a674638e4718c1fb911ea68b60fc7560f1bf314324114ccdcabbddc12e98c4fc9f3aad69e92aaaac7edbd44216bf036955ec5d1f50282430ab06ae
languageName: node languageName: node
linkType: hard linkType: hard
"@opencode-ai/sdk@npm:1.18.34": "@opencode-ai/sdk@npm:1.4.3":
version: 1.18.34 version: 1.4.3
resolution: "@opencode-ai/sdk@npm:1.18.34" resolution: "@opencode-ai/sdk@npm:1.4.3"
dependencies: dependencies:
cross-spawn: "npm:7.0.6" cross-spawn: "npm:7.0.6"
checksum: 10c0/bad0f38016e59568d5e16e9bdeddca9d491845269de5d860640132efb3a4d5612057418a4327a4264d937fa24bf914458e458f3dcd88e68b9e50951570fb68e2 checksum: 10c0/edba27ef01ecfb6fde7df2348f953aab64f2e7b99e9cd5b155474e7e02cc0db62da242d9edcd5b704110b9ef82bc16633d99d25eaa812d4279badede71ae419f
languageName: node
linkType: hard
"@standard-schema/spec@npm:^1.1.0":
version: 1.1.0
resolution: "@standard-schema/spec@npm:1.1.0"
checksum: 10c0/d90f55acde4b2deb983529c87e8025fa693de1a5e8b49ecc6eb84d1fd96328add0e03d7d551442156c7432fd78165b2c26ff561b970a9a881f046abb78d6a526
languageName: node languageName: node
linkType: hard linkType: hard
@@ -369,13 +297,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"abbrev@npm:^5.0.0":
version: 5.0.0
resolution: "abbrev@npm:5.0.0"
checksum: 10c0/8e88f5c798ea4562d28c5a3e9ad69e3879890bc5d695d8f2dffb8609be4c890aacc8f80ef4553fdd2c6a62d70c2ce8bc57b38074e383beb7487bdafa9ed42ea5
languageName: node
linkType: hard
"acorn-jsx@npm:^5.3.2": "acorn-jsx@npm:^5.3.2":
version: 5.3.2 version: 5.3.2
resolution: "acorn-jsx@npm:5.3.2" resolution: "acorn-jsx@npm:5.3.2"
@@ -524,13 +445,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"chownr@npm:^3.0.0":
version: 3.0.0
resolution: "chownr@npm:3.0.0"
checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10
languageName: node
linkType: hard
"cliui@npm:^8.0.1": "cliui@npm:^8.0.1":
version: 8.0.1 version: 8.0.1
resolution: "cliui@npm:8.0.1" resolution: "cliui@npm:8.0.1"
@@ -632,13 +546,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"detect-libc@npm:^2.0.1":
version: 2.1.2
resolution: "detect-libc@npm:2.1.2"
checksum: 10c0/acc675c29a5649fa1fb6e255f993b8ee829e510b6b56b0910666949c80c364738833417d0edb5f90e4e46be17228b0f2b66a010513984e18b15deeeac49369c4
languageName: node
linkType: hard
"devlop@npm:^1.0.0": "devlop@npm:^1.0.0":
version: 1.1.0 version: 1.1.0
resolution: "devlop@npm:1.1.0" resolution: "devlop@npm:1.1.0"
@@ -654,7 +561,7 @@ __metadata:
dependencies: dependencies:
"@eslint/js": "npm:9.39.2" "@eslint/js": "npm:9.39.2"
"@iarna/toml": "npm:2.2.5" "@iarna/toml": "npm:2.2.5"
"@opencode-ai/plugin": "npm:1.18.34" "@opencode-ai/plugin": "npm:1.4.3"
"@types/node": "npm:26.6.4" "@types/node": "npm:26.6.4"
ajv: "npm:8.20.0" ajv: "npm:8.20.0"
c8: "npm:11.0.0" c8: "npm:11.0.0"
@@ -674,24 +581,6 @@ __metadata:
languageName: unknown languageName: unknown
linkType: soft linkType: soft
"effect@npm:4.0.0-beta.83":
version: 4.0.0-beta.83
resolution: "effect@npm:4.0.0-beta.83"
dependencies:
"@standard-schema/spec": "npm:^1.1.0"
fast-check: "npm:^4.8.0"
find-my-way-ts: "npm:^0.1.6"
ini: "npm:^7.0.0"
kubernetes-types: "npm:^1.30.0"
msgpackr: "npm:^2.0.1"
multipasta: "npm:^0.2.7"
toml: "npm:^4.1.1"
uuid: "npm:^14.0.0"
yaml: "npm:^2.9.0"
checksum: 10c0/1eaa03aee6e8bf7190645fc032cb7541aafe2b07ed9de8ebe13525971cd5fcea2d003b327fbed626439458dc619ef5c1371f27f6d1ec52c8acf851ead1237c22
languageName: node
linkType: hard
"emoji-regex@npm:^8.0.0": "emoji-regex@npm:^8.0.0":
version: 8.0.0 version: 8.0.0
resolution: "emoji-regex@npm:8.0.0" resolution: "emoji-regex@npm:8.0.0"
@@ -706,13 +595,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"env-paths@npm:^2.2.0":
version: 2.2.1
resolution: "env-paths@npm:2.2.1"
checksum: 10c0/285325677bf00e30845e330eec32894f5105529db97496ee3f598478e50f008c5352a41a30e5e72ec9de8a542b5a570b85699cd63bd2bc646dbcb9f311d83bc4
languageName: node
linkType: hard
"escalade@npm:^3.1.1": "escalade@npm:^3.1.1":
version: 3.2.0 version: 3.2.0
resolution: "escalade@npm:3.2.0" resolution: "escalade@npm:3.2.0"
@@ -841,22 +723,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"exponential-backoff@npm:^3.1.1":
version: 3.1.3
resolution: "exponential-backoff@npm:3.1.3"
checksum: 10c0/77e3ae682b7b1f4972f563c6dbcd2b0d54ac679e62d5d32f3e5085feba20483cf28bd505543f520e287a56d4d55a28d7874299941faf637e779a1aa5994d1267
languageName: node
linkType: hard
"fast-check@npm:^4.8.0":
version: 4.8.0
resolution: "fast-check@npm:4.8.0"
dependencies:
pure-rand: "npm:^8.0.0"
checksum: 10c0/f72556a29db4ff386a8b6e50d420b06c7e5eaafff7db5560a99136c57d8d4777998155eb02d1bbeff396f575cc0b1442c8a1c4ddb798c4a919b542de1a1904ff
languageName: node
linkType: hard
"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3": "fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3":
version: 3.1.3 version: 3.1.3
resolution: "fast-deep-equal@npm:3.1.3" resolution: "fast-deep-equal@npm:3.1.3"
@@ -906,13 +772,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"find-my-way-ts@npm:^0.1.6":
version: 0.1.6
resolution: "find-my-way-ts@npm:0.1.6"
checksum: 10c0/16ad4b15275b56ee0ec361d0c61afbdff4c75bd0ac04112f6910f188cb1058096ba63529c2363914da6bb60266aa4def1025af04af26368ff87eb0df52f2862f
languageName: node
linkType: hard
"find-up@npm:^5.0.0": "find-up@npm:^5.0.0":
version: 5.0.0 version: 5.0.0
resolution: "find-up@npm:5.0.0" resolution: "find-up@npm:5.0.0"
@@ -992,13 +851,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"graceful-fs@npm:^4.2.6":
version: 4.2.11
resolution: "graceful-fs@npm:4.2.11"
checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2
languageName: node
linkType: hard
"has-flag@npm:^4.0.0": "has-flag@npm:^4.0.0":
version: 4.0.0 version: 4.0.0
resolution: "has-flag@npm:4.0.0" resolution: "has-flag@npm:4.0.0"
@@ -1057,7 +909,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"ini@npm:^7.0.0, ini@npm:~7.0.0": "ini@npm:~7.0.0":
version: 7.0.0 version: 7.0.0
resolution: "ini@npm:7.0.0" resolution: "ini@npm:7.0.0"
checksum: 10c0/7520cae38bd5587e1cbca4637bb5fc0e157f38e0816522756456010ef703772d0018f9f4987cb9977bf3b10c1feccaad7800744dd1f5d85fb435e58a1baa9754 checksum: 10c0/7520cae38bd5587e1cbca4637bb5fc0e157f38e0816522756456010ef703772d0018f9f4987cb9977bf3b10c1feccaad7800744dd1f5d85fb435e58a1baa9754
@@ -1125,13 +977,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"isexe@npm:^4.0.0":
version: 4.0.0
resolution: "isexe@npm:4.0.0"
checksum: 10c0/5884815115bceac452877659a9c7726382531592f43dc29e5d48b7c4100661aed54018cb90bd36cb2eaeba521092570769167acbb95c18d39afdccbcca06c5ce
languageName: node
linkType: hard
"istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0": "istanbul-lib-coverage@npm:^3.0.0, istanbul-lib-coverage@npm:^3.2.0":
version: 3.2.2 version: 3.2.2
resolution: "istanbul-lib-coverage@npm:3.2.2" resolution: "istanbul-lib-coverage@npm:3.2.2"
@@ -1185,13 +1030,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"json-schema@npm:^0.4.0":
version: 0.4.0
resolution: "json-schema@npm:0.4.0"
checksum: 10c0/d4a637ec1d83544857c1c163232f3da46912e971d5bf054ba44fdb88f07d8d359a462b4aec46f2745efbc57053365608d88bc1d7b1729f7b4fc3369765639ed3
languageName: node
linkType: hard
"json-stable-stringify-without-jsonify@npm:^1.0.1": "json-stable-stringify-without-jsonify@npm:^1.0.1":
version: 1.0.1 version: 1.0.1
resolution: "json-stable-stringify-without-jsonify@npm:1.0.1" resolution: "json-stable-stringify-without-jsonify@npm:1.0.1"
@@ -1233,13 +1071,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"kubernetes-types@npm:^1.30.0":
version: 1.30.0
resolution: "kubernetes-types@npm:1.30.0"
checksum: 10c0/de3641e4f50cfc123c4102a73c12932e1db8e51783c7cae4ea8ad3561bd56fab0f1c2346801f84a4c36aae8cea0b25d21e9514cc0fcecd4d64b1314043263076
languageName: node
linkType: hard
"levn@npm:^0.4.1": "levn@npm:^0.4.1":
version: 0.4.1 version: 0.4.1
resolution: "levn@npm:0.4.1" resolution: "levn@npm:0.4.1"
@@ -1666,22 +1497,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"minipass@npm:^7.0.4, minipass@npm:^7.1.2, minipass@npm:^7.1.3": "minipass@npm:^7.1.2, minipass@npm:^7.1.3":
version: 7.1.3 version: 7.1.3
resolution: "minipass@npm:7.1.3" resolution: "minipass@npm:7.1.3"
checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb checksum: 10c0/539da88daca16533211ea5a9ee98dc62ff5742f531f54640dd34429e621955e91cc280a91a776026264b7f9f6735947629f920944e9c1558369e8bf22eb33fbb
languageName: node languageName: node
linkType: hard linkType: hard
"minizlib@npm:^3.1.0":
version: 3.1.0
resolution: "minizlib@npm:3.1.0"
dependencies:
minipass: "npm:^7.1.2"
checksum: 10c0/5aad75ab0090b8266069c9aabe582c021ae53eb33c6c691054a13a45db3b4f91a7fb1bd79151e6b4e9e9a86727b522527c0a06ec7d45206b745d54cd3097bcec
languageName: node
linkType: hard
"ms@npm:^2.1.3": "ms@npm:^2.1.3":
version: 2.1.3 version: 2.1.3
resolution: "ms@npm:2.1.3" resolution: "ms@npm:2.1.3"
@@ -1689,56 +1511,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"msgpackr-extract@npm:^3.0.4":
version: 3.0.4
resolution: "msgpackr-extract@npm:3.0.4"
dependencies:
"@msgpackr-extract/msgpackr-extract-darwin-arm64": "npm:3.0.4"
"@msgpackr-extract/msgpackr-extract-darwin-x64": "npm:3.0.4"
"@msgpackr-extract/msgpackr-extract-linux-arm": "npm:3.0.4"
"@msgpackr-extract/msgpackr-extract-linux-arm64": "npm:3.0.4"
"@msgpackr-extract/msgpackr-extract-linux-x64": "npm:3.0.4"
"@msgpackr-extract/msgpackr-extract-win32-x64": "npm:3.0.4"
node-gyp: "npm:latest"
node-gyp-build-optional-packages: "npm:5.2.2"
dependenciesMeta:
"@msgpackr-extract/msgpackr-extract-darwin-arm64":
optional: true
"@msgpackr-extract/msgpackr-extract-darwin-x64":
optional: true
"@msgpackr-extract/msgpackr-extract-linux-arm":
optional: true
"@msgpackr-extract/msgpackr-extract-linux-arm64":
optional: true
"@msgpackr-extract/msgpackr-extract-linux-x64":
optional: true
"@msgpackr-extract/msgpackr-extract-win32-x64":
optional: true
bin:
download-msgpackr-prebuilds: bin/download-prebuilds.js
checksum: 10c0/582a9d17abbf3019e600e948736695056280ce401fd0235ee2474e95f9952208b9f6cce4d0e355b03b7d3c5630e6c3d11fe5fc27fdedb2311cce48de464338d8
languageName: node
linkType: hard
"msgpackr@npm:^2.0.1":
version: 2.0.4
resolution: "msgpackr@npm:2.0.4"
dependencies:
msgpackr-extract: "npm:^3.0.4"
dependenciesMeta:
msgpackr-extract:
optional: true
checksum: 10c0/b72e8de59ce82a29cd5ca6d93ceec589367dd742a75fb04b6d26d6e0c5863f1000d0b27979469f18ca4554f3ccabe620524013268d5387415bcab495cca4ae73
languageName: node
linkType: hard
"multipasta@npm:^0.2.7":
version: 0.2.7
resolution: "multipasta@npm:0.2.7"
checksum: 10c0/15917ac88aeefa5b8afac44b90d1e9d0d0ec7148b51e0766f07a69a220ecebcb6404539a856c45aa85a3d7fe517bc58febe81437146705f17ecd2961dc0b9fa5
languageName: node
linkType: hard
"natural-compare@npm:^1.4.0": "natural-compare@npm:^1.4.0":
version: 1.4.0 version: 1.4.0
resolution: "natural-compare@npm:1.4.0" resolution: "natural-compare@npm:1.4.0"
@@ -1746,50 +1518,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"node-gyp-build-optional-packages@npm:5.2.2":
version: 5.2.2
resolution: "node-gyp-build-optional-packages@npm:5.2.2"
dependencies:
detect-libc: "npm:^2.0.1"
bin:
node-gyp-build-optional-packages: bin.js
node-gyp-build-optional-packages-optional: optional.js
node-gyp-build-optional-packages-test: build-test.js
checksum: 10c0/c81128c6f91873381be178c5eddcbdf66a148a6a89a427ce2bcd457593ce69baf2a8662b6d22cac092d24aa9c43c230dec4e69b3a0da604503f4777cd77e282b
languageName: node
linkType: hard
"node-gyp@npm:latest":
version: 13.0.0
resolution: "node-gyp@npm:13.0.0"
dependencies:
env-paths: "npm:^2.2.0"
exponential-backoff: "npm:^3.1.1"
graceful-fs: "npm:^4.2.6"
nopt: "npm:^10.0.0"
proc-log: "npm:^7.0.0"
semver: "npm:^7.3.5"
tar: "npm:^7.5.4"
tinyglobby: "npm:^0.2.12"
undici: "npm:^6.25.0"
which: "npm:^7.0.0"
bin:
node-gyp: bin/node-gyp.js
checksum: 10c0/e7525c427db2d16aa368b8947187de83083d2a8dda23e3e096a71c22ae637ac5bb8ed7cf6c871f1b9118cd2729dbfee4ff3a4245e2b79226900227b15831b492
languageName: node
linkType: hard
"nopt@npm:^10.0.0":
version: 10.0.1
resolution: "nopt@npm:10.0.1"
dependencies:
abbrev: "npm:^5.0.0"
bin:
nopt: bin/nopt.js
checksum: 10c0/980d89257f9587f3e1f77877ddbf905d6aa3b738ec33e49a4fa1a059a0dd82eb28063982b150654a7ae9de386f2ead60e56172db7d37cf56de545f7392a2a26a
languageName: node
linkType: hard
"optionator@npm:^0.9.3": "optionator@npm:^0.9.3":
version: 0.9.4 version: 0.9.4
resolution: "optionator@npm:0.9.4" resolution: "optionator@npm:0.9.4"
@@ -1875,13 +1603,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"proc-log@npm:^7.0.0":
version: 7.0.0
resolution: "proc-log@npm:7.0.0"
checksum: 10c0/b89c2d862604f35fec795477b0c7e376feab3ba0d4f4d291c4e959567442697cf451ac557d0623c1cc38af45a78128b983410f397a10c5d3a67f76c33de4754b
languageName: node
linkType: hard
"punycode.js@npm:^2.3.1": "punycode.js@npm:^2.3.1":
version: 2.3.1 version: 2.3.1
resolution: "punycode.js@npm:2.3.1" resolution: "punycode.js@npm:2.3.1"
@@ -1896,13 +1617,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"pure-rand@npm:^8.0.0":
version: 8.4.0
resolution: "pure-rand@npm:8.4.0"
checksum: 10c0/6414bbc1c6f45fb774173431c7205e79783b77cfae0e2145e741b6999363554dbd2f4210d2a5bc08683e0b2f6823198c9308766b1d0911e1dccd7beb8842f860
languageName: node
linkType: hard
"qified@npm:^0.10.1": "qified@npm:^0.10.1":
version: 0.10.1 version: 0.10.1
resolution: "qified@npm:0.10.1" resolution: "qified@npm:0.10.1"
@@ -1940,15 +1654,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"semver@npm:^7.3.5":
version: 7.8.5
resolution: "semver@npm:7.8.5"
bin:
semver: bin/semver.js
checksum: 10c0/b1f3127a5be8125a94f37188b361c212466c292c6910adce3ec106cff5dc211ccaedc4739c11bb70fda59d6fc1f040a9bca289f4e093451521a2372e5231fe0c
languageName: node
linkType: hard
"semver@npm:^7.5.3": "semver@npm:^7.5.3":
version: 7.7.4 version: 7.7.4
resolution: "semver@npm:7.7.4" resolution: "semver@npm:7.7.4"
@@ -2050,19 +1755,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"tar@npm:^7.5.4":
version: 7.5.22
resolution: "tar@npm:7.5.22"
dependencies:
"@isaacs/fs-minipass": "npm:^4.0.0"
chownr: "npm:^3.0.0"
minipass: "npm:^7.1.2"
minizlib: "npm:^3.1.0"
yallist: "npm:^5.0.0"
checksum: 10c0/1311f6be85a8157ac4c9147bae43e13923d2a1aae15e4aa1bd5239e4e03d2cf53cfe103dde7f35832fbb4c938b042856bc8e9a0afd29abd05e2d1608788c4fea
languageName: node
linkType: hard
"test-exclude@npm:^8.0.0": "test-exclude@npm:^8.0.0":
version: 8.0.0 version: 8.0.0
resolution: "test-exclude@npm:8.0.0" resolution: "test-exclude@npm:8.0.0"
@@ -2074,7 +1766,7 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"tinyglobby@npm:^0.2.12, tinyglobby@npm:~0.2.17": "tinyglobby@npm:~0.2.17":
version: 0.2.17 version: 0.2.17
resolution: "tinyglobby@npm:0.2.17" resolution: "tinyglobby@npm:0.2.17"
dependencies: dependencies:
@@ -2084,13 +1776,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"toml@npm:^4.1.1":
version: 4.3.0
resolution: "toml@npm:4.3.0"
checksum: 10c0/4a0ad64d4ef0b47f672a7b6bd7e776b9e03ad845998968fb105f8d561c3648eaff0217baca3f562d17e865e5bd7393441a8e54528920f0c171e41fdc8dfb39d6
languageName: node
linkType: hard
"type-check@npm:^0.4.0, type-check@npm:~0.4.0": "type-check@npm:^0.4.0, type-check@npm:~0.4.0":
version: 0.4.0 version: 0.4.0
resolution: "type-check@npm:0.4.0" resolution: "type-check@npm:0.4.0"
@@ -2134,13 +1819,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"undici@npm:^6.25.0":
version: 6.29.0
resolution: "undici@npm:6.29.0"
checksum: 10c0/3fb2117985be977ba8b6bd6a242fec915e1b1d0f9681f5adb3f508fb1717352452d65bcfd3bed09e7c776cfda403a4e8edb24a318492f8b2d793439af2b8699b
languageName: node
linkType: hard
"uri-js@npm:^4.2.2": "uri-js@npm:^4.2.2":
version: 4.4.1 version: 4.4.1
resolution: "uri-js@npm:4.4.1" resolution: "uri-js@npm:4.4.1"
@@ -2150,15 +1828,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"uuid@npm:^14.0.0":
version: 14.0.0
resolution: "uuid@npm:14.0.0"
bin:
uuid: dist-node/bin/uuid
checksum: 10c0/a57ae7794c45005c1a9208989196c5baf79a7679c30f43c1bee9033a2c4d113a2cea216fa6fcc9663b08b0d55635df1a7c6eb7e7f3d21c3e50688c698fa39a50
languageName: node
linkType: hard
"v8-to-istanbul@npm:^9.0.0": "v8-to-istanbul@npm:^9.0.0":
version: 9.3.0 version: 9.3.0
resolution: "v8-to-istanbul@npm:9.3.0" resolution: "v8-to-istanbul@npm:9.3.0"
@@ -2181,17 +1850,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"which@npm:^7.0.0":
version: 7.0.0
resolution: "which@npm:7.0.0"
dependencies:
isexe: "npm:^4.0.0"
bin:
node-which: bin/which.js
checksum: 10c0/ca0b54f198f78bbc4b7c02e34bda8d335cb352e0adb4cbca1c37b1a957af3a879a82c4c27ca6525bc942f548d8b64f816ef6528360af9f3de55ffb9b979b620d
languageName: node
linkType: hard
"word-wrap@npm:^1.2.5": "word-wrap@npm:^1.2.5":
version: 1.2.5 version: 1.2.5
resolution: "word-wrap@npm:1.2.5" resolution: "word-wrap@npm:1.2.5"
@@ -2217,22 +1875,6 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"yallist@npm:^5.0.0":
version: 5.0.0
resolution: "yallist@npm:5.0.0"
checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416
languageName: node
linkType: hard
"yaml@npm:^2.9.0":
version: 2.9.0
resolution: "yaml@npm:2.9.0"
bin:
yaml: bin.mjs
checksum: 10c0/f340718df45e97a9551b9bf9dac61c80050bc464513b710debfb5067c380c8472e3b67809cffacb4ab5ffb5e66ef9310816c88b05f371cec60abfedd8c88e0a2
languageName: node
linkType: hard
"yargs-parser@npm:^21.1.1": "yargs-parser@npm:^21.1.1":
version: 21.1.1 version: 21.1.1
resolution: "yargs-parser@npm:21.1.1" resolution: "yargs-parser@npm:21.1.1"