@mastra/playground-ui 67.0.0 → 68.0.0-alpha.1

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 (929) hide show
  1. package/dist/{ActionRow-BfK77pCT.cjs → ActionRow-BlC9GAef.cjs} +4 -4
  2. package/dist/ActionRow-BlC9GAef.cjs.map +1 -0
  3. package/dist/{ActionRow-Cd6tOC2K.js → ActionRow-DCrRCvBq.js} +4 -4
  4. package/dist/ActionRow-DCrRCvBq.js.map +1 -0
  5. package/dist/{Button-Bw1e3ONi.js → Button-CLXTbAY8.js} +42 -13
  6. package/dist/Button-CLXTbAY8.js.map +1 -0
  7. package/dist/{Button-YQRflC47.cjs → Button-DLcMcuUL.cjs} +58 -11
  8. package/dist/Button-DLcMcuUL.cjs.map +1 -0
  9. package/dist/{CodeEditor-CJ9jC9lu.cjs → CodeEditor-CLzs0yVc.cjs} +4 -4
  10. package/dist/{CodeEditor-CJ9jC9lu.cjs.map → CodeEditor-CLzs0yVc.cjs.map} +1 -1
  11. package/dist/{CodeEditor-CPVxj7WS.js → CodeEditor-COnz9c6B.js} +4 -4
  12. package/dist/{CodeEditor-CPVxj7WS.js.map → CodeEditor-COnz9c6B.js.map} +1 -1
  13. package/dist/{Comment-VFJq2wRp.js → Comment-0n98b_f_.js} +3 -3
  14. package/dist/{Comment-VFJq2wRp.js.map → Comment-0n98b_f_.js.map} +1 -1
  15. package/dist/{Comment-KYUQzeSu.cjs → Comment-Cg0f7eLa.cjs} +3 -3
  16. package/dist/{Comment-KYUQzeSu.cjs.map → Comment-Cg0f7eLa.cjs.map} +1 -1
  17. package/dist/{DataCodeSection-CZRPsStI.cjs → DataCodeSection-CcPmJPTp.cjs} +8 -8
  18. package/dist/{DataCodeSection-CZRPsStI.cjs.map → DataCodeSection-CcPmJPTp.cjs.map} +1 -1
  19. package/dist/{DataCodeSection-Ckd47p_S.js → DataCodeSection-KJRyRD1Q.js} +6 -6
  20. package/dist/{DataCodeSection-Ckd47p_S.js.map → DataCodeSection-KJRyRD1Q.js.map} +1 -1
  21. package/dist/{DataDetailsPanel-_CK0Huk6.js → DataDetailsPanel-CohEKPm4.js} +5 -5
  22. package/dist/{DataDetailsPanel-_CK0Huk6.js.map → DataDetailsPanel-CohEKPm4.js.map} +1 -1
  23. package/dist/{DataDetailsPanel-DFhM9H5D.cjs → DataDetailsPanel-DiyjEXqK.cjs} +6 -6
  24. package/dist/{DataDetailsPanel-DFhM9H5D.cjs.map → DataDetailsPanel-DiyjEXqK.cjs.map} +1 -1
  25. package/dist/{DataList-2tIlQsLc.js → DataList-CUhRQAv6.js} +2 -2
  26. package/dist/{DataList-2tIlQsLc.js.map → DataList-CUhRQAv6.js.map} +1 -1
  27. package/dist/{DataList-Czwmwyvp.cjs → DataList-Cj0mfk19.cjs} +2 -2
  28. package/dist/{DataList-Czwmwyvp.cjs.map → DataList-Cj0mfk19.cjs.map} +1 -1
  29. package/dist/{DataPanel-CY1W5LHJ.js → DataPanel-Bv4M17xO.js} +3 -3
  30. package/dist/{DataPanel-CY1W5LHJ.js.map → DataPanel-Bv4M17xO.js.map} +1 -1
  31. package/dist/{DataPanel-C0Ll76Ne.cjs → DataPanel-BwB1Oifd.cjs} +3 -3
  32. package/dist/{DataPanel-C0Ll76Ne.cjs.map → DataPanel-BwB1Oifd.cjs.map} +1 -1
  33. package/dist/{Dialog-CjaiCrkv.cjs → Dialog-BvWF9HE-.cjs} +2 -2
  34. package/dist/{Dialog-CjaiCrkv.cjs.map → Dialog-BvWF9HE-.cjs.map} +1 -1
  35. package/dist/{Dialog-CKtTR8h3.js → Dialog-DaWtxwd9.js} +2 -2
  36. package/dist/{Dialog-CKtTR8h3.js.map → Dialog-DaWtxwd9.js.map} +1 -1
  37. package/dist/{ErrorBoundary-Bm0LL_b7.cjs → ErrorBoundary-B5GjmA6V.cjs} +2 -2
  38. package/dist/{ErrorBoundary-Bm0LL_b7.cjs.map → ErrorBoundary-B5GjmA6V.cjs.map} +1 -1
  39. package/dist/{ErrorBoundary-95_6A77S.js → ErrorBoundary-Cat3KU86.js} +2 -2
  40. package/dist/{ErrorBoundary-95_6A77S.js.map → ErrorBoundary-Cat3KU86.js.map} +1 -1
  41. package/dist/{FilterBar--4oguuVe.js → FilterBar-BO-vvvyq.js} +18 -22
  42. package/dist/FilterBar-BO-vvvyq.js.map +1 -0
  43. package/dist/{FilterBar-BUd4f7oi.cjs → FilterBar-Buw0tv51.cjs} +18 -22
  44. package/dist/FilterBar-Buw0tv51.cjs.map +1 -0
  45. package/dist/KnowledgePageGraph.css +11 -0
  46. package/dist/{LogsDataList-Cslabh8K.js → LogsDataList-BI2C5OJz.js} +2 -2
  47. package/dist/{LogsDataList-Cslabh8K.js.map → LogsDataList-BI2C5OJz.js.map} +1 -1
  48. package/dist/{LogsDataList-DMmxAt_t.cjs → LogsDataList-CCIfUPGo.cjs} +2 -2
  49. package/dist/{LogsDataList-DMmxAt_t.cjs.map → LogsDataList-CCIfUPGo.cjs.map} +1 -1
  50. package/dist/{MarkdownRenderer-DME2xKTk.js → MarkdownRenderer-2GOXQJEv.js} +3 -3
  51. package/dist/{MarkdownRenderer-DME2xKTk.js.map → MarkdownRenderer-2GOXQJEv.js.map} +1 -1
  52. package/dist/{MarkdownRenderer-CS6u5drO.cjs → MarkdownRenderer-CB8Z_CHc.cjs} +4 -4
  53. package/dist/{MarkdownRenderer-CS6u5drO.cjs.map → MarkdownRenderer-CB8Z_CHc.cjs.map} +1 -1
  54. package/dist/{Message-nVI6tMS3.js → Message-CWzi5F_Q.js} +2 -2
  55. package/dist/{Message-nVI6tMS3.js.map → Message-CWzi5F_Q.js.map} +1 -1
  56. package/dist/{Message-DsCNQpou.cjs → Message-jj56lxNL.cjs} +2 -2
  57. package/dist/{Message-DsCNQpou.cjs.map → Message-jj56lxNL.cjs.map} +1 -1
  58. package/dist/{Notice-CyKngbbv.js → Notice-C-8oOZZF.js} +2 -2
  59. package/dist/{Notice-CyKngbbv.js.map → Notice-C-8oOZZF.js.map} +1 -1
  60. package/dist/{Notice-DWNeCe-t.cjs → Notice-JZ7SW7q6.cjs} +2 -2
  61. package/dist/{Notice-DWNeCe-t.cjs.map → Notice-JZ7SW7q6.cjs.map} +1 -1
  62. package/dist/{Workflow-BVWvgDmI.js → Workflow-C3SlEdP-.js} +5 -5
  63. package/dist/{Workflow-BVWvgDmI.js.map → Workflow-C3SlEdP-.js.map} +1 -1
  64. package/dist/{Workflow-BeF6pIO9.cjs → Workflow-DSWQ-ROz.cjs} +5 -5
  65. package/dist/{Workflow-BeF6pIO9.cjs.map → Workflow-DSWQ-ROz.cjs.map} +1 -1
  66. package/dist/{activity-DAK8tj7r.cjs → activity-DyB5H3gF.cjs} +2 -2
  67. package/dist/{activity-DAK8tj7r.cjs.map → activity-DyB5H3gF.cjs.map} +1 -1
  68. package/dist/{activity-CM34JyW-.js → activity-rJ1NQl_2.js} +2 -2
  69. package/dist/{activity-CM34JyW-.js.map → activity-rJ1NQl_2.js.map} +1 -1
  70. package/dist/{ask-user-BdjH9F7G.js → ask-user-B225wzWc.js} +2 -2
  71. package/dist/{ask-user-BdjH9F7G.js.map → ask-user-B225wzWc.js.map} +1 -1
  72. package/dist/{ask-user-C82m_G9W.cjs → ask-user-DdYz56qH.cjs} +2 -2
  73. package/dist/{ask-user-C82m_G9W.cjs.map → ask-user-DdYz56qH.cjs.map} +1 -1
  74. package/dist/buttons-group-Dc6R7YSs.cjs +48 -0
  75. package/dist/buttons-group-Dc6R7YSs.cjs.map +1 -0
  76. package/dist/buttons-group-DkFlnMiL.js +35 -0
  77. package/dist/buttons-group-DkFlnMiL.js.map +1 -0
  78. package/dist/{ButtonsGroup.css → buttons-group.css} +2 -0
  79. package/dist/clear-filters-button-Buc973vw.cjs +27 -0
  80. package/dist/clear-filters-button-Buc973vw.cjs.map +1 -0
  81. package/dist/clear-filters-button-CNrRuHOY.js +22 -0
  82. package/dist/clear-filters-button-CNrRuHOY.js.map +1 -0
  83. package/dist/{combobox-8kNAJFlj.cjs → combobox-CMx2ayFN.cjs} +3 -3
  84. package/dist/{combobox-8kNAJFlj.cjs.map → combobox-CMx2ayFN.cjs.map} +1 -1
  85. package/dist/{combobox-wFudhN8F.js → combobox-CtCK0mNx.js} +3 -3
  86. package/dist/{combobox-wFudhN8F.js.map → combobox-CtCK0mNx.js.map} +1 -1
  87. package/dist/{combobox-parts-W7KRQUsV.js → combobox-parts-C1CugUAU.js} +11 -19
  88. package/dist/combobox-parts-C1CugUAU.js.map +1 -0
  89. package/dist/{combobox-parts-BZVXwbG7.cjs → combobox-parts-ScKcYjMR.cjs} +10 -18
  90. package/dist/combobox-parts-ScKcYjMR.cjs.map +1 -0
  91. package/dist/components/ActionRow.cjs.js +1 -1
  92. package/dist/components/ActionRow.es.js +1 -1
  93. package/dist/components/AlertDialog.cjs.js +2 -2
  94. package/dist/components/AlertDialog.es.js +2 -2
  95. package/dist/components/Button.cjs.js +4 -1
  96. package/dist/components/Button.es.js +2 -2
  97. package/dist/components/ButtonsGroup.cjs.js +3 -38
  98. package/dist/components/ButtonsGroup.es.js +1 -35
  99. package/dist/components/ClampedText.cjs.js +1 -1
  100. package/dist/components/ClampedText.es.js +1 -1
  101. package/dist/components/ClearFiltersButton.cjs.js +3 -0
  102. package/dist/components/ClearFiltersButton.d.ts +1 -0
  103. package/dist/components/ClearFiltersButton.es.js +1 -0
  104. package/dist/components/CodeBlock.cjs.js +3 -3
  105. package/dist/components/CodeBlock.es.js +3 -3
  106. package/dist/components/CodeEditor.cjs.js +1 -1
  107. package/dist/components/CodeEditor.es.js +1 -1
  108. package/dist/components/CollapsibleBox.cjs.js +1 -1
  109. package/dist/components/CollapsibleBox.es.js +1 -1
  110. package/dist/components/Combobox.cjs.js +2 -2
  111. package/dist/components/Combobox.es.js +2 -2
  112. package/dist/components/Command.cjs.js +3 -2
  113. package/dist/components/Command.cjs.js.map +1 -1
  114. package/dist/components/Command.es.js +3 -2
  115. package/dist/components/Command.es.js.map +1 -1
  116. package/dist/components/Comment.cjs.js +1 -1
  117. package/dist/components/Comment.es.js +1 -1
  118. package/dist/components/CopyButton.cjs.js +1 -1
  119. package/dist/components/CopyButton.es.js +1 -1
  120. package/dist/components/DataCodeSection.cjs.js +1 -1
  121. package/dist/components/DataCodeSection.es.js +1 -1
  122. package/dist/components/DataDetailsPanel.cjs.js +1 -1
  123. package/dist/components/DataDetailsPanel.es.js +1 -1
  124. package/dist/components/DataList.cjs.js +3 -3
  125. package/dist/components/DataList.es.js +3 -3
  126. package/dist/components/DataPanel.cjs.js +1 -1
  127. package/dist/components/DataPanel.es.js +1 -1
  128. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  129. package/dist/components/DateRangeTimeline.es.js +1 -1
  130. package/dist/components/DateTimePicker.cjs.js +2 -2
  131. package/dist/components/DateTimePicker.es.js +2 -2
  132. package/dist/components/DateTimeRangePicker.cjs.js +2 -2
  133. package/dist/components/DateTimeRangePicker.es.js +1 -1
  134. package/dist/components/Dialog.cjs.js +1 -1
  135. package/dist/components/Dialog.es.js +1 -1
  136. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  137. package/dist/components/DisabledFeatureButton.es.js +1 -1
  138. package/dist/components/Drawer.cjs.js +1 -1
  139. package/dist/components/Drawer.es.js +1 -1
  140. package/dist/components/EnvironmentVariablesEditor.cjs.js +4 -4
  141. package/dist/components/EnvironmentVariablesEditor.es.js +4 -4
  142. package/dist/components/ErrorBoundary.cjs.js +1 -1
  143. package/dist/components/ErrorBoundary.es.js +1 -1
  144. package/dist/components/FilterBar.cjs.js +7 -2
  145. package/dist/components/FilterBar.es.js +4 -3
  146. package/dist/components/FormFieldBlocks.cjs.js +2 -2
  147. package/dist/components/FormFieldBlocks.es.js +2 -2
  148. package/dist/components/InputGroup.cjs.js +1 -1
  149. package/dist/components/InputGroup.es.js +1 -1
  150. package/dist/components/InputNumber.cjs.js +2 -2
  151. package/dist/components/InputNumber.es.js +2 -2
  152. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  153. package/dist/components/JSONSchemaForm.es.js +2 -2
  154. package/dist/components/ListSearch.cjs.js +1 -1
  155. package/dist/components/ListSearch.es.js +1 -1
  156. package/dist/components/LogsDataList.cjs.js +2 -2
  157. package/dist/components/LogsDataList.es.js +2 -2
  158. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  159. package/dist/components/MarkdownRenderer.es.js +1 -1
  160. package/dist/components/Message.cjs.js +1 -1
  161. package/dist/components/Message.es.js +1 -1
  162. package/dist/components/Notice.cjs.js +1 -1
  163. package/dist/components/Notice.es.js +1 -1
  164. package/dist/components/PrevNextNav.cjs.js +1 -1
  165. package/dist/components/PrevNextNav.es.js +1 -1
  166. package/dist/components/PropertyFilter.cjs.js +3 -3
  167. package/dist/components/PropertyFilter.es.js +3 -3
  168. package/dist/components/RuleBuilder.cjs.js +2 -2
  169. package/dist/components/RuleBuilder.es.js +2 -2
  170. package/dist/components/SavedViews.cjs.js +4 -3
  171. package/dist/components/SavedViews.cjs.js.map +1 -1
  172. package/dist/components/SavedViews.es.js +4 -3
  173. package/dist/components/SavedViews.es.js.map +1 -1
  174. package/dist/components/SearchInput.cjs.js +5 -2
  175. package/dist/components/SearchInput.cjs.js.map +1 -1
  176. package/dist/components/SearchInput.es.js +5 -2
  177. package/dist/components/SearchInput.es.js.map +1 -1
  178. package/dist/components/Select.cjs.js +1 -1
  179. package/dist/components/Select.es.js +1 -1
  180. package/dist/components/SideDialog.cjs.js +5 -5
  181. package/dist/components/SideDialog.cjs.js.map +1 -1
  182. package/dist/components/SideDialog.es.js +4 -4
  183. package/dist/components/Sidebar.cjs.js +3 -3
  184. package/dist/components/Sidebar.es.js +3 -3
  185. package/dist/components/Tabs.cjs.js +2 -2
  186. package/dist/components/Tabs.es.js +2 -2
  187. package/dist/components/ThreadList.cjs.js +1 -1
  188. package/dist/components/ThreadList.es.js +1 -1
  189. package/dist/components/Toaster.cjs.js +2 -2
  190. package/dist/components/Toaster.es.js +2 -2
  191. package/dist/components/Truncate.cjs.js +1 -1
  192. package/dist/components/Truncate.es.js +1 -1
  193. package/dist/components/Workflow.cjs.js +1 -1
  194. package/dist/components/Workflow.es.js +1 -1
  195. package/dist/components/ai/activity.cjs.js +1 -1
  196. package/dist/components/ai/activity.es.js +1 -1
  197. package/dist/components/ai/ask-user.cjs.js +1 -1
  198. package/dist/components/ai/ask-user.es.js +1 -1
  199. package/dist/components/ai/plan.cjs.js +2 -2
  200. package/dist/components/ai/plan.es.js +2 -2
  201. package/dist/components/ai/tool-approval.cjs.js +1 -1
  202. package/dist/components/ai/tool-approval.es.js +1 -1
  203. package/dist/components/ai/tool-call.cjs.js +2 -2
  204. package/dist/components/ai/tool-call.es.js +2 -2
  205. package/dist/{copy-button-CF-X4iDj.js → copy-button-BXrbevLn.js} +2 -2
  206. package/dist/{copy-button-CF-X4iDj.js.map → copy-button-BXrbevLn.js.map} +1 -1
  207. package/dist/{copy-button-BYEFKNpo.cjs → copy-button-DJAQ6_3o.cjs} +2 -2
  208. package/dist/{copy-button-BYEFKNpo.cjs.map → copy-button-DJAQ6_3o.cjs.map} +1 -1
  209. package/dist/{data-list-BkimqE_P.cjs → data-list-C4Vmq5HA.cjs} +2 -2
  210. package/dist/{data-list-BkimqE_P.cjs.map → data-list-C4Vmq5HA.cjs.map} +1 -1
  211. package/dist/{data-list-evmf5xWI.js → data-list-DHCOoLmj.js} +2 -2
  212. package/dist/{data-list-evmf5xWI.js.map → data-list-DHCOoLmj.js.map} +1 -1
  213. package/dist/{DateTimeRangePicker-HmPOHwAQ.cjs → date-time-range-picker-CTt7Od0P.cjs} +71 -57
  214. package/dist/date-time-range-picker-CTt7Od0P.cjs.map +1 -0
  215. package/dist/{DateTimeRangePicker-C_Lie_2P.js → date-time-range-picker-DKh1K9Iy.js} +72 -58
  216. package/dist/date-time-range-picker-DKh1K9Iy.js.map +1 -0
  217. package/dist/domains/auth/components/session-expired.cjs.js +2 -2
  218. package/dist/domains/auth/components/session-expired.es.js +2 -2
  219. package/dist/domains/chat/activity/activity-stretch-line.cjs.js +1 -1
  220. package/dist/domains/chat/activity/activity-stretch-line.es.js +1 -1
  221. package/dist/domains/chat/activity/components/activity-fold.cjs.js +1 -1
  222. package/dist/domains/chat/activity/components/activity-fold.es.js +1 -1
  223. package/dist/domains/chat/activity/components/activity-timed-trigger.cjs.js +1 -1
  224. package/dist/domains/chat/activity/components/activity-timed-trigger.es.js +1 -1
  225. package/dist/domains/chat/activity/components/calls-panel.cjs.js +1 -1
  226. package/dist/domains/chat/activity/components/calls-panel.es.js +1 -1
  227. package/dist/domains/chat/activity/components/stretch-content.cjs.js +1 -1
  228. package/dist/domains/chat/activity/components/stretch-content.es.js +1 -1
  229. package/dist/domains/chat/activity/components/stretch-thought.cjs.js +1 -1
  230. package/dist/domains/chat/activity/components/stretch-thought.es.js +1 -1
  231. package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
  232. package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
  233. package/dist/domains/chat/activity/model/activity-words.cjs.js +2 -2
  234. package/dist/domains/chat/activity/model/activity-words.es.js +2 -2
  235. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  236. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  237. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  238. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  239. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  240. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  241. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  242. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  243. package/dist/domains/chat/knowledge/knowledge-links.cjs.js +40 -0
  244. package/dist/domains/chat/knowledge/knowledge-links.cjs.js.map +1 -0
  245. package/dist/domains/chat/knowledge/knowledge-links.d.ts +1 -0
  246. package/dist/domains/chat/knowledge/knowledge-links.es.js +38 -0
  247. package/dist/domains/chat/knowledge/knowledge-links.es.js.map +1 -0
  248. package/dist/domains/chat/knowledge/pinned-knowledge-data.cjs.js +79 -0
  249. package/dist/domains/chat/knowledge/pinned-knowledge-data.cjs.js.map +1 -0
  250. package/dist/domains/chat/knowledge/pinned-knowledge-data.d.ts +1 -0
  251. package/dist/domains/chat/knowledge/pinned-knowledge-data.es.js +77 -0
  252. package/dist/domains/chat/knowledge/pinned-knowledge-data.es.js.map +1 -0
  253. package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js +124 -0
  254. package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js.map +1 -0
  255. package/dist/domains/chat/knowledge/pinned-knowledge.d.ts +1 -0
  256. package/dist/domains/chat/knowledge/pinned-knowledge.es.js +123 -0
  257. package/dist/domains/chat/knowledge/pinned-knowledge.es.js.map +1 -0
  258. package/dist/domains/chat/knowledge.cjs.js +12 -0
  259. package/dist/domains/chat/knowledge.d.ts +1 -0
  260. package/dist/domains/chat/knowledge.es.js +5 -0
  261. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
  262. package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
  263. package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -5
  264. package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
  265. package/dist/domains/chat/messages/message-row.cjs.js +4 -4
  266. package/dist/domains/chat/messages/message-row.es.js +4 -4
  267. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  268. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  269. package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
  270. package/dist/domains/chat/messages/reasoning-content.es.js +1 -1
  271. package/dist/domains/chat/messages/renderers/message-text.cjs.js +2 -2
  272. package/dist/domains/chat/messages/renderers/message-text.es.js +2 -2
  273. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  274. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  275. package/dist/domains/chat/messages/renderers/status-renderers.cjs.js +1 -1
  276. package/dist/domains/chat/messages/renderers/status-renderers.es.js +1 -1
  277. package/dist/domains/chat/messages/signal-badge.cjs.js +8 -1
  278. package/dist/domains/chat/messages/signal-badge.cjs.js.map +1 -1
  279. package/dist/domains/chat/messages/signal-badge.es.js +8 -1
  280. package/dist/domains/chat/messages/signal-badge.es.js.map +1 -1
  281. package/dist/domains/chat/messages/skill-message.cjs.js +2 -2
  282. package/dist/domains/chat/messages/skill-message.es.js +2 -2
  283. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  284. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  285. package/dist/domains/chat/messages/tripwire-notice.cjs.js +2 -2
  286. package/dist/domains/chat/messages/tripwire-notice.es.js +2 -2
  287. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  288. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  289. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
  290. package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
  291. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  292. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  293. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  294. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  295. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
  296. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
  297. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
  298. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
  299. package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js +273 -0
  300. package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js.map +1 -0
  301. package/dist/domains/chat/tools/badges/knowledge-tool-badge.d.ts +1 -0
  302. package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js +270 -0
  303. package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js.map +1 -0
  304. package/dist/domains/chat/tools/badges/mcp-task-chip.cjs.js +1 -1
  305. package/dist/domains/chat/tools/badges/mcp-task-chip.es.js +1 -1
  306. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
  307. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
  308. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
  309. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
  310. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  311. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  312. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +2 -2
  313. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +2 -2
  314. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  315. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  316. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +4 -4
  317. package/dist/domains/chat/tools/badges/tool-badge.es.js +4 -4
  318. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +4 -4
  319. package/dist/domains/chat/tools/badges/workflow-badge.es.js +4 -4
  320. package/dist/domains/chat/tools/connect-prompt-tool.cjs.js +3 -3
  321. package/dist/domains/chat/tools/connect-prompt-tool.es.js +3 -3
  322. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +1 -1
  323. package/dist/domains/chat/tools/submit-plan-tool.es.js +1 -1
  324. package/dist/domains/chat/tools/tool-card-kind.cjs.js +4 -2
  325. package/dist/domains/chat/tools/tool-card-kind.cjs.js.map +1 -1
  326. package/dist/domains/chat/tools/tool-card-kind.es.js +4 -2
  327. package/dist/domains/chat/tools/tool-card-kind.es.js.map +1 -1
  328. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  329. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  330. package/dist/domains/chat/tools/tool-groups.cjs.js +3 -2
  331. package/dist/domains/chat/tools/tool-groups.cjs.js.map +1 -1
  332. package/dist/domains/chat/tools/tool-groups.es.js +3 -2
  333. package/dist/domains/chat/tools/tool-groups.es.js.map +1 -1
  334. package/dist/domains/chat.cjs.js +11 -0
  335. package/dist/domains/chat.es.js +5 -1
  336. package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +1 -1
  337. package/dist/domains/dashboards/components/dashboard-renderer.es.js +1 -1
  338. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +4 -4
  339. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +4 -4
  340. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.cjs.js +1 -1
  341. package/dist/domains/datasets/components/add-dataset-item-dialog/dataset-picker.es.js +1 -1
  342. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +3 -3
  343. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +3 -3
  344. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +5 -5
  345. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +5 -5
  346. package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js +438 -0
  347. package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js.map +1 -0
  348. package/dist/domains/knowledge/components/KnowledgePageDetail.d.ts +1 -0
  349. package/dist/domains/knowledge/components/KnowledgePageDetail.es.js +436 -0
  350. package/dist/domains/knowledge/components/KnowledgePageDetail.es.js.map +1 -0
  351. package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js +521 -0
  352. package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js.map +1 -0
  353. package/dist/domains/knowledge/components/KnowledgePageExplorer.d.ts +1 -0
  354. package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js +520 -0
  355. package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js.map +1 -0
  356. package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js +626 -0
  357. package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js.map +1 -0
  358. package/dist/domains/knowledge/components/KnowledgePageGraph.d.ts +1 -0
  359. package/dist/domains/knowledge/components/KnowledgePageGraph.es.js +625 -0
  360. package/dist/domains/knowledge/components/KnowledgePageGraph.es.js.map +1 -0
  361. package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js +170 -0
  362. package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js.map +1 -0
  363. package/dist/domains/knowledge/components/KnowledgePageTree.d.ts +1 -0
  364. package/dist/domains/knowledge/components/KnowledgePageTree.es.js +168 -0
  365. package/dist/domains/knowledge/components/KnowledgePageTree.es.js.map +1 -0
  366. package/dist/domains/knowledge/hooks/useInteractionIdle.cjs.js +37 -0
  367. package/dist/domains/knowledge/hooks/useInteractionIdle.cjs.js.map +1 -0
  368. package/dist/domains/knowledge/hooks/useInteractionIdle.d.ts +1 -0
  369. package/dist/domains/knowledge/hooks/useInteractionIdle.es.js +35 -0
  370. package/dist/domains/knowledge/hooks/useInteractionIdle.es.js.map +1 -0
  371. package/dist/domains/knowledge/lib/layout.cjs.js +93 -0
  372. package/dist/domains/knowledge/lib/layout.cjs.js.map +1 -0
  373. package/dist/domains/knowledge/lib/layout.d.ts +1 -0
  374. package/dist/domains/knowledge/lib/layout.es.js +92 -0
  375. package/dist/domains/knowledge/lib/layout.es.js.map +1 -0
  376. package/dist/domains/knowledge/lib/pageGraph.cjs.js +135 -0
  377. package/dist/domains/knowledge/lib/pageGraph.cjs.js.map +1 -0
  378. package/dist/domains/knowledge/lib/pageGraph.d.ts +1 -0
  379. package/dist/domains/knowledge/lib/pageGraph.es.js +128 -0
  380. package/dist/domains/knowledge/lib/pageGraph.es.js.map +1 -0
  381. package/dist/domains/knowledge/lib/pageLayout.cjs.js +49 -0
  382. package/dist/domains/knowledge/lib/pageLayout.cjs.js.map +1 -0
  383. package/dist/domains/knowledge/lib/pageLayout.d.ts +1 -0
  384. package/dist/domains/knowledge/lib/pageLayout.es.js +48 -0
  385. package/dist/domains/knowledge/lib/pageLayout.es.js.map +1 -0
  386. package/dist/domains/knowledge/lib/pageTree.cjs.js +98 -0
  387. package/dist/domains/knowledge/lib/pageTree.cjs.js.map +1 -0
  388. package/dist/domains/knowledge/lib/pageTree.d.ts +1 -0
  389. package/dist/domains/knowledge/lib/pageTree.es.js +94 -0
  390. package/dist/domains/knowledge/lib/pageTree.es.js.map +1 -0
  391. package/dist/domains/knowledge/lib/popupPlacement.cjs.js +22 -0
  392. package/dist/domains/knowledge/lib/popupPlacement.cjs.js.map +1 -0
  393. package/dist/domains/knowledge/lib/popupPlacement.d.ts +1 -0
  394. package/dist/domains/knowledge/lib/popupPlacement.es.js +21 -0
  395. package/dist/domains/knowledge/lib/popupPlacement.es.js.map +1 -0
  396. package/dist/domains/knowledge/lib/recordText.cjs.js +26 -0
  397. package/dist/domains/knowledge/lib/recordText.cjs.js.map +1 -0
  398. package/dist/domains/knowledge/lib/recordText.d.ts +1 -0
  399. package/dist/domains/knowledge/lib/recordText.es.js +25 -0
  400. package/dist/domains/knowledge/lib/recordText.es.js.map +1 -0
  401. package/dist/domains/knowledge/pageTypes.cjs.js +0 -0
  402. package/dist/domains/knowledge/pageTypes.d.ts +1 -0
  403. package/dist/domains/knowledge/pageTypes.es.js +0 -0
  404. package/dist/domains/logs/components/log-data-panel.cjs.js +6 -6
  405. package/dist/domains/logs/components/log-data-panel.cjs.js.map +1 -1
  406. package/dist/domains/logs/components/log-data-panel.es.js +4 -4
  407. package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
  408. package/dist/domains/logs/components/logs-list-view.es.js +2 -2
  409. package/dist/domains/logs/components/logs-saved-views.cjs.js +1 -1
  410. package/dist/domains/logs/components/logs-saved-views.es.js +1 -1
  411. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  412. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  413. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  414. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  415. package/dist/domains/logs/hooks/use-logs-filter-persistence.cjs.js +1 -1
  416. package/dist/domains/logs/hooks/use-logs-filter-persistence.es.js +1 -1
  417. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  418. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  419. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  420. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  421. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  422. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  423. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  424. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  425. package/dist/domains/metrics/components/date-range-selector.cjs.js +2 -2
  426. package/dist/domains/metrics/components/date-range-selector.cjs.js.map +1 -1
  427. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  428. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +4 -4
  429. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js.map +1 -1
  430. package/dist/domains/metrics/components/metrics-time-range-chip.es.js +4 -4
  431. package/dist/domains/metrics/components/metrics-time-range-chip.es.js.map +1 -1
  432. package/dist/domains/metrics/drilldown.cjs.js +1 -1
  433. package/dist/domains/metrics/drilldown.es.js +1 -1
  434. package/dist/domains/metrics/metrics-filters.cjs.js +1 -1
  435. package/dist/domains/metrics/metrics-filters.es.js +1 -1
  436. package/dist/domains/observability/hooks/use-observability-list-filters.cjs.js +1 -1
  437. package/dist/domains/observability/hooks/use-observability-list-filters.es.js +1 -1
  438. package/dist/domains/observability/observability-list-url-state.cjs.js +1 -1
  439. package/dist/domains/observability/observability-list-url-state.es.js +1 -1
  440. package/dist/domains/observability/saved-view-state.cjs.js +1 -1
  441. package/dist/domains/observability/saved-view-state.es.js +1 -1
  442. package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +1 -1
  443. package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -1
  444. package/dist/domains/observability/saved-views/saved-views-provider.cjs.js +3 -2
  445. package/dist/domains/observability/saved-views/saved-views-provider.cjs.js.map +1 -1
  446. package/dist/domains/observability/saved-views/saved-views-provider.es.js +3 -2
  447. package/dist/domains/observability/saved-views/saved-views-provider.es.js.map +1 -1
  448. package/dist/domains/observability/saved-views/saved-views-source.cjs.js.map +1 -1
  449. package/dist/domains/observability/saved-views/saved-views-source.es.js.map +1 -1
  450. package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js +3 -2
  451. package/dist/domains/observability/saved-views/use-hosted-saved-views.cjs.js.map +1 -1
  452. package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js +3 -2
  453. package/dist/domains/observability/saved-views/use-hosted-saved-views.es.js.map +1 -1
  454. package/dist/domains/observability/saved-views.cjs.js +1 -1
  455. package/dist/domains/observability/saved-views.es.js +1 -1
  456. package/dist/domains/observability.cjs.js +1 -1
  457. package/dist/domains/observability.es.js +1 -1
  458. package/dist/domains/scores/components/score-data-panel.cjs.js +2 -2
  459. package/dist/domains/scores/components/score-data-panel.es.js +2 -2
  460. package/dist/domains/scores/components/span-scoring.cjs.js +4 -4
  461. package/dist/domains/scores/components/span-scoring.es.js +4 -4
  462. package/dist/domains/scores/components/trace-scores-list.cjs.js +2 -2
  463. package/dist/domains/scores/components/trace-scores-list.es.js +2 -2
  464. package/dist/domains/scores/components/trace-scores-tab.cjs.js +1 -1
  465. package/dist/domains/scores/components/trace-scores-tab.es.js +1 -1
  466. package/dist/domains/skills/skill-simple-form.cjs.js +4 -4
  467. package/dist/domains/skills/skill-simple-form.cjs.js.map +1 -1
  468. package/dist/domains/skills/skill-simple-form.es.js +4 -4
  469. package/dist/domains/skills/skill-simple-form.es.js.map +1 -1
  470. package/dist/domains/spans/components/spans-explorer-body.cjs.js +8 -8
  471. package/dist/domains/spans/components/spans-explorer-body.cjs.js.map +1 -1
  472. package/dist/domains/spans/components/spans-explorer-body.es.js +8 -8
  473. package/dist/domains/spans/components/spans-explorer-body.es.js.map +1 -1
  474. package/dist/domains/spans/components/spans-filter-bar.cjs.js +5 -5
  475. package/dist/domains/spans/components/spans-filter-bar.cjs.js.map +1 -1
  476. package/dist/domains/spans/components/spans-filter-bar.es.js +5 -5
  477. package/dist/domains/spans/components/spans-filter-bar.es.js.map +1 -1
  478. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +5 -5
  479. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js.map +1 -1
  480. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +5 -5
  481. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js.map +1 -1
  482. package/dist/domains/spans/span-filters.cjs.js +2 -2
  483. package/dist/domains/spans/span-filters.cjs.js.map +1 -1
  484. package/dist/domains/spans/span-filters.es.js +2 -2
  485. package/dist/domains/spans/span-filters.es.js.map +1 -1
  486. package/dist/domains/threads/components/threads-explorer-body.cjs.js +8 -8
  487. package/dist/domains/threads/components/threads-explorer-body.cjs.js.map +1 -1
  488. package/dist/domains/threads/components/threads-explorer-body.es.js +8 -8
  489. package/dist/domains/threads/components/threads-explorer-body.es.js.map +1 -1
  490. package/dist/domains/threads/components/threads-filter-bar.cjs.js +5 -5
  491. package/dist/domains/threads/components/threads-filter-bar.cjs.js.map +1 -1
  492. package/dist/domains/threads/components/threads-filter-bar.es.js +5 -5
  493. package/dist/domains/threads/components/threads-filter-bar.es.js.map +1 -1
  494. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +5 -5
  495. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js.map +1 -1
  496. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +5 -5
  497. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js.map +1 -1
  498. package/dist/domains/threads/thread-filters.cjs.js +2 -2
  499. package/dist/domains/threads/thread-filters.cjs.js.map +1 -1
  500. package/dist/domains/threads/thread-filters.es.js +2 -2
  501. package/dist/domains/threads/thread-filters.es.js.map +1 -1
  502. package/dist/domains/traces/components/columns-menu/columns-menu.cjs.js +1 -1
  503. package/dist/domains/traces/components/columns-menu/columns-menu.es.js +1 -1
  504. package/dist/domains/traces/components/feedback-thread.cjs.js +3 -3
  505. package/dist/domains/traces/components/feedback-thread.es.js +3 -3
  506. package/dist/domains/traces/components/span-data-panel-view.cjs.js +5 -5
  507. package/dist/domains/traces/components/span-data-panel-view.es.js +5 -5
  508. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  509. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  510. package/dist/domains/traces/components/span-outcome.cjs.js +1 -1
  511. package/dist/domains/traces/components/span-outcome.es.js +1 -1
  512. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
  513. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
  514. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  515. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  516. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
  517. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
  518. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
  519. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
  520. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +3 -3
  521. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +3 -3
  522. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
  523. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
  524. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  525. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  526. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +2 -2
  527. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +2 -2
  528. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  529. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  530. package/dist/domains/traces/components/span-payload/span-processor-mutations.cjs.js +1 -1
  531. package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +1 -1
  532. package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +1 -1
  533. package/dist/domains/traces/components/span-payload/span-tools-section.es.js +1 -1
  534. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  535. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  536. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  537. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  538. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +2 -2
  539. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +2 -2
  540. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
  541. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
  542. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +1 -1
  543. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +1 -1
  544. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +1 -1
  545. package/dist/domains/traces/components/thread-view-by-trace.es.js +1 -1
  546. package/dist/domains/traces/components/trace-columns-menu.cjs.js +3 -4
  547. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  548. package/dist/domains/traces/components/trace-columns-menu.es.js +3 -4
  549. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  550. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +4 -4
  551. package/dist/domains/traces/components/trace-data-panel-view.es.js +4 -4
  552. package/dist/domains/traces/components/trace-data-panel.cjs.js +1 -1
  553. package/dist/domains/traces/components/trace-data-panel.es.js +1 -1
  554. package/dist/domains/traces/components/trace-details-view.cjs.js +1 -1
  555. package/dist/domains/traces/components/trace-details-view.es.js +1 -1
  556. package/dist/domains/traces/components/trace-error-cell.cjs.js +1 -1
  557. package/dist/domains/traces/components/trace-error-cell.es.js +1 -1
  558. package/dist/domains/traces/components/trace-error-summary.cjs.js +1 -1
  559. package/dist/domains/traces/components/trace-error-summary.es.js +1 -1
  560. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  561. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  562. package/dist/domains/traces/components/trace-span-panel.cjs.js +1 -1
  563. package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
  564. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  565. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  566. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
  567. package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
  568. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  569. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  570. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.cjs.js +1 -1
  571. package/dist/domains/traces/components/traces-explorer/traces-explorer-actions.es.js +1 -1
  572. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +5 -5
  573. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js.map +1 -1
  574. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +5 -5
  575. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js.map +1 -1
  576. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +1 -1
  577. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +1 -1
  578. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +1 -1
  579. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +1 -1
  580. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +5 -5
  581. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js.map +1 -1
  582. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +5 -5
  583. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js.map +1 -1
  584. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  585. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  586. package/dist/domains/traces/components/traces-list-view.cjs.js +2 -2
  587. package/dist/domains/traces/components/traces-list-view.es.js +2 -2
  588. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +2 -2
  589. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  590. package/dist/domains/traces/components/traces-page-skeleton.es.js +2 -2
  591. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  592. package/dist/domains/traces/components/traces-spans-switch.cjs.js +1 -1
  593. package/dist/domains/traces/components/traces-spans-switch.es.js +1 -1
  594. package/dist/domains/traces/hooks/use-download-trace-json.cjs.js +1 -1
  595. package/dist/domains/traces/hooks/use-download-trace-json.es.js +1 -1
  596. package/dist/domains/traces/trace-filters.cjs.js +1 -1
  597. package/dist/domains/traces/trace-filters.es.js +1 -1
  598. package/dist/domains/traces/trace-query-filters.cjs.js +1 -1
  599. package/dist/domains/traces/trace-query-filters.es.js +1 -1
  600. package/dist/domains/traces.cjs.js +1 -1
  601. package/dist/domains/traces.es.js +1 -1
  602. package/dist/domains/workflows/components/workflow-combobox.cjs.js +2 -2
  603. package/dist/domains/workflows/components/workflow-combobox.es.js +2 -2
  604. package/dist/domains/workflows/components/workflow-information.cjs.js +2 -2
  605. package/dist/domains/workflows/components/workflow-information.es.js +2 -2
  606. package/dist/domains/workflows/components/workflow-layout.cjs.js +1 -1
  607. package/dist/domains/workflows/components/workflow-layout.es.js +1 -1
  608. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
  609. package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
  610. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  611. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  612. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  613. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  614. package/dist/domains/workflows/context/use-stream-for-run.cjs.js +1 -1
  615. package/dist/domains/workflows/context/use-stream-for-run.es.js +1 -1
  616. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +1 -1
  617. package/dist/domains/workflows/runs/workflow-run-list.es.js +1 -1
  618. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  619. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  620. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  621. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  622. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
  623. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
  624. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +1 -1
  625. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +1 -1
  626. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
  627. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
  628. package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js +2 -1
  629. package/dist/domains/workflows/workflow/use-workflow-trigger.cjs.js.map +1 -1
  630. package/dist/domains/workflows/workflow/use-workflow-trigger.es.js +2 -1
  631. package/dist/domains/workflows/workflow/use-workflow-trigger.es.js.map +1 -1
  632. package/dist/domains/workflows/workflow/utils.cjs.js +1 -1
  633. package/dist/domains/workflows/workflow/utils.es.js +1 -1
  634. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  635. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  636. package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
  637. package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
  638. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  639. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  640. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  641. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  642. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
  643. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
  644. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  645. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  646. package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js +1 -1
  647. package/dist/domains/workflows/workflow/workflow-graph-layout.es.js +1 -1
  648. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
  649. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
  650. package/dist/domains/workflows/workflow/workflow-graph.cjs.js +1 -1
  651. package/dist/domains/workflows/workflow/workflow-graph.es.js +1 -1
  652. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
  653. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
  654. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +1 -1
  655. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +1 -1
  656. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +3 -3
  657. package/dist/domains/workflows/workflow/workflow-run-data.es.js +3 -3
  658. package/dist/domains/workflows/workflow/workflow-run-error.cjs.js +1 -1
  659. package/dist/domains/workflows/workflow/workflow-run-error.es.js +1 -1
  660. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
  661. package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
  662. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  663. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  664. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +2 -2
  665. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +2 -2
  666. package/dist/domains/workflows/workflow/workflow-step-node-utils.cjs.js +1 -1
  667. package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js +1 -1
  668. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +2 -2
  669. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +2 -2
  670. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +2 -2
  671. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +2 -2
  672. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
  673. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
  674. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  675. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  676. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  677. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  678. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
  679. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
  680. package/dist/domains/workflows/workflow/workflow-trigger.cjs.js +1 -1
  681. package/dist/domains/workflows/workflow/workflow-trigger.es.js +1 -1
  682. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +3 -3
  683. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +3 -3
  684. package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
  685. package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
  686. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +2 -2
  687. package/dist/domains/workspace/components/workspace-create-directory.es.js +2 -2
  688. package/dist/domains/workspace/components/workspace-error.cjs.js +1 -1
  689. package/dist/domains/workspace/components/workspace-error.es.js +1 -1
  690. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +1 -1
  691. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +1 -1
  692. package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
  693. package/dist/domains/workspace/components/workspace-search.es.js +1 -1
  694. package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
  695. package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
  696. package/dist/ee/signals/components/entity-index-list.cjs.js +1 -1
  697. package/dist/ee/signals/components/entity-index-list.es.js +1 -1
  698. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  699. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  700. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +6 -6
  701. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  702. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +5 -5
  703. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  704. package/dist/ee/signals/examples-pager.es.js +1 -1
  705. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  706. package/dist/ee/signals/sankey-signals.es.js +1 -1
  707. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  708. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  709. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +3 -3
  710. package/dist/ee/signals/settings/trace-signal-settings.es.js +3 -3
  711. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  712. package/dist/ee/signals/signals-error-state.es.js +1 -1
  713. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  714. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  715. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  716. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  717. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  718. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  719. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  720. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  721. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +2 -2
  722. package/dist/ee/topics/components/topic-trace-summary-list.es.js +2 -2
  723. package/dist/{filter-bar-chip-7O02P9Vk.js → filter-bar-chip-B4sV4gDm.js} +86 -71
  724. package/dist/filter-bar-chip-B4sV4gDm.js.map +1 -0
  725. package/dist/{filter-bar-chip-BUyMf8XQ.cjs → filter-bar-chip-CIEsWcEw.cjs} +88 -79
  726. package/dist/filter-bar-chip-CIEsWcEw.cjs.map +1 -0
  727. package/dist/filter-bar-chip.css +22 -0
  728. package/dist/filter-bar-time-range-CXQMBgpz.js +60 -0
  729. package/dist/filter-bar-time-range-CXQMBgpz.js.map +1 -0
  730. package/dist/filter-bar-time-range-DvuaFnkI.cjs +83 -0
  731. package/dist/filter-bar-time-range-DvuaFnkI.cjs.map +1 -0
  732. package/dist/hooks/use-copy-to-clipboard.cjs.js +1 -1
  733. package/dist/hooks/use-copy-to-clipboard.es.js +1 -1
  734. package/dist/{input-group-uDpFNnSW.cjs → input-group-DVJLZDBL.cjs} +6 -4
  735. package/dist/input-group-DVJLZDBL.cjs.map +1 -0
  736. package/dist/{input-group-g85FYfze.js → input-group-QKKV_ouF.js} +7 -5
  737. package/dist/input-group-QKKV_ouF.js.map +1 -0
  738. package/dist/layout/tabbed-container.cjs.js +1 -1
  739. package/dist/layout/tabbed-container.es.js +1 -1
  740. package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
  741. package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
  742. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  743. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  744. package/dist/lib/form/components/date-field.cjs.js +1 -1
  745. package/dist/lib/form/components/date-field.es.js +1 -1
  746. package/dist/lib/form/components/error-message.cjs.js +1 -1
  747. package/dist/lib/form/components/error-message.es.js +1 -1
  748. package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
  749. package/dist/lib/form/components/form-submit-row.es.js +1 -1
  750. package/dist/lib/form/components/record-field.cjs.js +1 -1
  751. package/dist/lib/form/components/record-field.es.js +1 -1
  752. package/dist/lib/form/components/select-field.cjs.js +1 -1
  753. package/dist/lib/form/components/select-field.es.js +1 -1
  754. package/dist/lib/form/components/submit-button.cjs.js +1 -1
  755. package/dist/lib/form/components/submit-button.es.js +1 -1
  756. package/dist/lib/form/dynamic-form.cjs.js +2 -2
  757. package/dist/lib/form/dynamic-form.cjs.js.map +1 -1
  758. package/dist/lib/form/dynamic-form.es.js +2 -2
  759. package/dist/lib/form/dynamic-form.es.js.map +1 -1
  760. package/dist/lib/form/json-draft.cjs.js +1 -1
  761. package/dist/lib/form/json-draft.es.js +1 -1
  762. package/dist/lib/form/zod-provider/compat.cjs.js +8 -0
  763. package/dist/lib/form/zod-provider/compat.cjs.js.map +1 -1
  764. package/dist/lib/form/zod-provider/compat.es.js +8 -1
  765. package/dist/lib/form/zod-provider/compat.es.js.map +1 -1
  766. package/dist/lib/form/zod-provider.cjs.js +1 -1
  767. package/dist/lib/form/zod-provider.es.js +1 -1
  768. package/dist/{list-search-BEJmYa9a.cjs → list-search-BtRno5As.cjs} +2 -2
  769. package/dist/list-search-BtRno5As.cjs.map +1 -0
  770. package/dist/{list-search-bg7WzULj.js → list-search-CkhsTFdG.js} +2 -2
  771. package/dist/list-search-CkhsTFdG.js.map +1 -0
  772. package/dist/{observability-saved-views-CwCii7hh.cjs → observability-saved-views-BAzxxoAr.cjs} +10 -8
  773. package/dist/observability-saved-views-BAzxxoAr.cjs.map +1 -0
  774. package/dist/{observability-saved-views-Bo5kLN20.js → observability-saved-views-BBam8Fr5.js} +10 -8
  775. package/dist/observability-saved-views-BBam8Fr5.js.map +1 -0
  776. package/dist/primitives/control-icon.cjs.js +9 -0
  777. package/dist/primitives/control-icon.cjs.js.map +1 -0
  778. package/dist/primitives/control-icon.d.ts +1 -0
  779. package/dist/primitives/control-icon.es.js +8 -0
  780. package/dist/primitives/control-icon.es.js.map +1 -0
  781. package/dist/primitives/control-size.cjs.js +6 -0
  782. package/dist/primitives/control-size.cjs.js.map +1 -1
  783. package/dist/primitives/control-size.es.js +6 -1
  784. package/dist/primitives/control-size.es.js.map +1 -1
  785. package/dist/primitives/menu-item.cjs.js +3 -3
  786. package/dist/primitives/menu-item.cjs.js.map +1 -1
  787. package/dist/primitives/menu-item.es.js +3 -3
  788. package/dist/primitives/menu-item.es.js.map +1 -1
  789. package/dist/primitives/trigger-button.cjs.js +1 -1
  790. package/dist/primitives/trigger-button.es.js +1 -1
  791. package/dist/{property-filter-applied-DqsPFbYM.cjs → property-filter-applied-BCeRLcXb.cjs} +18 -18
  792. package/dist/{property-filter-applied-DqsPFbYM.cjs.map → property-filter-applied-BCeRLcXb.cjs.map} +1 -1
  793. package/dist/{property-filter-applied-DRglaEj-.js → property-filter-applied-p3dTTDdb.js} +3 -3
  794. package/dist/{property-filter-applied-DRglaEj-.js.map → property-filter-applied-p3dTTDdb.js.map} +1 -1
  795. package/dist/{select-BbFpEBAY.js → select-BdIZEdcy.js} +4 -8
  796. package/dist/select-BdIZEdcy.js.map +1 -0
  797. package/dist/{select-NySY9Men.cjs → select-Dg8L5ROX.cjs} +3 -7
  798. package/dist/select-Dg8L5ROX.cjs.map +1 -0
  799. package/dist/{span-payload-primitives-Dyhbqaa7.js → span-payload-primitives-B3RdahsC.js} +4 -4
  800. package/dist/{span-payload-primitives-Dyhbqaa7.js.map → span-payload-primitives-B3RdahsC.js.map} +1 -1
  801. package/dist/{span-payload-primitives-B10Xxmx7.cjs → span-payload-primitives-_2d-pAOD.cjs} +4 -4
  802. package/dist/{span-payload-primitives-B10Xxmx7.cjs.map → span-payload-primitives-_2d-pAOD.cjs.map} +1 -1
  803. package/dist/src/domains/chat/index.d.ts +1 -0
  804. package/dist/src/domains/chat/knowledge/index.d.ts +5 -0
  805. package/dist/src/domains/chat/knowledge/knowledge-links.d.ts +21 -0
  806. package/dist/src/domains/chat/knowledge/pinned-knowledge-data.d.ts +22 -0
  807. package/dist/src/domains/chat/knowledge/pinned-knowledge.d.ts +9 -0
  808. package/dist/src/domains/chat/tools/badges/knowledge-tool-badge.d.ts +19 -0
  809. package/dist/src/domains/chat/tools/tool-card-kind.d.ts +2 -2
  810. package/dist/src/domains/knowledge/components/KnowledgePageDetail.d.ts +42 -0
  811. package/dist/src/domains/knowledge/components/KnowledgePageExplorer.d.ts +80 -0
  812. package/dist/src/domains/knowledge/components/KnowledgePageGraph.d.ts +35 -0
  813. package/dist/src/domains/knowledge/components/KnowledgePageTree.d.ts +27 -0
  814. package/dist/src/domains/knowledge/hooks/useInteractionIdle.d.ts +12 -0
  815. package/dist/src/domains/knowledge/lib/layout.d.ts +35 -0
  816. package/dist/src/domains/knowledge/lib/pageGraph.d.ts +45 -0
  817. package/dist/src/domains/knowledge/lib/pageLayout.d.ts +24 -0
  818. package/dist/src/domains/knowledge/lib/pageTree.d.ts +28 -0
  819. package/dist/src/domains/knowledge/lib/popupPlacement.d.ts +12 -0
  820. package/dist/src/domains/knowledge/lib/recordText.d.ts +9 -0
  821. package/dist/src/domains/knowledge/pageTypes.d.ts +96 -0
  822. package/dist/src/domains/metrics/components/metrics-time-range-chip.d.ts +2 -2
  823. package/dist/src/domains/observability/saved-views/saved-views-provider.d.ts +6 -1
  824. package/dist/src/domains/observability/saved-views/saved-views-source.d.ts +1 -0
  825. package/dist/src/domains/observability/saved-views/use-hosted-saved-views.d.ts +1 -1
  826. package/dist/src/domains/skills/skill-simple-form.d.ts +3 -1
  827. package/dist/src/domains/spans/components/spans-filter-bar.d.ts +1 -1
  828. package/dist/src/domains/spans/hooks/use-spans-filter-bar.d.ts +1 -1
  829. package/dist/src/domains/spans/span-filters.d.ts +1 -1
  830. package/dist/src/domains/threads/components/threads-filter-bar.d.ts +1 -1
  831. package/dist/src/domains/threads/hooks/use-threads-filter-bar.d.ts +1 -1
  832. package/dist/src/domains/threads/thread-filters.d.ts +1 -1
  833. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-filter-bar.d.ts +3 -3
  834. package/dist/src/domains/traces/components/traces-page-skeleton.d.ts +1 -1
  835. package/dist/src/ds/components/Button/Button.d.ts +15 -0
  836. package/dist/src/ds/components/ClearFiltersButton/clear-filters-button.d.ts +12 -0
  837. package/dist/src/ds/components/ClearFiltersButton/index.d.ts +1 -0
  838. package/dist/src/ds/components/Combobox/combobox-styles.d.ts +0 -1
  839. package/dist/src/ds/components/DateTimeRangePicker/date-time-range-picker.d.ts +12 -11
  840. package/dist/src/ds/components/FilterBar/filter-bar-chip.d.ts +10 -7
  841. package/dist/src/ds/components/FilterBar/filter-bar-time-range.d.ts +19 -0
  842. package/dist/src/ds/components/FilterBar/filter-bar.d.ts +2 -0
  843. package/dist/src/ds/components/FilterBar/index.d.ts +2 -0
  844. package/dist/src/ds/components/FilterBar/use-filter-bar-item-keys.d.ts +23 -0
  845. package/dist/src/ds/components/ListSearch/list-search.d.ts +1 -0
  846. package/dist/src/ds/components/SavedViews/saved-view-picker.d.ts +3 -1
  847. package/dist/src/ds/components/ai/tool-call/tool-phrases.d.ts +30 -0
  848. package/dist/src/ds/primitives/control-icon.d.ts +3 -0
  849. package/dist/src/ds/primitives/control-size.d.ts +1 -0
  850. package/dist/src/lib/form/zod-provider/compat.d.ts +5 -0
  851. package/dist/style.css +181 -66
  852. package/dist/{tabbed-container-BKUqfEKy.js → tabbed-container-5j6dhoRX.js} +6 -6
  853. package/dist/{tabbed-container-BKUqfEKy.js.map → tabbed-container-5j6dhoRX.js.map} +1 -1
  854. package/dist/{tabbed-container-CFEImJOK.cjs → tabbed-container-DQU7pVio.cjs} +6 -6
  855. package/dist/{tabbed-container-CFEImJOK.cjs.map → tabbed-container-DQU7pVio.cjs.map} +1 -1
  856. package/dist/{tabs-content-DgR3Hik1.cjs → tabs-content-CmXe5ML0.cjs} +2 -2
  857. package/dist/{tabs-content-DgR3Hik1.cjs.map → tabs-content-CmXe5ML0.cjs.map} +1 -1
  858. package/dist/{tabs-content-cpV6A9c3.js → tabs-content-D__B9hd-.js} +2 -2
  859. package/dist/{tabs-content-cpV6A9c3.js.map → tabs-content-D__B9hd-.js.map} +1 -1
  860. package/dist/{tabs-tab-UT1JliwK.js → tabs-tab-CYTZevdV.js} +2 -2
  861. package/dist/{tabs-tab-UT1JliwK.js.map → tabs-tab-CYTZevdV.js.map} +1 -1
  862. package/dist/{tabs-tab-Qp3RJ17z.cjs → tabs-tab-DGwfHVDr.cjs} +2 -2
  863. package/dist/{tabs-tab-Qp3RJ17z.cjs.map → tabs-tab-DGwfHVDr.cjs.map} +1 -1
  864. package/dist/{toast-api-WhxnAT9F.js → toast-api-D_rrRhNG.js} +2 -2
  865. package/dist/{toast-api-WhxnAT9F.js.map → toast-api-D_rrRhNG.js.map} +1 -1
  866. package/dist/{toast-api-Bv87KHu_.cjs → toast-api-qtkOucy2.cjs} +2 -2
  867. package/dist/{toast-api-Bv87KHu_.cjs.map → toast-api-qtkOucy2.cjs.map} +1 -1
  868. package/dist/{tool-approval-BfjoSNOC.cjs → tool-approval-1qiB4hhG.cjs} +5 -5
  869. package/dist/{tool-approval-BfjoSNOC.cjs.map → tool-approval-1qiB4hhG.cjs.map} +1 -1
  870. package/dist/{tool-approval-FeuyUUcL.js → tool-approval-B6MFcaKV.js} +5 -5
  871. package/dist/{tool-approval-FeuyUUcL.js.map → tool-approval-B6MFcaKV.js.map} +1 -1
  872. package/dist/{tool-call-CvilN9ti.cjs → tool-call-Bu66PkD-.cjs} +34 -4
  873. package/dist/{tool-call-CvilN9ti.cjs.map → tool-call-Bu66PkD-.cjs.map} +1 -1
  874. package/dist/{tool-call-BxYXs9w0.js → tool-call-Ch9-jjXU.js} +34 -4
  875. package/dist/{tool-call-BxYXs9w0.js.map → tool-call-Ch9-jjXU.js.map} +1 -1
  876. package/dist/{tool-card-B7O8AsRl.cjs → tool-card-DrqPZfPQ.cjs} +20 -6
  877. package/dist/tool-card-DrqPZfPQ.cjs.map +1 -0
  878. package/dist/{tool-card-ELW898uw.js → tool-card-sO6P2Qj4.js} +20 -6
  879. package/dist/tool-card-sO6P2Qj4.js.map +1 -0
  880. package/dist/{tool-presentation-BLErsb7c.cjs → tool-presentation-CQlDEwgS.cjs} +26 -1
  881. package/dist/tool-presentation-CQlDEwgS.cjs.map +1 -0
  882. package/dist/{tool-presentation-BSZYIWx2.js → tool-presentation-DvCsb_kz.js} +26 -1
  883. package/dist/tool-presentation-DvCsb_kz.js.map +1 -0
  884. package/dist/{trace-filters-BJaebsxJ.js → trace-filters-CaWkw779.js} +2 -3
  885. package/dist/trace-filters-CaWkw779.js.map +1 -0
  886. package/dist/{trace-filters-BNEZ31HX.cjs → trace-filters-a0N9bf52.cjs} +1 -2
  887. package/dist/trace-filters-a0N9bf52.cjs.map +1 -0
  888. package/dist/{use-workflow-graph-runtime-deTN_q_G.js → use-workflow-graph-runtime-BKNhOKsH.js} +3 -3
  889. package/dist/{use-workflow-graph-runtime-deTN_q_G.js.map → use-workflow-graph-runtime-BKNhOKsH.js.map} +1 -1
  890. package/dist/{use-workflow-graph-runtime-DkwQjMEV.cjs → use-workflow-graph-runtime-DYao-08R.cjs} +3 -3
  891. package/dist/{use-workflow-graph-runtime-DkwQjMEV.cjs.map → use-workflow-graph-runtime-DYao-08R.cjs.map} +1 -1
  892. package/dist/utils/toast.cjs.js +1 -1
  893. package/dist/utils/toast.es.js +1 -1
  894. package/package.json +12 -10
  895. package/theme.css +4 -0
  896. package/dist/ActionRow-BfK77pCT.cjs.map +0 -1
  897. package/dist/ActionRow-Cd6tOC2K.js.map +0 -1
  898. package/dist/Button-Bw1e3ONi.js.map +0 -1
  899. package/dist/Button-YQRflC47.cjs.map +0 -1
  900. package/dist/DateTimeRangePicker-C_Lie_2P.js.map +0 -1
  901. package/dist/DateTimeRangePicker-HmPOHwAQ.cjs.map +0 -1
  902. package/dist/FilterBar--4oguuVe.js.map +0 -1
  903. package/dist/FilterBar-BUd4f7oi.cjs.map +0 -1
  904. package/dist/combobox-parts-BZVXwbG7.cjs.map +0 -1
  905. package/dist/combobox-parts-W7KRQUsV.js.map +0 -1
  906. package/dist/components/ButtonsGroup.cjs.js.map +0 -1
  907. package/dist/components/ButtonsGroup.es.js.map +0 -1
  908. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +0 -90
  909. package/dist/domains/traces/components/trace-time-range-chip.cjs.js.map +0 -1
  910. package/dist/domains/traces/components/trace-time-range-chip.d.ts +0 -1
  911. package/dist/domains/traces/components/trace-time-range-chip.es.js +0 -86
  912. package/dist/domains/traces/components/trace-time-range-chip.es.js.map +0 -1
  913. package/dist/filter-bar-chip-7O02P9Vk.js.map +0 -1
  914. package/dist/filter-bar-chip-BUyMf8XQ.cjs.map +0 -1
  915. package/dist/input-group-g85FYfze.js.map +0 -1
  916. package/dist/input-group-uDpFNnSW.cjs.map +0 -1
  917. package/dist/list-search-BEJmYa9a.cjs.map +0 -1
  918. package/dist/list-search-bg7WzULj.js.map +0 -1
  919. package/dist/observability-saved-views-Bo5kLN20.js.map +0 -1
  920. package/dist/observability-saved-views-CwCii7hh.cjs.map +0 -1
  921. package/dist/select-BbFpEBAY.js.map +0 -1
  922. package/dist/select-NySY9Men.cjs.map +0 -1
  923. package/dist/src/domains/traces/components/trace-time-range-chip.d.ts +0 -22
  924. package/dist/tool-card-B7O8AsRl.cjs.map +0 -1
  925. package/dist/tool-card-ELW898uw.js.map +0 -1
  926. package/dist/tool-presentation-BLErsb7c.cjs.map +0 -1
  927. package/dist/tool-presentation-BSZYIWx2.js.map +0 -1
  928. package/dist/trace-filters-BJaebsxJ.js.map +0 -1
  929. package/dist/trace-filters-BNEZ31HX.cjs.map +0 -1
