@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
|
@@ -81,7 +81,11 @@ const STATUS_TEXT_KEY = {
|
|
|
81
81
|
* finishing), is additionally announced through an internal
|
|
82
82
|
* `<lr-live-region>` (see that component's header for the throttled-
|
|
83
83
|
* announcement wiring this composes) so a screen-reader user who isn't
|
|
84
|
-
* currently focused on this message still learns about it
|
|
84
|
+
* currently focused on this message still learns about it — *unless* the
|
|
85
|
+
* `failure` slot has content, in which case this internal announcement is
|
|
86
|
+
* skipped: the host's own `role="alert"` failure content is expected to
|
|
87
|
+
* announce itself, and firing both would double-announce the same failure
|
|
88
|
+
* with two different (and differently specific) messages. This differs
|
|
85
89
|
* from `<lr-typing-indicator>`'s deliberately simpler `role="status"`
|
|
86
90
|
* approach — that component only ever has one thing to announce (its own
|
|
87
91
|
* mount); this one has a `status` that can flip between several values
|
|
@@ -105,7 +109,24 @@ const STATUS_TEXT_KEY = {
|
|
|
105
109
|
* @slot badges - Small status/metric chips (e.g. token count, latency, model name) — entirely app-supplied; this component computes none of that itself.
|
|
106
110
|
* @slot actions - Action controls (e.g. copy, retry), rendered at the end of the footer.
|
|
107
111
|
* @slot attachments - File/image attachment chips, rendered below the message body by default; see `attachments-position`.
|
|
108
|
-
* @
|
|
112
|
+
* @slot failure - Only ever rendered while `status="failed"`. Empty (the default), the footer keeps
|
|
113
|
+
* its built-in `[part="status-text"]`/`[part="retry-button"]` exactly as before. The moment this
|
|
114
|
+
* slot has assigned content, that built-in status text and retry button are suppressed — the host
|
|
115
|
+
* is now fully responsible for presenting its own failure UI, and the built-in `chatFailedAnnounce`
|
|
116
|
+
* live-region announcement is suppressed too (see `@event lr-retry` below for the effect on that
|
|
117
|
+
* event, and the "Accessibility of `status`" paragraph above for the built-in announcement this
|
|
118
|
+
* replaces). Content assigned here should carry `role="alert"` itself when it represents an
|
|
119
|
+
* actionable send failure — this component does not add that role on the host's behalf, since it
|
|
120
|
+
* has no way to know what markup the host puts in this slot. This mirrors `lr-flow-node`'s `header`
|
|
121
|
+
* slot, which replaces that component's own built-in heading row the same way.
|
|
122
|
+
* @event lr-retry - Fired by the built-in retry button, only rendered when `status="failed"` and the
|
|
123
|
+
* `failure` slot is empty. `detail: { messageId?: string }` includes this element's stable
|
|
124
|
+
* `messageId` when supplied, so a conversation surface can identify the message without a
|
|
125
|
+
* closure around each row. A host using the `failure` slot owns its own retry control and is not
|
|
126
|
+
* required to use this event at all — but nothing stops that control from dispatching its own
|
|
127
|
+
* `new CustomEvent('lr-retry', { bubbles: true, composed: true })` to stay consistent with the
|
|
128
|
+
* same event contract a listener further up a conversation surface already relies on for every
|
|
129
|
+
* other message.
|
|
109
130
|
* @event lr-collapse-toggle - `detail: boolean` (the new `collapsed` state) — fired when the user activates the built-in collapse button.
|
|
110
131
|
* @csspart bubble - The message bubble root. Programmatically focusable (`tabindex="-1"`) so focus has a stable place to land when the built-in retry button is removed (e.g. a `lr-retry` listener flipping `status` away from `"failed"`).
|
|
111
132
|
* @csspart header - The row above the message body — avatar, badges, and the collapse toggle. Hidden entirely when none of those have anything to show.
|
|
@@ -114,6 +135,9 @@ const STATUS_TEXT_KEY = {
|
|
|
114
135
|
* @csspart collapse-button - The built-in collapse/expand toggle (only rendered when `collapsible`).
|
|
115
136
|
* @csspart body - The wrapper around the default slot (the message content). Hidden while `collapsed`.
|
|
116
137
|
* @csspart attachments - The wrapper around the `attachments` slot.
|
|
138
|
+
* @csspart failure - The `failure` slot itself (`display: contents` — it contributes no box of its
|
|
139
|
+
* own, so the host's own content lays out exactly as if it were a direct child of `bubble`, with no
|
|
140
|
+
* `::part(failure)` override needed to get there). Only present in the DOM while `status="failed"`.
|
|
117
141
|
* @csspart footer - The row below the message body — status, timestamp, retry, and actions. Hidden entirely when none of those have anything to show.
|
|
118
142
|
* @csspart status-indicator - A small decorative (`aria-hidden`) dot reflecting `status`; absent while `status="sent"`.
|
|
119
143
|
* @csspart status-text - The visible text twin of `status-indicator` — carries the state in text, not just color.
|
|
@@ -129,6 +153,9 @@ export class LyraChatMessage extends LyraElement {
|
|
|
129
153
|
super(...arguments);
|
|
130
154
|
/** Who authored the message. Reflects to `data-role` — see the class doc. */
|
|
131
155
|
this.role = 'assistant';
|
|
156
|
+
/** Optional stable application-defined identifier for this message. Included in `lr-retry`
|
|
157
|
+
* detail when set. */
|
|
158
|
+
this.messageId = '';
|
|
132
159
|
/** Shows the built-in collapse/expand toggle in the header. */
|
|
133
160
|
this.collapsible = false;
|
|
134
161
|
/** Whether the message body is currently hidden. Effective whenever set,
|
|
@@ -151,6 +178,11 @@ export class LyraChatMessage extends LyraElement {
|
|
|
151
178
|
this.hasBadgesSlot = false;
|
|
152
179
|
this.hasAttachmentsSlot = false;
|
|
153
180
|
this.hasActionsSlot = false;
|
|
181
|
+
/** Whether the `failure` slot currently has assigned content. Only meaningful while
|
|
182
|
+
* `status === "failed"` -- that's the only time the slot itself is even in the render (see
|
|
183
|
+
* `render()`), mirroring `lr-flow-node`'s identical `hasHeaderSlot` flag for its own
|
|
184
|
+
* entirely-replaces-the-built-in-UI `header` slot. */
|
|
185
|
+
this.hasFailureSlot = false;
|
|
154
186
|
this.bodyId = nextId('chat-message-body');
|
|
155
187
|
this._status = 'sent';
|
|
156
188
|
/** The value `status` held immediately before its current one, recorded
|
|
@@ -182,6 +214,9 @@ export class LyraChatMessage extends LyraElement {
|
|
|
182
214
|
this.onActionsSlotChange = (e) => {
|
|
183
215
|
this.hasActionsSlot = e.target.assignedElements({ flatten: true }).length > 0;
|
|
184
216
|
};
|
|
217
|
+
this.onFailureSlotChange = (e) => {
|
|
218
|
+
this.hasFailureSlot = e.target.assignedElements({ flatten: true }).length > 0;
|
|
219
|
+
};
|
|
185
220
|
this.toggleCollapsed = () => {
|
|
186
221
|
this.collapsed = !this.collapsed;
|
|
187
222
|
this.emit('lr-collapse-toggle', this.collapsed);
|
|
@@ -193,7 +228,7 @@ export class LyraChatMessage extends LyraElement {
|
|
|
193
228
|
// so it lands somewhere stable inside the message instead of silently
|
|
194
229
|
// reverting to `<body>` once the button it was on disappears.
|
|
195
230
|
this.bubbleEl?.focus();
|
|
196
|
-
this.emit('lr-retry');
|
|
231
|
+
this.emit('lr-retry', { messageId: this.messageId || undefined });
|
|
197
232
|
};
|
|
198
233
|
}
|
|
199
234
|
static { this.styles = [LyraElement.styles, styles]; }
|
|
@@ -220,12 +255,38 @@ export class LyraChatMessage extends LyraElement {
|
|
|
220
255
|
this._status = value;
|
|
221
256
|
this.requestUpdate('status', old);
|
|
222
257
|
}
|
|
223
|
-
willUpdate() {
|
|
258
|
+
willUpdate(changed) {
|
|
224
259
|
if (!this.hasUpdated) {
|
|
225
260
|
this.hasAvatarSlot = this.hasSlotted('avatar');
|
|
226
261
|
this.hasBadgesSlot = this.hasSlotted('badges');
|
|
227
262
|
this.hasAttachmentsSlot = this.hasSlotted('attachments');
|
|
228
263
|
this.hasActionsSlot = this.hasSlotted('actions');
|
|
264
|
+
// Mounting directly into status="failed" with failure-slot content already present in the
|
|
265
|
+
// initial markup -- the <slot name="failure"> element is about to exist for the very first
|
|
266
|
+
// time this render, so there's no prior slotchange to have fired yet. Same "detected on first
|
|
267
|
+
// paint, not just via slotchange" need the avatar/badges flags above already have.
|
|
268
|
+
if (this.status === 'failed') {
|
|
269
|
+
this.hasFailureSlot = this.hasSlotted('failure');
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
else if (changed.has('status')) {
|
|
273
|
+
if (this.status === 'failed') {
|
|
274
|
+
// Entering "failed" *after* mount -- the <slot name="failure"> element didn't exist in the
|
|
275
|
+
// previous render (see render()), so any slot="failure" content the host already had sitting
|
|
276
|
+
// in its light DOM has never had a slotchange fire for it either. Recheck directly, same
|
|
277
|
+
// reasoning as the mount-time check above.
|
|
278
|
+
this.hasFailureSlot = this.hasSlotted('failure');
|
|
279
|
+
}
|
|
280
|
+
else if (this.previousStatus === 'failed' && this.hasFailureSlot && this.isFocusWithinFailureSlot()) {
|
|
281
|
+
// Leaving "failed" while the host's own failure content held focus (e.g. the host's own
|
|
282
|
+
// retry button, whose click listener is documented to flip status away from "failed") --
|
|
283
|
+
// the <slot name="failure"> this content was rendering through is about to disappear from
|
|
284
|
+
// this render entirely. An assigned node with no <slot> left to render into is forcibly
|
|
285
|
+
// blurred by the browser, which silently drops focus to <body> if nothing intervenes. Move
|
|
286
|
+
// focus to the always-rendered bubble first, synchronously, mirroring onRetryClick's
|
|
287
|
+
// identical rescue for the built-in retry button.
|
|
288
|
+
this.bubbleEl?.focus();
|
|
289
|
+
}
|
|
229
290
|
}
|
|
230
291
|
}
|
|
231
292
|
updated(changed) {
|
|
@@ -238,6 +299,17 @@ export class LyraChatMessage extends LyraElement {
|
|
|
238
299
|
hasSlotted(name) {
|
|
239
300
|
return Array.from(this.children).some((el) => el.getAttribute('slot') === name);
|
|
240
301
|
}
|
|
302
|
+
/** Whether `document.activeElement` is (or is inside) one of this host's `slot="failure"`
|
|
303
|
+
* children. Slotting doesn't move an element out of the light DOM -- `document.activeElement`
|
|
304
|
+
* reports the actual focused node regardless of where Shadow DOM projects it for rendering --
|
|
305
|
+
* so this walks the host's real children, same as `hasSlotted` above, rather than anything
|
|
306
|
+
* shadow-root-relative. */
|
|
307
|
+
isFocusWithinFailureSlot() {
|
|
308
|
+
const active = document.activeElement;
|
|
309
|
+
if (!active)
|
|
310
|
+
return false;
|
|
311
|
+
return Array.from(this.children).some((el) => el.getAttribute('slot') === 'failure' && el.contains(active));
|
|
312
|
+
}
|
|
241
313
|
get normalizedTimestamp() {
|
|
242
314
|
if (this.timestamp === undefined)
|
|
243
315
|
return undefined;
|
|
@@ -254,6 +326,11 @@ export class LyraChatMessage extends LyraElement {
|
|
|
254
326
|
if (!region)
|
|
255
327
|
return;
|
|
256
328
|
if (this.status === 'failed') {
|
|
329
|
+
// The `failure` slot's own content is expected to carry `role="alert"` and announce itself --
|
|
330
|
+
// see the class doc's "Accessibility of `status`" paragraph. Firing this generic announcement
|
|
331
|
+
// on top of that would double-announce the same failure.
|
|
332
|
+
if (this.hasFailureSlot)
|
|
333
|
+
return;
|
|
257
334
|
region.mode = 'assertive';
|
|
258
335
|
region.announce(this.localize('chatFailedAnnounce'), { force: true });
|
|
259
336
|
}
|
|
@@ -265,10 +342,14 @@ export class LyraChatMessage extends LyraElement {
|
|
|
265
342
|
render() {
|
|
266
343
|
const ts = this.normalizedTimestamp;
|
|
267
344
|
const formatter = this.formatTimestamp ?? ((date) => defaultFormatTimestamp(date, this.effectiveLocale));
|
|
268
|
-
|
|
345
|
+
// Once the `failure` slot is populated it takes over full responsibility for presenting the
|
|
346
|
+
// failed state -- suppress the built-in status text and retry button so a consumer is never
|
|
347
|
+
// shown both at once (see the class doc's `failure` slot entry).
|
|
348
|
+
const suppressBuiltInFailedUi = this.status === 'failed' && this.hasFailureSlot;
|
|
349
|
+
const statusText = suppressBuiltInFailedUi ? undefined : this.statusText;
|
|
269
350
|
const showHeader = this.hasAvatarSlot || this.hasBadgesSlot || this.collapsible;
|
|
270
|
-
// `statusText` is already truthy whenever `status === 'failed'
|
|
271
|
-
// alone covers that case here too.
|
|
351
|
+
// `statusText` is already truthy whenever `status === 'failed'` and the built-in UI isn't
|
|
352
|
+
// suppressed, so it alone covers that case here too.
|
|
272
353
|
const showFooter = Boolean(statusText) || Boolean(ts) || (!this.actionsOutsideBubble && this.hasActionsSlot);
|
|
273
354
|
const actionsBlock = html `<span part="actions" ?hidden=${!this.hasActionsSlot}
|
|
274
355
|
><slot name="actions" @slotchange=${this.onActionsSlotChange}></slot
|
|
@@ -303,6 +384,9 @@ export class LyraChatMessage extends LyraElement {
|
|
|
303
384
|
<slot></slot>
|
|
304
385
|
</div>
|
|
305
386
|
${this.attachmentsPosition === 'before' ? nothing : attachmentsBlock}
|
|
387
|
+
${this.status === 'failed'
|
|
388
|
+
? html `<slot part="failure" name="failure" @slotchange=${this.onFailureSlotChange}></slot>`
|
|
389
|
+
: nothing}
|
|
306
390
|
<div part="footer" ?hidden=${!showFooter}>
|
|
307
391
|
${statusText
|
|
308
392
|
? html `<span part="status-indicator" aria-hidden="true"></span><span part="status-text"
|
|
@@ -310,7 +394,7 @@ export class LyraChatMessage extends LyraElement {
|
|
|
310
394
|
>`
|
|
311
395
|
: nothing}
|
|
312
396
|
${ts ? html `<time part="timestamp" datetime=${ts.toISOString()}>${formatter(ts)}</time>` : nothing}
|
|
313
|
-
${this.status === 'failed'
|
|
397
|
+
${this.status === 'failed' && !suppressBuiltInFailedUi
|
|
314
398
|
? html `<button part="retry-button" type="button" @click=${this.onRetryClick}>
|
|
315
399
|
${retryIcon()}<span>${this.localize('retry')}</span>
|
|
316
400
|
</button>`
|
|
@@ -326,6 +410,9 @@ export class LyraChatMessage extends LyraElement {
|
|
|
326
410
|
__decorate([
|
|
327
411
|
property({ reflect: true, attribute: 'data-role' })
|
|
328
412
|
], LyraChatMessage.prototype, "role", void 0);
|
|
413
|
+
__decorate([
|
|
414
|
+
property({ attribute: 'message-id', reflect: true })
|
|
415
|
+
], LyraChatMessage.prototype, "messageId", void 0);
|
|
329
416
|
__decorate([
|
|
330
417
|
property({ attribute: false })
|
|
331
418
|
], LyraChatMessage.prototype, "timestamp", void 0);
|
|
@@ -356,6 +443,9 @@ __decorate([
|
|
|
356
443
|
__decorate([
|
|
357
444
|
state()
|
|
358
445
|
], LyraChatMessage.prototype, "hasActionsSlot", void 0);
|
|
446
|
+
__decorate([
|
|
447
|
+
state()
|
|
448
|
+
], LyraChatMessage.prototype, "hasFailureSlot", void 0);
|
|
359
449
|
__decorate([
|
|
360
450
|
query('lr-live-region')
|
|
361
451
|
], LyraChatMessage.prototype, "liveRegion", void 0);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message.class.js","sourceRoot":"","sources":["../../../src/components/chat-message/chat-message.class.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,EAAoE,MAAM,KAAK,CAAC;AAC3G,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAEjE,OAAO,qCAAqC,CAAC;AAC7C,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAKlD,2DAA2D;AAC3D,wEAAwE;AACxE,6EAA6E;AAC7E,qEAAqE;AACrE,gEAAgE;AAChE,gEAAgE;AAChE,MAAM,aAAa,GAAG,WAAW,CAAC;AAClC,MAAM,iBAAiB,GAAG,MAAM,CAAC;AAEjC,SAAS,SAAS;IAChB,OAAO,GAAG,CAAA;;;;gBAII,aAAa;;;qBAGR,iBAAiB;;;;;;GAMnC,CAAC;AACJ,CAAC;AAED;;;;;;mDAMmD;AACnD,SAAS,sBAAsB,CAAC,IAAU,EAAE,MAAc;IACxD,OAAO,iBAAiB,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AACxF,CAAC;AAED;;;;6CAI6C;AAC7C,MAAM,eAAe,GAAuD;IAC1E,OAAO,EAAE,aAAa;IACtB,SAAS,EAAE,gBAAgB;IAC3B,MAAM,EAAE,kBAAkB;CAC3B,CAAC;AAMF
|
|
1
|
+
{"version":3,"file":"chat-message.class.js","sourceRoot":"","sources":["../../../src/components/chat-message/chat-message.class.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message.styles.d.ts","sourceRoot":"","sources":["../../../src/components/chat-message/chat-message.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"chat-message.styles.d.ts","sourceRoot":"","sources":["../../../src/components/chat-message/chat-message.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAkPlB,CAAC"}
|
|
@@ -127,6 +127,20 @@ export const styles = css `
|
|
|
127
127
|
gap: var(--lr-space-xs);
|
|
128
128
|
}
|
|
129
129
|
|
|
130
|
+
/* Fully transparent to layout -- the same display:contents idiom
|
|
131
|
+
lr-attachment-trigger's :host and lr-combobox's [part='tags'] already
|
|
132
|
+
use for identical reasons. The slot itself contributes no box, so
|
|
133
|
+
whatever the host slots in here (expected to be a block-level
|
|
134
|
+
role="alert" element) becomes a direct flex item of [part='bubble'],
|
|
135
|
+
inheriting its gap, exactly as if it had been authored as a sibling of
|
|
136
|
+
[part='body']/[part='footer'] -- no ::part(failure) override needed to
|
|
137
|
+
get there. When empty, this produces zero boxes and zero footprint,
|
|
138
|
+
which is what keeps the failed state byte-identical to today's
|
|
139
|
+
rendering whenever the failure slot goes unused. */
|
|
140
|
+
[part='failure'] {
|
|
141
|
+
display: contents;
|
|
142
|
+
}
|
|
143
|
+
|
|
130
144
|
[part='footer'] {
|
|
131
145
|
display: flex;
|
|
132
146
|
flex-wrap: wrap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-message.styles.js","sourceRoot":"","sources":["../../../src/components/chat-message/chat-message.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA
|
|
1
|
+
{"version":3,"file":"chat-message.styles.js","sourceRoot":"","sources":["../../../src/components/chat-message/chat-message.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkPxB,CAAC"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { type TemplateResult } from 'lit';
|
|
2
|
+
import { LyraElement } from '../../internal/lyra-element.js';
|
|
3
|
+
import type { Citation } from '../../ai/types.js';
|
|
4
|
+
import type { ContextMeterTone } from '../context-meter/context-meter.class.js';
|
|
5
|
+
import type { ExportFormatOption } from '../export-button/export-button.class.js';
|
|
6
|
+
import '../context-meter/context-meter.class.js';
|
|
7
|
+
import '../copy-button/copy-button.class.js';
|
|
8
|
+
import '../export-button/export-button.class.js';
|
|
9
|
+
import '../citation-badge/citation-badge.class.js';
|
|
10
|
+
import '../empty/empty.class.js';
|
|
11
|
+
/**
|
|
12
|
+
* One redacted character range within a `ContextInspectorSegment.text`. `start`/`end` are plain
|
|
13
|
+
* UTF-16 offsets, matching `Citation['span']`'s own `{ start; end }` shape (`ai/types.ts`). `text`
|
|
14
|
+
* is expected to already carry a redaction placeholder in that range (e.g. `[REDACTED]`) -- this
|
|
15
|
+
* component only visually/accessibly marks the range, it never receives, un-redacts, or renders
|
|
16
|
+
* the original sensitive content.
|
|
17
|
+
*/
|
|
18
|
+
export interface ContextInspectorRedaction {
|
|
19
|
+
start: number;
|
|
20
|
+
end: number;
|
|
21
|
+
/** Shown as the marker's `title`/accessible reason. Falls back to a generic localized "Redacted" when unset. */
|
|
22
|
+
reason?: string;
|
|
23
|
+
}
|
|
24
|
+
/** One piece of the assembled final prompt context, e.g. a system prompt, a retrieved chunk, or one chat-history turn. */
|
|
25
|
+
export interface ContextInspectorSegment {
|
|
26
|
+
id: string;
|
|
27
|
+
/** Short heading, e.g. "System prompt", "Retrieved chunk 2". Feeds both this segment's own heading and its `<lr-context-meter>` segment label. */
|
|
28
|
+
label: string;
|
|
29
|
+
/** The segment's final text, exactly as sent to the model (post-redaction/post-truncation). */
|
|
30
|
+
text: string;
|
|
31
|
+
/** Estimated token count. Feeds `<lr-context-meter>`'s segment `value` directly. */
|
|
32
|
+
tokens: number;
|
|
33
|
+
tone?: ContextMeterTone;
|
|
34
|
+
/** Source attribution -- renders a `<lr-citation-badge>` carrying `citation.sourceId`/`citation.label`. */
|
|
35
|
+
citation?: Citation;
|
|
36
|
+
/** True when `text` was cut short of the segment's original content. */
|
|
37
|
+
truncated?: boolean;
|
|
38
|
+
/** Tokens omitted by truncation, shown in the truncation-boundary marker's text when set. */
|
|
39
|
+
omittedTokens?: number;
|
|
40
|
+
/** Character ranges within `text` that are redaction placeholders (see `ContextInspectorRedaction`). */
|
|
41
|
+
redactions?: ContextInspectorRedaction[];
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* `<lr-context-inspector>` — an inspection view of the exact context assembled for a model call:
|
|
45
|
+
* per-segment token estimates via `<lr-context-meter>`, source attribution via
|
|
46
|
+
* `<lr-citation-badge>`, and copy/export affordances via `<lr-copy-button>`/`<lr-export-button>`.
|
|
47
|
+
* Truncation-boundary and redaction-marker rendering are this component's own minimal
|
|
48
|
+
* presentational logic (see `ContextInspectorSegment`'s `truncated`/`omittedTokens`/`redactions`
|
|
49
|
+
* fields) — no existing primitive covers "show where this got cut off / redacted", so this stays a
|
|
50
|
+
* small, purpose-built rendering step rather than a general text-annotation system.
|
|
51
|
+
*
|
|
52
|
+
* Pure projection: never fetches, estimates tokens, or performs redaction itself — `segments` is
|
|
53
|
+
* expected to already carry each field's final, already-processed value (e.g. `text` already has
|
|
54
|
+
* any redaction placeholders substituted in; this component never sees or renders the original
|
|
55
|
+
* unredacted content).
|
|
56
|
+
*
|
|
57
|
+
* @customElement lr-context-inspector
|
|
58
|
+
* @event lr-copy - `detail: { text }`, surfaced by the embedded `lr-copy-button` copying the
|
|
59
|
+
* assembled context text (every segment's `label` + `text`, in order). Bubbles + composed
|
|
60
|
+
* already; not re-emitted, so exactly one event reaches a host listener.
|
|
61
|
+
* @event lr-export - `detail: { format }`, surfaced by the embedded `lr-export-button`, one row
|
|
62
|
+
* per segment. Cancelable — see that component's own contract for substituting a
|
|
63
|
+
* server-generated export.
|
|
64
|
+
* @event lr-export-complete - `detail: { format }`, fired after a non-cancelled export completes.
|
|
65
|
+
* @event lr-citation-activate - `detail: { sourceId, index }`, surfaced by a segment's embedded
|
|
66
|
+
* `lr-citation-badge` — the "jump to this source" signal a host wires to scrolling/highlighting
|
|
67
|
+
* the matching `lr-source-card`.
|
|
68
|
+
* @event lr-citation-open - `detail: { sourceId, index, href }`, this component's "full preview"
|
|
69
|
+
* signal, surfaced the same way.
|
|
70
|
+
* @csspart base - The `role="group"` wrapper.
|
|
71
|
+
* @csspart meter - The embedded `lr-context-meter`. Omitted (replaced by `empty`) when `segments` is empty.
|
|
72
|
+
* @csspart toolbar - The wrapper around the copy/export affordances. Omitted when `segments` is empty.
|
|
73
|
+
* @csspart copy-button - The embedded `lr-copy-button`.
|
|
74
|
+
* @csspart export-button - The embedded `lr-export-button`.
|
|
75
|
+
* @csspart segments - The `role="list"` wrapper around all segments. Omitted (replaced by `empty`) when `segments` is empty.
|
|
76
|
+
* @csspart segment - One segment's wrapper (`role="listitem"`).
|
|
77
|
+
* @csspart segment-header - A segment's label/token-count/citation row.
|
|
78
|
+
* @csspart segment-label - A segment's visible label text.
|
|
79
|
+
* @csspart segment-tokens - A segment's visible token-estimate text.
|
|
80
|
+
* @csspart citation - A segment's embedded `lr-citation-badge`, rendered only when it carries a `citation`.
|
|
81
|
+
* @csspart segment-text - A segment's text body, carrying any `redaction` marks and its own trailing `truncation-boundary` marker.
|
|
82
|
+
* @csspart redaction - One redacted range within a segment's text (a `<mark>`).
|
|
83
|
+
* @csspart truncation-boundary - The marker appended after a `truncated` segment's text.
|
|
84
|
+
* @csspart empty - The empty state, shown when `segments` is empty.
|
|
85
|
+
*/
|
|
86
|
+
export declare class LyraContextInspector extends LyraElement {
|
|
87
|
+
static styles: import("lit").CSSResultGroup[];
|
|
88
|
+
/** The assembled context, one entry per piece (system prompt, retrieved chunk, history turn, ...). */
|
|
89
|
+
segments: ContextInspectorSegment[];
|
|
90
|
+
/** The full token budget `segments` are measured against — passed straight through to `<lr-context-meter>`'s own `total`. */
|
|
91
|
+
total: number;
|
|
92
|
+
/** Accessible group name, and the embedded `<lr-context-meter>`'s own visible caption, e.g. "128K context window". */
|
|
93
|
+
label: string;
|
|
94
|
+
/** Export format(s) offered by the embedded `<lr-export-button>` — a single id renders a plain button, more than one a format-choice menu. */
|
|
95
|
+
formats: ExportFormatOption[];
|
|
96
|
+
/** Download filename (no extension) passed through to `<lr-export-button>`. */
|
|
97
|
+
filename: string;
|
|
98
|
+
private get meterSegments();
|
|
99
|
+
/** Every segment's `label` + `text`, in order — the `<lr-copy-button>`'s `value`. */
|
|
100
|
+
private get assembledText();
|
|
101
|
+
/** One flat row per segment for `<lr-export-button>` — `redactions` is summarized as a count
|
|
102
|
+
* rather than carried in full, keeping every export format (including CSV) well-formed. */
|
|
103
|
+
private get exportRows();
|
|
104
|
+
private renderSegmentText;
|
|
105
|
+
private renderTruncationBoundary;
|
|
106
|
+
private renderSegment;
|
|
107
|
+
render(): TemplateResult;
|
|
108
|
+
}
|
|
109
|
+
declare global {
|
|
110
|
+
interface HTMLElementTagNameMap {
|
|
111
|
+
'lr-context-inspector': LyraContextInspector;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=context-inspector.class.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context-inspector.class.d.ts","sourceRoot":"","sources":["../../../src/components/context-inspector/context-inspector.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAE7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,EAAuB,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AACrG,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,yCAAyC,CAAC;AAClF,OAAO,yCAAyC,CAAC;AACjD,OAAO,qCAAqC,CAAC;AAC7C,OAAO,yCAAyC,CAAC;AACjD,OAAO,2CAA2C,CAAC;AACnD,OAAO,yBAAyB,CAAC;AAGjC;;;;;;GAMG;AACH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,gHAAgH;IAChH,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,0HAA0H;AAC1H,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,kJAAkJ;IAClJ,KAAK,EAAE,MAAM,CAAC;IACd,+FAA+F;IAC/F,IAAI,EAAE,MAAM,CAAC;IACb,oFAAoF;IACpF,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,2GAA2G;IAC3G,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,wEAAwE;IACxE,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,6FAA6F;IAC7F,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,wGAAwG;IACxG,UAAU,CAAC,EAAE,yBAAyB,EAAE,CAAC;CAC1C;AAwCD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,qBAAa,oBAAqB,SAAQ,WAAW;IACnD,MAAM,CAAC,MAAM,iCAAgC;IAE7C,sGAAsG;IACtE,QAAQ,EAAE,uBAAuB,EAAE,CAAM;IAEzE,6HAA6H;IACjG,KAAK,SAAK;IAEtC,sHAAsH;IAC1G,KAAK,SAAM;IAEvB,8IAA8I;IAC9G,OAAO,EAAE,kBAAkB,EAAE,CAAY;IAEzE,+EAA+E;IACnE,QAAQ,SAAa;IAEjC,OAAO,KAAK,aAAa,GAExB;IAED,qFAAqF;IACrF,OAAO,KAAK,aAAa,GAExB;IAED;gGAC4F;IAC5F,OAAO,KAAK,UAAU,GAWrB;IAED,OAAO,CAAC,iBAAiB;IAmBzB,OAAO,CAAC,wBAAwB;IAUhC,OAAO,CAAC,aAAa;IAsBrB,MAAM,IAAI,cAAc,CA+BvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,sBAAsB,EAAE,oBAAoB,CAAC;KAC9C;CACF"}
|
|
@@ -0,0 +1,222 @@
|
|
|
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 { finiteCount } from '../../internal/numbers.js';
|
|
11
|
+
import '../context-meter/context-meter.class.js';
|
|
12
|
+
import '../copy-button/copy-button.class.js';
|
|
13
|
+
import '../export-button/export-button.class.js';
|
|
14
|
+
import '../citation-badge/citation-badge.class.js';
|
|
15
|
+
import '../empty/empty.class.js';
|
|
16
|
+
import { styles } from './context-inspector.styles.js';
|
|
17
|
+
/**
|
|
18
|
+
* Clamps, sorts, and merges overlapping/inverted/out-of-range ranges in `redactions` against
|
|
19
|
+
* `length` -- bad host data (a dangling span past the end of `text`, a reversed `start`/`end`, two
|
|
20
|
+
* overlapping spans) degrades to a clamped, non-overlapping range list instead of throwing or
|
|
21
|
+
* corrupting the rendered text.
|
|
22
|
+
*/
|
|
23
|
+
function normalizeRedactions(redactions, length) {
|
|
24
|
+
if (!redactions || redactions.length === 0)
|
|
25
|
+
return [];
|
|
26
|
+
const clamped = redactions
|
|
27
|
+
.map((r) => ({
|
|
28
|
+
start: finiteCount(Math.min(r.start, r.end), 0, length),
|
|
29
|
+
end: finiteCount(Math.max(r.start, r.end), 0, length),
|
|
30
|
+
reason: r.reason,
|
|
31
|
+
}))
|
|
32
|
+
.filter((r) => r.end > r.start)
|
|
33
|
+
.sort((a, b) => a.start - b.start);
|
|
34
|
+
const merged = [];
|
|
35
|
+
for (const r of clamped) {
|
|
36
|
+
const prev = merged[merged.length - 1];
|
|
37
|
+
if (prev && r.start < prev.end) {
|
|
38
|
+
prev.end = Math.max(prev.end, r.end);
|
|
39
|
+
continue;
|
|
40
|
+
}
|
|
41
|
+
merged.push({ ...r });
|
|
42
|
+
}
|
|
43
|
+
return merged;
|
|
44
|
+
}
|
|
45
|
+
function formatCount(n, locale) {
|
|
46
|
+
return Math.round(finiteCount(n)).toLocaleString(locale);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* `<lr-context-inspector>` — an inspection view of the exact context assembled for a model call:
|
|
50
|
+
* per-segment token estimates via `<lr-context-meter>`, source attribution via
|
|
51
|
+
* `<lr-citation-badge>`, and copy/export affordances via `<lr-copy-button>`/`<lr-export-button>`.
|
|
52
|
+
* Truncation-boundary and redaction-marker rendering are this component's own minimal
|
|
53
|
+
* presentational logic (see `ContextInspectorSegment`'s `truncated`/`omittedTokens`/`redactions`
|
|
54
|
+
* fields) — no existing primitive covers "show where this got cut off / redacted", so this stays a
|
|
55
|
+
* small, purpose-built rendering step rather than a general text-annotation system.
|
|
56
|
+
*
|
|
57
|
+
* Pure projection: never fetches, estimates tokens, or performs redaction itself — `segments` is
|
|
58
|
+
* expected to already carry each field's final, already-processed value (e.g. `text` already has
|
|
59
|
+
* any redaction placeholders substituted in; this component never sees or renders the original
|
|
60
|
+
* unredacted content).
|
|
61
|
+
*
|
|
62
|
+
* @customElement lr-context-inspector
|
|
63
|
+
* @event lr-copy - `detail: { text }`, surfaced by the embedded `lr-copy-button` copying the
|
|
64
|
+
* assembled context text (every segment's `label` + `text`, in order). Bubbles + composed
|
|
65
|
+
* already; not re-emitted, so exactly one event reaches a host listener.
|
|
66
|
+
* @event lr-export - `detail: { format }`, surfaced by the embedded `lr-export-button`, one row
|
|
67
|
+
* per segment. Cancelable — see that component's own contract for substituting a
|
|
68
|
+
* server-generated export.
|
|
69
|
+
* @event lr-export-complete - `detail: { format }`, fired after a non-cancelled export completes.
|
|
70
|
+
* @event lr-citation-activate - `detail: { sourceId, index }`, surfaced by a segment's embedded
|
|
71
|
+
* `lr-citation-badge` — the "jump to this source" signal a host wires to scrolling/highlighting
|
|
72
|
+
* the matching `lr-source-card`.
|
|
73
|
+
* @event lr-citation-open - `detail: { sourceId, index, href }`, this component's "full preview"
|
|
74
|
+
* signal, surfaced the same way.
|
|
75
|
+
* @csspart base - The `role="group"` wrapper.
|
|
76
|
+
* @csspart meter - The embedded `lr-context-meter`. Omitted (replaced by `empty`) when `segments` is empty.
|
|
77
|
+
* @csspart toolbar - The wrapper around the copy/export affordances. Omitted when `segments` is empty.
|
|
78
|
+
* @csspart copy-button - The embedded `lr-copy-button`.
|
|
79
|
+
* @csspart export-button - The embedded `lr-export-button`.
|
|
80
|
+
* @csspart segments - The `role="list"` wrapper around all segments. Omitted (replaced by `empty`) when `segments` is empty.
|
|
81
|
+
* @csspart segment - One segment's wrapper (`role="listitem"`).
|
|
82
|
+
* @csspart segment-header - A segment's label/token-count/citation row.
|
|
83
|
+
* @csspart segment-label - A segment's visible label text.
|
|
84
|
+
* @csspart segment-tokens - A segment's visible token-estimate text.
|
|
85
|
+
* @csspart citation - A segment's embedded `lr-citation-badge`, rendered only when it carries a `citation`.
|
|
86
|
+
* @csspart segment-text - A segment's text body, carrying any `redaction` marks and its own trailing `truncation-boundary` marker.
|
|
87
|
+
* @csspart redaction - One redacted range within a segment's text (a `<mark>`).
|
|
88
|
+
* @csspart truncation-boundary - The marker appended after a `truncated` segment's text.
|
|
89
|
+
* @csspart empty - The empty state, shown when `segments` is empty.
|
|
90
|
+
*/
|
|
91
|
+
export class LyraContextInspector extends LyraElement {
|
|
92
|
+
constructor() {
|
|
93
|
+
super(...arguments);
|
|
94
|
+
/** The assembled context, one entry per piece (system prompt, retrieved chunk, history turn, ...). */
|
|
95
|
+
this.segments = [];
|
|
96
|
+
/** The full token budget `segments` are measured against — passed straight through to `<lr-context-meter>`'s own `total`. */
|
|
97
|
+
this.total = 0;
|
|
98
|
+
/** Accessible group name, and the embedded `<lr-context-meter>`'s own visible caption, e.g. "128K context window". */
|
|
99
|
+
this.label = '';
|
|
100
|
+
/** Export format(s) offered by the embedded `<lr-export-button>` — a single id renders a plain button, more than one a format-choice menu. */
|
|
101
|
+
this.formats = ['json'];
|
|
102
|
+
/** Download filename (no extension) passed through to `<lr-export-button>`. */
|
|
103
|
+
this.filename = 'context';
|
|
104
|
+
}
|
|
105
|
+
static { this.styles = [LyraElement.styles, styles]; }
|
|
106
|
+
get meterSegments() {
|
|
107
|
+
return this.segments.map((s) => ({ label: s.label, value: s.tokens, ...(s.tone ? { tone: s.tone } : {}) }));
|
|
108
|
+
}
|
|
109
|
+
/** Every segment's `label` + `text`, in order — the `<lr-copy-button>`'s `value`. */
|
|
110
|
+
get assembledText() {
|
|
111
|
+
return this.segments.map((s) => `${s.label}\n${s.text}`).join('\n\n');
|
|
112
|
+
}
|
|
113
|
+
/** One flat row per segment for `<lr-export-button>` — `redactions` is summarized as a count
|
|
114
|
+
* rather than carried in full, keeping every export format (including CSV) well-formed. */
|
|
115
|
+
get exportRows() {
|
|
116
|
+
return this.segments.map((s) => ({
|
|
117
|
+
id: s.id,
|
|
118
|
+
label: s.label,
|
|
119
|
+
tokens: s.tokens,
|
|
120
|
+
truncated: !!s.truncated,
|
|
121
|
+
omittedTokens: s.omittedTokens ?? null,
|
|
122
|
+
sourceId: s.citation?.sourceId ?? null,
|
|
123
|
+
redactionCount: s.redactions?.length ?? 0,
|
|
124
|
+
text: s.text,
|
|
125
|
+
}));
|
|
126
|
+
}
|
|
127
|
+
renderSegmentText(segment) {
|
|
128
|
+
const text = segment.text;
|
|
129
|
+
const redactions = normalizeRedactions(segment.redactions, text.length);
|
|
130
|
+
if (redactions.length === 0)
|
|
131
|
+
return html `${text}`;
|
|
132
|
+
const nodes = [];
|
|
133
|
+
let cursor = 0;
|
|
134
|
+
for (const r of redactions) {
|
|
135
|
+
if (r.start > cursor)
|
|
136
|
+
nodes.push(text.slice(cursor, r.start));
|
|
137
|
+
nodes.push(html `<mark part="redaction" title=${r.reason || this.localize('contextInspectorRedacted')}
|
|
138
|
+
>${text.slice(r.start, r.end)}</mark
|
|
139
|
+
>`);
|
|
140
|
+
cursor = r.end;
|
|
141
|
+
}
|
|
142
|
+
if (cursor < text.length)
|
|
143
|
+
nodes.push(text.slice(cursor));
|
|
144
|
+
return html `${nodes}`;
|
|
145
|
+
}
|
|
146
|
+
renderTruncationBoundary(segment) {
|
|
147
|
+
const text = segment.omittedTokens != null
|
|
148
|
+
? this.localize('contextInspectorTruncatedCount', undefined, {
|
|
149
|
+
count: formatCount(segment.omittedTokens, this.effectiveLocale),
|
|
150
|
+
})
|
|
151
|
+
: this.localize('contextInspectorTruncated');
|
|
152
|
+
return html `<div part="truncation-boundary" role="note">${text}</div>`;
|
|
153
|
+
}
|
|
154
|
+
renderSegment(segment, citationIndex) {
|
|
155
|
+
const tokensText = this.localize('contextInspectorSegmentTokens', undefined, {
|
|
156
|
+
tokens: formatCount(segment.tokens, this.effectiveLocale),
|
|
157
|
+
});
|
|
158
|
+
return html `
|
|
159
|
+
<div part="segment" role="listitem">
|
|
160
|
+
<div part="segment-header">
|
|
161
|
+
<span part="segment-label">${segment.label}</span>
|
|
162
|
+
<span part="segment-tokens">${tokensText}</span>
|
|
163
|
+
${segment.citation
|
|
164
|
+
? html `<lr-citation-badge part="citation" source-id=${segment.citation.sourceId ?? ''} index=${citationIndex}
|
|
165
|
+
>${segment.citation.label ?? ''}</lr-citation-badge
|
|
166
|
+
>`
|
|
167
|
+
: nothing}
|
|
168
|
+
</div>
|
|
169
|
+
<div part="segment-text">
|
|
170
|
+
${this.renderSegmentText(segment)}${segment.truncated ? this.renderTruncationBoundary(segment) : nothing}
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
`;
|
|
174
|
+
}
|
|
175
|
+
render() {
|
|
176
|
+
const groupLabel = this.getAttribute('aria-label') || this.label || this.localize('contextInspectorLabel');
|
|
177
|
+
if (this.segments.length === 0) {
|
|
178
|
+
return html `
|
|
179
|
+
<div part="base" role="group" aria-label=${groupLabel}>
|
|
180
|
+
<lr-empty part="empty" heading=${this.localize('contextInspectorEmpty')}></lr-empty>
|
|
181
|
+
</div>
|
|
182
|
+
`;
|
|
183
|
+
}
|
|
184
|
+
let citationIndex = 0;
|
|
185
|
+
return html `
|
|
186
|
+
<div part="base" role="group" aria-label=${groupLabel}>
|
|
187
|
+
<lr-context-meter part="meter" .segments=${this.meterSegments} .total=${this.total} label=${this.label}></lr-context-meter>
|
|
188
|
+
<div part="toolbar">
|
|
189
|
+
<lr-copy-button
|
|
190
|
+
part="copy-button"
|
|
191
|
+
.value=${this.assembledText}
|
|
192
|
+
aria-label=${this.localize('contextInspectorCopyLabel')}
|
|
193
|
+
></lr-copy-button>
|
|
194
|
+
<lr-export-button part="export-button" .rows=${this.exportRows} .formats=${this.formats} filename=${this.filename}></lr-export-button>
|
|
195
|
+
</div>
|
|
196
|
+
<div part="segments" role="list">
|
|
197
|
+
${this.segments.map((segment) => {
|
|
198
|
+
if (segment.citation)
|
|
199
|
+
citationIndex += 1;
|
|
200
|
+
return this.renderSegment(segment, citationIndex);
|
|
201
|
+
})}
|
|
202
|
+
</div>
|
|
203
|
+
</div>
|
|
204
|
+
`;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
__decorate([
|
|
208
|
+
property({ attribute: false })
|
|
209
|
+
], LyraContextInspector.prototype, "segments", void 0);
|
|
210
|
+
__decorate([
|
|
211
|
+
property({ type: Number })
|
|
212
|
+
], LyraContextInspector.prototype, "total", void 0);
|
|
213
|
+
__decorate([
|
|
214
|
+
property()
|
|
215
|
+
], LyraContextInspector.prototype, "label", void 0);
|
|
216
|
+
__decorate([
|
|
217
|
+
property({ attribute: false })
|
|
218
|
+
], LyraContextInspector.prototype, "formats", void 0);
|
|
219
|
+
__decorate([
|
|
220
|
+
property()
|
|
221
|
+
], LyraContextInspector.prototype, "filename", void 0);
|
|
222
|
+
//# sourceMappingURL=context-inspector.class.js.map
|