mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-09 15:19:10 +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 |
||
|---|---|---|
| .. | ||
| apps | ||
| cli | ||
| client | ||
| conformance | ||
| contrib | ||
| deprecated | ||
| docs | ||
| experimental | ||
| fs | ||
| integration_tests | ||
| prompts | ||
| resources | ||
| scripts | ||
| server | ||
| telemetry | ||
| tools | ||
| utilities | ||
| __init__.py | ||
| conftest.py | ||
| test_apps.py | ||
| test_apps_prefab.py | ||
| test_compat.py | ||
| test_exceptions.py | ||
| test_fastmcp_app.py | ||
| test_json_schema_generation.py | ||
| test_mcp_config.py | ||
| test_no_legacy_httpx.py | ||
| test_settings.py | ||