@mastra/playground-ui 69.0.0-alpha.0 → 69.0.0-alpha.2

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 (842) hide show
  1. package/components.css +6 -0
  2. package/dist/{CodeEditor-ZoBu3Gjw.js → CodeEditor-BqAM9L7t.js} +5 -2
  3. package/dist/{CodeEditor-ZoBu3Gjw.js.map → CodeEditor-BqAM9L7t.js.map} +1 -1
  4. package/dist/{CodeEditor-DHIDfP5g.cjs → CodeEditor-zMSUzPdX.cjs} +5 -2
  5. package/dist/{CodeEditor-DHIDfP5g.cjs.map → CodeEditor-zMSUzPdX.cjs.map} +1 -1
  6. package/dist/{Comment-rQxuMDQv.cjs → Comment-A07IvOt2.cjs} +3 -3
  7. package/dist/{Comment-rQxuMDQv.cjs.map → Comment-A07IvOt2.cjs.map} +1 -1
  8. package/dist/{Comment-2q9SomE2.js → Comment-D_gSx7oM.js} +3 -3
  9. package/dist/{Comment-2q9SomE2.js.map → Comment-D_gSx7oM.js.map} +1 -1
  10. package/dist/{Composer-u1K6edoZ.cjs → Composer-D2BqRyb5.cjs} +2 -2
  11. package/dist/Composer-D2BqRyb5.cjs.map +1 -0
  12. package/dist/{Composer-bVE8qK52.js → Composer-kjwmlIgL.js} +2 -2
  13. package/dist/Composer-kjwmlIgL.js.map +1 -0
  14. package/dist/{DataCodeSection-CTodi9wg.js → DataCodeSection-CcX8Z68Y.js} +2 -2
  15. package/dist/{DataCodeSection-CTodi9wg.js.map → DataCodeSection-CcX8Z68Y.js.map} +1 -1
  16. package/dist/{DataCodeSection-7SvRJj6f.cjs → DataCodeSection-JPGTWLcL.cjs} +2 -2
  17. package/dist/{DataCodeSection-7SvRJj6f.cjs.map → DataCodeSection-JPGTWLcL.cjs.map} +1 -1
  18. package/dist/{DataDetailsPanel-BDoD6pxx.cjs → DataDetailsPanel-DCMlaG7j.cjs} +2 -2
  19. package/dist/{DataDetailsPanel-BDoD6pxx.cjs.map → DataDetailsPanel-DCMlaG7j.cjs.map} +1 -1
  20. package/dist/{DataDetailsPanel-BU05psHL.js → DataDetailsPanel-mTfbbQho.js} +2 -2
  21. package/dist/{DataDetailsPanel-BU05psHL.js.map → DataDetailsPanel-mTfbbQho.js.map} +1 -1
  22. package/dist/{DataPanel-BRRAvWYQ.cjs → DataPanel-LfExjFpP.cjs} +2 -2
  23. package/dist/{DataPanel-BRRAvWYQ.cjs.map → DataPanel-LfExjFpP.cjs.map} +1 -1
  24. package/dist/{DataPanel-pVr5LVaK.js → DataPanel-Rv5Mb_pf.js} +2 -2
  25. package/dist/{DataPanel-pVr5LVaK.js.map → DataPanel-Rv5Mb_pf.js.map} +1 -1
  26. package/dist/{FilterBar-Kmn6gMgO.js → FilterBar-DgHNtsDI.js} +5 -5
  27. package/dist/FilterBar-DgHNtsDI.js.map +1 -0
  28. package/dist/{FilterBar-jBz6yaNu.cjs → FilterBar-O8SYau_Q.cjs} +5 -5
  29. package/dist/FilterBar-O8SYau_Q.cjs.map +1 -0
  30. package/dist/KnowledgePageGraph.css +1 -3
  31. package/dist/{MarkdownRenderer-CY8LGt-l.js → MarkdownRenderer-BSGb65Ze.js} +2 -2
  32. package/dist/{MarkdownRenderer-CY8LGt-l.js.map → MarkdownRenderer-BSGb65Ze.js.map} +1 -1
  33. package/dist/{MarkdownRenderer-CUYpmuPh.cjs → MarkdownRenderer-CDwlvw0Y.cjs} +2 -2
  34. package/dist/{MarkdownRenderer-CUYpmuPh.cjs.map → MarkdownRenderer-CDwlvw0Y.cjs.map} +1 -1
  35. package/dist/{MetricsCard-DojbLiEx.cjs → MetricsCard-CSJ4TsNq.cjs} +3 -3
  36. package/dist/MetricsCard-CSJ4TsNq.cjs.map +1 -0
  37. package/dist/{MetricsCard-kAqSCPPe.js → MetricsCard-D6bQfynP.js} +3 -3
  38. package/dist/MetricsCard-D6bQfynP.js.map +1 -0
  39. package/dist/{Tree-Caz4FTCU.cjs → Tree-6pubDJLQ.cjs} +4 -3
  40. package/dist/Tree-6pubDJLQ.cjs.map +1 -0
  41. package/dist/{Tree-od43gLMO.js → Tree-DpRLmis3.js} +4 -3
  42. package/dist/Tree-DpRLmis3.js.map +1 -0
  43. package/dist/{Workflow-mIbUYdv0.js → Workflow-BVVYys0W.js} +3 -3
  44. package/dist/{Workflow-mIbUYdv0.js.map → Workflow-BVVYys0W.js.map} +1 -1
  45. package/dist/{Workflow-XR5L-3cJ.cjs → Workflow-CwIjxwC6.cjs} +3 -3
  46. package/dist/{Workflow-XR5L-3cJ.cjs.map → Workflow-CwIjxwC6.cjs.map} +1 -1
  47. package/dist/{activity-ClFChYfl.js → activity-BH_eegMA.js} +2 -2
  48. package/dist/{activity-ClFChYfl.js.map → activity-BH_eegMA.js.map} +1 -1
  49. package/dist/{activity-BprmG6yH.cjs → activity-Ciolopq8.cjs} +2 -2
  50. package/dist/{activity-BprmG6yH.cjs.map → activity-Ciolopq8.cjs.map} +1 -1
  51. package/dist/{ask-user-D4ezQ6pt.js → ask-user-CqzPUD9E.js} +2 -2
  52. package/dist/{ask-user-D4ezQ6pt.js.map → ask-user-CqzPUD9E.js.map} +1 -1
  53. package/dist/{ask-user-DcnUNMM5.cjs → ask-user-DIYcPkoX.cjs} +2 -2
  54. package/dist/{ask-user-DcnUNMM5.cjs.map → ask-user-DIYcPkoX.cjs.map} +1 -1
  55. package/dist/{combobox-lbSxWRMl.js → combobox-DLdInLYm.js} +2 -2
  56. package/dist/{combobox-lbSxWRMl.js.map → combobox-DLdInLYm.js.map} +1 -1
  57. package/dist/{combobox-i723LxeC.cjs → combobox-DU2jsrGa.cjs} +2 -2
  58. package/dist/{combobox-i723LxeC.cjs.map → combobox-DU2jsrGa.cjs.map} +1 -1
  59. package/dist/{combobox-parts-BeNqgCbj.cjs → combobox-parts-C236ZHtn.cjs} +2 -2
  60. package/dist/combobox-parts-C236ZHtn.cjs.map +1 -0
  61. package/dist/{combobox-parts-C9o4UfH_.js → combobox-parts-_m3Qgmci.js} +2 -2
  62. package/dist/combobox-parts-_m3Qgmci.js.map +1 -0
  63. package/dist/components/Breadcrumb.cjs.js.map +1 -1
  64. package/dist/components/Breadcrumb.es.js.map +1 -1
  65. package/dist/components/CodeBlock.cjs.js +1 -1
  66. package/dist/components/CodeBlock.es.js +1 -1
  67. package/dist/components/CodeEditor.cjs.js +1 -1
  68. package/dist/components/CodeEditor.es.js +1 -1
  69. package/dist/components/Combobox.cjs.js +2 -2
  70. package/dist/components/Combobox.es.js +2 -2
  71. package/dist/components/Command.cjs.js +1 -1
  72. package/dist/components/Command.cjs.js.map +1 -1
  73. package/dist/components/Command.es.js +1 -1
  74. package/dist/components/Command.es.js.map +1 -1
  75. package/dist/components/Comment.cjs.js +1 -1
  76. package/dist/components/Comment.es.js +1 -1
  77. package/dist/components/Composer.cjs.js +1 -1
  78. package/dist/components/Composer.es.js +1 -1
  79. package/dist/components/DataCodeSection.cjs.js +1 -1
  80. package/dist/components/DataCodeSection.es.js +1 -1
  81. package/dist/components/DataDetailsPanel.cjs.js +1 -1
  82. package/dist/components/DataDetailsPanel.es.js +1 -1
  83. package/dist/components/DataList.cjs.js +1 -1
  84. package/dist/components/DataList.es.js +1 -1
  85. package/dist/components/DataPanel.cjs.js +1 -1
  86. package/dist/components/DataPanel.es.js +1 -1
  87. package/dist/components/DateTimePicker.cjs.js +1 -1
  88. package/dist/components/DateTimePicker.es.js +1 -1
  89. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  90. package/dist/components/DateTimeRangePicker.es.js +1 -1
  91. package/dist/components/DropdownMenu.cjs.js +1 -1
  92. package/dist/components/DropdownMenu.es.js +1 -1
  93. package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
  94. package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
  95. package/dist/components/FilterBar.cjs.js +3 -3
  96. package/dist/components/FilterBar.es.js +3 -3
  97. package/dist/components/FormFieldBlocks.cjs.js +1 -1
  98. package/dist/components/FormFieldBlocks.es.js +1 -1
  99. package/dist/components/Input.cjs.js +1 -1
  100. package/dist/components/Input.es.js +1 -1
  101. package/dist/components/InputGroup.cjs.js +1 -1
  102. package/dist/components/InputGroup.es.js +1 -1
  103. package/dist/components/InputNumber.cjs.js +1 -1
  104. package/dist/components/InputNumber.es.js +1 -1
  105. package/dist/components/JSONSchemaForm.cjs.js +1 -1
  106. package/dist/components/JSONSchemaForm.es.js +1 -1
  107. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  108. package/dist/components/MarkdownRenderer.es.js +1 -1
  109. package/dist/components/MetricsCard.cjs.js +1 -1
  110. package/dist/components/MetricsCard.es.js +1 -1
  111. package/dist/components/PropertyFilter.cjs.js +2 -2
  112. package/dist/components/PropertyFilter.es.js +2 -2
  113. package/dist/components/RuleBuilder.cjs.js +1 -1
  114. package/dist/components/RuleBuilder.es.js +1 -1
  115. package/dist/components/SavedViews.cjs.js +3 -3
  116. package/dist/components/SavedViews.cjs.js.map +1 -1
  117. package/dist/components/SavedViews.es.js +3 -3
  118. package/dist/components/SavedViews.es.js.map +1 -1
  119. package/dist/components/SearchInput.cjs.js +1 -1
  120. package/dist/components/SearchInput.es.js +1 -1
  121. package/dist/components/SideDialog.cjs.js +1 -1
  122. package/dist/components/SideDialog.es.js +1 -1
  123. package/dist/components/Sidebar.cjs.js +1 -1
  124. package/dist/components/Sidebar.es.js +1 -1
  125. package/dist/components/Tabs.cjs.js +2 -2
  126. package/dist/components/Tabs.es.js +2 -2
  127. package/dist/components/Textarea.cjs.js +1 -1
  128. package/dist/components/Textarea.cjs.js.map +1 -1
  129. package/dist/components/Textarea.es.js +1 -1
  130. package/dist/components/Textarea.es.js.map +1 -1
  131. package/dist/components/ThreadRail.cjs.js +2 -0
  132. package/dist/components/ThreadRail.cjs.js.map +1 -1
  133. package/dist/components/ThreadRail.es.js +2 -0
  134. package/dist/components/ThreadRail.es.js.map +1 -1
  135. package/dist/components/Tree.cjs.js +1 -1
  136. package/dist/components/Tree.es.js +1 -1
  137. package/dist/components/Workflow.cjs.js +1 -1
  138. package/dist/components/Workflow.es.js +1 -1
  139. package/dist/components/ai/activity.cjs.js +1 -1
  140. package/dist/components/ai/activity.es.js +1 -1
  141. package/dist/components/ai/ask-user.cjs.js +1 -1
  142. package/dist/components/ai/ask-user.es.js +1 -1
  143. package/dist/components/ai/plan.cjs.js +1 -1
  144. package/dist/components/ai/plan.es.js +1 -1
  145. package/dist/components/ai/tool-approval.cjs.js +1 -1
  146. package/dist/components/ai/tool-approval.es.js +1 -1
  147. package/dist/components/ai/tool-call.cjs.js +1 -1
  148. package/dist/components/ai/tool-call.es.js +1 -1
  149. package/dist/{date-time-range-picker-DdNgKD87.js → date-time-range-picker-CJyhcug7.js} +3 -3
  150. package/dist/{date-time-range-picker-DdNgKD87.js.map → date-time-range-picker-CJyhcug7.js.map} +1 -1
  151. package/dist/{date-time-range-picker-Bq-8IPtS.cjs → date-time-range-picker-Dhnuwa-U.cjs} +3 -3
  152. package/dist/{date-time-range-picker-Bq-8IPtS.cjs.map → date-time-range-picker-Dhnuwa-U.cjs.map} +1 -1
  153. package/dist/domains/chat/activity/activity-stretch-line.cjs.js +1 -1
  154. package/dist/domains/chat/activity/activity-stretch-line.es.js +1 -1
  155. package/dist/domains/chat/activity/components/activity-fold.cjs.js +1 -1
  156. package/dist/domains/chat/activity/components/activity-fold.es.js +1 -1
  157. package/dist/domains/chat/activity/components/calls-panel.cjs.js +1 -1
  158. package/dist/domains/chat/activity/components/calls-panel.es.js +1 -1
  159. package/dist/domains/chat/activity/components/stretch-content.cjs.js +1 -1
  160. package/dist/domains/chat/activity/components/stretch-content.es.js +1 -1
  161. package/dist/domains/chat/activity/components/stretch-thought.cjs.js +1 -1
  162. package/dist/domains/chat/activity/components/stretch-thought.es.js +1 -1
  163. package/dist/domains/chat/activity/model/activity-segments.cjs.js +1 -1
  164. package/dist/domains/chat/activity/model/activity-segments.es.js +1 -1
  165. package/dist/domains/chat/activity/model/activity-words.cjs.js +1 -1
  166. package/dist/domains/chat/activity/model/activity-words.es.js +1 -1
  167. package/dist/domains/chat/attachments/composer-attachment-list.cjs.js +1 -1
  168. package/dist/domains/chat/attachments/composer-attachment-list.es.js +1 -1
  169. package/dist/domains/chat/attachments/split-message-attachments.cjs.js +4 -1
  170. package/dist/domains/chat/attachments/split-message-attachments.cjs.js.map +1 -1
  171. package/dist/domains/chat/attachments/split-message-attachments.es.js +4 -1
  172. package/dist/domains/chat/attachments/split-message-attachments.es.js.map +1 -1
  173. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  174. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  175. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +1 -1
  176. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +1 -1
  177. package/dist/domains/chat/knowledge/pinned-knowledge.cjs.js +1 -1
  178. package/dist/domains/chat/knowledge/pinned-knowledge.es.js +1 -1
  179. package/dist/domains/chat/messages/dataset-save-action.cjs.js +1 -1
  180. package/dist/domains/chat/messages/dataset-save-action.es.js +1 -1
  181. package/dist/domains/chat/messages/message-row.cjs.js +2 -2
  182. package/dist/domains/chat/messages/message-row.es.js +2 -2
  183. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  184. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  185. package/dist/domains/chat/messages/reasoning-content.cjs.js +1 -1
  186. package/dist/domains/chat/messages/reasoning-content.es.js +1 -1
  187. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  188. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  189. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  190. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  191. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  192. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  193. package/dist/domains/chat/messages/skill-message.cjs.js +2 -2
  194. package/dist/domains/chat/messages/skill-message.es.js +2 -2
  195. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  196. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  197. package/dist/domains/chat/messages/tripwire-notice.cjs.js +5 -10
  198. package/dist/domains/chat/messages/tripwire-notice.cjs.js.map +1 -1
  199. package/dist/domains/chat/messages/tripwire-notice.es.js +5 -10
  200. package/dist/domains/chat/messages/tripwire-notice.es.js.map +1 -1
  201. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  202. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  203. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +1 -1
  204. package/dist/domains/chat/tools/badges/agent-badge.es.js +1 -1
  205. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  206. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  207. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +1 -1
  208. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +1 -1
  209. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +1 -1
  210. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +1 -1
  211. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +1 -1
  212. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +1 -1
  213. package/dist/domains/chat/tools/badges/knowledge-tool-badge.cjs.js +2 -2
  214. package/dist/domains/chat/tools/badges/knowledge-tool-badge.es.js +2 -2
  215. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
  216. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
  217. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
  218. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
  219. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  220. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  221. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +1 -1
  222. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +1 -1
  223. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  224. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  225. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +2 -2
  226. package/dist/domains/chat/tools/badges/tool-badge.es.js +2 -2
  227. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +2 -2
  228. package/dist/domains/chat/tools/badges/workflow-badge.es.js +2 -2
  229. package/dist/domains/chat/tools/mcp-input-request-tool.cjs.js +2 -2
  230. package/dist/domains/chat/tools/mcp-input-request-tool.es.js +2 -2
  231. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  232. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  233. package/dist/domains/chat/tools/tool-groups.cjs.js +1 -1
  234. package/dist/domains/chat/tools/tool-groups.es.js +1 -1
  235. package/dist/domains/dashboards/components/connected-widget.cjs.js +55 -0
  236. package/dist/domains/dashboards/components/connected-widget.cjs.js.map +1 -0
  237. package/dist/domains/dashboards/components/connected-widget.d.ts +1 -0
  238. package/dist/domains/dashboards/components/connected-widget.es.js +54 -0
  239. package/dist/domains/dashboards/components/connected-widget.es.js.map +1 -0
  240. package/dist/domains/dashboards/components/dashboard-renderer.cjs.js +13 -8
  241. package/dist/domains/dashboards/components/dashboard-renderer.cjs.js.map +1 -1
  242. package/dist/domains/dashboards/components/dashboard-renderer.es.js +13 -8
  243. package/dist/domains/dashboards/components/dashboard-renderer.es.js.map +1 -1
  244. package/dist/domains/dashboards/components/stateless-widget.cjs.js +30 -0
  245. package/dist/domains/dashboards/components/stateless-widget.cjs.js.map +1 -0
  246. package/dist/domains/dashboards/components/stateless-widget.d.ts +1 -0
  247. package/dist/domains/dashboards/components/stateless-widget.es.js +29 -0
  248. package/dist/domains/dashboards/components/stateless-widget.es.js.map +1 -0
  249. package/dist/domains/dashboards/components/view-gate.cjs.js +18 -40
  250. package/dist/domains/dashboards/components/view-gate.cjs.js.map +1 -1
  251. package/dist/domains/dashboards/components/view-gate.es.js +18 -40
  252. package/dist/domains/dashboards/components/view-gate.es.js.map +1 -1
  253. package/dist/domains/dashboards/components/widget-chrome.cjs.js +1 -1
  254. package/dist/domains/dashboards/components/widget-chrome.es.js +1 -1
  255. package/dist/domains/dashboards/components/widget-controls.cjs.js +106 -0
  256. package/dist/domains/dashboards/components/widget-controls.cjs.js.map +1 -1
  257. package/dist/domains/dashboards/components/widget-controls.es.js +107 -3
  258. package/dist/domains/dashboards/components/widget-controls.es.js.map +1 -1
  259. package/dist/domains/dashboards/components/widget-error.cjs.js +1 -1
  260. package/dist/domains/dashboards/components/widget-error.es.js +1 -1
  261. package/dist/domains/dashboards/hooks/use-dashboard-environment.cjs.js +55 -0
  262. package/dist/domains/dashboards/hooks/use-dashboard-environment.cjs.js.map +1 -0
  263. package/dist/domains/dashboards/hooks/use-dashboard-environment.d.ts +1 -0
  264. package/dist/domains/dashboards/hooks/use-dashboard-environment.es.js +53 -0
  265. package/dist/domains/dashboards/hooks/use-dashboard-environment.es.js.map +1 -0
  266. package/dist/domains/dashboards/hooks/use-dashboard-requests.cjs.js +24 -0
  267. package/dist/domains/dashboards/hooks/use-dashboard-requests.cjs.js.map +1 -1
  268. package/dist/domains/dashboards/hooks/use-dashboard-requests.es.js +23 -1
  269. package/dist/domains/dashboards/hooks/use-dashboard-requests.es.js.map +1 -1
  270. package/dist/domains/dashboards/hooks/use-widget-views.cjs.js +10 -6
  271. package/dist/domains/dashboards/hooks/use-widget-views.cjs.js.map +1 -1
  272. package/dist/domains/dashboards/hooks/use-widget-views.es.js +10 -7
  273. package/dist/domains/dashboards/hooks/use-widget-views.es.js.map +1 -1
  274. package/dist/domains/dashboards/kinds/kpis/kpis-plan.cjs.js +11 -0
  275. package/dist/domains/dashboards/kinds/kpis/kpis-plan.cjs.js.map +1 -0
  276. package/dist/domains/dashboards/kinds/kpis/kpis-plan.d.ts +1 -0
  277. package/dist/domains/dashboards/kinds/kpis/kpis-plan.es.js +9 -0
  278. package/dist/domains/dashboards/kinds/kpis/kpis-plan.es.js.map +1 -0
  279. package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js +18 -19
  280. package/dist/domains/dashboards/kinds/kpis/kpis-widget.cjs.js.map +1 -1
  281. package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js +18 -19
  282. package/dist/domains/dashboards/kinds/kpis/kpis-widget.es.js.map +1 -1
  283. package/dist/domains/dashboards/kinds/kpis.cjs.js +3 -0
  284. package/dist/domains/dashboards/kinds/kpis.cjs.js.map +1 -1
  285. package/dist/domains/dashboards/kinds/kpis.es.js +3 -0
  286. package/dist/domains/dashboards/kinds/kpis.es.js.map +1 -1
  287. package/dist/domains/dashboards/kinds/scores/scores-plan.cjs.js +27 -0
  288. package/dist/domains/dashboards/kinds/scores/scores-plan.cjs.js.map +1 -0
  289. package/dist/domains/dashboards/kinds/scores/scores-plan.d.ts +1 -0
  290. package/dist/domains/dashboards/kinds/scores/scores-plan.es.js +24 -0
  291. package/dist/domains/dashboards/kinds/scores/scores-plan.es.js.map +1 -0
  292. package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js +25 -32
  293. package/dist/domains/dashboards/kinds/scores/scores-widget.cjs.js.map +1 -1
  294. package/dist/domains/dashboards/kinds/scores/scores-widget.es.js +26 -33
  295. package/dist/domains/dashboards/kinds/scores/scores-widget.es.js.map +1 -1
  296. package/dist/domains/dashboards/kinds/scores.cjs.js +4 -0
  297. package/dist/domains/dashboards/kinds/scores.cjs.js.map +1 -1
  298. package/dist/domains/dashboards/kinds/scores.es.js +4 -0
  299. package/dist/domains/dashboards/kinds/scores.es.js.map +1 -1
  300. package/dist/domains/dashboards/kinds/table/table-cells.cjs.js +2 -6
  301. package/dist/domains/dashboards/kinds/table/table-cells.cjs.js.map +1 -1
  302. package/dist/domains/dashboards/kinds/table/table-cells.es.js +2 -6
  303. package/dist/domains/dashboards/kinds/table/table-cells.es.js.map +1 -1
  304. package/dist/domains/dashboards/kinds/table/table-columns.cjs.js +5 -3
  305. package/dist/domains/dashboards/kinds/table/table-columns.cjs.js.map +1 -1
  306. package/dist/domains/dashboards/kinds/table/table-columns.es.js +5 -3
  307. package/dist/domains/dashboards/kinds/table/table-columns.es.js.map +1 -1
  308. package/dist/domains/dashboards/kinds/table/table-plan.cjs.js +47 -0
  309. package/dist/domains/dashboards/kinds/table/table-plan.cjs.js.map +1 -0
  310. package/dist/domains/dashboards/kinds/table/table-plan.d.ts +1 -0
  311. package/dist/domains/dashboards/kinds/table/table-plan.es.js +44 -0
  312. package/dist/domains/dashboards/kinds/table/table-plan.es.js.map +1 -0
  313. package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js +20 -26
  314. package/dist/domains/dashboards/kinds/table/table-tabs.cjs.js.map +1 -1
  315. package/dist/domains/dashboards/kinds/table/table-tabs.es.js +22 -28
  316. package/dist/domains/dashboards/kinds/table/table-tabs.es.js.map +1 -1
  317. package/dist/domains/dashboards/kinds/table/table-view.cjs.js +13 -13
  318. package/dist/domains/dashboards/kinds/table/table-view.cjs.js.map +1 -1
  319. package/dist/domains/dashboards/kinds/table/table-view.es.js +14 -14
  320. package/dist/domains/dashboards/kinds/table/table-view.es.js.map +1 -1
  321. package/dist/domains/dashboards/kinds/table/table-widget.cjs.js +13 -17
  322. package/dist/domains/dashboards/kinds/table/table-widget.cjs.js.map +1 -1
  323. package/dist/domains/dashboards/kinds/table/table-widget.es.js +13 -17
  324. package/dist/domains/dashboards/kinds/table/table-widget.es.js.map +1 -1
  325. package/dist/domains/dashboards/kinds/table.cjs.js +4 -0
  326. package/dist/domains/dashboards/kinds/table.cjs.js.map +1 -1
  327. package/dist/domains/dashboards/kinds/table.es.js +4 -0
  328. package/dist/domains/dashboards/kinds/table.es.js.map +1 -1
  329. package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.cjs.js +18 -0
  330. package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.cjs.js.map +1 -0
  331. package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.d.ts +1 -0
  332. package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.es.js +16 -0
  333. package/dist/domains/dashboards/kinds/timeseries/timeseries-plan.es.js.map +1 -0
  334. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js +22 -22
  335. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.cjs.js.map +1 -1
  336. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js +25 -25
  337. package/dist/domains/dashboards/kinds/timeseries/timeseries-widget.es.js.map +1 -1
  338. package/dist/domains/dashboards/kinds/timeseries.cjs.js +3 -0
  339. package/dist/domains/dashboards/kinds/timeseries.cjs.js.map +1 -1
  340. package/dist/domains/dashboards/kinds/timeseries.es.js +3 -0
  341. package/dist/domains/dashboards/kinds/timeseries.es.js.map +1 -1
  342. package/dist/domains/dashboards/lib/alert-actions.cjs.js +123 -0
  343. package/dist/domains/dashboards/lib/alert-actions.cjs.js.map +1 -0
  344. package/dist/domains/dashboards/lib/alert-actions.d.ts +1 -0
  345. package/dist/domains/dashboards/lib/alert-actions.es.js +118 -0
  346. package/dist/domains/dashboards/lib/alert-actions.es.js.map +1 -0
  347. package/dist/domains/dashboards/lib/gate.cjs.js +62 -0
  348. package/dist/domains/dashboards/lib/gate.cjs.js.map +1 -0
  349. package/dist/domains/dashboards/lib/gate.d.ts +1 -0
  350. package/dist/domains/dashboards/lib/gate.es.js +60 -0
  351. package/dist/domains/dashboards/lib/gate.es.js.map +1 -0
  352. package/dist/domains/dashboards/lib/plan-widget.cjs.js +41 -0
  353. package/dist/domains/dashboards/lib/plan-widget.cjs.js.map +1 -0
  354. package/dist/domains/dashboards/lib/plan-widget.d.ts +1 -0
  355. package/dist/domains/dashboards/lib/plan-widget.es.js +38 -0
  356. package/dist/domains/dashboards/lib/plan-widget.es.js.map +1 -0
  357. package/dist/domains/dashboards/lib/requests.cjs.js +47 -0
  358. package/dist/domains/dashboards/lib/requests.cjs.js.map +1 -1
  359. package/dist/domains/dashboards/lib/requests.es.js +46 -1
  360. package/dist/domains/dashboards/lib/requests.es.js.map +1 -1
  361. package/dist/domains/dashboards/lib/scores.cjs.js +32 -0
  362. package/dist/domains/dashboards/lib/scores.cjs.js.map +1 -1
  363. package/dist/domains/dashboards/lib/scores.es.js +31 -1
  364. package/dist/domains/dashboards/lib/scores.es.js.map +1 -1
  365. package/dist/domains/dashboards/lib/timeseries.cjs.js +17 -0
  366. package/dist/domains/dashboards/lib/timeseries.cjs.js.map +1 -1
  367. package/dist/domains/dashboards/lib/timeseries.es.js +17 -1
  368. package/dist/domains/dashboards/lib/timeseries.es.js.map +1 -1
  369. package/dist/domains/dashboards/lib/values.cjs.js.map +1 -1
  370. package/dist/domains/dashboards/lib/values.es.js.map +1 -1
  371. package/dist/domains/dashboards/widget-kind.cjs.js.map +1 -1
  372. package/dist/domains/dashboards/widget-kind.es.js.map +1 -1
  373. package/dist/domains/dashboards.cjs.js +19 -2
  374. package/dist/domains/dashboards.es.js +9 -5
  375. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.cjs.js +1 -1
  376. package/dist/domains/datasets/components/add-dataset-item-dialog/add-dataset-item-dialog.es.js +1 -1
  377. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.cjs.js +2 -2
  378. package/dist/domains/datasets/components/add-dataset-item-dialog/trajectory-editor.es.js +2 -2
  379. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +2 -2
  380. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +2 -2
  381. package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js +186 -212
  382. package/dist/domains/knowledge/components/KnowledgePageDetail.cjs.js.map +1 -1
  383. package/dist/domains/knowledge/components/KnowledgePageDetail.es.js +188 -215
  384. package/dist/domains/knowledge/components/KnowledgePageDetail.es.js.map +1 -1
  385. package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js +620 -268
  386. package/dist/domains/knowledge/components/KnowledgePageExplorer.cjs.js.map +1 -1
  387. package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js +622 -270
  388. package/dist/domains/knowledge/components/KnowledgePageExplorer.es.js.map +1 -1
  389. package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js +544 -454
  390. package/dist/domains/knowledge/components/KnowledgePageGraph.cjs.js.map +1 -1
  391. package/dist/domains/knowledge/components/KnowledgePageGraph.es.js +548 -458
  392. package/dist/domains/knowledge/components/KnowledgePageGraph.es.js.map +1 -1
  393. package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js +21 -12
  394. package/dist/domains/knowledge/components/KnowledgePageTree.cjs.js.map +1 -1
  395. package/dist/domains/knowledge/components/KnowledgePageTree.es.js +22 -13
  396. package/dist/domains/knowledge/components/KnowledgePageTree.es.js.map +1 -1
  397. package/dist/domains/knowledge/components/KnowledgeSourceIcon.cjs.js +16 -0
  398. package/dist/domains/knowledge/components/KnowledgeSourceIcon.cjs.js.map +1 -0
  399. package/dist/domains/knowledge/components/KnowledgeSourceIcon.d.ts +1 -0
  400. package/dist/domains/knowledge/components/KnowledgeSourceIcon.es.js +15 -0
  401. package/dist/domains/knowledge/components/KnowledgeSourceIcon.es.js.map +1 -0
  402. package/dist/domains/knowledge/components/KnowledgeTooltip.cjs.js +10 -0
  403. package/dist/domains/knowledge/components/KnowledgeTooltip.cjs.js.map +1 -0
  404. package/dist/domains/knowledge/components/KnowledgeTooltip.d.ts +1 -0
  405. package/dist/domains/knowledge/components/KnowledgeTooltip.es.js +9 -0
  406. package/dist/domains/knowledge/components/KnowledgeTooltip.es.js.map +1 -0
  407. package/dist/domains/knowledge/lib/fitViewport.cjs.js +22 -8
  408. package/dist/domains/knowledge/lib/fitViewport.cjs.js.map +1 -1
  409. package/dist/domains/knowledge/lib/fitViewport.es.js +22 -9
  410. package/dist/domains/knowledge/lib/fitViewport.es.js.map +1 -1
  411. package/dist/domains/knowledge/lib/pageAddress.cjs.js +51 -0
  412. package/dist/domains/knowledge/lib/pageAddress.cjs.js.map +1 -1
  413. package/dist/domains/knowledge/lib/pageAddress.es.js +50 -1
  414. package/dist/domains/knowledge/lib/pageAddress.es.js.map +1 -1
  415. package/dist/domains/knowledge/lib/pageRefs.cjs.js +43 -2
  416. package/dist/domains/knowledge/lib/pageRefs.cjs.js.map +1 -1
  417. package/dist/domains/knowledge/lib/pageRefs.es.js +43 -3
  418. package/dist/domains/knowledge/lib/pageRefs.es.js.map +1 -1
  419. package/dist/domains/knowledge/lib/pagesByRefContext.cjs.js +10 -0
  420. package/dist/domains/knowledge/lib/pagesByRefContext.cjs.js.map +1 -0
  421. package/dist/domains/knowledge/lib/pagesByRefContext.d.ts +1 -0
  422. package/dist/domains/knowledge/lib/pagesByRefContext.es.js +10 -0
  423. package/dist/domains/knowledge/lib/pagesByRefContext.es.js.map +1 -0
  424. package/dist/domains/logs/components/log-data-panel.cjs.js +1 -1
  425. package/dist/domains/logs/components/log-data-panel.es.js +1 -1
  426. package/dist/domains/logs/components/logs-saved-views.cjs.js +1 -1
  427. package/dist/domains/logs/components/logs-saved-views.es.js +1 -1
  428. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  429. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  430. package/dist/domains/mcps/components/mcp-app-tool-result.cjs.js +28 -3
  431. package/dist/domains/mcps/components/mcp-app-tool-result.cjs.js.map +1 -1
  432. package/dist/domains/mcps/components/mcp-app-tool-result.es.js +27 -2
  433. package/dist/domains/mcps/components/mcp-app-tool-result.es.js.map +1 -1
  434. package/dist/domains/mcps/components/mcp-app-viewer.cjs.js +163 -2
  435. package/dist/domains/mcps/components/mcp-app-viewer.cjs.js.map +1 -0
  436. package/dist/domains/mcps/components/mcp-app-viewer.es.js +163 -1
  437. package/dist/domains/mcps/components/mcp-app-viewer.es.js.map +1 -0
  438. package/dist/domains/mcps/context/mcp-app-host-context-value.cjs.js +11 -0
  439. package/dist/domains/mcps/context/mcp-app-host-context-value.cjs.js.map +1 -0
  440. package/dist/domains/mcps/context/mcp-app-host-context-value.d.ts +1 -0
  441. package/dist/domains/mcps/context/mcp-app-host-context-value.es.js +9 -0
  442. package/dist/domains/mcps/context/mcp-app-host-context-value.es.js.map +1 -0
  443. package/dist/domains/mcps/context/mcp-app-host-context.cjs.js +14 -0
  444. package/dist/domains/mcps/context/mcp-app-host-context.cjs.js.map +1 -0
  445. package/dist/domains/mcps/context/mcp-app-host-context.d.ts +1 -0
  446. package/dist/domains/mcps/context/mcp-app-host-context.es.js +13 -0
  447. package/dist/domains/mcps/context/mcp-app-host-context.es.js.map +1 -0
  448. package/dist/domains/mcps/hooks/use-mcp-app-tool-call.cjs.js +2 -1
  449. package/dist/domains/mcps/hooks/use-mcp-app-tool-call.cjs.js.map +1 -1
  450. package/dist/domains/mcps/hooks/use-mcp-app-tool-call.es.js +2 -1
  451. package/dist/domains/mcps/hooks/use-mcp-app-tool-call.es.js.map +1 -1
  452. package/dist/domains/mcps.cjs.js +5 -0
  453. package/dist/domains/mcps.d.ts +1 -0
  454. package/dist/domains/mcps.es.js +3 -0
  455. package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
  456. package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
  457. package/dist/domains/metrics/components/breakdown/breakdown-tab-body.cjs.js +1 -1
  458. package/dist/domains/metrics/components/breakdown/breakdown-tab-body.es.js +1 -1
  459. package/dist/domains/metrics/components/breakdown-card.cjs.js +1 -1
  460. package/dist/domains/metrics/components/breakdown-card.es.js +1 -1
  461. package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
  462. package/dist/domains/metrics/components/chart-area.es.js +1 -1
  463. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  464. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  465. package/dist/domains/metrics/components/chart-card.cjs.js +1 -1
  466. package/dist/domains/metrics/components/chart-card.es.js +1 -1
  467. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  468. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  469. package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.cjs.js +1 -1
  470. package/dist/domains/metrics/components/distinct-ids/distinct-ids-chart.es.js +1 -1
  471. package/dist/domains/metrics/components/failure-rate-card.cjs.js +1 -1
  472. package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
  473. package/dist/domains/metrics/components/latency-card.cjs.js +1 -1
  474. package/dist/domains/metrics/components/latency-card.es.js +1 -1
  475. package/dist/domains/metrics/components/metrics-time-range-chip.cjs.js +1 -1
  476. package/dist/domains/metrics/components/metrics-time-range-chip.es.js +1 -1
  477. package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
  478. package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
  479. package/dist/domains/metrics/components/trace-aggregate-card.cjs.js +1 -1
  480. package/dist/domains/metrics/components/trace-aggregate-card.es.js +1 -1
  481. package/dist/domains/metrics.cjs.js +3 -3
  482. package/dist/domains/metrics.es.js +3 -3
  483. package/dist/domains/observability/saved-views/observability-saved-views.cjs.js +1 -1
  484. package/dist/domains/observability/saved-views/observability-saved-views.es.js +1 -1
  485. package/dist/domains/observability/saved-views.cjs.js +1 -1
  486. package/dist/domains/observability/saved-views.es.js +1 -1
  487. package/dist/domains/observability.cjs.js +1 -1
  488. package/dist/domains/observability.es.js +1 -1
  489. package/dist/domains/scores/components/score-data-panel.cjs.js +1 -1
  490. package/dist/domains/scores/components/score-data-panel.es.js +1 -1
  491. package/dist/domains/scores/components/span-scoring.cjs.js +1 -1
  492. package/dist/domains/scores/components/span-scoring.es.js +1 -1
  493. package/dist/domains/scores/components/trace-scores-list.cjs.js +1 -1
  494. package/dist/domains/scores/components/trace-scores-list.es.js +1 -1
  495. package/dist/domains/skills/skill-simple-form.cjs.js +3 -3
  496. package/dist/domains/skills/skill-simple-form.es.js +3 -3
  497. package/dist/domains/spans/components/spans-explorer-body.cjs.js +1 -1
  498. package/dist/domains/spans/components/spans-explorer-body.es.js +1 -1
  499. package/dist/domains/spans/components/spans-filter-bar.cjs.js +2 -2
  500. package/dist/domains/spans/components/spans-filter-bar.es.js +2 -2
  501. package/dist/domains/spans/hooks/use-spans-filter-bar.cjs.js +1 -1
  502. package/dist/domains/spans/hooks/use-spans-filter-bar.es.js +1 -1
  503. package/dist/domains/threads/components/threads-explorer-body.cjs.js +1 -1
  504. package/dist/domains/threads/components/threads-explorer-body.es.js +1 -1
  505. package/dist/domains/threads/components/threads-filter-bar.cjs.js +2 -2
  506. package/dist/domains/threads/components/threads-filter-bar.es.js +2 -2
  507. package/dist/domains/threads/hooks/use-threads-filter-bar.cjs.js +1 -1
  508. package/dist/domains/threads/hooks/use-threads-filter-bar.es.js +1 -1
  509. package/dist/domains/traces/components/feedback-options.cjs.js +0 -0
  510. package/dist/domains/traces/components/feedback-options.d.ts +1 -0
  511. package/dist/domains/traces/components/feedback-options.es.js +0 -0
  512. package/dist/domains/traces/components/feedback-thread.cjs.js +10 -4
  513. package/dist/domains/traces/components/feedback-thread.cjs.js.map +1 -1
  514. package/dist/domains/traces/components/feedback-thread.es.js +10 -4
  515. package/dist/domains/traces/components/feedback-thread.es.js.map +1 -1
  516. package/dist/domains/traces/components/span-data-panel-view.cjs.js +2 -2
  517. package/dist/domains/traces/components/span-data-panel-view.es.js +2 -2
  518. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  519. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  520. package/dist/domains/traces/components/span-feedback-tab.cjs.js +8 -5
  521. package/dist/domains/traces/components/span-feedback-tab.cjs.js.map +1 -1
  522. package/dist/domains/traces/components/span-feedback-tab.es.js +8 -5
  523. package/dist/domains/traces/components/span-feedback-tab.es.js.map +1 -1
  524. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +1 -1
  525. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +1 -1
  526. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +1 -1
  527. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +1 -1
  528. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +2 -2
  529. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +2 -2
  530. package/dist/domains/traces/components/span-payload/span-payload-json.cjs.js +1 -1
  531. package/dist/domains/traces/components/span-payload/span-payload-json.es.js +1 -1
  532. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  533. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  534. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +1 -1
  535. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +1 -1
  536. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +1 -1
  537. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +1 -1
  538. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +1 -1
  539. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +1 -1
  540. package/dist/domains/traces/components/span-payload/span-processor-mutations.cjs.js +1 -1
  541. package/dist/domains/traces/components/span-payload/span-processor-mutations.es.js +1 -1
  542. package/dist/domains/traces/components/span-payload/span-tools-section.cjs.js +1 -1
  543. package/dist/domains/traces/components/span-payload/span-tools-section.es.js +1 -1
  544. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  545. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  546. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  547. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  548. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +2 -2
  549. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +2 -2
  550. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js +1 -1
  551. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js +1 -1
  552. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +5 -3
  553. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  554. package/dist/domains/traces/components/thread-view-by-trace.es.js +5 -3
  555. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  556. package/dist/domains/traces/components/trace-columns-menu.cjs.js +2 -2
  557. package/dist/domains/traces/components/trace-columns-menu.es.js +2 -2
  558. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +2 -2
  559. package/dist/domains/traces/components/trace-data-panel-view.es.js +2 -2
  560. package/dist/domains/traces/components/trace-details-view.cjs.js +1 -1
  561. package/dist/domains/traces/components/trace-details-view.es.js +1 -1
  562. package/dist/domains/traces/components/trace-feedback-tab.cjs.js +9 -4
  563. package/dist/domains/traces/components/trace-feedback-tab.cjs.js.map +1 -1
  564. package/dist/domains/traces/components/trace-feedback-tab.es.js +9 -4
  565. package/dist/domains/traces/components/trace-feedback-tab.es.js.map +1 -1
  566. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  567. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  568. package/dist/domains/traces/components/trace-span-panel.cjs.js +2 -1
  569. package/dist/domains/traces/components/trace-span-panel.cjs.js.map +1 -1
  570. package/dist/domains/traces/components/trace-span-panel.es.js +2 -1
  571. package/dist/domains/traces/components/trace-span-panel.es.js.map +1 -1
  572. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  573. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  574. package/dist/domains/traces/components/trace-thread-panel.cjs.js +3 -2
  575. package/dist/domains/traces/components/trace-thread-panel.cjs.js.map +1 -1
  576. package/dist/domains/traces/components/trace-thread-panel.es.js +3 -2
  577. package/dist/domains/traces/components/trace-thread-panel.es.js.map +1 -1
  578. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.cjs.js.map +1 -1
  579. package/dist/domains/traces/components/traces-explorer/traces-explorer-context.es.js.map +1 -1
  580. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.cjs.js +2 -2
  581. package/dist/domains/traces/components/traces-explorer/traces-explorer-filter-bar.es.js +2 -2
  582. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js +8 -3
  583. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.cjs.js.map +1 -1
  584. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js +8 -3
  585. package/dist/domains/traces/components/traces-explorer/traces-explorer-panel.es.js.map +1 -1
  586. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js +14 -1
  587. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.cjs.js.map +1 -1
  588. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js +14 -1
  589. package/dist/domains/traces/components/traces-explorer/traces-explorer-root.es.js.map +1 -1
  590. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.cjs.js +1 -1
  591. package/dist/domains/traces/components/traces-explorer/traces-explorer-saved-views.es.js +1 -1
  592. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.cjs.js +1 -1
  593. package/dist/domains/traces/components/traces-explorer/use-traces-filter-bar.es.js +1 -1
  594. package/dist/domains/traces/components/traces-explorer.cjs.js.map +1 -1
  595. package/dist/domains/traces/components/traces-explorer.es.js.map +1 -1
  596. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  597. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  598. package/dist/domains/traces/components/traces-list-view.cjs.js +1 -1
  599. package/dist/domains/traces/components/traces-list-view.es.js +1 -1
  600. package/dist/domains/traces/components/traces-spans-switch.cjs.js +1 -1
  601. package/dist/domains/traces/components/traces-spans-switch.es.js +1 -1
  602. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  603. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  604. package/dist/domains/workflows/components/workflow-layout.cjs.js +1 -1
  605. package/dist/domains/workflows/components/workflow-layout.es.js +1 -1
  606. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +2 -2
  607. package/dist/domains/workflows/components/workflow-step-detail.es.js +2 -2
  608. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  609. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  610. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +1 -1
  611. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +1 -1
  612. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
  613. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
  614. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +1 -1
  615. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +1 -1
  616. package/dist/domains/workflows/workflow/utils.cjs.js +1 -1
  617. package/dist/domains/workflows/workflow/utils.es.js +1 -1
  618. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  619. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  620. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  621. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  622. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  623. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  624. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  625. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  626. package/dist/domains/workflows/workflow/workflow-graph-layout.cjs.js +1 -1
  627. package/dist/domains/workflows/workflow/workflow-graph-layout.es.js +1 -1
  628. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +1 -1
  629. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +1 -1
  630. package/dist/domains/workflows/workflow/workflow-graph.cjs.js +1 -1
  631. package/dist/domains/workflows/workflow/workflow-graph.es.js +1 -1
  632. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +1 -1
  633. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +1 -1
  634. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +1 -1
  635. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +1 -1
  636. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +3 -3
  637. package/dist/domains/workflows/workflow/workflow-run-data.es.js +3 -3
  638. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  639. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  640. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +1 -1
  641. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +1 -1
  642. package/dist/domains/workflows/workflow/workflow-step-node-utils.cjs.js +1 -1
  643. package/dist/domains/workflows/workflow/workflow-step-node-utils.es.js +1 -1
  644. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
  645. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
  646. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +1 -1
  647. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +1 -1
  648. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +1 -1
  649. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +1 -1
  650. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +1 -1
  651. package/dist/domains/workspace/components/workspace-create-directory.es.js +1 -1
  652. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +1 -1
  653. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +1 -1
  654. package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
  655. package/dist/domains/workspace/components/workspace-search.es.js +1 -1
  656. package/dist/domains/workspace/components/workspace-tree.cjs.js +1 -1
  657. package/dist/domains/workspace/components/workspace-tree.es.js +1 -1
  658. package/dist/{dropdown-menu-Dx-jCOIv.cjs → dropdown-menu-D3D8USIY.cjs} +9 -1
  659. package/dist/dropdown-menu-D3D8USIY.cjs.map +1 -0
  660. package/dist/{dropdown-menu-DKoWI8kD.js → dropdown-menu-jsf9D-J_.js} +9 -1
  661. package/dist/dropdown-menu-jsf9D-J_.js.map +1 -0
  662. package/dist/ee/signals/sankey-signals.cjs.js +1 -1
  663. package/dist/ee/signals/sankey-signals.es.js +1 -1
  664. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +1 -1
  665. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +1 -1
  666. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +1 -1
  667. package/dist/ee/signals/settings/trace-signal-settings.es.js +1 -1
  668. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  669. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  670. package/dist/{filter-bar-chip-NBtfDca9.js → filter-bar-chip-Cz5GYBWP.js} +2 -2
  671. package/dist/{filter-bar-chip-NBtfDca9.js.map → filter-bar-chip-Cz5GYBWP.js.map} +1 -1
  672. package/dist/{filter-bar-chip-DFsbUZ-V.cjs → filter-bar-chip-q2Zr-cnY.cjs} +2 -2
  673. package/dist/{filter-bar-chip-DFsbUZ-V.cjs.map → filter-bar-chip-q2Zr-cnY.cjs.map} +1 -1
  674. package/dist/{filter-bar-time-range-DlVNjw43.cjs → filter-bar-time-range-D4C3kU0J.cjs} +3 -3
  675. package/dist/{filter-bar-time-range-DlVNjw43.cjs.map → filter-bar-time-range-D4C3kU0J.cjs.map} +1 -1
  676. package/dist/{filter-bar-time-range-D9SnzR2J.js → filter-bar-time-range-ao2YiYEJ.js} +3 -3
  677. package/dist/{filter-bar-time-range-D9SnzR2J.js.map → filter-bar-time-range-ao2YiYEJ.js.map} +1 -1
  678. package/dist/icons/ConfluenceIcon.cjs.js +18 -0
  679. package/dist/icons/ConfluenceIcon.cjs.js.map +1 -0
  680. package/dist/icons/ConfluenceIcon.d.ts +1 -0
  681. package/dist/icons/ConfluenceIcon.es.js +15 -0
  682. package/dist/icons/ConfluenceIcon.es.js.map +1 -0
  683. package/dist/icons/NotionIcon.cjs.js +18 -0
  684. package/dist/icons/NotionIcon.cjs.js.map +1 -0
  685. package/dist/icons/NotionIcon.d.ts +1 -0
  686. package/dist/icons/NotionIcon.es.js +15 -0
  687. package/dist/icons/NotionIcon.es.js.map +1 -0
  688. package/dist/icons/ZendeskIcon.cjs.js +18 -0
  689. package/dist/icons/ZendeskIcon.cjs.js.map +1 -0
  690. package/dist/icons/ZendeskIcon.d.ts +1 -0
  691. package/dist/icons/ZendeskIcon.es.js +15 -0
  692. package/dist/icons/ZendeskIcon.es.js.map +1 -0
  693. package/dist/{input-Cyit5ZSc.js → input-BNykbvOz.js} +2 -2
  694. package/dist/input-BNykbvOz.js.map +1 -0
  695. package/dist/{input-BpnUsQSt.cjs → input-D_V0m95F.cjs} +2 -2
  696. package/dist/input-D_V0m95F.cjs.map +1 -0
  697. package/dist/{input-group-NV4ZzKOk.js → input-group-CCSyY4J5.js} +3 -3
  698. package/dist/{input-group-NV4ZzKOk.js.map → input-group-CCSyY4J5.js.map} +1 -1
  699. package/dist/{input-group-DBCilXjT.cjs → input-group-Da8HBo30.cjs} +3 -3
  700. package/dist/{input-group-DBCilXjT.cjs.map → input-group-Da8HBo30.cjs.map} +1 -1
  701. package/dist/layout/tabbed-container.cjs.js +1 -1
  702. package/dist/layout/tabbed-container.es.js +1 -1
  703. package/dist/lib/form/components/number-field.cjs.js +1 -1
  704. package/dist/lib/form/components/number-field.es.js +1 -1
  705. package/dist/lib/form/components/record-field.cjs.js +1 -1
  706. package/dist/lib/form/components/record-field.es.js +1 -1
  707. package/dist/{observability-saved-views-DgABvgat.cjs → observability-saved-views-CzRPN_9m.cjs} +4 -4
  708. package/dist/{observability-saved-views-DgABvgat.cjs.map → observability-saved-views-CzRPN_9m.cjs.map} +1 -1
  709. package/dist/{observability-saved-views-Ch53fh5_.js → observability-saved-views-hu_hkXVY.js} +4 -4
  710. package/dist/{observability-saved-views-Ch53fh5_.js.map → observability-saved-views-hu_hkXVY.js.map} +1 -1
  711. package/dist/primitives/menu-item.cjs.js +1 -1
  712. package/dist/primitives/menu-item.cjs.js.map +1 -1
  713. package/dist/primitives/menu-item.es.js +1 -1
  714. package/dist/primitives/menu-item.es.js.map +1 -1
  715. package/dist/{property-filter-applied-DuyL4S_K.cjs → property-filter-applied-ML84st6J.cjs} +3 -3
  716. package/dist/{property-filter-applied-DuyL4S_K.cjs.map → property-filter-applied-ML84st6J.cjs.map} +1 -1
  717. package/dist/{property-filter-applied-DoxQHG09.js → property-filter-applied-PaJ7sLsM.js} +3 -3
  718. package/dist/{property-filter-applied-DoxQHG09.js.map → property-filter-applied-PaJ7sLsM.js.map} +1 -1
  719. package/dist/{span-payload-primitives-D2NWznGy.cjs → span-payload-primitives-CL3hlirm.cjs} +3 -3
  720. package/dist/{span-payload-primitives-D2NWznGy.cjs.map → span-payload-primitives-CL3hlirm.cjs.map} +1 -1
  721. package/dist/{span-payload-primitives-BKkRpVVO.js → span-payload-primitives-KxqoXspn.js} +3 -3
  722. package/dist/{span-payload-primitives-BKkRpVVO.js.map → span-payload-primitives-KxqoXspn.js.map} +1 -1
  723. package/dist/src/domains/dashboards/components/connected-widget.d.ts +9 -0
  724. package/dist/src/domains/dashboards/components/dashboard-renderer.d.ts +9 -2
  725. package/dist/src/domains/dashboards/components/stateless-widget.d.ts +40 -0
  726. package/dist/src/domains/dashboards/components/view-gate.d.ts +2 -10
  727. package/dist/src/domains/dashboards/components/widget-controls.d.ts +25 -1
  728. package/dist/src/domains/dashboards/hooks/use-dashboard-environment.d.ts +8 -0
  729. package/dist/src/domains/dashboards/hooks/use-dashboard-requests.d.ts +11 -1
  730. package/dist/src/domains/dashboards/hooks/use-widget-views.d.ts +8 -2
  731. package/dist/src/domains/dashboards/index.d.ts +14 -6
  732. package/dist/src/domains/dashboards/kinds/kpis/kpis-plan.d.ts +355 -0
  733. package/dist/src/domains/dashboards/kinds/kpis/kpis-widget.d.ts +1 -1
  734. package/dist/src/domains/dashboards/kinds/scores/scores-plan.d.ts +358 -0
  735. package/dist/src/domains/dashboards/kinds/scores/scores-widget.d.ts +1 -1
  736. package/dist/src/domains/dashboards/kinds/table/table-cells.d.ts +6 -2
  737. package/dist/src/domains/dashboards/kinds/table/table-columns.d.ts +2 -1
  738. package/dist/src/domains/dashboards/kinds/table/table-plan.d.ts +18 -0
  739. package/dist/src/domains/dashboards/kinds/table/table-tabs.d.ts +1 -1
  740. package/dist/src/domains/dashboards/kinds/table/table-view.d.ts +1 -0
  741. package/dist/src/domains/dashboards/kinds/timeseries/timeseries-plan.d.ts +355 -0
  742. package/dist/src/domains/dashboards/lib/alert-actions.d.ts +36 -0
  743. package/dist/src/domains/dashboards/lib/gate.d.ts +65 -0
  744. package/dist/src/domains/dashboards/lib/plan-widget.d.ts +390 -0
  745. package/dist/src/domains/dashboards/lib/requests.d.ts +22 -0
  746. package/dist/src/domains/dashboards/lib/scores.d.ts +11 -1
  747. package/dist/src/domains/dashboards/lib/timeseries.d.ts +6 -1
  748. package/dist/src/domains/dashboards/lib/values.d.ts +5 -0
  749. package/dist/src/domains/dashboards/widget-kind.d.ts +105 -2
  750. package/dist/src/domains/knowledge/components/KnowledgePageDetail.d.ts +7 -1
  751. package/dist/src/domains/knowledge/components/KnowledgePageExplorer.d.ts +4 -1
  752. package/dist/src/domains/knowledge/components/KnowledgePageGraph.d.ts +3 -0
  753. package/dist/src/domains/knowledge/components/KnowledgeSourceIcon.d.ts +5 -0
  754. package/dist/src/domains/knowledge/components/KnowledgeTooltip.d.ts +5 -0
  755. package/dist/src/domains/knowledge/lib/fitViewport.d.ts +9 -2
  756. package/dist/src/domains/knowledge/lib/pageAddress.d.ts +10 -0
  757. package/dist/src/domains/knowledge/lib/pageRefs.d.ts +12 -1
  758. package/dist/src/domains/knowledge/lib/pagesByRefContext.d.ts +6 -0
  759. package/dist/src/domains/mcps/components/mcp-app-tool-result.d.ts +3 -1
  760. package/dist/src/domains/mcps/components/mcp-app-viewer.d.ts +6 -1
  761. package/dist/src/domains/mcps/context/mcp-app-host-context-value.d.ts +23 -0
  762. package/dist/src/domains/mcps/context/mcp-app-host-context.d.ts +7 -0
  763. package/dist/src/domains/mcps/index.d.ts +3 -0
  764. package/dist/src/domains/traces/components/feedback-options.d.ts +8 -0
  765. package/dist/src/domains/traces/components/feedback-thread.d.ts +2 -1
  766. package/dist/src/domains/traces/components/span-feedback-tab.d.ts +4 -2
  767. package/dist/src/domains/traces/components/thread-view-by-trace.d.ts +4 -1
  768. package/dist/src/domains/traces/components/trace-feedback-tab.d.ts +4 -2
  769. package/dist/src/domains/traces/components/trace-span-panel.d.ts +3 -1
  770. package/dist/src/domains/traces/components/trace-thread-panel.d.ts +3 -1
  771. package/dist/src/domains/traces/components/traces-explorer/index.d.ts +1 -0
  772. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-context.d.ts +2 -0
  773. package/dist/src/domains/traces/components/traces-explorer/traces-explorer-root.d.ts +4 -1
  774. package/dist/src/ds/components/Breadcrumb/Breadcrumb.d.ts +2 -0
  775. package/dist/src/ds/components/DropdownMenu/dropdown-menu.d.ts +3 -0
  776. package/dist/src/ds/components/Tree/tree-label.d.ts +1 -1
  777. package/dist/src/ds/icons/ConfluenceIcon.d.ts +2 -0
  778. package/dist/src/ds/icons/NotionIcon.d.ts +2 -0
  779. package/dist/src/ds/icons/ZendeskIcon.d.ts +2 -0
  780. package/dist/src/ds/icons/index.d.ts +3 -0
  781. package/dist/src/utils/mcp-app-context.d.ts +6 -0
  782. package/dist/style.css +85 -35
  783. package/dist/{tabbed-container-Bhfi-DWr.cjs → tabbed-container-BMLD6mvc.cjs} +4 -4
  784. package/dist/{tabbed-container-Bhfi-DWr.cjs.map → tabbed-container-BMLD6mvc.cjs.map} +1 -1
  785. package/dist/{tabbed-container-DOkHshha.js → tabbed-container-CaS8cZCS.js} +4 -4
  786. package/dist/{tabbed-container-DOkHshha.js.map → tabbed-container-CaS8cZCS.js.map} +1 -1
  787. package/dist/{tabs-content-DwU_eA-a.js → tabs-content-BGkPZ5EQ.js} +2 -2
  788. package/dist/{tabs-content-DwU_eA-a.js.map → tabs-content-BGkPZ5EQ.js.map} +1 -1
  789. package/dist/{tabs-content-BACwMrMG.cjs → tabs-content-D_ic2ZqI.cjs} +2 -2
  790. package/dist/{tabs-content-BACwMrMG.cjs.map → tabs-content-D_ic2ZqI.cjs.map} +1 -1
  791. package/dist/{tabs-tab-BHs639jL.js → tabs-tab-CJVS0WED.js} +2 -2
  792. package/dist/{tabs-tab-BHs639jL.js.map → tabs-tab-CJVS0WED.js.map} +1 -1
  793. package/dist/{tabs-tab-CANh2eAD.cjs → tabs-tab-Dj2huH5T.cjs} +2 -2
  794. package/dist/{tabs-tab-CANh2eAD.cjs.map → tabs-tab-Dj2huH5T.cjs.map} +1 -1
  795. package/dist/{tool-approval-CguPaikn.cjs → tool-approval-C4WNL8VD.cjs} +3 -3
  796. package/dist/{tool-approval-CguPaikn.cjs.map → tool-approval-C4WNL8VD.cjs.map} +1 -1
  797. package/dist/{tool-approval-Cjz0yAzw.js → tool-approval-ZfL3-Vvi.js} +3 -3
  798. package/dist/{tool-approval-Cjz0yAzw.js.map → tool-approval-ZfL3-Vvi.js.map} +1 -1
  799. package/dist/{tool-call-ChJKYCfu.js → tool-call-BLzYTI-x.js} +2 -2
  800. package/dist/{tool-call-ChJKYCfu.js.map → tool-call-BLzYTI-x.js.map} +1 -1
  801. package/dist/{tool-call-BqDI9mrY.cjs → tool-call-C4TBpJ6Y.cjs} +2 -2
  802. package/dist/{tool-call-BqDI9mrY.cjs.map → tool-call-C4TBpJ6Y.cjs.map} +1 -1
  803. package/dist/{tool-card-GSiCfxMz.js → tool-card-CM0aHG3p.js} +4 -3
  804. package/dist/{tool-card-GSiCfxMz.js.map → tool-card-CM0aHG3p.js.map} +1 -1
  805. package/dist/{tool-card-Dg4VOYV6.cjs → tool-card-xDlCD0m6.cjs} +4 -3
  806. package/dist/{tool-card-Dg4VOYV6.cjs.map → tool-card-xDlCD0m6.cjs.map} +1 -1
  807. package/dist/{mcp-app-viewer-BV7FI498.js → types-BwdKiX24.js} +2 -144
  808. package/dist/types-BwdKiX24.js.map +1 -0
  809. package/dist/{mcp-app-viewer-M3-pqAlo.cjs → types-KjLUPShK.cjs} +8 -144
  810. package/dist/types-KjLUPShK.cjs.map +1 -0
  811. package/dist/{use-workflow-graph-runtime-BfCL6nd4.cjs → use-workflow-graph-runtime-DEJA9rk4.cjs} +2 -2
  812. package/dist/{use-workflow-graph-runtime-BfCL6nd4.cjs.map → use-workflow-graph-runtime-DEJA9rk4.cjs.map} +1 -1
  813. package/dist/{use-workflow-graph-runtime-B3VUuhUE.js → use-workflow-graph-runtime-DHOsA1DM.js} +2 -2
  814. package/dist/{use-workflow-graph-runtime-B3VUuhUE.js.map → use-workflow-graph-runtime-DHOsA1DM.js.map} +1 -1
  815. package/dist/utils/mcp-app-context.cjs.js +17 -0
  816. package/dist/utils/mcp-app-context.cjs.js.map +1 -0
  817. package/dist/utils/mcp-app-context.d.ts +1 -0
  818. package/dist/utils/mcp-app-context.es.js +15 -0
  819. package/dist/utils/mcp-app-context.es.js.map +1 -0
  820. package/package.json +8 -8
  821. package/dist/Composer-bVE8qK52.js.map +0 -1
  822. package/dist/Composer-u1K6edoZ.cjs.map +0 -1
  823. package/dist/FilterBar-Kmn6gMgO.js.map +0 -1
  824. package/dist/FilterBar-jBz6yaNu.cjs.map +0 -1
  825. package/dist/MetricsCard-DojbLiEx.cjs.map +0 -1
  826. package/dist/MetricsCard-kAqSCPPe.js.map +0 -1
  827. package/dist/Tree-Caz4FTCU.cjs.map +0 -1
  828. package/dist/Tree-od43gLMO.js.map +0 -1
  829. package/dist/combobox-parts-BeNqgCbj.cjs.map +0 -1
  830. package/dist/combobox-parts-C9o4UfH_.js.map +0 -1
  831. package/dist/domains/dashboards/hooks/use-scorers.cjs.js +0 -41
  832. package/dist/domains/dashboards/hooks/use-scorers.cjs.js.map +0 -1
  833. package/dist/domains/dashboards/hooks/use-scorers.d.ts +0 -1
  834. package/dist/domains/dashboards/hooks/use-scorers.es.js +0 -40
  835. package/dist/domains/dashboards/hooks/use-scorers.es.js.map +0 -1
  836. package/dist/dropdown-menu-DKoWI8kD.js.map +0 -1
  837. package/dist/dropdown-menu-Dx-jCOIv.cjs.map +0 -1
  838. package/dist/input-BpnUsQSt.cjs.map +0 -1
  839. package/dist/input-Cyit5ZSc.js.map +0 -1
  840. package/dist/mcp-app-viewer-BV7FI498.js.map +0 -1
  841. package/dist/mcp-app-viewer-M3-pqAlo.cjs.map +0 -1
  842. package/dist/src/domains/dashboards/hooks/use-scorers.d.ts +0 -66
