diff --git a/apps/web/src/components/chat/ThreadRelationshipsControl.tsx b/apps/web/src/components/chat/ThreadRelationshipsControl.tsx index 300ea8860c3d7..cca8496ce2143 100644 --- a/apps/web/src/components/chat/ThreadRelationshipsControl.tsx +++ b/apps/web/src/components/chat/ThreadRelationshipsControl.tsx @@ -74,6 +74,7 @@ import { applyProviderInstanceSettings, deriveProviderInstanceEntries, shouldShowInstanceBadge, + type ProviderInstanceEntry, } from "../../providerInstances"; import { threadEnvironment } from "../../state/threads"; import { orchestrationEnvironment } from "../../state/orchestration"; @@ -98,6 +99,7 @@ import { Tooltip, TooltipPopup, TooltipTrigger } from "../ui/tooltip"; import { toastManager } from "../ui/toast"; import { Spinner } from "../ui/spinner"; import { ProviderInstanceIcon } from "./ProviderInstanceIcon"; +import { getTriggerDisplayModelName } from "./providerIconUtils"; import { THREAD_DETAILS_PANEL_ACTION_GROUP_CLASS, THREAD_DETAILS_PANEL_META_CLASS, @@ -656,6 +658,13 @@ function useThreadLineage(props: { }; } +function lineageModelLabel(model: string, providerEntry: ProviderInstanceEntry | undefined) { + const selectedModel = providerEntry?.models.find((entry) => entry.slug === model); + return selectedModel + ? getTriggerDisplayModelName(selectedModel, providerEntry?.driverKind) + : formatModelSlugName(model); +} + export function ThreadRelationshipsPanel(props: { readonly environmentId: EnvironmentId; readonly threadId: ThreadId; @@ -814,7 +823,7 @@ export function ThreadRelationshipsPanel(props: { {relationship} {node?.thread?.modelSelection.model - ? ` · ${formatModelSlugName(node.thread.modelSelection.model)}` + ? ` · ${lineageModelLabel(node.thread.modelSelection.model, providerEntry)}` : ""} @@ -1035,7 +1044,13 @@ export function ThreadRelationshipsPanel(props: { {currentThread.title} - This thread · {formatModelSlugName(currentThread.modelSelection.model)} + This thread ·{" "} + {lineageModelLabel( + currentThread.modelSelection.model, + providerEntries.find( + (entry) => entry.instanceId === currentThread.modelSelection.instanceId, + ), + )}