* Add support for O3-mini
- Add support for the o3 mini set of models, including tests that match the constraints in OpenAI's API docs (https://platform.openai.com/docs/models#o3-mini).
* Deprecate and refactor
- Deprecate `ErrO1BetaLimitationsLogprobs` and `ErrO1BetaLimitationsOther`
- Implement `validationRequestForReasoningModels`, which works on both o1 & o3, and has per-model-type restrictions on functionality (eg, o3 class are allowed function calls and system messages, o1 isn't)
* Move reasoning validation to `reasoning_validator.go`
- Add a `NewReasoningValidator` which exposes a `Validate()` method for a given request
- Also adds a test for chat streams
* Final nits
* refactoring http request creation and sending
* fix lint error
* increase the test coverage of client.go
* refactor: Change the style of HTTPRequestBuilder.Build func to one-argument-per-line.
* move error_accumulator into internal pkg (#304)
* move error_accumulator into internal pkg (#304)
* add a test for ErrTooManyEmptyStreamMessages in stream_reader (#304)
* add ChatCompletionStream Usage return
* ChatCompletionStreamResponse will bot return Usage
* remove the Usage field from the response, it would not be there anyway.
---------
Co-authored-by: lihang <nasa.li@deepres.com>
* Add model check for chat stream
* Sync model checks
* Fix typo
* Fix functino
* refactor: Refactor endpoint and model compatibility check
* apply review suggestions
* minor fix
* invert return boolean flag
* fix test