@@ -1,3 +1,164 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_mcp_app_viewer = require("../../../mcp-app-viewer-M3-pqAlo.cjs");
3
- exports.McpAppViewer = require_mcp_app_viewer.McpAppViewer;
2
+ const require_types = require("../../../types-KjLUPShK.cjs");
3
+ const require_ThemeProvider = require("../../../ThemeProvider-DViLuk6C.cjs");
4
+ let react = require("react");
5
+ let react_jsx_runtime = require("react/jsx-runtime");
6
+ let _mcp_ui_client = require("@mcp-ui/client");
7
+ // src/domains/mcps/components/mcp-app-viewer.tsx
8
+ var SANDBOX_PROXY_HTML = `<!DOCTYPE html>
9
+ <html><head><meta charset="UTF-8"><style>html,body{margin:0;padding:0;width:100%;height:100%}</style></head>
10
+ <body><script>
11
+ window.addEventListener('message',function(e){
12
+ var d=e.data;if(!d||typeof d!=='object')return;
13
+ if(d.method==='ui/notifications/sandbox-resource-ready'){
14
+ var h=(d.params||{}).html;if(h){document.open();document.write(h);document.close()}
15
+ }
16
+ });
17
+ window.parent.postMessage({jsonrpc:'2.0',method:'ui/notifications/sandbox-proxy-ready',params:{}},'*');
18
+ <\/script></body></html>`;
19
+ var _blobUrl = null;
20
+ function getSandboxBlobUrl() {
21
+ if (!_blobUrl) {
22
+ const blob = new Blob([SANDBOX_PROXY_HTML], { type: "text/html" });
23
+ _blobUrl = new URL(URL.createObjectURL(blob));
24
+ }
25
+ return _blobUrl;
26
+ }
27
+ /** Renders an app's model context as text, labelled with the app it comes from. Empty context clears it. */
28
+ function modelContextText(toolName, params) {
29
+ const text = Array.isArray(params?.content) ? params.content.filter((block) => block?.type === "text" && typeof block.text === "string").map((block) => block.text) : [];
30
+ if (params?.structuredContent !== void 0) text.push(JSON.stringify(params.structuredContent));
31
+ if (text.length === 0) return void 0;
32
+ return [`Context from the "${toolName}" MCP App shown in this conversation:`, ...text].join("\n");
33
+ }
34
+ function modelContextParams(params) {
35
+ const { content, structuredContent } = params ?? {};
36
+ const isRecord = structuredContent !== null && typeof structuredContent === "object" && !Array.isArray(structuredContent);
37
+ return {
38
+ ...Array.isArray(content) && { content },
39
+ ...isRecord && { structuredContent }
40
+ };
41
+ }
42
+ /**
43
+ * McpAppViewer renders MCP App HTML using the standard @mcp-ui/client AppRenderer.
44
+ *
45
+ * This component wraps AppRenderer to provide a Mastra-specific API while delegating
46
+ * all MCP Apps protocol handling (bridge injection, handshake, tool input/result
47
+ * delivery, JSON-RPC communication) to the standard implementation.
48
+ */
49
+ function McpAppViewer({ html, title: _title = "MCP App", toolName = "mcp-app", toolInput, toolResult, onToolCall, onSendMessage, onUpdateModelContext, onModelContext, hostContext: extraHostContext, sandboxUrl, className }) {
50
+ const appRef = (0, react.useRef)(null);
51
+ const [height, setHeight] = (0, react.useState)(400);
52
+ const hostInfo = (0, react.useMemo)(() => ({
53
+ name: "Mastra Studio",
54
+ version: "1.0.0"
55
+ }), []);
56
+ const canCallTools = Boolean(onToolCall);
57
+ const canSendMessages = Boolean(onSendMessage);
58
+ const canUpdateModelContext = Boolean(onUpdateModelContext || onModelContext);
59
+ const hostCapabilities = (0, react.useMemo)(() => ({
60
+ openLinks: {},
61
+ ...canCallTools && { serverTools: {} },
62
+ ...canSendMessages && { message: {} },
63
+ ...canUpdateModelContext && { updateModelContext: {
64
+ text: {},
65
+ structuredContent: {}
66
+ } }
67
+ }), [
68
+ canCallTools,
69
+ canSendMessages,
70
+ canUpdateModelContext
71
+ ]);
72
+ const { resolvedTheme } = require_ThemeProvider.useTheme();
73
+ const hostContext = (0, react.useMemo)(() => ({
74
+ ...extraHostContext,
75
+ theme: resolvedTheme
76
+ }), [extraHostContext, resolvedTheme]);
77
+ const normalizedToolResult = (0, react.useMemo)(() => {
78
+ if (toolResult === void 0) return void 0;
79
+ if (toolResult && typeof toolResult === "object" && Array.isArray(toolResult.content)) return toolResult;
80
+ return {
81
+ content: [{
82
+ type: "text",
83
+ text: typeof toolResult === "string" ? toolResult : JSON.stringify(toolResult)
84
+ }],
85
+ ...toolResult !== null && typeof toolResult === "object" && !Array.isArray(toolResult) && { structuredContent: toolResult }
86
+ };
87
+ }, [toolResult]);
88
+ const resolvedSandboxUrl = (0, react.useMemo)(() => sandboxUrl ?? getSandboxBlobUrl(), [sandboxUrl]);
89
+ const sandbox = (0, react.useMemo)(() => ({ url: resolvedSandboxUrl }), [resolvedSandboxUrl]);
90
+ const handleCallTool = (0, react.useCallback)(async (params) => {
91
+ if (!onToolCall) return { content: [{
92
+ type: "text",
93
+ text: "Tool calls not supported"
94
+ }] };
95
+ const raw = await onToolCall(params.name, params.arguments ?? {});
96
+ const isCtResult = (obj) => !!obj && typeof obj === "object" && Array.isArray(obj.content) && obj.content.length > 0 && typeof obj.content[0]?.type === "string";
97
+ if (isCtResult(raw)) return raw;
98
+ return {
99
+ content: [{
100
+ type: "text",
101
+ text: typeof raw === "string" ? raw : JSON.stringify(raw)
102
+ }],
103
+ structuredContent: typeof raw === "object" ? raw : { result: raw }
104
+ };
105
+ }, [onToolCall]);
106
+ const handleMessage = (0, react.useCallback)(async (params) => {
107
+ if (!onSendMessage) return {};
108
+ const text = params.content?.filter((block) => block.type === "text").map((block) => block.text).join("\n");
109
+ if (text) onSendMessage(text);
110
+ return {};
111
+ }, [onSendMessage]);
112
+ const handleFallbackRequest = (0, react.useCallback)(async (request) => {
113
+ if (request.method !== "ui/update-model-context" || !canUpdateModelContext) throw new require_types.McpError(require_types.ErrorCode.MethodNotFound, `No handler for method: ${request.method}`);
114
+ onUpdateModelContext?.(modelContextText(toolName, request.params));
115
+ onModelContext?.(modelContextParams(request.params));
116
+ return {};
117
+ }, [
118
+ canUpdateModelContext,
119
+ onUpdateModelContext,
120
+ onModelContext,
121
+ toolName
122
+ ]);
123
+ const handleOpenLink = (0, react.useCallback)(async (params) => {
124
+ const protocol = URL.canParse(params.url) ? new URL(params.url).protocol : void 0;
125
+ if (protocol !== "http:" && protocol !== "https:") throw new require_types.McpError(require_types.ErrorCode.InvalidParams, "Studio only opens http and https links from MCP Apps");
126
+ window.open(params.url, "_blank", "noopener,noreferrer");
127
+ return {};
128
+ }, []);
129
+ const handleSizeChanged = (0, react.useCallback)((params) => {
130
+ if (typeof params.height === "number") setHeight(Math.max(100, Math.min(params.height, 2e3)));
131
+ }, []);
132
+ const handleError = (0, react.useCallback)((error) => {
133
+ console.error("[McpAppViewer]", error);
134
+ }, []);
135
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
136
+ className,
137
+ style: {
138
+ width: "100%",
139
+ height: `${height}px`,
140
+ overflow: "hidden",
141
+ borderRadius: "8px"
142
+ },
143
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(_mcp_ui_client.AppRenderer, {
144
+ ref: appRef,
145
+ toolName,
146
+ sandbox,
147
+ html,
148
+ toolInput,
149
+ toolResult: normalizedToolResult,
150
+ hostInfo,
151
+ hostCapabilities,
152
+ hostContext,
153
+ onCallTool: handleCallTool,
154
+ onMessage: handleMessage,
155
+ onFallbackRequest: handleFallbackRequest,
156
+ onOpenLink: handleOpenLink,
157
+ onSizeChanged: handleSizeChanged,
158
+ onError: handleError
159
+ })
160
+ });
161
+ }
162
+ exports.McpAppViewer = McpAppViewer;
163
+
164
+ //# sourceMappingURL=mcp-app-viewer.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-app-viewer.cjs.js","names":["useRef","useState","useMemo","useTheme","useCallback","McpError","ErrorCode","AppRenderer"],"sources":["../../../../src/domains/mcps/components/mcp-app-viewer.tsx"],"sourcesContent":["import { AppRenderer } from '@mcp-ui/client';\nimport type { AppRendererHandle, SandboxConfig } from '@mcp-ui/client';\nimport { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';\nimport type { CallToolRequest, CallToolResult, JSONRPCRequest } from '@modelcontextprotocol/sdk/types.js';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport type { ComponentProps } from 'react';\nimport type { McpAppModelContextParams } from '../context/mcp-app-host-context-value';\nimport { useTheme } from '@/ds/components/ThemeProvider';\n\ntype HostCapabilities = NonNullable<ComponentProps<typeof AppRenderer>['hostCapabilities']>;\n\nconst SANDBOX_PROXY_HTML = `<!DOCTYPE html>\n<html><head><meta charset=\"UTF-8\"><style>html,body{margin:0;padding:0;width:100%;height:100%}</style></head>\n<body><script>\nwindow.addEventListener('message',function(e){\n var d=e.data;if(!d||typeof d!=='object')return;\n if(d.method==='ui/notifications/sandbox-resource-ready'){\n var h=(d.params||{}).html;if(h){document.open();document.write(h);document.close()}\n }\n});\nwindow.parent.postMessage({jsonrpc:'2.0',method:'ui/notifications/sandbox-proxy-ready',params:{}},'*');\n<\\/script></body></html>`;\n\nlet _blobUrl: URL | null = null;\nfunction getSandboxBlobUrl(): URL {\n if (!_blobUrl) {\n const blob = new Blob([SANDBOX_PROXY_HTML], { type: 'text/html' });\n _blobUrl = new URL(URL.createObjectURL(blob));\n }\n return _blobUrl;\n}\n\n/** Renders an app's model context as text, labelled with the app it comes from. Empty context clears it. */\nfunction modelContextText(toolName: string, params: JSONRPCRequest['params']): string | undefined {\n const text = Array.isArray(params?.content)\n ? params.content\n .filter(\n (block): block is { type: 'text'; text: string } => block?.type === 'text' && typeof block.text === 'string',\n )\n .map(block => block.text)\n : [];\n if (params?.structuredContent !== undefined) {\n text.push(JSON.stringify(params.structuredContent));\n }\n if (text.length === 0) return undefined;\n return [`Context from the \"${toolName}\" MCP App shown in this conversation:`, ...text].join('\\n');\n}\n\nfunction modelContextParams(params: JSONRPCRequest['params']): McpAppModelContextParams {\n const { content, structuredContent } = params ?? {};\n const isRecord =\n structuredContent !== null && typeof structuredContent === 'object' && !Array.isArray(structuredContent);\n return {\n ...(Array.isArray(content) && { content }),\n ...(isRecord && { structuredContent: structuredContent as Record<string, unknown> }),\n };\n}\n\nexport interface McpAppViewerProps {\n /** The HTML content to render in the sandboxed iframe */\n html: string;\n /** Title for the iframe (accessibility) */\n title?: string;\n /** Name of the MCP tool this UI is associated with */\n toolName?: string;\n /** Tool arguments that triggered this UI (delivered via tool-input notification) */\n toolInput?: Record<string, unknown>;\n /** Tool execution result (delivered via tool-result notification) */\n toolResult?: unknown;\n /** Callback when the app sends a tool call request via callServerTool. Resolves with the tool's output. */\n onToolCall?: (toolName: string, args: Record<string, unknown>) => Promise<unknown>;\n /** Callback when the app sends a message via sendMessage (drives new chat turns) */\n onSendMessage?: (content: string) => void;\n /**\n * Callback when the app updates its model context via updateModelContext. Receives the context as\n * text for the agent's next turn, or `undefined` when the app clears it.\n */\n onUpdateModelContext?: (context: string | undefined) => void;\n /** Callback with the raw params of each updateModelContext, alongside `onUpdateModelContext`. */\n onModelContext?: (params: McpAppModelContextParams) => void;\n /** Extra host-context keys sent to the app; `theme` stays the viewer's own. Changes reach the running app. */\n hostContext?: Record<string, unknown>;\n /** Sandbox configuration — URL to the sandbox proxy HTML. If omitted, a blob URL is generated automatically. */\n sandboxUrl?: URL;\n /** Optional className for the container */\n className?: string;\n}\n\n/**\n * McpAppViewer renders MCP App HTML using the standard @mcp-ui/client AppRenderer.\n *\n * This component wraps AppRenderer to provide a Mastra-specific API while delegating\n * all MCP Apps protocol handling (bridge injection, handshake, tool input/result\n * delivery, JSON-RPC communication) to the standard implementation.\n */\nexport function McpAppViewer({\n html,\n title: _title = 'MCP App',\n toolName = 'mcp-app',\n toolInput,\n toolResult,\n onToolCall,\n onSendMessage,\n onUpdateModelContext,\n onModelContext,\n hostContext: extraHostContext,\n sandboxUrl,\n className,\n}: McpAppViewerProps) {\n const appRef = useRef<AppRendererHandle>(null);\n const [height, setHeight] = useState(400);\n\n // hostInfo MUST be memoized — it is a dependency of the bridge creation effect\n // in AppRenderer. A new object reference triggers bridge recreation → sandbox\n // timeout → toolInput never delivered.\n const hostInfo = useMemo(() => ({ name: 'Mastra Studio', version: '1.0.0' }), []);\n // Advertise only what this viewer handles; apps feature-detect these before calling.\n // Memoized for the same reason as hostInfo.\n const canCallTools = Boolean(onToolCall);\n const canSendMessages = Boolean(onSendMessage);\n const canUpdateModelContext = Boolean(onUpdateModelContext || onModelContext);\n const hostCapabilities: HostCapabilities = useMemo(\n () => ({\n openLinks: {},\n ...(canCallTools && { serverTools: {} }),\n ...(canSendMessages && { message: {} }),\n ...(canUpdateModelContext && { updateModelContext: { text: {}, structuredContent: {} } }),\n }),\n [canCallTools, canSendMessages, canUpdateModelContext],\n );\n const { resolvedTheme } = useTheme();\n // Not a bridge dependency: AppRenderer sends only the keys that changed, to the running app.\n const hostContext = useMemo(() => ({ ...extraHostContext, theme: resolvedTheme }), [extraHostContext, resolvedTheme]);\n\n const normalizedToolResult: CallToolResult | undefined = useMemo(() => {\n if (toolResult === undefined) return undefined;\n if (toolResult && typeof toolResult === 'object' && Array.isArray((toolResult as CallToolResult).content)) {\n return toolResult as CallToolResult;\n }\n const text = typeof toolResult === 'string' ? toolResult : JSON.stringify(toolResult);\n // Apps render from structuredContent; the JSON text is the model-facing channel the spec asks to mirror it in.\n const isRecord = toolResult !== null && typeof toolResult === 'object' && !Array.isArray(toolResult);\n return {\n content: [{ type: 'text' as const, text }],\n ...(isRecord && { structuredContent: toolResult as Record<string, unknown> }),\n };\n }, [toolResult]);\n\n const resolvedSandboxUrl = useMemo(() => sandboxUrl ?? getSandboxBlobUrl(), [sandboxUrl]);\n const sandbox: SandboxConfig = useMemo(() => ({ url: resolvedSandboxUrl }), [resolvedSandboxUrl]);\n\n const handleCallTool = useCallback(\n async (params: CallToolRequest['params']): Promise<CallToolResult> => {\n if (!onToolCall) {\n return { content: [{ type: 'text', text: 'Tool calls not supported' }] };\n }\n const raw = await onToolCall(params.name, params.arguments ?? {});\n\n // Detect if the result is already a CallToolResult (has content array with typed items)\n const isCtResult = (obj: unknown): boolean =>\n !!obj &&\n typeof obj === 'object' &&\n Array.isArray((obj as Record<string, unknown>).content) &&\n ((obj as Record<string, unknown>).content as unknown[]).length > 0 &&\n typeof ((obj as Record<string, unknown>).content as Record<string, unknown>[])[0]?.type === 'string';\n\n if (isCtResult(raw)) {\n return raw as CallToolResult;\n }\n return {\n content: [{ type: 'text', text: typeof raw === 'string' ? raw : JSON.stringify(raw) }],\n structuredContent: typeof raw === 'object' ? (raw as Record<string, unknown>) : { result: raw },\n };\n },\n [onToolCall],\n );\n\n const handleMessage = useCallback(\n async (params: { role: string; content: Array<{ type: string; text?: string }> }) => {\n if (!onSendMessage) return {};\n const text = params.content\n ?.filter(block => block.type === 'text')\n .map(block => block.text)\n .join('\\n');\n if (text) {\n onSendMessage(text);\n }\n return {};\n },\n [onSendMessage],\n );\n\n // AppRenderer has no prop for ui/update-model-context, so it arrives as an unhandled request.\n const handleFallbackRequest = useCallback(\n async (request: JSONRPCRequest) => {\n if (request.method !== 'ui/update-model-context' || !canUpdateModelContext) {\n throw new McpError(ErrorCode.MethodNotFound, `No handler for method: ${request.method}`);\n }\n onUpdateModelContext?.(modelContextText(toolName, request.params));\n onModelContext?.(modelContextParams(request.params));\n return {};\n },\n [canUpdateModelContext, onUpdateModelContext, onModelContext, toolName],\n );\n\n const handleOpenLink = useCallback(async (params: { url: string }) => {\n const protocol = URL.canParse(params.url) ? new URL(params.url).protocol : undefined;\n // Anything else (javascript:, data:, file:, ...) would run code or read local files, not open a page.\n if (protocol !== 'http:' && protocol !== 'https:') {\n throw new McpError(ErrorCode.InvalidParams, 'Studio only opens http and https links from MCP Apps');\n }\n window.open(params.url, '_blank', 'noopener,noreferrer');\n return {};\n }, []);\n\n const handleSizeChanged = useCallback((params: { width?: number; height?: number }) => {\n if (typeof params.height === 'number') {\n setHeight(Math.max(100, Math.min(params.height, 2000)));\n }\n }, []);\n\n const handleError = useCallback((error: Error) => {\n console.error('[McpAppViewer]', error);\n }, []);\n\n return (\n <div\n className={className}\n style={{\n width: '100%',\n height: `${height}px`,\n overflow: 'hidden',\n borderRadius: '8px',\n }}\n >\n <AppRenderer\n ref={appRef}\n toolName={toolName}\n sandbox={sandbox}\n html={html}\n toolInput={toolInput}\n toolResult={normalizedToolResult}\n hostInfo={hostInfo}\n hostCapabilities={hostCapabilities}\n hostContext={hostContext}\n onCallTool={handleCallTool}\n onMessage={handleMessage}\n onFallbackRequest={handleFallbackRequest}\n onOpenLink={handleOpenLink}\n onSizeChanged={handleSizeChanged}\n onError={handleError}\n />\n </div>\n );\n}\n"],"mappings":";;;;;;;AAWA,IAAM,qBAAqB;;;;;;;;;;;AAY3B,IAAI,WAAuB;AAC3B,SAAS,oBAAyB;CAChC,IAAI,CAAC,UAAU;EACb,MAAM,OAAO,IAAI,KAAK,CAAC,kBAAkB,GAAG,EAAE,MAAM,YAAY,CAAC;EACjE,WAAW,IAAI,IAAI,IAAI,gBAAgB,IAAI,CAAC;CAC9C;CACA,OAAO;AACT;;AAGA,SAAS,iBAAiB,UAAkB,QAAsD;CAChG,MAAM,OAAO,MAAM,QAAQ,QAAQ,OAAO,IACtC,OAAO,QACJ,QACE,UAAmD,OAAO,SAAS,UAAU,OAAO,MAAM,SAAS,QACtG,CAAC,CACA,KAAI,UAAS,MAAM,IAAI,IAC1B,CAAC;CACL,IAAI,QAAQ,sBAAsB,KAAA,GAChC,KAAK,KAAK,KAAK,UAAU,OAAO,iBAAiB,CAAC;CAEpD,IAAI,KAAK,WAAW,GAAG,OAAO,KAAA;CAC9B,OAAO,CAAC,qBAAqB,SAAS,wCAAwC,GAAG,IAAI,CAAC,CAAC,KAAK,IAAI;AAClG;AAEA,SAAS,mBAAmB,QAA4D;CACtF,MAAM,EAAE,SAAS,sBAAsB,UAAU,CAAC;CAClD,MAAM,WACJ,sBAAsB,QAAQ,OAAO,sBAAsB,YAAY,CAAC,MAAM,QAAQ,iBAAiB;CACzG,OAAO;EACL,GAAI,MAAM,QAAQ,OAAO,KAAK,EAAE,QAAQ;EACxC,GAAI,YAAY,EAAqB,kBAA6C;CACpF;AACF;;;;;;;;AAuCA,SAAgB,aAAa,EAC3B,MACA,OAAO,SAAS,WAChB,WAAW,WACX,WACA,YACA,YACA,eACA,sBACA,gBACA,aAAa,kBACb,YACA,aACoB;CACpB,MAAM,UAAA,GAASA,MAAAA,OAAAA,CAA0B,IAAI;CAC7C,MAAM,CAAC,QAAQ,cAAA,GAAaC,MAAAA,SAAAA,CAAS,GAAG;CAKxC,MAAM,YAAA,GAAWC,MAAAA,QAAAA,QAAe;EAAE,MAAM;EAAiB,SAAS;CAAQ,IAAI,CAAC,CAAC;CAGhF,MAAM,eAAe,QAAQ,UAAU;CACvC,MAAM,kBAAkB,QAAQ,aAAa;CAC7C,MAAM,wBAAwB,QAAQ,wBAAwB,cAAc;CAC5E,MAAM,oBAAA,GAAqCA,MAAAA,QAAAA,QAClC;EACL,WAAW,CAAC;EACZ,GAAI,gBAAgB,EAAE,aAAa,CAAC,EAAE;EACtC,GAAI,mBAAmB,EAAE,SAAS,CAAC,EAAE;EACrC,GAAI,yBAAyB,EAAE,oBAAoB;GAAE,MAAM,CAAC;GAAG,mBAAmB,CAAC;EAAE,EAAE;CACzF,IACA;EAAC;EAAc;EAAiB;CAAqB,CACvD;CACA,MAAM,EAAE,kBAAkBC,sBAAAA,SAAS;CAEnC,MAAM,eAAA,GAAcD,MAAAA,QAAAA,QAAe;EAAE,GAAG;EAAkB,OAAO;CAAc,IAAI,CAAC,kBAAkB,aAAa,CAAC;CAEpH,MAAM,wBAAA,GAAmDA,MAAAA,QAAAA,OAAc;EACrE,IAAI,eAAe,KAAA,GAAW,OAAO,KAAA;EACrC,IAAI,cAAc,OAAO,eAAe,YAAY,MAAM,QAAS,WAA8B,OAAO,GACtG,OAAO;EAKT,OAAO;GACL,SAAS,CAAC;IAAE,MAAM;IAAiB,MAJxB,OAAO,eAAe,WAAW,aAAa,KAAK,UAAU,UAAU;GAI1C,CAAC;GACzC,GAHe,eAAe,QAAQ,OAAO,eAAe,YAAY,CAAC,MAAM,QAAQ,UAAU,KAGjF,EAAE,mBAAmB,WAAsC;EAC7E;CACF,GAAG,CAAC,UAAU,CAAC;CAEf,MAAM,sBAAA,GAAqBA,MAAAA,QAAAA,OAAc,cAAc,kBAAkB,GAAG,CAAC,UAAU,CAAC;CACxF,MAAM,WAAA,GAAyBA,MAAAA,QAAAA,QAAe,EAAE,KAAK,mBAAmB,IAAI,CAAC,kBAAkB,CAAC;CAEhG,MAAM,kBAAA,GAAiBE,MAAAA,YAAAA,CACrB,OAAO,WAA+D;EACpE,IAAI,CAAC,YACH,OAAO,EAAE,SAAS,CAAC;GAAE,MAAM;GAAQ,MAAM;EAA2B,CAAC,EAAE;EAEzE,MAAM,MAAM,MAAM,WAAW,OAAO,MAAM,OAAO,aAAa,CAAC,CAAC;EAGhE,MAAM,cAAc,QAClB,CAAC,CAAC,OACF,OAAO,QAAQ,YACf,MAAM,QAAS,IAAgC,OAAO,KACpD,IAAgC,QAAsB,SAAS,KACjE,OAAS,IAAgC,QAAsC,EAAE,EAAE,SAAS;EAE9F,IAAI,WAAW,GAAG,GAChB,OAAO;EAET,OAAO;GACL,SAAS,CAAC;IAAE,MAAM;IAAQ,MAAM,OAAO,QAAQ,WAAW,MAAM,KAAK,UAAU,GAAG;GAAE,CAAC;GACrF,mBAAmB,OAAO,QAAQ,WAAY,MAAkC,EAAE,QAAQ,IAAI;EAChG;CACF,GACA,CAAC,UAAU,CACb;CAEA,MAAM,iBAAA,GAAgBA,MAAAA,YAAAA,CACpB,OAAO,WAA8E;EACnF,IAAI,CAAC,eAAe,OAAO,CAAC;EAC5B,MAAM,OAAO,OAAO,SAChB,QAAO,UAAS,MAAM,SAAS,MAAM,CAAC,CACvC,KAAI,UAAS,MAAM,IAAI,CAAC,CACxB,KAAK,IAAI;EACZ,IAAI,MACF,cAAc,IAAI;EAEpB,OAAO,CAAC;CACV,GACA,CAAC,aAAa,CAChB;CAGA,MAAM,yBAAA,GAAwBA,MAAAA,YAAAA,CAC5B,OAAO,YAA4B;EACjC,IAAI,QAAQ,WAAW,6BAA6B,CAAC,uBACnD,MAAM,IAAIC,cAAAA,SAASC,cAAAA,UAAU,gBAAgB,0BAA0B,QAAQ,QAAQ;EAEzF,uBAAuB,iBAAiB,UAAU,QAAQ,MAAM,CAAC;EACjE,iBAAiB,mBAAmB,QAAQ,MAAM,CAAC;EACnD,OAAO,CAAC;CACV,GACA;EAAC;EAAuB;EAAsB;EAAgB;CAAQ,CACxE;CAEA,MAAM,kBAAA,GAAiBF,MAAAA,YAAAA,CAAY,OAAO,WAA4B;EACpE,MAAM,WAAW,IAAI,SAAS,OAAO,GAAG,IAAI,IAAI,IAAI,OAAO,GAAG,CAAC,CAAC,WAAW,KAAA;EAE3E,IAAI,aAAa,WAAW,aAAa,UACvC,MAAM,IAAIC,cAAAA,SAASC,cAAAA,UAAU,eAAe,sDAAsD;EAEpG,OAAO,KAAK,OAAO,KAAK,UAAU,qBAAqB;EACvD,OAAO,CAAC;CACV,GAAG,CAAC,CAAC;CAEL,MAAM,qBAAA,GAAoBF,MAAAA,YAAAA,EAAa,WAAgD;EACrF,IAAI,OAAO,OAAO,WAAW,UAC3B,UAAU,KAAK,IAAI,KAAK,KAAK,IAAI,OAAO,QAAQ,GAAI,CAAC,CAAC;CAE1D,GAAG,CAAC,CAAC;CAEL,MAAM,eAAA,GAAcA,MAAAA,YAAAA,EAAa,UAAiB;EAChD,QAAQ,MAAM,kBAAkB,KAAK;CACvC,GAAG,CAAC,CAAC;CAEL,OACE,iBAAA,GAAA,kBAAA,IAAA,CAAC,OAAD;EACa;EACX,OAAO;GACL,OAAO;GACP,QAAQ,GAAG,OAAO;GAClB,UAAU;GACV,cAAc;EAChB;EAEA,UAAA,iBAAA,GAAA,kBAAA,IAAA,CAACG,eAAAA,aAAD;GACE,KAAK;GACK;GACD;GACH;GACK;GACX,YAAY;GACF;GACQ;GACL;GACb,YAAY;GACZ,WAAW;GACX,mBAAmB;GACnB,YAAY;GACZ,eAAe;GACf,SAAS;EACV,CAAA;CACE,CAAA;AAET"}
@@ -1 +1,163 @@
1
- export { t as McpAppViewer } from "../../../mcp-app-viewer-BV7FI498.js";
1
+ import { n as McpError, t as ErrorCode } from "../../../types-BwdKiX24.js";
2
+ import { n as useTheme } from "../../../ThemeProvider-CQdX5j9p.js";
3
+ import { useCallback, useMemo, useRef, useState } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { AppRenderer } from "@mcp-ui/client";
6
+ // src/domains/mcps/components/mcp-app-viewer.tsx
7
+ var SANDBOX_PROXY_HTML = `<!DOCTYPE html>
8
+ <html><head><meta charset="UTF-8"><style>html,body{margin:0;padding:0;width:100%;height:100%}</style></head>
9
+ <body><script>
10
+ window.addEventListener('message',function(e){
11
+ var d=e.data;if(!d||typeof d!=='object')return;
12
+ if(d.method==='ui/notifications/sandbox-resource-ready'){
13
+ var h=(d.params||{}).html;if(h){document.open();document.write(h);document.close()}
14
+ }
15
+ });
16
+ window.parent.postMessage({jsonrpc:'2.0',method:'ui/notifications/sandbox-proxy-ready',params:{}},'*');
17
+ <\/script></body></html>`;
18
+ var _blobUrl = null;
19
+ function getSandboxBlobUrl() {
20
+ if (!_blobUrl) {
21
+ const blob = new Blob([SANDBOX_PROXY_HTML], { type: "text/html" });
22
+ _blobUrl = new URL(URL.createObjectURL(blob));
23
+ }
24
+ return _blobUrl;
25
+ }
26
+ /** Renders an app's model context as text, labelled with the app it comes from. Empty context clears it. */
27
+ function modelContextText(toolName, params) {
28
+ const text = Array.isArray(params?.content) ? params.content.filter((block) => block?.type === "text" && typeof block.text === "string").map((block) => block.text) : [];
29
+ if (params?.structuredContent !== void 0) text.push(JSON.stringify(params.structuredContent));
30
+ if (text.length === 0) return void 0;
31
+ return [`Context from the "${toolName}" MCP App shown in this conversation:`, ...text].join("\n");
32
+ }
33
+ function modelContextParams(params) {
34
+ const { content, structuredContent } = params ?? {};
35
+ const isRecord = structuredContent !== null && typeof structuredContent === "object" && !Array.isArray(structuredContent);
36
+ return {
37
+ ...Array.isArray(content) && { content },
38
+ ...isRecord && { structuredContent }
39
+ };
40
+ }
41
+ /**
42
+ * McpAppViewer renders MCP App HTML using the standard @mcp-ui/client AppRenderer.
43
+ *
44
+ * This component wraps AppRenderer to provide a Mastra-specific API while delegating
45
+ * all MCP Apps protocol handling (bridge injection, handshake, tool input/result
46
+ * delivery, JSON-RPC communication) to the standard implementation.
47
+ */
48
+ function McpAppViewer({ html, title: _title = "MCP App", toolName = "mcp-app", toolInput, toolResult, onToolCall, onSendMessage, onUpdateModelContext, onModelContext, hostContext: extraHostContext, sandboxUrl, className }) {
49
+ const appRef = useRef(null);
50
+ const [height, setHeight] = useState(400);
51
+ const hostInfo = useMemo(() => ({
52
+ name: "Mastra Studio",
53
+ version: "1.0.0"
54
+ }), []);
55
+ const canCallTools = Boolean(onToolCall);
56
+ const canSendMessages = Boolean(onSendMessage);
57
+ const canUpdateModelContext = Boolean(onUpdateModelContext || onModelContext);
58
+ const hostCapabilities = useMemo(() => ({
59
+ openLinks: {},
60
+ ...canCallTools && { serverTools: {} },
61
+ ...canSendMessages && { message: {} },
62
+ ...canUpdateModelContext && { updateModelContext: {
63
+ text: {},
64
+ structuredContent: {}
65
+ } }
66
+ }), [
67
+ canCallTools,
68
+ canSendMessages,
69
+ canUpdateModelContext
70
+ ]);
71
+ const { resolvedTheme } = useTheme();
72
+ const hostContext = useMemo(() => ({
73
+ ...extraHostContext,
74
+ theme: resolvedTheme
75
+ }), [extraHostContext, resolvedTheme]);
76
+ const normalizedToolResult = useMemo(() => {
77
+ if (toolResult === void 0) return void 0;
78
+ if (toolResult && typeof toolResult === "object" && Array.isArray(toolResult.content)) return toolResult;
79
+ return {
80
+ content: [{
81
+ type: "text",
82
+ text: typeof toolResult === "string" ? toolResult : JSON.stringify(toolResult)
83
+ }],
84
+ ...toolResult !== null && typeof toolResult === "object" && !Array.isArray(toolResult) && { structuredContent: toolResult }
85
+ };
86
+ }, [toolResult]);
87
+ const resolvedSandboxUrl = useMemo(() => sandboxUrl ?? getSandboxBlobUrl(), [sandboxUrl]);
88
+ const sandbox = useMemo(() => ({ url: resolvedSandboxUrl }), [resolvedSandboxUrl]);
89
+ const handleCallTool = useCallback(async (params) => {
90
+ if (!onToolCall) return { content: [{
91
+ type: "text",
92
+ text: "Tool calls not supported"
93
+ }] };
94
+ const raw = await onToolCall(params.name, params.arguments ?? {});
95
+ const isCtResult = (obj) => !!obj && typeof obj === "object" && Array.isArray(obj.content) && obj.content.length > 0 && typeof obj.content[0]?.type === "string";
96
+ if (isCtResult(raw)) return raw;
97
+ return {
98
+ content: [{
99
+ type: "text",
100
+ text: typeof raw === "string" ? raw : JSON.stringify(raw)
101
+ }],
102
+ structuredContent: typeof raw === "object" ? raw : { result: raw }
103
+ };
104
+ }, [onToolCall]);
105
+ const handleMessage = useCallback(async (params) => {
106
+ if (!onSendMessage) return {};
107
+ const text = params.content?.filter((block) => block.type === "text").map((block) => block.text).join("\n");
108
+ if (text) onSendMessage(text);
109
+ return {};
110
+ }, [onSendMessage]);
111
+ const handleFallbackRequest = useCallback(async (request) => {
112
+ if (request.method !== "ui/update-model-context" || !canUpdateModelContext) throw new McpError(ErrorCode.MethodNotFound, `No handler for method: ${request.method}`);
113
+ onUpdateModelContext?.(modelContextText(toolName, request.params));
114
+ onModelContext?.(modelContextParams(request.params));
115
+ return {};
116
+ }, [
117
+ canUpdateModelContext,
118
+ onUpdateModelContext,
119
+ onModelContext,
120
+ toolName
121
+ ]);
122
+ const handleOpenLink = useCallback(async (params) => {
123
+ const protocol = URL.canParse(params.url) ? new URL(params.url).protocol : void 0;
124
+ if (protocol !== "http:" && protocol !== "https:") throw new McpError(ErrorCode.InvalidParams, "Studio only opens http and https links from MCP Apps");
125
+ window.open(params.url, "_blank", "noopener,noreferrer");
126
+ return {};
127
+ }, []);
128
+ const handleSizeChanged = useCallback((params) => {
129
+ if (typeof params.height === "number") setHeight(Math.max(100, Math.min(params.height, 2e3)));
130
+ }, []);
131
+ const handleError = useCallback((error) => {
132
+ console.error("[McpAppViewer]", error);
133
+ }, []);
134
+ return /* @__PURE__ */ jsx("div", {
135
+ className,
136
+ style: {
137
+ width: "100%",
138
+ height: `${height}px`,
139
+ overflow: "hidden",
140
+ borderRadius: "8px"
141
+ },
142
+ children: /* @__PURE__ */ jsx(AppRenderer, {
143
+ ref: appRef,
144
+ toolName,
145
+ sandbox,
146
+ html,
147
+ toolInput,
148
+ toolResult: normalizedToolResult,
149
+ hostInfo,
150
+ hostCapabilities,
151
+ hostContext,
152
+ onCallTool: handleCallTool,
153
+ onMessage: handleMessage,
154
+ onFallbackRequest: handleFallbackRequest,
155
+ onOpenLink: handleOpenLink,
156
+ onSizeChanged: handleSizeChanged,
157
+ onError: handleError
158
+ })
159
+ });
160
+ }
161
+ export { McpAppViewer };
162
+
163
+ //# sourceMappingURL=mcp-app-viewer.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-app-viewer.es.js","names":[],"sources":["../../../../src/domains/mcps/components/mcp-app-viewer.tsx"],"sourcesContent":["import { AppRenderer } from '@mcp-ui/client';\nimport type { AppRendererHandle, SandboxConfig } from '@mcp-ui/client';\nimport { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';\nimport type { CallToolRequest, CallToolResult, JSONRPCRequest } from '@modelcontextprotocol/sdk/types.js';\nimport { useCallback, useMemo, useRef, useState } from 'react';\nimport type { ComponentProps } from 'react';\nimport type { McpAppModelContextParams } from '../context/mcp-app-host-context-value';\nimport { useTheme } from '@/ds/components/ThemeProvider';\n\ntype HostCapabilities = NonNullable<ComponentProps<typeof AppRenderer>['hostCapabilities']>;\n\nconst SANDBOX_PROXY_HTML = `<!DOCTYPE html>\n<html><head><meta charset=\"UTF-8\"><style>html,body{margin:0;padding:0;width:100%;height:100%}</style></head>\n<body><script>\nwindow.addEventListener('message',function(e){\n var d=e.data;if(!d||typeof d!=='object')return;\n if(d.method==='ui/notifications/sandbox-resource-ready'){\n var h=(d.params||{}).html;if(h){document.open();document.write(h);document.close()}\n }\n});\nwindow.parent.postMessage({jsonrpc:'2.0',method:'ui/notifications/sandbox-proxy-ready',params:{}},'*');\n<\\/script></body></html>`;\n\nlet _blobUrl: URL | null = null;\nfunction getSandboxBlobUrl(): URL {\n if (!_blobUrl) {\n const blob = new Blob([SANDBOX_PROXY_HTML], { type: 'text/html' });\n _blobUrl = new URL(URL.createObjectURL(blob));\n }\n return _blobUrl;\n}\n\n/** Renders an app's model context as text, labelled with the app it comes from. Empty context clears it. */\nfunction modelContextText(toolName: string, params: JSONRPCRequest['params']): string | undefined {\n const text = Array.isArray(params?.content)\n ? params.content\n .filter(\n (block): block is { type: 'text'; text: string } => block?.type === 'text' && typeof block.text === 'string',\n )\n .map(block => block.text)\n : [];\n if (params?.structuredContent !== undefined) {\n text.push(JSON.stringify(params.structuredContent));\n }\n if (text.length === 0) return undefined;\n return [`Context from the \"${toolName}\" MCP App shown in this conversation:`, ...text].join('\\n');\n}\n\nfunction modelContextParams(params: JSONRPCRequest['params']): McpAppModelContextParams {\n const { content, structuredContent } = params ?? {};\n const isRecord =\n structuredContent !== null && typeof structuredContent === 'object' && !Array.isArray(structuredContent);\n return {\n ...(Array.isArray(content) && { content }),\n ...(isRecord && { structuredContent: structuredContent as Record<string, unknown> }),\n };\n}\n\nexport interface McpAppViewerProps {\n /** The HTML content to render in the sandboxed iframe */\n html: string;\n /** Title for the iframe (accessibility) */\n title?: string;\n /** Name of the MCP tool this UI is associated with */\n toolName?: string;\n /** Tool arguments that triggered this UI (delivered via tool-input notification) */\n toolInput?: Record<string, unknown>;\n /** Tool execution result (delivered via tool-result notification) */\n toolResult?: unknown;\n /** Callback when the app sends a tool call request via callServerTool. Resolves with the tool's output. */\n onToolCall?: (toolName: string, args: Record<string, unknown>) => Promise<unknown>;\n /** Callback when the app sends a message via sendMessage (drives new chat turns) */\n onSendMessage?: (content: string) => void;\n /**\n * Callback when the app updates its model context via updateModelContext. Receives the context as\n * text for the agent's next turn, or `undefined` when the app clears it.\n */\n onUpdateModelContext?: (context: string | undefined) => void;\n /** Callback with the raw params of each updateModelContext, alongside `onUpdateModelContext`. */\n onModelContext?: (params: McpAppModelContextParams) => void;\n /** Extra host-context keys sent to the app; `theme` stays the viewer's own. Changes reach the running app. */\n hostContext?: Record<string, unknown>;\n /** Sandbox configuration — URL to the sandbox proxy HTML. If omitted, a blob URL is generated automatically. */\n sandboxUrl?: URL;\n /** Optional className for the container */\n className?: string;\n}\n\n/**\n * McpAppViewer renders MCP App HTML using the standard @mcp-ui/client AppRenderer.\n *\n * This component wraps AppRenderer to provide a Mastra-specific API while delegating\n * all MCP Apps protocol handling (bridge injection, handshake, tool input/result\n * delivery, JSON-RPC communication) to the standard implementation.\n */\nexport function McpAppViewer({\n html,\n title: _title = 'MCP App',\n toolName = 'mcp-app',\n toolInput,\n toolResult,\n onToolCall,\n onSendMessage,\n onUpdateModelContext,\n onModelContext,\n hostContext: extraHostContext,\n sandboxUrl,\n className,\n}: McpAppViewerProps) {\n const appRef = useRef<AppRendererHandle>(null);\n const [height, setHeight] = useState(400);\n\n // hostInfo MUST be memoized — it is a dependency of the bridge creation effect\n // in AppRenderer. A new object reference triggers bridge recreation → sandbox\n // timeout → toolInput never delivered.\n const hostInfo = useMemo(() => ({ name: 'Mastra Studio', version: '1.0.0' }), []);\n // Advertise only what this viewer handles; apps feature-detect these before calling.\n // Memoized for the same reason as hostInfo.\n const canCallTools = Boolean(onToolCall);\n const canSendMessages = Boolean(onSendMessage);\n const canUpdateModelContext = Boolean(onUpdateModelContext || onModelContext);\n const hostCapabilities: HostCapabilities = useMemo(\n () => ({\n openLinks: {},\n ...(canCallTools && { serverTools: {} }),\n ...(canSendMessages && { message: {} }),\n ...(canUpdateModelContext && { updateModelContext: { text: {}, structuredContent: {} } }),\n }),\n [canCallTools, canSendMessages, canUpdateModelContext],\n );\n const { resolvedTheme } = useTheme();\n // Not a bridge dependency: AppRenderer sends only the keys that changed, to the running app.\n const hostContext = useMemo(() => ({ ...extraHostContext, theme: resolvedTheme }), [extraHostContext, resolvedTheme]);\n\n const normalizedToolResult: CallToolResult | undefined = useMemo(() => {\n if (toolResult === undefined) return undefined;\n if (toolResult && typeof toolResult === 'object' && Array.isArray((toolResult as CallToolResult).content)) {\n return toolResult as CallToolResult;\n }\n const text = typeof toolResult === 'string' ? toolResult : JSON.stringify(toolResult);\n // Apps render from structuredContent; the JSON text is the model-facing channel the spec asks to mirror it in.\n const isRecord = toolResult !== null && typeof toolResult === 'object' && !Array.isArray(toolResult);\n return {\n content: [{ type: 'text' as const, text }],\n ...(isRecord && { structuredContent: toolResult as Record<string, unknown> }),\n };\n }, [toolResult]);\n\n const resolvedSandboxUrl = useMemo(() => sandboxUrl ?? getSandboxBlobUrl(), [sandboxUrl]);\n const sandbox: SandboxConfig = useMemo(() => ({ url: resolvedSandboxUrl }), [resolvedSandboxUrl]);\n\n const handleCallTool = useCallback(\n async (params: CallToolRequest['params']): Promise<CallToolResult> => {\n if (!onToolCall) {\n return { content: [{ type: 'text', text: 'Tool calls not supported' }] };\n }\n const raw = await onToolCall(params.name, params.arguments ?? {});\n\n // Detect if the result is already a CallToolResult (has content array with typed items)\n const isCtResult = (obj: unknown): boolean =>\n !!obj &&\n typeof obj === 'object' &&\n Array.isArray((obj as Record<string, unknown>).content) &&\n ((obj as Record<string, unknown>).content as unknown[]).length > 0 &&\n typeof ((obj as Record<string, unknown>).content as Record<string, unknown>[])[0]?.type === 'string';\n\n if (isCtResult(raw)) {\n return raw as CallToolResult;\n }\n return {\n content: [{ type: 'text', text: typeof raw === 'string' ? raw : JSON.stringify(raw) }],\n structuredContent: typeof raw === 'object' ? (raw as Record<string, unknown>) : { result: raw },\n };\n },\n [onToolCall],\n );\n\n const handleMessage = useCallback(\n async (params: { role: string; content: Array<{ type: string; text?: string }> }) => {\n if (!onSendMessage) return {};\n const text = params.content\n ?.filter(block => block.type === 'text')\n .map(block => block.text)\n .join('\\n');\n if (text) {\n onSendMessage(text);\n }\n return {};\n },\n [onSendMessage],\n );\n\n // AppRenderer has no prop for ui/update-model-context, so it arrives as an unhandled request.\n const handleFallbackRequest = useCallback(\n async (request: JSONRPCRequest) => {\n if (request.method !== 'ui/update-model-context' || !canUpdateModelContext) {\n throw new McpError(ErrorCode.MethodNotFound, `No handler for method: ${request.method}`);\n }\n onUpdateModelContext?.(modelContextText(toolName, request.params));\n onModelContext?.(modelContextParams(request.params));\n return {};\n },\n [canUpdateModelContext, onUpdateModelContext, onModelContext, toolName],\n );\n\n const handleOpenLink = useCallback(async (params: { url: string }) => {\n const protocol = URL.canParse(params.url) ? new URL(params.url).protocol : undefined;\n // Anything else (javascript:, data:, file:, ...) would run code or read local files, not open a page.\n if (protocol !== 'http:' && protocol !== 'https:') {\n throw new McpError(ErrorCode.InvalidParams, 'Studio only opens http and https links from MCP Apps');\n }\n window.open(params.url, '_blank', 'noopener,noreferrer');\n return {};\n }, []);\n\n const handleSizeChanged = useCallback((params: { width?: number; height?: number }) => {\n if (typeof params.height === 'number') {\n setHeight(Math.max(100, Math.min(params.height, 2000)));\n }\n }, []);\n\n const handleError = useCallback((error: Error) => {\n console.error('[McpAppViewer]', error);\n }, []);\n\n return (\n <div\n className={className}\n style={{\n width: '100%',\n height: `${height}px`,\n overflow: 'hidden',\n borderRadius: '8px',\n }}\n >\n <AppRenderer\n ref={appRef}\n toolName={toolName}\n sandbox={sandbox}\n html={html}\n toolInput={toolInput}\n toolResult={normalizedToolResult}\n hostInfo={hostInfo}\n hostCapabilities={hostCapabilities}\n hostContext={hostContext}\n onCallTool={handleCallTool}\n onMessage={handleMessage}\n onFallbackRequest={handleFallbackRequest}\n onOpenLink={handleOpenLink}\n onSizeChanged={handleSizeChanged}\n onError={handleError}\n />\n </div>\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let react = require("react");
3
+ // src/domains/mcps/context/mcp-app-host-context-value.ts
4
+ var McpAppHostContext = (0, react.createContext)(null);
5
+ function useMcpAppHostContext() {
6
+ return (0, react.useContext)(McpAppHostContext);
7
+ }
8
+ exports.McpAppHostContext = McpAppHostContext;
9
+ exports.useMcpAppHostContext = useMcpAppHostContext;
10
+
11
+ //# sourceMappingURL=mcp-app-host-context-value.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-app-host-context-value.cjs.js","names":["createContext","useContext"],"sources":["../../../../src/domains/mcps/context/mcp-app-host-context-value.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\n/** The MCP App instance a host callback is about: one tool call's app. */\nexport interface McpAppRef {\n /** Name of the MCP tool whose app this is */\n toolName: string;\n /** The chat tool call that rendered the app */\n toolCallId: string;\n /** The app's `ui://` resource URI */\n resourceUri: string;\n}\n\n/** `ui/update-model-context` params as the app sent them. Untrusted: parse before use. */\nexport interface McpAppModelContextParams {\n content?: unknown[];\n structuredContent?: Record<string, unknown>;\n}\n\n/** Lets a chat host extend the MCP Apps rendered in its tool cards. */\nexport interface McpAppHostValue {\n /** Extra host-context keys for this app instance; `theme` stays the viewer's own. */\n hostContext?: (app: McpAppRef) => Record<string, unknown> | undefined;\n /** Called with the raw params of every `ui/update-model-context` from this app instance. */\n onModelContext?: (app: McpAppRef, params: McpAppModelContextParams) => void;\n}\n\nexport const McpAppHostContext = createContext<McpAppHostValue | null>(null);\n\nexport function useMcpAppHostContext() {\n return useContext(McpAppHostContext);\n}\n"],"mappings":";;;AA0BA,IAAa,qBAAA,GAAoBA,MAAAA,cAAAA,CAAsC,IAAI;AAE3E,SAAgB,uBAAuB;CACrC,QAAA,GAAOC,MAAAA,WAAAA,CAAW,iBAAiB;AACrC"}
@@ -0,0 +1 @@
1
+ export * from '../../../src/domains/mcps/context/mcp-app-host-context-value';
@@ -0,0 +1,9 @@
1
+ import { createContext, useContext } from "react";
2
+ // src/domains/mcps/context/mcp-app-host-context-value.ts
3
+ var McpAppHostContext = createContext(null);
4
+ function useMcpAppHostContext() {
5
+ return useContext(McpAppHostContext);
6
+ }
7
+ export { McpAppHostContext, useMcpAppHostContext };
8
+
9
+ //# sourceMappingURL=mcp-app-host-context-value.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-app-host-context-value.es.js","names":[],"sources":["../../../../src/domains/mcps/context/mcp-app-host-context-value.ts"],"sourcesContent":["import { createContext, useContext } from 'react';\n\n/** The MCP App instance a host callback is about: one tool call's app. */\nexport interface McpAppRef {\n /** Name of the MCP tool whose app this is */\n toolName: string;\n /** The chat tool call that rendered the app */\n toolCallId: string;\n /** The app's `ui://` resource URI */\n resourceUri: string;\n}\n\n/** `ui/update-model-context` params as the app sent them. Untrusted: parse before use. */\nexport interface McpAppModelContextParams {\n content?: unknown[];\n structuredContent?: Record<string, unknown>;\n}\n\n/** Lets a chat host extend the MCP Apps rendered in its tool cards. */\nexport interface McpAppHostValue {\n /** Extra host-context keys for this app instance; `theme` stays the viewer's own. */\n hostContext?: (app: McpAppRef) => Record<string, unknown> | undefined;\n /** Called with the raw params of every `ui/update-model-context` from this app instance. */\n onModelContext?: (app: McpAppRef, params: McpAppModelContextParams) => void;\n}\n\nexport const McpAppHostContext = createContext<McpAppHostValue | null>(null);\n\nexport function useMcpAppHostContext() {\n return useContext(McpAppHostContext);\n}\n"],"mappings":";;AA0BA,IAAa,oBAAoB,cAAsC,IAAI;AAE3E,SAAgB,uBAAuB;CACrC,OAAO,WAAW,iBAAiB;AACrC"}
@@ -0,0 +1,14 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_domains_mcps_context_mcp_app_host_context_value = require("./mcp-app-host-context-value.cjs.js");
3
+ let react_jsx_runtime = require("react/jsx-runtime");
4
+ // src/domains/mcps/context/mcp-app-host-context.tsx
5
+ /** Extends the MCP Apps rendered in the chat's tool cards; see `McpAppHostValue`. */
6
+ function McpAppHostProvider({ value, children }) {
7
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_domains_mcps_context_mcp_app_host_context_value.McpAppHostContext.Provider, {
8
+ value,
9
+ children
10
+ });
11
+ }
12
+ exports.McpAppHostProvider = McpAppHostProvider;
13
+
14
+ //# sourceMappingURL=mcp-app-host-context.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-app-host-context.cjs.js","names":["McpAppHostContext"],"sources":["../../../../src/domains/mcps/context/mcp-app-host-context.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { McpAppHostContext } from './mcp-app-host-context-value';\nimport type { McpAppHostValue } from './mcp-app-host-context-value';\n\n/** Extends the MCP Apps rendered in the chat's tool cards; see `McpAppHostValue`. */\nexport function McpAppHostProvider({ value, children }: { value: McpAppHostValue; children: ReactNode }) {\n return <McpAppHostContext.Provider value={value}>{children}</McpAppHostContext.Provider>;\n}\n"],"mappings":";;;;;AAMA,SAAgB,mBAAmB,EAAE,OAAO,YAA6D;CACvG,OAAO,iBAAA,GAAA,kBAAA,IAAA,CAACA,wDAAAA,kBAAkB,UAAnB;EAAmC;EAAQ;CAAqC,CAAA;AACzF"}
@@ -0,0 +1 @@
1
+ export * from '../../../src/domains/mcps/context/mcp-app-host-context';
@@ -0,0 +1,13 @@
1
+ import { McpAppHostContext } from "./mcp-app-host-context-value.es.js";
2
+ import { jsx } from "react/jsx-runtime";
3
+ // src/domains/mcps/context/mcp-app-host-context.tsx
4
+ /** Extends the MCP Apps rendered in the chat's tool cards; see `McpAppHostValue`. */
5
+ function McpAppHostProvider({ value, children }) {
6
+ return /* @__PURE__ */ jsx(McpAppHostContext.Provider, {
7
+ value,
8
+ children
9
+ });
10
+ }
11
+ export { McpAppHostProvider };
12
+
13
+ //# sourceMappingURL=mcp-app-host-context.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-app-host-context.es.js","names":[],"sources":["../../../../src/domains/mcps/context/mcp-app-host-context.tsx"],"sourcesContent":["import type { ReactNode } from 'react';\n\nimport { McpAppHostContext } from './mcp-app-host-context-value';\nimport type { McpAppHostValue } from './mcp-app-host-context-value';\n\n/** Extends the MCP Apps rendered in the chat's tool cards; see `McpAppHostValue`. */\nexport function McpAppHostProvider({ value, children }: { value: McpAppHostValue; children: ReactNode }) {\n return <McpAppHostContext.Provider value={value}>{children}</McpAppHostContext.Provider>;\n}\n"],"mappings":";;;;AAMA,SAAgB,mBAAmB,EAAE,OAAO,YAA6D;CACvG,OAAO,oBAAC,kBAAkB,UAAnB;EAAmC;EAAQ;CAAqC,CAAA;AACzF"}
@@ -1,4 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_types = require("../../../types-KjLUPShK.cjs");
2
3
  let react = require("react");
