What Happened
- This PR adds a 30,000ms client-side timeout to `hostServiceCall` in `mcp-v2`, using `AbortController` instead of allowing relay fetches to run until Vercel kills the lambda at 300s; on abort it now throws a clear timeout error, and the timer is always cleared in `finally` so repeated requests do not leak resources. It also adds `HostServiceCallOptions.timeoutMs` to allow override by callers.
- This PR adds a 30,000ms client-side timeout to `hostServiceCall` in `mcp-v2`, using `AbortController` instead of allowing relay fetches to run until Vercel kills the lambda at 300s; on abort it now throws a clear timeout error, and the timer is always cleared in `finally` so repeated requests do not leak resources. It also adds `HostServiceCallOptions.timeoutMs` to allow override by callers.
- 1 evidence item attached for review.