"""replace vision focus with explicit prompt modes Revision ID: 20260812_0020 Revises: 20260812_0019 """ from collections.abc import Sequence from alembic import op import sqlalchemy as sa revision: str = "20260812_0020" down_revision: str | Sequence[str] | None = "20260812_0019" branch_labels: str | Sequence[str] | None = None depends_on: str | Sequence[str] | None = None def upgrade() -> None: op.alter_column( "assistants", "vision_focus_prompt", new_column_name="vision_prompt", ) op.add_column( "assistants", sa.Column( "vision_prompt_mode", sa.String(length=16), server_default="runtime", nullable=False, ), ) # The previous single-field implementation behaved most like guided mode. op.execute( "UPDATE assistants SET vision_prompt_mode = 'guided' " "WHERE TRIM(vision_prompt) <> ''" ) def downgrade() -> None: op.drop_column("assistants", "vision_prompt_mode") op.alter_column( "assistants", "vision_prompt", new_column_name="vision_focus_prompt", )