Files
2026-06-22 08:55:57 +08:00

20 lines
985 B
SQL

-- 回合完成检测:per-turn 审计记录 + session 上记录最后一次 stop reason。
-- last_stop_reason 不加 CHECK:agent 可能返回 vendor-specific 值,由 Go 层归一化但原值落库。
ALTER TABLE acp_sessions ADD COLUMN last_stop_reason TEXT;
CREATE TABLE acp_turns (
id BIGSERIAL PRIMARY KEY,
session_id UUID NOT NULL REFERENCES acp_sessions(id) ON DELETE CASCADE,
turn_index INT NOT NULL,
prompt_request_id TEXT,
status TEXT NOT NULL,
stop_reason TEXT,
update_count INT NOT NULL DEFAULT 0,
started_at TIMESTAMPTZ NOT NULL DEFAULT now(),
completed_at TIMESTAMPTZ,
CONSTRAINT acp_turns_status_check CHECK (status IN ('in_progress','completed','aborted')),
CONSTRAINT acp_turns_session_index_unique UNIQUE (session_id, turn_index)
);
CREATE INDEX idx_acp_turns_session ON acp_turns(session_id, turn_index);
CREATE INDEX idx_acp_turns_created ON acp_turns(started_at);