@aceshooting/lyra-ui 9.1.1 → 10.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +597 -0
- package/custom-elements.json +1 -1
- package/dist/cli/migrate-wa.mjs +52 -0
- package/dist/cli/migration-contract.json +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +1 -1
- package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +0 -16
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js +1 -1
- package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.styles.js +7 -5
- package/dist/components/agent-tools/agent-run/agent-run.class.js +2 -2
- package/dist/components/agent-tools/agent-run/agent-run.styles.js +0 -13
- package/dist/components/agent-tools/agent-trace/agent-trace.styles.js +7 -4
- package/dist/components/agent-tools/approval-queue/approval-queue.styles.js +7 -5
- package/dist/components/agent-tools/artifact-panel/artifact-panel.styles.js +0 -3
- package/dist/components/agent-tools/browser-frame/browser-frame.styles.js +3 -5
- package/dist/components/agent-tools/commit-card/commit-card.styles.js +0 -10
- package/dist/components/agent-tools/compare-panel/compare-panel.styles.js +11 -6
- package/dist/components/agent-tools/confirm-bar/confirm-bar.styles.js +0 -46
- package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +0 -7
- package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +2 -2
- package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.js +0 -15
- package/dist/components/agent-tools/result-card/result-card.styles.js +0 -7
- package/dist/components/agent-tools/result-card/result-field.styles.js +0 -5
- package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.js +0 -3
- package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +0 -15
- package/dist/components/agent-tools/stack-trace/stack-trace.styles.js +0 -20
- package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +2 -2
- package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.js +0 -3
- package/dist/components/agent-tools/task-list/task-list.styles.js +0 -15
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +11 -6
- package/dist/components/agent-tools/terminal/terminal.class.js +4 -4
- package/dist/components/agent-tools/terminal/terminal.styles.js +0 -46
- package/dist/components/agent-tools/test-results/test-results.class.js +2 -2
- package/dist/components/agent-tools/test-results/test-results.styles.js +0 -5
- package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +0 -41
- package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.styles.js +0 -41
- package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js +0 -30
- package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +6 -6
- package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.js +0 -5
- package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +0 -20
- package/dist/components/agent-tools/tool-result-view/tool-result-view.styles.js +0 -4
- package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.styles.js +0 -21
- package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +7 -31
- package/dist/components/charts/chart/box-plot.styles.js +0 -20
- package/dist/components/charts/chart/chart-colors.d.ts +1 -1
- package/dist/components/charts/chart/chart-colors.js +1 -1
- package/dist/components/charts/chart/chart-core-loader.d.ts +1 -0
- package/dist/components/charts/chart/chart-core-loader.js +1 -1
- package/dist/components/charts/chart/chart-feature-loader.d.ts +35 -0
- package/dist/components/charts/chart/chart-feature-loader.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +93 -0
- package/dist/components/charts/chart/chart.class.js +3 -3
- package/dist/components/charts/chart/chart.styles.js +0 -27
- package/dist/components/charts/chart/lite-chart.class.d.ts +20 -1
- package/dist/components/charts/chart/lite-chart.class.js +4 -4
- package/dist/components/charts/chart/lite-chart.styles.js +0 -27
- package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +20 -0
- package/dist/components/conversation/agent-workspace/agent-workspace.class.js +3 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.styles.js +3 -0
- package/dist/components/conversation/audio-visualizer/audio-visualizer.styles.js +0 -7
- package/dist/components/conversation/branch-picker/branch-picker.styles.js +0 -3
- package/dist/components/conversation/chat-composer/chat-composer.styles.js +0 -51
- package/dist/components/conversation/chat-message/chat-message.styles.js +7 -35
- package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.styles.js +0 -33
- package/dist/components/conversation/checkpoint/checkpoint.class.js +1 -1
- package/dist/components/conversation/checkpoint/checkpoint.styles.js +0 -3
- package/dist/components/conversation/code-block/code-block-shared.d.ts +5 -2
- package/dist/components/conversation/code-block/code-block.class.js +1 -1
- package/dist/components/conversation/code-block/code-block.styles.js +4 -95
- package/dist/components/conversation/code-block/code-loader.d.ts +11 -0
- package/dist/components/conversation/code-block/code-loader.js +1 -1
- package/dist/components/conversation/code-block/shiki-types.d.ts +12 -0
- package/dist/components/conversation/code-block/shiki-types.js +1 -1
- package/dist/components/conversation/conversation-item/conversation-item.styles.js +8 -54
- package/dist/components/conversation/generation-metrics/generation-metrics.class.js +2 -2
- package/dist/components/conversation/generation-metrics/generation-metrics.styles.js +0 -17
- package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
- package/dist/components/conversation/markdown/markdown.styles.js +0 -41
- package/dist/components/conversation/message-actions/message-actions.styles.js +0 -3
- package/dist/components/conversation/message-feedback/message-feedback.styles.js +0 -35
- package/dist/components/conversation/message-parts/message-parts.class.d.ts +1 -1
- package/dist/components/conversation/message-parts/message-parts.styles.js +0 -5
- package/dist/components/conversation/model-select/model-select.class.js +3 -3
- package/dist/components/conversation/model-select/model-select.styles.js +12 -47
- package/dist/components/conversation/model-settings-panel/model-settings-panel.styles.js +0 -6
- package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +3 -0
- package/dist/components/conversation/prompt-input/prompt-input.styles.js +0 -10
- package/dist/components/conversation/push-to-talk/push-to-talk.styles.js +0 -8
- package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.js +1 -11
- package/dist/components/conversation/stream-status/stream-status.styles.js +0 -16
- package/dist/components/conversation/streaming-text/streaming-text.styles.js +0 -15
- package/dist/components/conversation/suggestion-chips/suggestion-chips.styles.js +0 -5
- package/dist/components/conversation/thread-list/thread-list.styles.js +0 -23
- package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +16 -4
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +0 -1
- package/dist/components/conversation/typing-indicator/typing-indicator.styles.js +0 -23
- package/dist/components/conversation/usage-badge/usage-badge.styles.js +0 -3
- package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -3
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +9 -29
- package/dist/components/conversation/widget-renderer/resolve.d.ts +2 -0
- package/dist/components/conversation/widget-renderer/resolve.js +1 -1
- package/dist/components/data/calendar/calendar.class.d.ts +15 -2
- package/dist/components/data/calendar/calendar.class.js +2 -2
- package/dist/components/data/calendar/calendar.styles.js +2 -28
- package/dist/components/data/condition-builder/condition-builder.class.d.ts +10 -6
- package/dist/components/data/condition-builder/condition-builder.class.js +2 -2
- package/dist/components/data/condition-builder/condition-builder.styles.js +0 -6
- package/dist/components/data/context-meter/context-meter.styles.js +0 -24
- package/dist/components/data/data-grid/data-grid.class.js +3 -3
- package/dist/components/data/data-grid/data-grid.styles.js +0 -22
- package/dist/components/data/document-library/document-library.class.js +2 -2
- package/dist/components/data/document-library/document-library.styles.js +0 -4
- package/dist/components/data/env-list/env-list.class.js +1 -1
- package/dist/components/data/env-list/env-list.styles.js +7 -4
- package/dist/components/data/file-tree/file-tree.class.d.ts +12 -0
- package/dist/components/data/flow-canvas/flow-canvas.styles.js +12 -19
- package/dist/components/data/flow-controls/flow-controls.class.js +2 -2
- package/dist/components/data/flow-controls/flow-controls.styles.js +3 -36
- package/dist/components/data/flow-minimap/flow-minimap.class.js +1 -1
- package/dist/components/data/flow-minimap/flow-minimap.styles.js +0 -9
- package/dist/components/data/flow-node/flow-node.styles.js +0 -23
- package/dist/components/data/flow-run-status/flow-run-status.class.js +1 -1
- package/dist/components/data/flow-run-status/flow-run-status.styles.js +0 -7
- package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +0 -7
- package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
- package/dist/components/data/graph-query-builder/graph-query-builder.styles.js +0 -10
- package/dist/components/data/heatmap/heatmap-scale.d.ts +20 -0
- package/dist/components/data/heatmap/heatmap-scale.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +84 -1
- package/dist/components/data/heatmap/heatmap.class.js +2 -2
- package/dist/components/data/heatmap/heatmap.styles.js +0 -54
- package/dist/components/data/pagination/pagination.styles.js +23 -46
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +34 -1
- package/dist/components/data/sequence-strip/sequence-strip.class.js +5 -2
- package/dist/components/data/sequence-strip/sequence-strip.styles.js +14 -20
- package/dist/components/data/sparkline/sparkline.class.js +1 -1
- package/dist/components/data/stat/stat.styles.js +0 -67
- package/dist/components/data/table/table.class.d.ts +42 -3
- package/dist/components/data/table/table.class.js +4 -4
- package/dist/components/data/table/table.styles.js +20 -91
- package/dist/components/data/timeline/timeline-item.styles.js +0 -30
- package/dist/components/data/timeline/timeline.class.d.ts +89 -1
- package/dist/components/data/timeline/timeline.class.js +2 -2
- package/dist/components/data/timeline/timeline.styles.js +111 -31
- package/dist/components/data/tree/tree-item.styles.js +1 -28
- package/dist/components/data/tree/tree.class.js +2 -2
- package/dist/components/data/tree/tree.styles.js +0 -6
- package/dist/components/data/word-cloud/word-cloud.styles.js +0 -5
- package/dist/components/forms/button/button.class.js +1 -1
- package/dist/components/forms/button/button.styles.js +0 -105
- package/dist/components/forms/checkbox/checkbox.class.d.ts +3 -0
- package/dist/components/forms/checkbox/checkbox.class.js +1 -1
- package/dist/components/forms/checkbox/checkbox.styles.js +0 -39
- package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +21 -2
- package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
- package/dist/components/forms/checkbox-group/checkbox-group.styles.js +0 -18
- package/dist/components/forms/code-editor/code-editor.styles.js +0 -30
- package/dist/components/forms/color-picker/color-picker.class.js +2 -2
- package/dist/components/forms/color-picker/color-picker.styles.js +0 -69
- package/dist/components/forms/combobox/combobox.class.js +2 -2
- package/dist/components/forms/combobox/combobox.styles.js +22 -111
- package/dist/components/forms/combobox/option.styles.js +7 -1
- package/dist/components/forms/date-picker/date-input.class.js +1 -1
- package/dist/components/forms/date-picker/date-input.styles.js +12 -67
- package/dist/components/forms/date-picker/date-picker.class.d.ts +1 -0
- package/dist/components/forms/date-picker/date-picker.class.js +22 -20
- package/dist/components/forms/date-picker/date-picker.styles.js +36 -29
- package/dist/components/forms/emoji-picker/emoji-data-loader.d.ts +6 -3
- package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +8 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js +3 -41
- package/dist/components/forms/icon-button/icon-button.class.js +1 -1
- package/dist/components/forms/icon-button/icon-button.styles.js +0 -16
- package/dist/components/forms/input/input.styles.js +0 -54
- package/dist/components/forms/input/number-input.styles.d.ts +4 -5
- package/dist/components/forms/input/number-input.styles.js +0 -11
- package/dist/components/forms/input/time-input-shared.d.ts +11 -0
- package/dist/components/forms/input/time-input-shared.js +1 -1
- package/dist/components/forms/input/time-input.class.d.ts +11 -2
- package/dist/components/forms/input/time-input.class.js +1 -1
- package/dist/components/forms/input/time-input.styles.js +0 -6
- package/dist/components/forms/locale-picker/locale-picker.class.js +2 -2
- package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -26
- package/dist/components/forms/otp-input/otp-input.class.js +3 -3
- package/dist/components/forms/otp-input/otp-input.styles.js +0 -16
- package/dist/components/forms/phone-input/phone-input.class.d.ts +9 -1
- package/dist/components/forms/phone-input/phone-input.class.js +2 -2
- package/dist/components/forms/phone-input/phone-input.styles.js +0 -37
- package/dist/components/forms/radio/radio-button.styles.js +1 -30
- package/dist/components/forms/radio/radio-group.styles.js +0 -4
- package/dist/components/forms/radio/radio.styles.js +0 -44
- package/dist/components/forms/rubric-form/rubric-form.styles.js +0 -5
- package/dist/components/forms/select/select.class.js +1 -1
- package/dist/components/forms/select/select.styles.js +14 -114
- package/dist/components/forms/slider/slider.styles.js +0 -55
- package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +0 -11
- package/dist/components/forms/swatch-picker/swatch-picker.class.js +2 -2
- package/dist/components/forms/swatch-picker/swatch-picker.styles.js +0 -77
- package/dist/components/forms/switch/switch.class.d.ts +3 -0
- package/dist/components/forms/switch/switch.class.js +1 -1
- package/dist/components/forms/switch/switch.styles.js +0 -37
- package/dist/components/forms/textarea/textarea.styles.js +0 -28
- package/dist/components/forms/time-range/time-range.styles.js +12 -84
- package/dist/components/forms/token-input/token-input.class.d.ts +23 -9
- package/dist/components/forms/token-input/token-input.class.js +1 -1
- package/dist/components/forms/token-input/token-input.styles.js +1 -54
- package/dist/components/layout/app-rail/app-rail-item.class.js +2 -2
- package/dist/components/layout/app-rail/app-rail-item.styles.js +0 -13
- package/dist/components/layout/app-rail/app-rail.class.d.ts +5 -0
- package/dist/components/layout/app-rail/app-rail.class.js +1 -1
- package/dist/components/layout/app-rail/app-rail.styles.js +0 -46
- package/dist/components/layout/button-group/button-group.styles.js +0 -6
- package/dist/components/layout/card/card.class.d.ts +12 -0
- package/dist/components/layout/card/card.styles.js +3 -11
- package/dist/components/layout/carousel/carousel.styles.js +0 -1
- package/dist/components/layout/command-palette/command-palette.class.d.ts +8 -0
- package/dist/components/layout/command-palette/command-palette.class.js +3 -1
- package/dist/components/layout/command-palette/command-palette.styles.js +1 -13
- package/dist/components/layout/control-group/control-group.styles.js +0 -7
- package/dist/components/layout/dashboard-grid/dashboard-grid.styles.js +6 -25
- package/dist/components/layout/details/accordion.class.d.ts +13 -0
- package/dist/components/layout/details/accordion.class.js +1 -1
- package/dist/components/layout/details/details.class.js +1 -1
- package/dist/components/layout/details/details.styles.js +0 -12
- package/dist/components/layout/dock-panel/dock-panel.styles.js +0 -45
- package/dist/components/layout/drilldown-panel/drilldown-panel.class.d.ts +2 -0
- package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +2 -2
- package/dist/components/layout/drilldown-panel/drilldown-panel.styles.js +0 -4
- package/dist/components/layout/filter-bar/filter-bar.class.js +1 -1
- package/dist/components/layout/filter-bar/filter-bar.styles.js +0 -9
- package/dist/components/layout/menu/menu-item.class.d.ts +5 -0
- package/dist/components/layout/menu/menu-item.class.js +1 -1
- package/dist/components/layout/menu/menu-item.styles.js +0 -49
- package/dist/components/layout/menu/menu-label.styles.js +0 -2
- package/dist/components/layout/menu/menu.styles.js +0 -18
- package/dist/components/layout/multi-split/multi-split.styles.js +0 -63
- package/dist/components/layout/page/page.class.d.ts +4 -0
- package/dist/components/layout/page/page.class.js +1 -1
- package/dist/components/layout/reorder-list/reorder-item.styles.js +0 -4
- package/dist/components/layout/responsive-panel/responsive-panel.styles.js +0 -27
- package/dist/components/layout/scroller/scroller.styles.js +0 -20
- package/dist/components/layout/segmented/segmented.class.d.ts +7 -1
- package/dist/components/layout/segmented/segmented.class.js +1 -1
- package/dist/components/layout/segmented/segmented.styles.js +69 -37
- package/dist/components/layout/split-panel/split-panel.styles.js +1 -7
- package/dist/components/layout/stepper/stepper.class.d.ts +8 -1
- package/dist/components/layout/stepper/stepper.class.js +1 -1
- package/dist/components/layout/stepper/stepper.styles.js +140 -41
- package/dist/components/layout/tab-group/tab-group.class.d.ts +4 -1
- package/dist/components/layout/tab-group/tab-group.styles.js +9 -75
- package/dist/components/layout/tab-group/tab.styles.js +0 -2
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts +4 -4
- package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.styles.js +0 -68
- package/dist/components/layout/widget/widget.class.d.ts +5 -1
- package/dist/components/layout/widget/widget.class.js +1 -1
- package/dist/components/layout/widget/widget.styles.js +97 -40
- package/dist/components/media/animated-image/animated-image.class.d.ts +3 -0
- package/dist/components/media/animated-image/animated-image.class.js +1 -1
- package/dist/components/media/animated-image/animated-image.styles.js +0 -28
- package/dist/components/media/attachment-chip/attachment-chip.class.d.ts +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.class.js +1 -1
- package/dist/components/media/attachment-chip/attachment-chip.styles.js +0 -31
- package/dist/components/media/attachment-trigger/attachment-trigger.class.js +3 -3
- package/dist/components/media/attachment-trigger/attachment-trigger.styles.js +0 -40
- package/dist/components/media/av-player/av-player.class.d.ts +5 -6
- package/dist/components/media/av-player/av-player.class.js +1 -1
- package/dist/components/media/av-player/av-player.styles.js +0 -45
- package/dist/components/media/avatar/avatar.styles.js +3 -16
- package/dist/components/media/file-icon/file-icon.class.d.ts +1 -2
- package/dist/components/media/file-icon/file-icon.class.js +1 -1
- package/dist/components/media/file-input/file-input.class.d.ts +12 -0
- package/dist/components/media/file-input/file-input.styles.js +3 -24
- package/dist/components/media/flag/flag.class.d.ts +20 -0
- package/dist/components/media/flag/flag.class.js +4 -2
- package/dist/components/media/flag/flag.styles.js +7 -1
- package/dist/components/media/flag/language-map.d.ts +10 -0
- package/dist/components/media/flag/language-map.js +1 -1
- package/dist/components/media/image-comparer/image-comparer.styles.js +4 -33
- package/dist/components/media/image-viewer/image-viewer.class.js +0 -2
- package/dist/components/media/image-viewer/image-viewer.styles.js +7 -27
- package/dist/components/media/lightbox/lightbox.class.js +0 -2
- package/dist/components/media/lightbox/lightbox.styles.js +0 -21
- package/dist/components/media/map/map-loader.d.ts +19 -1
- package/dist/components/media/map/map-loader.js +1 -1
- package/dist/components/media/map/map.class.d.ts +141 -1
- package/dist/components/media/map/map.class.js +15 -3
- package/dist/components/media/map/map.styles.js +20 -17
- package/dist/components/media/media-card/media-card.class.d.ts +14 -3
- package/dist/components/media/media-card/media-card.class.js +1 -1
- package/dist/components/media/media-card/media-card.styles.js +2 -28
- package/dist/components/media/pan-zoom/pan-zoom.styles.js +0 -3
- package/dist/components/media/qr-code/qr-code.class.d.ts +3 -2
- package/dist/components/media/qr-code/qr-code.class.js +2 -2
- package/dist/components/media/qr-code/qr-code.styles.js +0 -3
- package/dist/components/media/sequence-playback/sequence-playback.class.d.ts +2 -0
- package/dist/components/media/sequence-playback/sequence-playback.class.js +2 -1
- package/dist/components/media/sequence-playback/sequence-playback.styles.js +0 -19
- package/dist/components/media/video/video.class.d.ts +23 -2
- package/dist/components/media/video/video.class.js +3 -3
- package/dist/components/media/video/video.styles.js +4 -2
- package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +3 -2
- package/dist/components/media/zoomable-frame/zoomable-frame.class.js +2 -2
- package/dist/components/media/zoomable-frame/zoomable-frame.styles.js +0 -5
- package/dist/components/overlays/alert/alert.styles.js +4 -2
- package/dist/components/overlays/badge/badge.styles.js +4 -48
- package/dist/components/overlays/badge/tag.styles.js +0 -14
- package/dist/components/overlays/callout/callout.styles.js +0 -11
- package/dist/components/overlays/chip/chip-group.styles.js +0 -18
- package/dist/components/overlays/chip/chip.styles.js +6 -69
- package/dist/components/overlays/dialog/confirm.d.ts +1 -4
- package/dist/components/overlays/dialog/confirm.js +1 -1
- package/dist/components/overlays/dialog/dialog.class.d.ts +12 -9
- package/dist/components/overlays/dialog/dialog.class.js +1 -1
- package/dist/components/overlays/dialog/dialog.styles.js +0 -43
- package/dist/components/overlays/drawer/drawer.class.d.ts +2 -2
- package/dist/components/overlays/drawer/drawer.styles.js +0 -9
- package/dist/components/overlays/empty/empty.styles.js +0 -12
- package/dist/components/overlays/kbd/kbd.styles.js +0 -8
- package/dist/components/overlays/overlay/dropdown.class.d.ts +1 -6
- package/dist/components/overlays/overlay/dropdown.class.js +2 -2
- package/dist/components/overlays/overlay/overlay.styles.js +0 -28
- package/dist/components/overlays/overlay/popover.class.d.ts +9 -1
- package/dist/components/overlays/overlay/popover.class.js +2 -2
- package/dist/components/overlays/overlay/tooltip.class.d.ts +10 -0
- package/dist/components/overlays/overlay/tooltip.class.js +1 -1
- package/dist/components/overlays/popup/popup.class.d.ts +1 -0
- package/dist/components/overlays/popup/popup.class.js +1 -1
- package/dist/components/overlays/popup/popup.styles.js +0 -15
- package/dist/components/overlays/progress/progress-ring.class.d.ts +9 -1
- package/dist/components/overlays/progress/progress-ring.class.js +3 -3
- package/dist/components/overlays/progress/progress.styles.js +0 -21
- package/dist/components/overlays/rating/rating.styles.js +0 -25
- package/dist/components/overlays/skeleton/skeleton.styles.js +0 -4
- package/dist/components/overlays/spinner/spinner.styles.js +0 -3
- package/dist/components/overlays/toast/toast-item.styles.js +3 -45
- package/dist/components/retrieval/chunk-inspector/chunk-inspector.styles.js +0 -35
- package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +2 -2
- package/dist/components/retrieval/citation-badge/citation-badge.class.js +3 -3
- package/dist/components/retrieval/citation-badge/citation-badge.styles.js +0 -20
- package/dist/components/retrieval/claim-evidence/claim-evidence.styles.js +0 -8
- package/dist/components/retrieval/community-card/community-card.class.d.ts +1 -0
- package/dist/components/retrieval/community-card/community-card.styles.js +0 -6
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +8 -12
- package/dist/components/retrieval/entity-card/entity-card.class.d.ts +4 -3
- package/dist/components/retrieval/entity-card/entity-card.class.js +1 -1
- package/dist/components/retrieval/entity-card/entity-card.styles.js +0 -12
- package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +10 -4
- package/dist/components/retrieval/entity-chip/entity-chip.class.js +3 -3
- package/dist/components/retrieval/entity-chip/entity-chip.styles.js +6 -9
- package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts +19 -5
- package/dist/components/retrieval/graph/graph.class.d.ts +5 -0
- package/dist/components/retrieval/graph/graph.class.js +1 -1
- package/dist/components/retrieval/graph/graph.styles.js +0 -30
- package/dist/components/retrieval/graph-legend/graph-legend.styles.js +0 -3
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.js +0 -25
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +2 -0
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +0 -7
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +20 -6
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +2 -2
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +0 -16
- package/dist/components/retrieval/mind-map/mind-map.class.d.ts +5 -3
- package/dist/components/retrieval/mind-map/mind-map.class.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map.styles.js +0 -2
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts +3 -2
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +0 -30
- package/dist/components/retrieval/node-palette/node-palette.styles.js +0 -11
- package/dist/components/retrieval/path-strip/path-strip.styles.js +0 -10
- package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts +12 -3
- package/dist/components/retrieval/provenance-panel/provenance-panel.styles.js +0 -2
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +3 -2
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +2 -2
- package/dist/components/retrieval/retrieval-results/retrieval-results.styles.js +0 -28
- package/dist/components/retrieval/retrieval-search/retrieval-search.styles.js +0 -4
- package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.js +0 -2
- package/dist/components/retrieval/source-card/source-card.styles.js +0 -13
- package/dist/components/retrieval/source-list/source-list.styles.js +0 -7
- package/dist/components/retrieval/source-picker/source-picker.styles.js +0 -7
- package/dist/components/utility/copy-button/copy-button.styles.js +0 -10
- package/dist/components/utility/diff-view/diff-view.styles.js +0 -14
- package/dist/components/utility/export-button/export-button.styles.js +0 -22
- package/dist/components/utility/icon/icon.styles.js +0 -6
- package/dist/components/utility/json-viewer/json-viewer.styles.js +2 -48
- package/dist/components/utility/known-date/known-date.class.d.ts +7 -3
- package/dist/components/utility/known-date/known-date.styles.js +10 -51
- package/dist/components/utility/live-region/live-region.styles.js +0 -4
- package/dist/components/utility/mention-popover/mention-popover.styles.js +0 -25
- package/dist/components/utility/poll-status/poll-status.styles.js +0 -4
- package/dist/components/utility/random-content/random-content.class.d.ts +22 -0
- package/dist/components/utility/random-content/random-content.class.js +3 -2
- package/dist/components/utility/random-content/random-content.styles.js +6 -13
- package/dist/components/utility/tour/tour.class.d.ts +4 -2
- package/dist/components/utility/tour/tour.class.js +3 -3
- package/dist/components/utility/tour/tour.styles.js +0 -13
- package/dist/components/utility/visually-hidden/visually-hidden.styles.js +0 -5
- package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
- package/dist/components/viewers/archive-viewer/archive-viewer.styles.d.ts +2 -2
- package/dist/components/viewers/archive-viewer/archive-viewer.styles.js +0 -10
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js +1 -1
- package/dist/components/viewers/csv-viewer/csv-viewer.styles.js +0 -19
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +1 -1
- package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +0 -15
- package/dist/components/viewers/document-compare/document-compare.styles.js +0 -3
- package/dist/components/viewers/document-preview/document-preview.styles.js +0 -25
- package/dist/components/viewers/document-viewer/document-viewer.class.d.ts +2 -1
- package/dist/components/viewers/document-viewer/document-viewer.class.js +1 -1
- package/dist/components/viewers/document-viewer/document-viewer.styles.js +0 -5
- package/dist/components/viewers/docx-viewer/docx-viewer.styles.js +0 -17
- package/dist/components/viewers/ebook-viewer/ebook-viewer.styles.js +0 -4
- package/dist/components/viewers/email-viewer/email-viewer.styles.js +0 -7
- package/dist/components/viewers/geojson-view/geojson-view.styles.js +0 -5
- package/dist/components/viewers/highlight-layer/highlight-layer.styles.js +0 -3
- package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +1 -1
- package/dist/components/viewers/notebook-viewer/notebook-viewer.styles.js +0 -38
- package/dist/components/viewers/page-rail/page-rail.class.js +1 -1
- package/dist/components/viewers/page-rail/page-rail.styles.js +0 -13
- package/dist/components/viewers/pdf-viewer/pdf-loader.d.ts +13 -2
- package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +32 -2
- package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +4 -4
- package/dist/components/viewers/pdf-viewer/pdf-viewer.styles.js +1 -27
- package/dist/components/viewers/pptx-viewer/pptx-viewer.styles.js +0 -3
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.js +0 -14
- package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +0 -7
- package/dist/components/viewers/xml-viewer/xml-viewer.styles.js +2 -24
- package/dist/custom-elements-jsx.d.ts +56 -37
- package/dist/events.d.ts +43 -33
- package/dist/internal/agent-status-variants.d.ts +18 -0
- package/dist/internal/agent-status-variants.js +1 -0
- package/dist/internal/announcer.d.ts +8 -3
- package/dist/internal/announcer.js +1 -1
- package/dist/internal/autoloader-manifest.js +1 -1
- package/dist/internal/canvas-color.d.ts +16 -0
- package/dist/internal/canvas-color.js +1 -1
- package/dist/internal/catalog-picker.d.ts +0 -1
- package/dist/internal/catalog-picker.js +1 -1
- package/dist/internal/default-strings.generated.d.ts +1 -0
- package/dist/internal/default-strings.generated.js +1 -1
- package/dist/internal/dev-mode-attribute-warning.d.ts +27 -4
- package/dist/internal/dev-mode-attribute-warning.js +1 -1
- package/dist/internal/localization-runtime.js +1 -1
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +1 -1
- package/dist/internal/lyra-element.d.ts +13 -0
- package/dist/internal/lyra-element.js +1 -1
- package/dist/internal/media-controller.js +1 -1
- package/dist/internal/package-metadata.d.ts +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/scroll-overflow.d.ts +35 -13
- package/dist/internal/scroll-overflow.js +1 -1
- package/dist/internal/sizes.styles.js +0 -2
- package/dist/internal/specialist-tokens.styles.js +6 -11
- package/dist/internal/text-highlights.d.ts +4 -1
- package/dist/internal/text-highlights.js +1 -1
- package/dist/internal/tokens/palette.styles.js +0 -15
- package/dist/internal/tokens.styles.js +19 -113
- package/dist/lyra.d.ts +8 -5
- package/dist/styles/reservations.css +82 -0
- package/dist/svelte.d.ts +56 -37
- package/dist/translations/ar.js +1 -1
- package/dist/translations/de.js +1 -1
- package/dist/translations/es.js +1 -1
- package/dist/translations/fa.js +1 -1
- package/dist/translations/fr.js +1 -1
- package/dist/translations/he.js +1 -1
- package/dist/translations/ja.js +1 -1
- package/dist/translations/pt-BR.js +1 -1
- package/dist/translations/ru.js +1 -1
- package/dist/translations/zh-CN.js +1 -1
- package/dist/vue.d.ts +56 -37
- package/llms/components/lr-accordion-item.md +12 -3
- package/llms/components/lr-accordion.md +11 -2
- package/llms/components/lr-agent-eval-dashboard.md +1 -1
- package/llms/components/lr-agent-trace.md +3 -1
- package/llms/components/lr-agent-workspace.md +20 -0
- package/llms/components/lr-artifact-panel.md +10 -4
- package/llms/components/lr-attachment-chip.md +7 -4
- package/llms/components/lr-attachment-trigger.md +7 -4
- package/llms/components/lr-av-player.md +3 -1
- package/llms/components/lr-avatar.md +6 -6
- package/llms/components/lr-bar-chart.md +4 -3
- package/llms/components/lr-box-plot.md +1 -1
- package/llms/components/lr-browser-frame.md +7 -3
- package/llms/components/lr-bubble-chart.md +4 -3
- package/llms/components/lr-calendar.md +9 -2
- package/llms/components/lr-card.md +24 -0
- package/llms/components/lr-chart.md +32 -8
- package/llms/components/lr-chat-viewport.md +7 -2
- package/llms/components/lr-checkbox-group.md +13 -5
- package/llms/components/lr-checkbox.md +5 -2
- package/llms/components/lr-checkpoint.md +6 -2
- package/llms/components/lr-combobox.md +5 -2
- package/llms/components/lr-command-palette.md +4 -1
- package/llms/components/lr-confirm-bar.md +7 -3
- package/llms/components/lr-context-meter.md +12 -11
- package/llms/components/lr-conversation-item.md +7 -4
- package/llms/components/lr-details.md +11 -2
- package/llms/components/lr-dialog.md +15 -10
- package/llms/components/lr-dock-panel.md +7 -10
- package/llms/components/lr-document-preview.md +6 -1
- package/llms/components/lr-document-viewer.md +3 -2
- package/llms/components/lr-doughnut-chart.md +4 -3
- package/llms/components/lr-drawer.md +3 -3
- package/llms/components/lr-entity-card.md +3 -3
- package/llms/components/lr-entity-chip.md +1 -1
- package/llms/components/lr-entity-dossier.md +4 -1
- package/llms/components/lr-file-input.md +2 -2
- package/llms/components/lr-flag.md +20 -5
- package/llms/components/lr-heatmap.md +28 -0
- package/llms/components/lr-histogram.md +3 -1
- package/llms/components/lr-icon.md +1 -1
- package/llms/components/lr-json-schema-viewer.md +2 -1
- package/llms/components/lr-knowledge-graph-explorer.md +8 -3
- package/llms/components/lr-known-date.md +4 -2
- package/llms/components/lr-line-chart.md +4 -3
- package/llms/components/lr-lite-chart.md +16 -6
- package/llms/components/lr-map.md +72 -8
- package/llms/components/lr-markdown-core.md +3 -2
- package/llms/components/lr-media-card.md +28 -12
- package/llms/components/lr-message-parts.md +2 -1
- package/llms/components/lr-model-select.md +9 -10
- package/llms/components/lr-model-settings-panel.md +9 -9
- package/llms/components/lr-neighbor-list.md +1 -1
- package/llms/components/lr-notebook-viewer.md +6 -3
- package/llms/components/lr-option.md +5 -2
- package/llms/components/lr-pdf-viewer.md +62 -2
- package/llms/components/lr-pie-chart.md +4 -3
- package/llms/components/lr-polar-area-chart.md +4 -3
- package/llms/components/lr-popover.md +5 -0
- package/llms/components/lr-progress-ring.md +8 -1
- package/llms/components/lr-prompt-studio.md +1 -1
- package/llms/components/lr-provenance-panel.md +4 -2
- package/llms/components/lr-qr-code.md +1 -1
- package/llms/components/lr-radar-chart.md +4 -3
- package/llms/components/lr-rag-eval-dashboard.md +2 -2
- package/llms/components/lr-random-content.md +13 -0
- package/llms/components/lr-reorder-item.md +6 -1
- package/llms/components/lr-reorder-list.md +6 -1
- package/llms/components/lr-responsive-panel.md +11 -7
- package/llms/components/lr-scatter-chart.md +4 -3
- package/llms/components/lr-sequence-strip.md +16 -2
- package/llms/components/lr-slider.md +12 -5
- package/llms/components/lr-sparkline.md +1 -1
- package/llms/components/lr-suggestion-chips.md +7 -2
- package/llms/components/lr-swatch-picker.md +5 -5
- package/llms/components/lr-switch.md +5 -2
- package/llms/components/lr-table.md +30 -4
- package/llms/components/lr-terminal.md +3 -1
- package/llms/components/lr-thread-list.md +8 -8
- package/llms/components/lr-time-input.md +6 -1
- package/llms/components/lr-timeline-item.md +24 -0
- package/llms/components/lr-timeline.md +25 -1
- package/llms/components/lr-token-input.md +7 -2
- package/llms/components/lr-tool-approval-dialog.md +7 -8
- package/llms/components/lr-tool-call-chip.md +5 -1
- package/llms/components/lr-tool-param-form.md +14 -12
- package/llms/components/lr-tool-result-dialog.md +11 -9
- package/llms/components/lr-tool-result-view.md +7 -6
- package/llms/components/lr-tool-select-dialog.md +18 -16
- package/llms/components/lr-trace-tree.md +3 -1
- package/llms/components/lr-usage-badge.md +4 -1
- package/llms/components/lr-video-playlist.md +1 -1
- package/llms/components/lr-virtual-list.md +22 -14
- package/llms/components/lr-voice-picker.md +8 -5
- package/llms/components/lr-widget-renderer.md +3 -3
- package/llms/components/lr-widget.md +1 -1
- package/llms/components/lr-word-cloud.md +6 -2
- package/llms/peers.md +12 -2
- package/llms/shared.md +70 -2
- package/llms-full.txt +1143 -285
- package/package.json +17 -5
- package/vscode-css-data.json +37 -2
- package/vscode-html-data.json +401 -44
- package/web-types.json +299 -55
|
@@ -34,7 +34,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
34
34
|
.renderItem=${item=>this.entryTemplate(item,!1)}
|
|
35
35
|
.keyFunction=${item=>item.id}
|
|
36
36
|
aria-label=${ariaLabel}
|
|
37
|
-
@lr-visible-range-
|
|
37
|
+
@lr-visible-range-change=${this.onVirtualListRangeChanged}
|
|
38
38
|
></lr-virtual-list>`:repeat(entries,entry=>entry.id,entry=>this.entryTemplate(entry,!0))}
|
|
39
39
|
</div>
|
|
40
40
|
<lr-live-region></lr-live-region>
|
|
@@ -27,9 +27,6 @@ import{css}from"lit";const styles=css`
|
|
|
27
27
|
background: var(--lr-color-brand-quiet);
|
|
28
28
|
color: var(--lr-color-brand);
|
|
29
29
|
}
|
|
30
|
-
/* Pressed is the hovered tint pushed a further --lr-color-mix-active toward
|
|
31
|
-
--lr-color-mix-partner (which follows the text colour), so it reads as a distinctly deeper step
|
|
32
|
-
than hover in both light and dark themes rather than repeating it. */
|
|
33
30
|
[part="header"]:active {
|
|
34
31
|
background: color-mix(
|
|
35
32
|
in oklab,
|
|
@@ -112,13 +109,6 @@ import{css}from"lit";const styles=css`
|
|
|
112
109
|
var(--_lr-activity-feed-max-height)
|
|
113
110
|
);
|
|
114
111
|
}
|
|
115
|
-
/* Every entry rule below is paired with an lr-virtual-list::part(x) twin because this component
|
|
116
|
-
renders entries through two paths. Below virtualize-at, entryTemplate()'s result is
|
|
117
|
-
committed into this component's own shadow root and the plain [part=] selector matches. At or
|
|
118
|
-
above it, the exact same template becomes <lr-virtual-list>'s .renderItem, and Lit commits it
|
|
119
|
-
wherever virtual-list's own render() is updating -- i.e. inside *its* shadow root, a different
|
|
120
|
-
shadow tree that a [part=] selector scoped to this one can never reach. ::part() crosses that
|
|
121
|
-
single boundary. Both selectors are load-bearing; dropping either silently unstyles one path. */
|
|
122
112
|
[part="entry"],
|
|
123
113
|
lr-virtual-list::part(entry) {
|
|
124
114
|
display: flex;
|
|
@@ -141,12 +131,6 @@ import{css}from"lit";const styles=css`
|
|
|
141
131
|
block-size: var(--lr-size-0-5rem);
|
|
142
132
|
border-radius: var(--lr-radius-pill);
|
|
143
133
|
}
|
|
144
|
-
/* Shadow Parts forbids an attribute selector after ::part(), so the variant cannot be matched as
|
|
145
|
-
::part(variant-dot)[data-variant='success'] -- that selector is invalid and would drop the rule
|
|
146
|
-
entirely. Each variant carries a second name in the dot's part list instead; ::part() matches
|
|
147
|
-
with part~= semantics, so both names select the same element, and a consumer gains a
|
|
148
|
-
per-variant hook the [data-variant] form never offered. The [part~=] form is the plain-path
|
|
149
|
-
twin: [part='variant-dot-success'] would not match a multi-name part attribute. */
|
|
150
134
|
[part~="variant-dot-neutral"],
|
|
151
135
|
lr-virtual-list::part(variant-dot-neutral) {
|
|
152
136
|
background: var(--lr-color-text-quiet);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{styles}from"./agent-eval-dashboard.styles.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{finiteCount}from"../../../internal/numbers.js";import{agentStatusKind,agentStatusLabel,agentStatusMessage,agentStatusVariant}from"../agent-status-presentation.js";import{overallSemanticLabel}from"../semantic-owner.js";import{firstByIdentity}from"../collection-identity.js";import{LYRA_DEFAULT_agentRunStatusCancelled,LYRA_DEFAULT_agentRunStatusCollecting,LYRA_DEFAULT_agentRunStatusDone,LYRA_DEFAULT_agentRunStatusIdle,LYRA_DEFAULT_agentRunStatusQueued,LYRA_DEFAULT_agentRunStatusWaitingApproval,LYRA_DEFAULT_agentRunStatusWaitingInput,LYRA_DEFAULT_chartValueLabel,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_evaluationDashboardLabel,LYRA_DEFAULT_evaluationDashboardNoRuns,LYRA_DEFAULT_evaluationDashboardRunsLabel,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_search,LYRA_DEFAULT_select,LYRA_DEFAULT_statusError,LYRA_DEFAULT_statusRunning}from"../../../internal/default-strings.generated.js";
|
|
1
|
+
var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{AGENT_STATUS_VARIANTS}from"../../../internal/agent-status-variants.js";import{styles}from"./agent-eval-dashboard.styles.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{finiteCount}from"../../../internal/numbers.js";import{agentStatusKind,agentStatusLabel,agentStatusMessage,agentStatusVariant}from"../agent-status-presentation.js";import{overallSemanticLabel}from"../semantic-owner.js";import{firstByIdentity}from"../collection-identity.js";import{LYRA_DEFAULT_agentRunStatusCancelled,LYRA_DEFAULT_agentRunStatusCollecting,LYRA_DEFAULT_agentRunStatusDone,LYRA_DEFAULT_agentRunStatusIdle,LYRA_DEFAULT_agentRunStatusQueued,LYRA_DEFAULT_agentRunStatusWaitingApproval,LYRA_DEFAULT_agentRunStatusWaitingInput,LYRA_DEFAULT_chartValueLabel,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_evaluationDashboardLabel,LYRA_DEFAULT_evaluationDashboardNoRuns,LYRA_DEFAULT_evaluationDashboardRunsLabel,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_search,LYRA_DEFAULT_select,LYRA_DEFAULT_statusError,LYRA_DEFAULT_statusRunning}from"../../../internal/default-strings.generated.js";class LyraAgentEvalDashboard extends LyraElement{constructor(){super(...arguments),this.metrics=[],this.runs=[],this.metricId=null,this.currency="USD",this.showChart=!0,this.chartHeight="220px",this.maxRenderedRuns=100}static{this.defaultStrings={...super.defaultStrings,agentRunStatusCancelled:LYRA_DEFAULT_agentRunStatusCancelled,agentRunStatusCollecting:LYRA_DEFAULT_agentRunStatusCollecting,agentRunStatusDone:LYRA_DEFAULT_agentRunStatusDone,agentRunStatusIdle:LYRA_DEFAULT_agentRunStatusIdle,agentRunStatusQueued:LYRA_DEFAULT_agentRunStatusQueued,agentRunStatusWaitingApproval:LYRA_DEFAULT_agentRunStatusWaitingApproval,agentRunStatusWaitingInput:LYRA_DEFAULT_agentRunStatusWaitingInput,chartValueLabel:LYRA_DEFAULT_chartValueLabel,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,evaluationDashboardLabel:LYRA_DEFAULT_evaluationDashboardLabel,evaluationDashboardNoRuns:LYRA_DEFAULT_evaluationDashboardNoRuns,evaluationDashboardRunsLabel:LYRA_DEFAULT_evaluationDashboardRunsLabel,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select,statusError:LYRA_DEFAULT_statusError,statusRunning:LYRA_DEFAULT_statusRunning}}static{this.ownedCollectionProperties=Object.freeze(["metrics","runs"])}static{this.styles=[LyraElement.styles,styles]}get normalizedMetrics(){return firstByIdentity(Array.isArray(this.metrics)?this.metrics:[],metric=>metric.id)}get normalizedRuns(){return firstByIdentity(Array.isArray(this.runs)?this.runs:[],run=>run.id)}get activeMetric(){const metrics=this.normalizedMetrics;return this.metricId===null?metrics[0]:metrics.find(metric=>metric.id===this.metricId)??metrics[0]}statusLabel(status){const override=agentStatusLabel(status);if(override!==void 0)return override;const kind=agentStatusKind(status),keys={idle:"agentRunStatusIdle",queued:"agentRunStatusQueued",running:"statusRunning",collecting:"agentRunStatusCollecting","waiting-input":"agentRunStatusWaitingInput","waiting-approval":"agentRunStatusWaitingApproval",done:"agentRunStatusDone",error:"statusError",cancelled:"agentRunStatusCancelled"};return keys[kind]?this.localize(keys[kind]):kind.replace(/[-_]+/g," ")}get projectedRuns(){const limit=Math.max(1,finiteCount(this.maxRenderedRuns,100,500));return this.normalizedRuns.slice(0,limit)}formatMetric(metric,value=metric.value){const safe=Number.isFinite(value)?value:0;switch(metric.format){case"percent":return getNumberFormat(this.effectiveLocale,{style:"percent",maximumFractionDigits:1}).format(safe);case"milliseconds":return getNumberFormat(this.effectiveLocale,{style:"unit",unit:"millisecond",unitDisplay:"short",maximumFractionDigits:0}).format(safe);case"currency":try{return getNumberFormat(this.effectiveLocale,{style:"currency",currency:this.currency,maximumFractionDigits:2}).format(safe)}catch{return getNumberFormat(this.effectiveLocale,{style:"currency",currency:"USD",maximumFractionDigits:2}).format(safe)}default:return getNumberFormat(this.effectiveLocale,{maximumFractionDigits:2}).format(safe)}}renderRuns(runs){if(!runs.length)return html`<p part="empty">${this.localize("evaluationDashboardNoRuns")}</p>`;const active=this.activeMetric;return html`<section part="runs" aria-label=${this.localize("evaluationDashboardRunsLabel")}><h3 part="runs-heading">${this.localize("evaluationDashboardRunsLabel")}</h3>${runs.map(run=>{const kind=agentStatusKind(run.status),message=agentStatusMessage(run.status);return html`<button part="run" type="button" @click=${()=>this.emit("lr-run-activate",{runId:run.id,run})}><span part="run-label">${run.label}</span><span part="run-meta"><lr-badge part="run-status" variant=${agentStatusVariant(run.status,AGENT_STATUS_VARIANTS[kind]??"neutral")}>${this.statusLabel(run.status)}</lr-badge>${message!==void 0?html`<span part="run-status-message">${message}</span>`:nothing}${active&&run.metrics?.[active.id]!=null?html`<span>${this.formatMetric(active,run.metrics[active.id])}</span>`:nothing}</span></button>`})}</section>`}render(){const label=this.label==null?this.localize("evaluationDashboardLabel"):this.label,semanticLabel=overallSemanticLabel(this,label),active=this.activeMetric,runs=this.projectedRuns,metrics=this.normalizedMetrics,values=runs.map(run=>{const value=active?run.metrics?.[active.id]:void 0;return value!=null&&Number.isFinite(value)?value:null});return html`<section part="base" aria-label=${semanticLabel??nothing}>
|
|
2
2
|
<h2 part="heading">${label}</h2>
|
|
3
3
|
${metrics.length?html`<div part="metrics">${metrics.map(metric=>{const value=this.formatMetric(metric);return html`<button
|
|
4
4
|
part="metric"
|
|
@@ -21,11 +21,13 @@ import{css}from"lit";const styles=css`
|
|
|
21
21
|
border-color: var(--lr-agent-eval-dashboard-active-border, var(--lr-color-brand));
|
|
22
22
|
background: var(--lr-agent-eval-dashboard-active-background, var(--lr-color-brand-quiet));
|
|
23
23
|
}
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
24
|
+
[part='metric']:where([aria-pressed='true']):hover {
|
|
25
|
+
background: color-mix(
|
|
26
|
+
in oklab,
|
|
27
|
+
var(--lr-agent-eval-dashboard-active-background, var(--lr-color-brand-quiet)),
|
|
28
|
+
var(--lr-color-mix-partner) var(--lr-color-mix-hover)
|
|
29
|
+
);
|
|
30
|
+
}
|
|
29
31
|
[part='metric']:active {
|
|
30
32
|
background: color-mix(in oklab, var(--lr-color-surface-raised), var(--lr-color-mix-partner) var(--lr-color-mix-active));
|
|
31
33
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,state,query}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{spinnerIcon}from"../../../internal/icons.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{durationMessageValue}from"../../../internal/duration.js";import{finiteRange}from"../../../internal/numbers.js";import{srOnly}from"../../../internal/a11y.js";import{styles}from"./agent-run.styles.js";import{firstByIdentity}from"../collection-identity.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{LYRA_DEFAULT_agentRunCurrentStepLabel,LYRA_DEFAULT_agentRunStatusAnnounce,LYRA_DEFAULT_agentRunStatusCancelled,LYRA_DEFAULT_agentRunStatusCollecting,LYRA_DEFAULT_agentRunStatusDone,LYRA_DEFAULT_agentRunStatusIdle,LYRA_DEFAULT_agentRunStatusQueued,LYRA_DEFAULT_agentRunStatusWaitingApproval,LYRA_DEFAULT_agentRunStatusWaitingInput,LYRA_DEFAULT_cancel,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_durationMilliseconds,LYRA_DEFAULT_durationSeconds,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_noData,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_retry,LYRA_DEFAULT_search,LYRA_DEFAULT_select,LYRA_DEFAULT_statusError,LYRA_DEFAULT_statusRunning}from"../../../internal/default-strings.generated.js";const TICKING_KINDS=new Set(["running","collecting","waiting-input","waiting-approval"]),TERMINAL_KINDS=new Set(["done","error","cancelled"]),STATUS_LABEL={idle:{key:"agentRunStatusIdle"},running:{key:"statusRunning"},queued:{key:"agentRunStatusQueued"},collecting:{key:"agentRunStatusCollecting"},"waiting-input":{key:"agentRunStatusWaitingInput"},"waiting-approval":{key:"agentRunStatusWaitingApproval"},done:{key:"agentRunStatusDone"},error:{key:"statusError"},cancelled:{key:"agentRunStatusCancelled"}},
|
|
1
|
+
var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,state,query}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{spinnerIcon}from"../../../internal/icons.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{durationMessageValue}from"../../../internal/duration.js";import{finiteRange}from"../../../internal/numbers.js";import{srOnly}from"../../../internal/a11y.js";import{AGENT_STATUS_VARIANTS}from"../../../internal/agent-status-variants.js";import{styles}from"./agent-run.styles.js";import{firstByIdentity}from"../collection-identity.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{LYRA_DEFAULT_agentRunCurrentStepLabel,LYRA_DEFAULT_agentRunStatusAnnounce,LYRA_DEFAULT_agentRunStatusCancelled,LYRA_DEFAULT_agentRunStatusCollecting,LYRA_DEFAULT_agentRunStatusDone,LYRA_DEFAULT_agentRunStatusIdle,LYRA_DEFAULT_agentRunStatusQueued,LYRA_DEFAULT_agentRunStatusWaitingApproval,LYRA_DEFAULT_agentRunStatusWaitingInput,LYRA_DEFAULT_cancel,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_durationMilliseconds,LYRA_DEFAULT_durationSeconds,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_noData,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_retry,LYRA_DEFAULT_search,LYRA_DEFAULT_select,LYRA_DEFAULT_statusError,LYRA_DEFAULT_statusRunning}from"../../../internal/default-strings.generated.js";const TICKING_KINDS=new Set(["running","collecting","waiting-input","waiting-approval"]),TERMINAL_KINDS=new Set(["done","error","cancelled"]),STATUS_LABEL={idle:{key:"agentRunStatusIdle"},running:{key:"statusRunning"},queued:{key:"agentRunStatusQueued"},collecting:{key:"agentRunStatusCollecting"},"waiting-input":{key:"agentRunStatusWaitingInput"},"waiting-approval":{key:"agentRunStatusWaitingApproval"},done:{key:"agentRunStatusDone"},error:{key:"statusError"},cancelled:{key:"agentRunStatusCancelled"}},STEP_TO_TASK_STATUS={idle:"pending",running:"running",collecting:"running","waiting-input":"running","waiting-approval":"running",done:"success",error:"error",cancelled:"error"};function toTaskItem(step){return{id:step.id,label:step.label,status:STEP_TO_TASK_STATUS[step.status.kind]??"pending",detail:step.status.message}}class LyraAgentRun extends LyraElement{constructor(){super(...arguments),this.run=null,this.statusLabels={},this.statusVariants={},this.metrics=[],this.showCancel=!0,this.showRetry=!0,this.compact=!1,this.frame="card",this.retryAttempt=0,this.hasHeaderSlot=!1,this.hasSummarySlot=!1,this.onHeaderSlotChange=e=>{this.hasHeaderSlot=e.target.assignedElements({flatten:!0}).length>0},this.onSummarySlotChange=e=>{this.hasSummarySlot=e.target.assignedElements({flatten:!0}).length>0},this.onCancelClick=()=>{this.emit("lr-cancel",{})},this.onRetryClick=()=>{this.retryAttempt+=1,this.emit("lr-run-retry",{attempt:this.retryAttempt})}}static{this.defaultStrings={...super.defaultStrings,agentRunCurrentStepLabel:LYRA_DEFAULT_agentRunCurrentStepLabel,agentRunStatusAnnounce:LYRA_DEFAULT_agentRunStatusAnnounce,agentRunStatusCancelled:LYRA_DEFAULT_agentRunStatusCancelled,agentRunStatusCollecting:LYRA_DEFAULT_agentRunStatusCollecting,agentRunStatusDone:LYRA_DEFAULT_agentRunStatusDone,agentRunStatusIdle:LYRA_DEFAULT_agentRunStatusIdle,agentRunStatusQueued:LYRA_DEFAULT_agentRunStatusQueued,agentRunStatusWaitingApproval:LYRA_DEFAULT_agentRunStatusWaitingApproval,agentRunStatusWaitingInput:LYRA_DEFAULT_agentRunStatusWaitingInput,cancel:LYRA_DEFAULT_cancel,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,durationMilliseconds:LYRA_DEFAULT_durationMilliseconds,durationSeconds:LYRA_DEFAULT_durationSeconds,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,noData:LYRA_DEFAULT_noData,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,retry:LYRA_DEFAULT_retry,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select,statusError:LYRA_DEFAULT_statusError,statusRunning:LYRA_DEFAULT_statusRunning}}static{this.ownedCollectionProperties=Object.freeze(["run","statusLabels","statusVariants","metrics"])}static{this.styles=[LyraElement.styles,srOnly,styles]}get normalizedMetrics(){return firstByIdentity(Array.isArray(this.metrics)?this.metrics:[],metric=>metric.id)}willUpdate(changed){super.willUpdate(changed),this.hasUpdated||(this.hasHeaderSlot=this.hasSlotted("header"),this.hasSummarySlot=this.hasSlotted("summary")),changed.has("run")&&this.run?.id!==this.previousRunId&&(this.retryAttempt=0)}hasSlotted(name){return Array.from(this.children).some(element=>element.getAttribute("slot")===name)}updated(changed){super.updated(changed),changed.has("run")&&this.handleRunChange()}handleRunChange(){const runId=this.run?.id,kind=this.run?.status.kind;!(runId!==this.previousRunId)&&kind!==void 0&&kind!==this.previousStatusKind&&this.isAttentionKind(kind)&&this.announceStatus(kind),this.previousRunId=runId,this.previousStatusKind=kind}isAttentionKind(kind){return kind==="waiting-input"||kind==="waiting-approval"||TERMINAL_KINDS.has(kind)}announceStatus(kind){const region=this.liveRegion;region&&(region.mode=kind==="error"||kind==="waiting-input"||kind==="waiting-approval"?"assertive":"polite",region.announce(this.localize("agentRunStatusAnnounce",void 0,{status:this.statusLabel(kind)}),{force:!0}))}statusLabel(kind){const custom=this.statusLabels[kind];if(custom)return custom;const builtIn=STATUS_LABEL[kind];return builtIn?this.localize(builtIn.key):kind.replace(/[-_]+/g," ").replace(/\b\w/g,letter=>letter.toUpperCase())}get currentStep(){const steps=this.run?.steps;if(steps){for(let i=steps.length-1;i>=0;i--)if(steps[i].status.kind==="running")return steps[i]}}get isTicking(){const kind=this.run?.status.kind;return kind!==void 0&&TICKING_KINDS.has(kind)&&Number.isFinite(this.run?.startedAt)}get staticElapsedText(){const run=this.run;if(!run||!TERMINAL_KINDS.has(run.status.kind))return;const startedAt=run.startedAt,endedAt=run.endedAt;if(startedAt==null||endedAt==null||!Number.isFinite(startedAt)||!Number.isFinite(endedAt))return;const d=durationMessageValue(Math.max(0,endedAt-startedAt));return this.localize(d.key,void 0,{value:getNumberFormat(this.effectiveLocale,{maximumFractionDigits:d.key==="durationSeconds"?1:0}).format(d.value)})}get costText(){const cost=this.run?.costEstimate;if(cost==null||!Number.isFinite(cost))return"";const value=finiteRange(cost,cost,0);return(this.formatCost??(c=>getNumberFormat(this.effectiveLocale,{maximumFractionDigits:4}).format(c)))(value)}get canCancel(){const kind=this.run?.status.kind;return this.showCancel&&kind!==void 0&&TICKING_KINDS.has(kind)}get canRetry(){const kind=this.run?.status.kind;return this.showRetry&&(kind==="error"||kind==="cancelled")}render(){const run=this.run;if(!run)return html`<div part="base"><lr-empty part="empty" heading=${this.localize("noData")}></lr-empty></div>`;const kind=run.status.kind,step=this.currentStep,ticking=this.isTicking,staticElapsed=this.staticElapsedText,cost=this.costText,metrics=this.normalizedMetrics,hasSummary=!!run.model||cost!==""||metrics.length>0;return html`
|
|
2
2
|
<div part="base">
|
|
3
3
|
<div part="header">
|
|
4
4
|
<slot name="header" @slotchange=${this.onHeaderSlotChange}></slot>
|
|
@@ -6,7 +6,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
6
6
|
<div part="status">
|
|
7
7
|
<lr-badge
|
|
8
8
|
part="status-badge"
|
|
9
|
-
variant=${this.statusVariants[kind]??
|
|
9
|
+
variant=${this.statusVariants[kind]??AGENT_STATUS_VARIANTS[kind]??"neutral"}
|
|
10
10
|
>${this.statusLabel(kind)}</lr-badge
|
|
11
11
|
>
|
|
12
12
|
${run.status.message?html`<span part="status-message">${run.status.message}</span>`:nothing}
|
|
@@ -15,19 +15,10 @@ import{css}from"lit";const styles=css`
|
|
|
15
15
|
background: var(--lr-color-surface);
|
|
16
16
|
color: var(--lr-color-text);
|
|
17
17
|
}
|
|
18
|
-
/* Density escape -- same convention as lr-empty's compact. The tuned values sit behind inline
|
|
19
|
-
var() fallbacks (rather than a :host declaration, which every instance would re-declare and so
|
|
20
|
-
shadow any ancestor value) so a consumer can retune them from outside without restating the
|
|
21
|
-
whole rule; the fallbacks are the pre-existing values, so an unset run renders unchanged. */
|
|
22
18
|
:host([compact]) [part="base"] {
|
|
23
19
|
padding: var(--lr-agent-run-compact-padding, var(--lr-space-s));
|
|
24
20
|
gap: var(--lr-agent-run-compact-gap, var(--lr-space-s));
|
|
25
21
|
}
|
|
26
|
-
/* MUST stay after :host([compact]): both selectors are :host([x]) [part='base'], i.e. equal
|
|
27
|
-
specificity, so source order alone decides which padding/gap wins when a run is both compact
|
|
28
|
-
and frame="plain". plain is the stronger statement ("no chrome at all"), so it goes last. The built-in
|
|
29
|
-
Cancel/Retry buttons keep their own border/background -- that chrome is theirs, not the card's,
|
|
30
|
-
so a chrome-less run still has a visible interactive affordance. */
|
|
31
22
|
:host([frame="plain"]) [part="base"] {
|
|
32
23
|
padding: 0;
|
|
33
24
|
border: 0;
|
|
@@ -174,10 +165,6 @@ import{css}from"lit";const styles=css`
|
|
|
174
165
|
border-color: var(--lr-color-brand);
|
|
175
166
|
color: var(--lr-color-brand);
|
|
176
167
|
}
|
|
177
|
-
/* Both hovers recolour the border and label only, which leaves the pressed step nothing to
|
|
178
|
-
deepen -- so pressed tints the button's own surface fill toward --lr-color-mix-partner (which
|
|
179
|
-
follows the text colour) instead. The :hover border/label colours still apply underneath while
|
|
180
|
-
the pointer is down, so Cancel stays danger-toned and Retry stays brand-toned when pressed. */
|
|
181
168
|
[part="cancel-button"]:active,
|
|
182
169
|
[part="retry-button"]:active {
|
|
183
170
|
background: color-mix(
|
|
@@ -45,10 +45,6 @@ import{css}from"lit";const styles=css`
|
|
|
45
45
|
cursor: pointer;
|
|
46
46
|
border-radius: var(--lr-radius-xs);
|
|
47
47
|
}
|
|
48
|
-
/* The handoff button has no fill of its own, so both states tint the transparent surface toward
|
|
49
|
-
--lr-color-mix-partner (which follows the text colour): it darkens in a light theme, lightens in
|
|
50
|
-
a dark one. Previously a hand-rolled 8% mix against --lr-color-text -- same idea, but a literal
|
|
51
|
-
no consumer could retune and a strength no other control in the library shared. */
|
|
52
48
|
[part='handoff']:hover {
|
|
53
49
|
background: color-mix(in oklab, transparent, var(--lr-color-mix-partner) var(--lr-color-mix-hover));
|
|
54
50
|
}
|
|
@@ -62,6 +58,13 @@ import{css}from"lit";const styles=css`
|
|
|
62
58
|
[part='handoff'][data-active] {
|
|
63
59
|
background: var(--lr-agent-trace-handoff-active-bg, var(--lr-color-brand-quiet));
|
|
64
60
|
}
|
|
61
|
+
[part='handoff'][data-active]:active {
|
|
62
|
+
background: color-mix(
|
|
63
|
+
in oklab,
|
|
64
|
+
var(--lr-agent-trace-handoff-active-bg, var(--lr-color-brand-quiet)),
|
|
65
|
+
var(--lr-color-mix-partner) var(--lr-color-mix-active)
|
|
66
|
+
);
|
|
67
|
+
}
|
|
65
68
|
|
|
66
69
|
[part='tree'] {
|
|
67
70
|
max-inline-size: 100%;
|
|
@@ -64,14 +64,16 @@ import{css}from"lit";const styles=css`
|
|
|
64
64
|
cursor: pointer;
|
|
65
65
|
}
|
|
66
66
|
|
|
67
|
-
[part='request']:
|
|
67
|
+
[part='request']:disabled {
|
|
68
|
+
opacity: var(--lr-opacity-disabled);
|
|
69
|
+
cursor: not-allowed;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
[part='request']:not(:disabled):hover {
|
|
68
73
|
background: var(--lr-color-surface-raised);
|
|
69
74
|
}
|
|
70
75
|
|
|
71
|
-
|
|
72
|
-
--lr-color-mix-partner (which follows the text colour), so it reads as a distinctly deeper step
|
|
73
|
-
than hover in both light and dark themes rather than repeating it. */
|
|
74
|
-
[part='request']:active {
|
|
76
|
+
[part='request']:not(:disabled):active {
|
|
75
77
|
background: color-mix(in oklab, var(--lr-color-surface-raised), var(--lr-color-mix-partner) var(--lr-color-mix-active));
|
|
76
78
|
}
|
|
77
79
|
|
|
@@ -68,9 +68,6 @@ import{css}from"lit";const styles=css`
|
|
|
68
68
|
}
|
|
69
69
|
[part='restore-button']:hover, [part='copy-button']:hover, [part='download-button']:hover,
|
|
70
70
|
[part='view-button']:hover { background: var(--lr-color-brand-quiet); color: var(--lr-color-brand); }
|
|
71
|
-
/* Pressed is the hovered tint pushed a further --lr-color-mix-active toward
|
|
72
|
-
--lr-color-mix-partner (which follows the text colour), so it reads as a distinctly deeper step
|
|
73
|
-
than hover in both light and dark themes rather than repeating it. */
|
|
74
71
|
[part='restore-button']:active, [part='copy-button']:active, [part='download-button']:active,
|
|
75
72
|
[part='view-button']:active {
|
|
76
73
|
background: color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active));
|
|
@@ -1,8 +1,6 @@
|
|
|
1
1
|
import{css}from"lit";const styles=css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
|
-
/* Makes the host a query container so the @container rule below reacts to the frame's own
|
|
5
|
-
allocated width (a sidebar, a split pane, a dialog) instead of the viewport's. */
|
|
6
4
|
container-type: inline-size;
|
|
7
5
|
contain-intrinsic-inline-size: var(--lr-size-20rem);
|
|
8
6
|
}
|
|
@@ -59,9 +57,6 @@ import{css}from"lit";const styles=css`
|
|
|
59
57
|
[part='stop-button']:hover {
|
|
60
58
|
background: var(--lr-color-brand-quiet);
|
|
61
59
|
}
|
|
62
|
-
/* Pressed is the hovered tint pushed a further --lr-color-mix-active toward
|
|
63
|
-
--lr-color-mix-partner (which follows the text colour), so it reads as a distinctly deeper step
|
|
64
|
-
than hover in both light and dark themes rather than repeating it. */
|
|
65
60
|
[part='take-over-button']:active,
|
|
66
61
|
[part='stop-button']:active {
|
|
67
62
|
background: color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active));
|
|
@@ -88,6 +83,9 @@ import{css}from"lit";const styles=css`
|
|
|
88
83
|
block-size: 100%;
|
|
89
84
|
object-fit: contain;
|
|
90
85
|
}
|
|
86
|
+
::slotted([hidden]:not([hidden='until-found' i])) {
|
|
87
|
+
display: none;
|
|
88
|
+
}
|
|
91
89
|
[part='ping'] {
|
|
92
90
|
position: absolute;
|
|
93
91
|
inline-size: var(--lr-size-16px);
|
|
@@ -12,16 +12,9 @@ import{css}from"lit";const styles=css`
|
|
|
12
12
|
border-radius: var(--lr-radius);
|
|
13
13
|
padding: var(--lr-space-m);
|
|
14
14
|
}
|
|
15
|
-
/* Density escape -- same convention as lr-agent-run's compact. The tuned value sits behind an
|
|
16
|
-
inline var() fallback (rather than a :host declaration, which every instance would re-declare
|
|
17
|
-
and so shadow any ancestor value) so a consumer can retune it from outside without restating
|
|
18
|
-
the whole rule; the fallback is the pre-existing value, so an unset card renders unchanged. */
|
|
19
15
|
:host([compact]) [part='base'] {
|
|
20
16
|
padding: var(--lr-commit-card-compact-padding, var(--lr-space-s));
|
|
21
17
|
}
|
|
22
|
-
/* MUST stay after :host([compact]): both selectors are :host([x]) [part='base'], i.e. equal
|
|
23
|
-
specificity, so source order alone decides which padding wins when a card is both compact and
|
|
24
|
-
frame="plain". plain is the stronger statement ("no chrome at all"), so it goes last. */
|
|
25
18
|
:host([frame='plain']) [part='base'] {
|
|
26
19
|
padding: 0;
|
|
27
20
|
border: 0;
|
|
@@ -76,9 +69,6 @@ import{css}from"lit";const styles=css`
|
|
|
76
69
|
cursor: pointer;
|
|
77
70
|
padding: var(--lr-space-xs) 0;
|
|
78
71
|
}
|
|
79
|
-
/* Pressed, here and on [part='file'] / [part='copy-button'] below, is the hovered tint pushed a
|
|
80
|
-
further --lr-color-mix-active toward --lr-color-mix-partner (which follows the text colour), so
|
|
81
|
-
it reads as a distinctly deeper step than hover in both light and dark themes. */
|
|
82
72
|
[part='files-toggle']:hover {
|
|
83
73
|
background: var(--lr-color-brand-quiet);
|
|
84
74
|
}
|
|
@@ -95,11 +95,6 @@ import{css}from"lit";const styles=css`
|
|
|
95
95
|
[part="vote-button"]:hover {
|
|
96
96
|
background: var(--lr-color-brand-quiet);
|
|
97
97
|
}
|
|
98
|
-
/* Pressed is the hovered tint pushed a further --lr-color-mix-active toward
|
|
99
|
-
--lr-color-mix-partner (which follows the text colour), so it reads as a distinctly deeper step
|
|
100
|
-
than hover in both light and dark themes rather than repeating it. Placed before the selected
|
|
101
|
-
rule deliberately: once a vote is cast, the selected treatment is the state worth showing, and
|
|
102
|
-
the button's own :hover already answers the pointer. */
|
|
103
98
|
[part="vote-button"]:active {
|
|
104
99
|
background: color-mix(
|
|
105
100
|
in oklab,
|
|
@@ -107,7 +102,7 @@ import{css}from"lit";const styles=css`
|
|
|
107
102
|
var(--lr-color-mix-partner) var(--lr-color-mix-active)
|
|
108
103
|
);
|
|
109
104
|
}
|
|
110
|
-
[part="vote-button"]
|
|
105
|
+
[part="vote-button"][data-selected] {
|
|
111
106
|
background: var(
|
|
112
107
|
--lr-compare-panel-selected-background,
|
|
113
108
|
var(--lr-color-brand-quiet)
|
|
@@ -122,6 +117,16 @@ import{css}from"lit";const styles=css`
|
|
|
122
117
|
var(--lr-font-weight-semibold)
|
|
123
118
|
);
|
|
124
119
|
}
|
|
120
|
+
[part="vote-button"][data-selected]:active {
|
|
121
|
+
background: color-mix(
|
|
122
|
+
in oklab,
|
|
123
|
+
var(
|
|
124
|
+
--lr-compare-panel-selected-background,
|
|
125
|
+
var(--lr-color-brand-quiet)
|
|
126
|
+
),
|
|
127
|
+
var(--lr-color-mix-partner) var(--lr-color-mix-active)
|
|
128
|
+
);
|
|
129
|
+
}
|
|
125
130
|
[part="vote-button"]:disabled {
|
|
126
131
|
opacity: var(--lr-opacity-disabled);
|
|
127
132
|
cursor: not-allowed;
|
|
@@ -1,15 +1,7 @@
|
|
|
1
1
|
import{css}from"lit";const styles=css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
|
-
/* Makes the host a query container so the @container rule below reacts to the bar's own
|
|
5
|
-
allocated width (a chat transcript, a split pane, a narrow dialog) instead of the
|
|
6
|
-
viewport's. */
|
|
7
4
|
container: lr-confirm-bar / inline-size;
|
|
8
|
-
/* inline-size containment strips the box of content-based intrinsic sizing, so without this
|
|
9
|
-
fallback the bar collapses to a sliver in any shrink-to-fit context (a flex row, a centered
|
|
10
|
-
grid cell, a fit-content wrapper) -- the same pairing every other inline-size query
|
|
11
|
-
container in the library declares (eval-result, mcp-app, prompt-studio). The compact host
|
|
12
|
-
state sets container: none and is unaffected either way. */
|
|
13
5
|
contain-intrinsic-inline-size: var(--lr-size-20rem);
|
|
14
6
|
min-inline-size: 0;
|
|
15
7
|
max-inline-size: 100%;
|
|
@@ -43,16 +35,6 @@ import{css}from"lit";const styles=css`
|
|
|
43
35
|
justify-content: flex-end;
|
|
44
36
|
gap: var(--lr-space-s);
|
|
45
37
|
}
|
|
46
|
-
/* deny-button/approve-button are <lr-button> hosts (see confirm-bar.class.ts's render()) --
|
|
47
|
-
their own padding/border/background/color/hover/focus-visible/disabled chrome lives entirely
|
|
48
|
-
inside lr-button's own styles.ts, driven by its "variant" property. A rule declared here
|
|
49
|
-
against [part='deny-button']/[part='approve-button'] directly would either double up a visual
|
|
50
|
-
effect lr-button already applies internally (hover brightness, disabled opacity both compound
|
|
51
|
-
when applied on both the outer host and the inner native button) or be silently dead
|
|
52
|
-
(:focus-visible never matches this outer host -- real DOM focus lands on the native <button>
|
|
53
|
-
nested one shadow level down, inside lr-button's own shadow root, never on the host itself).
|
|
54
|
-
Only cross-cutting FLEX-ITEM sizing concerns belong here -- the @container rule below is
|
|
55
|
-
exactly that, and is unaffected by what part="deny-button"/"approve-button" resolves to. */
|
|
56
38
|
[part='status'] {
|
|
57
39
|
display: flex;
|
|
58
40
|
align-items: center;
|
|
@@ -83,18 +65,8 @@ import{css}from"lit";const styles=css`
|
|
|
83
65
|
}
|
|
84
66
|
}
|
|
85
67
|
|
|
86
|
-
/* Density escape -- same convention as lr-agent-run's/lr-commit-card's compact, and purely a
|
|
87
|
-
density and layout knob: the card border, radius and background all stay, and frame='plain'
|
|
88
|
-
below is what drops them. The tuned values sit behind inline var() fallbacks (rather than a
|
|
89
|
-
:host declaration, which every instance would re-declare and so shadow any ancestor value) so a
|
|
90
|
-
consumer can retune the density from outside without restating the whole rule. */
|
|
91
68
|
:host([compact]) {
|
|
92
69
|
display: inline-flex;
|
|
93
|
-
/* The container query above measures *this* host. A compact bar exists precisely to be dropped
|
|
94
|
-
into a narrow slot (a table cell, a card action row), so that query would fire essentially
|
|
95
|
-
always and stretch the buttons to fill -- the exact opposite of the intent. Dropping the
|
|
96
|
-
query container is what neutralizes it: with no containment here and (normally) no ancestor
|
|
97
|
-
container either, the max-inline-size: 20rem query simply never matches. */
|
|
98
70
|
container: none;
|
|
99
71
|
}
|
|
100
72
|
:host([compact]) [part='base'] {
|
|
@@ -111,31 +83,13 @@ import{css}from"lit";const styles=css`
|
|
|
111
83
|
:host([compact]) [part='footer'] {
|
|
112
84
|
flex: 0 0 auto;
|
|
113
85
|
}
|
|
114
|
-
/* Once decided the buttons unmount and [part='footer'] is left holding only the (usually
|
|
115
|
-
unassigned) footer slot -- a zero-size flex item that would still consume one gap mid-row.
|
|
116
|
-
display: contents drops that box so the row closes up, while any real footer-slotted
|
|
117
|
-
content simply becomes a direct flex item of the row instead. */
|
|
118
86
|
:host([compact][decision]) [part='footer'] {
|
|
119
87
|
display: contents;
|
|
120
88
|
}
|
|
121
|
-
/* Chrome escape -- the shared frame='plain' treatment, same convention as lr-agent-run's and
|
|
122
|
-
lr-result-card's. MUST stay after both :host([variant='danger']) [part='base'] and
|
|
123
|
-
:host([compact]) [part='base']: all three are equal-specificity, so source order alone decides
|
|
124
|
-
which border/padding wins. plain is the stronger statement ('no chrome at all'), so it goes
|
|
125
|
-
last. The Deny/Approve lr-buttons keep their own border/background -- that chrome is theirs,
|
|
126
|
-
not the card's -- so a chrome-less bar still has a visible interactive affordance. */
|
|
127
89
|
:host([frame='plain']) [part='base'] {
|
|
128
90
|
padding: 0;
|
|
129
91
|
border: 0;
|
|
130
92
|
border-radius: 0;
|
|
131
93
|
background: transparent;
|
|
132
94
|
}
|
|
133
|
-
/* NOTE: the undecided [part='status'] is deliberately NOT collapsed here, in either presentation.
|
|
134
|
-
[part='status']:empty above never actually matches (the part's lit template leaves
|
|
135
|
-
whitespace-only text nodes behind, and Chromium's :empty ignores only comments), and that dead
|
|
136
|
-
rule is load-bearing by accident: decide() focuses [part='status'] synchronously *before*
|
|
137
|
-
setting this.decision, so anything that made the undecided status display: none would leave
|
|
138
|
-
.focus() a no-op and drop focus to <body> the moment the buttons unmount. An empty flex item
|
|
139
|
-
is zero-sized in both presentations; the only cost is one trailing gap at the end of a compact
|
|
140
|
-
row. See llms/agent-tools.md. */
|
|
141
95
|
`;export{styles};
|
|
@@ -27,14 +27,10 @@ import{css}from"lit";const styles=css`
|
|
|
27
27
|
font: inherit;
|
|
28
28
|
cursor: pointer;
|
|
29
29
|
}
|
|
30
|
-
/* Hover changes the border while the distinct pressed step below changes the surface fill. */
|
|
31
30
|
:where([part='add-button']):hover:where(:not(:disabled)),
|
|
32
31
|
:where([part='remove-button']):hover:where(:not(:disabled)) {
|
|
33
32
|
border-color: var(--lr-color-brand);
|
|
34
33
|
}
|
|
35
|
-
/* The hover recolours the border only, which leaves the pressed step nothing to deepen -- so
|
|
36
|
-
pressed tints the button's own surface fill toward --lr-color-mix-partner (which follows the
|
|
37
|
-
text colour) instead, darkening in a light theme and lightening in a dark one. */
|
|
38
34
|
:where([part='add-button']):active:where(:not(:disabled)),
|
|
39
35
|
:where([part='remove-button']):active:where(:not(:disabled)) {
|
|
40
36
|
background: color-mix(in oklab, var(--lr-color-surface), var(--lr-color-mix-partner) var(--lr-color-mix-active));
|
|
@@ -84,9 +80,6 @@ import{css}from"lit";const styles=css`
|
|
|
84
80
|
outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);
|
|
85
81
|
outline-offset: var(--lr-focus-ring-offset);
|
|
86
82
|
}
|
|
87
|
-
/* no-pressed-state: a search field is a caret target, not a push target -- pointer-down places an
|
|
88
|
-
insertion point and hands the affordance to :focus-visible, so a pressed tint would flash for
|
|
89
|
-
one frame and then be contradicted by the focus ring. */
|
|
90
83
|
:where([part='search-input']):hover:where(:not(:disabled)) {
|
|
91
84
|
border-color: var(--lr-color-brand);
|
|
92
85
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,state,query}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{finiteCount}from"../../../internal/numbers.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{firstByIdentity}from"../collection-identity.js";import{styles}from"./evaluation-run.styles.js";import{agentStatusKind,agentStatusLabel,agentStatusMessage,agentStatusVariant,isAgentStatusTerminal}from"../agent-status-presentation.js";import{overallSemanticLabel,overallSemanticRole}from"../semantic-owner.js";import{LYRA_DEFAULT_agentRunStatusCollecting,LYRA_DEFAULT_agentRunStatusQueued,LYRA_DEFAULT_evaluationRunExampleCancelledAnnounce,LYRA_DEFAULT_evaluationRunExampleCompletedAnnounce,LYRA_DEFAULT_evaluationRunExampleFailedAnnounce,LYRA_DEFAULT_evaluationRunExampleLabel,LYRA_DEFAULT_evaluationRunExampleStartedAnnounce,LYRA_DEFAULT_evaluationRunExampleWaitingApprovalAnnounce,LYRA_DEFAULT_evaluationRunExampleWaitingInputAnnounce,LYRA_DEFAULT_evaluationRunFailedCount,LYRA_DEFAULT_evaluationRunGroundingHeading,LYRA_DEFAULT_evaluationRunInputHeading,LYRA_DEFAULT_evaluationRunLabel,LYRA_DEFAULT_evaluationRunOutputHeading,LYRA_DEFAULT_evaluationRunProgressLabel,LYRA_DEFAULT_evaluationRunProgressSummary,LYRA_DEFAULT_evaluationRunRunningCount,LYRA_DEFAULT_evaluationRunStatusCancelled,LYRA_DEFAULT_evaluationRunStatusIdle,LYRA_DEFAULT_evaluationRunStatusWaitingApproval,LYRA_DEFAULT_evaluationRunStatusWaitingInput,LYRA_DEFAULT_evaluationRunToolTraceHeading,LYRA_DEFAULT_noData,LYRA_DEFAULT_statusError,LYRA_DEFAULT_statusRunning,LYRA_DEFAULT_statusSuccess}from"../../../internal/default-strings.generated.js";const
|
|
1
|
+
var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,state,query}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{finiteCount}from"../../../internal/numbers.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{AGENT_STATUS_VARIANTS}from"../../../internal/agent-status-variants.js";import{firstByIdentity}from"../collection-identity.js";import{styles}from"./evaluation-run.styles.js";import{agentStatusKind,agentStatusLabel,agentStatusMessage,agentStatusVariant,isAgentStatusTerminal}from"../agent-status-presentation.js";import{overallSemanticLabel,overallSemanticRole}from"../semantic-owner.js";import{LYRA_DEFAULT_agentRunStatusCollecting,LYRA_DEFAULT_agentRunStatusQueued,LYRA_DEFAULT_evaluationRunExampleCancelledAnnounce,LYRA_DEFAULT_evaluationRunExampleCompletedAnnounce,LYRA_DEFAULT_evaluationRunExampleFailedAnnounce,LYRA_DEFAULT_evaluationRunExampleLabel,LYRA_DEFAULT_evaluationRunExampleStartedAnnounce,LYRA_DEFAULT_evaluationRunExampleWaitingApprovalAnnounce,LYRA_DEFAULT_evaluationRunExampleWaitingInputAnnounce,LYRA_DEFAULT_evaluationRunFailedCount,LYRA_DEFAULT_evaluationRunGroundingHeading,LYRA_DEFAULT_evaluationRunInputHeading,LYRA_DEFAULT_evaluationRunLabel,LYRA_DEFAULT_evaluationRunOutputHeading,LYRA_DEFAULT_evaluationRunProgressLabel,LYRA_DEFAULT_evaluationRunProgressSummary,LYRA_DEFAULT_evaluationRunRunningCount,LYRA_DEFAULT_evaluationRunStatusCancelled,LYRA_DEFAULT_evaluationRunStatusIdle,LYRA_DEFAULT_evaluationRunStatusWaitingApproval,LYRA_DEFAULT_evaluationRunStatusWaitingInput,LYRA_DEFAULT_evaluationRunToolTraceHeading,LYRA_DEFAULT_noData,LYRA_DEFAULT_statusError,LYRA_DEFAULT_statusRunning,LYRA_DEFAULT_statusSuccess}from"../../../internal/default-strings.generated.js";const RUNNING_ERROR_KINDS=["running","error"];class LyraEvalRun extends LyraElement{constructor(){super(...arguments),this.examples=[],this.total=null,this.label="",this.expandedIds=new Set,this.isMounting=!0,this.previousStatusById=new Map}static{this.defaultStrings={...super.defaultStrings,agentRunStatusCollecting:LYRA_DEFAULT_agentRunStatusCollecting,agentRunStatusQueued:LYRA_DEFAULT_agentRunStatusQueued,evaluationRunExampleCancelledAnnounce:LYRA_DEFAULT_evaluationRunExampleCancelledAnnounce,evaluationRunExampleCompletedAnnounce:LYRA_DEFAULT_evaluationRunExampleCompletedAnnounce,evaluationRunExampleFailedAnnounce:LYRA_DEFAULT_evaluationRunExampleFailedAnnounce,evaluationRunExampleLabel:LYRA_DEFAULT_evaluationRunExampleLabel,evaluationRunExampleStartedAnnounce:LYRA_DEFAULT_evaluationRunExampleStartedAnnounce,evaluationRunExampleWaitingApprovalAnnounce:LYRA_DEFAULT_evaluationRunExampleWaitingApprovalAnnounce,evaluationRunExampleWaitingInputAnnounce:LYRA_DEFAULT_evaluationRunExampleWaitingInputAnnounce,evaluationRunFailedCount:LYRA_DEFAULT_evaluationRunFailedCount,evaluationRunGroundingHeading:LYRA_DEFAULT_evaluationRunGroundingHeading,evaluationRunInputHeading:LYRA_DEFAULT_evaluationRunInputHeading,evaluationRunLabel:LYRA_DEFAULT_evaluationRunLabel,evaluationRunOutputHeading:LYRA_DEFAULT_evaluationRunOutputHeading,evaluationRunProgressLabel:LYRA_DEFAULT_evaluationRunProgressLabel,evaluationRunProgressSummary:LYRA_DEFAULT_evaluationRunProgressSummary,evaluationRunRunningCount:LYRA_DEFAULT_evaluationRunRunningCount,evaluationRunStatusCancelled:LYRA_DEFAULT_evaluationRunStatusCancelled,evaluationRunStatusIdle:LYRA_DEFAULT_evaluationRunStatusIdle,evaluationRunStatusWaitingApproval:LYRA_DEFAULT_evaluationRunStatusWaitingApproval,evaluationRunStatusWaitingInput:LYRA_DEFAULT_evaluationRunStatusWaitingInput,evaluationRunToolTraceHeading:LYRA_DEFAULT_evaluationRunToolTraceHeading,noData:LYRA_DEFAULT_noData,statusError:LYRA_DEFAULT_statusError,statusRunning:LYRA_DEFAULT_statusRunning,statusSuccess:LYRA_DEFAULT_statusSuccess}}static{this.ownedCollectionProperties=Object.freeze(["examples"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-example-citation-select","lr-example-claim-select"])}get normalizedExamples(){return firstByIdentity(Array.isArray(this.examples)?this.examples:[],example=>example.id)}willUpdate(changed){if(super.willUpdate(changed),!changed.has("examples"))return;const ids=new Set(this.normalizedExamples.map(example=>example.id));let pruned;for(const id of this.expandedIds)ids.has(id)||(pruned??=new Set(this.expandedIds),pruned.delete(id));pruned&&(this.expandedIds=pruned)}updated(changed){super.updated(changed);const wasMounting=this.isMounting;this.isMounting=!1,changed.has("examples")&&this.diffAndAnnounce(wasMounting)}statusCounts(){const counts={};for(const example of this.normalizedExamples)counts[example.status.kind]=(counts[example.status.kind]??0)+1;return counts}exampleLabel(example,index){return example.label||this.localize("evaluationRunExampleLabel",void 0,{index:getNumberFormat(this.effectiveLocale).format(index+1)})}statusText(status){const override=agentStatusLabel(status);if(override!==void 0)return override;const kind=agentStatusKind(status);switch(kind){case"idle":return this.localize("evaluationRunStatusIdle");case"running":return this.localize("statusRunning");case"queued":return this.localize("agentRunStatusQueued");case"collecting":return this.localize("agentRunStatusCollecting");case"waiting-input":return this.localize("evaluationRunStatusWaitingInput");case"waiting-approval":return this.localize("evaluationRunStatusWaitingApproval");case"done":return this.localize("statusSuccess");case"error":return this.localize("statusError");case"cancelled":return this.localize("evaluationRunStatusCancelled");default:return kind.replace(/[-_]+/g," ").replace(/\b\w/g,letter=>letter.toUpperCase())}}diffAndAnnounce(firstSight){const region=this.liveRegion,nextStatusById=new Map;this.normalizedExamples.forEach((example,index)=>{if(nextStatusById.set(example.id,example.status.kind),firstSight||!region)return;const previous=this.previousStatusById.get(example.id),kind=example.status.kind;if(previous===void 0||previous===kind)return;const label=this.exampleLabel(example,index);switch(kind){case"running":region.mode="polite",region.announce(this.localize("evaluationRunExampleStartedAnnounce",void 0,{label}),{force:!0});break;case"done":region.mode="polite",region.announce(this.localize("evaluationRunExampleCompletedAnnounce",void 0,{label}),{force:!0});break;case"error":region.mode="assertive",region.announce(this.localize("evaluationRunExampleFailedAnnounce",void 0,{label}),{force:!0});break;case"cancelled":region.mode="polite",region.announce(this.localize("evaluationRunExampleCancelledAnnounce",void 0,{label}),{force:!0});break;case"waiting-input":region.mode="polite",region.announce(this.localize("evaluationRunExampleWaitingInputAnnounce",void 0,{label}),{force:!0});break;case"waiting-approval":region.mode="polite",region.announce(this.localize("evaluationRunExampleWaitingApprovalAnnounce",void 0,{label}),{force:!0});break;case"idle":break}}),this.previousStatusById=nextStatusById}onExampleToggle(id,event){event.stopPropagation();const expanded=event.detail.open,next=new Set(this.expandedIds);expanded?next.add(id):next.delete(id),this.expandedIds=next,this.emit("lr-example-toggle",{exampleId:id,expanded})}onCitationSelect(exampleId,event){event.stopPropagation(),this.emit("lr-example-citation-select",{exampleId,citation:event.detail.citation})}onClaimSelect(exampleId,event){event.stopPropagation(),this.emit("lr-example-claim-select",{exampleId,claim:event.detail.claim})}onToolApprovalDecide(exampleId,event){event.stopPropagation(),this.emit("lr-example-tool-approval-decide",{exampleId,...event.detail},{cancelable:!0}).defaultPrevented&&event.preventDefault()}onToolActivate(exampleId,event){event.stopPropagation(),this.emit("lr-example-tool-activate",{exampleId,...event.detail})}onToolRenderError(exampleId,event){event.stopPropagation(),this.emit("lr-example-tool-render-error",{exampleId,...event.detail})}stopOwnedEvent(event){event.stopPropagation()}renderContent(content,part){return content.format==="code"?html`<lr-code-block
|
|
2
2
|
part=${part}
|
|
3
3
|
code=${content.text}
|
|
4
4
|
language=${content.language??""}
|
|
@@ -53,7 +53,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
|
|
|
53
53
|
>
|
|
54
54
|
<span slot="summary" part="example-summary">
|
|
55
55
|
<span part="example-label">${this.exampleLabel(example,index)}</span>
|
|
56
|
-
<lr-badge part="example-status" variant=${agentStatusVariant(example.status,
|
|
56
|
+
<lr-badge part="example-status" variant=${agentStatusVariant(example.status,AGENT_STATUS_VARIANTS[kind]??"neutral")}>${this.statusText(example.status)}</lr-badge>
|
|
57
57
|
${message!==void 0?html`<span part="example-status-message">${message}</span>`:nothing}
|
|
58
58
|
</span>
|
|
59
59
|
${expanded?html`
|
|
@@ -22,12 +22,7 @@ import{css}from"lit";const styles=css`
|
|
|
22
22
|
padding-inline: var(--lr-space-s) var(--lr-space-l);
|
|
23
23
|
cursor: pointer;
|
|
24
24
|
}
|
|
25
|
-
/* The select's popup list is still painted by the browser from these options; without an
|
|
26
|
-
explicit surface/text pairing it falls back to UA colors (a white panel in dark themes). */
|
|
27
25
|
[part='message-role'] option { background: var(--lr-color-surface); color: var(--lr-color-text); }
|
|
28
|
-
/* appearance: none strips the native dropdown affordance, so this chevron -- matching
|
|
29
|
-
av-player's [part='rate-select'] / image-viewer's [part='fit-control'] pattern -- replaces
|
|
30
|
-
it; without one a visible, functional <select> would read as a plain bordered box. */
|
|
31
26
|
.message-role-chevron {
|
|
32
27
|
position: absolute;
|
|
33
28
|
inset-inline-end: var(--lr-space-xs);
|
|
@@ -37,10 +32,6 @@ import{css}from"lit";const styles=css`
|
|
|
37
32
|
pointer-events: none;
|
|
38
33
|
}
|
|
39
34
|
.message-role-chevron svg { transform: rotate(90deg); }
|
|
40
|
-
/* no-pressed-state: these three are field surfaces, not push targets -- pointer-down on the
|
|
41
|
-
textarea or the text input places a caret, and pointer-down on the role select hands the whole
|
|
42
|
-
interaction to the UA's own native option list, which paints its own pressed feedback and holds
|
|
43
|
-
it for as long as the popup is open. :focus-visible carries the affordance in all three cases. */
|
|
44
35
|
:where([part='message-role'], [part='message-content']):hover:where(:not(:disabled)),
|
|
45
36
|
:where([part='variable']) input:hover:where(:not(:disabled)) {
|
|
46
37
|
border-color: var(--lr-prompt-studio-field-hover-border, var(--lr-color-brand));
|
|
@@ -60,15 +51,10 @@ import{css}from"lit";const styles=css`
|
|
|
60
51
|
font: inherit;
|
|
61
52
|
cursor: pointer;
|
|
62
53
|
}
|
|
63
|
-
/* Keep the state pseudo-class outside :where(): it supplies the same specificity as each
|
|
64
|
-
resting [part] selector, while the toolbar descendant retains its matching type specificity. */
|
|
65
54
|
:where([part='toolbar']) button:hover:where(:not(:disabled)),
|
|
66
55
|
:where([part='move-message-up'], [part='move-message-down'], [part='remove-message'], [part='add-message'], [part='version']):hover:where(:not(:disabled)) {
|
|
67
56
|
background: var(--lr-color-surface-raised);
|
|
68
57
|
}
|
|
69
|
-
/* Pressed is the hovered tint pushed a further --lr-color-mix-active toward
|
|
70
|
-
--lr-color-mix-partner (which follows the text colour), so it reads as a distinctly deeper step
|
|
71
|
-
than hover in both light and dark themes rather than repeating it. */
|
|
72
58
|
:where([part='toolbar']) button:active:where(:not(:disabled)),
|
|
73
59
|
:where([part='move-message-up'], [part='move-message-down'], [part='remove-message'], [part='add-message'], [part='version']):active:where(:not(:disabled)) {
|
|
74
60
|
background: color-mix(in oklab, var(--lr-color-surface-raised), var(--lr-color-mix-partner) var(--lr-color-mix-active));
|
|
@@ -80,7 +66,6 @@ import{css}from"lit";const styles=css`
|
|
|
80
66
|
background: var(--lr-prompt-studio-version-selected-bg, var(--lr-color-brand-quiet));
|
|
81
67
|
color: var(--lr-prompt-studio-version-selected-color, var(--lr-color-text));
|
|
82
68
|
}
|
|
83
|
-
/* Compose selected and pointer states without changing the part selector itself. */
|
|
84
69
|
[part='version']:where([aria-pressed='true']):where(:hover:not(:disabled)) {
|
|
85
70
|
background: var(
|
|
86
71
|
--lr-prompt-studio-version-selected-hover-bg,
|
|
@@ -11,11 +11,6 @@ import{css}from"lit";const styles=css`
|
|
|
11
11
|
overflow: hidden;
|
|
12
12
|
font-size: var(--lr-font-size-sm);
|
|
13
13
|
}
|
|
14
|
-
/* Density escape -- same convention as lr-agent-run's compact. The tuned values sit behind
|
|
15
|
-
inline var() fallbacks (rather than a :host declaration, which every instance would
|
|
16
|
-
re-declare and so shadow any ancestor value) so a consumer can retune them from outside
|
|
17
|
-
without restating the whole rule; the fallbacks are the pre-existing values, so an unset
|
|
18
|
-
card renders unchanged. */
|
|
19
14
|
:host([compact]) [part='header'] {
|
|
20
15
|
padding: var(--lr-result-card-compact-header-padding, var(--lr-space-xs));
|
|
21
16
|
gap: var(--lr-result-card-compact-header-gap, var(--lr-space-xs));
|
|
@@ -24,8 +19,6 @@ import{css}from"lit";const styles=css`
|
|
|
24
19
|
padding: var(--lr-result-card-compact-body-padding, var(--lr-space-xs));
|
|
25
20
|
gap: var(--lr-result-card-compact-body-gap, var(--lr-space-2xs));
|
|
26
21
|
}
|
|
27
|
-
/* 'plain' removes the chrome entirely rather than just tightening it -- see the class doc for
|
|
28
|
-
why it wins over compact when both are set. */
|
|
29
22
|
:host([frame='plain']) [part='base'] {
|
|
30
23
|
border: 0;
|
|
31
24
|
border-radius: 0;
|
|
@@ -2,11 +2,6 @@ import{css}from"lit";const styles=css`
|
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
}
|
|
5
|
-
/* Dense "label: value" single-line row by default -- the compact
|
|
6
|
-
presentation short status/duration/count content (the kind this
|
|
7
|
-
component is meant for) reads best as, versus a stacked two-line
|
|
8
|
-
layout. A consumer that prefers stacked can override this from the
|
|
9
|
-
light DOM: :host { } / [part='base'] { flex-direction: column; }. */
|
|
10
5
|
[part='base'] {
|
|
11
6
|
display: flex;
|
|
12
7
|
align-items: baseline;
|
|
@@ -24,9 +24,6 @@ import{css}from"lit";const styles=css`
|
|
|
24
24
|
padding: var(--lr-space-xs); border: 0; border-radius: var(--lr-radius); background: transparent; color: var(--lr-color-text); font: inherit; text-align: start; cursor: pointer;
|
|
25
25
|
}
|
|
26
26
|
[part='node-trigger']:hover { background: var(--lr-color-surface-raised); }
|
|
27
|
-
/* Pressed is the hovered tint pushed a further --lr-color-mix-active toward
|
|
28
|
-
--lr-color-mix-partner (which follows the text colour), so it reads as a distinctly deeper step
|
|
29
|
-
than hover in both light and dark themes rather than repeating it. */
|
|
30
27
|
[part='node-trigger']:active {
|
|
31
28
|
background: color-mix(in oklab, var(--lr-color-surface-raised), var(--lr-color-mix-partner) var(--lr-color-mix-active));
|
|
32
29
|
}
|