chore(vendor): import pi 0.85.1
Imported as a linear vendor commit so forge rebases do not replay the upstream root tree. git-subtree-dir: third_party/pi git-subtree-split: d981de1229ef899957bbe968bc8dcda02a21f477
This commit is contained in:
21
third_party/pi/packages/ai/src/images.ts
vendored
Normal file
21
third_party/pi/packages/ai/src/images.ts
vendored
Normal file
@@ -0,0 +1,21 @@
|
||||
import "./providers/images/register-builtins.ts";
|
||||
|
||||
import { getImagesApiProvider } from "./images-api-registry.ts";
|
||||
import type { AssistantImages, ImagesApi, ImagesContext, ImagesModel, ProviderImagesOptions } from "./types.ts";
|
||||
|
||||
function resolveImagesApiProvider(api: ImagesApi) {
|
||||
const provider = getImagesApiProvider(api);
|
||||
if (!provider) {
|
||||
throw new Error(`No API provider registered for api: ${api}`);
|
||||
}
|
||||
return provider;
|
||||
}
|
||||
|
||||
export async function generateImages<TApi extends ImagesApi>(
|
||||
model: ImagesModel<TApi>,
|
||||
context: ImagesContext,
|
||||
options?: ProviderImagesOptions,
|
||||
): Promise<AssistantImages> {
|
||||
const provider = resolveImagesApiProvider(model.api);
|
||||
return provider.generateImages(model, context, options);
|
||||
}
|
||||
Reference in New Issue
Block a user