@aceshooting/lyra-ui 19.0.0 → 20.0.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.
Files changed (419) hide show
  1. package/CHANGELOG.md +163 -0
  2. package/custom-elements.json +1 -1
  3. package/dist/cli/migration-contract.json +1 -1
  4. package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +14 -4
  5. package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +1 -1
  6. package/dist/components/agent-tools/approval-queue/approval-queue.class.d.ts +1 -0
  7. package/dist/components/agent-tools/approval-queue/approval-queue.class.js +4 -3
  8. package/dist/components/agent-tools/approval-queue/approval-queue.styles.js +1 -1
  9. package/dist/components/agent-tools/artifact-panel/artifact-panel.class.d.ts +3 -1
  10. package/dist/components/agent-tools/context-inspector/context-inspector.class.d.ts +1 -0
  11. package/dist/components/agent-tools/context-inspector/context-inspector.class.js +4 -3
  12. package/dist/components/agent-tools/context-inspector/context-inspector.styles.js +1 -1
  13. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +1 -1
  14. package/dist/components/agent-tools/eval-result/eval-result.class.js +1 -1
  15. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.d.ts +1 -0
  16. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +4 -3
  17. package/dist/components/agent-tools/evaluation-run/evaluation-run.styles.js +1 -1
  18. package/dist/components/agent-tools/policy-summary/policy-summary.class.d.ts +1 -0
  19. package/dist/components/agent-tools/policy-summary/policy-summary.class.js +4 -3
  20. package/dist/components/agent-tools/policy-summary/policy-summary.styles.js +1 -1
  21. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +1 -1
  22. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +10 -1
  23. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +3 -3
  24. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +1 -1
  25. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts +6 -3
  26. package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +1 -1
  27. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +14 -3
  28. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +2 -2
  29. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +12 -2
  30. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +3 -1
  31. package/dist/components/charts/chart/box-plot.class.d.ts +15 -3
  32. package/dist/components/charts/chart/box-plot.class.js +3 -3
  33. package/dist/components/charts/chart/box-plot.styles.js +1 -1
  34. package/dist/components/charts/chart/chart.class.d.ts +24 -6
  35. package/dist/components/charts/chart/chart.class.js +3 -3
  36. package/dist/components/charts/chart/chart.styles.js +1 -1
  37. package/dist/components/charts/chart/lite-chart.class.js +1 -1
  38. package/dist/components/charts/chart/lite-chart.styles.js +1 -1
  39. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.d.ts +4 -2
  40. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js +1 -1
  41. package/dist/components/conversation/branch-picker/branch-picker.class.d.ts +4 -2
  42. package/dist/components/conversation/branch-picker/branch-picker.class.js +1 -1
  43. package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +4 -3
  44. package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
  45. package/dist/components/conversation/code-block/code-block-core.class.d.ts +6 -11
  46. package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
  47. package/dist/components/conversation/code-block/code-block-shared.d.ts +29 -1
  48. package/dist/components/conversation/code-block/code-block-shared.js +1 -1
  49. package/dist/components/conversation/code-block/code-block.class.d.ts +6 -11
  50. package/dist/components/conversation/code-block/code-block.class.js +1 -1
  51. package/dist/components/conversation/markdown/markdown-shared.js +2 -2
  52. package/dist/components/conversation/message-actions/message-actions.class.d.ts +4 -2
  53. package/dist/components/conversation/message-actions/message-actions.class.js +2 -2
  54. package/dist/components/conversation/message-parts/message-parts.class.d.ts +17 -2
  55. package/dist/components/conversation/model-select/model-select.class.js +1 -0
  56. package/dist/components/conversation/model-select/model-select.styles.js +1 -1
  57. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +5 -1
  58. package/dist/components/conversation/prompt-input/prompt-input.class.js +2 -2
  59. package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts +6 -1
  60. package/dist/components/conversation/prompt-queue/prompt-queue.class.js +2 -2
  61. package/dist/components/conversation/realtime-session/realtime-session.class.d.ts +5 -1
  62. package/dist/components/conversation/realtime-session/realtime-session.class.js +1 -1
  63. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts +5 -1
  64. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
  65. package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +13 -2
  66. package/dist/components/conversation/voice-picker/voice-picker.class.js +5 -3
  67. package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
  68. package/dist/components/data/calendar/calendar.class.d.ts +9 -0
  69. package/dist/components/data/calendar/calendar.class.js +2 -2
  70. package/dist/components/data/calendar/calendar.styles.js +1 -1
  71. package/dist/components/data/condition-builder/condition-builder.class.d.ts +5 -1
  72. package/dist/components/data/context-meter/context-meter.class.d.ts +4 -0
  73. package/dist/components/data/context-meter/context-meter.styles.js +1 -1
  74. package/dist/components/data/data-grid/data-grid.class.d.ts +8 -2
  75. package/dist/components/data/data-grid/data-grid.class.js +1 -2
  76. package/dist/components/data/flow-node/flow-node.class.d.ts +7 -4
  77. package/dist/components/data/flow-node/flow-node.styles.js +1 -1
  78. package/dist/components/data/funnel/funnel.class.d.ts +5 -0
  79. package/dist/components/data/funnel/funnel.class.js +4 -3
  80. package/dist/components/data/funnel/funnel.styles.js +1 -1
  81. package/dist/components/data/gauge/gauge.class.d.ts +12 -1
  82. package/dist/components/data/gauge/gauge.styles.js +1 -1
  83. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +50 -13
  84. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +2 -2
  85. package/dist/components/data/graph-query-builder/graph-query-builder.styles.js +1 -1
  86. package/dist/components/data/heatmap/heatmap.class.d.ts +27 -9
  87. package/dist/components/data/heatmap/heatmap.class.js +5 -3
  88. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +2 -0
  89. package/dist/components/data/sequence-strip/sequence-strip.styles.js +1 -1
  90. package/dist/components/data/table/table.class.d.ts +10 -1
  91. package/dist/components/data/table/table.class.js +3 -2
  92. package/dist/components/data/tree/tree.class.d.ts +20 -1
  93. package/dist/components/data/tree/tree.class.js +1 -1
  94. package/dist/components/data/word-cloud/word-cloud.class.d.ts +4 -1
  95. package/dist/components/data/word-cloud/word-cloud.class.js +2 -2
  96. package/dist/components/forms/button/button.class.js +1 -1
  97. package/dist/components/forms/checkbox/checkbox.class.d.ts +11 -8
  98. package/dist/components/forms/checkbox/checkbox.class.js +1 -1
  99. package/dist/components/forms/checkbox/checkbox.styles.js +1 -1
  100. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +2 -2
  101. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  102. package/dist/components/forms/code-editor/code-editor.class.d.ts +2 -0
  103. package/dist/components/forms/code-editor/code-editor.class.js +1 -1
  104. package/dist/components/forms/code-editor/code-editor.styles.js +1 -1
  105. package/dist/components/forms/color-picker/color-picker.class.d.ts +11 -1
  106. package/dist/components/forms/color-picker/color-picker.class.js +4 -3
  107. package/dist/components/forms/combobox/combobox.class.d.ts +69 -20
  108. package/dist/components/forms/combobox/combobox.class.js +8 -6
  109. package/dist/components/forms/combobox/combobox.styles.js +1 -1
  110. package/dist/components/forms/date-picker/date-input.class.d.ts +22 -2
  111. package/dist/components/forms/date-picker/date-input.class.js +4 -2
  112. package/dist/components/forms/date-picker/date-input.styles.js +1 -1
  113. package/dist/components/forms/emoji-picker/emoji-data-loader.d.ts +18 -4
  114. package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
  115. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +18 -4
  116. package/dist/components/forms/emoji-picker/emoji-picker.class.js +1 -1
  117. package/dist/components/forms/emoji-picker/emoji-picker.styles.js +1 -1
  118. package/dist/components/forms/icon-button/icon-button.class.d.ts +1 -1
  119. package/dist/components/forms/input/time-input.class.d.ts +11 -1
  120. package/dist/components/forms/input/time-input.class.js +4 -3
  121. package/dist/components/forms/input/time-input.styles.js +1 -1
  122. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +17 -3
  123. package/dist/components/forms/locale-picker/locale-picker.class.js +3 -2
  124. package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
  125. package/dist/components/forms/otp-input/otp-input.class.d.ts +13 -5
  126. package/dist/components/forms/otp-input/otp-input.class.js +2 -2
  127. package/dist/components/forms/otp-input/otp-input.styles.js +1 -1
  128. package/dist/components/forms/phone-input/phone-input.class.d.ts +10 -3
  129. package/dist/components/forms/phone-input/phone-input.class.js +6 -2
  130. package/dist/components/forms/phone-input/phone-input.styles.js +1 -1
  131. package/dist/components/forms/radio/radio-group.class.d.ts +1 -1
  132. package/dist/components/forms/radio/radio-group.class.js +2 -2
  133. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +9 -1
  134. package/dist/components/forms/rubric-form/rubric-form.class.js +5 -3
  135. package/dist/components/forms/select/select.class.d.ts +6 -2
  136. package/dist/components/forms/select/select.class.js +4 -2
  137. package/dist/components/forms/select/select.styles.js +1 -1
  138. package/dist/components/forms/slider/slider.class.d.ts +5 -1
  139. package/dist/components/forms/slider/slider.class.js +3 -3
  140. package/dist/components/forms/switch/switch.class.d.ts +6 -5
  141. package/dist/components/forms/switch/switch.class.js +1 -1
  142. package/dist/components/forms/time-range/time-range.class.d.ts +2 -2
  143. package/dist/components/forms/token-input/token-input.class.d.ts +13 -3
  144. package/dist/components/forms/token-input/token-input.class.js +3 -1
  145. package/dist/components/layout/carousel/carousel.class.d.ts +4 -1
  146. package/dist/components/layout/carousel/carousel.class.js +1 -1
  147. package/dist/components/layout/command-palette/command-palette.class.d.ts +8 -2
  148. package/dist/components/layout/command-palette/command-palette.class.js +1 -1
  149. package/dist/components/layout/command-palette/command-palette.styles.js +1 -1
  150. package/dist/components/layout/details/accordion.class.js +1 -1
  151. package/dist/components/layout/dock-panel/dock-panel.class.d.ts +10 -7
  152. package/dist/components/layout/dock-panel/dock-panel.class.js +2 -2
  153. package/dist/components/layout/dock-panel/dock-panel.styles.js +1 -1
  154. package/dist/components/layout/menu/menu.class.d.ts +13 -3
  155. package/dist/components/layout/menu/menu.class.js +4 -3
  156. package/dist/components/layout/menu/menu.styles.js +1 -1
  157. package/dist/components/layout/page/page.class.d.ts +7 -1
  158. package/dist/components/layout/reorder-list/reorder-list.class.d.ts +1 -1
  159. package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
  160. package/dist/components/layout/segmented/segmented.class.d.ts +2 -0
  161. package/dist/components/layout/segmented/segmented.styles.js +1 -1
  162. package/dist/components/layout/virtual-list/virtual-list.styles.js +1 -1
  163. package/dist/components/layout/widget/widget.class.d.ts +15 -2
  164. package/dist/components/layout/widget/widget.class.js +1 -1
  165. package/dist/components/layout/widget/widget.styles.js +1 -1
  166. package/dist/components/media/avatar/avatar.class.d.ts +4 -0
  167. package/dist/components/media/avatar/avatar.styles.js +1 -1
  168. package/dist/components/media/avatar-group/avatar-group.class.d.ts +8 -1
  169. package/dist/components/media/avatar-group/avatar-group.styles.js +1 -1
  170. package/dist/components/media/drop-zone/drop-zone.class.d.ts +10 -4
  171. package/dist/components/media/drop-zone/drop-zone.class.js +2 -2
  172. package/dist/components/media/drop-zone/drop-zone.styles.js +1 -1
  173. package/dist/components/media/flag/flag.class.js +1 -1
  174. package/dist/components/media/map/map.class.d.ts +19 -5
  175. package/dist/components/media/map/map.class.js +3 -3
  176. package/dist/components/media/video-playlist/video-playlist.class.d.ts +6 -3
  177. package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
  178. package/dist/components/overlays/callout/callout.class.d.ts +4 -1
  179. package/dist/components/overlays/dialog/dialog.class.d.ts +4 -1
  180. package/dist/components/overlays/overlay/overlay.styles.js +1 -1
  181. package/dist/components/overlays/overlay/popover.class.d.ts +9 -1
  182. package/dist/components/overlays/overlay/popover.class.js +3 -2
  183. package/dist/components/overlays/overlay/tooltip.class.d.ts +14 -4
  184. package/dist/components/overlays/overlay/tooltip.class.js +3 -2
  185. package/dist/components/overlays/popup/popup.class.d.ts +15 -1
  186. package/dist/components/overlays/popup/popup.class.js +3 -3
  187. package/dist/components/overlays/popup/popup.styles.js +1 -1
  188. package/dist/components/overlays/progress/progress-bar.class.d.ts +2 -0
  189. package/dist/components/overlays/progress/progress.styles.js +1 -1
  190. package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +4 -2
  191. package/dist/components/retrieval/citation-badge/citation-badge.class.js +1 -1
  192. package/dist/components/retrieval/claim-evidence/claim-evidence.class.d.ts +4 -0
  193. package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +4 -3
  194. package/dist/components/retrieval/claim-evidence/claim-evidence.styles.js +1 -1
  195. package/dist/components/retrieval/community-card/community-card.class.d.ts +6 -1
  196. package/dist/components/retrieval/community-card/community-card.styles.js +1 -1
  197. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts +9 -1
  198. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +4 -3
  199. package/dist/components/retrieval/entity-card/entity-card.styles.js +1 -1
  200. package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +4 -2
  201. package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -1
  202. package/dist/components/retrieval/entity-dossier/entity-dossier.class.js +2 -2
  203. package/dist/components/retrieval/graph-legend/graph-legend.class.d.ts +18 -4
  204. package/dist/components/retrieval/graph-legend/graph-legend.class.js +2 -2
  205. package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +7 -0
  206. package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +4 -3
  207. package/dist/components/retrieval/grounding-summary/grounding-summary.styles.js +1 -1
  208. package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +6 -0
  209. package/dist/components/retrieval/memory-panel/memory-panel.class.js +4 -3
  210. package/dist/components/retrieval/memory-panel/memory-panel.styles.js +1 -1
  211. package/dist/components/retrieval/mind-map/mind-map-layout.d.ts +17 -1
  212. package/dist/components/retrieval/mind-map/mind-map-layout.js +1 -1
  213. package/dist/components/retrieval/mind-map/mind-map.class.d.ts +8 -1
  214. package/dist/components/retrieval/mind-map/mind-map.class.js +3 -2
  215. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +5 -0
  216. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +6 -5
  217. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.styles.js +1 -1
  218. package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +5 -5
  219. package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
  220. package/dist/components/retrieval/source-list/source-list.class.d.ts +21 -2
  221. package/dist/components/retrieval/source-list/source-list.class.js +2 -2
  222. package/dist/components/retrieval/source-list/source-list.styles.js +1 -1
  223. package/dist/components/retrieval/source-picker/source-picker.class.d.ts +3 -1
  224. package/dist/components/retrieval/source-picker/source-picker.class.js +2 -2
  225. package/dist/components/utility/diff-view/diff-view.class.d.ts +105 -8
  226. package/dist/components/utility/diff-view/diff-view.class.js +21 -5
  227. package/dist/components/utility/diff-view/diff-view.styles.js +1 -1
  228. package/dist/components/utility/export-button/export-button.class.d.ts +26 -2
  229. package/dist/components/utility/export-button/export-button.class.js +4 -2
  230. package/dist/components/utility/export-button/export-button.styles.js +1 -1
  231. package/dist/components/utility/mention-popover/mention-popover.class.d.ts +19 -1
  232. package/dist/components/utility/mention-popover/mention-popover.class.js +3 -2
  233. package/dist/components/utility/mention-popover/mention-popover.styles.js +1 -1
  234. package/dist/components/utility/tour/tour.class.d.ts +1 -3
  235. package/dist/components/utility/tour/tour.class.js +1 -1
  236. package/dist/components/viewers/archive-viewer/archive-viewer.class.d.ts +20 -3
  237. package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
  238. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +1 -1
  239. package/dist/components/viewers/geojson-view/geojson-view.styles.js +1 -1
  240. package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +5 -0
  241. package/dist/components/viewers/geojson-view/geojson-viewer.class.js +6 -3
  242. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +7 -1
  243. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +1 -1
  244. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.d.ts +7 -1
  245. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +1 -1
  246. package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +5 -0
  247. package/dist/components/viewers/xml-viewer/xml-viewer.class.js +1 -1
  248. package/dist/custom-elements-jsx.d.ts +1 -1
  249. package/dist/events.d.ts +79 -30
  250. package/dist/internal/accessibility-visibility.js +1 -1
  251. package/dist/internal/aria-reflection.js +1 -1
  252. package/dist/internal/catalog-picker.d.ts +14 -3
  253. package/dist/internal/catalog-picker.js +1 -1
  254. package/dist/internal/default-strings.generated.d.ts +1 -1
  255. package/dist/internal/default-strings.generated.js +2 -2
  256. package/dist/internal/localization-types.d.ts +1 -1
  257. package/dist/internal/localization.js +2 -2
  258. package/dist/internal/lyra-element.d.ts +17 -0
  259. package/dist/internal/lyra-element.js +2 -2
  260. package/dist/internal/package-metadata.d.ts +1 -1
  261. package/dist/internal/package-metadata.js +1 -1
  262. package/dist/svelte.d.ts +1 -1
  263. package/dist/testing/lyra-tag-event-map.js +1 -1
  264. package/dist/translations/ar/agent-tools.js +1 -1
  265. package/dist/translations/ar/data.js +1 -1
  266. package/dist/translations/ar/retrieval.js +1 -1
  267. package/dist/translations/ar/shared.js +1 -1
  268. package/dist/translations/ar/viewers.js +1 -1
  269. package/dist/translations/de/agent-tools.js +1 -1
  270. package/dist/translations/de/data.js +1 -1
  271. package/dist/translations/de/retrieval.js +1 -1
  272. package/dist/translations/de/shared.js +1 -1
  273. package/dist/translations/de/viewers.js +1 -1
  274. package/dist/translations/es/agent-tools.js +1 -1
  275. package/dist/translations/es/data.js +1 -1
  276. package/dist/translations/es/retrieval.js +1 -1
  277. package/dist/translations/es/shared.js +1 -1
  278. package/dist/translations/es/viewers.js +1 -1
  279. package/dist/translations/fa/agent-tools.js +1 -1
  280. package/dist/translations/fa/data.js +1 -1
  281. package/dist/translations/fa/retrieval.js +1 -1
  282. package/dist/translations/fa/shared.js +1 -1
  283. package/dist/translations/fa/viewers.js +1 -1
  284. package/dist/translations/fr/agent-tools.js +1 -1
  285. package/dist/translations/fr/data.js +1 -1
  286. package/dist/translations/fr/retrieval.js +1 -1
  287. package/dist/translations/fr/shared.js +1 -1
  288. package/dist/translations/fr/viewers.js +1 -1
  289. package/dist/translations/he/agent-tools.js +1 -1
  290. package/dist/translations/he/data.js +1 -1
  291. package/dist/translations/he/retrieval.js +1 -1
  292. package/dist/translations/he/shared.js +1 -1
  293. package/dist/translations/he/viewers.js +1 -1
  294. package/dist/translations/it/agent-tools.js +1 -1
  295. package/dist/translations/it/data.js +1 -1
  296. package/dist/translations/it/retrieval.js +1 -1
  297. package/dist/translations/it/shared.js +1 -1
  298. package/dist/translations/it/viewers.js +1 -1
  299. package/dist/translations/ja/agent-tools.js +1 -1
  300. package/dist/translations/ja/data.js +1 -1
  301. package/dist/translations/ja/retrieval.js +1 -1
  302. package/dist/translations/ja/shared.js +1 -1
  303. package/dist/translations/ja/viewers.js +1 -1
  304. package/dist/translations/pt-BR/agent-tools.js +1 -1
  305. package/dist/translations/pt-BR/data.js +1 -1
  306. package/dist/translations/pt-BR/retrieval.js +1 -1
  307. package/dist/translations/pt-BR/shared.js +1 -1
  308. package/dist/translations/pt-BR/viewers.js +1 -1
  309. package/dist/translations/ro/agent-tools.js +1 -1
  310. package/dist/translations/ro/data.js +1 -1
  311. package/dist/translations/ro/retrieval.js +1 -1
  312. package/dist/translations/ro/shared.js +1 -1
  313. package/dist/translations/ro/viewers.js +1 -1
  314. package/dist/translations/ru/agent-tools.js +1 -1
  315. package/dist/translations/ru/data.js +1 -1
  316. package/dist/translations/ru/retrieval.js +1 -1
  317. package/dist/translations/ru/shared.js +1 -1
  318. package/dist/translations/ru/viewers.js +1 -1
  319. package/dist/translations/zh-CN/agent-tools.js +1 -1
  320. package/dist/translations/zh-CN/data.js +1 -1
  321. package/dist/translations/zh-CN/retrieval.js +1 -1
  322. package/dist/translations/zh-CN/shared.js +1 -1
  323. package/dist/translations/zh-CN/viewers.js +1 -1
  324. package/dist/vue.d.ts +1 -1
  325. package/llms/components/lr-activity-feed.md +20 -9
  326. package/llms/components/lr-approval-queue.md +3 -2
  327. package/llms/components/lr-archive-viewer.md +8 -1
  328. package/llms/components/lr-artifact-panel.md +3 -1
  329. package/llms/components/lr-audio-visualizer.md +3 -1
  330. package/llms/components/lr-avatar-group.md +13 -6
  331. package/llms/components/lr-avatar.md +6 -2
  332. package/llms/components/lr-bar-chart.md +6 -3
  333. package/llms/components/lr-box-plot.md +6 -2
  334. package/llms/components/lr-branch-picker.md +3 -1
  335. package/llms/components/lr-bubble-chart.md +6 -3
  336. package/llms/components/lr-calendar.md +10 -3
  337. package/llms/components/lr-carousel.md +4 -2
  338. package/llms/components/lr-chart.md +12 -4
  339. package/llms/components/lr-chat-viewport.md +3 -2
  340. package/llms/components/lr-checkbox.md +8 -5
  341. package/llms/components/lr-citation-badge.md +2 -0
  342. package/llms/components/lr-claim-evidence.md +6 -2
  343. package/llms/components/lr-code-editor.md +3 -1
  344. package/llms/components/lr-color-picker.md +20 -8
  345. package/llms/components/lr-combobox.md +26 -3
  346. package/llms/components/lr-command-palette.md +6 -3
  347. package/llms/components/lr-community-card.md +7 -4
  348. package/llms/components/lr-context-inspector.md +3 -2
  349. package/llms/components/lr-context-meter.md +13 -5
  350. package/llms/components/lr-data-grid.md +2 -0
  351. package/llms/components/lr-date-input.md +12 -3
  352. package/llms/components/lr-date-picker.md +11 -2
  353. package/llms/components/lr-diff-view.md +46 -5
  354. package/llms/components/lr-doughnut-chart.md +6 -3
  355. package/llms/components/lr-drop-zone.md +7 -3
  356. package/llms/components/lr-embedding-explorer.md +8 -2
  357. package/llms/components/lr-emoji-picker.md +5 -1
  358. package/llms/components/lr-entity-chip.md +2 -0
  359. package/llms/components/lr-eval-run.md +3 -2
  360. package/llms/components/lr-export-button.md +5 -2
  361. package/llms/components/lr-flow-node.md +7 -4
  362. package/llms/components/lr-funnel.md +7 -2
  363. package/llms/components/lr-gauge.md +7 -2
  364. package/llms/components/lr-geojson-view.md +10 -2
  365. package/llms/components/lr-geojson-viewer.md +10 -2
  366. package/llms/components/lr-graph-legend.md +6 -3
  367. package/llms/components/lr-graph-query-builder.md +21 -11
  368. package/llms/components/lr-grounding-summary.md +8 -2
  369. package/llms/components/lr-heatmap.md +5 -2
  370. package/llms/components/lr-histogram.md +4 -2
  371. package/llms/components/lr-json-schema-viewer.md +7 -5
  372. package/llms/components/lr-line-chart.md +6 -3
  373. package/llms/components/lr-locale-picker.md +4 -1
  374. package/llms/components/lr-map.md +5 -3
  375. package/llms/components/lr-memory-panel.md +6 -2
  376. package/llms/components/lr-mention-popover.md +7 -4
  377. package/llms/components/lr-message-actions.md +3 -1
  378. package/llms/components/lr-message-parts.md +8 -2
  379. package/llms/components/lr-mind-map.md +11 -2
  380. package/llms/components/lr-option.md +25 -2
  381. package/llms/components/lr-otp-input.md +3 -1
  382. package/llms/components/lr-phone-input.md +9 -5
  383. package/llms/components/lr-pie-chart.md +6 -3
  384. package/llms/components/lr-polar-area-chart.md +6 -3
  385. package/llms/components/lr-policy-summary.md +3 -2
  386. package/llms/components/lr-progress-bar.md +4 -1
  387. package/llms/components/lr-prompt-input.md +4 -1
  388. package/llms/components/lr-prompt-queue.md +5 -2
  389. package/llms/components/lr-radar-chart.md +6 -3
  390. package/llms/components/lr-rag-eval-dashboard.md +7 -2
  391. package/llms/components/lr-realtime-session.md +3 -1
  392. package/llms/components/lr-rubric-form.md +6 -1
  393. package/llms/components/lr-scatter-chart.md +6 -3
  394. package/llms/components/lr-segmented.md +3 -1
  395. package/llms/components/lr-select.md +7 -1
  396. package/llms/components/lr-selection-toolbar.md +4 -1
  397. package/llms/components/lr-sequence-strip.md +7 -3
  398. package/llms/components/lr-source-card.md +16 -1
  399. package/llms/components/lr-source-list.md +17 -2
  400. package/llms/components/lr-source-picker.md +3 -1
  401. package/llms/components/lr-subagent-panel.md +6 -3
  402. package/llms/components/lr-switch.md +4 -3
  403. package/llms/components/lr-table.md +6 -1
  404. package/llms/components/lr-thinking-panel.md +8 -5
  405. package/llms/components/lr-token-input.md +15 -1
  406. package/llms/components/lr-tool-call-chip.md +2 -0
  407. package/llms/components/lr-tool-param-form.md +15 -4
  408. package/llms/components/lr-tooltip.md +8 -4
  409. package/llms/components/lr-trace-tree.md +7 -4
  410. package/llms/components/lr-video-playlist.md +7 -5
  411. package/llms/components/lr-voice-picker.md +7 -4
  412. package/llms/components/lr-widget.md +15 -2
  413. package/llms/migration.md +4 -4
  414. package/llms-full.txt +552 -159
  415. package/package.json +10 -8
  416. package/registrations.json +1 -1
  417. package/vscode-css-data.json +1 -1
  418. package/vscode-html-data.json +1 -1
  419. package/web-types.json +1 -1
