Fix automatic log level handling for sessionless connections #917
+160
−5
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.
Description
In src/server/index.ts
In src/server/index.test.ts
In .gitignore
Motivation and Context
While refactoring the Everything server to demonstrate how servers can avail themselves of the SDK's recent addition of Automatic handling of logging level, I discovered a wrinkle that needs ironing out.
STDIO server connections (which do not have a
sessionId
) would no longer throw a "Method not found" error if they advertised logging but did not set a listener forSetLevelRequestSchema
messages, which is good. However, they would not respect the level that was set in subsequent calls tosendLoggingMessage
. This is because the log levels are tracked bysessionId
, to allow for multiple clients connecting to a server and each setting their own level.This PR fixes that and tests the entire process, both with and without a
sessionId
.How Has This Been Tested?
New unit tests for both cases.
Breaking Changes
Nope.
Types of changes
Checklist
Additional context