mirror of
https://github.com/langgenius/dify.git
synced 2026-05-30 05:37:48 +08:00
Q2 decision: unify the workflow-only ``workflow_agent_runtime_sessions`` into an owner-agnostic ``agent_runtime_sessions`` table serving both owners. Feature is unreleased, so the old table is dropped (no data migration). * ``AgentRuntimeSession`` model (table ``agent_runtime_sessions``) with an ``owner_type`` discriminator (workflow_run | conversation): workflow columns (workflow_id/run_id/node_id/binding_id/agent_config_snapshot_id/ composition_layer_specs) and ``conversation_id`` are mutually-exclusive, enforced by two partial unique indexes. Back-compat aliases ``WorkflowAgentRuntimeSession`` / ``WorkflowAgentRuntimeSessionStatus`` keep the shipped lifecycle path (PR #36724) unchanged; the workflow store now sets ``owner_type=workflow_run``. * New ``AgentAppRuntimeSessionStore`` (conversation-keyed) for the Agent App side of the same table: one conversation = one Agent session for multi-turn. * Migration 121e7346074d (drop old + create unified) — applies and downgrade/upgrade round-trips clean on Postgres. Tests: 6 new conversation-store ORM round-trip tests; 154 existing workflow lifecycle + agent_backend tests still green against the unified table. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>