Packages

Elixir-native LangChain, LangGraph, and DeepAgents for traceable LLM apps: OTP workflows, tools, memory, human-in-the-loop, streaming, custom clients/adapters, minimal deps, and WeaveScope tracing.

Current section

Files

Jump to
beam_weaver lib beam_weaver provider tool_renderer.ex
Raw

lib/beam_weaver/provider/tool_renderer.ex

defmodule BeamWeaver.Provider.ToolRenderer do
@moduledoc """
Behaviour for rendering BeamWeaver tools into provider-native declarations.
"""
alias BeamWeaver.Core.Error
@callback render_tools([term()], keyword()) :: {:ok, [map()]} | {:error, Error.t()}
@callback render_tool_choice(term(), [term()], keyword()) :: {:ok, term()} | {:error, Error.t()}
@optional_callbacks render_tool_choice: 3
end