feat: 自动更新
This commit is contained in:
@@ -1,29 +1,31 @@
|
||||
import type { AiProviderRequest, AiProviderStatusRequest, AiProviderUpdateRequest } from "../api/types";
|
||||
import type { AiProviderFormState } from "../contracts/aiProviders";
|
||||
import { completeAiProviderForm, type AiProviderFormState } from "../contracts/aiProviders";
|
||||
|
||||
export function aiProviderCreateRequestFromForm(form: AiProviderFormState): AiProviderRequest {
|
||||
const completed = completeAiProviderForm(form);
|
||||
return {
|
||||
id: form.id.trim(),
|
||||
...aiProviderUpdateRequestFromForm(form)
|
||||
id: completed.id,
|
||||
...aiProviderUpdateRequestFromForm(completed)
|
||||
};
|
||||
}
|
||||
|
||||
export function aiProviderUpdateRequestFromForm(form: AiProviderFormState): AiProviderUpdateRequest {
|
||||
const models = form.modelsText
|
||||
const completed = completeAiProviderForm(form);
|
||||
const models = completed.modelsText
|
||||
.split(",")
|
||||
.map((model) => model.trim())
|
||||
.filter(Boolean);
|
||||
|
||||
return {
|
||||
name: form.name.trim(),
|
||||
kind: form.kind,
|
||||
baseUrl: form.baseUrl.trim(),
|
||||
apiKeyRef: form.apiKeyRef.trim(),
|
||||
name: completed.name,
|
||||
kind: completed.kind,
|
||||
baseUrl: completed.baseUrl,
|
||||
apiKeyRef: completed.apiKeyRef,
|
||||
models,
|
||||
defaultModel: form.defaultModel.trim() || models[0],
|
||||
relayMode: form.relayMode,
|
||||
timeoutMs: Number.parseInt(form.timeoutMs, 10),
|
||||
redactionPolicy: form.redactionPolicy.trim() || "default"
|
||||
defaultModel: completed.defaultModel || models[0],
|
||||
relayMode: completed.relayMode,
|
||||
timeoutMs: Number.parseInt(completed.timeoutMs, 10),
|
||||
redactionPolicy: completed.redactionPolicy
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user