SurfSense/surfsense_web/components/tool-ui/index.ts
API Test Bot e4d020799b feat(crypto): add SurfSense 2.0 Crypto Co-Pilot UI components
Frontend - Web Dashboard:
- Add crypto dashboard page with Watchlist, Alerts, Market, Profile tabs
- Add 11 tool-ui components for inline chat display
- Add crypto components (ChainIcon, SafetyBadge, PriceDisplay, etc.)
- Add modals (AddTokenModal, CreateAlertModal)
- Add mock data for development

Frontend - Browser Extension:
- Add shared components (ChainIcon, RiskBadge, PriceDisplay, SuggestionCard)
- Add crypto components (SafetyScoreDisplay, WatchlistPanel, AlertConfigModal)
- Add chat enhancements (WelcomeScreen, ThinkingStepsDisplay)
- Add widget components for inline display
- Enhance TokenInfoCard, ChatHeader, ChatInput, ChatInterface

Documentation:
- Add conversational UX specification
- Add UX analysis report
- Update extension UX design

This implements the Conversational UX paradigm where crypto features
are AI-callable tools that render inline in the chat interface.
2026-02-04 02:19:57 +07:00

127 lines
3 KiB
TypeScript

/**
* Tool UI Components
*
* This module exports custom UI components for assistant tools.
* These components are registered with assistant-ui to render
* rich UI when specific tools are called by the agent.
*/
export {
Article,
ArticleErrorBoundary,
ArticleLoading,
type ArticleProps,
ArticleSkeleton,
parseSerializableArticle,
type SerializableArticle,
} from "./article";
export { Audio } from "./audio";
export {
type DeepAgentThinkingArgs,
type DeepAgentThinkingResult,
DeepAgentThinkingToolUI,
InlineThinkingDisplay,
type ThinkingStep,
} from "./deepagent-thinking";
export {
type DisplayImageArgs,
DisplayImageArgsSchema,
type DisplayImageResult,
DisplayImageResultSchema,
DisplayImageToolUI,
} from "./display-image";
export { GeneratePodcastToolUI } from "./generate-podcast";
export {
Image,
ImageErrorBoundary,
ImageLoading,
type ImageProps,
ImageSkeleton,
parseSerializableImage,
type SerializableImage,
} from "./image";
export {
type LinkPreviewArgs,
LinkPreviewArgsSchema,
type LinkPreviewResult,
LinkPreviewResultSchema,
LinkPreviewToolUI,
type MultiLinkPreviewArgs,
MultiLinkPreviewArgsSchema,
type MultiLinkPreviewResult,
MultiLinkPreviewResultSchema,
MultiLinkPreviewToolUI,
} from "./link-preview";
export {
MediaCard,
MediaCardErrorBoundary,
MediaCardLoading,
type MediaCardProps,
MediaCardSkeleton,
parseSerializableMediaCard,
type SerializableMediaCard,
} from "./media-card";
export {
Plan,
PlanErrorBoundary,
type PlanProps,
type PlanTodo,
parseSerializablePlan,
type SerializablePlan,
type TodoStatus,
} from "./plan";
export {
type ScrapeWebpageArgs,
ScrapeWebpageArgsSchema,
type ScrapeWebpageResult,
ScrapeWebpageResultSchema,
ScrapeWebpageToolUI,
} from "./scrape-webpage";
export {
type MemoryItem,
type RecallMemoryArgs,
RecallMemoryArgsSchema,
type RecallMemoryResult,
RecallMemoryResultSchema,
RecallMemoryToolUI,
type SaveMemoryArgs,
SaveMemoryArgsSchema,
type SaveMemoryResult,
SaveMemoryResultSchema,
SaveMemoryToolUI,
} from "./user-memory";
export { type WriteTodosData, WriteTodosSchema, WriteTodosToolUI } from "./write-todos";
// Crypto Tool UI Components - Conversational Crypto Advisor
export {
// Token Analysis
TokenAnalysisToolUI,
TokenAnalysisArgsSchema,
TokenAnalysisResultSchema,
type TokenAnalysisArgs,
type TokenAnalysisResult,
// Watchlist Display
WatchlistDisplayToolUI,
WatchlistDisplayArgsSchema,
WatchlistDisplayResultSchema,
type WatchlistDisplayArgs,
type WatchlistDisplayResult,
// Action Confirmation
ActionConfirmationToolUI,
ActionConfirmationArgsSchema,
ActionConfirmationResultSchema,
type ActionConfirmationArgs,
type ActionConfirmationResult,
// Alert Configuration
AlertConfigurationToolUI,
AlertConfigurationArgsSchema,
AlertConfigurationResultSchema,
type AlertConfigurationArgs,
type AlertConfigurationResult,
// Proactive Alert
ProactiveAlertToolUI,
ProactiveAlertArgsSchema,
ProactiveAlertResultSchema,
type ProactiveAlertArgs,
type ProactiveAlertResult,
} from "./crypto";