import type { StreamChatParams, StreamChatResult } from "../llm/types"; import { getInferenceAdapter } from "./registry"; import { resolveInferenceProvider } from "./resolveProvider"; import type { CompleteTextParams } from "./types"; export async function executeStreamChat( params: StreamChatParams, ): Promise { const provider = resolveInferenceProvider({ model: params.model, explicitRequestProvider: params.explicitRequestProvider, featureId: params.featureId, }); const adapter = getInferenceAdapter(provider); return adapter.streamChat(params); } export async function executeCompleteText( params: CompleteTextParams, ): Promise { const provider = resolveInferenceProvider({ model: params.model, explicitRequestProvider: params.explicitRequestProvider, featureId: params.featureId, }); const adapter = getInferenceAdapter(provider); return adapter.completeText(params); }