feat(cli): show session/conversation ID in footer
All checks were successful
ci/woodpecker/push/ci Pipeline was successful

Adds a third line to the footer, right-aligned beneath Gateway status:
'session: a1b2c3d4' (first 8 chars) or 'no session' when not connected.
This commit is contained in:
2026-03-15 14:48:42 -05:00
parent 7c05361b91
commit 320e92c21d
2 changed files with 14 additions and 1 deletions

View File

@@ -77,6 +77,7 @@ export function TuiApp({ gatewayUrl, conversationId, sessionCookie }: TuiAppProp
modelName={socket.modelName} modelName={socket.modelName}
providerName={socket.providerName} providerName={socket.providerName}
thinkingLevel={socket.thinkingLevel} thinkingLevel={socket.thinkingLevel}
conversationId={socket.conversationId}
/> />
</Box> </Box>
); );

View File

@@ -11,6 +11,7 @@ export interface BottomBarProps {
modelName: string | null; modelName: string | null;
providerName: string | null; providerName: string | null;
thinkingLevel: string; thinkingLevel: string;
conversationId: string | undefined;
} }
function formatTokens(n: number): string { function formatTokens(n: number): string {
@@ -36,6 +37,7 @@ export function BottomBar({
modelName, modelName,
providerName, providerName,
thinkingLevel, thinkingLevel,
conversationId,
}: BottomBarProps) { }: BottomBarProps) {
const gatewayStatus = connected ? 'Connected' : connecting ? 'Connecting…' : 'Disconnected'; const gatewayStatus = connected ? 'Connected' : connecting ? 'Connecting…' : 'Disconnected';
const gatewayColor = connected ? 'green' : connecting ? 'yellow' : 'red'; const gatewayColor = connected ? 'green' : connecting ? 'yellow' : 'red';
@@ -56,7 +58,17 @@ export function BottomBar({
</Box> </Box>
</Box> </Box>
{/* Line 2: token stats ····· (provider) model */} {/* Line 2: token stats ····· session id */}
<Box justifyContent="space-between">
<Box />
<Box>
<Text dimColor>
{conversationId ? `session: ${conversationId.slice(0, 8)}` : 'no session'}
</Text>
</Box>
</Box>
{/* Line 3: token stats ····· (provider) model */}
<Box justifyContent="space-between" minHeight={1}> <Box justifyContent="space-between" minHeight={1}>
<Box> <Box>
{hasTokens ? ( {hasTokens ? (