From 3b507208bccf2ab1b149943059b9c51ace95c5d1 Mon Sep 17 00:00:00 2001 From: Anish Sarkar <104695310+AnishSarkar22@users.noreply.github.com> Date: Sat, 27 Jun 2026 03:46:24 +0530 Subject: [PATCH] refactor(models): remove manual model creation client API --- .../model-connections-mutation.atoms.ts | 23 +------------------ .../types/model-connections.types.ts | 6 ----- .../lib/apis/model-connections-api.service.ts | 15 ------------ 3 files changed, 1 insertion(+), 43 deletions(-) diff --git a/surfsense_web/atoms/model-connections/model-connections-mutation.atoms.ts b/surfsense_web/atoms/model-connections/model-connections-mutation.atoms.ts index f00bf76f9..e9ff559c0 100644 --- a/surfsense_web/atoms/model-connections/model-connections-mutation.atoms.ts +++ b/surfsense_web/atoms/model-connections/model-connections-mutation.atoms.ts @@ -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 { diff --git a/surfsense_web/contracts/types/model-connections.types.ts b/surfsense_web/contracts/types/model-connections.types.ts index 0f0c7591e..73dff23eb 100644 --- a/surfsense_web/contracts/types/model-connections.types.ts +++ b/surfsense_web/contracts/types/model-connections.types.ts @@ -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; export type ConnectionCreateRequest = z.infer; export type ModelTestPreviewRequest = z.infer; export type ConnectionUpdateRequest = z.infer; -export type ModelCreateRequest = z.infer; export type ModelUpdateRequest = z.infer; export type ModelsBulkUpdateRequest = z.infer; export type ModelRoles = z.infer; diff --git a/surfsense_web/lib/apis/model-connections-api.service.ts b/surfsense_web/lib/apis/model-connections-api.service.ts index c69bcbef2..6083642f5 100644 --- a/surfsense_web/lib/apis/model-connections-api.service.ts +++ b/surfsense_web/lib/apis/model-connections-api.service.ts @@ -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 => { - 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 => { const parsed = modelUpdateRequest.safeParse(request); if (!parsed.success) {