Builds tool schemas and function maps from tool definitions.
Takes a list of modules implementing Alloy.Tool and/or
Alloy.Tool.Inline structs (see Alloy.Tool.inline/1) and produces:
- Tool definitions (JSON Schema format for providers)
- A dispatch map from tool name → module or inline struct
Summary
Functions
Build tool definitions and dispatch map from a list of tools.
Types
@type tool() :: module() | Alloy.Tool.Inline.t()
Functions
Build tool definitions and dispatch map from a list of tools.
Each entry is either a module implementing Alloy.Tool or an
Alloy.Tool.Inline struct. Returns {tool_defs, tool_fns} where:
tool_defsis a list of maps suitable for provider APIstool_fnsmaps tool name strings to their implementing tool