@page-speed/agent-everywhere 0.6.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -2892,11 +2892,30 @@ interface AgentWorkspaceProps {
2892
2892
  onLeftPanelOpenChange?: (open: boolean) => void;
2893
2893
  onRightPanelOpenChange?: (open: boolean) => void;
2894
2894
  /**
2895
- * Render the built-in floating panel toggles in the top corners of the
2896
- * center column. Default true. Set false and mount
2897
- * `<AgentWorkspacePanelToggle/>` in your own chrome instead.
2895
+ * Render extra floating panel toggles in the top corners of the center
2896
+ * column. Default false the persistent workspace header already hosts a
2897
+ * toggle at each end. Mount `<AgentWorkspacePanelToggle/>` in your own
2898
+ * chrome for fully custom placement.
2898
2899
  */
2899
2900
  showPanelToggles?: boolean;
2901
+ /**
2902
+ * Show the workspace header bar: left panel toggle, icon + title + status
2903
+ * on the left; `headerActions`, reset, the conversation chevron, and the
2904
+ * right panel toggle on the right. Default true.
2905
+ */
2906
+ showHeader?: boolean;
2907
+ /** @deprecated Use `showHeader`. Honored when `showHeader` is not set. */
2908
+ showConversationHeader?: boolean;
2909
+ /**
2910
+ * Host actions rendered at the start of the header's right action group —
2911
+ * e.g. a "+ New" button that mirrors the page's primary action.
2912
+ */
2913
+ headerActions?: ReactNode;
2914
+ /**
2915
+ * Status line under the title. Defaults to the shared session's
2916
+ * error/status label; pass this when running disconnected (no provider).
2917
+ */
2918
+ headerStatus?: ReactNode;
2900
2919
  /**
2901
2920
  * Custom conversation node for the slide-in layer. Defaults to
2902
2921
  * `<AgentConversation/>` bound to the shared session.
@@ -2905,10 +2924,8 @@ interface AgentWorkspaceProps {
2905
2924
  /** Controlled visibility for the conversation layer. */
2906
2925
  conversationOpen?: boolean;
2907
2926
  onConversationOpenChange?: (open: boolean) => void;
2908
- /** Title shown in the conversation layer's header. Default "AI Assistant". */
2927
+ /** Title shown in the workspace header. Default "AI Assistant". */
2909
2928
  conversationTitle?: ReactNode;
2910
- /** Hide the conversation layer's header bar (title + reset + minimize). */
2911
- showConversationHeader?: boolean;
2912
2929
  /**
2913
2930
  * `false` removes the dock; a ReactNode replaces the default
2914
2931
  * `<AgentWorkspaceComposer/>`; `true`/omitted renders the default.
@@ -2933,7 +2950,7 @@ interface AgentWorkspaceProps {
2933
2950
  * conversation, composer) into a page-level workspace with toggleable side
2934
2951
  * panels and a sliding center conversation.
2935
2952
  */
2936
- declare function AgentWorkspace({ children, leftPanel, rightPanel, leftPanelWidth, rightPanelWidth, defaultLeftPanelOpen, defaultRightPanelOpen, leftPanelOpen: leftPanelOpenProp, rightPanelOpen: rightPanelOpenProp, onLeftPanelOpenChange, onRightPanelOpenChange, showPanelToggles, conversation, conversationOpen: conversationOpenProp, onConversationOpenChange, conversationTitle, showConversationHeader, composer, composerPlaceholder, composerHint, onComposerSubmit, className, contentClassName, conversationClassName, leftPanelClassName, rightPanelClassName, composerClassName, }: AgentWorkspaceProps): react.JSX.Element;
2953
+ declare function AgentWorkspace({ children, leftPanel, rightPanel, leftPanelWidth, rightPanelWidth, defaultLeftPanelOpen, defaultRightPanelOpen, leftPanelOpen: leftPanelOpenProp, rightPanelOpen: rightPanelOpenProp, onLeftPanelOpenChange, onRightPanelOpenChange, showPanelToggles, showHeader, showConversationHeader, headerActions, headerStatus, conversation, conversationOpen: conversationOpenProp, onConversationOpenChange, conversationTitle, composer, composerPlaceholder, composerHint, onComposerSubmit, className, contentClassName, conversationClassName, leftPanelClassName, rightPanelClassName, composerClassName, }: AgentWorkspaceProps): react.JSX.Element;
2937
2954
 
2938
2955
  interface AgentWorkspaceComposerProps {
2939
2956
  /** Controlled draft value. Pair with `onChange` for caller-controlled editing. */
@@ -2980,6 +2997,28 @@ interface AgentWorkspacePanelToggleProps {
2980
2997
  */
2981
2998
  declare function AgentWorkspacePanelToggle({ side, open: openProp, onToggle, className, }: AgentWorkspacePanelToggleProps): react.JSX.Element | null;
2982
2999
 
3000
+ interface AgentWorkspaceSkeletonProps {
3001
+ /** Render the left/right panel rails. Default true for both. */
3002
+ leftPanel?: boolean;
3003
+ rightPanel?: boolean;
3004
+ /** Match the real workspace's panel widths. Defaults: left 320, right 460. */
3005
+ leftPanelWidth?: number;
3006
+ rightPanelWidth?: number;
3007
+ /** Render the workspace header bar placeholder. Default true. */
3008
+ showHeader?: boolean;
3009
+ /** Render the composer dock placeholder. Default true. */
3010
+ composer?: boolean;
3011
+ /** Custom center-content skeleton. Defaults to generic pulsing rows. */
3012
+ children?: ReactNode;
3013
+ className?: string;
3014
+ }
3015
+ /**
3016
+ * Layout-matched loading placeholder for pages wrapped in `<AgentWorkspace>`.
3017
+ * Mirrors the workspace geometry exactly (panel widths, `lg:` gating, header
3018
+ * and dock heights) so the resolved page does not shift when data arrives.
3019
+ */
3020
+ declare function AgentWorkspaceSkeleton({ leftPanel, rightPanel, leftPanelWidth, rightPanelWidth, showHeader, composer, children, className, }: AgentWorkspaceSkeletonProps): react.JSX.Element;
3021
+
2983
3022
  interface AgentWorkspaceContextValue {
2984
3023
  /** Whether a left/right panel slot was provided to the workspace. */
2985
3024
  hasLeftPanel: boolean;
@@ -3036,4 +3075,4 @@ interface NativeSurfaceProps {
3036
3075
  }
3037
3076
  declare function NativeSurface({ children, input, title, subtitle, icon, headerActions, suggestions, footer, isLoading, autoScroll, className, contentClassName, }: NativeSurfaceProps): react.JSX.Element;
3038
3077
 
3039
- export { type AgendaItem, type AgendaItemAction, type AgendaItemState, type AgendaSlotOption, type AgentAction, type AgentAttachment, AgentAvatar, type AgentBackend, type AgentBlock, AgentComposer, type AgentComposerProps, type AgentConfig, type AgentContextValue, AgentConversation, type AgentConversationProps, type AgentEvent, type AgentEventType, type AgentFeatures, AgentHandoff, type AgentHandoffProps, type AgentMessage, type AgentPersona, AgentProvider, type AgentProviderProps, type AgentReport, type AgentState, type AgentStreamChunk, AgentSurface, type AgentSurfaceProps, AgentWorkspace, AgentWorkspaceComposer, type AgentWorkspaceComposerProps, type AgentWorkspaceContextValue, AgentWorkspacePanelToggle, type AgentWorkspacePanelToggleProps, type AgentWorkspaceProps, AllocationBreakdown, type AllocationSegment, type AllocationSummaryStat, type AnalyticsBreakdownRow, AnalyticsDashboard, type AnalyticsDashboardProps, type AnalyticsDistributionSegment, type AnalyticsHighlight, type AnalyticsMetric, type AnalyticsRankedRow, type AnalyticsRecentItem, type AnalyticsTrend, type AssistantMessageBlocksEnvelope, type AssistantMessageCompleteEnvelope, type AssistantMessageDeltaEnvelope, type AssistantMessageStartEnvelope, type AssistantMessageThinkingDeltaEnvelope, type Attachment, type AttachmentKind, type AttachmentMediaType, type AttachmentType, Avatar, AvatarFallback, AvatarImage, Badge, type BlockUpdateMode, Button, ChartContainer, type ChartData, type ChartDataPoint, type ChartType, type ChatMessageRole, ChatPanel, Collapsible, CollapsibleContent, CollapsibleTrigger, type ComponentCapability, type ComponentCategory, type ComponentManifestEntry, type ComponentSlot, type ConfirmationAction, type ConfirmationActionData, type ConfirmationData, ConfirmationPanel, type ConfirmationPanelProps, type ConnectionReadyEnvelope, type ConnectionState, type ConnectionStrategy, ControlGrid, type ControlTile, type ControlTileType, ConversationAnalytics, ConversationArtifact, type ConversationArtifactProps, type ConversationHistoryItem, type DataPayload, DataPayloadView, DataTable, DynamicRenderer, type EditorAdjustment, type EditorTool, type EmotionScore, type EntityAction, EntityCard, type EntityCardData, type EntityField, type ErrorEnvelope, type ExecutionStep, type ExecutionStepStatus, type FeedbackCategory, type FeedbackSentiment, FileDropZone, FloatingWidget, FullBleedSurface, type FullBleedSurfaceProps, FullscreenDashboard, type GenerateReportOptions, GuidedLessonFlow, type HandoffAction, type HandoffAgent, type HandoffCandidate, type HandoffStatus, type HandoffVariant, ImageGenerator, type InlineSuggestion, InlineSuggestionsInput, Input, type LayoutConfig, type LayoutMode, type LessonStep, type LibraryPrompt, type Listing, type ListingAction, ListingFeed, type ListingField, type ManifestPropSpec, MediaEditorCanvas, MediaGallery, type MediaItem, type MediaKind, MessageActions, MessageBubble, type MessageBubbleProps, MessageContainer, type MessageContainerProps, MessageContent, type MessageContentProps, type MessageFeedback, MessageList, type MessageListProps, type MessageMetadata, type MessageRole, MessageWithAttachments, MessageWithFeedback, MessageWithReasoning, MessageWithSteps, type MetricData, MetricsGrid, MobileShell, type MockBackendConfig, MultimodalInput, type NativeAgentContextValue, NativeAgentProvider, type NativeAgentProviderProps, type NativeAgentStatus, NativeSurface, type NativeSurfaceProps, OnboardingWizard, type OptionCardItem, OptionCards, type OrchestrationCommand, OverlayModal, PerformanceMetrics, PersonaSelector, Progress, ProgressTracker, PromptInput, PromptLibrary, type PromptTemplate, QuickReplies, type QuickReply, QuizCard, type QuizOption, type QuizQuestion, type QuizResult, type ReasoningStatus, type ReasoningStep, type Recommendation, type RecommendationAction, RecommendationCards, type RecommendationTone, type RenderInstruction, type ReportSection, ReportView, ScheduleTimeline, ScrollArea, ScrollBar, type SemanticBuilderChatMessage, SemanticBuilderSocketClient, type SendMessageOptions, type SendOptions, SentimentDisplay, type SentimentScore, type ServerEnvelope, type SettingControl, type SettingsGroup, SettingsPanel, SlotRenderer, type SocketClientOptions, type SocketSendPayload, type SocketUrlResolver, SplitView, StatusBadge, SystemMessage, type TableColumn, type TableData, TemplateSelector, type TemplateVariable, Textarea, type ThemeConfig, Timestamp, type ToolCall, type ToolDefinition, type ToolResult, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TrendDirection, type TrendTone, TypingIndicator, type UseSemanticBuilderOptions, type UseSemanticBuilderResult, type UserMessageEnvelope, type WidgetPosition, WritingAssistant, badgeVariants, buildSocketUrl, buttonVariants, calculatePercentage, cn, componentManifest, componentMap, componentRegistry, copyToClipboard, createMockBackend, debounce, delay, findComponentsByCapability, findComponentsByCategory, findComponentsBySurface, formatBytes, formatCurrency, formatNumber, formatRelativeTime, formatTime, generateId, getInitials, getManifestEntry, getSentimentBgColor, getSentimentColor, isBrowser, isInIframe, normalizeWebsiteId, parseTextWithBold, registerAllComponents, truncate, useAgent, useAgentBackend, useAgentInput, useAgentLayout, useAgentMessages, useAgentWorkspace, useAgentWorkspaceOptional, useNativeAgent, useNativeAgentOptional, useSemanticBuilder };
3078
+ export { type AgendaItem, type AgendaItemAction, type AgendaItemState, type AgendaSlotOption, type AgentAction, type AgentAttachment, AgentAvatar, type AgentBackend, type AgentBlock, AgentComposer, type AgentComposerProps, type AgentConfig, type AgentContextValue, AgentConversation, type AgentConversationProps, type AgentEvent, type AgentEventType, type AgentFeatures, AgentHandoff, type AgentHandoffProps, type AgentMessage, type AgentPersona, AgentProvider, type AgentProviderProps, type AgentReport, type AgentState, type AgentStreamChunk, AgentSurface, type AgentSurfaceProps, AgentWorkspace, AgentWorkspaceComposer, type AgentWorkspaceComposerProps, type AgentWorkspaceContextValue, AgentWorkspacePanelToggle, type AgentWorkspacePanelToggleProps, type AgentWorkspaceProps, AgentWorkspaceSkeleton, type AgentWorkspaceSkeletonProps, AllocationBreakdown, type AllocationSegment, type AllocationSummaryStat, type AnalyticsBreakdownRow, AnalyticsDashboard, type AnalyticsDashboardProps, type AnalyticsDistributionSegment, type AnalyticsHighlight, type AnalyticsMetric, type AnalyticsRankedRow, type AnalyticsRecentItem, type AnalyticsTrend, type AssistantMessageBlocksEnvelope, type AssistantMessageCompleteEnvelope, type AssistantMessageDeltaEnvelope, type AssistantMessageStartEnvelope, type AssistantMessageThinkingDeltaEnvelope, type Attachment, type AttachmentKind, type AttachmentMediaType, type AttachmentType, Avatar, AvatarFallback, AvatarImage, Badge, type BlockUpdateMode, Button, ChartContainer, type ChartData, type ChartDataPoint, type ChartType, type ChatMessageRole, ChatPanel, Collapsible, CollapsibleContent, CollapsibleTrigger, type ComponentCapability, type ComponentCategory, type ComponentManifestEntry, type ComponentSlot, type ConfirmationAction, type ConfirmationActionData, type ConfirmationData, ConfirmationPanel, type ConfirmationPanelProps, type ConnectionReadyEnvelope, type ConnectionState, type ConnectionStrategy, ControlGrid, type ControlTile, type ControlTileType, ConversationAnalytics, ConversationArtifact, type ConversationArtifactProps, type ConversationHistoryItem, type DataPayload, DataPayloadView, DataTable, DynamicRenderer, type EditorAdjustment, type EditorTool, type EmotionScore, type EntityAction, EntityCard, type EntityCardData, type EntityField, type ErrorEnvelope, type ExecutionStep, type ExecutionStepStatus, type FeedbackCategory, type FeedbackSentiment, FileDropZone, FloatingWidget, FullBleedSurface, type FullBleedSurfaceProps, FullscreenDashboard, type GenerateReportOptions, GuidedLessonFlow, type HandoffAction, type HandoffAgent, type HandoffCandidate, type HandoffStatus, type HandoffVariant, ImageGenerator, type InlineSuggestion, InlineSuggestionsInput, Input, type LayoutConfig, type LayoutMode, type LessonStep, type LibraryPrompt, type Listing, type ListingAction, ListingFeed, type ListingField, type ManifestPropSpec, MediaEditorCanvas, MediaGallery, type MediaItem, type MediaKind, MessageActions, MessageBubble, type MessageBubbleProps, MessageContainer, type MessageContainerProps, MessageContent, type MessageContentProps, type MessageFeedback, MessageList, type MessageListProps, type MessageMetadata, type MessageRole, MessageWithAttachments, MessageWithFeedback, MessageWithReasoning, MessageWithSteps, type MetricData, MetricsGrid, MobileShell, type MockBackendConfig, MultimodalInput, type NativeAgentContextValue, NativeAgentProvider, type NativeAgentProviderProps, type NativeAgentStatus, NativeSurface, type NativeSurfaceProps, OnboardingWizard, type OptionCardItem, OptionCards, type OrchestrationCommand, OverlayModal, PerformanceMetrics, PersonaSelector, Progress, ProgressTracker, PromptInput, PromptLibrary, type PromptTemplate, QuickReplies, type QuickReply, QuizCard, type QuizOption, type QuizQuestion, type QuizResult, type ReasoningStatus, type ReasoningStep, type Recommendation, type RecommendationAction, RecommendationCards, type RecommendationTone, type RenderInstruction, type ReportSection, ReportView, ScheduleTimeline, ScrollArea, ScrollBar, type SemanticBuilderChatMessage, SemanticBuilderSocketClient, type SendMessageOptions, type SendOptions, SentimentDisplay, type SentimentScore, type ServerEnvelope, type SettingControl, type SettingsGroup, SettingsPanel, SlotRenderer, type SocketClientOptions, type SocketSendPayload, type SocketUrlResolver, SplitView, StatusBadge, SystemMessage, type TableColumn, type TableData, TemplateSelector, type TemplateVariable, Textarea, type ThemeConfig, Timestamp, type ToolCall, type ToolDefinition, type ToolResult, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TrendDirection, type TrendTone, TypingIndicator, type UseSemanticBuilderOptions, type UseSemanticBuilderResult, type UserMessageEnvelope, type WidgetPosition, WritingAssistant, badgeVariants, buildSocketUrl, buttonVariants, calculatePercentage, cn, componentManifest, componentMap, componentRegistry, copyToClipboard, createMockBackend, debounce, delay, findComponentsByCapability, findComponentsByCategory, findComponentsBySurface, formatBytes, formatCurrency, formatNumber, formatRelativeTime, formatTime, generateId, getInitials, getManifestEntry, getSentimentBgColor, getSentimentColor, isBrowser, isInIframe, normalizeWebsiteId, parseTextWithBold, registerAllComponents, truncate, useAgent, useAgentBackend, useAgentInput, useAgentLayout, useAgentMessages, useAgentWorkspace, useAgentWorkspaceOptional, useNativeAgent, useNativeAgentOptional, useSemanticBuilder };
package/dist/index.d.ts CHANGED
@@ -2892,11 +2892,30 @@ interface AgentWorkspaceProps {
2892
2892
  onLeftPanelOpenChange?: (open: boolean) => void;
2893
2893
  onRightPanelOpenChange?: (open: boolean) => void;
2894
2894
  /**
2895
- * Render the built-in floating panel toggles in the top corners of the
2896
- * center column. Default true. Set false and mount
2897
- * `<AgentWorkspacePanelToggle/>` in your own chrome instead.
2895
+ * Render extra floating panel toggles in the top corners of the center
2896
+ * column. Default false the persistent workspace header already hosts a
2897
+ * toggle at each end. Mount `<AgentWorkspacePanelToggle/>` in your own
2898
+ * chrome for fully custom placement.
2898
2899
  */
2899
2900
  showPanelToggles?: boolean;
2901
+ /**
2902
+ * Show the workspace header bar: left panel toggle, icon + title + status
2903
+ * on the left; `headerActions`, reset, the conversation chevron, and the
2904
+ * right panel toggle on the right. Default true.
2905
+ */
2906
+ showHeader?: boolean;
2907
+ /** @deprecated Use `showHeader`. Honored when `showHeader` is not set. */
2908
+ showConversationHeader?: boolean;
2909
+ /**
2910
+ * Host actions rendered at the start of the header's right action group —
2911
+ * e.g. a "+ New" button that mirrors the page's primary action.
2912
+ */
2913
+ headerActions?: ReactNode;
2914
+ /**
2915
+ * Status line under the title. Defaults to the shared session's
2916
+ * error/status label; pass this when running disconnected (no provider).
2917
+ */
2918
+ headerStatus?: ReactNode;
2900
2919
  /**
2901
2920
  * Custom conversation node for the slide-in layer. Defaults to
2902
2921
  * `<AgentConversation/>` bound to the shared session.
@@ -2905,10 +2924,8 @@ interface AgentWorkspaceProps {
2905
2924
  /** Controlled visibility for the conversation layer. */
2906
2925
  conversationOpen?: boolean;
2907
2926
  onConversationOpenChange?: (open: boolean) => void;
2908
- /** Title shown in the conversation layer's header. Default "AI Assistant". */
2927
+ /** Title shown in the workspace header. Default "AI Assistant". */
2909
2928
  conversationTitle?: ReactNode;
2910
- /** Hide the conversation layer's header bar (title + reset + minimize). */
2911
- showConversationHeader?: boolean;
2912
2929
  /**
2913
2930
  * `false` removes the dock; a ReactNode replaces the default
2914
2931
  * `<AgentWorkspaceComposer/>`; `true`/omitted renders the default.
@@ -2933,7 +2950,7 @@ interface AgentWorkspaceProps {
2933
2950
  * conversation, composer) into a page-level workspace with toggleable side
2934
2951
  * panels and a sliding center conversation.
2935
2952
  */
2936
- declare function AgentWorkspace({ children, leftPanel, rightPanel, leftPanelWidth, rightPanelWidth, defaultLeftPanelOpen, defaultRightPanelOpen, leftPanelOpen: leftPanelOpenProp, rightPanelOpen: rightPanelOpenProp, onLeftPanelOpenChange, onRightPanelOpenChange, showPanelToggles, conversation, conversationOpen: conversationOpenProp, onConversationOpenChange, conversationTitle, showConversationHeader, composer, composerPlaceholder, composerHint, onComposerSubmit, className, contentClassName, conversationClassName, leftPanelClassName, rightPanelClassName, composerClassName, }: AgentWorkspaceProps): react.JSX.Element;
2953
+ declare function AgentWorkspace({ children, leftPanel, rightPanel, leftPanelWidth, rightPanelWidth, defaultLeftPanelOpen, defaultRightPanelOpen, leftPanelOpen: leftPanelOpenProp, rightPanelOpen: rightPanelOpenProp, onLeftPanelOpenChange, onRightPanelOpenChange, showPanelToggles, showHeader, showConversationHeader, headerActions, headerStatus, conversation, conversationOpen: conversationOpenProp, onConversationOpenChange, conversationTitle, composer, composerPlaceholder, composerHint, onComposerSubmit, className, contentClassName, conversationClassName, leftPanelClassName, rightPanelClassName, composerClassName, }: AgentWorkspaceProps): react.JSX.Element;
2937
2954
 
2938
2955
  interface AgentWorkspaceComposerProps {
2939
2956
  /** Controlled draft value. Pair with `onChange` for caller-controlled editing. */
@@ -2980,6 +2997,28 @@ interface AgentWorkspacePanelToggleProps {
2980
2997
  */
2981
2998
  declare function AgentWorkspacePanelToggle({ side, open: openProp, onToggle, className, }: AgentWorkspacePanelToggleProps): react.JSX.Element | null;
2982
2999
 
3000
+ interface AgentWorkspaceSkeletonProps {
3001
+ /** Render the left/right panel rails. Default true for both. */
3002
+ leftPanel?: boolean;
3003
+ rightPanel?: boolean;
3004
+ /** Match the real workspace's panel widths. Defaults: left 320, right 460. */
3005
+ leftPanelWidth?: number;
3006
+ rightPanelWidth?: number;
3007
+ /** Render the workspace header bar placeholder. Default true. */
3008
+ showHeader?: boolean;
3009
+ /** Render the composer dock placeholder. Default true. */
3010
+ composer?: boolean;
3011
+ /** Custom center-content skeleton. Defaults to generic pulsing rows. */
3012
+ children?: ReactNode;
3013
+ className?: string;
3014
+ }
3015
+ /**
3016
+ * Layout-matched loading placeholder for pages wrapped in `<AgentWorkspace>`.
3017
+ * Mirrors the workspace geometry exactly (panel widths, `lg:` gating, header
3018
+ * and dock heights) so the resolved page does not shift when data arrives.
3019
+ */
3020
+ declare function AgentWorkspaceSkeleton({ leftPanel, rightPanel, leftPanelWidth, rightPanelWidth, showHeader, composer, children, className, }: AgentWorkspaceSkeletonProps): react.JSX.Element;
3021
+
2983
3022
  interface AgentWorkspaceContextValue {
2984
3023
  /** Whether a left/right panel slot was provided to the workspace. */
2985
3024
  hasLeftPanel: boolean;
@@ -3036,4 +3075,4 @@ interface NativeSurfaceProps {
3036
3075
  }
3037
3076
  declare function NativeSurface({ children, input, title, subtitle, icon, headerActions, suggestions, footer, isLoading, autoScroll, className, contentClassName, }: NativeSurfaceProps): react.JSX.Element;
3038
3077
 
3039
- export { type AgendaItem, type AgendaItemAction, type AgendaItemState, type AgendaSlotOption, type AgentAction, type AgentAttachment, AgentAvatar, type AgentBackend, type AgentBlock, AgentComposer, type AgentComposerProps, type AgentConfig, type AgentContextValue, AgentConversation, type AgentConversationProps, type AgentEvent, type AgentEventType, type AgentFeatures, AgentHandoff, type AgentHandoffProps, type AgentMessage, type AgentPersona, AgentProvider, type AgentProviderProps, type AgentReport, type AgentState, type AgentStreamChunk, AgentSurface, type AgentSurfaceProps, AgentWorkspace, AgentWorkspaceComposer, type AgentWorkspaceComposerProps, type AgentWorkspaceContextValue, AgentWorkspacePanelToggle, type AgentWorkspacePanelToggleProps, type AgentWorkspaceProps, AllocationBreakdown, type AllocationSegment, type AllocationSummaryStat, type AnalyticsBreakdownRow, AnalyticsDashboard, type AnalyticsDashboardProps, type AnalyticsDistributionSegment, type AnalyticsHighlight, type AnalyticsMetric, type AnalyticsRankedRow, type AnalyticsRecentItem, type AnalyticsTrend, type AssistantMessageBlocksEnvelope, type AssistantMessageCompleteEnvelope, type AssistantMessageDeltaEnvelope, type AssistantMessageStartEnvelope, type AssistantMessageThinkingDeltaEnvelope, type Attachment, type AttachmentKind, type AttachmentMediaType, type AttachmentType, Avatar, AvatarFallback, AvatarImage, Badge, type BlockUpdateMode, Button, ChartContainer, type ChartData, type ChartDataPoint, type ChartType, type ChatMessageRole, ChatPanel, Collapsible, CollapsibleContent, CollapsibleTrigger, type ComponentCapability, type ComponentCategory, type ComponentManifestEntry, type ComponentSlot, type ConfirmationAction, type ConfirmationActionData, type ConfirmationData, ConfirmationPanel, type ConfirmationPanelProps, type ConnectionReadyEnvelope, type ConnectionState, type ConnectionStrategy, ControlGrid, type ControlTile, type ControlTileType, ConversationAnalytics, ConversationArtifact, type ConversationArtifactProps, type ConversationHistoryItem, type DataPayload, DataPayloadView, DataTable, DynamicRenderer, type EditorAdjustment, type EditorTool, type EmotionScore, type EntityAction, EntityCard, type EntityCardData, type EntityField, type ErrorEnvelope, type ExecutionStep, type ExecutionStepStatus, type FeedbackCategory, type FeedbackSentiment, FileDropZone, FloatingWidget, FullBleedSurface, type FullBleedSurfaceProps, FullscreenDashboard, type GenerateReportOptions, GuidedLessonFlow, type HandoffAction, type HandoffAgent, type HandoffCandidate, type HandoffStatus, type HandoffVariant, ImageGenerator, type InlineSuggestion, InlineSuggestionsInput, Input, type LayoutConfig, type LayoutMode, type LessonStep, type LibraryPrompt, type Listing, type ListingAction, ListingFeed, type ListingField, type ManifestPropSpec, MediaEditorCanvas, MediaGallery, type MediaItem, type MediaKind, MessageActions, MessageBubble, type MessageBubbleProps, MessageContainer, type MessageContainerProps, MessageContent, type MessageContentProps, type MessageFeedback, MessageList, type MessageListProps, type MessageMetadata, type MessageRole, MessageWithAttachments, MessageWithFeedback, MessageWithReasoning, MessageWithSteps, type MetricData, MetricsGrid, MobileShell, type MockBackendConfig, MultimodalInput, type NativeAgentContextValue, NativeAgentProvider, type NativeAgentProviderProps, type NativeAgentStatus, NativeSurface, type NativeSurfaceProps, OnboardingWizard, type OptionCardItem, OptionCards, type OrchestrationCommand, OverlayModal, PerformanceMetrics, PersonaSelector, Progress, ProgressTracker, PromptInput, PromptLibrary, type PromptTemplate, QuickReplies, type QuickReply, QuizCard, type QuizOption, type QuizQuestion, type QuizResult, type ReasoningStatus, type ReasoningStep, type Recommendation, type RecommendationAction, RecommendationCards, type RecommendationTone, type RenderInstruction, type ReportSection, ReportView, ScheduleTimeline, ScrollArea, ScrollBar, type SemanticBuilderChatMessage, SemanticBuilderSocketClient, type SendMessageOptions, type SendOptions, SentimentDisplay, type SentimentScore, type ServerEnvelope, type SettingControl, type SettingsGroup, SettingsPanel, SlotRenderer, type SocketClientOptions, type SocketSendPayload, type SocketUrlResolver, SplitView, StatusBadge, SystemMessage, type TableColumn, type TableData, TemplateSelector, type TemplateVariable, Textarea, type ThemeConfig, Timestamp, type ToolCall, type ToolDefinition, type ToolResult, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TrendDirection, type TrendTone, TypingIndicator, type UseSemanticBuilderOptions, type UseSemanticBuilderResult, type UserMessageEnvelope, type WidgetPosition, WritingAssistant, badgeVariants, buildSocketUrl, buttonVariants, calculatePercentage, cn, componentManifest, componentMap, componentRegistry, copyToClipboard, createMockBackend, debounce, delay, findComponentsByCapability, findComponentsByCategory, findComponentsBySurface, formatBytes, formatCurrency, formatNumber, formatRelativeTime, formatTime, generateId, getInitials, getManifestEntry, getSentimentBgColor, getSentimentColor, isBrowser, isInIframe, normalizeWebsiteId, parseTextWithBold, registerAllComponents, truncate, useAgent, useAgentBackend, useAgentInput, useAgentLayout, useAgentMessages, useAgentWorkspace, useAgentWorkspaceOptional, useNativeAgent, useNativeAgentOptional, useSemanticBuilder };
3078
+ export { type AgendaItem, type AgendaItemAction, type AgendaItemState, type AgendaSlotOption, type AgentAction, type AgentAttachment, AgentAvatar, type AgentBackend, type AgentBlock, AgentComposer, type AgentComposerProps, type AgentConfig, type AgentContextValue, AgentConversation, type AgentConversationProps, type AgentEvent, type AgentEventType, type AgentFeatures, AgentHandoff, type AgentHandoffProps, type AgentMessage, type AgentPersona, AgentProvider, type AgentProviderProps, type AgentReport, type AgentState, type AgentStreamChunk, AgentSurface, type AgentSurfaceProps, AgentWorkspace, AgentWorkspaceComposer, type AgentWorkspaceComposerProps, type AgentWorkspaceContextValue, AgentWorkspacePanelToggle, type AgentWorkspacePanelToggleProps, type AgentWorkspaceProps, AgentWorkspaceSkeleton, type AgentWorkspaceSkeletonProps, AllocationBreakdown, type AllocationSegment, type AllocationSummaryStat, type AnalyticsBreakdownRow, AnalyticsDashboard, type AnalyticsDashboardProps, type AnalyticsDistributionSegment, type AnalyticsHighlight, type AnalyticsMetric, type AnalyticsRankedRow, type AnalyticsRecentItem, type AnalyticsTrend, type AssistantMessageBlocksEnvelope, type AssistantMessageCompleteEnvelope, type AssistantMessageDeltaEnvelope, type AssistantMessageStartEnvelope, type AssistantMessageThinkingDeltaEnvelope, type Attachment, type AttachmentKind, type AttachmentMediaType, type AttachmentType, Avatar, AvatarFallback, AvatarImage, Badge, type BlockUpdateMode, Button, ChartContainer, type ChartData, type ChartDataPoint, type ChartType, type ChatMessageRole, ChatPanel, Collapsible, CollapsibleContent, CollapsibleTrigger, type ComponentCapability, type ComponentCategory, type ComponentManifestEntry, type ComponentSlot, type ConfirmationAction, type ConfirmationActionData, type ConfirmationData, ConfirmationPanel, type ConfirmationPanelProps, type ConnectionReadyEnvelope, type ConnectionState, type ConnectionStrategy, ControlGrid, type ControlTile, type ControlTileType, ConversationAnalytics, ConversationArtifact, type ConversationArtifactProps, type ConversationHistoryItem, type DataPayload, DataPayloadView, DataTable, DynamicRenderer, type EditorAdjustment, type EditorTool, type EmotionScore, type EntityAction, EntityCard, type EntityCardData, type EntityField, type ErrorEnvelope, type ExecutionStep, type ExecutionStepStatus, type FeedbackCategory, type FeedbackSentiment, FileDropZone, FloatingWidget, FullBleedSurface, type FullBleedSurfaceProps, FullscreenDashboard, type GenerateReportOptions, GuidedLessonFlow, type HandoffAction, type HandoffAgent, type HandoffCandidate, type HandoffStatus, type HandoffVariant, ImageGenerator, type InlineSuggestion, InlineSuggestionsInput, Input, type LayoutConfig, type LayoutMode, type LessonStep, type LibraryPrompt, type Listing, type ListingAction, ListingFeed, type ListingField, type ManifestPropSpec, MediaEditorCanvas, MediaGallery, type MediaItem, type MediaKind, MessageActions, MessageBubble, type MessageBubbleProps, MessageContainer, type MessageContainerProps, MessageContent, type MessageContentProps, type MessageFeedback, MessageList, type MessageListProps, type MessageMetadata, type MessageRole, MessageWithAttachments, MessageWithFeedback, MessageWithReasoning, MessageWithSteps, type MetricData, MetricsGrid, MobileShell, type MockBackendConfig, MultimodalInput, type NativeAgentContextValue, NativeAgentProvider, type NativeAgentProviderProps, type NativeAgentStatus, NativeSurface, type NativeSurfaceProps, OnboardingWizard, type OptionCardItem, OptionCards, type OrchestrationCommand, OverlayModal, PerformanceMetrics, PersonaSelector, Progress, ProgressTracker, PromptInput, PromptLibrary, type PromptTemplate, QuickReplies, type QuickReply, QuizCard, type QuizOption, type QuizQuestion, type QuizResult, type ReasoningStatus, type ReasoningStep, type Recommendation, type RecommendationAction, RecommendationCards, type RecommendationTone, type RenderInstruction, type ReportSection, ReportView, ScheduleTimeline, ScrollArea, ScrollBar, type SemanticBuilderChatMessage, SemanticBuilderSocketClient, type SendMessageOptions, type SendOptions, SentimentDisplay, type SentimentScore, type ServerEnvelope, type SettingControl, type SettingsGroup, SettingsPanel, SlotRenderer, type SocketClientOptions, type SocketSendPayload, type SocketUrlResolver, SplitView, StatusBadge, SystemMessage, type TableColumn, type TableData, TemplateSelector, type TemplateVariable, Textarea, type ThemeConfig, Timestamp, type ToolCall, type ToolDefinition, type ToolResult, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type TrendDirection, type TrendTone, TypingIndicator, type UseSemanticBuilderOptions, type UseSemanticBuilderResult, type UserMessageEnvelope, type WidgetPosition, WritingAssistant, badgeVariants, buildSocketUrl, buttonVariants, calculatePercentage, cn, componentManifest, componentMap, componentRegistry, copyToClipboard, createMockBackend, debounce, delay, findComponentsByCapability, findComponentsByCategory, findComponentsBySurface, formatBytes, formatCurrency, formatNumber, formatRelativeTime, formatTime, generateId, getInitials, getManifestEntry, getSentimentBgColor, getSentimentColor, isBrowser, isInIframe, normalizeWebsiteId, parseTextWithBold, registerAllComponents, truncate, useAgent, useAgentBackend, useAgentInput, useAgentLayout, useAgentMessages, useAgentWorkspace, useAgentWorkspaceOptional, useNativeAgent, useNativeAgentOptional, useSemanticBuilder };
package/dist/index.js CHANGED
@@ -8727,12 +8727,15 @@ function AgentWorkspace({
8727
8727
  rightPanelOpen: rightPanelOpenProp,
8728
8728
  onLeftPanelOpenChange,
8729
8729
  onRightPanelOpenChange,
8730
- showPanelToggles = true,
8730
+ showPanelToggles = false,
8731
+ showHeader,
8732
+ showConversationHeader,
8733
+ headerActions,
8734
+ headerStatus,
8731
8735
  conversation,
8732
8736
  conversationOpen: conversationOpenProp,
8733
8737
  onConversationOpenChange,
8734
8738
  conversationTitle = "AI Assistant",
8735
- showConversationHeader = true,
8736
8739
  composer = true,
8737
8740
  composerPlaceholder,
8738
8741
  composerHint,
@@ -8804,7 +8807,8 @@ function AgentWorkspace({
8804
8807
  onSubmit: onComposerSubmit
8805
8808
  }
8806
8809
  ) : composer;
8807
- const statusLine = agent ? agent.error ?? agent.statusLabel : null;
8810
+ const headerVisible = showHeader ?? showConversationHeader ?? true;
8811
+ const statusLine = headerStatus ?? (agent ? agent.error ?? agent.statusLabel : null);
8808
8812
  return /* @__PURE__ */ jsx(AgentWorkspaceContext.Provider, { value, children: /* @__PURE__ */ jsxs(
8809
8813
  "div",
8810
8814
  {
@@ -8843,6 +8847,69 @@ function AgentWorkspace({
8843
8847
  className: "border border-border/60 bg-background/80 shadow-sm backdrop-blur"
8844
8848
  }
8845
8849
  ) }),
8850
+ headerVisible && /* @__PURE__ */ jsxs(
8851
+ "div",
8852
+ {
8853
+ "data-workspace-header": "",
8854
+ className: "flex shrink-0 items-center justify-between gap-3 border-b border-border bg-background px-3 py-2.5",
8855
+ children: [
8856
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-2.5", children: [
8857
+ hasLeftPanel && /* @__PURE__ */ jsx(
8858
+ AgentWorkspacePanelToggle,
8859
+ {
8860
+ side: "left",
8861
+ className: "hidden lg:flex"
8862
+ }
8863
+ ),
8864
+ /* @__PURE__ */ jsx("span", { className: "flex size-7 shrink-0 items-center justify-center rounded-md bg-primary text-primary-foreground", children: /* @__PURE__ */ jsx(Sparkles, { className: "size-3.5" }) }),
8865
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
8866
+ /* @__PURE__ */ jsx("div", { className: "truncate text-sm font-medium", children: conversationTitle }),
8867
+ statusLine && /* @__PURE__ */ jsx("div", { className: "truncate text-xs text-muted-foreground", children: statusLine })
8868
+ ] })
8869
+ ] }),
8870
+ /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [
8871
+ headerActions,
8872
+ agent && /* @__PURE__ */ jsx(
8873
+ "button",
8874
+ {
8875
+ type: "button",
8876
+ onClick: () => agent.reset(),
8877
+ "aria-label": "Start a new conversation",
8878
+ title: "New conversation",
8879
+ className: "flex size-8 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-secondary hover:text-foreground",
8880
+ children: /* @__PURE__ */ jsx(RotateCcw, { className: "size-4" })
8881
+ }
8882
+ ),
8883
+ /* @__PURE__ */ jsx(
8884
+ "button",
8885
+ {
8886
+ type: "button",
8887
+ onClick: () => setConversationOpen(!conversationOpen),
8888
+ "aria-label": conversationOpen ? "Hide conversation" : "Show conversation",
8889
+ title: conversationOpen ? "Hide conversation" : "Show conversation",
8890
+ className: "flex size-8 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-secondary hover:text-foreground",
8891
+ children: /* @__PURE__ */ jsx(
8892
+ ChevronDown,
8893
+ {
8894
+ className: cn(
8895
+ "size-4 transition-transform duration-200",
8896
+ !conversationOpen && "rotate-180"
8897
+ )
8898
+ }
8899
+ )
8900
+ }
8901
+ ),
8902
+ hasRightPanel && /* @__PURE__ */ jsx(
8903
+ AgentWorkspacePanelToggle,
8904
+ {
8905
+ side: "right",
8906
+ className: "hidden lg:flex"
8907
+ }
8908
+ )
8909
+ ] })
8910
+ ]
8911
+ }
8912
+ ),
8846
8913
  /* @__PURE__ */ jsxs("div", { className: "relative min-h-0 grow", children: [
8847
8914
  /* @__PURE__ */ jsx(
8848
8915
  "div",
@@ -8853,7 +8920,7 @@ function AgentWorkspace({
8853
8920
  children
8854
8921
  }
8855
8922
  ),
8856
- /* @__PURE__ */ jsxs(
8923
+ /* @__PURE__ */ jsx(
8857
8924
  "div",
8858
8925
  {
8859
8926
  "data-state": conversationOpen ? "open" : "closed",
@@ -8864,52 +8931,13 @@ function AgentWorkspace({
8864
8931
  conversationOpen ? "translate-y-0 opacity-100" : "pointer-events-none translate-y-8 opacity-0",
8865
8932
  conversationClassName
8866
8933
  ),
8867
- children: [
8868
- showConversationHeader && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center justify-between gap-3 border-b border-border bg-background px-4 py-2.5", children: [
8869
- /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-2.5", children: [
8870
- /* @__PURE__ */ jsx("span", { className: "flex size-7 shrink-0 items-center justify-center rounded-md bg-primary text-primary-foreground", children: /* @__PURE__ */ jsx(Sparkles, { className: "size-3.5" }) }),
8871
- /* @__PURE__ */ jsxs("div", { className: "min-w-0", children: [
8872
- /* @__PURE__ */ jsx("div", { className: "truncate text-sm font-medium", children: conversationTitle }),
8873
- statusLine && /* @__PURE__ */ jsx("div", { className: "truncate text-xs text-muted-foreground", children: statusLine })
8874
- ] })
8875
- ] }),
8876
- /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-1", children: [
8877
- (hasLeftPanel || hasRightPanel) && /* @__PURE__ */ jsxs("div", { className: "mr-1 hidden items-center gap-1 border-r border-border pr-2 lg:flex", children: [
8878
- /* @__PURE__ */ jsx(AgentWorkspacePanelToggle, { side: "left" }),
8879
- /* @__PURE__ */ jsx(AgentWorkspacePanelToggle, { side: "right" })
8880
- ] }),
8881
- agent && /* @__PURE__ */ jsx(
8882
- "button",
8883
- {
8884
- type: "button",
8885
- onClick: () => agent.reset(),
8886
- "aria-label": "Start a new conversation",
8887
- title: "New conversation",
8888
- className: "flex size-8 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-secondary hover:text-foreground",
8889
- children: /* @__PURE__ */ jsx(RotateCcw, { className: "size-4" })
8890
- }
8891
- ),
8892
- /* @__PURE__ */ jsx(
8893
- "button",
8894
- {
8895
- type: "button",
8896
- onClick: () => setConversationOpen(false),
8897
- "aria-label": "Hide conversation",
8898
- title: "Hide conversation",
8899
- className: "flex size-8 items-center justify-center rounded-lg text-muted-foreground transition-colors hover:bg-secondary hover:text-foreground",
8900
- children: /* @__PURE__ */ jsx(ChevronDown, { className: "size-4" })
8901
- }
8902
- )
8903
- ] })
8904
- ] }),
8905
- /* @__PURE__ */ jsx("div", { className: "min-h-0 grow", children: conversation ?? /* @__PURE__ */ jsx(
8906
- AgentConversation,
8907
- {
8908
- contentClassName: "mx-auto w-full max-w-3xl",
8909
- showAvatars: true
8910
- }
8911
- ) })
8912
- ]
8934
+ children: /* @__PURE__ */ jsx("div", { className: "min-h-0 grow", children: conversation ?? /* @__PURE__ */ jsx(
8935
+ AgentConversation,
8936
+ {
8937
+ contentClassName: "mx-auto w-full max-w-3xl",
8938
+ showAvatars: true
8939
+ }
8940
+ ) })
8913
8941
  }
8914
8942
  )
8915
8943
  ] }),
