Skip to content

inbound

framewise_meet_client.models.inbound

Inbound message models for the Framewise Meet client.

This module contains all message types that are received from the server.

TranscriptContent

Bases: BaseModel

Content of a transcript message.

Source code in framewise_meet_client/models/inbound.py
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
class TranscriptContent(BaseModel):
    """Content of a transcript message."""

    text: str = Field(..., description="The transcript text")
    is_final: bool = Field(False, description="Whether this is a final transcript")
    confidence: Optional[float] = Field(
        None, description="Confidence score for the transcript"
    )
    language_code: Optional[str] = Field(
        None, description="Language code for the transcript"
    )
    alternatives: Optional[List[Dict[str, Any]]] = Field(
        None, description="Alternative transcriptions"
    )
    speaker_id: Optional[str] = Field(None, description="ID of the speaker")

InvokeContent

Bases: BaseModel

Content of an invoke message.

Source code in framewise_meet_client/models/inbound.py
27
28
29
30
31
32
33
class InvokeContent(BaseModel):
    """Content of an invoke message."""

    function_name: str = Field(..., description="Name of the function to invoke")
    arguments: Dict[str, Any] = Field(
        default_factory=dict, description="Arguments for the function"
    )

JoinEvent

Bases: BaseModel

Join event data.

Source code in framewise_meet_client/models/inbound.py
36
37
38
39
40
41
42
43
44
45
46
class JoinEvent(BaseModel):
    """Join event data."""

    meeting_id: str = Field(..., description="ID of the meeting")
    participant_id: str = Field(..., description="ID of the participant who joined")
    participant_name: Optional[str] = Field(
        None, description="Name of the participant who joined"
    )
    participant_role: Optional[str] = Field(
        None, description="Role of the participant who joined"
    )

ExitEvent

Bases: BaseModel

Exit event data.

Source code in framewise_meet_client/models/inbound.py
49
50
51
52
53
54
55
56
57
58
59
class ExitEvent(BaseModel):
    """Exit event data."""

    meeting_id: str = Field(..., description="ID of the meeting")
    participant_id: str = Field(..., description="ID of the participant who exited")
    participant_name: Optional[str] = Field(
        None, description="Name of the participant who exited"
    )
    participant_role: Optional[str] = Field(
        None, description="Role of the participant who exited"
    )

MCQSelectionEvent

Bases: BaseModel

Multiple-choice question selection event data.

Source code in framewise_meet_client/models/inbound.py
62
63
64
65
66
67
68
69
class MCQSelectionEvent(BaseModel):
    """Multiple-choice question selection event data."""

    question_id: str = Field(..., description="ID of the question")
    selected_option_id: str = Field(..., description="ID of the selected option")
    participant_id: str = Field(
        ..., description="ID of the participant who made the selection"
    )

CustomUIEvent

Bases: BaseModel

Custom UI event data.

Source code in framewise_meet_client/models/inbound.py
72
73
74
75
76
77
78
79
80
class CustomUIEvent(BaseModel):
    """Custom UI event data."""

    element_type: str = Field(..., description="Type of the UI element")
    element_id: str = Field(..., description="ID of the UI element")
    action: str = Field(..., description="Action performed on the UI element")
    data: Dict[str, Any] = Field(
        default_factory=dict, description="Additional data for the event"
    )

ConnectionRejectedEvent

Bases: BaseModel

Connection rejected event data.

Source code in framewise_meet_client/models/inbound.py
83
84
85
86
87
class ConnectionRejectedEvent(BaseModel):
    """Connection rejected event data."""

    reason: str = Field(..., description="Reason for the rejection")
    error_code: Optional[str] = Field(None, description="Error code")

BaseMessage

Bases: BaseModel

Base class for all messages.

Source code in framewise_meet_client/models/inbound.py
90
91
92
93
94
95
class BaseMessage(BaseModel):
    """Base class for all messages."""

    message_id: str = Field(..., description="Unique identifier for the message")
    meeting_id: str = Field(..., description="ID of the meeting")
    timestamp: str = Field(..., description="Timestamp of the message")

TranscriptMessage

Bases: BaseMessage

Transcript message received from the server.

Source code in framewise_meet_client/models/inbound.py
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
class TranscriptMessage(BaseMessage):
    """Transcript message received from the server."""

    type: Literal["transcript"] = "transcript"
    content: TranscriptContent = Field(
        ..., description="Content of the transcript message"
    )
    # For backwards compatibility
    transcript: Optional[str] = None
    is_final: Optional[bool] = None

    def model_post_init(self, *args, **kwargs):
        """Handle legacy transcript format."""
        if self.transcript is not None:
            self.content.text = self.transcript
        if self.is_final is not None:
            self.content.is_final = self.is_final

model_post_init(*args, **kwargs)

Handle legacy transcript format.

Source code in framewise_meet_client/models/inbound.py
109
110
111
112
113
114
def model_post_init(self, *args, **kwargs):
    """Handle legacy transcript format."""
    if self.transcript is not None:
        self.content.text = self.transcript
    if self.is_final is not None:
        self.content.is_final = self.is_final

InvokeMessage

Bases: BaseMessage

Invoke message received from the server.

Source code in framewise_meet_client/models/inbound.py
117
118
119
120
121
class InvokeMessage(BaseMessage):
    """Invoke message received from the server."""

    type: Literal["invoke"] = "invoke"
    content: InvokeContent = Field(..., description="Content of the invoke message")

JoinMessage

Bases: BaseMessage

Join message received from the server.

Source code in framewise_meet_client/models/inbound.py
124
125
126
127
128
class JoinMessage(BaseMessage):
    """Join message received from the server."""

    type: Literal["on_join"] = "on_join"
    content: JoinEvent = Field(..., description="Content of the join message")

ExitMessage

Bases: BaseMessage

Exit message received from the server.

Source code in framewise_meet_client/models/inbound.py
131
132
133
134
135
class ExitMessage(BaseMessage):
    """Exit message received from the server."""

    type: Literal["on_exit"] = "on_exit"
    content: ExitEvent = Field(..., description="Content of the exit message")

MCQSelectionMessage

Bases: BaseMessage

MCQ selection message received from the server.

Source code in framewise_meet_client/models/inbound.py
138
139
140
141
142
143
144
class MCQSelectionMessage(BaseMessage):
    """MCQ selection message received from the server."""

    type: Literal["mcq_selection"] = "mcq_selection"
    content: MCQSelectionEvent = Field(
        ..., description="Content of the MCQ selection message"
    )

CustomUIMessage

Bases: BaseMessage

Custom UI message received from the server.

Source code in framewise_meet_client/models/inbound.py
147
148
149
150
151
class CustomUIMessage(BaseMessage):
    """Custom UI message received from the server."""

    type: Literal["custom_ui"] = "custom_ui"
    content: CustomUIEvent = Field(..., description="Content of the custom UI message")

ConnectionRejectedMessage

Bases: BaseModel

Connection rejected message received from the server.

Source code in framewise_meet_client/models/inbound.py
154
155
156
157
158
159
160
class ConnectionRejectedMessage(BaseModel):
    """Connection rejected message received from the server."""

    type: Literal["connection_rejected"] = "connection_rejected"
    content: ConnectionRejectedEvent = Field(
        ..., description="Content of the connection rejected message"
    )