@hotmeshio/long-tail 0.1.13 → 0.1.14

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 (260) hide show
  1. package/build/api/files.d.ts +13 -0
  2. package/build/api/files.js +44 -0
  3. package/build/api/mcp-runs.d.ts +2 -0
  4. package/build/api/mcp-runs.js +2 -0
  5. package/build/api/workflow-sets.d.ts +11 -0
  6. package/build/api/workflow-sets.js +62 -0
  7. package/build/api/yaml-workflows.d.ts +9 -0
  8. package/build/api/yaml-workflows.js +40 -11
  9. package/build/lib/storage/local.d.ts +15 -0
  10. package/build/lib/storage/local.js +63 -0
  11. package/build/lib/storage/mime.d.ts +4 -0
  12. package/build/lib/storage/mime.js +31 -0
  13. package/build/lib/storage/s3.d.ts +16 -0
  14. package/build/lib/storage/s3.js +70 -0
  15. package/build/lib/storage/types.d.ts +18 -0
  16. package/build/modules/utils.d.ts +73 -0
  17. package/build/modules/utils.js +84 -0
  18. package/build/routes/file-browser.d.ts +2 -0
  19. package/build/routes/file-browser.js +112 -0
  20. package/build/routes/files.js +25 -17
  21. package/build/routes/index.js +2 -0
  22. package/build/routes/mcp-runs.js +2 -0
  23. package/build/routes/workflow-sets.js +9 -0
  24. package/build/routes/yaml-workflows/deployment.js +8 -0
  25. package/build/services/insight/index.d.ts +13 -0
  26. package/build/services/insight/index.js +4 -7
  27. package/build/services/insight/prompts.d.ts +1 -1
  28. package/build/services/insight/prompts.js +1 -1
  29. package/build/services/mcp-runs/queries.d.ts +2 -0
  30. package/build/services/mcp-runs/queries.js +11 -1
  31. package/build/services/mcp-runs/sql.d.ts +1 -1
  32. package/build/services/mcp-runs/sql.js +2 -2
  33. package/build/services/workflow-sets/db.d.ts +1 -0
  34. package/build/services/workflow-sets/db.js +6 -0
  35. package/build/services/workflow-sets/index.d.ts +1 -1
  36. package/build/services/workflow-sets/index.js +2 -1
  37. package/build/services/workflow-sets/sql.d.ts +1 -0
  38. package/build/services/workflow-sets/sql.js +6 -1
  39. package/build/services/yaml-workflow/db.d.ts +12 -0
  40. package/build/services/yaml-workflow/db.js +18 -0
  41. package/build/services/yaml-workflow/generator.js +4 -4
  42. package/build/services/yaml-workflow/pipeline/build/index.d.ts +2 -1
  43. package/build/services/yaml-workflow/pipeline/build/index.js +3 -2
  44. package/build/services/yaml-workflow/pipeline/build/utils.d.ts +0 -2
  45. package/build/services/yaml-workflow/pipeline/build/utils.js +0 -8
  46. package/build/services/yaml-workflow/sql.d.ts +2 -1
  47. package/build/services/yaml-workflow/sql.js +10 -3
  48. package/build/system/activities/schema-exchange.d.ts +50 -0
  49. package/build/system/activities/schema-exchange.js +210 -0
  50. package/build/system/activities/sql.d.ts +1 -1
  51. package/build/system/activities/sql.js +12 -1
  52. package/build/system/index.js +1 -0
  53. package/build/system/mcp-servers/knowledge.js +35 -6
  54. package/build/system/mcp-servers/schema-exchange.d.ts +4 -0
  55. package/build/system/mcp-servers/schema-exchange.js +93 -0
  56. package/build/system/seed/server-definitions.d.ts +112 -1
  57. package/build/system/seed/server-definitions.js +37 -0
  58. package/build/system/seed/tool-manifests-data.d.ts +87 -0
  59. package/build/system/seed/tool-manifests-data.js +37 -1
  60. package/build/system/seed/tool-manifests-knowledge.d.ts +9 -1
  61. package/build/system/seed/tool-manifests-knowledge.js +6 -5
  62. package/build/system/workflows/mcp-workflow-builder/prompts.d.ts +1 -1
  63. package/build/system/workflows/mcp-workflow-builder/prompts.js +21 -20
  64. package/build/system/workflows/mcp-workflow-planner/activities/persist.d.ts +1 -1
  65. package/build/system/workflows/mcp-workflow-planner/activities/persist.js +3 -3
  66. package/build/system/workflows/mcp-workflow-planner/index.js +39 -5
  67. package/build/system/workflows/mcp-workflow-planner/prompts.d.ts +1 -1
  68. package/build/system/workflows/mcp-workflow-planner/prompts.js +3 -3
  69. package/build/tsconfig.tsbuildinfo +1 -1
  70. package/dashboard/dist/assets/{AdminDashboard-DUrSBQOl.js → AdminDashboard-Cngijp4Q.js} +2 -2
  71. package/dashboard/dist/assets/{AdminDashboard-DUrSBQOl.js.map → AdminDashboard-Cngijp4Q.js.map} +1 -1
  72. package/dashboard/dist/assets/{AvailableEscalationsPage-Dbd1qUK_.js → AvailableEscalationsPage-CpBfGV1h.js} +2 -2
  73. package/dashboard/dist/assets/{AvailableEscalationsPage-Dbd1qUK_.js.map → AvailableEscalationsPage-CpBfGV1h.js.map} +1 -1
  74. package/dashboard/dist/assets/{BotPicker-Cg5iNEkm.js → BotPicker-B8Uvw9Si.js} +2 -2
  75. package/dashboard/dist/assets/{BotPicker-Cg5iNEkm.js.map → BotPicker-B8Uvw9Si.js.map} +1 -1
  76. package/dashboard/dist/assets/{CollapsibleSection-Kd9UIyeU.js → CollapsibleSection-DiFPuWOY.js} +2 -2
  77. package/dashboard/dist/assets/{CollapsibleSection-Kd9UIyeU.js.map → CollapsibleSection-DiFPuWOY.js.map} +1 -1
  78. package/dashboard/dist/assets/{ConfirmDeleteModal-DZMgmlof.js → ConfirmDeleteModal-CpXG9uyu.js} +2 -2
  79. package/dashboard/dist/assets/{ConfirmDeleteModal-DZMgmlof.js.map → ConfirmDeleteModal-CpXG9uyu.js.map} +1 -1
  80. package/dashboard/dist/assets/{CopyableId-cPFTRm8q.js → CopyableId-DKsTR9lK.js} +2 -2
  81. package/dashboard/dist/assets/{CopyableId-cPFTRm8q.js.map → CopyableId-DKsTR9lK.js.map} +1 -1
  82. package/dashboard/dist/assets/CredentialsPage-DlS7Kf40.js +2 -0
  83. package/dashboard/dist/assets/{CredentialsPage-DJablIbs.js.map → CredentialsPage-DlS7Kf40.js.map} +1 -1
  84. package/dashboard/dist/assets/{CustomDurationPicker-NgIP6YDW.js → CustomDurationPicker-B-9eW3pm.js} +2 -2
  85. package/dashboard/dist/assets/{CustomDurationPicker-NgIP6YDW.js.map → CustomDurationPicker-B-9eW3pm.js.map} +1 -1
  86. package/dashboard/dist/assets/{DataTable-CTRhTAfT.js → DataTable-DkOokbtL.js} +2 -2
  87. package/dashboard/dist/assets/{DataTable-CTRhTAfT.js.map → DataTable-DkOokbtL.js.map} +1 -1
  88. package/dashboard/dist/assets/{ElapsedCell-HcSJ_MMs.js → ElapsedCell-DVtHqM-5.js} +2 -2
  89. package/dashboard/dist/assets/{ElapsedCell-HcSJ_MMs.js.map → ElapsedCell-DVtHqM-5.js.map} +1 -1
  90. package/dashboard/dist/assets/{EmptyState-joNbd4gg.js → EmptyState-C7KIMIbE.js} +2 -2
  91. package/dashboard/dist/assets/{EmptyState-joNbd4gg.js.map → EmptyState-C7KIMIbE.js.map} +1 -1
  92. package/dashboard/dist/assets/{EscalationsOverview-DpXDnQux.js → EscalationsOverview-BMKBlkPx.js} +2 -2
  93. package/dashboard/dist/assets/{EscalationsOverview-DpXDnQux.js.map → EscalationsOverview-BMKBlkPx.js.map} +1 -1
  94. package/dashboard/dist/assets/{EventTable-CYem3v8n.js → EventTable-BYZ5OVdQ.js} +2 -2
  95. package/dashboard/dist/assets/{EventTable-CYem3v8n.js.map → EventTable-BYZ5OVdQ.js.map} +1 -1
  96. package/dashboard/dist/assets/{FilterBar-BiO8SOzc.js → FilterBar-C5r3n6YO.js} +2 -2
  97. package/dashboard/dist/assets/{FilterBar-BiO8SOzc.js.map → FilterBar-C5r3n6YO.js.map} +1 -1
  98. package/dashboard/dist/assets/{ListToolbar-6yRDh2e9.js → ListToolbar-BGUajIsW.js} +2 -2
  99. package/dashboard/dist/assets/{ListToolbar-6yRDh2e9.js.map → ListToolbar-BGUajIsW.js.map} +1 -1
  100. package/dashboard/dist/assets/{McpOverview-CUgSxkQe.js → McpOverview-B_kJYHea.js} +2 -2
  101. package/dashboard/dist/assets/{McpOverview-CUgSxkQe.js.map → McpOverview-B_kJYHea.js.map} +1 -1
  102. package/dashboard/dist/assets/McpQueryDetailPage-Czsmovqw.js +5 -0
  103. package/dashboard/dist/assets/McpQueryDetailPage-Czsmovqw.js.map +1 -0
  104. package/dashboard/dist/assets/McpQueryPage-BgAq_bQg.js +2 -0
  105. package/dashboard/dist/assets/{McpQueryPage-lV6kfDG5.js.map → McpQueryPage-BgAq_bQg.js.map} +1 -1
  106. package/dashboard/dist/assets/McpRunDetailPage-B8c0OszR.js +2 -0
  107. package/dashboard/dist/assets/McpRunDetailPage-B8c0OszR.js.map +1 -0
  108. package/dashboard/dist/assets/McpRunsPage-BY8C6k78.js +2 -0
  109. package/dashboard/dist/assets/McpRunsPage-BY8C6k78.js.map +1 -0
  110. package/dashboard/dist/assets/{Modal-BuTvD0pz.js → Modal-E1yRnCeW.js} +2 -2
  111. package/dashboard/dist/assets/{Modal-BuTvD0pz.js.map → Modal-E1yRnCeW.js.map} +1 -1
  112. package/dashboard/dist/assets/OperatorDashboard-C8MSTzey.js +2 -0
  113. package/dashboard/dist/assets/{OperatorDashboard-C9SSV96T.js.map → OperatorDashboard-C8MSTzey.js.map} +1 -1
  114. package/dashboard/dist/assets/{PageHeader-BcTVF9ul.js → PageHeader-Cm5HBQF_.js} +2 -2
  115. package/dashboard/dist/assets/{PageHeader-BcTVF9ul.js.map → PageHeader-Cm5HBQF_.js.map} +1 -1
  116. package/dashboard/dist/assets/{PageHeaderWithStats-BI7JG5x6.js → PageHeaderWithStats-CNmWJFSN.js} +2 -2
  117. package/dashboard/dist/assets/{PageHeaderWithStats-BI7JG5x6.js.map → PageHeaderWithStats-CNmWJFSN.js.map} +1 -1
  118. package/dashboard/dist/assets/{PriorityBadge-DqVaOU65.js → PriorityBadge-HSI4RVhs.js} +2 -2
  119. package/dashboard/dist/assets/{PriorityBadge-DqVaOU65.js.map → PriorityBadge-HSI4RVhs.js.map} +1 -1
  120. package/dashboard/dist/assets/{ProcessDetailPage-hFMhf9qa.js → ProcessDetailPage-Dln8622H.js} +2 -2
  121. package/dashboard/dist/assets/{ProcessDetailPage-hFMhf9qa.js.map → ProcessDetailPage-Dln8622H.js.map} +1 -1
  122. package/dashboard/dist/assets/{ProcessesListPage-ByVoBCQ3.js → ProcessesListPage-bIsd9N_h.js} +2 -2
  123. package/dashboard/dist/assets/{ProcessesListPage-ByVoBCQ3.js.map → ProcessesListPage-bIsd9N_h.js.map} +1 -1
  124. package/dashboard/dist/assets/{RolePill-D9ZIkYiu.js → RolePill-BVUp2bF0.js} +2 -2
  125. package/dashboard/dist/assets/{RolePill-D9ZIkYiu.js.map → RolePill-BVUp2bF0.js.map} +1 -1
  126. package/dashboard/dist/assets/RolesPage-kH-Njt25.js +2 -0
  127. package/dashboard/dist/assets/{RolesPage-SMedMuqa.js.map → RolesPage-kH-Njt25.js.map} +1 -1
  128. package/dashboard/dist/assets/{RowActions-yDhwwDbU.js → RowActions-DbUJPfaW.js} +2 -2
  129. package/dashboard/dist/assets/{RowActions-yDhwwDbU.js.map → RowActions-DbUJPfaW.js.map} +1 -1
  130. package/dashboard/dist/assets/{StatCard-BrBnQFxh.js → StatCard-Bs3JbyAz.js} +2 -2
  131. package/dashboard/dist/assets/{StatCard-BrBnQFxh.js.map → StatCard-Bs3JbyAz.js.map} +1 -1
  132. package/dashboard/dist/assets/{StatusBadge-xgb-lZku.js → StatusBadge-CakDdsCw.js} +2 -2
  133. package/dashboard/dist/assets/{StatusBadge-xgb-lZku.js.map → StatusBadge-CakDdsCw.js.map} +1 -1
  134. package/dashboard/dist/assets/{StepIndicator-B9ps2SvM.js → StepIndicator-Cd_SG_yA.js} +2 -2
  135. package/dashboard/dist/assets/{StepIndicator-B9ps2SvM.js.map → StepIndicator-Cd_SG_yA.js.map} +1 -1
  136. package/dashboard/dist/assets/{StickyPagination-DTIjBKN3.js → StickyPagination-Bz0C18nC.js} +2 -2
  137. package/dashboard/dist/assets/{StickyPagination-DTIjBKN3.js.map → StickyPagination-Bz0C18nC.js.map} +1 -1
  138. package/dashboard/dist/assets/{SwimlaneTimeline-RK4Yu66z.js → SwimlaneTimeline-Cfe-xQRX.js} +2 -2
  139. package/dashboard/dist/assets/{SwimlaneTimeline-RK4Yu66z.js.map → SwimlaneTimeline-Cfe-xQRX.js.map} +1 -1
  140. package/dashboard/dist/assets/{TagInput-CdNUuqk4.js → TagInput-ClFhXG-U.js} +2 -2
  141. package/dashboard/dist/assets/{TagInput-CdNUuqk4.js.map → TagInput-ClFhXG-U.js.map} +1 -1
  142. package/dashboard/dist/assets/{TaskDetailPage-C-nzaNea.js → TaskDetailPage-SuMBdARt.js} +2 -2
  143. package/dashboard/dist/assets/{TaskDetailPage-C-nzaNea.js.map → TaskDetailPage-SuMBdARt.js.map} +1 -1
  144. package/dashboard/dist/assets/{TaskQueuePill-Lvr2-NzS.js → TaskQueuePill-lJR1JW_W.js} +2 -2
  145. package/dashboard/dist/assets/{TaskQueuePill-Lvr2-NzS.js.map → TaskQueuePill-lJR1JW_W.js.map} +1 -1
  146. package/dashboard/dist/assets/{TasksListPage-DSUmD84y.js → TasksListPage-Dkq1Vtbt.js} +2 -2
  147. package/dashboard/dist/assets/{TasksListPage-DSUmD84y.js.map → TasksListPage-Dkq1Vtbt.js.map} +1 -1
  148. package/dashboard/dist/assets/{TimeAgo-BZdLdrIh.js → TimeAgo-DgfDZ1pl.js} +2 -2
  149. package/dashboard/dist/assets/{TimeAgo-BZdLdrIh.js.map → TimeAgo-DgfDZ1pl.js.map} +1 -1
  150. package/dashboard/dist/assets/{TimestampCell-QX_0i5FK.js → TimestampCell-MpHZ1hMD.js} +2 -2
  151. package/dashboard/dist/assets/{TimestampCell-QX_0i5FK.js.map → TimestampCell-MpHZ1hMD.js.map} +1 -1
  152. package/dashboard/dist/assets/{UserName-DyZMXcBm.js → UserName-DqsosA4B.js} +2 -2
  153. package/dashboard/dist/assets/{UserName-DyZMXcBm.js.map → UserName-DqsosA4B.js.map} +1 -1
  154. package/dashboard/dist/assets/{WorkflowExecutionPage-DjVxfZaF.js → WorkflowExecutionPage-CVlg38C3.js} +2 -2
  155. package/dashboard/dist/assets/{WorkflowExecutionPage-DjVxfZaF.js.map → WorkflowExecutionPage-CVlg38C3.js.map} +1 -1
  156. package/dashboard/dist/assets/WorkflowPill-CRpZhjGR.js +2 -0
  157. package/dashboard/dist/assets/WorkflowPill-CRpZhjGR.js.map +1 -0
  158. package/dashboard/dist/assets/{WorkflowsDashboard-DZjuiFZ0.js → WorkflowsDashboard-Ugzbs8mV.js} +2 -2
  159. package/dashboard/dist/assets/{WorkflowsDashboard-DZjuiFZ0.js.map → WorkflowsDashboard-Ugzbs8mV.js.map} +1 -1
  160. package/dashboard/dist/assets/{WorkflowsOverview-CLnLRpOu.js → WorkflowsOverview-CIp_lTNl.js} +2 -2
  161. package/dashboard/dist/assets/{WorkflowsOverview-CLnLRpOu.js.map → WorkflowsOverview-CIp_lTNl.js.map} +1 -1
  162. package/dashboard/dist/assets/YamlWorkflowsPage-BICF0fRO.js +2 -0
  163. package/dashboard/dist/assets/YamlWorkflowsPage-BICF0fRO.js.map +1 -0
  164. package/dashboard/dist/assets/{bots-DIM6lBoY.js → bots-DPfUpVqI.js} +2 -2
  165. package/dashboard/dist/assets/{bots-DIM6lBoY.js.map → bots-DPfUpVqI.js.map} +1 -1
  166. package/dashboard/dist/assets/{escalation-JOTuOqjq.js → escalation-RrCDbMC3.js} +2 -2
  167. package/dashboard/dist/assets/{escalation-JOTuOqjq.js.map → escalation-RrCDbMC3.js.map} +1 -1
  168. package/dashboard/dist/assets/escalation-columns-CDGa9wsD.js +2 -0
  169. package/dashboard/dist/assets/{escalation-columns-Cyg58nkg.js.map → escalation-columns-CDGa9wsD.js.map} +1 -1
  170. package/dashboard/dist/assets/{helpers-B1BDxBZd.js → helpers-ZSKqdkdS.js} +2 -2
  171. package/dashboard/dist/assets/{helpers-B1BDxBZd.js.map → helpers-ZSKqdkdS.js.map} +1 -1
  172. package/dashboard/dist/assets/helpers-rMEcLwKs.js +2 -0
  173. package/dashboard/dist/assets/helpers-rMEcLwKs.js.map +1 -0
  174. package/dashboard/dist/assets/{index-DDYFpi4l.js → index-ABcJHHlN.js} +2 -2
  175. package/dashboard/dist/assets/{index-DDYFpi4l.js.map → index-ABcJHHlN.js.map} +1 -1
  176. package/dashboard/dist/assets/{index-D1wVX50Z.js → index-B91h_jZ0.js} +2 -2
  177. package/dashboard/dist/assets/{index-D1wVX50Z.js.map → index-B91h_jZ0.js.map} +1 -1
  178. package/dashboard/dist/assets/{index-BcR6PfpY.js → index-BbI2dzhJ.js} +2 -2
  179. package/dashboard/dist/assets/{index-BcR6PfpY.js.map → index-BbI2dzhJ.js.map} +1 -1
  180. package/dashboard/dist/assets/{index-BizfauqT.js → index-BmVCyB6C.js} +4 -4
  181. package/dashboard/dist/assets/{index-BizfauqT.js.map → index-BmVCyB6C.js.map} +1 -1
  182. package/dashboard/dist/assets/index-C1E5GTs9.js +2 -0
  183. package/dashboard/dist/assets/index-C1E5GTs9.js.map +1 -0
  184. package/dashboard/dist/assets/{index-Cf60K3x9.js → index-C90ZPzXk.js} +2 -2
  185. package/dashboard/dist/assets/{index-Cf60K3x9.js.map → index-C90ZPzXk.js.map} +1 -1
  186. package/dashboard/dist/assets/{index-BYZX9tOb.js → index-Cmgrk7PQ.js} +58 -58
  187. package/dashboard/dist/assets/index-Cmgrk7PQ.js.map +1 -0
  188. package/dashboard/dist/assets/{index-Ds0JoXS2.js → index-DNytWfSZ.js} +2 -2
  189. package/dashboard/dist/assets/{index-Ds0JoXS2.js.map → index-DNytWfSZ.js.map} +1 -1
  190. package/dashboard/dist/assets/index-DX6zxr6t.js +2 -0
  191. package/dashboard/dist/assets/{index-Cg5nfiYX.js.map → index-DX6zxr6t.js.map} +1 -1
  192. package/dashboard/dist/assets/index-DeX-ezqf.css +1 -0
  193. package/dashboard/dist/assets/index-K40Qw1tk.js +2 -0
  194. package/dashboard/dist/assets/{index-Di12t56M.js.map → index-K40Qw1tk.js.map} +1 -1
  195. package/dashboard/dist/assets/{index-BUK3qR-1.js → index-lCyNr5Xk.js} +2 -2
  196. package/dashboard/dist/assets/{index-BUK3qR-1.js.map → index-lCyNr5Xk.js.map} +1 -1
  197. package/dashboard/dist/assets/{mcp-B_xbczAt.js → mcp-CNE44TSp.js} +2 -2
  198. package/dashboard/dist/assets/{mcp-B_xbczAt.js.map → mcp-CNE44TSp.js.map} +1 -1
  199. package/dashboard/dist/assets/mcp-query-RQX0uN-5.js +2 -0
  200. package/dashboard/dist/assets/mcp-query-RQX0uN-5.js.map +1 -0
  201. package/dashboard/dist/assets/mcp-runs-0w40bdz-.js +2 -0
  202. package/dashboard/dist/assets/mcp-runs-0w40bdz-.js.map +1 -0
  203. package/dashboard/dist/assets/{namespaces-C3WtdO_9.js → namespaces-BbmdXuPp.js} +2 -2
  204. package/dashboard/dist/assets/{namespaces-C3WtdO_9.js.map → namespaces-BbmdXuPp.js.map} +1 -1
  205. package/dashboard/dist/assets/{roles-BDAsPpZG.js → roles-DoHYlhWH.js} +2 -2
  206. package/dashboard/dist/assets/{roles-BDAsPpZG.js.map → roles-DoHYlhWH.js.map} +1 -1
  207. package/dashboard/dist/assets/{settings-Ife_UwAp.js → settings-BAiJiCHS.js} +2 -2
  208. package/dashboard/dist/assets/{settings-Ife_UwAp.js.map → settings-BAiJiCHS.js.map} +1 -1
  209. package/dashboard/dist/assets/{tasks-BquNDHDI.js → tasks-CvroqHtm.js} +2 -2
  210. package/dashboard/dist/assets/{tasks-BquNDHDI.js.map → tasks-CvroqHtm.js.map} +1 -1
  211. package/dashboard/dist/assets/{useEventHooks-anv_B2Yy.js → useEventHooks-BHMbzR_y.js} +2 -2
  212. package/dashboard/dist/assets/{useEventHooks-anv_B2Yy.js.map → useEventHooks-BHMbzR_y.js.map} +1 -1
  213. package/dashboard/dist/assets/useFilterParams-CGRYFw_A.js +2 -0
  214. package/dashboard/dist/assets/useFilterParams-CGRYFw_A.js.map +1 -0
  215. package/dashboard/dist/assets/useYamlActivityEvents-D56KV14X.js +2 -0
  216. package/dashboard/dist/assets/useYamlActivityEvents-D56KV14X.js.map +1 -0
  217. package/dashboard/dist/assets/{users-CFcxB4v6.js → users-CxIMy_xw.js} +2 -2
  218. package/dashboard/dist/assets/{users-CFcxB4v6.js.map → users-CxIMy_xw.js.map} +1 -1
  219. package/dashboard/dist/assets/{vendor-icons-T4r2DSPD.js → vendor-icons-AFGxSeQS.js} +132 -82
  220. package/dashboard/dist/assets/vendor-icons-AFGxSeQS.js.map +1 -0
  221. package/dashboard/dist/assets/{workflows-CeRci9z3.js → workflows-yR9yais7.js} +2 -2
  222. package/dashboard/dist/assets/{workflows-CeRci9z3.js.map → workflows-yR9yais7.js.map} +1 -1
  223. package/dashboard/dist/assets/yaml-workflows-QVF2MZ0l.js +2 -0
  224. package/dashboard/dist/assets/yaml-workflows-QVF2MZ0l.js.map +1 -0
  225. package/dashboard/dist/index.html +3 -3
  226. package/docs/schema-exchange.md +173 -0
  227. package/docs/self-test.md +106 -0
  228. package/package.json +3 -1
  229. package/dashboard/dist/assets/CredentialsPage-DJablIbs.js +0 -2
  230. package/dashboard/dist/assets/McpQueryDetailPage-BWbinTM_.js +0 -5
  231. package/dashboard/dist/assets/McpQueryDetailPage-BWbinTM_.js.map +0 -1
  232. package/dashboard/dist/assets/McpQueryPage-lV6kfDG5.js +0 -2
  233. package/dashboard/dist/assets/McpRunDetailPage-D6gaxH3_.js +0 -2
  234. package/dashboard/dist/assets/McpRunDetailPage-D6gaxH3_.js.map +0 -1
  235. package/dashboard/dist/assets/McpRunsPage-DKvTklh9.js +0 -2
  236. package/dashboard/dist/assets/McpRunsPage-DKvTklh9.js.map +0 -1
  237. package/dashboard/dist/assets/OperatorDashboard-C9SSV96T.js +0 -2
  238. package/dashboard/dist/assets/RolesPage-SMedMuqa.js +0 -2
  239. package/dashboard/dist/assets/WorkflowPill-CZqGslD6.js +0 -2
  240. package/dashboard/dist/assets/WorkflowPill-CZqGslD6.js.map +0 -1
  241. package/dashboard/dist/assets/YamlWorkflowsPage-VjdhnLmO.js +0 -2
  242. package/dashboard/dist/assets/YamlWorkflowsPage-VjdhnLmO.js.map +0 -1
  243. package/dashboard/dist/assets/escalation-columns-Cyg58nkg.js +0 -2
  244. package/dashboard/dist/assets/helpers-BCix9c_m.js +0 -2
  245. package/dashboard/dist/assets/helpers-BCix9c_m.js.map +0 -1
  246. package/dashboard/dist/assets/index-BYZX9tOb.js.map +0 -1
  247. package/dashboard/dist/assets/index-Cg5nfiYX.js +0 -2
  248. package/dashboard/dist/assets/index-DcIKW-cZ.css +0 -1
  249. package/dashboard/dist/assets/index-Di12t56M.js +0 -2
  250. package/dashboard/dist/assets/mcp-query-B8-P_QoG.js +0 -2
  251. package/dashboard/dist/assets/mcp-query-B8-P_QoG.js.map +0 -1
  252. package/dashboard/dist/assets/mcp-runs-CWeZinoF.js +0 -2
  253. package/dashboard/dist/assets/mcp-runs-CWeZinoF.js.map +0 -1
  254. package/dashboard/dist/assets/useFilterParams-BUyLHcx_.js +0 -2
  255. package/dashboard/dist/assets/useFilterParams-BUyLHcx_.js.map +0 -1
  256. package/dashboard/dist/assets/useYamlActivityEvents-DN-PTgVx.js +0 -2
  257. package/dashboard/dist/assets/useYamlActivityEvents-DN-PTgVx.js.map +0 -1
  258. package/dashboard/dist/assets/vendor-icons-T4r2DSPD.js.map +0 -1
  259. package/dashboard/dist/assets/yaml-workflows-DLwd2BOX.js +0 -2
  260. package/dashboard/dist/assets/yaml-workflows-DLwd2BOX.js.map +0 -1
