import { Type, Static } from "@sinclair/typebox";
import { createOpenAI } from "@ai-sdk/openai";
import { generateObject, jsonSchema } from "ai";
const Contact = Type.Object({
name: Type.String(),
email: Type.String(),
role: Type.String(),
}, { additionalProperties: false });
type Contact = Static<typeof Contact>;
const dottxt = createOpenAI({
baseURL: "https://api.dottxt.ai/v1",
apiKey: process.env.DOTTXT_API_KEY!,
});
const { object } = await generateObject({
model: dottxt.chat("openai/gpt-oss-20b"),
schema: jsonSchema<Contact>(Contact),
schemaName: "contact",
prompt: "Extract: John Smith <john@acme.com>, VP Engineering",
});
console.log(object.name);