fix: route native status to active agent

This commit is contained in:
Peter Steinberger
2026-01-20 19:04:25 +00:00
parent 5c4079f66c
commit 243a8b019e
4 changed files with 61 additions and 12 deletions

View File

@@ -5,7 +5,6 @@ import {
resolveAuthProfileDisplayLabel,
resolveAuthProfileOrder,
} from "../../agents/auth-profiles.js";
import { DEFAULT_MODEL, DEFAULT_PROVIDER } from "../../agents/defaults.js";
import { getCustomProviderApiKey, resolveEnvApiKey } from "../../agents/model-auth.js";
import { loadModelCatalog } from "../../agents/model-catalog.js";
import {
@@ -13,7 +12,7 @@ import {
buildModelAliasIndex,
modelKey,
normalizeProviderId,
resolveConfiguredModelRef,
resolveDefaultModelForAgent,
resolveModelRefFromString,
} from "../../agents/model-selection.js";
import { normalizeGroupActivation } from "../../auto-reply/group-activation.js";
@@ -152,6 +151,7 @@ async function resolveModelOverride(params: {
cfg: ClawdbotConfig;
raw: string;
sessionEntry?: SessionEntry;
agentId: string;
}): Promise<
| { kind: "reset" }
| {
@@ -165,10 +165,9 @@ async function resolveModelOverride(params: {
if (!raw) return { kind: "reset" };
if (raw.toLowerCase() === "default") return { kind: "reset" };
const configDefault = resolveConfiguredModelRef({
const configDefault = resolveDefaultModelForAgent({
cfg: params.cfg,
defaultProvider: DEFAULT_PROVIDER,
defaultModel: DEFAULT_MODEL,
agentId: params.agentId,
});
const currentProvider = params.sessionEntry?.providerOverride?.trim() || configDefault.provider;
const currentModel = params.sessionEntry?.modelOverride?.trim() || configDefault.model;
@@ -248,6 +247,7 @@ export function createSessionStatusTool(opts?: {
cfg,
raw: modelRaw,
sessionEntry: resolved.entry,
agentId,
});
const nextEntry: SessionEntry = {
...resolved.entry,
@@ -275,11 +275,7 @@ export function createSessionStatusTool(opts?: {
}
const agentDir = resolveAgentDir(cfg, agentId);
const configured = resolveConfiguredModelRef({
cfg,
defaultProvider: DEFAULT_PROVIDER,
defaultModel: DEFAULT_MODEL,
});
const configured = resolveDefaultModelForAgent({ cfg, agentId });
const providerForCard = resolved.entry.providerOverride?.trim() || configured.provider;
const usageProvider = resolveUsageProviderId(providerForCard);
let usageLine: string | undefined;
@@ -326,9 +322,18 @@ export function createSessionStatusTool(opts?: {
resolved.entry.queueDebounceMs ?? resolved.entry.queueCap ?? resolved.entry.queueDrop,
);
const agentDefaults = cfg.agents?.defaults ?? {};
const defaultLabel = `${configured.provider}/${configured.model}`;
const agentModel =
typeof agentDefaults.model === "object" && agentDefaults.model
? { ...agentDefaults.model, primary: defaultLabel }
: { primary: defaultLabel };
const statusText = buildStatusMessage({
config: cfg,
agent: cfg.agents?.defaults ?? {},
agent: {
...agentDefaults,
model: agentModel,
},
sessionEntry: resolved.entry,
sessionKey: resolved.key,
groupActivation,