Files
rea/docs/specs/agent-environments/http-transport/tasks.md
T
Edgar Arakelyanandgensokyo-dev 60bd646478 feat(mcp): add opt-in streamable HTTP transport (#4955)
Add an explicit Streamable HTTP entry for environment/gateway hosts while keeping stdio registrations and default behavior. Preserve the shared provider/session owner across DELETE and replacement; fence and drain tool/completion work before handover or teardown.

Bound HTTP input and plain-response admission, cancel refused bodies, join whole exchanges and asynchronous response cleanup before provider hooks, gate startup readiness, and reject queued HTTP/1.1 pipelining while retaining sequential keep-alive.

Validation: 8 static/build tasks, 83 adapter tests and registry metadata pass. A real installed gh binary produces seven equivalent CLI/stdio/HTTP reports with DELETE/replacement and clean signal shutdown. Broader local native-provider/ownership failures reproduce on clean main and are documented with limitations in the PR.

Co-authored-by: Edgar Arakelyan <edgar.arakelyan@scale.com>
Co-authored-by: gensokyo-dev <342580529+gensokyo-dev@users.noreply.github.com>
2026-10-19 23:58:51 +08:00

812 B

Tasks

  • Define single-feature requirements and implementation plan before code.
  • Widen the runtime serve seam and shutdown handle to transport-neutral types.
  • Implement the node:http bridge and the streamable HTTP listener module.
  • Parse flags and MCP_HOST/MCP_PORT, route the dispatcher, add signals-only shutdown.
  • Document the transport, CLI entry, exit status and architecture label.
  • Verify bridge, listener, dispatcher, SDK client, Python client and shutdown behavior.
  • Keep providers alive across sessions, replace a session left open, name the bind cause in the log.
  • Resolve the re-review: capture the shutdown hook once, one shutdown registration primitive, flags-only HTTP routing.
  • Run relevant repository checks and prepare a separately scoped PR.