-- Workspace assets: local archive for creative outputs from Picture Agent, -- ComfyUI Agent, Video Agent and ComfyUI workspaces. CREATE TABLE IF NOT EXISTS workspace_assets ( id BIGSERIAL PRIMARY KEY, public_id TEXT NOT NULL UNIQUE, user_id BIGINT, source TEXT NOT NULL, kind TEXT NOT NULL, title TEXT, prompt TEXT, model TEXT, status TEXT NOT NULL DEFAULT 'completed', mime_type TEXT, file_name TEXT, file_path TEXT, remote_url TEXT, thumbnail_path TEXT, size_bytes BIGINT NOT NULL DEFAULT 0, metadata TEXT NOT NULL DEFAULT '{}', created_at TEXT NOT NULL DEFAULT (CURRENT_TIMESTAMP::TEXT), updated_at TEXT NOT NULL DEFAULT (CURRENT_TIMESTAMP::TEXT), deleted_at TEXT, FOREIGN KEY(user_id) REFERENCES users(id) ON DELETE SET NULL ); CREATE INDEX IF NOT EXISTS idx_workspace_assets_user_created ON workspace_assets(user_id, created_at DESC); CREATE INDEX IF NOT EXISTS idx_workspace_assets_source_created ON workspace_assets(source, created_at DESC); CREATE INDEX IF NOT EXISTS idx_workspace_assets_kind_created ON workspace_assets(kind, created_at DESC); CREATE INDEX IF NOT EXISTS idx_workspace_assets_deleted ON workspace_assets(deleted_at);