refactor: improve bidirectional capability handling and error reporting#73
Merged
tzolov merged 1 commit intospring-ai-community:mainfrom Oct 14, 2025
Merged
Conversation
Major changes: - Add capability check methods (rootsEnabled, elicitEnabled, sampleEnabled) to both sync and async request contexts - Replace Optional return types with direct returns and throw IllegalStateException when capabilities not supported - Change from warning logs to exceptions for unsupported operations in stateless contexts - Removed stateless context implementations (StatelessAsyncRequestContext, StatelessMcpSyncRequestContext) - Add bidirectional parameter filtering for stateless providers (tools, resources, prompts, completions) - Update tests to verify new exception-based error handling - Updated README Breaking changes: - McpSyncRequestContext methods now return direct types instead of Optional<T> - McpAsyncRequestContext methods now return Mono.error() instead of Mono.empty() for unsupported operations - Stateless context methods throw IllegalStateException instead of logging warnings This improves API clarity by making capability checks explicit and error handling more predictable. Signed-off-by: Christian Tzolov <christian.tzolov@broadcom.com>
b653fa5 to
57d85fa
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Major changes:
Breaking changes:
This improves API clarity by making capability checks explicit and error handling more predictable.