@yourgpt/copilot-sdk 2.1.5-alpha.4 → 2.1.5-alpha.6

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.
Files changed (102) hide show
  1. package/dist/{MessageTree-CSIHErPK.d.ts → MessageTree-Clhiv_k2.d.ts} +4 -3
  2. package/dist/{MessageTree-B0JGQOCi.d.cts → MessageTree-Dt9qfJ55.d.cts} +4 -3
  3. package/dist/{chunk-XUR3IOPX.cjs → chunk-2QLF7XM7.cjs} +1557 -3120
  4. package/dist/chunk-2QLF7XM7.cjs.map +1 -0
  5. package/dist/{chunk-NUXLAZOE.cjs → chunk-3ZDRX7J2.cjs} +2 -2
  6. package/dist/{chunk-NUXLAZOE.cjs.map → chunk-3ZDRX7J2.cjs.map} +1 -1
  7. package/dist/{chunk-RKGRQRZU.js → chunk-533K2Z7C.js} +4 -4
  8. package/dist/{chunk-RKGRQRZU.js.map → chunk-533K2Z7C.js.map} +1 -1
  9. package/dist/chunk-5EGBIQYS.cjs +292 -0
  10. package/dist/chunk-5EGBIQYS.cjs.map +1 -0
  11. package/dist/{chunk-3AONOZLY.js → chunk-AIVXGTWS.js} +2 -2
  12. package/dist/chunk-AIVXGTWS.js.map +1 -0
  13. package/dist/{chunk-LLM7AHMO.js → chunk-DDZLRCVX.js} +2 -2
  14. package/dist/{chunk-LLM7AHMO.js.map → chunk-DDZLRCVX.js.map} +1 -1
  15. package/dist/{chunk-FLZO2FO3.js → chunk-I2XOCFHG.js} +1558 -3071
  16. package/dist/chunk-I2XOCFHG.js.map +1 -0
  17. package/dist/{chunk-EEH3L64W.js → chunk-PSNLKMZH.js} +73 -11
  18. package/dist/chunk-PSNLKMZH.js.map +1 -0
  19. package/dist/chunk-PURFAD2P.js +2020 -0
  20. package/dist/chunk-PURFAD2P.js.map +1 -0
  21. package/dist/chunk-QTGEEBRW.cjs +2077 -0
  22. package/dist/chunk-QTGEEBRW.cjs.map +1 -0
  23. package/dist/{chunk-TPB7XED6.cjs → chunk-TPDMBDQX.cjs} +2 -2
  24. package/dist/chunk-TPDMBDQX.cjs.map +1 -0
  25. package/dist/chunk-TXQ37MAO.js +287 -0
  26. package/dist/chunk-TXQ37MAO.js.map +1 -0
  27. package/dist/{chunk-B4YDIMP3.cjs → chunk-VION33GW.cjs} +92 -30
  28. package/dist/chunk-VION33GW.cjs.map +1 -0
  29. package/dist/{chunk-MDS23G2S.cjs → chunk-Y2A6AMGO.cjs} +10 -10
  30. package/dist/{chunk-MDS23G2S.cjs.map → chunk-Y2A6AMGO.cjs.map} +1 -1
  31. package/dist/core/index.cjs +93 -93
  32. package/dist/core/index.d.cts +3 -3
  33. package/dist/core/index.d.ts +3 -3
  34. package/dist/core/index.js +5 -5
  35. package/dist/experimental/index.cjs +644 -0
  36. package/dist/experimental/index.cjs.map +1 -0
  37. package/dist/experimental/index.d.cts +924 -0
  38. package/dist/experimental/index.d.ts +924 -0
  39. package/dist/experimental/index.js +611 -0
  40. package/dist/experimental/index.js.map +1 -0
  41. package/dist/{index-D7169xuR.d.ts → index-D8zza1Q8.d.ts} +1 -1
  42. package/dist/{index-CzJB8Ddo.d.cts → index-DCVjTdIZ.d.cts} +1 -1
  43. package/dist/mcp/index.d.cts +3 -3
  44. package/dist/mcp/index.d.ts +3 -3
  45. package/dist/react/index.cjs +140 -123
  46. package/dist/react/index.d.cts +378 -10
  47. package/dist/react/index.d.ts +378 -10
  48. package/dist/react/index.js +7 -6
  49. package/dist/styles.css +45 -0
  50. package/dist/tools/anthropic/index.cjs +3 -3
  51. package/dist/tools/anthropic/index.d.cts +1 -1
  52. package/dist/tools/anthropic/index.d.ts +1 -1
  53. package/dist/tools/anthropic/index.js +2 -2
  54. package/dist/tools/brave/index.cjs +6 -6
  55. package/dist/tools/brave/index.d.cts +1 -1
  56. package/dist/tools/brave/index.d.ts +1 -1
  57. package/dist/tools/brave/index.js +3 -3
  58. package/dist/tools/exa/index.cjs +6 -6
  59. package/dist/tools/exa/index.d.cts +1 -1
  60. package/dist/tools/exa/index.d.ts +1 -1
  61. package/dist/tools/exa/index.js +3 -3
  62. package/dist/tools/google/index.cjs +6 -6
  63. package/dist/tools/google/index.d.cts +1 -1
  64. package/dist/tools/google/index.d.ts +1 -1
  65. package/dist/tools/google/index.js +4 -4
  66. package/dist/tools/openai/index.cjs +6 -6
  67. package/dist/tools/openai/index.d.cts +1 -1
  68. package/dist/tools/openai/index.d.ts +1 -1
  69. package/dist/tools/openai/index.js +3 -3
  70. package/dist/tools/searxng/index.cjs +6 -6
  71. package/dist/tools/searxng/index.d.cts +1 -1
  72. package/dist/tools/searxng/index.d.ts +1 -1
  73. package/dist/tools/searxng/index.js +3 -3
  74. package/dist/tools/serper/index.cjs +6 -6
  75. package/dist/tools/serper/index.d.cts +1 -1
  76. package/dist/tools/serper/index.d.ts +1 -1
  77. package/dist/tools/serper/index.js +3 -3
  78. package/dist/tools/tavily/index.cjs +6 -6
  79. package/dist/tools/tavily/index.d.cts +1 -1
  80. package/dist/tools/tavily/index.d.ts +1 -1
  81. package/dist/tools/tavily/index.js +3 -3
  82. package/dist/tools/web-search/index.cjs +7 -7
  83. package/dist/tools/web-search/index.d.cts +2 -2
  84. package/dist/tools/web-search/index.d.ts +2 -2
  85. package/dist/tools/web-search/index.js +4 -4
  86. package/dist/{tools-tmksfhUo.d.cts → tools-DcS6Aeao.d.cts} +7 -3
  87. package/dist/{tools-tmksfhUo.d.ts → tools-DcS6Aeao.d.ts} +7 -3
  88. package/dist/{types-BqwW3Baj.d.ts → types-BUYni9B8.d.ts} +1 -1
  89. package/dist/{types-BLw7mxtW.d.cts → types-Cvg4DUoc.d.cts} +1 -1
  90. package/dist/ui/index.cjs +1297 -596
  91. package/dist/ui/index.cjs.map +1 -1
  92. package/dist/ui/index.d.cts +136 -9
  93. package/dist/ui/index.d.ts +136 -9
  94. package/dist/ui/index.js +1128 -436
  95. package/dist/ui/index.js.map +1 -1
  96. package/package.json +6 -1
  97. package/dist/chunk-3AONOZLY.js.map +0 -1
  98. package/dist/chunk-B4YDIMP3.cjs.map +0 -1
  99. package/dist/chunk-EEH3L64W.js.map +0 -1
  100. package/dist/chunk-FLZO2FO3.js.map +0 -1
  101. package/dist/chunk-TPB7XED6.cjs.map +0 -1
  102. package/dist/chunk-XUR3IOPX.cjs.map +0 -1
