@@ -147,6 +147,32 @@ def add_model_token_usage(self, model_token_usage: TokenUsageByModel) -> None:
147147 self .token_usage += model_token_usage .token_usage
148148
149149
150+ class Alert (pydantic .BaseModel ):
151+ """
152+ Represents an alert.
153+ """
154+
155+ @staticmethod
156+ def from_db_model (db_model : db_models .Alert ) -> "Alert" :
157+ return Alert (
158+ id = db_model .id ,
159+ prompt_id = db_model .prompt_id ,
160+ code_snippet = db_model .code_snippet ,
161+ trigger_string = db_model .trigger_string ,
162+ trigger_type = db_model .trigger_type ,
163+ trigger_category = db_model .trigger_category ,
164+ timestamp = db_model .timestamp ,
165+ )
166+
167+ id : str
168+ prompt_id : str
169+ code_snippet : Optional [CodeSnippet ]
170+ trigger_string : Optional [Union [str , dict ]]
171+ trigger_type : str
172+ trigger_category : Optional [str ]
173+ timestamp : datetime .datetime
174+
175+
150176class PartialQuestionAnswer (pydantic .BaseModel ):
151177 """
152178 Represents a partial conversation.
@@ -155,6 +181,7 @@ class PartialQuestionAnswer(pydantic.BaseModel):
155181 partial_questions : PartialQuestions
156182 answer : Optional [ChatMessage ]
157183 model_token_usage : TokenUsageByModel
184+ alerts : List [Alert ] = []
158185
159186
160187class Conversation (pydantic .BaseModel ):
@@ -168,6 +195,7 @@ class Conversation(pydantic.BaseModel):
168195 chat_id : str
169196 conversation_timestamp : datetime .datetime
170197 token_usage_agg : Optional [TokenUsageAggregate ]
198+ alerts : List [Alert ] = []
171199
172200
173201class AlertConversation (pydantic .BaseModel ):
@@ -210,7 +238,7 @@ class ProviderEndpoint(pydantic.BaseModel):
210238 description : str = ""
211239 provider_type : db_models .ProviderType
212240 endpoint : str = "" # Some providers have defaults we can leverage
213- auth_type : Optional [ ProviderAuthType ] = ProviderAuthType .none
241+ auth_type : ProviderAuthType = ProviderAuthType .none
214242
215243 @staticmethod
216244 def from_db_model (db_model : db_models .ProviderEndpoint ) -> "ProviderEndpoint" :
0 commit comments