Skip to content

MesopGUIMessageVisitor

fastagency.ui.mesop.message.MesopGUIMessageVisitor #

MesopGUIMessageVisitor(level: int, conversation_id: str)

Bases: IOMessageVisitor

Initialize the MesopGUIMessageVisitor object.

PARAMETER DESCRIPTION
level

The level of the message.

TYPE: int

conversation_id

The ID of the conversation.

TYPE: str

Source code in fastagency/ui/mesop/message.py
def __init__(self, level: int, conversation_id: str) -> None:
    """Initialize the MesopGUIMessageVisitor object.

    Args:
        level (int): The level of the message.
        conversation_id (str): The ID of the conversation.
    """
    self._level = level
    self._conversation_id = conversation_id

process_message #

process_message(message: IOMessage) -> Optional[str]
Source code in fastagency/ui/mesop/message.py
def process_message(self, message: IOMessage) -> Optional[str]:
    return self.visit(message)

visit #

visit(message: IOMessage) -> Optional[str]
Source code in fastagency/base.py
def visit(self, message: IOMessage) -> Optional[str]:
    method_name = f"visit_{message.type}"
    method = getattr(self, method_name, self.visit_default)
    return method(message)

visit_default #

visit_default(message: IOMessage) -> None
Source code in fastagency/ui/mesop/message.py
def visit_default(self, message: IOMessage) -> None:
    base_color = "#aff"
    with me.box(
        style=me.Style(
            background=base_color,
            padding=me.Padding.all(16),
            border_radius=16,
            margin=me.Margin.symmetric(vertical=16),
        )
    ):
        self._header(message, base_color)
        me.markdown(message.type)

visit_function_call_execution #

visit_function_call_execution(
    message: FunctionCallExecution,
) -> Optional[str]
Source code in fastagency/base.py
def visit_function_call_execution(
    self, message: FunctionCallExecution
) -> Optional[str]:
    return self.visit_default(message)

visit_multiple_choice #

visit_multiple_choice(message: MultipleChoice) -> str
Source code in fastagency/ui/mesop/message.py
def visit_multiple_choice(self, message: MultipleChoice) -> str:
    text = message.prompt if message.prompt else "Please enter a value"
    if message.choices:
        options = ",".join(
            f"{i+1}. {choice}" for i, choice in enumerate(message.choices)
        )
        text += "\n" + options
    base_color = "#cff"
    with me.box(
        style=me.Style(
            background=base_color,
            padding=me.Padding.all(16),
            border_radius=16,
            margin=me.Margin.symmetric(vertical=16),
        )
    ):
        self._header(message, base_color, title="Input requested")
        me.markdown(text)
    return ""

visit_suggested_function_call #

visit_suggested_function_call(
    message: SuggestedFunctionCall,
) -> Optional[str]
Source code in fastagency/base.py
def visit_suggested_function_call(
    self, message: SuggestedFunctionCall
) -> Optional[str]:
    return self.visit_default(message)

visit_system_message #

visit_system_message(message: SystemMessage) -> None
Source code in fastagency/ui/mesop/message.py
def visit_system_message(self, message: SystemMessage) -> None:
    base_color = "#bff"
    with me.box(
        style=me.Style(
            background=base_color,
            padding=me.Padding.all(16),
            border_radius=16,
            margin=me.Margin.symmetric(vertical=16),
        )
    ):
        self._header(message, base_color, title="System Message")
        me.markdown(json.dumps(message.message, indent=2))

visit_text_input #

visit_text_input(message: TextInput) -> str
Source code in fastagency/ui/mesop/message.py
def visit_text_input(self, message: TextInput) -> str:
    text = message.prompt if message.prompt else "Please enter a value"
    if message.suggestions:
        suggestions = ",".join(suggestion for suggestion in message.suggestions)
        text += "\n" + suggestions

    base_color = "#bff"
    with me.box(
        style=me.Style(
            background=base_color,
            padding=me.Padding.all(16),
            border_radius=16,
            margin=me.Margin.symmetric(vertical=16),
        )
    ):
        self._header(message, base_color, title="Input requested")
        me.markdown(text)
    return ""

visit_text_message #

visit_text_message(message: TextMessage) -> None
Source code in fastagency/ui/mesop/message.py
def visit_text_message(self, message: TextMessage) -> None:
    base_color = "#fff"
    with me.box(
        style=me.Style(
            background=base_color,
            padding=me.Padding.all(16),
            border_radius=16,
            margin=me.Margin.symmetric(vertical=16),
        )
    ):
        self._header(message, base_color, title="Text message")
        me.markdown(message.body)

visit_workflow_completed #

visit_workflow_completed(
    message: WorkflowCompleted,
) -> Optional[str]
Source code in fastagency/base.py
def visit_workflow_completed(self, message: WorkflowCompleted) -> Optional[str]:
    return self.visit_default(message)