3
4
  let _mastra_react = require("@mastra/react");
4
5
  let _tanstack_react_query = require("@tanstack/react-query");
@@ -22,7 +23,7 @@ function useMcpAppToolCall(serverId) {
22
23
  staleTime: 6e4
23
24
  });
24
25
  const tool = tools.find((candidate) => candidate.name === toolName);
25
- if (!tool || !isAppCallable(tool)) throw new Error(`Tool "${toolName}" isn't available to apps on MCP server "${serverId}"`);
26
+ if (!tool || !isAppCallable(tool)) throw new require_types.McpError(require_types.ErrorCode.InvalidParams, `Tool "${toolName}" isn't available to apps on MCP server "${serverId}"`);
26
27
  const response = await client.getMcpServerTool(serverId, toolName).execute({ data: args });
27
28
  return "result" in response ? response.result : response;
28
29
  }, [
@@ -1 +1 @@
1
- {"version":3,"file":"use-mcp-app-tool-call.cjs.js","names":["useMastraClient","useQueryClient","useCallback"],"sources":["../../../../src/domains/mcps/hooks/use-mcp-app-tool-call.ts"],"sourcesContent":["import type { McpServerToolListResponse } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useCallback } from 'react';\n\ntype McpServerTool = McpServerToolListResponse['tools'][number];\n\n/** Per the MCP Apps spec, a tool without `_meta.ui.visibility` is visible to both the model and apps. */\nfunction isAppCallable(tool: McpServerTool): boolean {\n const visibility = (tool._meta as { ui?: { visibility?: unknown } } | undefined)?.ui?.visibility;\n return !Array.isArray(visibility) || visibility.includes('app');\n}\n\n/**\n * Runs the tools an MCP App calls on its own server. Tools the server keeps for the model\n * (`_meta.ui.visibility` without `\"app\"`) are refused, as the MCP Apps spec requires of hosts.\n */\nexport function useMcpAppToolCall(serverId: string) {\n const client = useMastraClient();\n const queryClient = useQueryClient();\n\n return useCallback(\n async (toolName: string, args: Record<string, unknown>) => {\n const { tools } = await queryClient.fetchQuery({\n queryKey: ['mcp-app-server-tools', serverId],\n queryFn: () => client.getMcpServerTools(serverId),\n staleTime: 60_000,\n });\n const tool = tools.find(candidate => candidate.name === toolName);\n if (!tool || !isAppCallable(tool)) {\n throw new Error(`Tool \"${toolName}\" isn't available to apps on MCP server \"${serverId}\"`);\n }\n const response = await client.getMcpServerTool(serverId, toolName).execute({ data: args });\n return 'result' in response ? response.result : response;\n },\n [client, queryClient, serverId],\n );\n}\n"],"mappings":";;;;;;AAQA,SAAS,cAAc,MAA8B;CACnD,MAAM,aAAc,KAAK,OAAyD,IAAI;CACtF,OAAO,CAAC,MAAM,QAAQ,UAAU,KAAK,WAAW,SAAS,KAAK;AAChE;;;;;AAMA,SAAgB,kBAAkB,UAAkB;CAClD,MAAM,UAAA,GAASA,cAAAA,gBAAAA,CAAgB;CAC/B,MAAM,eAAA,GAAcC,sBAAAA,eAAAA,CAAe;CAEnC,QAAA,GAAOC,MAAAA,YAAAA,CACL,OAAO,UAAkB,SAAkC;EACzD,MAAM,EAAE,UAAU,MAAM,YAAY,WAAW;GAC7C,UAAU,CAAC,wBAAwB,QAAQ;GAC3C,eAAe,OAAO,kBAAkB,QAAQ;GAChD,WAAW;EACb,CAAC;EACD,MAAM,OAAO,MAAM,MAAK,cAAa,UAAU,SAAS,QAAQ;EAChE,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,GAC9B,MAAM,IAAI,MAAM,SAAS,SAAS,2CAA2C,SAAS,EAAE;EAE1F,MAAM,WAAW,MAAM,OAAO,iBAAiB,UAAU,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC;EACzF,OAAO,YAAY,WAAW,SAAS,SAAS;CAClD,GACA;EAAC;EAAQ;EAAa;CAAQ,CAChC;AACF"}
1
+ {"version":3,"file":"use-mcp-app-tool-call.cjs.js","names":["useMastraClient","useQueryClient","useCallback","McpError","ErrorCode"],"sources":["../../../../src/domains/mcps/hooks/use-mcp-app-tool-call.ts"],"sourcesContent":["import type { McpServerToolListResponse } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useCallback } from 'react';\n\ntype McpServerTool = McpServerToolListResponse['tools'][number];\n\n/** Per the MCP Apps spec, a tool without `_meta.ui.visibility` is visible to both the model and apps. */\nfunction isAppCallable(tool: McpServerTool): boolean {\n const visibility = (tool._meta as { ui?: { visibility?: unknown } } | undefined)?.ui?.visibility;\n return !Array.isArray(visibility) || visibility.includes('app');\n}\n\n/**\n * Runs the tools an MCP App calls on its own server. Tools the server keeps for the model\n * (`_meta.ui.visibility` without `\"app\"`) are refused, as the MCP Apps spec requires of hosts.\n */\nexport function useMcpAppToolCall(serverId: string) {\n const client = useMastraClient();\n const queryClient = useQueryClient();\n\n return useCallback(\n async (toolName: string, args: Record<string, unknown>) => {\n const { tools } = await queryClient.fetchQuery({\n queryKey: ['mcp-app-server-tools', serverId],\n queryFn: () => client.getMcpServerTools(serverId),\n staleTime: 60_000,\n });\n const tool = tools.find(candidate => candidate.name === toolName);\n if (!tool || !isAppCallable(tool)) {\n // Invalid params is the code MCP servers answer an unknown tool with, so apps can tell it apart.\n throw new McpError(\n ErrorCode.InvalidParams,\n `Tool \"${toolName}\" isn't available to apps on MCP server \"${serverId}\"`,\n );\n }\n const response = await client.getMcpServerTool(serverId, toolName).execute({ data: args });\n return 'result' in response ? response.result : response;\n },\n [client, queryClient, serverId],\n );\n}\n"],"mappings":";;;;;;;AASA,SAAS,cAAc,MAA8B;CACnD,MAAM,aAAc,KAAK,OAAyD,IAAI;CACtF,OAAO,CAAC,MAAM,QAAQ,UAAU,KAAK,WAAW,SAAS,KAAK;AAChE;;;;;AAMA,SAAgB,kBAAkB,UAAkB;CAClD,MAAM,UAAA,GAASA,cAAAA,gBAAAA,CAAgB;CAC/B,MAAM,eAAA,GAAcC,sBAAAA,eAAAA,CAAe;CAEnC,QAAA,GAAOC,MAAAA,YAAAA,CACL,OAAO,UAAkB,SAAkC;EACzD,MAAM,EAAE,UAAU,MAAM,YAAY,WAAW;GAC7C,UAAU,CAAC,wBAAwB,QAAQ;GAC3C,eAAe,OAAO,kBAAkB,QAAQ;GAChD,WAAW;EACb,CAAC;EACD,MAAM,OAAO,MAAM,MAAK,cAAa,UAAU,SAAS,QAAQ;EAChE,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,GAE9B,MAAM,IAAIC,cAAAA,SACRC,cAAAA,UAAU,eACV,SAAS,SAAS,2CAA2C,SAAS,EACxE;EAEF,MAAM,WAAW,MAAM,OAAO,iBAAiB,UAAU,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC;EACzF,OAAO,YAAY,WAAW,SAAS,SAAS;CAClD,GACA;EAAC;EAAQ;EAAa;CAAQ,CAChC;AACF"}
@@ -1,3 +1,4 @@
1
+ import { n as McpError, t as ErrorCode } from "../../../types-BwdKiX24.js";
1
2
  import { useCallback } from "react";
2
3
  import { useMastraClient } from "@mastra/react";
3
4
  import { useQueryClient } from "@tanstack/react-query";
@@ -21,7 +22,7 @@ function useMcpAppToolCall(serverId) {
21
22
  staleTime: 6e4
22
23
  });
