import { splitDocument, reductoExtractProvider } from '@docloai/providers-reducto';
import { createFlow, extract } from '@docloai/flows';
// Split stacked document
const segments = await splitDocument(
{ base64: stackedDocument },
{
apiKey: process.env.REDUCTO_API_KEY!,
splitDescription: [
{ name: 'Invoice', description: 'Invoice with line items' },
{ name: 'Receipt', description: 'Payment receipt' }
]
}
);
// Process each segment
const results = [];
for (const segment of segments) {
const flow = createFlow()
.step('extract', extract({
provider: reductoExtractProvider({
apiKey: process.env.REDUCTO_API_KEY!,
citations: true
}),
schema: segment.type === 'Invoice' ? invoiceSchema : receiptSchema
}))
.build();
const result = await flow.run(segment.input);
results.push({
type: segment.type,
pages: `${segment.startPage}-${segment.endPage}`,
data: result.output
});
}
console.log('Processed documents:', results);