@hotmeshio/long-tail 0.3.3 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (290) hide show
  1. package/build/services/controlplane/stream-messages-sql.js +11 -12
  2. package/dashboard/dist/assets/AdminDashboard-CR0FtTE6.js +2 -0
  3. package/dashboard/dist/assets/{AdminDashboard-BBWJAsjl.js.map → AdminDashboard-CR0FtTE6.js.map} +1 -1
  4. package/dashboard/dist/assets/AgentConfigPage-BVypgq9m.js +13 -0
  5. package/dashboard/dist/assets/{AgentConfigPage-Br2O6NDa.js.map → AgentConfigPage-BVypgq9m.js.map} +1 -1
  6. package/dashboard/dist/assets/AgentDetailPage-D64ath8c.js +4 -0
  7. package/dashboard/dist/assets/{AgentDetailPage-DjgOR62z.js.map → AgentDetailPage-D64ath8c.js.map} +1 -1
  8. package/dashboard/dist/assets/AgentsPage-j-zblMNR.js +2 -0
  9. package/dashboard/dist/assets/{AgentsPage-CASVGEvY.js.map → AgentsPage-j-zblMNR.js.map} +1 -1
  10. package/dashboard/dist/assets/AvailableEscalationsPage-DmUid1h0.js +2 -0
  11. package/dashboard/dist/assets/{AvailableEscalationsPage-Dl9ZmjKA.js.map → AvailableEscalationsPage-DmUid1h0.js.map} +1 -1
  12. package/dashboard/dist/assets/BotPicker-DCScT8BN.js +2 -0
  13. package/dashboard/dist/assets/{BotPicker-wEoqL3HR.js.map → BotPicker-DCScT8BN.js.map} +1 -1
  14. package/dashboard/dist/assets/CapabilitiesPage-g5iUvHRL.js +2 -0
  15. package/dashboard/dist/assets/{CapabilitiesPage-DYkx5aa4.js.map → CapabilitiesPage-g5iUvHRL.js.map} +1 -1
  16. package/dashboard/dist/assets/CollapsibleSection-Dj1YOsVG.js +2 -0
  17. package/dashboard/dist/assets/{CollapsibleSection-DN1aF5HO.js.map → CollapsibleSection-Dj1YOsVG.js.map} +1 -1
  18. package/dashboard/dist/assets/ConfirmDeleteModal-dOxidrSR.js +2 -0
  19. package/dashboard/dist/assets/{ConfirmDeleteModal-v8ufrnX5.js.map → ConfirmDeleteModal-dOxidrSR.js.map} +1 -1
  20. package/dashboard/dist/assets/CopyableId-DmLF-RqZ.js +2 -0
  21. package/dashboard/dist/assets/{CopyableId-D94R2n6C.js.map → CopyableId-DmLF-RqZ.js.map} +1 -1
  22. package/dashboard/dist/assets/CredentialsPage-Dvb4QelY.js +2 -0
  23. package/dashboard/dist/assets/{CredentialsPage-CSSjAEx6.js.map → CredentialsPage-Dvb4QelY.js.map} +1 -1
  24. package/dashboard/dist/assets/CronLabel-sk1BkcJd.js +2 -0
  25. package/dashboard/dist/assets/{CronLabel-fYpkTnEd.js.map → CronLabel-sk1BkcJd.js.map} +1 -1
  26. package/dashboard/dist/assets/CustomDurationPicker-C0MV2Q06.js +2 -0
  27. package/dashboard/dist/assets/{CustomDurationPicker-CSarfbO1.js.map → CustomDurationPicker-C0MV2Q06.js.map} +1 -1
  28. package/dashboard/dist/assets/DataTable-D9yuBv0w.js +2 -0
  29. package/dashboard/dist/assets/{DataTable-VKt4pvC-.js.map → DataTable-D9yuBv0w.js.map} +1 -1
  30. package/dashboard/dist/assets/DropZone-DN8uwUtf.js +2 -0
  31. package/dashboard/dist/assets/{DropZone-Bl4j-AID.js.map → DropZone-DN8uwUtf.js.map} +1 -1
  32. package/dashboard/dist/assets/ElapsedCell-CFXhhKKc.js +2 -0
  33. package/dashboard/dist/assets/{ElapsedCell-Y4UmrII0.js.map → ElapsedCell-CFXhhKKc.js.map} +1 -1
  34. package/dashboard/dist/assets/EmptyState-BcsfPq9T.js +2 -0
  35. package/dashboard/dist/assets/{EmptyState-Di6_NfbP.js.map → EmptyState-BcsfPq9T.js.map} +1 -1
  36. package/dashboard/dist/assets/EscalationsOverview-BEuUFGwC.js +2 -0
  37. package/dashboard/dist/assets/{EscalationsOverview-D0Ry84FE.js.map → EscalationsOverview-BEuUFGwC.js.map} +1 -1
  38. package/dashboard/dist/assets/EventTable-DcwVWOKb.js +2 -0
  39. package/dashboard/dist/assets/{EventTable-BzPleN3Y.js.map → EventTable-DcwVWOKb.js.map} +1 -1
  40. package/dashboard/dist/assets/EventTopicPill-CWCP1v1O.js +2 -0
  41. package/dashboard/dist/assets/{EventTopicPill-DCqcr7N7.js.map → EventTopicPill-CWCP1v1O.js.map} +1 -1
  42. package/dashboard/dist/assets/FilterBar-Ck4K4rzu.js +2 -0
  43. package/dashboard/dist/assets/{FilterBar-BoRQss2J.js.map → FilterBar-Ck4K4rzu.js.map} +1 -1
  44. package/dashboard/dist/assets/HomePage-BH-F5ws9.js +2 -0
  45. package/dashboard/dist/assets/{HomePage-CGH_dYSo.js.map → HomePage-BH-F5ws9.js.map} +1 -1
  46. package/dashboard/dist/assets/ListToolbar-CUxJlz__.js +2 -0
  47. package/dashboard/dist/assets/{ListToolbar-BMWttsi2.js.map → ListToolbar-CUxJlz__.js.map} +1 -1
  48. package/dashboard/dist/assets/McpOverview-O8XrOzy0.js +2 -0
  49. package/dashboard/dist/assets/{McpOverview-DpC-BbBV.js.map → McpOverview-O8XrOzy0.js.map} +1 -1
  50. package/dashboard/dist/assets/McpQueryDetailPage-DhiR0Xrx.js +5 -0
  51. package/dashboard/dist/assets/{McpQueryDetailPage-CZSzX-cI.js.map → McpQueryDetailPage-DhiR0Xrx.js.map} +1 -1
  52. package/dashboard/dist/assets/McpQueryPage-Czot0nfl.js +2 -0
  53. package/dashboard/dist/assets/{McpQueryPage-B4KsvBGo.js.map → McpQueryPage-Czot0nfl.js.map} +1 -1
  54. package/dashboard/dist/assets/McpRunDetailPage-B1kNnD_t.js +2 -0
  55. package/dashboard/dist/assets/{McpRunDetailPage-_owlNUzp.js.map → McpRunDetailPage-B1kNnD_t.js.map} +1 -1
  56. package/dashboard/dist/assets/McpRunsPage-QUY3pWp9.js +2 -0
  57. package/dashboard/dist/assets/{McpRunsPage-C3A1fU3h.js.map → McpRunsPage-QUY3pWp9.js.map} +1 -1
  58. package/dashboard/dist/assets/Modal-DEODGeqx.js +2 -0
  59. package/dashboard/dist/assets/{Modal-IsEbA4rW.js.map → Modal-DEODGeqx.js.map} +1 -1
  60. package/dashboard/dist/assets/OperatorDashboard-BG1Q9qZk.js +2 -0
  61. package/dashboard/dist/assets/{OperatorDashboard-B8MOtt_p.js.map → OperatorDashboard-BG1Q9qZk.js.map} +1 -1
  62. package/dashboard/dist/assets/PageHeader-DlzOOM4Y.js +2 -0
  63. package/dashboard/dist/assets/{PageHeader-C4DNgZKA.js.map → PageHeader-DlzOOM4Y.js.map} +1 -1
  64. package/dashboard/dist/assets/PageHeaderWithStats-C5cZ3IOO.js +2 -0
  65. package/dashboard/dist/assets/{PageHeaderWithStats-Fy6tGBaa.js.map → PageHeaderWithStats-C5cZ3IOO.js.map} +1 -1
  66. package/dashboard/dist/assets/PriorityBadge-DfQY9St9.js +2 -0
  67. package/dashboard/dist/assets/{PriorityBadge-kSpsF-Zm.js.map → PriorityBadge-DfQY9St9.js.map} +1 -1
  68. package/dashboard/dist/assets/ProcessDetailPage-DS1AwTso.js +2 -0
  69. package/dashboard/dist/assets/{ProcessDetailPage-CZjjs4jE.js.map → ProcessDetailPage-DS1AwTso.js.map} +1 -1
  70. package/dashboard/dist/assets/ProcessesListPage-CAmVcn1P.js +2 -0
  71. package/dashboard/dist/assets/{ProcessesListPage-Ds7y71o8.js.map → ProcessesListPage-CAmVcn1P.js.map} +1 -1
  72. package/dashboard/dist/assets/RolePill-BZaUpkHg.js +2 -0
  73. package/dashboard/dist/assets/{RolePill-DmdF9L9Q.js.map → RolePill-BZaUpkHg.js.map} +1 -1
  74. package/dashboard/dist/assets/RolesPage-CFdIXfmv.js +2 -0
  75. package/dashboard/dist/assets/{RolesPage-CCmK38yn.js.map → RolesPage-CFdIXfmv.js.map} +1 -1
  76. package/dashboard/dist/assets/RowActions-Dg-Fsm5O.js +2 -0
  77. package/dashboard/dist/assets/{RowActions-uGuPBEWb.js.map → RowActions-Dg-Fsm5O.js.map} +1 -1
  78. package/dashboard/dist/assets/RunAsSelector-BGww9lta.js +2 -0
  79. package/dashboard/dist/assets/{RunAsSelector-BsO-uSh9.js.map → RunAsSelector-BGww9lta.js.map} +1 -1
  80. package/dashboard/dist/assets/ServerName-DfS3pfon.js +2 -0
  81. package/dashboard/dist/assets/{ServerName-BHl8nLOV.js.map → ServerName-DfS3pfon.js.map} +1 -1
  82. package/dashboard/dist/assets/StatCard-DlgF0CJC.js +2 -0
  83. package/dashboard/dist/assets/{StatCard-DI4ZQ-Zi.js.map → StatCard-DlgF0CJC.js.map} +1 -1
  84. package/dashboard/dist/assets/StatusBadge-XQlNFwmH.js +2 -0
  85. package/dashboard/dist/assets/{StatusBadge-TV20Ulgl.js.map → StatusBadge-XQlNFwmH.js.map} +1 -1
  86. package/dashboard/dist/assets/StepIndicator-CuUIGxKk.js +2 -0
  87. package/dashboard/dist/assets/{StepIndicator-ziIED3Pz.js.map → StepIndicator-CuUIGxKk.js.map} +1 -1
  88. package/dashboard/dist/assets/StickyPagination-F9FZsRy9.js +2 -0
  89. package/dashboard/dist/assets/{StickyPagination-CXBDS1ka.js.map → StickyPagination-F9FZsRy9.js.map} +1 -1
  90. package/dashboard/dist/assets/SwimlaneTimeline-C2hGjy0V.js +2 -0
  91. package/dashboard/dist/assets/{SwimlaneTimeline-Dc_a4-D5.js.map → SwimlaneTimeline-C2hGjy0V.js.map} +1 -1
  92. package/dashboard/dist/assets/TagInput-D21mrQx6.js +2 -0
  93. package/dashboard/dist/assets/{TagInput-BYEjEPsa.js.map → TagInput-D21mrQx6.js.map} +1 -1
  94. package/dashboard/dist/assets/TaskDetailPage-B49WQj8W.js +2 -0
  95. package/dashboard/dist/assets/TaskDetailPage-B49WQj8W.js.map +1 -0
  96. package/dashboard/dist/assets/TaskQueuePill-D8UMH1rd.js +2 -0
  97. package/dashboard/dist/assets/{TaskQueuePill-yBqQ-piu.js.map → TaskQueuePill-D8UMH1rd.js.map} +1 -1
  98. package/dashboard/dist/assets/TasksListPage-CJB-EvKX.js +2 -0
  99. package/dashboard/dist/assets/{TasksListPage-Dl0quVgM.js.map → TasksListPage-CJB-EvKX.js.map} +1 -1
  100. package/dashboard/dist/assets/TimeAgo-CnjY3XDt.js +2 -0
  101. package/dashboard/dist/assets/{TimeAgo-BAs-HL55.js.map → TimeAgo-CnjY3XDt.js.map} +1 -1
  102. package/dashboard/dist/assets/TimestampCell-u1YA8eA3.js +2 -0
  103. package/dashboard/dist/assets/{TimestampCell-zFm6ze1U.js.map → TimestampCell-u1YA8eA3.js.map} +1 -1
  104. package/dashboard/dist/assets/ToolPill-Dmcwmqh2.js +2 -0
  105. package/dashboard/dist/assets/{ToolPill-DiM3hgAB.js.map → ToolPill-Dmcwmqh2.js.map} +1 -1
  106. package/dashboard/dist/assets/ToolTestPanel-B1T4Hk0t.js +2 -0
  107. package/dashboard/dist/assets/{ToolTestPanel-C3vWUW2p.js.map → ToolTestPanel-B1T4Hk0t.js.map} +1 -1
  108. package/dashboard/dist/assets/TopicDetailPage-ClibbST4.js +9 -0
  109. package/dashboard/dist/assets/{TopicDetailPage-wjwRE5eI.js.map → TopicDetailPage-ClibbST4.js.map} +1 -1
  110. package/dashboard/dist/assets/TopicsPage-KjODhitc.js +2 -0
  111. package/dashboard/dist/assets/{TopicsPage-D3AONwHP.js.map → TopicsPage-KjODhitc.js.map} +1 -1
  112. package/dashboard/dist/assets/UserName-DVqimwsO.js +2 -0
  113. package/dashboard/dist/assets/{UserName-0vrAWvND.js.map → UserName-DVqimwsO.js.map} +1 -1
  114. package/dashboard/dist/assets/WorkflowExecutionPage-DYNPy7Gk.js +2 -0
  115. package/dashboard/dist/assets/{WorkflowExecutionPage-CBbWToVN.js.map → WorkflowExecutionPage-DYNPy7Gk.js.map} +1 -1
  116. package/dashboard/dist/assets/WorkflowPill-h43nlUmM.js +2 -0
  117. package/dashboard/dist/assets/{WorkflowPill-C7jE0e1g.js.map → WorkflowPill-h43nlUmM.js.map} +1 -1
  118. package/dashboard/dist/assets/WorkflowsDashboard-DdJm6X7x.js +2 -0
  119. package/dashboard/dist/assets/{WorkflowsDashboard-1GVHYLlw.js.map → WorkflowsDashboard-DdJm6X7x.js.map} +1 -1
  120. package/dashboard/dist/assets/WorkflowsOverview-CBOYkfpD.js +2 -0
  121. package/dashboard/dist/assets/{WorkflowsOverview-2POOJzat.js.map → WorkflowsOverview-CBOYkfpD.js.map} +1 -1
  122. package/dashboard/dist/assets/YamlWorkflowsPage-BZnD_hMw.js +2 -0
  123. package/dashboard/dist/assets/{YamlWorkflowsPage-BcRKxz3P.js.map → YamlWorkflowsPage-BZnD_hMw.js.map} +1 -1
  124. package/dashboard/dist/assets/{agents-Bd6SNUID.js → agents-oHMkS1GD.js} +2 -2
  125. package/dashboard/dist/assets/{agents-Bd6SNUID.js.map → agents-oHMkS1GD.js.map} +1 -1
  126. package/dashboard/dist/assets/{bots-DEsg-T8t.js → bots-BispbsY3.js} +2 -2
  127. package/dashboard/dist/assets/{bots-DEsg-T8t.js.map → bots-BispbsY3.js.map} +1 -1
  128. package/dashboard/dist/assets/{controlplane-B3m1kIWb.js → controlplane-CIbrx5rX.js} +2 -2
  129. package/dashboard/dist/assets/{controlplane-B3m1kIWb.js.map → controlplane-CIbrx5rX.js.map} +1 -1
  130. package/dashboard/dist/assets/escalation-columns-Dh_0iVTH.js +2 -0
  131. package/dashboard/dist/assets/{escalation-columns-DEE62U3_.js.map → escalation-columns-Dh_0iVTH.js.map} +1 -1
  132. package/dashboard/dist/assets/escalation-qhj4TxA3.js +2 -0
  133. package/dashboard/dist/assets/{escalation-CJQPC0gm.js.map → escalation-qhj4TxA3.js.map} +1 -1
  134. package/dashboard/dist/assets/helpers-BYw1qqKV.js +2 -0
  135. package/dashboard/dist/assets/{helpers-BveI_035.js.map → helpers-BYw1qqKV.js.map} +1 -1
  136. package/dashboard/dist/assets/index-B9t_vpam.js +2 -0
  137. package/dashboard/dist/assets/{index-CZVprWC6.js.map → index-B9t_vpam.js.map} +1 -1
  138. package/dashboard/dist/assets/index-Bh9g-EOF.js +2 -0
  139. package/dashboard/dist/assets/{index-Csts1D-x.js.map → index-Bh9g-EOF.js.map} +1 -1
  140. package/dashboard/dist/assets/index-BhhWCADo.js +63 -0
  141. package/dashboard/dist/assets/index-BhhWCADo.js.map +1 -0
  142. package/dashboard/dist/assets/index-Bn-VSH41.js +2 -0
  143. package/dashboard/dist/assets/index-Bn-VSH41.js.map +1 -0
  144. package/dashboard/dist/assets/index-C2yJWps6.js +6 -0
  145. package/dashboard/dist/assets/{index-CEPo8tn_.js.map → index-C2yJWps6.js.map} +1 -1
  146. package/dashboard/dist/assets/index-C4W1_Rfk.js +5 -0
  147. package/dashboard/dist/assets/{index-ChNwlMdo.js.map → index-C4W1_Rfk.js.map} +1 -1
  148. package/dashboard/dist/assets/index-CEF3Idec.js +2 -0
  149. package/dashboard/dist/assets/{index-BVVdr9s0.js.map → index-CEF3Idec.js.map} +1 -1
  150. package/dashboard/dist/assets/index-CHxvfc97.css +1 -0
  151. package/dashboard/dist/assets/index-CVRVw3g_.js +2 -0
  152. package/dashboard/dist/assets/{index-D4v-EUTe.js.map → index-CVRVw3g_.js.map} +1 -1
  153. package/dashboard/dist/assets/index-CY3EhrEA.js +2 -0
  154. package/dashboard/dist/assets/{index-Cpq83bZq.js.map → index-CY3EhrEA.js.map} +1 -1
  155. package/dashboard/dist/assets/index-D-q2lzup.js +2 -0
  156. package/dashboard/dist/assets/{index-DI36hw6W.js.map → index-D-q2lzup.js.map} +1 -1
  157. package/dashboard/dist/assets/index-D6YjH5uG.js +15 -0
  158. package/dashboard/dist/assets/{index-CTKfvoGj.js.map → index-D6YjH5uG.js.map} +1 -1
  159. package/dashboard/dist/assets/index-ht5r_7jQ.js +2 -0
  160. package/dashboard/dist/assets/index-ht5r_7jQ.js.map +1 -0
  161. package/dashboard/dist/assets/index-zHicKKh9.js +2 -0
  162. package/dashboard/dist/assets/{index-BXIwxi_u.js.map → index-zHicKKh9.js.map} +1 -1
  163. package/dashboard/dist/assets/{knowledge-krdvn5bg.js → knowledge-B23TU6JN.js} +2 -2
  164. package/dashboard/dist/assets/{knowledge-krdvn5bg.js.map → knowledge-B23TU6JN.js.map} +1 -1
  165. package/dashboard/dist/assets/{mcp-BTZ2ex4x.js → mcp-Cew_Sb-Q.js} +2 -2
  166. package/dashboard/dist/assets/{mcp-BTZ2ex4x.js.map → mcp-Cew_Sb-Q.js.map} +1 -1
  167. package/dashboard/dist/assets/{mcp-query-BzqJu709.js → mcp-query-So0Oz5Lx.js} +2 -2
  168. package/dashboard/dist/assets/{mcp-query-BzqJu709.js.map → mcp-query-So0Oz5Lx.js.map} +1 -1
  169. package/dashboard/dist/assets/{mcp-runs-BBUaY28a.js → mcp-runs-4176y3SA.js} +2 -2
  170. package/dashboard/dist/assets/{mcp-runs-BBUaY28a.js.map → mcp-runs-4176y3SA.js.map} +1 -1
  171. package/dashboard/dist/assets/namespaces-CqBbWsJx.js +2 -0
  172. package/dashboard/dist/assets/{namespaces-DJVfgGst.js.map → namespaces-CqBbWsJx.js.map} +1 -1
  173. package/dashboard/dist/assets/{roles-DogkRzK2.js → roles-BTxMgLE6.js} +2 -2
  174. package/dashboard/dist/assets/{roles-DogkRzK2.js.map → roles-BTxMgLE6.js.map} +1 -1
  175. package/dashboard/dist/assets/settings-CtQNxacL.js +2 -0
  176. package/dashboard/dist/assets/{settings-D2sLRpie.js.map → settings-CtQNxacL.js.map} +1 -1
  177. package/dashboard/dist/assets/{tasks-CIuWkHLG.js → tasks-CIRlUTbo.js} +2 -2
  178. package/dashboard/dist/assets/{tasks-CIuWkHLG.js.map → tasks-CIRlUTbo.js.map} +1 -1
  179. package/dashboard/dist/assets/{topics-DxMDwZFs.js → topics-C8YmK_j2.js} +2 -2
  180. package/dashboard/dist/assets/{topics-DxMDwZFs.js.map → topics-C8YmK_j2.js.map} +1 -1
  181. package/dashboard/dist/assets/{useEventHooks-xXspN8_9.js → useEventHooks-BvMUy36X.js} +2 -2
  182. package/dashboard/dist/assets/{useEventHooks-xXspN8_9.js.map → useEventHooks-BvMUy36X.js.map} +1 -1
  183. package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js → useExpandedRows-CkcEntB-.js} +2 -2
  184. package/dashboard/dist/assets/{useExpandedRows-Cg9iq6Vy.js.map → useExpandedRows-CkcEntB-.js.map} +1 -1
  185. package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js → useFilterParams-DZCAaBC7.js} +2 -2
  186. package/dashboard/dist/assets/{useFilterParams-CGRYFw_A.js.map → useFilterParams-DZCAaBC7.js.map} +1 -1
  187. package/dashboard/dist/assets/{useYamlActivityEvents-2hdnnML7.js → useYamlActivityEvents-DLEzqv-z.js} +2 -2
  188. package/dashboard/dist/assets/{useYamlActivityEvents-2hdnnML7.js.map → useYamlActivityEvents-DLEzqv-z.js.map} +1 -1
  189. package/dashboard/dist/assets/{users-DWQ-ojf9.js → users-C_bD6mzW.js} +2 -2
  190. package/dashboard/dist/assets/{users-DWQ-ojf9.js.map → users-C_bD6mzW.js.map} +1 -1
  191. package/dashboard/dist/assets/{vendor-icons-YdqUbzg6.js → vendor-icons-DY1ctJgc.js} +3 -3
  192. package/dashboard/dist/assets/{vendor-icons-YdqUbzg6.js.map → vendor-icons-DY1ctJgc.js.map} +1 -1
  193. package/dashboard/dist/assets/vendor-query-B2UbickB.js +18 -0
  194. package/dashboard/dist/assets/vendor-query-B2UbickB.js.map +1 -0
  195. package/dashboard/dist/assets/vendor-react-CX88sFS5.js +22 -0
  196. package/dashboard/dist/assets/vendor-react-CX88sFS5.js.map +1 -0
  197. package/dashboard/dist/assets/{workflows-BvGU8_fj.js → workflows-DFR0-hI3.js} +2 -2
  198. package/dashboard/dist/assets/{workflows-BvGU8_fj.js.map → workflows-DFR0-hI3.js.map} +1 -1
  199. package/dashboard/dist/assets/{yaml-workflows-DNgb7krQ.js → yaml-workflows-wXURdyjP.js} +2 -2
  200. package/dashboard/dist/assets/{yaml-workflows-DNgb7krQ.js.map → yaml-workflows-wXURdyjP.js.map} +1 -1
  201. package/dashboard/dist/index.html +5 -5
  202. package/package.json +2 -2
  203. package/dashboard/dist/assets/AdminDashboard-BBWJAsjl.js +0 -2
  204. package/dashboard/dist/assets/AgentConfigPage-Br2O6NDa.js +0 -13
  205. package/dashboard/dist/assets/AgentDetailPage-DjgOR62z.js +0 -4
  206. package/dashboard/dist/assets/AgentsPage-CASVGEvY.js +0 -2
  207. package/dashboard/dist/assets/AvailableEscalationsPage-Dl9ZmjKA.js +0 -2
  208. package/dashboard/dist/assets/BotPicker-wEoqL3HR.js +0 -2
  209. package/dashboard/dist/assets/CapabilitiesPage-DYkx5aa4.js +0 -2
  210. package/dashboard/dist/assets/CollapsibleSection-DN1aF5HO.js +0 -2
  211. package/dashboard/dist/assets/ConfirmDeleteModal-v8ufrnX5.js +0 -2
  212. package/dashboard/dist/assets/CopyableId-D94R2n6C.js +0 -2
  213. package/dashboard/dist/assets/CredentialsPage-CSSjAEx6.js +0 -2
  214. package/dashboard/dist/assets/CronLabel-fYpkTnEd.js +0 -2
  215. package/dashboard/dist/assets/CustomDurationPicker-CSarfbO1.js +0 -2
  216. package/dashboard/dist/assets/DataTable-VKt4pvC-.js +0 -2
  217. package/dashboard/dist/assets/DropZone-Bl4j-AID.js +0 -2
  218. package/dashboard/dist/assets/ElapsedCell-Y4UmrII0.js +0 -2
  219. package/dashboard/dist/assets/EmptyState-Di6_NfbP.js +0 -2
  220. package/dashboard/dist/assets/EscalationsOverview-D0Ry84FE.js +0 -2
  221. package/dashboard/dist/assets/EventTable-BzPleN3Y.js +0 -2
  222. package/dashboard/dist/assets/EventTopicPill-DCqcr7N7.js +0 -2
  223. package/dashboard/dist/assets/FilterBar-BoRQss2J.js +0 -2
  224. package/dashboard/dist/assets/HomePage-CGH_dYSo.js +0 -2
  225. package/dashboard/dist/assets/ListToolbar-BMWttsi2.js +0 -2
  226. package/dashboard/dist/assets/McpOverview-DpC-BbBV.js +0 -2
  227. package/dashboard/dist/assets/McpQueryDetailPage-CZSzX-cI.js +0 -5
  228. package/dashboard/dist/assets/McpQueryPage-B4KsvBGo.js +0 -2
  229. package/dashboard/dist/assets/McpRunDetailPage-_owlNUzp.js +0 -2
  230. package/dashboard/dist/assets/McpRunsPage-C3A1fU3h.js +0 -2
  231. package/dashboard/dist/assets/Modal-IsEbA4rW.js +0 -2
  232. package/dashboard/dist/assets/OperatorDashboard-B8MOtt_p.js +0 -2
  233. package/dashboard/dist/assets/PageHeader-C4DNgZKA.js +0 -2
  234. package/dashboard/dist/assets/PageHeaderWithStats-Fy6tGBaa.js +0 -2
  235. package/dashboard/dist/assets/PriorityBadge-kSpsF-Zm.js +0 -2
  236. package/dashboard/dist/assets/ProcessDetailPage-CZjjs4jE.js +0 -2
  237. package/dashboard/dist/assets/ProcessesListPage-Ds7y71o8.js +0 -2
  238. package/dashboard/dist/assets/RolePill-DmdF9L9Q.js +0 -2
  239. package/dashboard/dist/assets/RolesPage-CCmK38yn.js +0 -2
  240. package/dashboard/dist/assets/RowActions-uGuPBEWb.js +0 -2
  241. package/dashboard/dist/assets/RunAsSelector-BsO-uSh9.js +0 -2
  242. package/dashboard/dist/assets/ServerName-BHl8nLOV.js +0 -2
  243. package/dashboard/dist/assets/StatCard-DI4ZQ-Zi.js +0 -2
  244. package/dashboard/dist/assets/StatusBadge-TV20Ulgl.js +0 -2
  245. package/dashboard/dist/assets/StepIndicator-ziIED3Pz.js +0 -2
  246. package/dashboard/dist/assets/StickyPagination-CXBDS1ka.js +0 -2
  247. package/dashboard/dist/assets/SwimlaneTimeline-Dc_a4-D5.js +0 -2
  248. package/dashboard/dist/assets/TagInput-BYEjEPsa.js +0 -2
  249. package/dashboard/dist/assets/TaskDetailPage-Cu0XLEA4.js +0 -2
  250. package/dashboard/dist/assets/TaskDetailPage-Cu0XLEA4.js.map +0 -1
  251. package/dashboard/dist/assets/TaskQueuePill-yBqQ-piu.js +0 -2
  252. package/dashboard/dist/assets/TasksListPage-Dl0quVgM.js +0 -2
  253. package/dashboard/dist/assets/TimeAgo-BAs-HL55.js +0 -2
  254. package/dashboard/dist/assets/TimestampCell-zFm6ze1U.js +0 -2
  255. package/dashboard/dist/assets/ToolPill-DiM3hgAB.js +0 -2
  256. package/dashboard/dist/assets/ToolTestPanel-C3vWUW2p.js +0 -2
  257. package/dashboard/dist/assets/TopicDetailPage-wjwRE5eI.js +0 -9
  258. package/dashboard/dist/assets/TopicsPage-D3AONwHP.js +0 -2
  259. package/dashboard/dist/assets/UserName-0vrAWvND.js +0 -2
  260. package/dashboard/dist/assets/WorkflowExecutionPage-CBbWToVN.js +0 -2
  261. package/dashboard/dist/assets/WorkflowPill-C7jE0e1g.js +0 -2
  262. package/dashboard/dist/assets/WorkflowsDashboard-1GVHYLlw.js +0 -2
  263. package/dashboard/dist/assets/WorkflowsOverview-2POOJzat.js +0 -2
  264. package/dashboard/dist/assets/YamlWorkflowsPage-BcRKxz3P.js +0 -2
  265. package/dashboard/dist/assets/escalation-CJQPC0gm.js +0 -2
  266. package/dashboard/dist/assets/escalation-columns-DEE62U3_.js +0 -2
  267. package/dashboard/dist/assets/helpers-BveI_035.js +0 -2
  268. package/dashboard/dist/assets/index-B7zv_NKJ.js +0 -2
  269. package/dashboard/dist/assets/index-B7zv_NKJ.js.map +0 -1
  270. package/dashboard/dist/assets/index-BVVdr9s0.js +0 -2
  271. package/dashboard/dist/assets/index-BXIwxi_u.js +0 -2
  272. package/dashboard/dist/assets/index-CEPo8tn_.js +0 -6
  273. package/dashboard/dist/assets/index-CTKfvoGj.js +0 -15
  274. package/dashboard/dist/assets/index-CZVprWC6.js +0 -2
  275. package/dashboard/dist/assets/index-ChNwlMdo.js +0 -5
  276. package/dashboard/dist/assets/index-Cpq83bZq.js +0 -2
  277. package/dashboard/dist/assets/index-Csts1D-x.js +0 -2
  278. package/dashboard/dist/assets/index-D4v-EUTe.js +0 -2
  279. package/dashboard/dist/assets/index-DI36hw6W.js +0 -2
  280. package/dashboard/dist/assets/index-MnRuwfHN.js +0 -281
  281. package/dashboard/dist/assets/index-MnRuwfHN.js.map +0 -1
  282. package/dashboard/dist/assets/index-dp_Q2Hha.css +0 -1
  283. package/dashboard/dist/assets/index-wQaJXZYX.js +0 -2
  284. package/dashboard/dist/assets/index-wQaJXZYX.js.map +0 -1
  285. package/dashboard/dist/assets/namespaces-DJVfgGst.js +0 -2
  286. package/dashboard/dist/assets/settings-D2sLRpie.js +0 -2
  287. package/dashboard/dist/assets/vendor-query-DLp59M9_.js +0 -35
  288. package/dashboard/dist/assets/vendor-query-DLp59M9_.js.map +0 -1
  289. package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js +0 -26
  290. package/dashboard/dist/assets/vendor-react-Co3Y8ikm.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{u as n,b as s,c as u}from"./vendor-query-DLp59M9_.js";import{b as r}from"./index-MnRuwfHN.js";function f(){return n({queryKey:["activeWorkers"],queryFn:async()=>(await r("/workflows/workers")).workers})}function w(){return n({queryKey:["discoveredWorkflows"],queryFn:async()=>(await r("/workflows/discovered")).workflows})}function l(){return n({queryKey:["workflowConfigs"],queryFn:async()=>(await r("/workflows/config")).workflows})}function d(){return n({queryKey:["cronStatus"],queryFn:async()=>(await r("/workflows/cron/status")).schedules})}function k(e){return n({queryKey:["workflowExecution",e],queryFn:()=>r(`/workflow-states/${e}/execution`),enabled:!!e})}function m(e){const o=new URLSearchParams;return e.limit&&o.set("limit",String(e.limit)),e.offset!==void 0&&o.set("offset",String(e.offset)),e.entity&&o.set("entity",e.entity),e.search&&o.set("search",e.search),e.status&&o.set("status",e.status),e.sort_by&&o.set("sort_by",e.sort_by),e.order&&o.set("order",e.order),e.registered&&o.set("registered",e.registered),e.namespace&&o.set("namespace",e.namespace),n({queryKey:["jobs",e],queryFn:()=>r(`/workflow-states/jobs?${o}`)})}function q(){const e=s();return u({mutationFn:o=>r(`/workflows/${o}/terminate`,{method:"POST"}),onSuccess:(o,t)=>{e.invalidateQueries({queryKey:["workflowExecution",t],refetchType:"all"}),e.invalidateQueries({queryKey:["jobs"],refetchType:"all"})}})}function h(){const e=s();return u({mutationFn:({workflow_type:o,...t})=>r(`/workflows/${encodeURIComponent(o)}/config`,{method:"PUT",body:JSON.stringify(t)}),onSuccess:()=>{e.invalidateQueries({queryKey:["workflowConfigs"],refetchType:"all"})}})}function p(){const e=s();return u({mutationFn:o=>r(`/workflows/${encodeURIComponent(o)}/config`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["workflowConfigs"],refetchType:"all"})}})}function g(){const e=s();return u({mutationFn:({config:o,cron_schedule:t,envelope_schema:i})=>r(`/workflows/${encodeURIComponent(o.workflow_type)}/config`,{method:"PUT",body:JSON.stringify({...o,cron_schedule:t,...i!==void 0?{envelope_schema:i}:{}})}),onSuccess:()=>{e.invalidateQueries({queryKey:["workflowConfigs"],refetchType:"all"}),e.invalidateQueries({queryKey:["cronStatus"],refetchType:"all"})}})}function C(){const e=s();return u({mutationFn:({workflowType:o,data:t,metadata:i,execute_as:a})=>r(`/workflows/${o}/invoke`,{method:"POST",body:JSON.stringify({data:t,metadata:i,...a?{execute_as:a}:{}})}),onSuccess:()=>{e.invalidateQueries({queryKey:["tasks"],refetchType:"all"}),e.invalidateQueries({queryKey:["jobs"],refetchType:"all"})}})}export{k as a,m as b,C as c,g as d,w as e,d as f,q as g,f as h,p as i,h as j,l as u};
