@aceshooting/lyra-ui 4.0.0 → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (356) hide show
  1. package/README.md +1 -0
  2. package/custom-elements.json +49430 -32305
  3. package/dist/ai/types.contract.d.ts +2 -0
  4. package/dist/ai/types.contract.d.ts.map +1 -0
  5. package/dist/ai/types.contract.js +139 -0
  6. package/dist/ai/types.contract.js.map +1 -0
  7. package/dist/ai/types.d.ts +199 -0
  8. package/dist/ai/types.d.ts.map +1 -0
  9. package/dist/ai/types.js +2 -0
  10. package/dist/ai/types.js.map +1 -0
  11. package/dist/components/agent-run/agent-run.class.d.ts +158 -0
  12. package/dist/components/agent-run/agent-run.class.d.ts.map +1 -0
  13. package/dist/components/agent-run/agent-run.class.js +400 -0
  14. package/dist/components/agent-run/agent-run.class.js.map +1 -0
  15. package/dist/components/agent-run/agent-run.d.ts +2 -0
  16. package/dist/components/agent-run/agent-run.d.ts.map +1 -0
  17. package/dist/components/agent-run/agent-run.js +5 -0
  18. package/dist/components/agent-run/agent-run.js.map +1 -0
  19. package/dist/components/agent-run/agent-run.styles.d.ts +2 -0
  20. package/dist/components/agent-run/agent-run.styles.d.ts.map +1 -0
  21. package/dist/components/agent-run/agent-run.styles.js +143 -0
  22. package/dist/components/agent-run/agent-run.styles.js.map +1 -0
  23. package/dist/components/agent-trace/agent-trace.class.d.ts +111 -0
  24. package/dist/components/agent-trace/agent-trace.class.d.ts.map +1 -0
  25. package/dist/components/agent-trace/agent-trace.class.js +221 -0
  26. package/dist/components/agent-trace/agent-trace.class.js.map +1 -0
  27. package/dist/components/agent-trace/agent-trace.d.ts +5 -0
  28. package/dist/components/agent-trace/agent-trace.d.ts.map +1 -0
  29. package/dist/components/agent-trace/agent-trace.js +8 -0
  30. package/dist/components/agent-trace/agent-trace.js.map +1 -0
  31. package/dist/components/agent-trace/agent-trace.styles.d.ts +2 -0
  32. package/dist/components/agent-trace/agent-trace.styles.d.ts.map +1 -0
  33. package/dist/components/agent-trace/agent-trace.styles.js +61 -0
  34. package/dist/components/agent-trace/agent-trace.styles.js.map +1 -0
  35. package/dist/components/app-rail/app-rail.styles.d.ts.map +1 -1
  36. package/dist/components/app-rail/app-rail.styles.js +4 -0
  37. package/dist/components/app-rail/app-rail.styles.js.map +1 -1
  38. package/dist/components/chat-message/chat-message.class.d.ts +37 -3
  39. package/dist/components/chat-message/chat-message.class.d.ts.map +1 -1
  40. package/dist/components/chat-message/chat-message.class.js +89 -7
  41. package/dist/components/chat-message/chat-message.class.js.map +1 -1
  42. package/dist/components/chat-message/chat-message.styles.d.ts.map +1 -1
  43. package/dist/components/chat-message/chat-message.styles.js +14 -0
  44. package/dist/components/chat-message/chat-message.styles.js.map +1 -1
  45. package/dist/components/context-inspector/context-inspector.class.d.ts +114 -0
  46. package/dist/components/context-inspector/context-inspector.class.d.ts.map +1 -0
  47. package/dist/components/context-inspector/context-inspector.class.js +222 -0
  48. package/dist/components/context-inspector/context-inspector.class.js.map +1 -0
  49. package/dist/components/context-inspector/context-inspector.d.ts +7 -0
  50. package/dist/components/context-inspector/context-inspector.d.ts.map +1 -0
  51. package/dist/components/context-inspector/context-inspector.js +10 -0
  52. package/dist/components/context-inspector/context-inspector.js.map +1 -0
  53. package/dist/components/context-inspector/context-inspector.styles.d.ts +2 -0
  54. package/dist/components/context-inspector/context-inspector.styles.d.ts.map +1 -0
  55. package/dist/components/context-inspector/context-inspector.styles.js +98 -0
  56. package/dist/components/context-inspector/context-inspector.styles.js.map +1 -0
  57. package/dist/components/dashboard-grid/dashboard-grid.class.d.ts +162 -0
  58. package/dist/components/dashboard-grid/dashboard-grid.class.d.ts.map +1 -0
  59. package/dist/components/dashboard-grid/dashboard-grid.class.js +570 -0
  60. package/dist/components/dashboard-grid/dashboard-grid.class.js.map +1 -0
  61. package/dist/components/dashboard-grid/dashboard-grid.d.ts +6 -0
  62. package/dist/components/dashboard-grid/dashboard-grid.d.ts.map +1 -0
  63. package/dist/components/dashboard-grid/dashboard-grid.js +9 -0
  64. package/dist/components/dashboard-grid/dashboard-grid.js.map +1 -0
  65. package/dist/components/dashboard-grid/dashboard-grid.styles.d.ts +2 -0
  66. package/dist/components/dashboard-grid/dashboard-grid.styles.d.ts.map +1 -0
  67. package/dist/components/dashboard-grid/dashboard-grid.styles.js +86 -0
  68. package/dist/components/dashboard-grid/dashboard-grid.styles.js.map +1 -0
  69. package/dist/components/dashboard-grid/layout.d.ts +103 -0
  70. package/dist/components/dashboard-grid/layout.d.ts.map +1 -0
  71. package/dist/components/dashboard-grid/layout.js +94 -0
  72. package/dist/components/dashboard-grid/layout.js.map +1 -0
  73. package/dist/components/date-picker/date-input.class.d.ts +8 -0
  74. package/dist/components/date-picker/date-input.class.d.ts.map +1 -1
  75. package/dist/components/date-picker/date-input.class.js +10 -0
  76. package/dist/components/date-picker/date-input.class.js.map +1 -1
  77. package/dist/components/date-picker/date-input.styles.d.ts.map +1 -1
  78. package/dist/components/date-picker/date-input.styles.js +39 -2
  79. package/dist/components/date-picker/date-input.styles.js.map +1 -1
  80. package/dist/components/document-compare/document-compare.class.d.ts +131 -0
  81. package/dist/components/document-compare/document-compare.class.d.ts.map +1 -0
  82. package/dist/components/document-compare/document-compare.class.js +214 -0
  83. package/dist/components/document-compare/document-compare.class.js.map +1 -0
  84. package/dist/components/document-compare/document-compare.d.ts +2 -0
  85. package/dist/components/document-compare/document-compare.d.ts.map +1 -0
  86. package/dist/components/document-compare/document-compare.js +5 -0
  87. package/dist/components/document-compare/document-compare.js.map +1 -0
  88. package/dist/components/document-compare/document-compare.styles.d.ts +2 -0
  89. package/dist/components/document-compare/document-compare.styles.d.ts.map +1 -0
  90. package/dist/components/document-compare/document-compare.styles.js +65 -0
  91. package/dist/components/document-compare/document-compare.styles.js.map +1 -0
  92. package/dist/components/document-library/document-library.class.d.ts +154 -0
  93. package/dist/components/document-library/document-library.class.d.ts.map +1 -0
  94. package/dist/components/document-library/document-library.class.js +399 -0
  95. package/dist/components/document-library/document-library.class.js.map +1 -0
  96. package/dist/components/document-library/document-library.d.ts +9 -0
  97. package/dist/components/document-library/document-library.d.ts.map +1 -0
  98. package/dist/components/document-library/document-library.js +12 -0
  99. package/dist/components/document-library/document-library.js.map +1 -0
  100. package/dist/components/document-library/document-library.styles.d.ts +2 -0
  101. package/dist/components/document-library/document-library.styles.d.ts.map +1 -0
  102. package/dist/components/document-library/document-library.styles.js +77 -0
  103. package/dist/components/document-library/document-library.styles.js.map +1 -0
  104. package/dist/components/drilldown-panel/drilldown-panel.class.d.ts +148 -0
  105. package/dist/components/drilldown-panel/drilldown-panel.class.d.ts.map +1 -0
  106. package/dist/components/drilldown-panel/drilldown-panel.class.js +241 -0
  107. package/dist/components/drilldown-panel/drilldown-panel.class.js.map +1 -0
  108. package/dist/components/drilldown-panel/drilldown-panel.d.ts +9 -0
  109. package/dist/components/drilldown-panel/drilldown-panel.d.ts.map +1 -0
  110. package/dist/components/drilldown-panel/drilldown-panel.js +12 -0
  111. package/dist/components/drilldown-panel/drilldown-panel.js.map +1 -0
  112. package/dist/components/drilldown-panel/drilldown-panel.styles.d.ts +2 -0
  113. package/dist/components/drilldown-panel/drilldown-panel.styles.d.ts.map +1 -0
  114. package/dist/components/drilldown-panel/drilldown-panel.styles.js +49 -0
  115. package/dist/components/drilldown-panel/drilldown-panel.styles.js.map +1 -0
  116. package/dist/components/entity-dossier/entity-dossier.class.d.ts +132 -0
  117. package/dist/components/entity-dossier/entity-dossier.class.d.ts.map +1 -0
  118. package/dist/components/entity-dossier/entity-dossier.class.js +187 -0
  119. package/dist/components/entity-dossier/entity-dossier.class.js.map +1 -0
  120. package/dist/components/entity-dossier/entity-dossier.d.ts +9 -0
  121. package/dist/components/entity-dossier/entity-dossier.d.ts.map +1 -0
  122. package/dist/components/entity-dossier/entity-dossier.js +12 -0
  123. package/dist/components/entity-dossier/entity-dossier.js.map +1 -0
  124. package/dist/components/entity-dossier/entity-dossier.styles.d.ts +2 -0
  125. package/dist/components/entity-dossier/entity-dossier.styles.d.ts.map +1 -0
  126. package/dist/components/entity-dossier/entity-dossier.styles.js +30 -0
  127. package/dist/components/entity-dossier/entity-dossier.styles.js.map +1 -0
  128. package/dist/components/eval-dataset/eval-dataset.class.d.ts +145 -0
  129. package/dist/components/eval-dataset/eval-dataset.class.d.ts.map +1 -0
  130. package/dist/components/eval-dataset/eval-dataset.class.js +307 -0
  131. package/dist/components/eval-dataset/eval-dataset.class.js.map +1 -0
  132. package/dist/components/eval-dataset/eval-dataset.d.ts +7 -0
  133. package/dist/components/eval-dataset/eval-dataset.d.ts.map +1 -0
  134. package/dist/components/eval-dataset/eval-dataset.js +10 -0
  135. package/dist/components/eval-dataset/eval-dataset.js.map +1 -0
  136. package/dist/components/eval-dataset/eval-dataset.styles.d.ts +2 -0
  137. package/dist/components/eval-dataset/eval-dataset.styles.d.ts.map +1 -0
  138. package/dist/components/eval-dataset/eval-dataset.styles.js +76 -0
  139. package/dist/components/eval-dataset/eval-dataset.styles.js.map +1 -0
  140. package/dist/components/eval-result/eval-result.class.d.ts +115 -0
  141. package/dist/components/eval-result/eval-result.class.d.ts.map +1 -0
  142. package/dist/components/eval-result/eval-result.class.js +165 -0
  143. package/dist/components/eval-result/eval-result.class.js.map +1 -0
  144. package/dist/components/eval-result/eval-result.d.ts +5 -0
  145. package/dist/components/eval-result/eval-result.d.ts.map +1 -0
  146. package/dist/components/eval-result/eval-result.js +8 -0
  147. package/dist/components/eval-result/eval-result.js.map +1 -0
  148. package/dist/components/eval-result/eval-result.styles.d.ts +2 -0
  149. package/dist/components/eval-result/eval-result.styles.d.ts.map +1 -0
  150. package/dist/components/eval-result/eval-result.styles.js +47 -0
  151. package/dist/components/eval-result/eval-result.styles.js.map +1 -0
  152. package/dist/components/evaluation-run/evaluation-run.class.d.ts +168 -0
  153. package/dist/components/evaluation-run/evaluation-run.class.d.ts.map +1 -0
  154. package/dist/components/evaluation-run/evaluation-run.class.js +329 -0
  155. package/dist/components/evaluation-run/evaluation-run.class.js.map +1 -0
  156. package/dist/components/evaluation-run/evaluation-run.d.ts +2 -0
  157. package/dist/components/evaluation-run/evaluation-run.d.ts.map +1 -0
  158. package/dist/components/evaluation-run/evaluation-run.js +5 -0
  159. package/dist/components/evaluation-run/evaluation-run.js.map +1 -0
  160. package/dist/components/evaluation-run/evaluation-run.styles.d.ts +2 -0
  161. package/dist/components/evaluation-run/evaluation-run.styles.d.ts.map +1 -0
  162. package/dist/components/evaluation-run/evaluation-run.styles.js +73 -0
  163. package/dist/components/evaluation-run/evaluation-run.styles.js.map +1 -0
  164. package/dist/components/filter-bar/filter-bar.class.d.ts +200 -0
  165. package/dist/components/filter-bar/filter-bar.class.d.ts.map +1 -0
  166. package/dist/components/filter-bar/filter-bar.class.js +322 -0
  167. package/dist/components/filter-bar/filter-bar.class.js.map +1 -0
  168. package/dist/components/filter-bar/filter-bar.d.ts +10 -0
  169. package/dist/components/filter-bar/filter-bar.d.ts.map +1 -0
  170. package/dist/components/filter-bar/filter-bar.js +13 -0
  171. package/dist/components/filter-bar/filter-bar.js.map +1 -0
  172. package/dist/components/filter-bar/filter-bar.styles.d.ts +2 -0
  173. package/dist/components/filter-bar/filter-bar.styles.d.ts.map +1 -0
  174. package/dist/components/filter-bar/filter-bar.styles.js +37 -0
  175. package/dist/components/filter-bar/filter-bar.styles.js.map +1 -0
  176. package/dist/components/graph-query-builder/graph-query-builder.class.d.ts +242 -0
  177. package/dist/components/graph-query-builder/graph-query-builder.class.d.ts.map +1 -0
  178. package/dist/components/graph-query-builder/graph-query-builder.class.js +511 -0
  179. package/dist/components/graph-query-builder/graph-query-builder.class.js.map +1 -0
  180. package/dist/components/graph-query-builder/graph-query-builder.d.ts +7 -0
  181. package/dist/components/graph-query-builder/graph-query-builder.d.ts.map +1 -0
  182. package/dist/components/graph-query-builder/graph-query-builder.js +10 -0
  183. package/dist/components/graph-query-builder/graph-query-builder.js.map +1 -0
  184. package/dist/components/graph-query-builder/graph-query-builder.styles.d.ts +2 -0
  185. package/dist/components/graph-query-builder/graph-query-builder.styles.d.ts.map +1 -0
  186. package/dist/components/graph-query-builder/graph-query-builder.styles.js +170 -0
  187. package/dist/components/graph-query-builder/graph-query-builder.styles.js.map +1 -0
  188. package/dist/components/grounding-summary/grounding-summary.class.d.ts +80 -0
  189. package/dist/components/grounding-summary/grounding-summary.class.d.ts.map +1 -0
  190. package/dist/components/grounding-summary/grounding-summary.class.js +182 -0
  191. package/dist/components/grounding-summary/grounding-summary.class.js.map +1 -0
  192. package/dist/components/grounding-summary/grounding-summary.d.ts +5 -0
  193. package/dist/components/grounding-summary/grounding-summary.d.ts.map +1 -0
  194. package/dist/components/grounding-summary/grounding-summary.js +8 -0
  195. package/dist/components/grounding-summary/grounding-summary.js.map +1 -0
  196. package/dist/components/grounding-summary/grounding-summary.styles.d.ts +2 -0
  197. package/dist/components/grounding-summary/grounding-summary.styles.d.ts.map +1 -0
  198. package/dist/components/grounding-summary/grounding-summary.styles.js +88 -0
  199. package/dist/components/grounding-summary/grounding-summary.styles.js.map +1 -0
  200. package/dist/components/ingestion-queue/ingestion-queue.class.d.ts +125 -0
  201. package/dist/components/ingestion-queue/ingestion-queue.class.d.ts.map +1 -0
  202. package/dist/components/ingestion-queue/ingestion-queue.class.js +276 -0
  203. package/dist/components/ingestion-queue/ingestion-queue.class.js.map +1 -0
  204. package/dist/components/ingestion-queue/ingestion-queue.d.ts +2 -0
  205. package/dist/components/ingestion-queue/ingestion-queue.d.ts.map +1 -0
  206. package/dist/components/ingestion-queue/ingestion-queue.js +5 -0
  207. package/dist/components/ingestion-queue/ingestion-queue.js.map +1 -0
  208. package/dist/components/ingestion-queue/ingestion-queue.styles.d.ts +2 -0
  209. package/dist/components/ingestion-queue/ingestion-queue.styles.d.ts.map +1 -0
  210. package/dist/components/ingestion-queue/ingestion-queue.styles.js +138 -0
  211. package/dist/components/ingestion-queue/ingestion-queue.styles.js.map +1 -0
  212. package/dist/components/knowledge-base/knowledge-base.class.d.ts +136 -0
  213. package/dist/components/knowledge-base/knowledge-base.class.d.ts.map +1 -0
  214. package/dist/components/knowledge-base/knowledge-base.class.js +360 -0
  215. package/dist/components/knowledge-base/knowledge-base.class.js.map +1 -0
  216. package/dist/components/knowledge-base/knowledge-base.d.ts +7 -0
  217. package/dist/components/knowledge-base/knowledge-base.d.ts.map +1 -0
  218. package/dist/components/knowledge-base/knowledge-base.js +10 -0
  219. package/dist/components/knowledge-base/knowledge-base.js.map +1 -0
  220. package/dist/components/knowledge-base/knowledge-base.styles.d.ts +2 -0
  221. package/dist/components/knowledge-base/knowledge-base.styles.d.ts.map +1 -0
  222. package/dist/components/knowledge-base/knowledge-base.styles.js +94 -0
  223. package/dist/components/knowledge-base/knowledge-base.styles.js.map +1 -0
  224. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +196 -0
  225. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts.map +1 -0
  226. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.class.js +477 -0
  227. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.class.js.map +1 -0
  228. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.d.ts +11 -0
  229. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.d.ts.map +1 -0
  230. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.js +14 -0
  231. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.js.map +1 -0
  232. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.styles.d.ts +2 -0
  233. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.styles.d.ts.map +1 -0
  234. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +76 -0
  235. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.styles.js.map +1 -0
  236. package/dist/components/memory-panel/memory-panel.class.d.ts +146 -0
  237. package/dist/components/memory-panel/memory-panel.class.d.ts.map +1 -0
  238. package/dist/components/memory-panel/memory-panel.class.js +303 -0
  239. package/dist/components/memory-panel/memory-panel.class.js.map +1 -0
  240. package/dist/components/memory-panel/memory-panel.d.ts +5 -0
  241. package/dist/components/memory-panel/memory-panel.d.ts.map +1 -0
  242. package/dist/components/memory-panel/memory-panel.js +8 -0
  243. package/dist/components/memory-panel/memory-panel.js.map +1 -0
  244. package/dist/components/memory-panel/memory-panel.styles.d.ts +2 -0
  245. package/dist/components/memory-panel/memory-panel.styles.d.ts.map +1 -0
  246. package/dist/components/memory-panel/memory-panel.styles.js +139 -0
  247. package/dist/components/memory-panel/memory-panel.styles.js.map +1 -0
  248. package/dist/components/overlay/popover.class.d.ts +39 -0
  249. package/dist/components/overlay/popover.class.d.ts.map +1 -1
  250. package/dist/components/overlay/popover.class.js +53 -3
  251. package/dist/components/overlay/popover.class.js.map +1 -1
  252. package/dist/components/overlay/tooltip.class.d.ts +43 -0
  253. package/dist/components/overlay/tooltip.class.d.ts.map +1 -1
  254. package/dist/components/overlay/tooltip.class.js +66 -4
  255. package/dist/components/overlay/tooltip.class.js.map +1 -1
  256. package/dist/components/policy-summary/policy-summary.class.d.ts +76 -0
  257. package/dist/components/policy-summary/policy-summary.class.d.ts.map +1 -0
  258. package/dist/components/policy-summary/policy-summary.class.js +125 -0
  259. package/dist/components/policy-summary/policy-summary.class.js.map +1 -0
  260. package/dist/components/policy-summary/policy-summary.d.ts +6 -0
  261. package/dist/components/policy-summary/policy-summary.d.ts.map +1 -0
  262. package/dist/components/policy-summary/policy-summary.js +9 -0
  263. package/dist/components/policy-summary/policy-summary.js.map +1 -0
  264. package/dist/components/policy-summary/policy-summary.styles.d.ts +2 -0
  265. package/dist/components/policy-summary/policy-summary.styles.d.ts.map +1 -0
  266. package/dist/components/policy-summary/policy-summary.styles.js +68 -0
  267. package/dist/components/policy-summary/policy-summary.styles.js.map +1 -0
  268. package/dist/components/query-builder/query-builder.class.d.ts +180 -0
  269. package/dist/components/query-builder/query-builder.class.d.ts.map +1 -0
  270. package/dist/components/query-builder/query-builder.class.js +415 -0
  271. package/dist/components/query-builder/query-builder.class.js.map +1 -0
  272. package/dist/components/query-builder/query-builder.d.ts +9 -0
  273. package/dist/components/query-builder/query-builder.d.ts.map +1 -0
  274. package/dist/components/query-builder/query-builder.js +12 -0
  275. package/dist/components/query-builder/query-builder.js.map +1 -0
  276. package/dist/components/query-builder/query-builder.styles.d.ts +2 -0
  277. package/dist/components/query-builder/query-builder.styles.d.ts.map +1 -0
  278. package/dist/components/query-builder/query-builder.styles.js +77 -0
  279. package/dist/components/query-builder/query-builder.styles.js.map +1 -0
  280. package/dist/components/retrieval-results/retrieval-results.class.d.ts +151 -0
  281. package/dist/components/retrieval-results/retrieval-results.class.d.ts.map +1 -0
  282. package/dist/components/retrieval-results/retrieval-results.class.js +340 -0
  283. package/dist/components/retrieval-results/retrieval-results.class.js.map +1 -0
  284. package/dist/components/retrieval-results/retrieval-results.d.ts +7 -0
  285. package/dist/components/retrieval-results/retrieval-results.d.ts.map +1 -0
  286. package/dist/components/retrieval-results/retrieval-results.js +10 -0
  287. package/dist/components/retrieval-results/retrieval-results.js.map +1 -0
  288. package/dist/components/retrieval-results/retrieval-results.styles.d.ts +2 -0
  289. package/dist/components/retrieval-results/retrieval-results.styles.d.ts.map +1 -0
  290. package/dist/components/retrieval-results/retrieval-results.styles.js +94 -0
  291. package/dist/components/retrieval-results/retrieval-results.styles.js.map +1 -0
  292. package/dist/components/retrieval-search/retrieval-search.class.d.ts +127 -0
  293. package/dist/components/retrieval-search/retrieval-search.class.d.ts.map +1 -0
  294. package/dist/components/retrieval-search/retrieval-search.class.js +266 -0
  295. package/dist/components/retrieval-search/retrieval-search.class.js.map +1 -0
  296. package/dist/components/retrieval-search/retrieval-search.d.ts +8 -0
  297. package/dist/components/retrieval-search/retrieval-search.d.ts.map +1 -0
  298. package/dist/components/retrieval-search/retrieval-search.js +11 -0
  299. package/dist/components/retrieval-search/retrieval-search.js.map +1 -0
  300. package/dist/components/retrieval-search/retrieval-search.styles.d.ts +2 -0
  301. package/dist/components/retrieval-search/retrieval-search.styles.d.ts.map +1 -0
  302. package/dist/components/retrieval-search/retrieval-search.styles.js +75 -0
  303. package/dist/components/retrieval-search/retrieval-search.styles.js.map +1 -0
  304. package/dist/components/retrieval-trace/retrieval-trace.class.d.ts +101 -0
  305. package/dist/components/retrieval-trace/retrieval-trace.class.d.ts.map +1 -0
  306. package/dist/components/retrieval-trace/retrieval-trace.class.js +215 -0
  307. package/dist/components/retrieval-trace/retrieval-trace.class.js.map +1 -0
  308. package/dist/components/retrieval-trace/retrieval-trace.d.ts +4 -0
  309. package/dist/components/retrieval-trace/retrieval-trace.d.ts.map +1 -0
  310. package/dist/components/retrieval-trace/retrieval-trace.js +7 -0
  311. package/dist/components/retrieval-trace/retrieval-trace.js.map +1 -0
  312. package/dist/components/retrieval-trace/retrieval-trace.styles.d.ts +2 -0
  313. package/dist/components/retrieval-trace/retrieval-trace.styles.d.ts.map +1 -0
  314. package/dist/components/retrieval-trace/retrieval-trace.styles.js +116 -0
  315. package/dist/components/retrieval-trace/retrieval-trace.styles.js.map +1 -0
  316. package/dist/components/thread-list/thread-list.class.d.ts +19 -1
  317. package/dist/components/thread-list/thread-list.class.d.ts.map +1 -1
  318. package/dist/components/thread-list/thread-list.class.js +9 -2
  319. package/dist/components/thread-list/thread-list.class.js.map +1 -1
  320. package/dist/components/tool-timeline/tool-timeline.class.d.ts +140 -0
  321. package/dist/components/tool-timeline/tool-timeline.class.d.ts.map +1 -0
  322. package/dist/components/tool-timeline/tool-timeline.class.js +293 -0
  323. package/dist/components/tool-timeline/tool-timeline.class.js.map +1 -0
  324. package/dist/components/tool-timeline/tool-timeline.d.ts +2 -0
  325. package/dist/components/tool-timeline/tool-timeline.d.ts.map +1 -0
  326. package/dist/components/tool-timeline/tool-timeline.js +5 -0
  327. package/dist/components/tool-timeline/tool-timeline.js.map +1 -0
  328. package/dist/components/tool-timeline/tool-timeline.styles.d.ts +2 -0
  329. package/dist/components/tool-timeline/tool-timeline.styles.d.ts.map +1 -0
  330. package/dist/components/tool-timeline/tool-timeline.styles.js +148 -0
  331. package/dist/components/tool-timeline/tool-timeline.styles.js.map +1 -0
  332. package/dist/internal/localization.d.ts +1 -1
  333. package/dist/internal/localization.d.ts.map +1 -1
  334. package/dist/internal/localization.js +224 -0
  335. package/dist/internal/localization.js.map +1 -1
  336. package/dist/internal/positioner.d.ts +28 -1
  337. package/dist/internal/positioner.d.ts.map +1 -1
  338. package/dist/internal/positioner.js +12 -1
  339. package/dist/internal/positioner.js.map +1 -1
  340. package/dist/internal/root-registration-allowlist.d.ts +2 -2
  341. package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
  342. package/dist/internal/root-registration-allowlist.js +24 -0
  343. package/dist/internal/root-registration-allowlist.js.map +1 -1
  344. package/dist/internal/tokens.styles.d.ts.map +1 -1
  345. package/dist/internal/tokens.styles.js +2 -0
  346. package/dist/internal/tokens.styles.js.map +1 -1
  347. package/dist/lyra.d.ts +48 -1
  348. package/dist/lyra.d.ts.map +1 -1
  349. package/dist/lyra.js +47 -0
  350. package/dist/lyra.js.map +1 -1
  351. package/llms-full.txt +462 -9
  352. package/llms.txt +7 -0
  353. package/package.json +50 -1
  354. package/vscode-css-data.json +21 -0
  355. package/vscode-html-data.json +1103 -47
  356. package/web-types.json +1131 -47
