fix(extensions): always prefer vendored @fusion/pi-claude-cli over external installs
When users have an external pi-claude-cli (e.g. a global `npm install -g pi-claude-cli`, or `npm:pi-claude-cli` in ~/.pi/agent/settings.json packages), pi's extension discovery loaded the upstream copy and shadowed our fork. The upstream has a once-and-lock MCP-config bug that throws "Extension runtime not initialized" during early streamSimple calls and never recovers. Adds reconcileClaudeCliPaths in @fusion/core, used by both the daemon's extension assembly and the engine's per-session registerExtensionProviders, to drop any path with a `pi-claude-cli` segment that isn't our vendored fork and prepend the vendored path. Engine resolves the fork via require.resolve and gracefully no-ops when it isn't reachable (e.g. embedded standalone usage). Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -36,6 +36,7 @@
|
||||
},
|
||||
"dependencies": {
|
||||
"@fusion/core": "workspace:*",
|
||||
"@fusion/pi-claude-cli": "workspace:*",
|
||||
"@mariozechner/pi-ai": "^0.70.0",
|
||||
"@mariozechner/pi-coding-agent": "^0.70.0",
|
||||
"typebox": "^1.0.0",
|
||||
|
||||
Reference in New Issue
Block a user