mirror of
https://github.com/cpacker/MemGPT.git
synced 2025-06-03 04:30:22 +00:00
32 lines
1.5 KiB
Python
32 lines
1.5 KiB
Python
from datetime import datetime
|
|
from typing import Optional
|
|
|
|
from pydantic import Field
|
|
|
|
from letta.schemas.letta_base import LettaBase
|
|
|
|
|
|
class FileMetadataBase(LettaBase):
|
|
"""Base class for FileMetadata schemas"""
|
|
|
|
__id_prefix__ = "file"
|
|
|
|
|
|
class FileMetadata(FileMetadataBase):
|
|
"""Representation of a single FileMetadata"""
|
|
|
|
id: str = FileMetadataBase.generate_id_field()
|
|
organization_id: Optional[str] = Field(None, description="The unique identifier of the organization associated with the document.")
|
|
source_id: str = Field(..., description="The unique identifier of the source associated with the document.")
|
|
file_name: Optional[str] = Field(None, description="The name of the file.")
|
|
file_path: Optional[str] = Field(None, description="The path to the file.")
|
|
file_type: Optional[str] = Field(None, description="The type of the file (MIME type).")
|
|
file_size: Optional[int] = Field(None, description="The size of the file in bytes.")
|
|
file_creation_date: Optional[str] = Field(None, description="The creation date of the file.")
|
|
file_last_modified_date: Optional[str] = Field(None, description="The last modified date of the file.")
|
|
|
|
# orm metadata, optional fields
|
|
created_at: Optional[datetime] = Field(default_factory=datetime.utcnow, description="The creation date of the file.")
|
|
updated_at: Optional[datetime] = Field(default_factory=datetime.utcnow, description="The update date of the file.")
|
|
is_deleted: bool = Field(False, description="Whether this file is deleted or not.")
|