Spaces:
Running
Running
| 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<NotebookChatSession[]>( | |
| `/chat/sessions`, | |
| { params: { notebook_id: notebookId } } | |
| ) | |
| return response.data | |
| }, | |
| createSession: async (data: CreateNotebookChatSessionRequest) => { | |
| const response = await apiClient.post<NotebookChatSession>( | |
| `/chat/sessions`, | |
| data | |
| ) | |
| return response.data | |
| }, | |
| getSession: async (sessionId: string) => { | |
| const response = await apiClient.get<NotebookChatSessionWithMessages>( | |
| `/chat/sessions/${sessionId}` | |
| ) | |
| return response.data | |
| }, | |
| updateSession: async (sessionId: string, data: UpdateNotebookChatSessionRequest) => { | |
| const response = await apiClient.put<NotebookChatSession>( | |
| `/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<BuildContextResponse>( | |
| `/chat/context`, | |
| data | |
| ) | |
| return response.data | |
| }, | |
| } | |
| export default chatApi | |