fix: show provider/model labels in TUI
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
- Heartbeat: tighten prompt guidance + suppress duplicate alerts for 24h. (#980) — thanks @voidserf.
|
||||
- Plugins: add provider auth registry + `clawdbot models auth login` for plugin-driven OAuth/API key flows.
|
||||
- Onboarding: prompt to modify/disable/delete when reconfiguring existing channel accounts and keep channel selection looping until Finished.
|
||||
- TUI: show provider/model labels for the active session and default model.
|
||||
- Fix: list model picker entries as provider/model pairs for explicit selection. (#970) — thanks @mcinteerj.
|
||||
- Fix: persist `gateway.mode=local` after selecting Local run mode in `clawdbot configure`, even if no other sections are chosen.
|
||||
- Daemon: fix profile-aware service label resolution (env-driven) and add coverage for launchd/systemd/schtasks. (#969) — thanks @bjesuiter.
|
||||
|
||||
@@ -11,6 +11,7 @@ import {
|
||||
startServerWithClient,
|
||||
testState,
|
||||
} from "./test-helpers.js";
|
||||
import { DEFAULT_PROVIDER } from "../agents/defaults.js";
|
||||
|
||||
installGatewayTestHooks();
|
||||
|
||||
@@ -90,6 +91,7 @@ describe("gateway server sessions", () => {
|
||||
|
||||
const list1 = await rpcReq<{
|
||||
path: string;
|
||||
defaults?: { model?: string | null; modelProvider?: string | null };
|
||||
sessions: Array<{
|
||||
key: string;
|
||||
totalTokens?: number;
|
||||
@@ -102,6 +104,7 @@ describe("gateway server sessions", () => {
|
||||
expect(list1.ok).toBe(true);
|
||||
expect(list1.payload?.path).toBe(storePath);
|
||||
expect(list1.payload?.sessions.some((s) => s.key === "global")).toBe(false);
|
||||
expect(list1.payload?.defaults?.modelProvider).toBe(DEFAULT_PROVIDER);
|
||||
const main = list1.payload?.sessions.find((s) => s.key === "agent:main:main");
|
||||
expect(main?.totalTokens).toBe(30);
|
||||
expect(main?.thinkingLevel).toBe("low");
|
||||
|
||||
@@ -311,6 +311,7 @@ export function getSessionDefaults(cfg: ClawdbotConfig): GatewaySessionsDefaults
|
||||
lookupContextTokens(resolved.model) ??
|
||||
DEFAULT_CONTEXT_TOKENS;
|
||||
return {
|
||||
modelProvider: resolved.provider ?? null,
|
||||
model: resolved.model ?? null,
|
||||
contextTokens: contextTokens ?? null,
|
||||
};
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import type { SessionEntry } from "../config/sessions.js";
|
||||
|
||||
export type GatewaySessionsDefaults = {
|
||||
modelProvider: string | null;
|
||||
model: string | null;
|
||||
contextTokens: number | null;
|
||||
};
|
||||
|
||||
@@ -34,7 +34,7 @@ export type GatewaySessionList = {
|
||||
ts: number;
|
||||
path: string;
|
||||
count: number;
|
||||
defaults?: { model?: string | null; contextTokens?: number | null };
|
||||
defaults?: { model?: string | null; modelProvider?: string | null; contextTokens?: number | null };
|
||||
sessions: Array<{
|
||||
key: string;
|
||||
sessionId?: string;
|
||||
|
||||
@@ -117,7 +117,7 @@ export function createSessionActions(context: SessionActionContext) {
|
||||
verboseLevel: entry?.verboseLevel,
|
||||
reasoningLevel: entry?.reasoningLevel,
|
||||
model: entry?.model ?? result.defaults?.model ?? undefined,
|
||||
modelProvider: entry?.modelProvider,
|
||||
modelProvider: entry?.modelProvider ?? result.defaults?.modelProvider ?? undefined,
|
||||
contextTokens: entry?.contextTokens ?? result.defaults?.contextTokens,
|
||||
inputTokens: entry?.inputTokens ?? null,
|
||||
outputTokens: entry?.outputTokens ?? null,
|
||||
|
||||
@@ -37,7 +37,10 @@ export function formatStatusSummary(summary: GatewayStatusSummary) {
|
||||
if (sessionPath) lines.push(`Session store: ${sessionPath}`);
|
||||
|
||||
const defaults = summary.sessions?.defaults;
|
||||
const defaultModel = defaults?.model ?? "unknown";
|
||||
const defaultModel =
|
||||
defaults?.model && defaults?.modelProvider
|
||||
? `${defaults.modelProvider}/${defaults.model}`
|
||||
: defaults?.model ?? "unknown";
|
||||
const defaultCtx =
|
||||
typeof defaults?.contextTokens === "number"
|
||||
? ` (${formatTokenCount(defaults.contextTokens)} ctx)`
|
||||
|
||||
Reference in New Issue
Block a user