import OpenAI from 'openai'; import type { AvailableModel } from '../../execution/AvailableModel'; import type { CompletionPromptResult, EmbeddingPromptResult, ImagePromptResult } from '../../execution/PromptResult'; import type { Usage } from '../../execution/Usage'; import type { Prompt } from '../../types/Prompt'; import type { string_markdown_text } from '../../types/string_markdown'; import type { string_title } from '../../types/string_title'; import type { computeOpenAiUsage } from './computeOpenAiUsage'; /** * Dependencies required to run non-chat OpenAI-compatible prompt variants. */ type OpenAiCompatibleNonChatPromptCallerOptions = { readonly getTitle: () => string_title & string_markdown_text; readonly isVerbose: boolean | undefined; readonly userId: string | number | undefined; readonly getClient: () => Promise; readonly executeRateLimitedRequest: (requestFn: () => Promise) => Promise; readonly computeUsage: (...args: Parameters) => Usage; readonly getDefaultCompletionModel: () => AvailableModel; readonly getDefaultEmbeddingModel: () => AvailableModel; readonly getDefaultImageGenerationModel: () => AvailableModel; readonly getHardcodedModels: () => ReadonlyArray; }; /** * Executes completion, embedding, and image-generation prompts for OpenAI-compatible providers. * * @private helper of `OpenAiCompatibleExecutionTools` */ export declare class OpenAiCompatibleNonChatPromptCaller { private readonly options; constructor(options: OpenAiCompatibleNonChatPromptCallerOptions); /** * Calls one OpenAI-compatible completion model. */ callCompletionModel(prompt: Pick): Promise; /** * Calls one OpenAI-compatible embedding model. */ callEmbeddingModel(prompt: Pick): Promise; /** * Calls one OpenAI-compatible image-generation model. */ callImageGenerationModel(prompt: Prompt): Promise; /** * Retries completion requests while stripping unsupported model parameters. */ private callCompletionModelWithRetry; /** * Retries embedding requests while stripping unsupported model parameters. */ private callEmbeddingModelWithRetry; /** * Retries image-generation requests while stripping unsupported model parameters. */ private callImageGenerationModelWithRetry; } export {};