Repository navigation
What's Changed
- fix(flutter): stop shipping LTO bitcode in the iOS static lib (pub.dev 256MiB) by @eric8810 in #196
- docs(rfc): RFC-0036 positioning and layered architecture by @eric8810 in #198
- docs: 0.5.0 → 1.0 roadmap (per RFC-0036) by @eric8810 in #197
- test(elevenlabs): fix flaky stream_abort_mid_session by @eric8810 in #199
- docs: full-chain AI SDK alignment design and impact map by @cunninghamcard-bit in #200
- feat: add stable decision API and official TypeSafe Jev provider by @eric8810 in #221
- feat(stream)!: decode SSE with the sse-stream crate, aligned with eventsource-parser by @cunninghamcard-bit in #213
- feat: support official decision providers, candidate scoring, and native media by @eric8810 in #226
- chore: remove stale audit artifacts, provider inventory and unused Flutter desktop runners by @cunninghamcard-bit in #203
- RFC-0039: ops、FFI 与八种绑定契约 by @eric8810 in #209
- RFC-0040: provider 构造、鉴权与 L0 边界 by @eric8810 in #210
- RFC-0043: 产物体积预算与性能门禁 by @eric8810 in #208
- docs: 校准 roadmap 状态与近期依赖 by @eric8810 in #205
- RFC-0033: registry 维护与安全探测 by @eric8810 in #206
- RFC-0036: 补齐 roadmap 全节点设计与验收映射 by @eric8810 in #207
- RFC-0041: 传输回放与治理证据 by @eric8810 in #211
- ci: skip build and test jobs for documentation-only changes by @cunninghamcard-bit in #263
- RFC-0042: V4 类型边界与统一生成 by @eric8810 in #212
- fix: Bedrock SigV4 signing and secret redaction by @cunninghamcard-bit in #248
- docs: a blank key on a custom base URL is sent as an empty key by @cunninghamcard-bit in #266
- ci: speed up test builds, deduplicate caches, and use prebuilt cargo-ndk by @cunninghamcard-bit in #262
- refactor!: remove the generated ProviderName types by @cunninghamcard-bit in #246
- refactor(web): generate the web wire types with ts-rs by @cunninghamcard-bit in #247
- [1/8] chore: CI on every PR and test fixture cleanup by @cunninghamcard-bit in #249
- [2/8] refactor!: tool calls follow the AI SDK by @cunninghamcard-bit in #250
- [3/8] refactor!: messages and content follow the AI SDK by @cunninghamcard-bit in #251
- [4/8] refactor!: results and streams follow the AI SDK by @cunninghamcard-bit in #252
- [5/8] refactor!: providers are AI SDK factories by @cunninghamcard-bit in #253
- [6/8] fix: vendors follow the upstream packages by @cunninghamcard-bit in #254
- [7/8] feat: the remaining upstream model kinds by @cunninghamcard-bit in #255
- [8/8] refactor!: public JSON equals the AI SDK JSON by @cunninghamcard-bit in #256
- [9/13] refactor!: rewrite json_repair in idiomatic Rust by @cunninghamcard-bit in #257
- [10/13] refactor: tool-call repair is a trait by @cunninghamcard-bit in #258
- [11/13] refactor: provider config is plain data by @cunninghamcard-bit in #259
- [12/13] refactor!: vendor streams are Transformer structs by @cunninghamcard-bit in #260
- [13/13] docs: add the native-Rust porting skills by @cunninghamcard-bit in #261
- [14/14] feat!: ops layer, C ABI and bindings by @cunninghamcard-bit in #265
- [15/15] feat!: generate binding DTOs from the Rust types by @cunninghamcard-bit in #268
- RFC-0045: 上游测试迁移策略 by @cunninghamcard-bit in #281
- fix: Vertex location must be one DNS label by @cunninghamcard-bit in #282
- fix: OpenAI output stream keeps the response id and model by @cunninghamcard-bit in #287
- fix: Mistral injects the JSON instruction like the AI SDK by @cunninghamcard-bit in #283
- fix: presets follow the AI SDK structured outputs setting by @cunninghamcard-bit in #284
- fix: Open Responses and Codex send raw chunks by @cunninghamcard-bit in #285
- fix: Vertex Gemini uses the Google model by @cunninghamcard-bit in #291
- fix: catalogue resolves package names from the descriptor table by @cunninghamcard-bit in #288
- ci: CI result requires the C ABI sanitizer and Linux ARM jobs by @cunninghamcard-bit in #333
- [1/3] Error cause in core and network by @cunninghamcard-bit in #289
- RFC-0047: 错误体系与错误原因(cause) by @cunninghamcard-bit in #286
- RFC-0046: provider 协议的小重构与抽象设计 by @cunninghamcard-bit in #294
- RFC-0044: crate 拆分与依赖反转 by @cunninghamcard-bit in #279
- [2/3] Error cause in string variants by @cunninghamcard-bit in #290
- [3/3] Error cause in ops and bindings by @cunninghamcard-bit in #293
- ci: pull requests build the Android example for arm64 only by @cunninghamcard-bit in #366
- docs(rfc-0045): one fix PR per vendor, one commit per difference by @cunninghamcard-bit in #348
- refactor!: drop retryAfterMs from the error envelope by @cunninghamcard-bit in #349
- fix: OpenAI-compatible unparsable stream chunks are AI SDK parse errors by @cunninghamcard-bit in #354
- fix: Vertex image and Live transcription match the AI SDK by @cunninghamcard-bit in #351
- test: port the upstream Mistral tests by @cunninghamcard-bit in #295
- fix: dropping an xAI streaming transcription closes the socket by @cunninghamcard-bit in #311
- fix: OpenAI Responses, chat, transcription and image behaviour match the AI SDK by @cunninghamcard-bit in #368
- test: port the upstream Google Vertex tests by @cunninghamcard-bit in #352
- fix: Amazon Bedrock errors, warnings, usage and transport match the AI SDK by @cunninghamcard-bit in #357
- test: port the upstream OpenAI-compatible tests by @cunninghamcard-bit in #355
- RFC-0048: 录制 schema 3 与传输回放 by @cunninghamcard-bit in #325
- fix: Groq usage.raw keeps null fields by @cunninghamcard-bit in #308
- test: port the upstream Groq tests by @cunninghamcard-bit in #301
- refactor: move the Groq files to the upstream layout by @cunninghamcard-bit in #302
- fix: Anthropic prompts, betas, safeguards and streams match the AI SDK by @cunninghamcard-bit in #360
- fix: Hugging Face stream errors end with an error finish by @cunninghamcard-bit in #307
- test: port the upstream Cohere tests by @cunninghamcard-bit in #296
- fix: Open Responses missing output is an API call error by @cunninghamcard-bit in #346
- refactor: move the Mistral files to the upstream layout by @cunninghamcard-bit in #297
- fix: DeepSeek usage counts must be numbers by @cunninghamcard-bit in #309
- test: port the upstream DeepSeek tests by @cunninghamcard-bit in #299
- refactor: move the DeepSeek files to the upstream layout by @cunninghamcard-bit in #300
- refactor: move the OpenAI-compatible files to the upstream layout by @cunninghamcard-bit in #356
- fix: Google image inputs and live transcription match the AI SDK by @cunninghamcard-bit in #362
- test: port the upstream Google tests by @cunninghamcard-bit in #363
- refactor: move the Google files to the upstream layout by @cunninghamcard-bit in #367
- fix: Anthropic AWS resolves the default fetch per request by @cunninghamcard-bit in #318
- test: port the upstream Anthropic AWS tests by @cunninghamcard-bit in #319
- refactor: move the Anthropic AWS files to the upstream layout by @cunninghamcard-bit in #320
- refactor: move the Cohere files to the upstream layout by @cunninghamcard-bit in #298
- test: port the upstream OpenAI tests by @cunninghamcard-bit in #369
- refactor: move the OpenAI files to the upstream layout by @cunninghamcard-bit in #370
- build: size profile for the Node and Python bindings by @cunninghamcard-bit in #376
- build: staticlib-release profile for the Go and iOS archives by @cunninghamcard-bit in #375
- test: port the upstream Amazon Bedrock tests by @cunninghamcard-bit in #358
- refactor: move the Amazon Bedrock files to the upstream layout by @cunninghamcard-bit in #359
- test: port the upstream Hugging Face tests by @cunninghamcard-bit in #303
- refactor: move the Hugging Face files to the upstream layout by @cunninghamcard-bit in #304
- build: strip sysroot bitcode from the released static archives by @cunninghamcard-bit in #377
- refactor: move the Google Vertex files to the upstream layout by @cunninghamcard-bit in #353
- build: merge and strip the released static archives by @cunninghamcard-bit in #378
- test: port the upstream xAI tests by @cunninghamcard-bit in #312
- refactor: move the xAI files to the upstream layout by @cunninghamcard-bit in #313
- docs(rfc-0043): size measurements and the reduction plan order by @cunninghamcard-bit in #374
- test: port the upstream Azure tests by @cunninghamcard-bit in #324
- refactor: move the Azure files to the upstream layout by @cunninghamcard-bit in #326
- test: port the upstream Open Responses tests by @cunninghamcard-bit in #347
- refactor: move the Open Responses files to the upstream layout by @cunninghamcard-bit in #350
- test: port the upstream Anthropic tests by @cunninghamcard-bit in #361
- refactor: move the Anthropic files to the upstream layout by @cunninghamcard-bit in #364
- refactor: remove two dead provider-utils helpers by @cunninghamcard-bit in #379
- refactor: share response metadata and provider reference helpers by @cunninghamcard-bit in #381
- refactor: share base64 and file data helpers in provider-utils by @cunninghamcard-bit in #380
- refactor: move azure url rules into openai config by @cunninghamcard-bit in #389
- refactor: resolve anthropic host endpoints outside anthropic by @cunninghamcard-bit in #390
- refactor: give openai its own completion model by @cunninghamcard-bit in #391
- refactor: share tool name mapping and strip file extension by @cunninghamcard-bit in #382
- refactor: share tool result to content by @cunninghamcard-bit in #386
- refactor: resolve preset base urls in preset by @cunninghamcard-bit in #392
- refactor: give decision models a small endpoint interface by @cunninghamcard-bit in #393
- refactor: give anthropic hosts an anthropic config by @cunninghamcard-bit in #394
- refactor: share reasoning effort and budget mapping by @cunninghamcard-bit in #383
- refactor: share provider stream error by @cunninghamcard-bit in #384
- refactor: move vertex partner body rewrites into the compatible config by @cunninghamcard-bit in #395
- refactor: share parse provider options by @cunninghamcard-bit in #385
- refactor: share hostname part check and base URL setting by @cunninghamcard-bit in #387
- refactor: share provider credentials and user agent by @cunninghamcard-bit in #388
- perf(providers,ops): cap Bedrock event-stream frames, cache manifest digest, and move catalogue raw values by @cunninghamcard-bit in #410
- feat: carry vendor-declared limits on listed models by @cunninghamcard-bit in #416
- perf(core): bound stream_text pump channel and gate content accumulation by @cunninghamcard-bit in #406
- fix: end SSE streams at data: [DONE] by @cunninghamcard-bit in #411
- refactor(providers): add vendor internal modules and boundary rule 11 (RFC-0046 R2) by @cunninghamcard-bit in #404
- perf(recording): redact JSON in place and bound pending/inconsistent tracking in recorders by @cunninghamcard-bit in #409
- fix: treat a null error member as no error in stream chunks by @cunninghamcard-bit in #412
- fix: keep the caller's content-type on byte request bodies by @cunninghamcard-bit in #413
- fix(luma): align the image model with @ai-sdk/luma 3.0.54 by @cunninghamcard-bit in #431
- test(core): keep the status retry of a video test from racing its timeout by @cunninghamcard-bit in #452
- feat: record where an ApiCallError was built by @cunninghamcard-bit in #415
- feat: add an opt-in strict stream mode by @cunninghamcard-bit in #417
- fix(deepgram): align transcription with @ai-sdk/deepgram 3.1.24 by @cunninghamcard-bit in #434
- fix(elevenlabs): align speech and batch transcription with @ai-sdk/elevenlabs 3.0.54 by @cunninghamcard-bit in #437
- ci(release): stage the release assets by an explicit list by @cunninghamcard-bit in #451
- fix: send the package user-agent from fal, Deepgram, ElevenLabs and Luma by @cunninghamcard-bit in #444
- chore: pin @ai-sdk/fal, deepgram, elevenlabs and luma by @cunninghamcard-bit in #430
- fix(codegen): re-pin the manifest digest after #415 and #417 by @cunninghamcard-bit in #454
- fix(openai): ignore a null error on a response.failed event by @cunninghamcard-bit in #450
- fix(fal): align with @ai-sdk/fal 3.0.54 by @cunninghamcard-bit in #441
- fix: send max_completion_tokens for the Moonshot and ZenMux presets by @cunninghamcard-bit in #414
- chore(release): prepare 0.6.0 by @eric8810 in #455
Full Changelog: v0.5.0...v0.6.0