Skip to content

init

Import all models and associations here so that SQLAlchemy can register them all by just importing .models.

__all__ = ['AssistantRunModel', 'ClassChunk', 'CodeFileChunks', 'CondenseSettingsModel', 'ContextSettingsModel', 'ConversationMetadataModel', 'DecoratorChunk', 'FunctionCall', 'FunctionChunk', 'FunctionResponse', 'GeneralTextChunksModel', 'GithubMetadataModel', 'ImportChunk', 'LLMSettingsModel', 'LanggraphSettingsModel', 'MessageModel', 'Model', 'OptionsModel', 'ParsedCodeFileModel', 'ParsedTextFileModel', 'PersonalitySettingsModel', 'PurchaseModel', 'Usage', 'User'] module-attribute

AssistantRunModel

Bases: CrudMixin, ModelWithSchema

__tablename__ = 'assistant_runs' class-attribute instance-attribute

assistant_name instance-attribute

assistant_type = mapped_column(Enum(ConfigType)) class-attribute instance-attribute

assistant_user_id instance-attribute

assistant_version instance-attribute

conversation = relationship(secondary='conversation_assistant_run_association', back_populates='assistant_runs', lazy='raise') class-attribute instance-attribute

conversation_pending = relationship(secondary='conversation_pending_assistant_run_association', back_populates='pending_assistant_runs', lazy='raise') class-attribute instance-attribute

conversation_uid instance-attribute

conversation_version instance-attribute

created_at = mapped_column(DateType) class-attribute instance-attribute

current_step instance-attribute

error_message = mapped_column(Text) class-attribute instance-attribute

finished_at = mapped_column(DateType) class-attribute instance-attribute

new_messages = relationship(lazy='selectin', order_by=MessageModel.assistant_run_position, collection_class=ordering_list('assistant_run_position')) class-attribute instance-attribute

partial_info = relationship('PartialInfoModel', uselist=False, lazy='selectin', cascade='all, delete-orphan', back_populates='assistant_run') class-attribute instance-attribute

previous_thread_uid instance-attribute

run_index instance-attribute

status = mapped_column(Enum(AssistantRunStatuses)) class-attribute instance-attribute

thread_uid 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()

ClassChunk

Bases: DatabaseSchemaMixin, SchemaBase

decorators instance-attribute

docstring instance-attribute

full_content instance-attribute

init instance-attribute

iterate_nested_schemas = True class-attribute

line_numbers instance-attribute

methods instance-attribute

name instance-attribute

new_instance_on_change = False class-attribute

signature instance-attribute

superclasses instance-attribute

as_artifact()

as_content()

CodeFileChunks

Bases: DatabaseSchemaMixin, SchemaBase

classes instance-attribute

full_content instance-attribute

functions instance-attribute

imports instance-attribute

iterate_nested_schemas = True class-attribute

language instance-attribute

new_instance_on_change = False class-attribute

num_lines instance-attribute

CondenseSettingsModel

Bases: ConfigModelBase

schema_class = CondenseSettingsSchema class-attribute

ContextSettingsModel

Bases: ConfigModelBase

schema_class = ContextSettingsSchema class-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()

DecoratorChunk

Bases: DatabaseSchemaMixin, SchemaBase

args instance-attribute

name instance-attribute

new_instance_on_change = False class-attribute

FunctionCall

Bases: ModelWithSchema

__tablename__ = 'function_calls' class-attribute instance-attribute

arguments = mapped_column(JSON) class-attribute instance-attribute

call_id = mapped_column(String(50)) class-attribute instance-attribute

id = mapped_column(primary_key=True) class-attribute instance-attribute

index instance-attribute

message = relationship('MessageModel', back_populates='function_calls') class-attribute instance-attribute

message_id = mapped_column(ForeignKey('messages.id')) class-attribute instance-attribute

name = mapped_column(String(100)) class-attribute instance-attribute

__admin_repr__(request)

model_from_schema(schema) classmethod

to_schema()

FunctionChunk

Bases: DatabaseSchemaMixin, SchemaBase

code_body instance-attribute

decorators instance-attribute

docstring instance-attribute

full_content instance-attribute

iterate_nested_schemas = True class-attribute

line_numbers instance-attribute

name instance-attribute

new_instance_on_change = False class-attribute

return_type instance-attribute

signature instance-attribute

as_artifact()

as_content()

FunctionResponse

Bases: ModelWithSchema

__tablename__ = 'function_responses' class-attribute instance-attribute

