tools은(는) 무엇을 하나요?
assistant-ui(@assistant-ui/react)에서 LLM 도구를 등록하고 사용자 정의 도구 호출 UI를 렌더링합니다. makeAssistantTool / useAssistantTool을 사용하여 프론트엔드 전용 도구(클립보드, 탐색, localStorage, 비동기 제너레이터 스트리밍, AbortSignal 같은 브라우저 액션)를 추가할 때, makeAssistantToolUI / useAssistantToolUI를 사용하여 백엔드 AI SDK tool() 호출(status.type이 running/complete/incomplete/requires-action이고 args, result, artifact를 ToolCallMessagePartProps로 전달)을 렌더링할 때, 도구 결과로 생성적 UI(Generative UI)를 구축할 때, 또는 addResult, resume(context.human()), 서버 측 needsApproval 게이트에 대응하는 respondToApproval을 통한 Human-in-the-Loop 및 승인 흐름을 구현할 때 사용합니다. 도구 컴포넌트를 AssistantRuntimeProvider 내부에 등록하고, 대소문자를 구분하는 toolName을 통해 도구와 UI를 연결하는 방법을 다룹니다. 도구 UI가 렌더링되지 않거나, 도구가 호출되지 않거나, 결과가 표시되지 않는 상황에서 이 스킬을 참고하세요.