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
48 lines
1.2 KiB
TypeScript
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>
|
|
);
|
|
}
|