@mastra/playground-ui 65.0.0-alpha.2 → 65.0.0-alpha.4

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 (883) hide show
  1. package/README.md +10 -0
  2. package/components.css +7 -0
  3. package/dist/{Avatar-98bsFrSV.js → Avatar-BjaG9NU_.js} +10 -8
  4. package/dist/Avatar-BjaG9NU_.js.map +1 -0
  5. package/dist/{Avatar-BCj8SvOb.cjs → Avatar-DM90rmwx.cjs} +10 -8
  6. package/dist/Avatar-DM90rmwx.cjs.map +1 -0
  7. package/dist/{Button-DH1aTzbs.cjs → Button-C4I05uT4.cjs} +17 -10
  8. package/dist/Button-C4I05uT4.cjs.map +1 -0
  9. package/dist/{Button-EGoajBQY.js → Button-D8a5EWJ5.js} +18 -11
  10. package/dist/Button-D8a5EWJ5.js.map +1 -0
  11. package/dist/{ErrorBoundary-DQPzT6am.js → ErrorBoundary-C6JifxpQ.js} +2 -2
  12. package/dist/{ErrorBoundary-DQPzT6am.js.map → ErrorBoundary-C6JifxpQ.js.map} +1 -1
  13. package/dist/{ErrorBoundary-CpUob9SO.cjs → ErrorBoundary-DP1JqmTo.cjs} +2 -2
  14. package/dist/{ErrorBoundary-CpUob9SO.cjs.map → ErrorBoundary-DP1JqmTo.cjs.map} +1 -1
  15. package/dist/Notice-BioYTS4b.js.map +1 -1
  16. package/dist/Notice-DYgIy4FO.cjs.map +1 -1
  17. package/dist/{activity-CsTUr5_l.js → activity-B7c_nQMn.js} +2 -2
  18. package/dist/activity-B7c_nQMn.js.map +1 -0
  19. package/dist/{activity-2tovEdIP.cjs → activity-D3iI9pYN.cjs} +2 -2
  20. package/dist/activity-D3iI9pYN.cjs.map +1 -0
  21. package/dist/{alert-dialog-B7JTnkF4.js → alert-dialog-B13NSeKN.js} +3 -3
  22. package/dist/{alert-dialog-B7JTnkF4.js.map → alert-dialog-B13NSeKN.js.map} +1 -1
  23. package/dist/{alert-dialog-B1gWLQm2.cjs → alert-dialog-DY2JJAnk.cjs} +3 -3
  24. package/dist/{alert-dialog-B1gWLQm2.cjs.map → alert-dialog-DY2JJAnk.cjs.map} +1 -1
  25. package/dist/arrival-C1hkyLHm.js.map +1 -1
  26. package/dist/arrival-Cvxloi0B.cjs.map +1 -1
  27. package/dist/{ask-user-card-DroerVbm.cjs → ask-user-card-DiFQcUzM.cjs} +2 -2
  28. package/dist/ask-user-card-DiFQcUzM.cjs.map +1 -0
  29. package/dist/{ask-user-card-BCjsjimu.js → ask-user-card-DnvW7jXS.js} +2 -2
  30. package/dist/{ask-user-card-BCjsjimu.js.map → ask-user-card-DnvW7jXS.js.map} +1 -1
  31. package/dist/{avatar-size-CNR0U-LW.js → avatar-size-BXzy28Bx.js} +4 -1
  32. package/dist/avatar-size-BXzy28Bx.js.map +1 -0
  33. package/dist/{avatar-size-DxStOo5A.cjs → avatar-size-DIFE4I8A.cjs} +4 -1
  34. package/dist/avatar-size-DIFE4I8A.cjs.map +1 -0
  35. package/dist/buttons-group.css +0 -4
  36. package/dist/code-DJReJPSX.cjs.map +1 -1
  37. package/dist/code-DLuATvYu.js.map +1 -1
  38. package/dist/{code-block-vpcX2sDQ.cjs → code-block-C79fiykv.cjs} +4 -4
  39. package/dist/{code-block-vpcX2sDQ.cjs.map → code-block-C79fiykv.cjs.map} +1 -1
  40. package/dist/{code-block-DIDa6lg6.js → code-block-D6A1DMv-.js} +4 -4
  41. package/dist/{code-block-DIDa6lg6.js.map → code-block-D6A1DMv-.js.map} +1 -1
  42. package/dist/{code-editor-BDxYMkGm.js → code-editor-8Fpinga4.js} +2 -2
  43. package/dist/{code-editor-BDxYMkGm.js.map → code-editor-8Fpinga4.js.map} +1 -1
  44. package/dist/{code-editor-DQuJ1XXd.cjs → code-editor-Bd-Cldem.cjs} +2 -2
  45. package/dist/{code-editor-DQuJ1XXd.cjs.map → code-editor-Bd-Cldem.cjs.map} +1 -1
  46. package/dist/{collapsible-box-B9ATVQzW.cjs → collapsible-box-CzU0OwJx.cjs} +2 -2
  47. package/dist/{collapsible-box-B9ATVQzW.cjs.map → collapsible-box-CzU0OwJx.cjs.map} +1 -1
  48. package/dist/{collapsible-box-CMBYunuM.js → collapsible-box-DotFa3hr.js} +2 -2
  49. package/dist/{collapsible-box-CMBYunuM.js.map → collapsible-box-DotFa3hr.js.map} +1 -1
  50. package/dist/{combobox-Bw13EcK0.js → combobox-BCoCVZHs.js} +7 -5
  51. package/dist/combobox-BCoCVZHs.js.map +1 -0
  52. package/dist/{combobox-BNlVCFgY.cjs → combobox-DbZAWh8q.cjs} +7 -5
  53. package/dist/combobox-DbZAWh8q.cjs.map +1 -0
  54. package/dist/{combobox-styles-Dr66ofEp.js → combobox-styles-Cens2tsx.js} +2 -2
  55. package/dist/{combobox-styles-Dr66ofEp.js.map → combobox-styles-Cens2tsx.js.map} +1 -1
  56. package/dist/{combobox-styles-BK2nGTNl.cjs → combobox-styles-Cy4rpw03.cjs} +2 -2
  57. package/dist/{combobox-styles-BK2nGTNl.cjs.map → combobox-styles-Cy4rpw03.cjs.map} +1 -1
  58. package/dist/{command-UEPxVJlE.cjs → command-Duh5C_Pm.cjs} +2 -2
  59. package/dist/command-Duh5C_Pm.cjs.map +1 -0
  60. package/dist/{command-V9rsKc7P.js → command-xIH7ZTdl.js} +2 -2
  61. package/dist/command-xIH7ZTdl.js.map +1 -0
  62. package/dist/components/AlertDialog.cjs.js +1 -1
  63. package/dist/components/AlertDialog.es.js +1 -1
  64. package/dist/components/Avatar.cjs.js +1 -1
  65. package/dist/components/Avatar.es.js +1 -1
  66. package/dist/components/Breadcrumb.cjs.js +7 -4
  67. package/dist/components/Breadcrumb.cjs.js.map +1 -1
  68. package/dist/components/Breadcrumb.es.js +7 -4
  69. package/dist/components/Breadcrumb.es.js.map +1 -1
  70. package/dist/components/Button.cjs.js +1 -1
  71. package/dist/components/Button.es.js +2 -2
  72. package/dist/components/ClampedText.cjs.js +2 -2
  73. package/dist/components/ClampedText.cjs.js.map +1 -1
  74. package/dist/components/ClampedText.es.js +2 -2
  75. package/dist/components/ClampedText.es.js.map +1 -1
  76. package/dist/components/CodeBlock.cjs.js +1 -1
  77. package/dist/components/CodeBlock.es.js +1 -1
  78. package/dist/components/CodeEditor.cjs.js +1 -1
  79. package/dist/components/CodeEditor.es.js +1 -1
  80. package/dist/components/CollapsibleBox.cjs.js +1 -1
  81. package/dist/components/CollapsibleBox.es.js +1 -1
  82. package/dist/components/Combobox.cjs.js +2 -2
  83. package/dist/components/Combobox.es.js +2 -2
  84. package/dist/components/Command.cjs.js +1 -1
  85. package/dist/components/Command.es.js +1 -1
  86. package/dist/components/CommandPalette.cjs.js +1 -1
  87. package/dist/components/CommandPalette.es.js +1 -1
  88. package/dist/components/Comment.cjs.js +2 -2
  89. package/dist/components/Comment.es.js +2 -2
  90. package/dist/components/CopyButton.cjs.js +1 -1
  91. package/dist/components/CopyButton.es.js +1 -1
  92. package/dist/components/DataCodeSection.cjs.js +1 -1
  93. package/dist/components/DataCodeSection.es.js +1 -1
  94. package/dist/components/DataDetailsPanel.cjs.js +2 -2
  95. package/dist/components/DataDetailsPanel.es.js +2 -2
  96. package/dist/components/DataKeysAndValues.cjs.js +1 -1
  97. package/dist/components/DataKeysAndValues.es.js +1 -1
  98. package/dist/components/DataList.cjs.js +15 -17
  99. package/dist/components/DataList.cjs.js.map +1 -1
  100. package/dist/components/DataList.es.js +4 -5
  101. package/dist/components/DataList.es.js.map +1 -1
  102. package/dist/components/DataPanel.cjs.js +1 -1
  103. package/dist/components/DataPanel.es.js +1 -1
  104. package/dist/components/DateRangeTimeline.cjs.js +1 -1
  105. package/dist/components/DateRangeTimeline.es.js +1 -1
  106. package/dist/components/DateTimePicker.cjs.js +2 -2
  107. package/dist/components/DateTimePicker.es.js +2 -2
  108. package/dist/components/DateTimeRangePicker.cjs.js +1 -1
  109. package/dist/components/DateTimeRangePicker.es.js +1 -1
  110. package/dist/components/Dialog.cjs.js +2 -2
  111. package/dist/components/Dialog.es.js +2 -2
  112. package/dist/components/DisabledFeatureButton.cjs.js +1 -1
  113. package/dist/components/DisabledFeatureButton.es.js +1 -1
  114. package/dist/components/Drawer.cjs.js +1 -1
  115. package/dist/components/Drawer.es.js +1 -1
  116. package/dist/components/EnvironmentVariablesEditor.cjs.js +3 -3
  117. package/dist/components/EnvironmentVariablesEditor.cjs.js.map +1 -1
  118. package/dist/components/EnvironmentVariablesEditor.es.js +3 -3
  119. package/dist/components/EnvironmentVariablesEditor.es.js.map +1 -1
  120. package/dist/components/ErrorBoundary.cjs.js +1 -1
  121. package/dist/components/ErrorBoundary.es.js +1 -1
  122. package/dist/components/FilterBar.cjs.js +8 -31
  123. package/dist/components/FilterBar.cjs.js.map +1 -1
  124. package/dist/components/FilterBar.es.js +10 -33
  125. package/dist/components/FilterBar.es.js.map +1 -1
  126. package/dist/components/FormFieldBlocks.cjs.js +3 -3
  127. package/dist/components/FormFieldBlocks.cjs.js.map +1 -1
  128. package/dist/components/FormFieldBlocks.es.js +3 -3
  129. package/dist/components/FormFieldBlocks.es.js.map +1 -1
  130. package/dist/components/InputGroup.cjs.js +1 -1
  131. package/dist/components/InputGroup.es.js +1 -1
  132. package/dist/components/InputNumber.cjs.js +2 -2
  133. package/dist/components/InputNumber.es.js +2 -2
  134. package/dist/components/JSONSchemaForm.cjs.js +2 -2
  135. package/dist/components/JSONSchemaForm.es.js +2 -2
  136. package/dist/components/ListSearch.cjs.js +1 -1
  137. package/dist/components/ListSearch.es.js +1 -1
  138. package/dist/components/LogsDataList.cjs.js +5 -2
  139. package/dist/components/LogsDataList.cjs.js.map +1 -1
  140. package/dist/components/LogsDataList.es.js +5 -2
  141. package/dist/components/LogsDataList.es.js.map +1 -1
  142. package/dist/components/MarkdownRenderer.cjs.js +1 -1
  143. package/dist/components/MarkdownRenderer.es.js +1 -1
  144. package/dist/components/Message.cjs.js +1 -1
  145. package/dist/components/Message.es.js +1 -1
  146. package/dist/components/MetricsCard.cjs.js +1 -1
  147. package/dist/components/MetricsCard.es.js +1 -1
  148. package/dist/components/PrevNextNav.cjs.js +1 -1
  149. package/dist/components/PrevNextNav.es.js +1 -1
  150. package/dist/components/ProductAvatar.cjs.js +2 -1
  151. package/dist/components/ProductAvatar.cjs.js.map +1 -1
  152. package/dist/components/ProductAvatar.es.js +2 -1
  153. package/dist/components/ProductAvatar.es.js.map +1 -1
  154. package/dist/components/PropertyFilter.cjs.js +4 -4
  155. package/dist/components/PropertyFilter.cjs.js.map +1 -1
  156. package/dist/components/PropertyFilter.es.js +5 -5
  157. package/dist/components/PropertyFilter.es.js.map +1 -1
  158. package/dist/components/RuleBuilder.cjs.js +3 -2
  159. package/dist/components/RuleBuilder.cjs.js.map +1 -1
  160. package/dist/components/RuleBuilder.es.js +3 -2
  161. package/dist/components/RuleBuilder.es.js.map +1 -1
  162. package/dist/components/SavedViews.cjs.js +4 -8
  163. package/dist/components/SavedViews.cjs.js.map +1 -1
  164. package/dist/components/SavedViews.es.js +5 -9
  165. package/dist/components/SavedViews.es.js.map +1 -1
  166. package/dist/components/SearchInput.cjs.js +1 -1
  167. package/dist/components/SearchInput.es.js +1 -1
  168. package/dist/components/Select.cjs.js +1 -1
  169. package/dist/components/Select.es.js +1 -1
  170. package/dist/components/SideDialog.cjs.js +1 -1
  171. package/dist/components/SideDialog.es.js +1 -1
  172. package/dist/components/Sidebar.cjs.js +3 -3
  173. package/dist/components/Sidebar.cjs.js.map +1 -1
  174. package/dist/components/Sidebar.es.js +3 -3
  175. package/dist/components/Sidebar.es.js.map +1 -1
  176. package/dist/components/StatusIndicators.cjs.js.map +1 -1
  177. package/dist/components/StatusIndicators.es.js.map +1 -1
  178. package/dist/components/Table.cjs.js.map +1 -1
  179. package/dist/components/Table.es.js.map +1 -1
  180. package/dist/components/Tabs.cjs.js +1 -1
  181. package/dist/components/Tabs.es.js +1 -1
  182. package/dist/components/ThreadList.cjs.js +1 -1
  183. package/dist/components/ThreadList.es.js +1 -1
  184. package/dist/components/ThreadRail.cjs.js.map +1 -1
  185. package/dist/components/ThreadRail.es.js.map +1 -1
  186. package/dist/components/Truncate.cjs.js +1 -1
  187. package/dist/components/Truncate.es.js +1 -1
  188. package/dist/components/Workflow.cjs.js +6 -6
  189. package/dist/components/Workflow.es.js +6 -6
  190. package/dist/components/ai/activity.cjs.js +4 -4
  191. package/dist/components/ai/activity.es.js +4 -4
  192. package/dist/components/ai/ask-user.cjs.js +1 -1
  193. package/dist/components/ai/ask-user.es.js +1 -1
  194. package/dist/components/ai/plan.cjs.js +1 -1
  195. package/dist/components/ai/plan.es.js +1 -1
  196. package/dist/components/ai/tool-approval.cjs.js +1 -1
  197. package/dist/components/ai/tool-approval.es.js +1 -1
  198. package/dist/components/ai/tool-call.cjs.js +4 -4
  199. package/dist/components/ai/tool-call.es.js +4 -4
  200. package/dist/composer-Bs4iyUfe.js.map +1 -1
  201. package/dist/composer-CDQnP3og.cjs.map +1 -1
  202. package/dist/context-menu-C67xhcfa.js.map +1 -1
  203. package/dist/context-menu-jNuzE86D.cjs.map +1 -1
  204. package/dist/{copy-button-Cd0keCti.cjs → copy-button-BC02oZJo.cjs} +2 -2
  205. package/dist/{copy-button-Cd0keCti.cjs.map → copy-button-BC02oZJo.cjs.map} +1 -1
  206. package/dist/{copy-button-C_M3Tu_-.js → copy-button-B_i9lwFJ.js} +2 -2
  207. package/dist/{copy-button-C_M3Tu_-.js.map → copy-button-B_i9lwFJ.js.map} +1 -1
  208. package/dist/{data-code-section-lj3PaHjc.cjs → data-code-section-BJa6NDgN.cjs} +5 -5
  209. package/dist/{data-code-section-lj3PaHjc.cjs.map → data-code-section-BJa6NDgN.cjs.map} +1 -1
  210. package/dist/{data-code-section-mpRgtM8j.js → data-code-section-Cjs-piiY.js} +5 -5
  211. package/dist/{data-code-section-mpRgtM8j.js.map → data-code-section-Cjs-piiY.js.map} +1 -1
  212. package/dist/{data-keys-and-values-1lYi60YK.cjs → data-keys-and-values-DBXIqeXt.cjs} +2 -2
  213. package/dist/data-keys-and-values-DBXIqeXt.cjs.map +1 -0
  214. package/dist/{data-keys-and-values-CHpxKsfq.js → data-keys-and-values-DHp6cHJo.js} +2 -2
  215. package/dist/data-keys-and-values-DHp6cHJo.js.map +1 -0
  216. package/dist/{data-list-top-DJh08vFA.cjs → data-list-DlXU1PLQ.cjs} +339 -13
  217. package/dist/data-list-DlXU1PLQ.cjs.map +1 -0
  218. package/dist/{data-list-top-T-mtdIUp.js → data-list-Tor18oy5.js} +332 -5
  219. package/dist/data-list-Tor18oy5.js.map +1 -0
  220. package/dist/{data-list-skeleton-bNfITSHs.js → data-list-skeleton-CXUB-u3p.js} +2 -2
  221. package/dist/{data-list-skeleton-bNfITSHs.js.map → data-list-skeleton-CXUB-u3p.js.map} +1 -1
  222. package/dist/{data-list-skeleton-sdcaabdX.cjs → data-list-skeleton-DY0F40WQ.cjs} +6 -6
  223. package/dist/{data-list-skeleton-sdcaabdX.cjs.map → data-list-skeleton-DY0F40WQ.cjs.map} +1 -1
  224. package/dist/{data-panel-BkfjzriB.cjs → data-panel-DGNV14pm.cjs} +20 -9
  225. package/dist/data-panel-DGNV14pm.cjs.map +1 -0
  226. package/dist/{data-panel-CMkR6Avv.js → data-panel-DjtnX70w.js} +20 -9
  227. package/dist/data-panel-DjtnX70w.js.map +1 -0
  228. package/dist/{date-time-range-picker-BjQVCVUM.cjs → date-time-range-picker-CXGab8Nj.cjs} +3 -3
  229. package/dist/{date-time-range-picker-BjQVCVUM.cjs.map → date-time-range-picker-CXGab8Nj.cjs.map} +1 -1
  230. package/dist/{date-time-range-picker-D-EECKzz.js → date-time-range-picker-CcnDMZJu.js} +3 -3
  231. package/dist/{date-time-range-picker-D-EECKzz.js.map → date-time-range-picker-CcnDMZJu.js.map} +1 -1
  232. package/dist/{dialog-j2e95YNV.js → dialog-AzCRnEo3.js} +3 -3
  233. package/dist/{dialog-j2e95YNV.js.map → dialog-AzCRnEo3.js.map} +1 -1
  234. package/dist/{dialog-BMUfQ9XU.cjs → dialog-SSeOqRnH.cjs} +3 -3
  235. package/dist/{dialog-BMUfQ9XU.cjs.map → dialog-SSeOqRnH.cjs.map} +1 -1
  236. package/dist/{dialog-action-CmFDNyZX.cjs → dialog-action-Caa-pb85.cjs} +3 -3
  237. package/dist/{dialog-action-CmFDNyZX.cjs.map → dialog-action-Caa-pb85.cjs.map} +1 -1
  238. package/dist/{dialog-action-zKqvuroE.js → dialog-action-DykMOK2W.js} +3 -3
  239. package/dist/{dialog-action-zKqvuroE.js.map → dialog-action-DykMOK2W.js.map} +1 -1
  240. package/dist/domains/auth/components/session-expired.cjs.js +1 -1
  241. package/dist/domains/auth/components/session-expired.es.js +1 -1
  242. package/dist/domains/chat/attachments/attachment-preview-dialog.cjs.js +2 -2
  243. package/dist/domains/chat/attachments/attachment-preview-dialog.es.js +2 -2
  244. package/dist/domains/chat/attachments/composer-attachment.cjs.js +1 -1
  245. package/dist/domains/chat/attachments/composer-attachment.es.js +1 -1
  246. package/dist/domains/chat/components/badge-wrapper.cjs.js +1 -1
  247. package/dist/domains/chat/components/badge-wrapper.es.js +1 -1
  248. package/dist/domains/chat/components/network-choice-metadata-dialog.cjs.js +3 -3
  249. package/dist/domains/chat/components/network-choice-metadata-dialog.es.js +3 -3
  250. package/dist/domains/chat/messages/assistant-message-actions.cjs.js +2 -2
  251. package/dist/domains/chat/messages/assistant-message-actions.es.js +2 -2
  252. package/dist/domains/chat/messages/dataset-save-action.cjs.js +5 -5
  253. package/dist/domains/chat/messages/dataset-save-action.es.js +5 -5
  254. package/dist/domains/chat/messages/message-row.cjs.js +4 -4
  255. package/dist/domains/chat/messages/message-row.es.js +4 -4
  256. package/dist/domains/chat/messages/notification-signal-notice.cjs.js +1 -1
  257. package/dist/domains/chat/messages/notification-signal-notice.es.js +1 -1
  258. package/dist/domains/chat/messages/renderers/message-text.cjs.js +1 -1
  259. package/dist/domains/chat/messages/renderers/message-text.cjs.js.map +1 -1
  260. package/dist/domains/chat/messages/renderers/message-text.es.js +1 -1
  261. package/dist/domains/chat/messages/renderers/message-text.es.js.map +1 -1
  262. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.cjs.js +1 -1
  263. package/dist/domains/chat/messages/renderers/reasoning-part-renderer.es.js +1 -1
  264. package/dist/domains/chat/messages/signal-badge.cjs.js +1 -1
  265. package/dist/domains/chat/messages/signal-badge.es.js +1 -1
  266. package/dist/domains/chat/messages/skill-message.cjs.js +3 -3
  267. package/dist/domains/chat/messages/skill-message.es.js +3 -3
  268. package/dist/domains/chat/messages/system-reminder-badge.cjs.js +1 -1
  269. package/dist/domains/chat/messages/system-reminder-badge.es.js +1 -1
  270. package/dist/domains/chat/om/om-parts-converter.cjs.js.map +1 -1
  271. package/dist/domains/chat/om/om-parts-converter.es.js.map +1 -1
  272. package/dist/domains/chat/tools/badges/agent-badge-wrapper.cjs.js +1 -1
  273. package/dist/domains/chat/tools/badges/agent-badge-wrapper.es.js +1 -1
  274. package/dist/domains/chat/tools/badges/agent-badge.cjs.js +4 -4
  275. package/dist/domains/chat/tools/badges/agent-badge.es.js +4 -4
  276. package/dist/domains/chat/tools/badges/ask-user-badge.cjs.js +1 -1
  277. package/dist/domains/chat/tools/badges/ask-user-badge.es.js +1 -1
  278. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js +3 -3
  279. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.cjs.js.map +1 -1
  280. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js +3 -3
  281. package/dist/domains/chat/tools/badges/background-task-metadata-dialog.es.js.map +1 -1
  282. package/dist/domains/chat/tools/badges/code-mode-badge.cjs.js +2 -2
  283. package/dist/domains/chat/tools/badges/code-mode-badge.es.js +2 -2
  284. package/dist/domains/chat/tools/badges/file-tree-badge.cjs.js +2 -2
  285. package/dist/domains/chat/tools/badges/file-tree-badge.es.js +2 -2
  286. package/dist/domains/chat/tools/badges/observation-marker-badge.cjs.js +2 -2
  287. package/dist/domains/chat/tools/badges/observation-marker-badge.es.js +2 -2
  288. package/dist/domains/chat/tools/badges/observation-marker-details.cjs.js +2 -2
  289. package/dist/domains/chat/tools/badges/observation-marker-details.es.js +2 -2
  290. package/dist/domains/chat/tools/badges/observation-renderer.cjs.js +1 -1
  291. package/dist/domains/chat/tools/badges/observation-renderer.es.js +1 -1
  292. package/dist/domains/chat/tools/badges/sandbox-execution-badge.cjs.js +1 -1
  293. package/dist/domains/chat/tools/badges/sandbox-execution-badge.es.js +1 -1
  294. package/dist/domains/chat/tools/badges/tool-approval-badge.cjs.js +1 -1
  295. package/dist/domains/chat/tools/badges/tool-approval-badge.es.js +1 -1
  296. package/dist/domains/chat/tools/badges/tool-badge.cjs.js +3 -3
  297. package/dist/domains/chat/tools/badges/tool-badge.es.js +3 -3
  298. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js +6 -3
  299. package/dist/domains/chat/tools/badges/workflow-badge.cjs.js.map +1 -1
  300. package/dist/domains/chat/tools/badges/workflow-badge.es.js +6 -3
  301. package/dist/domains/chat/tools/badges/workflow-badge.es.js.map +1 -1
  302. package/dist/domains/chat/tools/submit-plan-tool.cjs.js +2 -2
  303. package/dist/domains/chat/tools/submit-plan-tool.es.js +2 -2
  304. package/dist/domains/chat/tools/tool-card.cjs.js +1 -1
  305. package/dist/domains/chat/tools/tool-card.es.js +1 -1
  306. package/dist/domains/datasets/components/save-as-dataset-item-dialog.cjs.js +4 -4
  307. package/dist/domains/datasets/components/save-as-dataset-item-dialog.es.js +4 -4
  308. package/dist/domains/logs/components/log-data-panel.cjs.js +4 -4
  309. package/dist/domains/logs/components/log-data-panel.es.js +4 -4
  310. package/dist/domains/logs/components/logs-list-view.cjs.js +3 -2
  311. package/dist/domains/logs/components/logs-list-view.cjs.js.map +1 -1
  312. package/dist/domains/logs/components/logs-list-view.es.js +3 -2
  313. package/dist/domains/logs/components/logs-list-view.es.js.map +1 -1
  314. package/dist/domains/logs/components/logs-toolbar.cjs.js +1 -1
  315. package/dist/domains/logs/components/logs-toolbar.es.js +1 -1
  316. package/dist/domains/logs/components/no-logs-info.cjs.js +1 -1
  317. package/dist/domains/logs/components/no-logs-info.es.js +1 -1
  318. package/dist/domains/mcps/components/mcp-app-viewer.cjs.js.map +1 -1
  319. package/dist/domains/mcps/components/mcp-app-viewer.es.js.map +1 -1
  320. package/dist/domains/memory/components/flame-graph.cjs.js +1 -1
  321. package/dist/domains/memory/components/flame-graph.es.js +1 -1
  322. package/dist/domains/memory/components/memory-studio-panel.cjs.js +1 -1
  323. package/dist/domains/memory/components/memory-studio-panel.es.js +1 -1
  324. package/dist/domains/metrics/components/agent-runs-card.cjs.js +1 -1
  325. package/dist/domains/metrics/components/agent-runs-card.es.js +1 -1
  326. package/dist/domains/metrics/components/card-action-buttons.cjs.js +1 -1
  327. package/dist/domains/metrics/components/card-action-buttons.es.js +1 -1
  328. package/dist/domains/metrics/components/chart-area.cjs.js +1 -1
  329. package/dist/domains/metrics/components/chart-area.es.js +1 -1
  330. package/dist/domains/metrics/components/chart-card-error.cjs.js +1 -1
  331. package/dist/domains/metrics/components/chart-card-error.es.js +1 -1
  332. package/dist/domains/metrics/components/chart-card.cjs.js +1 -1
  333. package/dist/domains/metrics/components/chart-card.es.js +1 -1
  334. package/dist/domains/metrics/components/date-range-selector.cjs.js +1 -1
  335. package/dist/domains/metrics/components/date-range-selector.es.js +1 -1
  336. package/dist/domains/metrics/components/failure-rate-card.cjs.js +1 -1
  337. package/dist/domains/metrics/components/failure-rate-card.es.js +1 -1
  338. package/dist/domains/metrics/components/latency-card.cjs.js +1 -1
  339. package/dist/domains/metrics/components/latency-card.es.js +1 -1
  340. package/dist/domains/metrics/components/scores-card.cjs.js +1 -1
  341. package/dist/domains/metrics/components/scores-card.es.js +1 -1
  342. package/dist/domains/metrics/components/token-usage-card.cjs.js +1 -1
  343. package/dist/domains/metrics/components/token-usage-card.es.js +1 -1
  344. package/dist/domains/metrics/components/trace-volume-card.cjs.js +1 -1
  345. package/dist/domains/metrics/components/trace-volume-card.es.js +1 -1
  346. package/dist/domains/metrics/components/usage-card.cjs.js +1 -1
  347. package/dist/domains/metrics/components/usage-card.es.js +1 -1
  348. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.cjs.js +4 -4
  349. package/dist/domains/observability/components/add-trace-mocks-to-item-dialog.es.js +4 -4
  350. package/dist/domains/scores/components/score-data-panel.cjs.js +3 -3
  351. package/dist/domains/scores/components/score-data-panel.es.js +3 -3
  352. package/dist/domains/scores/components/span-scoring.cjs.js +3 -3
  353. package/dist/domains/scores/components/span-scoring.es.js +3 -3
  354. package/dist/domains/scores/components/trace-scores-tab.cjs.js +2 -1
  355. package/dist/domains/scores/components/trace-scores-tab.cjs.js.map +1 -1
  356. package/dist/domains/scores/components/trace-scores-tab.es.js +2 -1
  357. package/dist/domains/scores/components/trace-scores-tab.es.js.map +1 -1
  358. package/dist/domains/traces/components/feedback-thread.cjs.js +4 -4
  359. package/dist/domains/traces/components/feedback-thread.cjs.js.map +1 -1
  360. package/dist/domains/traces/components/feedback-thread.es.js +4 -4
  361. package/dist/domains/traces/components/feedback-thread.es.js.map +1 -1
  362. package/dist/domains/traces/components/shared.cjs.js +4 -3
  363. package/dist/domains/traces/components/shared.cjs.js.map +1 -1
  364. package/dist/domains/traces/components/shared.es.js +5 -4
  365. package/dist/domains/traces/components/shared.es.js.map +1 -1
  366. package/dist/domains/traces/components/span-data-panel-view.cjs.js +4 -4
  367. package/dist/domains/traces/components/span-data-panel-view.cjs.js.map +1 -1
  368. package/dist/domains/traces/components/span-data-panel-view.es.js +4 -4
  369. package/dist/domains/traces/components/span-data-panel-view.es.js.map +1 -1
  370. package/dist/domains/traces/components/span-details-view.cjs.js +1 -1
  371. package/dist/domains/traces/components/span-details-view.es.js +1 -1
  372. package/dist/domains/traces/components/span-payload/span-error-renderer.cjs.js +2 -2
  373. package/dist/domains/traces/components/span-payload/span-error-renderer.es.js +2 -2
  374. package/dist/domains/traces/components/span-payload/span-input-renderers.cjs.js +2 -2
  375. package/dist/domains/traces/components/span-payload/span-input-renderers.es.js +2 -2
  376. package/dist/domains/traces/components/span-payload/span-output-renderers.cjs.js +3 -3
  377. package/dist/domains/traces/components/span-payload/span-output-renderers.es.js +3 -3
  378. package/dist/domains/traces/components/span-payload/span-payload-messages.cjs.js +2 -2
  379. package/dist/domains/traces/components/span-payload/span-payload-messages.es.js +2 -2
  380. package/dist/domains/traces/components/span-payload/span-payload-primitives.cjs.js +2 -2
  381. package/dist/domains/traces/components/span-payload/span-payload-primitives.es.js +2 -2
  382. package/dist/domains/traces/components/span-payload/span-payload-processor.cjs.js +2 -2
  383. package/dist/domains/traces/components/span-payload/span-payload-processor.es.js +2 -2
  384. package/dist/domains/traces/components/span-payload/span-payload-registry.cjs.js.map +1 -1
  385. package/dist/domains/traces/components/span-payload/span-payload-registry.es.js.map +1 -1
  386. package/dist/domains/traces/components/span-payload/span-payload-section.cjs.js +3 -3
  387. package/dist/domains/traces/components/span-payload/span-payload-section.es.js +3 -3
  388. package/dist/domains/traces/components/span-payload/span-payload-tool.cjs.js +2 -2
  389. package/dist/domains/traces/components/span-payload/span-payload-tool.es.js +2 -2
  390. package/dist/domains/traces/components/span-payload/span-processor-attributes.cjs.js +2 -2
  391. package/dist/domains/traces/components/span-payload/span-processor-attributes.es.js +2 -2
  392. package/dist/domains/traces/components/span-rows.cjs.js +5 -0
  393. package/dist/domains/traces/components/span-rows.cjs.js.map +1 -1
  394. package/dist/domains/traces/components/span-rows.es.js +5 -0
  395. package/dist/domains/traces/components/span-rows.es.js.map +1 -1
  396. package/dist/domains/traces/components/span-summary-description.cjs.js +1 -1
  397. package/dist/domains/traces/components/span-summary-description.es.js +1 -1
  398. package/dist/domains/traces/components/span-timeline-row.cjs.js +34 -28
  399. package/dist/domains/traces/components/span-timeline-row.cjs.js.map +1 -1
  400. package/dist/domains/traces/components/span-timeline-row.es.js +34 -28
  401. package/dist/domains/traces/components/span-timeline-row.es.js.map +1 -1
  402. package/dist/domains/traces/components/span-timing-hover-card.cjs.js +1 -1
  403. package/dist/domains/traces/components/span-timing-hover-card.es.js +1 -1
  404. package/dist/domains/traces/components/span-token-usage.cjs.js +1 -1
  405. package/dist/domains/traces/components/span-token-usage.es.js +1 -1
  406. package/dist/domains/traces/components/span-tree-rail.cjs.js +50 -0
  407. package/dist/domains/traces/components/span-tree-rail.cjs.js.map +1 -0
  408. package/dist/domains/traces/components/span-tree-rail.d.ts +2 -0
  409. package/dist/domains/traces/components/span-tree-rail.es.js +42 -0
  410. package/dist/domains/traces/components/span-tree-rail.es.js.map +1 -0
  411. package/dist/domains/traces/components/span-tree-row.cjs.js +2 -2
  412. package/dist/domains/traces/components/span-tree-row.cjs.js.map +1 -1
  413. package/dist/domains/traces/components/span-tree-row.es.js +2 -2
  414. package/dist/domains/traces/components/span-tree-row.es.js.map +1 -1
  415. package/dist/domains/traces/components/span-type-badge.cjs.js +29 -0
  416. package/dist/domains/traces/components/span-type-badge.cjs.js.map +1 -0
  417. package/dist/domains/traces/components/span-type-badge.d.ts +2 -0
  418. package/dist/domains/traces/components/span-type-badge.es.js +25 -0
  419. package/dist/domains/traces/components/span-type-badge.es.js.map +1 -0
  420. package/dist/domains/traces/components/span-type-legend.cjs.js +2 -2
  421. package/dist/domains/traces/components/span-type-legend.cjs.js.map +1 -1
  422. package/dist/domains/traces/components/span-type-legend.es.js +2 -2
  423. package/dist/domains/traces/components/span-type-legend.es.js.map +1 -1
  424. package/dist/domains/traces/components/thread-trace/thread-trace-details.cjs.js +1 -1
  425. package/dist/domains/traces/components/thread-trace/thread-trace-details.es.js +1 -1
  426. package/dist/domains/traces/components/thread-trace/thread-trace-messages.cjs.js +1 -1
  427. package/dist/domains/traces/components/thread-trace/thread-trace-messages.es.js +1 -1
  428. package/dist/domains/traces/components/thread-trace/thread-trace-row.cjs.js.map +1 -1
  429. package/dist/domains/traces/components/thread-trace/thread-trace-row.es.js.map +1 -1
  430. package/dist/domains/traces/components/thread-trace/thread-trace-spans.cjs.js +2 -2
  431. package/dist/domains/traces/components/thread-trace/thread-trace-spans.es.js +2 -2
  432. package/dist/domains/traces/components/thread-view-by-trace.cjs.js +2 -1
  433. package/dist/domains/traces/components/thread-view-by-trace.cjs.js.map +1 -1
  434. package/dist/domains/traces/components/thread-view-by-trace.es.js +2 -1
  435. package/dist/domains/traces/components/thread-view-by-trace.es.js.map +1 -1
  436. package/dist/domains/traces/components/timeline-name-col.cjs.js +53 -27
  437. package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
  438. package/dist/domains/traces/components/timeline-name-col.es.js +54 -28
  439. package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
  440. package/dist/domains/traces/components/timeline-structure-sign.cjs.js +23 -14
  441. package/dist/domains/traces/components/timeline-structure-sign.cjs.js.map +1 -1
  442. package/dist/domains/traces/components/timeline-structure-sign.es.js +24 -15
  443. package/dist/domains/traces/components/timeline-structure-sign.es.js.map +1 -1
  444. package/dist/domains/traces/components/trace-columns-menu.cjs.js +4 -4
  445. package/dist/domains/traces/components/trace-columns-menu.cjs.js.map +1 -1
  446. package/dist/domains/traces/components/trace-columns-menu.es.js +4 -4
  447. package/dist/domains/traces/components/trace-columns-menu.es.js.map +1 -1
  448. package/dist/domains/traces/components/trace-data-panel-view.cjs.js +32 -5
  449. package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
  450. package/dist/domains/traces/components/trace-data-panel-view.es.js +32 -5
  451. package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
  452. package/dist/domains/traces/components/trace-data-panel.cjs.js +5 -2
  453. package/dist/domains/traces/components/trace-data-panel.cjs.js.map +1 -1
  454. package/dist/domains/traces/components/trace-data-panel.es.js +5 -2
  455. package/dist/domains/traces/components/trace-data-panel.es.js.map +1 -1
  456. package/dist/domains/traces/components/trace-error-cell.cjs.js +35 -0
  457. package/dist/domains/traces/components/trace-error-cell.cjs.js.map +1 -0
  458. package/dist/domains/traces/components/trace-error-cell.d.ts +2 -0
  459. package/dist/domains/traces/components/trace-error-cell.es.js +31 -0
  460. package/dist/domains/traces/components/trace-error-cell.es.js.map +1 -0
  461. package/dist/domains/traces/components/trace-error-details.cjs.js +22 -0
  462. package/dist/domains/traces/components/trace-error-details.cjs.js.map +1 -0
  463. package/dist/domains/traces/components/trace-error-details.d.ts +2 -0
  464. package/dist/domains/traces/components/trace-error-details.es.js +18 -0
  465. package/dist/domains/traces/components/trace-error-details.es.js.map +1 -0
  466. package/dist/domains/traces/components/trace-error-summary.cjs.js +31 -0
  467. package/dist/domains/traces/components/trace-error-summary.cjs.js.map +1 -0
  468. package/dist/domains/traces/components/trace-error-summary.d.ts +2 -0
  469. package/dist/domains/traces/components/trace-error-summary.es.js +27 -0
  470. package/dist/domains/traces/components/trace-error-summary.es.js.map +1 -0
  471. package/dist/domains/traces/components/trace-id-button.cjs.js +1 -1
  472. package/dist/domains/traces/components/trace-id-button.es.js +1 -1
  473. package/dist/domains/traces/components/trace-span-panel.cjs.js +1 -1
  474. package/dist/domains/traces/components/trace-span-panel.es.js +1 -1
  475. package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js +7 -7
  476. package/dist/domains/traces/components/trace-span-tree-skeleton.cjs.js.map +1 -1
  477. package/dist/domains/traces/components/trace-span-tree-skeleton.es.js +7 -7
  478. package/dist/domains/traces/components/trace-span-tree-skeleton.es.js.map +1 -1
  479. package/dist/domains/traces/components/trace-span-tree.cjs.js +1 -2
  480. package/dist/domains/traces/components/trace-span-tree.cjs.js.map +1 -1
  481. package/dist/domains/traces/components/trace-span-tree.es.js +2 -3
  482. package/dist/domains/traces/components/trace-span-tree.es.js.map +1 -1
  483. package/dist/domains/traces/components/trace-summary-description.cjs.js +1 -1
  484. package/dist/domains/traces/components/trace-summary-description.es.js +1 -1
  485. package/dist/domains/traces/components/trace-thread-item-view.cjs.js +1 -1
  486. package/dist/domains/traces/components/trace-thread-item-view.es.js +1 -1
  487. package/dist/domains/traces/components/trace-thread-panel.cjs.js +1 -1
  488. package/dist/domains/traces/components/trace-thread-panel.es.js +1 -1
  489. package/dist/domains/traces/components/trace-time-range-chip.cjs.js +2 -2
  490. package/dist/domains/traces/components/trace-time-range-chip.es.js +2 -2
  491. package/dist/domains/traces/components/traces-list-mode-toggle.cjs.js +1 -1
  492. package/dist/domains/traces/components/traces-list-mode-toggle.es.js +1 -1
  493. package/dist/domains/traces/components/traces-list-view.cjs.js +10 -7
  494. package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
  495. package/dist/domains/traces/components/traces-list-view.es.js +9 -6
  496. package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
  497. package/dist/domains/traces/components/traces-page-skeleton.cjs.js +4 -1
  498. package/dist/domains/traces/components/traces-page-skeleton.cjs.js.map +1 -1
  499. package/dist/domains/traces/components/traces-page-skeleton.es.js +4 -1
  500. package/dist/domains/traces/components/traces-page-skeleton.es.js.map +1 -1
  501. package/dist/domains/traces/hooks/use-trace-list-navigation.cjs.js.map +1 -1
  502. package/dist/domains/traces/hooks/use-trace-list-navigation.es.js.map +1 -1
  503. package/dist/domains/traces/utils/flatten-to-search-text.cjs.js.map +1 -1
  504. package/dist/domains/traces/utils/flatten-to-search-text.es.js.map +1 -1
  505. package/dist/domains/workflows/components/workflow-combobox.cjs.js +1 -1
  506. package/dist/domains/workflows/components/workflow-combobox.es.js +1 -1
  507. package/dist/domains/workflows/components/workflow-information.cjs.js +1 -1
  508. package/dist/domains/workflows/components/workflow-information.es.js +1 -1
  509. package/dist/domains/workflows/components/workflow-step-detail.cjs.js +3 -3
  510. package/dist/domains/workflows/components/workflow-step-detail.es.js +3 -3
  511. package/dist/domains/workflows/components/workflows-list/no-workflows-info.cjs.js +1 -1
  512. package/dist/domains/workflows/components/workflows-list/no-workflows-info.es.js +1 -1
  513. package/dist/domains/workflows/components/workflows-list/workflows-list.cjs.js +2 -2
  514. package/dist/domains/workflows/components/workflows-list/workflows-list.es.js +2 -2
  515. package/dist/domains/workflows/runs/workflow-run-list.cjs.js +2 -2
  516. package/dist/domains/workflows/runs/workflow-run-list.es.js +2 -2
  517. package/dist/domains/workflows/workflow/data/workflow-data-button.cjs.js +1 -1
  518. package/dist/domains/workflows/workflow/data/workflow-data-button.es.js +1 -1
  519. package/dist/domains/workflows/workflow/data/workflow-data-inspector.cjs.js +2 -2
  520. package/dist/domains/workflows/workflow/data/workflow-data-inspector.es.js +2 -2
  521. package/dist/domains/workflows/workflow/input/workflow-json-input.cjs.js +1 -1
  522. package/dist/domains/workflows/workflow/input/workflow-json-input.es.js +1 -1
  523. package/dist/domains/workflows/workflow/input/workflow-processor-input.cjs.js +1 -1
  524. package/dist/domains/workflows/workflow/input/workflow-processor-input.es.js +1 -1
  525. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.cjs.js +2 -2
  526. package/dist/domains/workflows/workflow/use-workflow-graph-runtime.es.js +2 -2
  527. package/dist/domains/workflows/workflow/workflow-body-graph.cjs.js +1 -1
  528. package/dist/domains/workflows/workflow/workflow-body-graph.es.js +1 -1
  529. package/dist/domains/workflows/workflow/workflow-cancel-button.cjs.js +1 -1
  530. package/dist/domains/workflows/workflow/workflow-cancel-button.es.js +1 -1
  531. package/dist/domains/workflows/workflow/workflow-data-edge.cjs.js +1 -1
  532. package/dist/domains/workflows/workflow/workflow-data-edge.es.js +1 -1
  533. package/dist/domains/workflows/workflow/workflow-debug-step-controls.cjs.js +1 -1
  534. package/dist/domains/workflows/workflow/workflow-debug-step-controls.es.js +1 -1
  535. package/dist/domains/workflows/workflow/workflow-graph-boundary.cjs.js +3 -3
  536. package/dist/domains/workflows/workflow/workflow-graph-boundary.es.js +3 -3
  537. package/dist/domains/workflows/workflow/workflow-graph-inner.cjs.js +2 -2
  538. package/dist/domains/workflows/workflow/workflow-graph-inner.es.js +2 -2
  539. package/dist/domains/workflows/workflow/workflow-graph-node.cjs.js +2 -2
  540. package/dist/domains/workflows/workflow/workflow-graph-node.es.js +2 -2
  541. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js +1 -1
  542. package/dist/domains/workflows/workflow/workflow-input-data.cjs.js.map +1 -1
  543. package/dist/domains/workflows/workflow/workflow-input-data.es.js +1 -1
  544. package/dist/domains/workflows/workflow/workflow-input-data.es.js.map +1 -1
  545. package/dist/domains/workflows/workflow/workflow-map-config-dialog.cjs.js +3 -3
  546. package/dist/domains/workflows/workflow/workflow-map-config-dialog.es.js +3 -3
  547. package/dist/domains/workflows/workflow/workflow-nested-graph.cjs.js +3 -3
  548. package/dist/domains/workflows/workflow/workflow-nested-graph.es.js +3 -3
  549. package/dist/domains/workflows/workflow/workflow-run-data.cjs.js +2 -2
  550. package/dist/domains/workflows/workflow/workflow-run-data.es.js +2 -2
  551. package/dist/domains/workflows/workflow/workflow-run-header.cjs.js +1 -1
  552. package/dist/domains/workflows/workflow/workflow-run-header.es.js +1 -1
  553. package/dist/domains/workflows/workflow/workflow-status.cjs.js +1 -1
  554. package/dist/domains/workflows/workflow/workflow-status.es.js +1 -1
  555. package/dist/domains/workflows/workflow/workflow-step-action-bar.cjs.js +3 -3
  556. package/dist/domains/workflows/workflow/workflow-step-action-bar.es.js +3 -3
  557. package/dist/domains/workflows/workflow/workflow-suspended-steps.cjs.js +1 -1
  558. package/dist/domains/workflows/workflow/workflow-suspended-steps.es.js +1 -1
  559. package/dist/domains/workflows/workflow/workflow-time-travel-form.cjs.js +1 -1
  560. package/dist/domains/workflows/workflow/workflow-time-travel-form.es.js +1 -1
  561. package/dist/domains/workflows/workflow/workflow-timeline-row.cjs.js +1 -1
  562. package/dist/domains/workflows/workflow/workflow-timeline-row.es.js +1 -1
  563. package/dist/domains/workflows/workflow/workflow-timeline.cjs.js +1 -1
  564. package/dist/domains/workflows/workflow/workflow-timeline.es.js +1 -1
  565. package/dist/domains/workflows/workflow/workflow-trigger-form.cjs.js +1 -1
  566. package/dist/domains/workflows/workflow/workflow-trigger-form.es.js +1 -1
  567. package/dist/domains/workflows/workflow/workflow-trigger-header.cjs.js +1 -1
  568. package/dist/domains/workflows/workflow/workflow-trigger-header.es.js +1 -1
  569. package/dist/domains/workspace/components/workspace-active-file.cjs.js +1 -1
  570. package/dist/domains/workspace/components/workspace-active-file.es.js +1 -1
  571. package/dist/domains/workspace/components/workspace-add-skill-dialog.cjs.js +5 -5
  572. package/dist/domains/workspace/components/workspace-add-skill-dialog.es.js +5 -5
  573. package/dist/domains/workspace/components/workspace-add-skill.cjs.js +1 -1
  574. package/dist/domains/workspace/components/workspace-add-skill.es.js +1 -1
  575. package/dist/domains/workspace/components/workspace-create-directory.cjs.js +2 -2
  576. package/dist/domains/workspace/components/workspace-create-directory.es.js +2 -2
  577. package/dist/domains/workspace/components/workspace-markdown-preview.cjs.js +2 -2
  578. package/dist/domains/workspace/components/workspace-markdown-preview.es.js +2 -2
  579. package/dist/domains/workspace/components/workspace-search.cjs.js +1 -1
  580. package/dist/domains/workspace/components/workspace-search.es.js +1 -1
  581. package/dist/domains/workspace/components/workspace-tree.cjs.js +2 -2
  582. package/dist/domains/workspace/components/workspace-tree.es.js +2 -2
  583. package/dist/{drawer-DROYPMUm.cjs → drawer-DdTU-nBR.cjs} +2 -2
  584. package/dist/{drawer-DROYPMUm.cjs.map → drawer-DdTU-nBR.cjs.map} +1 -1
  585. package/dist/{drawer-C-8E9yHN.js → drawer-mj-G7-Tu.js} +2 -2
  586. package/dist/{drawer-C-8E9yHN.js.map → drawer-mj-G7-Tu.js.map} +1 -1
  587. package/dist/dropdown-menu-CQ_48tVI.js.map +1 -1
  588. package/dist/dropdown-menu-CsynT1aD.cjs.map +1 -1
  589. package/dist/ee/signals/components/entity-index-list.cjs.js +3 -1
  590. package/dist/ee/signals/components/entity-index-list.cjs.js.map +1 -1
  591. package/dist/ee/signals/components/entity-index-list.es.js +3 -1
  592. package/dist/ee/signals/components/entity-index-list.es.js.map +1 -1
  593. package/dist/ee/signals/components/signals-empty-state.cjs.js +1 -1
  594. package/dist/ee/signals/components/signals-empty-state.es.js +1 -1
  595. package/dist/ee/signals/components/trace-intelligence-entity-detail.cjs.js.map +1 -1
  596. package/dist/ee/signals/components/trace-intelligence-entity-detail.es.js.map +1 -1
  597. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js +6 -4
  598. package/dist/ee/signals/components/trace-intelligence-entity-index.cjs.js.map +1 -1
  599. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js +6 -4
  600. package/dist/ee/signals/components/trace-intelligence-entity-index.es.js.map +1 -1
  601. package/dist/ee/signals/examples-pager.cjs.js +1 -1
  602. package/dist/ee/signals/examples-pager.es.js +1 -1
  603. package/dist/ee/signals/noise-detail-panel.cjs.js +1 -1
  604. package/dist/ee/signals/noise-detail-panel.es.js +1 -1
  605. package/dist/ee/signals/settings/signal-definition-form-dialog.cjs.js +2 -2
  606. package/dist/ee/signals/settings/signal-definition-form-dialog.es.js +2 -2
  607. package/dist/ee/signals/settings/trace-signal-settings.cjs.js +1 -1
  608. package/dist/ee/signals/settings/trace-signal-settings.es.js +1 -1
  609. package/dist/ee/signals/signals-error-state.cjs.js +1 -1
  610. package/dist/ee/signals/signals-error-state.es.js +1 -1
  611. package/dist/ee/signals/snapshot-timeline.cjs.js +1 -1
  612. package/dist/ee/signals/snapshot-timeline.es.js +1 -1
  613. package/dist/ee/signals/theme-detail-panel.cjs.js +1 -1
  614. package/dist/ee/signals/theme-detail-panel.es.js +1 -1
  615. package/dist/ee/signals/theme-filter-banner.cjs.js +1 -1
  616. package/dist/ee/signals/theme-filter-banner.es.js +1 -1
  617. package/dist/ee/signals/trace-insight-view.cjs.js +1 -1
  618. package/dist/ee/signals/trace-insight-view.es.js +1 -1
  619. package/dist/ee/signals/trace-intelligence-provider.cjs.js.map +1 -1
  620. package/dist/ee/signals/trace-intelligence-provider.es.js.map +1 -1
  621. package/dist/ee/signals/view-mode-tab.cjs.js +1 -1
  622. package/dist/ee/signals/view-mode-tab.es.js +1 -1
  623. package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +3 -3
  624. package/dist/ee/topics/components/topic-trace-summary-list.es.js +3 -3
  625. package/dist/{field-error-id-Dbe6IInA.cjs → field-error-id-0yYYU0ar.cjs} +2 -2
  626. package/dist/{field-error-id-Dbe6IInA.cjs.map → field-error-id-0yYYU0ar.cjs.map} +1 -1
  627. package/dist/{field-error-id-Sqhk00e4.js → field-error-id-CdzuQK5c.js} +2 -2
  628. package/dist/{field-error-id-Sqhk00e4.js.map → field-error-id-CdzuQK5c.js.map} +1 -1
  629. package/dist/{filter-bar-chip-BarAq1S2.js → filter-bar-chip-C9CXOudu.js} +3 -3
  630. package/dist/filter-bar-chip-C9CXOudu.js.map +1 -0
  631. package/dist/{filter-bar-chip-BJJ6ytJ4.cjs → filter-bar-chip-DgvuQv6c.cjs} +3 -3
  632. package/dist/filter-bar-chip-DgvuQv6c.cjs.map +1 -0
  633. package/dist/hooks/use-environment-variables-editor.cjs.js.map +1 -1
  634. package/dist/hooks/use-environment-variables-editor.es.js.map +1 -1
  635. package/dist/hooks/use-fluid-hover.cjs.js.map +1 -1
  636. package/dist/hooks/use-fluid-hover.es.js.map +1 -1
  637. package/dist/icons/Icon.cjs.js.map +1 -1
  638. package/dist/icons/Icon.es.js.map +1 -1
  639. package/dist/icons/SkillIcon.cjs.js.map +1 -1
  640. package/dist/icons/SkillIcon.es.js.map +1 -1
  641. package/dist/icons/icon-size-classes.cjs.js +4 -4
  642. package/dist/icons/icon-size-classes.cjs.js.map +1 -1
  643. package/dist/icons/icon-size-classes.es.js +4 -4
  644. package/dist/icons/icon-size-classes.es.js.map +1 -1
  645. package/dist/{input-group-CiBbTaPP.js → input-group-BAg6iSIe.js} +2 -2
  646. package/dist/{input-group-CiBbTaPP.js.map → input-group-BAg6iSIe.js.map} +1 -1
  647. package/dist/{input-group-DSW5WoSU.cjs → input-group-DRXUthxe.cjs} +2 -2
  648. package/dist/{input-group-DSW5WoSU.cjs.map → input-group-DRXUthxe.cjs.map} +1 -1
  649. package/dist/keyboard/keyboard-dispatcher.cjs.js +2 -4
  650. package/dist/keyboard/keyboard-dispatcher.cjs.js.map +1 -1
  651. package/dist/keyboard/keyboard-dispatcher.es.js +2 -4
  652. package/dist/keyboard/keyboard-dispatcher.es.js.map +1 -1
  653. package/dist/keyboard/keyboard-shortcuts-context.cjs.js.map +1 -1
  654. package/dist/keyboard/keyboard-shortcuts-context.es.js.map +1 -1
  655. package/dist/keyboard/use-keydown.cjs.js +2 -0
  656. package/dist/keyboard/use-keydown.cjs.js.map +1 -1
  657. package/dist/keyboard/use-keydown.es.js +2 -0
  658. package/dist/keyboard/use-keydown.es.js.map +1 -1
  659. package/dist/layout/tabbed-container.cjs.js +4 -4
  660. package/dist/layout/tabbed-container.es.js +4 -4
  661. package/dist/lib/form/components/array-element-wrapper.cjs.js +1 -1
  662. package/dist/lib/form/components/array-element-wrapper.es.js +1 -1
  663. package/dist/lib/form/components/array-wrapper.cjs.js +1 -1
  664. package/dist/lib/form/components/array-wrapper.es.js +1 -1
  665. package/dist/lib/form/components/date-field.cjs.js +1 -1
  666. package/dist/lib/form/components/date-field.es.js +1 -1
  667. package/dist/lib/form/components/form-submit-row.cjs.js +1 -1
  668. package/dist/lib/form/components/form-submit-row.es.js +1 -1
  669. package/dist/lib/form/components/record-field.cjs.js +1 -1
  670. package/dist/lib/form/components/record-field.es.js +1 -1
  671. package/dist/lib/form/components/select-field.cjs.js +1 -1
  672. package/dist/lib/form/components/select-field.es.js +1 -1
  673. package/dist/lib/form/components/submit-button.cjs.js +1 -1
  674. package/dist/lib/form/components/submit-button.es.js +1 -1
  675. package/dist/lib/form/zod-provider.cjs.js.map +1 -1
  676. package/dist/lib/form/zod-provider.es.js.map +1 -1
  677. package/dist/{list-search-D3I6xt0B.js → list-search-ByJdIxIh.js} +2 -2
  678. package/dist/{list-search-D3I6xt0B.js.map → list-search-ByJdIxIh.js.map} +1 -1
  679. package/dist/{list-search-DHiQ1-O6.cjs → list-search-DNJVeHmK.cjs} +2 -2
  680. package/dist/{list-search-DHiQ1-O6.cjs.map → list-search-DNJVeHmK.cjs.map} +1 -1
  681. package/dist/{logs-data-list-Cb85LPcT.js → logs-data-list-CGerYgSd.js} +2 -3
  682. package/dist/{logs-data-list-Cb85LPcT.js.map → logs-data-list-CGerYgSd.js.map} +1 -1
  683. package/dist/{logs-data-list-DlQxxrNw.cjs → logs-data-list-DEZuSjqt.cjs} +21 -22
  684. package/dist/{logs-data-list-DlQxxrNw.cjs.map → logs-data-list-DEZuSjqt.cjs.map} +1 -1
  685. package/dist/{markdown-renderer-HIfFphpI.cjs → markdown-renderer-BcpwvSl9.cjs} +3 -3
  686. package/dist/{markdown-renderer-HIfFphpI.cjs.map → markdown-renderer-BcpwvSl9.cjs.map} +1 -1
  687. package/dist/{markdown-renderer-BYxWiHRj.js → markdown-renderer-CHLpv5n5.js} +3 -3
  688. package/dist/{markdown-renderer-BYxWiHRj.js.map → markdown-renderer-CHLpv5n5.js.map} +1 -1
  689. package/dist/{message-copy-button-CnVgCy9y.cjs → message-copy-button-D3O4hWDV.cjs} +2 -2
  690. package/dist/{message-copy-button-CnVgCy9y.cjs.map → message-copy-button-D3O4hWDV.cjs.map} +1 -1
  691. package/dist/{message-copy-button-Ctew41Rr.js → message-copy-button-OI1mwAaS.js} +2 -2
  692. package/dist/{message-copy-button-Ctew41Rr.js.map → message-copy-button-OI1mwAaS.js.map} +1 -1
  693. package/dist/{metrics-card-DaFApxZY.cjs → metrics-card-CpjGYNBP.cjs} +2 -2
  694. package/dist/{metrics-card-DaFApxZY.cjs.map → metrics-card-CpjGYNBP.cjs.map} +1 -1
  695. package/dist/{metrics-card-Z_moDiV5.js → metrics-card-D6ty6a6Z.js} +2 -2
  696. package/dist/{metrics-card-Z_moDiV5.js.map → metrics-card-D6ty6a6Z.js.map} +1 -1
  697. package/dist/{notification-activity-MR63WqZm.cjs → notification-activity-BSNuqJDd.cjs} +2 -2
  698. package/dist/{notification-activity-MR63WqZm.cjs.map → notification-activity-BSNuqJDd.cjs.map} +1 -1
  699. package/dist/{notification-activity-FJcMFxIj.js → notification-activity-BWXHmlTn.js} +2 -2
  700. package/dist/{notification-activity-FJcMFxIj.js.map → notification-activity-BWXHmlTn.js.map} +1 -1
  701. package/dist/{plan-BoOK_LAB.cjs → plan-Cm3yHvs3.cjs} +4 -4
  702. package/dist/{plan-BoOK_LAB.cjs.map → plan-Cm3yHvs3.cjs.map} +1 -1
  703. package/dist/{plan-m0hj6Zgv.js → plan-TtrepVnQ.js} +4 -4
  704. package/dist/{plan-m0hj6Zgv.js.map → plan-TtrepVnQ.js.map} +1 -1
  705. package/dist/primitives/form-element.cjs.js.map +1 -1
  706. package/dist/primitives/form-element.es.js.map +1 -1
  707. package/dist/primitives/menu-item.cjs.js +4 -2
  708. package/dist/primitives/menu-item.cjs.js.map +1 -1
  709. package/dist/primitives/menu-item.es.js +4 -2
  710. package/dist/primitives/menu-item.es.js.map +1 -1
  711. package/dist/primitives/popup-anchor.cjs.js +34 -0
  712. package/dist/primitives/popup-anchor.cjs.js.map +1 -0
  713. package/dist/primitives/popup-anchor.d.ts +2 -0
  714. package/dist/primitives/popup-anchor.es.js +10 -0
  715. package/dist/primitives/popup-anchor.es.js.map +1 -0
  716. package/dist/primitives/trigger-button.cjs.js +1 -1
  717. package/dist/primitives/trigger-button.es.js +1 -1
  718. package/dist/{property-filter-applied-J9ob_Rss.js → property-filter-applied-BMmMf4DE.js} +2 -2
  719. package/dist/property-filter-applied-BMmMf4DE.js.map +1 -0
  720. package/dist/{property-filter-applied-CtSglSaH.cjs → property-filter-applied-Bj-bh9gv.cjs} +2 -2
  721. package/dist/property-filter-applied-Bj-bh9gv.cjs.map +1 -0
  722. package/dist/{reasoning-activity-5MFE3mzw.js → reasoning-activity-C-sJt2A9.js} +3 -3
  723. package/dist/{reasoning-activity-5MFE3mzw.js.map → reasoning-activity-C-sJt2A9.js.map} +1 -1
  724. package/dist/{reasoning-activity-DMvughvN.cjs → reasoning-activity-DpYFjxuL.cjs} +3 -3
  725. package/dist/{reasoning-activity-DMvughvN.cjs.map → reasoning-activity-DpYFjxuL.cjs.map} +1 -1
  726. package/dist/resize/panel-drawer.cjs.js +1 -1
  727. package/dist/resize/panel-drawer.es.js +1 -1
  728. package/dist/{search-input-BPqubJZC.js → search-input-C9qFBzn6.js} +2 -2
  729. package/dist/{search-input-BPqubJZC.js.map → search-input-C9qFBzn6.js.map} +1 -1
  730. package/dist/{search-input-BUMYRaUW.cjs → search-input-CMNy0JWd.cjs} +2 -2
  731. package/dist/{search-input-BUMYRaUW.cjs.map → search-input-CMNy0JWd.cjs.map} +1 -1
  732. package/dist/section-CctlZIXp.cjs.map +1 -1
  733. package/dist/section-D0hKTVXt.js.map +1 -1
  734. package/dist/{select-CQtsggxJ.js → select-7rYaECQf.js} +2 -2
  735. package/dist/select-7rYaECQf.js.map +1 -0
  736. package/dist/{select-CbNLtiAs.cjs → select-A3AFKLd9.cjs} +2 -2
  737. package/dist/select-A3AFKLd9.cjs.map +1 -0
  738. package/dist/shimmer-BCSr3Rqf.js.map +1 -1
  739. package/dist/shimmer-Co-XPvF9.cjs.map +1 -1
  740. package/dist/{side-dialog-bm8NPDXy.js → side-dialog-DSvj8H6x.js} +4 -4
  741. package/dist/{side-dialog-bm8NPDXy.js.map → side-dialog-DSvj8H6x.js.map} +1 -1
  742. package/dist/{side-dialog-BzULMBaH.cjs → side-dialog-SJCWBnbw.cjs} +4 -4
  743. package/dist/{side-dialog-BzULMBaH.cjs.map → side-dialog-SJCWBnbw.cjs.map} +1 -1
  744. package/dist/{signal-activity-D-_u7DFm.cjs → signal-activity-C_bihjcd.cjs} +2 -2
  745. package/dist/{signal-activity-D-_u7DFm.cjs.map → signal-activity-C_bihjcd.cjs.map} +1 -1
  746. package/dist/{signal-activity-BkFexFiJ.js → signal-activity-J9kpnwAF.js} +2 -2
  747. package/dist/{signal-activity-BkFexFiJ.js.map → signal-activity-J9kpnwAF.js.map} +1 -1
  748. package/dist/{span-payload-primitives-wujxDKfA.cjs → span-payload-primitives-C0KYtmtV.cjs} +3 -3
  749. package/dist/{span-payload-primitives-wujxDKfA.cjs.map → span-payload-primitives-C0KYtmtV.cjs.map} +1 -1
  750. package/dist/{span-payload-primitives-jQiJK0qI.js → span-payload-primitives-D_N9LeLk.js} +3 -3
  751. package/dist/{span-payload-primitives-jQiJK0qI.js.map → span-payload-primitives-D_N9LeLk.js.map} +1 -1
  752. package/dist/src/domains/traces/components/span-rows.d.ts +2 -0
  753. package/dist/src/domains/traces/components/span-tree-rail.d.ts +23 -0
  754. package/dist/src/domains/traces/components/span-type-badge.d.ts +9 -0
  755. package/dist/src/domains/traces/components/timeline-name-col.d.ts +2 -2
  756. package/dist/src/domains/traces/components/timeline-structure-sign.d.ts +14 -1
  757. package/dist/src/domains/traces/components/trace-error-cell.d.ts +8 -0
  758. package/dist/src/domains/traces/components/trace-error-details.d.ts +10 -0
  759. package/dist/src/domains/traces/components/trace-error-summary.d.ts +8 -0
  760. package/dist/src/domains/traces/components/trace-span-tree-skeleton.d.ts +1 -1
  761. package/dist/src/domains/traces/hooks/use-traces-list-source.d.ts +1 -0
  762. package/dist/src/ds/components/Avatar/avatar-size.d.ts +1 -1
  763. package/dist/src/ds/components/Breadcrumb/crumb-switcher.d.ts +0 -1
  764. package/dist/src/ds/components/Button/Button.d.ts +1 -1
  765. package/dist/src/ds/components/EnvironmentVariablesEditor/environment-variables-editor-context.d.ts +1 -2
  766. package/dist/src/ds/components/SavedViews/saved-view-editor.d.ts +1 -1
  767. package/dist/src/ds/components/Select/select.d.ts +1 -1
  768. package/dist/src/ds/primitives/popup-anchor.d.ts +4 -0
  769. package/dist/src/hooks/use-environment-variables-editor.d.ts +1 -1
  770. package/dist/src/lib/keyboard/keyboard-dispatcher.d.ts +2 -0
  771. package/dist/src/lib/keyboard/use-keydown.d.ts +8 -1
  772. package/dist/style.css +121 -143
  773. package/dist/{tabs-tab-DRaRUvQ3.cjs → tabs-tab-B0W25Dm2.cjs} +2 -2
  774. package/dist/{tabs-tab-DRaRUvQ3.cjs.map → tabs-tab-B0W25Dm2.cjs.map} +1 -1
  775. package/dist/{tabs-tab-CIVJEMoY.js → tabs-tab-CkLyKrL0.js} +2 -2
  776. package/dist/{tabs-tab-CIVJEMoY.js.map → tabs-tab-CkLyKrL0.js.map} +1 -1
  777. package/dist/{thread-list-BANpytn3.cjs → thread-list-BBPZYHh8.cjs} +2 -2
  778. package/dist/thread-list-BBPZYHh8.cjs.map +1 -0
  779. package/dist/{thread-list-lXnXsPul.js → thread-list-BGjKZfEH.js} +2 -2
  780. package/dist/thread-list-BGjKZfEH.js.map +1 -0
  781. package/dist/{time-picker-BpCfTfoe.js → time-picker-Bzdboi4W.js} +2 -2
  782. package/dist/{time-picker-BpCfTfoe.js.map → time-picker-Bzdboi4W.js.map} +1 -1
  783. package/dist/{time-picker-DhekkO5t.cjs → time-picker-CyvG-fwX.cjs} +2 -2
  784. package/dist/{time-picker-DhekkO5t.cjs.map → time-picker-CyvG-fwX.cjs.map} +1 -1
  785. package/dist/{tool-approval-BrqoN_mP.js → tool-approval-P8rUFAYp.js} +4 -4
  786. package/dist/{tool-approval-BrqoN_mP.js.map → tool-approval-P8rUFAYp.js.map} +1 -1
  787. package/dist/{tool-approval-zBfJ20iR.cjs → tool-approval-zhWdp8i6.cjs} +4 -4
  788. package/dist/{tool-approval-zBfJ20iR.cjs.map → tool-approval-zhWdp8i6.cjs.map} +1 -1
  789. package/dist/{tool-call-arguments-DwMeGQHD.cjs → tool-call-arguments-DzpFckIm.cjs} +3 -3
  790. package/dist/{tool-call-arguments-DwMeGQHD.cjs.map → tool-call-arguments-DzpFckIm.cjs.map} +1 -1
  791. package/dist/{tool-call-arguments-Dx4LW1Ni.js → tool-call-arguments-goEdIs4f.js} +3 -3
  792. package/dist/{tool-call-arguments-Dx4LW1Ni.js.map → tool-call-arguments-goEdIs4f.js.map} +1 -1
  793. package/dist/{tool-call-group-DJsiIb-B.cjs → tool-call-group-C56oARyx.cjs} +4 -4
  794. package/dist/tool-call-group-C56oARyx.cjs.map +1 -0
  795. package/dist/{tool-call-group-ZDNZog5K.js → tool-call-group-DU4T72Xn.js} +4 -4
  796. package/dist/tool-call-group-DU4T72Xn.js.map +1 -0
  797. package/dist/{tool-call-mono-Bs7y-1Cq.js → tool-call-mono-DPW6hN91.js} +2 -2
  798. package/dist/{tool-call-mono-Bs7y-1Cq.js.map → tool-call-mono-DPW6hN91.js.map} +1 -1
  799. package/dist/{tool-call-mono-I-vdqzCe.cjs → tool-call-mono-aheL8CkL.cjs} +2 -2
  800. package/dist/{tool-call-mono-I-vdqzCe.cjs.map → tool-call-mono-aheL8CkL.cjs.map} +1 -1
  801. package/dist/{tool-call-output-Dd8zlhLd.js → tool-call-output-BQYzMMMi.js} +2 -2
  802. package/dist/{tool-call-output-Dd8zlhLd.js.map → tool-call-output-BQYzMMMi.js.map} +1 -1
  803. package/dist/{tool-call-output-BrNg0Lkd.cjs → tool-call-output-CuwM5IHd.cjs} +2 -2
  804. package/dist/{tool-call-output-BrNg0Lkd.cjs.map → tool-call-output-CuwM5IHd.cjs.map} +1 -1
  805. package/dist/{tool-card-D4yrR2AE.js → tool-card-aclA3iVz.js} +4 -4
  806. package/dist/{tool-card-D4yrR2AE.js.map → tool-card-aclA3iVz.js.map} +1 -1
  807. package/dist/{tool-card-D6UdNzIX.cjs → tool-card-yii3vGHu.cjs} +4 -4
  808. package/dist/{tool-card-D6UdNzIX.cjs.map → tool-card-yii3vGHu.cjs.map} +1 -1
  809. package/dist/{traces-data-list-Bhhg9drs.cjs → traces-data-list-Co9k5J4f.cjs} +18 -20
  810. package/dist/{traces-data-list-Bhhg9drs.cjs.map → traces-data-list-Co9k5J4f.cjs.map} +1 -1
  811. package/dist/{traces-data-list-DMWPJFBc.js → traces-data-list-TCKjOldO.js} +2 -4
  812. package/dist/{traces-data-list-DMWPJFBc.js.map → traces-data-list-TCKjOldO.js.map} +1 -1
  813. package/dist/use-data-list-keyboard-DF3tLe10.cjs.map +1 -1
  814. package/dist/use-data-list-keyboard-DFQr4t38.js.map +1 -1
  815. package/dist/{use-workflow-graph-runtime-DF-56pIR.cjs → use-workflow-graph-runtime-DcQD5eA6.cjs} +3 -3
  816. package/dist/{use-workflow-graph-runtime-DF-56pIR.cjs.map → use-workflow-graph-runtime-DcQD5eA6.cjs.map} +1 -1
  817. package/dist/{use-workflow-graph-runtime-BrHXo49Q.js → use-workflow-graph-runtime-xq_aSXPh.js} +3 -3
  818. package/dist/{use-workflow-graph-runtime-BrHXo49Q.js.map → use-workflow-graph-runtime-xq_aSXPh.js.map} +1 -1
  819. package/dist/utils/workspace-compat.cjs.js.map +1 -1
  820. package/dist/utils/workspace-compat.es.js.map +1 -1
  821. package/dist/{workflow-code-dialog-content-CfVy6bGG.cjs → workflow-code-dialog-content-B_BQCuFW.cjs} +3 -3
  822. package/dist/{workflow-code-dialog-content-CfVy6bGG.cjs.map → workflow-code-dialog-content-B_BQCuFW.cjs.map} +1 -1
  823. package/dist/{workflow-code-dialog-content-DviJz1jB.js → workflow-code-dialog-content-CFEaeYUX.js} +3 -3
  824. package/dist/{workflow-code-dialog-content-DviJz1jB.js.map → workflow-code-dialog-content-CFEaeYUX.js.map} +1 -1
  825. package/dist/{workflow-condition-card-BRwhMmNO.cjs → workflow-condition-card-CMzoK307.cjs} +3 -3
  826. package/dist/{workflow-condition-card-BRwhMmNO.cjs.map → workflow-condition-card-CMzoK307.cjs.map} +1 -1
  827. package/dist/{workflow-condition-card-sFdOjlab.js → workflow-condition-card-CbQ4fCxY.js} +3 -3
  828. package/dist/{workflow-condition-card-sFdOjlab.js.map → workflow-condition-card-CbQ4fCxY.js.map} +1 -1
  829. package/dist/{workflow-data-edge-view-DpPhr9gZ.cjs → workflow-data-edge-view-0utEB4Yb.cjs} +2 -2
  830. package/dist/{workflow-data-edge-view-DpPhr9gZ.cjs.map → workflow-data-edge-view-0utEB4Yb.cjs.map} +1 -1
  831. package/dist/{workflow-data-edge-view-CuSzc6YI.js → workflow-data-edge-view-gwwJEvXz.js} +2 -2
  832. package/dist/{workflow-data-edge-view-CuSzc6YI.js.map → workflow-data-edge-view-gwwJEvXz.js.map} +1 -1
  833. package/dist/{workflow-debug-controls-CAn_6S8K.cjs → workflow-debug-controls-B5zqE_rm.cjs} +2 -2
  834. package/dist/{workflow-debug-controls-CAn_6S8K.cjs.map → workflow-debug-controls-B5zqE_rm.cjs.map} +1 -1
  835. package/dist/{workflow-debug-controls-CLzbxd5O.js → workflow-debug-controls-CPpdNzD9.js} +2 -2
  836. package/dist/{workflow-debug-controls-CLzbxd5O.js.map → workflow-debug-controls-CPpdNzD9.js.map} +1 -1
  837. package/dist/{workflow-edge-data-button-Dtt_OUz9.js → workflow-edge-data-button-YWjfx-W0.js} +4 -4
  838. package/dist/{workflow-edge-data-button-Dtt_OUz9.js.map → workflow-edge-data-button-YWjfx-W0.js.map} +1 -1
  839. package/dist/{workflow-edge-data-button-B8rQaAoK.cjs → workflow-edge-data-button-tDvziS5v.cjs} +4 -4
  840. package/dist/{workflow-edge-data-button-B8rQaAoK.cjs.map → workflow-edge-data-button-tDvziS5v.cjs.map} +1 -1
  841. package/dist/{workflow-step-action-DqFjktfs.js → workflow-step-action-D8MVfEIl.js} +2 -2
  842. package/dist/{workflow-step-action-DqFjktfs.js.map → workflow-step-action-D8MVfEIl.js.map} +1 -1
  843. package/dist/{workflow-step-action-Cu01omgz.cjs → workflow-step-action-DZgS0_fL.cjs} +2 -2
  844. package/dist/{workflow-step-action-Cu01omgz.cjs.map → workflow-step-action-DZgS0_fL.cjs.map} +1 -1
  845. package/package.json +11 -13
  846. package/theme/scale.css +7 -0
  847. package/dist/Avatar-98bsFrSV.js.map +0 -1
  848. package/dist/Avatar-BCj8SvOb.cjs.map +0 -1
  849. package/dist/Button-DH1aTzbs.cjs.map +0 -1
  850. package/dist/Button-EGoajBQY.js.map +0 -1
  851. package/dist/activity-2tovEdIP.cjs.map +0 -1
  852. package/dist/activity-CsTUr5_l.js.map +0 -1
  853. package/dist/ask-user-card-DroerVbm.cjs.map +0 -1
  854. package/dist/avatar-size-CNR0U-LW.js.map +0 -1
  855. package/dist/avatar-size-DxStOo5A.cjs.map +0 -1
  856. package/dist/combobox-BNlVCFgY.cjs.map +0 -1
  857. package/dist/combobox-Bw13EcK0.js.map +0 -1
  858. package/dist/command-UEPxVJlE.cjs.map +0 -1
  859. package/dist/command-V9rsKc7P.js.map +0 -1
  860. package/dist/data-keys-and-values-1lYi60YK.cjs.map +0 -1
  861. package/dist/data-keys-and-values-CHpxKsfq.js.map +0 -1
  862. package/dist/data-list-CmjTe8xE.cjs +0 -142
  863. package/dist/data-list-CmjTe8xE.cjs.map +0 -1
  864. package/dist/data-list-DT1LVR29.js +0 -138
  865. package/dist/data-list-DT1LVR29.js.map +0 -1
  866. package/dist/data-list-spacer-CdlT6bDd.cjs +0 -218
  867. package/dist/data-list-spacer-CdlT6bDd.cjs.map +0 -1
  868. package/dist/data-list-spacer-D--gDmOm.js +0 -209
  869. package/dist/data-list-spacer-D--gDmOm.js.map +0 -1
  870. package/dist/data-list-top-DJh08vFA.cjs.map +0 -1
  871. package/dist/data-list-top-T-mtdIUp.js.map +0 -1
  872. package/dist/data-panel-BkfjzriB.cjs.map +0 -1
  873. package/dist/data-panel-CMkR6Avv.js.map +0 -1
  874. package/dist/filter-bar-chip-BJJ6ytJ4.cjs.map +0 -1
  875. package/dist/filter-bar-chip-BarAq1S2.js.map +0 -1
  876. package/dist/property-filter-applied-CtSglSaH.cjs.map +0 -1
  877. package/dist/property-filter-applied-J9ob_Rss.js.map +0 -1
  878. package/dist/select-CQtsggxJ.js.map +0 -1
  879. package/dist/select-CbNLtiAs.cjs.map +0 -1
  880. package/dist/thread-list-BANpytn3.cjs.map +0 -1
  881. package/dist/thread-list-lXnXsPul.js.map +0 -1
  882. package/dist/tool-call-group-DJsiIb-B.cjs.map +0 -1
  883. package/dist/tool-call-group-ZDNZog5K.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"use-data-list-keyboard-DFQr4t38.js","sources":["../src/ds/components/DataList/use-data-list-keyboard.ts"],"sourcesContent":["import { useRef } from 'react';\nimport type { RefObject } from 'react';\nimport { useTableKeydown } from '@/lib/keyboard';\nimport type { UseTableKeydownArgs } from '@/lib/keyboard';\n\nexport type UseDataListKeyboardArgs<T extends HTMLElement = HTMLDivElement> = Omit<\n UseTableKeydownArgs,\n 'containerRef'\n> & {\n /** Reuse an existing container/scroll ref instead of the internally created one. */\n containerRef?: RefObject<T | null>;\n};\n\n/**\n * Thin DataList-flavored wrapper around `useTableKeydown` that owns the\n * container ref, so callsites only need to attach `containerRef` to the element\n * wrapping the `<DataList>` (or pass an existing scroll ref) and spread\n * `getRowProps(index)` on each interactive row (RowButton / RowLink).\n *\n * Pass `global: true` on the page's main list so ArrowUp/ArrowDown work from\n * anywhere on the page (before any row has focus). Only one list per page\n * should be global; sub-lists in panels keep the default row-level behavior.\n */\nexport const useDataListKeyboard = <T extends HTMLElement = HTMLDivElement>({\n containerRef: externalRef,\n ...args\n}: UseDataListKeyboardArgs<T>) => {\n const internalRef = useRef<T | null>(null);\n const containerRef = externalRef ?? internalRef;\n // useTableKeydown only reads from the ref, so widening to HTMLElement is safe.\n const table = useTableKeydown({ ...args, containerRef: containerRef as RefObject<HTMLElement | null> });\n\n return { containerRef, ...table };\n};\n"],"names":[],"mappings":";;;;AAuBO,MAAM,sBAAsB,CAAyC;AAAA,EAC1E,YAAA,EAAc,WAAA;AAAA,EACd,GAAG;AACL,CAAA,KAAkC;AAChC,EAAA,MAAM,WAAA,GAAc,OAAiB,IAAI,CAAA;AACzC,EAAA,MAAM,eAAe,WAAA,IAAe,WAAA;AAEpC,EAAA,MAAM,QAAQ,eAAA,CAAgB,EAAE,GAAG,IAAA,EAAM,cAA6D,CAAA;AAEtG,EAAA,OAAO,EAAE,YAAA,EAAc,GAAG,KAAA,EAAM;AAClC;;;;"}
