vaibuzz
feat: production-ready deployment — Dockerfile, schema fixes, PCT_DIFF logic, abs() resolver
1294b5d
Raw
History Blame Contribute Delete
1.27 kB
import axios from 'axios'
const BASE = import.meta.env.VITE_API_URL || '/api'
const api = axios.create({
baseURL: BASE,
timeout: 300000, // 5 min — Claude tasks (like extracting 25 rules) can take up to 3 minutes
})
export const uploadDocument = (file) => {
const form = new FormData()
form.append('file', file)
return api.post('/upload-document', form)
}
export const extractRules = (markdown) =>
api.post('/extract-rules', { markdown })
export const finalizeRules = (rules) =>
api.post('/finalize-rules', { rules })
export const getActiveRules = () =>
api.get('/active-rules')
export const extractDocuments = (files) => {
const form = new FormData()
if (files.invoice) form.append('invoice', files.invoice)
if (files.po) form.append('po', files.po)
if (files.grn) form.append('grn', files.grn)
return api.post('/extract-documents', form)
}
export const executeRules = (payload) =>
api.post('/execute-rules', { payload })
export const sendReport = (executionResults, email, invoiceNumber) =>
api.post('/send-report', {
execution_results: executionResults,
email,
invoice_number: invoiceNumber ?? null,
})
export const generateRuleGraph = (rules) =>
api.post('/generate-rule-graph', { rules })