@@ -0,0 +1,111 @@
1
+ import { type TemplateResult } from 'lit';
2
+ import { LyraElement } from '../../internal/lyra-element.js';
3
+ import '../trace-tree/trace-tree.js';
4
+ import '../graph-legend/graph-legend.js';
5
+ import '../handoff-divider/handoff-divider.js';
6
+ import type { LyraSpan } from '../trace-tree/span.js';
7
+ import type { LyraGraphLegendVisibilityDetail } from '../graph-legend/graph-legend.class.js';
8
+ export type { LyraSpan } from '../trace-tree/span.js';
9
+ export interface LyraAgentTraceEventMap {
10
+ /** Bubbles, composed, from the composed `<lr-trace-tree>` (identical `{ id }` detail), or is
11
+ * fired directly when a handoff quick-jump entry is activated -- a host handles both origins
12
+ * through this one event. */
13
+ 'lr-span-select': CustomEvent<{
14
+ id: string;
15
+ }>;
16
+ /** Bubbles, composed, from the composed `<lr-trace-tree>`, unchanged. */
17
+ 'lr-span-toggle': CustomEvent<{
18
+ id: string;
19
+ expanded: boolean;
20
+ }>;
21
+ /** Bubbles, composed, from the composed filter `<lr-graph-legend>`. Despite the property name
22
+ * (inherited verbatim from that component's own event contract), `hiddenTypes` here holds
23
+ * `LyraSpan['kind']` values, not graph node-type ids. */
24
+ 'lr-visibility-change': CustomEvent<LyraGraphLegendVisibilityDetail>;
25
+ }
26
+ /**
27
+ * `<lr-agent-trace>` — a provider-neutral agent/LLM trace view: a span-kind filter row, a
28
+ * handoff quick-jump list, and the full trace hierarchy, all driven by one shared `LyraSpan[]`
29
+ * array (the same shape `<lr-trace-tree>` and `<lr-span-waterfall>` already consume).
30
+ *
31
+ * The actual trace rendering -- hierarchy, expand/collapse, roving-tabindex keyboard navigation,
32
+ * duration bars, the empty state -- is entirely `<lr-trace-tree>`'s own: this component only ever
33
+ * passes it a (possibly filtered) `spans` array plus a handful of pass-through properties, never
34
+ * building its own row markup. `<lr-trace-tree>` was chosen over `<lr-span-waterfall>` because a
35
+ * trace is fundamentally the hierarchy relationship between spans (which agent called which tool,
36
+ * which handed off to which sub-agent) -- exactly what `parentId`-derived `aria-level` nesting
37
+ * conveys and a flat, `startMs`-ordered timeline does not.
38
+ *
39
+ * This component's own contribution is the multi-domain filter layer on top of that: a filter
40
+ * row composing `<lr-graph-legend>` -- the same abstract type/visibility-toggle legend pattern
41
+ * that component already establishes for `<lr-graph>`'s node types, reused here (it neither
42
+ * reads nor writes an actual graph) for `LyraSpan.kind` visibility instead -- and a handoff
43
+ * quick-jump list composing `<lr-handoff-divider>` for each visible `'agent'`-kind span (an
44
+ * agent invocation is, in trace terms, a handoff of control to that agent). Hidden kinds are
45
+ * simply excluded from the array handed to `<lr-trace-tree>`; a span whose parent got filtered
46
+ * out is promoted to a root by `<lr-trace-tree>`'s own existing orphan handling, never dropped.
47
+ *
48
+ * Selection is controlled end-to-end for deep-linking: `activeSpanId` flows down into
49
+ * `<lr-trace-tree>` verbatim, and both activation paths -- a row click inside the tree, or a
50
+ * handoff quick-jump entry -- update it and fire the identical `lr-span-select` `{ id }` shape, so
51
+ * a host can encode the current span id in a URL and feed it straight back in.
52
+ *
53
+ * @customElement lr-agent-trace
54
+ * @event lr-span-select - `detail: { id }` — a span was activated, from the tree or the handoff list.
55
+ * @event lr-span-toggle - `detail: { id, expanded }` — a tree row was expanded or collapsed.
56
+ * @event lr-visibility-change - `detail: { hiddenTypes }` — the span-kind filter changed; `hiddenTypes` holds `LyraSpan['kind']` values.
57
+ * @csspart base - The root wrapper.
58
+ * @csspart filter - The composed `<lr-graph-legend>` filter row, only rendered while `spans` has at least one span.
59
+ * @csspart handoffs - The handoff quick-jump list wrapper, only rendered while at least one visible span has `kind: 'agent'`.
60
+ * @csspart handoff - One handoff quick-jump entry (a `<button>` wrapping an `<lr-handoff-divider>`); carries `data-active`.
61
+ * @csspart tree - The composed `<lr-trace-tree>`.
62
+ */
63
+ export declare class LyraAgentTrace extends LyraElement<LyraAgentTraceEventMap> {
64
+ static styles: import("lit").CSSResultGroup[];
65
+ /** The full, unfiltered span array -- identical contract to `<lr-trace-tree>.spans`. Controlled
66
+ * and never mutated by this component. */
67
+ spans: LyraSpan[];
68
+ /** Controlled selection, forwarded verbatim into the composed `<lr-trace-tree>`. Updated
69
+ * locally (and re-emitted as `lr-span-select`) whenever a span is activated from either the
70
+ * tree or the handoff quick-jump list, so a host can also treat it as a two-way binding. */
71
+ activeSpanId: string | null;
72
+ /** Span kinds currently hidden from the tree. Empty (the default) shows every kind. Controlled
73
+ * -- a host may pre-set this (e.g. to hide `retriever`/`embedding` spans by default) or read it
74
+ * back after `lr-visibility-change`. */
75
+ hiddenKinds: LyraSpan['kind'][];
76
+ /** Accessible name forwarded to the composed `<lr-trace-tree>`. See its own `label` property. */
77
+ label: string;
78
+ /** Forwarded verbatim to the composed `<lr-trace-tree>`. */
79
+ showTokens: boolean;
80
+ /** Forwarded verbatim to the composed `<lr-trace-tree>`. */
81
+ showCost: boolean;
82
+ /** Forwarded verbatim to the composed `<lr-trace-tree>`. */
83
+ hideBars: boolean;
84
+ private presentKinds;
85
+ private get filteredSpans();
86
+ private handoffSpans;
87
+ /** The handed-off-from agent's name, resolved against the full (unfiltered) `spans` array so a
88
+ * hidden/filtered-out parent's name still renders -- empty when `parentId` is unset or
89
+ * unresolvable, mirroring `<lr-handoff-divider>`'s own "from is optional" contract. */
90
+ private handoffFromAgent;
91
+ /** Same computation `<lr-handoff-divider>` performs internally for its own `aria-label`, reused
92
+ * here (not reimplemented with different wording) for this button's accessible name. */
93
+ private handoffAccessibleLabel;
94
+ private onVisibilityChange;
95
+ /** Keeps `activeSpanId` (and therefore the handoff list's own highlighting) in sync when
96
+ * selection originates inside the composed `<lr-trace-tree>` rather than the handoff quick-jump
97
+ * list. The original event is never stopped here, so it still reaches a host listener on this
98
+ * element unchanged. */
99
+ private onTreeSpanSelect;
100
+ private selectSpan;
101
+ private renderFilter;
102
+ private renderHandoff;
103
+ private renderHandoffs;
104
+ render(): TemplateResult;
105
+ }
106
+ declare global {
107
+ interface HTMLElementTagNameMap {
108
+ 'lr-agent-trace': LyraAgentTrace;
109
+ }
110
+ }
111
+ //# sourceMappingURL=agent-trace.class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-trace.class.d.ts","sourceRoot":"","sources":["../../../src/components/agent-trace/agent-trace.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAO7D,OAAO,6BAA6B,CAAC;AACrC,OAAO,iCAAiC,CAAC;AACzC,OAAO,uCAAuC,CAAC;AAC/C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,KAAK,EAAuB,+BAA+B,EAAE,MAAM,uCAAuC,CAAC;AAElH,YAAY,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA2BtD,MAAM,WAAW,sBAAsB;IACrC;;kCAE8B;IAC9B,gBAAgB,EAAE,WAAW,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9C,yEAAyE;IACzE,gBAAgB,EAAE,WAAW,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACjE;;8DAE0D;IAC1D,sBAAsB,EAAE,WAAW,CAAC,+BAA+B,CAAC,CAAC;CACtE;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,qBAAa,cAAe,SAAQ,WAAW,CAAC,sBAAsB,CAAC;IACrE,MAAM,CAAC,MAAM,iCAAgC;IAE7C;+CAC2C;IACX,KAAK,EAAE,QAAQ,EAAE,CAAM;IAEvD;;iGAE6F;IAClD,YAAY,EAAE,MAAM,GAAG,IAAI,CAAQ;IAE9E;;6CAEyC;IACT,WAAW,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAM;IAErE,iGAAiG;IACrF,KAAK,SAAM;IAEvB,4DAA4D;IACL,UAAU,UAAS;IAE1E,4DAA4D;IACP,QAAQ,UAAS;IAEtE,4DAA4D;IACP,QAAQ,UAAS;IAEtE,OAAO,CAAC,YAAY;IAKpB,OAAO,KAAK,aAAa,GAExB;IAED,OAAO,CAAC,YAAY;IAIpB;;4FAEwF;IACxF,OAAO,CAAC,gBAAgB;IAKxB;6FACyF;IACzF,OAAO,CAAC,sBAAsB;IAM9B,OAAO,CAAC,kBAAkB,CAExB;IAEF;;;6BAGyB;IACzB,OAAO,CAAC,gBAAgB,CAEtB;IAEF,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,YAAY;IAkBpB,OAAO,CAAC,aAAa;IAiBrB,OAAO,CAAC,cAAc;IAMtB,MAAM,IAAI,cAAc,CAgBvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,cAAc,CAAC;KAClC;CACF"}
@@ -0,0 +1,221 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { html, nothing } from 'lit';
8
+ import { property } from 'lit/decorators.js';
9
+ import { LyraElement } from '../../internal/lyra-element.js';
10
+ import { styles } from './agent-trace.styles.js';
11
+ // The registering barrels (not the bare *.class.js modules) -- this is what actually defines
12
+ // <lr-trace-tree>/<lr-graph-legend>/<lr-handoff-divider> as custom elements by the time this
13
+ // component's render() references them, regardless of whether a consumer imports this bare
14
+ // *.class.js module directly or the full agent-trace.js barrel. See this file's own regression
15
+ // test ("registers ... as a side effect of importing agent-trace.js") for why this matters.
16
+ import '../trace-tree/trace-tree.js';
17
+ import '../graph-legend/graph-legend.js';
18
+ import '../handoff-divider/handoff-divider.js';
19
+ /**
20
+ * Canonical span-kind order for the filter legend and the "which kinds are present" scan --
21
+ * matches `<lr-trace-tree>`'s own internal kind iteration order so a kind lands in the same
22
+ * visual position across both components.
23
+ */
24
+ const KIND_ORDER = ['agent', 'llm', 'tool', 'retriever', 'embedding', 'other'];
25
+ /**
26
+ * Maps each `LyraSpan.kind` onto the message key `<lr-trace-tree>`/`<lr-span-waterfall>` already
27
+ * localize their own kind label through -- reused verbatim (not redefined with new wording) so a
28
+ * translation registered for one of those components applies identically here. In the roadmap's
29
+ * own vocabulary this component composes retrieval (`retriever` + `embedding`), tool (`tool`),
30
+ * model (`llm`), and handoff (`agent`) spans; the filter itself operates one level more granular,
31
+ * directly on `LyraSpan.kind`, so it never drifts from the exact field `<lr-trace-tree>` already
32
+ * keys its own rendering off of.
33
+ */
34
+ const KIND_LABEL_KEY = {
35
+ agent: 'spanKindAgent',
36
+ llm: 'spanKindLlm',
37
+ tool: 'spanKindTool',
38
+ retriever: 'spanKindRetriever',
39
+ embedding: 'spanKindEmbedding',
40
+ other: 'spanKindOther',
41
+ };
42
+ /**
43
+ * `<lr-agent-trace>` — a provider-neutral agent/LLM trace view: a span-kind filter row, a
44
+ * handoff quick-jump list, and the full trace hierarchy, all driven by one shared `LyraSpan[]`
45
+ * array (the same shape `<lr-trace-tree>` and `<lr-span-waterfall>` already consume).
46
+ *
47
+ * The actual trace rendering -- hierarchy, expand/collapse, roving-tabindex keyboard navigation,
48
+ * duration bars, the empty state -- is entirely `<lr-trace-tree>`'s own: this component only ever
49
+ * passes it a (possibly filtered) `spans` array plus a handful of pass-through properties, never
50
+ * building its own row markup. `<lr-trace-tree>` was chosen over `<lr-span-waterfall>` because a
51
+ * trace is fundamentally the hierarchy relationship between spans (which agent called which tool,
52
+ * which handed off to which sub-agent) -- exactly what `parentId`-derived `aria-level` nesting
53
+ * conveys and a flat, `startMs`-ordered timeline does not.
54
+ *
55
+ * This component's own contribution is the multi-domain filter layer on top of that: a filter
56
+ * row composing `<lr-graph-legend>` -- the same abstract type/visibility-toggle legend pattern
57
+ * that component already establishes for `<lr-graph>`'s node types, reused here (it neither
58
+ * reads nor writes an actual graph) for `LyraSpan.kind` visibility instead -- and a handoff
59
+ * quick-jump list composing `<lr-handoff-divider>` for each visible `'agent'`-kind span (an
60
+ * agent invocation is, in trace terms, a handoff of control to that agent). Hidden kinds are
61
+ * simply excluded from the array handed to `<lr-trace-tree>`; a span whose parent got filtered
62
+ * out is promoted to a root by `<lr-trace-tree>`'s own existing orphan handling, never dropped.
63
+ *
64
+ * Selection is controlled end-to-end for deep-linking: `activeSpanId` flows down into
65
+ * `<lr-trace-tree>` verbatim, and both activation paths -- a row click inside the tree, or a
66
+ * handoff quick-jump entry -- update it and fire the identical `lr-span-select` `{ id }` shape, so
67
+ * a host can encode the current span id in a URL and feed it straight back in.
68
+ *
69
+ * @customElement lr-agent-trace
70
+ * @event lr-span-select - `detail: { id }` — a span was activated, from the tree or the handoff list.
71
+ * @event lr-span-toggle - `detail: { id, expanded }` — a tree row was expanded or collapsed.
72
+ * @event lr-visibility-change - `detail: { hiddenTypes }` — the span-kind filter changed; `hiddenTypes` holds `LyraSpan['kind']` values.
73
+ * @csspart base - The root wrapper.
74
+ * @csspart filter - The composed `<lr-graph-legend>` filter row, only rendered while `spans` has at least one span.
75
+ * @csspart handoffs - The handoff quick-jump list wrapper, only rendered while at least one visible span has `kind: 'agent'`.
76
+ * @csspart handoff - One handoff quick-jump entry (a `<button>` wrapping an `<lr-handoff-divider>`); carries `data-active`.
77
+ * @csspart tree - The composed `<lr-trace-tree>`.
78
+ */
79
+ export class LyraAgentTrace extends LyraElement {
80
+ constructor() {
81
+ super(...arguments);
82
+ /** The full, unfiltered span array -- identical contract to `<lr-trace-tree>.spans`. Controlled
83
+ * and never mutated by this component. */
84
+ this.spans = [];
85
+ /** Controlled selection, forwarded verbatim into the composed `<lr-trace-tree>`. Updated
86
+ * locally (and re-emitted as `lr-span-select`) whenever a span is activated from either the
87
+ * tree or the handoff quick-jump list, so a host can also treat it as a two-way binding. */
88
+ this.activeSpanId = null;
89
+ /** Span kinds currently hidden from the tree. Empty (the default) shows every kind. Controlled
90
+ * -- a host may pre-set this (e.g. to hide `retriever`/`embedding` spans by default) or read it
91
+ * back after `lr-visibility-change`. */
92
+ this.hiddenKinds = [];
93
+ /** Accessible name forwarded to the composed `<lr-trace-tree>`. See its own `label` property. */
94
+ this.label = '';
95
+ /** Forwarded verbatim to the composed `<lr-trace-tree>`. */
96
+ this.showTokens = false;
97
+ /** Forwarded verbatim to the composed `<lr-trace-tree>`. */
98
+ this.showCost = false;
99
+ /** Forwarded verbatim to the composed `<lr-trace-tree>`. */
100
+ this.hideBars = false;
101
+ this.onVisibilityChange = (e) => {
102
+ this.hiddenKinds = e.detail.hiddenTypes;
103
+ };
104
+ /** Keeps `activeSpanId` (and therefore the handoff list's own highlighting) in sync when
105
+ * selection originates inside the composed `<lr-trace-tree>` rather than the handoff quick-jump
106
+ * list. The original event is never stopped here, so it still reaches a host listener on this
107
+ * element unchanged. */
108
+ this.onTreeSpanSelect = (e) => {
109
+ this.activeSpanId = e.detail.id;
110
+ };
111
+ }
112
+ static { this.styles = [LyraElement.styles, styles]; }
113
+ presentKinds() {
114
+ const present = new Set(this.spans.map((s) => s.kind));
115
+ return KIND_ORDER.filter((k) => present.has(k));
116
+ }
117
+ get filteredSpans() {
118
+ return this.hiddenKinds.length === 0 ? this.spans : this.spans.filter((s) => !this.hiddenKinds.includes(s.kind));
119
+ }
120
+ handoffSpans() {
121
+ return this.filteredSpans.filter((s) => s.kind === 'agent');
122
+ }
123
+ /** The handed-off-from agent's name, resolved against the full (unfiltered) `spans` array so a
124
+ * hidden/filtered-out parent's name still renders -- empty when `parentId` is unset or
125
+ * unresolvable, mirroring `<lr-handoff-divider>`'s own "from is optional" contract. */
126
+ handoffFromAgent(span) {
127
+ if (!span.parentId)
128
+ return '';
129
+ return this.spans.find((s) => s.id === span.parentId)?.name ?? '';
130
+ }
131
+ /** Same computation `<lr-handoff-divider>` performs internally for its own `aria-label`, reused
132
+ * here (not reimplemented with different wording) for this button's accessible name. */
133
+ handoffAccessibleLabel(span, fromAgent) {
134
+ return fromAgent
135
+ ? this.localize('handoffFromToAgent', undefined, { from: fromAgent, to: span.name })
136
+ : this.localize('handoffToAgent', undefined, { agent: span.name });
137
+ }
138
+ selectSpan(id) {
139
+ this.activeSpanId = id;
140
+ this.emit('lr-span-select', { id });
141
+ }
142
+ renderFilter() {
143
+ const kinds = this.presentKinds();
144
+ if (kinds.length === 0)
145
+ return nothing;
146
+ const types = kinds.map((k) => ({ id: k, label: this.localize(KIND_LABEL_KEY[k]) }));
147
+ // <lr-graph-legend> keeps its own default accessible name (its localized "Graph legend"
148
+ // string) rather than a component-specific override here -- every visible label a user
149
+ // actually reads (each item's own kind name) is already correct and localized via `types`
150
+ // above; only the outer group's landmark name is generic.
151
+ return html `
152
+ <lr-graph-legend
153
+ part="filter"
154
+ .types=${types}
155
+ .hiddenTypes=${this.hiddenKinds}
156
+ @lr-visibility-change=${this.onVisibilityChange}
157
+ ></lr-graph-legend>
158
+ `;
159
+ }
160
+ renderHandoff(span) {
161
+ const fromAgent = this.handoffFromAgent(span);
162
+ const isActive = this.activeSpanId === span.id;
163
+ return html `
164
+ <button
165
+ part="handoff"
166
+ type="button"
167
+ aria-label=${this.handoffAccessibleLabel(span, fromAgent)}
168
+ aria-current=${isActive ? 'true' : nothing}
169
+ ?data-active=${isActive}
170
+ @click=${() => this.selectSpan(span.id)}
171
+ >
172
+ <lr-handoff-divider aria-hidden="true" agent=${span.name} from-agent=${fromAgent}></lr-handoff-divider>
173
+ </button>
174
+ `;
175
+ }
176
+ renderHandoffs() {
177
+ const handoffs = this.handoffSpans();
178
+ if (handoffs.length === 0)
179
+ return nothing;
180
+ return html `<div part="handoffs">${handoffs.map((span) => this.renderHandoff(span))}</div>`;
181
+ }
182
+ render() {
183
+ return html `
184
+ <div part="base">
185
+ ${this.renderFilter()} ${this.renderHandoffs()}
186
+ <lr-trace-tree
187
+ part="tree"
188
+ .spans=${this.filteredSpans}
189
+ .activeSpanId=${this.activeSpanId}
190
+ .label=${this.label}
191
+ ?show-tokens=${this.showTokens}
192
+ ?show-cost=${this.showCost}
193
+ ?hide-bars=${this.hideBars}
194
+ @lr-span-select=${this.onTreeSpanSelect}
195
+ ></lr-trace-tree>
196
+ </div>
197
+ `;
198
+ }
199
+ }
200
+ __decorate([
201
+ property({ attribute: false })
202
+ ], LyraAgentTrace.prototype, "spans", void 0);
203
+ __decorate([
204
+ property({ attribute: 'active-span-id' })
205
+ ], LyraAgentTrace.prototype, "activeSpanId", void 0);
206
+ __decorate([
207
+ property({ attribute: false })
208
+ ], LyraAgentTrace.prototype, "hiddenKinds", void 0);
209
+ __decorate([
210
+ property()
211
+ ], LyraAgentTrace.prototype, "label", void 0);
212
+ __decorate([
213
+ property({ type: Boolean, attribute: 'show-tokens' })
214
+ ], LyraAgentTrace.prototype, "showTokens", void 0);
215
+ __decorate([
216
+ property({ type: Boolean, attribute: 'show-cost' })
217
+ ], LyraAgentTrace.prototype, "showCost", void 0);
218
+ __decorate([
219
+ property({ type: Boolean, attribute: 'hide-bars' })
220
+ ], LyraAgentTrace.prototype, "hideBars", void 0);
221
+ //# sourceMappingURL=agent-trace.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-trace.class.js","sourceRoot":"","sources":["../../../src/components/agent-trace/agent-trace.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ export * from './agent-trace.class.js';
2
+ import '../trace-tree/trace-tree.js';
3
+ import '../graph-legend/graph-legend.js';
4
+ import '../handoff-divider/handoff-divider.js';
5
+ //# sourceMappingURL=agent-trace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-trace.d.ts","sourceRoot":"","sources":["../../../src/components/agent-trace/agent-trace.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AAGvC,OAAO,6BAA6B,CAAC;AACrC,OAAO,iCAAiC,CAAC;AACzC,OAAO,uCAAuC,CAAC"}
@@ -0,0 +1,8 @@
1
+ export * from './agent-trace.class.js';
2
+ import { LyraAgentTrace } from './agent-trace.class.js';
3
+ import { defineElement } from '../../internal/prefix.js';
4
+ import '../trace-tree/trace-tree.js';
5
+ import '../graph-legend/graph-legend.js';
6
+ import '../handoff-divider/handoff-divider.js';
7
+ defineElement('agent-trace', LyraAgentTrace);
8
+ //# sourceMappingURL=agent-trace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-trace.js","sourceRoot":"","sources":["../../../src/components/agent-trace/agent-trace.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,6BAA6B,CAAC;AACrC,OAAO,iCAAiC,CAAC;AACzC,OAAO,uCAAuC,CAAC;AAE/C,aAAa,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=agent-trace.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-trace.styles.d.ts","sourceRoot":"","sources":["../../../src/components/agent-trace/agent-trace.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA0DlB,CAAC"}
@@ -0,0 +1,61 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: block;
5
+ container-type: inline-size;
6
+ }
7
+
8
+ [part='base'] {
9
+ display: flex;
10
+ flex-direction: column;
11
+ gap: var(--lr-space-m);
12
+ max-inline-size: 100%;
13
+ box-sizing: border-box;
14
+ }
15
+
16
+ [part='filter'] {
17
+ max-inline-size: 100%;
18
+ }
19
+
20
+ [part='handoffs'] {
21
+ display: flex;
22
+ flex-direction: column;
23
+ gap: var(--lr-space-2xs);
24
+ padding: var(--lr-space-xs);
25
+ border: var(--lr-border-width-thin) solid var(--lr-color-border);
26
+ border-radius: var(--lr-radius-m);
27
+ background: var(--lr-color-surface-raised);
28
+ box-sizing: border-box;
29
+ max-inline-size: 100%;
30
+ }
31
+
32
+ [part='handoff'] {
33
+ display: block;
34
+ inline-size: 100%;
35
+ max-inline-size: 100%;
36
+ box-sizing: border-box;
37
+ padding: 0;
38
+ border: none;
39
+ background: none;
40
+ font: inherit;
41
+ text-align: start;
42
+ color: inherit;
43
+ cursor: pointer;
44
+ border-radius: var(--lr-radius-xs);
45
+ }
46
+ [part='handoff']:hover {
47
+ background: color-mix(in srgb, var(--lr-color-text) 8%, transparent);
48
+ }
49
+ [part='handoff']:focus-visible {
50
+ outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);
51
+ outline-offset: var(--lr-focus-ring-offset);
52
+ }
53
+ [part='handoff'][data-active] {
54
+ background: var(--lr-color-brand-quiet);
55
+ }
56
+
57
+ [part='tree'] {
58
+ max-inline-size: 100%;
59
+ }
60
+ `;
61
+ //# sourceMappingURL=agent-trace.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-trace.styles.js","sourceRoot":"","sources":["../../../src/components/agent-trace/agent-trace.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0DxB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"app-rail.styles.d.ts","sourceRoot":"","sources":["../../../src/components/app-rail/app-rail.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAwKlB,CAAC"}
1
+ {"version":3,"file":"app-rail.styles.d.ts","sourceRoot":"","sources":["../../../src/components/app-rail/app-rail.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA4KlB,CAAC"}
@@ -30,6 +30,10 @@ export const styles = css `
30
30
  :host([hide-toggle][mode='mobile']) [part='toggle'] {
31
31
  display: none;
32
32
  }
