Skip to content

models

framewise_meet_client.models

Models for the Framewise Meet client.

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"
    )

InboundCustomUIMessage

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"
    )

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")

BaseResponse

Bases: BaseModel

Base class for all responses sent to the server.

Source code in framewise_meet_client/models/outbound.py
10
11
12
13
14
15
class BaseResponse(BaseModel):
    """Base class for all responses sent to the server."""

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

GeneratedTextMessage

Bases: BaseResponse

Response with generated text.

Source code in framewise_meet_client/models/outbound.py
 98
 99
100
101
102
103
104
class GeneratedTextMessage(BaseResponse):
    """Response with generated text."""

    type: Literal["generated_text"] = "generated_text"
    content: GeneratedTextContent = Field(
        ..., description="Content of the generated text"
    )

MCQMessage

Bases: BaseResponse

Response with a multiple-choice question.

Source code in framewise_meet_client/models/outbound.py
107
108
109
110
111
class MCQMessage(BaseResponse):
    """Response with a multiple-choice question."""

    type: Literal["mcq"] = "mcq"
    content: MCQContent = Field(..., description="Content of the MCQ")

OutboundCustomUIMessage

Bases: BaseResponse

Response with custom UI elements.

Source code in framewise_meet_client/models/outbound.py
114
115
116
117
118
class CustomUIMessage(BaseResponse):
    """Response with custom UI elements."""

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

CustomUIElementMessage

Bases: BaseResponse

Message for sending a custom UI element.

Source code in framewise_meet_client/models/outbound.py
165
166
167
168
169
170
171
class CustomUIElementMessage(BaseResponse):
    """Message for sending a custom UI element."""

    type: Literal["custom_ui_element"] = "custom_ui_element"
    content: Union[MCQQuestionElement, NotificationElement, CustomUIElement] = Field(
        ..., description="Custom UI element"
    )

ErrorResponse

Bases: BaseResponse

Error response.

Source code in framewise_meet_client/models/outbound.py
121
122
123
124
125
126
class ErrorResponse(BaseResponse):
    """Error response."""

    type: Literal["error"] = "error"
    error: str = Field(..., description="Error message")
    error_code: Optional[str] = Field(None, description="Error code")

GeneratedTextContent

Bases: BaseModel

Content for generated text response.

Source code in framewise_meet_client/models/outbound.py
73
74
75
76
77
78
79
class GeneratedTextContent(BaseModel):
    """Content for generated text response."""

    text: str = Field(..., description="Generated text")
    is_generation_end: bool = Field(
        False, description="Whether this is the end of generation"
    )

MCQContent

Bases: BaseModel

Content for MCQ response.

Source code in framewise_meet_client/models/outbound.py
82
83
84
85
86
87
class MCQContent(BaseModel):
    """Content for MCQ response."""

    question: MultipleChoiceQuestion = Field(
        ..., description="Multiple choice question"
    )

CustomUIContent

Bases: BaseModel

Content for custom UI response.

Source code in framewise_meet_client/models/outbound.py
90
91
92
93
94
95
class CustomUIContent(BaseModel):
    """Content for custom UI response."""

    elements: List[Union[CustomUIButtonElement, CustomUIInputElement]] = Field(
        ..., description="UI elements"
    )

MultipleChoiceQuestion

Bases: BaseModel

Multiple-choice question model.

Source code in framewise_meet_client/models/outbound.py
25
26
27
28
29
30
class MultipleChoiceQuestion(BaseModel):
    """Multiple-choice question model."""

    question_id: str = Field(..., description="Question identifier")
    question_text: str = Field(..., description="Question text")
    options: List[MCQOption] = Field(..., description="Available options")

MCQOption

Bases: BaseModel

Option for a multiple-choice question.

Source code in framewise_meet_client/models/outbound.py
18
19
20
21
22
class MCQOption(BaseModel):
    """Option for a multiple-choice question."""

    id: str = Field(..., description="Option identifier")
    text: str = Field(..., description="Option text")

ButtonElement

Bases: BaseModel

Button UI element model.

Source code in framewise_meet_client/models/outbound.py
33
34
35
36
37
38
39
40
class ButtonElement(BaseModel):
    """Button UI element model."""

    id: str = Field(..., description="Button identifier")
    text: str = Field(..., description="Button text")
    style: Optional[Dict[str, Any]] = Field(
        None, description="Optional styling information"
    )

InputElement

Bases: BaseModel

Input field UI element model.

Source code in framewise_meet_client/models/outbound.py
43
44
45
46
47
48
49
50
class InputElement(BaseModel):
    """Input field UI element model."""

    id: str = Field(..., description="Input identifier")
    label: str = Field(..., description="Input label")
    placeholder: Optional[str] = Field(None, description="Placeholder text")
    type: str = Field("text", description="Input type (text, number, etc.)")
    default_value: Optional[str] = Field(None, description="Default value")

CustomUIElement

Bases: BaseModel

Base class for custom UI elements.

Source code in framewise_meet_client/models/outbound.py
53
54
55
56
class CustomUIElement(BaseModel):
    """Base class for custom UI elements."""

    type: str = Field(..., description="Element type")

CustomUIButtonElement

Bases: CustomUIElement

Button UI element.

Source code in framewise_meet_client/models/outbound.py
59
60
61
62
63
class CustomUIButtonElement(CustomUIElement):
    """Button UI element."""

    type: Literal["button"] = "button"
    data: ButtonElement = Field(..., description="Button data")

CustomUIInputElement

Bases: CustomUIElement

Input field UI element.

Source code in framewise_meet_client/models/outbound.py
66
67
68
69
70
class CustomUIInputElement(CustomUIElement):
    """Input field UI element."""

    type: Literal["input"] = "input"
    data: InputElement = Field(..., description="Input data")

MCQQuestionData

Bases: BaseModel

Data for a multiple-choice question UI element.

Source code in framewise_meet_client/models/outbound.py
132
133
134
135
136
137
138
class MCQQuestionData(BaseModel):
    """Data for a multiple-choice question UI element."""

    id: str = Field(..., description="Question identifier")
    question: str = Field(..., description="Question text")
    options: List[str] = Field(..., description="List of option texts")
    image_path: Optional[str] = Field(None, description="Optional path to an image")

MCQQuestionElement

Bases: BaseModel

MCQ question UI element.

Source code in framewise_meet_client/models/outbound.py
141
142
143
144
145
class MCQQuestionElement(BaseModel):
    """MCQ question UI element."""

    type: Literal["mcq_question"] = "mcq_question"
    data: MCQQuestionData = Field(..., description="MCQ question data")

NotificationData

Bases: BaseModel

Data for a notification UI element.

Source code in framewise_meet_client/models/outbound.py
148
149
150
151
152
153
154
155
class NotificationData(BaseModel):
    """Data for a notification UI element."""

    message: str = Field(..., description="Notification message")
    level: str = Field(
        "info", description="Notification level (info, warning, error, success)"
    )
    duration: int = Field(8000, description="Duration in milliseconds")

NotificationElement

Bases: BaseModel

Notification UI element.

Source code in framewise_meet_client/models/outbound.py
158
159
160
161
162
class NotificationElement(BaseModel):
    """Notification UI element."""

    type: Literal["notification_element"] = "notification_element"
    data: NotificationData = Field(..., description="Notification data")