import apiClient from './client' import { NotebookChatSession, NotebookChatSessionWithMessages, CreateNotebookChatSessionRequest, UpdateNotebookChatSessionRequest, SendNotebookChatMessageRequest, NotebookChatMessage, BuildContextRequest, BuildContextResponse, } from '@/lib/types/api' export const chatApi = { // Session management listSessions: async (notebookId: string) => { const response = await apiClient.get( `/chat/sessions`, { params: { notebook_id: notebookId } } ) return response.data }, createSession: async (data: CreateNotebookChatSessionRequest) => { const response = await apiClient.post( `/chat/sessions`, data ) return response.data }, getSession: async (sessionId: string) => { const response = await apiClient.get( `/chat/sessions/${sessionId}` ) return response.data }, updateSession: async (sessionId: string, data: UpdateNotebookChatSessionRequest) => { const response = await apiClient.put( `/chat/sessions/${sessionId}`, data ) return response.data }, deleteSession: async (sessionId: string) => { await apiClient.delete(`/chat/sessions/${sessionId}`) }, // Messaging (synchronous, no streaming) sendMessage: async (data: SendNotebookChatMessageRequest) => { const response = await apiClient.post<{ session_id: string messages: NotebookChatMessage[] }>( `/chat/execute`, data ) return response.data }, buildContext: async (data: BuildContextRequest) => { const response = await apiClient.post( `/chat/context`, data ) return response.data }, } export default chatApi