forked from kent/consciousness
Split the streaming pipeline: API backends yield StreamEvents through a channel, the runner reads them and routes to the appropriate UI pane. - Add StreamEvent enum (Content, Reasoning, ToolCallDelta, etc.) - API start_stream() spawns backend as a task, returns event receiver - Runner loops over events, sends content to conversation pane but suppresses <tool_call> XML with a buffered tail for partial tags - OpenAI backend refactored to stream_events() — no more UI coupling - Anthropic backend gets a wrapper that synthesizes events from the existing stream() (TODO: native event streaming) - chat_completion_stream() kept for subconscious agents, reimplemented on top of the event stream - Usage derives Clone Co-Authored-By: Proof of Concept <poc@bcachefs.org> |
||
|---|---|---|
| .. | ||
| api | ||
| tools | ||
| cli.rs | ||
| context.rs | ||
| dmn.rs | ||
| identity.rs | ||
| journal.rs | ||
| log.rs | ||
| mod.rs | ||
| observe.rs | ||
| parsing.rs | ||
| runner.rs | ||
| tui.rs | ||
| types.rs | ||
| ui_channel.rs | ||