1
+ {"version":3,"file":"use-data-list-keyboard-DFQr4t38.js","sources":["../src/ds/components/DataList/use-data-list-keyboard.ts"],"sourcesContent":["import { useRef } from 'react';\nimport type { RefObject } from 'react';\nimport { useTableKeydown } from '@/lib/keyboard';\nimport type { UseTableKeydownArgs } from '@/lib/keyboard';\n\nexport type UseDataListKeyboardArgs<T extends HTMLElement = HTMLDivElement> = Omit<\n UseTableKeydownArgs,\n 'containerRef'\n> & {\n /** Reuse an existing container/scroll ref instead of the internally created one. */\n containerRef?: RefObject<T | null>;\n};\n\n/**\n * Thin DataList-flavored wrapper around `useTableKeydown` that owns the\n * container ref, so callsites only need to attach `containerRef` to the element\n * wrapping the `<DataList>` (or pass an existing scroll ref) and spread\n * `getRowProps(index)` on each interactive row (RowButton / RowLink).\n *\n * Pass `global: true` on the page's main list so ArrowUp/ArrowDown work from\n * anywhere on the page (before any row has focus). Only one list per page\n * should be global; sub-lists in panels keep the default row-level behavior.\n */\nexport const useDataListKeyboard = <T extends HTMLElement = HTMLDivElement>({\n containerRef: externalRef,\n ...args\n}: UseDataListKeyboardArgs<T>) => {\n const internalRef = useRef<T | null>(null);\n const containerRef = externalRef ?? internalRef;\n // useTableKeydown only reads from the ref, so widening to HTMLElement is safe.\n const table = useTableKeydown({ ...args, containerRef: containerRef });\n\n return { containerRef, ...table };\n};\n"],"names":[],"mappings":";;;;AAuBO,MAAM,sBAAsB,CAAyC;AAAA,EAC1E,YAAA,EAAc,WAAA;AAAA,EACd,GAAG;AACL,CAAA,KAAkC;AAChC,EAAA,MAAM,WAAA,GAAc,OAAiB,IAAI,CAAA;AACzC,EAAA,MAAM,eAAe,WAAA,IAAe,WAAA;AAEpC,EAAA,MAAM,QAAQ,eAAA,CAAgB,EAAE,GAAG,IAAA,EAAM,cAA4B,CAAA;AAErE,EAAA,OAAO,EAAE,YAAA,EAAc,GAAG,KAAA,EAAM;AAClC;;;;"}
@@ -17,11 +17,11 @@ const lucideReact = require('lucide-react');
17
17
  const domains_workflows_workflow_useWorkflowGraphNodes = require('./domains/workflows/workflow/use-workflow-graph-nodes.cjs.js');
