Files
Agent-System/web/src/api/chatTurn.ts
T
weichenandCursor 47984f4863 fix(frontend): gate data fetches until session validated and improve workflow UX
Prevent login-page 401 noise by deferring project/chat API calls until auth is confirmed, use public-config for registration policy, and add client-side duty assignment checks before saving workflow plans.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-13 02:50:23 +00:00

33 lines
977 B
TypeScript

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<ChatTurnStatus | null> {
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,
};
}