@@ -1,2 +1,2 @@
1
- import{b as O,j as e,u as Ve,C as W,J as je}from"./index-BYZX9tOb.js";import{u as z,c as ne,b as De,a as l}from"./vendor-query-DLp59M9_.js";import{P as ke}from"./PageHeaderWithStats-BI7JG5x6.js";import{D as le}from"./DataTable-CTRhTAfT.js";import{C as U}from"./CollapsibleSection-Kd9UIyeU.js";import{F as we,b as Qe}from"./FilterBar-BiO8SOzc.js";import{u as Se}from"./useFilterParams-BUyLHcx_.js";import{R as oe,a as L}from"./RowActions-yDhwwDbU.js";import{ai as J,aj as G,R as Te,S as Pe,ak as Fe,E as Me,i as Re,A as _e,Z as $e,al as Ae,P as Oe,a7 as Ie}from"./vendor-icons-T4r2DSPD.js";import{M as Be}from"./Modal-BuTvD0pz.js";import{T as We}from"./TaskQueuePill-Lvr2-NzS.js";import"./vendor-react-Co3Y8ikm.js";import"./EmptyState-joNbd4gg.js";function Le(){return O("/controlplane/apps")}function Je(t){return O(`/controlplane/rollcall?app_id=${encodeURIComponent(t)}`)}function qe(t){return O("/controlplane/throttle",{method:"POST",body:JSON.stringify(t)})}function Ke(t){return O("/controlplane/subscribe",{method:"POST",body:JSON.stringify(t)})}function Ue(t,a,s){let r=`/controlplane/streams?app_id=${encodeURIComponent(t)}&duration=${encodeURIComponent(a)}`;return O(r)}function ie(){return z({queryKey:["controlplane","apps"],queryFn:Le,staleTime:6e4})}function Ge(t,a){return z({queryKey:["controlplane","rollcall",t],queryFn:()=>Je(t),enabled:!!t,refetchInterval:a})}function me(){const t=De();return ne({mutationFn:qe,onSuccess:()=>{setTimeout(()=>{t.invalidateQueries({queryKey:["controlplane","rollcall"]})},1500)}})}function ze(t,a,s,r){return z({queryKey:["controlplane","streams",t,a,""],queryFn:()=>Ue(t,a),enabled:!!t,staleTime:15e3,refetchInterval:r})}function He(){return ne({mutationFn:Ke})}const Ye=[{label:"15m",value:"15m"},{label:"30m",value:"30m"},{label:"1h",value:"1h"},{label:"1d",value:"1d"},{label:"7d",value:"7d"}],Xe={pong:"text-status-success",ping:"text-accent",throttle:"text-status-warning",job:"text-purple-400",work:"text-text-secondary",activate:"text-status-error",cron:"text-text-tertiary",user:"text-text-secondary"},Ze=250;function $(t){return!!t.worker_topic}function A(t){return typeof t.throttle=="number"&&t.throttle!==0}function H(t){return t===void 0||t===0?"Normal":t===-1?"Paused":t>=864e5?`${(t/864e5).toFixed(0)}d`:t>=36e5?`${(t/36e5).toFixed(1)}h`:t>=6e4?`${(t/6e4).toFixed(1)}m`:t>=1e3?`${(t/1e3).toFixed(1)}s`:`${t}ms`}function ce(t,a){if(!t||!a)return"—";const s=parseFloat(t),r=parseFloat(a);return isNaN(s)||isNaN(r)?"—":`${(s-r).toFixed(1)} / ${s.toFixed(1)} GB`}function ue(t){return t.replace(/^hmsh:[^:]+:x:/,"")||"(engine)"}const de=[{key:"pong",label:"Pong",description:"Roll call responses"},{key:"ping",label:"Ping",description:"Roll call broadcasts"},{key:"throttle",label:"Throttle",description:"Throttle commands"},{key:"job",label:"Job",description:"Job lifecycle events"},{key:"work",label:"Work",description:"Worker dispatch events"},{key:"activate",label:"Activate",description:"Worker activation"},{key:"cron",label:"Cron",description:"Cron schedule triggers"},{key:"user",label:"User",description:"User-defined messages"}];function k(t){return`${t.engine_id}-${t.worker_topic||"engine"}`}function et(t){const a=new Map;for(const s of t){if(!s.worker_topic)continue;const r=s.worker_topic;a.has(r)||a.set(r,[]),a.get(r).push(s)}return a}function tt(t){let a=0,s=0,r=0;for(const o of t)if(o.counts)for(const[n,h]of Object.entries(o.counts))a+=h,n==="200"?s+=h:n==="500"&&(r+=h);return{total:a,success:s,errors:r}}function at(){return{key:"throttle",label:"Throttle",render:t=>{const a=t.throttle;return a===-1?e.jsxDEV("span",{className:"text-xs text-status-error font-medium",children:"Paused"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:23,columnNumber:28},this):a&&a>0?e.jsxDEV("span",{className:"text-xs text-status-warning font-medium",children:H(a)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:24,columnNumber:30},this):e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"0"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:25,columnNumber:14},this)},className:"w-24"}}function st(){return{key:"memory",label:"Memory",render:t=>{var a,s;return e.jsxDEV("span",{className:"text-xs font-mono text-text-tertiary",children:ce((a=t.system)==null?void 0:a.TotalMemoryGB,(s=t.system)==null?void 0:s.FreeMemoryGB)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:36,columnNumber:7},this)},className:"w-36"}}function rt(t,a){return{key:"actions",label:"",render:s=>e.jsxDEV(oe,{children:[A(s)&&e.jsxDEV(L,{icon:G,title:"Resume (remove throttle)",onClick:()=>a(s),colorClass:"text-text-tertiary hover:text-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:54,columnNumber:11},this),e.jsxDEV(L,{icon:J,title:"Adjust throttle",onClick:()=>t(s)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:61,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:52,columnNumber:7},this),className:"w-16"}}function nt(t){const a=t.profiles.some(s=>t.selectedIds.has(k(s)));return[{key:"select",label:e.jsxDEV("span",{className:"inline-flex items-center gap-2",children:[e.jsxDEV("input",{type:"checkbox",checked:t.profiles.length>0&&t.profiles.every(s=>t.selectedIds.has(k(s))),onChange:t.toggleAll,className:"rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:76,columnNumber:11},this),a&&t.onBulkThrottle&&e.jsxDEV(J,{className:"w-[14px] h-[14px] text-text-tertiary hover:text-accent cursor-pointer",strokeWidth:1.5,onClick:s=>{s.stopPropagation(),t.onBulkThrottle()}},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:83,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:75,columnNumber:9},this),render:s=>e.jsxDEV("input",{type:"checkbox",checked:t.selectedIds.has(k(s)),onChange:r=>{r.stopPropagation(),t.toggleCheckbox(s)},onClick:r=>r.stopPropagation(),className:"rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:92,columnNumber:9},this),className:"w-16"},{key:"engine_id",label:"Engine ID",render:s=>e.jsxDEV("span",{className:"text-xs font-mono text-text-tertiary",children:s.engine_id},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:106,columnNumber:9},this),className:"w-48"},at(),{key:"processed",label:"Processed",render:s=>{const r=tt([s]);return e.jsxDEV("span",{className:"text-xs font-mono text-text-tertiary",children:r.total.toLocaleString()},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:116,columnNumber:16},this)},className:"w-24"},st(),rt(t.onRowThrottle,t.onResumeThrottle)]}function lt({activeAppId:t,allProfiles:a,profiles:s}){const r=me(),[o,n]=l.useState(new Set),[h,i]=l.useState(!1),[f,m]=l.useState([]);l.useEffect(()=>{n(new Set)},[t]);const V=l.useCallback(p=>{n(w=>{const E=new Set(w),Q=k(p);return E.has(Q)?E.delete(Q):E.add(Q),E})},[]),y=l.useCallback(()=>{o.size===s.length?n(new Set):n(new Set(s.map(k)))},[s,o.size]),d=l.useMemo(()=>{const p=s.filter(g=>o.has(k(g)));if(p.length===0)return[];if(p.length===a.length)return[{label:"Entire Mesh"}];const w=p.filter(g=>!$(g)),E=p.filter($),Q=[];for(const g of w)Q.push({label:`Engine ${g.engine_id}`,guid:g.engine_id});const T=new Map;for(const g of E){const S=g.worker_topic;T.has(S)||T.set(S,[]),T.get(S).push(g)}for(const[g,S]of T){const R=a.filter(F=>F.worker_topic===g);if(S.length===R.length)Q.push({label:g,topic:g});else for(const F of S)Q.push({label:`${g} ${F.engine_id}`,guid:F.engine_id})}return Q},[s,a,o]);return{selectedIds:o,setSelectedIds:n,toggleCheckbox:V,toggleAll:y,throttleModalOpen:h,throttleTargets:f,selectedThrottleTargets:d,throttleMutation:r,handleBulkThrottle:p=>{const w=f.length>0?f:d;for(const E of w)r.mutate({appId:t,throttle:p,...E.topic?{topic:E.topic}:{},...E.guid?{guid:E.guid}:{}});i(!1),m([])},handleRowClick:p=>{const w=$(p)?`${p.worker_topic} ${p.engine_id}`:`Engine ${p.engine_id}`;m([{label:w,guid:p.engine_id}]),i(!0)},handleBulkThrottleOpen:()=>{m(d),i(!0)},handleResumeThrottle:p=>{r.mutate({appId:t,throttle:0,guid:p.engine_id})},handleResumeQueue:p=>{r.mutate({appId:t,throttle:0,topic:p})},handleQueueThrottle:p=>{m([{label:p,topic:p}]),i(!0)},closeThrottleModal:()=>{i(!1),m([])}}}const ot=[{label:"Resume",ms:0},{label:"0.5s",ms:500},{label:"1s",ms:1e3},{label:"5s",ms:5e3},{label:"30s",ms:3e4},{label:"Pause",ms:-1}];function it({target:t}){const a=t.label==="Entire Mesh",s=t.label==="All Engines"||t.label.startsWith("Engine "),r=a?"bg-status-error/10 text-status-error":s?"bg-blue-500/10 text-blue-500":"bg-accent/[0.06] text-text-secondary",o=t.guid?"guid":t.topic?"topic":"mesh";return e.jsxDEV("span",{className:`inline-flex items-center gap-1.5 px-2 py-0.5 text-[10px] font-medium rounded-lg ${r}`,children:[t.label,e.jsxDEV("span",{className:"text-[8px] opacity-50",children:o},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:35,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:33,columnNumber:5},this)}function mt({open:t,onClose:a,targets:s,onApply:r,isPending:o}){const[n,h]=l.useState("0");return e.jsxDEV(Be,{open:t,onClose:a,title:"Adjust Throttle",children:e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-2",children:"Targets"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:47,columnNumber:11},this),e.jsxDEV("div",{className:"flex flex-wrap gap-1.5",children:s.map((i,f)=>e.jsxDEV(it,{target:i},i.guid||i.topic||f,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:50,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:48,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:46,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-2",children:"Presets"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:56,columnNumber:11},this),e.jsxDEV("div",{className:"flex flex-wrap gap-2",children:ot.map(i=>e.jsxDEV("button",{onClick:()=>{h(i.ms===-1?"-1":String(i.ms/1e3)),r(i.ms)},disabled:o,className:`px-3 py-1.5 text-xs rounded transition-colors ${i.ms===-1?"bg-status-error/10 text-status-error hover:bg-status-error/20":i.ms===0?"bg-status-success/10 text-status-success hover:bg-status-success/20":"bg-surface-sunken text-text-secondary hover:bg-surface-hover"} disabled:opacity-50`,children:i.label},i.label,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:59,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:57,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:55,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-2",children:"Custom (seconds between messages)"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:78,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("input",{type:"number",step:"0.1",min:"-1",value:n,onChange:i=>h(i.target.value),className:"input text-xs py-1.5 px-3 w-28"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:82,columnNumber:13},this),e.jsxDEV("button",{onClick:()=>{const i=parseFloat(n);isNaN(i)||r(i===-1?-1:Math.round(i*1e3))},disabled:o,className:"btn-primary text-xs py-1.5 px-4 disabled:opacity-50",children:"Apply"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:90,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:81,columnNumber:11},this),e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-1",children:"0 = resume, -1 = pause indefinitely"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:102,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:77,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:45,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:44,columnNumber:5},this)}function ct({byStream:t,onNodeFilter:a}){const[s,r]=l.useState(!1);if(l.useEffect(()=>{r(!1);const m=requestAnimationFrame(()=>r(!0));return()=>cancelAnimationFrame(m)},[t]),t.length===0)return e.jsxDEV("p",{className:"text-xs text-text-tertiary py-4 text-center",children:"No activity in this period"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:26,columnNumber:12},this);const o=t.filter(m=>m.stream_type==="engine"),n=t.filter(m=>m.stream_type==="worker"),h=Math.max(...t.map(m=>m.count)),i=m=>{const V=h>0?m.count/h*100:0,y=m.stream_type==="engine",d=y?"(all engines)":ue(m.stream_name),x=y?"bg-blue-500/70":"bg-accent/60",C=y?"text-blue-500":"text-text-tertiary";return e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("span",{className:`text-[9px] font-mono ${C} w-36 truncate text-right shrink-0`,title:m.stream_name,children:d},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:41,columnNumber:9},this),e.jsxDEV("div",{className:"flex-1 h-4 bg-surface-sunken rounded overflow-hidden",children:e.jsxDEV("div",{className:`h-full ${x} rounded transition-all duration-500 ease-out`,style:{width:s?`${V}%`:"0%"}},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:48,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:47,columnNumber:9},this),e.jsxDEV("span",{className:"text-[10px] font-mono tabular-nums text-text-secondary w-12 text-right shrink-0",children:m.count.toLocaleString()},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:53,columnNumber:9},this)]},`${m.stream_type}-${m.stream_name}`,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:40,columnNumber:7},this)},f="text-[9px] uppercase tracking-widest font-semibold mb-1 cursor-pointer hover:underline";return e.jsxDEV("div",{className:"space-y-1.5",children:[o.length>0&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("p",{className:`${f} text-blue-500/70 hover:text-blue-500`,onClick:()=>a==null?void 0:a("engines"),children:"Engine Message Volume"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:66,columnNumber:11},this),o.map(i),n.length>0&&e.jsxDEV("div",{className:"h-2"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:73,columnNumber:40},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:65,columnNumber:9},this),n.length>0&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("p",{className:`${f} text-accent/70 hover:text-accent`,onClick:()=>a==null?void 0:a("workers"),children:"Worker Message Volume"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:78,columnNumber:11},this),n.map(i)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:77,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:63,columnNumber:5},this)}let ut=0;function dt({event:t}){var r,o,n;const[a,s]=l.useState(!1);return e.jsxDEV("div",{className:"border-b border-surface-border/50 last:border-b-0",children:[e.jsxDEV("button",{onClick:()=>s(!a),className:"flex items-center gap-2 py-1.5 w-full text-left hover:bg-surface-hover/50 transition-colors",children:[e.jsxDEV("span",{className:"text-[9px] font-mono text-text-tertiary whitespace-nowrap tabular-nums shrink-0",children:new Date(t.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:27,columnNumber:9},this),e.jsxDEV("span",{className:`text-[9px] font-medium px-1 py-0.5 rounded ${Xe[t.type]||"text-text-tertiary"} bg-surface-sunken whitespace-nowrap shrink-0`,children:t.type},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:30,columnNumber:9},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary font-mono flex-1 min-w-0 break-all",children:[(r=t.data)!=null&&r.guid?String(t.data.guid):"",(o=t.data)!=null&&o.topic?` ${String(t.data.topic)}`:"",t.type==="throttle"?` → ${H((n=t.data)==null?void 0:n.throttle)}`:""]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:33,columnNumber:9},this),e.jsxDEV("svg",{className:`w-2.5 h-2.5 text-text-tertiary shrink-0 transition-transform duration-150 ${a?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:42,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:38,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:23,columnNumber:7},this),e.jsxDEV(W,{open:a,children:e.jsxDEV("div",{className:"pb-2",children:e.jsxDEV(je,{data:t.data},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:47,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:46,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:45,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:22,columnNumber:5},this)}function pt({channels:t,onToggle:a,customFilter:s,onCustomFilterChange:r}){return e.jsxDEV("div",{className:"space-y-3 pb-3 border-b border-surface-border mb-3",children:[e.jsxDEV("div",{className:"flex items-center gap-2 mb-1",children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary",children:"Channels"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:67,columnNumber:9},this),e.jsxDEV("p",{className:"text-[9px] text-text-tertiary",children:"Unchecked channels are dropped before buffering"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:70,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:66,columnNumber:7},this),e.jsxDEV("div",{className:"grid grid-cols-2 gap-1",children:de.map(o=>e.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer py-0.5",children:[e.jsxDEV("input",{type:"checkbox",checked:t.has(o.key),onChange:()=>a(o.key),className:"w-3 h-3 rounded border-border accent-accent"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:77,columnNumber:13},this),e.jsxDEV("span",{className:"text-[10px] text-text-secondary",title:o.description,children:o.label},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:83,columnNumber:13},this)]},o.key,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:76,columnNumber:11},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:74,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Text Filter"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:90,columnNumber:9},this),e.jsxDEV("input",{type:"text",value:s,onChange:o=>r(o.target.value),placeholder:"pong",className:"input text-[10px] font-mono py-1 px-2 w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:93,columnNumber:9},this),e.jsxDEV("p",{className:"text-[9px] text-text-tertiary mt-1",children:["Filter by event type, e.g. ",e.jsxDEV("span",{className:"font-mono",children:"pong"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:101,columnNumber:38},this),", ",e.jsxDEV("span",{className:"font-mono",children:"throttle"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:101,columnNumber:79},this),", or any text in the event data."]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:100,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:89,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:65,columnNumber:5},this)}function ht({bridgeActive:t}){const[a,s]=l.useState(!1),[r,o]=l.useState(!1),[n,h]=l.useState([]),[i,f]=l.useState(()=>new Set(de.map(u=>u.key))),[m,V]=l.useState(""),y=l.useRef(i);l.useEffect(()=>{y.current=i},[i]);const d=l.useRef(m);l.useEffect(()=>{d.current=m},[m]);const x=u=>{f(N=>{const D=new Set(N);return D.has(u)?D.delete(u):D.add(u),D})};Ve("lt.events.mesh.>",l.useCallback(u=>{var j;const N=((j=u.type)==null?void 0:j.replace("mesh.",""))||"unknown";if(!y.current.has(N))return;const D=d.current;D&&!`${N} ${JSON.stringify(u.data||u)}`.toLowerCase().includes(D.toLowerCase())||h(P=>[{id:++ut,type:N,timestamp:u.timestamp||new Date().toISOString(),data:u.data||u},...P].slice(0,Ze))},[]));const C=()=>h([]);return e.jsxDEV("div",{className:"border-l border-surface-border pl-6 pt-4 min-h-[300px] sticky top-14 self-start max-h-[calc(100vh-8rem)] flex flex-col",children:[e.jsxDEV("div",{className:"flex items-center gap-2 mb-3",children:[e.jsxDEV("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary",children:"Event Stream"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:169,columnNumber:9},this),e.jsxDEV(Te,{className:`w-3 h-3 ${t?"text-status-success animate-pulse":"text-text-tertiary"}`},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:172,columnNumber:9},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:t?"Live":"..."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:173,columnNumber:9},this),e.jsxDEV("span",{className:"ml-auto flex items-center gap-1",children:[e.jsxDEV("button",{onClick:()=>{s(u=>!u),o(!1)},className:`p-1 rounded transition-colors ${a?"text-accent bg-accent/10":"text-text-tertiary hover:text-text-primary"}`,title:"Configure channels",children:e.jsxDEV(Pe,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:183,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:178,columnNumber:11},this),e.jsxDEV("button",{onClick:()=>{o(u=>!u),s(!1)},className:`p-1 rounded transition-colors ${r?"text-accent bg-accent/10":"text-text-tertiary hover:text-text-primary"}`,title:"View raw JSON",children:e.jsxDEV(Fe,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:190,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:185,columnNumber:11},this),n.length>0&&e.jsxDEV("button",{onClick:C,className:"p-1 rounded text-text-tertiary hover:text-text-primary transition-colors",title:"Clear events",children:e.jsxDEV(Me,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:198,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:193,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:177,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:168,columnNumber:7},this),e.jsxDEV(W,{open:a,children:e.jsxDEV(pt,{channels:i,onToggle:x,customFilter:m,onCustomFilterChange:V},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:206,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:205,columnNumber:7},this),e.jsxDEV(W,{open:r,children:e.jsxDEV("div",{className:"pb-3 border-b border-surface-border mb-3",children:e.jsxDEV("pre",{className:"text-[9px] font-mono text-text-tertiary bg-surface-sunken rounded-lg p-3 max-h-[50vh] overflow-auto whitespace-pre-wrap",children:JSON.stringify(n.slice(0,50),null,2)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:217,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:216,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:215,columnNumber:7},this),n.length>0&&e.jsxDEV("p",{className:"text-[9px] text-text-tertiary mb-2",children:[n.length," events"]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:225,columnNumber:9},this),e.jsxDEV("div",{className:"flex-1 overflow-y-auto",children:n.length===0?e.jsxDEV("p",{className:"text-xs text-text-tertiary py-6 text-center",children:t?"Waiting for events...":"Subscribing..."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:233,columnNumber:11},this):n.map(u=>e.jsxDEV(dt,{event:u},u.id,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:238,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:231,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:166,columnNumber:5},this)}function bt({queue:t,workers:a,expanded:s,onToggle:r,onWorkerClick:o,onResumeThrottle:n,onQueueThrottle:h,onResumeQueue:i,byStream:f,activeDuration:m}){const V=l.useMemo(()=>{const d=f.find(x=>x.stream_type==="worker"&&ue(x.stream_name)===t);return(d==null?void 0:d.count)??0},[f,t]),y=l.useMemo(()=>[{key:"engine_id",label:"Worker ID",render:d=>e.jsxDEV("span",{className:"text-xs font-mono text-text-tertiary",children:d.engine_id},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:55,columnNumber:9},this),className:"w-48"},{key:"throttle",label:"Throttle",render:d=>{const x=d.throttle;return x===-1?e.jsxDEV("span",{className:"text-xs text-status-error font-medium",children:"Paused"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:66,columnNumber:30},this):x&&x>0?e.jsxDEV("span",{className:"text-xs text-status-warning font-medium",children:H(x)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:67,columnNumber:32},this):e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"0"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:68,columnNumber:16},this)},className:"w-24"},{key:"memory",label:"Memory",render:d=>{var x,C;return e.jsxDEV("span",{className:"text-xs font-mono text-text-tertiary",children:ce((x=d.system)==null?void 0:x.TotalMemoryGB,(C=d.system)==null?void 0:C.FreeMemoryGB)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:76,columnNumber:9},this)},className:"w-36"},{key:"actions",label:"",render:d=>e.jsxDEV(oe,{children:[A(d)&&e.jsxDEV(L,{icon:G,title:"Resume (remove throttle)",onClick:()=>n(d),colorClass:"text-text-tertiary hover:text-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:88,columnNumber:13},this),e.jsxDEV(L,{icon:J,title:"Adjust throttle",onClick:()=>o(d)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:95,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:86,columnNumber:9},this),className:"w-16"}],[o,n]);return e.jsxDEV("div",{children:[e.jsxDEV("button",{onClick:()=>r(t),className:"group/row relative flex items-center gap-3 w-full py-2 hover:bg-surface-hover transition-colors text-left rounded",children:[e.jsxDEV(Re,{className:`w-3.5 h-3.5 text-text-tertiary/50 transition-transform duration-200 ${s?"rotate-90":""}`,strokeWidth:2},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:112,columnNumber:9},this),e.jsxDEV(We,{queue:t,size:"sm"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:116,columnNumber:9},this),e.jsxDEV("span",{className:"flex-1"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:118,columnNumber:9},this),e.jsxDEV("span",{className:`flex items-center gap-1 text-xs w-24 ${a.some(A)?"text-status-warning":"text-text-tertiary"}`,children:[e.jsxDEV(_e,{className:"w-3 h-3 shrink-0",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:121,columnNumber:11},this),e.jsxDEV("span",{className:"font-mono tabular-nums",children:a.length},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:122,columnNumber:11},this),e.jsxDEV("span",{children:"workers"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:123,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:120,columnNumber:9},this),e.jsxDEV("span",{className:"flex items-center gap-1 text-xs font-mono text-text-tertiary w-28 justify-end mr-16",children:V>0?e.jsxDEV(e.Fragment,{children:[e.jsxDEV($e,{className:"w-3 h-3 shrink-0",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:129,columnNumber:15},this),V.toLocaleString()," in ",m]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:128,columnNumber:13},this):e.jsxDEV("span",{className:"text-text-tertiary/40",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:133,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:126,columnNumber:9},this),e.jsxDEV("span",{className:"absolute right-3 top-1/2 -translate-y-1/2 opacity-0 group-hover/row:opacity-100 transition-opacity flex items-center gap-2",children:[a.some(A)&&e.jsxDEV(G,{className:"w-4 h-4 text-text-tertiary hover:text-status-success",strokeWidth:1.5,onClick:d=>{d.stopPropagation(),i(t)}},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:139,columnNumber:13},this),e.jsxDEV(J,{className:"w-4 h-4 text-text-tertiary hover:text-accent",strokeWidth:1.5,onClick:d=>{d.stopPropagation(),h(t)}},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:148,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:137,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:108,columnNumber:7},this),e.jsxDEV(W,{open:s,children:e.jsxDEV("div",{className:"ml-6",children:e.jsxDEV(le,{columns:y,data:a,keyFn:k,onRowClick:o,emptyMessage:"No workers",inline:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:161,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:160,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:159,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:107,columnNumber:5},this)}function xt(){const{data:t}=ie(),a=me(),[s,r]=l.useState(!1),o=(t==null?void 0:t.apps)??[],n=h=>{for(const i of o)a.mutate({appId:i.appId,throttle:h});r(!1)};return s?e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{className:"text-xs text-status-error",children:"Pause all queues?"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:22,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>n(-1),className:"px-2.5 py-1 text-xs rounded-md bg-status-error text-white hover:bg-status-error/90 transition-colors",children:"Confirm"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:23,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>r(!1),className:"px-2.5 py-1 text-xs text-text-tertiary hover:text-text-primary transition-colors",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:29,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:21,columnNumber:7},this):e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("button",{onClick:()=>r(!0),className:"flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md text-status-error/80 hover:text-status-error hover:bg-status-error/10 transition-colors",title:"Pause all queues",children:[e.jsxDEV(Ae,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:46,columnNumber:9},this),"Pause All"]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:41,columnNumber:7},this),e.jsxDEV("button",{onClick:()=>n(0),className:"flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md text-status-success/80 hover:text-status-success hover:bg-status-success/10 transition-colors",title:"Resume all queues",children:[e.jsxDEV(Oe,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:54,columnNumber:9},this),"Resume All"]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:49,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:40,columnNumber:5},this)}function St(){var re;const{data:t}=ie(),a=(t==null?void 0:t.apps)??[],{filters:s,setFilter:r}=Se({filters:{app_id:"",duration:"1h"}}),o=((re=a[0])==null?void 0:re.appId)??"durable",n=s.app_id||o,h=s.duration||"1h",i=He(),f=6e4,{data:m,isLoading:V,error:y,refetch:d,isFetching:x}=Ge(n,f),{data:C}=ze(n,h,void 0,f),u=l.useMemo(()=>[...(m==null?void 0:m.profiles)??[]].sort((b,v)=>{const _=b.worker_topic||b.stream||"",B=v.worker_topic||v.stream||"";return!b.worker_topic&&v.worker_topic?-1:b.worker_topic&&!v.worker_topic?1:_.localeCompare(B)}),[m==null?void 0:m.profiles]),N=l.useMemo(()=>u.filter(c=>!$(c)),[u]),D=l.useMemo(()=>u.filter($),[u]),j=l.useMemo(()=>et(u),[u]),P=u.filter(A).length,p=l.useMemo(()=>{const c=new Set(a.map(b=>b.appId));return n&&c.add(n),[...c].sort().map(b=>({value:b,label:b}))},[a,n]),[w,E]=l.useState(new Set),Q=l.useCallback(c=>{E(b=>{const v=new Set(b);return v.has(c)?v.delete(c):v.add(c),v})},[]),T=j.size>0&&[...j.keys()].every(c=>w.has(c)),g=l.useCallback(()=>{E(T?new Set:new Set(j.keys()))},[T,j]),S="lt:controlplane:collapsed",[R,F]=l.useState(()=>{try{return JSON.parse(localStorage.getItem(S)||"{}")}catch{return{}}}),q=l.useCallback(c=>{F(b=>{const v={...b,[c]:!b[c]};return localStorage.setItem(S,JSON.stringify(v)),v})},[]),{selectedIds:M,setSelectedIds:Y,toggleCheckbox:X,throttleModalOpen:pe,throttleTargets:Z,selectedThrottleTargets:he,throttleMutation:be,handleBulkThrottle:xe,handleRowClick:I,handleBulkThrottleOpen:ee,handleResumeThrottle:K,handleResumeQueue:Ne,handleQueueThrottle:fe,closeThrottleModal:ge}=lt({activeAppId:n,allProfiles:u,profiles:u}),te=l.useCallback(()=>{const c=new Set(N.map(k)),b=N.length>0&&N.every(v=>M.has(k(v)));Y(v=>{const _=new Set(v);for(const B of c)b?_.delete(B):_.add(B);return _})},[N,M,Y]),ae=l.useCallback(()=>{N.filter(b=>M.has(k(b))).length!==0&&ee()},[N,M,ee]),ve=l.useMemo(()=>nt({profiles:N,selectedIds:M,toggleAll:te,toggleCheckbox:X,onRowThrottle:I,onResumeThrottle:K,onBulkThrottle:ae}),[N,M,te,X,I,K,ae]),Ee=l.useMemo(()=>{const c=[{label:"Engines",value:N.length,dotClass:"bg-blue-500"},{label:"Workers",value:D.length,dotClass:"bg-text-secondary"},{label:"Queues",value:j.size}];return P>0&&c.push({label:"Throttled",value:P,dotClass:"bg-status-warning"}),c},[N.length,D.length,j.size,P]),[se,ye]=l.useState(!1),Ce=l.useCallback(()=>{i.mutate({appId:n},{onSuccess:()=>ye(!0)})},[n,i]);return l.useEffect(()=>{!se&&n&&Ce()},[n]),e.jsxDEV("div",{children:[e.jsxDEV(ke,{title:"Task Queues",stats:Ee,actions:e.jsxDEV(xt,{},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:190,columnNumber:18},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:187,columnNumber:7},this),e.jsxDEV(we,{actions:e.jsxDEV("div",{className:"flex items-center gap-1",children:Ye.map(c=>e.jsxDEV("button",{onClick:()=>r("duration",c.value),className:`px-3 py-1 text-xs rounded-full transition-colors ${h===c.value?"bg-accent text-text-inverse":"text-text-tertiary hover:text-text-primary hover:bg-surface-hover"}`,children:c.label},c.value,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:197,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:195,columnNumber:11},this),children:[e.jsxDEV(Qe,{label:"Application",value:s.app_id,onChange:c=>r("app_id",c),options:p},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:212,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>d(),disabled:x,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs text-text-tertiary hover:text-text-primary transition-colors disabled:opacity-50",children:[e.jsxDEV(Ie,{className:`w-3.5 h-3.5 ${x?"animate-spin":""}`},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:223,columnNumber:11},this),"Roll Call"]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:218,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:193,columnNumber:7},this),y&&e.jsxDEV("div",{className:"mb-6 px-4 py-3 rounded bg-status-error/10 border border-status-error/20",children:e.jsxDEV("p",{className:"text-xs text-status-error font-medium",children:y.message==="Session expired"?"Session expired — please log in again.":`Failed to load mesh data: ${y.message}`},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:231,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:230,columnNumber:9},this),e.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_340px] gap-6",children:[e.jsxDEV("div",{className:"flex flex-col gap-12 mt-10",children:[e.jsxDEV(U,{title:`Stream Volume (${h})`,sectionKey:"volume",isCollapsed:!!R.volume,onToggle:q,contentClassName:"mt-4 ml-7",children:e.jsxDEV(ct,{byStream:(C==null?void 0:C.byStream)??[],onNodeFilter:()=>{},onQueueFilter:()=>{}},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:250,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:243,columnNumber:11},this),e.jsxDEV(U,{title:"Worker Queues",sectionKey:"queues",isCollapsed:!!R.queues,onToggle:q,contentClassName:"mt-4 ml-7 flex flex-col gap-0",children:V?e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:"Discovering mesh nodes..."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:266,columnNumber:15},this):j.size===0?e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:'No worker queues found. Click "Roll Call" to discover.'},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:268,columnNumber:15},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"flex justify-end mb-2",children:e.jsxDEV("button",{onClick:g,className:"text-[10px] text-accent hover:underline",children:T?"Collapse all":"Expand all"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:272,columnNumber:19},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:271,columnNumber:17},this),[...j.entries()].sort(([c],[b])=>c.localeCompare(b)).map(([c,b])=>e.jsxDEV(bt,{queue:c,workers:b,expanded:w.has(c),onToggle:Q,onWorkerClick:I,onResumeThrottle:K,onQueueThrottle:fe,onResumeQueue:Ne,byStream:(C==null?void 0:C.byStream)??[],activeDuration:h},c,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:279,columnNumber:21},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:270,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:258,columnNumber:11},this),e.jsxDEV(U,{title:"Engines",sectionKey:"engines",isCollapsed:!!R.engines,onToggle:q,contentClassName:"mt-4 ml-7",children:e.jsxDEV(le,{columns:ve,data:N,keyFn:k,onRowClick:I,isLoading:V,emptyMessage:V?"Discovering engines...":"No engines found.",inline:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:305,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:298,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:241,columnNumber:9},this),e.jsxDEV(ht,{bridgeActive:se},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:317,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:240,columnNumber:7},this),e.jsxDEV(mt,{open:pe,onClose:ge,targets:Z.length>0?Z:he,onApply:xe,isPending:be.isPending},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:320,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:186,columnNumber:5},this)}export{St as ControlPlanePage};
2
- //# sourceMappingURL=index-BUK3qR-1.js.map
1
+ import{b as O,j as e,u as Ve,C as W,J as je}from"./index-Cmgrk7PQ.js";import{u as z,c as ne,b as De,a as l}from"./vendor-query-DLp59M9_.js";import{P as ke}from"./PageHeaderWithStats-CNmWJFSN.js";import{D as le}from"./DataTable-DkOokbtL.js";import{C as U}from"./CollapsibleSection-DiFPuWOY.js";import{F as we,b as Qe}from"./FilterBar-C5r3n6YO.js";import{u as Se}from"./useFilterParams-CGRYFw_A.js";import{R as oe,a as L}from"./RowActions-DbUJPfaW.js";import{aj as J,ak as G,R as Te,S as Pe,al as Fe,E as Me,i as Re,A as _e,$ as $e,am as Ae,P as Oe,a9 as Ie}from"./vendor-icons-AFGxSeQS.js";import{M as Be}from"./Modal-E1yRnCeW.js";import{T as We}from"./TaskQueuePill-lJR1JW_W.js";import"./vendor-react-Co3Y8ikm.js";import"./EmptyState-C7KIMIbE.js";function Le(){return O("/controlplane/apps")}function Je(t){return O(`/controlplane/rollcall?app_id=${encodeURIComponent(t)}`)}function qe(t){return O("/controlplane/throttle",{method:"POST",body:JSON.stringify(t)})}function Ke(t){return O("/controlplane/subscribe",{method:"POST",body:JSON.stringify(t)})}function Ue(t,a,s){let r=`/controlplane/streams?app_id=${encodeURIComponent(t)}&duration=${encodeURIComponent(a)}`;return O(r)}function ie(){return z({queryKey:["controlplane","apps"],queryFn:Le,staleTime:6e4})}function Ge(t,a){return z({queryKey:["controlplane","rollcall",t],queryFn:()=>Je(t),enabled:!!t,refetchInterval:a})}function me(){const t=De();return ne({mutationFn:qe,onSuccess:()=>{setTimeout(()=>{t.invalidateQueries({queryKey:["controlplane","rollcall"]})},1500)}})}function ze(t,a,s,r){return z({queryKey:["controlplane","streams",t,a,""],queryFn:()=>Ue(t,a),enabled:!!t,staleTime:15e3,refetchInterval:r})}function He(){return ne({mutationFn:Ke})}const Ye=[{label:"15m",value:"15m"},{label:"30m",value:"30m"},{label:"1h",value:"1h"},{label:"1d",value:"1d"},{label:"7d",value:"7d"}],Xe={pong:"text-status-success",ping:"text-accent",throttle:"text-status-warning",job:"text-purple-400",work:"text-text-secondary",activate:"text-status-error",cron:"text-text-tertiary",user:"text-text-secondary"},Ze=250;function $(t){return!!t.worker_topic}function A(t){return typeof t.throttle=="number"&&t.throttle!==0}function H(t){return t===void 0||t===0?"Normal":t===-1?"Paused":t>=864e5?`${(t/864e5).toFixed(0)}d`:t>=36e5?`${(t/36e5).toFixed(1)}h`:t>=6e4?`${(t/6e4).toFixed(1)}m`:t>=1e3?`${(t/1e3).toFixed(1)}s`:`${t}ms`}function ce(t,a){if(!t||!a)return"—";const s=parseFloat(t),r=parseFloat(a);return isNaN(s)||isNaN(r)?"—":`${(s-r).toFixed(1)} / ${s.toFixed(1)} GB`}function ue(t){return t.replace(/^hmsh:[^:]+:x:/,"")||"(engine)"}const de=[{key:"pong",label:"Pong",description:"Roll call responses"},{key:"ping",label:"Ping",description:"Roll call broadcasts"},{key:"throttle",label:"Throttle",description:"Throttle commands"},{key:"job",label:"Job",description:"Job lifecycle events"},{key:"work",label:"Work",description:"Worker dispatch events"},{key:"activate",label:"Activate",description:"Worker activation"},{key:"cron",label:"Cron",description:"Cron schedule triggers"},{key:"user",label:"User",description:"User-defined messages"}];function k(t){return`${t.engine_id}-${t.worker_topic||"engine"}`}function et(t){const a=new Map;for(const s of t){if(!s.worker_topic)continue;const r=s.worker_topic;a.has(r)||a.set(r,[]),a.get(r).push(s)}return a}function tt(t){let a=0,s=0,r=0;for(const o of t)if(o.counts)for(const[n,h]of Object.entries(o.counts))a+=h,n==="200"?s+=h:n==="500"&&(r+=h);return{total:a,success:s,errors:r}}function at(){return{key:"throttle",label:"Throttle",render:t=>{const a=t.throttle;return a===-1?e.jsxDEV("span",{className:"text-xs text-status-error font-medium",children:"Paused"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:23,columnNumber:28},this):a&&a>0?e.jsxDEV("span",{className:"text-xs text-status-warning font-medium",children:H(a)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:24,columnNumber:30},this):e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"0"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:25,columnNumber:14},this)},className:"w-24"}}function st(){return{key:"memory",label:"Memory",render:t=>{var a,s;return e.jsxDEV("span",{className:"text-xs font-mono text-text-tertiary",children:ce((a=t.system)==null?void 0:a.TotalMemoryGB,(s=t.system)==null?void 0:s.FreeMemoryGB)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:36,columnNumber:7},this)},className:"w-36"}}function rt(t,a){return{key:"actions",label:"",render:s=>e.jsxDEV(oe,{children:[A(s)&&e.jsxDEV(L,{icon:G,title:"Resume (remove throttle)",onClick:()=>a(s),colorClass:"text-text-tertiary hover:text-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:54,columnNumber:11},this),e.jsxDEV(L,{icon:J,title:"Adjust throttle",onClick:()=>t(s)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:61,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:52,columnNumber:7},this),className:"w-16"}}function nt(t){const a=t.profiles.some(s=>t.selectedIds.has(k(s)));return[{key:"select",label:e.jsxDEV("span",{className:"inline-flex items-center gap-2",children:[e.jsxDEV("input",{type:"checkbox",checked:t.profiles.length>0&&t.profiles.every(s=>t.selectedIds.has(k(s))),onChange:t.toggleAll,className:"rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:76,columnNumber:11},this),a&&t.onBulkThrottle&&e.jsxDEV(J,{className:"w-[14px] h-[14px] text-text-tertiary hover:text-accent cursor-pointer",strokeWidth:1.5,onClick:s=>{s.stopPropagation(),t.onBulkThrottle()}},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:83,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:75,columnNumber:9},this),render:s=>e.jsxDEV("input",{type:"checkbox",checked:t.selectedIds.has(k(s)),onChange:r=>{r.stopPropagation(),t.toggleCheckbox(s)},onClick:r=>r.stopPropagation(),className:"rounded"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:92,columnNumber:9},this),className:"w-16"},{key:"engine_id",label:"Engine ID",render:s=>e.jsxDEV("span",{className:"text-xs font-mono text-text-tertiary",children:s.engine_id},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:106,columnNumber:9},this),className:"w-48"},at(),{key:"processed",label:"Processed",render:s=>{const r=tt([s]);return e.jsxDEV("span",{className:"text-xs font-mono text-text-tertiary",children:r.total.toLocaleString()},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/columns.tsx",lineNumber:116,columnNumber:16},this)},className:"w-24"},st(),rt(t.onRowThrottle,t.onResumeThrottle)]}function lt({activeAppId:t,allProfiles:a,profiles:s}){const r=me(),[o,n]=l.useState(new Set),[h,i]=l.useState(!1),[f,m]=l.useState([]);l.useEffect(()=>{n(new Set)},[t]);const V=l.useCallback(p=>{n(w=>{const E=new Set(w),Q=k(p);return E.has(Q)?E.delete(Q):E.add(Q),E})},[]),y=l.useCallback(()=>{o.size===s.length?n(new Set):n(new Set(s.map(k)))},[s,o.size]),d=l.useMemo(()=>{const p=s.filter(g=>o.has(k(g)));if(p.length===0)return[];if(p.length===a.length)return[{label:"Entire Mesh"}];const w=p.filter(g=>!$(g)),E=p.filter($),Q=[];for(const g of w)Q.push({label:`Engine ${g.engine_id}`,guid:g.engine_id});const T=new Map;for(const g of E){const S=g.worker_topic;T.has(S)||T.set(S,[]),T.get(S).push(g)}for(const[g,S]of T){const R=a.filter(F=>F.worker_topic===g);if(S.length===R.length)Q.push({label:g,topic:g});else for(const F of S)Q.push({label:`${g} ${F.engine_id}`,guid:F.engine_id})}return Q},[s,a,o]);return{selectedIds:o,setSelectedIds:n,toggleCheckbox:V,toggleAll:y,throttleModalOpen:h,throttleTargets:f,selectedThrottleTargets:d,throttleMutation:r,handleBulkThrottle:p=>{const w=f.length>0?f:d;for(const E of w)r.mutate({appId:t,throttle:p,...E.topic?{topic:E.topic}:{},...E.guid?{guid:E.guid}:{}});i(!1),m([])},handleRowClick:p=>{const w=$(p)?`${p.worker_topic} ${p.engine_id}`:`Engine ${p.engine_id}`;m([{label:w,guid:p.engine_id}]),i(!0)},handleBulkThrottleOpen:()=>{m(d),i(!0)},handleResumeThrottle:p=>{r.mutate({appId:t,throttle:0,guid:p.engine_id})},handleResumeQueue:p=>{r.mutate({appId:t,throttle:0,topic:p})},handleQueueThrottle:p=>{m([{label:p,topic:p}]),i(!0)},closeThrottleModal:()=>{i(!1),m([])}}}const ot=[{label:"Resume",ms:0},{label:"0.5s",ms:500},{label:"1s",ms:1e3},{label:"5s",ms:5e3},{label:"30s",ms:3e4},{label:"Pause",ms:-1}];function it({target:t}){const a=t.label==="Entire Mesh",s=t.label==="All Engines"||t.label.startsWith("Engine "),r=a?"bg-status-error/10 text-status-error":s?"bg-blue-500/10 text-blue-500":"bg-accent/[0.06] text-text-secondary",o=t.guid?"guid":t.topic?"topic":"mesh";return e.jsxDEV("span",{className:`inline-flex items-center gap-1.5 px-2 py-0.5 text-[10px] font-medium rounded-lg ${r}`,children:[t.label,e.jsxDEV("span",{className:"text-[8px] opacity-50",children:o},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:35,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:33,columnNumber:5},this)}function mt({open:t,onClose:a,targets:s,onApply:r,isPending:o}){const[n,h]=l.useState("0");return e.jsxDEV(Be,{open:t,onClose:a,title:"Adjust Throttle",children:e.jsxDEV("div",{className:"space-y-4",children:[e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-2",children:"Targets"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:47,columnNumber:11},this),e.jsxDEV("div",{className:"flex flex-wrap gap-1.5",children:s.map((i,f)=>e.jsxDEV(it,{target:i},i.guid||i.topic||f,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:50,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:48,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:46,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-2",children:"Presets"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:56,columnNumber:11},this),e.jsxDEV("div",{className:"flex flex-wrap gap-2",children:ot.map(i=>e.jsxDEV("button",{onClick:()=>{h(i.ms===-1?"-1":String(i.ms/1e3)),r(i.ms)},disabled:o,className:`px-3 py-1.5 text-xs rounded transition-colors ${i.ms===-1?"bg-status-error/10 text-status-error hover:bg-status-error/20":i.ms===0?"bg-status-success/10 text-status-success hover:bg-status-success/20":"bg-surface-sunken text-text-secondary hover:bg-surface-hover"} disabled:opacity-50`,children:i.label},i.label,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:59,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:57,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:55,columnNumber:9},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-2",children:"Custom (seconds between messages)"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:78,columnNumber:11},this),e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("input",{type:"number",step:"0.1",min:"-1",value:n,onChange:i=>h(i.target.value),className:"input text-xs py-1.5 px-3 w-28"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:82,columnNumber:13},this),e.jsxDEV("button",{onClick:()=>{const i=parseFloat(n);isNaN(i)||r(i===-1?-1:Math.round(i*1e3))},disabled:o,className:"btn-primary text-xs py-1.5 px-4 disabled:opacity-50",children:"Apply"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:90,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:81,columnNumber:11},this),e.jsxDEV("p",{className:"text-[10px] text-text-tertiary mt-1",children:"0 = resume, -1 = pause indefinitely"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:102,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:77,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:45,columnNumber:7},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ThrottleModal.tsx",lineNumber:44,columnNumber:5},this)}function ct({byStream:t,onNodeFilter:a}){const[s,r]=l.useState(!1);if(l.useEffect(()=>{r(!1);const m=requestAnimationFrame(()=>r(!0));return()=>cancelAnimationFrame(m)},[t]),t.length===0)return e.jsxDEV("p",{className:"text-xs text-text-tertiary py-4 text-center",children:"No activity in this period"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:26,columnNumber:12},this);const o=t.filter(m=>m.stream_type==="engine"),n=t.filter(m=>m.stream_type==="worker"),h=Math.max(...t.map(m=>m.count)),i=m=>{const V=h>0?m.count/h*100:0,y=m.stream_type==="engine",d=y?"(all engines)":ue(m.stream_name),x=y?"bg-blue-500/70":"bg-accent/60",C=y?"text-blue-500":"text-text-tertiary";return e.jsxDEV("div",{className:"flex items-center gap-3",children:[e.jsxDEV("span",{className:`text-[9px] font-mono ${C} w-36 truncate text-right shrink-0`,title:m.stream_name,children:d},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:41,columnNumber:9},this),e.jsxDEV("div",{className:"flex-1 h-4 bg-surface-sunken rounded overflow-hidden",children:e.jsxDEV("div",{className:`h-full ${x} rounded transition-all duration-500 ease-out`,style:{width:s?`${V}%`:"0%"}},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:48,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:47,columnNumber:9},this),e.jsxDEV("span",{className:"text-[10px] font-mono tabular-nums text-text-secondary w-12 text-right shrink-0",children:m.count.toLocaleString()},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:53,columnNumber:9},this)]},`${m.stream_type}-${m.stream_name}`,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:40,columnNumber:7},this)},f="text-[9px] uppercase tracking-widest font-semibold mb-1 cursor-pointer hover:underline";return e.jsxDEV("div",{className:"space-y-1.5",children:[o.length>0&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("p",{className:`${f} text-blue-500/70 hover:text-blue-500`,onClick:()=>a==null?void 0:a("engines"),children:"Engine Message Volume"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:66,columnNumber:11},this),o.map(i),n.length>0&&e.jsxDEV("div",{className:"h-2"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:73,columnNumber:40},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:65,columnNumber:9},this),n.length>0&&e.jsxDEV(e.Fragment,{children:[e.jsxDEV("p",{className:`${f} text-accent/70 hover:text-accent`,onClick:()=>a==null?void 0:a("workers"),children:"Worker Message Volume"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:78,columnNumber:11},this),n.map(i)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:77,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/StreamVolumeChart.tsx",lineNumber:63,columnNumber:5},this)}let ut=0;function dt({event:t}){var r,o,n;const[a,s]=l.useState(!1);return e.jsxDEV("div",{className:"border-b border-surface-border/50 last:border-b-0",children:[e.jsxDEV("button",{onClick:()=>s(!a),className:"flex items-center gap-2 py-1.5 w-full text-left hover:bg-surface-hover/50 transition-colors",children:[e.jsxDEV("span",{className:"text-[9px] font-mono text-text-tertiary whitespace-nowrap tabular-nums shrink-0",children:new Date(t.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:27,columnNumber:9},this),e.jsxDEV("span",{className:`text-[9px] font-medium px-1 py-0.5 rounded ${Xe[t.type]||"text-text-tertiary"} bg-surface-sunken whitespace-nowrap shrink-0`,children:t.type},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:30,columnNumber:9},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary font-mono flex-1 min-w-0 break-all",children:[(r=t.data)!=null&&r.guid?String(t.data.guid):"",(o=t.data)!=null&&o.topic?` ${String(t.data.topic)}`:"",t.type==="throttle"?` → ${H((n=t.data)==null?void 0:n.throttle)}`:""]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:33,columnNumber:9},this),e.jsxDEV("svg",{className:`w-2.5 h-2.5 text-text-tertiary shrink-0 transition-transform duration-150 ${a?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:e.jsxDEV("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:42,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:38,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:23,columnNumber:7},this),e.jsxDEV(W,{open:a,children:e.jsxDEV("div",{className:"pb-2",children:e.jsxDEV(je,{data:t.data},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:47,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:46,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:45,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:22,columnNumber:5},this)}function pt({channels:t,onToggle:a,customFilter:s,onCustomFilterChange:r}){return e.jsxDEV("div",{className:"space-y-3 pb-3 border-b border-surface-border mb-3",children:[e.jsxDEV("div",{className:"flex items-center gap-2 mb-1",children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary",children:"Channels"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:67,columnNumber:9},this),e.jsxDEV("p",{className:"text-[9px] text-text-tertiary",children:"Unchecked channels are dropped before buffering"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:70,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:66,columnNumber:7},this),e.jsxDEV("div",{className:"grid grid-cols-2 gap-1",children:de.map(o=>e.jsxDEV("label",{className:"flex items-center gap-2 cursor-pointer py-0.5",children:[e.jsxDEV("input",{type:"checkbox",checked:t.has(o.key),onChange:()=>a(o.key),className:"w-3 h-3 rounded border-border accent-accent"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:77,columnNumber:13},this),e.jsxDEV("span",{className:"text-[10px] text-text-secondary",title:o.description,children:o.label},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:83,columnNumber:13},this)]},o.key,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:76,columnNumber:11},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:74,columnNumber:7},this),e.jsxDEV("div",{children:[e.jsxDEV("p",{className:"text-[9px] font-semibold uppercase tracking-widest text-text-tertiary mb-1",children:"Text Filter"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:90,columnNumber:9},this),e.jsxDEV("input",{type:"text",value:s,onChange:o=>r(o.target.value),placeholder:"pong",className:"input text-[10px] font-mono py-1 px-2 w-full"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:93,columnNumber:9},this),e.jsxDEV("p",{className:"text-[9px] text-text-tertiary mt-1",children:["Filter by event type, e.g. ",e.jsxDEV("span",{className:"font-mono",children:"pong"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:101,columnNumber:38},this),", ",e.jsxDEV("span",{className:"font-mono",children:"throttle"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:101,columnNumber:79},this),", or any text in the event data."]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:100,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:89,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:65,columnNumber:5},this)}function ht({bridgeActive:t}){const[a,s]=l.useState(!1),[r,o]=l.useState(!1),[n,h]=l.useState([]),[i,f]=l.useState(()=>new Set(de.map(u=>u.key))),[m,V]=l.useState(""),y=l.useRef(i);l.useEffect(()=>{y.current=i},[i]);const d=l.useRef(m);l.useEffect(()=>{d.current=m},[m]);const x=u=>{f(N=>{const D=new Set(N);return D.has(u)?D.delete(u):D.add(u),D})};Ve("lt.events.mesh.>",l.useCallback(u=>{var j;const N=((j=u.type)==null?void 0:j.replace("mesh.",""))||"unknown";if(!y.current.has(N))return;const D=d.current;D&&!`${N} ${JSON.stringify(u.data||u)}`.toLowerCase().includes(D.toLowerCase())||h(P=>[{id:++ut,type:N,timestamp:u.timestamp||new Date().toISOString(),data:u.data||u},...P].slice(0,Ze))},[]));const C=()=>h([]);return e.jsxDEV("div",{className:"border-l border-surface-border pl-6 pt-4 min-h-[300px] sticky top-14 self-start max-h-[calc(100vh-8rem)] flex flex-col",children:[e.jsxDEV("div",{className:"flex items-center gap-2 mb-3",children:[e.jsxDEV("p",{className:"text-[10px] font-semibold uppercase tracking-widest text-text-tertiary",children:"Event Stream"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:169,columnNumber:9},this),e.jsxDEV(Te,{className:`w-3 h-3 ${t?"text-status-success animate-pulse":"text-text-tertiary"}`},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:172,columnNumber:9},this),e.jsxDEV("span",{className:"text-[9px] text-text-tertiary",children:t?"Live":"..."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:173,columnNumber:9},this),e.jsxDEV("span",{className:"ml-auto flex items-center gap-1",children:[e.jsxDEV("button",{onClick:()=>{s(u=>!u),o(!1)},className:`p-1 rounded transition-colors ${a?"text-accent bg-accent/10":"text-text-tertiary hover:text-text-primary"}`,title:"Configure channels",children:e.jsxDEV(Pe,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:183,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:178,columnNumber:11},this),e.jsxDEV("button",{onClick:()=>{o(u=>!u),s(!1)},className:`p-1 rounded transition-colors ${r?"text-accent bg-accent/10":"text-text-tertiary hover:text-text-primary"}`,title:"View raw JSON",children:e.jsxDEV(Fe,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:190,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:185,columnNumber:11},this),n.length>0&&e.jsxDEV("button",{onClick:C,className:"p-1 rounded text-text-tertiary hover:text-text-primary transition-colors",title:"Clear events",children:e.jsxDEV(Me,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:198,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:193,columnNumber:13},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:177,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:168,columnNumber:7},this),e.jsxDEV(W,{open:a,children:e.jsxDEV(pt,{channels:i,onToggle:x,customFilter:m,onCustomFilterChange:V},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:206,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:205,columnNumber:7},this),e.jsxDEV(W,{open:r,children:e.jsxDEV("div",{className:"pb-3 border-b border-surface-border mb-3",children:e.jsxDEV("pre",{className:"text-[9px] font-mono text-text-tertiary bg-surface-sunken rounded-lg p-3 max-h-[50vh] overflow-auto whitespace-pre-wrap",children:JSON.stringify(n.slice(0,50),null,2)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:217,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:216,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:215,columnNumber:7},this),n.length>0&&e.jsxDEV("p",{className:"text-[9px] text-text-tertiary mb-2",children:[n.length," events"]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:225,columnNumber:9},this),e.jsxDEV("div",{className:"flex-1 overflow-y-auto",children:n.length===0?e.jsxDEV("p",{className:"text-xs text-text-tertiary py-6 text-center",children:t?"Waiting for events...":"Subscribing..."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:233,columnNumber:11},this):n.map(u=>e.jsxDEV(dt,{event:u},u.id,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:238,columnNumber:13},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:231,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QuorumFeed.tsx",lineNumber:166,columnNumber:5},this)}function bt({queue:t,workers:a,expanded:s,onToggle:r,onWorkerClick:o,onResumeThrottle:n,onQueueThrottle:h,onResumeQueue:i,byStream:f,activeDuration:m}){const V=l.useMemo(()=>{const d=f.find(x=>x.stream_type==="worker"&&ue(x.stream_name)===t);return(d==null?void 0:d.count)??0},[f,t]),y=l.useMemo(()=>[{key:"engine_id",label:"Worker ID",render:d=>e.jsxDEV("span",{className:"text-xs font-mono text-text-tertiary",children:d.engine_id},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:55,columnNumber:9},this),className:"w-48"},{key:"throttle",label:"Throttle",render:d=>{const x=d.throttle;return x===-1?e.jsxDEV("span",{className:"text-xs text-status-error font-medium",children:"Paused"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:66,columnNumber:30},this):x&&x>0?e.jsxDEV("span",{className:"text-xs text-status-warning font-medium",children:H(x)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:67,columnNumber:32},this):e.jsxDEV("span",{className:"text-xs text-text-tertiary",children:"0"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:68,columnNumber:16},this)},className:"w-24"},{key:"memory",label:"Memory",render:d=>{var x,C;return e.jsxDEV("span",{className:"text-xs font-mono text-text-tertiary",children:ce((x=d.system)==null?void 0:x.TotalMemoryGB,(C=d.system)==null?void 0:C.FreeMemoryGB)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:76,columnNumber:9},this)},className:"w-36"},{key:"actions",label:"",render:d=>e.jsxDEV(oe,{children:[A(d)&&e.jsxDEV(L,{icon:G,title:"Resume (remove throttle)",onClick:()=>n(d),colorClass:"text-text-tertiary hover:text-status-success"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:88,columnNumber:13},this),e.jsxDEV(L,{icon:J,title:"Adjust throttle",onClick:()=>o(d)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:95,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:86,columnNumber:9},this),className:"w-16"}],[o,n]);return e.jsxDEV("div",{children:[e.jsxDEV("button",{onClick:()=>r(t),className:"group/row relative flex items-center gap-3 w-full py-2 hover:bg-surface-hover transition-colors text-left rounded",children:[e.jsxDEV(Re,{className:`w-3.5 h-3.5 text-text-tertiary/50 transition-transform duration-200 ${s?"rotate-90":""}`,strokeWidth:2},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:112,columnNumber:9},this),e.jsxDEV(We,{queue:t,size:"sm"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:116,columnNumber:9},this),e.jsxDEV("span",{className:"flex-1"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:118,columnNumber:9},this),e.jsxDEV("span",{className:`flex items-center gap-1 text-xs w-24 ${a.some(A)?"text-status-warning":"text-text-tertiary"}`,children:[e.jsxDEV(_e,{className:"w-3 h-3 shrink-0",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:121,columnNumber:11},this),e.jsxDEV("span",{className:"font-mono tabular-nums",children:a.length},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:122,columnNumber:11},this),e.jsxDEV("span",{children:"workers"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:123,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:120,columnNumber:9},this),e.jsxDEV("span",{className:"flex items-center gap-1 text-xs font-mono text-text-tertiary w-28 justify-end mr-16",children:V>0?e.jsxDEV(e.Fragment,{children:[e.jsxDEV($e,{className:"w-3 h-3 shrink-0",strokeWidth:1.5},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:129,columnNumber:15},this),V.toLocaleString()," in ",m]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:128,columnNumber:13},this):e.jsxDEV("span",{className:"text-text-tertiary/40",children:"—"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:133,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:126,columnNumber:9},this),e.jsxDEV("span",{className:"absolute right-3 top-1/2 -translate-y-1/2 opacity-0 group-hover/row:opacity-100 transition-opacity flex items-center gap-2",children:[a.some(A)&&e.jsxDEV(G,{className:"w-4 h-4 text-text-tertiary hover:text-status-success",strokeWidth:1.5,onClick:d=>{d.stopPropagation(),i(t)}},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:139,columnNumber:13},this),e.jsxDEV(J,{className:"w-4 h-4 text-text-tertiary hover:text-accent",strokeWidth:1.5,onClick:d=>{d.stopPropagation(),h(t)}},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:148,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:137,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:108,columnNumber:7},this),e.jsxDEV(W,{open:s,children:e.jsxDEV("div",{className:"ml-6",children:e.jsxDEV(le,{columns:y,data:a,keyFn:k,onRowClick:o,emptyMessage:"No workers",inline:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:161,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:160,columnNumber:9},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:159,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/QueueCard.tsx",lineNumber:107,columnNumber:5},this)}function xt(){const{data:t}=ie(),a=me(),[s,r]=l.useState(!1),o=(t==null?void 0:t.apps)??[],n=h=>{for(const i of o)a.mutate({appId:i.appId,throttle:h});r(!1)};return s?e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("span",{className:"text-xs text-status-error",children:"Pause all queues?"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:22,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>n(-1),className:"px-2.5 py-1 text-xs rounded-md bg-status-error text-white hover:bg-status-error/90 transition-colors",children:"Confirm"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:23,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>r(!1),className:"px-2.5 py-1 text-xs text-text-tertiary hover:text-text-primary transition-colors",children:"Cancel"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:29,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:21,columnNumber:7},this):e.jsxDEV("div",{className:"flex items-center gap-2",children:[e.jsxDEV("button",{onClick:()=>r(!0),className:"flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md text-status-error/80 hover:text-status-error hover:bg-status-error/10 transition-colors",title:"Pause all queues",children:[e.jsxDEV(Ae,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:46,columnNumber:9},this),"Pause All"]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:41,columnNumber:7},this),e.jsxDEV("button",{onClick:()=>n(0),className:"flex items-center gap-1.5 px-2.5 py-1 text-xs rounded-md text-status-success/80 hover:text-status-success hover:bg-status-success/10 transition-colors",title:"Resume all queues",children:[e.jsxDEV(Oe,{className:"w-3.5 h-3.5"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:54,columnNumber:9},this),"Resume All"]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:49,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/EmergencyControls.tsx",lineNumber:40,columnNumber:5},this)}function St(){var re;const{data:t}=ie(),a=(t==null?void 0:t.apps)??[],{filters:s,setFilter:r}=Se({filters:{app_id:"",duration:"1h"}}),o=((re=a[0])==null?void 0:re.appId)??"durable",n=s.app_id||o,h=s.duration||"1h",i=He(),f=6e4,{data:m,isLoading:V,error:y,refetch:d,isFetching:x}=Ge(n,f),{data:C}=ze(n,h,void 0,f),u=l.useMemo(()=>[...(m==null?void 0:m.profiles)??[]].sort((b,v)=>{const _=b.worker_topic||b.stream||"",B=v.worker_topic||v.stream||"";return!b.worker_topic&&v.worker_topic?-1:b.worker_topic&&!v.worker_topic?1:_.localeCompare(B)}),[m==null?void 0:m.profiles]),N=l.useMemo(()=>u.filter(c=>!$(c)),[u]),D=l.useMemo(()=>u.filter($),[u]),j=l.useMemo(()=>et(u),[u]),P=u.filter(A).length,p=l.useMemo(()=>{const c=new Set(a.map(b=>b.appId));return n&&c.add(n),[...c].sort().map(b=>({value:b,label:b}))},[a,n]),[w,E]=l.useState(new Set),Q=l.useCallback(c=>{E(b=>{const v=new Set(b);return v.has(c)?v.delete(c):v.add(c),v})},[]),T=j.size>0&&[...j.keys()].every(c=>w.has(c)),g=l.useCallback(()=>{E(T?new Set:new Set(j.keys()))},[T,j]),S="lt:controlplane:collapsed",[R,F]=l.useState(()=>{try{return JSON.parse(localStorage.getItem(S)||"{}")}catch{return{}}}),q=l.useCallback(c=>{F(b=>{const v={...b,[c]:!b[c]};return localStorage.setItem(S,JSON.stringify(v)),v})},[]),{selectedIds:M,setSelectedIds:Y,toggleCheckbox:X,throttleModalOpen:pe,throttleTargets:Z,selectedThrottleTargets:he,throttleMutation:be,handleBulkThrottle:xe,handleRowClick:I,handleBulkThrottleOpen:ee,handleResumeThrottle:K,handleResumeQueue:Ne,handleQueueThrottle:fe,closeThrottleModal:ge}=lt({activeAppId:n,allProfiles:u,profiles:u}),te=l.useCallback(()=>{const c=new Set(N.map(k)),b=N.length>0&&N.every(v=>M.has(k(v)));Y(v=>{const _=new Set(v);for(const B of c)b?_.delete(B):_.add(B);return _})},[N,M,Y]),ae=l.useCallback(()=>{N.filter(b=>M.has(k(b))).length!==0&&ee()},[N,M,ee]),ve=l.useMemo(()=>nt({profiles:N,selectedIds:M,toggleAll:te,toggleCheckbox:X,onRowThrottle:I,onResumeThrottle:K,onBulkThrottle:ae}),[N,M,te,X,I,K,ae]),Ee=l.useMemo(()=>{const c=[{label:"Engines",value:N.length,dotClass:"bg-blue-500"},{label:"Workers",value:D.length,dotClass:"bg-text-secondary"},{label:"Queues",value:j.size}];return P>0&&c.push({label:"Throttled",value:P,dotClass:"bg-status-warning"}),c},[N.length,D.length,j.size,P]),[se,ye]=l.useState(!1),Ce=l.useCallback(()=>{i.mutate({appId:n},{onSuccess:()=>ye(!0)})},[n,i]);return l.useEffect(()=>{!se&&n&&Ce()},[n]),e.jsxDEV("div",{children:[e.jsxDEV(ke,{title:"Task Queues",stats:Ee,actions:e.jsxDEV(xt,{},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:190,columnNumber:18},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:187,columnNumber:7},this),e.jsxDEV(we,{actions:e.jsxDEV("div",{className:"flex items-center gap-1",children:Ye.map(c=>e.jsxDEV("button",{onClick:()=>r("duration",c.value),className:`px-3 py-1 text-xs rounded-full transition-colors ${h===c.value?"bg-accent text-text-inverse":"text-text-tertiary hover:text-text-primary hover:bg-surface-hover"}`,children:c.label},c.value,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:197,columnNumber:15},this))},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:195,columnNumber:11},this),children:[e.jsxDEV(Qe,{label:"Application",value:s.app_id,onChange:c=>r("app_id",c),options:p},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:212,columnNumber:9},this),e.jsxDEV("button",{onClick:()=>d(),disabled:x,className:"flex items-center gap-1.5 px-3 py-1.5 text-xs text-text-tertiary hover:text-text-primary transition-colors disabled:opacity-50",children:[e.jsxDEV(Ie,{className:`w-3.5 h-3.5 ${x?"animate-spin":""}`},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:223,columnNumber:11},this),"Roll Call"]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:218,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:193,columnNumber:7},this),y&&e.jsxDEV("div",{className:"mb-6 px-4 py-3 rounded bg-status-error/10 border border-status-error/20",children:e.jsxDEV("p",{className:"text-xs text-status-error font-medium",children:y.message==="Session expired"?"Session expired — please log in again.":`Failed to load mesh data: ${y.message}`},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:231,columnNumber:11},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:230,columnNumber:9},this),e.jsxDEV("div",{className:"grid grid-cols-1 lg:grid-cols-[1fr_340px] gap-6",children:[e.jsxDEV("div",{className:"flex flex-col gap-12 mt-10",children:[e.jsxDEV(U,{title:`Stream Volume (${h})`,sectionKey:"volume",isCollapsed:!!R.volume,onToggle:q,contentClassName:"mt-4 ml-7",children:e.jsxDEV(ct,{byStream:(C==null?void 0:C.byStream)??[],onNodeFilter:()=>{},onQueueFilter:()=>{}},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:250,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:243,columnNumber:11},this),e.jsxDEV(U,{title:"Worker Queues",sectionKey:"queues",isCollapsed:!!R.queues,onToggle:q,contentClassName:"mt-4 ml-7 flex flex-col gap-0",children:V?e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:"Discovering mesh nodes..."},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:266,columnNumber:15},this):j.size===0?e.jsxDEV("p",{className:"text-xs text-text-tertiary",children:'No worker queues found. Click "Roll Call" to discover.'},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:268,columnNumber:15},this):e.jsxDEV(e.Fragment,{children:[e.jsxDEV("div",{className:"flex justify-end mb-2",children:e.jsxDEV("button",{onClick:g,className:"text-[10px] text-accent hover:underline",children:T?"Collapse all":"Expand all"},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:272,columnNumber:19},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:271,columnNumber:17},this),[...j.entries()].sort(([c],[b])=>c.localeCompare(b)).map(([c,b])=>e.jsxDEV(bt,{queue:c,workers:b,expanded:w.has(c),onToggle:Q,onWorkerClick:I,onResumeThrottle:K,onQueueThrottle:fe,onResumeQueue:Ne,byStream:(C==null?void 0:C.byStream)??[],activeDuration:h},c,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:279,columnNumber:21},this))]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:270,columnNumber:15},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:258,columnNumber:11},this),e.jsxDEV(U,{title:"Engines",sectionKey:"engines",isCollapsed:!!R.engines,onToggle:q,contentClassName:"mt-4 ml-7",children:e.jsxDEV(le,{columns:ve,data:N,keyFn:k,onRowClick:I,isLoading:V,emptyMessage:V?"Discovering engines...":"No engines found.",inline:!0},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:305,columnNumber:13},this)},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:298,columnNumber:11},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:241,columnNumber:9},this),e.jsxDEV(ht,{bridgeActive:se},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:317,columnNumber:9},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:240,columnNumber:7},this),e.jsxDEV(mt,{open:pe,onClose:ge,targets:Z.length>0?Z:he,onApply:xe,isPending:be.isPending},void 0,!1,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:320,columnNumber:7},this)]},void 0,!0,{fileName:"/app/dashboard/src/pages/admin/controlplane/ControlPlanePage.tsx",lineNumber:186,columnNumber:5},this)}export{St as ControlPlanePage};
2
+ //# sourceMappingURL=index-lCyNr5Xk.js.map