diff --git a/db/migrations/versions/20250604_162113_observation_session_as_string.py b/db/migrations/versions/20250604_162113_observation_session_as_string.py new file mode 100644 index 0000000..bf35ff6 --- /dev/null +++ b/db/migrations/versions/20250604_162113_observation_session_as_string.py @@ -0,0 +1,39 @@ +"""observation session as string + +Revision ID: 58439dd3088b +Revises: 77cdbfc882e2 +Create Date: 2025-06-04 16:21:13.610668 + +""" + +from typing import Sequence, Union + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision: str = "58439dd3088b" +down_revision: Union[str, None] = "77cdbfc882e2" +branch_labels: Union[str, Sequence[str], None] = None +depends_on: Union[str, Sequence[str], None] = None + + +def upgrade() -> None: + op.alter_column( + "agent_observation", + "session_id", + existing_type=sa.UUID(), + type_=sa.Text(), + existing_nullable=True, + ) + + +def downgrade() -> None: + op.alter_column( + "agent_observation", + "session_id", + existing_type=sa.Text(), + type_=sa.UUID(), + existing_nullable=True, + ) diff --git a/src/memory/common/db/models/source_items.py b/src/memory/common/db/models/source_items.py index f5a5d5a..cd77453 100644 --- a/src/memory/common/db/models/source_items.py +++ b/src/memory/common/db/models/source_items.py @@ -564,9 +564,7 @@ class AgentObservation(SourceItem): id = Column( BigInteger, ForeignKey("source_item.id", ondelete="CASCADE"), primary_key=True ) - session_id = Column( - UUID(as_uuid=True) - ) # Groups observations from same conversation + session_id = Column(Text, nullable=True) observation_type = Column( Text, nullable=False ) # belief, preference, pattern, contradiction, behavior