4.0.3

(fix): 修复 WebSocket handleIncomingMessage() 使用 Fern 内部消息 ID (例如 AgentV1WelcomeListenV1Results)而不是规范中的传输判别值 (例如 WelcomeResults)。这导致所有传入的消息处理器永远不会触发, 全部转到未知类型处理器。

生成器现在从每个消息体的 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”)。