vtcode_llm/providers/shared/
mod.rs1mod prompt_cache;
4mod responses_adapter;
5mod responses_stream;
6mod sse;
7mod stream;
8mod tag_sanitizer;
9mod tool_call_indexes;
10mod tool_output;
11mod usage;
12mod utf8;
13
14pub use crate::providers::ReasoningBuffer;
15pub(crate) use prompt_cache::{session_lineage_from_prompt_cache_key, split_dynamic_prompt_suffix};
16pub(crate) use responses_stream::{
17 RESPONSES_COMPLETION_TOKEN_KEYS, RESPONSES_PROMPT_TOKEN_KEYS, ResponsesStreamEventPolicy,
18 response_stream_event_policy,
19};
20pub(crate) use responses_stream::{
21 ResponsesNormalizedStreamOptions, ResponsesNormalizedStreamProcessor, create_responses_normalized_stream,
22};
23pub(crate) use sse::{drain_consumed_sse, extract_data_payload, find_sse_boundary_bytes, next_sse_event};
24pub use stream::{
25 NoopStreamTelemetry, OpenAiDeltaOrder, StreamAssemblyError, StreamDelta, StreamFragment, StreamTelemetry,
26 ToolCallBuilder,
27};
28pub(crate) use stream::{
29 StreamAggregator, collect_tool_references_from_tool_search_output, generate_tool_call_id,
30 handle_openai_compatible_chunk, parse_openai_tool_calls, process_openai_stream,
31};
32pub use tag_sanitizer::TagStreamSanitizer;
33pub(crate) use tool_call_indexes::ToolCallIndexes;
34pub(crate) use tool_output::{
35 function_output_value_from_message_content, parse_compacted_output_messages,
36 tool_result_content_from_message_content,
37};
38pub(crate) use usage::{
39 parse_cache_write_tokens_from_usage, parse_cached_prompt_tokens_from_usage, usage_u32_from_keys,
40};
41pub use utf8::Utf8StreamDecoder;