@@ -93,6 +93,13 @@ export type ActivityFeedMode=LyraTranscriptMode;export interface ActivityFeedTog
93
93
  * toggle, status dot, label, and summary while `compact`.
94
94
  * @cssprop [--lr-activity-feed-compact-entry-padding=var(--lr-space-2xs) var(--lr-space-s)] -
95
95
  * `[part="entry"]` padding while `compact`.
96
+ * @cssprop [--lr-activity-feed-compact-entry-gap=var(--lr-space-2xs)] - Gap between an entry's
97
+ * icon/dot and its label/timestamp while `compact`.
98
+ * @cssprop [--lr-activity-feed-entry-text-link-color=var(--lr-color-brand)] - Colour of an anchor
99
+ * returned from `renderText`. Such an anchor renders inside this component's shadow root (or
100
+ * the internal `<lr-virtual-list>`'s, once virtualized), so page CSS cannot reach it and
101
+ * `::part()` cannot select past the first compound selector to reach it either; without this
102
+ * hook it computes to the UA default link blue. Set `revert` for the UA default.
96
103
  * @cssprop [--lr-activity-feed-background=var(--lr-color-surface)] - Fill of the outer card
97
104
  * (`[part="base"]`) while `frame="card"`. `frame="plain"` still removes the fill entirely.
98
105
  * @cssprop [--lr-activity-feed-border-color=var(--lr-color-border)] - Colour of the outer card's
@@ -125,9 +132,9 @@ expanded:boolean;
125
132
  * `aria-label` when present (including an explicit empty value), otherwise its localized
126
133
  * `activityFeedLabel` fallback, while this remains the visible header text. */
127
134
  label?:string;
128
- /** Tighter header and entry-row padding for dense transcript contexts. Defaults to `false`,
129
- * preserving the regular-density treatment. This changes density only; the outer border and
130
- * surface remain, so use `frame="plain"` to remove card chrome. */
135
+ /** Tighter header and entry-row padding and gap for dense transcript contexts. Defaults to
136
+ * `false`, preserving the regular-density treatment. This changes density only; the outer
137
+ * border and surface remain, so use `frame="plain"` to remove card chrome. */
131
138
  compact:boolean;
132
139
  /** Visual chrome, in the library's shared container-frame vocabulary. `'card'` (the default)
133
140
  * keeps the bordered, filled outer container. `'plain'` removes that outer border, background,
@@ -141,7 +148,10 @@ formatTimestamp?:(date:Date)=>string;
141
148
  /** Overrides the default plain text inside every `[part="entry-text"]` wrapper with an arbitrary
142
149
  * `TemplateResult` (e.g. rendered markdown, or markdown plus a trailing list of
143
150
  * `<lr-tool-call-chip>`s). The stable wrapper remains available for styling in both rendering
144
- * paths, since both render every entry through the same internal template. */
151
+ * paths, since both render every entry through the same internal template. A returned anchor
152
+ * is given the `--lr-activity-feed-entry-text-link-color` hook (see below) since it otherwise
153
+ * renders inside a shadow root neither page CSS nor `::part()` can reach past the wrapper;
154
+ * other descendant markup stays reachable only by inheritance or an inline style. */
145
155
  renderText?:(entry:ActivityEntry)=>TemplateResult;
146
156
  /** At/above this entry count, the body renders through an internal `<lr-virtual-list>`. */
147
157
  virtualizeAt:number;private liveRegion?;private virtualListEl?;private readonly headerId;private readonly bodyId;
