feat: certificates, landing pages, ai tutor, website update, compliance

This commit is contained in:
Rotimi Best
2026-05-18 03:47:22 +01:00
parent c31ad63955
commit ac3a2c14a7
644 changed files with 56050 additions and 5439 deletions
+16 -10
View File
@@ -7,7 +7,7 @@
* even though it isn't currently exposed to users.
*/
export const AGENT_MODEL_IDS = ['gemini-2.5-flash', 'gpt-5.4-mini', 'claude-sonnet-3-5', 'kimi-k2.6'] as const;
export const AGENT_MODEL_IDS = ['gemini-3.1-flash-lite', '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' | 'moonshot';
@@ -22,44 +22,50 @@ export interface AgentModelDescriptor {
isFree: boolean;
/** Cost tier shown in the model picker — 'low' ($) or 'high' ($$$). */
costTier: AgentModelCostTier;
/** Context window size in tokens. Used to show context usage indicator. */
contextWindow: number;
}
export const AGENT_MODELS: Record<AgentModelId, AgentModelDescriptor> = {
'gemini-2.5-flash': {
'gemini-3.1-flash-lite': {
provider: 'google',
label: 'Gemini 2.5 Flash',
backendModelId: 'gemini-2.5-flash',
label: 'Gemini 3.1 Flash Lite',
backendModelId: 'gemini-3.1-flash-lite',
isFree: true,
costTier: 'low'
costTier: 'low',
contextWindow: 1_048_576
},
'gpt-5.4-mini': {
provider: 'openai',
label: 'GPT-5.4 Mini',
backendModelId: 'gpt-5.4-mini',
isFree: false,
costTier: 'low'
costTier: 'low',
contextWindow: 400_000
},
'claude-sonnet-3-5': {
provider: 'anthropic',
label: 'Claude Sonnet 4.6',
backendModelId: 'claude-sonnet-4-6',
isFree: false,
costTier: 'high'
costTier: 'high',
contextWindow: 1_000_000
},
'kimi-k2.6': {
provider: 'moonshot',
label: 'Kimi K2.6',
backendModelId: 'kimi-k2.6',
isFree: true,
costTier: 'low'
costTier: 'low',
contextWindow: 262_144
}
};
export const UI_PICKER_MODEL_IDS = [
'gemini-2.5-flash',
'kimi-k2.6',
'gemini-3.1-flash-lite',
'gpt-5.4-mini',
'claude-sonnet-3-5'
] as const satisfies readonly AgentModelId[];
export const DEFAULT_PICKER_MODEL_ID: AgentModelId = 'gemini-2.5-flash';
export const DEFAULT_PICKER_MODEL_ID: AgentModelId = 'gemini-3.1-flash-lite';