Fixed
- Session lifecycle teardown now handles repeated
session_starttransitions safely and prevents stale async init results from replacing newer state. - Shutdown now still runs
gracefulShutdown()even if metadata cache flushing throws, avoiding leaked MCP processes. - Proxy/direct tool init error paths now preserve and surface underlying error messages instead of returning generic failures.
- Invalid
mcptoolargsnow fail by throwing with parse/type context instead of returning non-failing tool payloads. - Added focused lifecycle regressions tests for stale init cleanup and init-error visibility.