LLMs: Access extraction rewires

This commit is contained in:
Enrico Ros
2025-11-22 22:48:47 -08:00
parent aa2731bccc
commit 252e2fcd29
26 changed files with 36 additions and 35 deletions
+4 -4
View File
@@ -3,10 +3,10 @@ import * as z from 'zod/v4';
// Used to align Particles to the Typescript definitions from the frontend-side, on 'chat.fragments.ts'
import type { DMessageToolResponsePart } from '~/common/stores/chat/chat.fragments';
import { anthropicAccessSchema } from '~/modules/llms/server/anthropic/anthropic.router';
import { geminiAccessSchema } from '~/modules/llms/server/gemini/gemini.router';
import { ollamaAccessSchema } from '~/modules/llms/server/ollama/ollama.router';
import { openAIAccessSchema } from '~/modules/llms/server/openai/openai.router';
import { anthropicAccessSchema } from '~/modules/llms/server/anthropic/anthropic.access';
import { geminiAccessSchema } from '~/modules/llms/server/gemini/gemini.access';
import { ollamaAccessSchema } from '~/modules/llms/server/ollama/ollama.access';
import { openAIAccessSchema } from '~/modules/llms/server/openai/openai.access';
//
@@ -1,4 +1,4 @@
import type { OpenAIDialects } from '~/modules/llms/server/openai/openai.router';
import type { OpenAIDialects } from '~/modules/llms/server/openai/openai.access';
import { AixAPI_Model, AixAPIChatGenerate_Request, AixMessages_ChatMessage, AixMessages_SystemMessage, AixParts_DocPart, AixParts_InlineAudioPart, AixParts_MetaInReferenceToPart, AixTools_ToolDefinition, AixTools_ToolsPolicy } from '../../../api/aix.wiretypes';
import { OpenAIWire_API_Chat_Completions, OpenAIWire_ContentParts, OpenAIWire_Messages } from '../../wiretypes/openai.wiretypes';
@@ -1,4 +1,4 @@
import type { OpenAIDialects } from '~/modules/llms/server/openai/openai.router';
import type { OpenAIDialects } from '~/modules/llms/server/openai/openai.access';
import { AixAPI_Model, AixAPIChatGenerate_Request, AixMessages_ChatMessage, AixMessages_SystemMessage, AixTools_ToolDefinition, AixTools_ToolsPolicy } from '../../../api/aix.wiretypes';
import { OpenAIWire_API_Responses, OpenAIWire_Responses_Items, OpenAIWire_Responses_Tools } from '../../wiretypes/openai.wiretypes';
@@ -1,7 +1,7 @@
import { anthropicAccess } from '~/modules/llms/server/anthropic/anthropic.router';
import { geminiAccess } from '~/modules/llms/server/gemini/gemini.router';
import { ollamaAccess } from '~/modules/llms/server/ollama/ollama.router';
import { openAIAccess } from '~/modules/llms/server/openai/openai.router';
import { anthropicAccess } from '~/modules/llms/server/anthropic/anthropic.access';
import { geminiAccess } from '~/modules/llms/server/gemini/gemini.access';
import { ollamaAccess } from '~/modules/llms/server/ollama/ollama.access';
import { openAIAccess } from '~/modules/llms/server/openai/openai.access';
import type { AixAPI_Access, AixAPI_Model, AixAPI_ResumeHandle, AixAPIChatGenerate_Request } from '../../api/aix.wiretypes';
import type { AixDemuxers } from '../stream.demuxers';
@@ -12,16 +12,16 @@ import type { ModelDescriptionSchema } from './llm.server.types';
// protocol: Anthropic
import { AnthropicWire_API_Models_List, hardcodedAnthropicModels, hardcodedAnthropicVariants, llmsAntCreatePlaceholderModel, llmsAntDevCheckForObsoletedModels_DEV, llmsAntInjectWebSearchInterface } from './anthropic/anthropic.models';
import { anthropicAccess } from './anthropic/anthropic.router';
import { anthropicAccess } from './anthropic/anthropic.access';
// protocol: Gemini
import { GeminiWire_API_Models_List } from '~/modules/aix/server/dispatch/wiretypes/gemini.wiretypes';
import { geminiAccess } from './gemini/gemini.router';
import { geminiAccess } from './gemini/gemini.access';
import { geminiDevCheckForParserMisses_DEV, geminiDevCheckForSuperfluousModels_DEV, geminiFilterModels, geminiModelsAddVariants, geminiModelToModelDescription, geminiSortModels } from './gemini/gemini.models';
// protocol: Ollama
import { OLLAMA_BASE_MODELS } from './ollama/ollama.models';
import { ollamaAccess } from './ollama/ollama.router';
import { ollamaAccess } from './ollama/ollama.access';
import { wireOllamaListModelsSchema, wireOllamaModelInfoSchema } from './ollama/ollama.wiretypes';
// protocol: OpenAI-compatible
@@ -37,7 +37,7 @@ import { lmStudioModelToModelDescription } from './openai/models/lmstudio.models
import { localAIModelSortFn, localAIModelToModelDescription } from './openai/models/localai.models';
import { mistralModels } from './openai/models/mistral.models';
import { moonshotModelFilter, moonshotModelSortFn, moonshotModelToModelDescription } from './openai/models/moonshot.models';
import { openAIAccess } from './openai/openai.router';
import { openAIAccess } from './openai/openai.access';
import { openPipeModelDescriptions, openPipeModelSort, openPipeModelToModelDescriptions } from './openai/models/openpipe.models';
import { openRouterInjectVariants, openRouterModelFamilySortFn, openRouterModelToModelDescription } from './openai/models/openrouter.models';
import { openaiDevCheckForModelsOverlap_DEV, openAIInjectVariants, openAIModelFilter, openAIModelToModelDescription, openAISortModels } from './openai/models/openai.models';
@@ -6,7 +6,7 @@ import { LLM_IF_OAI_Chat, LLM_IF_OAI_Fn, LLM_IF_OAI_Json, LLM_IF_OAI_Reasoning,
import type { ModelDescriptionSchema } from '../../llm.server.types';
import { fromManualMapping, KnownModel, ManualMappings } from '../../models.mappings';
import { openAIAccess, OpenAIAccessSchema } from '../openai.router';
import { openAIAccess, OpenAIAccessSchema } from '../openai.access';
// Known xAI Models - Manual Mappings
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { ModelVendorOpenAI } from '../openai/openai.vendor';
+1 -1
View File
@@ -1,6 +1,6 @@
import { apiAsync } from '~/common/util/trpc.client';
import type { AnthropicAccessSchema } from '../../server/anthropic/anthropic.router';
import type { AnthropicAccessSchema } from '../../server/anthropic/anthropic.access';
import type { IModelVendor } from '../IModelVendor';
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { ModelVendorOpenAI } from '../openai/openai.vendor';
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { ModelVendorOpenAI } from '../openai/openai.vendor';
+2 -1
View File
@@ -1,7 +1,8 @@
import { apiAsync } from '~/common/util/trpc.client';
import type { GeminiAccessSchema } from '../../server/gemini/gemini.router';
import type { GeminiWire_Safety } from '~/modules/aix/server/dispatch/wiretypes/gemini.wiretypes';
import type { GeminiAccessSchema } from '../../server/gemini/gemini.access';
import type { IModelVendor } from '../IModelVendor';
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { ModelVendorOpenAI } from '../openai/openai.vendor';
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { ModelVendorOpenAI } from '../openai/openai.vendor';
+1 -1
View File
@@ -11,7 +11,7 @@ import { Link } from '~/common/components/Link';
import { apiQuery } from '~/common/util/trpc.client';
import { capitalizeFirstLetter } from '~/common/util/textUtils';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
function ListItemSwitch(props: { title: string, checked: boolean, onChange: (checked: boolean) => void }) {
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { ModelVendorOpenAI } from '../openai/openai.vendor';
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { DOpenAIServiceSettings, ModelVendorOpenAI } from '../openai/openai.vendor';
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { ModelVendorOpenAI } from '../openai/openai.vendor';
+1 -1
View File
@@ -11,7 +11,7 @@ import { InlineError } from '~/common/components/InlineError';
import { Link } from '~/common/components/Link';
import { apiQuery } from '~/common/util/trpc.client';
import type { OllamaAccessSchema } from '../../server/ollama/ollama.router';
import type { OllamaAccessSchema } from '../../server/ollama/ollama.access';
// configuration
+1 -1
View File
@@ -1,7 +1,7 @@
import { apiAsync } from '~/common/util/trpc.client';
import type { IModelVendor } from '../IModelVendor';
import type { OllamaAccessSchema } from '../../server/ollama/ollama.router';
import type { OllamaAccessSchema } from '../../server/ollama/ollama.access';
interface DOllamaServiceSettings {
+1 -1
View File
@@ -1,7 +1,7 @@
import { apiAsync } from '~/common/util/trpc.client';
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
// special symbols
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { ModelVendorOpenAI } from '../openai/openai.vendor';
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { getLLMPricing } from '~/common/stores/llms/llms.types';
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { ModelVendorOpenAI } from '../openai/openai.vendor';
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { ModelVendorOpenAI } from '../openai/openai.vendor';
+1 -1
View File
@@ -1,5 +1,5 @@
import type { IModelVendor } from '../IModelVendor';
import type { OpenAIAccessSchema } from '../../server/openai/openai.router';
import type { OpenAIAccessSchema } from '../../server/openai/openai.access';
import { ModelVendorOpenAI } from '../openai/openai.vendor';
@@ -4,7 +4,7 @@ import type { DModelsServiceId } from '~/common/stores/llms/llms.service.types';
import { apiStream } from '~/common/util/trpc.client';
import { formatModelsCost } from '~/common/util/costUtils';
import type { OpenAIAccessSchema } from '~/modules/llms/server/openai/openai.router';
import type { OpenAIAccessSchema } from '~/modules/llms/server/openai/openai.access';
import { findServiceAccessOrThrow } from '~/modules/llms/vendors/vendor.helpers';
import type { T2iCreateImageOutput, T2iGenerateOptions } from '../t2i.server';