@@ -0,0 +1,521 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_Txt = require("../../../Txt-BnoSqxKE.cjs");
3
+ const require_EmptyState = require("../../../EmptyState-DxDHlYqD.cjs");
4
+ const require_hooks_use_is_mobile = require("../../../hooks/use-is-mobile.cjs.js");
5
+ const require_domains_knowledge_components_KnowledgePageDetail = require("./KnowledgePageDetail.cjs.js");
6
+ const require_domains_knowledge_lib_popupPlacement = require("../lib/popupPlacement.cjs.js");
7
+ const require_domains_knowledge_components_KnowledgePageGraph = require("./KnowledgePageGraph.cjs.js");
8
+ const require_domains_knowledge_components_KnowledgePageTree = require("./KnowledgePageTree.cjs.js");
9
+ let react = require("react");
10
+ let react_jsx_runtime = require("react/jsx-runtime");
11
+ let lucide_react = require("lucide-react");
12
+ // src/domains/knowledge/components/KnowledgePageExplorer.tsx
13
+ var MIN_SEARCH_LENGTH = 2;
14
+ var noTreeLevels = () => [];
15
+ var noActivity = () => ({
16
+ isPending: false,
17
+ isError: false,
18
+ error: null
19
+ });
20
+ function isNotFound(error) {
21
+ return !!error && typeof error === "object" && "status" in error && error.status === 404;
22
+ }
23
+ function withPages(base, pages) {
24
+ if (pages.length === 0) return base;
25
+ const merged = new Map(base);
26
+ for (const page of pages) merged.set(page.id, page);
27
+ return merged;
28
+ }
29
+ /** `pages` narrowed to `scopeId` and everything below it, following parent links among the given pages. */
30
+ function withinScope(pages, scopeId) {
31
+ if (!scopeId) return pages;
32
+ const byId = new Map(pages.map((page) => [page.id, page]));
33
+ const inside = /* @__PURE__ */ new Map([[scopeId, true]]);
34
+ const isInside = (page) => {
35
+ const known = inside.get(page.id);
36
+ if (known !== void 0) return known;
37
+ const parent = page.parentId ? byId.get(page.parentId) : void 0;
38
+ inside.set(page.id, false);
39
+ const result = !!parent && parent.id !== page.id && isInside(parent);
40
+ inside.set(page.id, result);
41
+ return result;
42
+ };
43
+ return pages.filter(isInside);
44
+ }
45
+ function MoreButton({ onClick, label = "Load more" }) {
46
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
47
+ type: "button",
48
+ className: "self-start text-caption text-muted-foreground hover:text-foreground",
49
+ onClick,
50
+ children: label
51
+ });
52
+ }
53
+ /** The next page of a page's notes, then a button for the one after. */
54
+ function MoreNotes({ source, pageId, cursor, pagesById, onPageClick }) {
55
+ const chunk = source.usePage(pageId, cursor);
56
+ const [showNext, setShowNext] = (0, react.useState)(false);
57
+ const known = (0, react.useMemo)(() => withPages(pagesById, chunk.data?.related ?? []), [chunk.data, pagesById]);
58
+ if (chunk.isPending) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
59
+ className: "text-caption text-muted-foreground",
60
+ children: "Loading notes…"
61
+ });
62
+ if (!chunk.data) return null;
63
+ const next = chunk.data.notesNextCursor;
64
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
65
+ className: "flex flex-col gap-3",
66
+ children: chunk.data.notes.map((note) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_knowledge_components_KnowledgePageDetail.KnowledgeNoteItem, {
67
+ note,
68
+ pagesById: known,
69
+ onPageClick
70
+ }, note.id))
71
+ }), next ? showNext ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MoreNotes, {
72
+ source,
73
+ pageId,
74
+ cursor: next,
75
+ pagesById,
76
+ onPageClick
77
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MoreButton, {
78
+ label: "Load more notes",
79
+ onClick: () => setShowNext(true)
80
+ }) : null] });
81
+ }
82
+ /** A page's children, a page at a time. */
83
+ function ChildPages({ useTreeLevels, parentId, onPageClick }) {
84
+ const [cursors, setCursors] = (0, react.useState)([]);
85
+ const levels = useTreeLevels((0, react.useMemo)(() => [{ parentId }, ...cursors.map((cursor) => ({
86
+ parentId,
87
+ cursor
88
+ }))], [parentId, cursors]));
89
+ const pages = levels.flatMap((level) => level.data?.pages ?? []);
90
+ const last = levels[levels.length - 1];
91
+ if (levels[0]?.isPending) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
92
+ className: "text-caption text-muted-foreground",
93
+ children: "Loading pages…"
94
+ });
95
+ if (pages.length === 0) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
96
+ className: "text-body text-muted-foreground",
97
+ "data-testid": "knowledge-no-child-pages",
98
+ children: "No pages under this one."
99
+ });
100
+ const next = last?.data?.nextCursor;
101
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
102
+ className: "flex flex-col gap-1",
103
+ children: pages.map((child) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("li", {
104
+ className: "flex flex-col",
105
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
106
+ type: "button",
107
+ className: "text-left text-body font-medium text-info-indicator hover:underline",
108
+ onClick: () => onPageClick(child),
109
+ children: child.name
110
+ }), child.description ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
111
+ className: "truncate text-caption text-muted-foreground",
112
+ children: child.description
113
+ }) : null]
114
+ }, child.id))
115
+ }), next ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MoreButton, { onClick: () => setCursors((current) => [...current, next]) }) : null] });
116
+ }
117
+ /** What a clicked mention line stands for: the notes on one page that mention the other. */
118
+ function MentionPopup({ source, mention, pagesById, onOpen, onClose }) {
119
+ const detail = source.usePage(mention.source.id);
120
+ const notes = (detail.data?.notes ?? []).filter((note) => note.mentions.includes(mention.target.id));
121
+ (0, react.useEffect)(() => {
122
+ const onKey = (event) => {
123
+ if (event.key === "Escape") onClose();
124
+ };
125
+ window.addEventListener("keydown", onKey);
126
+ return () => window.removeEventListener("keydown", onKey);
127
+ }, [onClose]);
128
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
129
+ role: "dialog",
130
+ "aria-label": `${mention.source.name} mentions ${mention.target.name}`,
131
+ "data-testid": "knowledge-mention-popup",
132
+ className: "absolute z-20 flex w-80 max-w-[calc(100%-1rem)] flex-col gap-2 overflow-hidden rounded-lg border border-border bg-card p-3 shadow-overlay",
133
+ style: require_domains_knowledge_lib_popupPlacement.mentionPopupPlacement(mention),
134
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
135
+ className: "flex items-start gap-2",
136
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Txt.Txt, {
137
+ as: "h3",
138
+ variant: "card-title",
139
+ className: "min-w-0 flex-1",
140
+ children: [
141
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
142
+ type: "button",
143
+ className: "hover:underline",
144
+ onClick: () => onOpen(mention.source.id),
145
+ children: mention.source.name
146
+ }),
147
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Txt.Txt, {
148
+ as: "span",
149
+ variant: "card-title",
150
+ tone: "muted",
151
+ children: [
152
+ " ",
153
+ "mentions",
154
+ " "
155
+ ]
156
+ }),
157
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
158
+ type: "button",
159
+ className: "hover:underline",
160
+ onClick: () => onOpen(mention.target.id),
161
+ children: mention.target.name
162
+ })
163
+ ]
164
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
165
+ type: "button",
166
+ "aria-label": "Close",
167
+ className: "rounded p-0.5 text-muted-foreground hover:bg-fill hover:text-foreground",
168
+ onClick: onClose,
169
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.X, {
170
+ size: 14,
171
+ "aria-hidden": true
172
+ })
173
+ })]
174
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
175
+ className: "min-h-0 overflow-y-auto",
176
+ children: detail.isPending ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Txt.Txt, {
177
+ variant: "caption",
178
+ tone: "muted",
179
+ children: "Loading notes…"
180
+ }) : notes.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Txt.Txt, {
181
+ variant: "caption",
182
+ tone: "muted",
183
+ children: [
184
+ "The notes that make this mention aren't in the first page of notes. Open ",
185
+ mention.source.name,
186
+ " to read them all."
187
+ ]
188
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
189
+ className: "flex flex-col gap-2",
190
+ children: notes.map((note) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_knowledge_components_KnowledgePageDetail.KnowledgeNoteItem, {
191
+ note,
192
+ pagesById: withPages(pagesById, detail.data?.related ?? []),
193
+ onPageClick: (page) => onOpen(page.id),
194
+ compact: true
195
+ }, note.id))
196
+ })
197
+ })]
198
+ });
199
+ }
200
+ function SelectedPage({ source, pageId, pagesById, onSelect, highlightMentionOf }) {
201
+ const detail = source.usePage(pageId);
202
+ const activity = (source.useActivity ?? noActivity)(pageId);
203
+ const [moreNotes, setMoreNotes] = (0, react.useState)(null);
204
+ const known = (0, react.useMemo)(() => detail.data ? withPages(pagesById, [...detail.data.ancestors, ...detail.data.related]) : pagesById, [detail.data, pagesById]);
205
+ if (detail.isPending) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
206
+ className: "text-ui-md p-4 text-muted-foreground",
207
+ children: "Loading page…"
208
+ });
209
+ if (detail.isError || !detail.data) {
210
+ const notFound = isNotFound(detail.error);
211
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_EmptyState.EmptyState, {
212
+ tone: "error",
213
+ variant: "fill",
214
+ titleSlot: notFound ? "Page not found" : "Failed to load the page",
215
+ descriptionSlot: notFound ? "It may have been deleted or merged." : detail.error?.message ?? ""
216
+ });
217
+ }
218
+ const onPageClick = (page) => onSelect(page.id);
219
+ const next = detail.data.notesNextCursor;
220
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_knowledge_components_KnowledgePageDetail.KnowledgePageDetail, {
221
+ page: detail.data.page,
222
+ notes: detail.data.notes,
223
+ pin: detail.data.pin ?? void 0,
224
+ pagesById: known,
225
+ onPageClick,
226
+ highlightMentionOf,
227
+ ancestors: detail.data.ancestors,
228
+ mentionedBy: detail.data.mentionedBy,
229
+ activity: activity.data?.events,
230
+ childPages: source.useTreeLevels ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(ChildPages, {
231
+ useTreeLevels: source.useTreeLevels,
232
+ parentId: pageId,
233
+ onPageClick
234
+ }, pageId) : void 0,
235
+ notesMore: next ? moreNotes?.pageId === pageId ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MoreNotes, {
236
+ source,
237
+ pageId,
238
+ cursor: next,
239
+ pagesById: known,
240
+ onPageClick
241
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MoreButton, {
242
+ label: "Load more notes",
243
+ onClick: () => setMoreNotes({ pageId })
244
+ }) : void 0
245
+ });
246
+ }
247
+ function SearchBox({ source, onSelect }) {
248
+ const [query, setQuery] = (0, react.useState)("");
249
+ const search = source.useSearch(query);
250
+ const results = query.trim().length >= MIN_SEARCH_LENGTH ? search.data?.results ?? [] : [];
251
+ const seen = /* @__PURE__ */ new Set();
252
+ const pages = results.map((hit) => hit.page).filter((page) => seen.has(page.id) ? false : (seen.add(page.id), true)).slice(0, 10);
253
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
254
+ className: "relative min-w-60 flex-1",
255
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("input", {
256
+ "aria-label": "Search knowledge",
257
+ placeholder: "Search pages and notes",
258
+ className: "text-ui-md h-8 w-full rounded border border-border bg-card px-2",
259
+ value: query,
260
+ onChange: (event) => setQuery(event.target.value)
261
+ }), pages.length > 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
262
+ role: "listbox",
263
+ "aria-label": "Search results",
264
+ className: "absolute z-20 mt-1 max-h-72 w-full overflow-auto rounded border border-border bg-card shadow-raised",
265
+ children: pages.map((page) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("li", {
266
+ role: "option",
267
+ "aria-selected": false,
268
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
269
+ type: "button",
270
+ className: "text-ui-md w-full px-2 py-1.5 text-left hover:bg-muted",
271
+ onClick: () => {
272
+ onSelect(page.id);
273
+ setQuery("");
274
+ },
275
+ children: page.name
276
+ })
277
+ }, page.id))
278
+ }) : null]
279
+ });
280
+ }
281
+ /**
282
+ * The tree loaded a level at a time through `useTreeLevels`: the root scopes, then each level as it is
283
+ * opened, plus the path to the selected page. Unloaded pages keep a chevron until opened.
284
+ */
285
+ function useLazyTree(source, graph, selected) {
286
+ const [expanded, setExpanded] = (0, react.useState)(() => /* @__PURE__ */ new Set());
287
+ const [more, setMore] = (0, react.useState)(() => /* @__PURE__ */ new Map());
288
+ const requests = (0, react.useMemo)(() => {
289
+ const list = [{ parentId: null }];
290
+ for (const id of expanded) {
291
+ list.push({ parentId: id });
292
+ for (const cursor of more.get(id) ?? []) list.push({
293
+ parentId: id,
294
+ cursor
295
+ });
296
+ }
297
+ return list;
298
+ }, [expanded, more]);
299
+ const levels = (source.useTreeLevels ?? noTreeLevels)(requests);
300
+ const { pages, loaded, nextCursor } = (0, react.useMemo)(() => {
301
+ const byId = /* @__PURE__ */ new Map();
302
+ const loadedIds = /* @__PURE__ */ new Set();
303
+ const next = /* @__PURE__ */ new Map();
304
+ levels.forEach((level, index) => {
305
+ const request = requests[index];
306
+ if (!request || !level.data) return;
307
+ const key = request.parentId ?? "";
308
+ loadedIds.add(key);
309
+ for (const page of level.data.pages) byId.set(page.id, page);
310
+ if (level.data.nextCursor) next.set(key, level.data.nextCursor);
311
+ else next.delete(key);
312
+ });
313
+ for (const page of [...selected?.ancestors ?? [], ...selected ? [selected.page] : []]) if (!byId.has(page.id)) byId.set(page.id, page);
314
+ return {
315
+ pages: [...byId.values()],
316
+ loaded: loadedIds,
317
+ nextCursor: next
318
+ };
319
+ }, [
320
+ levels,
321
+ requests,
322
+ selected
323
+ ]);
324
+ const graphParents = (0, react.useMemo)(() => graph.truncated ? null : new Set(graph.pages.map((page) => page.parentId).filter((id) => id !== null)), [graph]);
325
+ return {
326
+ pages,
327
+ mayHaveChildren: (0, react.useCallback)((page) => !loaded.has(page.id) && (graphParents ? graphParents.has(page.id) : true), [loaded, graphParents]),
328
+ loadMore: (0, react.useMemo)(() => {
329
+ const map = /* @__PURE__ */ new Map();
330
+ for (const [parentId, cursor] of nextCursor) map.set(parentId, () => setMore((current) => new Map(current).set(parentId, [...current.get(parentId) ?? [], cursor])));
331
+ return map;
332
+ }, [nextCursor]),
333
+ onExpandedChange: (0, react.useCallback)((ids) => setExpanded(new Set(ids)), []),
334
+ rootsPending: levels[0]?.isPending ?? false
335
+ };
336
+ }
337
+ /**
338
+ * Search, the page tree, and either the page graph or the selected page, kept in sync on one selection.
339
+ * Wide screens show the tree beside the graph or the page; below `lg` one toggle picks tree, graph or page.
340
+ * A first click on a page in the graph selects it; clicking it again opens it as a page. A search result
341
+ * opens it as a page straight away. Selecting in the tree keeps the current view, so the graph frames the
342
+ * page instead.
343
+ */
344
+ function KnowledgePageExplorer({ graph, source, selectedPageId, onSelect, view, onViewChange }) {
345
+ const pagesById = (0, react.useMemo)(() => new Map(graph.pages.map((page) => [page.id, page])), [graph.pages]);
346
+ const [focusScopeId, setFocusScopeId] = (0, react.useState)(null);
347
+ const mentionEdges = (0, react.useMemo)(() => graph.edges.filter((edge) => edge.kind === "mention"), [graph.edges]);
348
+ const [mention, setMention] = (0, react.useState)(null);
349
+ const [marked, setMarked] = (0, react.useState)(null);
350
+ const closeMention = (0, react.useCallback)(() => setMention(null), []);
351
+ const graphShown = !require_hooks_use_is_mobile.useIsMobile(1024) || view === "graph";
352
+ const highlightMentionOf = marked && marked.source === selectedPageId ? marked.target : void 0;
353
+ const selected = source.usePage(selectedPageId);
354
+ const lazy = useLazyTree(source, graph, selected.data);
355
+ const showPage = view === "page" && !!selectedPageId;
356
+ const openPage = (pageId) => {
357
+ onSelect(pageId);
358
+ onViewChange("page");
359
+ };
360
+ const selectFromTree = (page) => {
361
+ if (page.isScope) setFocusScopeId(page.id);
362
+ if (view === "graph") onSelect(page.id);
363
+ else openPage(page.id);
364
+ };
365
+ const openAnywhere = (pageId) => {
366
+ if (focusScopeId && !withinScope([...lazy.pages, ...graph.pages], focusScopeId).some((page) => page.id === pageId)) setFocusScopeId(null);
367
+ openPage(pageId);
368
+ };
369
+ const focusScope = focusScopeId ? lazy.pages.find((page) => page.id === focusScopeId) ?? pagesById.get(focusScopeId) : void 0;
370
+ const treePages = withinScope(source.useTreeLevels ? lazy.pages : graph.pages, focusScope ? focusScopeId : null);
371
+ const graphPages = (0, react.useMemo)(() => withinScope(graph.pages, focusScope ? focusScopeId : null), [
372
+ graph.pages,
373
+ focusScope,
374
+ focusScopeId
375
+ ]);
376
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
377
+ className: "flex min-h-0 flex-1 flex-col gap-3",
378
+ children: [
379
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
380
+ className: "flex flex-wrap items-center gap-2",
381
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(SearchBox, {
382
+ source,
383
+ onSelect: openAnywhere
384
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
385
+ role: "group",
386
+ "aria-label": "View",
387
+ className: "flex rounded border border-border",
388
+ children: [
389
+ {
390
+ value: "tree",
391
+ label: "Tree",
392
+ narrowOnly: true
393
+ },
394
+ {
395
+ value: "graph",
396
+ label: "Graph"
397
+ },
398
+ {
399
+ value: "page",
400
+ label: "Page"
401
+ }
402
+ ].map((option) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
403
+ type: "button",
404
+ "aria-pressed": option.value === "page" ? showPage : option.value === "graph" ? !showPage && view !== "tree" : view === "tree",
405
+ disabled: option.value === "page" && !selectedPageId,
406
+ className: `text-ui-md px-3 py-1 disabled:opacity-50 aria-pressed:bg-muted ${option.narrowOnly ? "lg:hidden" : ""}`,
407
+ onClick: () => onViewChange(option.value),
408
+ children: option.label
409
+ }, option.value))
410
+ })]
411
+ }),
412
+ graph.truncated && !showPage ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("p", {
413
+ className: "text-ui-sm text-muted-foreground",
414
+ children: [
415
+ "The graph shows the first ",
416
+ graph.pages.length,
417
+ " pages. Open the tree or search to reach the rest."
418
+ ]
419
+ }) : null,
420
+ selectedPageId && !showPage && isNotFound(selected.error) ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
421
+ role: "alert",
422
+ className: "text-ui-sm text-destructive-foreground",
423
+ children: "Page not found. The linked page may have been deleted or merged."
424
+ }) : null,
425
+ /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
426
+ className: "flex min-h-0 flex-1 flex-col gap-3 lg:flex-row",
427
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("aside", {
428
+ className: `min-h-0 w-full flex-1 flex-col overflow-hidden rounded-lg border border-border bg-card lg:flex lg:w-72 lg:flex-none lg:shrink-0 ${view === "tree" ? "flex" : "hidden"}`,
429
+ children: [focusScope ? /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
430
+ className: "flex items-center gap-2 border-b border-border bg-fill-subtle px-3 py-2",
431
+ "data-testid": "knowledge-scope-focus",
432
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
433
+ className: "flex min-w-0 flex-1 flex-col",
434
+ children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Txt.Txt, {
435
+ as: "span",
436
+ variant: "eyebrow",
437
+ tone: "muted",
438
+ className: "uppercase",
439
+ children: focusScope.displayLabel ?? "Scope"
440
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Txt.Txt, {
441
+ as: "span",
442
+ variant: "label",
443
+ tone: "ink",
444
+ className: "truncate",
445
+ children: focusScope.address ?? focusScope.name
446
+ })]
447
+ }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
448
+ type: "button",
449
+ className: "text-ui-sm shrink-0 rounded px-2 py-1 text-muted-foreground hover:bg-fill hover:text-foreground",
450
+ onClick: () => setFocusScopeId(null),
451
+ children: "All scopes"
452
+ })]
453
+ }) : null, /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
454
+ className: "min-h-0 flex-1 overflow-auto",
455
+ children: source.useTreeLevels && lazy.rootsPending ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
456
+ className: "px-3 py-2 text-body text-muted-foreground",
457
+ children: "Loading pages…"
458
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_knowledge_components_KnowledgePageTree.KnowledgePageTree, {
459
+ pages: treePages,
460
+ pinnedIds: graph.pinnedIds,
461
+ selectedPageId,
462
+ onSelect: selectFromTree,
463
+ initiallyExpanded: focusScope ? [focusScope.id] : void 0,
464
+ ...source.useTreeLevels ? {
465
+ mayHaveChildren: lazy.mayHaveChildren,
466
+ onExpandedChange: lazy.onExpandedChange,
467
+ loadMore: lazy.loadMore
468
+ } : {}
469
+ }, focusScope ? focusScope.id : "all")
470
+ })]
471
+ }), showPage ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("section", {
472
+ "aria-label": "Selected page",
473
+ className: "min-h-0 min-w-0 flex-1 overflow-auto rounded-lg border border-border bg-card",
474
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SelectedPage, {
475
+ source,
476
+ pageId: selectedPageId,
477
+ pagesById,
478
+ onSelect: openAnywhere,
479
+ highlightMentionOf
480
+ })
481
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
482
+ className: `relative min-h-0 min-w-0 flex-1 overflow-hidden rounded-lg border border-border bg-background lg:block lg:h-full ${view === "graph" ? "block" : "hidden"}`,
483
+ "data-testid": "knowledge-graph-container",
484
+ children: [graphShown ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_knowledge_components_KnowledgePageGraph.KnowledgePageGraph, {
485
+ pages: graphPages,
486
+ edges: mentionEdges,
487
+ pinnedIds: graph.pinnedIds,
488
+ grants: graph.grants,
489
+ selectedPageId,
490
+ onSelect: (page) => {
491
+ onSelect(page.id);
492
+ if (view !== "graph") onViewChange("graph");
493
+ },
494
+ onOpen: (page) => openPage(page.id),
495
+ onClearSelection: () => {
496
+ setMention(null);
497
+ if (selectedPageId) onSelect(null);
498
+ },
499
+ onMentionSelect: setMention
500
+ }) : null, mention && graphShown ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)(MentionPopup, {
501
+ source,
502
+ mention,
503
+ pagesById,
504
+ onClose: closeMention,
505
+ onOpen: (pageId) => {
506
+ setMarked(pageId === mention.source.id ? {
507
+ source: mention.source.id,
508
+ target: mention.target.id
509
+ } : null);
510
+ setMention(null);
511
+ openAnywhere(pageId);
512
+ }
513
+ }) : null]
514
+ })]
515
+ })
516
+ ]
517
+ });
518
+ }
519
+ exports.KnowledgePageExplorer = KnowledgePageExplorer;
520
+
521
+ //# sourceMappingURL=KnowledgePageExplorer.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KnowledgePageExplorer.cjs.js","names":["useState","useMemo","_Fragment","KnowledgeNoteItem","mentionPopupPlacement","Txt","X","EmptyState","KnowledgePageDetail","useCallback","useIsMobile","KnowledgePageTree","KnowledgePageGraph"],"sources":["../../../../src/domains/knowledge/components/KnowledgePageExplorer.tsx"],"sourcesContent":["import { X } from 'lucide-react';\nimport { useCallback, useEffect, useMemo, useState } from 'react';\n\nimport { mentionPopupPlacement } from '../lib/popupPlacement';\n\nimport type {\n KnowledgePageActivityPayload,\n KnowledgeNotePayload,\n KnowledgePageEdge,\n KnowledgePagePayload,\n KnowledgePinPayload,\n KnowledgeScopeGrantPayload,\n} from '../pageTypes';\nimport { KnowledgeNoteItem, KnowledgePageDetail } from './KnowledgePageDetail';\nimport { KnowledgePageGraph } from './KnowledgePageGraph';\nimport { KNOWLEDGE_TREE_ROOT, KnowledgePageTree } from './KnowledgePageTree';\n\nimport { EmptyState } from '@/ds/components/EmptyState';\nimport { Txt } from '@/ds/components/Txt';\nimport { useIsMobile } from '@/hooks/use-is-mobile';\n\n/** `tree` is only a choice below `lg`; wider screens always show the tree beside the graph or the page. */\nexport type KnowledgeExplorerView = 'tree' | 'graph' | 'page';\n\n/** The bounded page graph a host loads. Without `useTreeLevels`, its pages also feed the tree. */\nexport interface KnowledgeExplorerGraph {\n pages: KnowledgePagePayload[];\n edges: KnowledgePageEdge[];\n pinnedIds: string[];\n /** Access grants between scopes; hosts whose server doesn't send them leave this out. */\n grants?: KnowledgeScopeGrantPayload[];\n truncated: boolean;\n}\n\nexport interface KnowledgeExplorerPageDetail {\n page: KnowledgePagePayload;\n notes: KnowledgeNotePayload[];\n /** Cursor for the page's next notes. */\n notesNextCursor?: string;\n pin?: KnowledgePinPayload | null;\n /** Ancestors and referenced pages, which may sit outside the loaded graph. */\n ancestors: KnowledgePagePayload[];\n related: KnowledgePagePayload[];\n /** Notes on other pages that mention this one. */\n mentionedBy?: KnowledgeNotePayload[];\n}\n\n/** One level of the tree: a parent's child scopes then its child pages, paged. */\nexport interface KnowledgeExplorerTreeLevel {\n pages: KnowledgePagePayload[];\n nextCursor?: string;\n}\n\nexport interface KnowledgeExplorerActivity {\n events: KnowledgePageActivityPayload[];\n}\n\nexport interface KnowledgeExplorerQueryState<T> {\n data?: T;\n isPending: boolean;\n isError: boolean;\n error: Error | null;\n}\n\n/** One request for a tree level: `parentId: null` for the root scopes. */\nexport interface KnowledgeExplorerTreeRequest {\n parentId: string | null;\n cursor?: string;\n}\n\n/**\n * Host data hooks. Each host binds them to its own routes (Studio to the Mastra client, Factory to its\n * project-scoped routes), so the explorer never knows a URL or an id outside the page ids it shows.\n * Pass the same functions every render: they are called as hooks.\n */\nexport interface KnowledgeExplorerSource {\n /** One page; `noteCursor` fetches a later page of its notes. Disabled when `pageId` is null. */\n usePage: (pageId: string | null, noteCursor?: string) => KnowledgeExplorerQueryState<KnowledgeExplorerPageDetail>;\n useSearch: (query: string) => { data?: { results: Array<{ page: KnowledgePagePayload }> } };\n /** Tree levels, one result per request in order (e.g. `useQueries`). Enables the lazily loaded tree and child pages. */\n useTreeLevels?: (\n requests: KnowledgeExplorerTreeRequest[],\n ) => Array<KnowledgeExplorerQueryState<KnowledgeExplorerTreeLevel>>;\n /** A page's recent activity, newest first. */\n useActivity?: (pageId: string) => KnowledgeExplorerQueryState<KnowledgeExplorerActivity>;\n}\n\nexport interface KnowledgePageExplorerProps {\n graph: KnowledgeExplorerGraph;\n source: KnowledgeExplorerSource;\n selectedPageId: string | null;\n /** `null` clears the selection: a click on empty graph canvas. */\n onSelect: (pageId: string | null) => void;\n view: KnowledgeExplorerView;\n onViewChange: (view: KnowledgeExplorerView) => void;\n}\n\nconst MIN_SEARCH_LENGTH = 2;\nconst noTreeLevels = () => [];\nconst noActivity = (): KnowledgeExplorerQueryState<KnowledgeExplorerActivity> => ({\n isPending: false,\n isError: false,\n error: null,\n});\n\nfunction isNotFound(error: unknown): boolean {\n return !!error && typeof error === 'object' && 'status' in error && error.status === 404;\n}\n\nfunction withPages(\n base: ReadonlyMap<string, KnowledgePagePayload>,\n pages: KnowledgePagePayload[],\n): ReadonlyMap<string, KnowledgePagePayload> {\n if (pages.length === 0) return base;\n const merged = new Map(base);\n for (const page of pages) merged.set(page.id, page);\n return merged;\n}\n\n/** `pages` narrowed to `scopeId` and everything below it, following parent links among the given pages. */\nfunction withinScope(pages: KnowledgePagePayload[], scopeId: string | null): KnowledgePagePayload[] {\n if (!scopeId) return pages;\n const byId = new Map(pages.map(page => [page.id, page]));\n const inside = new Map<string, boolean>([[scopeId, true]]);\n const isInside = (page: KnowledgePagePayload): boolean => {\n const known = inside.get(page.id);\n if (known !== undefined) return known;\n const parent = page.parentId ? byId.get(page.parentId) : undefined;\n inside.set(page.id, false);\n const result = !!parent && parent.id !== page.id && isInside(parent);\n inside.set(page.id, result);\n return result;\n };\n return pages.filter(isInside);\n}\n\nfunction MoreButton({ onClick, label = 'Load more' }: { onClick: () => void; label?: string }) {\n return (\n <button\n type=\"button\"\n className=\"self-start text-caption text-muted-foreground hover:text-foreground\"\n onClick={onClick}\n >\n {label}\n </button>\n );\n}\n\n/** The next page of a page's notes, then a button for the one after. */\nfunction MoreNotes({\n source,\n pageId,\n cursor,\n pagesById,\n onPageClick,\n}: {\n source: KnowledgeExplorerSource;\n pageId: string;\n cursor: string;\n pagesById: ReadonlyMap<string, KnowledgePagePayload>;\n onPageClick: (page: KnowledgePagePayload) => void;\n}) {\n const chunk = source.usePage(pageId, cursor);\n const [showNext, setShowNext] = useState(false);\n const known = useMemo(() => withPages(pagesById, chunk.data?.related ?? []), [chunk.data, pagesById]);\n if (chunk.isPending) return <p className=\"text-caption text-muted-foreground\">Loading notes…</p>;\n if (!chunk.data) return null;\n const next = chunk.data.notesNextCursor;\n return (\n <>\n <ul className=\"flex flex-col gap-3\">\n {chunk.data.notes.map(note => (\n <KnowledgeNoteItem key={note.id} note={note} pagesById={known} onPageClick={onPageClick} />\n ))}\n </ul>\n {next ? (\n showNext ? (\n <MoreNotes source={source} pageId={pageId} cursor={next} pagesById={pagesById} onPageClick={onPageClick} />\n ) : (\n <MoreButton label=\"Load more notes\" onClick={() => setShowNext(true)} />\n )\n ) : null}\n </>\n );\n}\n\n/** A page's children, a page at a time. */\nfunction ChildPages({\n useTreeLevels,\n parentId,\n onPageClick,\n}: {\n useTreeLevels: NonNullable<KnowledgeExplorerSource['useTreeLevels']>;\n parentId: string;\n onPageClick: (page: KnowledgePagePayload) => void;\n}) {\n const [cursors, setCursors] = useState<string[]>([]);\n const requests = useMemo(() => [{ parentId }, ...cursors.map(cursor => ({ parentId, cursor }))], [parentId, cursors]);\n const levels = useTreeLevels(requests);\n const pages = levels.flatMap(level => level.data?.pages ?? []);\n const last = levels[levels.length - 1];\n if (levels[0]?.isPending) return <p className=\"text-caption text-muted-foreground\">Loading pages…</p>;\n if (pages.length === 0) {\n return (\n <p className=\"text-body text-muted-foreground\" data-testid=\"knowledge-no-child-pages\">\n No pages under this one.\n </p>\n );\n }\n const next = last?.data?.nextCursor;\n return (\n <>\n <ul className=\"flex flex-col gap-1\">\n {pages.map(child => (\n <li key={child.id} className=\"flex flex-col\">\n <button\n type=\"button\"\n className=\"text-left text-body font-medium text-info-indicator hover:underline\"\n onClick={() => onPageClick(child)}\n >\n {child.name}\n </button>\n {child.description ? (\n <span className=\"truncate text-caption text-muted-foreground\">{child.description}</span>\n ) : null}\n </li>\n ))}\n </ul>\n {next ? <MoreButton onClick={() => setCursors(current => [...current, next])} /> : null}\n </>\n );\n}\n\ninterface MentionSelection {\n source: KnowledgePagePayload;\n target: KnowledgePagePayload;\n point: { x: number; y: number };\n pane: { width: number; height: number };\n}\n\n/** What a clicked mention line stands for: the notes on one page that mention the other. */\nfunction MentionPopup({\n source,\n mention,\n pagesById,\n onOpen,\n onClose,\n}: {\n source: KnowledgeExplorerSource;\n mention: MentionSelection;\n pagesById: ReadonlyMap<string, KnowledgePagePayload>;\n onOpen: (pageId: string) => void;\n onClose: () => void;\n}) {\n const detail = source.usePage(mention.source.id);\n const notes = (detail.data?.notes ?? []).filter(note => note.mentions.includes(mention.target.id));\n useEffect(() => {\n const onKey = (event: KeyboardEvent) => {\n if (event.key === 'Escape') onClose();\n };\n window.addEventListener('keydown', onKey);\n return () => window.removeEventListener('keydown', onKey);\n }, [onClose]);\n return (\n <div\n role=\"dialog\"\n aria-label={`${mention.source.name} mentions ${mention.target.name}`}\n data-testid=\"knowledge-mention-popup\"\n className=\"absolute z-20 flex w-80 max-w-[calc(100%-1rem)] flex-col gap-2 overflow-hidden rounded-lg border border-border bg-card p-3 shadow-overlay\"\n style={mentionPopupPlacement(mention)}\n >\n <div className=\"flex items-start gap-2\">\n <Txt as=\"h3\" variant=\"card-title\" className=\"min-w-0 flex-1\">\n <button type=\"button\" className=\"hover:underline\" onClick={() => onOpen(mention.source.id)}>\n {mention.source.name}\n </button>\n <Txt as=\"span\" variant=\"card-title\" tone=\"muted\">\n {' '}\n mentions{' '}\n </Txt>\n <button type=\"button\" className=\"hover:underline\" onClick={() => onOpen(mention.target.id)}>\n {mention.target.name}\n </button>\n </Txt>\n <button\n type=\"button\"\n aria-label=\"Close\"\n className=\"rounded p-0.5 text-muted-foreground hover:bg-fill hover:text-foreground\"\n onClick={onClose}\n >\n <X size={14} aria-hidden />\n </button>\n </div>\n <div className=\"min-h-0 overflow-y-auto\">\n {detail.isPending ? (\n <Txt variant=\"caption\" tone=\"muted\">\n Loading notes…\n </Txt>\n ) : notes.length === 0 ? (\n <Txt variant=\"caption\" tone=\"muted\">\n The notes that make this mention aren't in the first page of notes. Open {mention.source.name} to read them\n all.\n </Txt>\n ) : (\n <ul className=\"flex flex-col gap-2\">\n {notes.map(note => (\n <KnowledgeNoteItem\n key={note.id}\n note={note}\n pagesById={withPages(pagesById, detail.data?.related ?? [])}\n onPageClick={page => onOpen(page.id)}\n compact\n />\n ))}\n </ul>\n )}\n </div>\n </div>\n );\n}\n\nfunction SelectedPage({\n source,\n pageId,\n pagesById,\n onSelect,\n highlightMentionOf,\n}: {\n source: KnowledgeExplorerSource;\n pageId: string;\n pagesById: ReadonlyMap<string, KnowledgePagePayload>;\n onSelect: (pageId: string) => void;\n highlightMentionOf?: string;\n}) {\n const detail = source.usePage(pageId);\n const activity = (source.useActivity ?? noActivity)(pageId);\n const [moreNotes, setMoreNotes] = useState<{ pageId: string } | null>(null);\n const known = useMemo(\n () => (detail.data ? withPages(pagesById, [...detail.data.ancestors, ...detail.data.related]) : pagesById),\n [detail.data, pagesById],\n );\n\n if (detail.isPending) return <p className=\"text-ui-md p-4 text-muted-foreground\">Loading page…</p>;\n if (detail.isError || !detail.data) {\n const notFound = isNotFound(detail.error);\n return (\n <EmptyState\n tone=\"error\"\n variant=\"fill\"\n titleSlot={notFound ? 'Page not found' : 'Failed to load the page'}\n descriptionSlot={notFound ? 'It may have been deleted or merged.' : (detail.error?.message ?? '')}\n />\n );\n }\n const onPageClick = (page: KnowledgePagePayload) => onSelect(page.id);\n const next = detail.data.notesNextCursor;\n return (\n <KnowledgePageDetail\n page={detail.data.page}\n notes={detail.data.notes}\n pin={detail.data.pin ?? undefined}\n pagesById={known}\n onPageClick={onPageClick}\n highlightMentionOf={highlightMentionOf}\n ancestors={detail.data.ancestors}\n mentionedBy={detail.data.mentionedBy}\n activity={activity.data?.events}\n childPages={\n source.useTreeLevels ? (\n <ChildPages key={pageId} useTreeLevels={source.useTreeLevels} parentId={pageId} onPageClick={onPageClick} />\n ) : undefined\n }\n notesMore={\n next ? (\n moreNotes?.pageId === pageId ? (\n <MoreNotes source={source} pageId={pageId} cursor={next} pagesById={known} onPageClick={onPageClick} />\n ) : (\n <MoreButton label=\"Load more notes\" onClick={() => setMoreNotes({ pageId })} />\n )\n ) : undefined\n }\n />\n );\n}\n\nfunction SearchBox({ source, onSelect }: { source: KnowledgeExplorerSource; onSelect: (pageId: string) => void }) {\n const [query, setQuery] = useState('');\n const search = source.useSearch(query);\n const results = query.trim().length >= MIN_SEARCH_LENGTH ? (search.data?.results ?? []) : [];\n const seen = new Set<string>();\n const pages = results\n .map(hit => hit.page)\n .filter(page => (seen.has(page.id) ? false : (seen.add(page.id), true)))\n .slice(0, 10);\n return (\n <div className=\"relative min-w-60 flex-1\">\n <input\n aria-label=\"Search knowledge\"\n placeholder=\"Search pages and notes\"\n className=\"text-ui-md h-8 w-full rounded border border-border bg-card px-2\"\n value={query}\n onChange={event => setQuery(event.target.value)}\n />\n {pages.length > 0 ? (\n <ul\n role=\"listbox\"\n aria-label=\"Search results\"\n className=\"absolute z-20 mt-1 max-h-72 w-full overflow-auto rounded border border-border bg-card shadow-raised\"\n >\n {pages.map(page => (\n <li key={page.id} role=\"option\" aria-selected={false}>\n <button\n type=\"button\"\n className=\"text-ui-md w-full px-2 py-1.5 text-left hover:bg-muted\"\n onClick={() => {\n onSelect(page.id);\n setQuery('');\n }}\n >\n {page.name}\n </button>\n </li>\n ))}\n </ul>\n ) : null}\n </div>\n );\n}\n\n/**\n * The tree loaded a level at a time through `useTreeLevels`: the root scopes, then each level as it is\n * opened, plus the path to the selected page. Unloaded pages keep a chevron until opened.\n */\nfunction useLazyTree(\n source: KnowledgeExplorerSource,\n graph: KnowledgeExplorerGraph,\n selected: KnowledgeExplorerPageDetail | undefined,\n) {\n const [expanded, setExpanded] = useState<ReadonlySet<string>>(() => new Set());\n const [more, setMore] = useState<ReadonlyMap<string, string[]>>(() => new Map());\n const requests = useMemo(() => {\n const list: KnowledgeExplorerTreeRequest[] = [{ parentId: null }];\n for (const id of expanded) {\n list.push({ parentId: id });\n for (const cursor of more.get(id) ?? []) list.push({ parentId: id, cursor });\n }\n return list;\n }, [expanded, more]);\n const levels = (source.useTreeLevels ?? noTreeLevels)(requests);\n\n const { pages, loaded, nextCursor } = useMemo(() => {\n const byId = new Map<string, KnowledgePagePayload>();\n const loadedIds = new Set<string>();\n const next = new Map<string, string>();\n levels.forEach((level, index) => {\n const request = requests[index];\n if (!request || !level.data) return;\n const key = request.parentId ?? KNOWLEDGE_TREE_ROOT;\n loadedIds.add(key);\n for (const page of level.data.pages) byId.set(page.id, page);\n if (level.data.nextCursor) next.set(key, level.data.nextCursor);\n else next.delete(key);\n });\n // The selected page and its path, so the tree can open down to a page outside the loaded levels.\n for (const page of [...(selected?.ancestors ?? []), ...(selected ? [selected.page] : [])]) {\n if (!byId.has(page.id)) byId.set(page.id, page);\n }\n return { pages: [...byId.values()], loaded: loadedIds, nextCursor: next };\n }, [levels, requests, selected]);\n\n // With the whole graph loaded, its structure is complete: only pages with children get a chevron.\n const graphParents = useMemo(\n () => (graph.truncated ? null : new Set(graph.pages.map(page => page.parentId).filter(id => id !== null))),\n [graph],\n );\n const mayHaveChildren = useCallback(\n (page: KnowledgePagePayload) => !loaded.has(page.id) && (graphParents ? graphParents.has(page.id) : true),\n [loaded, graphParents],\n );\n const loadMore = useMemo(() => {\n const map = new Map<string, () => void>();\n for (const [parentId, cursor] of nextCursor) {\n map.set(parentId, () =>\n setMore(current => new Map(current).set(parentId, [...(current.get(parentId) ?? []), cursor])),\n );\n }\n return map;\n }, [nextCursor]);\n const onExpandedChange = useCallback((ids: ReadonlySet<string>) => setExpanded(new Set(ids)), []);\n\n return { pages, mayHaveChildren, loadMore, onExpandedChange, rootsPending: levels[0]?.isPending ?? false };\n}\n\n/**\n * Search, the page tree, and either the page graph or the selected page, kept in sync on one selection.\n * Wide screens show the tree beside the graph or the page; below `lg` one toggle picks tree, graph or page.\n * A first click on a page in the graph selects it; clicking it again opens it as a page. A search result\n * opens it as a page straight away. Selecting in the tree keeps the current view, so the graph frames the\n * page instead.\n */\nexport function KnowledgePageExplorer({\n graph,\n source,\n selectedPageId,\n onSelect,\n view,\n onViewChange,\n}: KnowledgePageExplorerProps) {\n const pagesById = useMemo(() => new Map(graph.pages.map(page => [page.id, page])), [graph.pages]);\n // A scope picked in the tree narrows the tree and the graph to that scope and what sits under it.\n const [focusScopeId, setFocusScopeId] = useState<string | null>(null);\n const mentionEdges = useMemo(() => graph.edges.filter(edge => edge.kind === 'mention'), [graph.edges]);\n // A clicked mention line shows the notes that make the mention; opening the page from there marks them.\n const [mention, setMention] = useState<MentionSelection | null>(null);\n const [marked, setMarked] = useState<{ source: string; target: string } | null>(null);\n const closeMention = useCallback(() => setMention(null), []);\n // Below lg the graph shares its slot with the tree. Mount it only when it is showing: a graph mounted\n // into a hidden 0×0 pane has nothing to fit and was left unfitted when the toggle revealed it.\n const narrow = useIsMobile(1024);\n const graphShown = !narrow || view === 'graph';\n const highlightMentionOf = marked && marked.source === selectedPageId ? marked.target : undefined;\n const selected = source.usePage(selectedPageId);\n const lazy = useLazyTree(source, graph, selected.data);\n const showPage = view === 'page' && !!selectedPageId;\n const openPage = (pageId: string) => {\n onSelect(pageId);\n onViewChange('page');\n };\n // From the tree: frame the page in the graph when the graph is up, otherwise open it.\n const selectFromTree = (page: KnowledgePagePayload) => {\n if (page.isScope) setFocusScopeId(page.id);\n if (view === 'graph') onSelect(page.id);\n else openPage(page.id);\n };\n // Pages reached from outside the tree (search, links, mentions) clear a focus they fall outside of.\n const openAnywhere = (pageId: string) => {\n if (focusScopeId && !withinScope([...lazy.pages, ...graph.pages], focusScopeId).some(page => page.id === pageId)) {\n setFocusScopeId(null);\n }\n openPage(pageId);\n };\n const focusScope = focusScopeId\n ? (lazy.pages.find(page => page.id === focusScopeId) ?? pagesById.get(focusScopeId))\n : undefined;\n const treePages = withinScope(source.useTreeLevels ? lazy.pages : graph.pages, focusScope ? focusScopeId : null);\n const graphPages = useMemo(\n () => withinScope(graph.pages, focusScope ? focusScopeId : null),\n [graph.pages, focusScope, focusScopeId],\n );\n const views: Array<{ value: KnowledgeExplorerView; label: string; narrowOnly?: boolean }> = [\n { value: 'tree', label: 'Tree', narrowOnly: true },\n { value: 'graph', label: 'Graph' },\n { value: 'page', label: 'Page' },\n ];\n\n return (\n <div className=\"flex min-h-0 flex-1 flex-col gap-3\">\n <div className=\"flex flex-wrap items-center gap-2\">\n <SearchBox source={source} onSelect={openAnywhere} />\n <div role=\"group\" aria-label=\"View\" className=\"flex rounded border border-border\">\n {views.map(option => (\n <button\n key={option.value}\n type=\"button\"\n aria-pressed={\n option.value === 'page'\n ? showPage\n : option.value === 'graph'\n ? !showPage && view !== 'tree'\n : view === 'tree'\n }\n disabled={option.value === 'page' && !selectedPageId}\n className={`text-ui-md px-3 py-1 disabled:opacity-50 aria-pressed:bg-muted ${option.narrowOnly ? 'lg:hidden' : ''}`}\n onClick={() => onViewChange(option.value)}\n >\n {option.label}\n </button>\n ))}\n </div>\n </div>\n {graph.truncated && !showPage ? (\n <p className=\"text-ui-sm text-muted-foreground\">\n The graph shows the first {graph.pages.length} pages. Open the tree or search to reach the rest.\n </p>\n ) : null}\n {selectedPageId && !showPage && isNotFound(selected.error) ? (\n <p role=\"alert\" className=\"text-ui-sm text-destructive-foreground\">\n Page not found. The linked page may have been deleted or merged.\n </p>\n ) : null}\n <div className=\"flex min-h-0 flex-1 flex-col gap-3 lg:flex-row\">\n <aside\n className={`min-h-0 w-full flex-1 flex-col overflow-hidden rounded-lg border border-border bg-card lg:flex lg:w-72 lg:flex-none lg:shrink-0 ${view === 'tree' ? 'flex' : 'hidden'}`}\n >\n {focusScope ? (\n <div\n className=\"flex items-center gap-2 border-b border-border bg-fill-subtle px-3 py-2\"\n data-testid=\"knowledge-scope-focus\"\n >\n <div className=\"flex min-w-0 flex-1 flex-col\">\n <Txt as=\"span\" variant=\"eyebrow\" tone=\"muted\" className=\"uppercase\">\n {focusScope.displayLabel ?? 'Scope'}\n </Txt>\n <Txt as=\"span\" variant=\"label\" tone=\"ink\" className=\"truncate\">\n {focusScope.address ?? focusScope.name}\n </Txt>\n </div>\n <button\n type=\"button\"\n className=\"text-ui-sm shrink-0 rounded px-2 py-1 text-muted-foreground hover:bg-fill hover:text-foreground\"\n onClick={() => setFocusScopeId(null)}\n >\n All scopes\n </button>\n </div>\n ) : null}\n <div className=\"min-h-0 flex-1 overflow-auto\">\n {source.useTreeLevels && lazy.rootsPending ? (\n <p className=\"px-3 py-2 text-body text-muted-foreground\">Loading pages…</p>\n ) : (\n <KnowledgePageTree\n key={focusScope ? focusScope.id : 'all'}\n pages={treePages}\n pinnedIds={graph.pinnedIds}\n selectedPageId={selectedPageId}\n onSelect={selectFromTree}\n initiallyExpanded={focusScope ? [focusScope.id] : undefined}\n {...(source.useTreeLevels\n ? {\n mayHaveChildren: lazy.mayHaveChildren,\n onExpandedChange: lazy.onExpandedChange,\n loadMore: lazy.loadMore,\n }\n : {})}\n />\n )}\n </div>\n </aside>\n {showPage ? (\n <section\n aria-label=\"Selected page\"\n className=\"min-h-0 min-w-0 flex-1 overflow-auto rounded-lg border border-border bg-card\"\n >\n <SelectedPage\n source={source}\n pageId={selectedPageId}\n pagesById={pagesById}\n onSelect={openAnywhere}\n highlightMentionOf={highlightMentionOf}\n />\n </section>\n ) : (\n <div\n className={`relative min-h-0 min-w-0 flex-1 overflow-hidden rounded-lg border border-border bg-background lg:block lg:h-full ${view === 'graph' ? 'block' : 'hidden'}`}\n data-testid=\"knowledge-graph-container\"\n >\n {graphShown ? (\n <KnowledgePageGraph\n pages={graphPages}\n edges={mentionEdges}\n pinnedIds={graph.pinnedIds}\n grants={graph.grants}\n selectedPageId={selectedPageId}\n onSelect={page => {\n onSelect(page.id);\n // Hosts resolve a `?page=` with no view to the page view, so say graph outright.\n if (view !== 'graph') onViewChange('graph');\n }}\n onOpen={page => openPage(page.id)}\n onClearSelection={() => {\n setMention(null);\n if (selectedPageId) onSelect(null);\n }}\n onMentionSelect={setMention}\n />\n ) : null}\n {mention && graphShown ? (\n <MentionPopup\n source={source}\n mention={mention}\n pagesById={pagesById}\n onClose={closeMention}\n onOpen={pageId => {\n setMarked(\n pageId === mention.source.id ? { source: mention.source.id, target: mention.target.id } : null,\n );\n setMention(null);\n openAnywhere(pageId);\n }}\n />\n ) : null}\n </div>\n )}\n </div>\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export * from '../../../src/domains/knowledge/components/KnowledgePageExplorer';