import { useAtomValue, Result } from "@effect-atom/atom-react"; import { toolsAtom } from "../api/atoms"; import { useScope } from "../hooks/use-scope"; import { Badge } from "../components/badge"; export function ToolsPage() { const scopeId = useScope(); const tools = useAtomValue(toolsAtom(scopeId)); return (
{/* Header */}

Tools

All registered tools across your connected sources.

{Result.match(tools, { onInitial: () =>

Loading tools…

, onFailure: () =>

Failed to load tools

, onSuccess: ({ value }) => value.length === 0 ? (

No tools registered

Add a source to start discovering tools.

) : (
{value.map((t) => (

{t.name}

{t.description && (

{t.description}

)}
{t.sourceId}
))}
), })}
); }