Interface MynahUIDataModel

data store model to update the mynah ui partially or fully

interface MynahUIDataModel {
    cancelButtonWhenLoading?: boolean;
    chatItems?: ChatItem[];
    compactMode?: boolean;
    contextCommands?: QuickActionCommandGroup[];
    loadingChat?: boolean;
    pinned?: boolean;
    promptInputDisabledState?: boolean;
    promptInputInfo?: string;
    promptInputLabel?: null | string;
    promptInputOptions?: null | ChatItemFormItem[];
    promptInputPlaceholder?: string;
    promptInputProgress?: null | ProgressField;
    promptInputStickyCard?: null | Partial<ChatItem>;
    promptInputText?: string;
    promptInputVisible?: boolean;
    quickActionCommands?: QuickActionCommandGroup[];
    selectedCodeSnippet?: string;
    showChatAvatars?: boolean;
    tabBackground?: boolean;
    tabBarButtons?: TabBarMainAction[];
    tabCloseConfirmationCloseButton?: null | string;
    tabCloseConfirmationKeepButton?: null | string;
    tabCloseConfirmationMessage?: null | string;
    tabHeaderDetails?: null | TabHeaderDetails;
    tabIcon?: null | MynahIcons | "q" | "menu" | "minus" | "search" | "plus" | "paper-clip" | "list-add" | "tabs" | "chat" | "link" | "folder" | "file" | "flash" | "doc" | "external" | "cancel" | "cancel-circle" | "calendar" | "comment" | "megaphone" | "magic" | "notification" | "eye" | "ellipsis" | "ok" | "up-open" | "down-open" | "right-open" | "left-open" | "resize-full" | "resize-small" | "block" | "ok-circled" | "info" | "warning" | "error" | "thumbs-up" | "thumbs-down" | "star" | "stack" | "light-bulb" | "envelope-send" | "refresh" | "progress" | "scroll-down" | "user" | "play" | "pause" | "stop" | "pencil" | "code-block" | "copy" | "cursor-insert" | "text-select" | "revert" | "rocket" | "asterisk" | "bug" | "check-list" | "deploy" | "help" | "message" | "trash" | "transform";
    tabMetadata?: {
        [key: string]: string | boolean | number;
    };
    tabTitle?: string;
}

Properties

cancelButtonWhenLoading?: boolean

Show cancel button while loading the chat

chatItems?: ChatItem[]

List of chat item objects to be shown on the web suggestions search screen

compactMode?: boolean

Tab content compact mode which keeps everything in the middle

contextCommands?: QuickActionCommandGroup[]

Context commands to show when user hits @ to the input any point

loadingChat?: boolean

Chat screen loading animation state (mainly use during the stream or getting the initial answer)

pinned?: boolean

is tab pinned

promptInputDisabledState?: boolean

Prompt input field disabled state, set to tru to disable it

promptInputInfo?: string

Info block to be shown under prompt input

promptInputLabel?: null | string

Label to be shown on top of the prompt input

promptInputOptions?: null | ChatItemFormItem[]

Prompt input options/form items

promptInputPlaceholder?: string

Placeholder to be shown on prompt input

promptInputProgress?: null | ProgressField

Prompt input progress field

promptInputStickyCard?: null | Partial<ChatItem>

A sticky chat item card on top of the prompt input

promptInputText?: string

Prompt input text

promptInputVisible?: boolean

Label to be shown on top of the prompt input

quickActionCommands?: QuickActionCommandGroup[]

Quick Action commands to show when user hits / to the input initially

selectedCodeSnippet?: string

Attached code under the prompt input field

showChatAvatars?: boolean

Show chat avatars or not

tabBackground?: boolean

Tab title

tabBarButtons?: TabBarMainAction[]

Tab bar buttons next to the tab items

tabCloseConfirmationCloseButton?: null | string

Close tab button text

tabCloseConfirmationKeepButton?: null | string

Keep tab open button text

tabCloseConfirmationMessage?: null | string

If tab is running an action (loadingChat = true) this markdown will be shown before close in a popup

tabHeaderDetails?: null | TabHeaderDetails

Tab content header details, only visibile when showTabHeaderDetails is set to 'true'

tabIcon?: null | MynahIcons | "q" | "menu" | "minus" | "search" | "plus" | "paper-clip" | "list-add" | "tabs" | "chat" | "link" | "folder" | "file" | "flash" | "doc" | "external" | "cancel" | "cancel-circle" | "calendar" | "comment" | "megaphone" | "magic" | "notification" | "eye" | "ellipsis" | "ok" | "up-open" | "down-open" | "right-open" | "left-open" | "resize-full" | "resize-small" | "block" | "ok-circled" | "info" | "warning" | "error" | "thumbs-up" | "thumbs-down" | "star" | "stack" | "light-bulb" | "envelope-send" | "refresh" | "progress" | "scroll-down" | "user" | "play" | "pause" | "stop" | "pencil" | "code-block" | "copy" | "cursor-insert" | "text-select" | "revert" | "rocket" | "asterisk" | "bug" | "check-list" | "deploy" | "help" | "message" | "trash" | "transform"

Tab icon

tabMetadata?: {
    [key: string]: string | boolean | number;
}

A lightweight key-value store for essential tab-specific primitive metadata. Not intended for storing large amounts of data - use appropriate application state management for that purpose.

Type declaration

  • [key: string]: string | boolean | number
tabTitle?: string

Tab title