diff --git a/CHANGELOG.md b/CHANGELOG.md index acc7dc28bc..396cd97f5b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ Docs: https://docs.clawd.bot ### Changes - Tools: allow `sessions_spawn` to override thinking level for sub-agent runs. +- Models: add Qwen Portal OAuth provider support. (#1120) — thanks @mukhtharcm. ### Fixes - Memory: apply OpenAI batch defaults even without explicit remote config. diff --git a/extensions/qwen-portal-auth/oauth.ts b/extensions/qwen-portal-auth/oauth.ts index f3f3124c63..3707274f62 100644 --- a/extensions/qwen-portal-auth/oauth.ts +++ b/extensions/qwen-portal-auth/oauth.ts @@ -100,11 +100,11 @@ async function pollDeviceToken(params: { return { status: "error", message: text || response.statusText }; } - if (response.status === 400 && payload?.error === "authorization_pending") { + if (payload?.error === "authorization_pending") { return { status: "pending" }; } - if (response.status === 429 && payload?.error === "slow_down") { + if (payload?.error === "slow_down") { return { status: "pending", slowDown: true }; } diff --git a/src/commands/auth-choice.apply.qwen-portal.ts b/src/commands/auth-choice.apply.qwen-portal.ts index acaf5078e8..ab36355cb1 100644 --- a/src/commands/auth-choice.apply.qwen-portal.ts +++ b/src/commands/auth-choice.apply.qwen-portal.ts @@ -1,3 +1,4 @@ +import { resolveClawdbotAgentDir } from "../agents/agent-paths.js"; import { resolveDefaultAgentId, resolveAgentDir, resolveAgentWorkspaceDir } from "../agents/agent-scope.js"; import { upsertAuthProfile } from "../agents/auth-profiles.js"; import { normalizeProviderId } from "../agents/model-selection.js"; @@ -23,7 +24,7 @@ function enableBundledPlugin(cfg: ClawdbotConfig): ClawdbotConfig { entries: { ...cfg.plugins?.entries, [PLUGIN_ID]: { - ...(existingEntry ?? {}), + ...existingEntry, enabled: true, }, }, @@ -108,7 +109,10 @@ export async function applyAuthChoiceQwenPortal( let nextConfig = enableBundledPlugin(params.config); const agentId = params.agentId ?? resolveDefaultAgentId(nextConfig); - const agentDir = params.agentDir ?? resolveAgentDir(nextConfig, agentId); + const defaultAgentId = resolveDefaultAgentId(nextConfig); + const agentDir = + params.agentDir ?? + (agentId === defaultAgentId ? resolveClawdbotAgentDir() : resolveAgentDir(nextConfig, agentId)); const workspaceDir = resolveAgentWorkspaceDir(nextConfig, agentId) ?? resolveDefaultAgentWorkspaceDir();