@aceshooting/lyra-ui 4.0.0 → 4.2.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/README.md +53 -2
- package/custom-elements.json +59005 -40073
- package/dist/ai/index.d.ts +3 -0
- package/dist/ai/index.d.ts.map +1 -0
- package/dist/ai/index.js +3 -0
- package/dist/ai/index.js.map +1 -0
- package/dist/ai/types.contract.d.ts +2 -0
- package/dist/ai/types.contract.d.ts.map +1 -0
- package/dist/ai/types.contract.js +139 -0
- package/dist/ai/types.contract.js.map +1 -0
- package/dist/ai/types.d.ts +201 -0
- package/dist/ai/types.d.ts.map +1 -0
- package/dist/ai/types.js +2 -0
- package/dist/ai/types.js.map +1 -0
- package/dist/components/agent-run/agent-run.class.d.ts +184 -0
- package/dist/components/agent-run/agent-run.class.d.ts.map +1 -0
- package/dist/components/agent-run/agent-run.class.js +473 -0
- package/dist/components/agent-run/agent-run.class.js.map +1 -0
- package/dist/components/agent-run/agent-run.d.ts +2 -0
- package/dist/components/agent-run/agent-run.d.ts.map +1 -0
- package/dist/components/agent-run/agent-run.js +5 -0
- package/dist/components/agent-run/agent-run.js.map +1 -0
- package/dist/components/agent-run/agent-run.styles.d.ts +2 -0
- package/dist/components/agent-run/agent-run.styles.d.ts.map +1 -0
- package/dist/components/agent-run/agent-run.styles.js +159 -0
- package/dist/components/agent-run/agent-run.styles.js.map +1 -0
- package/dist/components/agent-trace/agent-trace.class.d.ts +111 -0
- package/dist/components/agent-trace/agent-trace.class.d.ts.map +1 -0
- package/dist/components/agent-trace/agent-trace.class.js +221 -0
- package/dist/components/agent-trace/agent-trace.class.js.map +1 -0
- package/dist/components/agent-trace/agent-trace.d.ts +5 -0
- package/dist/components/agent-trace/agent-trace.d.ts.map +1 -0
- package/dist/components/agent-trace/agent-trace.js +8 -0
- package/dist/components/agent-trace/agent-trace.js.map +1 -0
- package/dist/components/agent-trace/agent-trace.styles.d.ts +2 -0
- package/dist/components/agent-trace/agent-trace.styles.d.ts.map +1 -0
- package/dist/components/agent-trace/agent-trace.styles.js +61 -0
- package/dist/components/agent-trace/agent-trace.styles.js.map +1 -0
- package/dist/components/agent-workspace/agent-workspace.class.d.ts +146 -0
- package/dist/components/agent-workspace/agent-workspace.class.d.ts.map +1 -0
- package/dist/components/agent-workspace/agent-workspace.class.js +332 -0
- package/dist/components/agent-workspace/agent-workspace.class.js.map +1 -0
- package/dist/components/agent-workspace/agent-workspace.d.ts +2 -0
- package/dist/components/agent-workspace/agent-workspace.d.ts.map +1 -0
- package/dist/components/agent-workspace/agent-workspace.js +5 -0
- package/dist/components/agent-workspace/agent-workspace.js.map +1 -0
- package/dist/components/agent-workspace/agent-workspace.styles.d.ts +2 -0
- package/dist/components/agent-workspace/agent-workspace.styles.d.ts.map +1 -0
- package/dist/components/agent-workspace/agent-workspace.styles.js +134 -0
- package/dist/components/agent-workspace/agent-workspace.styles.js.map +1 -0
- package/dist/components/app-rail/app-rail.styles.d.ts.map +1 -1
- package/dist/components/app-rail/app-rail.styles.js +4 -0
- package/dist/components/app-rail/app-rail.styles.js.map +1 -1
- package/dist/components/avatar/avatar.class.d.ts +3 -3
- package/dist/components/avatar/avatar.class.d.ts.map +1 -1
- package/dist/components/avatar/avatar.class.js +8 -10
- package/dist/components/avatar/avatar.class.js.map +1 -1
- package/dist/components/chart/chart.class.d.ts +1 -0
- package/dist/components/chart/chart.class.d.ts.map +1 -1
- package/dist/components/chart/chart.class.js +9 -3
- package/dist/components/chart/chart.class.js.map +1 -1
- package/dist/components/chat-message/chat-message.class.d.ts +45 -4
- package/dist/components/chat-message/chat-message.class.d.ts.map +1 -1
- package/dist/components/chat-message/chat-message.class.js +98 -8
- package/dist/components/chat-message/chat-message.class.js.map +1 -1
- package/dist/components/chat-message/chat-message.styles.d.ts.map +1 -1
- package/dist/components/chat-message/chat-message.styles.js +14 -0
- package/dist/components/chat-message/chat-message.styles.js.map +1 -1
- package/dist/components/context-inspector/context-inspector.class.d.ts +114 -0
- package/dist/components/context-inspector/context-inspector.class.d.ts.map +1 -0
- package/dist/components/context-inspector/context-inspector.class.js +222 -0
- package/dist/components/context-inspector/context-inspector.class.js.map +1 -0
- package/dist/components/context-inspector/context-inspector.d.ts +7 -0
- package/dist/components/context-inspector/context-inspector.d.ts.map +1 -0
- package/dist/components/context-inspector/context-inspector.js +10 -0
- package/dist/components/context-inspector/context-inspector.js.map +1 -0
- package/dist/components/context-inspector/context-inspector.styles.d.ts +2 -0
- package/dist/components/context-inspector/context-inspector.styles.d.ts.map +1 -0
- package/dist/components/context-inspector/context-inspector.styles.js +98 -0
- package/dist/components/context-inspector/context-inspector.styles.js.map +1 -0
- package/dist/components/conversation-item/conversation-item.class.d.ts +8 -0
- package/dist/components/conversation-item/conversation-item.class.d.ts.map +1 -1
- package/dist/components/conversation-item/conversation-item.class.js +50 -22
- package/dist/components/conversation-item/conversation-item.class.js.map +1 -1
- package/dist/components/conversation-item/conversation-item.styles.d.ts.map +1 -1
- package/dist/components/conversation-item/conversation-item.styles.js +11 -0
- package/dist/components/conversation-item/conversation-item.styles.js.map +1 -1
- package/dist/components/csv-viewer/csv-viewer.styles.d.ts.map +1 -1
- package/dist/components/csv-viewer/csv-viewer.styles.js +8 -2
- package/dist/components/csv-viewer/csv-viewer.styles.js.map +1 -1
- package/dist/components/dashboard-grid/dashboard-grid.class.d.ts +162 -0
- package/dist/components/dashboard-grid/dashboard-grid.class.d.ts.map +1 -0
- package/dist/components/dashboard-grid/dashboard-grid.class.js +569 -0
- package/dist/components/dashboard-grid/dashboard-grid.class.js.map +1 -0
- package/dist/components/dashboard-grid/dashboard-grid.d.ts +6 -0
- package/dist/components/dashboard-grid/dashboard-grid.d.ts.map +1 -0
- package/dist/components/dashboard-grid/dashboard-grid.js +9 -0
- package/dist/components/dashboard-grid/dashboard-grid.js.map +1 -0
- package/dist/components/dashboard-grid/dashboard-grid.styles.d.ts +2 -0
- package/dist/components/dashboard-grid/dashboard-grid.styles.d.ts.map +1 -0
- package/dist/components/dashboard-grid/dashboard-grid.styles.js +86 -0
- package/dist/components/dashboard-grid/dashboard-grid.styles.js.map +1 -0
- package/dist/components/dashboard-grid/layout.d.ts +103 -0
- package/dist/components/dashboard-grid/layout.d.ts.map +1 -0
- package/dist/components/dashboard-grid/layout.js +94 -0
- package/dist/components/dashboard-grid/layout.js.map +1 -0
- package/dist/components/date-picker/date-input.class.d.ts +8 -0
- package/dist/components/date-picker/date-input.class.d.ts.map +1 -1
- package/dist/components/date-picker/date-input.class.js +10 -0
- package/dist/components/date-picker/date-input.class.js.map +1 -1
- package/dist/components/date-picker/date-input.styles.d.ts.map +1 -1
- package/dist/components/date-picker/date-input.styles.js +39 -2
- package/dist/components/date-picker/date-input.styles.js.map +1 -1
- package/dist/components/diff-view/diff-view.class.d.ts +20 -2
- package/dist/components/diff-view/diff-view.class.d.ts.map +1 -1
- package/dist/components/diff-view/diff-view.class.js +107 -13
- package/dist/components/diff-view/diff-view.class.js.map +1 -1
- package/dist/components/diff-view/diff-view.styles.d.ts.map +1 -1
- package/dist/components/diff-view/diff-view.styles.js +5 -0
- package/dist/components/diff-view/diff-view.styles.js.map +1 -1
- package/dist/components/document-compare/document-compare.class.d.ts +131 -0
- package/dist/components/document-compare/document-compare.class.d.ts.map +1 -0
- package/dist/components/document-compare/document-compare.class.js +214 -0
- package/dist/components/document-compare/document-compare.class.js.map +1 -0
- package/dist/components/document-compare/document-compare.d.ts +2 -0
- package/dist/components/document-compare/document-compare.d.ts.map +1 -0
- package/dist/components/document-compare/document-compare.js +5 -0
- package/dist/components/document-compare/document-compare.js.map +1 -0
- package/dist/components/document-compare/document-compare.styles.d.ts +2 -0
- package/dist/components/document-compare/document-compare.styles.d.ts.map +1 -0
- package/dist/components/document-compare/document-compare.styles.js +65 -0
- package/dist/components/document-compare/document-compare.styles.js.map +1 -0
- package/dist/components/document-library/document-library.class.d.ts +154 -0
- package/dist/components/document-library/document-library.class.d.ts.map +1 -0
- package/dist/components/document-library/document-library.class.js +399 -0
- package/dist/components/document-library/document-library.class.js.map +1 -0
- package/dist/components/document-library/document-library.d.ts +9 -0
- package/dist/components/document-library/document-library.d.ts.map +1 -0
- package/dist/components/document-library/document-library.js +12 -0
- package/dist/components/document-library/document-library.js.map +1 -0
- package/dist/components/document-library/document-library.styles.d.ts +2 -0
- package/dist/components/document-library/document-library.styles.d.ts.map +1 -0
- package/dist/components/document-library/document-library.styles.js +77 -0
- package/dist/components/document-library/document-library.styles.js.map +1 -0
- package/dist/components/drilldown-panel/drilldown-panel.class.d.ts +148 -0
- package/dist/components/drilldown-panel/drilldown-panel.class.d.ts.map +1 -0
- package/dist/components/drilldown-panel/drilldown-panel.class.js +241 -0
- package/dist/components/drilldown-panel/drilldown-panel.class.js.map +1 -0
- package/dist/components/drilldown-panel/drilldown-panel.d.ts +9 -0
- package/dist/components/drilldown-panel/drilldown-panel.d.ts.map +1 -0
- package/dist/components/drilldown-panel/drilldown-panel.js +12 -0
- package/dist/components/drilldown-panel/drilldown-panel.js.map +1 -0
- package/dist/components/drilldown-panel/drilldown-panel.styles.d.ts +2 -0
- package/dist/components/drilldown-panel/drilldown-panel.styles.d.ts.map +1 -0
- package/dist/components/drilldown-panel/drilldown-panel.styles.js +49 -0
- package/dist/components/drilldown-panel/drilldown-panel.styles.js.map +1 -0
- package/dist/components/emoji-picker/emoji-data-loader.d.ts.map +1 -1
- package/dist/components/emoji-picker/emoji-data-loader.js +1 -1
- package/dist/components/emoji-picker/emoji-data-loader.js.map +1 -1
- package/dist/components/emoji-picker/emoji-picker.class.d.ts +18 -1
- package/dist/components/emoji-picker/emoji-picker.class.d.ts.map +1 -1
- package/dist/components/emoji-picker/emoji-picker.class.js +152 -28
- package/dist/components/emoji-picker/emoji-picker.class.js.map +1 -1
- package/dist/components/emoji-picker/emoji-picker.styles.d.ts.map +1 -1
- package/dist/components/emoji-picker/emoji-picker.styles.js +26 -2
- package/dist/components/emoji-picker/emoji-picker.styles.js.map +1 -1
- package/dist/components/entity-dossier/entity-dossier.class.d.ts +132 -0
- package/dist/components/entity-dossier/entity-dossier.class.d.ts.map +1 -0
- package/dist/components/entity-dossier/entity-dossier.class.js +187 -0
- package/dist/components/entity-dossier/entity-dossier.class.js.map +1 -0
- package/dist/components/entity-dossier/entity-dossier.d.ts +9 -0
- package/dist/components/entity-dossier/entity-dossier.d.ts.map +1 -0
- package/dist/components/entity-dossier/entity-dossier.js +12 -0
- package/dist/components/entity-dossier/entity-dossier.js.map +1 -0
- package/dist/components/entity-dossier/entity-dossier.styles.d.ts +2 -0
- package/dist/components/entity-dossier/entity-dossier.styles.d.ts.map +1 -0
- package/dist/components/entity-dossier/entity-dossier.styles.js +30 -0
- package/dist/components/entity-dossier/entity-dossier.styles.js.map +1 -0
- package/dist/components/eval-dataset/eval-dataset.class.d.ts +145 -0
- package/dist/components/eval-dataset/eval-dataset.class.d.ts.map +1 -0
- package/dist/components/eval-dataset/eval-dataset.class.js +307 -0
- package/dist/components/eval-dataset/eval-dataset.class.js.map +1 -0
- package/dist/components/eval-dataset/eval-dataset.d.ts +7 -0
- package/dist/components/eval-dataset/eval-dataset.d.ts.map +1 -0
- package/dist/components/eval-dataset/eval-dataset.js +10 -0
- package/dist/components/eval-dataset/eval-dataset.js.map +1 -0
- package/dist/components/eval-dataset/eval-dataset.styles.d.ts +2 -0
- package/dist/components/eval-dataset/eval-dataset.styles.d.ts.map +1 -0
- package/dist/components/eval-dataset/eval-dataset.styles.js +76 -0
- package/dist/components/eval-dataset/eval-dataset.styles.js.map +1 -0
- package/dist/components/eval-result/eval-result.class.d.ts +115 -0
- package/dist/components/eval-result/eval-result.class.d.ts.map +1 -0
- package/dist/components/eval-result/eval-result.class.js +165 -0
- package/dist/components/eval-result/eval-result.class.js.map +1 -0
- package/dist/components/eval-result/eval-result.d.ts +5 -0
- package/dist/components/eval-result/eval-result.d.ts.map +1 -0
- package/dist/components/eval-result/eval-result.js +8 -0
- package/dist/components/eval-result/eval-result.js.map +1 -0
- package/dist/components/eval-result/eval-result.styles.d.ts +2 -0
- package/dist/components/eval-result/eval-result.styles.d.ts.map +1 -0
- package/dist/components/eval-result/eval-result.styles.js +47 -0
- package/dist/components/eval-result/eval-result.styles.js.map +1 -0
- package/dist/components/evaluation-run/evaluation-run.class.d.ts +168 -0
- package/dist/components/evaluation-run/evaluation-run.class.d.ts.map +1 -0
- package/dist/components/evaluation-run/evaluation-run.class.js +333 -0
- package/dist/components/evaluation-run/evaluation-run.class.js.map +1 -0
- package/dist/components/evaluation-run/evaluation-run.d.ts +2 -0
- package/dist/components/evaluation-run/evaluation-run.d.ts.map +1 -0
- package/dist/components/evaluation-run/evaluation-run.js +5 -0
- package/dist/components/evaluation-run/evaluation-run.js.map +1 -0
- package/dist/components/evaluation-run/evaluation-run.styles.d.ts +2 -0
- package/dist/components/evaluation-run/evaluation-run.styles.d.ts.map +1 -0
- package/dist/components/evaluation-run/evaluation-run.styles.js +73 -0
- package/dist/components/evaluation-run/evaluation-run.styles.js.map +1 -0
- package/dist/components/filter-bar/filter-bar.class.d.ts +200 -0
- package/dist/components/filter-bar/filter-bar.class.d.ts.map +1 -0
- package/dist/components/filter-bar/filter-bar.class.js +322 -0
- package/dist/components/filter-bar/filter-bar.class.js.map +1 -0
- package/dist/components/filter-bar/filter-bar.d.ts +10 -0
- package/dist/components/filter-bar/filter-bar.d.ts.map +1 -0
- package/dist/components/filter-bar/filter-bar.js +13 -0
- package/dist/components/filter-bar/filter-bar.js.map +1 -0
- package/dist/components/filter-bar/filter-bar.styles.d.ts +2 -0
- package/dist/components/filter-bar/filter-bar.styles.d.ts.map +1 -0
- package/dist/components/filter-bar/filter-bar.styles.js +37 -0
- package/dist/components/filter-bar/filter-bar.styles.js.map +1 -0
- package/dist/components/graph-query-builder/graph-query-builder.class.d.ts +242 -0
- package/dist/components/graph-query-builder/graph-query-builder.class.d.ts.map +1 -0
- package/dist/components/graph-query-builder/graph-query-builder.class.js +511 -0
- package/dist/components/graph-query-builder/graph-query-builder.class.js.map +1 -0
- package/dist/components/graph-query-builder/graph-query-builder.d.ts +7 -0
- package/dist/components/graph-query-builder/graph-query-builder.d.ts.map +1 -0
- package/dist/components/graph-query-builder/graph-query-builder.js +10 -0
- package/dist/components/graph-query-builder/graph-query-builder.js.map +1 -0
- package/dist/components/graph-query-builder/graph-query-builder.styles.d.ts +2 -0
- package/dist/components/graph-query-builder/graph-query-builder.styles.d.ts.map +1 -0
- package/dist/components/graph-query-builder/graph-query-builder.styles.js +170 -0
- package/dist/components/graph-query-builder/graph-query-builder.styles.js.map +1 -0
- package/dist/components/grounding-summary/grounding-summary.class.d.ts +80 -0
- package/dist/components/grounding-summary/grounding-summary.class.d.ts.map +1 -0
- package/dist/components/grounding-summary/grounding-summary.class.js +182 -0
- package/dist/components/grounding-summary/grounding-summary.class.js.map +1 -0
- package/dist/components/grounding-summary/grounding-summary.d.ts +5 -0
- package/dist/components/grounding-summary/grounding-summary.d.ts.map +1 -0
- package/dist/components/grounding-summary/grounding-summary.js +8 -0
- package/dist/components/grounding-summary/grounding-summary.js.map +1 -0
- package/dist/components/grounding-summary/grounding-summary.styles.d.ts +2 -0
- package/dist/components/grounding-summary/grounding-summary.styles.d.ts.map +1 -0
- package/dist/components/grounding-summary/grounding-summary.styles.js +88 -0
- package/dist/components/grounding-summary/grounding-summary.styles.js.map +1 -0
- package/dist/components/heatmap/heatmap.class.d.ts +14 -0
- package/dist/components/heatmap/heatmap.class.d.ts.map +1 -1
- package/dist/components/heatmap/heatmap.class.js +165 -0
- package/dist/components/heatmap/heatmap.class.js.map +1 -1
- package/dist/components/ingestion-queue/ingestion-queue.class.d.ts +125 -0
- package/dist/components/ingestion-queue/ingestion-queue.class.d.ts.map +1 -0
- package/dist/components/ingestion-queue/ingestion-queue.class.js +276 -0
- package/dist/components/ingestion-queue/ingestion-queue.class.js.map +1 -0
- package/dist/components/ingestion-queue/ingestion-queue.d.ts +2 -0
- package/dist/components/ingestion-queue/ingestion-queue.d.ts.map +1 -0
- package/dist/components/ingestion-queue/ingestion-queue.js +5 -0
- package/dist/components/ingestion-queue/ingestion-queue.js.map +1 -0
- package/dist/components/ingestion-queue/ingestion-queue.styles.d.ts +2 -0
- package/dist/components/ingestion-queue/ingestion-queue.styles.d.ts.map +1 -0
- package/dist/components/ingestion-queue/ingestion-queue.styles.js +138 -0
- package/dist/components/ingestion-queue/ingestion-queue.styles.js.map +1 -0
- package/dist/components/knowledge-base/knowledge-base.class.d.ts +136 -0
- package/dist/components/knowledge-base/knowledge-base.class.d.ts.map +1 -0
- package/dist/components/knowledge-base/knowledge-base.class.js +360 -0
- package/dist/components/knowledge-base/knowledge-base.class.js.map +1 -0
- package/dist/components/knowledge-base/knowledge-base.d.ts +7 -0
- package/dist/components/knowledge-base/knowledge-base.d.ts.map +1 -0
- package/dist/components/knowledge-base/knowledge-base.js +10 -0
- package/dist/components/knowledge-base/knowledge-base.js.map +1 -0
- package/dist/components/knowledge-base/knowledge-base.styles.d.ts +2 -0
- package/dist/components/knowledge-base/knowledge-base.styles.d.ts.map +1 -0
- package/dist/components/knowledge-base/knowledge-base.styles.js +94 -0
- package/dist/components/knowledge-base/knowledge-base.styles.js.map +1 -0
- package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +196 -0
- package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts.map +1 -0
- package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.class.js +477 -0
- package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.class.js.map +1 -0
- package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.d.ts +11 -0
- package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.d.ts.map +1 -0
- package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.js +14 -0
- package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.js.map +1 -0
- package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.styles.d.ts +2 -0
- package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.styles.d.ts.map +1 -0
- package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +76 -0
- package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.styles.js.map +1 -0
- package/dist/components/markdown/markdown-core.class.d.ts +10 -3
- package/dist/components/markdown/markdown-core.class.d.ts.map +1 -1
- package/dist/components/markdown/markdown-core.class.js +33 -4
- package/dist/components/markdown/markdown-core.class.js.map +1 -1
- package/dist/components/markdown/markdown.class.d.ts +10 -3
- package/dist/components/markdown/markdown.class.d.ts.map +1 -1
- package/dist/components/markdown/markdown.class.js +33 -4
- package/dist/components/markdown/markdown.class.js.map +1 -1
- package/dist/components/memory-panel/memory-panel.class.d.ts +146 -0
- package/dist/components/memory-panel/memory-panel.class.d.ts.map +1 -0
- package/dist/components/memory-panel/memory-panel.class.js +303 -0
- package/dist/components/memory-panel/memory-panel.class.js.map +1 -0
- package/dist/components/memory-panel/memory-panel.d.ts +5 -0
- package/dist/components/memory-panel/memory-panel.d.ts.map +1 -0
- package/dist/components/memory-panel/memory-panel.js +8 -0
- package/dist/components/memory-panel/memory-panel.js.map +1 -0
- package/dist/components/memory-panel/memory-panel.styles.d.ts +2 -0
- package/dist/components/memory-panel/memory-panel.styles.d.ts.map +1 -0
- package/dist/components/memory-panel/memory-panel.styles.js +139 -0
- package/dist/components/memory-panel/memory-panel.styles.js.map +1 -0
- package/dist/components/notebook-viewer/notebook-viewer.class.d.ts +9 -2
- package/dist/components/notebook-viewer/notebook-viewer.class.d.ts.map +1 -1
- package/dist/components/notebook-viewer/notebook-viewer.class.js +27 -4
- package/dist/components/notebook-viewer/notebook-viewer.class.js.map +1 -1
- package/dist/components/overlay/popover.class.d.ts +39 -0
- package/dist/components/overlay/popover.class.d.ts.map +1 -1
- package/dist/components/overlay/popover.class.js +53 -3
- package/dist/components/overlay/popover.class.js.map +1 -1
- package/dist/components/overlay/tooltip.class.d.ts +43 -0
- package/dist/components/overlay/tooltip.class.d.ts.map +1 -1
- package/dist/components/overlay/tooltip.class.js +66 -4
- package/dist/components/overlay/tooltip.class.js.map +1 -1
- package/dist/components/policy-summary/policy-summary.class.d.ts +76 -0
- package/dist/components/policy-summary/policy-summary.class.d.ts.map +1 -0
- package/dist/components/policy-summary/policy-summary.class.js +125 -0
- package/dist/components/policy-summary/policy-summary.class.js.map +1 -0
- package/dist/components/policy-summary/policy-summary.d.ts +6 -0
- package/dist/components/policy-summary/policy-summary.d.ts.map +1 -0
- package/dist/components/policy-summary/policy-summary.js +9 -0
- package/dist/components/policy-summary/policy-summary.js.map +1 -0
- package/dist/components/policy-summary/policy-summary.styles.d.ts +2 -0
- package/dist/components/policy-summary/policy-summary.styles.d.ts.map +1 -0
- package/dist/components/policy-summary/policy-summary.styles.js +68 -0
- package/dist/components/policy-summary/policy-summary.styles.js.map +1 -0
- package/dist/components/query-builder/query-builder.class.d.ts +180 -0
- package/dist/components/query-builder/query-builder.class.d.ts.map +1 -0
- package/dist/components/query-builder/query-builder.class.js +415 -0
- package/dist/components/query-builder/query-builder.class.js.map +1 -0
- package/dist/components/query-builder/query-builder.d.ts +9 -0
- package/dist/components/query-builder/query-builder.d.ts.map +1 -0
- package/dist/components/query-builder/query-builder.js +12 -0
- package/dist/components/query-builder/query-builder.js.map +1 -0
- package/dist/components/query-builder/query-builder.styles.d.ts +2 -0
- package/dist/components/query-builder/query-builder.styles.d.ts.map +1 -0
- package/dist/components/query-builder/query-builder.styles.js +77 -0
- package/dist/components/query-builder/query-builder.styles.js.map +1 -0
- package/dist/components/retrieval-results/retrieval-results.class.d.ts +151 -0
- package/dist/components/retrieval-results/retrieval-results.class.d.ts.map +1 -0
- package/dist/components/retrieval-results/retrieval-results.class.js +340 -0
- package/dist/components/retrieval-results/retrieval-results.class.js.map +1 -0
- package/dist/components/retrieval-results/retrieval-results.d.ts +7 -0
- package/dist/components/retrieval-results/retrieval-results.d.ts.map +1 -0
- package/dist/components/retrieval-results/retrieval-results.js +10 -0
- package/dist/components/retrieval-results/retrieval-results.js.map +1 -0
- package/dist/components/retrieval-results/retrieval-results.styles.d.ts +2 -0
- package/dist/components/retrieval-results/retrieval-results.styles.d.ts.map +1 -0
- package/dist/components/retrieval-results/retrieval-results.styles.js +94 -0
- package/dist/components/retrieval-results/retrieval-results.styles.js.map +1 -0
- package/dist/components/retrieval-search/retrieval-search.class.d.ts +127 -0
- package/dist/components/retrieval-search/retrieval-search.class.d.ts.map +1 -0
- package/dist/components/retrieval-search/retrieval-search.class.js +267 -0
- package/dist/components/retrieval-search/retrieval-search.class.js.map +1 -0
- package/dist/components/retrieval-search/retrieval-search.d.ts +8 -0
- package/dist/components/retrieval-search/retrieval-search.d.ts.map +1 -0
- package/dist/components/retrieval-search/retrieval-search.js +11 -0
- package/dist/components/retrieval-search/retrieval-search.js.map +1 -0
- package/dist/components/retrieval-search/retrieval-search.styles.d.ts +2 -0
- package/dist/components/retrieval-search/retrieval-search.styles.d.ts.map +1 -0
- package/dist/components/retrieval-search/retrieval-search.styles.js +75 -0
- package/dist/components/retrieval-search/retrieval-search.styles.js.map +1 -0
- package/dist/components/retrieval-trace/retrieval-trace.class.d.ts +101 -0
- package/dist/components/retrieval-trace/retrieval-trace.class.d.ts.map +1 -0
- package/dist/components/retrieval-trace/retrieval-trace.class.js +215 -0
- package/dist/components/retrieval-trace/retrieval-trace.class.js.map +1 -0
- package/dist/components/retrieval-trace/retrieval-trace.d.ts +4 -0
- package/dist/components/retrieval-trace/retrieval-trace.d.ts.map +1 -0
- package/dist/components/retrieval-trace/retrieval-trace.js +7 -0
- package/dist/components/retrieval-trace/retrieval-trace.js.map +1 -0
- package/dist/components/retrieval-trace/retrieval-trace.styles.d.ts +2 -0
- package/dist/components/retrieval-trace/retrieval-trace.styles.d.ts.map +1 -0
- package/dist/components/retrieval-trace/retrieval-trace.styles.js +116 -0
- package/dist/components/retrieval-trace/retrieval-trace.styles.js.map +1 -0
- package/dist/components/rubric-form/rubric-form.class.d.ts.map +1 -1
- package/dist/components/rubric-form/rubric-form.class.js +1 -0
- package/dist/components/rubric-form/rubric-form.class.js.map +1 -1
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.d.ts.map +1 -1
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.js +8 -2
- package/dist/components/spreadsheet-viewer/spreadsheet-viewer.styles.js.map +1 -1
- package/dist/components/thread-list/thread-list.class.d.ts +38 -2
- package/dist/components/thread-list/thread-list.class.d.ts.map +1 -1
- package/dist/components/thread-list/thread-list.class.js +41 -6
- package/dist/components/thread-list/thread-list.class.js.map +1 -1
- package/dist/components/tool-timeline/tool-timeline.class.d.ts +140 -0
- package/dist/components/tool-timeline/tool-timeline.class.d.ts.map +1 -0
- package/dist/components/tool-timeline/tool-timeline.class.js +293 -0
- package/dist/components/tool-timeline/tool-timeline.class.js.map +1 -0
- package/dist/components/tool-timeline/tool-timeline.d.ts +2 -0
- package/dist/components/tool-timeline/tool-timeline.d.ts.map +1 -0
- package/dist/components/tool-timeline/tool-timeline.js +5 -0
- package/dist/components/tool-timeline/tool-timeline.js.map +1 -0
- package/dist/components/tool-timeline/tool-timeline.styles.d.ts +2 -0
- package/dist/components/tool-timeline/tool-timeline.styles.d.ts.map +1 -0
- package/dist/components/tool-timeline/tool-timeline.styles.js +148 -0
- package/dist/components/tool-timeline/tool-timeline.styles.js.map +1 -0
- package/dist/components/trace-tree/trace-tree.class.d.ts.map +1 -1
- package/dist/components/trace-tree/trace-tree.class.js +3 -1
- package/dist/components/trace-tree/trace-tree.class.js.map +1 -1
- package/dist/internal/localization.d.ts +1 -1
- package/dist/internal/localization.d.ts.map +1 -1
- package/dist/internal/localization.js +238 -0
- package/dist/internal/localization.js.map +1 -1
- package/dist/internal/positioner.d.ts +28 -1
- package/dist/internal/positioner.d.ts.map +1 -1
- package/dist/internal/positioner.js +12 -1
- package/dist/internal/positioner.js.map +1 -1
- package/dist/internal/root-registration-allowlist.d.ts +2 -2
- package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
- package/dist/internal/root-registration-allowlist.js +25 -0
- package/dist/internal/root-registration-allowlist.js.map +1 -1
- package/dist/internal/tokens.styles.d.ts.map +1 -1
- package/dist/internal/tokens.styles.js +2 -0
- package/dist/internal/tokens.styles.js.map +1 -1
- package/dist/lyra.d.ts +51 -1
- package/dist/lyra.d.ts.map +1 -1
- package/dist/lyra.js +49 -0
- package/dist/lyra.js.map +1 -1
- package/llms-full.txt +519 -15
- package/llms.txt +7 -0
- package/package.json +53 -1
- package/vscode-css-data.json +21 -0
- package/vscode-html-data.json +1205 -14
- package/web-types.json +1297 -60
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import { type TemplateResult } from 'lit';
|
|
2
|
+
import { LyraElement } from '../../internal/lyra-element.js';
|
|
3
|
+
import '../input/input.class.js';
|
|
4
|
+
import '../segmented/segmented.class.js';
|
|
5
|
+
import '../chip/chip.class.js';
|
|
6
|
+
import '../chip/chip-group.class.js';
|
|
7
|
+
import '../spinner/spinner.class.js';
|
|
8
|
+
import '../empty/empty.class.js';
|
|
9
|
+
import type { RetrievalQuery, CancelEventDetail } from '../../ai/types.js';
|
|
10
|
+
/** The three retrieval modes `RetrievalQuery.mode` supports, reused verbatim rather than
|
|
11
|
+
* redefining the union -- see `src/ai/types.ts`'s own header for why. */
|
|
12
|
+
export type LyraRetrievalMode = RetrievalQuery['mode'];
|
|
13
|
+
/** `detail` for `lr-filters-change` -- the complete, already-updated `filters`/`scope` state
|
|
14
|
+
* after a chip removal, mirroring `<lr-source-picker>`'s `lr-sources-change` "full next state"
|
|
15
|
+
* convention rather than a single-item delta. */
|
|
16
|
+
export interface RetrievalFiltersChangeDetail {
|
|
17
|
+
filters: Record<string, unknown>;
|
|
18
|
+
scope: string[];
|
|
19
|
+
}
|
|
20
|
+
export interface LyraRetrievalSearchEventMap {
|
|
21
|
+
'lr-search': CustomEvent<RetrievalQuery>;
|
|
22
|
+
'lr-cancel': CustomEvent<CancelEventDetail>;
|
|
23
|
+
'lr-filters-change': CustomEvent<RetrievalFiltersChangeDetail>;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* `<lr-retrieval-search>` -- the query bar for a retrieval/RAG surface: query text, an active-
|
|
27
|
+
* filter/scope chip row, a vector/keyword/hybrid mode selector, and loading/error/empty status
|
|
28
|
+
* feedback. Consumes `RetrievalQuery` (`src/ai/types.ts`) as the shape emitted on submit.
|
|
29
|
+
*
|
|
30
|
+
* Fully controlled, like every other Lyra input: `query`/`mode`/`filters`/`scope` are host-owned
|
|
31
|
+
* properties. This component never performs retrieval itself -- it only emits `lr-search`; the
|
|
32
|
+
* host owns the actual fetch and toggles `loading` around it. Because this component has no way
|
|
33
|
+
* to know when a request resolves (only `loading`, set from outside), submitting again (Enter, or
|
|
34
|
+
* clicking the button) while `loading` is already `true` is treated as **superseding** the
|
|
35
|
+
* in-flight request: `lr-cancel` fires immediately before the new `lr-search`. The submit button
|
|
36
|
+
* itself doubles as an explicit Cancel affordance while `loading` -- clicking it only emits
|
|
37
|
+
* `lr-cancel`, without resubmitting, the same "just stop" action `<lr-chat-composer>`'s Stop
|
|
38
|
+
* button offers for its own `stoppable` busy state.
|
|
39
|
+
*
|
|
40
|
+
* Composes `<lr-input type="search">` for the query field, `<lr-segmented>` for the mode
|
|
41
|
+
* selector (the same small-closed-set-choice-in-a-toolbar role it already fills, sized to sit
|
|
42
|
+
* flush beside `<lr-input>`), `<lr-chip>`/`<lr-chip-group>` for removable active-filter/scope
|
|
43
|
+
* chips, `<lr-spinner>` for the loading state, and `<lr-empty>` (compact) for the empty state.
|
|
44
|
+
* `filters`/`scope` chip removal updates this component's own copy first, then emits
|
|
45
|
+
* `lr-filters-change` with the complete next state -- the same "update, then emit; reassign to
|
|
46
|
+
* control" round-trip `<lr-source-picker>`'s `selectedIds` already establishes. `empty` is a
|
|
47
|
+
* host-driven flag (the last completed search returned zero results); this component holds no
|
|
48
|
+
* results data of its own -- see `<lr-retrieval-results>` for rendering the actual chunk list.
|
|
49
|
+
*
|
|
50
|
+
* @customElement lr-retrieval-search
|
|
51
|
+
* @event lr-search - The query was submitted (Enter in the query field, or the submit button
|
|
52
|
+
* while not `loading`). `detail`: the full `RetrievalQuery` (`{ text, mode, filters, scope }`).
|
|
53
|
+
* @event lr-cancel - The in-flight request should be cancelled: either the user clicked the
|
|
54
|
+
* button while `loading` (`detail: {}`), or a new submission superseded the in-flight one before
|
|
55
|
+
* it resolved (`detail: { reason: 'superseded' }`, fired immediately before the new `lr-search`).
|
|
56
|
+
* @event lr-filters-change - A `filters`/`scope` chip's remove button was activated. `detail`: the
|
|
57
|
+
* complete updated `{ filters, scope }` state.
|
|
58
|
+
* @csspart base - The `role="search"` root landmark.
|
|
59
|
+
* @csspart row - The row holding the query field, mode selector, and submit/cancel button.
|
|
60
|
+
* @csspart query - The query `<lr-input type="search">`.
|
|
61
|
+
* @csspart mode - The vector/keyword/hybrid `<lr-segmented>`.
|
|
62
|
+
* @csspart submit - The submit/cancel `<button>`. Reads "Search" while idle, "Cancel" while
|
|
63
|
+
* `loading`.
|
|
64
|
+
* @csspart filters - The active-filter/scope `<lr-chip-group>`. Omitted entirely when both
|
|
65
|
+
* `filters` and `scope` are empty.
|
|
66
|
+
* @csspart spinner - The busy `<lr-spinner>`, shown only while `loading`.
|
|
67
|
+
* @csspart error - The `role="alert"` error message, shown only when `errorText` is non-empty and
|
|
68
|
+
* not `loading`.
|
|
69
|
+
* @csspart empty - The compact `<lr-empty>`, shown only when `empty` is `true` and neither
|
|
70
|
+
* `loading` nor `errorText` is set.
|
|
71
|
+
*/
|
|
72
|
+
export declare class LyraRetrievalSearch extends LyraElement<LyraRetrievalSearchEventMap> {
|
|
73
|
+
static styles: import("lit").CSSResultGroup[];
|
|
74
|
+
/** The current query text. Controlled -- the internal `lr-input` updates this optimistically as
|
|
75
|
+
* the user types (mirroring every other Lyra input's controlled-value convention), and a host
|
|
76
|
+
* reassignment always wins. */
|
|
77
|
+
query: string;
|
|
78
|
+
/** Retrieval mode. Defaults to `'hybrid'`, the common default for a search bar combining both
|
|
79
|
+
* vector and keyword retrieval. */
|
|
80
|
+
mode: LyraRetrievalMode;
|
|
81
|
+
/** Arbitrary metadata filters, rendered as removable `"{key}: {value}"` chips. Controlled --
|
|
82
|
+
* reassign to change what's shown; see the class doc's "update, then emit" round-trip. */
|
|
83
|
+
filters: Record<string, unknown>;
|
|
84
|
+
/** Source-scope ids/labels this query is restricted to, rendered as removable chips alongside
|
|
85
|
+
* `filters`. Same controlled round-trip as `filters`. */
|
|
86
|
+
scope: string[];
|
|
87
|
+
/** Host-driven busy flag. This component never performs retrieval itself and has no way to know
|
|
88
|
+
* when a request resolves, so the host toggles this explicitly around its own fetch -- see the
|
|
89
|
+
* class doc for the resulting submit/cancel/supersede behavior. */
|
|
90
|
+
loading: boolean;
|
|
91
|
+
/** Host-supplied error message from the last failed search, shown verbatim (caller-owned text,
|
|
92
|
+
* not localized) in a `role="alert"` region. Empty string (the default) shows nothing. */
|
|
93
|
+
errorText: string;
|
|
94
|
+
/** Host-driven flag: the last completed search returned zero results. Renders a compact
|
|
95
|
+
* `<lr-empty>` beneath the search row. Never inferred by this component itself -- see the
|
|
96
|
+
* class doc; it holds no results data of its own. */
|
|
97
|
+
empty: boolean;
|
|
98
|
+
/** Placeholder for the query field. Empty string (the default) falls back to the localized
|
|
99
|
+
* generic "Search" placeholder, which also becomes that field's accessible name (mirroring
|
|
100
|
+
* `<lr-input>`'s own placeholder-as-label fallback). */
|
|
101
|
+
placeholder: string;
|
|
102
|
+
/** Accessible name for the `role="search"` landmark. Falls back to the localized default; a
|
|
103
|
+
* host `aria-label` (via `accessibleLabel`) wins over both. */
|
|
104
|
+
label: string;
|
|
105
|
+
/** Overrides the computed accessible name for the `role="search"` landmark. Wins over `label`
|
|
106
|
+
* and the localized default. Attribute-reflects from a host-level `aria-label`. */
|
|
107
|
+
accessibleLabel: string | null;
|
|
108
|
+
private modeItems;
|
|
109
|
+
private formatFilterValue;
|
|
110
|
+
private buildQuery;
|
|
111
|
+
private submit;
|
|
112
|
+
private cancel;
|
|
113
|
+
private emitFiltersChange;
|
|
114
|
+
private removeScope;
|
|
115
|
+
private removeFilter;
|
|
116
|
+
private onQueryInput;
|
|
117
|
+
private onQueryKeyDown;
|
|
118
|
+
private onModeChange;
|
|
119
|
+
private onSubmitClick;
|
|
120
|
+
render(): TemplateResult;
|
|
121
|
+
}
|
|
122
|
+
declare global {
|
|
123
|
+
interface HTMLElementTagNameMap {
|
|
124
|
+
'lr-retrieval-search': LyraRetrievalSearch;
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=retrieval-search.class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-search.class.d.ts","sourceRoot":"","sources":["../../../src/components/retrieval-search/retrieval-search.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,yBAAyB,CAAC;AACjC,OAAO,iCAAiC,CAAC;AACzC,OAAO,uBAAuB,CAAC;AAC/B,OAAO,6BAA6B,CAAC;AACrC,OAAO,6BAA6B,CAAC;AACrC,OAAO,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAG3E;0EAC0E;AAC1E,MAAM,MAAM,iBAAiB,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;AAEvD;;kDAEkD;AAClD,MAAM,WAAW,4BAA4B;IAC3C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,WAAW,CAAC,cAAc,CAAC,CAAC;IACzC,WAAW,EAAE,WAAW,CAAC,iBAAiB,CAAC,CAAC;IAC5C,mBAAmB,EAAE,WAAW,CAAC,4BAA4B,CAAC,CAAC;CAChE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8CG;AACH,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,2BAA2B,CAAC;IAC/E,MAAM,CAAC,MAAM,iCAAgC;IAE7C;;oCAEgC;IACpB,KAAK,SAAM;IAEvB;wCACoC;IACxB,IAAI,EAAE,iBAAiB,CAAY;IAE/C;+FAC2F;IAC3D,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAM;IAEtE;8DAC0D;IAC1B,KAAK,EAAE,MAAM,EAAE,CAAM;IAErD;;wEAEoE;IACxB,OAAO,UAAS;IAE5D;+FAC2F;IACpD,SAAS,SAAM;IAEtD;;0DAEsD;IACV,KAAK,UAAS;IAE1D;;6DAEyD;IAC7C,WAAW,SAAM;IAE7B;oEACgE;IACpD,KAAK,SAAM;IAEvB;wFACoF;IAC7C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE7E,OAAO,CAAC,SAAS;IAQjB,OAAO,CAAC,iBAAiB;IAYzB,OAAO,CAAC,UAAU;IAIlB,OAAO,CAAC,MAAM;IAKd,OAAO,CAAC,MAAM;IAId,OAAO,CAAC,iBAAiB;IAOzB,OAAO,CAAC,WAAW;IAKnB,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,cAAc,CASpB;IAEF,OAAO,CAAC,YAAY,CAElB;IAEF,OAAO,CAAC,aAAa,CAMnB;IAEF,MAAM,IAAI,cAAc,CAgEvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,mBAAmB,CAAC;KAC5C;CACF"}
|
|
@@ -0,0 +1,267 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { html, nothing } from 'lit';
|
|
8
|
+
import { property } from 'lit/decorators.js';
|
|
9
|
+
import { LyraElement } from '../../internal/lyra-element.js';
|
|
10
|
+
import '../input/input.class.js';
|
|
11
|
+
import '../segmented/segmented.class.js';
|
|
12
|
+
import '../chip/chip.class.js';
|
|
13
|
+
import '../chip/chip-group.class.js';
|
|
14
|
+
import '../spinner/spinner.class.js';
|
|
15
|
+
import '../empty/empty.class.js';
|
|
16
|
+
import { styles } from './retrieval-search.styles.js';
|
|
17
|
+
/**
|
|
18
|
+
* `<lr-retrieval-search>` -- the query bar for a retrieval/RAG surface: query text, an active-
|
|
19
|
+
* filter/scope chip row, a vector/keyword/hybrid mode selector, and loading/error/empty status
|
|
20
|
+
* feedback. Consumes `RetrievalQuery` (`src/ai/types.ts`) as the shape emitted on submit.
|
|
21
|
+
*
|
|
22
|
+
* Fully controlled, like every other Lyra input: `query`/`mode`/`filters`/`scope` are host-owned
|
|
23
|
+
* properties. This component never performs retrieval itself -- it only emits `lr-search`; the
|
|
24
|
+
* host owns the actual fetch and toggles `loading` around it. Because this component has no way
|
|
25
|
+
* to know when a request resolves (only `loading`, set from outside), submitting again (Enter, or
|
|
26
|
+
* clicking the button) while `loading` is already `true` is treated as **superseding** the
|
|
27
|
+
* in-flight request: `lr-cancel` fires immediately before the new `lr-search`. The submit button
|
|
28
|
+
* itself doubles as an explicit Cancel affordance while `loading` -- clicking it only emits
|
|
29
|
+
* `lr-cancel`, without resubmitting, the same "just stop" action `<lr-chat-composer>`'s Stop
|
|
30
|
+
* button offers for its own `stoppable` busy state.
|
|
31
|
+
*
|
|
32
|
+
* Composes `<lr-input type="search">` for the query field, `<lr-segmented>` for the mode
|
|
33
|
+
* selector (the same small-closed-set-choice-in-a-toolbar role it already fills, sized to sit
|
|
34
|
+
* flush beside `<lr-input>`), `<lr-chip>`/`<lr-chip-group>` for removable active-filter/scope
|
|
35
|
+
* chips, `<lr-spinner>` for the loading state, and `<lr-empty>` (compact) for the empty state.
|
|
36
|
+
* `filters`/`scope` chip removal updates this component's own copy first, then emits
|
|
37
|
+
* `lr-filters-change` with the complete next state -- the same "update, then emit; reassign to
|
|
38
|
+
* control" round-trip `<lr-source-picker>`'s `selectedIds` already establishes. `empty` is a
|
|
39
|
+
* host-driven flag (the last completed search returned zero results); this component holds no
|
|
40
|
+
* results data of its own -- see `<lr-retrieval-results>` for rendering the actual chunk list.
|
|
41
|
+
*
|
|
42
|
+
* @customElement lr-retrieval-search
|
|
43
|
+
* @event lr-search - The query was submitted (Enter in the query field, or the submit button
|
|
44
|
+
* while not `loading`). `detail`: the full `RetrievalQuery` (`{ text, mode, filters, scope }`).
|
|
45
|
+
* @event lr-cancel - The in-flight request should be cancelled: either the user clicked the
|
|
46
|
+
* button while `loading` (`detail: {}`), or a new submission superseded the in-flight one before
|
|
47
|
+
* it resolved (`detail: { reason: 'superseded' }`, fired immediately before the new `lr-search`).
|
|
48
|
+
* @event lr-filters-change - A `filters`/`scope` chip's remove button was activated. `detail`: the
|
|
49
|
+
* complete updated `{ filters, scope }` state.
|
|
50
|
+
* @csspart base - The `role="search"` root landmark.
|
|
51
|
+
* @csspart row - The row holding the query field, mode selector, and submit/cancel button.
|
|
52
|
+
* @csspart query - The query `<lr-input type="search">`.
|
|
53
|
+
* @csspart mode - The vector/keyword/hybrid `<lr-segmented>`.
|
|
54
|
+
* @csspart submit - The submit/cancel `<button>`. Reads "Search" while idle, "Cancel" while
|
|
55
|
+
* `loading`.
|
|
56
|
+
* @csspart filters - The active-filter/scope `<lr-chip-group>`. Omitted entirely when both
|
|
57
|
+
* `filters` and `scope` are empty.
|
|
58
|
+
* @csspart spinner - The busy `<lr-spinner>`, shown only while `loading`.
|
|
59
|
+
* @csspart error - The `role="alert"` error message, shown only when `errorText` is non-empty and
|
|
60
|
+
* not `loading`.
|
|
61
|
+
* @csspart empty - The compact `<lr-empty>`, shown only when `empty` is `true` and neither
|
|
62
|
+
* `loading` nor `errorText` is set.
|
|
63
|
+
*/
|
|
64
|
+
export class LyraRetrievalSearch extends LyraElement {
|
|
65
|
+
constructor() {
|
|
66
|
+
super(...arguments);
|
|
67
|
+
/** The current query text. Controlled -- the internal `lr-input` updates this optimistically as
|
|
68
|
+
* the user types (mirroring every other Lyra input's controlled-value convention), and a host
|
|
69
|
+
* reassignment always wins. */
|
|
70
|
+
this.query = '';
|
|
71
|
+
/** Retrieval mode. Defaults to `'hybrid'`, the common default for a search bar combining both
|
|
72
|
+
* vector and keyword retrieval. */
|
|
73
|
+
this.mode = 'hybrid';
|
|
74
|
+
/** Arbitrary metadata filters, rendered as removable `"{key}: {value}"` chips. Controlled --
|
|
75
|
+
* reassign to change what's shown; see the class doc's "update, then emit" round-trip. */
|
|
76
|
+
this.filters = {};
|
|
77
|
+
/** Source-scope ids/labels this query is restricted to, rendered as removable chips alongside
|
|
78
|
+
* `filters`. Same controlled round-trip as `filters`. */
|
|
79
|
+
this.scope = [];
|
|
80
|
+
/** Host-driven busy flag. This component never performs retrieval itself and has no way to know
|
|
81
|
+
* when a request resolves, so the host toggles this explicitly around its own fetch -- see the
|
|
82
|
+
* class doc for the resulting submit/cancel/supersede behavior. */
|
|
83
|
+
this.loading = false;
|
|
84
|
+
/** Host-supplied error message from the last failed search, shown verbatim (caller-owned text,
|
|
85
|
+
* not localized) in a `role="alert"` region. Empty string (the default) shows nothing. */
|
|
86
|
+
this.errorText = '';
|
|
87
|
+
/** Host-driven flag: the last completed search returned zero results. Renders a compact
|
|
88
|
+
* `<lr-empty>` beneath the search row. Never inferred by this component itself -- see the
|
|
89
|
+
* class doc; it holds no results data of its own. */
|
|
90
|
+
this.empty = false;
|
|
91
|
+
/** Placeholder for the query field. Empty string (the default) falls back to the localized
|
|
92
|
+
* generic "Search" placeholder, which also becomes that field's accessible name (mirroring
|
|
93
|
+
* `<lr-input>`'s own placeholder-as-label fallback). */
|
|
94
|
+
this.placeholder = '';
|
|
95
|
+
/** Accessible name for the `role="search"` landmark. Falls back to the localized default; a
|
|
96
|
+
* host `aria-label` (via `accessibleLabel`) wins over both. */
|
|
97
|
+
this.label = '';
|
|
98
|
+
/** Overrides the computed accessible name for the `role="search"` landmark. Wins over `label`
|
|
99
|
+
* and the localized default. Attribute-reflects from a host-level `aria-label`. */
|
|
100
|
+
this.accessibleLabel = null;
|
|
101
|
+
this.onQueryInput = (e) => {
|
|
102
|
+
this.query = e.detail.value;
|
|
103
|
+
};
|
|
104
|
+
this.onQueryKeyDown = (e) => {
|
|
105
|
+
if (e.key !== 'Enter')
|
|
106
|
+
return;
|
|
107
|
+
// An IME composition step (e.g. confirming a Japanese/Chinese/Korean candidate) must never be
|
|
108
|
+
// treated as "the user pressed Enter to search" -- keyCode 229 is a defense-in-depth fallback
|
|
109
|
+
// for browsers that report isComposing inconsistently on the compositionend-adjacent keydown.
|
|
110
|
+
// Mirrors <lr-chat-composer>'s identical guard.
|
|
111
|
+
if (e.isComposing || e.keyCode === 229)
|
|
112
|
+
return;
|
|
113
|
+
e.preventDefault();
|
|
114
|
+
this.submit();
|
|
115
|
+
};
|
|
116
|
+
this.onModeChange = (e) => {
|
|
117
|
+
this.mode = e.detail.value;
|
|
118
|
+
};
|
|
119
|
+
this.onSubmitClick = () => {
|
|
120
|
+
if (this.loading) {
|
|
121
|
+
this.cancel();
|
|
122
|
+
return;
|
|
123
|
+
}
|
|
124
|
+
this.submit();
|
|
125
|
+
};
|
|
126
|
+
}
|
|
127
|
+
static { this.styles = [LyraElement.styles, styles]; }
|
|
128
|
+
modeItems() {
|
|
129
|
+
return [
|
|
130
|
+
{ value: 'vector', label: this.localize('retrievalModeVector') },
|
|
131
|
+
{ value: 'keyword', label: this.localize('retrievalModeKeyword') },
|
|
132
|
+
{ value: 'hybrid', label: this.localize('retrievalModeHybrid') },
|
|
133
|
+
];
|
|
134
|
+
}
|
|
135
|
+
formatFilterValue(value) {
|
|
136
|
+
if (typeof value === 'string')
|
|
137
|
+
return value;
|
|
138
|
+
if (typeof value === 'number' || typeof value === 'boolean')
|
|
139
|
+
return String(value);
|
|
140
|
+
if (Array.isArray(value))
|
|
141
|
+
return value.map((v) => this.formatFilterValue(v)).join(', ');
|
|
142
|
+
if (value == null)
|
|
143
|
+
return '';
|
|
144
|
+
try {
|
|
145
|
+
return JSON.stringify(value);
|
|
146
|
+
}
|
|
147
|
+
catch {
|
|
148
|
+
return String(value);
|
|
149
|
+
}
|
|
150
|
+
}
|
|
151
|
+
buildQuery() {
|
|
152
|
+
return { text: this.query, mode: this.mode, filters: { ...this.filters }, scope: [...this.scope] };
|
|
153
|
+
}
|
|
154
|
+
submit() {
|
|
155
|
+
if (this.loading)
|
|
156
|
+
this.emit('lr-cancel', { reason: 'superseded' });
|
|
157
|
+
this.emit('lr-search', this.buildQuery());
|
|
158
|
+
}
|
|
159
|
+
cancel() {
|
|
160
|
+
this.emit('lr-cancel', {});
|
|
161
|
+
}
|
|
162
|
+
emitFiltersChange() {
|
|
163
|
+
this.emit('lr-filters-change', {
|
|
164
|
+
filters: { ...this.filters },
|
|
165
|
+
scope: [...this.scope],
|
|
166
|
+
});
|
|
167
|
+
}
|
|
168
|
+
removeScope(value) {
|
|
169
|
+
this.scope = this.scope.filter((s) => s !== value);
|
|
170
|
+
this.emitFiltersChange();
|
|
171
|
+
}
|
|
172
|
+
removeFilter(key) {
|
|
173
|
+
const next = { ...this.filters };
|
|
174
|
+
delete next[key];
|
|
175
|
+
this.filters = next;
|
|
176
|
+
this.emitFiltersChange();
|
|
177
|
+
}
|
|
178
|
+
render() {
|
|
179
|
+
const label = this.accessibleLabel || this.label || this.localize('retrievalSearchLabel');
|
|
180
|
+
const hasFilters = Object.keys(this.filters).length > 0 || this.scope.length > 0;
|
|
181
|
+
return html `
|
|
182
|
+
<div part="base" role="search" aria-label=${label}>
|
|
183
|
+
<div part="row">
|
|
184
|
+
<lr-input
|
|
185
|
+
part="query"
|
|
186
|
+
type="search"
|
|
187
|
+
placeholder=${this.placeholder || this.localize('search')}
|
|
188
|
+
.value=${this.query}
|
|
189
|
+
@lr-input=${this.onQueryInput}
|
|
190
|
+
@keydown=${this.onQueryKeyDown}
|
|
191
|
+
></lr-input>
|
|
192
|
+
<lr-segmented
|
|
193
|
+
part="mode"
|
|
194
|
+
size="s"
|
|
195
|
+
.items=${this.modeItems()}
|
|
196
|
+
.value=${this.mode}
|
|
197
|
+
label=${this.localize('retrievalModeLabel')}
|
|
198
|
+
@lr-change=${this.onModeChange}
|
|
199
|
+
></lr-segmented>
|
|
200
|
+
<button part="submit" type="button" @click=${this.onSubmitClick}>
|
|
201
|
+
${this.loading ? this.localize('cancel') : this.localize('search')}
|
|
202
|
+
</button>
|
|
203
|
+
</div>
|
|
204
|
+
${hasFilters
|
|
205
|
+
? html `<lr-chip-group
|
|
206
|
+
part="filters"
|
|
207
|
+
role="group"
|
|
208
|
+
aria-label=${this.localize('retrievalFiltersLabel')}
|
|
209
|
+
>
|
|
210
|
+
${this.scope.map((s) => html `<lr-chip tone="brand" removable value=${s} @lr-remove=${() => this.removeScope(s)}
|
|
211
|
+
>${s}</lr-chip
|
|
212
|
+
>`)}
|
|
213
|
+
${Object.entries(this.filters).map(([k, v]) => html `<lr-chip removable value=${k} @lr-remove=${() => this.removeFilter(k)}
|
|
214
|
+
>${this.localize('retrievalFilterChipLabel', undefined, {
|
|
215
|
+
key: k,
|
|
216
|
+
value: this.formatFilterValue(v),
|
|
217
|
+
})}</lr-chip
|
|
218
|
+
>`)}
|
|
219
|
+
</lr-chip-group>`
|
|
220
|
+
: nothing}
|
|
221
|
+
${this.loading
|
|
222
|
+
? html `<lr-spinner part="spinner"></lr-spinner>`
|
|
223
|
+
: this.errorText
|
|
224
|
+
? html `<div part="error" role="alert">${this.errorText}</div>`
|
|
225
|
+
: this.empty
|
|
226
|
+
? html `<lr-empty
|
|
227
|
+
part="empty"
|
|
228
|
+
compact
|
|
229
|
+
heading=${this.localize('noMatches')}
|
|
230
|
+
description=${this.localize('retrievalSearchEmptyDescription', undefined)}
|
|
231
|
+
></lr-empty>`
|
|
232
|
+
: nothing}
|
|
233
|
+
</div>
|
|
234
|
+
`;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
__decorate([
|
|
238
|
+
property()
|
|
239
|
+
], LyraRetrievalSearch.prototype, "query", void 0);
|
|
240
|
+
__decorate([
|
|
241
|
+
property()
|
|
242
|
+
], LyraRetrievalSearch.prototype, "mode", void 0);
|
|
243
|
+
__decorate([
|
|
244
|
+
property({ attribute: false })
|
|
245
|
+
], LyraRetrievalSearch.prototype, "filters", void 0);
|
|
246
|
+
__decorate([
|
|
247
|
+
property({ attribute: false })
|
|
248
|
+
], LyraRetrievalSearch.prototype, "scope", void 0);
|
|
249
|
+
__decorate([
|
|
250
|
+
property({ type: Boolean, reflect: true })
|
|
251
|
+
], LyraRetrievalSearch.prototype, "loading", void 0);
|
|
252
|
+
__decorate([
|
|
253
|
+
property({ attribute: 'error-text' })
|
|
254
|
+
], LyraRetrievalSearch.prototype, "errorText", void 0);
|
|
255
|
+
__decorate([
|
|
256
|
+
property({ type: Boolean, reflect: true })
|
|
257
|
+
], LyraRetrievalSearch.prototype, "empty", void 0);
|
|
258
|
+
__decorate([
|
|
259
|
+
property()
|
|
260
|
+
], LyraRetrievalSearch.prototype, "placeholder", void 0);
|
|
261
|
+
__decorate([
|
|
262
|
+
property()
|
|
263
|
+
], LyraRetrievalSearch.prototype, "label", void 0);
|
|
264
|
+
__decorate([
|
|
265
|
+
property({ attribute: 'aria-label' })
|
|
266
|
+
], LyraRetrievalSearch.prototype, "accessibleLabel", void 0);
|
|
267
|
+
//# sourceMappingURL=retrieval-search.class.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-search.class.js","sourceRoot":"","sources":["../../../src/components/retrieval-search/retrieval-search.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export * from './retrieval-search.class.js';
|
|
2
|
+
import '../input/input.js';
|
|
3
|
+
import '../segmented/segmented.js';
|
|
4
|
+
import '../chip/chip.js';
|
|
5
|
+
import '../chip/chip-group.js';
|
|
6
|
+
import '../spinner/spinner.js';
|
|
7
|
+
import '../empty/empty.js';
|
|
8
|
+
//# sourceMappingURL=retrieval-search.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-search.d.ts","sourceRoot":"","sources":["../../../src/components/retrieval-search/retrieval-search.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAG5C,OAAO,mBAAmB,CAAC;AAC3B,OAAO,2BAA2B,CAAC;AACnC,OAAO,iBAAiB,CAAC;AACzB,OAAO,uBAAuB,CAAC;AAC/B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,mBAAmB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './retrieval-search.class.js';
|
|
2
|
+
import { LyraRetrievalSearch } from './retrieval-search.class.js';
|
|
3
|
+
import { defineElement } from '../../internal/prefix.js';
|
|
4
|
+
import '../input/input.js';
|
|
5
|
+
import '../segmented/segmented.js';
|
|
6
|
+
import '../chip/chip.js';
|
|
7
|
+
import '../chip/chip-group.js';
|
|
8
|
+
import '../spinner/spinner.js';
|
|
9
|
+
import '../empty/empty.js';
|
|
10
|
+
defineElement('retrieval-search', LyraRetrievalSearch);
|
|
11
|
+
//# sourceMappingURL=retrieval-search.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-search.js","sourceRoot":"","sources":["../../../src/components/retrieval-search/retrieval-search.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,mBAAmB,CAAC;AAC3B,OAAO,2BAA2B,CAAC;AACnC,OAAO,iBAAiB,CAAC;AACzB,OAAO,uBAAuB,CAAC;AAC/B,OAAO,uBAAuB,CAAC;AAC/B,OAAO,mBAAmB,CAAC;AAC3B,aAAa,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-search.styles.d.ts","sourceRoot":"","sources":["../../../src/components/retrieval-search/retrieval-search.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAwElB,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { css } from 'lit';
|
|
2
|
+
export const styles = css `
|
|
3
|
+
:host {
|
|
4
|
+
display: block;
|
|
5
|
+
min-inline-size: 0;
|
|
6
|
+
}
|
|
7
|
+
[part='base'] {
|
|
8
|
+
display: flex;
|
|
9
|
+
flex-direction: column;
|
|
10
|
+
gap: var(--lr-space-s);
|
|
11
|
+
}
|
|
12
|
+
[part='row'] {
|
|
13
|
+
display: flex;
|
|
14
|
+
align-items: center;
|
|
15
|
+
flex-wrap: wrap;
|
|
16
|
+
gap: var(--lr-space-xs);
|
|
17
|
+
}
|
|
18
|
+
[part='query'] {
|
|
19
|
+
flex: 1 1 var(--lr-size-12rem);
|
|
20
|
+
min-inline-size: 0;
|
|
21
|
+
}
|
|
22
|
+
[part='mode'] {
|
|
23
|
+
flex: 0 0 auto;
|
|
24
|
+
}
|
|
25
|
+
[part='submit'] {
|
|
26
|
+
flex: 0 0 auto;
|
|
27
|
+
box-sizing: border-box;
|
|
28
|
+
min-block-size: var(--lr-icon-button-size);
|
|
29
|
+
padding-inline: var(--lr-space-m);
|
|
30
|
+
border: var(--lr-border-width-thin) solid var(--lr-color-brand);
|
|
31
|
+
border-radius: var(--lr-radius);
|
|
32
|
+
background: var(--lr-color-brand);
|
|
33
|
+
color: var(--lr-color-on-brand);
|
|
34
|
+
font: inherit;
|
|
35
|
+
font-size: var(--lr-font-size-sm);
|
|
36
|
+
font-weight: var(--lr-font-weight-semibold);
|
|
37
|
+
cursor: pointer;
|
|
38
|
+
transition:
|
|
39
|
+
background-color var(--lr-transition-fast),
|
|
40
|
+
border-color var(--lr-transition-fast);
|
|
41
|
+
}
|
|
42
|
+
[part='submit']:hover {
|
|
43
|
+
background: var(--lr-color-brand);
|
|
44
|
+
filter: brightness(0.92);
|
|
45
|
+
}
|
|
46
|
+
[part='submit']:focus-visible {
|
|
47
|
+
outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);
|
|
48
|
+
outline-offset: var(--lr-focus-ring-offset);
|
|
49
|
+
}
|
|
50
|
+
:host([loading]) [part='submit'] {
|
|
51
|
+
background: var(--lr-color-surface);
|
|
52
|
+
color: var(--lr-color-text);
|
|
53
|
+
border-color: var(--lr-color-border);
|
|
54
|
+
}
|
|
55
|
+
[part='filters'] {
|
|
56
|
+
display: flex;
|
|
57
|
+
}
|
|
58
|
+
[part='spinner'] {
|
|
59
|
+
align-self: flex-start;
|
|
60
|
+
}
|
|
61
|
+
[part='error'] {
|
|
62
|
+
font-size: var(--lr-font-size-sm);
|
|
63
|
+
color: var(--lr-color-danger);
|
|
64
|
+
}
|
|
65
|
+
[part='empty'] {
|
|
66
|
+
align-self: stretch;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@media (prefers-reduced-motion: reduce) {
|
|
70
|
+
[part='submit'] {
|
|
71
|
+
transition: none !important;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
`;
|
|
75
|
+
//# sourceMappingURL=retrieval-search.styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-search.styles.js","sourceRoot":"","sources":["../../../src/components/retrieval-search/retrieval-search.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwExB,CAAC"}
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import { type TemplateResult, type PropertyValues } from 'lit';
|
|
2
|
+
import { LyraElement } from '../../internal/lyra-element.js';
|
|
3
|
+
import type { RetrievalChunk } from '../../ai/types.js';
|
|
4
|
+
import '../span-waterfall/span-waterfall.class.js';
|
|
5
|
+
import '../chunk-inspector/chunk-inspector.class.js';
|
|
6
|
+
/** One of the five fixed stages a retrieval pipeline moves through, in order. */
|
|
7
|
+
export type RetrievalStageKind = 'query-rewrite' | 'embed' | 'retrieve' | 'rerank' | 'filter';
|
|
8
|
+
/**
|
|
9
|
+
* Evidence backing one `RetrievalStage`, rendered in that stage's expandable evidence panel.
|
|
10
|
+
* `chunks` reuses `RetrievalChunk` (`src/ai/types.ts`) verbatim -- the same shape a retrieval
|
|
11
|
+
* step already produces -- and renders through `<lr-chunk-inspector>` rather than new chunk
|
|
12
|
+
* markup, mapping `source.id -> sourceId` / `source.name -> title`.
|
|
13
|
+
*/
|
|
14
|
+
export interface RetrievalStageEvidence {
|
|
15
|
+
/** Free-form text, e.g. the rewritten query string or an embedding model identifier. */
|
|
16
|
+
text?: string;
|
|
17
|
+
/** Chunks this stage produced or retained, in this stage's own order. */
|
|
18
|
+
chunks?: RetrievalChunk[];
|
|
19
|
+
/** Arbitrary stage facts (e.g. filter criteria, embedding dimensions), rendered as a plain key/value list. */
|
|
20
|
+
metadata?: Record<string, unknown>;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* One stage in a retrieval pipeline. Projected to one `LyraSpan` for the internal
|
|
24
|
+
* `<lr-span-waterfall>` timeline -- `id`/`startMs`/`endMs`/`status` map straight across, `kind`
|
|
25
|
+
* maps onto whichever existing `LyraSpan['kind']` fits best (`embed` -> `'embedding'`, `retrieve`
|
|
26
|
+
* -> `'retriever'`, `query-rewrite` -> `'llm'`, `rerank`/`filter` -> `'tool'`), and the visible
|
|
27
|
+
* bar name is `label` (if set) or the stage's own localized default for `kind`.
|
|
28
|
+
*/
|
|
29
|
+
export interface RetrievalStage {
|
|
30
|
+
id: string;
|
|
31
|
+
kind: RetrievalStageKind;
|
|
32
|
+
/** Overrides the localized default label for `kind` (e.g. a specific embedding-model name). */
|
|
33
|
+
label?: string;
|
|
34
|
+
/** Milliseconds relative to the trace start. */
|
|
35
|
+
startMs: number;
|
|
36
|
+
/** Milliseconds relative to the trace start. Absent while the stage is still running. */
|
|
37
|
+
endMs?: number;
|
|
38
|
+
/** Same vocabulary as `LyraSpan.status`. */
|
|
39
|
+
status: 'pending' | 'running' | 'success' | 'error' | 'denied';
|
|
40
|
+
/** Secondary text under the stage name, e.g. "12 chunks, top score 0.87". */
|
|
41
|
+
detail?: string;
|
|
42
|
+
evidence?: RetrievalStageEvidence;
|
|
43
|
+
}
|
|
44
|
+
export interface LyraRetrievalTraceEventMap {
|
|
45
|
+
'lr-stage-select': CustomEvent<{
|
|
46
|
+
id: string;
|
|
47
|
+
}>;
|
|
48
|
+
'lr-stage-toggle': CustomEvent<{
|
|
49
|
+
id: string;
|
|
50
|
+
expanded: boolean;
|
|
51
|
+
}>;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* `<lr-retrieval-trace>` — a retrieval pipeline's stage timeline (query rewriting, embedding,
|
|
55
|
+
* retrieval, reranking, filtering), rendered through `<lr-span-waterfall>`'s existing
|
|
56
|
+
* time-scaled bar rendering, plus a disclosure list below it exposing each stage's evidence:
|
|
57
|
+
* free-form text, retrieved/reranked/filtered chunks via `<lr-chunk-inspector>`, and/or arbitrary
|
|
58
|
+
* stage metadata. Never fetches, ranks, or computes retrieval results itself.
|
|
59
|
+
*
|
|
60
|
+
* @customElement lr-retrieval-trace
|
|
61
|
+
* @event lr-stage-select - A stage's bar was activated in the timeline (click, Enter, Space). `detail: { id }`.
|
|
62
|
+
* @event lr-stage-toggle - A stage's evidence panel was expanded or collapsed (via its own toggle,
|
|
63
|
+
* or implicitly by selecting that stage in the timeline for the first time). `detail: { id, expanded }`.
|
|
64
|
+
* @csspart base - The root wrapper.
|
|
65
|
+
* @csspart timeline - The internal `<lr-span-waterfall>` element.
|
|
66
|
+
* @csspart evidence-list - The wrapper around every stage's evidence disclosure row. Omitted when no stage has evidence.
|
|
67
|
+
* @csspart evidence-row - One stage's evidence disclosure row. Omitted for a stage with no evidence.
|
|
68
|
+
* @csspart evidence-toggle - A stage's evidence disclosure `<button>`.
|
|
69
|
+
* @csspart evidence-toggle-icon - The disclosure button's chevron glyph.
|
|
70
|
+
* @csspart evidence-body - A stage's evidence content wrapper, hidden while collapsed.
|
|
71
|
+
* @csspart evidence-text - A stage's free-form text evidence.
|
|
72
|
+
* @csspart evidence-metadata - A stage's key/value metadata list (a `<dl>`).
|
|
73
|
+
* @csspart evidence-metadata-key - One metadata entry's key (a `<dt>`).
|
|
74
|
+
* @csspart evidence-metadata-value - One metadata entry's value (a `<dd>`).
|
|
75
|
+
*/
|
|
76
|
+
export declare class LyraRetrievalTrace extends LyraElement<LyraRetrievalTraceEventMap> {
|
|
77
|
+
static styles: import("lit").CSSResultGroup[];
|
|
78
|
+
/** The pipeline's stages, in any order -- the internal timeline sorts them by `startMs`. */
|
|
79
|
+
stages: RetrievalStage[];
|
|
80
|
+
/** Controlled selection, forwarded verbatim to the internal `<lr-span-waterfall>`'s `activeSpanId`. */
|
|
81
|
+
activeStageId: string | null;
|
|
82
|
+
/** Accessible name for the internal timeline. Falls back to a host `aria-label`, then the timeline's own localized default. */
|
|
83
|
+
label: string;
|
|
84
|
+
/** Ids of stages whose evidence panel is open. Absence means collapsed -- every stage starts collapsed. */
|
|
85
|
+
private expandedStageIds;
|
|
86
|
+
private readonly evidenceIdBase;
|
|
87
|
+
private stageLabel;
|
|
88
|
+
private toSpans;
|
|
89
|
+
private toggleEvidence;
|
|
90
|
+
private onStageSelect;
|
|
91
|
+
protected willUpdate(changed: PropertyValues): void;
|
|
92
|
+
private renderEvidenceBody;
|
|
93
|
+
private renderEvidenceRow;
|
|
94
|
+
render(): TemplateResult;
|
|
95
|
+
}
|
|
96
|
+
declare global {
|
|
97
|
+
interface HTMLElementTagNameMap {
|
|
98
|
+
'lr-retrieval-trace': LyraRetrievalTrace;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
//# sourceMappingURL=retrieval-trace.class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"retrieval-trace.class.d.ts","sourceRoot":"","sources":["../../../src/components/retrieval-trace/retrieval-trace.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE9E,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAG7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAGxD,OAAO,2CAA2C,CAAC;AACnD,OAAO,6CAA6C,CAAC;AAGrD,iFAAiF;AACjF,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,OAAO,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,CAAC;AAE9F;;;;;GAKG;AACH,MAAM,WAAW,sBAAsB;IACrC,wFAAwF;IACxF,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,yEAAyE;IACzE,MAAM,CAAC,EAAE,cAAc,EAAE,CAAC;IAC1B,8GAA8G;IAC9G,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,cAAc;IAC7B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,kBAAkB,CAAC;IACzB,+FAA+F;IAC/F,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,OAAO,EAAE,MAAM,CAAC;IAChB,yFAAyF;IACzF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC/D,6EAA6E;IAC7E,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,sBAAsB,CAAC;CACnC;AA2CD,MAAM,WAAW,0BAA0B;IACzC,iBAAiB,EAAE,WAAW,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,iBAAiB,EAAE,WAAW,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACnE;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,qBAAa,kBAAmB,SAAQ,WAAW,CAAC,0BAA0B,CAAC;IAC7E,MAAM,CAAC,MAAM,iCAAgC;IAE7C,4FAA4F;IAC5D,MAAM,EAAE,cAAc,EAAE,CAAM;IAC9D,uGAAuG;IAC3D,aAAa,EAAE,MAAM,GAAG,IAAI,CAAQ;IAChF,+HAA+H;IACnH,KAAK,SAAM;IAEvB,2GAA2G;IAClG,OAAO,CAAC,gBAAgB,CAAqB;IAEtD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA6B;IAE5D,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,OAAO;IAcf,OAAO,CAAC,cAAc;IAStB,OAAO,CAAC,aAAa,CAcnB;IAEF,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAYlD;IAED,OAAO,CAAC,kBAAkB;IAoB1B,OAAO,CAAC,iBAAiB;IAsBzB,MAAM,IAAI,cAAc,CAiBvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,oBAAoB,EAAE,kBAAkB,CAAC;KAC1C;CACF"}
|