-module(adk_agent_sup). -behaviour(supervisor). -export([start_link/0, start_agent/3]). -export([init/1]). -define(SERVER, ?MODULE). start_link() -> supervisor:start_link({local, ?SERVER}, ?MODULE, []). %% @doc Spawns a new ADK agent process dynamically under this supervisor. start_agent(Name, LLMConfig, Tools) -> supervisor:start_child(?SERVER, [Name, LLMConfig, Tools]). init([]) -> SupFlags = #{strategy => simple_one_for_one, intensity => 5, period => 10}, ChildSpecs = [ #{id => adk_agent, start => {adk_agent, start_link, []}, restart => transient, shutdown => 5000, type => worker, modules => [adk_agent]} ], {ok, {SupFlags, ChildSpecs}}.