Repository navigation
fix(mcp): add viem as direct dependency to resolve mppx peer import (#118) - #124
maxx-GENIUS wants to merge 3 commits into
Conversation
|
Thanks for #118. The diagnosis is right (mppx imports viem and doesn't mark it optional), but the branch breaks A literal "mppx": "^0.6.31",
"viem": "^2.21.0",
"zod": "^3.25.0"The README paragraph has the same kind of damage: "irium-mcp" and "iem" are missing their first letters (backtick escapes eaten by the shell). It should say One small thing: the SDK in this repo pins After that, Drafted with Claude Code (AI-assisted, reviewed before posting). |
- Fix literal newline escape in packages/mcp/package.json - Pin viem range to ^2.55.19 matching SDK pinned version - Restore backtick formatting for nirium-mcp and viem in README.md Closes nirium-protocol#118
|
Thanks @Eras256! Pushed commit
Ready for review and merge! |
- Add viem ^2.55.19 to dependencies to satisfy mppx peer requirement - Cleanly document viem dependency in packages/mcp/README.md with proper markdown backticks - Merge latest upstream main (fb30603) resolving description and documentation divergence
bca8472 to
c072b49
Compare
|
@Eras256 Synced with latest |
packages/mcp had no CI, which is how 0.6.1 reached npm without dist/. mcp-ci.yml runs on PRs touching packages/mcp/** and on push to main: it builds with tsc, packs, installs the tarball into an empty project and starts the nirium-mcp bin with an MCP initialize over stdio. The check fails if dist/ or the bin target is missing from the tarball, if any *.test.* file would be published, or if the bin does not answer initialize and exit 0. --legacy-peer-deps (#125) and the temporary viem install (#118, PR #124) are commented where they are used. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
|
Thanks for coming back to this, and sorry for the slow review. The viem part is right, but the current diff also rewrites a lot of
It looks like the file was rebuilt from an older copy. Could you reset it to "mppx": "^0.6.31",
"viem": "^2.55.19",
"zod": "^3.25.0"The README note can stay. Heads-up: #131 is about to change the Drafted with AI assistance (Claude Opus 5.5) and reviewed by Giovanny. |
|
Thanks for this - the root cause diagnosis is exactly right, and I independently hit the same crash today testing a pristine clone of I can't merge this as-is, though - it's gone stale against
If you want to rebase this down to just the Disclosure: drafted with AI assistance under my direction and reviewed by hand. |
Review of #124Thanks @maxx-GENIUS. You got the root cause right. On a clean install of current
Suggested minimal fix: reset to current
I tested exactly this on top of |
|
Thanks for this — the viem direct dependency fix looks right. It's now conflicting with |
|
Gracias por el diagnóstico, @maxx-GENIUS - identificaste bien que Abrí #247 con el mismo fix (solo la línea de |
…peer (nirium-protocol#118) mppx declares viem as a non-optional peer (>=2.51.0, confirmed via npm view mppx peerDependenciesMeta - unlike hono/elysia/express, viem has no optional:true entry), so a clean npm install leaves it unresolved and nirium-mcp crashes at startup with ERR_MODULE_NOT_FOUND: viem. Supersedes nirium-protocol#124 (same diagnosis, credit to maxx-GENIUS), which was opened against an older main and, if merged as-is, would have regressed @stellar/mpp entirely plus downgraded @modelcontextprotocol/sdk and @stellar/stellar-sdk. This PR only adds the one missing dependency line, verified with a clean install and a successful tsc build. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Summary
Resolves #118 by declaring �iem as a direct runtime dependency in packages/mcp/package.json:
Root Cause Diagnosis:
irium-mcp depends on mppx@^0.6.31, which imports �iem in its entry bundle (mppx/dist/evm/client/Charge.js).
pm install, npm does not auto-resolve required unlisted peer dependencies, causing runtime crashes with ERR_MODULE_NOT_FOUND: viem when booting
irium-mcp.
pm install and immediate startup without requiring manual
pm i viem.
Acceptance Criteria Verification
pm install in packages/mcp resolves �iem