You've already forked agentic-coding-workflow
40 lines
1.3 KiB
SQL
40 lines
1.3 KiB
SQL
-- name: InsertTurn :one
|
|
INSERT INTO acp_turns (
|
|
session_id, turn_index, prompt_request_id, status
|
|
) VALUES ($1, $2, $3, $4)
|
|
RETURNING id, session_id, turn_index, prompt_request_id, status,
|
|
stop_reason, update_count, started_at, completed_at;
|
|
|
|
-- name: MarkTurnCompleted :exec
|
|
UPDATE acp_turns
|
|
SET status = 'completed', stop_reason = $3, update_count = $4, completed_at = now()
|
|
WHERE session_id = $1 AND turn_index = $2 AND status = 'in_progress';
|
|
|
|
-- name: MarkTurnAborted :exec
|
|
UPDATE acp_turns
|
|
SET status = 'aborted', completed_at = now()
|
|
WHERE session_id = $1 AND turn_index = $2 AND status = 'in_progress';
|
|
|
|
-- name: IncrementTurnUpdateCount :exec
|
|
UPDATE acp_turns
|
|
SET update_count = update_count + 1
|
|
WHERE session_id = $1 AND turn_index = $2 AND status = 'in_progress';
|
|
|
|
-- name: GetLatestTurnBySession :one
|
|
SELECT id, session_id, turn_index, prompt_request_id, status,
|
|
stop_reason, update_count, started_at, completed_at
|
|
FROM acp_turns
|
|
WHERE session_id = $1
|
|
ORDER BY turn_index DESC
|
|
LIMIT 1;
|
|
|
|
-- name: ListTurnsBySession :many
|
|
SELECT id, session_id, turn_index, prompt_request_id, status,
|
|
stop_reason, update_count, started_at, completed_at
|
|
FROM acp_turns
|
|
WHERE session_id = $1
|
|
ORDER BY turn_index ASC;
|
|
|
|
-- name: PurgeTurnsBefore :execrows
|
|
DELETE FROM acp_turns WHERE started_at < $1;
|