From 64dc8142783075ee5d16867a649dc44428b8ce06 Mon Sep 17 00:00:00 2001 From: HatcherLabs Date: Sun, 12 Jul 2026 08:46:54 +0300 Subject: [PATCH] feat: add latest hosted model recommendations --- dist/index.js | 101 ++++++++++++++++++++ dist/index.mjs | 101 ++++++++++++++++++++ src/constants/index.ts | 101 ++++++++++++++++++++ tests/hosted-model-recommendations.test.mjs | 23 +++++ 4 files changed, 326 insertions(+) diff --git a/dist/index.js b/dist/index.js index cf88c20..057fed6 100644 --- a/dist/index.js +++ b/dist/index.js @@ -491,6 +491,15 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ context: "1M", description: "Higher quality Gemini option for complex reasoning." }, + { + id: "google/gemini-3.5-flash", + name: "Gemini 3.5 Flash", + provider: "Google", + category: "balanced", + costTier: "medium", + context: "1.05M", + description: "Current Gemini Flash model for responsive multimodal and long-context agent work." + }, { id: "qwen/qwen3.5-flash-02-23", name: "Qwen3.5 Flash", @@ -572,6 +581,15 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ context: "1M", description: "Higher quality Qwen option for more complex reasoning tasks." }, + { + id: "qwen/qwen3.7-plus", + name: "Qwen3.7 Plus", + provider: "Qwen", + category: "balanced", + costTier: "medium", + context: "1M", + description: "New Qwen model for cost-efficient long-context reasoning, coding, and tool use." + }, { id: "qwen/qwen3-max", name: "Qwen3 Max", @@ -664,6 +682,15 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ context: "1M", description: "Virtuals Compute Anthropic route for autonomous knowledge work, coding, and multimodal inputs." }, + { + id: "virtuals/anthropic-claude-sonnet-5", + name: "Claude Sonnet 5", + provider: "Virtuals", + category: "balanced", + costTier: "variable", + context: "1M", + description: "Virtuals Compute Sonnet route for coding, writing, reasoning, and agent workflows." + }, { id: "virtuals/e2ee-deepseek-v4-flash", name: "DeepSeek V4 Flash (E2EE)", @@ -781,6 +808,24 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ context: "256K", description: "Virtuals Compute Gemini route for quick responses and multimodal-adjacent workflows." }, + { + id: "virtuals/google-gemini-3-5-flash", + name: "Gemini 3.5 Flash", + provider: "Virtuals", + category: "fast", + costTier: "variable", + context: "1M", + description: "Virtuals Compute Gemini route for responsive multimodal and long-context agent tasks." + }, + { + id: "virtuals/z-ai-glm-5-2", + name: "GLM 5.2", + provider: "Virtuals", + category: "advanced", + costTier: "variable", + context: "1M", + description: "Virtuals Compute GLM route for large-context reasoning, coding, and planning." + }, { id: "openai/gpt-5.3-codex", name: "GPT-5.3 Codex", @@ -826,6 +871,15 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ context: "200K", description: "Higher quality GLM model for reasoning and planning." }, + { + id: "z-ai/glm-5.2", + name: "GLM 5.2", + provider: "Z.ai", + category: "balanced", + costTier: "medium", + context: "1.05M", + description: "Current GLM model with a large context window for reasoning, coding, and planning." + }, { id: "openai/gpt-5.4", name: "GPT-5.4", @@ -845,6 +899,25 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ description: "Most expensive Claude option for difficult reasoning.", warning: "Consumes AI Credits quickly. Show a confirmation before saving as default." }, + { + id: "anthropic/claude-sonnet-5", + name: "Claude Sonnet 5", + provider: "Anthropic", + category: "premium", + costTier: "high", + context: "1M", + description: "Current Sonnet model for reliable coding, writing, reasoning, and agent workflows." + }, + { + id: "anthropic/claude-fable-5", + name: "Claude Fable 5", + provider: "Anthropic", + category: "advanced", + costTier: "premium", + context: "1M", + description: "Frontier Claude model for autonomous knowledge work, complex coding, and multimodal inputs.", + warning: "Premium model. Consumes AI Credits quickly." + }, { id: "openai/gpt-5.5", name: "GPT-5.5", @@ -865,6 +938,34 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ description: "Highest-cost OpenAI option for rare, high-stakes tasks.", warning: "Consumes AI Credits very quickly. Keep hidden behind an explicit advanced toggle." }, + { + id: "openai/gpt-5.6-luna", + name: "GPT-5.6 Luna", + provider: "OpenAI", + category: "fast", + costTier: "medium", + context: "1.05M", + description: "Cost-efficient GPT-5.6 variant for high-volume and latency-sensitive agent tasks." + }, + { + id: "openai/gpt-5.6-terra", + name: "GPT-5.6 Terra", + provider: "OpenAI", + category: "balanced", + costTier: "high", + context: "1.05M", + description: "Balanced GPT-5.6 variant for everyday coding, reasoning, and agent workflows." + }, + { + id: "openai/gpt-5.6-sol", + name: "GPT-5.6 Sol", + provider: "OpenAI", + category: "premium", + costTier: "premium", + context: "1.05M", + description: "Flagship GPT-5.6 variant for complex reasoning, coding, and agentic workflows.", + warning: "Premium model. Monitor AI Credit usage on long tasks." + }, { id: "meta-llama/llama-4-scout-17b-16e-instruct", name: "Llama 4 Scout", diff --git a/dist/index.mjs b/dist/index.mjs index 9dabe3e..5568ee3 100644 --- a/dist/index.mjs +++ b/dist/index.mjs @@ -440,6 +440,15 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ context: "1M", description: "Higher quality Gemini option for complex reasoning." }, + { + id: "google/gemini-3.5-flash", + name: "Gemini 3.5 Flash", + provider: "Google", + category: "balanced", + costTier: "medium", + context: "1.05M", + description: "Current Gemini Flash model for responsive multimodal and long-context agent work." + }, { id: "qwen/qwen3.5-flash-02-23", name: "Qwen3.5 Flash", @@ -521,6 +530,15 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ context: "1M", description: "Higher quality Qwen option for more complex reasoning tasks." }, + { + id: "qwen/qwen3.7-plus", + name: "Qwen3.7 Plus", + provider: "Qwen", + category: "balanced", + costTier: "medium", + context: "1M", + description: "New Qwen model for cost-efficient long-context reasoning, coding, and tool use." + }, { id: "qwen/qwen3-max", name: "Qwen3 Max", @@ -613,6 +631,15 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ context: "1M", description: "Virtuals Compute Anthropic route for autonomous knowledge work, coding, and multimodal inputs." }, + { + id: "virtuals/anthropic-claude-sonnet-5", + name: "Claude Sonnet 5", + provider: "Virtuals", + category: "balanced", + costTier: "variable", + context: "1M", + description: "Virtuals Compute Sonnet route for coding, writing, reasoning, and agent workflows." + }, { id: "virtuals/e2ee-deepseek-v4-flash", name: "DeepSeek V4 Flash (E2EE)", @@ -730,6 +757,24 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ context: "256K", description: "Virtuals Compute Gemini route for quick responses and multimodal-adjacent workflows." }, + { + id: "virtuals/google-gemini-3-5-flash", + name: "Gemini 3.5 Flash", + provider: "Virtuals", + category: "fast", + costTier: "variable", + context: "1M", + description: "Virtuals Compute Gemini route for responsive multimodal and long-context agent tasks." + }, + { + id: "virtuals/z-ai-glm-5-2", + name: "GLM 5.2", + provider: "Virtuals", + category: "advanced", + costTier: "variable", + context: "1M", + description: "Virtuals Compute GLM route for large-context reasoning, coding, and planning." + }, { id: "openai/gpt-5.3-codex", name: "GPT-5.3 Codex", @@ -775,6 +820,15 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ context: "200K", description: "Higher quality GLM model for reasoning and planning." }, + { + id: "z-ai/glm-5.2", + name: "GLM 5.2", + provider: "Z.ai", + category: "balanced", + costTier: "medium", + context: "1.05M", + description: "Current GLM model with a large context window for reasoning, coding, and planning." + }, { id: "openai/gpt-5.4", name: "GPT-5.4", @@ -794,6 +848,25 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ description: "Most expensive Claude option for difficult reasoning.", warning: "Consumes AI Credits quickly. Show a confirmation before saving as default." }, + { + id: "anthropic/claude-sonnet-5", + name: "Claude Sonnet 5", + provider: "Anthropic", + category: "premium", + costTier: "high", + context: "1M", + description: "Current Sonnet model for reliable coding, writing, reasoning, and agent workflows." + }, + { + id: "anthropic/claude-fable-5", + name: "Claude Fable 5", + provider: "Anthropic", + category: "advanced", + costTier: "premium", + context: "1M", + description: "Frontier Claude model for autonomous knowledge work, complex coding, and multimodal inputs.", + warning: "Premium model. Consumes AI Credits quickly." + }, { id: "openai/gpt-5.5", name: "GPT-5.5", @@ -814,6 +887,34 @@ var HATCHER_HOSTED_MODEL_RECOMMENDATIONS = [ description: "Highest-cost OpenAI option for rare, high-stakes tasks.", warning: "Consumes AI Credits very quickly. Keep hidden behind an explicit advanced toggle." }, + { + id: "openai/gpt-5.6-luna", + name: "GPT-5.6 Luna", + provider: "OpenAI", + category: "fast", + costTier: "medium", + context: "1.05M", + description: "Cost-efficient GPT-5.6 variant for high-volume and latency-sensitive agent tasks." + }, + { + id: "openai/gpt-5.6-terra", + name: "GPT-5.6 Terra", + provider: "OpenAI", + category: "balanced", + costTier: "high", + context: "1.05M", + description: "Balanced GPT-5.6 variant for everyday coding, reasoning, and agent workflows." + }, + { + id: "openai/gpt-5.6-sol", + name: "GPT-5.6 Sol", + provider: "OpenAI", + category: "premium", + costTier: "premium", + context: "1.05M", + description: "Flagship GPT-5.6 variant for complex reasoning, coding, and agentic workflows.", + warning: "Premium model. Monitor AI Credit usage on long tasks." + }, { id: "meta-llama/llama-4-scout-17b-16e-instruct", name: "Llama 4 Scout", diff --git a/src/constants/index.ts b/src/constants/index.ts index 4eebe83..f26139e 100644 --- a/src/constants/index.ts +++ b/src/constants/index.ts @@ -436,6 +436,15 @@ export const HATCHER_HOSTED_MODEL_RECOMMENDATIONS: HostedModelRecommendation[] = context: '1M', description: 'Higher quality Gemini option for complex reasoning.', }, + { + id: 'google/gemini-3.5-flash', + name: 'Gemini 3.5 Flash', + provider: 'Google', + category: 'balanced', + costTier: 'medium', + context: '1.05M', + description: 'Current Gemini Flash model for responsive multimodal and long-context agent work.', + }, { id: 'qwen/qwen3.5-flash-02-23', name: 'Qwen3.5 Flash', @@ -517,6 +526,15 @@ export const HATCHER_HOSTED_MODEL_RECOMMENDATIONS: HostedModelRecommendation[] = context: '1M', description: 'Higher quality Qwen option for more complex reasoning tasks.', }, + { + id: 'qwen/qwen3.7-plus', + name: 'Qwen3.7 Plus', + provider: 'Qwen', + category: 'balanced', + costTier: 'medium', + context: '1M', + description: 'New Qwen model for cost-efficient long-context reasoning, coding, and tool use.', + }, { id: 'qwen/qwen3-max', name: 'Qwen3 Max', @@ -609,6 +627,15 @@ export const HATCHER_HOSTED_MODEL_RECOMMENDATIONS: HostedModelRecommendation[] = context: '1M', description: 'Virtuals Compute Anthropic route for autonomous knowledge work, coding, and multimodal inputs.', }, + { + id: 'virtuals/anthropic-claude-sonnet-5', + name: 'Claude Sonnet 5', + provider: 'Virtuals', + category: 'balanced', + costTier: 'variable', + context: '1M', + description: 'Virtuals Compute Sonnet route for coding, writing, reasoning, and agent workflows.', + }, { id: 'virtuals/e2ee-deepseek-v4-flash', name: 'DeepSeek V4 Flash (E2EE)', @@ -726,6 +753,24 @@ export const HATCHER_HOSTED_MODEL_RECOMMENDATIONS: HostedModelRecommendation[] = context: '256K', description: 'Virtuals Compute Gemini route for quick responses and multimodal-adjacent workflows.', }, + { + id: 'virtuals/google-gemini-3-5-flash', + name: 'Gemini 3.5 Flash', + provider: 'Virtuals', + category: 'fast', + costTier: 'variable', + context: '1M', + description: 'Virtuals Compute Gemini route for responsive multimodal and long-context agent tasks.', + }, + { + id: 'virtuals/z-ai-glm-5-2', + name: 'GLM 5.2', + provider: 'Virtuals', + category: 'advanced', + costTier: 'variable', + context: '1M', + description: 'Virtuals Compute GLM route for large-context reasoning, coding, and planning.', + }, { id: 'openai/gpt-5.3-codex', name: 'GPT-5.3 Codex', @@ -771,6 +816,15 @@ export const HATCHER_HOSTED_MODEL_RECOMMENDATIONS: HostedModelRecommendation[] = context: '200K', description: 'Higher quality GLM model for reasoning and planning.', }, + { + id: 'z-ai/glm-5.2', + name: 'GLM 5.2', + provider: 'Z.ai', + category: 'balanced', + costTier: 'medium', + context: '1.05M', + description: 'Current GLM model with a large context window for reasoning, coding, and planning.', + }, { id: 'openai/gpt-5.4', name: 'GPT-5.4', @@ -790,6 +844,25 @@ export const HATCHER_HOSTED_MODEL_RECOMMENDATIONS: HostedModelRecommendation[] = description: 'Most expensive Claude option for difficult reasoning.', warning: 'Consumes AI Credits quickly. Show a confirmation before saving as default.', }, + { + id: 'anthropic/claude-sonnet-5', + name: 'Claude Sonnet 5', + provider: 'Anthropic', + category: 'premium', + costTier: 'high', + context: '1M', + description: 'Current Sonnet model for reliable coding, writing, reasoning, and agent workflows.', + }, + { + id: 'anthropic/claude-fable-5', + name: 'Claude Fable 5', + provider: 'Anthropic', + category: 'advanced', + costTier: 'premium', + context: '1M', + description: 'Frontier Claude model for autonomous knowledge work, complex coding, and multimodal inputs.', + warning: 'Premium model. Consumes AI Credits quickly.', + }, { id: 'openai/gpt-5.5', name: 'GPT-5.5', @@ -810,6 +883,34 @@ export const HATCHER_HOSTED_MODEL_RECOMMENDATIONS: HostedModelRecommendation[] = description: 'Highest-cost OpenAI option for rare, high-stakes tasks.', warning: 'Consumes AI Credits very quickly. Keep hidden behind an explicit advanced toggle.', }, + { + id: 'openai/gpt-5.6-luna', + name: 'GPT-5.6 Luna', + provider: 'OpenAI', + category: 'fast', + costTier: 'medium', + context: '1.05M', + description: 'Cost-efficient GPT-5.6 variant for high-volume and latency-sensitive agent tasks.', + }, + { + id: 'openai/gpt-5.6-terra', + name: 'GPT-5.6 Terra', + provider: 'OpenAI', + category: 'balanced', + costTier: 'high', + context: '1.05M', + description: 'Balanced GPT-5.6 variant for everyday coding, reasoning, and agent workflows.', + }, + { + id: 'openai/gpt-5.6-sol', + name: 'GPT-5.6 Sol', + provider: 'OpenAI', + category: 'premium', + costTier: 'premium', + context: '1.05M', + description: 'Flagship GPT-5.6 variant for complex reasoning, coding, and agentic workflows.', + warning: 'Premium model. Monitor AI Credit usage on long tasks.', + }, { id: 'meta-llama/llama-4-scout-17b-16e-instruct', name: 'Llama 4 Scout', diff --git a/tests/hosted-model-recommendations.test.mjs b/tests/hosted-model-recommendations.test.mjs index afa8b88..f6b2015 100644 --- a/tests/hosted-model-recommendations.test.mjs +++ b/tests/hosted-model-recommendations.test.mjs @@ -11,6 +11,23 @@ test('hosted model ids remain unique', () => { assert.equal(modelsById.size, HATCHER_HOSTED_MODEL_RECOMMENDATIONS.length); }); +test('latest verified models are exposed on the Hatcher route', () => { + const expected = new Map([ + ['openai/gpt-5.6-luna', '1.05M'], + ['openai/gpt-5.6-terra', '1.05M'], + ['openai/gpt-5.6-sol', '1.05M'], + ['anthropic/claude-sonnet-5', '1M'], + ['anthropic/claude-fable-5', '1M'], + ['google/gemini-3.5-flash', '1.05M'], + ['z-ai/glm-5.2', '1.05M'], + ['qwen/qwen3.7-plus', '1M'], + ]); + + for (const [id, context] of expected) { + assert.equal(modelsById.get(id)?.context, context, `${id} should expose its verified context label`); + } +}); + test('stale selectable partner and xAI ids are removed', () => { const staleIds = [ 'xiaomi/mimo-v2-pro', @@ -42,6 +59,7 @@ test('current direct Grok model replaces retired xAI options', () => { test('Virtuals fallback catalog matches the current no-Llama set', () => { const expectedIds = [ 'virtuals/anthropic-claude-fable-5', + 'virtuals/anthropic-claude-sonnet-5', 'virtuals/e2ee-deepseek-v4-flash', 'virtuals/openai-gpt-56-luna', 'virtuals/openai-gpt-56-luna-pro', @@ -55,6 +73,8 @@ test('Virtuals fallback catalog matches the current no-Llama set', () => { 'virtuals/moonshotai-kimi-k2-7-code', 'virtuals/deepseek-deepseek-v3-2', 'virtuals/google-gemini-3-flash-preview', + 'virtuals/google-gemini-3-5-flash', + 'virtuals/z-ai-glm-5-2', ]; const actualIds = HATCHER_HOSTED_MODEL_RECOMMENDATIONS .filter((model) => model.provider === 'Virtuals') @@ -69,6 +89,7 @@ test('Virtuals fallback catalog matches the current no-Llama set', () => { test('new Virtuals frontier models expose verified context labels', () => { const oneMillionContextIds = [ 'virtuals/anthropic-claude-fable-5', + 'virtuals/anthropic-claude-sonnet-5', 'virtuals/e2ee-deepseek-v4-flash', 'virtuals/openai-gpt-56-luna', 'virtuals/openai-gpt-56-luna-pro', @@ -76,6 +97,8 @@ test('new Virtuals frontier models expose verified context labels', () => { 'virtuals/openai-gpt-56-sol-pro', 'virtuals/openai-gpt-56-terra', 'virtuals/openai-gpt-56-terra-pro', + 'virtuals/google-gemini-3-5-flash', + 'virtuals/z-ai-glm-5-2', ]; for (const id of oneMillionContextIds) {