Crig::Providers::Internal::OpenAICompatible
Class methods
append_tool_call_arguments(tool_call : Crig::RawStreamingToolCall, chunk : String) : Crig::RawStreamingToolCall
Sourceconvert_to_raw_choice(item : StreamItem, return_type : T.class) : Crig::RawStreamingChoice(T) forall T
Convert a StreamItem into a RawStreamingChoice(T). Callers use raw_choices = items.map { |item| OpenAICompatible.convert(item) }
finalize_completed_streaming_tool_call(tool_call : Crig::RawStreamingToolCall) : Crig::RawStreamingToolCall
Sourcefinalize_pending_tool_call(tool_call : Crig::RawStreamingToolCall) : Crig::RawStreamingToolCall | Nil
Sourceprocess_compatible_sse_stream(text : String, profile)
Common SSE stream processor shared by all OpenAI Chat Completions-compatible providers. Each provider supplies a profile with normalize_chunk and build_final_response callables to handle provider-specific chunk parsing.
Returns an array of intermediate StreamItems plus the accumulated usage value. Callers convert StreamItems to their concrete RawStreamingChoice(T) and append build_final_response(usage) as the final response. ameba:disable Metrics/CyclomaticComplexity
should_evict_distinct_named_tool_call(existing : Crig::RawStreamingToolCall, incoming : CompatibleToolCallChunk) : Bool
Sourcetake_finalized_tool_calls(tool_calls : Hash(Int32, Crig::RawStreamingToolCall)) : Array(Crig::RawStreamingToolCall)
SourceNested types
- Crig::Providers::Internal::OpenAICompatible::CompatibleChoice
- Crig::Providers::Internal::OpenAICompatible::CompatibleChunk(U)
- Crig::Providers::Internal::OpenAICompatible::CompatibleFinishReason
- Crig::Providers::Internal::OpenAICompatible::CompatibleToolCallChunk
- Crig::Providers::Internal::OpenAICompatible::StreamItem