diff --git a/src/cli/components/AgentInfoBar.tsx b/src/cli/components/AgentInfoBar.tsx index 5132131..e174083 100644 --- a/src/cli/components/AgentInfoBar.tsx +++ b/src/cli/components/AgentInfoBar.tsx @@ -1,4 +1,5 @@ import { Box } from "ink"; +import Link from "ink-link"; import { memo, useMemo } from "react"; import stringWidth from "string-width"; import type { ModelReasoningEffort } from "../../agent/model"; @@ -58,6 +59,7 @@ export const AgentInfoBar = memo(function AgentInfoBar({ conversationId, }: AgentInfoBarProps) { const columns = useTerminalWidth(); + const isTmux = Boolean(process.env.TMUX); // Check if current agent is pinned const isPinned = useMemo(() => { if (!agentId) return false; @@ -122,6 +124,31 @@ export const AgentInfoBar = memo(function AgentInfoBar({ {/* Alien + Links */} {alienLines[1]} + {isCloudUser && adeConversationUrl && !isTmux && ( + <> + + + Open in ADE ↗ + + + · + + )} + {isCloudUser && adeConversationUrl && isTmux && ( + <> + + + {truncateText(`Open in ADE: ${adeConversationUrl}`, rightWidth)} + + + · + + )} + {isCloudUser && ( + + View usage ↗ + + )} {!isCloudUser && ( @@ -131,21 +158,6 @@ export const AgentInfoBar = memo(function AgentInfoBar({ )} - {/* Keep usage on its own line to avoid breaking the alien art rows. */} - {isCloudUser && ( - - {alienLines[3]} - - - {truncateText( - "Usage: https://app.letta.com/settings/organization/usage", - rightWidth, - )} - - - - )} - {/* Model summary */} {alienLines[2]} @@ -181,14 +193,6 @@ export const AgentInfoBar = memo(function AgentInfoBar({ )} - - {/* Full ADE conversation URL (may wrap; kept last so it can't break the art rows) */} - {isCloudUser && adeConversationUrl && ( - - {alienLines[3]} - {`ADE: ${adeConversationUrl}`} - - )} ); });