* feat(transport): support streamable http server
* refactor(transport): add common module for shared transport utilities
* perf(tracing): add more log for streamable http session
* fix(test): fix port conflict in test with js
* fix(transport): fix id generating and session management
1. cancel when deleting
2. use `wrapping` and `saturating` correctly
* chore(naming): rename sse server to streamable http server
* fix(test): skip serialize tool's annotation if empty
1. skip serialize tool's annotation if empty
2. close js server and client when close
* fix(test): fix test with js, don't close too early
When a running service is dropped, its connections should be closed and its resources should be
cleaned up.
This changes the default from leaving services running to closing them. Library users who want
their services to remain running should call `waiting` on their running service, in a new task
where necessary.
Co-authored-by: Paul Ellenbogen <pe5@cs.princeton.edu>
1. Suppot revision 2025-03-26 data types
2. Support meta, progress tokne, and extensions in request/notification,
3. Remove `Message`, use `JsonRpcMessage` directly
1. wrap the error type for more standardized
2. add more information in error for debug trace
3. wrap helper func for more user-friendly code
Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn>
1. wrap the error type for more standardized
2. add more information in error for debug trace
3. wrap helper func for more user-friendly code
Signed-off-by: jokemanfire <hu.dingyang@zte.com.cn>
* feat: expose axum router
* feat: add axum_router example with SSE server implementation
* refactor: simplify SseServer configuration handling in server setup
* docs: add warning to SseServer::new about potential post_path issues with embedded routers