4.0.3
(fix): 修复 WebSocket handleIncomingMessage() 使用 Fern 内部消息 ID
(例如 AgentV1Welcome、ListenV1Results)而不是规范中的传输判别值
(例如 Welcome、Results)。这导致所有传入的消息处理器永远不会触发,
全部转到未知类型处理器。
生成器现在从每个消息体的 type 属性中提取传输判别值——解析字面量值
(例如 literal<"Welcome">)和枚举值(例如 enum[Flushed, Cleared])——
并通过对这些值的 switch 语句进行分发。这与 Python 生成器使用的方法一致。
(fix): WebSocket 处理器注册方法和字段名现在使用传输判别值,而不是 Fern 内部的前缀名称。
例如,onAgentV1Welcome(handler) 现在是 onWelcome(handler),
onAgentV1PromptUpdated(handler) 现在是 onPromptUpdated(handler)。已经由自定义
x-fern-sdk-method-name 支持的方法(例如 onFunctionCallResponse)保持不变。
(chore): 改进生成的 WebSocket 客户端代码质量:对静态 URL 路径使用字符串字面量而不是 StringBuilder,
删除异步 sendMessage() 中的死分支,整合消息分发中的冗余 catch 块,
并修正以元音开头的类型名称的 Javadoc 冠词(“a” vs “an”)。