33
+ :host([mode='mobile'][open]) [part='toggle'] {
34
+ position: relative;
35
+ z-index: calc(var(--lr-overlay-stack-index, var(--lr-layer-modal)) + 2);
36
+ }
33
37
  [part='toggle']:hover {
34
38
  background: var(--lr-color-brand-quiet);
35
39
  color: var(--lr-color-brand);
@@ -1 +1 @@
1
- {"version":3,"file":"app-rail.styles.js","sourceRoot":"","sources":["../../../src/components/app-rail/app-rail.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAwKxB,CAAC"}
1
+ {"version":3,"file":"app-rail.styles.js","sourceRoot":"","sources":["../../../src/components/app-rail/app-rail.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4KxB,CAAC"}
@@ -32,7 +32,11 @@ export interface LyraChatMessageEventMap {
32
32
  * finishing), is additionally announced through an internal
33
33
  * `<lr-live-region>` (see that component's header for the throttled-
34
34
  * announcement wiring this composes) so a screen-reader user who isn't
35
- * currently focused on this message still learns about it. This differs
35
+ * currently focused on this message still learns about it *unless* the
36
+ * `failure` slot has content, in which case this internal announcement is
37
+ * skipped: the host's own `role="alert"` failure content is expected to
38
+ * announce itself, and firing both would double-announce the same failure
39
+ * with two different (and differently specific) messages. This differs
36
40
  * from `<lr-typing-indicator>`'s deliberately simpler `role="status"`
37
41
  * approach — that component only ever has one thing to announce (its own
38
42
  * mount); this one has a `status` that can flip between several values
@@ -56,7 +60,22 @@ export interface LyraChatMessageEventMap {
56
60
  * @slot badges - Small status/metric chips (e.g. token count, latency, model name) — entirely app-supplied; this component computes none of that itself.
57
61
  * @slot actions - Action controls (e.g. copy, retry), rendered at the end of the footer.
58
62
  * @slot attachments - File/image attachment chips, rendered below the message body by default; see `attachments-position`.
59
- * @event lr-retry - Fired by the built-in retry button, only rendered when `status="failed"`.
63
+ * @slot failure - Only ever rendered while `status="failed"`. Empty (the default), the footer keeps
64
+ * its built-in `[part="status-text"]`/`[part="retry-button"]` exactly as before. The moment this
65
+ * slot has assigned content, that built-in status text and retry button are suppressed — the host
66
+ * is now fully responsible for presenting its own failure UI, and the built-in `chatFailedAnnounce`
67
+ * live-region announcement is suppressed too (see `@event lr-retry` below for the effect on that
68
+ * event, and the "Accessibility of `status`" paragraph above for the built-in announcement this
69
+ * replaces). Content assigned here should carry `role="alert"` itself when it represents an
70
+ * actionable send failure — this component does not add that role on the host's behalf, since it
71
+ * has no way to know what markup the host puts in this slot. This mirrors `lr-flow-node`'s `header`
72
+ * slot, which replaces that component's own built-in heading row the same way.
73
+ * @event lr-retry - Fired by the built-in retry button, only rendered when `status="failed"` and the
74
+ * `failure` slot is empty. A host using the `failure` slot owns its own retry control and is not
75
+ * required to use this event at all — but nothing stops that control from dispatching its own
76
+ * `new CustomEvent('lr-retry', { bubbles: true, composed: true })` to stay consistent with the
77
+ * same event contract a listener further up a conversation surface already relies on for every
78
+ * other message.
60
79
  * @event lr-collapse-toggle - `detail: boolean` (the new `collapsed` state) — fired when the user activates the built-in collapse button.
61
80
  * @csspart bubble - The message bubble root. Programmatically focusable (`tabindex="-1"`) so focus has a stable place to land when the built-in retry button is removed (e.g. a `lr-retry` listener flipping `status` away from `"failed"`).
62
81
  * @csspart header - The row above the message body — avatar, badges, and the collapse toggle. Hidden entirely when none of those have anything to show.
@@ -65,6 +84,9 @@ export interface LyraChatMessageEventMap {
65
84
  * @csspart collapse-button - The built-in collapse/expand toggle (only rendered when `collapsible`).
66
85
  * @csspart body - The wrapper around the default slot (the message content). Hidden while `collapsed`.
67
86
  * @csspart attachments - The wrapper around the `attachments` slot.
87
+ * @csspart failure - The `failure` slot itself (`display: contents` — it contributes no box of its
88
+ * own, so the host's own content lays out exactly as if it were a direct child of `bubble`, with no
89
+ * `::part(failure)` override needed to get there). Only present in the DOM while `status="failed"`.
68
90
  * @csspart footer - The row below the message body — status, timestamp, retry, and actions. Hidden entirely when none of those have anything to show.
69
91
  * @csspart status-indicator - A small decorative (`aria-hidden`) dot reflecting `status`; absent while `status="sent"`.
70
92
  * @csspart status-text - The visible text twin of `status-indicator` — carries the state in text, not just color.
@@ -116,6 +138,11 @@ export declare class LyraChatMessage extends LyraElement<LyraChatMessageEventMap
116
138
  private hasBadgesSlot;
117
139
  private hasAttachmentsSlot;
118
140
  private hasActionsSlot;
141
+ /** Whether the `failure` slot currently has assigned content. Only meaningful while
142
+ * `status === "failed"` -- that's the only time the slot itself is even in the render (see
143
+ * `render()`), mirroring `lr-flow-node`'s identical `hasHeaderSlot` flag for its own
144
+ * entirely-replaces-the-built-in-UI `header` slot. */
145
+ private hasFailureSlot;
119
146
  private liveRegion?;
120
147
  private bubbleEl?;
121
148
  private readonly bodyId;
@@ -143,9 +170,15 @@ export declare class LyraChatMessage extends LyraElement<LyraChatMessageEventMap
143
170
  * accessor (see `previousStatus`). */
144
171
  get status(): ChatMessageStatus;
145
172
  set status(value: ChatMessageStatus);
146
- protected willUpdate(): void;
173
+ protected willUpdate(changed: PropertyValues): void;
147
174
  protected updated(changed: PropertyValues): void;
148
175
  private hasSlotted;
176
+ /** Whether `document.activeElement` is (or is inside) one of this host's `slot="failure"`
177
+ * children. Slotting doesn't move an element out of the light DOM -- `document.activeElement`
178
+ * reports the actual focused node regardless of where Shadow DOM projects it for rendering --
179
+ * so this walks the host's real children, same as `hasSlotted` above, rather than anything
180
+ * shadow-root-relative. */
181
+ private isFocusWithinFailureSlot;
149
182
  private get normalizedTimestamp();
150
183
  private get statusText();
151
184
  private announceStatusChange;
@@ -153,6 +186,7 @@ export declare class LyraChatMessage extends LyraElement<LyraChatMessageEventMap
153
186
  private onBadgesSlotChange;
154
187
  private onAttachmentsSlotChange;
155
188
  private onActionsSlotChange;
189
+ private onFailureSlotChange;
156
190
  private toggleCollapsed;
157
191
  private onRetryClick;
158
192
  render(): TemplateResult;
@@ -1 +1 @@
1
- {"version":3,"file":"chat-message.class.d.ts","sourceRoot":"","sources":["../../../src/components/chat-message/chat-message.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAA0B,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3G,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAK7D,OAAO,qCAAqC,CAAC;AAG7C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;AAkD5E,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACnC,oBAAoB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC5C;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmEG;AACH,qBAAa,eAAgB,SAAQ,WAAW,CAAC,uBAAuB,CAAC;IACvE,MAAM,CAAC,MAAM,iCAAgC;IAO7C,MAAM,CAAC,UAAU;QACf,MAAM;YAAI,OAAO;YAAQ,UAAU;;MACnC;IAEF,6EAA6E;IACxB,IAAI,EAAE,eAAe,CAAe;IAEzF;;6DAEyD;IACzB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAE1D;;;wDAGoD;IACpB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IAEzE,+DAA+D;IACnB,WAAW,UAAS;IAEhE;;;0CAGsC;IACM,SAAS,UAAS;IAE9D;;;;2CAIuC;IACU,mBAAmB,EAAE,QAAQ,GAAG,OAAO,CAAW;IAEnG;;;iGAG6F;IACZ,oBAAoB,UAAS;IAErG,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,cAAc,CAAS;IAEf,OAAO,CAAC,UAAU,CAAC,CAAiB;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAc;IAEzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IAEtD,OAAO,CAAC,OAAO,CAA6B;IAE5C;;;;;;;sDAOkD;IAClD,OAAO,CAAC,cAAc,CAA6B;IAEnD;;;;;;iBAMa;IACb,OAAO,CAAC,UAAU,CAAQ;IAE1B;;;2CAGuC;IACvC,IAAI,MAAM,IAAI,iBAAiB,CAE9B;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAMlC;IAED,SAAS,CAAC,UAAU,IAAI,IAAI,CAO3B;IAED,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAM/C;IAED,OAAO,CAAC,UAAU;IAIlB,OAAO,KAAK,mBAAmB,GAI9B;IAED,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,oBAAoB;IAa5B,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,uBAAuB,CAE7B;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,YAAY,CAQlB;IAEF,MAAM,IAAI,cAAc,CA4DvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,eAAe,CAAC;KACpC;CACF"}
1
+ {"version":3,"file":"chat-message.class.d.ts","sourceRoot":"","sources":["../../../src/components/chat-message/chat-message.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,cAAc,EAA0B,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAE3G,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAK7D,OAAO,qCAAqC,CAAC;AAG7C,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,WAAW,GAAG,QAAQ,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,GAAG,WAAW,CAAC;AAkD5E,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;IACnC,oBAAoB,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;CAC5C;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyFG;AACH,qBAAa,eAAgB,SAAQ,WAAW,CAAC,uBAAuB,CAAC;IACvE,MAAM,CAAC,MAAM,iCAAgC;IAO7C,MAAM,CAAC,UAAU;QACf,MAAM;YAAI,OAAO;YAAQ,UAAU;;MACnC;IAEF,6EAA6E;IACxB,IAAI,EAAE,eAAe,CAAe;IAEzF;;6DAEyD;IACzB,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAE1D;;;wDAGoD;IACpB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IAEzE,+DAA+D;IACnB,WAAW,UAAS;IAEhE;;;0CAGsC;IACM,SAAS,UAAS;IAE9D;;;;2CAIuC;IACU,mBAAmB,EAAE,QAAQ,GAAG,OAAO,CAAW;IAEnG;;;iGAG6F;IACZ,oBAAoB,UAAS;IAErG,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,cAAc,CAAS;IACxC;;;2DAGuD;IAC9C,OAAO,CAAC,cAAc,CAAS;IAEf,OAAO,CAAC,UAAU,CAAC,CAAiB;IACnC,OAAO,CAAC,QAAQ,CAAC,CAAc;IAEzD,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA+B;IAEtD,OAAO,CAAC,OAAO,CAA6B;IAE5C;;;;;;;sDAOkD;IAClD,OAAO,CAAC,cAAc,CAA6B;IAEnD;;;;;;iBAMa;IACb,OAAO,CAAC,UAAU,CAAQ;IAE1B;;;2CAGuC;IACvC,IAAI,MAAM,IAAI,iBAAiB,CAE9B;IACD,IAAI,MAAM,CAAC,KAAK,EAAE,iBAAiB,EAMlC;IAED,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CA+BlD;IAED,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAM/C;IAED,OAAO,CAAC,UAAU;IAIlB;;;;gCAI4B;IAC5B,OAAO,CAAC,wBAAwB;IAMhC,OAAO,KAAK,mBAAmB,GAI9B;IAED,OAAO,KAAK,UAAU,GAErB;IAED,OAAO,CAAC,oBAAoB;IAiB5B,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,kBAAkB,CAExB;IAEF,OAAO,CAAC,uBAAuB,CAE7B;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,mBAAmB,CAEzB;IAEF,OAAO,CAAC,eAAe,CAGrB;IAEF,OAAO,CAAC,YAAY,CAQlB;IAEF,MAAM,IAAI,cAAc,CAmEvB;CACF;AAGD,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,iBAAiB,EAAE,eAAe,CAAC;KACpC;CACF"}