@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,140 @@
1
+ import { type TemplateResult, type PropertyValues } from 'lit';
2
+ import { LyraElement } from '../../internal/lyra-element.js';
3
+ import type { ToolInvocation, ToolApprovalEventDetail } from '../../ai/types.js';
4
+ import '../tool-call-chip/tool-call-chip.js';
5
+ import '../tool-result-view/tool-result-view.js';
6
+ import '../tool-approval-dialog/tool-approval-dialog.js';
7
+ import '../details/details.js';
8
+ /**
9
+ * One entry in a `<lr-tool-timeline>`. Extends `ToolInvocation` (`src/ai/types.ts`) with exactly
10
+ * the timeline-specific fields the roadmap calls for that a bare invocation record doesn't carry
11
+ * on its own: when the call ran (`startedAt`/`endedAt`, from which duration is derived), how many
12
+ * times it was retried before landing on its current `status`, which of its `args`/`result`/
13
+ * `error` fields should render masked, and a human-in-the-loop approval decision. The inherited
14
+ * `ToolInvocation` fields still assign directly onto `<lr-tool-call-chip>`/`<lr-tool-result-view>`
15
+ * with no adapter, exactly as `ToolInvocation` itself already does.
16
+ */
17
+ export interface ToolTimelineEntry extends ToolInvocation {
18
+ /** Epoch milliseconds the call started. Entries are ordered by this field (ascending); an entry
19
+ * with no `startedAt` sorts after every timed entry, keeping its relative position among any
20
+ * other untimed entries, and renders with no visible timestamp. */
21
+ startedAt?: number;
22
+ /** Epoch milliseconds the call reached a terminal state. Paired with `startedAt` to derive the
23
+ * duration handed to `<lr-tool-call-chip>`'s own `durationMs` -- omitted (or paired with no
24
+ * `startedAt`) while still pending/running, or whenever the duration isn't known. */
25
+ endedAt?: number;
26
+ /** Number of retry attempts before this entry's current `status` -- `2` means the call reached
27
+ * its current state on its third try. Omitted or `0` renders no retry indicator. */
28
+ retryCount?: number;
29
+ /** Dotted field paths within `args`/`result`/`error` to mask in the rendered detail view, e.g.
30
+ * `['args.apiKey', 'result.rows.0.ssn']`, or the bare `'args'`/`'result'`/`'error'` to mask an
31
+ * entire branch. A path with no matching field is a no-op, never a thrown error. Never applied
32
+ * to the copy of `args` handed to the approval dialog -- see the class doc's approval note. */
33
+ redactedFields?: string[];
34
+ /** Whether this call is gated behind a human approval decision. While `true` and `approved` is
35
+ * still `undefined`, activating the entry's chip opens the shared approval dialog instead of
36
+ * merely firing the chip's own selection event. */
37
+ needsApproval?: boolean;
38
+ /** The approval decision, once made. `undefined` means still pending a decision. */
39
+ approved?: boolean;
40
+ }
41
+ /**
42
+ * `detail` for `lr-tool-approval-decide` -- extends the shared `ToolApprovalEventDetail`
43
+ * (`src/ai/types.ts`) with the (possibly host-edited) `args` the approval dialog produced,
44
+ * present only when `approved` is `true`. A listener that only cares about the shared
45
+ * `{ invocationId, approved }` shape can ignore `args` entirely; one driving actual tool
46
+ * execution needs it, since the dialog's optional inline editing step can hand back different
47
+ * arguments than the entry originally proposed.
48
+ */
49
+ export interface ToolTimelineApprovalDetail extends ToolApprovalEventDetail {
50
+ args?: unknown;
51
+ }
52
+ export interface LyraToolTimelineEventMap {
53
+ 'lr-tool-approval-decide': CustomEvent<ToolTimelineApprovalDetail>;
54
+ }
55
+ /**
56
+ * `<lr-tool-timeline>` — a chronological list of an agent run's tool/function calls, each
57
+ * rendered through `<lr-tool-call-chip>` (name/status/duration) and `<lr-tool-result-view>`
58
+ * (args/result), with per-entry retry counts, sensitive-field redaction, and a shared
59
+ * `<lr-tool-approval-dialog>` for entries gated behind a human approval decision. This component
60
+ * owns none of the actual per-call rendering -- that is entirely those three existing
61
+ * primitives -- its own job is ordering `entries` chronologically, computing each entry's
62
+ * duration from `startedAt`/`endedAt`, masking `redactedFields` before handing `args`/`result` to
63
+ * `<lr-tool-result-view>`, and opening/closing the one shared approval dialog for whichever entry
64
+ * is currently pending a decision.
65
+ *
66
+ * Ordering: `entries` is sorted ascending by `startedAt`; an entry with no `startedAt` sorts after
67
+ * every timed entry, keeping its position relative to any other untimed entries stable (input
68
+ * order is preserved among ties) — a still-pending call with no timestamp yet naturally lands at
69
+ * the end without needing to be pre-sorted by the host.
70
+ *
71
+ * Redaction only ever affects the read-only detail view: the copy of `args` handed to the
72
+ * approval dialog is always the entry's real, unmasked value. Approving a masked-args call must
73
+ * let the reviewer see (and, if `approvalEditable`, edit) what will actually be sent — handing the
74
+ * dialog a placeholder string in place of a real field would silently corrupt the decision.
75
+ *
76
+ * Approval: activating the chip (`lr-tool-call-chip-select`) of an entry with `needsApproval` and
77
+ * an undecided `approved` opens the shared dialog for that entry; approving or denying emits this
78
+ * component's own `lr-tool-approval-decide` and closes the dialog. This component never mutates
79
+ * `entries` itself — a host applies the decision (and any resulting status change) and re-assigns
80
+ * `entries`; if the entry currently under review disappears or no longer qualifies as pending
81
+ * (its `approved` was resolved some other way) by the time `entries` changes, the dialog closes on
82
+ * its own rather than staying open over stale data. A chip belonging to an entry that isn't
83
+ * pending approval is left alone — its own `lr-tool-call-chip-select` (and deprecated
84
+ * `lr-tool-chip-select` alias) still bubble out normally for a host that wants to react to raw
85
+ * chip selection for its own purposes.
86
+ *
87
+ * @customElement lr-tool-timeline
88
+ * @event lr-tool-approval-decide - A pending entry's approval dialog was resolved.
89
+ * `detail: { invocationId, approved, args? }` — `args` (the dialog's current, possibly
90
+ * host-edited arguments) is present only when `approved` is `true`.
91
+ * @csspart base - The root `<ol>`.
92
+ * @csspart entry - One entry's `<li>`; carries `data-status` (the entry's `status`) and
93
+ * `data-pending-approval` (`"true"`/`"false"`).
94
+ * @csspart entry-marker - The decorative rail dot/connector for one entry.
95
+ * @csspart entry-body - Wrapper around one entry's header and details.
96
+ * @csspart entry-header - Wrapper around the timestamp, chip, retry badge, and approval status.
97
+ * @csspart entry-timestamp - The formatted `startedAt`, only rendered while it's set.
98
+ * @csspart entry-retries - The retry-count badge, only rendered while `retryCount > 0`.
99
+ * @csspart entry-retries-label - The localized "Retry" text within the retry badge.
100
+ * @csspart entry-retries-count - The formatted retry count within the retry badge.
101
+ * @csspart entry-approval-status - The "Approved"/"Denied" badge, only rendered once `approved`
102
+ * is set; carries `data-decision` (`"approved"`/`"denied"`).
103
+ * @csspart entry-redacted-indicator - A decorative marker shown when `redactedFields` is
104
+ * non-empty for that entry.
105
+ * @csspart entry-details - The `<lr-details>` disclosure wrapping the entry's result view.
106
+ * @csspart entry-result - The entry's `<lr-tool-result-view>`.
107
+ * @csspart entry-error - The entry's `error` text, only rendered when set.
108
+ * @csspart approval-dialog - The single shared `<lr-tool-approval-dialog>` instance.
109
+ * @cssprop [--lr-tool-timeline-gap=var(--lr-space-l)] - Vertical gap between entries.
110
+ */
111
+ export declare class LyraToolTimeline extends LyraElement<LyraToolTimelineEventMap> {
112
+ static styles: import("lit").CSSResultGroup[];
113
+ /** The calls to render, in any order — see the class doc's ordering note. */
114
+ entries: ToolTimelineEntry[];
115
+ /** Forwarded to the shared approval dialog's own `editable` — whether a reviewer can edit an
116
+ * entry's arguments before approving it. */
117
+ approvalEditable: boolean;
118
+ /** Overrides the default `hour:minute` rendering of every entry's `startedAt`. */
119
+ formatTimestamp?: (date: Date) => string;
120
+ /** The `id` of the entry currently under review in the shared approval dialog, or `undefined`
121
+ * while it's closed. */
122
+ private reviewingEntryId?;
123
+ protected willUpdate(changed: PropertyValues): void;
124
+ private get sortedEntries();
125
+ private get reviewingEntry();
126
+ private durationFor;
127
+ private normalizedDate;
128
+ private onChipSelect;
129
+ private onDialogApprove;
130
+ private onDialogDeny;
131
+ private onDialogClose;
132
+ private entryTemplate;
133
+ render(): TemplateResult;
134
+ }
135
+ declare global {
136
+ interface HTMLElementTagNameMap {
137
+ 'lr-tool-timeline': LyraToolTimeline;
138
+ }
139
+ }
140
+ //# sourceMappingURL=tool-timeline.class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-timeline.class.d.ts","sourceRoot":"","sources":["../../../src/components/tool-timeline/tool-timeline.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAkC,MAAM,KAAK,CAAC;AAG9G,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAI7D,OAAO,KAAK,EAAE,cAAc,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAC;AAEjF,OAAO,qCAAqC,CAAC;AAC7C,OAAO,yCAAyC,CAAC;AACjD,OAAO,iDAAiD,CAAC;AACzD,OAAO,uBAAuB,CAAC;AAE/B;;;;;;;;GAQG;AACH,MAAM,WAAW,iBAAkB,SAAQ,cAAc;IACvD;;wEAEoE;IACpE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;0FAEsF;IACtF,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;yFACqF;IACrF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB;;;oGAGgG;IAChG,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B;;wDAEoD;IACpD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,0BAA2B,SAAQ,uBAAuB;IACzE,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,yBAAyB,EAAE,WAAW,CAAC,0BAA0B,CAAC,CAAC;CACpE;AAqDD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuDG;AACH,qBAAa,gBAAiB,SAAQ,WAAW,CAAC,wBAAwB,CAAC;IACzE,MAAM,CAAC,MAAM,iCAAgC;IAE7C,6EAA6E;IAC7C,OAAO,EAAE,iBAAiB,EAAE,CAAM;IAElE;iDAC6C;IAE7C,gBAAgB,UAAQ;IAExB,kFAAkF;IAClD,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,KAAK,MAAM,CAAC;IAEzE;6BACyB;IAChB,OAAO,CAAC,gBAAgB,CAAC,CAAS;IAE3C,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAOlD;IAED,OAAO,KAAK,aAAa,GASxB;IAED,OAAO,KAAK,cAAc,GAIzB;IAED,OAAO,CAAC,WAAW;IAMnB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,eAAe,CAUrB;IAEF,OAAO,CAAC,YAAY,CAMlB;IAEF,OAAO,CAAC,aAAa,CAGnB;IAEF,OAAO,CAAC,aAAa;IAkErB,MAAM,IAAI,cAAc,CAoBvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,kBAAkB,EAAE,gBAAgB,CAAC;KACtC;CACF"}
@@ -0,0 +1,293 @@
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, state } from 'lit/decorators.js';
9
+ import { repeat } from 'lit/directives/repeat.js';
10
+ import { LyraElement } from '../../internal/lyra-element.js';
11
+ import { getDateTimeFormat, getNumberFormat } from '../../internal/intl-cache.js';
12
+ import { finiteCount } from '../../internal/numbers.js';
13
+ import { eyeOffIcon } from '../../internal/icons.js';
14
+ import { styles } from './tool-timeline.styles.js';
15
+ import '../tool-call-chip/tool-call-chip.js';
16
+ import '../tool-result-view/tool-result-view.js';
17
+ import '../tool-approval-dialog/tool-approval-dialog.js';
18
+ import '../details/details.js';
19
+ /** `true`-defaulting boolean attribute converter for `approvalEditable` -- identical shape/
20
+ * rationale to `<lr-checkpoint>`'s own `trueDefaultBooleanConverter`, duplicated locally per this
21
+ * library's convention of not sharing these tiny converters across independently-consumable
22
+ * component files. Lit's default presence-based `type: Boolean` can never be set back to `false`
23
+ * from a plain-HTML attribute once the property's own default is `true` (removing an attribute
24
+ * that was never present fires no `attributeChangedCallback`), so `fromAttribute` checks the
25
+ * literal string instead. */
26
+ const trueDefaultBooleanConverter = {
27
+ fromAttribute(value) {
28
+ return value !== 'false';
29
+ },
30
+ toAttribute(value) {
31
+ return value ? null : 'false';
32
+ },
33
+ };
34
+ /** `hour:minute` in the component's effective locale -- identical algorithm to
35
+ * `<lr-checkpoint>`'s own `defaultFormatTimestamp`, duplicated locally. */
36
+ function defaultFormatTimestamp(date, locale) {
37
+ return getDateTimeFormat(locale || 'en', { hour: 'numeric', minute: '2-digit' }).format(date);
38
+ }
39
+ /**
40
+ * Returns a structural clone of `value` with every leaf/branch under `currentPath` that `paths`
41
+ * names replaced by `placeholder`. A path with no corresponding field in `value` is simply never
42
+ * visited -- `Object.entries` only iterates real keys -- so a dangling path degrades gracefully
43
+ * instead of throwing. Arrays are walked with numeric-index path segments (`args.rows.0.ssn`);
44
+ * every other non-plain-object value below an unmasked branch is treated as an opaque leaf.
45
+ */
46
+ function redactBranch(value, currentPath, paths, placeholder) {
47
+ if (paths.includes(currentPath))
48
+ return placeholder;
49
+ if (!paths.some((p) => p.startsWith(`${currentPath}.`)))
50
+ return value;
51
+ if (Array.isArray(value)) {
52
+ return value.map((item, index) => redactBranch(item, `${currentPath}.${index}`, paths, placeholder));
53
+ }
54
+ if (value !== null && typeof value === 'object') {
55
+ const result = {};
56
+ for (const [key, item] of Object.entries(value)) {
57
+ result[key] = redactBranch(item, `${currentPath}.${key}`, paths, placeholder);
58
+ }
59
+ return result;
60
+ }
61
+ return value;
62
+ }
63
+ /** Entry point for `redactBranch()` -- a no-op (returns `value` unchanged) whenever `paths` is
64
+ * empty, so the common unredacted case never allocates a clone. */
65
+ function redactField(value, root, paths, placeholder) {
66
+ return paths.length === 0 ? value : redactBranch(value, root, paths, placeholder);
67
+ }
68
+ /**
69
+ * `<lr-tool-timeline>` — a chronological list of an agent run's tool/function calls, each
70
+ * rendered through `<lr-tool-call-chip>` (name/status/duration) and `<lr-tool-result-view>`
71
+ * (args/result), with per-entry retry counts, sensitive-field redaction, and a shared
72
+ * `<lr-tool-approval-dialog>` for entries gated behind a human approval decision. This component
73
+ * owns none of the actual per-call rendering -- that is entirely those three existing
74
+ * primitives -- its own job is ordering `entries` chronologically, computing each entry's
75
+ * duration from `startedAt`/`endedAt`, masking `redactedFields` before handing `args`/`result` to
76
+ * `<lr-tool-result-view>`, and opening/closing the one shared approval dialog for whichever entry
77
+ * is currently pending a decision.
78
+ *
79
+ * Ordering: `entries` is sorted ascending by `startedAt`; an entry with no `startedAt` sorts after
80
+ * every timed entry, keeping its position relative to any other untimed entries stable (input
81
+ * order is preserved among ties) — a still-pending call with no timestamp yet naturally lands at
82
+ * the end without needing to be pre-sorted by the host.
83
+ *
84
+ * Redaction only ever affects the read-only detail view: the copy of `args` handed to the
85
+ * approval dialog is always the entry's real, unmasked value. Approving a masked-args call must
86
+ * let the reviewer see (and, if `approvalEditable`, edit) what will actually be sent — handing the
87
+ * dialog a placeholder string in place of a real field would silently corrupt the decision.
88
+ *
89
+ * Approval: activating the chip (`lr-tool-call-chip-select`) of an entry with `needsApproval` and
90
+ * an undecided `approved` opens the shared dialog for that entry; approving or denying emits this
91
+ * component's own `lr-tool-approval-decide` and closes the dialog. This component never mutates
92
+ * `entries` itself — a host applies the decision (and any resulting status change) and re-assigns
93
+ * `entries`; if the entry currently under review disappears or no longer qualifies as pending
94
+ * (its `approved` was resolved some other way) by the time `entries` changes, the dialog closes on
95
+ * its own rather than staying open over stale data. A chip belonging to an entry that isn't
96
+ * pending approval is left alone — its own `lr-tool-call-chip-select` (and deprecated
97
+ * `lr-tool-chip-select` alias) still bubble out normally for a host that wants to react to raw
98
+ * chip selection for its own purposes.
99
+ *
100
+ * @customElement lr-tool-timeline
101
+ * @event lr-tool-approval-decide - A pending entry's approval dialog was resolved.
102
+ * `detail: { invocationId, approved, args? }` — `args` (the dialog's current, possibly
103
+ * host-edited arguments) is present only when `approved` is `true`.
104
+ * @csspart base - The root `<ol>`.
105
+ * @csspart entry - One entry's `<li>`; carries `data-status` (the entry's `status`) and
106
+ * `data-pending-approval` (`"true"`/`"false"`).
107
+ * @csspart entry-marker - The decorative rail dot/connector for one entry.
108
+ * @csspart entry-body - Wrapper around one entry's header and details.
109
+ * @csspart entry-header - Wrapper around the timestamp, chip, retry badge, and approval status.
110
+ * @csspart entry-timestamp - The formatted `startedAt`, only rendered while it's set.
111
+ * @csspart entry-retries - The retry-count badge, only rendered while `retryCount > 0`.
112
+ * @csspart entry-retries-label - The localized "Retry" text within the retry badge.
113
+ * @csspart entry-retries-count - The formatted retry count within the retry badge.
114
+ * @csspart entry-approval-status - The "Approved"/"Denied" badge, only rendered once `approved`
115
+ * is set; carries `data-decision` (`"approved"`/`"denied"`).
116
+ * @csspart entry-redacted-indicator - A decorative marker shown when `redactedFields` is
117
+ * non-empty for that entry.
118
+ * @csspart entry-details - The `<lr-details>` disclosure wrapping the entry's result view.
119
+ * @csspart entry-result - The entry's `<lr-tool-result-view>`.
120
+ * @csspart entry-error - The entry's `error` text, only rendered when set.
121
+ * @csspart approval-dialog - The single shared `<lr-tool-approval-dialog>` instance.
122
+ * @cssprop [--lr-tool-timeline-gap=var(--lr-space-l)] - Vertical gap between entries.
123
+ */
124
+ export class LyraToolTimeline extends LyraElement {
125
+ constructor() {
126
+ super(...arguments);
127
+ /** The calls to render, in any order — see the class doc's ordering note. */
128
+ this.entries = [];
129
+ /** Forwarded to the shared approval dialog's own `editable` — whether a reviewer can edit an
130
+ * entry's arguments before approving it. */
131
+ this.approvalEditable = true;
132
+ this.onDialogApprove = (event) => {
133
+ event.stopPropagation();
134
+ const invocationId = this.reviewingEntryId;
135
+ if (invocationId === undefined)
136
+ return;
137
+ this.reviewingEntryId = undefined;
138
+ this.emit('lr-tool-approval-decide', {
139
+ invocationId,
140
+ approved: true,
141
+ args: event.detail.args,
142
+ });
143
+ };
144
+ this.onDialogDeny = (event) => {
145
+ event.stopPropagation();
146
+ const invocationId = this.reviewingEntryId;
147
+ if (invocationId === undefined)
148
+ return;
149
+ this.reviewingEntryId = undefined;
150
+ this.emit('lr-tool-approval-decide', { invocationId, approved: false });
151
+ };
152
+ this.onDialogClose = (event) => {
153
+ event.stopPropagation();
154
+ this.reviewingEntryId = undefined;
155
+ };
156
+ }
157
+ static { this.styles = [LyraElement.styles, styles]; }
158
+ willUpdate(changed) {
159
+ if (changed.has('entries') && this.reviewingEntryId !== undefined) {
160
+ const still = this.entries.find((entry) => entry.id === this.reviewingEntryId);
161
+ if (!still || !(still.needsApproval && still.approved === undefined)) {
162
+ this.reviewingEntryId = undefined;
163
+ }
164
+ }
165
+ }
166
+ get sortedEntries() {
167
+ return this.entries
168
+ .map((entry, index) => ({ entry, index }))
169
+ .sort((a, b) => {
170
+ const ak = a.entry.startedAt ?? Number.POSITIVE_INFINITY;
171
+ const bk = b.entry.startedAt ?? Number.POSITIVE_INFINITY;
172
+ return ak !== bk ? ak - bk : a.index - b.index;
173
+ })
174
+ .map(({ entry }) => entry);
175
+ }
176
+ get reviewingEntry() {
177
+ return this.reviewingEntryId === undefined
178
+ ? undefined
179
+ : this.entries.find((entry) => entry.id === this.reviewingEntryId);
180
+ }
181
+ durationFor(entry) {
182
+ if (entry.startedAt == null || entry.endedAt == null)
183
+ return undefined;
184
+ const diff = entry.endedAt - entry.startedAt;
185
+ return Number.isFinite(diff) ? diff : undefined;
186
+ }
187
+ normalizedDate(ms) {
188
+ if (ms == null || !Number.isFinite(ms))
189
+ return undefined;
190
+ const date = new Date(ms);
191
+ return Number.isNaN(date.getTime()) ? undefined : date;
192
+ }
193
+ onChipSelect(entry) {
194
+ if (entry.needsApproval && entry.approved === undefined) {
195
+ this.reviewingEntryId = entry.id;
196
+ }
197
+ }
198
+ entryTemplate(entry, placeholder) {
199
+ const started = this.normalizedDate(entry.startedAt);
200
+ const durationMs = this.durationFor(entry);
201
+ const retryCount = finiteCount(entry.retryCount ?? 0);
202
+ const redactedFields = entry.redactedFields ?? [];
203
+ const redactedArgs = redactField(entry.args, 'args', redactedFields, placeholder);
204
+ const redactedResult = entry.result !== undefined ? redactField(entry.result, 'result', redactedFields, placeholder) : entry.result;
205
+ const redactedError = entry.error !== undefined && redactedFields.includes('error') ? placeholder : entry.error;
206
+ const pendingApproval = entry.needsApproval === true && entry.approved === undefined;
207
+ const formatter = this.formatTimestamp ?? ((date) => defaultFormatTimestamp(date, this.effectiveLocale));
208
+ return html `
209
+ <li
210
+ part="entry"
211
+ role="listitem"
212
+ data-status=${entry.status}
213
+ data-pending-approval=${pendingApproval ? 'true' : 'false'}
214
+ >
215
+ <span part="entry-marker" aria-hidden="true"></span>
216
+ <div part="entry-body">
217
+ <div part="entry-header">
218
+ ${started
219
+ ? html `<time part="entry-timestamp" datetime=${started.toISOString()}>${formatter(started)}</time>`
220
+ : nothing}
221
+ <lr-tool-call-chip
222
+ .name=${entry.name}
223
+ .status=${entry.status}
224
+ .durationMs=${durationMs}
225
+ call-id=${entry.id}
226
+ @lr-tool-call-chip-select=${() => this.onChipSelect(entry)}
227
+ ></lr-tool-call-chip>
228
+ ${retryCount > 0
229
+ ? html `<span part="entry-retries">
230
+ <span part="entry-retries-label">${this.localize('retry')}</span>
231
+ <span part="entry-retries-count">${getNumberFormat(this.effectiveLocale).format(retryCount)}</span>
232
+ </span>`
233
+ : nothing}
234
+ ${entry.approved === true
235
+ ? html `<span part="entry-approval-status" data-decision="approved"
236
+ >${this.localize('confirmApproved')}</span
237
+ >`
238
+ : entry.approved === false
239
+ ? html `<span part="entry-approval-status" data-decision="denied"
240
+ >${this.localize('confirmDenied')}</span
241
+ >`
242
+ : nothing}
243
+ ${redactedFields.length > 0
244
+ ? html `<span part="entry-redacted-indicator" aria-hidden="true">${eyeOffIcon()}</span>`
245
+ : nothing}
246
+ </div>
247
+ <lr-details part="entry-details">
248
+ <lr-tool-result-view
249
+ part="entry-result"
250
+ tool-name=${entry.name}
251
+ .args=${redactedArgs}
252
+ .result=${redactedResult}
253
+ ></lr-tool-result-view>
254
+ ${redactedError !== undefined ? html `<p part="entry-error">${redactedError}</p>` : nothing}
255
+ </lr-details>
256
+ </div>
257
+ </li>
258
+ `;
259
+ }
260
+ render() {
261
+ const entries = this.sortedEntries;
262
+ const reviewing = this.reviewingEntry;
263
+ const placeholder = this.localize('envListValueHidden');
264
+ return html `
265
+ <ol part="base" role="list" aria-label=${this.getAttribute('aria-label') || nothing}>
266
+ ${repeat(entries, (entry) => entry.id, (entry) => this.entryTemplate(entry, placeholder))}
267
+ </ol>
268
+ <lr-tool-approval-dialog
269
+ part="approval-dialog"
270
+ tool-name=${reviewing?.name ?? ''}
271
+ .args=${reviewing?.args ?? {}}
272
+ .editable=${this.approvalEditable}
273
+ ?open=${reviewing !== undefined}
274
+ @lr-approve=${this.onDialogApprove}
275
+ @lr-deny=${this.onDialogDeny}
276
+ @lr-close=${this.onDialogClose}
277
+ ></lr-tool-approval-dialog>
278
+ `;
279
+ }
280
+ }
281
+ __decorate([
282
+ property({ attribute: false })
283
+ ], LyraToolTimeline.prototype, "entries", void 0);
284
+ __decorate([
285
+ property({ type: Boolean, reflect: true, attribute: 'approval-editable', converter: trueDefaultBooleanConverter })
286
+ ], LyraToolTimeline.prototype, "approvalEditable", void 0);
287
+ __decorate([
288
+ property({ attribute: false })
289
+ ], LyraToolTimeline.prototype, "formatTimestamp", void 0);
290
+ __decorate([
291
+ state()
292
+ ], LyraToolTimeline.prototype, "reviewingEntryId", void 0);
293
+ //# sourceMappingURL=tool-timeline.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-timeline.class.js","sourceRoot":"","sources":["../../../src/components/tool-timeline/tool-timeline.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './tool-timeline.class.js';
2
+ //# sourceMappingURL=tool-timeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-timeline.d.ts","sourceRoot":"","sources":["../../../src/components/tool-timeline/tool-timeline.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './tool-timeline.class.js';
2
+ import { LyraToolTimeline } from './tool-timeline.class.js';
3
+ import { defineElement } from '../../internal/prefix.js';
4
+ defineElement('tool-timeline', LyraToolTimeline);
5
+ //# sourceMappingURL=tool-timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-timeline.js","sourceRoot":"","sources":["../../../src/components/tool-timeline/tool-timeline.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,aAAa,CAAC,eAAe,EAAE,gBAAgB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=tool-timeline.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-timeline.styles.d.ts","sourceRoot":"","sources":["../../../src/components/tool-timeline/tool-timeline.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBAiJlB,CAAC"}
@@ -0,0 +1,148 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: block;
5
+ --lr-tool-timeline-gap: var(--lr-space-l);
6
+ --lr-tool-timeline-marker-size: var(--lr-size-0-625rem);
7
+ }
8
+
9
+ [part='base'] {
10
+ display: flex;
11
+ flex-direction: column;
12
+ gap: var(--lr-tool-timeline-gap);
13
+ margin: 0;
14
+ padding: 0;
15
+ list-style: none;
16
+ }
17
+
18
+ [part='entry'] {
19
+ display: grid;
20
+ grid-template-columns: var(--lr-tool-timeline-marker-size) 1fr;
21
+ column-gap: var(--lr-space-m);
22
+ }
23
+
24
+ [part='entry-marker'] {
25
+ grid-column: 1;
26
+ grid-row: 1 / -1;
27
+ display: flex;
28
+ flex-direction: column;
29
+ align-items: center;
30
+ }
31
+ [part='entry-marker']::before {
32
+ content: '';
33
+ flex: 0 0 auto;
34
+ inline-size: var(--lr-tool-timeline-marker-size);
35
+ block-size: var(--lr-tool-timeline-marker-size);
36
+ margin-block-start: var(--lr-size-0-3em);
37
+ border-radius: var(--lr-radius-pill);
38
+ background: var(--lr-color-text-quiet);
39
+ }
40
+ [part='entry']:not(:last-child) [part='entry-marker']::after {
41
+ content: '';
42
+ flex: 1 1 auto;
43
+ inline-size: var(--lr-border-width-thin);
44
+ min-block-size: var(--lr-space-l);
45
+ margin-block-start: var(--lr-space-2xs);
46
+ background: var(--lr-color-border);
47
+ }
48
+ [part='entry'][data-status='running'] [part='entry-marker']::before {
49
+ background: var(--lr-color-brand);
50
+ }
51
+ [part='entry'][data-status='success'] [part='entry-marker']::before {
52
+ background: var(--lr-color-success);
53
+ }
54
+ [part='entry'][data-status='error'] [part='entry-marker']::before {
55
+ background: var(--lr-color-danger);
56
+ }
57
+ [part='entry'][data-status='denied'] [part='entry-marker']::before {
58
+ background: var(--lr-color-warning);
59
+ }
60
+
61
+ [part='entry-body'] {
62
+ grid-column: 2;
63
+ display: flex;
64
+ flex-direction: column;
65
+ gap: var(--lr-space-2xs);
66
+ min-inline-size: 0;
67
+ }
68
+
69
+ [part='entry-header'] {
70
+ display: flex;
71
+ flex-wrap: wrap;
72
+ align-items: center;
73
+ gap: var(--lr-space-s);
74
+ }
75
+
76
+ [part='entry'][data-pending-approval='true'] [part='entry-body'] {
77
+ padding-inline-start: var(--lr-space-s);
78
+ border-inline-start: var(--lr-border-width-medium) solid var(--lr-color-warning);
79
+ }
80
+
81
+ [part='entry-timestamp'] {
82
+ flex: 0 0 auto;
83
+ font-size: var(--lr-font-size-xs);
84
+ color: var(--lr-color-text-quiet);
85
+ font-variant-numeric: tabular-nums;
86
+ }
87
+
88
+ lr-tool-call-chip {
89
+ min-inline-size: 0;
90
+ max-inline-size: 100%;
91
+ }
92
+
93
+ [part='entry-retries'] {
94
+ display: inline-flex;
95
+ align-items: baseline;
96
+ gap: var(--lr-size-0-3em);
97
+ padding: var(--lr-size-0-1rem) var(--lr-space-xs);
98
+ border-radius: var(--lr-radius-pill);
99
+ background: var(--lr-color-surface-raised);
100
+ font-size: var(--lr-font-size-xs);
101
+ color: var(--lr-color-text-quiet);
102
+ }
103
+ [part='entry-retries-count'] {
104
+ font-variant-numeric: tabular-nums;
105
+ font-weight: var(--lr-font-weight-semibold);
106
+ color: var(--lr-color-text);
107
+ }
108
+
109
+ [part='entry-approval-status'] {
110
+ flex: 0 0 auto;
111
+ padding: var(--lr-size-0-1rem) var(--lr-space-xs);
112
+ border-radius: var(--lr-radius-pill);
113
+ font-size: var(--lr-font-size-xs);
114
+ font-weight: var(--lr-font-weight-semibold);
115
+ text-transform: uppercase;
116
+ letter-spacing: var(--lr-size-0-03em);
117
+ }
118
+ [part='entry-approval-status'][data-decision='approved'] {
119
+ background: var(--lr-color-success-quiet);
120
+ color: var(--lr-color-success);
121
+ }
122
+ [part='entry-approval-status'][data-decision='denied'] {
123
+ background: var(--lr-color-danger-quiet);
124
+ color: var(--lr-color-danger);
125
+ }
126
+
127
+ [part='entry-redacted-indicator'] {
128
+ display: inline-flex;
129
+ flex: 0 0 auto;
130
+ color: var(--lr-color-text-quiet);
131
+ }
132
+ [part='entry-redacted-indicator'] svg {
133
+ inline-size: var(--lr-size-0-875em);
134
+ block-size: var(--lr-size-0-875em);
135
+ }
136
+
137
+ [part='entry-details'] {
138
+ font-size: var(--lr-font-size-sm);
139
+ }
140
+
141
+ [part='entry-error'] {
142
+ margin: 0;
143
+ color: var(--lr-color-danger);
144
+ font-size: var(--lr-font-size-sm);
145
+ white-space: pre-wrap;
146
+ }
147
+ `;
148
+ //# sourceMappingURL=tool-timeline.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tool-timeline.styles.js","sourceRoot":"","sources":["../../../src/components/tool-timeline/tool-timeline.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiJxB,CAAC"}