chore: ai, public course and other ui improvements

This commit is contained in:
Rotimi Best
2026-05-09 06:05:03 +01:00
parent 5717dd8004
commit c31ad63955
318 changed files with 20668 additions and 4788 deletions
+33 -10
View File
@@ -7,36 +7,59 @@
* even though it isn't currently exposed to users.
*/
export const AGENT_MODEL_IDS = ['gemini-2.5-flash', 'gpt-4o', 'claude-sonnet-4-5'] as const;
export const AGENT_MODEL_IDS = ['gemini-2.5-flash', 'gpt-5.4-mini', 'claude-sonnet-3-5', 'kimi-k2.6'] as const;
export type AgentModelId = (typeof AGENT_MODEL_IDS)[number];
export type AgentModelProvider = 'google' | 'openai' | 'anthropic';
export type AgentModelProvider = 'google' | 'openai' | 'anthropic' | 'moonshot';
export type AgentModelCostTier = 'low' | 'high';
export interface AgentModelDescriptor {
provider: AgentModelProvider;
label: string;
/** The exact model id passed to the provider SDK. */
backendModelId: string;
/** Whether this model is available on the free plan. */
isFree: boolean;
/** Cost tier shown in the model picker — 'low' ($) or 'high' ($$$). */
costTier: AgentModelCostTier;
}
export const AGENT_MODELS: Record<AgentModelId, AgentModelDescriptor> = {
'gemini-2.5-flash': {
provider: 'google',
label: 'Gemini 2.5 Flash',
backendModelId: 'gemini-2.5-flash'
backendModelId: 'gemini-2.5-flash',
isFree: true,
costTier: 'low'
},
'gpt-4o': {
'gpt-5.4-mini': {
provider: 'openai',
label: 'GPT-4o',
backendModelId: 'gpt-4o'
label: 'GPT-5.4 Mini',
backendModelId: 'gpt-5.4-mini',
isFree: false,
costTier: 'low'
},
'claude-sonnet-4-5': {
'claude-sonnet-3-5': {
provider: 'anthropic',
label: 'Claude Sonnet 4.5',
backendModelId: 'claude-sonnet-4-5-20250929'
label: 'Claude Sonnet 4.6',
backendModelId: 'claude-sonnet-4-6',
isFree: false,
costTier: 'high'
},
'kimi-k2.6': {
provider: 'moonshot',
label: 'Kimi K2.6',
backendModelId: 'kimi-k2.6',
isFree: true,
costTier: 'low'
}
};
export const UI_PICKER_MODEL_IDS = ['gemini-2.5-flash', 'gpt-4o'] as const satisfies readonly AgentModelId[];
export const UI_PICKER_MODEL_IDS = [
'gemini-2.5-flash',
'kimi-k2.6',
'gpt-5.4-mini',
'claude-sonnet-3-5'
] as const satisfies readonly AgentModelId[];
export const DEFAULT_PICKER_MODEL_ID: AgentModelId = 'gemini-2.5-flash';