Class: AnalyticalBrain::Tools::ActivateSkill
Overview
Activates a domain knowledge skill on the main session. The skill’s content enters the conversation as a phantom tool_use/tool_result pair through the PendingMessage promotion flow.
Class Method Summary
collapse
Instance Method Summary
collapse
Methods inherited from Tools::Base
schema, truncation_threshold
Constructor Details
#initialize(main_session:) ⇒ ActivateSkill
Returns a new instance of ActivateSkill.
24
25
26
|
# File 'lib/analytical_brain/tools/activate_skill.rb', line 24
def initialize(main_session:, **)
@main_session = main_session
end
|
Class Method Details
.description ⇒ Object
11
|
# File 'lib/analytical_brain/tools/activate_skill.rb', line 11
def self.description = "Give the agent domain knowledge relevant to the current conversation."
|
13
14
15
16
17
18
19
20
21
|
# File 'lib/analytical_brain/tools/activate_skill.rb', line 13
def self.input_schema
{
type: "object",
properties: {
skill_name: {type: "string"}
},
required: %w[skill_name]
}
end
|
9
|
# File 'lib/analytical_brain/tools/activate_skill.rb', line 9
def self.tool_name = "activate_skill"
|
Instance Method Details
#execute(input) ⇒ String, Hash
31
32
33
34
35
36
37
38
39
|
# File 'lib/analytical_brain/tools/activate_skill.rb', line 31
def execute(input)
skill_name = input["skill_name"].to_s.strip
return {error: "Skill name cannot be blank"} if skill_name.empty?
skill = @main_session.activate_skill(skill_name)
format_confirmation(skill)
rescue Skills::InvalidDefinitionError => error
{error: error.message}
end
|