Complete platform management workflows
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
import type { AiProviderKind, AiProviderResponse, AiProviderStatus, AiRelayMode } from "../api/types";
|
||||
|
||||
export type AiProviderFilter = AiProviderStatus | "all";
|
||||
export type AiProviderViewState = "api" | "local" | "saving" | "error";
|
||||
export type AiProviderListState = "loading" | "ready" | "error";
|
||||
export type AiProviderViewState = "api" | "local-development" | "saving" | "error";
|
||||
|
||||
export interface AiProviderFormState {
|
||||
id: string;
|
||||
@@ -30,22 +31,34 @@ export interface AiProviderActionState {
|
||||
message: string;
|
||||
}
|
||||
|
||||
export interface AiProviderPageInitialState {
|
||||
providers?: AiProviderResponse[];
|
||||
selectedId?: string;
|
||||
listState?: AiProviderListState;
|
||||
listError?: string;
|
||||
source?: AiProviderViewState;
|
||||
action?: AiProviderActionState | null;
|
||||
}
|
||||
|
||||
export function emptyAiProviderForm(): AiProviderFormState {
|
||||
return {
|
||||
id: "",
|
||||
name: "",
|
||||
kind: "openai-compatible",
|
||||
baseUrl: "https://api.example.test/v1",
|
||||
baseUrl: "",
|
||||
apiKeyRef: "secret://providers/",
|
||||
modelsText: "gpt-4.1-mini",
|
||||
defaultModel: "gpt-4.1-mini",
|
||||
relayMode: "direct",
|
||||
modelsText: "",
|
||||
defaultModel: "",
|
||||
relayMode: "relay",
|
||||
timeoutMs: "30000",
|
||||
redactionPolicy: "default"
|
||||
};
|
||||
}
|
||||
|
||||
export function aiProviderToForm(provider: AiProviderResponse): AiProviderFormState {
|
||||
export function aiProviderToForm(provider?: AiProviderResponse): AiProviderFormState {
|
||||
if (!provider) {
|
||||
return emptyAiProviderForm();
|
||||
}
|
||||
return {
|
||||
id: provider.id,
|
||||
name: provider.name,
|
||||
|
||||
Reference in New Issue
Block a user