import { TheDriveAI, fromZod } from "@thedriveai/sdk";
import { z } from "zod";
const LineItem = z.object({
description: z.string().describe("Item description"),
quantity: z.number().describe("Quantity"),
unit_price: z.number().describe("Price per unit"),
});
const Invoice = z.object({
invoice_number: z.string().describe("The invoice number"),
vendor: z.string().describe("Company name"),
total: z.number().describe("Total amount due"),
status: z.enum(["paid", "unpaid", "overdue"]).describe("Payment status"),
notes: z.string().optional().describe("Additional notes"),
line_items: z.array(LineItem).describe("Invoice line items"),
});
const result = await client.extract({
file: readFileSync("invoice.pdf"),
schema: fromZod(Invoice),
});