import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
import { generateText, tool } from "ai";
import { z } from "zod";
const hebo = createOpenAICompatible({
apiKey: process.env.HEBO_API_KEY,
baseURL: "https://gateway.hebo.ai/v1",
});
const { text } = await generateText({
model: hebo("openai/gpt-oss-20b"),
prompt: "How many r's are in Strawberry?",
tools: {
countLetters: tool({
description: "Count letter occurrences in a word",
parameters: z.object({
word: z.string(),
letters: z.string(),
}),
execute: async ({ word, letters }) => {
const count = [...word].filter((c) => letters.includes(c)).length;
return { count };
},
}),
},
});
console.log(text);