Draft: Streamable Http #240
Draft
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request is currently a draft / work in progress (before getting away from keyboard) to enable support of Streamable Http. There is still a lot to do, but it's kinda working. Quick demo with a tool call that sends a bunch of notif before sending the result: youtube.
Key points:
Server
for streamable http, it's quite impractical as it hides too much the internal logic*Handler
Api needs a rework to work well with streams, it's currently only a quick poc inToolCallHandler
and it's kinda uglyTodo:
Symfony\AI\McpSdk\Message
(with separation between Server sent objects and Client sent objects)Technical stuff:
*Handler
SessionIdentifierResolver
and so)