refactor(models): remove manual model creation client API

This commit is contained in:
Anish Sarkar 2026-06-27 03:46:24 +05:30
parent 0df51c60f3
commit 3b507208bc
3 changed files with 1 additions and 43 deletions

View file

@ -4,7 +4,6 @@ import type {
ConnectionCreateRequest,
ConnectionRead,
ConnectionUpdateRequest,
ModelCreateRequest,
ModelPreviewRead,
ModelRead,
ModelRoles,
@ -95,13 +94,7 @@ export const verifyModelConnectionMutationAtom = atomWithMutation((get) => {
if (result.ok) {
toast.success("Connection verified");
} else {
// Non-fatal: many providers lack a /models endpoint yet still serve
// chat. Guide the user to add model IDs manually instead of alarming.
toast.warning(
result.message
? `${result.message} Chat may still work — add model IDs manually.`
: "Couldn't list models. Chat may still work — add model IDs manually."
);
toast.warning(result.message || "Couldn't verify this connection.");
}
invalidateModelConnections(searchSpaceId);
},
@ -148,20 +141,6 @@ export const testPreviewModelMutationAtom = atomWithMutation(() => {
};
});
export const addManualModelMutationAtom = atomWithMutation((get) => {
const searchSpaceId = Number(get(activeSearchSpaceIdAtom));
return {
mutationKey: ["models", "add-manual"],
mutationFn: ({ connectionId, data }: { connectionId: number; data: ModelCreateRequest }) =>
modelConnectionsApiService.addManualModel(connectionId, data),
onSuccess: () => {
toast.success("Model added");
invalidateModelConnections(searchSpaceId);
},
onError: (error: Error) => toast.error(error.message || "Failed to add model"),
};
});
export const updateModelMutationAtom = atomWithMutation((get) => {
const searchSpaceId = Number(get(activeSearchSpaceIdAtom));
return {

View file

@ -74,11 +74,6 @@ export const connectionUpdateRequest = z.object({
enabled: z.boolean().optional(),
});
export const modelCreateRequest = z.object({
model_id: z.string().min(1),
display_name: z.string().nullable().optional(),
});
export const modelUpdateRequest = z.object({
display_name: z.string().nullable().optional(),
enabled: z.boolean().optional(),
@ -135,7 +130,6 @@ export type ConnectionRead = z.infer<typeof connectionRead>;
export type ConnectionCreateRequest = z.infer<typeof connectionCreateRequest>;
export type ModelTestPreviewRequest = z.infer<typeof modelTestPreviewRequest>;
export type ConnectionUpdateRequest = z.infer<typeof connectionUpdateRequest>;
export type ModelCreateRequest = z.infer<typeof modelCreateRequest>;
export type ModelUpdateRequest = z.infer<typeof modelUpdateRequest>;
export type ModelsBulkUpdateRequest = z.infer<typeof modelsBulkUpdateRequest>;
export type ModelRoles = z.infer<typeof modelRoles>;

View file

@ -8,7 +8,6 @@ import {
connectionUpdateRequest,
type GlobalLlmConfigStatus,
globalLlmConfigStatus,
type ModelCreateRequest,
type ModelPreviewRead,
type ModelProviderRead,
type ModelRead,
@ -16,7 +15,6 @@ import {
type ModelsBulkUpdateRequest,
type ModelTestPreviewRequest,
type ModelUpdateRequest,
modelCreateRequest,
modelListResponse,
modelPreviewListResponse,
modelProviderListResponse,
@ -112,19 +110,6 @@ class ModelConnectionsApiService {
});
};
addManualModel = async (
connectionId: number,
request: ModelCreateRequest
): Promise<ModelRead> => {
const parsed = modelCreateRequest.safeParse(request);
if (!parsed.success) {
throw new ValidationError(parsed.error.issues.map((issue) => issue.message).join(", "));
}
return baseApiService.post(`/api/v1/model-connections/${connectionId}/models`, modelRead, {
body: parsed.data,
});
};
updateModel = async (id: number, request: ModelUpdateRequest): Promise<ModelRead> => {
const parsed = modelUpdateRequest.safeParse(request);
if (!parsed.success) {