@aceshooting/lyra-ui 29.0.2 → 29.1.0
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 +37 -0
- package/README.md +19 -26
- package/design-tokens.json +1 -1
- package/dist/cli/migrate-wa.mjs +2 -0
- package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +5 -3
- package/dist/components/agent-tools/activity-feed/activity-feed.class.js +4 -3
- package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +1 -1
- package/dist/components/agent-tools/agent-trace/agent-trace.class.d.ts +21 -5
- package/dist/components/agent-tools/agent-trace/agent-trace.class.js +14 -11
- package/dist/components/agent-tools/agent-trace/agent-trace.styles.js +1 -1
- package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +34 -7
- package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +25 -11
- package/dist/components/agent-tools/eval-result/eval-result-source.js +1 -0
- package/dist/components/agent-tools/eval-result/eval-result.class.d.ts +31 -11
- package/dist/components/agent-tools/eval-result/eval-result.class.js +29 -15
- package/dist/components/agent-tools/eval-result/eval-result.styles.js +1 -1
- package/dist/components/agent-tools/eval-result/eval-run-result.d.ts +10 -0
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.d.ts +26 -5
- package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +16 -6
- package/dist/components/agent-tools/span-waterfall/span-waterfall.d.ts +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.js +1 -1
- package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.class.d.ts +29 -6
- package/dist/components/agent-tools/task-list/task-list.class.js +13 -7
- package/dist/components/agent-tools/task-list/task-list.d.ts +1 -1
- package/dist/components/agent-tools/task-list/task-list.js +1 -1
- package/dist/components/agent-tools/task-list/task-list.styles.js +1 -1
- package/dist/components/agent-tools/terminal/terminal.class.d.ts +9 -5
- package/dist/components/agent-tools/terminal/terminal.class.js +8 -8
- package/dist/components/agent-tools/test-results/test-results.class.d.ts +16 -4
- package/dist/components/agent-tools/test-results/test-results.class.js +15 -6
- package/dist/components/agent-tools/test-results/test-results.d.ts +1 -0
- package/dist/components/agent-tools/test-results/test-results.js +1 -1
- package/dist/components/agent-tools/test-results/test-results.styles.js +1 -1
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts +7 -4
- package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +2 -1
- package/dist/components/agent-tools/trace-tree/span-projection.js +1 -0
- package/dist/components/agent-tools/trace-tree/span-shared.d.ts +29 -0
- package/dist/components/agent-tools/trace-tree/span-shared.js +1 -0
- package/dist/components/agent-tools/trace-tree/span.d.ts +5 -35
- package/dist/components/agent-tools/trace-tree/span.js +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.class.d.ts +27 -5
- package/dist/components/agent-tools/trace-tree/trace-tree.class.js +19 -9
- package/dist/components/agent-tools/trace-tree/trace-tree.d.ts +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.js +1 -1
- package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +1 -1
- package/dist/components/charts/chart/bar-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/box-plot.class.d.ts +2 -2
- package/dist/components/charts/chart/box-plot.class.js +3 -3
- package/dist/components/charts/chart/bubble-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/chart-prepared-data.d.ts +9 -0
- package/dist/components/charts/chart/chart-prepared-data.js +1 -0
- package/dist/components/charts/chart/chart-spatial-data.js +2 -0
- package/dist/components/charts/chart/chart-sync.js +1 -1
- package/dist/components/charts/chart/chart-table-sampling.js +1 -1
- package/dist/components/charts/chart/chart.class.d.ts +56 -6
- package/dist/components/charts/chart/chart.class.js +18 -8
- package/dist/components/charts/chart/chart.styles.js +1 -1
- package/dist/components/charts/chart/doughnut-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/histogram-buckets.d.ts +1 -1
- package/dist/components/charts/chart/histogram-buckets.js +1 -1
- package/dist/components/charts/chart/histogram.class.d.ts +19 -4
- package/dist/components/charts/chart/histogram.class.js +1 -1
- package/dist/components/charts/chart/line-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/lite-chart.class.d.ts +51 -11
- package/dist/components/charts/chart/lite-chart.class.js +33 -27
- package/dist/components/charts/chart/lite-chart.styles.js +1 -1
- package/dist/components/charts/chart/pie-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/polar-area-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/radar-chart.class.d.ts +5 -1
- package/dist/components/charts/chart/scatter-chart.class.d.ts +5 -1
- package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +6 -3
- package/dist/components/conversation/agent-workspace/agent-workspace.class.js +6 -5
- package/dist/components/conversation/agent-workspace/agent-workspace.styles.js +1 -1
- package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +8 -0
- package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-base.class.d.ts +5 -3
- package/dist/components/conversation/code-block/code-block-base.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-core.class.d.ts +4 -1
- package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
- package/dist/components/conversation/code-block/code-block-shared.d.ts +6 -4
- package/dist/components/conversation/code-block/code-block-shared.js +3 -2
- package/dist/components/conversation/code-block/code-block.class.d.ts +11 -4
- package/dist/components/conversation/code-block/code-block.class.js +1 -1
- package/dist/components/conversation/code-block/code-block.d.ts +1 -1
- package/dist/components/conversation/code-block/code-block.styles.js +1 -1
- package/dist/components/conversation/code-block/shiki-types.d.ts +2 -0
- package/dist/components/conversation/code-block/shiki-types.js +1 -1
- package/dist/components/conversation/markdown/markdown-base.class.d.ts +6 -4
- package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
- package/dist/components/conversation/markdown/markdown-code-header.d.ts +2 -2
- package/dist/components/conversation/markdown/markdown-code-header.js +1 -1
- package/dist/components/conversation/markdown/markdown-core.class.d.ts +8 -3
- package/dist/components/conversation/markdown/markdown-progressive.js +2 -2
- package/dist/components/conversation/markdown/markdown-shared.d.ts +5 -10
- package/dist/components/conversation/markdown/markdown-shared.js +5 -5
- package/dist/components/conversation/markdown/markdown-streaming-tail.js +1 -1
- package/dist/components/conversation/markdown/markdown.class.d.ts +17 -10
- package/dist/components/conversation/markdown/markdown.class.js +1 -1
- package/dist/components/conversation/markdown/markdown.styles.js +1 -1
- package/dist/components/conversation/model-select/model-select.class.d.ts +4 -3
- package/dist/components/conversation/model-select/model-select.class.js +3 -2
- package/dist/components/conversation/model-select/model-select.styles.js +1 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.d.ts +2 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +2 -1
- package/dist/components/conversation/model-settings-panel/model-settings-panel.styles.js +1 -1
- package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +3 -2
- package/dist/components/conversation/prompt-input/prompt-input.class.js +2 -1
- package/dist/components/conversation/prompt-input/prompt-input.styles.js +1 -1
- package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts +10 -2
- package/dist/components/conversation/prompt-queue/prompt-queue.class.js +15 -6
- package/dist/components/conversation/prompt-queue/prompt-queue.styles.js +1 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.d.ts +3 -1
- package/dist/components/conversation/realtime-session/realtime-session.class.js +2 -1
- package/dist/components/conversation/realtime-session/realtime-session.styles.js +1 -1
- package/dist/components/conversation/streaming-text/markdown-detection.d.ts +2 -0
- package/dist/components/conversation/streaming-text/markdown-detection.js +4 -1
- package/dist/components/conversation/streaming-text/streaming-text-base.class.d.ts +6 -2
- package/dist/components/conversation/streaming-text/streaming-text-base.class.js +3 -3
- package/dist/components/conversation/streaming-text/streaming-text-core.class.js +1 -1
- package/dist/components/conversation/streaming-text/streaming-text.class.js +1 -0
- package/dist/components/conversation/thread-list/thread-list.class.d.ts +34 -4
- package/dist/components/conversation/thread-list/thread-list.class.js +22 -15
- package/dist/components/conversation/thread-list/thread-list.d.ts +1 -1
- package/dist/components/conversation/thread-list/thread-list.js +1 -1
- package/dist/components/conversation/thread-list/thread-list.styles.js +1 -1
- package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +6 -2
- package/dist/components/conversation/transcript-feed/transcript-feed.class.js +3 -2
- package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +1 -1
- package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +3 -2
- package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -2
- package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
- package/dist/components/data/calendar/calendar.class.d.ts +5 -2
- package/dist/components/data/calendar/calendar.class.js +1 -1
- package/dist/components/data/data-grid/data-grid-processing.js +2 -2
- package/dist/components/data/data-grid/data-grid.class.d.ts +22 -8
- package/dist/components/data/data-grid/data-grid.class.js +20 -19
- package/dist/components/data/data-grid/data-grid.styles.js +1 -1
- package/dist/components/data/document-library/document-library.class.d.ts +31 -4
- package/dist/components/data/document-library/document-library.class.js +25 -12
- package/dist/components/data/document-library/document-library.styles.js +1 -1
- package/dist/components/data/file-tree/file-tree.class.d.ts +30 -6
- package/dist/components/data/file-tree/file-tree.class.js +4 -3
- package/dist/components/data/file-tree/file-tree.d.ts +1 -0
- package/dist/components/data/file-tree/file-tree.js +1 -1
- package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +31 -6
- package/dist/components/data/flow-canvas/flow-canvas.class.js +40 -19
- package/dist/components/data/flow-canvas/flow-canvas.styles.js +1 -1
- package/dist/components/data/flow-canvas/flow-model.js +1 -1
- package/dist/components/data/flow-canvas/flow-source.js +1 -0
- package/dist/components/data/flow-canvas/flow-types.d.ts +4 -2
- package/dist/components/data/flow-canvas/flow-viewport-index.js +1 -0
- package/dist/components/data/flow-minimap/flow-minimap.class.d.ts +9 -3
- package/dist/components/data/flow-minimap/flow-minimap.class.js +11 -2
- package/dist/components/data/flow-minimap/flow-minimap.styles.js +1 -1
- package/dist/components/data/funnel/funnel.class.d.ts +7 -3
- package/dist/components/data/funnel/funnel.class.js +2 -2
- package/dist/components/data/heatmap/calendar-grid.d.ts +1 -1
- package/dist/components/data/heatmap/calendar-grid.js +1 -1
- package/dist/components/data/heatmap/heatmap-grid-navigation.js +1 -1
- package/dist/components/data/heatmap/heatmap-limits.d.ts +1 -1
- package/dist/components/data/heatmap/heatmap-matrix-source-controller.js +1 -0
- package/dist/components/data/heatmap/heatmap-matrix-source.d.ts +5 -0
- package/dist/components/data/heatmap/heatmap-matrix-source.js +1 -0
- package/dist/components/data/heatmap/heatmap-scale.d.ts +0 -16
- package/dist/components/data/heatmap/heatmap-scale.js +1 -1
- package/dist/components/data/heatmap/heatmap.class.d.ts +40 -11
- package/dist/components/data/heatmap/heatmap.class.js +26 -6
- package/dist/components/data/heatmap/heatmap.styles.js +1 -1
- package/dist/components/data/pagination/pagination.class.js +1 -1
- package/dist/components/data/sequence-strip/sequence-strip-item.d.ts +17 -0
- package/dist/components/data/sequence-strip/sequence-strip-source-controller.js +1 -0
- package/dist/components/data/sequence-strip/sequence-strip-source.d.ts +5 -0
- package/dist/components/data/sequence-strip/sequence-strip-source.js +1 -0
- package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +24 -19
- package/dist/components/data/sequence-strip/sequence-strip.class.js +23 -4
- package/dist/components/data/sequence-strip/sequence-strip.styles.js +1 -1
- package/dist/components/data/sparkline/sparkline.class.d.ts +17 -4
- package/dist/components/data/sparkline/sparkline.class.js +3 -3
- package/dist/components/data/sparkline/sparkline.styles.js +1 -1
- package/dist/components/data/table/table.class.d.ts +14 -10
- package/dist/components/data/table/table.class.js +17 -16
- package/dist/components/data/timeline/timeline.class.d.ts +5 -2
- package/dist/components/data/timeline/timeline.class.js +1 -1
- package/dist/components/data/tree/tree-item.class.js +1 -1
- package/dist/components/data/tree/tree-owner-controller.js +1 -1
- package/dist/components/data/tree/tree.class.d.ts +28 -6
- package/dist/components/data/tree/tree.class.js +3 -3
- package/dist/components/data/tree/tree.d.ts +1 -0
- package/dist/components/data/tree/tree.js +1 -1
- package/dist/components/data/word-cloud/word-cloud.class.d.ts +17 -7
- package/dist/components/data/word-cloud/word-cloud.class.js +6 -4
- package/dist/components/data/word-cloud/word-cloud.styles.js +1 -1
- package/dist/components/forms/catalog-picker-base.d.ts +1 -1
- package/dist/components/forms/catalog-picker-base.js +6 -6
- package/dist/components/forms/catalog-picker-base.styles.js +1 -1
- package/dist/components/forms/combobox/combobox.class.d.ts +7 -3
- package/dist/components/forms/combobox/combobox.class.js +1 -1
- package/dist/components/forms/combobox/option.class.d.ts +4 -2
- package/dist/components/forms/combobox/option.class.js +2 -2
- package/dist/components/forms/country-picker/country-picker.class.d.ts +3 -1
- package/dist/components/forms/country-picker/country-picker.class.js +1 -1
- package/dist/components/forms/currency-picker/currency-picker.class.d.ts +2 -0
- package/dist/components/forms/currency-picker/currency-picker.class.js +1 -1
- package/dist/components/forms/currency-picker/currency-presentation.js +1 -1
- package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +6 -2
- package/dist/components/forms/emoji-picker/emoji-picker.class.js +3 -2
- package/dist/components/forms/emoji-picker/emoji-picker.styles.js +1 -1
- package/dist/components/forms/locale-picker/locale-picker.class.d.ts +8 -2
- package/dist/components/forms/locale-picker/locale-picker.class.js +5 -4
- package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
- package/dist/components/forms/select/select.class.d.ts +11 -3
- package/dist/components/forms/select/select.class.js +4 -4
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.d.ts +2 -0
- package/dist/components/forms/time-zone-picker/time-zone-picker.class.js +1 -1
- package/dist/components/forms/token-input/token-input.class.d.ts +6 -1
- package/dist/components/forms/token-input/token-input.class.js +15 -13
- package/dist/components/forms/unit-picker/unit-picker.class.d.ts +2 -0
- package/dist/components/forms/unit-picker/unit-picker.class.js +1 -1
- package/dist/components/layout/app-rail/app-rail.class.d.ts +1 -1
- package/dist/components/layout/app-rail/app-rail.class.js +1 -1
- package/dist/components/layout/command-palette/command-palette.class.d.ts +5 -2
- package/dist/components/layout/command-palette/command-palette.class.js +2 -1
- package/dist/components/layout/command-palette/command-palette.styles.js +1 -1
- package/dist/components/layout/menu/menu-item.class.d.ts +2 -2
- package/dist/components/layout/menu/menu-item.class.js +2 -2
- package/dist/components/layout/menu/menu.class.d.ts +1 -1
- package/dist/components/layout/menu/menu.class.js +1 -1
- package/dist/components/layout/menubar/menubar.class.d.ts +1 -1
- package/dist/components/layout/menubar/menubar.class.js +1 -1
- package/dist/components/layout/reorder-list/reorder-item.class.d.ts +2 -2
- package/dist/components/layout/reorder-list/reorder-item.class.js +2 -2
- package/dist/components/layout/reorder-list/reorder-list.class.d.ts +1 -1
- package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
- package/dist/components/layout/virtual-list/virtual-list.class.d.ts +13 -9
- package/dist/components/layout/virtual-list/virtual-list.class.js +21 -17
- package/dist/components/media/av-player/av-cue-index.js +1 -0
- package/dist/components/media/av-player/av-cue-source.d.ts +13 -0
- package/dist/components/media/av-player/av-cue-source.js +1 -0
- package/dist/components/media/av-player/av-metadata.d.ts +2 -2
- package/dist/components/media/av-player/av-metadata.js +1 -1
- package/dist/components/media/av-player/av-player-cue-source-controller.js +1 -0
- package/dist/components/media/av-player/av-player.class.d.ts +34 -12
- package/dist/components/media/av-player/av-player.class.js +15 -10
- package/dist/components/media/flag/flag.class.js +1 -1
- package/dist/components/media/flag/language-map.js +1 -1
- package/dist/components/media/lightbox/lightbox-source.js +1 -0
- package/dist/components/media/lightbox/lightbox-types.d.ts +15 -0
- package/dist/components/media/lightbox/lightbox.class.d.ts +22 -21
- package/dist/components/media/lightbox/lightbox.class.js +6 -4
- package/dist/components/media/lightbox/lightbox.styles.js +1 -1
- package/dist/components/media/map/map-geojson-diff.d.ts +6 -6
- package/dist/components/media/map/map-geojson-diff.js +1 -1
- package/dist/components/media/map/map-loader.d.ts +5 -1
- package/dist/components/media/map/map.class.d.ts +24 -6
- package/dist/components/media/map/map.class.js +2 -2
- package/dist/components/media/map/map.styles.js +1 -1
- package/dist/components/media/video-playlist/video-playlist.class.d.ts +2 -1
- package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
- package/dist/components/overlays/chip/chip.class.d.ts +1 -1
- package/dist/components/overlays/chip/chip.class.js +1 -1
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts +30 -8
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +22 -8
- package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +1 -1
- package/dist/components/retrieval/graph/graph-canvas.js +1 -1
- package/dist/components/retrieval/graph/graph-source-composition.js +1 -0
- package/dist/components/retrieval/graph/graph-source-controller.js +1 -0
- package/dist/components/retrieval/graph/graph-spatial-controller.js +2 -2
- package/dist/components/retrieval/graph/graph-spatial-model.js +1 -0
- package/dist/components/retrieval/graph/graph-spatial.js +1 -1
- package/dist/components/retrieval/graph/graph.class.d.ts +31 -6
- package/dist/components/retrieval/graph/graph.class.js +26 -5
- package/dist/components/retrieval/graph/graph.d.ts +1 -1
- package/dist/components/retrieval/graph/graph.js +1 -1
- package/dist/components/retrieval/graph/graph.styles.js +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +33 -4
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +27 -17
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.d.ts +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.js +1 -1
- package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.js +1 -1
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +27 -4
- package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +29 -14
- package/dist/components/retrieval/knowledge-base/knowledge-base.styles.js +1 -1
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +17 -3
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +15 -10
- package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +24 -5
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +17 -10
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.d.ts +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.js +1 -1
- package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map-layout.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map-model.js +1 -0
- package/dist/components/retrieval/mind-map/mind-map.class.d.ts +27 -4
- package/dist/components/retrieval/mind-map/mind-map.class.js +11 -7
- package/dist/components/retrieval/mind-map/mind-map.d.ts +1 -0
- package/dist/components/retrieval/mind-map/mind-map.js +1 -1
- package/dist/components/retrieval/mind-map/mind-map.styles.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts +24 -2
- package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +17 -3
- package/dist/components/retrieval/neighbor-list/neighbor-list.d.ts +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.js +1 -1
- package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +1 -1
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +8 -4
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +11 -7
- package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.styles.js +1 -1
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.d.ts +12 -6
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +30 -17
- package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results-model.js +1 -0
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +46 -5
- package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +31 -9
- package/dist/components/retrieval/retrieval-results/retrieval-results.d.ts +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.js +1 -1
- package/dist/components/retrieval/retrieval-results/retrieval-results.styles.js +1 -1
- package/dist/components/utility/diff-view/diff-view.class.d.ts +16 -8
- package/dist/components/utility/diff-view/diff-view.class.js +3 -2
- package/dist/components/utility/diff-view/diff-view.styles.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.class.d.ts +31 -3
- package/dist/components/utility/json-viewer/json-viewer.class.js +13 -4
- package/dist/components/utility/json-viewer/json-viewer.d.ts +1 -0
- package/dist/components/utility/json-viewer/json-viewer.js +1 -1
- package/dist/components/utility/json-viewer/json-viewer.styles.js +1 -1
- package/dist/components/utility/mention-popover/mention-popover.class.d.ts +6 -4
- package/dist/components/utility/mention-popover/mention-popover.class.js +6 -5
- package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +34 -7
- package/dist/components/viewers/csv-viewer/csv-viewer.class.js +9 -7
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +28 -4
- package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +12 -11
- package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +3 -1
- package/dist/components/viewers/geojson-view/geojson-viewer.class.js +17 -16
- package/dist/components/viewers/geojson-view/geojson-viewer.d.ts +1 -1
- package/dist/components/viewers/geojson-view/geojson-viewer.js +1 -1
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +31 -5
- package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +11 -8
- package/dist/components/viewers/table-viewer-shared.js +19 -3
- package/dist/components/viewers/viewer-search-limits.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +35 -3
- package/dist/components/viewers/xml-viewer/xml-viewer.class.js +20 -5
- package/dist/components/viewers/xml-viewer/xml-viewer.d.ts +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.js +1 -1
- package/dist/components/viewers/xml-viewer/xml-viewer.styles.js +1 -1
- package/dist/countries.js +1 -1
- package/dist/data-sources.d.ts +34 -0
- package/dist/data-sources.js +1 -0
- package/dist/events.d.ts +51 -7
- package/dist/framework-types.d.ts +1 -1
- package/dist/internal/accessibility-visibility.d.ts +4 -2
- package/dist/internal/accessibility-visibility.js +1 -1
- package/dist/internal/accessible-text-controller.js +1 -1
- package/dist/internal/anchor-target.js +2 -2
- package/dist/internal/catalog-picker.d.ts +1 -7
- package/dist/internal/catalog-picker.js +1 -1
- package/dist/internal/collection-snapshot.js +1 -1
- package/dist/internal/default-strings/agent-tools.generated.js +1 -1
- package/dist/internal/default-strings/charts.generated.js +1 -1
- package/dist/internal/default-strings/conversation.generated.js +1 -1
- package/dist/internal/default-strings/data.generated.js +1 -1
- package/dist/internal/default-strings/forms.generated.js +1 -1
- package/dist/internal/default-strings/layout.generated.js +1 -1
- package/dist/internal/default-strings/media.generated.js +1 -1
- package/dist/internal/default-strings/retrieval.generated.js +1 -1
- package/dist/internal/default-strings/shared.generated.js +1 -1
- package/dist/internal/default-strings/utility.generated.js +1 -1
- package/dist/internal/delimited-data.js +1 -1
- package/dist/internal/fixed-containing-block.js +1 -1
- package/dist/internal/flow-scene-envelope.js +1 -0
- package/dist/internal/graph-scene-controller.js +1 -0
- package/dist/internal/hierarchy-source-controller.js +1 -0
- package/dist/internal/hierarchy-source-view.js +29 -0
- package/dist/internal/hierarchy-source-view.styles.js +1 -0
- package/dist/internal/inherited-attribute-hub.d.ts +6 -0
- package/dist/internal/inherited-attribute-hub.js +1 -1
- package/dist/internal/intl-cache.js +1 -1
- package/dist/internal/keyed-index.js +1 -0
- package/dist/internal/localization-types.d.ts +1 -1
- package/dist/internal/localization.js +2 -2
- package/dist/internal/lyra-element.d.ts +2 -2
- package/dist/internal/lyra-element.js +3 -2
- package/dist/internal/native-modal-context.js +1 -1
- package/dist/internal/option-selection.js +1 -1
- package/dist/internal/package-metadata.js +1 -1
- package/dist/internal/positioner.js +1 -1
- package/dist/internal/resource-loader.d.ts +2 -0
- package/dist/internal/resource-loader.js +1 -1
- package/dist/internal/scoped-definitions.generated.js +1 -1
- package/dist/internal/search-haystack.js +1 -0
- package/dist/internal/selection-catalog.d.ts +5 -0
- package/dist/internal/selection-catalog.js +1 -1
- package/dist/internal/shiki-language-sources.js +1 -0
- package/dist/internal/source-page-controller.js +1 -0
- package/dist/internal/source-page-scope.js +1 -0
- package/dist/internal/source-request-controller.js +1 -0
- package/dist/internal/source-window-controller.js +1 -0
- package/dist/internal/spatial-source-controller.js +1 -0
- package/dist/internal/text-quote.d.ts +2 -6
- package/dist/internal/text-quote.js +1 -1
- package/dist/internal/theme-watcher.js +1 -1
- package/dist/internal/virtual-list-composition.js +1 -0
- package/dist/lyra.d.ts +1 -1
- package/dist/lyra.js +1 -1
- package/dist/testing/interaction-drivers.js +1 -1
- package/dist/testing/lyra-tag-event-map.js +1 -1
- package/dist/units.js +1 -1
- package/dist/utilities/data-preparation.d.ts +56 -0
- package/dist/utilities/data-preparation.js +1 -0
- package/dist/utilities/data-spatial.d.ts +26 -0
- package/dist/utilities/data-spatial.js +1 -0
- package/dist/utilities/index.d.ts +1 -1
- package/dist/utilities/index.js +1 -1
- package/llms/components/lr-activity-feed.md +7 -2
- package/llms/components/lr-agent-trace.md +49 -9
- package/llms/components/lr-agent-workspace.md +15 -8
- package/llms/components/lr-av-player.md +180 -10
- package/llms/components/lr-bar-chart.md +1 -1
- package/llms/components/lr-box-plot.md +8 -0
- package/llms/components/lr-bubble-chart.md +1 -1
- package/llms/components/lr-calendar.md +26 -3
- package/llms/components/lr-chart.md +310 -23
- package/llms/components/lr-chat-viewport.md +6 -0
- package/llms/components/lr-code-block-core.md +12 -7
- package/llms/components/lr-code-block.md +23 -9
- package/llms/components/lr-combobox.md +27 -15
- package/llms/components/lr-command-palette.md +16 -3
- package/llms/components/lr-country-picker.md +23 -6
- package/llms/components/lr-csv-viewer.md +95 -12
- package/llms/components/lr-currency-picker.md +23 -3
- package/llms/components/lr-data-grid.md +24 -6
- package/llms/components/lr-dataset-viewer.md +92 -11
- package/llms/components/lr-dialog.md +1 -1
- package/llms/components/lr-diff-view.md +19 -6
- package/llms/components/lr-document-library.md +60 -5
- package/llms/components/lr-doughnut-chart.md +1 -1
- package/llms/components/lr-embedding-explorer.md +89 -9
- package/llms/components/lr-emoji-picker.md +7 -2
- package/llms/components/lr-eval-dataset.md +56 -7
- package/llms/components/lr-eval-result.md +89 -4
- package/llms/components/lr-export-button.md +1 -1
- package/llms/components/lr-file-tree.md +60 -6
- package/llms/components/lr-flag.md +5 -2
- package/llms/components/lr-flow-canvas.md +152 -14
- package/llms/components/lr-flow-minimap.md +32 -4
- package/llms/components/lr-funnel.md +14 -0
- package/llms/components/lr-geojson-viewer.md +27 -10
- package/llms/components/lr-graph.md +43 -7
- package/llms/components/lr-heatmap.md +161 -5
- package/llms/components/lr-histogram.md +55 -9
- package/llms/components/lr-ingestion-queue.md +54 -3
- package/llms/components/lr-json-viewer.md +87 -7
- package/llms/components/lr-knowledge-base-admin.md +60 -4
- package/llms/components/lr-knowledge-base.md +121 -9
- package/llms/components/lr-knowledge-graph-explorer.md +106 -11
- package/llms/components/lr-lightbox.md +42 -6
- package/llms/components/lr-line-chart.md +28 -5
- package/llms/components/lr-lite-chart.md +96 -31
- package/llms/components/lr-locale-picker.md +6 -4
- package/llms/components/lr-map.md +67 -8
- package/llms/components/lr-markdown-core.md +10 -5
- package/llms/components/lr-markdown.md +23 -6
- package/llms/components/lr-mention-popover.md +11 -6
- package/llms/components/lr-mind-map.md +91 -10
- package/llms/components/lr-model-select.md +8 -4
- package/llms/components/lr-model-settings-panel.md +10 -2
- package/llms/components/lr-navigation-menu.md +1 -1
- package/llms/components/lr-neighbor-list.md +69 -2
- package/llms/components/lr-pie-chart.md +1 -1
- package/llms/components/lr-polar-area-chart.md +1 -1
- package/llms/components/lr-prompt-input.md +9 -2
- package/llms/components/lr-prompt-queue.md +11 -3
- package/llms/components/lr-radar-chart.md +1 -1
- package/llms/components/lr-rag-eval-dashboard.md +9 -2
- package/llms/components/lr-realtime-session.md +6 -2
- package/llms/components/lr-reorder-list.md +4 -0
- package/llms/components/lr-retrieval-compare.md +9 -4
- package/llms/components/lr-retrieval-results.md +104 -6
- package/llms/components/lr-scatter-chart.md +1 -1
- package/llms/components/lr-select.md +20 -10
- package/llms/components/lr-sequence-strip.md +92 -2
- package/llms/components/lr-span-waterfall.md +78 -8
- package/llms/components/lr-sparkline.md +42 -11
- package/llms/components/lr-spreadsheet-viewer.md +109 -14
- package/llms/components/lr-streaming-text-core.md +4 -2
- package/llms/components/lr-streaming-text.md +5 -1
- package/llms/components/lr-table.md +96 -115
- package/llms/components/lr-task-list.md +93 -9
- package/llms/components/lr-terminal.md +9 -0
- package/llms/components/lr-test-results.md +77 -3
- package/llms/components/lr-thread-list.md +86 -1
- package/llms/components/lr-time-zone-picker.md +8 -3
- package/llms/components/lr-timeline.md +5 -0
- package/llms/components/lr-token-input.md +7 -2
- package/llms/components/lr-tool-timeline.md +13 -4
- package/llms/components/lr-trace-tree.md +96 -10
- package/llms/components/lr-transcript-feed.md +9 -2
- package/llms/components/lr-tree.md +87 -15
- package/llms/components/lr-unit-picker.md +8 -3
- package/llms/components/lr-video-playlist.md +2 -0
- package/llms/components/lr-virtual-list.md +17 -8
- package/llms/components/lr-voice-picker.md +8 -3
- package/llms/components/lr-word-cloud.md +128 -12
- package/llms/components/lr-xml-viewer.md +106 -9
- package/llms/index.md +1 -1
- package/llms/peers.md +1 -1
- package/llms/shared/events-and-types.md +725 -264
- package/llms/shared/forms-and-accessibility.md +3 -17
- package/llms/shared/imports-and-registration.md +3 -17
- package/llms/shared/localization-and-rtl.md +0 -2
- package/llms/shared/styles-and-tokens.md +27 -36
- package/llms/shared/testing-and-utilities.md +4 -5
- package/llms/shared.md +770 -349
- package/llms.txt +1 -2
- package/locales.json +139 -139
- package/package.json +13 -4
- package/registrations.json +1 -1
- package/skills/compose-lyra-interfaces/SKILL.md +6 -8
- package/skills/lyra-ui/SKILL.md +20 -51
- package/skills/lyra-ui/commands/review.md +16 -33
- package/skills/lyra-ui/commands/update.md +6 -5
- package/skills/lyra-ui/online-api.md +15 -0
- package/skills/lyra-ui/reporting.md +2 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import type{CancelEventDetail,DocumentRef,RetryEventDetail}from'../../../ai/types.js';
|
|
1
|
+
import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import type{LyraPageSource}from'../../../data-sources.js';import type{CancelEventDetail,DocumentRef,RetryEventDetail}from'../../../ai/types.js';
|
|
2
2
|
/**
|
|
3
3
|
* A document's position in the ingestion pipeline. `'queued'` through `'indexing'` are the
|
|
4
4
|
* in-flight stages (in pipeline order); `'done'`, `'failed'`, and `'cancelled'` are terminal.
|
|
@@ -24,6 +24,8 @@ embeddedChunkCount?:number;
|
|
|
24
24
|
attempts?:number;
|
|
25
25
|
/** Failure detail, rendered only while `stage === 'failed'`. */
|
|
26
26
|
error?:string;}
|
|
27
|
+
/** Provider query for the unfiltered, provider-ordered ingestion queue. */
|
|
28
|
+
export interface IngestionQueueSourceQuery{readonly[key:string]:never;}export type IngestionQueueSource=LyraPageSource<IngestionQueueItem,IngestionQueueSourceQuery>;
|
|
27
29
|
/** `lr-retry`'s `detail` -- extends the shared `RetryEventDetail` (`src/ai/types.ts`) with the
|
|
28
30
|
* `itemId` identifying *which* queue item the request is about; `attempt` is the attempt number
|
|
29
31
|
* about to be made: the displayed nonnegative finite-integer attempt count plus one, matching
|
|
@@ -56,6 +58,23 @@ export interface IngestionCancelEventDetail extends CancelEventDetail{itemId:str
|
|
|
56
58
|
* Nonstring failure details use the localized failed-stage label before rendering and fresh
|
|
57
59
|
* failure announcements. Omitted details stay omitted; historical failures remain silent on mount.
|
|
58
60
|
*
|
|
61
|
+
* Input retains the first 10,000 queue items; the limit note reports the assigned source count.
|
|
62
|
+
* Closed display fields are copied after identity admission, so nested records do not consume the
|
|
63
|
+
* shared 50,000-value deep-copy budget. Replace the collection to publish source-record changes.
|
|
64
|
+
*
|
|
65
|
+
* With dataSource, sourcePage (zero-based) and sourcePageSize (1..500, default 100) address the
|
|
66
|
+
* complete provider queue. sourceTotal is null while pending or failed, then the exact global
|
|
67
|
+
* record total. The source takes precedence over items; removing it restores legacy data.
|
|
68
|
+
* Source rows copy closed display fields, with at most 65,536 aggregate text UTF-16 units per row;
|
|
69
|
+
* malformed required records fail visibly rather than silently omit rows. Query callbacks own
|
|
70
|
+
* their execution cost. Same-source assignment or requestUpdate() refreshes; named paints reuse
|
|
71
|
+
* the current page. Source/revision/refresh/teardown revokes old work. Historical failed rows do
|
|
72
|
+
* not announce on source browsing, refresh or reconnect, even with announce. Row retry/cancel
|
|
73
|
+
* events still request host actions; provider-load retry only reloads the current page.
|
|
74
|
+
*
|
|
75
|
+
* @csspart source-status - Provider loading/error text.
|
|
76
|
+
* @csspart source-retry - Retry the current provider page.
|
|
77
|
+
* @csspart source-pagination - Provider page navigation.
|
|
59
78
|
* @customElement lr-ingestion-queue
|
|
60
79
|
* @event lr-retry - A row's retry affordance was activated (only rendered for `stage="failed"`
|
|
61
80
|
* rows). `detail: { itemId, attempt }` -- `attempt` is the attempt number about to be made.
|
|
@@ -63,6 +82,7 @@ export interface IngestionCancelEventDetail extends CancelEventDetail{itemId:str
|
|
|
63
82
|
* row). `detail: { itemId, reason }` -- `reason` is always `undefined` from this component.
|
|
64
83
|
* @csspart base - The one stable root shell across empty, populated, and virtualized states. It is
|
|
65
84
|
* the named region unless a non-empty host `aria-label` makes the host the sole overall owner.
|
|
85
|
+
* @csspart limit - Notice that only the first 10,000 queue items were retained.
|
|
66
86
|
* @csspart list - The unnamed row container (`role="list"`), including the composed
|
|
67
87
|
* `<lr-virtual-list>` host in virtualized mode. Its surrounding `base` region owns the queue name.
|
|
68
88
|
* @csspart empty - The `<lr-empty>` zero-items state.
|
|
@@ -98,10 +118,19 @@ export interface IngestionCancelEventDetail extends CancelEventDetail{itemId:str
|
|
|
98
118
|
* @status stable
|
|
99
119
|
* @since 4.1.0
|
|
100
120
|
*/
|
|
101
|
-
export declare class LyraIngestionQueue extends LyraElement<LyraIngestionQueueEventMap>{protected static collectionSupport:import("../../../internal/lyra-element.js").LyraCollectionSupport;protected static readonly ownedCollectionProperties:readonly string[];static styles:import("lit").CSSResultGroup[];
|
|
121
|
+
export declare class LyraIngestionQueue extends LyraElement<LyraIngestionQueueEventMap>{protected static collectionSupport:import("../../../internal/lyra-element.js").LyraCollectionSupport;protected static readonly identityCollectionProperties:readonly string[];protected static readonly ownedCollectionProperties:readonly string[];static styles:import("lit").CSSResultGroup[];
|
|
102
122
|
/** The queue to render, in display order. Controlled and never mutated by this component --
|
|
103
123
|
* pass a new array (e.g. as ingestion progresses) to update it. */
|
|
104
|
-
items:readonly IngestionQueueItem[];
|
|
124
|
+
items:readonly IngestionQueueItem[];private _dataSource?;private sourceEpoch;private sourceSyncing;private sourceInputs?;private sourceSize?;private sourceResult?;private sourceRows;private readonly sourceItemIdentities;private sourceStateVersion;private readonly sourcePages;
|
|
125
|
+
/** Full queue provider. A present invalid source fails visibly; undefined restores items.
|
|
126
|
+
* Reassign even the same source or call requestUpdate() to publish a new provider snapshot. */
|
|
127
|
+
get dataSource():IngestionQueueSource|undefined;set dataSource(value:IngestionQueueSource|undefined);
|
|
128
|
+
/** Zero-based provider page; only used with dataSource. */
|
|
129
|
+
sourcePage:number;
|
|
130
|
+
/** Provider page size, normalized to 1..500. A size change resets the source page to 0. */
|
|
131
|
+
sourcePageSize:number;
|
|
132
|
+
/** Exact total of the current provider queue, or null before a valid response or without a source. */
|
|
133
|
+
get sourceTotal():number|null;private get sourceMode();private get sourceFailed();private get sourceBlocked();private projectSourceItem;private syncSource;private acceptSourcePage;requestUpdate(...args:Parameters<LyraElement['requestUpdate']>):void;private onSourcePage;private onSourceRetry;
|
|
105
134
|
/** Accessible name for the stable region when the host has no `aria-label`; defaults to
|
|
106
135
|
* localized `ingestionQueueLabel`. An explicitly empty host label stays empty, and so does an
|
|
107
136
|
* explicitly empty `label`. */
|
|
@@ -121,4 +150,4 @@ virtualizeAt:number;
|
|
|
121
150
|
* `role="status"`/`role="alert"` hand-added before this property existed once it is set --
|
|
122
151
|
* otherwise the initial failures are announced twice, through the native role and again
|
|
123
152
|
* through the shared sink. */
|
|
124
|
-
announce:boolean;private failureLiveText;private isMounting;private initialFailuresAnnounced;private sink?;private get effectiveVirtualizeAt();private normalizeItems;private normalizedItemsCache?;private get normalizedItems();private readonly ingestionItemKey;connectedCallback():void;disconnectedCallback():void;protected willUpdate(changed:PropertyValues):void;private announceFailures;private stageLabel;private chunkCountText;private normalizedAttempts;private readonly stopOwnedEvent;private onRetryClick;private onCancelClick;private itemTemplate;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-ingestion-queue':LyraIngestionQueue;}}
|
|
153
|
+
announce:boolean;private failureLiveText;private isMounting;private initialFailuresAnnounced;private sink?;private readonly limitAnnouncements;private limitInitialized;private previouslyInputTruncated;adoptedCallback():void;private inputLimitText;private sourceStatusInitialized;private previousSourceStatus;protected updated(changed:PropertyValues):void;private renderInputLimit;private get effectiveVirtualizeAt();private readonly fallbackFailureItems;private normalizeItems;private normalizedItemsCache?;private get normalizedItems();private readonly ingestionItemKey;connectedCallback():void;disconnectedCallback():void;protected willUpdate(changed:PropertyValues):void;private announceFailures;private stageLabel;private chunkCountText;private normalizedAttempts;private readonly stopOwnedEvent;private onRetryClick;private onCancelClick;private itemTemplate;private renderRows;private renderSource;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-ingestion-queue':LyraIngestionQueue;}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{__decorate}from"tslib";import{collectionSupport}from"../../../internal/collection-snapshot.js";import{html,nothing,svg}from"lit";import{property,state}from"lit/decorators.js";import{guard}from"lit/directives/guard.js";import{repeat}from"lit/directives/repeat.js";import{LyraElement}from"../../../internal/lyra-element.js";import{firstByRetrievalIdentity,isNonBlankIdentity,isRecord}from"../retrieval-identity.js";import{srOnly}from"../../../internal/a11y.js";import{acquireAnnouncementSink}from"../../../internal/announcer.js";import{finiteCount}from"../../../internal/numbers.js";import{getListFormat,getNumberFormat}from"../../../internal/intl-cache.js";import{closeIcon}from"../../../internal/icons.js";import{styles}from"./ingestion-queue.styles.js";import{retrievalSemanticLabel,retrievalSemanticRole}from"../retrieval-semantic-owner.js";import{LYRA_DEFAULT_ingestionAttemptCount,LYRA_DEFAULT_ingestionCancelWithContext,LYRA_DEFAULT_ingestionChunkCount,LYRA_DEFAULT_ingestionEmbeddedOfTotal,LYRA_DEFAULT_ingestionItemProgressLabel,LYRA_DEFAULT_ingestionQueueEmpty,LYRA_DEFAULT_ingestionQueueLabel,LYRA_DEFAULT_ingestionRetryWithContext,LYRA_DEFAULT_ingestionStageCancelled,LYRA_DEFAULT_ingestionStageChunking,LYRA_DEFAULT_ingestionStageDone,LYRA_DEFAULT_ingestionStageEmbedding,LYRA_DEFAULT_ingestionStageExtracting,LYRA_DEFAULT_ingestionStageFailed,LYRA_DEFAULT_ingestionStageIndexing,LYRA_DEFAULT_ingestionStageQueued,LYRA_DEFAULT_ingestionStageUnknown,LYRA_DEFAULT_ingestionStageUploading,LYRA_DEFAULT_untitledSource}from"../../../internal/default-strings/retrieval.generated.js";import{LYRA_DEFAULT_cancel,LYRA_DEFAULT_retry}from"../../../internal/default-strings/shared.generated.js";const INGESTION_STAGES=new Set(["queued","uploading","extracting","chunking","embedding","indexing","done","failed","cancelled"]);function normalizedStage(stage){return INGESTION_STAGES.has(stage)?stage:"unknown"}const ACTIVE_STAGES=["uploading","extracting","chunking","embedding","indexing"],CANCELABLE_STAGES=["queued",...ACTIVE_STAGES];function badgeVariantForStage(stage){switch(stage){case"done":return"success";case"failed":return"danger";case"queued":case"cancelled":case"unknown":return"neutral";default:return"brand"}}const ICON_VIEW_BOX="0 0 24 24",ICON_STROKE_WIDTH="1.75";function retryIcon(){return svg`
|
|
1
|
+
import{__decorate}from"tslib";import{collectionSupport,publicCollectionTruncation}from"../../../internal/collection-snapshot.js";import{html,nothing,svg}from"lit";import{property,state}from"lit/decorators.js";import{guard}from"lit/directives/guard.js";import{repeat}from"lit/directives/repeat.js";import{LyraElement}from"../../../internal/lyra-element.js";import{firstByRetrievalIdentity,isNonBlankIdentity,isRecord}from"../retrieval-identity.js";import{readOwnDataValue}from"../../../internal/data-descriptors.js";import{srOnly}from"../../../internal/a11y.js";import{acquireAnnouncementSink,AnnouncementSinkController}from"../../../internal/announcer.js";import{SourcePageController}from"../../../internal/source-page-controller.js";import{getOwnDataDescriptor,MISSING_OWN_DATA_DESCRIPTOR,UNSAFE_OWN_DATA_DESCRIPTOR}from"../../../internal/data-descriptors.js";import{finiteCount,finiteInteger}from"../../../internal/numbers.js";import{getListFormat,getNumberFormat}from"../../../internal/intl-cache.js";import{closeIcon}from"../../../internal/icons.js";import{styles}from"./ingestion-queue.styles.js";import{retrievalSemanticLabel,retrievalSemanticRole}from"../retrieval-semantic-owner.js";import{LYRA_DEFAULT_ingestionAttemptCount,LYRA_DEFAULT_ingestionCancelWithContext,LYRA_DEFAULT_ingestionChunkCount,LYRA_DEFAULT_ingestionEmbeddedOfTotal,LYRA_DEFAULT_ingestionItemProgressLabel,LYRA_DEFAULT_ingestionQueueEmpty,LYRA_DEFAULT_ingestionQueueInputLimit,LYRA_DEFAULT_ingestionQueueLabel,LYRA_DEFAULT_ingestionRetryWithContext,LYRA_DEFAULT_ingestionStageCancelled,LYRA_DEFAULT_ingestionStageChunking,LYRA_DEFAULT_ingestionStageDone,LYRA_DEFAULT_ingestionStageEmbedding,LYRA_DEFAULT_ingestionStageExtracting,LYRA_DEFAULT_ingestionStageFailed,LYRA_DEFAULT_ingestionStageIndexing,LYRA_DEFAULT_ingestionStageQueued,LYRA_DEFAULT_ingestionStageUnknown,LYRA_DEFAULT_ingestionStageUploading,LYRA_DEFAULT_untitledSource}from"../../../internal/default-strings/retrieval.generated.js";import{LYRA_DEFAULT_cancel,LYRA_DEFAULT_loading,LYRA_DEFAULT_retry,LYRA_DEFAULT_tableLoadFailed}from"../../../internal/default-strings/shared.generated.js";const INGESTION_STAGES=new Set(["queued","uploading","extracting","chunking","embedding","indexing","done","failed","cancelled"]);function normalizedStage(stage){return INGESTION_STAGES.has(stage)?stage:"unknown"}const ACTIVE_STAGES=["uploading","extracting","chunking","embedding","indexing"],CANCELABLE_STAGES=["queued",...ACTIVE_STAGES];function badgeVariantForStage(stage){switch(stage){case"done":return"success";case"failed":return"danger";case"queued":case"cancelled":case"unknown":return"neutral";default:return"brand"}}const SOURCE_QUERY=Object.freeze({}),ICON_VIEW_BOX="0 0 24 24",ICON_STROKE_WIDTH="1.75";function retryIcon(){return svg`
|
|
2
2
|
<svg
|
|
3
3
|
width="1em"
|
|
4
4
|
height="1em"
|
|
@@ -11,7 +11,7 @@ import{__decorate}from"tslib";import{collectionSupport}from"../../../internal/co
|
|
|
11
11
|
aria-hidden="true"
|
|
12
12
|
focusable="false"
|
|
13
13
|
><polyline points="1 4 1 10 7 10"></polyline><path d="M3.51 15a9 9 0 1 0 2.13-9.36L1 10"></path></svg>
|
|
14
|
-
`}const DEFAULT_VIRTUALIZE_AT=100;class LyraIngestionQueue extends LyraElement{constructor(){super(...arguments),this.items=[],this.virtualizeAt=DEFAULT_VIRTUALIZE_AT,this.announce=!1,this.failureLiveText="",this.isMounting=!0,this.initialFailuresAnnounced=!1,this.ingestionItemKey=item=>item.id,this.stopOwnedEvent=event=>{event.stopPropagation()},this.itemTemplate=(item,ownRole)=>{const stage=normalizedStage(item.stage),stageLabel=this.stageLabel(stage),name=item.document.name.trim()?item.document.name:this.localize("untitledSource"),showProgress=stage!=="unknown"&&ACTIVE_STAGES.includes(stage),canRetry=stage==="failed",canCancel=stage!=="unknown"&&CANCELABLE_STAGES.includes(stage),attempts=this.normalizedAttempts(item),hasMeta=item.chunkCount!==void 0||item.embeddedChunkCount!==void 0||attempts>0,indeterminate=item.progress===void 0||!Number.isFinite(item.progress);return html`
|
|
14
|
+
`}const DEFAULT_VIRTUALIZE_AT=100;class LyraIngestionQueue extends LyraElement{constructor(){super(...arguments),this.items=[],this.sourceEpoch=0,this.sourceSyncing=!1,this.sourceRows=[],this.sourceItemIdentities=new WeakSet,this.sourceStateVersion=0,this.sourcePages=new SourcePageController(this,{normalizeRecord:(record,isCurrent)=>this.projectSourceItem(record,isCurrent),validateMetadata:()=>{},onChange:()=>{this.sourceStateVersion++}}),this.sourcePage=0,this.sourcePageSize=100,this.onSourcePage=event=>{event.stopPropagation(),this.sourceBlocked||(this.sourcePage=event.detail.page-1)},this.virtualizeAt=DEFAULT_VIRTUALIZE_AT,this.announce=!1,this.failureLiveText="",this.isMounting=!0,this.initialFailuresAnnounced=!1,this.limitAnnouncements=new AnnouncementSinkController(this,{eager:["polite"]}),this.limitInitialized=!1,this.previouslyInputTruncated=!1,this.sourceStatusInitialized=!1,this.previousSourceStatus="",this.fallbackFailureItems=new WeakSet,this.ingestionItemKey=item=>item.id,this.stopOwnedEvent=event=>{event.stopPropagation()},this.itemTemplate=(item,ownRole)=>{const stage=normalizedStage(item.stage),stageLabel=this.stageLabel(stage),name=item.document.name.trim()?item.document.name:this.localize("untitledSource"),showProgress=stage!=="unknown"&&ACTIVE_STAGES.includes(stage),canRetry=stage==="failed",canCancel=stage!=="unknown"&&CANCELABLE_STAGES.includes(stage),attempts=this.normalizedAttempts(item),hasMeta=item.chunkCount!==void 0||item.embeddedChunkCount!==void 0||attempts>0,indeterminate=item.progress===void 0||!Number.isFinite(item.progress);return html`
|
|
15
15
|
<div
|
|
16
16
|
part="item"
|
|
17
17
|
role=${ownRole?"listitem":nothing}
|
|
@@ -40,7 +40,7 @@ import{__decorate}from"tslib";import{collectionSupport}from"../../../internal/co
|
|
|
40
40
|
>${this.localize("ingestionAttemptCount",void 0,{count:getNumberFormat(this.effectiveLocale).format(attempts)})}</span
|
|
41
41
|
>`:nothing}
|
|
42
42
|
</div>`:nothing}
|
|
43
|
-
${stage==="failed"&&item.error?html`<p part="item-error">${item.error}</p>`:nothing}
|
|
43
|
+
${stage==="failed"&&item.error?html`<p part="item-error">${this.fallbackFailureItems.has(item)?this.localize("ingestionStageFailed"):item.error}</p>`:nothing}
|
|
44
44
|
${canRetry||canCancel?html`<div part="item-actions">
|
|
45
45
|
${canRetry?html`<button
|
|
46
46
|
part="retry-button"
|
|
@@ -60,11 +60,30 @@ import{__decorate}from"tslib";import{collectionSupport}from"../../../internal/co
|
|
|
60
60
|
</button>`:nothing}
|
|
61
61
|
</div>`:nothing}
|
|
62
62
|
</div>
|
|
63
|
-
`}}static{this.defaultStrings={...super.defaultStrings,cancel:LYRA_DEFAULT_cancel,ingestionAttemptCount:LYRA_DEFAULT_ingestionAttemptCount,ingestionCancelWithContext:LYRA_DEFAULT_ingestionCancelWithContext,ingestionChunkCount:LYRA_DEFAULT_ingestionChunkCount,ingestionEmbeddedOfTotal:LYRA_DEFAULT_ingestionEmbeddedOfTotal,ingestionItemProgressLabel:LYRA_DEFAULT_ingestionItemProgressLabel,ingestionQueueEmpty:LYRA_DEFAULT_ingestionQueueEmpty,ingestionQueueLabel:LYRA_DEFAULT_ingestionQueueLabel,ingestionRetryWithContext:LYRA_DEFAULT_ingestionRetryWithContext,ingestionStageCancelled:LYRA_DEFAULT_ingestionStageCancelled,ingestionStageChunking:LYRA_DEFAULT_ingestionStageChunking,ingestionStageDone:LYRA_DEFAULT_ingestionStageDone,ingestionStageEmbedding:LYRA_DEFAULT_ingestionStageEmbedding,ingestionStageExtracting:LYRA_DEFAULT_ingestionStageExtracting,ingestionStageFailed:LYRA_DEFAULT_ingestionStageFailed,ingestionStageIndexing:LYRA_DEFAULT_ingestionStageIndexing,ingestionStageQueued:LYRA_DEFAULT_ingestionStageQueued,ingestionStageUnknown:LYRA_DEFAULT_ingestionStageUnknown,ingestionStageUploading:LYRA_DEFAULT_ingestionStageUploading,retry:LYRA_DEFAULT_retry,untitledSource:LYRA_DEFAULT_untitledSource}}static{this.collectionSupport=collectionSupport}static{this.ownedCollectionProperties=Object.freeze(["items"])}static{this.styles=[LyraElement.styles,styles,srOnly]}get effectiveVirtualizeAt(){return finiteCount(this.virtualizeAt,DEFAULT_VIRTUALIZE_AT)}normalizeItems(value){return firstByRetrievalIdentity(Array.isArray(value)?value.filter(item=>{if(!isRecord(item)||!isNonBlankIdentity(item.id))return!1;const document=item.document;return isRecord(document)&&isNonBlankIdentity(document.id)&&typeof document.name=="string"}):[],item=>item.id).map(item=>item.error==null||typeof item.error=="string"?item:{...item,error:this.localize("ingestionStageFailed")})}get normalizedItems(){const cached=this.normalizedItemsCache;if(cached&&cached.source===this.items&&cached.locale===this.effectiveLocale)return cached.result;const result=this.normalizeItems(this.items);return this.normalizedItemsCache={source:this.items,locale:this.effectiveLocale,result},result}connectedCallback(){super.connectedCallback(),this.sink??=acquireAnnouncementSink("assertive",{document:this.ownerDocument,source:this})}disconnectedCallback(){super.disconnectedCallback(),this.failureLiveText="",this.isMounting=!0,this.sink?.release(),this.sink=void 0}willUpdate(changed){super.willUpdate(changed);const wasMounting=this.isMounting;if(this.isMounting=!1,wasMounting){this.announce&&!this.initialFailuresAnnounced&&(this.initialFailuresAnnounced=!0,this.announceFailures(this.normalizedItems.flatMap(item=>item.stage==="failed"&&item.error?[item.error]:[])));return}if(!changed.has("items"))return;const previousItems=this.normalizeItems(changed.get("items")),previousById=new Map(previousItems.map(item=>[item.id,item]));this.announceFailures(this.normalizedItems.flatMap(item=>{if(item.stage!=="failed"||!item.error)return[];const previous=previousById.get(item.id);return!previous||previous.stage!=="failed"||previous.error!==item.error?[item.error]:[]}))}announceFailures(freshErrors){this.failureLiveText=freshErrors.length?getListFormat(this.effectiveLocale,{type:"conjunction"}).format(freshErrors):"",this.failureLiveText!==""&&this.sink?.announce(this.failureLiveText)}stageLabel(stage){switch(stage){case"queued":return this.localize("ingestionStageQueued");case"uploading":return this.localize("ingestionStageUploading");case"extracting":return this.localize("ingestionStageExtracting");case"chunking":return this.localize("ingestionStageChunking");case"embedding":return this.localize("ingestionStageEmbedding");case"indexing":return this.localize("ingestionStageIndexing");case"done":return this.localize("ingestionStageDone");case"failed":return this.localize("ingestionStageFailed");case"cancelled":return this.localize("ingestionStageCancelled");case"unknown":return this.localize("ingestionStageUnknown")}}chunkCountText(count){const safeCount=finiteCount(count);return this.localize("ingestionChunkCount",void 0,{count:getNumberFormat(this.effectiveLocale).format(safeCount),pluralCount:safeCount})}normalizedAttempts(item){return finiteCount(item.attempts??0,0,Number.MAX_SAFE_INTEGER-1)}onRetryClick(item){this.emit("lr-retry",{itemId:item.id,attempt:this.normalizedAttempts(item)+1})}onCancelClick(item){this.emit("lr-cancel",{itemId:item.id})}render(){const items=this.normalizedItems,ariaLabel=retrievalSemanticLabel(this,this.label==null?this.localize("ingestionQueueLabel"):this.label),regionRole=retrievalSemanticRole(this,"region");if(items.length===0)return html`<div
|
|
63
|
+
`}}static{this.defaultStrings={...super.defaultStrings,cancel:LYRA_DEFAULT_cancel,ingestionAttemptCount:LYRA_DEFAULT_ingestionAttemptCount,ingestionCancelWithContext:LYRA_DEFAULT_ingestionCancelWithContext,ingestionChunkCount:LYRA_DEFAULT_ingestionChunkCount,ingestionEmbeddedOfTotal:LYRA_DEFAULT_ingestionEmbeddedOfTotal,ingestionItemProgressLabel:LYRA_DEFAULT_ingestionItemProgressLabel,ingestionQueueEmpty:LYRA_DEFAULT_ingestionQueueEmpty,ingestionQueueInputLimit:LYRA_DEFAULT_ingestionQueueInputLimit,ingestionQueueLabel:LYRA_DEFAULT_ingestionQueueLabel,ingestionRetryWithContext:LYRA_DEFAULT_ingestionRetryWithContext,ingestionStageCancelled:LYRA_DEFAULT_ingestionStageCancelled,ingestionStageChunking:LYRA_DEFAULT_ingestionStageChunking,ingestionStageDone:LYRA_DEFAULT_ingestionStageDone,ingestionStageEmbedding:LYRA_DEFAULT_ingestionStageEmbedding,ingestionStageExtracting:LYRA_DEFAULT_ingestionStageExtracting,ingestionStageFailed:LYRA_DEFAULT_ingestionStageFailed,ingestionStageIndexing:LYRA_DEFAULT_ingestionStageIndexing,ingestionStageQueued:LYRA_DEFAULT_ingestionStageQueued,ingestionStageUnknown:LYRA_DEFAULT_ingestionStageUnknown,ingestionStageUploading:LYRA_DEFAULT_ingestionStageUploading,loading:LYRA_DEFAULT_loading,retry:LYRA_DEFAULT_retry,tableLoadFailed:LYRA_DEFAULT_tableLoadFailed,untitledSource:LYRA_DEFAULT_untitledSource}}static{this.collectionSupport=collectionSupport}static{this.identityCollectionProperties=Object.freeze(["items"])}static{this.ownedCollectionProperties=Object.freeze(["items"])}static{this.styles=[LyraElement.styles,styles,srOnly]}get dataSource(){return this._dataSource}set dataSource(value){const previous=this._dataSource;this._dataSource=value,this.sourceEpoch++,this.requestUpdate("dataSource",previous)}get sourceTotal(){return this.sourceMode?this.sourcePages.state.result?.total??null:null}get sourceMode(){return this.dataSource!==void 0}get sourceFailed(){return this.sourceMode&&!this.sourcePages.state.pending&&!this.sourcePages.state.result}get sourceBlocked(){return this.sourceMode&&(!this.isConnected||this.sourcePages.state.pending||this.sourceFailed)}projectSourceItem(record,isCurrent){const assertCurrent=()=>{if(!isCurrent())throw new TypeError("Obsolete source record")},descriptorOf=(target,key)=>{assertCurrent();const descriptor=getOwnDataDescriptor(target,key);return assertCurrent(),descriptor};assertCurrent();const field=(value2,key)=>{if(!isRecord(value2))throw new TypeError("Invalid source item");const descriptor=descriptorOf(value2,key);if(descriptor===UNSAFE_OWN_DATA_DESCRIPTOR)throw new TypeError("Invalid source field");return descriptor===MISSING_OWN_DATA_DESCRIPTOR?void 0:descriptor.value};let units=0;const text=(value2,required=!1)=>{if(!(value2===void 0&&!required)){if(typeof value2!="string"||value2.length>65536||(units+=value2.length)>65536)throw new TypeError("Invalid source text");return value2}},raw=record.value,id=text(field(raw,"id"),!0),rawDocument=field(raw,"document"),documentId=text(field(rawDocument,"id"),!0);if(id!==record.key||!isNonBlankIdentity(documentId))throw new TypeError("Invalid source identity");const document=Object.freeze({id:documentId,name:text(field(rawDocument,"name"),!0),mimeType:text(field(rawDocument,"mimeType")),uri:text(field(rawDocument,"uri")),version:text(field(rawDocument,"version"))}),stage=text(field(raw,"stage")),errorValue=field(raw,"error"),error=errorValue==null?void 0:text(typeof errorValue=="string"?errorValue:this.localize("ingestionStageFailed")),numbers={};for(const key of["progress","chunkCount","embeddedChunkCount","attempts"]){const value2=field(raw,key);if(value2!==void 0){if(typeof value2!="number")throw new TypeError("Invalid source number");numbers[key]=value2}}const value=Object.freeze({id,document,stage,error,...numbers});return assertCurrent(),this.sourceItemIdentities.add(value),errorValue!=null&&typeof errorValue!="string"&&this.fallbackFailureItems.add(value),assertCurrent(),{key:record.key,order:record.order,value}}syncSource(){if(!(!this.sourcePages||this.sourceSyncing)){this.sourceSyncing=!0;try{if(!this.sourceMode){this.sourceInputs&&this.sourcePages.bind(void 0),this.sourceInputs=void 0,this.sourceSize=void 0,this.sourceResult=void 0,this.sourceRows=[];return}const source=this.dataSource,size=finiteInteger(this.sourcePageSize,100,1,500);let page=finiteInteger(this.sourcePage,0,0,Math.floor(Number.MAX_SAFE_INTEGER/size));this.sourceSize!==void 0&&this.sourceSize!==size&&(page=0,this.sourcePage=0),this.sourceSize=size;const revision=source.revision,inputs=[source,revision,this.sourceEpoch,this.effectiveLocale,size,page];if(this.sourceInputs&&inputs.every((value,index)=>value===this.sourceInputs[index]))return;this.sourceInputs=inputs,this.sourceRows=[],this.sourceResult=void 0,this.sourcePages.bind({source,revision,epoch:this.sourceEpoch,locale:this.effectiveLocale}),this.sourcePages.request(SOURCE_QUERY,page,size)}catch{this.sourcePages.bind(void 0),this.sourceRows=[],this.sourceResult=void 0}finally{this.sourceSyncing=!1}}}acceptSourcePage(){const result=this.sourcePages.state.result;!result||result===this.sourceResult||(this.sourceResult=result,this.sourceRows=result.rows.map(record=>record.value),this.sourcePage!==this.sourcePages.state.page&&(this.sourceSyncing=!0,this.sourcePage=this.sourcePages.state.page,this.sourceSyncing=!1,this.sourceInputs=this.sourceInputs?[...this.sourceInputs.slice(0,-1),this.sourcePages.state.page]:void 0))}requestUpdate(...args){args[0]===void 0&&(this.sourceEpoch=(this.sourceEpoch??0)+1),(args[0]===void 0||["dataSource","sourcePage","sourcePageSize"].includes(String(args[0])))&&this.syncSource(),super.requestUpdate(...args)}onSourceRetry(source,state2){!this.isConnected||!this.sourceMode||!this.sourceFailed||this.dataSource!==source||this.sourcePages.state!==state2||(this.sourceInputs=void 0,this.syncSource(),this.sourceStateVersion++)}adoptedCallback(){super.adoptedCallback(),this.limitAnnouncements.adopted(),this.sourcePages.adopted(),this.sourceStatusInitialized=!1}inputLimitText(){const truncation=publicCollectionTruncation(this,"items"),number=getNumberFormat(this.effectiveLocale);return truncation?this.localize("ingestionQueueInputLimit",void 0,{count:number.format(truncation.retained),total:number.format(truncation.source)}):""}updated(changed){if(super.updated(changed),this.sourceMode){const status=this.sourceFailed?this.localize("tableLoadFailed"):this.sourcePages.state.pending?this.localize("loading"):"";this.sourceStatusInitialized&&status&&status!==this.previousSourceStatus&&this.limitAnnouncements.announcePolite(status),this.sourceStatusInitialized=!0,this.previousSourceStatus=status;return}this.sourceStatusInitialized=!1,this.previousSourceStatus="";const inputTruncated=publicCollectionTruncation(this,"items")!==void 0;this.limitInitialized&&inputTruncated&&!this.previouslyInputTruncated&&this.limitAnnouncements.announcePolite(this.inputLimitText()),this.limitInitialized=!0,this.previouslyInputTruncated=inputTruncated}renderInputLimit(){const text=this.inputLimitText();return text?html`<p part="limit" role="note">${text}</p>`:nothing}get effectiveVirtualizeAt(){return finiteCount(this.virtualizeAt,DEFAULT_VIRTUALIZE_AT)}normalizeItems(value){const rows=[];for(const valueItem of Array.isArray(value)?value:[])try{if(!isRecord(valueItem))continue;const id=readOwnDataValue(valueItem,"id"),source=readOwnDataValue(valueItem,"document");if(!isNonBlankIdentity(id)||!isRecord(source))continue;const documentId=readOwnDataValue(source,"id"),name=readOwnDataValue(source,"name");if(!isNonBlankIdentity(documentId)||typeof name!="string")continue;const document=Object.freeze(Object.fromEntries(["id","name","mimeType","uri","version"].map(key=>[key,readOwnDataValue(source,key)]).filter(([,field])=>field!==void 0))),fields=Object.fromEntries(["stage","progress","chunkCount","embeddedChunkCount","attempts"].map(key=>[key,readOwnDataValue(valueItem,key)]).filter(([,field])=>field!==void 0)),error=readOwnDataValue(valueItem,"error"),row=Object.freeze({...fields,id,document,...error===void 0?{}:{error:error===null||typeof error=="string"?error:this.localize("ingestionStageFailed")}});error!=null&&typeof error!="string"&&this.fallbackFailureItems.add(row),rows.push(row)}catch{continue}return firstByRetrievalIdentity(rows,item=>item.id)}get normalizedItems(){const cached=this.normalizedItemsCache;if(cached&&cached.source===this.items&&cached.locale===this.effectiveLocale&&cached.failureText===this.localize("ingestionStageFailed"))return cached.result;const result=this.normalizeItems(this.items);return this.normalizedItemsCache={source:this.items,locale:this.effectiveLocale,failureText:this.localize("ingestionStageFailed"),result},result}connectedCallback(){super.connectedCallback(),this.sink??=acquireAnnouncementSink("assertive",{document:this.ownerDocument,source:this})}disconnectedCallback(){super.disconnectedCallback(),this.failureLiveText="",this.sourceStatusInitialized=!1,this.previousSourceStatus="",this.isMounting=!0,this.sink?.release(),this.sink=void 0}willUpdate(changed){if(super.willUpdate(changed),this.syncSource(),this.sourceMode){this.acceptSourcePage(),this.failureLiveText="",this.isMounting=!0;return}const wasMounting=this.isMounting;if(this.isMounting=!1,wasMounting){this.announce&&!this.initialFailuresAnnounced&&(this.initialFailuresAnnounced=!0,this.announceFailures(this.normalizedItems.flatMap(item=>item.stage==="failed"&&item.error?[item.error]:[])));return}if(!changed.has("items"))return;const previousItems=this.normalizedItemsCache?.result??[],previousById=new Map(previousItems.map(item=>[item.id,item]));this.announceFailures(this.normalizedItems.flatMap(item=>{if(item.stage!=="failed"||!item.error)return[];const previous=previousById.get(item.id),previousError=previous&&this.fallbackFailureItems.has(previous)?this.localize("ingestionStageFailed"):previous?.error;return!previous||previous.stage!=="failed"||previousError!==item.error?[item.error]:[]}))}announceFailures(freshErrors){this.failureLiveText=freshErrors.length?getListFormat(this.effectiveLocale,{type:"conjunction"}).format(freshErrors):"",this.failureLiveText!==""&&this.sink?.announce(this.failureLiveText)}stageLabel(stage){switch(stage){case"queued":return this.localize("ingestionStageQueued");case"uploading":return this.localize("ingestionStageUploading");case"extracting":return this.localize("ingestionStageExtracting");case"chunking":return this.localize("ingestionStageChunking");case"embedding":return this.localize("ingestionStageEmbedding");case"indexing":return this.localize("ingestionStageIndexing");case"done":return this.localize("ingestionStageDone");case"failed":return this.localize("ingestionStageFailed");case"cancelled":return this.localize("ingestionStageCancelled");case"unknown":return this.localize("ingestionStageUnknown")}}chunkCountText(count){const safeCount=finiteCount(count);return this.localize("ingestionChunkCount",void 0,{count:getNumberFormat(this.effectiveLocale).format(safeCount),pluralCount:safeCount})}normalizedAttempts(item){return finiteCount(item.attempts??0,0,Number.MAX_SAFE_INTEGER-1)}onRetryClick(item){(this.sourceMode||this.sourceItemIdentities.has(item))&&(!this.sourceMode||this.sourceBlocked||!this.sourceRows.includes(item))||this.emit("lr-retry",{itemId:item.id,attempt:this.normalizedAttempts(item)+1})}onCancelClick(item){(this.sourceMode||this.sourceItemIdentities.has(item))&&(!this.sourceMode||this.sourceBlocked||!this.sourceRows.includes(item))||this.emit("lr-cancel",{itemId:item.id})}renderRows(items){return items.length>this.effectiveVirtualizeAt?html`<lr-virtual-list
|
|
64
|
+
part="list"
|
|
65
|
+
exportparts="item:item, item-header:item-header, item-name:item-name, item-stage:item-stage, item-progress:item-progress, item-meta:item-meta, item-chunk-count:item-chunk-count, item-embedding-status:item-embedding-status, item-attempts:item-attempts, item-error:item-error, item-actions:item-actions, retry-button:retry-button, cancel-button:cancel-button"
|
|
66
|
+
.items=${guard([items],()=>items)}
|
|
67
|
+
.renderItem=${item=>this.itemTemplate(item,!1)}
|
|
68
|
+
.keyFunction=${this.ingestionItemKey}
|
|
69
|
+
@lr-virtual-scroll=${this.stopOwnedEvent}
|
|
70
|
+
@lr-visible-range-change=${this.stopOwnedEvent}
|
|
71
|
+
></lr-virtual-list>`:html`<div part="list" role="list">
|
|
72
|
+
${repeat(items,item=>item.id,item=>this.itemTemplate(item,!0))}
|
|
73
|
+
</div>`}renderSource(){const failed=this.sourceFailed,retrySource=this.dataSource,retryState=this.sourcePages.state,pending=this.sourcePages.state.pending,label=retrievalSemanticLabel(this,this.label==null?this.localize("ingestionQueueLabel"):this.label);return html`<div part="base" role=${retrievalSemanticRole(this,"region")??nothing} aria-label=${label??nothing} aria-busy=${pending?"true":"false"}>
|
|
74
|
+
${failed||pending?html`<p part="source-status">${this.localize(failed?"tableLoadFailed":"loading")}</p>`:nothing}
|
|
75
|
+
${failed?html`<button type="button" part="source-retry" @click=${()=>this.onSourceRetry(retrySource,retryState)}>${this.localize("retry")}</button>`:nothing}
|
|
76
|
+
${failed||pending?nothing:this.sourceRows.length?this.renderRows(this.sourceRows):html`<div part="list"><lr-empty part="empty" heading=${this.localize("ingestionQueueEmpty")}></lr-empty></div>`}
|
|
77
|
+
<lr-pagination part="source-pagination" format="compact" .page=${finiteInteger(this.sourcePage,0,0,Number.MAX_SAFE_INTEGER-1)+1}
|
|
78
|
+
.pageSize=${finiteInteger(this.sourcePageSize,100,1,500)} .total=${this.sourceTotal??-1} .disabled=${this.sourceBlocked||this.sourceTotal===null}
|
|
79
|
+
.strings=${this.strings} @lr-page-change=${this.onSourcePage} @lr-before-page-change=${this.stopOwnedEvent} @lr-activate=${this.stopOwnedEvent}
|
|
80
|
+
@focus=${this.stopOwnedEvent} @blur=${this.stopOwnedEvent}></lr-pagination>
|
|
81
|
+
</div>`}render(){if(this.sourceMode)return this.renderSource();const items=this.normalizedItems,ariaLabel=retrievalSemanticLabel(this,this.label==null?this.localize("ingestionQueueLabel"):this.label),regionRole=retrievalSemanticRole(this,"region");return items.length===0?html`<div
|
|
64
82
|
part="base"
|
|
65
83
|
role=${regionRole??nothing}
|
|
66
84
|
aria-label=${ariaLabel??nothing}
|
|
67
85
|
>
|
|
86
|
+
${this.renderInputLimit()}
|
|
68
87
|
<div part="failure-live" class="sr-only" aria-hidden="true">
|
|
69
88
|
${this.failureLiveText}
|
|
70
89
|
</div>
|
|
@@ -74,25 +93,16 @@ import{__decorate}from"tslib";import{collectionSupport}from"../../../internal/co
|
|
|
74
93
|
heading=${this.localize("ingestionQueueEmpty")}
|
|
75
94
|
></lr-empty>
|
|
76
95
|
</div>
|
|
77
|
-
</div
|
|
96
|
+
</div>`:html`
|
|
78
97
|
<div
|
|
79
98
|
part="base"
|
|
80
99
|
role=${regionRole??nothing}
|
|
81
100
|
aria-label=${ariaLabel??nothing}
|
|
82
101
|
>
|
|
102
|
+
${this.renderInputLimit()}
|
|
83
103
|
<div part="failure-live" class="sr-only" aria-hidden="true">
|
|
84
104
|
${this.failureLiveText}
|
|
85
105
|
</div>
|
|
86
|
-
${
|
|
87
|
-
part="list"
|
|
88
|
-
exportparts="item:item, item-header:item-header, item-name:item-name, item-stage:item-stage, item-progress:item-progress, item-meta:item-meta, item-chunk-count:item-chunk-count, item-embedding-status:item-embedding-status, item-attempts:item-attempts, item-error:item-error, item-actions:item-actions, retry-button:retry-button, cancel-button:cancel-button"
|
|
89
|
-
.items=${guard([items],()=>items)}
|
|
90
|
-
.renderItem=${item=>this.itemTemplate(item,!1)}
|
|
91
|
-
.keyFunction=${this.ingestionItemKey}
|
|
92
|
-
@lr-virtual-scroll=${this.stopOwnedEvent}
|
|
93
|
-
@lr-visible-range-change=${this.stopOwnedEvent}
|
|
94
|
-
></lr-virtual-list>`:html`<div part="list" role="list">
|
|
95
|
-
${repeat(items,item=>item.id,item=>this.itemTemplate(item,!0))}
|
|
96
|
-
</div>`}
|
|
106
|
+
${this.renderRows(items)}
|
|
97
107
|
</div>
|
|
98
|
-
`}}__decorate([property({attribute:!1})],LyraIngestionQueue.prototype,"items",void 0),__decorate([property()],LyraIngestionQueue.prototype,"label",void 0),__decorate([property({type:Number,attribute:"virtualize-at"})],LyraIngestionQueue.prototype,"virtualizeAt",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraIngestionQueue.prototype,"announce",void 0),__decorate([state()],LyraIngestionQueue.prototype,"failureLiveText",void 0);export{LyraIngestionQueue};
|
|
108
|
+
`}}__decorate([property({attribute:!1})],LyraIngestionQueue.prototype,"items",void 0),__decorate([state()],LyraIngestionQueue.prototype,"sourceStateVersion",void 0),__decorate([property({attribute:!1})],LyraIngestionQueue.prototype,"dataSource",null),__decorate([property({type:Number,attribute:"source-page"})],LyraIngestionQueue.prototype,"sourcePage",void 0),__decorate([property({type:Number,attribute:"source-page-size"})],LyraIngestionQueue.prototype,"sourcePageSize",void 0),__decorate([property()],LyraIngestionQueue.prototype,"label",void 0),__decorate([property({type:Number,attribute:"virtualize-at"})],LyraIngestionQueue.prototype,"virtualizeAt",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraIngestionQueue.prototype,"announce",void 0),__decorate([state()],LyraIngestionQueue.prototype,"failureLiveText",void 0);export{LyraIngestionQueue};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
/** @deprecated Import @aceshooting/lyra-ui/components/lr-ingestion-queue.js to register this component. */
|
|
2
|
-
export*from'./ingestion-queue.class.js';import'../../overlays/badge/badge.js';import'../../overlays/progress/progress-bar.js';import'../../overlays/empty/empty.js';import'../../layout/virtual-list/virtual-list.js';
|
|
2
|
+
export*from'./ingestion-queue.class.js';import'../../overlays/badge/badge.js';import'../../overlays/progress/progress-bar.js';import'../../overlays/empty/empty.js';import'../../layout/virtual-list/virtual-list.js';import'../../data/pagination/pagination.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export*from"./ingestion-queue.class.js";import"../../overlays/badge/badge.js";import"../../overlays/progress/progress-bar.js";import"../../overlays/empty/empty.js";import"../../layout/virtual-list/virtual-list.js";import{LyraIngestionQueue}from"./ingestion-queue.class.js";import{defineElement}from"../../../internal/prefix.js";defineElement("ingestion-queue",LyraIngestionQueue);
|
|
1
|
+
export*from"./ingestion-queue.class.js";import"../../overlays/badge/badge.js";import"../../overlays/progress/progress-bar.js";import"../../overlays/empty/empty.js";import"../../layout/virtual-list/virtual-list.js";import"../../data/pagination/pagination.js";import{LyraIngestionQueue}from"./ingestion-queue.class.js";import{defineElement}from"../../../internal/prefix.js";defineElement("ingestion-queue",LyraIngestionQueue);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{iconHitTarget,focusRing}from"../../../internal/interactive-control.styles.js";import{css}from"lit";const styles=css` :host { display: block; --_lr-ingestion-queue-max-height: none; } [part="base"] { display: block; box-sizing: border-box; min-inline-size: 0; } [part="list"] { display: flex; flex-direction: column; box-sizing: border-box; max-block-size: var( --lr-ingestion-queue-max-height, var(--_lr-ingestion-queue-max-height) ); overflow-y: auto; overflow-x: clip; } lr-virtual-list { display: block; --lr-virtual-list-height: var(--lr-size-24rem); } [part="item"], lr-virtual-list::part(item) { display: flex; flex-direction: column; gap: var(--lr-space-xs); box-sizing: border-box; padding: var(--lr-space-s) var(--lr-space-m); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); } [part="item-header"], lr-virtual-list::part(item-header) { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--lr-space-s); } [part="item-name"], lr-virtual-list::part(item-name) { min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--lr-font-weight-medium); color: var(--lr-color-text); } [part="item-progress"], lr-virtual-list::part(item-progress) { display: block; } [part="item-meta"], lr-virtual-list::part(item-meta) { display: flex; flex-wrap: wrap; gap: var(--lr-space-s); font-size: var(--lr-font-size-xs); color: var(--lr-color-text-quiet); } [part="item-chunk-count"], lr-virtual-list::part(item-chunk-count), [part="item-embedding-status"], lr-virtual-list::part(item-embedding-status), [part="item-attempts"], lr-virtual-list::part(item-attempts) { unicode-bidi: plaintext; } [part="item-error"], lr-virtual-list::part(item-error) { margin: 0; color: var(--lr-color-danger); font-size: var(--lr-font-size-sm); overflow-wrap: anywhere; } [part="item-actions"], lr-virtual-list::part(item-actions) { display: flex; flex-wrap: wrap; gap: var(--lr-space-s); } [part="retry-button"], lr-virtual-list::part(retry-button), [part="cancel-button"], lr-virtual-list::part(cancel-button) { display: inline-flex; align-items: center; gap: var(--lr-size-0-35em); box-sizing: border-box; ${iconHitTarget} padding: var(--lr-size-0-25rem) var(--lr-space-s); border: var(--lr-border-width-thin) solid var(--lr-color-border); border-radius: var(--lr-radius-pill); background: var(--lr-color-surface); color: var(--lr-color-text); font: inherit; font-size: var(--lr-font-size-xs); cursor: pointer; transition: background-color var(--lr-transition-fast), border-color var(--lr-transition-fast), color var(--lr-transition-fast); } [part="retry-button"]:hover, lr-virtual-list::part(retry-button):hover { border-color: var(--lr-color-brand); color: var(--lr-color-brand); } [part="retry-button"]:active, lr-virtual-list::part(retry-button):active { border-color: var(--lr-color-brand); color: var(--lr-color-brand); background: color-mix( in oklab, var(--lr-color-surface), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part="cancel-button"]:hover, lr-virtual-list::part(cancel-button):hover { border-color: var(--lr-color-danger); color: var(--lr-color-danger); } [part="cancel-button"]:active, lr-virtual-list::part(cancel-button):active { border-color: var(--lr-color-danger); color: var(--lr-color-danger); background: color-mix( in oklab, var(--lr-color-surface), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part="retry-button"]:focus-visible, lr-virtual-list::part(retry-button):focus-visible, [part="cancel-button"]:focus-visible, lr-virtual-list::part(cancel-button):focus-visible { ${focusRing} } @media (prefers-reduced-motion: reduce) { [part="retry-button"], lr-virtual-list::part(retry-button), [part="cancel-button"], lr-virtual-list::part(cancel-button) { transition: none !important; } } `;export{styles};
|
|
1
|
+
import{iconHitTarget,focusRing}from"../../../internal/interactive-control.styles.js";import{css}from"lit";const styles=css` :host { display: block; --_lr-ingestion-queue-max-height: none; } [part="base"] { display: block; box-sizing: border-box; min-inline-size: 0; } [part="list"] { display: flex; flex-direction: column; box-sizing: border-box; max-block-size: var( --lr-ingestion-queue-max-height, var(--_lr-ingestion-queue-max-height) ); overflow-y: auto; overflow-x: clip; } lr-virtual-list { display: block; --lr-virtual-list-height: var(--lr-size-24rem); } [part="item"], lr-virtual-list::part(item) { display: flex; flex-direction: column; gap: var(--lr-space-xs); box-sizing: border-box; padding: var(--lr-space-s) var(--lr-space-m); border-block-end: var(--lr-border-width-thin) solid var(--lr-color-border-subtle); } [part="item-header"], lr-virtual-list::part(item-header) { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--lr-space-s); } [part="item-name"], lr-virtual-list::part(item-name) { min-inline-size: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: var(--lr-font-weight-medium); color: var(--lr-color-text); } [part="item-progress"], lr-virtual-list::part(item-progress) { display: block; } [part="item-meta"], lr-virtual-list::part(item-meta) { display: flex; flex-wrap: wrap; gap: var(--lr-space-s); font-size: var(--lr-font-size-xs); color: var(--lr-color-text-quiet); } [part="item-chunk-count"], lr-virtual-list::part(item-chunk-count), [part="item-embedding-status"], lr-virtual-list::part(item-embedding-status), [part="item-attempts"], lr-virtual-list::part(item-attempts) { unicode-bidi: plaintext; } [part="item-error"], lr-virtual-list::part(item-error) { margin: 0; color: var(--lr-color-danger); font-size: var(--lr-font-size-sm); overflow-wrap: anywhere; } [part="item-actions"], lr-virtual-list::part(item-actions) { display: flex; flex-wrap: wrap; gap: var(--lr-space-s); } [part="source-retry"], [part="retry-button"], lr-virtual-list::part(retry-button), [part="cancel-button"], lr-virtual-list::part(cancel-button) { display: inline-flex; align-items: center; gap: var(--lr-size-0-35em); box-sizing: border-box; ${iconHitTarget} padding: var(--lr-size-0-25rem) var(--lr-space-s); border: var(--lr-border-width-thin) solid var(--lr-color-border); border-radius: var(--lr-radius-pill); background: var(--lr-color-surface); color: var(--lr-color-text); font: inherit; font-size: var(--lr-font-size-xs); cursor: pointer; transition: background-color var(--lr-transition-fast), border-color var(--lr-transition-fast), color var(--lr-transition-fast); } [part="source-retry"]:hover, [part="retry-button"]:hover, lr-virtual-list::part(retry-button):hover { border-color: var(--lr-color-brand); color: var(--lr-color-brand); } [part="source-retry"]:active, [part="retry-button"]:active, lr-virtual-list::part(retry-button):active { border-color: var(--lr-color-brand); color: var(--lr-color-brand); background: color-mix( in oklab, var(--lr-color-surface), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part="cancel-button"]:hover, lr-virtual-list::part(cancel-button):hover { border-color: var(--lr-color-danger); color: var(--lr-color-danger); } [part="cancel-button"]:active, lr-virtual-list::part(cancel-button):active { border-color: var(--lr-color-danger); color: var(--lr-color-danger); background: color-mix( in oklab, var(--lr-color-surface), var(--lr-color-mix-partner) var(--lr-color-mix-active) ); } [part="source-retry"]:focus-visible, [part="retry-button"]:focus-visible, lr-virtual-list::part(retry-button):focus-visible, [part="cancel-button"]:focus-visible, lr-virtual-list::part(cancel-button):focus-visible { ${focusRing} } @media (prefers-reduced-motion: reduce) { [part="source-retry"], [part="retry-button"], lr-virtual-list::part(retry-button), [part="cancel-button"], lr-virtual-list::part(cancel-button) { transition: none !important; } } [part='source-pagination'] { display: block; margin-block-start: var(--lr-space-s); } [part='source-status'], [part='limit'] { margin: 0; padding: var(--lr-space-s); color: var(--lr-color-text-quiet); font-size: var(--lr-font-size-sm); overflow-wrap: anywhere; } `;export{styles};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import{type LyraHeadingLevel}from'../../../internal/heading-level.js';
|
|
1
|
+
import type{LyraPageSource}from'../../../data-sources.js';import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import{type LyraHeadingLevel}from'../../../internal/heading-level.js';import type{LyraTableEventMap}from'../../data/table/table.class.js';
|
|
2
2
|
/** Sync lifecycle state of one knowledge source, as last reported by the host. */
|
|
3
3
|
export type KnowledgeSourceSyncStatus='idle'|'syncing'|'paused'|'synced'|'error';
|
|
4
4
|
/** Health of the most recent indexing pass over a source's content, as last reported by the host. */
|
|
@@ -24,7 +24,11 @@ indexingHealth?:KnowledgeSourceIndexingHealth;permission?:KnowledgeSourcePermiss
|
|
|
24
24
|
lastSyncedAt?:Date|string;
|
|
25
25
|
/** Shown only while `syncStatus` is `'error'`. Caller-supplied data, not routed through
|
|
26
26
|
* `localize()`. */
|
|
27
|
-
errorMessage?:string;}
|
|
27
|
+
errorMessage?:string;}
|
|
28
|
+
/** Full-source server order for the source grid. */
|
|
29
|
+
export interface KnowledgeBaseSourceQuery{readonly sortKey:string|null;readonly sortDir:'asc'|'desc';}
|
|
30
|
+
/** Full-source counts; attention may overlap either lifecycle count. */
|
|
31
|
+
export interface KnowledgeBaseSourceSummary{readonly total:number;readonly synced:number;readonly syncing:number;readonly attention:number;}export type KnowledgeBaseSource=LyraPageSource<KnowledgeSource,KnowledgeBaseSourceQuery,KnowledgeBaseSourceSummary>;export interface LyraKnowledgeBaseEventMap{'lr-sort-request':LyraTableEventMap<KnowledgeSource>['lr-sort-request'];'lr-sort':LyraTableEventMap<KnowledgeSource>['lr-sort'];
|
|
28
32
|
/** The toolbar's "Add source" affordance was activated. No `sourceId` -- there is nothing yet to
|
|
29
33
|
* reference; the host owns the actual creation flow (naming, connector picking, ...). */
|
|
30
34
|
'lr-source-create':CustomEvent<null>;
|
|
@@ -66,6 +70,13 @@ errorMessage?:string;}export interface LyraKnowledgeBaseEventMap{
|
|
|
66
70
|
* Blank source ids and later duplicates are ignored before summary counts, rendering, or actions.
|
|
67
71
|
* The first source for an id wins.
|
|
68
72
|
*
|
|
73
|
+
* `dataSource` opts into provider-owned server pages of at most 500 rows. Source keys must
|
|
74
|
+
* equal record IDs. Each response supplies authoritative total/synced/syncing/attention counts;
|
|
75
|
+
* attention can overlap the lifecycle counts. Only the current page is retained, and the name,
|
|
76
|
+
* sync, health, and permission headers request server sorting. Undefined restores `sources`.
|
|
77
|
+
* Reassign the provider or call requestUpdate() to refresh; ordinary presentation updates do not
|
|
78
|
+
* refetch. Provider failures retain the toolbar and use the existing cancelable retry contract.
|
|
79
|
+
*
|
|
69
80
|
* A separate `error` state reports a failed source-list load without discarding the toolbar and
|
|
70
81
|
* summary context around it: while `error` is set, the nested `<lr-table>` shows its own built-in
|
|
71
82
|
* failed-load state (the same `error`-prefixed exported parts and `[part='retry-button']` as
|
|
@@ -76,7 +87,10 @@ errorMessage?:string;}export interface LyraKnowledgeBaseEventMap{
|
|
|
76
87
|
* (it intercepts the table's own `lr-retry-request`, re-proposes its own cancelable one, and only then
|
|
77
88
|
* clears `error`) so the outer property never drifts out of sync with the table's internal state.
|
|
78
89
|
*
|
|
90
|
+
* @csspart source-status - Localized provider loading or failed-summary status.
|
|
79
91
|
* @customElement lr-knowledge-base
|
|
92
|
+
* @event lr-sort-request - Source mode only: cancelable original table sort proposal.
|
|
93
|
+
* @event lr-sort - Source mode only: original accepted table sort commit.
|
|
80
94
|
* @event lr-source-create - The toolbar "Add source" affordance was activated. No detail.
|
|
81
95
|
* @event lr-source-sync - A row's "Sync now" action was activated. `detail: { sourceId }`.
|
|
82
96
|
* @event lr-source-pause - A row's "Pause sync" action was activated. `detail: { sourceId }`.
|
|
@@ -129,7 +143,16 @@ errorMessage?:string;}export interface LyraKnowledgeBaseEventMap{
|
|
|
129
143
|
* @status stable
|
|
130
144
|
* @since 4.1.0
|
|
131
145
|
*/
|
|
132
|
-
export declare class LyraKnowledgeBase extends LyraElement<LyraKnowledgeBaseEventMap>{protected static collectionSupport:import("../../../internal/lyra-element.js").LyraCollectionSupport;protected static readonly ownedCollectionProperties:readonly string[];static styles:import("lit").CSSResultGroup[];
|
|
146
|
+
export declare class LyraKnowledgeBase extends LyraElement<LyraKnowledgeBaseEventMap>{protected static collectionSupport:import("../../../internal/lyra-element.js").LyraCollectionSupport;protected static readonly ownedCollectionProperties:readonly string[];protected static readonly identityCollectionObjectProperties:readonly string[];static styles:import("lit").CSSResultGroup[];private sourceStateVersion;private _dataSource?;private sourceEpoch;private sourceVersion;private sourceSyncing;private sourceResync;private sourceLocaleUpdate;private sourceInputs?;private sourceResult?;private sourceRows;private sourceFailure;private sourceTableShown;private sourceSortKey;private sourceSortDir;private sortRequest?;private readonly sourcePages;
|
|
147
|
+
/** Immutable full-source provider; takes precedence over sources. Keys equal source IDs.
|
|
148
|
+
* Reassigning the same provider or requestUpdate() refreshes. undefined restores sources. */
|
|
149
|
+
get dataSource():KnowledgeBaseSource|undefined;set dataSource(value:KnowledgeBaseSource|undefined);
|
|
150
|
+
/** Zero-based provider page. */
|
|
151
|
+
sourcePage:number;
|
|
152
|
+
/** Provider page size, normalized to 1–500. */
|
|
153
|
+
sourcePageSize:number;
|
|
154
|
+
/** Accepted full-source total; null while pending, failed, or using sources. */
|
|
155
|
+
get sourceTotal():number|null;private get sourceMode();private sourceCurrent;requestUpdate(...args:Parameters<LyraElement['requestUpdate']>):void;attributeChangedCallback(name:string,old:string|null,value:string|null):void;connectedCallback():void;adoptedCallback():void;protected willUpdate(changed:PropertyValues):void;private clearSourceLifecycle;private syncSource;private loadSourcePage;
|
|
133
156
|
/** The sources to list, in display order. */
|
|
134
157
|
sources:readonly KnowledgeSource[];
|
|
135
158
|
/** Heading text and the nested table's accessible name. A host `aria-label` independently
|
|
@@ -151,4 +174,4 @@ error:boolean;
|
|
|
151
174
|
* own `tableLoadFailed` default. */
|
|
152
175
|
errorHeading?:string;
|
|
153
176
|
/** Failed-load supporting copy, forwarded to the nested table. */
|
|
154
|
-
errorDescription:string;private readonly slotPresence;private get hasErrorSlot();private
|
|
177
|
+
errorDescription:string;private readonly slotPresence;private get hasErrorSlot();private legacyTableRetry;private sourceRetryCommit?;private readonly sourceTableRetry;private retrySource;private sourcesCache?;private get normalizedSources();private readonly rowKey;private syncStatusLabel;private healthLabel;private permissionLabel;private sourceName;private renderNameCell;private renderSyncCell;private renderHealthCell;private renderPermissionCell;private onRowAction;private readonly openActionMenus;private closeActionMenus;private updateActionMenu;protected updated(changed:PropertyValues):void;disconnectedCallback():void;private renderActionsCell;private renderActionItems;private columnsCache?;private tableColumns;private renderSummary;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-knowledge-base':LyraKnowledgeBase;}}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{__decorate}from"tslib";import{SlotPresenceController}from"../../../internal/slot-presence-controller.js";import{collectionSupport}from"../../../internal/collection-snapshot.js";import{html,nothing,render as renderLit,svg}from"lit";import{property}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{tag}from"../../../internal/prefix.js";import{firstByRetrievalIdentity}from"../retrieval-identity.js";import{finiteCount}from"../../../internal/numbers.js";import{resolveHeadingLevel}from"../../../internal/heading-level.js";import{createRetryForwarder}from"../../../internal/retry-forwarder.js";import{getDateTimeFormat,getNumberFormat}from"../../../internal/intl-cache.js";import{playIcon,pauseIcon}from"../../../internal/icons.js";import{styles}from"./knowledge-base.styles.js";import{LYRA_DEFAULT_knowledgeBaseActionsColumn,LYRA_DEFAULT_knowledgeBaseCreateSource,LYRA_DEFAULT_knowledgeBaseDeleteAction,LYRA_DEFAULT_knowledgeBaseDocumentCount,LYRA_DEFAULT_knowledgeBaseEmptyDescription,LYRA_DEFAULT_knowledgeBaseEmptyHeading,LYRA_DEFAULT_knowledgeBaseHeading,LYRA_DEFAULT_knowledgeBaseHealthColumn,LYRA_DEFAULT_knowledgeBaseHealthDegraded,LYRA_DEFAULT_knowledgeBaseHealthFailed,LYRA_DEFAULT_knowledgeBaseHealthHealthy,LYRA_DEFAULT_knowledgeBaseHealthUnknown,LYRA_DEFAULT_knowledgeBaseNameColumn,LYRA_DEFAULT_knowledgeBaseNeedsAttention,LYRA_DEFAULT_knowledgeBaseNeverSynced,LYRA_DEFAULT_knowledgeBasePauseAction,LYRA_DEFAULT_knowledgeBasePermissionColumn,LYRA_DEFAULT_knowledgeBasePermissionEditor,LYRA_DEFAULT_knowledgeBasePermissionOwner,LYRA_DEFAULT_knowledgeBasePermissionRestricted,LYRA_DEFAULT_knowledgeBasePermissionViewer,LYRA_DEFAULT_knowledgeBaseRowActionsLabel,LYRA_DEFAULT_knowledgeBaseSyncAction,LYRA_DEFAULT_knowledgeBaseSyncColumn,LYRA_DEFAULT_knowledgeBaseSyncError,LYRA_DEFAULT_knowledgeBaseSyncIdle,LYRA_DEFAULT_knowledgeBaseSyncPaused,LYRA_DEFAULT_knowledgeBaseSyncSynced,LYRA_DEFAULT_knowledgeBaseSyncSyncing,LYRA_DEFAULT_knowledgeBaseSyncedSources,LYRA_DEFAULT_knowledgeBaseSyncingSources,LYRA_DEFAULT_knowledgeBaseTotalSources,LYRA_DEFAULT_untitledSource}from"../../../internal/default-strings/retrieval.generated.js";const SYNC_STATUS_VARIANT={idle:"neutral",syncing:"brand",paused:"warning",synced:"success",error:"danger"},HEALTH_VARIANT={healthy:"success",degraded:"warning",failed:"danger",unknown:"neutral"},PERMISSION_VARIANT={owner:"brand",editor:"neutral",viewer:"neutral",restricted:"warning"},TABLE_EXPORT_PARTS=["name-cell:name-cell","source-name:source-name","source-type:source-type","sync-cell:sync-cell","sync-badge:sync-badge","sync-timestamp:sync-timestamp","sync-error:sync-error","health-cell:health-cell","health-badge:health-badge","document-count:document-count","permission-badge:permission-badge","actions-menu:actions-menu","actions-trigger:actions-trigger","error-row:error-row","error-cell:error-cell","error:error","error-base:error-base","error-icon:error-icon","error-heading:error-heading","error-description:error-description","error-actions:error-actions","retry-button:retry-button"].join(", "),ICON_VIEW_BOX="0 0 24 24",ICON_STROKE_WIDTH="1.75";function trashIcon(){return svg`
|
|
1
|
+
import{__decorate}from"tslib";import{SourcePageController}from"../../../internal/source-page-controller.js";import{getOwnDataDescriptor,MISSING_OWN_DATA_DESCRIPTOR,UNSAFE_OWN_DATA_DESCRIPTOR}from"../../../internal/data-descriptors.js";import{SlotPresenceController}from"../../../internal/slot-presence-controller.js";import{collectionSupport}from"../../../internal/collection-snapshot.js";import{html,nothing,render as renderLit,svg}from"lit";import{property,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{tag}from"../../../internal/prefix.js";import{firstByRetrievalIdentity}from"../retrieval-identity.js";import{finiteCount,finiteInteger}from"../../../internal/numbers.js";import{resolveHeadingLevel}from"../../../internal/heading-level.js";import{createRetryForwarder}from"../../../internal/retry-forwarder.js";import{getDateTimeFormat,getNumberFormat}from"../../../internal/intl-cache.js";import{playIcon,pauseIcon}from"../../../internal/icons.js";import{styles}from"./knowledge-base.styles.js";import{LYRA_DEFAULT_knowledgeBaseActionsColumn,LYRA_DEFAULT_knowledgeBaseCreateSource,LYRA_DEFAULT_knowledgeBaseDeleteAction,LYRA_DEFAULT_knowledgeBaseDocumentCount,LYRA_DEFAULT_knowledgeBaseEmptyDescription,LYRA_DEFAULT_knowledgeBaseEmptyHeading,LYRA_DEFAULT_knowledgeBaseHeading,LYRA_DEFAULT_knowledgeBaseHealthColumn,LYRA_DEFAULT_knowledgeBaseHealthDegraded,LYRA_DEFAULT_knowledgeBaseHealthFailed,LYRA_DEFAULT_knowledgeBaseHealthHealthy,LYRA_DEFAULT_knowledgeBaseHealthUnknown,LYRA_DEFAULT_knowledgeBaseNameColumn,LYRA_DEFAULT_knowledgeBaseNeedsAttention,LYRA_DEFAULT_knowledgeBaseNeverSynced,LYRA_DEFAULT_knowledgeBasePauseAction,LYRA_DEFAULT_knowledgeBasePermissionColumn,LYRA_DEFAULT_knowledgeBasePermissionEditor,LYRA_DEFAULT_knowledgeBasePermissionOwner,LYRA_DEFAULT_knowledgeBasePermissionRestricted,LYRA_DEFAULT_knowledgeBasePermissionViewer,LYRA_DEFAULT_knowledgeBaseRowActionsLabel,LYRA_DEFAULT_knowledgeBaseSyncAction,LYRA_DEFAULT_knowledgeBaseSyncColumn,LYRA_DEFAULT_knowledgeBaseSyncError,LYRA_DEFAULT_knowledgeBaseSyncIdle,LYRA_DEFAULT_knowledgeBaseSyncPaused,LYRA_DEFAULT_knowledgeBaseSyncSynced,LYRA_DEFAULT_knowledgeBaseSyncSyncing,LYRA_DEFAULT_knowledgeBaseSyncedSources,LYRA_DEFAULT_knowledgeBaseSyncingSources,LYRA_DEFAULT_knowledgeBaseTotalSources,LYRA_DEFAULT_untitledSource}from"../../../internal/default-strings/retrieval.generated.js";import{LYRA_DEFAULT_loading,LYRA_DEFAULT_tableLoadFailed}from"../../../internal/default-strings/shared.generated.js";function sourceField(value,key,current,required=!1){if(!current())throw new Error("Source record revoked");if(!value||typeof value!="object")throw new TypeError("Invalid source value");const descriptor=getOwnDataDescriptor(value,key);if(!current())throw new Error("Source record revoked");if(descriptor===UNSAFE_OWN_DATA_DESCRIPTOR||required&&descriptor===MISSING_OWN_DATA_DESCRIPTOR)throw new TypeError("Invalid source field");return descriptor===MISSING_OWN_DATA_DESCRIPTOR?void 0:descriptor.value}function sourceCount(value){if(typeof value!="number"||!Number.isSafeInteger(value)||value<0)throw new TypeError("Invalid source count");return value}function projectKnowledgeSource(record,current){const read=(key,required=!1)=>sourceField(record.value,key,current,required),id=read("id",!0),name=read("name",!0),type=read("type"),syncStatus=read("syncStatus",!0),indexingHealth=read("indexingHealth"),permission=read("permission"),documentCount=read("documentCount"),timestamp=read("lastSyncedAt"),errorMessage=read("errorMessage");let units=0;for(const value of[id,name,type,syncStatus,indexingHealth,permission,errorMessage,typeof timestamp=="string"?timestamp:void 0]){if(value!==void 0&&typeof value!="string")throw new TypeError("Invalid source text");units+=typeof value=="string"?value.length:0}if(typeof id!="string"||!id.trim()||id!==record.key||typeof name!="string"||units>65536)throw new TypeError("Invalid source record");if(!["idle","syncing","paused","synced","error"].includes(syncStatus))throw new TypeError("Invalid source status");if(indexingHealth!==void 0&&!["healthy","degraded","failed","unknown"].includes(indexingHealth))throw new TypeError("Invalid source health");if(permission!==void 0&&!["owner","editor","viewer","restricted"].includes(permission))throw new TypeError("Invalid source permission");documentCount!==void 0&&sourceCount(documentCount);let lastSyncedAt;if(typeof timestamp=="string"||timestamp===void 0)lastSyncedAt=timestamp;else{const time=Date.prototype.getTime.call(timestamp);if(!Number.isFinite(time))throw new TypeError("Invalid source timestamp");lastSyncedAt=new Date(time)}if(!current())throw new Error("Source record revoked");return Object.freeze({id,name,type,syncStatus,indexingHealth,permission,documentCount,lastSyncedAt,errorMessage})}function projectKnowledgeSummary(value,current){const read=key=>sourceCount(sourceField(value,key,current,!0));return Object.freeze({total:read("total"),synced:read("synced"),syncing:read("syncing"),attention:read("attention")})}const SYNC_STATUS_VARIANT={idle:"neutral",syncing:"brand",paused:"warning",synced:"success",error:"danger"},HEALTH_VARIANT={healthy:"success",degraded:"warning",failed:"danger",unknown:"neutral"},PERMISSION_VARIANT={owner:"brand",editor:"neutral",viewer:"neutral",restricted:"warning"},TABLE_EXPORT_PARTS=["name-cell:name-cell","source-name:source-name","source-type:source-type","sync-cell:sync-cell","sync-badge:sync-badge","sync-timestamp:sync-timestamp","sync-error:sync-error","health-cell:health-cell","health-badge:health-badge","document-count:document-count","permission-badge:permission-badge","actions-menu:actions-menu","actions-trigger:actions-trigger","error-row:error-row","error-cell:error-cell","error:error","error-base:error-base","error-icon:error-icon","error-heading:error-heading","error-description:error-description","error-actions:error-actions","retry-button:retry-button"].join(", "),ICON_VIEW_BOX="0 0 24 24",ICON_STROKE_WIDTH="1.75";function trashIcon(){return svg`
|
|
2
2
|
<svg width="1em" height="1em" viewBox=${ICON_VIEW_BOX} fill="none" stroke="currentColor" stroke-width=${ICON_STROKE_WIDTH} stroke-linecap="round" stroke-linejoin="round" aria-hidden="true" focusable="false">
|
|
3
3
|
<path d="M4 7h16"></path>
|
|
4
4
|
<path d="M10 11v6"></path>
|
|
@@ -12,7 +12,7 @@ import{__decorate}from"tslib";import{SlotPresenceController}from"../../../intern
|
|
|
12
12
|
<circle cx="12" cy="12" r="1.75"></circle>
|
|
13
13
|
<circle cx="12" cy="19" r="1.75"></circle>
|
|
14
14
|
</svg>
|
|
15
|
-
`}function normalizeTimestamp(value){if(value===void 0)return;const date=value instanceof Date?value:new Date(value);return Number.isNaN(date.getTime())?void 0:date}class LyraKnowledgeBase extends LyraElement{constructor(){super(...arguments),this.sources=[],this.headingLevel="3",this.withoutSummary=!1,this.withoutCreate=!1,this.error=!1,this.errorDescription="",this.slotPresence=new SlotPresenceController(this,{observeLightDom:!0}),this.onTableRetry=createRetryForwarder(init=>this.emit("lr-retry-request",null,init),()=>{this.error=!1}),this.rowKey=row=>row.id,this.openActionMenus=new Map}static{this.defaultStrings={...super.defaultStrings,knowledgeBaseActionsColumn:LYRA_DEFAULT_knowledgeBaseActionsColumn,knowledgeBaseCreateSource:LYRA_DEFAULT_knowledgeBaseCreateSource,knowledgeBaseDeleteAction:LYRA_DEFAULT_knowledgeBaseDeleteAction,knowledgeBaseDocumentCount:LYRA_DEFAULT_knowledgeBaseDocumentCount,knowledgeBaseEmptyDescription:LYRA_DEFAULT_knowledgeBaseEmptyDescription,knowledgeBaseEmptyHeading:LYRA_DEFAULT_knowledgeBaseEmptyHeading,knowledgeBaseHeading:LYRA_DEFAULT_knowledgeBaseHeading,knowledgeBaseHealthColumn:LYRA_DEFAULT_knowledgeBaseHealthColumn,knowledgeBaseHealthDegraded:LYRA_DEFAULT_knowledgeBaseHealthDegraded,knowledgeBaseHealthFailed:LYRA_DEFAULT_knowledgeBaseHealthFailed,knowledgeBaseHealthHealthy:LYRA_DEFAULT_knowledgeBaseHealthHealthy,knowledgeBaseHealthUnknown:LYRA_DEFAULT_knowledgeBaseHealthUnknown,knowledgeBaseNameColumn:LYRA_DEFAULT_knowledgeBaseNameColumn,knowledgeBaseNeedsAttention:LYRA_DEFAULT_knowledgeBaseNeedsAttention,knowledgeBaseNeverSynced:LYRA_DEFAULT_knowledgeBaseNeverSynced,knowledgeBasePauseAction:LYRA_DEFAULT_knowledgeBasePauseAction,knowledgeBasePermissionColumn:LYRA_DEFAULT_knowledgeBasePermissionColumn,knowledgeBasePermissionEditor:LYRA_DEFAULT_knowledgeBasePermissionEditor,knowledgeBasePermissionOwner:LYRA_DEFAULT_knowledgeBasePermissionOwner,knowledgeBasePermissionRestricted:LYRA_DEFAULT_knowledgeBasePermissionRestricted,knowledgeBasePermissionViewer:LYRA_DEFAULT_knowledgeBasePermissionViewer,knowledgeBaseRowActionsLabel:LYRA_DEFAULT_knowledgeBaseRowActionsLabel,knowledgeBaseSyncAction:LYRA_DEFAULT_knowledgeBaseSyncAction,knowledgeBaseSyncColumn:LYRA_DEFAULT_knowledgeBaseSyncColumn,knowledgeBaseSyncError:LYRA_DEFAULT_knowledgeBaseSyncError,knowledgeBaseSyncIdle:LYRA_DEFAULT_knowledgeBaseSyncIdle,knowledgeBaseSyncPaused:LYRA_DEFAULT_knowledgeBaseSyncPaused,knowledgeBaseSyncSynced:LYRA_DEFAULT_knowledgeBaseSyncSynced,knowledgeBaseSyncSyncing:LYRA_DEFAULT_knowledgeBaseSyncSyncing,knowledgeBaseSyncedSources:LYRA_DEFAULT_knowledgeBaseSyncedSources,knowledgeBaseSyncingSources:LYRA_DEFAULT_knowledgeBaseSyncingSources,knowledgeBaseTotalSources:LYRA_DEFAULT_knowledgeBaseTotalSources,untitledSource:LYRA_DEFAULT_untitledSource}}static{this.collectionSupport=collectionSupport}static{this.ownedCollectionProperties=Object.freeze(["sources"])}static{this.styles=[LyraElement.styles,styles]}get hasErrorSlot(){return this.slotPresence.has("error")}get normalizedSources(){return this.sourcesCache?.source!==this.sources&&(this.sourcesCache={source:this.sources,value:firstByRetrievalIdentity(Array.isArray(this.sources)?this.sources:[],source=>source.id)}),this.sourcesCache.value}syncStatusLabel(status){switch(status){case"idle":return this.localize("knowledgeBaseSyncIdle");case"syncing":return this.localize("knowledgeBaseSyncSyncing");case"paused":return this.localize("knowledgeBaseSyncPaused");case"synced":return this.localize("knowledgeBaseSyncSynced");case"error":return this.localize("knowledgeBaseSyncError");default:return this.localize("knowledgeBaseHealthUnknown")}}healthLabel(health){switch(health){case"healthy":return this.localize("knowledgeBaseHealthHealthy");case"degraded":return this.localize("knowledgeBaseHealthDegraded");case"failed":return this.localize("knowledgeBaseHealthFailed");default:return this.localize("knowledgeBaseHealthUnknown")}}permissionLabel(permission){switch(permission){case"owner":return this.localize("knowledgeBasePermissionOwner");case"editor":return this.localize("knowledgeBasePermissionEditor");case"viewer":return this.localize("knowledgeBasePermissionViewer");case"restricted":return this.localize("knowledgeBasePermissionRestricted");default:return this.localize("knowledgeBaseHealthUnknown")}}sourceName(source){return typeof source.name=="string"&&source.name.trim()!==""?source.name:this.localize("untitledSource")}renderNameCell(source){const name=this.sourceName(source);return html`
|
|
15
|
+
`}function normalizeTimestamp(value){if(value===void 0)return;const date=value instanceof Date?value:new Date(value);return Number.isNaN(date.getTime())?void 0:date}class LyraKnowledgeBase extends LyraElement{constructor(){super(...arguments),this.sourceStateVersion=0,this.sourceEpoch=0,this.sourceVersion=0,this.sourceSyncing=!1,this.sourceResync=!1,this.sourceLocaleUpdate=!1,this.sourceRows=[],this.sourceTableShown=!1,this.sourceSortKey=null,this.sourceSortDir="asc",this.sourcePages=new SourcePageController(this,{normalizeRecord:(record,isCurrent)=>{const current=this.sourceCurrent();return Object.freeze({...record,value:projectKnowledgeSource(record,()=>isCurrent()&¤t())})},normalizeSummary:value=>projectKnowledgeSummary(value,this.sourceCurrent()),validateMetadata:result=>{const summary=result.summary;if(summary.total!==result.total||summary.synced>summary.total||summary.syncing>summary.total||summary.attention>summary.total||summary.synced+summary.syncing>summary.total)throw new TypeError("Invalid source summary");const rows=result.rows.map(record=>record.value);if(rows.filter(row=>row.syncStatus==="synced").length>summary.synced||rows.filter(row=>row.syncStatus==="syncing").length>summary.syncing||rows.filter(row=>row.syncStatus==="error"||row.indexingHealth==="failed"||row.indexingHealth==="degraded").length>summary.attention)throw new TypeError("Inconsistent source summary")},onChange:()=>{this.sourceStateVersion++}}),this.sourcePage=0,this.sourcePageSize=100,this.sources=[],this.headingLevel="3",this.withoutSummary=!1,this.withoutCreate=!1,this.error=!1,this.errorDescription="",this.slotPresence=new SlotPresenceController(this,{observeLightDom:!0}),this.legacyTableRetry=createRetryForwarder(init=>this.emit("lr-retry-request",null,init),()=>{this.error=!1}),this.sourceTableRetry=createRetryForwarder(init=>this.emit("lr-retry-request",null,init),()=>this.sourceRetryCommit?.()),this.rowKey=row=>row.id,this.openActionMenus=new Map}static{this.defaultStrings={...super.defaultStrings,knowledgeBaseActionsColumn:LYRA_DEFAULT_knowledgeBaseActionsColumn,knowledgeBaseCreateSource:LYRA_DEFAULT_knowledgeBaseCreateSource,knowledgeBaseDeleteAction:LYRA_DEFAULT_knowledgeBaseDeleteAction,knowledgeBaseDocumentCount:LYRA_DEFAULT_knowledgeBaseDocumentCount,knowledgeBaseEmptyDescription:LYRA_DEFAULT_knowledgeBaseEmptyDescription,knowledgeBaseEmptyHeading:LYRA_DEFAULT_knowledgeBaseEmptyHeading,knowledgeBaseHeading:LYRA_DEFAULT_knowledgeBaseHeading,knowledgeBaseHealthColumn:LYRA_DEFAULT_knowledgeBaseHealthColumn,knowledgeBaseHealthDegraded:LYRA_DEFAULT_knowledgeBaseHealthDegraded,knowledgeBaseHealthFailed:LYRA_DEFAULT_knowledgeBaseHealthFailed,knowledgeBaseHealthHealthy:LYRA_DEFAULT_knowledgeBaseHealthHealthy,knowledgeBaseHealthUnknown:LYRA_DEFAULT_knowledgeBaseHealthUnknown,knowledgeBaseNameColumn:LYRA_DEFAULT_knowledgeBaseNameColumn,knowledgeBaseNeedsAttention:LYRA_DEFAULT_knowledgeBaseNeedsAttention,knowledgeBaseNeverSynced:LYRA_DEFAULT_knowledgeBaseNeverSynced,knowledgeBasePauseAction:LYRA_DEFAULT_knowledgeBasePauseAction,knowledgeBasePermissionColumn:LYRA_DEFAULT_knowledgeBasePermissionColumn,knowledgeBasePermissionEditor:LYRA_DEFAULT_knowledgeBasePermissionEditor,knowledgeBasePermissionOwner:LYRA_DEFAULT_knowledgeBasePermissionOwner,knowledgeBasePermissionRestricted:LYRA_DEFAULT_knowledgeBasePermissionRestricted,knowledgeBasePermissionViewer:LYRA_DEFAULT_knowledgeBasePermissionViewer,knowledgeBaseRowActionsLabel:LYRA_DEFAULT_knowledgeBaseRowActionsLabel,knowledgeBaseSyncAction:LYRA_DEFAULT_knowledgeBaseSyncAction,knowledgeBaseSyncColumn:LYRA_DEFAULT_knowledgeBaseSyncColumn,knowledgeBaseSyncError:LYRA_DEFAULT_knowledgeBaseSyncError,knowledgeBaseSyncIdle:LYRA_DEFAULT_knowledgeBaseSyncIdle,knowledgeBaseSyncPaused:LYRA_DEFAULT_knowledgeBaseSyncPaused,knowledgeBaseSyncSynced:LYRA_DEFAULT_knowledgeBaseSyncSynced,knowledgeBaseSyncSyncing:LYRA_DEFAULT_knowledgeBaseSyncSyncing,knowledgeBaseSyncedSources:LYRA_DEFAULT_knowledgeBaseSyncedSources,knowledgeBaseSyncingSources:LYRA_DEFAULT_knowledgeBaseSyncingSources,knowledgeBaseTotalSources:LYRA_DEFAULT_knowledgeBaseTotalSources,loading:LYRA_DEFAULT_loading,tableLoadFailed:LYRA_DEFAULT_tableLoadFailed,untitledSource:LYRA_DEFAULT_untitledSource}}static{this.collectionSupport=collectionSupport}static{this.ownedCollectionProperties=Object.freeze(["sources"])}static{this.identityCollectionObjectProperties=Object.freeze(["dataSource"])}static{this.styles=[LyraElement.styles,styles]}get dataSource(){return this._dataSource}set dataSource(value){const old=this._dataSource;this._dataSource=value,this.sourceEpoch=(this.sourceEpoch??0)+1,this.requestUpdate("dataSource",old)}get sourceTotal(){return this.sourceMode?this.sourceResult?.total??null:null}get sourceMode(){return this.dataSource!==void 0}sourceCurrent(){const version=this.sourceVersion,epoch=this.sourceEpoch,source=this.dataSource,owner=this.ownerDocument;return()=>this.isConnected&&this.ownerDocument===owner&&this.sourceVersion===version&&this.sourceEpoch===epoch&&this.dataSource===source}requestUpdate(...args){if(this.sourceLocaleUpdate){super.requestUpdate(...args),this.syncSource();return}args[0]===void 0&&(!this.sourceInputs||this.effectiveLocale===this.sourceInputs[3])&&(this.sourceEpoch=(this.sourceEpoch??0)+1),(args[0]===void 0||["dataSource","sourcePage","sourcePageSize"].includes(String(args[0])))&&this.syncSource(),super.requestUpdate(...args)}attributeChangedCallback(name,old,value){const previous=this.sourceLocaleUpdate;(name==="lang"||name==="locale")&&(this.sourceLocaleUpdate=!0);try{super.attributeChangedCallback(name,old,value)}finally{this.sourceLocaleUpdate=previous}}connectedCallback(){super.connectedCallback(),this.syncSource()}adoptedCallback(){this.clearSourceLifecycle(),this.sourcePages.adopted(),super.adoptedCallback(),this.syncSource()}willUpdate(changed){super.willUpdate(changed),this.syncSource()}clearSourceLifecycle(){this.sourceEpoch++,this.sourceVersion++,this.sourceInputs=void 0,this.sourceRows=[],this.sourceResult=void 0,this.sourceFailure=void 0,this.sourceTableShown=!1,this.closeActionMenus(),this.sourcePages.bind(void 0)}syncSource(){if(!this.sourcePages||!this.isConnected)return;if(this.sourceSyncing){this.sourceResync=!0;return}this.sourceSyncing=!0;const source=this.dataSource,epoch=this.sourceEpoch,owner=this.ownerDocument,current=()=>this.isConnected&&this.ownerDocument===owner&&this.dataSource===source&&this.sourceEpoch===epoch;try{if(source===void 0){(this.sourceInputs||this.sourceFailure)&&this.clearSourceLifecycle();return}const revision=source.revision;if(!current())return;const locale=this.effectiveLocale,size=finiteInteger(this.sourcePageSize,100,1,500);let page=finiteInteger(this.sourcePage,0,0,Math.floor(Number.MAX_SAFE_INTEGER/size));this.sourceInputs&&(size!==this.sourceInputs[6]||this.sourceSortKey!==this.sourceInputs[4]||this.sourceSortDir!==this.sourceInputs[5])&&(page=0);const inputs=[source,revision,epoch,locale,this.sourceSortKey,this.sourceSortDir,size,page];if(this.sourceInputs&&inputs.every((value,index)=>value===this.sourceInputs[index]))return;const version=++this.sourceVersion;if(this.sourceInputs=inputs,this.sourceRows=[],this.sourceResult=void 0,this.sourceFailure=void 0,this.closeActionMenus(),this.sourcePage=page,this.sourcePages.bind({source,revision,epoch,locale}),!current()||this.sourceVersion!==version)return;this.loadSourcePage(version,Object.freeze({sortKey:this.sourceSortKey,sortDir:this.sourceSortDir}),page,size)}catch(error){current()&&(this.sourceVersion++,this.sourceRows=[],this.sourceResult=void 0,this.sourceFailure=error,this.closeActionMenus(),this.sourcePages.bind(void 0))}finally{this.sourceSyncing=!1,this.sourceResync&&(this.sourceResync=!1,this.syncSource())}}async loadSourcePage(version,query,page,size){const owner=this.ownerDocument,accepted=await this.sourcePages.request(query,page,size);!this.isConnected||this.ownerDocument!==owner||this.sourceVersion!==version||!this.sourceMode||(accepted&&(this.sourceResult=this.sourcePages.state.result,this.sourceRows=this.sourceResult.rows.map(record=>record.value),this.sourceInputs&&(this.sourceInputs=[...this.sourceInputs.slice(0,-1),this.sourcePages.state.page]),this.sourcePage=this.sourcePages.state.page),this.sourceStateVersion++)}get hasErrorSlot(){return this.slotPresence.has("error")}retrySource(event,current,failed){if(!current()){event.stopPropagation(),event.preventDefault();return}const nested=this.sourceRetryCommit!==void 0;nested||(this.sourceRetryCommit=()=>{!current()||!this.sourceMode||(this.error=!1,failed&¤t()&&this.requestUpdate())});try{this.sourceTableRetry(event)}finally{nested||(this.sourceRetryCommit=void 0)}}get normalizedSources(){return this.sourcesCache?.source!==this.sources&&(this.sourcesCache={source:this.sources,value:firstByRetrievalIdentity(Array.isArray(this.sources)?this.sources:[],source=>source.id)}),this.sourcesCache.value}syncStatusLabel(status){switch(status){case"idle":return this.localize("knowledgeBaseSyncIdle");case"syncing":return this.localize("knowledgeBaseSyncSyncing");case"paused":return this.localize("knowledgeBaseSyncPaused");case"synced":return this.localize("knowledgeBaseSyncSynced");case"error":return this.localize("knowledgeBaseSyncError");default:return this.localize("knowledgeBaseHealthUnknown")}}healthLabel(health){switch(health){case"healthy":return this.localize("knowledgeBaseHealthHealthy");case"degraded":return this.localize("knowledgeBaseHealthDegraded");case"failed":return this.localize("knowledgeBaseHealthFailed");default:return this.localize("knowledgeBaseHealthUnknown")}}permissionLabel(permission){switch(permission){case"owner":return this.localize("knowledgeBasePermissionOwner");case"editor":return this.localize("knowledgeBasePermissionEditor");case"viewer":return this.localize("knowledgeBasePermissionViewer");case"restricted":return this.localize("knowledgeBasePermissionRestricted");default:return this.localize("knowledgeBaseHealthUnknown")}}sourceName(source){return typeof source.name=="string"&&source.name.trim()!==""?source.name:this.localize("untitledSource")}renderNameCell(source){const name=this.sourceName(source);return html`
|
|
16
16
|
<div part="name-cell">
|
|
17
17
|
<span part="source-name">${name}</span>
|
|
18
18
|
${source.type?html`<span part="source-type">${source.type}</span>`:nothing}
|
|
@@ -42,10 +42,10 @@ import{__decorate}from"tslib";import{SlotPresenceController}from"../../../intern
|
|
|
42
42
|
part="permission-badge"
|
|
43
43
|
variant=${PERMISSION_VARIANT[source.permission]??"neutral"}
|
|
44
44
|
>${this.permissionLabel(source.permission)}</lr-badge
|
|
45
|
-
>`:html``}onRowAction(source,action){action==="sync"?this.emit("lr-source-sync",{sourceId:source.id}):action==="pause"?this.emit("lr-source-pause",{sourceId:source.id}):action==="delete"&&this.emit("lr-source-delete",{sourceId:source.id})}updateActionMenu(dropdown,sourceId){const menu=dropdown.querySelector(tag("menu")),source=this.normalizedSources.find(row=>row.id===sourceId);if(!menu||!source)return;menu.label=this.localize("knowledgeBaseRowActionsLabel",void 0,{name:this.sourceName(source)});const canPause=source.syncStatus==="syncing",canSync=SYNC_STATUS_VARIANT[source.syncStatus]!==void 0&&!canPause;renderLit(this.renderActionItems(canSync,canPause),menu)}updated(changed){super.updated(changed);for(const[dropdown,
|
|
45
|
+
>`:html``}onRowAction(source,action){action==="sync"?this.emit("lr-source-sync",{sourceId:source.id}):action==="pause"?this.emit("lr-source-pause",{sourceId:source.id}):action==="delete"&&this.emit("lr-source-delete",{sourceId:source.id})}closeActionMenus(){for(const dropdown of this.openActionMenus.keys()){dropdown.open=!1;const menu=dropdown.querySelector(tag("menu"));menu&&renderLit(nothing,menu)}this.openActionMenus.clear()}updateActionMenu(dropdown,sourceId){const menu=dropdown.querySelector(tag("menu")),admitted=this.openActionMenus.get(dropdown),source=this.sourceMode?admitted?.current()?admitted.source:void 0:this.normalizedSources.find(row=>row.id===sourceId);if(!menu||!source)return;menu.label=this.localize("knowledgeBaseRowActionsLabel",void 0,{name:this.sourceName(source)});const canPause=source.syncStatus==="syncing",canSync=SYNC_STATUS_VARIANT[source.syncStatus]!==void 0&&!canPause;renderLit(this.renderActionItems(canSync,canPause),menu)}updated(changed){super.updated(changed);for(const[dropdown,admission]of this.openActionMenus){if(!dropdown.isConnected||!dropdown.open){this.openActionMenus.delete(dropdown);continue}this.updateActionMenu(dropdown,admission.source.id)}}disconnectedCallback(){this.clearSourceLifecycle(),super.disconnectedCallback()}renderActionsCell(source){const sourceMode=this.sourceMode,authority=this.sourceCurrent(),current=()=>sourceMode?authority()&&this.sourceMode&&this.sourceRows.includes(source):!this.sourceMode,label=this.localize("knowledgeBaseRowActionsLabel",void 0,{name:this.sourceName(source)});return html`
|
|
46
46
|
<lr-dropdown without-arrow part="actions-menu" placement="bottom-end"
|
|
47
|
-
@lr-show=${event=>{const dropdown=event.currentTarget;if(event.target!==dropdown)return;const menu=dropdown.querySelector(tag("menu"));menu&&(this.openActionMenus.set(dropdown,source
|
|
48
|
-
@lr-after-hide=${event=>{const dropdown=event.currentTarget;if(event.target!==dropdown)return;const menu=dropdown.querySelector(tag("menu"));!dropdown.open&&menu&&(this.openActionMenus.delete(dropdown),renderLit(nothing,menu))}}>
|
|
47
|
+
@lr-show=${event=>{const dropdown=event.currentTarget;if(event.target!==dropdown||!current())return;const menu=dropdown.querySelector(tag("menu"));menu&&(this.openActionMenus.set(dropdown,{source,current}),this.updateActionMenu(dropdown,source.id),queueMicrotask(()=>{current()&&!dropdown.open&&(this.openActionMenus.delete(dropdown),renderLit(nothing,menu))}))}}
|
|
48
|
+
@lr-after-hide=${event=>{const dropdown=event.currentTarget;if(event.target!==dropdown||!current())return;const menu=dropdown.querySelector(tag("menu"));!dropdown.open&&menu&&(this.openActionMenus.delete(dropdown),renderLit(nothing,menu))}}>
|
|
49
49
|
<button
|
|
50
50
|
slot="trigger"
|
|
51
51
|
type="button"
|
|
@@ -56,7 +56,7 @@ import{__decorate}from"tslib";import{SlotPresenceController}from"../../../intern
|
|
|
56
56
|
</button>
|
|
57
57
|
<lr-menu
|
|
58
58
|
label=${label}
|
|
59
|
-
@lr-select=${e=>{e.stopPropagation()
|
|
59
|
+
@lr-select=${e=>{if(e.stopPropagation(),!current())return;const action=e.detail.item.value;!current()||sourceMode&&(action==="sync"&&source.syncStatus==="syncing"||action==="pause"&&source.syncStatus!=="syncing")||this.onRowAction(source,action)}}
|
|
60
60
|
></lr-menu>
|
|
61
61
|
</lr-dropdown>
|
|
62
62
|
`}renderActionItems(canSync,canPause){return html`
|
|
@@ -72,7 +72,7 @@ import{__decorate}from"tslib";import{SlotPresenceController}from"../../../intern
|
|
|
72
72
|
<span slot="icon">${trashIcon()}</span>
|
|
73
73
|
${this.localize("knowledgeBaseDeleteAction")}
|
|
74
74
|
</lr-menu-item>
|
|
75
|
-
`}tableColumns(){const{effectiveLocale:locale,strings}=this,cached=this.columnsCache;if(cached?.locale===locale&&cached.strings===strings)return cached.value;const value=[{key:"name",label:this.localize("knowledgeBaseNameColumn"),cell:row=>this.renderNameCell(row)},{key:"sync",label:this.localize("knowledgeBaseSyncColumn"),cell:row=>this.renderSyncCell(row)},{key:"health",label:this.localize("knowledgeBaseHealthColumn"),cell:row=>this.renderHealthCell(row)},{key:"permission",label:this.localize("knowledgeBasePermissionColumn"),cell:row=>this.renderPermissionCell(row)},{key:"actions",label:this.localize("knowledgeBaseActionsColumn"),align:"end",cell:row=>this.renderActionsCell(row)}];return this.columnsCache={locale,strings,value},value}renderSummary(sources){const total=sources.length,synced=sources.filter(s=>s.syncStatus==="synced").length,syncing=sources.filter(s=>s.syncStatus==="syncing").length,attention=sources.filter(s=>s.syncStatus==="error"||s.indexingHealth==="failed"||s.indexingHealth==="degraded").length,numberFormat=getNumberFormat(this.effectiveLocale);return html`
|
|
75
|
+
`}tableColumns(){const{effectiveLocale:locale,strings}=this,cached=this.columnsCache;if(cached?.locale===locale&&cached.strings===strings&&cached.source===this.sourceMode)return cached.value;const value=[{key:"name",sortable:this.sourceMode,label:this.localize("knowledgeBaseNameColumn"),cell:row=>this.renderNameCell(row)},{key:"sync",sortable:this.sourceMode,label:this.localize("knowledgeBaseSyncColumn"),cell:row=>this.renderSyncCell(row)},{key:"health",sortable:this.sourceMode,label:this.localize("knowledgeBaseHealthColumn"),cell:row=>this.renderHealthCell(row)},{key:"permission",sortable:this.sourceMode,label:this.localize("knowledgeBasePermissionColumn"),cell:row=>this.renderPermissionCell(row)},{key:"actions",label:this.localize("knowledgeBaseActionsColumn"),align:"end",cell:row=>this.renderActionsCell(row)}];return this.columnsCache={locale,strings,source:this.sourceMode,value},value}renderSummary(sources){const summary=this.sourceMode?this.sourceResult?.summary:void 0,total=summary?.total??sources.length,synced=summary?.synced??sources.filter(s=>s.syncStatus==="synced").length,syncing=summary?.syncing??sources.filter(s=>s.syncStatus==="syncing").length,attention=summary?.attention??sources.filter(s=>s.syncStatus==="error"||s.indexingHealth==="failed"||s.indexingHealth==="degraded").length,numberFormat=getNumberFormat(this.effectiveLocale);return html`
|
|
76
76
|
<div part="summary">
|
|
77
77
|
<lr-stat
|
|
78
78
|
part="summary-stat"
|
|
@@ -96,7 +96,7 @@ import{__decorate}from"tslib";import{SlotPresenceController}from"../../../intern
|
|
|
96
96
|
value=${numberFormat.format(attention)}
|
|
97
97
|
></lr-stat>
|
|
98
98
|
</div>
|
|
99
|
-
`}render(){const sources=this.normalizedSources,heading=this.label==null?this.localize("knowledgeBaseHeading"):this.label,tableLabel=heading.trim()===""?this.localize("knowledgeBaseHeading"):heading,level=resolveHeadingLevel(this.headingLevel);return html`
|
|
99
|
+
`}render(){const source=this.sourceMode,sources=source?this.sourceRows:this.normalizedSources,current=this.sourceCurrent(),version=this.sourceVersion,state2=this.sourcePages.state,failed=source&&!!(state2.error||this.sourceFailure);source&&!state2.pending&&(this.sourceResult||failed)&&(this.sourceTableShown=!0);const columns=this.tableColumns(),heading=this.label==null?this.localize("knowledgeBaseHeading"):this.label,tableLabel=heading.trim()===""?this.localize("knowledgeBaseHeading"):heading,level=resolveHeadingLevel(this.headingLevel);return html`
|
|
100
100
|
<div part="base">
|
|
101
101
|
<div part="toolbar">
|
|
102
102
|
<div part="heading" role=${level?"heading":nothing} aria-level=${level??nothing}>${heading}</div>
|
|
@@ -109,22 +109,37 @@ import{__decorate}from"tslib";import{SlotPresenceController}from"../../../intern
|
|
|
109
109
|
${this.localize("knowledgeBaseCreateSource")}
|
|
110
110
|
</lr-button>`}
|
|
111
111
|
</div>
|
|
112
|
-
${
|
|
112
|
+
${source&&!this.sourceResult?html`<p part="source-status">${this.localize(failed?"tableLoadFailed":"loading")}</p>`:!this.withoutSummary&&sources.length>0?this.renderSummary(sources):nothing}
|
|
113
|
+
${source&&!this.sourceTableShown&&!this.error?nothing:html`
|
|
113
114
|
<lr-table
|
|
114
115
|
part="table"
|
|
115
116
|
exportparts=${TABLE_EXPORT_PARTS}
|
|
116
|
-
.columns=${
|
|
117
|
+
.columns=${columns}
|
|
118
|
+
.strings=${this.strings}
|
|
119
|
+
.paginationMode=${source?"server":"client"}
|
|
120
|
+
.sortMode=${source?"server":"client"}
|
|
121
|
+
.page=${source?finiteInteger(this.sourcePage,0,0,Number.MAX_SAFE_INTEGER-1)+1:1}
|
|
122
|
+
.pageSize=${source?finiteInteger(this.sourcePageSize,100,1,500):100}
|
|
123
|
+
.sortKey=${source?this.sourceSortKey??"":""}
|
|
124
|
+
.sortDir=${source?this.sourceSortDir:"asc"}
|
|
125
|
+
.totalItems=${source?this.sourceTotal??0:0}
|
|
126
|
+
.unknownTotal=${source&&this.sourceTotal===null}
|
|
127
|
+
.hasNext=${!1}
|
|
128
|
+
.loading=${source&&state2.pending&&!this.error}
|
|
129
|
+
@lr-page-change=${event=>{source&&(event.stopPropagation(),current()&&(this.sourcePage=event.detail.page-1))}}
|
|
130
|
+
@lr-sort-request=${event=>{if(source){if(!current()){event.preventDefault(),event.stopPropagation();return}this.sortRequest={target:event.currentTarget,version,columns,key:event.detail.sortKey,dir:event.detail.sortDir}}}}
|
|
131
|
+
@lr-sort=${event=>{if(!source)return;const request=this.sortRequest;if(this.sortRequest=void 0,!current()||!request||request.target!==event.currentTarget||request.version!==version||request.columns!==this.tableColumns()||request.key!==event.detail.sortKey||request.dir!==event.detail.sortDir){event.stopPropagation();return}this.sourceSortKey=event.detail.sortKey,this.sourceSortDir=event.detail.sortDir,this.syncSource(),this.sourceStateVersion++}}
|
|
117
132
|
.rows=${sources}
|
|
118
133
|
.rowKey=${this.rowKey}
|
|
119
134
|
aria-label=${tableLabel}
|
|
120
135
|
empty-heading=${this.localize("knowledgeBaseEmptyHeading")}
|
|
121
136
|
empty-description=${this.localize("knowledgeBaseEmptyDescription",void 0)}
|
|
122
|
-
?error=${this.error}
|
|
137
|
+
?error=${this.error||failed}
|
|
123
138
|
error-heading=${this.errorHeading??nothing}
|
|
124
139
|
error-description=${this.errorDescription}
|
|
125
140
|
@lr-row-activate=${e=>e.stopPropagation()}
|
|
126
141
|
@lr-row-click=${e=>e.stopPropagation()}
|
|
127
|
-
@lr-retry-request=${this.
|
|
128
|
-
>${this.hasErrorSlot?html`<div slot="error"><slot name="error"></slot></div>`:nothing}</lr-table
|
|
142
|
+
@lr-retry-request=${event=>{if(!source){this.legacyTableRetry(event);return}this.retrySource(event,current,failed)}}
|
|
143
|
+
>${this.hasErrorSlot?html`<div slot="error"><slot name="error"></slot></div>`:nothing}</lr-table>`}
|
|
129
144
|
</div>
|
|
130
|
-
`}}__decorate([property({attribute:!1})],LyraKnowledgeBase.prototype,"sources",void 0),__decorate([property()],LyraKnowledgeBase.prototype,"label",void 0),__decorate([property({attribute:"heading-level"})],LyraKnowledgeBase.prototype,"headingLevel",void 0),__decorate([property({type:Boolean,attribute:"without-summary",reflect:!0})],LyraKnowledgeBase.prototype,"withoutSummary",void 0),__decorate([property({type:Boolean,attribute:"without-create",reflect:!0})],LyraKnowledgeBase.prototype,"withoutCreate",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraKnowledgeBase.prototype,"error",void 0),__decorate([property({attribute:"error-heading"})],LyraKnowledgeBase.prototype,"errorHeading",void 0),__decorate([property({attribute:"error-description"})],LyraKnowledgeBase.prototype,"errorDescription",void 0);export{LyraKnowledgeBase};
|
|
145
|
+
`}}__decorate([state()],LyraKnowledgeBase.prototype,"sourceStateVersion",void 0),__decorate([property({attribute:!1})],LyraKnowledgeBase.prototype,"dataSource",null),__decorate([property({type:Number,attribute:"source-page"})],LyraKnowledgeBase.prototype,"sourcePage",void 0),__decorate([property({type:Number,attribute:"source-page-size"})],LyraKnowledgeBase.prototype,"sourcePageSize",void 0),__decorate([property({attribute:!1})],LyraKnowledgeBase.prototype,"sources",void 0),__decorate([property()],LyraKnowledgeBase.prototype,"label",void 0),__decorate([property({attribute:"heading-level"})],LyraKnowledgeBase.prototype,"headingLevel",void 0),__decorate([property({type:Boolean,attribute:"without-summary",reflect:!0})],LyraKnowledgeBase.prototype,"withoutSummary",void 0),__decorate([property({type:Boolean,attribute:"without-create",reflect:!0})],LyraKnowledgeBase.prototype,"withoutCreate",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraKnowledgeBase.prototype,"error",void 0),__decorate([property({attribute:"error-heading"})],LyraKnowledgeBase.prototype,"errorHeading",void 0),__decorate([property({attribute:"error-description"})],LyraKnowledgeBase.prototype,"errorDescription",void 0);export{LyraKnowledgeBase};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{iconAction,iconActionHover,iconActionActive}from"../../../internal/icon-action.styles.js";import{iconHitTarget,focusRing}from"../../../internal/interactive-control.styles.js";import{css}from"lit";const styles=css` :host { display: block; } [part='base'] { display: flex; flex-direction: column; gap: var(--lr-space-m); } [part='toolbar'] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--lr-space-s); } [part='heading'] { margin: 0; font-size: var(--lr-font-size-lg); font-weight: var(--lr-font-weight-semibold); color: var(--lr-color-text); } [part='create-button'] { flex: 0 0 auto; } [part='summary'] { display: flex; flex-wrap: wrap; gap: var(--lr-space-s); } [part='summary-stat'] { flex: 1 1 var(--lr-size-8rem); min-inline-size: 0; } [part='table'] { inline-size: 100%; font: inherit; } [part='table']::part(name-cell), [part='table']::part(sync-cell), [part='table']::part(health-cell) { display: flex; flex-direction: column; gap: var(--lr-size-0-125rem); } [part='table']::part(source-name) { font-weight: var(--lr-font-weight-medium); color: var(--lr-color-text); } [part='table']::part(source-type), [part='table']::part(sync-timestamp), [part='table']::part(document-count) { font-size: var(--lr-font-size-sm); color: var(--lr-color-text-quiet); } [part='table']::part(sync-error) { font-size: var(--lr-font-size-sm); color: var(--lr-color-danger); } [part='table']::part(sync-badge), [part='table']::part(health-badge) { align-self: flex-start; } [part='table']::part(actions-menu) { display: flex; justify-content: flex-end; font: inherit; } [part='table']::part(actions-trigger) { ${iconHitTarget} ${iconAction} --_lr-icon-button-color-default: var(--lr-color-text-quiet); --_lr-icon-button-color-hover-default: var(--lr-color-text); --_lr-icon-button-color-active-default: var(--lr-color-text); } [part='table']::part(actions-trigger):hover { ${iconActionHover} } [part='table']::part(actions-trigger):active { ${iconActionActive} } [part='table']::part(actions-trigger):focus-visible { ${focusRing} } `;export{styles};
|
|
1
|
+
import{iconAction,iconActionHover,iconActionActive}from"../../../internal/icon-action.styles.js";import{iconHitTarget,focusRing}from"../../../internal/interactive-control.styles.js";import{css}from"lit";const styles=css` :host { display: block; } [part='base'] { display: flex; flex-direction: column; gap: var(--lr-space-m); } [part='source-status'] { margin: 0; overflow-wrap: anywhere; color: var(--lr-color-text-quiet); } [part='toolbar'] { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--lr-space-s); } [part='heading'] { margin: 0; font-size: var(--lr-font-size-lg); font-weight: var(--lr-font-weight-semibold); color: var(--lr-color-text); } [part='create-button'] { flex: 0 0 auto; } [part='summary'] { display: flex; flex-wrap: wrap; gap: var(--lr-space-s); } [part='summary-stat'] { flex: 1 1 var(--lr-size-8rem); min-inline-size: 0; } [part='table'] { inline-size: 100%; font: inherit; } [part='table']::part(name-cell), [part='table']::part(sync-cell), [part='table']::part(health-cell) { display: flex; flex-direction: column; gap: var(--lr-size-0-125rem); } [part='table']::part(source-name) { font-weight: var(--lr-font-weight-medium); color: var(--lr-color-text); } [part='table']::part(source-type), [part='table']::part(sync-timestamp), [part='table']::part(document-count) { font-size: var(--lr-font-size-sm); color: var(--lr-color-text-quiet); } [part='table']::part(sync-error) { font-size: var(--lr-font-size-sm); color: var(--lr-color-danger); } [part='table']::part(sync-badge), [part='table']::part(health-badge) { align-self: flex-start; } [part='table']::part(actions-menu) { display: flex; justify-content: flex-end; font: inherit; } [part='table']::part(actions-trigger) { ${iconHitTarget} ${iconAction} --_lr-icon-button-color-default: var(--lr-color-text-quiet); --_lr-icon-button-color-hover-default: var(--lr-color-text); --_lr-icon-button-color-active-default: var(--lr-color-text); } [part='table']::part(actions-trigger):hover { ${iconActionHover} } [part='table']::part(actions-trigger):active { ${iconActionActive} } [part='table']::part(actions-trigger):focus-visible { ${focusRing} } `;export{styles};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import type{CancelEventDetail,RetryEventDetail}from'../../../ai/types.js';import type{KnowledgeSource}from'../knowledge-base/knowledge-base.class.js';export type{KnowledgeSource}from'../knowledge-base/knowledge-base.class.js';import type{IngestionQueueItem}from'../ingestion-queue/ingestion-queue.class.js';export type{IngestionQueueItem}from'../ingestion-queue/ingestion-queue.class.js';import{type LyraHeadingLevel}from'../../../internal/heading-level.js';export type KnowledgeBaseAdminTab='sources'|'ingestion';export interface LyraKnowledgeBaseAdminEventMap{'lr-tab-change':CustomEvent<{activeTab:KnowledgeBaseAdminTab;}>;'lr-activate':CustomEvent<{value:KnowledgeBaseAdminTab;}>;'lr-source-create':CustomEvent<null>;'lr-source-sync':CustomEvent<{sourceId:string;}>;'lr-source-pause':CustomEvent<{sourceId:string;}>;'lr-source-delete':CustomEvent<{sourceId:string;}>;'lr-ingestion-retry':CustomEvent<RetryEventDetail&{itemId:string;}>;'lr-ingestion-cancel':CustomEvent<CancelEventDetail&{itemId:string;}>;}
|
|
1
|
+
import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from'../../../internal/lyra-element.js';import type{CancelEventDetail,RetryEventDetail}from'../../../ai/types.js';import type{KnowledgeBaseSource,KnowledgeSource}from'../knowledge-base/knowledge-base.class.js';export type{KnowledgeSource}from'../knowledge-base/knowledge-base.class.js';import type{IngestionQueueSource,IngestionQueueItem}from'../ingestion-queue/ingestion-queue.class.js';export type{IngestionQueueItem}from'../ingestion-queue/ingestion-queue.class.js';import{type LyraHeadingLevel}from'../../../internal/heading-level.js';export type KnowledgeBaseAdminTab='sources'|'ingestion';export interface LyraKnowledgeBaseAdminEventMap{'lr-tab-change':CustomEvent<{activeTab:KnowledgeBaseAdminTab;}>;'lr-activate':CustomEvent<{value:KnowledgeBaseAdminTab;}>;'lr-source-create':CustomEvent<null>;'lr-source-sync':CustomEvent<{sourceId:string;}>;'lr-source-pause':CustomEvent<{sourceId:string;}>;'lr-source-delete':CustomEvent<{sourceId:string;}>;'lr-ingestion-retry':CustomEvent<RetryEventDetail&{itemId:string;}>;'lr-ingestion-cancel':CustomEvent<CancelEventDetail&{itemId:string;}>;}
|
|
2
2
|
/**
|
|
3
3
|
* `<lr-knowledge-base-admin>` — a responsive operations shell composing the existing controlled
|
|
4
4
|
* source inventory and ingestion queue into one tabbed knowledge-base view. It forwards every
|
|
@@ -7,6 +7,13 @@ import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from
|
|
|
7
7
|
*
|
|
8
8
|
* Public collection properties take bounded, clone-owned readonly snapshots. Create a new
|
|
9
9
|
* collection and reassign it after changes; mutating the assigned array does not update the view.
|
|
10
|
+
* Original input omissions are disclosed in input-limit before forwarding the retained collection.
|
|
11
|
+
*
|
|
12
|
+
* Optional dataSource and ingestionSource are opaque provider identities. Only the active child
|
|
13
|
+
* receives its provider; changing tabs remounts that child at its default page. Same-reference
|
|
14
|
+
* provider assignment and requestUpdate() refresh only the active child. Undefined restores the
|
|
15
|
+
* corresponding legacy collection and its admission-loss notice. Provider rows and totals remain
|
|
16
|
+
* owned by the children; the shell neither queries nor caches them.
|
|
10
17
|
*
|
|
11
18
|
* @customElement lr-knowledge-base-admin
|
|
12
19
|
* @slot settings - Optional host-owned ingestion, chunking, embedding, or permissions controls.
|
|
@@ -28,6 +35,7 @@ import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from
|
|
|
28
35
|
* @event lr-source-delete - Forwarded source deletion request. `detail: { sourceId }`.
|
|
29
36
|
* @event lr-ingestion-retry - Forwarded ingestion retry request.
|
|
30
37
|
* @event lr-ingestion-cancel - Forwarded ingestion cancel request.
|
|
38
|
+
* @csspart input-limit - Original collection admission-loss notice.
|
|
31
39
|
* @csspart base - The root admin wrapper.
|
|
32
40
|
* @csspart heading - The visible heading.
|
|
33
41
|
* @csspart tabs - The tablist.
|
|
@@ -42,7 +50,13 @@ import{type PropertyValues,type TemplateResult}from'lit';import{LyraElement}from
|
|
|
42
50
|
* @status stable
|
|
43
51
|
* @since 6.2.0
|
|
44
52
|
*/
|
|
45
|
-
export declare class LyraKnowledgeBaseAdmin extends LyraElement<LyraKnowledgeBaseAdminEventMap>{protected static collectionSupport:import("../../../internal/lyra-element.js").LyraCollectionSupport;protected static readonly ownedCollectionProperties:readonly string[];static styles:import("lit").CSSResultGroup[];
|
|
53
|
+
export declare class LyraKnowledgeBaseAdmin extends LyraElement<LyraKnowledgeBaseAdminEventMap>{protected static collectionSupport:import("../../../internal/lyra-element.js").LyraCollectionSupport;protected static readonly ownedCollectionProperties:readonly string[];protected static readonly identityCollectionObjectProperties:readonly string[];static styles:import("lit").CSSResultGroup[];private _dataSource?;private _ingestionSource?;private forwardGeneration;private readonly bindSourcePageScope;
|
|
54
|
+
/** Opaque inventory provider, forwarded only while Sources is active. Undefined restores sources.
|
|
55
|
+
* Same-reference assignment refreshes the active child once. */
|
|
56
|
+
get dataSource():KnowledgeBaseSource|undefined;set dataSource(value:KnowledgeBaseSource|undefined);
|
|
57
|
+
/** Opaque queue provider, forwarded only while Ingestion is active. Undefined restores ingestionItems.
|
|
58
|
+
* Same-reference assignment refreshes the active child once. */
|
|
59
|
+
get ingestionSource():IngestionQueueSource|undefined;set ingestionSource(value:IngestionQueueSource|undefined);private get activeView();private activeChild;requestUpdate(...args:Parameters<LyraElement['requestUpdate']>):void;
|
|
46
60
|
/** Knowledge-base source connectors. */
|
|
47
61
|
sources:readonly KnowledgeSource[];
|
|
48
62
|
/** Documents currently moving through ingestion. */
|
|
@@ -58,4 +72,4 @@ label?:string;
|
|
|
58
72
|
* `none` removes heading semantics from both. */
|
|
59
73
|
headingLevel:LyraHeadingLevel;
|
|
60
74
|
/** Hides the ingestion tab and queue. An active/focused ingestion tab moves to Sources. */
|
|
61
|
-
withoutIngestion:boolean;private readonly idPrefix;private focusSourcesAfterUpdate;private tabId;private panelId;private setTab;protected willUpdate(changed:PropertyValues<this>):void;protected updated(changed:PropertyValues<this>):void;private handleTabKeydown;private forward;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-knowledge-base-admin':LyraKnowledgeBaseAdmin;}}
|
|
75
|
+
withoutIngestion:boolean;private readonly idPrefix;private focusSourcesAfterUpdate;private tabId;private panelId;private setTab;protected willUpdate(changed:PropertyValues<this>):void;private lastInputNotice;private inputNoticeMounted;private readonly inputAnnouncements;connectedCallback():void;disconnectedCallback():void;adoptedCallback():void;private inputLimitMessage;protected updated(changed:PropertyValues<this>):void;private handleTabKeydown;private forward;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-knowledge-base-admin':LyraKnowledgeBaseAdmin;}}
|