@@ -7,9 +7,9 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
7
7
  import { VariantProps } from 'class-variance-authority';
8
8
  import * as use_stick_to_bottom from 'use-stick-to-bottom';
9
9
  import { d as WebSearchResult, f as WebSearchResponse } from '../types-ZguuKEs_.cjs';
10
- import { a as Thread, c as ThreadStorageAdapter, A as AsyncThreadStorageAdapter } from '../types-waEqyE4K.cjs';
11
- import { T as ToolDefinition } from '../tools-tmksfhUo.cjs';
12
- import { B as BranchInfo } from '../MessageTree-B0JGQOCi.cjs';
10
+ import { a as Thread, c as ThreadStorageAdapter, A as AsyncThreadStorageAdapter, M as MessageAttachment$1 } from '../types-waEqyE4K.cjs';
11
+ import { T as ToolDefinition } from '../tools-DcS6Aeao.cjs';
12
+ import { B as BranchInfo } from '../MessageTree-Dt9qfJ55.cjs';
13
13
  import { d as MCPUIIntent, n as MCPUIFrameProps, M as MCPUIResource } from '../types-B20VCJXL.cjs';
14
14
  import { ClassValue } from 'clsx';
15
15
 
@@ -1521,6 +1521,8 @@ type ChatProps = {
1521
1521
  fallback?: string;
1522
1522
  /** Custom avatar component - when provided, replaces the default avatar */
1523
1523
  component?: React__default.ReactNode;
1524
+ /** Additional className applied to the avatar wrapper (e.g. "!bg-transparent") */
1525
+ className?: string;
1524
1526
  };
1525
1527
  /** Loader variant for typing indicator */
1526
1528
  loaderVariant?: "dots" | "typing" | "wave" | "terminal" | "text-blink" | "text-shimmer" | "loading-dots";
