import apiClient from './client' import type { BranchTreeResponse, ForkCreateRequest, ForkPointResponse, BranchSwitchResponse, ReviveRequest, BranchMessageRequest, BranchMessageResponse, } from '@/types/branching' export const branchesApi = { async getBranches(sessionId: string): Promise { const response = await apiClient.get( `/ai-sessions/${sessionId}/branches` ) return response.data }, async createFork(sessionId: string, data: ForkCreateRequest): Promise { const response = await apiClient.post( `/ai-sessions/${sessionId}/branches/fork`, data ) return response.data }, async updateBranchStatus( sessionId: string, branchId: string, status: string, reason?: string ): Promise { await apiClient.patch( `/ai-sessions/${sessionId}/branches/${branchId}`, { status, status_reason: reason } ) }, async switchBranch(sessionId: string, branchId: string): Promise { const response = await apiClient.post( `/ai-sessions/${sessionId}/branches/${branchId}/switch` ) return response.data }, async reviveBranch(sessionId: string, branchId: string, data: ReviveRequest): Promise { await apiClient.post( `/ai-sessions/${sessionId}/branches/${branchId}/revive`, data ) }, async sendBranchMessage( sessionId: string, branchId: string, data: BranchMessageRequest ): Promise { const response = await apiClient.post( `/ai-sessions/${sessionId}/branches/${branchId}/message`, data ) return response.data }, } export default branchesApi