18
18
  const domains_workflows_workflow_workflowStepNodeUtils = require('./domains/workflows/workflow/workflow-step-node-utils.cjs.js');
19
19
  const types = require('./types-1cBe2TOn.cjs');
20
- const workflowConditionCard = require('./workflow-condition-card-BRwhMmNO.cjs');
20
+ const workflowConditionCard = require('./workflow-condition-card-CMzoK307.cjs');
21
21
  const domains_workflows_workflow_workflowGraphBoundary = require('./domains/workflows/workflow/workflow-graph-boundary.cjs.js');
22
22
  const domains_workflows_workflow_workflowGraphGroups = require('./domains/workflows/workflow/workflow-graph-groups.cjs.js');
23
23
  const domains_workflows_workflow_workflowIterationScopes = require('./domains/workflows/workflow/workflow-iteration-scopes.cjs.js');
24
- const select = require('./select-CbNLtiAs.cjs');
24
+ const select = require('./select-A3AFKLd9.cjs');
25
25
  const Txt = require('./Txt-CIS2G5Jx.cjs');
26
26
  const domains_workflows_workflow_workflowNodeKind = require('./domains/workflows/workflow/workflow-node-kind.cjs.js');
27
27
  const domains_workflows_workflow_workflowStepActionBar = require('./domains/workflows/workflow/workflow-step-action-bar.cjs.js');
@@ -299,4 +299,4 @@ exports.WorkflowBodyGraph = WorkflowBodyGraph;
299
299
  exports.WorkflowGraphNode = WorkflowGraphNode;
300
300
  exports.WorkflowNestedGraph = WorkflowNestedGraph;
301
301
  exports.useWorkflowGraphRuntime = useWorkflowGraphRuntime;
