WoodQ

Results 6 issues of WoodQ

## What this PR does 1. This PR fixes a data race issue between `SSEServer.Start` and `SSEServer.Shutdown` by adding a `sync.RWMutex` to the `SSEServer` struct. 2. Fix test error on...

When I run the command "go test -v './...'", there is the error ``` --- FAIL: TestStdioMCPClient (0.68s) stdio_test.go:42: Failed to create client: failed to start stdio transport: failed to...

如今tool_node添加的时候没有提供callback配置,能否加上,使之可以直接在生成的编排代码里使用 ![Image](https://github.com/user-attachments/assets/cfcd60f2-0271-4c80-8935-d7325a0c459d)

现在Eino Dev生成的代码还是默认ChatModel,能否直接改为生成ToolCallingModel? 不太了解Eino Dev的生成代码原理,如果可以告诉我在哪修改的话我可以提pr

加上一个WithRewriterQuery(model *ChatModel),自动调用用户使用的模型,对查询语句进行重写,使之更规范化

能否在Eino里原生提供更契合大模型上下文的ctx实现,对原生context进行一层封装,以实现更多样的功能 ```go // OrchestrationContext 统一的编排上下文 type OrchestrationContext struct { ctx context.Context // 用于信号管理 Input map[string]interface{} // 用户输入的原始数据 Memory MemoryState // 对话的短期记忆状态 Metadata map[string]string // 元数据,如模型版本等 } ```