0.26.3
(fix): 在 WebSocket 连接中跳过 Sec-WebSocket-Protocol 头部。此头部是为 RFC 6455 子协议协商保留的,由 tungstenite 内部处理。
之前将其作为常规 HTTP 头部包含会导致 tungstenite 在服务器未回显该头部时握手失败。
0.26.2
(chore): 在便利构造函数中将所有可选字段作为 Option<T> 参数包含。
之前,{variant}_with_{field} 构造函数仅接受提升的字段,并将所有其他可选字段默认为 None。现在它们接受所有其他可选字段
作为 Option<T> 参数,让调用者完全控制所有字段。例如,
assistant_with_tool_calls 现在接受 (content: Option<Content>, ..., tool_calls: Vec<ToolCall>)
而不是仅 (tool_calls: Vec<ToolCall>)。
0.26.1
(fix): 修复联合变体的便利构造函数,这些变体的可选字段具有嵌套的
可选/可空 IR 包装器(例如来自 OpenAPI 的 optional<nullable<string>>)。
之前只解包了一层,将参数保留为 Option<T> 而不是 T,这导致 E0308 mismatched types 编译错误。现在
所有可选/可空层都被剥离以生成正确的裸类型。
0.26.0
(feat): 为具有可选字段的判别联合变体生成便利构造函数。
对于内联变体中的每个可选字段,生成一个 {variant}_with_{field} 构造函数,
该构造函数接受字段作为必需参数(从 Option<T> 解包)同时
将所有其他可选字段默认为 None。例如,具有
可选 tool_calls 的 Assistant 变体现在获得一个 assistant_with_tool_calls(tool_calls: Vec<ToolCall>)
构造函数。
0.25.1
(fix): 停止为仅 WebSocket 的子包生成空的 HTTP 客户端存根。当 AsyncAPI
通道创建没有 HTTP 端点的子包(例如 realtime、tts)时,生成器
不再在 resources/ 中发出冗余的空客户端结构。实际的 WebSocket
功能通过 WebSocketChannelGenerator 保留在 src/api/websocket/ 中。这
移除了 resources 中空的基于 HTTP 的 RealtimeClient 与 websocket 模块中功能性的基于 WebSocket 的 RealtimeClient 之间令人困惑的名称冲突。
(fix): WebSocket 连接器现在总是从存储的
客户端令牌自动注入 Authorization 头部,匹配 TypeScript SDK 体验,其中 client.realtime.connect()
无需手动传递认证即可工作。之前,在 AsyncAPI 规范中具有显式 Authorization
头部的通道要求用户自己传递令牌。
0.25.0
(feat): 改进无判别联合设计,使用 snake_case 方法名称、更好的变体命名、
去重类型引用等。
0.24.1
(fix): 修复内联到判别
联合变体中的类型的 mod.rs 模块声明未被移除。生成器删除了内联类型的结构文件,但仍然
为它们发出 pub mod 和 pub use 声明,导致生成的 SDK 中出现 error[E0583]: file not found for module 编译错误。