Class: AnalyticalBrain::Tools::FinishGoal
Overview
Marks a goal as completed on the main session. Sets the status to “completed” and records the completion timestamp.
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Tools::Base
schema, truncation_threshold
Constructor Details
#initialize(main_session:) ⇒ FinishGoal
Returns a new instance of FinishGoal.
23
24
25
|
# File 'lib/analytical_brain/tools/finish_goal.rb', line 23
def initialize(main_session:, **)
@main_session = main_session
end
|
Class Method Details
.description ⇒ Object
10
|
# File 'lib/analytical_brain/tools/finish_goal.rb', line 10
def self.description = "Mark a goal as completed."
|
12
13
14
15
16
17
18
19
20
|
# File 'lib/analytical_brain/tools/finish_goal.rb', line 12
def self.input_schema
{
type: "object",
properties: {
goal_id: {type: "integer"}
},
required: %w[goal_id]
}
end
|
8
|
# File 'lib/analytical_brain/tools/finish_goal.rb', line 8
def self.tool_name = "finish_goal"
|
Instance Method Details
#execute(input) ⇒ String, Hash
30
31
32
33
34
35
36
|
# File 'lib/analytical_brain/tools/finish_goal.rb', line 30
def execute(input)
goal_id = input["goal_id"]
goal = @main_session.goals.find_by(id: goal_id)
return {error: "Goal not found (id: #{goal_id})"} unless goal
complete(goal)
end
|