Files
agent-radar 2ed3415fb7
Publish Claude Code Binaries / Stage and publish binaries (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-arm64 (push) Canceled after 0s
Publish Tutti App Runtime / Build darwin-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build linux-amd64 (push) Canceled after 0s
Publish Tutti App Runtime / Build windows-amd64 (push) Canceled after 0s
Sync Tutti Agent Skills / sync (push) Canceled after 0s
Windows Agent Adapters / Test Windows agent adapters (push) Canceled after 0s
Windows Daemon Adapters / Test Windows daemon adapters (push) Canceled after 0s
Publish Tutti App Runtime / Publish runtime catalog (push) Canceled after 0s
源码快照 @ 2026-09-01 (source-only, 剔除非源码素材)
2026-09-01 20:17:27 +08:00

48 lines
1.2 KiB
TypeScript

import { cn } from "@tutti-os/ui-system";
import type { AgentGUIAgentTarget } from "../../../types";
import { projectAgentGUIAgentTargetName } from "../model/agentGuiTargetName";
export function AgentGUIAgentTargetName({
className,
ownerSeparator,
target
}: {
className?: string;
ownerSeparator: string;
target: AgentGUIAgentTarget;
}): React.JSX.Element {
const presentation = projectAgentGUIAgentTargetName({
ownerSeparator,
target
});
return (
<span
className={cn("flex min-w-0 max-w-full items-baseline", className)}
title={presentation.fullLabel}
>
{presentation.ownerLabel ? (
<>
<span
className="min-w-0 flex-1 truncate"
data-testid="agent-target-owner-name"
>
{presentation.ownerLabel}
</span>
<span
className="shrink-0 whitespace-pre"
data-testid="agent-target-name-suffix"
>
{presentation.ownerSeparator}
{presentation.agentLabel}
</span>
</>
) : (
<span className="min-w-0 truncate" data-testid="agent-target-name">
{presentation.agentLabel}
</span>
)}
</span>
);
}