From ac2a1e5b509176da9426cac76ed4e97c1db6855a Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 16 May 2026 23:36:49 +0100 Subject: [PATCH] fix(minimax): declare CN provider auth aliases Co-authored-by: kamusis --- CHANGELOG.md | 1 + extensions/minimax/index.test.ts | 13 +++++++++++++ extensions/minimax/openclaw.plugin.json | 4 ++++ 3 files changed, 18 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3a021e90b9f..bbf38703c32 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -26,6 +26,7 @@ Docs: https://docs.openclaw.ai - Channels/stream previews: contain rejected background draft-stream flushes so preview send failures do not surface as fatal unhandled rejections. Fixes #82712. (#82713) Thanks @coygeek. - Providers/OpenAI Codex: include base `gpt-5.5` and `gpt-5.4` reasoning metadata in the bundled Codex catalog so `/think xhigh` remains available for those models. Fixes #82744. +- Providers/MiniMax: declare CN endpoint auth aliases in the plugin manifest so `minimax-cn` and `minimax-portal-cn` reuse the correct base auth profiles instead of falling back to unrelated models after 401s. Fixes #63823. Thanks @kamusis. - Agents/edit tool: honor `file_path` and related path aliases when resolving edit-recovery targets, so post-write errors no longer surface false edit failures after the file actually changed. Fixes #81909. Thanks @giodl73-repo. - QQBot: treat only explicit truthy `QQBOT_DEBUG` values as enabling debug logs, so false-like values such as `0` no longer expose debug output. Fixes #82644. (#82697) Thanks @leno23. - Agents/session_status: resolve implicit no-arg status lookups against the live run session, so `/think` changes report the current thinking level instead of stale sandbox state. Fixes #82669. (#82696) Thanks @leno23. diff --git a/extensions/minimax/index.test.ts b/extensions/minimax/index.test.ts index 2a39af62269..78a211bc902 100644 --- a/extensions/minimax/index.test.ts +++ b/extensions/minimax/index.test.ts @@ -1,3 +1,5 @@ +import { readFileSync } from "node:fs"; +import { resolve } from "node:path"; import type { StreamFn } from "@earendil-works/pi-agent-core"; import type { Context, Model } from "@earendil-works/pi-ai"; import { @@ -25,6 +27,17 @@ const minimaxProviderPlugin = { }; describe("minimax provider hooks", () => { + it("declares CN provider auth aliases in the manifest", () => { + const pluginJson = JSON.parse( + readFileSync(resolve(import.meta.dirname, "openclaw.plugin.json"), "utf-8"), + ); + + expect(pluginJson.providerAuthAliases).toEqual({ + "minimax-cn": "minimax", + "minimax-portal-cn": "minimax-portal", + }); + }); + it("keeps native reasoning mode for MiniMax transports", async () => { const { providers } = await registerProviderPlugin({ plugin: minimaxProviderPlugin, diff --git a/extensions/minimax/openclaw.plugin.json b/extensions/minimax/openclaw.plugin.json index 7b62ca49a13..82aa7f9b0fe 100644 --- a/extensions/minimax/openclaw.plugin.json +++ b/extensions/minimax/openclaw.plugin.json @@ -12,6 +12,10 @@ "minimax": ["MINIMAX_CODE_PLAN_KEY", "MINIMAX_CODING_API_KEY", "MINIMAX_API_KEY"], "minimax-portal": ["MINIMAX_OAUTH_TOKEN", "MINIMAX_API_KEY"] }, + "providerAuthAliases": { + "minimax-cn": "minimax", + "minimax-portal-cn": "minimax-portal" + }, "providerAuthChoices": [ { "provider": "minimax-portal",