@@ -1 +1 @@
1
- import{css}from"lit";const styles=css`:host{--_lr-activity-feed-max-height:var(--lr-size-16rem);display:block}[part=base]{border:var(--lr-border-width-thin) solid var(--lr-activity-feed-border-color,var(--lr-color-border));border-radius:var(--lr-activity-feed-radius,var(--lr-radius));background:var(--lr-activity-feed-background,var(--lr-color-surface));overflow:hidden}:host([compact]) [part=header]{padding:var(--lr-activity-feed-compact-header-padding,var(--lr-space-2xs) var(--lr-space-s));gap:var(--lr-activity-feed-compact-header-gap,var(--lr-space-2xs))}:host([compact]) [part=entry],:host([compact]) lr-virtual-list::part(entry){padding:var(--lr-activity-feed-compact-entry-padding,var(--lr-space-2xs) var(--lr-space-s))}:host([frame=plain]) [part=base]{background:0 0;border:0;border-radius:0}[part=header]{align-items:center;gap:var(--lr-space-xs);box-sizing:border-box;inline-size:100%;padding:var(--lr-space-s) var(--lr-space-m);color:var(--lr-color-text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;display:flex}[part=header]:hover{background:var(--lr-color-brand-quiet);color:var(--lr-color-brand)}[part=header]:active{background:color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=header]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:calc(-1 * var(--lr-focus-ring-offset))}[part=toggle]{transition:transform var(--lr-transition-fast);flex:none;display:inline-flex}:host([expanded]) [part=toggle]{transform:rotate(90deg)}:host(:not([expanded]):dir(rtl)) [part=toggle]{transform:scaleX(-1)}[part=status-dot]{inline-size:var(--lr-size-0-5rem);block-size:var(--lr-size-0-5rem);border-radius:var(--lr-radius-pill);background:var(--lr-color-text-quiet);flex:none}:host([mode=live]) [part=status-dot]{background:var(--lr-activity-feed-live-status-color,var(--lr-color-brand));animation:lr-activity-feed-pulse var(--lr-transition-ambient) infinite}[part=label]{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;max-inline-size:50%;font-weight:var(--lr-font-weight-semibold);flex:0 auto;overflow:hidden}[part=summary]{min-inline-size:var(--lr-size-3ch);text-overflow:ellipsis;white-space:nowrap;font-size:var(--lr-font-size-sm);color:var(--lr-color-text-quiet);text-align:start;flex:auto;overflow:hidden}[part=body]{max-block-size:var(--lr-activity-feed-max-height,var(--_lr-activity-feed-max-height));overscroll-behavior:contain;border-block-start:var(--lr-border-width-thin) solid var(--lr-activity-feed-border-color,var(--lr-color-border));flex-direction:column;display:flex;overflow:hidden auto}[part=body]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:calc(-1 * var(--lr-focus-ring-offset))}[part=body][hidden]{display:none}lr-virtual-list{inline-size:100%;block-size:var(--lr-activity-feed-max-height,var(--_lr-activity-feed-max-height));display:block}[part=entry],lr-virtual-list::part(entry){align-items:baseline;gap:var(--lr-space-xs);padding:var(--lr-space-2xs) var(--lr-space-m);flex-wrap:wrap;display:flex}[part=entry-icon],lr-virtual-list::part(entry-icon){inline-size:var(--lr-size-1em);flex:none;align-items:center;display:inline-flex}[part~=variant-dot],lr-virtual-list::part(variant-dot){inline-size:var(--lr-size-0-5rem);block-size:var(--lr-size-0-5rem);border-radius:var(--lr-radius-pill);display:block}[part~=variant-dot-neutral],lr-virtual-list::part(variant-dot-neutral){background:var(--lr-color-text-quiet)}[part~=variant-dot-brand],lr-virtual-list::part(variant-dot-brand){background:var(--lr-color-brand)}[part~=variant-dot-success],lr-virtual-list::part(variant-dot-success){background:var(--lr-color-success)}[part~=variant-dot-warning],lr-virtual-list::part(variant-dot-warning){background:var(--lr-color-warning)}[part~=variant-dot-danger],lr-virtual-list::part(variant-dot-danger){background:var(--lr-color-danger)}[part=entry-text],lr-virtual-list::part(entry-text){min-inline-size:var(--lr-size-3ch);overflow-wrap:anywhere;font-size:var(--lr-font-size-sm);flex:auto}[part=entry-timestamp],lr-virtual-list::part(entry-timestamp){font-size:var(--lr-font-size-xs);color:var(--lr-color-text-quiet);flex:none}@keyframes lr-activity-feed-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){[part=toggle]{transition:none!important}[part=status-dot]{animation:none!important}}`;export{styles};
1
+ import{css}from"lit";const styles=css`:host{--_lr-activity-feed-max-height:var(--lr-size-16rem);display:block}[part=base]{border:var(--lr-border-width-thin) solid var(--lr-activity-feed-border-color,var(--lr-color-border));border-radius:var(--lr-activity-feed-radius,var(--lr-radius));background:var(--lr-activity-feed-background,var(--lr-color-surface));overflow:hidden}:host([compact]) [part=header]{padding:var(--lr-activity-feed-compact-header-padding,var(--lr-space-2xs) var(--lr-space-s));gap:var(--lr-activity-feed-compact-header-gap,var(--lr-space-2xs))}:host([compact]) [part=entry],:host([compact]) lr-virtual-list::part(entry){padding:var(--lr-activity-feed-compact-entry-padding,var(--lr-space-2xs) var(--lr-space-s));gap:var(--lr-activity-feed-compact-entry-gap,var(--lr-space-2xs))}:host([frame=plain]) [part=base]{background:0 0;border:0;border-radius:0}[part=header]{align-items:center;gap:var(--lr-space-xs);box-sizing:border-box;inline-size:100%;padding:var(--lr-space-s) var(--lr-space-m);color:var(--lr-color-text);font:inherit;text-align:start;cursor:pointer;background:0 0;border:none;display:flex}[part=header]:hover{background:var(--lr-color-brand-quiet);color:var(--lr-color-brand)}[part=header]:active{background:color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=header]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:calc(-1 * var(--lr-focus-ring-offset))}[part=toggle]{transition:transform var(--lr-transition-fast);flex:none;display:inline-flex}:host([expanded]) [part=toggle]{transform:rotate(90deg)}:host(:not([expanded]):dir(rtl)) [part=toggle]{transform:scaleX(-1)}[part=status-dot]{inline-size:var(--lr-size-0-5rem);block-size:var(--lr-size-0-5rem);border-radius:var(--lr-radius-pill);background:var(--lr-color-text-quiet);flex:none}:host([mode=live]) [part=status-dot]{background:var(--lr-activity-feed-live-status-color,var(--lr-color-brand));animation:lr-activity-feed-pulse var(--lr-transition-ambient) infinite}[part=label]{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;max-inline-size:50%;font-weight:var(--lr-font-weight-semibold);flex:0 auto;overflow:hidden}[part=summary]{min-inline-size:var(--lr-size-3ch);text-overflow:ellipsis;white-space:nowrap;font-size:var(--lr-font-size-sm);color:var(--lr-color-text-quiet);text-align:start;flex:auto;overflow:hidden}[part=body]{max-block-size:var(--lr-activity-feed-max-height,var(--_lr-activity-feed-max-height));overscroll-behavior:contain;border-block-start:var(--lr-border-width-thin) solid var(--lr-activity-feed-border-color,var(--lr-color-border));flex-direction:column;display:flex;overflow:hidden auto}[part=body]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:calc(-1 * var(--lr-focus-ring-offset))}[part=body][hidden]{display:none}lr-virtual-list{inline-size:100%;block-size:var(--lr-activity-feed-max-height,var(--_lr-activity-feed-max-height));display:block}[part=entry],lr-virtual-list::part(entry){align-items:baseline;gap:var(--lr-space-xs);padding:var(--lr-space-2xs) var(--lr-space-m);flex-wrap:wrap;display:flex}[part=entry-icon],lr-virtual-list::part(entry-icon){inline-size:var(--lr-size-1em);flex:none;align-items:center;display:inline-flex}[part~=variant-dot],lr-virtual-list::part(variant-dot){inline-size:var(--lr-size-0-5rem);block-size:var(--lr-size-0-5rem);border-radius:var(--lr-radius-pill);display:block}[part~=variant-dot-neutral],lr-virtual-list::part(variant-dot-neutral){background:var(--lr-color-text-quiet)}[part~=variant-dot-brand],lr-virtual-list::part(variant-dot-brand){background:var(--lr-color-brand)}[part~=variant-dot-success],lr-virtual-list::part(variant-dot-success){background:var(--lr-color-success)}[part~=variant-dot-warning],lr-virtual-list::part(variant-dot-warning){background:var(--lr-color-warning)}[part~=variant-dot-danger],lr-virtual-list::part(variant-dot-danger){background:var(--lr-color-danger)}[part=entry-text],lr-virtual-list::part(entry-text){min-inline-size:var(--lr-size-3ch);overflow-wrap:anywhere;font-size:var(--lr-font-size-sm);flex:auto}[part=entry-text] a:where(:any-link){color:var(--lr-activity-feed-entry-text-link-color,var(--lr-color-brand))}[part=entry-timestamp],lr-virtual-list::part(entry-timestamp){font-size:var(--lr-font-size-xs);color:var(--lr-color-text-quiet);flex:none}@keyframes lr-activity-feed-pulse{0%,to{opacity:1}50%{opacity:.35}}@media (prefers-reduced-motion:reduce){[part=toggle]{transition:none!important}[part=status-dot]{animation:none!important}}`;export{styles};
@@ -29,6 +29,7 @@ export interface ToolApprovalRequest{id:string;toolName:string;args:unknown;stat
29
29
  * @csspart request-id - The stable request id.
30
30
  * @csspart status - The request status badge.
31
31
  * @csspart empty - The empty state.
32
+ * @csspart limit - Localized notice shown when `requests` exceeds the 500-row render ceiling.
32
33
  * @cssprop [--lr-approval-queue-selected-border=var(--lr-color-brand)] - Selected request border.
33
34
  * @status stable
34
35
  * @since 6.2.0
@@ -1,4 +1,4 @@
1
- var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{keyed}from"lit/directives/keyed.js";import{LyraElement}from"../../../internal/lyra-element.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{styles}from"./approval-queue.styles.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{overallSemanticLabel}from"../semantic-owner.js";import{firstByIdentity}from"../collection-identity.js";import{LYRA_DEFAULT_approvalQueueEmpty,LYRA_DEFAULT_approvalQueueLabel,LYRA_DEFAULT_approvalQueueOpen,LYRA_DEFAULT_approvalQueuePending,LYRA_DEFAULT_approvalQueuePendingCount,LYRA_DEFAULT_confirmApproved,LYRA_DEFAULT_confirmDenied}from"../../../internal/default-strings.generated.js";class LyraApprovalQueue extends LyraElement{constructor(){super(...arguments),this.requests=[],this.selectedInvocationId=null,this.open=!1,this.editable=!0,this.nestedCloseInvocationId=null}static{this.defaultStrings={...super.defaultStrings,approvalQueueEmpty:LYRA_DEFAULT_approvalQueueEmpty,approvalQueueLabel:LYRA_DEFAULT_approvalQueueLabel,approvalQueueOpen:LYRA_DEFAULT_approvalQueueOpen,approvalQueuePending:LYRA_DEFAULT_approvalQueuePending,approvalQueuePendingCount:LYRA_DEFAULT_approvalQueuePendingCount,confirmApproved:LYRA_DEFAULT_confirmApproved,confirmDenied:LYRA_DEFAULT_confirmDenied}}static{this.ownedCollectionProperties=Object.freeze(["requests"])}static{this.styles=[LyraElement.styles,styles]}normalizedRequestsFor(value){const requests=Array.isArray(value)?value:[];return firstByIdentity(requests,request=>request.id)}get normalizedRequests(){return this.normalizedRequestsFor(this.requests)}get selectedRequest(){return this.normalizedRequests.find(request=>request.id===this.selectedInvocationId)}willUpdate(changed){if(super.willUpdate(changed),!changed.has("requests")&&!changed.has("selectedInvocationId"))return;const selectedInvocationId=this.selectedInvocationId,selected=this.selectedRequest;if(selected&&(selected.status??"pending")==="pending")return;const previousSelected=selectedInvocationId!==null&&changed.has("requests")?this.normalizedRequestsFor(changed.get("requests")).find(request=>request.id===selectedInvocationId):void 0,invalidated=this.hasUpdated&&!changed.has("selectedInvocationId")&&selectedInvocationId!==null&&previousSelected!==void 0&&(previousSelected.status??"pending")==="pending",nestedCloseInSameCycle=this.nestedCloseInvocationId===selectedInvocationId;this.selectedInvocationId=null,this.open=!1,invalidated&&!nestedCloseInSameCycle&&this.emit("lr-approval-close",{invocationId:selectedInvocationId,reason:"request-invalidated"})}updated(changed){super.updated(changed),this.nestedCloseInvocationId=null}pendingCount(){return this.normalizedRequests.filter(request=>(request.status??"pending")==="pending").length}formatCount(value){return getNumberFormat(this.effectiveLocale).format(value)}statusLabel(status){return status==="approved"?this.localize("confirmApproved"):status==="denied"?this.localize("confirmDenied"):this.localize("approvalQueuePending")}statusVariant(status){return status==="approved"?"success":status==="denied"?"danger":"warning"}select(request){(request.status??"pending")==="pending"&&(this.selectedInvocationId=request.id,this.open=!0,this.emit("lr-approval-select",{invocationId:request.id}))}onApprove(request,event){if(event.stopPropagation(),(request.status??"pending")!=="pending")return;this.emit("lr-approval-decision",{invocationId:request.id,approved:!0,args:event.detail.args},{cancelable:!0}).defaultPrevented&&event.preventDefault()}onDeny(request,event){if(event.stopPropagation(),(request.status??"pending")!=="pending")return;this.emit("lr-approval-decision",{invocationId:request.id,approved:!1},{cancelable:!0}).defaultPrevented&&event.preventDefault()}onClose(request,event){if(event.stopPropagation(),this.nestedCloseInvocationId=request.id,request.id===this.selectedInvocationId){const wasOpen=this.open;this.open=!1,wasOpen||this.requestUpdate()}else this.requestUpdate();this.emit("lr-approval-close",{invocationId:request.id,reason:event.detail})}renderRequest(request){const status=request.status??"pending",statusId=`approval-queue-status-${request.id}`;return html`<div role="listitem"><button
1
+ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{keyed}from"lit/directives/keyed.js";import{LyraElement}from"../../../internal/lyra-element.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{styles}from"./approval-queue.styles.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{overallSemanticLabel}from"../semantic-owner.js";import{firstByIdentity}from"../collection-identity.js";import{LYRA_DEFAULT_approvalQueueEmpty,LYRA_DEFAULT_approvalQueueLabel,LYRA_DEFAULT_approvalQueueLimit,LYRA_DEFAULT_approvalQueueOpen,LYRA_DEFAULT_approvalQueuePending,LYRA_DEFAULT_approvalQueuePendingCount,LYRA_DEFAULT_confirmApproved,LYRA_DEFAULT_confirmDenied}from"../../../internal/default-strings.generated.js";const MAX_RENDERED_REQUESTS=500;class LyraApprovalQueue extends LyraElement{constructor(){super(...arguments),this.requests=[],this.selectedInvocationId=null,this.open=!1,this.editable=!0,this.nestedCloseInvocationId=null}static{this.defaultStrings={...super.defaultStrings,approvalQueueEmpty:LYRA_DEFAULT_approvalQueueEmpty,approvalQueueLabel:LYRA_DEFAULT_approvalQueueLabel,approvalQueueLimit:LYRA_DEFAULT_approvalQueueLimit,approvalQueueOpen:LYRA_DEFAULT_approvalQueueOpen,approvalQueuePending:LYRA_DEFAULT_approvalQueuePending,approvalQueuePendingCount:LYRA_DEFAULT_approvalQueuePendingCount,confirmApproved:LYRA_DEFAULT_confirmApproved,confirmDenied:LYRA_DEFAULT_confirmDenied}}static{this.ownedCollectionProperties=Object.freeze(["requests"])}static{this.styles=[LyraElement.styles,styles]}normalizedRequestsFor(value){const requests=Array.isArray(value)?value:[];return firstByIdentity(requests,request=>request.id)}get normalizedRequests(){return this.normalizedRequestsFor(this.requests)}get selectedRequest(){return this.normalizedRequests.find(request=>request.id===this.selectedInvocationId)}willUpdate(changed){if(super.willUpdate(changed),!changed.has("requests")&&!changed.has("selectedInvocationId"))return;const selectedInvocationId=this.selectedInvocationId,selected=this.selectedRequest;if(selected&&(selected.status??"pending")==="pending")return;const previousSelected=selectedInvocationId!==null&&changed.has("requests")?this.normalizedRequestsFor(changed.get("requests")).find(request=>request.id===selectedInvocationId):void 0,invalidated=this.hasUpdated&&!changed.has("selectedInvocationId")&&selectedInvocationId!==null&&previousSelected!==void 0&&(previousSelected.status??"pending")==="pending",nestedCloseInSameCycle=this.nestedCloseInvocationId===selectedInvocationId;this.selectedInvocationId=null,this.open=!1,invalidated&&!nestedCloseInSameCycle&&this.emit("lr-approval-close",{invocationId:selectedInvocationId,reason:"request-invalidated"})}updated(changed){super.updated(changed),this.nestedCloseInvocationId=null}pendingCount(){return this.normalizedRequests.filter(request=>(request.status??"pending")==="pending").length}formatCount(value){return getNumberFormat(this.effectiveLocale).format(value)}statusLabel(status){return status==="approved"?this.localize("confirmApproved"):status==="denied"?this.localize("confirmDenied"):this.localize("approvalQueuePending")}statusVariant(status){return status==="approved"?"success":status==="denied"?"danger":"warning"}select(request){(request.status??"pending")==="pending"&&(this.selectedInvocationId=request.id,this.open=!0,this.emit("lr-approval-select",{invocationId:request.id}))}onApprove(request,event){if(event.stopPropagation(),(request.status??"pending")!=="pending")return;this.emit("lr-approval-decision",{invocationId:request.id,approved:!0,args:event.detail.args},{cancelable:!0}).defaultPrevented&&event.preventDefault()}onDeny(request,event){if(event.stopPropagation(),(request.status??"pending")!=="pending")return;this.emit("lr-approval-decision",{invocationId:request.id,approved:!1},{cancelable:!0}).defaultPrevented&&event.preventDefault()}onClose(request,event){if(event.stopPropagation(),this.nestedCloseInvocationId=request.id,request.id===this.selectedInvocationId){const wasOpen=this.open;this.open=!1,wasOpen||this.requestUpdate()}else this.requestUpdate();this.emit("lr-approval-close",{invocationId:request.id,reason:event.detail})}renderRequest(request){const status=request.status??"pending",statusId=`approval-queue-status-${request.id}`;return html`<div role="listitem"><button
2
2
  part="request"
3
3
  type="button"
4
4
  data-selected=${request.id===this.selectedInvocationId?"true":"false"}
@@ -10,12 +10,13 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
10
10
  >
11
11
  <span part="request-info"><span part="tool-name">${request.toolName}</span><span part="request-id">${request.id}</span></span>
12
12
  <lr-badge id=${statusId} part="status" variant=${this.statusVariant(status)}>${this.statusLabel(status)}</lr-badge>
13
- </button></div>`}render(){const label=this.label==null?this.localize("approvalQueueLabel"):this.label,request=this.selectedRequest,requests=this.normalizedRequests,pendingCount=this.pendingCount();return html`<section part="base" aria-label=${overallSemanticLabel(this,label)??nothing}>
13
+ </button></div>`}render(){const label=this.label==null?this.localize("approvalQueueLabel"):this.label,request=this.selectedRequest,requests=this.normalizedRequests,pendingCount=this.pendingCount(),truncated=requests.length>MAX_RENDERED_REQUESTS;return html`<section part="base" aria-label=${overallSemanticLabel(this,label)??nothing}>
14
14
  <div part="heading-row">
15
15
  <h2 part="heading">${label}</h2>
16
16
  <span part="count">${this.localize("approvalQueuePendingCount",void 0,{count:this.formatCount(pendingCount)})}</span>
17
17
  </div>
18
- ${requests.length>0?html`<div part="list" role="list">${requests.map(item=>this.renderRequest(item))}</div>`:html`<p part="empty">${this.localize("approvalQueueEmpty")}</p>`}
18
+ ${requests.length>0?html`<div part="list" role="list">${requests.slice(0,MAX_RENDERED_REQUESTS).map(item=>this.renderRequest(item))}</div>`:html`<p part="empty">${this.localize("approvalQueueEmpty")}</p>`}
19
+ ${truncated?html`<p part="limit">${this.localize("approvalQueueLimit",void 0,{count:this.formatCount(MAX_RENDERED_REQUESTS)})}</p>`:nothing}
19
20
  ${request?keyed(request.id,html`<lr-tool-approval-dialog
20
21
  .open=${this.open}
21
22
  .toolName=${request.toolName}
@@ -1 +1 @@
1
- import{css}from"lit";const styles=css`:host{contain-intrinsic-inline-size:var(--lr-size-20rem);min-inline-size:0;max-inline-size:100%;display:block;container-type:inline-size}[part=base]{gap:var(--lr-space-s);flex-direction:column;min-inline-size:0;max-inline-size:100%;display:flex}[part=heading-row]{gap:var(--lr-space-xs);flex-wrap:wrap;justify-content:space-between;align-items:baseline;min-inline-size:0;max-inline-size:100%;display:flex}[part=heading]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;font-size:var(--lr-font-size-lg);font-weight:var(--lr-font-weight-semibold);margin:0}[part=count]{color:var(--lr-color-text-quiet);font-size:var(--lr-font-size-sm)}[part=list]{gap:var(--lr-space-2xs);flex-direction:column;min-inline-size:0;max-inline-size:100%;display:flex}[part=request]{box-sizing:border-box;gap:var(--lr-space-xs);inline-size:100%;padding:var(--lr-space-s);border:var(--lr-border-width-thin) solid var(--lr-color-border);border-radius:var(--lr-radius-xs);background:var(--lr-color-surface);color:var(--lr-color-text);font:inherit;text-align:start;cursor:pointer;transition:background-color var(--lr-transition-fast), color var(--lr-transition-fast);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}[part=request]:disabled{opacity:var(--lr-opacity-disabled);cursor:not-allowed}[part=request]:not(:disabled):hover{background:var(--lr-color-surface-raised)}[part=request]:not(:disabled):active{background:color-mix(in oklab, var(--lr-color-surface-raised), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=request]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:var(--lr-focus-ring-offset)}[part=request][data-selected=true]{border-color:var(--lr-approval-queue-selected-border,var(--lr-color-brand))}[part=request-info]{min-inline-size:0;max-inline-size:100%}[part=tool-name]{max-inline-size:100%;font-weight:var(--lr-font-weight-semibold);overflow-wrap:anywhere;display:block}[part=request-id]{max-inline-size:100%;color:var(--lr-color-text-quiet);font-family:var(--lr-font-mono);font-size:var(--lr-font-size-xs);overflow-wrap:anywhere;display:block}[part=empty]{color:var(--lr-color-text-quiet)}@container (inline-size<=319.98px){[part=request]{grid-template-columns:1fr}}`;export{styles};
1
+ import{css}from"lit";const styles=css`:host{contain-intrinsic-inline-size:var(--lr-size-20rem);min-inline-size:0;max-inline-size:100%;display:block;container-type:inline-size}[part=base]{gap:var(--lr-space-s);flex-direction:column;min-inline-size:0;max-inline-size:100%;display:flex}[part=heading-row]{gap:var(--lr-space-xs);flex-wrap:wrap;justify-content:space-between;align-items:baseline;min-inline-size:0;max-inline-size:100%;display:flex}[part=heading]{overflow-wrap:anywhere;min-inline-size:0;max-inline-size:100%;font-size:var(--lr-font-size-lg);font-weight:var(--lr-font-weight-semibold);margin:0}[part=count]{color:var(--lr-color-text-quiet);font-size:var(--lr-font-size-sm)}[part=list]{gap:var(--lr-space-2xs);flex-direction:column;min-inline-size:0;max-inline-size:100%;display:flex}[part=request]{box-sizing:border-box;gap:var(--lr-space-xs);inline-size:100%;padding:var(--lr-space-s);border:var(--lr-border-width-thin) solid var(--lr-color-border);border-radius:var(--lr-radius-xs);background:var(--lr-color-surface);color:var(--lr-color-text);font:inherit;text-align:start;cursor:pointer;transition:background-color var(--lr-transition-fast), color var(--lr-transition-fast);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}[part=request]:disabled{opacity:var(--lr-opacity-disabled);cursor:not-allowed}[part=request]:not(:disabled):hover{background:var(--lr-color-surface-raised)}[part=request]:not(:disabled):active{background:color-mix(in oklab, var(--lr-color-surface-raised), var(--lr-color-mix-partner) var(--lr-color-mix-active))}[part=request]:focus-visible{outline:var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);outline-offset:var(--lr-focus-ring-offset)}[part=request][data-selected=true]{border-color:var(--lr-approval-queue-selected-border,var(--lr-color-brand))}[part=request-info]{min-inline-size:0;max-inline-size:100%}[part=tool-name]{max-inline-size:100%;font-weight:var(--lr-font-weight-semibold);overflow-wrap:anywhere;display:block}[part=request-id]{max-inline-size:100%;color:var(--lr-color-text-quiet);font-family:var(--lr-font-mono);font-size:var(--lr-font-size-xs);overflow-wrap:anywhere;display:block}[part=empty]{color:var(--lr-color-text-quiet)}[part=limit]{margin:var(--lr-space-s);color:var(--lr-color-text-quiet);font-size:var(--lr-font-size-xs)}@container (inline-size<=319.98px){[part=request]{grid-template-columns:1fr}}`;export{styles};
@@ -15,7 +15,9 @@ export type ArtifactPanelView='preview'|'code';export interface LyraArtifactPane
15
15
  * @customElement lr-artifact-panel
16
16
  * @event lr-view-change - `detail: { view }`. Fired when the preview/code toggle changes.
17
17
  * @event lr-version-change - `detail: { versionId }`. Fired when the previous/next
18
- * navigation moves to a different version.
18
+ * navigation moves to a different version. Not fired when a `versions` reassignment drops the
19
+ * currently-active version id: `activeVersionId` resets to `null` silently, since `null` is
20
+ * already a documented steady state ("the latest version"), not itself a selection.
19
21
  * @event lr-restore - `detail: { versionId }`. Fired by the restore-this-version button;
20
22
  * mutates nothing itself — `versions` and the resulting content stay host-owned state.
21
23
  * @event lr-copy - `detail: { ok: true, text }`. Fired after the clipboard write fulfills.
@@ -79,6 +79,7 @@ redactions?:readonly ContextInspectorRedaction[];}export interface LyraContextIn
79
79
  * @csspart redaction - One redacted range within a segment's text (a `<mark>`).
80
80
  * @csspart truncation-boundary - The marker appended after a `truncated` segment's text.
81
81
  * @csspart empty - The empty state, shown when `segments` is empty.
82
+ * @csspart limit - Localized notice shown when `segments` exceeds the 500-row render ceiling.
82
83
  * @status stable
83
84
  * @since 4.1.0
84
85
  */
@@ -1,4 +1,4 @@
1
- var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{finiteCount}from"../../../internal/numbers.js";import{resolveIntlLocale}from"../../../internal/intl-cache.js";import"../../data/context-meter/context-meter.class.js";import"../../utility/copy-button/copy-button.class.js";import"../../utility/export-button/export-button.class.js";import"../../retrieval/citation-badge/citation-badge.class.js";import"../../overlays/empty/empty.class.js";import{styles}from"./context-inspector.styles.js";import{firstByIdentity}from"../collection-identity.js";import{overallSemanticLabel,overallSemanticRole}from"../semantic-owner.js";import{LYRA_DEFAULT_collapse,LYRA_DEFAULT_contextInspectorCopyLabel,LYRA_DEFAULT_contextInspectorEmpty,LYRA_DEFAULT_contextInspectorLabel,LYRA_DEFAULT_contextInspectorRedacted,LYRA_DEFAULT_contextInspectorSegmentTokens,LYRA_DEFAULT_contextInspectorTruncated,LYRA_DEFAULT_contextInspectorTruncatedCount,LYRA_DEFAULT_details,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_restore,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";function normalizeRedactions(redactions,length){if(!redactions||redactions.length===0)return[];const clamped=redactions.map(r=>({start:finiteCount(Math.min(r.start,r.end),0,length),end:finiteCount(Math.max(r.start,r.end),0,length),reason:r.reason})).filter(r=>r.end>r.start).sort((a,b)=>a.start-b.start),merged=[];for(const r of clamped){const prev=merged[merged.length-1];if(prev&&r.start<prev.end){prev.end=Math.max(prev.end,r.end);continue}merged.push({...r})}return merged}function formatCount(n,locale){return Math.round(finiteCount(n)).toLocaleString(resolveIntlLocale(locale))}class LyraContextInspector extends LyraElement{constructor(){super(...arguments),this.segments=[],this.total=0,this.label="",this.exportFormats=["json"],this.exportFilename="context"}static{this.defaultStrings={...super.defaultStrings,collapse:LYRA_DEFAULT_collapse,contextInspectorCopyLabel:LYRA_DEFAULT_contextInspectorCopyLabel,contextInspectorEmpty:LYRA_DEFAULT_contextInspectorEmpty,contextInspectorLabel:LYRA_DEFAULT_contextInspectorLabel,contextInspectorRedacted:LYRA_DEFAULT_contextInspectorRedacted,contextInspectorSegmentTokens:LYRA_DEFAULT_contextInspectorSegmentTokens,contextInspectorTruncated:LYRA_DEFAULT_contextInspectorTruncated,contextInspectorTruncatedCount:LYRA_DEFAULT_contextInspectorTruncatedCount,details:LYRA_DEFAULT_details,fieldRequired:LYRA_DEFAULT_fieldRequired,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,restore:LYRA_DEFAULT_restore,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.ownedCollectionProperties=Object.freeze(["segments","exportFormats"])}static{this.styles=[LyraElement.styles,styles]}get normalizedSegments(){return firstByIdentity(Array.isArray(this.segments)?this.segments:[],segment=>segment.id).map(segment=>({...segment,text:typeof segment.text=="string"?segment.text:""}))}get meterSegments(){return this.normalizedSegments.map(s=>({label:s.label,value:s.tokens,...s.tone?{tone:s.tone}:{}}))}get safeTotal(){return finiteCount(this.total)}get assembledText(){return this.normalizedSegments.map(s=>`${s.label}
1
+ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{finiteCount}from"../../../internal/numbers.js";import{resolveIntlLocale}from"../../../internal/intl-cache.js";import"../../data/context-meter/context-meter.class.js";import"../../utility/copy-button/copy-button.class.js";import"../../utility/export-button/export-button.class.js";import"../../retrieval/citation-badge/citation-badge.class.js";import"../../overlays/empty/empty.class.js";import{styles}from"./context-inspector.styles.js";import{firstByIdentity}from"../collection-identity.js";import{overallSemanticLabel,overallSemanticRole}from"../semantic-owner.js";import{LYRA_DEFAULT_collapse,LYRA_DEFAULT_contextInspectorCopyLabel,LYRA_DEFAULT_contextInspectorEmpty,LYRA_DEFAULT_contextInspectorLabel,LYRA_DEFAULT_contextInspectorLimit,LYRA_DEFAULT_contextInspectorRedacted,LYRA_DEFAULT_contextInspectorSegmentTokens,LYRA_DEFAULT_contextInspectorTruncated,LYRA_DEFAULT_contextInspectorTruncatedCount,LYRA_DEFAULT_details,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_restore,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";function normalizeRedactions(redactions,length){if(!redactions||redactions.length===0)return[];const clamped=redactions.map(r=>({start:finiteCount(Math.min(r.start,r.end),0,length),end:finiteCount(Math.max(r.start,r.end),0,length),reason:r.reason})).filter(r=>r.end>r.start).sort((a,b)=>a.start-b.start),merged=[];for(const r of clamped){const prev=merged[merged.length-1];if(prev&&r.start<prev.end){prev.end=Math.max(prev.end,r.end);continue}merged.push({...r})}return merged}function formatCount(n,locale){return Math.round(finiteCount(n)).toLocaleString(resolveIntlLocale(locale))}const MAX_RENDERED_SEGMENTS=500;class LyraContextInspector extends LyraElement{constructor(){super(...arguments),this.segments=[],this.total=0,this.label="",this.exportFormats=["json"],this.exportFilename="context"}static{this.defaultStrings={...super.defaultStrings,collapse:LYRA_DEFAULT_collapse,contextInspectorCopyLabel:LYRA_DEFAULT_contextInspectorCopyLabel,contextInspectorEmpty:LYRA_DEFAULT_contextInspectorEmpty,contextInspectorLabel:LYRA_DEFAULT_contextInspectorLabel,contextInspectorLimit:LYRA_DEFAULT_contextInspectorLimit,contextInspectorRedacted:LYRA_DEFAULT_contextInspectorRedacted,contextInspectorSegmentTokens:LYRA_DEFAULT_contextInspectorSegmentTokens,contextInspectorTruncated:LYRA_DEFAULT_contextInspectorTruncated,contextInspectorTruncatedCount:LYRA_DEFAULT_contextInspectorTruncatedCount,details:LYRA_DEFAULT_details,fieldRequired:LYRA_DEFAULT_fieldRequired,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,restore:LYRA_DEFAULT_restore,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.ownedCollectionProperties=Object.freeze(["segments","exportFormats"])}static{this.styles=[LyraElement.styles,styles]}get normalizedSegments(){return firstByIdentity(Array.isArray(this.segments)?this.segments:[],segment=>segment.id).map(segment=>({...segment,text:typeof segment.text=="string"?segment.text:""}))}get meterSegments(){return this.normalizedSegments.map(s=>({label:s.label,value:s.tokens,...s.tone?{tone:s.tone}:{}}))}get safeTotal(){return finiteCount(this.total)}get assembledText(){return this.normalizedSegments.map(s=>`${s.label}
2
2
  ${s.text}`).join(`
3
3
 
4
4
  `)}get exportRows(){return this.normalizedSegments.map(s=>({id:s.id,label:s.label,tokens:s.tokens,truncated:!!s.truncated,omittedTokens:s.omittedTokens??null,sourceId:s.citation?.sourceId??null,redactionCount:s.redactions?.length??0,text:s.text}))}renderSegmentText(segment){const text=segment.text,redactions=normalizeRedactions(segment.redactions,text.length);if(redactions.length===0)return html`${text}`;const nodes=[];let cursor=0;for(const r of redactions)r.start>cursor&&nodes.push(text.slice(cursor,r.start)),nodes.push(html`<mark part="redaction" title=${r.reason||this.localize("contextInspectorRedacted")}
@@ -20,7 +20,7 @@ ${s.text}`).join(`
20
20
  <div part="base" role=${groupRole??nothing} aria-label=${groupLabel??nothing}>
21
21
  <lr-empty part="empty" heading=${this.localize("contextInspectorEmpty")}></lr-empty>
22
22
  </div>
23
- `;let citationIndex=0;return html`
23
+ `;let citationIndex=0;const truncated=segments.length>MAX_RENDERED_SEGMENTS;return html`
24
24
  <div part="base" role=${groupRole??nothing} aria-label=${groupLabel??nothing}>
25
25
  <lr-context-meter part="meter" .segments=${this.meterSegments} .total=${this.safeTotal} label=${this.label}></lr-context-meter>
26
26
  <div part="toolbar">
@@ -37,7 +37,8 @@ ${s.text}`).join(`
37
37
  ></lr-export-button>
38
38
  </div>
39
39
  <div part="segments" role="list">
40
- ${segments.map(segment=>(segment.citation&&(citationIndex+=1),this.renderSegment(segment,citationIndex)))}
40
+ ${segments.slice(0,MAX_RENDERED_SEGMENTS).map(segment=>(segment.citation&&(citationIndex+=1),this.renderSegment(segment,citationIndex)))}
41
41
  </div>
42
+ ${truncated?html`<p part="limit">${this.localize("contextInspectorLimit",void 0,{count:formatCount(MAX_RENDERED_SEGMENTS,this.effectiveLocale)})}</p>`:nothing}
42
43
  </div>
43
44
  `}}__decorate([property({attribute:!1})],LyraContextInspector.prototype,"segments",void 0),__decorate([property({type:Number})],LyraContextInspector.prototype,"total",void 0),__decorate([property()],LyraContextInspector.prototype,"label",void 0),__decorate([property({attribute:!1})],LyraContextInspector.prototype,"exportFormats",void 0),__decorate([property({attribute:"export-filename"})],LyraContextInspector.prototype,"exportFilename",void 0);export{LyraContextInspector};
@@ -1 +1 @@
1
- import{css}from"lit";const styles=css`:host{box-sizing:border-box;inline-size:100%;min-inline-size:0;font-family:var(--lr-font);color:var(--lr-color-text);display:block}[part=base]{gap:var(--lr-space-m);flex-direction:column;min-inline-size:0;display:flex}[part=meter]{min-inline-size:0}[part=toolbar]{justify-content:flex-end;align-items:center;gap:var(--lr-space-xs);flex-wrap:wrap;display:flex}[part=segments]{gap:var(--lr-space-s);flex-direction:column;min-inline-size:0;display:flex}[part=segment]{gap:var(--lr-space-xs);min-inline-size:0;padding:var(--lr-space-s);border:var(--lr-border-width-thin) solid var(--lr-color-border);border-radius:var(--lr-radius);background:var(--lr-color-surface);flex-direction:column;display:flex}[part=segment-header]{align-items:center;gap:var(--lr-space-xs);flex-wrap:wrap;min-inline-size:0;display:flex}[part=segment-label]{font-weight:var(--lr-font-weight-semibold);overflow-wrap:anywhere;min-inline-size:0}[part=segment-tokens]{color:var(--lr-color-text-quiet);font-size:var(--lr-font-size-xs);white-space:nowrap}[part=citation]{margin-inline-start:auto}[part=segment-text]{overflow-wrap:anywhere;white-space:pre-wrap;min-inline-size:0;font-size:var(--lr-font-size-sm);line-height:var(--lr-line-height-normal)}[part=redaction]{background:var(--lr-color-warning-quiet);color:var(--lr-color-warning);border-radius:var(--lr-radius-xs);padding-inline:var(--lr-size-0-125rem);font-family:var(--lr-font-mono)}[part=truncation-boundary]{border-block-start:var(--lr-border-width-thin) dashed var(--lr-color-border);color:var(--lr-color-text-quiet);font-size:var(--lr-font-size-xs);text-align:start;margin-block-start:var(--lr-space-xs);padding-block-start:var(--lr-space-2xs)}`;export{styles};
1
+ import{css}from"lit";const styles=css`:host{box-sizing:border-box;inline-size:100%;min-inline-size:0;font-family:var(--lr-font);color:var(--lr-color-text);display:block}[part=base]{gap:var(--lr-space-m);flex-direction:column;min-inline-size:0;display:flex}[part=meter]{min-inline-size:0}[part=toolbar]{justify-content:flex-end;align-items:center;gap:var(--lr-space-xs);flex-wrap:wrap;display:flex}[part=segments]{gap:var(--lr-space-s);flex-direction:column;min-inline-size:0;display:flex}[part=segment]{gap:var(--lr-space-xs);min-inline-size:0;padding:var(--lr-space-s);border:var(--lr-border-width-thin) solid var(--lr-color-border);border-radius:var(--lr-radius);background:var(--lr-color-surface);flex-direction:column;display:flex}[part=segment-header]{align-items:center;gap:var(--lr-space-xs);flex-wrap:wrap;min-inline-size:0;display:flex}[part=segment-label]{font-weight:var(--lr-font-weight-semibold);overflow-wrap:anywhere;min-inline-size:0}[part=segment-tokens]{color:var(--lr-color-text-quiet);font-size:var(--lr-font-size-xs);white-space:nowrap}[part=citation]{margin-inline-start:auto}[part=segment-text]{overflow-wrap:anywhere;white-space:pre-wrap;min-inline-size:0;font-size:var(--lr-font-size-sm);line-height:var(--lr-line-height-normal)}[part=redaction]{background:var(--lr-color-warning-quiet);color:var(--lr-color-warning);border-radius:var(--lr-radius-xs);padding-inline:var(--lr-size-0-125rem);font-family:var(--lr-font-mono)}[part=truncation-boundary]{border-block-start:var(--lr-border-width-thin) dashed var(--lr-color-border);color:var(--lr-color-text-quiet);font-size:var(--lr-font-size-xs);text-align:start;margin-block-start:var(--lr-space-xs);padding-block-start:var(--lr-space-2xs)}[part=limit]{margin:var(--lr-space-s);color:var(--lr-color-text-quiet);font-size:var(--lr-font-size-xs)}`;export{styles};
@@ -1,4 +1,4 @@
1
- var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{getCollator}from"../../../internal/intl-cache.js";import{trueDefaultSpellcheckConverter as spellcheckConverter}from"../../../internal/converters.js";import{styles}from"./eval-dataset.styles.js";import{firstByIdentity}from"../collection-identity.js";import{closeIcon}from"../../../internal/icons.js";import{LYRA_DEFAULT_clear,LYRA_DEFAULT_evalDatasetAddExample,LYRA_DEFAULT_evalDatasetColumnExpectedOutput,LYRA_DEFAULT_evalDatasetColumnInput,LYRA_DEFAULT_evalDatasetColumnTags,LYRA_DEFAULT_evalDatasetEmpty,LYRA_DEFAULT_evalDatasetImportLabel,LYRA_DEFAULT_evalDatasetLabel,LYRA_DEFAULT_evalDatasetNoMatches,LYRA_DEFAULT_evalDatasetRemoveExample,LYRA_DEFAULT_evalDatasetSearchLabel,LYRA_DEFAULT_evalDatasetTagFilterLabel}from"../../../internal/default-strings.generated.js";const MAX_RENDERED_EXAMPLES=100;class LyraEvalDataset extends LyraElement{constructor(){super(...arguments),this.examples=[],this.searchable=!1,this.autocomplete="",this.spellcheck=!0,this.autocapitalize="",this.autoCorrect="",this.inputMode="",this.enterKeyHint="",this.accept="",this.exportFormats=["csv","json"],this.disabled=!1,this.label="",this.searchText="",this.activeTags=new Set,this.selectedId=null,this.onAddClick=()=>{this.disabled||this.emit("lr-example-add-request")},this.onRemoveClick=()=>{this.disabled||this.selectedId===null||this.emit("lr-example-remove-request",{exampleId:this.selectedId})},this.onGridRowClick=e=>{if(e.stopPropagation(),this.disabled)return;const id=e.detail.row.id;this.selectedId=id,this.emit("lr-example-select",{exampleId:id})},this.onFiles=e=>{e.stopPropagation(),!(this.disabled||e.detail.files.length===0)&&this.emit("lr-import-request",{files:[...e.detail.files]})},this.onExportButtonExport=e=>{e.preventDefault(),e.stopPropagation(),!this.disabled&&this.emit("lr-export-request",{format:e.detail.format})},this.onSearchInput=e=>{e.stopPropagation(),!this.disabled&&(this.searchText=e.target.value)},this.onClearSearch=()=>{this.disabled||(this.searchText="",this.renderRoot.querySelector('[part="search-input"]')?.focus())},this.onSearchFocus=event=>{event.stopPropagation(),this.emit("focus")},this.onSearchBlur=event=>{event.stopPropagation(),this.emit("blur")}}static{this.defaultStrings={...super.defaultStrings,clear:LYRA_DEFAULT_clear,evalDatasetAddExample:LYRA_DEFAULT_evalDatasetAddExample,evalDatasetColumnExpectedOutput:LYRA_DEFAULT_evalDatasetColumnExpectedOutput,evalDatasetColumnInput:LYRA_DEFAULT_evalDatasetColumnInput,evalDatasetColumnTags:LYRA_DEFAULT_evalDatasetColumnTags,evalDatasetEmpty:LYRA_DEFAULT_evalDatasetEmpty,evalDatasetImportLabel:LYRA_DEFAULT_evalDatasetImportLabel,evalDatasetLabel:LYRA_DEFAULT_evalDatasetLabel,evalDatasetNoMatches:LYRA_DEFAULT_evalDatasetNoMatches,evalDatasetRemoveExample:LYRA_DEFAULT_evalDatasetRemoveExample,evalDatasetSearchLabel:LYRA_DEFAULT_evalDatasetSearchLabel,evalDatasetTagFilterLabel:LYRA_DEFAULT_evalDatasetTagFilterLabel}}static{this.ownedCollectionProperties=Object.freeze(["examples","exportFormats"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-import-request"])}get normalizedExamples(){return firstByIdentity(Array.isArray(this.examples)?this.examples:[],example=>example.id)}willUpdate(changed){if(super.willUpdate(changed),changed.has("searchable")&&!this.searchable&&(this.searchText=""),changed.has("examples")){this.selectedId!==null&&!this.normalizedExamples.some(example=>example.id===this.selectedId)&&this.clearSelection();const available=this.allTags();[...this.activeTags].some(tag=>!available.includes(tag))&&(this.activeTags=new Set([...this.activeTags].filter(tag=>available.includes(tag))))}(changed.has("examples")||changed.has("searchText")||changed.has("activeTags")||changed.has("searchable"))&&this.selectedId!==null&&!this.visibleExamples.some(example=>example.id===this.selectedId)&&this.clearSelection()}clearSelection(){this.selectedId=null,this.emit("lr-example-select",{exampleId:null})}allTags(){const tags=new Set;for(const example of this.normalizedExamples)for(const tag of example.tags??[])tags.add(tag);return[...tags].sort(getCollator(this.effectiveLocale).compare)}get visibleExamples(){const query=this.searchText.trim().toLocaleLowerCase(this.effectiveLocale);return this.normalizedExamples.filter(example=>this.activeTags.size>0&&!(example.tags??[]).some(tag=>this.activeTags.has(tag))?!1:query===""?!0:[example.input,example.expectedOutput??"",...example.tags??[]].join(" ").toLocaleLowerCase(this.effectiveLocale).includes(query))}buildColumns(){return[{key:"input",label:this.localize("evalDatasetColumnInput"),sortable:!0,sortValue:row=>row.input,cell:row=>row.input},{key:"expectedOutput",label:this.localize("evalDatasetColumnExpectedOutput"),sortable:!0,sortValue:row=>row.expectedOutput??"",cell:row=>row.expectedOutput??""},{key:"tags",label:this.localize("evalDatasetColumnTags"),sortable:!0,sortValue:row=>(row.tags??[]).join(", "),cell:row=>(row.tags??[]).join(", ")}]}onTagChipSelect(tag,e){if(e.stopPropagation(),this.disabled)return;const next=new Set(this.activeTags);e.detail.selected?next.add(tag):next.delete(tag),this.activeTags=next}stopOwnedEvent(event){event.stopPropagation()}renderToolbar(){return html`
1
+ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{getCollator}from"../../../internal/intl-cache.js";import{trueDefaultSpellcheckConverter as spellcheckConverter}from"../../../internal/converters.js";import{styles}from"./eval-dataset.styles.js";import{firstByIdentity}from"../collection-identity.js";import{closeIcon}from"../../../internal/icons.js";import{LYRA_DEFAULT_clear,LYRA_DEFAULT_evalDatasetAddExample,LYRA_DEFAULT_evalDatasetColumnExpectedOutput,LYRA_DEFAULT_evalDatasetColumnInput,LYRA_DEFAULT_evalDatasetColumnTags,LYRA_DEFAULT_evalDatasetEmpty,LYRA_DEFAULT_evalDatasetImportLabel,LYRA_DEFAULT_evalDatasetLabel,LYRA_DEFAULT_evalDatasetNoMatches,LYRA_DEFAULT_evalDatasetRemoveExample,LYRA_DEFAULT_evalDatasetSearchLabel,LYRA_DEFAULT_evalDatasetTagFilterLabel}from"../../../internal/default-strings.generated.js";const MAX_RENDERED_EXAMPLES=100;class LyraEvalDataset extends LyraElement{constructor(){super(...arguments),this.examples=[],this.searchable=!1,this.autocomplete="",this.spellcheck=!0,this.autocapitalize="",this.autoCorrect="",this.inputMode="",this.enterKeyHint="",this.accept="",this.exportFormats=["csv","json"],this.disabled=!1,this.label="",this.searchText="",this.activeTags=new Set,this.selectedId=null,this.onAddClick=()=>{this.disabled||this.emit("lr-example-add-request")},this.onRemoveClick=()=>{this.disabled||this.selectedId===null||this.emit("lr-example-remove-request",{exampleId:this.selectedId})},this.onGridRowClick=e=>{if(e.stopPropagation(),this.disabled)return;const id=e.detail.row.id;this.selectedId=id,this.emit("lr-example-select",{exampleId:id})},this.onFiles=e=>{e.stopPropagation(),!(this.disabled||e.detail.files.length===0)&&this.emit("lr-import-request",{files:[...e.detail.files]})},this.onExportButtonExport=e=>{e.preventDefault(),e.stopPropagation(),!this.disabled&&this.emit("lr-export-request",{format:e.detail.format})},this.onSearchInput=e=>{e.stopPropagation(),!this.disabled&&(this.searchText=e.target.value)},this.onClearSearch=()=>{this.disabled||(this.searchText="",this.renderRoot.querySelector('[part="search-input"]')?.focus())},this.onSearchFocus=event=>{event.stopPropagation(),this.emit("focus")},this.onSearchBlur=event=>{event.stopPropagation(),this.emit("blur")}}static{this.defaultStrings={...super.defaultStrings,clear:LYRA_DEFAULT_clear,evalDatasetAddExample:LYRA_DEFAULT_evalDatasetAddExample,evalDatasetColumnExpectedOutput:LYRA_DEFAULT_evalDatasetColumnExpectedOutput,evalDatasetColumnInput:LYRA_DEFAULT_evalDatasetColumnInput,evalDatasetColumnTags:LYRA_DEFAULT_evalDatasetColumnTags,evalDatasetEmpty:LYRA_DEFAULT_evalDatasetEmpty,evalDatasetImportLabel:LYRA_DEFAULT_evalDatasetImportLabel,evalDatasetLabel:LYRA_DEFAULT_evalDatasetLabel,evalDatasetNoMatches:LYRA_DEFAULT_evalDatasetNoMatches,evalDatasetRemoveExample:LYRA_DEFAULT_evalDatasetRemoveExample,evalDatasetSearchLabel:LYRA_DEFAULT_evalDatasetSearchLabel,evalDatasetTagFilterLabel:LYRA_DEFAULT_evalDatasetTagFilterLabel}}static{this.ownedCollectionProperties=Object.freeze(["examples","exportFormats"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-import-request"])}get normalizedExamples(){return firstByIdentity(Array.isArray(this.examples)?this.examples:[],example=>example.id).map(example=>Array.isArray(example.tags)?example:{...example,tags:void 0})}willUpdate(changed){if(super.willUpdate(changed),changed.has("searchable")&&!this.searchable&&(this.searchText=""),changed.has("examples")){this.selectedId!==null&&!this.normalizedExamples.some(example=>example.id===this.selectedId)&&this.clearSelection();const available=this.allTags();[...this.activeTags].some(tag=>!available.includes(tag))&&(this.activeTags=new Set([...this.activeTags].filter(tag=>available.includes(tag))))}(changed.has("examples")||changed.has("searchText")||changed.has("activeTags")||changed.has("searchable"))&&this.selectedId!==null&&!this.visibleExamples.some(example=>example.id===this.selectedId)&&this.clearSelection()}clearSelection(){this.selectedId=null,this.emit("lr-example-select",{exampleId:null})}allTags(){const tags=new Set;for(const example of this.normalizedExamples)for(const tag of example.tags??[])tags.add(tag);return[...tags].sort(getCollator(this.effectiveLocale).compare)}get visibleExamples(){const query=this.searchText.trim().toLocaleLowerCase(this.effectiveLocale);return this.normalizedExamples.filter(example=>this.activeTags.size>0&&!(example.tags??[]).some(tag=>this.activeTags.has(tag))?!1:query===""?!0:[example.input,example.expectedOutput??"",...example.tags??[]].join(" ").toLocaleLowerCase(this.effectiveLocale).includes(query))}buildColumns(){return[{key:"input",label:this.localize("evalDatasetColumnInput"),sortable:!0,sortValue:row=>row.input,cell:row=>row.input},{key:"expectedOutput",label:this.localize("evalDatasetColumnExpectedOutput"),sortable:!0,sortValue:row=>row.expectedOutput??"",cell:row=>row.expectedOutput??""},{key:"tags",label:this.localize("evalDatasetColumnTags"),sortable:!0,sortValue:row=>(row.tags??[]).join(", "),cell:row=>(row.tags??[]).join(", ")}]}onTagChipSelect(tag,e){if(e.stopPropagation(),this.disabled)return;const next=new Set(this.activeTags);e.detail.selected?next.add(tag):next.delete(tag),this.activeTags=next}stopOwnedEvent(event){event.stopPropagation()}renderToolbar(){return html`
2
2
  <div part="toolbar">
3
3
  <button part="add-button" type="button" ?disabled=${this.disabled} @click=${this.onAddClick}>
4
4
  ${this.localize("evalDatasetAddExample")}
@@ -1,4 +1,4 @@
1
- var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{styles}from"./eval-result.styles.js";import{firstByIdentity}from"../collection-identity.js";import"../../forms/rubric-form/rubric-form.class.js";import"../../data/table/table.class.js";import"../../utility/diff-view/diff-view.class.js";import{LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_evaluationDashboardRunsLabel,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_loading,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_noData,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_remove,LYRA_DEFAULT_restore,LYRA_DEFAULT_retry,LYRA_DEFAULT_search,LYRA_DEFAULT_select,LYRA_DEFAULT_tableLoadFailed}from"../../../internal/default-strings.generated.js";const EMPTY_RUNS=[],EMPTY_COLUMNS=[],EMPTY_KEYS=[],EMPTY_VALUE={};class LyraEvalResult extends LyraElement{constructor(){super(...arguments),this.runs=EMPTY_RUNS,this.columns=EMPTY_COLUMNS,this.rubricKeys=EMPTY_KEYS,this.label="",this.selectedRunId=null,this.baselineRunId=null,this.reviewSkippable=!1,this.disabled=!1}static{this.defaultStrings={...super.defaultStrings,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,evaluationDashboardRunsLabel:LYRA_DEFAULT_evaluationDashboardRunsLabel,fieldRequired:LYRA_DEFAULT_fieldRequired,loading:LYRA_DEFAULT_loading,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,noData:LYRA_DEFAULT_noData,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,remove:LYRA_DEFAULT_remove,restore:LYRA_DEFAULT_restore,retry:LYRA_DEFAULT_retry,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select,tableLoadFailed:LYRA_DEFAULT_tableLoadFailed}}static{this.ownedCollectionProperties=Object.freeze(["runs","columns","rubricKeys"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-run-activate","lr-review-input","lr-review-validity-change","lr-review-submit","lr-review-skip"])}get normalizedRuns(){return firstByIdentity(Array.isArray(this.runs)?this.runs:[],run=>run.id)}get normalizedColumns(){return firstByIdentity(Array.isArray(this.columns)?this.columns:[],column=>column.key)}get normalizedRubricKeys(){return firstByIdentity(Array.isArray(this.rubricKeys)?this.rubricKeys:[],key=>key.key)}get effectiveSelectedRunId(){return this.selectedRunId??this.normalizedRuns[0]?.id??""}get selectedRun(){const id=this.effectiveSelectedRunId;return this.normalizedRuns.find(run=>run.id===id)}get effectiveBaselineRunId(){return this.baselineRunId??this.normalizedRuns[0]?.id??""}get baselineRun(){const id=this.effectiveBaselineRunId;return this.normalizedRuns.find(run=>run.id===id)}stopOwnedEvent(event){event.stopPropagation()}renderReview(selected){return html`<lr-rubric-form
1
+ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{styles}from"./eval-result.styles.js";import{firstByIdentity}from"../collection-identity.js";import"../../forms/rubric-form/rubric-form.class.js";import"../../data/table/table.class.js";import"../../utility/diff-view/diff-view.class.js";import{LYRA_DEFAULT_anchorJumped,LYRA_DEFAULT_anchorJumpedToPage,LYRA_DEFAULT_anchorNotFound,LYRA_DEFAULT_collapse,LYRA_DEFAULT_details,LYRA_DEFAULT_evaluationDashboardRunsLabel,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_loading,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_noData,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_remove,LYRA_DEFAULT_restore,LYRA_DEFAULT_retry,LYRA_DEFAULT_search,LYRA_DEFAULT_select,LYRA_DEFAULT_tableLoadFailed,LYRA_DEFAULT_viewerSearchActiveMatch,LYRA_DEFAULT_viewerSearchMatchCount,LYRA_DEFAULT_viewerSearchNoMatches}from"../../../internal/default-strings.generated.js";const EMPTY_RUNS=[],EMPTY_COLUMNS=[],EMPTY_KEYS=[],EMPTY_VALUE={};class LyraEvalResult extends LyraElement{constructor(){super(...arguments),this.runs=EMPTY_RUNS,this.columns=EMPTY_COLUMNS,this.rubricKeys=EMPTY_KEYS,this.label="",this.selectedRunId=null,this.baselineRunId=null,this.reviewSkippable=!1,this.disabled=!1}static{this.defaultStrings={...super.defaultStrings,anchorJumped:LYRA_DEFAULT_anchorJumped,anchorJumpedToPage:LYRA_DEFAULT_anchorJumpedToPage,anchorNotFound:LYRA_DEFAULT_anchorNotFound,collapse:LYRA_DEFAULT_collapse,details:LYRA_DEFAULT_details,evaluationDashboardRunsLabel:LYRA_DEFAULT_evaluationDashboardRunsLabel,fieldRequired:LYRA_DEFAULT_fieldRequired,loading:LYRA_DEFAULT_loading,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,noData:LYRA_DEFAULT_noData,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,remove:LYRA_DEFAULT_remove,restore:LYRA_DEFAULT_restore,retry:LYRA_DEFAULT_retry,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select,tableLoadFailed:LYRA_DEFAULT_tableLoadFailed,viewerSearchActiveMatch:LYRA_DEFAULT_viewerSearchActiveMatch,viewerSearchMatchCount:LYRA_DEFAULT_viewerSearchMatchCount,viewerSearchNoMatches:LYRA_DEFAULT_viewerSearchNoMatches}}static{this.ownedCollectionProperties=Object.freeze(["runs","columns","rubricKeys"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-run-activate","lr-review-input","lr-review-validity-change","lr-review-submit","lr-review-skip"])}get normalizedRuns(){return firstByIdentity(Array.isArray(this.runs)?this.runs:[],run=>run.id)}get normalizedColumns(){return firstByIdentity(Array.isArray(this.columns)?this.columns:[],column=>column.key)}get normalizedRubricKeys(){return firstByIdentity(Array.isArray(this.rubricKeys)?this.rubricKeys:[],key=>key.key)}get effectiveSelectedRunId(){return this.selectedRunId??this.normalizedRuns[0]?.id??""}get selectedRun(){const id=this.effectiveSelectedRunId;return this.normalizedRuns.find(run=>run.id===id)}get effectiveBaselineRunId(){return this.baselineRunId??this.normalizedRuns[0]?.id??""}get baselineRun(){const id=this.effectiveBaselineRunId;return this.normalizedRuns.find(run=>run.id===id)}stopOwnedEvent(event){event.stopPropagation()}renderReview(selected){return html`<lr-rubric-form
2
2
  part="review"
3
3
  .keys=${this.normalizedRubricKeys}
4
4
  .value=${selected.review??EMPTY_VALUE}
@@ -101,6 +101,7 @@ export interface EvalToolApprovalDetail extends ToolTimelineApprovalDetail{examp
101
101
  * assessment.
102
102
  * @csspart tool-trace - The nested `<lr-tool-timeline>` for an example's tool calls.
103
103
  * @csspart empty - The empty-state message shown when `examples` is empty.
104
+ * @csspart limit - Localized notice shown when `examples` exceeds the 500-row render ceiling.
104
105
  * @csspart live-region - The internal status-announcement live region.
105
106
  * @status stable
106
107
  * @since 9.0.0
@@ -1,4 +1,4 @@
1
- var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,state,query}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{finiteCount}from"../../../internal/numbers.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{AGENT_STATUS_VARIANTS}from"../../../internal/agent-status-variants.js";import{firstByIdentity}from"../collection-identity.js";import{styles}from"./evaluation-run.styles.js";import{agentStatusKind,agentStatusLabel,agentStatusMessage,agentStatusVariant,isAgentStatusTerminal}from"../agent-status-presentation.js";import{overallSemanticLabel,overallSemanticRole}from"../semantic-owner.js";import{LYRA_DEFAULT_agentRunStatusCollecting,LYRA_DEFAULT_agentRunStatusQueued,LYRA_DEFAULT_evaluationRunExampleCancelledAnnounce,LYRA_DEFAULT_evaluationRunExampleCompletedAnnounce,LYRA_DEFAULT_evaluationRunExampleFailedAnnounce,LYRA_DEFAULT_evaluationRunExampleLabel,LYRA_DEFAULT_evaluationRunExampleStartedAnnounce,LYRA_DEFAULT_evaluationRunExampleWaitingApprovalAnnounce,LYRA_DEFAULT_evaluationRunExampleWaitingInputAnnounce,LYRA_DEFAULT_evaluationRunFailedCount,LYRA_DEFAULT_evaluationRunGroundingHeading,LYRA_DEFAULT_evaluationRunInputHeading,LYRA_DEFAULT_evaluationRunLabel,LYRA_DEFAULT_evaluationRunOutputHeading,LYRA_DEFAULT_evaluationRunProgressLabel,LYRA_DEFAULT_evaluationRunProgressSummary,LYRA_DEFAULT_evaluationRunRunningCount,LYRA_DEFAULT_evaluationRunStatusCancelled,LYRA_DEFAULT_evaluationRunStatusIdle,LYRA_DEFAULT_evaluationRunStatusWaitingApproval,LYRA_DEFAULT_evaluationRunStatusWaitingInput,LYRA_DEFAULT_evaluationRunToolTraceHeading,LYRA_DEFAULT_noData,LYRA_DEFAULT_statusError,LYRA_DEFAULT_statusRunning,LYRA_DEFAULT_statusSuccess}from"../../../internal/default-strings.generated.js";const RUNNING_ERROR_KINDS=["running","error"];class LyraEvalRun extends LyraElement{constructor(){super(...arguments),this.examples=[],this.total=null,this.label="",this.expandedIds=new Set,this.isMounting=!0,this.previousStatusById=new Map}static{this.defaultStrings={...super.defaultStrings,agentRunStatusCollecting:LYRA_DEFAULT_agentRunStatusCollecting,agentRunStatusQueued:LYRA_DEFAULT_agentRunStatusQueued,evaluationRunExampleCancelledAnnounce:LYRA_DEFAULT_evaluationRunExampleCancelledAnnounce,evaluationRunExampleCompletedAnnounce:LYRA_DEFAULT_evaluationRunExampleCompletedAnnounce,evaluationRunExampleFailedAnnounce:LYRA_DEFAULT_evaluationRunExampleFailedAnnounce,evaluationRunExampleLabel:LYRA_DEFAULT_evaluationRunExampleLabel,evaluationRunExampleStartedAnnounce:LYRA_DEFAULT_evaluationRunExampleStartedAnnounce,evaluationRunExampleWaitingApprovalAnnounce:LYRA_DEFAULT_evaluationRunExampleWaitingApprovalAnnounce,evaluationRunExampleWaitingInputAnnounce:LYRA_DEFAULT_evaluationRunExampleWaitingInputAnnounce,evaluationRunFailedCount:LYRA_DEFAULT_evaluationRunFailedCount,evaluationRunGroundingHeading:LYRA_DEFAULT_evaluationRunGroundingHeading,evaluationRunInputHeading:LYRA_DEFAULT_evaluationRunInputHeading,evaluationRunLabel:LYRA_DEFAULT_evaluationRunLabel,evaluationRunOutputHeading:LYRA_DEFAULT_evaluationRunOutputHeading,evaluationRunProgressLabel:LYRA_DEFAULT_evaluationRunProgressLabel,evaluationRunProgressSummary:LYRA_DEFAULT_evaluationRunProgressSummary,evaluationRunRunningCount:LYRA_DEFAULT_evaluationRunRunningCount,evaluationRunStatusCancelled:LYRA_DEFAULT_evaluationRunStatusCancelled,evaluationRunStatusIdle:LYRA_DEFAULT_evaluationRunStatusIdle,evaluationRunStatusWaitingApproval:LYRA_DEFAULT_evaluationRunStatusWaitingApproval,evaluationRunStatusWaitingInput:LYRA_DEFAULT_evaluationRunStatusWaitingInput,evaluationRunToolTraceHeading:LYRA_DEFAULT_evaluationRunToolTraceHeading,noData:LYRA_DEFAULT_noData,statusError:LYRA_DEFAULT_statusError,statusRunning:LYRA_DEFAULT_statusRunning,statusSuccess:LYRA_DEFAULT_statusSuccess}}static{this.ownedCollectionProperties=Object.freeze(["examples"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-example-citation-select","lr-example-claim-select"])}get normalizedExamples(){return firstByIdentity(Array.isArray(this.examples)?this.examples:[],example=>example.id)}willUpdate(changed){if(super.willUpdate(changed),!changed.has("examples"))return;const ids=new Set(this.normalizedExamples.map(example=>example.id));let pruned;for(const id of this.expandedIds)ids.has(id)||(pruned??=new Set(this.expandedIds),pruned.delete(id));pruned&&(this.expandedIds=pruned)}updated(changed){super.updated(changed);const wasMounting=this.isMounting;this.isMounting=!1,changed.has("examples")&&this.diffAndAnnounce(wasMounting)}statusCounts(){const counts={};for(const example of this.normalizedExamples){const kind=agentStatusKind(example.status);counts[kind]=(counts[kind]??0)+1}return counts}exampleLabel(example,index){return example.label||this.localize("evaluationRunExampleLabel",void 0,{index:getNumberFormat(this.effectiveLocale).format(index+1)})}statusText(status){const override=agentStatusLabel(status);if(override!==void 0)return override;const kind=agentStatusKind(status);switch(kind){case"idle":return this.localize("evaluationRunStatusIdle");case"running":return this.localize("statusRunning");case"queued":return this.localize("agentRunStatusQueued");case"collecting":return this.localize("agentRunStatusCollecting");case"waiting-input":return this.localize("evaluationRunStatusWaitingInput");case"waiting-approval":return this.localize("evaluationRunStatusWaitingApproval");case"done":return this.localize("statusSuccess");case"error":return this.localize("statusError");case"cancelled":return this.localize("evaluationRunStatusCancelled");default:return kind.replace(/[-_]+/g," ").replace(/\b\w/g,letter=>letter.toUpperCase())}}diffAndAnnounce(firstSight){const region=this.liveRegion,nextStatusById=new Map;this.normalizedExamples.forEach((example,index)=>{const kind=agentStatusKind(example.status);if(nextStatusById.set(example.id,kind),firstSight||!region)return;const previous=this.previousStatusById.get(example.id);if(previous===void 0||previous===kind)return;const label=this.exampleLabel(example,index);switch(kind){case"running":region.mode="polite",region.announce(this.localize("evaluationRunExampleStartedAnnounce",void 0,{label}),{force:!0});break;case"done":region.mode="polite",region.announce(this.localize("evaluationRunExampleCompletedAnnounce",void 0,{label}),{force:!0});break;case"error":region.mode="assertive",region.announce(this.localize("evaluationRunExampleFailedAnnounce",void 0,{label}),{force:!0});break;case"cancelled":region.mode="polite",region.announce(this.localize("evaluationRunExampleCancelledAnnounce",void 0,{label}),{force:!0});break;case"waiting-input":region.mode="polite",region.announce(this.localize("evaluationRunExampleWaitingInputAnnounce",void 0,{label}),{force:!0});break;case"waiting-approval":region.mode="polite",region.announce(this.localize("evaluationRunExampleWaitingApprovalAnnounce",void 0,{label}),{force:!0});break;case"idle":break}}),this.previousStatusById=nextStatusById}onExampleToggle(id,event){event.stopPropagation();const expanded=event.detail.open,next=new Set(this.expandedIds);expanded?next.add(id):next.delete(id),this.expandedIds=next,this.emit("lr-example-toggle",{exampleId:id,expanded})}onCitationSelect(exampleId,event){event.stopPropagation(),this.emit("lr-example-citation-select",{exampleId,citation:event.detail.citation})}onClaimSelect(exampleId,event){event.stopPropagation(),this.emit("lr-example-claim-select",{exampleId,claim:event.detail.claim})}onToolApprovalDecide(exampleId,event){event.stopPropagation(),this.emit("lr-example-tool-approval-decide",{exampleId,...event.detail},{cancelable:!0}).defaultPrevented&&event.preventDefault()}onToolActivate(exampleId,event){event.stopPropagation(),this.emit("lr-example-tool-activate",{exampleId,...event.detail})}onToolRenderError(exampleId,event){event.stopPropagation(),this.emit("lr-example-tool-render-error",{exampleId,...event.detail})}stopOwnedEvent(event){event.stopPropagation()}renderContent(content,part){const text=typeof content?.text=="string"?content.text:"";return content?.format==="code"?html`<lr-code-block
1
+ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,state,query}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{finiteCount}from"../../../internal/numbers.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{AGENT_STATUS_VARIANTS}from"../../../internal/agent-status-variants.js";import{firstByIdentity}from"../collection-identity.js";import{styles}from"./evaluation-run.styles.js";import{agentStatusKind,agentStatusLabel,agentStatusMessage,agentStatusVariant,isAgentStatusTerminal}from"../agent-status-presentation.js";import{overallSemanticLabel,overallSemanticRole}from"../semantic-owner.js";import{LYRA_DEFAULT_agentRunStatusCollecting,LYRA_DEFAULT_agentRunStatusQueued,LYRA_DEFAULT_evaluationRunExampleCancelledAnnounce,LYRA_DEFAULT_evaluationRunExampleCompletedAnnounce,LYRA_DEFAULT_evaluationRunExampleFailedAnnounce,LYRA_DEFAULT_evaluationRunExampleLabel,LYRA_DEFAULT_evaluationRunExampleLimit,LYRA_DEFAULT_evaluationRunExampleStartedAnnounce,LYRA_DEFAULT_evaluationRunExampleWaitingApprovalAnnounce,LYRA_DEFAULT_evaluationRunExampleWaitingInputAnnounce,LYRA_DEFAULT_evaluationRunFailedCount,LYRA_DEFAULT_evaluationRunGroundingHeading,LYRA_DEFAULT_evaluationRunInputHeading,LYRA_DEFAULT_evaluationRunLabel,LYRA_DEFAULT_evaluationRunOutputHeading,LYRA_DEFAULT_evaluationRunProgressLabel,LYRA_DEFAULT_evaluationRunProgressSummary,LYRA_DEFAULT_evaluationRunRunningCount,LYRA_DEFAULT_evaluationRunStatusCancelled,LYRA_DEFAULT_evaluationRunStatusIdle,LYRA_DEFAULT_evaluationRunStatusWaitingApproval,LYRA_DEFAULT_evaluationRunStatusWaitingInput,LYRA_DEFAULT_evaluationRunToolTraceHeading,LYRA_DEFAULT_noData,LYRA_DEFAULT_statusError,LYRA_DEFAULT_statusRunning,LYRA_DEFAULT_statusSuccess}from"../../../internal/default-strings.generated.js";const RUNNING_ERROR_KINDS=["running","error"],MAX_RENDERED_EXAMPLES=500;class LyraEvalRun extends LyraElement{constructor(){super(...arguments),this.examples=[],this.total=null,this.label="",this.expandedIds=new Set,this.isMounting=!0,this.previousStatusById=new Map}static{this.defaultStrings={...super.defaultStrings,agentRunStatusCollecting:LYRA_DEFAULT_agentRunStatusCollecting,agentRunStatusQueued:LYRA_DEFAULT_agentRunStatusQueued,evaluationRunExampleCancelledAnnounce:LYRA_DEFAULT_evaluationRunExampleCancelledAnnounce,evaluationRunExampleCompletedAnnounce:LYRA_DEFAULT_evaluationRunExampleCompletedAnnounce,evaluationRunExampleFailedAnnounce:LYRA_DEFAULT_evaluationRunExampleFailedAnnounce,evaluationRunExampleLabel:LYRA_DEFAULT_evaluationRunExampleLabel,evaluationRunExampleLimit:LYRA_DEFAULT_evaluationRunExampleLimit,evaluationRunExampleStartedAnnounce:LYRA_DEFAULT_evaluationRunExampleStartedAnnounce,evaluationRunExampleWaitingApprovalAnnounce:LYRA_DEFAULT_evaluationRunExampleWaitingApprovalAnnounce,evaluationRunExampleWaitingInputAnnounce:LYRA_DEFAULT_evaluationRunExampleWaitingInputAnnounce,evaluationRunFailedCount:LYRA_DEFAULT_evaluationRunFailedCount,evaluationRunGroundingHeading:LYRA_DEFAULT_evaluationRunGroundingHeading,evaluationRunInputHeading:LYRA_DEFAULT_evaluationRunInputHeading,evaluationRunLabel:LYRA_DEFAULT_evaluationRunLabel,evaluationRunOutputHeading:LYRA_DEFAULT_evaluationRunOutputHeading,evaluationRunProgressLabel:LYRA_DEFAULT_evaluationRunProgressLabel,evaluationRunProgressSummary:LYRA_DEFAULT_evaluationRunProgressSummary,evaluationRunRunningCount:LYRA_DEFAULT_evaluationRunRunningCount,evaluationRunStatusCancelled:LYRA_DEFAULT_evaluationRunStatusCancelled,evaluationRunStatusIdle:LYRA_DEFAULT_evaluationRunStatusIdle,evaluationRunStatusWaitingApproval:LYRA_DEFAULT_evaluationRunStatusWaitingApproval,evaluationRunStatusWaitingInput:LYRA_DEFAULT_evaluationRunStatusWaitingInput,evaluationRunToolTraceHeading:LYRA_DEFAULT_evaluationRunToolTraceHeading,noData:LYRA_DEFAULT_noData,statusError:LYRA_DEFAULT_statusError,statusRunning:LYRA_DEFAULT_statusRunning,statusSuccess:LYRA_DEFAULT_statusSuccess}}static{this.ownedCollectionProperties=Object.freeze(["examples"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-example-citation-select","lr-example-claim-select"])}get normalizedExamples(){return firstByIdentity(Array.isArray(this.examples)?this.examples:[],example=>example.id)}willUpdate(changed){if(super.willUpdate(changed),!changed.has("examples"))return;const ids=new Set(this.normalizedExamples.map(example=>example.id));let pruned;for(const id of this.expandedIds)ids.has(id)||(pruned??=new Set(this.expandedIds),pruned.delete(id));pruned&&(this.expandedIds=pruned)}updated(changed){super.updated(changed);const wasMounting=this.isMounting;this.isMounting=!1,changed.has("examples")&&this.diffAndAnnounce(wasMounting)}statusCounts(){const counts={};for(const example of this.normalizedExamples){const kind=agentStatusKind(example.status);counts[kind]=(counts[kind]??0)+1}return counts}exampleLabel(example,index){return example.label||this.localize("evaluationRunExampleLabel",void 0,{index:getNumberFormat(this.effectiveLocale).format(index+1)})}statusText(status){const override=agentStatusLabel(status);if(override!==void 0)return override;const kind=agentStatusKind(status);switch(kind){case"idle":return this.localize("evaluationRunStatusIdle");case"running":return this.localize("statusRunning");case"queued":return this.localize("agentRunStatusQueued");case"collecting":return this.localize("agentRunStatusCollecting");case"waiting-input":return this.localize("evaluationRunStatusWaitingInput");case"waiting-approval":return this.localize("evaluationRunStatusWaitingApproval");case"done":return this.localize("statusSuccess");case"error":return this.localize("statusError");case"cancelled":return this.localize("evaluationRunStatusCancelled");default:return kind.replace(/[-_]+/g," ").replace(/\b\w/g,letter=>letter.toUpperCase())}}diffAndAnnounce(firstSight){const region=this.liveRegion,nextStatusById=new Map;this.normalizedExamples.forEach((example,index)=>{const kind=agentStatusKind(example.status);if(nextStatusById.set(example.id,kind),firstSight||!region)return;const previous=this.previousStatusById.get(example.id);if(previous===void 0||previous===kind)return;const label=this.exampleLabel(example,index);switch(kind){case"running":region.mode="polite",region.announce(this.localize("evaluationRunExampleStartedAnnounce",void 0,{label}),{force:!0});break;case"done":region.mode="polite",region.announce(this.localize("evaluationRunExampleCompletedAnnounce",void 0,{label}),{force:!0});break;case"error":region.mode="assertive",region.announce(this.localize("evaluationRunExampleFailedAnnounce",void 0,{label}),{force:!0});break;case"cancelled":region.mode="polite",region.announce(this.localize("evaluationRunExampleCancelledAnnounce",void 0,{label}),{force:!0});break;case"waiting-input":region.mode="polite",region.announce(this.localize("evaluationRunExampleWaitingInputAnnounce",void 0,{label}),{force:!0});break;case"waiting-approval":region.mode="polite",region.announce(this.localize("evaluationRunExampleWaitingApprovalAnnounce",void 0,{label}),{force:!0});break;case"idle":break}}),this.previousStatusById=nextStatusById}onExampleToggle(id,event){event.stopPropagation();const expanded=event.detail.open,next=new Set(this.expandedIds);expanded?next.add(id):next.delete(id),this.expandedIds=next,this.emit("lr-example-toggle",{exampleId:id,expanded})}onCitationSelect(exampleId,event){event.stopPropagation(),this.emit("lr-example-citation-select",{exampleId,citation:event.detail.citation})}onClaimSelect(exampleId,event){event.stopPropagation(),this.emit("lr-example-claim-select",{exampleId,claim:event.detail.claim})}onToolApprovalDecide(exampleId,event){event.stopPropagation(),this.emit("lr-example-tool-approval-decide",{exampleId,...event.detail},{cancelable:!0}).defaultPrevented&&event.preventDefault()}onToolActivate(exampleId,event){event.stopPropagation(),this.emit("lr-example-tool-activate",{exampleId,...event.detail})}onToolRenderError(exampleId,event){event.stopPropagation(),this.emit("lr-example-tool-render-error",{exampleId,...event.detail})}stopOwnedEvent(event){event.stopPropagation()}renderContent(content,part){const text=typeof content?.text=="string"?content.text:"";return content?.format==="code"?html`<lr-code-block
2
2
  part=${part}
3
3
  code=${text}
4
4
  language=${content.language??""}
@@ -69,7 +69,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
69
69
  ${example.toolTrace&&example.toolTrace.length>0?this.renderToolTrace(example,example.toolTrace):nothing}
70
70
  `:nothing}
71
71
  </lr-details>
72
- `}render(){const examples=this.normalizedExamples,configuredTotal=this.total!=null?finiteCount(this.total,examples.length):examples.length,resolvedTotal=Math.max(configuredTotal,examples.length),counts=this.statusCounts(),completed=examples.filter(example=>isAgentStatusTerminal(example.status)).length,visibleLabel=this.label||this.localize("evaluationRunLabel"),headerLabel=overallSemanticLabel(this,visibleLabel),number=getNumberFormat(this.effectiveLocale);return html`
72
+ `}render(){const examples=this.normalizedExamples,configuredTotal=this.total!=null?finiteCount(this.total,examples.length):examples.length,resolvedTotal=Math.max(configuredTotal,examples.length),counts=this.statusCounts(),completed=examples.filter(example=>isAgentStatusTerminal(example.status)).length,visibleLabel=this.label||this.localize("evaluationRunLabel"),headerLabel=overallSemanticLabel(this,visibleLabel),number=getNumberFormat(this.effectiveLocale),truncated=examples.length>MAX_RENDERED_EXAMPLES;return html`
73
73
  <div
74
74
  part="base"
75
75
  role=${overallSemanticRole(this,"region")??nothing}
@@ -91,7 +91,8 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
91
91
  ${RUNNING_ERROR_KINDS.map(kind=>{const count=counts[kind]??0;if(count===0)return nothing;const formattedCount=number.format(count),badgeVariant=kind==="running"?"brand":"danger",text=kind==="running"?this.localize("evaluationRunRunningCount",void 0,{count:formattedCount}):this.localize("evaluationRunFailedCount",void 0,{count:formattedCount});return html`<lr-badge part="count" data-kind=${kind} variant=${badgeVariant}>${text}</lr-badge>`})}
92
92
  </span>
93
93
  </div>
94
- ${examples.length===0?html`<lr-empty part="empty" heading=${this.localize("noData")}></lr-empty>`:html`<div part="examples">${examples.map((example,index)=>this.renderExample(example,index))}</div>`}
94
+ ${examples.length===0?html`<lr-empty part="empty" heading=${this.localize("noData")}></lr-empty>`:html`<div part="examples">${examples.slice(0,MAX_RENDERED_EXAMPLES).map((example,index)=>this.renderExample(example,index))}</div>`}
95
+ ${truncated?html`<p part="limit">${this.localize("evaluationRunExampleLimit",void 0,{count:number.format(MAX_RENDERED_EXAMPLES)})}</p>`:nothing}
95
96
  </div>
96
97
  <lr-live-region part="live-region" mode="polite"></lr-live-region>
97
98
  `}}__decorate([property({attribute:!1})],LyraEvalRun.prototype,"examples",void 0),__decorate([property({type:Number})],LyraEvalRun.prototype,"total",void 0),__decorate([property()],LyraEvalRun.prototype,"label",void 0),__decorate([state()],LyraEvalRun.prototype,"expandedIds",void 0),__decorate([query("lr-live-region")],LyraEvalRun.prototype,"liveRegion",void 0);export{LyraEvalRun};
@@ -1 +1 @@
1
- import{css}from"lit";const styles=css`:host{display:block}[part=base]{gap:var(--lr-space-m);flex-direction:column;display:flex}[part=header]{align-items:center;gap:var(--lr-space-s) var(--lr-space-m);padding:var(--lr-space-m);border:var(--lr-border-width-thin) solid var(--lr-color-border);border-radius:var(--lr-radius);background:var(--lr-color-surface-raised);flex-wrap:wrap;display:flex}[part=header-label]{overflow-wrap:anywhere;min-inline-size:0;font-weight:var(--lr-font-weight-semibold);font-size:var(--lr-font-size-md-sm);color:var(--lr-color-text);flex:auto}[part=progress]{flex:1 1 var(--lr-size-12rem);min-inline-size:0}[part=summary]{overflow-wrap:anywhere;min-inline-size:0;font-size:var(--lr-font-size-sm);color:var(--lr-color-text-quiet);flex:0 auto}[part=counts]{gap:var(--lr-space-xs);flex-wrap:wrap;flex:none;display:flex}[part=examples]{gap:var(--lr-space-s);flex-direction:column;display:flex}[part=example-summary]{align-items:center;gap:var(--lr-space-s);min-inline-size:0;display:inline-flex}[part=example-label]{overflow-wrap:anywhere;min-inline-size:0}[part=example-status-message]{overflow-wrap:anywhere;min-inline-size:0;color:var(--lr-color-text-quiet);font-size:var(--lr-font-size-sm)}[part=input-section],[part=output-section],[part=grounding-section],[part=tool-trace-section]{gap:var(--lr-space-xs);flex-direction:column;margin-block-start:var(--lr-space-s);display:flex}[part=section-heading]{font-size:var(--lr-font-size-sm);font-weight:var(--lr-font-weight-semibold);color:var(--lr-color-text-quiet);margin:0}`;export{styles};
1
+ import{css}from"lit";const styles=css`:host{display:block}[part=base]{gap:var(--lr-space-m);flex-direction:column;display:flex}[part=header]{align-items:center;gap:var(--lr-space-s) var(--lr-space-m);padding:var(--lr-space-m);border:var(--lr-border-width-thin) solid var(--lr-color-border);border-radius:var(--lr-radius);background:var(--lr-color-surface-raised);flex-wrap:wrap;display:flex}[part=header-label]{overflow-wrap:anywhere;min-inline-size:0;font-weight:var(--lr-font-weight-semibold);font-size:var(--lr-font-size-md-sm);color:var(--lr-color-text);flex:auto}[part=progress]{flex:1 1 var(--lr-size-12rem);min-inline-size:0}[part=summary]{overflow-wrap:anywhere;min-inline-size:0;font-size:var(--lr-font-size-sm);color:var(--lr-color-text-quiet);flex:0 auto}[part=counts]{gap:var(--lr-space-xs);flex-wrap:wrap;flex:none;display:flex}[part=examples]{gap:var(--lr-space-s);flex-direction:column;display:flex}[part=example-summary]{align-items:center;gap:var(--lr-space-s);min-inline-size:0;display:inline-flex}[part=example-label]{overflow-wrap:anywhere;min-inline-size:0}[part=example-status-message]{overflow-wrap:anywhere;min-inline-size:0;color:var(--lr-color-text-quiet);font-size:var(--lr-font-size-sm)}[part=input-section],[part=output-section],[part=grounding-section],[part=tool-trace-section]{gap:var(--lr-space-xs);flex-direction:column;margin-block-start:var(--lr-space-s);display:flex}[part=section-heading]{font-size:var(--lr-font-size-sm);font-weight:var(--lr-font-weight-semibold);color:var(--lr-color-text-quiet);margin:0}[part=limit]{margin:var(--lr-space-s);color:var(--lr-color-text-quiet);font-size:var(--lr-font-size-xs)}`;export{styles};
@@ -52,6 +52,7 @@ detail?:string;}
52
52
  * @csspart detail - The `<lr-details>` progressive-disclosure panel for `detail`, only rendered
53
53
  * when a decision defines one.
54
54
  * @csspart empty - The `<lr-empty>` shown when `decisions` is empty.
55
+ * @csspart limit - Localized notice shown when `decisions` exceeds the 500-row render ceiling.
55
56
  * @cssprop [--lr-policy-summary-count-allow-color=var(--lr-color-success)] - Text color of the
56
57
  * `allow` count.
57
58
  * @cssprop [--lr-policy-summary-count-deny-color=var(--lr-color-danger)] - Text color of the `deny`
@@ -1,4 +1,4 @@
1
- var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import"../../overlays/badge/badge.class.js";import"../../layout/details/details.class.js";import"../../overlays/empty/empty.class.js";import{styles}from"./policy-summary.styles.js";import{firstByIdentity}from"../collection-identity.js";import{LYRA_DEFAULT_collapse,LYRA_DEFAULT_deny,LYRA_DEFAULT_details,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_noData,LYRA_DEFAULT_open,LYRA_DEFAULT_policySummaryAllowCount,LYRA_DEFAULT_policySummaryCategoryGuardrail,LYRA_DEFAULT_policySummaryCategoryPermission,LYRA_DEFAULT_policySummaryCategoryPrivacy,LYRA_DEFAULT_policySummaryCategoryTool,LYRA_DEFAULT_policySummaryDenyCount,LYRA_DEFAULT_policySummaryDetailLabel,LYRA_DEFAULT_policySummaryLabel,LYRA_DEFAULT_policySummaryNeedsReviewCount,LYRA_DEFAULT_policySummaryStateAllow,LYRA_DEFAULT_policySummaryStateDeny,LYRA_DEFAULT_policySummaryStateNeedsReview,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_restore,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";const STATE_VARIANT={allow:"success",deny:"danger","needs-review":"warning"},STATE_LABEL_KEY={allow:"policySummaryStateAllow",deny:"policySummaryStateDeny","needs-review":"policySummaryStateNeedsReview"},STATE_COUNT_KEY={allow:"policySummaryAllowCount",deny:"policySummaryDenyCount","needs-review":"policySummaryNeedsReviewCount"},CATEGORY_LABEL_KEY={guardrail:"policySummaryCategoryGuardrail",permission:"policySummaryCategoryPermission",privacy:"policySummaryCategoryPrivacy",tool:"policySummaryCategoryTool"},STATES=["allow","deny","needs-review"],STATE_SET=new Set(STATES),CATEGORY_SET=new Set(["guardrail","permission","privacy","tool"]);class LyraPolicySummary extends LyraElement{constructor(){super(...arguments),this.decisions=[]}static{this.defaultStrings={...super.defaultStrings,collapse:LYRA_DEFAULT_collapse,deny:LYRA_DEFAULT_deny,details:LYRA_DEFAULT_details,fieldRequired:LYRA_DEFAULT_fieldRequired,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,noData:LYRA_DEFAULT_noData,open:LYRA_DEFAULT_open,policySummaryAllowCount:LYRA_DEFAULT_policySummaryAllowCount,policySummaryCategoryGuardrail:LYRA_DEFAULT_policySummaryCategoryGuardrail,policySummaryCategoryPermission:LYRA_DEFAULT_policySummaryCategoryPermission,policySummaryCategoryPrivacy:LYRA_DEFAULT_policySummaryCategoryPrivacy,policySummaryCategoryTool:LYRA_DEFAULT_policySummaryCategoryTool,policySummaryDenyCount:LYRA_DEFAULT_policySummaryDenyCount,policySummaryDetailLabel:LYRA_DEFAULT_policySummaryDetailLabel,policySummaryLabel:LYRA_DEFAULT_policySummaryLabel,policySummaryNeedsReviewCount:LYRA_DEFAULT_policySummaryNeedsReviewCount,policySummaryStateAllow:LYRA_DEFAULT_policySummaryStateAllow,policySummaryStateDeny:LYRA_DEFAULT_policySummaryStateDeny,policySummaryStateNeedsReview:LYRA_DEFAULT_policySummaryStateNeedsReview,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,restore:LYRA_DEFAULT_restore,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.ownedCollectionProperties=Object.freeze(["decisions"])}static{this.styles=[LyraElement.styles,styles]}get normalizedDecisions(){const decisions=(Array.isArray(this.decisions)?this.decisions:[]).filter(decision=>{try{return STATE_SET.has(decision.state)&&CATEGORY_SET.has(decision.category)}catch{return!1}});return firstByIdentity(decisions,decision=>decision.id)}countOf(state){return this.normalizedDecisions.filter(decision=>decision.state===state).length}stopNestedLifecycle(event){event.stopPropagation()}renderDecision(decision){const variant=STATE_VARIANT[decision.state];return html`
1
+ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import"../../overlays/badge/badge.class.js";import"../../layout/details/details.class.js";import"../../overlays/empty/empty.class.js";import{styles}from"./policy-summary.styles.js";import{firstByIdentity}from"../collection-identity.js";import{LYRA_DEFAULT_collapse,LYRA_DEFAULT_deny,LYRA_DEFAULT_details,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_noData,LYRA_DEFAULT_open,LYRA_DEFAULT_policySummaryAllowCount,LYRA_DEFAULT_policySummaryCategoryGuardrail,LYRA_DEFAULT_policySummaryCategoryPermission,LYRA_DEFAULT_policySummaryCategoryPrivacy,LYRA_DEFAULT_policySummaryCategoryTool,LYRA_DEFAULT_policySummaryDenyCount,LYRA_DEFAULT_policySummaryDetailLabel,LYRA_DEFAULT_policySummaryLabel,LYRA_DEFAULT_policySummaryLimit,LYRA_DEFAULT_policySummaryNeedsReviewCount,LYRA_DEFAULT_policySummaryStateAllow,LYRA_DEFAULT_policySummaryStateDeny,LYRA_DEFAULT_policySummaryStateNeedsReview,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_restore,LYRA_DEFAULT_search,LYRA_DEFAULT_select}from"../../../internal/default-strings.generated.js";const STATE_VARIANT={allow:"success",deny:"danger","needs-review":"warning"},STATE_LABEL_KEY={allow:"policySummaryStateAllow",deny:"policySummaryStateDeny","needs-review":"policySummaryStateNeedsReview"},STATE_COUNT_KEY={allow:"policySummaryAllowCount",deny:"policySummaryDenyCount","needs-review":"policySummaryNeedsReviewCount"},CATEGORY_LABEL_KEY={guardrail:"policySummaryCategoryGuardrail",permission:"policySummaryCategoryPermission",privacy:"policySummaryCategoryPrivacy",tool:"policySummaryCategoryTool"},MAX_RENDERED_DECISIONS=500,STATES=["allow","deny","needs-review"],STATE_SET=new Set(STATES),CATEGORY_SET=new Set(["guardrail","permission","privacy","tool"]);class LyraPolicySummary extends LyraElement{constructor(){super(...arguments),this.decisions=[]}static{this.defaultStrings={...super.defaultStrings,collapse:LYRA_DEFAULT_collapse,deny:LYRA_DEFAULT_deny,details:LYRA_DEFAULT_details,fieldRequired:LYRA_DEFAULT_fieldRequired,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,noData:LYRA_DEFAULT_noData,open:LYRA_DEFAULT_open,policySummaryAllowCount:LYRA_DEFAULT_policySummaryAllowCount,policySummaryCategoryGuardrail:LYRA_DEFAULT_policySummaryCategoryGuardrail,policySummaryCategoryPermission:LYRA_DEFAULT_policySummaryCategoryPermission,policySummaryCategoryPrivacy:LYRA_DEFAULT_policySummaryCategoryPrivacy,policySummaryCategoryTool:LYRA_DEFAULT_policySummaryCategoryTool,policySummaryDenyCount:LYRA_DEFAULT_policySummaryDenyCount,policySummaryDetailLabel:LYRA_DEFAULT_policySummaryDetailLabel,policySummaryLabel:LYRA_DEFAULT_policySummaryLabel,policySummaryLimit:LYRA_DEFAULT_policySummaryLimit,policySummaryNeedsReviewCount:LYRA_DEFAULT_policySummaryNeedsReviewCount,policySummaryStateAllow:LYRA_DEFAULT_policySummaryStateAllow,policySummaryStateDeny:LYRA_DEFAULT_policySummaryStateDeny,policySummaryStateNeedsReview:LYRA_DEFAULT_policySummaryStateNeedsReview,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,restore:LYRA_DEFAULT_restore,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select}}static{this.ownedCollectionProperties=Object.freeze(["decisions"])}static{this.styles=[LyraElement.styles,styles]}get normalizedDecisions(){const decisions=(Array.isArray(this.decisions)?this.decisions:[]).filter(decision=>{try{return STATE_SET.has(decision.state)&&CATEGORY_SET.has(decision.category)}catch{return!1}});return firstByIdentity(decisions,decision=>decision.id)}countOf(state){return this.normalizedDecisions.filter(decision=>decision.state===state).length}stopNestedLifecycle(event){event.stopPropagation()}renderDecision(decision){const variant=STATE_VARIANT[decision.state];return html`
2
2
  <div part="decision" role="listitem" data-state=${decision.state} data-category=${decision.category}>
3
3
  <div part="decision-header">
4
4
  <span part="category">${this.localize(CATEGORY_LABEL_KEY[decision.category])}</span>
@@ -15,7 +15,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
15
15
  >${decision.detail}</lr-details
16
16
  >`:nothing}
17
17
  </div>
18
- `}render(){const decisions=this.normalizedDecisions;return decisions.length===0?html`<lr-empty part="empty" heading=${this.localize("noData")}></lr-empty>`:html`
18
+ `}render(){const decisions=this.normalizedDecisions;if(decisions.length===0)return html`<lr-empty part="empty" heading=${this.localize("noData")}></lr-empty>`;const truncated=decisions.length>MAX_RENDERED_DECISIONS;return html`
19
19
  <div part="base">
20
20
  <div part="summary">
21
21
  ${STATES.map(state=>{const count=this.countOf(state),formattedCount=getNumberFormat(this.effectiveLocale).format(count);return html`<span part="count" data-state=${state}
@@ -27,7 +27,8 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
27
27
  role="list"
28
28
  aria-label=${this.localize("policySummaryLabel")}
29
29
  >
30
- ${decisions.map(decision=>this.renderDecision(decision))}
30
+ ${decisions.slice(0,MAX_RENDERED_DECISIONS).map(decision=>this.renderDecision(decision))}
31
31
  </div>
32
+ ${truncated?html`<p part="limit">${this.localize("policySummaryLimit",void 0,{count:getNumberFormat(this.effectiveLocale).format(MAX_RENDERED_DECISIONS)})}</p>`:nothing}
32
33
  </div>
33
34
  `}}__decorate([property({attribute:!1})],LyraPolicySummary.prototype,"decisions",void 0);export{LyraPolicySummary};
@@ -1 +1 @@
1
- import{css}from"lit";const styles=css`:host{display:block}[part=summary]{gap:var(--lr-space-s);flex-wrap:wrap;padding-block-end:var(--lr-space-s);display:flex}[part=count]{font-size:var(--lr-font-size-sm);font-weight:var(--lr-font-weight-medium)}[part=count][data-state=allow]{color:var(--lr-policy-summary-count-allow-color,var(--lr-color-success))}[part=count][data-state=deny]{color:var(--lr-policy-summary-count-deny-color,var(--lr-color-danger))}[part=count][data-state=needs-review]{color:var(--lr-policy-summary-count-needs-review-color,var(--lr-color-warning))}[part=list]{flex-direction:column;display:flex}[part=decision]{gap:var(--lr-space-2xs);border-block-start:var(--lr-border-width-thin) solid var(--lr-color-border);padding-block:var(--lr-space-s);flex-direction:column;display:flex}[part=decision]:first-child{border-block-start:none;padding-block-start:0}[part=decision-header]{align-items:center;column-gap:var(--lr-space-xs);row-gap:var(--lr-space-2xs);flex-wrap:wrap;display:flex}[part=category]{font-size:var(--lr-font-size-xs);color:var(--lr-color-text-quiet);flex:none}[part=label]{min-inline-size:var(--lr-size-6ch);font-weight:var(--lr-font-weight-medium);overflow-wrap:anywhere;flex:auto}[part=state-badge]{overflow-wrap:anywhere;flex:0 auto;min-inline-size:0}[part=explanation]{font-size:var(--lr-font-size-sm);overflow-wrap:anywhere}[part=detail]{font-size:var(--lr-font-size-sm)}`;export{styles};
1
+ import{css}from"lit";const styles=css`:host{display:block}[part=summary]{gap:var(--lr-space-s);flex-wrap:wrap;padding-block-end:var(--lr-space-s);display:flex}[part=count]{font-size:var(--lr-font-size-sm);font-weight:var(--lr-font-weight-medium)}[part=count][data-state=allow]{color:var(--lr-policy-summary-count-allow-color,var(--lr-color-success))}[part=count][data-state=deny]{color:var(--lr-policy-summary-count-deny-color,var(--lr-color-danger))}[part=count][data-state=needs-review]{color:var(--lr-policy-summary-count-needs-review-color,var(--lr-color-warning))}[part=list]{flex-direction:column;display:flex}[part=decision]{gap:var(--lr-space-2xs);border-block-start:var(--lr-border-width-thin) solid var(--lr-color-border);padding-block:var(--lr-space-s);flex-direction:column;display:flex}[part=decision]:first-child{border-block-start:none;padding-block-start:0}[part=decision-header]{align-items:center;column-gap:var(--lr-space-xs);row-gap:var(--lr-space-2xs);flex-wrap:wrap;display:flex}[part=category]{font-size:var(--lr-font-size-xs);color:var(--lr-color-text-quiet);flex:none}[part=label]{min-inline-size:var(--lr-size-6ch);font-weight:var(--lr-font-weight-medium);overflow-wrap:anywhere;flex:auto}[part=state-badge]{overflow-wrap:anywhere;flex:0 auto;min-inline-size:0}[part=explanation]{font-size:var(--lr-font-size-sm);overflow-wrap:anywhere}[part=detail]{font-size:var(--lr-font-size-sm)}[part=limit]{margin:var(--lr-space-s);color:var(--lr-color-text-quiet);font-size:var(--lr-font-size-xs)}`;export{styles};
@@ -49,7 +49,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
49
49
  ${this.renderRemoveMessage(message.id)}
50
50
  </div>
51
51
  `:this.renderRemoveMessage(message.id)}
52
- </li>`}}static{this.defaultStrings={...super.defaultStrings,moveDown:LYRA_DEFAULT_moveDown,moveUp:LYRA_DEFAULT_moveUp,promptStudioAddMessage:LYRA_DEFAULT_promptStudioAddMessage,promptStudioLabel:LYRA_DEFAULT_promptStudioLabel,promptStudioMessageContent:LYRA_DEFAULT_promptStudioMessageContent,promptStudioMessageRole:LYRA_DEFAULT_promptStudioMessageRole,promptStudioMessages:LYRA_DEFAULT_promptStudioMessages,promptStudioPreview:LYRA_DEFAULT_promptStudioPreview,promptStudioPreviewLimit:LYRA_DEFAULT_promptStudioPreviewLimit,promptStudioRemoveMessage:LYRA_DEFAULT_promptStudioRemoveMessage,promptStudioRoleAssistant:LYRA_DEFAULT_promptStudioRoleAssistant,promptStudioRoleSystem:LYRA_DEFAULT_promptStudioRoleSystem,promptStudioRoleTool:LYRA_DEFAULT_promptStudioRoleTool,promptStudioRoleUser:LYRA_DEFAULT_promptStudioRoleUser,promptStudioRun:LYRA_DEFAULT_promptStudioRun,promptStudioSave:LYRA_DEFAULT_promptStudioSave,promptStudioVariableName:LYRA_DEFAULT_promptStudioVariableName,promptStudioVariableValue:LYRA_DEFAULT_promptStudioVariableValue,promptStudioVariables:LYRA_DEFAULT_promptStudioVariables,promptStudioVersions:LYRA_DEFAULT_promptStudioVersions}}static{this.ownedCollectionProperties=Object.freeze(["messages","variables","versions"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-change","lr-message-reorder","lr-run","lr-save","lr-version-select"])}disconnectedCallback(){this.pendingMessageMoveFocus=void 0,super.disconnectedCallback()}roleLabel(role){switch(role){case"system":return this.localize("promptStudioRoleSystem");case"user":return this.localize("promptStudioRoleUser");case"assistant":return this.localize("promptStudioRoleAssistant");case"tool":return this.localize("promptStudioRoleTool")}}state(){return{messages:this.uniqueMessages().map(message=>({...message})),variables:this.variableItems().map(variable=>({...variable}))}}messageItems(source=this.messages){return Array.isArray(source)?source:[]}variableItems(source=this.variables){return Array.isArray(source)?source:[]}uniqueMessages(source=this.messages){const seen=new Set;return this.messageItems(source).filter(message=>!message||typeof message.id!="string"||message.id.trim().length===0||seen.has(message.id)?!1:(seen.add(message.id),!0))}uniqueVersions(){const seen=new Set;return(Array.isArray(this.versions)?this.versions:[]).filter(version=>!version||typeof version.id!="string"||version.id.trim().length===0||seen.has(version.id)?!1:(seen.add(version.id),!0))}emitChange(messages=this.messages,variables=this.variables){this.emitNormalizedChange(this.uniqueMessages(messages),variables)}emitNormalizedChange(messages,variables=this.variables){const proposal={messages:messages.map(message=>({...message})),variables:this.variableItems(variables).map(variable=>({...variable}))};this.emit("lr-change",proposal,{cancelable:!0}).defaultPrevented||(this.messages=proposal.messages,this.variables=proposal.variables)}updateMessage(id,patch){let found=!1;this.emitNormalizedChange(this.uniqueMessages().map(message=>!found&&message.id===id?(found=!0,{...message,...patch}):message))}removeMessage(id){let removed=!1;this.emitNormalizedChange(this.uniqueMessages().filter(message=>!removed&&message.id===id?(removed=!0,!1):!0))}addMessage(){const messages=this.uniqueMessages(),existingIds=new Set(messages.map(message=>message.id)),base=`message-${Date.now()}-${messages.length}`;let id=base,suffix=1;for(;existingIds.has(id);)id=`${base}-${suffix}`,suffix++;this.emitNormalizedChange([...messages,{id,role:"user",content:""}])}updateVariable(index,patch){this.emitChange(this.messages,this.variableItems().map((variable,candidateIndex)=>candidateIndex===index?{...variable,...patch}:variable))}requestMessageMove(messageId,fromIndex,offset){const messages=this.uniqueMessages(),toIndex=fromIndex+offset;if(this.disabled||!this.reorderable||toIndex<0||toIndex>=messages.length||messages[fromIndex]?.id!==messageId)return;const nextMessages=messages.map(message=>({...message})),[moved]=nextMessages.splice(fromIndex,1);if(!moved||(nextMessages.splice(toIndex,0,moved),this.emit("lr-message-reorder",{messages:nextMessages.map(message=>({...message})),messageId,fromIndex,toIndex},{cancelable:!0}).defaultPrevented))return;const part=toIndex===0?"move-message-down":toIndex===nextMessages.length-1||offset<0?"move-message-up":"move-message-down";this.pendingMessageMoveFocus={messageId,part},this.emitNormalizedChange(nextMessages),this.scheduleAfterUpdate(()=>this.restoreMessageMoveFocus(),"prompt-studio-message-reorder-focus")}restoreMessageMoveFocus(){const pending=this.pendingMessageMoveFocus;if(this.pendingMessageMoveFocus=void 0,!pending||!this.isConnected)return;const action=[...this.shadowRoot?.querySelectorAll("[data-message-id]")??[]].find(candidate=>candidate.dataset.messageId===pending.messageId)?.querySelector(`[part='${pending.part}']`);action&&!action.disabled&&action.focus()}resolvePreviews(messages,variableItems){const variables=new Map;for(const variable of variableItems)variable.name!==""&&!variables.has(variable.name)&&variables.set(variable.name,variable.value);let substitutions=0,outputLength=0,memoLength=0;const previews=[];for(const message of messages){const resolved=new Map,visiting=new Set,resolveText=(content,remaining)=>{const parts=[];let length=0,position=0;const appendLiteral=end=>{const size=end-position;return size>remaining()-length?!1:(size>0&&parts.push(content.slice(position,end)),length+=size,!0)},placeholders=/\{\{([^{}]+)\}\}/g;let match;for(;(match=placeholders.exec(content))!==null;){if(!appendLiteral(match.index)||substitutions>=PREVIEW_MAX_SUBSTITUTIONS)return null;substitutions++;const next=resolveName(match[1],match[0]);if(next===null||next.length>remaining()-length)return null;next.length>0&&parts.push(next),length+=next.length,position=placeholders.lastIndex}return appendLiteral(content.length)?parts.join(""):null},resolveName=(name,literal)=>{const cached=resolved.get(name);if(cached!==void 0)return cached;const value=variables.get(name);if(value===void 0||visiting.has(name))return literal;if(visiting.size>=PREVIEW_MAX_DEPTH)return null;visiting.add(name);const next=resolveText(value,()=>PREVIEW_MAX_TEXT_LENGTH-memoLength);return visiting.delete(name),next===null?null:(memoLength+=next.length,resolved.set(name,next),next)},preview=resolveText(message.content,()=>PREVIEW_MAX_TEXT_LENGTH-outputLength);if(preview===null)return null;outputLength+=preview.length,previews.push(preview)}return previews}renderRemoveMessage(id){return html`<button
52
+ </li>`}}static{this.defaultStrings={...super.defaultStrings,moveDown:LYRA_DEFAULT_moveDown,moveUp:LYRA_DEFAULT_moveUp,promptStudioAddMessage:LYRA_DEFAULT_promptStudioAddMessage,promptStudioLabel:LYRA_DEFAULT_promptStudioLabel,promptStudioMessageContent:LYRA_DEFAULT_promptStudioMessageContent,promptStudioMessageRole:LYRA_DEFAULT_promptStudioMessageRole,promptStudioMessages:LYRA_DEFAULT_promptStudioMessages,promptStudioPreview:LYRA_DEFAULT_promptStudioPreview,promptStudioPreviewLimit:LYRA_DEFAULT_promptStudioPreviewLimit,promptStudioRemoveMessage:LYRA_DEFAULT_promptStudioRemoveMessage,promptStudioRoleAssistant:LYRA_DEFAULT_promptStudioRoleAssistant,promptStudioRoleSystem:LYRA_DEFAULT_promptStudioRoleSystem,promptStudioRoleTool:LYRA_DEFAULT_promptStudioRoleTool,promptStudioRoleUser:LYRA_DEFAULT_promptStudioRoleUser,promptStudioRun:LYRA_DEFAULT_promptStudioRun,promptStudioSave:LYRA_DEFAULT_promptStudioSave,promptStudioVariableName:LYRA_DEFAULT_promptStudioVariableName,promptStudioVariableValue:LYRA_DEFAULT_promptStudioVariableValue,promptStudioVariables:LYRA_DEFAULT_promptStudioVariables,promptStudioVersions:LYRA_DEFAULT_promptStudioVersions}}static{this.ownedCollectionProperties=Object.freeze(["messages","variables","versions"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-change","lr-message-reorder","lr-run","lr-save","lr-version-select"])}disconnectedCallback(){this.pendingMessageMoveFocus=void 0,super.disconnectedCallback()}roleLabel(role){switch(role){case"system":return this.localize("promptStudioRoleSystem");case"user":return this.localize("promptStudioRoleUser");case"assistant":return this.localize("promptStudioRoleAssistant");case"tool":return this.localize("promptStudioRoleTool")}}state(){return{messages:this.uniqueMessages().map(message=>({...message})),variables:this.variableItems().map(variable=>({...variable}))}}messageItems(source=this.messages){return Array.isArray(source)?source:[]}variableItems(source=this.variables){return Array.isArray(source)?source:[]}uniqueMessages(source=this.messages){const seen=new Set;return this.messageItems(source).filter(message=>!message||typeof message.id!="string"||message.id.trim().length===0||seen.has(message.id)?!1:(seen.add(message.id),!0)).map(message=>typeof message.content=="string"?message:{...message,content:""})}uniqueVersions(){const seen=new Set;return(Array.isArray(this.versions)?this.versions:[]).filter(version=>!version||typeof version.id!="string"||version.id.trim().length===0||seen.has(version.id)?!1:(seen.add(version.id),!0))}emitChange(messages=this.messages,variables=this.variables){this.emitNormalizedChange(this.uniqueMessages(messages),variables)}emitNormalizedChange(messages,variables=this.variables){const proposal={messages:messages.map(message=>({...message})),variables:this.variableItems(variables).map(variable=>({...variable}))};this.emit("lr-change",proposal,{cancelable:!0}).defaultPrevented||(this.messages=proposal.messages,this.variables=proposal.variables)}updateMessage(id,patch){let found=!1;this.emitNormalizedChange(this.uniqueMessages().map(message=>!found&&message.id===id?(found=!0,{...message,...patch}):message))}removeMessage(id){let removed=!1;this.emitNormalizedChange(this.uniqueMessages().filter(message=>!removed&&message.id===id?(removed=!0,!1):!0))}addMessage(){const messages=this.uniqueMessages(),existingIds=new Set(messages.map(message=>message.id)),base=`message-${Date.now()}-${messages.length}`;let id=base,suffix=1;for(;existingIds.has(id);)id=`${base}-${suffix}`,suffix++;this.emitNormalizedChange([...messages,{id,role:"user",content:""}])}updateVariable(index,patch){this.emitChange(this.messages,this.variableItems().map((variable,candidateIndex)=>candidateIndex===index?{...variable,...patch}:variable))}requestMessageMove(messageId,fromIndex,offset){const messages=this.uniqueMessages(),toIndex=fromIndex+offset;if(this.disabled||!this.reorderable||toIndex<0||toIndex>=messages.length||messages[fromIndex]?.id!==messageId)return;const nextMessages=messages.map(message=>({...message})),[moved]=nextMessages.splice(fromIndex,1);if(!moved||(nextMessages.splice(toIndex,0,moved),this.emit("lr-message-reorder",{messages:nextMessages.map(message=>({...message})),messageId,fromIndex,toIndex},{cancelable:!0}).defaultPrevented))return;const part=toIndex===0?"move-message-down":toIndex===nextMessages.length-1||offset<0?"move-message-up":"move-message-down";this.pendingMessageMoveFocus={messageId,part},this.emitNormalizedChange(nextMessages),this.scheduleAfterUpdate(()=>this.restoreMessageMoveFocus(),"prompt-studio-message-reorder-focus")}restoreMessageMoveFocus(){const pending=this.pendingMessageMoveFocus;if(this.pendingMessageMoveFocus=void 0,!pending||!this.isConnected)return;const action=[...this.shadowRoot?.querySelectorAll("[data-message-id]")??[]].find(candidate=>candidate.dataset.messageId===pending.messageId)?.querySelector(`[part='${pending.part}']`);action&&!action.disabled&&action.focus()}resolvePreviews(messages,variableItems){const variables=new Map;for(const variable of variableItems)variable.name!==""&&!variables.has(variable.name)&&variables.set(variable.name,variable.value);let substitutions=0,outputLength=0,memoLength=0;const previews=[];for(const message of messages){const resolved=new Map,visiting=new Set,resolveText=(content,remaining)=>{const parts=[];let length=0,position=0;const appendLiteral=end=>{const size=end-position;return size>remaining()-length?!1:(size>0&&parts.push(content.slice(position,end)),length+=size,!0)},placeholders=/\{\{([^{}]+)\}\}/g;let match;for(;(match=placeholders.exec(content))!==null;){if(!appendLiteral(match.index)||substitutions>=PREVIEW_MAX_SUBSTITUTIONS)return null;substitutions++;const next=resolveName(match[1],match[0]);if(next===null||next.length>remaining()-length)return null;next.length>0&&parts.push(next),length+=next.length,position=placeholders.lastIndex}return appendLiteral(content.length)?parts.join(""):null},resolveName=(name,literal)=>{const cached=resolved.get(name);if(cached!==void 0)return cached;const value=variables.get(name);if(value===void 0||visiting.has(name))return literal;if(visiting.size>=PREVIEW_MAX_DEPTH)return null;visiting.add(name);const next=resolveText(value,()=>PREVIEW_MAX_TEXT_LENGTH-memoLength);return visiting.delete(name),next===null?null:(memoLength+=next.length,resolved.set(name,next),next)},preview=resolveText(message.content,()=>PREVIEW_MAX_TEXT_LENGTH-outputLength);if(preview===null)return null;outputLength+=preview.length,previews.push(preview)}return previews}renderRemoveMessage(id){return html`<button
53
53
  part="remove-message"
54
54
  type="button"
55
55
  ?disabled=${this.disabled}
@@ -46,4 +46,13 @@ get schema():JsonSchemaNode|null;set schema(value:JsonSchemaNode|null);issues:re
46
46
  * string is the valid JSON Pointer for the schema root. */
47
47
  selectedPath:string|null;
48
48
  /** Requested nesting depth, clamped to 100 to keep recursive template construction stack-safe. */
49
- maxDepth:number;label:string;private announcementSink?;private previousNodeLimitText;private previousIssueLimitText;private suppressNextLimitAnnouncement;private syncAnnouncementSink;connectedCallback():void;disconnectedCallback():void;protected updated(_changed:PropertyValues<this>):void;private pointerSegment;private constraints;private renderNode;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-json-schema-viewer':LyraJsonSchemaViewer;}}
49
+ maxDepth:number;label:string;private announcementSink?;private previousNodeLimitText;private previousIssueLimitText;private suppressNextLimitAnnouncement;private syncAnnouncementSink;connectedCallback():void;disconnectedCallback():void;protected updated(_changed:PropertyValues<this>):void;private pointerSegment;private decodePointerSegment;
50
+ /**
51
+ * Walks `this.selectedPath`'s JSON Pointer segments through `this.schema`, following the same
52
+ * `properties`/`allOf`/`anyOf`/`oneOf`/`items` traversal `renderNode()`'s child collection uses
53
+ * and the same `maxDepth` bound, to resolve the full ancestor chain from the schema root down to
54
+ * the selected node. Returns every path along that chain (root first) when the selection
55
+ * resolves to a real, in-bounds node; an empty set when there is no selection, it doesn't
56
+ * resolve, or it lies past `maxDepth` -- nothing to reserve, matching prior behavior.
57
+ */
58
+ private resolvedSelectionPathChain;private constraints;private renderNode;render():TemplateResult;}declare global{interface HTMLElementTagNameMap{'lr-json-schema-viewer':LyraJsonSchemaViewer;}}