@hotmeshio/long-tail 0.8.1 → 0.8.3

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 (308) hide show
  1. package/build/scripts/twin-farm.d.ts +45 -0
  2. package/build/scripts/twin-farm.js +441 -0
  3. package/build/tsconfig.tsbuildinfo +1 -1
  4. package/dashboard/dist/assets/AdminDashboard-Dhr7sUq6.js +2 -0
  5. package/dashboard/dist/assets/{AdminDashboard-Ck5-jV9T.js.map → AdminDashboard-Dhr7sUq6.js.map} +1 -1
  6. package/dashboard/dist/assets/AgentConfigPage-CUPm8FjH.js +16 -0
  7. package/dashboard/dist/assets/{AgentConfigPage-DFiXRBWs.js.map → AgentConfigPage-CUPm8FjH.js.map} +1 -1
  8. package/dashboard/dist/assets/AgentDetailPage-C9Tmmhhc.js +4 -0
  9. package/dashboard/dist/assets/{AgentDetailPage-BBgM_pMe.js.map → AgentDetailPage-C9Tmmhhc.js.map} +1 -1
  10. package/dashboard/dist/assets/AgentsPage-Pj47ZJ2U.js +2 -0
  11. package/dashboard/dist/assets/{AgentsPage-DxwFuedf.js.map → AgentsPage-Pj47ZJ2U.js.map} +1 -1
  12. package/dashboard/dist/assets/AvailableEscalationsPage-BxakNqha.js +2 -0
  13. package/dashboard/dist/assets/{AvailableEscalationsPage-DNQbeIcn.js.map → AvailableEscalationsPage-BxakNqha.js.map} +1 -1
  14. package/dashboard/dist/assets/BotPicker-CCIo5ic0.js +2 -0
  15. package/dashboard/dist/assets/{BotPicker-mqwKVOE3.js.map → BotPicker-CCIo5ic0.js.map} +1 -1
  16. package/dashboard/dist/assets/CapabilitiesPage-XFVq4iPX.js +2 -0
  17. package/dashboard/dist/assets/{CapabilitiesPage-Biffm0kW.js.map → CapabilitiesPage-XFVq4iPX.js.map} +1 -1
  18. package/dashboard/dist/assets/CollapsibleSection-CBKICsCu.js +2 -0
  19. package/dashboard/dist/assets/{CollapsibleSection-Bn6Ks79X.js.map → CollapsibleSection-CBKICsCu.js.map} +1 -1
  20. package/dashboard/dist/assets/ConfirmDeleteModal-D9_1b4MW.js +2 -0
  21. package/dashboard/dist/assets/{ConfirmDeleteModal-no0-c_1G.js.map → ConfirmDeleteModal-D9_1b4MW.js.map} +1 -1
  22. package/dashboard/dist/assets/CopyableId-blg-gZvT.js +2 -0
  23. package/dashboard/dist/assets/{CopyableId-DS6IDMIX.js.map → CopyableId-blg-gZvT.js.map} +1 -1
  24. package/dashboard/dist/assets/CredentialsPage-BN_d7ybc.js +2 -0
  25. package/dashboard/dist/assets/{CredentialsPage-C3NyncEB.js.map → CredentialsPage-BN_d7ybc.js.map} +1 -1
  26. package/dashboard/dist/assets/CronLabel-4V_EXMUg.js +2 -0
  27. package/dashboard/dist/assets/{CronLabel-DQWBx57H.js.map → CronLabel-4V_EXMUg.js.map} +1 -1
  28. package/dashboard/dist/assets/CustomDurationPicker-BdurQj-B.js +2 -0
  29. package/dashboard/dist/assets/{CustomDurationPicker-DV42oZ1G.js.map → CustomDurationPicker-BdurQj-B.js.map} +1 -1
  30. package/dashboard/dist/assets/DataTable-ZWgVQg7F.js +2 -0
  31. package/dashboard/dist/assets/{DataTable-Bf4dgxll.js.map → DataTable-ZWgVQg7F.js.map} +1 -1
  32. package/dashboard/dist/assets/DropZone-SgiK1WOl.js +2 -0
  33. package/dashboard/dist/assets/{DropZone-CTSXBb3c.js.map → DropZone-SgiK1WOl.js.map} +1 -1
  34. package/dashboard/dist/assets/ElapsedCell-CO8XMSJX.js +2 -0
  35. package/dashboard/dist/assets/{ElapsedCell-roy4G5SQ.js.map → ElapsedCell-CO8XMSJX.js.map} +1 -1
  36. package/dashboard/dist/assets/EmptyState-BcsfPq9T.js +2 -0
  37. package/dashboard/dist/assets/{EmptyState-CLVm9KmA.js.map → EmptyState-BcsfPq9T.js.map} +1 -1
  38. package/dashboard/dist/assets/EscalationSchemaPage-hzFtuyha.js +9 -0
  39. package/dashboard/dist/assets/{EscalationSchemaPage-DulCCxea.js.map → EscalationSchemaPage-hzFtuyha.js.map} +1 -1
  40. package/dashboard/dist/assets/EscalationsOverview-qlo0mxxa.js +2 -0
  41. package/dashboard/dist/assets/{EscalationsOverview-DDwxn_mT.js.map → EscalationsOverview-qlo0mxxa.js.map} +1 -1
  42. package/dashboard/dist/assets/EventTable-D9RjAT_a.js +2 -0
  43. package/dashboard/dist/assets/{EventTable-BaLNvCew.js.map → EventTable-D9RjAT_a.js.map} +1 -1
  44. package/dashboard/dist/assets/FilterBar-B4Mk2PvT.js +2 -0
  45. package/dashboard/dist/assets/{FilterBar-DEAbNQqp.js.map → FilterBar-B4Mk2PvT.js.map} +1 -1
  46. package/dashboard/dist/assets/GraphInvokePage-CU3r2tzN.js +2 -0
  47. package/dashboard/dist/assets/{GraphInvokePage-BmM8r0R3.js.map → GraphInvokePage-CU3r2tzN.js.map} +1 -1
  48. package/dashboard/dist/assets/HomePage-B7pb4-Gx.js +2 -0
  49. package/dashboard/dist/assets/HomePage-B7pb4-Gx.js.map +1 -0
  50. package/dashboard/dist/assets/ListToolbar-C_64Y22Z.js +2 -0
  51. package/dashboard/dist/assets/{ListToolbar-Dviaskni.js.map → ListToolbar-C_64Y22Z.js.map} +1 -1
  52. package/dashboard/dist/assets/McpOverview-D-4eSOTc.js +2 -0
  53. package/dashboard/dist/assets/{McpOverview-BBm66wbF.js.map → McpOverview-D-4eSOTc.js.map} +1 -1
  54. package/dashboard/dist/assets/McpQueryDetailPage-BYwDb8LC.js +5 -0
  55. package/dashboard/dist/assets/{McpQueryDetailPage-B6GJOMcz.js.map → McpQueryDetailPage-BYwDb8LC.js.map} +1 -1
  56. package/dashboard/dist/assets/McpQueryPage-CIijB5t2.js +2 -0
  57. package/dashboard/dist/assets/{McpQueryPage-C-8nIdBL.js.map → McpQueryPage-CIijB5t2.js.map} +1 -1
  58. package/dashboard/dist/assets/McpRunDetailPage-CQmhfgju.js +2 -0
  59. package/dashboard/dist/assets/{McpRunDetailPage-CSq_0qqi.js.map → McpRunDetailPage-CQmhfgju.js.map} +1 -1
  60. package/dashboard/dist/assets/McpRunsPage-CdDyeOdi.js +2 -0
  61. package/dashboard/dist/assets/McpRunsPage-CdDyeOdi.js.map +1 -0
  62. package/dashboard/dist/assets/Modal-CSrxpXeM.js +2 -0
  63. package/dashboard/dist/assets/{Modal-C6HI6btY.js.map → Modal-CSrxpXeM.js.map} +1 -1
  64. package/dashboard/dist/assets/NamespacePill-SErKwgkb.js +2 -0
  65. package/dashboard/dist/assets/{NamespacePill-eGsbJBFa.js.map → NamespacePill-SErKwgkb.js.map} +1 -1
  66. package/dashboard/dist/assets/OperationsPage-Cz_0K8tj.js +2 -0
  67. package/dashboard/dist/assets/OperationsPage-Cz_0K8tj.js.map +1 -0
  68. package/dashboard/dist/assets/OperatorDashboard-DFORmS46.js +2 -0
  69. package/dashboard/dist/assets/{OperatorDashboard-BbmgsOmQ.js.map → OperatorDashboard-DFORmS46.js.map} +1 -1
  70. package/dashboard/dist/assets/PageHeader-DJo7yMUR.js +2 -0
  71. package/dashboard/dist/assets/{PageHeader-DcgGV0Y2.js.map → PageHeader-DJo7yMUR.js.map} +1 -1
  72. package/dashboard/dist/assets/PageHeaderWithStats-W3akV6nB.js +2 -0
  73. package/dashboard/dist/assets/{PageHeaderWithStats-Cf8TYFRh.js.map → PageHeaderWithStats-W3akV6nB.js.map} +1 -1
  74. package/dashboard/dist/assets/PriorityBadge-B4ykBH7f.js +2 -0
  75. package/dashboard/dist/assets/{PriorityBadge-a7u8C9uY.js.map → PriorityBadge-B4ykBH7f.js.map} +1 -1
  76. package/dashboard/dist/assets/ProcessDetailPage-DwypVFE2.js +2 -0
  77. package/dashboard/dist/assets/{ProcessDetailPage-D80w44rV.js.map → ProcessDetailPage-DwypVFE2.js.map} +1 -1
  78. package/dashboard/dist/assets/ProcessesListPage-tNLvALwT.js +2 -0
  79. package/dashboard/dist/assets/{ProcessesListPage-BjW5xUkv.js.map → ProcessesListPage-tNLvALwT.js.map} +1 -1
  80. package/dashboard/dist/assets/RoleDetailPage-BPsrUqIa.js +11 -0
  81. package/dashboard/dist/assets/{RoleDetailPage-oahg0cdT.js.map → RoleDetailPage-BPsrUqIa.js.map} +1 -1
  82. package/dashboard/dist/assets/RolePill-DHWixsQR.js +2 -0
  83. package/dashboard/dist/assets/{RolePill-BAeaQUXX.js.map → RolePill-DHWixsQR.js.map} +1 -1
  84. package/dashboard/dist/assets/RolesPage-txueySPI.js +2 -0
  85. package/dashboard/dist/assets/{RolesPage-BI1Xtqq_.js.map → RolesPage-txueySPI.js.map} +1 -1
  86. package/dashboard/dist/assets/RowActions-BA9L9djf.js +2 -0
  87. package/dashboard/dist/assets/{RowActions--m4F6GW8.js.map → RowActions-BA9L9djf.js.map} +1 -1
  88. package/dashboard/dist/assets/RunAsSelector-Bvefon9B.js +2 -0
  89. package/dashboard/dist/assets/{RunAsSelector-DiGzSfiG.js.map → RunAsSelector-Bvefon9B.js.map} +1 -1
  90. package/dashboard/dist/assets/StatCard-DrdlUeQz.js +2 -0
  91. package/dashboard/dist/assets/{StatCard-DCPGFzCv.js.map → StatCard-DrdlUeQz.js.map} +1 -1
  92. package/dashboard/dist/assets/StatusBadge-DZ9137bI.js +2 -0
  93. package/dashboard/dist/assets/{StatusBadge-mk-dJwPT.js.map → StatusBadge-DZ9137bI.js.map} +1 -1
  94. package/dashboard/dist/assets/StickyPagination-CeQCzVIA.js +2 -0
  95. package/dashboard/dist/assets/{StickyPagination-Clm9H840.js.map → StickyPagination-CeQCzVIA.js.map} +1 -1
  96. package/dashboard/dist/assets/StreamMessageDetail-6wEm6o6t.js +2 -0
  97. package/dashboard/dist/assets/{StreamMessageDetail-Bikvs1Cz.js.map → StreamMessageDetail-6wEm6o6t.js.map} +1 -1
  98. package/dashboard/dist/assets/SwimlaneTimeline-C97Rldf5.js +2 -0
  99. package/dashboard/dist/assets/{SwimlaneTimeline-C9X3IVqI.js.map → SwimlaneTimeline-C97Rldf5.js.map} +1 -1
  100. package/dashboard/dist/assets/TagInput-CGGC3DTR.js +2 -0
  101. package/dashboard/dist/assets/{TagInput-DmJLnghg.js.map → TagInput-CGGC3DTR.js.map} +1 -1
  102. package/dashboard/dist/assets/TaskDetailPage-B09mLOCE.js +2 -0
  103. package/dashboard/dist/assets/TaskDetailPage-B09mLOCE.js.map +1 -0
  104. package/dashboard/dist/assets/TaskQueuePill-D6omQJNY.js +2 -0
  105. package/dashboard/dist/assets/{TaskQueuePill--1OX6egx.js.map → TaskQueuePill-D6omQJNY.js.map} +1 -1
  106. package/dashboard/dist/assets/TasksListPage-CQhiSGkN.js +2 -0
  107. package/dashboard/dist/assets/{TasksListPage-DcYV-GMA.js.map → TasksListPage-CQhiSGkN.js.map} +1 -1
  108. package/dashboard/dist/assets/TimeAgo-BkyeBcMF.js +2 -0
  109. package/dashboard/dist/assets/{TimeAgo-pYn3T9IZ.js.map → TimeAgo-BkyeBcMF.js.map} +1 -1
  110. package/dashboard/dist/assets/TimestampCell-DVp_UdEB.js +2 -0
  111. package/dashboard/dist/assets/{TimestampCell-BPMCscic.js.map → TimestampCell-DVp_UdEB.js.map} +1 -1
  112. package/dashboard/dist/assets/ToolPill-BW0iRwZu.js +2 -0
  113. package/dashboard/dist/assets/{ToolPill-BnF9lCUX.js.map → ToolPill-BW0iRwZu.js.map} +1 -1
  114. package/dashboard/dist/assets/ToolTestPanel-CZOuRP_i.js +2 -0
  115. package/dashboard/dist/assets/{ToolTestPanel-Bw4z_Tya.js.map → ToolTestPanel-CZOuRP_i.js.map} +1 -1
  116. package/dashboard/dist/assets/TopicDetailPage-0mvQde8R.js +9 -0
  117. package/dashboard/dist/assets/{TopicDetailPage-CtFztOnn.js.map → TopicDetailPage-0mvQde8R.js.map} +1 -1
  118. package/dashboard/dist/assets/TopicsPage-DkvsHLLe.js +2 -0
  119. package/dashboard/dist/assets/{TopicsPage-BXdc6pAU.js.map → TopicsPage-DkvsHLLe.js.map} +1 -1
  120. package/dashboard/dist/assets/UserName-EaD_Tz9y.js +2 -0
  121. package/dashboard/dist/assets/{UserName-R96NG6xB.js.map → UserName-EaD_Tz9y.js.map} +1 -1
  122. package/dashboard/dist/assets/WorkflowExecutionPage-CjMSQ9Bb.js +2 -0
  123. package/dashboard/dist/assets/{WorkflowExecutionPage-DmRJabMQ.js.map → WorkflowExecutionPage-CjMSQ9Bb.js.map} +1 -1
  124. package/dashboard/dist/assets/WorkflowPill-BtNBSplz.js +2 -0
  125. package/dashboard/dist/assets/{WorkflowPill-Cc2MlYbB.js.map → WorkflowPill-BtNBSplz.js.map} +1 -1
  126. package/dashboard/dist/assets/WorkflowsDashboard-BgUz_jO6.js +2 -0
  127. package/dashboard/dist/assets/WorkflowsDashboard-BgUz_jO6.js.map +1 -0
  128. package/dashboard/dist/assets/WorkflowsOverview-BzUjUfAz.js +2 -0
  129. package/dashboard/dist/assets/{WorkflowsOverview-BhgE0RS8.js.map → WorkflowsOverview-BzUjUfAz.js.map} +1 -1
  130. package/dashboard/dist/assets/YamlWorkflowDetailPage-C48Ui513.js +33 -0
  131. package/dashboard/dist/assets/{YamlWorkflowDetailPage-CvIgB5y7.js.map → YamlWorkflowDetailPage-C48Ui513.js.map} +1 -1
  132. package/dashboard/dist/assets/YamlWorkflowsPage-CQ-dk84N.js +2 -0
  133. package/dashboard/dist/assets/YamlWorkflowsPage-CQ-dk84N.js.map +1 -0
  134. package/dashboard/dist/assets/{agents-BpYMwrsB.js → agents-O1GlQE9p.js} +2 -2
  135. package/dashboard/dist/assets/{agents-BpYMwrsB.js.map → agents-O1GlQE9p.js.map} +1 -1
  136. package/dashboard/dist/assets/{bots-DI6Wqp5X.js → bots-DB5Z7MEk.js} +2 -2
  137. package/dashboard/dist/assets/{bots-DI6Wqp5X.js.map → bots-DB5Z7MEk.js.map} +1 -1
  138. package/dashboard/dist/assets/capabilities-Du9EfNdT.js +2 -0
  139. package/dashboard/dist/assets/{capabilities-BKZZb8eM.js.map → capabilities-Du9EfNdT.js.map} +1 -1
  140. package/dashboard/dist/assets/{controlplane-Djshb7fm.js → controlplane-ku4V2nVk.js} +2 -2
  141. package/dashboard/dist/assets/{controlplane-Djshb7fm.js.map → controlplane-ku4V2nVk.js.map} +1 -1
  142. package/dashboard/dist/assets/escalation-columns-C-xaR_Qg.js +2 -0
  143. package/dashboard/dist/assets/{escalation-columns-CyLzgPkz.js.map → escalation-columns-C-xaR_Qg.js.map} +1 -1
  144. package/dashboard/dist/assets/escalation-oVVz7Lw2.js +2 -0
  145. package/dashboard/dist/assets/{escalation-D8mrXtjS.js.map → escalation-oVVz7Lw2.js.map} +1 -1
  146. package/dashboard/dist/assets/index-61yKjTkk.js +2 -0
  147. package/dashboard/dist/assets/{index-DkbnD-Te.js.map → index-61yKjTkk.js.map} +1 -1
  148. package/dashboard/dist/assets/index-Bcgsf2yD.js +2 -0
  149. package/dashboard/dist/assets/{index-xn9fmkHC.js.map → index-Bcgsf2yD.js.map} +1 -1
  150. package/dashboard/dist/assets/index-BdqKh0UK.css +1 -0
  151. package/dashboard/dist/assets/index-BwXtXaw8.js +2 -0
  152. package/dashboard/dist/assets/{index-CwAmiy_j.js.map → index-BwXtXaw8.js.map} +1 -1
  153. package/dashboard/dist/assets/index-CAzFU1rn.js +9 -0
  154. package/dashboard/dist/assets/{index-Y6yj36QR.js.map → index-CAzFU1rn.js.map} +1 -1
  155. package/dashboard/dist/assets/index-CxlsLEr1.js +2 -0
  156. package/dashboard/dist/assets/{index-CphzO7b8.js.map → index-CxlsLEr1.js.map} +1 -1
  157. package/dashboard/dist/assets/index-CyXilW90.js +6 -0
  158. package/dashboard/dist/assets/{index-BfxiRwk2.js.map → index-CyXilW90.js.map} +1 -1
  159. package/dashboard/dist/assets/index-D0bDVU2a.js +6 -0
  160. package/dashboard/dist/assets/{index-eshNd6NY.js.map → index-D0bDVU2a.js.map} +1 -1
  161. package/dashboard/dist/assets/index-DcZDyLHC.js +2 -0
  162. package/dashboard/dist/assets/{index-yxnQew1X.js.map → index-DcZDyLHC.js.map} +1 -1
  163. package/dashboard/dist/assets/index-DgAmkmtv.js +2 -0
  164. package/dashboard/dist/assets/{index-B5MAG4Uv.js.map → index-DgAmkmtv.js.map} +1 -1
  165. package/dashboard/dist/assets/index-DkZnXWTA.js +2 -0
  166. package/dashboard/dist/assets/{index-CJb3dXku.js.map → index-DkZnXWTA.js.map} +1 -1
  167. package/dashboard/dist/assets/index-DsKK1fCc.js +2 -0
  168. package/dashboard/dist/assets/{index-CQtv2rj6.js.map → index-DsKK1fCc.js.map} +1 -1
  169. package/dashboard/dist/assets/index-MbEPoyTe.js +63 -0
  170. package/dashboard/dist/assets/index-MbEPoyTe.js.map +1 -0
  171. package/dashboard/dist/assets/index-aHhMmZ0W.js +2 -0
  172. package/dashboard/dist/assets/{index-C71I-f5G.js.map → index-aHhMmZ0W.js.map} +1 -1
  173. package/dashboard/dist/assets/{knowledge-C_1r0faY.js → knowledge-CTjJVvIG.js} +2 -2
  174. package/dashboard/dist/assets/{knowledge-C_1r0faY.js.map → knowledge-CTjJVvIG.js.map} +1 -1
  175. package/dashboard/dist/assets/{mcp-BtG54ZAx.js → mcp-CsHkygRS.js} +2 -2
  176. package/dashboard/dist/assets/{mcp-BtG54ZAx.js.map → mcp-CsHkygRS.js.map} +1 -1
  177. package/dashboard/dist/assets/{mcp-query-CSdQWxmv.js → mcp-query-BCt4tpjO.js} +2 -2
  178. package/dashboard/dist/assets/{mcp-query-CSdQWxmv.js.map → mcp-query-BCt4tpjO.js.map} +1 -1
  179. package/dashboard/dist/assets/{pipelines-DVkwxN64.js → pipelines-BpGmuS5V.js} +2 -2
  180. package/dashboard/dist/assets/{pipelines-DVkwxN64.js.map → pipelines-BpGmuS5V.js.map} +1 -1
  181. package/dashboard/dist/assets/roles-lHLgLwOY.js +2 -0
  182. package/dashboard/dist/assets/{roles-CpRcUIMm.js.map → roles-lHLgLwOY.js.map} +1 -1
  183. package/dashboard/dist/assets/tasks-BHfimh-E.js +2 -0
  184. package/dashboard/dist/assets/{tasks-DNdvW5H6.js.map → tasks-BHfimh-E.js.map} +1 -1
  185. package/dashboard/dist/assets/{topics-DNC77Chw.js → topics-BW2cS79q.js} +2 -2
  186. package/dashboard/dist/assets/{topics-DNC77Chw.js.map → topics-BW2cS79q.js.map} +1 -1
  187. package/dashboard/dist/assets/{useCollapsedSections-CGNA5oKV.js → useCollapsedSections-BU5HULGs.js} +2 -2
  188. package/dashboard/dist/assets/{useCollapsedSections-CGNA5oKV.js.map → useCollapsedSections-BU5HULGs.js.map} +1 -1
  189. package/dashboard/dist/assets/{useDebouncedValue-DmL3uNt_.js → useDebouncedValue-BA5S7V54.js} +2 -2
  190. package/dashboard/dist/assets/{useDebouncedValue-DmL3uNt_.js.map → useDebouncedValue-BA5S7V54.js.map} +1 -1
  191. package/dashboard/dist/assets/{useEventHooks-CUUeBSH1.js → useEventHooks-CeOIM1Ix.js} +2 -2
  192. package/dashboard/dist/assets/{useEventHooks-CUUeBSH1.js.map → useEventHooks-CeOIM1Ix.js.map} +1 -1
  193. package/dashboard/dist/assets/{useFilterParams-Ch-a71bE.js → useFilterParams-x-Dg0Vgz.js} +2 -2
  194. package/dashboard/dist/assets/{useFilterParams-Ch-a71bE.js.map → useFilterParams-x-Dg0Vgz.js.map} +1 -1
  195. package/dashboard/dist/assets/{useNamespace-D-AjLnPK.js → useNamespace-CEVLPGGY.js} +2 -2
  196. package/dashboard/dist/assets/{useNamespace-D-AjLnPK.js.map → useNamespace-CEVLPGGY.js.map} +1 -1
  197. package/dashboard/dist/assets/{useYamlActivityEvents-DRdetOb_.js → useYamlActivityEvents-DdRNcy7s.js} +2 -2
  198. package/dashboard/dist/assets/{useYamlActivityEvents-DRdetOb_.js.map → useYamlActivityEvents-DdRNcy7s.js.map} +1 -1
  199. package/dashboard/dist/assets/{users-BUgdEsec.js → users-CAih5Fty.js} +2 -2
  200. package/dashboard/dist/assets/{users-BUgdEsec.js.map → users-CAih5Fty.js.map} +1 -1
  201. package/dashboard/dist/assets/{vendor-icons-CNyYGNsk.js → vendor-icons-DOIDKgo6.js} +116 -121
  202. package/dashboard/dist/assets/{vendor-icons-CNyYGNsk.js.map → vendor-icons-DOIDKgo6.js.map} +1 -1
  203. package/dashboard/dist/assets/vendor-query-B2UbickB.js +18 -0
  204. package/dashboard/dist/assets/vendor-query-B2UbickB.js.map +1 -0
  205. package/dashboard/dist/assets/vendor-react-CXumBFUA.js +22 -0
  206. package/dashboard/dist/assets/vendor-react-CXumBFUA.js.map +1 -0
  207. package/dashboard/dist/assets/{workflows-BfyR5VJt.js → workflows-C_gCwB9q.js} +2 -2
  208. package/dashboard/dist/assets/{workflows-BfyR5VJt.js.map → workflows-C_gCwB9q.js.map} +1 -1
  209. package/dashboard/dist/assets/{yaml-workflows-Bz7yEnhl.js → yaml-workflows-CPabf8Sf.js} +2 -2
  210. package/dashboard/dist/assets/{yaml-workflows-Bz7yEnhl.js.map → yaml-workflows-CPabf8Sf.js.map} +1 -1
  211. package/dashboard/dist/index.html +5 -5
  212. package/docs/dashboard.md +58 -42
  213. package/package.json +2 -1
  214. package/dashboard/dist/assets/AdminDashboard-Ck5-jV9T.js +0 -2
  215. package/dashboard/dist/assets/AgentConfigPage-DFiXRBWs.js +0 -16
  216. package/dashboard/dist/assets/AgentDetailPage-BBgM_pMe.js +0 -4
  217. package/dashboard/dist/assets/AgentsPage-DxwFuedf.js +0 -2
  218. package/dashboard/dist/assets/AvailableEscalationsPage-DNQbeIcn.js +0 -2
  219. package/dashboard/dist/assets/BotPicker-mqwKVOE3.js +0 -2
  220. package/dashboard/dist/assets/CapabilitiesPage-Biffm0kW.js +0 -2
  221. package/dashboard/dist/assets/CollapsibleSection-Bn6Ks79X.js +0 -2
  222. package/dashboard/dist/assets/ConfirmDeleteModal-no0-c_1G.js +0 -2
  223. package/dashboard/dist/assets/CopyableId-DS6IDMIX.js +0 -2
  224. package/dashboard/dist/assets/CredentialsPage-C3NyncEB.js +0 -2
  225. package/dashboard/dist/assets/CronLabel-DQWBx57H.js +0 -2
  226. package/dashboard/dist/assets/CustomDurationPicker-DV42oZ1G.js +0 -2
  227. package/dashboard/dist/assets/DataTable-Bf4dgxll.js +0 -2
  228. package/dashboard/dist/assets/DropZone-CTSXBb3c.js +0 -2
  229. package/dashboard/dist/assets/ElapsedCell-roy4G5SQ.js +0 -2
  230. package/dashboard/dist/assets/EmptyState-CLVm9KmA.js +0 -2
  231. package/dashboard/dist/assets/EscalationSchemaPage-DulCCxea.js +0 -9
  232. package/dashboard/dist/assets/EscalationsOverview-DDwxn_mT.js +0 -2
  233. package/dashboard/dist/assets/EventTable-BaLNvCew.js +0 -2
  234. package/dashboard/dist/assets/FilterBar-DEAbNQqp.js +0 -2
  235. package/dashboard/dist/assets/GraphInvokePage-BmM8r0R3.js +0 -2
  236. package/dashboard/dist/assets/HomePage-Ds3PzWWr.js +0 -2
  237. package/dashboard/dist/assets/HomePage-Ds3PzWWr.js.map +0 -1
  238. package/dashboard/dist/assets/ListToolbar-Dviaskni.js +0 -2
  239. package/dashboard/dist/assets/McpOverview-BBm66wbF.js +0 -2
  240. package/dashboard/dist/assets/McpQueryDetailPage-B6GJOMcz.js +0 -5
  241. package/dashboard/dist/assets/McpQueryPage-C-8nIdBL.js +0 -2
  242. package/dashboard/dist/assets/McpRunDetailPage-CSq_0qqi.js +0 -2
  243. package/dashboard/dist/assets/McpRunsPage-BdK8ahX7.js +0 -2
  244. package/dashboard/dist/assets/McpRunsPage-BdK8ahX7.js.map +0 -1
  245. package/dashboard/dist/assets/Modal-C6HI6btY.js +0 -2
  246. package/dashboard/dist/assets/NamespacePill-eGsbJBFa.js +0 -2
  247. package/dashboard/dist/assets/OperationsPage-DODPFmf2.js +0 -2
  248. package/dashboard/dist/assets/OperationsPage-DODPFmf2.js.map +0 -1
  249. package/dashboard/dist/assets/OperatorDashboard-BbmgsOmQ.js +0 -2
  250. package/dashboard/dist/assets/PageHeader-DcgGV0Y2.js +0 -2
  251. package/dashboard/dist/assets/PageHeaderWithStats-Cf8TYFRh.js +0 -2
  252. package/dashboard/dist/assets/PriorityBadge-a7u8C9uY.js +0 -2
  253. package/dashboard/dist/assets/ProcessDetailPage-D80w44rV.js +0 -2
  254. package/dashboard/dist/assets/ProcessesListPage-BjW5xUkv.js +0 -2
  255. package/dashboard/dist/assets/RoleDetailPage-oahg0cdT.js +0 -11
  256. package/dashboard/dist/assets/RolePill-BAeaQUXX.js +0 -2
  257. package/dashboard/dist/assets/RolesPage-BI1Xtqq_.js +0 -2
  258. package/dashboard/dist/assets/RowActions--m4F6GW8.js +0 -2
  259. package/dashboard/dist/assets/RunAsSelector-DiGzSfiG.js +0 -2
  260. package/dashboard/dist/assets/StatCard-DCPGFzCv.js +0 -2
  261. package/dashboard/dist/assets/StatusBadge-mk-dJwPT.js +0 -2
  262. package/dashboard/dist/assets/StickyPagination-Clm9H840.js +0 -2
  263. package/dashboard/dist/assets/StreamMessageDetail-Bikvs1Cz.js +0 -2
  264. package/dashboard/dist/assets/SwimlaneTimeline-C9X3IVqI.js +0 -2
  265. package/dashboard/dist/assets/TagInput-DmJLnghg.js +0 -2
  266. package/dashboard/dist/assets/TaskDetailPage-C0tbiUi7.js +0 -2
  267. package/dashboard/dist/assets/TaskDetailPage-C0tbiUi7.js.map +0 -1
  268. package/dashboard/dist/assets/TaskQueuePill--1OX6egx.js +0 -2
  269. package/dashboard/dist/assets/TasksListPage-DcYV-GMA.js +0 -2
  270. package/dashboard/dist/assets/TimeAgo-pYn3T9IZ.js +0 -2
  271. package/dashboard/dist/assets/TimestampCell-BPMCscic.js +0 -2
  272. package/dashboard/dist/assets/ToolPill-BnF9lCUX.js +0 -2
  273. package/dashboard/dist/assets/ToolTestPanel-Bw4z_Tya.js +0 -2
  274. package/dashboard/dist/assets/TopicDetailPage-CtFztOnn.js +0 -9
  275. package/dashboard/dist/assets/TopicsPage-BXdc6pAU.js +0 -2
  276. package/dashboard/dist/assets/UserName-R96NG6xB.js +0 -2
  277. package/dashboard/dist/assets/WorkflowExecutionPage-DmRJabMQ.js +0 -2
  278. package/dashboard/dist/assets/WorkflowPill-Cc2MlYbB.js +0 -2
  279. package/dashboard/dist/assets/WorkflowsDashboard-uLU5ZToY.js +0 -2
  280. package/dashboard/dist/assets/WorkflowsDashboard-uLU5ZToY.js.map +0 -1
  281. package/dashboard/dist/assets/WorkflowsOverview-BhgE0RS8.js +0 -2
  282. package/dashboard/dist/assets/YamlWorkflowDetailPage-CvIgB5y7.js +0 -33
  283. package/dashboard/dist/assets/YamlWorkflowsPage-DWnsgl2v.js +0 -2
  284. package/dashboard/dist/assets/YamlWorkflowsPage-DWnsgl2v.js.map +0 -1
  285. package/dashboard/dist/assets/capabilities-BKZZb8eM.js +0 -2
  286. package/dashboard/dist/assets/escalation-D8mrXtjS.js +0 -2
  287. package/dashboard/dist/assets/escalation-columns-CyLzgPkz.js +0 -2
  288. package/dashboard/dist/assets/index-B5MAG4Uv.js +0 -2
  289. package/dashboard/dist/assets/index-BfxiRwk2.js +0 -6
  290. package/dashboard/dist/assets/index-C71I-f5G.js +0 -2
  291. package/dashboard/dist/assets/index-CC4g-6QE.css +0 -1
  292. package/dashboard/dist/assets/index-CJb3dXku.js +0 -2
  293. package/dashboard/dist/assets/index-CQtv2rj6.js +0 -2
  294. package/dashboard/dist/assets/index-CphzO7b8.js +0 -2
  295. package/dashboard/dist/assets/index-CwAmiy_j.js +0 -2
  296. package/dashboard/dist/assets/index-DgCS2Frb.js +0 -281
  297. package/dashboard/dist/assets/index-DgCS2Frb.js.map +0 -1
  298. package/dashboard/dist/assets/index-DkbnD-Te.js +0 -2
  299. package/dashboard/dist/assets/index-Y6yj36QR.js +0 -9
  300. package/dashboard/dist/assets/index-eshNd6NY.js +0 -6
  301. package/dashboard/dist/assets/index-xn9fmkHC.js +0 -2
  302. package/dashboard/dist/assets/index-yxnQew1X.js +0 -2
  303. package/dashboard/dist/assets/roles-CpRcUIMm.js +0 -2
  304. package/dashboard/dist/assets/tasks-DNdvW5H6.js +0 -2
  305. package/dashboard/dist/assets/vendor-query-DLp59M9_.js +0 -35
  306. package/dashboard/dist/assets/vendor-query-DLp59M9_.js.map +0 -1
  307. package/dashboard/dist/assets/vendor-react-zA2lQFDs.js +0 -26
  308. package/dashboard/dist/assets/vendor-react-zA2lQFDs.js.map +0 -1
