Class: Insika::Tools::UpdateBriefing::SetNextStep
- Inherits:
-
RubyLLM::Tool
- Object
- RubyLLM::Tool
- Insika::Tools::UpdateBriefing::SetNextStep
- Includes:
- BriefingWrite
- Defined in:
- lib/insika/tools/update_briefing.rb
Overview
The agreed next step: same engine-owned briefing object, sibling writer. Blank clears to nil.
Instance Method Summary collapse
- #execute(text:) ⇒ Object
-
#initialize(session_store:, event_stream:, state:) ⇒ SetNextStep
constructor
A new instance of SetNextStep.
- #name ⇒ Object
Constructor Details
#initialize(session_store:, event_stream:, state:) ⇒ SetNextStep
Returns a new instance of SetNextStep.
106 107 108 109 110 111 |
# File 'lib/insika/tools/update_briefing.rb', line 106 def initialize(session_store:, event_stream:, state:) @session_store = session_store @event_stream = event_stream @state = state super() end |
Instance Method Details
#execute(text:) ⇒ Object
113 114 115 116 117 118 119 120 121 122 |
# File 'lib/insika/tools/update_briefing.rb', line 113 def execute(text:) sid = session_id return no_session_error if sid.to_s.empty? session = @session_store.set_next_step(sid, text: text.to_s) emit("next_step", nil, text.to_s) { next_step: session.briefing["next_step"] } rescue Insika::NotFoundError { error: "session not found" } end |
#name ⇒ Object
104 |
# File 'lib/insika/tools/update_briefing.rb', line 104 def name = "set_next_step" |