Defines a tool that an agent can call.
Usage
defmodule MyTools.SearchDocs do
use NornsSdk.Tool,
name: "search_docs",
description: "Search product documentation",
side_effect: false
@impl true
def input_schema do
%{
"type" => "object",
"properties" => %{
"query" => %{"type" => "string", "description" => "Search query"}
},
"required" => ["query"]
}
end
@impl true
def execute(%{"query" => query}) do
results = MyApp.Docs.search(query)
{:ok, results}
end
end