@@ -1399,6 +1399,10 @@ function AssistantMessage(props: { message: AssistantMessage; parts: Part[]; las
13991399 const sync = useSync ( )
14001400 const messages = createMemo ( ( ) => sync . data . message [ props . message . sessionID ] ?? [ ] )
14011401 const model = createMemo ( ( ) => Model . name ( ctx . providers ( ) , props . message . providerID , props . message . modelID ) )
1402+ const providerName = createMemo ( ( ) => {
1403+ const p = ctx . providers ( ) ?. get ( props . message . providerID )
1404+ return p ?. name ?? props . message . providerID
1405+ } )
14021406
14031407 const final = createMemo ( ( ) => {
14041408 return props . message . finish && ! [ "tool-calls" , "unknown" ] . includes ( props . message . finish )
@@ -1468,7 +1472,7 @@ function AssistantMessage(props: { message: AssistantMessage; parts: Part[]; las
14681472 ▣{ " " }
14691473 </ span > { " " }
14701474 < span style = { { fg : theme . text } } > { Locale . titlecase ( props . message . mode ) } </ span >
1471- < span style = { { fg : theme . textMuted } } > · { model ( ) } </ span >
1475+ < span style = { { fg : theme . textMuted } } > · { model ( ) } ( { providerName ( ) } ) </ span >
14721476 < Show when = { duration ( ) } >
14731477 < span style = { { fg : theme . textMuted } } > · { Locale . duration ( duration ( ) ) } </ span >
14741478 </ Show >
@@ -1524,17 +1528,21 @@ function ReasoningPart(props: { last: boolean; part: ReasoningPart; message: Ass
15241528
15251529function TextPart ( props : { last : boolean ; part : TextPart ; message : AssistantMessage } ) {
15261530 const ctx = use ( )
1527- const { theme, syntax } = useTheme ( )
1531+ const { theme, syntax, subtleSyntax } = useTheme ( )
1532+ const fallbackNotice = ( props . part as any ) . fallbackNotice as "using" | "switch" | "resume" | undefined
1533+ const isFallback = fallbackNotice != null
1534+ const fg = fallbackNotice === "resume" ? theme . success : isFallback ? theme . error : ( props . part as any ) . ignored ? theme . textMuted : theme . markdownText
1535+ const syntaxStyle = isFallback || ( props . part as any ) . ignored ? subtleSyntax ( ) : syntax ( )
15281536 return (
15291537 < Show when = { props . part . text . trim ( ) } >
15301538 < box id = { "text-" + props . part . id } paddingLeft = { 3 } marginTop = { 1 } flexShrink = { 0 } >
15311539 < markdown
1532- syntaxStyle = { syntax ( ) }
1540+ syntaxStyle = { syntaxStyle }
15331541 streaming = { true }
15341542 internalBlockMode = "top-level"
15351543 content = { props . part . text . trim ( ) }
15361544 conceal = { ctx . conceal ( ) }
1537- fg = { theme . markdownText }
1545+ fg = { fg }
15381546 bg = { theme . background }
15391547 />
15401548 </ box >
0 commit comments