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_callsAssistant 变体现在获得一个 assistant_with_tool_calls(tool_calls: Vec<ToolCall>) 构造函数。

0.25.1

(fix): 停止为仅 WebSocket 的子包生成空的 HTTP 客户端存根。当 AsyncAPI 通道创建没有 HTTP 端点的子包(例如 realtimetts)时,生成器 不再在 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 modpub use 声明,导致生成的 SDK 中出现 error[E0583]: file not found for module 编译错误。