@@ -1,2 +0,0 @@
1
- import{j as e,w as _,b as $}from"./index-DgCS2Frb.js";import{a as d}from"./vendor-query-DLp59M9_.js";import{b as L,c as O,d as q,e as G,f as H,u as J}from"./users-BUgdEsec.js";import{u as R}from"./useFilterParams-Ch-a71bE.js";import{D as A}from"./DataTable-Bf4dgxll.js";import{S as T}from"./StickyPagination-Clm9H840.js";import{F as Q,b as W}from"./FilterBar-DEAbNQqp.js";import{C as w}from"./ConfirmDeleteModal-no0-c_1G.js";import{R as K,a as y}from"./RowActions--m4F6GW8.js";import{P as F}from"./PageHeader-DcgGV0Y2.js";import{R as S}from"./RolePill-BAeaQUXX.js";import{M as P}from"./Modal-C6HI6btY.js";import{u as Y,a as X,b as Z,c as ee,d as se,e as ae,f as te,g as ie,h as re}from"./bots-DI6Wqp5X.js";import{T as le}from"./TimestampCell-BPMCscic.js";import{u as I}from"./roles-CpRcUIMm.js";import{T as oe}from"./TimeAgo-pYn3T9IZ.js";import{V as ne,Y as de,aq as me,p as k,l as ce,ag as ue,Q as U,ai as pe,U as z,b as be}from"./vendor-icons-CNyYGNsk.js";import{f as Ne}from"./vendor-react-zA2lQFDs.js";import"./EmptyState-CLVm9KmA.js";function xe({open:a,onClose:l}){const s=L(),[i,r]=d.useState({external_id:"",email:"",display_name:"",password:""}),[m,x]=d.useState(a);a!==m&&(x(a),a&&r({external_id:"",email:"",display_name:"",password:""}));const h=()=>{i.external_id.trim()&&s.mutate({external_id:i.external_id.trim(),email:i.email.trim()||void 0,display_name:i.display_name.trim()||void 0,password:i.password||void 0},{onSuccess:l})},u=(t,p)=>r(b=>({...b,[t]:p}));return e.jsxDEV(P,{open:a,onClose:l,title:"Create User",children:e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"External ID (required)"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:46,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:i.external_id,onChange:t=>u("external_id",t.target.value),placeholder:"e.g., john.doe",className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:49,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:45,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Display Name"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:58,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:i.display_name,onChange:t=>u("display_name",t.target.value),placeholder:"John Doe",className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:61,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:57,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Email"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:70,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:i.email,onChange:t=>u("email",t.target.value),placeholder:"john@example.com",className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:73,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:69,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Password"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:82,columnNumber:11},this),e.jsxDEV("input",{type:"password",value:i.password,onChange:t=>u("password",t.target.value),placeholder:"Leave blank for no password",className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:85,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:81,columnNumber:9},this),s.error&&e.jsxDEV("p",{className:"text-xs text-status-error",children:s.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:95,columnNumber:11},this),e.jsxDEV("div",{className:"flex justify-end gap-3 pt-2",children:[e.jsxDEV("button",{onClick:l,className:"btn-secondary text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:99,columnNumber:11},this),e.jsxDEV("button",{onClick:h,disabled:!i.external_id.trim()||s.isPending,className:"btn-primary text-xs",children:s.isPending?"Creating...":"Create"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:102,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:98,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:44,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/CreateUserModal.tsx",lineNumber:43,columnNumber:5},this)}function he({open:a,onClose:l,user:s}){const i=O(),[r,m]=d.useState({display_name:"",email:"",status:"active"}),[x,h]=d.useState(s);s!==x&&(h(s),s&&m({display_name:s.display_name??"",email:s.email??"",status:s.status}));const u=()=>{s&&i.mutate({id:s.id,display_name:r.display_name.trim()||void 0,email:r.email.trim()||void 0,status:r.status},{onSuccess:l})};return e.jsxDEV(P,{open:a,onClose:l,title:`Edit — ${(s==null?void 0:s.display_name)||(s==null?void 0:s.external_id)||""}`,children:e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Display Name"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:55,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:r.display_name,onChange:t=>m(p=>({...p,display_name:t.target.value})),className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:58,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:54,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Email"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:66,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:r.email,onChange:t=>m(p=>({...p,email:t.target.value})),className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:69,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:65,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Status"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:77,columnNumber:11},this),e.jsxDEV("select",{value:r.status,onChange:t=>m(p=>({...p,status:t.target.value})),className:"select text-xs w-full",children:[e.jsxDEV("option",{value:"active",children:"Active"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:85,columnNumber:13},this),e.jsxDEV("option",{value:"inactive",children:"Inactive"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:86,columnNumber:13},this),e.jsxDEV("option",{value:"suspended",children:"Suspended"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:87,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:80,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:76,columnNumber:9},this),i.error&&e.jsxDEV("p",{className:"text-xs text-status-error",children:i.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:92,columnNumber:11},this),e.jsxDEV("div",{className:"flex justify-end gap-3 pt-2",children:[e.jsxDEV("button",{onClick:l,className:"btn-secondary text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:96,columnNumber:11},this),e.jsxDEV("button",{onClick:u,disabled:i.isPending,className:"btn-primary text-xs",children:i.isPending?"Saving...":"Save"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:99,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:95,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:53,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/EditUserModal.tsx",lineNumber:48,columnNumber:5},this)}function fe({open:a,onClose:l}){const s=Y(),[i,r]=d.useState({name:"",display_name:"",description:""}),[m,x]=d.useState(a);a!==m&&(x(a),a&&r({name:"",display_name:"",description:""}));const h=()=>{i.name.trim()&&s.mutate({name:i.name.trim(),display_name:i.display_name.trim()||void 0,description:i.description.trim()||void 0},{onSuccess:l})},u=(t,p)=>r(b=>({...b,[t]:p}));return e.jsxDEV(P,{open:a,onClose:l,title:"Create Service Account",children:e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Name (required)"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:44,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:i.name,onChange:t=>u("name",t.target.value.replace(/\s+/g,"-").toLowerCase()),placeholder:"e.g., ci-bot",className:"input text-xs w-full font-mono"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:47,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:43,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Display Name"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:56,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:i.display_name,onChange:t=>u("display_name",t.target.value),placeholder:"CI Bot",className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:59,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:55,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Description"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:68,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:i.description,onChange:t=>u("description",t.target.value),placeholder:"Runs scheduled workflows",className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:71,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:67,columnNumber:9},this),s.error&&e.jsxDEV("p",{className:"text-xs text-status-error",children:s.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:81,columnNumber:11},this),e.jsxDEV("div",{className:"flex justify-end gap-3 pt-2",children:[e.jsxDEV("button",{onClick:l,className:"btn-secondary text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:85,columnNumber:11},this),e.jsxDEV("button",{onClick:h,disabled:!i.name.trim()||s.isPending,className:"btn-primary text-xs",children:s.isPending?"Creating...":"Create"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:88,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:84,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:42,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/CreateBotModal.tsx",lineNumber:41,columnNumber:5},this)}function ge({open:a,onClose:l,bot:s}){const i=X(),[r,m]=d.useState({display_name:"",description:"",status:"active"}),[x,h]=d.useState(s);s!==x&&(h(s),s&&m({display_name:s.display_name??"",description:s.description??"",status:s.status}));const u=()=>{s&&i.mutate({id:s.id,display_name:r.display_name.trim()||void 0,description:r.description.trim()||void 0,status:r.status},{onSuccess:l})};return e.jsxDEV(P,{open:a,onClose:l,title:`Edit — ${(s==null?void 0:s.display_name)||(s==null?void 0:s.external_id)||""}`,children:e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Display Name"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:55,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:r.display_name,onChange:t=>m(p=>({...p,display_name:t.target.value})),className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:58,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:54,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Description"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:66,columnNumber:11},this),e.jsxDEV("input",{type:"text",value:r.description,onChange:t=>m(p=>({...p,description:t.target.value})),className:"input text-xs w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:69,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:65,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("label",{className:"block text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Status"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:77,columnNumber:11},this),e.jsxDEV("select",{value:r.status,onChange:t=>m(p=>({...p,status:t.target.value})),className:"select text-xs w-full",children:[e.jsxDEV("option",{value:"active",children:"Active"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:85,columnNumber:13},this),e.jsxDEV("option",{value:"inactive",children:"Inactive"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:86,columnNumber:13},this),e.jsxDEV("option",{value:"suspended",children:"Suspended"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:87,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:80,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:76,columnNumber:9},this),i.error&&e.jsxDEV("p",{className:"text-xs text-status-error",children:i.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:92,columnNumber:11},this),e.jsxDEV("div",{className:"flex justify-end gap-3 pt-2",children:[e.jsxDEV("button",{onClick:l,className:"btn-secondary text-xs",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:96,columnNumber:11},this),e.jsxDEV("button",{onClick:u,disabled:i.isPending,className:"btn-primary text-xs",children:i.isPending?"Saving...":"Save"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:99,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:95,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:53,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/EditBotModal.tsx",lineNumber:48,columnNumber:5},this)}function ve({botId:a}){const{data:l}=Z(a),s=ee(),i=se(),[r,m]=d.useState(""),[x,h]=d.useState("read"),[u,t]=d.useState(null),[p,b]=d.useState(!1),[g,n]=d.useState(null),D=(l==null?void 0:l.keys)??[],o={read:{label:"Read only",scopes:["mcp:read"],hint:"Discovery and monitoring — read-safe tools only"},full:{label:"Full access",scopes:["mcp:read","mcp:full"],hint:"All tools — can modify state"}},v=()=>{r.trim()&&s.mutate({botId:a,name:r.trim(),scopes:o[x].scopes},{onSuccess:f=>{t(f.rawKey),m("")}})},E=()=>{u&&(navigator.clipboard.writeText(u),b(!0),setTimeout(()=>b(!1),2e3))},V=()=>{g&&i.mutate({botId:a,keyId:g.id},{onSuccess:()=>n(null)})};return e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-3",children:"API Keys"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:64,columnNumber:7},this),u&&e.jsxDEV("div",{className:"mb-3 p-3 bg-status-success/10 border border-status-success/30 rounded-md",children:[e.jsxDEV("p",{className:"text-[10px] font-semibold text-status-success mb-1",children:"Key generated — copy now, it won't be shown again"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:70,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("code",{className:"text-[11px] font-mono text-text-primary bg-surface-sunken px-2 py-1 rounded flex-1 overflow-hidden text-ellipsis",children:u},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:74,columnNumber:13},this),e.jsxDEV("button",{onClick:E,className:"text-text-tertiary hover:text-text-primary shrink-0",title:"Copy to clipboard",children:p?e.jsxDEV(ne,{className:"w-3.5 h-3.5 text-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:82,columnNumber:25},this):e.jsxDEV(de,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:82,columnNumber:81},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:77,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:73,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:69,columnNumber:9},this),D.length===0?e.jsxDEV("p",{className:"text-xs text-text-tertiary mb-3",children:"No API keys."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:89,columnNumber:9},this):e.jsxDEV("div",{className:"space-y-1.5 mb-3",children:D.map(f=>e.jsxDEV("div",{className:"group/key flex items-center justify-between px-2.5 py-1.5 bg-surface-sunken rounded text-xs",children:[e.jsxDEV("div",{className:"flex items-center gap-2 flex-wrap",children:[e.jsxDEV(me,{className:"w-3 h-3 text-text-tertiary"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:98,columnNumber:17},this),e.jsxDEV("span",{className:"text-text-primary font-mono",children:f.name},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:99,columnNumber:17},this),(f.scopes??[]).map(c=>e.jsxDEV("span",{className:`px-1.5 py-0.5 rounded text-[9px] font-mono ${c.includes("full")?"bg-status-warning/15 text-status-warning":"bg-accent/10 text-accent"}`,children:c},c,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:101,columnNumber:19},this)),f.last_used_at&&e.jsxDEV("span",{className:"text-[10px] text-text-tertiary",children:["used ",e.jsxDEV(oe,{date:f.last_used_at},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:107,columnNumber:26},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:106,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:97,columnNumber:15},this),e.jsxDEV("button",{onClick:()=>n(f),className:"opacity-0 group-hover/key:opacity-100 transition-opacity text-text-tertiary hover:text-status-error",title:"Revoke key",children:e.jsxDEV(k,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:116,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:111,columnNumber:15},this)]},f.id,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:93,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:91,columnNumber:9},this),e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("input",{type:"text",value:r,onChange:f=>m(f.target.value),placeholder:"Key name...",className:"input text-xs flex-1 font-mono"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:124,columnNumber:9},this),e.jsxDEV("div",{className:"flex rounded-md border border-surface-border overflow-hidden shrink-0",children:Object.entries(o).map(([f,c])=>e.jsxDEV("button",{type:"button",onClick:()=>h(f),title:c.hint,className:`px-2.5 py-1 text-[10px] font-medium transition-colors ${x===f?"bg-accent text-white":"bg-surface text-text-secondary hover:bg-surface-hover"}`,children:c.label},f,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:133,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:131,columnNumber:9},this),e.jsxDEV("button",{onClick:v,disabled:!r.trim()||s.isPending,className:"btn-primary text-xs inline-flex items-center gap-1",children:[e.jsxDEV(ce,{className:"w-3 h-3"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:153,columnNumber:11},this),s.isPending?"...":"Generate"]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:148,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:123,columnNumber:7},this),s.error&&e.jsxDEV("p",{className:"text-[10px] text-status-error mt-1",children:s.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:158,columnNumber:9},this),e.jsxDEV(w,{open:!!g,onClose:()=>n(null),onConfirm:V,title:"Revoke API Key",description:e.jsxDEV(e.Fragment,{children:["Revoke API key"," ",e.jsxDEV("span",{className:"font-medium text-text-primary font-mono",children:g==null?void 0:g.name},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:169,columnNumber:13},this),"? This bot will no longer be able to authenticate with this key."]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:167,columnNumber:11},this),isPending:i.isPending,error:i.error},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:161,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:63,columnNumber:5},this)}function De({bot:a}){const{data:l}=I(),s=ae(),i=te(),[r,m]=d.useState(""),[x,h]=d.useState("member"),u=(l==null?void 0:l.roles)??[],t=a.roles??[],p=d.useMemo(()=>{const n=new Set(t.map(D=>D.role));return u.filter(D=>!n.has(D))},[u,t]),b=()=>{r.trim()&&s.mutate({botId:a.id,role:r.trim(),type:x},{onSuccess:()=>{m(""),h("member")}})},g=n=>{i.mutate({botId:a.id,role:n})};return e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-3",children:"Roles"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:211,columnNumber:7},this),t.length===0?e.jsxDEV("p",{className:"text-xs text-text-tertiary mb-3",children:"No roles assigned."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:216,columnNumber:9},this):e.jsxDEV("div",{className:"flex flex-wrap gap-2 mb-3",children:t.map(n=>e.jsxDEV("span",{className:"inline-flex items-center gap-1.5 px-2.5 py-1 text-xs bg-surface-sunken rounded-full text-text-secondary",children:[e.jsxDEV(S,{role:n.role},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:224,columnNumber:15},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:n.type},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:225,columnNumber:15},this),e.jsxDEV("button",{onClick:()=>g(n.role),className:"text-text-tertiary hover:text-status-error transition-colors ml-0.5",title:`Remove ${n.role}`,children:"×"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:226,columnNumber:15},this)]},n.role,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:220,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:218,columnNumber:9},this),p.length>0&&e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("select",{value:r,onChange:n=>m(n.target.value),className:"select text-xs font-mono flex-1",children:[e.jsxDEV("option",{value:"",children:"Select a role..."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:245,columnNumber:13},this),p.map(n=>e.jsxDEV("option",{value:n,children:n},n,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:247,columnNumber:15},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:240,columnNumber:11},this),e.jsxDEV("select",{value:x,onChange:n=>h(n.target.value),className:"select text-xs w-24",children:[e.jsxDEV("option",{value:"member",children:"member"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:255,columnNumber:13},this),e.jsxDEV("option",{value:"admin",children:"admin"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:256,columnNumber:13},this),e.jsxDEV("option",{value:"superadmin",children:"superadmin"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:257,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:250,columnNumber:11},this),e.jsxDEV("button",{onClick:b,disabled:!r||s.isPending,className:"btn-primary text-xs",children:s.isPending?"...":"Add"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:259,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:239,columnNumber:9},this),s.error&&e.jsxDEV("p",{className:"text-[10px] text-status-error mt-1",children:s.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:269,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:210,columnNumber:5},this)}function Ee({bot:a}){return a?e.jsxDEV("div",{className:"border-l border-surface-border pl-6 pt-4 min-h-[300px] space-y-6",children:[e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-sm text-text-primary",children:a.display_name||a.external_id},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:289,columnNumber:9},this),a.description&&e.jsxDEV("p",{className:"text-xs text-text-tertiary mt-0.5",children:a.description},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:291,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:288,columnNumber:7},this),e.jsxDEV(ve,{botId:a.id},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:295,columnNumber:7},this),e.jsxDEV(De,{bot:a},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:296,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:287,columnNumber:5},this):e.jsxDEV("div",{className:"border-l border-surface-border pl-6 pt-4 min-h-[300px]",children:e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:"Select a service account to manage its API keys and roles."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:279,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotDetailPanel.tsx",lineNumber:278,columnNumber:7},this)}const je={active:"bg-status-success",inactive:"bg-text-tertiary",suspended:"bg-status-error"};function Ve({embedded:a=!1}){const{pagination:l}=R({filters:{}}),s=ie(),[i,r]=d.useState(!1),[m,x]=d.useState(null),[h,u]=d.useState(null),[t,p]=d.useState(null),[b,g]=d.useState(""),{data:n,isLoading:D}=re({limit:l.pageSize,offset:l.offset}),o=(n==null?void 0:n.total)??0,v=(n==null?void 0:n.bots)??[],E=d.useMemo(()=>h?v.find(N=>N.id===h.id)??h:null,[v,h]),V=d.useMemo(()=>{if(!b.trim())return v;const N=b.toLowerCase();return v.filter(j=>(j.display_name??"").toLowerCase().includes(N)||j.external_id.toLowerCase().includes(N)||(j.description??"").toLowerCase().includes(N))},[v,b]),f=[{key:"display_name",label:"Service Account",render:N=>e.jsxDEV("div",{className:"flex items-center gap-2.5",children:[e.jsxDEV("span",{className:`w-2 h-2 rounded-full dot-ring shrink-0 ${je[N.status]??"bg-status-pending"}`,title:N.status},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:63,columnNumber:11},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-sm text-text-primary",children:N.display_name||N.external_id},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:68,columnNumber:13},this),N.description&&e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:N.description},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:72,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:67,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:62,columnNumber:9},this)},{key:"roles",label:"Roles",render:N=>e.jsxDEV("div",{className:"flex gap-1 flex-wrap",children:(N.roles??[]).map(j=>e.jsxDEV(S,{role:j.role},j.role,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:84,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:82,columnNumber:9},this)},{key:"created_at",label:"Created",render:N=>e.jsxDEV(le,{date:N.created_at},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:92,columnNumber:24},this),className:"w-44"},{key:"actions",label:"",render:N=>e.jsxDEV(K,{children:[e.jsxDEV(y,{icon:U,title:"Edit service account",onClick:()=>x(N)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:100,columnNumber:11},this),e.jsxDEV(y,{icon:k,title:"Delete service account",onClick:()=>p(N),colorClass:"text-text-tertiary hover:text-status-error"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:105,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:99,columnNumber:9},this),className:"w-16 text-right"}],c=()=>{t&&s.mutate(t.id,{onSuccess:()=>{p(null),(h==null?void 0:h.id)===t.id&&u(null)}})};return e.jsxDEV("div",{children:[a?e.jsxDEV("div",{className:"flex justify-end mb-4",children:e.jsxDEV("button",{onClick:()=>r(!0),className:"btn-primary text-xs",children:"Add Service Account"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:131,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:130,columnNumber:9},this):e.jsxDEV(F,{title:"Service Accounts",actions:e.jsxDEV("button",{onClick:()=>r(!0),className:"btn-primary text-xs",children:"Add Service Account"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:139,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:136,columnNumber:9},this),e.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_360px] gap-6 items-start",children:[e.jsxDEV("div",{className:"overflow-x-clip",children:[e.jsxDEV("div",{className:"sticky top-0 z-20 bg-surface pt-3 pb-3",children:e.jsxDEV("div",{className:"bg-surface-sunken rounded-lg px-5 py-2",children:e.jsxDEV("div",{className:"relative w-1/2",children:[e.jsxDEV(ue,{className:"absolute left-0 top-1/2 -translate-y-1/2 w-3 h-3 text-text-quaternary"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:152,columnNumber:17},this),e.jsxDEV("input",{type:"text",value:b,onChange:N=>g(N.target.value),placeholder:`Search ${v.length} service accounts…`,className:"w-full pl-5 py-1 text-sm bg-transparent border-b border-surface-border/60 text-text-primary placeholder:text-text-quaternary focus:outline-none focus:border-accent/50 transition-colors"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:153,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:151,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:150,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:149,columnNumber:11},this),e.jsxDEV(A,{columns:f,data:V,keyFn:N=>N.id,isLoading:D,emptyMessage:"No service accounts yet",onRowClick:N=>u(N),activeRowKey:(E==null?void 0:E.id)??null},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:164,columnNumber:11},this),e.jsxDEV(T,{page:l.page,totalPages:l.totalPages(o),onPageChange:l.setPage,total:o,pageSize:l.pageSize,onPageSizeChange:l.setPageSize},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:174,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:147,columnNumber:9},this),e.jsxDEV("div",{className:"sticky top-4",children:e.jsxDEV(Ee,{bot:E},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:185,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:184,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:146,columnNumber:7},this),e.jsxDEV(fe,{open:i,onClose:()=>r(!1)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:189,columnNumber:7},this),e.jsxDEV(ge,{open:!!m,onClose:()=>x(null),bot:m},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:191,columnNumber:7},this),e.jsxDEV(w,{open:!!t,onClose:()=>p(null),onConfirm:c,title:"Delete Service Account",description:e.jsxDEV(e.Fragment,{children:["Delete"," ",e.jsxDEV("span",{className:"font-medium text-text-primary",children:(t==null?void 0:t.display_name)||(t==null?void 0:t.external_id)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:205,columnNumber:13},this),"? This will also revoke all API keys. This action cannot be undone."]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:203,columnNumber:11},this),isPending:s.isPending,error:s.error},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:197,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/bots/BotsPage.tsx",lineNumber:128,columnNumber:5},this)}const ye={self:"Self",all:"All"},Pe={none:"None",self:"Self",all:"All"};function Be({read:a,write:l,className:s=""}){return e.jsxDEV("span",{className:`inline-flex items-center gap-2.5 text-[10px] text-text-tertiary ${s}`,children:[e.jsxDEV("span",{className:"inline-flex items-center gap-1",title:"Can see",children:[e.jsxDEV(pe,{className:"w-3 h-3 shrink-0 opacity-70"},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/ScopeBadge.tsx",lineNumber:25,columnNumber:9},this),e.jsxDEV("span",{className:"w-7",children:ye[a]},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/ScopeBadge.tsx",lineNumber:26,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/display/ScopeBadge.tsx",lineNumber:24,columnNumber:7},this),e.jsxDEV("span",{className:"inline-flex items-center gap-1",title:"Can act on",children:[e.jsxDEV(U,{className:"w-3 h-3 shrink-0 opacity-70"},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/ScopeBadge.tsx",lineNumber:29,columnNumber:9},this),e.jsxDEV("span",{className:"w-7",children:Pe[l]},void 0,!1,{fileName:"/app/dashboard/src/components/common/display/ScopeBadge.tsx",lineNumber:30,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/display/ScopeBadge.tsx",lineNumber:28,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/components/common/display/ScopeBadge.tsx",lineNumber:23,columnNumber:5},this)}const C=[{value:"all|all",label:"See all · act on all",read_scope:"all",write_scope:"all"},{value:"all|self",label:"See all · act on self",read_scope:"all",write_scope:"self"},{value:"self|self",label:"See self · act on self",read_scope:"self",write_scope:"self"},{value:"all|none",label:"See all · read-only",read_scope:"all",write_scope:"none"},{value:"self|none",label:"See self · read-only",read_scope:"self",write_scope:"none"}],B="all|all";function M(a){return C.find(l=>l.value===a)??C[0]}function Ce({user:a}){const{data:l}=I(),s=q(),i=G(),[r,m]=d.useState(""),[x,h]=d.useState("member"),[u,t]=d.useState(B),p=(l==null?void 0:l.roles)??[],b=(a==null?void 0:a.roles)??[],g=d.useMemo(()=>{const o=new Set(b.map(v=>v.role));return p.filter(v=>!o.has(v))},[p,b]),n=()=>{if(!a||!r.trim())return;const o=M(x==="member"?u:B);s.mutate({userId:a.id,role:r.trim(),type:x,read_scope:o.read_scope,write_scope:o.write_scope},{onSuccess:()=>{m(""),h("member"),t(B)}})},D=o=>{a&&i.mutate({userId:a.id,role:o})};return e.jsxDEV("div",{className:"border-l border-surface-border pl-6 pt-4 min-h-[300px]",children:[e.jsxDEV("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-4",children:"Role Membership"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:52,columnNumber:7},this),a?e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-sm text-text-primary",children:a.display_name||a.external_id},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:63,columnNumber:13},this),e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-0.5",children:"Member of:"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:64,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:62,columnNumber:11},this),b.length===0?e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:"No roles assigned."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:68,columnNumber:13},this):e.jsxDEV("div",{className:"flex flex-col gap-2 items-start",children:b.map(o=>e.jsxDEV("span",{className:"flex items-center gap-2.5 pl-2.5 pr-2 py-1 text-xs bg-surface-sunken rounded-full text-text-secondary",children:[e.jsxDEV("span",{className:"inline-flex items-center gap-1 w-24 shrink-0 min-w-0",children:[e.jsxDEV(z,{className:"w-2.5 h-2.5 shrink-0 text-accent/75"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:77,columnNumber:21},this),e.jsxDEV("span",{className:"truncate",title:o.role,children:o.role},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:78,columnNumber:21},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:76,columnNumber:19},this),e.jsxDEV("span",{className:"w-14 shrink-0 text-[9px] uppercase tracking-wide text-text-tertiary",children:o.type},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:80,columnNumber:19},this),o.type==="member"&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("span",{className:"w-px h-3 bg-surface-border shrink-0","aria-hidden":!0},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:83,columnNumber:23},this),e.jsxDEV(Be,{read:o.read_scope,write:o.write_scope},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:84,columnNumber:23},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:82,columnNumber:21},this),e.jsxDEV("button",{onClick:()=>D(o.role),className:"shrink-0 text-text-tertiary hover:text-status-error transition-colors ml-1",title:`Remove ${o.role}`,children:"×"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:87,columnNumber:19},this)]},o.role,!0,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:72,columnNumber:17},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:70,columnNumber:13},this),g.length>0&&e.jsxDEV("div",{className:"pt-3 border-t border-surface-border",children:[e.jsxDEV("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary mb-2",children:"Add Role"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:101,columnNumber:15},this),e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("select",{value:r,onChange:o=>m(o.target.value),className:"select text-xs font-mono flex-1","aria-label":"Role",children:[e.jsxDEV("option",{value:"",children:"Select a role..."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:111,columnNumber:19},this),g.map(o=>e.jsxDEV("option",{value:o,children:o},o,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:113,columnNumber:21},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:105,columnNumber:17},this),e.jsxDEV("select",{value:x,onChange:o=>h(o.target.value),className:"select text-xs w-24","aria-label":"Role type",children:[e.jsxDEV("option",{value:"member",children:"member"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:122,columnNumber:19},this),e.jsxDEV("option",{value:"admin",children:"admin"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:123,columnNumber:19},this),e.jsxDEV("option",{value:"superadmin",children:"superadmin"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:124,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:116,columnNumber:17},this),e.jsxDEV("button",{onClick:n,disabled:!r||s.isPending,className:"btn-primary text-xs",children:s.isPending?"...":"Add"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:126,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:104,columnNumber:15},this),x==="member"&&e.jsxDEV("div",{className:"mt-2",children:[e.jsxDEV("label",{className:"block text-[10px] text-text-tertiary mb-1",children:"Scope"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:136,columnNumber:19},this),e.jsxDEV("select",{value:u,onChange:o=>t(o.target.value),className:"select text-xs w-full","aria-label":"Work-surface scope",children:C.map(o=>e.jsxDEV("option",{value:o.value,children:o.label},o.value,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:144,columnNumber:23},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:137,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:135,columnNumber:17},this),s.error&&e.jsxDEV("p",{className:"text-[10px] text-status-error mt-1",children:s.error.message},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:150,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:100,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:61,columnNumber:9},this):e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:"Select a user to manage their roles."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:57,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/RolePanel.tsx",lineNumber:51,columnNumber:5},this)}function we({active:a,onChange:l}){const s=(i,r,m)=>e.jsxDEV("button",{onClick:()=>l(i),className:`flex items-center gap-1.5 px-3 py-1.5 text-xs rounded-md transition-colors ${a===i?"bg-accent/10 text-accent font-medium":"text-text-tertiary hover:text-text-secondary hover:bg-surface-hover"}`,children:[r,m]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/AccountTabToggle.tsx",lineNumber:7,columnNumber:5},this);return e.jsxDEV("div",{className:"flex gap-1 p-0.5 bg-surface-sunken rounded-lg w-fit",children:[s("users",e.jsxDEV(z,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/AccountTabToggle.tsx",lineNumber:22,columnNumber:21},this),"User Accounts"),s("service-accounts",e.jsxDEV(be,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/AccountTabToggle.tsx",lineNumber:23,columnNumber:32},this),"Service Accounts")]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/AccountTabToggle.tsx",lineNumber:21,columnNumber:5},this)}const Se=[{value:"active",label:"Active"},{value:"inactive",label:"Inactive"},{value:"suspended",label:"Suspended"}],ke={active:"bg-status-success",inactive:"bg-text-tertiary",suspended:"bg-status-error"};function Xe(){const{isBuilder:a}=_(),[l,s]=Ne(),i=l.get("tab"),r=a&&i==="service-accounts"?"service-accounts":"users",m=x=>{s(x==="users"?{}:{tab:x})};return e.jsxDEV("div",{children:[e.jsxDEV(F,{title:"Accounts",docsHash:"#docs:dashboard.md:accounts",actions:a?e.jsxDEV(we,{active:r,onChange:m},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:53,columnNumber:30},this):void 0},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:50,columnNumber:7},this),r==="users"?e.jsxDEV(Ue,{},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:55,columnNumber:32},this):e.jsxDEV(Ve,{embedded:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:55,columnNumber:56},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:49,columnNumber:5},this)}function Ue(){const{isBuilder:a}=_(),{filters:l,setFilter:s,pagination:i}=R({filters:{status:""}}),r=H(),[m,x]=d.useState(!1),[h,u]=d.useState(null),[t,p]=d.useState(null),[b,g]=d.useState(null),{data:n,isLoading:D}=J({status:l.status||void 0,limit:i.pageSize,offset:i.offset}),o=(n==null?void 0:n.total)??0,v=(n==null?void 0:n.users)??[],E=d.useMemo(()=>t?v.find(c=>c.id===t.id)??t:null,[v,t]),V=[{key:"display_name",label:"User",render:c=>e.jsxDEV("div",{className:"flex items-center gap-2.5",children:[e.jsxDEV("span",{className:`w-2 h-2 rounded-full dot-ring shrink-0 ${ke[c.status]??"bg-status-pending"}`,title:c.status},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:92,columnNumber:11},this),e.jsxDEV("span",{className:"text-xs text-text-primary whitespace-nowrap",children:c.display_name||c.external_id},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:96,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:91,columnNumber:9},this)},{key:"email",label:"Email",render:c=>c.email?e.jsxDEV("span",{className:"text-xs text-text-secondary whitespace-nowrap",children:c.email},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:107,columnNumber:11},this):e.jsxDEV("span",{className:"text-xs text-text-quaternary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:109,columnNumber:11},this)},{key:"roles",label:"Roles",render:c=>e.jsxDEV("div",{className:"flex gap-2 flex-wrap",children:(c.roles??[]).map(N=>e.jsxDEV(S,{role:N.role,size:"md"},N.role,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:118,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:116,columnNumber:9},this)},{key:"created_at",label:"Created",render:c=>e.jsxDEV($,{date:c.created_at},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:126,columnNumber:24},this),className:"w-36 whitespace-nowrap"},...a?[{key:"actions",label:"",render:c=>e.jsxDEV(K,{children:[e.jsxDEV(y,{icon:U,title:"Edit user",onClick:()=>u(c)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:134,columnNumber:11},this),e.jsxDEV(y,{icon:k,title:"Delete user",onClick:()=>g(c),colorClass:"text-text-tertiary hover:text-status-error"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:139,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:133,columnNumber:9},this),className:"w-16 text-right"}]:[]],f=()=>{b&&r.mutate(b.id,{onSuccess:()=>g(null)})};return e.jsxDEV("div",{children:[a&&e.jsxDEV("div",{className:"flex justify-end mb-4",children:e.jsxDEV("button",{onClick:()=>x(!0),className:"btn-primary text-xs",children:"Add User"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:162,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:161,columnNumber:9},this),e.jsxDEV(Q,{children:e.jsxDEV(W,{label:"Status",value:l.status,onChange:c=>s("status",c),options:Se},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:169,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:168,columnNumber:7},this),e.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_320px] gap-6 items-start",children:[e.jsxDEV("div",{className:"overflow-x-clip",children:[e.jsxDEV(A,{columns:V,data:v,keyFn:c=>c.id,isLoading:D,emptyMessage:"No users found",onRowClick:c=>p(c),activeRowKey:(E==null?void 0:E.id)??null},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:180,columnNumber:11},this),e.jsxDEV(T,{page:i.page,totalPages:i.totalPages(o),onPageChange:i.setPage,total:o,pageSize:i.pageSize,onPageSizeChange:i.setPageSize},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:190,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:179,columnNumber:9},this),e.jsxDEV("div",{className:"sticky top-4",children:e.jsxDEV(Ce,{user:E},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:202,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:201,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:177,columnNumber:7},this),e.jsxDEV(xe,{open:m,onClose:()=>x(!1)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:206,columnNumber:7},this),e.jsxDEV(he,{open:!!h,onClose:()=>u(null),user:h},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:208,columnNumber:7},this),e.jsxDEV(w,{open:!!b,onClose:()=>g(null),onConfirm:f,title:"Delete User",description:e.jsxDEV(e.Fragment,{children:["Delete"," ",e.jsxDEV("span",{className:"font-medium text-text-primary",children:(b==null?void 0:b.display_name)||(b==null?void 0:b.external_id)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:222,columnNumber:13},this),"? This action cannot be undone."]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:220,columnNumber:11},this),isPending:r.isPending,error:r.error},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:214,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/users/UsersPage.tsx",lineNumber:159,columnNumber:5},this)}export{Xe as UsersPage};
2
- //# sourceMappingURL=index-CQtv2rj6.js.map
@@ -1,2 +0,0 @@
1
- import{j as e}from"./index-DgCS2Frb.js";import{a as u}from"./vendor-query-DLp59M9_.js";import{u as M,a as R,b as k,c as T}from"./mcp-BtG54ZAx.js";import{E as L}from"./EmptyState-CLVm9KmA.js";import{C as I}from"./ConfirmDeleteModal-no0-c_1G.js";import{P as V}from"./PageHeader-DcgGV0Y2.js";import{F as z,a as F,b as P}from"./FilterBar-DEAbNQqp.js";import{S as _}from"./StickyPagination-Clm9H840.js";import{u as $}from"./useFilterParams-Ch-a71bE.js";import{S as q,T as A}from"./ToolTestPanel-Bw4z_Tya.js";import{R as B,a as g}from"./RowActions--m4F6GW8.js";import{S as O}from"./StatusBadge-mk-dJwPT.js";import{T as H}from"./ToolPill-BnF9lCUX.js";import{o as J,am as G,an as Q,Q as U,p as W,P as X}from"./vendor-icons-CNyYGNsk.js";import{c as Y}from"./vendor-react-zA2lQFDs.js";import"./Modal-C6HI6btY.js";import"./RunAsSelector-DiGzSfiG.js";import"./BotPicker-mqwKVOE3.js";import"./bots-DI6Wqp5X.js";import"./helpers-DzO-OGPe.js";function Z(r){const[s,t]=u.useState(()=>{try{const o=localStorage.getItem(r);if(o){const v=JSON.parse(o);if(Array.isArray(v))return new Set(v)}}catch{}return new Set}),l=u.useCallback(o=>{try{localStorage.setItem(r,JSON.stringify([...o]))}catch{}},[r]),i=u.useCallback(o=>{t(v=>{const d=new Set(v);return d.has(o)?d.delete(o):d.add(o),l(d),d})},[l]),p=u.useCallback(o=>s.has(o),[s]);return{expandedIds:s,toggle:i,isExpanded:p}}function K(r){var s,t;return!!((s=r.metadata)!=null&&s.builtin)||!!((t=r.transport_config)!=null&&t.builtin)}function ee(r,s){var i;if(!s)return!0;const t=s.toLowerCase();return r.name.toLowerCase().includes(t)||(i=r.description)!=null&&i.toLowerCase().includes(t)||(r.tags??[]).some(p=>p.toLowerCase().includes(t))?!0:(r.tool_manifest??[]).some(p=>{var o;return p.name.toLowerCase().includes(t)||((o=p.description)==null?void 0:o.toLowerCase().includes(t))})}function se(r,s){if(!s)return r;const t=s.toLowerCase();return r.filter(l=>{var i;return l.name.toLowerCase().includes(t)||((i=l.description)==null?void 0:i.toLowerCase().includes(t))})}function re({server:r,expanded:s,onToggle:t,onEdit:l,onDelete:i,onTryTool:p,connect:o,disconnect:v,visibleTools:d}){const c=r.tool_manifest??[],N=K(r),h=r.tags??[];return e.jsxDEV(e.Fragment,{children:[e.jsxDEV("tr",{onClick:c.length>0?t:void 0,className:`group/row border-b border-surface-border/50 transition-colors duration-100 ${c.length>0?"cursor-pointer row-hover":""}`,children:[e.jsxDEV("td",{className:"px-6 py-2.5",children:e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("span",{className:`transition-transform duration-150 ${s?"rotate-90":""} ${c.length===0?"opacity-0":"text-text-tertiary"}`,children:e.jsxDEV(J,{size:14},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:52,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:51,columnNumber:13},this),e.jsxDEV("span",{className:"flex items-center gap-1.5",children:[e.jsxDEV(q,{name:r.name,serverId:r.id,short:!1},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:55,columnNumber:15},this),c.length>0&&e.jsxDEV("sup",{className:"text-[9px] font-normal text-accent/70",children:c.length},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:57,columnNumber:17},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:54,columnNumber:13},this),h.length>0&&e.jsxDEV("div",{className:"flex gap-1 ml-auto shrink-0",children:[h.slice(0,3).map(m=>e.jsxDEV("span",{className:"inline-block px-1.5 py-0 text-[9px] text-text-tertiary bg-surface-sunken rounded",children:m},m,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:63,columnNumber:19},this)),h.length>3&&e.jsxDEV("span",{className:"text-[9px] text-text-quaternary",title:h.slice(3).join(", "),children:"…"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:68,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:61,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:50,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:49,columnNumber:9},this),e.jsxDEV("td",{className:"px-4 py-2.5 w-28 whitespace-nowrap",children:e.jsxDEV(O,{status:r.status},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:77,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:76,columnNumber:9},this),e.jsxDEV("td",{className:"px-4 py-2.5 w-16",children:e.jsxDEV(B,{children:[!N&&(r.status==="connected"?e.jsxDEV(g,{icon:G,title:"Disconnect server",onClick:()=>v.mutate(r.id)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:85,columnNumber:17},this):e.jsxDEV(g,{icon:Q,title:"Connect server",onClick:()=>o.mutate(r.id),colorClass:"text-text-tertiary hover:text-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:91,columnNumber:17},this)),e.jsxDEV(g,{icon:U,title:"Edit server",onClick:l},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:99,columnNumber:13},this),!N&&e.jsxDEV(g,{icon:W,title:"Delete server",onClick:i,colorClass:"text-text-tertiary hover:text-status-error"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:105,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:82,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:81,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:42,columnNumber:7},this),s&&d.map(m=>e.jsxDEV("tr",{onClick:()=>p(m),className:"group/row cursor-pointer hover:bg-surface-hover/50 transition-colors border-b border-surface-border/15",children:[e.jsxDEV("td",{className:"pl-14 pr-6 py-2.5",children:[e.jsxDEV(H,{name:m.name,size:"md"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:125,columnNumber:13},this),m.description&&e.jsxDEV("p",{className:"text-[11px] leading-snug text-text-quaternary mt-0.5",children:m.description},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:127,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:124,columnNumber:11},this),e.jsxDEV("td",{className:"px-4 py-2.5 w-28"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:132,columnNumber:11},this),e.jsxDEV("td",{className:"px-4 py-2.5 w-16",children:e.jsxDEV("div",{className:"flex items-center justify-end",children:e.jsxDEV("button",{onClick:b=>{b.stopPropagation(),p(m)},className:"opacity-0 group-hover/row:opacity-100 transition-opacity text-text-tertiary hover:text-accent",title:"Try tool",children:e.jsxDEV(X,{className:"w-3.5 h-3.5",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:142,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:137,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:136,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:135,columnNumber:11},this)]},m.name,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:118,columnNumber:9},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/ServerRow.tsx",lineNumber:40,columnNumber:5},this)}function De(){const r=Y(),{filters:s,setFilter:t,pagination:l}=$({filters:{status:"",search:"",tag:""}}),{data:i,isLoading:p}=M({status:s.status||void 0,search:s.search||void 0,tags:s.tag||void 0}),o=R(),v=k(),d=T(),[c,N]=u.useState(null),{expandedIds:h,toggle:m}=Z("lt:expanded:mcp-servers"),[b,S]=u.useState(null),x=(i==null?void 0:i.servers)??[],w=(i==null?void 0:i.total)??0,y=u.useMemo(()=>{const a=new Set;for(const n of x)for(const E of n.tags??[])a.add(E);return[...a].sort().map(n=>({value:n,label:n}))},[x]),f=u.useMemo(()=>s.search?x.filter(a=>ee(a,s.search)):x,[x,s.search]);u.useEffect(()=>{if(!s.search)return;const a=s.search.toLowerCase();for(const n of f)(n.tool_manifest??[]).some(D=>{var j;return D.name.toLowerCase().includes(a)||((j=D.description)==null?void 0:j.toLowerCase().includes(a))})&&!h.has(n.id)&&m(n.id)},[s.search,f]);const C=()=>{c&&d.mutate(c.id,{onSuccess:()=>N(null)})};return p?e.jsxDEV("div",{children:[e.jsxDEV(V,{title:"Servers & Tools"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:87,columnNumber:9},this),e.jsxDEV("div",{className:"animate-pulse space-y-0",children:Array.from({length:5}).map((a,n)=>e.jsxDEV("div",{className:"h-14 border-b last:border-b-0 px-6 flex items-center",children:e.jsxDEV("div",{className:"h-3 bg-surface-sunken rounded w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:91,columnNumber:15},this)},n,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:90,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:88,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:86,columnNumber:7},this):e.jsxDEV("div",{children:[e.jsxDEV(V,{title:"Servers & Tools",docsHash:"#docs:dashboard.md:mcp-server-tools",actions:e.jsxDEV("button",{onClick:()=>r("/mcp/servers/new"),className:"btn-primary text-xs",children:"Register Server"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:105,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:101,columnNumber:7},this),e.jsxDEV("p",{className:"text-sm text-text-secondary mb-6 max-w-2xl leading-relaxed",children:"Registered MCP servers and their available tools. Each server exposes tools that can be used by the MCP Tool Designer."},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:114,columnNumber:7},this),e.jsxDEV(z,{children:[e.jsxDEV(F,{label:"Search",value:s.search,onChange:a=>t("search",a),placeholder:"Server or tool name..."},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:119,columnNumber:9},this),e.jsxDEV(P,{label:"Tag",value:s.tag,onChange:a=>t("tag",a),options:y},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:125,columnNumber:9},this),e.jsxDEV(P,{label:"Status",value:s.status,onChange:a=>t("status",a),options:[{value:"registered",label:"Registered"},{value:"connected",label:"Connected"},{value:"error",label:"Error"},{value:"disconnected",label:"Disconnected"}]},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:131,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:118,columnNumber:7},this),e.jsxDEV("div",{className:"flex gap-0 ",children:[e.jsxDEV("div",{className:`${b?"flex-1 min-w-0":"w-full"} transition-all`,children:[f.length===0?e.jsxDEV(L,{title:"No servers found"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:148,columnNumber:13},this):e.jsxDEV("table",{className:"w-full",children:[e.jsxDEV("thead",{children:e.jsxDEV("tr",{className:"border-b",children:[e.jsxDEV("th",{className:"sticky top-[2.75rem] z-10 bg-surface px-6 py-3 text-left text-[10px] font-semibold uppercase tracking-widest text-text-tertiary",children:"Server / Tool"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:153,columnNumber:19},this),e.jsxDEV("th",{className:"sticky top-[2.75rem] z-10 bg-surface px-4 py-3 text-left text-[10px] font-semibold uppercase tracking-widest text-text-tertiary w-28",children:"Status"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:156,columnNumber:19},this),e.jsxDEV("th",{className:"sticky top-[2.75rem] z-10 bg-surface w-16"},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:159,columnNumber:19},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:152,columnNumber:17},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:151,columnNumber:15},this),e.jsxDEV("tbody",{children:f.map(a=>e.jsxDEV(re,{server:a,expanded:h.has(a.id),onToggle:()=>m(a.id),onEdit:()=>r(`/mcp/servers/${a.id}`),onDelete:()=>N(a),onTryTool:n=>S({serverId:a.id,serverName:a.name,tool:n}),connect:o,disconnect:v,visibleTools:se(a.tool_manifest??[],s.search)},a.id,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:164,columnNumber:19},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:162,columnNumber:15},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:150,columnNumber:13},this),e.jsxDEV(_,{page:l.page,totalPages:l.totalPages(w),onPageChange:l.setPage,total:w,pageSize:l.pageSize,onPageSizeChange:l.setPageSize},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:190,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:146,columnNumber:9},this),b&&e.jsxDEV("div",{className:"w-[380px] shrink-0 sticky top-0 max-h-screen overflow-y-auto",children:e.jsxDEV(A,{serverId:b.serverId,serverName:b.serverName,tool:b.tool,onClose:()=>S(null)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:203,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:202,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:144,columnNumber:7},this),e.jsxDEV(I,{open:!!c,onClose:()=>N(null),onConfirm:C,title:"Delete MCP Server",description:e.jsxDEV(e.Fragment,{children:["Delete"," ",e.jsxDEV("span",{className:"font-medium text-text-primary",children:c==null?void 0:c.name},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:222,columnNumber:13},this),"? This will remove the server registration."]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:220,columnNumber:11},this),isPending:d.isPending,error:d.error},void 0,!1,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:214,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/mcp/servers/McpServersPage.tsx",lineNumber:100,columnNumber:5},this)}export{De as McpServersPage};
2
- //# sourceMappingURL=index-CphzO7b8.js.map
@@ -1,2 +0,0 @@
1
- import{j as a}from"./index-DgCS2Frb.js";import{a as p}from"./vendor-query-DLp59M9_.js";import{a as M}from"./vendor-react-zA2lQFDs.js";import{u as D,a as E,b as k,S as w,c as V,d as T,e as F}from"./StreamMessageDetail-Bikvs1Cz.js";import{u as C}from"./useFilterParams-Ch-a71bE.js";import{u as O}from"./useNamespace-D-AjLnPK.js";import{b as $}from"./api-path-u2Jf9QXS.js";import{D as z}from"./DataTable-Bf4dgxll.js";import{S as A}from"./StickyPagination-Clm9H840.js";import{F as R,b as u,a as x}from"./FilterBar-DEAbNQqp.js";import{T as g}from"./TimestampCell-BPMCscic.js";import{P as L}from"./PageHeader-DcgGV0Y2.js";import{L as U}from"./ListToolbar-Dviaskni.js";import{X as f}from"./vendor-icons-CNyYGNsk.js";import"./controlplane-Djshb7fm.js";import"./EmptyState-CLVm9KmA.js";function I(m,o){if(m.length<=o)return m;const s=Math.floor((o-1)/2);return`${m.slice(0,s)}…${m.slice(-s)}`}function me(){const{namespace:m,available:o}=O("namespace"),{filters:s,setFilter:r,pagination:t,sort:l,setSort:h}=C({filters:{namespace:"",source:"worker",status:"",stream_name:"",msg_type:"",topic:"",workflow_name:"",jid:"",aid:""}}),[n,b]=p.useState(null),v=p.useMemo(()=>o.map(e=>({value:e,label:e})),[o]),{data:i,isLoading:S,refetch:y,isFetching:_}=D({namespace:s.namespace||m,source:s.source||"worker",limit:t.pageSize,offset:t.offset,sort_by:l.sort_by||"created_at",order:l.order||"desc",status:s.status||void 0,stream_name:s.stream_name||void 0,msg_type:s.msg_type||void 0,topic:s.topic||void 0,workflow_name:s.workflow_name||void 0,jid:s.jid||void 0,aid:s.aid||void 0}),c=(i==null?void 0:i.messages)??[],N=(i==null?void 0:i.total)??0,d=p.useMemo(()=>n?c.find(e=>e.id===n.id&&e.source===n.source)??n:null,[c,n]),P=!!d,j=[{key:"status",label:"Status",render:e=>a.jsxDEV("div",{className:"flex items-center gap-2",children:[a.jsxDEV("span",{className:`w-2 h-2 rounded-full dot-ring shrink-0 ${V[e.status]}`},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:69,columnNumber:11},this),a.jsxDEV("span",{className:"text-xs",children:T[e.status]},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:70,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:68,columnNumber:9},this),className:"w-28"},{key:"source",label:"Source",render:e=>a.jsxDEV("span",{className:F,children:e.source},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:78,columnNumber:24},this),className:"w-20"},{key:"stream_name",label:"Stream",sortable:!0,render:e=>a.jsxDEV("span",{className:"font-mono text-xs text-text-secondary truncate block max-w-[240px]",title:e.stream_name,children:e.stream_name},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:86,columnNumber:9},this)},{key:"msg_type",label:"Type",render:e=>a.jsxDEV("span",{className:"text-xs text-text-secondary",children:e.msg_type||"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:95,columnNumber:9},this),className:"w-24"},{key:"created_at",label:"Created",sortable:!0,render:e=>a.jsxDEV(g,{date:e.created_at},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:103,columnNumber:24},this),className:"w-44"},{key:"reserved_at",label:"Reserved",render:e=>e.reserved_at?a.jsxDEV(g,{date:e.reserved_at},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:109,columnNumber:42},this):a.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:109,columnNumber:85},this),className:"w-44"},{key:"expired_at",label:"Processed",render:e=>e.expired_at?a.jsxDEV(g,{date:e.expired_at},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:115,columnNumber:41},this):a.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:115,columnNumber:83},this),className:"w-44"},{key:"priority",label:"Pri",sortable:!0,render:e=>a.jsxDEV("span",{className:"text-xs text-text-secondary",children:e.priority},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:122,columnNumber:24},this),className:"w-12 text-right"},{key:"retry_attempt",label:"Retries",render:e=>a.jsxDEV("span",{className:"text-xs text-text-secondary",children:[e.retry_attempt,"/",e.max_retry_attempts]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:129,columnNumber:9},this),className:"w-16"}];return a.jsxDEV("div",{children:[a.jsxDEV(L,{title:"Messages",docsHash:"#docs:dashboard.md:messages"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:139,columnNumber:7},this),a.jsxDEV(R,{actions:a.jsxDEV(U,{onRefresh:()=>y(),isFetching:_,apiPath:$("/controlplane/stream-messages",{namespace:s.namespace||m,source:s.source||"worker",limit:t.pageSize,offset:t.offset,sort_by:l.sort_by||"created_at",order:l.order||"desc",status:s.status||void 0,stream_name:s.stream_name||void 0,msg_type:s.msg_type||void 0,topic:s.topic||void 0,workflow_name:s.workflow_name||void 0,jid:s.jid||void 0,aid:s.aid||void 0})},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:142,columnNumber:9},this),children:[a.jsxDEV(u,{label:"Namespace",value:s.namespace,onChange:e=>r("namespace",e),options:v,required:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:162,columnNumber:9},this),a.jsxDEV(u,{label:"Source",value:s.source,onChange:e=>r("source",e),options:E,required:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:169,columnNumber:9},this),a.jsxDEV(u,{label:"Status",value:s.status,onChange:e=>r("status",e),options:k},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:176,columnNumber:9},this),a.jsxDEV(x,{label:"Stream",value:s.stream_name,onChange:e=>r("stream_name",e),placeholder:"Filter by stream name…"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:182,columnNumber:9},this),a.jsxDEV(x,{label:"Job ID",value:s.jid,onChange:e=>r("jid",e),placeholder:"Filter by jid…"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:188,columnNumber:9},this),[{key:"topic",label:"Topic",value:s.topic},{key:"workflow_name",label:"Workflow",value:s.workflow_name},{key:"aid",label:"Activity",value:s.aid},{key:"msg_type",label:"Type",value:s.msg_type}].filter(e=>e.value).map(e=>a.jsxDEV("button",{onClick:()=>r(e.key,""),className:"inline-flex items-center gap-1 px-2 py-0.5 text-[10px] font-mono rounded-full bg-accent/15 text-accent hover:bg-accent/25 transition-colors",title:`Clear ${e.label} filter: ${e.value}`,children:[e.label,": ",I(e.value,12),a.jsxDEV(f,{className:"w-2.5 h-2.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:208,columnNumber:13},this)]},e.key,!0,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:201,columnNumber:11},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:141,columnNumber:7},this),a.jsxDEV(z,{columns:j,data:c,keyFn:e=>`${e.source}:${e.id}`,isLoading:S,emptyMessage:"No stream messages found",onRowClick:e=>b(e),activeRowKey:d?`${d.source}:${d.id}`:null,sort:l,onSort:h},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:213,columnNumber:7},this),a.jsxDEV(A,{page:t.page,totalPages:t.totalPages(N),onPageChange:t.setPage,total:N,pageSize:t.pageSize,onPageSizeChange:t.setPageSize},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:225,columnNumber:7},this),P&&M.createPortal(a.jsxDEV("div",{className:"fixed right-0 bottom-0 w-[400px] z-40 border-l border-surface-border bg-surface overflow-y-auto shadow-lg",style:{top:"3.5rem"},children:[a.jsxDEV("div",{className:"sticky top-0 z-10 flex items-center justify-between px-4 py-3 bg-surface border-b border-surface-border/50",children:[a.jsxDEV("span",{className:"text-xs font-medium text-text-primary",children:"Message Detail"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:238,columnNumber:13},this),a.jsxDEV("button",{onClick:()=>b(null),className:"p-1 rounded hover:bg-surface-hover text-text-tertiary hover:text-text-primary transition-colors",title:"Close",children:a.jsxDEV(f,{className:"w-4 h-4"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:244,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:239,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:237,columnNumber:11},this),a.jsxDEV("div",{className:"px-4 py-4",children:a.jsxDEV(w,{message:d,filters:{onFilterStatus:e=>r("status",e),onFilterStreamName:e=>r("stream_name",e),onFilterMsgType:e=>r("msg_type",e),onFilterTopic:e=>r("topic",e),onFilterWorkflow:e=>r("workflow_name",e),onFilterJid:e=>r("jid",e),onFilterAid:e=>r("aid",e)}},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:248,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:247,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:236,columnNumber:9},this),document.body)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/streams/StreamMessagesPage.tsx",lineNumber:138,columnNumber:5},this)}export{me as StreamMessagesPage};
2
- //# sourceMappingURL=index-CwAmiy_j.js.map