From ca12d1a8aff948789f81e604569acf3da05b4064 Mon Sep 17 00:00:00 2001 From: AstroHan Date: Thu, 3 Sep 2026 11:45:32 +0800 Subject: [PATCH 1/2] fix(core): sync Volcengine Agent Plan catalog with the official plan The Agent Plan gateway exposes no model-list endpoint its plan key can reach and has no models.dev snapshot, so Maka's catalog is a hand- maintained mirror of the official plan page and its release/retirement announcements. That mirror had drifted: glm-5.3-flash (launched 2026-08-28, natively multimodal) was missing, minimax-m3 now serves a 1M context window, and glm-5.2, kimi-k2.6 and minimax-m2.7 were retired upstream without their metadata recording it (the gateway auto-routes glm-5.2 to glm-5.3). Mirror the official facts as of 2026-09: offer glm-5.3-flash with its published limits and vision support, correct minimax-m3's window, and mark the three retired ids deprecated so existing connections keep sending while the picker signals the retirement. glm-5.3's limits are normalized to the plan page's 1024k/128k like its siblings. No migration impact: fallback lists stay a non-allowlist (#3330), and deprecated ids remain selectable and sendable. Generated-by: pi --- .../core/src/__tests__/model-metadata.test.ts | 37 +++++++++++++++++++ packages/core/src/model-metadata.ts | 26 +++++++++---- packages/core/src/provider-registry.ts | 1 + 3 files changed, 57 insertions(+), 7 deletions(-) diff --git a/packages/core/src/__tests__/model-metadata.test.ts b/packages/core/src/__tests__/model-metadata.test.ts index 2696510d85..88e076590e 100644 --- a/packages/core/src/__tests__/model-metadata.test.ts +++ b/packages/core/src/__tests__/model-metadata.test.ts @@ -164,3 +164,40 @@ describe('deepseek v4 flash vision exp metadata regression', () => { ); }); }); + +// The Agent Plan gateway has no model-list endpoint its key can reach and has +// no models.dev snapshot, so its catalog is a hand-maintained mirror of the +// official plan page (volcengine docs 2366394) and its model release and +// retirement announcements. These tests pin that mirror to the facts those +// pages published as of 2026-09. +describe('Volcengine Agent Plan official catalog mirror', () => { + it('offers glm-5.3-flash with the facts the plan page publishes', () => { + assert.ok( + providerFallbackModelIds(PROVIDER_REGISTRY['volcengine-agent-plan']).includes( + 'glm-5.3-flash', + ), + ); + const metadata = lookupModelMetadata('volcengine-agent-plan', 'glm-5.3-flash'); + assert.equal(metadata.displayName, 'GLM-5.3-Flash'); + assert.equal(metadata.contextWindow, 1_024_000); + assert.equal(metadata.maxOutputTokens, 128_000); + assert.equal(metadata.capabilities?.vision, true); + }); + + it('carries the official 1M context window for minimax-m3', () => { + assert.equal( + lookupModelMetadata('volcengine-agent-plan', 'minimax-m3').contextWindow, + 1_024_000, + ); + }); + + it('records the upstream retirement of glm-5.2, kimi-k2.6 and minimax-m2.7', () => { + for (const modelId of ['glm-5.2', 'kimi-k2.6', 'minimax-m2.7']) { + assert.equal( + lookupModelMetadata('volcengine-agent-plan', modelId).lifecycle, + 'deprecated', + modelId, + ); + } + }); +}); diff --git a/packages/core/src/model-metadata.ts b/packages/core/src/model-metadata.ts index 9148b8065d..2e79e3820e 100644 --- a/packages/core/src/model-metadata.ts +++ b/packages/core/src/model-metadata.ts @@ -287,9 +287,9 @@ const VOLCENGINE_CODING_PLAN_MODEL_METADATA: Record = { }; const VOLCENGINE_AGENT_PLAN_MODEL_METADATA: Record = { 'ark-code-latest': agentPlanModel('Ark Code Latest', 256_000, 32_000, { vision: true }), - // Agent Plan currently exposes GLM-5.3 in its ark-code-latest routing catalog. - // The underlying model's published limits are 1M context and 128K output. - 'glm-5.3': agentPlanModel('GLM-5.3', 1_000_000, 131_072), + // The plan page lists "glm-5.3 (glm-latest)": thinking is on by default and + // cannot be turned off. + 'glm-5.3': agentPlanModel('GLM-5.3', 1_024_000, 128_000), 'doubao-seed-2.0-mini': agentPlanModel('Doubao Seed 2.0 Mini', 256_000, 128_000, { vision: true, }), @@ -309,11 +309,23 @@ const VOLCENGINE_AGENT_PLAN_MODEL_METADATA: Record = { 'doubao-seed-2.0-pro': agentPlanModel('Doubao Seed 2.0 Pro', 256_000, 128_000, { lifecycle: 'deprecated', }), - 'minimax-m2.7': agentPlanModel('MiniMax-M2.7', 200_000, 128_000), - 'minimax-m3': agentPlanModel('MiniMax-M3', 512_000, 128_000, { vision: true }), - 'glm-5.2': agentPlanModel('GLM-5.2', 1_024_000, 128_000), + 'minimax-m2.7': agentPlanModel('MiniMax-M2.7', 200_000, 128_000, { + // Upstream retirement notice of 2026-08-04; the gateway routes to minimax-m3. + lifecycle: 'deprecated', + }), + 'minimax-m3': agentPlanModel('MiniMax-M3', 1_024_000, 128_000, { vision: true }), + 'glm-5.2': agentPlanModel('GLM-5.2', 1_024_000, 128_000, { + // Upstream service ended 2026-08-31; the gateway routes to glm-5.3. + lifecycle: 'deprecated', + }), + // Official alias of glm-5.3 (the plan page lists "glm-5.3 (glm-latest)"). 'glm-latest': agentPlanModel('GLM Latest', 1_024_000, 128_000), - 'kimi-k2.6': agentPlanModel('Kimi-K2.6', 256_000, 32_000, { vision: true }), + 'glm-5.3-flash': agentPlanModel('GLM-5.3-Flash', 1_024_000, 128_000, { vision: true }), + 'kimi-k2.6': agentPlanModel('Kimi-K2.6', 256_000, 32_000, { + // Upstream service ended 2026-08-18; migrate to kimi-k2.7-code or kimi-k3. + lifecycle: 'deprecated', + vision: true, + }), 'kimi-k2.7-code': agentPlanModel('Kimi-K2.7-Code', 256_000, 32_000, { vision: true }), 'deepseek-v4-pro': agentPlanModel('DeepSeek-V4-Pro', 1_024_000, 384_000), 'kimi-k3': agentPlanModel('Kimi-K3', 1_024_000, 128_000, { vision: true }), diff --git a/packages/core/src/provider-registry.ts b/packages/core/src/provider-registry.ts index 15afdaf3b4..a173bf013a 100644 --- a/packages/core/src/provider-registry.ts +++ b/packages/core/src/provider-registry.ts @@ -353,6 +353,7 @@ const volcengineCodingPlanModelIds = [ const volcengineAgentPlanModelIds = [ 'ark-code-latest', 'glm-5.3', + 'glm-5.3-flash', 'doubao-seed-2.0-mini', 'doubao-seed-2.0-lite', 'deepseek-v4-flash', From 24ab7a8ac62a536e5ae6c9479b09a5451f3448f7 Mon Sep 17 00:00:00 2001 From: Astro-Han Date: Thu, 3 Sep 2026 14:10:50 +0800 Subject: [PATCH 2/2] test(core): pin glm-5.3 limits and source the Agent Plan mirror MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Review of #4607 (P2/P3): the mirror had lost its only citable figure when the glm-5.3 entry comment was replaced, and glm-5.3 was the one production edit no test read. Record the mirror's source and its transcription convention once at the table — the plan page's table lists windows as "1024k"/"128k", transcribed here as 1_024_000/128_000, with the page's prose "1M" being that same figure rounded — and pin glm-5.3's two literals in the mirror contract. Generated-by: pi --- packages/core/src/__tests__/model-metadata.test.ts | 6 ++++++ packages/core/src/model-metadata.ts | 7 +++++++ 2 files changed, 13 insertions(+) diff --git a/packages/core/src/__tests__/model-metadata.test.ts b/packages/core/src/__tests__/model-metadata.test.ts index 88e076590e..b0b932d809 100644 --- a/packages/core/src/__tests__/model-metadata.test.ts +++ b/packages/core/src/__tests__/model-metadata.test.ts @@ -184,6 +184,12 @@ describe('Volcengine Agent Plan official catalog mirror', () => { assert.equal(metadata.capabilities?.vision, true); }); + it('pins glm-5.3 to the plan page table literals', () => { + const metadata = lookupModelMetadata('volcengine-agent-plan', 'glm-5.3'); + assert.equal(metadata.contextWindow, 1_024_000); + assert.equal(metadata.maxOutputTokens, 128_000); + }); + it('carries the official 1M context window for minimax-m3', () => { assert.equal( lookupModelMetadata('volcengine-agent-plan', 'minimax-m3').contextWindow, diff --git a/packages/core/src/model-metadata.ts b/packages/core/src/model-metadata.ts index 2e79e3820e..b90bff617e 100644 --- a/packages/core/src/model-metadata.ts +++ b/packages/core/src/model-metadata.ts @@ -285,6 +285,13 @@ const VOLCENGINE_CODING_PLAN_MODEL_METADATA: Record = { 'kimi-k2.6': planModel('Kimi-K2.6', true, 256_000, 32_000), 'kimi-k2.7-code': planModel('Kimi-K2.7-Code', true, 256_000, 32_000), }; +// Hand-maintained mirror of the official Agent Plan personal plan page +// (docs.volcengine.com/docs/82379/2366394) and its model release/retirement +// announcements (82379/2578669, 82379/2578673): the gateway has no +// model-list endpoint its plan key can reach and models.dev has no snapshot. +// The page's table lists windows as "1024k"/"128k"; transcribe those +// literals as 1_024_000/128_000 (its prose "1M" is the same figure rounded). +// Re-check the page before editing an entry here. const VOLCENGINE_AGENT_PLAN_MODEL_METADATA: Record = { 'ark-code-latest': agentPlanModel('Ark Code Latest', 256_000, 32_000, { vision: true }), // The plan page lists "glm-5.3 (glm-latest)": thinking is on by default and