@@ -1535,11 +1537,37 @@ type ChatProps = {
1535
1537
  /** Tooltip text when attachments are disabled */
1536
1538
  attachmentsDisabledTooltip?: string;
1537
1539
  /**
1538
- * Custom attachment processor (e.g., for cloud storage upload)
1539
- * If provided, uses this instead of default base64 conversion.
1540
- * @param file - The file to process
1541
- * @returns Promise<MessageAttachment> - The processed attachment (URL-based or base64)
1540
+ * File upload handler. Determines how attachments are uploaded.
1541
+ *
1542
+ * - `string` Server upload URL. Files are POSTed as JSON `{ data, mimeType, filename }`.
1543
+ * - `object` URL + headers/body options for the upload request.
1544
+ * - `function` — Full custom handler. Receives `File`, returns `MessageAttachment`.
1545
+ * - `undefined` — Falls back to base64 (embedded in message, no upload).
1546
+ *
1547
+ * @example
1548
+ * ```tsx
1549
+ * // Simple — just a URL:
1550
+ * <CopilotChat upload="/api/copilot/upload" />
1551
+ *
1552
+ * // With auth headers:
1553
+ * <CopilotChat upload={{
1554
+ * url: "/api/copilot/upload",
1555
+ * headers: () => ({ Authorization: `Bearer ${token}` }),
1556
+ * }} />
1557
+ *
1558
+ * // Full custom:
1559
+ * <CopilotChat upload={async (file) => {
1560
+ * const url = await myS3Upload(file);
1561
+ * return { type: 'image', url, mimeType: file.type, filename: file.name };
1562
+ * }} />
1563
+ * ```
1542
1564
  */
1565
+ upload?: string | {
1566
+ url: string;
1567
+ headers?: Record<string, string> | (() => Record<string, string>);
1568
+ body?: Record<string, unknown> | (() => Record<string, unknown>);
1569
+ } | ((file: File) => Promise<MessageAttachment>);
1570
+ /** @deprecated Use `upload` instead */
1543
1571
  processAttachment?: (file: File) => Promise<MessageAttachment>;
1544
1572
  /** Quick reply suggestions */
1545
1573
  suggestions?: string[];
@@ -1655,6 +1683,9 @@ type ChatProps = {
1655
1683
  };
1656
1684
  /** Custom message renderer */
1657
1685
  renderMessage?: (message: ChatMessage, index: number) => React__default.ReactNode;
1686
+ /** Wrap each DefaultMessage in a custom container — for animations, hover effects, etc.
1687
+ * Unlike renderMessage, this preserves all SDK defaults (toolRenderers, loading, avatars, approval). */
1688
+ wrapMessage?: (content: React__default.ReactNode, message: ChatMessage, index: number) => React__default.ReactNode;
1658
1689
  /** Custom input renderer (replaces entire input area) */
1659
1690
  renderInput?: () => React__default.ReactNode;
1660
1691
  /** Custom header renderer (replaces entire header) */
@@ -1891,7 +1922,7 @@ declare function BackButton({ className, children, disabled, "aria-label": ariaL
1891
1922
  */
1892
1923
  type ThreadPickerCompoundProps = Omit<ThreadPickerProps, "value" | "threads" | "onSelect" | "onNewThread" | "onDeleteThread" | "disabled">;
1893
1924
  declare function ThreadPickerCompound(props: ThreadPickerCompoundProps): react_jsx_runtime.JSX.Element | null;
1894
- declare function ChatComponent({ messages, onSendMessage, onStop, isLoading, children, placeholder, welcomeMessage, title, showHeader, header, threadPicker, logo, name, onClose, showPoweredBy, showUserAvatar, userAvatar: userAvatarProp, assistantAvatar: assistantAvatarProp, loaderVariant, fontSize, maxFileSize, allowedFileTypes, attachmentsEnabled, attachmentsDisabledTooltip, processAttachment: processAttachmentProp, suggestions, onSuggestionClick, welcome, recentThreads, onSelectThread, onDeleteThread, onViewMoreThreads, isProcessing, registeredTools, toolRenderers, mcpToolRenderer, fallbackToolRenderer, onApproveToolExecution, onRejectToolExecution, showFollowUps, followUpClassName, followUpButtonClassName, citations, messageView, renderMessage, renderInput, renderHeader, groupConsecutiveMessages, className, classNames, onNewChat, threads, currentThreadId, onSwitchThread, isThreadBusy, getBranchInfo, onSwitchBranch, onEditMessage, }: ChatProps): react_jsx_runtime.JSX.Element;
1925
+ declare function ChatComponent({ messages, onSendMessage, onStop, isLoading, children, placeholder, welcomeMessage, title, showHeader, header, threadPicker, logo, name, onClose, showPoweredBy, showUserAvatar, userAvatar: userAvatarProp, assistantAvatar: assistantAvatarProp, loaderVariant, fontSize, maxFileSize, allowedFileTypes, attachmentsEnabled, attachmentsDisabledTooltip, upload: uploadProp, processAttachment: deprecatedProcessAttachment, suggestions, onSuggestionClick, welcome, recentThreads, onSelectThread, onDeleteThread, onViewMoreThreads, isProcessing, registeredTools, toolRenderers, mcpToolRenderer, fallbackToolRenderer, onApproveToolExecution, onRejectToolExecution, showFollowUps, followUpClassName, followUpButtonClassName, citations, messageView, renderMessage, wrapMessage, renderInput, renderHeader, groupConsecutiveMessages, className, classNames, onNewChat, threads, currentThreadId, onSwitchThread, isThreadBusy, getBranchInfo, onSwitchBranch, onEditMessage, }: ChatProps): react_jsx_runtime.JSX.Element;
1895
1926
  /**
1896
1927
  * Chat component with compound component pattern.
1897
1928
  *
@@ -2275,6 +2306,11 @@ type CopilotChatProps = Omit<ChatProps, "messages" | "onSendMessage" | "onStop"
2275
2306
  * Granular class names for sub-components including thread picker
2276
2307
  */
2277
2308
  classNames?: CopilotChatClassNames;
2309
+ /**
2310
+ * Allow inline editing of user messages.
2311
+ * @default false
2312
+ */
2313
+ allowEdit?: boolean;
2278
2314
  };
2279
2315
  declare function CopilotChatBase(props: CopilotChatProps & {
2280
2316
  children?: React__default.ReactNode;
@@ -2290,6 +2326,11 @@ declare const CopilotChat: typeof CopilotChatBase & {
2290
2326
  Suggestions: typeof SuggestionsCompound;
2291
2327
  BackButton: typeof BackButton;
2292
2328
  ThreadPicker: typeof ThreadPickerCompound;
2329
+ MessageActions: typeof MessageActions;
2330
+ CopyAction: typeof CopyAction;
2331
+ EditAction: typeof EditAction;
2332
+ FeedbackAction: typeof FeedbackAction;
2333
+ Action: typeof Action;
2293
2334
  };
2294
2335
  declare const ConnectedChat: typeof CopilotChatBase & {
2295
2336
  Root: typeof CopilotChatBase;
@@ -2302,6 +2343,11 @@ declare const ConnectedChat: typeof CopilotChatBase & {
2302
2343
  Suggestions: typeof SuggestionsCompound;
2303
2344
  BackButton: typeof BackButton;
2304
2345
  ThreadPicker: typeof ThreadPickerCompound;
2346
+ MessageActions: typeof MessageActions;
2347
+ CopyAction: typeof CopyAction;
2348
+ EditAction: typeof EditAction;
2349
+ FeedbackAction: typeof FeedbackAction;
2350
+ Action: typeof Action;
2305
2351
  };
2306
2352
  type ConnectedChatProps = CopilotChatProps;
2307
2353
 
@@ -2415,6 +2461,87 @@ declare function MCPUIFrameList({ resources, onIntent, onError, className, frame
2415
2461
 
2416
2462
  declare function cn(...inputs: ClassValue[]): string;
2417
2463
 
2464
+ type AttachmentStatus = "uploading" | "ready" | "error";
2465
+ interface PendingAttachment {
2466
+ id: string;
2467
+ file: File;
2468
+ /** Object URL for image preview */
2469
+ preview?: string;
2470
+ status: AttachmentStatus;
2471
+ /** Upload progress 0-100 */
2472
+ progress: number;
2473
+ error?: string;
2474
+ /** Final attachment data when ready */
2475
+ attachment?: MessageAttachment$1;
2476
+ }
2477
+ type UploadConfig = string | {
2478
+ url: string;
2479
+ headers?: Record<string, string> | (() => Record<string, string>);
2480
+ body?: Record<string, unknown> | (() => Record<string, unknown>);
2481
+ } | ((file: File) => Promise<MessageAttachment$1>);
2482
+ interface UseAttachmentsConfig {
2483
+ /** Upload handler — string (URL), object (URL+options), or function (custom) */
2484
+ upload?: UploadConfig;
2485
+ /** Maximum number of files (default: 5) */
2486
+ maxFiles?: number;
2487
+ /** Maximum file size in bytes (default: 10MB) */
2488
+ maxFileSize?: number;
2489
+ /** Allowed MIME types (default: images + PDF) */
2490
+ allowedFileTypes?: string[];
2491
+ }
2492
+ interface UseAttachmentsReturn {
2493
+ /** Current pending attachments */
2494
+ attachments: PendingAttachment[];
2495
+ /** Whether files are being dragged over the drop zone */
2496
+ isDragging: boolean;
2497
+ /** Add files (from file picker or drop) */
2498
+ addFiles: (files: FileList | File[]) => void;
2499
+ /** Remove a pending attachment */
2500
+ removeAttachment: (id: string) => void;
2501
+ /** Cancel an in-progress upload */
2502
+ cancelUpload: (id: string) => void;
2503
+ /** Retry a failed upload */
2504
+ retryUpload: (id: string) => void;
2505
+ /** Clear all attachments */
2506
+ clearAll: () => void;
2507
+ /** Get ready attachments as MessageAttachment[] for sending */
2508
+ getReadyAttachments: () => MessageAttachment$1[];
2509
+ /** Whether any attachments exist */
2510
+ hasAttachments: boolean;
2511
+ /** Whether any upload is in progress */
2512
+ isUploading: boolean;
2513
+ /** Whether message can be sent (has ready attachments, none still uploading) */
2514
+ canSend: boolean;
2515
+ /** Drag-drop event handlers — spread on the container element */
2516
+ dragHandlers: {
2517
+ onDragEnter: (e: React.DragEvent) => void;
2518
+ onDragOver: (e: React.DragEvent) => void;
2519
+ onDragLeave: (e: React.DragEvent) => void;
2520
+ onDrop: (e: React.DragEvent) => void;
2521
+ };
2522
+ /** Open native file picker */
2523
+ openFilePicker: () => void;
2524
+ /** Ref for hidden file input */
2525
+ fileInputRef: React.RefObject<HTMLInputElement | null>;
2526
+ /** Handler for file input change */
2527
+ onFileInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
2528
+ }
2529
+ declare function useAttachments(config?: UseAttachmentsConfig): UseAttachmentsReturn;
2530
+
2531
+ interface AttachmentStripProps {
2532
+ attachments: PendingAttachment[];
2533
+ onRemove: (id: string) => void;
2534
+ onRetry: (id: string) => void;
2535
+ className?: string;
2536
+ }
2537
+ declare function AttachmentStrip({ attachments, onRemove, onRetry, className, }: AttachmentStripProps): react_jsx_runtime.JSX.Element | null;
2538
+
2539
+ interface DropZoneOverlayProps {
2540
+ isDragging: boolean;
2541
+ className?: string;
2542
+ }
2543
+ declare function DropZoneOverlay({ isDragging, className, }: DropZoneOverlayProps): react_jsx_runtime.JSX.Element | null;
2544
+
2418
2545
  /**
2419
2546
  * ChatPrimitives — composable primitives for building custom chat layouts.
2420
2547
  * Must be used inside <CopilotChat>.
@@ -2463,4 +2590,4 @@ declare const ChatPrimitives: {
2463
2590
  Loader: typeof Loader;
2464
2591
  };
2465
2592
 
2466
- export { AlertTriangleIcon, type BackButtonProps, BotIcon, BranchNavigator, type BranchNavigatorProps, Button, CapabilityBadge, type CapabilityBadgeProps, CapabilityList, type CapabilityListProps, type CapabilityType, Chat, ChatContainerContent, ChatContainerRoot, ChatContainerScrollAnchor, type ChatMessage, ChatPrimitives, type ChatProps, type ChatViewProps, ChatWelcome, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronUpIcon, type Citation, CitationBadge, type CitationBadgeProps, type CitationConfig, CitationSuperscript, type CitationSuperscriptProps, type CitationsConfig, CloseIcon, type CloudPersistenceConfig, CodeBlock, CompactPermissionConfirmation, type CompactPermissionConfirmationProps, Confirmation, ConfirmationActions, type ConfirmationActionsProps, ConfirmationApproved, type ConfirmationApprovedProps, ConfirmationMessage, type ConfirmationMessageProps, ConfirmationPending, type ConfirmationPendingProps, type ConfirmationProps, ConfirmationRejected, type ConfirmationRejectedProps, type ConfirmationState$1 as ConfirmationState, ConnectedChat, type ConnectedChatProps, CopilotChat, type CopilotChatClassNames, type CopilotChatPersistenceConfig, type CopilotChatProps, type CopilotUIConfig, type CopilotUIContextValue, CopilotUIProvider, type CopilotUIProviderProps, CopyIcon, DEFAULT_PERMISSION_OPTIONS, DevLogger, type DevLoggerProps, type DevLoggerState, FeedbackBar, type FollowUpProps, FollowUpQuestions, type FooterProps, type HeaderProps, type HomeViewProps as HomeProps, type HomeViewProps, InlineToolSteps, type InlineToolStepsProps, Loader, type LocalPersistenceConfig, MCPUIFrame, MCPUIFrameList, type MCPUIFrameListProps, MCPUIFrameProps, Markdown, MessageAvatar, MessageContent, type MessageListProps, Message as MessagePrimitive, MessageWithCitations, type MessageWithCitationsProps, type ModelOption, ModelSelector, type ModelSelectorProps, PermissionConfirmation, type PermissionConfirmationProps, type PermissionLevel, type PermissionOption, PoweredBy, type PoweredByProps, PromptInput, PromptInputAction, PromptInputActions, PromptInputTextarea, type ProviderGroup, Reasoning, ReasoningContent, type ReasoningContentProps, type ReasoningProps, ReasoningTrigger, type ReasoningTriggerProps, RefreshIcon, ScrollButton, SearchAnswer, type SearchAnswerProps, SearchResults, type SearchResultsProps, SearchResultsWithAnswer, type SearchResultsWithAnswerProps, SendIcon, type ServerPersistenceConfig, SimpleConfirmation, type SimpleConfirmationProps, SimpleModelSelector, type SimpleModelSelectorProps, SimpleReasoning, type SimpleReasoningProps, SimpleSource, type SimpleSourceProps, Source, SourceContent, type SourceContentProps, SourceGroup, type SourceGroupProps, type SourceItem, SourcePill, type SourcePillProps, type SourceProps, SourceTrigger, type SourceTriggerProps, SourcesBar, type SourcesBarProps, SourcesCollapsible, type SourcesCollapsibleProps, SourcesList, type SourcesListProps, StopIcon, ThreadCard, type ThreadCardProps, ThreadList, type ThreadListProps, ThreadPicker, type ThreadPickerCompoundProps, type ThreadPickerProps, ThumbsDownIcon, ThumbsUpIcon, ToolExecutionMessage, type ToolRendererProps, type ToolRenderers, ToolStep, type ToolStepData, type ToolStepProps, type ToolStepStatus, ToolSteps, type ToolStepsProps, Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, type TooltipTriggerProps, UserIcon, type WelcomeConfig, XIcon, annotationsToCitations, cn, parseFollowUps, resultsToCitations, useChatContainer, useCopilotChatContext, useCopilotUI };
2593
+ export { AlertTriangleIcon, AttachmentStrip, type AttachmentStripProps, type BackButtonProps, BotIcon, BranchNavigator, type BranchNavigatorProps, Button, CapabilityBadge, type CapabilityBadgeProps, CapabilityList, type CapabilityListProps, type CapabilityType, Chat, ChatContainerContent, ChatContainerRoot, ChatContainerScrollAnchor, type ChatMessage, ChatPrimitives, type ChatProps, type ChatViewProps, ChatWelcome, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronUpIcon, type Citation, CitationBadge, type CitationBadgeProps, type CitationConfig, CitationSuperscript, type CitationSuperscriptProps, type CitationsConfig, CloseIcon, type CloudPersistenceConfig, CodeBlock, CompactPermissionConfirmation, type CompactPermissionConfirmationProps, Confirmation, ConfirmationActions, type ConfirmationActionsProps, ConfirmationApproved, type ConfirmationApprovedProps, ConfirmationMessage, type ConfirmationMessageProps, ConfirmationPending, type ConfirmationPendingProps, type ConfirmationProps, ConfirmationRejected, type ConfirmationRejectedProps, type ConfirmationState$1 as ConfirmationState, ConnectedChat, type ConnectedChatProps, CopilotChat, type CopilotChatClassNames, type CopilotChatPersistenceConfig, type CopilotChatProps, type CopilotUIConfig, type CopilotUIContextValue, CopilotUIProvider, type CopilotUIProviderProps, CopyIcon, DEFAULT_PERMISSION_OPTIONS, DevLogger, type DevLoggerProps, type DevLoggerState, DropZoneOverlay, type DropZoneOverlayProps, FeedbackBar, type FollowUpProps, FollowUpQuestions, type FooterProps, type HeaderProps, type HomeViewProps as HomeProps, type HomeViewProps, InlineToolSteps, type InlineToolStepsProps, Loader, type LocalPersistenceConfig, MCPUIFrame, MCPUIFrameList, type MCPUIFrameListProps, MCPUIFrameProps, Markdown, MessageAvatar, MessageContent, type MessageListProps, Message as MessagePrimitive, MessageWithCitations, type MessageWithCitationsProps, type ModelOption, ModelSelector, type ModelSelectorProps, type PendingAttachment, PermissionConfirmation, type PermissionConfirmationProps, type PermissionLevel, type PermissionOption, PoweredBy, type PoweredByProps, PromptInput, PromptInputAction, PromptInputActions, PromptInputTextarea, type ProviderGroup, Reasoning, ReasoningContent, type ReasoningContentProps, type ReasoningProps, ReasoningTrigger, type ReasoningTriggerProps, RefreshIcon, ScrollButton, SearchAnswer, type SearchAnswerProps, SearchResults, type SearchResultsProps, SearchResultsWithAnswer, type SearchResultsWithAnswerProps, SendIcon, type ServerPersistenceConfig, SimpleConfirmation, type SimpleConfirmationProps, SimpleModelSelector, type SimpleModelSelectorProps, SimpleReasoning, type SimpleReasoningProps, SimpleSource, type SimpleSourceProps, Source, SourceContent, type SourceContentProps, SourceGroup, type SourceGroupProps, type SourceItem, SourcePill, type SourcePillProps, type SourceProps, SourceTrigger, type SourceTriggerProps, SourcesBar, type SourcesBarProps, SourcesCollapsible, type SourcesCollapsibleProps, SourcesList, type SourcesListProps, StopIcon, ThreadCard, type ThreadCardProps, ThreadList, type ThreadListProps, ThreadPicker, type ThreadPickerCompoundProps, type ThreadPickerProps, ThumbsDownIcon, ThumbsUpIcon, ToolExecutionMessage, type ToolRendererProps, type ToolRenderers, ToolStep, type ToolStepData, type ToolStepProps, type ToolStepStatus, ToolSteps, type ToolStepsProps, Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, type TooltipTriggerProps, type UploadConfig, type UseAttachmentsConfig, type UseAttachmentsReturn, UserIcon, type WelcomeConfig, XIcon, annotationsToCitations, cn, parseFollowUps, resultsToCitations, useAttachments, useChatContainer, useCopilotChatContext, useCopilotUI };
@@ -7,9 +7,9 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
7
7
  import { VariantProps } from 'class-variance-authority';
8
8
  import * as use_stick_to_bottom from 'use-stick-to-bottom';
9
9
  import { d as WebSearchResult, f as WebSearchResponse } from '../types-ZguuKEs_.js';
10
- import { a as Thread, c as ThreadStorageAdapter, A as AsyncThreadStorageAdapter } from '../types-waEqyE4K.js';
11
- import { T as ToolDefinition } from '../tools-tmksfhUo.js';
12
- import { B as BranchInfo } from '../MessageTree-CSIHErPK.js';
10
+ import { a as Thread, c as ThreadStorageAdapter, A as AsyncThreadStorageAdapter, M as MessageAttachment$1 } from '../types-waEqyE4K.js';
11
+ import { T as ToolDefinition } from '../tools-DcS6Aeao.js';
12
+ import { B as BranchInfo } from '../MessageTree-Clhiv_k2.js';
13
13
  import { d as MCPUIIntent, n as MCPUIFrameProps, M as MCPUIResource } from '../types-B20VCJXL.js';
14
14
  import { ClassValue } from 'clsx';
15
15
 
@@ -1521,6 +1521,8 @@ type ChatProps = {
1521
1521
  fallback?: string;
1522
1522
  /** Custom avatar component - when provided, replaces the default avatar */
1523
1523
  component?: React__default.ReactNode;
1524
+ /** Additional className applied to the avatar wrapper (e.g. "!bg-transparent") */
1525
+ className?: string;
1524
1526
  };
1525
1527
  /** Loader variant for typing indicator */
1526
1528
  loaderVariant?: "dots" | "typing" | "wave" | "terminal" | "text-blink" | "text-shimmer" | "loading-dots";
@@ -1535,11 +1537,37 @@ type ChatProps = {
1535
1537
  /** Tooltip text when attachments are disabled */
1536
1538
  attachmentsDisabledTooltip?: string;
1537
1539
  /**
1538
- * Custom attachment processor (e.g., for cloud storage upload)
1539
- * If provided, uses this instead of default base64 conversion.
1540
- * @param file - The file to process
1541
- * @returns Promise<MessageAttachment> - The processed attachment (URL-based or base64)
1540
+ * File upload handler. Determines how attachments are uploaded.
1541
+ *
1542
+ * - `string` Server upload URL. Files are POSTed as JSON `{ data, mimeType, filename }`.
1543
+ * - `object` URL + headers/body options for the upload request.
1544
+ * - `function` — Full custom handler. Receives `File`, returns `MessageAttachment`.
1545
+ * - `undefined` — Falls back to base64 (embedded in message, no upload).
1546
+ *
1547
+ * @example
1548
+ * ```tsx
1549
+ * // Simple — just a URL:
1550
+ * <CopilotChat upload="/api/copilot/upload" />
1551
+ *
1552
+ * // With auth headers:
1553
+ * <CopilotChat upload={{
1554
+ * url: "/api/copilot/upload",
1555
+ * headers: () => ({ Authorization: `Bearer ${token}` }),
1556
+ * }} />
1557
+ *
1558
+ * // Full custom:
1559
+ * <CopilotChat upload={async (file) => {
1560
+ * const url = await myS3Upload(file);
1561
+ * return { type: 'image', url, mimeType: file.type, filename: file.name };
1562
+ * }} />
1563
+ * ```
1542
1564
  */
1565
+ upload?: string | {
1566
+ url: string;
1567
+ headers?: Record<string, string> | (() => Record<string, string>);
1568
+ body?: Record<string, unknown> | (() => Record<string, unknown>);
1569
+ } | ((file: File) => Promise<MessageAttachment>);
1570
+ /** @deprecated Use `upload` instead */
1543
1571
  processAttachment?: (file: File) => Promise<MessageAttachment>;
1544
1572
  /** Quick reply suggestions */
1545
1573
  suggestions?: string[];
@@ -1655,6 +1683,9 @@ type ChatProps = {
1655
1683
  };
1656
1684
  /** Custom message renderer */
1657
1685
  renderMessage?: (message: ChatMessage, index: number) => React__default.ReactNode;
1686
+ /** Wrap each DefaultMessage in a custom container — for animations, hover effects, etc.
1687
+ * Unlike renderMessage, this preserves all SDK defaults (toolRenderers, loading, avatars, approval). */
1688
+ wrapMessage?: (content: React__default.ReactNode, message: ChatMessage, index: number) => React__default.ReactNode;
1658
1689
  /** Custom input renderer (replaces entire input area) */
1659
1690
  renderInput?: () => React__default.ReactNode;
1660
1691
  /** Custom header renderer (replaces entire header) */
@@ -1891,7 +1922,7 @@ declare function BackButton({ className, children, disabled, "aria-label": ariaL
1891
1922
  */
1892
1923
  type ThreadPickerCompoundProps = Omit<ThreadPickerProps, "value" | "threads" | "onSelect" | "onNewThread" | "onDeleteThread" | "disabled">;
1893
1924
  declare function ThreadPickerCompound(props: ThreadPickerCompoundProps): react_jsx_runtime.JSX.Element | null;
1894
- declare function ChatComponent({ messages, onSendMessage, onStop, isLoading, children, placeholder, welcomeMessage, title, showHeader, header, threadPicker, logo, name, onClose, showPoweredBy, showUserAvatar, userAvatar: userAvatarProp, assistantAvatar: assistantAvatarProp, loaderVariant, fontSize, maxFileSize, allowedFileTypes, attachmentsEnabled, attachmentsDisabledTooltip, processAttachment: processAttachmentProp, suggestions, onSuggestionClick, welcome, recentThreads, onSelectThread, onDeleteThread, onViewMoreThreads, isProcessing, registeredTools, toolRenderers, mcpToolRenderer, fallbackToolRenderer, onApproveToolExecution, onRejectToolExecution, showFollowUps, followUpClassName, followUpButtonClassName, citations, messageView, renderMessage, renderInput, renderHeader, groupConsecutiveMessages, className, classNames, onNewChat, threads, currentThreadId, onSwitchThread, isThreadBusy, getBranchInfo, onSwitchBranch, onEditMessage, }: ChatProps): react_jsx_runtime.JSX.Element;
1925
+ declare function ChatComponent({ messages, onSendMessage, onStop, isLoading, children, placeholder, welcomeMessage, title, showHeader, header, threadPicker, logo, name, onClose, showPoweredBy, showUserAvatar, userAvatar: userAvatarProp, assistantAvatar: assistantAvatarProp, loaderVariant, fontSize, maxFileSize, allowedFileTypes, attachmentsEnabled, attachmentsDisabledTooltip, upload: uploadProp, processAttachment: deprecatedProcessAttachment, suggestions, onSuggestionClick, welcome, recentThreads, onSelectThread, onDeleteThread, onViewMoreThreads, isProcessing, registeredTools, toolRenderers, mcpToolRenderer, fallbackToolRenderer, onApproveToolExecution, onRejectToolExecution, showFollowUps, followUpClassName, followUpButtonClassName, citations, messageView, renderMessage, wrapMessage, renderInput, renderHeader, groupConsecutiveMessages, className, classNames, onNewChat, threads, currentThreadId, onSwitchThread, isThreadBusy, getBranchInfo, onSwitchBranch, onEditMessage, }: ChatProps): react_jsx_runtime.JSX.Element;
1895
1926
  /**
1896
1927
  * Chat component with compound component pattern.
1897
1928
  *
@@ -2275,6 +2306,11 @@ type CopilotChatProps = Omit<ChatProps, "messages" | "onSendMessage" | "onStop"
2275
2306
  * Granular class names for sub-components including thread picker
2276
2307
  */
2277
2308
  classNames?: CopilotChatClassNames;
2309
+ /**
2310
+ * Allow inline editing of user messages.
2311
+ * @default false
2312
+ */
2313
+ allowEdit?: boolean;
2278
2314
  };
2279
2315
  declare function CopilotChatBase(props: CopilotChatProps & {
2280
2316
  children?: React__default.ReactNode;
@@ -2290,6 +2326,11 @@ declare const CopilotChat: typeof CopilotChatBase & {
2290
2326
  Suggestions: typeof SuggestionsCompound;
2291
2327
  BackButton: typeof BackButton;
2292
2328
  ThreadPicker: typeof ThreadPickerCompound;
2329
+ MessageActions: typeof MessageActions;
2330
+ CopyAction: typeof CopyAction;
2331
+ EditAction: typeof EditAction;
2332
+ FeedbackAction: typeof FeedbackAction;
2333
+ Action: typeof Action;
2293
2334
  };
2294
2335
  declare const ConnectedChat: typeof CopilotChatBase & {
2295
2336
  Root: typeof CopilotChatBase;
@@ -2302,6 +2343,11 @@ declare const ConnectedChat: typeof CopilotChatBase & {
2302
2343
  Suggestions: typeof SuggestionsCompound;
2303
2344
  BackButton: typeof BackButton;
2304
2345
  ThreadPicker: typeof ThreadPickerCompound;
2346
+ MessageActions: typeof MessageActions;
2347
+ CopyAction: typeof CopyAction;
2348
+ EditAction: typeof EditAction;
2349
+ FeedbackAction: typeof FeedbackAction;
2350
+ Action: typeof Action;
2305
2351
  };
2306
2352
  type ConnectedChatProps = CopilotChatProps;
2307
2353
 
@@ -2415,6 +2461,87 @@ declare function MCPUIFrameList({ resources, onIntent, onError, className, frame
2415
2461
 
2416
2462
  declare function cn(...inputs: ClassValue[]): string;
2417
2463
 
2464
+ type AttachmentStatus = "uploading" | "ready" | "error";
2465
+ interface PendingAttachment {
2466
+ id: string;
2467
+ file: File;
2468
+ /** Object URL for image preview */
2469
+ preview?: string;
2470
+ status: AttachmentStatus;
2471
+ /** Upload progress 0-100 */
2472
+ progress: number;
2473
+ error?: string;
2474
+ /** Final attachment data when ready */
2475
+ attachment?: MessageAttachment$1;
2476
+ }
2477
+ type UploadConfig = string | {
2478
+ url: string;
2479
+ headers?: Record<string, string> | (() => Record<string, string>);
2480
+ body?: Record<string, unknown> | (() => Record<string, unknown>);
2481
+ } | ((file: File) => Promise<MessageAttachment$1>);
2482
+ interface UseAttachmentsConfig {
2483
+ /** Upload handler — string (URL), object (URL+options), or function (custom) */
2484
+ upload?: UploadConfig;
2485
+ /** Maximum number of files (default: 5) */
2486
+ maxFiles?: number;
2487
+ /** Maximum file size in bytes (default: 10MB) */
2488
+ maxFileSize?: number;
2489
+ /** Allowed MIME types (default: images + PDF) */
2490
+ allowedFileTypes?: string[];
2491
+ }
2492
+ interface UseAttachmentsReturn {
2493
+ /** Current pending attachments */
2494
+ attachments: PendingAttachment[];
2495
+ /** Whether files are being dragged over the drop zone */
2496
+ isDragging: boolean;
2497
+ /** Add files (from file picker or drop) */
2498
+ addFiles: (files: FileList | File[]) => void;
2499
+ /** Remove a pending attachment */
2500
+ removeAttachment: (id: string) => void;
2501
+ /** Cancel an in-progress upload */
2502
+ cancelUpload: (id: string) => void;
2503
+ /** Retry a failed upload */
2504
+ retryUpload: (id: string) => void;
2505
+ /** Clear all attachments */
2506
+ clearAll: () => void;
2507
+ /** Get ready attachments as MessageAttachment[] for sending */
2508
+ getReadyAttachments: () => MessageAttachment$1[];
2509
+ /** Whether any attachments exist */
2510
+ hasAttachments: boolean;
2511
+ /** Whether any upload is in progress */
2512
+ isUploading: boolean;
2513
+ /** Whether message can be sent (has ready attachments, none still uploading) */
2514
+ canSend: boolean;
2515
+ /** Drag-drop event handlers — spread on the container element */
2516
+ dragHandlers: {
2517
+ onDragEnter: (e: React.DragEvent) => void;
2518
+ onDragOver: (e: React.DragEvent) => void;
2519
+ onDragLeave: (e: React.DragEvent) => void;
2520
+ onDrop: (e: React.DragEvent) => void;
2521
+ };
2522
+ /** Open native file picker */
2523
+ openFilePicker: () => void;
2524
+ /** Ref for hidden file input */
2525
+ fileInputRef: React.RefObject<HTMLInputElement | null>;
2526
+ /** Handler for file input change */
2527
+ onFileInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
2528
+ }
2529
+ declare function useAttachments(config?: UseAttachmentsConfig): UseAttachmentsReturn;
2530
+
2531
+ interface AttachmentStripProps {
2532
+ attachments: PendingAttachment[];
2533
+ onRemove: (id: string) => void;
2534
+ onRetry: (id: string) => void;
2535
+ className?: string;
2536
+ }
2537
+ declare function AttachmentStrip({ attachments, onRemove, onRetry, className, }: AttachmentStripProps): react_jsx_runtime.JSX.Element | null;
2538
+
2539
+ interface DropZoneOverlayProps {
2540
+ isDragging: boolean;
2541
+ className?: string;
2542
+ }
2543
+ declare function DropZoneOverlay({ isDragging, className, }: DropZoneOverlayProps): react_jsx_runtime.JSX.Element | null;
2544
+
2418
2545
  /**
2419
2546
  * ChatPrimitives — composable primitives for building custom chat layouts.
2420
2547
  * Must be used inside <CopilotChat>.
@@ -2463,4 +2590,4 @@ declare const ChatPrimitives: {
2463
2590
  Loader: typeof Loader;
2464
2591
  };
2465
2592
 
2466
- export { AlertTriangleIcon, type BackButtonProps, BotIcon, BranchNavigator, type BranchNavigatorProps, Button, CapabilityBadge, type CapabilityBadgeProps, CapabilityList, type CapabilityListProps, type CapabilityType, Chat, ChatContainerContent, ChatContainerRoot, ChatContainerScrollAnchor, type ChatMessage, ChatPrimitives, type ChatProps, type ChatViewProps, ChatWelcome, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronUpIcon, type Citation, CitationBadge, type CitationBadgeProps, type CitationConfig, CitationSuperscript, type CitationSuperscriptProps, type CitationsConfig, CloseIcon, type CloudPersistenceConfig, CodeBlock, CompactPermissionConfirmation, type CompactPermissionConfirmationProps, Confirmation, ConfirmationActions, type ConfirmationActionsProps, ConfirmationApproved, type ConfirmationApprovedProps, ConfirmationMessage, type ConfirmationMessageProps, ConfirmationPending, type ConfirmationPendingProps, type ConfirmationProps, ConfirmationRejected, type ConfirmationRejectedProps, type ConfirmationState$1 as ConfirmationState, ConnectedChat, type ConnectedChatProps, CopilotChat, type CopilotChatClassNames, type CopilotChatPersistenceConfig, type CopilotChatProps, type CopilotUIConfig, type CopilotUIContextValue, CopilotUIProvider, type CopilotUIProviderProps, CopyIcon, DEFAULT_PERMISSION_OPTIONS, DevLogger, type DevLoggerProps, type DevLoggerState, FeedbackBar, type FollowUpProps, FollowUpQuestions, type FooterProps, type HeaderProps, type HomeViewProps as HomeProps, type HomeViewProps, InlineToolSteps, type InlineToolStepsProps, Loader, type LocalPersistenceConfig, MCPUIFrame, MCPUIFrameList, type MCPUIFrameListProps, MCPUIFrameProps, Markdown, MessageAvatar, MessageContent, type MessageListProps, Message as MessagePrimitive, MessageWithCitations, type MessageWithCitationsProps, type ModelOption, ModelSelector, type ModelSelectorProps, PermissionConfirmation, type PermissionConfirmationProps, type PermissionLevel, type PermissionOption, PoweredBy, type PoweredByProps, PromptInput, PromptInputAction, PromptInputActions, PromptInputTextarea, type ProviderGroup, Reasoning, ReasoningContent, type ReasoningContentProps, type ReasoningProps, ReasoningTrigger, type ReasoningTriggerProps, RefreshIcon, ScrollButton, SearchAnswer, type SearchAnswerProps, SearchResults, type SearchResultsProps, SearchResultsWithAnswer, type SearchResultsWithAnswerProps, SendIcon, type ServerPersistenceConfig, SimpleConfirmation, type SimpleConfirmationProps, SimpleModelSelector, type SimpleModelSelectorProps, SimpleReasoning, type SimpleReasoningProps, SimpleSource, type SimpleSourceProps, Source, SourceContent, type SourceContentProps, SourceGroup, type SourceGroupProps, type SourceItem, SourcePill, type SourcePillProps, type SourceProps, SourceTrigger, type SourceTriggerProps, SourcesBar, type SourcesBarProps, SourcesCollapsible, type SourcesCollapsibleProps, SourcesList, type SourcesListProps, StopIcon, ThreadCard, type ThreadCardProps, ThreadList, type ThreadListProps, ThreadPicker, type ThreadPickerCompoundProps, type ThreadPickerProps, ThumbsDownIcon, ThumbsUpIcon, ToolExecutionMessage, type ToolRendererProps, type ToolRenderers, ToolStep, type ToolStepData, type ToolStepProps, type ToolStepStatus, ToolSteps, type ToolStepsProps, Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, type TooltipTriggerProps, UserIcon, type WelcomeConfig, XIcon, annotationsToCitations, cn, parseFollowUps, resultsToCitations, useChatContainer, useCopilotChatContext, useCopilotUI };
2593
+ export { AlertTriangleIcon, AttachmentStrip, type AttachmentStripProps, type BackButtonProps, BotIcon, BranchNavigator, type BranchNavigatorProps, Button, CapabilityBadge, type CapabilityBadgeProps, CapabilityList, type CapabilityListProps, type CapabilityType, Chat, ChatContainerContent, ChatContainerRoot, ChatContainerScrollAnchor, type ChatMessage, ChatPrimitives, type ChatProps, type ChatViewProps, ChatWelcome, CheckIcon, ChevronDownIcon, ChevronLeftIcon, ChevronUpIcon, type Citation, CitationBadge, type CitationBadgeProps, type CitationConfig, CitationSuperscript, type CitationSuperscriptProps, type CitationsConfig, CloseIcon, type CloudPersistenceConfig, CodeBlock, CompactPermissionConfirmation, type CompactPermissionConfirmationProps, Confirmation, ConfirmationActions, type ConfirmationActionsProps, ConfirmationApproved, type ConfirmationApprovedProps, ConfirmationMessage, type ConfirmationMessageProps, ConfirmationPending, type ConfirmationPendingProps, type ConfirmationProps, ConfirmationRejected, type ConfirmationRejectedProps, type ConfirmationState$1 as ConfirmationState, ConnectedChat, type ConnectedChatProps, CopilotChat, type CopilotChatClassNames, type CopilotChatPersistenceConfig, type CopilotChatProps, type CopilotUIConfig, type CopilotUIContextValue, CopilotUIProvider, type CopilotUIProviderProps, CopyIcon, DEFAULT_PERMISSION_OPTIONS, DevLogger, type DevLoggerProps, type DevLoggerState, DropZoneOverlay, type DropZoneOverlayProps, FeedbackBar, type FollowUpProps, FollowUpQuestions, type FooterProps, type HeaderProps, type HomeViewProps as HomeProps, type HomeViewProps, InlineToolSteps, type InlineToolStepsProps, Loader, type LocalPersistenceConfig, MCPUIFrame, MCPUIFrameList, type MCPUIFrameListProps, MCPUIFrameProps, Markdown, MessageAvatar, MessageContent, type MessageListProps, Message as MessagePrimitive, MessageWithCitations, type MessageWithCitationsProps, type ModelOption, ModelSelector, type ModelSelectorProps, type PendingAttachment, PermissionConfirmation, type PermissionConfirmationProps, type PermissionLevel, type PermissionOption, PoweredBy, type PoweredByProps, PromptInput, PromptInputAction, PromptInputActions, PromptInputTextarea, type ProviderGroup, Reasoning, ReasoningContent, type ReasoningContentProps, type ReasoningProps, ReasoningTrigger, type ReasoningTriggerProps, RefreshIcon, ScrollButton, SearchAnswer, type SearchAnswerProps, SearchResults, type SearchResultsProps, SearchResultsWithAnswer, type SearchResultsWithAnswerProps, SendIcon, type ServerPersistenceConfig, SimpleConfirmation, type SimpleConfirmationProps, SimpleModelSelector, type SimpleModelSelectorProps, SimpleReasoning, type SimpleReasoningProps, SimpleSource, type SimpleSourceProps, Source, SourceContent, type SourceContentProps, SourceGroup, type SourceGroupProps, type SourceItem, SourcePill, type SourcePillProps, type SourceProps, SourceTrigger, type SourceTriggerProps, SourcesBar, type SourcesBarProps, SourcesCollapsible, type SourcesCollapsibleProps, SourcesList, type SourcesListProps, StopIcon, ThreadCard, type ThreadCardProps, ThreadList, type ThreadListProps, ThreadPicker, type ThreadPickerCompoundProps, type ThreadPickerProps, ThumbsDownIcon, ThumbsUpIcon, ToolExecutionMessage, type ToolRendererProps, type ToolRenderers, ToolStep, type ToolStepData, type ToolStepProps, type ToolStepStatus, ToolSteps, type ToolStepsProps, Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, type TooltipTriggerProps, type UploadConfig, type UseAttachmentsConfig, type UseAttachmentsReturn, UserIcon, type WelcomeConfig, XIcon, annotationsToCitations, cn, parseFollowUps, resultsToCitations, useAttachments, useChatContainer, useCopilotChatContext, useCopilotUI };