first commit

This commit is contained in:
npc0-hue
2026-07-11 14:56:10 +08:00
commit 7e05d0a4e7
660 changed files with 78119 additions and 0 deletions
+28
View File
@@ -0,0 +1,28 @@
import type { AiProviderRequest, 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"
};
}