go-sdk/internal/jsonrpc2
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Rob Findley 728e0e3ac9 mcp: improve error messages from Wait for streamable clients
Previously, the error message received from ClientSession.Wait would
only report the closeErr, which would often be nil even if the client
transport was broken. Wait should return the reason the session
terminated, if abnormal.

I'm not sure of the exact semantics of this, but surely returning nil is
less useful than returning a meaningful non-nil error. We can refine our
handling of errors once we have more feedback.

Also add a test for client termination on HTTP server shutdown,
described in #265. This should work as long as (1) the session is
stateful (with a hanging GET), or (2) the session is stateless but the
client has a keepalive ping.

Also: don't send DELETE if the session was terminated with 404; +test.

Fixes #265
2025-09-10 11:24:26 -04:00
..
conn.go mcp: improve error messages from Wait for streamable clients 2025-09-10 11:24:26 -04:00
frame.go internal/jsonrpc2: allow asynchronous writes 2025-08-08 12:38:43 -04:00
jsonrpc2.go mcp: implement a concurrency model for calls 2025-08-19 11:21:02 -04:00
jsonrpc2_test.go mcp: implement a concurrency model for calls 2025-08-19 11:21:02 -04:00
messages.go mcp: pass TokenInfo to server handler (#292) 2025-08-20 10:50:16 -04:00
net.go internal/jsonrpc2_v2: update for go1.16+ 2025-05-27 10:50:54 -07:00
serve.go internal/mcp: implement HTTP SSE transport 2025-04-23 19:15:20 -07:00
serve_test.go internal/jsonrpc2_v2,mcp: remove unneeded dependencies 2025-06-18 22:11:26 -07:00
wire.go mcp: improvements for 'stateless' streamable servers; 'distributed' mode 2025-08-20 09:59:52 -04:00
wire_test.go x/tools: modernize interface{} -> any 2025-02-19 15:14:27 -08:00