Le check "password" ouvrait le store et lisait le secret indépendamment
du ConnectivityCheck, provoquant deux appels bw --version + bw status.
La connectivité échoue déjà si le mot de passe est inaccessible, donc
le check était redondant.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Bump mcp-framework v1.10.0 → v1.12.0
- Wire Login hook via BitwardenLoginHandler (backend_policy = bitwarden-cli)
- Remove ManifestDir/ManifestValidator from config test: le manifest est
un artefact de build, pas une contrainte runtime (per framework design)
- Drop doctorManifestDir(), validateManifestUpdate() and dead imports
- Update tests accordingly (5 checks instead of 6, remove manifest test)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
The framework v1.9.0 added a Login command/hook to authenticate and
unlock Bitwarden. App.runBootstrap was not registering it, causing
"command not configured: login".
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude Code sends extra fields (e.g. "title") in initialize params that
caused the server to reject the request due to DisallowUnknownFields.
Use lenient JSON decoding for protocol messages while keeping strict
validation for tool arguments. Also defer KWallet credential loading
from server startup to tool invocation time, and negotiate protocol
versions per MCP spec instead of rejecting unknown ones.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>