You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
aimux-core VideoOperationStatus (aimux-core/src/video_model.rs:312) has only Pending and Completed; an error status is Err(AiMuxError), which carries no VideoResponse
XaiVideoModel › doStatus › should return error status on expired also checks result.response (timestamp, modelId, headers)
sub-feature, issue 276; the error text is still asserted
aimux has no AI_StreamProviderError (ai@7.0.128 src/error/stream-provider-error.ts); an in-stream error event becomes AI_APICallError, with upstream's code in providerCode and the event type only in data
3 Responses cases compare the error part's type and code
compared through a view that renames the two fields; message, statusCode, isRetryable and data match upstream as they are
The two xAI behaviour fixes from the same port are #310 and #311 (registered in the #275 deviation list).
Activity
cunninghamcard-bit commentedon Oct 19, 2026
补充:核对上游测试覆盖(#278)时发现以下 core 功能上游有测试,aimux 没有实现,对齐文档 §9.1 和 rfc-0039-implementation 里也没登记。实现或登记为差异。
extractJsonMiddleware、defaultSettingsMiddleware、simulateStreamingMiddlewarewrapEmbeddingModel)onLanguageModelCallStart/onLanguageModelCallEnd回调(工具选择违规检查在aimux-core/src/generate.rs:2098-2126已有,但没有这两个回调)injectJsonInstruction(Bedrockconvert.rs:1517和 Mistralconvert.rs:233各自拼了不同的提示语):fix: Mistral injects the JSON instruction like the AI SDK #283,已合并(c0622ea4)transcription-stream.*帧类型)aimux-core/src/content.rs:49-57的UserContentPart::Image只收字节)已登记、不在此列:prepareStep / onStepStart(D25 单步内核)、redirect
error模式(跨域重定向差异)、Batch 与 Realtime(不在范围)。Generated by Claude Code
cunninghamcard-bit commentedon Oct 20, 2026
补充:按锁定版本(
fixtures/aisdk/VERSIONS.json)复核偏差 PR 时,发现下面几项。前两项是锁定版本之后的上游才有的,等锁升级时一起做;第三项是 core 和锁定的@ai-sdk/provider规范之间的缺口。{"error": …}):@ai-sdk/google4.0.99 起发errorpart、继续读流、结束原因记为error(google-language-model.ts:1002-1021)。锁定的 4.0.87 的 chunk schema 没有error字段,会直接忽略这个事件。aimux 现在的做法是发error并结束流、usage 清零,和两个版本都不一样。原先放在 fix: Gemini stream errors and finish reasons follow the AI SDK #292,已撤出;fix: Gemini stream errors and finish reasons follow the AI SDK #292 已于 10-24 关闭(https://github.com/arcships/aimux/pull/292#issuecomment-6382732362),分支保留。CONTINUATION映射为length,并累加长解码的 usage:4.0.95 起才有(map-google-finish-reason.ts、google-language-model.ts:1447-1456),锁定的 4.0.87 没有这个分支。原先放在 fix: Gemini stream errors and finish reasons follow the AI SDK #292,已撤出;fix: Gemini stream errors and finish reasons follow the AI SDK #292 已于 10-24 关闭(https://github.com/arcships/aimux/pull/292#issuecomment-6382732362),分支保留。usage:锁定的@ai-sdk/provider4.0.22 的TranscriptionModelV4结果有usage?: JSONObject(transcription-model-v4-result.ts:54),ai7.0.127 的transcribe也会透传它(transcribe.ts:278)。aimux 的TranscriptionResult没有这个字段。@ai-sdk/google-vertex5.0.100(fix: Vertex location must be one DNS label #282 把锁移到这个版本)的 Gemini 转写会填它。上面
injectJsonInstruction那一项由 #283 处理。Generated by Claude Code
cunninghamcard-bit commentedon Oct 20, 2026
Hugging Face 测试迁移(#303)里有 3 个上游用例因为错误提示文字和上游不同,暂记为
sub-feature,挂在这里:HuggingFaceProvider › unsupported functionality › should throw for text embedding modelsHugging Face Responses API does not support text embeddings. Use the Hugging Face Inference API directly for embeddings.no such model: any-modelHuggingFaceProvider › unsupported functionality › should throw for image modelsHugging Face Responses API does not support image generation. Use the Hugging Face Inference API directly for image models.no such model: any-modelHuggingFaceResponsesLanguageModel › message conversion › should throw for file parts with provider references'file parts with provider references' functionality not supported.unsupported functionality: file parts with provider references原因在 aimux-core:
NoSuchModel没有自定义 message 字段(上游NoSuchModelError可以传message,huggingface-provider.ts:95-110),UnsupportedFunctionality的 Display 格式和上游UnsupportedFunctionalityError不同。aimux-core/src/error.rs正在 #268 里改,等它合并后在 core 里对齐这两处,再把这 3 个用例从layout.toml的排除里移出、补上测试。Generated by Claude Code
cunninghamcard-bit commentedon Oct 20, 2026
Two core-level differences found while porting the
@ai-sdk/xai@5.0.12tests (#312):VideoOperationStatus(aimux-core/src/video_model.rs:312) has onlyPendingandCompleted; an error status isErr(AiMuxError), which carries noVideoResponseXaiVideoModel › doStatus › should return error status on expiredalso checksresult.response(timestamp, modelId, headers)sub-feature, issue 276; the error text is still assertedAI_StreamProviderError(ai@7.0.128src/error/stream-provider-error.ts); an in-stream error event becomesAI_APICallError, with upstream'scodeinproviderCodeand the eventtypeonly indatatypeandcodeThe two xAI behaviour fixes from the same port are #310 and #311 (registered in the #275 deviation list).
Generated by Claude Code
docs(rfc): keep RFC-0047's design text as opened; track later finding…
cunninghamcard-bit commentedon Oct 20, 2026
错误体系和 cause(RFC-0047、#289、#290、#293)单独跟踪在 #327。
Generated by Claude Code