artifact_as_str = mapped_column(sqlalchemy.TEXT) class-attribute instance-attribute

artifact_pk_id instance-attribute

artifact_tablename instance-attribute

call_id = mapped_column(String(50)) class-attribute instance-attribute

id = mapped_column(primary_key=True) class-attribute instance-attribute

message = relationship('MessageModel', back_populates='function_response') class-attribute instance-attribute

message_id = mapped_column(ForeignKey('messages.id')) class-attribute instance-attribute

name = mapped_column(String(100)) class-attribute instance-attribute

__admin_repr__(request)

model_from_schema(schema) classmethod

to_schema()

GeneralTextChunksModel

Bases: CrudMixin, ModelWithSchema

__tablename__ = 'general_text_chunks' class-attribute instance-attribute

chunk_texts = mapped_column(StrArrayType) class-attribute instance-attribute

chunks property

lang_used instance-attribute

start_indexes = mapped_column(IntArrayType) class-attribute instance-attribute

fully_load_model_options() classmethod

model_from_schema(schema) classmethod

to_schema()

GithubMetadataModel

Bases: CrudMixin, ModelWithSchema

__tablename__ = 'github_metadatas' class-attribute instance-attribute

branch = mapped_column(index=True) class-attribute instance-attribute

node_id = mapped_column(index=True) class-attribute instance-attribute

owner = mapped_column(index=True) class-attribute instance-attribute

parsed_code_file = relationship('ParsedCodeFileModel', back_populates='github_metadata', single_parent=True, uselist=False, lazy='selectin') class-attribute instance-attribute

parsed_text_file = relationship('ParsedTextFileModel', back_populates='github_metadata', single_parent=True, uselist=False, lazy='selectin') class-attribute instance-attribute

path = mapped_column(index=True) class-attribute instance-attribute

repo = mapped_column(index=True) class-attribute instance-attribute

size_bytes instance-attribute

fully_load_model_options() classmethod

model_from_schema(schema) classmethod

to_schema()

ImportChunk

Bases: DatabaseSchemaMixin, SchemaBase

aliased_name instance-attribute

full_content instance-attribute

import_path instance-attribute

is_relative instance-attribute

line_numbers instance-attribute

name instance-attribute

new_instance_on_change = False class-attribute

relative_levels instance-attribute

as_artifact()

as_content()

LLMSettingsModel

Bases: ConfigModelBase

schema_class = LLMSettingsSchema class-attribute

LanggraphSettingsModel

Bases: ConfigModelBase

schema_class = LanggraphSettingsSchema class-attribute

MessageModel

Bases: ModelWithSchema

__tablename__ = 'messages' class-attribute instance-attribute

assistant_run_id = mapped_column(ForeignKey('assistant_runs.id')) class-attribute instance-attribute

assistant_run_position instance-attribute

content instance-attribute

conversation_position instance-attribute

conversations = relationship(secondary='conversation_message_association', back_populates='message_history') class-attribute instance-attribute

created_at = mapped_column(DateType) class-attribute instance-attribute

function_calls = relationship(back_populates='message', lazy='selectin') class-attribute instance-attribute

function_response = relationship(back_populates='message', lazy='selectin') class-attribute instance-attribute

id = mapped_column(primary_key=True) class-attribute instance-attribute

lc_id = mapped_column(String(50)) class-attribute instance-attribute

role instance-attribute

sub_assistant_data_id = mapped_column(ForeignKey('sub_assistant_datas.id')) class-attribute instance-attribute

uid = mapped_column(index=True, default=uuid.uuid4, unique=True) class-attribute instance-attribute

__admin_repr__(request)

__repr__()

model_from_schema(schema) classmethod

to_schema()

Convert to the schema.

Model

Bases: AsyncAttrs, DeclarativeBase

All models should inherit from this Model base (or a subclass of it).

__abstract__ = True class-attribute instance-attribute

OptionsModel

Bases: ConfigModelBase

Model equivalent of the OptionsSchema.

For storing the options that affect chat requests (e.g. when to condense messages, what to add to system prompt, etc.).

If the Options are a named set of options (e.g. a preset or user-defined set of options), then updating them will result in updated options for all chats that use them. This is possibly undesirable in some circumstances, but in general it is probably preferable (i.e. updates to options are likely to be positive even retroactively).

Unnamed options (e.g. modifications from default without saving under a name) are stored uniquely so that they will not change retroactively.

schema_class = OptionsSchema class-attribute

