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