Commit 4bd1a68
Changed files (2)
lib
elelem
builtins
spec
elelem
builtins
lib/elelem/builtins/tools.rb
@@ -8,9 +8,10 @@ module Elelem
end
def self.to_markdown(tool)
+ parameters = tool.to_h[:function][:parameters]
lines = ["## #{tool.name}", "", tool.description, "", "### Parameters", ""]
- tool.params.each do |param, spec|
- req = tool.required.include?(param.to_s) ? ", required" : ""
+ parameters[:properties].each do |param, spec|
+ req = parameters[:required].include?(param.to_s) ? ", required" : ""
desc = spec[:description] ? " - #{spec[:description]}" : ""
lines << "- `#{param}` (#{spec[:type]}#{req})#{desc}"
end
spec/elelem/builtins/tool_markdown_spec.rb
@@ -4,8 +4,10 @@ RSpec.describe Elelem::Builtins::ToolMarkdown do
subject(:tool) do
Elelem::Tool.new("greet",
description: "Greets someone.\nMore detail.",
- params: { name: { type: "string", description: "who to greet" } },
- required: ["name"],
+ schema: Elelem::Schema.new(
+ params: { name: { type: "string", description: "who to greet" } },
+ required: ["name"]
+ ),
aliases: ["hi"]
) { |args| { greeting: "hi #{args["name"]}" } }
end