import { useCopilotKit } from "../providers/CopilotKitProvider.mjs"; import { useEffect } from "react"; //#region src/hooks/use-frontend-tool.tsx const EMPTY_DEPS = []; function useFrontendTool(tool, deps) { const { copilotkit } = useCopilotKit(); const extraDeps = deps ?? EMPTY_DEPS; useEffect(() => { const name = tool.name; if (copilotkit.getTool({ toolName: name, agentId: tool.agentId })) { console.warn(`Tool '${name}' already exists for agent '${tool.agentId || "global"}'. Overriding with latest registration.`); copilotkit.removeTool(name, tool.agentId); } copilotkit.addTool(tool); if (tool.render && tool.parameters) copilotkit.addHookRenderToolCall({ name, args: tool.parameters, agentId: tool.agentId, render: tool.render }); return () => { copilotkit.removeTool(name, tool.agentId); }; }, [ tool.name, tool.available, copilotkit, extraDeps.length, ...extraDeps ]); } //#endregion export { useFrontendTool }; //# sourceMappingURL=use-frontend-tool.mjs.map