tools は何をしますか?
assistant-ui(@assistant-ui/react)でLLMツールを登録し、カスタムツールコールUIをレンダリングします。フロントエンド専用ツール(クリップボード操作、ナビゲーション、localStorage、非同期ジェネレーターストリーミング、AbortSignalなど)を追加する場合にはmakeAssistantTool / useAssistantToolを使用します。バックエンドのAI SDK tool()呼び出しをレンダリングする際にはmakeAssistantToolUI / useAssistantToolUIを使用し、status.type(running/complete/incomplete/requires-action)、args、result、artifact(ToolCallMessagePartProps経由)を扱います。また、ツール結果から生成UIを構築したり、ヒューマン・イン・ザ・ループや承認フロー(addResult、context.human()による再開、サーバーサイドのneedsApprovalゲートに対するrespondToApproval)を実装する場合にも対応します。AssistantRuntimeProvider内でのツールコンポーネントの登録と、ツールとそのUIを接続する大文字小文字を区別するtoolNameのマッチングについても説明しています。ツールUIがレンダリングされない、ツールが呼び出されない、結果が表示されないといった問題が発生したときに参照すべきスキルです。