Simplified custom model flow with canonical models (#6934)

This commit is contained in:
David Katz
2026-02-23 20:12:10 -05:00
committed by GitHub
parent edede637d7
commit 716085ce09
26 changed files with 73986 additions and 531 deletions
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+94
View File
@@ -169,6 +169,7 @@ export type CspMetadata = {
export type DeclarativeProviderConfig = {
api_key_env?: string;
base_url: string;
catalog_provider_id?: string | null;
description?: string | null;
display_name: string;
engine: ProviderEngine;
@@ -671,6 +672,13 @@ export type MessageMetadata = {
userVisible: boolean;
};
export type ModelCapabilities = {
attachment: boolean;
reasoning: boolean;
temperature: boolean;
tool_call: boolean;
};
export type ModelConfig = {
context_limit?: number | null;
max_tokens?: number | null;
@@ -767,6 +775,14 @@ export type ModelSettings = {
use_mlock?: boolean;
};
export type ModelTemplate = {
capabilities: ModelCapabilities;
context_limit: number;
deprecated: boolean;
id: string;
name: string;
};
export type ParseRecipeRequest = {
content: string;
};
@@ -819,6 +835,16 @@ export type PromptsListResponse = {
prompts: Array<Template>;
};
export type ProviderCatalogEntry = {
api_url: string;
doc_url: string;
env_var: string;
format: string;
id: string;
model_count: number;
name: string;
};
export type ProviderDetails = {
is_configured: boolean;
metadata: ProviderMetadata;
@@ -862,6 +888,17 @@ export type ProviderMetadata = {
name: string;
};
export type ProviderTemplate = {
api_url: string;
doc_url: string;
env_var: string;
format: string;
id: string;
models: Array<ModelTemplate>;
name: string;
supports_streaming: boolean;
};
export type ProviderType = 'Preferred' | 'Builtin' | 'Declarative' | 'Custom';
export type ProvidersResponse = {
@@ -1435,6 +1472,7 @@ export type UiMetadata = {
export type UpdateCustomProviderRequest = {
api_key: string;
api_url: string;
catalog_provider_id?: string | null;
display_name: string;
engine: string;
headers?: {
@@ -2470,6 +2508,62 @@ export type SavePromptResponses = {
export type SavePromptResponse = SavePromptResponses[keyof SavePromptResponses];
export type GetProviderCatalogData = {
body?: never;
path?: never;
query?: {
/**
* Filter by provider format (openai, anthropic, ollama)
*/
format?: string | null;
};
url: '/config/provider-catalog';
};
export type GetProviderCatalogErrors = {
/**
* Invalid format parameter
*/
400: unknown;
};
export type GetProviderCatalogResponses = {
/**
* Provider catalog retrieved successfully
*/
200: Array<ProviderCatalogEntry>;
};
export type GetProviderCatalogResponse = GetProviderCatalogResponses[keyof GetProviderCatalogResponses];
export type GetProviderCatalogTemplateData = {
body?: never;
path: {
/**
* Provider ID from models.dev
*/
id: string;
};
query?: never;
url: '/config/provider-catalog/{id}';
};
export type GetProviderCatalogTemplateErrors = {
/**
* Provider not found in catalog
*/
404: unknown;
};
export type GetProviderCatalogTemplateResponses = {
/**
* Provider template retrieved successfully
*/
200: ProviderTemplate;
};
export type GetProviderCatalogTemplateResponse = GetProviderCatalogTemplateResponses[keyof GetProviderCatalogTemplateResponses];
export type ProvidersData = {
body?: never;
path?: never;