feat(odin): conversation query options
This commit is contained in:
@@ -32,6 +32,34 @@ export const aiUsageOptions = () =>
|
|||||||
staleTime: 30_000,
|
staleTime: 30_000,
|
||||||
});
|
});
|
||||||
|
|
||||||
|
export interface Conversation {
|
||||||
|
id: number;
|
||||||
|
title: string;
|
||||||
|
updated_at: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export const aiConversationsOptions = () =>
|
||||||
|
queryOptions({
|
||||||
|
queryKey: ["ai", "conversations"],
|
||||||
|
queryFn: () =>
|
||||||
|
jsonQuery<{ conversations: Conversation[] }>(
|
||||||
|
"/api/admin/ai/conversations",
|
||||||
|
),
|
||||||
|
staleTime: 30_000,
|
||||||
|
});
|
||||||
|
|
||||||
|
export const aiConversationMessagesOptions = (id: number) =>
|
||||||
|
queryOptions({
|
||||||
|
queryKey: ["ai", "conversation", id, "messages"],
|
||||||
|
queryFn: () =>
|
||||||
|
jsonQuery<{ messages: StoredChatMessage[] }>(
|
||||||
|
`/api/admin/ai/conversations/${id}/messages`,
|
||||||
|
),
|
||||||
|
// Re-read the DB on each mount/selection (no stale-cache resurrection).
|
||||||
|
staleTime: Infinity,
|
||||||
|
gcTime: 0,
|
||||||
|
});
|
||||||
|
|
||||||
export const aiHistoryOptions = () =>
|
export const aiHistoryOptions = () =>
|
||||||
queryOptions({
|
queryOptions({
|
||||||
queryKey: ["ai", "history"],
|
queryKey: ["ai", "history"],
|
||||||
|
|||||||
Reference in New Issue
Block a user