mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-24 06:24:18 +02:00
* Make the SDK seam the root of FastMCP middleware dispatch (D3) Notifications, cancellations, and malformed/unroutable messages now reach on_message/on_request/on_notification at the SDK seam. Component methods keep their interior dispatch (typed hooks, tool-exception visibility) unchanged; the seam covers only messages the interior never dispatches, so each hook fires once. * Document the middleware seam coverage and suspend semantics (D3) * Align seam docs and ask-visibility test with the result-cycle MRTR model An InputRequiredResult is the full result of a complete request->response cycle, not a suspension: component hooks observe an asking round's InputRequiredToolResult as an ordinary return value. * Replace 'seam' language with plain dispatch terminology * Keep the raw middleware __call__ signature; forward middleware message edits * Cover fires-once across an MRTR continuation round * Align cherry-picked coverage test with renamed recorder * Rewrite only the message, never the dispatch destination |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_caching.py | ||
| test_dereference.py | ||
| test_error_handling.py | ||
| test_initialization_middleware.py | ||
| test_logging.py | ||
| test_message_visibility.py | ||
| test_middleware.py | ||
| test_middleware_nested.py | ||
| test_ping.py | ||
| test_rate_limiting.py | ||
| test_response_limiting.py | ||
| test_timing.py | ||
| test_tool_injection.py | ||