[P2] Implement Streaming Support #13

Closed
opened 2025-12-05 13:49:33 +00:00 by blightbow · 1 comment
Owner

Problem

All providers declare supports_streaming = True but:

  • No stream_chat_completion() method exists
  • Declaration without implementation breaks the contract

Suggested Fix

Add stream_chat_completion() to fulfill declared capability, or remove the supports_streaming declaration.

Priority

P2 — Medium Priority

Source

Architecture Audit 2025-12-03, Section 6: Streaming Support Unimplemented

## Problem All providers declare `supports_streaming = True` but: - No `stream_chat_completion()` method exists - Declaration without implementation breaks the contract ## Suggested Fix Add `stream_chat_completion()` to fulfill declared capability, or remove the `supports_streaming` declaration. ## Priority **P2 — Medium Priority** ## Source Architecture Audit 2025-12-03, Section 6: Streaming Support Unimplemented
Author
Owner

Resolved in commit b68176e1f by removing the false capability declarations rather than implementing streaming.

Rationale:

  • The tick-based architecture doesn't benefit from streaming (waits for complete response anyway)
  • Implementing streaming would require substantial refactoring (provider layer, client layer, response handling)
  • Tool extraction needs complete response (defeats streaming benefit)
  • The false declaration violated the interface contract and misled users

Changes:

  • Removed supports_streaming from base provider class and all implementations
  • Removed streaming column from provider status UI (template + JS)
  • Removed streaming from API capability endpoint responses
  • Removed streaming assertions from provider tests

Files modified: 9 files across providers, API, UI, and tests.

Resolved in commit `b68176e1f` by **removing the false capability declarations** rather than implementing streaming. **Rationale:** - The tick-based architecture doesn't benefit from streaming (waits for complete response anyway) - Implementing streaming would require substantial refactoring (provider layer, client layer, response handling) - Tool extraction needs complete response (defeats streaming benefit) - The false declaration violated the interface contract and misled users **Changes:** - Removed `supports_streaming` from base provider class and all implementations - Removed streaming column from provider status UI (template + JS) - Removed streaming from API capability endpoint responses - Removed streaming assertions from provider tests **Files modified:** 9 files across providers, API, UI, and tests.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
blightbow/evennia_ai#13
No description provided.