import { getBearerAuthHeaders } from './authHeaders'; export type ChatTurnStatus = { sessionId: string; clientTurnId: string; status: string; userMessageId?: number; assistantMessageId?: number; attemptCount?: number; }; export async function fetchChatTurnStatus( sessionId: string, clientTurnId: string, signal?: AbortSignal, ): Promise { const url = `/api/v1/chat/turns/${encodeURIComponent(clientTurnId)}?session_id=${encodeURIComponent(sessionId)}`; const res = await fetch(url, { signal, headers: getBearerAuthHeaders() }); if (res.status === 404) return null; if (!res.ok) { throw new Error(`fetchChatTurnStatus failed: HTTP ${res.status}`); } const raw = await res.json(); return { sessionId: raw.session_id, clientTurnId: raw.client_turn_id, status: raw.status, userMessageId: raw.user_message_id, assistantMessageId: raw.assistant_message_id, attemptCount: raw.attempt_count, }; }