@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
@@ -1 +1 @@
1
- {"version":3,"file":"span-payload-primitives-Dyhbqaa7.js","names":[],"sources":["../src/domains/traces/components/span-payload/span-payload-tool.tsx","../src/domains/traces/components/span-payload/span-payload-primitives.tsx"],"sourcesContent":["import { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadField } from './span-payload-primitives';\nimport { getDelegatedTool, getDelegatedToolHref } from './span-payload-registry';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { ActivityHeadline } from '@/ds/components/ai/activity';\nimport { presentTool } from '@/ds/components/ai/tool-call/tool-presentation';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { useLinkComponent } from '@/lib/framework';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\n/** A tool name in a key/value list, linked to its page when the tool is a workflow or sub-agent. */\nexport function SpanToolNameValue({ toolName }: { toolName: string }) {\n const { Link, paths } = useLinkComponent();\n const href = getDelegatedToolHref(paths, toolName);\n if (!href) return <DataKeysAndValues.Value>{toolName}</DataKeysAndValues.Value>;\n return (\n <DataKeysAndValues.ValueLink href={href} as={Link}>\n {toolName}\n </DataKeysAndValues.ValueLink>\n );\n}\n\nexport function SpanPayloadTool({ value }: { value: unknown }) {\n const { Link, paths } = useLinkComponent();\n if (!isRecord(value)) return <SpanPayloadJson value={value} />;\n const call = value.type === 'tool-invocation' ? value.toolInvocation : value;\n if (!isRecord(call) || typeof call.toolName !== 'string' || !call.toolName) {\n return <SpanPayloadJson value={value} />;\n }\n const input = 'args' in call ? call.args : call.input;\n const output = 'result' in call ? call.result : call.output;\n const error = call.isError === true || call.state === 'output-error';\n const errorText = typeof call.errorText === 'string' ? call.errorText : undefined;\n const { icon: ToolIcon, label, detail, description } = presentTool(call.toolName, input);\n const delegated = getDelegatedTool(call.toolName);\n // The header toggles the body, so the workflow or agent link sits in the body rather than in it.\n const delegatedHref = getDelegatedToolHref(paths, call.toolName);\n const hasBody = Boolean(delegatedHref) || input !== undefined || output !== undefined || errorText !== undefined;\n return (\n <div data-slot=\"span-payload-tool\" className=\"flex flex-col gap-2\">\n <BadgeWrapper\n status={error ? 'error' : 'idle'}\n header={\n <ActivityHeadline icon={<ToolIcon aria-hidden />} label={label} detail={detail} description={description} />\n }\n >\n {hasBody && (\n <div className=\"flex flex-col gap-3\">\n {delegated && delegatedHref && (\n <DataKeysAndValues>\n <DataKeysAndValues.Key>{delegated.kind === 'workflow' ? 'Workflow' : 'Agent'}</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueLink href={delegatedHref} as={Link}>\n {delegated.key}\n </DataKeysAndValues.ValueLink>\n </DataKeysAndValues>\n )}\n {input !== undefined && (\n <SpanPayloadField label=\"Arguments\">\n <SpanPayloadJson value={input} />\n </SpanPayloadField>\n )}\n {output !== undefined && (\n <SpanPayloadField label=\"Result\">\n <SpanPayloadJson value={output} />\n </SpanPayloadField>\n )}\n {errorText !== undefined && (\n <SpanPayloadField label=\"Error\">\n <SpanPayloadJson value={errorText} />\n </SpanPayloadField>\n )}\n </div>\n )}\n </BadgeWrapper>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"faint\" className=\"block uppercase\">\n {children}\n </Txt>\n );\n}\n\nexport function SpanPayloadField({ label, children }: { label: ReactNode; children: ReactNode }) {\n return (\n <div data-slot=\"span-payload-field\" className=\"flex flex-col gap-1.5\">\n <SpanPayloadLabel>{label}</SpanPayloadLabel>\n {children}\n </div>\n );\n}\n\nexport function SpanPayloadMarkdown({ children }: { children: string }) {\n return (\n <div data-slot=\"span-payload-markdown\" className=\"text-foreground\">\n <MarkdownRenderer>{children}</MarkdownRenderer>\n </div>\n );\n}\n\n/** A collapsed block for secondary data (reasoning, steps, warnings…). */\nexport function SpanPayloadCollapsible({\n label,\n children,\n defaultOpen = false,\n}: {\n label: ReactNode;\n children: ReactNode;\n defaultOpen?: boolean;\n}) {\n return (\n <Collapsible defaultOpen={defaultOpen}>\n <CollapsibleTrigger className=\"flex items-center gap-1 text-meta text-placeholder uppercase\">\n <DisclosureChevron direction=\"right\" className=\"size-3\" />\n {label}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"pt-1.5\">{children}</CollapsibleContent>\n </Collapsible>\n );\n}\n\nexport interface SpanPayloadListItem {\n key: string;\n /** The item name, a link when it has a page to open. */\n name: ReactNode;\n description?: string;\n}\n\n/**\n * A scrollable list of named items with an optional description (tools, skills…). The scrollbar\n * stays visible while the list overflows, so readers can tell there are more items below.\n * `card` frames it on its own surface, for a list that stands alone in a section.\n */\nexport function SpanPayloadList({ items, slot, card }: { items: SpanPayloadListItem[]; slot: string; card?: boolean }) {\n return (\n <ScrollArea\n maxHeight=\"12rem\"\n alwaysShowScrollbar\n className={cn(card && cn(raisedSurfaceStyle, 'rounded-lg [--scroll-area-scrollbar-inset:0.5rem]'))}\n >\n <ul data-slot={slot} className={cn('flex flex-col gap-2', card ? 'p-3 pr-4' : 'pr-3')}>\n {items.map(item => (\n <li key={item.key} className=\"flex min-w-0 flex-col\">\n {item.name}\n {item.description && (\n // Payload content reads in ink like the messages around it; grey is kept for the labels.\n <Txt as=\"span\" variant=\"body-sm\" className=\"line-clamp-2\" title={item.description}>\n {item.description}\n </Txt>\n )}\n </li>\n ))}\n </ul>\n </ScrollArea>\n );\n}\n\n/** A list item name rendered as plain text. */\nexport function SpanPayloadListName({ children }: { children: string }) {\n return (\n <Txt as=\"span\" variant=\"label\" tone=\"ink\" className=\"truncate\">\n {children}\n </Txt>\n );\n}\n\n/** Tool calls as core records them: `{ toolName, args | input }` when they have that shape, JSON otherwise. */\nexport function SpanPayloadToolCalls({ toolCalls }: { toolCalls: unknown[] }) {\n return (\n <ul data-slot=\"span-payload-tool-calls\" className=\"flex flex-col gap-2\">\n {toolCalls.map((call, index) => (\n <li key={index}>\n <SpanPayloadTool value={call} />\n </li>\n ))}\n </ul>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"span-payload-primitives-B3RdahsC.js","names":[],"sources":["../src/domains/traces/components/span-payload/span-payload-tool.tsx","../src/domains/traces/components/span-payload/span-payload-primitives.tsx"],"sourcesContent":["import { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadField } from './span-payload-primitives';\nimport { getDelegatedTool, getDelegatedToolHref } from './span-payload-registry';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { ActivityHeadline } from '@/ds/components/ai/activity';\nimport { presentTool } from '@/ds/components/ai/tool-call/tool-presentation';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { useLinkComponent } from '@/lib/framework';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\n/** A tool name in a key/value list, linked to its page when the tool is a workflow or sub-agent. */\nexport function SpanToolNameValue({ toolName }: { toolName: string }) {\n const { Link, paths } = useLinkComponent();\n const href = getDelegatedToolHref(paths, toolName);\n if (!href) return <DataKeysAndValues.Value>{toolName}</DataKeysAndValues.Value>;\n return (\n <DataKeysAndValues.ValueLink href={href} as={Link}>\n {toolName}\n </DataKeysAndValues.ValueLink>\n );\n}\n\nexport function SpanPayloadTool({ value }: { value: unknown }) {\n const { Link, paths } = useLinkComponent();\n if (!isRecord(value)) return <SpanPayloadJson value={value} />;\n const call = value.type === 'tool-invocation' ? value.toolInvocation : value;\n if (!isRecord(call) || typeof call.toolName !== 'string' || !call.toolName) {\n return <SpanPayloadJson value={value} />;\n }\n const input = 'args' in call ? call.args : call.input;\n const output = 'result' in call ? call.result : call.output;\n const error = call.isError === true || call.state === 'output-error';\n const errorText = typeof call.errorText === 'string' ? call.errorText : undefined;\n const { icon: ToolIcon, label, detail, description } = presentTool(call.toolName, input);\n const delegated = getDelegatedTool(call.toolName);\n // The header toggles the body, so the workflow or agent link sits in the body rather than in it.\n const delegatedHref = getDelegatedToolHref(paths, call.toolName);\n const hasBody = Boolean(delegatedHref) || input !== undefined || output !== undefined || errorText !== undefined;\n return (\n <div data-slot=\"span-payload-tool\" className=\"flex flex-col gap-2\">\n <BadgeWrapper\n status={error ? 'error' : 'idle'}\n header={\n <ActivityHeadline icon={<ToolIcon aria-hidden />} label={label} detail={detail} description={description} />\n }\n >\n {hasBody && (\n <div className=\"flex flex-col gap-3\">\n {delegated && delegatedHref && (\n <DataKeysAndValues>\n <DataKeysAndValues.Key>{delegated.kind === 'workflow' ? 'Workflow' : 'Agent'}</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueLink href={delegatedHref} as={Link}>\n {delegated.key}\n </DataKeysAndValues.ValueLink>\n </DataKeysAndValues>\n )}\n {input !== undefined && (\n <SpanPayloadField label=\"Arguments\">\n <SpanPayloadJson value={input} />\n </SpanPayloadField>\n )}\n {output !== undefined && (\n <SpanPayloadField label=\"Result\">\n <SpanPayloadJson value={output} />\n </SpanPayloadField>\n )}\n {errorText !== undefined && (\n <SpanPayloadField label=\"Error\">\n <SpanPayloadJson value={errorText} />\n </SpanPayloadField>\n )}\n </div>\n )}\n </BadgeWrapper>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"faint\" className=\"block uppercase\">\n {children}\n </Txt>\n );\n}\n\nexport function SpanPayloadField({ label, children }: { label: ReactNode; children: ReactNode }) {\n return (\n <div data-slot=\"span-payload-field\" className=\"flex flex-col gap-1.5\">\n <SpanPayloadLabel>{label}</SpanPayloadLabel>\n {children}\n </div>\n );\n}\n\nexport function SpanPayloadMarkdown({ children }: { children: string }) {\n return (\n <div data-slot=\"span-payload-markdown\" className=\"text-foreground\">\n <MarkdownRenderer>{children}</MarkdownRenderer>\n </div>\n );\n}\n\n/** A collapsed block for secondary data (reasoning, steps, warnings…). */\nexport function SpanPayloadCollapsible({\n label,\n children,\n defaultOpen = false,\n}: {\n label: ReactNode;\n children: ReactNode;\n defaultOpen?: boolean;\n}) {\n return (\n <Collapsible defaultOpen={defaultOpen}>\n <CollapsibleTrigger className=\"flex items-center gap-1 text-meta text-placeholder uppercase\">\n <DisclosureChevron direction=\"right\" className=\"size-3\" />\n {label}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"pt-1.5\">{children}</CollapsibleContent>\n </Collapsible>\n );\n}\n\nexport interface SpanPayloadListItem {\n key: string;\n /** The item name, a link when it has a page to open. */\n name: ReactNode;\n description?: string;\n}\n\n/**\n * A scrollable list of named items with an optional description (tools, skills…). The scrollbar\n * stays visible while the list overflows, so readers can tell there are more items below.\n * `card` frames it on its own surface, for a list that stands alone in a section.\n */\nexport function SpanPayloadList({ items, slot, card }: { items: SpanPayloadListItem[]; slot: string; card?: boolean }) {\n return (\n <ScrollArea\n maxHeight=\"12rem\"\n alwaysShowScrollbar\n className={cn(card && cn(raisedSurfaceStyle, 'rounded-lg [--scroll-area-scrollbar-inset:0.5rem]'))}\n >\n <ul data-slot={slot} className={cn('flex flex-col gap-2', card ? 'p-3 pr-4' : 'pr-3')}>\n {items.map(item => (\n <li key={item.key} className=\"flex min-w-0 flex-col\">\n {item.name}\n {item.description && (\n // Payload content reads in ink like the messages around it; grey is kept for the labels.\n <Txt as=\"span\" variant=\"body-sm\" className=\"line-clamp-2\" title={item.description}>\n {item.description}\n </Txt>\n )}\n </li>\n ))}\n </ul>\n </ScrollArea>\n );\n}\n\n/** A list item name rendered as plain text. */\nexport function SpanPayloadListName({ children }: { children: string }) {\n return (\n <Txt as=\"span\" variant=\"label\" tone=\"ink\" className=\"truncate\">\n {children}\n </Txt>\n );\n}\n\n/** Tool calls as core records them: `{ toolName, args | input }` when they have that shape, JSON otherwise. */\nexport function SpanPayloadToolCalls({ toolCalls }: { toolCalls: unknown[] }) {\n return (\n <ul data-slot=\"span-payload-tool-calls\" className=\"flex flex-col gap-2\">\n {toolCalls.map((call, index) => (\n <li key={index}>\n <SpanPayloadTool value={call} />\n </li>\n ))}\n </ul>\n );\n}\n"],"mappings":"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"}
@@ -3,11 +3,11 @@ const require_utils = require("./utils-uDc1ofX1.cjs");
3
3
  require("./primitives/raised-surface.cjs.js");
4
4
  const require_scroll_area = require("./scroll-area-BP4gPZ4G.cjs");
5
5
  const require_Txt = require("./Txt-BnoSqxKE.cjs");
6
- const require_tool_presentation = require("./tool-presentation-BLErsb7c.cjs");
7
- const require_activity = require("./activity-DAK8tj7r.cjs");
6
+ const require_tool_presentation = require("./tool-presentation-CQlDEwgS.cjs");
7
+ const require_activity = require("./activity-DyB5H3gF.cjs");
8
8
  const require_components_Collapsible = require("./components/Collapsible.cjs.js");
9
9
  const require_components_DisclosureChevron = require("./components/DisclosureChevron.cjs.js");
10
- const require_MarkdownRenderer = require("./MarkdownRenderer-CS6u5drO.cjs");
10
+ const require_MarkdownRenderer = require("./MarkdownRenderer-CB8Z_CHc.cjs");
11
11
  const require_domains_chat_components_badge_wrapper = require("./domains/chat/components/badge-wrapper.cjs.js");
12
12
  const require_DataKeysAndValues = require("./DataKeysAndValues-DsH6AbAo.cjs");
13
13
  const require_domains_traces_components_span_payload_span_payload_registry = require("./domains/traces/components/span-payload/span-payload-registry.cjs.js");
@@ -214,4 +214,4 @@ Object.defineProperty(exports, "SpanToolNameValue", {
214
214
  }
215
215
  });
216
216
 
217
- //# sourceMappingURL=span-payload-primitives-B10Xxmx7.cjs.map
217
+ //# sourceMappingURL=span-payload-primitives-_2d-pAOD.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"span-payload-primitives-B10Xxmx7.cjs","names":["useLinkComponent","getDelegatedToolHref","DataKeysAndValues","SpanPayloadJson","presentTool","getDelegatedTool","BadgeWrapper","ActivityHeadline","Txt","MarkdownRenderer","Collapsible","CollapsibleTrigger","DisclosureChevron","CollapsibleContent","ScrollArea","cn"],"sources":["../src/domains/traces/components/span-payload/span-payload-tool.tsx","../src/domains/traces/components/span-payload/span-payload-primitives.tsx"],"sourcesContent":["import { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadField } from './span-payload-primitives';\nimport { getDelegatedTool, getDelegatedToolHref } from './span-payload-registry';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { ActivityHeadline } from '@/ds/components/ai/activity';\nimport { presentTool } from '@/ds/components/ai/tool-call/tool-presentation';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { useLinkComponent } from '@/lib/framework';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\n/** A tool name in a key/value list, linked to its page when the tool is a workflow or sub-agent. */\nexport function SpanToolNameValue({ toolName }: { toolName: string }) {\n const { Link, paths } = useLinkComponent();\n const href = getDelegatedToolHref(paths, toolName);\n if (!href) return <DataKeysAndValues.Value>{toolName}</DataKeysAndValues.Value>;\n return (\n <DataKeysAndValues.ValueLink href={href} as={Link}>\n {toolName}\n </DataKeysAndValues.ValueLink>\n );\n}\n\nexport function SpanPayloadTool({ value }: { value: unknown }) {\n const { Link, paths } = useLinkComponent();\n if (!isRecord(value)) return <SpanPayloadJson value={value} />;\n const call = value.type === 'tool-invocation' ? value.toolInvocation : value;\n if (!isRecord(call) || typeof call.toolName !== 'string' || !call.toolName) {\n return <SpanPayloadJson value={value} />;\n }\n const input = 'args' in call ? call.args : call.input;\n const output = 'result' in call ? call.result : call.output;\n const error = call.isError === true || call.state === 'output-error';\n const errorText = typeof call.errorText === 'string' ? call.errorText : undefined;\n const { icon: ToolIcon, label, detail, description } = presentTool(call.toolName, input);\n const delegated = getDelegatedTool(call.toolName);\n // The header toggles the body, so the workflow or agent link sits in the body rather than in it.\n const delegatedHref = getDelegatedToolHref(paths, call.toolName);\n const hasBody = Boolean(delegatedHref) || input !== undefined || output !== undefined || errorText !== undefined;\n return (\n <div data-slot=\"span-payload-tool\" className=\"flex flex-col gap-2\">\n <BadgeWrapper\n status={error ? 'error' : 'idle'}\n header={\n <ActivityHeadline icon={<ToolIcon aria-hidden />} label={label} detail={detail} description={description} />\n }\n >\n {hasBody && (\n <div className=\"flex flex-col gap-3\">\n {delegated && delegatedHref && (\n <DataKeysAndValues>\n <DataKeysAndValues.Key>{delegated.kind === 'workflow' ? 'Workflow' : 'Agent'}</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueLink href={delegatedHref} as={Link}>\n {delegated.key}\n </DataKeysAndValues.ValueLink>\n </DataKeysAndValues>\n )}\n {input !== undefined && (\n <SpanPayloadField label=\"Arguments\">\n <SpanPayloadJson value={input} />\n </SpanPayloadField>\n )}\n {output !== undefined && (\n <SpanPayloadField label=\"Result\">\n <SpanPayloadJson value={output} />\n </SpanPayloadField>\n )}\n {errorText !== undefined && (\n <SpanPayloadField label=\"Error\">\n <SpanPayloadJson value={errorText} />\n </SpanPayloadField>\n )}\n </div>\n )}\n </BadgeWrapper>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"faint\" className=\"block uppercase\">\n {children}\n </Txt>\n );\n}\n\nexport function SpanPayloadField({ label, children }: { label: ReactNode; children: ReactNode }) {\n return (\n <div data-slot=\"span-payload-field\" className=\"flex flex-col gap-1.5\">\n <SpanPayloadLabel>{label}</SpanPayloadLabel>\n {children}\n </div>\n );\n}\n\nexport function SpanPayloadMarkdown({ children }: { children: string }) {\n return (\n <div data-slot=\"span-payload-markdown\" className=\"text-foreground\">\n <MarkdownRenderer>{children}</MarkdownRenderer>\n </div>\n );\n}\n\n/** A collapsed block for secondary data (reasoning, steps, warnings…). */\nexport function SpanPayloadCollapsible({\n label,\n children,\n defaultOpen = false,\n}: {\n label: ReactNode;\n children: ReactNode;\n defaultOpen?: boolean;\n}) {\n return (\n <Collapsible defaultOpen={defaultOpen}>\n <CollapsibleTrigger className=\"flex items-center gap-1 text-meta text-placeholder uppercase\">\n <DisclosureChevron direction=\"right\" className=\"size-3\" />\n {label}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"pt-1.5\">{children}</CollapsibleContent>\n </Collapsible>\n );\n}\n\nexport interface SpanPayloadListItem {\n key: string;\n /** The item name, a link when it has a page to open. */\n name: ReactNode;\n description?: string;\n}\n\n/**\n * A scrollable list of named items with an optional description (tools, skills…). The scrollbar\n * stays visible while the list overflows, so readers can tell there are more items below.\n * `card` frames it on its own surface, for a list that stands alone in a section.\n */\nexport function SpanPayloadList({ items, slot, card }: { items: SpanPayloadListItem[]; slot: string; card?: boolean }) {\n return (\n <ScrollArea\n maxHeight=\"12rem\"\n alwaysShowScrollbar\n className={cn(card && cn(raisedSurfaceStyle, 'rounded-lg [--scroll-area-scrollbar-inset:0.5rem]'))}\n >\n <ul data-slot={slot} className={cn('flex flex-col gap-2', card ? 'p-3 pr-4' : 'pr-3')}>\n {items.map(item => (\n <li key={item.key} className=\"flex min-w-0 flex-col\">\n {item.name}\n {item.description && (\n // Payload content reads in ink like the messages around it; grey is kept for the labels.\n <Txt as=\"span\" variant=\"body-sm\" className=\"line-clamp-2\" title={item.description}>\n {item.description}\n </Txt>\n )}\n </li>\n ))}\n </ul>\n </ScrollArea>\n );\n}\n\n/** A list item name rendered as plain text. */\nexport function SpanPayloadListName({ children }: { children: string }) {\n return (\n <Txt as=\"span\" variant=\"label\" tone=\"ink\" className=\"truncate\">\n {children}\n </Txt>\n );\n}\n\n/** Tool calls as core records them: `{ toolName, args | input }` when they have that shape, JSON otherwise. */\nexport function SpanPayloadToolCalls({ toolCalls }: { toolCalls: unknown[] }) {\n return (\n <ul data-slot=\"span-payload-tool-calls\" className=\"flex flex-col gap-2\">\n {toolCalls.map((call, index) => (\n <li key={index}>\n <SpanPayloadTool value={call} />\n </li>\n ))}\n </ul>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"span-payload-primitives-_2d-pAOD.cjs","names":["useLinkComponent","getDelegatedToolHref","DataKeysAndValues","SpanPayloadJson","presentTool","getDelegatedTool","BadgeWrapper","ActivityHeadline","Txt","MarkdownRenderer","Collapsible","CollapsibleTrigger","DisclosureChevron","CollapsibleContent","ScrollArea","cn"],"sources":["../src/domains/traces/components/span-payload/span-payload-tool.tsx","../src/domains/traces/components/span-payload/span-payload-primitives.tsx"],"sourcesContent":["import { SpanPayloadJson } from './span-payload-json';\nimport { SpanPayloadField } from './span-payload-primitives';\nimport { getDelegatedTool, getDelegatedToolHref } from './span-payload-registry';\nimport { BadgeWrapper } from '@/domains/chat/components/badge-wrapper';\nimport { ActivityHeadline } from '@/ds/components/ai/activity';\nimport { presentTool } from '@/ds/components/ai/tool-call/tool-presentation';\nimport { DataKeysAndValues } from '@/ds/components/DataKeysAndValues';\nimport { useLinkComponent } from '@/lib/framework';\n\nconst isRecord = (value: unknown): value is Record<string, unknown> =>\n typeof value === 'object' && value !== null && !Array.isArray(value);\n\n/** A tool name in a key/value list, linked to its page when the tool is a workflow or sub-agent. */\nexport function SpanToolNameValue({ toolName }: { toolName: string }) {\n const { Link, paths } = useLinkComponent();\n const href = getDelegatedToolHref(paths, toolName);\n if (!href) return <DataKeysAndValues.Value>{toolName}</DataKeysAndValues.Value>;\n return (\n <DataKeysAndValues.ValueLink href={href} as={Link}>\n {toolName}\n </DataKeysAndValues.ValueLink>\n );\n}\n\nexport function SpanPayloadTool({ value }: { value: unknown }) {\n const { Link, paths } = useLinkComponent();\n if (!isRecord(value)) return <SpanPayloadJson value={value} />;\n const call = value.type === 'tool-invocation' ? value.toolInvocation : value;\n if (!isRecord(call) || typeof call.toolName !== 'string' || !call.toolName) {\n return <SpanPayloadJson value={value} />;\n }\n const input = 'args' in call ? call.args : call.input;\n const output = 'result' in call ? call.result : call.output;\n const error = call.isError === true || call.state === 'output-error';\n const errorText = typeof call.errorText === 'string' ? call.errorText : undefined;\n const { icon: ToolIcon, label, detail, description } = presentTool(call.toolName, input);\n const delegated = getDelegatedTool(call.toolName);\n // The header toggles the body, so the workflow or agent link sits in the body rather than in it.\n const delegatedHref = getDelegatedToolHref(paths, call.toolName);\n const hasBody = Boolean(delegatedHref) || input !== undefined || output !== undefined || errorText !== undefined;\n return (\n <div data-slot=\"span-payload-tool\" className=\"flex flex-col gap-2\">\n <BadgeWrapper\n status={error ? 'error' : 'idle'}\n header={\n <ActivityHeadline icon={<ToolIcon aria-hidden />} label={label} detail={detail} description={description} />\n }\n >\n {hasBody && (\n <div className=\"flex flex-col gap-3\">\n {delegated && delegatedHref && (\n <DataKeysAndValues>\n <DataKeysAndValues.Key>{delegated.kind === 'workflow' ? 'Workflow' : 'Agent'}</DataKeysAndValues.Key>\n <DataKeysAndValues.ValueLink href={delegatedHref} as={Link}>\n {delegated.key}\n </DataKeysAndValues.ValueLink>\n </DataKeysAndValues>\n )}\n {input !== undefined && (\n <SpanPayloadField label=\"Arguments\">\n <SpanPayloadJson value={input} />\n </SpanPayloadField>\n )}\n {output !== undefined && (\n <SpanPayloadField label=\"Result\">\n <SpanPayloadJson value={output} />\n </SpanPayloadField>\n )}\n {errorText !== undefined && (\n <SpanPayloadField label=\"Error\">\n <SpanPayloadJson value={errorText} />\n </SpanPayloadField>\n )}\n </div>\n )}\n </BadgeWrapper>\n </div>\n );\n}\n","import type { ReactNode } from 'react';\nimport { SpanPayloadTool } from './span-payload-tool';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/ds/components/Collapsible';\nimport { DisclosureChevron } from '@/ds/components/DisclosureChevron';\nimport { MarkdownRenderer } from '@/ds/components/MarkdownRenderer';\nimport { ScrollArea } from '@/ds/components/ScrollArea';\nimport { Txt } from '@/ds/components/Txt';\nimport { raisedSurfaceStyle } from '@/ds/primitives/raised-surface';\nimport { cn } from '@/lib/utils';\n\n/** Small-caps label above a field of a rich payload. */\nexport function SpanPayloadLabel({ children }: { children: ReactNode }) {\n return (\n <Txt as=\"span\" variant=\"meta\" tone=\"faint\" className=\"block uppercase\">\n {children}\n </Txt>\n );\n}\n\nexport function SpanPayloadField({ label, children }: { label: ReactNode; children: ReactNode }) {\n return (\n <div data-slot=\"span-payload-field\" className=\"flex flex-col gap-1.5\">\n <SpanPayloadLabel>{label}</SpanPayloadLabel>\n {children}\n </div>\n );\n}\n\nexport function SpanPayloadMarkdown({ children }: { children: string }) {\n return (\n <div data-slot=\"span-payload-markdown\" className=\"text-foreground\">\n <MarkdownRenderer>{children}</MarkdownRenderer>\n </div>\n );\n}\n\n/** A collapsed block for secondary data (reasoning, steps, warnings…). */\nexport function SpanPayloadCollapsible({\n label,\n children,\n defaultOpen = false,\n}: {\n label: ReactNode;\n children: ReactNode;\n defaultOpen?: boolean;\n}) {\n return (\n <Collapsible defaultOpen={defaultOpen}>\n <CollapsibleTrigger className=\"flex items-center gap-1 text-meta text-placeholder uppercase\">\n <DisclosureChevron direction=\"right\" className=\"size-3\" />\n {label}\n </CollapsibleTrigger>\n <CollapsibleContent className=\"pt-1.5\">{children}</CollapsibleContent>\n </Collapsible>\n );\n}\n\nexport interface SpanPayloadListItem {\n key: string;\n /** The item name, a link when it has a page to open. */\n name: ReactNode;\n description?: string;\n}\n\n/**\n * A scrollable list of named items with an optional description (tools, skills…). The scrollbar\n * stays visible while the list overflows, so readers can tell there are more items below.\n * `card` frames it on its own surface, for a list that stands alone in a section.\n */\nexport function SpanPayloadList({ items, slot, card }: { items: SpanPayloadListItem[]; slot: string; card?: boolean }) {\n return (\n <ScrollArea\n maxHeight=\"12rem\"\n alwaysShowScrollbar\n className={cn(card && cn(raisedSurfaceStyle, 'rounded-lg [--scroll-area-scrollbar-inset:0.5rem]'))}\n >\n <ul data-slot={slot} className={cn('flex flex-col gap-2', card ? 'p-3 pr-4' : 'pr-3')}>\n {items.map(item => (\n <li key={item.key} className=\"flex min-w-0 flex-col\">\n {item.name}\n {item.description && (\n // Payload content reads in ink like the messages around it; grey is kept for the labels.\n <Txt as=\"span\" variant=\"body-sm\" className=\"line-clamp-2\" title={item.description}>\n {item.description}\n </Txt>\n )}\n </li>\n ))}\n </ul>\n </ScrollArea>\n );\n}\n\n/** A list item name rendered as plain text. */\nexport function SpanPayloadListName({ children }: { children: string }) {\n return (\n <Txt as=\"span\" variant=\"label\" tone=\"ink\" className=\"truncate\">\n {children}\n </Txt>\n );\n}\n\n/** Tool calls as core records them: `{ toolName, args | input }` when they have that shape, JSON otherwise. */\nexport function SpanPayloadToolCalls({ toolCalls }: { toolCalls: unknown[] }) {\n return (\n <ul data-slot=\"span-payload-tool-calls\" className=\"flex flex-col gap-2\">\n {toolCalls.map((call, index) => (\n <li key={index}>\n <SpanPayloadTool value={call} />\n </li>\n ))}\n </ul>\n );\n}\n"],"mappings":"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"}
@@ -3,6 +3,7 @@ export * from './context/chat-context';
3
3
  export * from './context/tool-call-context';
4
4
  export * from './messages/message-metadata';
5
5
  export * from './messages/signal-data';
6
+ export * from './knowledge';
6
7
  export * from './messages/renderers/tool-part';
7
8
  export * from './context/dataset-save-context';
8
9
  export { useDatasetSaveContext } from './context/dataset-save-context-value';
@@ -0,0 +1,5 @@
1
+ export * from './knowledge-links';
2
+ export * from './pinned-knowledge';
3
+ export * from './pinned-knowledge-data';
4
+ export { KNOWLEDGE_TOOLS, knowledgeCard } from '../tools/badges/knowledge-tool-badge';
5
+ export type { KnowledgeCard } from '../tools/badges/knowledge-tool-badge';
@@ -0,0 +1,21 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { LinkComponent } from '../../../lib/framework';
3
+ interface KnowledgeLinks {
4
+ /** Undefined when this host has no page to open, e.g. a chat outside any project; the name shows as text. */
5
+ pageHref: (pageId: string) => string | undefined;
6
+ Link?: LinkComponent;
7
+ }
8
+ /**
9
+ * Where Knowledge page links in chat (tool cards, pinned Knowledge) point. Studio's default opens its own
10
+ * Knowledge page; a host with its own route (Factory's per-project page) or its own router passes both.
11
+ */
12
+ export declare function KnowledgeLinksProvider({ pageHref, Link, children }: KnowledgeLinks & {
13
+ children: ReactNode;
14
+ }): import("react").JSX.Element;
15
+ /** A link to a Knowledge page, through the host's link component and route. */
16
+ export declare function KnowledgePageLink({ pageId, children, className, }: {
17
+ pageId: string;
18
+ children: ReactNode;
19
+ className?: string;
20
+ }): import("react").JSX.Element;
21
+ export {};
@@ -0,0 +1,22 @@
1
+ import type { SignalData } from '../messages/signal-data';
2
+ /** The Studio Knowledge page for a page id, opened in Page view. */
3
+ export declare const knowledgePageHref: (pageId: string) => string;
4
+ export interface PinnedPage {
5
+ id: string;
6
+ /** From the pin itself on newer cores; read off the delivered text's `<name> (<id>): ` prefix on older ones. */
7
+ name?: string;
8
+ scope?: string;
9
+ /** What the agent was given for this pin, verbatim. */
10
+ text?: string;
11
+ }
12
+ export type PinnedRow = PinnedPage & {
13
+ change?: 'add' | 'change' | 'remove';
14
+ };
15
+ export interface PinnedKnowledge {
16
+ mode: 'snapshot' | 'delta';
17
+ rows: PinnedRow[];
18
+ /** The "Also pinned …" line when stored pins overflowed the budget. */
19
+ overflow?: string;
20
+ }
21
+ /** A signal's pinned Knowledge, or undefined when it is some other signal or a shape we don't know. */
22
+ export declare function pinnedKnowledgeFromSignal(signal: Pick<SignalData, 'tagName' | 'metadata' | 'attributes'>): PinnedKnowledge | undefined;
@@ -0,0 +1,9 @@
1
+ import type { PinnedKnowledge } from './pinned-knowledge-data';
2
+ /**
3
+ * Pinned Knowledge as the agent received it: a snapshot lists every pinned page, a delta lists the pages
4
+ * added, changed or removed since. Each page links to the Knowledge viewer; its delivered text opens below it.
5
+ */
6
+ export declare function PinnedKnowledgeActivity({ pinned, defaultOpen }: {
7
+ pinned: PinnedKnowledge;
8
+ defaultOpen?: boolean;
9
+ }): import("react").JSX.Element;
@@ -0,0 +1,19 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { MessageMetadata } from '../..';
3
+ import type { ToolApprovalRequest } from './tool-approval-badge';
4
+ import type { ActivityStatus } from '../../../../ds/components/ai/activity';
5
+ /** The tools `Knowledge.createTools()` gives an agent. */
6
+ export declare const KNOWLEDGE_TOOLS: Set<string>;
7
+ export interface KnowledgeCard {
8
+ title: string;
9
+ detail?: string;
10
+ body: ReactNode;
11
+ }
12
+ /** What each Knowledge tool's settled result says, or null when the shape isn't one we know. */
13
+ export declare function knowledgeCard(toolName: string, input: unknown, output: unknown): KnowledgeCard | null;
14
+ export interface KnowledgeToolBadgeProps extends Omit<ToolApprovalRequest, 'toolCalled'> {
15
+ card: KnowledgeCard;
16
+ metadata?: MessageMetadata;
17
+ status?: ActivityStatus;
18
+ }
19
+ export declare const KnowledgeToolBadge: ({ card, toolName, metadata, toolCallId, toolApprovalMetadata, isNetwork, status, }: KnowledgeToolBadgeProps) => import("react").JSX.Element;
@@ -2,7 +2,7 @@ import type { MessageMetadata, SuspendedToolMetadata, ToolApprovalMetadata } fro
2
2
  import type { ToolPartFields } from '../messages/renderers/tool-part';
3
3
  import type { ActivityStatus } from '../../../ds/components/ai/activity';
4
4
  /** Which card draws a call. Decided once, shared by the dispatcher and the fold. */
5
- export type ToolCardKind = 'hidden' | 'observation' | 'ask_user' | 'connect_prompt' | 'submit_plan' | 'background' | 'agent' | 'workflow' | 'file_tree' | 'sandbox' | 'code_mode' | 'mcp_app' | 'plain';
5
+ export type ToolCardKind = 'hidden' | 'observation' | 'ask_user' | 'connect_prompt' | 'submit_plan' | 'background' | 'agent' | 'workflow' | 'file_tree' | 'sandbox' | 'code_mode' | 'mcp_app' | 'knowledge' | 'plain';
6
6
  export interface ToolCardContext {
7
7
  metadata?: MessageMetadata;
8
8
  mcpAppTools?: Record<string, unknown>;
@@ -24,4 +24,4 @@ export declare const codeModeCall: (input: unknown, output: unknown) => {
24
24
  export declare function toolInteraction(metadata: MessageMetadata | undefined, toolName: string, toolCallId: string): ToolInteraction;
25
25
  /** Tools the transcript never draws: working memory updates and task tools (shown in the docked task list). */
26
26
  export declare function isHiddenTool(toolName: string): boolean;
27
- export declare function toolCardKind({ toolName, toolCallId, input, output }: ToolPartFields, { metadata, mcpAppTools }: ToolCardContext): ToolCardKind;
27
+ export declare function toolCardKind({ toolName, toolCallId, input, output, state }: ToolPartFields, { metadata, mcpAppTools }: ToolCardContext): ToolCardKind;
@@ -0,0 +1,42 @@
1
+ import type { ReactNode } from 'react';
2
+ import type { KnowledgePageActivityPayload, KnowledgeNotePayload, KnowledgePagePayload, KnowledgePinPayload } from '../pageTypes';
3
+ /** One note: who wrote it and when, its text with `[[mentions]]` linked when the page is known, and the scopes it is stamped to. */
4
+ export declare function KnowledgeNoteItem({ note, pagesById, onPageClick, highlighted, itemRef, showPage, compact, }: {
5
+ note: KnowledgeNotePayload;
6
+ pagesById: ReadonlyMap<string, KnowledgePagePayload>;
7
+ onPageClick: (page: KnowledgePagePayload) => void;
8
+ highlighted?: boolean;
9
+ itemRef?: (element: HTMLLIElement | null) => void;
10
+ /** Name the page the note sits on, for notes listed away from it. */
11
+ showPage?: boolean;
12
+ /** A tighter layout for popups. */
13
+ compact?: boolean;
14
+ }): import("react").JSX.Element;
15
+ /**
16
+ * The selected page as a page: where it sits, its body as markdown, its child
17
+ * pages, its notes (each with the scopes it is stamped to and who wrote it),
18
+ * the notes elsewhere that mention it, and its recent activity. Bodies are
19
+ * agent-written, so they render through {@link MarkdownRenderer}, which escapes
20
+ * raw HTML and drops unsafe link schemes.
21
+ *
22
+ * Paged lists take a `…More` slot the host fills with the next page's loader.
23
+ */
24
+ export declare function KnowledgePageDetail({ page, notes, pin, pagesById, onPageClick, highlightMentionOf, ancestors, mentionedBy, notesMore, childPages, activity, }: {
25
+ page: KnowledgePagePayload;
26
+ notes: KnowledgeNotePayload[];
27
+ pin?: KnowledgePinPayload;
28
+ /** Loaded pages, for scope names and mention links. */
29
+ pagesById: ReadonlyMap<string, KnowledgePagePayload>;
30
+ onPageClick: (page: KnowledgePagePayload) => void;
31
+ /** Marks the notes that mention this page, e.g. after a mention line in the graph was clicked. */
32
+ highlightMentionOf?: string;
33
+ /** Readable ancestors, root first: a breadcrumb and the page's path. */
34
+ ancestors?: KnowledgePagePayload[];
35
+ /** Notes on other pages that mention this one. */
36
+ mentionedBy?: KnowledgeNotePayload[];
37
+ /** Rendered after the notes: the host's loader for the next page of notes. */
38
+ notesMore?: ReactNode;
39
+ /** The page's children, when the host can list them. */
40
+ childPages?: ReactNode;
41
+ activity?: KnowledgePageActivityPayload[];
42
+ }): import("react").JSX.Element;
@@ -0,0 +1,80 @@
1
+ import type { KnowledgePageActivityPayload, KnowledgeNotePayload, KnowledgePageEdge, KnowledgePagePayload, KnowledgePinPayload, KnowledgeScopeGrantPayload } from '../pageTypes';
2
+ /** `tree` is only a choice below `lg`; wider screens always show the tree beside the graph or the page. */
3
+ export type KnowledgeExplorerView = 'tree' | 'graph' | 'page';
4
+ /** The bounded page graph a host loads. Without `useTreeLevels`, its pages also feed the tree. */
5
+ export interface KnowledgeExplorerGraph {
6
+ pages: KnowledgePagePayload[];
7
+ edges: KnowledgePageEdge[];
8
+ pinnedIds: string[];
9
+ /** Access grants between scopes; hosts whose server doesn't send them leave this out. */
10
+ grants?: KnowledgeScopeGrantPayload[];
11
+ truncated: boolean;
12
+ }
13
+ export interface KnowledgeExplorerPageDetail {
14
+ page: KnowledgePagePayload;
15
+ notes: KnowledgeNotePayload[];
16
+ /** Cursor for the page's next notes. */
17
+ notesNextCursor?: string;
18
+ pin?: KnowledgePinPayload | null;
19
+ /** Ancestors and referenced pages, which may sit outside the loaded graph. */
20
+ ancestors: KnowledgePagePayload[];
21
+ related: KnowledgePagePayload[];
22
+ /** Notes on other pages that mention this one. */
23
+ mentionedBy?: KnowledgeNotePayload[];
24
+ }
25
+ /** One level of the tree: a parent's child scopes then its child pages, paged. */
26
+ export interface KnowledgeExplorerTreeLevel {
27
+ pages: KnowledgePagePayload[];
28
+ nextCursor?: string;
29
+ }
30
+ export interface KnowledgeExplorerActivity {
31
+ events: KnowledgePageActivityPayload[];
32
+ }
33
+ export interface KnowledgeExplorerQueryState<T> {
34
+ data?: T;
35
+ isPending: boolean;
36
+ isError: boolean;
37
+ error: Error | null;
38
+ }
39
+ /** One request for a tree level: `parentId: null` for the root scopes. */
40
+ export interface KnowledgeExplorerTreeRequest {
41
+ parentId: string | null;
42
+ cursor?: string;
43
+ }
44
+ /**
45
+ * Host data hooks. Each host binds them to its own routes (Studio to the Mastra client, Factory to its
46
+ * project-scoped routes), so the explorer never knows a URL or an id outside the page ids it shows.
47
+ * Pass the same functions every render: they are called as hooks.
48
+ */
49
+ export interface KnowledgeExplorerSource {
50
+ /** One page; `noteCursor` fetches a later page of its notes. Disabled when `pageId` is null. */
51
+ usePage: (pageId: string | null, noteCursor?: string) => KnowledgeExplorerQueryState<KnowledgeExplorerPageDetail>;
52
+ useSearch: (query: string) => {
53
+ data?: {
54
+ results: Array<{
55
+ page: KnowledgePagePayload;
56
+ }>;
57
+ };
58
+ };
59
+ /** Tree levels, one result per request in order (e.g. `useQueries`). Enables the lazily loaded tree and child pages. */
60
+ useTreeLevels?: (requests: KnowledgeExplorerTreeRequest[]) => Array<KnowledgeExplorerQueryState<KnowledgeExplorerTreeLevel>>;
61
+ /** A page's recent activity, newest first. */
62
+ useActivity?: (pageId: string) => KnowledgeExplorerQueryState<KnowledgeExplorerActivity>;
63
+ }
64
+ export interface KnowledgePageExplorerProps {
65
+ graph: KnowledgeExplorerGraph;
66
+ source: KnowledgeExplorerSource;
67
+ selectedPageId: string | null;
68
+ /** `null` clears the selection: a click on empty graph canvas. */
69
+ onSelect: (pageId: string | null) => void;
70
+ view: KnowledgeExplorerView;
71
+ onViewChange: (view: KnowledgeExplorerView) => void;
72
+ }
73
+ /**
74
+ * Search, the page tree, and either the page graph or the selected page, kept in sync on one selection.
75
+ * Wide screens show the tree beside the graph or the page; below `lg` one toggle picks tree, graph or page.
76
+ * A first click on a page in the graph selects it; clicking it again opens it as a page. A search result
77
+ * opens it as a page straight away. Selecting in the tree keeps the current view, so the graph frames the
78
+ * page instead.
79
+ */
80
+ export declare function KnowledgePageExplorer({ graph, source, selectedPageId, onSelect, view, onViewChange, }: KnowledgePageExplorerProps): import("react").JSX.Element;
@@ -0,0 +1,35 @@
1
+ import type { KnowledgePageEdge, KnowledgePagePayload, KnowledgeScopeGrantPayload } from '../pageTypes';
2
+ export interface KnowledgePageGraphProps {
3
+ pages: KnowledgePagePayload[];
4
+ /** Mention edges between pages; parent edges are derived from `pages`. */
5
+ edges: KnowledgePageEdge[];
6
+ pinnedIds?: readonly string[];
7
+ /** Access grants between scopes, drawn from each principal scope to the scope it reaches. */
8
+ grants?: readonly KnowledgeScopeGrantPayload[];
9
+ selectedPageId?: string | null;
10
+ /** A page that wasn't selected was clicked, tapped, or activated with Enter or Space: select it. */
11
+ onSelect: (page: KnowledgePagePayload) => void;
12
+ /** The already-selected page was clicked, tapped, or activated again: open it. Without it, that only reselects. */
13
+ onOpen?: (page: KnowledgePagePayload) => void;
14
+ /** Empty canvas was clicked without moving the pointer (a pan doesn't count): clear the selection. */
15
+ onClearSelection?: () => void;
16
+ /** A mention line was clicked: notes on `source` mention `target`. `point` is where, in the graph's own box. */
17
+ onMentionSelect?: (mention: {
18
+ source: KnowledgePagePayload;
19
+ target: KnowledgePagePayload;
20
+ point: {
21
+ x: number;
22
+ y: number;
23
+ };
24
+ /** The graph's own size, so a popup can open on whichever side of `point` has room. */
25
+ pane: {
26
+ width: number;
27
+ height: number;
28
+ };
29
+ }) => void;
30
+ }
31
+ /**
32
+ * The schema-4 Knowledge page graph: scopes and pages as circles sized by how often they are mentioned,
33
+ * parent links as faint edges and mentions as solid ones. The first layout is deterministic for the same pages; later updates start from where pages already sit.
34
+ */
35
+ export declare function KnowledgePageGraph(props: KnowledgePageGraphProps): import("react").JSX.Element;
@@ -0,0 +1,27 @@
1
+ import type { KnowledgePagePayload } from '../pageTypes';
2
+ /** The key {@link KnowledgePageTree}'s `loadMore` uses for the root level. */
3
+ export declare const KNOWLEDGE_TREE_ROOT = "";
4
+ /**
5
+ * The Knowledge page tree: scopes and pages nested by parent, siblings in
6
+ * stored order. Selecting a page from elsewhere (graph, search) opens the path
7
+ * to it. Keyboard follows the WAI-ARIA tree pattern: Up/Down move, Right opens
8
+ * or enters, Left closes or goes to the parent, Enter/Space selects.
9
+ *
10
+ * A host that loads the tree a level at a time passes `mayHaveChildren` (so unloaded pages still offer
11
+ * a chevron), listens to `onExpandedChange` to load the opened levels, and passes `loadMore` for
12
+ * levels with more children to fetch.
13
+ */
14
+ export declare function KnowledgePageTree({ pages, pinnedIds, selectedPageId, onSelect, initiallyExpanded, mayHaveChildren, onExpandedChange, loadMore, 'aria-label': ariaLabel, }: {
15
+ pages: KnowledgePagePayload[];
16
+ pinnedIds?: readonly string[];
17
+ selectedPageId?: string | null;
18
+ onSelect: (page: KnowledgePagePayload) => void;
19
+ /** Ids open on first render; defaults to every root. */
20
+ initiallyExpanded?: string[];
21
+ /** True for a page whose children are not loaded yet, so it can still be opened. */
22
+ mayHaveChildren?: (page: KnowledgePagePayload) => boolean;
23
+ onExpandedChange?: (expanded: ReadonlySet<string>) => void;
24
+ /** Parent id ({@link KNOWLEDGE_TREE_ROOT} for the roots) to a loader for its next children. */
25
+ loadMore?: ReadonlyMap<string, () => void>;
26
+ 'aria-label'?: string;
27
+ }): import("react").JSX.Element;
@@ -0,0 +1,12 @@
1
+ /** Pure gate: idle once the last interaction is at least idleMs ago. */
2
+ export declare function isIdle(lastActivityAt: number, now: number, idleMs: number): boolean;
3
+ /**
4
+ * Tracks whether the user has left a surface alone for at least idleMs.
5
+ * Wire `onActivity` to capture-phase pointer/wheel handlers on the surface;
6
+ * `idle` flips false immediately on activity and back true after idleMs of
7
+ * silence (checked on a 1s tick). Starts idle — a fresh page updates freely.
8
+ */
9
+ export declare function useInteractionIdle(idleMs: number): {
10
+ idle: boolean;
11
+ onActivity: () => void;
12
+ };
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Synchronous d3-force layout for the knowledge graph. The simulation is run
3
+ * to a fixed tick count with deterministic initial positions (a phyllotaxis
4
+ * spiral over the SORTED node ids), so the same input always yields the same
5
+ * settled layout — that is what makes the layout unit-testable.
6
+ */
7
+ export interface LayoutNodeInput {
8
+ id: string;
9
+ /** Node diameter in px (drives collision radius and link distance). */
10
+ size: number;
11
+ /** Pinned position from a user drag — the simulation must not move it. */
12
+ fixed?: {
13
+ x: number;
14
+ y: number;
15
+ };
16
+ /** Warm-start position (e.g. spawn a new node near its first neighbor). */
17
+ initial?: {
18
+ x: number;
19
+ y: number;
20
+ };
21
+ /** Collision breathing room around the node (default 28; tiny record dots use less). */
22
+ padding?: number;
23
+ }
24
+ export interface LayoutEdgeInput {
25
+ source: string;
26
+ target: string;
27
+ /** A11: hug links (record dot stubs / junction spokes) stay short so record markers cluster tight. */
28
+ hug?: boolean;
29
+ }
30
+ export declare function runLayout(nodes: LayoutNodeInput[], edges: LayoutEdgeInput[], options?: {
31
+ ticks?: number;
32
+ }): Map<string, {
33
+ x: number;
34
+ y: number;
35
+ }>;
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Pure page-graph logic for the schema-4 explorer: parent links plus resolved
3
+ * mentions between loaded pages → React Flow nodes and edges. Every scope is
4
+ * one size and every page another, so a circle's size says what it is and its
5
+ * name always fits inside.
6
+ */
7
+ import type { Edge, Node } from '@xyflow/react';
8
+ import type { KnowledgePageEdge, KnowledgePagePayload, KnowledgeScopeGrantPayload } from '../pageTypes';
9
+ /**
10
+ * Edges among loaded, live pages: a parent edge for every loaded parent, and
11
+ * the given mention edges merged per source → target (counts summed). Self
12
+ * mentions and edges to unloaded pages are dropped.
13
+ */
14
+ export declare function pageGraphEdges(pages: KnowledgePagePayload[], mentionEdges?: KnowledgePageEdge[]): KnowledgePageEdge[];
15
+ /** Id of the placeholder circle for a declared principal that has no scope page yet. */
16
+ export declare function unplacedScopeId(address: string): string;
17
+ /**
18
+ * Grants as graph pages and edges. A grant from a principal with a loaded scope page draws from that
19
+ * page; one whose principal has no scope page yet draws from a placeholder scope (one per address), so
20
+ * a role nobody has written to still shows what it can reach. Grants to unloaded targets are dropped.
21
+ */
22
+ export declare function grantGraph(pages: KnowledgePagePayload[], grants?: readonly KnowledgeScopeGrantPayload[]): {
23
+ placeholders: KnowledgePagePayload[];
24
+ edges: KnowledgePageEdge[];
25
+ };
26
+ /** The page plus every page one edge away from it, either direction. */
27
+ export declare function pageNeighbourIds(pageId: string, edges: KnowledgePageEdge[]): Set<string>;
28
+ /** Circle diameters: big enough for a kind label and three lines of name. */
29
+ export declare const KNOWLEDGE_SCOPE_SIZE = 124;
30
+ export declare const KNOWLEDGE_PAGE_SIZE = 108;
31
+ export type PageFlowNode = Node<{
32
+ page: KnowledgePagePayload;
33
+ size: number;
34
+ selected: boolean;
35
+ }>;
36
+ export type PageFlowEdge = Edge<{
37
+ kind: KnowledgePageEdge['kind'];
38
+ count: number;
39
+ role?: KnowledgePageEdge['role'];
40
+ }>;
41
+ /** Converts pages and their edges to React Flow elements; positions are left to the layout. */
42
+ export declare function toPageFlow(pages: KnowledgePagePayload[], edges: KnowledgePageEdge[], selectedId?: string | null): {
43
+ nodes: PageFlowNode[];
44
+ edges: PageFlowEdge[];
45
+ };
@@ -0,0 +1,24 @@
1
+ import type { LayoutEdgeInput } from './layout';
2
+ type Point = {
3
+ x: number;
4
+ y: number;
5
+ };
6
+ export interface PageLayout {
7
+ /** Node ids, sizes and edges the positions were solved for. */
8
+ key: string;
9
+ positions: Map<string, Point>;
10
+ }
11
+ /**
12
+ * Lays out the page graph, reusing the previous layout. The same nodes and
13
+ * edges return the previous positions as they are, so a refetch or live update
14
+ * that changes nothing in the graph never moves a node or re-runs the solve.
15
+ * When most nodes were already placed, they start where they sat, new pages
16
+ * start beside a placed neighbour, and a short run only pushes apart pages that
17
+ * overlap, so the rest stay put.
18
+ * Otherwise the layout is solved from the deterministic cold start.
19
+ */
20
+ export declare function layoutPageGraph(previous: PageLayout | undefined, nodes: {
21
+ id: string;
22
+ size: number;
23
+ }[], edges: LayoutEdgeInput[]): PageLayout;
24
+ export {};
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Pure page-tree logic for the schema-4 explorer: loaded pages → a sorted
3
+ * tree, the visible rows for a set of expanded ids, and the ancestor path
4
+ * that must open to reveal a selection. Free of React so it unit-tests alone.
5
+ */
6
+ import type { KnowledgePagePayload } from '../pageTypes';
7
+ export interface KnowledgePageTreeNode {
8
+ page: KnowledgePagePayload;
9
+ children: KnowledgePageTreeNode[];
10
+ }
11
+ export interface KnowledgePageTreeRow {
12
+ page: KnowledgePagePayload;
13
+ depth: number;
14
+ hasChildren: boolean;
15
+ expanded: boolean;
16
+ }
17
+ /** Sibling order: position by UTF-16 code unit (as the store defines it), then id. */
18
+ export declare function comparePagePosition(a: KnowledgePagePayload, b: KnowledgePagePayload): number;
19
+ /**
20
+ * Builds the tree from whatever pages are loaded. A page whose parent isn't
21
+ * loaded (or is deleted/merged) becomes a root, and so does the first page (in
22
+ * sibling order) of any parent cycle, so no loaded live page is ever lost.
23
+ */
24
+ export declare function buildPageTree(pages: KnowledgePagePayload[]): KnowledgePageTreeNode[];
25
+ /** Depth-first rows for rendering, descending only into expanded pages. */
26
+ export declare function visiblePageRows(roots: KnowledgePageTreeNode[], expanded: ReadonlySet<string>): KnowledgePageTreeRow[];
27
+ /** Ids from the root down to (not including) `pageId`; stops at unloaded parents and cycles. */
28
+ export declare function pageAncestorIds(pages: KnowledgePagePayload[], pageId: string): string[];
@@ -0,0 +1,12 @@
1
+ import type { CSSProperties } from 'react';
2
+ /** Opens below the click, or above it when the click is in the lower half, never taller than the room on that side. */
3
+ export declare function mentionPopupPlacement({ point, pane, }: {
4
+ point: {
5
+ x: number;
6
+ y: number;
7
+ };
8
+ pane: {
9
+ width: number;
10
+ height: number;
11
+ };
12
+ }): CSSProperties;
@@ -0,0 +1,9 @@
1
+ /** Split knowledge record text into plain-text and [[wikilink]] segments for rendering. */
2
+ export type RecordSegment = {
3
+ type: 'text';
4
+ value: string;
5
+ } | {
6
+ type: 'wikilink';
7
+ value: string;
8
+ };
9
+ export declare function parseRecordSegments(text: string): RecordSegment[];