302
- //# sourceMappingURL=use-workflow-graph-runtime-DF-56pIR.cjs.map
302
+ //# sourceMappingURL=use-workflow-graph-runtime-DcQD5eA6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-workflow-graph-runtime-DF-56pIR.cjs","sources":["../src/domains/workflows/workflow/workflow-nested-graph.tsx","../src/domains/workflows/workflow/workflow-body-graph.tsx","../src/domains/workflows/workflow/workflow-graph-node.tsx","../src/domains/workflows/workflow/use-workflow-graph-runtime.tsx"],"sourcesContent":["import type { SerializedStepFlowEntry } from '@mastra/core/workflows';\n\nimport { useMemo, useState } from 'react';\nimport { useCurrentRun } from '../context/use-current-run';\nimport { useWorkflowGraphNodes } from './use-workflow-graph-nodes';\nimport { useWorkflowGraphRuntime } from './use-workflow-graph-runtime';\nimport { WorkflowGraphBoundary } from './workflow-graph-boundary';\nimport { getWorkflowGraphGroups } from './workflow-graph-groups';\nimport { getWorkflowIterationScopes } from './workflow-iteration-scopes';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select';\nimport { Txt } from '@/ds/components/Txt';\nimport { WorkflowGraphCanvas, WORKFLOW_BOUNDARY_NODE_TYPE } from '@/ds/components/Workflow';\n\nexport interface WorkflowNestedGraphProps {\n stepGraph: SerializedStepFlowEntry[];\n workflowName: string;\n isForEach?: boolean;\n embedded?: boolean;\n requestContext: Record<string, any>;\n}\n\nexport function WorkflowNestedGraph(props: WorkflowNestedGraphProps) {\n const layoutKey = useMemo(\n () => `${props.workflowName}:${JSON.stringify(props.stepGraph)}`,\n [props.workflowName, props.stepGraph],\n );\n return (\n <WorkflowGraphBoundary key={layoutKey} stepGraph={props.stepGraph}>\n <WorkflowNestedGraphContent {...props} />\n </WorkflowGraphBoundary>\n );\n}\n\nfunction WorkflowNestedGraphContent({\n stepGraph,\n workflowName,\n isForEach,\n embedded,\n requestContext,\n}: WorkflowNestedGraphProps) {\n const { nodes, edges, onNodesChange } = useWorkflowGraphNodes(stepGraph);\n const { steps } = useCurrentRun();\n const iterations = getWorkflowIterationScopes(Object.keys(steps), workflowName);\n const [selectedIteration, setSelectedIteration] = useState<string>();\n const activeIteration = iterations.find(iteration => iteration.value === selectedIteration) ?? iterations[0];\n\n const { edgeTypes, nodeTypes, styledEdges } = useWorkflowGraphRuntime({\n edges,\n workflowName: activeIteration?.value ?? workflowName,\n requestContext,\n });\n\n const labeledNodes = useMemo(\n () =>\n nodes.map(node => {\n if (!isForEach || node.type !== WORKFLOW_BOUNDARY_NODE_TYPE) return node;\n const label = node.data.boundaryRole === 'start' ? 'Each item' : 'Item result';\n return { ...node, data: { ...node.data, label } };\n }),\n [nodes, isForEach],\n );\n const groups = useMemo(() => getWorkflowGraphGroups(nodes), [nodes]);\n\n return (\n <div className=\"relative flex size-full flex-col\">\n {activeIteration && (\n <div className=\"nodrag nopan flex items-center gap-3 border-b border-border px-4 py-2\">\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n Iteration\n </Txt>\n <Select value={activeIteration.value} onValueChange={setSelectedIteration} items={iterations}>\n <SelectTrigger aria-label=\"Loop item\" size=\"sm\" className=\"w-36\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {iterations.map(iteration => (\n <SelectItem key={iteration.value} value={iteration.value}>\n {iteration.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )}\n <div className=\"min-h-0 flex-1\">\n <WorkflowGraphCanvas\n variant={embedded ? 'inline' : 'nested'}\n groups={groups}\n nodes={labeledNodes}\n edges={styledEdges}\n edgeTypes={edgeTypes}\n nodeTypes={nodeTypes}\n onNodesChange={onNodesChange}\n />\n </div>\n </div>\n );\n}\n","import type { SerializedStepFlowEntry } from '@mastra/core/workflows';\nimport { ReactFlowProvider } from '@xyflow/react';\nimport { Repeat2 } from 'lucide-react';\nimport { WorkflowNestedGraph } from './workflow-nested-graph';\nimport { Txt } from '@/ds/components/Txt';\n\nexport function WorkflowBodyGraph({\n stepGraph,\n workflowName,\n isForEach,\n requestContext,\n}: {\n stepGraph: SerializedStepFlowEntry[];\n workflowName: string;\n isForEach?: boolean;\n requestContext: Record<string, any>;\n}) {\n return (\n <section aria-label={isForEach ? 'Loop body' : 'Nested workflow'} className=\"flex h-full min-h-0 flex-col\">\n {isForEach && (\n <div className=\"flex shrink-0 items-start gap-2 px-4 py-3 text-muted-foreground\">\n <Repeat2 aria-hidden className=\"mt-0.5 size-4 shrink-0 text-muted-foreground\" />\n <Txt variant=\"meta\">Runs for every item. All items finish before the workflow continues.</Txt>\n </div>\n )}\n <div className=\"min-h-0 flex-1 overflow-hidden\">\n <ReactFlowProvider>\n <WorkflowNestedGraph\n stepGraph={stepGraph}\n embedded\n workflowName={workflowName}\n isForEach={isForEach}\n requestContext={requestContext}\n />\n </ReactFlowProvider>\n </div>\n </section>\n );\n}\n","import type { NodeProps } from '@xyflow/react';\n\nimport { useCurrentRun } from '../context/use-current-run';\nimport type { Step } from '../context/use-current-run';\nimport { useWorkflowSelectedStep } from '../context/use-workflow-selected-step';\nimport { useWorkflowStepDetail } from '../context/workflow-step-detail-context';\nimport { isAwaitingInput, resolveStepSpan } from '../context/workflow-step-timing';\nimport { useWaitingStepKey } from './use-workflow-trigger';\nimport { WorkflowBodyGraph } from './workflow-body-graph';\nimport { getWorkflowCardKind } from './workflow-node-kind';\nimport { WorkflowStepActionBar } from './workflow-step-action-bar';\nimport type { WorkflowStepNode, WorkflowStepNodeData } from './workflow-step-node-utils';\nimport { WorkflowNodeFrame, WorkflowConditionCard, WorkflowStepCardView } from '@/ds/components/Workflow';\nimport type { WorkflowCardDisplayStatus } from '@/ds/components/Workflow';\n\nexport interface WorkflowGraphNodeProps {\n parentWorkflowName?: string;\n stepsFlow: Record<string, string[]>;\n requestContext: Record<string, any>;\n}\n\nconst getDisplayStatus = (step?: Step): { displayStatus: WorkflowCardDisplayStatus; isTripwire: boolean } => {\n const isTripwire = step?.status === 'failed' && step?.tripwire !== undefined;\n const displayStatus = step && isAwaitingInput(step) ? 'suspended' : step?.status;\n return {\n displayStatus: isTripwire ? 'tripwire' : displayStatus,\n isTripwire,\n };\n};\n\nconst WorkflowStepCard = ({\n data,\n parentWorkflowName,\n stepsFlow,\n requestContext,\n}: {\n data: WorkflowStepNodeData;\n parentWorkflowName?: string;\n stepsFlow: Record<string, string[]>;\n requestContext: Record<string, any>;\n}) => {\n const { steps } = useCurrentRun();\n const { selectedStepId, setSelectedStepId, hoverStepId, setHoverStepId } = useWorkflowSelectedStep();\n const { showNestedGraph } = useWorkflowStepDetail();\n const waitingStepKey = useWaitingStepKey();\n const { label, stepId, description } = data;\n const mapConfig = data.mapConfig ?? ('step' in data.workflowStep ? data.workflowStep.step?.mapConfig : undefined);\n const stepGraph =\n data.stepGraph ??\n ('step' in data.workflowStep ? data.workflowStep.step?.serializedStepFlow : undefined) ??\n (data.workflowStep.kind === 'nested-workflow-step' && data.workflowStep.flow.type === 'workflow'\n ? data.workflowStep.flow.serializedStepFlow\n : undefined);\n const fullLabel = parentWorkflowName ? `${parentWorkflowName}.${label}` : label;\n const stepKey = parentWorkflowName ? `${parentWorkflowName}.${stepId || label}` : stepId || label;\n const isSelected = selectedStepId === stepKey;\n const isWaiting = waitingStepKey === stepKey;\n const isHovered = hoverStepId === stepKey;\n const step = steps[stepKey];\n const { displayStatus, isTripwire } = getDisplayStatus(step);\n const stepSpan = step ? resolveStepSpan(step) : undefined;\n\n return (\n <WorkflowStepCardView\n label={data.mapContext?.label ?? label}\n nodeKind={getWorkflowCardKind(data.workflowStep)}\n onSelect={() => setSelectedStepId(stepKey)}\n initiallyOpen={!parentWorkflowName}\n body={\n stepGraph?.length ? (\n <WorkflowBodyGraph\n stepGraph={stepGraph}\n workflowName={fullLabel}\n isForEach={data.isForEach}\n requestContext={requestContext}\n />\n ) : undefined\n }\n description={description ?? data.mapContext?.description}\n displayStatus={displayStatus}\n isNestedWorkflowStep={data.workflowStep.kind === 'nested-workflow-step'}\n stepKey={stepKey}\n isSelected={isSelected}\n isWaiting={isWaiting}\n isHovered={isHovered}\n onHoverChange={isHovered => setHoverStepId(isHovered ? stepKey : null)}\n duration={data.duration}\n date={data.date}\n isForEach={data.isForEach}\n foreachProgress={step?.foreachProgress}\n mapConfig={mapConfig}\n canSuspend={data.canSuspend}\n stepGraph={stepGraph}\n startedAt={stepSpan?.start}\n endedAt={stepSpan?.end}\n spansSuspension={stepSpan?.spansSuspension}\n actionBar={\n <WorkflowStepActionBar\n stepName={label}\n stepId={stepId}\n resumeData={step?.resumeData}\n error={isTripwire ? undefined : step?.error}\n tripwire={isTripwire ? step?.tripwire : undefined}\n mapConfig={mapConfig}\n onShowNestedGraph={stepGraph ? () => showNestedGraph({ label, fullStep: fullLabel, stepGraph }) : undefined}\n stepKey={stepKey}\n stepsFlow={stepsFlow}\n requestContext={requestContext}\n />\n }\n />\n );\n};\n\nconst WorkflowConditionNodeCard = ({\n data,\n parentWorkflowName,\n requestContext,\n}: {\n data: WorkflowStepNodeData;\n parentWorkflowName?: string;\n requestContext: Record<string, any>;\n}) => {\n const { steps } = useCurrentRun();\n const conditions = data.conditions ?? [];\n const previousStepId =\n data.previousStepId && (parentWorkflowName ? `${parentWorkflowName}.${data.previousStepId}` : data.previousStepId);\n const previousStep = previousStepId ? steps[previousStepId] : undefined;\n const { displayStatus: previousDisplayStatus, isTripwire } = getDisplayStatus(previousStep);\n\n return (\n <WorkflowConditionCard\n conditions={conditions}\n previousDisplayStatus={previousDisplayStatus}\n actionBar={\n <WorkflowStepActionBar\n stepName={data.nextStepId ?? data.label}\n mapConfig={data.mapConfig}\n tripwire={isTripwire ? previousStep?.tripwire : undefined}\n requestContext={requestContext}\n />\n }\n />\n );\n};\n\nexport function WorkflowGraphNode({\n data,\n parentWorkflowName,\n stepsFlow,\n requestContext,\n}: NodeProps<WorkflowStepNode> & WorkflowGraphNodeProps) {\n const content =\n data.workflowStep.kind === 'conditional' ? (\n <WorkflowConditionNodeCard data={data} parentWorkflowName={parentWorkflowName} requestContext={requestContext} />\n ) : (\n <WorkflowStepCard\n data={data}\n parentWorkflowName={parentWorkflowName}\n stepsFlow={stepsFlow}\n requestContext={requestContext}\n />\n );\n\n return (\n <WorkflowNodeFrame withoutTopHandle={data.withoutTopHandle} withoutBottomHandle={data.withoutBottomHandle}>\n {content}\n </WorkflowNodeFrame>\n );\n}\n","import type { EdgeProps, NodeProps } from '@xyflow/react';\nimport { useContext, useMemo } from 'react';\n\nimport { useCurrentRun } from '../context/use-current-run';\nimport { WorkflowRunContext } from '../context/workflow-run-context';\nimport { groupWorkflowEdgeData } from './data/workflow-edge-data-groups';\nimport { buildStepsFlow } from './utils';\nimport type { WorkflowGraphEdge } from './utils';\nimport { getWorkflowBoundaryData } from './workflow-boundary-data';\nimport { WorkflowDataEdge } from './workflow-data-edge';\nimport { WorkflowGraphNode } from './workflow-graph-node';\nimport { WORKFLOW_BOUNDARY_NODE_TYPE, WORKFLOW_STEP_NODE_TYPE } from './workflow-step-node-utils';\nimport type { WorkflowBoundaryNode as WorkflowBoundaryNodeType, WorkflowStepNode } from './workflow-step-node-utils';\nimport { WorkflowBoundaryNode, WORKFLOW_DATA_EDGE_TYPE } from '@/ds/components/Workflow';\n\nconst getScopedStepId = (stepId: string | undefined, workflowName?: string) =>\n stepId && workflowName ? `${workflowName}.${stepId}` : stepId;\n\nexport const useWorkflowGraphRuntime = ({\n edges,\n workflowName,\n requestContext,\n}: {\n edges: WorkflowGraphEdge[];\n workflowName?: string;\n requestContext: Record<string, any>;\n}) => {\n const { steps } = useCurrentRun();\n const workflowRun = useContext(WorkflowRunContext);\n const workflowSucceeded = workflowName\n ? steps[workflowName]?.status === 'success' || getWorkflowBoundaryData(steps, workflowName).output !== undefined\n : workflowRun.result?.status === 'success';\n const stepsFlow = useMemo(() => buildStepsFlow(edges), [edges]);\n const nodeTypes = useMemo(\n () => ({\n [WORKFLOW_STEP_NODE_TYPE]: (props: NodeProps<WorkflowStepNode>) => (\n <WorkflowGraphNode\n parentWorkflowName={workflowName}\n {...props}\n stepsFlow={stepsFlow}\n requestContext={requestContext}\n />\n ),\n [WORKFLOW_BOUNDARY_NODE_TYPE]: (props: NodeProps<WorkflowBoundaryNodeType>) => (\n <WorkflowBoundaryNode {...props} />\n ),\n }),\n [stepsFlow, workflowName, requestContext],\n );\n const edgeTypes = useMemo(\n () => ({\n [WORKFLOW_DATA_EDGE_TYPE]: (props: EdgeProps<WorkflowGraphEdge>) => (\n <WorkflowDataEdge parentWorkflowName={workflowName} {...props} />\n ),\n }),\n [workflowName],\n );\n const styledEdges = useMemo(\n () =>\n groupWorkflowEdgeData(edges).map(edge => {\n const previousStepId = getScopedStepId(edge.data?.previousStepId, workflowName);\n const nextStepId = getScopedStepId(edge.data?.nextStepId, workflowName);\n const previousStepSucceeded = steps[previousStepId ?? '']?.status === 'success';\n const nextStepStatus = steps[nextStepId ?? '']?.status;\n let isFinishedEdge = previousStepSucceeded && nextStepStatus !== 'skipped';\n if (edge.data?.boundaryPayload === 'workflow-output') {\n isFinishedEdge = workflowSucceeded;\n } else if (edge.data?.boundaryPayload === 'workflow-input' || edge.data?.conditionNode) {\n isFinishedEdge = Boolean(nextStepStatus) && nextStepStatus !== 'skipped';\n }\n\n return {\n ...edge,\n type: WORKFLOW_DATA_EDGE_TYPE,\n animated: isFinishedEdge ? false : edge.animated,\n data: {\n ...edge.data,\n edgeStatus: isFinishedEdge ? 'success' : 'idle',\n },\n style: {\n ...edge.style,\n stroke: isFinishedEdge ? 'var(--success-indicator)' : 'var(--muted-foreground)',\n strokeDasharray: isFinishedEdge ? 'none' : edge.style?.strokeDasharray,\n },\n };\n }),\n [edges, steps, workflowName, workflowSucceeded],\n );\n\n return { edgeTypes, nodeTypes, stepsFlow, styledEdges };\n};\n"],"names":["useMemo","jsx","WorkflowGraphBoundary","useWorkflowGraphNodes","useCurrentRun","getWorkflowIterationScopes","useState","WORKFLOW_BOUNDARY_NODE_TYPE","getWorkflowGraphGroups","jsxs","Txt","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","WorkflowGraphCanvas","Repeat2","ReactFlowProvider","isAwaitingInput","useWorkflowSelectedStep","useWorkflowStepDetail","useWaitingStepKey","resolveStepSpan","WorkflowStepCardView","getWorkflowCardKind","isHovered","WorkflowStepActionBar","WorkflowConditionCard","WorkflowNodeFrame","useContext","WorkflowRunContext","getWorkflowBoundaryData","buildStepsFlow","WORKFLOW_STEP_NODE_TYPE","WorkflowBoundaryNode","WORKFLOW_DATA_EDGE_TYPE","WorkflowDataEdge","groupWorkflowEdgeData"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,SAAS,oBAAoB,KAAA,EAAiC;AACnE,EAAA,MAAM,SAAA,GAAYA,aAAA;AAAA,IAChB,MAAM,GAAG,KAAA,CAAM,YAAY,IAAI,IAAA,CAAK,SAAA,CAAU,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AAAA,IAC9D,CAAC,KAAA,CAAM,YAAA,EAAc,KAAA,CAAM,SAAS;AAAA,GACtC;AACA,EAAA,uBACEC,cAAA,CAACC,sEAAA,EAAA,EAAsC,SAAA,EAAW,KAAA,CAAM,SAAA,EACtD,yCAAC,0BAAA,EAAA,EAA4B,GAAG,KAAA,EAAO,CAAA,EAAA,EADb,SAE5B,CAAA;AAEJ;AAEA,SAAS,0BAAA,CAA2B;AAAA,EAClC,SAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAA6B;AAC3B,EAAA,MAAM,EAAE,KAAA,EAAO,KAAA,EAAO,aAAA,EAAc,GAAIC,uEAAsB,SAAS,CAAA;AACvE,EAAA,MAAM,EAAE,KAAA,EAAM,GAAIC,qDAAA,EAAc;AAChC,EAAA,MAAM,aAAaC,6EAAA,CAA2B,MAAA,CAAO,IAAA,CAAK,KAAK,GAAG,YAAY,CAAA;AAC9E,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAIC,cAAA,EAAiB;AACnE,EAAA,MAAM,eAAA,GAAkB,WAAW,IAAA,CAAK,CAAA,SAAA,KAAa,UAAU,KAAA,KAAU,iBAAiB,CAAA,IAAK,UAAA,CAAW,CAAC,CAAA;AAE3G,EAAA,MAAM,EAAE,SAAA,EAAW,SAAA,EAAW,WAAA,KAAgB,uBAAA,CAAwB;AAAA,IACpE,KAAA;AAAA,IACA,YAAA,EAAc,iBAAiB,KAAA,IAAS,YAAA;AAAA,IACxC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,YAAA,GAAeN,aAAA;AAAA,IACnB,MACE,KAAA,CAAM,GAAA,CAAI,CAAA,IAAA,KAAQ;AAChB,MAAA,IAAI,CAAC,SAAA,IAAa,IAAA,CAAK,IAAA,KAASO,mCAA6B,OAAO,IAAA;AACpE,MAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,IAAA,CAAK,YAAA,KAAiB,UAAU,WAAA,GAAc,aAAA;AACjE,MAAA,OAAO,EAAE,GAAG,IAAA,EAAM,IAAA,EAAM,EAAE,GAAG,IAAA,CAAK,IAAA,EAAM,KAAA,EAAM,EAAE;AAAA,IAClD,CAAC,CAAA;AAAA,IACH,CAAC,OAAO,SAAS;AAAA,GACnB;AACA,EAAA,MAAM,MAAA,GAASP,cAAQ,MAAMQ,qEAAA,CAAuB,KAAK,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEnE,EAAA,uBACEC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kCAAA,EACZ,QAAA,EAAA;AAAA,IAAA,eAAA,oBACCA,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uEAAA,EACb,QAAA,EAAA;AAAA,sBAAAR,cAAA,CAACS,WAAI,EAAA,EAAG,MAAA,EAAO,SAAQ,SAAA,EAAU,IAAA,EAAK,SAAQ,QAAA,EAAA,WAAA,EAE9C,CAAA;AAAA,sBACAD,eAAA,CAACE,iBAAO,KAAA,EAAO,eAAA,CAAgB,OAAO,aAAA,EAAe,oBAAA,EAAsB,OAAO,UAAA,EAChF,QAAA,EAAA;AAAA,wBAAAV,cAAA,CAACW,oBAAA,EAAA,EAAc,cAAW,WAAA,EAAY,IAAA,EAAK,MAAK,SAAA,EAAU,MAAA,EACxD,QAAA,kBAAAX,cAAA,CAACY,kBAAA,EAAA,EAAY,CAAA,EACf,CAAA;AAAA,wBACAZ,cAAA,CAACa,oBAAA,EAAA,EACE,QAAA,EAAA,UAAA,CAAW,GAAA,CAAI,+BACdb,cAAA,CAACc,iBAAA,EAAA,EAAiC,KAAA,EAAO,SAAA,CAAU,OAChD,QAAA,EAAA,SAAA,CAAU,KAAA,EAAA,EADI,SAAA,CAAU,KAE3B,CACD,CAAA,EACH;AAAA,OAAA,EACF;AAAA,KAAA,EACF,CAAA;AAAA,oBAEFd,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,kBAAAA,cAAA;AAAA,MAACe,yCAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAAS,WAAW,QAAA,GAAW,QAAA;AAAA,QAC/B,MAAA;AAAA,QACA,KAAA,EAAO,YAAA;AAAA,QACP,KAAA,EAAO,WAAA;AAAA,QACP,SAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA;AAAA,KACF,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;AC3FO,SAAS,iBAAA,CAAkB;AAAA,EAChC,SAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAKG;AACD,EAAA,uCACG,SAAA,EAAA,EAAQ,YAAA,EAAY,YAAY,WAAA,GAAc,iBAAA,EAAmB,WAAU,8BAAA,EACzE,QAAA,EAAA;AAAA,IAAA,SAAA,oBACCP,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iEAAA,EACb,QAAA,EAAA;AAAA,sBAAAR,cAAA,CAACgB,mBAAA,EAAA,EAAQ,aAAA,EAAW,IAAA,EAAC,SAAA,EAAU,8CAAA,EAA+C,CAAA;AAAA,sBAC9EhB,cAAA,CAACS,OAAA,EAAA,EAAI,OAAA,EAAQ,MAAA,EAAO,QAAA,EAAA,sEAAA,EAAoE;AAAA,KAAA,EAC1F,CAAA;AAAA,oBAEFT,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gCAAA,EACb,yCAACiB,uBAAA,EAAA,EACC,QAAA,kBAAAjB,cAAA;AAAA,MAAC,mBAAA;AAAA,MAAA;AAAA,QACC,SAAA;AAAA,QACA,QAAA,EAAQ,IAAA;AAAA,QACR,YAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA;AAAA,OAEJ,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;ACjBA,MAAM,gBAAA,GAAmB,CAAC,IAAA,KAAmF;AAC3G,EAAA,MAAM,UAAA,GAAa,IAAA,EAAM,MAAA,KAAW,QAAA,IAAY,MAAM,QAAA,KAAa,MAAA;AACnE,EAAA,MAAM,gBAAgB,IAAA,IAAQkB,4DAAA,CAAgB,IAAI,CAAA,GAAI,cAAc,IAAA,EAAM,MAAA;AAC1E,EAAA,OAAO;AAAA,IACL,aAAA,EAAe,aAAa,UAAA,GAAa,aAAA;AAAA,IACzC;AAAA,GACF;AACF,CAAA;AAEA,MAAM,mBAAmB,CAAC;AAAA,EACxB,IAAA;AAAA,EACA,kBAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,KAKM;AACJ,EAAA,MAAM,EAAE,KAAA,EAAM,GAAIf,qDAAA,EAAc;AAChC,EAAA,MAAM,EAAE,cAAA,EAAgB,iBAAA,EAAmB,WAAA,EAAa,cAAA,KAAmBgB,yEAAA,EAAwB;AACnG,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAIC,yEAAA,EAAsB;AAClD,EAAA,MAAM,iBAAiBC,+DAAA,EAAkB;AACzC,EAAA,MAAM,EAAE,KAAA,EAAO,MAAA,EAAQ,WAAA,EAAY,GAAI,IAAA;AACvC,EAAA,MAAM,SAAA,GAAY,KAAK,SAAA,KAAc,MAAA,IAAU,KAAK,YAAA,GAAe,IAAA,CAAK,YAAA,CAAa,IAAA,EAAM,SAAA,GAAY,MAAA,CAAA;AACvG,EAAA,MAAM,SAAA,GACJ,KAAK,SAAA,KACJ,MAAA,IAAU,KAAK,YAAA,GAAe,IAAA,CAAK,YAAA,CAAa,IAAA,EAAM,kBAAA,GAAqB,MAAA,CAAA,KAC3E,KAAK,YAAA,CAAa,IAAA,KAAS,sBAAA,IAA0B,IAAA,CAAK,YAAA,CAAa,IAAA,CAAK,SAAS,UAAA,GAClF,IAAA,CAAK,YAAA,CAAa,IAAA,CAAK,kBAAA,GACvB,MAAA,CAAA;AACN,EAAA,MAAM,YAAY,kBAAA,GAAqB,CAAA,EAAG,kBAAkB,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,GAAK,KAAA;AAC1E,EAAA,MAAM,OAAA,GAAU,qBAAqB,CAAA,EAAG,kBAAkB,IAAI,MAAA,IAAU,KAAK,KAAK,MAAA,IAAU,KAAA;AAC5F,EAAA,MAAM,aAAa,cAAA,KAAmB,OAAA;AACtC,EAAA,MAAM,YAAY,cAAA,KAAmB,OAAA;AACrC,EAAA,MAAM,YAAY,WAAA,KAAgB,OAAA;AAClC,EAAA,MAAM,IAAA,GAAO,MAAM,OAAO,CAAA;AAC1B,EAAA,MAAM,EAAE,aAAA,EAAe,UAAA,EAAW,GAAI,iBAAiB,IAAI,CAAA;AAC3D,EAAA,MAAM,QAAA,GAAW,IAAA,GAAOC,4DAAA,CAAgB,IAAI,CAAA,GAAI,MAAA;AAEhD,EAAA,uBACEtB,cAAA;AAAA,IAACuB,0CAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,IAAA,CAAK,UAAA,EAAY,KAAA,IAAS,KAAA;AAAA,MACjC,QAAA,EAAUC,+DAAA,CAAoB,IAAA,CAAK,YAAY,CAAA;AAAA,MAC/C,QAAA,EAAU,MAAM,iBAAA,CAAkB,OAAO,CAAA;AAAA,MACzC,eAAe,CAAC,kBAAA;AAAA,MAChB,IAAA,EACE,WAAW,MAAA,mBACTxB,cAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACC,SAAA;AAAA,UACA,YAAA,EAAc,SAAA;AAAA,UACd,WAAW,IAAA,CAAK,SAAA;AAAA,UAChB;AAAA;AAAA,OACF,GACE,MAAA;AAAA,MAEN,WAAA,EAAa,WAAA,IAAe,IAAA,CAAK,UAAA,EAAY,WAAA;AAAA,MAC7C,aAAA;AAAA,MACA,oBAAA,EAAsB,IAAA,CAAK,YAAA,CAAa,IAAA,KAAS,sBAAA;AAAA,MACjD,OAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,eAAe,CAAAyB,UAAAA,KAAa,cAAA,CAAeA,UAAAA,GAAY,UAAU,IAAI,CAAA;AAAA,MACrE,UAAU,IAAA,CAAK,QAAA;AAAA,MACf,MAAM,IAAA,CAAK,IAAA;AAAA,MACX,WAAW,IAAA,CAAK,SAAA;AAAA,MAChB,iBAAiB,IAAA,EAAM,eAAA;AAAA,MACvB,SAAA;AAAA,MACA,YAAY,IAAA,CAAK,UAAA;AAAA,MACjB,SAAA;AAAA,MACA,WAAW,QAAA,EAAU,KAAA;AAAA,MACrB,SAAS,QAAA,EAAU,GAAA;AAAA,MACnB,iBAAiB,QAAA,EAAU,eAAA;AAAA,MAC3B,SAAA,kBACEzB,cAAA;AAAA,QAAC0B,sEAAA;AAAA,QAAA;AAAA,UACC,QAAA,EAAU,KAAA;AAAA,UACV,MAAA;AAAA,UACA,YAAY,IAAA,EAAM,UAAA;AAAA,UAClB,KAAA,EAAO,UAAA,GAAa,MAAA,GAAY,IAAA,EAAM,KAAA;AAAA,UACtC,QAAA,EAAU,UAAA,GAAa,IAAA,EAAM,QAAA,GAAW,MAAA;AAAA,UACxC,SAAA;AAAA,UACA,iBAAA,EAAmB,SAAA,GAAY,MAAM,eAAA,CAAgB,EAAE,OAAO,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,CAAA,GAAI,MAAA;AAAA,UAClG,OAAA;AAAA,UACA,SAAA;AAAA,UACA;AAAA;AAAA;AACF;AAAA,GAEJ;AAEJ,CAAA;AAEA,MAAM,4BAA4B,CAAC;AAAA,EACjC,IAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACF,CAAA,KAIM;AACJ,EAAA,MAAM,EAAE,KAAA,EAAM,GAAIvB,qDAAA,EAAc;AAChC,EAAA,MAAM,UAAA,GAAa,IAAA,CAAK,UAAA,IAAc,EAAC;AACvC,EAAA,MAAM,cAAA,GACJ,IAAA,CAAK,cAAA,KAAmB,kBAAA,GAAqB,CAAA,EAAG,kBAAkB,CAAA,CAAA,EAAI,IAAA,CAAK,cAAc,CAAA,CAAA,GAAK,IAAA,CAAK,cAAA,CAAA;AACrG,EAAA,MAAM,YAAA,GAAe,cAAA,GAAiB,KAAA,CAAM,cAAc,CAAA,GAAI,MAAA;AAC9D,EAAA,MAAM,EAAE,aAAA,EAAe,qBAAA,EAAuB,UAAA,EAAW,GAAI,iBAAiB,YAAY,CAAA;AAE1F,EAAA,uBACEH,cAAA;AAAA,IAAC2B,2CAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,qBAAA;AAAA,MACA,SAAA,kBACE3B,cAAA;AAAA,QAAC0B,sEAAA;AAAA,QAAA;AAAA,UACC,QAAA,EAAU,IAAA,CAAK,UAAA,IAAc,IAAA,CAAK,KAAA;AAAA,UAClC,WAAW,IAAA,CAAK,SAAA;AAAA,UAChB,QAAA,EAAU,UAAA,GAAa,YAAA,EAAc,QAAA,GAAW,MAAA;AAAA,UAChD;AAAA;AAAA;AACF;AAAA,GAEJ;AAEJ,CAAA;AAEO,SAAS,iBAAA,CAAkB;AAAA,EAChC,IAAA;AAAA,EACA,kBAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAAyD;AACvD,EAAA,MAAM,OAAA,GACJ,IAAA,CAAK,YAAA,CAAa,IAAA,KAAS,aAAA,kCACxB,yBAAA,EAAA,EAA0B,IAAA,EAAY,kBAAA,EAAwC,cAAA,EAAgC,CAAA,mBAE/G1B,cAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,kBAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA;AAAA,GACF;AAGJ,EAAA,uBACEA,cAAA,CAAC4B,2CAAkB,gBAAA,EAAkB,IAAA,CAAK,kBAAkB,mBAAA,EAAqB,IAAA,CAAK,qBACnF,QAAA,EAAA,OAAA,EACH,CAAA;AAEJ;;AC1JA,MAAM,eAAA,GAAkB,CAAC,MAAA,EAA4B,YAAA,KACnD,MAAA,IAAU,eAAe,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,GAAK,MAAA;AAElD,MAAM,0BAA0B,CAAC;AAAA,EACtC,KAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,KAIM;AACJ,EAAA,MAAM,EAAE,KAAA,EAAM,GAAIzB,qDAAA,EAAc;AAChC,EAAA,MAAM,WAAA,GAAc0B,iBAAWC,+DAAkB,CAAA;AACjD,EAAA,MAAM,iBAAA,GAAoB,YAAA,GACtB,KAAA,CAAM,YAAY,GAAG,MAAA,KAAW,SAAA,IAAaC,uEAAA,CAAwB,KAAA,EAAO,YAAY,CAAA,CAAE,MAAA,KAAW,MAAA,GACrG,WAAA,CAAY,QAAQ,MAAA,KAAW,SAAA;AACnC,EAAA,MAAM,SAAA,GAAYhC,cAAQ,MAAMiC,+CAAA,CAAe,KAAK,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAC9D,EAAA,MAAM,SAAA,GAAYjC,aAAA;AAAA,IAChB,OAAO;AAAA,MACL,CAACkC,wEAAuB,GAAG,CAAC,KAAA,qBAC1BjC,cAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACC,kBAAA,EAAoB,YAAA;AAAA,UACnB,GAAG,KAAA;AAAA,UACJ,SAAA;AAAA,UACA;AAAA;AAAA,OACF;AAAA,MAEF,CAACM,iCAA2B,GAAG,CAAC,0BAC9BN,cAAA,CAACkC,0CAAA,EAAA,EAAsB,GAAG,KAAA,EAAO;AAAA,KAErC,CAAA;AAAA,IACA,CAAC,SAAA,EAAW,YAAA,EAAc,cAAc;AAAA,GAC1C;AACA,EAAA,MAAM,SAAA,GAAYnC,aAAA;AAAA,IAChB,OAAO;AAAA,MACL,CAACoC,6BAAuB,GAAG,CAAC,KAAA,oCACzBC,4DAAA,EAAA,EAAiB,kBAAA,EAAoB,YAAA,EAAe,GAAG,KAAA,EAAO;AAAA,KAEnE,CAAA;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AACA,EAAA,MAAM,WAAA,GAAcrC,aAAA;AAAA,IAClB,MACEsC,4EAAA,CAAsB,KAAK,CAAA,CAAE,IAAI,CAAA,IAAA,KAAQ;AACvC,MAAA,MAAM,cAAA,GAAiB,eAAA,CAAgB,IAAA,CAAK,IAAA,EAAM,gBAAgB,YAAY,CAAA;AAC9E,MAAA,MAAM,UAAA,GAAa,eAAA,CAAgB,IAAA,CAAK,IAAA,EAAM,YAAY,YAAY,CAAA;AACtE,MAAA,MAAM,qBAAA,GAAwB,KAAA,CAAM,cAAA,IAAkB,EAAE,GAAG,MAAA,KAAW,SAAA;AACtE,MAAA,MAAM,cAAA,GAAiB,KAAA,CAAM,UAAA,IAAc,EAAE,CAAA,EAAG,MAAA;AAChD,MAAA,IAAI,cAAA,GAAiB,yBAAyB,cAAA,KAAmB,SAAA;AACjE,MAAA,IAAI,IAAA,CAAK,IAAA,EAAM,eAAA,KAAoB,iBAAA,EAAmB;AACpD,QAAA,cAAA,GAAiB,iBAAA;AAAA,MACnB,WAAW,IAAA,CAAK,IAAA,EAAM,oBAAoB,gBAAA,IAAoB,IAAA,CAAK,MAAM,aAAA,EAAe;AACtF,QAAA,cAAA,GAAiB,OAAA,CAAQ,cAAc,CAAA,IAAK,cAAA,KAAmB,SAAA;AAAA,MACjE;AAEA,MAAA,OAAO;AAAA,QACL,GAAG,IAAA;AAAA,QACH,IAAA,EAAMF,6BAAA;AAAA,QACN,QAAA,EAAU,cAAA,GAAiB,KAAA,GAAQ,IAAA,CAAK,QAAA;AAAA,QACxC,IAAA,EAAM;AAAA,UACJ,GAAG,IAAA,CAAK,IAAA;AAAA,UACR,UAAA,EAAY,iBAAiB,SAAA,GAAY;AAAA,SAC3C;AAAA,QACA,KAAA,EAAO;AAAA,UACL,GAAG,IAAA,CAAK,KAAA;AAAA,UACR,MAAA,EAAQ,iBAAiB,0BAAA,GAA6B,yBAAA;AAAA,UACtD,eAAA,EAAiB,cAAA,GAAiB,MAAA,GAAS,IAAA,CAAK,KAAA,EAAO;AAAA;AACzD,OACF;AAAA,IACF,CAAC,CAAA;AAAA,IACH,CAAC,KAAA,EAAO,KAAA,EAAO,YAAA,EAAc,iBAAiB;AAAA,GAChD;AAEA,EAAA,OAAO,EAAE,SAAA,EAAW,SAAA,EAAW,SAAA,EAAW,WAAA,EAAY;AACxD;;;;;;;"}
1
+ {"version":3,"file":"use-workflow-graph-runtime-DcQD5eA6.cjs","sources":["../src/domains/workflows/workflow/workflow-nested-graph.tsx","../src/domains/workflows/workflow/workflow-body-graph.tsx","../src/domains/workflows/workflow/workflow-graph-node.tsx","../src/domains/workflows/workflow/use-workflow-graph-runtime.tsx"],"sourcesContent":["import type { SerializedStepFlowEntry } from '@mastra/core/workflows';\n\nimport { useMemo, useState } from 'react';\nimport { useCurrentRun } from '../context/use-current-run';\nimport { useWorkflowGraphNodes } from './use-workflow-graph-nodes';\nimport { useWorkflowGraphRuntime } from './use-workflow-graph-runtime';\nimport { WorkflowGraphBoundary } from './workflow-graph-boundary';\nimport { getWorkflowGraphGroups } from './workflow-graph-groups';\nimport { getWorkflowIterationScopes } from './workflow-iteration-scopes';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select';\nimport { Txt } from '@/ds/components/Txt';\nimport { WorkflowGraphCanvas, WORKFLOW_BOUNDARY_NODE_TYPE } from '@/ds/components/Workflow';\n\nexport interface WorkflowNestedGraphProps {\n stepGraph: SerializedStepFlowEntry[];\n workflowName: string;\n isForEach?: boolean;\n embedded?: boolean;\n requestContext: Record<string, any>;\n}\n\nexport function WorkflowNestedGraph(props: WorkflowNestedGraphProps) {\n const layoutKey = useMemo(\n () => `${props.workflowName}:${JSON.stringify(props.stepGraph)}`,\n [props.workflowName, props.stepGraph],\n );\n return (\n <WorkflowGraphBoundary key={layoutKey} stepGraph={props.stepGraph}>\n <WorkflowNestedGraphContent {...props} />\n </WorkflowGraphBoundary>\n );\n}\n\nfunction WorkflowNestedGraphContent({\n stepGraph,\n workflowName,\n isForEach,\n embedded,\n requestContext,\n}: WorkflowNestedGraphProps) {\n const { nodes, edges, onNodesChange } = useWorkflowGraphNodes(stepGraph);\n const { steps } = useCurrentRun();\n const iterations = getWorkflowIterationScopes(Object.keys(steps), workflowName);\n const [selectedIteration, setSelectedIteration] = useState<string>();\n const activeIteration = iterations.find(iteration => iteration.value === selectedIteration) ?? iterations[0];\n\n const { edgeTypes, nodeTypes, styledEdges } = useWorkflowGraphRuntime({\n edges,\n workflowName: activeIteration?.value ?? workflowName,\n requestContext,\n });\n\n const labeledNodes = useMemo(\n () =>\n nodes.map(node => {\n if (!isForEach || node.type !== WORKFLOW_BOUNDARY_NODE_TYPE) return node;\n const label = node.data.boundaryRole === 'start' ? 'Each item' : 'Item result';\n return { ...node, data: { ...node.data, label } };\n }),\n [nodes, isForEach],\n );\n const groups = useMemo(() => getWorkflowGraphGroups(nodes), [nodes]);\n\n return (\n <div className=\"relative flex size-full flex-col\">\n {activeIteration && (\n <div className=\"nodrag nopan flex items-center gap-3 border-b border-border px-4 py-2\">\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n Iteration\n </Txt>\n <Select value={activeIteration.value} onValueChange={setSelectedIteration} items={iterations}>\n <SelectTrigger aria-label=\"Loop item\" size=\"sm\" className=\"w-36\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {iterations.map(iteration => (\n <SelectItem key={iteration.value} value={iteration.value}>\n {iteration.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )}\n <div className=\"min-h-0 flex-1\">\n <WorkflowGraphCanvas\n variant={embedded ? 'inline' : 'nested'}\n groups={groups}\n nodes={labeledNodes}\n edges={styledEdges}\n edgeTypes={edgeTypes}\n nodeTypes={nodeTypes}\n onNodesChange={onNodesChange}\n />\n </div>\n </div>\n );\n}\n","import type { SerializedStepFlowEntry } from '@mastra/core/workflows';\nimport { ReactFlowProvider } from '@xyflow/react';\nimport { Repeat2 } from 'lucide-react';\nimport { WorkflowNestedGraph } from './workflow-nested-graph';\nimport { Txt } from '@/ds/components/Txt';\n\nexport function WorkflowBodyGraph({\n stepGraph,\n workflowName,\n isForEach,\n requestContext,\n}: {\n stepGraph: SerializedStepFlowEntry[];\n workflowName: string;\n isForEach?: boolean;\n requestContext: Record<string, any>;\n}) {\n return (\n <section aria-label={isForEach ? 'Loop body' : 'Nested workflow'} className=\"flex h-full min-h-0 flex-col\">\n {isForEach && (\n <div className=\"flex shrink-0 items-start gap-2 px-4 py-3 text-muted-foreground\">\n <Repeat2 aria-hidden className=\"mt-0.5 size-4 shrink-0 text-muted-foreground\" />\n <Txt variant=\"meta\">Runs for every item. All items finish before the workflow continues.</Txt>\n </div>\n )}\n <div className=\"min-h-0 flex-1 overflow-hidden\">\n <ReactFlowProvider>\n <WorkflowNestedGraph\n stepGraph={stepGraph}\n embedded\n workflowName={workflowName}\n isForEach={isForEach}\n requestContext={requestContext}\n />\n </ReactFlowProvider>\n </div>\n </section>\n );\n}\n","import type { NodeProps } from '@xyflow/react';\n\nimport { useCurrentRun } from '../context/use-current-run';\nimport type { Step } from '../context/use-current-run';\nimport { useWorkflowSelectedStep } from '../context/use-workflow-selected-step';\nimport { useWorkflowStepDetail } from '../context/workflow-step-detail-context';\nimport { isAwaitingInput, resolveStepSpan } from '../context/workflow-step-timing';\nimport { useWaitingStepKey } from './use-workflow-trigger';\nimport { WorkflowBodyGraph } from './workflow-body-graph';\nimport { getWorkflowCardKind } from './workflow-node-kind';\nimport { WorkflowStepActionBar } from './workflow-step-action-bar';\nimport type { WorkflowStepNode, WorkflowStepNodeData } from './workflow-step-node-utils';\nimport { WorkflowNodeFrame, WorkflowConditionCard, WorkflowStepCardView } from '@/ds/components/Workflow';\nimport type { WorkflowCardDisplayStatus } from '@/ds/components/Workflow';\n\nexport interface WorkflowGraphNodeProps {\n parentWorkflowName?: string;\n stepsFlow: Record<string, string[]>;\n requestContext: Record<string, any>;\n}\n\nconst getDisplayStatus = (step?: Step): { displayStatus: WorkflowCardDisplayStatus; isTripwire: boolean } => {\n const isTripwire = step?.status === 'failed' && step?.tripwire !== undefined;\n const displayStatus = step && isAwaitingInput(step) ? 'suspended' : step?.status;\n return {\n displayStatus: isTripwire ? 'tripwire' : displayStatus,\n isTripwire,\n };\n};\n\nconst WorkflowStepCard = ({\n data,\n parentWorkflowName,\n stepsFlow,\n requestContext,\n}: {\n data: WorkflowStepNodeData;\n parentWorkflowName?: string;\n stepsFlow: Record<string, string[]>;\n requestContext: Record<string, any>;\n}) => {\n const { steps } = useCurrentRun();\n const { selectedStepId, setSelectedStepId, hoverStepId, setHoverStepId } = useWorkflowSelectedStep();\n const { showNestedGraph } = useWorkflowStepDetail();\n const waitingStepKey = useWaitingStepKey();\n const { label, stepId, description } = data;\n const mapConfig = data.mapConfig ?? ('step' in data.workflowStep ? data.workflowStep.step?.mapConfig : undefined);\n const stepGraph =\n data.stepGraph ??\n ('step' in data.workflowStep ? data.workflowStep.step?.serializedStepFlow : undefined) ??\n (data.workflowStep.kind === 'nested-workflow-step' && data.workflowStep.flow.type === 'workflow'\n ? data.workflowStep.flow.serializedStepFlow\n : undefined);\n const fullLabel = parentWorkflowName ? `${parentWorkflowName}.${label}` : label;\n const stepKey = parentWorkflowName ? `${parentWorkflowName}.${stepId || label}` : stepId || label;\n const isSelected = selectedStepId === stepKey;\n const isWaiting = waitingStepKey === stepKey;\n const isHovered = hoverStepId === stepKey;\n const step = steps[stepKey];\n const { displayStatus, isTripwire } = getDisplayStatus(step);\n const stepSpan = step ? resolveStepSpan(step) : undefined;\n\n return (\n <WorkflowStepCardView\n label={data.mapContext?.label ?? label}\n nodeKind={getWorkflowCardKind(data.workflowStep)}\n onSelect={() => setSelectedStepId(stepKey)}\n initiallyOpen={!parentWorkflowName}\n body={\n stepGraph?.length ? (\n <WorkflowBodyGraph\n stepGraph={stepGraph}\n workflowName={fullLabel}\n isForEach={data.isForEach}\n requestContext={requestContext}\n />\n ) : undefined\n }\n description={description ?? data.mapContext?.description}\n displayStatus={displayStatus}\n isNestedWorkflowStep={data.workflowStep.kind === 'nested-workflow-step'}\n stepKey={stepKey}\n isSelected={isSelected}\n isWaiting={isWaiting}\n isHovered={isHovered}\n onHoverChange={isHovered => setHoverStepId(isHovered ? stepKey : null)}\n duration={data.duration}\n date={data.date}\n isForEach={data.isForEach}\n foreachProgress={step?.foreachProgress}\n mapConfig={mapConfig}\n canSuspend={data.canSuspend}\n stepGraph={stepGraph}\n startedAt={stepSpan?.start}\n endedAt={stepSpan?.end}\n spansSuspension={stepSpan?.spansSuspension}\n actionBar={\n <WorkflowStepActionBar\n stepName={label}\n stepId={stepId}\n resumeData={step?.resumeData}\n error={isTripwire ? undefined : step?.error}\n tripwire={isTripwire ? step?.tripwire : undefined}\n mapConfig={mapConfig}\n onShowNestedGraph={stepGraph ? () => showNestedGraph({ label, fullStep: fullLabel, stepGraph }) : undefined}\n stepKey={stepKey}\n stepsFlow={stepsFlow}\n requestContext={requestContext}\n />\n }\n />\n );\n};\n\nconst WorkflowConditionNodeCard = ({\n data,\n parentWorkflowName,\n requestContext,\n}: {\n data: WorkflowStepNodeData;\n parentWorkflowName?: string;\n requestContext: Record<string, any>;\n}) => {\n const { steps } = useCurrentRun();\n const conditions = data.conditions ?? [];\n const previousStepId =\n data.previousStepId && (parentWorkflowName ? `${parentWorkflowName}.${data.previousStepId}` : data.previousStepId);\n const previousStep = previousStepId ? steps[previousStepId] : undefined;\n const { displayStatus: previousDisplayStatus, isTripwire } = getDisplayStatus(previousStep);\n\n return (\n <WorkflowConditionCard\n conditions={conditions}\n previousDisplayStatus={previousDisplayStatus}\n actionBar={\n <WorkflowStepActionBar\n stepName={data.nextStepId ?? data.label}\n mapConfig={data.mapConfig}\n tripwire={isTripwire ? previousStep?.tripwire : undefined}\n requestContext={requestContext}\n />\n }\n />\n );\n};\n\nexport function WorkflowGraphNode({\n data,\n parentWorkflowName,\n stepsFlow,\n requestContext,\n}: NodeProps<WorkflowStepNode> & WorkflowGraphNodeProps) {\n const content =\n data.workflowStep.kind === 'conditional' ? (\n <WorkflowConditionNodeCard data={data} parentWorkflowName={parentWorkflowName} requestContext={requestContext} />\n ) : (\n <WorkflowStepCard\n data={data}\n parentWorkflowName={parentWorkflowName}\n stepsFlow={stepsFlow}\n requestContext={requestContext}\n />\n );\n\n return (\n <WorkflowNodeFrame withoutTopHandle={data.withoutTopHandle} withoutBottomHandle={data.withoutBottomHandle}>\n {content}\n </WorkflowNodeFrame>\n );\n}\n","import type { EdgeProps, NodeProps } from '@xyflow/react';\nimport { useContext, useMemo } from 'react';\n\nimport { useCurrentRun } from '../context/use-current-run';\nimport { WorkflowRunContext } from '../context/workflow-run-context';\nimport { groupWorkflowEdgeData } from './data/workflow-edge-data-groups';\nimport { buildStepsFlow } from './utils';\nimport type { WorkflowGraphEdge } from './utils';\nimport { getWorkflowBoundaryData } from './workflow-boundary-data';\nimport { WorkflowDataEdge } from './workflow-data-edge';\nimport { WorkflowGraphNode } from './workflow-graph-node';\nimport { WORKFLOW_BOUNDARY_NODE_TYPE, WORKFLOW_STEP_NODE_TYPE } from './workflow-step-node-utils';\nimport type { WorkflowBoundaryNode as WorkflowBoundaryNodeType, WorkflowStepNode } from './workflow-step-node-utils';\nimport { WorkflowBoundaryNode, WORKFLOW_DATA_EDGE_TYPE } from '@/ds/components/Workflow';\n\nconst getScopedStepId = (stepId: string | undefined, workflowName?: string) =>\n stepId && workflowName ? `${workflowName}.${stepId}` : stepId;\n\nexport const useWorkflowGraphRuntime = ({\n edges,\n workflowName,\n requestContext,\n}: {\n edges: WorkflowGraphEdge[];\n workflowName?: string;\n requestContext: Record<string, any>;\n}) => {\n const { steps } = useCurrentRun();\n const workflowRun = useContext(WorkflowRunContext);\n const workflowSucceeded = workflowName\n ? steps[workflowName]?.status === 'success' || getWorkflowBoundaryData(steps, workflowName).output !== undefined\n : workflowRun.result?.status === 'success';\n const stepsFlow = useMemo(() => buildStepsFlow(edges), [edges]);\n const nodeTypes = useMemo(\n () => ({\n [WORKFLOW_STEP_NODE_TYPE]: (props: NodeProps<WorkflowStepNode>) => (\n <WorkflowGraphNode\n parentWorkflowName={workflowName}\n {...props}\n stepsFlow={stepsFlow}\n requestContext={requestContext}\n />\n ),\n [WORKFLOW_BOUNDARY_NODE_TYPE]: (props: NodeProps<WorkflowBoundaryNodeType>) => (\n <WorkflowBoundaryNode {...props} />\n ),\n }),\n [stepsFlow, workflowName, requestContext],\n );\n const edgeTypes = useMemo(\n () => ({\n [WORKFLOW_DATA_EDGE_TYPE]: (props: EdgeProps<WorkflowGraphEdge>) => (\n <WorkflowDataEdge parentWorkflowName={workflowName} {...props} />\n ),\n }),\n [workflowName],\n );\n const styledEdges = useMemo(\n () =>\n groupWorkflowEdgeData(edges).map(edge => {\n const previousStepId = getScopedStepId(edge.data?.previousStepId, workflowName);\n const nextStepId = getScopedStepId(edge.data?.nextStepId, workflowName);\n const previousStepSucceeded = steps[previousStepId ?? '']?.status === 'success';\n const nextStepStatus = steps[nextStepId ?? '']?.status;\n let isFinishedEdge = previousStepSucceeded && nextStepStatus !== 'skipped';\n if (edge.data?.boundaryPayload === 'workflow-output') {\n isFinishedEdge = workflowSucceeded;\n } else if (edge.data?.boundaryPayload === 'workflow-input' || edge.data?.conditionNode) {\n isFinishedEdge = Boolean(nextStepStatus) && nextStepStatus !== 'skipped';\n }\n\n return {\n ...edge,\n type: WORKFLOW_DATA_EDGE_TYPE,\n animated: isFinishedEdge ? false : edge.animated,\n data: {\n ...edge.data,\n edgeStatus: isFinishedEdge ? 'success' : 'idle',\n },\n style: {\n ...edge.style,\n stroke: isFinishedEdge ? 'var(--success-indicator)' : 'var(--muted-foreground)',\n strokeDasharray: isFinishedEdge ? 'none' : edge.style?.strokeDasharray,\n },\n };\n }),\n [edges, steps, workflowName, workflowSucceeded],\n );\n\n return { edgeTypes, nodeTypes, stepsFlow, styledEdges };\n};\n"],"names":["useMemo","jsx","WorkflowGraphBoundary","useWorkflowGraphNodes","useCurrentRun","getWorkflowIterationScopes","useState","WORKFLOW_BOUNDARY_NODE_TYPE","getWorkflowGraphGroups","jsxs","Txt","Select","SelectTrigger","SelectValue","SelectContent","SelectItem","WorkflowGraphCanvas","Repeat2","ReactFlowProvider","isAwaitingInput","useWorkflowSelectedStep","useWorkflowStepDetail","useWaitingStepKey","resolveStepSpan","WorkflowStepCardView","getWorkflowCardKind","isHovered","WorkflowStepActionBar","WorkflowConditionCard","WorkflowNodeFrame","useContext","WorkflowRunContext","getWorkflowBoundaryData","buildStepsFlow","WORKFLOW_STEP_NODE_TYPE","WorkflowBoundaryNode","WORKFLOW_DATA_EDGE_TYPE","WorkflowDataEdge","groupWorkflowEdgeData"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,SAAS,oBAAoB,KAAA,EAAiC;AACnE,EAAA,MAAM,SAAA,GAAYA,aAAA;AAAA,IAChB,MAAM,GAAG,KAAA,CAAM,YAAY,IAAI,IAAA,CAAK,SAAA,CAAU,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AAAA,IAC9D,CAAC,KAAA,CAAM,YAAA,EAAc,KAAA,CAAM,SAAS;AAAA,GACtC;AACA,EAAA,uBACEC,cAAA,CAACC,sEAAA,EAAA,EAAsC,SAAA,EAAW,KAAA,CAAM,SAAA,EACtD,yCAAC,0BAAA,EAAA,EAA4B,GAAG,KAAA,EAAO,CAAA,EAAA,EADb,SAE5B,CAAA;AAEJ;AAEA,SAAS,0BAAA,CAA2B;AAAA,EAClC,SAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAA6B;AAC3B,EAAA,MAAM,EAAE,KAAA,EAAO,KAAA,EAAO,aAAA,EAAc,GAAIC,uEAAsB,SAAS,CAAA;AACvE,EAAA,MAAM,EAAE,KAAA,EAAM,GAAIC,qDAAA,EAAc;AAChC,EAAA,MAAM,aAAaC,6EAAA,CAA2B,MAAA,CAAO,IAAA,CAAK,KAAK,GAAG,YAAY,CAAA;AAC9E,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAIC,cAAA,EAAiB;AACnE,EAAA,MAAM,eAAA,GAAkB,WAAW,IAAA,CAAK,CAAA,SAAA,KAAa,UAAU,KAAA,KAAU,iBAAiB,CAAA,IAAK,UAAA,CAAW,CAAC,CAAA;AAE3G,EAAA,MAAM,EAAE,SAAA,EAAW,SAAA,EAAW,WAAA,KAAgB,uBAAA,CAAwB;AAAA,IACpE,KAAA;AAAA,IACA,YAAA,EAAc,iBAAiB,KAAA,IAAS,YAAA;AAAA,IACxC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,YAAA,GAAeN,aAAA;AAAA,IACnB,MACE,KAAA,CAAM,GAAA,CAAI,CAAA,IAAA,KAAQ;AAChB,MAAA,IAAI,CAAC,SAAA,IAAa,IAAA,CAAK,IAAA,KAASO,mCAA6B,OAAO,IAAA;AACpE,MAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,IAAA,CAAK,YAAA,KAAiB,UAAU,WAAA,GAAc,aAAA;AACjE,MAAA,OAAO,EAAE,GAAG,IAAA,EAAM,IAAA,EAAM,EAAE,GAAG,IAAA,CAAK,IAAA,EAAM,KAAA,EAAM,EAAE;AAAA,IAClD,CAAC,CAAA;AAAA,IACH,CAAC,OAAO,SAAS;AAAA,GACnB;AACA,EAAA,MAAM,MAAA,GAASP,cAAQ,MAAMQ,qEAAA,CAAuB,KAAK,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEnE,EAAA,uBACEC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kCAAA,EACZ,QAAA,EAAA;AAAA,IAAA,eAAA,oBACCA,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uEAAA,EACb,QAAA,EAAA;AAAA,sBAAAR,cAAA,CAACS,WAAI,EAAA,EAAG,MAAA,EAAO,SAAQ,SAAA,EAAU,IAAA,EAAK,SAAQ,QAAA,EAAA,WAAA,EAE9C,CAAA;AAAA,sBACAD,eAAA,CAACE,iBAAO,KAAA,EAAO,eAAA,CAAgB,OAAO,aAAA,EAAe,oBAAA,EAAsB,OAAO,UAAA,EAChF,QAAA,EAAA;AAAA,wBAAAV,cAAA,CAACW,oBAAA,EAAA,EAAc,cAAW,WAAA,EAAY,IAAA,EAAK,MAAK,SAAA,EAAU,MAAA,EACxD,QAAA,kBAAAX,cAAA,CAACY,kBAAA,EAAA,EAAY,CAAA,EACf,CAAA;AAAA,wBACAZ,cAAA,CAACa,oBAAA,EAAA,EACE,QAAA,EAAA,UAAA,CAAW,GAAA,CAAI,+BACdb,cAAA,CAACc,iBAAA,EAAA,EAAiC,KAAA,EAAO,SAAA,CAAU,OAChD,QAAA,EAAA,SAAA,CAAU,KAAA,EAAA,EADI,SAAA,CAAU,KAE3B,CACD,CAAA,EACH;AAAA,OAAA,EACF;AAAA,KAAA,EACF,CAAA;AAAA,oBAEFd,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,kBAAAA,cAAA;AAAA,MAACe,yCAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAAS,WAAW,QAAA,GAAW,QAAA;AAAA,QAC/B,MAAA;AAAA,QACA,KAAA,EAAO,YAAA;AAAA,QACP,KAAA,EAAO,WAAA;AAAA,QACP,SAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA;AAAA,KACF,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;AC3FO,SAAS,iBAAA,CAAkB;AAAA,EAChC,SAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAKG;AACD,EAAA,uCACG,SAAA,EAAA,EAAQ,YAAA,EAAY,YAAY,WAAA,GAAc,iBAAA,EAAmB,WAAU,8BAAA,EACzE,QAAA,EAAA;AAAA,IAAA,SAAA,oBACCP,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iEAAA,EACb,QAAA,EAAA;AAAA,sBAAAR,cAAA,CAACgB,mBAAA,EAAA,EAAQ,aAAA,EAAW,IAAA,EAAC,SAAA,EAAU,8CAAA,EAA+C,CAAA;AAAA,sBAC9EhB,cAAA,CAACS,OAAA,EAAA,EAAI,OAAA,EAAQ,MAAA,EAAO,QAAA,EAAA,sEAAA,EAAoE;AAAA,KAAA,EAC1F,CAAA;AAAA,oBAEFT,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gCAAA,EACb,yCAACiB,uBAAA,EAAA,EACC,QAAA,kBAAAjB,cAAA;AAAA,MAAC,mBAAA;AAAA,MAAA;AAAA,QACC,SAAA;AAAA,QACA,QAAA,EAAQ,IAAA;AAAA,QACR,YAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA;AAAA,OAEJ,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;ACjBA,MAAM,gBAAA,GAAmB,CAAC,IAAA,KAAmF;AAC3G,EAAA,MAAM,UAAA,GAAa,IAAA,EAAM,MAAA,KAAW,QAAA,IAAY,MAAM,QAAA,KAAa,MAAA;AACnE,EAAA,MAAM,gBAAgB,IAAA,IAAQkB,4DAAA,CAAgB,IAAI,CAAA,GAAI,cAAc,IAAA,EAAM,MAAA;AAC1E,EAAA,OAAO;AAAA,IACL,aAAA,EAAe,aAAa,UAAA,GAAa,aAAA;AAAA,IACzC;AAAA,GACF;AACF,CAAA;AAEA,MAAM,mBAAmB,CAAC;AAAA,EACxB,IAAA;AAAA,EACA,kBAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,KAKM;AACJ,EAAA,MAAM,EAAE,KAAA,EAAM,GAAIf,qDAAA,EAAc;AAChC,EAAA,MAAM,EAAE,cAAA,EAAgB,iBAAA,EAAmB,WAAA,EAAa,cAAA,KAAmBgB,yEAAA,EAAwB;AACnG,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAIC,yEAAA,EAAsB;AAClD,EAAA,MAAM,iBAAiBC,+DAAA,EAAkB;AACzC,EAAA,MAAM,EAAE,KAAA,EAAO,MAAA,EAAQ,WAAA,EAAY,GAAI,IAAA;AACvC,EAAA,MAAM,SAAA,GAAY,KAAK,SAAA,KAAc,MAAA,IAAU,KAAK,YAAA,GAAe,IAAA,CAAK,YAAA,CAAa,IAAA,EAAM,SAAA,GAAY,MAAA,CAAA;AACvG,EAAA,MAAM,SAAA,GACJ,KAAK,SAAA,KACJ,MAAA,IAAU,KAAK,YAAA,GAAe,IAAA,CAAK,YAAA,CAAa,IAAA,EAAM,kBAAA,GAAqB,MAAA,CAAA,KAC3E,KAAK,YAAA,CAAa,IAAA,KAAS,sBAAA,IAA0B,IAAA,CAAK,YAAA,CAAa,IAAA,CAAK,SAAS,UAAA,GAClF,IAAA,CAAK,YAAA,CAAa,IAAA,CAAK,kBAAA,GACvB,MAAA,CAAA;AACN,EAAA,MAAM,YAAY,kBAAA,GAAqB,CAAA,EAAG,kBAAkB,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,GAAK,KAAA;AAC1E,EAAA,MAAM,OAAA,GAAU,qBAAqB,CAAA,EAAG,kBAAkB,IAAI,MAAA,IAAU,KAAK,KAAK,MAAA,IAAU,KAAA;AAC5F,EAAA,MAAM,aAAa,cAAA,KAAmB,OAAA;AACtC,EAAA,MAAM,YAAY,cAAA,KAAmB,OAAA;AACrC,EAAA,MAAM,YAAY,WAAA,KAAgB,OAAA;AAClC,EAAA,MAAM,IAAA,GAAO,MAAM,OAAO,CAAA;AAC1B,EAAA,MAAM,EAAE,aAAA,EAAe,UAAA,EAAW,GAAI,iBAAiB,IAAI,CAAA;AAC3D,EAAA,MAAM,QAAA,GAAW,IAAA,GAAOC,4DAAA,CAAgB,IAAI,CAAA,GAAI,MAAA;AAEhD,EAAA,uBACEtB,cAAA;AAAA,IAACuB,0CAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,IAAA,CAAK,UAAA,EAAY,KAAA,IAAS,KAAA;AAAA,MACjC,QAAA,EAAUC,+DAAA,CAAoB,IAAA,CAAK,YAAY,CAAA;AAAA,MAC/C,QAAA,EAAU,MAAM,iBAAA,CAAkB,OAAO,CAAA;AAAA,MACzC,eAAe,CAAC,kBAAA;AAAA,MAChB,IAAA,EACE,WAAW,MAAA,mBACTxB,cAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACC,SAAA;AAAA,UACA,YAAA,EAAc,SAAA;AAAA,UACd,WAAW,IAAA,CAAK,SAAA;AAAA,UAChB;AAAA;AAAA,OACF,GACE,MAAA;AAAA,MAEN,WAAA,EAAa,WAAA,IAAe,IAAA,CAAK,UAAA,EAAY,WAAA;AAAA,MAC7C,aAAA;AAAA,MACA,oBAAA,EAAsB,IAAA,CAAK,YAAA,CAAa,IAAA,KAAS,sBAAA;AAAA,MACjD,OAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,eAAe,CAAAyB,UAAAA,KAAa,cAAA,CAAeA,UAAAA,GAAY,UAAU,IAAI,CAAA;AAAA,MACrE,UAAU,IAAA,CAAK,QAAA;AAAA,MACf,MAAM,IAAA,CAAK,IAAA;AAAA,MACX,WAAW,IAAA,CAAK,SAAA;AAAA,MAChB,iBAAiB,IAAA,EAAM,eAAA;AAAA,MACvB,SAAA;AAAA,MACA,YAAY,IAAA,CAAK,UAAA;AAAA,MACjB,SAAA;AAAA,MACA,WAAW,QAAA,EAAU,KAAA;AAAA,MACrB,SAAS,QAAA,EAAU,GAAA;AAAA,MACnB,iBAAiB,QAAA,EAAU,eAAA;AAAA,MAC3B,SAAA,kBACEzB,cAAA;AAAA,QAAC0B,sEAAA;AAAA,QAAA;AAAA,UACC,QAAA,EAAU,KAAA;AAAA,UACV,MAAA;AAAA,UACA,YAAY,IAAA,EAAM,UAAA;AAAA,UAClB,KAAA,EAAO,UAAA,GAAa,MAAA,GAAY,IAAA,EAAM,KAAA;AAAA,UACtC,QAAA,EAAU,UAAA,GAAa,IAAA,EAAM,QAAA,GAAW,MAAA;AAAA,UACxC,SAAA;AAAA,UACA,iBAAA,EAAmB,SAAA,GAAY,MAAM,eAAA,CAAgB,EAAE,OAAO,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,CAAA,GAAI,MAAA;AAAA,UAClG,OAAA;AAAA,UACA,SAAA;AAAA,UACA;AAAA;AAAA;AACF;AAAA,GAEJ;AAEJ,CAAA;AAEA,MAAM,4BAA4B,CAAC;AAAA,EACjC,IAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACF,CAAA,KAIM;AACJ,EAAA,MAAM,EAAE,KAAA,EAAM,GAAIvB,qDAAA,EAAc;AAChC,EAAA,MAAM,UAAA,GAAa,IAAA,CAAK,UAAA,IAAc,EAAC;AACvC,EAAA,MAAM,cAAA,GACJ,IAAA,CAAK,cAAA,KAAmB,kBAAA,GAAqB,CAAA,EAAG,kBAAkB,CAAA,CAAA,EAAI,IAAA,CAAK,cAAc,CAAA,CAAA,GAAK,IAAA,CAAK,cAAA,CAAA;AACrG,EAAA,MAAM,YAAA,GAAe,cAAA,GAAiB,KAAA,CAAM,cAAc,CAAA,GAAI,MAAA;AAC9D,EAAA,MAAM,EAAE,aAAA,EAAe,qBAAA,EAAuB,UAAA,EAAW,GAAI,iBAAiB,YAAY,CAAA;AAE1F,EAAA,uBACEH,cAAA;AAAA,IAAC2B,2CAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,qBAAA;AAAA,MACA,SAAA,kBACE3B,cAAA;AAAA,QAAC0B,sEAAA;AAAA,QAAA;AAAA,UACC,QAAA,EAAU,IAAA,CAAK,UAAA,IAAc,IAAA,CAAK,KAAA;AAAA,UAClC,WAAW,IAAA,CAAK,SAAA;AAAA,UAChB,QAAA,EAAU,UAAA,GAAa,YAAA,EAAc,QAAA,GAAW,MAAA;AAAA,UAChD;AAAA;AAAA;AACF;AAAA,GAEJ;AAEJ,CAAA;AAEO,SAAS,iBAAA,CAAkB;AAAA,EAChC,IAAA;AAAA,EACA,kBAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAAyD;AACvD,EAAA,MAAM,OAAA,GACJ,IAAA,CAAK,YAAA,CAAa,IAAA,KAAS,aAAA,kCACxB,yBAAA,EAAA,EAA0B,IAAA,EAAY,kBAAA,EAAwC,cAAA,EAAgC,CAAA,mBAE/G1B,cAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,kBAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA;AAAA,GACF;AAGJ,EAAA,uBACEA,cAAA,CAAC4B,2CAAkB,gBAAA,EAAkB,IAAA,CAAK,kBAAkB,mBAAA,EAAqB,IAAA,CAAK,qBACnF,QAAA,EAAA,OAAA,EACH,CAAA;AAEJ;;AC1JA,MAAM,eAAA,GAAkB,CAAC,MAAA,EAA4B,YAAA,KACnD,MAAA,IAAU,eAAe,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,GAAK,MAAA;AAElD,MAAM,0BAA0B,CAAC;AAAA,EACtC,KAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,KAIM;AACJ,EAAA,MAAM,EAAE,KAAA,EAAM,GAAIzB,qDAAA,EAAc;AAChC,EAAA,MAAM,WAAA,GAAc0B,iBAAWC,+DAAkB,CAAA;AACjD,EAAA,MAAM,iBAAA,GAAoB,YAAA,GACtB,KAAA,CAAM,YAAY,GAAG,MAAA,KAAW,SAAA,IAAaC,uEAAA,CAAwB,KAAA,EAAO,YAAY,CAAA,CAAE,MAAA,KAAW,MAAA,GACrG,WAAA,CAAY,QAAQ,MAAA,KAAW,SAAA;AACnC,EAAA,MAAM,SAAA,GAAYhC,cAAQ,MAAMiC,+CAAA,CAAe,KAAK,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAC9D,EAAA,MAAM,SAAA,GAAYjC,aAAA;AAAA,IAChB,OAAO;AAAA,MACL,CAACkC,wEAAuB,GAAG,CAAC,KAAA,qBAC1BjC,cAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACC,kBAAA,EAAoB,YAAA;AAAA,UACnB,GAAG,KAAA;AAAA,UACJ,SAAA;AAAA,UACA;AAAA;AAAA,OACF;AAAA,MAEF,CAACM,iCAA2B,GAAG,CAAC,0BAC9BN,cAAA,CAACkC,0CAAA,EAAA,EAAsB,GAAG,KAAA,EAAO;AAAA,KAErC,CAAA;AAAA,IACA,CAAC,SAAA,EAAW,YAAA,EAAc,cAAc;AAAA,GAC1C;AACA,EAAA,MAAM,SAAA,GAAYnC,aAAA;AAAA,IAChB,OAAO;AAAA,MACL,CAACoC,6BAAuB,GAAG,CAAC,KAAA,oCACzBC,4DAAA,EAAA,EAAiB,kBAAA,EAAoB,YAAA,EAAe,GAAG,KAAA,EAAO;AAAA,KAEnE,CAAA;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AACA,EAAA,MAAM,WAAA,GAAcrC,aAAA;AAAA,IAClB,MACEsC,4EAAA,CAAsB,KAAK,CAAA,CAAE,IAAI,CAAA,IAAA,KAAQ;AACvC,MAAA,MAAM,cAAA,GAAiB,eAAA,CAAgB,IAAA,CAAK,IAAA,EAAM,gBAAgB,YAAY,CAAA;AAC9E,MAAA,MAAM,UAAA,GAAa,eAAA,CAAgB,IAAA,CAAK,IAAA,EAAM,YAAY,YAAY,CAAA;AACtE,MAAA,MAAM,qBAAA,GAAwB,KAAA,CAAM,cAAA,IAAkB,EAAE,GAAG,MAAA,KAAW,SAAA;AACtE,MAAA,MAAM,cAAA,GAAiB,KAAA,CAAM,UAAA,IAAc,EAAE,CAAA,EAAG,MAAA;AAChD,MAAA,IAAI,cAAA,GAAiB,yBAAyB,cAAA,KAAmB,SAAA;AACjE,MAAA,IAAI,IAAA,CAAK,IAAA,EAAM,eAAA,KAAoB,iBAAA,EAAmB;AACpD,QAAA,cAAA,GAAiB,iBAAA;AAAA,MACnB,WAAW,IAAA,CAAK,IAAA,EAAM,oBAAoB,gBAAA,IAAoB,IAAA,CAAK,MAAM,aAAA,EAAe;AACtF,QAAA,cAAA,GAAiB,OAAA,CAAQ,cAAc,CAAA,IAAK,cAAA,KAAmB,SAAA;AAAA,MACjE;AAEA,MAAA,OAAO;AAAA,QACL,GAAG,IAAA;AAAA,QACH,IAAA,EAAMF,6BAAA;AAAA,QACN,QAAA,EAAU,cAAA,GAAiB,KAAA,GAAQ,IAAA,CAAK,QAAA;AAAA,QACxC,IAAA,EAAM;AAAA,UACJ,GAAG,IAAA,CAAK,IAAA;AAAA,UACR,UAAA,EAAY,iBAAiB,SAAA,GAAY;AAAA,SAC3C;AAAA,QACA,KAAA,EAAO;AAAA,UACL,GAAG,IAAA,CAAK,KAAA;AAAA,UACR,MAAA,EAAQ,iBAAiB,0BAAA,GAA6B,yBAAA;AAAA,UACtD,eAAA,EAAiB,cAAA,GAAiB,MAAA,GAAS,IAAA,CAAK,KAAA,EAAO;AAAA;AACzD,OACF;AAAA,IACF,CAAC,CAAA;AAAA,IACH,CAAC,KAAA,EAAO,KAAA,EAAO,YAAA,EAAc,iBAAiB;AAAA,GAChD;AAEA,EAAA,OAAO,EAAE,SAAA,EAAW,SAAA,EAAW,SAAA,EAAW,WAAA,EAAY;AACxD;;;;;;;"}
@@ -15,11 +15,11 @@ import { Repeat2 } from 'lucide-react';
15
15
  import { useWorkflowGraphNodes } from './domains/workflows/workflow/use-workflow-graph-nodes.es.js';
16
16
  import { WORKFLOW_STEP_NODE_TYPE } from './domains/workflows/workflow/workflow-step-node-utils.es.js';
17
17
  import { W as WORKFLOW_BOUNDARY_NODE_TYPE, a as WORKFLOW_DATA_EDGE_TYPE } from './types-CvneO3z0.js';
18
- import { e as WorkflowGraphCanvas, f as WorkflowNodeFrame, c as WorkflowConditionCard, g as WorkflowStepCardView, W as WorkflowBoundaryNode } from './workflow-condition-card-sFdOjlab.js';
18
+ import { e as WorkflowGraphCanvas, f as WorkflowNodeFrame, c as WorkflowConditionCard, g as WorkflowStepCardView, W as WorkflowBoundaryNode } from './workflow-condition-card-CbQ4fCxY.js';
19
19
  import { WorkflowGraphBoundary } from './domains/workflows/workflow/workflow-graph-boundary.es.js';
20
20
  import { getWorkflowGraphGroups } from './domains/workflows/workflow/workflow-graph-groups.es.js';
21
21
  import { getWorkflowIterationScopes } from './domains/workflows/workflow/workflow-iteration-scopes.es.js';
22
- import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from './select-CQtsggxJ.js';
22
+ import { S as Select, d as SelectTrigger, e as SelectValue, a as SelectContent, c as SelectItem } from './select-7rYaECQf.js';
23
23
  import { T as Txt } from './Txt-BtIGLRk1.js';
24
24
  import { getWorkflowCardKind } from './domains/workflows/workflow/workflow-node-kind.es.js';
25
25
  import { WorkflowStepActionBar } from './domains/workflows/workflow/workflow-step-action-bar.es.js';
@@ -294,4 +294,4 @@ const useWorkflowGraphRuntime = ({
294
294
  };
295
295
 
296
296
  export { WorkflowNestedGraph as W, WorkflowBodyGraph as a, WorkflowGraphNode as b, useWorkflowGraphRuntime as u };
297
- //# sourceMappingURL=use-workflow-graph-runtime-BrHXo49Q.js.map
297
+ //# sourceMappingURL=use-workflow-graph-runtime-xq_aSXPh.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-workflow-graph-runtime-BrHXo49Q.js","sources":["../src/domains/workflows/workflow/workflow-nested-graph.tsx","../src/domains/workflows/workflow/workflow-body-graph.tsx","../src/domains/workflows/workflow/workflow-graph-node.tsx","../src/domains/workflows/workflow/use-workflow-graph-runtime.tsx"],"sourcesContent":["import type { SerializedStepFlowEntry } from '@mastra/core/workflows';\n\nimport { useMemo, useState } from 'react';\nimport { useCurrentRun } from '../context/use-current-run';\nimport { useWorkflowGraphNodes } from './use-workflow-graph-nodes';\nimport { useWorkflowGraphRuntime } from './use-workflow-graph-runtime';\nimport { WorkflowGraphBoundary } from './workflow-graph-boundary';\nimport { getWorkflowGraphGroups } from './workflow-graph-groups';\nimport { getWorkflowIterationScopes } from './workflow-iteration-scopes';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select';\nimport { Txt } from '@/ds/components/Txt';\nimport { WorkflowGraphCanvas, WORKFLOW_BOUNDARY_NODE_TYPE } from '@/ds/components/Workflow';\n\nexport interface WorkflowNestedGraphProps {\n stepGraph: SerializedStepFlowEntry[];\n workflowName: string;\n isForEach?: boolean;\n embedded?: boolean;\n requestContext: Record<string, any>;\n}\n\nexport function WorkflowNestedGraph(props: WorkflowNestedGraphProps) {\n const layoutKey = useMemo(\n () => `${props.workflowName}:${JSON.stringify(props.stepGraph)}`,\n [props.workflowName, props.stepGraph],\n );\n return (\n <WorkflowGraphBoundary key={layoutKey} stepGraph={props.stepGraph}>\n <WorkflowNestedGraphContent {...props} />\n </WorkflowGraphBoundary>\n );\n}\n\nfunction WorkflowNestedGraphContent({\n stepGraph,\n workflowName,\n isForEach,\n embedded,\n requestContext,\n}: WorkflowNestedGraphProps) {\n const { nodes, edges, onNodesChange } = useWorkflowGraphNodes(stepGraph);\n const { steps } = useCurrentRun();\n const iterations = getWorkflowIterationScopes(Object.keys(steps), workflowName);\n const [selectedIteration, setSelectedIteration] = useState<string>();\n const activeIteration = iterations.find(iteration => iteration.value === selectedIteration) ?? iterations[0];\n\n const { edgeTypes, nodeTypes, styledEdges } = useWorkflowGraphRuntime({\n edges,\n workflowName: activeIteration?.value ?? workflowName,\n requestContext,\n });\n\n const labeledNodes = useMemo(\n () =>\n nodes.map(node => {\n if (!isForEach || node.type !== WORKFLOW_BOUNDARY_NODE_TYPE) return node;\n const label = node.data.boundaryRole === 'start' ? 'Each item' : 'Item result';\n return { ...node, data: { ...node.data, label } };\n }),\n [nodes, isForEach],\n );\n const groups = useMemo(() => getWorkflowGraphGroups(nodes), [nodes]);\n\n return (\n <div className=\"relative flex size-full flex-col\">\n {activeIteration && (\n <div className=\"nodrag nopan flex items-center gap-3 border-b border-border px-4 py-2\">\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n Iteration\n </Txt>\n <Select value={activeIteration.value} onValueChange={setSelectedIteration} items={iterations}>\n <SelectTrigger aria-label=\"Loop item\" size=\"sm\" className=\"w-36\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {iterations.map(iteration => (\n <SelectItem key={iteration.value} value={iteration.value}>\n {iteration.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )}\n <div className=\"min-h-0 flex-1\">\n <WorkflowGraphCanvas\n variant={embedded ? 'inline' : 'nested'}\n groups={groups}\n nodes={labeledNodes}\n edges={styledEdges}\n edgeTypes={edgeTypes}\n nodeTypes={nodeTypes}\n onNodesChange={onNodesChange}\n />\n </div>\n </div>\n );\n}\n","import type { SerializedStepFlowEntry } from '@mastra/core/workflows';\nimport { ReactFlowProvider } from '@xyflow/react';\nimport { Repeat2 } from 'lucide-react';\nimport { WorkflowNestedGraph } from './workflow-nested-graph';\nimport { Txt } from '@/ds/components/Txt';\n\nexport function WorkflowBodyGraph({\n stepGraph,\n workflowName,\n isForEach,\n requestContext,\n}: {\n stepGraph: SerializedStepFlowEntry[];\n workflowName: string;\n isForEach?: boolean;\n requestContext: Record<string, any>;\n}) {\n return (\n <section aria-label={isForEach ? 'Loop body' : 'Nested workflow'} className=\"flex h-full min-h-0 flex-col\">\n {isForEach && (\n <div className=\"flex shrink-0 items-start gap-2 px-4 py-3 text-muted-foreground\">\n <Repeat2 aria-hidden className=\"mt-0.5 size-4 shrink-0 text-muted-foreground\" />\n <Txt variant=\"meta\">Runs for every item. All items finish before the workflow continues.</Txt>\n </div>\n )}\n <div className=\"min-h-0 flex-1 overflow-hidden\">\n <ReactFlowProvider>\n <WorkflowNestedGraph\n stepGraph={stepGraph}\n embedded\n workflowName={workflowName}\n isForEach={isForEach}\n requestContext={requestContext}\n />\n </ReactFlowProvider>\n </div>\n </section>\n );\n}\n","import type { NodeProps } from '@xyflow/react';\n\nimport { useCurrentRun } from '../context/use-current-run';\nimport type { Step } from '../context/use-current-run';\nimport { useWorkflowSelectedStep } from '../context/use-workflow-selected-step';\nimport { useWorkflowStepDetail } from '../context/workflow-step-detail-context';\nimport { isAwaitingInput, resolveStepSpan } from '../context/workflow-step-timing';\nimport { useWaitingStepKey } from './use-workflow-trigger';\nimport { WorkflowBodyGraph } from './workflow-body-graph';\nimport { getWorkflowCardKind } from './workflow-node-kind';\nimport { WorkflowStepActionBar } from './workflow-step-action-bar';\nimport type { WorkflowStepNode, WorkflowStepNodeData } from './workflow-step-node-utils';\nimport { WorkflowNodeFrame, WorkflowConditionCard, WorkflowStepCardView } from '@/ds/components/Workflow';\nimport type { WorkflowCardDisplayStatus } from '@/ds/components/Workflow';\n\nexport interface WorkflowGraphNodeProps {\n parentWorkflowName?: string;\n stepsFlow: Record<string, string[]>;\n requestContext: Record<string, any>;\n}\n\nconst getDisplayStatus = (step?: Step): { displayStatus: WorkflowCardDisplayStatus; isTripwire: boolean } => {\n const isTripwire = step?.status === 'failed' && step?.tripwire !== undefined;\n const displayStatus = step && isAwaitingInput(step) ? 'suspended' : step?.status;\n return {\n displayStatus: isTripwire ? 'tripwire' : displayStatus,\n isTripwire,\n };\n};\n\nconst WorkflowStepCard = ({\n data,\n parentWorkflowName,\n stepsFlow,\n requestContext,\n}: {\n data: WorkflowStepNodeData;\n parentWorkflowName?: string;\n stepsFlow: Record<string, string[]>;\n requestContext: Record<string, any>;\n}) => {\n const { steps } = useCurrentRun();\n const { selectedStepId, setSelectedStepId, hoverStepId, setHoverStepId } = useWorkflowSelectedStep();\n const { showNestedGraph } = useWorkflowStepDetail();\n const waitingStepKey = useWaitingStepKey();\n const { label, stepId, description } = data;\n const mapConfig = data.mapConfig ?? ('step' in data.workflowStep ? data.workflowStep.step?.mapConfig : undefined);\n const stepGraph =\n data.stepGraph ??\n ('step' in data.workflowStep ? data.workflowStep.step?.serializedStepFlow : undefined) ??\n (data.workflowStep.kind === 'nested-workflow-step' && data.workflowStep.flow.type === 'workflow'\n ? data.workflowStep.flow.serializedStepFlow\n : undefined);\n const fullLabel = parentWorkflowName ? `${parentWorkflowName}.${label}` : label;\n const stepKey = parentWorkflowName ? `${parentWorkflowName}.${stepId || label}` : stepId || label;\n const isSelected = selectedStepId === stepKey;\n const isWaiting = waitingStepKey === stepKey;\n const isHovered = hoverStepId === stepKey;\n const step = steps[stepKey];\n const { displayStatus, isTripwire } = getDisplayStatus(step);\n const stepSpan = step ? resolveStepSpan(step) : undefined;\n\n return (\n <WorkflowStepCardView\n label={data.mapContext?.label ?? label}\n nodeKind={getWorkflowCardKind(data.workflowStep)}\n onSelect={() => setSelectedStepId(stepKey)}\n initiallyOpen={!parentWorkflowName}\n body={\n stepGraph?.length ? (\n <WorkflowBodyGraph\n stepGraph={stepGraph}\n workflowName={fullLabel}\n isForEach={data.isForEach}\n requestContext={requestContext}\n />\n ) : undefined\n }\n description={description ?? data.mapContext?.description}\n displayStatus={displayStatus}\n isNestedWorkflowStep={data.workflowStep.kind === 'nested-workflow-step'}\n stepKey={stepKey}\n isSelected={isSelected}\n isWaiting={isWaiting}\n isHovered={isHovered}\n onHoverChange={isHovered => setHoverStepId(isHovered ? stepKey : null)}\n duration={data.duration}\n date={data.date}\n isForEach={data.isForEach}\n foreachProgress={step?.foreachProgress}\n mapConfig={mapConfig}\n canSuspend={data.canSuspend}\n stepGraph={stepGraph}\n startedAt={stepSpan?.start}\n endedAt={stepSpan?.end}\n spansSuspension={stepSpan?.spansSuspension}\n actionBar={\n <WorkflowStepActionBar\n stepName={label}\n stepId={stepId}\n resumeData={step?.resumeData}\n error={isTripwire ? undefined : step?.error}\n tripwire={isTripwire ? step?.tripwire : undefined}\n mapConfig={mapConfig}\n onShowNestedGraph={stepGraph ? () => showNestedGraph({ label, fullStep: fullLabel, stepGraph }) : undefined}\n stepKey={stepKey}\n stepsFlow={stepsFlow}\n requestContext={requestContext}\n />\n }\n />\n );\n};\n\nconst WorkflowConditionNodeCard = ({\n data,\n parentWorkflowName,\n requestContext,\n}: {\n data: WorkflowStepNodeData;\n parentWorkflowName?: string;\n requestContext: Record<string, any>;\n}) => {\n const { steps } = useCurrentRun();\n const conditions = data.conditions ?? [];\n const previousStepId =\n data.previousStepId && (parentWorkflowName ? `${parentWorkflowName}.${data.previousStepId}` : data.previousStepId);\n const previousStep = previousStepId ? steps[previousStepId] : undefined;\n const { displayStatus: previousDisplayStatus, isTripwire } = getDisplayStatus(previousStep);\n\n return (\n <WorkflowConditionCard\n conditions={conditions}\n previousDisplayStatus={previousDisplayStatus}\n actionBar={\n <WorkflowStepActionBar\n stepName={data.nextStepId ?? data.label}\n mapConfig={data.mapConfig}\n tripwire={isTripwire ? previousStep?.tripwire : undefined}\n requestContext={requestContext}\n />\n }\n />\n );\n};\n\nexport function WorkflowGraphNode({\n data,\n parentWorkflowName,\n stepsFlow,\n requestContext,\n}: NodeProps<WorkflowStepNode> & WorkflowGraphNodeProps) {\n const content =\n data.workflowStep.kind === 'conditional' ? (\n <WorkflowConditionNodeCard data={data} parentWorkflowName={parentWorkflowName} requestContext={requestContext} />\n ) : (\n <WorkflowStepCard\n data={data}\n parentWorkflowName={parentWorkflowName}\n stepsFlow={stepsFlow}\n requestContext={requestContext}\n />\n );\n\n return (\n <WorkflowNodeFrame withoutTopHandle={data.withoutTopHandle} withoutBottomHandle={data.withoutBottomHandle}>\n {content}\n </WorkflowNodeFrame>\n );\n}\n","import type { EdgeProps, NodeProps } from '@xyflow/react';\nimport { useContext, useMemo } from 'react';\n\nimport { useCurrentRun } from '../context/use-current-run';\nimport { WorkflowRunContext } from '../context/workflow-run-context';\nimport { groupWorkflowEdgeData } from './data/workflow-edge-data-groups';\nimport { buildStepsFlow } from './utils';\nimport type { WorkflowGraphEdge } from './utils';\nimport { getWorkflowBoundaryData } from './workflow-boundary-data';\nimport { WorkflowDataEdge } from './workflow-data-edge';\nimport { WorkflowGraphNode } from './workflow-graph-node';\nimport { WORKFLOW_BOUNDARY_NODE_TYPE, WORKFLOW_STEP_NODE_TYPE } from './workflow-step-node-utils';\nimport type { WorkflowBoundaryNode as WorkflowBoundaryNodeType, WorkflowStepNode } from './workflow-step-node-utils';\nimport { WorkflowBoundaryNode, WORKFLOW_DATA_EDGE_TYPE } from '@/ds/components/Workflow';\n\nconst getScopedStepId = (stepId: string | undefined, workflowName?: string) =>\n stepId && workflowName ? `${workflowName}.${stepId}` : stepId;\n\nexport const useWorkflowGraphRuntime = ({\n edges,\n workflowName,\n requestContext,\n}: {\n edges: WorkflowGraphEdge[];\n workflowName?: string;\n requestContext: Record<string, any>;\n}) => {\n const { steps } = useCurrentRun();\n const workflowRun = useContext(WorkflowRunContext);\n const workflowSucceeded = workflowName\n ? steps[workflowName]?.status === 'success' || getWorkflowBoundaryData(steps, workflowName).output !== undefined\n : workflowRun.result?.status === 'success';\n const stepsFlow = useMemo(() => buildStepsFlow(edges), [edges]);\n const nodeTypes = useMemo(\n () => ({\n [WORKFLOW_STEP_NODE_TYPE]: (props: NodeProps<WorkflowStepNode>) => (\n <WorkflowGraphNode\n parentWorkflowName={workflowName}\n {...props}\n stepsFlow={stepsFlow}\n requestContext={requestContext}\n />\n ),\n [WORKFLOW_BOUNDARY_NODE_TYPE]: (props: NodeProps<WorkflowBoundaryNodeType>) => (\n <WorkflowBoundaryNode {...props} />\n ),\n }),\n [stepsFlow, workflowName, requestContext],\n );\n const edgeTypes = useMemo(\n () => ({\n [WORKFLOW_DATA_EDGE_TYPE]: (props: EdgeProps<WorkflowGraphEdge>) => (\n <WorkflowDataEdge parentWorkflowName={workflowName} {...props} />\n ),\n }),\n [workflowName],\n );\n const styledEdges = useMemo(\n () =>\n groupWorkflowEdgeData(edges).map(edge => {\n const previousStepId = getScopedStepId(edge.data?.previousStepId, workflowName);\n const nextStepId = getScopedStepId(edge.data?.nextStepId, workflowName);\n const previousStepSucceeded = steps[previousStepId ?? '']?.status === 'success';\n const nextStepStatus = steps[nextStepId ?? '']?.status;\n let isFinishedEdge = previousStepSucceeded && nextStepStatus !== 'skipped';\n if (edge.data?.boundaryPayload === 'workflow-output') {\n isFinishedEdge = workflowSucceeded;\n } else if (edge.data?.boundaryPayload === 'workflow-input' || edge.data?.conditionNode) {\n isFinishedEdge = Boolean(nextStepStatus) && nextStepStatus !== 'skipped';\n }\n\n return {\n ...edge,\n type: WORKFLOW_DATA_EDGE_TYPE,\n animated: isFinishedEdge ? false : edge.animated,\n data: {\n ...edge.data,\n edgeStatus: isFinishedEdge ? 'success' : 'idle',\n },\n style: {\n ...edge.style,\n stroke: isFinishedEdge ? 'var(--success-indicator)' : 'var(--muted-foreground)',\n strokeDasharray: isFinishedEdge ? 'none' : edge.style?.strokeDasharray,\n },\n };\n }),\n [edges, steps, workflowName, workflowSucceeded],\n );\n\n return { edgeTypes, nodeTypes, stepsFlow, styledEdges };\n};\n"],"names":["isHovered"],"mappings":"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"}
1
+ {"version":3,"file":"use-workflow-graph-runtime-xq_aSXPh.js","sources":["../src/domains/workflows/workflow/workflow-nested-graph.tsx","../src/domains/workflows/workflow/workflow-body-graph.tsx","../src/domains/workflows/workflow/workflow-graph-node.tsx","../src/domains/workflows/workflow/use-workflow-graph-runtime.tsx"],"sourcesContent":["import type { SerializedStepFlowEntry } from '@mastra/core/workflows';\n\nimport { useMemo, useState } from 'react';\nimport { useCurrentRun } from '../context/use-current-run';\nimport { useWorkflowGraphNodes } from './use-workflow-graph-nodes';\nimport { useWorkflowGraphRuntime } from './use-workflow-graph-runtime';\nimport { WorkflowGraphBoundary } from './workflow-graph-boundary';\nimport { getWorkflowGraphGroups } from './workflow-graph-groups';\nimport { getWorkflowIterationScopes } from './workflow-iteration-scopes';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/ds/components/Select';\nimport { Txt } from '@/ds/components/Txt';\nimport { WorkflowGraphCanvas, WORKFLOW_BOUNDARY_NODE_TYPE } from '@/ds/components/Workflow';\n\nexport interface WorkflowNestedGraphProps {\n stepGraph: SerializedStepFlowEntry[];\n workflowName: string;\n isForEach?: boolean;\n embedded?: boolean;\n requestContext: Record<string, any>;\n}\n\nexport function WorkflowNestedGraph(props: WorkflowNestedGraphProps) {\n const layoutKey = useMemo(\n () => `${props.workflowName}:${JSON.stringify(props.stepGraph)}`,\n [props.workflowName, props.stepGraph],\n );\n return (\n <WorkflowGraphBoundary key={layoutKey} stepGraph={props.stepGraph}>\n <WorkflowNestedGraphContent {...props} />\n </WorkflowGraphBoundary>\n );\n}\n\nfunction WorkflowNestedGraphContent({\n stepGraph,\n workflowName,\n isForEach,\n embedded,\n requestContext,\n}: WorkflowNestedGraphProps) {\n const { nodes, edges, onNodesChange } = useWorkflowGraphNodes(stepGraph);\n const { steps } = useCurrentRun();\n const iterations = getWorkflowIterationScopes(Object.keys(steps), workflowName);\n const [selectedIteration, setSelectedIteration] = useState<string>();\n const activeIteration = iterations.find(iteration => iteration.value === selectedIteration) ?? iterations[0];\n\n const { edgeTypes, nodeTypes, styledEdges } = useWorkflowGraphRuntime({\n edges,\n workflowName: activeIteration?.value ?? workflowName,\n requestContext,\n });\n\n const labeledNodes = useMemo(\n () =>\n nodes.map(node => {\n if (!isForEach || node.type !== WORKFLOW_BOUNDARY_NODE_TYPE) return node;\n const label = node.data.boundaryRole === 'start' ? 'Each item' : 'Item result';\n return { ...node, data: { ...node.data, label } };\n }),\n [nodes, isForEach],\n );\n const groups = useMemo(() => getWorkflowGraphGroups(nodes), [nodes]);\n\n return (\n <div className=\"relative flex size-full flex-col\">\n {activeIteration && (\n <div className=\"nodrag nopan flex items-center gap-3 border-b border-border px-4 py-2\">\n <Txt as=\"span\" variant=\"caption\" tone=\"muted\">\n Iteration\n </Txt>\n <Select value={activeIteration.value} onValueChange={setSelectedIteration} items={iterations}>\n <SelectTrigger aria-label=\"Loop item\" size=\"sm\" className=\"w-36\">\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {iterations.map(iteration => (\n <SelectItem key={iteration.value} value={iteration.value}>\n {iteration.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n )}\n <div className=\"min-h-0 flex-1\">\n <WorkflowGraphCanvas\n variant={embedded ? 'inline' : 'nested'}\n groups={groups}\n nodes={labeledNodes}\n edges={styledEdges}\n edgeTypes={edgeTypes}\n nodeTypes={nodeTypes}\n onNodesChange={onNodesChange}\n />\n </div>\n </div>\n );\n}\n","import type { SerializedStepFlowEntry } from '@mastra/core/workflows';\nimport { ReactFlowProvider } from '@xyflow/react';\nimport { Repeat2 } from 'lucide-react';\nimport { WorkflowNestedGraph } from './workflow-nested-graph';\nimport { Txt } from '@/ds/components/Txt';\n\nexport function WorkflowBodyGraph({\n stepGraph,\n workflowName,\n isForEach,\n requestContext,\n}: {\n stepGraph: SerializedStepFlowEntry[];\n workflowName: string;\n isForEach?: boolean;\n requestContext: Record<string, any>;\n}) {\n return (\n <section aria-label={isForEach ? 'Loop body' : 'Nested workflow'} className=\"flex h-full min-h-0 flex-col\">\n {isForEach && (\n <div className=\"flex shrink-0 items-start gap-2 px-4 py-3 text-muted-foreground\">\n <Repeat2 aria-hidden className=\"mt-0.5 size-4 shrink-0 text-muted-foreground\" />\n <Txt variant=\"meta\">Runs for every item. All items finish before the workflow continues.</Txt>\n </div>\n )}\n <div className=\"min-h-0 flex-1 overflow-hidden\">\n <ReactFlowProvider>\n <WorkflowNestedGraph\n stepGraph={stepGraph}\n embedded\n workflowName={workflowName}\n isForEach={isForEach}\n requestContext={requestContext}\n />\n </ReactFlowProvider>\n </div>\n </section>\n );\n}\n","import type { NodeProps } from '@xyflow/react';\n\nimport { useCurrentRun } from '../context/use-current-run';\nimport type { Step } from '../context/use-current-run';\nimport { useWorkflowSelectedStep } from '../context/use-workflow-selected-step';\nimport { useWorkflowStepDetail } from '../context/workflow-step-detail-context';\nimport { isAwaitingInput, resolveStepSpan } from '../context/workflow-step-timing';\nimport { useWaitingStepKey } from './use-workflow-trigger';\nimport { WorkflowBodyGraph } from './workflow-body-graph';\nimport { getWorkflowCardKind } from './workflow-node-kind';\nimport { WorkflowStepActionBar } from './workflow-step-action-bar';\nimport type { WorkflowStepNode, WorkflowStepNodeData } from './workflow-step-node-utils';\nimport { WorkflowNodeFrame, WorkflowConditionCard, WorkflowStepCardView } from '@/ds/components/Workflow';\nimport type { WorkflowCardDisplayStatus } from '@/ds/components/Workflow';\n\nexport interface WorkflowGraphNodeProps {\n parentWorkflowName?: string;\n stepsFlow: Record<string, string[]>;\n requestContext: Record<string, any>;\n}\n\nconst getDisplayStatus = (step?: Step): { displayStatus: WorkflowCardDisplayStatus; isTripwire: boolean } => {\n const isTripwire = step?.status === 'failed' && step?.tripwire !== undefined;\n const displayStatus = step && isAwaitingInput(step) ? 'suspended' : step?.status;\n return {\n displayStatus: isTripwire ? 'tripwire' : displayStatus,\n isTripwire,\n };\n};\n\nconst WorkflowStepCard = ({\n data,\n parentWorkflowName,\n stepsFlow,\n requestContext,\n}: {\n data: WorkflowStepNodeData;\n parentWorkflowName?: string;\n stepsFlow: Record<string, string[]>;\n requestContext: Record<string, any>;\n}) => {\n const { steps } = useCurrentRun();\n const { selectedStepId, setSelectedStepId, hoverStepId, setHoverStepId } = useWorkflowSelectedStep();\n const { showNestedGraph } = useWorkflowStepDetail();\n const waitingStepKey = useWaitingStepKey();\n const { label, stepId, description } = data;\n const mapConfig = data.mapConfig ?? ('step' in data.workflowStep ? data.workflowStep.step?.mapConfig : undefined);\n const stepGraph =\n data.stepGraph ??\n ('step' in data.workflowStep ? data.workflowStep.step?.serializedStepFlow : undefined) ??\n (data.workflowStep.kind === 'nested-workflow-step' && data.workflowStep.flow.type === 'workflow'\n ? data.workflowStep.flow.serializedStepFlow\n : undefined);\n const fullLabel = parentWorkflowName ? `${parentWorkflowName}.${label}` : label;\n const stepKey = parentWorkflowName ? `${parentWorkflowName}.${stepId || label}` : stepId || label;\n const isSelected = selectedStepId === stepKey;\n const isWaiting = waitingStepKey === stepKey;\n const isHovered = hoverStepId === stepKey;\n const step = steps[stepKey];\n const { displayStatus, isTripwire } = getDisplayStatus(step);\n const stepSpan = step ? resolveStepSpan(step) : undefined;\n\n return (\n <WorkflowStepCardView\n label={data.mapContext?.label ?? label}\n nodeKind={getWorkflowCardKind(data.workflowStep)}\n onSelect={() => setSelectedStepId(stepKey)}\n initiallyOpen={!parentWorkflowName}\n body={\n stepGraph?.length ? (\n <WorkflowBodyGraph\n stepGraph={stepGraph}\n workflowName={fullLabel}\n isForEach={data.isForEach}\n requestContext={requestContext}\n />\n ) : undefined\n }\n description={description ?? data.mapContext?.description}\n displayStatus={displayStatus}\n isNestedWorkflowStep={data.workflowStep.kind === 'nested-workflow-step'}\n stepKey={stepKey}\n isSelected={isSelected}\n isWaiting={isWaiting}\n isHovered={isHovered}\n onHoverChange={isHovered => setHoverStepId(isHovered ? stepKey : null)}\n duration={data.duration}\n date={data.date}\n isForEach={data.isForEach}\n foreachProgress={step?.foreachProgress}\n mapConfig={mapConfig}\n canSuspend={data.canSuspend}\n stepGraph={stepGraph}\n startedAt={stepSpan?.start}\n endedAt={stepSpan?.end}\n spansSuspension={stepSpan?.spansSuspension}\n actionBar={\n <WorkflowStepActionBar\n stepName={label}\n stepId={stepId}\n resumeData={step?.resumeData}\n error={isTripwire ? undefined : step?.error}\n tripwire={isTripwire ? step?.tripwire : undefined}\n mapConfig={mapConfig}\n onShowNestedGraph={stepGraph ? () => showNestedGraph({ label, fullStep: fullLabel, stepGraph }) : undefined}\n stepKey={stepKey}\n stepsFlow={stepsFlow}\n requestContext={requestContext}\n />\n }\n />\n );\n};\n\nconst WorkflowConditionNodeCard = ({\n data,\n parentWorkflowName,\n requestContext,\n}: {\n data: WorkflowStepNodeData;\n parentWorkflowName?: string;\n requestContext: Record<string, any>;\n}) => {\n const { steps } = useCurrentRun();\n const conditions = data.conditions ?? [];\n const previousStepId =\n data.previousStepId && (parentWorkflowName ? `${parentWorkflowName}.${data.previousStepId}` : data.previousStepId);\n const previousStep = previousStepId ? steps[previousStepId] : undefined;\n const { displayStatus: previousDisplayStatus, isTripwire } = getDisplayStatus(previousStep);\n\n return (\n <WorkflowConditionCard\n conditions={conditions}\n previousDisplayStatus={previousDisplayStatus}\n actionBar={\n <WorkflowStepActionBar\n stepName={data.nextStepId ?? data.label}\n mapConfig={data.mapConfig}\n tripwire={isTripwire ? previousStep?.tripwire : undefined}\n requestContext={requestContext}\n />\n }\n />\n );\n};\n\nexport function WorkflowGraphNode({\n data,\n parentWorkflowName,\n stepsFlow,\n requestContext,\n}: NodeProps<WorkflowStepNode> & WorkflowGraphNodeProps) {\n const content =\n data.workflowStep.kind === 'conditional' ? (\n <WorkflowConditionNodeCard data={data} parentWorkflowName={parentWorkflowName} requestContext={requestContext} />\n ) : (\n <WorkflowStepCard\n data={data}\n parentWorkflowName={parentWorkflowName}\n stepsFlow={stepsFlow}\n requestContext={requestContext}\n />\n );\n\n return (\n <WorkflowNodeFrame withoutTopHandle={data.withoutTopHandle} withoutBottomHandle={data.withoutBottomHandle}>\n {content}\n </WorkflowNodeFrame>\n );\n}\n","import type { EdgeProps, NodeProps } from '@xyflow/react';\nimport { useContext, useMemo } from 'react';\n\nimport { useCurrentRun } from '../context/use-current-run';\nimport { WorkflowRunContext } from '../context/workflow-run-context';\nimport { groupWorkflowEdgeData } from './data/workflow-edge-data-groups';\nimport { buildStepsFlow } from './utils';\nimport type { WorkflowGraphEdge } from './utils';\nimport { getWorkflowBoundaryData } from './workflow-boundary-data';\nimport { WorkflowDataEdge } from './workflow-data-edge';\nimport { WorkflowGraphNode } from './workflow-graph-node';\nimport { WORKFLOW_BOUNDARY_NODE_TYPE, WORKFLOW_STEP_NODE_TYPE } from './workflow-step-node-utils';\nimport type { WorkflowBoundaryNode as WorkflowBoundaryNodeType, WorkflowStepNode } from './workflow-step-node-utils';\nimport { WorkflowBoundaryNode, WORKFLOW_DATA_EDGE_TYPE } from '@/ds/components/Workflow';\n\nconst getScopedStepId = (stepId: string | undefined, workflowName?: string) =>\n stepId && workflowName ? `${workflowName}.${stepId}` : stepId;\n\nexport const useWorkflowGraphRuntime = ({\n edges,\n workflowName,\n requestContext,\n}: {\n edges: WorkflowGraphEdge[];\n workflowName?: string;\n requestContext: Record<string, any>;\n}) => {\n const { steps } = useCurrentRun();\n const workflowRun = useContext(WorkflowRunContext);\n const workflowSucceeded = workflowName\n ? steps[workflowName]?.status === 'success' || getWorkflowBoundaryData(steps, workflowName).output !== undefined\n : workflowRun.result?.status === 'success';\n const stepsFlow = useMemo(() => buildStepsFlow(edges), [edges]);\n const nodeTypes = useMemo(\n () => ({\n [WORKFLOW_STEP_NODE_TYPE]: (props: NodeProps<WorkflowStepNode>) => (\n <WorkflowGraphNode\n parentWorkflowName={workflowName}\n {...props}\n stepsFlow={stepsFlow}\n requestContext={requestContext}\n />\n ),\n [WORKFLOW_BOUNDARY_NODE_TYPE]: (props: NodeProps<WorkflowBoundaryNodeType>) => (\n <WorkflowBoundaryNode {...props} />\n ),\n }),\n [stepsFlow, workflowName, requestContext],\n );\n const edgeTypes = useMemo(\n () => ({\n [WORKFLOW_DATA_EDGE_TYPE]: (props: EdgeProps<WorkflowGraphEdge>) => (\n <WorkflowDataEdge parentWorkflowName={workflowName} {...props} />\n ),\n }),\n [workflowName],\n );\n const styledEdges = useMemo(\n () =>\n groupWorkflowEdgeData(edges).map(edge => {\n const previousStepId = getScopedStepId(edge.data?.previousStepId, workflowName);\n const nextStepId = getScopedStepId(edge.data?.nextStepId, workflowName);\n const previousStepSucceeded = steps[previousStepId ?? '']?.status === 'success';\n const nextStepStatus = steps[nextStepId ?? '']?.status;\n let isFinishedEdge = previousStepSucceeded && nextStepStatus !== 'skipped';\n if (edge.data?.boundaryPayload === 'workflow-output') {\n isFinishedEdge = workflowSucceeded;\n } else if (edge.data?.boundaryPayload === 'workflow-input' || edge.data?.conditionNode) {\n isFinishedEdge = Boolean(nextStepStatus) && nextStepStatus !== 'skipped';\n }\n\n return {\n ...edge,\n type: WORKFLOW_DATA_EDGE_TYPE,\n animated: isFinishedEdge ? false : edge.animated,\n data: {\n ...edge.data,\n edgeStatus: isFinishedEdge ? 'success' : 'idle',\n },\n style: {\n ...edge.style,\n stroke: isFinishedEdge ? 'var(--success-indicator)' : 'var(--muted-foreground)',\n strokeDasharray: isFinishedEdge ? 'none' : edge.style?.strokeDasharray,\n },\n };\n }),\n [edges, steps, workflowName, workflowSucceeded],\n );\n\n return { edgeTypes, nodeTypes, stepsFlow, styledEdges };\n};\n"],"names":["isHovered"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAqBO,SAAS,oBAAoB,KAAA,EAAiC;AACnE,EAAA,MAAM,SAAA,GAAY,OAAA;AAAA,IAChB,MAAM,GAAG,KAAA,CAAM,YAAY,IAAI,IAAA,CAAK,SAAA,CAAU,KAAA,CAAM,SAAS,CAAC,CAAA,CAAA;AAAA,IAC9D,CAAC,KAAA,CAAM,YAAA,EAAc,KAAA,CAAM,SAAS;AAAA,GACtC;AACA,EAAA,uBACE,GAAA,CAAC,qBAAA,EAAA,EAAsC,SAAA,EAAW,KAAA,CAAM,SAAA,EACtD,8BAAC,0BAAA,EAAA,EAA4B,GAAG,KAAA,EAAO,CAAA,EAAA,EADb,SAE5B,CAAA;AAEJ;AAEA,SAAS,0BAAA,CAA2B;AAAA,EAClC,SAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAA6B;AAC3B,EAAA,MAAM,EAAE,KAAA,EAAO,KAAA,EAAO,aAAA,EAAc,GAAI,sBAAsB,SAAS,CAAA;AACvE,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,aAAA,EAAc;AAChC,EAAA,MAAM,aAAa,0BAAA,CAA2B,MAAA,CAAO,IAAA,CAAK,KAAK,GAAG,YAAY,CAAA;AAC9E,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAI,QAAA,EAAiB;AACnE,EAAA,MAAM,eAAA,GAAkB,WAAW,IAAA,CAAK,CAAA,SAAA,KAAa,UAAU,KAAA,KAAU,iBAAiB,CAAA,IAAK,UAAA,CAAW,CAAC,CAAA;AAE3G,EAAA,MAAM,EAAE,SAAA,EAAW,SAAA,EAAW,WAAA,KAAgB,uBAAA,CAAwB;AAAA,IACpE,KAAA;AAAA,IACA,YAAA,EAAc,iBAAiB,KAAA,IAAS,YAAA;AAAA,IACxC;AAAA,GACD,CAAA;AAED,EAAA,MAAM,YAAA,GAAe,OAAA;AAAA,IACnB,MACE,KAAA,CAAM,GAAA,CAAI,CAAA,IAAA,KAAQ;AAChB,MAAA,IAAI,CAAC,SAAA,IAAa,IAAA,CAAK,IAAA,KAAS,6BAA6B,OAAO,IAAA;AACpE,MAAA,MAAM,KAAA,GAAQ,IAAA,CAAK,IAAA,CAAK,YAAA,KAAiB,UAAU,WAAA,GAAc,aAAA;AACjE,MAAA,OAAO,EAAE,GAAG,IAAA,EAAM,IAAA,EAAM,EAAE,GAAG,IAAA,CAAK,IAAA,EAAM,KAAA,EAAM,EAAE;AAAA,IAClD,CAAC,CAAA;AAAA,IACH,CAAC,OAAO,SAAS;AAAA,GACnB;AACA,EAAA,MAAM,MAAA,GAAS,QAAQ,MAAM,sBAAA,CAAuB,KAAK,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEnE,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,kCAAA,EACZ,QAAA,EAAA;AAAA,IAAA,eAAA,oBACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uEAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,OAAI,EAAA,EAAG,MAAA,EAAO,SAAQ,SAAA,EAAU,IAAA,EAAK,SAAQ,QAAA,EAAA,WAAA,EAE9C,CAAA;AAAA,sBACA,IAAA,CAAC,UAAO,KAAA,EAAO,eAAA,CAAgB,OAAO,aAAA,EAAe,oBAAA,EAAsB,OAAO,UAAA,EAChF,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,aAAA,EAAA,EAAc,cAAW,WAAA,EAAY,IAAA,EAAK,MAAK,SAAA,EAAU,MAAA,EACxD,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EAAY,CAAA,EACf,CAAA;AAAA,wBACA,GAAA,CAAC,aAAA,EAAA,EACE,QAAA,EAAA,UAAA,CAAW,GAAA,CAAI,+BACd,GAAA,CAAC,UAAA,EAAA,EAAiC,KAAA,EAAO,SAAA,CAAU,OAChD,QAAA,EAAA,SAAA,CAAU,KAAA,EAAA,EADI,SAAA,CAAU,KAE3B,CACD,CAAA,EACH;AAAA,OAAA,EACF;AAAA,KAAA,EACF,CAAA;AAAA,oBAEF,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gBAAA,EACb,QAAA,kBAAA,GAAA;AAAA,MAAC,mBAAA;AAAA,MAAA;AAAA,QACC,OAAA,EAAS,WAAW,QAAA,GAAW,QAAA;AAAA,QAC/B,MAAA;AAAA,QACA,KAAA,EAAO,YAAA;AAAA,QACP,KAAA,EAAO,WAAA;AAAA,QACP,SAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA;AAAA,KACF,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;AC3FO,SAAS,iBAAA,CAAkB;AAAA,EAChC,SAAA;AAAA,EACA,YAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAKG;AACD,EAAA,4BACG,SAAA,EAAA,EAAQ,YAAA,EAAY,YAAY,WAAA,GAAc,iBAAA,EAAmB,WAAU,8BAAA,EACzE,QAAA,EAAA;AAAA,IAAA,SAAA,oBACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iEAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,OAAA,EAAA,EAAQ,aAAA,EAAW,IAAA,EAAC,SAAA,EAAU,8CAAA,EAA+C,CAAA;AAAA,sBAC9E,GAAA,CAAC,GAAA,EAAA,EAAI,OAAA,EAAQ,MAAA,EAAO,QAAA,EAAA,sEAAA,EAAoE;AAAA,KAAA,EAC1F,CAAA;AAAA,oBAEF,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gCAAA,EACb,8BAAC,iBAAA,EAAA,EACC,QAAA,kBAAA,GAAA;AAAA,MAAC,mBAAA;AAAA,MAAA;AAAA,QACC,SAAA;AAAA,QACA,QAAA,EAAQ,IAAA;AAAA,QACR,YAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA;AAAA,OAEJ,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;;ACjBA,MAAM,gBAAA,GAAmB,CAAC,IAAA,KAAmF;AAC3G,EAAA,MAAM,UAAA,GAAa,IAAA,EAAM,MAAA,KAAW,QAAA,IAAY,MAAM,QAAA,KAAa,MAAA;AACnE,EAAA,MAAM,gBAAgB,IAAA,IAAQ,eAAA,CAAgB,IAAI,CAAA,GAAI,cAAc,IAAA,EAAM,MAAA;AAC1E,EAAA,OAAO;AAAA,IACL,aAAA,EAAe,aAAa,UAAA,GAAa,aAAA;AAAA,IACzC;AAAA,GACF;AACF,CAAA;AAEA,MAAM,mBAAmB,CAAC;AAAA,EACxB,IAAA;AAAA,EACA,kBAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,KAKM;AACJ,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,aAAA,EAAc;AAChC,EAAA,MAAM,EAAE,cAAA,EAAgB,iBAAA,EAAmB,WAAA,EAAa,cAAA,KAAmB,uBAAA,EAAwB;AACnG,EAAA,MAAM,EAAE,eAAA,EAAgB,GAAI,qBAAA,EAAsB;AAClD,EAAA,MAAM,iBAAiB,iBAAA,EAAkB;AACzC,EAAA,MAAM,EAAE,KAAA,EAAO,MAAA,EAAQ,WAAA,EAAY,GAAI,IAAA;AACvC,EAAA,MAAM,SAAA,GAAY,KAAK,SAAA,KAAc,MAAA,IAAU,KAAK,YAAA,GAAe,IAAA,CAAK,YAAA,CAAa,IAAA,EAAM,SAAA,GAAY,MAAA,CAAA;AACvG,EAAA,MAAM,SAAA,GACJ,KAAK,SAAA,KACJ,MAAA,IAAU,KAAK,YAAA,GAAe,IAAA,CAAK,YAAA,CAAa,IAAA,EAAM,kBAAA,GAAqB,MAAA,CAAA,KAC3E,KAAK,YAAA,CAAa,IAAA,KAAS,sBAAA,IAA0B,IAAA,CAAK,YAAA,CAAa,IAAA,CAAK,SAAS,UAAA,GAClF,IAAA,CAAK,YAAA,CAAa,IAAA,CAAK,kBAAA,GACvB,MAAA,CAAA;AACN,EAAA,MAAM,YAAY,kBAAA,GAAqB,CAAA,EAAG,kBAAkB,CAAA,CAAA,EAAI,KAAK,CAAA,CAAA,GAAK,KAAA;AAC1E,EAAA,MAAM,OAAA,GAAU,qBAAqB,CAAA,EAAG,kBAAkB,IAAI,MAAA,IAAU,KAAK,KAAK,MAAA,IAAU,KAAA;AAC5F,EAAA,MAAM,aAAa,cAAA,KAAmB,OAAA;AACtC,EAAA,MAAM,YAAY,cAAA,KAAmB,OAAA;AACrC,EAAA,MAAM,YAAY,WAAA,KAAgB,OAAA;AAClC,EAAA,MAAM,IAAA,GAAO,MAAM,OAAO,CAAA;AAC1B,EAAA,MAAM,EAAE,aAAA,EAAe,UAAA,EAAW,GAAI,iBAAiB,IAAI,CAAA;AAC3D,EAAA,MAAM,QAAA,GAAW,IAAA,GAAO,eAAA,CAAgB,IAAI,CAAA,GAAI,MAAA;AAEhD,EAAA,uBACE,GAAA;AAAA,IAAC,oBAAA;AAAA,IAAA;AAAA,MACC,KAAA,EAAO,IAAA,CAAK,UAAA,EAAY,KAAA,IAAS,KAAA;AAAA,MACjC,QAAA,EAAU,mBAAA,CAAoB,IAAA,CAAK,YAAY,CAAA;AAAA,MAC/C,QAAA,EAAU,MAAM,iBAAA,CAAkB,OAAO,CAAA;AAAA,MACzC,eAAe,CAAC,kBAAA;AAAA,MAChB,IAAA,EACE,WAAW,MAAA,mBACT,GAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACC,SAAA;AAAA,UACA,YAAA,EAAc,SAAA;AAAA,UACd,WAAW,IAAA,CAAK,SAAA;AAAA,UAChB;AAAA;AAAA,OACF,GACE,MAAA;AAAA,MAEN,WAAA,EAAa,WAAA,IAAe,IAAA,CAAK,UAAA,EAAY,WAAA;AAAA,MAC7C,aAAA;AAAA,MACA,oBAAA,EAAsB,IAAA,CAAK,YAAA,CAAa,IAAA,KAAS,sBAAA;AAAA,MACjD,OAAA;AAAA,MACA,UAAA;AAAA,MACA,SAAA;AAAA,MACA,SAAA;AAAA,MACA,eAAe,CAAAA,UAAAA,KAAa,cAAA,CAAeA,UAAAA,GAAY,UAAU,IAAI,CAAA;AAAA,MACrE,UAAU,IAAA,CAAK,QAAA;AAAA,MACf,MAAM,IAAA,CAAK,IAAA;AAAA,MACX,WAAW,IAAA,CAAK,SAAA;AAAA,MAChB,iBAAiB,IAAA,EAAM,eAAA;AAAA,MACvB,SAAA;AAAA,MACA,YAAY,IAAA,CAAK,UAAA;AAAA,MACjB,SAAA;AAAA,MACA,WAAW,QAAA,EAAU,KAAA;AAAA,MACrB,SAAS,QAAA,EAAU,GAAA;AAAA,MACnB,iBAAiB,QAAA,EAAU,eAAA;AAAA,MAC3B,SAAA,kBACE,GAAA;AAAA,QAAC,qBAAA;AAAA,QAAA;AAAA,UACC,QAAA,EAAU,KAAA;AAAA,UACV,MAAA;AAAA,UACA,YAAY,IAAA,EAAM,UAAA;AAAA,UAClB,KAAA,EAAO,UAAA,GAAa,MAAA,GAAY,IAAA,EAAM,KAAA;AAAA,UACtC,QAAA,EAAU,UAAA,GAAa,IAAA,EAAM,QAAA,GAAW,MAAA;AAAA,UACxC,SAAA;AAAA,UACA,iBAAA,EAAmB,SAAA,GAAY,MAAM,eAAA,CAAgB,EAAE,OAAO,QAAA,EAAU,SAAA,EAAW,SAAA,EAAW,CAAA,GAAI,MAAA;AAAA,UAClG,OAAA;AAAA,UACA,SAAA;AAAA,UACA;AAAA;AAAA;AACF;AAAA,GAEJ;AAEJ,CAAA;AAEA,MAAM,4BAA4B,CAAC;AAAA,EACjC,IAAA;AAAA,EACA,kBAAA;AAAA,EACA;AACF,CAAA,KAIM;AACJ,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,aAAA,EAAc;AAChC,EAAA,MAAM,UAAA,GAAa,IAAA,CAAK,UAAA,IAAc,EAAC;AACvC,EAAA,MAAM,cAAA,GACJ,IAAA,CAAK,cAAA,KAAmB,kBAAA,GAAqB,CAAA,EAAG,kBAAkB,CAAA,CAAA,EAAI,IAAA,CAAK,cAAc,CAAA,CAAA,GAAK,IAAA,CAAK,cAAA,CAAA;AACrG,EAAA,MAAM,YAAA,GAAe,cAAA,GAAiB,KAAA,CAAM,cAAc,CAAA,GAAI,MAAA;AAC9D,EAAA,MAAM,EAAE,aAAA,EAAe,qBAAA,EAAuB,UAAA,EAAW,GAAI,iBAAiB,YAAY,CAAA;AAE1F,EAAA,uBACE,GAAA;AAAA,IAAC,qBAAA;AAAA,IAAA;AAAA,MACC,UAAA;AAAA,MACA,qBAAA;AAAA,MACA,SAAA,kBACE,GAAA;AAAA,QAAC,qBAAA;AAAA,QAAA;AAAA,UACC,QAAA,EAAU,IAAA,CAAK,UAAA,IAAc,IAAA,CAAK,KAAA;AAAA,UAClC,WAAW,IAAA,CAAK,SAAA;AAAA,UAChB,QAAA,EAAU,UAAA,GAAa,YAAA,EAAc,QAAA,GAAW,MAAA;AAAA,UAChD;AAAA;AAAA;AACF;AAAA,GAEJ;AAEJ,CAAA;AAEO,SAAS,iBAAA,CAAkB;AAAA,EAChC,IAAA;AAAA,EACA,kBAAA;AAAA,EACA,SAAA;AAAA,EACA;AACF,CAAA,EAAyD;AACvD,EAAA,MAAM,OAAA,GACJ,IAAA,CAAK,YAAA,CAAa,IAAA,KAAS,aAAA,uBACxB,yBAAA,EAAA,EAA0B,IAAA,EAAY,kBAAA,EAAwC,cAAA,EAAgC,CAAA,mBAE/G,GAAA;AAAA,IAAC,gBAAA;AAAA,IAAA;AAAA,MACC,IAAA;AAAA,MACA,kBAAA;AAAA,MACA,SAAA;AAAA,MACA;AAAA;AAAA,GACF;AAGJ,EAAA,uBACE,GAAA,CAAC,qBAAkB,gBAAA,EAAkB,IAAA,CAAK,kBAAkB,mBAAA,EAAqB,IAAA,CAAK,qBACnF,QAAA,EAAA,OAAA,EACH,CAAA;AAEJ;;AC1JA,MAAM,eAAA,GAAkB,CAAC,MAAA,EAA4B,YAAA,KACnD,MAAA,IAAU,eAAe,CAAA,EAAG,YAAY,CAAA,CAAA,EAAI,MAAM,CAAA,CAAA,GAAK,MAAA;AAElD,MAAM,0BAA0B,CAAC;AAAA,EACtC,KAAA;AAAA,EACA,YAAA;AAAA,EACA;AACF,CAAA,KAIM;AACJ,EAAA,MAAM,EAAE,KAAA,EAAM,GAAI,aAAA,EAAc;AAChC,EAAA,MAAM,WAAA,GAAc,WAAW,kBAAkB,CAAA;AACjD,EAAA,MAAM,iBAAA,GAAoB,YAAA,GACtB,KAAA,CAAM,YAAY,GAAG,MAAA,KAAW,SAAA,IAAa,uBAAA,CAAwB,KAAA,EAAO,YAAY,CAAA,CAAE,MAAA,KAAW,MAAA,GACrG,WAAA,CAAY,QAAQ,MAAA,KAAW,SAAA;AACnC,EAAA,MAAM,SAAA,GAAY,QAAQ,MAAM,cAAA,CAAe,KAAK,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAC9D,EAAA,MAAM,SAAA,GAAY,OAAA;AAAA,IAChB,OAAO;AAAA,MACL,CAAC,uBAAuB,GAAG,CAAC,KAAA,qBAC1B,GAAA;AAAA,QAAC,iBAAA;AAAA,QAAA;AAAA,UACC,kBAAA,EAAoB,YAAA;AAAA,UACnB,GAAG,KAAA;AAAA,UACJ,SAAA;AAAA,UACA;AAAA;AAAA,OACF;AAAA,MAEF,CAAC,2BAA2B,GAAG,CAAC,0BAC9B,GAAA,CAAC,oBAAA,EAAA,EAAsB,GAAG,KAAA,EAAO;AAAA,KAErC,CAAA;AAAA,IACA,CAAC,SAAA,EAAW,YAAA,EAAc,cAAc;AAAA,GAC1C;AACA,EAAA,MAAM,SAAA,GAAY,OAAA;AAAA,IAChB,OAAO;AAAA,MACL,CAAC,uBAAuB,GAAG,CAAC,KAAA,yBACzB,gBAAA,EAAA,EAAiB,kBAAA,EAAoB,YAAA,EAAe,GAAG,KAAA,EAAO;AAAA,KAEnE,CAAA;AAAA,IACA,CAAC,YAAY;AAAA,GACf;AACA,EAAA,MAAM,WAAA,GAAc,OAAA;AAAA,IAClB,MACE,qBAAA,CAAsB,KAAK,CAAA,CAAE,IAAI,CAAA,IAAA,KAAQ;AACvC,MAAA,MAAM,cAAA,GAAiB,eAAA,CAAgB,IAAA,CAAK,IAAA,EAAM,gBAAgB,YAAY,CAAA;AAC9E,MAAA,MAAM,UAAA,GAAa,eAAA,CAAgB,IAAA,CAAK,IAAA,EAAM,YAAY,YAAY,CAAA;AACtE,MAAA,MAAM,qBAAA,GAAwB,KAAA,CAAM,cAAA,IAAkB,EAAE,GAAG,MAAA,KAAW,SAAA;AACtE,MAAA,MAAM,cAAA,GAAiB,KAAA,CAAM,UAAA,IAAc,EAAE,CAAA,EAAG,MAAA;AAChD,MAAA,IAAI,cAAA,GAAiB,yBAAyB,cAAA,KAAmB,SAAA;AACjE,MAAA,IAAI,IAAA,CAAK,IAAA,EAAM,eAAA,KAAoB,iBAAA,EAAmB;AACpD,QAAA,cAAA,GAAiB,iBAAA;AAAA,MACnB,WAAW,IAAA,CAAK,IAAA,EAAM,oBAAoB,gBAAA,IAAoB,IAAA,CAAK,MAAM,aAAA,EAAe;AACtF,QAAA,cAAA,GAAiB,OAAA,CAAQ,cAAc,CAAA,IAAK,cAAA,KAAmB,SAAA;AAAA,MACjE;AAEA,MAAA,OAAO;AAAA,QACL,GAAG,IAAA;AAAA,QACH,IAAA,EAAM,uBAAA;AAAA,QACN,QAAA,EAAU,cAAA,GAAiB,KAAA,GAAQ,IAAA,CAAK,QAAA;AAAA,QACxC,IAAA,EAAM;AAAA,UACJ,GAAG,IAAA,CAAK,IAAA;AAAA,UACR,UAAA,EAAY,iBAAiB,SAAA,GAAY;AAAA,SAC3C;AAAA,QACA,KAAA,EAAO;AAAA,UACL,GAAG,IAAA,CAAK,KAAA;AAAA,UACR,MAAA,EAAQ,iBAAiB,0BAAA,GAA6B,yBAAA;AAAA,UACtD,eAAA,EAAiB,cAAA,GAAiB,MAAA,GAAS,IAAA,CAAK,KAAA,EAAO;AAAA;AACzD,OACF;AAAA,IACF,CAAC,CAAA;AAAA,IACH,CAAC,KAAA,EAAO,KAAA,EAAO,YAAA,EAAc,iBAAiB;AAAA,GAChD;AAEA,EAAA,OAAO,EAAE,SAAA,EAAW,SAAA,EAAW,SAAA,EAAW,WAAA,EAAY;AACxD;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-compat.cjs.js","sources":["../../src/lib/workspace-compat.ts"],"sourcesContent":["import type { MastraClient } from '@mastra/client-js';\nimport { coreFeatures } from '@mastra/core/features';\n\n/**\n * Checks if a method exists on an object and is callable.\n */\nfunction hasMethod<T>(obj: T, method: string): boolean {\n return method in (obj as object) && typeof (obj as Record<string, unknown>)[method] === 'function';\n}\n\n/**\n * Checks if workspace v1 features are supported by both core and client.\n * This guards against version mismatches between playground-ui, core, and client-js.\n */\nexport const isWorkspaceV1Supported = (client: MastraClient) => {\n const workspaceClientMethods = ['listWorkspaces', 'getWorkspace'];\n\n const coreSupported = coreFeatures.has('workspaces-v1');\n const clientSupported = workspaceClientMethods.every(method => hasMethod(client, method));\n\n return coreSupported && clientSupported;\n};\n"],"names":["coreFeatures"],"mappings":";;;;;;AAMA,SAAS,SAAA,CAAa,KAAQ,MAAA,EAAyB;AACrD,EAAA,OAAO,MAAA,IAAW,GAAA,IAAkB,OAAQ,GAAA,CAAgC,MAAM,CAAA,KAAM,UAAA;AAC1F;AAMO,MAAM,sBAAA,GAAyB,CAAC,MAAA,KAAyB;AAC9D,EAAA,MAAM,sBAAA,GAAyB,CAAC,gBAAA,EAAkB,cAAc,CAAA;AAEhE,EAAA,MAAM,aAAA,GAAgBA,qBAAA,CAAa,GAAA,CAAI,eAAe,CAAA;AACtD,EAAA,MAAM,kBAAkB,sBAAA,CAAuB,KAAA,CAAM,YAAU,SAAA,CAAU,MAAA,EAAQ,MAAM,CAAC,CAAA;AAExF,EAAA,OAAO,aAAA,IAAiB,eAAA;AAC1B;;;;"}
1
+ {"version":3,"file":"workspace-compat.cjs.js","sources":["../../src/lib/workspace-compat.ts"],"sourcesContent":["import type { MastraClient } from '@mastra/client-js';\nimport { coreFeatures } from '@mastra/core/features';\n\n/**\n * Checks if a method exists on an object and is callable.\n */\nfunction hasMethod(obj: unknown, method: string): boolean {\n return method in (obj as object) && typeof (obj as Record<string, unknown>)[method] === 'function';\n}\n\n/**\n * Checks if workspace v1 features are supported by both core and client.\n * This guards against version mismatches between playground-ui, core, and client-js.\n */\nexport const isWorkspaceV1Supported = (client: MastraClient) => {\n const workspaceClientMethods = ['listWorkspaces', 'getWorkspace'];\n\n const coreSupported = coreFeatures.has('workspaces-v1');\n const clientSupported = workspaceClientMethods.every(method => hasMethod(client, method));\n\n return coreSupported && clientSupported;\n};\n"],"names":["coreFeatures"],"mappings":";;;;;;AAMA,SAAS,SAAA,CAAU,KAAc,MAAA,EAAyB;AACxD,EAAA,OAAO,MAAA,IAAW,GAAA,IAAkB,OAAQ,GAAA,CAAgC,MAAM,CAAA,KAAM,UAAA;AAC1F;AAMO,MAAM,sBAAA,GAAyB,CAAC,MAAA,KAAyB;AAC9D,EAAA,MAAM,sBAAA,GAAyB,CAAC,gBAAA,EAAkB,cAAc,CAAA;AAEhE,EAAA,MAAM,aAAA,GAAgBA,qBAAA,CAAa,GAAA,CAAI,eAAe,CAAA;AACtD,EAAA,MAAM,kBAAkB,sBAAA,CAAuB,KAAA,CAAM,YAAU,SAAA,CAAU,MAAA,EAAQ,MAAM,CAAC,CAAA;AAExF,EAAA,OAAO,aAAA,IAAiB,eAAA;AAC1B;;;;"}
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-compat.es.js","sources":["../../src/lib/workspace-compat.ts"],"sourcesContent":["import type { MastraClient } from '@mastra/client-js';\nimport { coreFeatures } from '@mastra/core/features';\n\n/**\n * Checks if a method exists on an object and is callable.\n */\nfunction hasMethod<T>(obj: T, method: string): boolean {\n return method in (obj as object) && typeof (obj as Record<string, unknown>)[method] === 'function';\n}\n\n/**\n * Checks if workspace v1 features are supported by both core and client.\n * This guards against version mismatches between playground-ui, core, and client-js.\n */\nexport const isWorkspaceV1Supported = (client: MastraClient) => {\n const workspaceClientMethods = ['listWorkspaces', 'getWorkspace'];\n\n const coreSupported = coreFeatures.has('workspaces-v1');\n const clientSupported = workspaceClientMethods.every(method => hasMethod(client, method));\n\n return coreSupported && clientSupported;\n};\n"],"names":[],"mappings":";;AAMA,SAAS,SAAA,CAAa,KAAQ,MAAA,EAAyB;AACrD,EAAA,OAAO,MAAA,IAAW,GAAA,IAAkB,OAAQ,GAAA,CAAgC,MAAM,CAAA,KAAM,UAAA;AAC1F;AAMO,MAAM,sBAAA,GAAyB,CAAC,MAAA,KAAyB;AAC9D,EAAA,MAAM,sBAAA,GAAyB,CAAC,gBAAA,EAAkB,cAAc,CAAA;AAEhE,EAAA,MAAM,aAAA,GAAgB,YAAA,CAAa,GAAA,CAAI,eAAe,CAAA;AACtD,EAAA,MAAM,kBAAkB,sBAAA,CAAuB,KAAA,CAAM,YAAU,SAAA,CAAU,MAAA,EAAQ,MAAM,CAAC,CAAA;AAExF,EAAA,OAAO,aAAA,IAAiB,eAAA;AAC1B;;;;"}
1
+ {"version":3,"file":"workspace-compat.es.js","sources":["../../src/lib/workspace-compat.ts"],"sourcesContent":["import type { MastraClient } from '@mastra/client-js';\nimport { coreFeatures } from '@mastra/core/features';\n\n/**\n * Checks if a method exists on an object and is callable.\n */\nfunction hasMethod(obj: unknown, method: string): boolean {\n return method in (obj as object) && typeof (obj as Record<string, unknown>)[method] === 'function';\n}\n\n/**\n * Checks if workspace v1 features are supported by both core and client.\n * This guards against version mismatches between playground-ui, core, and client-js.\n */\nexport const isWorkspaceV1Supported = (client: MastraClient) => {\n const workspaceClientMethods = ['listWorkspaces', 'getWorkspace'];\n\n const coreSupported = coreFeatures.has('workspaces-v1');\n const clientSupported = workspaceClientMethods.every(method => hasMethod(client, method));\n\n return coreSupported && clientSupported;\n};\n"],"names":[],"mappings":";;AAMA,SAAS,SAAA,CAAU,KAAc,MAAA,EAAyB;AACxD,EAAA,OAAO,MAAA,IAAW,GAAA,IAAkB,OAAQ,GAAA,CAAgC,MAAM,CAAA,KAAM,UAAA;AAC1F;AAMO,MAAM,sBAAA,GAAyB,CAAC,MAAA,KAAyB;AAC9D,EAAA,MAAM,sBAAA,GAAyB,CAAC,gBAAA,EAAkB,cAAc,CAAA;AAEhE,EAAA,MAAM,aAAA,GAAgB,YAAA,CAAa,GAAA,CAAI,eAAe,CAAA;AACtD,EAAA,MAAM,kBAAkB,sBAAA,CAAuB,KAAA,CAAM,YAAU,SAAA,CAAU,MAAA,EAAQ,MAAM,CAAC,CAAA;AAExF,EAAA,OAAO,aAAA,IAAiB,eAAA;AAC1B;;;;"}
@@ -5,8 +5,8 @@ const langJavascript = require('@codemirror/lang-javascript');
5
5
  const langJson = require('@codemirror/lang-json');
6
6
  const view = require('@codemirror/view');
7
7
  const CodeMirror = require('@uiw/react-codemirror');
8
- const codeEditor = require('./code-editor-DQuJ1XXd.cjs');
9
- const copyButton = require('./copy-button-Cd0keCti.cjs');
8
+ const codeEditor = require('./code-editor-Bd-Cldem.cjs');
9
+ const copyButton = require('./copy-button-BC02oZJo.cjs');
10
10
 
11
11
  const WorkflowCodeContent = ({
12
12
  data,
@@ -51,4 +51,4 @@ const WorkflowCodeContent = ({
51
51
  };
52
52
 
53
53
  exports.WorkflowCodeContent = WorkflowCodeContent;
54
- //# sourceMappingURL=workflow-code-dialog-content-CfVy6bGG.cjs.map
54
+ //# sourceMappingURL=workflow-code-dialog-content-B_BQCuFW.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-code-dialog-content-CfVy6bGG.cjs","sources":["../src/ds/components/Workflow/data/workflow-code-dialog-content.tsx"],"sourcesContent":["import { javascript } from '@codemirror/lang-javascript';\nimport { jsonLanguage } from '@codemirror/lang-json';\nimport { EditorView } from '@codemirror/view';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { useCodemirrorTheme } from '@/ds/components/CodeEditor';\nimport { CopyButton } from '@/ds/components/CopyButton';\n\nexport const WorkflowCodeContent = ({\n data,\n language = 'auto',\n}: {\n data: unknown;\n language?: 'json' | 'javascript' | 'auto';\n}) => {\n const theme = useCodemirrorTheme();\n\n const getExtensions = (content: string) => {\n if (language === 'javascript') {\n return [javascript(), EditorView.lineWrapping];\n }\n if (language === 'json') {\n return [jsonLanguage, EditorView.lineWrapping];\n }\n\n try {\n JSON.parse(content);\n return [jsonLanguage, EditorView.lineWrapping];\n } catch {\n if (\n content.includes('=>') ||\n content.includes('function') ||\n content.includes('const ') ||\n content.includes('return ')\n ) {\n return [javascript(), EditorView.lineWrapping];\n }\n return [EditorView.lineWrapping];\n }\n };\n\n if (typeof data !== 'string') {\n const content = JSON.stringify(data, null, 2);\n return (\n <div className=\"relative overflow-auto\" style={{ maxHeight: 500 }}>\n <div className=\"absolute top-2 right-2 z-10 rounded-full bg-muted\">\n <CopyButton content={content} />\n </div>\n <div className=\"rounded-lg bg-muted p-4\">\n <CodeMirror value={content} theme={theme} extensions={[jsonLanguage, EditorView.lineWrapping]} />\n </div>\n </div>\n );\n }\n\n const extensions = getExtensions(data);\n\n let displayContent = data;\n try {\n const json = JSON.parse(data);\n displayContent = JSON.stringify(json, null, 2);\n } catch {}\n\n return (\n <div className=\"relative overflow-auto\" style={{ maxHeight: 500 }}>\n <div className=\"absolute top-2 right-2 z-10 rounded-full bg-muted\">\n <CopyButton content={data} />\n </div>\n <div className=\"rounded-lg bg-muted p-4\">\n <CodeMirror value={displayContent} theme={theme} extensions={extensions} />\n </div>\n </div>\n );\n};\n"],"names":["useCodemirrorTheme","javascript","EditorView","jsonLanguage","jsxs","jsx","CopyButton"],"mappings":";;;;;;;;;;AAOO,MAAM,sBAAsB,CAAC;AAAA,EAClC,IAAA;AAAA,EACA,QAAA,GAAW;AACb,CAAA,KAGM;AACJ,EAAA,MAAM,QAAQA,6BAAA,EAAmB;AAEjC,EAAA,MAAM,aAAA,GAAgB,CAAC,OAAA,KAAoB;AACzC,IAAA,IAAI,aAAa,YAAA,EAAc;AAC7B,MAAA,OAAO,CAACC,yBAAA,EAAW,EAAGC,eAAA,CAAW,YAAY,CAAA;AAAA,IAC/C;AACA,IAAA,IAAI,aAAa,MAAA,EAAQ;AACvB,MAAA,OAAO,CAACC,qBAAA,EAAcD,eAAA,CAAW,YAAY,CAAA;AAAA,IAC/C;AAEA,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,MAAM,OAAO,CAAA;AAClB,MAAA,OAAO,CAACC,qBAAA,EAAcD,eAAA,CAAW,YAAY,CAAA;AAAA,IAC/C,CAAA,CAAA,MAAQ;AACN,MAAA,IACE,OAAA,CAAQ,QAAA,CAAS,IAAI,CAAA,IACrB,QAAQ,QAAA,CAAS,UAAU,CAAA,IAC3B,OAAA,CAAQ,SAAS,QAAQ,CAAA,IACzB,OAAA,CAAQ,QAAA,CAAS,SAAS,CAAA,EAC1B;AACA,QAAA,OAAO,CAACD,yBAAA,EAAW,EAAGC,eAAA,CAAW,YAAY,CAAA;AAAA,MAC/C;AACA,MAAA,OAAO,CAACA,gBAAW,YAAY,CAAA;AAAA,IACjC;AAAA,EACF,CAAA;AAEA,EAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC5B,IAAA,MAAM,OAAA,GAAU,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,MAAM,CAAC,CAAA;AAC5C,IAAA,uBACEE,eAAA,CAAC,SAAI,SAAA,EAAU,wBAAA,EAAyB,OAAO,EAAE,SAAA,EAAW,KAAI,EAC9D,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,QAAA,kBAAAA,cAAA,CAACC,qBAAA,EAAA,EAAW,SAAkB,CAAA,EAChC,CAAA;AAAA,sBACAD,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,yCAAC,UAAA,EAAA,EAAW,KAAA,EAAO,OAAA,EAAS,KAAA,EAAc,YAAY,CAACF,qBAAA,EAAcD,eAAA,CAAW,YAAY,GAAG,CAAA,EACjG;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,MAAM,UAAA,GAAa,cAAc,IAAI,CAAA;AAErC,EAAA,IAAI,cAAA,GAAiB,IAAA;AACrB,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,IAAI,CAAA;AAC5B,IAAA,cAAA,GAAiB,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,IAAA,EAAM,CAAC,CAAA;AAAA,EAC/C,CAAA,CAAA,MAAQ;AAAA,EAAC;AAET,EAAA,uBACEE,eAAA,CAAC,SAAI,SAAA,EAAU,wBAAA,EAAyB,OAAO,EAAE,SAAA,EAAW,KAAI,EAC9D,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,yCAACC,qBAAA,EAAA,EAAW,OAAA,EAAS,MAAM,CAAA,EAC7B,CAAA;AAAA,oBACAD,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,kBAAAA,cAAA,CAAC,cAAW,KAAA,EAAO,cAAA,EAAgB,KAAA,EAAc,UAAA,EAAwB,CAAA,EAC3E;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"workflow-code-dialog-content-B_BQCuFW.cjs","sources":["../src/ds/components/Workflow/data/workflow-code-dialog-content.tsx"],"sourcesContent":["import { javascript } from '@codemirror/lang-javascript';\nimport { jsonLanguage } from '@codemirror/lang-json';\nimport { EditorView } from '@codemirror/view';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { useCodemirrorTheme } from '@/ds/components/CodeEditor';\nimport { CopyButton } from '@/ds/components/CopyButton';\n\nexport const WorkflowCodeContent = ({\n data,\n language = 'auto',\n}: {\n data: unknown;\n language?: 'json' | 'javascript' | 'auto';\n}) => {\n const theme = useCodemirrorTheme();\n\n const getExtensions = (content: string) => {\n if (language === 'javascript') {\n return [javascript(), EditorView.lineWrapping];\n }\n if (language === 'json') {\n return [jsonLanguage, EditorView.lineWrapping];\n }\n\n try {\n JSON.parse(content);\n return [jsonLanguage, EditorView.lineWrapping];\n } catch {\n if (\n content.includes('=>') ||\n content.includes('function') ||\n content.includes('const ') ||\n content.includes('return ')\n ) {\n return [javascript(), EditorView.lineWrapping];\n }\n return [EditorView.lineWrapping];\n }\n };\n\n if (typeof data !== 'string') {\n const content = JSON.stringify(data, null, 2);\n return (\n <div className=\"relative overflow-auto\" style={{ maxHeight: 500 }}>\n <div className=\"absolute top-2 right-2 z-10 rounded-full bg-muted\">\n <CopyButton content={content} />\n </div>\n <div className=\"rounded-lg bg-muted p-4\">\n <CodeMirror value={content} theme={theme} extensions={[jsonLanguage, EditorView.lineWrapping]} />\n </div>\n </div>\n );\n }\n\n const extensions = getExtensions(data);\n\n let displayContent = data;\n try {\n const json = JSON.parse(data);\n displayContent = JSON.stringify(json, null, 2);\n } catch {}\n\n return (\n <div className=\"relative overflow-auto\" style={{ maxHeight: 500 }}>\n <div className=\"absolute top-2 right-2 z-10 rounded-full bg-muted\">\n <CopyButton content={data} />\n </div>\n <div className=\"rounded-lg bg-muted p-4\">\n <CodeMirror value={displayContent} theme={theme} extensions={extensions} />\n </div>\n </div>\n );\n};\n"],"names":["useCodemirrorTheme","javascript","EditorView","jsonLanguage","jsxs","jsx","CopyButton"],"mappings":";;;;;;;;;;AAOO,MAAM,sBAAsB,CAAC;AAAA,EAClC,IAAA;AAAA,EACA,QAAA,GAAW;AACb,CAAA,KAGM;AACJ,EAAA,MAAM,QAAQA,6BAAA,EAAmB;AAEjC,EAAA,MAAM,aAAA,GAAgB,CAAC,OAAA,KAAoB;AACzC,IAAA,IAAI,aAAa,YAAA,EAAc;AAC7B,MAAA,OAAO,CAACC,yBAAA,EAAW,EAAGC,eAAA,CAAW,YAAY,CAAA;AAAA,IAC/C;AACA,IAAA,IAAI,aAAa,MAAA,EAAQ;AACvB,MAAA,OAAO,CAACC,qBAAA,EAAcD,eAAA,CAAW,YAAY,CAAA;AAAA,IAC/C;AAEA,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,MAAM,OAAO,CAAA;AAClB,MAAA,OAAO,CAACC,qBAAA,EAAcD,eAAA,CAAW,YAAY,CAAA;AAAA,IAC/C,CAAA,CAAA,MAAQ;AACN,MAAA,IACE,OAAA,CAAQ,QAAA,CAAS,IAAI,CAAA,IACrB,QAAQ,QAAA,CAAS,UAAU,CAAA,IAC3B,OAAA,CAAQ,SAAS,QAAQ,CAAA,IACzB,OAAA,CAAQ,QAAA,CAAS,SAAS,CAAA,EAC1B;AACA,QAAA,OAAO,CAACD,yBAAA,EAAW,EAAGC,eAAA,CAAW,YAAY,CAAA;AAAA,MAC/C;AACA,MAAA,OAAO,CAACA,gBAAW,YAAY,CAAA;AAAA,IACjC;AAAA,EACF,CAAA;AAEA,EAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC5B,IAAA,MAAM,OAAA,GAAU,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,MAAM,CAAC,CAAA;AAC5C,IAAA,uBACEE,eAAA,CAAC,SAAI,SAAA,EAAU,wBAAA,EAAyB,OAAO,EAAE,SAAA,EAAW,KAAI,EAC9D,QAAA,EAAA;AAAA,sBAAAC,cAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,QAAA,kBAAAA,cAAA,CAACC,qBAAA,EAAA,EAAW,SAAkB,CAAA,EAChC,CAAA;AAAA,sBACAD,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,yCAAC,UAAA,EAAA,EAAW,KAAA,EAAO,OAAA,EAAS,KAAA,EAAc,YAAY,CAACF,qBAAA,EAAcD,eAAA,CAAW,YAAY,GAAG,CAAA,EACjG;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,MAAM,UAAA,GAAa,cAAc,IAAI,CAAA;AAErC,EAAA,IAAI,cAAA,GAAiB,IAAA;AACrB,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,IAAI,CAAA;AAC5B,IAAA,cAAA,GAAiB,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,IAAA,EAAM,CAAC,CAAA;AAAA,EAC/C,CAAA,CAAA,MAAQ;AAAA,EAAC;AAET,EAAA,uBACEE,eAAA,CAAC,SAAI,SAAA,EAAU,wBAAA,EAAyB,OAAO,EAAE,SAAA,EAAW,KAAI,EAC9D,QAAA,EAAA;AAAA,oBAAAC,cAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,yCAACC,qBAAA,EAAA,EAAW,OAAA,EAAS,MAAM,CAAA,EAC7B,CAAA;AAAA,oBACAD,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,kBAAAA,cAAA,CAAC,cAAW,KAAA,EAAO,cAAA,EAAgB,KAAA,EAAc,UAAA,EAAwB,CAAA,EAC3E;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -3,8 +3,8 @@ import { javascript } from '@codemirror/lang-javascript';
3
3
  import { jsonLanguage } from '@codemirror/lang-json';
4
4
  import { EditorView } from '@codemirror/view';
5
5
  import CodeMirror from '@uiw/react-codemirror';
6
- import { u as useCodemirrorTheme } from './code-editor-BDxYMkGm.js';
7
- import { C as CopyButton } from './copy-button-C_M3Tu_-.js';
6
+ import { u as useCodemirrorTheme } from './code-editor-8Fpinga4.js';
7
+ import { C as CopyButton } from './copy-button-B_i9lwFJ.js';
8
8
 
9
9
  const WorkflowCodeContent = ({
10
10
  data,
@@ -49,4 +49,4 @@ const WorkflowCodeContent = ({
49
49
  };
50
50
 
51
51
  export { WorkflowCodeContent as W };
52
- //# sourceMappingURL=workflow-code-dialog-content-DviJz1jB.js.map
52
+ //# sourceMappingURL=workflow-code-dialog-content-CFEaeYUX.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-code-dialog-content-DviJz1jB.js","sources":["../src/ds/components/Workflow/data/workflow-code-dialog-content.tsx"],"sourcesContent":["import { javascript } from '@codemirror/lang-javascript';\nimport { jsonLanguage } from '@codemirror/lang-json';\nimport { EditorView } from '@codemirror/view';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { useCodemirrorTheme } from '@/ds/components/CodeEditor';\nimport { CopyButton } from '@/ds/components/CopyButton';\n\nexport const WorkflowCodeContent = ({\n data,\n language = 'auto',\n}: {\n data: unknown;\n language?: 'json' | 'javascript' | 'auto';\n}) => {\n const theme = useCodemirrorTheme();\n\n const getExtensions = (content: string) => {\n if (language === 'javascript') {\n return [javascript(), EditorView.lineWrapping];\n }\n if (language === 'json') {\n return [jsonLanguage, EditorView.lineWrapping];\n }\n\n try {\n JSON.parse(content);\n return [jsonLanguage, EditorView.lineWrapping];\n } catch {\n if (\n content.includes('=>') ||\n content.includes('function') ||\n content.includes('const ') ||\n content.includes('return ')\n ) {\n return [javascript(), EditorView.lineWrapping];\n }\n return [EditorView.lineWrapping];\n }\n };\n\n if (typeof data !== 'string') {\n const content = JSON.stringify(data, null, 2);\n return (\n <div className=\"relative overflow-auto\" style={{ maxHeight: 500 }}>\n <div className=\"absolute top-2 right-2 z-10 rounded-full bg-muted\">\n <CopyButton content={content} />\n </div>\n <div className=\"rounded-lg bg-muted p-4\">\n <CodeMirror value={content} theme={theme} extensions={[jsonLanguage, EditorView.lineWrapping]} />\n </div>\n </div>\n );\n }\n\n const extensions = getExtensions(data);\n\n let displayContent = data;\n try {\n const json = JSON.parse(data);\n displayContent = JSON.stringify(json, null, 2);\n } catch {}\n\n return (\n <div className=\"relative overflow-auto\" style={{ maxHeight: 500 }}>\n <div className=\"absolute top-2 right-2 z-10 rounded-full bg-muted\">\n <CopyButton content={data} />\n </div>\n <div className=\"rounded-lg bg-muted p-4\">\n <CodeMirror value={displayContent} theme={theme} extensions={extensions} />\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAOO,MAAM,sBAAsB,CAAC;AAAA,EAClC,IAAA;AAAA,EACA,QAAA,GAAW;AACb,CAAA,KAGM;AACJ,EAAA,MAAM,QAAQ,kBAAA,EAAmB;AAEjC,EAAA,MAAM,aAAA,GAAgB,CAAC,OAAA,KAAoB;AACzC,IAAA,IAAI,aAAa,YAAA,EAAc;AAC7B,MAAA,OAAO,CAAC,UAAA,EAAW,EAAG,UAAA,CAAW,YAAY,CAAA;AAAA,IAC/C;AACA,IAAA,IAAI,aAAa,MAAA,EAAQ;AACvB,MAAA,OAAO,CAAC,YAAA,EAAc,UAAA,CAAW,YAAY,CAAA;AAAA,IAC/C;AAEA,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,MAAM,OAAO,CAAA;AAClB,MAAA,OAAO,CAAC,YAAA,EAAc,UAAA,CAAW,YAAY,CAAA;AAAA,IAC/C,CAAA,CAAA,MAAQ;AACN,MAAA,IACE,OAAA,CAAQ,QAAA,CAAS,IAAI,CAAA,IACrB,QAAQ,QAAA,CAAS,UAAU,CAAA,IAC3B,OAAA,CAAQ,SAAS,QAAQ,CAAA,IACzB,OAAA,CAAQ,QAAA,CAAS,SAAS,CAAA,EAC1B;AACA,QAAA,OAAO,CAAC,UAAA,EAAW,EAAG,UAAA,CAAW,YAAY,CAAA;AAAA,MAC/C;AACA,MAAA,OAAO,CAAC,WAAW,YAAY,CAAA;AAAA,IACjC;AAAA,EACF,CAAA;AAEA,EAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC5B,IAAA,MAAM,OAAA,GAAU,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,MAAM,CAAC,CAAA;AAC5C,IAAA,uBACE,IAAA,CAAC,SAAI,SAAA,EAAU,wBAAA,EAAyB,OAAO,EAAE,SAAA,EAAW,KAAI,EAC9D,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAkB,CAAA,EAChC,CAAA;AAAA,sBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,8BAAC,UAAA,EAAA,EAAW,KAAA,EAAO,OAAA,EAAS,KAAA,EAAc,YAAY,CAAC,YAAA,EAAc,UAAA,CAAW,YAAY,GAAG,CAAA,EACjG;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,MAAM,UAAA,GAAa,cAAc,IAAI,CAAA;AAErC,EAAA,IAAI,cAAA,GAAiB,IAAA;AACrB,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,IAAI,CAAA;AAC5B,IAAA,cAAA,GAAiB,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,IAAA,EAAM,CAAC,CAAA;AAAA,EAC/C,CAAA,CAAA,MAAQ;AAAA,EAAC;AAET,EAAA,uBACE,IAAA,CAAC,SAAI,SAAA,EAAU,wBAAA,EAAyB,OAAO,EAAE,SAAA,EAAW,KAAI,EAC9D,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,8BAAC,UAAA,EAAA,EAAW,OAAA,EAAS,MAAM,CAAA,EAC7B,CAAA;AAAA,oBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,kBAAA,GAAA,CAAC,cAAW,KAAA,EAAO,cAAA,EAAgB,KAAA,EAAc,UAAA,EAAwB,CAAA,EAC3E;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
1
+ {"version":3,"file":"workflow-code-dialog-content-CFEaeYUX.js","sources":["../src/ds/components/Workflow/data/workflow-code-dialog-content.tsx"],"sourcesContent":["import { javascript } from '@codemirror/lang-javascript';\nimport { jsonLanguage } from '@codemirror/lang-json';\nimport { EditorView } from '@codemirror/view';\nimport CodeMirror from '@uiw/react-codemirror';\nimport { useCodemirrorTheme } from '@/ds/components/CodeEditor';\nimport { CopyButton } from '@/ds/components/CopyButton';\n\nexport const WorkflowCodeContent = ({\n data,\n language = 'auto',\n}: {\n data: unknown;\n language?: 'json' | 'javascript' | 'auto';\n}) => {\n const theme = useCodemirrorTheme();\n\n const getExtensions = (content: string) => {\n if (language === 'javascript') {\n return [javascript(), EditorView.lineWrapping];\n }\n if (language === 'json') {\n return [jsonLanguage, EditorView.lineWrapping];\n }\n\n try {\n JSON.parse(content);\n return [jsonLanguage, EditorView.lineWrapping];\n } catch {\n if (\n content.includes('=>') ||\n content.includes('function') ||\n content.includes('const ') ||\n content.includes('return ')\n ) {\n return [javascript(), EditorView.lineWrapping];\n }\n return [EditorView.lineWrapping];\n }\n };\n\n if (typeof data !== 'string') {\n const content = JSON.stringify(data, null, 2);\n return (\n <div className=\"relative overflow-auto\" style={{ maxHeight: 500 }}>\n <div className=\"absolute top-2 right-2 z-10 rounded-full bg-muted\">\n <CopyButton content={content} />\n </div>\n <div className=\"rounded-lg bg-muted p-4\">\n <CodeMirror value={content} theme={theme} extensions={[jsonLanguage, EditorView.lineWrapping]} />\n </div>\n </div>\n );\n }\n\n const extensions = getExtensions(data);\n\n let displayContent = data;\n try {\n const json = JSON.parse(data);\n displayContent = JSON.stringify(json, null, 2);\n } catch {}\n\n return (\n <div className=\"relative overflow-auto\" style={{ maxHeight: 500 }}>\n <div className=\"absolute top-2 right-2 z-10 rounded-full bg-muted\">\n <CopyButton content={data} />\n </div>\n <div className=\"rounded-lg bg-muted p-4\">\n <CodeMirror value={displayContent} theme={theme} extensions={extensions} />\n </div>\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;;;AAOO,MAAM,sBAAsB,CAAC;AAAA,EAClC,IAAA;AAAA,EACA,QAAA,GAAW;AACb,CAAA,KAGM;AACJ,EAAA,MAAM,QAAQ,kBAAA,EAAmB;AAEjC,EAAA,MAAM,aAAA,GAAgB,CAAC,OAAA,KAAoB;AACzC,IAAA,IAAI,aAAa,YAAA,EAAc;AAC7B,MAAA,OAAO,CAAC,UAAA,EAAW,EAAG,UAAA,CAAW,YAAY,CAAA;AAAA,IAC/C;AACA,IAAA,IAAI,aAAa,MAAA,EAAQ;AACvB,MAAA,OAAO,CAAC,YAAA,EAAc,UAAA,CAAW,YAAY,CAAA;AAAA,IAC/C;AAEA,IAAA,IAAI;AACF,MAAA,IAAA,CAAK,MAAM,OAAO,CAAA;AAClB,MAAA,OAAO,CAAC,YAAA,EAAc,UAAA,CAAW,YAAY,CAAA;AAAA,IAC/C,CAAA,CAAA,MAAQ;AACN,MAAA,IACE,OAAA,CAAQ,QAAA,CAAS,IAAI,CAAA,IACrB,QAAQ,QAAA,CAAS,UAAU,CAAA,IAC3B,OAAA,CAAQ,SAAS,QAAQ,CAAA,IACzB,OAAA,CAAQ,QAAA,CAAS,SAAS,CAAA,EAC1B;AACA,QAAA,OAAO,CAAC,UAAA,EAAW,EAAG,UAAA,CAAW,YAAY,CAAA;AAAA,MAC/C;AACA,MAAA,OAAO,CAAC,WAAW,YAAY,CAAA;AAAA,IACjC;AAAA,EACF,CAAA;AAEA,EAAA,IAAI,OAAO,SAAS,QAAA,EAAU;AAC5B,IAAA,MAAM,OAAA,GAAU,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,MAAM,CAAC,CAAA;AAC5C,IAAA,uBACE,IAAA,CAAC,SAAI,SAAA,EAAU,wBAAA,EAAyB,OAAO,EAAE,SAAA,EAAW,KAAI,EAC9D,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,QAAA,kBAAA,GAAA,CAAC,UAAA,EAAA,EAAW,SAAkB,CAAA,EAChC,CAAA;AAAA,sBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,8BAAC,UAAA,EAAA,EAAW,KAAA,EAAO,OAAA,EAAS,KAAA,EAAc,YAAY,CAAC,YAAA,EAAc,UAAA,CAAW,YAAY,GAAG,CAAA,EACjG;AAAA,KAAA,EACF,CAAA;AAAA,EAEJ;AAEA,EAAA,MAAM,UAAA,GAAa,cAAc,IAAI,CAAA;AAErC,EAAA,IAAI,cAAA,GAAiB,IAAA;AACrB,EAAA,IAAI;AACF,IAAA,MAAM,IAAA,GAAO,IAAA,CAAK,KAAA,CAAM,IAAI,CAAA;AAC5B,IAAA,cAAA,GAAiB,IAAA,CAAK,SAAA,CAAU,IAAA,EAAM,IAAA,EAAM,CAAC,CAAA;AAAA,EAC/C,CAAA,CAAA,MAAQ;AAAA,EAAC;AAET,EAAA,uBACE,IAAA,CAAC,SAAI,SAAA,EAAU,wBAAA,EAAyB,OAAO,EAAE,SAAA,EAAW,KAAI,EAC9D,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,SAAI,SAAA,EAAU,mDAAA,EACb,8BAAC,UAAA,EAAA,EAAW,OAAA,EAAS,MAAM,CAAA,EAC7B,CAAA;AAAA,oBACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yBAAA,EACb,QAAA,kBAAA,GAAA,CAAC,cAAW,KAAA,EAAO,cAAA,EAAgB,KAAA,EAAc,UAAA,EAAwB,CAAA,EAC3E;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
@@ -15,12 +15,12 @@ const shimmer = require('./shimmer-Co-XPvF9.cjs');
15
15
  const primitives_raisedSurface = require('./primitives/raised-surface.cjs.js');
16
16
  const react = require('@xyflow/react');
17
17
  const workflowCanvasInset = require('./workflow-canvas-inset-CMasaX9u.cjs');
18
- const Button = require('./Button-DH1aTzbs.cjs');
18
+ const Button = require('./Button-C4I05uT4.cjs');
19
19
  const slider = require('./slider-C_QLUBBz.cjs');
20
20
  require('@xyflow/react/dist/style.css');
21
21
  const code = require('./code-DJReJPSX.cjs');
22
22
  const utils_formatting = require('./utils/formatting.cjs.js');
23
- const copyButton = require('./copy-button-Cd0keCti.cjs');
23
+ const copyButton = require('./copy-button-BC02oZJo.cjs');
24
24
 
25
25
  function getWorkflowCardBadge(props) {
26
26
  if (props.isForEach) return { label: "For each", tone: "orange", Icon: lucideReact.Repeat2, indicator: "foreach" };
@@ -907,4 +907,4 @@ exports.getConditionIconAndColor = getConditionIconAndColor;
907
907
  exports.getConditionIndicator = getConditionIndicator;
908
908
  exports.getNodeBadgeInfo = getNodeBadgeInfo;
909
909
  exports.getNodeIndicators = getNodeIndicators;
910
- //# sourceMappingURL=workflow-condition-card-BRwhMmNO.cjs.map
910
+ //# sourceMappingURL=workflow-condition-card-CMzoK307.cjs.map