@@ -571,6 +571,29 @@ export function resolveCollapsedToolDetail(card: ToolCard, displayDetail: string
|
571 | 571 | return formatCollapsedToolPreviewText(inputText); |
572 | 572 | } |
573 | 573 | |
| 574 | +function resolveCollapsedToolSummaryParts(params: { |
| 575 | +card: ToolCard; |
| 576 | +displayLabel: string; |
| 577 | +displayDetail: string | undefined; |
| 578 | +isError: boolean; |
| 579 | +}): { label: string; name?: string } { |
| 580 | +if (params.isError) { |
| 581 | +return { label: "Tool error", name: params.displayLabel }; |
| 582 | +} |
| 583 | + |
| 584 | +const displayDetail = params.displayDetail?.trim(); |
| 585 | +if (displayDetail) { |
| 586 | +return { label: params.displayLabel, name: displayDetail }; |
| 587 | +} |
| 588 | + |
| 589 | +return { |
| 590 | +label: |
| 591 | +typeof params.card.args === "string" |
| 592 | + ? (resolveCollapsedToolDetail(params.card, undefined) ?? params.displayLabel) |
| 593 | + : params.displayLabel, |
| 594 | +}; |
| 595 | +} |
| 596 | + |
574 | 597 | export function renderToolCard( |
575 | 598 | card: ToolCard, |
576 | 599 | opts: { |
@@ -584,12 +607,14 @@ export function renderToolCard(
|
584 | 607 | allowExternalEmbedUrls?: boolean; |
585 | 608 | }, |
586 | 609 | ) { |
587 | | -const hasOutput = Boolean(card.outputText?.trim()); |
588 | 610 | const display = resolveToolDisplay({ name: card.name, args: card.args, detailMode: "explain" }); |
589 | 611 | const isError = isToolCardError(card); |
590 | | -const collapsedDetail = isError ? undefined : resolveCollapsedToolDetail(card, display.detail); |
591 | | -const previewLabel = isError ? "Tool error" : (collapsedDetail ?? display.label); |
592 | | -const previewName = isError ? display.label : collapsedDetail && hasOutput ? "output" : undefined; |
| 612 | +const summary = resolveCollapsedToolSummaryParts({ |
| 613 | + card, |
| 614 | +displayLabel: display.label, |
| 615 | +displayDetail: display.detail, |
| 616 | + isError, |
| 617 | +}); |
593 | 618 | |
594 | 619 | return html` |
595 | 620 | <div |
@@ -598,9 +623,9 @@ export function renderToolCard(
|
598 | 623 | : ""}" |
599 | 624 | > |
600 | 625 | ${renderCollapsedToolSummary({ |
601 | | - label: previewLabel, |
| 626 | + label: summary.label, |
602 | 627 | icon: icons[display.icon], |
603 | | - name: previewName, |
| 628 | + name: summary.name, |
604 | 629 | expanded: opts.expanded, |
605 | 630 | isError, |
606 | 631 | onToggleExpanded: () => opts.onToggleExpanded(card.id), |
|