Public declaration syntax from harness-tui-kit/src/lib.rs Original source SHA-256: e50cc92fc82cd94824b628145ae9e28c906ee02446709834296c6a11d770cb9a Function bodies and constant values are omitted. This is not the complete implementation. Source line 25 pub mod components; Source line 29 pub mod util; Source line 31 pub use effects::KitEffect; Source line 32 pub use theme::{Theme, ThemeOverrides, DEFAULT_THEME}; Source line 33 pub use types::{ AgentInfo, AgentStatus, ApprovalAction, ApprovalRequest, ChatMessage, CommandHint, CostEntry, DecisionOption, DiffLine, DiffLineKind, KeyShortcut, LatencySnapshot, LogEntry, LogLevel, PaletteItem, PermissionCategory, PermissionDecision, PermissionRequest, ProposalInfo, ProposalKind, ProposalStatus, RiskLevel, Role, Severity, TaskItem, TaskStatus, ToolCallInfo, ToolCallStatus, TransactionEntry, TreasuryInfo, VoteChoice, WorkflowEdge, WorkflowNodeInfo, WorkflowNodeKind, }; Source line 43 pub use components::agent::{ AgentAvatar, AgentCard, AgentCardState, AgentList, AgentListState, AgentPanel, AgentPanelState, AgentStatusDot, AvatarSize, MultiAgentHeader, MultiAgentHeaderState, }; Source line 47 pub use components::chat::{ ChangeKind, ChatBubble, ChatBubbleState, ChatTimeline, ChatTimelineState, CodeBlock, CodeBlockState, DiffView, DiffViewState, DocumentPreviewPane, DocumentPreviewState, FileDisplay, FileDisplayState, InlineDiffCard, InputBar, InputBarState, MarkdownRenderer, MarkdownStreamCollector, PageStyle, StreamingText, StreamingTextState, ToolCallCard, ToolCallCardStatus, ToolCallDisplay, ToolCallState, }; Source line 54 pub use components::governance::{ ConstitutionView, ConstitutionViewState, ProposalCard, ProposalCardState, TreasuryDisplay, VotingPanel, VotingPanelState, }; Source line 58 pub use components::harness::{ AttributionTable, AttributionTableRow, AttributionTaskOutcomeBadge, ChangeManifestView, HarnessComponentRow, HarnessComponentStatus, HarnessComponentTree, HarnessComponentTreeState, ManifestEntryView, ManifestVerdictBadge, }; Source line 63 pub use components::history::{ ApprovalCell, ApprovalState, AssistantCell, DiffCell, ExecCell, ExecOutcome, HistoryCell, HistoryView, HistoryViewState, SystemCell, SystemSeverity, ToolCell, ToolCellOutcome, UserCell, }; Source line 67 pub use components::hitl::{ ApprovalChooser, ApprovalChooserAction, ApprovalChooserState, ApprovalDialog, ApprovalDialogState, ApprovalQueue, ApprovalQueueState, ConfirmButton, ConfirmationPrompt, ConfirmationPromptState, DecisionPanel, DecisionPanelState, PermissionBanner, PermissionPrompt, PermissionPromptState, }; Source line 73 pub use components::metrics::{ CostTracker, LatencyDisplay, MetricBarItem, MetricCard, MetricsBar, TokenMeter, }; Source line 76 pub use components::system::{ custom_logo::CLAUSEN_LOGO_ROWS, fmt_elapsed_compact, AppShell, AppShellState, Banner, BlockLogo, CollapseState, CommandPalette, CommandPaletteState, CustomLogo, FocusCard, GoalDisplay, GoalStep, GoalStepStatus, HintBar, HintItem, KeyboardHelp, KeyboardHelpState, LogViewer, LogViewerState, Modal, ModalButton, ModalState, ModelCapabilities, ModelPicker, ModelPickerRow, ModelPickerState, NotificationToast, NotificationToastState, PagerOverlay, PagerOverlayState, PendingSelection, ResumePicker, ResumePickerRow, ResumePickerState, SettingsPalette, SettingsPaletteItem, SettingsPalettePage, SettingsPaletteState, ShellPanel, Shimmer, ShimmerState, SlashDropdown, SlashDropdownItem, SlashDropdownState, Spinner, SpinnerStyle, SplitDirection, SplitPane, SplitPaneState, StatusBar, StatusFooter, StatusFooterIndicator, StatusIndicator, StatusIndicatorState, StatusKind, TabItem, Tabs, TabsState, ThemePicker, ThemePickerRow, ThemePickerState, ThinkingAnimation, ThinkingAnimationState, ThinkingIndicator, ToastMessage, WelcomeConfig, WelcomeScreen, BLOCK_LOGO_GLYPH_WIDTH, BLOCK_LOGO_HEIGHT, BLOCK_LOGO_SPACING, SHIMMER_DEFAULT_WINDOW, THINKING_ANIMATION_DEFAULT_CHARSET, THINKING_ANIMATION_DEFAULT_WIDTH, }; Source line 92 pub use components::workflow::{ ProgressTimeline, TaskList, TaskListState, WorkflowDAG, WorkflowDAGState, WorkflowNode, }; Source line 95 pub use util::live_wrap::{display_width, wrap_unicode}; Source line 96 pub use util::unified_diff::{parse_unified_diff, DiffFile}; Source line 97 pub use util::word_diff::{pair_changed_lines, word_diff, ChangedPair, WordDiff};