import type { AiProviderRequest, AiProviderStatusRequest, AiProviderUpdateRequest } from "../api/types"; import { completeAiProviderForm, type AiProviderFormState } from "../contracts/aiProviders"; export function aiProviderCreateRequestFromForm(form: AiProviderFormState): AiProviderRequest { const completed = completeAiProviderForm(form); return { id: completed.id, ...aiProviderUpdateRequestFromForm(completed) }; } export function aiProviderUpdateRequestFromForm(form: AiProviderFormState): AiProviderUpdateRequest { const completed = completeAiProviderForm(form); const models = completed.modelsText .split(",") .map((model) => model.trim()) .filter(Boolean); return { name: completed.name, kind: completed.kind, baseUrl: completed.baseUrl, apiKeyRef: completed.apiKeyRef, models, defaultModel: completed.defaultModel || models[0], relayMode: completed.relayMode, timeoutMs: Number.parseInt(completed.timeoutMs, 10), redactionPolicy: completed.redactionPolicy }; } export function aiProviderRetireRequest(): AiProviderStatusRequest { return { status: "disabled" }; }