2
- //# sourceMappingURL=workflows-BvGU8_fj.js.map
1
+ import{u as n,b as s,c as u}from"./vendor-query-B2UbickB.js";import{b as r}from"./index-BhhWCADo.js";function f(){return n({queryKey:["activeWorkers"],queryFn:async()=>(await r("/workflows/workers")).workers})}function w(){return n({queryKey:["discoveredWorkflows"],queryFn:async()=>(await r("/workflows/discovered")).workflows})}function l(){return n({queryKey:["workflowConfigs"],queryFn:async()=>(await r("/workflows/config")).workflows})}function d(){return n({queryKey:["cronStatus"],queryFn:async()=>(await r("/workflows/cron/status")).schedules})}function k(e){return n({queryKey:["workflowExecution",e],queryFn:()=>r(`/workflow-states/${e}/execution`),enabled:!!e})}function m(e){const o=new URLSearchParams;return e.limit&&o.set("limit",String(e.limit)),e.offset!==void 0&&o.set("offset",String(e.offset)),e.entity&&o.set("entity",e.entity),e.search&&o.set("search",e.search),e.status&&o.set("status",e.status),e.sort_by&&o.set("sort_by",e.sort_by),e.order&&o.set("order",e.order),e.registered&&o.set("registered",e.registered),e.namespace&&o.set("namespace",e.namespace),n({queryKey:["jobs",e],queryFn:()=>r(`/workflow-states/jobs?${o}`)})}function q(){const e=s();return u({mutationFn:o=>r(`/workflows/${o}/terminate`,{method:"POST"}),onSuccess:(o,t)=>{e.invalidateQueries({queryKey:["workflowExecution",t],refetchType:"all"}),e.invalidateQueries({queryKey:["jobs"],refetchType:"all"})}})}function h(){const e=s();return u({mutationFn:({workflow_type:o,...t})=>r(`/workflows/${encodeURIComponent(o)}/config`,{method:"PUT",body:JSON.stringify(t)}),onSuccess:()=>{e.invalidateQueries({queryKey:["workflowConfigs"],refetchType:"all"})}})}function p(){const e=s();return u({mutationFn:o=>r(`/workflows/${encodeURIComponent(o)}/config`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["workflowConfigs"],refetchType:"all"})}})}function g(){const e=s();return u({mutationFn:({config:o,cron_schedule:t,envelope_schema:i})=>r(`/workflows/${encodeURIComponent(o.workflow_type)}/config`,{method:"PUT",body:JSON.stringify({...o,cron_schedule:t,...i!==void 0?{envelope_schema:i}:{}})}),onSuccess:()=>{e.invalidateQueries({queryKey:["workflowConfigs"],refetchType:"all"}),e.invalidateQueries({queryKey:["cronStatus"],refetchType:"all"})}})}function C(){const e=s();return u({mutationFn:({workflowType:o,data:t,metadata:i,execute_as:a})=>r(`/workflows/${o}/invoke`,{method:"POST",body:JSON.stringify({data:t,metadata:i,...a?{execute_as:a}:{}})}),onSuccess:()=>{e.invalidateQueries({queryKey:["tasks"],refetchType:"all"}),e.invalidateQueries({queryKey:["jobs"],refetchType:"all"})}})}export{k as a,m as b,C as c,g as d,w as e,d as f,q as g,f as h,p as i,h as j,l as u};
2
+ //# sourceMappingURL=workflows-DFR0-hI3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"workflows-BvGU8_fj.js","sources":["../../src/api/workflows.ts"],"sourcesContent":["import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiFetch } from './client';\nimport type { ActiveWorker, CronScheduleEntry, DiscoveredWorkflow, LTJob, LTWorkflowConfig, WorkflowExecution } from './types';\n\nexport function useActiveWorkers() {\n return useQuery<ActiveWorker[]>({\n queryKey: ['activeWorkers'],\n queryFn: async () => {\n const res = await apiFetch<{ workers: ActiveWorker[] }>('/workflows/workers');\n return res.workers;\n },\n });\n}\n\nexport function useDiscoveredWorkflows() {\n return useQuery<DiscoveredWorkflow[]>({\n queryKey: ['discoveredWorkflows'],\n queryFn: async () => {\n const res = await apiFetch<{ workflows: DiscoveredWorkflow[] }>('/workflows/discovered');\n return res.workflows;\n },\n });\n}\n\nexport function useWorkflowConfigs() {\n return useQuery<LTWorkflowConfig[]>({\n queryKey: ['workflowConfigs'],\n queryFn: async () => {\n const res = await apiFetch<{ workflows: LTWorkflowConfig[] }>('/workflows/config');\n return res.workflows;\n },\n });\n}\n\nexport function useCronStatus() {\n return useQuery<CronScheduleEntry[]>({\n queryKey: ['cronStatus'],\n queryFn: async () => {\n const res = await apiFetch<{ schedules: CronScheduleEntry[] }>('/workflows/cron/status');\n return res.schedules;\n },\n });\n}\n\nexport function useWorkflowExecution(workflowId: string) {\n return useQuery<WorkflowExecution>({\n queryKey: ['workflowExecution', workflowId],\n queryFn: () =>\n apiFetch(`/workflow-states/${workflowId}/execution`),\n enabled: !!workflowId,\n });\n}\n\nexport function useWorkflowState(workflowId: string) {\n return useQuery<{ workflow_id: string; state: Record<string, unknown> }>({\n queryKey: ['workflowState', workflowId],\n queryFn: () => apiFetch(`/workflow-states/${workflowId}/state`),\n enabled: !!workflowId,\n });\n}\n\nexport function useJobs(filters: {\n limit?: number;\n offset?: number;\n entity?: string;\n search?: string;\n status?: string;\n sort_by?: string;\n order?: string;\n registered?: string;\n namespace?: string;\n}) {\n const params = new URLSearchParams();\n if (filters.limit) params.set('limit', String(filters.limit));\n if (filters.offset !== undefined) params.set('offset', String(filters.offset));\n if (filters.entity) params.set('entity', filters.entity);\n if (filters.search) params.set('search', filters.search);\n if (filters.status) params.set('status', filters.status);\n if (filters.sort_by) params.set('sort_by', filters.sort_by);\n if (filters.order) params.set('order', filters.order);\n if (filters.registered) params.set('registered', filters.registered);\n if (filters.namespace) params.set('namespace', filters.namespace);\n\n return useQuery<{ jobs: LTJob[]; total: number }>({\n queryKey: ['jobs', filters],\n queryFn: () => apiFetch(`/workflow-states/jobs?${params}`),\n });\n}\n\nexport function useTerminateWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (workflowId: string) =>\n apiFetch(`/workflows/${workflowId}/terminate`, { method: 'POST' }),\n onSuccess: (_data, workflowId) => {\n queryClient.invalidateQueries({ queryKey: ['workflowExecution', workflowId], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['jobs'], refetchType: 'all' });\n },\n });\n}\n\nexport function useUpsertWorkflowConfig() {\n const queryClient = useQueryClient();\n return useMutation<\n LTWorkflowConfig,\n Error,\n {\n workflow_type: string;\n description?: string | null;\n\n invocable?: boolean;\n task_queue?: string | null;\n default_role?: string;\n roles?: string[];\n invocation_roles?: string[];\n consumes?: string[];\n envelope_schema?: Record<string, unknown> | null;\n resolver_schema?: Record<string, unknown> | null;\n cron_schedule?: string | null;\n execute_as?: string | null;\n }\n >({\n mutationFn: ({ workflow_type, ...body }) =>\n apiFetch(`/workflows/${encodeURIComponent(workflow_type)}/config`, {\n method: 'PUT',\n body: JSON.stringify(body),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['workflowConfigs'], refetchType: 'all' });\n },\n });\n}\n\nexport function useDeleteWorkflowConfig() {\n const queryClient = useQueryClient();\n return useMutation<{ deleted: boolean; workflow_type: string }, Error, string>({\n mutationFn: (workflowType) =>\n apiFetch(`/workflows/${encodeURIComponent(workflowType)}/config`, {\n method: 'DELETE',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['workflowConfigs'], refetchType: 'all' });\n },\n });\n}\n\nexport function useSetCronSchedule() {\n const queryClient = useQueryClient();\n return useMutation<\n LTWorkflowConfig,\n Error,\n { config: LTWorkflowConfig; cron_schedule: string | null; envelope_schema?: Record<string, unknown> | null }\n >({\n mutationFn: ({ config, cron_schedule, envelope_schema }) =>\n apiFetch(`/workflows/${encodeURIComponent(config.workflow_type)}/config`, {\n method: 'PUT',\n body: JSON.stringify({\n ...config,\n cron_schedule,\n ...(envelope_schema !== undefined ? { envelope_schema } : {}),\n }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['workflowConfigs'], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['cronStatus'], refetchType: 'all' });\n },\n });\n}\n\nexport function useInvokeWorkflow() {\n const queryClient = useQueryClient();\n return useMutation<\n { workflowId: string; message: string },\n Error,\n { workflowType: string; data: Record<string, unknown>; metadata?: Record<string, unknown>; execute_as?: string }\n >({\n mutationFn: ({ workflowType, data, metadata, execute_as }) =>\n apiFetch(`/workflows/${workflowType}/invoke`, {\n method: 'POST',\n body: JSON.stringify({ data, metadata, ...(execute_as ? { execute_as } : {}) }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['tasks'], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['jobs'], refetchType: 'all' });\n },\n });\n}\n"],"names":["useActiveWorkers","useQuery","apiFetch","useDiscoveredWorkflows","useWorkflowConfigs","useCronStatus","useWorkflowExecution","workflowId","useJobs","filters","params","useTerminateWorkflow","queryClient","useQueryClient","useMutation","_data","useUpsertWorkflowConfig","workflow_type","body","useDeleteWorkflowConfig","workflowType","useSetCronSchedule","config","cron_schedule","envelope_schema","useInvokeWorkflow","data","metadata","execute_as"],"mappings":"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"}
1
+ {"version":3,"file":"workflows-DFR0-hI3.js","sources":["../../src/api/workflows.ts"],"sourcesContent":["import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiFetch } from './client';\nimport type { ActiveWorker, CronScheduleEntry, DiscoveredWorkflow, LTJob, LTWorkflowConfig, WorkflowExecution } from './types';\n\nexport function useActiveWorkers() {\n return useQuery<ActiveWorker[]>({\n queryKey: ['activeWorkers'],\n queryFn: async () => {\n const res = await apiFetch<{ workers: ActiveWorker[] }>('/workflows/workers');\n return res.workers;\n },\n });\n}\n\nexport function useDiscoveredWorkflows() {\n return useQuery<DiscoveredWorkflow[]>({\n queryKey: ['discoveredWorkflows'],\n queryFn: async () => {\n const res = await apiFetch<{ workflows: DiscoveredWorkflow[] }>('/workflows/discovered');\n return res.workflows;\n },\n });\n}\n\nexport function useWorkflowConfigs() {\n return useQuery<LTWorkflowConfig[]>({\n queryKey: ['workflowConfigs'],\n queryFn: async () => {\n const res = await apiFetch<{ workflows: LTWorkflowConfig[] }>('/workflows/config');\n return res.workflows;\n },\n });\n}\n\nexport function useCronStatus() {\n return useQuery<CronScheduleEntry[]>({\n queryKey: ['cronStatus'],\n queryFn: async () => {\n const res = await apiFetch<{ schedules: CronScheduleEntry[] }>('/workflows/cron/status');\n return res.schedules;\n },\n });\n}\n\nexport function useWorkflowExecution(workflowId: string) {\n return useQuery<WorkflowExecution>({\n queryKey: ['workflowExecution', workflowId],\n queryFn: () =>\n apiFetch(`/workflow-states/${workflowId}/execution`),\n enabled: !!workflowId,\n });\n}\n\nexport function useWorkflowState(workflowId: string) {\n return useQuery<{ workflow_id: string; state: Record<string, unknown> }>({\n queryKey: ['workflowState', workflowId],\n queryFn: () => apiFetch(`/workflow-states/${workflowId}/state`),\n enabled: !!workflowId,\n });\n}\n\nexport function useJobs(filters: {\n limit?: number;\n offset?: number;\n entity?: string;\n search?: string;\n status?: string;\n sort_by?: string;\n order?: string;\n registered?: string;\n namespace?: string;\n}) {\n const params = new URLSearchParams();\n if (filters.limit) params.set('limit', String(filters.limit));\n if (filters.offset !== undefined) params.set('offset', String(filters.offset));\n if (filters.entity) params.set('entity', filters.entity);\n if (filters.search) params.set('search', filters.search);\n if (filters.status) params.set('status', filters.status);\n if (filters.sort_by) params.set('sort_by', filters.sort_by);\n if (filters.order) params.set('order', filters.order);\n if (filters.registered) params.set('registered', filters.registered);\n if (filters.namespace) params.set('namespace', filters.namespace);\n\n return useQuery<{ jobs: LTJob[]; total: number }>({\n queryKey: ['jobs', filters],\n queryFn: () => apiFetch(`/workflow-states/jobs?${params}`),\n });\n}\n\nexport function useTerminateWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (workflowId: string) =>\n apiFetch(`/workflows/${workflowId}/terminate`, { method: 'POST' }),\n onSuccess: (_data, workflowId) => {\n queryClient.invalidateQueries({ queryKey: ['workflowExecution', workflowId], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['jobs'], refetchType: 'all' });\n },\n });\n}\n\nexport function useUpsertWorkflowConfig() {\n const queryClient = useQueryClient();\n return useMutation<\n LTWorkflowConfig,\n Error,\n {\n workflow_type: string;\n description?: string | null;\n\n invocable?: boolean;\n task_queue?: string | null;\n default_role?: string;\n roles?: string[];\n invocation_roles?: string[];\n consumes?: string[];\n envelope_schema?: Record<string, unknown> | null;\n resolver_schema?: Record<string, unknown> | null;\n cron_schedule?: string | null;\n execute_as?: string | null;\n }\n >({\n mutationFn: ({ workflow_type, ...body }) =>\n apiFetch(`/workflows/${encodeURIComponent(workflow_type)}/config`, {\n method: 'PUT',\n body: JSON.stringify(body),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['workflowConfigs'], refetchType: 'all' });\n },\n });\n}\n\nexport function useDeleteWorkflowConfig() {\n const queryClient = useQueryClient();\n return useMutation<{ deleted: boolean; workflow_type: string }, Error, string>({\n mutationFn: (workflowType) =>\n apiFetch(`/workflows/${encodeURIComponent(workflowType)}/config`, {\n method: 'DELETE',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['workflowConfigs'], refetchType: 'all' });\n },\n });\n}\n\nexport function useSetCronSchedule() {\n const queryClient = useQueryClient();\n return useMutation<\n LTWorkflowConfig,\n Error,\n { config: LTWorkflowConfig; cron_schedule: string | null; envelope_schema?: Record<string, unknown> | null }\n >({\n mutationFn: ({ config, cron_schedule, envelope_schema }) =>\n apiFetch(`/workflows/${encodeURIComponent(config.workflow_type)}/config`, {\n method: 'PUT',\n body: JSON.stringify({\n ...config,\n cron_schedule,\n ...(envelope_schema !== undefined ? { envelope_schema } : {}),\n }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['workflowConfigs'], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['cronStatus'], refetchType: 'all' });\n },\n });\n}\n\nexport function useInvokeWorkflow() {\n const queryClient = useQueryClient();\n return useMutation<\n { workflowId: string; message: string },\n Error,\n { workflowType: string; data: Record<string, unknown>; metadata?: Record<string, unknown>; execute_as?: string }\n >({\n mutationFn: ({ workflowType, data, metadata, execute_as }) =>\n apiFetch(`/workflows/${workflowType}/invoke`, {\n method: 'POST',\n body: JSON.stringify({ data, metadata, ...(execute_as ? { execute_as } : {}) }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['tasks'], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['jobs'], refetchType: 'all' });\n },\n });\n}\n"],"names":["useActiveWorkers","useQuery","apiFetch","useDiscoveredWorkflows","useWorkflowConfigs","useCronStatus","useWorkflowExecution","workflowId","useJobs","filters","params","useTerminateWorkflow","queryClient","useQueryClient","useMutation","_data","useUpsertWorkflowConfig","workflow_type","body","useDeleteWorkflowConfig","workflowType","useSetCronSchedule","config","cron_schedule","envelope_schema","useInvokeWorkflow","data","metadata","execute_as"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{u as l,b as a,c as n}from"./vendor-query-DLp59M9_.js";import{b as r}from"./index-MnRuwfHN.js";function f(e={}){const o=new URLSearchParams;return e.status&&o.set("status",e.status),e.graph_topic&&o.set("graph_topic",e.graph_topic),e.app_id&&o.set("app_id",e.app_id),e.search&&o.set("search",e.search),e.set_id&&o.set("set_id",e.set_id),e.limit&&o.set("limit",String(e.limit)),e.offset!==void 0&&o.set("offset",String(e.offset)),l({queryKey:["yamlWorkflows",e],queryFn:()=>r(`/yaml-workflows?${o}`)})}function m(){return l({queryKey:["yamlWorkflowAppIds"],queryFn:()=>r("/yaml-workflows/app-ids")})}function c(e){return l({queryKey:["yamlWorkflows",e],queryFn:()=>r(`/yaml-workflows/${e}`),enabled:!!e})}function w(){const e=a();return n({mutationFn:o=>r("/yaml-workflows",{method:"POST",body:JSON.stringify(o)}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function k(){const e=a();return n({mutationFn:o=>r(`/yaml-workflows/${o}/deploy`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function d(){const e=a();return n({mutationFn:o=>r(`/yaml-workflows/${o}/activate`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function p(){const e=a();return n({mutationFn:({id:o,data:t,sync:s,execute_as:u})=>r(`/yaml-workflows/${o}/invoke`,{method:"POST",body:JSON.stringify({data:t,sync:s,...u?{execute_as:u}:{}})}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function h(){const e=a();return n({mutationFn:({id:o,task_queue:t,compilation_feedback:s})=>r(`/yaml-workflows/${o}/regenerate`,{method:"POST",body:JSON.stringify({task_queue:t,compilation_feedback:s})}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function q(){const e=a();return n({mutationFn:o=>r(`/yaml-workflows/${o}/archive`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function W(){const e=a();return n({mutationFn:o=>r(`/yaml-workflows/${o}/restore`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"}),e.invalidateQueries({queryKey:["yamlWorkflow"],refetchType:"all"})}})}function S(){const e=a();return n({mutationFn:({id:o,...t})=>r(`/yaml-workflows/${o}`,{method:"PUT",body:JSON.stringify(t)}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function T(){const e=a();return n({mutationFn:o=>r(`/yaml-workflows/${o}`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function v(){const e=a();return n({mutationFn:({id:o,cron_schedule:t,cron_envelope:s,execute_as:u})=>r(`/yaml-workflows/${o}/cron`,{method:"PUT",body:JSON.stringify({cron_schedule:t,cron_envelope:s,execute_as:u})}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function F(){const e=a();return n({mutationFn:o=>r(`/yaml-workflows/${o}/cron`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function K(e){return l({queryKey:["yamlWorkflows",e,"versions"],queryFn:()=>r(`/yaml-workflows/${e}/versions`),enabled:!!e})}function C(e,o){return l({queryKey:["yamlWorkflows",e,"versions",o],queryFn:()=>r(`/yaml-workflows/${e}/versions/${o}`),enabled:!!e&&o!==null})}export{m as a,S as b,c,K as d,k as e,d as f,q as g,W as h,T as i,h as j,C as k,p as l,w as m,v as n,F as o,f as u};
2
- //# sourceMappingURL=yaml-workflows-DNgb7krQ.js.map
1
+ import{u as l,b as a,c as n}from"./vendor-query-B2UbickB.js";import{b as r}from"./index-BhhWCADo.js";function f(e={}){const o=new URLSearchParams;return e.status&&o.set("status",e.status),e.graph_topic&&o.set("graph_topic",e.graph_topic),e.app_id&&o.set("app_id",e.app_id),e.search&&o.set("search",e.search),e.set_id&&o.set("set_id",e.set_id),e.limit&&o.set("limit",String(e.limit)),e.offset!==void 0&&o.set("offset",String(e.offset)),l({queryKey:["yamlWorkflows",e],queryFn:()=>r(`/yaml-workflows?${o}`)})}function m(){return l({queryKey:["yamlWorkflowAppIds"],queryFn:()=>r("/yaml-workflows/app-ids")})}function c(e){return l({queryKey:["yamlWorkflows",e],queryFn:()=>r(`/yaml-workflows/${e}`),enabled:!!e})}function w(){const e=a();return n({mutationFn:o=>r("/yaml-workflows",{method:"POST",body:JSON.stringify(o)}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function k(){const e=a();return n({mutationFn:o=>r(`/yaml-workflows/${o}/deploy`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function d(){const e=a();return n({mutationFn:o=>r(`/yaml-workflows/${o}/activate`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function p(){const e=a();return n({mutationFn:({id:o,data:t,sync:s,execute_as:u})=>r(`/yaml-workflows/${o}/invoke`,{method:"POST",body:JSON.stringify({data:t,sync:s,...u?{execute_as:u}:{}})}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function h(){const e=a();return n({mutationFn:({id:o,task_queue:t,compilation_feedback:s})=>r(`/yaml-workflows/${o}/regenerate`,{method:"POST",body:JSON.stringify({task_queue:t,compilation_feedback:s})}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function q(){const e=a();return n({mutationFn:o=>r(`/yaml-workflows/${o}/archive`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function W(){const e=a();return n({mutationFn:o=>r(`/yaml-workflows/${o}/restore`,{method:"POST"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"}),e.invalidateQueries({queryKey:["yamlWorkflow"],refetchType:"all"})}})}function S(){const e=a();return n({mutationFn:({id:o,...t})=>r(`/yaml-workflows/${o}`,{method:"PUT",body:JSON.stringify(t)}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function T(){const e=a();return n({mutationFn:o=>r(`/yaml-workflows/${o}`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function v(){const e=a();return n({mutationFn:({id:o,cron_schedule:t,cron_envelope:s,execute_as:u})=>r(`/yaml-workflows/${o}/cron`,{method:"PUT",body:JSON.stringify({cron_schedule:t,cron_envelope:s,execute_as:u})}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function F(){const e=a();return n({mutationFn:o=>r(`/yaml-workflows/${o}/cron`,{method:"DELETE"}),onSuccess:()=>{e.invalidateQueries({queryKey:["yamlWorkflows"],refetchType:"all"})}})}function K(e){return l({queryKey:["yamlWorkflows",e,"versions"],queryFn:()=>r(`/yaml-workflows/${e}/versions`),enabled:!!e})}function C(e,o){return l({queryKey:["yamlWorkflows",e,"versions",o],queryFn:()=>r(`/yaml-workflows/${e}/versions/${o}`),enabled:!!e&&o!==null})}export{m as a,S as b,c,K as d,k as e,d as f,q as g,W as h,T as i,h as j,C as k,p as l,w as m,v as n,F as o,f as u};
2
+ //# sourceMappingURL=yaml-workflows-wXURdyjP.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"yaml-workflows-DNgb7krQ.js","sources":["../../src/api/yaml-workflows.ts"],"sourcesContent":["import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiFetch } from './client';\nimport type { LTYamlWorkflowRecord, LTYamlWorkflowStatus, LTYamlWorkflowVersion } from './types';\n\ninterface YamlWorkflowListResponse {\n workflows: LTYamlWorkflowRecord[];\n total: number;\n}\n\ninterface YamlWorkflowFilters {\n status?: LTYamlWorkflowStatus;\n graph_topic?: string;\n app_id?: string;\n search?: string;\n set_id?: string;\n limit?: number;\n offset?: number;\n}\n\nexport function useYamlWorkflows(filters: YamlWorkflowFilters = {}) {\n const params = new URLSearchParams();\n if (filters.status) params.set('status', filters.status);\n if (filters.graph_topic) params.set('graph_topic', filters.graph_topic);\n if (filters.app_id) params.set('app_id', filters.app_id);\n if (filters.search) params.set('search', filters.search);\n if (filters.set_id) params.set('set_id', filters.set_id);\n if (filters.limit) params.set('limit', String(filters.limit));\n if (filters.offset !== undefined) params.set('offset', String(filters.offset));\n\n return useQuery<YamlWorkflowListResponse>({\n queryKey: ['yamlWorkflows', filters],\n queryFn: () => apiFetch(`/yaml-workflows?${params}`),\n });\n}\n\nexport function useYamlWorkflowAppIds() {\n return useQuery<{ app_ids: string[] }>({\n queryKey: ['yamlWorkflowAppIds'],\n queryFn: () => apiFetch('/yaml-workflows/app-ids'),\n });\n}\n\nexport function useYamlWorkflowByTopic(graphTopic: string | undefined, appId?: string) {\n return useQuery<YamlWorkflowListResponse>({\n queryKey: ['yamlWorkflows', 'byTopic', graphTopic, appId],\n queryFn: () => {\n const params = new URLSearchParams({ graph_topic: graphTopic!, limit: '1' });\n if (appId) params.set('app_id', appId);\n return apiFetch(`/yaml-workflows?${params}`);\n },\n enabled: !!graphTopic,\n });\n}\n\nexport function useYamlWorkflow(id: string) {\n return useQuery<LTYamlWorkflowRecord>({\n queryKey: ['yamlWorkflows', id],\n queryFn: () => apiFetch(`/yaml-workflows/${id}`),\n enabled: !!id,\n });\n}\n\nexport function useCreateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (input: {\n workflow_id: string;\n task_queue: string;\n workflow_name: string;\n name: string;\n description?: string;\n app_id?: string;\n subscribes?: string;\n tags?: string[];\n compilation_feedback?: string;\n }) =>\n apiFetch<LTYamlWorkflowRecord>('/yaml-workflows', {\n method: 'POST',\n body: JSON.stringify(input),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useDeployYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/deploy`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useActivateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/activate`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useInvokeYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, data, sync, execute_as }: { id: string; data: Record<string, unknown>; sync?: boolean; execute_as?: string }) =>\n apiFetch<{ result?: unknown; job_id?: string }>(`/yaml-workflows/${id}/invoke`, {\n method: 'POST',\n body: JSON.stringify({ data, sync, ...(execute_as ? { execute_as } : {}) }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useRegenerateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, task_queue, compilation_feedback }: { id: string; task_queue?: string; compilation_feedback?: string }) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/regenerate`, {\n method: 'POST',\n body: JSON.stringify({ task_queue, compilation_feedback }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useArchiveYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/archive`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useRestoreYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/restore`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflow'], refetchType: 'all' });\n },\n });\n}\n\nexport function useUpdateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, ...updates }: { id: string; yaml_content?: string; name?: string; description?: string; input_schema?: Record<string, unknown>; output_schema?: Record<string, unknown>; tags?: string[]; app_id?: string; graph_topic?: string }) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}`, {\n method: 'PUT',\n body: JSON.stringify(updates),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useDeleteYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<{ deleted: boolean }>(`/yaml-workflows/${id}`, {\n method: 'DELETE',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\n// ── Cron scheduling ─────────────────────────────────────────────\n\nexport function useSetYamlCron() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, cron_schedule, cron_envelope, execute_as }: {\n id: string;\n cron_schedule: string;\n cron_envelope?: Record<string, unknown> | null;\n execute_as?: string | null;\n }) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/cron`, {\n method: 'PUT',\n body: JSON.stringify({ cron_schedule, cron_envelope, execute_as }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useClearYamlCron() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/cron`, {\n method: 'DELETE',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\n// ── Version history ─────────────────────────────────────────────\n\nexport function useYamlWorkflowVersions(id: string) {\n return useQuery<{ versions: LTYamlWorkflowVersion[]; total: number }>({\n queryKey: ['yamlWorkflows', id, 'versions'],\n queryFn: () => apiFetch(`/yaml-workflows/${id}/versions`),\n enabled: !!id,\n });\n}\n\nexport function useYamlWorkflowVersion(id: string, version: number | null) {\n return useQuery<LTYamlWorkflowVersion>({\n queryKey: ['yamlWorkflows', id, 'versions', version],\n queryFn: () => apiFetch(`/yaml-workflows/${id}/versions/${version}`),\n enabled: !!id && version !== null,\n });\n}\n"],"names":["useYamlWorkflows","filters","params","useQuery","apiFetch","useYamlWorkflowAppIds","useYamlWorkflow","id","useCreateYamlWorkflow","queryClient","useQueryClient","useMutation","input","useDeployYamlWorkflow","useActivateYamlWorkflow","useInvokeYamlWorkflow","data","sync","execute_as","useRegenerateYamlWorkflow","task_queue","compilation_feedback","useArchiveYamlWorkflow","useRestoreYamlWorkflow","useUpdateYamlWorkflow","updates","useDeleteYamlWorkflow","useSetYamlCron","cron_schedule","cron_envelope","useClearYamlCron","useYamlWorkflowVersions","useYamlWorkflowVersion","version"],"mappings":"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"}
1
+ {"version":3,"file":"yaml-workflows-wXURdyjP.js","sources":["../../src/api/yaml-workflows.ts"],"sourcesContent":["import { useQuery, useMutation, useQueryClient } from '@tanstack/react-query';\nimport { apiFetch } from './client';\nimport type { LTYamlWorkflowRecord, LTYamlWorkflowStatus, LTYamlWorkflowVersion } from './types';\n\ninterface YamlWorkflowListResponse {\n workflows: LTYamlWorkflowRecord[];\n total: number;\n}\n\ninterface YamlWorkflowFilters {\n status?: LTYamlWorkflowStatus;\n graph_topic?: string;\n app_id?: string;\n search?: string;\n set_id?: string;\n limit?: number;\n offset?: number;\n}\n\nexport function useYamlWorkflows(filters: YamlWorkflowFilters = {}) {\n const params = new URLSearchParams();\n if (filters.status) params.set('status', filters.status);\n if (filters.graph_topic) params.set('graph_topic', filters.graph_topic);\n if (filters.app_id) params.set('app_id', filters.app_id);\n if (filters.search) params.set('search', filters.search);\n if (filters.set_id) params.set('set_id', filters.set_id);\n if (filters.limit) params.set('limit', String(filters.limit));\n if (filters.offset !== undefined) params.set('offset', String(filters.offset));\n\n return useQuery<YamlWorkflowListResponse>({\n queryKey: ['yamlWorkflows', filters],\n queryFn: () => apiFetch(`/yaml-workflows?${params}`),\n });\n}\n\nexport function useYamlWorkflowAppIds() {\n return useQuery<{ app_ids: string[] }>({\n queryKey: ['yamlWorkflowAppIds'],\n queryFn: () => apiFetch('/yaml-workflows/app-ids'),\n });\n}\n\nexport function useYamlWorkflowByTopic(graphTopic: string | undefined, appId?: string) {\n return useQuery<YamlWorkflowListResponse>({\n queryKey: ['yamlWorkflows', 'byTopic', graphTopic, appId],\n queryFn: () => {\n const params = new URLSearchParams({ graph_topic: graphTopic!, limit: '1' });\n if (appId) params.set('app_id', appId);\n return apiFetch(`/yaml-workflows?${params}`);\n },\n enabled: !!graphTopic,\n });\n}\n\nexport function useYamlWorkflow(id: string) {\n return useQuery<LTYamlWorkflowRecord>({\n queryKey: ['yamlWorkflows', id],\n queryFn: () => apiFetch(`/yaml-workflows/${id}`),\n enabled: !!id,\n });\n}\n\nexport function useCreateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (input: {\n workflow_id: string;\n task_queue: string;\n workflow_name: string;\n name: string;\n description?: string;\n app_id?: string;\n subscribes?: string;\n tags?: string[];\n compilation_feedback?: string;\n }) =>\n apiFetch<LTYamlWorkflowRecord>('/yaml-workflows', {\n method: 'POST',\n body: JSON.stringify(input),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useDeployYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/deploy`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useActivateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/activate`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useInvokeYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, data, sync, execute_as }: { id: string; data: Record<string, unknown>; sync?: boolean; execute_as?: string }) =>\n apiFetch<{ result?: unknown; job_id?: string }>(`/yaml-workflows/${id}/invoke`, {\n method: 'POST',\n body: JSON.stringify({ data, sync, ...(execute_as ? { execute_as } : {}) }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useRegenerateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, task_queue, compilation_feedback }: { id: string; task_queue?: string; compilation_feedback?: string }) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/regenerate`, {\n method: 'POST',\n body: JSON.stringify({ task_queue, compilation_feedback }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useArchiveYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/archive`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useRestoreYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/restore`, {\n method: 'POST',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflow'], refetchType: 'all' });\n },\n });\n}\n\nexport function useUpdateYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, ...updates }: { id: string; yaml_content?: string; name?: string; description?: string; input_schema?: Record<string, unknown>; output_schema?: Record<string, unknown>; tags?: string[]; app_id?: string; graph_topic?: string }) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}`, {\n method: 'PUT',\n body: JSON.stringify(updates),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useDeleteYamlWorkflow() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<{ deleted: boolean }>(`/yaml-workflows/${id}`, {\n method: 'DELETE',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\n// ── Cron scheduling ─────────────────────────────────────────────\n\nexport function useSetYamlCron() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: ({ id, cron_schedule, cron_envelope, execute_as }: {\n id: string;\n cron_schedule: string;\n cron_envelope?: Record<string, unknown> | null;\n execute_as?: string | null;\n }) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/cron`, {\n method: 'PUT',\n body: JSON.stringify({ cron_schedule, cron_envelope, execute_as }),\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\nexport function useClearYamlCron() {\n const queryClient = useQueryClient();\n return useMutation({\n mutationFn: (id: string) =>\n apiFetch<LTYamlWorkflowRecord>(`/yaml-workflows/${id}/cron`, {\n method: 'DELETE',\n }),\n onSuccess: () => {\n queryClient.invalidateQueries({ queryKey: ['yamlWorkflows'], refetchType: 'all' });\n },\n });\n}\n\n// ── Version history ─────────────────────────────────────────────\n\nexport function useYamlWorkflowVersions(id: string) {\n return useQuery<{ versions: LTYamlWorkflowVersion[]; total: number }>({\n queryKey: ['yamlWorkflows', id, 'versions'],\n queryFn: () => apiFetch(`/yaml-workflows/${id}/versions`),\n enabled: !!id,\n });\n}\n\nexport function useYamlWorkflowVersion(id: string, version: number | null) {\n return useQuery<LTYamlWorkflowVersion>({\n queryKey: ['yamlWorkflows', id, 'versions', version],\n queryFn: () => apiFetch(`/yaml-workflows/${id}/versions/${version}`),\n enabled: !!id && version !== null,\n });\n}\n"],"names":["useYamlWorkflows","filters","params","useQuery","apiFetch","useYamlWorkflowAppIds","useYamlWorkflow","id","useCreateYamlWorkflow","queryClient","useQueryClient","useMutation","input","useDeployYamlWorkflow","useActivateYamlWorkflow","useInvokeYamlWorkflow","data","sync","execute_as","useRegenerateYamlWorkflow","task_queue","compilation_feedback","useArchiveYamlWorkflow","useRestoreYamlWorkflow","useUpdateYamlWorkflow","updates","useDeleteYamlWorkflow","useSetYamlCron","cron_schedule","cron_envelope","useClearYamlCron","useYamlWorkflowVersions","useYamlWorkflowVersion","version"],"mappings":"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"}
@@ -8,11 +8,11 @@
8
8
  <link rel="preconnect" href="https://fonts.googleapis.com" />
9
9
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
10
10
  <link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap" rel="stylesheet" />
11
- <script type="module" crossorigin src="/assets/index-MnRuwfHN.js"></script>
12
- <link rel="modulepreload" crossorigin href="/assets/vendor-query-DLp59M9_.js">
13
- <link rel="modulepreload" crossorigin href="/assets/vendor-react-Co3Y8ikm.js">
14
- <link rel="modulepreload" crossorigin href="/assets/vendor-icons-YdqUbzg6.js">
15
- <link rel="stylesheet" crossorigin href="/assets/index-dp_Q2Hha.css">
11
+ <script type="module" crossorigin src="/assets/index-BhhWCADo.js"></script>
12
+ <link rel="modulepreload" crossorigin href="/assets/vendor-query-B2UbickB.js">
13
+ <link rel="modulepreload" crossorigin href="/assets/vendor-react-CX88sFS5.js">
14
+ <link rel="modulepreload" crossorigin href="/assets/vendor-icons-DY1ctJgc.js">
15
+ <link rel="stylesheet" crossorigin href="/assets/index-CHxvfc97.css">
16
16
  </head>
17
17
  <body>
18
18
  <div id="root"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hotmeshio/long-tail",
3
- "version": "0.3.3",
3
+ "version": "0.4.0",
4
4
  "description": "Long Tail Workflows — Durable AI workflows with human-in-the-loop escalation. Powered by PostgreSQL.",
5
5
  "main": "./build/index.js",
6
6
  "types": "./build/index.d.ts",
@@ -70,7 +70,7 @@
70
70
  "@anthropic-ai/sdk": "^0.92.0",
71
71
  "@aws-sdk/client-s3": "^3.1017.0",
72
72
  "@aws-sdk/s3-request-presigner": "^3.1045.0",
73
- "@hotmeshio/hotmesh": "^0.17.5",
73
+ "@hotmeshio/hotmesh": "^0.18.1",
74
74
  "@modelcontextprotocol/sdk": "^1.27.1",
75
75
  "@opentelemetry/exporter-trace-otlp-proto": "^0.215.0",
76
76
  "@opentelemetry/resources": "^2.5.1",
@@ -1,2 +0,0 @@
1
- import{r as n,j as o}from"./index-MnRuwfHN.js";import{c as m}from"./tasks-CIuWkHLG.js";import{f as d}from"./useEventHooks-xXspN8_9.js";import{u}from"./mcp-BTZ2ex4x.js";import{P as c}from"./PageHeaderWithStats-Fy6tGBaa.js";import"./vendor-query-DLp59M9_.js";import"./vendor-react-Co3Y8ikm.js";import"./vendor-icons-YdqUbzg6.js";function N(){var e;d();const{data:a}=m({limit:1}),{data:t}=n({status:"pending",limit:1}),{data:s}=u(),r=((e=s==null?void 0:s.servers)==null?void 0:e.filter(l=>l.status==="connected").length)??0,i=s?`${r}/${s.total}`:"—";return o.jsxDEV("div",{children:o.jsxDEV(c,{title:"Admin",stats:[{label:"Tasks",value:(a==null?void 0:a.total)??"—"},{label:"Pending Escalations",value:(t==null?void 0:t.total)??"—",dotClass:"bg-status-pending"},{label:"MCP Servers",value:i},{label:"System",value:"Healthy",dotClass:"bg-status-success"}]},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/AdminDashboard.tsx",lineNumber:19,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/AdminDashboard.tsx",lineNumber:18,columnNumber:5},this)}export{N as AdminDashboard};
2
- //# sourceMappingURL=AdminDashboard-BBWJAsjl.js.map
@@ -1,13 +0,0 @@
1
- import{j as e,c as ae}from"./index-MnRuwfHN.js";import{a as g}from"./vendor-query-DLp59M9_.js";import{a as se,d as te,b as ie}from"./agents-Bd6SNUID.js";import{C as le,u as re,a as ne,b as oe,c as de}from"./CronLabel-fYpkTnEd.js";import{P as ce}from"./PageHeader-C4DNgZKA.js";import{B as _,d as T,R as O,Y as I,o as J,a4 as L,a as B,aE as F,N as pe}from"./vendor-icons-YdqUbzg6.js";import{e as me}from"./knowledge-krdvn5bg.js";import{R as G}from"./RunAsSelector-BsO-uSh9.js";import{u as H}from"./workflows-BvGU8_fj.js";import{u as ue}from"./topics-DxMDwZFs.js";import{u as be}from"./yaml-workflows-DNgb7krQ.js";import{E as he}from"./EventTopicPill-DCqcr7N7.js";import{W as U}from"./WorkflowPill-C7jE0e1g.js";import{e as Ne,c as xe,f as ge}from"./vendor-react-Co3Y8ikm.js";import"./BotPicker-wEoqL3HR.js";import"./bots-DEsg-T8t.js";const Y={name:"",description:"",goals:"",rules:"",user_id:"",knowledge_domain:"",subscriptions:[],schedules:[]},fe={topic:"",filter:"",reaction_type:"durable",workflow_type:"",pipeline_id:"",mcp_prompt:"",input_mapping:"{}",execute_as:"",enabled:!0},ve={cron:"0 * * * *",reaction_type:"durable",workflow_type:"",pipeline_id:"",envelope:"{}",execute_as:""};function Se(a,s){var r,c,u;const d=(c=(r=a.behaviors)==null?void 0:r.schedules)!=null&&c.length?a.behaviors.schedules.map(l=>({cron:l.cron||"",reaction_type:l.reaction_type||"durable",workflow_type:l.workflow_type||"",pipeline_id:l.pipeline_id||"",envelope:l.envelope?JSON.stringify(l.envelope,null,2):"{}",execute_as:l.execute_as||""})):(u=a.behaviors)!=null&&u.cron?[{cron:a.behaviors.cron,reaction_type:"durable",workflow_type:a.workflow_type??"",pipeline_id:"",envelope:"{}",execute_as:""}]:[];return{name:a.id,description:a.description??"",goals:a.goals??"",rules:a.rules??"",user_id:a.user_id??"",knowledge_domain:a.knowledge_domain??"",subscriptions:s.map(l=>({id:l.id,topic:l.topic,filter:l.filter?JSON.stringify(l.filter,null,2):"",reaction_type:l.reaction_type,workflow_type:l.workflow_type??"",pipeline_id:l.pipeline_id??"",mcp_prompt:l.mcp_prompt??"",input_mapping:JSON.stringify(l.input_mapping??{},null,2),execute_as:l.execute_as??"",enabled:l.enabled})),schedules:d}}function we(a){var d;const s={};return a.schedules.length>0&&(s.schedules=a.schedules.map(r=>({cron:r.cron,reaction_type:r.reaction_type||"durable",workflow_type:r.reaction_type==="pipeline"?void 0:r.workflow_type,pipeline_id:r.reaction_type==="pipeline"?r.pipeline_id:void 0,envelope:$(r.envelope)??{},execute_as:r.execute_as||void 0})),s.cron=a.schedules[0].cron),{id:a.name,description:a.description||void 0,goals:a.goals||void 0,rules:a.rules||void 0,user_id:a.user_id||void 0,knowledge_domain:a.knowledge_domain||void 0,behaviors:s,workflow_type:((d=a.schedules[0])==null?void 0:d.workflow_type)||void 0,pipeline_id:void 0}}function Ee(a){return a.subscriptions.map(s=>({id:s.id,topic:s.topic,filter:s.filter?$(s.filter):void 0,reaction_type:s.reaction_type,workflow_type:s.workflow_type||void 0,pipeline_id:s.pipeline_id||void 0,mcp_prompt:s.mcp_prompt||void 0,input_mapping:$(s.input_mapping)??{},execute_as:s.execute_as||void 0,enabled:s.enabled}))}function $(a){if(a.trim())try{return JSON.parse(a)}catch{return}}const D="section-header mt-[3em] first:mt-0",S="label",f="hint",N="input",Q="input-json w-full";function De({form:a,set:s}){return e.jsxDEV("div",{className:"space-y-8",children:[e.jsxDEV("div",{className:"border-l-2 border-accent/30 pl-3 py-1 flex items-start justify-between",children:[e.jsxDEV("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Give your agent a name and describe what it does. The name appears everywhere — in events, logs, and the dashboard."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:14,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>{window.location.hash="#docs:agents.md:identity"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Identity",children:e.jsxDEV(_,{className:"w-3 h-3",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:17,columnNumber:194},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:17,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:13,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:S,children:"Name *"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:21,columnNumber:9},this),e.jsxDEV("input",{type:"text",value:a.name,onChange:d=>s("name",d.target.value),placeholder:"health-monitor",className:N},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:22,columnNumber:9},this),e.jsxDEV("p",{className:f,children:"Lowercase, kebab-case. This appears everywhere."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:23,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:20,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:S,children:"Description"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:27,columnNumber:9},this),e.jsxDEV("input",{type:"text",value:a.description,onChange:d=>s("description",d.target.value),placeholder:"Watches for workflow failures and captures diagnostics",className:N},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:28,columnNumber:9},this),e.jsxDEV("p",{className:f,children:"One sentence that explains what this agent does."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:29,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:26,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/IdentityStep.tsx",lineNumber:12,columnNumber:5},this)}function je({form:a,set:s}){return e.jsxDEV("div",{className:"space-y-8",children:[e.jsxDEV("div",{className:"border-l-2 border-accent/30 pl-3 py-1 flex items-start justify-between",children:[e.jsxDEV("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Goals define what drives the agent. Rules define what constrains it. Together they give automation judgment."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:14,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>{window.location.hash="#docs:agents.md:motivation"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Motivation",children:e.jsxDEV(_,{className:"w-3 h-3",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:17,columnNumber:198},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:17,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:13,columnNumber:7},this),e.jsxDEV("div",{className:"grid grid-cols-2 gap-8",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:S,children:"Goals"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:22,columnNumber:11},this),e.jsxDEV("textarea",{value:a.goals,onChange:d=>s("goals",d.target.value),placeholder:"Detect failures early, capture diagnostics, alert before cascading",rows:4,className:`${N} resize-none`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:23,columnNumber:11},this),e.jsxDEV("p",{className:f,children:"Primary motivation. What the agent is trying to achieve."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:24,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:21,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:S,children:"Rules"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:27,columnNumber:11},this),e.jsxDEV("textarea",{value:a.rules,onChange:d=>s("rules",d.target.value),placeholder:"Never auto-restart failed workflows. Always escalate to humans.",rows:4,className:`${N} resize-none`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:28,columnNumber:11},this),e.jsxDEV("p",{className:f,children:"Guardrails. What it must never do, even when goals suggest it should."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:29,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:26,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:20,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/MotivationStep.tsx",lineNumber:12,columnNumber:5},this)}function ye({form:a,set:s}){const{data:d}=me(),r=(d==null?void 0:d.domains)??[];return e.jsxDEV("div",{className:"space-y-6",children:[e.jsxDEV("div",{className:"border-l-2 border-accent/30 pl-3 py-1 flex items-start justify-between",children:[e.jsxDEV("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Assign a knowledge domain — the agent's memory. It stores context here over time."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:19,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>{window.location.hash="#docs:agents.md:knowledge"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Knowledge",children:e.jsxDEV(_,{className:"w-3 h-3",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:22,columnNumber:196},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:22,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:18,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:S,children:"Knowledge Domain"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:26,columnNumber:9},this),e.jsxDEV("input",{type:"text",value:a.knowledge_domain,onChange:c=>s("knowledge_domain",c.target.value),placeholder:"e.g., system-health, content-review, vendor-data",className:N,list:"domain-suggestions"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:27,columnNumber:9},this),e.jsxDEV("datalist",{id:"domain-suggestions",children:r.map(c=>e.jsxDEV("option",{value:c.domain},c.domain,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:36,columnNumber:31},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:35,columnNumber:9},this),e.jsxDEV("p",{className:f,children:"Choose an existing domain to share memory, or type a new name to create one."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:38,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:25,columnNumber:7},this),r.length>0&&e.jsxDEV("div",{children:[e.jsxDEV("label",{className:S,children:"Existing Domains"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:43,columnNumber:11},this),e.jsxDEV("div",{className:"space-y-0.5 mt-2",children:r.map(c=>e.jsxDEV("button",{type:"button",onClick:()=>s("knowledge_domain",c.domain),className:`w-full flex items-center gap-3 px-3 py-2 rounded-md text-left transition-colors ${a.knowledge_domain===c.domain?"border-l-2 border-l-accent bg-accent/5":"hover:bg-surface-hover border-l-2 border-l-transparent"}`,children:[e.jsxDEV(T,{className:"w-3.5 h-3.5 text-text-quaternary shrink-0",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:54,columnNumber:17},this),e.jsxDEV("span",{className:"text-sm text-text-primary flex-1",children:c.domain},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:55,columnNumber:17},this),e.jsxDEV("span",{className:"text-[10px] text-text-quaternary",children:[c.count," entries"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:56,columnNumber:17},this),e.jsxDEV("span",{className:"text-[9px] text-text-quaternary",children:e.jsxDEV(ae,{date:c.latest},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:57,columnNumber:67},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:57,columnNumber:17},this)]},c.domain,!0,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:46,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:44,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:42,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/KnowledgeStep.tsx",lineNumber:17,columnNumber:5},this)}const Ve={task:"bg-blue-400/15 text-blue-400",workflow:"bg-accent/15 text-accent",escalation:"bg-amber-400/15 text-amber-400",activity:"bg-cyan-400/15 text-cyan-400",knowledge:"bg-violet-400/15 text-violet-400",agent:"bg-emerald-400/15 text-emerald-400",app:"bg-rose-400/15 text-rose-400",milestone:"bg-violet-400/15 text-violet-400"};function ke({form:a,set:s}){const{data:d}=H(),{data:r}=ue({limit:200}),c=(r==null?void 0:r.topics)??[],u=(d??[]).filter(t=>t.invocable).map(t=>t.workflow_type),[l,x]=g.useState(0),p=(t,b,V)=>{const C=[...a.subscriptions];C[t]={...C[t],[b]:V},s("subscriptions",C)},w=()=>{s("subscriptions",[...a.subscriptions,{...fe}]),x(a.subscriptions.length)},j=t=>{s("subscriptions",a.subscriptions.filter((b,V)=>V!==t)),l>=a.subscriptions.length-1&&x(Math.max(0,a.subscriptions.length-2))},o=a.subscriptions,n=o[l],i=t=>!!t.topic&&(t.reaction_type==="durable"?!!t.workflow_type:t.reaction_type==="pipeline"?!!t.pipeline_id:!!t.mcp_prompt),m=n?c.find(t=>t.topic===n.topic):void 0;return o.length===0?e.jsxDEV("div",{className:"max-w-xl",children:[e.jsxDEV("div",{className:"border-l-2 border-accent/30 pl-3 py-1 flex items-start justify-between mb-8",children:[e.jsxDEV("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Optional. When a matching event is published, the agent runs the configured workflow with the event payload."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:60,columnNumber:11},this),e.jsxDEV("button",{onClick:()=>{window.location.hash="#docs:agents.md:subscriptions"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Subscriptions",children:e.jsxDEV(_,{className:"w-3 h-3",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:63,columnNumber:206},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:63,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:59,columnNumber:9},this),e.jsxDEV("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[e.jsxDEV(O,{className:"w-8 h-8 text-text-quaternary/40 mb-3",strokeWidth:1},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:66,columnNumber:11},this),e.jsxDEV("p",{className:"text-sm text-text-tertiary mb-2",children:"No event subscriptions yet"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:67,columnNumber:11},this),e.jsxDEV("p",{className:"text-[11px] text-text-quaternary max-w-sm mb-6",children:"Each subscription listens for a topic pattern and runs a workflow when it matches."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:68,columnNumber:11},this),e.jsxDEV("button",{onClick:w,className:"flex items-center gap-2 text-xs text-accent hover:text-accent-hover transition-colors",children:[e.jsxDEV(I,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:72,columnNumber:13},this)," Add first subscription"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:71,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:65,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:58,columnNumber:7},this):e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"border-l-2 border-accent/30 pl-3 py-1 flex items-start justify-between mb-6",children:[e.jsxDEV("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Optional. When a matching event is published, the agent runs the configured workflow with the event payload."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:82,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>{window.location.hash="#docs:agents.md:subscriptions"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Subscriptions",children:e.jsxDEV(_,{className:"w-3 h-3",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:85,columnNumber:204},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:85,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:81,columnNumber:7},this),e.jsxDEV("div",{className:"flex gap-8",children:[e.jsxDEV("div",{className:"w-52 shrink-0 space-y-0.5",children:[o.map((t,b)=>e.jsxDEV("div",{className:`group/sub flex items-center rounded-md transition-colors ${l===b?"bg-accent/10 text-accent":"text-text-tertiary hover:text-text-primary hover:bg-surface-hover"}`,children:[e.jsxDEV("button",{onClick:()=>x(b),className:"flex-1 text-left px-3 py-2 min-w-0",children:[e.jsxDEV("div",{className:"flex items-center gap-1.5",children:[e.jsxDEV("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${i(t)?"bg-emerald-400":"bg-zinc-500"}`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:97,columnNumber:19},this),e.jsxDEV("span",{className:"text-[11px] font-mono truncate",children:t.topic||"new subscription"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:98,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:96,columnNumber:17},this),e.jsxDEV("span",{className:"text-[9px] text-text-quaternary ml-3",children:["→ ",t.workflow_type||t.reaction_type]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:100,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:95,columnNumber:15},this),e.jsxDEV("button",{onClick:V=>{V.stopPropagation(),confirm(`Remove subscription "${t.topic||"new"}"?
2
-
3
- This takes effect when you save.`)&&j(b)},className:"opacity-0 group-hover/sub:opacity-100 px-2 text-text-quaternary hover:text-red-400 transition-all",title:"Remove",children:e.jsxDEV(J,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:103,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:102,columnNumber:15},this)]},b,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:92,columnNumber:13},this)),e.jsxDEV("button",{onClick:w,className:"w-full flex items-center gap-1.5 px-3 py-2 text-[11px] text-accent hover:text-accent-hover transition-colors",children:[e.jsxDEV(I,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:108,columnNumber:13},this)," Add"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:107,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:90,columnNumber:9},this),n&&e.jsxDEV("div",{className:"flex-1 min-w-0 space-y-12",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:D,children:"When this event fires"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:118,columnNumber:15},this),e.jsxDEV(_e,{value:n.topic,onChange:t=>p(l,"topic",t),topics:c},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:119,columnNumber:15},this),(m==null?void 0:m.payload_schema)&&e.jsxDEV("div",{className:"mt-3 p-3 rounded-md bg-surface-sunken border border-surface-border",children:[e.jsxDEV("p",{className:"text-[10px] text-text-quaternary mb-1 uppercase tracking-wider font-medium",children:"Payload Schema"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:128,columnNumber:19},this),e.jsxDEV("pre",{className:"text-[11px] font-mono text-text-secondary whitespace-pre-wrap overflow-x-auto max-h-40",children:JSON.stringify(m.payload_schema.properties??m.payload_schema,null,2)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:129,columnNumber:19},this),m.description&&e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-2 italic",children:m.description},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:133,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:127,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:117,columnNumber:13},this),e.jsxDEV("div",{className:"grid grid-cols-3 gap-6",children:[e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("label",{className:D,children:"Run this workflow"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:142,columnNumber:17},this),e.jsxDEV("div",{className:"flex gap-3",children:["durable","pipeline","mcp_query"].map(t=>e.jsxDEV("label",{className:"flex items-center gap-1 text-[11px] text-text-secondary cursor-pointer",children:[e.jsxDEV("input",{type:"radio",name:"reaction",checked:n.reaction_type===t,onChange:()=>p(l,"reaction_type",t),className:"accent-accent w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:146,columnNumber:23},this),t==="durable"?"Workflow":t==="pipeline"?"Pipeline":"MCP Query"]},t,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:145,columnNumber:21},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:143,columnNumber:17},this),n.reaction_type==="durable"&&e.jsxDEV("div",{children:[e.jsxDEV("label",{className:S,children:"Workflow *"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:153,columnNumber:21},this),e.jsxDEV("select",{value:n.workflow_type,onChange:t=>p(l,"workflow_type",t.target.value),className:N,children:[e.jsxDEV("option",{value:"",children:"Select..."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:155,columnNumber:23},this),u.map(t=>e.jsxDEV("option",{value:t,children:t},t,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:156,columnNumber:63},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:154,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:152,columnNumber:19},this),n.reaction_type==="pipeline"&&e.jsxDEV("div",{children:[e.jsxDEV("label",{className:S,children:"Pipeline ID *"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:162,columnNumber:21},this),e.jsxDEV("input",{type:"text",value:n.pipeline_id,onChange:t=>p(l,"pipeline_id",t.target.value),placeholder:"UUID",className:`${N} font-mono text-xs`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:163,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:161,columnNumber:19},this),n.reaction_type==="mcp_query"&&e.jsxDEV("div",{children:[e.jsxDEV("label",{className:S,children:"Prompt *"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:168,columnNumber:21},this),e.jsxDEV("textarea",{value:n.mcp_prompt,onChange:t=>p(l,"mcp_prompt",t.target.value),placeholder:"Analyze the error...",rows:2,className:`${N} resize-none`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:169,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:167,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:141,columnNumber:15},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:D,children:"As identity"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:174,columnNumber:17},this),e.jsxDEV(G,{selected:n.execute_as,onChange:t=>p(l,"execute_as",t)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:175,columnNumber:17},this),e.jsxDEV("p",{className:f,children:"Identity used when invoking the workflow."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:176,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:173,columnNumber:15},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:D,children:"But only if"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:179,columnNumber:17},this),e.jsxDEV("input",{type:"text",value:n.filter,onChange:t=>p(l,"filter",t.target.value),placeholder:"No filter (all matching events)",className:`${N} font-mono text-xs`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:180,columnNumber:17},this),e.jsxDEV("p",{className:f,children:["JSON filter against event.data, e.g. ",'{"status": 422}']},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:181,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:178,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:140,columnNumber:13},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:D,children:"With this data"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:187,columnNumber:15},this),e.jsxDEV("textarea",{value:n.input_mapping,onChange:t=>p(l,"input_mapping",t.target.value),rows:10,className:Q,placeholder:`{
4
- "data": {
5
- "orderId": "{event.data.orderId}",
6
- "error": "{event.data.error}"
7
- }
8
- }`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:188,columnNumber:15},this),e.jsxDEV("p",{className:f,children:["Maps event fields to workflow input. ","{event.data.fieldName}"," resolves at runtime."]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:189,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:186,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:114,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:88,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:80,columnNumber:5},this)}function _e({value:a,onChange:s,topics:d}){const[r,c]=g.useState(!1),[u,l]=g.useState(""),x=g.useRef(null),p=g.useRef(null);g.useEffect(()=>{function o(n){p.current&&!p.current.contains(n.target)&&c(!1)}return r&&document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[r]);const w=r?u:a,j=d.filter(o=>o.topic.toLowerCase().includes((r?u:"").toLowerCase())||(o.description??"").toLowerCase().includes((r?u:"").toLowerCase()));return e.jsxDEV("div",{ref:p,className:"relative",children:[e.jsxDEV("input",{ref:x,type:"text",value:w,onFocus:()=>{c(!0),l(a)},onChange:o=>{const n=o.target.value;l(n),s(n),r||c(!0)},placeholder:"workflow.failed or app.>",className:`${N} font-mono`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:229,columnNumber:7},this),r&&j.length>0&&e.jsxDEV("div",{className:"absolute z-50 left-0 right-0 mt-1 max-h-64 overflow-y-auto rounded-md border border-surface-border bg-surface shadow-lg",children:j.map(o=>{const n=Ve[o.category]??"bg-zinc-400/15 text-zinc-400";return e.jsxDEV("button",{type:"button",onClick:()=>{s(o.topic),l(o.topic),c(!1)},className:`w-full text-left px-3 py-2 hover:bg-surface-hover transition-colors flex items-center gap-3 ${a===o.topic?"bg-accent/5":""}`,children:[e.jsxDEV("span",{className:"text-[11px] font-mono text-text-primary shrink-0",children:o.topic},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:261,columnNumber:17},this),e.jsxDEV("span",{className:`inline-flex items-center px-1.5 py-0.5 rounded text-[9px] font-medium shrink-0 ${n}`,children:o.category},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:262,columnNumber:17},this),o.description&&e.jsxDEV("span",{className:"text-[10px] text-text-quaternary truncate",children:o.description},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:264,columnNumber:19},this)]},o.topic,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:249,columnNumber:15},this)})},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:245,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/SubscriptionsStep.tsx",lineNumber:228,columnNumber:5},this)}const Ce=["*/5 * * * *","*/15 * * * *","0 * * * *","0 */4 * * *","0 7 * * *","0 9 * * 1-5"];function K(a){return{"* * * * *":"Every minute","*/5 * * * *":"Every 5 min","*/15 * * * *":"Every 15 min","0 * * * *":"Hourly","0 */4 * * *":"Every 4 hours","0 7 * * *":"Daily 7 AM UTC","0 9 * * 1-5":"Weekdays 9 AM UTC","0 0 * * 1":"Weekly Monday"}[a]||a}function Re({form:a,set:s}){const{data:d}=H(),r=(d??[]).filter(i=>i.invocable).map(i=>i.workflow_type),{data:c}=be({status:"active"}),u=((c==null?void 0:c.workflows)??[]).map(i=>({id:i.id,name:i.graph_topic||i.id})),[l,x]=g.useState(0),p=(i,m,t)=>{const b=[...a.schedules];b[i]={...b[i],[m]:t},s("schedules",b)},w=()=>{s("schedules",[...a.schedules,{...ve}]),x(a.schedules.length)},j=i=>{s("schedules",a.schedules.filter((m,t)=>t!==i)),l>=a.schedules.length-1&&x(Math.max(0,a.schedules.length-2))},o=a.schedules,n=o[l];return o.length===0?e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"border-l-2 border-accent/30 pl-3 py-1 mb-8 flex items-start justify-between",children:[e.jsxDEV("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Optional. Each schedule runs a workflow on a cron timer."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:67,columnNumber:11},this),e.jsxDEV("button",{onClick:()=>{window.location.hash="#docs:agents.md:schedule"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Schedule",children:e.jsxDEV(_,{className:"w-3 h-3",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:70,columnNumber:196},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:70,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:66,columnNumber:9},this),e.jsxDEV("div",{className:"flex flex-col items-center justify-center py-12 text-center",children:[e.jsxDEV(L,{className:"w-8 h-8 text-text-quaternary/40 mb-3",strokeWidth:1},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:73,columnNumber:11},this),e.jsxDEV("p",{className:"text-sm text-text-tertiary mb-2",children:"No schedules"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:74,columnNumber:11},this),e.jsxDEV("p",{className:"text-[11px] text-text-quaternary max-w-sm mb-6",children:"Add a schedule to run a workflow on a recurring cron timer."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:75,columnNumber:11},this),e.jsxDEV("button",{onClick:w,className:"flex items-center gap-2 text-xs text-accent hover:text-accent-hover transition-colors",children:[e.jsxDEV(I,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:79,columnNumber:13},this)," Add schedule"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:78,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:72,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:65,columnNumber:7},this):e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"border-l-2 border-accent/30 pl-3 py-1 mb-6 flex items-start justify-between",children:[e.jsxDEV("p",{className:"text-[12px] text-text-secondary italic leading-relaxed",children:"Each schedule runs a workflow on a timer. An agent can have multiple schedules targeting different workflows."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:89,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>{window.location.hash="#docs:agents.md:schedule"},className:"text-text-quaternary hover:text-accent transition-colors shrink-0 ml-3",title:"Docs: Schedule",children:e.jsxDEV(_,{className:"w-3 h-3",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:92,columnNumber:194},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:92,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:88,columnNumber:7},this),e.jsxDEV("div",{className:"flex gap-8",children:[e.jsxDEV("div",{className:"w-48 shrink-0 space-y-0.5",children:[o.map((i,m)=>e.jsxDEV("div",{className:`group/sched flex items-center rounded-md transition-colors ${l===m?"bg-accent/10 text-accent":"text-text-tertiary hover:text-text-primary hover:bg-surface-hover"}`,children:[e.jsxDEV("button",{onClick:()=>x(m),className:"flex-1 text-left px-3 py-2 min-w-0",children:[e.jsxDEV("span",{className:"text-[11px] font-mono block",children:i.cron||"new schedule"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:103,columnNumber:17},this),e.jsxDEV("span",{className:"text-[9px] text-text-quaternary",children:[(i.reaction_type==="pipeline"?i.pipeline_id:i.workflow_type)||"no target"," · ",K(i.cron)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:104,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:102,columnNumber:15},this),e.jsxDEV("button",{onClick:t=>{t.stopPropagation(),confirm(`Remove schedule "${i.cron||"new"}"?
9
-
10
- This takes effect when you save.`)&&j(m)},className:"opacity-0 group-hover/sched:opacity-100 px-2 text-text-quaternary hover:text-red-400 transition-all",title:"Remove",children:e.jsxDEV(J,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:107,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:106,columnNumber:15},this)]},m,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:99,columnNumber:13},this)),e.jsxDEV("button",{onClick:w,className:"w-full flex items-center gap-1.5 px-3 py-2 text-[11px] text-accent hover:text-accent-hover transition-colors",children:[e.jsxDEV(I,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:112,columnNumber:13},this)," Add"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:111,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:97,columnNumber:9},this),n&&e.jsxDEV("div",{className:"flex-1 min-w-0 space-y-12",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:D,children:"Run every"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:122,columnNumber:15},this),e.jsxDEV("input",{type:"text",value:n.cron,onChange:i=>p(l,"cron",i.target.value),placeholder:"0 * * * *",className:`${N} font-mono`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:123,columnNumber:15},this),n.cron&&e.jsxDEV("p",{className:"text-[11px] text-accent/80 mt-1",children:K(n.cron)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:124,columnNumber:30},this),e.jsxDEV("div",{className:"flex gap-3 mt-2 overflow-x-auto",children:Ce.map(i=>e.jsxDEV("button",{type:"button",onClick:()=>p(l,"cron",i),className:`text-[10px] font-mono whitespace-nowrap transition-colors ${n.cron===i?"text-accent font-medium":"text-accent/50 hover:text-accent"}`,children:K(i)},i,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:127,columnNumber:19},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:125,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:121,columnNumber:13},this),e.jsxDEV("div",{className:"grid grid-cols-2 gap-6",children:[e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("label",{className:D,children:"Run this workflow"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:137,columnNumber:17},this),e.jsxDEV("div",{className:"flex gap-3",children:["durable","pipeline"].map(i=>e.jsxDEV("label",{className:"flex items-center gap-1 text-[11px] text-text-secondary cursor-pointer",children:[e.jsxDEV("input",{type:"radio",name:`sched-reaction-${l}`,checked:n.reaction_type===i,onChange:()=>p(l,"reaction_type",i),className:"accent-accent w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:141,columnNumber:23},this),i==="durable"?"Workflow":"Pipeline"]},i,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:140,columnNumber:21},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:138,columnNumber:17},this),n.reaction_type==="pipeline"?e.jsxDEV("div",{children:[e.jsxDEV("label",{className:S,children:"Pipeline *"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:148,columnNumber:21},this),e.jsxDEV("select",{value:n.pipeline_id,onChange:i=>p(l,"pipeline_id",i.target.value),className:N,children:[e.jsxDEV("option",{value:"",children:"Select..."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:150,columnNumber:23},this),u.map(i=>e.jsxDEV("option",{value:i.id,children:i.name},i.id,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:151,columnNumber:75},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:149,columnNumber:21},this),e.jsxDEV("p",{className:f,children:"YAML pipeline invoked on each cron tick."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:153,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:147,columnNumber:19},this):e.jsxDEV("div",{children:[e.jsxDEV("label",{className:S,children:"Workflow *"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:157,columnNumber:21},this),e.jsxDEV("select",{value:n.workflow_type,onChange:i=>p(l,"workflow_type",i.target.value),className:N,children:[e.jsxDEV("option",{value:"",children:"Select..."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:159,columnNumber:23},this),r.map(i=>e.jsxDEV("option",{value:i,children:i},i,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:160,columnNumber:63},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:158,columnNumber:21},this),e.jsxDEV("p",{className:f,children:"Invoked on each cron tick."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:162,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:156,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:136,columnNumber:15},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:D,children:"As identity"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:167,columnNumber:17},this),e.jsxDEV(G,{selected:n.execute_as,onChange:i=>p(l,"execute_as",i)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:168,columnNumber:17},this),e.jsxDEV("p",{className:f,children:"Identity used when invoking."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:169,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:166,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:135,columnNumber:13},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:D,children:"With this data"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:175,columnNumber:15},this),e.jsxDEV("textarea",{value:n.envelope,onChange:i=>p(l,"envelope",i.target.value),rows:10,className:Q,placeholder:`{
11
- "data": { "source": "cron" }
12
- }`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:176,columnNumber:15},this),e.jsxDEV("p",{className:f,children:"Static payload passed to the workflow on each invocation."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:177,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:174,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:118,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:95,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ScheduleStep.tsx",lineNumber:87,columnNumber:5},this)}function A({icon:a,color:s,title:d,children:r}){return e.jsxDEV("div",{className:"mb-10",children:[e.jsxDEV("div",{className:"flex items-center gap-2 mb-2 pb-1.5 border-b border-surface-border/40",children:[e.jsxDEV(a,{className:`w-3.5 h-3.5 ${s}`,strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:15,columnNumber:9},this),e.jsxDEV("h3",{className:"text-xs font-semibold uppercase tracking-widest text-accent/80",children:d},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:16,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:14,columnNumber:7},this),e.jsxDEV("div",{className:"pl-5.5",children:r},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:18,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:13,columnNumber:5},this)}function P({label:a,children:s}){return e.jsxDEV("div",{className:"flex gap-3 py-0.5",children:[e.jsxDEV("span",{className:"text-[10px] text-text-quaternary w-20 shrink-0",children:a},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:26,columnNumber:7},this),e.jsxDEV("span",{className:"text-xs text-text-primary",children:s},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:27,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:25,columnNumber:5},this)}function Ae({form:a}){return e.jsxDEV("div",{children:[e.jsxDEV(A,{icon:B,color:"text-accent",title:"Identity",children:[e.jsxDEV(P,{label:"Name",children:a.name||"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:36,columnNumber:9},this),a.description&&e.jsxDEV(P,{label:"Description",children:a.description},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:37,columnNumber:30},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:35,columnNumber:7},this),(a.goals||a.rules)&&e.jsxDEV(A,{icon:F,color:"text-rose-400",title:"Motivation",children:[a.goals&&e.jsxDEV(P,{label:"Goals",children:a.goals},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:42,columnNumber:26},this),a.rules&&e.jsxDEV(P,{label:"Rules",children:a.rules},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:43,columnNumber:26},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:41,columnNumber:9},this),e.jsxDEV(A,{icon:T,color:"text-emerald-400",title:"Knowledge",children:e.jsxDEV(P,{label:"Domain",children:a.knowledge_domain||"None"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:48,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:47,columnNumber:7},this),e.jsxDEV("div",{className:"grid grid-cols-2 gap-x-10",children:[e.jsxDEV(A,{icon:O,color:"text-cyan-400",title:`Subscriptions (${a.subscriptions.length})`,children:a.subscriptions.length===0?e.jsxDEV("span",{className:"text-[11px] text-text-quaternary",children:"None configured"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:55,columnNumber:13},this):e.jsxDEV("div",{className:"divide-y divide-surface-border/30",children:a.subscriptions.map((s,d)=>e.jsxDEV("div",{className:"flex items-center py-1.5",children:[e.jsxDEV("div",{className:"flex-1 min-w-0",children:e.jsxDEV(he,{topic:s.topic||"unset"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:60,columnNumber:51},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:60,columnNumber:19},this),e.jsxDEV("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsxDEV("span",{className:"text-text-quaternary text-[10px]",children:"→"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:61,columnNumber:71},this),s.workflow_type?e.jsxDEV(U,{type:s.workflow_type},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:61,columnNumber:151},this):e.jsxDEV("span",{className:"text-[11px] text-text-quaternary",children:s.reaction_type},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:61,columnNumber:195},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:61,columnNumber:19},this)]},d,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:59,columnNumber:17},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:57,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:53,columnNumber:9},this),e.jsxDEV(A,{icon:L,color:"text-amber-400",title:`Schedules (${a.schedules.length})`,children:a.schedules.length===0?e.jsxDEV("span",{className:"text-[11px] text-text-quaternary",children:"None configured"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:70,columnNumber:13},this):e.jsxDEV("div",{className:"divide-y divide-surface-border/30",children:a.schedules.map((s,d)=>e.jsxDEV("div",{className:"flex items-center py-1.5",children:[e.jsxDEV("div",{className:"flex-1 min-w-0",children:e.jsxDEV(le,{cron:s.cron},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:75,columnNumber:51},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:75,columnNumber:19},this),e.jsxDEV("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsxDEV("span",{className:"text-text-quaternary text-[10px]",children:"→"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:76,columnNumber:71},this),s.workflow_type?e.jsxDEV(U,{type:s.workflow_type},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:76,columnNumber:149},this):e.jsxDEV("span",{className:"text-[11px] text-text-quaternary",children:"no workflow"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:76,columnNumber:191},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:76,columnNumber:19},this)]},d,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:74,columnNumber:17},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:72,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:68,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:52,columnNumber:7},this),e.jsxDEV("div",{className:"border-l-2 border-emerald-400/30 pl-3 py-2 mt-6",children:e.jsxDEV("p",{className:"text-[11px] text-text-tertiary leading-relaxed",children:"After saving, subscriptions and schedules activate immediately. You can pause the agent anytime."},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:85,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:84,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/ReviewStep.tsx",lineNumber:34,columnNumber:5},this)}const Pe=[{id:1,label:"Identity",icon:B},{id:2,label:"Motivation",icon:F},{id:3,label:"Knowledge",icon:T},{id:4,label:"Subscriptions",icon:O},{id:5,label:"Schedules",icon:L},{id:6,label:"Review",icon:pe}];function He(){const{id:a}=Ne(),s=!a,d=xe(),{data:r,isLoading:c}=se(s?null:a),{data:u}=re(s?null:a),l=te(),x=ie(),p=ne(),w=oe(),j=de(),[o,n]=g.useState(Y),[i,m]=g.useState(!1),[t,b]=g.useState(""),[V,C]=ge(),k=parseInt(V.get("step")||"1",10),X=g.useCallback(h=>{C(v=>{const y=new URLSearchParams(v);return y.set("step",String(h)),y},{replace:!0})},[C]);g.useEffect(()=>{if(!i){if(s){n(Y),m(!0);return}r&&u&&(n(Se(r,u.subscriptions??[])),m(!0))}},[r,u,s,i]);const R=(h,v)=>n(y=>({...y,[h]:v})),Z=async()=>{b("");try{const h=we(o);let v=a;s?v=(await l.mutateAsync(h)).id:await x.mutateAsync({id:a,...h});const y=Ee(o),ee=(u==null?void 0:u.subscriptions)??[],W=new Set(ee.map(E=>E.id));for(const E of y)if(E.id&&W.has(E.id)){const{id:M,...q}=E;await w.mutateAsync({agentId:v,subId:M,...q}),W.delete(M)}else{const{id:M,...q}=E;await p.mutateAsync({agentId:v,...q})}for(const E of W)await j.mutateAsync({agentId:v,subId:E});d(`/agents/${v}`)}catch(h){b(h.message)}};if(!s&&c)return e.jsxDEV("div",{className:"animate-pulse space-y-4",children:[e.jsxDEV("div",{className:"h-8 bg-surface-sunken rounded w-48"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:110,columnNumber:53},this),e.jsxDEV("div",{className:"h-60 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:110,columnNumber:107},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:110,columnNumber:12},this);const z=l.isPending||x.isPending;return e.jsxDEV("div",{children:[e.jsxDEV(ce,{title:s?"New Agent":`Agent: ${(r==null?void 0:r.id)??""}`,docsHash:"#docs:agents.md"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:117,columnNumber:7},this),e.jsxDEV("div",{className:"flex gap-10",children:[e.jsxDEV("nav",{className:"w-44 shrink-0 sticky top-0 self-start pt-2",children:[e.jsxDEV("div",{className:"space-y-0.5",children:Pe.map(h=>{const v=h.icon,y=k===h.id;return e.jsxDEV("button",{onClick:()=>X(h.id),className:`w-full flex items-center gap-2.5 px-3 py-2 rounded-md text-left transition-colors ${y?"bg-accent/10 text-accent":"text-text-tertiary hover:text-text-primary hover:bg-surface-hover"}`,children:[e.jsxDEV(v,{className:"w-3.5 h-3.5 shrink-0",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:139,columnNumber:19},this),e.jsxDEV("span",{className:"text-xs font-medium",children:h.label},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:140,columnNumber:19},this)]},h.id,!0,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:130,columnNumber:17},this)})},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:125,columnNumber:11},this),e.jsxDEV("div",{className:"mt-8 pt-4 border-t border-surface-border space-y-2",children:[e.jsxDEV("button",{onClick:Z,disabled:!o.name.trim()||z,className:"w-full btn-primary text-xs disabled:opacity-50",children:z?"Saving...":s?"Create Agent":"Save"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:148,columnNumber:13},this),e.jsxDEV("button",{onClick:()=>d(s?"/agents":`/agents/${a}`),className:"w-full btn-ghost text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:155,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:147,columnNumber:11},this),t&&e.jsxDEV("p",{className:"text-xs text-status-error mt-3",children:t},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:163,columnNumber:25},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:124,columnNumber:9},this),e.jsxDEV("div",{className:"flex-1 min-w-0 pt-2",children:[k===1&&e.jsxDEV(De,{form:o,set:R},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:168,columnNumber:29},this),k===2&&e.jsxDEV(je,{form:o,set:R},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:169,columnNumber:29},this),k===3&&e.jsxDEV(ye,{form:o,set:R},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:170,columnNumber:29},this),k===4&&e.jsxDEV(ke,{form:o,set:R},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:171,columnNumber:29},this),k===5&&e.jsxDEV(Re,{form:o,set:R},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:172,columnNumber:29},this),k===6&&e.jsxDEV(Ae,{form:o},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:173,columnNumber:29},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:167,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:122,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/detail/AgentConfigPage.tsx",lineNumber:116,columnNumber:5},this)}export{He as AgentConfigPage};
13
- //# sourceMappingURL=AgentConfigPage-Br2O6NDa.js.map
@@ -1,4 +0,0 @@
1
- import{j as e,u as $,N as S}from"./index-MnRuwfHN.js";import{a as f}from"./vendor-query-DLp59M9_.js";import{a as q,b as _,c as T}from"./agents-Bd6SNUID.js";import{u as B,C as j}from"./CronLabel-fYpkTnEd.js";import{i as R}from"./useEventHooks-xXspN8_9.js";import{E as V}from"./EventTopicPill-DCqcr7N7.js";import{W as D}from"./WorkflowPill-C7jE0e1g.js";import{a as W,B as L,K,P as z,aD as F,o as I,aE as M,R as y,a4 as U,d as H,aF as G}from"./vendor-icons-YdqUbzg6.js";import{e as J,c as O}from"./vendor-react-Co3Y8ikm.js";function X(t){return new Date(t).toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}function c({icon:t,color:n,children:a,actions:d}){return e.jsxDEV("div",{className:"flex items-center justify-between mb-3 pb-2 border-b border-surface-border",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV(t,{className:`w-4 h-4 ${n}`,strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:26,columnNumber:9},this),e.jsxDEV("h2",{className:"text-xs font-semibold uppercase tracking-widest text-accent/80",children:a},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:27,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:25,columnNumber:7},this),d]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:24,columnNumber:5},this)}function b({text:t}){return e.jsxDEV("p",{className:"text-[11px] text-text-quaternary py-2",children:t},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:35,columnNumber:10},this)}let Y=0;function Q(t){const[n,a]=f.useState([]),[d,m]=f.useState(!1),g=f.useCallback(r=>{var p,N,i;if((p=r.type)!=null&&p.startsWith("mesh.")||t&&r.workflowName!==t)return;const u=r.activityName||((N=r.data)==null?void 0:N.domain)||((i=r.workflowId)==null?void 0:i.slice(0,16))||"";a(x=>[{id:++Y,type:r.type,timestamp:r.timestamp,label:u},...x].slice(0,10)),m(!0),setTimeout(()=>m(!1),2e3)},[t]);return $(`${S}.>`,g),{events:n,pulse:d}}function oe(){var v,A,E,P;const{id:t}=J(),n=O(),{data:a,isLoading:d}=q(t??null),{data:m}=B(t??null),g=_(),r=T(),{events:u,pulse:p}=Q((a==null?void 0:a.workflow_type)??void 0);if(R(),d)return e.jsxDEV("div",{className:"animate-pulse space-y-4",children:[e.jsxDEV("div",{className:"h-8 bg-surface-sunken rounded w-48"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:71,columnNumber:53},this),e.jsxDEV("div",{className:"h-40 bg-surface-sunken rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:71,columnNumber:107},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:71,columnNumber:12},this);if(!a)return e.jsxDEV("div",{className:"flex flex-col items-center justify-center py-20 text-center",children:[e.jsxDEV(W,{className:"w-12 h-12 text-text-quaternary mb-4",strokeWidth:1},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:77,columnNumber:9},this),e.jsxDEV("h2",{className:"text-lg font-medium text-text-primary mb-2",children:"Agent not found"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:78,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>n("/agents"),className:"text-sm text-accent hover:text-accent-hover transition-colors",children:"Back to agents"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:79,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:76,columnNumber:7},this);const N=a.status==="active"?"bg-emerald-400":a.status==="paused"?"bg-amber-400":a.status==="error"?"bg-red-400":"bg-zinc-500",i=(m==null?void 0:m.subscriptions)??[],x=a.status==="active"?"Active":a.status==="paused"?"Paused":a.status==="error"?"Error":"Inactive",l=(v=a.behaviors)==null?void 0:v.schedules,h=(A=a.behaviors)==null?void 0:A.cron,o=(l==null?void 0:l.length)||(h?1:0),w=()=>{const s=[`Pause "${a.id}"?`,"","This will:",i.length>0?`• Stop ${i.length} event subscription${i.length!==1?"s":""}`:null,o>0?`• Stop ${o} schedule${o!==1?"s":""}`:null,"","Knowledge and workflow history are preserved. You can reactivate anytime."].filter(Boolean).join(`
2
- `);confirm(s)&&g.mutate({id:a.id,status:"paused"})},k=()=>{const s=[`Delete "${a.id}"?`,"","This permanently removes:","• The agent configuration",i.length>0?`• ${i.length} event subscription${i.length!==1?"s":""}`:null,o>0?`• ${o} schedule${o!==1?"s":""}`:null,"","Knowledge entries and workflow history are preserved."].filter(Boolean).join(`
3
- `);confirm(s)&&r.mutate(a.id,{onSuccess:()=>n("/agents")})};return e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-start justify-between mb-3",children:[e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("h1",{className:"text-3xl font-light text-text-primary",children:["Agent: ",a.id]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:123,columnNumber:11},this),e.jsxDEV("button",{onClick:()=>{window.location.hash="#docs:agents.md"},className:"text-text-quaternary hover:text-accent transition-colors mt-1",title:"Agent docs",children:e.jsxDEV(L,{className:"w-4 h-4",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:125,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:124,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:122,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("div",{className:"flex items-center gap-1.5 mr-2",children:[e.jsxDEV("span",{className:`w-2 h-2 rounded-full ${N}`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:130,columnNumber:13},this),e.jsxDEV("span",{className:"text-xs text-text-secondary capitalize",children:x},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:131,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:129,columnNumber:11},this),e.jsxDEV("button",{onClick:()=>n(`/agents/${a.id}/edit`),className:"flex items-center gap-1.5 px-4 py-1.5 text-xs rounded-md bg-accent text-text-inverse hover:bg-accent-hover transition-colors",children:[e.jsxDEV(K,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:134,columnNumber:13},this)," Edit"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:133,columnNumber:11},this),a.status!=="active"&&e.jsxDEV("button",{onClick:()=>g.mutate({id:a.id,status:"active"}),className:"flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md text-emerald-400 hover:bg-emerald-600/10 transition-colors",children:[e.jsxDEV(z,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:138,columnNumber:15},this)," Activate"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:137,columnNumber:13},this),a.status==="active"&&e.jsxDEV("button",{onClick:w,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md text-text-tertiary hover:text-text-primary hover:bg-surface-hover transition-colors",children:[e.jsxDEV(F,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:143,columnNumber:15},this)," Pause"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:142,columnNumber:13},this),e.jsxDEV("button",{onClick:k,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md text-red-400/60 hover:text-red-400 hover:bg-red-600/10 transition-colors",children:[e.jsxDEV(I,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:147,columnNumber:13},this)," Delete"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:146,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:128,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:121,columnNumber:7},this),a.description&&e.jsxDEV("div",{className:"border-l-2 border-accent/30 pl-4 py-1 mb-10",children:e.jsxDEV("p",{className:"text-[13px] text-text-secondary italic leading-relaxed",children:a.description},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:155,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:154,columnNumber:9},this),(a.goals||a.rules)&&e.jsxDEV("div",{className:"mb-10",children:[e.jsxDEV(c,{icon:M,color:"text-rose-400",children:"Motivation"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:162,columnNumber:11},this),e.jsxDEV("div",{className:"grid grid-cols-2 gap-x-14 bg-surface-sunken/20 rounded-lg px-5 py-4",children:[a.goals&&e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] text-text-quaternary uppercase tracking-widest mb-1.5",children:"Goals"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:166,columnNumber:17},this),e.jsxDEV("p",{className:"text-[13px] text-text-primary leading-relaxed",children:a.goals},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:167,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:165,columnNumber:15},this),a.rules&&e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] text-text-quaternary uppercase tracking-widest mb-1.5",children:"Rules"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:172,columnNumber:17},this),e.jsxDEV("p",{className:"text-[13px] text-text-primary leading-relaxed",children:a.rules},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:173,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:171,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:163,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:161,columnNumber:9},this),e.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-3 gap-x-14 gap-y-10",children:[e.jsxDEV("div",{children:[e.jsxDEV(c,{icon:y,color:"text-cyan-400",children:["Subscriptions (",i.length,")"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:185,columnNumber:11},this),i.length===0?e.jsxDEV(b,{text:"No event subscriptions"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:189,columnNumber:13},this):e.jsxDEV("div",{className:"divide-y divide-surface-border/30",children:i.map(s=>e.jsxDEV("div",{className:"flex items-center py-2",children:[e.jsxDEV("div",{className:"flex-1 min-w-0",children:e.jsxDEV(V,{topic:s.topic},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:194,columnNumber:51},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:194,columnNumber:19},this),e.jsxDEV("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsxDEV("span",{className:"text-text-quaternary text-[10px]",children:"→"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:196,columnNumber:21},this),e.jsxDEV(D,{type:s.workflow_type||"mcp-query",variant:s.reaction_type==="pipeline"?"pipeline":"durable"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:197,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:195,columnNumber:19},this)]},s.id,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:193,columnNumber:17},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:191,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:184,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV(c,{icon:U,color:"text-amber-400",children:["Schedules (",o,")"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:207,columnNumber:11},this),l!=null&&l.length?e.jsxDEV("div",{className:"divide-y divide-surface-border/30",children:l.map((s,C)=>e.jsxDEV("div",{className:"flex items-center py-2",children:[e.jsxDEV("div",{className:"flex-1 min-w-0",children:e.jsxDEV(j,{cron:s.cron},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:212,columnNumber:51},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:212,columnNumber:19},this),e.jsxDEV("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsxDEV("span",{className:"text-text-quaternary text-[10px]",children:"→"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:213,columnNumber:71},this),e.jsxDEV(D,{type:s.workflow_type||"workflow"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:213,columnNumber:130},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:213,columnNumber:19},this)]},C,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:211,columnNumber:17},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:209,columnNumber:13},this):h?e.jsxDEV("div",{className:"flex items-center py-1",children:[e.jsxDEV("div",{className:"flex-1 min-w-0",children:e.jsxDEV(j,{cron:h},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:219,columnNumber:47},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:219,columnNumber:15},this),a.workflow_type&&e.jsxDEV("div",{className:"flex items-center gap-1.5 shrink-0",children:[e.jsxDEV("span",{className:"text-text-quaternary text-[10px]",children:"→"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:220,columnNumber:91},this),e.jsxDEV(D,{type:a.workflow_type},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:220,columnNumber:150},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:220,columnNumber:39},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:218,columnNumber:13},this):e.jsxDEV(b,{text:"No schedules configured"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:223,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:206,columnNumber:9},this),e.jsxDEV("div",{className:"space-y-10",children:[e.jsxDEV("div",{children:[e.jsxDEV(c,{icon:H,color:"text-emerald-400",children:"Knowledge"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:230,columnNumber:13},this),a.knowledge_domain?e.jsxDEV("button",{onClick:()=>n(`/knowledge?domain=${a.knowledge_domain}`),className:"group text-left flex items-center gap-3",children:[e.jsxDEV("span",{className:"text-sm font-mono text-text-primary group-hover:text-accent transition-colors",children:a.knowledge_domain},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:233,columnNumber:17},this),e.jsxDEV("span",{className:"text-[10px] text-text-quaternary",children:[((P=(E=a.stats)==null?void 0:E.knowledge_count)==null?void 0:P.toLocaleString())??0," entries"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:234,columnNumber:17},this),e.jsxDEV(G,{className:"w-3 h-3 text-accent opacity-0 group-hover:opacity-100 transition-opacity"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:235,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:232,columnNumber:15},this):e.jsxDEV(b,{text:"No knowledge domain"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:238,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:229,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV(c,{icon:y,color:"text-cyan-400",actions:e.jsxDEV("div",{className:"flex items-center gap-1.5",children:[e.jsxDEV("span",{className:`w-1.5 h-1.5 rounded-full transition-colors duration-500 ${p?"bg-emerald-400":"bg-zinc-600"}`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:246,columnNumber:19},this),e.jsxDEV("span",{className:"text-[10px] text-text-quaternary",children:"live"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:247,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:245,columnNumber:17},this),children:"Activity"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:243,columnNumber:13},this),u.length===0?e.jsxDEV(b,{text:"Events appear here as the agent runs"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:254,columnNumber:15},this):e.jsxDEV("div",{className:"space-y-1.5",children:u.map(s=>e.jsxDEV("div",{children:[e.jsxDEV("div",{className:"flex items-center justify-between mb-0.5",children:[e.jsxDEV("span",{className:"text-[11px] text-text-primary font-mono truncate flex-1",children:s.label||"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:260,columnNumber:23},this),e.jsxDEV("span",{className:"text-[10px] text-text-quaternary shrink-0 ml-2",children:X(s.timestamp)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:261,columnNumber:23},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:259,columnNumber:21},this),e.jsxDEV(V,{topic:s.type},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:263,columnNumber:21},this)]},s.id,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:258,columnNumber:19},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:256,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:242,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:228,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:181,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentDetailPage.tsx",lineNumber:119,columnNumber:5},this)}export{oe as AgentDetailPage};
4
- //# sourceMappingURL=AgentDetailPage-DjgOR62z.js.map
@@ -1,2 +0,0 @@
1
- import{j as e,c as u}from"./index-MnRuwfHN.js";import{u as g}from"./agents-Bd6SNUID.js";import{i as c}from"./useEventHooks-xXspN8_9.js";import{u as p}from"./useFilterParams-CGRYFw_A.js";import{D as b}from"./DataTable-VKt4pvC-.js";import{S as N}from"./StickyPagination-CXBDS1ka.js";import{F as f,b as x}from"./FilterBar-BoRQss2J.js";import{P as h}from"./PageHeader-C4DNgZKA.js";import{L as v}from"./ListToolbar-BMWttsi2.js";import{Y as P}from"./vendor-icons-YdqUbzg6.js";import{c as A}from"./vendor-react-Co3Y8ikm.js";import"./vendor-query-DLp59M9_.js";import"./EmptyState-Di6_NfbP.js";const D=[{value:"active",label:"Active"},{value:"inactive",label:"Inactive"},{value:"paused",label:"Paused"},{value:"error",label:"Error"}],E=[{key:"name",label:"Agent",render:a=>e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{className:`w-1.5 h-1.5 rounded-full shrink-0 ${a.status==="active"?"bg-emerald-400":a.status==="paused"?"bg-amber-400":a.status==="error"?"bg-red-400":"bg-zinc-500"}`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:26,columnNumber:9},void 0),e.jsxDEV("div",{className:"min-w-0",children:[e.jsxDEV("span",{className:"text-xs font-medium text-text-primary block",children:a.id},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:28,columnNumber:11},void 0),a.description&&e.jsxDEV("p",{className:"text-[10px] text-text-tertiary truncate",children:a.description},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:29,columnNumber:31},void 0)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:27,columnNumber:9},void 0)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:25,columnNumber:7},void 0)},{key:"knowledge_domain",label:"Knowledge",render:a=>a.knowledge_domain?e.jsxDEV("span",{className:"text-[10px] font-mono text-text-secondary whitespace-nowrap",children:a.knowledge_domain},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:38,columnNumber:9},void 0):e.jsxDEV("span",{className:"text-text-quaternary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:39,columnNumber:9},void 0),className:"w-28"},{key:"schedules",label:"Schedules",render:a=>{var s,n;const t=(s=a.behaviors)==null?void 0:s.schedules,r=t!=null&&t.length?t.map(l=>l.cron):(n=a.behaviors)!=null&&n.cron?[a.behaviors.cron]:[];return r.length?e.jsxDEV("span",{className:"text-[10px] font-mono text-text-secondary whitespace-nowrap",children:[r[0],r.length>1?` +${r.length-1}`:""]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:49,columnNumber:14},void 0):e.jsxDEV("span",{className:"text-text-quaternary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:48,columnNumber:33},void 0)},className:"w-28"},{key:"subscriptions",label:"Subscriptions",render:a=>{var n;const t=a.subscription_count??0,r=a.sub_topics??[];if(!t)return e.jsxDEV("span",{className:"text-text-quaternary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:59,columnNumber:26},void 0);const s=((n=r[0])==null?void 0:n.replace(/^lt\.events\./,""))??"";return e.jsxDEV("span",{className:"text-[10px] font-mono text-text-secondary whitespace-nowrap",children:[s,t>1?` +${t-1}`:""]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:61,columnNumber:14},void 0)},className:"w-36"},{key:"last_run_at",label:"Last Run",render:a=>a.last_run_at?e.jsxDEV("span",{className:"whitespace-nowrap",children:e.jsxDEV(u,{date:a.last_run_at},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:69,columnNumber:45},void 0)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:69,columnNumber:9},void 0):e.jsxDEV("span",{className:"text-text-quaternary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:70,columnNumber:9},void 0),className:"w-32"}];function L(){const a=A();c();const{filters:t,setFilter:r,pagination:s}=p({filters:{status:""}}),{data:n,isLoading:l,refetch:m,isFetching:d}=g({status:t.status||void 0,limit:s.pageSize,offset:s.offset}),o=(n==null?void 0:n.total)??0;return e.jsxDEV("div",{children:[e.jsxDEV(h,{title:"Agents",docsHash:"#docs:agents.md",actions:e.jsxDEV("button",{onClick:()=>a("/agents/new"),className:"flex items-center gap-2 px-4 py-2 text-sm rounded-md bg-accent text-text-inverse hover:bg-accent-hover transition-colors",children:[e.jsxDEV(P,{className:"w-4 h-4"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:101,columnNumber:13},this)," Create Agent"]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:97,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:93,columnNumber:7},this),e.jsxDEV(f,{actions:e.jsxDEV(v,{onRefresh:()=>m(),isFetching:d,apiPath:`/agents?limit=${s.pageSize}&offset=${s.offset}${t.status?`&status=${t.status}`:""}`},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:107,columnNumber:9},this),children:e.jsxDEV(x,{label:"Status",value:t.status,onChange:i=>r("status",i),options:D},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:113,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:106,columnNumber:7},this),e.jsxDEV(b,{columns:E,data:(n==null?void 0:n.agents)??[],keyFn:i=>i.id,onRowClick:i=>a(`/agents/${i.id}`),isLoading:l,emptyMessage:"No agents found"},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:121,columnNumber:7},this),e.jsxDEV(N,{page:s.page,totalPages:s.totalPages(o),onPageChange:s.setPage,total:o,pageSize:s.pageSize,onPageSizeChange:s.setPageSize},void 0,!1,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:130,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/agents/AgentsPage.tsx",lineNumber:92,columnNumber:5},this)}export{L as AgentsPage};
2
- //# sourceMappingURL=AgentsPage-CASVGEvY.js.map
@@ -1,2 +0,0 @@
1
- import{j as e,i as Q,e as pe,k as be,l as he,m as Ne,n as xe,o as ge,p as fe,q as ve,r as Ee}from"./index-MnRuwfHN.js";import{a as r}from"./vendor-query-DLp59M9_.js";import{f as ke}from"./useEventHooks-xXspN8_9.js";import{u as ye}from"./roles-DogkRzK2.js";import{u as Be}from"./useFilterParams-CGRYFw_A.js";import{D as Ce}from"./DataTable-VKt4pvC-.js";import{S as Ae}from"./StickyPagination-CXBDS1ka.js";import{P as je}from"./PageHeader-C4DNgZKA.js";import{P as De}from"./constants-BHkpVaqx.js";import{u as R,C as G}from"./CustomDurationPicker-CSarfbO1.js";import{M as O}from"./Modal-IsEbA4rW.js";import{u as Ve}from"./users-DWQ-ojf9.js";import{E as Me,a as Pe}from"./escalation-columns-DEE62U3_.js";import{R as Se,a as Te}from"./RowActions-uGuPBEWb.js";import{L as we}from"./ListToolbar-BMWttsi2.js";import{a1 as Fe}from"./vendor-icons-YdqUbzg6.js";import{c as Ie}from"./vendor-react-Co3Y8ikm.js";import"./EmptyState-Di6_NfbP.js";import"./settings-D2sLRpie.js";import"./FilterBar-BoRQss2J.js";import"./PriorityBadge-kSpsF-Zm.js";import"./RolePill-DmdF9L9Q.js";import"./WorkflowPill-C7jE0e1g.js";import"./TimestampCell-zFm6ze1U.js";import"./escalation-CJQPC0gm.js";const _e=s=>s.isPriorityPending||s.isClaimPending||s.isAssignPending||s.isEscalatePending||s.isTriagePending;function $e(s){const t=_e(s),m=R();return e.jsxDEV("div",{className:"flex flex-wrap items-center gap-3 px-4 py-3 bg-accent/5 border border-accent/20 rounded-lg mb-4",children:[e.jsxDEV("span",{className:"text-xs font-medium text-accent",children:[s.selectedCount," selected"]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:29,columnNumber:7},this),e.jsxDEV("div",{className:"w-px h-5 bg-surface-border"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:33,columnNumber:7},this),e.jsxDEV("select",{onChange:a=>{a.target.value&&(s.onSetPriority(parseInt(a.target.value)),a.target.value="")},disabled:t,className:"select text-xs py-1.5",defaultValue:"",children:[e.jsxDEV("option",{value:"",disabled:!0,children:"Priority..."},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:46,columnNumber:9},this),De.map(a=>e.jsxDEV("option",{value:a.value,children:a.label},a.value,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:48,columnNumber:11},this))]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:36,columnNumber:7},this),e.jsxDEV("select",{onChange:a=>{a.target.value&&(s.onClaim(parseInt(a.target.value)),a.target.value="")},disabled:t,className:"select text-xs py-1.5",defaultValue:"",children:[e.jsxDEV("option",{value:"",disabled:!0,children:"Claim for..."},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:63,columnNumber:9},this),m.map(a=>e.jsxDEV("option",{value:a.value,children:a.label},a.value,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:65,columnNumber:11},this))]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:53,columnNumber:7},this),e.jsxDEV("button",{onClick:s.onAssign,disabled:t,className:"btn-secondary text-xs py-1.5",children:s.isAssignPending?"Assigning...":"Assign to..."},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:70,columnNumber:7},this),s.availableRoles.length>0&&e.jsxDEV("select",{onChange:a=>{a.target.value&&(s.onEscalate(a.target.value),a.target.value="")},disabled:t,className:"select text-xs py-1.5",defaultValue:"",children:[e.jsxDEV("option",{value:"",disabled:!0,children:"Escalate to..."},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:90,columnNumber:11},this),s.availableRoles.map(a=>e.jsxDEV("option",{value:a,children:a},a,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:92,columnNumber:13},this))]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:80,columnNumber:9},this),e.jsxDEV("button",{onClick:s.onTriage,disabled:t,className:"btn-secondary text-xs py-1.5",children:s.isTriagePending?"Triaging...":"Triage"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:98,columnNumber:7},this),e.jsxDEV("div",{className:"flex-1"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:106,columnNumber:7},this),e.jsxDEV("button",{onClick:s.onClearSelection,className:"text-xs text-text-tertiary hover:text-text-primary transition-colors",children:"Clear"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:109,columnNumber:7},this),t&&e.jsxDEV("span",{className:"text-xs text-text-tertiary animate-pulse",children:"Processing..."},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:117,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkActionBar.tsx",lineNumber:28,columnNumber:5},this)}function ze({open:s,onClose:t,selectedCount:m,selectedRoles:a,onSubmit:h,isPending:i}){const{isSuperAdmin:u}=Q(),n=R(),[c,g]=r.useState("user"),[N,B]=r.useState(null),[C,V]=r.useState(""),[y,F]=r.useState("30"),[d,b]=r.useState(0),z=r.useCallback(l=>b(l),[]),M=!u&&a.length===1?a[0]:void 0,{data:f,isLoading:A}=Ve({role:M,status:"active",limit:200}),P=r.useMemo(()=>{const l=(f==null?void 0:f.users)??[];if(!C.trim())return l;const x=C.toLowerCase();return l.filter(j=>{var v,E;return((v=j.display_name)==null?void 0:v.toLowerCase().includes(x))||((E=j.email)==null?void 0:E.toLowerCase().includes(x))})},[f==null?void 0:f.users,C]),S=()=>{g("user"),B(null),V(""),F("30"),b(0),t()},I=l=>{B(l),g("duration")},T=()=>{g("user")},_=()=>{if(!N)return;const l=y==="custom"?d:parseInt(y);!l||l<=0||h(N.id,l)};return e.jsxDEV(O,{open:s,onClose:S,title:"Assign Escalations",children:e.jsxDEV("div",{className:"space-y-4",children:[c==="user"&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("p",{className:"text-sm text-text-secondary",children:["Select a user to assign"," ",e.jsxDEV("span",{className:"font-medium text-text-primary",children:m},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:89,columnNumber:15},this)," ","escalation(s) to:"]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:87,columnNumber:13},this),e.jsxDEV("input",{type:"text",value:C,onChange:l=>V(l.target.value),placeholder:"Search by name or email...",className:"input text-xs w-full",autoFocus:!0},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:95,columnNumber:13},this),e.jsxDEV("div",{className:"max-h-60 overflow-y-auto border border-surface-border rounded-lg divide-y divide-surface-border",children:[A&&e.jsxDEV("p",{className:"text-xs text-text-tertiary p-3",children:"Loading users..."},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:106,columnNumber:17},this),!A&&P.length===0&&e.jsxDEV("p",{className:"text-xs text-text-tertiary p-3",children:"No users found"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:111,columnNumber:17},this),P.map(l=>e.jsxDEV("button",{onClick:()=>I(l),className:"w-full text-left px-3 py-2 hover:bg-surface-hover transition-colors",children:[e.jsxDEV("p",{className:"text-xs font-medium text-text-primary",children:l.display_name||l.external_id},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:121,columnNumber:19},this),l.email&&e.jsxDEV("p",{className:"text-[10px] text-text-tertiary",children:l.email},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:125,columnNumber:21},this)]},l.id,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:116,columnNumber:17},this))]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:104,columnNumber:13},this),e.jsxDEV("div",{className:"flex justify-end pt-2",children:e.jsxDEV("button",{onClick:S,className:"btn-secondary text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:134,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:133,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:86,columnNumber:11},this),c==="duration"&&N&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("p",{className:"text-sm text-text-secondary",children:["Assign to"," ",e.jsxDEV("span",{className:"font-medium text-text-primary",children:N.display_name||N.external_id},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:145,columnNumber:15},this)," ","for:"]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:143,columnNumber:13},this),e.jsxDEV("select",{value:y,onChange:l=>{F(l.target.value),b(0)},className:"select w-full text-sm",children:[n.map(l=>e.jsxDEV("option",{value:l.value,children:l.label},l.value,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:157,columnNumber:17},this)),e.jsxDEV("option",{value:"custom",children:"Other..."},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:161,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:151,columnNumber:13},this),y==="custom"&&e.jsxDEV(G,{onChange:z,autoFocus:!0},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:164,columnNumber:15},this),e.jsxDEV("div",{className:"flex justify-end gap-3 pt-2",children:[e.jsxDEV("button",{onClick:T,className:"btn-secondary text-xs",children:"Back"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:168,columnNumber:15},this),e.jsxDEV("button",{onClick:_,disabled:i,className:"btn-primary text-xs",children:i?"Assigning...":"Assign"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:171,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:167,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:142,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:84,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkAssignModal.tsx",lineNumber:83,columnNumber:5},this)}function Le({open:s,onClose:t,selectedCount:m,onSubmit:a,isPending:h}){const[i,u]=r.useState(""),n=()=>{a(i||void 0)};return e.jsxDEV(O,{open:s,onClose:t,title:"Submit for AI Triage",children:e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("p",{className:"text-sm text-text-secondary",children:["Submit ",e.jsxDEV("span",{className:"font-medium text-text-primary",children:m},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkTriageModal.tsx",lineNumber:29,columnNumber:18},this)," escalation(s) for AI triage? The triage orchestrator will take over resolution."]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkTriageModal.tsx",lineNumber:28,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"text-xs font-medium text-text-secondary block mb-1",children:["Triage hint ",e.jsxDEV("span",{className:"text-text-tertiary",children:"(optional)"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkTriageModal.tsx",lineNumber:35,columnNumber:25},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkTriageModal.tsx",lineNumber:34,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:i,onChange:c=>u(c.target.value),placeholder:"e.g., image_orientation",className:"input text-xs font-mono w-full"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkTriageModal.tsx",lineNumber:37,columnNumber:11},this),e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-1",children:"Guides the triage workflow on what remediation to apply"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkTriageModal.tsx",lineNumber:44,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkTriageModal.tsx",lineNumber:33,columnNumber:9},this),e.jsxDEV("div",{className:"flex justify-end gap-3 pt-2",children:[e.jsxDEV("button",{onClick:t,className:"btn-secondary text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkTriageModal.tsx",lineNumber:50,columnNumber:11},this),e.jsxDEV("button",{onClick:n,disabled:h,className:"btn-primary text-xs",children:h?"Submitting...":"Submit for Triage"},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkTriageModal.tsx",lineNumber:53,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkTriageModal.tsx",lineNumber:49,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/modal/BulkTriageModal.tsx",lineNumber:27,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/modal/BulkTriageModal.tsx",lineNumber:26,columnNumber:5},this)}function w(s,t,m){return a=>{s.mutate(a,{onSuccess:()=>{t(),m==null||m()}})}}function Re(s){const t=()=>[...s.selectedIds];return{handleSetPriority:n=>{w(s.setPriority,s.clearSelection)({ids:t(),priority:n})},handleBulkClaim:n=>{w(s.bulkClaim,s.clearSelection)({ids:t(),durationMinutes:n})},handleBulkEscalate:n=>{w(s.bulkEscalate,s.clearSelection)({ids:t(),targetRole:n})},handleBulkTriage:n=>{w(s.bulkTriage,s.clearSelection,s.closeTriageModal)({ids:t(),hint:n})},handleBulkAssign:(n,c)=>{w(s.bulkAssign,s.clearSelection,s.closeAssignModal)({ids:t(),targetUserId:n,durationMinutes:c})}}}function Oe({claimTarget:s,onClose:t,claimDuration:m,onDurationChange:a,claimDurations:h,onCustomClaimChange:i,onClaim:u,isPending:n}){return e.jsxDEV(O,{open:!!s,onClose:t,title:"Claim Escalation",children:e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("p",{className:"text-sm text-text-secondary",children:["Claim ",e.jsxDEV("span",{className:"font-medium text-text-primary",children:s==null?void 0:s.type},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/ClaimModal.tsx",lineNumber:35,columnNumber:17},this)," for:"]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/ClaimModal.tsx",lineNumber:34,columnNumber:9},this),e.jsxDEV("select",{value:m,onChange:c=>{a(c.target.value)},className:"select w-full text-sm",children:[h.map(c=>e.jsxDEV("option",{value:c.value,children:c.label},c.value,!1,{fileName:"/app/dashboard/src/pages/operator/ClaimModal.tsx",lineNumber:43,columnNumber:13},this)),e.jsxDEV("option",{value:"custom",children:"Other..."},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/ClaimModal.tsx",lineNumber:45,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/ClaimModal.tsx",lineNumber:37,columnNumber:9},this),m==="custom"&&e.jsxDEV(G,{onChange:i,autoFocus:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/ClaimModal.tsx",lineNumber:48,columnNumber:11},this),e.jsxDEV("div",{className:"flex justify-end gap-3 pt-2",children:[e.jsxDEV("button",{onClick:t,className:"btn-secondary text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/ClaimModal.tsx",lineNumber:51,columnNumber:11},this),e.jsxDEV("button",{onClick:u,className:"btn-primary text-xs",disabled:n,children:n?"Claiming...":"Claim"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/ClaimModal.tsx",lineNumber:54,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/ClaimModal.tsx",lineNumber:50,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/ClaimModal.tsx",lineNumber:33,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/ClaimModal.tsx",lineNumber:28,columnNumber:5},this)}function ba(){ke();const s=Ie(),{user:t,isSuperAdmin:m}=Q(),{filters:a,setFilter:h,pagination:i,sort:u,setSort:n}=Be({filters:{role:"",type:"",priority:"",status:"available"}}),c=R(),[g,N]=r.useState(null),[B,C]=r.useState("30"),[V,y]=r.useState(0),F=r.useCallback(o=>y(o),[]),[d,b]=r.useState(new Set),[z,M]=r.useState(!1),[f,A]=r.useState(!1),P=pe(),S=be(),I=he(),T=Ne(),_=xe(),l=ge(),{data:x}=ye(),{data:j}=fe();r.useEffect(()=>{b(new Set)},[a.role,a.type,a.priority,a.status,i.page,i.pageSize]);const v=a.status||"",E=v==="available",L=v==="claimed"?"pending":v==="resolved"?"resolved":void 0,U={role:a.role||void 0,type:a.type||void 0,priority:a.priority?parseInt(a.priority):void 0,limit:i.pageSize,offset:i.offset,sort_by:u.sort_by||void 0,order:u.sort_by?u.order:void 0},Y=ve({...U,enabled:E}),J=Ee({status:L,...U,enabled:!E}),K=E?Y:J,{data:D,isLoading:W,error:$,refetch:X,isFetching:Z}=K,ee=new Date,H=(D==null?void 0:D.escalations)??[],k=v==="claimed"?H.filter(o=>o.assigned_to&&o.assigned_until&&new Date(o.assigned_until)>ee):H,q=v==="claimed"?k.length:(D==null?void 0:D.total)??0,ae=m||(t==null?void 0:t.roles.some(o=>o.type==="admin")),se=r.useMemo(()=>{const o=new Set;for(const p of k)d.has(p.id)&&o.add(p.role);return[...o]},[k,d]),oe=r.useCallback(()=>b(new Set),[]),le=()=>{if(!g)return;const o=B==="custom"?V:parseInt(B);!o||o<=0||P.mutate({id:g.id,durationMinutes:o},{onSuccess:()=>{N(null),s(`/escalations/detail/${g.id}`)}})},{handleSetPriority:te,handleBulkClaim:ie,handleBulkEscalate:ne,handleBulkTriage:re,handleBulkAssign:me}=Re({selectedIds:d,clearSelection:oe,setPriority:S,bulkClaim:I,bulkEscalate:_,bulkTriage:l,bulkAssign:T,closeTriageModal:()=>M(!1),closeAssignModal:()=>A(!1)}),ce=o=>{const p=new Set(d);p.has(o)?p.delete(o):p.add(o),b(p)},de=()=>{d.size===k.length?b(new Set):b(new Set(k.map(o=>o.id)))},ue=[ae?{key:"select",label:e.jsxDEV("input",{type:"checkbox",checked:k.length>0&&d.size===k.length,onChange:de,className:"rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:166,columnNumber:9},this),render:o=>e.jsxDEV("input",{type:"checkbox",checked:d.has(o.id),onChange:p=>{p.stopPropagation(),ce(o.id)},onClick:p=>p.stopPropagation(),className:"rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:174,columnNumber:9},this),className:"w-10"}:{key:"spacer",label:"",render:()=>null,className:"w-10"},...Me,{key:"actions",label:"",render:o=>e.jsxDEV(Se,{children:e.jsxDEV(Te,{icon:Fe,title:"Claim escalation",onClick:()=>N(o)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:198,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:197,columnNumber:9},this),className:"w-16 text-right"}];return e.jsxDEV("div",{children:[e.jsxDEV(je,{title:"All Escalations",docsHash:"#docs:dashboard.md:all-escalations"},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:211,columnNumber:7},this),e.jsxDEV(Pe,{filters:a,setFilter:h,roles:(x==null?void 0:x.roles)??[],types:(j==null?void 0:j.types)??[],showStatus:!0,actions:e.jsxDEV(we,{onRefresh:()=>X(),isFetching:Z,apiPath:`/escalations${E?"/available":""}?limit=${i.pageSize}&offset=${i.offset}${L?`&status=${L}`:""}${a.role?`&role=${a.role}`:""}${a.type?`&type=${a.type}`:""}${a.priority?`&priority=${a.priority}`:""}`},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:220,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:213,columnNumber:7},this),d.size>0&&e.jsxDEV($e,{selectedCount:d.size,onClearSelection:()=>b(new Set),onSetPriority:te,onClaim:ie,onAssign:()=>A(!0),onEscalate:ne,onTriage:()=>M(!0),isPriorityPending:S.isPending,isClaimPending:I.isPending,isAssignPending:T.isPending,isEscalatePending:_.isPending,isTriagePending:l.isPending,availableRoles:(x==null?void 0:x.roles)??[]},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:229,columnNumber:9},this),$&&e.jsxDEV("div",{className:"mb-4 px-4 py-3 rounded-md bg-status-error/10 border border-status-error/20 text-xs text-status-error",children:$.message==="Session expired"?"Your session has expired. Please log in again.":`Failed to load escalations: ${$.message}`},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:247,columnNumber:9},this),e.jsxDEV(Ce,{columns:ue,data:k,keyFn:o=>o.id,onRowClick:o=>s(`/escalations/detail/${o.id}`,{state:{from:"/escalations/available"}}),isLoading:W,emptyMessage:$?"Unable to load data":"No available escalations",sort:u,onSort:n},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:254,columnNumber:7},this),e.jsxDEV(Ae,{page:i.page,totalPages:i.totalPages(q),onPageChange:i.setPage,total:q,pageSize:i.pageSize,onPageSizeChange:i.setPageSize},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:265,columnNumber:7},this),e.jsxDEV(Oe,{claimTarget:g,onClose:()=>N(null),claimDuration:B,onDurationChange:o=>{C(o),y(0)},claimDurations:c,customClaimMinutes:V,onCustomClaimChange:F,onClaim:le,isPending:P.isPending},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:274,columnNumber:7},this),e.jsxDEV(Le,{open:z,onClose:()=>M(!1),selectedCount:d.size,onSubmit:re,isPending:l.isPending},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:286,columnNumber:7},this),e.jsxDEV(ze,{open:f,onClose:()=>A(!1),selectedCount:d.size,selectedRoles:se,onSubmit:me,isPending:T.isPending},void 0,!1,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:294,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/operator/AvailableEscalationsPage.tsx",lineNumber:210,columnNumber:5},this)}export{ba as AvailableEscalationsPage};
2
- //# sourceMappingURL=AvailableEscalationsPage-Dl9ZmjKA.js.map
@@ -1,2 +0,0 @@
1
- import{j as e}from"./index-MnRuwfHN.js";import{a as u}from"./vendor-query-DLp59M9_.js";import{h as b}from"./bots-DEsg-T8t.js";import{a as d,X as h,a8 as p,j as k,N as x}from"./vendor-icons-YdqUbzg6.js";function D({selected:t,onChange:n,placeholder:f}){const{data:a}=b({limit:100}),m=((a==null?void 0:a.bots)??[]).filter(o=>o.status==="active"),[c,s]=u.useState(!1),i=u.useRef(null);u.useEffect(()=>{const o=r=>{i.current&&!i.current.contains(r.target)&&s(!1)};return document.addEventListener("mousedown",o),()=>document.removeEventListener("mousedown",o)},[]);const l=m.find(o=>o.external_id===t),N=f??"Invoking user (default)";return e.jsxDEV("div",{ref:i,className:"relative",children:[e.jsxDEV("button",{type:"button",onClick:()=>s(!c),className:"flex items-center gap-1.5 w-full px-1 py-1.5 bg-transparent border-b border-surface-border/60 text-left cursor-pointer hover:border-accent/50 transition-colors focus:outline-none focus:border-accent/50",children:[t&&l?e.jsxDEV("span",{className:"inline-flex items-center gap-1 px-2 py-0.5 rounded-lg bg-accent/[0.08] text-text-secondary text-[11px]",children:[e.jsxDEV(d,{className:"w-2.5 h-2.5 shrink-0 text-accent/75"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:37,columnNumber:13},this),l.display_name||l.external_id,e.jsxDEV("span",{role:"button",onClick:o=>{o.stopPropagation(),n("")},className:"ml-0.5 hover:text-status-error transition-colors",children:e.jsxDEV(h,{className:"w-2.5 h-2.5"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:44,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:39,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:36,columnNumber:11},this):e.jsxDEV("span",{className:"inline-flex items-center gap-1 text-xs text-text-tertiary",children:[e.jsxDEV(p,{className:"w-3 h-3 shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:49,columnNumber:13},this),N]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:48,columnNumber:11},this),e.jsxDEV(k,{className:`w-3.5 h-3.5 ml-auto shrink-0 text-text-tertiary transition-transform ${c?"rotate-180":""}`},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:53,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:30,columnNumber:7},this),c&&e.jsxDEV("div",{className:"absolute z-20 mt-1 w-full bg-surface-raised border border-surface-border rounded-md shadow-lg max-h-48 overflow-y-auto",children:[e.jsxDEV("button",{type:"button",onClick:()=>{n(""),s(!1)},className:`flex items-center gap-2 w-full px-3 py-1.5 text-left text-xs transition-colors ${t?"text-text-primary hover:bg-surface-sunken":"bg-accent/[0.06] text-accent"}`,children:[e.jsxDEV(p,{className:"w-3 h-3 shrink-0 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:66,columnNumber:13},this),e.jsxDEV("span",{className:"flex-1",children:"Invoking user"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:67,columnNumber:13},this),!t&&e.jsxDEV(x,{className:"w-3 h-3 shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:68,columnNumber:27},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:59,columnNumber:11},this),m.length===0?e.jsxDEV("p",{className:"px-3 py-2 text-xs text-text-tertiary",children:"No bot accounts"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:72,columnNumber:13},this):m.map(o=>{const r=t===o.external_id;return e.jsxDEV("button",{type:"button",onClick:()=>{n(o.external_id),s(!1)},className:`flex items-center gap-2 w-full px-3 py-1.5 text-left text-xs transition-colors ${r?"bg-accent/[0.06] text-accent":"text-text-primary hover:bg-surface-sunken"}`,children:[e.jsxDEV(d,{className:"w-3 h-3 shrink-0 text-accent/60"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:87,columnNumber:19},this),e.jsxDEV("div",{className:"flex-1 min-w-0",children:[e.jsxDEV("span",{children:o.display_name||o.external_id},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:89,columnNumber:21},this),o.display_name&&o.display_name!==o.external_id&&e.jsxDEV("span",{className:"ml-1 text-text-tertiary font-mono",children:o.external_id},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:91,columnNumber:23},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:88,columnNumber:19},this),r&&e.jsxDEV(x,{className:"w-3 h-3 shrink-0"},void 0,!1,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:94,columnNumber:34},this)]},o.id,!0,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:77,columnNumber:17},this)})]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:57,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/form/BotPicker.tsx",lineNumber:29,columnNumber:5},this)}export{D as B};
2
- //# sourceMappingURL=BotPicker-wEoqL3HR.js.map