import BaseAgentService from '../BaseAgentService'; import { DOCUMENTATION_UPLOAD_BATCH, DOCUMENTATION_BATCH, DOCUMENTATION_LIST, DOCUMENTATION_DELETE, DOCUMENTATION_TEXT_ENTRY, } from './knowledge-base.routes'; import type { BatchUploadResponse, BatchStatus, BatchPreview, DocumentList, TextEntryRequest, TextEntryResponse, } from './knowledge-base.interface'; export const uploadBatch = async ( formData: FormData ): Promise<{ data: BatchUploadResponse }> => { return await BaseAgentService.post(DOCUMENTATION_UPLOAD_BATCH, formData); }; export const getBatchStatus = async ( jobId: string ): Promise<{ data: BatchStatus }> => { return await BaseAgentService.get(`${DOCUMENTATION_BATCH}/${jobId}/status`); }; export const getBatchPreview = async ( batchId: string ): Promise<{ data: BatchPreview }> => { return await BaseAgentService.get( `${DOCUMENTATION_BATCH}/${batchId}/preview` ); }; export const pushToRag = async ( batchId: string ): Promise<{ data: { job_id: string; batch_id: string; status: string } }> => { return await BaseAgentService.post( `${DOCUMENTATION_BATCH}/${batchId}/push-to-rag`, {} ); }; export const listDocuments = async (): Promise<{ data: DocumentList }> => { return await BaseAgentService.get(DOCUMENTATION_LIST); }; export const deleteDocument = async ( fileName: string ): Promise<{ data: { file_name: string; deleted: boolean } }> => { return await BaseAgentService.post( `${DOCUMENTATION_DELETE}/delete/${encodeURIComponent(fileName)}`, {} ); }; export const createTextEntry = async ( payload: TextEntryRequest ): Promise<{ data: TextEntryResponse }> => { return await BaseAgentService.post(DOCUMENTATION_TEXT_ENTRY, payload); };