chore(deps): bump async-openai from 0.41.3 to 0.42.0 - #494
Conversation
Bumps [async-openai](https://github.com/64bit/async-openai) from 0.41.3 to 0.42.0. - [Release notes](https://github.com/64bit/async-openai/releases) - [Commits](64bit/async-openai@async-openai-v0.41.3...async-openai-v0.42.0) --- updated-dependencies: - dependency-name: async-openai dependency-version: 0.42.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
LabelsThe following labels could not be found: Please fix the above issues or remove invalid values from |
vladimirrott
left a comment
There was a problem hiding this comment.
Not mergeable as it stands. async-openai 0.42 adds fields to CreateChatCompletionResponse (metadata, moderation) and to ApiError (misalignment), and the test fixtures in crates/sysknife-brain/src/providers/openai_adapter.rs build those structs literally:
error[E0063]: missing fields `metadata` and `moderation` in initializer of `async_openai::types::chat::CreateChatCompletionResponse`
error[E0063]: missing field `misalignment` in initializer of `async_openai::error::ApiError`
error: could not compile `sysknife-brain` (lib test) due to 9 previous errors
All nine errors sit inside mod tests (lines 705–1012), and the production adapter compiles. This is provider plumbing, so I want the 0.42 changelog checked for response-parsing changes before the fixtures change. A compile fix alone would not tell us whether the adapter still reads responses the same way.
0.42 adds `metadata` and `moderation` to `CreateChatCompletionResponse` and
`misalignment` to `ApiError`. Neither struct derives `Default`, so the nine
fixture literals in `openai_adapter.rs` name every field and each additive
release breaks them; the production adapter reads these types by field and
is unaffected.
The fixtures keep asserting what they asserted: a response with no metadata
and no moderation block, and an API error with no misalignment details.
cargo clippy -p sysknife-brain --all-features --all-targets --locked -- -D warnings → clean
cargo test -p sysknife-brain --locked -- --test-threads=1 → 259 + 78 passed
vladimirrott
left a comment
There was a problem hiding this comment.
async-openai 0.42 adds metadata and moderation to CreateChatCompletionResponse and misalignment to ApiError. Neither struct derives Default, so the nine fixture literals in openai_adapter.rs name every field and every additive release breaks them; the production adapter reads these types by field and compiles untouched. I pushed the fixture update onto this branch.
Verified locally at 97c226f + the fix:
cargo clippy -p sysknife-brain --all-features --all-targets --locked -- -D warnings -> rc=0
cargo test -p sysknife-brain --locked -- --test-threads=1 -> 259 + 78 passed
(Under plain parallel cargo test the run trips rate_limit::tests::calls_up_to_limit_all_succeed, which is #356: a test sets the process-global SYSKNIFE_MAX_RPM. It passes 3/3 alone and the whole suite passes single-threaded. CI uses nextest, one process per test.)
Security pass on the bump: the 0.41 → 0.42 diff adds admin, safety and content-provenance endpoints and removes the deprecated assistant feature. Nothing changes how the client builds its Authorization header or its base URL, this crate takes features = ["chat-completion"] only, and the lockfile delta is the version and checksum of async-openai alone, with no package added.
Bumps async-openai from 0.41.3 to 0.42.0.
Release notes
Sourced from async-openai's releases.
Commits
d5cad58chore: Releasefa5b59ffeat: spec sync (#587)3f9a127Add max reasoning effort (#573)Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)