Module: CodexSDK::Events
- Defined in:
- lib/codex_sdk/events.rb
Defined Under Namespace
Classes: Error, ItemCompleted, ItemStarted, ItemUpdated, ThreadStarted, TurnCompleted, TurnFailed, TurnStarted, Unknown
Class Method Summary collapse
-
.parse(data) ⇒ Object
Parse a JSON hash into a typed event.
Class Method Details
.parse(data) ⇒ Object
Parse a JSON hash into a typed event.
6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/codex_sdk/events.rb', line 6 def self.parse(data) case data["type"] when "thread.started" then ThreadStarted.new(thread_id: data["thread_id"]) when "turn.started" then TurnStarted.new when "turn.completed" then TurnCompleted.from_json(data) when "turn.failed" then TurnFailed.new(error_message: data.dig("error", "message").to_s) when "item.started" then ItemStarted.new(item: Items.parse(data["item"])) when "item.updated" then ItemUpdated.new(item: Items.parse(data["item"])) when "item.completed" then ItemCompleted.new(item: Items.parse(data["item"])) when "error" then Error.new(message: data["message"].to_s) else Unknown.new(type: data["type"], data: data) end end |