Class: AgUi::EventBridge
- Inherits:
-
Object
- Object
- AgUi::EventBridge
- Defined in:
- lib/ag_ui/event_bridge.rb
Overview
The seam between brute's turn pipeline and the AG-UI SSE stream.
Brute middleware and terminal procs push {type:, data:} events into
env; an EventBridge is that sink, translating each event into
the matching typed SSE emitter as it arrives — the browser sees deltas
mid-turn, not after.
pipeline.start(, events: AgUi::EventBridge.new(stream))
Unknown event types (brute's own :log, :tool_result telemetry, etc.) are ignored — only the AG-UI vocabulary reaches the wire.
Constant Summary collapse
- TRANSLATIONS =
{ text_message_start: :translate_text_start, text_message_content: :translate_text_content, text_message_end: :translate_text_end, tool_call_start: :translate_tool_call_start, tool_call_args: :translate_tool_call_args, tool_call_end: :translate_tool_call_end, tool_call_result: :translate_tool_call_result, state_snapshot: :translate_state_snapshot, state_delta: :translate_state_delta, messages_snapshot: :translate_messages_snapshot, activity_snapshot: :translate_activity_snapshot, reasoning_start: :translate_reasoning_start, reasoning_message_start: :translate_reasoning_message_start, reasoning_message_content: :translate_reasoning_message_content, reasoning_message_end: :translate_reasoning_message_end, reasoning_end: :translate_reasoning_end, step_started: :translate_step_started, step_finished: :translate_step_finished, custom: :translate_custom, raw: :translate_raw, }.freeze
Instance Method Summary collapse
- #<<(event) ⇒ Object
-
#initialize(stream) ⇒ EventBridge
constructor
A new instance of EventBridge.
Constructor Details
#initialize(stream) ⇒ EventBridge
Returns a new instance of EventBridge.
42 43 44 |
# File 'lib/ag_ui/event_bridge.rb', line 42 def initialize(stream) @stream = stream end |
Instance Method Details
#<<(event) ⇒ Object
46 47 48 49 50 51 52 |
# File 'lib/ag_ui/event_bridge.rb', line 46 def <<(event) handler = TRANSLATIONS[event[:type]] if handler send(handler, event[:data] || {}) end self end |