SDK 0.2.114's optional-dep resolution tries linux-x64-musl first even on glibc systems, failing if the musl package is installed as empty shell (directory exists but binary missing). This caused 'Claude Code native binary not found' errors on Ubuntu hosts after upgrading SDK. Add a platform-aware helper (resolveBundledClaudeCodeExecutable) that: - Respects EJCLAW_CLAUDE_CLI_PATH env override for custom deployments - Probes platform-specific bundled binary paths in order (glibc before musl) - Throws with tried-paths list if none exist (vs SDK's silent fallback) Wire it into agent-runner query() calls (main run + session command). Also bumps @anthropic-ai/claude-agent-sdk ^0.2.101 -> 0.2.114 so the bundled CLI supports the 'xhigh' effort level introduced in CLI 2.1.111. Keeps EJClaw self-contained: no system /home/*/.local/bin/claude dependency. Verified with CLAUDE_EFFORT=xhigh: - 37/37 agent-runner tests pass (+ 8 new bundled-cli-path tests) - reviewer agent-run Exit Code 0 (Duration 183s) after restart - paired_turn_attempts failed count: 97 -> 0 after fix - Discord reviewer delivery confirmed
567 B
567 B