From e9b0af0a11c53437e4db0773e706921d63cce0fd Mon Sep 17 00:00:00 2001 From: Cristina Poncela Cubeiro <140309543+cristinaponcela@users.noreply.github.com> Date: Mon, 4 May 2026 16:46:20 +0200 Subject: [PATCH] feat: images stream --- packages/ai/src/images.ts | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 packages/ai/src/images.ts diff --git a/packages/ai/src/images.ts b/packages/ai/src/images.ts new file mode 100644 index 00000000..089c5f31 --- /dev/null +++ b/packages/ai/src/images.ts @@ -0,0 +1,36 @@ +import { getImagesApiProvider } from "./images-api-registry.js"; +import type { + AssistantImages, + AssistantImagesEventStream, + ImagesApi, + ImagesContext, + ImagesModel, + ImagesOptions, + ProviderImagesOptions, +} from "./types.js"; + +function resolveImagesApiProvider(api: ImagesApi) { + const provider = getImagesApiProvider(api); + if (!provider) { + throw new Error(`No API provider registered for api: ${api}`); + } + return provider; +} + +export function images( + model: ImagesModel, + context: ImagesContext, + options?: ProviderImagesOptions, +): AssistantImagesEventStream { + const provider = resolveImagesApiProvider(model.api); + return provider.images(model, context, options as ImagesOptions); +} + +export async function completeImages( + model: ImagesModel, + context: ImagesContext, + options?: ProviderImagesOptions, +): Promise { + const s = images(model, context, options); + return s.result(); +}