@@ -8957,7 +8985,97 @@ function AgentWorkspace({
8957
8985
  }
8958
8986
  ) });
8959
8987
  }
8988
+ var Pulse = ({ className }) => /* @__PURE__ */ jsx("div", { className: cn("animate-pulse rounded-md bg-muted", className) });
8989
+ var PanelSkeleton = () => /* @__PURE__ */ jsxs("div", { className: "flex h-full flex-col", children: [
8990
+ /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center justify-between px-4 pb-2 pt-4", children: [
8991
+ /* @__PURE__ */ jsx(Pulse, { className: "h-5 w-28" }),
8992
+ /* @__PURE__ */ jsx(Pulse, { className: "size-8 rounded-lg" })
8993
+ ] }),
8994
+ /* @__PURE__ */ jsx("div", { className: "min-h-0 grow space-y-4 overflow-hidden px-4 py-3", children: [3, 6].map((rows, section) => /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
8995
+ /* @__PURE__ */ jsx(Pulse, { className: "h-3 w-24" }),
8996
+ Array.from({ length: rows }, (_, i) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
8997
+ /* @__PURE__ */ jsx(Pulse, { className: "size-4 shrink-0 rounded-full" }),
8998
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 grow space-y-1.5", children: [
8999
+ /* @__PURE__ */ jsx(Pulse, { className: "h-3.5 w-3/4" }),
9000
+ /* @__PURE__ */ jsx(Pulse, { className: "h-3 w-1/2" })
9001
+ ] })
9002
+ ] }, i))
9003
+ ] }, section)) }),
9004
+ /* @__PURE__ */ jsxs("div", { className: "shrink-0 space-y-2 border-t border-border px-4 py-3", children: [
9005
+ /* @__PURE__ */ jsx(Pulse, { className: "h-3 w-full" }),
9006
+ /* @__PURE__ */ jsx(Pulse, { className: "h-3 w-2/3" })
9007
+ ] })
9008
+ ] });
9009
+ var DefaultContentSkeleton = () => /* @__PURE__ */ jsxs("div", { className: "space-y-4 p-6", children: [
9010
+ /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
9011
+ /* @__PURE__ */ jsx(Pulse, { className: "h-8 w-40" }),
9012
+ /* @__PURE__ */ jsx(Pulse, { className: "h-8 w-28" }),
9013
+ /* @__PURE__ */ jsx(Pulse, { className: "ml-auto h-8 w-20" })
9014
+ ] }),
9015
+ Array.from({ length: 9 }, (_, i) => /* @__PURE__ */ jsx(Pulse, { className: "h-10 w-full" }, i))
9016
+ ] });
9017
+ function AgentWorkspaceSkeleton({
9018
+ leftPanel = true,
9019
+ rightPanel = true,
9020
+ leftPanelWidth = 320,
9021
+ rightPanelWidth = 460,
9022
+ showHeader = true,
9023
+ composer = true,
9024
+ children,
9025
+ className
9026
+ }) {
9027
+ return /* @__PURE__ */ jsxs(
9028
+ "div",
9029
+ {
9030
+ "data-workspace-skeleton": "",
9031
+ className: cn(
9032
+ "flex h-full w-full overflow-hidden bg-background text-foreground",
9033
+ className
9034
+ ),
9035
+ children: [
9036
+ leftPanel && /* @__PURE__ */ jsx(
9037
+ "aside",
9038
+ {
9039
+ "aria-hidden": true,
9040
+ className: "hidden h-full shrink-0 overflow-hidden border-r border-border lg:block",
9041
+ style: { width: leftPanelWidth },
9042
+ children: /* @__PURE__ */ jsx(PanelSkeleton, {})
9043
+ }
9044
+ ),
9045
+ /* @__PURE__ */ jsxs("div", { className: "flex h-full min-w-0 grow flex-col", children: [
9046
+ showHeader && /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center justify-between gap-3 border-b border-border px-3 py-2.5", children: [
9047
+ /* @__PURE__ */ jsxs("div", { className: "flex min-w-0 items-center gap-2.5", children: [
9048
+ /* @__PURE__ */ jsx(Pulse, { className: "hidden size-8 rounded-lg lg:block" }),
9049
+ /* @__PURE__ */ jsx(Pulse, { className: "size-7 rounded-md" }),
9050
+ /* @__PURE__ */ jsxs("div", { className: "space-y-1.5", children: [
9051
+ /* @__PURE__ */ jsx(Pulse, { className: "h-4 w-36" }),
9052
+ /* @__PURE__ */ jsx(Pulse, { className: "h-3 w-20" })
9053
+ ] })
9054
+ ] }),
9055
+ /* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-1.5", children: [
9056
+ /* @__PURE__ */ jsx(Pulse, { className: "h-8 w-20 rounded-md" }),
9057
+ /* @__PURE__ */ jsx(Pulse, { className: "size-8 rounded-lg" }),
9058
+ /* @__PURE__ */ jsx(Pulse, { className: "size-8 rounded-lg" }),
9059
+ /* @__PURE__ */ jsx(Pulse, { className: "hidden size-8 rounded-lg lg:block" })
9060
+ ] })
9061
+ ] }),
9062
+ /* @__PURE__ */ jsx("div", { className: "min-h-0 grow overflow-hidden", children: children ?? /* @__PURE__ */ jsx(DefaultContentSkeleton, {}) }),
9063
+ composer && /* @__PURE__ */ jsx("div", { className: "shrink-0 border-t border-border px-4 py-3", children: /* @__PURE__ */ jsx("div", { className: "mx-auto w-full max-w-3xl", children: /* @__PURE__ */ jsx(Pulse, { className: "h-[52px] w-full rounded-2xl" }) }) })
9064
+ ] }),
9065
+ rightPanel && /* @__PURE__ */ jsx(
9066
+ "aside",
9067
+ {
9068
+ "aria-hidden": true,
9069
+ className: "hidden h-full shrink-0 overflow-hidden border-l border-border lg:block",
9070
+ style: { width: rightPanelWidth },
9071
+ children: /* @__PURE__ */ jsx(PanelSkeleton, {})
9072
+ }
9073
+ )
9074
+ ]
9075
+ }
9076
+ );
9077
+ }
8960
9078
 
