Skip to content

Commit 2cac848

Browse files
committed
tweak(ui): use provider catalog names
Renders provider and model display names from the provider list instead of raw IDs in user message hover metadata.
1 parent 5a3e0ef commit 2cac848

2 files changed

Lines changed: 19 additions & 6 deletions

File tree

packages/ui/src/components/message-part.tsx

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -506,6 +506,7 @@ function ContextToolGroup(props: { parts: ToolPart[] }) {
506506
}
507507

508508
export function UserMessageDisplay(props: { message: UserMessage; parts: PartType[]; interrupted?: boolean }) {
509+
const data = useData()
509510
const dialog = useDialog()
510511
const i18n = useI18n()
511512
const [copied, setCopied] = createSignal(false)
@@ -534,6 +535,21 @@ export function UserMessageDisplay(props: { message: UserMessage; parts: PartTyp
534535

535536
const agents = createMemo(() => (props.parts?.filter((p) => p.type === "agent") as AgentPart[]) ?? [])
536537

538+
const provider = createMemo(() => {
539+
const id = props.message.model?.providerID
540+
if (!id) return ""
541+
const match = data.store.provider?.all?.find((p) => p.id === id)
542+
return match?.name ?? id
543+
})
544+
545+
const model = createMemo(() => {
546+
const providerID = props.message.model?.providerID
547+
const modelID = props.message.model?.modelID
548+
if (!providerID || !modelID) return ""
549+
const match = data.store.provider?.all?.find((p) => p.id === providerID)
550+
return match?.models?.[modelID]?.name ?? modelID
551+
})
552+
537553
const stamp = createMemo(() => {
538554
const created = props.message.time?.created
539555
if (typeof created !== "number") return ""
@@ -546,12 +562,7 @@ export function UserMessageDisplay(props: { message: UserMessage; parts: PartTyp
546562

547563
const meta = createMemo(() => {
548564
const agent = props.message.agent
549-
const items = [
550-
agent ? agent[0]?.toUpperCase() + agent.slice(1) : "",
551-
props.message.model?.providerID,
552-
props.message.model?.modelID,
553-
stamp(),
554-
]
565+
const items = [agent ? agent[0]?.toUpperCase() + agent.slice(1) : "", provider(), model(), stamp()]
555566
return items.filter((x) => !!x).join(" \u00B7 ")
556567
})
557568

packages/ui/src/context/data.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,13 @@ import type {
77
PermissionRequest,
88
QuestionRequest,
99
QuestionAnswer,
10+
ProviderListResponse,
1011
} from "@opencode-ai/sdk/v2"
1112
import { createSimpleContext } from "./helper"
1213
import { PreloadMultiFileDiffResult } from "@pierre/diffs/ssr"
1314

1415
type Data = {
16+
provider?: ProviderListResponse
1517
session: Session[]
1618
session_status: {
1719
[sessionID: string]: SessionStatus

0 commit comments

Comments
 (0)