diff --git a/packages/coding-agent/src/session/agent-session.ts b/packages/coding-agent/src/session/agent-session.ts index 13b0e1918..0a1ec8332 100644 --- a/packages/coding-agent/src/session/agent-session.ts +++ b/packages/coding-agent/src/session/agent-session.ts @@ -16929,7 +16929,7 @@ export class AgentSession { tokens: { input, output, reasoning, cacheRead, cacheWrite, total: totalTokens }, cost, messages: { user, assistant, total: messages.length }, - sessionId: advisor.slug ? `${this.sessionId}-advisor-${advisor.slug}` : `${this.sessionId}-advisor`, + sessionId: advisor.agent.sessionId, }; } @@ -16958,7 +16958,7 @@ export class AgentSession { if (s.tokens.cacheRead > 0) spendParts.push(`${s.tokens.cacheRead.toLocaleString()} cache read`); if (s.tokens.cacheWrite > 0) spendParts.push(`${s.tokens.cacheWrite.toLocaleString()} cache write`); const spendLine = `Spend: ${spendParts.join(", ")}, $${s.cost.toFixed(4)}`; - if (!s.model) return `Advisor "${s.name}" is ${s.status.replace("_", " ")}.`; + if (!s.model || s.status !== "running") return `Advisor "${s.name}" is ${s.status.replace("_", " ")}.`; return `Advisor is enabled (${s.model.provider}/${s.model.id}). ${contextLine}. ${spendLine}.`; } const lines = [`Advisors enabled (${stats.advisors.length}):`]; @@ -16968,7 +16968,7 @@ export class AgentSession { ? `${s.contextTokens.toLocaleString()} / ${s.contextWindow.toLocaleString()} (${Math.round((s.contextTokens / s.contextWindow) * 100)}%)` : `${s.contextTokens.toLocaleString()}`; lines.push( - ` • ${s.name}${s.model ? ` (${s.model.provider}/${s.model.id})` : ` [${s.status}]`} — context ${ctx} tokens, $${s.cost.toFixed(4)}`, + ` • ${s.name}${s.model && s.status === "running" ? ` (${s.model.provider}/${s.model.id})` : ` [${s.status}]`} — context ${ctx} tokens, $${s.cost.toFixed(4)}`, ); } lines.push( diff --git a/packages/coding-agent/test/advisor-toggle.test.ts b/packages/coding-agent/test/advisor-toggle.test.ts index b22067375..5a93da56b 100644 --- a/packages/coding-agent/test/advisor-toggle.test.ts +++ b/packages/coding-agent/test/advisor-toggle.test.ts @@ -284,4 +284,16 @@ describe("AgentSession advisor toggle", () => { expect(sessionB.isAdvisorEnabled()).toBe(true); expect(sessionB.isAdvisorActive()).toBe(true); }); + + it("exposes provider sessionId on live advisor stats", () => { + session.settings.setModelRole("advisor", `${model.provider}/${model.id}`); + session.toggleAdvisorEnabled(); + + const stats = session.getAdvisorStats(); + expect(stats.advisors).toHaveLength(1); + const sid = stats.advisors[0].sessionId!; + // Full UUIDv7 — must not contain the display-label "-advisor" suffix + expect(sid).toMatch(/^[0-9a-f]{8}-[0-9a-f]{4}-7[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i); + expect(sid).not.toContain("-advisor"); + }); });