Skip to content

Merge upstream (upgrade to v0.32)#29

Merged
lukekim merged 73 commits into
spiceaifrom
lukim/upgrade-to-0.32
Dec 20, 2025
Merged

Merge upstream (upgrade to v0.32)#29
lukekim merged 73 commits into
spiceaifrom
lukim/upgrade-to-0.32

Conversation

@lukekim
Copy link
Copy Markdown

@lukekim lukekim commented Dec 19, 2025

Advayp and others added 30 commits August 24, 2025 11:18
)

* Update `OutputItem` to align with OpenAI's Specification

* Update
…at field in OpenAIFile (64bit#444)

* Add CreateFileRequest

* FileExpiresAfterAnchor

* Add OpenAIFile::expires_at

* Add FileExpiresAfter to AsyncTryFrom<CreateFileRequest>

* Change OpenAIFile::expires_at type

* Make CreateFileRequest::expires_after optional
Syncs to OpenAI specs while also adding the feature to filter tools by
name in a streaming response.
* Unify StreamError and OpenAIError (64bit#413)

* unify StreamError and OpenAIError

* format

* clippy

* use underlying reqwest_eventsource::Error

* UnknownEvent

* update exampels to test streaming errors

* update responses-stream example

---------

Co-authored-by: Tinco Andringa <mail@tinco.nl>
* refactor: enhance error message

* Update async-openai/src/error.rs

* Update async-openai/src/error.rs

---------

Co-authored-by: Himanshu Neema <himanshun.iitkgp@gmail.com>
* fix compilation

* add github workflow for compilation and fmt checks

* cargo fmt

* remove unused stuff

* fix compilation
* video api

* video example

* videos

* Update README with output prompt and video

Update README with output prompt and video
with changes to rust lifetime elision rules, the compiler
generates a warning for methods that return a type that
has a lifetime parameter tied to &self but are not explicit
about it
* updated client events

* updated server event

* updated rate limit

* updated session configuration

* transctiption session configuration

* udpates to realtime types

* updated Item

* updated realtime types

* update examples/realtime with GA api

* checkpoint: responses types updates

* checkpoint for updated types

* checkpoint for updates to responses types

* updates for CreateResponse

* add reponses apis

* list input items

* add get_input_token_counts for responses

* implement ItemResource

* types/responses dir

* response streaming events

* fix compilation

* compiling example/responses

* fix types

* fix examples/responses-function-call

* fix examples/responses-stream

* update it to RealtimeResponse to distinguish from Response

* avoid name conflicts

* update realtime types

* update realtime example

* update names

* updated realtime spec

* RealtimeConversationItem

* RealtimeConversationItem

* updates for the spec

* update types to match spec

* types updated

* update realtime types

* match realtime client event to spec

* update examples/realtime

* match realtime server event type names with spec

* match responses stream event names with spec

* reusable type

* updated readme
* conversations API

* convversations example

* update to types

* update to example

* explicit ConversationItem

* move conversation inside responses

* update examples/conversations

* update example
* feat: containers api

* feat: add examples/containers

* updated readme

* cargo fmt

* clear docs on scope
* types for webhook; traits for events

* checkpoint: working webhooks

* updates

* return string which failed deserialiaztion

* update

* webhook feature flag

* update example

* update readme

* cleanup
* updates to CreateSpeechRequest

* types::audio; streaming audio types and api

* fix imports in the examples

* fix import

* fix api; implement trait

* add audio-speech-stream example

* updated CreateTranscriptionRequest

* updates for CreateTranscriptionResponseJson

* udpated CreateTranscriptionResponseVerboseJson

* updated CreateTranscriptionResponseDiarizedJson

* update types for diarized

* update transcription example

* streaming from form submission

* add streaming example to audio-transcribe

* updates for translation

* update to example

* update audio api groups

* update audio examples

* fix webhooks error type

* fix errors reported by clippy

* fix based on clippy

* fix for: https://rust-lang.github.io/rust-clippy/master/index.html\#result_large_err

* cargo fmt
64bit and others added 24 commits November 19, 2025 16:03
* add group and role management apis

* updated spec

* update readme

* updated reamde

* cargo fmt
* add support for org and project official env vars

* update readme

* typo
* from traits impls

* updated examples/responses to be simplified

* updates

* more from traits

* updated images-and-vision example

* further from traits

* add responses-structured-outputs example

* add streaming example

* responses stream event ergonomics: event_type

* updated responses function to include streaming example

* handle StreamEnded gracefully

* update example now that StreamEnded is handled gracefully

* fix

* fix: publish false

* remove use of deprecated field types

* remove examples using deprecated types/fields

* responses refactor

* fix coversation example

* refactor impls

* move warpper types impls in its own file

* refactor

* image impls

* impls and forms for each type mods

* create sdk.rs which add SDK like functionality on types

* event types for realtime events

* update example to use event_type()

* Event type for assistant stream events
* ergonomics impls

* update exampels

* improve tool-call-stream

* ergo

* udpated example

* add strict example

* allow other voices

* support for GET call to return a stream; use it in Responses GET with stream

* add example to retrive a response with streaming
* pattern for shared types: FunctionObject

* shared FunctionName

* shared ResponseFormat and ResponseFormatJsonSchema

* shared ImageDetail

* shared ImageUrl

* shared FunctionCall

* consistent imports

* consistent imports

* consistent imports

* consistent impls for assistants

* cleanup OrganizationRole from common.rs

* rename assistant_stream.rs -> stream.rs

* rename audio_types.rs -> audio.rs

* shared LogProbProperties

* clean import

* shared ResponseUsage

* rename chat_types.rs -> chat.rs

* shared CustomGrammarFormatParam

* embedding impls in impls.rs

* shared ImageDetail in responses

* shared ReasoningEffort

* import cleanup

* shared CompletionTokenDetails and PromptTokenDetails

* shared Filter; ComparisonFilter; CompoundFilter

* shared StaticChunkingStrategy

* shared ImageInput

* shared::ImageInput in impls.rs

* mcp types in its own module

* completions in its own types::completions module

* updated completions examples

* fix responses example

* doc comment

* webhook.rs in its own types/webhooks

* move mcp.rs to types/mcp

* shared TranscriptionUsage

* cargo fmt

* fix test compilation

* rename tests

* Usage api under client.admin().usage() instead of client.usage()

* update admin usage example

* move admin APIs in admin src/admin

* move audio apis in src/audio

* move assistants apis in src/assistants

* vectore stores apis in src/vectorstores

* fix byot test from client.usage() to client.admin().usage()

* evals apis in src/evals

* move container and container files apis in src/containers

* move responses api to src/responses

* admin types consistent with rest of the crate

* cargo clippy change name of contained module
* cargo.toml with feature flags

* examples having correct feature flags

* response-types: cargo b -F response-types --no-default-features

* webhook-types: cargo b -F webhook-types --no-default-features

* audio-types: cargo b -F audio-types --no-default-features

* video-types: cargo b -F video-types --no-default-features

* image-types: cargo b -F image-types --no-default-features

* embedding-types: cargo b -F embedding-types --no-default-features

* file-types: cargo b -F file-types --no-default-features

* upload-types: cargo b -F upload-types --no-default-features

* container-types: cargo b -F container-types --no-default-features

* realtime-types: cargo b -F realtime-types --no-default-features

* assistant-types: cargo b -F assistant-types --no-default-features

* administration-types: cargo b -F administration-types --no-default-features

* completion-types and chat-completino-types

* grader-types

* shared types with feature flags

* src/types works with all type feature flags

* add byot to realtime apis

* feature flags added to client.rs

* feature flag for test in config.rs

* feature flags in util.rs

* feature flag in error.rs

* feature flag for api wrappers in impl.rs

* remove unused feature flag

* updated cargo.toml with feature flags

* updated lib.rs for feature flags

* github workflow to build all features

* add types in feature list

* add feature flag docs in readme

* updated README

* webhook clippy fix: module has the same name as its containing module

* clippy: image feature: derive default on ImageInput instead of manually impl

* clippy: realtime feature: box variant to reduce enum size

* remove tls feature flags for reqwest from the pr checks

* move default implementation for InputSource in its own file
* full feature flag

* github action full feature flag

* fix docs warnings

* expanded types for docs.rs

* types docs

* updated README

* add docs on scope

* add CONTRIBUTING.md

* 🎉

* updated readm

* doc comment

* updated lib.rs for docs.rs

* updated doc tests in lib.rs

* cleanup

* update feature flags

* borrow-instead-of-move example

* updated example

* References in README

* Using References

* simplify cargo.toml

* dependency version to allow patch or minor updates

* allow minor or patch updates in example dependencies

* add language to code blocks in README for syntax colors

* unittests: add missing feature flags in all mod tests {}

* fix feature flags required for tests

* update embedding tests to use latest small model

* fix ser_de test

* fix vector_store_files tests

* fix assistants examples to include required beta header

* fix example responses-images-and-vision

* fix responses-structured-outputs example

* fix for video-types
* Make ListFilesResponse.first_id and last_id Option

* Add test cases for empty list files
* make first_id and last_id Optional in all list response types

* fix test
The byot macro was generating duplicate attributes (including doc comments)
because it added #(#attrs)* before #input, but #input already contains all
its attributes. This caused doc strings like "Retrieves an assistant." to
appear twice as "Retrieves an assistant. Retrieves an assistant."

Fixes 64bit#345
* voice and voice_consent apis

* types for voice and voice consents; multipart form creation

* response compaction api and types

* input_audio_buffer.dtmf_event_received realtime server event

* memory limit in container types

* reasoning effort xhigh

* ImageGenUsage output_token_details

* fix: remove Function before ShellCall and ShellCallOutput in Item enum in responses.rs

* fix impls

* update AuditLogEvent enum

* doc: the GPT image models

* ImageModel gpt-image-1.5

* ImageModel gpt-image-1.5

* update doc comments; update CreateVideoRequest

* update video apis to match spec

* more display traits for new vidoe types

* updated examples/video

* update EvalItemContent and types nested under it

* updated spec openapi.documented.yml
@lukekim lukekim self-assigned this Dec 19, 2025
@lukekim lukekim changed the title Upgrade to v0.32 Merge upstream (upgrade to v0.32) Dec 19, 2025
@lukekim lukekim merged commit 7321ec9 into spiceai Dec 20, 2025
48 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.