// @opengeni/react/session-ui — styled surfaces used by the session route. // Keep these separate from the hook-only session entry and the broad root barrel // so session hosts do not pay for unrelated React surfaces. export { HumanInputForm } from "./components/human-input-form"; export type { HumanInputAnswerDraft, HumanInputFormMessages, HumanInputFormProps, } from "./components/human-input-form"; export { HumanInputSurface } from "./components/human-input-surface"; export { SecretAnswerChip, SecretRefChip, SecretRefText, secretReferenceLabel, } from "./components/secret-ref-chip"; export type { SecretAnswerChipProps, SecretRefChipProps, SecretRefTextProps, SecretReferenceLabel, } from "./components/secret-ref-chip"; export { SecretsUiProvider } from "./secrets-ui"; export { ApprovalSurface } from "./components/approval-surface"; export { ToolActionReviewCard, ToolActionReviewDetails } from "./components/tool-action-review"; export type { ToolReviewDetailsLoader } from "./components/tool-action-review"; export type { ApprovalSurfaceProps, ApprovalSurfaceMessages } from "./components/approval-surface"; export type { HumanInputSurfaceProps } from "./components/human-input-surface"; export { MessageTimeline, TimelineRow } from "./components/message-timeline"; export type { MessageTimelineProps } from "./components/message-timeline"; export type { RenderAllowanceExhausted } from "./timeline/allowance-exhausted-row"; export type { AllowanceLabels, AllowanceScope } from "./usage/allowance-copy"; export { OpenGeniLinkProvider, chainLinkRenderers, chainLinkResolvers, sessionLinkResolver, useOpenGeniLinkRenderer, useOpenGeniLinkResolver, viewerLinkResolver, } from "./components/open-geni-links"; export type { OpenGeniHostLink, OpenGeniLinkRenderer, OpenGeniLinkResolution, OpenGeniLinkResolver, OpenGeniLinkTarget, OpenGeniViewerTarget, } from "./components/open-geni-links"; export { parseOpenGeniLink } from "@opengeni/sdk"; export { ArtifactLabelsProvider, DEFAULT_ARTIFACT_LABELS, type ArtifactLabels, } from "./components/artifacts/artifact-chrome"; export type { TimelineSearchTarget } from "./components/timeline-search"; export { createOlderHistoryLoadReceipt } from "./older-history"; export type { OlderHistoryLoader, OlderHistoryLoadReceipt } from "./older-history"; export { UserMessageBody, userMessageLikelyNeedsDisclosure } from "./components/user-message-body"; export type { UserMessageBodyProps, UserMessageDisclosureLabels, } from "./components/user-message-body"; export { BUILT_IN_TURN_SUMMARY_FACET_IDS } from "./timeline/turn-summary"; export type { BuiltInTurnSummaryFacetId, TurnSummaryContext, TurnSummaryFacet, TurnSummaryFacetConfiguration, TurnSummaryFacetResult, TurnSummaryOptions, } from "./timeline/turn-summary"; export { QueueSurface } from "./components/queue-surface"; // The provider too, so a host needs only this entry (the root also exports the // workbench, whose editors, terminal and desktop are optional peers). export { OpenGeniProvider } from "./provider"; export type { OpenGeniProviderProps, ErrorMessageFormatter } from "./provider"; // The tool-renderer registry, so custom tool renderers need no root import. export { createDefaultToolRegistry, createToolRegistry, defaultToolRegistry } from "./timeline"; export type { CreateToolRegistryOptions, ToolRegistry, ToolRegistryEntry, ToolRenderer, ToolRendererProps, } from "./timeline"; export { SessionConversation, SessionConversationView } from "./components/session-conversation"; export { useSessionConversation } from "./hooks/use-session-conversation"; export { useNewConversation } from "./hooks/use-new-conversation"; export type { NewConversationController, UseNewConversationOptions, NewConversationCreateOptions, CreatedConversation, } from "./hooks/use-new-conversation"; export { NewConversation, NewConversationView } from "./components/new-conversation"; export type { NewConversationProps, NewConversationViewProps, NewConversationLabels, } from "./components/new-conversation"; export type { PendingPrompt, SessionConversationController, UseSessionConversationOptions, } from "./hooks/use-session-conversation"; export { SessionList } from "./components/session-list"; export type { SessionListLabels, SessionListProps } from "./components/session-list"; export { OpenGeniChat } from "./components/open-geni-chat"; export type { OpenGeniChatCreateOptions, OpenGeniChatLabels, OpenGeniChatProps, } from "./components/open-geni-chat"; export type { SessionConversationLabels, SessionConversationProps, SessionConversationViewProps, } from "./components/session-conversation"; export type { QueueSurfaceProps } from "./components/queue-surface"; export { SessionChrome, sessionChromeGoalPillExplanation, sessionChromeGoalPillLabel, sessionChromeGoalPillState, } from "./components/session-chrome"; export type { SessionChromeAgentsSignal, SessionChromeProps, SessionChromeSignalId, SessionChromeSignalTone, } from "./components/session-chrome"; export { SessionCommandsPanel } from "./components/session-commands-panel"; export { SessionCommands } from "./components/session-commands"; export { KnowledgeActivityProvider } from "./timeline/knowledge-receipt"; export { LearningRefusalActionsProvider, type LearningRefusalActions, } from "./timeline/learning-refusal-row"; export type { LearningRefusalPlace } from "./timeline/learning-refusal-copy"; export type { KnowledgeActivityActions } from "./timeline/knowledge-receipt"; export { StartupTimings } from "./timeline/startup-timings"; export { useStartupDetails, setStartupDetails } from "./timeline/startup-preference"; export type { GenieLoadingOptions } from "./timeline/genie-loading"; export { ToolReviewHistoryProvider } from "./components/tool-review-history"; // Why a message can't start, with machine choice and recheck. Every word comes // from the message catalog (`sessionAdmission.*`). The headless state is // `useSessionStart` in `@opengeni/react/session`. export { PersonalMachineExplanation, SessionAdmissionNotice, SessionMachineAccessNotice, SessionMachineChoices, SessionStartNotice, } from "./components/session-admission-notice"; export type { SessionAdmissionNoticeProps, SessionMachineChoicesProps, SessionStartNoticeProps, } from "./components/session-admission-notice";