refactor: extract shared streaming utilities module
Agent: carmack Create crates/g3-providers/src/streaming.rs with shared helpers: - decode_utf8_streaming(): Handle incomplete UTF-8 sequences in SSE streams - is_incomplete_json_error(): Detect incomplete vs malformed JSON - make_final_chunk(): Create finished completion chunks - make_text_chunk(): Create text content chunks - make_tool_chunk(): Create tool call chunks Refactor anthropic.rs: - Use shared decode_utf8_streaming (removes 15 lines of inline UTF-8 handling) - Use make_final_chunk, make_text_chunk, make_tool_chunk helpers - Reduces verbose CompletionChunk constructions throughout Refactor databricks.rs: - Remove local copies of streaming helpers (now uses shared module) - Reduces duplication between providers Net reduction: 118 lines removed, 16 lines added (including new module) All tests pass. Behavior unchanged.
This commit is contained in:
@@ -32,6 +32,8 @@ LOCAL REFACTORS (behavior-preserving, BUT aggressively readability improving):
|
||||
- Replace clever tricks with plain constructs
|
||||
- Improve existing explanations
|
||||
- Pull out constants, interfaces, structs for readability
|
||||
- If files are larger than 1000 lines, refactor them into smaller pieces
|
||||
- If functions are longer than 250 lines refactor them
|
||||
|
||||
EXPLANATION (only when needed):
|
||||
|
||||
|
||||
Reference in New Issue
Block a user