Conversation metadata
conversation_assistant_run_association_table = Table('conversation_assistant_run_association', Model.metadata, Column('conversation_id', ForeignKey('conversation_metadatas.id'), primary_key=True), Column('assistant_run_id', ForeignKey('assistant_runs.id'), primary_key=True))
module-attribute
conversation_message_association_table = Table('conversation_message_association', Model.metadata, Column('conversation_id', ForeignKey('conversation_metadatas.id'), primary_key=True), Column('message_id', ForeignKey('messages.id'), primary_key=True))
module-attribute
conversation_pending_assistant_run_association_table = Table('conversation_pending_assistant_run_association', Model.metadata, Column('conversation_id', ForeignKey('conversation_metadatas.id'), primary_key=True), Column('assistant_run_id', ForeignKey('assistant_runs.id'), primary_key=True))
module-attribute
conversation_sub_assistant_run_info_association_table = Table('conversation_sub_assistant_run_info_association', Model.metadata, Column('conversation_id', ForeignKey('conversation_metadatas.id'), primary_key=True), Column('sub_assistant_run_info_id', ForeignKey('sub_assistant_run_infos.id'), primary_key=True))
module-attribute
ConversationMetadataModel
Bases: CrudMixin, ModelWithSchema
Metadata for a conversation.
__table_args__ = (UniqueConstraint('conversation_uid', 'version', name='unique_conversation_uid_version'),)
class-attribute
instance-attribute
__tablename__ = 'conversation_metadatas'
class-attribute
instance-attribute
assistant_id = mapped_column(ForeignKey(f'{AssistantSchema.tablename()}.id'))
class-attribute
instance-attribute
assistant_runs = relationship(lazy='raise', secondary=conversation_assistant_run_association_table, order_by='asc(AssistantRunModel.created_at)')
class-attribute
instance-attribute
conversation_uid = mapped_column(index=True)
class-attribute
instance-attribute
created_at = mapped_column(DateType)
class-attribute
instance-attribute
default_assistant = relationship(lazy='raise')
class-attribute
instance-attribute
id = mapped_column(primary_key=True)
class-attribute
instance-attribute
last_updated_at = mapped_column(DateType)
class-attribute
instance-attribute
message_history = relationship(lazy='selectin', secondary=conversation_message_association_table, order_by=MessageModel.conversation_position, collection_class=ordering_list('conversation_position'))
class-attribute
instance-attribute
next_run_index
instance-attribute
pending_assistant_runs = relationship(lazy='raise', secondary=conversation_pending_assistant_run_association_table, order_by='asc(AssistantRunModel.created_at)')
class-attribute
instance-attribute
schema_class = ConversationMetadataSchema
class-attribute
instance-attribute
sub_assistant_run_info = relationship(lazy='raise', secondary=conversation_sub_assistant_run_info_association_table, uselist=False)
class-attribute
instance-attribute
title
instance-attribute
user = relationship(back_populates='conversations', lazy='raise')
class-attribute
instance-attribute
user_id = mapped_column(ForeignKey('users.id'))
class-attribute
instance-attribute
fully_load_model_options()
classmethod
model_from_schema(schema)
classmethod
to_schema()
SubAssistantDataModel
Bases: CrudMixin, ModelWithSchema
Data for sub-assistants.
__tablename__ = 'sub_assistant_datas'
class-attribute
instance-attribute
all_messages = relationship(lazy='selectin')
class-attribute
instance-attribute
earlier_conv_summary
instance-attribute
schema_class = SubAssistantData
class-attribute
instance-attribute
sub_assistant_name
instance-attribute
sub_assistant_run_info_id = mapped_column(ForeignKey('sub_assistant_run_infos.id'))
class-attribute
instance-attribute
sub_assistant_type
instance-attribute
sub_assistant_user_id
instance-attribute
uid = mapped_column()
class-attribute
instance-attribute
fully_load_model_options()
classmethod
model_from_schema(schema)
classmethod
to_schema()
SubAssistantRunInfoModel
Bases: CrudMixin, ModelWithSchema
Info/Data from sub-assistant runs that should persist between runs.
__tablename__ = 'sub_assistant_run_infos'
class-attribute
instance-attribute
schema_class = SubAssistantRunInfo
class-attribute
instance-attribute
sub_assistant_datas = relationship(lazy='selectin')
class-attribute
instance-attribute
fully_load_model_options()
classmethod
model_from_schema(schema)
classmethod
to_schema()
check_assistant_runs(assistant_runs, allow_not_loaded=False)
check_assistant_runs(
assistant_runs: Any, allow_not_loaded: Literal[False]
) -> TypeGuard[list[AssistantRunSchema]]
check_assistant_runs(
assistant_runs: Any, allow_not_loaded: Literal[True]
) -> TypeGuard[list[AssistantRunSchema] | NotLoaded]
check_messages(messages, allow_not_loaded=False)
check_messages(
messages: Any, allow_not_loaded: Literal[False]
) -> TypeGuard[list[MessageSchema]]
check_messages(
messages: Any, allow_not_loaded: Literal[True]
) -> TypeGuard[list[MessageSchema] | NotLoaded]