uid = mapped_column(unique=True, index=True, default=lambda: uuid.uuid4()) class-attribute instance-attribute

ParsedCodeFileModel

Bases: CrudMixin, ModelWithSchema

__tablename__ = 'parsed_code_files' class-attribute instance-attribute

clerk_owner instance-attribute

code_file_chunks = relationship('CodeFileChunksModel', lazy='raise', cascade='all') class-attribute instance-attribute

code_file_chunks_fk = mapped_column(ForeignKey('code_file_chunks.id')) class-attribute instance-attribute

full_content instance-attribute

github_metadata = relationship('GithubMetadataModel', lazy='selectin', back_populates='parsed_code_file', cascade='all') class-attribute instance-attribute

github_metadata_fk = mapped_column(ForeignKey('github_metadatas.id')) class-attribute instance-attribute

fully_load_model_options() classmethod

model_from_schema(schema) classmethod

to_schema()

ParsedTextFileModel

Bases: CrudMixin, ModelWithSchema

__tablename__ = 'parsed_text_files' class-attribute instance-attribute

clerk_owner instance-attribute

full_content instance-attribute

general_text_chunks = relationship('GeneralTextChunksModel', lazy='raise', cascade='all') class-attribute instance-attribute

general_text_chunks_fk = mapped_column(ForeignKey('general_text_chunks.id')) class-attribute instance-attribute

github_metadata = relationship('GithubMetadataModel', lazy='selectin', back_populates='parsed_text_file', cascade='all') class-attribute instance-attribute

github_metadata_fk = mapped_column(ForeignKey('github_metadatas.id')) class-attribute instance-attribute

fully_load_model_options() classmethod

model_from_schema(schema) classmethod

to_schema()

PersonalitySettingsModel

Bases: ConfigModelBase

schema_class = PersonalitySettingsSchema class-attribute

PurchaseModel

Bases: ModelWithSchema

__tablename__ = 'purchases' class-attribute instance-attribute

checkout_uid = mapped_column(index=True) class-attribute instance-attribute

currency = mapped_column(String(3), default=None) class-attribute instance-attribute

dollar_amount = mapped_column(default=None) class-attribute instance-attribute

id = mapped_column(primary_key=True) class-attribute instance-attribute

order_complete = mapped_column(default=False, server_default=sqla.false()) class-attribute instance-attribute

payment_complete = mapped_column(default=False, server_default=sqla.false()) class-attribute instance-attribute

raw_amount = mapped_column(default=None) class-attribute instance-attribute

Three-letter ISO currency code, in lowercase. Must be a supported currency.

stripe_item_id instance-attribute

user = relationship(back_populates='purchases') class-attribute instance-attribute

user_id = mapped_column(ForeignKey('users.id')) class-attribute instance-attribute

init_with_checkout(stripe_item_id, checkout_uid) classmethod

model_from_schema(schema, user) classmethod

to_schema()

update_from_stripe_webhook(credit_item)

Usage

Bases: ModelWithSchema

__tablename__ = 'usages' class-attribute instance-attribute

completion_tokens instance-attribute

conversation_id = mapped_column(ForeignKey('conversation_metadatas.id')) class-attribute instance-attribute

id = mapped_column(primary_key=True) class-attribute instance-attribute

prompt_tokens instance-attribute

total_cost instance-attribute

total_tokens instance-attribute

__repr__()

model_from_schema(schema) classmethod

to_schema()

to_text()

User

Bases: VersionedMixin, ModelWithSchema

__tablename__ = 'users' class-attribute instance-attribute

clerk_id = mapped_column(String(32), unique=True, index=True) class-attribute instance-attribute

conversations = relationship(back_populates='user', lazy='raise', order_by='desc(ConversationMetadataModel.created_at)') class-attribute instance-attribute

credits instance-attribute

email = mapped_column(String(320), unique=True, index=True) class-attribute instance-attribute

first_name = mapped_column(String(64)) class-attribute instance-attribute

github_api_key = mapped_column(String(100), nullable=True) class-attribute instance-attribute

id = mapped_column(primary_key=True) class-attribute instance-attribute

last_name = mapped_column(String(64)) class-attribute instance-attribute

purchases = relationship(back_populates='user', lazy='raise') class-attribute instance-attribute

roles = mapped_column(UserRolesType) class-attribute instance-attribute

schema_class = UserSchema class-attribute

__admin_repr__(request)

__repr__()

model_from_schema(schema) classmethod

to_schema()