8961
- export { AgentAvatar, AgentComposer, AgentConversation, AgentHandoff, AgentProvider, AgentSurface, AgentWorkspace, AgentWorkspaceComposer, AgentWorkspacePanelToggle, AllocationBreakdown, AnalyticsDashboard, Avatar, AvatarFallback, AvatarImage, Badge, Button, ChartContainer, ChatPanel, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ConfirmationPanel, ControlGrid, ConversationAnalytics, ConversationArtifact, DataPayloadView, DataTable, DynamicRenderer, EntityCard, FileDropZone, FloatingWidget, FullBleedSurface, FullscreenDashboard, GuidedLessonFlow, ImageGenerator, InlineSuggestionsInput, Input, ListingFeed, MediaEditorCanvas, MediaGallery, MessageActions, MessageBubble, MessageContainer, MessageContent, MessageList, MessageWithAttachments, MessageWithFeedback, MessageWithReasoning, MessageWithSteps, MetricsGrid, MobileShell, MultimodalInput, NativeAgentProvider, NativeSurface, OnboardingWizard, OptionCards, OverlayModal, PerformanceMetrics, PersonaSelector, Progress, ProgressTracker, PromptInput, PromptLibrary, QuickReplies, QuizCard, RecommendationCards, ReportView, ScheduleTimeline, ScrollArea, ScrollBar, SemanticBuilderSocketClient, SentimentDisplay, SettingsPanel, SlotRenderer, SplitView, StatusBadge, SystemMessage, TemplateSelector, Textarea, Timestamp, Tooltip4 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TypingIndicator, WritingAssistant, badgeVariants, buildSocketUrl, buttonVariants, calculatePercentage, cn, componentManifest, componentMap, componentRegistry, copyToClipboard, createMockBackend, debounce, delay, findComponentsByCapability, findComponentsByCategory, findComponentsBySurface, formatBytes, formatCurrency, formatNumber, formatRelativeTime, formatTime, generateId, getInitials, getManifestEntry, getSentimentBgColor, getSentimentColor, isBrowser, isInIframe, normalizeWebsiteId, parseTextWithBold, registerAllComponents, truncate, useAgent, useAgentBackend, useAgentInput, useAgentLayout, useAgentMessages, useAgentWorkspace, useAgentWorkspaceOptional, useNativeAgent, useNativeAgentOptional, useSemanticBuilder };
9079
+ export { AgentAvatar, AgentComposer, AgentConversation, AgentHandoff, AgentProvider, AgentSurface, AgentWorkspace, AgentWorkspaceComposer, AgentWorkspacePanelToggle, AgentWorkspaceSkeleton, AllocationBreakdown, AnalyticsDashboard, Avatar, AvatarFallback, AvatarImage, Badge, Button, ChartContainer, ChatPanel, Collapsible, CollapsibleContent2 as CollapsibleContent, CollapsibleTrigger2 as CollapsibleTrigger, ConfirmationPanel, ControlGrid, ConversationAnalytics, ConversationArtifact, DataPayloadView, DataTable, DynamicRenderer, EntityCard, FileDropZone, FloatingWidget, FullBleedSurface, FullscreenDashboard, GuidedLessonFlow, ImageGenerator, InlineSuggestionsInput, Input, ListingFeed, MediaEditorCanvas, MediaGallery, MessageActions, MessageBubble, MessageContainer, MessageContent, MessageList, MessageWithAttachments, MessageWithFeedback, MessageWithReasoning, MessageWithSteps, MetricsGrid, MobileShell, MultimodalInput, NativeAgentProvider, NativeSurface, OnboardingWizard, OptionCards, OverlayModal, PerformanceMetrics, PersonaSelector, Progress, ProgressTracker, PromptInput, PromptLibrary, QuickReplies, QuizCard, RecommendationCards, ReportView, ScheduleTimeline, ScrollArea, ScrollBar, SemanticBuilderSocketClient, SentimentDisplay, SettingsPanel, SlotRenderer, SplitView, StatusBadge, SystemMessage, TemplateSelector, Textarea, Timestamp, Tooltip4 as Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TypingIndicator, WritingAssistant, badgeVariants, buildSocketUrl, buttonVariants, calculatePercentage, cn, componentManifest, componentMap, componentRegistry, copyToClipboard, createMockBackend, debounce, delay, findComponentsByCapability, findComponentsByCategory, findComponentsBySurface, formatBytes, formatCurrency, formatNumber, formatRelativeTime, formatTime, generateId, getInitials, getManifestEntry, getSentimentBgColor, getSentimentColor, isBrowser, isInIframe, normalizeWebsiteId, parseTextWithBold, registerAllComponents, truncate, useAgent, useAgentBackend, useAgentInput, useAgentLayout, useAgentMessages, useAgentWorkspace, useAgentWorkspaceOptional, useNativeAgent, useNativeAgentOptional, useSemanticBuilder };
8962
9080
  //# sourceMappingURL=index.js.map
8963
9081
  //# sourceMappingURL=index.js.map