23
24
  const tool = tools.find((candidate) => candidate.name === toolName);
24
- if (!tool || !isAppCallable(tool)) throw new Error(`Tool "${toolName}" isn't available to apps on MCP server "${serverId}"`);
25
+ if (!tool || !isAppCallable(tool)) throw new McpError(ErrorCode.InvalidParams, `Tool "${toolName}" isn't available to apps on MCP server "${serverId}"`);
25
26
  const response = await client.getMcpServerTool(serverId, toolName).execute({ data: args });
26
27
  return "result" in response ? response.result : response;
27
28
  }, [
@@ -1 +1 @@
1
- {"version":3,"file":"use-mcp-app-tool-call.es.js","names":[],"sources":["../../../../src/domains/mcps/hooks/use-mcp-app-tool-call.ts"],"sourcesContent":["import type { McpServerToolListResponse } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useCallback } from 'react';\n\ntype McpServerTool = McpServerToolListResponse['tools'][number];\n\n/** Per the MCP Apps spec, a tool without `_meta.ui.visibility` is visible to both the model and apps. */\nfunction isAppCallable(tool: McpServerTool): boolean {\n const visibility = (tool._meta as { ui?: { visibility?: unknown } } | undefined)?.ui?.visibility;\n return !Array.isArray(visibility) || visibility.includes('app');\n}\n\n/**\n * Runs the tools an MCP App calls on its own server. Tools the server keeps for the model\n * (`_meta.ui.visibility` without `\"app\"`) are refused, as the MCP Apps spec requires of hosts.\n */\nexport function useMcpAppToolCall(serverId: string) {\n const client = useMastraClient();\n const queryClient = useQueryClient();\n\n return useCallback(\n async (toolName: string, args: Record<string, unknown>) => {\n const { tools } = await queryClient.fetchQuery({\n queryKey: ['mcp-app-server-tools', serverId],\n queryFn: () => client.getMcpServerTools(serverId),\n staleTime: 60_000,\n });\n const tool = tools.find(candidate => candidate.name === toolName);\n if (!tool || !isAppCallable(tool)) {\n throw new Error(`Tool \"${toolName}\" isn't available to apps on MCP server \"${serverId}\"`);\n }\n const response = await client.getMcpServerTool(serverId, toolName).execute({ data: args });\n return 'result' in response ? response.result : response;\n },\n [client, queryClient, serverId],\n );\n}\n"],"mappings":";;;;;AAQA,SAAS,cAAc,MAA8B;CACnD,MAAM,aAAc,KAAK,OAAyD,IAAI;CACtF,OAAO,CAAC,MAAM,QAAQ,UAAU,KAAK,WAAW,SAAS,KAAK;AAChE;;;;;AAMA,SAAgB,kBAAkB,UAAkB;CAClD,MAAM,SAAS,gBAAgB;CAC/B,MAAM,cAAc,eAAe;CAEnC,OAAO,YACL,OAAO,UAAkB,SAAkC;EACzD,MAAM,EAAE,UAAU,MAAM,YAAY,WAAW;GAC7C,UAAU,CAAC,wBAAwB,QAAQ;GAC3C,eAAe,OAAO,kBAAkB,QAAQ;GAChD,WAAW;EACb,CAAC;EACD,MAAM,OAAO,MAAM,MAAK,cAAa,UAAU,SAAS,QAAQ;EAChE,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,GAC9B,MAAM,IAAI,MAAM,SAAS,SAAS,2CAA2C,SAAS,EAAE;EAE1F,MAAM,WAAW,MAAM,OAAO,iBAAiB,UAAU,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC;EACzF,OAAO,YAAY,WAAW,SAAS,SAAS;CAClD,GACA;EAAC;EAAQ;EAAa;CAAQ,CAChC;AACF"}
1
+ {"version":3,"file":"use-mcp-app-tool-call.es.js","names":[],"sources":["../../../../src/domains/mcps/hooks/use-mcp-app-tool-call.ts"],"sourcesContent":["import type { McpServerToolListResponse } from '@mastra/client-js';\nimport { useMastraClient } from '@mastra/react';\nimport { ErrorCode, McpError } from '@modelcontextprotocol/sdk/types.js';\nimport { useQueryClient } from '@tanstack/react-query';\nimport { useCallback } from 'react';\n\ntype McpServerTool = McpServerToolListResponse['tools'][number];\n\n/** Per the MCP Apps spec, a tool without `_meta.ui.visibility` is visible to both the model and apps. */\nfunction isAppCallable(tool: McpServerTool): boolean {\n const visibility = (tool._meta as { ui?: { visibility?: unknown } } | undefined)?.ui?.visibility;\n return !Array.isArray(visibility) || visibility.includes('app');\n}\n\n/**\n * Runs the tools an MCP App calls on its own server. Tools the server keeps for the model\n * (`_meta.ui.visibility` without `\"app\"`) are refused, as the MCP Apps spec requires of hosts.\n */\nexport function useMcpAppToolCall(serverId: string) {\n const client = useMastraClient();\n const queryClient = useQueryClient();\n\n return useCallback(\n async (toolName: string, args: Record<string, unknown>) => {\n const { tools } = await queryClient.fetchQuery({\n queryKey: ['mcp-app-server-tools', serverId],\n queryFn: () => client.getMcpServerTools(serverId),\n staleTime: 60_000,\n });\n const tool = tools.find(candidate => candidate.name === toolName);\n if (!tool || !isAppCallable(tool)) {\n // Invalid params is the code MCP servers answer an unknown tool with, so apps can tell it apart.\n throw new McpError(\n ErrorCode.InvalidParams,\n `Tool \"${toolName}\" isn't available to apps on MCP server \"${serverId}\"`,\n );\n }\n const response = await client.getMcpServerTool(serverId, toolName).execute({ data: args });\n return 'result' in response ? response.result : response;\n },\n [client, queryClient, serverId],\n );\n}\n"],"mappings":";;;;;;AASA,SAAS,cAAc,MAA8B;CACnD,MAAM,aAAc,KAAK,OAAyD,IAAI;CACtF,OAAO,CAAC,MAAM,QAAQ,UAAU,KAAK,WAAW,SAAS,KAAK;AAChE;;;;;AAMA,SAAgB,kBAAkB,UAAkB;CAClD,MAAM,SAAS,gBAAgB;CAC/B,MAAM,cAAc,eAAe;CAEnC,OAAO,YACL,OAAO,UAAkB,SAAkC;EACzD,MAAM,EAAE,UAAU,MAAM,YAAY,WAAW;GAC7C,UAAU,CAAC,wBAAwB,QAAQ;GAC3C,eAAe,OAAO,kBAAkB,QAAQ;GAChD,WAAW;EACb,CAAC;EACD,MAAM,OAAO,MAAM,MAAK,cAAa,UAAU,SAAS,QAAQ;EAChE,IAAI,CAAC,QAAQ,CAAC,cAAc,IAAI,GAE9B,MAAM,IAAI,SACR,UAAU,eACV,SAAS,SAAS,2CAA2C,SAAS,EACxE;EAEF,MAAM,WAAW,MAAM,OAAO,iBAAiB,UAAU,QAAQ,CAAC,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC;EACzF,OAAO,YAAY,WAAW,SAAS,SAAS;CAClD,GACA;EAAC;EAAQ;EAAa;CAAQ,CAChC;AACF"}
@@ -0,0 +1,5 @@
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_domains_mcps_context_mcp_app_host_context = require("./mcps/context/mcp-app-host-context.cjs.js");
3
+ const require_domains_mcps_context_mcp_app_host_context_value = require("./mcps/context/mcp-app-host-context-value.cjs.js");
4
+ exports.McpAppHostProvider = require_domains_mcps_context_mcp_app_host_context.McpAppHostProvider;
5
+ exports.useMcpAppHostContext = require_domains_mcps_context_mcp_app_host_context_value.useMcpAppHostContext;
@@ -0,0 +1 @@
1
+ export * from '../src/domains/mcps/index';
@@ -0,0 +1,3 @@
1
+ import { McpAppHostProvider } from "./mcps/context/mcp-app-host-context.es.js";
2
+ import { useMcpAppHostContext } from "./mcps/context/mcp-app-host-context-value.es.js";
3
+ export { McpAppHostProvider, useMcpAppHostContext };
@@ -9,7 +9,7 @@ const require_domains_metrics_components_chart_area = require("./chart-area.cjs.
9
9
  const require_domains_metrics_components_chart_card = require("./chart-card.cjs.js");
10
10
  const require_domains_metrics_components_chart_card_error = require("./chart-card-error.cjs.js");
11
11
  const require_domains_metrics_components_failure_rate_card = require("./failure-rate-card.cjs.js");
12
- const require_MetricsCard = require("../../../MetricsCard-DojbLiEx.cjs");
12
+ const require_MetricsCard = require("../../../MetricsCard-CSJ4TsNq.cjs");
13
13
  const require_MetricsLineChart = require("../../../MetricsLineChart-BnY9JKzc.cjs");
14
14
  const require_MetricsStackedBarChart = require("../../../MetricsStackedBarChart-CJQF99sc.cjs");
15
15
  let react = require("react");
@@ -8,7 +8,7 @@ import { ChartArea } from "./chart-area.es.js";
8
8
  import { ChartCard } from "./chart-card.es.js";
9
9
  import { ChartCardError } from "./chart-card-error.es.js";
10
10
  import { FailureRateCard } from "./failure-rate-card.es.js";
11
- import { t as MetricsCard } from "../../../MetricsCard-kAqSCPPe.js";
11
+ import { t as MetricsCard } from "../../../MetricsCard-D6bQfynP.js";
12
12
  import { r as MetricsLineChartLegend } from "../../../MetricsLineChart-4w5lpH63.js";
13
13
  import { t as MetricsStackedBarChart } from "../../../MetricsStackedBarChart-Bmk0OjYp.js";
14
14
  import { useState } from "react";
@@ -4,7 +4,7 @@ const require_domains_metrics_components_breakdown_breakdown_entity_tab = requir
4
4
  const require_domains_metrics_components_breakdown_breakdown_frame = require("./breakdown-frame.cjs.js");
5
5
  const require_domains_metrics_components_breakdown_breakdown_models_tab = require("./breakdown-models-tab.cjs.js");
6
6
  const require_domains_metrics_components_breakdown_breakdown_trace_tab = require("./breakdown-trace-tab.cjs.js");
7
- const require_MetricsCard = require("../../../../MetricsCard-DojbLiEx.cjs");
7
+ const require_MetricsCard = require("../../../../MetricsCard-CSJ4TsNq.cjs");
8
8
  let react_jsx_runtime = require("react/jsx-runtime");
9
9
  // src/domains/metrics/components/breakdown/breakdown-tab-body.tsx
10
10
  var FILTER_NAMES = {
@@ -3,7 +3,7 @@ import { BreakdownEntityTab } from "./breakdown-entity-tab.es.js";
3
3
  import { BreakdownFrame } from "./breakdown-frame.es.js";
4
4
  import { BreakdownModelsTab } from "./breakdown-models-tab.es.js";
5
5
  import { BreakdownTraceTab } from "./breakdown-trace-tab.es.js";
6
- import { t as MetricsCard } from "../../../../MetricsCard-kAqSCPPe.js";
6
+ import { t as MetricsCard } from "../../../../MetricsCard-D6bQfynP.js";
7
7
  import { jsx } from "react/jsx-runtime";
8
8
  // src/domains/metrics/components/breakdown/breakdown-tab-body.tsx
9
9
  var FILTER_NAMES = {
@@ -6,7 +6,7 @@ const require_domains_metrics_components_breakdown_breakdown_frame = require("./
6
6
  const require_domains_metrics_components_breakdown_breakdown_projects_first = require("./breakdown/breakdown-projects-first.cjs.js");
7
7
  const require_domains_metrics_components_breakdown_breakdown_tab_body = require("./breakdown/breakdown-tab-body.cjs.js");
8
8
  const require_domains_metrics_components_chart_card = require("./chart-card.cjs.js");
9
- const require_MetricsCard = require("../../../MetricsCard-DojbLiEx.cjs");
9
+ const require_MetricsCard = require("../../../MetricsCard-CSJ4TsNq.cjs");
10
10
  let react = require("react");
11
11
  let react_jsx_runtime = require("react/jsx-runtime");
12
12
  // src/domains/metrics/components/breakdown-card.tsx