UNPKG

@assistant-ui/react

Version:

Typescript/React library for AI Chat

31 lines (30 loc) 880 B
"use client"; // src/model-context/useAssistantTool.tsx import { useEffect } from "react"; import { useAssistantRuntime, useToolUIsStore } from "../context/react/AssistantContext.mjs"; var useAssistantTool = (tool) => { const assistantRuntime = useAssistantRuntime(); const toolUIsStore = useToolUIsStore(); useEffect(() => { return tool.render ? toolUIsStore.getState().setToolUI(tool.toolName, tool.render) : void 0; }, [toolUIsStore, tool.toolName, tool.render]); useEffect(() => { const { toolName, render, disabled, ...rest } = tool; if (disabled) return; const context = { tools: { [toolName]: rest } }; return assistantRuntime.registerModelContextProvider({ getModelContext: () => context }); }, [assistantRuntime, tool]); }; export { useAssistantTool }; //# sourceMappingURL=useAssistantTool.mjs.map