UNPKG

@imgly/plugin-ai-generation-web

Version:

AI generation plugin for the CE.SDK editor

42 lines (41 loc) 1.39 kB
import Provider, { GenerationOptions, Output, OutputKind } from '../core/provider'; import { Middleware } from '../middleware/middleware'; import CreativeEditorSDK, { CreativeEngine } from '@cesdk/cesdk-js'; export type ResultSuccess<O> = { status: 'success'; type: 'async'; output: AsyncGenerator<O>; middlewareOptions?: GenerationOptions; } | { status: 'success'; type: 'sync'; output: O; middlewareOptions?: GenerationOptions; }; export type Result<O> = ResultSuccess<O> | { status: 'error'; message: string; middlewareOptions?: GenerationOptions; } | { status: 'aborted'; middlewareOptions?: GenerationOptions; }; export type Generate<I, O extends Output> = (input: I, options?: { /** * The block IDs that this generation is operating on. * - undefined: Middleware will fall back to selected blocks * - []: Explicitly target no blocks * - [1, 2, 3]: Target specific blocks (e.g., placeholder block) */ blockIds?: number[]; abortSignal?: AbortSignal; middlewares?: Middleware<I, O>[]; debug?: boolean; dryRun?: boolean; }) => Promise<Result<O>>; declare function createGenerateFunction<K extends OutputKind, I, O extends Output>(context: { provider: Provider<K, I, O>; cesdk: CreativeEditorSDK; engine: CreativeEngine; }): Generate<I, O>; export default createGenerateFunction;