Replies: 1 comment
|
Confirmed today — the chain you identified is still live, and I can add one measurement that changes the diagnosis slightly. Current registry state (2026-09-20)
So Where npm and pnpm actually diverge You reported that only pnpm fails. npm does install the same specifier: But the reason is not that npm is more permissive. It is which version of the peer each one lands on. Inspecting the resulting lockfile, npm resolved And rc.5's peer set no longer contains The decisive check: pin the broken version explicitly and npm behaves exactly like pnpm. So: pnpm lands What works today (all measured with pnpm 11.21.0)
Two things I tried that do not help, so you do not spend time on them: adding a Your read of The remaining defect is on the publish side — a If this resolves it for you, marking it as the answer would help the next person who hits the same 404. |
Uh oh!
There was an error while loading. Please reload this page.
Summary
@deepseek-ai/dsh-tools@0.0.1-rc.1— the version taggedlateston npm — cannot be installed by any external plugin: pnpm fails with a 404 because its peer graph references@deepseek-ai/dsh-type-meta, which is not published to the npm registry.We hit this while building an external plugin (dsh-tool-git). Any project that lists
@deepseek-ai/dsh-toolsin its dependencies (the documented path for plugin authors) fails to install:Root cause
The chain (verified with
npm view ... --jsonon the 0.0.1-rc.1 line):@deepseek-ai/dsh-tools@0.0.1-rc.1haspeerDependenciesincluding@deepseek-ai/dsh-session@^0.0.1-rc.1@deepseek-ai/dsh-session@0.0.1-rc.1haspeerDependenciesincluding@deepseek-ai/dsh-type-meta@^0.0.1-rc.1@deepseek-ai/dsh-type-metais not on npm (404 on both npmjs and mirrors), so pnpm's peer-manifest resolution fails hard — even withauto-install-peers=false, because pnpm still fetches peer manifests while resolving the graph.Impact
dsh-toolsat all.dsh-basedepends ondsh-tools@^0.0.1-rc.1, which resolves to0.0.1-rc.5(highest matching), so the shipped runtime works — but anyone pinning thelatesttag or0.0.1-rc.1explicitly is broken.Workaround (for plugin authors)
Pin
@deepseek-ai/dsh-toolsto0.0.1-rc.5(or0.1.0-rc.6from thenexttag) — both install cleanly and are API-compatible for the stable surface (defineTool,ctx.tools.*,tools/pre-execute, etc.).Suggested fix
Either publish
@deepseek-ai/dsh-type-meta(and verify the whole 0.0.1-rc.1 peer closure is on npm), or fix@deepseek-ai/dsh-session@0.0.1-rc.1's peerDependencies and re-tag/re-publishdsh-tools. Adsh-toolslatesttag that points at an installable version would unblock every external plugin author.(Reported while developing https://github.com/lxj808624/dsh-tool-git, which uses the rc.5 workaround.)
All reactions