Coverage for fastagency/ui/mesop/data_model.py: 100%

30 statements  

« prev     ^ index     » next       coverage.py v7.8.0, created at 2025-04-19 12:16 +0000

1from dataclasses import dataclass, field 1abc

2from typing import Optional 1abc

3 

4import mesop as me 1abc

5 

6 

7@dataclass 1abc

8class ConversationMessage: 1abc

9 io_message_json: str = "" 1abc

10 level: int = 0 1abc

11 conversation_id: str = "" 1abc

12 feedback: list[str] = field(default_factory=list) 1abc

13 feedback_completed: bool = False 1abc

14 

15 

16@dataclass 1abc

17class Conversation: 1abc

18 id: str = "" 1abc

19 title: str = "" 1abc

20 completed: bool = False 1abc

21 waiting_for_feedback: bool = False 1abc

22 feedback: str = "" 1abc

23 is_from_the_past: bool = False 1abc

24 messages: list[ConversationMessage] = field(default_factory=list) 1abc

25 fastagency: Optional[str] = None 1abc

26 

27 

28@me.stateclass 1abc

29class State: 1abc

30 in_conversation: bool = False # True when in active conversation, or past one. 1abc

31 prompt_input: str = "" 1abc

32 prompt_output: str = "" 1abc

33 conversation: Conversation 1abc

34 past_conversations: list[Conversation] = field(default_factory=list) 1abc

35 hide_past: bool = True 1abc

36 available_workflows: list[str] = field(default_factory=list) 1abc

37 available_workflows_initialized = False 1abc

38 available_workflows_exception = False 1abc

39 authenticated_user: Optional[str] = None 1abc

40 auth_error: Optional[str] = None 1abc