@assistant-ui/react
Version:
Typescript/React library for AI Chat
31 lines (30 loc) • 880 B
JavaScript
"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