ChatBotView constructor

const ChatBotView({
  1. Key? key,
  2. required RoomClient room,
  3. BaseChatClient? chatClient,
  4. bool disposeChatClient = false,
  5. String? agentName,
  6. ChatThreadDisplayMode threadDisplayMode = ChatThreadDisplayMode.singleThread,
  7. String? threadDir,
  8. String? threadListPath,
  9. String? documentPath,
  10. ChatThreadController? controller,
  11. String? selectedThreadPath,
  12. String? selectedThreadDisplayName,
  13. ValueChanged<String?>? onSelectedThreadPathChanged,
  14. void onSelectedThreadResolved(
    1. String? path,
    2. String? displayName
    )?,
  15. int newThreadResetVersion = 0,
  16. List<Participant>? participants,
  17. List<String>? participantNames,
  18. bool includeLocalParticipant = true,
  19. bool startChatCentered = false,
  20. ChatMessage? initialMessage,
  21. void onMessageSent(
    1. ChatMessage message
    )?,
  22. Widget messageHeaderBuilder(
    1. BuildContext,
    2. MeshDocument,
    3. MeshElement
    )?,
  23. Widget waitingForParticipantsBuilder(
    1. BuildContext,
    2. List<String>
    )?,
  24. Widget attachmentBuilder(
    1. BuildContext context,
    2. FileAttachment upload
    )?,
  25. ValueChanged<FileAttachment>? onAttachmentOpen,
  26. ValueChanged<FileAttachment>? onAttachmentRemoved,
  27. Widget fileInThreadBuilder(
    1. BuildContext context,
    2. String path
    )?,
  28. Widget? pendingFileInThreadBuilder(
    1. BuildContext context,
    2. String path
    )?,
  29. DatasetChatInlineAttachmentViewerPredicate? datasetInlineAttachmentViewerPredicate,
  30. Widget chatInputBoxBuilder(
    1. BuildContext context,
    2. Widget chatBox
    )?,
  31. ChatThreadCustomInputBuilder? customInputBuilder,
  32. FutureOr<void> openFile(
    1. String path
    )?,
  33. FileDropOverlayBuilder? fileDropOverlayBuilder,
  34. Widget toolsBuilder(
    1. BuildContext,
    2. ChatThreadController,
    3. ChatThreadSnapshot
    )?,
  35. Widget? inputPlaceholder,
  36. String? emptyStateTitle,
  37. String? emptyStateDescription,
  38. Widget? emptyState,
  39. EditableTextContextMenuBuilder? inputContextMenuBuilder,
  40. TapRegionCallback? inputOnPressedOutside,
  41. ThreadStorageSaveSurfacePresenter? mobileStorageSaveSurfacePresenter,
  42. double? mobileUnderHeaderContentPadding,
  43. bool centerComposer = false,
  44. bool showCenteredComposerTitle = true,
  45. bool hideChatInput = false,
  46. bool showThreadList = true,
  47. double threadListWidth = 280,
  48. double threadListCollapsedHeight = 220,
  49. bool initialShowCompletedToolCalls = false,
  50. bool shouldShowAuthorNames = true,
  51. bool showUsageFooter = false,
  52. ChatToolCallRendererRegistry? toolCallRenderers,
  53. ChatToolCallVisibilityPredicate? toolCallVisibilityPredicate,
  54. DatasetChatThreadWrapperBuilder? datasetThreadWrapperBuilder,
  55. DatasetChatNewThreadWrapperBuilder? datasetNewThreadWrapperBuilder,
})

Implementation

const ChatBotView({
  super.key,
  required this.room,
  this.chatClient,
  this.disposeChatClient = false,
  this.agentName,
  this.threadDisplayMode = ChatThreadDisplayMode.singleThread,
  this.threadDir,
  this.threadListPath,
  this.documentPath,
  this.controller,
  this.selectedThreadPath,
  this.selectedThreadDisplayName,
  this.onSelectedThreadPathChanged,
  this.onSelectedThreadResolved,
  this.newThreadResetVersion = 0,
  this.participants,
  this.participantNames,
  this.includeLocalParticipant = true,
  this.startChatCentered = false,
  this.initialMessage,
  this.onMessageSent,
  this.messageHeaderBuilder,
  this.waitingForParticipantsBuilder,
  this.attachmentBuilder,
  this.onAttachmentOpen,
  this.onAttachmentRemoved,
  this.fileInThreadBuilder,
  this.pendingFileInThreadBuilder,
  this.datasetInlineAttachmentViewerPredicate,
  this.chatInputBoxBuilder,
  this.customInputBuilder,
  this.openFile,
  this.fileDropOverlayBuilder,
  this.toolsBuilder,
  this.inputPlaceholder,
  this.emptyStateTitle,
  this.emptyStateDescription,
  this.emptyState,
  this.inputContextMenuBuilder,
  this.inputOnPressedOutside,
  this.mobileStorageSaveSurfacePresenter,
  this.mobileUnderHeaderContentPadding,
  this.centerComposer = false,
  this.showCenteredComposerTitle = true,
  this.hideChatInput = false,
  this.showThreadList = true,
  this.threadListWidth = 280,
  this.threadListCollapsedHeight = 220,
  this.initialShowCompletedToolCalls = false,
  this.shouldShowAuthorNames = true,
  this.showUsageFooter = false,
  this.toolCallRenderers,
  this.toolCallVisibilityPredicate,
  this.datasetThreadWrapperBuilder,
  this.datasetNewThreadWrapperBuilder,
});