Class: TurnKit::LoadSkillTool
- Defined in:
- lib/turnkit/load_skill_tool.rb
Constant Summary
Constants inherited from Tool
Tool::NAME_PATTERN, Tool::TYPES
Class Method Summary collapse
Instance Method Summary collapse
Methods inherited from Tool
call, completion_message, #completion_message, description, #description, ends_turn?, #ends_turn?, input_schema, #input_schema, invoke, parameter, parameters, #parameters, terminal!, tool_name, #tool_name, usage_hint, #usage_hint, validate_arguments, validate_definition!, #validate_definition!
Class Method Details
.for(skills) ⇒ Object
9 10 11 12 13 14 15 16 17 |
# File 'lib/turnkit/load_skill_tool.rb', line 9 def self.for(skills) Class.new(self) do tool_name "load_skill" @skills = Array(skills).to_h { |skill| [ skill.key, skill ] } class << self attr_reader :skills end end end |
Instance Method Details
#call(key:, context:) ⇒ Object
19 20 21 22 23 24 25 26 27 |
# File 'lib/turnkit/load_skill_tool.rb', line 19 def call(key:, context:) skill = self.class.skills[key] unless skill available = self.class.skills.keys.join(", ") raise ToolError, "unknown skill: #{key}. Available: #{available}" end { "key" => skill.key, "name" => skill.name, "content" => skill.content } end |