diff --git a/surfsense_web/contracts/types/llm-config.types.ts b/surfsense_web/contracts/types/llm-config.types.ts index 7b232bc8c..961d6145c 100644 --- a/surfsense_web/contracts/types/llm-config.types.ts +++ b/surfsense_web/contracts/types/llm-config.types.ts @@ -137,6 +137,27 @@ export const deleteLLMConfigResponse = z.object({ message: z.literal("LLM configuration deleted successfully"), }); +/** + * LLM Preferences schemas + */ +export const llmPreferences = z.object({ + long_context_llm_id: z.number().nullable().optional(), + fast_llm_id: z.number().nullable().optional(), + strategic_llm_id: z.number().nullable().optional(), + long_context_llm: llmConfig.nullable().optional(), + fast_llm: llmConfig.nullable().optional(), + strategic_llm: llmConfig.nullable().optional(), +}); + +/** + * Get LLM preferences + */ +export const getLLMPreferencesRequest = z.object({ + search_space_id: z.number(), +}); + +export const getLLMPreferencesResponse = llmPreferences; + export type LLMConfig = z.infer; export type LiteLLMProvider = z.infer; export type GlobalLLMConfig = z.infer; @@ -151,3 +172,6 @@ export type UpdateLLMConfigRequest = z.infer; export type UpdateLLMConfigResponse = z.infer; export type DeleteLLMConfigRequest = z.infer; export type DeleteLLMConfigResponse = z.infer; +export type LLMPreferences = z.infer; +export type GetLLMPreferencesRequest = z.infer; +export type GetLLMPreferencesResponse = z.infer;